From 87a6e81aa86c3001efe59696e6a8ff441f6de341 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 18 Oct 2018 17:11:02 +0200 Subject: [PATCH 0001/2080] tmux: start at least neomutt --- tmux.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmux.conf b/tmux.conf index bc1b2fee..1e1759cc 100644 --- a/tmux.conf +++ b/tmux.conf @@ -104,7 +104,7 @@ set-option -g status-position "top" #set -g @resurrect-strategy-vim 'session' # Custome tmux session -new -s work -n work +new -s work -n work neomutt #new -s work -n mail 'neomutt' #new-window -n dashboard 'dashboard' #new-window -n local From af3a544e4ee15aa94570662d85c3481b98fffe81 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 29 Oct 2018 19:39:20 +0100 Subject: [PATCH 0002/2080] nvim: disable simplenote --- config/nvim/init.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 9826df48..cd8804d4 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -114,7 +114,7 @@ Plug 'vimwiki/vimwiki' Plug 'teranex/vimwiki-tasks' Plug 'fmoralesc/vim-tutor-mode' Plug 'tmux-plugins/vim-tmux' -Plug 'mrtazz/simplenote.vim' +"Plug 'mrtazz/simplenote.vim' Plug 'w0rp/ale' Plug 'dag/vim-fish' Plug 'neomutt/neomutt.vim' @@ -486,7 +486,7 @@ let g:EditorConfig_exclude_patterns = ['fugitive://.*'] " Vertical diff set diffopt+=vertical -source ~/.simplenoterc +" source ~/.simplenoterc " Fix arrow keys with 256 color term set t_ku=OA From 47810159bead11204af368884ab656a4f4e09b8e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 29 Oct 2018 19:35:31 +0100 Subject: [PATCH 0003/2080] tmux: no more start neomutt --- tmux.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmux.conf b/tmux.conf index 1e1759cc..946e223b 100644 --- a/tmux.conf +++ b/tmux.conf @@ -104,7 +104,7 @@ set-option -g status-position "top" #set -g @resurrect-strategy-vim 'session' # Custome tmux session -new -s work -n work neomutt +# new -s work -n work neomutt #new -s work -n mail 'neomutt' #new-window -n dashboard 'dashboard' #new-window -n local From f475ef2faa0ca3d9e50c63c4ca2ed8bc48839f58 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 7 Nov 2018 16:41:55 +0100 Subject: [PATCH 0004/2080] tmux: Back to zsh by default --- tmux.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tmux.conf b/tmux.conf index 946e223b..eed958cb 100644 --- a/tmux.conf +++ b/tmux.conf @@ -73,8 +73,8 @@ bind-key . command-prompt "move-window -r -t '%%'" #set-window-option -g window-status-current-format ' #I:#W ' # Use zsh (login shell) -# set -g default-command '/bin/zsh -l' -set -g default-command '/usr/bin/fish -l' +set -g default-command '/bin/zsh -l' +# set -g default-command '/usr/bin/fish -l' # Disable automatic changes of titles set -g set-titles on From 7f9a1e0f7f8c0024b78dfe208f8162b409e33c0c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 17 Jan 2019 10:29:35 +0100 Subject: [PATCH 0005/2080] vim: enable spelling for md and rst files --- config/nvim/ftplugin/markdown.vim | 1 + config/nvim/ftplugin/rst.vim | 1 + 2 files changed, 2 insertions(+) create mode 100644 config/nvim/ftplugin/markdown.vim create mode 100644 config/nvim/ftplugin/rst.vim diff --git a/config/nvim/ftplugin/markdown.vim b/config/nvim/ftplugin/markdown.vim new file mode 100644 index 00000000..bcda2dde --- /dev/null +++ b/config/nvim/ftplugin/markdown.vim @@ -0,0 +1 @@ +setlocal spell diff --git a/config/nvim/ftplugin/rst.vim b/config/nvim/ftplugin/rst.vim new file mode 100644 index 00000000..bcda2dde --- /dev/null +++ b/config/nvim/ftplugin/rst.vim @@ -0,0 +1 @@ +setlocal spell From 947ddb8b419bcd124382b7e27726b2860b286138 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 17 Jan 2019 10:30:03 +0100 Subject: [PATCH 0006/2080] Document neomutt usage --- config/neomutt/README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 config/neomutt/README.md diff --git a/config/neomutt/README.md b/config/neomutt/README.md new file mode 100644 index 00000000..cbe1a5da --- /dev/null +++ b/config/neomutt/README.md @@ -0,0 +1,28 @@ +# Requirements + +* neomutt +* neovim / vim +* mbsync (isync) +* msmtp + +## Fetching emails / IMAP sync + +mbsync from isync package. + +## Sending emails + +msmtp + +## S/MIME signing + +### On Mac OS X + +Initialize smime store + +```sh +/usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys init +# Import DigiCert root +/usr/local/Cellar/neomutt/20180716//libexec/neomutt/smime_keys add_root baptiste_grenier/TrustedRoot.crt +# Import certificate, key and DigiCert intermediate certificate +/usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys add_chain userkey.pem-new usercert.pem-new baptiste_grenier/DigiCertCA.crt +``` From f1a0dbd36ea045386029b632c9c528c14107c8c3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 17 Jan 2019 10:30:37 +0100 Subject: [PATCH 0007/2080] Import mbsync launch agent --- Library/LaunchAgents/name.bapt.mbsync.plist | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 Library/LaunchAgents/name.bapt.mbsync.plist diff --git a/Library/LaunchAgents/name.bapt.mbsync.plist b/Library/LaunchAgents/name.bapt.mbsync.plist new file mode 100755 index 00000000..5cc023d8 --- /dev/null +++ b/Library/LaunchAgents/name.bapt.mbsync.plist @@ -0,0 +1,24 @@ + + + + + + + Label + name.bapt.mbsync + ProgramArguments + + /usr/local/bin/mbsync + -a + -d + + WorkingDirectory + /Users/baptiste + StandardOutPath + /Users/baptiste/Mail/.mbsync-agent.log + StandardErrorPath + /Users/baptiste/Mail/.mbsync-agent.log + StartInterval + 60 + + From 3d8ae8a7c3cf1140014d094ad87e250b472aa322 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 17 Jan 2019 10:37:07 +0100 Subject: [PATCH 0008/2080] msmtp: document password management --- msmtprc-mac | 2 ++ 1 file changed, 2 insertions(+) diff --git a/msmtprc-mac b/msmtprc-mac index 7b7b8057..a034ebbe 100644 --- a/msmtprc-mac +++ b/msmtprc-mac @@ -12,6 +12,8 @@ port 587 protocol smtp from baptiste.grenier@egi.eu user baptiste.grenier@egi.eu +# https://support.google.com/accounts/answer/185833?hl=en +# Set passwod on OSX: security add-generic-password -a baptiste.grenier@egi.eu -s smtp.gmail.com -w passwordeval security find-generic-password -w -s smtp.gmail.com -a baptiste.grenier@egi.eu account default : egi From 7861aa7e82871340a8e8e622a1525aaa4bc48dc3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 17 Jan 2019 10:48:11 +0100 Subject: [PATCH 0009/2080] neomutt: use maildir version --- config/neomutt/neomuttrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neomutt/neomuttrc b/config/neomutt/neomuttrc index 829e797f..5c76e8dc 100644 --- a/config/neomutt/neomuttrc +++ b/config/neomutt/neomuttrc @@ -161,6 +161,6 @@ source ~/.config/neomutt/sidebar set realname = "Baptiste Grenier" # Source EGI profile -source ~/.config/neomutt/profile.egi +source ~/.config/neomutt/profile-maildir.egi # vim: set ft=muttrc: From 83faadf25bdb30d079a923b0f3da695c3dd0e820 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 17 Jan 2019 10:48:24 +0100 Subject: [PATCH 0010/2080] vim plug: bump version --- config/nvim/autoload/plug.vim | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config/nvim/autoload/plug.vim b/config/nvim/autoload/plug.vim index db1f615d..4e056308 100644 --- a/config/nvim/autoload/plug.vim +++ b/config/nvim/autoload/plug.vim @@ -2420,7 +2420,11 @@ function! s:diff() call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:') for [k, v] in plugs let range = origin ? '..origin/'.v.branch : 'HEAD@{1}..' - let diff = s:system_chomp('git log --graph --color=never '.join(map(['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range], 's:shellesc(v:val)')), v.dir) + let cmd = 'git log --graph --color=never '.join(map(['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range], 's:shellesc(v:val)')) + if has_key(v, 'rtp') + let cmd .= ' -- '.s:shellesc(v.rtp) + endif + let diff = s:system_chomp(cmd, v.dir) if !empty(diff) let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : '' call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)'))) From ed1d1e8b30fbd9ed2967f2f2397bc77abecba4df Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 17 Jan 2019 10:48:53 +0100 Subject: [PATCH 0011/2080] nvim: fix deoplete usage --- config/nvim/init.vim | 108 +++++++++++++++++++------------------------ 1 file changed, 48 insertions(+), 60 deletions(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index cd8804d4..1866270b 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -15,10 +15,7 @@ call plug#begin('~/.vim/plugged') " SuperTab " Plug 'ervandew/supertab' -" Snippets -Plug 'SirVer/ultisnips' " Completion -"Plug 'Valloric/YouCompleteMe' if has('nvim') Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } Plug 'Shougo/denite.nvim' @@ -27,6 +24,9 @@ else Plug 'roxma/nvim-yarp' Plug 'roxma/vim-hug-neovim-rpc' endif +" Snippets +Plug 'Shougo/neosnippet.vim' +Plug 'Shougo/neosnippet-snippets' " Theme " Colorscheme if has('nvim') @@ -38,6 +38,8 @@ endif " Plug 'rakr/vim-one' Plug 'Shougo/neosnippet' Plug 'Shougo/neosnippet-snippets' +" Snippets +Plug 'honza/vim-snippets' " Airline statusbar Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' @@ -60,8 +62,6 @@ Plug 'xolox/vim-shell' " Plug 'jceb/vim-orgmode' " Tabular alignement Plug 'godlygeek/tabular' -" Snippets for UltiSnipps -Plug 'honza/vim-snippets' " Fuzzy finder Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } " Preview registers @@ -166,8 +166,8 @@ endif " Pyenv with neovim on Mac OS X " https://github.com/tweekmonster/nvim-python-doctor/wiki/Advanced:-Using-pyenv -let g:python_host_prog = '/Users/baptistegrenier/.pyenv/versions/neovim2/bin/python' -let g:python3_host_prog = '/Users/baptistegrenier/.pyenv/versions/neovim3/bin/python' +let g:python_host_prog = '/Users/baptiste/.pyenv/versions/neovim2/bin/python' +let g:python3_host_prog = '/Users/baptiste/.pyenv/versions/neovim3/bin/python' "Credit joshdick "Use 24-bit (true-color) mode in Vim/Neovim when outside tmux. @@ -277,9 +277,18 @@ endif " *-(specific|related) options """""""""""""""""""""""""""""" +" Set spell language +set spelllang=en,fr +" Enable completion of spell +set complete+=kspell + " Mail edition for mutt " :help fo-table -autocmd BufEnter,BufNewFile,BufRead ~/tmp/mutt* set spell spelllang=en,fr complete+=kspell noci ft=mail et fo=tcqnaw +autocmd BufEnter,BufNewFile,BufRead ~/tmp/mutt* set spell noci ft=mail et fo=tcqnaw + +" Spelling for markdown and ReStructuredText +" XXX testing using ftplugin for this +" autocmd FileType markdown,rst set spell spelllang=en,fr complete+=kspell """""""""""""""""" " Custom functions @@ -341,6 +350,8 @@ let g:syntastic_auto_loc_list = 1 " Jump to the first error detected let g:syntastic_auto_jump = 1 let g:syntastic_check_on_open = 1 +let g:syntastic_check_on_wq = 1 + "let g:syntastic_puppet_puppetlint_quiet_messages = { "regex": "line has more than 80 characters" } "let g:syntastic_puppet_puppetlint_args = "--no-class_inherits_from_params_class-check" @@ -393,70 +404,47 @@ let g:snips_email='baptiste.grenier@egi.eu' let g:snips_author='Baptiste Grenier' let g:snips_author_initials='BG' let g:snips_company='EGI Foundation' -" If you want :UltiSnipsEdit to split your window. -let g:UltiSnipsEditSplit="vertical" -" Custom snippets -let g:UltiSnipsSnippetsDir = '~/.vim/UltiSnips/' -" Goal " depolete: use tab/s-tab or c-n/c-p to navigate options -" UltiSnips: use tab to trigger snippet -let g:UltiSnipsExpandTrigger ="" -let g:UltiSnipsJumpForwardTrigger="" -"let g:UltiSnipsJumpForwardTrigger="" -let g:UltiSnipsJumpBackwardTrigger="" -"let g:UltiSnipsListSnippets="" - -"function! g:UltiSnips_Complete() -" call UltiSnips#ExpandSnippet() -" if g:ulti_expand_res == 0 -" if pumvisible() -" return "\" -" else -" call UltiSnips#JumpForwards() -" if g:ulti_jump_forwards_res == 0 -" return "\" -" endif -" endif -" endif -" return "" -"endfunction -" -""au BufEnter,BufRead,BufNewFile,Buf * exec "inoremap " . g:UltiSnipsExpandTrigger . " =g:UltiSnips_Complete()" -"au InsertEnter * exec "inoremap " . g:UltiSnipsExpandTrigger . " =g:UltiSnips_Complete()" -"" this mapping Enter key to to chose the current highlight item -"" and close the selection list, same as other IDEs. -"" CONFLICT with some plugins like tpope/Endwise -"inoremap pumvisible() ? "\" : "\u\" " Use deoplete -" Debug run :CheckHealth +" Debug run :checkhealth let g:deoplete#enable_at_startup = 1 -" https://www.gregjs.com/vim/2016/configuring-the-deoplete-asynchronous-keyword-completion-plugin-with-tern-for-vim/ -" if !exists('g:deoplete#omni#input_patterns') -" let g:deoplete#omni#input_patterns = {} -" endif + +" Enable snipMate compatibility feature. +let g:neosnippet#enable_snipmate_compatibility = 1 + +" Tell Neosnippet about the other snippets +let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets/snippets' " , : close popup and delete backword char -inoremap deoplete#smart_close_popup()."\" -inoremap deoplete#smart_close_popup()."\" +"inoremap deoplete#smart_close_popup()."\" +"inoremap deoplete#smart_close_popup()."\" -" : close popup and save indent -inoremap =my_cr_function() -function! s:my_cr_function() abort - return deoplete#close_popup() . "\" +" : completion +" inoremap pumvisible() ? "\" : "\" +" Taken from https://github.com/Shougo/shougo-s-github/blob/84071518e4238cc8b816cdb97ebc00c2aedda69f/vim/rc/plugins/deoplete.rc.vim +inoremap + \ pumvisible() ? "\" : + \ check_back_space() ? "\" : + \ deoplete#manual_complete() +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~ '\s' endfunction -" Use deoplete -let g:deoplete#enable_at_startup = 1 +" : completion back +inoremap pumvisible() ? "\" : "\" -" : completion -inoremap pumvisible() ? "\" : "\" +inoremap deoplete#refresh() +inoremap deoplete#cancel_popup() +inoremap deoplete#complete_common_string() -" better key bindings for UltiSnipsExpandTrigger -" let g:UltiSnipsExpandTrigger = "" -" let g:UltiSnipsJumpForwardTrigger = "" -" let g:UltiSnipsJumpBackwardTrigger = "" +" : close popup and save indent +inoremap =my_cr_function() +function! s:my_cr_function() abort + return pumvisible() ? deoplete#close_popup()."\" : "\" +endfunction " Notes using vim-pad let g:pad#dir = "~/GoogleDrive/notes" From 50378f9dcee78a151b8d6e9ee550c7278032d42a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 17 Jan 2019 10:49:08 +0100 Subject: [PATCH 0012/2080] zsh mac: cleaning --- config/nvim/spell/en.utf-8.add | 18 ++++++++++++++++++ config/nvim/spell/en.utf-8.add.spl | Bin 1983 -> 2161 bytes 2 files changed, 18 insertions(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index b197333c..36031eec 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -133,3 +133,21 @@ Boursorama FZF Rollout Milos +Onezone +Oneprovider +Oneclient +DataHub +Oneproviders +SSO +CEPH +POSIX +CYFRONET +AAI +CDMI +Pre-staging +pre-staging +PID +docker-compose +IOPS +vCPU +SSD diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index 2d54638d86afe9107a74d4859e1d8c75de25ccf1..a408f75c82a5b6b2a3135abc11f6668b852b3cc4 100644 GIT binary patch literal 2161 zcmYLKziS*v6rPzoS)_7`AdVCfSBY>4lpH2@W3Z$sK9KB-ghdERF}pi=yScsD&HmC! zm1~hokYLgo@(-jiffOM|b()m!g4@(;lka=G!V+5Tn|beh-}||zlcO?sY5M7ZO7(yI z&<0`TX7f1tZjmm1mKSAJH)pH!i|d{Za-C??$0O2Chgz8=H>O`|^BgBysd3P^^CZL7 z0t%i-qevI>p5RHj(3P0ayeAoWqnSC&86|Vu1r>ldI^OT zrb_`KY{m0o44KXo(eegoJK$5pBN>UWY2K0@24I-#7*J4aDm{bm3}>P>toqjZ3}med zW9ShDdSeOnvswoxAx#{OJp2{-#rtu_=dkQjP?&9qZ)1oV$mV#KV&c|$u{rlyQLkX` z#k<9A1)v)GmH5+l3*FFSli4A3sOLb5@CRwMYGe7!LO%zckf-BC&${*1Zj|X078zFN zBX4Hx1SU=YY*C99>WAB(+San*<&vxhN{L9=IJg|Kz$t#&g%$k3_-=zYVf}Yxq7=%! zKI7FVwo5>15F^vt=F()W5)`05M|Qi>X$nXQ1`aoSel1LVUNHYS*+!<>JmByT+gCrp zVD-Z&zYtLA=-1v@VOg1sjP~Fzan9EMzXccf+LL zIBBv7>O-pYnoR_Glp0?GO)7XbBhJTF&&G*a7W$fE_EHMXocHdtU2Z$H&=-(o9aX*; zL^<;0+pwA%K}aU2i*}b>Zrwpm;BaS&(K0s$_(2-CD>#9=B>TV_?1B(JDC(;V;MMSv zf67x$F$5ZTqTYMzz33BhUV~?P#2tdrt4rPxAnPWk+2FZDY}e`6DqA zSGWj&I^ZpDF`K!52|Oy3OQA46??2kz+yDIFi^<{B>G8AEuNs5hJ^{2sK>Ktx*oA$C zcLz4a?Y=jIqKDfL4qc41NZ_9{Riwn;s&DGW?y~t7~7%J zQ*e_!5BRN#^j>EdNw02fah{y)*6F+5I*{3nEArWxTKT#>v}}>V5g${y=Kn`#F9+fT zZ5+Ul^vl=$qWQJS(UX%?QQF5%JEQ8w?TpI$9Y|;7b2DS`W-_9(O{ZR^8y7 u=r2X{Q0}_{8N{#`PY4F)8%O-^-8RK;$8<$fn#q(e&Q1e}*6lOJpZ@_w(2Mv0 literal 1983 zcmYjSzmFS56rLH|0STc6WJvY4TG+rSLh5+s~7kg({ZzOQ30kjSrDxP`zb6IVoS6VD|$=h z+#Bq@4+0fjkb;0e$RUljX#*6-;kndHm9Zr1~sx>sdo(TH_po}NNKcga&5ZNVq1xep#q(qDK6pmy3sI$gO{O(Fv z=0XhnNAs3-8S)17E-e7;lY}+5`^qj^@s+r57##

Lio;I%&rf z)ZOabDAOh&lB@LJ-b}pkfv~YC#~RIp({JjAvA1mGlB@zsfe=C+LNCXEiZ6SsgdZ5c zxxz~L{u-M&g))yXdGv;DA}>swVKWtGn2s}+2MYZZd1fz37c2v$1apIvcYP;Hd>)v1 z>>MJ+Rw7c*sjIu3kJwl#SH}8)`*Lm^%GAN~d9v`u3O2sxma?8>X=U>k>#7e+n*5ye zxpM|dQN1aeL8v_QD2Pil=4)#`;E4p`Nn~sx(W%{(8@-hdrl=4DyPLBuRC-rDTzYs! zOxhbo-NFQFF+s?}OV)pi+_F|n>K~=8NQzbAgfe@R+LUykmK;c&JgZ)}r2PA2nl8$# zx^}x%z(|6#fa7mjdA5}PqYl(U=0)?W?e(>5_E>7z^itysKuDg$1Y71-*|M|5EP}qF zc=lAv!8DqeEGqjNJ~lybAjzm^zBP_>gpXSaXKGo2xTNO6T!tO<*g>^$EiE$O{Ko5~ zfORvB$If6vBS6<jyPfy(wn3q^PkRfbyrFTOMr*EIR8TLy3NOaGk!RvY;l4oOcs!pZe zasi{`>$gYHpGzOB?ifQ`>JjuLv0Yy5@qae4^xVN6&V-Y@ZuIJ|>q?uCOHw%)Sx%$6 zZ`tnMAs-_ong7S;Gza29|8D{x^Y!67gW<#T3sLHWK|N>c$Niki-Px5^@Z?CahX{)< z?pqJcW}@y!NZNi5&h;0fc_!!06m(~>7f%QV<_AN*eD>{d(lA| Date: Fri, 18 Jan 2019 17:02:32 +0100 Subject: [PATCH 0013/2080] nvim: rstcheck and ruby management --- config/nvim/init.vim | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 1866270b..db45a81d 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -355,15 +355,19 @@ let g:syntastic_check_on_wq = 1 "let g:syntastic_puppet_puppetlint_quiet_messages = { "regex": "line has more than 80 characters" } "let g:syntastic_puppet_puppetlint_args = "--no-class_inherits_from_params_class-check" -" Let's code with python 2 " Use virtualenv for installing/conifugring python stuff "let g:syntastic_python_python_exec = '/usr/bin/python2' "let g:syntastic_python_flake8_exec = 'flake8-python2' " https://github.com/liamcurry/py3kwarn " https://docs.python.org/3/whatsnew/3.0.html " https://docs.python.org/2.6/library/2to3.html#fixers +" To be installed using pip in python venv used by neovim let g:syntastic_python_checkers=['flake8'] "let g:syntastic_python_checkers=['flake8', 'py3kwarn'] +let g:syntastic_rst_checkers = ['rstcheck'] + +" ruby version +let g:ruby_host_prog = 'rvm ruby-2.6.0@neovim do neovim-ruby-host' " The Silver Searcher " http://robots.thoughtbot.com/faster-grepping-in-vim From 58f14b825978434c37a343588e429b28ad3b35bc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 18 Jan 2019 17:03:08 +0100 Subject: [PATCH 0014/2080] nvim: update dicts --- config/nvim/spell/en.utf-8.add | 2 ++ config/nvim/spell/en.utf-8.add.spl | Bin 2161 -> 2238 bytes 2 files changed, 2 insertions(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index 36031eec..c4c30a65 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -151,3 +151,5 @@ docker-compose IOPS vCPU SSD +reStructuredText +travis diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index a408f75c82a5b6b2a3135abc11f6668b852b3cc4..d075d0f5bc7273137f1ddcda1281c707ced4fa87 100644 GIT binary patch delta 566 zcmX|8K~BO@5dBkI;=&M#F{Dcu#+5PX0SFWo5(-s>kQf)G{hxs76s4zVCO0~MvxV*Y< zwY%PJe=uCE4R1~@bXGK{2KTYEuR?iiFLn?gwsk}aG`fQHpcT*reC8#FKLg|&PLrlI zgCov{`8^V*hD&50n(&yC2TOslCgR=6>q0|;R6a3ujQj*{wjM=jnFv|)8K-Qh?D-+T zs=k5KcKPr?JMXcF<#or%tXJ!}x delta 506 zcmXX@K~BOz6rDd%mjn~ja06CE)SU|wXjPg}s1gVaZ^pah8J+@ zaZEgb(f7wrGJn$d-hcm1=i~6ZUYk1ZCJU3~^jC=L>wE31TCe!=iWEIkP9(%xRJ4qj zYDGnH@o5|vKgKiN7f%PX{Ykysv+Rq@D`znBZYI;&R(csZv>`zm+1%XdQ4AZKLVCbX zDL`d>T|qq>gb}cuMj9J~^JxhOR-{s`Kq+bUDWMhOFdCHSocukcA*~s{>(dTe52<}E zV-hPWNi=%^H?+=Gv{58Ip;xKv1Ey4K2p p=F7)uMCjL(%;q`wn{EtsjwuRrdS%ufr-DQId)ixg{Lh^TUVo1rSv~*& From c93b190cf661a613ada8e6aa419bb3ae06f71b7a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 18 Jan 2019 17:05:26 +0100 Subject: [PATCH 0015/2080] git: use global ignore, drop junk alias --- gitconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitconfig b/gitconfig index 594452e1..89cfd7cd 100644 --- a/gitconfig +++ b/gitconfig @@ -26,6 +26,7 @@ whitespace=fix,-indent-with-non-tab,trailing-space,cr-at-eol,space-before-tab autocrlf = input eol = lf + excludesfile = ~/.gitignore [mergetool "fugitive"] cmd = vim -f -c \"Gdiff\" \"$MERGED\" @@ -43,7 +44,6 @@ add-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; git add `f`" amend = commit --amend -C HEAD br = branch - case = !sh -c 'exec /home/oxygen/bart/work/git-case/git-case.git/git-case-$0 ${0+"$@"}' cat = -p cat-file -p cds = !git ds --cached checkoutnext = !git checkout `git findnext` From 1fab8e03a6fc32821dc73a19348f8b0143ccbc7b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 18 Jan 2019 17:05:50 +0100 Subject: [PATCH 0016/2080] Import global gitignore --- gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 gitignore diff --git a/gitignore b/gitignore new file mode 100644 index 00000000..dd678343 --- /dev/null +++ b/gitignore @@ -0,0 +1,2 @@ +# User-wide gitignore +.DS_Store From 1a86c93de2ed083d6cc75897dce1c68261419ae5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Sun, 27 Jan 2019 14:03:04 +0100 Subject: [PATCH 0017/2080] nvim: use ale instead of syntastic for linting --- config/nvim/init.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index db45a81d..b25c365e 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -81,7 +81,8 @@ Plug 'plasticboy/vim-markdown' " SilverSearch plugin Plug 'rking/ag.vim' " Syntax validation -Plug 'scrooloose/syntastic' +" Plug 'scrooloose/syntastic' +Plug 'w0rp/ale' " git integration Plug 'tpope/vim-fugitive' Plug 'airblade/vim-gitgutter' @@ -365,6 +366,7 @@ let g:syntastic_check_on_wq = 1 let g:syntastic_python_checkers=['flake8'] "let g:syntastic_python_checkers=['flake8', 'py3kwarn'] let g:syntastic_rst_checkers = ['rstcheck'] +let g:syntastic_yaml_checkers = ['yamllint'] " ruby version let g:ruby_host_prog = 'rvm ruby-2.6.0@neovim do neovim-ruby-host' From a95a5a93cbdbd4c4b20c9f6b987c7576966f03d7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Sun, 27 Jan 2019 17:21:25 +0100 Subject: [PATCH 0018/2080] Import LBDB conf --- lbdbrc | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 lbdbrc diff --git a/lbdbrc b/lbdbrc new file mode 100644 index 00000000..52f1be0a --- /dev/null +++ b/lbdbrc @@ -0,0 +1,91 @@ +# +# This is the main configuration file of the little brothers database lbdb +# +# Everything you configure here can be overridden by the users config +# file which can be found at +# ~/.lbdbrc +# ~/.lbdb/lbdbrc +# ~/.lbdb/rc +# (evaluated with ascending priority!) +# +# (c) 1999-2018 Roland Rosenfeld +# + +# +# Select which methods you want to use in which order (ascending priority): +# (a space separated list) +# +# - m_inmail search the database created by lbdb-fetchaddr(1) +# - m_finger finger some hosts defined in variable M_FINGER_HOSTS +# - m_passwd search the local /etc/passwd file. +# - m_yppasswd search the NIS password database. +# - m_nispasswd search the NIS+ password database. +# - m_getent search the password database (whatever is configured). +# - m_pgp2 search your PGP 2.* keyring +# - m_pgp5 search your PGP 5.* keyring +# - m_gpg search your GnuPG keyring +# - m_fido search the Fido nodelist converted by nodelist2lbdb(1) +# - m_abook query abook(1), the text based address book application. +# - m_goobook query goobook(1), a command line interface to Google contacts. +# - m_addr_email query addr-email(1) from addressbook Tk-program. +# - m_mu query mu-cfind(1) from the mu Maildir indexer. +# - m_muttalias search $MUTTALIAS_FILES for aliases. +# - m_pine search pine(1) addressbook files for aliases. +# - m_palm search your Palm addressbook file. +# - m_gnomecard search your GnomeCard address database files. +# - m_bbdb search your BBDB (big brother database). +# - m_ldap query an LDAP server +# - m_wanderlust search your wanderlust ~/.addresses file. +# - m_osx_addressbook search the OS X addressbook (only available on OS X). +# - m_evolution search in the Ximan Evolution addressbook. +# - m_vcf search a vcard (according to RFC2426) file. +# - m_khard search a CardDAV address book via khard + +METHODS="m_inmail m_passwd m_finger" + +#METHODS="m_muttalias m_osx_addressbook" +METHODS="m_osx_addressbook" + + +# If it isn't possible to find out the correct mail domain name of +# your system in /etc/mailname, by reading sendmail.cf, /etc/hostname +# or /etc/HOSTNAME, you can specify it in the variable +# MAIL_DOMAIN_NAME. This overrides all other mechanisms. +# +MAIL_DOMAIN_NAME=egi.eu + +# - m_muttalias query set of mutt alias files: +# +# Set MUTTALIAS_FILES below to list of files in MUTT_DIRECTORY that +# contain mutt aliases. File names without leading slash will have +# $MUTT_DIRECTORY (defaults to $HOME/.mutt or $HOME, if ~/.mutt does +# not exist) prepended before the file name. Absolute file names +# (beginning with /) will be taken direct. +# +MUTT_DIRECTORY="$HOME/.config/neomutt" +MUTTALIAS_FILES="aliases" + + +# If you want to use private modules set the MODULES_PATH to find them: +# (a space separated list): +# +# MODULES_PATH="/sw/lib/lbdb" + + +# +# Do you want the output to be sorted? +# If you set this to "false" or "no", lbdbq won't sort the addresses +# but returns them in reverse order (which means that the most recent +# address in m_inmail database is first). +# If you set this to "name", lbdbq sorts the output by real name. +# If you set this to "comment", lbdbq sorts the output by comment (column 3). +# If you set this to "address", lbdbq sorts the output by addresses +# (that's the default). +# +SORT_OUTPUT=name + +# +# Do you want to see duplicate mail addresses (with multiple real +# names or different comment fields)? Default is "no". +# +#KEEP_DUPES=no From eb7b55034e38592f9c9abc247b9f1dfaafd78d6a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Sun, 27 Jan 2019 17:21:52 +0100 Subject: [PATCH 0019/2080] neomutt: use lbdb and queue mail with msmtp --- config/neomutt/profile-maildir.egi | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/config/neomutt/profile-maildir.egi b/config/neomutt/profile-maildir.egi index 54e7093d..515bec9d 100644 --- a/config/neomutt/profile-maildir.egi +++ b/config/neomutt/profile-maildir.egi @@ -6,7 +6,13 @@ mailboxes Inbox # Copy sent message to this folder -set sendmail = "/usr/local/bin/msmtp -a egi" +# Send directly using msmtp +#set sendmail = "/usr/local/bin/msmtp -a egi" +# Queue mail if offline +# /usr/local/Cellar/msmtp/1.6.6/share/msmtp/scripts/msmtpq/README.msmtpq +set sendmail = "msptpq" +# Wait for retrun code +set sendmail_wait = -1 # Using neomutt's SMTP feature # set smtp_authenticators = 'gssapi:login' # set smtp_url = "smtp://baptiste.grenier@egi.eu@smtp.gmail.com:587/" @@ -92,7 +98,7 @@ set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new) macro index \cf "mbsync -a" # Querying Google contacts -set query_command="goobook query %s" +set query_command="lbdbq %s" # Google-like key bindings macro index,pager A "+All" "move message to the archive" From 3e23cdc881320046c13d48d8f4d932f545d7d561 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Sun, 27 Jan 2019 22:20:52 +0100 Subject: [PATCH 0020/2080] gitconfig: delete duplicated line --- gitconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/gitconfig b/gitconfig index 89cfd7cd..3d7ec9c2 100644 --- a/gitconfig +++ b/gitconfig @@ -63,7 +63,6 @@ l = log -n 1 -p last = cat-file commit HEAD lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative - lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative lgn = "!f() { git log --graph --pretty=format:'%Cred%H%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --date=relative $@ | git name-rev --stdin --name-only ; } ; f" log1 = log --pretty=oneline --abbrev-commit --decorate lol = log --graph --decorate --pretty=oneline --abbrev-commit From ec6db0676a868b3791a1638869ffa1e6ad2f2068 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Sun, 27 Jan 2019 22:21:58 +0100 Subject: [PATCH 0021/2080] mbsync: disable login, run less frequently --- Library/LaunchAgents/name.bapt.mbsync.plist | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Library/LaunchAgents/name.bapt.mbsync.plist b/Library/LaunchAgents/name.bapt.mbsync.plist index 5cc023d8..4032677f 100755 --- a/Library/LaunchAgents/name.bapt.mbsync.plist +++ b/Library/LaunchAgents/name.bapt.mbsync.plist @@ -14,11 +14,15 @@ WorkingDirectory /Users/baptiste + + RunAtLoad + StartInterval - 60 + 120 From 67653280dca989e95f2597b43954deea2d834f8d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Sun, 27 Jan 2019 22:22:29 +0100 Subject: [PATCH 0022/2080] install.conf: cleaning --- install.conf.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/install.conf.yaml b/install.conf.yaml index 2e3dc929..1a97aed5 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -36,7 +36,6 @@ ~/.notmuch-config: notmuch-config ~/.pam_environment: pam_environment ~/.surfingkeys.js: surfingkeys.js - ~/.surfingkeys.js: surfingkeys.js ~/.tmux.conf: tmux.conf ~/.config/nvim: config/nvim ~/.vim: config/nvim @@ -64,7 +63,7 @@ # XXX Should be done before trying to link dir_colors - shell: - - [git submodule update --init --recursive, Installing submodules] + - [git submodule update --init --recursive, Installing submodules] # Package to install # - Archlinux From da28c2ae659e6257763685c43e83235cc38453c8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 29 Jan 2019 17:16:09 +0100 Subject: [PATCH 0023/2080] neomutt: fix profile --- config/neomutt/hooks | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neomutt/hooks b/config/neomutt/hooks index 428d252a..f359f30f 100644 --- a/config/neomutt/hooks +++ b/config/neomutt/hooks @@ -8,7 +8,7 @@ # When replying load profile corresponding to the To: reply-hook "~t baptiste@bapt.name" "source ~/.config/neomutt/profile.perso" -reply-hook "~t baptiste.grenier@egi.eu" "source ~/.config/neomutt/profile.egi" +reply-hook "~t baptiste.grenier@egi.eu" "source ~/.config/neomutt/profile-maildir.egi" # When sending load profile corresponding to the To: # send-hook @egi\\.eu$ "source ~/.config/neomutt/profile.egi" From 0d4c0014f9dc194ffb7b654cd969a550c65438b8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 29 Jan 2019 17:17:04 +0100 Subject: [PATCH 0024/2080] mailcomplte nvim: use lbdb instead of goobook --- config/nvim/autoload/mailcomplete.vim | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/config/nvim/autoload/mailcomplete.vim b/config/nvim/autoload/mailcomplete.vim index b5a997eb..18390e1d 100644 --- a/config/nvim/autoload/mailcomplete.vim +++ b/config/nvim/autoload/mailcomplete.vim @@ -16,11 +16,6 @@ function! mailcomplete#Complete(findstart, base) else let trim="sed '/^$/d' | cut -f1,2" let fmt='awk ''BEGIN{FS=OFS="\t"}{printf "%s <%s>\n", $2, $1}''' - if exists("g:goobookrc") - let goobook="goobook -c " . g:goobookrc - else - let goobook="goobook" - endif - return split(system(goobook . ' query ' . a:base . '|' . trim . '|' . fmt ), '\n') + return split(system('lbdbq ' . a:base . '|' . trim . '|' . fmt ), '\n') endif endfunc From 54be2aaa52778962c5f60cdc445b40ce024093ed Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 29 Jan 2019 17:17:26 +0100 Subject: [PATCH 0025/2080] nvim: try to use mailcomplete with deoplete --- config/nvim/init.vim | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index b25c365e..75230ae1 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -423,6 +423,15 @@ let g:neosnippet#enable_snipmate_compatibility = 1 " Tell Neosnippet about the other snippets let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets/snippets' +" enmable email completeion +call deoplete#custom#source('omni', 'functions', { + \ 'mail': 'mailcomplete#Complete', + \}) + +call deoplete#custom#var('omni', 'input_patterns', { + \ 'mail': '\w+', + \}) + " , : close popup and delete backword char "inoremap deoplete#smart_close_popup()."\" "inoremap deoplete#smart_close_popup()."\" From d9542653bfe44bc151e2c2c668dc7da3a5fb69c9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 29 Jan 2019 17:18:04 +0100 Subject: [PATCH 0026/2080] mvim: update spell --- config/nvim/spell/en.utf-8.add | 3 +++ config/nvim/spell/en.utf-8.add.spl | Bin 2238 -> 2297 bytes 2 files changed, 3 insertions(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index c4c30a65..53bf5afb 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -153,3 +153,6 @@ vCPU SSD reStructuredText travis +eXtreme-DataCloud +eXtreme-DataCloud +EPEL diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index d075d0f5bc7273137f1ddcda1281c707ced4fa87..9f26f1f356c921357398438dbcae1e03218f719b 100644 GIT binary patch delta 970 zcmX|AOK1~O6n*ziQmczVy3jZlYN@nfsX_#WE~IH{+d$Kf#)dBZFwIPpu``olGL5Aa z;;tK4KD!ZI6uRoJZrr(XC0KOh2VA*z*@Yko_1u@#z`V@8@7#0G{mi@UpKPXDDz_rn z_wy%0q>c_V9-Zr-AR&h8VKY+CD1XK!n8Ut0q}+&%VzQ~mo*V1rQh;ZI9QYDE@cyW& zFVvy~Rgxq0K?QP@KB<@T^5A4$a!|lW#K_+fa810?mijEO(Xl#_7cw_PxfX&n=8HG# ziZMIz%aM+c96sDn*_~J0M(*s63m>d)_1d^d^XjcJM3d^9QJC8frR!0cMv|Xi5VqQo z7HWC4UkAx5Z6HvVeGacAIK{q}H0;V6jPW{OAF0PFpDgt;6(GlCdJuecJ5UeP=B1%7 z+y-fk$|Gu^l91_+)r<64@nDS^3Q5Xtc(Dv(de8RG9#Y$=gM?xE)vv8#f{t2il~I%3+SHVICB~d3Eo{=)65P|_QwX!^9ybR{0S|wuVYql zS)+AOFeH?AlV>lB^GMy)ofW3j`(M?_?li@tdD;Zjf;_!ICNGdf#a^5v1qgFvJUbWs zEg(u9wdfh# zbo(q`oh}4VMVNX9F^gnt5yf$eDLVuw$52Ozd=0b-)iHXPDs)#v7c^i4ehzGaK&L`E zuybWk@5u%@e46e_-DFiD=(Q)`rWJ%UY4@vQmA$X3TGXj5g~Z885)G5Y#KpzM#e~h>K?gBT`n+F@mwexS@89!2@6VsqL27WLSZcQ%-=F>~ zL~MU=(4&FmB@!az22J&ZrpH}sl8po1)HYuDf3_&17Fkqb>1tj5qBiX)Pma@`dL}1m zU%i#1!?UhrbAzuIdmgpm$4IoPe#pyos4_-+a3qk`fE)_h@In=gg_B=wY5U0KL;aA| zS@qI5JJ57=ezMhj!=$|WYGi0u{Wj(o?Layn1#u+#<~4$L2jl`Agg$ivvPoNb%WFPs zN)c}HN>dthWCg;M%jS2g8}n&KeUCMe<8FL7*s&E*MO9LLsP}n$P76Hx?F)%d6$v>l=5% zjx4vRh~^87t-xVs4ge9}4plXD8OFc&E$~UuC^Z!c;$#r@QwYAO!JZX=QCgvn(KIudm|y@e1%1gsFS}fLXD$f@&CZ z&I-VbV<2QJ;1ZFGNjtPgx3uT7wr@etaW%y2OrTHVyhxWky%$@+@F~~lw#}@7(Cp(dg<2%fByh`t+3Vr From 991ba21012dc7162eca896a157006d67188c0198 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 6 Feb 2019 18:47:07 +0100 Subject: [PATCH 0027/2080] mbsync: seems now working --- Library/LaunchAgents/name.bapt.mbsync.plist | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/Library/LaunchAgents/name.bapt.mbsync.plist b/Library/LaunchAgents/name.bapt.mbsync.plist index 4032677f..6f89ee20 100755 --- a/Library/LaunchAgents/name.bapt.mbsync.plist +++ b/Library/LaunchAgents/name.bapt.mbsync.plist @@ -1,7 +1,7 @@ - - + + Label @@ -10,19 +10,14 @@ /usr/local/bin/mbsync -a - -d - WorkingDirectory - /Users/baptiste - - RunAtLoad - - StartInterval - 120 From e5c95f11f018578d5ad6fbd15eb1e8739da4455c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 6 Feb 2019 18:47:51 +0100 Subject: [PATCH 0028/2080] gitconfig: update tracking conf --- gitconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gitconfig b/gitconfig index 3d7ec9c2..870e2c75 100644 --- a/gitconfig +++ b/gitconfig @@ -90,8 +90,7 @@ mergeoptions = --no-commit [push] - default = simple - #default = tracking + default = current [pack] threads = 4 From 55ce203ecadb1db9e92bc53b747de9930d272c47 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 6 Feb 2019 18:48:18 +0100 Subject: [PATCH 0029/2080] nvim: update deopllete and ale conf --- config/nvim/init.vim | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 75230ae1..225dca30 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -24,6 +24,7 @@ else Plug 'roxma/nvim-yarp' Plug 'roxma/vim-hug-neovim-rpc' endif +Plug 'SevereOverfl0w/deoplete-github' " Snippets Plug 'Shougo/neosnippet.vim' Plug 'Shougo/neosnippet-snippets' @@ -432,6 +433,13 @@ call deoplete#custom#var('omni', 'input_patterns', { \ 'mail': '\w+', \}) +let g:deoplete#sources = {} +let g:deoplete#sources.gitcommit=['github'] +let g:deoplete#keyword_patterns = {} +let g:deoplete#keyword_patterns.gitcommit = '.+' +let g:deoplete#omni#input_patterns = {} +let g:deoplete#omni#input_patterns.gitcommit = '.+' + " , : close popup and delete backword char "inoremap deoplete#smart_close_popup()."\" "inoremap deoplete#smart_close_popup()."\" @@ -461,6 +469,16 @@ function! s:my_cr_function() abort return pumvisible() ? deoplete#close_popup()."\" : "\" endfunction +" ale +let g:ale_completion_enabled = 1 +" let g:ale_fix_on_save = 1 + +let g:ale_fixers = { +\ 'json': ['prettier'], +\ 'markdown': ['prettier'], +\ 'yaml': ['prettier'], +\} + " Notes using vim-pad let g:pad#dir = "~/GoogleDrive/notes" "let g:pad#local_dir = "notes" From 852147546c723fd295293857e2afd26e7ee3de05 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 6 Feb 2019 18:49:21 +0100 Subject: [PATCH 0030/2080] nvim: update dicts --- config/nvim/spell/en.utf-8.add | 5 ++++- config/nvim/spell/en.utf-8.add.spl | Bin 2297 -> 2356 bytes 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index 53bf5afb..af5dd959 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -154,5 +154,8 @@ SSD reStructuredText travis eXtreme-DataCloud -eXtreme-DataCloud EPEL +changelog +GGUS +GoeGrid +dotfiles diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index 9f26f1f356c921357398438dbcae1e03218f719b..6bfd917775ed4f3d70f57ba129fcda4256fcabaa 100644 GIT binary patch delta 765 zcmXX^J!lkB5Pman?_wkzsEB&WArVbT;$4DT1}qeU1|g(KW#MM`-QJqry=8CjqSt6; zWfSK*ZLSK~9a;%N@ybBdO0c#Ne?lrTRh-#Pvu|hSec#OYy*WJf_H=3O&b?M_g5cVb zQr54n(uXr>8;HOI0|7Jvl$!IlK0jMPCxs18CRpX%K?5AFh7j|&mEAH>2cIz}i(0e^ zGf<&ERN)(ag3Dt+9BrE}`k+A55zOg=@#refm-#;EHrgpu`rMksVT#g(npj!<{!acs zI)-OTgnQrDwx5E_owNBmv5W;aDi>@)|4bp3b2_H?cy?md6N2lZd}7J#m`4^Uyr2WD z!8Bde=Spi4)}xGx3%hh%FHTfCOeB;z=As*LOOdxJ$h-7PpC8>eoa3lRJNm+n2T{TC zqc{;Ah*lNW8JwB3FQ&k%3&wKXxXUzt?$aKfv}#Me2n{PQWa7f8)nQzeYuS;9SckR@ z5eCAtA==bHl&DFA4j*%#l>g8ZD}b1OTj69cr+m9Wwn8o4c3A{rE?ZVl@~Yp0go@DmIZ7)rd|&veNwI?jd2v%qcwU6v(wsWhJ+ zm#JJ_fEq0qr^bg}Zqep?!1yLSLWNJ+B}Qs`UaY_ydR?5I|LddMV9Bxu_|Gt5c)S#< z<3XRnVh)3biBgb|9vRGP<2MM{%jVuvixcb*H ztnp6qJ%ZSoJgI;Ok3c|*H86}HT@E)Of`rcuI8zn$3@*Yfji3f&I)n>_Z=UIjJ_cMp zrZQI164b!U*U^i*874_GdImLQo{QD$_A zr%UyYLbwvCL+6hZmb9S;`*hx1f+MEUpsBSIY z8N?{quFZ)_5XIRh&&4_MZigFN(Bo!oD9dnPs=;0Dq$1GcpxRO8F}<=vXi~|JDg((J zp*CrZdNZ!-`ql1)Q6{$($W0pB^QCeQ;xbjLm)7M8z4aqO-|fZQ!?psxB`vobq!^{J zuj1{O+L=;gHghZa(o*QNG5t<5*N;_NbC#h4h_g{MLKU0z9Py=Th-YfPR-9 tDpEY46I1ifFf|MaXl3g4g4&AUUzI@<{!25?>BX%}Doi)wIX#^I`VZ@OnfU+! From c532be5851c104b8ed5347337d3b02d5b42192d1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 6 Feb 2019 18:49:51 +0100 Subject: [PATCH 0031/2080] neomutt: fix sort for Sent. fix index_format --- config/neomutt/neomuttrc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/config/neomutt/neomuttrc b/config/neomutt/neomuttrc index 5c76e8dc..5035a0f7 100644 --- a/config/neomutt/neomuttrc +++ b/config/neomutt/neomuttrc @@ -40,11 +40,14 @@ set askcc set folder_format = "%3C %t %N %f" +# set index_format = "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s" +# Display sender instead of subscrived maling list +set index_format = "%4C %Z %{%b %d} %-20.19F (%?l?%4l&%4c?) %s" + # Status bar set status_chars = " *%A" set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───" - # Quotations set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" @@ -82,7 +85,7 @@ set sort_re set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" # Ensure that INBOX is always using appropriate sorting folder-hook Inbox 'set sort=threads sort_aux=reverse-last-date-received sort_re' -folder-hook Sent 'set sort=revers-last-date' +folder-hook Sent 'set sort=reverse-last-date' # Threads sorted correctly but at bottom #set sort_aux = last-date-received From 03512cea1d0799f890c550cf2b131357064381a3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 6 Feb 2019 18:50:14 +0100 Subject: [PATCH 0032/2080] nemott: display calendar if any --- config/neomutt/mime-view | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neomutt/mime-view b/config/neomutt/mime-view index 82e641f3..98c480c3 100644 --- a/config/neomutt/mime-view +++ b/config/neomutt/mime-view @@ -30,6 +30,6 @@ auto_view application/octet-stream auto_view text/x-vcard auto_view text/enriched -alternative_order text/plain text/enriched text/html +alternative_order text/calendar text/plain text/enriched text/html # vim: syntax=neomuttrc: From c5f6e15316e80f3435b53145fd0201197e872700 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 6 Feb 2019 18:50:48 +0100 Subject: [PATCH 0033/2080] neomutt: update handling of multi parts --- config/neomutt/dump-ical.py | 56 +++++++++++++++ config/neomutt/mailcap-osx | 9 +++ config/neomutt/view_attachment | 126 +++++++++++++++++++++++++++++++++ 3 files changed, 191 insertions(+) create mode 100755 config/neomutt/dump-ical.py create mode 100644 config/neomutt/mailcap-osx create mode 100755 config/neomutt/view_attachment diff --git a/config/neomutt/dump-ical.py b/config/neomutt/dump-ical.py new file mode 100755 index 00000000..ad2aa2ea --- /dev/null +++ b/config/neomutt/dump-ical.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python + +import sys +import warnings +import vobject + + +def get_invitation_from_path(path): + with open(path) as f: + try: + # vobject uses deprecated Exceptions + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + return vobject.readOne(f, ignoreUnreadable=True) + except AttributeError: + return vobject.readOne(f, ignoreUnreadable=True) + + +def person_string(c): + return "%s %s" % (c.params['CN'][0], "<%s>" % c.value.split(':')[1]) + + +def when_str_of_start_end(s, e): + date_format = "%a, %d %b %Y at %H:%M" + until_format = "%H:%M" if s.date() == e.date() else date_format + return "%s -- %s" % (s.strftime(date_format), e.strftime(until_format)) + + +def pretty_print_invitation(invitation): + event = invitation.vevent.contents + title = event['summary'][0].value + org = event['organizer'][0] + invitees = event['attendee'] + start = event['dtstart'][0].value + end = event['dtend'][0].value + location = event['location'][0].value + description = event['description'][0].value + print("="*70) + print("MEETING INVITATION".center(70)) + print("="*70) + print("Event:\n\t%s" % title.encode('utf-8')) + print("Organiser:\n\t%s" % person_string(org).encode('utf-8')) + print("Invitees:") + for i in invitees: + print("\t%s" % person_string(i).encode('utf-8')) + print("When:\n\t%s" % when_str_of_start_end(start, end).encode('utf-8')) + print("Location:\n\t%s" % location.encode('utf-8')) + print("---\n%s---" % description.encode('utf-8')) + + +if __name__ == "__main__": + if len(sys.argv) != 2 or sys.argv[1].startswith('-'): + sys.stderr.write("Usage: %s \n" % sys.argv[0]) + sys.exit(2) + inv = get_invitation_from_path(sys.argv[1]) + pretty_print_invitation(inv) diff --git a/config/neomutt/mailcap-osx b/config/neomutt/mailcap-osx new file mode 100644 index 00000000..bf287fe2 --- /dev/null +++ b/config/neomutt/mailcap-osx @@ -0,0 +1,9 @@ +document/pdf; ~/.config/neomutt/view_attachment %s - +application/octet-stream; ~/.config/neomutt/view_attachment %s - +mime_lookup application/octet-stream +video/*; ~/.config/neomutt/view_attachment %s - +image/*; ~/.config/neomutt/view_attachment %s - +application/*; ~/.config/neomutt/view_attachment %s - +text/html; w3m -I %{charset} -T text/html; copiousoutput; +text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; +# text/html; ~/.config/neomutt/view_attachment %s html diff --git a/config/neomutt/view_attachment b/config/neomutt/view_attachment new file mode 100755 index 00000000..43df6267 --- /dev/null +++ b/config/neomutt/view_attachment @@ -0,0 +1,126 @@ +#!/bin/bash +# +# Author: Eric Gebhart +# +# Purpose: To be called by mutt as indicated by .mailcap to handle mail attachments. +# +# Function: Copy the given file to a temporary directory so mutt +# Won't delete it before it is read by the application. +# +# Along the way, discern the file type or use the type +# That is given. +# +# Finally use 'open' or 'open -a' if the third argument is +# given. +# +# +# Arguments: +# +# $1 is the file +# $2 is the type - for those times when file magic isn't enough. +# I frequently get html mail that has no extension +# and file can't figure out what it is. +# +# Set to '-' if you don't want the type to be discerned. +# Many applications can sniff out the type on their own. +# And they do a better job of it too. +# +# Open Office and MS Office for example. +# +# $3 is open with. as in open -a 'open with this .app' foo.xls +# +# Examples: These are typical .mailcap entries which use this program. +# +# Image/JPEG; /usr/local/bin/view_attachment %s +# Image/PNG; /usr/local/bin/view_attachment %s +# Image/GIF; /usr/local/bin/view_attachment %s +# +# Application/PDF; /usr/local/bin/view_attachment %s +# +# #This HTML example passes the type because file doesn't always work and +# #there aren't always extensions. +# +# text/html; /usr/local/bin/view_attachment %s html +# +# # If your Start OpenOffice.org.app is spelled with a space like this one, <-- +# # then you'll need to precede the space with a \ . I found that too painful +# # and renamed it with an _. +# +# Application/vnd.ms-excel; /usr/local/bin/view_attachment %s "-" '/Applications/OpenOffice.org1.1.2/Start_OpenOffice.org.app' +# Application/msword; /usr/local/bin/view_attachment %s "-" '/Applications/OpenOffice.org1.1.2/Start_OpenOffice.org.app' +# +# +# Debugging: If you have problems set debug to 'yes'. That will cause a debug file +# be written to /tmp/mutt_attach/debug so you can see what is going on. +# +# See Also: The man pages for open, file, basename +# + +# the tmp directory to use. +tmpdir="/tmp/mutt_attach" + +# the name of the debug file if debugging is turned on. +debug_file=$tmpdir/debug + +# debug. yes or no. +debug="no" +#debug="yes" + +type=$2 +open_with=$3 + +# make sure the tmpdir exists. +mkdir -p $tmpdir + +# clean it out. Remove this if you want the directory +# to accumulate attachment files. +rm -rf $tmpdir/* + +# Mutt puts everything in /tmp by default. +# This gets the basic filename from the full pathname. +filename=`basename $1` + +# get rid of the extenson and save the name for later. +file=`echo $filename | cut -d"." -f1` + +if [ $debug = "yes" ]; then + echo "1:" $1 " 2:" $2 " 3:" $3 > $debug_file + echo "Filename:"$filename >> $debug_file + echo "File:"$file >> $debug_file + echo "===========================" >> $debug_file +fi + +# if the type is empty then try to figure it out. +if [ -z $type ]; then + type=`file -bi $1 | cut -d"/" -f2` +fi + +# if the type is '-' then we don't want to mess with type. +# Otherwise we are rebuilding the name. Either from the +# type that was passed in or from the type we discerned. +if [ $type = "-" ]; then + newfile=$filename +else + newfile=$file.$type +fi + +newfile=$tmpdir/$newfile + +# Copy the file to our new spot so mutt can't delete it +# before the app has a chance to view it. +cp $1 $newfile + +if [ $debug = "yes" ]; then + echo "File:" $file "TYPE:" $type >> $debug_file + echo "Newfile:" $newfile >> $debug_file + echo "Open With:" $open_with >> $debug_file +fi + +# If there's no 'open with' then we can let preview do it's thing. +# Otherwise we've been told what to use. So do an open -a. + +if [ -z $open_with ]; then + open $newfile +else + open -a "$open_with" $newfile +fi From 6c21bdb12b0543a5fd95a763a3a8905a2040a023 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 6 Feb 2019 18:51:05 +0100 Subject: [PATCH 0034/2080] neomutt: fix typo for msmtpq --- config/neomutt/profile-maildir.egi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neomutt/profile-maildir.egi b/config/neomutt/profile-maildir.egi index 515bec9d..b23604ea 100644 --- a/config/neomutt/profile-maildir.egi +++ b/config/neomutt/profile-maildir.egi @@ -10,7 +10,7 @@ mailboxes Inbox #set sendmail = "/usr/local/bin/msmtp -a egi" # Queue mail if offline # /usr/local/Cellar/msmtp/1.6.6/share/msmtp/scripts/msmtpq/README.msmtpq -set sendmail = "msptpq" +set sendmail = "msmtpq" # Wait for retrun code set sendmail_wait = -1 # Using neomutt's SMTP feature From 31908cca93091304a68c2a89da92fa60e849b5b9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 13 Feb 2019 18:47:10 +0100 Subject: [PATCH 0035/2080] Import mime.types --- config/neomutt/mime.types | 112 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 config/neomutt/mime.types diff --git a/config/neomutt/mime.types b/config/neomutt/mime.types new file mode 100644 index 00000000..92392a4c --- /dev/null +++ b/config/neomutt/mime.types @@ -0,0 +1,112 @@ +# +# sample mime.types +# + +application/andrew-inset ez +application/excel xls +application/octet-stream bin +application/oda oda +application/pdf pdf +application/pgp pgp +application/postscript ps PS eps +application/rdf+xml rdf +application/rss+xml rss +application/rtf rtf +application/vnd.mozilla.xul+xml xul +application/vnd.oasis.opendocument.chart odc +application/vnd.oasis.opendocument.database odb +application/vnd.oasis.opendocument.formula odf +application/vnd.oasis.opendocument.graphics odg +application/vnd.oasis.opendocument.graphics-template otg +application/vnd.oasis.opendocument.image odi +application/vnd.oasis.opendocument.presentation odp +application/vnd.oasis.opendocument.presentation-template otp +application/vnd.oasis.opendocument.spreadsheet ods +application/vnd.oasis.opendocument.spreadsheet-template ots +application/vnd.oasis.opendocument.text odt +application/vnd.oasis.opendocument.text-master odm +application/vnd.oasis.opendocument.text-template ott +application/vnd.oasis.opendocument.text-web oth +application/vnd.sun.xml.calc sxc +application/vnd.sun.xml.calc.template stc +application/vnd.sun.xml.draw sxd +application/vnd.sun.xml.draw.template std +application/vnd.sun.xml.impress sxi +application/vnd.sun.xml.impress.template sti +application/vnd.sun.xml.writer sxw +application/vnd.sun.xml.writer.global sxg +application/vnd.sun.xml.writer.math sxm +application/vnd.sun.xml.writer.template stw +application/x-arj-compressed arj +application/x-bcpio bcpio +application/x-chess-pgn pgn +application/x-cpio cpio +application/x-csh csh +application/x-debian-package deb +application/x-msdos-program com exe bat +application/x-dvi dvi +application/x-gtar gtar +application/x-gunzip gz +application/x-hdf hdf +application/x-latex latex +application/x-mif mif +application/x-netcdf cdf nc +application/x-perl pl pm +application/x-rar-compressed rar +application/x-sh sh +application/x-shar shar +application/x-sv4cpio sv4cpio +application/x-sv4crc sv4crc +application/x-tar tar +application/x-tar-gz tgz tar.gz +application/x-tcl tcl +application/x-tex tex +application/x-texinfo texi texinfo +application/x-troff t tr roff +application/x-troff-man man +application/x-troff-me me +application/x-troff-ms ms +application/x-ustar ustar +application/x-wais-source src +application/x-zip-compressed zip +application/xhtml+xml xhtml xht +application/xml xml xsl + +audio/basic snd +audio/midi mid midi +audio/ulaw au +audio/x-aiff aif aifc aiff +audio/x-wav wav + +image/gif gif +image/ief ief +image/jpeg jpe jpeg jpg +image/png png +image/svg+xml svg svgz +image/tiff tif tiff +image/x-cmu-raster ras +image/x-portable-anymap pnm +image/x-portable-bitmap pbm +image/x-portable-graymap pgm +image/x-portable-pixmap ppm +image/x-rgb rgb +image/x-xbitmap xbm +image/x-xpixmap xpm +image/x-xwindowdump xwd + +text/html html htm +text/plain asc txt +text/richtext rtx +text/tab-separated-values tsv +text/x-setext etx + +video/dl dl +video/fli fli +video/gl gl +video/mpeg mp2 mpe mpeg mpg +video/quicktime mov qt +video/x-msvideo avi +video/x-sgi-movie movie + +x-world/x-vrml vrm vrml wrl +application/vnd.openxmlformats-officedocument.presentationml.presentation pptx From 35ae7dcc1838d21baed32c5e9dd7392dbd1f3773 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 13 Feb 2019 18:47:25 +0100 Subject: [PATCH 0036/2080] neomutt: hide sidebar by dfault --- config/neomutt/sidebar | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/neomutt/sidebar b/config/neomutt/sidebar index 964e203f..0b127a01 100644 --- a/config/neomutt/sidebar +++ b/config/neomutt/sidebar @@ -6,7 +6,7 @@ set sidebar_format = " %B%* " # Order of the mailboxes command set sidebar_sort_method = 'unsorted' # set to "no" to disable sidebar view at startup -set sidebar_visible = yes +set sidebar_visible = no set sidebar_width = 20 set mail_check_stats From e26d119901be5bbb60cdeeeb31d92e99167fe585 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 13 Feb 2019 18:47:47 +0100 Subject: [PATCH 0037/2080] neomutt: document smime and update key --- config/neomutt/profile-maildir.egi | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/config/neomutt/profile-maildir.egi b/config/neomutt/profile-maildir.egi index b23604ea..41e1863a 100644 --- a/config/neomutt/profile-maildir.egi +++ b/config/neomutt/profile-maildir.egi @@ -66,6 +66,12 @@ my_hdr Reply-To: Baptiste Grenier # Import DigiCert root # /usr/local/Cellar/neomutt/20180716//libexec/neomutt/smime_keys add_root baptiste_grenier/TrustedRoot.crt # Import certificate, key and DigiCert intermediate certificate +# Export cert from p12 +# openssl pkcs12 -in path.p12 -out usercert.pem -clcerts -nokeys +# Export key from p12 +# openssl pkcs12 -in path.p12 -out userkey.pem -nocerts +# Export passwordless key from p12 +# openssl pkcs12 -in path.p12 -out userkey-nopass.pem -nocerts -nodes # /usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys add_chain userkey.pem-new usercert.pem-new baptiste_grenier/DigiCertCA.crt # To be configured according to @@ -76,7 +82,7 @@ source /usr/local/Cellar/neomutt/20180716/share/doc/neomutt/samples/smime.rc set crypt_use_gpgme = no set smime_is_default -set smime_sign_as = 61a167d5.0 +set smime_sign_as = 95430e67.0 # Set labels for certificates you add. set smime_ask_cert_label From 24345956aac3b975b1d142f296c37caf0a995b0d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 13 Feb 2019 18:48:02 +0100 Subject: [PATCH 0038/2080] nvim: learn pomodor --- config/nvim/spell/en.utf-8.add | 1 + config/nvim/spell/en.utf-8.add.spl | Bin 2356 -> 2367 bytes 2 files changed, 1 insertion(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index af5dd959..6041bc04 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -159,3 +159,4 @@ changelog GGUS GoeGrid dotfiles +Pomodoro diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index 6bfd917775ed4f3d70f57ba129fcda4256fcabaa..fcb373303275a9d089de6a2799e0a4b48998dcb7 100644 GIT binary patch delta 61 zcmdlYv|orX%+t5HAT=k)=syDk%cq5WtOCrrMa7Kyj443O$iR5GXtN;eF-FEclW(y3 Qu`)6+*CuY(WoKss07dZ;QUCw| delta 50 zcmdllv_*(7%+t5HAT=k)=syDk%j<=FtjtVB#hc|=k1;ZCp8S-}k3Er*k%94W(Pj&F Gb|wI$Vh<<) From 2fd32ab7600fd48a2229120d323d49d68be5ba0b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 18 Feb 2019 09:58:55 +0100 Subject: [PATCH 0039/2080] mailcap: allow to "print" html files in chrome --- config/neomutt/mailcap-osx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/neomutt/mailcap-osx b/config/neomutt/mailcap-osx index bf287fe2..e3eb1fbb 100644 --- a/config/neomutt/mailcap-osx +++ b/config/neomutt/mailcap-osx @@ -4,6 +4,7 @@ mime_lookup application/octet-stream video/*; ~/.config/neomutt/view_attachment %s - image/*; ~/.config/neomutt/view_attachment %s - application/*; ~/.config/neomutt/view_attachment %s - -text/html; w3m -I %{charset} -T text/html; copiousoutput; +# View file in W3M, use print to view them in default browser +text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = open %s text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; # text/html; ~/.config/neomutt/view_attachment %s html From e7eff6c9c2f2260227998f94ec2aa4a1b504ac85 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 18 Feb 2019 09:59:16 +0100 Subject: [PATCH 0040/2080] neomutt: update smime doc --- config/neomutt/profile-maildir.egi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/neomutt/profile-maildir.egi b/config/neomutt/profile-maildir.egi index 41e1863a..9e91fc84 100644 --- a/config/neomutt/profile-maildir.egi +++ b/config/neomutt/profile-maildir.egi @@ -65,13 +65,14 @@ my_hdr Reply-To: Baptiste Grenier # /usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys init # Import DigiCert root # /usr/local/Cellar/neomutt/20180716//libexec/neomutt/smime_keys add_root baptiste_grenier/TrustedRoot.crt -# Import certificate, key and DigiCert intermediate certificate # Export cert from p12 # openssl pkcs12 -in path.p12 -out usercert.pem -clcerts -nokeys # Export key from p12 # openssl pkcs12 -in path.p12 -out userkey.pem -nocerts # Export passwordless key from p12 # openssl pkcs12 -in path.p12 -out userkey-nopass.pem -nocerts -nodes +# Import certificate, key and DigiCert intermediate certificate +# TODO check smime_keys add_p12 to use the p12 directly # /usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys add_chain userkey.pem-new usercert.pem-new baptiste_grenier/DigiCertCA.crt # To be configured according to From af62578f874a4404c0fd76772767de1941ab1bb4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 18 Feb 2019 09:59:28 +0100 Subject: [PATCH 0041/2080] nvim: update dicts --- config/nvim/spell/en.utf-8.add | 1 + config/nvim/spell/en.utf-8.add.spl | Bin 2367 -> 2388 bytes 2 files changed, 1 insertion(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index 6041bc04..e8137874 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -160,3 +160,4 @@ GGUS GoeGrid dotfiles Pomodoro +EOSC-hub diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index fcb373303275a9d089de6a2799e0a4b48998dcb7..a8c42bae98bd70a9c20bcf709f7e0bc7d0cf8592 100644 GIT binary patch delta 455 zcmXw0J4*vW5Z>9lTof^4#3F((6oZQRLTnTXLc~G@MH^8#lQVa4cR7;t0kIT|U?EJQ zDJ%qABLO=R!8E~2)W2Y1;iIszkT@gCvNN-@Gv7Dg?oIe999o{8%X)@wk5q+Fze=GS zs7pwx4gd)8Vd4W^Lj@0I7rfx59G-ml!KW*TdYYa{rl~0JWw|!5LyCQ8LXsVI*mzv2 zc#wrOM@QJ9#6zpD+;G8w45#kVSK`o!S4wYf(SRi93izr-z`&r|CS^B9)!0nIm4*dw zfI#0Y$IWhm4lZq~zD*I>z#>e; a?=P&Gco#frKKmESOrnLwiyZFOlz#x>1Z*?_ delta 384 zcmXv}J4?e*6u#fhqYfIOB4`VW6hs9db#W}B6hvG)bQ6p=O@m3Ou@({i2O{VxE~3(@ zvx5j?>5$RYL2z(!61zBvo1R1*E|>3ouXCP~oupA*S=+5zt~>uDg!*}7bf7_qu`PN= z8zG&`4BqHoX7NrRGR+(cHW|t=&S*l(8%1B1eOL&<%p)BtdGu1KOlDdZO3|$0!iEor zHJn=y7&%g^%xqA@Kzaef2)CM?YO)tXsk-qpe+vgVU}W-K)cp9D ztF*4qVTMlhalZdnU%&%(^{MGEN0usF?ni;&7TY|25fXJ9O%AU|@kgc*2xvKREU{0o UiOa!@|D&RMk&4R#I_(L60ao>3f&c&j From 057045dca327ad257e3080472ae57fd4e9c3bfb2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 27 Feb 2019 11:22:40 +0100 Subject: [PATCH 0042/2080] dump-ical: Fix errors. --- config/neomutt/dump-ical.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/config/neomutt/dump-ical.py b/config/neomutt/dump-ical.py index ad2aa2ea..114949af 100755 --- a/config/neomutt/dump-ical.py +++ b/config/neomutt/dump-ical.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +# https://github.com/simonjbeaumont/.dotfiles/blob/ce081a65/mutt/dump-ical.py import sys import warnings @@ -17,12 +18,16 @@ def get_invitation_from_path(path): def person_string(c): - return "%s %s" % (c.params['CN'][0], "<%s>" % c.value.split(':')[1]) + if 'CN' in c.params: + person = "%s %s" % (c.params['CN'][0], "<%s>" % c.value.split(':')[1]) + else: + person = "<%s>" % c.value.split(':')[1] + return person def when_str_of_start_end(s, e): date_format = "%a, %d %b %Y at %H:%M" - until_format = "%H:%M" if s.date() == e.date() else date_format + until_format = "%H:%M" if s == e else date_format return "%s -- %s" % (s.strftime(date_format), e.strftime(until_format)) @@ -38,14 +43,14 @@ def pretty_print_invitation(invitation): print("="*70) print("MEETING INVITATION".center(70)) print("="*70) - print("Event:\n\t%s" % title.encode('utf-8')) - print("Organiser:\n\t%s" % person_string(org).encode('utf-8')) + print("Event:\n\t%s" % title) + print("Organiser:\n\t%s" % person_string(org)) print("Invitees:") for i in invitees: - print("\t%s" % person_string(i).encode('utf-8')) - print("When:\n\t%s" % when_str_of_start_end(start, end).encode('utf-8')) - print("Location:\n\t%s" % location.encode('utf-8')) - print("---\n%s---" % description.encode('utf-8')) + print("\t%s" % person_string(i)) + print("When:\n\t%s" % when_str_of_start_end(start, end)) + print("Location:\n\t%s" % location) + print("---\n%s---" % description) if __name__ == "__main__": From b0bee8f9d5106da1b0ef51e40293b1a56b9f13b6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 2 Apr 2019 11:16:41 +0200 Subject: [PATCH 0043/2080] nvim: disable taskwarrior, move plug dir --- config/nvim/init.vim | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 225dca30..7beade38 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -4,14 +4,14 @@ " " https://github.com/junegunn/vim-plug if empty(glob('~/.vim/autoload/plug.vim')) - silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs + silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim autocmd VimEnter * PlugInstall | source $MYVIMRC endif filetype off " required for vundle setup -call plug#begin('~/.vim/plugged') +call plug#begin('~/.config/nvim/plugged') " SuperTab " Plug 'ervandew/supertab' @@ -19,6 +19,8 @@ call plug#begin('~/.vim/plugged') if has('nvim') Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } Plug 'Shougo/denite.nvim' + " Possible replacement for deoplete + " Plug 'neoclide/coc.nvim', {'tag': '*', 'do': { -> coc#util#install()}} else Plug 'Shougo/deoplete.nvim' Plug 'roxma/nvim-yarp' @@ -120,7 +122,7 @@ Plug 'tmux-plugins/vim-tmux' Plug 'w0rp/ale' Plug 'dag/vim-fish' Plug 'neomutt/neomutt.vim' -Plug 'blindFS/vim-taskwarrior' +" Plug 'blindFS/vim-taskwarrior' Plug 'reedes/vim-litecorrect' Plug 'mbbill/undotree' " Could break airline bar if no proper font is configured @@ -530,7 +532,7 @@ vnoremap k gk let g:is_posix=1 " vim-taskwarrior -nnoremap t :tabnew :TW +" nnoremap t :tabnew :TW " Autocorrect in text and markdown files From cb37d035b9ed19a25dcaf28497c632dd05383058 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 2 Apr 2019 11:16:53 +0200 Subject: [PATCH 0044/2080] nvim: update dict --- config/nvim/spell/en.utf-8.add | 4 ++++ config/nvim/spell/en.utf-8.add.spl | Bin 2388 -> 2450 bytes 2 files changed, 4 insertions(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index e8137874..6ffdcc36 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -161,3 +161,7 @@ GoeGrid dotfiles Pomodoro EOSC-hub +psychometrician +Terraform +libvirt +Zdeněk diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index a8c42bae98bd70a9c20bcf709f7e0bc7d0cf8592..8569f8fcebdb3993b99f3921c7e462d4539f0df8 100644 GIT binary patch delta 225 zcmca2G)b5*%+t5HAT=k)=syDktNKR1BxXM5q_jN7GR90sMh1o%MU#t}D;c*=e#^Xy zv3l|h7CG+U861hpshK(XMa7d3uoN)XPc~#VkYcQ4OlHhr%xBDHOl2%#ECOmz1{v@@ zb8;f=P>~_u%#XW>0_G>v?Uja^ME{tvUJ9UK=aB#GCiB^ H*+rQEMGZP} delta 187 zcmbOvd_{;a%+t5HAT=k)=syDk%g>E`NzBYlX?c_Dm@66AP5!~WO0y(~k&%J1pae)V zY%Bngim6P=KuS9u$YJ`D!Je3$nwgVdH2Dlm0b}`OTULX~?X3IdGD=tyGct>qa*G%b zgA}e?$e6^K$OtlxxjbibDVsl|>Exqqag2v2tFUWoGX2eDO37eMWy}L9{-4U2$(Reo WARa?mI^#m1#xjuBmd&;7qD%m>&N71l From 724d5e192e9455070681e9a8059cf292c8a76dd5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 2 Apr 2019 11:17:36 +0200 Subject: [PATCH 0045/2080] neomutt: cat csv files --- config/neomutt/mailcap-osx | 1 + config/neomutt/mime-view | 1 + 2 files changed, 2 insertions(+) diff --git a/config/neomutt/mailcap-osx b/config/neomutt/mailcap-osx index e3eb1fbb..a1287495 100644 --- a/config/neomutt/mailcap-osx +++ b/config/neomutt/mailcap-osx @@ -8,3 +8,4 @@ application/*; ~/.config/neomutt/view_attachment %s - text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = open %s text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; # text/html; ~/.config/neomutt/view_attachment %s html +text/csv ; cat %s ; copiousoutput diff --git a/config/neomutt/mime-view b/config/neomutt/mime-view index 98c480c3..b8bf3c7c 100644 --- a/config/neomutt/mime-view +++ b/config/neomutt/mime-view @@ -29,6 +29,7 @@ auto_view application/pgp-keys auto_view application/octet-stream auto_view text/x-vcard auto_view text/enriched +auto_view text/csv alternative_order text/calendar text/plain text/enriched text/html From bc363935c1b63c8c7f3b679949726ec3860974dd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 2 Apr 2019 11:17:50 +0200 Subject: [PATCH 0046/2080] Load aliases --- config/neomutt/profile-maildir.egi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/neomutt/profile-maildir.egi b/config/neomutt/profile-maildir.egi index 9e91fc84..f7896a77 100644 --- a/config/neomutt/profile-maildir.egi +++ b/config/neomutt/profile-maildir.egi @@ -106,6 +106,8 @@ macro index \cf "mbsync -a" # Querying Google contacts set query_command="lbdbq %s" +set alias_file = "~/.config/neomutt/aliases" +# source "~/.config/neomutt/aliases" # Google-like key bindings macro index,pager A "+All" "move message to the archive" From c153d2517fd4a55dc780c11ce7e78477d7c5b0b3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 2 Apr 2019 11:18:43 +0200 Subject: [PATCH 0047/2080] Ignore aliases --- config/neomutt/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/neomutt/.gitignore diff --git a/config/neomutt/.gitignore b/config/neomutt/.gitignore new file mode 100644 index 00000000..0427d87b --- /dev/null +++ b/config/neomutt/.gitignore @@ -0,0 +1 @@ +aliases From 3851a71169ad09bf1d12a0b8a8b60fecb7b6b59a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 2 Apr 2019 11:19:08 +0200 Subject: [PATCH 0048/2080] Clean lbdb options --- lbdbrc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lbdbrc b/lbdbrc index 52f1be0a..cd071ab9 100644 --- a/lbdbrc +++ b/lbdbrc @@ -41,10 +41,8 @@ # - m_vcf search a vcard (according to RFC2426) file. # - m_khard search a CardDAV address book via khard -METHODS="m_inmail m_passwd m_finger" - -#METHODS="m_muttalias m_osx_addressbook" -METHODS="m_osx_addressbook" +METHODS="m_muttalias m_osx_addressbook" +#METHODS="m_osx_addressbook" # If it isn't possible to find out the correct mail domain name of From f0a90d9ec6832afe33dbb352655aa0339e18bc4c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 2 Apr 2019 11:21:03 +0200 Subject: [PATCH 0049/2080] nvim: fix path for vimplug --- config/nvim/init.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 7beade38..332bf9ba 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -3,7 +3,7 @@ " https://github.com/Shougo/dein.vim " " https://github.com/junegunn/vim-plug -if empty(glob('~/.vim/autoload/plug.vim')) +if empty(glob('~/.config/nvim/autoload/plug.vim')) silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim autocmd VimEnter * PlugInstall | source $MYVIMRC From 99d92ad86392aa14e31ab5c9d7420b9bc9f2eff5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 3 Apr 2019 19:20:35 +0200 Subject: [PATCH 0050/2080] tmux: use zsh from homebrew on mac --- tmux.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmux.conf b/tmux.conf index eed958cb..a0642322 100644 --- a/tmux.conf +++ b/tmux.conf @@ -73,8 +73,8 @@ bind-key . command-prompt "move-window -r -t '%%'" #set-window-option -g window-status-current-format ' #I:#W ' # Use zsh (login shell) -set -g default-command '/bin/zsh -l' # set -g default-command '/usr/bin/fish -l' +if-shell "uname | grep -q Darwin" "set -g default-command '$(brew --prefix zsh)/bin/zsh -l'" "set -g default-command '/bin/zsh -l'" # Disable automatic changes of titles set -g set-titles on From 4fed2b09c760519b6e76467298642c6ffae8ff06 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 3 Apr 2019 19:21:14 +0200 Subject: [PATCH 0051/2080] nvim: update dicts --- config/nvim/spell/en.utf-8.add | 2 ++ config/nvim/spell/en.utf-8.add.spl | Bin 2450 -> 2476 bytes 2 files changed, 2 insertions(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index 6ffdcc36..dac0af84 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -165,3 +165,5 @@ psychometrician Terraform libvirt Zdeněk +Ansible +testinfra diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index 8569f8fcebdb3993b99f3921c7e462d4539f0df8..d27ac7379c5f229209d11677f442bbfbab7e2d84 100644 GIT binary patch literal 2476 zcmYLKyKWmt6y2F6Z3lr>qzD971{=Ac07FO&x-dXnN^Am>#e}h7Abw!>LGD`n%04Jc zX>1_K4+N@GDb7~}fg7a@QmFI?c@#fCOwueb%BpS_N6X`r^N#VdLd8mV@Cj6?eC4PLzde;;rL~R=tvi*{ zFL10JXXJIvJkDWvi1UnFgFuz?JI0smQq_VrlU<_Hu~ZH0DwX4FRLZ@fxg3O1k~YU& zT}w5%)H*N4zJe7wq=G`+n*04o8wQ?ZI{_FE=0YbHw@hQ_HW)VGK#mgqNnz>tJ-8++ z0yfNswVHuVjy2@kK$dmuf+PYt+w2JvO;Q z0Lwao7&-E@Vk~W@e;Y_yP->sXBT7LjH*t(3o5jDrYr+#9BgR^VnAJ*|nC29G#%B!{($9C|NKUqzx)tbBJ{i1H8FcDZ=)1Q2q|iZIl<#?4FdSPRa`QDki+}5 z5a~}1FtF_VgdC;(6tr9`kOC>IUt)HiK~B<0LyEN!LM_K>Dda;qFhtx5W@s~`3hn3) zVfz>!J3nQc`Al3|=T0IZM{8xbx8_DdpN!UmwJy1u|K zW~h6C4iXr1GLCrk(6m}q8VPeItit-WG{^Uaw3LSk zBGxP-x8#}A4VffV;QnKr`lB`XQ8!$VU){)-&qu=A8JU+xmJ#=qbrmt$;*o1rzS&e0%4K++Ek*0)0g@V z79deI;KL!}Js~^?a={G6ryn3JR8X0A7^HI3l7#L2s0-d+R2QLttToyVM*Sr`SjtL$ z$MuK?n-YVKMaAdn07oO6yCM67R; zQG40FX+AQ%q&u^Dl2*0M)+`lrOqUZ3{8x;{V(NXXsKJ_<*=dFU4Y?>G2C}0u57~!U z4-%bKz@i4~Vn&o@-8EqpmpU!gIX7OPp?ticDN~}MAZKR=);QcI7)7D4dP^BrQ&6fC ztmO86X?sC`yKudrfHIlQcGv(#%J$^Y-g~DTmmnXQ-A*ynF5o4pk$q5Nm`i1+p~ju$ zBNmtH;skh&kn~`(M1fw|)?Z8AFh4>9 z+s1TsKaO?4TbNq9SHnNJclBq$rYq>-T%7@y*SGtVanR?V+_}5G^Tn6<#=HBIuOA*f z3d@C_6l#nJ7)rInh`qb;uko8N2GeOD(O&7|^wZri!d|WR#dZn{KF4EOWgJmHVB7bl zW#j?tvFC~FiKQ)u^Yp&nU#h9vMl0j+X#~Fs^b+lRd@ur>vG4Gf%CM|&xNPH4F8;}f zi@zt=!*fpDJxB?#$1$0%PmDaBBg4_{?eQ}K9{=9a+Xdjq2+mHD&U?(~I_r-29!w9! zXa^^@O`Km>SBAV0J!v6a8WXX5fUFr}WHMm3x5JhX)ViJAsrpJRcjdet!(Ie`iL|~! z_w_wK>Z`7~+cI5}6m)83+ghkcu;Iko2bCn-2lZeZyHhz`z2A1SzrnstcCQ8jOZuV1 GfByrUAH=2r literal 2450 zcmYLKJ#QRU6rJ~GZ9)kJvQ~<$l|U|5mMpIj0#PKkak9vc7n@j-2$9~*yxp02zL+ns z?Sj-6HN>Kd#2=tYLzz&xim3So(3o@xQNTHO#!8}0_TA5O&%O7(!|`sJ+c;kT&v6!3 z`o{AEJDr8m$d_M#z}obgXKi0xvF$lhe&E41Rv}`;tf|x#U^2+W zYEbozO*5c3+7BgsEkUL7k80)Vh`5H2|MksI4Y!`_Ya$L;)@8|25{lFgtAfX06#(G>m3-0oK?d*hT*yB+h=Jq4XUI{) zPfklWM+tILcm)%Fh$f0rWiD%a_#6I!w$GGU#G4&O~n(U zr(6wUSHBr_bB-oJ`h7dB1|V&e)d*OkD2^hOLrzRAbHWjzsk+(V7c1271UiUe%-uMq z>T}a^QEC*-t!Nq6&)Gs4TyQ`*uQD!8fm4Jbg2tu`ew1QL&=nag4>^RcE86P!vAaD# z$WJAxxW7uZ5tJ2s3AD|T;3iSr^g?Sg(R7?%q}l?`0z_9)l9mk;q*91_!4>vo!u459 zpt)@L&uoh`uo`4?w}Io|@CJ#Bv!Z11bCV)B1L5HL+LXeCGms7s8-OTl;Nc?it`M9< zxnvsg83afR7F4PoCMn&dAmDa~)Fm%4@~a&8+e%~LU^JM+gUu|}H$0DMuqrt?TI76& zIne3^`M3}qA1-p#=KnkDvDbiIL(Bl7IKSC+1`h=CT=d)|CXs=@AfoQVdsV+}NX|dg zS)7!WY}Z$bfMdDbVrZW-7n`ZKTSg7etgPKv@cn^YmLLPw(U?k3BF@8DrzK*M19drN zl&o4XHjE0L6zU}f&!3@vyrfA}3~w&a6riE|gmqsJexXirl6$jio3Hm9*9&q`kxF?^ zQ^QaCG&yQ7yYrPr@C7Jq3D(&Cv;c0LM(raK!CYFoZ8feTAGvr`m#2tV3n~vLb9CfM zJL_)Z+UyvJ*(n6tXT3+jOZ>g7cJq$)hgPjo-FytQvMa&y+PS5p+lzF-tC!@ti}qK_ z7Jo$8Hpc26zMnt+a zF}!x1TZX&Z-{oh5c>Mpi-pmnxjN}|08MTLeqtk`)?!ALUG1`Kr9TVrL>pOx?a{4kt zX9UdCJygvUw@iwd-F2|;BWl&H>Vf(~EO$iT?Oi{Fzhqikq5IMPl0c^OU?JG)<-79*y3F(1ouOIDpmA`~sR=HmRKnwc5!$1E6ftkai From defca6b4590fe66a089f66f3e43fdfecc638f9ae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 10 Apr 2019 12:47:19 +0200 Subject: [PATCH 0052/2080] Update signature --- config/neomutt/signature-egi | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/config/neomutt/signature-egi b/config/neomutt/signature-egi index d82bf554..2363262e 100644 --- a/config/neomutt/signature-egi +++ b/config/neomutt/signature-egi @@ -1,4 +1,6 @@ -Baptiste Grenier -EGI Foundation - Operations Officer -Phone: +31 627 860 852 -Skype: baptiste.grenier.egi +Baptiste Grenier | Operations Officer | baptiste.grenier@egi.eu +EGI Foundation (Amsterdam, The Netherlands) +Phone: +31 (0) 627 860 852 | Skype: baptiste.grenier.egi | @baptgrenier + +EGI: Advanced Computing for Research +The EGI Foundation is ISO 9001:2015 and ISO/IEC 20000-1:2011 certified From e86339ebb25aea69acc0a1086b4d3647c330bb00 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 10 Apr 2019 12:47:34 +0200 Subject: [PATCH 0053/2080] Motto colors --- .../mutt-colors-solarized-dark-256.muttrc | 41 ++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/config/neomutt/mutt-colors-solarized-dark-256.muttrc b/config/neomutt/mutt-colors-solarized-dark-256.muttrc index 1f5ec62f..d5a374ce 100644 --- a/config/neomutt/mutt-colors-solarized-dark-256.muttrc +++ b/config/neomutt/mutt-colors-solarized-dark-256.muttrc @@ -1,24 +1,27 @@ # vim: filetype=muttrc +# Colors: https://github.com/altercation/mutt-colors-solarized/blob/master/mutt-compile-colors.sh -# # # make sure that you are using mutt linked against slang, not ncurses, or # suffer the consequences of weird color issues. use "mutt -v" to check this. # custom body highlights ----------------------------------------------- # highlight my name and other personally relevant strings -#color body color136 color234 "(ethan|schoonover)" +color body color136 color234 "(baptiste|genier|gnubila|healthgrid|egi|boob|bgrenier|gwarf)" # custom index highlights ---------------------------------------------- # messages which mention my name in the body #color index color136 color234 "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" #color index J_cream color230 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" #color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" -#color index color136 J_magent "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" +#color index color136 color125 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" +color index color136 color234 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" +color index color136 color37 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" ## messages which are in reference to my mails -#color index J_magent color234 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" -#color index J_magent color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" -#color index J_magent color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" -#color index J_magent color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" +#color index color125 color234 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" +#color index color125 color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" +#color index color125 color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" +#color index color125 color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" +color index color125 color234 "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" # for background in 16 color terminal, valid background colors include: # base03, bg, black, any of the non brights @@ -83,7 +86,7 @@ color index color37 color235 "~v~(~p)" color index color136 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) #color index color136 color234 "~(~N)" # messages in threads with some unread #color index color64 color234 "~S" # superseded messages -#color index color160 color234 "~T" # tagged messages +color index color160 color234 "~T" # tagged messages #color index color166 color160 "~=" # duplicated messages # message headers ------------------------------------------------------ @@ -127,21 +130,21 @@ mono body bold "^gpg: BAD signature from.*" # yes, an insance URL regex color body color160 color234 "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" # and a heavy handed email regex -#color body J_magent color234 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" +color body color160 color234 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" # Various smilies and the like #color body color230 color234 "<[Gg]>" # #color body color230 color234 "<[Bb][Gg]>" # #color body color136 color234 " [;:]-*[})>{(<|]" # :-) etc... # *bold* -#color body color33 color234 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -#mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +color body color33 color234 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" # _underline_ -#color body color33 color234 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +color body color33 color234 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" # /italic/ (Sometimes gets directory names) -#color body color33 color234 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" +color body color33 color234 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" +mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" # Border lines. #color body color33 color234 "( *[-+=#*~_]){6,}" @@ -150,3 +153,11 @@ color body color160 color234 "([a-z][a-z0-9+-]*://(((([a- #folder-hook gmail/inbox "color status J_black color136 " #folder-hook gmail/important "color status J_black color136 " +# patch/diff +color body green default "^diff \-.*" +color body green default "^index [a-f0-9].*" +color body green default "^\-\-\- .*" +color body green default "^[\+]{3} .*" +color body cyan default "^[\+][^\+]+.*" +color body red default "^\-[^\-]+.*" +color body brightblue default "^@@ .*" From 7fec067411ff6bc5e78ca8c13ed8de903a423f59 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 19 Apr 2019 12:42:09 +0200 Subject: [PATCH 0054/2080] neomut: add a pinch of notmuch --- .../mutt-colors-solarized-dark-256.muttrc | 2 +- config/neomutt/notmuch | 234 +++++++++--------- config/neomutt/profile-maildir.egi | 10 +- config/neomutt/sync | 22 ++ 4 files changed, 148 insertions(+), 120 deletions(-) create mode 100755 config/neomutt/sync diff --git a/config/neomutt/mutt-colors-solarized-dark-256.muttrc b/config/neomutt/mutt-colors-solarized-dark-256.muttrc index d5a374ce..0e51f71a 100644 --- a/config/neomutt/mutt-colors-solarized-dark-256.muttrc +++ b/config/neomutt/mutt-colors-solarized-dark-256.muttrc @@ -93,7 +93,7 @@ color index color160 color234 "~T" # #color header color240 color234 "^" color hdrdefault color240 color234 -color header color241 color234 "^(From)" +color header color33 color234 "^(From)" color header color33 color234 "^(Subject)" # body ----------------------------------------------------------------- diff --git a/config/neomutt/notmuch b/config/neomutt/notmuch index 1db33fda..1e7b5fb8 100644 --- a/config/neomutt/notmuch +++ b/config/neomutt/notmuch @@ -29,27 +29,27 @@ # But not in Sent # - Ordering vfolder browser -set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S" +#set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S" # path to the maildir -set nm_default_uri = "notmuch:///home/baptiste/Mail/" +set nm_default_uri = "notmuch:///Users/baptiste/Mail/EGI" # enable virtual folders # When set, NeoMutt will use the first virtual mailbox (see virtual-mailboxes) # as a spoolfile. -set virtual_spoolfile = yes +set virtual_spoolfile = no # XXX virtual-mailboxes are loaded from profile-related conf # sets up queries for virtual folders -virtual-mailboxes \ - "Inbox" "notmuch://?query=tag:inbox" \ - "All" "notmuch://?query=tag:all" \ - "TODO" "notmuch://?query=tag:todo" \ - "Important" "notmuch://?query=tag:important" \ - "Drafts" "notmuch://?query=tag:draft" \ - "Trash" "notmuch://?query=tag:deleted" \ - "Spam" "notmuch://?query=tag:spam" \ - "Sent" "notmuch://?query=tag:sent" +#virtual-mailboxes \ +# "Inbox" "notmuch://?query=tag:inbox" \ +# "All" "notmuch://?query=tag:all" \ +# "TODO" "notmuch://?query=tag:todo" \ +# "Important" "notmuch://?query=tag:important" \ +# "Drafts" "notmuch://?query=tag:draft" \ +# "Trash" "notmuch://?query=tag:deleted" \ +# "Spam" "notmuch://?query=tag:spam" \ +# "Sent" "notmuch://?query=tag:sent" # This variable specifies notmuch query type, supported types: 'threads' and # 'messages'. @@ -58,12 +58,12 @@ set nm_query_type = messages # By default do not save sent emails # Gmail takes care of this -unset record +#unset record # Add messages stored to the NeoMutt record (see $record in the NeoMutt # docs) also to notmuch DB. # If you reply to an email then the new email inherits tags from the # original email. -set nm_record = no +#set nm_record = no # set nm_record_tag = '' # Tags that should be removed or added to the to the messages stored in the NeoMutt record. @@ -74,7 +74,7 @@ set nm_record = no # set nm_record_tags = "-inbox,archive,me,egi" # use new? -set nm_unread_tag = unread +#set nm_unread_tag = unread # This variable specifies private notmuch tags which should not be printed # on screen (index, pager). @@ -84,7 +84,7 @@ set nm_unread_tag = unread # The messages tagged with these tags are excluded and not loaded # from notmuch DB to NeoMutt unless specified explicitly. -set nm_exclude_tags = "" +#set nm_exclude_tags = "" # setup time window preferences # first setup the duration, and then the time unit of that duration @@ -99,34 +99,34 @@ set nm_query_window_timebase="week" # $n: number of unread messages # $m: number of messages # $N: N if mailbox has new mail -set vfolder_format = '%6n/%6m (%N) %f' +#set vfolder_format = '%6n/%6m (%N) %f' # Replace some tags with icons # tag-transforms tag transformed-string { tag transformed-string ...} # XXX This chars are taking more than one cell -tag-transforms "inbox" "" \ - "unread" "✘" \ - "replied" "↻" \ - "sent" "✎" \ - "important" "★" \ - "waiting" "" \ - "deleted" "" \ - "spam" "😈" \ - "attachment" "" \ - "invites" "" +# tag-transforms "inbox" "" \ +# "unread" "✘" \ +# "replied" "↻" \ +# "sent" "✎" \ +# "important" "★" \ +# "waiting" "" \ +# "deleted" "" \ +# "spam" "😈" \ +# "attachment" "" \ +# "invites" "" # The formats must start with 'G' and the entire sequence is case sensitive. # tag-formats tag format-string { tag format-string ...} -tag-formats "inbox" "Gi" \ - "unread" "GU" \ - "replied" "GR" \ - "sent" "GS" \ - "important" "Gt" \ - "waiting" "Gw" \ - "deleted" "GD" \ - "spam" "GT" \ - "attachment" "Ga" \ - "invites" "GI" +# tag-formats "inbox" "Gi" \ +# "unread" "GU" \ +# "replied" "GR" \ +# "sent" "GS" \ +# "important" "Gt" \ +# "waiting" "Gw" \ +# "deleted" "GD" \ +# "spam" "GT" \ +# "attachment" "Ga" \ +# "invites" "GI" # http://www.mutt.org/doc/manual/#index-format # Now instead of using '%g' in your $index_format, which lists all tags @@ -152,15 +152,15 @@ tag-formats "inbox" "Gi" \ # - %Gw: waiting # %s: message subject # Default: %4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s -set index_format='%4C %Z %[%y.%m.%d] %-18.18F %?Gi?%Gi& ? %?GD?%GD& ? %?GR?%GR& ? %?GI?%GI& ? %?GT?%GT& ? %?Gw?%Gw& ? %?Ga?%Ga& ? %s' +#set index_format='%4C %Z %[%y.%m.%d] %-18.18F %?Gi?%Gi& ? %?GD?%GD& ? %?GR?%GR& ? %?GI?%GI& ? %?GT?%GT& ? %?Gw?%Gw& ? %?Ga?%Ga& ? %s' ## Macros and bindings # open a different virtual folder -macro index,pager c "?" +#macro index,pager c "?" # macro index 'c' '?^K=' # modify (notmuch) tags -bind index,pager \` modify-labels +#bind index,pager \` modify-labels # generate virtual folder from query macro index \\\\ "" @@ -178,11 +178,11 @@ bind index,pager entire-thread # 'L' performs a notmuch query, showing only the results macro index L "unset wait_keyread -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"" "show only messages matching a notmuch pattern" # 'a' shows all messages again (supersedes default binding) -macro index a "all\n" "show all messages (undo limit)" +# macro index a "all\n" "show all messages (undo limit)" # macros to invoke a profile -macro index ":source ~/.config/neomutt/profile.egiInbox" "Load profile: egi" -macro index ":source ~/.config/neomutt/profile.persoInbox" "Load profile: perso" +#macro index ":source ~/.config/neomutt/profile.egiInbox" "Load profile: egi" +#macro index ":source ~/.config/neomutt/profile.persoInbox" "Load profile: perso" ## Prefix-based bindings @@ -191,77 +191,77 @@ macro index ":source ~/.config/neomutt/profile.perso # Launch [a]ction # Need to free the short keymap # https://www.neomutt.org/guide/configuration.html#bind-warnings -bind index,pager g noop -bind index,pager t noop -bind index,pager a noop +#bind index,pager g noop +#bind index,pager t noop +#bind index,pager a noop ## Tagging emails # tag as read and archive # macro index A "+all -unread -inbox" -macro index,pager A "+all -unread -inbox" -macro index,pager ta "+all -unread -inbox" -# tag as unread and unarchive -macro index,pager N "-all +unread +inbox" -macro index,pager tu "-all +unread +inbox" -# toglle important flag -macro index,pager F "!important !starred" -macro index,pager ti "!important !starred" -macro index,pager ts "!important !starred" -# Toggle the 'todo' tag -macro index,pager tt "!todo" -macro index,pager "!todo" -# Mark as spam -macro index,pager S "-inbox -unread +junk" -macro index,pager ts "-inbox -unread +junk" -# Mark as to waiting reply -macro index,pager tw "+waiting" -# Delete emails from the index, but NOT delete the file. -# To be managed elsewhere (afew to move it in the Trahs folder?) -# XXX how are they hidden? -# XXX how to flag mail as deleted/red in the UI? -# When in index it updates tags and moves to next email -# When in pager it updates tags but do not move to next email -macro index d "+deleted -inbox -unread -all" -macro pager d "+deleted -inbox -unread -all" -# TODO Need to manage delete-thread Ctrl-d and Undelete Thread Ctrl-u -# Revovering emails marked for deletion -macro index u "-deleted +inbox +all" -# removed from inbox -# bind index,pager D quasi-delete +# macro index,pager A "+all -unread -inbox" +# macro index,pager ta "+all -unread -inbox" +# # tag as unread and unarchive +# macro index,pager N "-all +unread +inbox" +# macro index,pager tu "-all +unread +inbox" +# # toglle important flag +# macro index,pager F "!important !starred" +# macro index,pager ti "!important !starred" +# macro index,pager ts "!important !starred" +# # Toggle the 'todo' tag +# macro index,pager tt "!todo" +# macro index,pager "!todo" +# # Mark as spam +# macro index,pager S "-inbox -unread +junk" +# macro index,pager ts "-inbox -unread +junk" +# # Mark as to waiting reply +# macro index,pager tw "+waiting" +# # Delete emails from the index, but NOT delete the file. +# # To be managed elsewhere (afew to move it in the Trahs folder?) +# # XXX how are they hidden? +# # XXX how to flag mail as deleted/red in the UI? +# # When in index it updates tags and moves to next email +# # When in pager it updates tags but do not move to next email +# macro index d "+deleted -inbox -unread -all" +# macro pager d "+deleted -inbox -unread -all" +# # TODO Need to manage delete-thread Ctrl-d and Undelete Thread Ctrl-u +# # Revovering emails marked for deletion +# macro index u "-deleted +inbox +all" +# # removed from inbox +# # bind index,pager D quasi-delete ## Actions on emails # Create a taskwarrior task using mutt2task -macro index,pager at \ - "mutt2task.py+todo" -macro index,pager ag \ - "add_contact" \ - "add sender to google contacts" +# macro index,pager at \ +# "mutt2task.py+todo" +# macro index,pager ag \ +# "add_contact" \ +# "add sender to google contacts" ## Opening virtual folders -macro index,pager gi \ - Inbox \ - "Go to inbox" -macro index,pager gu \ - Unread \ - "Go to unread" -macro index,pager ga \ - All \ - "Go to All" -macro index,pager gt \ - Sent \ - "Go to Sent" -macro index,pager gb \ - Trash \ - "Go to Trash Bin" -macro index,pager gd \ - Drafts \ - "Go to Drafts" -macro index,pager gs \ - Important \ - "Go to Important/Starred" +# macro index,pager gi \ +# Inbox \ +# "Go to inbox" +# macro index,pager gu \ +# Unread \ +# "Go to unread" +# macro index,pager ga \ +# All \ +# "Go to All" +# macro index,pager gt \ +# Sent \ +# "Go to Sent" +# macro index,pager gb \ +# Trash \ +# "Go to Trash Bin" +# macro index,pager gd \ +# Drafts \ +# "Go to Drafts" +# macro index,pager gs \ +# Important \ +# "Go to Important/Starred" # Colors tag indicators in index @@ -272,22 +272,22 @@ macro index,pager gs \ # this symbol does not use a pattern # important messages -color index_tag color160 color234 "t" -# deleted messages -color index_tag color235 color160 "D" -# Error in patern -# color index_tag color235 color160 "~GD" - color index_tag color235 color160 "GD" -color index_tag color235 color160 "~D" -# invites messages -color index_tag color160 color234 "important" -color index_tag color160 color234 "starred" -color index_tag color160 color234 "I" -# Inbox message -color index_tag color33 color234 "unbox" +# color index_tag color160 color234 "t" +# # deleted messages +# color index_tag color235 color160 "D" +# # Error in patern +# # color index_tag color235 color160 "~GD" +# color index_tag color235 color160 "GD" +# color index_tag color235 color160 "~D" +# # invites messages +# color index_tag color160 color234 "important" +# color index_tag color160 color234 "starred" +# color index_tag color160 color234 "I" +# # Inbox message +# color index_tag color33 color234 "unbox" # Used where/when? -color index_tags green default +# color index_tags green default # Colors messages based on tags # flagged messages @@ -295,6 +295,6 @@ color index_tags green default # Not able to find an appripriate pattern for this # color index color160 color234 "~G 'starred'" #color index color160 color234 "~Gt" -color index color160 color234 "Gt" +# color index color160 color234 "Gt" # vim: set ft=muttrc: diff --git a/config/neomutt/profile-maildir.egi b/config/neomutt/profile-maildir.egi index f7896a77..0809cd27 100644 --- a/config/neomutt/profile-maildir.egi +++ b/config/neomutt/profile-maildir.egi @@ -105,8 +105,14 @@ set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new) macro index \cf "mbsync -a" # Querying Google contacts -set query_command="lbdbq %s" -set alias_file = "~/.config/neomutt/aliases" +# set query_command="lbdbq %s" +# Query email addreses in the notmuch database +set query_command = "notmuch address from:%s" +set query_format="%4c %t %-70.70a %-70.70n %?e?(%e)?" + +source ~/.config/neomutt/notmuch + +# set alias_file = "~/.config/neomutt/aliases" # source "~/.config/neomutt/aliases" # Google-like key bindings diff --git a/config/neomutt/sync b/config/neomutt/sync new file mode 100755 index 00000000..690082bf --- /dev/null +++ b/config/neomutt/sync @@ -0,0 +1,22 @@ +#!/bin/sh + +# TODO check more complete conf +# https://github.com/kzar/davemail/blob/master/postsync.py +# https://copyninja.info/blog/email_setup.html + +PATH="/usr/local/bin:$PATH" + +MBSYNC=$(pgrep mbsync) +NOTMUCH=$(pgrep notmuch) + +if [ -n "$MBSYNC" -o -n "$NOTMUCH" ]; then + echo "Already running one instance of mail-sync. Exiting..." + exit 0 +fi + + +# Retreive emails +mbsync -aV + +# Index them +notmuch new From a771d841c8c0e9322ff809890506b1eda596ab2d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 19 Apr 2019 12:43:21 +0200 Subject: [PATCH 0055/2080] mvim: update spell --- config/nvim/spell/en.utf-8.add | 32 +++++++++++++++++++++++++++++ config/nvim/spell/en.utf-8.add.spl | Bin 2476 -> 2911 bytes 2 files changed, 32 insertions(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index dac0af84..f319cf4a 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -167,3 +167,35 @@ libvirt Zdeněk Ansible testinfra +eduTEAMS +B2SAFE +PaNOSC +DOIs +B2DROP +wrt +EISCAT +OpenCoasts +GEANT +umbrellaid +Shibboleth-based +e-infrastructures +CESNET +Jupyter +dCache +FTS +STFC +dynafed +frontend +B2HANDLE +B2FIND +WP6 +comanage +hexaa +perun +AARC +CLARIN +Helpdesk +oauth +oauth2 +PoC +helpdesk diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index d27ac7379c5f229209d11677f442bbfbab7e2d84..060298ad7f496a70b762e42bc2aabe7c73545cc3 100644 GIT binary patch literal 2911 zcmZ8jJ8u+M7@d1(Z6S)#qzKk_E9A=B#1f9sN)dRLhmpN@urV}Py7O4ijb~?unc4N) z4Thcur9%k<@dr@4$eodhD2PN8rAe0}UH(CG&Ns7Ch%N2h$9KYKDf^8Uj{@k+Jw^=J3#-%D$CW|>vq%sPX!6?LO8b_Gn84rPb06ekjhB(Ku z#V>Zdg{s8&P*%x;XA3okT?r2bP)1zqnR8(jC!=h9R4;U_o93mebXLfj5|-pW5+q_* zT<^s2Ca9fC8@k@dG^xpV_l2AlfYddxziR1JRyrwYghE~bPV!oZjt?iissR=q5j9aU z=9u*=H3R}iAF_E9L}_+}I~pCtGp~DN?%o{3KHw;hm9H%!G3ip9q6T;(3U^8uk#SCK zB~%K%gg9M}aW(^wTyCN+l<;ar0D_dlZb-mMbbcws^Uc0x7L2DbONF9=!WBG?0ac0O zk#_3SV=OcQJRQMIcz!f$Lc})=O@P!`!i-F6c@wCSK_MaCopSG|5b?BK3#39(+*BmiJ~NAy1!Yg55PoyK~l(pbD4CrvzjJw8K8P+Mw4%KF~Vv{69> zEb+Hz;o4R@WL4CDa_mrH7#@{6nSu<{yHp3-(V8d^4CXM>4%Og71(vXXm?Lq*j2A_Q z^C78mX&+u4Z^WORc7q&n^rju_W(5=K07S9hqskK@-P~hRfB-X5g4JV+vo3_+LyM9| z-W!#JTZ>-M6de6`>iWY}aIo~AmCM`eZw#_!ib!Jhm%4ZiQ{84`0G7CC(;T|Y&P1}3 zDMnLuVS#!C z&zQDxox{tFsN|>*Xi;%bFfJhqtsu;g1)NLjVycYIk&vS(STsl$I0Rvhi`syRkE1FJ`ClK}tF9XUrb;n`G->44%`8Gy%|pu>E~}j`}58 zQPR_?Np(O>$?<1F&EE^ODWMb(*NtZaYULO#S;*`{!oJJ2)=%YZCxm|}g%$NGg<6gm zj0#?)E>yk34$KJ9pwehEgr7=cGd&)1?$KaLys+mrmGX2S2^C0*G2PfotT0fkw#96~ z1sD+m#B%tPUIPXs%|_vPtWG)+>nmhbw`g^7eBMAO)yJzW8I_fk?AsB1Mfgtv8x!FD zECTvhzL0$U&j4dE_d%tEJuG|jF6$Vq@anS`p|Vu+o~^QzX@kcl_VEhmBzwAvPT5uo zqF2~jU0tDb#kSC+LY;Bp_Dk_3v3`|k=*%841Qnb)BN(OQS^a=w&FZO8$Cyddysnc+ z|2b*-;V6fIY+d9%28_h_1R?SA)@9l;t@8zBt5Q9d+jkbvwW%c*{BHP6sRe?H=mO zk@}Lu-W7mTaOsZECV)@Ho%@5;A>SBO+kFweg|++QIlxCV2fcmu65xE*w7xQqquzdg zZPn{vzj1SIeRJ#1-Q9cl!>E|(tz50ahl4xz>9f76mu;(m(gwnqj7F`xlB(Je8sWGYNw&d_r z7S7FD+((vV7Pd@CXx}i4+Z+7Zl6X7qYZ|W$57cLMfXzozJ@X!hD{C8r?OoV5Eo|XG zE$rQ_g)!JpTaxWZa_4M-uIUai@=Xevwq?1Z11j5B*bK-k4g2}gHv@S+XZ)nHB z+vWPgA`dKV@B?U;ldH`orj64Tz@z|bl--#KlnD7Q*7w;{=&An7=z~iAvT=?)1ZGDy bk@q)*&HuiB5QQDAOGj!~0Iu(O*Wus4hL91# literal 2476 zcmYLKyKWmt6y2F6Z3lr>qzD971{=Ac07FO&x-dXnN^Am>#e}h7Abw!>LGD`n%04Jc zX>1_K4+N@GDb7~}fg7a@QmFI?c@#fCOwueb%BpS_N6X`r^N#VdLd8mV@Cj6?eC4PLzde;;rL~R=tvi*{ zFL10JXXJIvJkDWvi1UnFgFuz?JI0smQq_VrlU<_Hu~ZH0DwX4FRLZ@fxg3O1k~YU& zT}w5%)H*N4zJe7wq=G`+n*04o8wQ?ZI{_FE=0YbHw@hQ_HW)VGK#mgqNnz>tJ-8++ z0yfNswVHuVjy2@kK$dmuf+PYt+w2JvO;Q z0Lwao7&-E@Vk~W@e;Y_yP->sXBT7LjH*t(3o5jDrYr+#9BgR^VnAJ*|nC29G#%B!{($9C|NKUqzx)tbBJ{i1H8FcDZ=)1Q2q|iZIl<#?4FdSPRa`QDki+}5 z5a~}1FtF_VgdC;(6tr9`kOC>IUt)HiK~B<0LyEN!LM_K>Dda;qFhtx5W@s~`3hn3) zVfz>!J3nQc`Al3|=T0IZM{8xbx8_DdpN!UmwJy1u|K zW~h6C4iXr1GLCrk(6m}q8VPeItit-WG{^Uaw3LSk zBGxP-x8#}A4VffV;QnKr`lB`XQ8!$VU){)-&qu=A8JU+xmJ#=qbrmt$;*o1rzS&e0%4K++Ek*0)0g@V z79deI;KL!}Js~^?a={G6ryn3JR8X0A7^HI3l7#L2s0-d+R2QLttToyVM*Sr`SjtL$ z$MuK?n-YVKMaAdn07oO6yCM67R; zQG40FX+AQ%q&u^Dl2*0M)+`lrOqUZ3{8x;{V(NXXsKJ_<*=dFU4Y?>G2C}0u57~!U z4-%bKz@i4~Vn&o@-8EqpmpU!gIX7OPp?ticDN~}MAZKR=);QcI7)7D4dP^BrQ&6fC ztmO86X?sC`yKudrfHIlQcGv(#%J$^Y-g~DTmmnXQ-A*ynF5o4pk$q5Nm`i1+p~ju$ zBNmtH;skh&kn~`(M1fw|)?Z8AFh4>9 z+s1TsKaO?4TbNq9SHnNJclBq$rYq>-T%7@y*SGtVanR?V+_}5G^Tn6<#=HBIuOA*f z3d@C_6l#nJ7)rInh`qb;uko8N2GeOD(O&7|^wZri!d|WR#dZn{KF4EOWgJmHVB7bl zW#j?tvFC~FiKQ)u^Yp&nU#h9vMl0j+X#~Fs^b+lRd@ur>vG4Gf%CM|&xNPH4F8;}f zi@zt=!*fpDJxB?#$1$0%PmDaBBg4_{?eQ}K9{=9a+Xdjq2+mHD&U?(~I_r-29!w9! zXa^^@O`Km>SBAV0J!v6a8WXX5fUFr}WHMm3x5JhX)ViJAsrpJRcjdet!(Ie`iL|~! z_w_wK>Z`7~+cI5}6m)83+ghkcu;Iko2bCn-2lZeZyHhz`z2A1SzrnstcCQ8jOZuV1 GfByrUAH=2r From 9ea28640583c874c78135c1d391ecd2a6ce0737b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 19 Apr 2019 12:45:01 +0200 Subject: [PATCH 0056/2080] gitconfig: prepare for gpgp --- gitconfig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gitconfig b/gitconfig index 870e2c75..9039dea2 100644 --- a/gitconfig +++ b/gitconfig @@ -117,5 +117,11 @@ [hub] protocol = ssh +[commit] + gpgsign = false + +[gpg] + program = gpg + [include] path = .gitconfig.user From 1ddb55740d4f8ffaebfd24aed213459bf11f842d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 19 Apr 2019 12:45:23 +0200 Subject: [PATCH 0057/2080] mbsync: use a wrapper script to launch notmuch after mbsync --- Library/LaunchAgents/name.bapt.mbsync.plist | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Library/LaunchAgents/name.bapt.mbsync.plist b/Library/LaunchAgents/name.bapt.mbsync.plist index 6f89ee20..11bf72b4 100755 --- a/Library/LaunchAgents/name.bapt.mbsync.plist +++ b/Library/LaunchAgents/name.bapt.mbsync.plist @@ -8,16 +8,15 @@ name.bapt.mbsync ProgramArguments - /usr/local/bin/mbsync - -a + /Users/baptiste/.config/neomutt/sync RunAtLoad StartInterval 180 StandardOutPath - /Users/baptiste/Mail/.mbsync-agent.log + /Users/baptiste/Mail/.mailsync.log StandardErrorPath - /Users/baptiste/Mail/.mbsync-agent.log + /Users/baptiste/Mail/.mailsync.log From 20cfc2bd07f3158c8c057fcc44f7dffc140765f2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 19 Apr 2019 18:21:53 +0200 Subject: [PATCH 0058/2080] Cosmetics --- config/neomutt/sync | 1 - 1 file changed, 1 deletion(-) diff --git a/config/neomutt/sync b/config/neomutt/sync index 690082bf..066358cb 100755 --- a/config/neomutt/sync +++ b/config/neomutt/sync @@ -14,7 +14,6 @@ if [ -n "$MBSYNC" -o -n "$NOTMUCH" ]; then exit 0 fi - # Retreive emails mbsync -aV From 32cb60f426008c27cb02ac9aef8ea60bb8f1325f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:34:41 +0200 Subject: [PATCH 0059/2080] nvim: update plug --- config/nvim/autoload/plug.vim | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/config/nvim/autoload/plug.vim b/config/nvim/autoload/plug.vim index 4e056308..afb1772c 100644 --- a/config/nvim/autoload/plug.vim +++ b/config/nvim/autoload/plug.vim @@ -434,8 +434,8 @@ endfunction function! s:dobufread(names) for name in a:names - let path = s:rtp(g:plugs[name]).'/**' - for dir in ['ftdetect', 'ftplugin'] + let path = s:rtp(g:plugs[name]) + for dir in ['ftdetect', 'ftplugin', 'after/ftdetect', 'after/ftplugin'] if len(finddir(dir, path)) if exists('#BufRead') doautocmd BufRead @@ -794,9 +794,7 @@ endfunction function! s:chsh(swap) let prev = [&shell, &shellcmdflag, &shellredir] - if s:is_win - set shell=cmd.exe shellcmdflag=/c shellredir=>%s\ 2>&1 - elseif a:swap + if !s:is_win && a:swap set shell=sh shellredir=>%s\ 2>&1 endif return prev @@ -811,7 +809,7 @@ function! s:bang(cmd, ...) if s:is_win let batchfile = tempname().'.bat' call writefile(["@echo off\r", cmd . "\r"], batchfile) - let cmd = batchfile + let cmd = s:shellesc(expand(batchfile)) endif let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%') execute "normal! :execute g:_plug_bang\\" @@ -1210,7 +1208,7 @@ function! s:spawn(name, cmd, opts) let cmd = has_key(a:opts, 'dir') ? s:with_cd(a:cmd, a:opts.dir) : a:cmd if !empty(job.batchfile) call writefile(["@echo off\r", cmd . "\r"], job.batchfile) - let cmd = job.batchfile + let cmd = s:shellesc(expand(job.batchfile)) endif let argv = add(s:is_win ? ['cmd', '/c'] : ['sh', '-c'], cmd) @@ -2037,9 +2035,9 @@ function! s:system(cmd, ...) if s:is_win let batchfile = tempname().'.bat' call writefile(["@echo off\r", cmd . "\r"], batchfile) - let cmd = batchfile + let cmd = s:shellesc(expand(batchfile)) endif - return system(s:is_win ? '('.cmd.')' : cmd) + return system(cmd) finally let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] if s:is_win @@ -2224,7 +2222,7 @@ function! s:upgrade() let new = tmp . '/plug.vim' try - let out = s:system(printf('git clone --depth 1 %s %s', s:plug_src, tmp)) + let out = s:system(printf('git clone --depth 1 %s %s', s:shellesc(s:plug_src), s:shellesc(tmp))) if v:shell_error return s:err('Error upgrading vim-plug: '. out) endif @@ -2371,7 +2369,7 @@ function! s:preview_commit() if s:is_win let batchfile = tempname().'.bat' call writefile(["@echo off\r", cmd . "\r"], batchfile) - let cmd = batchfile + let cmd = expand(batchfile) endif execute 'silent %!' cmd finally From 01cf6a6a095e9a6848267d005b209ef228ee13dc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:34:52 +0200 Subject: [PATCH 0060/2080] nvim: import coc empty conf file --- config/nvim/coc-settings.json | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 config/nvim/coc-settings.json diff --git a/config/nvim/coc-settings.json b/config/nvim/coc-settings.json new file mode 100644 index 00000000..2c63c085 --- /dev/null +++ b/config/nvim/coc-settings.json @@ -0,0 +1,2 @@ +{ +} From 6dcae7b5154e2e4959e6f4ee3f8f85519b47f4e5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:35:09 +0200 Subject: [PATCH 0061/2080] nvim: update spell --- config/nvim/spell/en.utf-8.add | 21 +++++++++++++++++++++ config/nvim/spell/en.utf-8.add.spl | Bin 2911 -> 3155 bytes 2 files changed, 21 insertions(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index f319cf4a..6d18fa0a 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -199,3 +199,24 @@ oauth oauth2 PoC helpdesk +SRR +AuthZ +AuthN +WLCG +UI +SRM +JSON +BDII +DPM +GitLab +GridFTP +XrootD +StoRM +Networking +Pomodone +Asana +DigitalTrust +Jira +IMS +KPI +Inbox diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index 060298ad7f496a70b762e42bc2aabe7c73545cc3..cbf148a3cb6e76df72e513c777fdecd6a8a2c5c8 100644 GIT binary patch literal 3155 zcmZ8j-)kII6rOu`yA*v=@Fj%J(-JEL+<=8rmy&EYO)$S~(pZENW@l!1#+|t{&dhGM z0ioDZNQ!T@KKPWE;-65&w~7xXe}Gg_=tGg>v!EdL`_A1hXcjVa?>#@hbIy0po&ELA zA`9Yp@s;D$_GjF#=Lfxh7=1Q~6O(3nQ4U9k<6B2hYHrtL#ZX7N(p9A#r{Sqc`6^JJ za#Vr$u8OhJT1T1I)k5jpIEG-St6XLH)^b&;Ld`wHe@C@N*Y8JZ)$fIc%2g`j8ElDo z#}`E(b}1cTh3B{jj{|rTnWhhE>^36kb1%YwteZJp5nWGq`9>SL8bYpsr`%fGPR{#5 z7$@oQ76nd{3Zhh{PIHkjAjPN>u|m5g_ZuNRiN!{#UApaK8QTDweE}%2I;P@6emSB; z3)BFDF9C>w2bs-MqYEd@lM7pPM60n1EzDMlKm^jS>3P=+BGl#m)krBvrY-~jZ6?M*{Qb6W<0rkBa!e$DDnZ&5( z3gC&LZj&wQjYQD*XzE_@#)6OMNuNmb;TXb3LU7^B`tC=m}kHEs9(nVih&Nf!ul;hj0B_uwd9?1gB&kq zd88vgNx)*7@5?!aJ;^Mpr9ow6WFB6GbYI#;^=bjb%d2i+q&CkDQdS^Gp~W*ca3{!G zOgR|>J1sIzl|${8aACQw4@$HJ!ioW}s~vq?51*i;m|`Y}nDw3SDf5;Wz?S$k5d?gs z6(V5?7^oRjVO?fA9s>)hU#J0WY8p9qu|{&V!)$P)1W4HZCIhihGgYGT87}&O4+=T+ zed*c+ubm9ItOrSVnZZ2Q`rYVUl;(xdaGUub03I}2%>GDXVR+cNNBF9e0v=f`rEKM_ zgL9H0$3#p>5hep#$5k2NR|x@A$Emz$D&3wDlh}I3#-~Bucfp}CijCc$ZU4D7c1ucz z7f8iq#xzOe7(Y(0Qc$Y75#A&tKl$2^A8#a5yH6x%U$NQKH>!G6g{No4(Y zq=P;T9l}8_2@uA#&~V@`V*1knQDneR(mk}?UnCKP+nkk>cO!=9QN60?XGh|ZTk3+* zuB3mP^g*PpfrP~bv(`B#Fn4WHoXbWBz*=KZnuMo^4e)6~SA_^Q1k=NzS22V5q&QN}eDJmW2jFQD&K54=TX0WL5bXpy)zmFB6ZQ{_4W; zO&6(B`?y78fG?%n|485}z|X*HNc+#GRjAZ>;dSwwS_}ca3nT^PA=#2!wBcfhkx!?K z`r1fCuqPY2ymI0;Qn_*Fd*ojU8^We$j1^8hi8cj5(6Bz>;HZ39ViJZ?u9I9n;l|xl z@h%*A8f)aAz1#yl==@Ei%qDg9G4nTVzFZw)&-o~VG|bG6&UFP)lw?REME^O9kg4T~@a|Ko}qxMq8VazUo}0x8`Bx16&aA^SyNmPFM}e z;UjjCNE+Ke1W@@s(mpRG7Nzns_>p@rzlAqEzf069Jd7kv@YiwFKkqCpw^ur=SJyYT zcdqST-~Z%>ALOITPBv8Q@Z})p75c6(BQW`9s&8@msa}k#E30d}>YCaXfgLDp$=ixr z!rO}4kW~jOXsoZozzUH4=S!%bS8z775%5cSJpSTcK0DWnUu4((n8Z0(@9CrICa_kfe~@Fh2dObp$4u& zR(EBy4NsHtc+(RsZO%a6;sHcH7NHFhnoOTMbCjaQw7Ch}`+S?7r}FG3zvQNDU!DXs zo&dP0!CC{WljPrg&DJZWc#y2W2=xsPGXk*RMk_$bAmQLn8+F`M6aEY~1?2y}*-)}Q Q>_hr=46`=)>kj|^1u*MFyZ`_I literal 2911 zcmZ8jJ8u+M7@d1(Z6S)#qzKk_E9A=B#1f9sN)dRLhmpN@urV}Py7O4ijb~?unc4N) z4Thcur9%k<@dr@4$eodhD2PN8rAe0}UH(CG&Ns7Ch%N2h$9KYKDf^8Uj{@k+Jw^=J3#-%D$CW|>vq%sPX!6?LO8b_Gn84rPb06ekjhB(Ku z#V>Zdg{s8&P*%x;XA3okT?r2bP)1zqnR8(jC!=h9R4;U_o93mebXLfj5|-pW5+q_* zT<^s2Ca9fC8@k@dG^xpV_l2AlfYddxziR1JRyrwYghE~bPV!oZjt?iissR=q5j9aU z=9u*=H3R}iAF_E9L}_+}I~pCtGp~DN?%o{3KHw;hm9H%!G3ip9q6T;(3U^8uk#SCK zB~%K%gg9M}aW(^wTyCN+l<;ar0D_dlZb-mMbbcws^Uc0x7L2DbONF9=!WBG?0ac0O zk#_3SV=OcQJRQMIcz!f$Lc})=O@P!`!i-F6c@wCSK_MaCopSG|5b?BK3#39(+*BmiJ~NAy1!Yg55PoyK~l(pbD4CrvzjJw8K8P+Mw4%KF~Vv{69> zEb+Hz;o4R@WL4CDa_mrH7#@{6nSu<{yHp3-(V8d^4CXM>4%Og71(vXXm?Lq*j2A_Q z^C78mX&+u4Z^WORc7q&n^rju_W(5=K07S9hqskK@-P~hRfB-X5g4JV+vo3_+LyM9| z-W!#JTZ>-M6de6`>iWY}aIo~AmCM`eZw#_!ib!Jhm%4ZiQ{84`0G7CC(;T|Y&P1}3 zDMnLuVS#!C z&zQDxox{tFsN|>*Xi;%bFfJhqtsu;g1)NLjVycYIk&vS(STsl$I0Rvhi`syRkE1FJ`ClK}tF9XUrb;n`G->44%`8Gy%|pu>E~}j`}58 zQPR_?Np(O>$?<1F&EE^ODWMb(*NtZaYULO#S;*`{!oJJ2)=%YZCxm|}g%$NGg<6gm zj0#?)E>yk34$KJ9pwehEgr7=cGd&)1?$KaLys+mrmGX2S2^C0*G2PfotT0fkw#96~ z1sD+m#B%tPUIPXs%|_vPtWG)+>nmhbw`g^7eBMAO)yJzW8I_fk?AsB1Mfgtv8x!FD zECTvhzL0$U&j4dE_d%tEJuG|jF6$Vq@anS`p|Vu+o~^QzX@kcl_VEhmBzwAvPT5uo zqF2~jU0tDb#kSC+LY;Bp_Dk_3v3`|k=*%841Qnb)BN(OQS^a=w&FZO8$Cyddysnc+ z|2b*-;V6fIY+d9%28_h_1R?SA)@9l;t@8zBt5Q9d+jkbvwW%c*{BHP6sRe?H=mO zk@}Lu-W7mTaOsZECV)@Ho%@5;A>SBO+kFweg|++QIlxCV2fcmu65xE*w7xQqquzdg zZPn{vzj1SIeRJ#1-Q9cl!>E|(tz50ahl4xz>9f76mu;(m(gwnqj7F`xlB(Je8sWGYNw&d_r z7S7FD+((vV7Pd@CXx}i4+Z+7Zl6X7qYZ|W$57cLMfXzozJ@X!hD{C8r?OoV5Eo|XG zE$rQ_g)!JpTaxWZa_4M-uIUai@=Xevwq?1Z11j5B*bK-k4g2}gHv@S+XZ)nHB z+vWPgA`dKV@B?U;ldH`orj64Tz@z|bl--#KlnD7Q*7w;{=&An7=z~iAvT=?)1ZGDy bk@q)*&HuiB5QQDAOGj!~0Iu(O*Wus4hL91# From a2bb3eef7006d0ac6c11365dcd7c35d7598af38f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:36:18 +0200 Subject: [PATCH 0062/2080] nvim: switch to coc for completion, add some more plugins --- config/nvim/init.vim | 204 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 165 insertions(+), 39 deletions(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 332bf9ba..4542fe1b 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -17,16 +17,18 @@ call plug#begin('~/.config/nvim/plugged') " Plug 'ervandew/supertab' " Completion if has('nvim') - Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } + "Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } Plug 'Shougo/denite.nvim' " Possible replacement for deoplete + " https://github.com/neoclide/coc.nvim " Plug 'neoclide/coc.nvim', {'tag': '*', 'do': { -> coc#util#install()}} + Plug 'neoclide/coc.nvim', {'branch': 'release'} else Plug 'Shougo/deoplete.nvim' Plug 'roxma/nvim-yarp' Plug 'roxma/vim-hug-neovim-rpc' endif -Plug 'SevereOverfl0w/deoplete-github' +"Plug 'SevereOverfl0w/deoplete-github' " Snippets Plug 'Shougo/neosnippet.vim' Plug 'Shougo/neosnippet-snippets' @@ -62,6 +64,8 @@ Plug 'dhruvasagar/vim-table-mode' " Plug 'xolox/vim-notes' Plug 'xolox/vim-misc' Plug 'xolox/vim-shell' +Plug 'cespare/vim-toml' +Plug 'robertbasic/vim-hugo-helper' " Plug 'jceb/vim-orgmode' " Tabular alignement Plug 'godlygeek/tabular' @@ -107,7 +111,11 @@ Plug 'vim-scripts/SyntaxRange' Plug 'vim-scripts/taglist.vim' Plug 'mattn/webapi-vim' Plug 'mattn/gist-vim' -Plug 'vim-scripts/AutoClose' +" Conflicts with some mappint for coc.nvim +"Plug 'vim-scripts/AutoClose' +" Seems OK +" Plug 'Raimondi/delimitMate' +Plug 'cohama/lexima.vim' Plug 'vim-scripts/spec.vim' Plug 'Konfekt/FastFold' Plug 'maxbrunsfeld/vim-yankstack' @@ -135,11 +143,12 @@ Plug 'scrooloose/nerdtree' Plug 'Xuyuanp/nerdtree-git-plugin' " Fancy start screen Plug 'mhinz/vim-startify' -" Display available commands -" https://github.com/hecal3/vim-leader-guide -Plug 'hecal3/vim-leader-guide' " Buffers list in the command bar Plug 'bling/vim-bufferline' +" Save sessions +Plug 'tpope/vim-obsession' +" Zoom windows using -m instead of -|, -_, and -= +Plug 'dhruvasagar/vim-zoom' " All of your Plugins must be added before the following line call plug#end() @@ -250,10 +259,16 @@ set writebackup set swapfile set directory=$HOME/.vimswap -" Test Leader key customization -" let mapleader="," +" Leader key customization let mapleader=" " +let g:maplocalleader = ' ' map +" Leader for mappings local to a buffer +" could be useful to have per-file-type keys like +" In a ~/.vim/after/ftplugin/{file extension}.vim +" nnoremap b :update|make +let g:maplocalleader = ',' + nnoremap x i set showcmd @@ -418,29 +433,29 @@ let g:snips_company='EGI Foundation' " Use deoplete " Debug run :checkhealth -let g:deoplete#enable_at_startup = 1 +" let g:deoplete#enable_at_startup = 1 " Enable snipMate compatibility feature. -let g:neosnippet#enable_snipmate_compatibility = 1 +" let g:neosnippet#enable_snipmate_compatibility = 1 " Tell Neosnippet about the other snippets -let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets/snippets' +" let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets/snippets' " enmable email completeion -call deoplete#custom#source('omni', 'functions', { - \ 'mail': 'mailcomplete#Complete', - \}) +"call deoplete#custom#source('omni', 'functions', { +" \ 'mail': 'mailcomplete#Complete', +" \}) -call deoplete#custom#var('omni', 'input_patterns', { - \ 'mail': '\w+', - \}) +"call deoplete#custom#var('omni', 'input_patterns', { +" \ 'mail': '\w+', +" \}) -let g:deoplete#sources = {} -let g:deoplete#sources.gitcommit=['github'] -let g:deoplete#keyword_patterns = {} -let g:deoplete#keyword_patterns.gitcommit = '.+' -let g:deoplete#omni#input_patterns = {} -let g:deoplete#omni#input_patterns.gitcommit = '.+' +" let g:deoplete#sources = {} +" let g:deoplete#sources.gitcommit=['github'] +" let g:deoplete#keyword_patterns = {} +" let g:deoplete#keyword_patterns.gitcommit = '.+' +" let g:deoplete#omni#input_patterns = {} +" let g:deoplete#omni#input_patterns.gitcommit = '.+' " , : close popup and delete backword char "inoremap deoplete#smart_close_popup()."\" @@ -449,27 +464,27 @@ let g:deoplete#omni#input_patterns.gitcommit = '.+' " : completion " inoremap pumvisible() ? "\" : "\" " Taken from https://github.com/Shougo/shougo-s-github/blob/84071518e4238cc8b816cdb97ebc00c2aedda69f/vim/rc/plugins/deoplete.rc.vim -inoremap - \ pumvisible() ? "\" : - \ check_back_space() ? "\" : - \ deoplete#manual_complete() -function! s:check_back_space() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~ '\s' -endfunction +"inoremap +" \ pumvisible() ? "\" : +" \ check_back_space() ? "\" : +" \ deoplete#manual_complete() +"function! s:check_back_space() abort +" let col = col('.') - 1 +" return !col || getline('.')[col - 1] =~ '\s' +"endfunction " : completion back -inoremap pumvisible() ? "\" : "\" +"inoremap pumvisible() ? "\" : "\" -inoremap deoplete#refresh() -inoremap deoplete#cancel_popup() -inoremap deoplete#complete_common_string() +"inoremap deoplete#refresh() +"inoremap deoplete#cancel_popup() +"inoremap deoplete#complete_common_string() " : close popup and save indent -inoremap =my_cr_function() -function! s:my_cr_function() abort - return pumvisible() ? deoplete#close_popup()."\" : "\" -endfunction +"inoremap =my_cr_function() +"function! s:my_cr_function() abort +" return pumvisible() ? deoplete#close_popup()."\" : "\" +"endfunction " ale let g:ale_completion_enabled = 1 @@ -481,6 +496,117 @@ let g:ale_fixers = { \ 'yaml': ['prettier'], \} +" coc.nvim +" https://github.com/neoclide/coc.nvim + +" Better display for messages +set cmdheight=2 + +" Use tab for trigger completion with characters ahead and navigate. +" Use command ':verbose imap ' to make sure tab is not mapped by other plugin. +inoremap + \ pumvisible() ? "\" : + \ check_back_space() ? "\" : + \ coc#refresh() +inoremap pumvisible() ? "\" : "\" + +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +" Use to trigger completion. +inoremap coc#refresh() + +" Use to confirm completion, `u` means break undo chain at current position. +" Coc only does snippet and additional edit on confirm. +inoremap pumvisible() ? "\" : "\u\" + +" Use `[c` and `]c` to navigate diagnostics +nmap [c (coc-diagnostic-prev) +nmap ]c (coc-diagnostic-next) + +" Remap keys for gotos +nmap gd (coc-definition) +nmap gy (coc-type-definition) +nmap gi (coc-implementation) +nmap gr (coc-references) + +" Use K to show documentation in preview window +nnoremap K :call show_documentation() + +function! s:show_documentation() + if (index(['vim','help'], &filetype) >= 0) + execute 'h '.expand('') + else + call CocAction('doHover') + endif +endfunction + +" Highlight symbol under cursor on CursorHold +autocmd CursorHold * silent call CocActionAsync('highlight') + +" Remap for rename current word +nmap rn (coc-rename) + +" Remap for format selected region +xmap f (coc-format-selected) +nmap f (coc-format-selected) + +augroup mygroup + autocmd! + " Setup formatexpr specified filetype(s). + autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') + " Update signature help on jump placeholder + autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') +augroup end + +" Remap for do codeAction of selected region, ex: `aap` for current paragraph +xmap a (coc-codeaction-selected) +nmap a (coc-codeaction-selected) + +" Remap for do codeAction of current line +nmap ac (coc-codeaction) +" Fix autofix problem of current line +nmap qf (coc-fix-current) + +" Use for select selections ranges, needs server support, like: coc-tsserver, coc-python +nmap (coc-range-select) +xmap (coc-range-select) +xmap (coc-range-select-backword) + +" Use `:Format` to format current buffer +command! -nargs=0 Format :call CocAction('format') + +" Use `:Fold` to fold current buffer +command! -nargs=? Fold :call CocAction('fold', ) + +" use `:OR` for organize import of current buffer +command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') + +" Add status line support, for integration with other plugin, checkout `:h coc-status` +set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} + +" Using CocList +" Show all diagnostics +nnoremap a :CocList diagnostics +" Manage extensions +nnoremap e :CocList extensions +" Show commands +nnoremap c :CocList commands +" Find symbol of current document +nnoremap o :CocList outline +" Search workspace symbols +nnoremap s :CocList -I symbols +" Do default action for next item. +nnoremap j :CocNext +" Do default action for previous item. +nnoremap k :CocPrev +" Resume latest coc list +nnoremap p :CocListResume + +" end of coc.nvim config + " Notes using vim-pad let g:pad#dir = "~/GoogleDrive/notes" "let g:pad#local_dir = "notes" From e5c9e51aca332f9a7740ebbca85fdeae63e62483 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:37:24 +0200 Subject: [PATCH 0063/2080] neomutt: update bindings --- config/neomutt/bindings | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/neomutt/bindings b/config/neomutt/bindings index 254f88fe..6053574e 100644 --- a/config/neomutt/bindings +++ b/config/neomutt/bindings @@ -36,13 +36,15 @@ bind index zb current-bottom bind index { top-page bind index } bottom-page bind index N toggle-new +bind index display-message bind index,pager \t next-unread bind index,pager ,\t previous-unread # Limit view to current thread # http://www.neomutt.org/feature/limit-current-thread/ -bind index L limit-current-thread +# XXX Disabled whiled testing mutt +# bind index L limit-current-thread # Fetching mail # macro index \cf "offlineimap -o" From 78d860a9421ee658e59b8c4f727869c596cfddc8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:37:55 +0200 Subject: [PATCH 0064/2080] neomutt: update mailcap for MacOS X --- config/neomutt/mailcap-osx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/config/neomutt/mailcap-osx b/config/neomutt/mailcap-osx index a1287495..fcd5008b 100644 --- a/config/neomutt/mailcap-osx +++ b/config/neomutt/mailcap-osx @@ -1,11 +1,16 @@ -document/pdf; ~/.config/neomutt/view_attachment %s - -application/octet-stream; ~/.config/neomutt/view_attachment %s - -mime_lookup application/octet-stream +application/pdf ; pdftotext -layout %s - ; copiousoutput ; print = ~/.config/neomutt/view_attachment %s - +document/pdf ; pdftotext -layout %s - ; copiousoutput ; print = ~/.config/neomutt/view_attachment %s - +# lookup mime tipe in mime.types +mime_lookup application/octet-stream application/octetstream +# XXX Disabled as looking up mime types +# application/octet-stream; ~/.config/neomutt/view_attachment %s - video/*; ~/.config/neomutt/view_attachment %s - image/*; ~/.config/neomutt/view_attachment %s - -application/*; ~/.config/neomutt/view_attachment %s - # View file in W3M, use print to view them in default browser text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = open %s text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; # text/html; ~/.config/neomutt/view_attachment %s html -text/csv ; cat %s ; copiousoutput +text/csv ; bat %s ; copiousoutput +application/json ; bat %s; print = open %s +# XXX not sure if used +application/*; ~/.config/neomutt/view_attachment %s - From 8be6ed763c7e14c1b8c6e97f9b971ca79ae8eed4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:38:15 +0200 Subject: [PATCH 0065/2080] neomutt: autoview PDF --- config/neomutt/mime-view | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/neomutt/mime-view b/config/neomutt/mime-view index b8bf3c7c..ce286d2a 100644 --- a/config/neomutt/mime-view +++ b/config/neomutt/mime-view @@ -7,6 +7,8 @@ auto_view image/x-portable-bitmap auto_view image/x-portable-graymap auto_view image/x-portable-anymap auto_view image/x-portable-pixmap +auto_view application/pdf +auto_view document/pdf auto_view application/pgp-signature auto_view application/pgp auto_view application/x-gunzip From dbd7e89b1fe195a1d8e1f8b7de788ecd0b8b13c1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:38:53 +0200 Subject: [PATCH 0066/2080] Cosmetics --- config/neomutt/mime.types | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/config/neomutt/mime.types b/config/neomutt/mime.types index 92392a4c..c48e87a4 100644 --- a/config/neomutt/mime.types +++ b/config/neomutt/mime.types @@ -1,9 +1,10 @@ # -# sample mime.types +# mime.types # application/andrew-inset ez application/excel xls +application/json json application/octet-stream bin application/oda oda application/pdf pdf @@ -109,4 +110,4 @@ video/x-msvideo avi video/x-sgi-movie movie x-world/x-vrml vrm vrml wrl -application/vnd.openxmlformats-officedocument.presentationml.presentation pptx +application/vnd.openxmlformats-officedocument.presentationml.presentation pptx From 6a443aede0ab39c2e995f4baac16a484e9b7b4da Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:39:24 +0200 Subject: [PATCH 0067/2080] neomutt: add some more shortcuts to manage sidebar --- config/neomutt/sidebar | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/config/neomutt/sidebar b/config/neomutt/sidebar index 0b127a01..f2c06e49 100644 --- a/config/neomutt/sidebar +++ b/config/neomutt/sidebar @@ -21,13 +21,11 @@ macro index ~ ,@( 'Toggle sidebar' # toggle the sidebar # sidebar bindings # got to previous folder in sidebar -bind index,pager \Ck sidebar-prev bind index,pager \CP sidebar-prev # got to next folder in sidebar -bind index,pager \Cj sidebar-next bind index,pager \CN sidebar-next # open selected folder from sidebar -bind index sidebar-open +# For this to work on mac: stty discard undef bind index,pager \CO sidebar-open # vim: set ft=muttrc: From 68768d90ce9469c455e6cda217d71ac7d732e318 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:40:07 +0200 Subject: [PATCH 0068/2080] neomutte egi profile: update address query conf --- config/neomutt/profile-maildir.egi | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/config/neomutt/profile-maildir.egi b/config/neomutt/profile-maildir.egi index 0809cd27..3a667d7c 100644 --- a/config/neomutt/profile-maildir.egi +++ b/config/neomutt/profile-maildir.egi @@ -11,8 +11,8 @@ mailboxes Inbox # Queue mail if offline # /usr/local/Cellar/msmtp/1.6.6/share/msmtp/scripts/msmtpq/README.msmtpq set sendmail = "msmtpq" -# Wait for retrun code -set sendmail_wait = -1 +# Don't wait for retrun code +# set sendmail_wait = -1 # Using neomutt's SMTP feature # set smtp_authenticators = 'gssapi:login' # set smtp_url = "smtp://baptiste.grenier@egi.eu@smtp.gmail.com:587/" @@ -79,7 +79,7 @@ my_hdr Reply-To: Baptiste Grenier # /usr/local/Cellar/neomutt/20180716/etc # and used with # /usr/local/Cellar/neomutt/20180716//libexec/neomutt/smime_keys -source /usr/local/Cellar/neomutt/20180716/share/doc/neomutt/samples/smime.rc +source /usr/local/Cellar/neomutt/20180716_1/share/doc/neomutt/samples/smime.rc set crypt_use_gpgme = no set smime_is_default @@ -107,9 +107,17 @@ macro index \cf "mbsync -a" # Querying Google contacts # set query_command="lbdbq %s" # Query email addreses in the notmuch database -set query_command = "notmuch address from:%s" -set query_format="%4c %t %-70.70a %-70.70n %?e?(%e)?" - +#set query_command = "notmuch address from:%s" +# All addresses matching the string, way to large +# set query_command = "notmuch address %s | grep -i %s" +# People that I've alrady written to, may contain non related people +# set query_command = "notmuch address --output sender from:baptiste.grenier@egi.eu to:*%s* | grep -i %s" +# People that wrote to me +# set query_command = "notmuch address --output sender from:*%s* to:baptiste.grenier@egi.eu" +set query_command = "echo && notmuch address --output sender to:baptiste.grenier@egi.eu from:'*%s*' or --output recipients to:'*%s*' from:baptiste.grenier@egi.eu" +set query_format = "%4c %t %-70.70a %-70.70n %?e?(%e)?" + +# XXX disabled while testing mutt source ~/.config/neomutt/notmuch # set alias_file = "~/.config/neomutt/aliases" From 08f53da873bea18bc16de0fd9d3ed3ff4fb5745b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:42:04 +0200 Subject: [PATCH 0069/2080] neomutt: add some doc --- config/neomutt/neomuttrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/neomutt/neomuttrc b/config/neomutt/neomuttrc index 5035a0f7..b0111884 100644 --- a/config/neomutt/neomuttrc +++ b/config/neomutt/neomuttrc @@ -145,6 +145,9 @@ source ~/.config/neomutt/headers # MIME-Viewer source ~/.config/neomutt/mime-view +# XXX Configure automatic querying of mime types +# set mime_type_query_command = "file --mime-type --brief" +# set mime_type_query_first = no # Disaplay filter #set display_filter=/home/baptiste/.mutt/mutt_display_filter From 61c3682a5b77e278829284b0d7e4fc0213dcbb4f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:42:33 +0200 Subject: [PATCH 0070/2080] tmux: avoud using brew, update default session conf --- tmux.conf | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/tmux.conf b/tmux.conf index a0642322..432b0cb3 100644 --- a/tmux.conf +++ b/tmux.conf @@ -74,7 +74,8 @@ bind-key . command-prompt "move-window -r -t '%%'" # Use zsh (login shell) # set -g default-command '/usr/bin/fish -l' -if-shell "uname | grep -q Darwin" "set -g default-command '$(brew --prefix zsh)/bin/zsh -l'" "set -g default-command '/bin/zsh -l'" +# Use ZSH from homebrew on MacOS X +if-shell "uname | grep -q Darwin" "set -g default-command '/usr/local/bin/zsh -l'" "set -g default-command '/bin/zsh -l'" # Disable automatic changes of titles set -g set-titles on @@ -96,19 +97,25 @@ set-option -g status-position "top" # Tmux resurect # prefix + Ctrl-s - save # prefix + Ctrl-r - restore + # Restore more programms +set -g @resurrect-processes 'neomutt' #set -g @resurrect-processes 'ssh mutt psql mysql sqlite3' #set -g @resurrect-processes '"sudo journalctl -fxn"' -#set -g @resurrect-processes '"mutt -f =gnubila/INBOX" "mutt -f =perso/INBOX"' + # Resurrect vim session (see https://github.com/tpope/vim-obsession) #set -g @resurrect-strategy-vim 'session' +set -g @resurrect-strategy-nvim 'session' + +# Resurrect pane content +set -g @resurrect-capture-pane-contents 'on' # Custome tmux session # new -s work -n work neomutt -#new -s work -n mail 'neomutt' -#new-window -n dashboard 'dashboard' -#new-window -n local -#select-window -t mail +# new -s work -n mail 'neomutt' +# new-window -n dashboard 'dashboard' +# new-window -n local +# select-window -t mail # Tmux continuum set -g @continuum-restore 'on' From 867a1bbbeeae1a8813a6e3121d5d28cb2d246c35 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:42:51 +0200 Subject: [PATCH 0071/2080] Import zplug conf for MacOS X --- zsh/zsh-zplug-mac | 288 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 288 insertions(+) create mode 100644 zsh/zsh-zplug-mac diff --git a/zsh/zsh-zplug-mac b/zsh/zsh-zplug-mac new file mode 100644 index 00000000..6581ad5b --- /dev/null +++ b/zsh/zsh-zplug-mac @@ -0,0 +1,288 @@ +# brew install zplug + +export ZPLUG_HOME=~/.zplug + +if [ ! -d "$ZPLUG_HOME" ]; then + git clone https://github.com/zplug/zplug $ZPLUG_HOME +fi + +source $ZPLUG_HOME/init.zsh + +# Use the package as a command +# And accept glob patterns (e.g., brace, wildcard, ...) +# zplug "Jxck/dotfiles", as:command, use:"bin/{histuniq,color}" + +# Can manage everything e.g., other person's zshrc +# zplug "tcnksm/docker-alias", use:zshrc + +# Disable updates using the "frozen" tag +# zplug "k4rthik/git-cal", as:command, frozen:1 + +# Supports oh-my-zsh plugins and the like +zplug "plugins/git", from:oh-my-zsh + +# Load if "if" tag returns true +zplug "lib/clipboard", from:oh-my-zsh, if:"[[ $OSTYPE == *darwin* ]]" + +# Supports checking out a specific branch/tag/commit +# zplug "mollifier/anyframe", at:4c23cb60 + +# Group dependencies +# Load "emoji-cli" if "jq" is installed in this example +zplug "stedolan/jq", \ + from:gh-r, \ + as:command, \ + rename-to:jq +zplug "b4b4r07/emoji-cli", \ + on:"stedolan/jq" +# Note: To specify the order in which packages should be loaded, use the defer +# tag described in the next section + +# Set the priority when loading +# e.g., zsh-syntax-highlighting must be loaded +# after executing compinit command and sourcing other plugins +# (If the defer tag is given 2 or above, run after compinit command) +zplug "zsh-users/zsh-syntax-highlighting", defer:2 +zplug "zdharma/fast-syntax-highlighting" + +# Can manage local plugins +# zplug "~/.zsh", from:local + +# Improved directory listing +# https://github.com/supercrabtree/k +zplug "supercrabtree/k" + +# Load theme file +# zplug 'dracula/zsh', as:theme +# zplug "bhilburn/powerlevel9k", use:powerlevel9k.zsh-theme + +# Async for zsh, used by pure +zplug "mafredri/zsh-async", from:github, defer:0 +# Pure theme +zplug "sindresorhus/pure", use:pure.zsh, from:github, as:theme + +zplug "zlsun/solarized-man" + +# Aliases and color some command output +zplug "modules/utility", from:prezto +zplug "modules/editor", from:prezto +zplug "modules/history", from:prezto +# Use TMUX plugin from zpresto +# https://github.com/sorin-ionescu/prezto/tree/master/modules/tmux +zplug "modules/tmux", from:prezto + +zplug "plugins/shrink-path", from:oh-my-zsh + +zplug "zsh-users/zsh-history-substring-search", defer:2 +zplug "zsh-users/zsh-completions" +# XXX Check how to use forward-word with autosuggestions +zplug "zsh-users/zsh-autosuggestions" + +# XXX Find replacement allowing to disable check for some aliases +zplug "MichaelAquilina/zsh-you-should-use" + +zplug "webyneter/docker-aliases", use:docker-aliases.plugin.zsh + +# Usage: = 2+2 +zplug "arzzen/calc.plugin.zsh" + +# Should be loaded after modules/utility to overwrite cd alias +# https://github.com/b4b4r07/enhancd +zplug "b4b4r07/enhancd", use:init.sh, defer:3 +export ENHANCD_FILTER='fzf' +# When entering a git repo do a git status, othewise do an ls +export ENHANCD_HOOK_AFTER_CD='([ -d .git ] || git rev-parse --git-dir > /dev/null 2>&1) && git st || ls -lhrt' +# export ENHANCD_COMMAND='c' +export ENHANCD_DISABLE_HOME=1 +export ENHANCD_DISABLE_HYPHEN=1 +export ENHANCD_DISABLE_DOT=1 +export ENHANCD_HYPHEN_ARG=_ +# Run k when entering a directory +export ENHANCD_HOOK_AFTER_CD=k + +zplug "marzocchi/zsh-notify" + +zplug "supercrabtree/k" + +zplug "chrissicool/zsh-256color" + +# Load after modute/editor to enable VI bindings +zplug "sharat87/zsh-vim-mode", defer:3 + +# Ctrl-R to search multi word with AND +zplug "zdharma/history-search-multi-word" + +# Fuzzy command line completion: Ctrl-T +zplug "junegunn/fzf", use:"shell/*.zsh", defer:2 +# Grab binaries from GitHub Releases +# and rename with the "rename-to:" tag +zplug "junegunn/fzf-bin", \ + from:gh-r, \ + as:command, \ + rename-to:fzf, \ + use:"*darwin*amd64*", \ + if:"[[ $OSTYPE == *darwin* ]]" + +zplug "so-fancy/diff-so-fancy", as:command + +# Replacement for autojump +zplug "rupa/z", use:"*.sh" + +# prezto +# Color output (auto set to 'no' on dumb terminals). +zstyle ':prezto:*:*' color 'yes' + +# prezto/utility +if zplug check modules/utility; then + # Use safe operations by default + zstyle ':prezto:module:utility' safe-ops 'yes' +fi + +# prezto/editor +if zplug check modules/editor; then + zstyle ':prezto:module:editor' key-bindings 'vi' + zstyle ':prezto:module:editor' dot-expansion 'yes' +fi + +if zplug check modules/tmux; then + zstyle ':prezto:module:tmux:auto-start' local 'yes' + zstyle ':prezto:module:tmux:auto-start' remote 'yes' + zstyle ':prezto:module:tmux:session' name 'work' + # zstyle ':prezto:module:tmux:iterm' integrate 'yes' +fi + +zplug 'zplug/zplug', hook-build:'zplug --self-manage' + +# Install plugins if there are plugins that have not been installed +if ! zplug check --verbose; then + printf "Install? [y/N]: " + if read -q; then + echo; zplug install + fi +fi + +# Then, source plugins and add commands to $PATH +# zplug load --verbose +zplug load + +# Plugins-specific configuration required after loading them + +if zplug check caiogondim/bullet-train.zsh; then + BULLETTRAIN_STATUS_EXIT_SHOW=true + # bullettrain promt: disable nvm and go, show path using custom segment + BULLETTRAIN_PROMPT_ORDER=(time status context custom perl ruby aws elixir virtualenv git hg cmd_exec_time) + # Display shunk path in custom prompt segement + BULLETTRAIN_CUSTOM_MSG='$(shrink_path -f "$PWD")' + BULLETTRAIN_CUSTOM_BG=blue + BULLETTRAIN_CUSTOM_FG=white +fi + +if zplug "MichaelAquilina/zsh-you-should-use"; then + export YSU_HARDCORE=0 +fi + +# ZSH options + +# ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#ff00ff,bg=cyan,bold,underline" +ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=128" + +# Make sure prompt is able to be generated properly. +setopt prompt_subst + +# Executing directories will open them +setopt auto_cd + +## Completion + +# Hilight directories +zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)(?)*==34=34}:${(s.:.)LS_COLORS}")'; + +# Rehash when completing commands +zstyle ":completion:*:commands" rehash 1 +# Completion menu's navigation with arrows +zstyle ':completion:*' menu select +zstyle ':completion:*:matches' group 'yes' +# let's use the tag name as group name +zstyle ':completion:*' group-name "" +zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b' +zstyle ':completion:*:descriptions' format "%{${fg_bold[magenta]}%}= %d =%{$reset_color%}" +# Case insensitive completion +# https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/completion.zsh +zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*' +# zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*' + +#unsetopt correct_all +#setopt menu_complete +#unsetopt flowcontrol +#setopt auto_pushd +#setopt pushd_ignore_dups +#setopt auto_menu +#setopt interactive_comments +#setopt complete_in_word +#setopt promptpercent + +# Always use substring search +bindkey '^[[A' history-substring-search-up +bindkey '^[[B' history-substring-search-down + +bindkey -M vicmd 'j' history-substring-search-down + +# In Vi mode use q to allow to use another command before current one +bindkey -M vicmd "q" push-line + +# Push a command onto a stack allowing you to run another command first +bindkey '^J' push-line + +# Allows editing the command line with an external editor +autoload edit-command-line +zle -N edit-command-line +# Press Esc=v to edit command line +bindkey -M vicmd "v" edit-command-line + +# Alt-S inserts sudo at the starts of the line +insert_sudo () { zle beginning-of-line; zle -U '_ ' } +zle -N insert-sudo insert_sudo +bindkey 's' insert-sudo + +# Preferred editor for local and remote sessions +if [[ -n $SSH_CONNECTION ]]; then + export EDITOR='vim' +else + export EDITOR='nvim' + alias vim='nvim' + alias vi='nvim' +fi + +# You may need to manually set your language environment +export LC_ALL=en_US.UTF-8 +export LANG=en_US.UTF-8 + +typeset -U path +path+=/usr/local/sbin + +export PATH="$HOME/bin:$PATH" + +## list only directories +alias lsd='ls -d */' + +# https://github.com/pyenv/pyenv/wiki/Common-build-problems +# Required for building python with pyenv on Mac OS X +export CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" +export LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" +# Speeding up build +export CFLAGS="-O2 $CFLAGS" +# PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 + +export MAKEOPS='j6' + +# added by travis gem +[ -f ~/.travis/travis.sh ] && source ~/.travis/travis.sh + +# Source secrets +[ -f ~/.secrets ] && source ~/.secrets + +# https://apple.stackexchange.com/questions/3253/ctrl-o-behavior-in-terminal-app +# To prevent ctrl-o being discared by the terminal driver +if [[ "$OSTYPE" == "darwin"* ]]; then + stty discard undef +fi From 3aedc1cf2b623350c5494612bfbb76492aa10091 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:44:14 +0200 Subject: [PATCH 0072/2080] zsh: move everything to a subdir --- install.conf.yaml | 10 +++++----- zlogin => zsh/zlogin | 0 zlogout => zsh/zlogout | 0 zprofile => zsh/zprofile | 0 zshenv => zsh/zshenv | 0 zshrc => zsh/zshrc | 0 6 files changed, 5 insertions(+), 5 deletions(-) rename zlogin => zsh/zlogin (100%) rename zlogout => zsh/zlogout (100%) rename zprofile => zsh/zprofile (100%) rename zshenv => zsh/zshenv (100%) rename zshrc => zsh/zshrc (100%) diff --git a/install.conf.yaml b/install.conf.yaml index 1a97aed5..c6664523 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -44,11 +44,11 @@ ~/.mbsyncrc: mbsyncrc ~/.taskrc: taskrc ~/.yaourtrc: yaourtrc - ~/.zlogin: zlogin - ~/.zlogout: zlogout - ~/.zprofile: zprofile - ~/.zshenv: zshenv - ~/.zshrc: zshrc + ~/.zlogin: zsh/zlogin + ~/.zlogout: zsh/zlogout + ~/.zprofile: zsh/zprofile + ~/.zshenv: zsh/zshenv + ~/.zshrc: zsh/zshrc ~/Mail/.notmuch/hooks: notmuch/hooks ~/bin/add_contact: bin/add_contact ~/bin/add_event: bin/add_event diff --git a/zlogin b/zsh/zlogin similarity index 100% rename from zlogin rename to zsh/zlogin diff --git a/zlogout b/zsh/zlogout similarity index 100% rename from zlogout rename to zsh/zlogout diff --git a/zprofile b/zsh/zprofile similarity index 100% rename from zprofile rename to zsh/zprofile diff --git a/zshenv b/zsh/zshenv similarity index 100% rename from zshenv rename to zsh/zshenv diff --git a/zshrc b/zsh/zshrc similarity index 100% rename from zshrc rename to zsh/zshrc From 7e38e3402a8877dffbf239f104e0dffc74bd1583 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Mon, 5 Aug 2019 17:50:35 +0200 Subject: [PATCH 0073/2080] zsh: use bullet-train theme --- zsh/zsh-zplug-mac | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/zsh/zsh-zplug-mac b/zsh/zsh-zplug-mac index 6581ad5b..7a2e72bc 100644 --- a/zsh/zsh-zplug-mac +++ b/zsh/zsh-zplug-mac @@ -52,14 +52,16 @@ zplug "zdharma/fast-syntax-highlighting" # https://github.com/supercrabtree/k zplug "supercrabtree/k" -# Load theme file -# zplug 'dracula/zsh', as:theme -# zplug "bhilburn/powerlevel9k", use:powerlevel9k.zsh-theme - # Async for zsh, used by pure zplug "mafredri/zsh-async", from:github, defer:0 -# Pure theme -zplug "sindresorhus/pure", use:pure.zsh, from:github, as:theme + +# Load theme file +# Powerlevel9k: https://github.com/Powerlevel9k/powerlevel9k +# zplug "bhilburn/powerlevel9k", use:powerlevel9k.zsh-theme +# Bullet train: https://github.com/caiogondim/bullet-train.zsh +zplug "caiogondim/bullet-train.zsh", use:bullet-train.zsh-theme, defer:3 +# Pure theme: https://github.com/sindresorhus/pure +# zplug "sindresorhus/pure", use:pure.zsh, from:github, as:theme zplug "zlsun/solarized-man" @@ -187,6 +189,7 @@ fi ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=128" # Make sure prompt is able to be generated properly. +# Required for themes like bullet-train setopt prompt_subst # Executing directories will open them From 6a6a3dde069b0e7f8ec1c10af90352efec947f23 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 6 Aug 2019 18:07:37 +0200 Subject: [PATCH 0074/2080] Try to fix query command --- config/neomutt/profile-maildir.egi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/neomutt/profile-maildir.egi b/config/neomutt/profile-maildir.egi index 3a667d7c..65e81fd3 100644 --- a/config/neomutt/profile-maildir.egi +++ b/config/neomutt/profile-maildir.egi @@ -114,7 +114,8 @@ macro index \cf "mbsync -a" # set query_command = "notmuch address --output sender from:baptiste.grenier@egi.eu to:*%s* | grep -i %s" # People that wrote to me # set query_command = "notmuch address --output sender from:*%s* to:baptiste.grenier@egi.eu" -set query_command = "echo && notmuch address --output sender to:baptiste.grenier@egi.eu from:'*%s*' or --output recipients to:'*%s*' from:baptiste.grenier@egi.eu" +# set query_command = "echo && notmuch address --output sender to:baptiste.grenier@egi.eu from:'*%s*' or --output recipients to:'*%s*' from:baptiste.grenier@egi.eu" +set query_command = "echo && notmuch address --output sender from:'*%s*' or --output recipients to:'*%s*'" set query_format = "%4c %t %-70.70a %-70.70n %?e?(%e)?" # XXX disabled while testing mutt From 4ad9c839a513e8b03bd4a697b5e3eb3f76df41c5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 6 Aug 2019 18:11:32 +0200 Subject: [PATCH 0075/2080] zsh/zplug/mac: enable github oh-my-zsh module --- zsh/zsh-zplug-mac | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zsh/zsh-zplug-mac b/zsh/zsh-zplug-mac index 7a2e72bc..93031845 100644 --- a/zsh/zsh-zplug-mac +++ b/zsh/zsh-zplug-mac @@ -73,6 +73,9 @@ zplug "modules/history", from:prezto # https://github.com/sorin-ionescu/prezto/tree/master/modules/tmux zplug "modules/tmux", from:prezto +# Add hub wrapper +zplug "plugins/github", from:oh-my-zsh + zplug "plugins/shrink-path", from:oh-my-zsh zplug "zsh-users/zsh-history-substring-search", defer:2 From 7caec65e4747ee152ad4cc12cf90f4b25eb711da Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 23 Aug 2019 11:34:49 +0200 Subject: [PATCH 0076/2080] Neomutt: add new colorschemes --- config/neomutt/base16-gruvbox.dark.256.muttrc | 98 +++++++++++++++++++ config/neomutt/colors | 5 + .../colors-gruvbox-shuber-extended.muttrc | 6 ++ config/neomutt/colors-gruvbox-shuber.muttrc | 83 ++++++++++++++++ config/neomutt/dracula.muttrc | 42 ++++++++ 5 files changed, 234 insertions(+) create mode 100644 config/neomutt/base16-gruvbox.dark.256.muttrc create mode 100644 config/neomutt/colors-gruvbox-shuber-extended.muttrc create mode 100644 config/neomutt/colors-gruvbox-shuber.muttrc create mode 100644 config/neomutt/dracula.muttrc diff --git a/config/neomutt/base16-gruvbox.dark.256.muttrc b/config/neomutt/base16-gruvbox.dark.256.muttrc new file mode 100644 index 00000000..9136a972 --- /dev/null +++ b/config/neomutt/base16-gruvbox.dark.256.muttrc @@ -0,0 +1,98 @@ +# Mutt template by Robert Timm (https://github.com/rti) +# Base16 scheme and Base16 Builder by Chris Kempson (https://github.com/chriskempson) +# +# ----------------------------------------------------------------------------- +# MESSAGE MATCH PATTERNS +# ----------------------------------------------------------------------------- +# ~A all messages +# ~b EXPR messages which contain EXPR in the message body +# ~B EXPR messages which contain EXPR in the whole message +# ~c USER messages carbon-copied to USER +# ~C EXPR message is either to: or cc: EXPR +# ~D deleted messages +# ~d [MIN]-[MAX] messages with ``date-sent'' in a Date range +# ~E expired messages +# ~e EXPR message which contains EXPR in the ``Sender'' field +# ~F flagged messages +# ~f USER messages originating from USER +# ~g PGP signed messages +# ~G PGP encrypted messages +# ~h EXPR messages which contain EXPR in the message header +# ~k message contains PGP key material +# ~i ID message which match ID in the ``Message-ID'' field +# ~L EXPR message is either originated or received by EXPR +# ~l message is addressed to a known mailing list +# ~m [MIN]-[MAX] message in the range MIN to MAX *) +# ~n [MIN]-[MAX] messages with a score in the range MIN to MAX *) +# ~N new messages +# ~O old messages +# ~p message is addressed to you (consults $alternates) +# ~P message is from you (consults $alternates) +# ~Q messages which have been replied to +# ~R read messages +# ~r [MIN]-[MAX] messages with ``date-received'' in a Date range +# ~S superseded messages +# ~s SUBJECT messages having SUBJECT in the ``Subject'' field. +# ~T tagged messages +# ~t USER messages addressed to USER +# ~U unread messages +# ~v message is part of a collapsed thread. +# ~x EXPR messages which contain EXPR in the `References' field +# ~y EXPR messages which contain EXPR in the `X-Label' field +# ~z [MIN]-[MAX] messages with a size in the range MIN to MAX *) +# ~= duplicated messages (see $duplicate_threads) + +# basic colors --------------------------------------------------------- +# name foreground background pattern +color normal color20 color0 +color error color1 color0 +color tilde color20 color0 +color message color20 color0 +color markers color1 color0 +color attachment color8 color0 +color search color2 color0 +color status color8 color18 +color indicator color7 color19 +color tree color19 color0 # arrow in threads + +color index color20 color0 "~A" # all messages +color index color1 color0 "~F" # flagged messages +color index color20 color0 "~v~(!~N)" # collapsed thread with no unread +color index color4 color0 "~U" # unread messages +color index color4 color0 "~v~(~N)" # collapsed thread with some unread +color index color1 color0 "~v~(~F)" # collapsed thread with some flagged +color index color0 color1 "~D" # deleted messages + +# header +color hdrdefault color20 color18 +color header color20 color18 "^" +color header color7 color18 "^(From)" +color header color7 color18 "^(Subject)" + +# body +color normal color7 color0 +color underline color7 color0 +color bold color7 color0 +color signature color20 color0 + +color quoted color3 color0 +color quoted1 color2 color0 +color quoted2 color5 color0 +color quoted3 color6 color0 +color quoted4 color4 color0 + +# pgp +color body color2 color0 "(Good signature)" +color body color2 color0 "^gpg: Good signature .*" +color body color20 color0 "^gpg: " +color body color1 color0 "(BAD signature)" +color body color1 color1 "^gpg: BAD signature from.*" + +# body url +color body color4 color0 "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" +# body email +color body color4 color0 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" + + +# vim: filetype=muttrc + diff --git a/config/neomutt/colors b/config/neomutt/colors index 6cde8a8a..bcdb4670 100644 --- a/config/neomutt/colors +++ b/config/neomutt/colors @@ -1,5 +1,10 @@ # Colors +# source ~/.config/neomutt/mutt-colors-solarized-dark-256.muttrc source ~/.config/neomutt/mutt-colors-solarized-dark-256.muttrc +# source ~/.config/neomutt/base16-gruvbox.dark.256.muttrc +# source ~/.config/neomutt/dracula.muttrc +# source ~/.config/neomutt/colors-gruvbox-shuber.muttrc +# source ~/.config/neomutt/colors-gruvbox-shuber-extended.muttrc # vim: set ft=muttrc: diff --git a/config/neomutt/colors-gruvbox-shuber-extended.muttrc b/config/neomutt/colors-gruvbox-shuber-extended.muttrc new file mode 100644 index 00000000..f0ac2bef --- /dev/null +++ b/config/neomutt/colors-gruvbox-shuber-extended.muttrc @@ -0,0 +1,6 @@ +color compose header color223 color234 +color compose security_encrypt color175 color234 +color compose security_sign color109 color234 +color compose security_both color142 color234 +color compose security_none color208 color234 + diff --git a/config/neomutt/colors-gruvbox-shuber.muttrc b/config/neomutt/colors-gruvbox-shuber.muttrc new file mode 100644 index 00000000..5874a568 --- /dev/null +++ b/config/neomutt/colors-gruvbox-shuber.muttrc @@ -0,0 +1,83 @@ +# gruvbox dark (contrast dark): + +# bg0 = 234 +# bg1 = 237 +# bg2 = 239 +# bg3 = 241 +# bg4 = 243 +# +# gray = 245 +# +# fg0 = 229 +# fg1 = 223 +# fg2 = 250 +# fg3 = 248 +# fg4 = 246 +# +# red = 167 +# green = 142 +# yellow = 214 +# blue = 109 +# purple = 175 +# aqua = 108 +# orange = 208 + + +# See http://www.mutt.org/doc/manual/#color + +color attachment color109 color234 +color bold color229 color234 +color error color167 color234 +color hdrdefault color246 color234 +color indicator color223 color237 +color markers color243 color234 +color normal color223 color234 +color quoted color250 color234 +color quoted1 color108 color234 +color quoted2 color250 color234 +color quoted3 color108 color234 +color quoted4 color250 color234 +color quoted5 color108 color234 +color search color234 color208 +color signature color108 color234 +color status color234 color250 +color tilde color243 color234 +color tree color142 color234 +color underline color223 color239 + +color sidebar_divider color250 color234 +color sidebar_new color142 color234 + +color index color142 color234 ~N +color index color108 color234 ~O +color index color109 color234 ~P +color index color214 color234 ~F +color index color175 color234 ~Q +color index color167 color234 ~= +color index color234 color223 ~T +color index color234 color167 ~D + +color header color214 color234 "^(To:|From:)" +color header color142 color234 "^Subject:" +color header color108 color234 "^X-Spam-Status:" +color header color108 color234 "^Received:" + +# Invalid repetition count +color body color142 color234 "[a-z]+://[-a-zA-Z0-9@:%._\\+~#=/?&,]+" +# color body color142 color234 "[a-z]{3,256}://[-a-zA-Z0-9@:%._\\+~#=/?&,]+" +#color body color142 color234 "[a-zA-Z]([-a-zA-Z0-9_]+\\.){2,256}[-a-zA-Z0-9_]{2,256}" +color body color208 color234 "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+" +color body color208 color234 "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+" +color body color234 color214 "[;:]-*[)>( + +# general ------------ foreground ---- background ----------------------------- +color error color231 color212 +color indicator color231 color241 +color markers color210 default +color message default default +color normal default default +color prompt default default +color search color84 default +color status color141 color236 +color tilde color231 default +color tree color141 default + +# message index ------ foreground ---- background ----------------------------- +color index color210 default ~D # deleted messages +color index color84 default ~F # flagged messages +color index color117 default ~N # new messages +color index color212 default ~Q # messages which have been replied to +color index color215 default ~T # tagged messages +color index color141 default ~v # messages part of a collapsed thread + +# message headers ---- foreground ---- background ----------------------------- +color hdrdefault color117 default +color header color231 default ^Subject:.* + +# message body ------- foreground ---- background ----------------------------- +color attachment color228 default +color body color231 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses +color body color228 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs +color body color231 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text +color body color231 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text +color body color231 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text +color quoted color61 default +color quoted1 color117 default +color quoted2 color84 default +color quoted3 color215 default +color quoted4 color212 default +color signature color212 default From 4256d295a4cd1ebb73c363ebbefedd300d1716b4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 23 Aug 2019 11:37:02 +0200 Subject: [PATCH 0077/2080] nvim: spell --- config/nvim/spell/en.utf-8.add | 16 ++++++++++++++++ config/nvim/spell/en.utf-8.add.spl | Bin 3155 -> 3309 bytes 2 files changed, 16 insertions(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index 6d18fa0a..90464843 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -220,3 +220,19 @@ Jira IMS KPI Inbox +INFN-TORINO +GDPR +Bitwarden +ssl +GLPI +JCAD +NIST +Keybase +Catania +INFN-CATANIA-STACK +egi +v2 +v3 +vo +Enol's +openstack diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index cbf148a3cb6e76df72e513c777fdecd6a8a2c5c8..ea6a7b6e5a62fcd8419850aba4af0c79c0570bc9 100644 GIT binary patch delta 1378 zcmXw3&x;&I6s}j@+q-LY4<7OZgdk*CL1tkyNDRwJB22Ox5>eDk5bf#inW;?m4{Ca5 zCwrL?va$qnkODzGg`h!l+ALnggAmWT=sETu;Eo`&w^hGaoiI#w*Q;0WeeZkU>)%cu zoLc$xy{n@l(faIvLIgj5wes|ejJGJE9{w4{SV@SEp^(grT|1*Ob|cEMhJ5}(x*W#I zK&ScmCY7*d&Z_J&`kwx_kEwsUQY8%$&B!JRx;~%?*HbF6V&AfF%QN;1dG1=3l9EFD z2p@5f!%*fE(zME(_K4TJoI8@zZ}L@yau^$$`Un=gfMR{hXaCsW<(XGMi59}dV7psx zOT|z7lJ|PET7|0vdb{MXjown6^p(zX16XV@ewbv2Uk~jy@68LlV;Po!rQ9{SQ%aX# zqu?$u-(t_Zg&aSjE_^g^*O?#r=qL7U*nRJv*hJ zu2zMswsH)w_7OpJQeFz#?bTJbr$Ew_5mR2%uJG0bJ-l=LHHL6C&moIOewtJ57Os0h zwyAQ<^)j~xbowk%H07S6b!Tx z!G4f=-Cjl$B!_8kT;0fdFNA)kXg;iey0cCggi)gMF#?V#wsZfrS!?2ofd4#}u|{Jx z0&LY;THF;n%4M9xsGpZdM-K1#7)s#AdP;fdDB^565{55mX!jv9XiUiCP5_4^7o57c&kX%cv^QjZ>2778);M*P_3z`2Ly*@_LjLMs^%9m5fAi*yK#RFKxoKbNHz0d5O z#d9Zr$Xx4KV-4f+3N?y#ZJ#c#eZJFU$8SoE(m)xR8hQc)9o=_|V6D?LEl~r15^8yR zA94XaEPPk)u?kuGc)w?88&7eC^@_MNdwuErtXf^-glBnaK@WJon_?7vxI3;p^>;_r zb^e%1OlRauV!F1GjdiR6iHVR8rXGJuc%p(t=LO=;%@$7U0Ty3#ZvSxvOhaG{xQgJG zU0H5id^kY}4kEI8u(*5vB_(72+%Qr8X7VfBHotX!^!=3XBlW};BzN}9W=_fbLk%yUz=?|PLwW8Er_+@$cFvhJ9@I} z%Ai6o<&tHql8m2b&@v~5yeqpeXbxX9E}39~^3Ug-v&(+=ehHTY)3i zS6L6ji0S0IKxx11Fhbv1G?D;8%;bD20nZ+YGd-@WO6Mio99BcBFrBV_Sv!2oD`3?k zpktS6SgBYkK{`f0_fxf~tqPDRLA%EI&5(q5M0;~>4HFd?t{X=e=t+RN^)LZM-`X2P zKi_H01KtVzCz4Ty0cS{Fa3N}#Es`A>6$ocrhI#iKq3MVcXP~!R$v6Sf0`d(eKJZnX zNl0OOAo@l7L8x@eds9&=1qe(`QfPPjqcm!#{fpQ8%tO1zqL-lC9CD%M0uO<{xp{sq znRzpo5Gf`S{`?_@<*~|O8q4noT838gmH|JufV1qyZR7i&B^W_SDH3zUD+p9>P3fAo+r}@O9=>peV|a?IGel57+T9U= zD9yGLoD9>c7CHJk2SSXW#tc(L#5(ikd3wGbu222=K)XTmqBM5|a2#wjBrgAM4?9aIIWs?!3CZ3x<|(7nc;W0n@OX_31nP z5g%?Md@jcV*G3IC5N|Vs2H8*3r zt-W~24Qp3I5V;Lv%-rASj)Q&j!-2DF^JwE<^e%>b~qm*015pOg8n`4`g0EzqK RoK^ud@07^a)8XwOx$ From 31c8aef4aaff8bb3ce90bceae316c6781b5437c7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 23 Aug 2019 11:37:34 +0200 Subject: [PATCH 0078/2080] nvim: use notfd theme with true colors --- config/nvim/init.vim | 49 +++++++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 4542fe1b..96368433 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -41,6 +41,10 @@ else endif " one colorscheme " Plug 'rakr/vim-one' +" Nord colorscheme +Plug 'arcticicestudio/nord-vim' +Plug 'dracula/vim', { 'as': 'dracula' } +Plug 'morhetz/gruvbox' Plug 'Shougo/neosnippet' Plug 'Shougo/neosnippet-snippets' " Snippets @@ -158,20 +162,41 @@ if !has('nvim') runtime plugin/sensible.vim endif -" Theme -set background=dark +" Use true colors +if (has('termguicolors')) + " let &t_8f = "\[38;2;%lu;%lu;%lum" + " let &t_8b = "\[48;2;%lu;%lu;%lum" + set t_8f=[38;2;%lu;%lu;%lum + set t_8b=[48;2;%lu;%lu;%lum + set termguicolors +endif if has('nvim') - " Use true colors - " https://www.cyfyifanchen.com/neovim-true-color/ - " let $NVIM_TUI_ENABLE_TRUE_COLOR=1 - "set termguicolors - let g:solarized_use16 = 1 - colorscheme solarized8_flat - " colorscheme one -else - colorscheme solarized + "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > + let $NVIM_TUI_ENABLE_TRUE_COLOR=1 endif +" Theme +set background=dark + +colorscheme nord +" colorscheme one +" Works nicely with Nord palette +" colorscheme gruvbox +" if has('nvim') + " let g:solarized_use16 = 1 + " colorscheme solarized8 +" else + " colorscheme solarized +" endif + +" Use a specific colorscheme for vimdiff +" if &diff +" colorscheme evening +" endif + +" Highlight current line +set cursorline + if !has('nvim') " For devicons on vim set encoding=UTF-8 @@ -339,7 +364,7 @@ autocmd VimEnter * map :NERDTreeToggle " vim-airline -let g:airline_theme='ravenpower' +" let g:airline_theme='ravenpower' let g:airline_powerline_fonts = 1 let g:airline_line_fonts = 1 " Automatically displays all buffers when there's only one tab open From f749fb726becef66782e4e6bc1e2cd8ff4ba569e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 23 Aug 2019 11:38:03 +0200 Subject: [PATCH 0079/2080] iterm2: import colorschemes --- iterm/Bliss.itermcolors | 344 +++++++++++++++++++++++++++++++ iterm/Dracula.itermcolors | 225 +++++++++++++++++++++ iterm/Nord.itermcolors | 357 +++++++++++++++++++++++++++++++++ iterm/gruvbox-dark.itermcolors | 344 +++++++++++++++++++++++++++++++ iterm/gruvbox.itermcolors | 344 +++++++++++++++++++++++++++++++ 5 files changed, 1614 insertions(+) create mode 100644 iterm/Bliss.itermcolors create mode 100644 iterm/Dracula.itermcolors create mode 100644 iterm/Nord.itermcolors create mode 100644 iterm/gruvbox-dark.itermcolors create mode 100644 iterm/gruvbox.itermcolors diff --git a/iterm/Bliss.itermcolors b/iterm/Bliss.itermcolors new file mode 100644 index 00000000..2246b0d1 --- /dev/null +++ b/iterm/Bliss.itermcolors @@ -0,0 +1,344 @@ + + + + + Ansi 0 Color + + Alpha Component + 1 + Blue Component + 0.0 + Color Space + sRGB + Green Component + 0.0 + Red Component + 0.0 + + Ansi 1 Color + + Alpha Component + 1 + Blue Component + 0.55305403470993042 + Color Space + sRGB + Green Component + 0.43609619140625 + Red Component + 1 + + Ansi 10 Color + + Alpha Component + 1 + Blue Component + 0.58612060546875 + Color Space + sRGB + Green Component + 1 + Red Component + 0.60534435510635376 + + Ansi 11 Color + + Alpha Component + 1 + Blue Component + 0.66274511814117432 + Color Space + sRGB + Green Component + 0.99215686321258545 + Red Component + 1 + + Ansi 12 Color + + Alpha Component + 1 + Blue Component + 1 + Color Space + sRGB + Green Component + 0.6520538330078125 + Red Component + 0.68321901559829712 + + Ansi 13 Color + + Alpha Component + 1 + Blue Component + 0.89273875951766968 + Color Space + sRGB + Green Component + 0.636077880859375 + Red Component + 1 + + Ansi 14 Color + + Alpha Component + 1 + Blue Component + 0.970703125 + Color Space + sRGB + Green Component + 0.87444651126861572 + Red Component + 0.65084326267242432 + + Ansi 15 Color + + Alpha Component + 1 + Blue Component + 1 + Color Space + sRGB + Green Component + 1 + Red Component + 0.99999600648880005 + + Ansi 2 Color + + Alpha Component + 1 + Blue Component + 0.5555419921875 + Color Space + sRGB + Green Component + 1 + Red Component + 0.57650697231292725 + + Ansi 3 Color + + Alpha Component + 1 + Blue Component + 0.609832763671875 + Color Space + sRGB + Green Component + 0.99092632532119751 + Red Component + 1 + + Ansi 4 Color + + Alpha Component + 1 + Blue Component + 1 + Color Space + sRGB + Green Component + 0.5980377197265625 + Red Component + 0.63416916131973267 + + Ansi 5 Color + + Alpha Component + 1 + Blue Component + 0.87514764070510864 + Color Space + sRGB + Green Component + 0.5853118896484375 + Red Component + 1 + + Ansi 6 Color + + Alpha Component + 1 + Blue Component + 1 + Color Space + sRGB + Green Component + 0.87450981140136719 + Red Component + 0.58431375026702881 + + Ansi 7 Color + + Alpha Component + 1 + Blue Component + 0.78104829788208008 + Color Space + sRGB + Green Component + 0.78105825185775757 + Red Component + 0.7810397744178772 + + Ansi 8 Color + + Alpha Component + 1 + Blue Component + 0.4078223705291748 + Color Space + sRGB + Green Component + 0.40782788395881653 + Red Component + 0.40781760215759277 + + Ansi 9 Color + + Alpha Component + 1 + Blue Component + 0.58305108547210693 + Color Space + sRGB + Green Component + 0.47332763671875 + Red Component + 1 + + Background Color + + Alpha Component + 1 + Blue Component + 0.12156862765550613 + Color Space + sRGB + Green Component + 0.094117648899555206 + Red Component + 0.086274512112140656 + + Badge Color + + Alpha Component + 0.5 + Blue Component + 0.0 + Color Space + sRGB + Green Component + 0.1491314172744751 + Red Component + 1 + + Bold Color + + Alpha Component + 1 + Blue Component + 0.92177379131317139 + Color Space + sRGB + Green Component + 0.92178541421890259 + Red Component + 0.9217638373374939 + + Cursor Color + + Alpha Component + 1 + Blue Component + 0.78104829788208008 + Color Space + sRGB + Green Component + 0.78105825185775757 + Red Component + 0.7810397744178772 + + Cursor Guide Color + + Alpha Component + 0.25 + Blue Component + 1 + Color Space + sRGB + Green Component + 0.9268307089805603 + Red Component + 0.70213186740875244 + + Cursor Text Color + + Alpha Component + 1 + Blue Component + 0.1725006103515625 + Color Space + sRGB + Green Component + 0.1725006103515625 + Red Component + 0.17249992489814758 + + Foreground Color + + Alpha Component + 1 + Blue Component + 0.92011111974716187 + Color Space + sRGB + Green Component + 0.92012274265289307 + Red Component + 0.92010122537612915 + + Link Color + + Alpha Component + 1 + Blue Component + 0.73423302173614502 + Color Space + sRGB + Green Component + 0.35916060209274292 + Red Component + 0.0 + + Selected Text Color + + Alpha Component + 1 + Blue Component + 1 + Color Space + sRGB + Green Component + 1 + Red Component + 0.99999600648880005 + + Selection Color + + Alpha Component + 1 + Blue Component + 0.42833542823791504 + Color Space + sRGB + Green Component + 0.35205566883087158 + Red Component + 0.3362850546836853 + + + diff --git a/iterm/Dracula.itermcolors b/iterm/Dracula.itermcolors new file mode 100644 index 00000000..619da489 --- /dev/null +++ b/iterm/Dracula.itermcolors @@ -0,0 +1,225 @@ + + + + + + + + Ansi 0 Color + + Blue Component + 0.0 + Green Component + 0.0 + Red Component + 0.0 + + Ansi 1 Color + + Blue Component + 0.3333333432674408 + Green Component + 0.3333333432674408 + Red Component + 1 + + Ansi 10 Color + + Blue Component + 0.4823529411764706 + Green Component + 0.98039215686274506 + Red Component + 0.31372549019607843 + + Ansi 11 Color + + Blue Component + 0.5490196078431373 + Green Component + 0.98039215686274506 + Red Component + 0.94509803921568625 + + Ansi 12 Color + + Blue Component + 0.97647058823529409 + Green Component + 0.57647058823529407 + Red Component + 0.74117647058823533 + + Ansi 13 Color + + Blue Component + 0.77647058823529413 + Green Component + 0.47450980392156861 + Red Component + 1 + + Ansi 14 Color + + Blue Component + 0.99215686274509807 + Green Component + 0.9137254901960784 + Red Component + 0.54509803921568623 + + Ansi 15 Color + + Blue Component + 1 + Green Component + 1 + Red Component + 1 + + Ansi 2 Color + + Blue Component + 0.4823529411764706 + Green Component + 0.98039215686274506 + Red Component + 0.31372549019607843 + + Ansi 3 Color + + Blue Component + 0.5490196078431373 + Green Component + 0.98039215686274506 + Red Component + 0.94509803921568625 + + Ansi 4 Color + + Blue Component + 0.97647058823529409 + Green Component + 0.57647058823529407 + Red Component + 0.74117647058823533 + + Ansi 5 Color + + Blue Component + 0.77647058823529413 + Green Component + 0.47450980392156861 + Red Component + 1 + + Ansi 6 Color + + Blue Component + 0.99215686274509807 + Green Component + 0.9137254901960784 + Red Component + 0.54509803921568623 + + Ansi 7 Color + + Blue Component + 0.73333334922790527 + Green Component + 0.73333334922790527 + Red Component + 0.73333334922790527 + + Ansi 8 Color + + Blue Component + 0.33333333333333331 + Green Component + 0.33333333333333331 + Red Component + 0.33333333333333331 + + Ansi 9 Color + + Blue Component + 0.33333333333333331 + Green Component + 0.33333333333333331 + Red Component + 1 + + Background Color + + Blue Component + 0.15977837145328522 + Green Component + 0.12215272337198257 + Red Component + 0.11765811592340469 + + Bold Color + + Blue Component + 0.90237069129943848 + Green Component + 0.90237069129943848 + Red Component + 0.90237069129943848 + + Cursor Color + + Blue Component + 0.73333334922790527 + Green Component + 0.73333334922790527 + Red Component + 0.73333334922790527 + + Cursor Text Color + + Blue Component + 1 + Green Component + 1 + Red Component + 1 + + Foreground Color + + Blue Component + 0.90032327175140381 + Green Component + 0.90032327175140381 + Red Component + 0.90032327175140381 + + Selected Text Color + + Blue Component + 1 + Green Component + 1 + Red Component + 1 + + Selection Color + + Blue Component + 0.35294118523597717 + Green Component + 0.27843138575553894 + Red Component + 0.26666668057441711 + + + diff --git a/iterm/Nord.itermcolors b/iterm/Nord.itermcolors new file mode 100644 index 00000000..ff85cb23 --- /dev/null +++ b/iterm/Nord.itermcolors @@ -0,0 +1,357 @@ + + + + + Ansi 0 Color + + Alpha Component + 1 + Blue Component + 0.25300124287605286 + Color Space + Calibrated + Green Component + 0.19692185521125793 + Red Component + 0.17621420323848724 + + Ansi 1 Color + + Alpha Component + 1 + Blue Component + 0.34168937802314758 + Color Space + Calibrated + Green Component + 0.29435792565345764 + Red Component + 0.68855589628219604 + + Ansi 10 Color + + Alpha Component + 1 + Blue Component + 0.47597441077232361 + Color Space + Calibrated + Green Component + 0.7002110481262207 + Red Component + 0.57605421543121338 + + Ansi 11 Color + + Alpha Component + 1 + Blue Component + 0.47280269861221313 + Color Space + Calibrated + Green Component + 0.75577855110168457 + Red Component + 0.89902019500732422 + + Ansi 12 Color + + Alpha Component + 1 + Blue Component + 0.70459425449371338 + Color Space + Calibrated + Green Component + 0.56080448627471924 + Red Component + 0.43401443958282471 + + Ansi 13 Color + + Alpha Component + 1 + Blue Component + 0.61571133136749268 + Color Space + Calibrated + Green Component + 0.47487166523933411 + Red Component + 0.64283657073974609 + + Ansi 14 Color + + Alpha Component + 1 + Blue Component + 0.67779052257537842 + Color Space + Calibrated + Green Component + 0.68614721298217773 + Red Component + 0.49344515800476074 + + Ansi 15 Color + + Alpha Component + 1 + Blue Component + 0.94574689865112305 + Color Space + Calibrated + Green Component + 0.92092084884643555 + Red Component + 0.90727746486663818 + + Ansi 2 Color + + Alpha Component + 1 + Blue Component + 0.47597441077232361 + Color Space + Calibrated + Green Component + 0.7002110481262207 + Red Component + 0.57605421543121338 + + Ansi 3 Color + + Alpha Component + 1 + Blue Component + 0.47280269861221313 + Color Space + Calibrated + Green Component + 0.75577855110168457 + Red Component + 0.89902019500732422 + + Ansi 4 Color + + Alpha Component + 1 + Blue Component + 0.70459425449371338 + Color Space + Calibrated + Green Component + 0.56080448627471924 + Red Component + 0.43401443958282471 + + Ansi 5 Color + + Alpha Component + 1 + Blue Component + 0.61571133136749268 + Color Space + Calibrated + Green Component + 0.47487166523933411 + Red Component + 0.64283657073974609 + + Ansi 6 Color + + Alpha Component + 1 + Blue Component + 0.77356863021850586 + Color Space + Calibrated + Green Component + 0.70216643810272217 + Red Component + 0.4660642147064209 + + Ansi 7 Color + + Alpha Component + 1 + Blue Component + 0.92620980739593506 + Color Space + Calibrated + Green Component + 0.8916594386100769 + Red Component + 0.87367779016494751 + + Ansi 8 Color + + Alpha Component + 1 + Blue Component + 0.34064260125160217 + Color Space + Calibrated + Green Component + 0.2652154266834259 + Red Component + 0.23306176066398621 + + Ansi 9 Color + + Alpha Component + 1 + Blue Component + 0.34168937802314758 + Color Space + Calibrated + Green Component + 0.29435792565345764 + Red Component + 0.68855589628219604 + + Background Color + + Alpha Component + 1 + Blue Component + 0.19183900952339172 + Color Space + Calibrated + Green Component + 0.15255947411060333 + Red Component + 0.1357133686542511 + + Badge Color + + Alpha Component + 0.7057952880859375 + Blue Component + 0.29600727558135986 + Color Space + Calibrated + Green Component + 0.23046499490737915 + Red Component + 0.20252507925033569 + + Bold Color + + Alpha Component + 1 + Blue Component + 0.94574689865112305 + Color Space + Calibrated + Green Component + 0.92092084884643555 + Red Component + 0.90727746486663818 + + Cursor Color + + Alpha Component + 1 + Blue Component + 0.89225924015045166 + Color Space + Calibrated + Green Component + 0.83857882022857666 + Red Component + 0.81214714050292969 + + Cursor Guide Color + + Alpha Component + 1 + Blue Component + 0.25300124287605286 + Color Space + Calibrated + Green Component + 0.19692185521125793 + Red Component + 0.17621420323848724 + + Cursor Text Color + + Alpha Component + 1 + Blue Component + 0.25300124287605286 + Color Space + Calibrated + Green Component + 0.19692185521125793 + Red Component + 0.17621420323848724 + + Foreground Color + + Alpha Component + 1 + Blue Component + 0.89225912094116211 + Color Space + Calibrated + Green Component + 0.83857882022857666 + Red Component + 0.81214725971221924 + + Link Color + + Alpha Component + 1 + Blue Component + 0.92620980739593506 + Color Space + Calibrated + Green Component + 0.8916594386100769 + Red Component + 0.87367779016494751 + + Selected Text Color + + Alpha Component + 1 + Blue Component + 0.89225924015045166 + Color Space + Calibrated + Green Component + 0.83857882022857666 + Red Component + 0.81214714050292969 + + Selection Color + + Alpha Component + 1 + Blue Component + 0.34064260125160217 + Color Space + Calibrated + Green Component + 0.2652154266834259 + Red Component + 0.23306176066398621 + + Tab Color + + Alpha Component + 1 + Blue Component + 0.25300124287605286 + Color Space + Calibrated + Green Component + 0.19692185521125793 + Red Component + 0.17621420323848724 + + + diff --git a/iterm/gruvbox-dark.itermcolors b/iterm/gruvbox-dark.itermcolors new file mode 100644 index 00000000..4f24ee46 --- /dev/null +++ b/iterm/gruvbox-dark.itermcolors @@ -0,0 +1,344 @@ + + + + + Ansi 0 Color + + Alpha Component + 1 + Blue Component + 0.11759774386882782 + Color Space + Calibrated + Green Component + 0.11759573966264725 + Red Component + 0.11759927868843079 + + Ansi 1 Color + + Alpha Component + 1 + Blue Component + 0.090684391558170319 + Color Space + Calibrated + Green Component + 0.05879192054271698 + Red Component + 0.74529051780700684 + + Ansi 10 Color + + Alpha Component + 1 + Blue Component + 0.11661489307880402 + Color Space + Calibrated + Green Component + 0.69061970710754395 + Red Component + 0.66574931144714355 + + Ansi 11 Color + + Alpha Component + 1 + Blue Component + 0.1444794088602066 + Color Space + Calibrated + Green Component + 0.6926688551902771 + Red Component + 0.96949708461761475 + + Ansi 12 Color + + Alpha Component + 1 + Blue Component + 0.52537077665328979 + Color Space + Calibrated + Green Component + 0.58534377813339233 + Red Component + 0.44289660453796387 + + Ansi 13 Color + + Alpha Component + 1 + Blue Component + 0.53848373889923096 + Color Space + Calibrated + Green Component + 0.43883562088012695 + Red Component + 0.78096956014633179 + + Ansi 14 Color + + Alpha Component + 1 + Blue Component + 0.41142863035202026 + Color Space + Calibrated + Green Component + 0.71257460117340088 + Red Component + 0.49072420597076416 + + Ansi 15 Color + + Alpha Component + 1 + Blue Component + 0.63873869180679321 + Color Space + Calibrated + Green Component + 0.82989895343780518 + Red Component + 0.90061241388320923 + + Ansi 2 Color + + Alpha Component + 1 + Blue Component + 0.082894742488861084 + Color Space + Calibrated + Green Component + 0.53061914443969727 + Red Component + 0.52591603994369507 + + Ansi 3 Color + + Alpha Component + 1 + Blue Component + 0.10328958928585052 + Color Space + Calibrated + Green Component + 0.53254079818725586 + Red Component + 0.80126690864562988 + + Ansi 4 Color + + Alpha Component + 1 + Blue Component + 0.4586675763130188 + Color Space + Calibrated + Green Component + 0.45008346438407898 + Red Component + 0.21694663166999817 + + Ansi 5 Color + + Alpha Component + 1 + Blue Component + 0.45103743672370911 + Color Space + Calibrated + Green Component + 0.29604318737983704 + Red Component + 0.62685638666152954 + + Ansi 6 Color + + Alpha Component + 1 + Blue Component + 0.34128850698471069 + Color Space + Calibrated + Green Component + 0.55607825517654419 + Red Component + 0.34054014086723328 + + Ansi 7 Color + + Alpha Component + 1 + Blue Component + 0.44320183992385864 + Color Space + Calibrated + Green Component + 0.5310559868812561 + Red Component + 0.5926094651222229 + + Ansi 8 Color + + Alpha Component + 1 + Blue Component + 0.37962067127227783 + Color Space + Calibrated + Green Component + 0.43934443593025208 + Red Component + 0.49889594316482544 + + Ansi 9 Color + + Alpha Component + 1 + Blue Component + 0.15763583779335022 + Color Space + Calibrated + Green Component + 0.18880486488342285 + Red Component + 0.96744710206985474 + + Background Color + + Alpha Component + 1 + Blue Component + 0.11759774386882782 + Color Space + Calibrated + Green Component + 0.11759573966264725 + Red Component + 0.11759927868843079 + + Badge Color + + Alpha Component + 0.5 + Blue Component + 0.056549370288848877 + Color Space + Calibrated + Green Component + 0.28100395202636719 + Red Component + 0.7928692102432251 + + Bold Color + + Alpha Component + 1 + Blue Component + 1 + Color Space + Calibrated + Green Component + 1 + Red Component + 1 + + Cursor Color + + Alpha Component + 1 + Blue Component + 0.63873869180679321 + Color Space + Calibrated + Green Component + 0.82989895343780518 + Red Component + 0.90061241388320923 + + Cursor Guide Color + + Alpha Component + 1 + Blue Component + 0.15993706881999969 + Color Space + Calibrated + Green Component + 0.16613791882991791 + Red Component + 0.17867125570774078 + + Cursor Text Color + + Alpha Component + 1 + Blue Component + 0.11759774386882782 + Color Space + Calibrated + Green Component + 0.11759573966264725 + Red Component + 0.11759927868843079 + + Foreground Color + + Alpha Component + 1 + Blue Component + 0.63873869180679321 + Color Space + Calibrated + Green Component + 0.82989895343780518 + Red Component + 0.90061241388320923 + + Link Color + + Alpha Component + 1 + Blue Component + 0.056549370288848877 + Color Space + Calibrated + Green Component + 0.28100395202636719 + Red Component + 0.7928692102432251 + + Selected Text Color + + Alpha Component + 1 + Blue Component + 0.26041668653488159 + Color Space + Calibrated + Green Component + 0.2891082763671875 + Red Component + 0.32501408457756042 + + Selection Color + + Alpha Component + 1 + Blue Component + 0.63873869180679321 + Color Space + Calibrated + Green Component + 0.82989895343780518 + Red Component + 0.90061241388320923 + + + diff --git a/iterm/gruvbox.itermcolors b/iterm/gruvbox.itermcolors new file mode 100644 index 00000000..142651c1 --- /dev/null +++ b/iterm/gruvbox.itermcolors @@ -0,0 +1,344 @@ + + + + + Ansi 0 Color + + Alpha Component + 1 + Blue Component + 0.15686275064945221 + Color Space + Calibrated + Green Component + 0.15686275064945221 + Red Component + 0.15686275064945221 + + Ansi 1 Color + + Alpha Component + 1 + Blue Component + 0.11372549086809158 + Color Space + Calibrated + Green Component + 0.14117647707462311 + Red Component + 0.80000001192092896 + + Ansi 10 Color + + Alpha Component + 1 + Blue Component + 0.14901961386203766 + Color Space + Calibrated + Green Component + 0.73333334922790527 + Red Component + 0.72156864404678345 + + Ansi 11 Color + + Alpha Component + 1 + Blue Component + 0.18431372940540314 + Color Space + Calibrated + Green Component + 0.74117648601531982 + Red Component + 0.98039215803146362 + + Ansi 12 Color + + Alpha Component + 1 + Blue Component + 0.59607845544815063 + Color Space + Calibrated + Green Component + 0.64705884456634521 + Red Component + 0.51372551918029785 + + Ansi 13 Color + + Alpha Component + 1 + Blue Component + 0.60784316062927246 + Color Space + Calibrated + Green Component + 0.52549022436141968 + Red Component + 0.82745099067687988 + + Ansi 14 Color + + Alpha Component + 1 + Blue Component + 0.48627451062202454 + Color Space + Calibrated + Green Component + 0.78823530673980713 + Red Component + 0.55686277151107788 + + Ansi 15 Color + + Alpha Component + 1 + Blue Component + 0.69803923368453979 + Color Space + Calibrated + Green Component + 0.85882353782653809 + Red Component + 0.92156863212585449 + + Ansi 2 Color + + Alpha Component + 1 + Blue Component + 0.10196078568696976 + Color Space + Calibrated + Green Component + 0.59215688705444336 + Red Component + 0.59607845544815063 + + Ansi 3 Color + + Alpha Component + 1 + Blue Component + 0.12941177189350128 + Color Space + Calibrated + Green Component + 0.60000002384185791 + Red Component + 0.84313726425170898 + + Ansi 4 Color + + Alpha Component + 1 + Blue Component + 0.53333336114883423 + Color Space + Calibrated + Green Component + 0.5215686559677124 + Red Component + 0.27058824896812439 + + Ansi 5 Color + + Alpha Component + 1 + Blue Component + 0.52549022436141968 + Color Space + Calibrated + Green Component + 0.38431373238563538 + Red Component + 0.69411766529083252 + + Ansi 6 Color + + Alpha Component + 1 + Blue Component + 0.41568627953529358 + Color Space + Calibrated + Green Component + 0.61568629741668701 + Red Component + 0.40784314274787903 + + Ansi 7 Color + + Alpha Component + 1 + Blue Component + 0.51764708757400513 + Color Space + Calibrated + Green Component + 0.60000002384185791 + Red Component + 0.65882354974746704 + + Ansi 8 Color + + Alpha Component + 1 + Blue Component + 0.45490196347236633 + Color Space + Calibrated + Green Component + 0.51372551918029785 + Red Component + 0.57254904508590698 + + Ansi 9 Color + + Alpha Component + 1 + Blue Component + 0.20392157137393951 + Color Space + Calibrated + Green Component + 0.28627452254295349 + Red Component + 0.9843137264251709 + + Background Color + + Alpha Component + 1 + Blue Component + 0.10980392247438431 + Color Space + Calibrated + Green Component + 0.10980392247438431 + Red Component + 0.10980392247438431 + + Badge Color + + Alpha Component + 0.5 + Blue Component + 0.0 + Color Space + Calibrated + Green Component + 0.0 + Red Component + 1 + + Bold Color + + Alpha Component + 1 + Blue Component + 0.64313727617263794 + Color Space + Calibrated + Green Component + 0.83137255907058716 + Red Component + 0.90980392694473267 + + Cursor Color + + Alpha Component + 1 + Blue Component + 0.17255082726478577 + Color Space + Calibrated + Green Component + 0.17254787683486938 + Red Component + 0.17255303263664246 + + Cursor Guide Color + + Alpha Component + 0.25 + Blue Component + 1 + Color Space + Calibrated + Green Component + 0.9100000262260437 + Red Component + 0.64999997615814209 + + Cursor Text Color + + Alpha Component + 1 + Blue Component + 0.64313727617263794 + Color Space + Calibrated + Green Component + 0.83137255907058716 + Red Component + 0.90980392694473267 + + Foreground Color + + Alpha Component + 1 + Blue Component + 0.64313727617263794 + Color Space + Calibrated + Green Component + 0.83137255907058716 + Red Component + 0.90980392694473267 + + Link Color + + Alpha Component + 1 + Blue Component + 0.090196080505847931 + Color Space + Calibrated + Green Component + 0.058823529630899429 + Red Component + 0.7450980544090271 + + Selected Text Color + + Alpha Component + 1 + Blue Component + 0.70916998386383057 + Color Space + Calibrated + Green Component + 0.70916998386383057 + Red Component + 0.70916998386383057 + + Selection Color + + Alpha Component + 1 + Blue Component + 0.18431372940540314 + Color Space + Calibrated + Green Component + 0.18823529779911041 + Red Component + 0.19607843458652496 + + + From 469f63695a7830bfe46bc17b7d89db9a9462a6eb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 23 Aug 2019 11:39:08 +0200 Subject: [PATCH 0080/2080] tmux: use nord theme with true colors. --- tmux.conf | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/tmux.conf b/tmux.conf index 432b0cb3..f61bfa36 100644 --- a/tmux.conf +++ b/tmux.conf @@ -9,9 +9,12 @@ bind-key b send-prefix # XXX Not supported with version in CentOS 7 set-window-option -g mouse off -# colors -set -g default-terminal "screen-256color" -set-option -ga terminal-overrides ",screen-256color:Tc" +# Add true color support +# $TERM, fix colors / use true colors +# set -g default-terminal "tmux-256color" +# set -g default-terminal "screen-256color" +set -g default-terminal "xterm-256color" +set -ga terminal-overrides ",*256col*:Tc" # reload bind-key R respawn-window @@ -87,9 +90,9 @@ set -g renumber-windows on # Theme # caiogondim/maglev \ # jimeh/tmux-themepack \ -set -g @themepack 'powerline/double/blue' +# set -g @themepack 'powerline/double/blue' # seebi/tmux-colors-solarized \ -set -g @colors-solarized 'dark' +# set -g @colors-solarized 'dark' #set -g @colors-solarized '256' set-option -g status-position "top" @@ -127,14 +130,16 @@ set -g @continuum-restore 'on' # XXX Test tmux version for supported features +# seebi/tmux-colors-solarized \ +# jimeh/tmux-themepack \ + # Logging # Screenshot: prefix + alt + p # Save complete history: prefix + alt + shift + p # Unable to get some special char working #set -g @almost-sensible 'off' set -g @tpm_plugins ' \ - seebi/tmux-colors-solarized \ - jimeh/tmux-themepack \ + arcticicestudio/nord-tmux \ tmux-plugins/tmux-sensible \ tmux-plugins/tmux-resurrect \ tmux-plugins/tmux-battery \ From b62ce573581c2a25481e01bb4106655b3175f557 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 23 Aug 2019 11:40:43 +0200 Subject: [PATCH 0081/2080] zplug mac: finalize configuration --- zsh/zsh-zplug-mac | 197 +++++++++++++++++++++++++++------------------- 1 file changed, 116 insertions(+), 81 deletions(-) diff --git a/zsh/zsh-zplug-mac b/zsh/zsh-zplug-mac index 93031845..29522668 100644 --- a/zsh/zsh-zplug-mac +++ b/zsh/zsh-zplug-mac @@ -1,5 +1,3 @@ -# brew install zplug - export ZPLUG_HOME=~/.zplug if [ ! -d "$ZPLUG_HOME" ]; then @@ -8,86 +6,105 @@ fi source $ZPLUG_HOME/init.zsh -# Use the package as a command -# And accept glob patterns (e.g., brace, wildcard, ...) -# zplug "Jxck/dotfiles", as:command, use:"bin/{histuniq,color}" - -# Can manage everything e.g., other person's zshrc -# zplug "tcnksm/docker-alias", use:zshrc +if [[ "$OSTYPE" == "darwin"* ]]; then + # Use coreutils GNU utilities + PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" +fi -# Disable updates using the "frozen" tag -# zplug "k4rthik/git-cal", as:command, frozen:1 +# https://github.com/unixorn/awesome-zsh-plugins +# https://gitlab.yuribugelli.it/yuri/dotfiles/blob/master/zsh/zplug.zsh -# Supports oh-my-zsh plugins and the like -zplug "plugins/git", from:oh-my-zsh +# Clashing with forgit, not sure if useful +# Git aliases +# zplug "plugins/git", from:oh-my-zsh +# https://github.com/unixorn/git-extra-commands +zplug "unixorn/git-extra-commands" -# Load if "if" tag returns true -zplug "lib/clipboard", from:oh-my-zsh, if:"[[ $OSTYPE == *darwin* ]]" +# Load completion library for those sweet [tab] squares +# zplug "lib/completion", from:oh-my-zsh -# Supports checking out a specific branch/tag/commit -# zplug "mollifier/anyframe", at:4c23cb60 +if [[ "$OSTYPE" == "darwin"* ]]; then + # Load if "if" tag returns true + zplug "lib/clipboard", from:oh-my-zsh +fi -# Group dependencies -# Load "emoji-cli" if "jq" is installed in this example +# Load "emoji-cli" if "jq" is installed zplug "stedolan/jq", \ from:gh-r, \ as:command, \ rename-to:jq zplug "b4b4r07/emoji-cli", \ on:"stedolan/jq" -# Note: To specify the order in which packages should be loaded, use the defer -# tag described in the next section - -# Set the priority when loading -# e.g., zsh-syntax-highlighting must be loaded -# after executing compinit command and sourcing other plugins -# (If the defer tag is given 2 or above, run after compinit command) -zplug "zsh-users/zsh-syntax-highlighting", defer:2 -zplug "zdharma/fast-syntax-highlighting" - -# Can manage local plugins -# zplug "~/.zsh", from:local # Improved directory listing # https://github.com/supercrabtree/k zplug "supercrabtree/k" -# Async for zsh, used by pure -zplug "mafredri/zsh-async", from:github, defer:0 +zplug "chrissicool/zsh-256color" + +# Fonts +# Hack Regular Nerd Font Complete +# https://github.com/tonsky/FiraCode -# Load theme file +# Theme # Powerlevel9k: https://github.com/Powerlevel9k/powerlevel9k # zplug "bhilburn/powerlevel9k", use:powerlevel9k.zsh-theme +# Powerlevel10k: https://github.com/romkatv/powerlevel10k +zplug romkatv/powerlevel10k, use:powerlevel10k.zsh-theme # Bullet train: https://github.com/caiogondim/bullet-train.zsh -zplug "caiogondim/bullet-train.zsh", use:bullet-train.zsh-theme, defer:3 +# zplug "caiogondim/bullet-train.zsh", use:bullet-train.zsh-theme, defer:3 # Pure theme: https://github.com/sindresorhus/pure # zplug "sindresorhus/pure", use:pure.zsh, from:github, as:theme +# zplug "mafredri/zsh-async", from:github, defer:0, on:"sindresorhus/pure" +# Spacechip - https://denysdovhan.com/spaceship-prompt/ +# zplug "denysdovhan/spaceship-prompt", use:spaceship.zsh, from:github, as:theme + +# dircolors comes from brew/coreutils on Mac OS X +# Download repo so that we can use it's content +zplug "seebi/dircolors-solarized", ignore:"*", as:plugin +# eval $(dircolors $ZPLUG_HOME/repos/seebi/dircolors-solarized/dircolors.ansi-universal) +# Alternative dircolors configuration +# https://github.com/arcticicestudio/nord-dircolors +zplug "arcticicestudio/nord-dircolors", ignore:"*", as:plugin +eval $(dircolors $ZPLUG_HOME/repos/arcticicestudio/nord-dircolors/src/dir_colors) zplug "zlsun/solarized-man" +# Replacement for zsh-users/zsh-syntax-highlighting +# Theme management: fsh-alias -h +zplug "zdharma/fast-syntax-highlighting" + # Aliases and color some command output +# Ensure that ls always add some indicators +alias ls='ls -F' zplug "modules/utility", from:prezto + +zplug "webyneter/docker-aliases", use:docker-aliases.plugin.zsh + zplug "modules/editor", from:prezto + zplug "modules/history", from:prezto +# Ctrl-R to search multi word with AND +zplug "zdharma/history-search-multi-word" +zplug "zsh-users/zsh-history-substring-search", defer:2 + +# Load after modute/editor to enable VI bindings +zplug "sharat87/zsh-vim-mode", defer:3 + # Use TMUX plugin from zpresto # https://github.com/sorin-ionescu/prezto/tree/master/modules/tmux zplug "modules/tmux", from:prezto -# Add hub wrapper -zplug "plugins/github", from:oh-my-zsh - +# Shrink path in prompt zplug "plugins/shrink-path", from:oh-my-zsh -zplug "zsh-users/zsh-history-substring-search", defer:2 +# Completions and autosuggestions zplug "zsh-users/zsh-completions" -# XXX Check how to use forward-word with autosuggestions zplug "zsh-users/zsh-autosuggestions" # XXX Find replacement allowing to disable check for some aliases zplug "MichaelAquilina/zsh-you-should-use" -zplug "webyneter/docker-aliases", use:docker-aliases.plugin.zsh - # Usage: = 2+2 zplug "arzzen/calc.plugin.zsh" @@ -107,16 +124,6 @@ export ENHANCD_HOOK_AFTER_CD=k zplug "marzocchi/zsh-notify" -zplug "supercrabtree/k" - -zplug "chrissicool/zsh-256color" - -# Load after modute/editor to enable VI bindings -zplug "sharat87/zsh-vim-mode", defer:3 - -# Ctrl-R to search multi word with AND -zplug "zdharma/history-search-multi-word" - # Fuzzy command line completion: Ctrl-T zplug "junegunn/fzf", use:"shell/*.zsh", defer:2 # Grab binaries from GitHub Releases @@ -125,22 +132,49 @@ zplug "junegunn/fzf-bin", \ from:gh-r, \ as:command, \ rename-to:fzf, \ - use:"*darwin*amd64*", \ - if:"[[ $OSTYPE == *darwin* ]]" + use:"*${(L)$(uname -s)}*amd64*" zplug "so-fancy/diff-so-fancy", as:command +# Add hub wrapper +zplug "plugins/github", from:oh-my-zsh +zplug "glidenote/hub-zsh-completion" +# Git completion +zplug "plugins/gitfast", from:oh-my-zsh + +# Git + fzf +# https://github.com/wfxr/forgit +zplug 'wfxr/forgit' + +# https://github.com/hschne/fzf-git +# use git ** +zplug "hschne/fzf-git" + # Replacement for autojump zplug "rupa/z", use:"*.sh" -# prezto -# Color output (auto set to 'no' on dumb terminals). -zstyle ':prezto:*:*' color 'yes' +# Virtualen environement management +# https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv +zplug "MichaelAquilina/zsh-autoswitch-virtualenv" +# https://github.com/b2arn/zsh-pyenv + +# asdf: https://github.com/asdf-vm/asdf +# https://github.com/kiurchv/asdf.plugin.zsh +# zplug "kiurchv/asdf.plugin.zsh", defer:2 +# zplug "plugins/asdf, from:oh-my-zsh + +# Potentially lighter than pyenv +# https://github.com/cxreg/smartcd +# https://github.com/anyenv/anyenv + +# prezto configuration # prezto/utility if zplug check modules/utility; then # Use safe operations by default zstyle ':prezto:module:utility' safe-ops 'yes' + # Color output (auto set to 'no' on dumb terminals). + zstyle ':prezto:*:*' color 'yes' fi # prezto/editor @@ -150,10 +184,10 @@ if zplug check modules/editor; then fi if zplug check modules/tmux; then - zstyle ':prezto:module:tmux:auto-start' local 'yes' + zstyle ':prezto:module:tmux:auto-start' local 'no' zstyle ':prezto:module:tmux:auto-start' remote 'yes' zstyle ':prezto:module:tmux:session' name 'work' - # zstyle ':prezto:module:tmux:iterm' integrate 'yes' + zstyle ':prezto:module:tmux:iterm' integrate 'no' fi zplug 'zplug/zplug', hook-build:'zplug --self-manage' @@ -170,26 +204,40 @@ fi # zplug load --verbose zplug load +typeset -U path +path+=/usr/local/sbin + +export PATH="$HOME/bin:$PATH" +# Use coreutils GNU utilities +PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" + # Plugins-specific configuration required after loading them if zplug check caiogondim/bullet-train.zsh; then BULLETTRAIN_STATUS_EXIT_SHOW=true # bullettrain promt: disable nvm and go, show path using custom segment - BULLETTRAIN_PROMPT_ORDER=(time status context custom perl ruby aws elixir virtualenv git hg cmd_exec_time) + BULLETTRAIN_PROMPT_ORDER=(time status context custom perl ruby virtualenv git hg cmd_exec_time) # Display shunk path in custom prompt segement BULLETTRAIN_CUSTOM_MSG='$(shrink_path -f "$PWD")' BULLETTRAIN_CUSTOM_BG=blue BULLETTRAIN_CUSTOM_FG=white + BULLETTRAIN_CONTEXT_DEFAULT_USER='baptiste' fi if zplug "MichaelAquilina/zsh-you-should-use"; then export YSU_HARDCORE=0 fi -# ZSH options +if zplug check "zsh-users/zsh-completions"; then + ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=60,bold" +fi + +if zplug check "romkatv/powerlevel10k"; then + # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. + [[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh +fi -# ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#ff00ff,bg=cyan,bold,underline" -ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=128" +# ZSH options # Make sure prompt is able to be generated properly. # Required for themes like bullet-train @@ -200,7 +248,7 @@ setopt auto_cd ## Completion -# Hilight directories +# Hilight directories and use colors in ZSH completion zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)(?)*==34=34}:${(s.:.)LS_COLORS}")'; # Rehash when completing commands @@ -215,17 +263,6 @@ zstyle ':completion:*:descriptions' format "%{${fg_bold[magenta]}%}= %d =%{$rese # Case insensitive completion # https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/completion.zsh zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*' -# zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*' - -#unsetopt correct_all -#setopt menu_complete -#unsetopt flowcontrol -#setopt auto_pushd -#setopt pushd_ignore_dups -#setopt auto_menu -#setopt interactive_comments -#setopt complete_in_word -#setopt promptpercent # Always use substring search bindkey '^[[A' history-substring-search-up @@ -250,6 +287,8 @@ insert_sudo () { zle beginning-of-line; zle -U '_ ' } zle -N insert-sudo insert_sudo bindkey 's' insert-sudo +# Misc + # Preferred editor for local and remote sessions if [[ -n $SSH_CONNECTION ]]; then export EDITOR='vim' @@ -259,16 +298,11 @@ else alias vi='nvim' fi -# You may need to manually set your language environment +# Manually set your language environment export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 -typeset -U path -path+=/usr/local/sbin - -export PATH="$HOME/bin:$PATH" - -## list only directories +# list only directories alias lsd='ls -d */' # https://github.com/pyenv/pyenv/wiki/Common-build-problems @@ -292,3 +326,4 @@ export MAKEOPS='j6' if [[ "$OSTYPE" == "darwin"* ]]; then stty discard undef fi + From 1c25b42b600615cbe5869061cdebba848c2edc8c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Fri, 23 Aug 2019 11:40:55 +0200 Subject: [PATCH 0082/2080] zsh: import colorschemes --- zsh/bliss.dircolors | 304 ++++++++++++++++++++++ zsh/dircolors.256dark | 304 ++++++++++++++++++++++ zsh/dircolors.ansi-dark | 481 +++++++++++++++++++++++++++++++++++ zsh/dircolors.ansi-dark.1 | 481 +++++++++++++++++++++++++++++++++++ zsh/dircolors.ansi-universal | 478 ++++++++++++++++++++++++++++++++++ zsh/dircolors.nord | 253 ++++++++++++++++++ 6 files changed, 2301 insertions(+) create mode 100644 zsh/bliss.dircolors create mode 100644 zsh/dircolors.256dark create mode 100644 zsh/dircolors.ansi-dark create mode 100644 zsh/dircolors.ansi-dark.1 create mode 100644 zsh/dircolors.ansi-universal create mode 100644 zsh/dircolors.nord diff --git a/zsh/bliss.dircolors b/zsh/bliss.dircolors new file mode 100644 index 00000000..54633796 --- /dev/null +++ b/zsh/bliss.dircolors @@ -0,0 +1,304 @@ +# Bliss theme for GNU dircolors +# @author https://github.com/JoshJon +# +# More Information about Bliss dircolors at: +# https://github.com/JoshJon/dircolors-bliss-macos +# +# For information on dircolors files refer to 'dir_colors - Linux Man Pages' +# https://www.systutorials.com/docs/linux/man/5-dir_colors/ + +# Term Section +TERM Eterm +TERM ansi +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM dvtm +TERM dvtm-256color +TERM eterm-color +TERM fbterm +TERM gnome +TERM gnome-256color +TERM jfbterm +TERM konsole +TERM konsole-256color +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM putty +TERM putty-256color +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode256 +TERM rxvt-unicode-256color +TERM screen +TERM screen-16color +TERM screen-16color-bce +TERM screen-16color-s +TERM screen-16color-bce-s +TERM screen-256color +TERM screen-256color-bce +TERM screen-256color-s +TERM screen-256color-bce-s +TERM screen-256color-italic +TERM screen-bce +TERM screen-w +TERM screen.linux +TERM screen.xterm-256color +TERM st +TERM st-meta +TERM st-256color +TERM st-meta-256color +TERM tmux +TERM tmux-256color +TERM vt100 +TERM xterm +TERM xterm-16color +TERM xterm-256color +TERM xterm-256color-italic +TERM xterm-88color +TERM xterm-color +TERM xterm-debian +TERM xterm-termite + +## Documentation +# Reference: http://www.mail-archive.com/bug-coreutils@gnu.org/msg11030.html) +# +# standard colors +# +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +# +# 256 colors +# +# Text 256 color coding: +# 38;5;COLOR_NUMBER +# Background 256 color coding: +# 48;5;COLOR_NUMBER +# +# Example basic: 45;5;147;01 - lavender background, bold +# Example 256: 48;5;167;38;5;193,01 - red background, lime-green text, underscore + + +## Global defaults + +NORMAL 00 # no color +RESET 0 # reset to "normal" color + +FILE 00 # normal +DIR 38;5;218;01 # pink bg, bold +LINK 38;5;115 # green +MULTIHARDLINK 04;38;5;115 # green + +FIFO 48;5;137 # bronze bg, white +SOCK 48;5;137 # bronze bg, white +DOOR 48;5;137 # bronze bg, white +BLK 38;5;222;04 # bronze bg, underscore +CHR 38;5;222;01 # bronze, bold + +EXEC 01 # normal, bold + +OTHER_WRITABLE 38;5;153;01 # blue, bold +STICKY 48;5;67 # blue bg, white +STICKY_OTHER_WRITABLE 48;5;30 # teal bg, white + +ORPHAN 48;5;167; # red bg, white +SETUID 38;5;210;04 # red, underscore +SETGID 38;5;180;04 # bronze, underscore + +# Unable to test capability on macOS +CAPABILITY 00 # white + +## Archive or compressed - lavender, bold +.tar 38;5;147;01 +.tgz 38;5;147;01 +.arj 38;5;147;01 +.taz 38;5;147;01 +.lzh 38;5;147;01 +.lzma 38;5;147;01 +.tlz 38;5;147;01 +.txz 38;5;147;01 +.zip 38;5;147;01 +.z 38;5;147;01 +.Z 38;5;147;01 +.dz 38;5;147;01 +.gz 38;5;147;01 +.lz 38;5;147;01 +.xz 38;5;147;01 +.bz2 38;5;147;01 +.bz 38;5;147;01 +.tbz 38;5;147;01 +.tbz2 38;5;147;01 +.tz 38;5;147;01 +.deb 38;5;147;01 +.rpm 38;5;147;01 +.jar 38;5;147;01 +.rar 38;5;147;01 +.ace 38;5;147;01 +.zoo 38;5;147;01 +.cpio 38;5;147;01 +.7z 38;5;147;01 +.rz 38;5;147;01 +.apk 38;5;147;01 +.gem 38;5;147;01 + +# General file - normal +.tex 00 +.rdf 00 +.owl 00 +.n3 00 +.ttl 00 +.nt 00 +.torrent 00 +.xml 00 +*Makefile 00 +*Rakefile 00 +*Dockerfile 00 +*build.xml 00 +*rc 00 +*1 00 +.nfo 00 +*README 00 +*README.txt 00 +*readme.txt 00 +.md 00 +*README.markdown 00 +.ini 00 +.yml 00 +.cfg 00 +.conf 00 +.h 00 +.hpp 00 +.c 00 +.cpp 00 +.cxx 00 +.cc 00 +.objc 00 +.sqlite 00 +.go 00 +.sql 00 +.csv 00 + +# Image file - yellow +.jpg 38;5;229 +.JPG 38;5;229 +.jpeg 38;5;229 +.gif 38;5;229 +.bmp 38;5;229 +.pbm 38;5;229 +.pgm 38;5;229 +.ppm 38;5;229 +.tga 38;5;229 +.xbm 38;5;229 +.xpm 38;5;229 +.tif 38;5;229 +.tiff 38;5;229 +.png 38;5;229 +.PNG 38;5;229 +.svg 38;5;229 +.svgz 38;5;229 +.mng 38;5;229 +.pcx 38;5;229 +.dl 38;5;229 +.xcf 38;5;229 +.xwd 38;5;229 +.yuv 38;5;229 +.cgm 38;5;229 +.emf 38;5;229 +.eps 38;5;229 +.CR2 38;5;229 +.ico 38;5;229 + +# Audio file - lime-green +.aac 38;5;193 +.au 38;5;193 +.flac 38;5;193 +.mid 38;5;193 +.midi 38;5;193 +.mka 38;5;193 +.mp3 38;5;193 +.mpc 38;5;193 +.ogg 38;5;193 +.opus 38;5;193 +.ra 38;5;193 +.wav 38;5;193 +.m4a 38;5;193 +.axa 38;5;193 +.oga 38;5;193 +.spx 38;5;193 +.xspf 38;5;193 + +# Video file - orange +.mov 38;5;222 +.MOV 38;5;222 +.mpg 38;5;222 +.mpeg 38;5;222 +.m2v 38;5;222 +.mkv 38;5;222 +.ogm 38;5;222 +.mp4 38;5;222 +.m4v 38;5;222 +.mp4v 38;5;222 +.vob 38;5;222 +.qt 38;5;222 +.nuv 38;5;222 +.wmv 38;5;222 +.asf 38;5;222 +.rm 38;5;222 +.rmvb 38;5;222 +.flc 38;5;222 +.avi 38;5;222 +.fli 38;5;222 +.flv 38;5;222 +.gl 38;5;222 +.m2ts 38;5;222 +.divx 38;5;222 +.webm 38;5;222 +.axv 38;5;222 +.anx 38;5;222 +.ogv 38;5;222 +.ogx 38;5;222 + +# 'unimportant' file e.g. logs and backups - grey +.log 38;5;248 +.bak 38;5;248 +.aux 38;5;248 +.lof 38;5;248 +.lol 38;5;248 +.lot 38;5;248 +.out 38;5;248 +.toc 38;5;248 +.bbl 38;5;248 +.blg 38;5;248 +*~ 38;5;248 +*# 38;5;248 +.part 38;5;248 +.incomplete 38;5;248 +.swp 38;5;248 +.tmp 38;5;248 +.temp 38;5;248 +.o 38;5;248 +.pyc 38;5;248 +.class 38;5;248 +.cache 38;5;248 diff --git a/zsh/dircolors.256dark b/zsh/dircolors.256dark new file mode 100644 index 00000000..881fd1e6 --- /dev/null +++ b/zsh/dircolors.256dark @@ -0,0 +1,304 @@ + +# Dark 256 color solarized theme for the color GNU ls utility. +# Used and tested with dircolors (GNU coreutils) 8.5 +# +# @author {@link http://sebastian.tramp.name Sebastian Tramp} +# @license http://sam.zoy.org/wtfpl/ Do What The Fuck You Want To Public License (WTFPL) +# +# More Information at +# https://github.com/seebi/dircolors-solarized + +# Term Section +TERM Eterm +TERM alacritty +TERM ansi +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM dvtm +TERM dvtm-256color +TERM eterm-color +TERM fbterm +TERM gnome +TERM gnome-256color +TERM jfbterm +TERM konsole +TERM konsole-256color +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM putty +TERM putty-256color +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode256 +TERM rxvt-unicode-256color +TERM screen +TERM screen-16color +TERM screen-16color-bce +TERM screen-16color-s +TERM screen-16color-bce-s +TERM screen-256color +TERM screen-256color-bce +TERM screen-256color-s +TERM screen-256color-bce-s +TERM screen-256color-italic +TERM screen-bce +TERM screen-w +TERM screen.linux +TERM screen.xterm-256color +TERM st +TERM st-meta +TERM st-256color +TERM st-meta-256color +TERM tmux +TERM tmux-256color +TERM vt100 +TERM xterm +TERM xterm-16color +TERM xterm-256color +TERM xterm-256color-italic +TERM xterm-88color +TERM xterm-color +TERM xterm-debian +TERM xterm-termite + +## Documentation +# +# standard colors +# +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +# +# +# 256 color support +# see here: http://www.mail-archive.com/bug-coreutils@gnu.org/msg11030.html) +# +# Text 256 color coding: +# 38;5;COLOR_NUMBER +# Background 256 color coding: +# 48;5;COLOR_NUMBER + +## Special files + +NORMAL 00;38;5;244 # no color code at all +#FILE 00 # regular file: use no color at all +RESET 0 # reset to "normal" color +DIR 00;38;5;33 # directory 01;34 +LINK 00;38;5;37 # symbolic link. (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00 # regular file with more than one link +FIFO 48;5;230;38;5;136;01 # pipe +SOCK 48;5;230;38;5;136;01 # socket +DOOR 48;5;230;38;5;136;01 # door +BLK 48;5;230;38;5;244;01 # block device driver +CHR 48;5;230;38;5;244;01 # character device driver +ORPHAN 48;5;235;38;5;160 # symlink to nonexistent file, or non-stat'able file +SETUID 48;5;160;38;5;230 # file that is setuid (u+s) +SETGID 48;5;136;38;5;230 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 48;5;64;38;5;230 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 48;5;235;38;5;33 # dir that is other-writable (o+w) and not sticky +STICKY 48;5;33;38;5;230 # dir with the sticky bit set (+t) and not other-writable +# This is for files with execute permission: +EXEC 00;38;5;64 + +## Archives or compressed (violet + bold for compression) +.tar 00;38;5;61 +.tgz 00;38;5;61 +.arj 00;38;5;61 +.taz 00;38;5;61 +.lzh 00;38;5;61 +.lzma 00;38;5;61 +.tlz 00;38;5;61 +.txz 00;38;5;61 +.zip 00;38;5;61 +.z 00;38;5;61 +.Z 00;38;5;61 +.dz 00;38;5;61 +.gz 00;38;5;61 +.lz 00;38;5;61 +.xz 00;38;5;61 +.bz2 00;38;5;61 +.bz 00;38;5;61 +.tbz 00;38;5;61 +.tbz2 00;38;5;61 +.tz 00;38;5;61 +.deb 00;38;5;61 +.rpm 00;38;5;61 +.jar 00;38;5;61 +.rar 00;38;5;61 +.ace 00;38;5;61 +.zoo 00;38;5;61 +.cpio 00;38;5;61 +.7z 00;38;5;61 +.rz 00;38;5;61 +.apk 00;38;5;61 +.gem 00;38;5;61 + +# Image formats (yellow) +.jpg 00;38;5;136 +.JPG 00;38;5;136 #stupid but needed +.jpeg 00;38;5;136 +.gif 00;38;5;136 +.bmp 00;38;5;136 +.pbm 00;38;5;136 +.pgm 00;38;5;136 +.ppm 00;38;5;136 +.tga 00;38;5;136 +.xbm 00;38;5;136 +.xpm 00;38;5;136 +.tif 00;38;5;136 +.tiff 00;38;5;136 +.png 00;38;5;136 +.PNG 00;38;5;136 +.svg 00;38;5;136 +.svgz 00;38;5;136 +.mng 00;38;5;136 +.pcx 00;38;5;136 +.dl 00;38;5;136 +.xcf 00;38;5;136 +.xwd 00;38;5;136 +.yuv 00;38;5;136 +.cgm 00;38;5;136 +.emf 00;38;5;136 +.eps 00;38;5;136 +.CR2 00;38;5;136 +.ico 00;38;5;136 + +# Files of special interest (base1) +.tex 00;38;5;245 +.rdf 00;38;5;245 +.owl 00;38;5;245 +.n3 00;38;5;245 +.ttl 00;38;5;245 +.nt 00;38;5;245 +.torrent 00;38;5;245 +.xml 00;38;5;245 +*Makefile 00;38;5;245 +*Rakefile 00;38;5;245 +*Dockerfile 00;38;5;245 +*build.xml 00;38;5;245 +*rc 00;38;5;245 +*1 00;38;5;245 +.nfo 00;38;5;245 +*README 00;38;5;245 +*README.txt 00;38;5;245 +*readme.txt 00;38;5;245 +.md 00;38;5;245 +*README.markdown 00;38;5;245 +.ini 00;38;5;245 +.yml 00;38;5;245 +.cfg 00;38;5;245 +.conf 00;38;5;245 +.h 00;38;5;245 +.hpp 00;38;5;245 +.c 00;38;5;245 +.cpp 00;38;5;245 +.cxx 00;38;5;245 +.cc 00;38;5;245 +.objc 00;38;5;245 +.sqlite 00;38;5;245 +.go 00;38;5;245 +.sql 00;38;5;245 +.csv 00;38;5;245 + +# "unimportant" files as logs and backups (base01) +.log 00;38;5;240 +.bak 00;38;5;240 +.aux 00;38;5;240 +.lof 00;38;5;240 +.lol 00;38;5;240 +.lot 00;38;5;240 +.out 00;38;5;240 +.toc 00;38;5;240 +.bbl 00;38;5;240 +.blg 00;38;5;240 +*~ 00;38;5;240 +*# 00;38;5;240 +.part 00;38;5;240 +.incomplete 00;38;5;240 +.swp 00;38;5;240 +.tmp 00;38;5;240 +.temp 00;38;5;240 +.o 00;38;5;240 +.pyc 00;38;5;240 +.class 00;38;5;240 +.cache 00;38;5;240 + +# Audio formats (orange) +.aac 00;38;5;166 +.au 00;38;5;166 +.flac 00;38;5;166 +.mid 00;38;5;166 +.midi 00;38;5;166 +.mka 00;38;5;166 +.mp3 00;38;5;166 +.mpc 00;38;5;166 +.ogg 00;38;5;166 +.opus 00;38;5;166 +.ra 00;38;5;166 +.wav 00;38;5;166 +.m4a 00;38;5;166 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.axa 00;38;5;166 +.oga 00;38;5;166 +.spx 00;38;5;166 +.xspf 00;38;5;166 + +# Video formats (as audio + bold) +.mov 00;38;5;166 +.MOV 00;38;5;166 +.mpg 00;38;5;166 +.mpeg 00;38;5;166 +.m2v 00;38;5;166 +.mkv 00;38;5;166 +.ogm 00;38;5;166 +.mp4 00;38;5;166 +.m4v 00;38;5;166 +.mp4v 00;38;5;166 +.vob 00;38;5;166 +.qt 00;38;5;166 +.nuv 00;38;5;166 +.wmv 00;38;5;166 +.asf 00;38;5;166 +.rm 00;38;5;166 +.rmvb 00;38;5;166 +.flc 00;38;5;166 +.avi 00;38;5;166 +.fli 00;38;5;166 +.flv 00;38;5;166 +.gl 00;38;5;166 +.m2ts 00;38;5;166 +.divx 00;38;5;166 +.webm 00;38;5;166 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.axv 00;38;5;166 +.anx 00;38;5;166 +.ogv 00;38;5;166 +.ogx 00;38;5;166 + + diff --git a/zsh/dircolors.ansi-dark b/zsh/dircolors.ansi-dark new file mode 100644 index 00000000..f4780724 --- /dev/null +++ b/zsh/dircolors.ansi-dark @@ -0,0 +1,481 @@ +# Exact Solarized Dark color theme for the color GNU ls utility. +# Designed for dircolors (GNU coreutils) 5.97 +# +# This simple theme was simultaneously designed for these terminal color schemes: +# - Solarized dark (best) +# - Solarized light +# - default dark +# - default light +# with a slight optimization for Solarized Dark. +# +# How the colors were selected: +# - Terminal emulators often have an option typically enabled by default that makes +# bold a different color. It is important to leave this option enabled so that +# you can access the entire 16-color Solarized palette, and not just 8 colors. +# - We favor universality over a greater number of colors. So we limit the number +# of colors so that this theme will work out of the box in all terminals, +# Solarized or not, dark or light. +# - We choose to have the following category of files: +# NORMAL & FILE, DIR, LINK, EXEC and +# editable text including source, unimportant text, binary docs & multimedia source +# files, viewable multimedia, archived/compressed, and unimportant non-text +# - For uniqueness, we stay away from the Solarized foreground colors are -- either +# base00 (brightyellow) or base0 (brightblue). However, they can be used if +# you know what the bg/fg colors of your terminal are, in order to optimize the display. +# - 3 different options are provided: universal, solarized dark, and solarized light. +# The only difference between the universal scheme and one that's optimized for +# dark/light is the color of "unimportant" files, which should blend more with the +# background +# - We note that blue is the hardest color to see on dark bg and yellow is the hardest +# color to see on light bg (with blue being particularly bad). So we choose yellow +# for multimedia files which are usually accessed in a GUI folder browser anyway. +# And blue is kept for custom use of this scheme's user. +# - See table below to see the assignments. + + +# Installation instructions: +# This file goes in the /etc directory, and must be world readable. +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. + +# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not +# pipes. 'all' adds color characters to all output. 'none' shuts colorization +# off. +COLOR tty + +# Below, there should be one TERM entry for each termtype that is colorizable +TERM alacritty +TERM ansi +TERM color_xterm +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM dvtm +TERM dvtm-256color +TERM Eterm +TERM eterm-color +TERM fbterm +TERM gnome +TERM gnome-256color +TERM jfbterm +TERM konsole +TERM konsole-256color +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM nxterm +TERM putty +TERM putty-256color +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode256 +TERM rxvt-unicode-256color +TERM screen +TERM screen-16color +TERM screen-16color-bce +TERM screen-16color-s +TERM screen-16color-bce-s +TERM screen-256color +TERM screen-256color-bce +TERM screen-256color-s +TERM screen-256color-bce-s +TERM screen-256color-italic +TERM screen-bce +TERM screen-w +TERM screen.linux +TERM screen.xterm-256color +TERM screen.xterm-new +TERM st +TERM st-meta +TERM st-256color +TERM st-meta-256color +TERM tmux +TERM tmux-256color +TERM vt100 +TERM xterm +TERM xterm-new +TERM xterm-16color +TERM xterm-256color +TERM xterm-256color-italic +TERM xterm-88color +TERM xterm-color +TERM xterm-debian +TERM xterm-termite + +# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output) +EIGHTBIT 1 + +############################################################################# +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +# +# NOTES: +# - See http://www.oreilly.com/catalog/wdnut/excerpt/color_names.html +# - Color combinations +# ANSI Color code Solarized Notes Universal SolDark SolLight +# ~~~~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~ ~~~~~~~~~ ~~~~~~~ ~~~~~~~~ +# 00 none NORMAL, FILE +# 30 black base02 +# 01;30 bright black base03 bg of SolDark +# 31 red red docs & mm src +# 01;31 bright red orange EXEC +# 32 green green editable text +# 01;32 bright green base01 unimportant text +# 33 yellow yellow unclear in light bg multimedia +# 01;33 bright yellow base00 fg of SolLight unimportant non-text +# 34 blue blue unclear in dark bg user customized +# 01;34 bright blue base0 fg in SolDark unimportant text +# 35 magenta magenta LINK +# 01;35 bright magenta violet archive/compressed +# 36 cyan cyan DIR +# 01;36 bright cyan base1 unimportant non-text +# 37 white base2 +# 01;37 bright white base3 bg in SolLight +# 05;37;41 unclear in Putty dark + + +### By file type + +# global default +NORMAL 00 +# normal file +FILE 00 +# directory +DIR 34 +# 777 directory +OTHER_WRITABLE 34;40 +# symbolic link +LINK 35 + +# pipe, socket, block device, character device (blue bg) +FIFO 30;44 +SOCK 35;44 +DOOR 35;44 # Solaris 2.5 and later +BLK 33;44 +CHR 37;44 + + +############################################################################# +### By file attributes + +# Orphaned symlinks (blinking white on red) +# Blink may or may not work (works on iTerm dark or light, and Putty dark) +ORPHAN 05;37;41 +# ... and the files that orphaned symlinks point to (blinking white on red) +MISSING 05;37;41 + +# files with execute permission +EXEC 01;31 # Unix +.cmd 01;31 # Win +.exe 01;31 # Win +.com 01;31 # Win +.bat 01;31 # Win +.reg 01;31 # Win +.app 01;31 # OSX + +############################################################################# +### By extension + +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') + +### Text formats + +# Text that we can edit with a regular editor +.txt 32 +.org 32 +.md 32 +.mkd 32 + +# Source text +.h 32 +.hpp 32 +.c 32 +.C 32 +.cc 32 +.cpp 32 +.cxx 32 +.objc 32 +.cl 32 +.sh 32 +.bash 32 +.csh 32 +.zsh 32 +.el 32 +.vim 32 +.java 32 +.pl 32 +.pm 32 +.py 32 +.rb 32 +.hs 32 +.php 32 +.htm 32 +.html 32 +.shtml 32 +.erb 32 +.haml 32 +.xml 32 +.rdf 32 +.css 32 +.sass 32 +.scss 32 +.less 32 +.js 32 +.coffee 32 +.man 32 +.0 32 +.1 32 +.2 32 +.3 32 +.4 32 +.5 32 +.6 32 +.7 32 +.8 32 +.9 32 +.l 32 +.n 32 +.p 32 +.pod 32 +.tex 32 +.go 32 +.sql 32 +.csv 32 +.sv 32 +.svh 32 +.v 32 +.vh 32 +.vhd 32 + +### Multimedia formats + +# Image +.bmp 33 +.cgm 33 +.dl 33 +.dvi 33 +.emf 33 +.eps 33 +.gif 33 +.jpeg 33 +.jpg 33 +.JPG 33 +.mng 33 +.pbm 33 +.pcx 33 +.pdf 33 +.pgm 33 +.png 33 +.PNG 33 +.ppm 33 +.pps 33 +.ppsx 33 +.ps 33 +.svg 33 +.svgz 33 +.tga 33 +.tif 33 +.tiff 33 +.xbm 33 +.xcf 33 +.xpm 33 +.xwd 33 +.xwd 33 +.yuv 33 + +# Audio +.aac 33 +.au 33 +.flac 33 +.m4a 33 +.mid 33 +.midi 33 +.mka 33 +.mp3 33 +.mpa 33 +.mpeg 33 +.mpg 33 +.ogg 33 +.opus 33 +.ra 33 +.wav 33 + +# Video +.anx 33 +.asf 33 +.avi 33 +.axv 33 +.flc 33 +.fli 33 +.flv 33 +.gl 33 +.m2v 33 +.m4v 33 +.mkv 33 +.mov 33 +.MOV 33 +.mp4 33 +.mp4v 33 +.mpeg 33 +.mpg 33 +.nuv 33 +.ogm 33 +.ogv 33 +.ogx 33 +.qt 33 +.rm 33 +.rmvb 33 +.swf 33 +.vob 33 +.webm 33 +.wmv 33 + +### Misc + +# Binary document formats and multimedia source +.doc 31 +.docx 31 +.rtf 31 +.odt 31 +.dot 31 +.dotx 31 +.ott 31 +.xls 31 +.xlsx 31 +.ods 31 +.ots 31 +.ppt 31 +.pptx 31 +.odp 31 +.otp 31 +.fla 31 +.psd 31 + +# Archives, compressed +.7z 1;35 +.apk 1;35 +.arj 1;35 +.bin 1;35 +.bz 1;35 +.bz2 1;35 +.cab 1;35 # Win +.deb 1;35 +.dmg 1;35 # OSX +.gem 1;35 +.gz 1;35 +.iso 1;35 +.jar 1;35 +.msi 1;35 # Win +.rar 1;35 +.rpm 1;35 +.tar 1;35 +.tbz 1;35 +.tbz2 1;35 +.tgz 1;35 +.tx 1;35 +.war 1;35 +.xpi 1;35 +.xz 1;35 +.z 1;35 +.Z 1;35 +.zip 1;35 + +# For testing +.ANSI-30-black 30 +.ANSI-01;30-brblack 01;30 +.ANSI-31-red 31 +.ANSI-01;31-brred 01;31 +.ANSI-32-green 32 +.ANSI-01;32-brgreen 01;32 +.ANSI-33-yellow 33 +.ANSI-01;33-bryellow 01;33 +.ANSI-34-blue 34 +.ANSI-01;34-brblue 01;34 +.ANSI-35-magenta 35 +.ANSI-01;35-brmagenta 01;35 +.ANSI-36-cyan 36 +.ANSI-01;36-brcyan 01;36 +.ANSI-37-white 37 +.ANSI-01;37-brwhite 01;37 + +############################################################################# +# Your customizations + +# Unimportant text files +# For universal scheme, use brightgreen 01;32 +# For optimal on light bg (but too prominent on dark bg), use white 01;34 +.log 01;32 +*~ 01;32 +*# 01;32 +#.log 01;34 +#*~ 01;34 +#*# 01;34 + +# Unimportant non-text files +# For universal scheme, use brightcyan 01;36 +# For optimal on dark bg (but too prominent on light bg), change to 01;33 +#.bak 01;36 +#.BAK 01;36 +#.old 01;36 +#.OLD 01;36 +#.org_archive 01;36 +#.off 01;36 +#.OFF 01;36 +#.dist 01;36 +#.DIST 01;36 +#.orig 01;36 +#.ORIG 01;36 +#.swp 01;36 +#.swo 01;36 +#*,v 01;36 +.bak 01;33 +.BAK 01;33 +.old 01;33 +.OLD 01;33 +.org_archive 01;33 +.off 01;33 +.OFF 01;33 +.dist 01;33 +.DIST 01;33 +.orig 01;33 +.ORIG 01;33 +.swp 01;33 +.swo 01;33 +*,v 01;33 + +# The brightmagenta (Solarized: purple) color is free for you to use for your +# custom file type +.gpg 34 +.gpg 34 +.pgp 34 +.asc 34 +.3des 34 +.aes 34 +.enc 34 +.sqlite 34 diff --git a/zsh/dircolors.ansi-dark.1 b/zsh/dircolors.ansi-dark.1 new file mode 100644 index 00000000..f4780724 --- /dev/null +++ b/zsh/dircolors.ansi-dark.1 @@ -0,0 +1,481 @@ +# Exact Solarized Dark color theme for the color GNU ls utility. +# Designed for dircolors (GNU coreutils) 5.97 +# +# This simple theme was simultaneously designed for these terminal color schemes: +# - Solarized dark (best) +# - Solarized light +# - default dark +# - default light +# with a slight optimization for Solarized Dark. +# +# How the colors were selected: +# - Terminal emulators often have an option typically enabled by default that makes +# bold a different color. It is important to leave this option enabled so that +# you can access the entire 16-color Solarized palette, and not just 8 colors. +# - We favor universality over a greater number of colors. So we limit the number +# of colors so that this theme will work out of the box in all terminals, +# Solarized or not, dark or light. +# - We choose to have the following category of files: +# NORMAL & FILE, DIR, LINK, EXEC and +# editable text including source, unimportant text, binary docs & multimedia source +# files, viewable multimedia, archived/compressed, and unimportant non-text +# - For uniqueness, we stay away from the Solarized foreground colors are -- either +# base00 (brightyellow) or base0 (brightblue). However, they can be used if +# you know what the bg/fg colors of your terminal are, in order to optimize the display. +# - 3 different options are provided: universal, solarized dark, and solarized light. +# The only difference between the universal scheme and one that's optimized for +# dark/light is the color of "unimportant" files, which should blend more with the +# background +# - We note that blue is the hardest color to see on dark bg and yellow is the hardest +# color to see on light bg (with blue being particularly bad). So we choose yellow +# for multimedia files which are usually accessed in a GUI folder browser anyway. +# And blue is kept for custom use of this scheme's user. +# - See table below to see the assignments. + + +# Installation instructions: +# This file goes in the /etc directory, and must be world readable. +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. + +# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not +# pipes. 'all' adds color characters to all output. 'none' shuts colorization +# off. +COLOR tty + +# Below, there should be one TERM entry for each termtype that is colorizable +TERM alacritty +TERM ansi +TERM color_xterm +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM dvtm +TERM dvtm-256color +TERM Eterm +TERM eterm-color +TERM fbterm +TERM gnome +TERM gnome-256color +TERM jfbterm +TERM konsole +TERM konsole-256color +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM nxterm +TERM putty +TERM putty-256color +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode256 +TERM rxvt-unicode-256color +TERM screen +TERM screen-16color +TERM screen-16color-bce +TERM screen-16color-s +TERM screen-16color-bce-s +TERM screen-256color +TERM screen-256color-bce +TERM screen-256color-s +TERM screen-256color-bce-s +TERM screen-256color-italic +TERM screen-bce +TERM screen-w +TERM screen.linux +TERM screen.xterm-256color +TERM screen.xterm-new +TERM st +TERM st-meta +TERM st-256color +TERM st-meta-256color +TERM tmux +TERM tmux-256color +TERM vt100 +TERM xterm +TERM xterm-new +TERM xterm-16color +TERM xterm-256color +TERM xterm-256color-italic +TERM xterm-88color +TERM xterm-color +TERM xterm-debian +TERM xterm-termite + +# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output) +EIGHTBIT 1 + +############################################################################# +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +# +# NOTES: +# - See http://www.oreilly.com/catalog/wdnut/excerpt/color_names.html +# - Color combinations +# ANSI Color code Solarized Notes Universal SolDark SolLight +# ~~~~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~ ~~~~~~~~~ ~~~~~~~ ~~~~~~~~ +# 00 none NORMAL, FILE +# 30 black base02 +# 01;30 bright black base03 bg of SolDark +# 31 red red docs & mm src +# 01;31 bright red orange EXEC +# 32 green green editable text +# 01;32 bright green base01 unimportant text +# 33 yellow yellow unclear in light bg multimedia +# 01;33 bright yellow base00 fg of SolLight unimportant non-text +# 34 blue blue unclear in dark bg user customized +# 01;34 bright blue base0 fg in SolDark unimportant text +# 35 magenta magenta LINK +# 01;35 bright magenta violet archive/compressed +# 36 cyan cyan DIR +# 01;36 bright cyan base1 unimportant non-text +# 37 white base2 +# 01;37 bright white base3 bg in SolLight +# 05;37;41 unclear in Putty dark + + +### By file type + +# global default +NORMAL 00 +# normal file +FILE 00 +# directory +DIR 34 +# 777 directory +OTHER_WRITABLE 34;40 +# symbolic link +LINK 35 + +# pipe, socket, block device, character device (blue bg) +FIFO 30;44 +SOCK 35;44 +DOOR 35;44 # Solaris 2.5 and later +BLK 33;44 +CHR 37;44 + + +############################################################################# +### By file attributes + +# Orphaned symlinks (blinking white on red) +# Blink may or may not work (works on iTerm dark or light, and Putty dark) +ORPHAN 05;37;41 +# ... and the files that orphaned symlinks point to (blinking white on red) +MISSING 05;37;41 + +# files with execute permission +EXEC 01;31 # Unix +.cmd 01;31 # Win +.exe 01;31 # Win +.com 01;31 # Win +.bat 01;31 # Win +.reg 01;31 # Win +.app 01;31 # OSX + +############################################################################# +### By extension + +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') + +### Text formats + +# Text that we can edit with a regular editor +.txt 32 +.org 32 +.md 32 +.mkd 32 + +# Source text +.h 32 +.hpp 32 +.c 32 +.C 32 +.cc 32 +.cpp 32 +.cxx 32 +.objc 32 +.cl 32 +.sh 32 +.bash 32 +.csh 32 +.zsh 32 +.el 32 +.vim 32 +.java 32 +.pl 32 +.pm 32 +.py 32 +.rb 32 +.hs 32 +.php 32 +.htm 32 +.html 32 +.shtml 32 +.erb 32 +.haml 32 +.xml 32 +.rdf 32 +.css 32 +.sass 32 +.scss 32 +.less 32 +.js 32 +.coffee 32 +.man 32 +.0 32 +.1 32 +.2 32 +.3 32 +.4 32 +.5 32 +.6 32 +.7 32 +.8 32 +.9 32 +.l 32 +.n 32 +.p 32 +.pod 32 +.tex 32 +.go 32 +.sql 32 +.csv 32 +.sv 32 +.svh 32 +.v 32 +.vh 32 +.vhd 32 + +### Multimedia formats + +# Image +.bmp 33 +.cgm 33 +.dl 33 +.dvi 33 +.emf 33 +.eps 33 +.gif 33 +.jpeg 33 +.jpg 33 +.JPG 33 +.mng 33 +.pbm 33 +.pcx 33 +.pdf 33 +.pgm 33 +.png 33 +.PNG 33 +.ppm 33 +.pps 33 +.ppsx 33 +.ps 33 +.svg 33 +.svgz 33 +.tga 33 +.tif 33 +.tiff 33 +.xbm 33 +.xcf 33 +.xpm 33 +.xwd 33 +.xwd 33 +.yuv 33 + +# Audio +.aac 33 +.au 33 +.flac 33 +.m4a 33 +.mid 33 +.midi 33 +.mka 33 +.mp3 33 +.mpa 33 +.mpeg 33 +.mpg 33 +.ogg 33 +.opus 33 +.ra 33 +.wav 33 + +# Video +.anx 33 +.asf 33 +.avi 33 +.axv 33 +.flc 33 +.fli 33 +.flv 33 +.gl 33 +.m2v 33 +.m4v 33 +.mkv 33 +.mov 33 +.MOV 33 +.mp4 33 +.mp4v 33 +.mpeg 33 +.mpg 33 +.nuv 33 +.ogm 33 +.ogv 33 +.ogx 33 +.qt 33 +.rm 33 +.rmvb 33 +.swf 33 +.vob 33 +.webm 33 +.wmv 33 + +### Misc + +# Binary document formats and multimedia source +.doc 31 +.docx 31 +.rtf 31 +.odt 31 +.dot 31 +.dotx 31 +.ott 31 +.xls 31 +.xlsx 31 +.ods 31 +.ots 31 +.ppt 31 +.pptx 31 +.odp 31 +.otp 31 +.fla 31 +.psd 31 + +# Archives, compressed +.7z 1;35 +.apk 1;35 +.arj 1;35 +.bin 1;35 +.bz 1;35 +.bz2 1;35 +.cab 1;35 # Win +.deb 1;35 +.dmg 1;35 # OSX +.gem 1;35 +.gz 1;35 +.iso 1;35 +.jar 1;35 +.msi 1;35 # Win +.rar 1;35 +.rpm 1;35 +.tar 1;35 +.tbz 1;35 +.tbz2 1;35 +.tgz 1;35 +.tx 1;35 +.war 1;35 +.xpi 1;35 +.xz 1;35 +.z 1;35 +.Z 1;35 +.zip 1;35 + +# For testing +.ANSI-30-black 30 +.ANSI-01;30-brblack 01;30 +.ANSI-31-red 31 +.ANSI-01;31-brred 01;31 +.ANSI-32-green 32 +.ANSI-01;32-brgreen 01;32 +.ANSI-33-yellow 33 +.ANSI-01;33-bryellow 01;33 +.ANSI-34-blue 34 +.ANSI-01;34-brblue 01;34 +.ANSI-35-magenta 35 +.ANSI-01;35-brmagenta 01;35 +.ANSI-36-cyan 36 +.ANSI-01;36-brcyan 01;36 +.ANSI-37-white 37 +.ANSI-01;37-brwhite 01;37 + +############################################################################# +# Your customizations + +# Unimportant text files +# For universal scheme, use brightgreen 01;32 +# For optimal on light bg (but too prominent on dark bg), use white 01;34 +.log 01;32 +*~ 01;32 +*# 01;32 +#.log 01;34 +#*~ 01;34 +#*# 01;34 + +# Unimportant non-text files +# For universal scheme, use brightcyan 01;36 +# For optimal on dark bg (but too prominent on light bg), change to 01;33 +#.bak 01;36 +#.BAK 01;36 +#.old 01;36 +#.OLD 01;36 +#.org_archive 01;36 +#.off 01;36 +#.OFF 01;36 +#.dist 01;36 +#.DIST 01;36 +#.orig 01;36 +#.ORIG 01;36 +#.swp 01;36 +#.swo 01;36 +#*,v 01;36 +.bak 01;33 +.BAK 01;33 +.old 01;33 +.OLD 01;33 +.org_archive 01;33 +.off 01;33 +.OFF 01;33 +.dist 01;33 +.DIST 01;33 +.orig 01;33 +.ORIG 01;33 +.swp 01;33 +.swo 01;33 +*,v 01;33 + +# The brightmagenta (Solarized: purple) color is free for you to use for your +# custom file type +.gpg 34 +.gpg 34 +.pgp 34 +.asc 34 +.3des 34 +.aes 34 +.enc 34 +.sqlite 34 diff --git a/zsh/dircolors.ansi-universal b/zsh/dircolors.ansi-universal new file mode 100644 index 00000000..c4998002 --- /dev/null +++ b/zsh/dircolors.ansi-universal @@ -0,0 +1,478 @@ +# Exact Solarized color theme for the color GNU ls utility. +# Designed for dircolors (GNU coreutils) 5.97 +# +# This simple theme was simultaneously designed for these terminal color schemes: +# - Solarized dark (best) +# - Solarized light (best) +# - default dark +# - default light +# +# How the colors were selected: +# - Terminal emulators often have an option typically enabled by default that makes +# bold a different color. It is important to leave this option enabled so that +# you can access the entire 16-color Solarized palette, and not just 8 colors. +# - We favor universality over a greater number of colors. So we limit the number +# of colors so that this theme will work out of the box in all terminals, +# Solarized or not, dark or light. +# - We choose to have the following category of files: +# NORMAL & FILE, DIR, LINK, EXEC and +# editable text including source, unimportant text, binary docs & multimedia source +# files, viewable multimedia, archived/compressed, and unimportant non-text +# - For uniqueness, we stay away from the Solarized foreground colors are -- either +# base00 (brightyellow) or base0 (brightblue). However, they can be used if +# you know what the bg/fg colors of your terminal are, in order to optimize the display. +# - 3 different options are provided: universal, solarized dark, and solarized light. +# The only difference between the universal scheme and one that's optimized for +# dark/light is the color of "unimportant" files, which should blend more with the +# background +# - We note that blue is the hardest color to see on dark bg and yellow is the hardest +# color to see on light bg (with blue being particularly bad). So we choose yellow +# for multimedia files which are usually accessed in a GUI folder browser anyway. +# And blue is kept for custom use of this scheme's user. +# - See table below to see the assignments. + + +# Installation instructions: +# This file goes in the /etc directory, and must be world readable. +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. + +# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not +# pipes. 'all' adds color characters to all output. 'none' shuts colorization +# off. +COLOR tty + +# Below, there should be one TERM entry for each termtype that is colorizable +TERM alacritty +TERM ansi +TERM color_xterm +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM dvtm +TERM dvtm-256color +TERM Eterm +TERM eterm-color +TERM fbterm +TERM gnome +TERM gnome-256color +TERM jfbterm +TERM konsole +TERM konsole-256color +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM nxterm +TERM putty +TERM putty-256color +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode256 +TERM rxvt-unicode-256color +TERM screen +TERM screen-16color +TERM screen-16color-bce +TERM screen-16color-s +TERM screen-16color-bce-s +TERM screen-256color +TERM screen-256color-bce +TERM screen-256color-s +TERM screen-256color-bce-s +TERM screen-256color-italic +TERM screen-bce +TERM screen-w +TERM screen.xterm-256color +TERM screen.linux +TERM screen.xterm-new +TERM st +TERM st-meta +TERM st-256color +TERM st-meta-256color +TERM tmux +TERM tmux-256color +TERM vt100 +TERM xterm +TERM xterm-new +TERM xterm-16color +TERM xterm-256color +TERM xterm-256color-italic +TERM xterm-88color +TERM xterm-color +TERM xterm-debian +TERM xterm-termite + +# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output) +EIGHTBIT 1 + +############################################################################# +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +# +# NOTES: +# - See http://www.oreilly.com/catalog/wdnut/excerpt/color_names.html +# - Color combinations +# ANSI Color code Solarized Notes Universal SolDark SolLight +# ~~~~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~ ~~~~~~~~~ ~~~~~~~ ~~~~~~~~ +# 00 none NORMAL, FILE +# 30 black base02 +# 01;30 bright black base03 bg of SolDark +# 31 red red docs & mm src +# 01;31 bright red orange EXEC +# 32 green green editable text +# 01;32 bright green base01 unimportant text +# 33 yellow yellow unclear in light bg multimedia +# 01;33 bright yellow base00 fg of SolLight unimportant non-text +# 34 blue blue unclear in dark bg user customized +# 01;34 bright blue base0 fg in SolDark unimportant text +# 35 magenta magenta LINK +# 01;35 bright magenta violet archive/compressed +# 36 cyan cyan DIR +# 01;36 bright cyan base1 unimportant non-text +# 37 white base2 +# 01;37 bright white base3 bg in SolLight +# 05;37;41 unclear in Putty dark + + +### By file type + +# global default +NORMAL 00 +# normal file +FILE 00 +# directory +DIR 36 +# symbolic link +LINK 35 + +# pipe, socket, block device, character device (blue bg) +FIFO 30;44 +SOCK 35;44 +DOOR 35;44 # Solaris 2.5 and later +BLK 33;44 +CHR 37;44 + + +############################################################################# +### By file attributes + +# Orphaned symlinks (blinking white on red) +# Blink may or may not work (works on iTerm dark or light, and Putty dark) +ORPHAN 05;37;41 +# ... and the files that orphaned symlinks point to (blinking white on red) +MISSING 05;37;41 + +# files with execute permission +EXEC 01;31 # Unix +.cmd 01;31 # Win +.exe 01;31 # Win +.com 01;31 # Win +.bat 01;31 # Win +.reg 01;31 # Win +.app 01;31 # OSX + +############################################################################# +### By extension + +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') + +### Text formats + +# Text that we can edit with a regular editor +.txt 32 +.org 32 +.md 32 +.mkd 32 + +# Source text +.h 32 +.hpp 32 +.c 32 +.C 32 +.cc 32 +.cpp 32 +.cxx 32 +.objc 32 +.cl 32 +.sh 32 +.bash 32 +.csh 32 +.zsh 32 +.el 32 +.vim 32 +.java 32 +.pl 32 +.pm 32 +.py 32 +.rb 32 +.hs 32 +.php 32 +.htm 32 +.html 32 +.shtml 32 +.erb 32 +.haml 32 +.xml 32 +.rdf 32 +.css 32 +.sass 32 +.scss 32 +.less 32 +.js 32 +.coffee 32 +.man 32 +.0 32 +.1 32 +.2 32 +.3 32 +.4 32 +.5 32 +.6 32 +.7 32 +.8 32 +.9 32 +.l 32 +.n 32 +.p 32 +.pod 32 +.tex 32 +.go 32 +.sql 32 +.csv 32 +.sv 32 +.svh 32 +.v 32 +.vh 32 +.vhd 32 + +### Multimedia formats + +# Image +.bmp 33 +.cgm 33 +.dl 33 +.dvi 33 +.emf 33 +.eps 33 +.gif 33 +.jpeg 33 +.jpg 33 +.JPG 33 +.mng 33 +.pbm 33 +.pcx 33 +.pdf 33 +.pgm 33 +.png 33 +.PNG 33 +.ppm 33 +.pps 33 +.ppsx 33 +.ps 33 +.svg 33 +.svgz 33 +.tga 33 +.tif 33 +.tiff 33 +.xbm 33 +.xcf 33 +.xpm 33 +.xwd 33 +.xwd 33 +.yuv 33 + +# Audio +.aac 33 +.au 33 +.flac 33 +.m4a 33 +.mid 33 +.midi 33 +.mka 33 +.mp3 33 +.mpa 33 +.mpeg 33 +.mpg 33 +.ogg 33 +.opus 33 +.ra 33 +.wav 33 + +# Video +.anx 33 +.asf 33 +.avi 33 +.axv 33 +.flc 33 +.fli 33 +.flv 33 +.gl 33 +.m2v 33 +.m4v 33 +.mkv 33 +.mov 33 +.MOV 33 +.mp4 33 +.mp4v 33 +.mpeg 33 +.mpg 33 +.nuv 33 +.ogm 33 +.ogv 33 +.ogx 33 +.qt 33 +.rm 33 +.rmvb 33 +.swf 33 +.vob 33 +.webm 33 +.wmv 33 + +### Misc + +# Binary document formats and multimedia source +.doc 31 +.docx 31 +.rtf 31 +.odt 31 +.dot 31 +.dotx 31 +.ott 31 +.xls 31 +.xlsx 31 +.ods 31 +.ots 31 +.ppt 31 +.pptx 31 +.odp 31 +.otp 31 +.fla 31 +.psd 31 + +# Archives, compressed +.7z 1;35 +.apk 1;35 +.arj 1;35 +.bin 1;35 +.bz 1;35 +.bz2 1;35 +.cab 1;35 # Win +.deb 1;35 +.dmg 1;35 # OSX +.gem 1;35 +.gz 1;35 +.iso 1;35 +.jar 1;35 +.msi 1;35 # Win +.rar 1;35 +.rpm 1;35 +.tar 1;35 +.tbz 1;35 +.tbz2 1;35 +.tgz 1;35 +.tx 1;35 +.war 1;35 +.xpi 1;35 +.xz 1;35 +.z 1;35 +.Z 1;35 +.zip 1;35 + +# For testing +.ANSI-30-black 30 +.ANSI-01;30-brblack 01;30 +.ANSI-31-red 31 +.ANSI-01;31-brred 01;31 +.ANSI-32-green 32 +.ANSI-01;32-brgreen 01;32 +.ANSI-33-yellow 33 +.ANSI-01;33-bryellow 01;33 +.ANSI-34-blue 34 +.ANSI-01;34-brblue 01;34 +.ANSI-35-magenta 35 +.ANSI-01;35-brmagenta 01;35 +.ANSI-36-cyan 36 +.ANSI-01;36-brcyan 01;36 +.ANSI-37-white 37 +.ANSI-01;37-brwhite 01;37 + +############################################################################# +# Your customizations + +# Unimportant text files +# For universal scheme, use brightgreen 01;32 +# For optimal on light bg (but too prominent on dark bg), use white 01;34 +.log 01;32 +*~ 01;32 +*# 01;32 +#.log 01;34 +#*~ 01;34 +#*# 01;34 + +# Unimportant non-text files +# For universal scheme, use brightcyan 01;36 +# For optimal on dark bg (but too prominent on light bg), change to 01;33 +.bak 01;36 +.BAK 01;36 +.old 01;36 +.OLD 01;36 +.org_archive 01;36 +.off 01;36 +.OFF 01;36 +.dist 01;36 +.DIST 01;36 +.orig 01;36 +.ORIG 01;36 +.swp 01;36 +.swo 01;36 +*,v 01;36 +#.bak 01;33 +#.BAK 01;33 +#.old 01;33 +#.OLD 01;33 +#.org_archive 01;33 +#.off 01;33 +#.OFF 01;33 +#.dist 01;33 +#.DIST 01;33 +#.orig 01;33 +#.ORIG 01;33 +#.swp 01;33 +#.swo 01;33 +#*,v 01;33 + +# The brightmagenta (Solarized: purple) color is free for you to use for your +# custom file type +.gpg 34 +.gpg 34 +.pgp 34 +.asc 34 +.3des 34 +.aes 34 +.enc 34 +.sqlite 34 diff --git a/zsh/dircolors.nord b/zsh/dircolors.nord new file mode 100644 index 00000000..8d23c888 --- /dev/null +++ b/zsh/dircolors.nord @@ -0,0 +1,253 @@ +# Copyright (C) 2017-present Arctic Ice Studio +# Copyright (C) 2017-present Sven Greb + +# Project: Nord dircolors +# Version: 0.2.0 +# Repository: https://github.com/arcticicestudio/nord-dircolors +# License: MIT + +COLOR tty + +TERM ansi +TERM *color* +TERM con[0-9]*x[0-9]* +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM dvtm +TERM dvtm-256color +TERM Eterm +TERM eterm-color +TERM fbterm +TERM gnome +TERM gnome-256color +TERM hurd +TERM jfbterm +TERM konsole +TERM konsole-256color +TERM kterm +TERM linux +TERM linux-c +TERM mlterm +TERM putty +TERM putty-256color +TERM rxvt* +TERM rxvt-unicode +TERM rxvt-256color +TERM rxvt-unicode256 +TERM screen* +TERM screen-256color +TERM st +TERM st-256color +TERM terminator +TERM tmux* +TERM tmux-256color +TERM vt100 +TERM xterm* +TERM xterm-color +TERM xterm-88color +TERM xterm-256color + +#+-----------------+ +#+ Global Defaults + +#+-----------------+ +NORMAL 00 +RESET 0 + +FILE 00 +DIR 01;34 +LINK 36 +MULTIHARDLINK 04;36 + +FIFO 04;01;36 +SOCK 04;33 +DOOR 04;01;36 +BLK 01;33 +CHR 33 + +ORPHAN 31 +MISSING 01;37;41 + +EXEC 01;36 + +SETUID 01;04;37 +SETGID 01;04;37 +CAPABILITY 01;37 + +STICKY_OTHER_WRITABLE 01;37;44 +OTHER_WRITABLE 01;04;34 +STICKY 04;37;44 + +#+-------------------+ +#+ Extension Pattern + +#+-------------------+ +#+--- Archives ---+ +.7z 01;32 +.ace 01;32 +.alz 01;32 +.arc 01;32 +.arj 01;32 +.bz 01;32 +.bz2 01;32 +.cab 01;32 +.cpio 01;32 +.deb 01;32 +.dz 01;32 +.ear 01;32 +.gz 01;32 +.jar 01;32 +.lha 01;32 +.lrz 01;32 +.lz 01;32 +.lz4 01;32 +.lzh 01;32 +.lzma 01;32 +.lzo 01;32 +.rar 01;32 +.rpm 01;32 +.rz 01;32 +.sar 01;32 +.t7z 01;32 +.tar 01;32 +.taz 01;32 +.tbz 01;32 +.tbz2 01;32 +.tgz 01;32 +.tlz 01;32 +.txz 01;32 +.tz 01;32 +.tzo 01;32 +.tzst 01;32 +.war 01;32 +.xz 01;32 +.z 01;32 +.Z 01;32 +.zip 01;32 +.zoo 01;32 +.zst 01;32 + +#+--- Audio ---+ +.aac 32 +.au 32 +.flac 32 +.m4a 32 +.mid 32 +.midi 32 +.mka 32 +.mp3 32 +.mpa 32 +.mpeg 32 +.mpg 32 +.ogg 32 +.opus 32 +.ra 32 +.wav 32 + +#+--- Customs ---+ +.3des 01;35 +.aes 01;35 +.gpg 01;35 +.pgp 01;35 + +#+--- Documents ---+ +.doc 32 +.docx 32 +.dot 32 +.odg 32 +.odp 32 +.ods 32 +.odt 32 +.otg 32 +.otp 32 +.ots 32 +.ott 32 +.pdf 32 +.ppt 32 +.pptx 32 +.xls 32 +.xlsx 32 + +#+--- Executables ---+ +.app 01;36 +.bat 01;36 +.btm 01;36 +.cmd 01;36 +.com 01;36 +.exe 01;36 +.reg 01;36 + +#+--- Ignores ---+ +*~ 02;37 +.bak 02;37 +.BAK 02;37 +.log 02;37 +.log 02;37 +.old 02;37 +.OLD 02;37 +.orig 02;37 +.ORIG 02;37 +.swo 02;37 +.swp 02;37 + +#+--- Images ---+ +.bmp 32 +.cgm 32 +.dl 32 +.dvi 32 +.emf 32 +.eps 32 +.gif 32 +.jpeg 32 +.jpg 32 +.JPG 32 +.mng 32 +.pbm 32 +.pcx 32 +.pgm 32 +.png 32 +.PNG 32 +.ppm 32 +.pps 32 +.ppsx 32 +.ps 32 +.svg 32 +.svgz 32 +.tga 32 +.tif 32 +.tiff 32 +.xbm 32 +.xcf 32 +.xpm 32 +.xwd 32 +.xwd 32 +.yuv 32 + +#+--- Video ---+ +.anx 32 +.asf 32 +.avi 32 +.axv 32 +.flc 32 +.fli 32 +.flv 32 +.gl 32 +.m2v 32 +.m4v 32 +.mkv 32 +.mov 32 +.MOV 32 +.mp4 32 +.mpeg 32 +.mpg 32 +.nuv 32 +.ogm 32 +.ogv 32 +.ogx 32 +.qt 32 +.rm 32 +.rmvb 32 +.swf 32 +.vob 32 +.webm 32 +.wmv 32 From 0ffb5c91db7b85493ba3e7bd30974d3113f7c4f1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 3 Sep 2019 10:57:06 +0200 Subject: [PATCH 0083/2080] tmux: fix artefacts on MacOS X. --- tmux.conf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tmux.conf b/tmux.conf index f61bfa36..c19fdb5b 100644 --- a/tmux.conf +++ b/tmux.conf @@ -12,8 +12,10 @@ set-window-option -g mouse off # Add true color support # $TERM, fix colors / use true colors # set -g default-terminal "tmux-256color" -# set -g default-terminal "screen-256color" -set -g default-terminal "xterm-256color" +set -g default-terminal "screen-256color" +# XXX this seems to be the setting breaking neomutt +# (artefacts in index after opening the pager) +# set -g default-terminal "xterm-256color" set -ga terminal-overrides ",*256col*:Tc" # reload From 4417347f78c085d8eb1f27f78361a32d956234d9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 3 Sep 2019 10:57:21 +0200 Subject: [PATCH 0084/2080] nvim: update ale conf --- config/nvim/init.vim | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 96368433..2e032012 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -93,7 +93,7 @@ Plug 'plasticboy/vim-markdown' Plug 'rking/ag.vim' " Syntax validation " Plug 'scrooloose/syntastic' -Plug 'w0rp/ale' +Plug 'dense-analysis/ale' " git integration Plug 'tpope/vim-fugitive' Plug 'airblade/vim-gitgutter' @@ -131,7 +131,6 @@ Plug 'teranex/vimwiki-tasks' Plug 'fmoralesc/vim-tutor-mode' Plug 'tmux-plugins/vim-tmux' "Plug 'mrtazz/simplenote.vim' -Plug 'w0rp/ale' Plug 'dag/vim-fish' Plug 'neomutt/neomutt.vim' " Plug 'blindFS/vim-taskwarrior' @@ -512,13 +511,35 @@ let g:snips_company='EGI Foundation' "endfunction " ale -let g:ale_completion_enabled = 1 -" let g:ale_fix_on_save = 1 +" Not only run linters named in ale_linters settings. +let g:ale_linters_explicit = 0 +let g:ale_sign_column_always = 1 +let g:ale_completion_enabled = 0 +let g:ale_fix_on_save = 1 +let g:airline#extensions#ale#enabled = 1 + +let g:ale_lint_on_text_changed = 'always' +let g:ale_lint_on_insert_leave = 1 +" You can disable this option too +" if you don't want linters to run on opening a file +let g:ale_lint_on_enter = 1 +let g:ale_set_loclist = 1 +let g:ale_set_quickfix = 1 +let g:ale_open_list = 1 +let g:ale_keep_list_window_open = 1 +" Show 5 lines of errors (default: 10) +let g:ale_list_window_size = 5 + +let g:ale_linters = { +\ 'bash': ['bashate'], +\} let g:ale_fixers = { +\ 'javascript': ['eslint'], \ 'json': ['prettier'], \ 'markdown': ['prettier'], \ 'yaml': ['prettier'], +\ '*': ['remove_trailing_lines', 'trim_whitespace'], \} " coc.nvim @@ -674,10 +695,12 @@ nnoremap k gk vnoremap j gj vnoremap k gk -" Some useful abreviations +" Some useful abbreviations :iab brb Best regards,Baptiste :iab cb Cheers,Baptiste +" XXX doesn't seem to work +:iab cl ---------8<--------8<-------------8<------------8<------------8<---------- " https://github.com/tpope/vim-sensible/pull/127 let g:is_posix=1 From 6b877edde3dbf9c8c5145097bc3853d34a963183 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Tue, 3 Sep 2019 10:57:31 +0200 Subject: [PATCH 0085/2080] nvim: update spell --- config/nvim/spell/en.utf-8.add | 17 +++++++++++++++++ config/nvim/spell/en.utf-8.add.spl | Bin 3309 -> 3538 bytes 2 files changed, 17 insertions(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index 90464843..03c0fb20 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -236,3 +236,20 @@ v3 vo Enol's openstack +Kubernetes +admins +XDC +Sirtfi +DocDB +XSS +CINES +IGTF +MSI +Optix +MAG341CQ +BENQ +EX3501R +www +UltraWide +QHD +C34H890 diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index ea6a7b6e5a62fcd8419850aba4af0c79c0570bc9..49815bebff6d239413dee4e5778f1dc61bb11213 100644 GIT binary patch literal 3538 zcmY*bO>f*(6!m+aCM|_UL1IA^%?gdQn>QyJ4Yn zm5P2gGu-y&qz}VX53s}UQ5Wv}aAlnP(1z5hz&Ho6!*>y$kT-HwYJZGPSHwh5V>yiF z5({>%L=CYk0Dy8x_6KJhz!paFARSKCODa^C)hlxH0)nUl+85Wy0~=|An=}`N0A;`yWywep#_VThK-W4k4)e;{=VVEnR~$gHY#OosQthq2ZRm zJZ7yubm=k`0L=i15mbtNN*gvNc&DHCHLCZry1>KVU(^}$R1+XX`J&mB?qXalnlmHWzk|pCf)A0m|I9P@1!?LE4KV0mQENwA66qJAp16Q&$ zuIKj%5PSo{31){s(qv0Lp@#tkZ3eI3FLkF|g*ZW)mbJ%J^FRC1Mf%wkRZ*NiR5>b= zPlo{2`3xFd=|ME-MQL8Jzu~|UdfI12`#1tgi}f5~9pg`Q?n&A&rwEY4B7M@zYn&h? zZwMjT4V$$BKA8cmuaFEGJtYiUF9e`COfgmU*^DuQOR-GsPB#&kKzfGEMTh!37acu8 zdqFyHNWq=w;4)#ypyXbm8epZ1RWBaEv5%utkp@SM5s;@#iA?Q{BuUD$pYgRHLz%C~ z0!ZzN&xKU`DTJ|{updYYn?9O=EBjt#qbp%$EGcHjM56^Fz$5|mOWdn-#hmL!2?m8T z8JYoIVIRu8F`>fNr0yizl{ogazP3A(r|bsY}Ov=#0)DFOds~IC0IL*ay`h^LxNxUT;PyR)!(s3 zUC0uKhwLehGRr)x|6pEcW1Fi($gGtsw%J*8ZXo2~Ce- z1aFRf_+{GuBcKTEfHx=3X*?S%d^F?+x3&gggW50EEzve#FcC}x^lypAjp0f98RjAU zkoIEO7cTs1V)Kq93(o~{nz26l7;mew{*nRI{_=pPk3gA;xj$tr+n0!^F+TM&ewKW5 z+ZE=9Y`r4oHtDb)a1!Or)XX6pv-V-6ecrgNU+r%2BV~6#llW_E1NAw4jU;{Oe#_Dq zp1pdlxw^LA+T7Z1@7&nEdF##Fa5}PgK);(Pt%aUgC8YW_1Sy}F_3PZerB|Zb>iWj6 zx}n;lu!95FWwolVVzsKaWVePLPQ1Pj1FL}czfZ+_UTfgx!d4K1aW`h)f%OYgPGfi% zhxk#tDduFH7uqh^8gc9920}`aeuDC=-;NAF(-NyaB)R&4s)O^`*UzuYrxTCd->}=a zCu&zUF(llFpniUlToi*h;A017q@U_M%tWw(F@qGNOAuXFwC9>;5O$Mv}zyF60g=3~cHw|*7*YgHFgQ&7F3n;BqiKAvl+ z9}64IHL-kcbNl-4Eu5}+deQWU@bse@PqXK&y2yTKjNDzv-C(o2V>dxjcSYEQr;3d4 zNcQSYGA_Sf0;s$pN?W2-aa}#c`xJdao7;LPR=2oZbRgz9zG=qskIMy8mb5 RJ;Rn$B z`mjsw06RQqLwFp)ljyX3XhYgCI8T|uFZQiW71}?*W+-9;rI8FqGJ%aYIVT+DvHBuq=*tHA9D3Jb2PP<-UP&Wau zy>RX~o=~$l!3mG6S*Qlu&?wC@Yne6iD1i$jp-1@504S$U*T$AtP;KYf6aq5Si>UqA zA#5fwpj@hhmqYRlsgmc7I0?UL*FjYNeD0k&;gQii<%Wd5;jF$VqYH)=M#02ak-Y@pyH?@$Q~fI&f-8tXXK(F};#GPxSTvZj&eF7`;4 zc9z2CGH5<4&s4 z7(tbNA&G1dnYxoggDbsmYMx25oP>tyh76iMOF6<3NZKsqRMNowKyt*$)u#y}V|NHE z+F2z)O_4RoIHs^(&f$`gGc<$Ig#P3U^=HaZF!r#FD}!My_8~gqAQ7a0 z*d}*tY{`Uelq03(kZZA5BK&iF76MtFol5jDbK+}1f-+wpSm$R2{o6$Q34~FZ7xh-c zIPasd%u~gf3YZ2v2a-J|L-N-~Q==td`xDu}$pOp6AU~Tcw4Js@Zb{=X6;i}l>^DJ$ zs^_PN;+P`Uj64KNw>^^Bm~s*)!#zN$t(UVLYa}|ZaeBmN9OqNuD}5YW21xQ} zr2GJ&5X(;-K$Z>q$%sxrvfUGCn!zYlPPH9!a`P7F$gpa}sk9!t1LTd2_nnIAbtq6FOPO1*UJ~l93`&tI%j7 zTAxXmkwM>Z-(?l&)TT+o(#QK?oF`pRrgHKb0iZ%tC1HS{rJ;dP5VBP7Mk8QY3ag_T zK+%QhE)$QvYgBvkflIR9z#JdKGCDfo*OFN#!z)GNnALpEHT`R?O5PWX>0yEU^3S^wfZ; z8fKg#lN__ywI_&G`1^1KH_Qz4CtN%-XmIEpH&5fYwZxyZC=H$~V+^|LgL0gA?MH-x zDPa6H))?)cWSCJM!V||-1p6|(p3Ew|!8k8#L6oGhcak08ZP}}j=)L-j2Q(wZ#lUN~ zq}RIVh^KW>`5ZUWXI!_>OC4>@&Qo@kXvVguNVV#k(LQfM7OA=({7%{WkMM?Pb*vu4 z!&D*$pB?1;%FfljFR%GQHmz)@6V*fc9MpZ4zUwQ9OupvoTikx7 zmrQkaZGA^wQGHR^#(^zat*VPyt*Q;#b+N;V-Wm+70@;5)(dxpWGaCWFql(hf4z&2y z*OT+okZ1ZXx&(3R&N@O!kYu9p%jZDamuZO9E>c;3$J9Blc+m_0?yu|qOzo%+c#gyO zL)hEK5n)7~YChgs-qE~ zXPmmoUN9o=wlJ_OEY!%2k<}d$cHpTTl-E7M(&04ZXF>p#%c8U)O64@FGe-$ZOq-jq zy~ou;lZO{J`5if@`$`$mtORgQgS9cNmdU^Vj;$98@gP}$9qMZwZUkUI##VulLBhfJ g9n^7GmHZiP3dsL`HKJs@kVE_N3}$WcR~`QS3%@91dH?_b From 7baa6857343492dab205255d30e10545f3ec2424 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 5 Sep 2019 21:50:22 +0200 Subject: [PATCH 0086/2080] neomutt: move neomutt-specific content to neomutt-specific files --- config/neomutt/mutt-common.rc | 171 ++++++++++++++++++ config/neomutt/muttrc | 7 + config/neomutt/neomuttrc | 171 +----------------- config/neomutt/notmuch-mutt.rc | 22 +++ .../neomutt/{notmuch => notmuch-neomutt.rc} | 0 config/neomutt/profile-maildir.egi | 3 - 6 files changed, 205 insertions(+), 169 deletions(-) create mode 100644 config/neomutt/mutt-common.rc create mode 100644 config/neomutt/muttrc create mode 100644 config/neomutt/notmuch-mutt.rc rename config/neomutt/{notmuch => notmuch-neomutt.rc} (100%) diff --git a/config/neomutt/mutt-common.rc b/config/neomutt/mutt-common.rc new file mode 100644 index 00000000..e3fa7178 --- /dev/null +++ b/config/neomutt/mutt-common.rc @@ -0,0 +1,171 @@ +# http://stevelosh.com/blog/2012/10/the-homely-mutt +# https://pbrisbin.com/posts/mutt_gmail_offlineimap/ + +# Caching +set header_cache = ~/.mutt/cache/headers +set message_cachedir = ~/.mutt/cache/bodies +set certificate_file = ~/.mutt/certificates + +set tmpdir = '~/tmp' + +set editor = 'nvim' +set shell = "/bin/zsh" + +# number of input lines for prompts to remember +set history = 1000 +set history_file = "~/.config/neomutt/history" +set save_history = 1000 + +# SMIME / PGP +set smime_is_default = yes +set crypt_autosmime = yes +set crypt_verify_sig = yes +set crypt_autosign = yes +set crypt_replysign = yes +set crypt_replysignencrypted = yes +set smime_ask_cert_label +set forward_decrypt = yes + +set mailcap_path = "~/.mailcap:/etc/mailcap" + +# Printing +set print = ask-yes # ask before printing +# set print_command="muttprint %s -P A4 -p CanonMX920" +set print_command = "muttprint %s -P A4 -C lpr" + +# skip to compose when replying +set fast_reply +# ask for CC: +set askcc + +set folder_format = "%3C %t %N %f" + +# set index_format = "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s" +# Display sender instead of subscrived maling list +set index_format = "%4C %Z %{%b %d} %-20.19F (%?l?%4l&%4c?) %s" + +# Status bar +set status_chars = " *%A" +set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───" + +# Quotations +set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" + +set attribution = "Le %(%d/%m/%y) à %(%H:%M), %n téléscripta :" + +# Send flowed emails +set text_flowed = yes +# Wrap received flowed emails +set reflow_text = yes +set reflow_wrap = 76 + +set mail_check = 0 +set envelope_from +# reply as whomever it was to +set reverse_alias +# set reverse_name + +# Hooks +source ~/.config/neomutt/hooks + +set quit # don't ask, just do!! +unset mark_old # read/new is good enough + +# sort/threading +# Goal: +# * sort by threads, most recent at the top +# * within threads: oldest message at the top, oldest to newest in descending order +# Default sorting +# Set by threads, most recent on top, but sometimes weird inside threads +# Most of the time from oldest to neweset, but sometims some are mixed +set sort = threads +set sort_aux = reverse-last-date-received +# thread based on regex +set sort_re +set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" +# Ensure that INBOX is always using appropriate sorting +folder-hook Inbox 'set sort=threads sort_aux=reverse-last-date-received sort_re' +folder-hook Sent 'set sort=reverse-last-date' +# Threads sorted correctly but at bottom +#set sort_aux = last-date-received + +# collapse threads with unread mails +# set collapse_unread +# don't collapse on an unread message +set uncollapse_jump + +# Pager View Options +# format of the pager status bar +spam "X-Spam-Score: ([0-9\\.]+).*" "SA: %1" +set pager_format = "──[%[%y.%m.%d %H:%M]]──[%.20F]─[%s]%*─%?H?─[%H] ?" + +# number of index lines to show +set pager_index_lines = 10 +# number of context lines to show +set pager_context = 5 +# don't go to next message automatically +set pager_stop +# scroll in menus +set menu_scroll +set smart_wrap +# show tildes like in vim +set tilde +# no ugly plus signs +unset markers + +# composing +# save attachments with the body +set fcc_attach +set include + +set forward_decode = yes + +# Forward message as attachement +set mime_forward = ask-yes +set mime_forward_rest = ask-yes + +# Forgotter Attachemnt +source ~/.config/neomutt/forgotten-attachment + +# Colors +source ~/.config/neomutt/colors +source ~/.config/neomutt/index-color + +# Key bindings, macros +source ~/.config/neomutt/bindings + +# Spelling +set ispell = "aspell -e -c" + +set send_charset = "utf-8" + +# Headers +source ~/.config/neomutt/headers + +# MIME-Viewer +source ~/.config/neomutt/mime-view +# XXX Configure automatic querying of mime types +# set mime_type_query_command = "file --mime-type --brief" +# set mime_type_query_first = no + +# Disaplay filter +#set display_filter=/home/baptiste/.mutt/mutt_display_filter +#set display_filter=/home/baptiste/.mutt/test_display_filter +#set display_filter='par 72gqr' +#set wrapmargin=60 + +# http://www.neomutt.org/feature/new-mail/ +# set new_mail_command="notify-send --icon='/home/baptiste/.mutt/mutt.png' 'New Email in %f' '%n new messages, %u unread.' &" + +# Maildir +source ~/.config/neomutt/maildir + +# sidebar +source ~/.config/neomutt/sidebar + +set realname = "Baptiste Grenier" + +# Source EGI profile +source ~/.config/neomutt/profile-maildir.egi + +# vim: set ft=muttrc: diff --git a/config/neomutt/muttrc b/config/neomutt/muttrc new file mode 100644 index 00000000..391b1326 --- /dev/null +++ b/config/neomutt/muttrc @@ -0,0 +1,7 @@ +# Source Mutt legacy configuration +source ~/.config/neomutt/mutt-common.rc + +# Notmuch support without patched mutt +source ~/.config/neomutt/notmuch-mutt.rc + +# vim: set ft=muttrc: diff --git a/config/neomutt/neomuttrc b/config/neomutt/neomuttrc index b0111884..70f68293 100644 --- a/config/neomutt/neomuttrc +++ b/config/neomutt/neomuttrc @@ -1,172 +1,11 @@ -# http://stevelosh.com/blog/2012/10/the-homely-mutt -# https://pbrisbin.com/posts/mutt_gmail_offlineimap/ - -# Caching -set header_cache = ~/.mutt/cache/headers -set message_cachedir = ~/.mutt/cache/bodies -set certificate_file = ~/.mutt/certificates - -set tmpdir = '~/tmp' - -set editor = 'nvim' -set shell = "/bin/zsh" - -# number of input lines for prompts to remember -set history = 1000 -set history_file = "~/.config/neomutt/history" -set save_history = 1000 - -# SMIME / PGP -set smime_is_default = yes -set crypt_autosmime = yes -set crypt_verify_sig = yes -set crypt_autosign = yes -set crypt_replysign = yes -set crypt_replysignencrypted = yes -set smime_ask_cert_label -set forward_decrypt = yes - -set mailcap_path = "~/.mailcap:/etc/mailcap" - -# Printing -set print = ask-yes # ask before printing -# set print_command="muttprint %s -P A4 -p CanonMX920" -set print_command = "muttprint %s -P A4 -C lpr" - -# skip to compose when replying -set fast_reply -# ask for CC: -set askcc - -set folder_format = "%3C %t %N %f" - -# set index_format = "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s" -# Display sender instead of subscrived maling list -set index_format = "%4C %Z %{%b %d} %-20.19F (%?l?%4l&%4c?) %s" - -# Status bar -set status_chars = " *%A" -set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───" - -# Quotations -set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" - -set attribution = "Le %(%d/%m/%y) à %(%H:%M), %n téléscripta :" - -# Send flowed emails -set text_flowed = yes -# Wrap received flowed emails -set reflow_text = yes -set reflow_wrap = 76 - -set mail_check = 0 -set envelope_from -# reply as whomever it was to -set reverse_alias -# set reverse_name - -# Hooks -source ~/.config/neomutt/hooks - -set quit # don't ask, just do!! -unset mark_old # read/new is good enough - -# sort/threading -# Goal: -# * sort by threads, most recent at the top -# * within threads: oldest message at the top, oldest to newest in descending order -# Default sorting -# Set by threads, most recent on top, but sometimes weird inside threads -# Most of the time from oldest to neweset, but sometims some are mixed -set sort = threads -set sort_aux = reverse-last-date-received -# thread based on regex -set sort_re -set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" -# Ensure that INBOX is always using appropriate sorting -folder-hook Inbox 'set sort=threads sort_aux=reverse-last-date-received sort_re' -folder-hook Sent 'set sort=reverse-last-date' -# Threads sorted correctly but at bottom -#set sort_aux = last-date-received - -# collapse threads with unread mails -# set collapse_unread -# don't collapse on an unread message -set uncollapse_jump - -# Pager View Options -# format of the pager status bar -spam "X-Spam-Score: ([0-9\\.]+).*" "SA: %1" -set pager_format = "──[%[%y.%m.%d %H:%M]]──[%.20F]─[%s]%*─%?H?─[%H] ?" - -# number of index lines to show -set pager_index_lines = 10 -# number of context lines to show -set pager_context = 5 -# don't go to next message automatically -set pager_stop -# scroll in menus -set menu_scroll -set smart_wrap -# show tildes like in vim -set tilde -# no ugly plus signs -unset markers - -# composing -# save attachments with the body -set fcc_attach -set include - -set forward_decode = yes - -# Forward message as attachement -set mime_forward = ask-yes -set mime_forward_rest = ask-yes - -# Forgotter Attachemnt -source ~/.config/neomutt/forgotten-attachment +# Source Mutt legacy configuration +source ~/.config/neomutt/mutt-common.rc +# Source neomutt-specific configuration # Colors -source ~/.config/neomutt/colors -source ~/.config/neomutt/index-color source ~/.config/neomutt/progress-color -# Key bindings, macros -source ~/.config/neomutt/bindings - -# Spelling -set ispell = "aspell -e -c" - -set send_charset = "utf-8" - -# Headers -source ~/.config/neomutt/headers - -# MIME-Viewer -source ~/.config/neomutt/mime-view -# XXX Configure automatic querying of mime types -# set mime_type_query_command = "file --mime-type --brief" -# set mime_type_query_first = no - -# Disaplay filter -#set display_filter=/home/baptiste/.mutt/mutt_display_filter -#set display_filter=/home/baptiste/.mutt/test_display_filter -#set display_filter='par 72gqr' -#set wrapmargin=60 - -# http://www.neomutt.org/feature/new-mail/ -# set new_mail_command="notify-send --icon='/home/baptiste/.mutt/mutt.png' 'New Email in %f' '%n new messages, %u unread.' &" - -# Maildir -source ~/.config/neomutt/maildir - -# sidebar -source ~/.config/neomutt/sidebar - -set realname = "Baptiste Grenier" - -# Source EGI profile -source ~/.config/neomutt/profile-maildir.egi +# Not supported in mutt without notmuch patch +source ~/.config/neomutt/notmuch-neomutt.rc # vim: set ft=muttrc: diff --git a/config/neomutt/notmuch-mutt.rc b/config/neomutt/notmuch-mutt.rc new file mode 100644 index 00000000..8b20321c --- /dev/null +++ b/config/neomutt/notmuch-mutt.rc @@ -0,0 +1,22 @@ +# Search +macro index \ +"set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key\ +notmuch-mutt -r --prompt search\ +`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`\ +set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key" \ + "notmuch: search mail" + +# Reconstruct thread +macro index \ +"set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key\ +notmuch-mutt -r thread\ +`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`\ +set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key" \ + "notmuch: reconstruct thread" + +# Remove from inbox +macro index \ +"set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key\ +notmuch-mutt tag -- -inbox\ +set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key" \ + "notmuch: remove message from inbox" diff --git a/config/neomutt/notmuch b/config/neomutt/notmuch-neomutt.rc similarity index 100% rename from config/neomutt/notmuch rename to config/neomutt/notmuch-neomutt.rc diff --git a/config/neomutt/profile-maildir.egi b/config/neomutt/profile-maildir.egi index 65e81fd3..eca91b82 100644 --- a/config/neomutt/profile-maildir.egi +++ b/config/neomutt/profile-maildir.egi @@ -118,9 +118,6 @@ macro index \cf "mbsync -a" set query_command = "echo && notmuch address --output sender from:'*%s*' or --output recipients to:'*%s*'" set query_format = "%4c %t %-70.70a %-70.70n %?e?(%e)?" -# XXX disabled while testing mutt -source ~/.config/neomutt/notmuch - # set alias_file = "~/.config/neomutt/aliases" # source "~/.config/neomutt/aliases" From b2e4147cc512c698c4ae03ea63c1e8b11432fb75 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 5 Sep 2019 21:51:16 +0200 Subject: [PATCH 0087/2080] nvim: update nord conf --- config/nvim/init.vim | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 2e032012..82aaafc2 100755 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -177,6 +177,10 @@ endif " Theme set background=dark +let g:nord_italic=1 +let g:nord_italic_comments=1 +let g:nord_underline=1 +let g:nord_cursor_line_number_background=0 colorscheme nord " colorscheme one " Works nicely with Nord palette @@ -526,7 +530,7 @@ let g:ale_lint_on_enter = 1 let g:ale_set_loclist = 1 let g:ale_set_quickfix = 1 let g:ale_open_list = 1 -let g:ale_keep_list_window_open = 1 +let g:ale_keep_list_window_open = 0 " Show 5 lines of errors (default: 10) let g:ale_list_window_size = 5 From fcad5bf038b8d1a543ab3d0e9ae4879af147edd0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Thu, 5 Sep 2019 21:51:43 +0200 Subject: [PATCH 0088/2080] nvim: dict update --- config/nvim/spell/en.utf-8.add | 2 ++ config/nvim/spell/en.utf-8.add.spl | Bin 3538 -> 3571 bytes 2 files changed, 2 insertions(+) diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add index 03c0fb20..ac84589f 100644 --- a/config/nvim/spell/en.utf-8.add +++ b/config/nvim/spell/en.utf-8.add @@ -253,3 +253,5 @@ www UltraWide QHD C34H890 +workshop +FAIRsFAIR diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl index 49815bebff6d239413dee4e5778f1dc61bb11213..28bc7695e0d37db93461c2cb8da8d74fc27498a2 100644 GIT binary patch delta 425 zcmX9)O(;ZB7`^AdXWsmvm_*G&`3Y$xB9w(lhHMlIR^!c^nb*vqH^YQdk}{IbS2k8G zlm%n5pe$@GQN(Ii%EsDCgzvJs=iKw1^L^jFkAe3<`BZ2;y$x@ykTbg|7jPXU^h`Yn4#cGE7jB$8r z%V^|RLO7!BOg`yXR7i9Th|<(Ve?d_$)dwtEzbPH!3v|8wEte9 zolweS;)xzS4gUNJrxsaHVixnteMfF@WA&%W*@TRyxd7pMRVD2^PW|4Y_8nVB;@o^r z^1i#)4VU!YeV)fSn!*7`mj3@L?+79L&kNo*_~n3w5GIhuFb3Ev?nCtAyO!|LVQEf5 Luxvy@wru7XIm~DC delta 418 zcmX9)O-lk%6n*zO;b6fv7X?j~r} zuG~ZhMXQKfv!UtZM+wK1dQK*pw$pg{M^ z+_0=eojeS%p+upo6wB;;f@=yN8>7BmIL1?-tF*QR(!nABYTw=|y!aIKYM`Eo8sdfmrV3Q__ Date: Thu, 5 Sep 2019 21:52:40 +0200 Subject: [PATCH 0089/2080] zplug mac: update pyenv conf --- zsh/zsh-zplug-mac | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/zsh/zsh-zplug-mac b/zsh/zsh-zplug-mac index 29522668..d0974482 100644 --- a/zsh/zsh-zplug-mac +++ b/zsh/zsh-zplug-mac @@ -156,7 +156,16 @@ zplug "rupa/z", use:"*.sh" # Virtualen environement management # https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv zplug "MichaelAquilina/zsh-autoswitch-virtualenv" -# https://github.com/b2arn/zsh-pyenv + +zplug 'pyenv/pyenv', as:"command", use:"bin/*" + +zplug "pyenv/pyenv-virtualenv", \ + on:'pyenv/pyenv', \ + hook-build:"ln -s $ZPLUG_HOME/repos/pyenv/pyenv-virtualenv $ZPLUG_HOME/repos/pyenv/pyenv/plugins/pyenv-virtualenv" + +zplug "pyenv/pyenv-virtualenvwrapper", \ + on:'pyenv/pyenv-virtualenv', \ + hook-build:"ln -s $ZPLUG_HOME/repos/pyenv/pyenv-virtualenvwrapper $ZPLUG_HOME/repos/pyenv/pyenv/plugins/pyenv-virtualenvwrapper" # asdf: https://github.com/asdf-vm/asdf # https://github.com/kiurchv/asdf.plugin.zsh @@ -167,7 +176,7 @@ zplug "MichaelAquilina/zsh-autoswitch-virtualenv" # https://github.com/cxreg/smartcd # https://github.com/anyenv/anyenv -# prezto configuration +# prezto configuration # prezto/utility if zplug check modules/utility; then @@ -207,10 +216,16 @@ zplug load typeset -U path path+=/usr/local/sbin -export PATH="$HOME/bin:$PATH" +PATH="$HOME/bin:$PATH" + # Use coreutils GNU utilities PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" +# Manually built neomutt +PATH="/usr/local/neomutt/20190905_1/bin/:$PATH" + +export PATH + # Plugins-specific configuration required after loading them if zplug check caiogondim/bullet-train.zsh; then @@ -237,6 +252,11 @@ if zplug check "romkatv/powerlevel10k"; then [[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh fi +if zplug check "pyenv/pyenv"; then + export PYENV_ROOT="${ZPLUG_HOME}/repos/pyenv/pyenv" + eval "$(pyenv init -)" +fi + # ZSH options # Make sure prompt is able to be generated properly. @@ -326,4 +346,3 @@ export MAKEOPS='j6' if [[ "$OSTYPE" == "darwin"* ]]; then stty discard undef fi - From 0a949d017af9e5e72e20a43a6c133160662fc82e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier Date: Wed, 11 Sep 2019 09:57:43 +0200 Subject: [PATCH 0090/2080] Import notmuch-mutt conf --- bin/notmuch-mutt | 289 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 289 insertions(+) create mode 100755 bin/notmuch-mutt diff --git a/bin/notmuch-mutt b/bin/notmuch-mutt new file mode 100755 index 00000000..95381684 --- /dev/null +++ b/bin/notmuch-mutt @@ -0,0 +1,289 @@ +#!/usr/bin/env perl +# +# notmuch-mutt - notmuch (of a) helper for Mutt +# +# Copyright: 2011-2015 Stefano Zacchiroli +# License: GNU General Public License (GPL), version 3 or above +# +# See the bottom of this file for more documentation. +# A manpage can be obtained by running "pod2man notmuch-mutt > notmuch-mutt.1" + +use strict; +use warnings; + +use File::Path; +use Getopt::Long qw(:config no_getopt_compat); +use Mail::Header; +use Mail::Box::Maildir; +use Pod::Usage; +use String::ShellQuote; +use Term::ReadLine; +use Digest::SHA; + + +my $xdg_cache_dir = "$ENV{HOME}/.cache"; +$xdg_cache_dir = $ENV{XDG_CACHE_HOME} if $ENV{XDG_CACHE_HOME}; +my $cache_dir = "$xdg_cache_dir/notmuch/mutt"; + + +# create an empty maildir (if missing) or empty an existing maildir" +sub empty_maildir($) { + my ($maildir) = (@_); + rmtree($maildir) if (-d $maildir); + my $folder = new Mail::Box::Maildir(folder => $maildir, + create => 1); + $folder->close(); +} + +# search($maildir, $remove_dups, $query) +# search mails according to $query with notmuch; store results in $maildir +sub search($$$) { + my ($maildir, $remove_dups, $query) = @_; + my $dup_option = ""; + + $query = shell_quote($query); + + if ($remove_dups) { + $dup_option = "--duplicate=1"; + } + + empty_maildir($maildir); + system("notmuch search --output=files $dup_option $query" + . " | sed -e 's: :\\\\ :g'" + . " | xargs -r -I searchoutput ln -s searchoutput $maildir/cur/"); +} + +sub prompt($$) { + my ($text, $default) = @_; + my $query = ""; + my $term = Term::ReadLine->new( "notmuch-mutt" ); + my $histfile = "$cache_dir/history"; + + $term->ornaments( 0 ); + # $term->unbind_key( ord( "\t" ) ); + $term->MinLine( 3 ); + $histfile = $ENV{MUTT_NOTMUCH_HISTFILE} if $ENV{MUTT_NOTMUCH_HISTFILE}; + $term->ReadHistory($histfile) if (-r $histfile); + while (1) { + chomp($query = $term->readline($text, $default)); + if ($query eq "?") { + system("man", "notmuch-search-terms"); + } else { + # $term->WriteHistory($histfile); + return $query; + } + } +} + +sub get_message_id() { + my $mid = undef; + my @headers = (); + + while () { # collect header lines in @headers + push(@headers, $_); + last if $_ =~ /^$/; + } + my $head = Mail::Header->new(\@headers); + $mid = $head->get("message-id") or undef; + + if ($mid) { # Message-ID header found + $mid =~ /^<(.*)>$/; # extract message id + $mid = $1; + } else { # Message-ID header not found, synthesize a message id + # based on SHA1, as notmuch would do. See: + # https://git.notmuchmail.org/git/notmuch/blob/HEAD:/lib/sha1.c + my $sha = Digest::SHA->new(1); + $sha->add($_) foreach(@headers); + $sha->addfile(\*STDIN); + $mid = 'notmuch-sha1-' . $sha->hexdigest; + } + + return $mid; +} + +sub search_action($$$@) { + my ($interactive, $results_dir, $remove_dups, @params) = @_; + + if (! $interactive) { + search($results_dir, $remove_dups, join(' ', @params)); + } else { + my $query = prompt("search ('?' for man): ", join(' ', @params)); + if ($query ne "") { + search($results_dir, $remove_dups, $query); + } + } +} + +sub thread_action($$@) { + my ($results_dir, $remove_dups, @params) = @_; + + my $mid = get_message_id(); + if (! defined $mid) { + empty_maildir($results_dir); + die "notmuch-mutt: cannot find Message-Id, abort.\n"; + } + my $search_cmd = 'notmuch search --output=threads ' . shell_quote("id:$mid"); + my $tid = `$search_cmd`; # get thread id + chomp($tid); + + search($results_dir, $remove_dups, $tid); +} + +sub tag_action(@) { + my $mid = get_message_id(); + defined $mid or die "notmuch-mutt: cannot find Message-Id, abort.\n"; + + system("notmuch", "tag", @_, "--", "id:$mid"); +} + +sub die_usage() { + my %podflags = ( "verbose" => 1, + "exitval" => 2 ); + pod2usage(%podflags); +} + +sub main() { + mkpath($cache_dir) unless (-d $cache_dir); + + my $results_dir = "$cache_dir/results"; + my $interactive = 0; + my $help_needed = 0; + my $remove_dups = 0; + + my $getopt = GetOptions( + "h|help" => \$help_needed, + "o|output-dir=s" => \$results_dir, + "p|prompt" => \$interactive, + "r|remove-dups" => \$remove_dups); + if (! $getopt || $#ARGV < 0) { die_usage() }; + my ($action, @params) = ($ARGV[0], @ARGV[1..$#ARGV]); + + foreach my $param (@params) { + $param =~ s/folder:=/folder:/g; + } + + if ($help_needed) { + die_usage(); + } elsif ($action eq "search" && $#ARGV == 0 && ! $interactive) { + print STDERR "Error: no search term provided\n\n"; + die_usage(); + } elsif ($action eq "search") { + search_action($interactive, $results_dir, $remove_dups, @params); + } elsif ($action eq "thread") { + thread_action($results_dir, $remove_dups, @params); + } elsif ($action eq "tag") { + tag_action(@params); + } else { + die_usage(); + } +} + +main(); + +__END__ + +=head1 NAME + +notmuch-mutt - notmuch (of a) helper for Mutt + +=head1 SYNOPSIS + +=over + +=item B [I

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

hU?v?1XpBz)KtenA$WgY7;PwIIW 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 z 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¥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

7<0Jp1*UV9EK)o)Obt_sLqmDdg5{ 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 z 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 R$`sm)m^Z*i4t_Rw{}+|Xi%S3i diff --git a/.config/vdirsyncer/config.example b/.config/vdirsyncer/config.example deleted file mode 100644 index c6283e6b..00000000 --- a/.config/vdirsyncer/config.example +++ /dev/null @@ -1,37 +0,0 @@ -# Setup: https://vdirsyncer.pimutils.org/en/stable/config.html#google -[general] -status_path = "~/.vdirsyncer/status/" - -[pair calendar] -a = "google_calendar" -b = "local_calendar" -collections = ["from a", "from b"] -metadata = ["color"] - -[storage local_calendar] -type = "filesystem" -path = "~/.calendars/" -fileext = ".ics" - -[storage google_calendar] -type = "google_calendar" -token_file = "~/.vdirsyncer/google/google_calendar_token" -client_id = "XXXX" -client_secret = "XXXX" - -[pair contacts] -a = "google_contacts" -b = "local_contacts" -collections = ["from a", "from b"] -metadata = ["color"] - -[storage local_contacts] -type = "filesystem" -path = "~/.contacts/" -fileext = ".vcf" - -[storage google_contacts] -type = "google_contacts" -token_file = "~/.vdirsyncer/google/google_contacts_token" -client_id = "XXXX" -client_secret = "XXXX" diff --git a/.config/vimb/config b/.config/vimb/config deleted file mode 100644 index 1b05dbeb..00000000 --- a/.config/vimb/config +++ /dev/null @@ -1,15 +0,0 @@ -shortcut-add d=https://duckduckgo.com/?q=$0 -shortcut-add dl=https://duckduckgo.com/lite/?q=$0 -shortcut-add gh=https://github.com/$0/$1 -shortcut-add qw=https://www.qwant.com/?q=$0&t=web -shortcut-add q=https://www.qwant.com/?q=$0 -shortcut-default qw -set hintkeys=sdfghjkl -set spacial-navigation=true -set spell-checking=true -set spell-checking-languages=fr_FR,en_GB,en_US -set editor-command=gvim -f %s -nnoremap gt :sh! xdotool key --window $VIMB_XID ctrl+shift+l -nnoremap gT :sh! xdotool key --window $VIMB_XID ctrl+shift+h -nnoremap 1gt :sh! xdotool key --window $VIMB_XID ctrl+1 -nnoremap 9gt :sh! xdotool key --window $VIMB_XID ctrl+9 diff --git a/.gdbinit b/.gdbinit deleted file mode 100644 index d3730460..00000000 --- a/.gdbinit +++ /dev/null @@ -1,36 +0,0 @@ -# http://linuxfr.org/news/utiliser-colout-pour-colorier-tout-ce-qu-affiche-gdb -# Créer le pipe de communication. -shell test -e ~/tmp/coloutPipe && rm ~/tmp/coloutPipe -shell mkfifo ~/tmp/coloutPipe - -# Activer la redirection (à appeler APRÈS votre commande)... -define logging_on - set logging redirect on. - set logging on ~/tmp/coloutPipe -end -# la désactiver. -define logging_off - set logging off - set logging redirect off - # Voilà la partie foireuse du hack : pour éviter que le prompt ne s'affiche avant la sortie, il faut le faire attendre... - shell sleep 0.4s -end - -# Premier exemple : coloration syntaxique complète du code source. -define hook-list - shell cat ~/tmp/coloutPipe | colout --all --source Cpp & - logging_on -end -define hookpost-list - logging_off -end - -# Deuxième exemple : coloration de la pile. -define hook-backtrace - # Regexp pour [path]file[.ext]: (.*/)?(?:$|(.+?)(?:(\.[^.]*)|)) - shell cat ~/tmp/coloutPipe | colout "^(#)([0-9]+)\s+(0x\S+ )*(in )*(\S+) (\(.*\)) at (.*/)?(?:$|(.+?)(?:(\.[^.]*)|)):([0-9]+)" red,red,blue,none,green,cpp,none,white,white,yellow normal,bold,normal,normal,bold,normal,normal,bold,bold,bold & - logging_on -end -define hookpost-backtrace - logging_off -end diff --git a/.gitignore b/.gitignore deleted file mode 100644 index bfda64ca..00000000 --- a/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -config/neomutt/history -config/nvim/plugged -.config/vimb -.config/ranger/__pycache__/ -.config/ranger/history -.mutt/headers -.mutt/mutt.compte -.pentadactyl/info/default/cache -.pentadactyl/info/default/command-history -.pentadactyl/info/default/local-marks -.pentadactyl/info/default/register-ring -.pentadactyl/info/default/registers -.pentadactyl/info/default/url-marks -.pentadactyl/info/default-1428505402088/ -.tmux/plugins/ -.tmux/resurrect/ -.xmonad/history -.xmonad/xmonad-x86_64-linux -.xmonad/xmonad.errors -.xmonad/xmonad.hi -.xmonad/xmonad.o diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index f4282428..00000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "dotbot"] - path = dotbot - url = https://github.com/anishathalye/dotbot -[submodule "dircolors-solarized"] - path = dircolors-solarized - url = https://github.com/seebi/dircolors-solarized diff --git a/.hgrc b/.hgrc deleted file mode 100644 index 0d218e70..00000000 --- a/.hgrc +++ /dev/null @@ -1,28 +0,0 @@ -[extensions] -color = -fetch = - -[color] -status.modified = blue bold underline red_background -status.added = green bold -status.removed = red bold blue_background -status.deleted = cyan bold underline -status.unknown = magenta bold underline -status.ignored = black bold -status.clean = none -status.copied = none -qseries.applied = blue bold underline -qseries.unapplied = black bold -qseries.missing = red bold -diff.diffline = bold -diff.extended = cyan bold -diff.file_a = red bold -diff.file_b = green bold -diff.hunk = magenta -diff.deleted = red -diff.inserted = green -diff.changed = white -diff.trailingwhitespace = bold red_background - -[ui] -username = Baptiste Grenier diff --git a/.i3/autostart b/.i3/autostart deleted file mode 100755 index f39f2171..00000000 --- a/.i3/autostart +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -## Disable beeps -xset -b & - -## DPMS monitor setting (standby -> suspend -> off) (seconds) -xset dpms 300 600 900 & - -## Set LCD brightness -xbacklight -set 90 & - -## Keybord layout setting -setxkbmap us -option 'compose:ralt' & - -## Load Xmodmap conf -#xmodmap -e "remove Lock = Caps_Lock" -#xmodmap -e "keysym Caps_Lock = Control_L" -#xmodmap -e "add Control = Control_L" -xmodmap ~/.Xmodmap & - -## Load Xresources -xmxrdb -load ~/.Xresources & - -## OSD -dunst & diff --git a/.i3/config b/.i3/config deleted file mode 100644 index 9b786cb9..00000000 --- a/.i3/config +++ /dev/null @@ -1,246 +0,0 @@ -# This file has been auto-generateterminator -# It will not be overwritten, so edit it as you like. -# -# Should you change your keyboard layout somewhen, delete -# this file and re-run i3-config-wizard(1). -# - -# i3 config file (v4) -# -# Please see http://i3wm.org/docs/userguide.html for a complete reference! - -set $mod Mod4 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. ISO 10646 = Unicode -#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 -# The font above is very space-efficient, that is, it looks good, sharp and -# clear in small sizes. However, if you need a lot of unicode glyphs or -# right-to-left text rendering, you should instead use pango for rendering and -# chose a FreeType font, such as: -# font pango:DejaVu Sans Mono 10 -font pango:Inconsolata 12 - -# solarized -client.focused #93a1a1 #073642 #93a1a1 -client.focused_inactive #586e75 #002b36 #586e75 -client.unfocused #657b83 #002b36 #657b83 -client.urgent #d33682 #073642 #d33682 - -# Switch back to original workspace on a second press of workspace -# shortcurt -workspace_auto_back_and_forth yes - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# start a terminal -#bindsym $mod+Return exec i3-sensible-terminal -bindsym $mod+Return exec terminator - -# kill focused window -bindsym $mod+Shift+q kill - -# start dmenu (a program launcher) -bindsym $mod+d exec dmenu_run -# There also is the (new) i3-dmenu-desktop which only displays applications -# shipping a .desktop file. It is a wrapper around dmenu, so you need that -# installed. -# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop - -# change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l focus right - -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# move focused window -bindsym $mod+Shift+h move left -bindsym $mod+Shift+j move down -bindsym $mod+Shift+k move up -bindsym $mod+Shift+l move right - -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# split in horizontal orientation -bindsym $mod+h split h - -# split in vertical orientation -bindsym $mod+v split v - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent - -# focus the child container -#bindsym $mod+d focus child - -# Workspace names -workspace "1: term" output DVI-I-2 -workspace "2: web" output DVI-I-3 -workspace "3: misc" output DVI-I-2 -workspace "4: virt" output DVI-I-2 -workspace "5: files" output DVI-I-2 -workspace "6: revelation" output DVI-I-3 -workspace "7: download" output DVI-I-3 -workspace "8: games" output DVI-I-2 - -# switch to workspace -bindsym $mod+1 workspace "1: term" -bindsym $mod+2 workspace "2: web" -bindsym $mod+3 workspace "3: misc" -bindsym $mod+4 workspace "4: virt" -bindsym $mod+5 workspace "5: files" -bindsym $mod+6 workspace "6: revelation" -bindsym $mod+7 workspace "7: download" -bindsym $mod+8 workspace "8: games" -bindsym $mod+9 workspace 9 -bindsym $mod+0 workspace 10 - -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace 1: term -bindsym $mod+Shift+2 move container to workspace 2: web -bindsym $mod+Shift+3 move container to workspace 3: misc -bindsym $mod+Shift+4 move container to workspace 4: virt -bindsym $mod+Shift+5 move container to workspace 5: files -bindsym $mod+Shift+6 move container to workspace 6: revelation -bindsym $mod+Shift+7 move container to workspace 7: download -bindsym $mod+Shift+8 move container to workspace 8: games -bindsym $mod+Shift+9 move container to workspace 9 -bindsym $mod+Shift+0 move container to workspace 10 - -# reload the configuration file -bindsym $mod+Shift+c reload -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" - -# Pulseaudio volume control -#bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 3%- -#bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 3%+ -#bindsym XF86AudioMute exec --no-startup-id amixer -q sset Master toggle -bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo -- +10% && killall -SIGUSR1 i3status -bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo -- -10% && killall -SIGUSR1 i3status -bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo toggle -#bindsym XF86AudioPlay exec --no-startup-id mpc toggle -bindsym XF86AudioPlay exec ncmpcpp toggle -bindsym XF86AudioStop exec ncmpcpp stop -bindsym XF86AudioPrev exec ncmpcpp prev -bindsym XF86AudioNext exec ncmpcpp next - -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym j resize shrink width 10 px or 10 ppt - bindsym k resize grow height 10 px or 10 ppt - bindsym l resize shrink height 10 px or 10 ppt - bindsym semicolon resize grow width 10 px or 10 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - # back to normal: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} - -bindsym $mod+r mode "resize" - -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -bar { - #status_command i3status - #status_command ~/bin/i3status.sh - status_command python ~/.i3/myi3pystatus.py - position top - font pango:Inconsolata 14 - colors { - background #002b36 - statusline #839496 - focused_workspace #93a1a1 #073642 - active_workspace #587e75 #002b36 - inactive_workspace #657b83 #002b36 - urgent_workspace #d33682 #073642 - } -} -assign [class="^Terminator$" instance="^terminator$"] → 1: term -assign [class="^chromium-browser$" instance="^Chromium-browser$"] → 2: web -assign [class="^Firefox$" instance="^Navigator$"] → 2: web -assign [class="^Pidgin$"] → 2: web -assign [class="^VirtualBox$"] → 4: virt -assign [class="^Revelation$"] → 6: revelation -assign [class="^jd-Main$" instance="^sun-awt-X11-XFramePeer$"] → 7: download -assign [class="^deluge$"] → 7: download -assign [class="^warzone2100$"] → 8: games - -for_window [class="^chromium-browser$"] focus child, layout tabbed, focus -for_window [class="Evince"] floating enable -for_window [class="Gedit"] floating enable -for_window [class="mpv"] floating enable -for_window [class="MPlayer"] floating enable -#for_window [class="^Firefox$" instance="^Navigator$"] focus child, layout tabbed, focus -for_window [class="net-sourceforge-jnlp-runtime-Boot"] floating enable -for_window [class="Pavucontrol"] floating enable -for_window [class="Skype"] floating enable -for_window [class="Smplayer"] floating enable -for_window [class="^Terminator$"] border none -for_window [class="Uzbl-core"] focus child, layout tabbed, focus -for_window [class="VirtualBox"] layout tabbed -for_window [class="Vlc"] floating enable -for_window [class="warzone2100"] fullscreen - -# http://i3wm.org/docs/user-contributed/lzap-config.html -exec ~/.i3/autostart - -exec --no-startup-id pkill offlineimap || sleep 3 && offlineimap -exec --no-startup-id pkill pulseaudio; sleep 3 && pulseaudio --start -exec --no-startup-id pactl set-sink-volume 0 '60%' -#exec --no-startup-id pa-applet -exec --no-startup-id pasystray -exec --no-startup-id mpd -exec --no-startup-id terminator -exec --no-startup-id firefox -exec --no-startup-id deluge -exec --no-startup-id jdownloader -exec --no-startup-id pidgin -exec --no-startup-id nm-applet -exec --no-startup-id nitrogen --restore -exec --no-startup-id revelation ~/repos/perso/gwarf/private/revelation/keyring-perso -exec --no-startup-id revelation ~/repos/perso/gwarf/private/revelation/keyring-maatg -#exec --no-startup-id volti # starting volume control -# parcellite, anamnesis, clipman, copyq, gpaste could be alternatives -exec --no-startup-id clipit # starting clipboard manager -#exec --no-startup-id compton --config .config/compton/compton.conf -b # starting compositor -#xsetroot -cursor_name left_ptr diff --git a/.i3/config-bougebox b/.i3/config-bougebox deleted file mode 100644 index c19126b4..00000000 --- a/.i3/config-bougebox +++ /dev/null @@ -1,227 +0,0 @@ -# This file has been auto-generateterminator -# It will not be overwritten, so edit it as you like. -# -# Should you change your keyboard layout somewhen, delete -# this file and re-run i3-config-wizard(1). -# - -# i3 config file (v4) -# -# Please see http://i3wm.org/docs/userguide.html for a complete reference! - -set $mod Mod4 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. ISO 10646 = Unicode -#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 -# The font above is very space-efficient, that is, it looks good, sharp and -# clear in small sizes. However, if you need a lot of unicode glyphs or -# right-to-left text rendering, you should instead use pango for rendering and -# chose a FreeType font, such as: -# font pango:DejaVu Sans Mono 10 -font pango:Inconsolata 12 - -# solarized -client.focused #93a1a1 #073642 #93a1a1 -client.focused_inactive #586e75 #002b36 #586e75 -client.unfocused #657b83 #002b36 #657b83 -client.urgent #d33682 #073642 #d33682 - -# Switch back to original workspace on a second press of workspace -# shortcurt -workspace_auto_back_and_forth yes - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# start a terminal -#bindsym $mod+Return exec i3-sensible-terminal -bindsym $mod+Return exec terminator - -# kill focused window -bindsym $mod+Shift+q kill - -# start dmenu (a program launcher) -#bindsym $mod+d exec dmenu_run -bindsym $mod+d exec rofi -# There also is the (new) i3-dmenu-desktop which only displays applications -# shipping a .desktop file. It is a wrapper around dmenu, so you need that -# installed. -# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop - -# change focus -bindsym $mod+j focus left -bindsym $mod+k focus down -bindsym $mod+l focus up -bindsym $mod+semicolon focus right - -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# move focused window -bindsym $mod+Shift+j move left -bindsym $mod+Shift+k move down -bindsym $mod+Shift+l move up -bindsym $mod+Shift+semicolon move right - -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# split in horizontal orientation -bindsym $mod+h split h - -# split in vertical orientation -bindsym $mod+v split v - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent - -# focus the child container -#bindsym $mod+d focus child - -# Workspace names -#workspace "1: term" -#workspace "2: web" -#workspace "3: misc" -#workspace "4: virt" -#workspace "5: files" -#workspace "6: revelation" -#workspace "7: download" -#workspace "8: games" - -# switch to workspace -bindsym $mod+1 workspace "1: term" -bindsym $mod+2 workspace "2: web" -bindsym $mod+3 workspace "3: misc" -bindsym $mod+4 workspace "4: virt" -bindsym $mod+5 workspace "5: files" -bindsym $mod+6 workspace "6: revelation" -bindsym $mod+7 workspace "7: download" -bindsym $mod+8 workspace "8: games" -bindsym $mod+9 workspace 9 -bindsym $mod+0 workspace 10 - -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace 1: term -bindsym $mod+Shift+2 move container to workspace 2: web -bindsym $mod+Shift+3 move container to workspace 3: misc -bindsym $mod+Shift+4 move container to workspace 4: virt -bindsym $mod+Shift+5 move container to workspace 5: files -bindsym $mod+Shift+6 move container to workspace 6: revelation -bindsym $mod+Shift+7 move container to workspace 7: download -bindsym $mod+Shift+8 move container to workspace 8: games -bindsym $mod+Shift+9 move container to workspace 9 -bindsym $mod+Shift+0 move container to workspace 10 - -# reload the configuration file -bindsym $mod+Shift+c reload -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" - -# Pulseaudio volume control -#bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 3%- -#bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 3%+ -#bindsym XF86AudioMute exec --no-startup-id amixer -q sset Master toggle -bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 -- +10% && killall -SIGUSR1 i3status -bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -- -10% && killall -SIGUSR1 i3status -bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle -#bindsym XF86AudioPlay exec --no-startup-id mpc toggle -bindsym XF86AudioPlay exec ncmpcpp toggle -bindsym XF86AudioStop exec ncmpcpp stop -bindsym XF86AudioPrev exec ncmpcpp prev -bindsym XF86AudioNext exec ncmpcpp next - -# Make the currently focused window a scratchpad -bindsym $mod+Shift+minus move scratchpad - -# Show the first scratchpad window -bindsym $mod+minus scratchpad show - -# Show the pidgin scratchpad window, if any. -bindsym $mod+p [title="^Pidgin"] scratchpad show - -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym j resize shrink width 10 px or 10 ppt - bindsym k resize grow height 10 px or 10 ppt - bindsym l resize shrink height 10 px or 10 ppt - bindsym semicolon resize grow width 10 px or 10 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - # back to normal: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} - -bindsym $mod+r mode "resize" - -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -bar { - #status_command i3status - #status_command ~/bin/i3status.sh - status_command python ~/.i3/myi3pystatus.py - position top - font pango:Source Code Pro Medium 14 - colors { - background #002b36 - statusline #839496 - focused_workspace #93a1a1 #073642 - active_workspace #587e75 #002b36 - inactive_workspace #657b83 #002b36 - urgent_workspace #d33682 #073642 - } -} -assign [class="^Terminator$" instance="^terminator$"] → 1: term -assign [class="^chromium-browser$" instance="^Chromium-browser$"] → 2: web -assign [class="^Firefox$" instance="^Navigator$"] → 2: web -assign [class="^Pidgin$"] → 2: web -assign [class="^VirtualBox$"] → 4: virt -assign [class="^Revelation$"] → 6: revelation -assign [class="^jd-Main$" instance="^sun-awt-X11-XFramePeer$"] → 7: download -assign [class="^warzone2100$"] → 8: games - -for_window [class="Evince"] floating enable -for_window [class="Gedit"] floating enable -for_window [class="^Firefox$" instance="^Navigator$"] border none -for_window [class="^chromium-browser$"] focus child, layout tabbed, focus -for_window [class="^Terminator$"] border none -for_window [class="Skype"] floating enable -for_window [class="Vlc"] floating enable -for_window [class="Smplayer"] floating enable -for_window [class="Uzbl-core"] focus child, layout tabbed, focus -for_window [class="VirtualBox"] layout tabbed -for_window [class="warzone2100"] fullscreen diff --git a/.i3/myi3pystatus.py b/.i3/myi3pystatus.py deleted file mode 100644 index 001aea36..00000000 --- a/.i3/myi3pystatus.py +++ /dev/null @@ -1,107 +0,0 @@ -# -*- coding: utf-8 -*- - -import subprocess - -from i3pystatus import Status - -status = Status(standalone=True) - -# Displays clock like this: -# Tue 30 Jul 11:59:46 PM KW31 -# ^-- calendar week -status.register("clock", - format="%a %-d %b %X - Week %V", - color="i3Bar") - -# Shows the average load of the last minute and the last 5 minutes -# (the default value for format is used) -status.register("load") - -# Shows your CPU temperature, if you have a Intel CPU -#status.register("temp", -# format="{temp:.0f}°C",) - -# The battery monitor has many formatting options, see README for details - -# This would look like this, when discharging (or charging) -# ↓14.22W 56.15% [77.81%] 2h:41m -# And like this if full: -# =14.22W 100.0% [91.21%] -# -# This would also display a desktop notification (via dbus) if the percentage -# goes below 5 percent while discharging. The block will also color RED. -#status.register("battery", -# format="{status}/{consumption:.2f}W {percentage:.2f}% [{percentage_design:.2f}%] {remaining:%E%hh:%Mm}", -# alert=True, -# alert_percentage=5, -# status={ -# "DIS": "↓", -# "CHR": "↑", -# "FULL": "=", -# },) - -# This would look like this: -# Discharging 6h:51m -#status.register("battery", -# format="{status} {remaining:%E%hh:%Mm}", -# alert=True, -# alert_percentage=5, -# status={ -# "DIS": "Discharging", -# "CHR": "Charging", -# "FULL": "Bat full", -# },) - -# Displays whether a DHCP client is running -#status.register("runwatch", -# name="DHCP", -# path="/var/run/dhclient*.pid",) - -# Shows the address and up/down state of eth0. If it is up the address is shown in -# green (the default value of color_up) and the CIDR-address is shown -# (i.e. 10.10.10.42/24). -# If it's down just the interface name (eth0) will be displayed in red -# (defaults of format_down and color_down) -# -# Note: the network module requires PyPI package netifaces-py3 -#status.register("network", -# interface="enp2s0", -# format_up="{v4cidr}",) - -# Has all the options of the normal network and adds some wireless specific things -# like quality and network names. -# -# Note: requires both netifaces-py3 and basiciw -#status.register("wireless", -# interface="wlan0", -# format_up="{essid} {quality:03.0f}%",) - -# Shows disk usage of / -# Format: -# 42/128G [86G] -#status.register("disk", -# path="/", -# format="/: {used}/{total}G [{avail}G]",) -# -#status.register("disk", -# path="/home", -# format="/home: {used}/{total}G [{avail}G]",) - -# Shows pulseaudio default sink volume -# -# Note: requires libpulseaudio from PyPI -status.register("pulseaudio", - format="Vol: {volume}",) - -# Shows mpd status -# Format: -# Cloud connected▶Reroute to Remain -status.register("mpd", - format="♪ {artist} {status} {title}", - status={ - "pause":"▷", - "play": "▶", - "stop": "◾", - },) - -status.run() diff --git a/.local/share/applications/mutt-mailto.desktop b/.local/share/applications/mutt-mailto.desktop deleted file mode 100644 index 5d7b0cc6..00000000 --- a/.local/share/applications/mutt-mailto.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Mutt Mailto Handler -GenericName=MUA -Comment=Supposedly sucks less. -Exec=/home/baptiste/bin/mutt-mailto.sh -Terminal=true -MimeType=x-scheme-handler/mailto -NoDisplay=true diff --git a/.local/share/applications/mutt.desktop b/.local/share/applications/mutt.desktop deleted file mode 100644 index de2296a2..00000000 --- a/.local/share/applications/mutt.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Categories=ConsoleOnly;Network;Email -Encoding=UTF-8 -Exec=mutt %u -Icon=mutt -Type=Application -Name=Mutt -GenericName=Mail Client -Terminal=true -MimeType=x-scheme-handler/mailto; diff --git a/.mostrc b/.mostrc deleted file mode 100644 index 322d7894..00000000 --- a/.mostrc +++ /dev/null @@ -1,6 +0,0 @@ -% Keybindings -unsetkey "k" -setkey "up" "k" - -unsetkey "j" -setkey "down" "j" diff --git a/.mpdconf b/.mpdconf deleted file mode 100644 index 2c8b4317..00000000 --- a/.mpdconf +++ /dev/null @@ -1,24 +0,0 @@ -music_directory "/net/nas/export/zic" -filesystem_charset "UTF-8" -playlist_directory "~/.mpd/playlists" -db_file "~/.mpd/mpd.db" -log_file "~/.mpd/mpd.log" -pid_file "~/.mpd/mpd.pid" -state_file "~/.mpd/mpdstate" -sticker_file "~/.mpd/sticker.sql" - -bind_to_address "localhost" -#bind_to_address "~/.mpd/socket" -port "6600" -log_level "default" -metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" -auto_update "yes" -password "toglut@read,add,control,admin" -default_permissions "read,add,control" - -audio_output { - type "pulse" - name "My Pulse Output" - server "localhost" -# sink "remote_server_sink" # optional -} diff --git a/.notmuch-config b/.notmuch-config deleted file mode 100644 index 502abdad..00000000 --- a/.notmuch-config +++ /dev/null @@ -1,75 +0,0 @@ -# .notmuch-config - Configuration file for the notmuch mail system -# -# For more information about notmuch, see http://notmuchmail.org - -# Database configuration -# -# The only value supported here is 'path' which should be the top-level -# directory where your mail currently exists and to where mail will be -# delivered in the future. Files should be individual email messages. -# Notmuch will store its database within a sub-directory of the path -# configured here named ".notmuch". -# -[database] -path=/home/baptiste/Mail - -# User configuration -# -# Here is where you can let notmuch know how you would like to be -# addressed. Valid settings are -# -# name Your full name. -# primary_email Your primary email address. -# other_email A list (separated by ';') of other email addresses -# at which you receive email. -# -# Notmuch will use the various email addresses configured here when -# formatting replies. It will avoid including your own addresses in the -# recipient list of replies, and will set the From address based on the -# address to which the original email was addressed. -# -[user] -name=Baptiste Grenier -primary_email=baptiste.grenier@egi.eu -other_email=bgrenier@maatg.com;gwarf12@gmail.com;gwarf@gwarf.org;baptiste.grenier@healthgrid.org;baptiste.grenier@gmail.com;gwarf12@hotmail.com;bgrenier@maatg.fr;baptiste@bapt.name;bgrenier@gnubila.fr - -# Configuration for "notmuch new" -# -# The following options are supported here: -# -# tags A list (separated by ';') of the tags that will be -# added to all messages incorporated by "notmuch new". -# -[new] -tags=unread;inbox; - -# Maildir compatibility configuration -# -# The following option is supported here: -# -# synchronize_flags Valid values are true and false. -# -# If true, then the following maildir flags (in message filenames) -# will be syncrhonized with the corresponding notmuch tags: -# -# Flag Tag -# ---- ------- -# D draft -# F flagged -# P passed -# R replied -# S unread (added when 'S' flag is not present) -# -# The "notmuch new" command will notice flag changes in filenames -# and update tags, while the "notmuch tag" and "notmuch restore" -# commands will notice tag changes and update flags in filenames -# -[maildir] -synchronize_flags=true - -# http://notmuchmail.org/vimtips/ -# in a header field -# notmuch_abook lookup baptiste -[addressbook] -path=/home/baptiste/.notmuch-abook.db -backend=sqlite3 diff --git a/.notmuch/hooks/post-new b/.notmuch/hooks/post-new deleted file mode 100755 index 84986c20..00000000 --- a/.notmuch/hooks/post-new +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# https://github.com/guyzmo/notmuch-abook/ - -# first update notmuch-abook -for file in $(notmuch search --output=files tag:new) ; do - cat $file | $HOME/bin/notmuch_abook update -done diff --git a/.pentadactyl/colors/solarized-dark.penta b/.pentadactyl/colors/solarized-dark.penta deleted file mode 100644 index cc4d46bf..00000000 --- a/.pentadactyl/colors/solarized-dark.penta +++ /dev/null @@ -1,188 +0,0 @@ -" Solarized dark color scheme for Pentadactyl {{{1 -" ---------------------------------------------------------------------- -" -" Mantainer: claytron -" Name: solarized-dark -" -" Reset the styles {{{1 -" ---------------------------------------------------------------------- -" This ensures they don't bleed over from other themes -hi clear - -" Solarized color mappings {{{1 -" ---------------------------------------------------------------------- -" This allows us to easily map the colors by name - -" Foreground colors {{{2 -" ---------------------------------------------------------------------- -hi s_base03 color: #002b36 !important; -hi s_base02 color: #073642 !important; -hi s_base01 color: #586e75 !important; -hi s_base00 color: #657b83 !important; -hi s_base0 color: #839496 !important; -hi s_base1 color: #93a1a1 !important; -hi s_base2 color: #eee8d5 !important; -hi s_base3 color: #fdf6e3 !important; -hi s_yellow color: #b58900 !important; -hi s_orange color: #cb4b16 !important; -hi s_red color: #dc322f !important; -hi s_magenta color: #d33682 !important; -hi s_violet color: #6c71c4 !important; -hi s_blue color: #268bd2 !important; -hi s_cyan color: #2aa198 !important; -hi s_green color: #859900 !important; - -" Background colors {{{2 -" ---------------------------------------------------------------------- -hi s_base03_back background-color: #002b36 !important; -hi s_base02_back background-color: #073642 !important; -hi s_base01_back background-color: #586e75 !important; -hi s_base00_back background-color: #657b83 !important; -hi s_base0_back background-color: #839496 !important; -hi s_base1_back background-color: #93a1a1 !important; -hi s_base2_back background-color: #eee8d5 !important; -hi s_base3_back background-color: #fdf6e3 !important; -hi s_yellow_back background-color: #b58900 !important; -hi s_orange_back background-color: #cb4b16 !important; -hi s_red_back background-color: #dc322f !important; -hi s_magenta_back background-color: #d33682 !important; -hi s_violet_back background-color: #6c71c4 !important; -hi s_blue_back background-color: #268bd2 !important; -hi s_cyan_back background-color: #2aa198 !important; -hi s_green_back background-color: #859900 !important; - -" Gradient backgrounds {{{2 -" ---------------------------------------------------------------------- -" base0 to base03 -hi s_comp_title background: -moz-linear-gradient(60deg, #839496, #002b36) !important; -" cyan to base03 -hi s_comp_sep background: -moz-linear-gradient(60deg, #2aa198, #002b36) !important; - -" Status Line {{{1 -" ---------------------------------------------------------------------- -hi -l=s_base0,s_base02_back StatusLineNormal -hi -l=s_base03,s_orange_back StatusLineBroken -hi -l=s_base03,s_blue_back StatusLineSecure -hi -l=s_base03,s_violet_back StatusLineExtended -hi -l=s_base03,s_magenta_back StatusWarningMsg -" Make sure the question output looks nice between each status color -hi StatusQuestion -a color: inherit !important; background-color: inherit !important; - -" Command Line {{{1 -" ---------------------------------------------------------------------- -hi -l=s_base0,s_base03_back Normal -hi -l=s_base03,s_magenta_back CompItem[selected] -" background is s_base03 -hi CompItem:nth-child(2n+1) -a background: rgba(0, 43, 54, .04); -hi -l=s_base03,s_comp_title CompTitle -hi -l=s_base1 CompDesc -a -hi -l=s_base1 Preview -a -hi -l=s_comp_sep CompTitleSep height: 2px; -hi -l=s_base0,s_base03_back Message -hi -l=s_base03,s_yellow_back WarningMsg -hi -l=s_base03,s_magenta_back ErrorMsg -hi -l=s_base1 URL -hi -l=s_base1 URLExtra -hi MoreMsg -a color: inherit !important; background-color: inherit !important; -hi -l=s_green Filter -a -hi -l=s_base0 InfoMsg -hi -l=s_base01 ModeMsg -hi -l=s_base00 CmdInput -hi -l=s_base0,s_base03_back CmdCmdLine -hi -l=s_base03,s_magenta_back CmdErrorMsg - -" Hints {{{1 -" ---------------------------------------------------------------------- -" The hint background is s_base3, the outline is s_base03 -hi -l=s_base03 Hint -a outline: 1px solid rgba(0, 43, 54, .5); background: rgba(253, 246, 227, .8); -hi -l=s_base03,s_blue_back HintElem -hi -l=s_base03,s_magenta_back HintActive - -" Other {{{1 -" ---------------------------------------------------------------------- -hi -l=s_red_back Bell -hi -l=s_blue,s_base03_back NonText -a min-height: 16px; padding-left: 2px; -hi -l=s_magenta_back Search -a -hi -l=s_red Title -a -hi -l=s_blue Indicator -a -hi -l=s_cyan Question -hi -l=s_blue Enabled -a -hi -l=s_blue_back FrameIndicator -a -hi -l=s_base0,s_base3_back LinkInfo -a -hi -l=s_base03,s_base2_back LineNr -hi -l=s_blue Tag -a -hi -l=s_base03,s_orange_back EditorBlink1 -hi -l=s_base01 EditorBlink2 -hi -l=s_base2,s_base03_back EditorEditing>* -hi -l=s_base2,s_base03_back EditorEditing -hi -l=s_base03,s_red_back EditorError -hi -l=s_base01 Disabled -a -hi -l=s_base01 Addon:not([active]) -a -" background is s_base03 -hi Addon:nth-child(2n+1) -a background: rgba(0, 43, 54, .04); -" background is s_base03 -hi UsageItem:nth-of-type(2n) -a background: rgba(0, 43, 54, .04); -hi -l=s_base01 Download:not([active]) -a -" background is s_base03 -hi Download:nth-child(2n+1) -a background: rgba(0, 43, 54, .04); -" Text shadow is s_base03 -hi -l=s_base3 TabIconNumber -a text-shadow: #002b36 -1px 0 1px, #002b36 0 1px 1px, #002b36 1px 0 1px, #002b36 0 -1px 1px; -" buttons -hi -l=s_blue Button -a -hi -l=s_blue Button::after -a -hi -l=s_blue Button::before -a - - -" Help {{{1 -" ---------------------------------------------------------------------- -hi -l=s_base0,s_base03_back HelpBody -a -" Border is s_base3, and there to fake padding on the background image, -" since the logo is black and I'm putting it on a white bg -hi -l=s_base3_back Logo -a border: 5px solid #fdf6e3 !important; -" This can't be !important, or else it overrides all links (e.g. ex, -" key, opt). The color used here is s_blue -hi HelpLink[href] -a color: #268bd2; -hi -l=s_blue HelpTopic -a -hi -l=s_blue HelpType margin-right: 2ex; -hi -l=s_magenta HelpInfoLabel -a -hi -l=s_magenta HelpWarning -a -hi -l=s_magenta HelpNote -a -hi -l=s_orange HelpEx -a -hi -l=s_green HelpKey -a -hi -l=s_red HelpKeyword -a -hi -l=s_red HelpTag -a -hi -l=s_green HelpNewsTag -a -hi -l=s_yellow HelpHead -a -" Using s_base1 here for the border -hi HelpBorder -a border-color: #93a1a1 !important; -hi -l=s_cyan HelpSpec -a -hi -l=s_cyan HelpArg -a -hi -l=s_cyan HelpOptionalArg -a -hi -l=s_violet HelpString -a -hi -l=s_cyan HelpOpt -a -" Help code blocks -hi -l=s_base0 HelpXMLText -a -hi -l=s_base00,s_base3_back HelpXMLBase -a padding: 7px; -hi -l=s_blue HelpXMLTagStart -a -hi -l=s_blue HelpXMLTagEnd -a -hi -l=s_orange HelpXMLAttribute -a -hi -l=s_cyan HelpXMLString -a -hi -l=s_base01 HelpXMLComment -a -hi -l=s_base00 HelpXMLAttribute::after -a -hi -l=s_orange HelpXMLNamespace -a -hi -l=s_cyan HelpXMLNamespace::after -a -hi -l=s_cyan HelpXMLProcessing -a -hi -l=s_base00 HelpXMLProcessing::before -a -hi -l=s_base00 HelpXMLProcessing::after -a -hi HelpXML -a border: none; -hi HelpXMLBlock -a border: none; -hi -l=s_cyan Boolean -a -hi -l=s_yellow Keyword -a -hi -l=s_blue Function -a -hi -l=s_blue Null -a -hi -l=s_blue Number -a -hi -l=s_green Object -a -hi -l=s_base1 Comment -a -hi -l=s_base0 Comment -a - -" vim: fdm=marker diff --git a/.pentadactyl/info/default/quickmarks b/.pentadactyl/info/default/quickmarks deleted file mode 100644 index e89fd684..00000000 --- a/.pentadactyl/info/default/quickmarks +++ /dev/null @@ -1 +0,0 @@ -{"p":"javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('http://www.framabag.org/u/gwarf/?action=add&url='%20+%20btoa(url),'_self');})();void(0);}","t":"javascript:(function(){var%20url%20=%20location.href%20||%20url;window.open('http://www.framabag.org/u/gwarf/?action=add&url='%20+%20btoa(url),'_self');})();void(0);","e":"javascript:(function(){var%20url%20=%20location.href%20||%20url;window.open('https://delicious.com/save?source=bookmarklet&url=lquot;,s?action=add&url='%20+%20btoa(url),'_self');})();void(0);","d":"javascript:(function(e,t){var n=e.document;setTimeout(function(){function a(e){if(e.data==="destroy_bookmarklet"){var r=n.getElementById(t);if(r){n.body.removeChild(r);r=null}}}var t="DELI_bookmarklet_iframe",r=n.getElementById(t);if(r){return}var i="https://delicious.com/save?source=bookmarklet&",s=n.createElement("iframe");s.id=t;s.src=i+"url="+encodeURIComponent(e.location.href)+"&title="+encodeURIComponent(n.title)+"&note="+encodeURIComponent(""+(e.getSelection?e.getSelection():n.getSelection?n.getSelection():n.selection.createRange().text))+"&v=1.1";s.style.position="fixed";s.style.top="0";s.style.left="0";s.style.height="100%25";s.style.width="100%25";s.style.zIndex="16777270";s.style.border="none";s.style.visibility="hidden";s.onload=function(){this.style.visibility="visible"};n.body.appendChild(s);var o=e.addEventListener?"addEventListener":"attachEvent";var u=o=="attachEvent"?"onmessage":"message";e[o](u,a,false)},1)})(window)","n":"https://nagios.gnubila.fr/nagios/","m":"https://project-mgt.maatg.fr/rb/master_backlog/gnubila-france","c":"https://cloud.bapt.name"} \ No newline at end of file diff --git a/.pentadactyl/plugins/buftabs.js b/.pentadactyl/plugins/buftabs.js deleted file mode 100644 index 1e1c235d..00000000 --- a/.pentadactyl/plugins/buftabs.js +++ /dev/null @@ -1,601 +0,0 @@ -// https://github.com/grassofhust/buftabs -'use strict'; -let buftabs = { - id: 'dactyl-statusline-field-buftabs', - fullLoad: false, - init: function() { - if (buftabs.options['buftabs']) { - if (document.getElementById(buftabs.id)) - commandline.widgets.updateVisibility(); - else { - let widget = DOM.fromJSON(['hbox', - {'xmlns': XUL, - 'id': buftabs.id, - 'dactyl:highlight': 'BufTabs', - 'flex': 1}], - document); - statusline.widgets.url.parentNode.insertBefore(widget, - statusline.widgets.url.nextSibling); - commandline.widgets.addElement({ - name: 'buftabs', - getGroup: function() this.statusbar, - getValue: function() statusline.visible && - buftabs.options['buftabs'], - noValue: true - }); - commandline.widgets.statusbar.buftabs.addEventListener( - 'DOMMouseScroll', - function(event) { - if (buftabs.options['mouse-scroll']) { - window.gBrowser.tabContainer.advanceSelectedTab( - event.detail < 0 ? -1 : 1, true); - } - event.stopPropagation(); - }, true); - - buftabs.toggleProgressBar(); - } - registerMyListener(); - buftabs.update(); - } else - buftabs.destory(); - buftabs.fullLoad = true; - }, - - setup: function() { - buftabs.fullLoad = true; - ex.set('buftabs!'); - }, - - destory: function() { - unregisterMyListener(); - }, - - get options() buftabs._options || - {'elem': 'nthbi', 'buftabs': true, 'rnu': true, 'progress': true, - 'mouse-scroll': true}, - set options(options) { - buftabs._options = { - 'elem' : 'elem' in options ? options['elem'] : - buftabs.options['elem'], - 'buftabs': 'buftabs' in options ? options['buftabs'] : - buftabs.options['buftabs'], - 'rnu': 'rnu' in options ? options['rnu'] : buftabs.options['rnu'], - 'progress': 'progress' in options ? options['progress'] : - buftabs.options['progress'], - 'mouse-scroll': 'mouse-scroll' in options ? options['mouse-scroll'] : - buftabs.options['mouse-scroll'] - }; - if (buftabs.fullLoad) // window has fully loaded - buftabs.init(); - }, - - get btabs() commandline.widgets.statusbar.buftabs, - - get blabels() buftabs.btabs.childNodes, - - get curLabelIndex() buftabs._curLabelIndex, - - set curLabelIndex(value) { - buftabs._curLabelIndex = value; - }, - - Otab: function(arg) { - if (typeof arg == 'object') - return arg; - return window.gBrowser.tabs[arg]; - }, - - mb_strlen: function(str) { - let m = encodeURIComponent(str).match(/%[89ABab]/g); - let extra_length = m ? m.length / 3 : 0; - return str.length + extra_length; - }, - - mb_substr: function(str, length) { - let i = 0; - let overflow = false; - let plength = 0; - while (!overflow) { - plength = buftabs.mb_strlen(str.substr(0, i)); - if (plength >= length) - overflow = true; - i = i + 1; - } - return str.substr(0, i).replace(/^\s+|\s+$/g, ''); - }, - - Obrowser: function(arg) { - if (typeof arg == 'object') // a label obj - return arg; - return window.gBrowser.getBrowserAtIndex(arg); - }, - Olabel: function(arg) { - if (typeof arg == 'object') - return arg; - return buftabs.blabels[arg]; - }, - - Oposition: function(arg) { - let label = arg; - if (typeof arg != 'object') - label = buftabs.Olabel(arg); - return label.getBoundingClientRect(); - }, - - Onavigation: function(arg) { - let tab = arg; - if (typeof arg != 'object') - tab = buftabs.Otab(arg); - let browser = tab.linkedBrowser; - // history - if (browser.webNavigation) { - let sh = browser.webNavigation.sessionHistory; - if (sh && (sh.index > 0) && (sh.index < sh.count - 1)) - return UTF8('↔'); - if (sh && (sh.index < sh.count - 1) && (sh.index == 0)) - return UTF8('→'); - if (sh && (sh.index >= sh.count - 1) && (sh.index > 0)) - return UTF8('←'); - } - return ''; - }, - - setFavicon: function(aLabel, aTab) { - let label = buftabs.Olabel(aLabel); - let tab = buftabs.Otab(aTab); - let image = tab.image; - if (tab.linkedBrowser.webProgress.isLoadingDocument) - image = 'chrome://browser/skin/tabbrowser/connecting.png'; - else if (image == '') - image = BookmarkCache.DEFAULT_FAVICON; - - label.style.paddingLeft = '20px'; - label.style.backgroundImage = 'url("' + image + '")'; - }, - - removeFavicon: function(arg) { - let label = buftabs.Olabel(arg); - label.style.paddingLeft = '2px'; - label.style.backgroundImage = 'none'; - }, - - showFavicons: function() { - buftabs.blabels.foreach(function(label) buftabs.setFavicon(label)); - buftabs.layout(); - }, - - // layout - layout: function() { - // Scroll - let position = buftabs.Oposition(buftabs.curLabelIndex); - let first_position = buftabs.Oposition(0); - let last_position = buftabs.Oposition(buftabs.blabels.length - 1); - let btabs_position = buftabs.btabs.getBoundingClientRect(); - - let next_position = false; - if (buftabs.curLabelIndex + 1 < buftabs.blabels.length) - next_position = buftabs.Oposition(buftabs.curLabelIndex + 1); - - let prev_position = false; - if (buftabs.curLabelIndex > 0) - prev_position = buftabs.Oposition(buftabs.curLabelIndex - 1); - - if (next_position) { - if (next_position['right'] >= btabs_position['right']) - buftabs.btabs.scrollLeft = next_position['right'] + - btabs_position['left'] - first_position['left'] - - btabs_position['right']; - } else { - if (position['right'] >= btabs_position['right']) - buftabs.btabs.scrollLeft = position['right'] + - btabs_position['left'] - first_position['left'] - - btabs_position['right']; - } - - if (prev_position) { - if (prev_position['left'] <= btabs_position['left']) - buftabs.btabs.scrollLeft = prev_position['left'] - - first_position['left']; - - } else { - if (position['left'] <= btabs_position['left']) - buftabs.btabs.scrollLeft = 0; - } - - // Show the entire line if possible - if (buftabs.btabs.scrollWidth <= buftabs.btabs.clientWidth) - buftabs.btabs.scrollLeft = 0; - else { - // check last label position - let sum = 0; - let labels = Array.slice(buftabs.blabels); - labels.forEach(function(label) { - sum += label.scrollWidth; - }); - if (last_position['right'] < buftabs.btabs.clientWidth) - // This doesn't work, why? - // buftabs.btabs.scrollLeft = buftabs.btabs.scrollWidth - - // buftabs.btabs.clientWidth; - buftabs.btabs.scrollLeft = sum - buftabs.btabs.clientWidth; - } - - }, - - obtainElements: function(container) { - let nodes = container.childNodes; - for each(let node in nodes) { - object[node.key] = node; - } - }, - - toggleProgressBar: function() { - commandline.widgets.addElement({ - name: 'progress', - getGroup: function() this.statusbar, - getValue: function() buftabs.options['progress'] || - !buftabs.options['buftabs'], - noValue: true - }); - }, - - buildLabels: function() { - // Get buftabbar - let btabs = buftabs.btabs; - let visibleTabs_length = window.gBrowser.visibleTabs.length; - - // Make sure we have an appropriate amount of labels - while (btabs.childNodes.length > visibleTabs_length) - btabs.removeChild(btabs.lastChild); - - while (btabs.childNodes.length < visibleTabs_length) { - let label = document.createElement('label'); - label.setAttribute('crop', 'end'); - btabs.appendChild(label); - label.addEventListener('mouseover', function(ev) { - buftabs.updateLabelTooltip(this, this.tabindex); - }, false); - label.addEventListener('click', function(ev) { - let gBrowser = window.gBrowser; - if (ev.button == 0) - gBrowser.selectTabAtIndex(this.tabpos); - else if (ev.button == 1) { - gBrowser.removeTab( - gBrowser.tabContainer.getItemAtIndex(this.tabindex)); - } - }, false); - } - }, - // Update the tabs - update: function() { - if (!buftabs.options['buftabs']) - return; - - buftabs.buildLabels(); - - let visibleTabs = window.gBrowser.visibleTabs; - // Create the new tabs - Array.forEach(visibleTabs, function(tab, idx) { - // Create label - let label = buftabs.Olabel(idx); - - // Fill label - label.tabpos = idx; - label.tabindex = window.gBrowser.tabContainer.getIndexOfItem(tab); - - buftabs.fillLabel(label, tab); - }); - buftabs.curLabelIndex = tabs.index(null, true); - buftabs.layout(); - - }, - - updateTabOpen: function(aEvent) { - buftabs.update(); - }, - - updateTabHide: function(aEvent) { - buftabs.update(); - }, - - updateTabMove: function(aEvent) { - buftabs.update(); - }, - - updateTabSelect: function(aEvent) { - buftabs.update(); - }, - - updateTabClose: function(aEvent) { - if (!buftabs.options['buftabs']) - return; - - buftabs.buildLabels(); - - let visibleTabs = window.gBrowser.visibleTabs; - var closed_labelIndex = - window.gBrowser.tabContainer.getIndexOfItem(aEvent.target); - // Create the new tabs - Array.forEach(visibleTabs, function(tab, idx) { - // Create label - let label = buftabs.Olabel(idx); - - // Fill label - label.tabpos = idx; - label.tabindex = window.gBrowser.tabContainer.getIndexOfItem(tab); - // dirty hack, I don't know why - // maybe visibleTabs are been cached? - if (label.tabindex > closed_labelIndex) - label.tabindex = label.tabindex - 1; - - buftabs.fillLabel(label, tab); - }); - buftabs.curLabelIndex = tabs.index(null, true); - buftabs.layout(); - - }, - - updateTabAttrModified: function(aEvent) { - if (!aEvent.target.hidden) { - let tab = aEvent.target; - let labelindex = tabs.index(tab, true); - buftabs.fillLabel(labelindex, tab); - dactyl.timeout(buftabs.layout, 400); - } - }, - - updateTabPinned: function(aEvent) { - if (!aEvent.target.hidden) { - let tab = aEvent.target; - let labelindex = tabs.index(tab, true); - buftabs.fillLabel(labelindex, tab); - dactyl.timeout(buftabs.layout, 400); - } - }, - - updateTabUnpinned: function(aEvent) { - if (!aEvent.target.hidden) { - let tab = aEvent.target; - let labelindex = tabs.index(tab, true); - buftabs.fillLabel(labelindex, tab); - dactyl.timeout(buftabs.layout, 400); - } - }, - - // fill a label - fillLabel: function(arglabel, argtab) { - let label = buftabs.Olabel(arglabel); - let tab = buftabs.Otab(argtab); - let browser = tab.linkedBrowser; - let tabvalue = ''; - - if (tab.pinned) { - label.setAttribute('pinned', 'true'); - buftabs.setFavicon(label, tab); - // tab index - if (buftabs.options['elem'].indexOf('n') >= 0 && - !buftabs.options['rnu']) { - let index = label.tabindex + 1; - label.setAttribute('value', index + ' '); - } else { - label.setAttribute('value', ''); - } - } else { - label.setAttribute('pinned', 'false'); - // Get title - if (buftabs.options['elem'].indexOf('t') >= 0) - tabvalue += tab.label; - - let indicate = ''; - // Get history - if (buftabs.options['elem'].indexOf('h') >= 0) - indicate = buftabs.Onavigation(tab); - // tabvalue += buftabs.Onavigation(tab); // todo, use tab directly - - // Bookmark icon - if (buftabs.options['elem'].indexOf('b') >= 0) { - let href = browser.contentDocument.location.href; - if (bookmarkcache.isBookmarked(href)) - indicate += UTF8('❤'); - } - - // Brackets and index - if (buftabs.options['elem'].indexOf('n') >= 0) { - if (buftabs.options['rnu']) { - if (indicate.length > 0) - indicate = (label.tabpos + 1) + ' ' + indicate + ' '; - else - indicate = (label.tabpos + 1) + ' '; - } else { - if (indicate.length > 0) - indicate = (label.tabindex + 1) + ' ' + indicate + ' '; - else - indicate = (label.tabindex + 1) + ' '; - } - } - - tabvalue = indicate + tabvalue; - - label.setAttribute('value', tabvalue); - // tabbrowser getIcon - if (buftabs.options['elem'].indexOf('i') >= 0) - buftabs.setFavicon(label, tab); - else - buftabs.removeFavicon(label); - } - - // Set the correct highlight group - if (tabs.index(null, true) == label.tabpos) - label.setAttributeNS(NS, 'highlight', 'BufTabSelected'); - else { - if (tabs.index(tabs.alternate, true) == label.tabpos) - label.setAttributeNS(NS, 'highlight', 'BufTabAlternate'); - else - label.setAttributeNS(NS, 'highlight', 'BufTab'); - } - - }, - - updateLabelTooltip: function(aLabel, aTab) { - let label = buftabs.Olabel(aLabel); - let tab = buftabs.Otab(aTab); - let browser = tab.linkedBrowser; - label.setAttribute('tooltiptext', tab.label + '\n' + - browser.currentURI.spec); - } -}; - -function registerMyListener() { - let add = window.gBrowser.tabContainer.addEventListener; - add('TabOpen', buftabs.updateTabOpen, false); - add('TabHide', buftabs.updateTabHide, false); - add('TabMove', buftabs.updateTabMove, false); - add('TabClose', buftabs.updateTabClose, false); - add('TabSelect', buftabs.updateTabSelect, false); - add('TabAttrModified', buftabs.updateTabAttrModified, false); - add('TabPinned', buftabs.updateTabPinned, false); - add('TabUnpinned', buftabs.updateTabUnpinned, false); - window.addEventListener('fullscreen', buftabs.layout, false); -} - -function unregisterMyListener() { - let remove = window.gBrowser.tabContainer.removeEventListener; - remove('TabOpen', buftabs.updateTabOpen, false); - remove('TabHide', buftabs.updateTabHide, false); - remove('TabMove', buftabs.updateTabMove, false); - remove('TabClose', buftabs.updateTabClose, false); - remove('TabSelect', buftabs.updateTabSelect, false); - remove('TabAttrModified', buftabs.updateTabAttrModified, false); - remove('TabPinned', buftabs.updateTabPinned, false); - remove('TabUnpinned', buftabs.updateTabUnpinned, false); - window.removeEventListener('fullscreen', buftabs.layout, false); -} -buftabs.init(); -window.addEventListener('unload', buftabs.destory, false); - -// Options -group.options.add(['buftabs-progress', 'btp'], - 'Show progress', - 'boolean', - true, - { - setter: function(value) { - buftabs.options = {'progress': value}; - return value; - } - } -); - -group.options.add(['buftabs-rnu', 'btr'], - 'Show Relative tabnumber', - 'boolean', - true, - { - setter: function(value) { - buftabs.options = {'rnu': value}; - return value; - } - } -); - -group.options.add(['buftabs-elem', 'bte'], - 'Show or hide certain elemments', - 'charlist', - 'nthbi', - { - values: { - 'i': 'Favicon', - 'n': 'Tabnumber', - 't': 'Tab title', - 'h': 'History forward/backward indicate', - 'b': 'Bookmark state' - }, - setter: function(value) { - buftabs.options = {'elem': value}; - return value; - } - }); - -group.options.add(['buftabs', 'bt'], - 'Control whether to use buftabs in the statusline', - 'boolean', - true, - { - setter: function(value) { - buftabs.options = {'buftabs' : value}; - return value; - } - } -); - -group.options.add(['buftabs-mouse-scroll', 'btms'], - 'Use mousewheel for moving between tabs', - 'boolean', - true, - { - setter: function(value) { - buftabs.options = {'mouse-scroll': value}; - return value; - } - } -); - -// Add custom commands -group.commands.add(['buf[tabs]', 'bt'], - 'Activate buftabs manually', - buftabs.setup, - { - argCount: 0 - }, - true -); - -// Initialise highlight groups -highlight.loadCSS(literal(function() /* - BufTabs { - color: inherit; - margin:0 !important; - padding:0 !important; - overflow:hidden; - } - BufTabSelected { - background-repeat:no-repeat; - background-size:contain, contain; - background-position: 2px top; - background-color:#fff; - color:#000; - margin:0 !important; - font-weight:normal; - border-bottom-left-radius:2px; - border-bottom-right-radius:2px; - max-width:130px; - } - BufTabAlternate { - background-repeat:no-repeat; - background-size:contain, contain; - background-position: 2px top; - margin:0 !important; - cursor:pointer !important; - max-width:130px; - } - BufTab { - background-repeat:no-repeat; - background-size:contain, contain; - background-position: 2px top; - margin:0 !important; - cursor:pointer !important; - max-width:130px; - } - BufTab:hover { - color:#2e3330; - background-color: #88b090; - border-bottom-left-radius:2px; - border-bottom-right-radius:2px; - } - BufTabAlternate:hover { - color:#2e3330; - background-color: #88b090; - border-bottom-left-radius:2px; - border-bottom-right-radius:2px; - } -*/$), true); diff --git a/.pentadactyl/plugins/delicious.js b/.pentadactyl/plugins/delicious.js deleted file mode 100644 index dda4da96..00000000 --- a/.pentadactyl/plugins/delicious.js +++ /dev/null @@ -1,86 +0,0 @@ -// Pentadactyl Plugin: 'Delicious' -// Last Change: 23-Apr-2011 -// License: MIT -// Usage: Use :delicious "description in quotes (optional)" command -// Usage: if successfully posted you will see tagged response with privacy switch. -// Maintained by: Egon Hyszczak -// Changes made: Added private bookmarks (pvt) and Twitter functionality (for:@twitter). -// Modified for use with Pentadactyl. -// Previous Maintainer: Travis Jeffery - -group.commands.add(['delicious'], "Save page as a bookmark on Delicious", - function(args) { - var title = buffer.title; - var url = "https://api.del.icio.us/v1/posts/add?"; - url += "&url=" + encodeURIComponent(buffer.URL); - url += "&description=" + encodeURIComponent(title); - var tags; - var statusString = ''; - var extended; - - var re = new RegExp(/"([^"]+)"/); - var ext = args.string.match(re); - if(ext != null) { - extended = encodeURIComponent(ext[1]); - url += "&extended=" + extended; - //Check to see if the title is at the beginning or end - if(args.string.substr(0,1) == '"') { - tags = args.string.substr(ext[0].length); - } else if(args.string.substr(args.string.length - 1, 1) == '"') { - tags = args.string.substr(0, args.string.length - ext[0].length); - } - } else { - tags = args.string; - } - - //If the 'pvt' tag is used lock the bookmark from public access - if(tags.match("pvt")) { - //Replace pvt with empty string - tags = tags.replace("pvt", ""); - url += "&shared=no"; - statusString += '[PRIVATE] '; - } else { - url += "&shared=yes"; - } - - //Remove superfluous whitespace - var whitespace = new RegExp(/\s{2,}/); - tags = tags.replace(whitespace, " "); - tags = tags.trim(); - - url += "&tags=" + encodeURIComponent(tags); - - //Twitter - if(tags.match("for:@twitter")) { - //Use extended message if given - if(ext) { - url += "&share_msg=" + extended; - } else { - if(title.length >= 137) { - title = title.substr(0,137).trim(); - title += "..."; - url += "&share_msg=" + encodeURIComponent(title); - } else { - url += "&share_msg=" + encodeURIComponent(title); - } - } - url += "&recipients=" + encodeURIComponent("@twitter"); - } - - util.httpGet(url, { - method: "POST", - onload: function(req) { - var status = req.responseXML.getElementsByTagName('result')[0].getAttribute('code'); - - if(status == "done") { - statusString += "Added bookmark for " + buffer.URL + " [" + tags + "]"; - dactyl.echomsg(statusString); - } else { - dactyl.echomsg(status); - } - }, - user: 'changeme', //Username - pass: 'changeme' //Password - }); - } -); diff --git a/.pentadactylrc b/.pentadactylrc deleted file mode 100644 index ec89f821..00000000 --- a/.pentadactylrc +++ /dev/null @@ -1,123 +0,0 @@ -"hg7101 - -loadplugins '\.(js|penta)$' -group user - -" GUI options -" Show navigation bar -set guioptions+=T -" Hide menu -set guioptions-=m - -" Colors -colorscheme solarized-dark - -" Search provider -set defsearch=qwant-com - -" Pass through for some sites -"autocmd LocationChange ^https?://(drive|docs)\.google\.com/ :normal! -autocmd LocationChange ^https?://github\.com/ :normal! -"set passkeys+=feed.lxl.io:jk - -" autocmd LocationChange facebook.com :normal! - -" Plugins config -"source ~/.pentadactyl/pentadactylrc_plugins - -" disable smooth scroll -set scrollsteps=1 -set scrolltime=0 - -" Editor, C-e invokes it in text fields -set editor="emacsclient" - -" Disable tab bar -set showtabline=never - -" Mappings - -" Pass to firefox -"map -count -modes=n,v -builtin -" Consider adding "o" at the end -map -b - -"Select all -"map -count -modes=n,v -builtin -map -b -imap -b - -" Go down half a page with J -map -count -modes=n,v J - -" Go up half a page with K -map -count -modes=n,v K - -" Yank page title and URL with -map -modes=n,v -ex :y buffer.title + "\n" + buffer.URL - -" Go down a single line with j -map -count -modes=n,v j - -" Go up a single line with k -map -count -modes=n,v k - -" Enter hint mode where all hints are opened in background tabs -map -count -modes=n,v g;b - -" Open prompt whose result will be opened in a background tab -map -count -modes=n,v :tabopen! - -" Yank selected text to clipboard -map -modes=n Y - -:map tc :tabopen https://cloud.bapt.name - -" http://www.ferdev.com/2013/02/19/pentadactyl-the-reason-i-use-firefox.html -:map timer :tabopen timer - -" Set hintkeys according to my home row in my keyboard layout -set hintkeys=asdfjkl -hi -a Hint font-size: 9pt !important; - -" Highlight search results and incremental search -set hlfind -set incfind -" Ignore case in search unless pattern has uppercase chars -set findcase=smart - -" Yank (copy) to default clipboard with Y -" Will not yank to default clipboard by default. -" See: -" Issue 719 - dactyl - Copy with 'Y' is not pasted - A Vim-like five-fingered -" interface for Firefox and other XULRunner-based apps. - Google Project Hosting -" https://code.google.com/p/dactyl/issues/detail?id=719#c10 -js editor.defaultRegister="+" - -" Email current url -command email-url :open gmail-this - -" Save to org-mode Read Later Tree -" command read-later :open org-capture-read-later - -command private-tab -nargs=+ -description "Open Private Tab" -javascript </dev/null; then - if branch=$( { git symbolic-ref --quiet HEAD || git rev-parse --short HEAD; } 2>/dev/null ); then - branch=${branch##*/} - printf "%s" "${branch_symbol}${branch:-unknown}" - return - fi - fi - - # mercurial - if hash hg 2>/dev/null; then - if branch=$(hg branch 2>/dev/null); then - printf "%s" "${branch_symbol}${branch:-unknown}" - return - fi - fi - - # svn - if hash svn 2>/dev/null; then - local svn_info - if svn_info=$(svn info 2>/dev/null); then - local svn_url=${svn_info#*URL:\ } - svn_url=${svn_url/$'\n'*/} - - local svn_root=${svn_info#*Repository\ Root:\ } - svn_root=${svn_root/$'\n'*/} - - if [[ -n $svn_url ]] && [[ -n $svn_root ]]; then - # https://github.com/tejr/dotfiles/blob/master/bash/bashrc.d/prompt.bash#L179 - branch=${svn_url/$svn_root} - branch=${branch#/} - branch=${branch#branches/} - branch=${branch%%/*} - - printf "%s" "${branch_symbol}${branch:-unknown}" - return - fi - fi - fi - - return 1 -} -function __promptline_cwd { - local dir_limit="3" - local truncation="⋯" - local first_char - local part_count=0 - local formatted_cwd="" - local dir_sep="  " - local tilde="~" - - local cwd="${PWD/#$HOME/$tilde}" - - # get first char of the path, i.e. tilde or slash - [[ -n ${ZSH_VERSION-} ]] && first_char=$cwd[1,1] || first_char=${cwd::1} - - # remove leading tilde - cwd="${cwd#\~}" - - while [[ "$cwd" == */* && "$cwd" != "/" ]]; do - # pop off last part of cwd - local part="${cwd##*/}" - cwd="${cwd%/*}" - - formatted_cwd="$dir_sep$part$formatted_cwd" - part_count=$((part_count+1)) - - [[ $part_count -eq $dir_limit ]] && first_char="$truncation" && break - done - - printf "%s" "$first_char$formatted_cwd" -} -function __promptline_left_prompt { - local slice_prefix slice_empty_prefix slice_joiner slice_suffix is_prompt_empty=1 - - # section "a" header - slice_prefix="${a_bg}${sep}${a_fg}${a_bg}${space}" slice_suffix="$space${a_sep_fg}" slice_joiner="${a_fg}${a_bg}${alt_sep}${space}" slice_empty_prefix="${a_fg}${a_bg}${space}" - [ $is_prompt_empty -eq 1 ] && slice_prefix="$slice_empty_prefix" - # section "a" slices - __promptline_wrapper "$(if [[ -n ${ZSH_VERSION-} ]]; then print %m; elif [[ -n ${FISH_VERSION-} ]]; then hostname -s; else printf "%s" \\h; fi )" "$slice_prefix" "$slice_suffix" && { slice_prefix="$slice_joiner"; is_prompt_empty=0; } - - # section "b" header - slice_prefix="${b_bg}${sep}${b_fg}${b_bg}${space}" slice_suffix="$space${b_sep_fg}" slice_joiner="${b_fg}${b_bg}${alt_sep}${space}" slice_empty_prefix="${b_fg}${b_bg}${space}" - [ $is_prompt_empty -eq 1 ] && slice_prefix="$slice_empty_prefix" - # section "b" slices - __promptline_wrapper "$(if [[ -n ${ZSH_VERSION-} ]]; then print %n; elif [[ -n ${FISH_VERSION-} ]]; then printf "%s" "$USER"; else printf "%s" \\u; fi )" "$slice_prefix" "$slice_suffix" && { slice_prefix="$slice_joiner"; is_prompt_empty=0; } - - # section "c" header - slice_prefix="${c_bg}${sep}${c_fg}${c_bg}${space}" slice_suffix="$space${c_sep_fg}" slice_joiner="${c_fg}${c_bg}${alt_sep}${space}" slice_empty_prefix="${c_fg}${c_bg}${space}" - [ $is_prompt_empty -eq 1 ] && slice_prefix="$slice_empty_prefix" - # section "c" slices - __promptline_wrapper "$(__promptline_cwd)" "$slice_prefix" "$slice_suffix" && { slice_prefix="$slice_joiner"; is_prompt_empty=0; } - - # close sections - printf "%s" "${reset_bg}${sep}$reset$space" -} -function __promptline_wrapper { - # wrap the text in $1 with $2 and $3, only if $1 is not empty - # $2 and $3 typically contain non-content-text, like color escape codes and separators - - [[ -n "$1" ]] || return 1 - printf "%s" "${2}${1}${3}" -} -function __promptline_git_status { - [[ $(git rev-parse --is-inside-work-tree 2>/dev/null) == true ]] || return 1 - - local added_symbol="●" - local unmerged_symbol="✖" - local modified_symbol="✚" - local clean_symbol="✔" - local has_untracked_files_symbol="…" - - local ahead_symbol="↑" - local behind_symbol="↓" - - local unmerged_count=0 modified_count=0 has_untracked_files=0 added_count=0 is_clean="" - - set -- $(git rev-list --left-right --count @{upstream}...HEAD 2>/dev/null) - local behind_count=$1 - local ahead_count=$2 - - # Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), changed (T), Unmerged (U), Unknown (X), Broken (B) - while read line; do - case "$line" in - M*) modified_count=$(( $modified_count + 1 )) ;; - U*) unmerged_count=$(( $unmerged_count + 1 )) ;; - esac - done < <(git diff --name-status) - - while read line; do - case "$line" in - *) added_count=$(( $added_count + 1 )) ;; - esac - done < <(git diff --name-status --cached) - - if [ -n "$(git ls-files --others --exclude-standard)" ]; then - has_untracked_files=1 - fi - - if [ $(( unmerged_count + modified_count + has_untracked_files + added_count )) -eq 0 ]; then - is_clean=1 - fi - - local leading_whitespace="" - [[ $ahead_count -gt 0 ]] && { printf "%s" "$leading_whitespace$ahead_symbol$ahead_count"; leading_whitespace=" "; } - [[ $behind_count -gt 0 ]] && { printf "%s" "$leading_whitespace$behind_symbol$behind_count"; leading_whitespace=" "; } - [[ $modified_count -gt 0 ]] && { printf "%s" "$leading_whitespace$modified_symbol$modified_count"; leading_whitespace=" "; } - [[ $unmerged_count -gt 0 ]] && { printf "%s" "$leading_whitespace$unmerged_symbol$unmerged_count"; leading_whitespace=" "; } - [[ $added_count -gt 0 ]] && { printf "%s" "$leading_whitespace$added_symbol$added_count"; leading_whitespace=" "; } - [[ $has_untracked_files -gt 0 ]] && { printf "%s" "$leading_whitespace$has_untracked_files_symbol"; leading_whitespace=" "; } - [[ $is_clean -gt 0 ]] && { printf "%s" "$leading_whitespace$clean_symbol"; leading_whitespace=" "; } -} -function __promptline_right_prompt { - local slice_prefix slice_empty_prefix slice_joiner slice_suffix - - # section "warn" header - slice_prefix="${warn_sep_fg}${rsep}${warn_fg}${warn_bg}${space}" slice_suffix="$space${warn_sep_fg}" slice_joiner="${warn_fg}${warn_bg}${alt_rsep}${space}" slice_empty_prefix="" - # section "warn" slices - __promptline_wrapper "$(__promptline_last_exit_code)" "$slice_prefix" "$slice_suffix" && { slice_prefix="$slice_joiner"; } - - # section "x" header - slice_prefix="${x_sep_fg}${rsep}${x_fg}${x_bg}${space}" slice_suffix="$space${x_sep_fg}" slice_joiner="${x_fg}${x_bg}${alt_rsep}${space}" slice_empty_prefix="" - # section "x" slices - __promptline_wrapper "$(__promptline_git_status)" "$slice_prefix" "$slice_suffix" && { slice_prefix="$slice_joiner"; } - - # section "y" header - slice_prefix="${y_sep_fg}${rsep}${y_fg}${y_bg}${space}" slice_suffix="$space${y_sep_fg}" slice_joiner="${y_fg}${y_bg}${alt_rsep}${space}" slice_empty_prefix="" - # section "y" slices - __promptline_wrapper "$(__promptline_vcs_branch)" "$slice_prefix" "$slice_suffix" && { slice_prefix="$slice_joiner"; } - - # section "z" header - slice_prefix="${z_sep_fg}${rsep}${z_fg}${z_bg}${space}" slice_suffix="$space${z_sep_fg}" slice_joiner="${z_fg}${z_bg}${alt_rsep}${space}" slice_empty_prefix="" - # section "z" slices - __promptline_wrapper "$(__promptline_jobs)" "$slice_prefix" "$slice_suffix" && { slice_prefix="$slice_joiner"; } - - # close sections - printf "%s" "$reset" -} - -function __promptline_jobs { - local job_count=0 - - local IFS=$'\n' - for job in $(jobs); do - # count only lines starting with [ - if [[ $job == \[* ]]; then - job_count=$(($job_count+1)) - fi - done - - [[ $job_count -gt 0 ]] || return 1; - printf "%s" "$job_count" -} -function __promptline { - local last_exit_code="${PROMPTLINE_LAST_EXIT_CODE:-$?}" - - local esc=$'[' end_esc=m - if [[ -n ${ZSH_VERSION-} ]]; then - local noprint='%{' end_noprint='%}' - elif [[ -n ${FISH_VERSION-} ]]; then - local noprint='' end_noprint='' - else - local noprint='\[' end_noprint='\]' - fi - local wrap="$noprint$esc" end_wrap="$end_esc$end_noprint" - local space=" " - local sep="" - local rsep="" - local alt_sep="" - local alt_rsep="" - local reset="${wrap}0${end_wrap}" - local reset_bg="${wrap}49${end_wrap}" - local a_fg="${wrap}38;5;220${end_wrap}" - local a_bg="${wrap}48;5;166${end_wrap}" - local a_sep_fg="${wrap}38;5;166${end_wrap}" - local b_fg="${wrap}38;5;231${end_wrap}" - local b_bg="${wrap}48;5;31${end_wrap}" - local b_sep_fg="${wrap}38;5;31${end_wrap}" - local c_fg="${wrap}38;5;250${end_wrap}" - local c_bg="${wrap}48;5;240${end_wrap}" - local c_sep_fg="${wrap}38;5;240${end_wrap}" - local warn_fg="${wrap}38;5;231${end_wrap}" - local warn_bg="${wrap}48;5;52${end_wrap}" - local warn_sep_fg="${wrap}38;5;52${end_wrap}" - local x_fg="${wrap}38;5;250${end_wrap}" - local x_bg="${wrap}48;5;236${end_wrap}" - local x_sep_fg="${wrap}38;5;236${end_wrap}" - local y_fg="${wrap}38;5;250${end_wrap}" - local y_bg="${wrap}48;5;236${end_wrap}" - local y_sep_fg="${wrap}38;5;236${end_wrap}" - local z_fg="${wrap}38;5;250${end_wrap}" - local z_bg="${wrap}48;5;236${end_wrap}" - local z_sep_fg="${wrap}38;5;236${end_wrap}" - if [[ -n ${ZSH_VERSION-} ]]; then - PROMPT="$(__promptline_left_prompt)" - RPROMPT="$(__promptline_right_prompt)" - elif [[ -n ${FISH_VERSION-} ]]; then - if [[ -n "$1" ]]; then - [[ "$1" = "left" ]] && __promptline_left_prompt || __promptline_right_prompt - else - __promptline_ps1 - fi - else - PS1="$(__promptline_ps1)" - fi -} - -if [[ -n ${ZSH_VERSION-} ]]; then - if [[ ! ${precmd_functions[(r)__promptline]} == __promptline ]]; then - precmd_functions+=(__promptline) - fi -elif [[ -n ${FISH_VERSION-} ]]; then - __promptline "$1" -else - if [[ ! "$PROMPT_COMMAND" == *__promptline* ]]; then - PROMPT_COMMAND='__promptline;'$'\n'"$PROMPT_COMMAND" - fi -fi diff --git a/.skhdrc b/.skhdrc deleted file mode 100755 index 2ecf491b..00000000 --- a/.skhdrc +++ /dev/null @@ -1,209 +0,0 @@ -# brew services restart skhd - -# MacBook Pro keyboard -# alt: alt left side -# cmd: ctrl left side - -# Kinesis keyboard -# alt: option -# cmd: command - -# open terminal -cmd - return : /Applications/iTerm.app/Contents/MacOS/iTerm2 - -# General. -# toggle window fullscreen zoom -# alt - f : yabai -m window --toggle zoom-fullscreen -cmd + shift - f : yabai -m window --toggle zoom-fullscreen -cmd + alt + shift - m : yabai -m window --toggle zoom-parent -# change focus between tiling / floating windows -cmd + shift - space : yabai -m window --toggle float - -# equalize size of windows -shift + alt - 0 : yabai -m space --balance - -# move window -shift + cmd - h : yabai -m window --warp west -shift + cmd - j : yabai -m window --warp south -shift + cmd - k : yabai -m window --warp north -shift + cmd - l : yabai -m window --warp east - -# destroy desktop -cmd + alt - w : yabai -m space --destroy - -# send window to desktop and follow focus -shift + cmd - x : yabai -m window --space prev; yabai -m space --focus recent -shift + cmd - z : yabai -m window --space prev; yabai -m space --focus prev -shift + cmd - c : yabai -m window --space next; yabai -m space --focus next - -# send window to monitor and follow focus -shift + cmd - 1 : yabai -m window --display 1; yabai -m display --focus 1 -shift + cmd - 2 : yabai -m window --display 2; yabai -m display --focus 2 -shift + cmd - 3 : yabai -m window --display 3; yabai -m display --focus 3 - -# increase region size -shift + alt - a : yabai -m window --resize left:-100:0 -shift + alt - s : yabai -m window --resize bottom:0:100 -shift + alt - w : yabai -m window --resize top:0:-100 -shift + alt - d : yabai -m window --resize right:100:0 - -# Layout manipulation. -cmd + shift - r : yabai -m space --rotate 270 -cmd + shift - s : yabai -m window --toggle split - -# float / unfloat window and center on screen -cmd + shift - space : yabai -m window --toggle float;\ - yabai -m window --grid 5:5:1:1:3:3 - -# focus window -# alt - h : yabai -m window --focus west -# alt - j : yabai -m window --focus south -# alt - k : yabai -m window --focus north -# alt - l : yabai -m window --focus east -# -# # swap window -# shift + alt - h : yabai -m window --swap west -# shift + alt - j : yabai -m window --swap south -# shift + alt - k : yabai -m window --swap north -# shift + alt - l : yabai -m window --swap east -# -# # balance size of windows -# shift + alt - 0 : yabai -m space --balance -# -# # make floating window fill screen -# shift + alt - up : yabai -m window --grid 1:1:0:0:1:1 -# -# # make floating window fill left-half of screen -# shift + alt - left : yabai -m window --grid 1:2:0:0:1:1 -# -# # make floating window fill right-half of screen -# shift + alt - right : yabai -m window --grid 1:2:1:0:1:1 -# -# # create desktop, move window and follow focus - uses jq for parsing json (brew install jq) -# shift + cmd - n : yabai -m space --create && \ -# index="$(yabai -m query --spaces --display | jq 'map(select(."native-fullscreen" == 0))[-1].index')" && \ -# yabai -m window --space "${index}" && \ -# yabai -m space --focus "${index}" -# -# # create desktop and follow focus - uses jq for parsing json (brew install jq) -# cmd + alt - n : yabai -m space --create && \ -# index="$(yabai -m query --spaces --display | jq 'map(select(."native-fullscreen" == 0))[-1].index')" && \ -# yabai -m space --focus "${index}" -# -# # destroy desktop -# cmd + alt - w : yabai -m space --destroy -# -# # fast focus desktop -# cmd + alt - x : yabai -m space --focus recent -# cmd + alt - z : yabai -m space --focus prev -# cmd + alt - c : yabai -m space --focus next -# cmd + alt - 1 : yabai -m space --focus 1 -# cmd + alt - 2 : yabai -m space --focus 2 -# cmd + alt - 3 : yabai -m space --focus 3 -# cmd + alt - 4 : yabai -m space --focus 4 -# cmd + alt - 5 : yabai -m space --focus 5 -# cmd + alt - 6 : yabai -m space --focus 6 -# cmd + alt - 7 : yabai -m space --focus 7 -# cmd + alt - 8 : yabai -m space --focus 8 -# cmd + alt - 9 : yabai -m space --focus 9 -# cmd + alt - 0 : yabai -m space --focus 10 -# -# # send window to desktop and follow focus -# shift + cmd - x : yabai -m window --space recent; yabai -m space --focus recent -# shift + cmd - z : yabai -m window --space prev; yabai -m space --focus prev -# shift + cmd - c : yabai -m window --space next; yabai -m space --focus next -# shift + cmd - 1 : yabai -m window --space 1; yabai -m space --focus 1 -# shift + cmd - 2 : yabai -m window --space 2; yabai -m space --focus 2 -# shift + cmd - 3 : yabai -m window --space 3; yabai -m space --focus 3 -# # XXX disable to keep usual screenshot features -# # shift + cmd - 4 : yabai -m window --space 4; yabai -m space --focus 4 -# shift + cmd - 5 : yabai -m window --space 5; yabai -m space --focus 5 -# shift + cmd - 6 : yabai -m window --space 6; yabai -m space --focus 6 -# shift + cmd - 7 : yabai -m window --space 7; yabai -m space --focus 7 -# shift + cmd - 8 : yabai -m window --space 8; yabai -m space --focus 8 -# shift + cmd - 9 : yabai -m window --space 9; yabai -m space --focus 9 -# shift + cmd - 0 : yabai -m window --space 10; yabai -m space --focus 10 -# -# # focus monitor -# ctrl + alt - x : yabai -m display --focus recent -# ctrl + alt - z : yabai -m display --focus prev -# ctrl + alt - c : yabai -m display --focus next -# ctrl + alt - 1 : yabai -m display --focus 1 -# ctrl + alt - 2 : yabai -m display --focus 2 -# ctrl + alt - 3 : yabai -m display --focus 3 -# -# # send window to monitor and follow focus -# ctrl + cmd - x : yabai -m window --display recent; yabai -m display --focus recent -# ctrl + cmd - z : yabai -m window --display prev; yabai -m display --focus prev -# ctrl + cmd - c : yabai -m window --display next; yabai -m display --focus next -# ctrl + cmd - 1 : yabai -m window --display 1; yabai -m display --focus 1 -# ctrl + cmd - 2 : yabai -m window --display 2; yabai -m display --focus 2 -# ctrl + cmd - 3 : yabai -m window --display 3; yabai -m display --focus 3 -# -# # move window -# shift + ctrl - a : yabai -m window --move rel:-20:0 -# shift + ctrl - s : yabai -m window --move rel:0:20 -# shift + ctrl - w : yabai -m window --move rel:0:-20 -# shift + ctrl - d : yabai -m window --move rel:20:0 -# -# # increase window size -# shift + alt - a : yabai -m window --resize left:-20:0 -# shift + alt - s : yabai -m window --resize bottom:0:20 -# shift + alt - w : yabai -m window --resize top:0:-20 -# shift + alt - d : yabai -m window --resize right:20:0 -# -# # decrease window size -# shift + cmd - a : yabai -m window --resize left:20:0 -# shift + cmd - s : yabai -m window --resize bottom:0:-20 -# shift + cmd - w : yabai -m window --resize top:0:20 -# shift + cmd - d : yabai -m window --resize right:-20:0 -# -# # set insertion point in focused container -# ctrl + alt - h : yabai -m window --insert west -# ctrl + alt - j : yabai -m window --insert south -# ctrl + alt - k : yabai -m window --insert north -# ctrl + alt - l : yabai -m window --insert east -# -# # rotate tree -# alt - r : yabai -m space --rotate 90 -# -# # mirror tree y-axis -# alt - y : yabai -m space --mirror y-axis -# -# # mirror tree x-axis -# alt - x : yabai -m space --mirror x-axis -# -# # toggle desktop offset -# alt - a : yabai -m space --toggle padding; yabai -m space --toggle gap -# -# # toggle window parent zoom -# alt - d : yabai -m window --toggle zoom-parent -# -# # toggle window native fullscreen -# shift + alt - f : yabai -m window --toggle native-fullscreen -# -# # toggle window border -# shift + alt - b : yabai -m window --toggle border -# -# # toggle window split type -# alt - e : yabai -m window --toggle split -# -# # float / unfloat window and center on screen -# alt - t : yabai -m window --toggle float;\ -# yabai -m window --grid 4:4:1:1:2:2 -# -# # toggle sticky (show on all spaces) -# alt - s : yabai -m window --toggle sticky -# -# # toggle topmost (keep above other windows) -# alt - o : yabai -m window --toggle topmost -# -# # toggle sticky, topmost and resize to picture-in-picture size -# alt - p : yabai -m window --toggle sticky;\ -# yabai -m window --toggle topmost;\ -# yabai -m window --grid 5:5:4:0:1:1 -# -# # change layout of desktop -# ctrl + alt - a : yabai -m space --layout bsp -# ctrl + alt - d : yabai -m space --layout float -# ctrl + alt - m : yabai -m space --layout monocle diff --git a/.tmux.conf-bougebox b/.tmux.conf-bougebox deleted file mode 100644 index f5e46acb..00000000 --- a/.tmux.conf-bougebox +++ /dev/null @@ -1,203 +0,0 @@ -# Use vi bindings -setw -g mode-keys vi -set-option -g status-keys vi - -# Allow nested tmux sessions by making "C-b b" possible for sending a control -# sequence to a nested session -bind-key b send-prefix - -set-window-option -g mode-mouse off - -# colors -set -g default-terminal "screen-256color" - -## unicode -setw -g utf8 on -set -g status-utf8 on - -## History limit -set -g history-limit 50000 - -# tmux messages are displayed for 4 seconds -set -g display-time 4000 - -# refresh 'status-left' and 'status-right' more often -set -g status-interval 5 - -# reload -#bind-key R source-file ~/.tmux.conf; display-message "source-file done" - -bind-key R respawn-window - -# Start Window Numbering at 1 -set -g base-index 1 - -## Copy mode -# http://jasonwryan.com/blog/2011/06/07/copy-and-paste-in-tmux/ -# -# Copying between tmux frames -# -# ctrl-b Escape - enter copy mode -# move cursor to the start or end of the desired text string -# v - to activate highlighting -# move cursor to cover the requisite string -# y - to copy -# q - to exit copy mode -# ctrl-b m - to paste -unbind [ -# Enter copy mode -bind Escape copy-mode -# Select text -bind-key -t vi-copy 'v' begin-selection -# Vertical selection -bind-key -t vi-copy 'r' rectangle-toggle -# Copy text to buffer -bind-key -t vi-copy 'y' copy-selection -# move tmux copy buffer into x clipboard -bind C-y run "tmux save-buffer - | xclip -i -selection clipboard" -# Paste buffer -# XXX p would be better, butdisabled as it breaks navigating windows -unbind P -bind P paste-buffer -# move x clipboard into tmux paste buffer -bind C-p run "xclip -o | tmux load-buffer -" - -# URL view -bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlview" '$SHELL -c "urlview < /tmp/tmux-buffer"' - -# Bind horizontal and vertical splits to more memorable sequences -#unbind-key % -#unbind-key '"' -bind-key | split-window -h -bind-key - split-window -v - -# easier and faster switching between next/prev window -bind C-p previous-window -bind C-n next-window - -# Panes -bind up resize-pane -U 5 -bind down resize-pane -D 5 -bind left resize-pane -L 5 -bind right resize-pane -R 5 -unbind space -bind tab next-layout -unbind C-o -bind r rotate-window -bind-key C-a last-window - -# quick pane cycling -unbind ^L -bind ^L select-pane -t :.+ - -# Add vim-like navigation bindings -bind h select-pane -L -bind j select-pane -D -bind k select-pane -U -bind l select-pane -R - -# pane movement -bind-key @ command-prompt -p "create pane from:" "join-pane -s '%%'" -bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" - -# window movement / renumbering like in screen's :number -bind-key m command-prompt -p "move window to:" "swap-window -t '%%'" -bind-key . command-prompt "move-window -r -t '%%'" - -# mpd control -#bind -n F1 run-shell 'mpc toggle >/dev/null 2>&1' -#bind -n F2 run-shell 'mpc' -#bind -n F3 run-shell 'mpc prev >/dev/null 2>&1' -#bind -n F4 run-shell 'mpc next >/dev/null 2>&1' -#bind -n F5 run-shell 'mpc volume -5 >/dev/null 2>&1' -#bind -n F6 run-shell 'mpc volume +5 >/dev/null 2>&1' - -# Change status bar colors -#set-option -g status on -#set-option -g status-position "top" -#set-option -g status-utf8 on -#set-option -g status-justify "left" -#set-option -g status-left-length 60 -#set-option -g status-right-length 100 - -#set -g status-fg white -#set -g status-bg black -#set -g status-right-fg blue -#set-window-option -g window-status-fg green -#set-window-option -g window-status-bg black -#set-window-option -g window-status-current-fg black -#set-window-option -g window-status-current-bg green - -set-option -g mouse-select-pane off -#set-option -g pane-active-border-fg black -#set-option -g pane-active-border-bg cyan -#set-option -g pane-border-fg white -#set-option -g pane-border-bg black - -# change foreground-background for the current window -#setw -g window-status-current-attr reverse -setw -g monitor-activity off - -# highlight status bar on activity -set -g visual-activity off - -# Don't wait for escape sequences -# Fix delay when switching modes in vim -set -sg escape-time 0 - -# Window status format (default: '#I:#W#F') -set-window-option -g window-status-format ' #I:#W ' -set-window-option -g window-status-current-format ' #I:#W ' - -# Use zsh (login shell) -set -g default-command '/bin/zsh -l' - -# Disable automatic changes of titles -set -g set-titles off -set-window-option -g automatic-rename off -set-window-option -g allow-rename off -set -g renumber-windows on - -# Create session -new-session -s 'home' -n 'logs' 'sudo journalctl -fxn' -# stay open after the command exits -set -g set-remain-on-exit on -new-window -n 'mutt' mutt -# for future windows, revert r-o-e to global value -set -g set-remain-on-exit off -new-window -n 'local' -new-window -n 'downloads' -c ~/downloads -select-window -t 3 - -# https://powerline.readthedocs.org/en/latest/overview.html#usage -source "/home/baptiste/.config/powerline/tmux/powerline.conf" - -# List of plugins -# prefix+I to install -# Supports `github_username/repo` or full git URLs -set -g @tpm_plugins " \ - tmux-plugins/tpm \ - tmux-plugins/tmux-resurrect \ - tmux-plugins/tmux-sessionist \ - tmux-plugins/tmux-yank \ - tmux-plugins/tmux-logging \ - tmux-plugins/tmux-sensible \ -" -set -g @almost-sensible 'off' -# Other examples: -# github_username/plugin_name \ -# git@github.com/user/plugin \ -# git@bitbucket.com/user/plugin \ - -# initializes TMUX plugin manager -run-shell ~/.tmux/plugins/tpm/tpm - -# Tmux resurect -# Restore more programms -set -g @resurrect-processes 'ssh mutt psql mysql sqlite3' -set -g @resurrect-processes '"sudo journalctl -fxn"' -# Resurrect vim session (see https://github.com/tpope/vim-obsession) -set -g @resurrect-strategy-vim 'session' - -# Tmux resurect -run-shell /home/baptiste/.tmux/plugins/tmux-resurrect/resurrect.tmux diff --git a/.urlview b/.urlview deleted file mode 100644 index e0bd6d7c..00000000 --- a/.urlview +++ /dev/null @@ -1,31 +0,0 @@ -############################################################################### -# Urlview configuration file. -# man urlview -# -# Put this file in: $HOME/.urlview -# Put url_handler.sh in: /usr/bin -# -# You can call 'urlview' while in 'mutt' by pressing the Ctrl b keys. -# Put these macros in your $HOME/.muttrc file. -# -# macro index \cb |urlview\n -# macro pager \cb |urlview\n -# -# You can call 'urlview' while in 'tin' by pressing | then a for article, -# put urlview as the pipe command. -# -# Regular expression to use to match URLs. - -#REGEXP (((http|https|ftp|gopher)|mailto):(//)?[^ >"\t]*|www\.[-a-z0-9.]+)[^ .,;\t>">\):] -REGEXP (((http|https|ftp|gopher)|mailto)[.:][^ >"\t]*|www\.[-a-z0-9.]+)[^ .,;\t>">\):] - -# Command to invoke for selected URL. Use lynx, netscape, or url_handler.sh -# shell script. Alternatively, you can leave COMMAND unset and set the BROWSER -# environment variable instead. - -#COMMAND lynx %s -#COMMAND netscape -remote 'openURL(%s)' -#COMMAND url_handler.sh - -COMMAND firefoxurl %s -#COMMAND chromium %s diff --git a/.xinitrc b/.xinitrc deleted file mode 100755 index 86a210de..00000000 --- a/.xinitrc +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/sh - -LANG=fr_FR.UTF-8 -LC_ALL=fr_FR.UTF-8 -MM_CHARSET=fr_FR.UTF-8 -export LANG LC_ALL MM_CHARSET - -[ -r ~/.Xresources ] && xrdb -load ~/.Xresources -[ -r ~/.Xmodmap ] && xmodmap ~/.Xmodmap - -[ -r ~/.xprofile ] && source ~/.xprofile - -#xhost +localhost -#xhost +local:root > /dev/null - -# Disable beeps -xset -b - -# DPMS monitor setting (standby -> suspend -> off) (seconds) -xset dpms 300 600 900 -xset b off - -# Turn on autorepeat -xset r on - -# Mouse acceleration -xset m 3/1 3 - -## Set LCD brightness -xbacklight -set 90 - -# Keyboard layout setting -# Ctrl+Alt+Backspace kills X -setxkbmap us -option 'compose:rwin' -option 'terminate:ctrl_alt_bksp' - -# Make additional fonts available -xset +fp /usr/share/fonts/local -xset fp rehash - -# Set default black background -xsetroot -solid black -xsetroot -cursor_name left_ptr - -# Unclutter - hides the mouse cursor after 5 seconds of idle -unclutter -root -jitter 10 & - -# Give opacity to specific windows. See ~/.devilspie/opacity.ds -#devilspie -a & - -# Start a D-Bus session and other required stuff -if [ -d /etc/X11/xinit/xinitrc.d ]; then - for f in /etc/X11/xinit/xinitrc.d/*; do - [ -x "$f" ] && . "$f" - done - unset f -fi - -# starting compositor -# XXX disable compton with KDE -# XXX should go to autostart or WM init script? -#compton -b -# slow virtual desktop switching -# compton --respect-prop-shadow -bc -t -8 -l -9 -r 6 -o 0.7 & -# compton -cCGfF -o 0.38 -O 200 -I 200 -t 0.02 -l 0.02 -r 3.2 -D2 -m 0.88 -i 0 & -# compton -cCGfzb -o 0.8 -O 200 -I 200 -t -9 -l -9 -r 6 -D 2 -m 0.98 -e -# 1 -i 1 --respect-prop-shadow --shadow-ignore-shaped - -# Autostart applications -# XXX this script should be run once the env has been set by the WM -# Ex: JDownloader needs wmname LG3D before being launched -#[ -f ~/bin/autostart.sh ] && ~/bin/autostart.sh - -# Start WM and keep pid so we can wait for it to exit - -# Start Plasma Desktop -#exec startkde & wmpid=$! - -# Awesome -#~/bin/awesomestart.sh & -#exec awesome & wmpid=$! -#exec ck-launch-session awesome & wmpid=$! - -# i3 -#exec i3 & wmpid=$! - -# bspwm -#sxhkd & -##export CONKY_WIDTH=$(grep 'maximum_width' ~/.config/conky/conkyrc.$(hostname) | cut -d' ' -f2) -#export CONKY_WIDTH="150" -#trayer --edge top --align right \ -# --SetDockType true --SetPartialStrut true \ -# --expand true --width 15 --height 12 \ -# --transparent true --tint 0x000000 --alpha 100 & -#exec bspwm & wmpid=$! - -# herbstluftwm -# start herbstluftwm in locked mode (will be unlocked at the end of autostart) -exec herbstluftwm --locked & wmpid=$! - -# xmonad -#exec xmonad & wmpid=$! - -wait $wmpid # wait for the window manager to exit. - -kill -15 $(pidof mpd) -kill -15 $(pidof workrave) -kill -15 $(pidof offlineimap) -kill -15 $(pidof gnome-session) -kill -15 $(pidof gnome-keyring-daemon) -kill -15 $(pidof pulseaudio) diff --git a/.xmonad/xmobar.hs b/.xmonad/xmobar.hs deleted file mode 100644 index 42af3efd..00000000 --- a/.xmonad/xmobar.hs +++ /dev/null @@ -1,23 +0,0 @@ --- xmobar config used by Vic Fryzel --- Author: Vic Fryzel --- http://github.com/vicfryzel/xmonad-config - --- This is setup for dual 1920x1200 monitors, with the right monitor as primary -Config { - font = "xft:Inconsolata-12", - bgColor = "#000000", - fgColor = "grey", - position = Static { xpos = 1920, ypos = 0, width = 1200, height = 16 }, - lowerOnStart = True, - commands = [ - Run Memory ["-t","Mem: %","-H","8192","-L","4096","-h","#FFB6B0","-l","#CEFFAC","-n","#FFFFCC"] 10 - , Run Swap ["-t","Swap: %","-H","1024","-L","512","-h","#FFB6B0","-l","#CEFFAC","-n","#FFFFCC"] 10 - , Run Network "enp2s0" ["-t","Net: , ","-H","200","-L","10","-h","#FFB6B0","-l","#CEFFAC","-n","#FFFFCC"] 10 - , Run Date "%a %b %_d %l:%M" "date" 10 - , Run MPD ["-t", ": - "] 10 - , Run StdinReader - ], - sepChar = "%", - alignSep = "}{", - template = "%StdinReader% }{ %mpd% %memory% %swap% %enp2s0% <fc=#FFFFCC>%date%</fc>" -} diff --git a/.xmonad/xmonad.hs b/.xmonad/xmonad.hs deleted file mode 100644 index 066b8b43..00000000 --- a/.xmonad/xmonad.hs +++ /dev/null @@ -1,310 +0,0 @@ -{- xmonad.hs - - Author: Jelle van der Waa ( jelly1 ) - -} - --- Import stuff -import XMonad -import qualified XMonad.StackSet as W -import qualified XMonad.StackSet as Z -import qualified Data.Map as M -import XMonad.Util.EZConfig(additionalKeys) -import System.Exit -import Graphics.X11.Xlib -import System.IO - --- actions -import XMonad.Actions.CycleWS -import XMonad.Actions.WindowGo -import qualified XMonad.Actions.Submap as SM -import XMonad.Actions.GridSelect -import XMonad.Actions.FloatKeys -import XMonad.Actions.Submap - --- utils -import XMonad.Util.Run -import qualified XMonad.Prompt as P -import XMonad.Prompt.Shell -import XMonad.Prompt -import XMonad.Prompt.AppendFile (appendFilePrompt) -import XMonad.Prompt.RunOrRaise -import XMonad.Util.NamedWindows (getName) -import Graphics.X11.ExtraTypes.XF86 -import XMonad.Util.Scratchpad -import XMonad.Util.NamedScratchpad - --- hooks -import XMonad.Hooks.DynamicLog -import XMonad.Hooks.ManageDocks -import XMonad.Hooks.UrgencyHook -import XMonad.Hooks.ManageHelpers -import XMonad.Hooks.SetWMName - --- layouts -import XMonad.Layout.NoBorders -import XMonad.Layout.ResizableTile -import XMonad.Layout.Reflect -import XMonad.Layout.IM -import XMonad.Layout.Tabbed -import XMonad.Layout.PerWorkspace (onWorkspace) -import XMonad.Layout.Grid -import XMonad.Layout.ComboP -import XMonad.Layout.Column -import XMonad.Layout.Named -import XMonad.Layout.TwoPane --- import XMonad.Layout.LayoutModifier - --- Data.Ratio for IM layout -import Data.Ratio ((%)) -import Data.List (isInfixOf) - -import XMonad.Hooks.EwmhDesktops - --- Main -- -main = do - xmproc <- spawnPipe "xmobar ~/.xmonad/xmobar.hs" - spawn "~/bin/autostart.sh" - spawn "trayer --edge top --align right --SetDockType true --SetPartialStrut true --expand true --width 15 --height 12 --transparent true --tint 0x000000" - xmonad $ withUrgencyHook NoUrgencyHook $ defaultConfig { - manageHook = manageDocks <+> myManageHook - , layoutHook = myLayoutHook - , borderWidth = myBorderWidth - , normalBorderColor = myNormalBorderColor - , focusedBorderColor = myFocusedBorderColor - , keys = myKeys - , modMask = myModMask - , terminal = myTerminal - , workspaces = myWorkspaces - , focusFollowsMouse = True - , logHook = dynamicLogWithPP $ xmobarPP - { ppOutput = hPutStrLn xmproc - , ppTitle = xmobarColor "blue" "" . shorten 50 - , ppLayout = const "" -- to disable the layout info on xmobar - } - , startupHook = ewmhDesktopsStartup >> setWMName "LG3D" - } - --- hooks --- automaticly switching app to workspace --- http://www.haskell.org/haskellwiki/Xmonad/General_xmonad.hs_config_tips --- http://www.haskell.org/haskellwiki/Xmonad/Config_archive/John_Goerzen%27s_Configuration --- resource (also known as appName) is the first element in WM_CLASS(STRING) --- className is the second element in WM_CLASS(STRING) --- title is WM_NAME(STRING) --- stringProperty "WM_WINDOW_ROLE" =? "presentationWidget" --> doFloat -myManageHook :: ManageHook -myManageHook = composeAll . concat $ - [ [ isFullscreen --> doFullFloat ] - , [ isDialog --> doCenterFloat ] - , [ (className =? "Firefox" <&&> appName =? "Navigator") --> doShift "2:web" ] - , [ (className =? "Firefox" <&&> appName =? "Dialog") --> doCenterFloat ] - , [ className =? "Pidgin" --> doShift "2:web" ] - , [ className =? "Empathy" --> doShift "2:web" ] - , [ className =? "Revelation" --> doShift "3:revelation" ] - , [ className =? "Skype" --> doShift "2:web" ] - , [ stringProperty "WM_WINDOW_ROLE" =? "CallWindow" --> doShift "6:misc" ] - , [ className =? "Steam" --> doShift "7:games" ] - , [ className =? "Terminator" --> doShift "1:term" ] - , [ className =? "urxvt" --> doShift "1:term" ] - , [ className =? "Trayer" --> doIgnore ] - , [ className =? "VirtualBox" --> doShift "4:virt" ] - , [ className =? "Xmessage" --> doCenterFloat ] - , [ className =? "Pavucontrol" --> doFloat ] - , [ className =? "chromium-browser" --> doShift "2:web" ] - , [ className =? "deluge" --> doShift "5:download" ] - , [ (appName =? "sun-awt-X11-XFramePeer" <&&> className =? "jd-Main") --> doShift "5:download" ] - , [ (appName =? "sun-awt-X11-XFramePeer" <&&> className =? "JDownloader") --> doShift "5:download" ] - , [ className =? "trayer" --> doIgnore ] - , [ className =? "warzone2100" --> doShift "7:games" ] - , [ fmap ("libreoffice" `isInfixOf`) className --> doShift "6:misc" ] - , [ className =? "MPlayer" --> (ask >>= doF . W.sink) ] - , [ className =? c --> doCenterFloat | c <- myFloatsC ] - , [ fmap (c `isInfixOf`) className --> doCenterFloat | c <- myMatchAnywhereFloatsC ] - , [ fmap (c `isInfixOf`) title --> doCenterFloat | c <- myMatchAnywhereFloatsT ] - ] - -- what is it for? - -- should be set in main like manageDocks? - --, scratchpadManageHook (W.RationalRect 0.125 0.25 0.75 0.5) - where - -- filter on class name - myFloatsC = ["Evince", "Gedit", "mpv", "MPlayer", "net-sourceforge-jnlp-runtime-Boot", "Pavucontrol", "Skype", "Smplayer", "Vlc", "Firefox Preferences"] - -- filter on any part of the class name - myMatchAnywhereFloatsC = [ "Foxmarks" ] - -- filter on any part of the title - myMatchAnywhereFloatsT = ["VLC"] -- this one is silly for only one string! - --- scratchpads -scratchpads = [ NS "gvim" "gvim -S ~/.vim/sessions/Session.vim" (className =? "Gvim") (customFloating $ W.RationalRect (0) (0) (0) (0)) ] - ---logHook -myLogHook :: Handle -> X () -myLogHook h = dynamicLogWithPP $ customPP { ppOutput = hPutStrLn h } - ----- Looks -- ----- bar -customPP :: PP -customPP = defaultPP { - ppHidden = xmobarColor "#00FF00" "" - , ppCurrent = xmobarColor "#FF0000" "" . wrap "[" "]" - , ppUrgent = xmobarColor "#FF0000" "" . wrap "*" "*" - , ppLayout = xmobarColor "#FF0000" "" - , ppTitle = xmobarColor "#00FF00" "" . shorten 80 - , ppSep = "<fc=#0033FF> | </fc>" -} - --- some nice colors for the prompt windows to match the dzen status bar. -myXPConfig = defaultXPConfig { - font = "Inconsolata-16" - , fgColor = "#0096d1" - , bgColor = "#000000" - , bgHLight = "#000000" - , fgHLight = "#FF0000" - , position = Top - , historySize = 512 - , showCompletionOnTab = True - , historyFilter = deleteConsecutive -} - ---LayoutHook -myLayoutHook = onWorkspace "1:term" fullL $ onWorkspace "2:web" webL $ onWorkspace "4:virt" fullL $ onWorkspace "5:download" fullL $ onWorkspace "7:games" full $ standardLayouts - where - standardLayouts = avoidStruts $ (tiled ||| reflectTiled ||| Mirror tiled ||| Grid ||| Full) - - --Layouts - tiled = smartBorders (ResizableTall 1 (2/100) (1/2) []) - reflectTiled = (reflectHoriz tiled) - full = noBorders Full - - --Im Layout - --Show pidgin tiled left and skype right - -- imLayout = avoidStruts $ smartBorders $ withIM ratio pidginRoster $ reflectHoriz $ withIM skypeRatio skypeRoster (tiled ||| reflectTiled ||| Grid) where - -- chatLayout = Grid - -- ratio = (1%9) --- skypeRatio = (1%8) - -- pidginRoster = And (ClassName "Pidgin") (Role "buddy_list") - -- skypeRoster = (ClassName "Skype") `And` - -- (Not (Title "Options")) `And` - -- (Not (Role "Chats")) `And` - -- (Not (Role "CallWindowForm")) - --Weblayout - webL = avoidStruts $ tiled ||| reflectHoriz tiled - - --VirtualLayout - fullL = avoidStruts $ full - -------------------------------------------------------------------------------- ----- Terminal -- -myTerminal :: String -myTerminal = "urxvt" - -------------------------------------------------------------------------------- --- Keys/Button bindings -- --- modmask -myModMask :: KeyMask -myModMask = mod3Mask - --- borders -myBorderWidth :: Dimension -myBorderWidth = 1 -myNormalBorderColor, myFocusedBorderColor :: String -myNormalBorderColor = "#333333" -myFocusedBorderColor = "#306EFF" - ---Workspaces -myWorkspaces :: [WorkspaceId] -myWorkspaces = ["1:term", "2:web", "3:revelation", "4:virt", "5:download", "6:misc" , "7:games"] - --- keys -myKeys :: XConfig Layout -> M.Map (KeyMask, KeySym) (X ()) -myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $ - -- killing programs - [ ((modMask, xK_Return), spawn $ XMonad.terminal conf) - , ((modMask .|. shiftMask, xK_c ), kill) - - -- opening program launcher / search engine - ,((modMask , xK_p), shellPrompt myXPConfig) - - -- GridSelect - , ((modMask, xK_g), goToSelected defaultGSConfig) - - -- Display key - --, ("<XF86Display>", spawn "xrandr --auto") - - -- layouts - , ((modMask, xK_space ), sendMessage NextLayout) - , ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) - , ((modMask, xK_b ), sendMessage ToggleStruts) - - -- floating layer stuff - , ((modMask, xK_t ), withFocused $ windows . W.sink) - - -- refresh' - , ((modMask, xK_n ), refresh) - - -- focus - , ((modMask, xK_Tab ), windows W.focusDown) - , ((modMask, xK_j ), windows W.focusDown) - , ((modMask, xK_k ), windows W.focusUp) - , ((modMask, xK_m ), windows W.focusMaster) - - -- swapping - , ((modMask .|. shiftMask, xK_Return), windows W.swapMaster) - , ((modMask .|. shiftMask, xK_j ), windows W.swapDown ) - , ((modMask .|. shiftMask, xK_k ), windows W.swapUp ) - - -- increase or decrease number of windows in the master area - , ((modMask , xK_comma ), sendMessage (IncMasterN 1)) - , ((modMask , xK_period), sendMessage (IncMasterN (-1))) - - -- resizing - , ((modMask, xK_h ), sendMessage Shrink) - , ((modMask, xK_l ), sendMessage Expand) - , ((modMask .|. shiftMask, xK_h ), sendMessage MirrorShrink) - , ((modMask .|. shiftMask, xK_l ), sendMessage MirrorExpand) - - -- scratchpad - , ((modMask, xK_f ), namedScratchpadAction scratchpads "gvim") - , ((modMask, xK_x ), safeSpawn "xscreensaver-command" ["--lock"] ) - - --Spotify - -- , ((modMask , xK_a ), safeSpawn "dbus-send" ["--print-reply"," --dest=org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2", "org.mpris.MediaPlayer2.Player.Previous"] ) - -- , ((modMask, xK_s ), safeSpawn "dbus-send" ["--print-reply", "--dest=org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2", "org.mpris.MediaPlayer2.Player.PlayPause"] ) - -- , ((0, xF86XK_AudioPlay ), safeSpawn "dbus-send" ["--print-reply", "--dest=org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2", "org.mpris.MediaPlayer2.Player.PlayPause"] ) - -- , ((modMask, xK_d ), safeSpawn "dbus-send" ["--print-reply", "--dest=org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2", "org.mpris.MediaPlayer2.Player.Next"] ) - - --Launching programs - -- , ((0, xF86XK_Favorites ), safeSpawn "") - -- , ((0, xF86XK_Mail ), runOrRaise "thunderbird" (className =? "Thunderbird")) - -- , ((0, xF86XK_Messenger ), runOrRaise "pidgin" (className =? "Pidgin")) - - -- , ((0, 0x1008ff18 ), runOrRaise "aurora" (className =? "Aurora")) - , ((0, xF86XK_Calculator ), safeSpawn "gnome-calculator" []) - -- , ((0, xF86XK_Display ), spawn "bash /home/jelle/bin/xrandr-laptop") - - -- volume control - , ((0, xF86XK_AudioRaiseVolume ), safeSpawn "pactl" ["set-sink-volume","alsa_output.pci-0000_00_1b.0.analog-stereo", "--", "+10% "]) - , ((0, xF86XK_AudioLowerVolume ), safeSpawn "pactl" ["set-sink-volume","alsa_output.pci-0000_00_1b.0.analog-stereo", "--", "-10% "]) - , ((0, xF86XK_AudioMute ), safeSpawn "pactl" ["set-sink-mute", "alsa_output.pci-0000_00_1b.0.analog-stereo", "toggle"]) - - -- brightness control - , ((0 , 0x1008ff03 ), safeSpawn "xbacklight" ["-inc", "10"]) - , ((0 , 0x1008ff02 ), safeSpawn "xbacklight" ["-dec","10"]) - - -- toggle trackpad - , ((modMask .|. shiftMask, xK_t ), safeSpawn "/home/jelle/bin/trackpad-toggle.sh" [] ) - - -- quit, or restart - , ((modMask .|. shiftMask, xK_q ), io (exitWith ExitSuccess)) - , ((modMask , xK_q ), restart "xmonad" True) - ] - ++ - -- mod-[1..9] %! Switch to workspace N - -- mod-shift-[1..9] %! Move client to workspace N - [((m .|. modMask, k), windows $ f i) - | (i, k) <- zip (XMonad.workspaces conf) ([xK_1 .. xK_9] ++ [xK_0]) - , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] - ++ - -- mod-[w,e] %! switch to twinview screen 1/2 - -- mod-shift-[w,e] %! move window to screen 1/2 - [((m .|. modMask, key), screenWorkspace sc >>= flip whenJust (windows . f)) - | (key, sc) <- zip [xK_w, xK_e ] [0..] - , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] diff --git a/.xprofile b/.xprofile deleted file mode 100644 index 4d55290f..00000000 --- a/.xprofile +++ /dev/null @@ -1,10 +0,0 @@ -# -# ~/.xprofile -# -# Executed by gdm at login -# Allows to start programs prior starting the WM -# - -#xmodmap -e "pointer =1 2 3 6 7 4 5" # set mouse buttons up correctly -#xsetroot -solid black # sets the background to black -xsetroot -cursor_name left_ptr diff --git a/.yabairc b/.yabairc deleted file mode 100755 index 1fb1d46d..00000000 --- a/.yabairc +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env sh - -# bar settings -yabai -m config status_bar on -yabai -m config status_bar_text_font "Helvetica Neue:Bold:12.0" -yabai -m config status_bar_icon_font "FontAwesome:Regular:12.0" -yabai -m config status_bar_background_color 0xff202020 -yabai -m config status_bar_foreground_color 0xffa8a8a8 -yabai -m config status_bar_space_icon_strip I II III IV V VI VII VIII IX X -yabai -m config status_bar_power_icon_strip   -yabai -m config status_bar_space_icon  -yabai -m config status_bar_clock_icon  - -# global settings -yabai -m config mouse_follows_focus off -yabai -m config focus_follows_mouse autoraise -yabai -m config window_placement second_child - -# floating windows are always on top (default: off) -yabai -m config window_topmost on -yabai -m config window_opacity off - -# modify window shadows (default: on, options: on, off, float) -yabai -m config window_shadow float -yabai -m config window_border on -yabai -m config window_border_width 4 - -# window border (default: off) -# - width has unit 1pt -# - colors for borders are in the format AARRGGBB (alpha, red, green, blue) -# as a hexadecimal value -# - active means focused window, normal means unfocused window, -# insert means selected window -yabai -m config active_window_border_color 0xff8E83B8 -yabai -m config normal_window_border_color 0xff51425C -yabai -m config insert_window_border_color 0xff8E83B8 -# yabai -m config active_window_border_color 0xff775759 -# yabai -m config normal_window_border_color 0xff505050 -# yabai -m config insert_window_border_color 0xffd75f5f -yabai -m config active_window_opacity 1.0 -yabai -m config normal_window_opacity 0.90 -yabai -m config split_ratio 0.50 -yabai -m config auto_balance on -yabai -m config mouse_modifier fn -yabai -m config mouse_action1 move -yabai -m config mouse_action2 resize - -# general space settings -yabai -m config layout bsp -yabai -m config top_padding 10 -yabai -m config bottom_padding 10 -yabai -m config left_padding 10 -yabai -m config right_padding 10 -yabai -m config window_gap 10 - -# global settings -# yabai -m config window_opacity_duration 0.0 -# yabai -m config window_border_placement inset -# yabai -m config window_border_radius -1.0 - -# Identifying windows -# yabai -m query --windows --space 1 | jq - -# float system preoferences -yabai -m rule --add app="^System Preferences$" manage=off -yabai -m rule --add app="^Stickies$" manage=off -yabai -m rule --add app="^Calculator$" manage=off -yabai -m rule --add title="^About$" manage=off -yabai -m rule --add title="^Preview$" manage=off - -echo "yabai configuration loaded.." diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 5a8e3325..00000000 --- a/LICENSE +++ /dev/null @@ -1,14 +0,0 @@ - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. - diff --git a/Library/LaunchAgents/name.bapt.mbsync.plist b/Library/LaunchAgents/name.bapt.mbsync.plist deleted file mode 100755 index 11bf72b4..00000000 --- a/Library/LaunchAgents/name.bapt.mbsync.plist +++ /dev/null @@ -1,22 +0,0 @@ -<!-- http://www.launchd.info/ --> -<!-- https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html --> -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> - <dict> - <key>Label</key> - <string>name.bapt.mbsync</string> - <key>ProgramArguments</key> - <array> - <string>/Users/baptiste/.config/neomutt/sync</string> - </array> - <key>RunAtLoad</key> - <true/> - <key>StartInterval</key> - <integer>180</integer> - <key>StandardOutPath</key> - <string>/Users/baptiste/Mail/.mailsync.log</string> - <key>StandardErrorPath</key> - <string>/Users/baptiste/Mail/.mailsync.log</string> - </dict> -</plist> diff --git a/Xmodmap-kinesis b/Xmodmap-kinesis deleted file mode 100644 index aaeebe8c..00000000 --- a/Xmodmap-kinesis +++ /dev/null @@ -1,25 +0,0 @@ -! Kinesis advantage conf -! see also /etc/X11/xorg.conf.d/02-kinesis.conf and ~/.xinitrc -! 105: Control right (Super_R) -! 134: Windows right (Multi_key) -! 66: Caps_Lock - -! Map Multi_key (right control) to Multi_key to be used as Mod4 modkey with i3 -! Set control to only Left control - -! Working but disabled to test stuff with xkbcomp and xinitrc -! Use Control right for mod4 -! clear mod4 -! clear control -! add control = Control_L -! add mod4 = Multi_key - -! Not used -! Use Caps lock for mod4 -! clear lock -! keycode 66 = Super_L -! add mod4 = Super_L Multi_key - -! Use Caps lock for Escape -clear lock -keycode 66 = Escape diff --git a/Xresources b/Xresources deleted file mode 100644 index 3fecef58..00000000 --- a/Xresources +++ /dev/null @@ -1,252 +0,0 @@ -!------------------------------------------------------------------------------- -! Xft settings -!------------------------------------------------------------------------------- - -! XXX testing -Xft.dpi: 96 -Xft.antialias: true -Xft.rgba: rgb -Xft.hinting: true -! Xft.hintstyle: hintslight -! XXX testing -Xft.hintstyle: hintfull - -! Xresources solarized -! http://ethanschoonover.com/solarized - -! Common -#define S_yellow #b58900 -#define S_orange #cb4b16 -#define S_red #dc322f -#define S_magenta #d33682 -#define S_violet #6c71c4 -#define S_blue #268bd2 -#define S_cyan #2aa198 -#define S_green #859900 - -! Dark -#define S_base03 #002b36 -#define S_base02 #073642 -#define S_base01 #586e75 -#define S_base00 #657b83 -#define S_base0 #839496 -#define S_base1 #93a1a1 -#define S_base2 #eee8d5 -#define S_base3 #fdf6e3 - -*background: S_base03 -*foreground: S_base0 -*fadeColor: S_base03 -*cursorColor: S_base1 -*pointerColorBackground:S_base01 -*pointerColorForeground:S_base1 - -*color0: S_base02 -*color1: S_red -*color2: S_green -*color3: S_yellow -*color4: S_blue -*color5: S_magenta -*color6: S_cyan -*color7: S_base2 -*color8: S_base03 -*color9: S_orange -*color10: S_base01 -*color11: S_base00 -*color12: S_base0 -*color13: S_violet -*color14: S_base1 -*color15: S_base3 - -!! XTerm -XTerm*faceName: xft:Monaco:style=regular:size=13 -XTerm*locale: true -XTerm*utf8: 1 -XTerm*metaSendsEscape: true - -!------------------------------------------------------------------------------- -! URxvt settings -! Colours lifted from Solarized (http://ethanschoonover.com/solarized) -! More info at: -! http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod -!------------------------------------------------------------------------------- - -! Selecting -! Left click and drag to select -! Right click to extend selection -! Triple left click to select line - -! Pasting -! Middle mouse: PRIMARY selection -! Shift+Insert: PRIMARY selection -! Middle mouse + Meta (Alt): CLIPBOARD selection -! Ctrl-Meta(Alt)-c: copy to CLIPBOARD selection -! Ctrl-Meta(Alt)-v: paste from CLIPBOARD selection - -URxvt.depth: 32 -!URxvt.geometry: 90x30 -URxvt.transparent: false -URxvt.fading: 0 -! URxvt.urgentOnBell: true -! URxvt.visualBell: true -URxvt.loginShell: true -URxvt.saveLines: 50 -URxvt.internalBorder: 3 -URxvt.lineSpace: 0 -!URxvt*eightBitInput: false - -! If true bold means high intensity -URxvt.intensityStyles: false - -! Fonts -!URxvt.allow_bold: false - -! Check with fontforge info of fonts inside /usr/share/fonts -! Need to use single-width glyphs (font variant ending with Mono) -! https://github.com/powerline/fonts/issues/176 -! DejaVu provides some missing glyphs like the green tick -! Symbola (from ancient fonts) providing some missing glyphs -! Unidings, FontAwesome, Unifont and Noto Mono can provide more if needed -! Use rxvt-unicode-wcwidthcallback - -!URxvt*font: xft:Fantasque Sans Mono:size=12,xft:DejaVu Sans Mono:size=12,xft:FontAwesome:size=12,xft:Unifont:size=12,xft:Noto Mono:size=12,xft:Symbola:size=12,xft:Unidings:size=12,xft:Input Mono:size=12,xft:Icons:size=12 - -! urxvt: unable to calculate font width for 'Wuncon Siji:slant=0:weight=200:pixelsize=12:minspace=True', ignoring -URxvt*font: xft:FantasqueSansMono Nerd Font Mono:size=12,xft:FontAwesome:size=12,xft:Unifont:size=10,xft:Symbola:size=12,xft:Icons:size=12,xft:icomoon:size=12,xft:Misc Stlarch:style=regular:size=12,xft:Wuncon Siji:style=siji:size=12 - -! URxvt*font: xft:Fantasque Sans Mono:size=12,xft:DejaVu Sans Mono:size=12,xft:Symbola:size=12,xft:unifont:size=10,xft:Unifont:size=10,xft:Wuncon Siji:size=12 -! URxvt*imFont: xft:Fantasque Sans Mono:size=12:style=bold,xft:DejaVu Sans Mono:size=12:style=bold,xft:Symbola:size=12:style=bold -! URxvt*boldFont: xft:Fantasque Sans Mono:size=12:style=bold,xft:DejaVu Sans Mono:size=12:style=bold,xft:Symbola:size=12:style=bold -! URxvt*italicFont: xft:Fantasque Sans Mono:size=12:style=italic,xft:DejaVu Sans Mono:size=12:style=italic,xft:Symbola:size=12:style=italic -! URxvt*boldItalicFont: xft:Fantasque Sans Mono:size=12:style=bold:italic,xft:DejaVu Sans Mono:size=12:style=bold:italic,xft:Symbola:size=12:style=bold:italic - -! Fix font space -URxvt*letterSpace: -1 - -! Scrollbar -URxvt.scrollStyle: rxvt -URxvt.scrollBar: false - -! Perl extensions -! https://github.com/muennich/urxvt-perls/ -! URxvt.perl-ext-common: default,url-select,vtwheel,clipboard -! URxvt.perl-ext-common: default,url-select,clipboard,selection-to-clipboard -! URxvt.perl-ext-common: default,url-select,selection-to-clipboard -! XXX is matcher in default? -URxvt.perl-ext-common: default,url-select,selection-to-clipboard,matcher -! Alt-u to select URLs -URxvt.keysym.M-u: perl:url-select:select_next -URxvt.url-launcher: /usr/bin/xdg-open -URxvt.url-select.launcher: /usr/bin/xdg-open -URxvt.url-select.underline: true -! Mouse right click -URxvt.matcher.button: 3 - -! Cursor -URxvt.cursorBlink: false -URxvt.cursorUnderline: false - -! Pointer -URxvt.pointerBlank: true - -! Delimiters when copying/pasting -! URxvt*.cutchars: "()*,;<>[]{}|`\"'#│" -URxvt*.cutchars: "()*,;<>[]{}|'`\"#│" - -! Handle meta key usage -! URxvt*keysym.Meta-0X0020: \302\240 -! URxvt*keysym.Meta-0X0021: \302\241 -! URxvt*keysym.Meta-0X0022: \302\242 -! URxvt*keysym.Meta-0X0023: \302\243 -! URxvt*keysym.Meta-0X0024: \302\244 -! URxvt*keysym.Meta-0X0025: \302\245 -! URxvt*keysym.Meta-0X0026: \302\246 -! URxvt*keysym.Meta-0X0027: \302\247 -! URxvt*keysym.Meta-0X0028: \302\250 -! URxvt*keysym.Meta-0X0029: \302\251 -! URxvt*keysym.Meta-0X002A: \302\252 -! URxvt*keysym.Meta-0X002B: \302\253 -! URxvt*keysym.Meta-0X002C: \302\254 -! URxvt*keysym.Meta-0X002D: \302\255 -! URxvt*keysym.Meta-0X002E: \302\256 -! URxvt*keysym.Meta-0X002F: \302\257 -! URxvt*keysym.Meta-0X0030: \302\260 -! URxvt*keysym.Meta-0X0031: \302\261 -! URxvt*keysym.Meta-0X0032: \302\262 -! URxvt*keysym.Meta-0X0033: \302\263 -! URxvt*keysym.Meta-0X0034: \302\264 -! URxvt*keysym.Meta-0X0035: \302\265 -! URxvt*keysym.Meta-0X0036: \302\266 -! URxvt*keysym.Meta-0X0037: \302\267 -! URxvt*keysym.Meta-0X0038: \302\270 -! URxvt*keysym.Meta-0X0039: \302\271 -! URxvt*keysym.Meta-0X003A: \302\272 -! URxvt*keysym.Meta-0X003B: \302\273 -! URxvt*keysym.Meta-0X003C: \302\274 -! URxvt*keysym.Meta-0X003D: \302\275 -! URxvt*keysym.Meta-0X003E: \302\276 -! URxvt*keysym.Meta-0X003F: \302\277 -! URxvt*keysym.Meta-0X0040: \303\200 -! URxvt*keysym.Meta-0X0041: \303\201 -! URxvt*keysym.Meta-0X0042: \303\202 -! URxvt*keysym.Meta-0X0043: \303\203 -! URxvt*keysym.Meta-0X0044: \303\204 -! URxvt*keysym.Meta-0X0045: \303\205 -! URxvt*keysym.Meta-0X0046: \303\206 -! URxvt*keysym.Meta-0X0047: \303\207 -! URxvt*keysym.Meta-0X0048: \303\210 -! URxvt*keysym.Meta-0X0049: \303\211 -! URxvt*keysym.Meta-0X004A: \303\212 -! URxvt*keysym.Meta-0X004B: \303\213 -! URxvt*keysym.Meta-0X004C: \303\214 -! URxvt*keysym.Meta-0X004D: \303\215 -! URxvt*keysym.Meta-0X004E: \303\216 -! URxvt*keysym.Meta-0X004F: \303\217 -! URxvt*keysym.Meta-0X0050: \303\220 -! URxvt*keysym.Meta-0X0051: \303\221 -! URxvt*keysym.Meta-0X0052: \303\222 -! URxvt*keysym.Meta-0X0053: \303\223 -! URxvt*keysym.Meta-0X0054: \303\224 -! URxvt*keysym.Meta-0X0055: \303\225 -! URxvt*keysym.Meta-0X0056: \303\226 -! URxvt*keysym.Meta-0X0057: \303\227 -! URxvt*keysym.Meta-0X0058: \303\230 -! URxvt*keysym.Meta-0X0059: \303\231 -! URxvt*keysym.Meta-0X005A: \303\232 -! URxvt*keysym.Meta-0X005B: \303\233 -! URxvt*keysym.Meta-0X005C: \303\234 -! URxvt*keysym.Meta-0X005D: \303\235 -! URxvt*keysym.Meta-0X005E: \303\236 -! URxvt*keysym.Meta-0X005F: \303\237 -! URxvt*keysym.Meta-0X0060: \303\240 -! URxvt*keysym.Meta-0X0061: \303\241 -! URxvt*keysym.Meta-0X0062: \303\242 -! URxvt*keysym.Meta-0X0063: \303\243 -! URxvt*keysym.Meta-0X0064: \303\244 -! URxvt*keysym.Meta-0X0065: \303\245 -! URxvt*keysym.Meta-0X0066: \303\246 -! URxvt*keysym.Meta-0X0067: \303\247 -! URxvt*keysym.Meta-0X0068: \303\250 -! URxvt*keysym.Meta-0X0069: \303\251 -! URxvt*keysym.Meta-0X006A: \303\252 -! URxvt*keysym.Meta-0X006B: \303\253 -! URxvt*keysym.Meta-0X006C: \303\254 -! URxvt*keysym.Meta-0X006D: \303\255 -! URxvt*keysym.Meta-0X006E: \303\256 -! URxvt*keysym.Meta-0X006F: \303\257 -! URxvt*keysym.Meta-0X0070: \303\260 -! URxvt*keysym.Meta-0X0071: \303\261 -! URxvt*keysym.Meta-0X0072: \303\262 -! URxvt*keysym.Meta-0X0073: \303\263 -! URxvt*keysym.Meta-0X0074: \303\264 -! URxvt*keysym.Meta-0X0075: \303\265 -! URxvt*keysym.Meta-0X0076: \303\266 -! URxvt*keysym.Meta-0X0077: \303\267 -! URxvt*keysym.Meta-0X0078: \303\270 -! URxvt*keysym.Meta-0X0079: \303\271 -! URxvt*keysym.Meta-0X007A: \303\272 -! URxvt*keysym.Meta-0X007B: \303\273 -! URxvt*keysym.Meta-0X007C: \303\274 -! URxvt*keysym.Meta-0X007D: \303\275 -! URxvt*keysym.Meta-0X007E: \303\276 -! URxvt*keysym.Meta-0X007F: \303\277 diff --git a/asdfrc b/asdfrc deleted file mode 100644 index 4fb3d40e..00000000 --- a/asdfrc +++ /dev/null @@ -1,2 +0,0 @@ -# Reading existing .nvmrc or .node-version -legacy_version_file = yes diff --git a/bin/add-grid-certificates-to-chromium.sh b/bin/add-grid-certificates-to-chromium.sh deleted file mode 100755 index a8ac2ff2..00000000 --- a/bin/add-grid-certificates-to-chromium.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -# Adds CA certificates of /etc/grid-security/certificates to Chromium trustore - -CERT_DB="sql:$HOME/.pki/nssdb" -CA_TRUST_LEVEL='CT,C,C' - -for cert in /etc/grid-security/certificates/*.pem; do - nickname=$(basename "${cert%%.pem}") - certutil -d "$CERT_DB" -A -i "$cert" -n "$nickname" -t "$CA_TRUST_LEVEL" -done diff --git a/bin/add-grid-certificates-to-firefox.sh b/bin/add-grid-certificates-to-firefox.sh deleted file mode 100755 index 29e7983b..00000000 --- a/bin/add-grid-certificates-to-firefox.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -# Adds CA certificates of /etc/grid-security/certificates to Firefox trustore - -FIREFOX_CERT_DB=$(dirname $(find ~/.mozilla -type f -name 'cert8.db')) -CA_TRUST_LEVEL='CT,C,C' - -for cert in /etc/grid-security/certificates/*.pem; do - nickname=$(basename "${cert%%.pem}") - certutil -d "$FIREFOX_CERT_DB" -A -i "$cert" -n "$nickname" -t "$CA_TRUST_LEVEL" -done diff --git a/bin/add_contact b/bin/add_contact deleted file mode 100755 index 54be7fd4..00000000 --- a/bin/add_contact +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -set -eu -set -o pipefail - -# Message is piped on the CLI -_from=$(awk '/^From:/ {print substr($0, index($0, $2))}' < /dev/stdin) - -[ -z "$_from" ] && exit 1 - -# extract Name and email -# XXX What if no name? -_name=$(printf "$_from" | perl -wlne '/(.*)\ +<(.*)>/ and print $1') -_email=$(printf "$_from" | perl -wlne '/(.*)\ +<(.*)>/ and print $2') - -# TODO Ask for missing information - -# Check if contacts already exists -# Returns email, name and group -_contact=$(goobook query "$_email") - -# Add new contact -if [ -z "$_contact" ]; then - goobook --verbose add "$_name" "$_email" - # Relaod goobook - goobook reload - printf "Added contact $_name $_email\n" -else - # TODO Update existing contact - printf "Found existing contact:" - printf "$_contact\n" -fi - -exit 0 diff --git a/bin/add_event b/bin/add_event deleted file mode 100755 index 551e2db0..00000000 --- a/bin/add_event +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -TERMINAL='termite --role task_dialog' -CALENDAR='baptiste.grenier@egi.eu' - -$TERMINAL -e "gcalcli --detail_url=short --calendar=\"$CALENDAR\" import -v \"$1\"" diff --git a/bin/atrope-dispatch.sh b/bin/atrope-dispatch.sh deleted file mode 100755 index a7bba5d2..00000000 --- a/bin/atrope-dispatch.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -docker run -v /etc/grid-security:/etc/grid-security \ - -v /etc/voms.json:/etc/voms.json \ - -v /etc/atrope:/etc/atrope \ - -v /mnt/data/image_data:/image_data \ - egifedcloud/atrope atrope --debug dispatch diff --git a/bin/autostart.sh b/bin/autostart.sh deleted file mode 100755 index 752b15f1..00000000 --- a/bin/autostart.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/sh - -# Run a program only once -# -# run_once $program, $program_arguments, $process_name -run_once() { - program="$1" - program_arguments="$2" - process_name="$3" - - [ -z "$process_name" ] && process_name="$program" - - if [ -z "$program_arguments" ]; then - pgrep -f -u $USER -x "$process_name" || ( "$program" & ) - else - pgrep -f -u $USER -x "$process_name" || ( "$program" "$program_arguments" & ) - fi -} - -## OSD -run_once dunst - -# Wallpapers -run_once nitrogen "--restore" - -# Disable offlineimap while testing a user systemd service + timer -# pkill offlineimap || sleep 3 && offlineimap & -#&& offlineimap-notify &> /tmp/offlineimap-log - -# Pulse audio -pkill pulseaudio; sleep 3 && pulseaudio --start -D -#pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo '60%' & -#run_once pasystray -#exec --no-startup-id volti # starting volume control -#exec --no-startup-id pa-applet - -# Automatic mounting -devmon --no-gui & - -insync start -dropbox - -run_once arandr-indicator - -# MPD -#run_once mpd -#run_once mpdscribble - -# NetworkManager -run_once nm-applet - -# Clipboard manager -# anamnesis, clipman, copyq, gpaste could be alternatives -run_once clipit - -# Start urxvt daemon -#urxvtd -q -f -o & urxvtdpid=$! -#urxvtd -f -o - -# Misc -#run_once revelation \ -# ~/repos/perso/gwarf/private/revelation/keyring-perso \ -# "/usr/bin/python.*/bin/revelation.*/keyring-perso" -#run_once revelation \ -# ~/repos/perso/gwarf/private/revelation/keyring-maatg \ -# "/usr/bin/python.*/bin/revelation.*/keyring-maatg" - -run_once terminology -run_once pidgin -run_once skypeforlinux -run_once firefox -run_once redshift -run_once redshift-gtk -#run_once rofi "-key mod1+tab -terminal urxvtc" -#run_once JDownloader - -# Disabled -#run_once workrave -#run_once chromium -#run_once deluge -#stalonetray & -#tomboy & -#alunn & -#workrave & -#nvidia-settings --load-config-only & -#run_once syncthing-gtk -#run_once owncloud -#run_once flow -#un_once kontaminuti -#exec --no-startup-id udiskie -#/usr/libexec/gnome-settings-daemon & -#gnome-volume-manager & -#x11vnc -ncache 10 -many -q -bg -rfbauth .vnc/passwd diff --git a/bin/chromium-perso b/bin/chromium-perso deleted file mode 100755 index ad3bdd7e..00000000 --- a/bin/chromium-perso +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -DATA_DIR="$HOME/.config/chromium-perso" - -chromium --user-data-dir="$DATA_DIR" $@ diff --git a/bin/chromium-vikings b/bin/chromium-vikings deleted file mode 100755 index 4369e0c6..00000000 --- a/bin/chromium-vikings +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -DATA_DIR="$HOME/.config/chromium-vikings" - -chromium --user-data-dir="$DATA_DIR" diff --git a/bin/colortest.py b/bin/colortest.py deleted file mode 100755 index af5a54e3..00000000 --- a/bin/colortest.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/python2 -# Ported to Python from http://www.vim.org/scripts/script.php?script_id=1349 - -print("Color indexes should be drawn in bold text of the same color.\n") - -colored = [0] + [0x5f + 40 * n for n in range(0, 5)] -colored_palette = [ - "%02x/%02x/%02x" % (r, g, b) - for r in colored - for g in colored - for b in colored -] - -grayscale = [0x08 + 10 * n for n in range(0, 24)] -grayscale_palette = [ - "%02x/%02x/%02x" % (a, a, a) - for a in grayscale -] - -normal = "\033[38;5;%sm" -bold = "\033[1;38;5;%sm" -reset = "\033[0m" - -for (i, color) in enumerate(colored_palette + grayscale_palette, 16): - index = (bold + "%4s" + reset) % (i, str(i) + ':') - hex = (normal + "%s" + reset) % (i, color) - newline = '\n' if i % 6 == 3 else '' - print index, hex, newline, diff --git a/bin/createsign b/bin/createsign deleted file mode 100755 index 3aa8c0c6..00000000 --- a/bin/createsign +++ /dev/null @@ -1,4 +0,0 @@ -#! /bin/sh -echo "\,,/_[-_-]_\,,/" -echo -fortune -a diff --git a/bin/credentials.py-example b/bin/credentials.py-example deleted file mode 100755 index 48d87179..00000000 --- a/bin/credentials.py-example +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python - -import os - -def get_keystone_creds(): - d = {} - #d['username'] = 'readall' - #d['password'] = 'test' - # os.environ['OS_USERNAME'] - d['username'] = 'admin' - d['password'] = 'amdinpassword' - # os.environ['OS_PASSWORD'] - d['auth_url'] = 'https://192.168.56.105:5000/v2.0' - # os.environ['OS_AUTH_URL'] - d['tenant_name'] = 'admin' - # os.environ['OS_TENANT_NAME'] - return d - -def get_nova_creds(): - d = {} - d['username'] = 'readall' - # os.environ['OS_USERNAME'] - d['api_key'] = 'test' - # os.environ['OS_PASSWORD'] - d['auth_url'] = 'https://192.168.56.105:5000/v2.0' - # os.environ['OS_AUTH_URL'] - d['project_name'] = 'fedcloud' - d['project_id'] = 'b8fc16ec4454445f910751806eea60d5' - # os.environ['OS_TENANT_NAME'] - d['insecure'] = True - return d - diff --git a/bin/display-visor b/bin/display-visor deleted file mode 100755 index 62e7608c..00000000 --- a/bin/display-visor +++ /dev/null @@ -1,213 +0,0 @@ -#!/bin/bash -version="0.4" - -usage () -{ - echo \ -'Usage: display-visor [-f] [-i] [-l [switch]] - - -f, --feh Run feh bg script. - Executes ~/.fehbg upon completion. - -i, --i3 Test for i3wm instance. - For avoiding conflict with multiple environments. - -l, --lid Check laptop lid status. - Ignored/Assumed closed if not given. - It is possible to specify switch. Defaults to 'LID0' - If unsure, look under /proc/acpi/button/lid/... - -v, --version Print version info. - - Useful for setting monitor layouts on system login/resume/hotplug - when using window managers that do not handle display settings. - - Depends on xorg-xrandr. - -This is free software. -2015, Michael Heyns <https://github.com/beanaroo> -' -} - -handle_args () -{ - while [ "$1" != "" ]; do - case $1 in - -h | --help ) usage - exit - ;; - -f | --feh ) fehbg=true - ;; - -i | --i3 ) i3test=true - ;; - -l | --lid ) lidtest=true - lidswitch=${2:-LID0} - lidstatus=$(cat /proc/acpi/button/lid/$lidswitch/state 2>/dev/null | awk '{print $NF}') - shift - ;; - -v | --version ) echo "display-visor $version" - exit - ;; - * ) usage - exit 1 - ;; - esac - shift - done -} - - -## Error Handling -handle_err () -{ - # Test for running Xorg server - if [ -z "$(ps -C Xorg --no-headers)" ]; then - echo "$prefix No Xorg server found. Exiting..." - exit 1 - fi - - # Test for running instance of i3 - if [ "$i3test" == "true" -a -z "$(ps -C i3 --no-headers)" ]; then - echo "$prefix i3wm not running. Exiting..." - exit 1 - fi - - # Test for valid laptop lid status. - if [ "$lidtest" == "true" -a -z "$lidstatus" ]; then - echo "$prefix Laptop lid switch $lidswitch not found. Exiting..." - exit 1 - fi -} - -## Declare Output Devices -declare_outputs () -{ - devices=$(find /sys/class/drm/*/status) - while read l ; do - dir=$(dirname $l) - status=$(cat $l) - dev=$(echo $dir | cut -d\- -f 2-) - - if [ $(expr match $dev "HDMI") != "0" ]; then - dev=HDMI${dev#HDMI-?-} - else - dev=$(echo $dev | tr -d '-') - fi - - if [ "connected" == "$status" ]; then - echo "$prefix $dev connected" - declare -gA $dev="yes" - fi - done <<< "$devices" -} - -## Configure monitors for closed lid -config_closed_lid () -{ - if [ "$lidstatus" == "closed" ]; then - echo "$prefix Laptop lid is closed" - elif [ -n "$LVDS1" -a -z "$lidtest" ]; then - echo "$prefix Laptop display will be ignored unless -l option is set" - fi - if [ -n "$HDMI1" -a -n "$VGA1" ]; then - echo "$prefix SETTING: HDMI1 (Primary) - VGA1 (Right)" - xrandr --output LVDS1 --off \ - --output HDMI1 --auto --primary \ - --output VGA1 --auto --right-of HDMI1 - elif [ -n "$HDMI1" -a -z "$VGA1" ]; then - echo "$prefix SETTING: HDMI1 (Primary)" - xrandr --output LVDS1 --off \ - --output VGA1 --off \ - --output HDMI1 --auto --primary - elif [ -z "$HDMI1" -a -n "$VGA1" ]; then - echo "$prefix SETTING: VGA1 (Primary)" - xrandr --output LVDS1 --off \ - --output HDMI1 --off \ - --output VGA1 --auto --primary - else - echo "$prefix No external monitors are plugged in" - xrandr --output HDMI1 --off \ - --output VGA1 --off \ - --output LVDS1 --auto --primary - fi -} - -## Configure monitors for open lid -config_open_lid () -{ - echo "$prefix Laptop lid is open" - if [ -n "$HDMI1" -a -n "$VGA1" ]; then - echo "$prefix SETTING: LVDS1 (Left) - HDMI1 (Primary) - VGA1 (Right)" - xrandr --output LVDS1 --off \ - --output HDMI1 --auto --primary \ - --output VGA1 --auto --right-of HDMI1 - elif [ -n "$HDMI1" -a -z "$VGA1" ]; then - echo "$prefix HDMI1 is plugged in, but not VGA1" - echo "$prefix SETTING: LVDS1 (Primary) - HDMI1 (Right)" - xrandr --output VGA1 --off \ - --output LVDS1 --auto --primary \ - --output HDMI1 --auto --right-of LVDS1 --noprimary - elif [ -z "$HDMI1" -a -n "$VGA1" ]; then - echo "$prefix SETTING: LVDS1 (Primary) - VGA1 (Right)" - xrandr --output HDMI1 --off \ - --output LVDS1 --auto --primary \ - --output VGA1 --auto --right-of LVDS1 --noprimary - else - echo "$prefix No external monitors are plugged in" - xrandr --output HDMI1 --off \ - --output VGA1 --off \ - --output LVDS1 --auto --primary - fi -} - -configure_displays () -{ - - handle_err - - declare_outputs - - if [ -z "$lidstatus" -o "$lidstatus" == "closed" ]; then - config_closed_lid - elif [ "$lidstatus" == "open" ]; then - config_open_lid - fi - - # Run .fehbg script if -f argument is given. - if [ "$fehbg" == "true" ]; then - if [ -x $HOME/.fehbg ]; then - echo "$prefix Setting background using .fehbg." - $($HOME/.fehbg 2>/dev/null) - else - echo ".$prefix Failed to execute ~/.fehbg script. Use 'feh --bg-xxx' to generate one." - fi - fi - - # FIXME: Prevent segfault occurring from simultanious signals. -- Issue #5 -- - sleep 2 - -} - -#-----------# -# Begin # -#-----------# - -# Set exit signal trap. -trap "echo 'Received interrupt. Exiting...' ; exit" SIGHUP SIGINT SIGQUIT - -# Log output. -#prefix='[ display-visor: ]:' -exec 1> >(logger -s -t "display-visor") 2>&1 - -# Handle arguments. -handle_args "$@" - -# Configure displays upon initialization. -configure_displays - -# Set reconfigure trap. -trap "echo 'Received signal. Reconfiguring displays.' ; configure_displays" RTMIN+5 - -# Wait for signals -while : -do - sleep 60 & - wait -done diff --git a/bin/dock b/bin/dock deleted file mode 100755 index f4bdbd3c..00000000 --- a/bin/dock +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -DP=$(xrandr | grep -E "DP[12345] connected" | grep -oE "DP[12345]") -xrandr --output $DP --left-of LVDS1 --auto -pacmd set-sink-port 0 analog-output -sleep 3 -for W in 1 2 3 4 5; do - i3-msg "workspace $W; move workspace to output $DP" -done -sleep 1 -xmodmap /home/lzap/.Xmodmap -configure-input-devices diff --git a/bin/download_cert.sh b/bin/download_cert.sh deleted file mode 100755 index 77817435..00000000 --- a/bin/download_cert.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -DOMAIN="$1" -CERTFILE="$DOMAIN.crt" - -echo QUIT \ - | openssl s_client -connect "$DOMAIN:443" \ - | sed -ne "/BEGIN CERT/,/END CERT/w $CERTFILE" diff --git a/bin/dual-screen b/bin/dual-screen deleted file mode 100755 index 9b08a41f..00000000 --- a/bin/dual-screen +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -# XXX Ideas for automatic monitor conf -# XXX check https://github.com/beanaroo/display-visor -# XXX https://github.com/codingtony/udev-monitor-hotplug -# XXX https://stackoverflow.com/questions/5469828/how-to-create-a-callback-for-monitor-plugged-on-an-intel-graphics - -#xrandr --setprovideroutputsource modesetting NVIDIA-0 -#xrandr --setprovideroutputsource Intel NVIDIA-0 -#xrandr --auto - -xrandr \ - | grep -q DP-1 \ - && xrandr \ - --output DP-4 --auto \ - --output DP-1 --auto --left-of DP-4 - -# Wait a second to get things rady -sleep 1s diff --git a/bin/get-occi-version.py b/bin/get-occi-version.py deleted file mode 100755 index 7c6c683a..00000000 --- a/bin/get-occi-version.py +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env python - -import re - -import keystoneclient.v2_0.client as ksclient -import novaclient.client -import requests - -from six.moves.urllib.parse import urlparse - -os_username = 'readall' -os_password = 'test' -os_tenant_name = 'fedcloud' -os_auth_url = 'https://192.168.56.105:5000/v2.0' -endpoint_url = 'https://192.168.56.105:8787/occi1.1' -os_cacert = '/etc/plop' - -insecure = True - -requests.packages.urllib3.disable_warnings() - -client_cls = novaclient.client.Client -api = client_cls(2, - os_username, - os_password, - os_tenant_name, - auth_url=os_auth_url, - insecure=insecure) - -api.authenticate() - -keystone = ksclient.Client(auth_url=os_auth_url, - username=os_username, - password=os_password, - tenant_name=os_tenant_name, - insecure=insecure) -auth_token = keystone.auth_token - -try: - headers = {'X-Auth-token': auth_token} - request_url = "%s/-/" % endpoint_url - print('Requesting %s' % request_url) - if insecure: - verify = False - else: - verify = os_cacert - r = requests.get(request_url, headers=headers, verify=verify) - if r.status_code == requests.codes.ok: - header_server = r.headers['Server'] - e_middleware_version = re.search(r'ooi/([0-9.]+)', - header_server).group(1) - e_version = re.search(r'OCCI/([0-9.]+)', - header_server).group(1) - print("Version: %s, Middleware version: %s" % (e_version, - e_middleware_version)) - else: - print(r.text) -except requests.exceptions.RequestException as e: - print(e) - pass -except IndexError as e: - print(e) - pass diff --git a/bin/get_and_set_wallpaper b/bin/get_and_set_wallpaper deleted file mode 100755 index b35010c6..00000000 --- a/bin/get_and_set_wallpaper +++ /dev/null @@ -1,250 +0,0 @@ -#!/bin/sh - -#WALL=$(find "${HOME}/.wallpapers/" -type f | sort -R | tail -1) -#feh --no-fehbg --bg-scale "$WALL" - -#!/bin/bash -# Author: Marguerite Su <i@marguerite.su> -# License: GPL-3.0 -# Description: Download Bing Wallpaper of the Day and set it as your Linux Desktop. -# https://github.com/marguerite/linux-bing-wallpaper - -function contains() { - local n=$# - local value=${!n} - for ((i=1;i < $#;i++)) { - if [ "${!i}" == "${value}" ]; then - echo "y" - return 0 - fi - } - echo "n" - return 1 -} - -# cron needs the DBUS_SESSION_BUS_ADDRESS environment variable set -if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] ; then - TMP=~/.dbus/session-bus - export $(grep -h DBUS_SESSION_BUS_ADDRESS= $TMP/$(ls -1t $TMP | head -n 1)) -fi - -if [ "$#" == 0 ] ; then - # The mkt parameter determines which Bing market you would like to - # obtain your images from. - mkt="zh-CN" - exitAfterRunning=false - -elif [ "$#" == 2 ] ; then - # Valid values are: - declare -a list=("en-US" "zh-CN" "ja-JP" "en-AU" "en-UK" "de-DE" "en-NZ" "en-CA") - - if [ $(contains "${list[@]}" $1) == "y" ]; then - mkt=$1 - else - echo "mkt must be one of the following:" - printf '%s\n' "${list[@]}" - exit 1 - fi - - if [ "$2" = true ] ; then - exitAfterRunning=true - else - exitAfterRunning=false - fi - -else - echo "Usage: `basename $0` mkt[en-US,zh-CN,ja-JP,en-AU,en-UK,de-DE,en-NZ,en-CA] exitAfterRunning[true,false]" - exit 1 -fi - -# $bing is needed to form the fully qualified URL for -# the Bing pic of the day -bing="www.bing.com" - -# The idx parameter determines where to start from. 0 is the current day, -# 1 the previous day, etc. -idx="0" - -# $xmlURL is needed to get the xml data from which -# the relative URL for the Bing pic of the day is extracted -xmlURL="http://www.bing.com/HPImageArchive.aspx?format=xml&idx=$idx&n=1&mkt=$mkt" - -# $saveDir is used to set the location where Bing pics of the day -# are stored. $HOME holds the path of the current user's home directory -saveDir=$HOME'/Pictures/Bing/' - -# Create saveDir if it does not already exist -mkdir -p $saveDir - -# Set picture options -# Valid options are: none,wallpaper,centered,scaled,stretched,zoom,spanned -picOpts="zoom" - -# The file extension for the Bing pic -picExt=".jpg" - -detectDE() -{ - # see https://bugs.freedesktop.org/show_bug.cgi?id=34164 - unset GREP_OPTIONS - - # XXX Skip DE detection and use i3 - XDG_CURRENT_DESKTOP='' - if [ -n "${XDG_CURRENT_DESKTOP}" ]; then - case "${XDG_CURRENT_DESKTOP}" in - GNOME) - DE=gnome; - ;; - KDE) - DE=kde; - ;; - LXDE) - DE=lxde; - ;; - LXQt) - DE=lxqt; - ;; - MATE) - DE=mate; - ;; - XFCE) - DE=xfce - ;; - X-Cinnamon) - DE=cinnamon - ;; - esac - else - # DE not found, maybe used WM - DE=WM - fi - - if [ x"$DE" = x"" ]; then - # classic fallbacks - if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde; - elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome; - elif [ x"$MATE_DESKTOP_SESSION_ID" != x"" ]; then DE=mate; - elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; - elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; - elif xprop -root 2> /dev/null | grep -i '^xfce_desktop_window' >/dev/null 2>&1; then DE=xfce - fi - fi - - if [ x"$DE" = x"" ]; then - # fallback to checking $DESKTOP_SESSION - case "$DESKTOP_SESSION" in - gnome) - DE=gnome; - ;; - LXDE|Lubuntu) - DE=lxde; - ;; - MATE) - DE=mate; - ;; - xfce|xfce4|'Xfce Session') - DE=xfce; - ;; - esac - fi - - if [ x"$DE" = x"gnome" ]; then - # gnome-default-applications-properties is only available in GNOME 2.x - # but not in GNOME 3.x - which gnome-default-applications-properties > /dev/null 2>&1 || DE="gnome3" - fi -} - -# Download the highest resolution -while true; do - - TOMORROW=$(date --date="tomorrow" +%Y-%m-%d) - TOMORROW=$(date --date="$TOMORROW 00:10:00" +%s) - - for picRes in _1920x1200 _1920x1080 _1366x768 _1280x720 _1024x768; do - - # Extract the relative URL of the Bing pic of the day from - # the XML data retrieved from xmlURL, form the fully qualified - # URL for the pic of the day, and store it in $picURL - picURL=$bing$(echo $(curl -s $xmlURL) | grep -oP "<urlBase>(.*)</urlBase>" | cut -d ">" -f 2 | cut -d "<" -f 1)$picRes$picExt - - # $picName contains the filename of the Bing pic of the day - picName=${picURL##*/} - - # Download the Bing pic of the day - curl -s -o $saveDir$picName -L $picURL - - # Test if download was successful. - downloadResult=$? - if [[ $downloadResult -ge 1 ]]; then - rm -rf $saveDir$picName && continue - fi - - # Test if it's a pic - file --mime-type -b $saveDir$picName | grep "^image/" > /dev/null && break - - rm -rf $saveDir$picName - done - detectDE - - if [[ downloadResult -ge 1 ]]; then - echo "Couldn't download any picture." - exit 0; - fi - - if [[ $DE = "cinnamon" ]]; then - # Set the Cinnamon wallpaper - DISPLAY=:0 GSETTINGS_BACKEND=dconf gsettings set org.cinnamon.desktop.background picture-uri '"file://'$saveDir$picName'"' - - # Set the Cinnamon wallpaper picture options - DISPLAY=:0 GSETTINGS_BACKEND=dconf gsettings set org.cinnamon.desktop.background picture-options $picOpts - fi - - if [[ $DE = "gnome" ]]; then - # Set the GNOME 2 wallpaper - gconftool-2 -s -t string /desktop/gnome/background/picture_filename "$saveDir$picName" - - # Set the GNOME 2 wallpaper picture options - gconftool-2 -s -t string /desktop/gnome/background/picture_options "$picOpts" - fi - - if [[ $DE = "gnome3" ]]; then - # Set the GNOME3 wallpaper - DISPLAY=:0 GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri '"file://'$saveDir$picName'"' - - # Set the GNOME 3 wallpaper picture options - DISPLAY=:0 GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options $picOpts - fi - - if [[ $DE = "mate" ]]; then - dconf write /org/mate/desktop/background/picture-filename \"$saveDir$picName\" - fi - - if [[ $DE = "kde" ]]; then - test -e /usr/bin/xdotool || sudo zypper --no-refresh install xdotool - test -e /usr/bin/gettext || sudo zypper --no-refresh install gettext-runtime - ./kde4_set_wallpaper.sh $saveDir$picName - fi - - if [[ $DE = "lxqt" ]] ; then - pcmanfm-qt -w $saveDir$picName - fi - - if [[ $DE = "xfce" ]]; then - ./xfce4_set_wallpaper.sh $saveDir$picName - fi - - if [[ $DE = "WM" ]]; then - feh --bg-tile $saveDir$picName - fi - - if [ "$exitAfterRunning" = true ] ; then - # Exit the script - exit 0 - fi - - NOW=$(date +%s) - SLEEP=`echo $TOMORROW-$NOW|bc` - sleep $SLEEP -done - diff --git a/bin/get_email b/bin/get_email deleted file mode 100755 index 9d468a53..00000000 --- a/bin/get_email +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -mbsync -a -mbsync --verbose EGI -notmuch new -# afew --dry-run --move=mails diff --git a/bin/get_wallpaper_autostart b/bin/get_wallpaper_autostart deleted file mode 100755 index e1ea2815..00000000 --- a/bin/get_wallpaper_autostart +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -# try 3 times only -i=1 -while [ $i -le 3 ]; do - if curl --connect-timeout 2 -s www.bing.com > /dev/null ; then - break - fi - - seconds=$((15 * $i)) - sleep $seconds - - let i=i+1 -done - -# starting the work even without network availability -cd /usr/lib/bing-wallpaper -./bing_wallpaper.sh diff --git a/bin/gnome-keyring-add-imap-password.py b/bin/gnome-keyring-add-imap-password.py deleted file mode 100755 index 24ab44dd..00000000 --- a/bin/gnome-keyring-add-imap-password.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/python - -import gtk -import gnomekeyring as gkey -import getpass - -class Keyring(object): - def __init__(self, name, server, protocol): - self._name = name - self._server = server - self._protocol = protocol - self._keyring = gkey.get_default_keyring_sync() - - def has_credentials(self): - try: - attrs = {"server": self._server, "protocol": self._protocol} - items = gkey.find_items_sync(gkey.ITEM_NETWORK_PASSWORD, attrs) - return len(items) > 0 - except gkey.DeniedError: - return False - - def get_credentials(self): - attrs = {"server": self._server, "protocol": self._protocol} - items = gkey.find_items_sync(gkey.ITEM_NETWORK_PASSWORD, attrs) - return (items[0].attributes["user"], items[0].secret) - - def set_credentials(self, (user, pw)): - attrs = { - "user": user, - "server": self._server, - "protocol": self._protocol, - } - gkey.item_create_sync(gkey.get_default_keyring_sync(), - gkey.ITEM_NETWORK_PASSWORD, self._name, attrs, pw, True) - -server = raw_input("Server: ") -username = raw_input("Username: ") -password = getpass.getpass(prompt="Password: ") -print - -keyring = Keyring("offlineimap", server, "imap") - -keyring.set_credentials((username, password)) diff --git a/bin/gnomekeyring-helpers.py b/bin/gnomekeyring-helpers.py deleted file mode 100755 index 0e0baf50..00000000 --- a/bin/gnomekeyring-helpers.py +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/env python2 - -""" -Set/get passwords for MSMTP or MPOP in Gnome Keyring - -Copyright (C) 2009 Gaizka Villate - 2010 Emmanuel Bouthenot - -Original author: Gaizka Villate <gaizkav@gmail.com> -Other author(s): Emmanuel Bouthenot <kolter@openics.org> - -URL: http://github.com/gaizka/misc-scripts/tree/master/msmtp - -This program is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. See http://www.gnu.org/copyleft/gpl.html for -the full text of the license. -""" - -import sys, os.path, optparse, getpass - -try: - import gnomekeyring as gk -except ImportError: - print("""Unable to import gnome keyring module""") - sys.exit(-1) - -class keyringManager(): - - def __init__(self): - # get default keyring name - try: - self.keyring = gk.get_default_keyring_sync() - except gk.nokeyringdaemonerror: - print("err: can't open gnome keyring") - print("are you running this program under a gnome session ?") - sys.exit(-1) - - def set(self, user, password, server, protocol, app): - # display name for password. - display_name = '%s password for %s at %s' % (app.upper(), user, server) - - # select type. if you want some kind of "network" password, it seems that - # appropriate type is network_password because it has a schema already. - type = gk.ITEM_NETWORK_PASSWORD - - usr_attrs = {'user':user, 'server':server, 'protocol':protocol} - - # now it gets ready to add into the keyring. do it. - # its id will be returned if success or an exception will be raised - id = gk.item_create_sync(self.keyring, type, display_name, usr_attrs, password, False) - return id is not None - - def get(self, user, server, protocol, app): - try: - results = gk.find_network_password_sync(user=user, server=server, protocol=protocol) - except gk.NoMatchError: - return None - - return results[0]["password"] - - def getpass(self, username, server, protocol, app): - ret = True - passwd = self.get(username, server, protocol, app) - if passwd is None: - print("no password set for user '%s' in server '%s'" % (username, server)) - ret = False - else: - print(passwd) - - return ret - - def setpass(self, username, server, protocol, app): - ret = True - # does it already exist? - if self.get(username, server, protocol, app) is not None: - print("err: %s password for user '%s' in server '%s' already exists, try do delete it first" \ - % (app.upper(), username, server)) - ret = False - else: - msg = "password for user '%s' in server '%s' ? " %(username, server) - passwd = getpass.getpass(msg) - passwd_confirmation = getpass.getpass("confirmation ? ") - if passwd != passwd_confirmation: - print( "err: password and password confirmation mismatch") - ret = False - else: - if self.set(username, passwd, server, protocol, app): - print("password successfully set") - else: - print("err: password failed to set") - ret = False - - return ret - - def delpass(self, username, server, protocol): - ret = True - # does it already exist? - try: - results = gk.find_network_password_sync(user=username, server=server, protocol=protocol) - except gk.NoMatchError: - print("no password set for user '%s' in server '%s'" % (username, - server)) - ret = False - - if ret: - gk.item_delete_sync(self.keyring, results[0]['item_id']) - print("password successfully removed") - - return ret - -def main(): - ret = True - km = keyringManager() - - parser = optparse.OptionParser(usage="%prog [-s|-g|-d] --username myuser --server myserver --protocol myprotocol --app myapp") - parser.add_option("-s", "--set-password", action="store_true", \ - dest="setpass", help="set password") - parser.add_option("-g", "--get-password", action="store_true", \ - dest="getpass", help="get password") - parser.add_option("-d", "--del-password", action="store_true", \ - dest="delpass", help="delete password") - parser.add_option("-u", "--username", action="store", dest="username", \ - help="username") - parser.add_option("-e", "--server", action="store", dest="server", \ - help="smtp server") - parser.add_option("-a", "--app", action="store", dest="app", \ - help="Application name (msmtp, mbsync,...)") - parser.add_option("-p", "--protocol", action="store", dest="protocol", \ - help="Protocol name") - - (opts, args) = parser.parse_args() - - if not opts.setpass and not opts.getpass and not opts.delpass: - parser.print_help() - print("err: you have to use -s or -g or -d") - ret = False - elif not opts.username or not opts.server: - parser.print_help() - print("err: you have to use both --username and --server") - ret = False - elif opts.getpass: - ret = km.getpass(opts.username, opts.server, opts.protocol, opts.app) - elif opts.setpass: - ret = km.setpass(opts.username, opts.server, opts.protocol, opts.app) - elif opts.delpass: - ret = km.delpass(opts.username, opts.server, opts.protocol) - else: - print("err: unknown option(s)") - ret = False - - return ret - -if __name__ == '__main__': - if main(): - sys.exit(0) - else: - sys.exit(-1) - diff --git a/bin/hubic_sync b/bin/hubic_sync deleted file mode 100644 index cbb6ad3a..00000000 --- a/bin/hubic_sync +++ /dev/null @@ -1 +0,0 @@ -hubic login --password_path=/home/baptiste/.config/hubiC/.pw -- baptiste@bapt.name ~/Documents/Hubic diff --git a/bin/i3status.sh b/bin/i3status.sh deleted file mode 100755 index f890f5c6..00000000 --- a/bin/i3status.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -i3status | while : -do - read line - playing="$(ncmpcpp -c ~/.ncmpcpp/config --now-playing)" - echo "$playing | $line" || exit 1 -done diff --git a/bin/imap-pass b/bin/imap-pass deleted file mode 100755 index 986d4f1a..00000000 --- a/bin/imap-pass +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env python - -import argparse -import keyring -import getpass - -if __name__ == '__main__': - SERVICE = 'mbsync' - - parser = argparse.ArgumentParser() - group = parser.add_mutually_exclusive_group(required=True) - group.add_argument('--set', '-s', type=str, help='Account to save password') - group.add_argument('--get', '-g', type=str, help='Account to get password') - - args = parser.parse_args() - - if args.set: - password = getpass.getpass() - keyring.set_password(SERVICE, args.set, password) - else: - print(keyring.get_password(SERVICE, args.get)) diff --git a/bin/kssh.sh b/bin/kssh.sh deleted file mode 100755 index c84df6fd..00000000 --- a/bin/kssh.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -# http://www.pontohonk.de/kde/ssh.html -# https://en.opensuse.org/SDB:KDE_Plasma_5#Scripts -export SSH_ASKPASS=/usr/bin/ksshaskpass -ssh-add diff --git a/bin/launch_bar b/bin/launch_bar deleted file mode 100755 index 81ab6e09..00000000 --- a/bin/launch_bar +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env sh - -# Terminate already running bar instances -killall -q polybar - -# Wait until the processes have been shut down -while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done - -# Launch bar1 and bar2 -polybar gwarf & - -echo "Bars launched..." diff --git a/bin/launch_live_wallpaper b/bin/launch_live_wallpaper deleted file mode 100755 index eaefc07b..00000000 --- a/bin/launch_live_wallpaper +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -XDG_CURRENT_DESKTOP=i3 variety diff --git a/bin/list-ca-certs-pyopenssl.py b/bin/list-ca-certs-pyopenssl.py deleted file mode 100755 index 1fca3dcc..00000000 --- a/bin/list-ca-certs-pyopenssl.py +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env python2 - -host = '192.168.56.105' -port = 5000 -insecure = True -#port = 8774 - -# host = 'keystone.ifca.es' -# port = 5000 - - -import socket -import pprint - -from OpenSSL import SSL -import cryptography -from cryptography.x509 import Name -from OpenSSL.crypto import X509 -#from OpenSSL import SSL, crypto -#from OpenSSL.SSL import Context, TLSv1_METHOD, VERIFY_PEER, Connection, WantReadError - -def verify_cb(conn, cert, errnum, depth, ok): - return ok - -if insecure: - verify = SSL.VERIFY_NONE -else: - verify = SSL.VERIFY_PEER - -# Initialize context -ctx = SSL.Context(SSL.SSLv23_METHOD) -ctx.set_options(SSL.OP_NO_SSLv2) -ctx.set_options(SSL.OP_NO_SSLv3) -#ctx.set_verify(SSL.VERIFY_NONE, verify_cb) -ctx.set_verify(verify, lambda conn, cert, errnum, depth, ok: ok) -#ctx.set_verify(SSL.VERIFY_PEER, verify_cb) -if not insecure: - ctx.load_verify_locations('/etc/ssl/certs/ca-certificates.crt') - -# Set up client -client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) -client.connect((host, port)) - -client_ssl = SSL.Connection(ctx, client) -client_ssl.set_connect_state() - -#client_ssl.connect((host, port)) -#client_ssl.send('0') - -client_ssl.set_tlsext_host_name(host) -client_ssl.do_handshake() - -cert = client_ssl.get_peer_certificate() -#pprint.pprint(cert.__dict__) -#subject = client_ssl.get_peer_certificate().get_subject() -#subject_str = str(subject) -#pprint.pprint(subject_str[subject_str.find("'"):subject_str.rfind("'") + 1]) -#common_name = subject.commonName -#print("Server: %s" % common_name) -#cert_chain = client_ssl.get_peer_cert_chain() -issuer = cert.get_issuer() -#pprint(issuer) -print("Issuer cert: %s" % type(issuer)) - -#last_cert = cert_chain[-1] -#print("Root issuer cert: %s" % last_cert.get_issuer().commonName) - -client_ca_list = client_ssl.get_client_ca_list() -print('Client CAs size: %s' % len(client_ca_list)) -trusted_cas = [str(ca)[18:-2] for ca in client_ca_list] -#pprint.pprint(trusted_cas) -#for ca in client_ca_list: -# #dn = str(ca) -# dn = str(ca) -## #cert = cryptography.x509.Name(ca) -# pprint.pprint(dn) -## # XXX shortest way to get the DN, as __repr__ is -## # <X509Name object 'DN>' -# pprint.pprint(str(dn)[dn.find("'"):dn.rfind("'") + 1]) -# pprint.pprint(dn[17:-1]) -## #print ca.commonName -## #print ca._name -## #components = ca.get_components() -## #pprint.pprint(components) -## #print ca.name.get_components()['name'] -## #subject = ca.get_subject().commonName -# -##pprint.pprint(client_ca_list) - -client_ssl.shutdown() -client_ssl.close() diff --git a/bin/list-ca-certs.py b/bin/list-ca-certs.py deleted file mode 100755 index 1c379877..00000000 --- a/bin/list-ca-certs.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python2 - -import base64 -import ssl -import socket -import pprint - -#host = '192.168.56.105' -host = 'keystone.ifca.es' -port = 5000 - -context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) -context.verify_mode = ssl.CERT_NONE -context.check_hostname = False -context.load_verify_locations('/etc/ssl/certs/ca-certificates.crt') - -conn = context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=host) -conn.do_handshake_on_connect = True - -conn.connect((host, port)) - -print(conn.cipher()) -print(conn.version()) - -cert = ssl.get_server_certificate((host, port)) - -import cryptography -from cryptography import x509 -from cryptography.hazmat.backends import default_backend - -der = ssl.PEM_cert_to_DER_cert(cert) -cert = x509.load_der_x509_certificate(der, default_backend()) -pprint.pprint(cert) - -stats = context.session_stats() -pprint.pprint(stats) - -conn.sendall(b"OPTIONS / HTTP/1.0\r\nHost: localhost\r\n\r\n") - -print("Connection information") -pprint.pprint(conn.recv(1024).split(b"\r\n")) - -conn.close() diff --git a/bin/monitor_me b/bin/monitor_me deleted file mode 100755 index 56de6882..00000000 --- a/bin/monitor_me +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -# https://github.com/sourcegraph/thyme - -while true; do thyme track -o ~/thyme.json; sleep 30s; done; - -# thyme show -i thyme.json -w stats > thyme.html - diff --git a/bin/msmtp-gnome-tool.py b/bin/msmtp-gnome-tool.py deleted file mode 100755 index 98b006ed..00000000 --- a/bin/msmtp-gnome-tool.py +++ /dev/null @@ -1,177 +0,0 @@ -#!/usr/bin/python2 -# -*- coding: utf-8 -*- - -""" -Set/get passwords for MSMTP or MPOP in Gnome Keyring - -Copyright (C) 2009 Gaizka Villate - 2010 Emmanuel Bouthenot - -Original author: Gaizka Villate <gaizkav@gmail.com> -Other author(s): Emmanuel Bouthenot <kolter@openics.org> - -URL: http://github.com/gaizka/misc-scripts/tree/master/msmtp - -This program is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 2 of the License, or (at your -option) any later version. See http://www.gnu.org/copyleft/gpl.html for -the full text of the license. -""" - -import sys, os.path, optparse, getpass - -try: - import gnomekeyring as gk -except ImportError: - print("""Unable to import gnome keyring module -On Debian like systems you probably need to install the following package(s): -python-gnomekeyring""") - sys.exit(-1) - -class keyringManager(): - - def __init__(self): - if os.path.basename(sys.argv[0]).find('msmtp') >= 0: - self.app = 'msmtp' - self.protocol = 'smtp' - elif os.path.basename(sys.argv[0]).find('mpop') >= 0: - self.app = 'mpop' - self.protocol = 'pop3' - else: - print("ERR: program must contain 'msmtp' or 'mpop' in its name") - sys.exit(-1) - # get default keyring name - try: - self.keyring = gk.get_default_keyring_sync() - except gk.NoKeyringDaemonError: - print("ERR: can't open gnome keyring") - print("Are you running this program under a GNOME session ?") - sys.exit(-1) - - def get_app(self): - return self.app - - def get_protocol(self): - return self.protocol - - def set(self, user, password, server): - # display name for password. - display_name = '%s password for %s at %s' % (self.get_app().upper(), user, server) - - # select type. if you want some kind of "network" password, it seems that - # appropriate type is network_password because it has a schema already. - type = gk.ITEM_NETWORK_PASSWORD - - usr_attrs = {'user':user, 'server':server, 'protocol':self.get_protocol()} - - # Now it gets ready to add into the keyring. Do it. - # Its id will be returned if success or an exception will be raised - id = gk.item_create_sync(self.keyring, type, display_name, usr_attrs, password, False) - return id is not None - - def get(self, user, server): - protocol = self.get_protocol() - try: - results = gk.find_network_password_sync(user=user, server=server, protocol=protocol) - except gk.NoMatchError: - return None - - return results[0]["password"] - - def getpass(self, username, server): - ret = True - passwd = self.get(username, server) - if passwd is None: - print("No password set for user '%s' in server '%s'" % (username, server)) - ret = False - else: - #print "Password for user '%s' in server '%s': '%s'" % (username, server, passwd) - print(passwd) - - return ret - - def setpass(self, username, server): - ret = True - # Does it already exist? - if self.get(username, server) is not None: - print("ERR: %s password for user '%s' in server '%s' already exists, try do delete it first" \ - % (self.get_app().upper(), username, server)) - ret = False - else: - msg = "Password for user '%s' in server '%s' ? " %(username, server) - passwd = getpass.getpass(msg) - passwd_confirmation = getpass.getpass("Confirmation ? ") - if passwd != passwd_confirmation: - print( "ERR: password and password confirmation mismatch") - ret = False - else: - if self.set(username, passwd, server): - print("Password successfully set") - else: - print("ERR: Password failed to set") - ret = False - - return ret - - def delpass(self, username, server): - ret = True - # Does it already exist? - protocol = self.get_protocol() - try: - results = gk.find_network_password_sync(user=username, server=server, protocol=protocol) - except gk.NoMatchError: - print("No password set for user '%s' in server '%s'" % (username, - server)) - ret = False - - if ret: - gk.item_delete_sync(self.keyring, results[0]['item_id']) - print("Password successfully removed") - - return ret - -def main(): - ret = True - km = keyringManager() - - parser = optparse.OptionParser(usage="%prog [-s|-g|-d] --username myuser --server myserver") - parser.add_option("-s", "--set-password", action="store_true", \ - dest="setpass", help="Set password for %s account" % (km.get_app())) - parser.add_option("-g", "--get-password", action="store_true", \ - dest="getpass", help="Get password for %s account" % (km.get_app())) - parser.add_option("-d", "--del-password", action="store_true", \ - dest="delpass", help="Delete password for %s account" % (km.get_app())) - parser.add_option("-u", "--username", action="store", dest="username", \ - help="Username for %s account" % (km.get_app())) - parser.add_option("-e", "--server", action="store", dest="server", \ - help="SMTP server for %s account" % (km.get_app())) - - (opts, args) = parser.parse_args() - - if not opts.setpass and not opts.getpass and not opts.delpass: - parser.print_help() - print("ERR: You have to use -s or -g or -d") - ret = False - elif not opts.username or not opts.server: - parser.print_help() - print("ERR: You have to use both --username and --server") - ret = False - elif opts.getpass: - ret = km.getpass(opts.username, opts.server) - elif opts.setpass: - ret = km.setpass(opts.username, opts.server) - elif opts.delpass: - ret = km.delpass(opts.username, opts.server) - else: - print("ERR: Unknown option(s)") - ret = False - - return ret - -if __name__ == '__main__': - if main(): - sys.exit(0) - else: - sys.exit(-1) - diff --git a/bin/msmtp-queue b/bin/msmtp-queue deleted file mode 100755 index 8cdfeb6c..00000000 --- a/bin/msmtp-queue +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env sh - -##-------------------------------------------------------------- -## -## msmtp-queue : wrapper script for msmtpq -## to expose the management functions -## for the msmtp queue -## Copyright (C) 2011 Chris Gianniotis -## -## This program is free software: you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation, either version 3 of the License, or, at -## your option, any later version. -## -##-------------------------------------------------------------- - -## msmtp-queue -## is only a wrapper -## it invokes the queue management functions of msmtpq -## by calling it as msmtpq --q-mgmt -## -## all configuration and documentation is in the msmtpq script - -## note that for 'special circumstances' -## (e.g. embedded systems, etc.) -## where the msmtpq script itself is not on the path -## change the below line to be -## exec /path/to/msmtpq --q-mgmt - -exec msmtpq --q-mgmt "$1" diff --git a/bin/msmtpq b/bin/msmtpq deleted file mode 100755 index ea3b527f..00000000 --- a/bin/msmtpq +++ /dev/null @@ -1,546 +0,0 @@ -#!/usr/bin/env bash - -set -x - -##-------------------------------------------------------------- -## -## msmtpq : queue funtions to both use & manage the msmtp queue, -## as it was defined by Martin Lambers -## Copyright (C) 2008 - 2015 Chris Gianniotis -## -## This program is free software: you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation, either version 3 of the License, or, at -## your option, any later version. -## -##-------------------------------------------------------------- -## -## msmtpq is meant to be used by an email client - in 'sendmail' mode -## for this purpose, it is invoked directly as 'msmtpq' -## it is also meant to be used to maintain the msmtp queue -## when it is evoked by the wrapper script 'msmtp-queue' -## (which calls this script as msmtpq --q-mgmt) -## -## there is a queue log file, distinct from the msmtp log, -## for all events & operations on the msmtp queue -## that is defined below -## -## (mutt users, using msmtpq in 'sendmail' mode, -## should make at least the following two settings in their .muttrc -## set sendmail = /path/to/msmtpq -## set sendmail_wait = -1 -## -## please see the msmtp man page and docs for further mutt settings -## and optimisations -## ) -## -## two essential patches by Philipp Hartwig -## 19 Oct 2011 & 27 Oct 2011 -## -##-------------------------------------------------------------- -## the msmtp queue contains unique filenames of the following form : -## two files for each mail in the queue -## -## creates new unique filenames of the form : -## MLF: ccyy-mm-dd-hh.mm.ss[-x].mail -- mail file -## MSF: ccyy-mm-dd-hh.mm.ss[-x].msmtp -- msmtp commands file -## where x is a consecutive number only appended for uniqueness -## if more than one mail per second is sent -##-------------------------------------------------------------- - - -dsp() { local L ; for L ; do [ -n "$L" ] && echo " $L" || echo ; done ; } -err() { dsp '' "$@" '' ; exit 1 ; } - -## ====================================================================================== -## !!! please define or confirm the following three vars !!! -## !!! before using the msmtpq or msmtp-queue scripts !!! -## ====================================================================================== -## -## only if necessary (in unusual circumstances - e.g. embedded systems), -## enter the location of the msmtp executable (no quotes !!) -## e.g. ( MSMTP=/path/to/msmtp ) -## and uncomment the test for its existence -MSMTP=msmtp -#[ -x "$MSMTP" ] || \ -# log -e 1 "msmtpq : can't find the msmtp executable [ $MSMTP ]" # if not found - complain ; quit -## -## set the queue var to the location of the msmtp queue directory -## if the queue dir doesn't yet exist, create it (0700) -## before using this script -## e.g. ( mkdir msmtp.queue ) -## ( chmod 0700 msmtp.queue ) -## -## the queue dir - modify this to reflect where you'd like it to be (no quotes !!) -Q=~/.msmtp.queue -[ -d "$Q" ] || \ - err '' "msmtpq : can't find msmtp queue directory [ $Q ]" '' # if not present - complain ; quit -## -## set the queue log file var to the location of the msmtp queue log file -## where it is or where you'd like it to be -## ( note that the LOG setting could be the same as the ) -## ( 'logfile' setting in .msmtprc - but there may be ) -## ( some advantage in keeping the two logs separate ) -## if you don't want the log at all unset (comment out) this var -## LOG=~/log/msmtp.queue.log --> #LOG=~/log/msmtp.queue.log -## (doing so would be inadvisable under most conditions, however) -## -## the queue log file - modify (or comment out) to taste (but no quotes !!) -LOG=~/.msmtp.queue.log -## ====================================================================================== - -## msmtpq can use the following environment variables : -## EMAIL_CONN_NOTEST if set will suppress any testing for a connection -## (the above var is deprecated & will be removed ; use the var below) -## EMAIL_CONN_TEST if =x will suppress any testing for a connection -## if =p or unset will use a ping test (debian.org) for a connection -## if =P will use a fast ping test (8.8.8.8) for a connection -## if =n will use netcat (nc) to test for a connection -## if =s will use bash sockets to test for a connection -## EMAIL_QUEUE_QUIET if set will cause suppression of messages and 'chatter' -## (perhaps useful for some of the emacs mail clients) -## -## ====================================================================================== -## !!! define or confirm the following vars if you wish to set !!! -## !!! these properties here in the script - the same properties !!! -## !!! may be set externally, by means of environment variables !!! -## !!! note the internal variables, if set, will take precedence !!! -## !!! over properties set via environment variables !!! -## ====================================================================================== -## -#EMAIL_CONN_NOTEST=y # deprecated ; use below var -#EMAIL_CONN_TEST={x| |p|P|n|s} # see settings above for EMAIL_CONN_TEST -EMAIL_CONN_TEST=n -#EMAIL_QUEUE_QUIET=t -## ====================================================================================== - -umask 077 # set secure permissions on created directories and files - -declare -i CNT # a count of mail(s) currently in the queue -declare -a Q_LST # queue list array ; used selecting a mail (to send or remove) - -## do ; test this ! -#for sig in INT TERM EXIT; do -# trap "rm -f \"\$TMPFILE\"; [[ $sig == EXIT ]] || kill -$sig $$" $sig -#done -trap on_exit INT TERM EXIT # run 'on_exit' on exit -on_exit() { # unlock the queue on exit if the lock was set here - [ -n "$LKD" ] && lock_queue -u 2>/dev/null -} - -# -## ----------------------------------- functions common to both modes -## ----------------------------------- (msmtpq & msmtp-queue) -# - -## make an entry to the queue log file, possibly an error -## (log queue changes only ; not interactive chatter) -## usage : log [ -e errcode ] msg [ msg ... ] -## opts : -e <exit code> an error ; log msg & terminate w/prejudice -## display msg to user, as well -## -log() { - local ARG RC PFX - PFX="$('date' +'%Y %d %b %H:%M:%S')" - # time stamp prefix - "2008 13 Mar 03:59:45 " - if [ "$1" = '-e' ] ; then # there's an error exit code - RC="$2" # take it - shift 2 # shift opt & its arg off - fi - - [ -z "$EMAIL_QUEUE_QUIET" ] && dsp "$@" # display msg to user, as well as logging it - - if [ -n "$LOG" ] ; then # log is defined and in use - for ARG ; do # each msg line out - [ -n "$ARG" ] && \ - echo "$PFX : $ARG" >> "$LOG" # line has content ; send it to log - done - fi - - if [ -n "$RC" ] ; then # an error ; leave w/error return - [ -n "$LKD" ] && lock_queue -u # unlock here (if locked) - [ -n "$LOG" ] && \ - echo " exit code = $RC" >> "$LOG" # logging ok ; send exit code to log - exit "$RC" # exit w/return code - fi -} - -## write/remove queue lockfile for a queue op -## -lock_queue() { # <-- '-u' to remove lockfile - local LOK="${Q}/.lock" # lock file name - local -i MAX=240 SEC=0 # max seconds to gain a lock ; seconds waiting - - if [ -z "$1" ] ; then # lock queue - ## Philipp Hartwig patch #2 - 'mkdir' "$LOK" 2>/dev/null && LKD='t' - while [ -z "$LKD" ] && [ "$SEC" -lt "$MAX" ]; do # lock file present - sleep 1 # wait a second - SEC=$((SEC + 1)) # accumulate seconds - 'mkdir' "$LOK" 2>/dev/null && LKD='t' # make lockdir ; lock queue ; set flag - done # try again while locked for MAX secs - [ -z "$LKD" ] && \ - err '' "cannot use queue $Q : waited $MAX seconds for"\ - " lockdir [ $LOK ] to vanish ; giving up"\ - 'if you are certain that no other instance of this script'\ - " is running, then 'rmdir' the lock dir manually" '' # lock file still there, give up - - elif [ "$1" = '-u' ] ; then # unlock queue - 'rmdir' "$LOK" # remove the lock - unset LKD # unset flag - fi -} - -## test whether system is connected -## returns t/f (0/1) -## -connect_test() { - if [ -z "$EMAIL_CONN_TEST" ] || \ - [ "$EMAIL_CONN_TEST" = 'p' ] ; then # use ping test (default) - # verify net connection - ping ip address of debian.org - # would ping -qnc2 -w4 be better ? - # would ping -qnc1 -w10 or -w20 be better ? - #ping -qnc1 -w4 debian.org >/dev/null 2>&1 || return 1 - ping -qnc2 -w10 debian.org >/dev/null 2>&1 || return 1 - - elif [ "$EMAIL_CONN_TEST" = 'P' ] ; then # use quicker ping test - # I personally think that including a DNS lookup - # is a better connection test but some - # have found the above test too slow - ping -qnc1 -w4 8.8.8.8 >/dev/null 2>&1 || return 1 - - elif [ "$EMAIL_CONN_TEST" = 'n' ] ; then # use netcat (nc) test - # must, of course, have netcat (nc) installed - which nc >/dev/null 2>&1 || \ - log -e 1 "msmtpq : can't find netcat executable [ nc ]" # if not found - complain ; quit - 'nc' -vz www.debian.org 80 >/dev/null 2>&1 || return 1 - - elif [ "$EMAIL_CONN_TEST" = 's' ] ; then # use sh sockets test - # note that this does not work on debian systems - # where bash opened sockets are suppressed for security - # reasons on multiuser systems - however, this should be - # ok for single user systems (including embedded systems) - # test whether this is supported on your system before using... - # thank you to Brian Goose, on the list, for encouraging this - exec 3<>/dev/udp/debian.org/80 || return 1 # open socket on site ; use dns - exec 3<&- ; exec 3>&- # close socket - fi - return 0 -} - -# -## ----------------------------------- functions for queue management -## ----------------------------------- queue maintenance mode - (msmtp-queue) -# - -## show queue maintenance functions -## -usage() { # <-- error msg - dsp ''\ - 'usage : msmtp-queue functions' ''\ - ' msmtp-queue < op >'\ - ' ops : -r run (flush) mail queue - all mail in queue'\ - ' -R send selected individual mail(s) in queue'\ - ' -d display (list) queue contents (<-- default)'\ - ' -p purge individual mail(s) from queue'\ - ' -a purge all mail in queue'\ - ' -h this helpful blurt' ''\ - ' ( one op only ; any others ignored )' '' - if [ -z "$1" ]; then - exit 0; - else - dsp "$@" ''; - exit 1; - fi -} - -## get user [y/n] acknowledgement -## -ok() { - local R YN='Y/n' # default to yes - - [ "$1" = '-n' ] && \ - { YN='y/N' ; shift ; } # default to no ; change prompt ; shift off spec - - dsp "$@" - while true ; do - echo -n " ok [${YN}] ..: " - read -r R - case $R in - y|Y) return 0 ;; - n|N) return 1 ;; - '') [ "$YN" = 'Y/n' ] && return 0 || return 1 ;; - *) echo 'yYnN<cr> only please' ;; - esac - done -} - -## send a queued mail out via msmtp -## -send_queued_mail() { # <-- mail id - local FQP="${Q}/${1}" # fully qualified path name - local -i RC=0 # for msmtp exit code - - if [ -f "${FQP}.msmtp" ] ; then # corresponding .msmtp file found - [ "$EMAIL_CONN_TEST" != 'x' ] && \ - [ -z "$EMAIL_CONN_NOTEST" ] && { # do connection test - connect_test || { - log "mail [ $2 ] [ $1 ] from queue ; couldn't be sent - host not connected" - return - } - } - - if "$MSMTP" $(< "${FQP}.msmtp") < "${FQP}.mail" ; then # this mail goes out the door - log "mail [ $2 ] [ $1 ] from queue ; send was successful ; purged from queue" # good news to user - 'rm' -f "${FQP}.*" # nuke both queue mail files - ALT='t' # set queue changed flag - else # send was unsuccessful - RC=$? # take msmtp exit code - log "mail [ $2 ] [ $1 ] from queue ; send failed ; msmtp rc = $RC" # bad news ... - fi - return $RC # func returns exit code - else # corresponding MSF file not found - log "preparing to send .mail file [ $1 ] [ ${FQP}.mail ] but"\ - " corresponding .msmtp file [ ${FQP}.msmtp ] was not found in queue"\ - ' skipping this mail ; this is worth looking into' # give user the bad news - fi # (but allow continuation) -} - -## run (flush) queue -## -run_queue() { # <- 'sm' mode # run queue - local M LST - local -i NDX=0 - - LST="$('ls' $Q/*.mail 2>/dev/null)" # list of mails in queue - if [ -n "$LST" ] ; then # something in queue - for M in $LST ; do # process all mails - NDX=$((NDX + 1)) - send_queued_mail "$(basename $M .mail)" "$NDX" # send mail - pass {id} only - done - else # queue is empty - [ -z "$1" ] && \ - dsp '' 'mail queue is empty (nothing to send)' '' - fi # inform user (if not running in sendmail mode) -} - -## display queue contents -## -display_queue() { # <-- { 'purge' | 'send' } (op label) ; { 'rec' } (record array of mail ids) - local M ID LST - - LST="$('ls' ${Q}/*.mail 2>/dev/null)" # list of mail ids in queue - CNT=0 - if [ -n "$LST" ] ; then # list has contents (any mails in queue) - for M in $LST ; do # cycle through each - ID="$(basename $M .mail)" # take mail id from filename - CNT=$((CNT + 1)) - dsp '' "mail num=[ $CNT ] id=[ $ID ]" # show mail id ## patch in - 'grep' -E -s --colour -h '(^From:|^To:|^Subject:)' "$M" # show mail info - [ -n "$2" ] && Q_LST[$CNT]="$ID" # bang mail id into array (note 1-based array indexing) - done - echo - else # no mails ; no contents - if [ -z "$1" ]; then - dsp '' 'no mail in queue' '' - else - dsp '' "mail queue is empty (nothing to $1)" '' # inform user - fi - exit 0 - fi -} - -## delete all mail in queue, after confirmation -## -purge_queue() { - display_queue 'purge' # show queue contents - if ok -n 'remove (purge) all mail from the queue' ; then - lock_queue # lock here - 'rm' -f "$Q"/*.* - log 'msmtp queue purged (all mail)' - lock_queue -u # unlock here - else - dsp '' 'nothing done ; queue is untouched' '' - fi -} - -## select a single mail from queue ; delete it or send it -## select by mail index (position in queue) or mail id -## -select_mail() { # <-- < 'purge' | 'send' > - local OK ID # mail id - local -i I NDX # mail index (position in queue) - - while true ; do # purge an individual mail from queue - display_queue "$1" 'rec' # show queue contents ; make mail ids array - - ## allow selection also by mail index - if [ $CNT -eq 1 ] ; then # only one mail in queue ; take its id - NDX=1 - ID="${Q_LST[1]}" - else # more than one mail ; select its id - while true ; do # get mail id - OK='t' # optimistic to a fault - dsp "enter mail number or id to $1" # <-- num or file name (only, no suff) - echo -n ' ( <cr> alone to exit ) ..: ' - read -r ID - [ -n "$ID" ] || return # entry made - or say good bye - - if [ "${ID:4:1}" != '-' ] ; then # mail id *not* entered ; test index num - I=0 - while [ "$I" -lt ${#ID} ]; do # test index number - if [ "${ID:${I}:1}" -lt '0' ] || \ - [ "${ID:${I}:1}" -gt '9' ] ; then - dsp '' "[ $ID ] is neither a valid mail id"\ - 'nor a valid mail number' '' - unset OK - fi - I=$((I + 1)) - done - [ -z "$OK" ] && continue # format not ok (not all nums) - - NDX=$ID - if [ "$NDX" -lt 1 ] || [ "$NDX" -gt "$CNT" ] ; then # test number range (1 - $CNT) - dsp '' "[ $NDX ] is out of range as a mail number"\ - "validity is from 1 to $CNT" - continue # try again - fi - - ID="${Q_LST[$NDX]}" # format & range were ok ; use it - break # valid mail selection - else # mail id entered - NDX=1 - while [ "$NDX" -le ${#Q_LST[*]} ]; do # find entered id in queue list - [ "$ID" = "${Q_LST[$NDX]}" ] && break - NDX=$((NDX + 1)) - done - if [ "$NDX" -le ${#Q_LST[*]} ]; then - break - else - dsp '' "mail [ $ID ] not found ; invalid id" # mail selection valid (found) or - fi - fi # fell through (not found) complain - done # and ask again - fi - - if ok '' "$1 :"\ - " mail num=[ $NDX ]"\ - " id=[ $ID ]" '' ; then # confirm mail op - if [ "$1" = 'purge' ] ; then # purging - lock_queue # lock here - 'rm' -f "$Q"/"$ID".* # msmtp - nukes single mail (both files) in queue - log "mail [ $ID ] purged from queue" # log op - lock_queue -u # unlock here - ALT='t' # mark that a queue alteration has taken place - else # sending - lock_queue # lock here - send_queued_mail "$ID" "$NDX" # send out the mail - lock_queue -u # unlock here - fi - else # user opts out - dsp '' 'nothing done to this queued email' # soothe user - [ $CNT -eq 1 ] && break # single mail ; user opted out - fi - dsp '' "--------------------------------------------------" - done - - if [ -n "$ALT" ] ; then # queue was changed - dsp '' 'done' '' - else # queue is untouched - dsp '' 'nothing done ; queue is untouched' '' - fi -} - -# -## ----------------------------------- functions for directly sending mail -## ----------------------------------- 'sendmail' mode - (msmtpq) -# - -## ('sendmail' mode only) -## make base filename id for queue -## -make_id() { - local -i INC # increment counter for (possible) base fqp name collision - - ID="$(date +%Y-%m-%d-%H.%M.%S)" # make filename id for queue (global - FQP="${Q}/$ID" # make fully qualified pathname vars) - ## Philipp Hartwig patch #1 - if [ -f "${FQP}.mail" ] || [ -f "${FQP}.msmtp" ] ; then # ensure fqp name is unique - INC=1 # initial increment - while [ -f "${FQP}-${INC}.mail" ] || [ -f "${FQP}-${INC}.msmtp" ] ; do # fqp name w/incr exists - INC=$((INC + 1)) # bump increment - done - ID="${ID}-${INC}" # unique ; set id - FQP="${FQP}-${INC}" # unique ; set fqp name - fi -} - -## ('sendmail' mode only) -## enqueue a mail -## -enqueue_mail() { # <-- all mail args ; mail text via TMP - if echo "$@" > "${FQP}.msmtp" ; then # write msmtp command line to queue .msmtp file - log "enqueued mail as : [ $ID ] ( $* ) : successful" # (queue .mail file is already there) - else # write failed ; bomb - log -e "$?" "queueing - writing msmtp cmd line { $* }"\ - " to [ ${ID}.msmtp ] : failed" - fi -} - -## ('sendmail' mode only) -## send a mail (if possible, otherwise enqueue it) -## if send is successful, msmtp will also log it (if logging enabled in ~/.msmtprc) -## -send_mail() { # <-- all mail args ; mail text via TMP - [ "$EMAIL_CONN_TEST" != 'x' ] && \ - [ -z "$EMAIL_CONN_NOTEST" ] && { # do connection test - connect_test || { - log "mail for [ $* ] : couldn't be sent - host not connected" - enqueue_mail "$@" # enqueue the mail - return - } - } - - if $MSMTP "$@" < "${FQP}.mail" > /dev/null ; then # send mail using queue .mail fil - log "mail for [ $* ] : send was successful" # log it - 'rm' -f "${FQP}.*" # remove all queue mail files .mail & .msmtp file - run_queue 'sm' # run/flush any other mails in queue - else # send failed - the mail stays in the queue - log "mail for [ $* ] : send was unsuccessful ; msmtp exit code was $?"\ - "enqueued mail as : [ $ID ] ( $* )" # (queue .mail file is already there) - fi -} - -# -## -- entry point -# - -if [ ! "$1" = '--q-mgmt' ] ; then # msmtpq - sendmail mode - lock_queue # lock here - make_id # make base queue filename id for this mail - # write mail body text to queue .mail file - cat > "${FQP}.mail" || \ - log -e "$?" "creating mail body file [ ${FQP}.mail ] : failed" # test for error - # write msmtp command line to queue .msmtp file - echo "$@" > "${FQP}.msmtp" || \ - log -e "$?" "creating msmtp cmd line file { $* }"\ - " to [ ${ID}.msmtp ] : failed" # test for error - send_mail "$@" # send the mail if possible, queue it if not - lock_queue -u # unlock here -else # msmtp-queue - queue management mode - shift # trim off first (--q-mgmt) arg - OP=${1:1} # trim off first char of OP arg - case "$OP" in # sort ops ; run according to spec - r) lock_queue - run_queue - lock_queue -u ;; # run (flush) the queue - R) select_mail send ;; # send individual mail(s) in queue - d|'') display_queue ;; # display (list) all mail in queue (default) - p) select_mail purge ;; # purge individual mail(s) from queue - a) purge_queue ;; # purge all mail in queue - h) usage ;; # show help - *) usage "[ -$OP ] is an unknown msmtp-queue option" ;; - esac -fi - -exit 0 diff --git a/bin/mutt-mailto.sh b/bin/mutt-mailto.sh deleted file mode 100755 index 8d10a9fc..00000000 --- a/bin/mutt-mailto.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -# https://github.com/NoSuck/MuttMailto -# xdg-mime default mutt-mailto.desktop x-scheme-handler/mailto - -# NoSuck.org -# Mutt Mailto Handler for XDG Environment - -if [[ "$1" == mailto:* ]] ; then - sStart="${1%%\?*}" - sEnd="&${1##*\?}" - # The whitelist. - sValidAttributes=( "Subject" "Body" "Cc" ) - for sAttribute in "${sValidAttributes[@]}" ; do - sHit="$( echo "$sEnd" | sed "s/^.*&$sAttribute=\([^&]*\).*/$sAttribute=\1/" )" - if [[ "$sEndNew" ]] ; then - sEndNew="$sEndNew&$sHit" - else - sEndNew="?$sHit" - fi - done -fi -sNewMailto="$sStart$sEndNew" - -# Modify as necessary. -$TERMINAL -e "mutt${sNewMailto:+ \"$sNewMailto\"}" & diff --git a/bin/mutt_bgrun b/bin/mutt_bgrun deleted file mode 100755 index 7f03b67e..00000000 --- a/bin/mutt_bgrun +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/sh -# @(#) mutt_bgrun $Revision: 1.4 $ - -# mutt_bgrun - run an attachment viewer from mutt in the background -# Copyright (C) 1999-2002 Gary A. Johnson -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# SYNOPSIS -# mutt_bgrun viewer [viewer options] file -# -# DESCRIPTION -# Mutt invokes external attachment viewers by writing the -# attachment to a temporary file, executing the pipeline specified -# for that attachment type in the mailcap file, waiting for the -# pipeline to terminate, writing nulls over the temporary file, -# then deleting it. This causes problems when using graphical -# viewers such as qvpview and acroread to view attachments. -# -# If qvpview, for example, is executed in the foreground, the mutt -# user interface is hung until qvpview exits, so the user can't do -# anything else with mutt until he or she finishes reading the -# attachment and exits qvpview. This is especially annoying when -# a message contains several MS Office attachments--one would like -# to have them all open at once. -# -# If qvpview is executed in the background, it must be given -# enough time to completely read the file before returning control -# to mutt, since mutt will then obliterate the file. Qvpview is -# so slow that this time can exceed 20 seconds, and the bound is -# unknown. So this is again annoying. -# -# The solution provided here is to invoke the specified viewer -# from this script after first copying mutt's temporary file to -# another temporary file. This script can then quickly return -# control to mutt while the viewer can take as much time as it -# needs to read and render the attachment. -# -# EXAMPLE -# To use qvpview to view MS Office attachments from mutt, add the -# following lines to mutt's mailcap file. -# -# application/msword; mutt_bgrun qvpview %s -# application/vnd.ms-excel; mutt_bgrun qvpview %s -# application/vnd.ms-powerpoint; mutt_bgrun qvpview %s -# -# AUTHOR -# Gary A. Johnson -# <garyjohn@spk.agilent.com> -# -# ACKNOWLEDGEMENTS -# My thanks to the people who have commented on this script and -# offered solutions to shortcomings and bugs, especially Edmund -# GRIMLEY EVANS <edmundo@rano.org> and Andreas Somogyi -# <aso@somogyi.nu>. - -prog=${0##*/} - -# Check the arguments first. - -if [ "$#" -lt "2" ] -then - echo "usage: $prog viewer [viewer options] file" >&2 - exit 1 -fi - -# Separate the arguments. Assume the first is the viewer, the last is -# the file, and all in between are options to the viewer. - -viewer="$1" -shift - -while [ "$#" -gt "1" ] -do - options="$options $1" - shift -done - -file=$1 - -# Create a temporary directory for our copy of the temporary file. -# -# This is more secure than creating a temporary file in an existing -# directory. - -tmpdir=/tmp/$LOGNAME$$ -umask 077 -mkdir "$tmpdir" || exit 1 -tmpfile="$tmpdir/${file##*/}" - -# Copy mutt's temporary file to our temporary directory so that we can -# let mutt overwrite and delete it when we exit. - -cp "$file" "$tmpfile" - -# Run the viewer in the background and delete the temporary files when done. - -( - "$viewer" $options "$tmpfile" - rm -f "$tmpfile" - rmdir "$tmpdir" -) & diff --git a/bin/muttsaveattach b/bin/muttsaveattach deleted file mode 100755 index ef57d02d..00000000 --- a/bin/muttsaveattach +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# https://gist.github.com/manolomartinez/7082024 - -urxvt -e ranger --choosefile=/tmp/muttattach - -cat > "$(cat /tmp/muttattach)" diff --git a/bin/notmuch-mutt b/bin/notmuch-mutt deleted file mode 100755 index 95381684..00000000 --- a/bin/notmuch-mutt +++ /dev/null @@ -1,289 +0,0 @@ -#!/usr/bin/env perl -# -# notmuch-mutt - notmuch (of a) helper for Mutt -# -# Copyright: 2011-2015 Stefano Zacchiroli <zack@upsilon.cc> -# License: GNU General Public License (GPL), version 3 or above -# -# See the bottom of this file for more documentation. -# A manpage can be obtained by running "pod2man notmuch-mutt > notmuch-mutt.1" - -use strict; -use warnings; - -use File::Path; -use Getopt::Long qw(:config no_getopt_compat); -use Mail::Header; -use Mail::Box::Maildir; -use Pod::Usage; -use String::ShellQuote; -use Term::ReadLine; -use Digest::SHA; - - -my $xdg_cache_dir = "$ENV{HOME}/.cache"; -$xdg_cache_dir = $ENV{XDG_CACHE_HOME} if $ENV{XDG_CACHE_HOME}; -my $cache_dir = "$xdg_cache_dir/notmuch/mutt"; - - -# create an empty maildir (if missing) or empty an existing maildir" -sub empty_maildir($) { - my ($maildir) = (@_); - rmtree($maildir) if (-d $maildir); - my $folder = new Mail::Box::Maildir(folder => $maildir, - create => 1); - $folder->close(); -} - -# search($maildir, $remove_dups, $query) -# search mails according to $query with notmuch; store results in $maildir -sub search($$$) { - my ($maildir, $remove_dups, $query) = @_; - my $dup_option = ""; - - $query = shell_quote($query); - - if ($remove_dups) { - $dup_option = "--duplicate=1"; - } - - empty_maildir($maildir); - system("notmuch search --output=files $dup_option $query" - . " | sed -e 's: :\\\\ :g'" - . " | xargs -r -I searchoutput ln -s searchoutput $maildir/cur/"); -} - -sub prompt($$) { - my ($text, $default) = @_; - my $query = ""; - my $term = Term::ReadLine->new( "notmuch-mutt" ); - my $histfile = "$cache_dir/history"; - - $term->ornaments( 0 ); - # $term->unbind_key( ord( "\t" ) ); - $term->MinLine( 3 ); - $histfile = $ENV{MUTT_NOTMUCH_HISTFILE} if $ENV{MUTT_NOTMUCH_HISTFILE}; - $term->ReadHistory($histfile) if (-r $histfile); - while (1) { - chomp($query = $term->readline($text, $default)); - if ($query eq "?") { - system("man", "notmuch-search-terms"); - } else { - # $term->WriteHistory($histfile); - return $query; - } - } -} - -sub get_message_id() { - my $mid = undef; - my @headers = (); - - while (<STDIN>) { # collect header lines in @headers - push(@headers, $_); - last if $_ =~ /^$/; - } - my $head = Mail::Header->new(\@headers); - $mid = $head->get("message-id") or undef; - - if ($mid) { # Message-ID header found - $mid =~ /^<(.*)>$/; # extract message id - $mid = $1; - } else { # Message-ID header not found, synthesize a message id - # based on SHA1, as notmuch would do. See: - # https://git.notmuchmail.org/git/notmuch/blob/HEAD:/lib/sha1.c - my $sha = Digest::SHA->new(1); - $sha->add($_) foreach(@headers); - $sha->addfile(\*STDIN); - $mid = 'notmuch-sha1-' . $sha->hexdigest; - } - - return $mid; -} - -sub search_action($$$@) { - my ($interactive, $results_dir, $remove_dups, @params) = @_; - - if (! $interactive) { - search($results_dir, $remove_dups, join(' ', @params)); - } else { - my $query = prompt("search ('?' for man): ", join(' ', @params)); - if ($query ne "") { - search($results_dir, $remove_dups, $query); - } - } -} - -sub thread_action($$@) { - my ($results_dir, $remove_dups, @params) = @_; - - my $mid = get_message_id(); - if (! defined $mid) { - empty_maildir($results_dir); - die "notmuch-mutt: cannot find Message-Id, abort.\n"; - } - my $search_cmd = 'notmuch search --output=threads ' . shell_quote("id:$mid"); - my $tid = `$search_cmd`; # get thread id - chomp($tid); - - search($results_dir, $remove_dups, $tid); -} - -sub tag_action(@) { - my $mid = get_message_id(); - defined $mid or die "notmuch-mutt: cannot find Message-Id, abort.\n"; - - system("notmuch", "tag", @_, "--", "id:$mid"); -} - -sub die_usage() { - my %podflags = ( "verbose" => 1, - "exitval" => 2 ); - pod2usage(%podflags); -} - -sub main() { - mkpath($cache_dir) unless (-d $cache_dir); - - my $results_dir = "$cache_dir/results"; - my $interactive = 0; - my $help_needed = 0; - my $remove_dups = 0; - - my $getopt = GetOptions( - "h|help" => \$help_needed, - "o|output-dir=s" => \$results_dir, - "p|prompt" => \$interactive, - "r|remove-dups" => \$remove_dups); - if (! $getopt || $#ARGV < 0) { die_usage() }; - my ($action, @params) = ($ARGV[0], @ARGV[1..$#ARGV]); - - foreach my $param (@params) { - $param =~ s/folder:=/folder:/g; - } - - if ($help_needed) { - die_usage(); - } elsif ($action eq "search" && $#ARGV == 0 && ! $interactive) { - print STDERR "Error: no search term provided\n\n"; - die_usage(); - } elsif ($action eq "search") { - search_action($interactive, $results_dir, $remove_dups, @params); - } elsif ($action eq "thread") { - thread_action($results_dir, $remove_dups, @params); - } elsif ($action eq "tag") { - tag_action(@params); - } else { - die_usage(); - } -} - -main(); - -__END__ - -=head1 NAME - -notmuch-mutt - notmuch (of a) helper for Mutt - -=head1 SYNOPSIS - -=over - -=item B<notmuch-mutt> [I<OPTION>]... search [I<SEARCH-TERM>]... - -=item B<notmuch-mutt> [I<OPTION>]... thread < I<MAIL> - -=item B<notmuch-mutt> [I<OPTION>]... tag [I<TAGS>]... < I<MAIL> - -=back - -=head1 DESCRIPTION - -notmuch-mutt is a frontend to the notmuch mail indexer capable of populating -a maildir with search results. - -=head1 OPTIONS - -=over 4 - -=item -o DIR - -=item --output-dir DIR - -Store search results as (symlink) messages under maildir DIR. Beware: DIR will -be overwritten. (Default: F<~/.cache/notmuch/mutt/results/>) - -=item -p - -=item --prompt - -Instead of using command line search terms, prompt the user for them (only for -"search"). - -=item -r - -=item --remove-dups - -Remove emails with duplicate message-ids from search results. (Passes ---duplicate=1 to notmuch search command.) Note this can hide search -results if an email accidentally or maliciously uses the same message-id -as a different email. - -=item -h - -=item --help - -Show usage information and exit. - -=back - -=head1 INTEGRATION WITH MUTT - -notmuch-mutt can be used to integrate notmuch with the Mutt mail user agent -(unsurprisingly, given the name). To that end, you should define macros like -the following in your Mutt configuration (usually one of: F<~/.muttrc>, -F</etc/Muttrc>, or a configuration snippet under F</etc/Muttrc.d/>): - - macro index <F8> \ - "<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ - <shell-escape>notmuch-mutt -r --prompt search<enter>\ - <change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\ - <enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ - "notmuch: search mail" - - macro index <F9> \ - "<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ - <pipe-message>notmuch-mutt -r thread<enter>\ - <change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\ - <enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ - "notmuch: reconstruct thread" - - macro index <F6> \ - "<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ - <pipe-message>notmuch-mutt tag -- -inbox<enter>\ - <enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ - "notmuch: remove message from inbox" - -The first macro (activated by <F8>) prompts the user for notmuch search terms -and then jump to a temporary maildir showing search results. The second macro -(activated by <F9>) reconstructs the thread corresponding to the current mail -and show it as search results. The third macro (activated by <F6>) removes the -tag C<inbox> from the current message; by changing C<-inbox> this macro may be -customised to add or remove tags appropriate to the users notmuch work-flow. - -To keep notmuch index current you should then periodically run C<notmuch -new>. Depending on your local mail setup, you might want to do that via cron, -as a hook triggered by mail retrieval, etc. - -=head1 SEE ALSO - -mutt(1), notmuch(1) - -=head1 AUTHOR - -Copyright: (C) 2011-2012 Stefano Zacchiroli <zack@upsilon.cc> - -License: GNU General Public License (GPL), version 3 or higher - -=cut diff --git a/bin/nova-list-flavors.py b/bin/nova-list-flavors.py deleted file mode 100755 index d512c021..00000000 --- a/bin/nova-list-flavors.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python -# -# https://www.ibm.com/developerworks/cloud/library/cl-openstack-pythonapis/ - -import os -import time -import novaclient.client -from credentials import get_nova_creds - -creds = get_nova_creds() - -client_cls = novaclient.client.Client -nova = client_cls(2, - creds['username'], - creds['api_key'], - creds['project_id'], - auth_url=creds['auth_url'], - insecure=True) -nova.authenticate() - -for flavor in nova.flavors.list(detailed=True): - #print(image_id) - #print(image.metadata.items()) - #print(image.size) - #print(flavor) - print(flavor.name) - #print(flavor.metadata) - print(flavor.disk) - print(flavor.ephemeral) - diff --git a/bin/nova-list-images.py b/bin/nova-list-images.py deleted file mode 100755 index fe02bba3..00000000 --- a/bin/nova-list-images.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# -# https://www.ibm.com/developerworks/cloud/library/cl-openstack-pythonapis/ - -import os -import time -import novaclient.client -from credentials import get_nova_creds - -import requests - -requests.packages.urllib3.disable_warnings() - -creds = get_nova_creds() - -client_cls = novaclient.client.Client -nova = client_cls(2, - creds['username'], - creds['api_key'], - creds['project_id'], - auth_url=creds['auth_url'], - insecure=True) -nova.authenticate() - -for image in nova.images.list(detailed=True): - image_id = image.id - #print(image_id) - #print(image.metadata.items()) - #print(image.size) - img = nova.images.find(id=image.id) - print(img) - print(img.name) - #print(img.size) - print(img.metadata) - # print("%s: %s - %s" % (image.id, image.name, image.size)) diff --git a/bin/nova-list-instances.py b/bin/nova-list-instances.py deleted file mode 100755 index a53e5816..00000000 --- a/bin/nova-list-instances.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env python -# -# https://www.ibm.com/developerworks/cloud/library/cl-openstack-pythonapis/ - -import os -import time -import novaclient.client -from credentials import get_nova_creds - -creds = get_nova_creds() - -client_cls = novaclient.client.Client -nova = client_cls(2, - creds['username'], - creds['api_key'], - creds['project_id'], - auth_url=creds['auth_url'], - insecure=True) -nova.authenticate() - -vms = nova.servers.list() -for vm in vms: - image = nova.images.find(id=vm.image['id']) - flavor = nova.flavors.find(id=vm.flavor['id']) - print("%s (%s): %s - %s: %s" % (vm.name, vm.id, image.name, flavor.name, - vm.status)) diff --git a/bin/nova-list-projects.py b/bin/nova-list-projects.py deleted file mode 100755 index 0bd36b87..00000000 --- a/bin/nova-list-projects.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python -# -# https://www.ibm.com/developerworks/cloud/library/cl-openstack-pythonapis/ - -import os -import time -import novaclient.client -import requests - -from credentials import get_nova_creds -from six.moves.urllib.parse import urlparse - -requests.packages.urllib3.disable_warnings() - -creds = get_nova_creds() - -client_cls = novaclient.client.Client -nova = client_cls(2, - creds['username'], - creds['api_key'], - creds['project_id'], - auth_url=creds['auth_url'], - insecure=True) -nova.authenticate() - -catalog = nova.client.service_catalog.catalog - -endpoints = catalog['access']['serviceCatalog'] -for endpoint in endpoints: - if endpoint['type'] == 'compute': - print(endpoint) - for ept in endpoint['endpoints']: - #print(ept) - endpoint_url = ept['publicURL'] - version = urlparse(endpoint_url).path.split('/')[1] - #print('%s: %s' % (endpoint_url, version)) diff --git a/bin/nova-list-quotas.py b/bin/nova-list-quotas.py deleted file mode 100755 index d1fab3c1..00000000 --- a/bin/nova-list-quotas.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env python -# -# https://www.ibm.com/developerworks/cloud/library/cl-openstack-pythonapis/ - -from credentials import get_nova_creds - -import novaclient.client - -import requests - -requests.packages.urllib3.disable_warnings() - -creds = get_nova_creds() - -client_cls = novaclient.client.Client -nova = client_cls(2, - creds['username'], - creds['api_key'], - creds['project_name'], - auth_url=creds['auth_url'], - insecure=True) -nova.authenticate() - -quotas = nova.quotas - -print("Default instances: %s" % getattr(quotas.defaults(creds['project_id']), 'instances')) -print("Project instances: %s" % getattr(quotas.get(creds['project_id']), 'instances')) diff --git a/bin/nova-start-instance.py b/bin/nova-start-instance.py deleted file mode 100755 index e1f34472..00000000 --- a/bin/nova-start-instance.py +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env python -# -# https://www.ibm.com/developerworks/cloud/library/cl-openstack-pythonapis/ - -import os -import time -import novaclient.client -from credentials import get_nova_creds - -creds = get_nova_creds() - -client_cls = novaclient.client.Client -nova = client_cls(2, - creds['username'], - creds['api_key'], - creds['project_id'], - auth_url=creds['auth_url'], - insecure=creds['insecure']) -nova.authenticate() - -if not nova.keypairs.findall(name="mykey"): - with open(os.path.expanduser('~/.ssh/id_rsa.pub')) as fpubkey: - nova.keypairs.create(name="mykey", public_key=fpubkey.read()) -image = nova.images.find(name="cirros") -flavor = nova.flavors.find(name="m1.tiny") -instance = nova.servers.create(name="test_halted", image=image, flavor=flavor, key_name="mykey") - -# Poll at 5 second intervals, until the status is no longer 'BUILD' -status = instance.status -while status == 'BUILD': - time.sleep(5) - # Retrieve the instance again so the status - # field updates - instance = nova.servers.get(instance.id) - status = instance.status - -print "status: %s" % status - -# instance.suspend() -# while status != 'SUSPENDED': -# time.sleep(5) -# # Retrieve the instance again so the status -# # field updates -# instance = nova.servers.get(instance.id) -# status = instance.status -# print "status: %s" % status - -instance.stop() -while status == 'ACTIVE': - time.sleep(5) - # Retrieve the instance again so the status - # field updates - instance = nova.servers.get(instance.id) - status = instance.status -print "status: %s" % status diff --git a/bin/novaclient-test.py b/bin/novaclient-test.py deleted file mode 100755 index 2013fda0..00000000 --- a/bin/novaclient-test.py +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/env python - -#os_username = 'admin' -#os_password = 'test' -#os_tenant_name = 'admin' -os_username = 'readall' -os_password = 'test' -os_tenant_name = 'fedcloud' -os_auth_url = 'https://192.168.56.105:5000/v2.0' -insecure = True - -import novaclient.client -#from novaclient.v2 import quotas -#from six.moves.urllib.parse import urlparse -## from novaclient import api_versions -import keystoneclient.v2_0.client as ksclient - -import pprint - -import prettytable -import six -from oslo_utils import encodeutils - -import requests - -requests.packages.urllib3.disable_warnings() - -client_cls = novaclient.client.Client -api = client_cls(2, - os_username, - os_password, - os_tenant_name, - auth_url=os_auth_url, - insecure=insecure) - -api.authenticate() - -#pprint.pprint(dir(api)) - -keystone = ksclient.Client(auth_url=os_auth_url, - username=os_username, - password=os_password, - tenant_name=os_tenant_name, - insecure=insecure) -auth_token = keystone.auth_token -pprint.pprint(dir(keystone)) -pprint.pprint(keystone.__dict__) -pprint.pprint(keystone.get_project_id(os_tenant_name)) - -#quotas = api.quotas -# XXX Here we should pass the ID, not the name! -#print("Default instances: %s" % getattr(quotas.defaults(os_tenant_name), 'instances')) -#print("Project instances: %s" % getattr(quotas.get(os_tenant_name), 'instances')) - -# Keystoneauth1 -from keystoneauth1 import session -from keystoneauth1 import loading -from novaclient import client - -import requests - -requests.packages.urllib3.disable_warnings() - -loader = loading.get_plugin_loader('password') -auth = loader.load_from_options(auth_url=os_auth_url, - username=os_username, - password=os_password, - project_name=os_tenant_name) -sess = session.Session(auth=auth, verify=False) -nova = client.Client('2.0', session=sess) - -#pprint.pprint(sess.__dict__) -#pprint.pprint(sess.auth.__dict__) - -#pprint.pprint(auth.get_project_id(sess)) -pprint.pprint(sess.get_project_id()) - -#pprint.pprint(nova.__dict__) -#pprint.pprint(nova.client.__dict__) - -# print("Default instances: %s" % getattr(nova.quotas.defaults(os_tenant_name), 'instances')) -# print("Project instances: %s" % getattr(nova.quotas.get(os_tenant_name), 'instances')) - - -# Keystoneauth1 v3 -# from keystoneauth1.identity import v3 -# from keystoneauth1 import session -# from keystoneclient.v3 import client -# -# auth = v3.Password(auth_url=os_auth_url, -# username=os_username, -# password=os_password, -# project_name=os_tenant_name) -# -# sess = session.Session(auth=auth, verify=False) - - -#from novaclient import client -# -#from keystoneauth1.identity import generic -#from keystoneauth1 import session as keystone_session -# -#auth = generic.Password(auth_url=os_auth_url, -# username=os_username, -# password=os_password, -# project_name=os_tenant_name, -# project_domain_id='default', -# user_domain_id='default') -# -#session = keystone_session.Session(auth=auth) -# -#ks = client.Client('2.0', session=session) - -#print(ks.__dict__) - -#users = ks.client.users.list() - -#images = ks.images.list() - -#cs = novaclient.client.SessionClient(session=sess) - - -#q = api.quotas.get('fedcloud') -#print(q) - -#for image in api.images.list(detailed=True): -# print(image.name) - -# catalog = api.client.service_catalog.catalog -# -# endpoints = catalog['access']['serviceCatalog'] -# for endpoint in endpoints: -# if endpoint['type'] == 'compute': -# for ept in endpoint['endpoints']: -# endpoint_url = ept['publicURL'] -# version = urlparse(endpoint_url).path.split('/')[1] -# print('%s: %s' % (endpoint_url, version)) -# version h -# #version = api.client.versions.get_current() -# print(version) - -#r = requests.get("http://192.168.56.105:8787/occi1.1') -#if r.status_code == requests.codes.ok: -# res = r.json() -# print(res) -# version = res['version']['id'] -# print(version) -#else: -# print('Unable to retrieve version: %s' % r.text) - - -# endpoint_url = 'https://192.168.56.105:8787/occi1.1' -# -# try: -# headers = {'X-Auth-token': self.auth_token} -# request_url = "%s/-/" % endpoint_url -# print('Requesting %s' % request_url) -# r = requests.get(request_url, headers=headers) -# if r.status_code == requests.codes.ok: -# header_server = r.headers['Server'] -# e_middleware_version = re.search(r'ooi/([0-9.]+)', -# header_server).group(1) -# e_version = re.search(r'OCCI/([0-9.]+)', -# header_server).group(1) -# except requests.exceptions.RequestException as e: -# print(e) -# pass -# except IndexError: -# pass - -# import requests -# # X-Auth-token -# headers = {'X-Auth-token': auth_token} -# r = requests.get("http://192.168.56.105:8787/occi1.1/-/", headers=headers) -# if r.status_code == requests.codes.ok: -# # print(r.text) -# print(r.headers['Server'].split(' ')[1].split('/')[1]) -# #version = res['version']['id'] -# #print(version) -# else: -# print('Error: %s' % r.text) - -#vms = api.servers.list() -#for vm in vms: -# image = api.images.find(id=vm.image['id']) -# flavor = api.flavors.find(id=vm.flavor['id']) -# print("%s (%s): %s - %s: %s" % (vm.name, vm.id, image.name, flavor.name, -# vm.status)) diff --git a/bin/offlineimap-helpers.py b/bin/offlineimap-helpers.py deleted file mode 100755 index 0a3ee0ce..00000000 --- a/bin/offlineimap-helpers.py +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env python2 - -import re -import sys -import gtk -import gnomekeyring as gkey - -class Keyring(object): - def __init__(self, name, server, protocol, user=None): - self._name = name - self._server = server - self._protocol = protocol - self._keyring = gkey.get_default_keyring_sync() - - def has_credentials(self): - try: - attrs = {"server": self._server, "protocol": self._protocol} - items = gkey.find_items_sync(gkey.ITEM_NETWORK_PASSWORD, attrs) - return len(items) > 0 - except gkey.DeniedError: - return False - - def get_credentials(self): - attrs = {"server": self._server, "protocol": self._protocol} - items = gkey.find_items_sync(gkey.ITEM_NETWORK_PASSWORD, attrs) - return (items[0].attributes["user"], items[0].secret) - - def set_credentials(self, (user, pw)): - attrs = { - "user": user, - "server": self._server, - "protocol": self._protocol, - } - gkey.item_create_sync(gkey.get_default_keyring_sync(), - gkey.ITEM_NETWORK_PASSWORD, self._name, attrs, pw, True) - -def get_username(server): - keyring = Keyring("offlineimap", server, "imap") - (username, password) = keyring.get_credentials() - return username - -def get_password(server, user=None): - keyring = Keyring("offlineimap", server, "imap", user) - (username, password) = keyring.get_credentials() - return password - -def oimaptransfolder_gmx(foldername): - if(foldername == "INBOX"): - retval = "gmx" - else: - retval = "gmx." + foldername - retval = re.sub("/", ".", retval) - return retval - -def oimaptransfolder_mpi(foldername): - if(foldername == "INBOX"): - retval = "mpi" - else: - retval = "mpi." + foldername - retval = re.sub("/", ".", retval) - return retval - -def oimaptransfolder_gentoo(foldername): - if(foldername == "INBOX"): - retval = "gentoo" - else: - retval = re.sub("INBOX.", "", foldername) - retval = "gentoo." + retval - retval = re.sub("/", ".", retval) - return retval - -def oimaptransfolder_gmail(foldername): - # Inbox has the normal name, all other have trailing '[Gmail]' - if(foldername == "INBOX"): - retval = "gmail" - else: - retval = "gmail." + foldername - # Now replace any funny gmails that gmail put there - retval = re.sub("\[Gmail\].", "", retval) - retval = re.sub("/", ".", retval) - return retval - -if __name__ == "__main__": - import sys - import os - import getpass - if len(sys.argv) != 3: - print "Usage: %s <repository> <username>" \ - % (os.path.basename(sys.argv[0])) - sys.exit(0) - repo, username = sys.argv[1:] - password = getpass.getpass("Enter password for user '%s': " % username) - password_confirmation = getpass.getpass("Confirm password: ") - if password != password_confirmation: - print "Error: password confirmation does not match" - sys.exit(1) - keyring = Keyring("offlineimap", repo, "imap") - keyring.set_credentials((username, password)) diff --git a/bin/offlineimap.py b/bin/offlineimap.py deleted file mode 100644 index 6d07f6e9..00000000 --- a/bin/offlineimap.py +++ /dev/null @@ -1,19 +0,0 @@ -prioritized = ['INBOX', '_Read', 'Sent'] - -def mycmp(x, y): - for prefix in prioritized: - xsw = getattr(x, 'name', x).startswith(prefix) - ysw = getattr(y, 'name', y).startswith(prefix) - if xsw and ysw: - return cmp(x, y) - elif xsw: - return -1 - elif ysw: - return +1 - return cmp(x, y) - -def test_mycmp(): - import os, os.path - folders=os.listdir(os.path.expanduser('~/Mail')) - folders.sort(mycmp) - print folders diff --git a/bin/raise b/bin/raise deleted file mode 100755 index a72505db..00000000 --- a/bin/raise +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/xdotool -search --onlyvisible --classname $1 -windowraise %@ diff --git a/bin/setup_kinesis_keyboard b/bin/setup_kinesis_keyboard deleted file mode 100755 index 47e6e2d5..00000000 --- a/bin/setup_kinesis_keyboard +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh - -# Keyboard layout setting -# Ctrl+Alt+Backspace kills X -#setxkbmap us,gb -option 'compose:rctrl' -option 'terminate:ctrl_alt_bksp' -option 'grp:shift_shift_toggle' -# Checking: setxkbmap -query -# Cleaning: setxkbmap -option - -# caps:swapescape to have caps lock on escape -# setxkbmap us -option 'compose:rctrl' -option 'terminate:ctrl_alt_bksp,caps:escape' - -# For Kinesis keyboard -# lsusb -# Bus 001 Device 005: ID 05f3:0007 PI Engineering, Inc. Kinesis Advantage PRO MPC/USB Keyboar -# xinput -# setxkbmap -print -verbose 10 -# xinput list-props 10 G 'Device Node' -# udevadm info --query=property --name=/dev/input/event16 G 'VENDOR=' -# Integrated -# AT Translated Set 2 keyboard id=14 [slave keyboard (3)] -# Kinesis -# HID 05f3:0007 id=10 [slave keyboard (3)] -# HID 05f3:0007 id=11 [slave keyboard (3)] -# Use right windows as Compose key -# setxkbmap -device 10 us -option 'compose:rwin,terminate:ctrl_alt_bksp' - -# https://unix.stackexchange.com/questions/58117/determine-xinput-device-manufacturer-and-model -# https://www.charvolant.org/doug/xkb/html/index.html -# https://gist.github.com/zoqaeski/3880640 -# http://hack.org/mc/writings/xkb.html -# http://madduck.net/docs/extending-xkb/ -# http://linuxfr.org/users/mildred/journaux/remplacer-votre-xmodmap -# http://pascal.tsu.ru/en/xkb/ -# https://superuser.com/questions/760602/how-to-remap-keys-under-linux-for-a-specific-keyboard-only -# https://www.x.org/releases/current/doc/xorg-docs/input/XKB-Enhancing.html -# http://wiki.linuxquestions.org/wiki/List_of_Keysyms_Recognised_by_Xmodmap - -printf 'Setting up keyboard\n' - -# Load Kinesis modmap if keyboard is connected -if xinput list | grep -q '05f3:0007'; then - printf 'Found a Kinesis keyboard\n' - # XXX keep only the first value as kinesis have two devices... - remote_id=$( - xinput list \ | sed -n 's/.*05f3:0007.*id=\([0-9]*\).*keyboard.*/\1/p' \ - | head -1 - ) - if [ -z "$remote_id" -o -z "$DISPLAY" ]; then - printf "remote_id: $remote_id\n" - printf "DISPLAY: $DISPLAY\n" - # Fallback to Xmodmap - # printf "remote_id or DISPLAY are missing, fallback to Xmodmap\n" - # Xmodmap ~/.Xmodmap-kinesis - # Fallback to setxkbmap - printf "remote_id or DISPLAY are missing, fallback to setxkbmap\n" - setxkbmap us -option 'compose:rctrl' -option 'terminate:ctrl_alt_bksp,caps:escape' - else - - # https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg#Workaround - # setxkbmap -device $remote_id us -option 'compose:rwin,caps:escape,terminate:ctrl_alt_bksp' - # xkbcomp -xkb $DISPLAY ~/.config/i3/kinesis_custom.xkb - # Edit ~/.config/i3/kinesis_custom.xkb to map RCTL to Mod4 - # Setup a fallback for DISPLAY? - # DISPLAY=${DISPLAY:=0} - # XXX use synch? - # XXX remote_id seems to prevent using it - # xkbcomp -i $remote_id -w 0 ~/.config/i3/kinesis_custom.xkb $DISPLAY - printf "Loading ~/.config/i3/kinesis_custom.xkb on $DISPLAY\n" - xkbcomp -w 0 ~/.config/i3/kinesis_custom.xkb $DISPLAY - fi -else - printf 'No kinesis keybaord found\n' -fi diff --git a/bin/simpler b/bin/simpler deleted file mode 100755 index 7cd92077..00000000 --- a/bin/simpler +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Print four lines showing blocks of colors: 0-7 | 0-7bold | 8-15 | 8-15bold -perl -CADS -lwe ' -my $block = shift || (chr(0x2588) x 3); -for (["", 0], ["1;", 0], ["", 8], ["1;", 8]) { - my ($bold, $offset) = @$_; - my @range = map $offset + $_, 0..7; - printf "%s %-6s ", $bold ? "bold" : "norm", "$range[0]-$range[-1]"; - print map("\e[${bold}38;5;${_}m$block", @range), "\e[0m" -} -' "$@" diff --git a/bin/spacemacs.bash b/bin/spacemacs.bash deleted file mode 100755 index ad2d7a9f..00000000 --- a/bin/spacemacs.bash +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -#Keep the container up-to-date -docker pull jare/spacemacs:latest - -cd /home/baptiste/Documents/workspace - -SPACE_HOME="$(docker inspect --format '{{.Config.Labels.HOME}}' \ -jare/spacemacs:latest)" - -echo '3...2...1...' - -docker run -ti --rm -v $('pwd'):"${SPACE_HOME}/workspace" \ - -v /etc/localtime:/etc/localtime:ro \ - -v /home/baptiste/.ssh/id_rsa:${SPACE_HOME}/.ssh/id_rsa:ro \ - -v /var/run/dbus:/var/run/dbus \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -v /etc/machine-id:/etc/machine-id:ro \ - -e DISPLAY=$DISPLAY \ - -e "GITEMAIL=w3techplayground@gmail.com" \ - -e "GITNAME=JAremko" \ - -p 80:80 -p 8080:8080 -p 443:443 -p 3000:3000 \ - --name spacemacs jare/spacemacs:latest diff --git a/bin/ssh-multi b/bin/ssh-multi deleted file mode 100755 index 636b63d1..00000000 --- a/bin/ssh-multi +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -# ssh-multi -# D.Kovalov -# Based on http://linuxpixies.blogspot.jp/2011/06/tmux-copy-mode-and-how-to-control.html -# a script to ssh multiple servers over multiple tmux panes - -starttmux() { - if [ -z "$HOSTS" ]; then - echo - echo 'Please provide of list of hosts separated by spaces [ENTER]: ' - read HOSTS - fi - - local hosts=( $HOSTS ) - - tmux new-window "ssh ${hosts[0]}" - unset hosts[0]; - for i in "${hosts[@]}"; do - tmux split-window -h "ssh $i" - tmux select-layout tiled > /dev/null - done - tmux select-pane -t 0 - tmux set-window-option synchronize-panes on > /dev/null -} - -HOSTS=${HOSTS:=$*} - -starttmux diff --git a/bin/start-gnome-keyring.sh b/bin/start-gnome-keyring.sh deleted file mode 100644 index f0b8c028..00000000 --- a/bin/start-gnome-keyring.sh +++ /dev/null @@ -1,3 +0,0 @@ - -eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh) -export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK diff --git a/bin/testdebit.pl b/bin/testdebit.pl deleted file mode 100755 index ebb44802..00000000 --- a/bin/testdebit.pl +++ /dev/null @@ -1,1013 +0,0 @@ -#!/usr/bin/perl -w -use strict; - -###################### testdebit.pl ###################### -# Script perl de test de débit pour Linux version 1.0 du 16 septembre 2014 -# Écrit par Vivien GUEANT sous Licence publique générale GNUv3 -# Contact / Questions : https://lafibre.info/tester-son-debit/ - -###################### FONCTIONNEMENT ###################### -# Ce script fait un téléchargement / upload d'un fichier -# De nombreuses données sur les anomalies pendant le transfert -# L'absence de ligne "anomalies" signifie que tout s'est déroulé idéalement - -###################### MODE D'EMPLOI ###################### -# Pour rendre ce script exécutable : dans un terminal, tapez « chmod +x testdebit.pl » -# -# Installation des dépendances pour linux Ubuntu/Debian : sudo apt-get install curl -# -# Le lancement se fait dans un terminal : -# Ex pour le download : ./testdebit.pl -d -4 http://bouygues.testdebit.info/100M.iso -# Ex pour l'upload : ./testdebit.pl -u -4 http://bouygues.testdebit.info 10M.iso - -############# INITIALISATION DES VARIABLES ################# -my $type_test = "0"; -my $serveur_proto = "0"; -my $serveur_url = "0"; -my $fichier = "0"; -my $perte = "0"; -my $anomalie = "0"; -my $anomalie_critique = "0"; -my @netstat1 = ""; -my @netstat2 = ""; -my @netstat3 = ""; -my @curl1 = ""; - -######################### ARGUMENTS PASSES EN LIGNE DE COMMANDE ################################# -if("$ARGV[0]" eq "-d") { # 1er argument : -d (download) ou -u (upload) - $type_test = "download"; - if("$ARGV[2]" ne "") { # 3ème argument pour : url http ou https - $serveur_url = "$ARGV[2]"; - } else { - die ("3ème argument : Il faut spécifier l'url avec le fichier à télécharger\n"); - } -} -elsif("$ARGV[0]" eq "-u") { - if("$ARGV[3]" eq "") { - die ("3ème argument: url du serveur\n4ème argument : fichier a uploader\n"); - } - $serveur_url = "$ARGV[2]"; # 3ème argument : url http ou https - $fichier = "$ARGV[3]"; # 4ème argument : le fichier à uploader - if (-r "$fichier") { # Vérification que le fichier existe et est lisible - $type_test = "upload"; - } - else { - die "Le fichier $fichier n'existe pas ou n'est pas lisible\n"; - } -} -else { - die ("1er argument : Il faut spécifier -d pour download ou -u pour upload dans le 1er argument\n"); -} - -if("$ARGV[1]" eq "-4") { # 2ème argument : -4 (IPv4) ou -6 (IPv6) - $serveur_proto = "4"; -} elsif("$ARGV[1]" eq "-6") { - $serveur_proto = "6"; -} else { - die ("2ème argument : Il faut spécifier -4 pour IPv4 ou -6 pour IPv6\n"); -} - -############# INITIALISATION DU FICHIER DE LOG ################# -my $LOGFILE_NAME = "/tmp/testdebit.log"; -open(LOG, ">>$LOGFILE_NAME") || die "Erreur, impossible d'ouvrir le fichier de log $LOGFILE_NAME"; - -###################### GENERATION DE LA DATE ###################### -my $time = localtime(time); -my $Annee = substr($time,length($time)-4); -my $Jour = substr($time,8,2); -my $Mois = substr($time,4,3); -my $Heure = substr($time,length($time)-13,5); # Calcul de l'heure avec les minutes, sans les secondes -my $Date = $Jour." ".$Mois.". ".$Annee; - -###################### Récupération des informaiton réseau de référence SNMP1 ###################### -@netstat1 = `cat /proc/net/snmp`; - -###################### Post-traitement données brut SNMP1 ###################### -@netstat2 = grep( /Ip: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $Ip____1_01 = $netstat3[1]; -my $Ip____1_02 = $netstat3[2]; -my $Ip____1_03 = $netstat3[3]; -my $Ip____1_04 = $netstat3[4]; -my $Ip____1_05 = $netstat3[5]; -my $Ip____1_06 = $netstat3[6]; -my $Ip____1_07 = $netstat3[7]; -my $Ip____1_08 = $netstat3[8]; -my $Ip____1_09 = $netstat3[9]; -my $Ip____1_10 = $netstat3[10]; -my $Ip____1_11 = $netstat3[11]; -my $Ip____1_12 = $netstat3[12]; -my $Ip____1_13 = $netstat3[13]; -my $Ip____1_14 = $netstat3[14]; -my $Ip____1_15 = $netstat3[15]; -my $Ip____1_16 = $netstat3[16]; -my $Ip____1_17 = $netstat3[17]; -my $Ip____1_18 = $netstat3[18]; -my $Ip____1_19 = $netstat3[19]; -@netstat2 = grep( /Icmp: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $Icmp__1_01 = $netstat3[1]; -my $Icmp__1_02 = $netstat3[2]; -my $Icmp__1_03 = $netstat3[3]; -my $Icmp__1_04 = $netstat3[4]; -my $Icmp__1_05 = $netstat3[5]; -my $Icmp__1_06 = $netstat3[6]; -my $Icmp__1_07 = $netstat3[7]; -my $Icmp__1_08 = $netstat3[8]; -my $Icmp__1_09 = $netstat3[9]; -my $Icmp__1_10 = $netstat3[10]; -my $Icmp__1_11 = $netstat3[11]; -my $Icmp__1_12 = $netstat3[12]; -my $Icmp__1_13 = $netstat3[13]; -my $Icmp__1_14 = $netstat3[14]; -my $Icmp__1_15 = $netstat3[15]; -my $Icmp__1_16 = $netstat3[16]; -my $Icmp__1_17 = $netstat3[17]; -my $Icmp__1_18 = $netstat3[18]; -my $Icmp__1_19 = $netstat3[19]; -my $Icmp__1_20 = $netstat3[20]; -my $Icmp__1_21 = $netstat3[21]; -my $Icmp__1_22 = $netstat3[22]; -my $Icmp__1_23 = $netstat3[23]; -my $Icmp__1_24 = $netstat3[24]; -my $Icmp__1_25 = $netstat3[25]; -my $Icmp__1_26 = $netstat3[26]; -my $Icmp__1_27 = $netstat3[27]; -@netstat2 = grep( /IcmpMsg: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $IcmpMs1_01 = $netstat3[1]; -my $IcmpMs1_02 = $netstat3[2]; -@netstat2 = grep( /Tcp: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $Tcp___1_01 = $netstat3[1]; -my $Tcp___1_02 = $netstat3[2]; -my $Tcp___1_03 = $netstat3[3]; -my $Tcp___1_04 = $netstat3[4]; -my $Tcp___1_05 = $netstat3[5]; -my $Tcp___1_06 = $netstat3[6]; -my $Tcp___1_07 = $netstat3[7]; -my $Tcp___1_08 = $netstat3[8]; -my $Tcp___1_09 = $netstat3[9]; -my $Tcp___1_10 = $netstat3[10]; -my $Tcp___1_11 = $netstat3[11]; -my $Tcp___1_12 = $netstat3[12]; -my $Tcp___1_13 = $netstat3[13]; -my $Tcp___1_14 = $netstat3[14]; -my $Tcp___1_15 = $netstat3[15]; -@netstat2 = grep( /Udp: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $Udp___1_01 = $netstat3[1]; -my $Udp___1_02 = $netstat3[2]; -my $Udp___1_03 = $netstat3[3]; -my $Udp___1_04 = $netstat3[4]; -my $Udp___1_05 = $netstat3[5]; -my $Udp___1_06 = $netstat3[6]; -my $Udp___1_07 = $netstat3[7]; -@netstat2 = grep( /UdpLite: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $UdpLit1_01 = $netstat3[1]; -my $UdpLit1_02 = $netstat3[2]; -my $UdpLit1_03 = $netstat3[3]; -my $UdpLit1_04 = $netstat3[4]; -my $UdpLit1_05 = $netstat3[5]; -my $UdpLit1_06 = $netstat3[6]; -my $UdpLit1_07 = $netstat3[7]; - -###################### Récupération des informaiton réseau de référence NETSTAT1 ###################### -@netstat1 = `cat /proc/net/netstat`; - -###################### Post-traitement données brut NETSTAT1 ###################### -@netstat2 = grep( /TcpExt: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $TcpExt1_01 = $netstat3[1]; -my $TcpExt1_02 = $netstat3[2]; -my $TcpExt1_03 = $netstat3[3]; -my $TcpExt1_04 = $netstat3[4]; -my $TcpExt1_05 = $netstat3[5]; -my $TcpExt1_06 = $netstat3[6]; -my $TcpExt1_07 = $netstat3[7]; -my $TcpExt1_08 = $netstat3[8]; -my $TcpExt1_09 = $netstat3[9]; -my $TcpExt1_10 = $netstat3[10]; -my $TcpExt1_11 = $netstat3[11]; -my $TcpExt1_12 = $netstat3[12]; -my $TcpExt1_13 = $netstat3[13]; -my $TcpExt1_14 = $netstat3[14]; -my $TcpExt1_15 = $netstat3[15]; -my $TcpExt1_16 = $netstat3[16]; -my $TcpExt1_17 = $netstat3[17]; -my $TcpExt1_18 = $netstat3[18]; -my $TcpExt1_19 = $netstat3[19]; -my $TcpExt1_20 = $netstat3[20]; -my $TcpExt1_21 = $netstat3[21]; -my $TcpExt1_22 = $netstat3[22]; -my $TcpExt1_23 = $netstat3[23]; -my $TcpExt1_24 = $netstat3[24]; -my $TcpExt1_25 = $netstat3[25]; -my $TcpExt1_26 = $netstat3[26]; -my $TcpExt1_27 = $netstat3[27]; -my $TcpExt1_28 = $netstat3[28]; -my $TcpExt1_29 = $netstat3[29]; -my $TcpExt1_30 = $netstat3[30]; -my $TcpExt1_31 = $netstat3[31]; -my $TcpExt1_32 = $netstat3[32]; -my $TcpExt1_33 = $netstat3[33]; -my $TcpExt1_34 = $netstat3[34]; -my $TcpExt1_35 = $netstat3[35]; -my $TcpExt1_36 = $netstat3[36]; -my $TcpExt1_37 = $netstat3[37]; -my $TcpExt1_38 = $netstat3[38]; -my $TcpExt1_39 = $netstat3[39]; -my $TcpExt1_40 = $netstat3[40]; -my $TcpExt1_41 = $netstat3[41]; -my $TcpExt1_42 = $netstat3[42]; -my $TcpExt1_43 = $netstat3[43]; -my $TcpExt1_44 = $netstat3[44]; -my $TcpExt1_45 = $netstat3[45]; -my $TcpExt1_46 = $netstat3[46]; -my $TcpExt1_47 = $netstat3[47]; -my $TcpExt1_48 = $netstat3[48]; -my $TcpExt1_49 = $netstat3[49]; -my $TcpExt1_50 = $netstat3[50]; -my $TcpExt1_51 = $netstat3[51]; -my $TcpExt1_52 = $netstat3[52]; -my $TcpExt1_53 = $netstat3[53]; -my $TcpExt1_54 = $netstat3[54]; -my $TcpExt1_55 = $netstat3[55]; -my $TcpExt1_56 = $netstat3[56]; -my $TcpExt1_57 = $netstat3[57]; -my $TcpExt1_58 = $netstat3[58]; -my $TcpExt1_59 = $netstat3[59]; -my $TcpExt1_60 = $netstat3[60]; -my $TcpExt1_61 = $netstat3[61]; -my $TcpExt1_62 = $netstat3[62]; -my $TcpExt1_63 = $netstat3[63]; -my $TcpExt1_64 = $netstat3[64]; -my $TcpExt1_65 = $netstat3[65]; -my $TcpExt1_66 = $netstat3[66]; -my $TcpExt1_67 = $netstat3[67]; -my $TcpExt1_68 = $netstat3[68]; -my $TcpExt1_69 = $netstat3[69]; -my $TcpExt1_70 = $netstat3[70]; -my $TcpExt1_71 = $netstat3[71]; -my $TcpExt1_72 = $netstat3[72]; -my $TcpExt1_73 = $netstat3[73]; -my $TcpExt1_74 = $netstat3[74]; -my $TcpExt1_75 = $netstat3[75]; -my $TcpExt1_76 = $netstat3[76]; -my $TcpExt1_77 = $netstat3[77]; -my $TcpExt1_78 = $netstat3[78]; -my $TcpExt1_79 = $netstat3[79]; -my $TcpExt1_80 = $netstat3[80]; -my $TcpExt1_81 = $netstat3[81]; -my $TcpExt1_82 = $netstat3[82]; -my $TcpExt1_83 = $netstat3[83]; -my $TcpExt1_84 = $netstat3[84]; -my $TcpExt1_85 = $netstat3[85]; -my $TcpExt1_86 = $netstat3[86]; -my $TcpExt1_87 = $netstat3[87]; -my $TcpExt1_88 = $netstat3[88]; -my $TcpExt1_89 = $netstat3[89]; -my $TcpExt1_90 = $netstat3[90]; -my $TcpExt1_91 = $netstat3[91]; -my $TcpExt1_92 = $netstat3[92]; -my $TcpExt1_93 = $netstat3[93]; -my $TcpExt1_94 = $netstat3[94]; -my $TcpExt1_95 = $netstat3[95]; -@netstat2 = grep( /IpExt: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $Ip_Ext1_01 = $netstat3[1]; -my $Ip_Ext1_02 = $netstat3[2]; -my $Ip_Ext1_03 = $netstat3[3]; -my $Ip_Ext1_04 = $netstat3[4]; -my $Ip_Ext1_05 = $netstat3[5]; -my $Ip_Ext1_06 = $netstat3[6]; -my $Ip_Ext1_07 = $netstat3[7]; -my $Ip_Ext1_08 = $netstat3[8]; -my $Ip_Ext1_09 = $netstat3[9]; -my $Ip_Ext1_10 = $netstat3[10]; -my $Ip_Ext1_11 = $netstat3[11]; -my $Ip_Ext1_12 = $netstat3[12]; -my $Ip_Ext1_13 = $netstat3[13]; -my $Ip_Ext1_14 = $netstat3[14]; -my $Ip_Ext1_15 = $netstat3[15]; -my $Ip_Ext1_16 = $netstat3[16]; -my $Ip_Ext1_17 = $netstat3[17]; - -###################### Téléchargement CURL ###################### -if("$type_test" eq "download") { - print ("Fichier en cours de téléchargement : $serveur_url\n"); - @curl1 = `curl -$serveur_proto -s -w %{speed_download}-%{time_namelookup}-%{time_connect}-%{time_starttransfer}-%{time_total}-%{size_download} -o /dev/null "$serveur_url"`; -} - -if("$type_test" eq "upload") { - print ("Fichier en cours d'upload : $fichier vers $serveur_url\n"); - @curl1 = `curl -$serveur_proto -s -w %{speed_upload}-%{time_namelookup}-%{time_connect}-%{time_starttransfer}-%{time_total}-%{size_upload} -F filecontent=@"$fichier" -o /dev/null "$serveur_url"`; -} - -###################### Récupération des informaiton réseau de référence SNMP2 ###################### -@netstat1 = `cat /proc/net/snmp`; - -###################### Post-traitement données brut SNMP2 ###################### -@netstat2 = grep( /Ip: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $Ip____2_01 = $netstat3[1]; -my $Ip____2_02 = $netstat3[2]; -my $Ip____2_03 = $netstat3[3]; -my $Ip____2_04 = $netstat3[4]; -my $Ip____2_05 = $netstat3[5]; -my $Ip____2_06 = $netstat3[6]; -my $Ip____2_07 = $netstat3[7]; -my $Ip____2_08 = $netstat3[8]; -my $Ip____2_09 = $netstat3[9]; -my $Ip____2_10 = $netstat3[10]; -my $Ip____2_11 = $netstat3[11]; -my $Ip____2_12 = $netstat3[12]; -my $Ip____2_13 = $netstat3[13]; -my $Ip____2_14 = $netstat3[14]; -my $Ip____2_15 = $netstat3[15]; -my $Ip____2_16 = $netstat3[16]; -my $Ip____2_17 = $netstat3[17]; -my $Ip____2_18 = $netstat3[18]; -my $Ip____2_19 = $netstat3[19]; -@netstat2 = grep( /Icmp: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $Icmp__2_01 = $netstat3[1]; -my $Icmp__2_02 = $netstat3[2]; -my $Icmp__2_03 = $netstat3[3]; -my $Icmp__2_04 = $netstat3[4]; -my $Icmp__2_05 = $netstat3[5]; -my $Icmp__2_06 = $netstat3[6]; -my $Icmp__2_07 = $netstat3[7]; -my $Icmp__2_08 = $netstat3[8]; -my $Icmp__2_09 = $netstat3[9]; -my $Icmp__2_10 = $netstat3[10]; -my $Icmp__2_11 = $netstat3[11]; -my $Icmp__2_12 = $netstat3[12]; -my $Icmp__2_13 = $netstat3[13]; -my $Icmp__2_14 = $netstat3[14]; -my $Icmp__2_15 = $netstat3[15]; -my $Icmp__2_16 = $netstat3[16]; -my $Icmp__2_17 = $netstat3[17]; -my $Icmp__2_18 = $netstat3[18]; -my $Icmp__2_19 = $netstat3[19]; -my $Icmp__2_20 = $netstat3[20]; -my $Icmp__2_21 = $netstat3[21]; -my $Icmp__2_22 = $netstat3[22]; -my $Icmp__2_23 = $netstat3[23]; -my $Icmp__2_24 = $netstat3[24]; -my $Icmp__2_25 = $netstat3[25]; -my $Icmp__2_26 = $netstat3[26]; -my $Icmp__2_27 = $netstat3[27]; -@netstat2 = grep( /IcmpMsg: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $IcmpMs2_01 = $netstat3[1]; -my $IcmpMs2_02 = $netstat3[2]; -@netstat2 = grep( /Tcp: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $Tcp___2_01 = $netstat3[1]; -my $Tcp___2_02 = $netstat3[2]; -my $Tcp___2_03 = $netstat3[3]; -my $Tcp___2_04 = $netstat3[4]; -my $Tcp___2_05 = $netstat3[5]; -my $Tcp___2_06 = $netstat3[6]; -my $Tcp___2_07 = $netstat3[7]; -my $Tcp___2_08 = $netstat3[8]; -my $Tcp___2_09 = $netstat3[9]; -my $Tcp___2_10 = $netstat3[10]; -my $Tcp___2_11 = $netstat3[11]; -my $Tcp___2_12 = $netstat3[12]; -my $Tcp___2_13 = $netstat3[13]; -my $Tcp___2_14 = $netstat3[14]; -my $Tcp___2_15 = $netstat3[15]; -@netstat2 = grep( /Udp: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $Udp___2_01 = $netstat3[1]; -my $Udp___2_02 = $netstat3[2]; -my $Udp___2_03 = $netstat3[3]; -my $Udp___2_04 = $netstat3[4]; -my $Udp___2_05 = $netstat3[5]; -my $Udp___2_06 = $netstat3[6]; -my $Udp___2_07 = $netstat3[7]; -@netstat2 = grep( /UdpLite: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $UdpLit2_01 = $netstat3[1]; -my $UdpLit2_02 = $netstat3[2]; -my $UdpLit2_03 = $netstat3[3]; -my $UdpLit2_04 = $netstat3[4]; -my $UdpLit2_05 = $netstat3[5]; -my $UdpLit2_06 = $netstat3[6]; -my $UdpLit2_07 = $netstat3[7]; - -###################### Récupération des informaiton réseau aprés transfert NETSTAT2 ###################### -@netstat1 = `cat /proc/net/netstat`; - -###################### Post-traitement données brut NETSTAT2 ###################### -@netstat2 = grep( /TcpExt: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $TcpExt2_01 = $netstat3[1]; -my $TcpExt2_02 = $netstat3[2]; -my $TcpExt2_03 = $netstat3[3]; -my $TcpExt2_04 = $netstat3[4]; -my $TcpExt2_05 = $netstat3[5]; -my $TcpExt2_06 = $netstat3[6]; -my $TcpExt2_07 = $netstat3[7]; -my $TcpExt2_08 = $netstat3[8]; -my $TcpExt2_09 = $netstat3[9]; -my $TcpExt2_10 = $netstat3[10]; -my $TcpExt2_11 = $netstat3[11]; -my $TcpExt2_12 = $netstat3[12]; -my $TcpExt2_13 = $netstat3[13]; -my $TcpExt2_14 = $netstat3[14]; -my $TcpExt2_15 = $netstat3[15]; -my $TcpExt2_16 = $netstat3[16]; -my $TcpExt2_17 = $netstat3[17]; -my $TcpExt2_18 = $netstat3[18]; -my $TcpExt2_19 = $netstat3[19]; -my $TcpExt2_20 = $netstat3[20]; -my $TcpExt2_21 = $netstat3[21]; -my $TcpExt2_22 = $netstat3[22]; -my $TcpExt2_23 = $netstat3[23]; -my $TcpExt2_24 = $netstat3[24]; -my $TcpExt2_25 = $netstat3[25]; -my $TcpExt2_26 = $netstat3[26]; -my $TcpExt2_27 = $netstat3[27]; -my $TcpExt2_28 = $netstat3[28]; -my $TcpExt2_29 = $netstat3[29]; -my $TcpExt2_30 = $netstat3[30]; -my $TcpExt2_31 = $netstat3[31]; -my $TcpExt2_32 = $netstat3[32]; -my $TcpExt2_33 = $netstat3[33]; -my $TcpExt2_34 = $netstat3[34]; -my $TcpExt2_35 = $netstat3[35]; -my $TcpExt2_36 = $netstat3[36]; -my $TcpExt2_37 = $netstat3[37]; -my $TcpExt2_38 = $netstat3[38]; -my $TcpExt2_39 = $netstat3[39]; -my $TcpExt2_40 = $netstat3[40]; -my $TcpExt2_41 = $netstat3[41]; -my $TcpExt2_42 = $netstat3[42]; -my $TcpExt2_43 = $netstat3[43]; -my $TcpExt2_44 = $netstat3[44]; -my $TcpExt2_45 = $netstat3[45]; -my $TcpExt2_46 = $netstat3[46]; -my $TcpExt2_47 = $netstat3[47]; -my $TcpExt2_48 = $netstat3[48]; -my $TcpExt2_49 = $netstat3[49]; -my $TcpExt2_50 = $netstat3[50]; -my $TcpExt2_51 = $netstat3[51]; -my $TcpExt2_52 = $netstat3[52]; -my $TcpExt2_53 = $netstat3[53]; -my $TcpExt2_54 = $netstat3[54]; -my $TcpExt2_55 = $netstat3[55]; -my $TcpExt2_56 = $netstat3[56]; -my $TcpExt2_57 = $netstat3[57]; -my $TcpExt2_58 = $netstat3[58]; -my $TcpExt2_59 = $netstat3[59]; -my $TcpExt2_60 = $netstat3[60]; -my $TcpExt2_61 = $netstat3[61]; -my $TcpExt2_62 = $netstat3[62]; -my $TcpExt2_63 = $netstat3[63]; -my $TcpExt2_64 = $netstat3[64]; -my $TcpExt2_65 = $netstat3[65]; -my $TcpExt2_66 = $netstat3[66]; -my $TcpExt2_67 = $netstat3[67]; -my $TcpExt2_68 = $netstat3[68]; -my $TcpExt2_69 = $netstat3[69]; -my $TcpExt2_70 = $netstat3[70]; -my $TcpExt2_71 = $netstat3[71]; -my $TcpExt2_72 = $netstat3[72]; -my $TcpExt2_73 = $netstat3[73]; -my $TcpExt2_74 = $netstat3[74]; -my $TcpExt2_75 = $netstat3[75]; -my $TcpExt2_76 = $netstat3[76]; -my $TcpExt2_77 = $netstat3[77]; -my $TcpExt2_78 = $netstat3[78]; -my $TcpExt2_79 = $netstat3[79]; -my $TcpExt2_80 = $netstat3[80]; -my $TcpExt2_81 = $netstat3[81]; -my $TcpExt2_82 = $netstat3[82]; -my $TcpExt2_83 = $netstat3[83]; -my $TcpExt2_84 = $netstat3[84]; -my $TcpExt2_85 = $netstat3[85]; -my $TcpExt2_86 = $netstat3[86]; -my $TcpExt2_87 = $netstat3[87]; -my $TcpExt2_88 = $netstat3[88]; -my $TcpExt2_89 = $netstat3[89]; -my $TcpExt2_90 = $netstat3[90]; -my $TcpExt2_91 = $netstat3[91]; -my $TcpExt2_92 = $netstat3[92]; -my $TcpExt2_93 = $netstat3[93]; -my $TcpExt2_94 = $netstat3[94]; -my $TcpExt2_95 = $netstat3[95]; -@netstat2 = grep( /IpExt: /, @netstat1); -@netstat3 = split(/ /, $netstat2[1]); -my $Ip_Ext2_01 = $netstat3[1]; -my $Ip_Ext2_02 = $netstat3[2]; -my $Ip_Ext2_03 = $netstat3[3]; -my $Ip_Ext2_04 = $netstat3[4]; -my $Ip_Ext2_05 = $netstat3[5]; -my $Ip_Ext2_06 = $netstat3[6]; -my $Ip_Ext2_07 = $netstat3[7]; -my $Ip_Ext2_08 = $netstat3[8]; -my $Ip_Ext2_09 = $netstat3[9]; -my $Ip_Ext2_10 = $netstat3[10]; -my $Ip_Ext2_11 = $netstat3[11]; -my $Ip_Ext2_12 = $netstat3[12]; -my $Ip_Ext2_13 = $netstat3[13]; -my $Ip_Ext2_14 = $netstat3[14]; -my $Ip_Ext2_15 = $netstat3[15]; -my $Ip_Ext2_16 = $netstat3[16]; -my $Ip_Ext2_17 = $netstat3[17]; - -###################### Calcul de la dégradation entre SNMP1 et SNMP2 ###################### -my $Ip_____01 = $Ip____2_01 - $Ip____1_01; -my $Ip_____02 = $Ip____2_02 - $Ip____1_02; -my $Ip_____03 = $Ip____2_03 - $Ip____1_03; -my $Ip_____04 = $Ip____2_04 - $Ip____1_04; -my $Ip_____05 = $Ip____2_05 - $Ip____1_05; -my $Ip_____06 = $Ip____2_06 - $Ip____1_06; -my $Ip_____07 = $Ip____2_07 - $Ip____1_07; -my $Ip_____08 = $Ip____2_08 - $Ip____1_08; -my $Ip_____09 = $Ip____2_09 - $Ip____1_09; -my $Ip_____10 = $Ip____2_10 - $Ip____1_10; -my $Ip_____11 = $Ip____2_11 - $Ip____1_11; -my $Ip_____12 = $Ip____2_12 - $Ip____1_12; -my $Ip_____13 = $Ip____2_13 - $Ip____1_13; -my $Ip_____14 = $Ip____2_14 - $Ip____1_14; -my $Ip_____15 = $Ip____2_15 - $Ip____1_15; -my $Ip_____16 = $Ip____2_16 - $Ip____1_16; -my $Ip_____17 = $Ip____2_17 - $Ip____1_17; -my $Ip_____18 = $Ip____2_18 - $Ip____1_18; -my $Ip_____19 = $Ip____2_19 - $Ip____1_19; -my $Icmp___01 = $Icmp__2_01 - $Icmp__1_01; -my $Icmp___02 = $Icmp__2_02 - $Icmp__1_02; -my $Icmp___03 = $Icmp__2_03 - $Icmp__1_03; -my $Icmp___04 = $Icmp__2_04 - $Icmp__1_04; -my $Icmp___05 = $Icmp__2_05 - $Icmp__1_05; -my $Icmp___06 = $Icmp__2_06 - $Icmp__1_06; -my $Icmp___07 = $Icmp__2_07 - $Icmp__1_07; -my $Icmp___08 = $Icmp__2_08 - $Icmp__1_08; -my $Icmp___09 = $Icmp__2_09 - $Icmp__1_09; -my $Icmp___10 = $Icmp__2_10 - $Icmp__1_10; -my $Icmp___11 = $Icmp__2_11 - $Icmp__1_11; -my $Icmp___12 = $Icmp__2_12 - $Icmp__1_12; -my $Icmp___13 = $Icmp__2_13 - $Icmp__1_13; -my $Icmp___14 = $Icmp__2_14 - $Icmp__1_14; -my $Icmp___15 = $Icmp__2_15 - $Icmp__1_15; -my $Icmp___16 = $Icmp__2_16 - $Icmp__1_16; -my $Icmp___17 = $Icmp__2_17 - $Icmp__1_17; -my $Icmp___18 = $Icmp__2_18 - $Icmp__1_18; -my $Icmp___19 = $Icmp__2_19 - $Icmp__1_19; -my $Icmp___20 = $Icmp__2_20 - $Icmp__1_20; -my $Icmp___21 = $Icmp__2_21 - $Icmp__1_21; -my $Icmp___22 = $Icmp__2_22 - $Icmp__1_22; -my $Icmp___23 = $Icmp__2_23 - $Icmp__1_23; -my $Icmp___24 = $Icmp__2_24 - $Icmp__1_24; -my $Icmp___25 = $Icmp__2_25 - $Icmp__1_25; -my $Icmp___26 = $Icmp__2_26 - $Icmp__1_26; -my $Icmp___27 = $Icmp__2_27 - $Icmp__1_27; -my $IcmpMs_01 = $IcmpMs2_01 - $IcmpMs1_01; -my $IcmpMs_02 = $IcmpMs2_02 - $IcmpMs1_02; -my $Tcp____01 = $Tcp___2_01 - $Tcp___1_01; -my $Tcp____02 = $Tcp___2_02 - $Tcp___1_02; -my $Tcp____03 = $Tcp___2_03 - $Tcp___1_03; -my $Tcp____04 = $Tcp___2_04 - $Tcp___1_04; -my $Tcp____05 = $Tcp___2_05 - $Tcp___1_05; -my $Tcp____06 = $Tcp___2_06 - $Tcp___1_06; -my $Tcp____07 = $Tcp___2_07 - $Tcp___1_07; -my $Tcp____08 = $Tcp___2_08 - $Tcp___1_08; -my $Tcp____09 = $Tcp___2_09 - $Tcp___1_09; -my $Tcp____10 = $Tcp___2_10 - $Tcp___1_10; -my $Tcp____11 = $Tcp___2_11 - $Tcp___1_11; -my $Tcp____12 = $Tcp___2_12 - $Tcp___1_12; -my $Tcp____13 = $Tcp___2_13 - $Tcp___1_13; -my $Tcp____14 = $Tcp___2_14 - $Tcp___1_14; -my $Tcp____15 = $Tcp___2_15 - $Tcp___1_15; -my $Udp____01 = $Udp___2_01 - $Udp___1_01; -my $Udp____02 = $Udp___2_02 - $Udp___1_02; -my $Udp____03 = $Udp___2_03 - $Udp___1_03; -my $Udp____04 = $Udp___2_04 - $Udp___1_04; -my $Udp____05 = $Udp___2_05 - $Udp___1_05; -my $Udp____06 = $Udp___2_06 - $Udp___1_06; -my $Udp____07 = $Udp___2_07 - $Udp___1_07; -my $UdpLit_01 = $UdpLit2_01 - $UdpLit1_01; -my $UdpLit_02 = $UdpLit2_02 - $UdpLit1_02; -my $UdpLit_03 = $UdpLit2_03 - $UdpLit1_03; -my $UdpLit_04 = $UdpLit2_04 - $UdpLit1_04; -my $UdpLit_05 = $UdpLit2_05 - $UdpLit1_05; -my $UdpLit_06 = $UdpLit2_06 - $UdpLit1_06; -my $UdpLit_07 = $UdpLit2_07 - $UdpLit1_07; - -###################### Calcul de la dégradation entre NETSTAT1 et NETSTAT2 ###################### -my $TcpExt_01 = $TcpExt2_01 - $TcpExt1_01; -my $TcpExt_02 = $TcpExt2_02 - $TcpExt1_02; -my $TcpExt_03 = $TcpExt2_03 - $TcpExt1_03; -my $TcpExt_04 = $TcpExt2_04 - $TcpExt1_04; -my $TcpExt_05 = $TcpExt2_05 - $TcpExt1_05; -my $TcpExt_06 = $TcpExt2_06 - $TcpExt1_06; -my $TcpExt_07 = $TcpExt2_07 - $TcpExt1_07; -my $TcpExt_08 = $TcpExt2_08 - $TcpExt1_08; -my $TcpExt_09 = $TcpExt2_09 - $TcpExt1_09; -my $TcpExt_10 = $TcpExt2_10 - $TcpExt1_10; -my $TcpExt_11 = $TcpExt2_11 - $TcpExt1_11; -my $TcpExt_12 = $TcpExt2_12 - $TcpExt1_12; -my $TcpExt_13 = $TcpExt2_13 - $TcpExt1_13; -my $TcpExt_14 = $TcpExt2_14 - $TcpExt1_14; -my $TcpExt_15 = $TcpExt2_15 - $TcpExt1_15; -my $TcpExt_16 = $TcpExt2_16 - $TcpExt1_16; -my $TcpExt_17 = $TcpExt2_17 - $TcpExt1_17; -my $TcpExt_18 = $TcpExt2_18 - $TcpExt1_18; -my $TcpExt_19 = $TcpExt2_19 - $TcpExt1_19; -my $TcpExt_20 = $TcpExt2_20 - $TcpExt1_20; -my $TcpExt_21 = $TcpExt2_21 - $TcpExt1_21; -my $TcpExt_22 = $TcpExt2_22 - $TcpExt1_22; -my $TcpExt_23 = $TcpExt2_23 - $TcpExt1_23; -my $TcpExt_24 = $TcpExt2_24 - $TcpExt1_24; -my $TcpExt_25 = $TcpExt2_25 - $TcpExt1_25; -my $TcpExt_26 = $TcpExt2_26 - $TcpExt1_26; -my $TcpExt_27 = $TcpExt2_27 - $TcpExt1_27; -my $TcpExt_28 = $TcpExt2_28 - $TcpExt1_28; -my $TcpExt_29 = $TcpExt2_29 - $TcpExt1_29; -my $TcpExt_30 = $TcpExt2_30 - $TcpExt1_30; -my $TcpExt_31 = $TcpExt2_31 - $TcpExt1_31; -my $TcpExt_32 = $TcpExt2_32 - $TcpExt1_32; -my $TcpExt_33 = $TcpExt2_33 - $TcpExt1_33; -my $TcpExt_34 = $TcpExt2_34 - $TcpExt1_34; -my $TcpExt_35 = $TcpExt2_35 - $TcpExt1_35; -my $TcpExt_36 = $TcpExt2_36 - $TcpExt1_36; -my $TcpExt_37 = $TcpExt2_37 - $TcpExt1_37; -my $TcpExt_38 = $TcpExt2_38 - $TcpExt1_38; -my $TcpExt_39 = $TcpExt2_39 - $TcpExt1_39; -my $TcpExt_40 = $TcpExt2_40 - $TcpExt1_40; -my $TcpExt_41 = $TcpExt2_41 - $TcpExt1_41; -my $TcpExt_42 = $TcpExt2_42 - $TcpExt1_42; -my $TcpExt_43 = $TcpExt2_43 - $TcpExt1_43; -my $TcpExt_44 = $TcpExt2_44 - $TcpExt1_44; -my $TcpExt_45 = $TcpExt2_45 - $TcpExt1_45; -my $TcpExt_46 = $TcpExt2_46 - $TcpExt1_46; -my $TcpExt_47 = $TcpExt2_47 - $TcpExt1_47; -my $TcpExt_48 = $TcpExt2_48 - $TcpExt1_48; -my $TcpExt_49 = $TcpExt2_49 - $TcpExt1_49; -my $TcpExt_50 = $TcpExt2_50 - $TcpExt1_50; -my $TcpExt_51 = $TcpExt2_51 - $TcpExt1_51; -my $TcpExt_52 = $TcpExt2_52 - $TcpExt1_52; -my $TcpExt_53 = $TcpExt2_53 - $TcpExt1_53; -my $TcpExt_54 = $TcpExt2_54 - $TcpExt1_54; -my $TcpExt_55 = $TcpExt2_55 - $TcpExt1_55; -my $TcpExt_56 = $TcpExt2_56 - $TcpExt1_56; -my $TcpExt_57 = $TcpExt2_57 - $TcpExt1_57; -my $TcpExt_58 = $TcpExt2_58 - $TcpExt1_58; -my $TcpExt_59 = $TcpExt2_59 - $TcpExt1_59; -my $TcpExt_60 = $TcpExt2_60 - $TcpExt1_60; -my $TcpExt_61 = $TcpExt2_61 - $TcpExt1_61; -my $TcpExt_62 = $TcpExt2_62 - $TcpExt1_62; -my $TcpExt_63 = $TcpExt2_63 - $TcpExt1_63; -my $TcpExt_64 = $TcpExt2_64 - $TcpExt1_64; -my $TcpExt_65 = $TcpExt2_65 - $TcpExt1_65; -my $TcpExt_66 = $TcpExt2_66 - $TcpExt1_66; -my $TcpExt_67 = $TcpExt2_67 - $TcpExt1_67; -my $TcpExt_68 = $TcpExt2_68 - $TcpExt1_68; -my $TcpExt_69 = $TcpExt2_69 - $TcpExt1_69; -my $TcpExt_70 = $TcpExt2_70 - $TcpExt1_70; -my $TcpExt_71 = $TcpExt2_71 - $TcpExt1_71; -my $TcpExt_72 = $TcpExt2_72 - $TcpExt1_72; -my $TcpExt_73 = $TcpExt2_73 - $TcpExt1_73; -my $TcpExt_74 = $TcpExt2_74 - $TcpExt1_74; -my $TcpExt_75 = $TcpExt2_75 - $TcpExt1_75; -my $TcpExt_76 = $TcpExt2_76 - $TcpExt1_76; -my $TcpExt_77 = $TcpExt2_77 - $TcpExt1_77; -my $TcpExt_78 = $TcpExt2_78 - $TcpExt1_78; -my $TcpExt_79 = $TcpExt2_79 - $TcpExt1_79; -my $TcpExt_80 = $TcpExt2_80 - $TcpExt1_80; -my $TcpExt_81 = $TcpExt2_81 - $TcpExt1_81; -my $TcpExt_82 = $TcpExt2_82 - $TcpExt1_82; -my $TcpExt_83 = $TcpExt2_83 - $TcpExt1_83; -my $TcpExt_84 = $TcpExt2_84 - $TcpExt1_84; -my $TcpExt_85 = $TcpExt2_85 - $TcpExt1_85; -my $TcpExt_86 = $TcpExt2_86 - $TcpExt1_86; -my $TcpExt_87 = $TcpExt2_87 - $TcpExt1_87; -my $TcpExt_88 = $TcpExt2_88 - $TcpExt1_88; -my $TcpExt_89 = $TcpExt2_89 - $TcpExt1_89; -my $TcpExt_90 = $TcpExt2_90 - $TcpExt1_90; -my $TcpExt_91 = $TcpExt2_91 - $TcpExt1_91; -my $TcpExt_92 = $TcpExt2_92 - $TcpExt1_92; -my $TcpExt_93 = $TcpExt2_93 - $TcpExt1_93; -my $TcpExt_94 = $TcpExt2_94 - $TcpExt1_94; -my $TcpExt_95 = $TcpExt2_95 - $TcpExt1_95; -my $Ip_Ext_01 = $Ip_Ext2_01 - $Ip_Ext1_01; -my $Ip_Ext_02 = $Ip_Ext2_02 - $Ip_Ext1_02; -my $Ip_Ext_03 = $Ip_Ext2_03 - $Ip_Ext1_03; -my $Ip_Ext_04 = $Ip_Ext2_04 - $Ip_Ext1_04; -my $Ip_Ext_05 = $Ip_Ext2_05 - $Ip_Ext1_05; -my $Ip_Ext_06 = $Ip_Ext2_06 - $Ip_Ext1_06; -my $Ip_Ext_07 = $Ip_Ext2_07 - $Ip_Ext1_07; -my $Ip_Ext_08 = $Ip_Ext2_08 - $Ip_Ext1_08; -my $Ip_Ext_09 = $Ip_Ext2_09 - $Ip_Ext1_09; -my $Ip_Ext_10 = $Ip_Ext2_10 - $Ip_Ext1_10; -my $Ip_Ext_11 = $Ip_Ext2_11 - $Ip_Ext1_11; -my $Ip_Ext_12 = $Ip_Ext2_12 - $Ip_Ext1_12; -my $Ip_Ext_13 = $Ip_Ext2_13 - $Ip_Ext1_13; -my $Ip_Ext_14 = $Ip_Ext2_14 - $Ip_Ext1_14; -my $Ip_Ext_15 = $Ip_Ext2_15 - $Ip_Ext1_15; -my $Ip_Ext_16 = $Ip_Ext2_16 - $Ip_Ext1_16; -my $Ip_Ext_17 = $Ip_Ext2_17 - $Ip_Ext1_17; - -###################### Post-traitelment données brut CURL ###################### -my @curl2 = split(/-/, $curl1[0]); - -##### speed_download -$curl2[0] =~ s/,/\./; # remplacer la 1ére virgule par un point -my $debit_tout_inclus = 8 * $curl2[0] /1000000; - -##### DNS -$curl2[1] =~ s/,/\./; # remplacer la 1ére virgule par un point -my $dns = 1000 * $curl2[1]; - -##### time_connect (inclus : DNS) -$curl2[2] =~ s/,/\./; # remplacer la 1ére virgule par un point -my $dns_time_connect = 1000 * $curl2[2]; - -##### time_starttransfer (inclus : DNS + time_connect) -$curl2[3] =~ s/,/\./; # remplacer la 1ére virgule par un point -my $dns_ping_start = 1000 * $curl2[3]; - -##### time_total (inclus : DNS + time_connect + time_starttransfer) -$curl2[4] =~ s/,/\./; # remplacer la 1ére virgule par un point -my $time_total = 1000 * $curl2[4]; - -##### size_download -my $taille = $curl2[5] /1000000; - -##### calculs -my $ping_tcp = $dns_time_connect - $dns; -my $start_transfer = $dns_ping_start - $dns_time_connect; -my $temps_download = $time_total - $dns_ping_start; - -###################### Calcul du débit utile : Si division par 0, on quitte proprement ###################### -if ("$temps_download" eq "0") { - if("$type_test" eq "download") { - close LOG; die ("Erreur, le serveur $serveur_url ne semble pas répondre\n"); - } - if("$type_test" eq "upload") { - close LOG; die ("Erreur, le fichier indiqué $fichier est vide ou le serveur $serveur_url ne répond pas en upload\n"); - } -} -my $debit_utile = 8000 * $taille / $temps_download; - -###################### Sortie texte vers le fichier de LOG ###################### -print LOG ("#####################################################################################\n"); -print LOG ("###################### Résultats du test du $Date à $Heure\n"); -if("$type_test" eq "download") { - print LOG ("###################### Téléchargement d'un fichier de $taille Mo en IPv$serveur_proto\n"); -} -if("$type_test" eq "upload") { - print LOG ("###################### Upload d'un fichier de $taille Mo (avec HTTP POST) en IPv$serveur_proto\n"); -} -print LOG ("#####################################################################################\n"); -print LOG ("Débit moyen utile (DNS + SYN exclu): $debit_utile Mb/s\n"); -print LOG ("Débit moyen réel (temps1+t2+t3+t4): $debit_tout_inclus Mb/s\n"); -print LOG ("Temps1: résolution DNS : $dns ms\n"); -print LOG ("Temps2: connexion [SYN]+[SYN ACK] : $ping_tcp ms\n"); -print LOG ("Temps3: entre [SYN ACK] et 1er paq : $start_transfer ms\n"); -print LOG ("Somme de Temps1 + Temps2 + Temps3 : $dns_ping_start ms\n"); -print LOG ("Temps4: temps de transfert utile : $temps_download ms\n"); -print LOG ("Taille utile transférée : $taille Mo\n"); -if("$type_test" eq "upload") { - print LOG ("Fichier local utilisé pour l'upload: $fichier\n"); -} -print LOG ("###################### Statistiques TCP ######################\n"); -if ("$Tcp____05" ne "0") {print LOG ("Tcp 05 ActiveOpens : $Tcp____05 connexions actives ouvertes\n"); } -if ("$Tcp____06" ne "0") {print LOG ("Tcp 06 PassiveOpens : $Tcp____06 connexions passives ouvertes\n"); } -if ("$Tcp____10" ne "0") {print LOG ("Tcp 10 InSegs : $Tcp____10 segments TCP reçus\n"); } -if ("$Tcp____11" ne "0") {print LOG ("Tcp 11 OutSegs : $Tcp____11 segments TCP envoyés\n"); } -if ("$TcpExt_26" ne "0") {print LOG ("TcpExt 26 TCPHPHits : $TcpExt_26 en-têtes de paquets TCP prédits\n"); } -if ("$TcpExt_28" ne "0") {print LOG ("TcpExt 28 TCPPureAcks : $TcpExt_28 acquittement reçu sans données utiles\n"); } -if ("$TcpExt_29" ne "0") {print LOG ("TcpExt 29 TCPHPAcks : $TcpExt_29 accusés de réception prédits\n"); } -if ("$TcpExt_83" ne "0") {print LOG ("TcpExt 83 TCPRcvCoalesce : $TcpExt_83\n"); } - -print LOG ("###################### Statistiques UDP / ICMP ######################\n"); -if ("$Udp____01" ne "0") {print LOG ("Udp 01 InDatagrams : $Udp____01 paquets UDP reçus\n"); } -if ("$Udp____04" ne "0") {print LOG ("Udp 04 OutDatagrams : $Udp____04 paquets uDP envoyés\n"); } -if ("$UdpLit_01" ne "0") {print LOG ("UdpLit 01 InDatagrams : $UdpLit_01 paquets UDP Lite reçus\n"); } -if ("$UdpLit_04" ne "0") {print LOG ("UdpLit 04 OutDatagrams : $UdpLit_04 paquets UDP Lite envoyés\n"); } -if ("$Icmp___01" ne "0") {print LOG ("Icmp 01 InMsgs : $Icmp___01 messages ICMP reçus\n"); } -if ("$Icmp___09" ne "0") {print LOG ("Icmp 09 InEchos : $Icmp___09 requêtes d'écho reçus\n"); } -if ("$Icmp___10" ne "0") {print LOG ("Icmp 10 InEchoReps : $Icmp___10 réponses à écho reçus\n"); } -if ("$Icmp___15" ne "0") {print LOG ("Icmp 15 OutMsgs : $Icmp___15 messages ICMP envoyés\n"); } -if ("$Icmp___22" ne "0") {print LOG ("Icmp 22 OutEchos : $Icmp___22 requêtes d'écho envoyés\n"); } -if ("$Icmp___23" ne "0") {print LOG ("Icmp 23 OutEchoReps : $Icmp___23 réponses à écho envoyés\n"); } -if ("$IcmpMs_01" ne "0") {print LOG ("IcmpMs 01 InType3 : $IcmpMs_01 messages ICMP reçus de type3\n"); } -if ("$IcmpMs_02" ne "0") {print LOG ("IcmpMs 02 OutType3 : $IcmpMs_02 messages ICMP envoyés de type3\n"); } - -print LOG ("###################### Statistiques IP ######################\n"); -if ("$Ip_____03" ne "0") {print LOG ("Ip 03 InReceives : $Ip_____03 paquets reçus au total\n"); } -if ("$Ip_____09" ne "0") {print LOG ("Ip 09 InDelivers : $Ip_____09 paquets entrants délivrés\n"); } -if ("$Ip_____10" ne "0") {print LOG ("Ip 10 OutRequests : $Ip_____10 requêtes envoyées\n"); } -if ("$Ip_Ext_03" ne "0") {print LOG ("Ip Ext 03 InMcastPkts : $Ip_Ext_03 paquets multicast reçus\n"); } -if ("$Ip_Ext_04" ne "0") {print LOG ("Ip Ext 04 OutMcastPkts : $Ip_Ext_04 paquets multicast envoyés\n"); } -if ("$Ip_Ext_05" ne "0") {print LOG ("Ip Ext 05 InBcastPkts : $Ip_Ext_05 paquets broadcast reçus\n"); } -if ("$Ip_Ext_06" ne "0") {print LOG ("Ip Ext 06 OutBcastPkts : $Ip_Ext_06 paquets broadcast envoyés\n"); } -if ("$Ip_Ext_07" ne "0") {print LOG ("Ip Ext 07 InOctets : $Ip_Ext_07 octets reçus\n"); } -if ("$Ip_Ext_08" ne "0") {print LOG ("Ip Ext 08 OutOctets : $Ip_Ext_08 octets envoyées\n"); } -if ("$Ip_Ext_09" ne "0") {print LOG ("Ip Ext 09 InMcastOctets : $Ip_Ext_09 octets multicast reçus\n"); } -if ("$Ip_Ext_10" ne "0") {print LOG ("Ip Ext 10 OutMcastOctets : $Ip_Ext_10 octets multicast envoyés\n"); } -if ("$Ip_Ext_11" ne "0") {print LOG ("Ip Ext 11 InBcastOctets : $Ip_Ext_11 octets broadcast reçus\n"); } -if ("$Ip_Ext_12" ne "0") {print LOG ("Ip Ext 12 OutBcastOctets : $Ip_Ext_12 octets broadcast envoyés\n"); } -if ("$Ip_Ext_14" ne "0") {print LOG ("Ip Ext 14 InNoECTPkts : $Ip_Ext_14\n"); } - -###################### Calcul du % de perte de paquets: Si division par 0, on quitte proprement ###################### -if("$type_test" eq "download") { - if ("$Tcp____10" eq "0") { - close LOG; die ("Erreur, le serveur $serveur_url ne semble pas répondre\n"); - } - print LOG ("###################### Anomalies pendant le transfert download ######################\n"); - $perte = $TcpExt_84 * 100 / $Tcp____10; - print LOG ("Paquets acquités par un [Dup ACK] : $perte % (si >0, signifie la présence de pertes de paquets)\n"); -} -if("$type_test" eq "upload") { - if ("$Tcp____11" eq "0") { - close LOG; die ("Erreur, le fichier indiqué $fichier est vide ou le serveur $serveur_url ne répond pas en upload\n"); - } - print LOG ("###################### Anomalies pendant le transfert upload ######################\n"); - $perte = $Tcp____12 * 100 / $Tcp____11; - print LOG ("Pourcentage de paquets retransmis : $perte % (c'est le pourcentage de paquets perdus)\n"); -} -if ("$Tcp____01" ne "0") {$anomalie++; print LOG ("Tcp 01 RtoAlgorithm (fixe 1 ?) : $Tcp____01\n"); } -if ("$Tcp____02" ne "0") {$anomalie++; print LOG ("Tcp 02 RtoMin (fixe 200 ?) : $Tcp____02\n"); } -if ("$Tcp____03" ne "0") {$anomalie++; print LOG ("Tcp 03 RtoMax (fixe 120000 ?) : $Tcp____03\n"); } -if ("$Tcp____04" ne "0") {$anomalie++; print LOG ("Tcp 04 MaxConn(fixe -1 ?) : $Tcp____04\n"); } -if ("$Tcp____07" ne "0") {$anomalie++; print LOG ("Tcp 07 AttemptFails : $Tcp____07 tentatives de connexion échouées\n"); } -if ("$Tcp____08" ne "0") {$anomalie++; print LOG ("Tcp 08 EstabResets : $Tcp____08 Réinitialisation de la connection\n"); } -if ("$Tcp____09" ne "0") {$anomalie++; print LOG ("Tcp 09 CurrEstab : $Tcp____09\n"); } -if ("$Tcp____12" ne "0") {$anomalie++; print LOG ("Tcp 12 RetransSegs (upload only): $Tcp____12 paquets TCP perdus en upload\n"); } -if ("$Tcp____13" ne "0") {$anomalie++; print LOG ("Tcp 13 InErrs : $Tcp____13 mauvais segments reçus\n"); } -if ("$Tcp____14" ne "0") {$anomalie++; print LOG ("Tcp 14 OutRsts : $Tcp____14 réinitailisations envoyées\n"); } -if ("$Tcp____15" ne "0") {$anomalie++; print LOG ("Tcp 15 InCsumErrors : $Tcp____15\n"); } -if ("$TcpExt_01" ne "0") {$anomalie++; print LOG ("TcpExt 01 SyncookiesSent : $TcpExt_01\n"); } -if ("$TcpExt_02" ne "0") {$anomalie++; print LOG ("TcpExt 02 SyncookiesRecv : $TcpExt_02\n"); } -if ("$TcpExt_03" ne "0") {$anomalie++; print LOG ("TcpExt 03 SyncookiesFailed : $TcpExt_03\n"); } -if ("$TcpExt_04" ne "0") {$anomalie++; print LOG ("TcpExt 04 EmbryonicRsts : $TcpExt_04\n"); } -if ("$TcpExt_05" ne "0") {$anomalie++; print LOG ("TcpExt 05 PruneCalled : $TcpExt_05\n"); } -if ("$TcpExt_06" ne "0") {$anomalie++; print LOG ("TcpExt 06 RcvPruned : $TcpExt_06\n"); } -if ("$TcpExt_07" ne "0") {$anomalie++; print LOG ("TcpExt 07 OfoPruned : $TcpExt_07\n"); } -if ("$TcpExt_08" ne "0") {$anomalie++; print LOG ("TcpExt 08 OutOfWindowIcmps : $TcpExt_08\n"); } -if ("$TcpExt_09" ne "0") {$anomalie++; print LOG ("TcpExt 09 LockDroppedIcmps : $TcpExt_09\n"); } -if ("$TcpExt_10" ne "0") {$anomalie++; print LOG ("TcpExt 10 ArpFilter : $TcpExt_10\n"); } -if ("$TcpExt_11" ne "0") {$anomalie++; print LOG ("TcpExt 11 TW (TW = Time Wait) : $TcpExt_11 TCP sockets finished time wait\n"); } -if ("$TcpExt_12" ne "0") {$anomalie++; print LOG ("TcpExt 12 TWRecycled (TW=Time Wait): $TcpExt_12 connexion TCP\n"); } -if ("$TcpExt_13" ne "0") {$anomalie++; print LOG ("TcpExt 13 TWKilled (TW = Time Wait): $TcpExt_13 connexion TCP\n"); } -if ("$TcpExt_14" ne "0") {$anomalie++; print LOG ("TcpExt 14 PAWSPassive : $TcpExt_14\n"); } -if ("$TcpExt_15" ne "0") {$anomalie++; print LOG ("TcpExt 15 PAWSActive : $TcpExt_15\n"); } -if ("$TcpExt_16" ne "0") {$anomalie++; print LOG ("TcpExt 16 PAWSEstab : $TcpExt_16\n"); } -if ("$TcpExt_17" ne "0") {$anomalie++; print LOG ("TcpExt 17 DelayedACKs : $TcpExt_17\n"); } -if ("$TcpExt_18" ne "0") {$anomalie++; print LOG ("TcpExt 18 DelayedACKLocked : $TcpExt_18\n"); } -if ("$TcpExt_19" ne "0") {$anomalie++; print LOG ("TcpExt 19 DelayedACKLost : $TcpExt_19\n"); } -if ("$TcpExt_20" ne "0") {$anomalie++; print LOG ("TcpExt 20 ListenOverflows : $TcpExt_20\n"); } -if ("$TcpExt_21" ne "0") {$anomalie++; print LOG ("TcpExt 21 ListenDrops : $TcpExt_21\n"); } -if ("$TcpExt_22" ne "0") {$anomalie++; print LOG ("TcpExt 22 TCPPrequeued : $TcpExt_22\n"); } -if ("$TcpExt_23" ne "0") {$anomalie++; print LOG ("TcpExt 23 TCPDirectCopyFromBacklog : $TcpExt_23\n"); } -if ("$TcpExt_24" ne "0") {$anomalie++; print LOG ("TcpExt 24 TCPDirectCopyFromPrequeue: $TcpExt_24\n"); } -if ("$TcpExt_25" ne "0") {$anomalie++; print LOG ("TcpExt 25 TCPPrequeueDropped : $TcpExt_25\n"); } -if ("$TcpExt_27" ne "0") {$anomalie++; print LOG ("TcpExt 27 TCPHPHitsToUser : $TcpExt_27\n"); } -if ("$TcpExt_30" ne "0") {$anomalie++; print LOG ("TcpExt 30 TCPRenoRecovery : $TcpExt_30\n"); } -if ("$TcpExt_31" ne "0") {$anomalie++; print LOG ("TcpExt 31 TCPSackRecovery : $TcpExt_31\n"); } -if ("$TcpExt_32" ne "0") {$anomalie++; print LOG ("TcpExt 32 TCPSACKReneging : $TcpExt_32\n"); } -if ("$TcpExt_33" ne "0") {$anomalie++; print LOG ("TcpExt 33 TCPFACKReorder : $TcpExt_33\n"); } -if ("$TcpExt_34" ne "0") {$anomalie++; print LOG ("TcpExt 34 TCPSACKReorder : $TcpExt_34\n"); } -if ("$TcpExt_35" ne "0") {$anomalie++; print LOG ("TcpExt 35 TCPRenoReorder : $TcpExt_35\n"); } -if ("$TcpExt_36" ne "0") {$anomalie++; print LOG ("TcpExt 36 TCPTSReorder : $TcpExt_36\n"); } -if ("$TcpExt_37" ne "0") {$anomalie++; print LOG ("TcpExt 37 TCPFullUndo : $TcpExt_37\n"); } -if ("$TcpExt_38" ne "0") {$anomalie++; print LOG ("TcpExt 38 TCPPartialUndo : $TcpExt_38\n"); } -if ("$TcpExt_39" ne "0") {$anomalie++; print LOG ("TcpExt 39 TCPDSACKUndo : $TcpExt_39\n"); } -if ("$TcpExt_40" ne "0") {$anomalie++; print LOG ("TcpExt 40 TCPLossUndo : $TcpExt_40\n"); } -if ("$TcpExt_41" ne "0") {$anomalie++; print LOG ("TcpExt 41 TCPLostRetransmit : $TcpExt_41\n"); } -if ("$TcpExt_42" ne "0") {$anomalie++; print LOG ("TcpExt 42 TCPRenoFailures : $TcpExt_42\n"); } -if ("$TcpExt_43" ne "0") {$anomalie++; print LOG ("TcpExt 43 TCPSackFailures : $TcpExt_43\n"); } -if ("$TcpExt_44" ne "0") {$anomalie++; print LOG ("TcpExt 44 TCPLossFailures : $TcpExt_44\n"); } -if ("$TcpExt_45" ne "0") {$anomalie++; print LOG ("TcpExt 45 TCPFastRetrans : $TcpExt_45\n"); } -if ("$TcpExt_46" ne "0") {$anomalie++; print LOG ("TcpExt 46 TCPForwardRetrans : $TcpExt_46\n"); } -if ("$TcpExt_47" ne "0") {$anomalie++; print LOG ("TcpExt 47 TCPSlowStartRetrans : $TcpExt_47\n"); } -if ("$TcpExt_48" ne "0") {$anomalie++; print LOG ("TcpExt 48 TCPTimeouts : $TcpExt_48\n"); } -if ("$TcpExt_49" ne "0") {$anomalie++; print LOG ("TcpExt 49 TCPLossProbes : $TcpExt_49\n"); } -if ("$TcpExt_50" ne "0") {$anomalie++; print LOG ("TcpExt 50 TCPLossProbeRecovery : $TcpExt_50\n"); } -if ("$TcpExt_51" ne "0") {$anomalie++; print LOG ("TcpExt 51 TCPRenoRecoveryFail : $TcpExt_51\n"); } -if ("$TcpExt_52" ne "0") {$anomalie++; print LOG ("TcpExt 52 TCPSackRecoveryFail : $TcpExt_52\n"); } -if ("$TcpExt_53" ne "0") {$anomalie++; print LOG ("TcpExt 53 TCPSchedulerFailed : $TcpExt_53\n"); } -if ("$TcpExt_54" ne "0") {$anomalie++; print LOG ("TcpExt 54 TCPRcvCollapsed : $TcpExt_54\n"); } -if ("$TcpExt_55" ne "0") {$anomalie++; print LOG ("TcpExt 55 TCPDSACKOldSent : $TcpExt_55\n"); } -if ("$TcpExt_56" ne "0") {$anomalie++; print LOG ("TcpExt 56 TCPDSACKOfoSent : $TcpExt_56\n"); } -if ("$TcpExt_57" ne "0") {$anomalie++; print LOG ("TcpExt 57 TCPDSACKRecv : $TcpExt_57\n"); } -if ("$TcpExt_58" ne "0") {$anomalie++; print LOG ("TcpExt 58 TCPDSACKOfoRecv : $TcpExt_58\n"); } -if ("$TcpExt_59" ne "0") {$anomalie++; print LOG ("TcpExt 59 TCPAbortOnData : $TcpExt_59\n"); } -if ("$TcpExt_60" ne "0") {$anomalie++; print LOG ("TcpExt 60 TCPAbortOnClose : $TcpExt_60\n"); } -if ("$TcpExt_61" ne "0") {$anomalie++; print LOG ("TcpExt 61 TCPAbortOnMemory : $TcpExt_61\n"); } -if ("$TcpExt_62" ne "0") {$anomalie++; print LOG ("TcpExt 62 TCPAbortOnTimeout : $TcpExt_62\n"); } -if ("$TcpExt_63" ne "0") {$anomalie++; print LOG ("TcpExt 63 TCPAbortOnLinger : $TcpExt_63\n"); } -if ("$TcpExt_64" ne "0") {$anomalie++; print LOG ("TcpExt 64 TCPAbortFailed : $TcpExt_64\n"); } -if ("$TcpExt_65" ne "0") {$anomalie++; print LOG ("TcpExt 65 TCPMemoryPressures : $TcpExt_65\n"); } -if ("$TcpExt_66" ne "0") {$anomalie++; print LOG ("TcpExt 66 TCPSACKDiscard : $TcpExt_66\n"); } -if ("$TcpExt_67" ne "0") {$anomalie++; print LOG ("TcpExt 67 TCPDSACKIgnoredOld : $TcpExt_67\n"); } -if ("$TcpExt_68" ne "0") {$anomalie++; print LOG ("TcpExt 68 TCPDSACKIgnoredNoUndo : $TcpExt_68\n"); } -if ("$TcpExt_69" ne "0") {$anomalie++; print LOG ("TcpExt 69 TCPSpuriousRTOs : $TcpExt_69\n"); } -if ("$TcpExt_70" ne "0") {$anomalie++; print LOG ("TcpExt 70 TCPMD5NotFound : $TcpExt_70\n"); } -if ("$TcpExt_71" ne "0") {$anomalie++; print LOG ("TcpExt 71 TCPMD5Unexpected : $TcpExt_71\n"); } -if ("$TcpExt_72" ne "0") {$anomalie++; print LOG ("TcpExt 72 TCPSackShifted : $TcpExt_72\n"); } -if ("$TcpExt_73" ne "0") {$anomalie++; print LOG ("TcpExt 73 TCPSackMerged : $TcpExt_73\n"); } -if ("$TcpExt_74" ne "0") {$anomalie++; print LOG ("TcpExt 74 TCPSackShiftFallback : $TcpExt_74\n"); } -if ("$TcpExt_75" ne "0") {$anomalie++; print LOG ("TcpExt 75 TCPBacklogDrop : $TcpExt_75\n"); } -if ("$TcpExt_76" ne "0") {$anomalie++; print LOG ("TcpExt 76 TCPMinTTLDrop : $TcpExt_76\n"); } -if ("$TcpExt_77" ne "0") {$anomalie++; print LOG ("TcpExt 77 TCPDeferAcceptDrop : $TcpExt_77\n"); } -if ("$TcpExt_78" ne "0") {$anomalie++; print LOG ("TcpExt 78 IPReversePathFilter : $TcpExt_78\n"); } -if ("$TcpExt_79" ne "0") {$anomalie++; print LOG ("TcpExt 79 TCPTimeWaitOverflow : $TcpExt_79\n"); } -if ("$TcpExt_80" ne "0") {$anomalie++; print LOG ("TcpExt 80 TCPReqQFullDoCookies : $TcpExt_80\n"); } -if ("$TcpExt_81" ne "0") {$anomalie++; print LOG ("TcpExt 81 TCPReqQFullDrop : $TcpExt_81\n"); } -if ("$TcpExt_82" ne "0") {$anomalie++; print LOG ("TcpExt 82 TCPRetransFail : $TcpExt_82\n"); } -if ("$TcpExt_84" ne "0") {$anomalie++; print LOG ("TcpExt 84 TCPOFOQueue : $TcpExt_84 paquets [TCP Dup ACK]\n"); } -if ("$TcpExt_85" ne "0") {$anomalie++; print LOG ("TcpExt 85 TCPOFODrop : $TcpExt_85\n"); } -if ("$TcpExt_86" ne "0") {$anomalie++; print LOG ("TcpExt 86 TCPOFOMerge : $TcpExt_86\n"); } -if ("$TcpExt_87" ne "0") {$anomalie++; print LOG ("TcpExt 87 TCPChallengeACK : $TcpExt_87\n"); } -if ("$TcpExt_88" ne "0") {$anomalie++; print LOG ("TcpExt 88 TCPSYNChallenge : $TcpExt_88\n"); } -if ("$TcpExt_89" ne "0") {$anomalie++; print LOG ("TcpExt 89 TCPFastOpenActive : $TcpExt_89\n"); } -if ("$TcpExt_90" ne "0") {$anomalie++; print LOG ("TcpExt 90 TCPFastOpenPassive : $TcpExt_90\n"); } -if ("$TcpExt_91" ne "0") {$anomalie++; print LOG ("TcpExt 91 TCPFastOpenPassiveFail : $TcpExt_91\n"); } -if ("$TcpExt_92" ne "0") {$anomalie++; print LOG ("TcpExt 92 TCPFastOpenListenOverflow: $TcpExt_92\n"); } -if ("$TcpExt_93" ne "0") {$anomalie++; print LOG ("TcpExt 93 TCPFastOpenCookieReqd : $TcpExt_93\n"); } -if ("$TcpExt_94" ne "0") {$anomalie++; print LOG ("TcpExt 94 TCPSpuriousRtxHostQueues : $TcpExt_94\n"); } -if ("$TcpExt_95" ne "0") {$anomalie++; print LOG ("TcpExt 95 BusyPollRxPackets : $TcpExt_95\n"); } -if ("$Ip_____01" ne "0") {$anomalie++; print LOG ("Ip 01 Forwarding : $Ip_____01\n"); } -if ("$Ip_____02" ne "0") {$anomalie++; print LOG ("Ip 02 DefaultTTL : $Ip_____02\n"); } -if ("$Ip_____04" ne "0") {$anomalie++; print LOG ("Ip 04 InHdrErrors : $Ip_____04\n"); } -if ("$Ip_____05" ne "0") {$anomalie++; print LOG ("Ip 05 InAddrErrors : $Ip_____05\n"); } -if ("$Ip_____06" ne "0") {$anomalie++; print LOG ("Ip 06 ForwDatagrams : $Ip_____06 paquets\n"); } -if ("$Ip_____07" ne "0") {$anomalie++; print LOG ("Ip 07 InUnknownProtos : $Ip_____07\n"); } -if ("$Ip_____08" ne "0") {$anomalie++; print LOG ("Ip 08 InDiscards : $Ip_____08\n"); } -if ("$Ip_____11" ne "0") {$anomalie++; print LOG ("Ip 11 OutDiscards : $Ip_____11\n"); } -if ("$Ip_____12" ne "0") {$anomalie++; print LOG ("Ip 12 OutNoRoutes : $Ip_____12\n"); } -if ("$Ip_____13" ne "0") {$anomalie++; print LOG ("Ip 13 ReasmTimeout : $Ip_____13\n"); } -if ("$Ip_____14" ne "0") {$anomalie++; print LOG ("Ip 14 ReasmReqds : $Ip_____14\n"); } -if ("$Ip_____15" ne "0") {$anomalie++; print LOG ("Ip 15 ReasmOKs : $Ip_____15\n"); } -if ("$Ip_____16" ne "0") {$anomalie++; print LOG ("Ip 16 ReasmFails : $Ip_____16\n"); } -if ("$Ip_____17" ne "0") {$anomalie++; print LOG ("Ip 17 FragOKs : $Ip_____17\n"); } -if ("$Ip_____18" ne "0") {$anomalie++; print LOG ("Ip 18 FragFails : $Ip_____18\n"); } -if ("$Ip_____19" ne "0") {$anomalie++; print LOG ("Ip 19 FragCreates : $Ip_____19\n"); } -if ("$Ip_Ext_01" ne "0") {$anomalie++; print LOG ("Ip Ext 01 InNoRoutes : $Ip_Ext_01 paquets\n"); } -if ("$Ip_Ext_02" ne "0") {$anomalie++; print LOG ("Ip Ext 02 InTruncatedPkts : $Ip_Ext_02 paquets\n"); } -if ("$Ip_Ext_13" ne "0") {$anomalie++; print LOG ("Ip Ext 13 InCsumErrors : $Ip_Ext_13 paquets\n"); } -if ("$Ip_Ext_15" ne "0") {$anomalie++; print LOG ("Ip Ext 15 InECT1Pkts : $Ip_Ext_15 paquets\n"); } -if ("$Ip_Ext_16" ne "0") {$anomalie++; print LOG ("Ip Ext 16 InECT0Pkts : $Ip_Ext_16 paquets\n"); } -if ("$Ip_Ext_17" ne "0") {$anomalie++; print LOG ("Ip Ext 17 InCEPkts : $Ip_Ext_17 paquets\n"); } -if ("$Udp____02" ne "0") {$anomalie++; print LOG ("Udp 02 NoPorts : $Udp____02 paquets UDP\n"); } -if ("$Udp____03" ne "0") {$anomalie++; print LOG ("Udp 03 InErrors : $Udp____03 paquets UDP\n"); } -if ("$Udp____05" ne "0") {$anomalie++; print LOG ("Udp 05 RcvbufErrors : $Udp____05\n"); } -if ("$Udp____06" ne "0") {$anomalie++; print LOG ("Udp 06 SndbufErrors : $Udp____06\n"); } -if ("$Udp____07" ne "0") {$anomalie++; print LOG ("Udp 07 InCsumErrors : $Udp____07 paquets UDP\n"); } -if ("$UdpLit_02" ne "0") {$anomalie++; print LOG ("UdpLit 02 NoPorts : $UdpLit_02 paquets UDP Lite\n"); } -if ("$UdpLit_03" ne "0") {$anomalie++; print LOG ("UdpLit 03 InErrors : $UdpLit_03 paquets UDP Lite\n"); } -if ("$UdpLit_05" ne "0") {$anomalie++; print LOG ("UdpLit 05 RcvbufErrors : $UdpLit_05\n"); } -if ("$UdpLit_06" ne "0") {$anomalie++; print LOG ("UdpLit 06 SndbufErrors : $UdpLit_06\n"); } -if ("$UdpLit_07" ne "0") {$anomalie++; print LOG ("UdpLit 07 InCsumErrors : $UdpLit_07 paquets ICMP\n"); } -if ("$Icmp___02" ne "0") {$anomalie++; print LOG ("Icmp 02 InErrors : $Icmp___02 paquets ICMP\n"); } -if ("$Icmp___03" ne "0") {$anomalie++; print LOG ("Icmp 03 InCsumErrors : $Icmp___03 paquets ICMP\n"); } -if ("$Icmp___04" ne "0") {$anomalie++; print LOG ("Icmp 04 InDestUnreachs : $Icmp___04 destination injoignable reçus\n"); } -if ("$Icmp___05" ne "0") {$anomalie++; print LOG ("Icmp 05 InTimeExcds : $Icmp___05 temps dépassé reçus\n"); } -if ("$Icmp___06" ne "0") {$anomalie++; print LOG ("Icmp 06 InParmProbs : $Icmp___06 paquets ICMP\n"); } -if ("$Icmp___07" ne "0") {$anomalie++; print LOG ("Icmp 07 InSrcQuenchs : $Icmp___07 paquets ICMP\n"); } -if ("$Icmp___08" ne "0") {$anomalie++; print LOG ("Icmp 08 InRedirects : $Icmp___08 paquets ICMP\n"); } -if ("$Icmp___11" ne "0") {$anomalie++; print LOG ("Icmp 11 InTimestamps : $Icmp___11 paquets ICMP\n"); } -if ("$Icmp___12" ne "0") {$anomalie++; print LOG ("Icmp 12 InTimestampReps : $Icmp___12 paquets ICMP\n"); } -if ("$Icmp___13" ne "0") {$anomalie++; print LOG ("Icmp 13 InAddrMasks : $Icmp___13 paquets ICMP\n"); } -if ("$Icmp___14" ne "0") {$anomalie++; print LOG ("Icmp 14 InAddrMaskReps : $Icmp___14 paquets ICMP\n"); } -if ("$Icmp___16" ne "0") {$anomalie++; print LOG ("Icmp 16 OutErrors : $Icmp___16 paquets ICMP\n"); } -if ("$Icmp___17" ne "0") {$anomalie++; print LOG ("Icmp 17 OutDestUnreachs : $Icmp___17 destination injoignable envoyées\n"); } -if ("$Icmp___18" ne "0") {$anomalie++; print LOG ("Icmp 18 OutTimeExcds : $Icmp___18 temps dépassé envoyées\n"); } -if ("$Icmp___19" ne "0") {$anomalie++; print LOG ("Icmp 19 OutParmProbs : $Icmp___19 paquets ICMP\n"); } -if ("$Icmp___20" ne "0") {$anomalie++; print LOG ("Icmp 20 OutSrcQuenchs : $Icmp___20 paquets ICMP\n"); } -if ("$Icmp___21" ne "0") {$anomalie++; print LOG ("Icmp 21 OutRedirects : $Icmp___21 paquets ICMP\n"); } -if ("$Icmp___24" ne "0") {$anomalie++; print LOG ("Icmp 24 OutTimestamps : $Icmp___24 paquets ICMP\n"); } -if ("$Icmp___25" ne "0") {$anomalie++; print LOG ("Icmp 25 OutTimestampReps : $Icmp___25 paquets ICMP\n"); } -if ("$Icmp___26" ne "0") {$anomalie++; print LOG ("Icmp 26 OutAddrMasks : $Icmp___26 paquets ICMP\n"); } -if ("$Icmp___27" ne "0") {$anomalie++; print LOG ("Icmp 27 OutAddrMaskReps : $Icmp___27 paquets ICMP\n"); } -$anomalie_critique = $Tcp____08 + $Tcp____13 + $Tcp____14; -print LOG ("=> Nombre d'anomalies listées : $anomalie anomalie(s) dont $anomalie_critique critique(s)\n\n\n"); -close LOG; - -###################### Sortie texte simplifiée vers la console ###################### - -if("$type_test" eq "download") { - print ("Téléchargement d'un fichier de $taille Mo en IPv$serveur_proto le $Date à $Heure :\n"); -} -if("$type_test" eq "upload") { - print ("Upload d'un fichier de $taille Mo (avec HTTP POST) en IPv$serveur_proto le $Date à $Heure :\n"); -} -print ("Débit moyen : $debit_utile Mb/s ($debit_tout_inclus Mb/s en incluant le temps de connexion)\n"); -print ("Ping TCP : $ping_tcp ms\n"); -print ("Temps résolution DNS : $dns ms\n"); -print ("Temps de connexion : $dns_ping_start ms (inclus temps DNS)\n"); -if("$type_test" eq "download") { - print ("Paquets [TCP Dup ACK]: $perte % (si >0, signifie la présence de pertes de paquets)\n"); -} -if("$type_test" eq "upload") { - print ("Paquets perdus : $perte %\n"); -} -print ("Nombre d'anomalies : $anomalie dont $anomalie_critique critique(s) - détails dans $LOGFILE_NAME\n\n"); diff --git a/bin/undock b/bin/undock deleted file mode 100755 index 1b511eeb..00000000 --- a/bin/undock +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -killall mbsync 2>/dev/null -for DP in DP1 DP2 DP3; do - xrandr --output $DP --off - #xrandr --output VIRTUAL1 --off -done -pacmd set-sink-port 0 analog-output-speaker -sleep 2 -for W in $(seq 1 10); do - i3-msg "workspace $W; move workspace to output LVDS1" -done diff --git a/bin/vbox-forward.sh b/bin/vbox-forward.sh deleted file mode 100755 index 8395a712..00000000 --- a/bin/vbox-forward.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -# Enable masquerading of host-only virtualbox network - -VBOX_NETWORK='192.168.56.0/24' - -# Might retur multiple routes (for wired and wifi) -# OUT_IF=$(ip route show to 0.0.0.0/0 | awk '{print $5}') -OUT_IF=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $5}') -LOCAL_IFS=$(ip link show up | grep -B1 'link/ether' | awk '/^[0-9]*:/ {print $2}' | sed 's/:$//') - -if ! echo "$LOCAL_IFS" | grep -q "$OUT_IF"; then - printf "$OUT_IF is invalid!\n" - printf "Output interface should be one of:\n" - printf "$LOCAL_IFS\n" - exit 1 -fi - - -# XXX OUT_IF should only contain one IP -# XXX Add a check for this - -# Enable forwarding -sudo sysctl -q -w net.ipv4.ip_forward=1 - -# Activate Masquerading of host-only network -sudo iptables -A FORWARD -o "$OUT_IF" -i vboxnet0 -s "$VBOX_NETWORK" -m conntrack --ctstate NEW -j ACCEPT -sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -sudo iptables -A POSTROUTING -t nat -j MASQUERADE diff --git a/bin/vbox-route b/bin/vbox-route deleted file mode 100755 index 92a6c90c..00000000 --- a/bin/vbox-route +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -sudo ip l s vboxnet0 up -sudo ip a add 192.168.56.1/24 dev vboxnet0 diff --git a/bin/wit_iso_to_wbfs.sh b/bin/wit_iso_to_wbfs.sh deleted file mode 100755 index d4a831b2..00000000 --- a/bin/wit_iso_to_wbfs.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - - -if [ $# -ne 1 ]; then - >&2 printf 'Please give an iso as parameter.\n' - exit 1 -else - iso="$1" - if [ ! -r "$iso" ]; then - >&2 printf "$iso does not exist!\n" - exit 1 - fi -fi - - -wit CP --wbfs --prealloc --progress --split "$iso" --dest '%I_%T/%I.%E' diff --git a/config/afew/config b/config/afew/config deleted file mode 100644 index be9602fc..00000000 --- a/config/afew/config +++ /dev/null @@ -1,141 +0,0 @@ -# global configuration -[global] - -# Add tag spam to spams -[SpamFilter] -spam_tag = spam - -# [ClassifyingFilter] - -[KillThreadsFilter] -[ListMailsFilter] - -# XXX not done? -# notmuch tag +spam +perso -- folder:'Perso/Spam' -# notmuch tag +spam +egi -- folder:'EGI/Spam' - -# Add a tag based on the message's folder -[FolderNameFilter] -# Create lowercase tags -folder_lowercases = true -# Spilt folder hierarchy in multiple tags -# ie. perso spam for messages in 'Perso/Spam' folder -maildir_separator = / -# Inbox will be handled by the inbox filter -folder_blacklist = 'EGI/Inbox' 'Perso/Inbox' 'Perso/Archive' - -[Filter.1] -message = Tag Perso mails -query = to:baptiste@bapt.name OR from:baptiste@bapt.name OR from:gwarf@gwarf.org OR to:gwarf@gwarf.org -tags = +perso - -[Filter.2] -message = Tag Gnubila mails -query = from:bgrenier@gnubila.fr OR to:bgrenier@gnubila.fr OR from:bgrenier@gnubila.com OR to:bgrenier@gnubila.com OR from:bgrenier@maatg.fr OR to:bgrenier@maatg.fr -tags = +gnubila - -[Filter.3] -message = Tag HealthGrid mails -query = from:baptiste.grenier@healthgrid.org OR to:baptiste.grenier@healthgrid.org -tags = +healthgrid - -[Filter.4] -message = Tag EGI mails -query = from:baptiste.grenier@egi.eu OR to:baptiste.grenier@egi.eu -tags = +egi - -[Filter.5] -message = Tag Office mails -query = to:office@mailman.egi.eu OR tag:lists/office -tags = +office - -[Filter.6] -message = Tag Operations mails -query = to:operations@mailman.egi.eu OR tag:lists/operations -tags = +operations - -# XXX Empty, to test -[Filter.7] -message = Tag starred and important messages as important -query = folder:'EGI/Starred' OR folder:'EGI/Important' OR tag:starred -tags = +important;+starred - -# XXX not done -# notmuch tag +egi +all -- folder:'EGI/All' -[Filter.8] -message = Tag EGI all -query = folder:'EGI/All' -tags = +all - -# XXX not done -# notmuch tag +perso +all -- folder:'Perso/Archives' OR folder:'Perso/Archives.2015' OR folder:'Perso/Archives.2016'OR folder:'Perso/_Read' -[Filter.9] -message = Tag Perso archive -query = folder:'Perso/Archive' -tags = +perso;+all;-new - -[Filter.10] -message = Tag Sent mails -query = NOT tag:sent AND (folder:'EGI/Sent' OR folder:'Perso/Sent') -tags = +sent;-new - -# XXX not done -[Filter.11] -message = Tag messages in All but not in Inbox as read -query = folder:'EGI/All' AND tag:inbox AND NOT folder:'EGI/Inbox' -tags = +all;-new - -# XXX not done -# notmuch tag +deleted +perso -inbox -- folder:'Perso/Trash' -# notmuch tag +deleted +egi -inbox -- folder:'EGI/Trash' -[Filter.12] -message = Tag Trash messages -query = folder:'EGI/Trash' OR folder:'Perso/Trash' -tags = +deleted;-new - -[Filter.13] -message = Tag boursorama messages -query = tag:perso AND boursorama -tags = +boursorama - -[Filter.14] -message = Tag calendar invites -query = mimetype:text/calendar -tags = +invites - -[Filter.15] -message = Tag ELI/ELITRANS messags -query = 'tag:egi AND (from:/eli-/ OR to:/eli-/ OR subject:ELI)' -tags = +eli - -[Filter.16] -# XXX Need to find a way to exclude html + text emails -# XXX And signed emails with attached signature -# Query terms: attachment: mimetype: -message = Tag messags with attachments -query = attachment:* -tags = +attachment - -[ArchiveSentMailsFilter] -sent_tag = sent - -# Default inbox tagging -[InboxFilter] - -# Move some emails based on their tags -# Run separately from the afew tag run -# Useful for spam/junk -# XXX Mail manually marked as ham hould be moved to 'Perso/TrainHam' -# XXX Mail manually marked as spam hould be moved to 'Perso/TrainSpam' -[MailMover] -folders = 'EGI/Inbox' -'EGI/Inbox' = 'tag:egi AND tag:deleted':'EGI/Trash' -# folders = 'EGI/Inbox' 'EGI/Spam' 'Perso/Inbox' 'Perso/Spam' -# folders = 'Perso/Inbox' 'Perso/Spam' -# max_age = 15 -# rules -# XXX beware, take into account the All folder for Gmail accounts.. -# 'EGI/Inbox' = 'tag:egi AND tag:spam':'EGI/Spam' 'tag:egi AND tag:sent':'EGI/Sent' 'tag:egi AND NOT tag:inbox':'EGI/All' -# 'EGI/Spam' = 'tag:egi AND NOT tag:spam AND tag:inbox':'EGI/Inbox' 'tag:egi AND NOT tag:spam':'EGI/All' -# 'Perso/Inbox' = 'tag:perso AND tag:spam':'Perso/Spam' 'tag:perso AND tag:sent':'Perso/Sent' 'tag:perso AND NOT tag:inbox':'Perso/_Read' -# 'Perso/Spam' = 'tag:perso AND NOT tag:spam AND tag:inbox':'Perso/Inbox' 'tag:perso AND NOT tag:spam':'Perso/_Read' diff --git a/config/coc/ultisnips/sh.snippets b/config/coc/ultisnips/sh.snippets deleted file mode 100644 index 2ae46d50..00000000 --- a/config/coc/ultisnips/sh.snippets +++ /dev/null @@ -1,128 +0,0 @@ -# A valid snippet should starts with: -# -# snippet trigger_word [ "description" [ options ] ] -# -# and end with: -# -# endsnippet -# -# Snippet options: -# -# b - Beginning of line. -# i - In-word expansion. -# w - Word boundary. -# r - Regular expression -# e - Custom context snippet -# A - Snippet will be triggered automatically, when condition matches. -# -# Basic example: -# -# snippet emitter "emitter properties" b -# private readonly ${1} = new Emitter<$2>() -# public readonly ${1/^_(.*)/$1/}: Event<$2> = this.$1.event -# endsnippet -# -# Online reference: https://github.com/SirVer/ultisnips/blob/master/doc/UltiSnips.txt - -snippet bash_script "Creata a new safe bash script" -#!/usr/bin/env bash - -set -Eeuo pipefail -trap cleanup SIGINT SIGTERM ERR EXIT - -script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P) - -usage() { - cat <<EOF -Usage: $(basename "${BASH_SOURCE[0]}") [-h] [-v] [-f] -p param_value arg1 [arg2...] - -Script description here. - -Available options: - --h, --help Print this help and exit --v, --verbose Print script debug info --f, --flag Some flag description --p, --param Some param description -EOF - exit -} - -cleanup() { - trap - SIGINT SIGTERM ERR EXIT - # script cleanup here -} - -setup_colors() { - if [[ -t 2 ]] && [[ -z "${NO_COLOR-}" ]] && [[ "${TERM-}" != "dumb" ]]; then - NOFORMAT='\033[0m' - RED='\033[0;31m' - GREEN='\033[0;32m' - ORANGE='\033[0;33m' - BLUE='\033[0;34m' - PURPLE='\033[0;35m' - CYAN='\033[0;36m' - YELLOW='\033[1;33m' - else - NOFORMAT='' - RED='' - GREEN='' - ORANGE='' - BLUE='' - PURPLE='' - CYAN='' - YELLOW='' - fi -} - -msg() { - echo >&2 -e "${1-}" -} - -die() { - local msg=$1 - local code=${2-1} # default exit status 1 - msg "$msg" - exit "$code" -} - -parse_params() { - # default values of variables set from params - flag=0 - param='' - - while :; do - case "${1-}" in - -h | --help) usage ;; - -v | --verbose) set -x ;; - --no-color) NO_COLOR=1 ;; - -f | --flag) flag=1 ;; # example flag - -p | --param) # example named parameter - param="${2-}" - shift - ;; - -?*) die "Unknown option: $1" ;; - *) break ;; - esac - shift - done - - args=("$@") - - # check required params and arguments - [[ -z "${param-}" ]] && die "Missing required parameter: param" - [[ ${#args[@]} -eq 0 ]] && die "Missing script arguments" - - return 0 -} - -parse_params "$@" -setup_colors - -# script logic here - -msg "${RED}Read parameters:${NOFORMAT}" -msg "- flag: ${flag}" -msg "- param: ${param}" -msg "- arguments: ${args[*]-}" -endsnippet diff --git a/config/compton.conf b/config/compton.conf deleted file mode 100644 index 1975c516..00000000 --- a/config/compton.conf +++ /dev/null @@ -1,100 +0,0 @@ -# https://erikdubois.be/i3-on-linux-mint-18-1-mate-022017-update - -# Shadow -shadow = true; -no-dnd-shadow = true; -no-dock-shadow = true; -clear-shadow = true; -shadow-radius = 15; -shadow-offset-x = -15; -shadow-offset-y = -15; -shadow-opacity = 0.5; -# Shadow color -shadow-red = 0.36; -shadow-green = 0.21; -shadow-blue = 0.4; -shadow-exclude = [ - "name = 'Notification'", - "class_g ?= 'Notify-osd'", - "_GTK_FRAME_EXTENTS@:c" -] - -# Opacity -menu-opacity = 0.8; -inactive-opacity = 0.9; -frame-opacity = 0.8; -inactive-opacity-override = false; -alpha-step = 0.06; -blur-kern = "3x3box"; -blur-background = true; -blur-background-exclude = [ - "window_type = 'dock'", - "window_type = 'desktop'", - "_GTK_FRAME_EXTENTS@:c" -]; -# XXX ncmpcpp rule is not matching anything -opacity-rule = [ - "92:class_g ?= 'Termite'", - "60:class_g ?= 'ncmpcpp'", - "60:class_i ?= 'ncmpcpp'" -]; - -# Dim inactive windows. (0.0 - 1.0) -inactive-dim = 0.2; - -# Fading -fading = true; -# fade-delta = 30; -fade-in-step = 0.03; -fade-out-step = 0.03; -# no-fading-openclose = true; -# no-fading-destroyed-argb = true; -fade-exclude = [ ]; - -# Other -backend = "glx" -mark-wmwin-focused = true; -mark-ovredir-focused = true; -# use-ewmh-active-win = true; -detect-rounded-corners = true; -detect-client-opacity = true; -refresh-rate = 0; -vsync = "opengl-swc" -dbe = false; -paint-on-overlay = true; -# sw-opti = true; -# unredir-if-possible = true; -# unredir-if-possible-delay = 5000; -# unredir-if-possible-exclude = [ ]; -focus-exclude = [ "class_g = 'Cairo-clock'", "class_g ?= 'Notify-osd'" ]; -detect-transient = true; -detect-client-leader = true; -invert-color-include = [ ]; -# resize-damage = 1; - -# GLX backend -# glx-no-stencil = true; -glx-copy-from-front = false; -# glx-use-copysubbuffermesa = true; -# glx-no-rebind-pixmap = true; -glx-swap-method = "undefined"; -# glx-use-gpushader4 = true; -# xrender-sync = true; -# xrender-sync-fence = true; - -# Window type settings -wintypes: -{ - tooltip = { fade = true; shadow = true; opacity = 0.85; focus = false; }; -}; - -# glx-no-stencil = true -# #glx-copy-from-front = false -# glx-no-rebind-pixmap = true -# # XXX Might break things -# # glx-swap-method = "exchange" -# refresh-rate = 0 -# dbe = false -# paint-on-overlay = true -# sw-opti = false -# ##unredir-if-possible = true diff --git a/config/i3/config b/config/i3/config deleted file mode 100644 index a6f38d01..00000000 --- a/config/i3/config +++ /dev/null @@ -1,459 +0,0 @@ -# Example: https://gist.github.com/diyan/6192878 -# https://github.com/Airblader/dotfiles-manjaro/blob/master/.i3/config - -# i3 config file (v4) -# -# Please see http://i3wm.org/docs/userguide.html for a complete reference! - -# Sending a command to i3 from the shell: i3-msg - -# Mod1: Alt -# Mod2: Numlock -# Mod3: ? -# Mod4: LWIN, SUPR, HYPR -# Mod5: LVL3, MDSW -# Control: Control - -# Kinesis Right control: Mod4 -# Set in ~/.xinitrc using xkbcomp -# Lenovo Left windows: Mod4 -set $mod Mod4 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -font pango:Fantasque Sans Mono, FontAwesome 12 - -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -#font pango:DejaVu Sans Mono 8 - -# Gaps -# https://github.com/Airblader/i3/tree/gaps-next -gaps inner 15 -gaps outer 5 - -# smart_gaps on -# smart_borders on|no_gaps - -# No windows title/borders -new_window pixel -new_float pixel - -# solarized -client.focused #93a1a1 #073642 #93a1a1 -client.focused_inactive #586e75 #002b36 #586e75 -client.unfocused #657b83 #002b36 #657b83 -client.urgent #d33682 #073642 #d33682 - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# make things usable -#workspace_auto_back_and_forth yes -focus_follows_mouse no - -# start a terminal -# bindsym $mod+Return exec urxvtc -# bindsym $mod+Return exec terminology -bindsym $mod+Return exec termite - -# kill focused window -bindsym $mod+Shift+q kill - -# start dmenu (a program launcher) -# Shift-Enter to launch in a terminal -# Use # instead of , as requested by i3 -bindsym $mod+d exec zsh -c "rofi -combi-modi 'window#run#drun' -show combi -modi combi -terminal termite" - -# Calc using rofi and calc -# Use focus child keys... -bindsym $mod+c exec zsh -c "rofi -show calc -modi 'calc:qalc +u8 -nocurrencies'" - -# next/previous workspace -bindsym Mod1+Tab focus right -bindsym Mod1+Shift+Tab focus left -bindsym $mod+Tab workspace back_and_forth - -bindsym $mod+p workspace prev -bindsym $mod+n workspace next -bindsym $mod+Control+Left workspace prev -bindsym $mod+Control+Right workspace next - -# change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l focus right - -# move focused window -bindsym $mod+Shift+h move left -bindsym $mod+Shift+j move down -bindsym $mod+Shift+k move up -bindsym $mod+Shift+l move right - -# split in horizontal orientation -bindsym $mod+b split h - -# split in vertical orientation -bindsym $mod+v split v - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split -bindsym $mod+Shift+D layout default - -# toggle tiling / floating -bindsym $mod+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+Shift+space focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent -# focus the child container -bindsym $mod+Shift+a focus parent - -# special laptop keys -# XXX triggered on LID closing/opening -#bindsym XF86Display exec lxrandr - -# universal pause button! -#set $exi exec --no-startup-id -#bindsym Pause $exi pause-button - -# Workspace conf -set $WS1 "1: " -set $WS2 "2: " -set $WS3 "3: " -set $WS4 "4: " -set $WS5 "5:? " -set $WS6 "6: " - -workspace $WS3 output DP-4 - -# No gaps for Virtualbox -workspace $WS4 gaps inner 0 - -# switch to workspace -bindsym $mod+1 workspace $WS1 -bindsym $mod+2 workspace $WS2 -bindsym $mod+3 workspace $WS3 -bindsym $mod+4 workspace $WS4 -bindsym $mod+5 workspace $WS5 -bindsym $mod+6 workspace $WS6 - -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace $WS1 -bindsym $mod+Shift+2 move container to workspace $WS2 -bindsym $mod+Shift+3 move container to workspace $WS3 -bindsym $mod+Shift+4 move container to workspace $WS4 -bindsym $mod+Shift+5 move container to workspace $WS5 -bindsym $mod+Shift+6 move container to workspace $WS6 - -# jump to the last urgent window -bindsym $mod+u [urgent=latest] focus - -# scratchapd -# move the currently focused window to the scratchpad -bindsym $mod+m move scratchpad -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+o scratchpad show - -# move all floating windows to the scratchpad -bindsym $mod+x [floating] move scratchpad - -# pulse audio volume control -bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -- '-5%' -bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 -- '+5%' -bindsym XF86AudioMute exec pactl set-sink-volume 0 toggle -bindsym XF86Launch1 exec pactl play-sample that_was_easy - -# Brightness -bindsym XF86MonBrightnessUp exec xbacklight -inc 10 -display DP-4 -bindsym XF86MonBrightnessDown exec xbacklight -dec 5 -display DP-4 - -# Screenshot -bindsym Print exec scrot '%Y-%m-%d-%T_$wx$h_scrot.png' -e 'mv $f ~/Pictures/screenshots/' - -# move workspace to outputs -# Win, alt -bindsym $mod+Mod1+h move workspace to output left -bindsym $mod+Mod1+j move workspace to output down -bindsym $mod+Mod1+k move workspace to output up -bindsym $mod+Mod1+l move workspace to output right - -# The middle button over a titlebar kills the window -bindsym --release button2 kill - -# The middle button and a modifer over any part of the window kills the window -bindsym --whole-window $mod+button2 kill - -# The right button toggles floating -bindsym button3 floating toggle -bindsym $mod+button3 floating toggle - -# The side buttons move the window around -bindsym button9 move left -bindsym button8 move right - -# reload the configuration file -bindsym $mod+Shift+c reload -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Do you really want to exit i3 and your X session?' -b 'Yes, exit i3' 'i3-msg exit'" -# Lock screen -bindsym $mod+Control+l exec i3lock-fancy -pixelate -f Fantasque-Sans-Mono-Regular -# bindsym $mod+Control+l exec light-locker-command -l -# Ranger in a scrathpad -bindsym $mod+Control+r exec termite --name ranger -e ranger - -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym h resize shrink width 5 px or 5 ppt - bindsym j resize grow height 5 px or 5 ppt - bindsym k resize shrink height 5 px or 5 ppt - bindsym l resize grow width 5 px or 5 ppt - - # back to normal: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" - -# Manual management of external displays -# Set the shortcuts and what they do -# DFP-3: Laptop screen -# DFP-4: display port screen -set $mode_display Ext Screen (v) VGA ON, (h) HDMI ON, (x) VGA OFF, (y) HDMI OFF -mode "$mode_display" { - bindsym v exec --no-startup-id xrandr --output DFP-3 --auto --right-of DFP-4, mode "default" - bindsym h exec --no-startup-id xrandr --output DFP-4 --auto --left-of DFP-3, mode "default" - bindsym x exec --no-startup-id xrandr --output DFP-4 --auto --off, mode "default" - bindsym y exec --no-startup-id xrandr --output DFP-3 --auto --off, mode "default" - - # back to normal: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} -# Declare here the shortcut to bring the display selection menu -bindsym $mod+Shift+x mode "$mode_display" - -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -# XXX Commented to test polybar -# bar { -# status_command py3status -c ~/.config/i3/py3status.conf -# font pango:Inconsolata, Awesome 10 -# #mode hide -# #modifier $mod -# colors { -# separator #6c71c4 -# background #002b36 -# statusline #6c71c4 -# focused_workspace #fdf6e3 #859900 #fdf6e3 -# active_workspace #fdf6e3 #6c71c4 #fdf6e3 -# inactive_workspace #586e75 #93a1a1 #fdf6e3 -# urgent_workspace #d33682 #d33682 #fdf6e3 -# } -# } - -assign [class="(?i)urxvtc"] → $WS1 -assign [class="terminology"] → $WS1 -assign [class="Terminator"] → $WS1 -assign [class="(?i)termite"] → $WS1 -assign [class="Pidgin"] → $WS3 -assign [class="(?i)empathy"] → $WS3 -assign [class="Clementine"] → $WS3 -assign [class="(?i)skypeforlinux"] → $WS3 -assign [class="(?i)Skype"] → $WS3 -assign [class="(?i)Skype Preview"] → $WS3 -assign [class="(?i)virtualbox"] → $WS4 -assign [class="(?i)thunar"] → $WS5 -assign [class="(?i)nautilus"] → $WS5 -assign [class="(?i)pcmanfm"] → $WS5 -assign [class="(?i)steam"] → $WS6 - -for_window [class="Clementine"] layout tabbed -#for_window [class="okular"] layout tabbed -#for_window [class="Pcmanfm"] floating enable -#for_window [class="Thunar"] floating enable -for_window [class="Pidgin"] layouttabbed -for_window [class="Pinentry"] floating enable -for_window [class="(?i)lxappearance"] floating enable -for_window [class="(?i)skypeforlinux"] layout tabbed -for_window [class="(?i)Skype Preview"] layout tabbed -for_window [class="(?i)Skype"] layout tabbed -# for_window [class="(?i)VirtualBox"] layout tabbed fullscreen -for_window [class="(?i)VirtualBox"] layout tabbed -for_window [class="(?i)nitrogen"] floating enable - -# Pop up windows -for_window [window_role="pop-up"] floating enable -for_window [window_role="task_dialog"] floating enable -for_window [window_role="bubble"] floating enable -for_window [window_role="Preferences"] floating enable -# for_window [class="Chromium" title="Quick-Reply"] floating enable -# XXX Fix nautilus dialogs -# _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DIALOG -# WM_CLASS(STRING) = "nautilus", "Nautilus" - -# Put some apps in the scratchpad -for_window [class="(?i)keepassxc" window_type="normal"] move scratchpad -for_window [instance="ncmpcpp"] move scratchpad -for_window [instance="ranger"] move scratchpad -# for_window [instance="nautilus"] move scratchpad -#for_window [instance="neomutt"] move scratchpad - -# start some applications -# http://i3wm.org/docs/user-contributed/lzap-config.html - -# Composition -# https://wiki.archlinux.org/index.php/Compton -exec --no-startup-id compton -b - -# Luck numeric keypad on start -exec --no-startup-id numlockx - -# Pulseaudio -# pkill pulseaudio; sleep 3 && pulseaudio --start -D -# XXX Try to kill any already running pulseaudio -exec --no-startup-id killall -q -w pulseaudio; pulseaudio --start --daemonize --verbose -# exec --no-startup-id pulseaudio --start -# pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo '60%' & - -# Terminal -# exec --no-startup-id urxvtd --quiet --opendisplay --fork -# exec --no-startup-id urxvtc -# vte should handle non standard fonts more gracefully -exec --no-startup-id termite - -# Enable masquerading of VirtualBox host-only network -# exec_always --no-startup-id $HOME/bin/vbox-forward - -# Load xrandr conf -exec_always $HOME/bin/dual-screen - -# Load keybaord configu -exec_always --no-startup-id $HOME/bin/setup_kinesis_keyboard - -# Lock screen when hibernating/absent -exec --no-startup-id xss-lock -- i3lock-fancy --pixelate -f Fantasque-Sans-Mono-Regular -# exec --no-startup-id xss-lock -- light-locker - -# Screen dimming -exec_always --no-startup-id redshift - -exec_always --no-startup-id [ -r ~/.Xresources ] && xrdb -load ~/.Xresources - -# Set LCD brightness -exec_always --no-startup-id xbacklight -set 90 -display DP-4 - -# Launch gnome-keyring-daemon for secrets, ssh keys and gpg -# eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gnupg) -# export SSH_AUTH_SOCK -# exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg - -# Wallpaper -# exec_always --no-startup-id nitrogen --head=1 --random --set-zoom-fill --no-recurse $HOME/Pictures/Wallpapers -# exec_always --no-startup-id (xrandr | grep -q 'DP-4 connected' && nitrogen --head=2 --random --set-zoom-fill --no-recurse $HOME/Pictures/Wallpapers) -exec --no-startup-id nitrogen --restore -# exec --no-startup-id livewallpaper -# exec --no-startup-id livewallpaper-indicator -# Way too much mooooving :) -# exec --no-startup-id XDG_CURRENT_DESKTOP=i3 variety - -# Status bar -exec_always --no-startup-id $HOME/bin/launch_bar - -# Tray icons - -# Automatic mounting -exec --no-startup-id udiskie --tray --use-udisks2 - -# Clipboard manager -# anamnesis, clipman, copyq, gpaste could be alternatives -# exec --no-startup-id clipit -# XRandr management -# exec --no-startup-id arandr-indicator -# NetworkManager applet -exec --no-startup-id nm-applet -# Pulseauio applets -exec --no-startup-id pasystray -#exec --no-startup-id volti # starting volume control -#exec --no-startup-id pa-applet - -# Files synchronization -exec --no-startup-id insync start -# exec --no-startup-id owncloud -# exec --no-startup-id dropbox -# XXX Required? Managed by the gtk systray? -# exec --no-startup-id /usr/lib/hubic/hubic-service -# exec --no-startup-id hubic-gtk -exec --no-startup-id urbackupclientgui -exec --no-startup-id syncthing-gtk - -#exec --no-startup-id bitcoin-qt - -# Screen dimming -exec --no-startup-id redshift-gtk - -exec --no-startup-id keepassxc - -# Start ncmcppp for the scratchpad -exec --no-startup-id termite --name ncmpcpp -e ncmpcpp - -# Start ranger for the scratchpad -# exec --no-startup-id termite --name ranger -e ranger - -# Start neomutt for the scratchpad -# exec --no-startup-id termite --name neomutt -e neomutt - -# Compton tray icon -# exec --no-startup-id comptray - -# IM -# exec --no-startup-id empathy -exec --no-startup-id skypeforlinux -exec --no-startup-id rambox - -# exec --no-startup-id xedgewarp -b -# exec --no-startup-id $HOME/.dotfiles/bin/monitor_me & - -# Unclutter - hides the mouse cursor after 5 seconds of idle -exec --no-startup-id unclutter -root -jitter 10 & - -# Disable beeps -exec --no-startup-id xset -b - -# Set default black background -exec --no-startup-id xsetroot -solid '#101010' -exec --no-startup-id xsetroot -cursor_name left_ptr - -# DPMS monitor setting (standby -> suspend -> off) (seconds) -# exec --no-startup-id xset dpms 600 1200 3600 - -# Enable touchpad tap to click -# xinput list -# xinput list-props <device id> -# xinput set-prop <device id> <property id> 1 -exec --no-startup-id xinput set-prop $(xinput list --id-only 'SynPS/2 Synaptics TouchPad') $(xinput list-props $(xinput list --id-only 'SynPS/2 Synaptics TouchPad') | awk '/Tapping Enabled \(/ {print $(NF-1)}' | sed -e 's/[^0-9]*//g') 1 - -# exec deja-dup --backup - -# MOC -exec --no-startup-id mocp -S -m ~/Music -exec --no-startup-id mocp-scrobbler.py -d - -# vim:filetype=i3 diff --git a/config/i3/kinesis_custom.xkb b/config/i3/kinesis_custom.xkb deleted file mode 100644 index 7549de4a..00000000 --- a/config/i3/kinesis_custom.xkb +++ /dev/null @@ -1,1908 +0,0 @@ -xkb_keymap { -xkb_keycodes "evdev_aliases(qwerty)" { - minimum = 8; - maximum = 255; - <ESC> = 9; - <AE01> = 10; - <AE02> = 11; - <AE03> = 12; - <AE04> = 13; - <AE05> = 14; - <AE06> = 15; - <AE07> = 16; - <AE08> = 17; - <AE09> = 18; - <AE10> = 19; - <AE11> = 20; - <AE12> = 21; - <BKSP> = 22; - <TAB> = 23; - <AD01> = 24; - <AD02> = 25; - <AD03> = 26; - <AD04> = 27; - <AD05> = 28; - <AD06> = 29; - <AD07> = 30; - <AD08> = 31; - <AD09> = 32; - <AD10> = 33; - <AD11> = 34; - <AD12> = 35; - <RTRN> = 36; - <LCTL> = 37; - <AC01> = 38; - <AC02> = 39; - <AC03> = 40; - <AC04> = 41; - <AC05> = 42; - <AC06> = 43; - <AC07> = 44; - <AC08> = 45; - <AC09> = 46; - <AC10> = 47; - <AC11> = 48; - <TLDE> = 49; - <LFSH> = 50; - <BKSL> = 51; - <AB01> = 52; - <AB02> = 53; - <AB03> = 54; - <AB04> = 55; - <AB05> = 56; - <AB06> = 57; - <AB07> = 58; - <AB08> = 59; - <AB09> = 60; - <AB10> = 61; - <RTSH> = 62; - <KPMU> = 63; - <LALT> = 64; - <SPCE> = 65; - <CAPS> = 66; - <FK01> = 67; - <FK02> = 68; - <FK03> = 69; - <FK04> = 70; - <FK05> = 71; - <FK06> = 72; - <FK07> = 73; - <FK08> = 74; - <FK09> = 75; - <FK10> = 76; - <NMLK> = 77; - <SCLK> = 78; - <KP7> = 79; - <KP8> = 80; - <KP9> = 81; - <KPSU> = 82; - <KP4> = 83; - <KP5> = 84; - <KP6> = 85; - <KPAD> = 86; - <KP1> = 87; - <KP2> = 88; - <KP3> = 89; - <KP0> = 90; - <KPDL> = 91; - <LVL3> = 92; - <LSGT> = 94; - <FK11> = 95; - <FK12> = 96; - <AB11> = 97; - <KATA> = 98; - <HIRA> = 99; - <HENK> = 100; - <HKTG> = 101; - <MUHE> = 102; - <JPCM> = 103; - <KPEN> = 104; - <RCTL> = 105; - <KPDV> = 106; - <PRSC> = 107; - <RALT> = 108; - <LNFD> = 109; - <HOME> = 110; - <UP> = 111; - <PGUP> = 112; - <LEFT> = 113; - <RGHT> = 114; - <END> = 115; - <DOWN> = 116; - <PGDN> = 117; - <INS> = 118; - <DELE> = 119; - <I120> = 120; - <MUTE> = 121; - <VOL-> = 122; - <VOL+> = 123; - <POWR> = 124; - <KPEQ> = 125; - <I126> = 126; - <PAUS> = 127; - <I128> = 128; - <I129> = 129; - <HNGL> = 130; - <HJCV> = 131; - <AE13> = 132; - <LWIN> = 133; - <RWIN> = 134; - <COMP> = 135; - <STOP> = 136; - <AGAI> = 137; - <PROP> = 138; - <UNDO> = 139; - <FRNT> = 140; - <COPY> = 141; - <OPEN> = 142; - <PAST> = 143; - <FIND> = 144; - <CUT> = 145; - <HELP> = 146; - <I147> = 147; - <I148> = 148; - <I149> = 149; - <I150> = 150; - <I151> = 151; - <I152> = 152; - <I153> = 153; - <I154> = 154; - <I155> = 155; - <I156> = 156; - <I157> = 157; - <I158> = 158; - <I159> = 159; - <I160> = 160; - <I161> = 161; - <I162> = 162; - <I163> = 163; - <I164> = 164; - <I165> = 165; - <I166> = 166; - <I167> = 167; - <I168> = 168; - <I169> = 169; - <I170> = 170; - <I171> = 171; - <I172> = 172; - <I173> = 173; - <I174> = 174; - <I175> = 175; - <I176> = 176; - <I177> = 177; - <I178> = 178; - <I179> = 179; - <I180> = 180; - <I181> = 181; - <I182> = 182; - <I183> = 183; - <I184> = 184; - <I185> = 185; - <I186> = 186; - <I187> = 187; - <I188> = 188; - <I189> = 189; - <I190> = 190; - <FK13> = 191; - <FK14> = 192; - <FK15> = 193; - <FK16> = 194; - <FK17> = 195; - <FK18> = 196; - <FK19> = 197; - <FK20> = 198; - <FK21> = 199; - <FK22> = 200; - <FK23> = 201; - <FK24> = 202; - <MDSW> = 203; - <ALT> = 204; - <META> = 205; - <SUPR> = 206; - <HYPR> = 207; - <I208> = 208; - <I209> = 209; - <I210> = 210; - <I211> = 211; - <I212> = 212; - <I213> = 213; - <I214> = 214; - <I215> = 215; - <I216> = 216; - <I217> = 217; - <I218> = 218; - <I219> = 219; - <I220> = 220; - <I221> = 221; - <I222> = 222; - <I223> = 223; - <I224> = 224; - <I225> = 225; - <I226> = 226; - <I227> = 227; - <I228> = 228; - <I229> = 229; - <I230> = 230; - <I231> = 231; - <I232> = 232; - <I233> = 233; - <I234> = 234; - <I235> = 235; - <I236> = 236; - <I237> = 237; - <I238> = 238; - <I239> = 239; - <I240> = 240; - <I241> = 241; - <I242> = 242; - <I243> = 243; - <I244> = 244; - <I245> = 245; - <I246> = 246; - <I247> = 247; - <I248> = 248; - <I249> = 249; - <I250> = 250; - <I251> = 251; - <I252> = 252; - <I253> = 253; - indicator 1 = "Caps Lock"; - indicator 2 = "Num Lock"; - indicator 3 = "Scroll Lock"; - indicator 4 = "Compose"; - indicator 5 = "Kana"; - indicator 6 = "Sleep"; - indicator 7 = "Suspend"; - indicator 8 = "Mute"; - indicator 9 = "Misc"; - indicator 10 = "Mail"; - indicator 11 = "Charging"; - virtual indicator 12 = "Shift Lock"; - virtual indicator 13 = "Group 2"; - virtual indicator 14 = "Mouse Keys"; - alias <AC12> = <BKSL>; - alias <MENU> = <COMP>; - alias <HZTG> = <TLDE>; - alias <LMTA> = <LWIN>; - alias <RMTA> = <RWIN>; - alias <ALGR> = <RALT>; - alias <KPPT> = <I129>; - alias <LatQ> = <AD01>; - alias <LatW> = <AD02>; - alias <LatE> = <AD03>; - alias <LatR> = <AD04>; - alias <LatT> = <AD05>; - alias <LatY> = <AD06>; - alias <LatU> = <AD07>; - alias <LatI> = <AD08>; - alias <LatO> = <AD09>; - alias <LatP> = <AD10>; - alias <LatA> = <AC01>; - alias <LatS> = <AC02>; - alias <LatD> = <AC03>; - alias <LatF> = <AC04>; - alias <LatG> = <AC05>; - alias <LatH> = <AC06>; - alias <LatJ> = <AC07>; - alias <LatK> = <AC08>; - alias <LatL> = <AC09>; - alias <LatZ> = <AB01>; - alias <LatX> = <AB02>; - alias <LatC> = <AB03>; - alias <LatV> = <AB04>; - alias <LatB> = <AB05>; - alias <LatN> = <AB06>; - alias <LatM> = <AB07>; -}; - -xkb_types "complete" { - - virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; - - type "ONE_LEVEL" { - modifiers= none; - level_name[Level1]= "Any"; - }; - type "TWO_LEVEL" { - modifiers= Shift; - map[Shift]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - }; - type "ALPHABETIC" { - modifiers= Shift+Lock; - map[Shift]= Level2; - map[Lock]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Caps"; - }; - type "KEYPAD" { - modifiers= Shift+NumLock; - map[Shift]= Level2; - map[NumLock]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Number"; - }; - type "SHIFT+ALT" { - modifiers= Shift+Alt; - map[Shift+Alt]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift+Alt"; - }; - type "PC_SUPER_LEVEL2" { - modifiers= Mod4; - map[Mod4]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Super"; - }; - type "PC_CONTROL_LEVEL2" { - modifiers= Control; - map[Control]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Control"; - }; - type "PC_LCONTROL_LEVEL2" { - modifiers= LControl; - map[LControl]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "LControl"; - }; - type "PC_RCONTROL_LEVEL2" { - modifiers= RControl; - map[RControl]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "RControl"; - }; - type "PC_ALT_LEVEL2" { - modifiers= Alt; - map[Alt]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Alt"; - }; - type "PC_LALT_LEVEL2" { - modifiers= LAlt; - map[LAlt]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "LAlt"; - }; - type "PC_RALT_LEVEL2" { - modifiers= RAlt; - map[RAlt]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "RAlt"; - }; - type "CTRL+ALT" { - modifiers= Shift+Control+Alt+LevelThree; - map[Shift]= Level2; - preserve[Shift]= Shift; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - preserve[Shift+LevelThree]= Shift; - map[Control+Alt]= Level5; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "Ctrl+Alt"; - }; - type "LOCAL_EIGHT_LEVEL" { - modifiers= Shift+Lock+Control+LevelThree; - map[Shift+Lock]= Level1; - map[Shift]= Level2; - map[Lock]= Level2; - map[LevelThree]= Level3; - map[Shift+Lock+LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level4; - map[Control]= Level5; - map[Shift+Lock+Control]= Level5; - map[Shift+Control]= Level6; - map[Lock+Control]= Level6; - map[Control+LevelThree]= Level7; - map[Shift+Lock+Control+LevelThree]= Level7; - map[Shift+Control+LevelThree]= Level8; - map[Lock+Control+LevelThree]= Level8; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Level3"; - level_name[Level4]= "Shift Level3"; - level_name[Level5]= "Ctrl"; - level_name[Level6]= "Shift Ctrl"; - level_name[Level7]= "Level3 Ctrl"; - level_name[Level8]= "Shift Level3 Ctrl"; - }; - type "THREE_LEVEL" { - modifiers= Shift+LevelThree; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level3; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Level3"; - }; - type "EIGHT_LEVEL" { - modifiers= Shift+LevelThree+LevelFive; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[LevelFive]= Level5; - map[Shift+LevelFive]= Level6; - map[LevelThree+LevelFive]= Level7; - map[Shift+LevelThree+LevelFive]= Level8; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "X"; - level_name[Level6]= "X Shift"; - level_name[Level7]= "X Alt Base"; - level_name[Level8]= "X Shift Alt"; - }; - type "EIGHT_LEVEL_ALPHABETIC" { - modifiers= Shift+Lock+LevelThree+LevelFive; - map[Shift]= Level2; - map[Lock]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level4; - map[Shift+Lock+LevelThree]= Level3; - map[LevelFive]= Level5; - map[Shift+LevelFive]= Level6; - map[Lock+LevelFive]= Level6; - map[LevelThree+LevelFive]= Level7; - map[Shift+LevelThree+LevelFive]= Level8; - map[Lock+LevelThree+LevelFive]= Level8; - map[Shift+Lock+LevelThree+LevelFive]= Level7; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "X"; - level_name[Level6]= "X Shift"; - level_name[Level7]= "X Alt Base"; - level_name[Level8]= "X Shift Alt"; - }; - type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" { - modifiers= Shift+Lock+NumLock+LevelThree+LevelFive; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[LevelFive]= Level5; - map[Shift+LevelFive]= Level6; - preserve[Shift+LevelFive]= Shift; - map[LevelThree+LevelFive]= Level7; - map[Shift+LevelThree+LevelFive]= Level8; - map[NumLock]= Level5; - map[Shift+NumLock]= Level6; - preserve[Shift+NumLock]= Shift; - map[NumLock+LevelThree]= Level7; - map[Shift+NumLock+LevelThree]= Level8; - map[Shift+NumLock+LevelFive]= Level2; - map[NumLock+LevelThree+LevelFive]= Level3; - map[Shift+NumLock+LevelThree+LevelFive]= Level4; - map[Shift+Lock]= Level2; - map[Lock+LevelThree]= Level3; - map[Shift+Lock+LevelThree]= Level4; - map[Lock+LevelFive]= Level5; - map[Shift+Lock+LevelFive]= Level6; - preserve[Shift+Lock+LevelFive]= Shift; - map[Lock+LevelThree+LevelFive]= Level7; - map[Shift+Lock+LevelThree+LevelFive]= Level8; - map[Lock+NumLock]= Level5; - map[Shift+Lock+NumLock]= Level6; - preserve[Shift+Lock+NumLock]= Shift; - map[Lock+NumLock+LevelThree]= Level7; - map[Shift+Lock+NumLock+LevelThree]= Level8; - map[Shift+Lock+NumLock+LevelFive]= Level2; - map[Lock+NumLock+LevelThree+LevelFive]= Level3; - map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level4; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "X"; - level_name[Level6]= "X Shift"; - level_name[Level7]= "X Alt Base"; - level_name[Level8]= "X Shift Alt"; - }; - type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" { - modifiers= Shift+Lock+NumLock+LevelThree+LevelFive; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[LevelFive]= Level5; - map[Shift+LevelFive]= Level6; - preserve[Shift+LevelFive]= Shift; - map[LevelThree+LevelFive]= Level7; - map[Shift+LevelThree+LevelFive]= Level8; - map[NumLock]= Level5; - map[Shift+NumLock]= Level6; - preserve[Shift+NumLock]= Shift; - map[NumLock+LevelThree]= Level7; - map[Shift+NumLock+LevelThree]= Level8; - map[Shift+NumLock+LevelFive]= Level2; - map[NumLock+LevelThree+LevelFive]= Level3; - map[Shift+NumLock+LevelThree+LevelFive]= Level4; - map[Lock]= Level2; - map[Lock+LevelThree]= Level3; - map[Shift+Lock+LevelThree]= Level4; - map[Lock+LevelFive]= Level5; - map[Shift+Lock+LevelFive]= Level6; - map[Lock+LevelThree+LevelFive]= Level7; - map[Shift+Lock+LevelThree+LevelFive]= Level8; - map[Lock+NumLock]= Level5; - map[Shift+Lock+NumLock]= Level6; - map[Lock+NumLock+LevelThree]= Level7; - map[Shift+Lock+NumLock+LevelThree]= Level8; - map[Lock+NumLock+LevelFive]= Level2; - map[Lock+NumLock+LevelThree+LevelFive]= Level4; - map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level3; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "X"; - level_name[Level6]= "X Shift"; - level_name[Level7]= "X Alt Base"; - level_name[Level8]= "X Shift Alt"; - }; - type "EIGHT_LEVEL_SEMIALPHABETIC" { - modifiers= Shift+Lock+LevelThree+LevelFive; - map[Shift]= Level2; - map[Lock]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level3; - preserve[Lock+LevelThree]= Lock; - map[Shift+Lock+LevelThree]= Level4; - preserve[Shift+Lock+LevelThree]= Lock; - map[LevelFive]= Level5; - map[Shift+LevelFive]= Level6; - map[Lock+LevelFive]= Level6; - preserve[Lock+LevelFive]= Lock; - map[Shift+Lock+LevelFive]= Level6; - preserve[Shift+Lock+LevelFive]= Lock; - map[LevelThree+LevelFive]= Level7; - map[Shift+LevelThree+LevelFive]= Level8; - map[Lock+LevelThree+LevelFive]= Level7; - preserve[Lock+LevelThree+LevelFive]= Lock; - map[Shift+Lock+LevelThree+LevelFive]= Level8; - preserve[Shift+Lock+LevelThree+LevelFive]= Lock; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "X"; - level_name[Level6]= "X Shift"; - level_name[Level7]= "X Alt Base"; - level_name[Level8]= "X Shift Alt"; - }; - type "FOUR_LEVEL" { - modifiers= Shift+LevelThree; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - }; - type "FOUR_LEVEL_ALPHABETIC" { - modifiers= Shift+Lock+LevelThree; - map[Shift]= Level2; - map[Lock]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level4; - map[Shift+Lock+LevelThree]= Level3; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - }; - type "FOUR_LEVEL_SEMIALPHABETIC" { - modifiers= Shift+Lock+LevelThree; - map[Shift]= Level2; - map[Lock]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level3; - preserve[Lock+LevelThree]= Lock; - map[Shift+Lock+LevelThree]= Level4; - preserve[Shift+Lock+LevelThree]= Lock; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - }; - type "FOUR_LEVEL_MIXED_KEYPAD" { - modifiers= Shift+NumLock+LevelThree; - map[Shift+NumLock]= Level1; - map[NumLock]= Level2; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[NumLock+LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Shift+NumLock+LevelThree]= Level4; - level_name[Level1]= "Base"; - level_name[Level2]= "Number"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - }; - type "FOUR_LEVEL_X" { - modifiers= Shift+Control+Alt+LevelThree; - map[LevelThree]= Level2; - map[Shift+LevelThree]= Level3; - map[Control+Alt]= Level4; - level_name[Level1]= "Base"; - level_name[Level2]= "Alt Base"; - level_name[Level3]= "Shift Alt"; - level_name[Level4]= "Ctrl+Alt"; - }; - type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" { - modifiers= Shift+Lock+LevelThree; - map[Shift]= Level2; - map[Lock]= Level4; - preserve[Lock]= Lock; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock+LevelThree]= Level3; - preserve[Lock+LevelThree]= Lock; - map[Shift+Lock+LevelThree]= Level3; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "AltGr Base"; - level_name[Level4]= "Shift AltGr"; - }; - type "FOUR_LEVEL_PLUS_LOCK" { - modifiers= Shift+Lock+LevelThree; - map[Shift]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[Lock]= Level5; - map[Shift+Lock]= Level2; - map[Lock+LevelThree]= Level3; - map[Shift+Lock+LevelThree]= Level4; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Shift Alt"; - level_name[Level5]= "Lock"; - }; - type "FOUR_LEVEL_KEYPAD" { - modifiers= Shift+NumLock+LevelThree; - map[Shift]= Level2; - map[NumLock]= Level2; - map[LevelThree]= Level3; - map[Shift+LevelThree]= Level4; - map[NumLock+LevelThree]= Level4; - map[Shift+NumLock+LevelThree]= Level3; - level_name[Level1]= "Base"; - level_name[Level2]= "Number"; - level_name[Level3]= "Alt Base"; - level_name[Level4]= "Alt Number"; - }; -}; - -xkb_compatibility "complete" { - - virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; - - interpret.useModMapMods= AnyLevel; - interpret.repeat= False; - interpret.locking= False; - interpret ISO_Level2_Latch+Exactly(Shift) { - useModMapMods=level1; - action= LatchMods(modifiers=Shift,clearLocks,latchToLock); - }; - interpret Shift_Lock+AnyOf(Shift+Lock) { - action= LockMods(modifiers=Shift); - }; - interpret Num_Lock+AnyOf(all) { - virtualModifier= NumLock; - action= LockMods(modifiers=NumLock); - }; - interpret ISO_Level3_Shift+AnyOf(all) { - virtualModifier= LevelThree; - useModMapMods=level1; - action= SetMods(modifiers=LevelThree,clearLocks); - }; - interpret ISO_Level3_Latch+AnyOf(all) { - virtualModifier= LevelThree; - useModMapMods=level1; - action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); - }; - interpret ISO_Level3_Lock+AnyOf(all) { - virtualModifier= LevelThree; - useModMapMods=level1; - action= LockMods(modifiers=LevelThree); - }; - interpret Alt_L+AnyOf(all) { - virtualModifier= Alt; - action= SetMods(modifiers=modMapMods,clearLocks); - }; - interpret Alt_R+AnyOf(all) { - virtualModifier= Alt; - action= SetMods(modifiers=modMapMods,clearLocks); - }; - interpret Meta_L+AnyOf(all) { - virtualModifier= Meta; - action= SetMods(modifiers=modMapMods,clearLocks); - }; - interpret Meta_R+AnyOf(all) { - virtualModifier= Meta; - action= SetMods(modifiers=modMapMods,clearLocks); - }; - interpret Super_L+AnyOf(all) { - virtualModifier= Super; - action= SetMods(modifiers=modMapMods,clearLocks); - }; - interpret Super_R+AnyOf(all) { - virtualModifier= Super; - action= SetMods(modifiers=modMapMods,clearLocks); - }; - interpret Hyper_L+AnyOf(all) { - virtualModifier= Hyper; - action= SetMods(modifiers=modMapMods,clearLocks); - }; - interpret Hyper_R+AnyOf(all) { - virtualModifier= Hyper; - action= SetMods(modifiers=modMapMods,clearLocks); - }; - interpret Scroll_Lock+AnyOf(all) { - virtualModifier= ScrollLock; - action= LockMods(modifiers=modMapMods); - }; - interpret ISO_Level5_Shift+AnyOf(all) { - virtualModifier= LevelFive; - useModMapMods=level1; - action= SetMods(modifiers=LevelFive,clearLocks); - }; - interpret ISO_Level5_Latch+AnyOf(all) { - virtualModifier= LevelFive; - useModMapMods=level1; - action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); - }; - interpret ISO_Level5_Lock+AnyOf(all) { - virtualModifier= LevelFive; - useModMapMods=level1; - action= LockMods(modifiers=LevelFive); - }; - interpret Mode_switch+AnyOfOrNone(all) { - virtualModifier= AltGr; - useModMapMods=level1; - action= SetGroup(group=+1); - }; - interpret ISO_Level3_Shift+AnyOfOrNone(all) { - action= SetMods(modifiers=LevelThree,clearLocks); - }; - interpret ISO_Level3_Latch+AnyOfOrNone(all) { - action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); - }; - interpret ISO_Level3_Lock+AnyOfOrNone(all) { - action= LockMods(modifiers=LevelThree); - }; - interpret ISO_Group_Latch+AnyOfOrNone(all) { - virtualModifier= AltGr; - useModMapMods=level1; - action= LatchGroup(group=2); - }; - interpret ISO_Next_Group+AnyOfOrNone(all) { - virtualModifier= AltGr; - useModMapMods=level1; - action= LockGroup(group=+1); - }; - interpret ISO_Prev_Group+AnyOfOrNone(all) { - virtualModifier= AltGr; - useModMapMods=level1; - action= LockGroup(group=-1); - }; - interpret ISO_First_Group+AnyOfOrNone(all) { - action= LockGroup(group=1); - }; - interpret ISO_Last_Group+AnyOfOrNone(all) { - action= LockGroup(group=2); - }; - interpret KP_1+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=+1); - }; - interpret KP_End+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=+1); - }; - interpret KP_2+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+0,y=+1); - }; - interpret KP_Down+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+0,y=+1); - }; - interpret KP_3+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=+1); - }; - interpret KP_Next+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=+1); - }; - interpret KP_4+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=+0); - }; - interpret KP_Left+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=+0); - }; - interpret KP_6+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=+0); - }; - interpret KP_Right+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=+0); - }; - interpret KP_7+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=-1); - }; - interpret KP_Home+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=-1); - }; - interpret KP_8+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+0,y=-1); - }; - interpret KP_Up+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+0,y=-1); - }; - interpret KP_9+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=-1); - }; - interpret KP_Prior+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=-1); - }; - interpret KP_5+AnyOfOrNone(all) { - repeat= True; - action= PtrBtn(button=default); - }; - interpret KP_Begin+AnyOfOrNone(all) { - repeat= True; - action= PtrBtn(button=default); - }; - interpret KP_F2+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=1); - }; - interpret KP_Divide+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=1); - }; - interpret KP_F3+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=2); - }; - interpret KP_Multiply+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=2); - }; - interpret KP_F4+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=3); - }; - interpret KP_Subtract+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=3); - }; - interpret KP_Separator+AnyOfOrNone(all) { - repeat= True; - action= PtrBtn(button=default,count=2); - }; - interpret KP_Add+AnyOfOrNone(all) { - repeat= True; - action= PtrBtn(button=default,count=2); - }; - interpret KP_0+AnyOfOrNone(all) { - repeat= True; - action= LockPtrBtn(button=default,affect=lock); - }; - interpret KP_Insert+AnyOfOrNone(all) { - repeat= True; - action= LockPtrBtn(button=default,affect=lock); - }; - interpret KP_Decimal+AnyOfOrNone(all) { - repeat= True; - action= LockPtrBtn(button=default,affect=unlock); - }; - interpret KP_Delete+AnyOfOrNone(all) { - repeat= True; - action= LockPtrBtn(button=default,affect=unlock); - }; - interpret F25+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=1); - }; - interpret F26+AnyOfOrNone(all) { - repeat= True; - action= SetPtrDflt(affect=button,button=2); - }; - interpret F27+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=-1); - }; - interpret F29+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=-1); - }; - interpret F31+AnyOfOrNone(all) { - repeat= True; - action= PtrBtn(button=default); - }; - interpret F33+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=-1,y=+1); - }; - interpret F35+AnyOfOrNone(all) { - repeat= True; - action= MovePtr(x=+1,y=+1); - }; - interpret Pointer_Button_Dflt+AnyOfOrNone(all) { - action= PtrBtn(button=default); - }; - interpret Pointer_Button1+AnyOfOrNone(all) { - action= PtrBtn(button=1); - }; - interpret Pointer_Button2+AnyOfOrNone(all) { - action= PtrBtn(button=2); - }; - interpret Pointer_Button3+AnyOfOrNone(all) { - action= PtrBtn(button=3); - }; - interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) { - action= PtrBtn(button=default,count=2); - }; - interpret Pointer_DblClick1+AnyOfOrNone(all) { - action= PtrBtn(button=1,count=2); - }; - interpret Pointer_DblClick2+AnyOfOrNone(all) { - action= PtrBtn(button=2,count=2); - }; - interpret Pointer_DblClick3+AnyOfOrNone(all) { - action= PtrBtn(button=3,count=2); - }; - interpret Pointer_Drag_Dflt+AnyOfOrNone(all) { - action= LockPtrBtn(button=default,affect=both); - }; - interpret Pointer_Drag1+AnyOfOrNone(all) { - action= LockPtrBtn(button=1,affect=both); - }; - interpret Pointer_Drag2+AnyOfOrNone(all) { - action= LockPtrBtn(button=2,affect=both); - }; - interpret Pointer_Drag3+AnyOfOrNone(all) { - action= LockPtrBtn(button=3,affect=both); - }; - interpret Pointer_EnableKeys+AnyOfOrNone(all) { - action= LockControls(controls=MouseKeys); - }; - interpret Pointer_Accelerate+AnyOfOrNone(all) { - action= LockControls(controls=MouseKeysAccel); - }; - interpret Pointer_DfltBtnNext+AnyOfOrNone(all) { - action= SetPtrDflt(affect=button,button=+1); - }; - interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) { - action= SetPtrDflt(affect=button,button=-1); - }; - interpret AccessX_Enable+AnyOfOrNone(all) { - action= LockControls(controls=AccessXKeys); - }; - interpret AccessX_Feedback_Enable+AnyOfOrNone(all) { - action= LockControls(controls=AccessXFeedback); - }; - interpret RepeatKeys_Enable+AnyOfOrNone(all) { - action= LockControls(controls=RepeatKeys); - }; - interpret SlowKeys_Enable+AnyOfOrNone(all) { - action= LockControls(controls=SlowKeys); - }; - interpret BounceKeys_Enable+AnyOfOrNone(all) { - action= LockControls(controls=BounceKeys); - }; - interpret StickyKeys_Enable+AnyOfOrNone(all) { - action= LockControls(controls=StickyKeys); - }; - interpret MouseKeys_Enable+AnyOfOrNone(all) { - action= LockControls(controls=MouseKeys); - }; - interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) { - action= LockControls(controls=MouseKeysAccel); - }; - interpret Overlay1_Enable+AnyOfOrNone(all) { - action= LockControls(controls=Overlay1); - }; - interpret Overlay2_Enable+AnyOfOrNone(all) { - action= LockControls(controls=Overlay2); - }; - interpret AudibleBell_Enable+AnyOfOrNone(all) { - action= LockControls(controls=AudibleBell); - }; - interpret Terminate_Server+AnyOfOrNone(all) { - action= Terminate(); - }; - interpret Alt_L+AnyOfOrNone(all) { - action= SetMods(modifiers=Alt,clearLocks); - }; - interpret Alt_R+AnyOfOrNone(all) { - action= SetMods(modifiers=Alt,clearLocks); - }; - interpret Meta_L+AnyOfOrNone(all) { - action= SetMods(modifiers=Meta,clearLocks); - }; - interpret Meta_R+AnyOfOrNone(all) { - action= SetMods(modifiers=Meta,clearLocks); - }; - interpret Super_L+AnyOfOrNone(all) { - action= SetMods(modifiers=Super,clearLocks); - }; - interpret Super_R+AnyOfOrNone(all) { - action= SetMods(modifiers=Super,clearLocks); - }; - interpret Hyper_L+AnyOfOrNone(all) { - action= SetMods(modifiers=Hyper,clearLocks); - }; - interpret Hyper_R+AnyOfOrNone(all) { - action= SetMods(modifiers=Hyper,clearLocks); - }; - interpret Shift_L+AnyOfOrNone(all) { - action= SetMods(modifiers=Shift,clearLocks); - }; - interpret XF86Switch_VT_1+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=1,!same); - }; - interpret XF86Switch_VT_2+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=2,!same); - }; - interpret XF86Switch_VT_3+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=3,!same); - }; - interpret XF86Switch_VT_4+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=4,!same); - }; - interpret XF86Switch_VT_5+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=5,!same); - }; - interpret XF86Switch_VT_6+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=6,!same); - }; - interpret XF86Switch_VT_7+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=7,!same); - }; - interpret XF86Switch_VT_8+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=8,!same); - }; - interpret XF86Switch_VT_9+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=9,!same); - }; - interpret XF86Switch_VT_10+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=10,!same); - }; - interpret XF86Switch_VT_11+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=11,!same); - }; - interpret XF86Switch_VT_12+AnyOfOrNone(all) { - repeat= True; - action= SwitchScreen(screen=12,!same); - }; - interpret XF86LogGrabInfo+AnyOfOrNone(all) { - repeat= True; - action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00); - }; - interpret XF86LogWindowTree+AnyOfOrNone(all) { - repeat= True; - action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00); - }; - interpret XF86Next_VMode+AnyOfOrNone(all) { - repeat= True; - action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00); - }; - interpret XF86Prev_VMode+AnyOfOrNone(all) { - repeat= True; - action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00); - }; - interpret ISO_Level5_Shift+AnyOfOrNone(all) { - action= SetMods(modifiers=LevelFive,clearLocks); - }; - interpret ISO_Level5_Latch+AnyOfOrNone(all) { - action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); - }; - interpret ISO_Level5_Lock+AnyOfOrNone(all) { - action= LockMods(modifiers=LevelFive); - }; - interpret Caps_Lock+AnyOfOrNone(all) { - action= LockMods(modifiers=Lock); - }; - interpret Any+Exactly(Lock) { - action= LockMods(modifiers=Lock); - }; - interpret Any+AnyOf(all) { - action= SetMods(modifiers=modMapMods,clearLocks); - }; - group 2 = AltGr; - group 3 = AltGr; - group 4 = AltGr; - indicator "Caps Lock" { - !allowExplicit; - whichModState= locked; - modifiers= Lock; - }; - indicator "Num Lock" { - !allowExplicit; - whichModState= locked; - modifiers= NumLock; - }; - indicator "Scroll Lock" { - whichModState= locked; - modifiers= ScrollLock; - }; - indicator "Shift Lock" { - !allowExplicit; - whichModState= locked; - modifiers= Shift; - }; - indicator "Group 2" { - !allowExplicit; - groups= 0xfe; - }; - indicator "Mouse Keys" { - indicatorDrivesKeyboard; - controls= mouseKeys; - }; -}; - -xkb_symbols "pc_us_inet(evdev)_capslock(escape)_compose(rwin)_terminate(ctrl_alt_bksp)" { - - name[group1]="English (US)"; - - key <ESC> { [ Escape ] }; - key <AE01> { [ 1, exclam ] }; - key <AE02> { [ 2, at ] }; - key <AE03> { [ 3, numbersign ] }; - key <AE04> { [ 4, dollar ] }; - key <AE05> { [ 5, percent ] }; - key <AE06> { [ 6, asciicircum ] }; - key <AE07> { [ 7, ampersand ] }; - key <AE08> { [ 8, asterisk ] }; - key <AE09> { [ 9, parenleft ] }; - key <AE10> { [ 0, parenright ] }; - key <AE11> { [ minus, underscore ] }; - key <AE12> { [ equal, plus ] }; - key <BKSP> { - type= "CTRL+ALT", - symbols[Group1]= [ BackSpace, BackSpace, NoSymbol, NoSymbol, Terminate_Server ] - }; - key <TAB> { [ Tab, ISO_Left_Tab ] }; - key <AD01> { - type= "ALPHABETIC", - symbols[Group1]= [ q, Q ] - }; - key <AD02> { - type= "ALPHABETIC", - symbols[Group1]= [ w, W ] - }; - key <AD03> { - type= "ALPHABETIC", - symbols[Group1]= [ e, E ] - }; - key <AD04> { - type= "ALPHABETIC", - symbols[Group1]= [ r, R ] - }; - key <AD05> { - type= "ALPHABETIC", - symbols[Group1]= [ t, T ] - }; - key <AD06> { - type= "ALPHABETIC", - symbols[Group1]= [ y, Y ] - }; - key <AD07> { - type= "ALPHABETIC", - symbols[Group1]= [ u, U ] - }; - key <AD08> { - type= "ALPHABETIC", - symbols[Group1]= [ i, I ] - }; - key <AD09> { - type= "ALPHABETIC", - symbols[Group1]= [ o, O ] - }; - key <AD10> { - type= "ALPHABETIC", - symbols[Group1]= [ p, P ] - }; - key <AD11> { [ bracketleft, braceleft ] }; - key <AD12> { [ bracketright, braceright ] }; - key <RTRN> { [ Return ] }; - key <LCTL> { [ Control_L ] }; - key <AC01> { - type= "ALPHABETIC", - symbols[Group1]= [ a, A ] - }; - key <AC02> { - type= "ALPHABETIC", - symbols[Group1]= [ s, S ] - }; - key <AC03> { - type= "ALPHABETIC", - symbols[Group1]= [ d, D ] - }; - key <AC04> { - type= "ALPHABETIC", - symbols[Group1]= [ f, F ] - }; - key <AC05> { - type= "ALPHABETIC", - symbols[Group1]= [ g, G ] - }; - key <AC06> { - type= "ALPHABETIC", - symbols[Group1]= [ h, H ] - }; - key <AC07> { - type= "ALPHABETIC", - symbols[Group1]= [ j, J ] - }; - key <AC08> { - type= "ALPHABETIC", - symbols[Group1]= [ k, K ] - }; - key <AC09> { - type= "ALPHABETIC", - symbols[Group1]= [ l, L ] - }; - key <AC10> { [ semicolon, colon ] }; - key <AC11> { [ apostrophe, quotedbl ] }; - key <TLDE> { [ grave, asciitilde ] }; - key <LFSH> { [ Shift_L ] }; - key <BKSL> { [ backslash, bar ] }; - key <AB01> { - type= "ALPHABETIC", - symbols[Group1]= [ z, Z ] - }; - key <AB02> { - type= "ALPHABETIC", - symbols[Group1]= [ x, X ] - }; - key <AB03> { - type= "ALPHABETIC", - symbols[Group1]= [ c, C ] - }; - key <AB04> { - type= "ALPHABETIC", - symbols[Group1]= [ v, V ] - }; - key <AB05> { - type= "ALPHABETIC", - symbols[Group1]= [ b, B ] - }; - key <AB06> { - type= "ALPHABETIC", - symbols[Group1]= [ n, N ] - }; - key <AB07> { - type= "ALPHABETIC", - symbols[Group1]= [ m, M ] - }; - key <AB08> { [ comma, less ] }; - key <AB09> { [ period, greater ] }; - key <AB10> { [ slash, question ] }; - key <RTSH> { [ Shift_R ] }; - key <KPMU> { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ] - }; - key <LALT> { [ Alt_L, Meta_L ] }; - key <SPCE> { [ space ] }; - key <CAPS> { [ Escape ] }; - key <FK01> { - type= "CTRL+ALT", - symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ] - }; - key <FK02> { - type= "CTRL+ALT", - symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ] - }; - key <FK03> { - type= "CTRL+ALT", - symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ] - }; - key <FK04> { - type= "CTRL+ALT", - symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ] - }; - key <FK05> { - type= "CTRL+ALT", - symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ] - }; - key <FK06> { - type= "CTRL+ALT", - symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ] - }; - key <FK07> { - type= "CTRL+ALT", - symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ] - }; - key <FK08> { - type= "CTRL+ALT", - symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ] - }; - key <FK09> { - type= "CTRL+ALT", - symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ] - }; - key <FK10> { - type= "CTRL+ALT", - symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ] - }; - key <NMLK> { [ Num_Lock ] }; - key <SCLK> { [ Scroll_Lock ] }; - key <KP7> { [ KP_Home, KP_7 ] }; - key <KP8> { [ KP_Up, KP_8 ] }; - key <KP9> { [ KP_Prior, KP_9 ] }; - key <KPSU> { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ] - }; - key <KP4> { [ KP_Left, KP_4 ] }; - key <KP5> { [ KP_Begin, KP_5 ] }; - key <KP6> { [ KP_Right, KP_6 ] }; - key <KPAD> { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ] - }; - key <KP1> { [ KP_End, KP_1 ] }; - key <KP2> { [ KP_Down, KP_2 ] }; - key <KP3> { [ KP_Next, KP_3 ] }; - key <KP0> { [ KP_Insert, KP_0 ] }; - key <KPDL> { [ KP_Delete, KP_Decimal ] }; - key <LVL3> { [ ISO_Level3_Shift ] }; - key <LSGT> { - type= "FOUR_LEVEL", - symbols[Group1]= [ less, greater, bar, brokenbar ] - }; - key <FK11> { - type= "CTRL+ALT", - symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ] - }; - key <FK12> { - type= "CTRL+ALT", - symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ] - }; - key <KATA> { [ Katakana ] }; - key <HIRA> { [ Hiragana ] }; - key <HENK> { [ Henkan_Mode ] }; - key <HKTG> { [ Hiragana_Katakana ] }; - key <MUHE> { [ Muhenkan ] }; - key <KPEN> { [ KP_Enter ] }; - key <RCTL> { [ Control_R ] }; - key <KPDV> { - type= "CTRL+ALT", - symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ] - }; - key <PRSC> { - type= "PC_ALT_LEVEL2", - symbols[Group1]= [ Print, Sys_Req ] - }; - key <RALT> { - type= "TWO_LEVEL", - symbols[Group1]= [ Alt_R, Meta_R ] - }; - key <LNFD> { [ Linefeed ] }; - key <HOME> { [ Home ] }; - key <UP> { [ Up ] }; - key <PGUP> { [ Prior ] }; - key <LEFT> { [ Left ] }; - key <RGHT> { [ Right ] }; - key <END> { [ End ] }; - key <DOWN> { [ Down ] }; - key <PGDN> { [ Next ] }; - key <INS> { [ Insert ] }; - key <DELE> { [ Delete ] }; - key <MUTE> { [ XF86AudioMute ] }; - key <VOL-> { [ XF86AudioLowerVolume ] }; - key <VOL+> { [ XF86AudioRaiseVolume ] }; - key <POWR> { [ XF86PowerOff ] }; - key <KPEQ> { [ KP_Equal ] }; - key <I126> { [ plusminus ] }; - key <PAUS> { - type= "PC_CONTROL_LEVEL2", - symbols[Group1]= [ Pause, Break ] - }; - key <I128> { [ XF86LaunchA ] }; - key <I129> { [ KP_Decimal, KP_Decimal ] }; - key <HNGL> { [ Hangul ] }; - key <HJCV> { [ Hangul_Hanja ] }; - key <LWIN> { [ Super_L ] }; - key <RWIN> { - type= "TWO_LEVEL", - symbols[Group1]= [ Multi_key, Multi_key ] - }; - key <COMP> { [ Menu ] }; - key <STOP> { [ Cancel ] }; - key <AGAI> { [ Redo ] }; - key <PROP> { [ SunProps ] }; - key <UNDO> { [ Undo ] }; - key <FRNT> { [ SunFront ] }; - key <COPY> { [ XF86Copy ] }; - key <OPEN> { [ XF86Open ] }; - key <PAST> { [ XF86Paste ] }; - key <FIND> { [ Find ] }; - key <CUT> { [ XF86Cut ] }; - key <HELP> { [ Help ] }; - key <I147> { [ XF86MenuKB ] }; - key <I148> { [ XF86Calculator ] }; - key <I150> { [ XF86Sleep ] }; - key <I151> { [ XF86WakeUp ] }; - key <I152> { [ XF86Explorer ] }; - key <I153> { [ XF86Send ] }; - key <I155> { [ XF86Xfer ] }; - key <I156> { [ XF86Launch1 ] }; - key <I157> { [ XF86Launch2 ] }; - key <I158> { [ XF86WWW ] }; - key <I159> { [ XF86DOS ] }; - key <I160> { [ XF86ScreenSaver ] }; - key <I161> { [ XF86RotateWindows ] }; - key <I162> { [ XF86TaskPane ] }; - key <I163> { [ XF86Mail ] }; - key <I164> { [ XF86Favorites ] }; - key <I165> { [ XF86MyComputer ] }; - key <I166> { [ XF86Back ] }; - key <I167> { [ XF86Forward ] }; - key <I169> { [ XF86Eject ] }; - key <I170> { [ XF86Eject, XF86Eject ] }; - key <I171> { [ XF86AudioNext ] }; - key <I172> { [ XF86AudioPlay, XF86AudioPause ] }; - key <I173> { [ XF86AudioPrev ] }; - key <I174> { [ XF86AudioStop, XF86Eject ] }; - key <I175> { [ XF86AudioRecord ] }; - key <I176> { [ XF86AudioRewind ] }; - key <I177> { [ XF86Phone ] }; - key <I179> { [ XF86Tools ] }; - key <I180> { [ XF86HomePage ] }; - key <I181> { [ XF86Reload ] }; - key <I182> { [ XF86Close ] }; - key <I185> { [ XF86ScrollUp ] }; - key <I186> { [ XF86ScrollDown ] }; - key <I187> { [ parenleft ] }; - key <I188> { [ parenright ] }; - key <I189> { [ XF86New ] }; - key <I190> { [ Redo ] }; - key <FK13> { [ XF86Tools ] }; - key <FK14> { [ XF86Launch5 ] }; - key <FK15> { [ XF86Launch6 ] }; - key <FK16> { [ XF86Launch7 ] }; - key <FK17> { [ XF86Launch8 ] }; - key <FK18> { [ XF86Launch9 ] }; - key <FK20> { [ XF86AudioMicMute ] }; - key <FK21> { [ XF86TouchpadToggle ] }; - key <FK22> { [ XF86TouchpadOn ] }; - key <FK23> { [ XF86TouchpadOff ] }; - key <MDSW> { [ Mode_switch ] }; - key <ALT> { [ NoSymbol, Alt_L ] }; - key <META> { [ NoSymbol, Meta_L ] }; - key <SUPR> { [ NoSymbol, Super_L ] }; - key <HYPR> { [ NoSymbol, Hyper_L ] }; - key <I208> { [ XF86AudioPlay ] }; - key <I209> { [ XF86AudioPause ] }; - key <I210> { [ XF86Launch3 ] }; - key <I211> { [ XF86Launch4 ] }; - key <I212> { [ XF86LaunchB ] }; - key <I213> { [ XF86Suspend ] }; - key <I214> { [ XF86Close ] }; - key <I215> { [ XF86AudioPlay ] }; - key <I216> { [ XF86AudioForward ] }; - key <I218> { [ Print ] }; - key <I220> { [ XF86WebCam ] }; - key <I223> { [ XF86Mail ] }; - key <I224> { [ XF86Messenger ] }; - key <I225> { [ XF86Search ] }; - key <I226> { [ XF86Go ] }; - key <I227> { [ XF86Finance ] }; - key <I228> { [ XF86Game ] }; - key <I229> { [ XF86Shop ] }; - key <I231> { [ Cancel ] }; - key <I232> { [ XF86MonBrightnessDown ] }; - key <I233> { [ XF86MonBrightnessUp ] }; - key <I234> { [ XF86AudioMedia ] }; - key <I235> { [ XF86Display ] }; - key <I236> { [ XF86KbdLightOnOff ] }; - key <I237> { [ XF86KbdBrightnessDown ] }; - key <I238> { [ XF86KbdBrightnessUp ] }; - key <I239> { [ XF86Send ] }; - key <I240> { [ XF86Reply ] }; - key <I241> { [ XF86MailForward ] }; - key <I242> { [ XF86Save ] }; - key <I243> { [ XF86Documents ] }; - key <I244> { [ XF86Battery ] }; - key <I245> { [ XF86Bluetooth ] }; - key <I246> { [ XF86WLAN ] }; - modifier_map Control { <LCTL> }; - modifier_map Shift { <LFSH> }; - modifier_map Shift { <RTSH> }; - modifier_map Mod1 { <LALT> }; - modifier_map Mod2 { <NMLK> }; - modifier_map Mod5 { <LVL3> }; - modifier_map Mod4 { <RCTL> }; - modifier_map Mod1 { <RALT> }; - modifier_map Mod4 { <LWIN> }; - modifier_map Mod5 { <MDSW> }; - modifier_map Mod1 { <META> }; - modifier_map Mod4 { <SUPR> }; - modifier_map Mod4 { <HYPR> }; -}; - -xkb_geometry "pc(pc105)" { - - width= 470; - height= 180; - - alias <AC00> = <CAPS>; - alias <AA00> = <LCTL>; - - baseColor= "white"; - labelColor= "black"; - xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; - description= "Generic 105"; - - shape "NORM" { - corner= 1, - { [ 18, 18 ] }, - { [ 2, 1 ], [ 16, 16 ] } - }; - shape "BKSP" { - corner= 1, - { [ 38, 18 ] }, - { [ 2, 1 ], [ 36, 16 ] } - }; - shape "TABK" { - corner= 1, - { [ 28, 18 ] }, - { [ 2, 1 ], [ 26, 16 ] } - }; - shape "BKSL" { - corner= 1, - { [ 28, 18 ] }, - { [ 2, 1 ], [ 26, 16 ] } - }; - shape "RTRN" { - corner= 1, - { [ 0, 0 ], [ 28, 0 ], [ 28, 37 ], [ 5, 37 ], - [ 5, 18 ], [ 0, 18 ] }, - { [ 2, 1 ], [ 26, 1 ], [ 26, 35 ], [ 7, 35 ], - [ 7, 16 ], [ 2, 16 ] }, - approx= { [ 5, 0 ], [ 28, 37 ] } - }; - shape "CAPS" { - corner= 1, - { [ 33, 18 ] }, - { [ 2, 1 ], [ 31, 16 ] } - }; - shape "LFSH" { - corner= 1, - { [ 25, 18 ] }, - { [ 2, 1 ], [ 23, 16 ] } - }; - shape "RTSH" { - corner= 1, - { [ 50, 18 ] }, - { [ 2, 1 ], [ 48, 16 ] } - }; - shape "MODK" { - corner= 1, - { [ 27, 18 ] }, - { [ 2, 1 ], [ 25, 16 ] } - }; - shape "SMOD" { - corner= 1, - { [ 23, 18 ] }, - { [ 2, 1 ], [ 21, 16 ] } - }; - shape "SPCE" { - corner= 1, - { [ 113, 18 ] }, - { [ 2, 1 ], [ 111, 16 ] } - }; - shape "KP0" { - corner= 1, - { [ 37, 18 ] }, - { [ 2, 1 ], [ 35, 16 ] } - }; - shape "KPAD" { - corner= 1, - { [ 18, 37 ] }, - { [ 2, 1 ], [ 16, 35 ] } - }; - shape "LEDS" { { [ 75, 20 ] } }; - shape "LED" { { [ 5, 1 ] } }; - section "Function" { - key.color= "grey20"; - priority= 7; - top= 22; - left= 19; - width= 351; - height= 19; - row { - top= 1; - left= 1; - keys { - { <ESC>, "NORM", 1 }, - { <FK01>, "NORM", 20, color="white" }, - { <FK02>, "NORM", 1, color="white" }, - { <FK03>, "NORM", 1, color="white" }, - { <FK04>, "NORM", 1, color="white" }, - { <FK05>, "NORM", 11, color="white" }, - { <FK06>, "NORM", 1, color="white" }, - { <FK07>, "NORM", 1, color="white" }, - { <FK08>, "NORM", 1, color="white" }, - { <FK09>, "NORM", 11, color="white" }, - { <FK10>, "NORM", 1, color="white" }, - { <FK11>, "NORM", 1, color="white" }, - { <FK12>, "NORM", 1, color="white" }, - { <PRSC>, "NORM", 8, color="white" }, - { <SCLK>, "NORM", 1, color="white" }, - { <PAUS>, "NORM", 1, color="white" } - }; - }; - }; // End of "Function" section - - section "Alpha" { - key.color= "white"; - priority= 8; - top= 61; - left= 19; - width= 287; - height= 95; - row { - top= 1; - left= 1; - keys { - { <TLDE>, "NORM", 1 }, { <AE01>, "NORM", 1 }, - { <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 }, - { <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 }, - { <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 }, - { <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 }, - { <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 }, - { <AE12>, "NORM", 1 }, - { <BKSP>, "BKSP", 1, color="grey20" } - }; - }; - row { - top= 20; - left= 1; - keys { - { <TAB>, "TABK", 1, color="grey20" }, - { <AD01>, "NORM", 1 }, { <AD02>, "NORM", 1 }, - { <AD03>, "NORM", 1 }, { <AD04>, "NORM", 1 }, - { <AD05>, "NORM", 1 }, { <AD06>, "NORM", 1 }, - { <AD07>, "NORM", 1 }, { <AD08>, "NORM", 1 }, - { <AD09>, "NORM", 1 }, { <AD10>, "NORM", 1 }, - { <AD11>, "NORM", 1 }, { <AD12>, "NORM", 1 }, - { <RTRN>, "RTRN", 1, color="grey20" } - }; - }; - row { - top= 39; - left= 1; - keys { - { <CAPS>, "CAPS", 1, color="grey20" }, - { <AC01>, "NORM", 1 }, { <AC02>, "NORM", 1 }, - { <AC03>, "NORM", 1 }, { <AC04>, "NORM", 1 }, - { <AC05>, "NORM", 1 }, { <AC06>, "NORM", 1 }, - { <AC07>, "NORM", 1 }, { <AC08>, "NORM", 1 }, - { <AC09>, "NORM", 1 }, { <AC10>, "NORM", 1 }, - { <AC11>, "NORM", 1 }, { <BKSL>, "NORM", 1 } - }; - }; - row { - top= 58; - left= 1; - keys { - { <LFSH>, "LFSH", 1, color="grey20" }, - { <LSGT>, "NORM", 1 }, { <AB01>, "NORM", 1 }, - { <AB02>, "NORM", 1 }, { <AB03>, "NORM", 1 }, - { <AB04>, "NORM", 1 }, { <AB05>, "NORM", 1 }, - { <AB06>, "NORM", 1 }, { <AB07>, "NORM", 1 }, - { <AB08>, "NORM", 1 }, { <AB09>, "NORM", 1 }, - { <AB10>, "NORM", 1 }, - { <RTSH>, "RTSH", 1, color="grey20" } - }; - }; - row { - top= 77; - left= 1; - keys { - { <LCTL>, "MODK", 1, color="grey20" }, - { <LWIN>, "SMOD", 1, color="grey20" }, - { <LALT>, "SMOD", 1, color="grey20" }, - { <SPCE>, "SPCE", 1 }, - { <RALT>, "SMOD", 1, color="grey20" }, - { <RWIN>, "SMOD", 1, color="grey20" }, - { <MENU>, "SMOD", 1, color="grey20" }, - { <RCTL>, "SMOD", 1, color="grey20" } - }; - }; - }; // End of "Alpha" section - - section "Editing" { - key.color= "grey20"; - priority= 9; - top= 61; - left= 312; - width= 58; - height= 95; - row { - top= 1; - left= 1; - keys { - { <INS>, "NORM", 1 }, { <HOME>, "NORM", 1 }, - { <PGUP>, "NORM", 1 } - }; - }; - row { - top= 20; - left= 1; - keys { - { <DELE>, "NORM", 1 }, { <END>, "NORM", 1 }, - { <PGDN>, "NORM", 1 } - }; - }; - row { - top= 58; - left= 20; - keys { - { <UP>, "NORM", 1 } - }; - }; - row { - top= 77; - left= 1; - keys { - { <LEFT>, "NORM", 1 }, { <DOWN>, "NORM", 1 }, - { <RGHT>, "NORM", 1 } - }; - }; - }; // End of "Editing" section - - section "Keypad" { - key.color= "grey20"; - priority= 10; - top= 61; - left= 376; - width= 77; - height= 95; - row { - top= 1; - left= 1; - keys { - { <NMLK>, "NORM", 1 }, { <KPDV>, "NORM", 1 }, - { <KPMU>, "NORM", 1 }, { <KPSU>, "NORM", 1 } - }; - }; - row { - top= 20; - left= 1; - keys { - { <KP7>, "NORM", 1, color="white" }, - { <KP8>, "NORM", 1, color="white" }, - { <KP9>, "NORM", 1, color="white" }, - { <KPAD>, "KPAD", 1 } - }; - }; - row { - top= 39; - left= 1; - keys { - { <KP4>, "NORM", 1, color="white" }, - { <KP5>, "NORM", 1, color="white" }, - { <KP6>, "NORM", 1, color="white" } - }; - }; - row { - top= 58; - left= 1; - keys { - { <KP1>, "NORM", 1, color="white" }, - { <KP2>, "NORM", 1, color="white" }, - { <KP3>, "NORM", 1, color="white" }, - { <KPEN>, "KPAD", 1 } - }; - }; - row { - top= 77; - left= 1; - keys { - { <KP0>, "KP0", 1, color="white" }, - { <KPDL>, "NORM", 1, color="white" } - }; - }; - }; // End of "Keypad" section - - solid "LedPanel" { - top= 22; - left= 377; - priority= 0; - color= "grey10"; - shape= "LEDS"; - }; - indicator "Num Lock" { - top= 37; - left= 382; - priority= 1; - onColor= "green"; - offColor= "green30"; - shape= "LED"; - }; - indicator "Caps Lock" { - top= 37; - left= 407; - priority= 2; - onColor= "green"; - offColor= "green30"; - shape= "LED"; - }; - indicator "Scroll Lock" { - top= 37; - left= 433; - priority= 3; - onColor= "green"; - offColor= "green30"; - shape= "LED"; - }; - text "NumLockLabel" { - top= 25; - left= 378; - priority= 4; - width= 19.8; - height= 10; - XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; - text= "Num\nLock"; - }; - text "CapsLockLabel" { - top= 25; - left= 403; - priority= 5; - width= 26.4; - height= 10; - XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; - text= "Caps\nLock"; - }; - text "ScrollLockLabel" { - top= 25; - left= 428; - priority= 6; - width= 39.6; - height= 10; - XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; - text= "Scroll\nLock"; - }; -}; - -}; diff --git a/config/locale.conf b/config/locale.conf deleted file mode 100644 index 01ec548f..00000000 --- a/config/locale.conf +++ /dev/null @@ -1 +0,0 @@ -LANG=en_US.UTF-8 diff --git a/config/mpd/mpd.conf b/config/mpd/mpd.conf deleted file mode 100644 index 70c2cb87..00000000 --- a/config/mpd/mpd.conf +++ /dev/null @@ -1,15 +0,0 @@ -# Required files -db_file "~/.config/mpd/database" -log_file "~/.config/mpd/log" - -# Optional -music_directory "~/Music" -playlist_directory "~/.config/mpd/playlists" -pid_file "~/.config/mpd/pid" -state_file "~/.config/mpd/state" -sticker_file "~/.config/mpd/sticker.sql" - -audio_output { - type "pulse" - name "pulse audio" -} diff --git a/config/neomutt/.gitignore b/config/neomutt/.gitignore deleted file mode 100644 index cf576c26..00000000 --- a/config/neomutt/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -aliases -default-profile -imap diff --git a/config/neomutt/README.md b/config/neomutt/README.md deleted file mode 100644 index 982f472f..00000000 --- a/config/neomutt/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# Requirements - -- neomutt -- neovim / vim -- mbsync (isync) -- msmtp - - -## Accessing documentation - -```sh -neomutt -O -Q smart_wrap -``` - -## Fetching emails / IMAP sync - -mbsync from isync package. - -## Sending emails - -msmtp - -## S/MIME signing - -### On Mac OS X using gpgme (simplified conf) - -See http://wiki.netbsd.org/users/wiz/mutt-smime/ - -```sh -gpgsm --import TrustedRoot.crt -gpgsm --import DigiCertCA.crt -gpgsm --import baptiste_grenier_until_2021_02.p12 -gpgsm --list-keys -``` - -### On Mac OS X using mutt/neomutt smime_keyes feature - -Initialize smime store - -```sh -/usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys init -# Import DigiCert root -/usr/local/Cellar/neomutt/20180716//libexec/neomutt/smime_keys add_root baptiste_grenier/TrustedRoot.crt -# Import certificate, key and DigiCert intermediate certificate -/usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys add_chain userkey.pem-new usercert.pem-new baptiste_grenier/DigiCertCA.crt -``` diff --git a/config/neomutt/bindings b/config/neomutt/bindings deleted file mode 100644 index 7abbca25..00000000 --- a/config/neomutt/bindings +++ /dev/null @@ -1,101 +0,0 @@ -# Key bindings, macros - -bind editor <Tab> complete-query - -# Needed to fix handling of space in dir names -bind editor <space> noop -# bind pager g top -bind pager G bottom -bind pager j next-line -bind pager k previous-line -bind pager i edit -bind pager R group-reply -bind pager <down> next-line -bind pager <up> previous-line -bind pager \cd half-down -bind pager \ce next-line -bind pager \cf next-page -bind pager \cm next-line -bind pager \cn half-down -bind pager \cn next-page -bind pager \cp half-up -bind pager \cu half-up -bind pager N next-unread -bind index,pager F flag-message - -# bind index g first-entry -bind index G last-entry -bind index H current-top -bind index M current-middle -bind index L current-bottom -bind index <pagedown> next-page -bind index <pageup> previous-page -bind index zt current-top -bind index zz current-middle -bind index zb current-bottom -bind index { top-page -bind index } bottom-page -bind index N toggle-new -bind index <Right> display-message - -bind index,pager \t next-unread -bind index,pager ,\t previous-unread - -# Limit view to current thread -# http://www.neomutt.org/feature/limit-current-thread/ -# XXX Disabled whiled testing mutt -# bind index <esc>L limit-current-thread - -# Fetching mail -# macro index \cf "<shell-escape>offlineimap -o<enter>" -macro index \cf "<shell-escape>mbsync -a<enter>" - -# default save path -macro attach s <save-entry><bol>~/Downloads/<eol> - -# https://gist.github.com/manolomartinez/7082024 -macro attach S "<pipe-message>muttsaveattach"<enter> - -#macro index,pager I <set-flag>O "Mark as read" -#macro index,pager U <clear-flag>O "Mark as unread" - -# https://www.neomutt.org/guide/configuration.html#bind-warnings -bind index,pager g noop -# macro index,pager gl <change-folder>? "Go to 'Label'" -# macro index,pager gi \ -# <change-folder>=INBOX<enter> \ -# "Go to inbox" - -# macros to invoke a profile -# macro index <F8> ":source ~/.config/neomutt/profile.egi<enter><change-folder>!<enter>" "Load profile: egi" -# macro index <F9> ":source ~/.config/neomutt/profile.perso<enter><change-folder>!<enter>" "Load profile: perso" - -macro compose <F8> "<enter-command>source ~/.config/neomutt/profile-maildir.egi<enter><edit-from>\ - <kill-line>Baptiste Grenier <baptiste.grenier@egi.eu><enter><enter-command>\ - set editor='chsig ~/.config/neomutt/signature-egi'<enter><edit-headers><enter>" \ - "Load profile: egi" -macro compose <F9> "<enter-command>source ~/.config/neomutt/profile-maildir.perso<enter><edit-from>\ - <kill-line>Baptiste Grenier <baptiste@bapt.name><enter><enter-command>\ - set editor='chsig ~/.config/neomutt/signature-perso'<enter><edit-headers><enter>" \ - "Load profile: perso" - -# macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>' - -# Use Ctrl-l to list URL using urlscan -# macro pager \cl <pipe-entry>'urlscan'<enter> 'Follow links with urlscan' -# macro pager \Cl "<pipe-entry>urlview<enter>" "call urlview to open links" -macro index,pager \cl "\ - <enter-command> unset pipe_decode<enter> \ - <pipe-message>extract_url<enter>" \ - "get URLs with extract_url" - -# show flagged and unread mails (i.e. important) -macro index \' "l(~F | ~U) ! ~D\r" "Show Important Mails" - -# Create a taskwarrior task using mutt2task -# macro index,pager t "<pipe-message>mutt2task.py<enter>" - -# Use Ctrl-a to print a message smime info using openssl -macro index,pager \Ca "<pipe-entry>openssl smime -verify -noverify -pk7out | openssl pkcs7 -print_certs | openssl x509 -subject -issuer -dates -text | less<enter>" "call OpenSSL to print S/MIME info" - -# vim: set ft=muttrc: diff --git a/config/neomutt/colors b/config/neomutt/colors deleted file mode 100644 index 18940312..00000000 --- a/config/neomutt/colors +++ /dev/null @@ -1,9 +0,0 @@ -# Colors - -# Nord-inspired theme, but not perfect -# source ~/.config/neomutt/colors-oxubax -source ~/.config/neomutt/colors-solarized-dark-256.muttrc -# source ~/.config/neomutt/colors-nord-16.muttrc -# source ~/.config/neomutt/colors-dracula.muttrc - -# vim: set ft=muttrc: diff --git a/config/neomutt/colors-dracula.muttrc b/config/neomutt/colors-dracula.muttrc deleted file mode 100644 index aa77d0fd..00000000 --- a/config/neomutt/colors-dracula.muttrc +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################### -# Dracula Theme for Mutt: https://draculatheme.com/ -# -# @author Paul Townsend <paul@caprica.org> - -# general ------------ foreground ---- background ----------------------------- -color error color231 color212 -color indicator color231 color241 -color markers color210 default -color message default default -color normal default default -color prompt default default -color search color84 default -color status color141 color236 -color tilde color231 default -color tree color141 default - -# message index ------ foreground ---- background ----------------------------- -color index color210 default ~D # deleted messages -color index color84 default ~F # flagged messages -color index color117 default ~N # new messages -color index color212 default ~Q # messages which have been replied to -color index color215 default ~T # tagged messages -color index color141 default ~v # messages part of a collapsed thread - -# message headers ---- foreground ---- background ----------------------------- -color hdrdefault color117 default -color header color231 default ^Subject:.* - -# message body ------- foreground ---- background ----------------------------- -color attachment color228 default -color body color231 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses -color body color228 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs -color body color231 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text -color body color231 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text -color body color231 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text -color quoted color61 default -color quoted1 color117 default -color quoted2 color84 default -color quoted3 color215 default -color quoted4 color212 default -color signature color212 default diff --git a/config/neomutt/colors-nord-16.muttrc b/config/neomutt/colors-nord-16.muttrc deleted file mode 100644 index eb46de86..00000000 --- a/config/neomutt/colors-nord-16.muttrc +++ /dev/null @@ -1,95 +0,0 @@ -# vim: filetype=muttrc - -# basic colors -color normal black default -color error red default -color tilde black default -color message cyan default -color markers red white -color attachment white default -color search brightmagenta default -color status brightblack black -# Current message -color indicator black brightblack -color tree brightblack default - -# basic monocolor screen -mono bold bold -mono underline underline -mono indicator reverse -mono error bold - -# index - -color index red default "~A" # all messages -color index brightred default "~E" # expired messages -color index blue default "~N" # new messages -color index blue default "~O" # old messages -color index brightmagenta default "~Q" # messages that have been replied to -color index lightblue default "~R" # read messages -color index blue default "~U" # unread messages -color index blue default "~U~$" # unread, unreferenced messages -color index brightblack default "~v" # messages part of a collapsed thread -color index brightblack default "~P" # messages from me -color index cyan default "~p!~F" # messages to me -color index cyan default "~N~p!~F" # new messages to me -color index cyan default "~U~p!~F" # unread messages to me -color index lightblue default "~R~p!~F" # messages to me -color index red default "~F" # flagged messages -color index red default "~F~p" # flagged messages to me -color index red default "~N~F" # new flagged messages -color index red default "~N~F~p" # new flagged messages to me -color index red default "~U~F~p" # new flagged messages to me -color index black red "~D" # deleted messages -color index brightcyan default "~v~(!~N)" # collapsed thread with no unread -color index brightblack default "~v~(~N)" # collapsed thread with some unread -color index blue default "~N~v~(~N)" # collapsed thread with unread parent -# statusbg used to indicated flagged when foreground color shows other status -# for collapsed thread -color index red black "~v~(~F)!~N" # collapsed thread with flagged, no unread -color index brightblack black "~v~(~F~N)" # collapsed thread with some unread & flagged -color index blue black "~N~v~(~F~N)" # collapsed thread with unread parent & flagged -color index blue black "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged -color index cyan black "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly -color index brightblack red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) - -# message headers - -#color header lightblue default "^" -color hdrdefault lightblue default -color header brightblack default "^(From)" -color header blue default "^(Subject)" - -# body - -color quoted blue default -color quoted1 cyan default -color quoted2 brightblack default -color quoted3 red default -color quoted4 brightred default - -color signature lightblue default -color bold black default -color underline black default -color normal default default -# -color body brightcyan default "[;:][-o][)/(|]" # emoticons -color body brightcyan default "[;:][)(|]" # emoticons -color body brightcyan default "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ - |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ - |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" -color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? -color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? - -## pgp - -color body red default "(BAD signature)" -color body cyan default "(Good signature)" -color body brightblack default "^gpg: Good signature .*" -color body brightblack default "^gpg: " -color body brightblack red "^gpg: BAD signature from.*" -mono body bold "^gpg: Good signature" -mono body bold "^gpg: BAD signature from.*" - -# yes, an insance URL regex -color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" diff --git a/config/neomutt/colors-nord.muttrc b/config/neomutt/colors-nord.muttrc deleted file mode 100644 index 1b19913c..00000000 --- a/config/neomutt/colors-nord.muttrc +++ /dev/null @@ -1,172 +0,0 @@ -# vim: filetype=muttrc -# https://neomutt.org/guide/configuration#10-%C2%A0using-color-and-mono-video-attributes -# https://github.com/arcticicestudio - -# nord0 - main background - black -# nord1 -# nord2 -# nord3 -# nord4 -# nord5 -# nord6 -# nord7 -# nord8 -# nord9 -# nord10 -# nord11 -# nord12 -# nord13 -# nord14 -# nord15 - -# make sure that you are using mutt linked against slang, not ncurses, or -# suffer the consequences of weird color issues. use "mutt -v" to check this. - -# custom body highlights -# highlight my name and other personally relevant strings -color body brightblue black "(baptiste|genier|gnubila|healthgrid|egi|boob|bgrenier|gwarf)" -# custom index highlights -# messages which mention my name in the body -color index brightblue black "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" -color index brightblue brightmagenta "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" -color index blue black "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" - -# for background in 16 color terminal, valid background colors include: -# base03, bg, black, any of the non brights - -# basic colors --------------------------------------------------------- -# color normal cyan black -color normal cyan black -color error color160 black -color tilde color235 black -color message brightmagenta black -color markers color160 color254 -color attachment color254 black -color search color61 black -#color status J_black J_status -color status cyan color235 -color indicator black brightblue -# arrow in threads -color tree brightblue black - -# basic monocolor screen -mono bold bold -mono underline underline -mono indicator reverse -mono error bold - -# index ---------------------------------------------------------------- - -#color index color160 black "~D(!~p|~p)" # deleted -#color index color235 black ~F # flagged -#color index color166 black ~= # duplicate messages -#color index color240 black "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest -#color index J_base black "~A~N!~T!~p!~Q!~F!~D" # the rest, new -color index color160 black "~A" # all messages -color index color166 black "~E" # expired messages -color index color33 black "~N" # new messages -color index color33 black "~O" # old messages -color index color61 black "~Q" # messages that have been replied to -color index color240 black "~R" # read messages -color index color33 black "~U" # unread messages -color index color33 black "~U~$" # unread, unreferenced messages -color index cyan black "~v" # messages part of a collapsed thread -color index cyan black "~P" # messages from me -color index brightmagenta black "~p!~F" # messages to me -color index brightmagenta black "~N~p!~F" # new messages to me -color index brightmagenta black "~U~p!~F" # unread messages to me -color index color240 black "~R~p!~F" # messages to me -color index color160 black "~F" # flagged messages -color index color160 black "~F~p" # flagged messages to me -color index color160 black "~N~F" # new flagged messages -color index color160 black "~N~F~p" # new flagged messages to me -color index color160 black "~U~F~p" # new flagged messages to me -color index color235 color160 "~D" # deleted messages -color index color245 black "~v~(!~N)" # collapsed thread with no unread -color index brightblue black "~v~(~N)" # collapsed thread with some unread -color index color64 black "~N~v~(~N)" # collapsed thread with unread parent -# statusbg used to indicated flagged when foreground color shows other status -# for collapsed thread -color index color160 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread -color index brightblue color235 "~v~(~F~N)" # collapsed thread with some unread & flagged -color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged -color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged -color index brightmagenta color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly -color index brightblue color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) -#color index brightblue black "~(~N)" # messages in threads with some unread -#color index color64 black "~S" # superseded messages -color index color160 black "~T" # tagged messages -#color index color166 color160 "~=" # duplicated messages - -# message headers ------------------------------------------------------ - -#color header color240 black "^" -color hdrdefault color240 black -color header color33 black "^(From)" -color header color33 black "^(Subject)" - -# body ----------------------------------------------------------------- - -color quoted color33 black -color quoted1 brightmagenta black -color quoted2 brightblue black -color quoted3 color160 black -color quoted4 color166 black - -color signature color240 black -color bold color235 black -color underline color235 black -color normal color244 black -# -color body color245 black "[;:][-o][)/(|]" # emoticons -color body color245 black "[;:][)(|]" # emoticons -color body color245 black "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ - |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ - |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" -color body color245 black "[ ][*][^*]*[*][ ]?" # more emoticon? -color body color245 black "[ ]?[*][^*]*[*][ ]" # more emoticon? - -## pgp - -color body color160 black "(BAD signature)" -color body brightmagenta black "(Good signature)" -color body black color234 "^gpg: Good signature .*" -color body cyan black "^gpg: " -color body cyan color160 "^gpg: BAD signature from.*" -mono body bold "^gpg: Good signature" -mono body bold "^gpg: BAD signature from.*" - -# yes, an insance URL regex -color body color160 black "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" -# and a heavy handed email regex -color body color160 black "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" - -# Various smilies and the like -#color body color230 black "<[Gg]>" # <g> -#color body color230 black "<[Bb][Gg]>" # <bg> -#color body brightblue black " [;:]-*[})>{(<|]" # :-) etc... -# *bold* -color body color33 black "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -# _underline_ -color body color33 black "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -# /italic/ (Sometimes gets directory names) -color body color33 black "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" -mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - -# Border lines. -#color body color33 black "( *[-+=#*~_]){6,}" - -#folder-hook . "color status J_black J_status " -#folder-hook gmail/inbox "color status J_black brightblue " -#folder-hook gmail/important "color status J_black brightblue " - -# patch/diff -color body green default "^diff \-.*" -color body green default "^index [a-f0-9].*" -color body green default "^\-\-\- .*" -color body green default "^[\+]{3} .*" -color body cyan default "^[\+][^\+]+.*" -color body red default "^\-[^\-]+.*" -color body brightblue default "^@@ .*" diff --git a/config/neomutt/colors-oxubax b/config/neomutt/colors-oxubax deleted file mode 100644 index bf36ce96..00000000 --- a/config/neomutt/colors-oxubax +++ /dev/null @@ -1,39 +0,0 @@ -# mutt color scheme - -color normal default default # default colours -color index brightblue default ~N # new messages -color index red default ~F # flagged messages -color index blue default ~T # tagged messages -color index cyan default ~D # deleted messages -color body brightyellow default (https?|ftp)://[\-\.+,/%~_:?&=\#a-zA-Z0-9]+ -color body brightgreen default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ -color attachment magenta default # attachments -color signature brightwhite default # sigs -color search brightred black # highlight results - -color indicator brightyellow default # currently highlighted message -color error red default # error messages -color status white cyan # status line -color tree brightblack default # thread tree -color tilde cyan default # blank line padding - -color hdrdefault black cyan # default headers -color header brightwhite cyan "^From:" -color header brightwhite cyan "^Subject:" - -color quoted cyan default # quote colours -color quoted1 brightcyan default -color quoted2 blue default -color quoted3 green default -color quoted4 yellow default -color quoted5 red default - -color body green default "^gpg: Good signature from" -color body brightred default "^gpg: Bad signature from" -color body brightred default "^gpg: BAD signature from" -color body brightred default "^gpg: Note: This key has expired!" -color body brightyellow default "^gpg: WARNING: This key is not certified with a trusted signature!" -color body brightyellow default "^gpg: There is no indication that the signature belongs to the owner." -color body brightyellow default "^gpg: can't handle these multiple signatures" -color body brightyellow default "^gpg: signature verification suppressed" -color body brightyellow default "^gpg: invalid node with packet of type" diff --git a/config/neomutt/colors-solarized-dark-16.muttrc b/config/neomutt/colors-solarized-dark-16.muttrc deleted file mode 100644 index e9d6defb..00000000 --- a/config/neomutt/colors-solarized-dark-16.muttrc +++ /dev/null @@ -1,151 +0,0 @@ -# vim: filetype=muttrc - -# -# -# make sure that you are using mutt linked against slang, not ncurses, or -# suffer the consequences of weird color issues. use "mutt -v" to check this. - -# custom body highlights ----------------------------------------------- -# highlight my name and other personally relevant strings -#color body yellow default "(ethan|schoonover)" -# custom index highlights ---------------------------------------------- -# messages which mention my name in the body -#color index yellow default "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" -#color index J_cream brightwhite "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" -#color index yellow cyan "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" -#color index yellow J_magent "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" -## messages which are in reference to my mails -#color index J_magent default "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" -#color index J_magent brightwhite "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" -#color index J_magent cyan "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" -#color index J_magent red "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" - -# for background in 16 color terminal, valid background colors include: -# base03, bg, black, any of the non brights - -# basic colors --------------------------------------------------------- -color normal brightyellow default -color error red default -color tilde black default -color message cyan default -color markers red white -color attachment white default -color search brightmagenta default -#color status J_black J_status -color status brightyellow black -color indicator brightblack yellow -color tree yellow default # arrow in threads - -# basic monocolor screen -mono bold bold -mono underline underline -mono indicator reverse -mono error bold - -# index ---------------------------------------------------------------- - -#color index red default "~D(!~p|~p)" # deleted -#color index black default ~F # flagged -#color index brightred default ~= # duplicate messages -#color index brightgreen default "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest -#color index J_base default "~A~N!~T!~p!~Q!~F!~D" # the rest, new -color index red default "~A" # all messages -color index brightred default "~E" # expired messages -color index blue default "~N" # new messages -color index blue default "~O" # old messages -color index brightmagenta default "~Q" # messages that have been replied to -color index brightgreen default "~R" # read messages -color index blue default "~U" # unread messages -color index blue default "~U~$" # unread, unreferenced messages -color index brightyellow default "~v" # messages part of a collapsed thread -color index brightyellow default "~P" # messages from me -color index cyan default "~p!~F" # messages to me -color index cyan default "~N~p!~F" # new messages to me -color index cyan default "~U~p!~F" # unread messages to me -color index brightgreen default "~R~p!~F" # messages to me -color index red default "~F" # flagged messages -color index red default "~F~p" # flagged messages to me -color index red default "~N~F" # new flagged messages -color index red default "~N~F~p" # new flagged messages to me -color index red default "~U~F~p" # new flagged messages to me -color index black red "~D" # deleted messages -color index brightcyan default "~v~(!~N)" # collapsed thread with no unread -color index yellow default "~v~(~N)" # collapsed thread with some unread -color index green default "~N~v~(~N)" # collapsed thread with unread parent -# statusbg used to indicated flagged when foreground color shows other status -# for collapsed thread -color index red black "~v~(~F)!~N" # collapsed thread with flagged, no unread -color index yellow black "~v~(~F~N)" # collapsed thread with some unread & flagged -color index green black "~N~v~(~F~N)" # collapsed thread with unread parent & flagged -color index green black "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged -color index cyan black "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly -color index yellow red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) -#color index yellow default "~(~N)" # messages in threads with some unread -#color index green default "~S" # superseded messages -#color index red default "~T" # tagged messages -#color index brightred red "~=" # duplicated messages - -# message headers ------------------------------------------------------ - -#color header brightgreen default "^" -color hdrdefault brightgreen default -color header brightyellow default "^(From)" -color header blue default "^(Subject)" - -# body ----------------------------------------------------------------- - -color quoted blue default -color quoted1 cyan default -color quoted2 yellow default -color quoted3 red default -color quoted4 brightred default - -color signature brightgreen default -color bold black default -color underline black default -color normal default default -# -color body brightcyan default "[;:][-o][)/(|]" # emoticons -color body brightcyan default "[;:][)(|]" # emoticons -color body brightcyan default "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ - |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ - |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" -color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? -color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? - -## pgp - -color body red default "(BAD signature)" -color body cyan default "(Good signature)" -color body brightblack default "^gpg: Good signature .*" -color body brightyellow default "^gpg: " -color body brightyellow red "^gpg: BAD signature from.*" -mono body bold "^gpg: Good signature" -mono body bold "^gpg: BAD signature from.*" - -# yes, an insance URL regex -color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" -# and a heavy handed email regex -#color body J_magent default "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" - -# Various smilies and the like -#color body brightwhite default "<[Gg]>" # <g> -#color body brightwhite default "<[Bb][Gg]>" # <bg> -#color body yellow default " [;:]-*[})>{(<|]" # :-) etc... -# *bold* -#color body blue default "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -#mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -# _underline_ -#color body blue default "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -# /italic/ (Sometimes gets directory names) -#color body blue default "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - -# Border lines. -#color body blue default "( *[-+=#*~_]){6,}" - -#folder-hook . "color status J_black J_status " -#folder-hook gmail/inbox "color status J_black yellow " -#folder-hook gmail/important "color status J_black yellow " - diff --git a/config/neomutt/colors-solarized-dark-256.muttrc b/config/neomutt/colors-solarized-dark-256.muttrc deleted file mode 100644 index 0e51f71a..00000000 --- a/config/neomutt/colors-solarized-dark-256.muttrc +++ /dev/null @@ -1,163 +0,0 @@ -# vim: filetype=muttrc -# Colors: https://github.com/altercation/mutt-colors-solarized/blob/master/mutt-compile-colors.sh - -# -# make sure that you are using mutt linked against slang, not ncurses, or -# suffer the consequences of weird color issues. use "mutt -v" to check this. - -# custom body highlights ----------------------------------------------- -# highlight my name and other personally relevant strings -color body color136 color234 "(baptiste|genier|gnubila|healthgrid|egi|boob|bgrenier|gwarf)" -# custom index highlights ---------------------------------------------- -# messages which mention my name in the body -#color index color136 color234 "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" -#color index J_cream color230 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" -#color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" -#color index color136 color125 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" -color index color136 color234 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" -color index color136 color37 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" -## messages which are in reference to my mails -#color index color125 color234 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" -#color index color125 color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" -#color index color125 color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" -#color index color125 color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" -color index color125 color234 "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" - -# for background in 16 color terminal, valid background colors include: -# base03, bg, black, any of the non brights - -# basic colors --------------------------------------------------------- -color normal color241 color234 -color error color160 color234 -color tilde color235 color234 -color message color37 color234 -color markers color160 color254 -color attachment color254 color234 -color search color61 color234 -#color status J_black J_status -color status color241 color235 -color indicator color234 color136 -# arrow in threads -color tree color136 color234 - -# basic monocolor screen -mono bold bold -mono underline underline -mono indicator reverse -mono error bold - -# index ---------------------------------------------------------------- - -#color index color160 color234 "~D(!~p|~p)" # deleted -#color index color235 color234 ~F # flagged -#color index color166 color234 ~= # duplicate messages -#color index color240 color234 "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest -#color index J_base color234 "~A~N!~T!~p!~Q!~F!~D" # the rest, new -color index color160 color234 "~A" # all messages -color index color166 color234 "~E" # expired messages -color index color33 color234 "~N" # new messages -color index color33 color234 "~O" # old messages -color index color61 color234 "~Q" # messages that have been replied to -color index color240 color234 "~R" # read messages -color index color33 color234 "~U" # unread messages -color index color33 color234 "~U~$" # unread, unreferenced messages -color index color241 color234 "~v" # messages part of a collapsed thread -color index color241 color234 "~P" # messages from me -color index color37 color234 "~p!~F" # messages to me -color index color37 color234 "~N~p!~F" # new messages to me -color index color37 color234 "~U~p!~F" # unread messages to me -color index color240 color234 "~R~p!~F" # messages to me -color index color160 color234 "~F" # flagged messages -color index color160 color234 "~F~p" # flagged messages to me -color index color160 color234 "~N~F" # new flagged messages -color index color160 color234 "~N~F~p" # new flagged messages to me -color index color160 color234 "~U~F~p" # new flagged messages to me -color index color235 color160 "~D" # deleted messages -color index color245 color234 "~v~(!~N)" # collapsed thread with no unread -color index color136 color234 "~v~(~N)" # collapsed thread with some unread -color index color64 color234 "~N~v~(~N)" # collapsed thread with unread parent -# statusbg used to indicated flagged when foreground color shows other status -# for collapsed thread -color index color160 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread -color index color136 color235 "~v~(~F~N)" # collapsed thread with some unread & flagged -color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged -color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged -color index color37 color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly -color index color136 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) -#color index color136 color234 "~(~N)" # messages in threads with some unread -#color index color64 color234 "~S" # superseded messages -color index color160 color234 "~T" # tagged messages -#color index color166 color160 "~=" # duplicated messages - -# message headers ------------------------------------------------------ - -#color header color240 color234 "^" -color hdrdefault color240 color234 -color header color33 color234 "^(From)" -color header color33 color234 "^(Subject)" - -# body ----------------------------------------------------------------- - -color quoted color33 color234 -color quoted1 color37 color234 -color quoted2 color136 color234 -color quoted3 color160 color234 -color quoted4 color166 color234 - -color signature color240 color234 -color bold color235 color234 -color underline color235 color234 -color normal color244 color234 -# -color body color245 color234 "[;:][-o][)/(|]" # emoticons -color body color245 color234 "[;:][)(|]" # emoticons -color body color245 color234 "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ - |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ - |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" -color body color245 color234 "[ ][*][^*]*[*][ ]?" # more emoticon? -color body color245 color234 "[ ]?[*][^*]*[*][ ]" # more emoticon? - -## pgp - -color body color160 color234 "(BAD signature)" -color body color37 color234 "(Good signature)" -color body color234 color234 "^gpg: Good signature .*" -color body color241 color234 "^gpg: " -color body color241 color160 "^gpg: BAD signature from.*" -mono body bold "^gpg: Good signature" -mono body bold "^gpg: BAD signature from.*" - -# yes, an insance URL regex -color body color160 color234 "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" -# and a heavy handed email regex -color body color160 color234 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" - -# Various smilies and the like -#color body color230 color234 "<[Gg]>" # <g> -#color body color230 color234 "<[Bb][Gg]>" # <bg> -#color body color136 color234 " [;:]-*[})>{(<|]" # :-) etc... -# *bold* -color body color33 color234 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -# _underline_ -color body color33 color234 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -# /italic/ (Sometimes gets directory names) -color body color33 color234 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" -mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - -# Border lines. -#color body color33 color234 "( *[-+=#*~_]){6,}" - -#folder-hook . "color status J_black J_status " -#folder-hook gmail/inbox "color status J_black color136 " -#folder-hook gmail/important "color status J_black color136 " - -# patch/diff -color body green default "^diff \-.*" -color body green default "^index [a-f0-9].*" -color body green default "^\-\-\- .*" -color body green default "^[\+]{3} .*" -color body cyan default "^[\+][^\+]+.*" -color body red default "^\-[^\-]+.*" -color body brightblue default "^@@ .*" diff --git a/config/neomutt/dump-ical.py b/config/neomutt/dump-ical.py deleted file mode 100755 index 114949af..00000000 --- a/config/neomutt/dump-ical.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python -# https://github.com/simonjbeaumont/.dotfiles/blob/ce081a65/mutt/dump-ical.py - -import sys -import warnings -import vobject - - -def get_invitation_from_path(path): - with open(path) as f: - try: - # vobject uses deprecated Exceptions - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - return vobject.readOne(f, ignoreUnreadable=True) - except AttributeError: - return vobject.readOne(f, ignoreUnreadable=True) - - -def person_string(c): - if 'CN' in c.params: - person = "%s %s" % (c.params['CN'][0], "<%s>" % c.value.split(':')[1]) - else: - person = "<%s>" % c.value.split(':')[1] - return person - - -def when_str_of_start_end(s, e): - date_format = "%a, %d %b %Y at %H:%M" - until_format = "%H:%M" if s == e else date_format - return "%s -- %s" % (s.strftime(date_format), e.strftime(until_format)) - - -def pretty_print_invitation(invitation): - event = invitation.vevent.contents - title = event['summary'][0].value - org = event['organizer'][0] - invitees = event['attendee'] - start = event['dtstart'][0].value - end = event['dtend'][0].value - location = event['location'][0].value - description = event['description'][0].value - print("="*70) - print("MEETING INVITATION".center(70)) - print("="*70) - print("Event:\n\t%s" % title) - print("Organiser:\n\t%s" % person_string(org)) - print("Invitees:") - for i in invitees: - print("\t%s" % person_string(i)) - print("When:\n\t%s" % when_str_of_start_end(start, end)) - print("Location:\n\t%s" % location) - print("---\n%s---" % description) - - -if __name__ == "__main__": - if len(sys.argv) != 2 or sys.argv[1].startswith('-'): - sys.stderr.write("Usage: %s <filename.ics>\n" % sys.argv[0]) - sys.exit(2) - inv = get_invitation_from_path(sys.argv[1]) - pretty_print_invitation(inv) diff --git a/config/neomutt/forgotten-attachment b/config/neomutt/forgotten-attachment deleted file mode 100644 index 370ac00b..00000000 --- a/config/neomutt/forgotten-attachment +++ /dev/null @@ -1,16 +0,0 @@ -# NeoMutt config file for the forgotten-attachment feature. - -# The 'forgotten-attachment' feature provides a new setting for NeoMutt that -# alerts the user if the message body contains a certain regular expression but there are -# no attachments added. This is meant to ensure that the user does not forget -# to attach a file after promising to do so in the mail. - -# Ask if the user wishes to abort sending if $attach_keyword is found in the -# body, but no attachments have been added -set abort_noattach = ask-yes - -# Search for the following regular expression in the body of the email -# Français and English -# set attach_keyword = "\\<(attaché|attachés|attach|attache|attached|attachments?|attachons|joint|jointe|joints|jointes|joins|joignons)\\>" - -# vim: syntax=neomuttrc: diff --git a/config/neomutt/headers b/config/neomutt/headers deleted file mode 100644 index 8c26405d..00000000 --- a/config/neomutt/headers +++ /dev/null @@ -1,25 +0,0 @@ -# Headers - -# edit all headers lines in the editor -set edit_headers - -ignore * -unignore from date subject to cc reply-to -unignore x-url x-resent organization -unignore x-mailing-list list-id list-unsubscribe -unignore user-agent x-agent x-mailer x-newsreader -unignore newsgroups posted-to x-also-posted-to -unignore sender x-original-sender -unignore priority importance -unignore mail-followup-to in-reply-to -# useful to debug smtp path but too verbose -# unignore references -# unignore content-type -unignore message-id -unignore tags -unignore folder - -unhdr_order * -hdr_order Sender: From: To: Cc: Subject: Date: Reply-To: Organization: Message-Id: User-Agent: X-Editor: X-Mailer: X-Newsreader: X-Agent: X-Resent: Followup-To: Mail-Followup-To: Folder: Tags: - -# vim: set ft=muttrc: diff --git a/config/neomutt/hooks b/config/neomutt/hooks deleted file mode 100644 index 5ec4b636..00000000 --- a/config/neomutt/hooks +++ /dev/null @@ -1,16 +0,0 @@ -# Hooks - -# Load the appropriate profile depending on the folder -# folder-hook Perso/* 'source ~/.config/neomutt/profile.perso' -# folder-hook Gmail/* 'source ~/.config/neomutt/profile.egi' -# folder-hook Perso 'source ~/.config/neomutt/profile.perso' -# folder-hook Gmail 'source ~/.config/neomutt/profile.egi' - -# When replying load profile corresponding to the To: -# reply-hook "~t baptiste@bapt.name" "source ~/.config/neomutt/profile-imap.perso" -# reply-hook "~t baptiste.grenier@egi.eu" "source ~/.config/neomutt/profile-maildir.egi" - -# When sending load profile corresponding to the To: -# send-hook @egi\\.eu$ "source ~/.config/neomutt/profile.egi" - -# vim: set ft=muttrc: diff --git a/config/neomutt/index-color b/config/neomutt/index-color deleted file mode 100644 index 0911ba93..00000000 --- a/config/neomutt/index-color +++ /dev/null @@ -1,12 +0,0 @@ -# Index color - -# http://www.neomutt.org/feature/index-color/ -# color index_author default color234 '.*' -# color index_flags default red '~F' -# color index_collapsed default brightblue -# color index_date green default -# color index_label default brightgreen -# color index_number red default -# color index_size cyan default - -# vim: set ft=muttrc: diff --git a/config/neomutt/mailcap-osx b/config/neomutt/mailcap-osx deleted file mode 100644 index 6617b2bb..00000000 --- a/config/neomutt/mailcap-osx +++ /dev/null @@ -1,16 +0,0 @@ -application/pdf ; pdftotext -layout %s - ; copiousoutput ; print = ~/.config/neomutt/view_attachment %s - -document/pdf ; pdftotext -layout %s - ; copiousoutput ; print = ~/.config/neomutt/view_attachment %s - -# lookup mime tipe in mime.types -mime_lookup application/octet-stream application/octetstream -# XXX Disabled as looking up mime types -# application/octet-stream; ~/.config/neomutt/view_attachment %s - -video/*; ~/.config/neomutt/view_attachment %s - -image/*; ~/.config/neomutt/view_attachment %s - -# View file in W3M, use print to view them in default browser -text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser" %s -text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; -# text/html; ~/.config/neomutt/view_attachment %s html -text/csv ; bat %s ; copiousoutput -application/json ; bat %s; print = open %s -# XXX not sure if used -application/*; ~/.config/neomutt/view_attachment %s - diff --git a/config/neomutt/maildir b/config/neomutt/maildir deleted file mode 100644 index 77c830e8..00000000 --- a/config/neomutt/maildir +++ /dev/null @@ -1,11 +0,0 @@ -# Using maildir - -# Move read email to All Mail folder -##set move -#unset move # gmail does that -#set delete # don't ask, just do -#unset confirmappend # don't ask, just do! -set mbox_type = Maildir -set folder = ~/Mail - -# vim: set ft=muttrc: diff --git a/config/neomutt/mime-view b/config/neomutt/mime-view deleted file mode 100644 index b8bf3c7c..00000000 --- a/config/neomutt/mime-view +++ /dev/null @@ -1,36 +0,0 @@ -# MIME-Viewer -unauto_view * -auto_view text/html -auto_view text/calendar application/ics -auto_view image/x-portable -auto_view image/x-portable-bitmap -auto_view image/x-portable-graymap -auto_view image/x-portable-anymap -auto_view image/x-portable-pixmap -auto_view application/pgp-signature -auto_view application/pgp -auto_view application/x-gunzip -auto_view application/postscript -auto_view application/x-troff-man -auto_view application/x-troff-me -auto_view application/x-troff -auto_view application/x-gtar -auto_view application/x-tar -auto_view application/x-tar-gz -auto_view application/x-sh -auto_view application/x-csh -auto_view application/x-shar -auto_view application/x-latex -auto_view application/x-tex -auto_view application/x-dvi -auto_view application/x-zip-compressed -auto_view application/x-cpio text/richtext -auto_view application/pgp-keys -auto_view application/octet-stream -auto_view text/x-vcard -auto_view text/enriched -auto_view text/csv - -alternative_order text/calendar text/plain text/enriched text/html - -# vim: syntax=neomuttrc: diff --git a/config/neomutt/mime.types b/config/neomutt/mime.types deleted file mode 100644 index c48e87a4..00000000 --- a/config/neomutt/mime.types +++ /dev/null @@ -1,113 +0,0 @@ -# -# mime.types -# - -application/andrew-inset ez -application/excel xls -application/json json -application/octet-stream bin -application/oda oda -application/pdf pdf -application/pgp pgp -application/postscript ps PS eps -application/rdf+xml rdf -application/rss+xml rss -application/rtf rtf -application/vnd.mozilla.xul+xml xul -application/vnd.oasis.opendocument.chart odc -application/vnd.oasis.opendocument.database odb -application/vnd.oasis.opendocument.formula odf -application/vnd.oasis.opendocument.graphics odg -application/vnd.oasis.opendocument.graphics-template otg -application/vnd.oasis.opendocument.image odi -application/vnd.oasis.opendocument.presentation odp -application/vnd.oasis.opendocument.presentation-template otp -application/vnd.oasis.opendocument.spreadsheet ods -application/vnd.oasis.opendocument.spreadsheet-template ots -application/vnd.oasis.opendocument.text odt -application/vnd.oasis.opendocument.text-master odm -application/vnd.oasis.opendocument.text-template ott -application/vnd.oasis.opendocument.text-web oth -application/vnd.sun.xml.calc sxc -application/vnd.sun.xml.calc.template stc -application/vnd.sun.xml.draw sxd -application/vnd.sun.xml.draw.template std -application/vnd.sun.xml.impress sxi -application/vnd.sun.xml.impress.template sti -application/vnd.sun.xml.writer sxw -application/vnd.sun.xml.writer.global sxg -application/vnd.sun.xml.writer.math sxm -application/vnd.sun.xml.writer.template stw -application/x-arj-compressed arj -application/x-bcpio bcpio -application/x-chess-pgn pgn -application/x-cpio cpio -application/x-csh csh -application/x-debian-package deb -application/x-msdos-program com exe bat -application/x-dvi dvi -application/x-gtar gtar -application/x-gunzip gz -application/x-hdf hdf -application/x-latex latex -application/x-mif mif -application/x-netcdf cdf nc -application/x-perl pl pm -application/x-rar-compressed rar -application/x-sh sh -application/x-shar shar -application/x-sv4cpio sv4cpio -application/x-sv4crc sv4crc -application/x-tar tar -application/x-tar-gz tgz tar.gz -application/x-tcl tcl -application/x-tex tex -application/x-texinfo texi texinfo -application/x-troff t tr roff -application/x-troff-man man -application/x-troff-me me -application/x-troff-ms ms -application/x-ustar ustar -application/x-wais-source src -application/x-zip-compressed zip -application/xhtml+xml xhtml xht -application/xml xml xsl - -audio/basic snd -audio/midi mid midi -audio/ulaw au -audio/x-aiff aif aifc aiff -audio/x-wav wav - -image/gif gif -image/ief ief -image/jpeg jpe jpeg jpg -image/png png -image/svg+xml svg svgz -image/tiff tif tiff -image/x-cmu-raster ras -image/x-portable-anymap pnm -image/x-portable-bitmap pbm -image/x-portable-graymap pgm -image/x-portable-pixmap ppm -image/x-rgb rgb -image/x-xbitmap xbm -image/x-xpixmap xpm -image/x-xwindowdump xwd - -text/html html htm -text/plain asc txt -text/richtext rtx -text/tab-separated-values tsv -text/x-setext etx - -video/dl dl -video/fli fli -video/gl gl -video/mpeg mp2 mpe mpeg mpg -video/quicktime mov qt -video/x-msvideo avi -video/x-sgi-movie movie - -x-world/x-vrml vrm vrml wrl -application/vnd.openxmlformats-officedocument.presentationml.presentation pptx diff --git a/config/neomutt/mu b/config/neomutt/mu deleted file mode 100644 index a7cc3763..00000000 --- a/config/neomutt/mu +++ /dev/null @@ -1,7 +0,0 @@ - # Mu - # first macro does the search according to user query, second macro jumps to result list - macro index <F8> "<shell-escape>rm -rf ~/.mu/results; mu-find -o l -l ~/.mu/results " "mu-find" - macro index <F9> "<change-folder-readonly>~/.mu/results\n" "display mu-find results" - -# looking up addresses with mu cfind -# set query_command="mu cfind -–format=mutt-ab '%s" diff --git a/config/neomutt/mutt-common.rc b/config/neomutt/mutt-common.rc deleted file mode 100644 index ee6e9e1c..00000000 --- a/config/neomutt/mutt-common.rc +++ /dev/null @@ -1,181 +0,0 @@ -# http://stevelosh.com/blog/2012/10/the-homely-mutt -# https://pbrisbin.com/posts/mutt_gmail_offlineimap/ - -# Caching -set header_cache = ~/.mutt/cache/headers -set message_cachedir = ~/.mutt/cache/bodies -set certificate_file = ~/.mutt/certificates - -set tmpdir = '~/tmp' - -set editor = 'nvim' -set shell = "/bin/zsh" - -# number of input lines for prompts to remember -set history = 1000 -set history_file = "~/.config/neomutt/history" -set save_history = 1000 - -# SMIME / PGP -set smime_is_default = yes -set crypt_autosmime = yes -set crypt_verify_sig = yes -set crypt_autosign = yes -set crypt_replysign = yes -set crypt_replysignencrypted = yes -set smime_ask_cert_label -set forward_decrypt = yes - -# Mailing lists management -# https://neomutt.org/guide/advancedusage.html#using-lists -# Automatically detect subscribed lists by looking at List-Post header -# Lists can be excluded using unsubscribe and unlist -set auto_subscribe - -set mailcap_path = "~/.mailcap:/etc/mailcap" - -# Printing -set print = ask-yes # ask before printing -# set print_command="muttprint %s -P A4 -p CanonMX920" -set print_command = "muttprint %s -P A4 -C lpr" - -# skip to compose when replying -set fast_reply -# ask for CC: -set askcc - -set folder_format = "%3C %t %N %f" - -# set index_format = "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s" -# Display sender instead of subscrived maling list -set index_format = "%4C %Z %{%b %d} %-20.19F (%?l?%4l&%4c?) %s" - -# Status bar -set status_chars = " *%A" -set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───" - -# Quotations -set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" - -set attribution = "Le %(%d/%m/%y) à %(%H:%M), %n téléscripta :" - -# Send flowed emails -set text_flowed = yes -# Wrap received flowed emails -set reflow_text = yes -set reflow_wrap = 76 - -set mail_check = 0 -set envelope_from -# reply as whomever it was to -set reverse_alias -# set reverse_name - -# Hooks -source ~/.config/neomutt/hooks - -set quit # don't ask, just do!! -unset mark_old # read/new is good enough - -# sort/threading -# Goal: -# * sort by threads, most recent at the top -# * within threads: oldest message at the top, oldest to newest in descending order -# Default sorting -# Set by threads, most recent on top, but sometimes weird inside threads -# Most of the time from oldest to neweset, but sometims some are mixed -set sort = threads -set sort_aux = reverse-last-date-received -# thread based on regex -set sort_re -set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" -# Ensure that INBOX is always using appropriate sorting -folder-hook Inbox 'set sort=threads sort_aux=reverse-last-date-received' -folder-hook Sent 'set sort=reverse-date-sent' -# Threads sorted correctly but at bottom -#set sort_aux = last-date-received - -# collapse threads with unread mails -# set collapse_unread -# don't collapse on an unread message -set uncollapse_jump - -# Pager View Options -# format of the pager status bar -spam "X-Spam-Score: ([0-9\\.]+).*" "SA: %1" -set pager_format = "──[%[%y.%m.%d %H:%M]]──[%.20F]─[%s]%*─%?H?─[%H] ?" - -# number of index lines to show -set pager_index_lines = 10 -# number of context lines to show -set pager_context = 5 -# don't go to next message automatically -set pager_stop -# scroll in menus -set menu_scroll -set smart_wrap -# show tildes like in vim -set tilde -# no ugly plus signs -unset markers - -# composing -# save attachments with the body -set fcc_attach -set include - -set forward_decode = yes - -# Forward message as attachement -set mime_forward = ask-yes -set mime_forward_rest = ask-yes - -# Forgotter Attachemnt -source ~/.config/neomutt/forgotten-attachment - -# Colors -source ~/.config/neomutt/colors -source ~/.config/neomutt/index-color - -# Key bindings, macros -source ~/.config/neomutt/bindings - -# Spelling -set ispell = "aspell -e -c" - -set send_charset = "utf-8" - -# Headers -source ~/.config/neomutt/headers - -# MIME-Viewer -source ~/.config/neomutt/mime-view -# XXX Configure automatic querying of mime types -# set mime_type_query_command = "file --mime-type --brief" -# set mime_type_query_first = no - -# Disaplay filter -#set display_filter=/home/baptiste/.mutt/mutt_display_filter -#set display_filter=/home/baptiste/.mutt/test_display_filter -#set display_filter='par 72gqr' -#set wrapmargin=60 - -# http://www.neomutt.org/feature/new-mail/ -# set new_mail_command="notify-send --icon='/home/baptiste/.mutt/mutt.png' 'New Email in %f' '%n new messages, %u unread.' &" - -# Maildir -source ~/.config/neomutt/maildir - -# sidebar -source ~/.config/neomutt/sidebar - -# Source mu configuration -source ~/.config/neomutt/mu - -set realname = "Baptiste Grenier" - -# Source default profile -# XXX need to manually link it -source ~/.config/neomutt/default-profile - -# vim: set ft=muttrc: diff --git a/config/neomutt/muttrc b/config/neomutt/muttrc deleted file mode 100644 index 391b1326..00000000 --- a/config/neomutt/muttrc +++ /dev/null @@ -1,7 +0,0 @@ -# Source Mutt legacy configuration -source ~/.config/neomutt/mutt-common.rc - -# Notmuch support without patched mutt -source ~/.config/neomutt/notmuch-mutt.rc - -# vim: set ft=muttrc: diff --git a/config/neomutt/neomuttrc b/config/neomutt/neomuttrc deleted file mode 100644 index 70f68293..00000000 --- a/config/neomutt/neomuttrc +++ /dev/null @@ -1,11 +0,0 @@ -# Source Mutt legacy configuration -source ~/.config/neomutt/mutt-common.rc - -# Source neomutt-specific configuration -# Colors -source ~/.config/neomutt/progress-color - -# Not supported in mutt without notmuch patch -source ~/.config/neomutt/notmuch-neomutt.rc - -# vim: set ft=muttrc: diff --git a/config/neomutt/notmuch-mutt.rc b/config/neomutt/notmuch-mutt.rc deleted file mode 100644 index 8b20321c..00000000 --- a/config/neomutt/notmuch-mutt.rc +++ /dev/null @@ -1,22 +0,0 @@ -# Search -macro index <F4> \ -"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ -<shell-escape>notmuch-mutt -r --prompt search<enter>\ -<change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\ -<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ - "notmuch: search mail" - -# Reconstruct thread -macro index <F5> \ -"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ -<pipe-message>notmuch-mutt -r thread<enter>\ -<change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\ -<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ - "notmuch: reconstruct thread" - -# Remove from inbox -macro index <F6> \ -"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ -<pipe-message>notmuch-mutt tag -- -inbox<enter>\ -<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ - "notmuch: remove message from inbox" diff --git a/config/neomutt/notmuch-neomutt.rc b/config/neomutt/notmuch-neomutt.rc deleted file mode 100644 index d52dfcb8..00000000 --- a/config/neomutt/notmuch-neomutt.rc +++ /dev/null @@ -1,300 +0,0 @@ -# notmuch - -# XXX To be clarified -# - Need to remove unred flag when mail has been read -# - Sync mailbox after having sent an email -# - search-based addressbook (instead of gobook) -# - Index colors based on tags -# - Updating files status from tags (like read emails) -# - handling of deleted emails -# - https://github.com/neomutt/neomutt/issues/200 -# - seeing all the tags of an email from mutt -# - seeing all the tags of an email from CLI -# notmuch dump id:4DCAB3B3.8080301@maatg.com -# - Best notmuch/search-based workflow with neomutt -# - notmuch search, different results for tag= and tag: -# - Best workflow for mutlitple accounts -# - Best integration with gmail -# - delete -# - tags <=> labels -# - All: duplicates from Inbox, with different tags? -# - Managing Starred emails (separate folder?) -# - Are folders updated automatically -# - How are sorted emails in the change-vfolder view? -# - Move automatically spam marked as trainham to the trainham folder for Perso -# - validating managment of answered emails -# - Answer to 74BCB9D9-E942-466F-9204-0E46990087B5@cmcc.it (Sandro Fiore <sandro.fiore@cmcc.it> / Re: Stage rollout for analytics portle) -# -> My answer received: +all +egi +sent +signed -# -> His email received: +replied -# But not in Sent -# - Ordering vfolder browser - -#set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S" - -# path to the maildir -set nm_default_uri = "notmuch:///Users/baptiste/Mail/EGI" - -# enable virtual folders -# When set, NeoMutt will use the first virtual mailbox (see virtual-mailboxes) -# as a spoolfile. -set virtual_spoolfile = no - -# XXX virtual-mailboxes are loaded from profile-related conf -# sets up queries for virtual folders -#virtual-mailboxes \ -# "Inbox" "notmuch://?query=tag:inbox" \ -# "All" "notmuch://?query=tag:all" \ -# "TODO" "notmuch://?query=tag:todo" \ -# "Important" "notmuch://?query=tag:important" \ -# "Drafts" "notmuch://?query=tag:draft" \ -# "Trash" "notmuch://?query=tag:deleted" \ -# "Spam" "notmuch://?query=tag:spam" \ -# "Sent" "notmuch://?query=tag:sent" - -# This variable specifies notmuch query type, supported types: 'threads' and -# 'messages'. -#set nm_query_type = threads -set nm_query_type = messages - -# By default do not save sent emails -# Gmail takes care of this -#unset record -# Add messages stored to the NeoMutt record (see $record in the NeoMutt -# docs) also to notmuch DB. -# If you reply to an email then the new email inherits tags from the -# original email. -#set nm_record = no - -# set nm_record_tag = '' -# Tags that should be removed or added to the to the messages stored in the NeoMutt record. -# -# example: -# set record = "~/Mail/EGI/Sent" -# set nm_record = yes -# set nm_record_tags = "-inbox,archive,me,egi" - -# use new? -#set nm_unread_tag = unread - -# This variable specifies private notmuch tags which should not be printed -# on screen (index, pager). -# nm_hidden_tags: unknown variable -# set nm_hidden_tags = "unread,draft,flagged,passed,replied,attachment,signed,encrypted" -# set nm_hidden_tags = "passed,replied,attachment,signed,encrypted" - -# The messages tagged with these tags are excluded and not loaded -# from notmuch DB to NeoMutt unless specified explicitly. -#set nm_exclude_tags = "" - -# setup time window preferences -# first setup the duration, and then the time unit of that duration -# when set to 0 (the default) the search window feature is disabled -# XXX Setting this will limit shown messages! -set nm_query_window_duration=0 -# Could also be "hour", "day", "week", "month", "year" -set nm_query_window_timebase="week" - -# Configure vfolder browser display -# XXX how to order folder list? -# $n: number of unread messages -# $m: number of messages -# $N: N if mailbox has new mail -#set vfolder_format = '%6n/%6m (%N) %f' - -# Replace some tags with icons -# tag-transforms tag transformed-string { tag transformed-string ...} -# XXX This chars are taking more than one cell -# tag-transforms "inbox" "" \ -# "unread" "✘" \ -# "replied" "↻" \ -# "sent" "✎" \ -# "important" "★" \ -# "waiting" "" \ -# "deleted" "" \ -# "spam" "😈" \ -# "attachment" "" \ -# "invites" "" - -# The formats must start with 'G' and the entire sequence is case sensitive. -# tag-formats tag format-string { tag format-string ...} -# tag-formats "inbox" "Gi" \ -# "unread" "GU" \ -# "replied" "GR" \ -# "sent" "GS" \ -# "important" "Gt" \ -# "waiting" "Gw" \ -# "deleted" "GD" \ -# "spam" "GT" \ -# "attachment" "Ga" \ -# "invites" "GI" - -# http://www.mutt.org/doc/manual/#index-format -# Now instead of using '%g' in your $index_format, which lists all tags -# in a non-deterministic order, you can something like the following which puts -# a transformed tag name in a specific spot on the index line: -# %C: message number -# %S: Single character status of the message ( “N”/ “O”/ “D”/ “d”/ “!”/ “r”/ “*”) -# %Z: Message status flag on 3 chars -# - New, Read, Reply -# - Deletion or Encryption flags -# - Tagging, flagging or information about the To/Cc... -# %[%y.%m.%d]: Date -# %n: Author realname or email if missing -# %F: author name, or recipient name if the message is from you -# %W: Organization -# .G: Notmuch tags info -# - %Gi: inbox -# - %GD: deleted -# - %GU: unread -# - %GR: replied -# - %GI: invites (calendar invitation) -# - %GT: spam -# - %Gw: waiting -# %s: message subject -# Default: %4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s -#set index_format='%4C %Z %[%y.%m.%d] %-18.18F %?Gi?%Gi& ? %?GD?%GD& ? %?GR?%GR& ? %?GI?%GI& ? %?GT?%GT& ? %?Gw?%Gw& ? %?Ga?%Ga& ? %s' - -## Macros and bindings - -# open a different virtual folder -#macro index,pager c "<change-vfolder>?" -# macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>' -# modify (notmuch) tags -#bind index,pager \` modify-labels - -# generate virtual folder from query -macro index \\\\ "<vfolder-from-query>" -bind index,pager <F4> vfolder-from-query -bind index,pager \eX vfolder-from-query - -# Mive time window of virtual folder from query -# Only works if nm_query_window_duration > 0 -bind index < vfolder-window-backward -bind index > vfolder-window-forward - -# read entire thread of the current message -bind index,pager <F5> entire-thread - -# 'L' performs a notmuch query, showing only the results -macro index L "<enter-command>unset wait_key<enter><shell-escape>read -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"<enter>" "show only messages matching a notmuch pattern" -# 'a' shows all messages again (supersedes default <alias> binding) -# macro index a "<limit>all\n" "show all messages (undo limit)" - -# macros to invoke a profile -macro index <F8> ":source ~/.config/neomutt/profile-maildir.egi<enter><change-vfolder>Inbox<enter>" "Load profile: egi" -macro index <F9> ":source ~/.config/neomutt/profile-maildir.perso<enter><change-vfolder>Inbox<enter>" "Load profile: perso" - -## Prefix-based bindings - -# [g]o to -# Set/modify [t]ag -# Launch [a]ction -# Need to free the short keymap -# https://www.neomutt.org/guide/configuration.html#bind-warnings -#bind index,pager g noop -#bind index,pager t noop -#bind index,pager a noop - -## Tagging emails - -# tag as read and archive -# macro index A "<modify-labels-then-hide>+all -unread -inbox<enter>" -# macro index,pager A "<modify-labels>+all -unread -inbox<enter>" -# macro index,pager ta "<modify-labels>+all -unread -inbox<enter>" -# # tag as unread and unarchive -# macro index,pager N "<modify-labels>-all +unread +inbox<enter><sync-mailbox>" -# macro index,pager tu "<modify-labels>-all +unread +inbox<enter><sync-mailbox>" -# # toglle important flag -# macro index,pager F "<flag-message><modify-labels>!important !starred<enter><sync-mailbox>" -# macro index,pager ti "<flag-message><modify-labels>!important !starred<enter><sync-mailbox>" -# macro index,pager ts "<flag-message><modify-labels>!important !starred<enter><sync-mailbox>" -# # Toggle the 'todo' tag -# macro index,pager tt "<modify-labels>!todo<enter><sync-mailbox>" -# macro index,pager <F2> "<modify-labels>!todo<enter><sync-mailbox>" -# # Mark as spam -# macro index,pager S "<modify-labels-then-hide>-inbox -unread +junk<enter><sync-mailbox>" -# macro index,pager ts "<modify-labels-then-hide>-inbox -unread +junk<enter><sync-mailbox>" -# # Mark as to waiting reply -# macro index,pager tw "<modify-labels>+waiting<enter><sync-mailbox>" -# # Delete emails from the index, but NOT delete the file. -# # To be managed elsewhere (afew to move it in the Trahs folder?) -# # XXX how are they hidden? -# # XXX how to flag mail as deleted/red in the UI? -# # When in index it updates tags and moves to next email -# # When in pager it updates tags but do not move to next email -# macro index d "<modify-labels-then-hide>+deleted -inbox -unread -all<enter>" -# macro pager d "<modify-labels-then-hide>+deleted -inbox -unread -all<enter><next-message>" -# # TODO Need to manage delete-thread Ctrl-d and Undelete Thread Ctrl-u -# # Revovering emails marked for deletion -# macro index u "<modify-labels-then-hide>-deleted +inbox +all<enter>" -# # removed from inbox -# # bind index,pager D quasi-delete - -## Actions on emails - -# Create a taskwarrior task using mutt2task -# macro index,pager at \ -# "<pipe-message>mutt2task.py<enter><modify-labels>+todo<enter><sync-mailbox>" -# macro index,pager ag \ -# "<pipe-message>add_contact<enter>" \ -# "add sender to google contacts" - -## Opening virtual folders - -# macro index,pager gi \ -# <change-vfolder>Inbox<enter> \ -# "Go to inbox" -# macro index,pager gu \ -# <change-vfolder>Unread<enter> \ -# "Go to unread" -# macro index,pager ga \ -# <change-vfolder>All<enter> \ -# "Go to All" -# macro index,pager gt \ -# <change-vfolder>Sent<enter> \ -# "Go to Sent" -# macro index,pager gb \ -# <change-vfolder>Trash<enter> \ -# "Go to Trash Bin" -# macro index,pager gd \ -# <change-vfolder>Drafts<enter> \ -# "Go to Drafts" -# macro index,pager gs \ -# <change-vfolder>Important<enter> \ -# "Go to Important/Starred" - -# Colors tag indicators in index - -# These symbols are added to the index-color feature: -# an individual message tag, %G, uses tag name -# this symbol uses a pattern -# the transformed message tags, %g -# this symbol does not use a pattern - -# important messages -# color index_tag color160 color234 "t" -# # deleted messages -# color index_tag color235 color160 "D" -# # Error in patern -# # color index_tag color235 color160 "~GD" -# color index_tag color235 color160 "GD" -# color index_tag color235 color160 "~D" -# # invites messages -# color index_tag color160 color234 "important" -# color index_tag color160 color234 "starred" -# color index_tag color160 color234 "I" -# # Inbox message -# color index_tag color33 color234 "unbox" - -# Used where/when? -# color index_tags green default - -# Colors messages based on tags -# flagged messages -# color index color160 color234 "~F" -# Not able to find an appripriate pattern for this -# color index color160 color234 "~G 'starred'" -#color index color160 color234 "~Gt" -# color index color160 color234 "Gt" - -# vim: set ft=muttrc: diff --git a/config/neomutt/profile-imap.perso b/config/neomutt/profile-imap.perso deleted file mode 100644 index de2ea028..00000000 --- a/config/neomutt/profile-imap.perso +++ /dev/null @@ -1,88 +0,0 @@ -# Mutt sender profile: perso - -# IMAP configuration -set folder=imaps://mail.bapt.name/ -source imap -set imap_user=$my_user -set imap_pass=$my_pass - -# Allow Mutt to open a new IMAP connection automatically. -unset imap_passive - -# Keep the IMAP connection alive by polling intermittently (time in seconds). -set imap_keepalive = 300 - -set mail_check=90 -set timeout=15 - -# SMTP configuration -set smtp_url=smtps://$my_user:$my_pass@mail.bapt.name -set ssl_force_tls = yes - -# Custom status color for this profile -color status cyan default - -set move = no # Stop asking to "move read messages to mbox"! -unset confirmappend -set spoolfile = "+INBOX" -set postponed = "+Drafts" -set record = "+Sent" -# If using trash-folder-patch -set trash="+Trash" - -# Allow to select list of folders to check -# mailboxes +Archive +Drafts +Trash +Junk +Sent -# Check all folders -set imap_check_subscribed - -#set use_from = yes -set from = "baptiste@bapt.name" - -# Signature file -set signature='~/.config/neomutt/signature-perso' - -set envelope_from_address="baptiste@bapt.name" - -# Customized headers -unmy_hdr * # remove all extra headers first. - -my_hdr From: Baptiste Grenier <baptiste@bapt.name> -my_hdr Reply-To: Baptiste Grenier <baptiste@bapt.name> - -# Use GPGME to simplify GPG and S/MIME configuration -set crypt_use_gpgme = yes -set crypt_autosign -set crypt_verify_sig=yes -set crypt_replyencrypt=yes -set crypt_replysign=yes -set crypt_replysignencrypted=yes - -# Pretty Good Privacy (PGP): -# PGP using gpgme (simplified conf) -unset smime_is_default -set pgp_sign_as = "0xCDA18F02" # UserID/KeyID for signing -set nopgp_autoencrypt # Default (enc)) -set pgp_autosign # Default (sign)) -my_hdr X-PGP-Key: https://keys.bapt.name/pubkey.asc -my_hdr OpenPGP: id=CDA18F02\; url=https://keys.bapt.name/pubkey.asc\; preference\=sign - -# Extract PGP or S/MIME keys -bind index,pager \ck extract-keys - -# Include the profile name in the status line -# TODO Align profile name on the right -set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@Perso──%>─%?p?( %p postponed )?───" - -# Contacts from khard and vdirsyncer -set query_command= "khard email --parsable --search-in-source-files %s" - -# Fetching mail -# macro index \cf "<shell-escape>mbsync -a<enter>" - -# Google-like key bindings -macro index,pager A "<save-message>+Archive<enter>" "move message to the archive" - -# Mailing lists -subscribe debiocidons-bureau@framalistes.org -subscribe debiocidons-ca@framalistes.org -subscribe debiocidons@framalistes.org diff --git a/config/neomutt/profile-maildir.egi b/config/neomutt/profile-maildir.egi deleted file mode 100644 index 23a0c7ba..00000000 --- a/config/neomutt/profile-maildir.egi +++ /dev/null @@ -1,138 +0,0 @@ -# Mutt sender profile: egi - -set folder = ~/Mail/EGI - -# Copy sent message to this folder - -# Send directly using msmtp -#set sendmail = "/usr/local/bin/msmtp -a egi" -# Queue mail if offline -# /usr/local/Cellar/msmtp/1.6.6/share/msmtp/scripts/msmtpq/README.msmtpq -# set sendmail = "$HOME/bin/msmtpq" -set smtp_url = "smtp://127.0.0.1:25/" -# Don't wait for retrun code -# set sendmail_wait = -1 -# Using neomutt's SMTP feature -# set smtp_authenticators = 'gssapi:login' -# set smtp_url = "smtp://baptiste.grenier@egi.eu@smtp.gmail.com:587/" -# Get token using https://security.google.com/settings/security/apppasswords -# Set passwod on OSX: security add-generic-password -a baptiste.grenier@egi.eu -s smtp.gmail.com -w -# set smtp_pass = `security find-generic-password -w -s smtp.gmail.com -a baptiste.grenier@egi.eu` - -# Custom status color for this profile -color status cyan default - -unset confirmappend -set spoolfile = "+Inbox" -set move = no # Stop asking to "move read messages to mbox"! -#set mbox = "+All" -set postponed = "+Drafts" -# Sent emails are recorded automatically by Gmail -unset record -# Add messages stored to the NeoMutt record (see $record in the NeoMutt docs) -# also to notmuch DB. If you reply to an email then the new email inherits tags -# from the original email. -# set mbox_type = Maildir -# set record = +Sent - -# If using trash-folder-patch -set trash="+Trash" - -mailboxes +Inbox +All +Drafts +Trash +Starred +Spam +Sent - -set from = "baptiste.grenier@egi.eu" -set envelope_from_address="baptiste.grenier@egi.eu" - -# Signature file -set signature='~/.config/neomutt/signature-egi' - -# Customized headers -unmy_hdr * # remove all extra headers first. - -my_hdr Organization: EGI Foundation -my_hdr X-URL: https://egi.eu - -my_hdr From: Baptiste Grenier <baptiste.grenier@egi.eu> -my_hdr Reply-To: Baptiste Grenier <baptiste.grenier@egi.eu> - -# Use GPGME to simplify GPG and S/MIME configuration -set crypt_use_gpgme = yes -set crypt_autosign = yes -set crypt_verify_sig=yes -set crypt_replyencrypt=yes -set crypt_replysign=yes -set crypt_replysignencrypted=yes - -# Pretty Good Privacy (PGP): -# PGP using gpgme (simplified conf) -set pgp_sign_as="0xCDA18F02" # UserID/KeyID for signing -# Use S/MIME by default instead of PGP -# set pgp_autoencrypt # Default (enc)) -# set pgp_autosign # Default (sign)) -my_hdr X-PGP-Key: https://keys.bapt.name/pubkey.asc -my_hdr OpenPGP: id=CDA18F02\; url=https://keys.bapt.name/pubkey.asc\; preference\=sign - -# S/MIME using gpgme (simplified conf) -# http://wiki.netbsd.org/users/wiz/mutt-smime/ -# gpgsm --import TrustedRoot.crt -# gpgsm --import DigiCertCA.crt -# gpgsm --import baptiste_grenier_until_2021_02.p12 -# gpgsm --list-keys -# gpgsm --list-secret-keys -set smime_is_default -set crypt_autosmime = yes -# TCS DigiCert certificate -# set smime_sign_as = 0x6D26CF94 -# TCS Sectigo ceritificate -set smime_sign_as = 0x3F4B1003 -# Passphrase expiration -set smime_timeout=30000 -# Pinentry program is taken from ~/.gnupg/gpg-agent.conf -# XXX gpg-agent running from mac os X? Keychain? Keybase? - -# Extract PGP or S/MIME keys -bind index,pager \ck extract-keys - -# Include the profile name in the status line -# TODO Align profile name on the right -set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@EGI──%>─%?p?( %p postponed )?───" - -# Fetching mail -macro index \cf "<shell-escape>mbsync -a<enter>" - -# Querying Google contacts -# set query_command="lbdbq %s" -# Query email addreses in the notmuch database -#set query_command = "notmuch address from:%s" -# All addresses matching the string, way to large -# set query_command = "notmuch address %s | grep -i %s" -# People that I've alrady written to, may contain non related people -# set query_command = "notmuch address --output sender from:baptiste.grenier@egi.eu to:*%s* | grep -i %s" -# People that wrote to me -# set query_command = "notmuch address --output sender from:*%s* to:baptiste.grenier@egi.eu" -# set query_command = "echo && notmuch address --output sender to:baptiste.grenier@egi.eu from:'*%s*' or --output recipients to:'*%s*' from:baptiste.grenier@egi.eu" -# set query_command = "echo && notmuch address --output sender from:'*%s*' or --output recipients to:'*%s*'" - -# set query_format = "%4c %t %-70.70a %-70.70n %?e?(%e)?" - -# looking up addresses with mu cfind -# set query_command="mu cfind --format=mutt-ab '%s'" - -# Contacts from Google contacts -# Syncronised with vdirsyncer -# Accessed via khard -set query_command= "khard email --parsable %s" - -# set alias_file = "~/.config/neomutt/aliases" -# source "~/.config/neomutt/aliases" - -# Google-like key bindings -macro index,pager A "<save-message>+All<enter>" "move message to the archive" - -# Mailing lists -lists technical-support-cases-c@rt.egi.eu -subscribe operations@egi.eu -subscribe office@mailman.egi.eu -subscribe wise@lists.wise-community.org - -# :vim set ft=muttrc: diff --git a/config/neomutt/profile-maildir.perso b/config/neomutt/profile-maildir.perso deleted file mode 100644 index 0766fa88..00000000 --- a/config/neomutt/profile-maildir.perso +++ /dev/null @@ -1,86 +0,0 @@ -# Mutt sender profile: perso - -set mbox_type = Maildir -set folder = ~/Mail/Perso - -# Copy sent message to this folder - -# Send directly using msmtp -#set sendmail = "/usr/local/bin/msmtp -a egi" -# Queue mail if offline -# /usr/local/Cellar/msmtp/1.6.6/share/msmtp/scripts/msmtpq/README.msmtpq -set sendmail = "msmtp" -# Wait for retrun code -set sendmail_wait = -1 - -# Custom status color for this profile -color status cyan default - -unset confirmappend -set spoolfile = "+Inbox" -set move = no # Stop asking to "move read messages to mbox"! -#set mbox = "+All" -set postponed = "+Drafts" -# Sent emails are recorded automatically by Gmail -# unset record -# Add messages stored to the NeoMutt record (see $record in the NeoMutt docs) -# also to notmuch DB. If you reply to an email then the new email inherits tags -# from the original email. -# set mbox_type = Maildir -set record = "+Sent" - -# If using trash-folder-patch -set trash="+Trash" - -mailboxes +Archive +Drafts +Trash +Junk +Sent - -set from = "baptiste@bapt.name" - -# Signature file -set signature='~/.config/neomutt/signature-perso' - -set envelope_from_address="baptiste@bapt.name" - -# Customized headers -unmy_hdr * # remove all extra headers first. - -my_hdr From: Baptiste Grenier <baptiste@bapt.name> -my_hdr Reply-To: Baptiste Grenier <baptiste@bapt.name> - -# Use GPGME to simplify GPG and S/MIME configuration -set crypt_use_gpgme = yes -set crypt_autosign -set crypt_verify_sig=yes -set crypt_replyencrypt=yes -set crypt_replysign=yes -set crypt_replysignencrypted=yes - -# Pretty Good Privacy (PGP): -# PGP using gpgme (simplified conf) -unset smime_is_default -set pgp_sign_as="0xCDA18F02" # UserID/KeyID for signing -set nopgp_autoencrypt # Default (enc)) -set pgp_autosign # Default (sign)) -my_hdr X-PGP-Key: https://keys.bapt.name/pubkey.asc -my_hdr OpenPGP: id=CDA18F02\; url=https://keys.bapt.name/pubkey.asc\; preference\=sign - -# Extract PGP or S/MIME keys -bind index,pager \ck extract-keys - -# Include the profile name in the status line -# TODO Align profile name on the right -set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@Perso──%>─%?p?( %p postponed )?───" - -# Contacts from khard and vdirsyncer -set query_command= "khard email --parsable --search-in-source-files %s" - -# Fetching mail -macro index \cf "<shell-escape>mbsync -a<enter>" - -# Google-like key bindings -macro index,pager A "<save-message>+Archive<enter>" "move message to the archive" - -# Mailing lists -subscribe debiocidons-bureau@framalistes.org -subscribe debiocidons-ca@framalistes.org -subscribe debiocidons@framalistes.org diff --git a/config/neomutt/profile-notmuch.egi b/config/neomutt/profile-notmuch.egi deleted file mode 100644 index 48a1119e..00000000 --- a/config/neomutt/profile-notmuch.egi +++ /dev/null @@ -1,134 +0,0 @@ -# Mutt sender profile: egi + notmuch - -# notmuch -# source ~/.config/neomutt/notmuch - -# Filter email waiting an answer and missing it -# A special nofeedback or answered tag might be added by afew for this -# "Waiting" "notmuch://?query=tag:egi AND tag:waiting AND tag:nofeedback" \ -# sets up queries for virtual folders -unvirtual-mailboxes * -virtual-mailboxes \ - "Unread" "notmuch://?query=tag:egi AND tag:inbox AND tag:unread" \ - "Inbox" "notmuch://?query=tag:egi AND tag:inbox" \ - "TODO" "notmuch://?query=tag:egi AND tag:todo" \ - "All" "notmuch://?query=tag:egi AND tag:all" \ - "Lists" "notmuch://?query=tag:egi AND tag:lists" \ - "ELITRANS" "notmuch://?query=tag:egi AND tag:eli" \ - "INDIGO" "notmuch://?query=tag:egi AND indigo" \ - "ENVRI" "notmuch://?query=tag:egi AND envri" \ - "GLUE" "notmuch://?query=tag:egi AND glue" \ - "Security" "notmuch://?query=tag:egi AND security" \ - "ISM" "notmuch://?query=tag:egi AND ISM" \ - "Office" "notmuch://?query=tag:office" \ - "FedCloud" "notmuch://?query=tag:lists/fedcloud-tf" \ - "Operations" "notmuch://?query=tag:operations" \ - "Important" "notmuch://?query=tag:egi AND (tag:important OR tag:starred)" \ - "Waiting" "notmuch://?query=tag:egi AND tag:waiting" \ - "Invites" "notmuch://?query=tag:egi AND tag:invites" \ - "Drafts" "notmuch://?query=tag:egi AND tag:draft" \ - "Trash" "notmuch://?query=tag:egi AND tag:deleted" \ - "Spam" "notmuch://?query=tag:egi AND tag:spam" \ - "Sent" "notmuch://?query=tag:egi AND tag:sent" - -# Copy sent message to this folder - -set sendmail = "/usr/bin/msmtp -a egi" - -# Custom status color for this profile -color status cyan default - -# set spoolfile = "+Inbox" -# set mbox = "+All" -set postponed = "+Drafts" -# Sent emails are recorded automatically by Gmail -unset record -# Add messages stored to the NeoMutt record (see $record in the NeoMutt docs) -# also to notmuch DB. If you reply to an email then the new email inherits tags -# from the original email. -# set mbox_type = Maildir -# set record = ~/Mail/EGI/Sent/ -# set nm_record = yes -# set nm_record_tags = '-inbox,all,sent,me' - -# If using trash-folder-patch -# set trash="+Trash" - -# mailboxes +Inbox +All +Draft +Trash -set from = "baptiste.grenier@egi.eu" - -# Signature file -set signature='~/.config/neomutt/signature-egi' - -set envelope_from_address="baptiste.grenier@egi.eu" - -# Customized headers -unmy_hdr * # remove all extra headers first. - -my_hdr Organization: EGI Foundation -my_hdr X-URL: https://egi.eu - -my_hdr From: Baptiste Grenier <baptiste.grenier@egi.eu> -my_hdr Reply-To: Baptiste Grenier <baptiste.grenier@egi.eu> - -# S/MIME using gpgme -# http://wiki.netbsd.org/users/wiz/mutt-smime/ -# gpgsm --import ~/GoogleDrive/dutchgrid.pem -# gpgsm --import ~/GoogleDrive/Personal\ information/baptiste-grenier-certificate-2017-04-14.p12 -set smime_is_default -set smime_sign_as = 0x0950B666 - -# Include the profile name in the status line -# TODO Align profile name on the right -set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@EGI──%>─%?p?( %p postponed )?───" - -#folder-hook +[Gmail].Bin 'set sort=reverse-date' -#folder-hook Sent 'set sort=reverse-date-sent' -#folder-hook +[Gmail].Bin macro index,pager y <save-message>=INBOX<enter><enter> "Move to inbox" -#folder-hook +[Gmail].Starred bind index,pager y flag-message #"Toggle star" - -# Fetching mail -# XXX need to call notmuch -macro index \cf "<shell-escape>mbsync EGI<enter>" - -# Querying Google contacts -# XXX Study possibility to query notmuch to find contacts -set query_command="goobook query %s" - -# Mailing lists -lists technical-support-cases-c@rt.egi.eu -subscribe operations@egi.eu -subscribe office@mailman.egi.eu -subscribe indigo-all@lists.indigo-datacloud.eu -subscribe indigo-announce@lists.indigo-datacloud.eu -subscribe indigo-datacloud-ea@lists.indigo-datacloud.eu -subscribe indigo-datacloud-spb@lists.indigo-datacloud.eu -subscribe indigo-emt@lists.indigo-datacloud.eu -subscribe indigo-integration-pilot@lists.indigo-datacloud.eu -subscribe indigo-wp2@lists.indigo-datacloud.eu -subscribe indigo-wp3@lists.indigo-datacloud.eu -subscribe indigo-wp3-lead@lists.indigo-datacloud.eu -subscribe indigo-wp4@lists.indigo-datacloud.eu -subscribe indigo-wp5@lists.indigo-datacloud.eu -subscribe onedata-test@lists.indigo-datacloud.eu -subscribe envriplus-wp9@helsinki.fi -subscribe wise@lists.wise-community.org - -# Save hooks -#save-hook ' ~s GGUS-Ticket-ID' =helpdesk -#save-hook ' ~s Backup' =backup -#save-hook ' ~s oss-security' =security -#save-hook ' ~e fulldisclosure-bounces@seclists.org' =security -#save-hook ' ~e operations-bounces@.*\.egi\.eu' =operations -#save-hook ' ~e office-bounces@.*\.egi\.eu' =office -#save-hook ' ~e noc-managers-bounces@mailman.egi.eu' =noc-managers -#save-hook ' ~e indigo-datacloud-ea@lists.indigo-datacloud.eu' =indigo-datacloud-ea -#save-hook ' ~e envriplus-wp9@helsinki.fi' =ENVRIPlus -#save-hook ' ~h "EGI - technical-support-cases"' =technical-support-cases -#save-hook ' ~h "EGI - report-vulnerability"' =report-vulnerability -#save-hook ' ~h indigo-wp3-lead@lists.indigo-datacloud.eu' =indigo-wp3 -#save-hook ' ~h lists.wise-community.org' =wise -#save-hook ' ~C Gaizer | ~f Gaizer' =ELITRANS -#save-hook ' ~h glue-wg@ogf.org' =glue-wg - -# :vim set ft=muttrc: diff --git a/config/neomutt/profile.gnubila b/config/neomutt/profile.gnubila deleted file mode 100644 index b09888e0..00000000 --- a/config/neomutt/profile.gnubila +++ /dev/null @@ -1,140 +0,0 @@ -# Mutt sender profile: gnubila - -set folder="~/Mail/gnubila" -#set spoolfile="+/gnubila/INBOX" -set mbox="+INBOX" -set record="+INBOX.Sent" -set postponed="+INBOX.Drafts" - -folder-hook . 'macro index d <tag-prefix><save-message>+INBOX.Trash<enter>' -folder-hook +INBOX.Trash 'macro index d <tag-prefix><delete-message>' - -folder-hook . 'macro pager d <save-message>+INBOX.Trash<enter>' -folder-hook +INBOX.Trash 'macro pager d <delete-message>' - -#unset confirmappend -#folder-hook . set trash="+INBOX.Trash" -#folder-hook trash$ unset trash - -# Signature file -set signature="~/.mutt/signature-gnubila" - -set envelope_from_address="bgrenier@gnubila.fr" - -# Customized headers -unmy_hdr * # remove all extra headers first. - -my_hdr Return-Path: <bgrenier@gnubila.fr> -my_hdr From: Baptiste Grenier <bgrenier@gnubila.fr> -my_hdr Reply-To: Baptiste Grenier <bgrenier@gnubila.fr> -my_hdr Organization: gnúbila France -my_hdr X-URL: http://gnubila.fr - -# http://www.com.univ-mrs.fr/ssc/info/cours/mutt-smime.html -# http://pthree.org/2011/09/15/setting-up-mutt-with-smime-and-pgpmime/ -# http://equiraptor.com/smime_mutt_how-to.html -# http://wiki.mutt.org/?MuttFaq/Encryption - -# SMIME config -set smime_is_default = yes - -# Set labels for certificates you add. -set smime_ask_cert_label - -# Passphrase expiration -set smime_timeout=30000 - -# Global crypto options -- these affect PGP operations as well. -set crypt_autosign = yes -set crypt_replyencrypt = yes -set crypt_replysign = yes -set crypt_replysignencrypted = yes -set crypt_verify_sig = yes - -set crypt_autosmime = yes - -# Section A: Key Management. - -# The (default) keyfile for signing/decrypting. Uncomment the following -# line and replace the keyid with your own. -set smime_default_key="13cf2c5f.1" - -# Uncommen to make mutt ask what key to use when trying to decrypt a message. -# It will use the default key above (if that was set) else. -# unset smime_decrypt_use_default_key - -# Path to a file or directory with trusted certificates -set smime_ca_location="~/.smime/ca" - -# Path to where all known certificates go. (must exist!) -set smime_certificates="~/.smime/certificates" - -# Path to where all private keys go. (must exist!) -set smime_keys="~/.smime/keys" - -# These are used to extract a certificate from a message. -# First generate a PKCS#7 structure from the message. -set smime_pk7out_command="openssl smime -verify -in %f -noverify -pk7out" - -# Extract the included certificate(s) from a PKCS#7 structure. -#set smime_get_cert_command="openssl pkcs7 -print_certs -inform DER -in %f" -set smime_get_cert_command="openssl pkcs7 -print_certs -in %f" - -# Extract the signer's certificate only from a S/MIME signature (sender verification) -set smime_get_signer_cert_command="openssl smime -verify -in %f -noverify -signer %c -out /dev/null" - -# This is used to get the email address the certificate was issued to. -set smime_get_cert_email_command="openssl x509 -in %f -noout -email" - -# Add a certificate to the database using smime_keys. -set smime_import_cert_command="smime_keys add_cert %f" - - -# Sction B: Outgoing messages - -# Algorithm to use for encryption. -# valid choices are rc2-40, rc2-64, rc2-128, des, des3 -set smime_encrypt_with="des3" - -# Encrypt a message. Input file is a MIME entity. -set smime_encrypt_command="openssl smime -encrypt -%a -outform DER -in %f %c" - -# Sign. -set smime_sign_command="openssl smime -sign -signer %c -inkey %k -passin stdin -in %f -certfile %i -outform DER" - - -#Section C: Incoming messages - -# Decrypt a message. Output is a MIME entity. -set smime_decrypt_command="openssl smime -decrypt -passin stdin -inform DER -in %f -inkey %k -recip %c" -#set smime_decrypt_command="openssl smime -passin stdin -in %f -decrypt -inkey ~/repos/gwarf/private/certs/GRID2-CNRS/MaatG/userkey.pem" -#set smime_decrypt_command="openssl smime -passin stdin -decrypt -in %f -inkey ~/repos/gwarf/private/certs/GRID2-CNRS/MaatG/userkey.pem" - -# Verify a signature of type multipart/signed -set smime_verify_command="openssl smime -verify -inform DER -in %s %C -content %f" - -# Verify a signature of type application/x-pkcs7-mime -set smime_verify_opaque_command="\ -openssl smime -verify -inform DER -in %s %C || \ -openssl smime -verify -inform DER -in %s -noverify 2>/dev/null" - - -# Section D: Alternatives - -# Sign. If you wish to NOT include the certificate your CA used in signing -# your public key, use this command instead. -# set smime_sign_command="openssl smime -sign -signer %c -inkey %k -passin stdin -in %f -outform DER" -# -# In order to verify the signature only and skip checking the certificate chain: -# -# set smime_verify_command="openssl smime -verify -inform DER -in %s -content %f -noverify" -# set smime_verify_opaque_command="openssl smime -verify -inform DER -in %s -noverify" - -# Include the profile name in the status line -set status_format="%v: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---@gnubila---%?V?(Filter: %V)?--%>-(%P)---" - -macro index \e1 "<save-message>+INBOX._Read<enter>" "Save Message to _Read" -macro index \e2 "<save-message>+_INBOX.Reply<enter>" "Save Message to _Reply" -macro index \e3 "<save-message>+_INBOX.Waiting<enter>" "Save Message to _Waiting" -macro index \e4 "<save-message>+_INBOX.Defer<enter>" "Save Message to _Defer" -macro index \e5 "<save-message>+lINBOX.ists<enter>" "Save Message to lists" diff --git a/config/neomutt/profile.gwarf b/config/neomutt/profile.gwarf deleted file mode 100644 index 1ac44f44..00000000 --- a/config/neomutt/profile.gwarf +++ /dev/null @@ -1,22 +0,0 @@ -# Mutt sender profile: gwarf - -# Signature file -set signature="sh ~/.mutt/createsign.sh|" - -set envelope_from_address="gwarf@gwarf.org" - -# Customized headers -unmy_hdr * # remove all extra headers first. - -my_hdr From: Baptiste Grenier <gwarf@gwarf.org> -my_hdr Reply-To: Baptiste Grenier <gwarf@gwarf.org> -my_hdr X-PGP-Key: http://keys.bapt.name/pubkey.asc - -# Pretty Good Privacy (PGP): -unset smime_is_default -set pgp_sign_as="0x2762EBA1" # UserID/KeyID for signing -set nopgp_autoencrypt # Default (enc)) -set pgp_autosign # Default (sign)) - -# Include the profile name in the status line -set status_format="%v: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---@gwarf---%?V?(Filter: %V)?--%>-(%P)---" diff --git a/config/neomutt/profile.healthgrid b/config/neomutt/profile.healthgrid deleted file mode 100644 index 2e9786e1..00000000 --- a/config/neomutt/profile.healthgrid +++ /dev/null @@ -1,25 +0,0 @@ -# Mutt sender profile: healthgrid - -# Signature file -set signature="~/.mutt/signature-healthgrid" - -set envelope_from_address="baptiste.grenier@healthgrid.org" - -# Customized headers -unmy_hdr * # remove all extra headers first. - -my_hdr Return-Path: <baptiste.grenier@healthgrid.org> -my_hdr From: Baptiste Grenier <baptiste.grenier@healthgrid.org> -my_hdr Reply-To: Baptiste Grenier <baptiste.grenier@healthgrid.org> -my_hdr Organization: HealthGrid -my_hdr X-URL: http://healthgrid.org -my_hdr X-PGP-Key: https://keys.bapt.name/hgpubkey.asc - -# Pretty Good Privacy (PGP): -unset smime_is_default -set pgp_sign_as="0x069112E2" # UserID/KeyID for signing -unset pgp_autoencrypt # Default (enc)) -set pgp_autosign # Default (sign)) - -# Include the profile name in the status line -set status_format="%v: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---@healthgrid---%?V?(Filter: %V)?--%>-(%P)---" diff --git a/config/neomutt/profile.maat b/config/neomutt/profile.maat deleted file mode 100644 index 946cbda0..00000000 --- a/config/neomutt/profile.maat +++ /dev/null @@ -1,118 +0,0 @@ -# Mutt sender profile: maat - -# Signature file -set signature="~/.mutt/signature-maat" - -set envelope_from_address="bgrenier@maatg.fr" - -# Customized headers -unmy_hdr * # remove all extra headers first. - -my_hdr Return-Path: <bgrenier@maatg.fr> -my_hdr From: Baptiste Grenier <bgrenier@maatg.fr> -my_hdr Reply-To: Baptiste Grenier <bgrenier@maatg.fr> -my_hdr Organization: maatG -my_hdr X-URL: http://maatg.fr - -# http://www.com.univ-mrs.fr/ssc/info/cours/mutt-smime.html -# http://pthree.org/2011/09/15/setting-up-mutt-with-smime-and-pgpmime/ -# http://equiraptor.com/smime_mutt_how-to.html -# http://wiki.mutt.org/?MuttFaq/Encryption - -# SMIME config -set smime_is_default = yes - -# Set labels for certificates you add. -set smime_ask_cert_label - -# Passphrase expiration -set smime_timeout=30000 - -# Global crypto options -- these affect PGP operations as well. -set crypt_autosign = yes -set crypt_replyencrypt = yes -set crypt_replysign = yes -set crypt_replysignencrypted = yes -set crypt_verify_sig = yes - -set crypt_autosmime = yes - -# Section A: Key Management. - -# The (default) keyfile for signing/decrypting. Uncomment the following -# line and replace the keyid with your own. -set smime_default_key="98151435.1" - -# Uncommen to make mutt ask what key to use when trying to decrypt a message. -# It will use the default key above (if that was set) else. -# unset smime_decrypt_use_default_key - -# Path to a file or directory with trusted certificates -set smime_ca_location="~/.smime/ca" - -# Path to where all known certificates go. (must exist!) -set smime_certificates="~/.smime/certificates" - -# Path to where all private keys go. (must exist!) -set smime_keys="~/.smime/keys" - -# These are used to extract a certificate from a message. -# First generate a PKCS#7 structure from the message. -set smime_pk7out_command="openssl smime -verify -in %f -noverify -pk7out" - -# Extract the included certificate(s) from a PKCS#7 structure. -#set smime_get_cert_command="openssl pkcs7 -print_certs -inform DER -in %f" -set smime_get_cert_command="openssl pkcs7 -print_certs -in %f" - -# Extract the signer's certificate only from a S/MIME signature (sender verification) -set smime_get_signer_cert_command="openssl smime -verify -in %f -noverify -signer %c -out /dev/null" - -# This is used to get the email address the certificate was issued to. -set smime_get_cert_email_command="openssl x509 -in %f -noout -email" - -# Add a certificate to the database using smime_keys. -set smime_import_cert_command="smime_keys add_cert %f" - - -# Sction B: Outgoing messages - -# Algorithm to use for encryption. -# valid choices are rc2-40, rc2-64, rc2-128, des, des3 -set smime_encrypt_with="des3" - -# Encrypt a message. Input file is a MIME entity. -set smime_encrypt_command="openssl smime -encrypt -%a -outform DER -in %f %c" - -# Sign. -set smime_sign_command="openssl smime -sign -signer %c -inkey %k -passin stdin -in %f -certfile %i -outform DER" - - -#Section C: Incoming messages - -# Decrypt a message. Output is a MIME entity. -set smime_decrypt_command="openssl smime -decrypt -passin stdin -inform DER -in %f -inkey %k -recip %c" -#set smime_decrypt_command="openssl smime -passin stdin -in %f -decrypt -inkey ~/repos/gwarf/private/certs/GRID2-CNRS/MaatG/userkey.pem" -#set smime_decrypt_command="openssl smime -passin stdin -decrypt -in %f -inkey ~/repos/gwarf/private/certs/GRID2-CNRS/MaatG/userkey.pem" - -# Verify a signature of type multipart/signed -set smime_verify_command="openssl smime -verify -inform DER -in %s %C -content %f" - -# Verify a signature of type application/x-pkcs7-mime -set smime_verify_opaque_command="\ -openssl smime -verify -inform DER -in %s %C || \ -openssl smime -verify -inform DER -in %s -noverify 2>/dev/null" - - -# Section D: Alternatives - -# Sign. If you wish to NOT include the certificate your CA used in signing -# your public key, use this command instead. -# set smime_sign_command="openssl smime -sign -signer %c -inkey %k -passin stdin -in %f -outform DER" -# -# In order to verify the signature only and skip checking the certificate chain: -# -# set smime_verify_command="openssl smime -verify -inform DER -in %s -content %f -noverify" -# set smime_verify_opaque_command="openssl smime -verify -inform DER -in %s -noverify" - -# Include the profile name in the status line -set status_format="%v: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---@maat---%?V?(Filter: %V)?--%>-(%P)---" diff --git a/config/neomutt/profile.perso b/config/neomutt/profile.perso deleted file mode 100644 index 50766d2a..00000000 --- a/config/neomutt/profile.perso +++ /dev/null @@ -1,86 +0,0 @@ -# Mutt sender profile: perso - -# sets up queries for virtual folders -unvirtual-mailboxes * -virtual-mailboxes \ - "Unread" "notmuch://?query=tag:perso AND tag:inbox AND tag:unread" \ - "Inbox" "notmuch://?query=tag:perso AND tag:inbox" \ - "All" "notmuch://?query=tag:perso AND tag:all" \ - "Neomutt" "notmuch://?query=tag:perso AND tag:neomutt" \ - "Lists" "notmuch://?query=tag:perso AND tag:lists" \ - "TODO" "notmuch://?query=tag:perso AND tag:todo" \ - "Trash" "notmuch://?query=tag:deleted" \ - "Spam" "notmuch://?query=tag:spam" \ - "Sent" "notmuch://?query=tag:perso AND tag:sent" - -set sendmail = "/usr/bin/msmtp -a perso" - -color status green default - -# set spoolfile = "+INBOX" -# set mbox = "+_Read" -# Record sent emails -set record="+Perso/Sent" -set postponed="+Perso/Drafts" - -# If using trash-folder-patch -# set trash="+Trash" - -# mailboxes +INBOX - -set from = "baptiste@bapt.name" - -# Signature file -set signature="sh ~/bin/createsign|" - -set envelope_from_address="baptiste@bapt.name" - -# Customized headers -unmy_hdr * # remove all extra headers first. - -my_hdr From: Baptiste Grenier <baptiste@bapt.name> -my_hdr Reply-To: Baptiste Grenier <baptiste@bapt.name> -my_hdr X-PGP-Key: https://keys.bapt.name/pubkey.asc -my_hdr OpenPGP: id=2762EBA1\; url=https://keys.bapt.name/pubkey.asc\; preference\=signencrypt - -# Pretty Good Privacy (PGP): -unset smime_is_default -set pgp_sign_as="0xCDA18F02" # UserID/KeyID for signing -set nopgp_autoencrypt # Default (enc)) -set pgp_autosign # Default (sign)) - -# Include the profile name in the status line -# TODO Align profile name on the right -set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@Perso──%>─%?p?( %p postponed )?───" - -# macro index \e1 "<save-message>+_Read<enter>" "Save Message to _Read" -# macro index \e2 "<save-message>+_Reply<enter>" "Save Message to _Reply" -# macro index \e3 "<save-message>+_Waiting<enter>" "Save Message to _Waiting" -# macro index \e4 "<save-message>+_Defer<enter>" "Save Message to _Defer" -# macro index \e5 "<save-message>+lists<enter>" "Save Message to lists" - -# macro index,pager gt \ -# "<change-folder>=Sent<enter>" \ -# "Go to 'Sent Mail'" - -# macro index,pager ga \ -# "<change-folder>+_Read<enter>" \ -# "Go to all mail" - -# Fetching mail -# XXX need to call notmuch -macro index \cf "<shell-escape>mbsync Perso<enter>" - -# Queryintg abook -set query_command="abook --mutt-query '%s'" -macro index,pager a \ - "<pipe-message>abook --add-email<return>" \ - "add the sender address to abook" - -subscribe debiocidons-bureau@framalistes.org -subscribe debiocidons-ca@framalistes.org -subscribe debiocidons@framalistes.org -# save-hook ' ~h debiocidons@framalistes.org' =debiocidons -# save-hook ' ~h debiocidons-ca@framalistes.org' =debiocidons-ca -# save-hook ' ~h debiocidons-bureau@framalistes.org' =debiocidons-bureau -# save-hook ' ~h boursorama' =boursorama diff --git a/config/neomutt/progress-color b/config/neomutt/progress-color deleted file mode 100644 index baa4895f..00000000 --- a/config/neomutt/progress-color +++ /dev/null @@ -1,9 +0,0 @@ -# The 'progress' feature provides clear visual feedback for -# slow tasks, such as indexing a large folder over the net. - -# Set the color of the progress bar -# White text on a red background -# color progress white red -color progress color234 color136 - -# vim: set ft=muttrc: diff --git a/config/neomutt/show_certs.sh b/config/neomutt/show_certs.sh deleted file mode 100644 index 679650cd..00000000 --- a/config/neomutt/show_certs.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -# Extract pk7 and Dump information about pk7 -openssl smime -verify -in 1571297081.R5855126756991174876.Baptistes-MBP-2-f821:2,S -noverify -pk7out | openssl pkcs7 -print_certs -noout -text diff --git a/config/neomutt/sidebar b/config/neomutt/sidebar deleted file mode 100644 index f2c06e49..00000000 --- a/config/neomutt/sidebar +++ /dev/null @@ -1,31 +0,0 @@ -# sidebar - -# Unknown variable -set sidebar_divider_char = ' │ ' -set sidebar_format = " %B%* " -# Order of the mailboxes command -set sidebar_sort_method = 'unsorted' -# set to "no" to disable sidebar view at startup -set sidebar_visible = no -set sidebar_width = 20 - -set mail_check_stats - -#color sidebar_new yellow default -color sidebar_new color33 color234 - -# sidebar toggle -macro index ,@) "<enter-command> set sidebar_visible=no; macro index ~ ,@( 'Toggle sidebar'<Enter>" -macro index ,@( "<enter-command> set sidebar_visible=yes; macro index ~ ,@) 'Toggle sidebar'<Enter>" -macro index ~ ,@( 'Toggle sidebar' # toggle the sidebar - -# sidebar bindings -# got to previous folder in sidebar -bind index,pager \CP sidebar-prev -# got to next folder in sidebar -bind index,pager \CN sidebar-next -# open selected folder from sidebar -# For this to work on mac: stty discard undef -bind index,pager \CO sidebar-open - -# vim: set ft=muttrc: diff --git a/config/neomutt/signature-egi b/config/neomutt/signature-egi deleted file mode 100644 index 64e4bdbb..00000000 --- a/config/neomutt/signature-egi +++ /dev/null @@ -1,6 +0,0 @@ -Baptiste Grenier | Senior Service Delivery Officer | baptiste.grenier@egi.eu -EGI Foundation (Amsterdam, The Netherlands) -Phone: +31 (0) 627 860 852 | Keybase: gwarf | Skype: baptiste.grenier.egi - -EGI: Advanced Computing for Research -The EGI Foundation is ISO 9001:2015 and ISO/IEC 20000-1:2018 certified diff --git a/config/neomutt/signature-gnubila b/config/neomutt/signature-gnubila deleted file mode 100644 index 038aa316..00000000 --- a/config/neomutt/signature-gnubila +++ /dev/null @@ -1,2 +0,0 @@ -Baptiste Grenier gnúbila France Software architect/developer -https://gnubila.fr Mobile: +33 786 341 687 diff --git a/config/neomutt/signature-healthgrid b/config/neomutt/signature-healthgrid deleted file mode 100644 index 9d90e799..00000000 --- a/config/neomutt/signature-healthgrid +++ /dev/null @@ -1,3 +0,0 @@ -Baptiste Grenier HealthGrid Systems Administrator -PGP: 0x069112E2 (Tel|Fax): +33 (0) 473 405 (155|002) -36 rue Charles de Montesquieu - 63430 Pont du Château - France diff --git a/config/neomutt/signature-maat b/config/neomutt/signature-maat deleted file mode 100644 index a6356c77..00000000 --- a/config/neomutt/signature-maat +++ /dev/null @@ -1,2 +0,0 @@ -Baptiste Grenier Maat-G Software architect/developer -http://maatg.fr Mobile: +33 786 341 687 diff --git a/config/neomutt/signature-perso b/config/neomutt/signature-perso deleted file mode 100644 index 3898bd87..00000000 --- a/config/neomutt/signature-perso +++ /dev/null @@ -1,5 +0,0 @@ -\,,/_[-_-]_\,,/ -Keybase: gwarf - GPG: 0xCDA18F02 -@gwarf@framapiaf.org -https://blog.bapt.name -https://github.com/gwarf diff --git a/config/neomutt/sync b/config/neomutt/sync deleted file mode 100755 index 21b231e3..00000000 --- a/config/neomutt/sync +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -# TODO check more complete conf -# https://github.com/kzar/davemail/blob/master/postsync.py -# https://copyninja.info/blog/email_setup.html - -PATH="/usr/local/bin:$PATH" - -MBSYNC=$(pgrep mbsync) -NOTMUCH=$(pgrep notmuch) - -if [ -n "$MBSYNC" -o -n "$NOTMUCH" ]; then - echo "Already running one instance of mail-sync. Exiting..." - exit 0 -fi - -# Retreive emails -mbsync -aV - -# Index them with Notmuch -notmuch new - -# Index them with mu -mu index diff --git a/config/neomutt/test b/config/neomutt/test deleted file mode 100644 index 69802364..00000000 --- a/config/neomutt/test +++ /dev/null @@ -1,2 +0,0 @@ -dsasda -dsasdasd diff --git a/config/neomutt/view_attachment b/config/neomutt/view_attachment deleted file mode 100755 index 43df6267..00000000 --- a/config/neomutt/view_attachment +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/bash -# -# Author: Eric Gebhart -# -# Purpose: To be called by mutt as indicated by .mailcap to handle mail attachments. -# -# Function: Copy the given file to a temporary directory so mutt -# Won't delete it before it is read by the application. -# -# Along the way, discern the file type or use the type -# That is given. -# -# Finally use 'open' or 'open -a' if the third argument is -# given. -# -# -# Arguments: -# -# $1 is the file -# $2 is the type - for those times when file magic isn't enough. -# I frequently get html mail that has no extension -# and file can't figure out what it is. -# -# Set to '-' if you don't want the type to be discerned. -# Many applications can sniff out the type on their own. -# And they do a better job of it too. -# -# Open Office and MS Office for example. -# -# $3 is open with. as in open -a 'open with this .app' foo.xls -# -# Examples: These are typical .mailcap entries which use this program. -# -# Image/JPEG; /usr/local/bin/view_attachment %s -# Image/PNG; /usr/local/bin/view_attachment %s -# Image/GIF; /usr/local/bin/view_attachment %s -# -# Application/PDF; /usr/local/bin/view_attachment %s -# -# #This HTML example passes the type because file doesn't always work and -# #there aren't always extensions. -# -# text/html; /usr/local/bin/view_attachment %s html -# -# # If your Start OpenOffice.org.app is spelled with a space like this one, <-- -# # then you'll need to precede the space with a \ . I found that too painful -# # and renamed it with an _. -# -# Application/vnd.ms-excel; /usr/local/bin/view_attachment %s "-" '/Applications/OpenOffice.org1.1.2/Start_OpenOffice.org.app' -# Application/msword; /usr/local/bin/view_attachment %s "-" '/Applications/OpenOffice.org1.1.2/Start_OpenOffice.org.app' -# -# -# Debugging: If you have problems set debug to 'yes'. That will cause a debug file -# be written to /tmp/mutt_attach/debug so you can see what is going on. -# -# See Also: The man pages for open, file, basename -# - -# the tmp directory to use. -tmpdir="/tmp/mutt_attach" - -# the name of the debug file if debugging is turned on. -debug_file=$tmpdir/debug - -# debug. yes or no. -debug="no" -#debug="yes" - -type=$2 -open_with=$3 - -# make sure the tmpdir exists. -mkdir -p $tmpdir - -# clean it out. Remove this if you want the directory -# to accumulate attachment files. -rm -rf $tmpdir/* - -# Mutt puts everything in /tmp by default. -# This gets the basic filename from the full pathname. -filename=`basename $1` - -# get rid of the extenson and save the name for later. -file=`echo $filename | cut -d"." -f1` - -if [ $debug = "yes" ]; then - echo "1:" $1 " 2:" $2 " 3:" $3 > $debug_file - echo "Filename:"$filename >> $debug_file - echo "File:"$file >> $debug_file - echo "===========================" >> $debug_file -fi - -# if the type is empty then try to figure it out. -if [ -z $type ]; then - type=`file -bi $1 | cut -d"/" -f2` -fi - -# if the type is '-' then we don't want to mess with type. -# Otherwise we are rebuilding the name. Either from the -# type that was passed in or from the type we discerned. -if [ $type = "-" ]; then - newfile=$filename -else - newfile=$file.$type -fi - -newfile=$tmpdir/$newfile - -# Copy the file to our new spot so mutt can't delete it -# before the app has a chance to view it. -cp $1 $newfile - -if [ $debug = "yes" ]; then - echo "File:" $file "TYPE:" $type >> $debug_file - echo "Newfile:" $newfile >> $debug_file - echo "Open With:" $open_with >> $debug_file -fi - -# If there's no 'open with' then we can let preview do it's thing. -# Otherwise we've been told what to use. So do an open -a. - -if [ -z $open_with ]; then - open $newfile -else - open -a "$open_with" $newfile -fi diff --git a/config/nvim/UltiSnips/all.snippets b/config/nvim/UltiSnips/all.snippets deleted file mode 100644 index e897c9d4..00000000 --- a/config/nvim/UltiSnips/all.snippets +++ /dev/null @@ -1,9 +0,0 @@ -snippet cuthere "Start cut-here symbols" b ----------------8<----------------8<-------------------8<--------------- -endsnippet - -snippet cutstop "End cut-here symbols" b ---------------->8---------------->8------------------->8--------------- -endsnippet - -# vim:ft=snippets: diff --git a/config/nvim/UltiSnips/puppet.snippets b/config/nvim/UltiSnips/puppet.snippets deleted file mode 100644 index 307c1c84..00000000 --- a/config/nvim/UltiSnips/puppet.snippets +++ /dev/null @@ -1,203 +0,0 @@ -######################################################################### -# Python helper code # -######################################################################### - -# :help UltiSnips -# http://bazaar.launchpad.net/~sirver/ultisnips/trunk/view/head:/doc/UltiSnips.txt - -# Snippets options -# * b: snippet should be at beginning of line - -global !p -import vim -import os.path -def get_module_namespace_and_basename(): - """This function will try to guess the current class or define name you are - trying to create. Note that for this to work you should be using the module - structure as per the style guide. Examples inputs and it's output - * /home/nikolavp/puppet/modules/collectd/manifests/init.pp -> collectd - * /home/nikolavp/puppet/modules/collectd/manfistes/mysql.pp -> collectd::mysql - """ - first_time = True - current_file_path_without_ext = vim.eval('expand("%:p:r")') or "" - if not current_file_path_without_ext: - return "name" - parts = os.path.split(current_file_path_without_ext) - namespace = '' - while parts[0] and parts[0] != '/': - if parts[1] == 'init' and first_time and not namespace: - first_time = False - parts = os.path.split(parts[0]) - continue - if parts[1] == 'manifests': - return os.path.split(parts[0])[1] + ('::' + namespace).rstrip(':') - else: - namespace = parts[1] + '::' + namespace - parts = os.path.split(parts[0]) - # couldn't guess the namespace. The user is editing a raw file in no module like the site.pp file - return "name" -endglobal - -############################################################################### -# Puppet Language Constructs # -# See http://docs.puppetlabs.com/puppet/latest/reference/lang_summary.html # -############################################################################### -snippet file "File resource type" b -file { '${1:name}': - ensure => '${2:file}', - owner => '${3:root}', - group => '${4:root}', - mode => '${5:0644}', - source => 'puppet:///modules/${6:module}/${7:source}', - content => template('${8:template}'), - require => [ Package['${10:package}'], File['${11:file}'], ], -} -endsnippet - -snippet package "Package resource type" b -package { '${1:name}': - ensure => '${2:installed}', -} -endsnippet - -snippet service "Service resource type" b -service { '${1:name}': - ensure => '${2:running}', - enable => ${3:true}, - hasstatus => ${4:true}, -} -endsnippet - -snippet class -class { '${1}': - ${2} -} - -# vim: set et sta sw=2 ts=2 sts=2 noci noai: -endsnippet - -snippet firewall -firewall { '050 Open port ${1}': - dport => $1, - action => 'accept', -} -endsnippet - -snippet file_line "file_line (stdlib) resource type" b -file_line { '${1:name}': - ensure => '${2:present}', - path => '${3:/temp/test.txt}', - line => '${4:installed}', - after => '${5}', - match => '${6}', - multiple => '${7:false}', -} -endsnippet - -snippet =os "selector on OS" b -= $::operatingsystem ? { - /(redhat|centos)/ => 'bin', - /(ubuntu|debian)/ => 'bin', - default => undef, -} -endsnippet - -snippet = "selector on OS family" b -= $::osfamily ? { - 'Debian' => 'bin', - 'RedHat' => 'bin', - default => undef, -} -endsnippet - -# Header to match http://docs.puppetlabs.com/guides/style_guide.html#puppet-doc -snippet classheader "Class declaration" b -# == Class: ${1:`!p snip.rv = get_module_namespace_and_basename()`} -# -# ${2:Full description of class $1 here} -# -# === Parameters -# -# Document parameters here. -# -# [*parameter1*] -# Explanation of what this parameter affects and what it defaults to. -# e.g. "Specify one or more upstream ntp servers as an array." -# -# === Examples -# -# include ::$1 -# -# Configuration is done using Hiera. -# -# === Authors -# -# `!v g:snips_author` <`!v g:snips_author_email`> -# -# === Copyright -# -# Copyright `!v strftime("%Y")` `!v g:snips_company` -# -class $1 (${3}) { - notify { 'Hellow world from ::$1!': } -} - -# vim: set et sta sw=2 ts=2 sts=2 noci noai: -endsnippet - -# Header to match http://docs.puppetlabs.com/guides/style_guide.html#puppet-doc -snippet defineheader "Define declaration" b -# == Define: ${1:`!p snip.rv = get_module_namespace_and_basename()`} -# -# ${2:Full description of define $1 here} -# -# === Parameters -# -# Document parameters here. -# -# [*parameter1*] -# Explanation of what this parameter affects and what it defaults to. -# e.g. "Specify one or more upstream ntp servers as an array." -# -# === Examples -# -# '$1' { 'namevar': -# parameter1 => [ 'just', 'an', 'example', ] -# } -# -# === Authors -# -# `!v g:snips_author` <`!v g:snips_author_email`> -# -# === Copyright -# -# Copyright `!v strftime("%Y")` `!v g:snips_company` -# -define $1 (${3}) { - ${4} -} - -# vim: set et sta sw=2 ts=2 sts=2 noci noai: -endsnippet - -snippet versioncmp_inf "Test if a is < b" -versioncmp(${1}, '${2}') == -1 -endsnippet - -snippet versioncmp_equal "Test if a is == b" -versioncmp(${1}, '${2}') == 0 -endsnippet - -snippet versioncmp_sup_equal "Test if a is >= b" -versioncmp(${1}, '${2}') > -1 -endsnippet - -snippet versioncmp_sup "Test if a is > b" -versioncmp(${1}, '${2}') > 0 -endsnippet - -snippet notify "Notify" -notify { "${1}": } -endsnippet - -# vim:ft=snippets: diff --git a/config/nvim/UltiSnips/py.snippets b/config/nvim/UltiSnips/py.snippets deleted file mode 100644 index 60d578d9..00000000 --- a/config/nvim/UltiSnips/py.snippets +++ /dev/null @@ -1,34 +0,0 @@ -snippet _skel "Python skeleton" b -#!/usr/bin/env python -# coding=utf-8 - -''' -Documentation of class - -`!v g:snips_author` <`!v g:snips_author_email`> -`!v strftime("%Y")` `!v g:snips_company` - -@package MyPackage -''' - -from __future__ import print_function -import os -import sys - -$0 - -# vim: set et ts=4 sw=4: -endsnippet - -snippet header "File Header" b -endsnippet - -snippet main "main function" b -if __name__ == '__main__': - if len(sys.argv) < 1: - sys.exit('Usage: %s arg1' % sys.argv[0]) - arg1 = sys.argv[1] - to_be_named(arg1) -endsnippet - -# vim:ft=snippets: diff --git a/config/nvim/UltiSnips/sh.snippets b/config/nvim/UltiSnips/sh.snippets deleted file mode 100644 index 499fca29..00000000 --- a/config/nvim/UltiSnips/sh.snippets +++ /dev/null @@ -1,168 +0,0 @@ -snippet _skel "Shell skeleton" b -#!/bin/sh -$0 - -exit 0 - -# vim:set ft=sh ts=2 sw=2 et: -endsnippet - -snippet exit_script_on_error "Exit script on errors" b -# Exit on first error even when using | and on unset variable -set -eo pipefail -u -endsnippet - -snippet header "File Header" b -########################################################################### -# -# Script: ${1:`!v expand("%:t")`} -# Usage: $1 ${2:parameters} -# Description: ${3:Short description} -# ${4:Full description of $1 here} -# -# Version: ${5:0.0.1} -# -# Project: ${6:project} `!v strftime("%Y")` -# Author: `!v g:snips_author` <`!v g:snips_author_email`> -# Copyright: `!v g:snips_company` -# -# ------------------------------------------------------------------------ -# Changelog: -# -# `!v strftime("%Y")`-`!v strftime("%m")`-`!v strftime("%d")` $5: Initial version. (`!v g:snips_author_initials`) -# -########################################################################### - -$7 -endsnippet - -snippet error_message "Error message function" b -# Print a message to stderr -# -# error_message message -error_message() { - >&2 printf "\$@" -} -endsnippet - -snippet init "Initialization function" b -USAGE="$(basename \$0) ${1:arguments}" - -# Print a message to stderr -# -# error_message message -error_message() { - >&2 printf "\$@" -} - -# Check if a variable is set -# -# assert_is_set caller_name variable_name -assert_is_set() { - if [ \$# -ne 2 ]; then - error_message 'assert_is_set: Wrong numbers of parameters:\\n' - error_message 'assert_is_set caller_name variable_name\\n' - exit 1 - fi - - local caller_name="\$1" - local variable_name="\$2" - - eval val=\\\$\$variable_name - if [ -z "\$val" ] ; then - error_message "\$caller_name: variable \'\$variable_name\' is not defined or empty\\n" - exit 1 - fi -} - -# Prepare run -# -# init "\$@" -init() { - if [ \$# -ne ${2:arguments number} ]; then - error_message "Wrong numbers of parameters (\$# instead of $2)\\n" - error_message "\$USAGE\\n" - exit 1 - fi - - VAR="\$1" - - assert_is_set init VAR -} - -# Main block -# -# run -run() { - # Do some stuff -} - -init "\$@" -run -endsnippet - -snippet eprintf ->&2 printf "$1\\n" -endsnippet - -snippet readfile -while read line || [ -n "$line" ]; do - ${2} -done < ${1} -endsnippet - -snippet confirm_or_exit "Confirm or exit function" b -# Ask a user for confirmation -# -# confirm_or_exit -function confirm_or_exit() { -while true; do - printf 'Please confirm (y or n) :\\n' - read CONFIRM - case \$CONFIRM in - y|Y|YES|yes|Yes) - break - ;; - n|N|no|NO|No) - printf "Aborting - you entered \$CONFIRM\\n" - exit 1 - ;; - *) printf 'Please enter only y or n\\n' - esac -done -} -endsnippet - -snippet check_presence_binary "check_presence_binary function" b -# Check presence of a binary and make it executablek -# -# check_presence $binary -check_presence() { - binary="\$1" - if [ -r "$binary" ]; then - if [ ! -x $binary ]; then - echo - echo "Making $binary executable" - chmod +x "$binary" - fi - else - echo "$binary is not present!" - exit 1 - fi -} -endsnippet - -snippet check_presence "check_presence function" b -# Check presence of a file -# -# check_presence $file -check_presence() { - file="\$1" - if [ ! -r "\$file" ]; then - echo "$file is not present!" - exit 1 - fi -} -endsnippet - -# vim:ft=snippets: diff --git a/config/nvim/after/ftplugin/vimwiki.vim b/config/nvim/after/ftplugin/vimwiki.vim deleted file mode 100644 index 62c7fb28..00000000 --- a/config/nvim/after/ftplugin/vimwiki.vim +++ /dev/null @@ -1,4 +0,0 @@ -" Use tab to indent lists -" ctrl-t for indenting is catched by termite -" ctrl-d should be working for unindenting -:inoremap <tab> <c-t> diff --git a/config/nvim/after/plugin/TabularMaps.vim b/config/nvim/after/plugin/TabularMaps.vim deleted file mode 100644 index 839b8dfd..00000000 --- a/config/nvim/after/plugin/TabularMaps.vim +++ /dev/null @@ -1,26 +0,0 @@ -if !exists(':Tabularize') - finish " Tabular.vim wasn't loaded -endif - -" Make line wrapping possible by resetting the 'cpo' option, first saving it -let s:save_cpo = &cpo -set cpo&vim - -AddTabularPattern! puppet_params /=> - -AddTabularPattern! assignment /[|&+*/%<>=!~-]\@<!\([<>!=]=\|=\~\)\@![|&+*/%<>=!~-]*=/l1r1 - -AddTabularPattern! two_spaces / /l0 - -AddTabularPipeline! multiple_spaces / / map(a:lines, "substitute(v:val, ' *', ' ', 'g')") | tabular#TabularizeStrings(a:lines, ' ', 'l0') - -AddTabularPipeline! argument_list /(.*)/ map(a:lines, 'substitute(v:val, ''\s*\([(,)]\)\s*'', ''\1'', ''g'')') - \ | tabular#TabularizeStrings(a:lines, '[(,)]', 'l0') - \ | map(a:lines, 'substitute(v:val, ''\(\s*\),'', '',\1 '', "g")') - \ | map(a:lines, 'substitute(v:val, ''\s*)'', ")", "g")') - -" Restore the saved value of 'cpo' -let &cpo = s:save_cpo -unlet s:save_cpo - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/after/plugin/ultisnips_custom.vim b/config/nvim/after/plugin/ultisnips_custom.vim deleted file mode 100644 index 810354e3..00000000 --- a/config/nvim/after/plugin/ultisnips_custom.vim +++ /dev/null @@ -1,11 +0,0 @@ -" after/plugin/ultisnips_custom.vim -" https://noahfrederick.com/log/vim-templates-with-ultisnips-and-projectionist/ - -if !exists('g:did_UltiSnips_plugin') - finish -endif - -augroup ultisnips_custom - autocmd! - autocmd BufNewFile * silent! call snippet#InsertSkeleton() -augroup END diff --git a/config/nvim/autoload/mailcomplete.vim b/config/nvim/autoload/mailcomplete.vim deleted file mode 100644 index 6e2fc019..00000000 --- a/config/nvim/autoload/mailcomplete.vim +++ /dev/null @@ -1,24 +0,0 @@ -function! mailcomplete#Complete(findstart, base) - if a:findstart == 1 - let line = getline('.') - let idx = col('.') - while idx > 0 - let idx -= 1 - let c = line[idx] - " break on header and previous email - if c == ':' || c == '>' - return idx + 2 - else - continue - endif - endwhile - return idx - else - let trim="sed '/^$/d' | cut -f1,2" - let fmt='awk ''BEGIN{FS=OFS="\t"}{printf "%s <%s>\n", $2, $1}''' - " Using lbdq - " return split(system('lbdbq ' . a:base . '|' . trim . '|' . fmt ), '\n') - " Using mu - return split(system('mu cfind --format=mutt-ab ' . a:base . '|' . trim . '|' . fmt ), '\n') - endif -endfunc diff --git a/config/nvim/autoload/plug.vim b/config/nvim/autoload/plug.vim deleted file mode 100644 index 2b89b5a6..00000000 --- a/config/nvim/autoload/plug.vim +++ /dev/null @@ -1,2797 +0,0 @@ -" vim-plug: Vim plugin manager -" ============================ -" -" Download plug.vim and put it in ~/.vim/autoload -" -" curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ -" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim -" -" Edit your .vimrc -" -" call plug#begin('~/.vim/plugged') -" -" " Make sure you use single quotes -" -" " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align -" Plug 'junegunn/vim-easy-align' -" -" " Any valid git URL is allowed -" Plug 'https://github.com/junegunn/vim-github-dashboard.git' -" -" " Multiple Plug commands can be written in a single line using | separators -" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets' -" -" " On-demand loading -" Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } -" Plug 'tpope/vim-fireplace', { 'for': 'clojure' } -" -" " Using a non-default branch -" Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' } -" -" " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) -" Plug 'fatih/vim-go', { 'tag': '*' } -" -" " Plugin options -" Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' } -" -" " Plugin outside ~/.vim/plugged with post-update hook -" Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } -" -" " Unmanaged plugin (manually installed and updated) -" Plug '~/my-prototype-plugin' -" -" " Initialize plugin system -" call plug#end() -" -" Then reload .vimrc and :PlugInstall to install plugins. -" -" Plug options: -" -"| Option | Description | -"| ----------------------- | ------------------------------------------------ | -"| `branch`/`tag`/`commit` | Branch/tag/commit of the repository to use | -"| `rtp` | Subdirectory that contains Vim plugin | -"| `dir` | Custom directory for the plugin | -"| `as` | Use different name for the plugin | -"| `do` | Post-update hook (string or funcref) | -"| `on` | On-demand loading: Commands or `<Plug>`-mappings | -"| `for` | On-demand loading: File types | -"| `frozen` | Do not update unless explicitly specified | -" -" More information: https://github.com/junegunn/vim-plug -" -" -" Copyright (c) 2017 Junegunn Choi -" -" MIT License -" -" Permission is hereby granted, free of charge, to any person obtaining -" a copy of this software and associated documentation files (the -" "Software"), to deal in the Software without restriction, including -" without limitation the rights to use, copy, modify, merge, publish, -" distribute, sublicense, and/or sell copies of the Software, and to -" permit persons to whom the Software is furnished to do so, subject to -" the following conditions: -" -" The above copyright notice and this permission notice shall be -" included in all copies or substantial portions of the Software. -" -" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -if exists('g:loaded_plug') - finish -endif -let g:loaded_plug = 1 - -let s:cpo_save = &cpo -set cpo&vim - -let s:plug_src = 'https://github.com/junegunn/vim-plug.git' -let s:plug_tab = get(s:, 'plug_tab', -1) -let s:plug_buf = get(s:, 'plug_buf', -1) -let s:mac_gui = has('gui_macvim') && has('gui_running') -let s:is_win = has('win32') -let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win) -let s:vim8 = has('patch-8.0.0039') && exists('*job_start') -if s:is_win && &shellslash - set noshellslash - let s:me = resolve(expand('<sfile>:p')) - set shellslash -else - let s:me = resolve(expand('<sfile>:p')) -endif -let s:base_spec = { 'branch': '', 'frozen': 0 } -let s:TYPE = { -\ 'string': type(''), -\ 'list': type([]), -\ 'dict': type({}), -\ 'funcref': type(function('call')) -\ } -let s:loaded = get(s:, 'loaded', {}) -let s:triggers = get(s:, 'triggers', {}) - -function! s:isabsolute(dir) abort - return a:dir =~# '^/' || (has('win32') && a:dir =~? '^\%(\\\|[A-Z]:\)') -endfunction - -function! s:git_dir(dir) abort - let gitdir = s:trim(a:dir) . '/.git' - if isdirectory(gitdir) - return gitdir - endif - if !filereadable(gitdir) - return '' - endif - let gitdir = matchstr(get(readfile(gitdir), 0, ''), '^gitdir: \zs.*') - if len(gitdir) && !s:isabsolute(gitdir) - let gitdir = a:dir . '/' . gitdir - endif - return isdirectory(gitdir) ? gitdir : '' -endfunction - -function! s:git_origin_url(dir) abort - let gitdir = s:git_dir(a:dir) - let config = gitdir . '/config' - if empty(gitdir) || !filereadable(config) - return '' - endif - return matchstr(join(readfile(config)), '\[remote "origin"\].\{-}url\s*=\s*\zs\S*\ze') -endfunction - -function! s:git_revision(dir) abort - let gitdir = s:git_dir(a:dir) - let head = gitdir . '/HEAD' - if empty(gitdir) || !filereadable(head) - return '' - endif - - let line = get(readfile(head), 0, '') - let ref = matchstr(line, '^ref: \zs.*') - if empty(ref) - return line - endif - - if filereadable(gitdir . '/' . ref) - return get(readfile(gitdir . '/' . ref), 0, '') - endif - - if filereadable(gitdir . '/packed-refs') - for line in readfile(gitdir . '/packed-refs') - if line =~# ' ' . ref - return matchstr(line, '^[0-9a-f]*') - endif - endfor - endif - - return '' -endfunction - -function! s:git_local_branch(dir) abort - let gitdir = s:git_dir(a:dir) - let head = gitdir . '/HEAD' - if empty(gitdir) || !filereadable(head) - return '' - endif - let branch = matchstr(get(readfile(head), 0, ''), '^ref: refs/heads/\zs.*') - return len(branch) ? branch : 'HEAD' -endfunction - -function! s:git_origin_branch(spec) - if len(a:spec.branch) - return a:spec.branch - endif - - " The file may not be present if this is a local repository - let gitdir = s:git_dir(a:spec.dir) - let origin_head = gitdir.'/refs/remotes/origin/HEAD' - if len(gitdir) && filereadable(origin_head) - return matchstr(get(readfile(origin_head), 0, ''), - \ '^ref: refs/remotes/origin/\zs.*') - endif - - " The command may not return the name of a branch in detached HEAD state - let result = s:lines(s:system('git symbolic-ref --short HEAD', a:spec.dir)) - return v:shell_error ? '' : result[-1] -endfunction - -if s:is_win - function! s:plug_call(fn, ...) - let shellslash = &shellslash - try - set noshellslash - return call(a:fn, a:000) - finally - let &shellslash = shellslash - endtry - endfunction -else - function! s:plug_call(fn, ...) - return call(a:fn, a:000) - endfunction -endif - -function! s:plug_getcwd() - return s:plug_call('getcwd') -endfunction - -function! s:plug_fnamemodify(fname, mods) - return s:plug_call('fnamemodify', a:fname, a:mods) -endfunction - -function! s:plug_expand(fmt) - return s:plug_call('expand', a:fmt, 1) -endfunction - -function! s:plug_tempname() - return s:plug_call('tempname') -endfunction - -function! plug#begin(...) - if a:0 > 0 - let s:plug_home_org = a:1 - let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p')) - elseif exists('g:plug_home') - let home = s:path(g:plug_home) - elseif !empty(&rtp) - let home = s:path(split(&rtp, ',')[0]) . '/plugged' - else - return s:err('Unable to determine plug home. Try calling plug#begin() with a path argument.') - endif - if s:plug_fnamemodify(home, ':t') ==# 'plugin' && s:plug_fnamemodify(home, ':h') ==# s:first_rtp - return s:err('Invalid plug home. '.home.' is a standard Vim runtime path and is not allowed.') - endif - - let g:plug_home = home - let g:plugs = {} - let g:plugs_order = [] - let s:triggers = {} - - call s:define_commands() - return 1 -endfunction - -function! s:define_commands() - command! -nargs=+ -bar Plug call plug#(<args>) - if !executable('git') - return s:err('`git` executable not found. Most commands will not be available. To suppress this message, prepend `silent!` to `call plug#begin(...)`.') - endif - if has('win32') - \ && &shellslash - \ && (&shell =~# 'cmd\(\.exe\)\?$' || &shell =~# 'powershell\(\.exe\)\?$') - return s:err('vim-plug does not support shell, ' . &shell . ', when shellslash is set.') - endif - if !has('nvim') - \ && (has('win32') || has('win32unix')) - \ && !has('multi_byte') - return s:err('Vim needs +multi_byte feature on Windows to run shell commands. Enable +iconv for best results.') - endif - command! -nargs=* -bar -bang -complete=customlist,s:names PlugInstall call s:install(<bang>0, [<f-args>]) - command! -nargs=* -bar -bang -complete=customlist,s:names PlugUpdate call s:update(<bang>0, [<f-args>]) - command! -nargs=0 -bar -bang PlugClean call s:clean(<bang>0) - command! -nargs=0 -bar PlugUpgrade if s:upgrade() | execute 'source' s:esc(s:me) | endif - command! -nargs=0 -bar PlugStatus call s:status() - command! -nargs=0 -bar PlugDiff call s:diff() - command! -nargs=? -bar -bang -complete=file PlugSnapshot call s:snapshot(<bang>0, <f-args>) -endfunction - -function! s:to_a(v) - return type(a:v) == s:TYPE.list ? a:v : [a:v] -endfunction - -function! s:to_s(v) - return type(a:v) == s:TYPE.string ? a:v : join(a:v, "\n") . "\n" -endfunction - -function! s:glob(from, pattern) - return s:lines(globpath(a:from, a:pattern)) -endfunction - -function! s:source(from, ...) - let found = 0 - for pattern in a:000 - for vim in s:glob(a:from, pattern) - execute 'source' s:esc(vim) - let found = 1 - endfor - endfor - return found -endfunction - -function! s:assoc(dict, key, val) - let a:dict[a:key] = add(get(a:dict, a:key, []), a:val) -endfunction - -function! s:ask(message, ...) - call inputsave() - echohl WarningMsg - let answer = input(a:message.(a:0 ? ' (y/N/a) ' : ' (y/N) ')) - echohl None - call inputrestore() - echo "\r" - return (a:0 && answer =~? '^a') ? 2 : (answer =~? '^y') ? 1 : 0 -endfunction - -function! s:ask_no_interrupt(...) - try - return call('s:ask', a:000) - catch - return 0 - endtry -endfunction - -function! s:lazy(plug, opt) - return has_key(a:plug, a:opt) && - \ (empty(s:to_a(a:plug[a:opt])) || - \ !isdirectory(a:plug.dir) || - \ len(s:glob(s:rtp(a:plug), 'plugin')) || - \ len(s:glob(s:rtp(a:plug), 'after/plugin'))) -endfunction - -function! plug#end() - if !exists('g:plugs') - return s:err('plug#end() called without calling plug#begin() first') - endif - - if exists('#PlugLOD') - augroup PlugLOD - autocmd! - augroup END - augroup! PlugLOD - endif - let lod = { 'ft': {}, 'map': {}, 'cmd': {} } - - if exists('g:did_load_filetypes') - filetype off - endif - for name in g:plugs_order - if !has_key(g:plugs, name) - continue - endif - let plug = g:plugs[name] - if get(s:loaded, name, 0) || !s:lazy(plug, 'on') && !s:lazy(plug, 'for') - let s:loaded[name] = 1 - continue - endif - - if has_key(plug, 'on') - let s:triggers[name] = { 'map': [], 'cmd': [] } - for cmd in s:to_a(plug.on) - if cmd =~? '^<Plug>.\+' - if empty(mapcheck(cmd)) && empty(mapcheck(cmd, 'i')) - call s:assoc(lod.map, cmd, name) - endif - call add(s:triggers[name].map, cmd) - elseif cmd =~# '^[A-Z]' - let cmd = substitute(cmd, '!*$', '', '') - if exists(':'.cmd) != 2 - call s:assoc(lod.cmd, cmd, name) - endif - call add(s:triggers[name].cmd, cmd) - else - call s:err('Invalid `on` option: '.cmd. - \ '. Should start with an uppercase letter or `<Plug>`.') - endif - endfor - endif - - if has_key(plug, 'for') - let types = s:to_a(plug.for) - if !empty(types) - augroup filetypedetect - call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim') - augroup END - endif - for type in types - call s:assoc(lod.ft, type, name) - endfor - endif - endfor - - for [cmd, names] in items(lod.cmd) - execute printf( - \ 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "<bang>", <line1>, <line2>, <q-args>, %s)', - \ cmd, string(cmd), string(names)) - endfor - - for [map, names] in items(lod.map) - for [mode, map_prefix, key_prefix] in - \ [['i', '<C-O>', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']] - execute printf( - \ '%snoremap <silent> %s %s:<C-U>call <SID>lod_map(%s, %s, %s, "%s")<CR>', - \ mode, map, map_prefix, string(map), string(names), mode != 'i', key_prefix) - endfor - endfor - - for [ft, names] in items(lod.ft) - augroup PlugLOD - execute printf('autocmd FileType %s call <SID>lod_ft(%s, %s)', - \ ft, string(ft), string(names)) - augroup END - endfor - - call s:reorg_rtp() - filetype plugin indent on - if has('vim_starting') - if has('syntax') && !exists('g:syntax_on') - syntax enable - end - else - call s:reload_plugins() - endif -endfunction - -function! s:loaded_names() - return filter(copy(g:plugs_order), 'get(s:loaded, v:val, 0)') -endfunction - -function! s:load_plugin(spec) - call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim') -endfunction - -function! s:reload_plugins() - for name in s:loaded_names() - call s:load_plugin(g:plugs[name]) - endfor -endfunction - -function! s:trim(str) - return substitute(a:str, '[\/]\+$', '', '') -endfunction - -function! s:version_requirement(val, min) - for idx in range(0, len(a:min) - 1) - let v = get(a:val, idx, 0) - if v < a:min[idx] | return 0 - elseif v > a:min[idx] | return 1 - endif - endfor - return 1 -endfunction - -function! s:git_version_requirement(...) - if !exists('s:git_version') - let s:git_version = map(split(split(s:system(['git', '--version']))[2], '\.'), 'str2nr(v:val)') - endif - return s:version_requirement(s:git_version, a:000) -endfunction - -function! s:progress_opt(base) - return a:base && !s:is_win && - \ s:git_version_requirement(1, 7, 1) ? '--progress' : '' -endfunction - -function! s:rtp(spec) - return s:path(a:spec.dir . get(a:spec, 'rtp', '')) -endfunction - -if s:is_win - function! s:path(path) - return s:trim(substitute(a:path, '/', '\', 'g')) - endfunction - - function! s:dirpath(path) - return s:path(a:path) . '\' - endfunction - - function! s:is_local_plug(repo) - return a:repo =~? '^[a-z]:\|^[%~]' - endfunction - - " Copied from fzf - function! s:wrap_cmds(cmds) - let cmds = [ - \ '@echo off', - \ 'setlocal enabledelayedexpansion'] - \ + (type(a:cmds) == type([]) ? a:cmds : [a:cmds]) - \ + ['endlocal'] - if has('iconv') - if !exists('s:codepage') - let s:codepage = libcallnr('kernel32.dll', 'GetACP', 0) - endif - return map(cmds, printf('iconv(v:val."\r", "%s", "cp%d")', &encoding, s:codepage)) - endif - return map(cmds, 'v:val."\r"') - endfunction - - function! s:batchfile(cmd) - let batchfile = s:plug_tempname().'.bat' - call writefile(s:wrap_cmds(a:cmd), batchfile) - let cmd = plug#shellescape(batchfile, {'shell': &shell, 'script': 0}) - if &shell =~# 'powershell\(\.exe\)\?$' - let cmd = '& ' . cmd - endif - return [batchfile, cmd] - endfunction -else - function! s:path(path) - return s:trim(a:path) - endfunction - - function! s:dirpath(path) - return substitute(a:path, '[/\\]*$', '/', '') - endfunction - - function! s:is_local_plug(repo) - return a:repo[0] =~ '[/$~]' - endfunction -endif - -function! s:err(msg) - echohl ErrorMsg - echom '[vim-plug] '.a:msg - echohl None -endfunction - -function! s:warn(cmd, msg) - echohl WarningMsg - execute a:cmd 'a:msg' - echohl None -endfunction - -function! s:esc(path) - return escape(a:path, ' ') -endfunction - -function! s:escrtp(path) - return escape(a:path, ' ,') -endfunction - -function! s:remove_rtp() - for name in s:loaded_names() - let rtp = s:rtp(g:plugs[name]) - execute 'set rtp-='.s:escrtp(rtp) - let after = globpath(rtp, 'after') - if isdirectory(after) - execute 'set rtp-='.s:escrtp(after) - endif - endfor -endfunction - -function! s:reorg_rtp() - if !empty(s:first_rtp) - execute 'set rtp-='.s:first_rtp - execute 'set rtp-='.s:last_rtp - endif - - " &rtp is modified from outside - if exists('s:prtp') && s:prtp !=# &rtp - call s:remove_rtp() - unlet! s:middle - endif - - let s:middle = get(s:, 'middle', &rtp) - let rtps = map(s:loaded_names(), 's:rtp(g:plugs[v:val])') - let afters = filter(map(copy(rtps), 'globpath(v:val, "after")'), '!empty(v:val)') - let rtp = join(map(rtps, 'escape(v:val, ",")'), ',') - \ . ','.s:middle.',' - \ . join(map(afters, 'escape(v:val, ",")'), ',') - let &rtp = substitute(substitute(rtp, ',,*', ',', 'g'), '^,\|,$', '', 'g') - let s:prtp = &rtp - - if !empty(s:first_rtp) - execute 'set rtp^='.s:first_rtp - execute 'set rtp+='.s:last_rtp - endif -endfunction - -function! s:doautocmd(...) - if exists('#'.join(a:000, '#')) - execute 'doautocmd' ((v:version > 703 || has('patch442')) ? '<nomodeline>' : '') join(a:000) - endif -endfunction - -function! s:dobufread(names) - for name in a:names - let path = s:rtp(g:plugs[name]) - for dir in ['ftdetect', 'ftplugin', 'after/ftdetect', 'after/ftplugin'] - if len(finddir(dir, path)) - if exists('#BufRead') - doautocmd BufRead - endif - return - endif - endfor - endfor -endfunction - -function! plug#load(...) - if a:0 == 0 - return s:err('Argument missing: plugin name(s) required') - endif - if !exists('g:plugs') - return s:err('plug#begin was not called') - endif - let names = a:0 == 1 && type(a:1) == s:TYPE.list ? a:1 : a:000 - let unknowns = filter(copy(names), '!has_key(g:plugs, v:val)') - if !empty(unknowns) - let s = len(unknowns) > 1 ? 's' : '' - return s:err(printf('Unknown plugin%s: %s', s, join(unknowns, ', '))) - end - let unloaded = filter(copy(names), '!get(s:loaded, v:val, 0)') - if !empty(unloaded) - for name in unloaded - call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - endfor - call s:dobufread(unloaded) - return 1 - end - return 0 -endfunction - -function! s:remove_triggers(name) - if !has_key(s:triggers, a:name) - return - endif - for cmd in s:triggers[a:name].cmd - execute 'silent! delc' cmd - endfor - for map in s:triggers[a:name].map - execute 'silent! unmap' map - execute 'silent! iunmap' map - endfor - call remove(s:triggers, a:name) -endfunction - -function! s:lod(names, types, ...) - for name in a:names - call s:remove_triggers(name) - let s:loaded[name] = 1 - endfor - call s:reorg_rtp() - - for name in a:names - let rtp = s:rtp(g:plugs[name]) - for dir in a:types - call s:source(rtp, dir.'/**/*.vim') - endfor - if a:0 - if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2)) - execute 'runtime' a:1 - endif - call s:source(rtp, a:2) - endif - call s:doautocmd('User', name) - endfor -endfunction - -function! s:lod_ft(pat, names) - let syn = 'syntax/'.a:pat.'.vim' - call s:lod(a:names, ['plugin', 'after/plugin'], syn, 'after/'.syn) - execute 'autocmd! PlugLOD FileType' a:pat - call s:doautocmd('filetypeplugin', 'FileType') - call s:doautocmd('filetypeindent', 'FileType') -endfunction - -function! s:lod_cmd(cmd, bang, l1, l2, args, names) - call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - call s:dobufread(a:names) - execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args) -endfunction - -function! s:lod_map(map, names, with_prefix, prefix) - call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - call s:dobufread(a:names) - let extra = '' - while 1 - let c = getchar(0) - if c == 0 - break - endif - let extra .= nr2char(c) - endwhile - - if a:with_prefix - let prefix = v:count ? v:count : '' - let prefix .= '"'.v:register.a:prefix - if mode(1) == 'no' - if v:operator == 'c' - let prefix = "\<esc>" . prefix - endif - let prefix .= v:operator - endif - call feedkeys(prefix, 'n') - endif - call feedkeys(substitute(a:map, '^<Plug>', "\<Plug>", '') . extra) -endfunction - -function! plug#(repo, ...) - if a:0 > 1 - return s:err('Invalid number of arguments (1..2)') - endif - - try - let repo = s:trim(a:repo) - let opts = a:0 == 1 ? s:parse_options(a:1) : s:base_spec - let name = get(opts, 'as', s:plug_fnamemodify(repo, ':t:s?\.git$??')) - let spec = extend(s:infer_properties(name, repo), opts) - if !has_key(g:plugs, name) - call add(g:plugs_order, name) - endif - let g:plugs[name] = spec - let s:loaded[name] = get(s:loaded, name, 0) - catch - return s:err(repo . ' ' . v:exception) - endtry -endfunction - -function! s:parse_options(arg) - let opts = copy(s:base_spec) - let type = type(a:arg) - let opt_errfmt = 'Invalid argument for "%s" option of :Plug (expected: %s)' - if type == s:TYPE.string - if empty(a:arg) - throw printf(opt_errfmt, 'tag', 'string') - endif - let opts.tag = a:arg - elseif type == s:TYPE.dict - for opt in ['branch', 'tag', 'commit', 'rtp', 'dir', 'as'] - if has_key(a:arg, opt) - \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) - throw printf(opt_errfmt, opt, 'string') - endif - endfor - for opt in ['on', 'for'] - if has_key(a:arg, opt) - \ && type(a:arg[opt]) != s:TYPE.list - \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) - throw printf(opt_errfmt, opt, 'string or list') - endif - endfor - if has_key(a:arg, 'do') - \ && type(a:arg.do) != s:TYPE.funcref - \ && (type(a:arg.do) != s:TYPE.string || empty(a:arg.do)) - throw printf(opt_errfmt, 'do', 'string or funcref') - endif - call extend(opts, a:arg) - if has_key(opts, 'dir') - let opts.dir = s:dirpath(s:plug_expand(opts.dir)) - endif - else - throw 'Invalid argument type (expected: string or dictionary)' - endif - return opts -endfunction - -function! s:infer_properties(name, repo) - let repo = a:repo - if s:is_local_plug(repo) - return { 'dir': s:dirpath(s:plug_expand(repo)) } - else - if repo =~ ':' - let uri = repo - else - if repo !~ '/' - throw printf('Invalid argument: %s (implicit `vim-scripts'' expansion is deprecated)', repo) - endif - let fmt = get(g:, 'plug_url_format', 'https://git::@github.com/%s.git') - let uri = printf(fmt, repo) - endif - return { 'dir': s:dirpath(g:plug_home.'/'.a:name), 'uri': uri } - endif -endfunction - -function! s:install(force, names) - call s:update_impl(0, a:force, a:names) -endfunction - -function! s:update(force, names) - call s:update_impl(1, a:force, a:names) -endfunction - -function! plug#helptags() - if !exists('g:plugs') - return s:err('plug#begin was not called') - endif - for spec in values(g:plugs) - let docd = join([s:rtp(spec), 'doc'], '/') - if isdirectory(docd) - silent! execute 'helptags' s:esc(docd) - endif - endfor - return 1 -endfunction - -function! s:syntax() - syntax clear - syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber - syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX - syn match plugNumber /[0-9]\+[0-9.]*/ contained - syn match plugBracket /[[\]]/ contained - syn match plugX /x/ contained - syn match plugDash /^-\{1}\ / - syn match plugPlus /^+/ - syn match plugStar /^*/ - syn match plugMessage /\(^- \)\@<=.*/ - syn match plugName /\(^- \)\@<=[^ ]*:/ - syn match plugSha /\%(: \)\@<=[0-9a-f]\{4,}$/ - syn match plugTag /(tag: [^)]\+)/ - syn match plugInstall /\(^+ \)\@<=[^:]*/ - syn match plugUpdate /\(^* \)\@<=[^:]*/ - syn match plugCommit /^ \X*[0-9a-f]\{7,9} .*/ contains=plugRelDate,plugEdge,plugTag - syn match plugEdge /^ \X\+$/ - syn match plugEdge /^ \X*/ contained nextgroup=plugSha - syn match plugSha /[0-9a-f]\{7,9}/ contained - syn match plugRelDate /([^)]*)$/ contained - syn match plugNotLoaded /(not loaded)$/ - syn match plugError /^x.*/ - syn region plugDeleted start=/^\~ .*/ end=/^\ze\S/ - syn match plugH2 /^.*:\n-\+$/ - syn match plugH2 /^-\{2,}/ - syn keyword Function PlugInstall PlugStatus PlugUpdate PlugClean - hi def link plug1 Title - hi def link plug2 Repeat - hi def link plugH2 Type - hi def link plugX Exception - hi def link plugBracket Structure - hi def link plugNumber Number - - hi def link plugDash Special - hi def link plugPlus Constant - hi def link plugStar Boolean - - hi def link plugMessage Function - hi def link plugName Label - hi def link plugInstall Function - hi def link plugUpdate Type - - hi def link plugError Error - hi def link plugDeleted Ignore - hi def link plugRelDate Comment - hi def link plugEdge PreProc - hi def link plugSha Identifier - hi def link plugTag Constant - - hi def link plugNotLoaded Comment -endfunction - -function! s:lpad(str, len) - return a:str . repeat(' ', a:len - len(a:str)) -endfunction - -function! s:lines(msg) - return split(a:msg, "[\r\n]") -endfunction - -function! s:lastline(msg) - return get(s:lines(a:msg), -1, '') -endfunction - -function! s:new_window() - execute get(g:, 'plug_window', 'vertical topleft new') -endfunction - -function! s:plug_window_exists() - let buflist = tabpagebuflist(s:plug_tab) - return !empty(buflist) && index(buflist, s:plug_buf) >= 0 -endfunction - -function! s:switch_in() - if !s:plug_window_exists() - return 0 - endif - - if winbufnr(0) != s:plug_buf - let s:pos = [tabpagenr(), winnr(), winsaveview()] - execute 'normal!' s:plug_tab.'gt' - let winnr = bufwinnr(s:plug_buf) - execute winnr.'wincmd w' - call add(s:pos, winsaveview()) - else - let s:pos = [winsaveview()] - endif - - setlocal modifiable - return 1 -endfunction - -function! s:switch_out(...) - call winrestview(s:pos[-1]) - setlocal nomodifiable - if a:0 > 0 - execute a:1 - endif - - if len(s:pos) > 1 - execute 'normal!' s:pos[0].'gt' - execute s:pos[1] 'wincmd w' - call winrestview(s:pos[2]) - endif -endfunction - -function! s:finish_bindings() - nnoremap <silent> <buffer> R :call <SID>retry()<cr> - nnoremap <silent> <buffer> D :PlugDiff<cr> - nnoremap <silent> <buffer> S :PlugStatus<cr> - nnoremap <silent> <buffer> U :call <SID>status_update()<cr> - xnoremap <silent> <buffer> U :call <SID>status_update()<cr> - nnoremap <silent> <buffer> ]] :silent! call <SID>section('')<cr> - nnoremap <silent> <buffer> [[ :silent! call <SID>section('b')<cr> -endfunction - -function! s:prepare(...) - if empty(s:plug_getcwd()) - throw 'Invalid current working directory. Cannot proceed.' - endif - - for evar in ['$GIT_DIR', '$GIT_WORK_TREE'] - if exists(evar) - throw evar.' detected. Cannot proceed.' - endif - endfor - - call s:job_abort() - if s:switch_in() - if b:plug_preview == 1 - pc - endif - enew - else - call s:new_window() - endif - - nnoremap <silent> <buffer> q :call <SID>close_pane()<cr> - if a:0 == 0 - call s:finish_bindings() - endif - let b:plug_preview = -1 - let s:plug_tab = tabpagenr() - let s:plug_buf = winbufnr(0) - call s:assign_name() - - for k in ['<cr>', 'L', 'o', 'X', 'd', 'dd'] - execute 'silent! unmap <buffer>' k - endfor - setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell - if exists('+colorcolumn') - setlocal colorcolumn= - endif - setf vim-plug - if exists('g:syntax_on') - call s:syntax() - endif -endfunction - -function! s:close_pane() - if b:plug_preview == 1 - pc - let b:plug_preview = -1 - else - bd - endif -endfunction - -function! s:assign_name() - " Assign buffer name - let prefix = '[Plugins]' - let name = prefix - let idx = 2 - while bufexists(name) - let name = printf('%s (%s)', prefix, idx) - let idx = idx + 1 - endwhile - silent! execute 'f' fnameescape(name) -endfunction - -function! s:chsh(swap) - let prev = [&shell, &shellcmdflag, &shellredir] - if !s:is_win - set shell=sh - endif - if a:swap - if &shell =~# 'powershell\(\.exe\)\?$' || &shell =~# 'pwsh$' - let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s' - elseif &shell =~# 'sh' || &shell =~# 'cmd\(\.exe\)\?$' - set shellredir=>%s\ 2>&1 - endif - endif - return prev -endfunction - -function! s:bang(cmd, ...) - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(a:0) - " FIXME: Escaping is incomplete. We could use shellescape with eval, - " but it won't work on Windows. - let cmd = a:0 ? s:with_cd(a:cmd, a:1) : a:cmd - if s:is_win - let [batchfile, cmd] = s:batchfile(cmd) - endif - let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%') - execute "normal! :execute g:_plug_bang\<cr>\<cr>" - finally - unlet g:_plug_bang - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry - return v:shell_error ? 'Exit status: ' . v:shell_error : '' -endfunction - -function! s:regress_bar() - let bar = substitute(getline(2)[1:-2], '.*\zs=', 'x', '') - call s:progress_bar(2, bar, len(bar)) -endfunction - -function! s:is_updated(dir) - return !empty(s:system_chomp(['git', 'log', '--pretty=format:%h', 'HEAD...HEAD@{1}'], a:dir)) -endfunction - -function! s:do(pull, force, todo) - for [name, spec] in items(a:todo) - if !isdirectory(spec.dir) - continue - endif - let installed = has_key(s:update.new, name) - let updated = installed ? 0 : - \ (a:pull && index(s:update.errors, name) < 0 && s:is_updated(spec.dir)) - if a:force || installed || updated - execute 'cd' s:esc(spec.dir) - call append(3, '- Post-update hook for '. name .' ... ') - let error = '' - let type = type(spec.do) - if type == s:TYPE.string - if spec.do[0] == ':' - if !get(s:loaded, name, 0) - let s:loaded[name] = 1 - call s:reorg_rtp() - endif - call s:load_plugin(spec) - try - execute spec.do[1:] - catch - let error = v:exception - endtry - if !s:plug_window_exists() - cd - - throw 'Warning: vim-plug was terminated by the post-update hook of '.name - endif - else - let error = s:bang(spec.do) - endif - elseif type == s:TYPE.funcref - try - call s:load_plugin(spec) - let status = installed ? 'installed' : (updated ? 'updated' : 'unchanged') - call spec.do({ 'name': name, 'status': status, 'force': a:force }) - catch - let error = v:exception - endtry - else - let error = 'Invalid hook type' - endif - call s:switch_in() - call setline(4, empty(error) ? (getline(4) . 'OK') - \ : ('x' . getline(4)[1:] . error)) - if !empty(error) - call add(s:update.errors, name) - call s:regress_bar() - endif - cd - - endif - endfor -endfunction - -function! s:hash_match(a, b) - return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0 -endfunction - -function! s:checkout(spec) - let sha = a:spec.commit - let output = s:git_revision(a:spec.dir) - if !empty(output) && !s:hash_match(sha, s:lines(output)[0]) - let credential_helper = s:git_version_requirement(2) ? '-c credential.helper= ' : '' - let output = s:system( - \ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir) - endif - return output -endfunction - -function! s:finish(pull) - let new_frozen = len(filter(keys(s:update.new), 'g:plugs[v:val].frozen')) - if new_frozen - let s = new_frozen > 1 ? 's' : '' - call append(3, printf('- Installed %d frozen plugin%s', new_frozen, s)) - endif - call append(3, '- Finishing ... ') | 4 - redraw - call plug#helptags() - call plug#end() - call setline(4, getline(4) . 'Done!') - redraw - let msgs = [] - if !empty(s:update.errors) - call add(msgs, "Press 'R' to retry.") - endif - if a:pull && len(s:update.new) < len(filter(getline(5, '$'), - \ "v:val =~ '^- ' && v:val !~# 'Already up.to.date'")) - call add(msgs, "Press 'D' to see the updated changes.") - endif - echo join(msgs, ' ') - call s:finish_bindings() -endfunction - -function! s:retry() - if empty(s:update.errors) - return - endif - echo - call s:update_impl(s:update.pull, s:update.force, - \ extend(copy(s:update.errors), [s:update.threads])) -endfunction - -function! s:is_managed(name) - return has_key(g:plugs[a:name], 'uri') -endfunction - -function! s:names(...) - return sort(filter(keys(g:plugs), 'stridx(v:val, a:1) == 0 && s:is_managed(v:val)')) -endfunction - -function! s:check_ruby() - silent! ruby require 'thread'; VIM::command("let g:plug_ruby = '#{RUBY_VERSION}'") - if !exists('g:plug_ruby') - redraw! - return s:warn('echom', 'Warning: Ruby interface is broken') - endif - let ruby_version = split(g:plug_ruby, '\.') - unlet g:plug_ruby - return s:version_requirement(ruby_version, [1, 8, 7]) -endfunction - -function! s:update_impl(pull, force, args) abort - let sync = index(a:args, '--sync') >= 0 || has('vim_starting') - let args = filter(copy(a:args), 'v:val != "--sync"') - let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ? - \ remove(args, -1) : get(g:, 'plug_threads', 16) - - let managed = filter(copy(g:plugs), 's:is_managed(v:key)') - let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') : - \ filter(managed, 'index(args, v:key) >= 0') - - if empty(todo) - return s:warn('echo', 'No plugin to '. (a:pull ? 'update' : 'install')) - endif - - if !s:is_win && s:git_version_requirement(2, 3) - let s:git_terminal_prompt = exists('$GIT_TERMINAL_PROMPT') ? $GIT_TERMINAL_PROMPT : '' - let $GIT_TERMINAL_PROMPT = 0 - for plug in values(todo) - let plug.uri = substitute(plug.uri, - \ '^https://git::@github\.com', 'https://github.com', '') - endfor - endif - - if !isdirectory(g:plug_home) - try - call mkdir(g:plug_home, 'p') - catch - return s:err(printf('Invalid plug directory: %s. '. - \ 'Try to call plug#begin with a valid directory', g:plug_home)) - endtry - endif - - if has('nvim') && !exists('*jobwait') && threads > 1 - call s:warn('echom', '[vim-plug] Update Neovim for parallel installer') - endif - - let use_job = s:nvim || s:vim8 - let python = (has('python') || has('python3')) && !use_job - let ruby = has('ruby') && !use_job && (v:version >= 703 || v:version == 702 && has('patch374')) && !(s:is_win && has('gui_running')) && threads > 1 && s:check_ruby() - - let s:update = { - \ 'start': reltime(), - \ 'all': todo, - \ 'todo': copy(todo), - \ 'errors': [], - \ 'pull': a:pull, - \ 'force': a:force, - \ 'new': {}, - \ 'threads': (python || ruby || use_job) ? min([len(todo), threads]) : 1, - \ 'bar': '', - \ 'fin': 0 - \ } - - call s:prepare(1) - call append(0, ['', '']) - normal! 2G - silent! redraw - - let s:clone_opt = [] - if get(g:, 'plug_shallow', 1) - call extend(s:clone_opt, ['--depth', '1']) - if s:git_version_requirement(1, 7, 10) - call add(s:clone_opt, '--no-single-branch') - endif - endif - - if has('win32unix') || has('wsl') - call extend(s:clone_opt, ['-c', 'core.eol=lf', '-c', 'core.autocrlf=input']) - endif - - let s:submodule_opt = s:git_version_requirement(2, 8) ? ' --jobs='.threads : '' - - " Python version requirement (>= 2.7) - if python && !has('python3') && !ruby && !use_job && s:update.threads > 1 - redir => pyv - silent python import platform; print platform.python_version() - redir END - let python = s:version_requirement( - \ map(split(split(pyv)[0], '\.'), 'str2nr(v:val)'), [2, 6]) - endif - - if (python || ruby) && s:update.threads > 1 - try - let imd = &imd - if s:mac_gui - set noimd - endif - if ruby - call s:update_ruby() - else - call s:update_python() - endif - catch - let lines = getline(4, '$') - let printed = {} - silent! 4,$d _ - for line in lines - let name = s:extract_name(line, '.', '') - if empty(name) || !has_key(printed, name) - call append('$', line) - if !empty(name) - let printed[name] = 1 - if line[0] == 'x' && index(s:update.errors, name) < 0 - call add(s:update.errors, name) - end - endif - endif - endfor - finally - let &imd = imd - call s:update_finish() - endtry - else - call s:update_vim() - while use_job && sync - sleep 100m - if s:update.fin - break - endif - endwhile - endif -endfunction - -function! s:log4(name, msg) - call setline(4, printf('- %s (%s)', a:msg, a:name)) - redraw -endfunction - -function! s:update_finish() - if exists('s:git_terminal_prompt') - let $GIT_TERMINAL_PROMPT = s:git_terminal_prompt - endif - if s:switch_in() - call append(3, '- Updating ...') | 4 - for [name, spec] in items(filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && (s:update.force || s:update.pull || has_key(s:update.new, v:key))')) - let [pos, _] = s:logpos(name) - if !pos - continue - endif - if has_key(spec, 'commit') - call s:log4(name, 'Checking out '.spec.commit) - let out = s:checkout(spec) - elseif has_key(spec, 'tag') - let tag = spec.tag - if tag =~ '\*' - let tags = s:lines(s:system('git tag --list '.plug#shellescape(tag).' --sort -version:refname 2>&1', spec.dir)) - if !v:shell_error && !empty(tags) - let tag = tags[0] - call s:log4(name, printf('Latest tag for %s -> %s', spec.tag, tag)) - call append(3, '') - endif - endif - call s:log4(name, 'Checking out '.tag) - let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir) - else - let branch = s:git_origin_branch(spec) - call s:log4(name, 'Merging origin/'.s:esc(branch)) - let out = s:system('git checkout -q '.plug#shellescape(branch).' -- 2>&1' - \. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only '.plug#shellescape('origin/'.branch).' 2>&1')), spec.dir) - endif - if !v:shell_error && filereadable(spec.dir.'/.gitmodules') && - \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir)) - call s:log4(name, 'Updating submodules. This may take a while.') - let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir) - endif - let msg = s:format_message(v:shell_error ? 'x': '-', name, out) - if v:shell_error - call add(s:update.errors, name) - call s:regress_bar() - silent execute pos 'd _' - call append(4, msg) | 4 - elseif !empty(out) - call setline(pos, msg[0]) - endif - redraw - endfor - silent 4 d _ - try - call s:do(s:update.pull, s:update.force, filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && has_key(v:val, "do")')) - catch - call s:warn('echom', v:exception) - call s:warn('echo', '') - return - endtry - call s:finish(s:update.pull) - call setline(1, 'Updated. Elapsed time: ' . split(reltimestr(reltime(s:update.start)))[0] . ' sec.') - call s:switch_out('normal! gg') - endif -endfunction - -function! s:job_abort() - if (!s:nvim && !s:vim8) || !exists('s:jobs') - return - endif - - for [name, j] in items(s:jobs) - if s:nvim - silent! call jobstop(j.jobid) - elseif s:vim8 - silent! call job_stop(j.jobid) - endif - if j.new - call s:rm_rf(g:plugs[name].dir) - endif - endfor - let s:jobs = {} -endfunction - -function! s:last_non_empty_line(lines) - let len = len(a:lines) - for idx in range(len) - let line = a:lines[len-idx-1] - if !empty(line) - return line - endif - endfor - return '' -endfunction - -function! s:job_out_cb(self, data) abort - let self = a:self - let data = remove(self.lines, -1) . a:data - let lines = map(split(data, "\n", 1), 'split(v:val, "\r", 1)[-1]') - call extend(self.lines, lines) - " To reduce the number of buffer updates - let self.tick = get(self, 'tick', -1) + 1 - if !self.running || self.tick % len(s:jobs) == 0 - let bullet = self.running ? (self.new ? '+' : '*') : (self.error ? 'x' : '-') - let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines) - call s:log(bullet, self.name, result) - endif -endfunction - -function! s:job_exit_cb(self, data) abort - let a:self.running = 0 - let a:self.error = a:data != 0 - call s:reap(a:self.name) - call s:tick() -endfunction - -function! s:job_cb(fn, job, ch, data) - if !s:plug_window_exists() " plug window closed - return s:job_abort() - endif - call call(a:fn, [a:job, a:data]) -endfunction - -function! s:nvim_cb(job_id, data, event) dict abort - return (a:event == 'stdout' || a:event == 'stderr') ? - \ s:job_cb('s:job_out_cb', self, 0, join(a:data, "\n")) : - \ s:job_cb('s:job_exit_cb', self, 0, a:data) -endfunction - -function! s:spawn(name, cmd, opts) - let job = { 'name': a:name, 'running': 1, 'error': 0, 'lines': [''], - \ 'new': get(a:opts, 'new', 0) } - let s:jobs[a:name] = job - - if s:nvim - if has_key(a:opts, 'dir') - let job.cwd = a:opts.dir - endif - let argv = a:cmd - call extend(job, { - \ 'on_stdout': function('s:nvim_cb'), - \ 'on_stderr': function('s:nvim_cb'), - \ 'on_exit': function('s:nvim_cb'), - \ }) - let jid = s:plug_call('jobstart', argv, job) - if jid > 0 - let job.jobid = jid - else - let job.running = 0 - let job.error = 1 - let job.lines = [jid < 0 ? argv[0].' is not executable' : - \ 'Invalid arguments (or job table is full)'] - endif - elseif s:vim8 - let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"script": 0})')) - if has_key(a:opts, 'dir') - let cmd = s:with_cd(cmd, a:opts.dir, 0) - endif - let argv = s:is_win ? ['cmd', '/s', '/c', '"'.cmd.'"'] : ['sh', '-c', cmd] - let jid = job_start(s:is_win ? join(argv, ' ') : argv, { - \ 'out_cb': function('s:job_cb', ['s:job_out_cb', job]), - \ 'err_cb': function('s:job_cb', ['s:job_out_cb', job]), - \ 'exit_cb': function('s:job_cb', ['s:job_exit_cb', job]), - \ 'err_mode': 'raw', - \ 'out_mode': 'raw' - \}) - if job_status(jid) == 'run' - let job.jobid = jid - else - let job.running = 0 - let job.error = 1 - let job.lines = ['Failed to start job'] - endif - else - let job.lines = s:lines(call('s:system', has_key(a:opts, 'dir') ? [a:cmd, a:opts.dir] : [a:cmd])) - let job.error = v:shell_error != 0 - let job.running = 0 - endif -endfunction - -function! s:reap(name) - let job = s:jobs[a:name] - if job.error - call add(s:update.errors, a:name) - elseif get(job, 'new', 0) - let s:update.new[a:name] = 1 - endif - let s:update.bar .= job.error ? 'x' : '=' - - let bullet = job.error ? 'x' : '-' - let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines) - call s:log(bullet, a:name, empty(result) ? 'OK' : result) - call s:bar() - - call remove(s:jobs, a:name) -endfunction - -function! s:bar() - if s:switch_in() - let total = len(s:update.all) - call setline(1, (s:update.pull ? 'Updating' : 'Installing'). - \ ' plugins ('.len(s:update.bar).'/'.total.')') - call s:progress_bar(2, s:update.bar, total) - call s:switch_out() - endif -endfunction - -function! s:logpos(name) - let max = line('$') - for i in range(4, max > 4 ? max : 4) - if getline(i) =~# '^[-+x*] '.a:name.':' - for j in range(i + 1, max > 5 ? max : 5) - if getline(j) !~ '^ ' - return [i, j - 1] - endif - endfor - return [i, i] - endif - endfor - return [0, 0] -endfunction - -function! s:log(bullet, name, lines) - if s:switch_in() - let [b, e] = s:logpos(a:name) - if b > 0 - silent execute printf('%d,%d d _', b, e) - if b > winheight('.') - let b = 4 - endif - else - let b = 4 - endif - " FIXME For some reason, nomodifiable is set after :d in vim8 - setlocal modifiable - call append(b - 1, s:format_message(a:bullet, a:name, a:lines)) - call s:switch_out() - endif -endfunction - -function! s:update_vim() - let s:jobs = {} - - call s:bar() - call s:tick() -endfunction - -function! s:tick() - let pull = s:update.pull - let prog = s:progress_opt(s:nvim || s:vim8) -while 1 " Without TCO, Vim stack is bound to explode - if empty(s:update.todo) - if empty(s:jobs) && !s:update.fin - call s:update_finish() - let s:update.fin = 1 - endif - return - endif - - let name = keys(s:update.todo)[0] - let spec = remove(s:update.todo, name) - let new = empty(globpath(spec.dir, '.git', 1)) - - call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...') - redraw - - let has_tag = has_key(spec, 'tag') - if !new - let [error, _] = s:git_validate(spec, 0) - if empty(error) - if pull - let cmd = s:git_version_requirement(2) ? ['git', '-c', 'credential.helper=', 'fetch'] : ['git', 'fetch'] - if has_tag && !empty(globpath(spec.dir, '.git/shallow')) - call extend(cmd, ['--depth', '99999999']) - endif - if !empty(prog) - call add(cmd, prog) - endif - call s:spawn(name, cmd, { 'dir': spec.dir }) - else - let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 } - endif - else - let s:jobs[name] = { 'running': 0, 'lines': s:lines(error), 'error': 1 } - endif - else - let cmd = ['git', 'clone'] - if !has_tag - call extend(cmd, s:clone_opt) - endif - if !empty(prog) - call add(cmd, prog) - endif - call s:spawn(name, extend(cmd, [spec.uri, s:trim(spec.dir)]), { 'new': 1 }) - endif - - if !s:jobs[name].running - call s:reap(name) - endif - if len(s:jobs) >= s:update.threads - break - endif -endwhile -endfunction - -function! s:update_python() -let py_exe = has('python') ? 'python' : 'python3' -execute py_exe "<< EOF" -import datetime -import functools -import os -try: - import queue -except ImportError: - import Queue as queue -import random -import re -import shutil -import signal -import subprocess -import tempfile -import threading as thr -import time -import traceback -import vim - -G_NVIM = vim.eval("has('nvim')") == '1' -G_PULL = vim.eval('s:update.pull') == '1' -G_RETRIES = int(vim.eval('get(g:, "plug_retries", 2)')) + 1 -G_TIMEOUT = int(vim.eval('get(g:, "plug_timeout", 60)')) -G_CLONE_OPT = ' '.join(vim.eval('s:clone_opt')) -G_PROGRESS = vim.eval('s:progress_opt(1)') -G_LOG_PROB = 1.0 / int(vim.eval('s:update.threads')) -G_STOP = thr.Event() -G_IS_WIN = vim.eval('s:is_win') == '1' - -class PlugError(Exception): - def __init__(self, msg): - self.msg = msg -class CmdTimedOut(PlugError): - pass -class CmdFailed(PlugError): - pass -class InvalidURI(PlugError): - pass -class Action(object): - INSTALL, UPDATE, ERROR, DONE = ['+', '*', 'x', '-'] - -class Buffer(object): - def __init__(self, lock, num_plugs, is_pull): - self.bar = '' - self.event = 'Updating' if is_pull else 'Installing' - self.lock = lock - self.maxy = int(vim.eval('winheight(".")')) - self.num_plugs = num_plugs - - def __where(self, name): - """ Find first line with name in current buffer. Return line num. """ - found, lnum = False, 0 - matcher = re.compile('^[-+x*] {0}:'.format(name)) - for line in vim.current.buffer: - if matcher.search(line) is not None: - found = True - break - lnum += 1 - - if not found: - lnum = -1 - return lnum - - def header(self): - curbuf = vim.current.buffer - curbuf[0] = self.event + ' plugins ({0}/{1})'.format(len(self.bar), self.num_plugs) - - num_spaces = self.num_plugs - len(self.bar) - curbuf[1] = '[{0}{1}]'.format(self.bar, num_spaces * ' ') - - with self.lock: - vim.command('normal! 2G') - vim.command('redraw') - - def write(self, action, name, lines): - first, rest = lines[0], lines[1:] - msg = ['{0} {1}{2}{3}'.format(action, name, ': ' if first else '', first)] - msg.extend([' ' + line for line in rest]) - - try: - if action == Action.ERROR: - self.bar += 'x' - vim.command("call add(s:update.errors, '{0}')".format(name)) - elif action == Action.DONE: - self.bar += '=' - - curbuf = vim.current.buffer - lnum = self.__where(name) - if lnum != -1: # Found matching line num - del curbuf[lnum] - if lnum > self.maxy and action in set([Action.INSTALL, Action.UPDATE]): - lnum = 3 - else: - lnum = 3 - curbuf.append(msg, lnum) - - self.header() - except vim.error: - pass - -class Command(object): - CD = 'cd /d' if G_IS_WIN else 'cd' - - def __init__(self, cmd, cmd_dir=None, timeout=60, cb=None, clean=None): - self.cmd = cmd - if cmd_dir: - self.cmd = '{0} {1} && {2}'.format(Command.CD, cmd_dir, self.cmd) - self.timeout = timeout - self.callback = cb if cb else (lambda msg: None) - self.clean = clean if clean else (lambda: None) - self.proc = None - - @property - def alive(self): - """ Returns true only if command still running. """ - return self.proc and self.proc.poll() is None - - def execute(self, ntries=3): - """ Execute the command with ntries if CmdTimedOut. - Returns the output of the command if no Exception. - """ - attempt, finished, limit = 0, False, self.timeout - - while not finished: - try: - attempt += 1 - result = self.try_command() - finished = True - return result - except CmdTimedOut: - if attempt != ntries: - self.notify_retry() - self.timeout += limit - else: - raise - - def notify_retry(self): - """ Retry required for command, notify user. """ - for count in range(3, 0, -1): - if G_STOP.is_set(): - raise KeyboardInterrupt - msg = 'Timeout. Will retry in {0} second{1} ...'.format( - count, 's' if count != 1 else '') - self.callback([msg]) - time.sleep(1) - self.callback(['Retrying ...']) - - def try_command(self): - """ Execute a cmd & poll for callback. Returns list of output. - Raises CmdFailed -> return code for Popen isn't 0 - Raises CmdTimedOut -> command exceeded timeout without new output - """ - first_line = True - - try: - tfile = tempfile.NamedTemporaryFile(mode='w+b') - preexec_fn = not G_IS_WIN and os.setsid or None - self.proc = subprocess.Popen(self.cmd, stdout=tfile, - stderr=subprocess.STDOUT, - stdin=subprocess.PIPE, shell=True, - preexec_fn=preexec_fn) - thrd = thr.Thread(target=(lambda proc: proc.wait()), args=(self.proc,)) - thrd.start() - - thread_not_started = True - while thread_not_started: - try: - thrd.join(0.1) - thread_not_started = False - except RuntimeError: - pass - - while self.alive: - if G_STOP.is_set(): - raise KeyboardInterrupt - - if first_line or random.random() < G_LOG_PROB: - first_line = False - line = '' if G_IS_WIN else nonblock_read(tfile.name) - if line: - self.callback([line]) - - time_diff = time.time() - os.path.getmtime(tfile.name) - if time_diff > self.timeout: - raise CmdTimedOut(['Timeout!']) - - thrd.join(0.5) - - tfile.seek(0) - result = [line.decode('utf-8', 'replace').rstrip() for line in tfile] - - if self.proc.returncode != 0: - raise CmdFailed([''] + result) - - return result - except: - self.terminate() - raise - - def terminate(self): - """ Terminate process and cleanup. """ - if self.alive: - if G_IS_WIN: - os.kill(self.proc.pid, signal.SIGINT) - else: - os.killpg(self.proc.pid, signal.SIGTERM) - self.clean() - -class Plugin(object): - def __init__(self, name, args, buf_q, lock): - self.name = name - self.args = args - self.buf_q = buf_q - self.lock = lock - self.tag = args.get('tag', 0) - - def manage(self): - try: - if os.path.exists(self.args['dir']): - self.update() - else: - self.install() - with self.lock: - thread_vim_command("let s:update.new['{0}'] = 1".format(self.name)) - except PlugError as exc: - self.write(Action.ERROR, self.name, exc.msg) - except KeyboardInterrupt: - G_STOP.set() - self.write(Action.ERROR, self.name, ['Interrupted!']) - except: - # Any exception except those above print stack trace - msg = 'Trace:\n{0}'.format(traceback.format_exc().rstrip()) - self.write(Action.ERROR, self.name, msg.split('\n')) - raise - - def install(self): - target = self.args['dir'] - if target[-1] == '\\': - target = target[0:-1] - - def clean(target): - def _clean(): - try: - shutil.rmtree(target) - except OSError: - pass - return _clean - - self.write(Action.INSTALL, self.name, ['Installing ...']) - callback = functools.partial(self.write, Action.INSTALL, self.name) - cmd = 'git clone {0} {1} {2} {3} 2>&1'.format( - '' if self.tag else G_CLONE_OPT, G_PROGRESS, self.args['uri'], - esc(target)) - com = Command(cmd, None, G_TIMEOUT, callback, clean(target)) - result = com.execute(G_RETRIES) - self.write(Action.DONE, self.name, result[-1:]) - - def repo_uri(self): - cmd = 'git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url' - command = Command(cmd, self.args['dir'], G_TIMEOUT,) - result = command.execute(G_RETRIES) - return result[-1] - - def update(self): - actual_uri = self.repo_uri() - expect_uri = self.args['uri'] - regex = re.compile(r'^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$') - ma = regex.match(actual_uri) - mb = regex.match(expect_uri) - if ma is None or mb is None or ma.groups() != mb.groups(): - msg = ['', - 'Invalid URI: {0}'.format(actual_uri), - 'Expected {0}'.format(expect_uri), - 'PlugClean required.'] - raise InvalidURI(msg) - - if G_PULL: - self.write(Action.UPDATE, self.name, ['Updating ...']) - callback = functools.partial(self.write, Action.UPDATE, self.name) - fetch_opt = '--depth 99999999' if self.tag and os.path.isfile(os.path.join(self.args['dir'], '.git/shallow')) else '' - cmd = 'git fetch {0} {1} 2>&1'.format(fetch_opt, G_PROGRESS) - com = Command(cmd, self.args['dir'], G_TIMEOUT, callback) - result = com.execute(G_RETRIES) - self.write(Action.DONE, self.name, result[-1:]) - else: - self.write(Action.DONE, self.name, ['Already installed']) - - def write(self, action, name, msg): - self.buf_q.put((action, name, msg)) - -class PlugThread(thr.Thread): - def __init__(self, tname, args): - super(PlugThread, self).__init__() - self.tname = tname - self.args = args - - def run(self): - thr.current_thread().name = self.tname - buf_q, work_q, lock = self.args - - try: - while not G_STOP.is_set(): - name, args = work_q.get_nowait() - plug = Plugin(name, args, buf_q, lock) - plug.manage() - work_q.task_done() - except queue.Empty: - pass - -class RefreshThread(thr.Thread): - def __init__(self, lock): - super(RefreshThread, self).__init__() - self.lock = lock - self.running = True - - def run(self): - while self.running: - with self.lock: - thread_vim_command('noautocmd normal! a') - time.sleep(0.33) - - def stop(self): - self.running = False - -if G_NVIM: - def thread_vim_command(cmd): - vim.session.threadsafe_call(lambda: vim.command(cmd)) -else: - def thread_vim_command(cmd): - vim.command(cmd) - -def esc(name): - return '"' + name.replace('"', '\"') + '"' - -def nonblock_read(fname): - """ Read a file with nonblock flag. Return the last line. """ - fread = os.open(fname, os.O_RDONLY | os.O_NONBLOCK) - buf = os.read(fread, 100000).decode('utf-8', 'replace') - os.close(fread) - - line = buf.rstrip('\r\n') - left = max(line.rfind('\r'), line.rfind('\n')) - if left != -1: - left += 1 - line = line[left:] - - return line - -def main(): - thr.current_thread().name = 'main' - nthreads = int(vim.eval('s:update.threads')) - plugs = vim.eval('s:update.todo') - mac_gui = vim.eval('s:mac_gui') == '1' - - lock = thr.Lock() - buf = Buffer(lock, len(plugs), G_PULL) - buf_q, work_q = queue.Queue(), queue.Queue() - for work in plugs.items(): - work_q.put(work) - - start_cnt = thr.active_count() - for num in range(nthreads): - tname = 'PlugT-{0:02}'.format(num) - thread = PlugThread(tname, (buf_q, work_q, lock)) - thread.start() - if mac_gui: - rthread = RefreshThread(lock) - rthread.start() - - while not buf_q.empty() or thr.active_count() != start_cnt: - try: - action, name, msg = buf_q.get(True, 0.25) - buf.write(action, name, ['OK'] if not msg else msg) - buf_q.task_done() - except queue.Empty: - pass - except KeyboardInterrupt: - G_STOP.set() - - if mac_gui: - rthread.stop() - rthread.join() - -main() -EOF -endfunction - -function! s:update_ruby() - ruby << EOF - module PlugStream - SEP = ["\r", "\n", nil] - def get_line - buffer = '' - loop do - char = readchar rescue return - if SEP.include? char.chr - buffer << $/ - break - else - buffer << char - end - end - buffer - end - end unless defined?(PlugStream) - - def esc arg - %["#{arg.gsub('"', '\"')}"] - end - - def killall pid - pids = [pid] - if /mswin|mingw|bccwin/ =~ RUBY_PLATFORM - pids.each { |pid| Process.kill 'INT', pid.to_i rescue nil } - else - unless `which pgrep 2> /dev/null`.empty? - children = pids - until children.empty? - children = children.map { |pid| - `pgrep -P #{pid}`.lines.map { |l| l.chomp } - }.flatten - pids += children - end - end - pids.each { |pid| Process.kill 'TERM', pid.to_i rescue nil } - end - end - - def compare_git_uri a, b - regex = %r{^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$} - regex.match(a).to_a.drop(1) == regex.match(b).to_a.drop(1) - end - - require 'thread' - require 'fileutils' - require 'timeout' - running = true - iswin = VIM::evaluate('s:is_win').to_i == 1 - pull = VIM::evaluate('s:update.pull').to_i == 1 - base = VIM::evaluate('g:plug_home') - all = VIM::evaluate('s:update.todo') - limit = VIM::evaluate('get(g:, "plug_timeout", 60)') - tries = VIM::evaluate('get(g:, "plug_retries", 2)') + 1 - nthr = VIM::evaluate('s:update.threads').to_i - maxy = VIM::evaluate('winheight(".")').to_i - vim7 = VIM::evaluate('v:version').to_i <= 703 && RUBY_PLATFORM =~ /darwin/ - cd = iswin ? 'cd /d' : 'cd' - tot = VIM::evaluate('len(s:update.todo)') || 0 - bar = '' - skip = 'Already installed' - mtx = Mutex.new - take1 = proc { mtx.synchronize { running && all.shift } } - logh = proc { - cnt = bar.length - $curbuf[1] = "#{pull ? 'Updating' : 'Installing'} plugins (#{cnt}/#{tot})" - $curbuf[2] = '[' + bar.ljust(tot) + ']' - VIM::command('normal! 2G') - VIM::command('redraw') - } - where = proc { |name| (1..($curbuf.length)).find { |l| $curbuf[l] =~ /^[-+x*] #{name}:/ } } - log = proc { |name, result, type| - mtx.synchronize do - ing = ![true, false].include?(type) - bar += type ? '=' : 'x' unless ing - b = case type - when :install then '+' when :update then '*' - when true, nil then '-' else - VIM::command("call add(s:update.errors, '#{name}')") - 'x' - end - result = - if type || type.nil? - ["#{b} #{name}: #{result.lines.to_a.last || 'OK'}"] - elsif result =~ /^Interrupted|^Timeout/ - ["#{b} #{name}: #{result}"] - else - ["#{b} #{name}"] + result.lines.map { |l| " " << l } - end - if lnum = where.call(name) - $curbuf.delete lnum - lnum = 4 if ing && lnum > maxy - end - result.each_with_index do |line, offset| - $curbuf.append((lnum || 4) - 1 + offset, line.gsub(/\e\[./, '').chomp) - end - logh.call - end - } - bt = proc { |cmd, name, type, cleanup| - tried = timeout = 0 - begin - tried += 1 - timeout += limit - fd = nil - data = '' - if iswin - Timeout::timeout(timeout) do - tmp = VIM::evaluate('tempname()') - system("(#{cmd}) > #{tmp}") - data = File.read(tmp).chomp - File.unlink tmp rescue nil - end - else - fd = IO.popen(cmd).extend(PlugStream) - first_line = true - log_prob = 1.0 / nthr - while line = Timeout::timeout(timeout) { fd.get_line } - data << line - log.call name, line.chomp, type if name && (first_line || rand < log_prob) - first_line = false - end - fd.close - end - [$? == 0, data.chomp] - rescue Timeout::Error, Interrupt => e - if fd && !fd.closed? - killall fd.pid - fd.close - end - cleanup.call if cleanup - if e.is_a?(Timeout::Error) && tried < tries - 3.downto(1) do |countdown| - s = countdown > 1 ? 's' : '' - log.call name, "Timeout. Will retry in #{countdown} second#{s} ...", type - sleep 1 - end - log.call name, 'Retrying ...', type - retry - end - [false, e.is_a?(Interrupt) ? "Interrupted!" : "Timeout!"] - end - } - main = Thread.current - threads = [] - watcher = Thread.new { - if vim7 - while VIM::evaluate('getchar(1)') - sleep 0.1 - end - else - require 'io/console' # >= Ruby 1.9 - nil until IO.console.getch == 3.chr - end - mtx.synchronize do - running = false - threads.each { |t| t.raise Interrupt } unless vim7 - end - threads.each { |t| t.join rescue nil } - main.kill - } - refresh = Thread.new { - while true - mtx.synchronize do - break unless running - VIM::command('noautocmd normal! a') - end - sleep 0.2 - end - } if VIM::evaluate('s:mac_gui') == 1 - - clone_opt = VIM::evaluate('s:clone_opt').join(' ') - progress = VIM::evaluate('s:progress_opt(1)') - nthr.times do - mtx.synchronize do - threads << Thread.new { - while pair = take1.call - name = pair.first - dir, uri, tag = pair.last.values_at *%w[dir uri tag] - exists = File.directory? dir - ok, result = - if exists - chdir = "#{cd} #{iswin ? dir : esc(dir)}" - ret, data = bt.call "#{chdir} && git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url", nil, nil, nil - current_uri = data.lines.to_a.last - if !ret - if data =~ /^Interrupted|^Timeout/ - [false, data] - else - [false, [data.chomp, "PlugClean required."].join($/)] - end - elsif !compare_git_uri(current_uri, uri) - [false, ["Invalid URI: #{current_uri}", - "Expected: #{uri}", - "PlugClean required."].join($/)] - else - if pull - log.call name, 'Updating ...', :update - fetch_opt = (tag && File.exist?(File.join(dir, '.git/shallow'))) ? '--depth 99999999' : '' - bt.call "#{chdir} && git fetch #{fetch_opt} #{progress} 2>&1", name, :update, nil - else - [true, skip] - end - end - else - d = esc dir.sub(%r{[\\/]+$}, '') - log.call name, 'Installing ...', :install - bt.call "git clone #{clone_opt unless tag} #{progress} #{uri} #{d} 2>&1", name, :install, proc { - FileUtils.rm_rf dir - } - end - mtx.synchronize { VIM::command("let s:update.new['#{name}'] = 1") } if !exists && ok - log.call name, result, ok - end - } if running - end - end - threads.each { |t| t.join rescue nil } - logh.call - refresh.kill if refresh - watcher.kill -EOF -endfunction - -function! s:shellesc_cmd(arg, script) - let escaped = substitute('"'.a:arg.'"', '[&|<>()@^!"]', '^&', 'g') - return substitute(escaped, '%', (a:script ? '%' : '^') . '&', 'g') -endfunction - -function! s:shellesc_ps1(arg) - return "'".substitute(escape(a:arg, '\"'), "'", "''", 'g')."'" -endfunction - -function! s:shellesc_sh(arg) - return "'".substitute(a:arg, "'", "'\\\\''", 'g')."'" -endfunction - -" Escape the shell argument based on the shell. -" Vim and Neovim's shellescape() are insufficient. -" 1. shellslash determines whether to use single/double quotes. -" Double-quote escaping is fragile for cmd.exe. -" 2. It does not work for powershell. -" 3. It does not work for *sh shells if the command is executed -" via cmd.exe (ie. cmd.exe /c sh -c command command_args) -" 4. It does not support batchfile syntax. -" -" Accepts an optional dictionary with the following keys: -" - shell: same as Vim/Neovim 'shell' option. -" If unset, fallback to 'cmd.exe' on Windows or 'sh'. -" - script: If truthy and shell is cmd.exe, escape for batchfile syntax. -function! plug#shellescape(arg, ...) - if a:arg =~# '^[A-Za-z0-9_/:.-]\+$' - return a:arg - endif - let opts = a:0 > 0 && type(a:1) == s:TYPE.dict ? a:1 : {} - let shell = get(opts, 'shell', s:is_win ? 'cmd.exe' : 'sh') - let script = get(opts, 'script', 1) - if shell =~# 'cmd\(\.exe\)\?$' - return s:shellesc_cmd(a:arg, script) - elseif shell =~# 'powershell\(\.exe\)\?$' || shell =~# 'pwsh$' - return s:shellesc_ps1(a:arg) - endif - return s:shellesc_sh(a:arg) -endfunction - -function! s:glob_dir(path) - return map(filter(s:glob(a:path, '**'), 'isdirectory(v:val)'), 's:dirpath(v:val)') -endfunction - -function! s:progress_bar(line, bar, total) - call setline(a:line, '[' . s:lpad(a:bar, a:total) . ']') -endfunction - -function! s:compare_git_uri(a, b) - " See `git help clone' - " https:// [user@] github.com[:port] / junegunn/vim-plug [.git] - " [git@] github.com[:port] : junegunn/vim-plug [.git] - " file:// / junegunn/vim-plug [/] - " / junegunn/vim-plug [/] - let pat = '^\%(\w\+://\)\='.'\%([^@/]*@\)\='.'\([^:/]*\%(:[0-9]*\)\=\)'.'[:/]'.'\(.\{-}\)'.'\%(\.git\)\=/\?$' - let ma = matchlist(a:a, pat) - let mb = matchlist(a:b, pat) - return ma[1:2] ==# mb[1:2] -endfunction - -function! s:format_message(bullet, name, message) - if a:bullet != 'x' - return [printf('%s %s: %s', a:bullet, a:name, s:lastline(a:message))] - else - let lines = map(s:lines(a:message), '" ".v:val') - return extend([printf('x %s:', a:name)], lines) - endif -endfunction - -function! s:with_cd(cmd, dir, ...) - let script = a:0 > 0 ? a:1 : 1 - return printf('cd%s %s && %s', s:is_win ? ' /d' : '', plug#shellescape(a:dir, {'script': script}), a:cmd) -endfunction - -function! s:system(cmd, ...) - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(1) - if type(a:cmd) == s:TYPE.list - " Neovim's system() supports list argument to bypass the shell - " but it cannot set the working directory for the command. - " Assume that the command does not rely on the shell. - if has('nvim') && a:0 == 0 - return system(a:cmd) - endif - let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"shell": &shell, "script": 0})')) - if &shell =~# 'powershell\(\.exe\)\?$' - let cmd = '& ' . cmd - endif - else - let cmd = a:cmd - endif - if a:0 > 0 - let cmd = s:with_cd(cmd, a:1, type(a:cmd) != s:TYPE.list) - endif - if s:is_win && type(a:cmd) != s:TYPE.list - let [batchfile, cmd] = s:batchfile(cmd) - endif - return system(cmd) - finally - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry -endfunction - -function! s:system_chomp(...) - let ret = call('s:system', a:000) - return v:shell_error ? '' : substitute(ret, '\n$', '', '') -endfunction - -function! s:git_validate(spec, check_branch) - let err = '' - if isdirectory(a:spec.dir) - let result = [s:git_local_branch(a:spec.dir), s:git_origin_url(a:spec.dir)] - let remote = result[-1] - if empty(remote) - let err = join([remote, 'PlugClean required.'], "\n") - elseif !s:compare_git_uri(remote, a:spec.uri) - let err = join(['Invalid URI: '.remote, - \ 'Expected: '.a:spec.uri, - \ 'PlugClean required.'], "\n") - elseif a:check_branch && has_key(a:spec, 'commit') - let sha = s:git_revision(a:spec.dir) - if empty(sha) - let err = join(add(result, 'PlugClean required.'), "\n") - elseif !s:hash_match(sha, a:spec.commit) - let err = join([printf('Invalid HEAD (expected: %s, actual: %s)', - \ a:spec.commit[:6], sha[:6]), - \ 'PlugUpdate required.'], "\n") - endif - elseif a:check_branch - let current_branch = result[0] - " Check tag - let origin_branch = s:git_origin_branch(a:spec) - if has_key(a:spec, 'tag') - let tag = s:system_chomp('git describe --exact-match --tags HEAD 2>&1', a:spec.dir) - if a:spec.tag !=# tag && a:spec.tag !~ '\*' - let err = printf('Invalid tag: %s (expected: %s). Try PlugUpdate.', - \ (empty(tag) ? 'N/A' : tag), a:spec.tag) - endif - " Check branch - elseif origin_branch !=# current_branch - let err = printf('Invalid branch: %s (expected: %s). Try PlugUpdate.', - \ current_branch, origin_branch) - endif - if empty(err) - let [ahead, behind] = split(s:lastline(s:system([ - \ 'git', 'rev-list', '--count', '--left-right', - \ printf('HEAD...origin/%s', origin_branch) - \ ], a:spec.dir)), '\t') - if !v:shell_error && ahead - if behind - " Only mention PlugClean if diverged, otherwise it's likely to be - " pushable (and probably not that messed up). - let err = printf( - \ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n" - \ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', origin_branch, ahead, behind) - else - let err = printf("Ahead of origin/%s by %d commit(s).\n" - \ .'Cannot update until local changes are pushed.', - \ origin_branch, ahead) - endif - endif - endif - endif - else - let err = 'Not found' - endif - return [err, err =~# 'PlugClean'] -endfunction - -function! s:rm_rf(dir) - if isdirectory(a:dir) - return s:system(s:is_win - \ ? 'rmdir /S /Q '.plug#shellescape(a:dir) - \ : ['rm', '-rf', a:dir]) - endif -endfunction - -function! s:clean(force) - call s:prepare() - call append(0, 'Searching for invalid plugins in '.g:plug_home) - call append(1, '') - - " List of valid directories - let dirs = [] - let errs = {} - let [cnt, total] = [0, len(g:plugs)] - for [name, spec] in items(g:plugs) - if !s:is_managed(name) - call add(dirs, spec.dir) - else - let [err, clean] = s:git_validate(spec, 1) - if clean - let errs[spec.dir] = s:lines(err)[0] - else - call add(dirs, spec.dir) - endif - endif - let cnt += 1 - call s:progress_bar(2, repeat('=', cnt), total) - normal! 2G - redraw - endfor - - let allowed = {} - for dir in dirs - let allowed[s:dirpath(s:plug_fnamemodify(dir, ':h:h'))] = 1 - let allowed[dir] = 1 - for child in s:glob_dir(dir) - let allowed[child] = 1 - endfor - endfor - - let todo = [] - let found = sort(s:glob_dir(g:plug_home)) - while !empty(found) - let f = remove(found, 0) - if !has_key(allowed, f) && isdirectory(f) - call add(todo, f) - call append(line('$'), '- ' . f) - if has_key(errs, f) - call append(line('$'), ' ' . errs[f]) - endif - let found = filter(found, 'stridx(v:val, f) != 0') - end - endwhile - - 4 - redraw - if empty(todo) - call append(line('$'), 'Already clean.') - else - let s:clean_count = 0 - call append(3, ['Directories to delete:', '']) - redraw! - if a:force || s:ask_no_interrupt('Delete all directories?') - call s:delete([6, line('$')], 1) - else - call setline(4, 'Cancelled.') - nnoremap <silent> <buffer> d :set opfunc=<sid>delete_op<cr>g@ - nmap <silent> <buffer> dd d_ - xnoremap <silent> <buffer> d :<c-u>call <sid>delete_op(visualmode(), 1)<cr> - echo 'Delete the lines (d{motion}) to delete the corresponding directories' - endif - endif - 4 - setlocal nomodifiable -endfunction - -function! s:delete_op(type, ...) - call s:delete(a:0 ? [line("'<"), line("'>")] : [line("'["), line("']")], 0) -endfunction - -function! s:delete(range, force) - let [l1, l2] = a:range - let force = a:force - let err_count = 0 - while l1 <= l2 - let line = getline(l1) - if line =~ '^- ' && isdirectory(line[2:]) - execute l1 - redraw! - let answer = force ? 1 : s:ask('Delete '.line[2:].'?', 1) - let force = force || answer > 1 - if answer - let err = s:rm_rf(line[2:]) - setlocal modifiable - if empty(err) - call setline(l1, '~'.line[1:]) - let s:clean_count += 1 - else - delete _ - call append(l1 - 1, s:format_message('x', line[1:], err)) - let l2 += len(s:lines(err)) - let err_count += 1 - endif - let msg = printf('Removed %d directories.', s:clean_count) - if err_count > 0 - let msg .= printf(' Failed to remove %d directories.', err_count) - endif - call setline(4, msg) - setlocal nomodifiable - endif - endif - let l1 += 1 - endwhile -endfunction - -function! s:upgrade() - echo 'Downloading the latest version of vim-plug' - redraw - let tmp = s:plug_tempname() - let new = tmp . '/plug.vim' - - try - let out = s:system(['git', 'clone', '--depth', '1', s:plug_src, tmp]) - if v:shell_error - return s:err('Error upgrading vim-plug: '. out) - endif - - if readfile(s:me) ==# readfile(new) - echo 'vim-plug is already up-to-date' - return 0 - else - call rename(s:me, s:me . '.old') - call rename(new, s:me) - unlet g:loaded_plug - echo 'vim-plug has been upgraded' - return 1 - endif - finally - silent! call s:rm_rf(tmp) - endtry -endfunction - -function! s:upgrade_specs() - for spec in values(g:plugs) - let spec.frozen = get(spec, 'frozen', 0) - endfor -endfunction - -function! s:status() - call s:prepare() - call append(0, 'Checking plugins') - call append(1, '') - - let ecnt = 0 - let unloaded = 0 - let [cnt, total] = [0, len(g:plugs)] - for [name, spec] in items(g:plugs) - let is_dir = isdirectory(spec.dir) - if has_key(spec, 'uri') - if is_dir - let [err, _] = s:git_validate(spec, 1) - let [valid, msg] = [empty(err), empty(err) ? 'OK' : err] - else - let [valid, msg] = [0, 'Not found. Try PlugInstall.'] - endif - else - if is_dir - let [valid, msg] = [1, 'OK'] - else - let [valid, msg] = [0, 'Not found.'] - endif - endif - let cnt += 1 - let ecnt += !valid - " `s:loaded` entry can be missing if PlugUpgraded - if is_dir && get(s:loaded, name, -1) == 0 - let unloaded = 1 - let msg .= ' (not loaded)' - endif - call s:progress_bar(2, repeat('=', cnt), total) - call append(3, s:format_message(valid ? '-' : 'x', name, msg)) - normal! 2G - redraw - endfor - call setline(1, 'Finished. '.ecnt.' error(s).') - normal! gg - setlocal nomodifiable - if unloaded - echo "Press 'L' on each line to load plugin, or 'U' to update" - nnoremap <silent> <buffer> L :call <SID>status_load(line('.'))<cr> - xnoremap <silent> <buffer> L :call <SID>status_load(line('.'))<cr> - end -endfunction - -function! s:extract_name(str, prefix, suffix) - return matchstr(a:str, '^'.a:prefix.' \zs[^:]\+\ze:.*'.a:suffix.'$') -endfunction - -function! s:status_load(lnum) - let line = getline(a:lnum) - let name = s:extract_name(line, '-', '(not loaded)') - if !empty(name) - call plug#load(name) - setlocal modifiable - call setline(a:lnum, substitute(line, ' (not loaded)$', '', '')) - setlocal nomodifiable - endif -endfunction - -function! s:status_update() range - let lines = getline(a:firstline, a:lastline) - let names = filter(map(lines, 's:extract_name(v:val, "[x-]", "")'), '!empty(v:val)') - if !empty(names) - echo - execute 'PlugUpdate' join(names) - endif -endfunction - -function! s:is_preview_window_open() - silent! wincmd P - if &previewwindow - wincmd p - return 1 - endif -endfunction - -function! s:find_name(lnum) - for lnum in reverse(range(1, a:lnum)) - let line = getline(lnum) - if empty(line) - return '' - endif - let name = s:extract_name(line, '-', '') - if !empty(name) - return name - endif - endfor - return '' -endfunction - -function! s:preview_commit() - if b:plug_preview < 0 - let b:plug_preview = !s:is_preview_window_open() - endif - - let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}') - if empty(sha) - return - endif - - let name = s:find_name(line('.')) - if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir) - return - endif - - if exists('g:plug_pwindow') && !s:is_preview_window_open() - execute g:plug_pwindow - execute 'e' sha - else - execute 'pedit' sha - wincmd P - endif - setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(1) - let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha - if s:is_win - let [batchfile, cmd] = s:batchfile(cmd) - endif - execute 'silent %!' cmd - finally - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry - setlocal nomodifiable - nnoremap <silent> <buffer> q :q<cr> - wincmd p -endfunction - -function! s:section(flags) - call search('\(^[x-] \)\@<=[^:]\+:', a:flags) -endfunction - -function! s:format_git_log(line) - let indent = ' ' - let tokens = split(a:line, nr2char(1)) - if len(tokens) != 5 - return indent.substitute(a:line, '\s*$', '', '') - endif - let [graph, sha, refs, subject, date] = tokens - let tag = matchstr(refs, 'tag: [^,)]\+') - let tag = empty(tag) ? ' ' : ' ('.tag.') ' - return printf('%s%s%s%s%s (%s)', indent, graph, sha, tag, subject, date) -endfunction - -function! s:append_ul(lnum, text) - call append(a:lnum, ['', a:text, repeat('-', len(a:text))]) -endfunction - -function! s:diff() - call s:prepare() - call append(0, ['Collecting changes ...', '']) - let cnts = [0, 0] - let bar = '' - let total = filter(copy(g:plugs), 's:is_managed(v:key) && isdirectory(v:val.dir)') - call s:progress_bar(2, bar, len(total)) - for origin in [1, 0] - let plugs = reverse(sort(items(filter(copy(total), (origin ? '' : '!').'(has_key(v:val, "commit") || has_key(v:val, "tag"))')))) - if empty(plugs) - continue - endif - call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:') - for [k, v] in plugs - let branch = s:git_origin_branch(v) - if len(branch) - let range = origin ? '..origin/'.branch : 'HEAD@{1}..' - let cmd = ['git', 'log', '--graph', '--color=never'] - if s:git_version_requirement(2, 10, 0) - call add(cmd, '--no-show-signature') - endif - call extend(cmd, ['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range]) - if has_key(v, 'rtp') - call extend(cmd, ['--', v.rtp]) - endif - let diff = s:system_chomp(cmd, v.dir) - if !empty(diff) - let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : '' - call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)'))) - let cnts[origin] += 1 - endif - endif - let bar .= '=' - call s:progress_bar(2, bar, len(total)) - normal! 2G - redraw - endfor - if !cnts[origin] - call append(5, ['', 'N/A']) - endif - endfor - call setline(1, printf('%d plugin(s) updated.', cnts[0]) - \ . (cnts[1] ? printf(' %d plugin(s) have pending updates.', cnts[1]) : '')) - - if cnts[0] || cnts[1] - nnoremap <silent> <buffer> <plug>(plug-preview) :silent! call <SID>preview_commit()<cr> - if empty(maparg("\<cr>", 'n')) - nmap <buffer> <cr> <plug>(plug-preview) - endif - if empty(maparg('o', 'n')) - nmap <buffer> o <plug>(plug-preview) - endif - endif - if cnts[0] - nnoremap <silent> <buffer> X :call <SID>revert()<cr> - echo "Press 'X' on each block to revert the update" - endif - normal! gg - setlocal nomodifiable -endfunction - -function! s:revert() - if search('^Pending updates', 'bnW') - return - endif - - let name = s:find_name(line('.')) - if empty(name) || !has_key(g:plugs, name) || - \ input(printf('Revert the update of %s? (y/N) ', name)) !~? '^y' - return - endif - - call s:system('git reset --hard HEAD@{1} && git checkout '.plug#shellescape(g:plugs[name].branch).' --', g:plugs[name].dir) - setlocal modifiable - normal! "_dap - setlocal nomodifiable - echo 'Reverted' -endfunction - -function! s:snapshot(force, ...) abort - call s:prepare() - setf vim - call append(0, ['" Generated by vim-plug', - \ '" '.strftime("%c"), - \ '" :source this file in vim to restore the snapshot', - \ '" or execute: vim -S snapshot.vim', - \ '', '', 'PlugUpdate!']) - 1 - let anchor = line('$') - 3 - let names = sort(keys(filter(copy(g:plugs), - \'has_key(v:val, "uri") && !has_key(v:val, "commit") && isdirectory(v:val.dir)'))) - for name in reverse(names) - let sha = s:git_revision(g:plugs[name].dir) - if !empty(sha) - call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha)) - redraw - endif - endfor - - if a:0 > 0 - let fn = s:plug_expand(a:1) - if filereadable(fn) && !(a:force || s:ask(a:1.' already exists. Overwrite?')) - return - endif - call writefile(getline(1, '$'), fn) - echo 'Saved as '.a:1 - silent execute 'e' s:esc(fn) - setf vim - endif -endfunction - -function! s:split_rtp() - return split(&rtp, '\\\@<!,') -endfunction - -let s:first_rtp = s:escrtp(get(s:split_rtp(), 0, '')) -let s:last_rtp = s:escrtp(get(s:split_rtp(), -1, '')) - -if exists('g:plugs') - let g:plugs_order = get(g:, 'plugs_order', keys(g:plugs)) - call s:upgrade_specs() - call s:define_commands() -endif - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/config/nvim/autoload/snippet.vim b/config/nvim/autoload/snippet.vim deleted file mode 100644 index e7825a21..00000000 --- a/config/nvim/autoload/snippet.vim +++ /dev/null @@ -1,23 +0,0 @@ -" autoload/snippet.vim -" https://noahfrederick.com/log/vim-templates-with-ultisnips-and-projectionist/ - -function! s:try_insert(skel) - execute "normal! i_" . a:skel . "\<C-r>=UltiSnips#ExpandSnippet()\<CR>" - - if g:ulti_expand_res == 0 - silent! undo - endif - - return g:ulti_expand_res -endfunction - -function! snippet#InsertSkeleton() abort - let filename = expand('%') - - " Abort on non-empty buffer or extant file - if !(line('$') == 1 && getline('$') == '') || filereadable(filename) - return - endif - - call s:try_insert('skel') -endfunction diff --git a/config/nvim/coc-settings.json b/config/nvim/coc-settings.json deleted file mode 100644 index 76cd9ba6..00000000 --- a/config/nvim/coc-settings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "python.venvPath": ["~/.virtualenvs"], - "python.linting.enabled": false, - "python.linting.pylintEnabled": false, - "python.linting.flake8Enabled": true, - "python.linting.flake8Args": [ - "--extend-ignore=E203,W503", - "--max-line-length=88" - ] -} diff --git a/config/nvim/ftplugin/c.vim b/config/nvim/ftplugin/c.vim deleted file mode 100644 index 02d4776a..00000000 --- a/config/nvim/ftplugin/c.vim +++ /dev/null @@ -1,8 +0,0 @@ -" C -set omnifunc=ccomplete#Complete -autocmd BufNewfile,BufRead *.c,*.h,*.cpp set expandtab tabstop=2 - -"let c_minlines = 200 -let c_comment_strings = 1 - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/ftplugin/css.vim b/config/nvim/ftplugin/css.vim deleted file mode 100644 index f2858c2b..00000000 --- a/config/nvim/ftplugin/css.vim +++ /dev/null @@ -1,5 +0,0 @@ -" CSS - -set omnifunc=csscomplete#CompleteCSS - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/ftplugin/gitcommit.vim b/config/nvim/ftplugin/gitcommit.vim deleted file mode 100644 index 2b757a69..00000000 --- a/config/nvim/ftplugin/gitcommit.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal spell textwidth=72 diff --git a/config/nvim/ftplugin/haskell.vim b/config/nvim/ftplugin/haskell.vim deleted file mode 100644 index d093b91a..00000000 --- a/config/nvim/ftplugin/haskell.vim +++ /dev/null @@ -1,7 +0,0 @@ -" Tab specific option -set tabstop=2 -set expandtab -set softtabstop=2 -set shiftwidth=2 -"Round indent to nearest shiftwidth multiple -set shiftround diff --git a/config/nvim/ftplugin/help.vim b/config/nvim/ftplugin/help.vim deleted file mode 100644 index 0fe9c865..00000000 --- a/config/nvim/ftplugin/help.vim +++ /dev/null @@ -1,13 +0,0 @@ -" http://vim.wikia.com/wiki/Learn_to_use_help -" Enter to jump to the subject under the cursor -nnoremap <buffer> <CR> <C-]> -" Backspace to return from the last jump -nnoremap <buffer> <BS> <C-T> -" o to find next option -nnoremap <buffer> o /'\l\{2,\}'<CR> -" O to find previous option -nnoremap <buffer> O ?'\l\{2,\}'<CR> -" s to find next subject -nnoremap <buffer> s /\|\zs\S\+\ze\|<CR> -" S to find previous subject -nnoremap <buffer> S ?\|\zs\S\+\ze\|<CR> diff --git a/config/nvim/ftplugin/html.vim b/config/nvim/ftplugin/html.vim deleted file mode 100644 index e716bc97..00000000 --- a/config/nvim/ftplugin/html.vim +++ /dev/null @@ -1,7 +0,0 @@ -" HTML -autocmd FileType html set omnifunc=htmlcomplete#CompleteTags -autocmd BufNewFile,BufRead *.html set autoindent formatoptions=tcqwl textwidth=72 shiftwidth=2 softtabstop=2 tabstop=2 -let use_xhtml = 1 -let html_use_css = 1 - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/ftplugin/java.vim b/config/nvim/ftplugin/java.vim deleted file mode 100644 index acfcbfa8..00000000 --- a/config/nvim/ftplugin/java.vim +++ /dev/null @@ -1,19 +0,0 @@ -" Java -set omnifunc=javacomplete#Complete completefunc=javacomplete#CompleteParamsInfo -autocmd BufNewfile,BufRead *.java,*.jsp, set autoindent noexpandtab tabstop=4 shiftwidth=4 -let java_highlight_java_lang_ids=1 -let java_highlight_functions="style" -let java_highlight_debug=1 -let java_mark_braces_in_parens_as_errors=1 -let java_highlight_all=1 -let java_highlight_debug=1 -let java_ignore_javadoc=1 -let java_highlight_java_lang_ids=1 -let java_highlight_functions="style" -let java_minlines = 150 -let java_comment_strings=1 -let java_highlight_java_lang_ids=1 -"Java anonymous classes. Sometimes, you have to use them. -set cinoptions+=j1 - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/ftplugin/javascript.vim b/config/nvim/ftplugin/javascript.vim deleted file mode 100644 index 4f815247..00000000 --- a/config/nvim/ftplugin/javascript.vim +++ /dev/null @@ -1,5 +0,0 @@ -" JavaScript -set omnifunc=javascriptcomplete#CompleteJS -let g:syntax_extra_javascript='doxygen' - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/ftplugin/mail.vim b/config/nvim/ftplugin/mail.vim deleted file mode 100644 index 5d2e50f5..00000000 --- a/config/nvim/ftplugin/mail.vim +++ /dev/null @@ -1,57 +0,0 @@ -" Setup to write mails with vim - -" Enable spell checks -setlocal spell -" No indentation when copying -set nocopyindent -" Expand spaces to tabs -set expandtab - -" Automatic line wrap -" max line length -set textwidth=72 -" :help fo-table -set formatoptions=nawrjtcq -" set fo=tcqnaw -set comments+=n:\| " '|' is a quote char. -set comments+=n:% " '%' as well. - -" Disable LessSpace for emails -let g:lessspace_enabled = 0 - -" Disable automatic indent for emails -let b:sleuth_automatic = 0 - -" vim-mail -" https://github.com/dbeniamine/vim-mail/ -" -let g:VimMailDoNotFold=1 -let g:VimMailSpellLangs=['en', 'fr'] -" Remove quoted signature is killing mine due to flow automatic formatting -"let g:VimMailStartFlags={'reply' :"boir" } -let g:VimMailStartFlags={ - \'blank': 'TAi', - \'nosubject': 'SAi', - \'default' : 'bOi'} -let g:VimMailContactsProvider=['khard'] -" Use mu -" let g:VimMailContactsCommands={'mu' : -" \{ 'query' : "mu cfind", - -" \'sync': "mu index", -" \'config': { -" \'default': { -" \'home': '$HOME/.mu', -" \'maildir': '$HOME/Mail', -" \} -" \} -" \} -" \} - -" XXX Don't want to remove trailing spaces in emails! -" XXX disabled while testing lessspace.vim -" let g:ale_fix_on_save = 0 -let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,FRENCH_WITHESPACE' - -" Hide ALE error list window -let g:ale_open_list = 0 diff --git a/config/nvim/ftplugin/markdown.vim b/config/nvim/ftplugin/markdown.vim deleted file mode 100644 index 140a912b..00000000 --- a/config/nvim/ftplugin/markdown.vim +++ /dev/null @@ -1,5 +0,0 @@ -" Enable spell checks -setlocal spell - -" Disable some checks related to Markdown markup -let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,WHITESPACE_RULE,EN_QUOTES' diff --git a/config/nvim/ftplugin/perl.vim b/config/nvim/ftplugin/perl.vim deleted file mode 100644 index 99c88567..00000000 --- a/config/nvim/ftplugin/perl.vim +++ /dev/null @@ -1,4 +0,0 @@ -" Perl -autocmd BufNewFile,BufRead *.pl,*.pm, set shiftwidth=2 - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/ftplugin/php.vim b/config/nvim/ftplugin/php.vim deleted file mode 100644 index 78eb5ef1..00000000 --- a/config/nvim/ftplugin/php.vim +++ /dev/null @@ -1,14 +0,0 @@ -" PHP - -set omnifunc=phpcomplete#CompletePHP -set shiftwidth=4 expandtab softtabstop=4 tabstop=4 -set syntax=php -let php_sql_query = 1 -let php_noShortTags = 1 -let php_parent_error_close = 1 -"let php_parent_error_open = 1 -"let php_minlines=300 -let php_htmlInStrings=1 -"let php_folding = 1 - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/ftplugin/python.vim b/config/nvim/ftplugin/python.vim deleted file mode 100644 index b6e3bf29..00000000 --- a/config/nvim/ftplugin/python.vim +++ /dev/null @@ -1,31 +0,0 @@ -" Python -set textwidth=79 " lines longer than 79 columns will be broken -set shiftwidth=4 " operation >> indents 4 columns; << unindents 4 columns -set tabstop=4 " a hard TAB displays as 4 columns -set expandtab " insert spaces when hitting TABs -set softtabstop=4 " insert/delete 4 spaces when hitting a TAB/BACKSPACE -set shiftround " round indent to multiple of 'shiftwidth' -set autoindent " align the new line indent with the previous line -set smartindent - -set cinwords=if,elif,else,for,while,try,except,finally,def,class -set omnifunc=pythoncomplete#Complete - -" syntastic configuration -let g:syntastic_auto_loc_list=1 -let g:syntastic_loc_list_height=5 - -" python-mode configuration -" We use syntastic for syntax checking -" :help syntastic-pymode -let g:pymode_lint_write = 0 -" Override go-to.definition key shortcut to Ctrl-] -let g:pymode_rope_goto_definition_bind = "<C-]>" - -" Override run current python file key shortcut to Ctrl-Shift-e -let g:pymode_run_bind = "<C-S-e>" - -" Override view python doc key shortcut to Ctrl-Shift-d -let g:pymode_doc_bind = "<C-S-d>" - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/ftplugin/rst.vim b/config/nvim/ftplugin/rst.vim deleted file mode 100644 index bcda2dde..00000000 --- a/config/nvim/ftplugin/rst.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal spell diff --git a/config/nvim/ftplugin/tex.vim b/config/nvim/ftplugin/tex.vim deleted file mode 100644 index beedf66c..00000000 --- a/config/nvim/ftplugin/tex.vim +++ /dev/null @@ -1,7 +0,0 @@ -" TeX - -set omnifunc=syntaxcomplete#Complete -set tabstop=2 shiftwidth=2 nocindent -set autoindent formatoptions=tcq2l textwidth=72 shiftwidth=2 softtabstop=2 tabstop=2 - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/ftplugin/text.vim b/config/nvim/ftplugin/text.vim deleted file mode 100644 index 32fe520f..00000000 --- a/config/nvim/ftplugin/text.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Check spell -set spell diff --git a/config/nvim/ftplugin/xml.vim b/config/nvim/ftplugin/xml.vim deleted file mode 100644 index df980317..00000000 --- a/config/nvim/ftplugin/xml.vim +++ /dev/null @@ -1,8 +0,0 @@ -" XML - -set omnifunc=xmlcomplete#CompleteTags -set tabstop=2 shiftwidth=2 -"autocmd Filetype html,xml,xsl source ~/.vim/scripts/closetag.vim -autocmd BufNewFile,BufRead *.sgml,*.xsl set autoindent formatoptions=tcq2l textwidth=72 shiftwidth=2 softtabstop=2 tabstop=2 noexpandtab - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/init.vim b/config/nvim/init.vim deleted file mode 100644 index 88e29065..00000000 --- a/config/nvim/init.vim +++ /dev/null @@ -1,486 +0,0 @@ -" ~/.vimrc - -" Interesting readings -" About text objects: https://yanpritzker.com/learn-to-speak-vim-verbs-nouns-and-modifiers-d7bfed1f6b2d - -" https://github.com/junegunn/vim-plug -if empty(glob('~/.config/nvim/autoload/plug.vim')) - silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs - \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - autocmd VimEnter * PlugInstall | source $MYVIMRC -endif - -filetype off " required for vundle setup - -call plug#begin('~/.config/nvim/plugged') - -" SuperTab -" Plug 'ervandew/supertab' -" Completion -if has('nvim') - "Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } - Plug 'Shougo/denite.nvim' - " Possible replacement for deoplete - " https://github.com/neoclide/coc.nvim - " Plug 'neoclide/coc.nvim', {'tag': '*', 'do': { -> coc#util#install()}} - Plug 'neoclide/coc.nvim', {'branch': 'release'} -else - Plug 'Shougo/deoplete.nvim' - Plug 'roxma/nvim-yarp' - Plug 'roxma/vim-hug-neovim-rpc' -endif -"Plug 'SevereOverfl0w/deoplete-github' -" -" Snippets -" XXX Replaced by https://github.com/neoclide/coc-snippets -"Plug 'Shougo/neosnippet' -"Plug 'Shougo/neosnippet-snippets' -Plug 'honza/vim-snippets' - -" Colorscheme -" Plug 'arcticicestudio/nord-vim' -" Plug 'rakr/vim-one' -Plug 'dracula/vim', { 'as': 'dracula' } -" Plug 'morhetz/gruvbox' - -" Airline statusbar -Plug 'vim-airline/vim-airline' -Plug 'vim-airline/vim-airline-themes' - -" Could break airline bar if no proper font is configured -" Works with nerd fonts -" brew tap caskroom/fonts -" brew install font-hack-nerd-font -" or font-meslo-nerd-font font-sourcecodepro-nerd-font -Plug 'ryanoasis/vim-devicons' - -" Buffers list in the command bar -Plug 'bling/vim-bufferline' - -" Line numbering -Plug 'jeffkreeftmeijer/vim-numbertoggle' - -" Ctrl-P for quick file/buffer access -Plug 'ctrlpvim/ctrlp.vim' - -Plug 'editorconfig/editorconfig-vim' - -" Notes taking -" Plug 'fmoralesc/vim-pad' -Plug 'vimoutliner/vimoutliner' -" Plug 'vim-pandoc/vim-pandoc' -" Plug 'vim-pandoc/vim-pandoc-after' -" Plug 'vim-pandoc/vim-pandoc-syntax' -Plug 'dhruvasagar/vim-table-mode' -" XXX disabled, evaluating to vimwiki -" Plug 'xolox/vim-notes' -Plug 'xolox/vim-misc' -Plug 'xolox/vim-shell' -Plug 'robertbasic/vim-hugo-helper' -" Plug 'jceb/vim-orgmode' - -" Tabular alignment -Plug 'godlygeek/tabular' - -" Clean spaces at EOL for lines that are edited -Plug 'thirtythreeforty/lessspace.vim' - -" Fuzzy finder -Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } -Plug 'junegunn/fzf.vim' -" Fuzzy finding + clap -Plug 'lotabout/skim', { 'dir': '~/.skim', 'do': './install' } -Plug 'liuchengxu/vim-clap' -" SilverSearch plugin -Plug 'rking/ag.vim' - -" Fuzzy finder for files/buffers and so on -Plug 'Yggdroot/LeaderF', { 'do': './install.sh' } - -" Preview registers -" Seems to break tabular and completion -"Plug 'junegunn/vim-peekaboo' - -" File types' support -Plug 'sheerun/vim-polyglot' -Plug 'darfink/vim-plist' -" Plug 'pearofducks/ansible-vim' -" Plug 'mv/mv-vim-puppet' -" Plug 'PotatoesMaster/i3-vim-syntax' -" Plug 'mechatroner/rainbow_csv' -" Plug 'cespare/vim-toml' -" Plug 'tmux-plugins/vim-tmux' -Plug 'Yggdroot/indentLine' - -" Grammar/language checking -" https://www.vimfromscratch.com/articles/spell-and-grammar-vim/ -" If LanguageTool is installed, ALE will use it for text, md and mails -" https://github.com/dense-analysis/ale/blob/36e5337e30095afb10d02ef2ae362c8d6055e70d/doc/ale.txt#L2215 -" XXX write-good to be checked -" https://github.com/btford/write-good -" LanguageTool-based solutions -" https://github.com/rhysd/vim-grammarous -" https://github.com/vigoux/LanguageTool.nvim -" https://github.com/dpelle/vim-LanguageTool - -" Load locally available config files -" For per-project settings -Plug 'embear/vim-localvimrc' - -" Syntax validation -" Plug 'scrooloose/syntastic' -Plug 'dense-analysis/ale' - -" git integration -Plug 'tpope/vim-fugitive' -Plug 'airblade/vim-gitgutter' -" git commit browser -Plug 'junegunn/gv.vim' -Plug 'mattn/gist-vim' - -" Sensible default settings -Plug 'tpope/vim-repeat' -Plug 'tpope/vim-sensible' - -" Automatic indentation autoconfiguration -Plug 'tpope/vim-sleuth' - -Plug 'tpope/vim-speeddating' -" Easy change of surrounding stuff (tags, quotes...) -Plug 'tpope/vim-surround' -Plug 'tpope/vim-unimpaired' -" Hilight utf8-related trolls -Plug 'vim-utils/vim-troll-stopper' -Plug 'vim-scripts/utl.vim' -Plug 'vim-scripts/SyntaxRange' -Plug 'vim-scripts/taglist.vim' -Plug 'mattn/webapi-vim' -" Conflicts with some mappings for coc.nvim -"Plug 'vim-scripts/AutoClose' -" Seems OK -" Plug 'Raimondi/delimitMate' -Plug 'cohama/lexima.vim' -Plug 'vim-scripts/spec.vim' -Plug 'Konfekt/FastFold' -Plug 'maxbrunsfeld/vim-yankstack' -Plug 'mattn/calendar-vim' -Plug 'vimperator/vimperator.vim' -" Plug 'vimwiki/vimwiki' -" Plug 'teranex/vimwiki-tasks' -Plug 'fmoralesc/vim-tutor-mode' -"Plug 'mrtazz/simplenote.vim' -Plug 'dag/vim-fish' -" Plug 'blindFS/vim-taskwarrior' -Plug 'reedes/vim-litecorrect' -Plug 'mbbill/undotree' -" NERDTree (navigation) menu -Plug 'scrooloose/nerdtree' -Plug 'Xuyuanp/nerdtree-git-plugin' - -Plug 'nathanaelkane/vim-indent-guides' - -" Fancy start screen -Plug 'mhinz/vim-startify' - -" Browsing RFC -" depends on nokogiri -" rvm ruby-2.7.0@neovim do gem install nokogiri -" FIXME index file is empty (not downloaded?) -Plug 'mhinz/vim-rfc' - -" Save sessions -Plug 'tpope/vim-obsession' - -" Zoom windows using <C-w>-m instead of <c-w>-|, <c-w>-_, and <c-w>-= -Plug 'dhruvasagar/vim-zoom' - -" Easy movements -" https://github.com/easymotion/vim-easymotion -Plug 'easymotion/vim-easymotion' - -" Mail support -" mu integration when editing emails in mutt -Plug 'dbeniamine/vim-mail' -Plug 'neomutt/neomutt.vim' -" Doesn't work with my Mac setup -" Plug 'chrisbra/CheckAttach' - -" All of your Plugins must be added before the following line -call plug#end() - -if !has('nvim') - " Required to allow to override sensible.vim configuration - runtime plugin/sensible.vim -endif - -" Use true colors -if (has('termguicolors')) - " let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" - " let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" - set t_8f=[38;2;%lu;%lu;%lum - set t_8b=[48;2;%lu;%lu;%lum - set termguicolors -endif -if has('nvim') - "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > - let $NVIM_TUI_ENABLE_TRUE_COLOR=1 -endif - -" Theme -set background=dark - -let g:nord_italic=1 -let g:nord_italic_comments=1 -let g:nord_underline=1 -let g:nord_cursor_line_number_background=0 -" colorscheme nord -colorscheme dracula -" colorscheme one -" Works nicely with Nord palette -" colorscheme gruvbox -" if has('nvim') - " let g:solarized_use16 = 1 - " colorscheme solarized8 -" else - " colorscheme solarized -" endif - -" Use a specific colorscheme for vimdiff -" if &diff -" colorscheme evening -" endif - -" Highlight current line -set cursorline - -if !has('nvim') - " For devicons on vim - set encoding=UTF-8 -endif - -if has("unix") - " ruby integration via a rvm virualenv and gemset - " rvm install 2.7.0 - " rvm ruby-2.7.0 do rvm gemset create neovim - " rvm ruby-2.7.0@neovim do gem install neovim - let g:ruby_host_prog = 'rvm ruby-2.7.0@neovim do neovim-ruby-host' - " Pyenv with neovim - " https://gist.github.com/gwarf/42a0a13ff2bf32a0e79d347e43831cae - let g:python_host_prog = $HOME . '/.virtualenvs/neovim2/bin/python' - let g:python3_host_prog = $HOME . '/.virtualenvs/neovim3/bin/python' -endif - -"Credit joshdick -"Use 24-bit (true-color) mode in Vim/Neovim when outside tmux. -"If you're using tmux version 2.2 or later, you can remove the outermost $TMUX check and use tmux's 24-bit color support -"(see < http://sunaku.github.io/tmux-24bit-color.html#usage > for more information.) -" if (empty($TMUX)) -" if (has("nvim")) -" "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > -" let $NVIM_TUI_ENABLE_TRUE_COLOR=1 -" endif -" "For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 > -" "Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd > -" " < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 > -" if (has("termguicolors")) -" set termguicolors -" endif -" endif - -" Create new window below current one. -set splitbelow - -" Show line number -set number relativenumber - -" draw a vertical line -if v:version >= 703 -set colorcolumn=80 -endif - -" Enable modelines -set modeline - -" use tab for expansion in menus -set wildchar=<TAB> - -" Competion mode for wildchar in menus -set wildmode=list:longest,full - -" Search -set ignorecase -" No ignorecase if pattern contains Uppercase char -set smartcase -" highlight all matches -set hlsearch - -" Default indentation: 2 space -set expandtab -set shiftwidth=2 " taille de l'indentation. -set tabstop=2 " Taille des tabulations - -"set mouse-=a -" Disable mouse support -set mouse= - -" Highlight problematic whitespace -set list -set listchars=tab:>.,trail:.,extends:\#,nbsp:. - -" Use F10 to toggle paste mode -set pastetoggle=<F10> - -" Do not unload buffers on abandon (opening a new file un current buffer) -" Use Ctrl-o to switch back to location save in jumplist -set hidden - -" Backup configuration -silent execute '!mkdir -p $HOME/.vimbackup' -silent execute '!mkdir -p $HOME/.vimswap' -silent execute '!mkdir -p $HOME/.vimviews' -set backup " Bacup modified files -set backupdir=$HOME/.vimbackup -set backupskip=/tmp/*,/private/tmp/* -set writebackup - -" Swap file configuration -set swapfile -set directory=$HOME/.vimswap - -" Leader key customization -let mapleader=" " -map <Space> <Leader> -" Leader for mappings local to a buffer -" could be useful to have per-file-type keys like -" In a ~/.vim/after/ftplugin/{file extension}.vim -" nnoremap <buffer> <silent> <LocalLeader>b :update|make -" , is by default for backward seach on line -let g:maplocalleader = ',' -" \ is safer but less convenient -"let g:maplocalleader = '\' - -nnoremap <Leader>x i -set showcmd - -" Keys - -" Use W to write a file as root using sudo -command W :execute ':silent w !sudo tee % > /dev/null' | :edit! -" Alternate: Use :w!! to write to a read only file by calling sudo -cmap w!! %!sudo tee > /dev/null % - -" Use Ctrl-a to access begining of line in command mode -cnoremap <C-A> <Home> -cnoremap <C-E> <End> - -" Use jk instead of ESC for leaving insert mode -inoremap jk <ESC> - -if has("gui_running") - if has("gui_gtk2") - set guifont=Monaco\ 12 - elseif has("gui_win32") - set guifont=Consolas:h11:cANSI - endif -endif - -"""""""""""""""""""""""""""""" -" *-(specific|related) options -"""""""""""""""""""""""""""""" - -" Set spell language -set spelllang=en,fr -" Enable completion of spell -set complete+=kspell - -" Mail edition for mutt -autocmd BufEnter,BufNewFile,BufRead ~/tmp/mutt* set ft=mail -autocmd BufEnter,BufNewFile,BufRead ~/tmp/neomutt* set ft=mail - -"""""""""""""""""" -" Custom functions -"""""""""""""""""" - -" When editing a file, always jump to the last known cursor position. -" Don't do it when the position is invalid or when inside an event handler -" (happens when dropping a file on gvim). -function! s:CursorOldPosition() - if line("'\"") > 0 && line("'\"") <= line("$") - exe "normal g`\"" - endif -endfunction -autocmd BufReadPost * silent! call s:CursorOldPosition() - -" Vertical diff -set diffopt+=vertical - -" Fix arrow keys with 256 color term -set t_ku=OA -set t_kd=OB -set t_kr=OC -set t_kl=OD - -" Use hjkl-movement between rows when soft wrapping -nnoremap j gj -nnoremap k gk -vnoremap j gj -vnoremap k gk - -" Some useful abbreviations - -:iab brb Best regards,<enter>Baptiste -:iab cb Cheers,<enter>Baptiste -" XXX find a better abbreviation -:iab cl ---------8<--------8<-------------8<------------8<------------8<---------- - -" https://github.com/tpope/vim-sensible/pull/127 -let g:is_posix=1 - -" Autocorrect in text and markdown files -augroup litecorrect - autocmd! - autocmd FileType markdown,mkd call litecorrect#init() - autocmd FileType textile call litecorrect#init() -augroup END - -" Force the top-ranked correction on the first misspelled word before the -" cursor. -nnoremap <C-s> [s1z=<c-o> -inoremap <C-s> <c-g>u<Esc>[s1z=`]A<c-g>u - -" Toggle undotree panel -nnoremap <F5> :UndotreeToggle<cr> -if has("persistent_undo") - set undodir=~/.undodir/ - set undofile -endif - -" vim-markdown (from vim-polyglot) -" Disable folding -let g:vim_markdown_folding_disabled = 1 -let g:vim_markdown_new_list_item_indent = 2 -" Disable concealing -let g:vim_markdown_conceal = 0 -let g:vim_markdown_conceal_code_blocks = 0 - -" Folding with markers -set foldmethod=marker -nnoremap <space> za - -" Complete emails address in every files -set completefunc=vimmail#contacts#CompleteAddr - -" Don't mess with whitespaces in those files -let g:lessspace_blacklist = ['diff'] - -" localvimrc -" Store and restore all decisions. -let g:localvimrc_persistent = 2 - -" https://github.com/Yggdroot/LeaderF -let g:Lf_ShortcutF = "<leader>ff" -" popup mode -let g:Lf_WindowPosition = 'popup' -let g:Lf_PreviewInPopup = 1 - -" vim:set ft=vim et sw=2: diff --git a/config/nvim/plugin/settings/LeaderF.vim b/config/nvim/plugin/settings/LeaderF.vim deleted file mode 100644 index b7803888..00000000 --- a/config/nvim/plugin/settings/LeaderF.vim +++ /dev/null @@ -1,6 +0,0 @@ -" https://github.com/Yggdroot/LeaderF - -let g:Lf_ShortcutF = "<leader>ff" -" popup mode -let g:Lf_WindowPosition = 'popup' -let g:Lf_PreviewInPopup = 1 diff --git a/config/nvim/plugin/settings/airline.vim b/config/nvim/plugin/settings/airline.vim deleted file mode 100644 index 594ba364..00000000 --- a/config/nvim/plugin/settings/airline.vim +++ /dev/null @@ -1,7 +0,0 @@ -" vim-airline - -" populate the g:airline_symbols dictionary with the powerline symbols -let g:airline_powerline_fonts = 1 - -" Automatically displays all buffers when there's only one tab open -let g:airline#extensions#tabline#enabled = 1 diff --git a/config/nvim/plugin/settings/ale.vim b/config/nvim/plugin/settings/ale.vim deleted file mode 100644 index cae245a0..00000000 --- a/config/nvim/plugin/settings/ale.vim +++ /dev/null @@ -1,60 +0,0 @@ -" ale settings -" https://github.com/dense-analysis/ale - -" Always show status column -let g:ale_sign_column_always = 1 - -" Use quickfix list instead of location list to not interfer with Coc -" https://github.com/dense-analysis/ale/issues/1482 -" https://github.com/dense-analysis/ale/issues/1945 -let g:ale_set_loclist = 0 -let g:ale_set_quickfix = 1 - -" Error list window -let g:ale_open_list = 1 - -" Moving between errors/warnings with Ctrl-k/j -nmap <silent> <C-k> <Plug>(ale_previous_wrap) -nmap <silent> <C-j> <Plug>(ale_next_wrap) - -" Customize echo message -let g:ale_echo_msg_error_str = 'E' -let g:ale_echo_msg_warning_str = 'W' -let g:ale_echo_msg_format = '%code: %%s [%linter%] [%severity%]' - -" Show 5 lines of errors (default: 10) -let g:ale_list_window_size = 5 - -" Fix files when saving -let g:ale_fix_on_save = 1 -let g:ale_lint_on_save = 1 - -let g:ale_linters = { -\ 'bash': ['bashate', 'shellcheck'], -\ 'python': ['flake8'], -\ 'markdown': ['prettier'], -\} - -" XXX disabled while testing lessspace.vim -"\ '*': ['remove_trailing_lines', 'trim_whitespace'], -" XXX Don't want to remove trailing spaces in emails! -" See mail ftplugin -let g:ale_fixers = { -\ 'javascript': ['eslint'], -\ 'json': ['prettier'], -\ 'markdown': ['prettier'], -\ 'yaml': ['prettier'], -\ 'python': ['black', 'isort', 'trim_whitespace'], -\ '*': ['remove_trailing_lines'], -\} - -let g:ale_javascript_prettier_options = '--prose-wrap always --print-width 80 --tab-width 2' - -let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,WHITESPACE_RULE,EN_QUOTES' - -" Configure flake8 to comply with black -" https://black.readthedocs.io/en/stable/compatible_configs.html#flake8 -let g:ale_python_flake8_options='--extend-ignore=E203,W503 --max-line-length=88' - -" bashate: we don't want indent to be multiple of 4 spaces -let g:ale_sh_bashate_options = '-i E003' diff --git a/config/nvim/plugin/settings/checkattach.vim b/config/nvim/plugin/settings/checkattach.vim deleted file mode 100644 index 471c9a7a..00000000 --- a/config/nvim/plugin/settings/checkattach.vim +++ /dev/null @@ -1,4 +0,0 @@ -" Use ranger - -let g:checkattach_filebrowser = 'ranger' -let g:checkattach_once = 'y' diff --git a/config/nvim/plugin/settings/coc.vim b/config/nvim/plugin/settings/coc.vim deleted file mode 100644 index adf0a16f..00000000 --- a/config/nvim/plugin/settings/coc.vim +++ /dev/null @@ -1,167 +0,0 @@ -" coc.nvim -" https://github.com/neoclide/coc.nvim - -" Globacl configuration -" :CocConfig - -" Python support -" virtual environments are configured in the :CocConfig file -" if a .venv file is present it will be used - -" Defining a project-specific virtualenv for python -" :CocLocalConfig -" { -" "python.pythonPath": "~/.virtualenvs/impact-report/bin/python" -" } - -" Auto install required extensions -" Update usinsg CocUpdate -let g:coc_global_extensions = [ 'coc-json', 'coc-git', 'coc-python', 'coc-spell-checker', 'coc-snippets' ] - -" Better display for messages -set cmdheight=2 - -" coc-snippets configuration -" https://github.com/neoclide/coc-snippets -" -" Edit custom snippets for the current file -" :CocCommand snippets.editSnippets -" -" c-n: next snippet -" c-p: previous snippet -" c-j: select snippet - -" Use <C-l> for trigger snippet expand. -imap <C-l> <Plug>(coc-snippets-expand) - -" Use <C-j> for select text for visual placeholder of snippet. -vmap <C-j> <Plug>(coc-snippets-select) - -" Use <C-j> for jump to next placeholder, it's default of coc.nvim -let g:coc_snippet_next = '<c-j>' - -" Use <C-k> for jump to previous placeholder, it's default of coc.nvim -let g:coc_snippet_prev = '<c-k>' - -" Use <C-j> for both expand and jump (make expand higher priority.) -imap <C-j> <Plug>(coc-snippets-expand-jump) - -" Use <leader>x for convert visual selected code to snippet -xmap <leader>x <Plug>(coc-convert-snippet) - -inoremap <silent><expr> <TAB> - \ pumvisible() ? coc#_select_confirm() : - \ coc#expandableOrJumpable() ? "\<C-r>=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\<CR>" : - \ <SID>check_back_space() ? "\<TAB>" : - \ coc#refresh() - -function! s:check_back_space() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~# '\s' -endfunction - -let g:coc_snippet_next = '<tab>' - -" XXX replaced by the code from coc-snippets -" Use tab for trigger completion with characters ahead and navigate. -" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin. -" inoremap <silent><expr> <TAB> -" \ pumvisible() ? "\<C-n>" : -" \ <SID>check_back_space() ? "\<TAB>" : -" \ coc#refresh() -" inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" -" -" function! s:check_back_space() abort -" let col = col('.') - 1 -" return !col || getline('.')[col - 1] =~# '\s' -" endfunction - -" Use <c-space> to trigger completion. -inoremap <silent><expr> <c-space> coc#refresh() - -" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position. -" Coc only does snippet and additional edit on confirm. -inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" - -" Use `[c` and `]c` to navigate diagnostics -nmap <silent> [c <Plug>(coc-diagnostic-prev) -nmap <silent> ]c <Plug>(coc-diagnostic-next) - -" Remap keys for gotos -nmap <silent> gd <Plug>(coc-definition) -nmap <silent> gy <Plug>(coc-type-definition) -nmap <silent> gi <Plug>(coc-implementation) -nmap <silent> gr <Plug>(coc-references) - -" Use K to show documentation in preview window -nnoremap <silent> K :call <SID>show_documentation()<CR> - -function! s:show_documentation() - if (index(['vim','help'], &filetype) >= 0) - execute 'h '.expand('<cword>') - else - call CocAction('doHover') - endif -endfunction - -" Highlight symbol under cursor on CursorHold -autocmd CursorHold * silent call CocActionAsync('highlight') - -" Remap for rename current word -nmap <leader>rn <Plug>(coc-rename) - -" Remap for format selected region -xmap <leader>f <Plug>(coc-format-selected) -nmap <leader>f <Plug>(coc-format-selected) - -augroup mygroup - autocmd! - " Setup formatexpr specified filetype(s). - autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') - " Update signature help on jump placeholder - autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') -augroup end - -" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph -xmap <leader>a <Plug>(coc-codeaction-selected) -nmap <leader>a <Plug>(coc-codeaction-selected) - -" Remap for do codeAction of current line -nmap <leader>ac <Plug>(coc-codeaction) -" Fix autofix problem of current line -nmap <leader>qf <Plug>(coc-fix-current) - -" Use <tab> for select selections ranges, needs server support, like: coc-tsserver, coc-python -nmap <silent> <TAB> <Plug>(coc-range-select) -xmap <silent> <TAB> <Plug>(coc-range-select) -xmap <silent> <S-TAB> <Plug>(coc-range-select-backword) - -" Use `:Format` to format current buffer -command! -nargs=0 Format :call CocAction('format') - -" Use `:Fold` to fold current buffer -command! -nargs=? Fold :call CocAction('fold', <f-args>) - -" use `:OR` for organize import of current buffer -command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') - -" Add status line support, for integration with other plugin, checkout `:h coc-status` -set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} - -" Using CocList -" Show all diagnostics -nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr> -" Manage extensions -nnoremap <silent> <space>e :<C-u>CocList extensions<cr> -" Show commands -nnoremap <silent> <space>c :<C-u>CocList commands<cr> -" Find symbol of current document -nnoremap <silent> <space>o :<C-u>CocList outline<cr> -" Search workspace symbols -nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr> -" Do default action for next item. -nnoremap <silent> <space>j :<C-u>CocNext<CR> -" Do default action for previous item. -nnoremap <silent> <space>k :<C-u>CocPrev<CR> -" Resume latest coc list -nnoremap <silent> <space>p :<C-u>CocListResume<CR> diff --git a/config/nvim/plugin/settings/ctrlp.vim b/config/nvim/plugin/settings/ctrlp.vim deleted file mode 100644 index f5ec2140..00000000 --- a/config/nvim/plugin/settings/ctrlp.vim +++ /dev/null @@ -1,9 +0,0 @@ -" CtrlP - -" Fix ctrl-p's mixed mode https://github.com/kien/ctrlp.vim/issues/556 -let g:ctrlp_extensions = ['mixed'] -nnoremap <c-p> :CtrlPMixed<cr> - -" Speeding up CtrlP by ignoring files defined git .gitignore -" https://medium.com/a-tiny-piece-of-vim/making-ctrlp-vim-load-100x-faster-7a722fae7df6 -let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'] diff --git a/config/nvim/plugin/settings/deoplete.vim b/config/nvim/plugin/settings/deoplete.vim deleted file mode 100644 index f4addf90..00000000 --- a/config/nvim/plugin/settings/deoplete.vim +++ /dev/null @@ -1,56 +0,0 @@ -" depolete: use tab/s-tab or c-n/c-p to navigate options - -" Use deoplete -" Debug run :checkhealth -" let g:deoplete#enable_at_startup = 1 - -" Enable snipMate compatibility feature. -" let g:neosnippet#enable_snipmate_compatibility = 1 - -" Tell Neosnippet about the other snippets -" let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets/snippets' - -" enmable email completeion -"call deoplete#custom#source('omni', 'functions', { -" \ 'mail': 'mailcomplete#Complete', -" \}) - -"call deoplete#custom#var('omni', 'input_patterns', { -" \ 'mail': '\w+', -" \}) - -" let g:deoplete#sources = {} -" let g:deoplete#sources.gitcommit=['github'] -" let g:deoplete#keyword_patterns = {} -" let g:deoplete#keyword_patterns.gitcommit = '.+' -" let g:deoplete#omni#input_patterns = {} -" let g:deoplete#omni#input_patterns.gitcommit = '.+' - -" <C-h>, <BS>: close popup and delete backword char -"inoremap <expr><C-h> deoplete#smart_close_popup()."\<C-h>" -"inoremap <expr><BS> deoplete#smart_close_popup()."\<C-h>" - -" <TAB>: completion -" inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" -" Taken from https://github.com/Shougo/shougo-s-github/blob/84071518e4238cc8b816cdb97ebc00c2aedda69f/vim/rc/plugins/deoplete.rc.vim -"inoremap <silent><expr> <TAB> -" \ pumvisible() ? "\<C-n>" : -" \ <SID>check_back_space() ? "\<TAB>" : -" \ deoplete#manual_complete() -"function! s:check_back_space() abort -" let col = col('.') - 1 -" return !col || getline('.')[col - 1] =~ '\s' -"endfunction - -" <S-TAB>: completion back -"inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" - -"inoremap <expr><C-g> deoplete#refresh() -"inoremap <expr><C-e> deoplete#cancel_popup() -"inoremap <silent><expr><C-l> deoplete#complete_common_string() - -" <CR>: close popup and save indent -"inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR> -"function! s:my_cr_function() abort -" return pumvisible() ? deoplete#close_popup()."\<CR>" : "\<CR>" -"endfunction diff --git a/config/nvim/plugin/settings/editorconfig.vim b/config/nvim/plugin/settings/editorconfig.vim deleted file mode 100644 index faa7488e..00000000 --- a/config/nvim/plugin/settings/editorconfig.vim +++ /dev/null @@ -1,3 +0,0 @@ -" Said required to fix editorconfig with Fugitive - -let g:EditorConfig_exclude_patterns = ['fugitive://.*'] diff --git a/config/nvim/plugin/settings/fzf.vim b/config/nvim/plugin/settings/fzf.vim deleted file mode 100644 index 2b64e76b..00000000 --- a/config/nvim/plugin/settings/fzf.vim +++ /dev/null @@ -1,10 +0,0 @@ -" fzf - -nnoremap <c-p> :FZF<cr> -let g:fzf_action = { - \ 'ctrl-m': 'e', - \ 'ctrl-t': 'tabedit', - \ 'alt-j': 'botright split', - \ 'alt-k': 'topleft split', - \ 'alt-h': 'vertical topleft split', - \ 'alt-l': 'vertical botright split' } diff --git a/config/nvim/plugin/settings/lessspace.vim b/config/nvim/plugin/settings/lessspace.vim deleted file mode 100644 index e0fd6f51..00000000 --- a/config/nvim/plugin/settings/lessspace.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Don't mess with whitespaces in those files -let g:lessspace_blacklist = ['diff'] diff --git a/config/nvim/plugin/settings/localvimrc.vim b/config/nvim/plugin/settings/localvimrc.vim deleted file mode 100644 index f5069db7..00000000 --- a/config/nvim/plugin/settings/localvimrc.vim +++ /dev/null @@ -1,4 +0,0 @@ -" localvimrc - -" Store and restore all decisions. -let g:localvimrc_persistent = 2 diff --git a/config/nvim/plugin/settings/nerdtree.vim b/config/nvim/plugin/settings/nerdtree.vim deleted file mode 100644 index 6ce33f09..00000000 --- a/config/nvim/plugin/settings/nerdtree.vim +++ /dev/null @@ -1,11 +0,0 @@ -" https://github.com/scrooloose/nerdtree -" Autostart Startify and NERDTree -autocmd StdinReadPre * let s:std_in=1 -autocmd VimEnter * - \ if argc() == 0 && !exists("s:std_in") - \ | Startify - \ | NERDTree - \ | wincmd w - \ | endif -" XXX ensure it's not breaking other binding -map <C-n> :NERDTreeToggle<CR> diff --git a/config/nvim/plugin/settings/notes.vim b/config/nvim/plugin/settings/notes.vim deleted file mode 100644 index 2b1f9eb0..00000000 --- a/config/nvim/plugin/settings/notes.vim +++ /dev/null @@ -1,14 +0,0 @@ -" Notes using vim-notes -" https://peterodding.com/code/vim/notes - -let g:notes_directories = ["~/GoogleDrive/notes"] -let g:notes_suffix = '.txt' -"let g:notes_suffix = '.md' -" Disabling text substitutions (Like quotes) -let g:notes_smart_quotes = 0 -" Disabling unicode characters for bullets, arrows..) -" let g:notes_unicode_enabled = 0 -" Do not hide code block marks -let g:notes_conceal_code = 0 -" Do not hide URL schemes -let g:notes_conceal_url = 0 diff --git a/config/nvim/plugin/settings/silversearcher.vim b/config/nvim/plugin/settings/silversearcher.vim deleted file mode 100644 index 96e8017d..00000000 --- a/config/nvim/plugin/settings/silversearcher.vim +++ /dev/null @@ -1,32 +0,0 @@ -" The Silver Searcher -" http://robots.thoughtbot.com/faster-grepping-in-vim - -if executable('ag') - " Use ag over grep - set grepprg=ag\ --nogroup\ --nocolor - - " Use ag in CtrlP for listing files. Lightning fast and respects .gitignore - let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' - - " ag is fast enough that CtrlP doesn't need to cache - let g:ctrlp_use_caching = 0 -endif - -" bind K to grep word under cursor -"nnoremap K :grep! "\b<C-R><C-W>\b"<CR>:cw<CR> -nnoremap K :Ag! "\b<C-R><C-W>\b"<CR>:cw<CR> -" The Silver Searcher Ag -" e to open file and close the quickfix window -" o to open (same as enter) -" go to preview file (open but maintain focus on ag.vim results) -" t to open in new tab -" T to open in new tab silently -" h to open in horizontal split -" H to open in horizontal split silently -" v to open in vertical split -" gv to open in vertical split silently -" q to close the quickfix window - -" bind \ (backward slash) to grep shortcut -"command -nargs=+ -complete=file -bar Ag silent! grep! <args>|cwindow|redraw! -" nnoremap \ :Ag<SPACE> diff --git a/config/nvim/plugin/settings/spell.vim b/config/nvim/plugin/settings/spell.vim deleted file mode 100644 index e11cc720..00000000 --- a/config/nvim/plugin/settings/spell.vim +++ /dev/null @@ -1,10 +0,0 @@ -" XXX disabled as it breaks mostly all spell checks -" Disable spell for capital-staring and camelcase words -" https://stackoverflow.com/questions/18196399/exclude-capitalized-words-from-vim-spell-check -" fun! IgnoreCamelCaseSpell() -" syn match myExCapitalWords +\<\w*[A-Z]\K*\>\|'s+ contains=@NoSpell transparent -" syn cluster Spell add=myExCapitalWords -" syn match CamelCase /\<[A-Z][a-z]\+[A-Z].\{-}\>/ contains=@NoSpell transparent -" syn cluster Spell add=CamelCase -" endfun -" autocmd BufRead,BufNewFile * :call IgnoreCamelCaseSpell() diff --git a/config/nvim/plugin/settings/startify.vim b/config/nvim/plugin/settings/startify.vim deleted file mode 100644 index b8c6e448..00000000 --- a/config/nvim/plugin/settings/startify.vim +++ /dev/null @@ -1,2 +0,0 @@ -" https://github.com/mhinz/vim-startify -let g:startify_fortune_use_unicode = 1 diff --git a/config/nvim/plugin/settings/syntastic.vim b/config/nvim/plugin/settings/syntastic.vim deleted file mode 100644 index ff0f29c2..00000000 --- a/config/nvim/plugin/settings/syntastic.vim +++ /dev/null @@ -1,26 +0,0 @@ -" Syntastic -" https://github.com/scrooloose/syntastic - -" Always populate location list with errors -let g:syntastic_always_populate_loc_list = 1 -" Automatically close error window when no errors are left -let g:syntastic_auto_loc_list = 1 -" Jump to the first error detected -let g:syntastic_auto_jump = 1 -let g:syntastic_check_on_open = 1 -let g:syntastic_check_on_wq = 1 - -"let g:syntastic_puppet_puppetlint_quiet_messages = { "regex": "line has more than 80 characters" } -"let g:syntastic_puppet_puppetlint_args = "--no-class_inherits_from_params_class-check" - -" Use virtualenv for installing/conifugring python stuff -"let g:syntastic_python_python_exec = '/usr/bin/python2' -"let g:syntastic_python_flake8_exec = 'flake8-python2' -" https://github.com/liamcurry/py3kwarn -" https://docs.python.org/3/whatsnew/3.0.html -" https://docs.python.org/2.6/library/2to3.html#fixers -" To be installed using pip in python venv used by neovim -let g:syntastic_python_checkers=['flake8'] -"let g:syntastic_python_checkers=['flake8', 'py3kwarn'] -let g:syntastic_rst_checkers = ['rstcheck'] -let g:syntastic_yaml_checkers = ['yamllint'] diff --git a/config/nvim/plugin/settings/ultisnips.vim b/config/nvim/plugin/settings/ultisnips.vim deleted file mode 100644 index b00eb5c8..00000000 --- a/config/nvim/plugin/settings/ultisnips.vim +++ /dev/null @@ -1,8 +0,0 @@ -" UltiSnips - -let g:snips_author_email='baptiste.grenier@egi.eu' -let g:snips_email='baptiste.grenier@egi.eu' -"let g:snips_author_email='baptiste@bapt.name' -let g:snips_author='Baptiste Grenier' -let g:snips_author_initials='BG' -let g:snips_company='EGI Foundation' diff --git a/config/nvim/plugin/settings/vim_markdown.vim b/config/nvim/plugin/settings/vim_markdown.vim deleted file mode 100644 index af7be999..00000000 --- a/config/nvim/plugin/settings/vim_markdown.vim +++ /dev/null @@ -1,8 +0,0 @@ -" vim-markdown (from vim-polyglot) - -" Disable folding -let g:vim_markdown_folding_disabled = 1 -let g:vim_markdown_new_list_item_indent = 2 -" Disable concealing -let g:vim_markdown_conceal = 0 -let g:vim_markdown_conceal_code_blocks = 0 diff --git a/config/nvim/plugin/settings/vimmail.vim b/config/nvim/plugin/settings/vimmail.vim deleted file mode 100644 index 1539c308..00000000 --- a/config/nvim/plugin/settings/vimmail.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Complete emails address in every files -set completefunc=vimmail#contacts#CompleteAddr diff --git a/config/nvim/plugin/settings/vimwiki.vim b/config/nvim/plugin/settings/vimwiki.vim deleted file mode 100644 index 68ae7bed..00000000 --- a/config/nvim/plugin/settings/vimwiki.vim +++ /dev/null @@ -1,30 +0,0 @@ -" VimWiKi -" https://github.com/vimwiki/vimwiki/issues/95 - -" Do not use vimwiki type globally on all .md files -let g:vimwiki_global_ext = 0 -let g:vimwiki_folding = '' -" Do not conceal links -let g:vimwiki_url_maxsave = 0 - -" <Leader>wt to start -" <Leader>ww to start -" ~/GoogleDrive/wiki/: work -" ~/wiki/: perso/home -let wiki_work = {} -let wiki_work.path = '~/wiki_work/' -let wiki_work.syntax = 'markdown' -let wiki_work.index = 'README' -let wiki_work.ext = '.md' - -let wiki_home = {} -let wiki_home.path = '~/repos/wiki/' -let wiki_home.syntax = 'markdown' -let wiki_home.index = 'README' -let wiki_home.ext = '.md' - -let g:vimwiki_list = [wiki_work, wiki_home] - -" Keep using Tab for completion -:nmap <Leader>wn <Plug>VimwikiNextLink -:nmap <Leader>wp <Plug>VimwikiPrevLink diff --git a/config/nvim/snippets/rip-vim-puppet.snippets b/config/nvim/snippets/rip-vim-puppet.snippets deleted file mode 100644 index 2e451e41..00000000 --- a/config/nvim/snippets/rip-vim-puppet.snippets +++ /dev/null @@ -1,244 +0,0 @@ -# Snippets for use with VIM and http://www.vim.org/scripts/script.php?script_id=2540 -# -# Please contact R.I.Pienaar <rip@devco.net> for additions and feedback, -# see it in action @ http://www.devco.net/archives/2009/09/22/vim_and_puppet.php - -# Header to match http://docs.puppetlabs.com/guides/style_guide.html#puppet-doc -snippet classheader - # == Class: ${1:`vim_snippets#Filename(expand('%:p:s?.*modules/??:h:h'), 'name')`} - # - # ${2:Full description of class $1 here} - # - # === Parameters - # - # Document parameters here. - # - # [*parameter1*] - # Explanation of what this parameter affects and what it defaults to. - # e.g. "Specify one or more upstream ntp servers as an array." - # - # === Variables - # - # Here you should define a list of variables that this module would require. - # - # [*variable1*] - # Explanation of how this variable affects the funtion of this class and - # if it has a default. e.g. "The parameter enc_ntp_servers must be set by the - # External Node Classifier as a comma separated list of hostnames." - # - # === Examples - # - # class { '$1': - # parameter1 => [ 'just', 'an', 'example', ] - # } - # - # === Authors - # - # `g:snips_author` <`g:snips_email`> - # - # === Copyright - # - # Copyright `strftime("%Y")` `g:snips_author` - # - class $1 (${3}){ - ${4} - } - -snippet defheader - # == Define: ${1:`vim_snippets#Filename(expand('%:p:s?.*modules/??:r:s?/manifests/?::?'), 'name')`} - # - # ${2:Full description of defined resource type $1 here} - # - # === Parameters - # - # Document parameters here - # - # [*namevar*] - # If there is a parameter that defaults to the value of the title string - # when not explicitly set, you must always say so. This parameter can be - # referred to as a "namevar," since it's functionally equivalent to the - # namevar of a core resource type. - # - # [*basedir*] - # Description of this variable. For example, "This parameter sets the - # base directory for this resource type. It should not contain a trailing - # slash." - # - # === Examples - # - # Provide some examples on how to use this type: - # - # $1 { 'namevar': - # basedir => '/tmp/src', - # } - # - # === Authors - # - # `g:snips_author` <`g:snips_email`> - # - # === Copyright - # - # Copyright `strftime("%Y")` `g:snips_author` - # - define $1(${3}) { - ${4} - } - -# Language Constructs -snippet class - class ${1:`vim_snippets#Filename('', 'name')`} { - ${0} - } -snippet node - node "${1:`vim_snippets#Filename('', 'fqdn')`}" { - ${0} - } -snippet case - case $${1:variable} { - default: { ${0} } - } -snippet ife - if $${1:variable} { - ${2} - } else { - ${0} - } -snippet if - if $${1:variable} { - ${0} - } -snippet el - else { - ${0} - } -snippet ? - ? { - '${1}' => ${0} - } -# -# blocks etc and general syntax sugar -snippet [ - [ ${1} ] -snippet > - ${1} => ${0} -snippet p: - "puppet://puppet/${1:module name}/${0:file name}" -# -# Functions -snippet alert - alert("${1:message}") -snippet crit - crit("${1:message}") -snippet debug - debug("${1:message}") -snippet defined - defined(${1:Resource}["${2:name}"]) -snippet emerg - emerg("${1:message}") -snippet extlookup Simple extlookup - extlookup("${1:variable}") -snippet extlookup Extlookup with defaults - extlookup("${1:variable}", "${2:default}") -snippet extlookup Extlookup with defaults and custom data file - extlookup("${1:variable}", "${2:default}", "${3:data source}") -snippet fail - fail("${1:message}") -snippet info - info("${1:message}") -snippet inline_template - inline_template("<%= ${1} %>") -snippet notice - notice("${1:message}") -snippet realize - realize(${1:Resource}[${2:name}]) -snippet regsubst - regsubst(${1:hay stack}, ${2:needle}, "${3:replacement}") -snippet inc - include ${1:classname} -snippet split - split(${1:hay stack}, "${2:patten}") -snippet versioncmp - versioncmp("${1:version}", "${2:version}") -snippet warning - warning("${1:message}") -# -# Types -snippet cron - cron{ "${1:name}": - command => "${2}", - user => "${3:root}", - ${4} => ${0} - } - -snippet exec - exec{ "${1:name}": - command => "${2:$1}", - user => "${3:root}", - ${4} => ${0} - } - -snippet user - user{ "${1:user}": - comment => "${2:$1}", - ensure => present, - managehome => true, - home => "${0:/home/$1}" - } - -snippet group - group{ "${1:group}": - ensure => ${0:present} - } - -snippet host - host{ "${1:hostname}": - ip => ${0:127.0.0.1} - } - -snippet mailalias - mailalias{ "${1:localpart}": - recipient => "${0:recipient}" - } - -snippet mount - mount{ "${1:destination path}": - ensure => ${2:mounted}, - device => "${0:device name or path}" - } - -snippet package - package{ "${1:package name}": - ensure => ${0:present} - } - -snippet yumrepo - yumrepo{ "${1:repo name}": - descr => "${2:$1}", - enabled => ${0:1} - } - -snippet define - define ${1} (${2}) { - ${0} - } - -snippet service - service { '${1:service}' : - ensure => running, - enable => true, - require => [ Package['${2:package}'], File['${3:file}'], ], - subscribe => [ File['${4:configfile1}'], File['${5:configfile2}'], Package['${6:package}'], ] - } - -snippet file - file { '${1:filename}' : - ensure => ${2:present}, - owner => '${3:root}', - group => '${4:root}', - mode => '${5:0644}', - source => 'puppet:///modules/${6:module}/${7:source}', - content => template('/etc/puppet/templates/${8:template}'), - alias => '${9:alias}', - require => [ Package['${10:package}'], File['${11:file}'], ], - } - diff --git a/config/nvim/spell/en.utf-8.add b/config/nvim/spell/en.utf-8.add deleted file mode 100644 index 0b182d5e..00000000 --- a/config/nvim/spell/en.utf-8.add +++ /dev/null @@ -1,316 +0,0 @@ -mcollective -LDAP -gnubila -DNS -ldap -VMs -IPs -debian -pcsv -VM -linuxmint -hiera -Systray -Modelines -OpenManage -debmirror -XenServer -Gentoo -https -www -virtualbox -org -ExtPack -VirtualBox -nginx -startssl -abidec -Liferay -hieradata -plugins -plugin -LFC -kinesis -ergodox -massdrop -gnúbila -LFN -lfn -sfn -Issoire -Riolette -gitlab -PostgreSQL -GeeksPhone -tarball -Cunlhat -DataCloud -FedCloud -OpenStack -OPIE -e-infrastructure -Gergely -middleware -OpenNebula -Ubuntu -CentOS -workflow -portlet -portlets -Hadoop -versioned -EGI -OCCI -webinar -ENVRI -EUDAT -GitHub -udocker -Onedata -CMDB -screenshot -GOCDB -IdP -SAML -PanCancer -ICGC -PCAWG -CheckIn -RCauth -Perun -EOSC -VOMS -LoA -OIDC -IdM -Moodle -Synnefo -X509 -VO -SLA -AppDB -tarballs -metadata -FedCloud's -API -UPV's -VRE -PaaS -OpenID -DockerHub -NGI -CLIs -APIs -BitDefender -smartphones -centralement -persistency -backend -Onedock -Fairshare -Orchent -FASS -CLI -IaaS -Zdenek -OpenVPN -OCCI-based -cloudkeeper -Boursorama -FZF -Rollout -Milos -Onezone -Oneprovider -Oneclient -DataHub -Oneproviders -SSO -CEPH -POSIX -CYFRONET -AAI -CDMI -Pre-staging -pre-staging -PID -docker-compose -IOPS -vCPU -SSD -reStructuredText -travis -eXtreme-DataCloud -EPEL -changelog -GGUS -GoeGrid -dotfiles -Pomodoro -EOSC-hub -psychometrician -Terraform -libvirt -Ansible -testinfra -eduTEAMS -B2SAFE -PaNOSC -DOIs -B2DROP -wrt -EISCAT -OpenCoasts -GEANT -umbrellaid -Shibboleth-based -e-infrastructures -CESNET -Jupyter -dCache -FTS -STFC -dynafed -frontend -B2HANDLE -B2FIND -WP6 -comanage -perun -AARC -CLARIN -Helpdesk -oauth -oauth2 -PoC -helpdesk -SRR -AuthZ -AuthN -WLCG -UI -SRM -JSON -BDII -DPM -GitLab -GridFTP -XrootD -StoRM -Networking -Pomodone -Asana -DigitalTrust -Jira -IMS -KPI -Inbox -INFN-TORINO -GDPR -Bitwarden -ssl -GLPI -JCAD -NIST -Keybase -Catania -INFN-CATANIA-STACK -egi -v2 -v3 -vo -openstack -Kubernetes -admins -XDC -Sirtfi -DocDB -XSS -CINES -IGTF -MSI -Optix -MAG341CQ -BENQ -EX3501R -www -UltraWide -QHD -C34H890 -workshop -FAIRsFAIR -SPG -Logitech -Snipe-it -KPIs -eiscat -D10 -EOSC-related -on-boarding -CSIRT -EGEE -ENISA -AFAICS -Arjen -Catalin -DPA -SDTP -TLP -BitWarden -Guix -WP3 -EAP -Rucio -DPO -jira -Sectigo -eScience -TCS -Terena -Globus -eduroam -INFRAEOSC-07-A1 -IEC -gwarf -ISM4 -Wordpress -MyDrive -CoCo -AHM -AUP -Fairphone -Xiaomi -workplan -Scaleway -scaleway -Hostname -Firstheberg -firstheberg -Openmptcprouter -openmptcprouter -Kimsufi -OVH -checkbox -checkboxes -Coronavirus -misconfigured -digicert -Sysadmin -iPhone -VESPA-Cloud -eosc-dih -RDM -WS-PGRADE -GOCB -url -whitelist -IRTF -EOP -SPB -site-level -COVID-19 -TOMs -EUGRIDPMA -TAGPMA -SMS -smartphone diff --git a/config/nvim/spell/en.utf-8.add.spl b/config/nvim/spell/en.utf-8.add.spl deleted file mode 100644 index 42cf0e8d3329eb0ffb34a871aa405b96b0ad1f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4222 zcmY*cOOG5^6|Q@$=Rt_Xf_RV@V@ADkYeY*PPdi{~P&DrLJis&4>9IXlV=UFHyK1Ih zuBz_ou>{Tn1RmIVgm)~mh}dM4C;|~hS)hmoOLqJK6d|!<0aAqE`_8S2lvt^$y7%03 zzVn^e?T5R2Wgf)w&Hq`};?7ma_55Ho4x{6fI7zeoX;D^_>FMm*YmV!W!Za_+iH-`T z8%kML%Ttl^RiHd&sRZvSS39M0@a~C3DbGZeSaDShS*>-HYuzZ7eg}tfVCbr2Y~XE> z;;1MYIGP6XN`-tGrhGh`zv=ivlr;dQRE5gqbbe`g=*wvzW+)xt3x6+0fN}!;2AmIR zthQ>ft*5He{wcOcB0_I?xWM5;d`kfsNGJF#VUZgUI8I()2bM63ldPPasg4TO_tb4U zdqY*q(XrU`#oDnv-%IQ?FJUh$M2<X>kwh#*X{X|PD+E+Q(W<mV++%#k#@o)A-e@<% z=S*7=-!Onv<6keZ9V{M2L~1-uf!!Ad0+k!Z9lAzSZo^B8si4V#hV+m5)d`@VUsEV4 zpa5$F#?V)7wI=enMZH=sAQ!`Xp=D5kM|!8OW?x%#ydc8C9unzHG#F;Q@Y0)eQT$|r z!;&r+p>lPU7+sxIY>T#G23(Q$D#5R=FbXkfCNxR0VP!K37ov*k^2BGr3*E-jA42HP zKyoe&s;mUW2&W;p5!iUP96l00jMF3Ty&JsVcKmS!@JRX@j-=w71B1q}hrdjVK;nS3 zr-ocjbWy>S@X=vx`KA^U4KgSJaovCtPd4=9N=H-U1b{%`y~3nEBv2-8+ZQM5Xm&y< zjB!#@<vb8RtX2$qG6Y8|qBDc;2s@I27oPSRQ?<;DW(0G5={V8rmAa*F(Bvm;Iwz$P zgdw>j?lxp;NbrB)%{u`qAK|Q?X$dPzP$Qp1W3`{^QJn>!L~_RJGtE2+Hd2sP1Rkyf z1sS9xF8(jn7=&mj5xBoKH86V355`fPX2s-G09&o1;RLB<!*YsrF0ovjzDS`@Tput` zNDy!iB<Fe)6r3<f)?Ao+M`vW2EU2Hjdh#d0sPmyiSMBj1wHHVXT!=jJp;8L=JQDgO zJAPK-oknKRD!ZN090<xPiGl%>14xeVK*DP;Nm8OUSmYIkl1i9hok3MUF+ttPzwUSl zy0sdN@$9h=7fdd-Aabi?VjD7FhjhaJcBNf{vVW0j5Y%Rwn7FZm9K?})*U@dAfGOsI zu#JRw055}t2e}*SyLgI~p;UP<hb{Z9khTbcwh~it9bsJmD{6RA$qI%{%NH)}C4Q+N zWbpnBrcG}z8bOp#u;3cueyNibh9@X1oE<P@MfHX-d&Ggk^k6e&QmE$v8b2BvmFveu z#tDSi)OJTHS`}peMlFnoec(Xz42g`@Z$?6ygB~JqB+m!o0vnVhLwTmhrCLWDU#pAY zDX`ERQ&H?4G5&GXnaHbbiZ?>BKk#iorZo3YWlc$oSI;xZGqKrm#=rx#ONI6`2*y}a zR-=?S?E7L&9KV>_NPQ?j#nA$pUdL*{4yYSY@f)5|%O&tf7|D45))dM)D>)H5H(`~c z?V4)+OW}3Z*KO7u8DwSBn)*)K@cbM~|NcxMF;?nTsvU9sxH5DMPJ{|h1EzC<k;ssh zc7T&ZbOZb6l}hIk4eLBg(sC+BXjLs>h~=O_669hGlpfN8#1b*h*-Pl5z%>B?C>WaD zWsK~{CseVKYih>qQ`TG%E+TAT?p73MMF||Ji&T5`O1S*kGifyRv{QmaoNSq)HU)5` zYJ`1SPK|FJ_6d85W0Ls+hc;8NYz;9QIq}g|>1-cY5PQ48NrstHXxye*&7?yxd!N$U zkOG%QXH?p6q)2>E8WvkC2Z*^Msm~-0ZiPbL7OyufCUQenp<v~h`*PX<P(21ep8+0? ziEN+9%r!y1qCD|N-#{+`Tk6lF5Mk0Wu65`p6@AvfPP9{q0+Y4&(ixPI7<P3Wy22#T zJ%-F=y}eC;TuCBhIE1Gz0GBuizyqJt57GG%F}6kd)NFNP?LeZ%n_GnxFwI-P#U{mj zNgK!1E2-3$OF`*#W-b>pr`Z%cF}E_g<*bfaAZ((_n*V}&u{TU~TEYd%tnCqPHh#sf zjJ^LP^Z2xS%pcu@CjB7ewAJsA3-N*ps5fIRd1ZwGhvEn%i{=3vw7CX=+Jt-1?M)Y4 z0&C$ah&r18g2CcI!rEYhvkZiKbb=M0IE4o6T==lZv}eeqG~SI&2V1zlh<(&B9_!`; zb(Ek<Y1~QK?yVs%7$tn>6%flv+*~y1zqX-~R}$WhSmr?acxLmq!7;KJgmDIhxILAp z*f(uOq1;SUG!02zA)9mm@K7tbMX^%Jq<UW3BMf^Iw75*w>NCDKJ~j9Abpm@6G0deF z=#j>KoKBq1-@>0&WVYNMN^|8H+?F&m&D#2S3eeQr_;G^2e6!9OG;@iW%LB{Ozq`75 zr`x-`wY~epdwU1{!QuS}504&E@6_&Nvh0Es3jlgN-Mj-T1Y2{TpF@2!YV@{t4%I*% zh(I3)_T{aoHu2U|_vGs?zHnl13m1pp5fFUkmqC+3G`|d}Hl3&E*X|tzVTS3kbNM5n zc|$#f{vH^SLE5CdRc-kYO8J`vC(~Wk6{{J8bnU>wJi=Jf-5pTP7D*$1{nwQS#i<jk z`v6hjeVeFHcBod*TrlwZ(T;uaXr>OKyv?nTLX&Itz45~UvyOK^gKYqleQ0H-TFn!^ z836hKY;GAU{=JJxbZbDq%$Swy4Rk6hr5pOE=%`|6M>zaFFBRKB2z?)#ThkWbzkh#@ z!C2`ZIzE&Sp#Cm65t#MmL%46QsXf8c;q#^Z7Hsa}wb|#wwZ6%a=BC~}gB>%s4Ucbw zbM{vGQPT``HwW@vgu#V_IQvgFs&u}K*Y57#{^3KYV)w%L3Yj&7O1<DU^2?Fbl%xM8 zOOR{sV>;S&<fW4ed@gojr=CErgrnKznBm<qfQN6($$KJHH}__U{R}Md_@2p)l|9{$ zkvdpfxsGjS+Y#JBV!!b1yIkIjpso+<*f6d4yO6mo`a3l*Gu3A_n#|4Sn;LB_#hJR+ zTn=Zcux=%AJkcK7hmUw$zx?5#Ua;vCy!kEA0}?hhy~62qAAyrlz1#y9)5_HgcHKic V_0@TGAM1efml^CC3LjYf@BhBw>uCT0 diff --git a/config/nvim/spell/en.utf-8.spl b/config/nvim/spell/en.utf-8.spl deleted file mode 100644 index a41bf79b51444bc80834cee558ea6619967edff4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570549 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%0DAK=4&6+Q2^p$_+l51mM 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�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�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 VTJrGFqr4x?(Cwe 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 D<<Hfv diff --git a/config/nvim/spell/en.utf-8.sug b/config/nvim/spell/en.utf-8.sug deleted file mode 100644 index b82667d58633f9a35fefe3d73fca2daecf905cc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 556477 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ℑKVWJcGA`|e@-COP49!7gEwl8M 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 BnffD8ZFM^_3d`$2zzE7XAEOqD zQIh*IKQWDvOl4;qC4MDAey;`$kNzD7-~-HI$e73~(P~zum8>~qG2D!Kkuq81XSVd= z3ARVm@OjOPxvQ`u#S_<T9SBdv2V8v2T&5@7>1<UquB3*bnIn?SXpF}~jFXX|=zbKx zsFh&?&NgA0onau#E9FRhw#8v_X)qv?p7#_|-0?yT9*(60v2i8m9UhIvUc8kc%hOg% zp@VSy`!n-k`x~Y{j0eo5(>UL8YC%YK;}S*s7Y80NzD<BDP?Ka&B#lPuJU5@JG-Ypa z*H8E`jE-Ya_5-b1c5qp!9nZGnHcvJyypYc{Yjw5k4>xW+dNWl_N39;~Zm0tqk<wmQ z!cIntMs2x`c+UN6rf8V>xdKUt+j0fD*^_m}JeY?~dtDb|v<~4UZTF;v0wwy8n8^vo zF|(>n%?Kez@z^QI$UW|NlTh-5hQLD%0>qh^;IrX|*I9~hWKRR`k~(XljwF4DS0)<g z3#5hGo~X<SuVr2tiL@i`5?p(yoijno`F1itJA5e@&M49Iql`y}YiLE}mB>~(4qnE8 zm3Vg?=3YwD%-L4TS!Y;@zvHp-n&x<#e6E<z>N6&Lj1kqa#V6c6b7Hv{;$ciWEuDX) zOy&+!<be_72Y)9|`p?wGLmt@(iVQYD$2Us-Z_D8)A`i}#_y~N#3!@nb^Rgm^V>3B> ze#OGH;}~`7u@KP}J%e87+HqE*>FXgno(09)F5W7WBP55ZnDwDid}1sU2EO&?a7DOD zI}ELf;F644t&^QiJQ*s4B>OFh%r<@-!Ilsw_Z=2la&aQ|4a0g2hpu2#2#po`V-|rC zT8-WQ>Vjs1RvDxxq!>dTV}UoUA#1bjmiKayZc(Ndq=E)`$)cRX*P;g++~^DKLs?KG z#()fNI(aOr4E9~~s-#J|je^qT?Iv_Q*8O#j#Fr+>pb=DaPA1q)Q_&1F><G#<T%7Y) z2dv65#vxkEbmR@qeALRVV19ALK?mViFeBowq{QAHl0URQAf(YPk_C{eBq{x27+o<Z zF(sLUw1EkhWy|@t3*_S@u`LD-2T+Bpj4FxPdapm2AlbziPmjIWxF7l;A}b1FOuL^K z#HHQOblF9#&oYL-xHDUp(MrUnY?ah;5N~Y{YK|LZP^)EbH4mBjA!zwK8ORLZaYj4| zi^pQ~&%V<;rqaZB&4#)r)2^Z_V6;QiG}_p|fh#^vv|5}S%=e&<|M)zZ9#~o!`vJ)L zPXgeak<-QIprBNCFlhos4#X*Mk>+0k+-NX^k;P}YSuNsG!oNc2RfGh1yv5>i9=wGC zl4*!%?bG)4(P2}yd7)QUY_$(m<~HX!rA-iWH$eeu`N*e#-dPeN0j^@PUjlH~|^& z(k|h5-e7}UmZo|XHySa1l5`bbWAVka<5Sc`6{9cNKa01Vk8It=GM;S_$%=;|ae{!D z<EKU8jl^2SYn{?X5WnURAycm{{tLM+8X91HVBCEP&j&u^cKSQu3pnRAH6!IeorkqF zTp3na(_%0c#zW6#amp>2iwH_6VqZZLzylM<XyV`s4|nl=6Q-%>3j|rhfh+2P$ikt< znw8vGx6@BpxO=&&Yt_GkHxO^(GwE5b%wNcDj2kTYR(1`<v70J&P+2I)aYojau;Q!H zDFPF?DnqhJYUwNPe_%l>#7|qbVI;Ga+jJ;*zb=OoTRgQkC=PEuEd>S2!u)uV|3R)t zIzU1_S<Pvj(n8<j!7#L??8(^R5miLDNQ3*$G$}Vb-cN`QWuC7#V@f90#xXa~KgV=1 zIx$;1>fE=G&oWnNhTpx=nOCWp>M6maFg_0mS;yH8+gIWzS1h$Q7iV}1)vx;qI0K_s z97~>;T9XN>tvG{1QQ<hF>5<5W(KM1v9Ol?mdI%Z-Jsn*wLvgypnar7<$}%=(_np(( ze3tWsxiU(OJeoZp;$P>t;i+(LD9@Vs*-9wv!CG?Do>TES{p5I&mNMu{H+NSfLmJF0 zQqk{R$y%Mc%Q;25VTVjnW;h*i#xpYsQ&O2F^|UMtc|p!zWBH`xBHYxR2{%HQ@SxjJ zv&m59l}1qpL@D=oosBY%sFPl(mW#rB>1x>r2F|iL4)6RWiACZJr_wDhZqOcXF{U<W zB<Y|cOU(FevIjOfXCa8oSVl<e@j2HlWj6<0oW~jssF0-rCTDRqK~?LR6hz66^AA@U zTdWIphz%PTU*3_jal%QMASjJ9lCdeX44Hao%zK0?tjkU&Nom~mvg<(7(FEcnJcko~ zEys-sVM0e>JY3n@YZ)piVLUj)4y{7%^|&NvD!Aeq6*@B#uQ#_y37AiwKVuN#oQ2i| zXE=*ph%8yesGsud|9%+9foD)MYEcd^t(ZMuEK)S=R?u$}clnnwrQbIHE(sb+Jr@%% zjDHF2;Mz9+B#ADNvd+{go<Yg32~P)5ZB86qB3Y#FkZnShB8uh+#fb3%T@pEC@vYX6 z1x1S4??5mivpraOs>F$A=3Xz39oQXgBPW8qh-pZBoas+=pUZbCEpgr&?;^YPJ^zMr zh6wMV<g9Nz@{leQo|W!lim1C>yn$xYmkY_7k~D^@=;u$=;jf#Q3F&yKm8QXgj&F0j zGTYVs*Q*!Uj`K1Wsz`owh+Psnfz7cjQ$OL3O+GTiO9qk@6fp@UhQ^}t($#9o>IpPV zlhQy{dUR4Xaj=57qQ=x2e|Riye>bBl5#)pp!EYF%DC{MsJ+aO(scq6jxkJUgE%oBO z+G7k8Tr%OyD|VUBoWXS9?cgJ%vS|vFBV4FvlbYhVn->X7IWh}>Wnmb1lUkzcZ5IQj zUI9Nfqh5yWt&OdF;u>5E1uKLk8;{kmEzU#gCzv!i^Y9Di;Q`E7ojF3(CJtrOwrpav z9fE_0%0btOlSr1wVX3uZ8=0KVE4f8*hck_YlhM;eFC`Vj)etd}6mM^=6B$A|Y*H;Q zo=^2Q`oS|}#xm}({~f%{r84Cyp=xlUa1oxB;|bVn|K;Wsdu|VrE{p>#U*g6|H4@R4 z-b_<G@Mq3f+(4;}o^;POB8~h6N*bCO3eL9CK6c6~XQ}2bnl`Vvfda_Ui5&*?ftj<1 zqi`foQ4TToX)mf!QS(GhlHR<GAnPQ~w9t73^=C>{bmFi}j{?Pok}^3izBFFI+H4FB z?j`wtjtE39aXmz>CmvXELcskho9%eys|;W~&_Xsi@ssD~dcd1Io{33J(>!rT4Y8Gf z_$lX}ynA?mp0pGkc3gpcVCaF&B-)_k3e)Nox-}+?_v_Z;{`!A53ZBI`1VKSMw{Q5H zi!{;`8G9?S_^Hk?Fng=A#ukStqdGu;EyzhJ!27flvZ#-v#91S{GWQN9GJj)f)SVob zkaZHBhZu1Vp@PR{hjd<AwsKn@49rXZMO(0@P#NCC29~W${rDoDJ{jvzqZhd@#`(Z6 zW$qYZ(}+-vzY*7yQFHsFc=)xYAJ_o0zE$g02~Gw-$b9Z+ZsjdyD)wZ*cJ0vQvP6(_ zj%wv%j)iO8^)fu^%G=6xWvcCgGg%l5D0Q~^3thHYbT2&-$vY7Tjm>>tYQ|N^;4M15 zN<q|2LmZ99Ds9C9ft;LcnvvLci4_RLk~*+(mD^xtrH7t2PhcJ#z4b!pxUmYvTV|W2 z_Ui=cNh}~;!A>dbTYkl=E1W@`-3&f0*NA(AW#II-`Mi6=65hd;M|1gu`eX1^tpwj_ zG**8-cns7aYA3g&VS7*TB8ytTqLw(SjX#s9m7v+VnDJO|C6{fcjYN|koR}oi{ZO^} zCcJ<L0mya!MrcXQ%Xf9dq}wDbe#|aA;M9Mimk?ejcFGN{$8W_Z%~>Q-+8STLSk-Mf z>x&Ji8-?n}y!Q%c>8+u~eQyci>n=lrj7VlzBL0A7?!BvpR&WX_9_YI{pe8hAs?pYE z<QWPY^?H66`ya7JTZl0ai6w|m8HV>b;wtc=agqx(s4*-k8y#SyKv&&}tY@NuN`-M+ z^f8%DPw&N+ju-5vagB%^<ET?zf8I}qViV-T<zvaIph>Wzc7lvO$)OX*Fy#Xi&16FK z4mso{i?<X@+o$Ru_Yu$ffo?J?Sc2mPw?M5jZWCL>W^H9s*d!n4DRvxBUVxM^`U|c1 zoyF4gZuT@{cT0TEvr|H9DU;c)rCJ*g7`&WZe6Ko+_0#$Yl4di3=@!njb!?JxOtcEK zDr`26F#;m6ZLTngj0cmjH?Xpc(7%XJZeRbyv)Qz1Qz_(sOPSF*bbq9@ca;Pft*Wgi z=5+Odn6obj8q#m$;nLgb5lM@HCYU8`yvn%3-hUaS@W-fgQbU6?erue(5)PMl7u&)Y z-pMS93XB+Hlyw%(v{k)wFEh6=9a@R7+64W`G2pVc8O*N|jJZw+RTf3w6e%Oa`d0Fi zT1d4_6stZE!6Pmjp?Xys_!Upg;X~2g;R{5si2jz{S|?C=h*q2#X)TV@yz%@ca3)c3 z7#uwg(y`1_d3Z-cZ%Y?eD1qOa(>xXiISHS^ZK>TORh+Dy%{80DR0^R4vi(R?;I|Oh zkl{+e;Jblx%A#1vTB<C$O54YDsX>W4k)kX98GE`aoOM)qlcWS8CFx;!Gg%%=?}F`B z4kQGf20SPB|D@i?1$F`}XR<lC>{+FXqRKR{w-Dxnq`E70@}!~=a3UUFqc-Kp0v#fm zGd&G5?nM$;3O1pE|7;ctkfUjm=5PBaA56#W&9s`cmpw@-`#C@E$v%5gpB^niir#Lo z+E~V$Ad(SuZ6_=&Wfg+Edp+A}ysNNB5W19wGt2lBiJ=bhw=(Urjf*jCJejl94fE8k z&>j`hF+he_6AYxY1x!cg5ZyBZr8s9UgH;ddTIAtH+Deb9%Uol+g~DZI8an&`i7*|3 zxe+pv!__~lRI?W6NOxeY`i-}u5G?RzQR5Law@p6oE$R^GuVEp&-LdXFrClRsbK~GX z%qAHyB+R76JXHI_Cy}cJU0u=(Npzo*ZA|8?Zsz8*PH@G!JX~nVn!0kdwvw>~wtz3Z zu0qV5pnwSi$g56$p!)Semsua6E!$!|UilH4hqva~3td`uN)$Zm$Mdct;1=(e9E2@v zKFQL=b8^LzX4C+*ofUNMbLC;iXD&*x?%`K_JPrQDr873s;TjsQl=%3xcO?(?P>MLw zV}_=vU1auP6NOD8Q^Z-J+d=C#C^BitB{W*BrE%IUbHIc+Ay0|Qu*KMes30~76EhGS zpmAqP9eZ<=O-1=ZB218V8~9#d!8S00X~rMpzq;n3R*15$YW1@jW1w0cpK#w>cK`Hp zM+FLGxr+=PT;v&sfw&|a7kWj(X`=ZsmeJ#C1z>MFMx<;Cb6+)GXka`qGCZ&<kKM!= zwahLJztHj6kgZe?mt<!E)BHtmfKDWCMyHy)h$Vr>Dq?k~1Z_S@B}M!Wya@<msNt<j zv{yJ(^tzW;$*}*hZs5Uq#0fd<w?gUY5Y+O2Z|Ej^Ak~3ps|0Sktm_+!nL_?Cnfpc< zo8>z;*U=sm*&<Dp?Sahs!$=G7LlRALE9Iag={1n660tOu8zWw^FJ>weOh$YaKNMz{ z0T^Qgdlvc#eal8AvV*x91rr$cwqwM{5@?5A61dhFI}~H`oO70f;5ra)<1{iU;)NCW z;dJ~|yrSM5Hhx28Mi*h*OmRf;sM1ExCt4;W1MuR-Z_4l@wdLrOgg*+D;4MUiW9>~b z_3!)zDkC!AYAk)+YVeui46caE8Xz=fvaz^<^9GJ+2ux>)OJ_TPx1gm{s7KaG?h_4J zyki>ov^mvU$ZecQlQ24^8^vqSRD^<b=wU5HWU`))p_7_2=cxjn@hO|cnm*u9bpRLC zusY($e#AhvRG*V4QugQ5(s24}12LDGuvi63+h=sLanME}aYYRBMjSx7wyacl98rZ% z+rYvl@1;p*AT%)tNT1-iaat`Q66W?4p=7~>Auuk>SUtE^mg;YU#N%|M{KPD5{06L} zATm*rhQ}rtmvfL~!Mq4MK?1VTokuw2dpu{tkA=qKx`}qO@z>$4Fz<{dQ!r5|inPTW zp4?kYXhrBjR=cd$$d7n-*j<A0)!Urc=G7ld9CdK;9_R^JX043K+@abO(G3%NArHMe z)Uu_FqlS?=oBwgEJ%#rEE|cc`9_q8oKJHY(v7xGjEKq;3ypvWKSy0M?(woWTkF`*h z&zzeX7x+%4hft%=H)+k;DCy8dw!hY4Nj^^QX?)z<Y&ym5kStlN)7@k9gsrieGryB# zk7Qi+4ozZCu`U-x3v(qZn9>CmOiZ@mD@H=CNnip!3|yH2U!|Ngb2gJ(|2|w5U2T|X z;$-a{VM$3Lbzd*5$Az`kvuJu!Yl(b}%Bua#PZP*BezyL7j9w28Lx+BX-jLJ&fMqQ# zPQ~6bLXS+aM;kI6r!&2i<C!OBxXd^s>?MYbh;q?Kj6mRerQa6M(5PZ@GGmTI7hE<% zty->+uH=!NmD$8iYpnWsRb^y&DM`!hJza&Da8v>ZCYrtuheqo1thi1Ml}Wf|sBpWS z`&}o8YswPRQz*H=gi}j((oN``JFO0{Z(9pDn20>F=X$f%svUYpgH7Ovm}xLcn4Y<_ zJws2|SjwTbG?Wo;4!Os=JvQ3nXqPin4cCZ>)CoWpk>*@WMt8Rq(3c3ZoO|SB*^Cfw zVd?FJy*YF?6jT!t3G_o!roGGlBPhQZ8AZGAyNw$%TYaG%fOvbK|Mq}bq5b>Z$|YeB zF1)^ikI#6%9k&EhY$_(Sc=*;GJ8(1x9vhPn@dtul<eRG7j$I$om_Qh5LQ`UjD3|kh zN?5AnNk_0Ol4bT@m<AGw0<R;FN)5HwMR$^qq&wq+0UfQ@hVZsX^!QlSkWXg7B3>?9 zNzD@s8anad6-pEmR;Rs@)bWCDCI=Zy@2J9Fp{#aoS-|p@&#OIiz)Cu~3mP#GFM?8} z?Eeg~%3GWy4mnBa1gM!#R0`pVAoXY$c)z616sB>1eWP=MGAwm)nW=2<fT4_AvmF>8 z<f&%rcF?IB5lQ>1BuN+U46L}<s4qw%)-Bt7ta}+lvGhDu+>nIUf^&6+UnD{*c>pz% zM236rr3-iK4(KveDr&WssGc!zO-3m+>ojAEJ6nA>Np_;B`MMhyr-}DEnk(}-vSp%F zChrHa%hZ&Xm7_Ak4mFys8S0fiMRDYw7R;%2?R#4|17yMq7dHVru1L^CjbD}XhT?^u zK`~Con%+I|K&H85#gxS62{C*9Cxa<(94pac#5+H(H69u+0+L4poP@;ovs96dZ0de* zY(6GvUh@N55mFSoH{H%zV@q&x;ByL1##v|!(|F%8uOZ4z%Y<CvA~b_rjbG6r-V~Ea z0X`l_jvDR!wRDIgR1{m`T%#26=_n$eHij5w{Z(!Y`Enm#^RcqJ^bf0&(G@%<_dYGQ z5PU(Xq4llmV$v>=y($-#(769$5pgdW*Sa)JB#KA?!IQTvmH8v%Q`zlTW_y!Fhe%w; zSjMf$64Soo_>llq8Pr7^7BfME62zZ44x@@n+<vM?a*-&2>yU_J!vpDFu6(!IqI9UV zGV3=dGx8JNlC<}aYUcfC=)CadpRiR8Yt{4ozPyi7W9EmYmJ;(hn~|y$f0!Qz*Xy*$ zkm(kaiP^4A)C^ONICq&^V3e-?w2-)%cFS<;96szPVqJE(PCXJQB4~A-spQObncNP3 zq20tQ3#&EP@sqa;NUhBu{5LIHlX0tjkg|UUFL<O)qL0Xt!#xMdCmw63t=9_vKUb4# zN2p5QhDnu_-kc3;Y{h<Ie5#ubixTeXM$CO`DaeqkZPKMiT=Y1EhQaBt-!kinM`N2z z&Y#&5F9wWFLUB_=W#rn*U}LyW<O;G?7owu6ZZqjQRb07)YO<$M<-ZvZxvMZq8Q)SZ z5!{5qK_x2kNYR+AZqrc#?{j_0B7YoKEs9&1XLeA-vxT0(>Sj|1-dTaiLGUnN69kKs z#qrxXei$W_rFvQ}iyTC^2%ECsSGS8+GgIwiR$o&eQ=udM(HqH9PTz_T^L8O8Iqg|j zxfrny+O56>iM%11)dNq3k1uGFnRTNpas9-*)$j{$sW^vBR1aI;UMk%7o6bXYd<LF% zQW^hs?AH}_(i_MQ6{Ha=bTO72!oxEi$c!UJswpI@Bm>lA$97?SaSgCeeTGk;>!YTH zR8w?rl~!iC7av83MC#D;U&whUjvGs%^=05EE_ExvVfH_lvDkD=yrr1C<f=0QFd;1i z)MfAK+`bGXV)v^!QvytJkpT_`g3}1!6*CG?arf80o8^1Y46!QYKxyot&4ntXFyqYT zpyIT5QI&Snk+ws3MxM@D>j|FXG2@srpiOxc$&w-!%+NYR@R)Een$x!NfU9H#7SNJ0 zUe-b{_+HdnuC<|J)f^3P@;D${bwOXn=R<*-x;vPPb)1y&8QChO{wf)ol2mY^6&=R9 zr+b}m9R9|Esy)KFiSv(HR2L8EEU8X~a6YwuRh>*anrZ8CUXA6EBUjS;fHON&jCkZB zXH&&rU3~9MT@#wpxDO_1g*!19h_B6QcfJ{B6$YN6+j(rQc7-61QOi}>7(x}2Ws(RN zIh9O>NQyFc!bPNrHx{1^u8E}?;$|@no5j5H3O_;iOow7WieoL=y5>bNf-4?aSVA(1 ziSrU}AjSifCe%}R*~Wx`&=Rm)tCz6?nKEU-(`k#T!xej)&QK<@u2Yl40CPW6f1(WG z$ub!4{KF-}BjZ->4=>73OjPzdCk&9javB78L);_6q-=3@8L`E39KBRZCt^?;%=xmw z&O0eYjXLfRayg8YhH|8^84Qq#o`0^ap$sEE&UnS#xQG!cCceI7$Z)MPV?wB_?<__F zul4iT#LWEiV{^z5k7;H?K)yy7dD~gD;MP}0%Mm7JIZ;*QrA2gsN=;TlL}J2Ypf1CN zpNr9~_~drBoy(o#shTLmgqm=c%#O+grHsd3W4P{lX5(c~3&)Fre>48ZsTV~;M<<(= z^s1d}w=-Ev$ZLX)7Mh5DZpwdUug(Rle@-Yv@XcGK%Sd?&MOq(VgKEVd%6}wDdG#ht zEv{JqJLL<(fZ0K-UWu6g@h&u;BBOL7OZEB7mN~!x+GxqK0yugXcz8kjvs;QmK?>b0 zYf4VtD^aaj#L1(l4DQ+A#n<Z~8xy{%wE<Gld`^j(L{yVEc4nl@<faI>eukNZVwCN4 z6LskmUl(Ir@JAdX0hbo<Ld_uz$Q1je;a-pTOnqiN?p3Q-*7wLNZeC-kV868@gv(-z zz$_e7UDiqdy#ExzZ<im~>{)ala__ieW=bF6gSOnsHpigP*#y!^CZ2VZ4!x>`X-GZy zx@!=VI22xPIQDH(cNqI7u?_~PUBK#xI9zd30MLGY7jA~p02AHC-g`z`$1$FHi&RPL zhcH|s#|}&ztoICPqYi84ezi;0#i)9*AVx%V&US-l-l|l@XkH(#kL1I+H42KbJ8MVX ze&$zV>3bd#vGIo|SiA0<5SDS{P*|T=ymDsDRJt;Igw{`jdvsva4EP>G3h9hmWh4!k z%1m)(ne@2k##xHO(&;_CSBI0KCLPha#tHhuY8h#V2?F4+fgVhh;m&w6)kQ7|#O`N@ zUh=raL}K+zC>a`Ks8po$72KV97~{BP(PlX=hLJ3krzau|)$y{SW401OA)bVkuSI1Q zxvHoUeU^j6k+tY@;%8LP7(&B@T|D}OTL8$DkZjb00|eX5gGM4$gXiNCGaXWt^tpC7 zDv7S+r_2e)y(xA(mh;3}ICG?Mn-WH;8l~#q(rWNJ56M}i^=gcZwK{uJHHCNN<z$Ac zn3eiXQU#rH#Fj2cIl_m|L^b&ZtdC5geb#uS(+ON%F{sW+e8Bt4sxi)`<=m4*vB>RH z<8bf8B??7zMT}x#O68Vvn~e%6442fA_ljB2A312`90zh^OyY9n<m<X`YV?Y5l&BWT z#C%E$1z+)B_I+yn2Nr^g*KGO{K^d!RW}hCOY^0#sor9@@gXj2TRV|X~1eq0#SN|uY zN8C)?IO#G$FiTc&5VFSXuMf|?y>n1P{SiPfYw}QZ;^Vk*kE~GiNKxg1D7a#0B`Ye5 z7FP8}U*XltJNAUDs~S&YpG#(a=*zr}r)?co_!C?xmW(&etOkb{`-Qv_EkpFj&^-@- zz2xIG%YKovGp$Ip{+ObPp&9Pt?Y?Sxf#>bhks8j-VEw7?@ceYk>2FzATg%TL(a4=> z)jT(_#r`>vlI2_x_{@Dd)ABW~QFC!esz%i*heDwhFVrcBj&K+K<j)M=bJc?SPGKGQ z(6<Fk0>9Z`XVxHh+htU-g({w;imiT&DjxSyY|X8J+bmq}Aot}r+$rB9*;v3$fN?%t zZou=SfMXUe#{q9q?EJm>;4(n}EL;ZhWguS$@a6JMT&~FEJO=}Y07d{t0<Hy&0*nTX z0bGad-pq2Rd`1;V-6eCE-0Z$R-RH|eu`mA*@D$)rz+ZsB0so*1`%(b-yKTgh390xq z%<@@F#^dhgoq%0{=K#+Go{VR<?HZ~$=vI756^E$eFjc&6q4lp=Zp9Z=afB*fLpG!E z!3%)hxE}+!9)Q|y8%-6@`P?P*vzCnZU5fV~13m$K2lxR1biMo|;3vQr_HT@%M*%+r zegXUnkcYqH<`2MQoZ>W^emzyZNEI$B^1LtALJ8KA>wT8{_QR-~`|?+SuL0lS$F`xk z`4sRO;B&xX+IR_V>`fc{WYETbwDHn(i#GP9jhE5J%lYFY_&JC+4yKJm@O6K{06gCJ z4&YsW|32U(;6wiL0qQa~9hY%d8h6=^e18+)ue*xYU5%`UxzTAzxK}E+ht^$R@H?#= z=A(7PeYElFbYFd+8y%BM6)z#dx@&3OXj(UlHjZuRMn|X8#%nSytG;FFk5PDdJsyr| zKpRIkK;9@~Agx1X$I-@{Y2yvF@kV5Fr8TcHZ5&S<C(y=QkZKaG8;n1<(#G2;6jmy4 z>n?i5-z<2OWi1#FI<MW?at}Rfg{NnxX4@yI;%Tbb#*I#Ok5}hro&dZ9Wbdf!F0rX% z7gan%6+8XF&E@V_2hik80DS?y83~sH`ccLH*aHKog5O>M=*e#`1YE>7-2pu)wvO3q zB4838uI&Uk56~G8ZUr!7tv#12-g1{Lz|UI%Xw@v*cn|8dtuFvvw=WHl0RYRm`_faX zZ4Y0%-&e1B8(*`*&bcesRiFQhTlA(6)G={J19$FNU&orMv*!(`_LN7?UF6(N&Qx-y z#g=ac`z`+(T)q5zz|Vm10N((90Q`u`tZ0EGD?0F9N5I+CsqAQMZgbqWq1CCD-nPQe zwt#kISCRc1*>8~j3fZq(WFIE`2-&ZbeUR)oQT-1AA5n*Eop(d8mcALo9>MkxvE}uf zq*AQ70RW<)7$p`r1T;da#Z3U!YT=R%I1A7e&<v0Rs8058Wd9UfepVy0PocO!$UYrg zp3}s#{AB+aTi&24*+0wcSaEH9P=~XuNA@pPY<X^4U5n21*-!a=u~qL=tZW~3mS42~ zA6ow}a;qeJ6WRaz$lgr$Bjlu!;{(k)DP;dc_Mc?`Wzjj-NN$T&`iA@42s$^`q&4@{ z+q7rmGz*s*fSG_<WJjm@+^63lrw*!c9pHMd%Q(Od08nwP_-4Q*zKpZ+XCR;-HyJ{+ z7)%-~9t41REbeP%=W>s|IK4U}sw)7bReTZPVmx+dHpbogfU5vk13+}eJpsJ{7x>9( zKwa$}v1RD(;_-k90Psw#coKE9?CtKhH1`7tt8M6gcN@ggwqM9DzZ?Ct`~(0jVQ(ON zBRTcSuDB((ymh!OIn~LjK~7C%at=9ME6_^uH2}!%V#w`c$n)aifMEd0_2O%h&H907 z#g?}T17A)C+24}=9XZ{6<Xl9~#dwxoy;Z9F^bYrAFLJ6`Iab>Y_vt4r_awN==}XR~ z_;VRKK#g+&_epnhnvlKr0e4RacT_!c29Pt5oI&JVNzM>*29q<CoU4%VETpj9QFX~_ z9my&^k>eKa@z-!aICjarSKYT;`S7nH*;~neg7(a+gPyw^DEKnAbslPcJKzogX7*ym z;G?GGv>>NBInBs9o1B*D@L4&4>VO)6nzU!;PvihWKubGv+LHqY>_E;aa@tgUoMX8~ zFIhfcme2j*sQbaWK3_)7G|16CGyeqq1vp(3g})2>+})V-`X!aGzas0IztuofZrwAZ zn0ol^9dqd-0?sa^UTJ~m6aX<@5XhszcyjL8Gh-Q}=QdP_tH%R0#))m<@h0f~CKG6y zV^x%-`rM)q+=*k;XmvGOokP=U2HiumXeP}j%&IsKxKB@WCr%^h!C0dY$$5yJhsjw% zPANGn@p=R~*N`)uoMGgQ#P2oal;mWPGm{*Y>Qs`m5kro%ft;oF$ysLAv#9J(D*KBZ z8yya&BBy|ydF0HmxX=A<usb)?E+i);KP-1{27cL3lKm9f|3mu6k^D(={)azLlk)^Q zGgcK=3t5RaI19*GM9yMzipW`*N=`93vwa;_U0*E(`Y$7A9XU~ay_THSRQ4~ePQj1+ z$+^#}SVGRdRM?5^ZT8VHxPAxO+kN&M78Rc7qr%R#p*C%(L-sDRpP_b*(i%e^Sbp@O z3g2E=S@wo3U;WUNnO4!unQ8v{Ke8b9``w9CYg)ck$l|=LYN`I2_-5YF`V{bGQeXlF zs#Bl_1yU)HMuBt+WKaO2Jx~ooEP(%a#Fq61#}}^ztOAq(N&#gQn1Vk~0{%yVJ1r}= ztP=&M;>z^74iE*D10Dwn#EKsSYyxZsJOZcyYyfNotoP%B4&4L%?kDGE3xD_GQ4phh zaRGqoe*s`V=kx&JLB4qyVDn7`PzcBeECeh9ECvJsMVw$MU>V<_FRGCFUp@)|>kzZf z-{ibX&Y{?{-|+esz{>!rY_VdDq{UT$gMgRFIoKjCw(LD}zKJdS7*8NezeSrrLKfeX z^J8ooDDyXRFb+6Bf%r~y4u{D3nVerNx|I4^bakLftl@9&{S8ooFUa|lQ_LpkaIDc1 zckV25jvzZ$YKrHO^Ll!EZ0TuoK8h_pMa~<w$axcR6z~=RMIBGgjxAeC&IxiL6`f=F zY%TzF^Z_|1DNvUJ^(cT&u0?^`7F}UAbw+?l?ah`I+M5-t+0wm#EYd#*cpmTqU^n1J za-NMX`;(k!{60pBvx|TA4OF)p#FkZ`HxWtR1RMo{jHEzQ3N)iYbM$YZB?TJbi_H|s zr9fK>w8Jw9fesXCZ25YjWe{6|(XnOo@%2f-hZJZSTgIqmWPXB|ttbF#95^SvHnKtg zToPNxwL1;?ld<wQ;2#R~ra-sYvS%sK2Z=AG!1=W;<i5E!1-eq8V{F-r6gZaxAi_Xr z3Urs0J<?;#wt=iKkY7D<#oJz-ec(cTi(j$g&j6nTzTh8UQJ_DVVE_dNBIRHTTuFg3 zv87?Vhyu_tW5tZ_w*l`8X&=Yk2_zgwf#DRuXtNw`TK)++FUFRg!n<97XUK6;)^C2g zCM~s&ze{dvW8X-ty|0dwmcDXAr~^dcks45$rn++{*YUMa_50@S^`&N!GoG9Y<Y0`n zPm=v1*}>}RWY5bXyPysVxAUQe%*U^gRSmzK#<8-_WC!?<1ulw}9fp`4Np^(ng=8-# zdlA`%77d4>9$^KVSu|#N-R7g(In84YtK9paPc1kCO$ses0ks2K$%+gBw4xO#^Rc|_ zSmR0V+(M^&D%o$LF-+sj-*7tP`X<?1$bOv4-u0(a*{4+Yo}bGvd!Ncaqq5H-alfRp zukhy^D*G1b;3Db(>H;8-V=EdUlNewRU@w(@ml>OL*tr5Z{E7$rsO-nsoD<IFxZe*r zKxIE<Sg|>;JC`BL?_+b0Iag5GPqDepsO)E`g-uZc8ei<EQI_ATZTYTDwVGHXeO)u0 zOuw~qymh`c|2G+QK6uNrYWdn{_?(7m1)I{d@YRY&fW};>Tv}Z-HW!M;il#Jd%2{LD zIZb0L$I^feUFk|1YS9n}yf_XL{swX|>J8q|g$B|fy3ZGD{E9nwozovx{gUjL$%Z_! z571m+0JI83%e%nC6u6%P4^Y6NK#&3f3fTDIGYT#C<&?DcrOq2_b*?)kr<=R*gFv^1 z{Q?_(cU*LSU3b_G&?Jiga&GpeW6Vx>#|HvGrTH!nHVr%$h@R!{y~&qb<WQ^xnMJRp z*s6U1AZ-=I*(!*$Rp7Z*ub_FW4go+OB}iNW84{~NhgZPBs(24y4#kTgAV8sIv67FV zb4MXvqY%VVuyC}1LM!n}6yHXt17-nc0%lOC41a=|eq0w&Xhp2#6opDCR7#=McoYVN zkS&Ie=xo5f0K`|vqI1u}(@5w?e=5i=`T*!6xh9bE<}!rMYC^dkoAShScbclvy8 z`Ed8d&lD>ko}Q7G=@hv~8sf+G)u9%|%1314(F*rS1Eep%E)yedtb79BPX<f^+zz;d zV(Z)B?-Z)sh5U+|E$N0Fp?U6r-Mr&H!2A3I#^(-L4m&;qyo=-`IiFF0(SUJ)8v*b; z9H<3=o?ng%mluMP)@K2#0dfG<0oizgv8fzmQ#o2xjv=jlJ}AE&C@BYON}djb|H=yh zKy=AA{#CLaumi9YPm2L1fE564W`x}RW$xiGBh~$B_*sUZtKH+jaXG6fRFt~r=N@jf zlau2fo>Q<Xe+gcH2mHMQcn^U7j&g$@N1wOGeW?S|FW(9?bN>qWxYg)9SW~emTpRmK zEcZBUq3Dx<mCez#=nH^X0fzt}qUh@YPK_EzUj~5MqM*7cs4rRtILICMjC9|NxN`w9 zz)OJLskrQ=aE@<Hid+7zd+T8Qegp6(fAbdL7*%ej%12N+#GS;-r||_dKryil%I~3Y zb)V&rwd;zc#{n=EqHj~UHiaQ#qEK3*Op~j*n00(v%a=9${aiGq9E?)#a8Vlo=<NL~ z-Q#dz?8k@Y_v2Ad`*FJnU0Hq~U=HA3JiGw#5#U3>CxA}@ALHGF6guW^ZMFDk3s^t? z6opPu=(xKTL$JH!8^E^^+M%~&C5*R9z$U<EJcoB?$Bz_>X0G`ur;)q(RCZBo`|YmT z?%U5&=xKLrdQlfAlS13wt!YboA?b70lAg%P-SGm2wz*rgakm%nGCz8WLXWyzYZP^| zkGXIEPNBz8#15+5N0s|2^hotJpXM~O+{M3TTUJpk`(5|&E8%v23T<$=)~!|4)P9>n z8<ELD3RQAuRe%E&DtEVbpiqV7Zq1|6mbLZWXj}VO7pmM#l_>6i6nZ>uZ7shWZDnC( z=!_<A^-<^v6#NLj{}Xt541fQ^-$yCjGSJn(@XH0qvh1+Ca6qu<Lq%;feD3g#?){(p zn%fTtp7jNu@CDX7TT(6O)=c;Cr-8aYsyxdD%~m$GsIoCtHlfN~s%%c~&den#?(t`E zlLY`8_E+2nF2v0N^jP#F2ik3{{8hYb3}}KD?K}%m&HZYR8*_129RRCo;$lD%h2D>q zen+8CDD)|XPErWM_yY=kNTH8lzD!&KSW4l>w6foV4>Ov%(XFFlu(?NCL@q^H7ds0n z^m)-ZYr*Hu+@f8Jf8&>S0i0yLfR8VLx+Yf9aSDCqZq0SS0?NLo&^P?h{pv}oY(tfK zRM{2{ZHEf)0z3zJ24b}QS)dO7#2x<tps~6;VGoRgA92-wpFJNKw1V4<y19qv`<h!1 zdB{t39!YhkTJGUbfIQH4350aX41B!*m@oF|0Q_A8SPNLk56fZHwFI;Uv;tl2nRzy# zJs=OzjzY0({Z`<DRfpW@iER6oj_%>_!Ut<-r8#5V!(aP32T;&U?(UxUTkes@;r;cp zog3W4@HXye9$tSwh4wbI0{2?(bDOd(`=E6WYW98j-3-4o7Fj`22)#$4J^0=|@`HRm zjzTZvr(?PAbU`jD0F-io0g3ln?(Pfx_CFc!J00)@0_y-=st2GvyZcYLhqs0b9rW$~ zQSOP`8{qF~v^`9rSKSw$b>H1ep`$?RF(C60;4t6_;5ESO0G2zK5NM+SV?b;V;3WWf zD;7)ThQ{`xGv9JwcnUe;=e{r?!Z!=tci_L=w+OJ9V&#xQ<#0dmTj+P+8BC!!DfAkJ zUZ)W9FK5}?8)jhWP;6xl3LOTD%0XraR{TA$==^Kkh1XuP__e^nw!XY{+dkJFKC}3D zpWnHmt~>FMg0{iN6zjrLsXZW%dlsdY6v4^;E?Rm$9CQ1}@?~5G9)V%ri_Pv%mGAR) z<-mo0-%W1xS@&oqRi1LAjgYQ3pbnrRpe_K)n7f~m*2o8IeSc%Q)~Znr_bmaf`1RTR zs|8=0r^6e#za4-ncNkS(Wmz{^aG&l%8DP~bsd6x0-VQ`82SDv}_fK?>K7l`zQ1>V( z>)Dc=c|}%D>uhegbun5#(z>Uu&uX7u4I1QhtD`&o?zA`t)>j*B6|~6=)=sPEM3Kw+ zX#8@nNq0aG{3r)hFj^qYOQP(nTt=Z6+!x#8{Zs(_V($KI_jnKdfyV6auTG)o-QB}( zy2l;9(tV(Tm5u&=Zfz?!>evomcLj8#N|-FsOR2JBL$|1?C|ut?(#ltGU;YtB(Ja7h z&S?(d9;)n0mH40&Rh~zcovE@5(C`ihVZ7lUdKh2>IPU;e4u=}k-aXPRGMFkyfU>LB z%tZ-S(VA@cNUr6J4CE5-!;iX=A-J0dm}_NI<+-@Yrx2v{D`;W~pcF*(6WV+a{{9YN zp?eze2jCaLuRux#ixZZ@{{sF2{EcTR0I+<l<huxzp^_gXt#SR{FModEYeiPN(-41h z(s8K)sOC$>H9H-3xBy~ze{Vn^JZTDO34pR#(F)KEkPE$};w+|;3jw_{E%yZ2uc8S6 zlw83i*b{IO06wHx`L`C2v_ArVKs9DZc)a}@$nWQ1_%FE^pK#e+6A*X>XP$`^KU3&* zv$XW;fflR2>EuSwbC2vBMBx?`J{zBQYJtmnR&!(@?SlJ?3n<)nO*c2%&pqzi+o<ve zH`>=d0X3q1+M2Eu&VyIQXRSFeHg`LtWhy?qiNfvHbW4rh$B4TEa5<nqU=RT6O8F43 z`#`_|Krg_>fQtYZ0=ffw0xkf6M$0b&0AJ-p0apXA0bB(b2Dl8+8_*YUDM<0(H8;fW z`wRAcI5k$%DUZTva+DRF>-kxV6)PF*9LLY=_@^(nvNMJKxPs`$WArJE-8U89f>?9{ znteG{PB71Wa1q2R`cdK7vSsORQO`(4s{20F*62hO+XC%RWyPp1&|KaIQZ-iI8d#6s zPGNLu$<I_c&MI3P{|-uN^fsiyyYl8#ImIn{G1Wc!U}%a{^Z?LZelB1W`ZtWfYmv5l zXIy}XXgAcMKgP3;oZO1QMA&(?`}h$gTL-8FlmnQX%QpZv0-_Y!<!(jCVuarbF|`wN zYiA=0J#&@cef(7)g+V<Pee7enGR8j#uti_~6@~uvcTEkPwd#}1^Q@+Bw3g*gxfV`E zYoHanD{zul4x*KVk+R}13ZGA5kO7#u2h6nx_E2Rns=N?=@pDIa_jLE2+iB&Mw30io z6QBzK4Jtnm0BKa-6$znq{o(FLdtm$gLLsnTIK5fm!m?`6c%mh#@D(2Z^t@16JNr?e zQ=?X@m1ZAH<yxKvXi9}Q#}+j5g%0@b*ZfY+T4^>LXVE*UaD3TPcip3w{SD{v_7nD- zKBsy;%YKInZ(8_MEc6zw98N2*qLpw_xce6{Yb|VqFYf|O127@qP2o1Nm1*eRDCWar z(a`|7!(-7AfXQ&a#VXKU73Wap!#QqwQ}>QR?p^JX(RRQNz$1W10XwPEp~?WcF$|jf zS)M<M`!^``x4U~Aem%ui0BhMfv7E`AMd&YgHz(TyQ4?C4W0kamfqPZwcJRiYonu)S zx(kn4&S&WZS}$zIhVB$!U3d7?#lNbRYo+^AQ{C|or3HTKotc%<qFzBu>pB>_fm|!y z^7-A^1sL*nY(d3e0&pYt0bT|ipvu{9(c?uJyLPsbYg?$jpm6-o!|zyy0|)>ECC>t$ zvuGtav*dnS2?ngV8E_rodccE#hX4-)Y`|DM2F(T@lvqVRRRX_jpkeOV3V4E_4Q_|a z48TnOH5&lIT*2~d4&X|_5PSlKG*<EgU^i8kx<zMAalZ!rR8F@rr0#$;j}CwfFBTnW z!I>9}4wmZ>T-_a*8`<#-h3mPGe~7!^kj0%8u5a<rSj7s!N<fJplvz;<60LXza0mdK ztzs#LfeLVY#d3<3rU1B#Wq{RyHGugUxJ398=1Yh#1rP=m^U{$t`Y1}<gTDOKJq#mx z{}+JI0iOZB1i;PX?s&?Y64`3GN59VS`<q0jrCHY5`069T1BEEE<YQ!1@+q=}@mK+U zreZEt_8#CCwV&qRGR}QqE+P%4LXK9%0DA#zTO<90c7EhZ{Md&3hj9NC?w<y11^f@d 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 diff --git a/config/nvim/spell/fr.utf-8.add b/config/nvim/spell/fr.utf-8.add deleted file mode 100644 index 3791bad1..00000000 --- a/config/nvim/spell/fr.utf-8.add +++ /dev/null @@ -1,2 +0,0 @@ -Taekwondo -Generali diff --git a/config/nvim/spell/fr.utf-8.add.spl b/config/nvim/spell/fr.utf-8.add.spl deleted file mode 100644 index 467c4c2884bc6b3d534541f04fe92e637e0835d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63 zcmWIZ^erw(&B-zP&%nT-%#>cjn97(3#6^sWj5&;%j7&^GMk-@AV>x3!P$Gqqk%2)l IAE*`r0NjoXoB#j- diff --git a/config/nvim/spell/fr.utf-8.spl b/config/nvim/spell/fr.utf-8.spl deleted file mode 100644 index ff27132bfb2c341596b862d06575fbde12dceead..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 571627 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%0DR+%xA}Jn&?CNXmtLp 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�r}~FOBlnhrBDrQ&%%6s(Jvu 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 diff --git a/config/nvim/spell/fr.utf-8.sug b/config/nvim/spell/fr.utf-8.sug deleted file mode 100644 index df555d26edd5d32e4a56ce240ce7d5973cace2af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2324315 zcmagH3z%hPdGERJRn^s3nx=*3QVmGB+FEQH8k<%z<(+bjh(<g!?9)_rS65Z4tXsDs z9(_C$A&%3=7#W@<lW0yRgciqK%*AwcNJa=EJ|59dC&wevBMc;t0rl}j34!_j|L^y$ zwRTmT;d!Xud+oKp%X`0l@4D%=H!Ln6sMq-KjbA$V>00Au2Trf`_D@V6m^w5)GdnlG zu(-6ma`?z8FScsEiG{}OQhlOcYt$H|JJF~u)O&S(Tx!*(_=%6B(~aI-eSiI6t2Z$< z*V2unvy1%Qz0~CIz8-(N3{hK{>gdOGVL_L58$<Qt=ed}Lp^Mw%22FEtwxPQY&w2Vq z|DCPR)~6a8LqCm9*JFnGHoFjuXlt~CTE%os!>9SV7Jt2x@*+bY9AM8=a|_EuwJB~G zJv5`gvjS6nR*$?nEtQXl=LX7kYUI7M{MldG7ocKqTzp3{@!>fyXY>$PM|J<(Vv)dj zq3*4X&uT-*^jmkS&EGd`gilpQSk~T07d%j2&)i^TEn4*6*~&uJtlZCf`_=U(NEK57 zrDD|G2@|tv+Er^B4j}7MfCj+$&|O?wF-F<wgh-*=n>gUL&+@mvV>vBLknRWOYCsAi z`+8G;)-YMtM1~PatJRKcaibzs{X3KP!RKj^IZ*SeG^TI<r9>A&Y>Pn%#hw#_f=IQC zv~k~kklj}az!M3L^*!_4ns8aAa<2YTWfZeWyB1VcK2e9U__lZU-=L@^-}03O09oJF z<8H&?@LXd*pS!d5gKhpbtyHOvYbTcnYr1C{uGhqe=Yn|-))yMR34wN3Z=$LB%{O}& zp!Dh{{gb!WT`IS>hQ7L5Q^`#8!KXcqzuO29`syFs-=3NgDvr%B1_Bn0v#CaH$s90W zpRt6gpIH0}8-j4)l-Z`{^NQa+RbOh>rsg!&=ydfl^Kc+u^p_x}+a$T_kImN?*09DZ z6qr-1OoD`%nO#^~sW0_Q8%E8P^>2`rWkeEt&=L=QcOvLN2~MuOZISKpZ<k;A2Nbi` z*G_nU-PwhoAW{0Lu<;5B)v3AW0STI}cYADN&ANon`YlFw;B)t)XAbILGI_7TtI$@z zZ=u7$tH=!joOo<>sWo{33B;XyrogLp#^_|C^OK=BCOX>xr&uQcjL(PIPeRcUs6PVX zG{&Yh6|!SGFu7<v>vMMz0+tG>FLFy`uZAm$-y@mhM}v2E&kARHT6?PRnBYOa99|xR zGth?f2>F@%M17juOqF9(i4+g%p_9EC&BP5FVS!sMh`aMb&n}SIcmjFZo0zMw#C~_r z_|D1tlIIi?j7^CSN2g}Q9rYbO=1FUtXwFH5>@{e*;(=Ie(?IIZ={X1j=H#cO^#t$w z4#VRxqt|!L^)s%fvL-gUqkm0f-H8y+1xG9d0qXm1&7kcp!eZK3aM-ADsJ+i}Q(BR> z)14dc$(BH@G`=`Hx3IL_nv$wq3a;Xgq_>i0m)x&CTx#rhPgS)^EThdWV$}MPX-O-P zW||5LI;0)cPs}WYB+A;4Taq#;1(ZdD88=CA^G%^go9_cz8aoN?yx01UsR1}=1{+|2 zUnObl$0kJB$Dk0l2G$oETm>?E#_|CZhTHzwjFh11jfsyMixv6bWRLYDGs_SUA0V2U zHQd}M2fW?H1;T(PT>Qy$N7KDnh)Ijk{kxY2dMv+rXDH=ki=xIx@4%ro(xAXaV@~kD zFUX{BP-o@}99eT)nsz7WR_Ya-pkzObEt8M-X$4n5BF)o$ZbmpxX3bRKw;)EelfkOX zND=<t$F5-Om|4;pS*RZqVT6KhTo!f|&o=MsO(a6+HVNGNiG_jvF!;jKk+4#^et6EL zQW#?YzZ%>^J51U_kBCng>!2lTUZ+gU3@(05s1VS<uRU}FTK9=q8lnf5vP$PzNmR`S zX=HA!0=JJ$vbqoyyOSQ0T_0I7ouYkLw90)`rONDDne3jCv_Zf&C#EdRj>)=!HtMz3 znTI3>Ev||YYojX#=BjJatVcA(v6;5C&NAKr<D7p`>jLRX90+R(8b5KvSvB^!_YM0Q z<fGHp4i<~!@plIK$G8{_W{4-35dN(*c%t=9z}fnyjL+5si%ac1NFU&Yc9B05BwfR& z-Cp9pDg&E5M5N}1prgbRW)z{jKAFf;BrB>ws?>XpnoW4AZ;?m+{-q7_xujz3a7pM} z!8D)6<B;UIMJugBRO5}$7;WPVk~rus)-7La0wtxNEnD6t9X2C#D1M&G48zK}C(|Cz z46~d#Qa6^m%Z)IWtOie;i1E58E*`n<5Yt)Mj?Y6D^NpFce$Of)i^T{5gny7EBO45p z7HP%etj%;&sJ)2>er3<oowRP`u3B?_;IlC%A}SZpr<2R3_Hl8164wO*)jtH4AZ99S z$S|ltbbhV_X*4gEAbdiC!0<=i>E3V``MuH0*5m5=%N>h1`$T$-Fg0yd@31^T-i4|) z4}T~iBjBE#uvKOYLq@DtgE(&-z>(EBw!83I_?U!(MNKK{4C<`0YS~N#w@@Z-I7|D> z<Y@_3*ggF8i0H7*Ppj;sWEx?zOfNyGVe2%$Ed@7Uw~>SHooZ<H*bip4u^x^bApou{ z@`%Y~bfu;B9tWuQK@Ck4-a_H#{6xdJAFi^hN=n*qYvC(mkkA2z?glt<v4W<8AOfA^ zn!9SYZ@~AAn8!lwXnBJe3fD(?N8+_FKqNo`_D)9a@xy~F6;0xOFJ%g!27C1rk{eR| zfwDsB7s`|EgehyCC8g6lFr@|TUaB8pgvR%Kz?<*mR(l3sS3`Gx+|wQ_7S3~_u}mXB z$@|hW=99m`$HQSZ_V^giMElvr0!gT4I6<2T0)<4fK_9!(Q>CUajC(B3{*@v0N<0>3 zSNlCNtVmE+RO7;_#>_$k<v=um4YrO-3{IKwGik=W(qesdFFI=-UBQi=43bI|Xebtb zZ=c9xh?Bu#^&JZe9M$(MhlrHn4z`=}OwAi}$O4gC`>!-l<NI@=!=$?;5Mr+&<jD%P zS>cW+KkX!v)7<}vd2e(QSx_ngp4^5!u#1x6%j(P_C1a1GttQ2@<MWHGM=Pm~&LgM! z(7f3KUpF^zo)5v<ym>Y)yS2W@?Go&r#W~?niYeROd=i^C&Q~aoJ8>dwGun}F%C2Vt z@MLT^YGH#-fgh<FoN5ifZHnPL&xikhe11VcNrkjOJ7Mngm^RdaTbg;`u0{Q})?^DF z(0XkMezyW#&4@F|$eA%4wMk3M`ic2K&Jgz`(;Rar-zL%g0J7bD%U><1`MZofusu;0 z7vO|t5gx0zK7gF9K?xq#*~{Db$<!QLK`4<F@7xs&UZ-WDSQJwg3bB)POUTlNMGFAp zg<MKfnlUl>8$5*@5zb!gZ>D6<HNRfjbC`27O7vVSB7a(c>xW6U@Ke~sW{qT%t%!(! zo^fDitRPILNkM*e24|8PuA9{Fd*HblLL@-v``p@mM(lHP+33^aV_2i1utA`uf!=<8 z?1FCl#c-<0vNN(&KWJFhPl#>sdP9@lKHKL0{$T)&KyA~-##>jzglT|?_NBuM>u@4@ zbRj6q1Un)rJ@}~2vQbH?=BtDN6cOVwD<Z|PHkPE5n>T1zSRsJy;mLjh#VV@dQH`U0 zSDiz??v=SU_~;x+!Wy;=e*X-<o`&t|&qV9M3?c6&z%XNxvWuO`O6IXIN@{S^7}hU< zZa-@@;A_>y!S(xREHON7cTxP-l{4A%Gy``>=!^SKOv2SG$VZz+o_0)>ikhf|=te_V z%*tA~x|4@h!<r1{5W@ur5@cIiIg%w<{WDr&vI)JOZcp*AFh8r>l_j^^64LDl%?!<F z74s6Y)%M98N3<@321%0U^}Tv+h!xjb|55z#k#P0LMSq>esX+x_2k*r4<uNf*YXEAp z?)+~6hfQfsSQGMYt?;`Ckn;xs-{6-**mM6u25UYpK`p`9ynT{?Lwn4jMHR6a`ggs$ zrW{yKzF1|eg;tJGY<4jcCo_ElNuNulhjRRhTd-WkI88_tD0Froz~Ig?2!1a3#*zT- zpJCqmjl{k}l{xqD+)A6z;uCnAPib~O!ISJ8ktv2jT&xq{n4vy}@xo_|nTN1Vc-Aoo zEXEjOS@_IWhvo{yp)Z=PJHu9YVkWJIi{mSnc%G@;Ne-`z2V2Wp?r&6<yPinblsp=O zJ}Wk*Mu`L|sU*{B1(6^G0kpTshh#HwT)QpTLg;E<=P<r(nfAq%QCUoPx$Wiir;j9S zga3y_R^uomSu2V4+s}$-THnO3=Kg(x(N|_{vn1^h;nF_c-7jjDeoFK8?XR(4W<u>D zkzV`3X|0J6BpOjG%pOy0uP53*jCm1W#UOHhG6~2T1GdmZ#&v5{_rGqr$@=T}Ga}y} zUeLF8n+*(oXaOC~eCDj?Yq;J=BIfaWZQbVtN8Dq)&E%$Qyd%?+E{z8T2}_$0?)LNu zcybX6tM8g^Ov}cfWQh76g&LK9nyMet_xlScQn6Vc2`jQBmoA2WGQ?~qBMwDz!UuvV zIMUV?(oCy>&55)3_?(C<CkeSith>r-!DZGLCoT6rAVvc+#K1IqN*Q^mQ!Y)67sOiS zEn@aOjk8WvPv~!5EBT)^beoUlM)*7Gh$BqK=W*-PY<^3c6PfCFGMeiPEs|skAY3#s znQg}uw62J87#59h&osDw=*{zpJe#7SK8a09tO|I|XYFKlr!`GyWD;H?bfVy@Rk(0I zTjn{qAKy_}L?dSSC-lmqkp{88N30n5R+WcsQMMik{W4okmavK>ibRqGlfjz>(TPx4 zq8{IHOb^$I8?bCS7>&=v7|ki`UxE|Dr;Jir%z>jd7NBlT&^NC4+1EKJB)y4YhY#yH zeD+Wdg7RL3N@HQsylW50yXh`TU=F?CUiThb-|0s~q#)VW*MiD!VTL}b((0kF+g#iw zV<)6k?U>^($H-@U5B!?oVx0-aYR!t8DIp<;nL9p1$WeoPSz{!mpu@(`te&o|tTIws zri_y^?OTf+d6>v}i2Sxn5}T1N`%%1MJdI5aaUbTMWUxZ+@W`!`4kTzf+~>@5pZE}w z<a|J;Ic+U`uu_rd?FuduT}71312alqs);B8T!N0s>y)z?j_RO24JmPgz|nkqH8=#| z#`)6n$3zhrcL!3Wvnu)f)Uwqa!a&Mc@%dGda){{g9HtdfE&k_@y^gnH<M5DohKVx7 zVk6jMe2r=edkYgK$Fd@*h63~QEme?ULDGVy$?JHC2HO|{7CN0fm?Q4c$Y4$@S>M9P zQ*_k#7J=v5F;N3i`u;UxKsljk5Dt7J@^U!wLL5dlxWQ>oi!n5;X-d{`=qZUMDL5~- zFOmy95K3Y$02bz;SvUnE6t;t?j!Pyr?_3%dgADG1-r!HALRdAffMORNV)!XalVQw| z)%^%YUQn(gVCwHjP;Znu9lUS6i$Dn*l1>`<vP7qBz4qG>d0aif=XH-co1D0z(Ss28 z$XaLc1Q=lx6)1^V-_H}ZQK|3Ru>fwQq3xU%aWqGf4Z5I&C>oLb$#aHT=6!){ERe4m z9i#6m?`Rs_kO{-Mut-S|pPgI5jc;>b%m6Ipa+=%$y}Si1-PxrEyA&HYZ&oOen|3jy zBE&GfRQ=#f$on~E42ki0T9?-@kdVNrh*fQSuN1ktE{GDO6qF!o(i)Fts0v_45oRtO zO)E2<iJF=ne$;BQN|@y5CpHQ)Zx%IJowpy7<}6&d6gN9A5xVYkMQkQ(er}aV2!?Oa z#y1W`;z4GdoQcM7GGpJp#>250M~#5N-P5K@{vEQoRlR|=MQ6KcY@X5vNmi3qjtcln zJu;0(fhaNZMX8`6p`IHHx_}{_J}Av$*4-zG3bO@wKFk)jRXd3|6?w?aYCN#mVLx_` zvgF|>%eseU$<+5Kj3DF{-YqCN-rHQ1Xpt~bf!2D#JXy4U1Us9D{?xWM({219gxT3H z`&dy1EQ5t$Xc0=6ybt=BpYB&Oc=%qqu)aqN-Y42>5pqmnelBUxcILoUrti{stluw4 z3yXTPb{N1yxsWSBfT>L-I~GKicAvruHS;?VPTcdLNS&MSkboI}Vs?vAx&9VWlrhnr zWRGZ#!kIXNX)Q<Ej{lK`j-)6!T=#lOpY_v$7eAUJz6F_=nv;1UaiHKiBqXr$7F|-- z4SUoajVFq^Z<j#Sk8=_%@BO40E>D*Gu^MmPo?LNYFnom~oU$PsN2$?bkX#kx(y#gs zHrM#J#BR2L_()iUKeLu;s7qWY5s|hua5p|QpAV{bN(sY5%z;ERErz&H1_`hi*a$|F z5YpqLB)LqC8b_(hV*4gfl!`1;)NX}VqUPg1R$YcuQD#<IHila_1wd8@R1~^01gk;! zHWxKk;YjfDq!=I3s;QHE>RYk^O;vtg({4#LRe4A>28cCUMcPvzU`V704L^>~qGj<) zla^JOMF;_Q-<pstg^~mmc}grVN1l1m0yPs%%2?M}fmlUOfAiT{WT055afdC$eR7%z z;Rx0+5Py!qX>$!0UB6mdH0rcQSDH0Mb29Vu-2Pdh#Oi_0J`%W5K)znvG$5aWibIcV zW?{KxFvJ+FlewDfl}yC$)2yKbz(5K+3AC2&{Z@r8n{Z_otp8|PnwXhAK$fDHqQK_k zUg3;Dy!nMtku@Nu7r%9;dyIE-qN#rrD`>43(GPr37Oi(~k-+{`q+@if1~w%EBJFN3 z2#_(FPuLzdJB(5$VPoL#DU0H8MiYY4Qbiw$jhMTBT0oH%ZTLA>EBfMZcH(>iARS+> z+9q7>&!%WU)jBq<5h0UsA<<${Gb-!9b*-)ko{0}iFr{+CX*6oB^DjVp=t5z*wr`Pi zsuBf@BnS8|Nu#`TEyDhCVFtcI+K_c`yq5edvu+%csFv;6K5p{yGZ2g{qx$`F%bItJ z@B|d)IjpE9eC#w61+bEldaB<qP(g}V8unC%{}Q^gaVd_J4p)?4-YO#O$35T{?n|iv zGi$IKd*fSh4|{rUqA9(yX+YboKh(3BZhUdZL7}e7gShFoL(`@!XZS`JmkuX2=@kp- zgI|P7YC}(vi{Tq9;331A)d7n3gSxZ3(CFdW2z)2GThv(nq8qc;w<vu~uxs8<Kv%+} zDQ)aXo)V4r@^72hn(v>GVJ=K9EO%<+vC%^Wdb!uJQ~9OqUd?<K5ojIeC+DHt5Y<|Y z7b-O(&kps$wM`$AM8rX5AjQ0-yHLHBZrHrotss{ALq18E5MgcCluD4CX5b~Sul?Cv zvLzTgdydh@R@x69;ASXfBHhsA1{sS2-q0*-gZZ3SybX|%-p#92WC$RAUI=zTYcA@D zwS(rmDHDmU7Fz+XPuX(g^sEzn?S~8+7P<MuIm6*XLxw8J1S1nPgxXJ)j7qb40g#!h zQbcW3tU~Z#R!RxUVs~PA-t@SII2Aklfpu808YFA^I<sh5u8p;iDt(|k*SAz5QLmj= zvrmj^%3eSf>qG!7EDF4hv4a+pp)mD(siv^>v|tKy1mv};0t;O-*yiHpB&)brE(t|} zA-foI^956uD_OPiYtDPK$-<MC`X(X+xbN!m(O!amdm@N@??Nxy)!-Ku%4&X9_mt8o zimK$ukkZ4Z)dQ9v9s#NW@GEkwGeY{25vo#8!#TB$$K<32RzU}ksuqDsJ3YitF6!d$ zP>rc#${<{$=^04mgveW*f^>6!qyP^7Lq`$gx#dj)HsKZoLk<>GmDRwYv#MRE%{Q-% zbqo80kCHX!5zRaJ5_vH2itIleM6P$Hp$wI_=%(OG_9pgHEY4&%CU_v7<?FV8ohN;j zYE&K;|2N-4(T<gE=rnGv_0oDae@@IiJdgBgU+)tL&1WO8+?l3YTha}LHc+N)t9?Cd zVN7kL@$Ewls_-0S{)f_m0#UNzA=-aGtL3%1wkm{?^6U))qipOJ){bw<c&Sv32VB;{ zhO`YEvIGJfV$IuJr)ri7S5H<^^I4vDTvp3!zikpcXwO_ly;F!P5S+FkDaGQyrO;t6 z`e1wq@?d6D_I+S2cm$AqUWPms#>}f3Wl!-r-|uB=hnQYM#k7Y%ZDFRWdNo$bhgi~t zY?w33Kt`Q;U!IWMPhp)zO|BJZ1)W~iMI$Cs$eppOT|fXqW7-9RMp>#umzcexBEUOH z)XCzud7ZRy<EUd7fL?A!pRJ%oWR4D5_px)!EVAOBU8(|h)yC#i1c;AfPJDiu%-AK? zwIQ7Nt@I@DP#~3`N1H<E9R%!Php10Kgxfr^ie573&jaDm8cLk0DvS}n-m};{#Uq<P zr!=F~Ht7S~$L&XY_A^N-DgD;!Mk?n>vzEjz<S`=car!+PyZKzGJ`xyxK^WVK7!xd& z!Wh<Dm0rpka*2?aN*Xo{LO9fgm?mt&13KZG!vnSYIgZ+_tsH<_KNq%>XvOk#EF2V5 z{=27eO>>PUH&itfJBB1XTwMi`QB@hDdTl`=3uPQ^`sAT--_i)_<c=`6H>*FD@l@uj zRxu!`@+`qKvD##tp{ythWRfQ$i{_-62sP?Zk>p_DXjBJxAyddsmo|<G^c((quECgF zLJ)-US1Rq+>-dd$$Q;!O0;cUYG%=>-6xkxCI3a5&@RUM83`&8FNVv>-V&;oP#3EEv zhU$<Fr?i6!;4PSXrh3C&giLbRD@`}^h48o-WpG#I$q_~&FjyiM3Lt5JmY?xj`DpuW z@axHD2hHz=JkULJOHD~PX+}o+qU2QbtrlkQsCcw6iY?61D8fLU1Kr00^i|zoVPT;t zaV(tY8WAWjEVYHS_0Gtmxk90K5q-*U9$~%pJxrnV4H9u|_56iFp;XQ;{6ke#0HY5J z{7eloaJJCIfE?rrXguTr(A{#Qp0XxCOcjD4ne0{pBkFdg3RU&NPmklM2DB|G_a;>t z#RAgOMJ_r??h+KoAdbFDMtO43Bhw&LWRp96WK#iJU^Zg)g92+!x|0fn**Pkpv?}M# z@P6~YRPn_1+m3{g#2zqdr$QCc;Fbq1-tS||zT_;fK9F_w0(o#R*3@Mp&gPU1oX-EQ zg`^;;ks+SM-e$`u2<7X`ii`zk9SAPW4KVJi63BeGAi2xty1}o{in%aY7(?7BnsX|? z`8XOObJXCYu&iz~HpQ3ek<<6vvChQH<rL*GpQdwSHWy3+2Je<1FX-T5CPL!z5b=JE zD7q*e+~#$sGGjN6X(0}9dEY0s<}?0$J|s|O)c%-F{c3TQEjcS8$L3w&E|W{fD5(#@ zQ@T_C*fIe|*<R*SH9;%^-uOR-mBVw$wuxMAx#UXA4PRhCgI{7wI3`E-G`2ZOlu;XX zcGp%U6->I((Zu%q9Ez=E=f~xb7(DW^R>7$8z(KEBkQ*;!9GO(CYu>=ab`&Y!T0KH& z&USNdNC?5vnwnNVskZS~kdGz|k8F2<oP|iVdA-8nWt><1qr}7JYa@1-ybe8_3}+C= zvym&cXF!CWUlTc7sQRI*?rd{|)mAk*Cj4YJwcTI+(Sjj?$7G6i!R=%&S#&;)VBd+# zgG4P_<QgAnpPi|ysb<SdtBYK%jS%X}dDt-upXn8xBE-X9`Dy*by3)->a(wO&w^Lo= zfbM@!0#YosS1~Z;V^W*#2hcg1#r3@ptH=cKKet3R3fkv4CM2Ub+;wPL8nY2>u^h!M zMZT>uA`MW+UK@9?i%kR030l%J8{*q!rE-3)GWbjLs(4U#kSiX9qM@q<QjBw)d~OJ* z&PRg)aO7(WE?I*Q>tJMSlaX!6B;#MW5Ib2khUM?7UYwxNPp}P10*LahVuNl}2aRU7 zTG2J}RgHsW{E-39(yntn@!<nnyAH|llh9M93P`8%(BS?0WqjJk4=^QpCAnSz5ZIL( zjO2%v-q7pykZH}dAc<0($x(%hLl6<x*)1Dj=)0lQEngokmBAk+J(WQ+WTFYbSGhu} zm4~cl-+(V7A@NqJ*)6X%BPuY}zfxB5im1~PvP}PF3>3)3G;<;5AWzvV{QZ6zu#iK| zpys?BqmHL!$g^2FH|WcJQyDks$0md;$-$VzKb~J{^F%*i6I*8wRPUQ7g(}ztibZ_J z=n`U9g9ZHaNhKp8%(V;q<V^4lk6Wzg(iE9Zqy#ct^En}Vg9U|h%XkEYoD;8#Rte5i z8ROV|B{{s{V=5=WbUSNCdBQDJ9LvquuuiXcZRcvJ)#CS<3OuL><W|eb6eyHTJMF0i z4ACJKPuhnhN#fzWqvn|*a2zylUKi;C=mFo?A;cJW6lgML=@yvBsVysk%(>0}89*)B zf0+<0pi(z*D&1KIbXrFXssgVqhXXZo*s<F_;3)7IXdb#bl?$eA_Rq5Q-)UP_*(*wu zw7}(tcnAop2u1-lMHz$FaUHn}apobh8fz*LZxg!6-Z0-jg5%{I>h~X-^Zx65GI0AM zeEkdRTMNTHazsH*s@fc~9$S?4)ap8&=+hNwH75{k?qmfB(kk9zgqBp$z($f1<kRS? zqKL4vs-SRGVaqy)n@B0ciNO^~&$)sL2PB!p65~`>SCA-G5JG_bngfnzPy1T6eaa*e zv69);u_oR%HBCvD0*YI14CJz4lCL5`J?K(w90>!gPhtQk=Y3DoS%UkVNpv+vRb+;m z(Z+4Lew7iknQMnnIOf;g3vK@1$FC(7OAslpm^^qs+icz|A#1&$ohA!Umvnr+UK6{@ zjX(f}rLHezh76)Lo{@Syv>stvmQQh-hDjXfNGFu1b){|d$%!g03~ThFUNtJok13j1 zNVQCGwu~*+P%V%!j)(BV!G}fXCI%jof4DX-Ds)h@ChgpKx+L<}_;Q<JPX9*;+hrEs zT0xhE#{y9|wKJ8Uu{LSyEN8iZTfv2zk9q^x@_<0&mj!`7Wykk%JXOUYorRIZ8c{8V z-g4uCO(geI`;{n`*!HLhs{P1fE}~)T;`E*hiC91N<-*tL`{VdINn}V)BZC8m-Ld<S zYlU}l;Y_RVhlO}mWgu2FujS3fiQXWfY`}B(Nr$>lCE{xz3d+<#qFnndf)Y<v(anwx zUR|r0>(0VO`Bc?9^_0L#ifR2lO9DU0Ra|!}j-JbsjPkn1(J4ZW$r}uaqb-s?C#BJ5 zEb(9F7QQCZOb9lI%DCD#B7M7KQ4s|KJn1Zgv_1%K9}PW9!jL*P1=H0#BaK}VU!}X$ zMHt8g-SMi38D>YGXR1W8hV~66EphO04kclyup?Mp;|<>%2VTzV_^8NQ??8NmJze0X z)Ji0CRZGk<dk1NLQGd5yGZ8^Ase}5F;M&qGimerLRRTaO0iZ^AWC$!^4m(C9Wr&@< zpTVGlH4xH{`b-bN{sH4C$*g!T+g{L0E=Sdkobcg!IqVC`UOvSpYfl=Zwwdh;U?7HW z6%0iRn@Ky`8y+X%%{Ac^xnYBTbYWEipob7TltSxQwi4~jb_l`-b>8vYsglo3Cpb~P zf}hB()K@|`%16waum?Lf48@qP%n?sA<hsvrAp#$;5uf`c`6@p_KO@bREaX@jU&vVT zx8Smj2(Ia*tZ|G$*PTzsxfAJv=A8tx7^=aU;jq3sR{{|qd&Hd*P3%WltjJIq{xN%L zeGR~K%%INg-<NwBvHhw`Ds6-Fn|$BSh*G_SkET8y3jm^h>oQlK?@LKBQ6(ah<$k?( z*8iMrmq(WjIu@)#A*;N@QcMGPm!Z~DLRRIFrI|z~ODYU8(V1Q3)~7`Q&n&oC(Q=%} z=03Z3>{C*B10oe$zK~*~L$4RI$|VJLN0J^_TJX#n^*R!SYCu)wHvGgP0e-91YUf*$ zZ38E5SO^E}u0N1@JnVgmBn&vAGYk)I3Ipi(P-V(SY<qbM>B-TMQRkFUpL89zK9O>9 zj-9fz6<K>jA3EqIHAZF|y&ykH7^_uMf85c$*?w0(L*k8U>z<;o3550pjT^2CM<<vD zJjEhKW$ECZf@ABbk36zuK=QYmtMxlm)QKV*hJF>Y!exgz-m#MUUsTmXh(@Ktvw?4r zfd|pnY+`19RakyUI@niYtdB5wWaHS<K#vfPFi$C+#u|+?2M}%n?L?5m5s`WBO{dAY zed`@mOmL;s(>6^Gag3eXQ*EsM*;$=yh0bdqs-706qLYCDw5F8sRJrARn=fKq=kx;8 zDy4HwLpL>_fLGLnC3r#VN|v<ca3$2Td%4kzs52|&cN{GSwggM(<fuf_+BoX(`lJv$ zL1gA&CKENt(`6gBRCK@-JeQOxzf=J9k?+oHi2U&cHm+8y-7w=)OBOOg1npAbd%?L= za!1JJv#jlhwXD7jOw=^>;A@@$sCW$rU=~FP_<nJm4ck8FmI;2A0(VUmItu~CT{i@r zeXSadAeB^UgH;ffeQZQyGLcxM0e|L041D%IF)*c6HrllXUpv>yghD5t>v$hkG!T3F zd%C*IXU>FHT-7wX#8PZN1c)JfGOGx&Ou_JEDGEC@a`MRt)7|J-{%UNTbpCY1u#-1Q zn3%sD8UrZ`e4PG3kvi#zxt)4$^(Z0H#$)W3hfIMCECV0$qvHhgI7}y(EY@Gu^16}& znZ8qhECi1`y_;4afaSL$Y!B+b%0|i-HDHF~&q_N&6}t}C=#@c;7}oowdomqtGst}` zBu1>Rgdg@AQB{+yj`kmox)>V>wp^SmYdpw)$vatMu@d!wQhdNd#bWU6|H9@rU!02c zMGa~Bag0AKr8p23Wo6Z>2;XjxCLObb1<I7aR6iH2`dv<&=~CP4lfmJO-y%@WX$69H zWNHZJ@O{}~5@T~ul8X!QA-{0&*Lr`fII=TzA%Ij_Hv+ts&c$N-elej{kT8&r1#nHK zu`?2Hs~msFgbJ3BSH#m)JcE9n002XCZINd<b)v8?sbhq}pG|0wUT~QrO)PCw%(kY| z^6Oh3fU<<zwx{T_)|i>k#jK1#bCRfzdBNGXZw4MxohH&$$p!KgunJjhoKuwYN_}1$ z)4{oUDZrFGb94uCwd{Uqw!usT52->_M{il{=QZHQr+9!0d_Fcu=q)m#HW*tdxzU)h zgyzKo^UnJhBJQ9Wgspd>x%-a0F~<8MhPo!Ql)IozvrL&dop&xqKfh_dw2zm)FJuoF zxU!;H7Zs*q^>R0d`dpeXv4V}~s->|a2jh%w`vaPz@lk{=8yk2J?t|F&oGk&&yHgH; zJ!G>dPr2c62%I${tx|EiDjavt$CHSW+bZ+2c_%JBpdIic?yxO#28#u17Jt77CJ3t} z3e1a;HCIVXvP}&#^l&d68sEkr1&vzQ&2sn}-y8dznp=-7xWE$DuM{{I53M0X?oQz* zk?FcOri?6Tr^yHQDC^Q%tGaBJna-V(!m_V4oxi{svNi`kg^&Xr?T=8k8v&%|a|g8; zvx=kiKII<8B|fv+9}ROc<vyjE02d)uYaxk$+w4GO!(EZ~Vg+Y)P(7|0*r#wveODwV zB-Oc~tw3laipO?Fbc|>4d5Rcx<DO|i%`f%Z$am+0XK;6TY%d3&xt;QUz75|i3^aZO zjWZcX+atQFn%%}nqtK9sGO$T&Vsch;sBs4hX2+wm`YnHEgyx7;e&>z}S(Q7_<({2P zt=ZJIz$|UQd_o1)O6CB+2i;Kg?0fKpoKR?v@N5)Daxz`w_C7B38CQ%Y@x-$>v#UbL zF_q1KAWK9AQca+`?d9~uk{sA@TwxmuC^G42@#$Et{A(VFDAOpkt*>)Y+UW?a2BaQ} zf1L4%LfkT9=L!wfH_7f4iwW<PODs0xFr|4QIMvR2M<``&W(mTvGr}2BzB^}BX0lOq zn4>^J#c=$6R`wsJo$Sza7bWFKl|f1JKT60`gC#kyf}taSmSrgxYf2C8CTYJqDssjq zq;$XAOjc2-&y~@zz};cwWR1+qn#;`|&XbD7EM}dFR0l*gAQHlyWRq&BjWO-c|99CS zM*F%NluWd&NZ5;6B2qgLodd#J#4?PCT2^O_vnE;*+FDTQi&zMy!(VWbtO%y!RJhPT zy9@eBJg>T_)nG{;HP_Rjw^AaVW}1?qCI$~Ot$}^621yB-J)reOo7Uzt1VpFk^uRWC zGECS*oPnj*%O)t;=02aNumV-od*o5EK`wOAvLa5G;SR9$6jV}ENannMW))egLH`Pn z@c3U+_XE9bdpje7Ia$sMae#z>vSrqKS|<QSWkfZ=bC`op{Zc`|L)o<v<utG7zU)!K zxPbNwVmn+!mW5Nnhs0+#RuZVnIBQ_^CmWJ!lNgER)T@k_(qK*a5Db@DMCnVTYvOE? z4Y0<T+vO%N1A+TVDSq2LVuj5+S4EL>MoSvGG?G$vv8brAxw5)8po=U(Ae*ndAlMM9 zh90PpUApcOsoph~Lo!(n!-{Cg>|5H{6w@_kBc~_Xc>eavB6N2lda5IO3vsS!3x)>E zfX-Mll#0k1{B0=31Zt$I9GTcdL3X8XjgXm~X0bCzA4Dnw9yC<|k|YEp@BF54NA)n? zWNtZUJC!H06oQIE-dlKe<?UnvqXi)l#Dr#*4qKJM$I8h?g@n0o#;$`lOkF3=+HW3q zD5y}Y8biRQ@)3}3NpwP)tFE!S<}-69-`YMYN=xXdIPRXR`ctW2n%Z&a&^20K7@kr> zk^8na-Bk#8=vukGI<G9I^N<80hwy{c1As>*3lz+8lp0}Ugs{BGs*8D|3M>+2N}bk^ zSQG0Ejhv3tzAAWBjh7@!g_!qf*3dW7NlY@^NZ^zEZwph{a(0Wjs;H(L;ZBaM)f__- zeS7>|a%VsdJVaIn%K_SdB03TT9Iw_GhQirTOLItYU}hB(k_zC8*NYHa_c>M}L<$!3 zCL;^9C$%`VCVwB6U}-)x&)<zd=xvl&S+8AqA?xIz6vN+7>>$!(`K-T8<c%Ky;f;^Z zI28jd-gnR@ar=5xw%Y0pyk|zCWeS3{Z?O;pBjhTmErNn#Utok$oh?`hCR6SzQDh>s zh$ux7e3(ZLlh;ZiZ&?W6Fi3O*sVz)=j6@I}_k%H~WcQ!-cAn3ND9QV%(<BSnt^Pl9 zsl-F)e3y-M#!|CEqf9Y{&ULY!0T!^HQBnbO^3V8=x1?e$bB`5`1y}jIRcA8)*LVog ziAXoAPlHw@XsnG9u#UUpcQ6pgbDHbto1*0t2u53;UyxgL{>Rff4+gWJ()wngm^6X| zL;YimEFu-Z=|iHH?rcOc**G>Fb5W-+IJS=?CM*NP&=IXw6pkTN$uFgp_4kG4hXp^o zFYDOBdEb&#b;jirbwy@WG+5I0Zddej646Xi`;3w^!yi$!wtlrjUW_)dX!E{yJaN7# zQv=ZT*clVsLtf&T^UPW86t(HiGd2I2ub3!3mR#Fv-^$ciXthW?HEz&$9oO9cy=8ch zlMvL`h;fK<3HGP`+(GH`#uI@ME^JLjj6K%2V`6P1<Cu(b%S3APhuVT0I|bu+m4_Dl zZoU<<;{hYkDxDJR*=Av3_6T&t?~=ZP164;k?^8wz>L*fbV`kz2m`J~`4A9Bls6|UO zD~>u5v|)|=7(+{_&Mmi)AtOJlJ>(<%(pB|abVDIc(S3ZiuCsfCIP>0xB#{{5Hw{iB z3gK7PvZ`By^q5!Eh)SMiL}b1|yyYq3LL%`(j?~G9AN*J4egOWr6@E}jHlB%&LOEb@ zY;m1J*7yPH#)Nm-A0Rt>kUf;_pW;Zi^ZyOQ*sXNKsw-`oI4(c(I&Z@s_ebXDtFleY z=(D3?t7lc|Pi-_@NScpb$)ARN{(QbU4PR@2_z(V9QodxtK#_+_`DePS_L!jne6o;A z<0vPSauEURN!4}APdNA6x^_j#!EOK-XDHe?{Q2a-3SB4MX}Pa$N}J{P5TRwQXg;m4 zh?f9QmpGqAY9Hmc;d^OPK8^6@3A<{37&<s4RgV~z8j<baI=56K2z!x8wwFu`fbHz7 zwcn^F9Am1p-z{Fb=*|!X(+eeC54>F~!PIAOh5Mr~_D`I!SI$QPF<6@1M9+tOwyYBo z<|Kfr)<ls{1Xq#Ez&2s3^uWVDyUrQQR7*s;l52<ERTT55-~{NC^V8hV0S&JL@73Zq z4A8+(VlL4txjLh~;p%K^55w~7k4XT8l()xBw6jJ?M89pl!>xp*rZb&H_6?p=%QV@3 zJUqM;OhqSy-80gue9ek6>%dYmdgLwZ!0RMJS;p+fd+q$3N4GmB8bwTU9;y))L?ShP zLt}rIS%E?7rzv^Rx^8NiCtT!A!=5R>D+Tr1IA3Wqoq*JM#69_Ew~0$UzWs|FUFYBS zgNLBTEDQOREMpAi0a+ioisCjKS%d!*tkmP$51F<+Jx1ouP%pFq(iyr$Ela58Ff=ut z`&H|-;>MyopTzR8n5K(7z*xb!Q<VmrdqTQeOKW|0$tK^~PfMr$)bHs8d%R#_+XpzQ zr@>Pa-1)3OW@UYa{~HyO02;Decq36hB?y*|O{iIS`yD<l$S`!UXX2|=<a(R>x%2P8 zA;`8oCE=W$KW#K>dAJOq+$|xZp$?;{mQJ?-F*+YIvfT?E<wG*eyBb|N)4cWpf<|UI znrPI>R)%@LXw%WQYS%@Gv@d~mKOAu-`l$emGhU`Krl%E(I~6)>$8{jU$P2#K1iMqm z9H|Fsu5*8B$-#45!lJq@54y-Q*DJH=Bcdt_BQ;HtZwjih1>i`dRcUc*?I&4hFGS;r zOtwhE9PI7qFOf)-sOpZ1^1dg!n^Sc_{+YMSF!dHRljx*28dj(jq4>=DRD^KGt?bfA z#IhBtYCY!xnC{FcBMmyh>2C&Gr^pv3ct~A=0cRiyj93qsN`c`6b@dYm87|E9Y_ZBi zn1DHCh1E7rf!B)bF_w>9Lj$*la}rh|3r!~nMNtWS?flvHj6$PgUpQeQ#kJPAW)%<V zJTGC!FSDraXnfj!XsV;lQ?wwoah~5>5o5|*N>fyinz@-~#QTmJ(^8J-e=6_-;coP~ zNBU*(u;@>1U<7K-GR9u*x#ik7p!-l%ha~10kPNMDqLH_cOb<T45bcMtM>L?qjPy=7 zvo|lMfgmH(^F@eh-!x&~-!#AxASeQJTU=Sx1lTiAiZ`g8J==)OYR~3<;{l63a}MSY z<30nmRnvoE-NXsXsJu|&w5DQ<Fms$T9qhybzHJ{+hDHdoVY~IcXlX_rA`p>U)?S5V zGMzR%V%j+V3yn(4s=MDo*CILZT1Z+(4FM|p<ERaz2lw-7w`J>&L+Z;TnJ(%Lh;b@d zk^-w-k9j?f&%1rBmLP$OlY7S@Gkqj_$reHtTb}B#f)ZT&8F}3u+76vw7@<Q%&=FDE zBM`~rUM;)%499s4CA3_MaM(f$3oA2>mLVuKzC9@d*4k5H05VH5kE96CtAA-t9|{+O zZF9HIpDyqhv|Ue^IzFq<w{-HkSM{1QexwjI{A^>=Z+VK=2r>r4G!fL-(G*C}qRD?C z=S=Uqsn;&O%A}jMlUI>!2L^PGR5=vaE097N=;4Lk%JBdtLFoObTepme5NOQ|Vn%K& zeDsj6Rii_9!Ge8utbmsSsG;T7-Qn1@FcEnk-mT+%G>L5zSly~vd?!Jd>qq!qmK-FY z2+Sor<IOtL4MqyGIOC<bQVKvFFjEYCBgpa6H&OaBd1!i3r_TkS(-z$5gTRp>c=7pa z$twc)H+roTS)J!gRKZ<*q3jlU(Fv_QvTdKzn+#K0k=dT8T9FWKi=i5|RFBk?X4lAS z^eNQzbT>gOG7Qjm6l``zCVV0t%Scoq+N|#Y4-&aHfZwp6D<@Pe$G$OitTRbA0TIIc zTpOKLWu@3+>w9O~0#34!nc@x}3*ylFZB$BSccx{H(Ku>WiIoKfNOJau%e#u;V@Ob1 zBr2M4*+nxg3EL!fw4P0i5)Xo|;5^uwjG(X<yy$y*JAgqcW>G}}7;W}umNfa*jHLsz zqI_^+v^s}2*wJ8@ZT3drJtde}%3KxIH45wVUH~OzwdW2+FZy}sV`}K(1+zPiKp}ct z=UzrGx7nsRKC4jG{jyTo@*9O}wLjF&Qw<~(j+aN<@U8*|_#+zs++CtF8uJSRvD)3D zieQ0#3-(w`<FRoEk#R6*J`$)d`>undrs&avC2T;E<Pu@%1qVVN9C+hYwd^upMwf+; zrf0m??K58Z;9uh5ifTwa^NJ}6@zd^Pk&Q77L;@1_DsrFoa3bsXL!&$;_|Lf1N8A~e z0UVI(FXz#0vRe-r+LyjsxU*c{dIzX9rkRY^o|&VXgDFu{blYeh1+oeY0EO>psg1u^ z31Eo8&a^Adtb{MZRglLcK?V}J!#InhG9hO**CaomPP-}HC=wX@eM~?Yt0|sQ8-mGr zfzv3&FP$Og8~BC-Wg_Fw6y1M<Up92Krp7-_hzoR&Wb&39S0E&qm3<0Z179acJPE<5 zUQa{8cY@vKjp;zUV;mQKNz|QGU(?3WlFpU+l-m%+7p7(>AZfeBt&S-c{<$ULmKr(v zc$8^|9-Oy)pSEyoA4k@)Jz%1x4*wZzu(1&@dn6>sWbLDNrfUyH*t;ufuqDnRcabI* zfL=#;QpYADqvc9a;sfHIB)R!y^PaL-p@JG$1}Z&!-baC7G4PEQXJuO^^X`P=?(BC^ zn(K=F`<V=kG3Z&>0-1b5L0o=e8`=xMoNo|(QF5L`M@=@GB7xz8S&vuCX`v_Ht5<VB zSJoFN_#7YF#)~Kr4XesZfNx?1o~)iMwoc0Bu2S9E7v@vtnX>r&ihGm$S1!GP8bK8; z+aW6U)gX`0-iLoIj9vKnB6TwYPIEnVwFKMae7p!+%O5z&<QQf`!*Td`-J>>tkSm&q z0EYgF-Yxc`>8AxHSmsG&IN^?80ex`e??r3~`=2j5f(~WIp@7mNl03O!L>94+^$-i> zqmtu9pooWp0x^}bPUW-2Ue%0A=wZpb`cBlzZptpC#8h*u6S6P5LO&3+VaV3C(ep4u z<H#$$p+i3wuO_Utaq*lo69^8V)mhN@;mNcALF>_CFZ(4aHFFuKrRDVWGuE~h-Kmb0 zEVT$m<~ne)`}`^{)G-1<DOSQqghxR!CH4u+G7xbOJ63%aZ8lY8-=<83pw}N?FQeo_ zvMnOzp_w%#c;}v(4(o9kf{Up*yjVp+w*sQhXId-X9#vmk-l3JF8Y9em$%n(-PqviQ z9X%4X%_FcSaU3LQ)4jaroav!2JOb|dT$vxW4wS$k2;zt=E0%pl1(fE&dN;9RP5o!~ zP3ze?7Ywia6#>96U4XH|-w<4dK)f1PWjFhZiETfLfNKkSwCfZZbSr4~cg9Uod)EqY z`0Hhh;@UyiaUK*FOYuN&(*}o+eHhieDY5JlLQ?AnrzaF?<@lrkLdlQtq9<Hj!2B6c z*2*aNMD-GiXTEf5Q+Qm(S>kYhwHFP&;Zb=ufU270hgOqQg1C$?!eZ^%G;ukY9{2?d zx1T+r=PrK{{n)g&IOG{7PxCr(9tqHAdFXr+bI~VHy2DNS)gN6xCm?NqTzIG8)xu31 zKMQ%p5oc|7ooY1NO>QIOWSf%_4#zn@RuE%DG@1J|3369|!$dCR*P=#TvP6k}TVcS# zA#&^nld0cF$db-vy^`n*REX2cp?8cBfWIK4EO;tC6$oQ+R^86emNKKL@Sej%x7GBt zbfSmY^{4Szy|(L9BE8+l{yv4C1BirAz~buqJ|@D37?Bd#J|_9P{TO062?ZWa3p1JR z>v`Z9(In<Z!^DJmF7B*=W1V8+=^T1I;z6{Etdt@^D{OS}acmC=lgu8%xeEnkl3the zvT&`SQ!XnZ%?Uy5I^VUzg<|cim`90V>as&aX4fAD9rM(gFBP?NdIcbE{~Z>#{cb}* zGQqxFm<`VhvOd>()>{HXlqyX1^@rjHLCSg7AZ}Z=?PHbr()iMl>_Dc8W*Os2BFdbX zq0XG5?KA$vTwN6xrFhRsh_U1=VSk9*Oc~=#>kxz=QBM1u_eO&aZ4ft9T39yywhu6; znz5Jp$l;wTwc99v`Gp^~8l&d5iQg>Phd7Z#n@LZznSpQ*ut$O14C?i~5A&Xam`ZkQ z^X5Z{Yd(-5wBEjOU{VH>#<T9c%0VgV2q(u*i?rr3kUae3#T8x+$g{2WJ`$Y}86<5d z-E5TClbrOF#S_<b6*C$6ktUw!dxY|}5g<EAL|a65EHdN9%!bZEx94%>pmR+@61(1N zFG$Hd&LV(@+(w4y6EC=xBXxD0eE?dy;0j>>b1YXbNE~`B>|vTRv4HhDa)4>dhBtmd zSv=gZMcL>ZCwlNR91y_Dij{>rqUR=P1Z?@aFAr@Ju$d$9p79@WU{Ev?EgA<bo%VL4 zM-Bi+FK<NQx*<yg+ps(k6Aj9_Jg<<v%|H9)4rjfQ`P?@FY}qyPYee>O`XrzF(0Un4 zR^a6~*l>9c330~XM@k6a#i01d{g{gq()KN>3IG&a{%`9)BKo$?km6U{q8%CL<{-O- z+(NttSr$pgU0ZFqCh1yKc=lC*YN*VBO5d(Brr_~1>VKSK3hf7vQIFYNX?<3>qUcno z696LCqrlxwfCPw{CM?=ys+EVQXwG9DrI*A>8AF+NHbs;=YUGOyy0fO5B*CzCyZyJP z1<BfBZae!or)ZC;Z^|>|KnAm%{t0KCTDP;D_JbmLs^9tZ5KMdeoeDyTmp1RDGk|a& zi8i*o3YfB)qlb{yY_xzXcr098x}^B@pa7F`s7$tf6$97Zu$m+BRw&KIjEPmuxj|C8 znk;EPxi^Kw^o=n^o4qhWX48ixe1+xQM1+mNxoz{b?I>cXR&P?S9+CKk9x_^j9Y0lB zgF_F=iWX|Mw8-dUSUFs+1#U`hUafp|caC}T1Rd}-JYy=ITIQ*PPAjD%Fjr;b64<dy z_LPn3iq$3z9!2=Kk46cLT8jyo(m<;He&MY9e|y<3zoQcwKhjkLsze~%vr+}Jo})0F zzm{^f_m=&)m;g``N6}erEpv=lmwIDb80sPd;`BY@;^=S5k~$j4E=%JFx2v8H;#GF) z>8i^RI{E@U@|}adQcEy{lQvUkkwQ+UyuQ7(bBaWzb6!|z5*6$~$KnCbDPQ8f;S+uC z8#f*kv{n&bcWJ<HPm%mxjOwOcpu9Mz%M<bHxnE2rZk4^3SQSBF6?1cPk<=qRDwq)* z(tPc|<M@b}p0g#e;|1B^My}rN!olYC+|^fepz;nwp1<opC%MjFx!ur&Os@0KUmRei zxA0uHqLA9NvWS35e&&U5B3u!MHaFsihX-7Z?q<0tf;ZFjg?y@&B&ozZh$=<e+Mh?7 z33q++)?_XDk;^d{`V~wRDIYB_et<Tkf3l7gvc=Qi=?oa&9UH}25rgBfY6BsjP=0*o zIC{K<Z5j%opKGEhiOvfj5&h=iKK988M#@r%veIxaM`D=h;7mJxIX*A`?TPxqVN(`5 zQ}uJa*KCU_FypPU9AMy`iq-%`gnIS;JX60vlAMhnx##=P?@NAbBj-QvPO(@1Q{-+$ zArVmJSeT4zY;Z1(9104qa!kI_`fYdY-8@3kXI9(iT~pZ<9&2+%qt#@q&;UatK#ZM5 zXRE2K;cfO@+s6@DUW*~cHTvel%(?Q1KDpQ@uljXZZV(u6{f*o?mFM+26%}6gT@eLI zPiPzJ!ryvI3TNZ@WJ9R^l?oqvdK<VvCKKl@`g$wGsRVD2zl6`FwH}068WcYW)sA|= z7(QKc!5(GUZ6x>rpJ8#aE7z^X`%0?WCP96byN3GlSw7g|6abFn6a~YYBZ)R<Kb;Xy zt-2(PwjCF<TXl7pcps?qOqd3Z17MdE>kTBFz|ejO!!5H_|3ZU8O$B+PDyuQPrJm(g zA_YwuVM8ZEw*0e!a#FTw?6xSpU40NCjn;k-K<-;RkazLUl}|%8v~MT0e<1OkmVfjh z+d<Mtp_!OuU|DUFU4iQU>zE>`pHNcnpj}BUaM^EgoN9A@ih(EMOmERVTkKrJc9O7r zTw-lsdZmNSD^=3(RDT$001-I559=X<(USJIV3PTG3KFPjrl@_1UTK;NG8cEF`>rDE zrCOJIt@{_^><ez7t-a>!UXtD>tu`Us|3zN*@D&O$5j=V|sXa$}xBQJpb4Es4U^766 zDsBOOw~ZJVd_^bL?yO3l@9P1*bWQ+3)_1{RTW_YQ&!A1U#nqd5hCz5rtU<Jkej>PJ zW3Gbg<7;ay18<J?TNf5*O7*rduIbnAuLU$cE}n!8E|#nsSqn9JJgn=4cwo$Rj@`Gj z%c1SL(Yl2COkR+dbowWgS)O*xgS%I^RS~&IrFoUyfm1R@g-<Xo)03P5whL>Z%A2cQ zlp6o^RW+31H?t9~eX?BPcKI+E_UuVp7AU>tEG#PRd@sDE0t#++R2`e00F;k@4L-`l zn`Y%Hx@I4tg|HP-atyb~Q3-$oR-(jo;(!ZDEx2}O=XKdB)nG@-<RA#2iRivf>CD~U zthlX@lVuqwdMN1`hN+FUA9Fe6iyA7^Uo&h0$|UNw-LG<b>4Lw|Jx+c))M4<u+!F0v zcJsMvtO5#_NF9UNp)ouSRf|11DKsQeC{GFQU-Su@kYed{Bhw@hRC`qUnCd9C9B|S1 z`~s^alo|7k{~&S0!~j-CPvfH?GQMgf+n&<<SQKff?Zdw9iCa`{r1Y5*WMYGPQ@tZo zxdxhX#zOvDXvHavuxc==%mbJHLVCY*VKf38;wm3^ZptqwQ5MDREXYoYj$}AqG9*~4 z(*j>2a;vjyd`=rLR4d1?eJ6iB^2UpV@WFo&25Wl*c3vH(2)y+$vc6PnS?--msFoIP z3C6~-md%lYY!_ALK9yXoav(3xU`ZF)t2e=7y>8$&>^aY~a=1JlQ@`KF?C$pva-f{r z7O#rd9pR{*lmxSpaP=D<lk`D4nJOfJ6ch%@go|-n)T3K+bmT_@`qj6{?YejYR5X5M zw@kG@SN^p5Y@cG;osntI{2mY%1haL?g#-QP2%f|D&XL82-z9duUkinTD#;u3Q^JtF z#DKh@1Yz>muH9)L<3zb=zIj&}KfC&W6YXE}EkzZORLT72yi|D$E>(f{T-cM+fT3!5 zH0;65;+nUw4Au+j<9HO7$VzOxlXv&A$u9^VJ0DwWa4-a*eN|b@GY(By+W2K{?o2WG zs3ho_w~9-dM7?=vK9))-d2FXPE$<EpUotBKb5ME9ZcrNfbd`|6cUMH?0ETtcp=^G! zME<4$7>}`_7VCznjEtV7mYTd~TjZd#lX~NJ5vq~{TBB;w7=!4O(lW9sJX(dGcuf$h z18r8Z$wUc#EN^`vthQ-K0NA8}L$N5?CKi;mXgqCcLB)WOF6+UW+ku}KF>d8B2bak{ z$lb{r+7BDOHa1cjC|8A`{fbCmaDy;$&C6Fr;()^<{U!ebJnh||`<yWGq|u3)Q)pph zD@PJ7(+)69<4XrNxg3s<O|f8jB)P#jd%Nn&WDqi{j^Pa_VZ{SKQZzZGY52u@q4D3@ z(-5^mdL>(&szri?rPBCOIu^s*e)}He-8g;3=%A71=I-%4uwXg~l#v<ImIjejtp#5u zbnxT=X;;#))W7K@hmg?aNtqy`NwcoREKUoUeDHu!m)Mq(=qAbKJhUh5OH}xZ&(0{N zmX*P&wicCNlAq^4E<?~T1M%JtlcI(yEdAX?oBGvJ$fQg4AVmOSim+;nK1$vPeXfSk z=TpM`GUSfaVlpqOxoWw({$S{}tK%7#VbL-mNqTRvh|#=Yv+R(01@g_pWv@`J3wbFv z-MEc&{r(PZUhDY(HOC_uB;clGm~BRxqyUW=Wit>Xrf6SZ6x(Of!DHnihMjY=6>Gbd zLqNzw^N;uF(4bnJ1z1kGhj@?E@RT`l^G%C7>rWmEbCZYEMoqlx?p=D>5;l=u6GO41 zBhja^sOH6J4cpy&KBhITd%sF*2<g}^yW(=~4`M80cQCd%SoU}H)WkeT^1VXOT)jf1 zRHX^<w-iQW2+T<I70MzL9N<%xl?<uoh_fZey`2yBbJBFK9j}c|wLL<Vz(7>$X@Cq~ zXDNI28BzJN?XNUcZETL{bDwriA&V#U^Uk@0jY;0+%&yJ7>`R0b2ZYxMAj~nXTsMcp zLs;-RQHu`ZL~!ujMN8kqrsKV?S==`<&vc{bg=u|iQCh@q-8*FS=VmRN#h+I_pBLy3 zOSCIZbBPG*>17`-=JT49#TgWd8<A{O0X9z67W5}6kf=|af=CojWU^{V4bKGS0kNh7 zG04ErgGGgW6VLD|i48XSf`3@^GGKKcqBK!)RUMZRww$OMy2gl3EEeq5W-wu%LwlM) zgzinHgE)dd{qVFmrNCXGz{>=jH07NoN&dk*F<K<m(*R<QFpm}?C#c0~QvJBTC6e8? zlp6d8xpH@8_Ol0Vc_7$X5oCg4&Zf&5x!$!#&>DxnF8GXT6#*n|n(;yw*mn?roOV_Y zHzcn5389A2YDR3g62lsJ(8nR-UF+~<k&7wSX+BCPVNX;Lphjy2dd@AXyz$D@Wsi3M z+@-IglpIoZ(`SBl{6*k7Z_Gu4XS`IBEYTRBcH2UV!z{J#VQzfsmHVj@M=T+eA5=kV z)JmTHbes#}6*>}?YMQwS-~z+EkpwuZNWbxYR;5Uf9Q;X3v7z5r`cW1|ZJ!!04e#V3 z-(0_Xc3%DrMcsn0Aiwim2p+QT@ja1GDuIiGfmF83dv<8H1XCt5y-AJJl*M3=O%h*Z zD9bM^l`754v^sGlImZ!<EhrXKhf#)K4;|DWGhyYXm;YAmdrg1}uy|W$7@M)I&;eTj zE3<OwA4FO&{WA1?h_4&&!?ROf*iMuz1S^tr|JNWeZbfBcVSiXh*XFfPX@Q~dL`^kD z2O!L(eJWoj`fw%rqxtErK^|*AVEa0US3pdI^GdbO`(;0(?s?NJr1P*0A}R}$IVLov zSkoGNf$0T=es7#H8pC234X(i1xyxoKnIFURAe?`%J|i4xB^38wqN-9FNre_1UD?VA zm>nz=Xr>5siav9)#>VmT5O7f@a@uFtl_2Dy)BjP^Hh-}U>*iiF5(o8LnAoYw9M<LL z`iI^5825|M>XpQ#<3jqy*KoI8mfU5r<wCM?_iW*(+lmOv`Jc&npdd+D!t7({+VP^2 z&%;X*>p+BlJNuKW_0X-@vGNT!r9+;~Y-7?dPzkH>IX|W!L?LCuLkHz8I^(rC(Z!Xp zMb0sqUgREd>{?Y8=X@M2Q-_{n3aq02Y+-WeVdrFdU?Md%)mT*5lA0T=fd`pB<7)Uh z2~T>J*`?zv6-JDRb;z`oQ9!0oxlwm=C-pwi(70zc(<^(JfzSL=!zO-B2{8KzaUj{c zAZaUx4e^LooM$gmW@+~I_c%^afC+mTRuN9&88e7~swPGmDs`)at|lpI0V)r`F@ujr zK6Mn4B~qopQ5(~XlMxmQboqG2w%KKcO{DmpIMZu^r0{v1Rl3J}-#I_-#oo>9uP#L1 z=<`ZW(!~H=n^?=&PP4&IO$>X*bK&bDa)TlO;7<?%MKt8RGm{8N)}*A%cvNV^MU+6Z zGipUN`4-N)F!>4iYSHXCc&7w#P+nTD6e4{_#GV$QnEb9g5^O82f}nQYr$N^#oniXm z#Tuos>*Fqz2B8mDA~xX>eT=@IPp;6xg<)C`YyEU|iruizW?$K%6k;xjvYEKyi=<C1 zCfKpF-4uWbY6ZH0oXYlhKgH4mPi1|eI|cJ<_J$HUGt7V0Z-s5m*bK7${lM;}f0MAm zAaK0^JF0+$wLm~8s;77(RPBO23yE&XL`}gE(dMCXhZW8#*AxU0HOr<5K&DABu=s1E z8#6^r><XQ}JS6bD>>ccj>Xm|FssyK1=DI$|Zm=CWNz7%j9VI~;6#&P4;XsPma<D-w zFmrnuDPbf{p5KBbzT+^Oc{^b9E=kAXdu@mdmnE3gPgSa7+h6&t?8%84E8d(VisVKa znX*MATb@JB3>kew!V?!2_VqL}DNsDAFusHL3cIjJZFSQCNaQnP@Ny9T><(ug*OI|` zEhIlk%fw#wT-s-f%<$`6z=ThW-j~+>;!m)M3*vOBV0k1p%x*J4f#<!SQJ2Pek!t<J z@~8OqAvft^StNP++Lam3zbCCTZn9p}2D8QyJXO=iozV|hEpPd@n?>=_A}>x3S(F-V z$HhLbI(hM*_ZWQO8>ikS>cvRcd}Tq8s(Hm{BV28cOhisjx0so&uw0c3=kvx<B45}j z^KdpI_+d4-NA-PzSW8bv>dt?XxhX76;PDa=c-c>h>t7ZnR?+TkEJf{sEv_TD1ds9t zHy+>z<l)}Cl!FHfxAa!!;p4!DaDuN?P#ZP%g5?W85+}IZ&Dr$|N$4&bQ#i$~MARGh zv(Ul7!nT)l;K`s60hR$)UWF`#+R4ZjrF=&;@;C7&C&kziPBNFel7*Wuo@z1M_V=^) z!RKdkPLrP#h5|e6$jxHQQn!qbKBI4yLG~4C=+Y`pNm`bp76+jK!y^`LSw2@?1HBYr z;2{K>D6z{MS|iM0Y(y_9bwE%+j{*~)!s47ZboPjrd|dlXkpjC(q6uq*9F*c`di!y< zk36ANO?}S++x-#^;r=!!b$m#2=Y_A~X&VH&6+<C^)XR@xq@s&gzT9Ps+EVjkSypmc zNyvC5T<q+c@<|IxJ(&XO<f=@fh#h4|SVYK)jvU+J`OrL!jL4T9yO`d}dRMF%hVl)T z*pK%>c>=2rm1z+hzsD}*o%4^h1DAa2Kuu@3^<qpujd$t)v)I(@S3ur%_sC|7$rY%x zxG_I%KPKu~|8SgHeiG{8tzuycH?YX`W9=)^ctr%+`eA+=JhQmVj?<GP&eZ=#{)Ku> z9zuTzwv{kShDyXAOfVvoIBBh_l?D^&1SfwX2&#D{^Ej-ake>Qt<0$JleS~L?xp96& zrHE4Eg)@aLS2bCZ_53J{E)z^A4%1kED|W0g?a-YxN{AcRi#Prb|HD+1q+^_&A@Pe} zB{wu8>)Nm^mEkMO1Az3W%w||cYnlhm7|0CDr6uZC7st}&v(12ge8~6X)w~r|ylgaf ztD6-yiL-bGR*6nVldt{!UKp~nANdYaK<K*5Y*+mx0VCDLT8ZL(x=fE{1y#taBFinv zXS!|vZc^*IkVKUN3tDk17L^K7gJCc`o%%~QYhZC5Z=V&lz33OG^s3(4G5qT0Gd`Cg zmS<!xCM~I;So3;aeNAyS1&9sTXjo+{VA!=6C=L0vMKgqeU|zLDIR$kvw(Spg&nKrc z62!f}^FJNNjiASAXq-c}YF__Y-7F0AJ8DTb$2Ff)9QOsc>9yLXF-WC;zu)=H5hsXH zQR=-4mb4#<L)=$<&F^cWmy3GeNYIFnPpkE;=yXm;XlXq#KSYVEs_y{Q=FdsFxRBu_ zs~Na^mHmF+%$iCafw!=9z+Rj0CcB8=n@-19<tLn12_4W^VuBxJk`RtcaznIa;KBu3 zYmTDv(YawJkz{2zqjQ7~SUG3U=-8lRs4J>$CbF-_2}sn);bU3U+RvspIO%rL0;*Ex zR;ERuY;S4f4@5}=H;A=6+fhICql-;)L*Z1jCJqP%`(yi0xy}{-lu@DgaP#bln?Jh= z9Mt5jdY4lG#gbMe$HmO&y}`Rgc=cEsM8jeaiPz45zmMA>r46Pr{VdTJOGZ))`i{iE z=<iel!JMT2JPLz}sE}(SNj*fBggXYSJ1JbMX1HazuY`UM_kn`O&uGGo0^vl_l59!y zb##fIeh864MFj~d<@DD|eOl+D6nhhvhF=@qg*M)+_mlJ7yMX@i7l`%8_0!*NktjJw zCx<x29&wl2ZIjI&d_iAYXj+<7C*1jsQJObP)?g;HCZ#9hZ2p!TXOur_JP}^=J7880 z^f@ztCi|e1S4<mSi!M7ZU47Zvh&S=dz}*(z^rX)8XRw^{c+jA&CPP~(4;dVi+$^4{ zIBh{W;<YjY&w8We(<{%`n6YBERg>yH>zAjcgE(lS$FF!34FRw^;Ru}q7GMTn(gQIk z*wU<5DDc<}_=1u#b_m97De4fOV6f#WAvvW_?9QC`W^wr?-?Flc?%L%!h!BB=J`rGo zf;~!{Sd&(8p+sz(PNfh~`yqQweU7wAvM-jYE6yKFeY$~!l0z=uce9t%ev{A`T*_T& zT?w$m%Su664^p_MHM^aQyoY-2<=232{VeG`sFHx@WD+-Aly>6XErA-{m4ocnunm_} z*x#F$5%J2~mpc1NcQL=L#-VHF@)q<o{5^NGzWfh*mX^GAmo?dQq6sn|_q+xzip|AG zGu5^+R6IjLoMJQ=O5*6m&%y*t=I>V5PR3g0Q^1!<3R?`F#hlVfo6jmb_7v6-L*&;X zCdG^FdtD++;O9W24y>xw#;6a=E)EFOgkK{6r^b~=VM`L>qky9EQQ!J|@-b<_m~1@1 z0e<+$Zfryi6+aTCU_)-3jfCW*&R(PEsHvM$gA!J^g;Vm9TVz%YII58C26R(&p4-cJ z`h<LSNFrHWPCHoT7Y%A?Sfgb|{}b{f%t{|*Lw3}C9e{toC8ZFU>z%ZW#bwu7paW~2 zyY~ZHT2_gS4ol%_HIlw!+P!ya^7RLF<CEG}G85#o(qx4T<1+qT_#Q82lGWC}$!1Gl z{<KW`iajAM*!+%nD8lnexzRU^61H89NoI#pNig$Je<l+<e3b*G7^*s9_80E6=s2L5 z@&%|PTF60zo0wd(#%6;AfBS6<ZjrHDjaGu+K`L)WGNyLCDp9MXsI)2b$k7ydnPL|* z9mPViH&Ej>sBR%*N4<Hg#>#MU?7@){vV3wZSGP>J`tPst)g;>1u{b~_=y(1ph`O!p zV1V0}f0Tb7;|^s9wZ>_^kc5d^4`9HU_ud)`Pm$#F{xbS<*-ua?6_ej96pg(?6&5zP z><ysBz^~n#qWvEia*96PI`9n%d*_X62es&E)758iugZ4V=ly|<?v&sa8R>237j0%0 zna;c{IR~C7WN?s`o=nCgPeyS}LbmVaV&U&uP8K#Z+zo2HPF~WeHf~~Zzx%Oyv)I40 z=yD^fsK9FLVYgqbG`LF6)+y)^UBgJphzpQfAoa)anzt{=9-@6i*dlStkT%77{nECN zi86VyK?FM*e~(cMP)IGZNL&rXBd?j)`bR5?%8}=$>auoKswDcp>OE-5Fm&s56opuR zUGLK)Vhn7rcm&hHNAIsW35jgDKUQk68Y?-83xLBFG@(4qy@R_r^2KQFNy(4XZXm+| z2S{jue)7bS4xI+PgyDPXZlYz*aO4z2M<&GZy^?}EuH};KB1K(T63_gp<SntH8VxqJ zeUb8|V}<X7=m`SQ13EC49UviD=5gr{Vjgo-=UZHCoKGpA#Bc33IgagL@5#y>ypu!n zTs-%_a12I2NGyX#EJWjV%Wihnp(sFW+3_ldqS2{^k>*0p$6_RPV<8gDmtoS>F8`i* zjuZAg@{9_v_j3y-B0%E9VRFK(?KMk&!M9~Y*`l*Z@vrI+$c7RVFoF?LI0@?3DG*DH z=W}4eyzGYnx%en4cp*2Rm=p0R!pKUGiYgqrDIv%stTJ8!tss;-%9^loC-liCK>Hm) zPX|dE*TzO>SSM=>bK(VWDR4NT17i6uW;Jtm{wQA@`qiY%iL=R!F<q3+1RPL_05^vP zb$r*SOJs4oPKk)T)@Bh;icFe5wkd9aPAjJ#M7i;50KI)nGMp!QogfiIxq50mg@p7m zb}?_cL<_|RZL7F=j}`dE9}|8bhN>c>J1X|H@sM1<l3u)lYM{~QyL8ke)SW{X)O#AC zvKuXM`kMZpN`Mx=Ca=J>K(dsp%0U*C+bc>=7G6@I0^^t)<Yw2emihA~4k`hk4S!Im zJzj|D-bB$lv2`@q9T=QVuRf8Y@&Fi{kJ@*MH0q^S##;j&Kf~tL4ZGiCb4s13;q+AI z$=tG3%?e)7RsTr^tYbP}1G%L`1U+u!t+@PMPORr6@lMLceuKNXA+{PPZ)~bW(jXWI z;f83uy~rqVxL1RoLPXbhExVs5D%+l^hN4YwW@8DwDpLZ5oUkjzL?zEUFOfuJ85Zv{ z5WB%I`M*q|vNW4F6BcA4ir?&<WB;6rlH2o&-zM4!NxuBcupn(}MF1E4tLSAR*+zQG zGQk{&DyJ!bqI>>vO+%R2BlLD5_w~FE`h;D`qvjm!LI-dFf5^Bp&U)J4nvr<0@c_r? znJZK;#a4xu(*i8A)$&}B&4oqK6%L4g7IM^Z_MCSrnZ_mJLDO?sqX4y1s8+2-Wy%+R z&u8oMl-%m`q4Wwb-<0&4Jz-z#EipwJ*=hJ3a;k^>AQ-imBpYS!w3j6CUwxC9SF59W zjkuuCS}D-m7NZ7t%G^Na+G}r+XlIO@=h#x(kqqbJy)=B5ov^jOx-eSyYG3gM+ES+Q zd4B;$0-0S!c-&ye%iDVtxl6loqlxZ1GA!M!c<@oZv{ma+BOW9EB#WVP!3AYo{;N&R zI0dZkL(Q!-BF`87uC$RtUY3}iHKZvI<83mV8p26Ia9B~~l>AsKOr*Hm&l+6PI%j=S zkBB>{oa4^xJ`POj>AQ}9_P#5!X*LkJYa9Zp*IxBg9Ma<7&OOo$*Ssa0cKz1Wxr<RF z&0}#Ym?|h%&SfUK_Rln_^Qj1qsY4>a=v@?6=h{O=62oQIFC$YsGhwtvw|*^k?R}Bl z>)ey-Kt!UWk%TDt%x7ntH-KH4xolv$ElRS`J;o^lcDMI4Wf-_L{>-HIKX!d8dM|xQ zZzOKImAyjmQm*ia`pxp?Lk|DBFvI$H{h!2?D9`5g>}aT7NW-(=4Oj3;Y2)HG@Li(K z{1DRKk;3-hF()q!Bx`rcQllpXx0PT0>E{&oQSt<O-pd67_&)feK@@6qFN%jk)FJ>= zUmr0Q7Q-4tz=E(E0CBAki*nj;bbBToY1LF+qD!vq7%u}EIe88OpLRo1JP($RyQsEa z&_ukQt@+kzn`7MW7qRxoH5^BD>?OZTHUleq&6fqhuWhlK2nw=m!Yyq>k(K50%+>tt zkgL_O#6y%bjeVy$jxX!a5OTGtRZWpO2zP<~_t*Og2f%6Yoi^Z-!`;sxAvSHS7uFzh zShct~eu^Ry>t)zc4j}00i#{r-BRc;IWel>4JMTPYVMV0?#-!T1R)XL%yk}n0#p7ZF zl{m7%M|Bi73utMT9WwxpR~&FP^=y!V_A2O9dpxY5LF=f@Eu8wuUGVwIgXwscn<lb6 zD9p!#M|{*kUYHO9*NU?)9aDjtiCbJ<mJKkYm)DbQm)#1NJfjtB16q%3tkhp}zZRge zhVP}93L|rvJLYUMqBmH-dY<2FbSL(ag4g|z`<+(WL%u;<7OSH-iBgFI>qnw>@+6PE z@^6$WkHGD=o|f78zyZ~0N=m={%gXr69ozGjaAmPCf;!ACtIGd-%v8-i844$)dn2!~ z#?+HrnCcj3ZL{&pX!d`mWN92;3g%@wWJ_pVqpid{;e^!-{;R9MM5FPxO^(?Lm|3dK zd+F^zk)W^d(dx$B>5WZT19IWEBps^80^;RQbh%2XjN1MPPhmDo*EOH;d!XYzeez{z z>@HsPTiVe}pSS-=?)axCByG_;ojJwm!?NJ*YjQZl_y8$fM=FDstrw`4LAPn2Al!Bz zaeXGwQ1Z<xXrs-aABvmp0FUa%2w7?bst^QI#qoJ+pN_I9w8B_FFM&k!=^TQFNWXx6 z27q3DyC@&&`PXJ0DQ8;2ie{QyXX`qL=;+{$?lIQ*5?j-89X)B&%)NS|%4D;vT`j#p znW+VHWzG9et1uS*7rob91qTzPJSaO@BZUA}=U-(0r&zi+y_F~`=F04pDzIgjyTyS{ zrRiM$+E;02*~z2pAGVdyr;O9Ofr3hKa%!nCwE(_s61oVq`KJiA=c6xNBOMCx0!d>m zh)#=W!~S0BHeMuc>a~4;<K$h}1rpl&+NMZ$Ogi$@%L5^VQX}qBRbOSQNMWb+o>O*_ zHEZHvE)+glNSWqH&+H(+Dhs0V2jOJBu}cKPS(Xj}z3}mA5fv9W1_C}P?Sp^6CM!G) zYyC?Il<%tEj;6h~H!hjpVA0R?qbZB9@gj5p`D)upDEl*gnqpMU-@Ma=Aq&o-7AiJW zQ|A}`HovY-*}Af5-}kSTO{Pv2lDrlFMzWQWc(bnrC|#QQ)e?TNL-ENP%b*$}D4_}} z3mxY=K3ko<j70%f%2^FxPb|vKSto#m3=zaGx>$mB<k9e;{kjUOdEv|pUJ{e=u1Ikn z?PPd}!-4|UQm3b)(B-z>f3H+z@7mvihti4bex-de9V_Ao9|h}6`bZkYxo$d9iBN4E za5ho^VcZM;_<%Ld9%p&3mVn8P;L%1OnRFKXb-Pqdis-;RJ}JdH@{|<kxr<U`h%p~Y z&}g^<Tp@(O-#0+O(Y{`9_he!*l1<9-6?a)4w*kHVUzYr4i@}dcex5{r_4FKr5%X-o z(}mlQA;v090mOZw!jw<xOp+ba;K}RLIHS=L98x<f9r&_W&o>xWhO09#=RHg@mj)9c z`{GPWak|y`^->|3lL{6un$%1ef@9mKt2Y|lm@~EZgOc<E4{2Iw#~NeWOAY<ag4);5 zB$`V_VIm_}J?v0}MnK3-FaG32Q6jwKPnQSKoCYv4SNQXDGngS|OvxoZ6y%E^_k6;1 zweN3JUbM2nQnJZZ!-7E}K^E71(*JN?F%y86fNEIKVKU-Jjs}R#IW!r@OCQe^0HO~O z_d8s9?&5Nb2VSuI05p$Kd-nnUp7U```hLdAU5E^r!RG~idz#H(WTLCS%sIPy?X~Ns zs8Wya={sLScvO`+vh{|xBeQlshK}7dAf9`{rzd&uisBJo_VPOL`-T0G#OSX8zQO0^ z`mt}dUZ9W%m|rC{K^RuWK1=(&EWrU}jzHPE-G$;pj~tF<w=uR&9kt^XpmgVk!6=*> z6<!1n3LAmNrU4Ci{Vz;f*+bZZ1uC0a`H~HQHs1=S4oQ++GvkBm{xveoK-5iT>&=b7 z<HSs<NK+H2@Rn6&752Tt04g72d)?_-t##uM*&r`c<&NX9ir>h>yE`dbQM4zqtsXFE z?&M{6MMkwY9`DHE6yl`q;l=}s6b(MFqlqH=TJ62_TzKiNvd0N?;)65sH~k*<5KYui zThLZpjKAcs&<dRq;Z#ZUkOHw=#^v4gZ2X);MbzCe^zfX6syG{ZHRbNN9`+lbc~znN zt*KYB69f6Mc7-hpIq&_2Ew;v&DTw@1ykYr;;+)ri()F~3;zDGUt8(>;3a@*vwvF~G zXg>kP_)UqMe!2D^g$AoTa!8s<tXO+;@l@yYN5>WXeZ$Z4UNoX}m$M~%g}eN!lpOk@ zHbv4=q?E#C+_rs6QrecX*6btgT(Fo<r)ks8Vx^SVviLZ49a<KrroPrqv4>1CRP2ky zi`gw$9ld|)^UFg5kGxX$nxpDkaV7K|(5lAcjIlNT22VMA=o&P#o|3f#A5@6ujW1{P zbKXf$V<ro2PGbnffutw`fm5==Z_$BILN7-?9Fg|g<@~s=jCD$h5jV#76M66ct;8OO z?UU4&<JhvEYR>?SOXebJ!bwmHpUk`^G!k?Hp|hBh7J+q)Y~-E}Ke-hZ?Og=X2+S-E z?3dwx?QN=%rZz%8N5tMZ+z74*zu3cgb@LDOp=ecfU9a7+V?r@Aou)$w{@Jv)O(<A2 zCSA_Ofj^w&`NrR~R82Rwa3sHmk;gCqk+^dQxI?}Y7B8g)T)+8<h=T?eJb}T-wo@-Y zethG>*nHt!>Yl}ZrVGnt4bzEejb>-v;c%w9ix@bVWA1hTJ_+006dhjpH8L?Bo+{+2 ziS4WvIZ5UuyHVRWi2cWf`#qGEu~Syh`)V{_a;DkZeiOw-y9o|Qd6odIqto1FgU3gC zcFF85qrFdQ<P;=n%J$iOQ(5bqVsDNN+$K3dAqS`TYFAz!r9(=^Y6%9TL;8+RN%^qf zh#wdraF1@ZC&7o&zwYUqtAF<Vw!<KbbZ|IO?yL`|s>v)vJYlDN2QLq1$3R4`fP+qc znQXkY(A}T!nz5#S;cshXtvg#>t{6r)U(Pvni!%E(9Jk0app1ctpCguL%%*15_C9Rm zUCBP9gm|0`n%c?~T_L5e?6^=j$IfI1)Sgok%waQ~0Rn%z={Oqwb!V(JsVKB2-f|<L z%>6?=Ev&4)KC}q+(DF#!)rI$y`%$lr-wGYH-?vh?Qpz&X(kKz>emx?*db}dIre%rq z#1q3;tkS-~wouZ!jb8|vN5s?M(qzPHE^UkZsGY%5INLF>f_Sq%2#RU(CK<zV-Li3J z`GUvRfMuqtN*LzKOMp7-jY`gNhu|=!y>K^tdKs~fpcuk$mQjQV(fdwJ*@_CN+z>8W z?Vjd<F{_R6h1qt?jfIHJCmWPW_rpc^PZB5x<u>3#QWR}XVu)(U)DoSlVLm@0I4Ayr z-PUGw3#gW+&qbfIhi<Ty0a_(L7%Sw5urB_mHA?b+ndcR$enl?_;rEJ27G+g~7YyWL zkbZZ8O+MbUhiO7F%YA_+$)M?8`H4<%oWjjuaBW`Aszp05zbsDP(6YOo2wZK39WAoC zulN3{Sh0Pp%#G-YoJ5JYWlEZu=2akkEdwbP3M^qoMV;GXuab}e2b5-#^ou?rNxtVM zVOq0V`|8jy(4odK74Y);5$bnSFBJvxs5N4->mQXY8+nwN9l%vkldr}BeG1tp@Z{bC z)q3Yy>7ST3gn<7c75wYjZjXc|09gOM)%!GbTDLE$a*B`@WcD4NB{!xG=<e730&|U@ z6~R^{JfrQUWeeKw_3>s{y^O|h=Frg0PORxVu@di>f)OAMY1>zPP|iPoDnGQpHX&zq z$1l4AWy4+glx!-CYY17X6e_X-$1`$WFMM3P)d?|BT9m9-D@lS<MWh3FM;PXu@tFb1 z*cR_o_sfdBA%{q8r4D{w6u$j8ScjeBE2tqch(#{a%dPcJq$PP0KMKd@3C(nlePN#O z>v3RPH<_q8A|mW<m7{<S;2dM?We!y^OY=L_V5}8?)ltau{pu2(ESbDDuIYA9xJLE5 zuL>%O-I>9)cSM++ohXd1xS^CjIR~e$B&PK~tE?`q1kqumzrf|*=Zvd+y__+OB3`s5 z^U!;9=Q$4NfW1|$nz0vp<tevTX;Y(&i6Lvtg2<p%qo91sNJO>!^YNP4v+tSL>A)-g z+W{Tv)k!s(q_uZBVy&7Y4l=TbfgAWZprQv%l9saB4W-uf&TTlSd9?~fCHtcWW%q<k z_ay7&B}udig1l~nPw+8Ay72iN#YiX>Qb1Xw)LwKi7J@B|F~0F0IeW_rI7NG1uo8(^ zhO`K<;)?nq;MdgaX27CWtOz%g-$9X>mPYBSb9Ma^2oF?1ioS%2p1Aji4xSk~9laCa zjo+fU-T$1b#J${+c2la&Oa31Eb*C$KT@`wQT%<EJWhwb69{@6Ey%Afg0SB^;zQ<0X zS11=U?nkd(YBKpN{}^H9wO_fw(|w^f_|P~RdPdrvHMjX&rN_JygsM)4y4oDTxlUIh zN{>sE>Q$@C<H|$wxT5)jebFFFK|~CqM(>%LkKanz>OR$h8IO8L6$J7Qm3X}V*MQ2K zr{%(To+pQfL{iDHHUvounYkcbmLAsQ&te{3__≤tL;vCFLUZSd!MLCFP(#XnJC? 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 _GKl(Y6Fam3pQ4ur_@U|{4S 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�}D!?*dngq&qNJ{^=_BbHJlM@ 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%0AqRVwAYt6py&$E?(@XUb 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∾bGx%|Cf(hU0>u?^GCJmDPffGwD64Z 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�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%0DfEm4 zS0QY9Gu!zb2SR!<XMx1C5{o33@Y`uTfU7Cq!6h?yEv3=BM$+hV0o`bQjY1daIIgxd zth)#F1lHd{7sJ`baCWtcjILw=yJ8%bxLA)a1bVt@gNvbsMpSv^<Y|!(>ul?)S7av4 zyDqJRTq`JwD~Pre59SJ$sfp9I5;|$a&d?Pu0p>(kcVK>WQ4QDS(7L*tb(RBg_jXk3 zmXLdZL?7r2x^m}|A9Gy+SEeAYibh<mq_J=v4A6dV047*h|7g6KYdl<|k?)A36<ieO zaw^LN7_PuAs$?eIs?4{+op3wc1$V<>7y=_e*JE7$@PDp*6&eYnV6-BskOmo$Lpz*P zW9SAz{7e?WUt!|$ETl2Q_<2S>!HSjP5{#d3;;fqWD_<<AiQOJLrDct+l!weI?Y;}A zw6jg>q|hntUUN#zGF)3$hE8eUHm9^zoSeQxcgIf+2dcw?Y2m;l;lT88U`9B=;$KBR zX4FcfI0sPT>X34IC%?z>xo^_E!Q&u7_c);a+&m5vbklfl8qYmQ3tl%Z?hZW;(wM+4 zFpQRW)ADYf2MN0Gg9qV$prze3t(&HG)2i;#K+m|-f!1}8flx2{2<RTKyGWu$qD<mp zi3&R0JyD_1{5P3EwPI6YngWjlLoeu_2MoWUd%DD<60;;KC7zVfh;uK1XLOXz@a|=> zR25$V7`c0i9xromhi7GPx?AgB2$r(49&mFVE9hRUgWd_cW$RuCFT#3Y(c#_*n}9Wk zdowJCE$}+L0Rc?jeHwPFEIgunpNhd(x(~ox@yv&ACU&<S(bn9Pa_=Fg`-tw};i&fh z2gvN)$KV7Uhm-I<`~W|~DR>iphF>7m&j(e`hY}x4e4;`=h0hgZiQ<;)b^n9#Xj*lj zSBQ4-)K`F(^E6bT5kF-s&{(3WM014Ot0wa)l&7?o60Id-B;q96s<Z@!w3zd-+zfg; zDAZA*E(n)j4keed*Xs$+<$JLr?)5A@gG27M2o{6>k=pL{3WUy!(Oit|wG8*&>s45; zZE@(mxa!zz6|9BlVI8~x8-UA}y<UWufPQm55BVIU>v1Rt=8m9iBK!|ROBL4>ghC&4 zY)qY9g&@OnVSg^>j-ZQ`tE)=cCc`wC0*}CSm;sN%EGUNAFb5t349)dy#AH0a3!8B* zf#;eacpmNiEj&5JC*XFUA79fT2X(hmcX5T7$DntgA7bM77<Gr9oYL3RcAw8QDYwd; zYZ?rbBK0<tdLK_tWpai7e3pq14;Od8iH|huL8C?)m1<O)QKOB@FzR-r#uzo$sBu!Z z%Te7CSqf!1pXSztBx@6wQnK`_kTZOEQ%x4XQND0}@=Tm>)a&3q{~q2WCdKvt4=>xK z7KaayPuwdXj~<)W;*<M|Pc*9BsQ(%DkWqX_Uz<!as>&$0QIn10qx#x}kLq)HS+`@Y zt`>mF+b&GrX8uJqlZeL{U0mySaUN^CxRB)P1f0j(t}bv1T+GuVHj|$1x>PxmE<7z_ zGo#zCTa?5#Cs$tudSK(OfuM&yUA^E+xE!tmE|<A_!!^(!SlGL`eB~Md*Fl^nc-I}# zh&vVX!F_-Sw_W$c128mHn_NN<YMZ<3YBQKvp_1~zr2ubi+pc`jmm^*2Fb>ARc$fg0 zkOi^=F0Z-V-~lg06k!aXS;L3jY1J@<JiTBn<0<}y1~qZ@8H(|5)x<H|#J^(H%Mmqk z(TuM6*Gzn~Q5$u^Df9`E_<bg2eaIwYe-2rEFn)tc-5OOB7sV)zf5*hPg^Sy6;+9c6 zjjA!K)~J9{yN$Aqdda9gM(s7~&5-hpmp{vtXUn3YdL5E0`vX{e_xh5?>h(1oh0uQ* z_WFy^C!y-vy*?$(r@ic6XW=_-djft07VW)$f>ZD_`~s)pbNCI;!0(vl`tXqAEA%qc zSB-ilJO(zKIG>}}ubciIQtz0Q4gY^gy=YRmg@@FB6X$7nGo<*$zRIaFYL`*9Mg@%G zi}~6lXw)8~HX6le^z|Fx&zIu+`8o8_ch>MdRt;`5e!n&RnUH<Nzsp_6C!?&IIqJj@ z>yi&}*O9+lsF^F%c&{$`qq@++y3ogUp+j|{PwGOS)`h<OZ;^*Nza9Q0qGpb+XvKeC zx7pFU&=+-~Z|XwF!XXc<UC-q*2%aDfdRQrW`a?eo^9%r%zMejMG{?i@$#cCnyh?*k zlZ@wT7^$QO;AW28!z#;ji}KzIcfcUH6Yc`mY#!EZo_pXL7z)GSUPx0h84?<)Q5wLS z&*Q%hS2X^(j{6F$X2K;TpEO<Y`W|kZo}UpmskNq?<{I^Q*aqgA_>)G>`PZb@nUqKW zze&wBsSCm;^@53WIoz1kvnIa8D4sf%X*_4tQlpj`wcMzcM$I;Al~JpWS|b(oOlD!> zsb&S{VY%mF_VvtCD>D6hnDRZ3GG_)ot6@rgX39|GPbIca4YmfJRO7FOX%6ld1U*l| zv%s>_!~E@81Weu@CT|ZDxrh1QvkaC4i;<K#d_W4GIR&qr!bN{Or2}+?BzA45^o4li z15%hTQZB&<q;L}=<x*|i6?#B-=n1&~loY`Ar!WPiBmz@F3R6Ierhsx)o3*LuB_^o5 zD8bc89o__yg^{?{>-SfzKcAUQDSB4Kc8-rkOi+lOIa#3FPL_H0$Uj&N+9S_$;pI^H zPQV}LdiqyJeHp%V|Fwx9H44`jz7z15NeQ{Qnz}mypPJO;;X46mO`MPNncEj9O#DZq zzBlS8qfQz1vr)eob=s)Ujrz@~Ge-R`Wpg>#W<h7W9^#l>lO(FJ^%mCs>ndNHy)~tQ zwTX3Cd`qq&y&qNm&ehhg|7nh!qK5@+E$KYl)Nm)@Bmu9cLUlCjZ4dVZgB}*!9+uMa zan`WKkyH9KDYth1Lv!=e1E&`8t+@WQq;Eu|qk8{k&FVLG<VVil7-4O?ft>MNWm?j| z`U7j%2FlfGkhhSscFARY0h|bU^kkpsO?V4-hYa>BLZNptLk3$z>>E|^2<(@^ehu#` z+X46h-iHt2Bls8&0Ve^T0DK0Y!(mL~9u@QZ9Gr-^NWs4-&09j?tV%maq#pWjG{1UD z)AHY2p9A6Y*V2Ad+F83YiExdKqdMQg+Lgu6jkT?uj<+c^Z#yTtwRN&(Tf({m>TM;_ z#t|_mf$zVZ?5bGooMcMjq8UYAYVArRiBl3gWsFAC!{7p^MhHuc6qXk$nW52C$%bA> z^Vx^3S3>tkwrKlt;McIKf?Q>y|5A#8OF1dUPy(z|Q_7$MCIHuuQZSj6ho}fw?CL7w z+Bzj;PNH?P8@o!3niCsko$Rbe>JUy$ikQ=u<6!&-y~*Lkj^RN2aG+B-&^a9F5)NDv z4s><UCKsBdXJq|3Z6fPiCp&6B^7i`APnR`lFsFHg2G&VOWZMS%v3t0HE43Bf%B8WO zx3|d>sc>IyaVdcwW>Y(hMPL?pO|wSm=YHXz`-cP9h64I+z`)suIOtAvy7wVknqurM z239ccx(kjXE-f_p;%+tSmJ1_0Zjg!JZq&d!M-j)<0$izzyFN5sgdIiP4JP&O3yvZ# z!^8)NiyLC%_Zl_SsQZi>Zq)roJzx}16=*j+!XY)%s8L3xhLra@9pMd)5M$v^xI+z! z@ANXkdT)u;@blj4XotKpg6oMIfZm%xmo~f;Kvzh-3<9sNka(H*z0BQSCV4McNW3F~ zD<s}j7!5Z=I%EJ>NIa*><dV0E=c@3E?oFqZIA(wEur{$n*G{~G>oC|5)P{Qj&*0+g ztH>`Q^wm{W%4NY(3UYk~?@%e%5!kP6@4`WN5AY5yJcA3*;KDPwK7m@mJGk%+E<8g# z_W%xAfht1Zvq-;-YP4-q6UPc8{<Kki)+X*AN{&Bc;=dd9GhH0VmrB^anMnz~1W*$f z`fLE3|7cRrvPi$18n$h2;^)G}oe#y^I!y9ECdQBKx^1LU^^KwgB{mGH_){hpZB!$p z8cW%(N9EdQ%dyX-b>ev3NY>EbsEdv25VpBXO}t~+<~o^pSEITZ#iKzgqPtO-8P&rm zKIagc*5Xol!Z$WiV>hms`Kh;2mm9@%Nh+j|QGJc#Yk?*=PbTrJ>kOQS-+(JZF1`^H zbo~X))2?%hFzvK$(ZCw|catgOuBwV?VC~vVcX@SDtZk7s^xdgXwz78pP0AyrcxQA% z@RCu`yB?kZt*5<D!hCovIu6Nt!W(+YNZxxE@Rm`~`x5Y$QP8^(o`c1(6qdnqSOKeG z4y*=NQ{J`O={l;yY|&`SysBtx*M4GgOppyDrp%3~Y7k-V($%rHxZMA2z*zV<7T><| zO!O#g=*q~(?WYW^e7<sebV4g@$Lz^1q8V9jOZdfcS@<~P+eK7{P6@4{C+jz@-z>7_ zlxrg@u4-8*U(+(OowcJpVshiq0xZ~;TS4`w_^Yl8)ynsU<6^4oV-WZvXd+)%;KbCY z=Zk%`g|8VjY~7-gN!r&PA|o0(8uDd=${j7NKm5vzkM#9Y;4+AJRO&LEFEOf8pF;Gp zGW8`zRPxYO(3f1v`15rL$@U@HF(f;MWap6V5|XXhu7Rqd>ubK&7X`B~QGhX)9p{+Z zf?LPBiszS?Z`+;)O@pYZ^`k0hMp?Ubho)_*Y+ybU^N&O>rrjGwOl=rZIVari9jswZ zrZ%d4+;mKr{}=1@|6-T?zu2Y!jrj(I9;|5Fl|;wXrj@fyY2B=0P5+HuW({jGwMpfp zq2IFmsJ`50YcRzdZhzg)_jAG$^xcMt?@-l5IXV?uJJwC^Lh1qil%bxv9ptBdIBehD zN}dEx$Wm%H<iG@7?DbW_7<ITV_WH)cROOfqK6Ohq_?0ae3LzhgpcqP^6ehxW(1P3d zKX?d+z<o-%Um{h4izz{$&g6U#bGt{^t#cSyIr9j#<u8cid{n>f-8FISr)_VeuExLR zv;VezOuVmASIU=;4EfR_CZ$(sx{OP`V7w_NbpW1_)lRVOJtlr#xVY<0e4tS`8g;W# zw-|M+QMVa&yHQsdb%#-R8g*Al#doYqv4(y>wNtURW9?-1!aZu!p*mh&cJ|5My;}wl z(hX%FBj3B5ExbXcTME@^vw84@nw+-rJw@tXN2MK_X<v6ZDp_26x50MU0XxZ(-Eitu z9k*sW-)z{ZayIaTtl#&nIugI-Tc}bO0iMaX1eU>aSOF_xHCb9t#ayzZRjih(*-ag~ z^qsBC+rBlx>7Vy4>hC=Ptfal~QL2}T)B7QW-YM~ZPpIyl67N1@r^xR80rVz`m*M8s zn<QS`iT6u549v{lBk(mGg=2s}^nMG+;X8KzJo=1^`a|LzoL1m330<nsj-&~)sj!_@ z&F1x#be&_WMnT(Q*3cgb4zYG|5y>@|pO0u`t^x+L?^b9qA>Y@E@@RQ5TXvg$uY|fV z`zECgB;-3r$oDOww)cjOHqRKsD5FM(tt`#NM;rCvzeZbNQttczMmyZ3@^NBgw1p-< zE?nGr6L%VwX_U*TY@>3FavS9}>H(vCM){4(4XOA}*3g?<R2{u#s(01{)}{_SR&!kb zX#A>Qrz3u@-v<5kvY%7upuY(sdt^hzD238sG^FddBuJ!B{q3MV#6~u+#0LFw4!w)$ zzc|YJQ`3OIgG47pd}r&yAN94<%9W8bC$n?XapC?${Fd_^jhwSon_^b}Zdi?<Nx|P; zdtm<Xr$A4*9Ik*X;VS42G1LiHmOYN}HSi?G#EofSjX2QA+OFqQ;~us~d`Xay%Np^C zwf#0iJi0&P;|OcJE-c06)Fr#?LY!4uBewA`Jl6Iu8jo?6L>-+&<@n{5{kKcVpyI}= zXRQ%C%>VLO+Y^jmiW_H*_{iFR2b*PT+i`5_kFrL58f9(2mSc>ovPOJmZNGs~F4f`d zciXR5b@J-!TT~Y+s0$U>g-Yr|rFEgQx==-3XhOIeaTDv({ud6l<*UcW7e8%GrP3%q zHe!77WD~D8N?$#`;ESIzDdqp)tSd|^Up+Qv{j7=e)nilK3=^Mi)J&u181<M@j~g}D zsCh>H&!{Jjns3xoAr<#f_+b35PPB72o$h}W@_@76puYf^XZ${`>in}Hhgvspg4y}q z@VL5XHk8Wr=74U7`OD!Um<SJRlS-(9$xsbb!3)#i5tt5mbpKNh>kr))alW8j3y8%K zaAqO0$M>BkHK7sWaqxqWy=7C|?0m?MY@CeB(F+yXnGsFvHxK;}XLc4*-G0kv582$8 z2xhCc*-wIMn@w%Asckm3%~ox*scm)@P}^*3n@#PqHQ{HwU<S}e*_;jpvu6UWlKmLg zH@Uktls9U3U(=lkx6dy|J#JJrf4mc0Uw^z4Hzj<+yVU$N%cz;*Rr?$h=VrX}&)^Ax zhFtZCTW;c0!<$Vr@##j*3!i&D8UCFo4V3>Gqn<YES)&#jWu7FCGfxu7J!cZlgTQe- z1fcA5joMukdo!^OCbmAjkC#k*qfzTHa31IF!-lrmesySc4_zC<w@OCpn{xcL#u{2< z?dGy_kN3IG(t{flJ-Ch0gFDQ25AII%;DS<*k8vAz5AIj=I2iH=c8?DTAK@IV2RAQz ze64Md!f`kT-vM_%dYl9%tsdL~>G2V82c!pgKzjVleqW`9uBX@Icp_NG!hgiY-bCle zZ8q_(M!jy-Hlwy1wZo{LMp@R-4c2aqC+_(R#}bUIxsYbNLQb@{E{fUNt_2Md&u}fu z#Zx@CYq5lUc3dD_6b}dm{R=hvELZ{DnGX6_!D?8lmy!Lou!d~@MY`s%my!L8!B$cL z)^m9N-LOG<Uxb%oBfJ8y!fUV@UWe!44cH30cHr0Sqh*r+O^LTT4e{%&%Kr{%*_^$Q zdS^{hXmJw+=aSj$V7WurkFwVT^H}!E$g8lN>{X88$R!cYdp6bcIN9tj`)}ptUR4&4 zL}lr9p{&PX4$OteL2KOXmpULe(iqtXfVyVusmp9Cn!OEPi`K;TK5UY8$Q5OCpxGZO z??Kq5!TkYP%2oqGpoOw+*aLgvO?Vq<m+XDOVP@}#&y@Qd@ZXog?89&bzJ#ygD0~CQ z;5aOU?*Q}5nx>p50UONXRN2m&p(_0lWz{BhU%!+CiaS{odkgAAqxQ-xbPIWfH}MMB zYl~y%r}vCHfRzrU9&rav`~#!*;}v?yD;ziRx5At8NW02^$EZWt{0&qp?vwEEpPC=O zFp8_++WJeQxJ0km5u?5~>KmiJGm6XX+T<fCyXUy|PaylOUyZybV*N^nWzT-0Sbt<N zj{k~_y*aw;`ce(&o)g$Q821Br$L>8BVb$KKzFR*#G`@pz-&^-ZTD1d1nXivpujey* zW`>Ht;X=VThJL#xB+YiWhQhan<e-qe9T|-K)w-{qRr_El{9|3Y!T89U*a!Lf^uIsH zH>rtDCF!?+lj6>pt$wHJ?p4#BH}O9>miyHaf13E;Mx8b4pOA{LXOzPza<IR63X-aS zp@8^?CLV26BWlHanZfvGp{m3;w(kAjs&%WavVX@-yenVv-bL2vA8UU7aCgGEM;cE5 zJP?e($aZrDl?VH5p8G>^SH?<jbx|N;a05gE+z-Pe5D&r#xVLdzWDyMEf#RkP&SV1# z_W(B#0tv-1S^-w9frK$ph!Pm962?ImOaLdiARBVP2g8yPez+BKArJB|vh#bRCqwl` zc3%6+H<1@NLfiqD0gF^Sk2_R(+@Z?r5*f{nsk}=ZJnE3wL03sza$tEKVF+!IcfG`w z*hSvmaFw!h11pbPVR_ss%j51>9?vo4T?;(JkjEnud7XjBA@VpIvGZ;L9{jWOZiCx_ zORjbv=Ph>La0yPj?YxmHin%F|D+G4lBya-P1MIwP$bkvmezo(ez^xo(<cb@qregu; zXy@^7l6Kx?$WuPrA&=Vyd4<3&gFJ2-<Z;U&k7rKvxLuGp9=K(Y_YiQCB2RuJZwufW z^X8}od}AI1EpJ9-bM6P`J?h{#T;8aN{tcVeZ$T&(=GR9&rH!A4HLysP*b0l4x&)TP zQdj{iVHGfP^ESZq+Grh&h8N)_*a(|cn^z@XfqAeQYPce4=j{sJ>B`#?t;lxRtL^r| zTMFz1CiJ{_;2YQv@4^AqjM+Jl6Jk5>efSud;PVc_C-5nJ24BEoZS)l!fv?rh-@;K~ z($B-|=AG2eevtTyPRnmjfPs^DMj8JE9+=2GEf196lF%tRoKS!LOiCMN`<n{ow<7Ql zS@P=vt;xj{J6}JjOs4PrXlTqvzoMH!Q)qUPU6f4`MVzqNMR^iM5(N?^5^ic-<WY!G zX6MH_E~*_CBvt_vmHdzdOG~>*cNmMRB&sE32Sv;ucF{~kep?Ojhr1yrMI+WgrIKdA z^a#XEm<7|C#~_~v)~8nbV-j3KveG9<@KA5#NJ7=HUP(_yA=bguDq#UEf@fhdEP>}> zDJ+MnumV=XDyq~$&C^kp>nw38bOl_Ioqw5%f2k4TRd`LY_hBo%p?z(K9k8WQ8{`MD zF``+hW32Q|#CYn^O0QM*K7@d>?1sHy!<+CHybb$cKfD6(!U5O`IL-7=;WHI=xFO;T zg}zb?98n$J&<CzjSMxxzo!?(}osTQY$9?2q3%9^cFboF5&2SsYljP$?^6_Q)cgi;I zgS*rscdKl<tV#ERl80jilZH5ye!pY(86tN9MNS%gQJ{UUHoYH)^LrLd(1uR(<hvBo zxAXEx>T&-3QIG*?Fb2lLI2aGT@Uv6o(q&Bf9`Nb_3T3~G0AG_|p<3f;@*jq>m{xJ9 zB~ZjQ=q4>1MCxB)@^M!A%T&f>iP=$|wEyQ|PQ)e3|Cl;?p2S=U*1LB8Q<or~mRKP1 zjKmZuWyIu9g=rvT&VK}^!$Mf8gf$Y+OT3`c*Taj7`E<a3*r-@8;7Rifz@h^yXiY0! zhmr_M+N8ZiJ5rBbWcwY}7E<H5mSlf~M3h9s%MsCZm@e7aTpqExmSX!`v2U)2*#1~( z(F||F)e_s^D56Qjkhk!2ApWbBBc4M2ZMAs<w2wku2^TA+19X8-Koj^G5`Nmq-wiGU zd<M^~+FX#a{q$E7-H`ivTZ9~2?h!c3E^@hMX6Jq>@tuSmT&^5k?ynL*N&GBvSZ#2Y za^}J$CjO+Q@CZy}+D@7QkHVA|%^RVXLuEvxhP+DTXhygSxQZ1>S^-Z+wPwmsS_$(b zcmpVq^i(|JS&0P_3ndmwES6XzF$=0;Hp~Hhjh)LY8i9m~T0i_xAx@|5{M{Vy94J>K zm1>arOMve4mjTV-XRhUB#^ySK?XOa!VkG{_vU)BT*!~$X6&{6|FbihG0(i{PP$fPK zI6B)u&(RP$U%^HC;W?^tm#Wr?v5-sq=i=;h`PQ?YOF!q*>$%Ojx?$(`g3w)^NKFvA zP2dXUYfF7{v6S2d<-y=`+e0#340L*KN9Y7}c5WACVIbww>$%;5p3l7+G*jfdC3?d( z3iOreuTmMSxmx1na^20&9SgU^ApLYF+y%FCC&JDh4>w&n@3C_S63bGydsN2>FjQIa zExEXqT)a>21Mnb>fRT_2w*XEgcQm9cJKiL>o)_T*&1SjRL8$@^yIf6Zxy2Gi!2Jt5 zHxD#<<!au_)m)Za)dH~`s?{bdVREy0wWP*)?iAH<6--qPaR|9|W-i^FONZvtp}BNu zE@qO8v&mfwbJY~jzyjsKW8~t<a-RY|K7^bHxUby#ung8|H|v$@ZFm)4QO3={f-0A% z7m@Ek=&8j}AHPWKfU@z;Dm!;SY*&^YPy@T576O0~=LTU9Y=ph=CcFh7s)&OUOkB2~ zQ$5?yw*IxSh64TT;00L4iM;Kn2tO0B?O&$VV>6n_zZ~9D(k3e6r)>Yr%J<cTU`G zPTFlw*lkYOZT~i)l71T5zZ0ma-%|FFyHiy^!8gRzN5n?hF?dufJq}ts>{eT8JO3|m z2tL+cK84TVeSJ2`_8;W4Nw)uU6}MmSrK+X;EZzLSD@m7O{J()N!}yQFaX1Fw!3j7C z-@}ja9{dES;Ah|#gzZ140=W-iPr`F0ybQA=<t*lqR8S8qD!?Zfv{Xzhv;zLU!!BU$ zWEUhzTq2=0M?rT9dH;fT65M*V3pz@4mFOjLxkL{{{@)5+sn8yYHznSd*zZuW`Lcuj z_a#1%IOJ#~rDn*-soD7~AME_EB)*aONNp-toi9<q0oVl%RZ-0|1<?{sBs9<DV|DpD z^!%T+UH(alQxfv)`KKk$Nt}V-;SV*(6PnKFX*b`&2_-!Rn0X*!u_G{YyaLZjER=Xg z;%N!F^@Oz&Oyq%t6%wlen+qgh3xR}<5;G*GQz0vz?#fSzs-lw%uD-}F<PZW0GRK16 zAXin`P)V<-Mz1QgPq}_`IBGZda7=m15mP@f@+&r_jROfPWfOr!>Sh-*GbE}SiK<58 zDhd2SAn|#L7bG@NYND!@7|Qhup(NJ3fy5<&QFl|qw-{RCapJF$nDAbG#6kD~wrLNV zcM2Hp1+Q!3>KhRl@sQ@2g4c-kLvM#Igs;_hjG6*QOaUXNz`~UCuXI#Brg^5I78scY zjGh7pU;%@>fWckxHoKS$T(PqYX<EB*Ihz-T4u_%(pKv&$m9SVp;fo5NQeXk#y9&AD z7f9qQCxN6E1cI=eS|;v+y-*u{8$WU8p14y^{W>+pE>dFE2(5|iV=7H*L*N}{+Yj%< z0iX>MX@kTM;UhQ%HSh_13ZKCbWM<!qhr1JqCh&QSi`hj|Qx(suAn^+o-<SZ8ng<fU zf^Xn!IHroL)xU!iaFQ*Rm-bKmS!MmAEm(gf{-wO<;cxf@c*`I88ynZtj`Z{IX!e!( zqcY(Q3fHO4=zqHqOSRJfsNLSFWnjcA;taV!Y?rBcn?UR(^iXIBV{n0lT@p2vbX{OX zfZ%S$Z7P+(kPal^`~pesfMr=AsY_tQIut9jKvD;|1UkW`>_XO-)Rh1O!7jw2?ZTIp z)Qte|xZ8!i@NE~qt|YZw3O2O@-7}H^FPN*y9&i<CA$N6P#Bx+`6j>5>DBm^Er(s~k z!fpg^P<`#fFW^f|>Ls)dEwtlS67q9}v5v}+eZ?!13|ep$CPF(>3gm?f<bVpaUMx7O z(6<U5S4cjk;0Hx%V!PlIz>^gGtjMoQmX|5`T%p4X;bQCpd{Q9cqsmRl&lEfgc(*{p zxAf8!0*TWkDkUZ>9j6sY_(dj#%_jT>f6^EU=Kupp_?<a6kO&FCUO3SXB%CG%=N(9N zsQ+Uif-JmK8%S&jN|ZIpVq}O-fc0s@8FX{duxSZ=6D5#%19XHADxouUf%eU{)0^ND z?WU_lcZo!u@-lk`5|iK-C8cP01L1O&a0T=R`Z1CIO6&uDp&wie*izyExDKv|K@^cd zYX=fS-uQckWY7s;A`(Z#9SWrJ`cxn>L%SNI-He4y7!O(C1Q%q38$95Jp*loAjDQD~ za}=b){W<_Ht0fML;3c>~;=NF)UFE}Y@WEY57_4kVFqxh7Z=of@u&@gmDpoq?VWm@H zEB$Bq1vsS$BvwfLPlDxoAhATEOy+TpP|}U`KoZqVx=FE{DL?5J7_8VZV8t0ox(}#F z(%p^YkQ_|H0rYM4S>NbFW6~hVRSr&P14-02>2?Q8@IVqrn3N7_kO5<W_DUKD6W}hO z?UJ&TnMO;Z(UNi~|6>voK0zdE9!s35W|^gsJZ=Ie9!PvlVy>b`6q+Y7UxMo$fkZrX zL0?B`%I3)If&mi!C9ap?bz!^UR=7>EJ2h@-V7uUU7^1+?D-b10FIBV{(qUK&4%jZZ zmo;Dki{ye)FjCVI3+{r^@L&>x6WN0MlsX(9fU(-$IHimSCuD*PvLOfDkPBYztq_VJ z16Dy5R4R8hOo4|Rw@0qw*tf7$sL@}GM72=GCc-)u!N|4?9@TEw!c1jm6<+W-unI3= z$}4yR=E0M&5EdxQL-3RWi&WfVg;=c@Fvr^kD_|vTAX3=KQOOds@GFIzKvM;dvY*0l zpgAzz7IsnU#q>&2funw4#Pd<S3uPD1R4TJ@VJH1kBuk-z3z?G(b-}x^n|`kk`xMwO zF%(idA?}49EfTcZ{raJ&1b<Cw7jiySc!er(C0qkq?DT=Yz*3>GKMV#9paG2#gWxvh zxC8D4o^P=W2dc#D80B{1^`J${jc^aVrJuBvEPP+t4#J0ujZkTmVLYgx3o{`LMn^Vn zi%NG~igaq*Y>AN(EhCynY3*Hz2^Bt~v~md^II|0<0uP+og;+!(#!#3K7(}63sRT;l zVVI~am|o!|sDvs^pVd&}>l!d`@N2<FQa>iLNShwg4jEQ<;SUlg)%@}Wg+EDXHYvns z*oD7I{H|Xs0wW*3DA4A+PJyxa5s$(5#o)kWaNaSk*hx%lrQ$?lT5=zQIjJa>yhXTa zy9hUJ7xiG5Me3xY%N4ppp{p4_MRZru0JxR|Eux`|Zh(F|jVrnzdWWy&7SWYOBb1HT zp6sFr;1*@M73jAjI<bhpE4mBlt0H>1h`uVK*Nd>4qG5nXZF7QosEv-e4RcnTUopBi z%tCEgy0p=Pr%mWVWb}`47C+YJoHk+Ji&36`(8ObO$gGk0m`Wgq39ij4G`VA#;P{(! zEB()l?83ivcuAmYvYfDsu;n6k>_0jMD{4pRZ1~nf;W<(|=<u58@EF%cO_ik?w1O7U z8k8{xVj-Ra{zhY2MG4SA*;z>xbyk3R(i%+<TBHAJY{!peaQa?uiFkz{ePr{!23i97 zSm64$uruH5umd>z^z8)J&pr!kz*e@sT66o}RB*R$3HSo=E(GBKya(^Y!5*Cb)#Ij> zy4)w1;`=~VVL@W0w@~z>2Ga|04<+=A@AULJgzi=H7t^bdha;v>Qt@AfVn-xPGKep{ zDPj7M_(&FYzBALuac`nKKV*`x#L0n_xG=2}4XhHcgkL*r=CE7N;zQ;9J>>L3&7vZb zxKnNW4o#nk{L?XgHXHgDMco`VJvFMk8sm4>#kZKxHce0GzfcG-xqbSW6!h{7dg%qd z;(}gzL9e=?S6|RSO@EABpK4DfOuV-5R4CzRq&51iTI0OLKm1fQPJi%X7wJ%n#$ad( ztTC)~2X#N?phAHd&K0b5HgT&aYgHQawv`^GkUYI_J#2s%b$BmPMAAfx8RQ5IJFb$K zO2~Z|JqN30ny<i%uz`at+6bFqPCI;95vEZzTOYzhGjS9>PRkU{RqP3P3Yaa5o`wbR z3_J^qU>z)mCGaw=R4p6UZo45c>?EORyIFTsBUME2;1vA?m|4+I6<!0iuss^{Df$^U z^S_=EO*;~L1N7CKqF-Q-wr1ui+6SD!6}<!d0b4A>4vVnCqHXXkd;}lEaX1ta#qANh z2nS#neFERXXYe^3hA-f2(1ccW6uyCDa1bzIyXZ&IGP~%E1O{yv{e^H}jVQ)1bY+p+ zbs!1XD4{;0h_15Tw3fRsjqAP+wEA#k9`2iAAV=fIkGXGy8yn%x+;gFy?v~s@ZQcFh zN#%G@LU$nC^n?3u<-^ap8AI-S;9j^7h6B!%uWs1x0Wb>WkKLmsbl=lG4V;jrGO{5D zCNxPvP6xL(<i2NQ=yRp+vBWf6yM2(S{m%g1KXVrVbCJ6UN}&wOp#uH~<KZEA7$&KR zDv4@|sW1rU0CwbF3(x3>HJWwZ>$D%;FmPkrZVc4@B4DKMmjUZ_zY3dS3%m|ITx0V& z58J&0c(}%PuY%REGzqaC7DaSGVxfG*!*(+k_!5Wh-lcxAv}>)S^*s*TEr;iRTjCvw zcU2sw<<^BQeG9{OpM_)aeypl{P~s4rfg|vVo|&=T7?B$za(|{jZsg+{iO3K1!-s%f zy1&zLo>0n3_z8Z1Q}8oj?(SdVH~16&f^RRfJ@q(NPbY{5T^#o`2E4o{s!=Sm3pgSg zMe+e5+oPYGK}&Y!xde1C#M2t$AO_-r`gt$_4>j~8Lw#rm?SaLc?dizAasGiMxiil- zs=)}j9<Eb?H^NQOt+ld@0xhCEoRrxft*|{^`Q}XvCQsYb7i5i|?opf_+MZOnETWxC z>2WdQa*19NS4dnb!81p;=V}QIoR_9;&;9TKJP5c=+cQpr&tur0Dc}LOio|R^e#q9u z>zM|*+AuRb`+Bm7%}|o&XU`*0tb7=@rvl1gB4E&-hX7;tRDuhtU@}z0EZzIH3CvLy zHo#LbUqvl|XJDR|HhK-$^H_Lk!wbi@=Vk4EvG$IodzL86bFc!I!Ae*Kt6>d14^II8 z*7E`|M2h~#-!#CIiyKl_aZ8Y&Ep8&wOrjMwP<#WhTC<B|Bp40FTs^UiJ3(hi3_YV! zoTO(oiup$f^NdC@_ED^UEbdAbiw8nC<?0T-pa-PD<!}XD30DK=RNNb`fj-bzx%*)N z#r;(nmQ$qpuh^k!q6z#(WRQ*_7w~7r!?YXvyO_Q%zS~r8aHw*(*H!KgekxKinm>z2 zY99qKN?9?i;tUuKV_+<dgYn>myMS&i*0P~kZm(EthhnUyxK#C^&x$8Ql?ubCil@T= zBGrq<5AnL6U0kMmXboRn4oj4KhN`d#9#yWH@EFVny1IBS(09f2U_M}3#n?&l(}0;2 zFQW)A8F;b5_P#+0-mS1hsgEN(-{NV!8nnk1J0bBKoZ=I<sNdla_@yOP^u`hTQ(Lg$ zusw2H9yPe<`-nEC(jJ_RH-RK?eJbsxpS@AqB?j!pqj+&I-X@@ZVm{vHfN6PtLbn2( zh*vvGR_=DRg15a2dxEy}Zi2<INCjfeyar}_C&$VWdKbtMdaGEG@l`)UPr_#9tPVK@ z@2do-gdBo*Dns5oL*fyMM<r%T%#xTbu>oj8UP-fg0nPSq1kNgLFIMbjC2V`UQs=J; z=!Iz8^BM*l`cj<dbwxjyI09cN@CkehpTSlg>o%qCfSnwqXE*FpOIr|xTCiac?1eXB ze|^M0K4@oq-Ugj4^1ik0c?Uj(kKkiCMAf?SqxUj3LJx&fBy@u0Ed`yIc{Oo*D`29w zlK1uA2v@<?a1-=aVxK1L(0j9jw?bd&2mRq%7y#D+!_JEv@D5TZGtj*Ezz}uPFksYq z?{2L=&4=5=hT>(E>D_PJ%adcamjUMG$uZkI4zgeZFrd5)CT}+6fCm_0UN89IK4rgO z*&k3yr*mE{OuT-~eg(BDxsu2`s@4ghp}d+Zy|k29EoJF5@w`%Fdw1#UX)y%eg&KV| z&E}mN+gq!TrP<y<0%DIuP-3sdn-XtHye)AI-h*%9IDAJHUVwGvFUFpVv8Cd*O&_9C zv~e*@YFn?`*u|S9R%&rpNMIGozrZQ@34Vp2;WYdPXMiE;{YyQkL0GJFu9Dsabk0@$ zIxx<Qw*n?syc2c-##LMkYgo=R_IRhz_Ub7nubyD?)dRZPr!a{=TFloFqJdGXR}t;v zJ?y6^d-Sy+vKKJS;<r?VeQaM$GZtf##Rs)5_E=0S7rz&BY(EluCp<kB?<e-Nvhmog zUCcoif37Tt;Rt*QU&B%O295y@T6_T1sPts<NzkIX_;>bPl1$(q_?u!%NG(xu=XBe& zq&-Ax!#~2eO^g2|siU@vX7?qG_7WXk35QwI9B7;p4zPrQTG9$|NF^9X@mX{%#6i5W z)9EFN1blb!E8XHFw~rh?u2I@P?A=E;Uo1W2!)8mmD9@$ZWmmecM1!<AK&V)&!;&jN z1J!p6#HsliTs~^=(;CLt0Xjkwm#u9d<IN{;<WrfxOC{njT(-7-ShVjZCFx^Mz8fHP z*4c}|m2f#Q&V5&ds&)-9u6>En5BdXR+jpyq7$kA`bZoGs55W@6v?ZEpORm!dD?1tt zLrAz$o8AjU;U2gThQV;SA0B`QVFZkXQ4MHK-(xTiH1vHFAQLj;laO;kr{O-Ae#-_g zxWNa0$b~%M&BRts)$(aj06LTKl`8KOP^MTpF!p$%(&iOO+cya+p$e)Y9j3rkcm$q= zX)ptLSkCs%gjp~<8u1j&fu}DDB<BWFldAQ!*|}DBTec{9ORc1pehCAlWG`ssJPQi} zpHMQ}QNM93DqOOd!b%vLC2L?cyD51d*1^hlh$W8B$fZhO1}k6(yx0)&663XG6KvGa zo8eX1qTRj$TVWgE3rZOOC68&V#~}c_A*e0a!%PL{!&BPi>5Hrk47p^#4&q()@_7R9 z6Ub;v<ZmJ$DD@u#A1UV{iBA!wtt8qsLSTcXS_70`2N-dwjJOmdF6{_OEimFzEVEQb zTq+|jl@XW5gy)7*Orvz5l6umKr8hz^m5>5g0i&f911`mYORs@Gfbo_x;!82$QVh7X z8w`L!aJ!1aqOFX2QFa1P17=WK1s6N44DN1Z(2^Be<CgA(T^x9+&fQ7_y2w@<gguJB zsm;ax@IV7Z5v0RtdOu?fjD=J@o|RDo4_@$iR>lZo<;u!8@vMwe;5^yNaDp4M!2@3K zfgkc<6y!qz6ao`<AepsxAc=0aGFpJ#-#kTlSTTcZr5QZwnZYxZ8C*5YXmXKVUIoQ8 zV!0e+xn}?J$sA$1&X`LN=vd!VnlAa4KO~{GLFqn;{SqH(6Rl@Tzffy@2}dy6GOV{$ z>z`8Ge(6d5gp)7*3BGGhH<YQ1PwDqx)PuU2SSp8IswuDZ8+EjvVJSVvrg2I-&t_#Y z1mwg^v92<HR&~qhoihE%p_XCzWiqhiXdHGKM_4M`D{Cr&-IldbAY^+VE0iSBPU2#0 zs;q+w!D7m=j<T-osq8Z70hdHmZW*4itRvmVA4wAG1lKArwpE7Bm34tD0UIpC{>rY` zkMewFA!B7=*kwahM?G3qb{`DYK88W6icV{Z7!MP)WfnLU(78exo~mrL0(iGFud?CZ z%JRV7it$v2Ln_PH?}ZY@5*ZO~>o;w#LmC4Mlm`z}hNanMPb)S<p@&qL`S7rkCP6h+ z!4#MZ)8G-94e|zMi(wqh0X%eBDLf7j>c^2Xw^-oepbTajD<i%^?e@Q9bp2{~XgpnP zRQrh99Sk8Wqoav;GAg-oo7(MPNAhHvm2oX0o*c3=+L}}6+U<vQ_R~bAB-HMxhq~TT zyCXt-=@wPH{hY?n08>u)h}!KeUaXAE*bOShsGde$ZqyY<U1`)+M)fu-$?V`76YFDC zXN|G`DzC2+?6M^iOC^>|Y=PJK^;T6;7a__v6S!G{HLzA~j1Mn+K`Ae)Z{(=U<fO~+ z)@6F*rEC>!!0E6uu`=37;5)61J4k+A`L@bD_re}sxhi{0J@~dV?t=rcAKrua;UIhf zAHm0P2)1d*pF#j?l`{x7SV@S_VY}`M+hxorWnXHahhZ1+5Lm{YwcCpvf%HoVaxXRc z7H&f%b00PN9$;M`Nah}HGIu|c@6gj<f#f^s!$2~t@j&ve7oPqKB;Q8Nt0djNP3C5B zGPg7X$=tk6=H_iOH*b@<d7I45+hlIuCXa&&a654GHaQEp>75*-Od7l2sFn}l{B}`j zQVnomfusO1mj#mc@Uw2fmTBoyHVAHqI~BPbQ7X?+{-~ngO8fvP6*xg&TwNe(FMo0v zNZJQl)RuimKz`^C+Om8k)FXny+2ulQcfNmTLaBsKMe_e6S2xxD!?M5NM~9yx%9&y8 z@`jfp<Xy^}L31Ug01mRewMydH%HyDA6Wm|<6%em&8eMqy-Y&<{m0zu-b{t(f{-?aX z@?8wte@DPEm0tqdRafW^SWY?KtsL)Go&Y_epGruB{wjfKvYctSoLRd3Mz{$E!p(3i zM{$l8z}m`na#emC3G(3Ov~0O1)bgPcYTt6TZ}||3dnJY=%Cy2SJEJI1CM3Ow2_=05 zc;!G6cgK=GhtJf3U%;2}3D+3|Nq@roIvK(T1d<K{SGxmA-(W*YJUWteOj*8#lb|m8 z9)19BuqFKjKf{Oc3;YUS0k`IoexsP=deo=nbIdwa<2)+oRt+&zyIiigT&}o0Q=8&* z0?G9ym|LujA*9o%R>nOr6o$dQB#u>%@%klX|1Fh+P7WmVfL9>7kwOjFq~x%+lLId= zR8(WG<cOlvC8jBQlrAed3E$H@B^aolg)jL9epbS1_ziyI1qi!T+kR7Dk6IEq27l4F zrI=XBw~jX2{2WnCwuB{HDW#W^R*HR=;*Lr&>5>!Zh7e8o3|baCo7z^XK66y>YM25n z9RkS(K+OZmWxx~@NM_9tNY0a(D)ErSB#B~5!!82Jk06rXP<f9lv`wKu^ur8^nG&-l z9+Q}>O5OvqtI~V*Wf!|trdK*bVwA+)I*7r54VR7{MR8A(T&~6}4>jgNg_gi`Y+1e( z<h9FJO00%83Ovu@m%k00K%Tk$6?he1)I;6n@4z}O-t<&P`3rDB*<RP+!Sj~u8d~{Q z*a_PKzgccU4b;MJ*Z@JWVXrd03HYe;MJnqrL}~if2wj3H{hy*0K(5kCs#iK2ro$s- zEqxSbf~&p$V5*cUxirHORljMo&_7F+P9~nE60|BP&5<4GGIgm3SVWZi09!B3hXN=B zru5P&P?n4+mzV{Ul4V*i!BZ+~fyCH|e&*6%={RC9D`~NIu@RPNH_yQeSOzO$70}kD zYv6g90PBE;EM3pBe+VB@O!*;+&(y}BEA%NGQ{cG735lZ;-^)7YIRc~qR_v6-X^9^t zevt^d8P&L4H7<V^QMy?|vuP<kRk{tftDO1#jz_V}aqSfh54{y)m;ZfHAf|1DK-TvR zhzcG%NT#qr%#8v5ry>y3A&`Y5iMco;ki|F*#B?(8&PKIs8Xw4d_s+_9`DLIo*cFrI z4S2pGhEG#8;HB$8Rv_Ze`pr94F2g0nBnGnZO)<AQ0!~dt6|(M%o!Z~ca0#(oY(H}5 z!vyd@cEwZz4fT6hvTz1sPtu@?=@Auh_TXWGm|Ft;rA8p8XGFl6qK6221)NusEnRiJ zGT^)lb-7Vj8FjT$y^XrYsJ>Em1>PtSldLLQ8FW~M25C&cfRjhwV){#285<n6uTlfM z0&f<GxmJmG#cYhW;zgi=E1twGDxQV~@PuxXRA4O?bHevWDzM;+S5(9jEUAKFSfTM+ z!Fa8}f-05+R#br%RbWLGYXJ+Ym<y^DR#fqfvTvXQ155=l@Cux{m7yQw^<#oWrNliF z!zA$0cE$bLjF(@mjOFkMOw&4Y20RK=n(7RWSJpB(cq@ZLwK6KhubO345yOjE8Bb^} zx(eng^OL~aa2Zd*Gr${h84H28<1%<FE~6TFGcJQS<1&^}2gYDUkt$OHr3#cw;8X1i zJgGft1U#VEB?B=x1e^njr8-g=E0Z48ucK-1NmY;u6KK0hPH@4vrm@Is&|Ef2^V_8K z3lpk6DTA2inn~Kxq+D8m5?)|Zo=U(yOezMdHi=qI!bMCfgK~HX#sWq;X%bXYO-7iN zv95MI<1mo?EG&dK6<NeXiOIWQC9J>>lUKtUSjOkS1Iab8RvRvsMQEl^UIM$7v_Y%I zT6j_UUV>L(6TAwq!DirTq~teXDQtyp5E|b*3G7ihZ)*YxB)`jXRwOaERon@e!X>h_ zZqOY%L^fw_RMAmSepFnhZF@?jNF?hEGc5?TgR5nzgQ2&wUjzN2FI)=)fK^n*^}tH1 z;$pZ72Ewf>>t=~NV2}beDx(%SV!OhY*ehXOWKWDHFtM?!{+>d~5-lZIRM-<+OT<XT zNwk$nlwgr!Pi!yIL86mH7l}*NOFLzvyP!rf{CmY)@HRVP!VDyTsHSFhmVAgD75kL* zDIzAGjW=@HCu5Vcy{c0lUYX2zO)*@nm9bUZ@5dG^PQgb&QFaBVAQhj$LA`!d@e91G z>6DJPD-OVK%63>S`YU{)EMLM=I0E0mG58ja!wKL_r{W}h4?igTPaK<;a}yaN_Qd)U z4OFEa{PssAXI6H_pP{#nD>QFcY*WG;I;cCYou0~e0nRJiH3(!34g`MS0483+2DzF@ zCSJu>?HcXrOy^F#Mn%#=Rt6muNItQr^Nn2mN^sQf+#j*0^Yt`qdVA8pH|a@=Clmi6 z6we6O?&uhuw5M}2*MtJ?ny5%C<A5BG-0LCuSRKPFrx~BYhj>aW<21Z?!BbipyaJo? zyY|mJG*-rM@U^lWh2wAxc+(@}1n@vi#`o|ed;mYeDPVH7GJXc0AhX6K0ws*mnfVxA z_Tlb}mGO_>sU4F{=&bJXbNA88I7iCGWF5n$r7?}!Y7B2mj%lK7n8X+^HjQZxt)Mli zfEdtKfxpq%&X~54KzzU2?v#f4&uZWYXr+s5H{TF9J(mfxW#h<4uWS;yV_oFT>jMG) zxh%BW2qYg>8wT37aO~+!F9c%7@|1VXI8yYmU`7)qjiKzf9JPB`!&;+R_;+R1Y3KgQ zPhD?=L2$da^Gf(37xEMt&rgHlR>BWx(wqP+abq52D8z8a5`$ySWAIs{)r9+)^42>7 zX_LvD{9DwX&VBGw?V6#9pNSv=w-8AFeNX2BsDISaf#g569h=n)McZ*4N<B*v?XVrf z?IMke3S?Xr*o~Fua>f-?1Ww3;GRG4isJbOk3|u-K&59?Gd@N*OqZtIb=Se%wa{{~h z-38gWhd>OcDd`M-JC9ax*FgKR^Xf6sIC^_xfBjG&=+*R|wVRn0t@LgZ9rOm1mEH^b zDZr?((isp|IxaELuAvID(t9hRkHobS*I_Q{*DHkEvC`#s@)8M+QFIJZYmB^5`c3`V z_W*_dkE!zxjH>ARux>&^fDk}>??q4$L9hS<3Q|O+tB6TJl900LqM*qx$tIg@dL=+W zAi)Zvs3^7p%-DOyE{KAKpdzTK-}BoAzxR*l+_`1uPCe($+`D(DNL(W^Z5V<Fhi2&t zP_9{EFiV+TEu9OqwVJv#7Op$nG0f5#>|xf-(uK-?9MEWH>0(#{teP&p4Op37dOOfb zmPW%YSO&}C4sa?7s>3WzlgN;`ldNZJHqzZq9kTY(X(rqVWGHf&n;(xyUg+r0rI8CI zMmdIRGdi#t5jb;kU^ACmiB!!-CP*YnObK>>rNdJl?r*ezbzmE<x{t>En8=+H(}LZH zb=h=>`-t{up55-!&T~5Ryg~<nUp7bXgO}h5cw8q~po(N!Dsm4z4bQ+{coz0U6G*8= zqSQ=OTM6FtHc{<$>`(1#%u4~#xuO_ck^g8(E()_`BL5}8!W{En!&4g*r4#58UPd=j zQZVo6B0kh)B2jXY=(fm%To(B`d;$7UlZpHd{2ywPs)<BfMM}v<O36i@1Sz@5!+?^D zJOW1nB^Qa3i$uvqqU0h!0+d`NBQz5I7O5T?scsv|BN!9;x<aTP6FJ5~?=_KkNW{>@ zYo;ocuh6v$;mDfEbj49Gh{O{!k@#dL5--U_GN(0>ZiyTTkHlp&6nVM?p##0c{3C45 zA}rh*9C{PgQKGBr2PGKQS$q6s#YAB~qIzm?5De7$AutsB;~JT$DWKjE)%&b#WTN`8 zr))-DtSX)gBNcBHjDgWG7A}KvzyOW90{X#~a1~5Y^hvNnfoKU{ZZ%PH3N5D;DWM9f z9-`2gCTb?kQeck6^`K51rA{1`EODd6T#5M-8VynYg5RRh5{acsH%x+lV^idzq(taM zBqCCmL~@CV)NWL|M5Y9b6ej8}g;e`d_e!V<qH=U1S0Ob<R6boSYCDtyUp+BV<xl}d z>S9q3fcKozh{Cy#dRWnFREZBlt)i@hjj$f-VH0cy-1Mle;Dc?@0FC4|nk_@ruA%%k zrG2nNn+{5MmvZ-*PWfx)M;-fFqFLe>i6?Zi-WN{ks_Q1U&}@Fqq_&8w9aN8rdP-&b z7+!$ql|jaL)INAtzCqMM*slxsoO2MO7~fH{@KG<TU<|h?RvS#ztMDeEv7+9Bx8WUl z7v6`xz_5$@5Ew^M-zbU05?@IikznjaG47(6iknD%@YF>8uAsjIpeF1Zf7_qd2@TpS z-TRPNIow89O$=<K6)!qiA_PAnx&u(kXf#Z;_QRxEqC4q)D`*XE02d>=Ekr;&Xitg- zO14hICs8a>DnV06ZU9;`lBSKU*TKz7I8tpMNoz)K0a`SY){LYzBh{Mpp2+*5S{Ic| zR3f6gN%##|twMd2!M=?0PIIM44s_zzRh`s*qc7DN#^BPsIWnIx<1m^r7(HGm&_oA1 zEg*1}uI0C2oeCfqa-a}Ax*{LEFk3rwu<c(s{8fhYaiEhAih#1(tTqyDaaOZN0<Luy zi{mz{D|CYkG||qw1iI_Oh_hY9W-*7!8lyvf@G-JRLtn+~2ZLY$42B^v6qp-j4Tlae z0xp7!0nfl@=@o!16s^s=LPClqdXhqZF<Ei>uRog=1<bgzX6R0{fw@!GbOxr)S_c0A z`qN8pS=Yb{C2*56w;bjw$~;&E3t%za47b3oa2rg6rND$XD-u>Jt(M9SzqT>aQxw9v z>x0I!S@9BSx+2{_CCEa(*sRqOtc_*eqd=B~Q`gYFZI(-7Ezm|bD@VcyMGDa8Y*q=# zf@IMvZB}_0f)&K94X|DXsE19k&fh9e5!$Q^EA;cWRs<@cK}FsJRr+C@&DsvEb7VaL z4+BdXSvz1Suz-?P3y;C$u$ux-+jm@9d{zlRFY%0uJ)OXddUNzuel(%-y~?R<dZW$O z!@_KONH+Z?yR&|jYO{MlPjKih+w4n$o@cYq=Z&bgQdZgR;W8Zx3h73Mv&TSi5OW=y z-J&-lOd?dGl|*ZaHWJ|y^rY+yfS#01Ps*kzWiyIwR+H-5D)hR<0cHI<R9Ey2uE4Lf z*)p%$m{${xDYDu0HJhz&mOUBajDc7MR)SiXkAqsLQvtj>n~jaP&a~h%{Zz%7?kLOQ zCU0>p>vK5hFMHOP1etj{$B!&a4%Whn6BpH~p6$Gfs&dlPoY%lq3hSiHIjLLcWVNW1 zj;D{(TIYmw<IFjcy=Wb}o@#Q^E1meV)_DWaot-zqe4tA^7XsbeNw;=h4RmcMUE8^Y z41K7#KC-@6LQF!k-qDY`G<D8;7yjmO))Doazd%28&ti(4^&=dEpWtUW4ou0jeu4Ml zSNIK1-l+I!ahtVI6*~v6r>nejo{1^4-CH`$?49SCxL0$}cSq%%^mMfC7P)u$UOUgO zmxHMPqxJp{r{FaESch%jg*AQpUhu}3(B9j=C*kb<aNs=C5Y}{h8^=xrHqAjzr?=3& z+kOq~{}$N%9M-Yvv`6p1nugYdcm>uZwR1S0`b4I?b#T+^)p{b#^LVrEho;kL@`eaU z)9I~bzM+jjiI`(#1h<fX9X9$CWV7vbNYiN+7EMEV;2wXRyY-)e{eJ?RGl9*&{!PRA zfemSs=>}qG)55>m_LKj{G5DGdB+Uu^pR#EP4TPI1RSYY`He0<p`xTvP894R(08X6> zL&!+-@4AK_Yhsy*8Tnta_{}l@@NG)NU+kKgKUHK|t(d<!g2gehy&#OD#8NG>yr*Vj zF_5ts#aIkvEQT=_!x)QAjm4J6l2FXwY;h!Gy8xCU??>gSiT3)tCE_3Uynmc$3(hA{ z5QK0gBJxK`j7F^2iS<kbtoP6J%qq;B_5Ou$IZ2P_*@i#$FtJa;lgbU=N9;4OTaWW& zaV}yXRUvqAVq$l}hbqK-@VpA~K4>W__C+`V``{&L0t+w0tME9y26!*AZzzekD9LJA z1E_1$!0<E;x5G8S@H7q6U^+|=>xztm3Cc<YS!tLEcPLskEK-19y_kk&z#}EofP>p` z6WjoEVIE-58?fFDx5CYeg6rO}1a5<+<cYuCGjT%*d<|czScl*+d=WN<Q^N=yR2HzA zCKk^u?jn+jyO5plxqIAj0!I~%4jjvTCYBByOCO7Eh7<4${05)HN%)<P6svhs9K9v( ze0KgNdYsT5{#L=`)KUI8S8)Eb!^HJhj6Tp&ftI>;UkFpYR)Cuohsza5uZp8b#nGeU z=uvS>tus+#&k$f16G!)r>j8scFvD~)?yKuvb&faSO`w@v@4(xD^>Lv%TzcBZ*8;3- z7emCg8?ckEofu4){~;S&Y@O>RrK6=fmmaUV_QDJB9J~lDjk@;1es~2m)Lc7&E)qw_ zHF0=2hBv~@Dr}X}D~2wX_^s<c$Oo4At*ZbEAy*5NuC2i5tpd;aTyFNZE7fgKqKq_v z-kWokK^0U$HPisM*tHJULk?j0T^j-4)4G^K#PNF;6L&Mv`Qj$1vgtr^li^B#L(#9| z#+_@Zxbf`Wu42%`;%-vlS~V1XEpD3P(zD}c!3>xU^w>C*cN{%7j$Rt4g@(8*U?D7m z#egv~aibiok;@74vWJPwz9`&wlkIh-Kyq7mki)Z+P^wCtrqZUvD#(Pp;BH{-xfpwH zaNVm^c}QvEwtyFSNNM=Kwc*p&Ce9;O5VsB7XY1C)t!3|iMZ@!sD^<Z7p-j=rp&BZo z25Mm))WHVGg^f@T%+B~Iu!*}59wEQ(dkE}MDmwwC5r@u++YL{^lYpX%+Y3+Y=Fh@& zplV=(m2?ZJ6=HOf`Hk)NjY9f+V(Y$v&f`u3%(QzU_2Q;Wxv|sk`SN1j$#A0z*opwA z-Mv&9qE6kn>td|GdpSe{R@}V;Vjvb)0uF&Y9ufe*C4ac?$wHKMvjk!D(G=Ewr*g9b zoVGjaK8_DcnmDd8aR%1FYL)$7$b!3OBKAW@(2eMWxJ+P}n79LgmW^8l$-sDW;{h8! zf^O@+InQLiXa|jBV*;Cffz1Ish-r+iJ406L{^0a}4zPKNv@@HCp81R&G?>laz-B|( z&I6%MCugBb8uk!HRi4?n^VO!43kfs??R+_?>EwJeoO%DbgAbewYz^DFul3ZXlcB+_ ziTw-#Mcyc}Np-w)mp(>tdDCzI@`ZM)B6G81N=s)rnocg@x`y1dfy_rjcG{4plT0T} z15KZ~BWUNV=kC07=j(y&Jbo^)>s(;>xxf?W0#BX`JasPc^v<{a(Hrv4-E7Obd=zju zMnL9sJKq}7baFU*MU0S!9Z&^&M%Y02ZlHTNlxr^E@F-V5yYpQYOx{gH3G7x$=)(<l z3e>9zkHIFzrsFqkgDt=?YG{P*zy!A8K`4WV;9+=#v^629(*y0gV+tLXvtM@v<fPU8 zByn8r+pG}&jIBF_<>#XH!Sv+yErK|?UZK`NGVAf9*M~z}z*elfl3cH1ZfjjcbiIES z=Ug9X)Zq5JaI#&Wk(dh?+w~P3yp}V43FrwC|1f0rp$C_|Tz7l!;?_?H-4{R?=ma<~ z?rsc)AzYF_OxJaX9?%Pzyt@1AW>eup7^e6m;360z7u~HpUaW`%<f7}9PWM1yMq%C4 z;8NXpI*d`=v2ZzzgDc=lxC$n~Bp3`=!(^BOXyGJj?3Hi9+f)S?xejwMiu7IIl0nyz zQ1{=;W9V9L;QDzjIdJ_Hv{o(QYWDA)@XH^<I=R2|Yn3qnmEWn)w+VKCrmgbr`d-($ z!yRk=x~Y}_s*@q^e^i3j{=MJNrhCet;$MFGhhLuY%fJ2dAHV!p((UkvkNLwvei`hS zEs$oV+^(3<=X*Z9z;?v=Cp{l(yAKF)?V)hl&k#L(uR;v;?5ANXRP$AGn_WYJvmb{| zP)|v-vB23|U<0k0jqT57<;`ZV18iq@BSpyGt|RvYo<R14@Cabtv$0Isj{^Qf_LJ}w zFbI<5B`1ZGgS_vQ&o2;8231l^?R^DbbLuENNln1#vrH1cWzs9KKMXy|M>|c7w0+EB z#7eDM#~k6LzNmG9<GSEUw&xDBVwCRkB3BRPyt4}z;?LSb`B6!4FgTrE3AA#!4k&%P z0pBVx`ffq<G+psNd;lN9NAR%@9)wTfGo{#)z`oJ0JlhkSmGo7pYi+3Qc|V>}VOO0F za^+jTuW6FLcX@43^hMHlLHIFbP4_!??%)sS0^hce=&~T9T`SwO;DT1fZ*eaE*Fmkq z+J;=vmOpC`ZQGJ>dD@=*kw`mz)YBw=b2d63#k4)Q>AppQyZ+>`y~ZogzlZb<SsKzY z#P-~*LWd}VvUMtGKu}ar7c#U}89F^^S+~H6GyjGD{4ezPf1!W=3;la8<UIdeDCu~h zI&7ipJn8VcvNfNpr4#1@znl%|v!B_lcNiz;(W!DXdog@{)i^OlPIZ!;4uEdSQOh|a z5V6B;w+|Utp>jj%G}bi~+Cw|KqKj)?Xb@Lh4N4d4#ntM+p@=$kNvpVqLsxpQ3$5eo zrf4WAmy};m=mS!B(gXcrAV@=M0J{dkU~-|DL)em@Y3M-y8!k}jQs@ais8)UmVj4&+ z?`NIq=AS5!r6<0p-A-q7Wg6(u4VUZCWiWtdYQUm5=mA5+AQ%SRsNq78aT);^!APJJ zH;jTyU^I2EEX0n=J4D_hxv%Vls|6zO7m441If%_WDe(u_CUqg?8iP)7ja5j~NS8WJ z>^R0x>}6y|e=l!hr$}HhOzcF7t0k_HkpCV#M$xW7d$?|fDKJ@edJUk+U6cGxaVw!K zRp?d((9W(IYJep$Qy0&I8{m4l5pIIHFb@_0D>SZ!um~2zQf|DGF&gV1u$?Fi^%#4R z?Z$Xr`LTP8>xZtkOI=Q{^Gw1$ZEV-4U0Y-#a#WCbshap!p$IBBo(WStYj`FeEfh~e z@eyjNc<MUd|9x1Q_;~tbJZoPjp6ZWhEzQK!2Jzh$tp_kii|1DHeW4%phXFtX#xqjm z=`ry%Vmw_n2c?>`S#O8uY^4Trwo&?=26zCr14=aKAwZ$#piFa6q&X<koL!JWCFc}E zI>_bE!PU>X6H-*kIYp3ouD|Et1Lu^{HaW$xS~n|!HHvl*xF8GMuoiM47xEw(@_`YW zQvj8^F}5LR1IX3LsRs;2&N_xn4z?kuN*`3nsfH(^7I1*#w*!6-pL8(s53430Q7t|Q zcs%i2U@P3q0E%ZF*Tm-o6F$RtB}{xF<m!}vuE*95@-5?;<(YV9cqSg_DZUCSpc-lb zSB>vTn0RIz@tbsc4y;#T8#Jg&_NYLgz>C1jhRxXr`{6mwFmurK@zKGy`vTRb-X_g? zh9k=yw)+~T6KT7v3azpc6$rnqL|%b6;5B#?-h#IQ(~|QZJPYr`2g<`o@G)GYyexy+ zFiXkI0Y*d441cTMK?nm7a42%7u@|T4D`1{lH3o3cZ4Lt^has55Ajx6Alf#(HVT9$} z2Dig?fMUprf@pHCAsoNLA+I4mR!JTL{f05;GC+0Z^j5NJ*Z$!DKk}UMg#7<U&OpxT z27{Fc4Xz=&SX~_Dm~$aq1Q)|d7zLxD2V4qcU@Z4tsd0E0q(X{XG#xTv)}S`-_H0+f zw9xR5LGE5bw(FzHa{^3P0FThbvuJDLS+F&H`^50w6T^2<O#FOU01IIe+zd&;+%f)E zSmH))>O&|d{&qLoG(J<oRVa*NhHXL#{Vt)DLkW)qy(vMD9TV0AliP%9-ZwT0Pe8d^ zhMz<kKEq)2D{_<YB*@?<JO%eD+7@U8`X66zFnqbe@SpJ}fq}qR8%#nK>{L|ze?Avs z^zDZnIXDS9!Q)shF)Kd_b<y)}&Jn<KvN=a-r`*;AP5>*JHs@FP4Stpnof}R_nm*^) zIUhRb2M%LmZEjl*>#g(L2m*g8?iqH@XZsIZUBR(jdVOvSP>1-5ZA%D)R%GWN_!_i& zw(<}hhA+apQ-$Xf@~@t?4|cC|ggRVDIH2)_DKaego0ZI2%u21K@v^g7sg<;q$KYr9 z5spJMoPb~8H2kh8pTi&UC&O@x!}XC$&{?^a)3uT!c(CKSXz!JOllJKL?nyyc21Phr z_YHe`Xww&N*JrK6T*n>w{lxLy2saTgeysa?<e0WrZ~vQkS-tpi<SBkUTm@Ia1egeu z;A(Et6M8{!-M+7ci!<NSnfd&R;lnK^p5Fo(zT#r|f{Tei#*dm!LO7u#nm0yh$bH8V zc|3fP#l-*4Z4)90oKiH39DfG>1eJyAj{lbnsM`dcKgw2Jt_8@PB`7vGkH^xR1RAK} zd2Bqzvz~bb<`Kx#D-L;!6{6GIJZ3;PPcxppWfHea+#wMo;gpb?$<qUxyhMow5*ZRH z5^1U}hVt>Bbk7&a0YC3I`XYkiiwGv+CD;#5V08(~F}FY4S8cbOwf`EtL#%bAmUA_U zP33~YFho6XC`WTyTrml2=h$wjt=vo0<5vO7CU?Ag=#_94ToxvIH;mS3<ms->C1<(! zDvi}}wYth0kY|!R1*X9@Fdfi~xierUpo4SA!u5a}&edvCZW5qWbG4e3i-yfbyXN{= zlX9_?x&GB8&GvF{f^^+91+=b|n+jT2%2f%LLo}e#b5}qN#KKCTopR$L0TSU(O8%yj z!o{?C*!a9vH0ul0SB;KVqscnayuHbvheCJ;!ys<tK?8e+!GQJ{G7shQTu21Z2*mMb zGI{)j;^(;52X&BXGb<Z)8rLNW^VapKc2p6#0-mvyz%vWFI%Ekv<A6H%&;TB4+%p02 z%sh;Wgm*1}3uKb+pj#%bP$K<d3QQ$2w<DNCx%r6Zt^|s;hjz7j*DF*mQ7KU%;Zv)> zXZdR(d;E7eMK+HA4X4S(@jn1Hb^I^*m-J9u@^n#wCZS^(2KrJ0olp@EDVYhj``c`K z+wM}USdi`y>%zW){eFQ>kFcJ$dtul_R7)_o$gNeQKLwkCH5{9}1-8OQS>)WONnw)h z?*C)m*1<PQBXP72o>Sl%*iN2v_rm>({s24z55W%D36H`qcpNssZorYseG;0K^)Bkm z7vO~4D-AxDmO2rtymzGxCVmQ`sgx3BW)iLrl=2dV2k}ek2c!=s2M!KCSLPvs!VV8? zh6Oew0-K8hn~MXRk%7&n{u^N?6T1I*%Q5VYh0ARB2Ti=rjr%V&-gbZA#H;SUR<BgS zkHYr~$oBjQN9104WLCaW@#I?N9^yzC73Wc%oly-otK%u56N>u_&<}DkZn>x6G|&rj z{{$JVZ-JiRp(l7$1D8u&Njl9JkVbQN4r>s3MoC;Nfz>ej5|v4q$+XTSTqkiC&>c+z zW8Ner1AapSW8Ng(47b31EdVCqswAK<O~Q?5O{+<`i9I<G326|i+E0fl#f^p)upD9_ z7UEzf;K(G*11ZiVU<Ac~DckTBd`(8@w?^RCdDa7doCh`Hkv{Q6!!lUX<}&0)Sgw*S zY!Mz5F`QcUkoiO@YR`S-D^UvFQ%?Z3Z9Q?=a?d7M?C3yScu+bX{qo4ekn=bJwdF~J zbjX0a;8tK|+j{PX)qq0v+@k|ox?i?JYk}9jtS47{8t)zrX-~0^l_<pEwjK?5Pql<b zy{8sr1@aqIh3}7aV}ne>hiV4weZm*;xvG*{N%$H*)f;ySf5AtxrVcGC@f97TPa2s7 z45z;EV-mhoJ77K&=z%6dHWRy?@B`p#@ZlnpfN4%R0Vm;L4|356+u8XYP61ubvrTDz zFp|1!!Jt{w&#auyk;IU&erOy1bH^lx`d=eWoY%_oA897B9hcqBHX>*UV{a8VPwa5^ z&;@6=;jR0$?#$(L^$a<2!P$smDotC7@ZeAe{&WqIHVk|^tx0TkHtx-iFvdM5*(5GJ z8?jR$1KmOfGWgRdcH*M5XS)0Ikf}WMAU-xEvCr9Uud~~}XSe;%Zu_6z4mi6VbavZ@ zt%^1H>^^4NBo1{9QAUQNTr$~?@Ncc>{V;U<ASzEY9nTj)16t2lpl<zX>&cuSLg*Wv z|48F#y!zzF93IJ`JgivWaFE%`yO=Y->Oxx7<_#kto#H{cczyzOi|1!J4$W`^PQpPz zZ+Ordp3|*}*$e21c|pX^Q&Lh>fBXLk!}E`$F9%xcE`Ruc3QYh7lNYY*bgHc);V|c2 z0PO)wkk<)NXn9?r8!^tXMc?Gnm-2c-e`S9lgZXo6DPDh)75_f$1)i1~K1FEw0HKM0 zLYXk}Pm&1}ze~?b{Ob;yLLXGjkKjcG4$!#qboF>Gjm9^@tMD@5PQ||tZ@`;?*^A!| z@4&n89?f$P|E^&Y%b-H7b}wXsTRR%RdDzZ)jh#d((!?AIFXVG-3`p~@cDRn|Qk;am z%XC2o#5yRcNz7E&yOZ82^{7u)nM4`$#A2S&b>FL4<J%%o&^B+HT4K6FSHe{=SvwOX zCP_>sX54GJn_0i^KCz?gtxyvyA2;ze&K0VENtNX7fGXfYjm@h8lu2H>tV|vjHm~@c zmB}k%Z?|G#bn`Z-RUd<midGL>U^8rmZO{OXa6gp61Kjy_MSl<;f`_&9vI_BvLT^jF zuH82jdO>2ZcAr(~Db>Pyc=Hm(TN;kEPvW~O&#!P0KGD(7;B)v${ecfhnZz#?^}TbJ zCXw!w_=gUmq7o0OzR^>OhZXl*K+7e52gd+S$2YPJ-@`I|lFB502xvS$OJ(>}l}VJT z&3j2{{Tu9h)b^Opsvh3k`5Z~2pXkF<dGG0(Pv8TU<wKoHv)xy^J}|MEK|a`HyT=B( z-U~9Z$z&lZ<A2U&{!chL>?+&6?^Uk*#&$KaLueh7wA*$MakwYzo;L3*y*g?04g;k~ zN}$yuLPnqhTLxX%BEm&0j%3or+csyL(<CL@?h9Q<1G(7ausx<ZOsslL(i3M3V)NT* z_ii*|S%~ZH5EDC@+DdxzzjCe)BK@*J=C4ua*VyjWD%dnEQ4hs++wPTt119NSF0MGY zv-W>Z<or)K_kY5k{|WPk);iZ4f$HU%@P8SXZOqpkQXjO-?*|%2N%@SH^$r)^%_J3H zfVfSe5{^F1B@+qnBrHEZe*)lsCzaXmJ6%t*RLlNk21ovKn4&9Yf!0{_uZKBs9bL=j zuYhaL_9~lyEqg0<bqvgBaOB6r0!3R0x4>e!6_x;=Nd8iYgy|3k(Qt#3SO!{D&eylf z@+;v^?XA+edq69Y`B{(+X~Fzx)8?l;`XilsV@?yPe5O_TJW93sjOhFv<%eONuVsmR z4-^18DZdbWPz1$L3b-!$4A}f~sDQCbW_+;gX>HLwhR<4?q;lK+Q&)lN%kZr!lT@j` zQ3qA(3Dv-8O{#?ruo3EE6KrGBowOxb@;+!(iVwn8cnH))8+ETuI`atZh(J8Yk?lGX zVtecw!OK}KxTe{kpIvmxaF*IRs8Qezm5@X1Z7mUwmGUYE#>U%`D)3@$yj`J#W+UE< z0jI&gwC=?~d3#b{-jUEt7x#w#Ko9c{fPsKz_6~-jfGP80QoR?#a9|Q)y_X{LpHe^C zqtM4-fXThh-wy}idEGr9Bb)z>?(T25z3ic|Z2qV4vfAx4ctz1(g*V}KcnjW!ci>%k zA5=jfz=!Y=Sx~!qS<kQqBvTMduPDGeo6M64C$7ASVL<df>R4Mw{S<U_aF2o>K&LB+ zP_$kW=m1+l#T8%>3iQ0Apic)xU&W`F6!cf(19W_l#8BO4m_k%|!9~E#!Nka4&CAna z)lR{s4wnj9FcvO@ak}R9wst_|olBIND*%I5a3xIO)El(5iK!fcs0v5m`I?w#U?XZa zre1sWo|r9ky_g1Qgbj=f6Z0(8`hUV~`x?jE0}e%42M^L;WAGkg9tyGps+7XR@F?tn zU4ZWp^EluG#5_qxG~J1zQ^!2T&J6ABAuv$|#@w2ir|p2sOW2vy2BCpmunKO4TU50S z`2vP~!Gd6YpRZt{V<2(fvjbK+_;M#+E63(Sq#`CuELY90hC38}1*`<rN<lm%Kq4eT zI;1Mfe3Hb@m>7&)47SD=WI!g|3HK^vSvtB682SYTN|~`=Pz<?#Kd!(dKd!)a)`hYK zZuTBjr0r0u07Kmt+z$+OTTl&kPz&o}18f9*f`ZME1NXreppg<csIKIS#q3jJk0?Y} zE^NzQp?X_kJB}RCVZ5-Iw`7E37z726>hi}Bc`k{yptNb_#Co{_teGX!@QDrdf<zXG z6XkJi)f;Dt`@#P@O<Mw+0bOPiAE65*9)KN+u@h)+zIbX9Y4XG;;7NE2=qHJIUnX%2 z;BF?q059^wEw*;s5i+rxkzVkGGRO!lcpjcp-Mk14`+~h1=>-hRf({N>!&y~Rpzfm| zKNfrpO}gH~Yw!xZ4sXDlz;G{Ms24l~4EKWffFYlk%N+}Y$(VD6#AvF4H@A)R3b>p? zIj;f+kaJuZelc%u8|S6EJ8!oe=NMR~Xptb(?u>#diZ&Id!?kc7%z&9N3$BODU=G{> zH^NOyX1>HcSO_<3XOUK|Ok$IU2o73IlPc&_4e&qV5PYLje+#O_ul%)ihR}bne-wO9 z0r977!QXI9mGuw&plClrGyDuE;1~E6euLlPOE?9mfmv|O%gT#YjfJ2EY@w84%&W@h zeK`|tx7d6dHFa_8+-lot@mj`sVI(;%OaaDRVGOq{WB?X2_zLf6i*_nZgQ%cZt%FCm zBNPpq-4`+%3t2j|h5Vr37BT<}cPj3qup1tOCjgaFsJqY$3K__S%YngM=!E3+Yzfzv zsJEA>TNU0dv4&n&c#lF1s6r3Opcm$Y7uM3(ZQ)kPQX{iQZVR&kt7!|jL6I`l0L6+{ z0@(M$GN^<qU@#Zfz&daP1G|txUC5xdh3HvZ$dE3QelHphBNVt8Mz%(b*4});xY(jA z;R^0kGyx_;&tAQe3!z8b@Ss*b$X?M{xJ6elf?gr|nNHDS=pEEwQTq%;43Ow2F;HTV z#9)ab60=|&%!WCNa|2ut^hsMZj~xFV>ehOs?>hH(_Wp5Gg2KOp+<HT&XgwGC&etKI z!++whuxaj_S`*(l(|`FX)#QX=_cT1c_E!fJ^|ZU5vvVA792e`GrK^h6M81#^x854_ z&DJ4bXy6XMmj1-s_+=}<4EM{nl0`dUr!u;WC=u>$$aa3&!QIHc{`BAL0-D{|QMVWa zy+A)f@%4ee&|SmEcNuh6X5~isy1*5RLDl#MDp%uSkfIF+TovC?pbdQ^;3A+IeWQR` zxbG4e4VS_M_Zsr|G@*&Sb!v-#RI-!cY6avW`>ug&-FI^GSt`2dYd8S=Rl`kS!SHO$ z79E1;l*{(yvgmpEjs%Jh!$%6dMplc^2Su+d?i=t9p#F+bdqwZT`|tsL3ZE#-i-373 z`W(K1FLm%3!iT}OMYmDbqNU1~GQR?3PKy}QMRBl9l~;r_U3B}o$}5UwZ>{2HL!xrz zf+R&_a2BOO3Zz2@WP-|m7evF|uo|c~-#q1Gfy5$MOrd>#&A4R<YG-R0Vw)7uD}bZx z)Y7^WL*&E{aXuK<4aus6vr$>o&rqD(;Vs2rp~5L6>f9~G{RTXtxEL%aevxwz;H5ip zf1DUECpOE8rE_9(jT5`*d<mL>rYUAf7B8Zh#fyW;VDZhc6mEsvf$AuZf@sv^txTIv zDvfs?Au=}TRp(dmrEdNW9D>g^^>+RR{FJ3dcq;;Ef9JP~cU0Lu1IHAD3AXb%`~=Ow z#M;Tk+W9Lmb=Uu_7AouStLz^r{_k*#qtAc}c$zH>1SXYgwLWGH*4H2*o#%UiCi6WA zpJ`7Xr|)5nCHj;Pzr*^T1nSND_JF$h<1CC?AN|btjLz@W{7y^kKD4(_J=914^YN_C z`sjo{x$`~)FTs9j0;<&aGQ0w>0Se!TG567%eQzp>x8a}y-$)#8MPE^_j>FGN@C5t< zNA;;l>pLcg%=fK+4CK$s5w4FQW>Fgs^VriCg%jYhr}a@AzBBMA{0;xWzg%!W==}F= zG09ejfVXsQQA-YPRW9z+(GCiIrI55uQD+I<r_^`t0F9Dv+ApLwihK&?LB0Y7P(q;a zM(vdon5#eq0ek{m^oPV>5~mP_3ndnlokDtA;jKFUx5U2)*0~V!8d8_ro(DO<RN-a3 zY4@>W+{RhvbS8C$|7@{_c=2^Q5ED2MPE8h%hAz;VD8=2NJ9LzFEFJ@GTQHnt9g8Di zypq5U75Ao6iZ6q9jtE7h){6&1e;5RVVF(NblnUz#wipFki~=pbNQsODnZ9C8J&Qvn zu9TPpQx(9SN{x!R!}fT7?U42!JhJ4A!+2$pfs{Ow^Ck4clBX4*XD8pl%Y|&l+n%Lt z#!&-UZIgUOVE@X%W^7nT+cP5!ZIXPGuD8WAsf=X)rAdZh?Y*|!j|%q6c{#XshzEU= zJUS2&on(^da;xVZt+-<${m~>(;zh?oYN3Q~Tk^V&%(FeWu(|r&-6scPUmMs=^>3X2 z=*nq<L({dfC3x=1*9DHu2yABAp7e|o<B;!FazIhW_^&NQWhBq`pDk7gDpuzy)L<>7 zE1Kl<!J#S|1n83FFjYev2!~Ml_sJ@MkP1qxnq)CtQHKJPSd+|q)+Tuv@UFE<z5u#F zCs1rvOLyo2{h*JcC`Nx600ZHA+q0T19ag@Mz;|$zcalu<9NTj}*`A}k&(`T<AP=?h zM>wt{Kc8nSzt?$<hvFmZP2Vy6N*KY#4EtgY`(lQD@h|Wrdf%3`CG@?Dgx<HsM>(R= zS)v}RF<;V-fW~|=W4@R%U(A><X3Q5e=8GBgC5-tJo&SNYs=NiXR1%7<n^Tu5IQ6Nw z@s4cx5?1HjK{?%T3HMyUtt-j4NnL8YE2UMihTV@Hc7Sw1i3{9-MJ>6P1C_t(=vv(& zhg+89a`6XtKxa1boGE?Ak;_0Zaj)A8TMszTmVd+`E&rG^<$u7}@D<U@55ZyLBsy&G z9{qC0@o2}Ec$L)$pbU6p&6c27N-Ck)fBqpt1*)eu!8x-C7s5_u=V7Q-Ss#IQidYBr zumLu~X1EWwz&0p?255xs<l_&PN4^RqP0nyQ%B7;psqAuIzOm)hcKK0doCYtaiOXs4 za+<Te8EDONTC@B&_#94BO;Ug5zXKMmQd+U(F2GkPxtrT%QEc?7Nlgi{y_eAcQa`i< z=%=Zy5%<15$kUa+o0?{OGfPXoGqA}BY*qy}cLg?g2R5q%o3*yLmm7ReHI}MNd<!gg z+mi19d*CYw%2_1UNZp!L7Yo6m!9h85RqPh6Ldc^pPw&K){78vQ)sKEsWJ+5?=}IVR z$*({uODJIph4U5XI0>EBWi+qPtLT+ylv0V#_)7ifvk8^?_w^}n-@On6D~RTcgO#w{ z@7e0gNae@x*+#LKqr_a0M5cUha4K3dq(drXKqlM?^k3iIuneed-x{FnmQp&C8fp1M zTa(rb4U>ifNb3N4oiz;~CJhaddWP{}(s~iP$8oRzEQ4{AhWbhUn<h%@P2eBZ+`sIg zc+yBStp(_$(rgJdVww^`*`%Rt(lAH93T3@g4wtVA=$pP8K$H0BpT3PiUoGtkybNti zdqW>!aF+H}TZDJg;r=if2Eq`)IF$|q3{+_cKuwgQGfLY72CK9qbb`(d*3vFYK~299 zhKC_WP_w18VJzs!A*JJBJd9Rbl+J;R&$UJANcN<yOK*Uyl&KqGf}%}?DR4DRg=^qi zm<HFuB`^bK0>ifSDOdoDVUZHJ1#X2Uw;`SeZI|{_CZlyeGFb9<SON5kQhH1&U8r;| z#6lb-K)fzY0y<wQO5c{|LJH`Yf2C<^gHrlU>0LmdDW$KJ(oah1C#C8qdOBa4t#ay# zYiWKcVh5ChRBUNEpp{CC!g?Sd1$}-cLYlj@0Cp?xE|6<l%6C|7>0?l<xa)w%E~Vj1 z>vbBfRC*t5fvxZW$eS(o!GnOtD`l-RML$GL*$iIDrw^tSf)6~jl}XtG{vRSr(XR#l z{4ixJl<DGfsD?_Yfm&Dxb+7?Y;wc-U9yUQXojm7C+xs8&i04{4lzC<#mc(r7Yw)T9 zIJu>7!pq^Kkk32R-uv`H=OL<${ah~Rs7zHL@3-_rLaaZV)HfWqPb;PHF?<FG;dA%` zz67QjsgKw`R}hpDE`5oJZ6QMGwUJOC|4z4&sV)5hek2aBUz*fyPy{|oo>~I<RH+53 zrqo98obA#kHIKaqr5Cn?o@u1Al9*bhXjE1zm6J+ErLG4mDU}LJrGipvhE$p%^**59 zQ>o=ttdL1*KqsU$x~C|tB!5uann9(03P*MLfiQ&bnesY34v(pQSbt1;5+2pVz7!m) zl!ui|rT`}85qMWI-hyY;tZ&0!MSB)r1g1?X2KK>zH~>w+>@vl|%kT=kN;0WCY#$BO zpH+E&%g-Wc>SHSX9(bH|Q+LDDK$cRUfxW=JQkh+*?nB|F9#TS@<E6f+XFI7{O_Q6K z%AHaT3F9P~)SuKef59o;i;A$Nr*-@l0@w(X`s#VMB1i!yzNxRbM|^$(U8B9O#L={+ zZz<y2y5fX{Qcd{)<cO4YU~HD5TgtjaH@Z_93bd>jbdmllyA&=sr@zW{WSpXnfqv?V zsJ$|+Je3Uq27B2cK&O@sg9~9eTm+rrVn79!(bJ2UyABb$!r>l44vOy}(Q;}gWvc(N zY<UvF=?>d}FiDpu1KOuNJ`6=$u4<YaZ2S3h<>1q4wjAYE{+?2J5uQ*$f2LPX9hUPR ziY>nr&`;&)t8#QyIXbFL@4%Pc0i;<ri>u1!0D8G>hMrcI#elr)vTHS^l_f2k26E5J zxL=w6OR5ZwS+-Dd7s0J?Gc1AIU@4$(%TTpt*FiKagXI)po-%naWWm$$ln$(<TFc#G zh_%{%7|>zmg(^calz_KOL>D$YNMxbI_8S@0Dxz&@a6~(fdEhZc+zAy5Z06@!Y#xRC z_yrc5EwoR0qr^6eGKUtu%D2;U<@ZZGAn~9?734!T)IgmstOXQs`387~vRuW%vWcpS zNvff%b<JM<m>vo|OF)mrO8US!7{P@l%0@}Q;GmY;_KiRcX@lsm&`^bjNziplhPOss z2AI>5%Ud9n*^+DEDwqTlmB?h60#mg!joHJTyne07%~7Dq%T{r`jP@^E18KoyxV9|a zaVOFl6n=4A{dBpEK32v+wq-xUy@L^1WTR{w;9}Y`AE+J5XooV|p)9X8hOw*>vP0BC z2)ICAO4)XB^JJL~wOF<msI)R_v8)c(0~J`d5jKGbFk)r*!4`Ou;cUwuQc6DoYh1SM z5x^jp(X?fl!m`I<H#`B<bJ=t7jH0E&^Y8-rt<64$5>K{Fislbx`$G|j;Wdx}D#HMk zy$LUC?WF7o9ME_Vap?Xp!Mh542k+_f_W_Gj_91)%2jNrr46r<9Qk4gFr!V0v_?iP> zOXKpfD&%3nkeQTkIrpb7Jfr&8f<_st$(H>BXgFIYrJtgOsIpUZ_BiGiUvfappXFLT zC?6>?mdNGkukz8_yG&vXSNA1uYJcrrE^#GX1ruPRlKpA4YnSbtM(Af56Tb?V)i@2O zWEK8|zu=^PVUXID&<WLw0~f`lu;P~5Q+L2OP5D<^Ul*M(t*@gxz-6hSfH$k(;-}(L zq_*Sg--wdRlRJ~*H)Ve7hN?EH_?qQYmDg(}rt6T5EuE~KQDssGN}$DU`S~<q`9P4O z&?qXW^Oe(E%R@9RDIW|DWtO?UE!X)A6>SK#qbbXWg8F882cXT%QFrBCK#{uvrl7nh zFyhL4L2sZ!ZFwK?SL#gd%~tZ)D<nNxJ|7k+uvp?2iAAtPfu&?Vc`>z^e6vE!5h+&? zSOGCQ5+{LfHOYw*DWJD|l4+sjbchV@?ZSX2-x}(09b~&CsB3t*!?lZQPQH!AR7EKh z*jc6MYjpS?-8fQtjMA~YwW}K^yVV&d5?HG{<Ul@nzzYR{TbPVnn2g7leETJcQpH1~ zn&c`8yuajH!23(Cqm`4f^T}I4KfOub1`V)D-cqu1z5c8LHOaU@$uB4gJb`4rGo6gl zOMXz%9s+!gWL%ZxM*)u_`7yx1NyfEF#%oH(mq>mJ_P{<RBYz>e39JIINW4Zti<c3| z)ZQBsZ_xvj={qL*Pxu5r)*U~E&)~zb-pDh+CkFg~ifNMHqmFotX!On4<R2CIO1b?9 zzE<3C;0PRs@8Ekl3df)sepVE`jO0@aoPb}{D2#BE{5$+X`eR5jWh_Thg2`Y?3x$RO zGryE@Zjzz_(;ixD%_?O$@ZTwcHLDZ`Rtg%xq>O-m3UpF(7Xho7CZ!AXfNszedI7~u z=>vmcfTA!eQwGBj7z+3{CPkX0f^ks6IH>3Wz3D_1tZ~^2Mnwf9qBw@FruxOP_(#Q` zLo$Q1xC~aoos6#HyJ0nC$ek#zfHjJda?YJ7MpGBp=ujoN7@5Twi(<Fpu7y0v1#ED! z7Yd*diXa^@M8z1Q;!@ZE`jKRDJz!FbotI8TqJoR#T8z=F{DfA*A>9wHT)b8H`x@dM zmn&ieJOJC_L3jur2JB8THm5iVa3hMbLB)@$tna}y@U&t-3(vt*{<3~R=y~1f@&C%Y zo4rqT2(wYVU-$k94k+$R@CsOX6);T2uLE|e_$_!6-iCMJU7*LN%%J{Tl8cIV5J4&x z=&}k_Xhk^9Q^8x!o!YW(1s8I&is8Cs1dM`<0gF*F8fd<XF@Tz_K!aAG4l7WF6{y0( z>G_|k;pr&0q>}?>Ski@LN;p+9n0}I~o}Du5Lfe0zdj+A{XyFPzace80iBWMoM8Y&q zU5_Vwv_m+1<HHcQfXq_G6qu~6T?5y`B;|eyT&bg10nJz;ty(cd<(R3%v)~4}9&Uu2 zU@pvqn_-bIzYUhcbZ$S-(I2@O7V+v%J7xP8xD^((?rQu07K{!{xs!m3^`*|=5Y$G$ z86(?a8k#ry*Cta|>l7Wl@H(!;uBU#(9a3~Vr-W2&g%of~l!oG65X}u`-cpu94BSEN z8Ej)A4pu@uB-#PgU*Swg4hkn_uI^_GXT$aECfnYh<c@K9T^n?VEXY<x;BQr|<w(iQ z+y-@q<Frvlv(B6V^uI|-vI7`D6;J8(XYc|%uPY4fgJ<<_QN<UqUupY4mMXhh@ics+ zLkyw{y;oMju&K~{Wfk<&iZ_8?T0sx3pm$c#J1gj&74O4dU<_2y*DF3!5}&|91(@yG z3VARUN8uR!pag$py>AQKTypFT<oFc3r*+qV;16B&C;SU%xcGb^l}e6RlG(}-iBKJ( z5-VHjFuko(W5A<9@EDW<OP02x0xF>}I6`IjIdBLns+1{dql$GBdHO>GMOW?BD<4mQ zewb9T8MeU|Xn;o84)?=@Pyi3X!%7F$QLzIag<a$*LLbMfqzl?g(x~j9Ku3wrBM@C^ zrpocq2YRa%{h&Yelwzs80{A7c|5bHciHfeonX{F6ca^wDwsI&Ltz^_x4pZC<;bKtA zBZ0ABc?mG?D;e{ZsP@XSa2bq)De5q{Nu=1`2S?=U(PPPM25d<p$k8cT2n$HNWHB(- zO6F;jT;hZq&f0ie!k8>c)78mv8(Atzfu)LeJ1m1JSPqPak`)jGalkMxSqbrwKt^yU zZKXPWWxd3-(1B{-J5;I+H902UR?gAx^+6+4<{K5hNn%!5#|U2Nvz0O0^Z%}+b#Sm= z?9*Jf@;cQ{yyGGz5UVQ|gbY*d#VNcnkk}%HZ<V-NVu{3U5`6UCR^BcVB{5TJMJu#S zV!1>TG(;d8snFCp*#6WTbg%m*=+l*Sk;(@du$Ag3mGqNJ`bgz2?a<XKcT<}3x!QXQ z@OM%N53mDLQD><`&{nDFkkpZIF}6Mx7cF%(jL>hSQ)j_YwMMudu$%BOP}`<nhE__Q z4dWDPJX{6%p{WyKB20p-;Tpi*NWB)O*#Q}fJ)L~K0NA<8XW>P79?&F}`(QsDfR|Lg zP0IP#@DY3ruc&fgRTI4iZ^0YzHoOC9j>`Ao19)E-9fWTH%~6Tos{B+3(NdLP!dJS( zVZOrjFH7T>Ugj#bohOI+-sxH}s|^Qkhe(Km<<xr`Ybz!#8kU`BtMr0yRd3#Nz1-pZ zQcIFm41=mpx`YZz!z`IJJ$g!;ATf!mPNUA#rcq;Q)Op%WxF!s7wQAUXz3udT(Jt?E z9GDDqsNu95bnT5WALhaWSO|*%E0l)uNt+57ptL1`t*Yt}<bRQ~>H^-kedR*LtK2&C zD7*{rkYwijfJd46mi%h|*V$ygc6Q8}%-7k|B#yt9HkqH0i_D+kprYaBW_}5u!&iXa z%KQcn!MDIdVdfF|4!$QhD{beGecu--!*M~j^M^scBS8i8NhvMi|IZ};e{kt^caZJ0 zu60k}i@^(B>%4aax2BJ!Z>MH_k2%^pT+QA)9O#Rxi|G?pm#A9D1jV%sAK5+B^>DE5 z#4in6@S{stfp0`mht*vcw)8IKNmBS!HQiX-rKRs%<t6<ghwb#7qv%nG_gN+JHFHQ? z-BY4B`|0=pe?uJBeV7TGw68+d9uzE11!KZ#t5Bg;SF*E3=bI&dfnNdRZ?oyp*)Op3 zyX}0Fqo~CYuD%|nT$Kh3fO@c1i$DdMtJV9e446Yh_*d_%ZeZ^&-6#`yCTFYegxeHt zDMSNaQPnbCg7&LI`&FU+s$v1nS9KGh{i+f`PDK^Ew+dxamBMGUZU#*(tFBVUzoG1M zR?;>(bZjDXKwC9wGO|8LLH|Aj-&X0%I#q6!V+$03R~hm_5#;H)Xw^1Ys}99)`)pMX zNLN*1;;OXzUeySiO;=$*t7@PMYGEDJ!Ft#T9;k;+fU&H4NXd*rcu)G?c6c!>Cap2V zcHSIPbbCwhdrEsJ$I>78|0di{$J-iIv^>cBp*r6EwsS+#3NL!3YL8++to@Z<21MF} z=T4clN6sC!Rdf+sg$r)dcIaS|7e!O`r1p27+c#;Co(tNlYjo-{?WcKJAx}Gl!}{vk ztTJUxW44y|7mRbgW;;*t_efhcEsG;e4Q<tQMgLc!@e<M#hqPcmW8|-iuX}i~U z-dL33MekL;5$t6d-DbZ=n`EB?lwbC{RBrYM@FBb%LEp;$176p|kPfs-HZimRR<u8X z>8Q>A3z&}D>~G)*9ER`Ud%(rYJ_bJm3OD;F_!;DqWq%^^se~NH>=SStn4jA0lZYyR zGd-a}s9AOFAct=qn*nUJJ46N2K;g+jn$gYyiT#`!ra+Tp;!xYakyZ_1j+xG^G@XfT zdOKP(9Tk_321{=ptoPN@+c*XwL-n?jBO*Ar7tzyO!lep~0zMpN(lK%AEYF+t?!Y`Y zojGlKALtAHpg#<TRz1o5yNWvmhJrGbjx|er*>)}~S~JF5g@La6pq2Lpe4DDjz59`0 zc`fqGAn!}mM%6d|y+eL^kdIw^8(TVp@Fl7~bqw@h{$WsfXn1%FZ>>I2E`OrxBk#)$ z$6$wdAC*^qzW=Ikb>fKj)yIDb@xI8m+TlO<W03bThgPAge)7JAJmHte{qh&T{M9di z^UITd`G-H|C*D`N{*>D2Pyd0x{PK)n(yL6GI(oWa0Y0sphe@;!a(MNId375vhPygK z*YVQ}lSb{>s!$w}s+J1TT4}Gf*I9aqNz-6>TLIN*8h;eVCH}adD<pF}Kqs7vRt0y% zT{KhL8n_42gLy&Dq-8kzBa@}r^*kyKZI-rPF>4`9ff9+eG<6#NERDB9Od8XHG%w^q z0ThA{il7YApd2co67_;=G-)Fwl9-gDE9WWvzJ&UGwTiWB0k_wGWty}PqaC*Mz@n$T zd$D}#_*LNu?`=A#1(h@mmPs4MarL_^)R?L!Wq%N<sRpY1;apei<BHW&;X;t>U9F=R zfqr*qtFMIt(yV$LuX-TNP~2&7iF(9z7_DfR!Z;WU<Kc3^U{zlU6JRh*gh?RnUOffm zm{%#88^~()jk?86IyYar%77(stCGh6Ro@ObYcf%dU8;`Mg$vHDQdBQwk2$WbUIlk3 z&AVWQ;>G}WsTwc6Isp;^vsCQ_-23XqkO~;e>U63LAIesvpwpG#EM;X2<bg-Yc>z0A zoud`o>TQs%3ewE8+66K_)eTUmK(VsY2qlVJ3N&|hIbegTs{wmdT?^Qq>J5sr7BE27 z7@+F=00mq9kg~zxseT+DQ&LaBlkljfG1ae=-KmZXgY5wS=dd-ds~_Q560b2uD^V11 zH4jg1^_#F)3E&7<Ydk#<2KK>zH~>ws6D&wMyh2jfh9Z{3^)Org>IT4BOrI&QE`0?| zQ%!JllRh0*(h1XJV7}B~EHD8x>2itiBh&FG({Ba*$n@J_Dd7F4V}sK1fYYO48Kfw^ zRHc=1AtF=xV8Eu|3->6&Y;eJ9e?Dpm-T7ZWR<Wnin$BoV&s9Dcqv<rHNzVhuWjf<D zow1qD*i0{m5@3v`qY%;=qv?#%^h%hdWbjc;`WDy(n^m(Pz=sNa%#p1Md@3O;<-MJD z@T#ZQ`)$%Cio9d>v|aP=YHEHU?|rmPQuo$*#gDZQZ~A6rQ2BsRvv{Cd`WvNiSn+tu zVC#Q!w9|njoT^b9VhXGEYEpGGVE?LrP$#HqNyz_EQGfGeM{C*;tp-z3eUfN3tqA<C zXqfG4>~A$Ty7~<K4gbKuT%;QvW6O0l<h};IQG?pF^@qTprSG(N1dbB$Ca6q@5J^28 z`STri7z)B9VG3=HtmR|6SangaTB(=j@g}KOoVx6WJwG)4+QHM{Fmt(Q9(k#Glq)u3 z25kKaL`{2%j#A$B=sDA1Lz+&^a_INerr~7?nT>RkHA#c_JlOQ>&1Ny3Bxz94p8JEE zeq9t~77wMZlZO7!xnchk9uVF?e^7Afu9*=rO((7!<j!i-D>pqj)XejQxjfu?ZEJ)_ zcgJ0|HQOOaffC>qRa;XAjOH4j9MPHwxYbShgB-h>nwmd%IMoaJz-v99`7!f*avt4L z^N8X<NQz%8Svf2<GO{%ffxp&K1~nT1$Fv5gv<AgcgFdK1AJlAtLfA?ry`rewNJ9p- z28~ny2Z8#(wAX`5A;%_NH>u%qk4gWQfD~@cjc^kg?Gw~0^nwe5^LvJd?V2i2ZE0}R zr^CIW!%Moj$$Cgchv3|})?w~TL(E+Nzz*jB&`na`{JFd4HT`;f?m9D%VUo1Kk-xyP ztIE;zYkP-Tj4ia@O%nI1P3HO=*epizZ91Q$n}QH||B#*Cp_hl*PIqB_)77x)A75uX zWwL#CvhCz%yEkYOb2AnTP5Sd^54~`9`*c{heqA~+ckcLdaCo~pTyc=di}j}x=}-7| zardBBj<)Su2D|dx+KziL-EBi>wk<BxeV!x{yx)w$>|_jpyBs5R{4EE5zDeI7G9$#b zA;flkH)OH2#iuiDrwq0Sf@TM~HU-&^9|U2LO!`Z6T=&_IA4zY$^8Z2mUofMqQhW7A z*QT>qz4rgX*Z)8G#{UQ38*4k^dZfP-$jF|_t^IdSx=0xf1F9+`T&cc4&UU(+Mw~kc zF^}P0GoM<m!7A3=220d0F_txva0}}ywgy{RvyhsJ&;+Sw5!|B~N<_cBtXU2EsYuNV zSP8MfGd){_v8=&Z)?h4ak^w_mb2DHpYtlh=^Fbg#8(BFq=^r`*4Vkf;==mY;D#t=c zDeD+EKU5+Nu@3LVdQp`o!-Yt?BxKKhAq>_KvzTAlnxuLEbsCd2I%v<fpr%6y9Hmu3 z1L<GqYcyZFr?KhRC1&vu!sGrYJof*?8TX=!=<X(I{Qn<J(tk80U7@2B_G~$ugk5(f z*{OM4;t5X0-r%sKVx?;LNcTOhYIz1UCrg?rarK_fO}{QRiw6;&{6FET`BQf-)yOC| z^RO}*YaMp=S0uYpbGmg`b9Mi7V`sgYhYH!$SvP%CcX$il(PbA=hda4TM!~LIIyHTo zu(8U_)04E=dAe4HrsiYj#5Mdcg{?t>*L)3nrMTu09ELCastEmF<NvarG}x!0*LZ8B zVUOx!sd&st4Ku8o<A5cp!IISc0>8oMa1wq8%!O+?S!$5_ufg7Vx2qbi$-ib-B$cS* z){)`M)JexF>sa*+ikmTs#>$uiQ(=Oh1ZFT`GA{RzQJNy-3W!n+Y<~s?G#S(B02#N# zb&5L!a5pk$0pmOak0S$*BLnr7!ID(Q0!6tB7Q@YeUlF?&7F>*2NQPn;aY^i5fNK%U z$B;~HG%SPL^s-s(YPeY$l5-!c_*sg<NQ_NWAchRZVyI(d6*mqNAs&*z3CWNG424*H znOL+~?47WR{4B>~pG~dh{fpT6Hm-|&n2h1tqslja3?I=R8xI1lwDAKq-bPws<2%X} zjkob#_>#uk_$#QTH`3%AQRf?J@r_5|JHXs;JPJR+`#{5P{E1uP%WwQy1<4s?`~B@G zxp_F@+%P*TO||2puive+57<$-P_ZR;lq#e+$d1xnD7GxHUmn=_!n!;^(b4ovpRit> zdngbkUwWl=(Z9QDnohi^Ja-JvyV%TQ1{CX6G+R50($<oX+CI8db%-66sY-p=j&if9 zId`wxz)dy;Hg$o`Mn%~~ZrE%NZ0-wewgfiY?5He~?x*Vt1NZAiI72g_4DM`V8+3(< zZ46u}y&t<>S-0z^Dr1*&An98Aa<uyLE;BEKff>S?n)f)<aLmr4Vj6x3v9s2wZ+dsd zHJuJI^XMQAKL*)ZSyWTQPl1bm32crBHopcozXdiY1DoHqvCVfedYduo&DzluvF5dq zL;Aj5$w5u0&QO6`qHDg7vA2SJWOzb?b|nUL>dzoEPcsfJ+L?yac9vo`kl*Gl?5m$O z=hIu7w}RHnnhT&9d?54OjL*_s4i$i7+Zb$T;o~;qWSNFPm7dAK7TV?-z!_;?ulpD8 zy0hujDKoF0aLNCKM{}|<)Xu8WMapT?wBY>fdhfb*LetmJJF5R$X6DV9z^NVdkJG*U z{UT|)uElrAxP##_hW5Bg2k^CHcffU?Lyo+?p*hjE&zt&7ncA_OO_w`63-*z-ngbFu z;Y9-82P7Wh*AOP70<AB*<$VZIdwDCwt#A$K6|>rDFdZi9zo=~OBzy+z-Qg%H)EbVi zz7l3peYH!0S&pr}9&UmgU@pvq`LF=6q_q=ZF<=#IZy`$~p>M}<q+Z~z=}$&#u7%-n zAqmzn5^64np?wf!re>gy%9am-t93oESJ;}dI(!*i0po$Z)m#PKv1TGrs+uXf{5qHc z8fZ16=`m3dO}I%1URFA<z-wxqnfbGKrH^X*H6nMfnMci;M*SS1aU^sA)^$uH)49e@ z5W(6JO1tqAXsxNXqb+@|k+qXXwMpY>(wn6~4@O4grNEDMO(V*ou^;q-{xARr0`{_T z7__BhvxGzlUD${|Y8=4<9Dmb@^;>m=0_gAbqi_sRY5BpFWK&ztq<=>jnPW%3!+tCF zV`n&m?Z~$s`N#Y}z>g(AwssuX{S3#U8BTzdA-ZS4anA;|Z$5D|R#Kddc!g^CzR$42 zpkT(9c5CghQZ^d{n>uZ5ZMl*z1Rph8TLc<TwG5})&5BeXxNIZ)^*XUdVjF05)@}!_ z4b(me4=L~naW)0w><DHbvu|su7hAhqH+TY`(q5%Rb+9gBl-XJ>EYv<Nu~)a<YzOup z<GGsMrceZaimhd0UuzWj4&H<}l;Yb!z18k_wAAWOE%u_;N@Z(xr}ky|NpX(B2dX0~ zzLr&NTl*1w3ZKAdfOk;)1$+sI;A=&D6%NA*?ffc%jjDYKj*!dy0tG!u7T0y**xztQ zY5&WC^V$BXEUoKC==cA!bc!QrbGxoPv{#@7`C3Q+Sr<awbxN!?FwoYu0Y=@rwh#dq zkP`mUI>z}rZ0b6Uy>moxUV4aaV}ffx3(h?{!ll=~ofkRsG99+fOODzv9JxO@T%U0t z?{1RyQe?0G1;a}{TP;3%U*N9ZeXt*%4)2PjF1%0Z;Vd`yJ_(jAdZ`_+2A-FJr*(7h zYd}M=MsKyG@1-5Q@4+6xUVA@)k9C_5f%^915!6P8dN!y{vpidnv3?m7<k?KZwJZI5 z@qT$nSVvEuU!%GF`+TWE>oA@*+DffO`w!=meytmvA)bwD;I$s?OKtMm6jS^cW%y;9 zUuOE{oqoB>FYofp)qc6$FW30xJ$`wwWIc|ctw$Z!(<kdEk=ObuFcl`Kjq7iPar#{< zO;(R$tH<fH^-JJ#|F2Q&XAry|X2Bdl_151AHvww59wk^mkFKADgKz5>!Xj8qrG3SL z=0~`H^A3fm<mRW~Nixy=G&}>lH6?0(k3QMpuoot>_OMaagle<RyWk_mq)D2eCtJ<5 zOS4+NndWak0Q-PW-P{Bg7&gsx{pQDkMs9vx(P`;*^O>%!)&Pw~#J!==U!(27zc1nO zFD0qNnABlR>K1b2x<$mQ!>rU%zPjPsxrBzVyBx-I_qr>AV%N#Z&aANm{qH5-!GTNR zYBE}<w~^|mz%;l9rURCtj@qo73A14=P_uQ^Y8}pWCJH!{yO~Tq$;b>+;%HiviK@;F zhc@W*%m`=)t?*4vCX=qr5P$z7fa%EW$RNt(X+>ryUCc1c><-wCOjaQ>djbX_lgW8z zU(hWu4w?Ny_q<q1To0E4CeLJ!hs)toe(yU-_f|%ES)QJ32esA}qhNyWdL!^2xyhUa zQ(-b(1J}Ydm<}@lOO-j(4pRPS1vaw@o<DDz9k{3C9D?iYpl&qKnV|W+KRwP4EDsvp zBK%sJhrjJ0wb&DC6TFc+<}0=?MU}K5#13ksY}DC7D)Pc0@~hk|vV+>Qxizr4Ij~t0 z*xVM_EDdaK4{TQ0L2Ze!j8rrJ)%{GS|2FBmO&rA7LG8HhooeV+$^cHgt;+%?@+LFZ zpZm;}s!QCU%v4BGPSSySNv2bCoy;PLS4CpMGZWx0<-Qp1*2Q@KnRv>X_dqt__h!0b zE#yKHcpwk*!K*yzqEZF)khX3s6o4GhIv*54o)+!v8i0qifj5Baa@dpKR@VqJqjeQ3 z+jgi_+$vZHHBblZVFO@X>o$Q0HUs*rZVOo`2b|c<O4Wp|dqlNTg^2kM5%*SR(G%`F zY@4x*wsslcf=<$y*UtVQQ|BERRq_38-3@`zi;7Yd>Ag28(tA-rMC^i!1O!1P+4S9o z05<G}B&2ON$)+bHDhPT}Gj<d!0!kAVOH4&Y^nE^e!~6aH@tm2t_s-n8Q_eXvdv|x9 z3}p3EUHOk<H|U*;YG!7&bW83S{s2o(5GDKN9%F?q|I6@%Lxa%26Ot(VvwizQT8^FL z?OJ)5;ppGtXzlds9FDR-tvR9+@*tpG*nEE>WZ54s`TdUWB+{L2g6mIz1}PMX<$oV` z(>wkTpj<gCU=O?od*Kb(2m9eI@PP#f08hg5<0M=Dx8Wd>P5;7wBo4u6msk<MIf~0T zo}G!v9Uo@qbZeSe%=pQjpaYMXIc*YE@@b`Jm^r-@xqt3-r<v2!nTUI0<<7czaQ4N> z)UbhO_QURku8BLfK+N6LSV->m8go5D%<MI7*EySa3Q63-fwt|KUAdDkW{z^0IjtRu z`*gpEiy3d>U{6Qlt4(xteyExKa;V!Anpj4|<VIe+Xo0ixpP#IGWlr}NXCj*3%3Ww? zr?|H!(o(sL&Foa7*yTTdceoQ(&W#t(nsZtt<}L|dqN{KEUv%mJqBs99`q0Ij-s&(5 zzgO-l!3QwsMk}=vZg<*$xs-dC4%`83v01rnuUWbGLpbnRNbVY74(2`x%&goEjYa#< zDBs45H+nc2F-Z?`c=e~P_vJa=&p2CE9=W|e-LsvZ)b$ZR!Ox6XxwWegh3=mfT6yGt z-FF=6&z<|{IxCN?rV6XS*gwDW2=`w7&Be%9!HDrN4XxFOm7-3ozr7eaaxrqWF_Mkd z@S|oT&cZKb%Dxls0`^$4SJJK7_v+|9umWxaHb%0?GrY2=!Bi@ejf&2m36sMR6Es2y zC&JCjJD0j=&(n1%>TD)f_Ci<$i(v`e1h>L1x*YwVea9uHW&{cUEQiNFIGBS2+9HOi zu%Rjp&6+(5MgRsUn}tI5Sis(7C#d3Xl{QeN%xUWBLWTXedb%SQ+44rGryIrim)NPB zY`L(t=knGZyWLLB<vY`!*7g^t{qyW2ci8e~TQ0EWGF#qa%jJ^Un^i%)Gb?*5nkeZp z{>5`ia|GK+F51?`OE{K`#&yx8u3PM%|8*_b&;PnGSJJ2jhWJvDIdDb6N=3AJ<wC8y zw0Y&ikhths7rpOd#JSePL$CoJhGl@kaA7c9n-~G#(KF$cu$sZO`bSDwO^2`k1%A+1 zYgT`+*H4ok=SHjf?=ky#j;z%u$<vZU;bdNYUgxSPBAlmL{fCOEhI*)l1~><Q!e4-X zT75xTPLtzOP&rPCCN#||n&yuNQrW9}wpZ{pJgNSDN-5s-v9h1#7TM3iOYj1`46ndW zKwD=&#-*;37R0beNl)P^Cdv9F9e|fXpTHzxaFQ@MNiVeMg?xumUd?Y3_uM7x)dg=Y z=~;MB+1`Z|MKCxfDIF7*R0$a>B@?h`NxD%E<U#=Qpai6(BkD{~%vcgmY7)*x5>8~& zZorXDDhKpd5`JsaYbtOryaD@g1(H}(Bx$LagkPG3-jAqKarGoV(Ib|E^t%hc#d5t0 zuW_*-f7B$i+DiHq-#ZzPIq9n=2yH<oeFH3Jl8!3D$}Z_ReA#IY7v4(jGiPUKs}*|s zLmatN1>HvC51u*sb|TfvRs#)C2j}2V_zV7qf8Yza0RI9Dzhr$=EtwuRNhj2HC!HZz zD{%^bf*(Ly?JWEPzjC#{Jdn(aAemN3#@#Z>?V$s-(m#77W5AR77D4czJ(8P~!o-{8 z#n4fA!{tuCQrYkmlDk4@xEij3Zg4I10JTt0=mouX(-|-r1}XPYz%NW5pk-I`Ea;<~ z>Z8|WrbY5R-E=mL(oN^UXl28zNFEQ@foeMuu7^o51^UBOm<H29TF+1K?IFyj$eK|S zV<fJlyqa-zdRHcO&RtE-TvjfY{~L!#t-n_BqYg7~GY*YRk^fsn&MG3`g?P3wPjb)) z{*yWwPDIAcf48>@${~j}YSKET?`rM2-r=rrHgBb!k{q;8&Ix7slrr0R=ONoW9Nsw& zs#D$8;hn2I_k?<zG8J<^Bfi4vZO)ziE4_G}{#CZT&z29^a<whPZMjA=CmmMy;o=9I zdPAF5Uf81|<Gh`bkJ^_#(pY4Kor<*O#@3#H+q4<aH3{~WI2kQMJhgnj$@gnVNI9>! zuiNbKc2aq6U6u1h=ydAo_t=RiowL*=Pt8F*EAh0%a}v)>=*_sC7ZLs_yQmGejJ9Qr zEn_7kdZ>9aAQRh>a{%%{u3t_86haOo#>zpf<oFs#jFpo`3WZ|jybIcu$f*Q<89iq= z;G5*&f91RmjD(!Mfd7|+hnABKZvsAGj>U+$zKKV3sD`&tP0e)07+W=yRXAFumUV>{ z(TmDOY=l8Dkh??-fuYbpY$_5f5Yd~;wQ)?R-y`Uc2)RxXScVApCanm}LxdJ<5u;(8 zPE7zTX#^HL;(EX$M@$9`O+>%Jh-qPn`(Odgc7!N5E4zprVQ!l?9SBwdKQpafYeBC? z%z!m29DgZdd1x2ic{SYXyhgciyB2Ym#2pfMOWY%|LSm%^&O*d2SOPb}Qo!s*JOmpU zw2w2dt5M3;&jH56RI~7?ei5G5ysplNC)7*mk!sd5)jOHZ)di5Gi<1HMUA+s^Ap<hO z2Y%QA*?{`5miphw!{mHKq6q8_&!4EJ|7W@*8w=^jIQnHJ{a8nT9sI5(ceW<aS=EA% zZ!JFtIJ+$cWw#>17fq~e+RFczvi%MJ!asm9&At?LCFio6aO^iiWzhYa(F9k+WAHdU z2~WUNup`X$Jf?;(2Fz!~^TGZ~BAN^@Y6wSQV<Mhzd;`mhc!pGk@|3|fp!UZ_iRcb# z>bl*Ku8zw9KlmUUav&E1kPpuRZJZRt=uO&W|B6<UOGOs~O_vl0@jB_I9ZQK+@0QRu zPc^nKyv<WTnISXC5#F|`HTi+&m51An+WAuJOUyaxDl1Z|{eJ7_vjoxljjrTave&Te zGoF_mJ6V94nz@=jvlK&j*GQY!EL4GGtjTLC4}Ze1Us~A(sMk!Lk%jT>>ajClVJc(F z!%Xzh^BzA{^3e4j2ARjFohQ%Rkfz?$j+2LB<1xzi4iqxFJnur0vK7N_C<UAW56*xG zN5S(N?14<cC-A%h`&0yKApA;e@`lR8Gj`Ip;T@gU<n_+V!_%BQ@kp%jPXFgz=l>r! zHOus@xXh;JHWl;fK*VQZh(k(Z(>+IkSMrVL7<>ocXnM%dc)rl1$n1H(gg=!7FT`_F zkAf@UIi+l;0fX*213v>T@4=vZeudxRYp8-hfJqR3c~}=~@;n^f%5To!^YAO@JuR%8 zws8D9jyk&0{;yO!JdD9eMs;K#NAYHLO*?ARrd`NWrg^FTx@L=z%5VN~uHa*fVY5PB zImz^KI^FfnteafaJtaECTKW_7DZITkd0pk<E;~OVKG9)K4tG=@KH}KfzyqYjIIN{- zHDZ{ZkuA7j-2b{ivUO<!Pn+!K@F3m)novp#tvnnas(;hv!1(`N9Nvw-*g#)A=(N^p zu7+Q0O@6rY@Oo?Ac@ll>-e^qpQei#*@9Dn(J8i0+RIECLJ6DJ5!hVhC)+^Ef|0V|f z-^37xLgnGKo#QSsUMcLz4xko9!9-rcV|WSMLOW;=eD-XGUlwc|cjC@DcrD&mVLLZ4 zF1)QB_AZon*iJ90jyqk*E1Wwc=xXm(cB+#tFKgFk`pzpmx53r&j^J7=g5Mcy$xpY2 zq2edB-r3CAyaTaz%uH`PJI5HuP7jaf9jU7$(NmGlNOf`88(!XCp$kHH4hrQh5#t?Y z-@CW-M(56<&R)86pT#?e_aPk681@T>$?V)1@4&``gBruZjp2~S@amnhG{Vcew1aAr zoCN6i<WvqNr|bAN+HmuBLt2q)g=_66qWdDyw~^}8q5OXY$~t@)m)G1uD`yu0N;F$; zc=!lw^4ee@Sdm@S2Yfx*io8Y_-=$<v=&swnA@LR;XfdslE0x$UaX=-OsHBnqr=$?m zYm;(cDIxzRyUfvyAmV}!DDt1gIYjvAr)nLg5tWD2`|o^+Czy(=^4<e;VUF5xJ}iJ) zn%~})Fzw>}_D(0Yih6kOg+=Ov`(UxM;Z%E<!BSvV;av_a8oal`9WWE_guCEw9v3gf z)F}5FJ>j=45JxzaGKk1YJ?a_wfs&Ka8p&vk<P$BXaUM4%asWeUieqQ9aG4&x+nkI- zN@3-1QihVyOK{1*QM(km=fA5AG)r<VR0Aq28U2)uYDzu_7l37|NoKW^{4e}R%~q<g zOHqR<4q7Os2Q-H;3QK7Tt)QuPHB)+l^Wv^1ztC?|`YCU3Xro96RfIvAa+&g84$Os= zj?f7@Ll@`@*MKf&36gRxbmvir6OL6e%vh5$LB&s`8zYAhnXH<vfZ2faYEtOL6nyfO z88R~|_retQU5J!(%2aqjrO@grH|R$9!;Q+f2<W&JIx*#Dpd(Z0#1uL)g-%P6QAn8% z^j-?RmvRqPkdlfV<S2g3{?(rp+%%Ii8j<`y!f)4dD6ym`rSnrBR25iKm=x`thw~eo zoiNX4*9sat9M({enzgWwr>c1dHo>Dh8VStDnumEC-_+oz)kKlAX1#h}pIg>2kZWGj zq30o<C#!h@5|q~sTfhs6uobq!c6b~%!V~Z$JOw*c%uYngW`}h%6UwA0>n^NJ_Kz6* zS5;^lHfoD5%%lY-J4~M*j<67G`7sXddXT5f{uz-YXCbGzL|+`=oH;NYhM^{MM#3l< zA~z~$9`w`4Vc3|Q{%{?(BWFGg(8pm`&UlyvxYjwi)HzdNDoleJFc@aSEMPFy*!RZ+ z%jt%C$+=c_=qb@vmHq`?Tib!iuS)$c@i$<SOwB*Qe5g5kRR|-prryDrtoc`$9BCcq zY;&brn>kc_6^Clo8^`P)DXL|-)qH3FNKwuAOo*CO5+@{1OZ*^lM&d_AEt98)*;uQJ zw1M^@e>Uev3Dk*|vxHXs<*Let2dt$G$eIe>IES;@zd0%!B1pVS4R+nHBUN0V{Rh-= zD8;SH?%{ak*y4REj&WTh-B}}*T9c)x^m8#gPub^a=Ijgbr;1?zDI3>08+D%j9~mzN z6`<-g(_$qjOv%uuiZUK@nBG<nMl`3LB3P;%^g&Ijs>;TTsR>BrE2+Jqnqpmrt<AXt zI)-9RYb>2ar<<C0p%M&jQuCgUd;}jW@~JNROtB9n4wCyyheksu=*)v&N5R>@GO4EU z{E61hbbRF0Cj97u6*<kRibraho4t>bmA#*8W*>t}c$ah8@4@@<wuWN%_wZ(;zPGYj zQD&b~>Br$?6><W2UD3*>8rh%2XYd7l317k2a2O82w{QfG(p3-0BAJ>m5h+Z*l&wT| zg;VKi9A(?W)Erj(++yavL!$O-C6;US-m2Ig980~D^~)Cyv%sSZZbDSI(qYD;<^PJ~ z@f_}k_Nbi$eW4GXUE3c9K(7|)*;=$??X}X@8gt!YkP6c`S!(CQaOD^QV_+1Fh3f#P zsg@qAod`YQdYA<I;I(#&%9tiG6SQRTPYOfa57fm!n^OJU+0QNfGxehd{>j=o^-rZH zZKT5dw1S@v8{=OMXb$6F+zf$c^e<_GU=;grQZd+6KdRY}UG?7%cK|Bdk5=~20BpH` z1+0X7;XZ1l@@jA7Hnodrt4)8CtX?i5y<Tm%ZD(Ss@<URkBT}U@B2T(^4KdBXZJst| zGruBWx%By7Er!v``2kLIB#Q(0aeeJ7s#ePy-Srr3XMDJx02Y+4t$OLxl}(uskv%mX z(C4Xg6jP%h8XgVnjm(4%4869UsA(#SIW=2V@xfDyNU^7K$5biyR1|ya7VttMY=v#g zxLwzx(o>&>r<HgFFbJtwj#Ml}>Wez~vV;_UYO=&Gi8O}e^rt6N2RfyAT;;c!j?AB} zc^N#iYcu3=QC$O%QBN1v;VRT!peps3g3g?mKTzKZoJyXPeQHkRPmVOB^7WlT9z;Dy z>zU~FEdd2s-xk^dgR-77>i#CY9MG`!sMd^kxOon7^-XQK#9C@mi_xm(;c6eI%-T(W zVyxYuTGZ|UJU>(WVB_-K)UG4-oDMw=vDBv)D_a|<yqY;)piyf#0}WeCqt?=>wc7y$ zTl*MbF>7hsT3XO@X}jIUqTThZ`ujOx%iZ+?(6*LqCnN#81+ElG#n*e>k$IZ?`8QC; z%N$EAUcuA7eThlCfr_Oq8j4uVlcn(>X^ix=<y@V{Fi&Hcr!CXWNy8IJTcR1P?^~ta z1hLA?SW3f%Hfbw)vNT3j+P%tqA26lTRsoYKZ4Io22Vp&6T+(>DG-{N#QQ04npe@t1 z;7?m1A(N8kRcW+MTB1@KX=xg1X;09HX-_J40A7KYb!8GH!*d~RaOcvVcj(blbXlrI zy2K9sPDe+T^fXB6r@ae)JwPR7t01~PEgu3<0EJKl#jqPnm5rgERt^;)!<hEEO2rDA zw0#n9N?7or8uu6Y91f}cFX1crRIeSU{RSUN{p)K2X&*zivi=U=s#;ZWMA?qQarh2S zz)3g-r{N47gdgE2Wj~8DVSR4W>WC!5R@g@R90Mit1)X66S&=79^lR?-85_(?EAklH zKk_?H)~1nkrJ3fxDe;98>5#!hQ76@@lj?d%u&Zh6X2Kv~SJTuD0h+$9zur5ln+@94 z)O$yDeSob@Q#S|L$~1MOVH}Kw@h|~U_;o1zy2;QFrodE~2GhA`?PqXEkxwK(1?iGn zX_eYai3}=LOXJtlg|)fdr<VS#r7vr<wZy7@8!}a?=0to@LZxcofl^&u2CoABTl*Tk z4troP>;pgShc^Lxo%1uVB>$okzJ;$<!Z#c}OL$ZjIS+JFtu|$9&%lpxLKUfN8iJ6O zuDw8{1>rGOt5t}n6KOSBE1jgv>p~nY75$fJ8$$bj{}K6Br80<WtAW8%TLZOF2la3c z7&mp7Dm#j?_Ag-5(v`_UEV-$ZC8}#LaRr6db%e{5>Z;n|7MMC2r<|XNEKy3DqYk@f z>XyRIJbB&iuuPe60W?S5t#BvY1$V<ep!G`KL%M2Rh~$It2&{)kVH05NOq~o|-71M^ zRE1|1i;!?hM8j%DVkF`u<e$`OW2kPkI~lEgEio+@>a@71+bV$~t$RX|r$Bn7R@1-s z1Ncypj~V)y(#Y*jHfbZ-SdGM<Mxth{ND8qcrN>iyN%T=NA;k1utLefon)h9&BXOqh zdV+fZtsIH6jf~eJlkpO{GG6JA;Mea=2E!>M1K5@|89vAY{ra8BV1#8{{PjDN!INZ2 zk7T?7{Q8~AVDx41xrWKegCbx|XP}odN}v=Nx)}`Hj9pLx4C4%ja4O?JwLq0Gk|>cV zlPITsQ!5mEy*1*1l5Z<{3f=?5-BM|!)DK~Qh~B<Tebdn!xrbluv@Jp^wNCw6nHb!u zM-(|oWm6gEsh=u4^ELHLKm(?J1z*EAa2SpOPnF6LPyHT_EBi^*6QeZkZ<;H;FHlOl z-V{o20+gNhUs!iyG^uxoW7k^E8U5W;+CLl|ND1jfB?drqu1+5eygy{pnNjI&foDx` z2U!2~4nW(dUqOCmS31K#ou^Fiq9U%M7uk!ClzMcziAc$$Gda^cgXTthH+4Sko!(oi z?)K6=eFVpR+R@9>!I2X8O5CrDvlSaHF;-$6qcxrPG)($!Fb#ND!=%rEnJ`&qBAq#v zZojZ0Gm$<K?or-5f!8)nI`b@@S2s-he7F%7!Xj7<OW-EB879FpxCNF|8CDXJMNp!_ zjA^qX**c44LqC$8eJk>H*aL-aIw4tZMB;x$rt&%#UtVm-``b@Yj%-}|S)hm0W#iK6 z?sU33{ZkF=^k2cYaoQD0{}}#I<<VN{vT^CZgKS*-Q9xIvGaAxQz)3g-r{N471cp^Q zswn+us8unxA<Lsy->UYkh9Y^1)QUt0NAeP>6^V+D#GQ*g0PjL27+@I|`2iG|eoV0R z2UUSJQcUULumRS>MtB$=fk#!@O-?;T1jK*~Vj&LVApsJ>t&31gR-_cmK}Doy($5k3 zgm4Qy23sBWxV}JCE%~=@e;!agCVhtrkwcv>?UOFEo&M4a1d}6OE?*>T!ARDGk%u6i z?_vC@k$nJ?bgjIf^ju&?ZPL*h>G_ap{|{rjPk;N9j#989GflsL^g5i~J!u@3YD|9@ z_*m4WR{|f4n)Kc98dSjRum_m@>1w|HkO6PPTVSDi4A9ChpXuM766;i{x>qD#fEPik zu`VSHaR9PGAKuha=ehv+^nL%jcVL&CY96jG735~s>2sSp>R6}GZR${hbyTkoC0JJu zRI%<=pt^Nbt?mtFkq=mx2~@I<O4d=yI>W*AfBE{c-sI2dW-a-EAS@V!(mU3Y_qahu zi{O!#!GI>TmK51KySsfP{lB2sZ!Nj_0kg@t)LQZpIeR;-CGT^Sj2^+fZTTkCyHq}- zXE5FF;w{<-(^muoZlIcU3<g&QgR6o;r(n<}7?5B0;fp@XaCI=aCK&Wn-TTwW^3*dX z=@C&S8M9!fPR)V2FuVf_E#oebgO@RkKcZ-P1;a063dksD+zlf_^*Tq!JuuSQN%=>0 zL0l&>Mq-@Ac!>!T6D5|zG{7auK*MF+4)?1fPr*9S%*%KPm~$Cx+FpTt8aC>#tDG&H z*;|eo50H9Zhn|5)n;<qR9}_VnMwNONVs(V6nBjp0@WN(bx@9E7HVB99@EAO<0-uC| zFi43Zh*Vr#EAp2x)BpPr?|m(apMukun5^+S@we%J*x}tqtlkV-Oi<@EgV@!zBF_cW ze+Glq?rkkipX;`^4w3GxcC;{qW;(hMT@ltQ!fE=9zq-w4Z-|#wlNI@!8HBd>Q8(X2 z+Qvr{`)0s&p2$aU`DVjZ{d13RCD?Cw@?|vRn*^(<v+rKGMUnZmhVMRDpu7tK8{oqx z_^<=Mn_wy24D^VP{`Ju-zT1`cPOt~c*LqIeFe`GE!}QTESgP!5YJUkC*VIw%5Hez^ z6D1}|$eg8)<F2XWVTw}IR0e-I-{+VjYeG$*uce&V^7!BCxgRurjuLDzeZC`Duarq$ zplde<4?P?V9tj4I27_qRM++O*#d53c)=Sk6ODfNh$`DJ{L%CWal7YVW#W|X)K^Ou) zy5G0<@{rC1Zbw(-W90O$VbHg`oJcf0s8=714|U^Pr&k}0Z~e81hb1;h@H0Zj_oxK# z)*Bxmy&K=l5DTxsPDr92%&AnSTq^S?^&VIOD}gsuP3nDWtownEPi2Isu7S1iAZTuU zr>2N8eTNV~9)>tUO*6@waTb0id&aMTDb4s%$}+PVu~Tx0v{=tL%@M5|GL`iLk&J5c zW;Q2MqrA0n4(j1g_zV7q^IW8>|C2aFf{QaLFtZ7?p|H%hDs?0<Br~tnX<9S03tVB> zV>Ge$7weJPfz&wV7y}wfncY;6v2d;Oc8A{36Z$}3=m-5_C=6B>x+ZfN42Kca3wv)e zj_S<B!HDZsEm}KsHq26~b73CLkfP3<<j`I0k7u+2m^l?Rb23+eKAp+D7jAU6S5_ut z=2BP!OqI-Ka0@Jl+h95{$};KM%sc6#Si6fd*D&BRcR(cYw_++P3Zh}7{r$(xhxPr( z%(b$&bVDW`ovD4cO!QZ#_SrJsum!x32wPzrY=_5TJv;%ZtxR4ViCoDuWbv3;^MUD} z#k{v7|1yJAXKBpL7u7QRK;||x4N`TZ49J8O?eb*42|k^FMV3sXCzBzZ`L+(d1zLb) zTA&3;W*!tl0Te?CltLMl1CuVZ0$zpJRKy<Gt4O89d+4~#_cfS4P-!2+K^^)7zJ{-K z^e}u2Uub_Vvj#rBxV4t~8L0-9R13#dwK_PVY$xFioQ5CaC-@o80&^wvb6~z?{tib} zL=|(*9$<edbzWus1OJlpT`J*}XoAREM3sFq5x!v(BP5zqabIs}1FgyJYX|M2rN*6) zvFzhR_n>>_qbq!x0KR^31r_%(#(f=?jb89Efqb2yD=<!c*FZPu4lSSu^n_kiX0eJH zB{9Z+U&p5zmc<Onx(Vq0teYt|iy@nJE8ND-vZR4(1|Z}*r~WB-H&u_F+R)UwB~uYp zLF#{S?h=#6AV|BE!So~i#7Un9h|kYqUpBEcW|}XPP;p91;|^&}6ln%LX<GBi2&Q3L z3+b^RSS$A-(OM>e?nrARUplQVbOf3#jb~4z9n#P$X_u>5v`QL{l6E!Cly;47AAmeX z7<;}#j_NzVX;VQ?W*QHd)?alP1n7mdzUqav>CjWX(3}XZmo{9LodF|s@kkg8sI9c? zU>uBx32;5A+LJ)fGllyWQH+m~>e~aaQ-bdeV2=5AhqO_zmpghQ_p6?7NgR+U*8Zcs zY#;N*he<TPZ^397907TnzW3o{U{d%#frIcVFywuVT_01-_XT_jU*W)VeTMB{en@#4 z<jf#f21^c8SHrF9)YHD>5+^~sP`=Y}Mn~*UJ*)Bh3(2fjM1F(cRiQfIlRo2PQu-Jb zK4ze=0T>y+KjAO<R}b?~h~#++xD-NE5(6MBRCl;Qg#O8*y|Ng<SuH71zjT|`R!7_E z+F?MyXI-UJ^mP`4Kg<3<ovabW{{R2!WYMl!W0YegTuU9ZMnQLF>jCspmgWT$E~_8( z2S!8IAh-e;3|T{9C?7h^Y&x&08DGhhXW{0UtZlG{<9nN%34CT8zHpHl&uTY(f%69E zj=LPDMUo@qFnTro#>Nwif}y_66+W-kj22fm-!X~HUK*5<73xm3=8xm}zUF3p3jcrU zevH!BGXwYu0xNu$-jN*<+)r;BVy^lybWldBv+ZS$^&!^$PQBYxo$5{!SCS)q_9AoD zzZtCW!YxOb!%UFgslJ*sIls=NK!@fPR@w^RAFR1+IGZAR9nQNSvOy~<Z!QGD*Qzbk z&5J_!@;+RX*3CkiwI-ep?@+SWf|Afqw5|65lsdaAcNuEP`>I5_#A_0-OYD)@E0GVG z*1A|#ue(YrAktHjLfA(ImpT?wPZwJw;Y$>u6RZ2`^4=0%BycaS@Ozy+W=F-Aht3V< zPw3UeZ#MSJt<D8bGyZ#rHJ>%D6@J?dW-GgP;deELcQl4~H-`5#hASGwm5pKeT+^u| zJ7ZS(1Hqe_YANMv%zza>x3S4hmdjz?7~ptTw2tqF@;Bp<uQ|;4Z**wQeADT2m6P*3 z$sFcRmR9arJ9Khw<4NOvPL23HuR>nINpFfH<4lNkV-nZovNdG6c)i|ou}E{Z1-*XY zY7ZTt6|a?8u7O~`ULVq&m|z)Zxds8Am*rxY%GDM4Xxeo(@Nu-O8(a&$p@(k5GRD;h z`a(azido?gF5D3v;@)Cfw99y17va!b;k*xGh4V>b_$J_e5Gy<qT<|ce)C%7L_U~+= z$*k~);5lV`8u*aQ3TN{)oDaFI@Obb78)xC0VGAU}R@e?3LB01lu-odAB6yCWn}x>7 zN`jrVTUH9}f|tV<BT+(G&r6Sopu4kPfD9>uT9A{P<%1mX1A{(`L7$ZejL)nRC{*{n z#LXtc^=iFIFa@Tn0mkd}Zg^Yu_#RNhS#nacJ_a;vRz(MlQ`QM6*WWd2m7Mi1{GhBS z;nmQ~Ri#t#np3WE*6UJl`y}>C?3Z{`;w=eF0`;F|;3yn}??Bo)>#WL0J6o>lFhhra zhf+nVIC5PZ#5jq4#V$tIk<8^&8CU^_nIC;0Ls}-Nn$9)Vd#Oq_W~$!SA#d@3)jz^} zV07vO;AyMh4MPc6{|uHIy8Y(K%6$NiD5A~X>a(ED-RjQ(OH_?zs>T{sV-u^tfx|%a zRm;d#zXQjCMyoyvr>KNh+tsI4#1Eu28ngK$wj1fl`Z0hpuGepg)ZYfvVH%g#&xBbJ z{4J4s`?o~u$2I<tNd0)u=!Zn=?}YifegQ0k8-USMzXWcArLYVp!Y!~IZUx?FH}&_> zGWBj)4G*Z8HLw=$*IsPB7gnfcv=>{y61MUz^_$@#-F*veP_~V*2_At6hy=Q*J_=%h z?x~N3IEV+l`P_W^jlX_U_NU<)+Gn!6p!w$OLp+Cw{}!@&y2Hb!ZLS7#HCo41S4&{! zt=wV_lex`GRyfV<?QJ(7ajt9UxnGUg7v0keT65_+8QpVOfpZ<y=vOI)PRaQr1Y=_S zO!^#3v~tUMfl=e8J_AubC3MST9<D~+Rzq)@8jYfJEx6%4-E{#hgd246ROgnZJVEue zEi`iVEL+a7<!oEdvE^J_&XcUq20542*Gn`g^EnRnr$Q(n7kyX#m(HA*&_cGRJ*S!I zH7rD}+;Scum#yDiHhXim>zjK3-iAF|by>N4S#?>t6~U2W<-SS+ugl8)7Vx^P-1mX4 z+T0J}6F3N;0z0g^?6Bst5uU4N=dGJu#(9#*VJ&-F^=QT*s0mX{j!%u8o*FH=Yt+_$ zb$hOQ0PRtaUa8kcYJCN~3WfGoY<-cwR+u}G7i!}4)k0m4%Br^;f1gIwr?6ic--Nfp zf_LCus00J=LjimMOyl~GsDoVS8f>YlKV&Zv>c3Q+`RTuuYWvmUH4FeNmrp9K+zW6T z@DZ)tGw>sv(AU^={{#E8Nz6ztx~WE4tL1p)@=>G}V3m-|N0C<UZ%_@Wrra8+g*vE* zb8sB~gumc#I1m3&l_uQ~mo-CN0apTA(cclS0;Zk6J9qS74P8N3UjxinKibMqoB3Pt zXonf;_1}ge&ckVt!&`p_egykt*ZK>@js)NSGxbMF=+o5tf8m(@V;J?n5v_(Qr~xUZ zI;aN?OLSTNpYRv_&7B#G{6dfM<4XCNSbnCOA0M|tjii?g{7tEwUk}$0`ojPi2!mk| z;FtP)L2q5y2Y3#D2R&gJ!+#D_aW7>x*h8!zv6=xiea<-vUhiIL54g@ct|gL(!THcm z&PD9&SK4uC<%MSWG0cvL{mn~9Q(g`e$ci{#Iu-eT>GjC>oTU@!y@(I()JL{_o0(JE zgUuW(;vL7;_Qh}7^QW|nlpi|;R>WJSSk7F$I4ido$xlN|^&(}&snTi4&l(FoWEc09 zEx)kk*S7q|mWOTmtu2q1PNpQBUn}B(T{2H&MI6)7i0_c5p_!hshdq{S<Tut_t1G^z zcBWo?9re#5yhmyCh9QiJ1{8h6IJk~c&@che_zfdNv_;i0%F!J;RL?}mH4K9(%6JP* z)%DY07R-RzFbC$sJXioDU?E^#8gAsi4XCLGd|Tr^#;+PZ9P<cs%*$kHIHZ%e>clA` z+G_POgc|PB6Wy&81GQm=>YE4;!dl&bJv;=fY&FsFfIhKlSb6c2nudExJ)x4f!zR`I zF^EvkNQeO}O#>FDAr7!G4GG|Z`@svFVS|d;0y`A>lG^-0h~a5?R%N~n@?RUChgaZ5 z*a=CH3@MPVtf>-OZ8Z3_uh5VQ@}3(CAzzU!D1u@rfzn=xuc1t5%Ozfwu*dp7#om;# zB;J*HTLNX*@E&}qgjT){A4?oWc+UV6y+OLuKMFmaNF?h&j<jfs=nox0dwdO-1InhM ztu_c6n2ilBHL%qUOyCABf*P2c4V`sy7f|z~fErLb4c(y!^n~8f2KoT=wxJ(p^>U_1 zw%q*&77C`}+YrPNVoAK^eEY4+`8^e40-FZa_l)lGGn|FfdYSwj1>`iCh4z=wRG$-| zh55NAM6@t(_ybT&4XCJwdT0RDQ^TKtT5322=XD1ZUIXf_fp+lY$L9`a(zuEcxkEYa zkEL?{IK|u&Uf6tz72m-OII#`89-T1E4DpX93ramY3o^+Xt^X*^Z5Tp~iDyN>NPVMU zQfwzGAUa906pG8mxiA5mPWy%dIX3zqn*a}z`%j2=9&;~ft0ebNnLg$rmcaxx%>%4| zO@JSJF@YY?N;x?nK-mURvH|)rK*t5>#sJ+IpoaolH)B#vpexW-0hU71iL8sFw>qR& zTz{xq+Z|nXU7ZdbpxQ1CtH3ge<r23^+(DxR?o{laFvJSQJg^4BRTrjdU>!W5;S<;l z_iFfPdna%oY*UUcuu+eY2oEdUBf#_wYyuZBMFY{mbPX^~1FL|k8epmhSU5#L9&(LZ z_6dhHor|sxFz2mk{C_KYx6UwatmqQXX`d<Zlu|6TqF)1?mgqe?@P;mALRryo0WU#Y z(FaIHt-<U^oq&g7BNia)QNRU^dMJ$Tkf>8&zg}^V8Tu=6Ju~ynii)C-qfSG#GQ~gw zur`jO&QTul!e-!evZ(cD*u4bIMJsAMu;`0=T!|;)Da!m@3I4^_ih5c#DuS2cB^ACC zc&#z&1vzq2JZRK2jqPkjJxfZ@A5{vesuNyo6nl|YR5~zLqcXt{*^mRdkO$90J`_M9 zysjI60~Wlc65fV)V84B1JjJLzLH%Gw?IrP^Zg&LU*To+Ieq+=}a1ihvqwpQ04gr2+ z6gwbM_>NIu0j4<Wm}>n!!c}R87cXt1c@#wlmP$#KIT=J{GWKPc0%2YRr%;)t#jS@T zk1-@mztiOm_EHo`sT4>l3ZxVTQhNF-1e3n>xQ?PYN>9O`y1q1Y48yUs%&E`mN_S5{ zye3g0@w&twiM<kUNT5hc(H*7ej?!P~DtRb@MKDkUUCV*Ma2Q5$fsugH4GiFI5ffO# zBgHt(kbtvwlQx>U=*GYpWtbx|Uen?x!1FMHi7*8w!Bm}|4l`gT%z_2LO2Y&gCDBq= zfrWtSt@>Gs8!xduqc}qsN9WS4(e4mF<*}kYjy6i=(Tq*eJ7vuvOh?dzG4GQz?<LwY z&w_N&Hg;Yn_+Xd*9VCxo;2FlRmaS^iJfwAqJ{ZZv4CWc-^}{=`Qwe=SlJ_o1)8%o; zJZxQF0buX)=)AmAD1+VbI#eiI3haTs@CNLohVtj~_5=3Mav6rE>kKfkT>376i;?AG zWVt@l&~*I-?*-?C8GgdK^_ZiFvb_(#D#EbHV?4UPV#K=6!q+N;vF_rtR~G}@bqv0P z@8LL{gb(R(=B3GFN#r^Or>WQm`%497>x03=D*XozKdS5a8l%bk$PwCf8&0OlL$T#m zZ+jH^?Y8TYhn?Hh(|Jej)G=Fr9d_B)gEuYVXsvzaR$`wApJeO1ZKpPAu6OA3zSzb< z%!>sSWZpT)wnuckI^`(SVm1$bSt?H<52cwG18z7Gy7g%2&FYhSyX=$Bt=~JBs|KgG zp16(R$6)Y7F!(7L{2UC<27_OM!Ef8fbB8bCEAoA1SKUKwGyJY|W&L|224LyRZiLY= ziaV8!h3jBwNQ=t}hB>Z94wR+S-a*+QxS4vF(E?@T6`4eR%a{~pla+l6FbB$}!AxKt zl+A`YFb{^nd|+;rF&px#wuKYBRRzh(%-aId@W-}w8uxeU#67SAR_cO8aPe3SDpPup zgm;_FVBYia0=x*@;W2m;(A9Z6;AwaQo`GlKad?g*zGgspMlf0I*>Qn7=Kb6B5|dAb z^BKg^l@9MOA!hI*#$TM&T0R3MpH|Bc31i~t>-zuH{iA7}{7c~mUBn~ix29q8dCq+H zM@@cPxD46@4V!-j;4|gpPUNF{@+m+1y)ZLuo^Hx4x1xVD!{o{wGQ$=TeC9O6ZqP+v z1k+yzgM(pLnqk8=r=qKZ*W3S@#y@)wyZB2ZR`f@~Yik{5*nE}zNASwSp`@8$(bd89 zw-;}5BzXPz!QfahI35g61cQ^o;8Za9AsBoT49*0DA9bsrsWrjbVDO9DW*X_g6q!z> z0nX{d^YD)%XzqMQO+NdERy2$Fm`fpqR*C5WEaqc)G17`@4Q(Jy&mO~4E{3J671N~A z-tmHs6~osmt(e}x*D9@;%i${M2%Vra@NP>?SHS6tX$IZkTIdd1BgUY*V}|JFi(w3m zR#Df%I2ft_{)rjjz<rJx1cPCyJ|~ePj~NEHsF0;FS#`M?rl^3aFcWBkm{~9z=D=K- z4<j%V@}6QC0Wk|<f)cc3468OP=52a%9s{nRE$vv)iX$4m1!@x(9ahX8s&PEr2lwiR ztKb1xq3!t?H{7X~(ziaXn7d$$@_AsbD(Zy?m2Vwvgogl+E9Mb+6gELLL@L`ofI}4% z3+TIi?F-~*hiSE&{~=&V@{2VI$^c7}Unt#@|1oF<m7k-3nQ9p#?;$@IK2ziq_(qXE znn%p^{DA#`Qu$b%{I_5~Sa1N|hIgP63c$d7@IHJ?Ayt?cldqTC^UuR+&@M~<8Tb+G zU6%X{#Oy62dBpkO(V~ngldln}{g!+jihQ<=O#W|B4OLJBwNMB3z;Y)4IQ$8J!QT|q zM6D$6x}d29*4z}d(6PrPo=|TU!1KVu)rxr$UV>+MkHCs4f+sbq?9O_M6pF}-DTWkv zRtfA<wp7T3bnpSrWQ-rO0Vgu%X$Sz$WXvln0&g;=LgW5b4TINoXs-mz2`k2e1F#=t z)MMxtE9P@u`2`P9)eDh-7c8FK3b{m$n+mtVt!kw^;7+(jx-=d1<+S{zu#7UKcw-Jr z98ukma#*YPe68H`(dPLt1KK?Q71#+$kPN#Z12Vy<I@~=BagTKJR#*#bRK_}35BKXw z6ixmrM|b23Su(v$lfM$4RCX*yzTT6~$0X!$QcgVAe2h>&b|xR&oR1yPkArw{!+qcZ zFKh;kR=)Nm@)LQG@6?{(>$y(ANjOC!>JB%*RsW8=2*+=4`^4$!v8X$BT$?F@{f@-N zgvD=j;9eRy>OLKPPvQezv_dh91`Zrh>>Y_puI~z6sB!T%&<#3<tfaAvuXMPX1%Wrn z8~2{WVTR9fwz`8KxX||_io27$7*kZN9*EYYE7nXcM&FrYN)0f%iu*U!_hgC}3_uK* z80OTAnZ+X&A0;s)?8=tflq$YKsR7a^t!?ewn&dzoo8joMBCiYWP3sols6*p|rHog6 zlEg%b$r4i}rb<kcm?JSOSi)e%=Ss|zm@i?sS5K8Mm$W!ew=fW|S|$J;Q|tjcr#KN9 z8^zmTFKDF49W}$pxwjMfu&EioCyc{drpA45hJQlvxfy<d;E>Y{*U~EP%V7GeVDM?X z)@FECn>N^wxD&w)ye{6<(KIBK6E6gRQ|dDGaooqj47^A(oIM{a?qu-l-$Tvt!q8q! z-?&r3BURj~#MxK(`ojz_!|=q_HHI~fVSQuR&={U;4F7BlzX{&!U@$lw489EpM--T1 zlxOiiU{Xi@M}4Bva8}G2HQ}2aQY7#dd=1~gm#8jNrOk(`Yq&Cs-3Svn!qCXW*9n}0 zlQekX2RH-A`N=<%rz1x-Ao%f46F9~Zsl7ZU8kGMmot4*w$S=C`SNH>d2b5|6g&IJi z22iL0lxN^iW%(Y?!$0t`W2o}|OLcxyoz8MWF}nm&S~^7iu3PbI^(L<$;BMu$<LW#H zd>%$8uMPf!$zufNwNMSE>GN8`5M>((SE+J?pp&w71}0Y?GcAt^mUk_5haS)i80>ky zp$~ViQ4xKK)M1_{>g)(rV;PJGEno8{!u2q=MMvav7%9!(TGbc@cc_e8L7!me@ttgw zcN@%5-kC5L@Tc?U!F*T%3jrTKZwxE~O^v*p7(YLuO5%Q23Z<JTO_L{0Qmoy{ya(WZ zMedbYE3r-@T;d^+M$6MK3(lGqbzW*o4q6oMnkmMpTCqb{nPJ=~=BL&UT*uC>`eFwP zF5`5;6^>zC5L4@LA2LI8-J6M14=d&uN{LZ7#delpTv@TKRBgpnfah$*{Eg!}lJGA| z?ByIT)9_E@p$m3s3NSoY%(?dNH_gyxt$Mb)QpLx<*La`UOG(&+`d<}JyB74(^;OP} zxI3MDI~*HBa+;d3=}q`Cc1P2e`c3vWA#T3?V8!4U_Zv>8kNCfn9EaPh0^V;d*Y~AT zBQe#n>=MLIfbmo=_Ij8E*U1l!#nX!&rE%4q$Y_|x43EX_i=D2EX8>+q>@2|5i=79! zd$D+Vu{d|JW8p@?;g4NR&Br;|t*~NS;HY;E9iXB<xcHbYX`fb(4$i?Ux0M;zeJEkO z#;{Fe*uF9B&=_9U7+&5Ob~3|y4<cVjx}cYRub7(EX6S*gdY0Su!!lOvJ*ol2(u!rE zSg}3Ku&b%r6rxfHu|3VOYX%VFt(t;qIx;|_pM*LpR;?d9XdF%YT|Z)jxvq-IX2tGO zTcV2!Vw5#bhy0MG2g(6Fme@?YRnbhbsg1MMicKT+wytK%#}=qj@Kj<8l?_iRwhZuy zVs}G1RKTmi&SGo^?18=T1|+GN2L`q<LqF><kmza_VC}+)gwr5b>f~c)7;A>uhl9aJ z8oi@#^k^`>DHuG&Z;%hYU|02t;1PQVvPFm)S`)0cHPx-s9t@s+`eNx%2GddW?`3+B zr-JF|i?@jhrW1leTrhA415YsU27}GPATb!Qd#PG)4F=nS!S-PAk~;Ne^#VO(s+gyy zAYU=M?89bw=mmv36d9r)%_(p>Sb3O&Vu?~c!t>O<CmOHdbu4DV9v%M<-i8Axse*T* z65f(;P;eaHP!nhqsz9B6S~*U@2k5qflklOkeFUGvC-4~@qC(oKEBG9~0E|+>n{Wg$ zP6glS<hO8?N;LtsAL_Q?N1Z^$m;%{_0<1~_ZhC<XSJe-Q!olv3xb$aMO|iP7aHzy^ zJ=;OYZAdMX`5{YFco*EwfpgG6m!KJ~*uMa)RA^5IIm5AE=x|MkzGmnltV4lz4+=3E zg$hG?wn7@J5bv}wMDJo0UW-m1WQN*%M%q#-#E=#;Q%qrZ(569Q574GTVOzjl6=KB- zl@~v@5W7)G(-w9DU4w-x#0`l(57N)E|8f9xRhX{AGj!zFCYL!|UBi~Zo7|>o3QX1E z->8YyblhMr9I0B4QZ+D2g_x+qi7I_EkfCtAy0Z{dR5(W6*_y~$SfmUyROj1argF>z ztW)6}z(N&bp$Zqm4S*RcT%s)F;AU6`w@{zy)S@Xp7&nA^{qDGmIToi1$#ssSr{Y?G z+^IIu7TQ5axLgnNwYq@;VZ|Pis0L+>rMs<I#)B2ddpg4hD#D~Tg+Dk#6kv=@p+-uf z#!O+A&eN(z(ul{D=nP$Sisg|hd`+=z$bkUlsul9|@a*20!U8A(T>QdPU@8^vhH^Ne z;;yEeaZ;Lb-6eWT$juw6NN-?5T5(d6{}EoQgv!<SNGt`I!dk_?SFEop#Dp~k=XLBe z9pm{-(O^bh(F7O`+R!Van~JXE^ds&!TM$*x-ru&BTVtnaD2Y|di@h)002`H94Qn7A z^dW6wgsKq<F%Si@5C`#quU(i1Yrz9v${kL)S>yjDcmf_*2~WWe*sfvy3T)y3BXOCD zB|?hsy%Un)8NgdFd={RA=OGLHz{Z3r{M#`}*RO+ra65{+6WOaH`*h!<fF>$@N0%CS z4-TNAP2qR2Ut?HP5{**$ksk4T_*fTz0*ByJK=%}W0bc_8r|=uF;4pj(=%OOEX>&3b zsS*r`qGtA8E`;<XjvrzQ@k2~eNYD-tYXVwo74?Gl+`FhZbWjmgujoo(nipLK8jMWu zqAqYXsBh6MMcv?9O0HM&L)@D6afvWm#m->f6wOqO{wreE6)jZRi(oO#*F-L&vx;V4 z)XPOo)uM-#<3U)Vh&G{%XxpM?%6kjk4!6P`a3|aacf<XFE;L2V`Jz=+0()V_T`wUQ zwg@+~Xf+9$+Bmw{ic6J<k%-iUa4Cl06nB>*x4?2mZj+GP5yy736*o>|w#0M^Jzszi z-b{cQ7kC+7qM`vtPk_-Ac!7Nr6JP=c_~4D#leX+9%1{buj0N<4?7(iwP@YW421Zwa znH|UlW_KVDn9_mgw;V?n0^UX3J-Yi!si%8E{&S!h&+$VJ$Jpz;2lUX7UXOT8-9-sS z&vGRW#qd6A%je+**kShrx}xauMul4R1lO%q_E*&U#jsO3c%Y(GNC75VQ95J*6)&RF zMQjMgt%LQd+6G_}TXB!5AV2VIMFA!7sp2*%!V?y42j*8%K9s4VZ^2&Jqg(C+nye^d zDwCw>0Bmx$(&uGGD6=A$su!hHG{gh?peO;{-~lgefmb0BwgOIE+*s8tj&}vs@m?j| zwA(>Nwn}W5kZp>4T;c`^OpFzW(Xis4l$a~0G;W8YFG##3F<;^tiRUC<(Nn&Qdl|<! zj0a&N47-n3T&8mRbV0U6u0)<L{g_CB8Qx8gbP$;PMIUtNOSUG&D*0jScAc9MGaLz1 zX=(rzLebZN-7!Un^y!l2s>Qgw>bP;#<wX90^W50QO4Wr*cm0I}U`1iJT=lj(Akx5r z5DZ_`mB1HKEc;_>Ru56l0IL_(60m?#SidMNpX*OTtY1`n=s?8_^;AWwgj}2=wx3L~ zI#hO|NMA21ItgdsH2kQeKXXY7Mb1)2r`~3C0byq{6}RFkqS)Dv>H*zVonC-#is~l! zHfjRc?^3CTY@A2+SKTMV09}j^9mP5%YA_4~7E@6pU?i{_in<2I0PCD6Y*Nv$PzN=t z%=<h?CDWv@>M%LPjOGtKOi=@zga331&mLEy(^HiC3ow7C=z<PS=N#^+6^EU+qGm`) zheT=oL}~m)&4xLO%#&Ckp%E4}3zjOfOakp=isaM9y&>_I!~u!@oG6CCYrtwE?j0RC ziYQTIR*jGt#e}IE2ji7m4wGRL-B2|ZroqJKmm_b3(OP`U2do+c=s#11nys46b625f ztL7-%Tv!P60c~D&BcRNyQ07%P0qt0|6i}0<YC7CP)&3??{9PDA!=OZ|pWsIdEItdr zzz@78Y4{NZQ+$Ha*hV`c#V0w!NH!%5{NgI=q2HM){zKWSp&n|XK?VK^bV2doa2_te zY4{i9!2E+(9(RFZ5yz2|OF^S6p0={$?U>%ji*KtWUlZA|molr~qY_mg!TU;m44=S3 zB`PIWz)B(|ZIqHnRwe(XYPH0DDoSN?<9M}UzK&`&Q?&+B(oQj1fT|=VJHTZi{ZREF zqrVCZQS~T1qIQpfNZ6<?tt!-Z6+ajs+|sIAPwHi5djYm7!skt<>P3iE-Z=08I<d+N zn*n`Tl?YG3W6H7to`k1h2RzNel8!p_7OhZnmE+AEB~blUX^Lb>puS9%U&1~q#a^{X zjb=BWhG><>XjQ2MFWZ=^a<z(sWQk^Y$$01iOm0)s3wlGh=4yzEz~l~*XH?P^(10Za zc(9V|VW2V$f?+TOhQkOL38R29TyhPJ1qNjaY9zj?Zhl!S_wQ`6P73o#PsjIG7xhtv zm~W<J3OvB^gqh)H*f*TwcTuePE*x>6rz72HQMV?zM-Fj(cQ>1&OxXBqo$eZE);p$^ zn-Lb@^Wx!N7bDlWQ*ODeJ4NO;b2LZqB+L#LAEkTwj-bDMOkK<Ooy2j8lZg1sn=D+` z$}!W~Cal#}A*)z2B|BR;Z`F()q9=9w3isb;_zX&$?^w+;@oPQ6$`GBQ<E;4SQ2p_x zkOUZSD?SBw!OK#g@$5;&+g}A?vRUyjfRt5yIq;njE1tcI_)KN<0rooH54jM4JjjPa zcnNSv;_*G=OQ_DA;KL<!qqv0b5<L-7;Z!e5ci0ztKO4^a3^HMEV>9n}u4c!1n(p@I z8vCK*-);;oJ2a))jwZ_dPUGQs8^g-R&@_f$K4^w(gv99LPVSP~D$SHcs&Ve+Sb`Qf z38QuPL&sVLpM|i%w&D*3Qy&LYp9E81ueD1n#Y-t=cw0Ui*^1Y|IIPGKIQoDtvEqMF zbMsP<6+ehm37Yo50Uyy>@m25#oK?do=)yC$&DGUEaztt<0UH}%r$z}QQm<^-<M_V; zOB2tEI-b!Ne*rMz36~Q7OsJf?c5DyCbt?Kcm;$^4VZ~2_>2SS1YK^}G#!0`T=dJkh zAQv+JPC(CF@pl1w-in_K3t>LUEX6N^#lUuB{7rB(U}@u*0XjZ@In_{^YU22ziVah2 zq++8KJEoY%cl@e>?rmJHnU%oIG9?~~8+Gc0V<iKF$XD=y+5uf^#czj=ut8OO1RjO; z_8@+o*qZ;}mTO7vP>v@6&(Mm067UYK_-KfSSV#bTy?76JVGFFI4qKEp5w-$#jPI|S z&6SucF<nC5e#vYJ6o@HVDDkvZ&NI?zrSJ;8ECrPW$?&3W+;$UtR#nv}ekIR=Oh!pL z=$pSK6_BoM8Q=#WWJ3-x080Xp59s+4T=|khC<2`Gk`j>CEtMfTpmHnWT^08pybo53 zIh?<o*gky^e6nh>pCeZ(o2)NG+LZ94siw3ekx!KOAbbv=!58o)d<9>_5x`L|ISR*= z^?Nw(Q0z3Ef*;^af5eZpO{v<a3Vv6~)ldV!(v7AxjMz_&-DpaF<_JdFluGwEs6s4k zOU@}9cE02vz|NOo<4gX9|F{5)UaIr>5~Vy?X%o;~(%?;qXIdm=0R5Vf$Y@AlL?t{1 zn_2i+2|m#OQ`;})ConP+uxD067Cfaw{IEmWo`&b)SwLYXya;H&gqL9_FqjgOAQ@7W z0d1Qgds&LPw-Odf$oorJ%Ggf8NwN|)0n;wwPF;Qvtbp5XJrPOlmWyLMK{HHBEx`r% zt6EX8O4%L&hJHdgJP7MxJv;==n*=mM!o$GSNzl|e<;bchny1nV5FTeY2l~nrLajW~ zvYx)s8d_1jr!C;*ds;|`c=|(A)ryaaEKf5StQ-S?@9kNhfpCSg>Eh0C6?B2Fa5Z56 zJl8^V=n1``H#K>UoC&Wt?aeT$V!Ty-MY~lUqBE;LSL_?^;vVQ`W+zx&86E0K+~e$z z)sUh|cw3p@aq8ul=oXH|vKHOLCg@uCV5BLPDT;1JmI5uo^{)%9MufPxV^UY@$rJXH z-96mleq7gu=}trJe6}k8!2W2|J=DJUhxVtU2_Ml637<-QBJr8TA&Ji=zL5BefnVB_ zLCI_SR&<-hqJccc5e?418WGYhr9&M1^BCV%vi=EQlcDN3*Ye9WR<u20zM-J#%aoL3 zSh@x%C6D#Al^_e0aFSD3>XhEhE4`Ier$LE3dz#@x`tE;B`8qc@WA%$8rK||7gd?DP zMNc$i>7VG{!JwDZjJ=#bi|!jt_X`Hy_zH^|b6$fn`dY`;!Gm4&g%3VW81si(u{o!@ znz5Y-rm0+%cl4l8GnTz1D|(6<dj-MZi=__<mM|h13=0M$gTbg^Fgh5F2?o~%gKL5} z7#B>9S7546>UqAS_zA(ov(yTAs}(ehjw>bSy!3Xp_#KMfrwTF;qSbuSa~SN==yoeQ z9I$KAi`4>4;byqee(JTv=3ktG(F;gDq#R7L=v(!K%(Up+l<ju78!)BO+&_8+tb}{v zez*Zv0aG=4HFeP%p>&nXia@wWQ5m<K5`BE=o&?uZs(T7dg$ZGji7-}`3E}-d%Y7X@ zrYvYR_e^Rdv+ACue6wLb%mpg##+19Mf%`__0o{w0Z9MR#?qz64H%i5g8gfewxp@Hh z3b<Vp-W?6L8nWNdaxW(tulz9}J><rux}}HQJe->rbJL)1n#fJ-xY0vy^pG39<JMk~ z`!+!7xg!7#=k|b?cF?hqrfzm>Eq4!l>bB&I|CYOj)4ffFx3*JlY{`3e>)BPa+`a4z zn*@94-o~FdvD~5dRsDkV+1=Z|s6(iGt7_ZFPF?17Kc-SIw^LWyvZF0K*|M`OyV$a; zEw8a<GrQz&cKljfcDLm#dbGDxqQ#2+ZKZ7Su6l~qqUC;Hu@4mcSmL0PpK27W)c}1^ z$E4><8DOS#BdeX#hg%{TtEO}(uzV}k`y{0v@IsXRQfz6oUWzScODy<OY-t23+vKDW z*`nOrWkGiVPi#sbhaJFbuk>kn23TvB;*gZ$S(LhfwPWc^fL(KcshWMQUTJ{u;X6I% z2{;KyHBa1s!Z(fjz<rp+88!7^z$)Kz{{+9nS@;cphbs63Y5=w5u7x_N=f0U#yXr?o z63)R#`0wT2-8cmm3t%DKz>zW7iSk=v5-?j#Ig7XQsW3sindQt#Zy)OJspFla5mTvL z8``s+#bEhe=)>~6DZZRWEoVBGKcM_**YdS+KaXU}Jz#%LS$h%XD<M%iyr8csmv06f zQd7PWHo+r6<Cn8eFQ*a9qaX(EgII`zc<RIclEt46nGwr5z`Ql(cL4L&l+T9wz;l+* z1)jBB&&oDS`66Jtdd`^<(}~`sQvU9MIIn6gBcg?=w;zdHNc>0qQaZs)&v_kmf>$&H z?41{N<82P?>3Lg1Yh~>aqEnYC+Kyl4vAh_5FUH04UM<mCqC3c#dfP(}=n2?2Z*S!t zz|DE83hmfeETdi(%O$9O1=X*h&Za^;OBF0TOa)rVRNT&USKL8`pJYOKp5joMzMWCV zQo-!Ti!1vP^zDqYpW!T=*0-K^)B9z|Wz6+qZrKTru!u6do00fch5RG&2ld#k(yCPe z?q*p7)WJExmn{1W@FmOeBg;+!zU1ypL1mFgn-*n9lxPj?^H`o#*yU`6v|T6m?=4RT zZR^Q|Y{-Hf$b|r~RQ9ke_7o|1DU<=TZnu1@XK82tDa-QUK6+kJG0BhuFLgt_3eP#U zN#S`O@bE4EOUv@S4lly)OU$d9C$Ao-qOYEY6ZXf6uku{G+pFG}@%X#1gR7yd9;q9k zGIn=v=5Ss?$R^D0%k|Q$)+M`jWRfyYfIe!!iO|u0+jVz8qJw~b-aQzGz)%<lBcKzE zgi$aW#;Cr(XkMOd8m)eac6fiH@Ct|fNrnrTmBmt(vN-i78mcT2wy3YR!FKTKW9qUr zh?jcN{$v@Gw#-K<W$ExFRV>SZr<4uFR)!)gqj}4ohZo>QK$(@j0v^~2tjx-isn%Ic zk17Az>1N}`l>cg{ezWC|VV6D7isz|dvxSSl4D~iw1zLpM!TWUfyJY33bz#{z4(||$ z`w7+ObMJ6nT!Ec46_3E99F!YdVXKbnP`5|5{UUf-d5!-5ncLQ4!A<!&Th`n1Ph0+F z%fD@T-j)~a;<r&^`5A6*c}F|UNLHX0|3GHS|JB*@|B#jkKg4r4v)rQvzQ+yWuv!BQ z3+;IjR!MVvD8;if_+-THg{{i588&EWZvlO?&GRr|vppDcPb9d26^IA-z=H?ixgX*{ zDlP%;8mMy6^!k^yic9Uf^-#@w={VNF^9RnNcQ6ctA;8co-%byg%dPP|afy{UF3b%1 zp#?{9nXN=zhs5!UOgBR?ABoePX2@^UEpcWrJu4VY!D}7z#a$dnuOv<kKAah1n%u2v zn|M8$2-Gl%cT#k+BJ)Dc&?!7`qO#4W-0vLsspJJ_=uCn|!Qh5qus9ej2?jR>gQdY> znHeh0y-S5o4%X+E;Gql#dAWfA<f`NIp#ZYmT!wrfGWEN_w!!g{!cj2gAHb^&oAM9g zHD!Ap_Q77*4{yR-V8Pqqhj-vzC{z)}5~UKAAg81Jki-`fXg4cyxfvQqTsr{eUrVr{ zw-RqPLlcSPOIzNt^oZO}k3FZyNo_5MsW3&uV>--$N%p9sr#$1;@E94-1el|-gh}?y z)y4DR23P?2q@G2v7?uG3spoo-t&>&5n0c>jYDVSBB7JB^4J4RiMxjx?{3p|>BFghl z3#O+BgX>$mH=Ciyw@ho!WGi4im6hlTK2}~+MvGWpYU&;5Y|*4ubjTPpbXTj^jxGIF z(D+~ppXr)UU>5tTD`}6i9FA<})vWTSI>l%ib{|jVJqV1JVfYW0cL8tZ5G)D?Hw1&l z!C*-+xG5Mc4F=21u!kwzP^5<;>78hXC2mn2<vMz08oav!)8Lh9@M0Rgm<I0_e%ZkC zR)B_?H%%f#Vl%&})AkB_iC;^yy!rsjiv{r}hIUqEF&y5l&Z||@HjIn+35mxfo|Je> zVu!@j62*Xt@v5P*THZ41br3!!ev28#)b}n|V9GvVP?j+|%QRjqc%{o!ysTJ~L<*z6 z;tj|GA6HgnLk?uf&8lDkSMV>@!BJn4O6q{JF{Uf>8TAzm?1}<qD}+)g2I^9=8_J;q zUIUCl1v8^!4=^(--c>OlO3=Qh;(ay7t^Lg?^qBWHHLadtC9F_`+z0o=-5S2$7`XkS zQuLxlya~#Vn)8OMCDC)<HOhuA^*#jaU;}If-QW?}1ZWd4O4EzN^tz~p-9nmW6>R#O ziVJWCe$WH{1pkky^A3!v==!j3LMQ=35u^x87gTx;MXHFPsGuTE>4MmRh@c2bHrX^# zklkbfQ96PR4e80|W|K^W#8(ATv*`(<*b6o+-}BoQzdxRHXXf7NXU@#rvil{}_<!g! zt=85RPeow2jjNK$J(!s3SL6AHrb$;ax|fzF1N##&38eiDm*5v*k(2g2RKp)|8U7?9 zI&9MZM*-5CGAXBhU>l`$vA*eTp$$o<w}bZ3s+r^fXs(AbS|X&k0PZH3bf*4v)?(>> z<Uz$uItzhxeFKo*1-ilY&>ea}Pv`}GAq@HfD~WV8K27&|(zO3c(|nmeT+Qtt1s=I_ zCFoEqT4N>J(j_Amog3aJeGW_jZg`vYNiZ44NxRbLf^K;GZEE^xd<zwK9_Ybl`h3uX z&Gb8f)pq&}m<cRd)9-<MVK$6~``~`SDn+ACCawA4sNSsj(^}9XX)P5pIqC)-IzuOt zO`{po)QufNseIaPaJ?#UmKHZd^ujMcydTwx#z<=oci5u1du`HJgeZ}zxE_~7>$vnM zVR<8Y2P%bz#%4%3s%XC&50h#1S5il2+h``n=ug^qG()CxR)OaNKeJ_qG}j`|ivHXT z8P6${z_QC!e5&8uvh0m;ex~2svZBj7A*v)QB&sE9Bx)t<B>pr*SOBI!rLuhCPcZr~ z1zFL52M+)EFG%B}w4pFqb%=m<c&_DGs;UeFy4s{ajUJ}2m&*bcc<I{erbj_EY-&0V z=_U1{X4q}&&td3GI>sj*g)r%bz~<hhGv%dox4@*w!&XRyZSVrT2;1Q$cn)@g6I@cF zldu=KZEMnBg?+HwuSDs%lK)ep6nw11O*%#={g5)n>ZBi5G%Q>Cad-`0hd1C&cneOz zF2IDPW4_W;Ay3K3z%jW-`&)?n119|uM4E<V+Gtyp3VTM0p9O9jm~_qG=^7<jAJS@B zn#r>m*;zg)=gKTBMOGDj+7$K6`U~`jw_*Noud_bB%4FLV<!`8?_*wrzz2Y?hMkwoZ z_)?dA1z*EA@GblV-|NID@H1S3-xPqg$@&#!WyTSZHVHHy(<Y!=Q~LCYIv-*NU|{Vz zXiTi064_U?FCWxQE-a`0359PUYU*>r#7o^I=f=izVmMQy;aPBi9q7;07>EV>I#r#X zN@u4g0b5CvN>8V5BjGiStZZ7-vacn{bnIV-7DefQH9`DMaGn`Dnb=xdWzZfO(gxZj zgOO!tv1{k8L(9&LVCT(4%Z??tGY{A|0@HwfGi(8t*!Eb)kln6bv^^SFr(1SbvGy3) z3Mvi-&(<2&{^CFcou97PBT{z^Ksd=d^)$Q;dsL%W;8hytu<8GEJ8Wrc8N5Wm!Qd9A ze|=E<pcb0$V-IkiGpt)o>id+PeSYjwTAa6eOe%|%*w<Ln(wJ84F*AT|LF}7>!|Q>= zTY<ydfy0Tw;hn%CHE=kj9IV)rZ7FptTl8U@8AjV@GcL0ysp~S#0NN?`6Uda)WV4I3 zVzVGyCoITO0dk=LJm7^wD1u@*P1D7`rv{8I0cJ}p_Cq)YAHf+o3m>b_pOMD|U2)Fz z|B_N+CM~<}UfA2K8Fm83B(;D+lFC$KQneyTHEPxpVB>C5_v@D;QV+mUV2P5-*iAhK zjN??saP|};WlxouCec(vW;k0GC|kxWJCq!FfMBxQ!8N3xje*N%V$5zM`;pxrn(Ozn zw6M=^0UGPs^mz7lYAB}B?3OmYW1Za<y2B0719}2eW_EA55v0p~fw?bRPh9ePnBn~% z$Khc<Xcb}~+?LL7PU;zLpe>CNRcnSP<L*e_8J!eh%<wrJii6DX`{|IV_X7S?fkR<v zJ2QMpa7!)2>v7qZ;>g#Hmgd1`@Yg}X_Mt)Tf?CX=2cj%9q`iF<4*qC#xJzj_1Tq^U z_Xi<n_`P&})OiJ3QG7H${61y)kr~bu8g(vkI2$;85;%MsID8g3lm`xc9QTi%sXBuv z$tELGiF*TCn~Z4rDgzf-QB_y24A+%oLJ=!qqAHJ?nvC0FDlMJCgr6}TCg`^|GFHOa ze}88q1D(#eQx`uZaSvUTu?l!RU@~UG18^VA(doG`4^+GbumspznvC(V6qdnq%E)&- z!?ma3lfHlKJJ7CbPB4F(jMWk{P8pi+Ga{&wy+gC;`LYHLxW{N2Y3~ue7}-52`eBB$ za!9=ZUl7*If2Oxzb_s6UKKho9oy~xmy_$3WB8i*~!|@~NE?BDU1a>?1JN+BN$=1a0 zYP%u&Av54^O%nR{EA?wm=y}sglqmIg>d&Y*sedRo6HO|{F_l^6<kh-_z>~x|*$8xH z6HYQ$oMcR##JHQ2l;UIy>U}Y4fY!1tf}?x1;@4O^1e*a9hNBMlPSMNE0JO|L(H70> z%(CC=ukQ|=u`A^77ZN?jzk{)l_n)~bDEe0aHpYH)^aQpl_JM&z|G;5T;4nCF7!o)P z4IGB6q7I^5cO}yiS3*Vx9433ZO5GKaAw!w05{!yo6o`geS@!0(a5M1Fn<G>0%kb@N z%vVrsbM5b%f!Rc06=T`=n1Sq>?7M@^K)vm0-y8715;(Z^iO$Yorf1835|^zHj;Xf0 z0&5I2FkTI%r+#*q8Tb~5Og>o3Qo3o%!=%#vmi+*?EcC^ZJ>8$N{os|%4h3>~EpRvz zI2;Qcjt35}2M%up4sV%(X{5SDsip*SoEC=rZG~I*N8m)jc?Ztv%JUwWp_;LUx8Dmh zVHV5=Y=<3Hx6i|n+aL7Lhgcl@0;RtQ=E7oF0_yl>I<Z2jG0svSh1I|^$g;m<2C~k| z)^N<8sXmF-P<F_*6<&fDc!Fy(nC>$eRT<kLN#ouL36KaffXt~GZvUmbaqR(Cav4mp z8Lz@&*zZ4k5Z57K{g=U{klk2$y#~kNIJ^#Tz}q7bCt4zOw>a}U9Pj8_=JX5?!y=;q zypR<f%C;dR+qM|VZ)i4Zai=PgPNeRN$-JJSxhaE3EhghVMo}jAKSSH<jMMNxVBXL8 z06v6|;0!PUW_+S3nNSWsXiz`}EoY&<cJ|ViT{h%2kf3ERgZH6?cTz0-=TIoMYY}XQ z{-BGC;G!HC;3IXlObjbf%g)Se{}j%_XHX74P;OOVpcd+&T1nJXlv<SspUIH#0%jrO z3w)U}Jl`q!2hcm689xEWDdXEvEOI6mCxhQ^<6*tp>MKI7RW#<)j9=vNcgr7YD`wq{ z%Szx+JXdpMWt*u>2-Dw6W}+UMp`f`t;~N~9q|6r3k}`Y)*sIJi#nAj1!zSB`QNrIt z-^lln7|+b!ts*U@=Fgq7X7*7GUO6_Ilsc1Fj!ovxz-*q`9|pl-7y?5<87m__-N>v` zT<mwIo@``(2^XOOc&34@g|DF=zN3UcG&jTgQmluXnPC$e6Y#4F8EJ-1<*+Jn;0?NA zQ|PCd)dBxwfx}Wg#2<DuD-kPZ84vOOQMePT<%k)^Ukm%!C05KLGmOz4<6vQTn-aJC zueARz_fsKe*hF+8CMFP_PY(lGtqu6s2M!T|!!v=yhQMKC;P7nVuqkj@;?K<f3rRlj z53&D*b92D?BlWusm*8iDw*=x)5WCjve-U&w$A37g^`2B)9#q#Hl50O4fLK`5N!_gH zsF@7^%yl}y1+=-$jDl#`7~CECtgR>VX`NUP8^Es1btfw`Nxi&P=e7Z6Ci6vj33dXO zCesDjl+0ba9D|aH`N))+%8Zv7&SEcfgp_ckyi6k|a|KL-iAr}0+y>*Dc0;a&G4xE! zYgMhW@R(w(f(PWdL*;oCrYr6YxEt<*d*EJ}1+(Ekco1#{mMWR^;9-~#*khCV5HOvX z%q1X09Mc#x9@9jwW=ugbJXW(}xVd4)wCadxEmzwnh-+-NDIBha4hrlHtY@v5?!c2K zE2b;-0OshJp3n<=Lm%J`UMr>_TRkgAip^#yh6QcRAQ%ioVCapA`M{hKGhB%<sl*Ix zsT}zgHj7_Awqiyq1=gT3V_`ImgIi%dOaNx87$&HgNer79Zal}_p%_eCF?Yf3Fqt7| z#i%ZKgGQ8EU;!*-d&d27lU_+Xr&rNJY`(3S1dLZqqFhH{E9f<`n4O^4#A03qC+q+h zBtr_gVXrRO<FEH_T>If=H~<IX5O6QSig}I9evgzU>2Dmfx&UR!vPodjvZMk3@P3BT ze+Xn=)-dMh?M)^|Fsm6Svu=P;U5)l<wStz=8rncxxCS~xd-XmxGYhku)fuiM`*PLp zoQ*pLRt)w%rcxK3#Zj$Jtf4Kn*^Oath`FHRUWBjUJgZ78R!yz<_*>{rrkFZHq(!mP zn#)R&m-($&=BF48zZLTXFxF#a0%Q?>h2P+J&>;UyQ5uNBsOLeN6{}kLXU>oO&C!!V zp4E#2W-W#Oa$tC~2C13YiI}Y6z+|1JVV5-$M!_v@`yiJ?pP*|RwXijB6C8OSAKR>~ zRl1PznKfGuo(q|*M?fPrYZ6R_DR4VXgF9e4Fw(N_SCoDdH)Bz<?q&pM-6Jo<Gm9aZ z#SqM5_+>2s*1INatOSEHYY{A#=P`I3xG7??v`5I&_8^O$fysIXHYm}J@<q!fLzU$K z?l_pN1W1G=dA7j|a%_^=E)glQS>h!{-YHkI#Cn?fn1%vtgqV}S6L2dg9Wvl8z8E&c zqylf-u16l%6vCcxSgEdh9nPqqK7bsJh7TcEr}Cfx^1%y*Pz1$L0&kM_s~q1m!+ac0 z>0q*UscgHI;%Sv_uf*X<vWabp;>0ptTd{+n16)fsv7G=D6x&V<n^^2etp7DX7B<5b z+y+J{(oncw`Zo-2P|R+CR>$^$-p~hb1ng2QHYxTRxEXE%X;<ba5}!$69IV)ZX4o@Q z!J{hjYbxmL5^qYpE%6SdLWVpiAx(~K>1Ph)%9jttP@qL<Rv{FD1zAv{OHN6YN_+tC z<H$V6>oK>nNS%!l$i9z|><1+@No3EHSRnBbLq2<{T+1b-V%ZN%NYAq$k<cDA`*De< zuCgL>ZDXRETx)tvj>@@@3YM#t=#=cW!w~1;*&c}J8YA|C9eBOOWXA$}m>ns@l#TJq z-XtraO=b4;a8MaAGiE0;q_X!zlA>*e?eGHZ04COKCe~~w*6d{10xZ_E-LOkZ>;Vj9 z_EE(?4zI(;VGQf+b+)xvS&mt(VtND(4{9+^S+57yF(&&9cw1S22`3bpuE|aVx+gmw zG9VLZ^y~`24w~!@kfX|e2y{)hS5b?>fYk=WnSBOw`Gh#ANpPE%xbr}Il6@AwR-PXN zPpeJ#x9}r;4?n@ra0z~a_dsu6XQL0<r{FY{LM2pDv->z|Ii0PAwR@iJfW~}jM@m;p z^-Ebjl%mw8v<LKru6lu@bTo8QSLg+b(#~+JqK$zYDO)K^jMBb})(`r_&A^(abRZ0Z z!7vn<hf0S5Cbd+<$+6uQVx~-&3u|IIWKB+AkeAyRmg8Ai3QN!+$8uN!i?kMXYy#e; z@GnEBEK=NsfN`=M&%>h(QO9Ojt*DOyis^U)*1%eFY4Cp#;#h|_0_fz^Un%y(fRQ|{ zwm$tW9=h-J_i7+!!PCEi-XuT$2V90rx<^;q2G<XP(%_<ZN;NH(w#D<08c5e%tp-x4 z0@RL5vk5eXX248)n$9f67?h#|rR<>{8?Um~huXGp;6T*fortrWj@sQFx{=^+I%#(= zxL)PhO-JqSe5D+_ufwN~+D%98?n}12>8RcP6zwLUgLdBnbkc4*X*Zp;dkD}$ySoCN zw0i`MBy(CZ;=AA-yKFR31UK<52dh&n;u}yKy#O)fltZVQoKZT@9FjAdYUYfQ@94Js zmz%zG@J>a?a&D&{In0SUcf(8ylyfi4f;**fIjdmW6@|;W1D}jb&ZF=E^~hNba}@1C zSOD{2A+R3Jc^DSK5|{x?VHqrkNx{@OXR;ETFepfe@en1)(=c%;Vk4jqId(u3a!`Pr z=ipgoh#kt=3|mx;SctsJat^`fJBKo{IEPVLCpRdZ<6tbU=42u1WFhGst)-2V^{CVT zs}ow<IB8iYmeg{xT68kYTh1xytrJal-ln)yfi<Ud8q9z@fn}$2CSX~evlJy9SlK!s z05z}!mB@)hp>p0L<Z4yzCD@_TJHZ88gLV5ZXPd1DeUrjpJ`MX;^D%`oISFu5vEJdF zo8vB3^<CJlB=*3ouotk!Is4%N9E8J=1V`W~nFpa-Ij`Yp#%OjjAv&2yovl?h#;~&; z=r^n^C-bE9%5PX%&gS?AsA^1`&W>sk=1ylPMPn{@vV3rMfnZ&7126+Sy91SRG7~#n zf?_GtCc3CMsEcl-ILB2-&9FHJisZ<+%H$45`*TMy6mzx3%0-uQC%|~BoI437!#KS< zn2UPl@=!SN>R>J-E?0A7E*h81&e!B>1(&NWR_<cZ7AqGm%th04?}B>(WzR*~b7#X` zn4>6+&0N$tcRom^OC(OIAGL(ZVe-h8?tTnsNi^pZ_!K^Bt|S@EIb}i38@0Gy^?RQX ztzC1~0hl$DQ>_9q%5!QIw-%U)bL!!9xB$#<IZSLh-@!ME@&SAgKhP>UKPok5s+`O4 zhtl{9{)XS0cIMP|xPI1%^*<-fxkS(niqZvwly_HP-(qqbf!Y}pkW1}yL!mif_Hx?* zYcrGcD~`5+QOj+obgq>^XLEaS_A`y#+@82HNjfJhNOjJJe8>e03cw46T-qD-He&9L zim2sv&U<M09<;>qau930;u~+&9D-8krlT>A1Avz2z6jfKAB01=SE5Re!+?tCu4>#v zm5A?)SR?UNP#@KBo!k);d}Y>BhB-G;KL3|y&HP`#sN$;?wjrda%9SMd#z6FE<=!l@ zNn(pcq(qd2UeV2E(`#}cmtdJ`avc(Jj4#Krre;K&P#niqi_gpm`X!fl$4xHFKg*G- z0L$@ikQt%j<VXwn(*uVSp*NV}-?r$^311*Y-@AmhqkSrDjrD<dupSpW-ZUdvH#@3r zW<+PTr$<Rw1Y&$F_Zc_~new2$mLoUBjL>@mj>^Dgd6b}oO5mX+9K3;p6*v?sN^u|; z6F8Iv4(|mHWoCqQp-$Jmtss-j_RsOYf-T4Y0%x;z7VER~Z`(3CKa}{O2@g`fwDpnJ zeFI;r0vaK?-vYXy>!01~%rI=SqX82Vhn04G4PU9en(e-WFGFwR6t>rKUTqXS$QH6q zHp}rj{2<3As>`oaTaI58k6o$bGO#Ok{HfD_1KZQMs{wzUa*{=JFb;G7Qjh(u;3nIa zA)9VnX8JmDu)m56l^6i*RO0mAO&q-uN5$h>>90zxxYqhdqd49U(Z3m4aV>y;vf{2+ zi3WrAEpb@QIILw{59kdT$T;>bQlmKRaa<T+fa9>eas6Q^47<wYHKMWdbTc%su|%lK zT#p0I&qF)-d2TC?na||4Xo_F~k#{Y$R|tKUhYiWQMz0p+wY1%YY$c<?(+ZQ<8nl_s z3x}?ZioDTqy&~QKJ)t}F0>*P*AHbmJ^#e>ro)Wtm=mnF9rOfLOgX9^a)Q8H&WE}A+ zoNh&<M6d$0BEA50HA45OBhJAm@FA@kaS_TC`aZBRjquTa5fuulgj%SEI;e*RI1d+S z5ANDo5nlm%vtC(!c9kh)m2EkCsJX7^#)IXc0~}PQP)gLh2cl0?1QyD2Oar#3j)A(4 z&8UOMcl2jzWI3iozkioTmV=IR%v6jSFp}~)?u1c_rex_0#~8R3sJmkVOoYimzdEMC zZ7`K$bORK_6!ribyRfUiJ1rbTvrUNoOgY*ZG=&)ZyonsO@Gl$-TKE^z35B$GAstZ2 zR8+{kQ^;&n$gEn(I<l|}4Vti$f=2vGKNO-Br4!}Q*kbYGU`8w)MO&e-4i++T<7b%G zA6;cU>(y&hB_>HslWNS6>n<r*1W<dEHwPY&qRfSPa9<0`p0^(6>-;@3UM-{sWR&-; zf}VjV<X9q2+W<?Iz%p0~D_|8o3ajBUcnX-Z^VYyxSg7dh;CVT=P`fzpe-AH^kL9t+ zi&oGCdNpp6|3_8g?nDLRo&;8JakJ^AI8}BI+^bJX<Jg?U`JdzI_ax$G!qZBEJ!#y0 zIyY_|EKoF-h;fVIVORo7VHqrkN8lb<39Dd=t+x_+45r%p$T?9(+GJYSS_@_E;$EPz z`PvcY*E6A6v_t+^a8VA7WIm=b{|n7yRwG;u(uHO?&clzio(1_o>EfT^H~0m9hd<yl z{0XcT@-M(YM7SEr&SG_DtY(P3DJsWyiRamvKBS;{w9C!b&g8v}*Yl}_Hq@R9T^4CZ z+=9owSe_`-t;UznILp^H`JYHsN>qSe3(rrGZ>xmAzSqmuO@c9L@_R|Jd^h<cBxom- z-&X>=l7F)t{Uu~j^3m>mEwA!kQ|XQ=sI9z5;3%Fjg|t@4AzKu?A>+{p79O>*hbhJ6 z%l9=fr5F#b>tW*Ye5n@Br!759DS_8LJf9Py_R;@EdVW$nH^K3<qOrvC(8iu$fp+%L z&K}y?^B2&@9_EpJ+Bsjb)i*7ay9cD79;R61DUm2f<ZB-H=$?>A*LzM$lp^vm)cGvk z^3iUS|38FVBjhcP%a0x==vIZJ;wFD7XiVo%2kw%a{5#<;xSd(a<S&PrIzRc!|A^;L z!M935D`2*2_XzNohsnPm7|i*M?0g1v{(M*f3xO4Q{!~~5i(v_@qe=4_l=%@#?-_)9 z1wrmdaCtV!`>0NAlz6Na;&Ge5m!6bcU6emsLi11lQ;58`Y3RHYa=j~Y65;s(kslST ztQguRKUU&ZiS4ihUXsTtkqo=!NRikpu?LZt0a~@@(G_`FR5dRfSh(ipf&~TOg+g*% zM!)B&oAUQd97K3ze$;6mY?6oj8^-elJW1%b@j;Qh8JV7S@R2S#i^xj|X)!1`DAJ|O zPDQ?qOtcZ6p9-p1-iHz|s!-c?4He0A!A_tWc_}1xPM5f07wic~oKZ-rKe<<Mv0BbM zprC!jN%l=#`EN_;p?2PW!ty?)-SR$D*kOfL-1s=MQWeBB<Y7$m8kGA5KzH-%H2rwc z;Jhk^Lm1V{s|MW+^C-S<(Bv_8@_vNx;U|SMD)N2-MnxW$D36hmR||}eJVr;}UueQ( zD#K9;|ImFMm!}aQwVC{O3cOYpWwXtU+J+}vA^Oe4{0zC2bG}ShelEfjBGHN}cm_ff zF7s$*<mmw1RyLka&>7n4S7|(hf!oT#{#Us?ZSW1()kB~Q+@Pur1>M>4bcf#16Z*i7 z&=>jv)2v4c-U9uBDc3Vf#h42dV7yY81e0N$#-E1~<iW}sPxzJb=NXOfVFfJ!ZCO1G zFORmYo*8gA+y(c*y)X-A!~HN8bT`oBH!Ba|m_ws<RALXp5*+znke$gd1|vtAgtjC3 zvM~A5yZkfqqNi3|v}QIt#F9b;=iE;mVX8774MWenkP2w56~_Y0c+$DzN%^({os|~@ zvA8wfJsM=5EESPHwBnNBS%p8V0dfSCiyi@c;vgQj1UJRhc_M9U>gRMrq@AK~f;SZN z7`WxoS7V;zps&U}FThKH4e;y)C%Ay2<9Qi&E6Qfr3k($xL&dXCff_HKLn_^`e8ghh zYZ@O-9>mde^fY0A>croO^(~ntWtrR?j~c@Mu!RJh)=vi=Euz8VHI&`Yal*Ja`Q`f1 z@kgH<#>dBvh$iK<P!9{0w4{>yzheuPwA%S6bY*89)yrEb<^7RKoIo$FVI*pyt`>U+ zW1*mymWEb0=mkBXH}nA-%R(<L=E(x}zlE|{D5!;US}141FhI|(xZha*{bY;kyfZ8~ z=+#<V@pn(^Hp+<LqfZ4jzokVt+S<MDXc4l=cJxzH^0rdd3TO;t>5ieb0#HgzcML5w z(n2GxJ6p6;5ms{PX4}#CNRt0mzd=oQ2WYHYt6*-(U{&Q&m=`om3CtgXcvxbg#3G5s z5=$hOO56vG1PhI~9-tbnl^ScTgs#ASsQ7nC$Q>PW^df1yy+>Joxa~nlWt!YEN54bH z`=!G#6Z|q!vY@T1mgEoEinQWS0xIr);pipOW^a(t-?W-Wb65#1j1zi=@=Jrkt<1=g z`uj~QVTjF)yo*LnV4IL|qa5KZ5EDkD5ecmL6Ikshu=-EvZR@O)lVCEi;7_;>`T=`~ z1Qs?{LJ!K~)fUW){j=h;+4;uj*ce1sd>$g=lIgiyrHc3^;4tnT^2X=0T90o4v^D;e zbg>NBEyWl4H=^;y+K9$m|NdvD6<>hwqLO8g6n~cT#<Tm1|5!2EdBvB*r{IGMV3!qN z1vO9zwNM8vL#+6E_@)=)Th`PGZE^epmy{NI7XLf^q+6~D?Qnf3{boZO|2+ZC6#Xx? zR(l+OD+U{J{oF+YXA&BLPAb_Z&=Q&}%8ximBcT<vrl(%=_mouL+eQ&-Xj9;(84EP; z7bHUpjOm9Mi~1H|feWU<WYnWzD%=heH4F=|y9MK}tojOW#kW{#JOndPtpb)j1$Qdi zU4Z5nFboRN{({+nmKLC)1z6w$jDG<JxPXbEU>+>TeimryQ?L!5geR2D8dwXDwNmac z!a7~EBB*5(|KwEg2)>;P+79cnBn8hX-UiVBQxxm~y$4gU1?&(7F%Sz5h=T-R>=h&e zmZe}Tqvtjfb*BQiZH+q(cDC%Op`WD_>EO~>%7A3jchiLKJ+KR~rf!U=8zbt*h`LX} zJ8*#3bsvXgitz@#2}j|e-iLA@g16xaFvcuQuCZi+Em>gq{-e^z3`nyD(UWm6jWwe_ z)gI|%;8()KuTiK=;#(7r*2JM+ar@DbxMDa4uc1b9ufrQ~gnvY^;!5CvES!GoChj1x zqPF7RgSX`1HzBRKQ;@2-Cm|EkAq%o02Xes!han#<C;%@oxms}_no$gpxIMO^L1t8y zk~$LzIU6|a4IXu^8RcoJ-Q+8_djjQ82^y<%nNg`yx~Ah$^f<Q(XBfrtj}PJ40aKvq zy@2W6iu)lDNqZ`*SOLBe8c4<eF>t1WtbNM5(u`u%#?=N6)qz7@;7}hpGz1Rk1BVM{ z)Ok`Zq2nyI%x)FJSXwq%W$-?HEDxDmabK8G7jUx<x8lAuqrSw=GSrIu2EOh{q4-T5 zW0j*0*6&aUwMw}GlufmN&f`8@+(qo78TIj%A!k)^_8;Z*Cwz$pT7Q9dz}8oQ$+o_M z@8Jjd5q^S8AQRO@QGbD7;Wye%mNa2HO}T^t=%v4nHy2QAZ#s#3vml%6x<xtBP%k~4 zFb!q}n~}whTZBYuY<bb`g6rW17(fyQJv8)sa;l&g^o2e|nyph*yx=Ba<}J7dhQc6a z%UCNI38QosE53p*DjIW#@uFV|cfuXiAoNKS-m~v4{fkU|^TuX$GnM-~E{%WAjPA$b z8Z(-wH}P$Q%;;8hb$t7P|JuNzb?6ck-X~~Nv*$SVd>}>(DgWI5k^5=snIS>X1ch=B zX$^xRzNHD@9vO)v%4SBh%eLY-2cpQD793GPmk<-4-du~)f@-Kyd8Lq_=?eO?K%0dE zw4p$A$QBbmqeG9#LtLa7U+SW-B)(BvU4u;casJWg8h#nHhsu7v3D29wwM+%Zi?$S$ zhIAvIw+YU&Ab$hD-y8Qw5+6vMkvJ>yvBbIFq|(ELSE`w{P>b*8PtuC-=?}Exd;NQ~ zV<qAb0SnOhL}k7WUVwPrtc^bcFDikUE5APzAB*p}f{ucoWW~P*Y~QT-WY`UE*aI)a zUU&ueK^*Ld18|U{eaEr)za{BoMz_Y>*Mvt$%HqGK_F?yG#kVryFKzCGqhH(cCY<$} zcMOar;1(0UC2|Ljo77U;?0Y9jUsnPPBd_)fUgjk4Ot>vrU!r@b+Ik`<2DSCyCGt+f z^I!;KHO$rZ%u8NoHtzypV)HJ7#jpgH!4y~yE8uRpN7>GjV5ajjGkG6J+r3ZFab9LM z?|OJz2{Su+H^Mp%b1!xDvce49N%1~~PZOGVJ7@~?GKG2l!;C4+YlkR^fmm<=Q<yga z)&f(QmnqD<m9}`xgfHaKUv2XhjsY-G-89^UZ{RRUJvA6c0C#TVN5UxJmTdfJ7$4lo zgg=U7f?9uEV|*(WM=j14&5Fkq#NP^cnDA8`rUwq(<Bh*_sR<8x5XT7>!gxE<hiR&o z8~PG{S3eUzF|tmhY^GH2ad-gkR|bkW7iQByRy;Q%<Nsax<KmWK{5oa+6f9JA*1$uG z_Ao4k#jp&P!wPr=R6Y%*-5`xrwN}Gp_&ZTJZNm!uPv{Dm(&C??tOfaiH7u~WhPk|; zfFtvIffovK?}Pogi-Qr`IC`0<t%Q4-tJ!v23DhTHj`ls?e0k>qztd$UERgSEB6$mN zERv66Cs5=Bikv`^V=KqnXPWT&420M!C18l>z#<wicUi3U#C7Y%47b+qXF(rNy3fHU z@S*;F&5iwcYkT76d28UVvYT1TeMv#g3+_s4>}GOsGZ`B<#>-s~wa@_P;d8hEU&04) z5twD%Un_}k;glRIP%Kk>Y;99S9X>}39B5oD^O6<Iq!;@we8H~Oa)jaX-<f64YQ>%> zge`{UV6p1BS_yHZ)^e!Y+^Dr;e+HJxv8<V6e}_NdGW^L!jX=ww*bAWjC*Q_e4s^-U z1SpFGvuQb+(`JSKPB^U=*V@M6e>}+j6XRu#ZoD57ww_I#<<Q#LTP{(pQTsR00N&4O zAup}qr3JhV8nuO2<Kiv$e@88?R@jJWS`T=?rC|#d<2#A(;b)-9y-dSiW?wI}ub0`^ z`v=hI-pjy*?qx17)D-PKD?xX9=}xaYv5>cvO<|~9tq9`jj`3FFX{iv^q)>alLT%Ry zHK#jXM3ElFk-*N<N_c|c>3Zj`5Cd2!LsfXE#5A2uW7^rL-CAOIi5@z!S0~c(^-<7` z_|`M4CidpkJe^-9v0CDB8me$BJPi?)tMD1X#1*dfH`EKbp19Ibg-_ypNzq<}O=>9Y zT;cPIwi%)!66}D9D~tsP#KRiE%oSqd3NdkotaD9aiprTOp`}SSg-ys&_(BOL4O4h4 zrl(Llox<@jhYRx2jRcE0iBu`!6ugJ7C6q!Lm}ZkWh2cr?>K<4)dX`W~NC)NeKOF4T z5}Ab(K0@CTS!E~anOwqI_!Q2;XHX74sDNr<`IS%%jFg00V4#@7hndL>F#x7;iNrD$ zN~JsB3r8r9hL&B_0bx4P9KU{XERo@rp!bmzzJRacA~4Jn7-k7fr3v42kuGE~B>XDz z5ByDxM5Uvc44{PH^hS6B!zxi#WLPCKa1wr0HGh^sQw#T~SdYl}q+C;Bf*g}zGB6F8 z!rNh%^mDc@Tr*-_unD(ED$li{tee!7>sUbP=1RhGGe%JkOB_`IE2=RZo@c$rZw07q zk%5q?z+q$S9%gjY;K(E_cEYo^!FX(u44%R~B_YF_=wB&59n`#O>-Mb1er?n?(jK-@ z<?(V!(TzA{oD1KRuP=^Yl<#^odIav%I#a8F6E-vEYWa$ET|bGNCHlhv7^riM)WYB8 z_-!0PBjoyXtmI!3TA3FGE3r5I)hr58XthGGm+Ol=B(W%kTKN@zW4ld<@8EkmzEaGX zMrL$xd_@=nD<Kvfa=fb`44NrYc15ElnoG3Q|Gt@`R)ZyF1d7_iHFC)66_!cJ%oTnp zaRyP;N#Z(rD<wV#j7?G3KJu}HF@>K&Ir#7t-LC>9g_zN4C{@B+s+yIsl@8<MBP(H> z8J*2xCteOO27FHXJ42Tx2ZB=qhaC!X2i&^?hdpMrhdjC|qd5|?KSivd3hQwco>z<w zX7niBsHQ1IHBAv?(G>NP=ra^CpKD$=qw_iJ4IB=Ue}SUD67b6u6fKu{SfTp~ML~)f zbymUwf(sAgTcses(X^Y<7d0r3n9(JKwTElD=m1BJgQB&V(xM2t)&T~uXai=jC<QQI zMO(0EMcA?;J3KElShNc^UNM73&*H<xnj)4XMRAzHqCF6=XqdPnR*OZLxFT$45r(n| z8(FjicETobf(w#S{u`9ceu*QXY8;Y>v1N*msd`#J@4l8RS+*sP3pHUU8b?iTeEjjI zT)=!~C9+($5(`Y&oTwRZIB`yq{|*zD9(Bj@r*TdTGGQl!qHYg5zD_1&#{ZwW^Z%Vw zM@%(gqnovhx}|A{;}3-DSI>&llu+S+39oPD91s@Nd{B$Kf)kQ#rqN6OM+{NDX_c_% z$64VuY7u?2%+^E`miceqpW4h=X=RC$Dl%h7US)XC&q|z$l}x-_f$QKw;5|z#aUP%y ziT8)KxsQWNe=q5_Y8E`56-MGL*r-VBVX<wQoXbKMDZyu8dC*cNvSK;nQHhljt0f+j zcwFKM3D(t#%HSbj)tSgzG;xiJsrXyby{SribBGCx35l8<a(rzF-g72wDoyOdxrHW; z3yPW=bes)=l^AKl5~8LZR~cgd-x+<yX?8O(ti)LPr~A9a@t<>jNU(Fu|N9#2!ubFE ziQ6dwO}UZK7XrmH#gi#$u`EyV?Py-{G_<~0hN)Pa?P40$>}rSOUL`g8N>`ZT70n1_ zLM~<^E`ADCEk^f?BVcaZU?$n($84R6kw`XW{1}UVvcVLugd`=)3|>4hq=Pa<!;9w! zbyf-sx*!%wJS4GLVu{33iDeQ|@F*~xiWyGDG2{`BMt7Ko=r|4E4%Kmnzx7_a;xxs~ zMW&eDgeiUiRrK4j%A0XjX`ucCpTl|17kvR=LcN|p6%(zfTDqv;F(|4bBt$9cLhQ3C z;;SB`1%Ht~=PY88U33XpM;9?)7X1oLPDQ^1b45`du(B)q3s_AS^M<J@9tdrqwMwTv z)!bptIw1!GZ<q%AKL{;m?OM#NX^Mvc2B^4`G9L>5*1HbJ4bT<3L3ii@J)t+Wgg(Fw zSln01+$3>}1QS~EC~8q0F5g(W#;LzY1JiNhO<Hv@{aK0J(6JJkVywiWFbsAo$^?ZB z4_;`(qG@{;IEk7Ji(gcpTHqDCLCY>fI~Q+P$Sbf{Ro(~tVNZAzbCsd}i=9E^g2JMj zC^m-8e65J|NpU@VLZ!_`9G@!kXHW?~0>8x!8?Ca<_k>hIHPl4WrbhFGVWv05wNMA= z0SjIHxdOkC(EIX6JwcZh|Ekpg0Q#-?lAh`s^^O01d3D5(1Zc)B{zv7Z%goivnGmA@ zn$Re@CeRcZEk@P(nPV8Vg4RGcnht=KHHKkhI`u|$R#ep5^nmV4w-@M){sqXGG4Sud z02#xuF#VM0Shz_Squ2(mGW}r?phgCrF+*WETn{5)B#eUbDlJ`T%w&rAt!i~q;-JJ~ z3C$nH%pb;J%8Z!~Gvv4nrs>=Py4=^>jG4)?f;DF1WoUqUS+vjL0_b1ft;D~eQj;GG z&O{c%iC@Vc{taL2VwSFnKLAVD#2?`&_!%z2ufUQy@i)*?l@2m8Q3ms5%xpCqCdkZ( zd1{G;@DM!c@4)rA?o-Bksmk0B&nnt8p!ccF2EgVUvkX?k3RneL9J3m@Jz$=IIq)Pr z1v2!8X(!1h$MX_wJB>LC%-BXxTg`UZ0ZB3{<``&Hn7AtswM{&}Hx+aoQdF4N!L7Kv zU@z<e290?Y7&B%+9E3zT1c%`WY*8{%^vMg6eyxweU;H{nDn1RV@Gi*~r$IWLkVX}k z0q@NQHn7ES;?w%D_<hKxG{yge97W3o3p`K&UMPejFz_~%z<Y3tf}D`%e*!s>t@`8v zvH6wJCc!~!j&xghq(y%GpF!(D5zM>zv>Y|%;2%;N;=1E*NZL?dLv;)VG?dMJ03X5` zI0<LrV>m}K{N@AGZEBTXgG4>LliVGVB3)&rn)oWbBK6x32jFE?#!Acvx7x+Vg9R&b z7kFgra^Q&6HW!X6-fQp%9EUgIEqEJFKq~BklaL1KJeE9_96rd5`7n|lXVUPdEEYm3 zSV?O{_MhaCG=dGt$GmcBO2XhCG`2)@aMD(2Bu8V4o^&IGK}(8|#Ep_9HnB;~RrI8O z&_qRNr<lY7DXBf>O}YtqqHZO1fa`$0Yf=~J3fIF8&>h%sCiQ@x!2UC-w~E(Rf;$SP zM0XiVno8*IcZn=k$*s@>WU)%HSS7uQH{Oh?(RUjq6Y$&`WXAYZrdGlJxY(`|nZA;V zpt-F?maJqF$dZ*{$x5(fCH(<QR)Qrf!IG5>1*}(z3Ovz_`4uO7AS-E7z>Os=8HabQ z-Xt%%PiGj4B@d{OjP{a;V4>1q1dCz5>_f>$@c-(&>_f?epy6EdEG$>Co`V&N_6T4P zO0W$j*o2bD;R(Pdl&pbyuol(<_Ne4(B@-#ZFHxHkyV8h(I0Yq8yomg$SvFTE8$UQW zh<6I&i}<O$YF0Bz;joWY?_kw|yEsWx)RVW#w+b+~Nq4C??}2+^Mr+<Hu##2-e=ph8 z|5AY&^9H(`q~xANsaX72Nsj?*A}eWu-Y~F|xZxV%Nq$A|7+6UUjX>}|ftAGT1y&L- z6<A5jB$i98keCDaEB<s~!JRZ0RzieQdj+26r&%1jVm&+ySl5yy1w03v@NARkdDsk* zeBE%hnnR0&60D;YVI>pIF;{-4E{!r{rPt9qm=dO1E6EPnH!H~zY{s^d%I#7gV`577 z!#*`MHnQXpyyDlwd@hcoLEB0THL@_PC9kP>v1%oH6kCD`E_n;y0L)p*33vxENhR2p z5{z*P*0TibS(2sFWk4oi6p|9n*ii~AqErs;U~_`xeUDRvKngs~7U}PJS}LM|3mWSx z|Bz1N>?!&DgQH2L5=k1uWra|LTg$JAVu=!67Rva@(JCaTCDqQk1!$U_cGM!L12F7z z+RDD?41h3IS?k!GRxm`-7+X1AsC*8CE2pcXT@O8=8}tO)G^aQ8fxgfN`oT@0(fI-V zkCF}Jh(U_*;%41oB^~A)25h>uz8#Jt6mX}?z0<283c2fgegCqH1?#Tvlw=qA?Bc)S zb;)Uo_aw^TBU0VT{J$Q9wX+;PLq&I1KqY*lziZg}3+VrxTQYF1ooC?>MgJAPrunU% zwY2q477aV=6uBNQz<J=N+0HNFB76nhEZcdG+&TiLapw=fDkS0$j_)g}4<uNVtnUn% zm)(!@TKH7H(_#p@oRRs%qaNT2R}x^VUEAR0rU*9pmg_Vefx{HT^%@+5gQ1u)7j<>L zs-1>zN4xd`GqB})A6}P(Z+I;iE$up?xbHw3FtfPQAp@AkTv?C@2Ox)N&J9s2+eTZI zY=+AV=#q1jPCchnF4W3Z40@*ELaQv-cDZ)Q^#Z&|_3q;8FX*Mx+a>Ohn8EoJtWL^P zum;w`)5J_!uQTf)0%(+!C*a=3h`I0}rB9g;3*Z47CS{h?lH+X9<~wDvE?ELAU>Q6D zD*=m_@+dq8_rsG{S;=!qBKbkGOpc_m{H&$rN`@401A7iDc`+;^(d4B-g2@l@b30aY zG|W?r+w@&yGKET(!AiEn3OP1N=%d`^7|=(#$z+{OjgzTUGPO>o*2&a0nYt!#0v423 z@<LQ28N-&0VN2dZ+ij+hPS$0X^B}}S9Emv-0X=cX>NR@jVTkfuB}(I@aL!|jaRgqZ z49=slUD0-c3w8o^by8O+b#?B7JwRcdFT-Bgrz9}PPS!Wh1Mmj0(6pQ<Bv_y%_il!m z0fS&586;zIl83@g!7Z-ga5L*OE4fcli^j4ZRx%SzvX&yrGhw70%-mM;7&X-0z;`rO z@;I0X<6#m^hAD6x+z$O<8hUge#-{Xs)<2~T8&k^cT>3EZ1kaQ%h9$6oZ%9ljvvcW# zY9Cf&rgSc7b}nUhE?t2MD`j>reMHe#0<&_d1|~CeDKm5FlkgNUE0@j(X6906=F+Dr z#vL#nU3nDcabBb<&aWlDMY!l+*Ba{MqJv#r?0Pa3v07SVhRevf&<NKvay&=<U7K_* zUGItly51EHcA!&Su@DC+j|(MmB|svDh$g!8DfRjqxt>5ICpDeeoWoWdqs>Y_hqgDC zze+yWod{<TkFl-f6uI3JFEyPM+Kp>cno4XW<ONzQY#@7#u=c@C)jKaz%@n?fQ6iUd zHseYsHFK^9YUfn*Yd%f>RpR9kZV6c_p~`q~AiGzT(*cQn65s2xgVKXT5{HAIQos@H zMe<RJ<M$$dSJ)1+PJSKUAjM#Xys2}4$@LZupZq>x$&%AlD@<8(7Nly!nEU~}t)7>r zo`5`6=0ou4;(REC0w{uFFi--g;9WQkrBFuhEHkX+GXoKc__}aBI~YeRY18{HX@z$+ zTvNHqSq-_s*2i*sfV`Yp&AK9MBY)BrY22O(Ya1N-U9jJ#QUm9Ch1Wp={ribLXC#U! zw6h+#dt^B&pp!y5--A+}rvA?V0hM)9HRmVru};XWmyc?N)XL5IDW!aYO;ssNl2YuI zDUDY!=S=A?(4MiBMNR3;urpY%aF;r5OzWjD@+qW${x98*FGCSn&Xm3a`!#@A)07@i z?1RAewe&E&2FKtyybf=|OTYrD^lhL!T)Yl%x&DOn&_L~67vKx1Q~$aC2E7jNHy<wA zG+C3f>mT@9J$W?_-afTl-@=dZJ^Tbe!zK6yeuG;09sU6HH@OED{|wkDTFFYOu|x}K zLUPG;V>11j913AT8z#4gHlRIFa=TzjshBJ_tCG@0*_I?FcO9S`DfD%+(07Q*y~wOw zQ>iKapPK9gEn-SPgmZ8P*y@(5i#~&LqTfK~Dcwjg1*?~GGqAC-Qu@OH=-Uj_pVGtD z2iZ$^`t%J|N^iJJai+r{7)s_TGeGO}l;IE#BVja*fw3?Su(v5U!UUKIlN4bx_zRs) z`M;lOMxNU`%@#*DmOqT;EypO9FQQK6>}Se(r^A%5225!Aik4_vIfk;F|H}vswzb5y z6qp%J`O~0xQp(rEW<}cqc8G!)hy@440amztIbey)vBc$TDATj>97$E_8~&=+N>sN? z%3lChA*Or>L6vp5D(mI?oK>#w*j9cEdSAKnd-wsq(iBleWhyURnIbB`Af$y-rw)~u zC}>qEj$agw4P)hH_#OU)zu<59hl`ZaMUGrog`qN4sv;W@Q=SYdII5>fOqaNmUUL3O zc!DlKaZEX5ul!{SS)K!IJjxHMN=JY(Rqp=>fO0k{<^TNyKsh6@yg*Ss@Vc_ghc^_B z;a1K-FK4KgzYD3rpe<*tmS?~|VCzwy1$1u8^H-UM0y1x)^1e}|*>DPYqHP*Vp$v>Z zeQ&sUm9=k#?HV(AgW9VNP25ljOnRo_D_}^Oh7T!A!`JYU5<tBhQ16D10TpjR#T&}O z2erVHO>5r_GnpB=p&lBbPA%vgO~?3nPH24dVG2wpLEluk9sF+-`xfH*?`>k=t@suz z#zQcJa`;#l`0iA+yWn298)m_5xDW1!IWPepgt;(}GGL6HKcKk{Dd1MUcGGiH<=7*! zSCxN79m%(9mXq()EGJgSiKTJ=3RoNGWx&EYQIv-Ltq}(llm2R;hZ_#7ov@A#N7PPq zbHf{O4CucGOl1T8*Kh)u-AqF&X2&$poegwb1Krt>4X8^)F68N?h2C9*-d2r(>!E8< zBV;$|4juh=y{eP!dKEuS?ElN?s`hyLP?V~0xRGS4`ob-66ZD4xFc1d85a<9yVHn7& zuqZTDb7+sM2j!wgs~!M#UDY@R-zpbBb7QJj!cthGe3rusm~_3${3uN1Cy;c8UajKy zK}^+c^3mf}(_tFSfIETiteOe;0DW9V*H+Q3Rdj0=-CFestbx_=n6iHYp2ShzoXn~R zLkrTbriZJqh4w+xx$2J4i7Wr?a04zXS>1&etkx#CTCH}uWs{)RdMZ^-cUH5EHPvc` zzx?l1Ru9MdxBs2Ws(*TODp<lM(MTdhqOn9137WRLEzrExG;g(<cP+<eD(*V9mJ^<X zXVnS}(yGm{L3e|zl0o-ut0J!44X%0`-);q=u~ji42sgwkt^*Pw9+F@yY=akIJ3IqB z;3e1zdzH+qDnbFEnpM)#Ds;2zI2;OXhb)BGb>Ti0LF?<P{h)gcRYh<@MJR@M6!%?7 zhm(*2nSdf!p~O`vaMeM`1COFhk=f9jsxpcHsUSbXCvZ-QeFo)lmaT@V(kiCvXOQ`+ z`amB*>xM<uhwz(%E<v42^9$4~fd=>jK8G*iB76m3!?$n-zJu@K2l`|Z$y85~7%eeY z;#Tsg9xs>FzIvv_Jqo*5uKOg8%d0l3ehp~8YFfA2!6*5qnx8>1)d%54c!5Gy(*xD? zK=oE>;bG9j{OSat&#GCfnCcXT(5=-kgACGMcm-aCeQ*Gd0DV@C`c%(T<_nr4qF|wX zD`2_OSqZCPsamnx4iD=uyPDxx1glkejh*T>$~p$tD%v_gVXD!$>J6|Fo&_|u8YQh> z0w`+r7Kmhqd7pI3|3^CI+?6rqG-o+|SI!+7Q(gg;@QLm>mHz~~BjfMB^0WBZQJC_d zfqOBgoPI3lUW_TPhYN5X=*Duou>2y>h2`JCIiMTM>B4flu$(=YDL<{4rB|5>y=PIe z3n*QM-m|EP2I^n2x^2_owj3R{cF0G01kEN07uBnHl{6}7_6i!J;;|4tMy;UrD;^K( zq9mTcJXEZecuHcOM1;iC66+;gun8Eu6^zje`mth}l3z~Jz7KHuK2#<*seE_C5E!h) zhrw_dsBir%?u8M$P*Ziq%~wA7ueb#tw^vQYEMNy{D#odhv*A{yG9D(wM3@4%!Bn^% zW&nn$;!d~=W>T1Ql*9KcR6!*v_-ddQe6m5l-=U6de4kvgLB3D%{iUEk-~ze(F2fg! zOCR~@8y|h-qi=lljgP+Zp$|Sf-iJ>3=xHCF?E8fhT&-5P0Z`rwR_3N66q-Ybl%=9O z*sdsxUS_Q5O~w^Hpp~lK6ZCYvq7A6o6zN*%03D$dTnCMy3v>m#$#+)C^p#kk&e52u zcu=mnaxpS0w8W@b%B4~%A1dX0pOErD`y>8RqjdvSzLCy10qWoj;)ad!QNHrORqRHx zQRV*-)Q8Bvp3p*ZdVwZEUl^c_zSf}TMkRgJ!$%!_l-Ji$7f}hBKOcqnsqkvBm0Fej z6B>QYW@{Y3qcIOSEmz;@*W>luTQ0t*yyFNLxEd3!`UIt|{s1x|g9NLyA&1k=qu+^7 znQLz4A7lynh>*~r=(mG-H-Ao$xi$Do!&kq{*>g(j4CGUR>a$=esRAg5LNHJQ@4+dc z(W+09Xv=@IVYB24`_FBv+0?okg>{JD-t?OIWgR=R*fY0Y!$Qk-Q=lTIx}4^#R^6+s zC2CcttNCXFHbc>|f#St4Xvq)gw-5IJ3>iP-JZhUQ(WUEb(P>l;#{gUOaa;UO+k7Qa zPr%Jr+KGLI<<b_+)h;CZcu4#jepvqj72uXDSF{g`elsXOf*;uDRe#HMZS>pm>u;Ek ztMh-Zj{mu?`_I+oKUdfPT-X2S>UAac9?Cj6P)<{=pHir1WK@3*U#W2!Le&hR>MvVj z9I6?m)%=t~Xz)#~aD5J!RiodoGBwiVnw!-zjMti5h+Bi6)(nP$Fa(AIsniVTBF%P~ z)aoDMC(v%X_mwvPTRCe7-sj&C{foVo!n|v_Zv408Db=JDOnGa10OPeLRC%@pG`hyG zPc<lcO(S&@lT8g}t7$9I8?MpCsCo@Uv<6k@@03hUXJDw-p!PLrc@0CV22HPFoYiz^ z&&(qaQ=|E~hWXfX4d&;XQi2&PHCm<Dyu#U1EhlPt5!cj=mTN4qe6#lP$8|SHb|TYK zRJ620mtyWp(bF34tC<=t#A=+t^j4#VSk3dW8T<>enq*vCbm4ysv6`px?N(3<XdzbP z1}(&D9FPd{kOW&{8@vG9;ThNgFTqZVkpp>PK|XaUEr3GE1rMmPCzDqxrnzR4*044H z+wBcI^=m;j2UL3E)Eoyrr>c1a-h`tX*EJ+n!-s=`8Mo#TJ}uvBir^g;ycph9v{cA| zG{9EWWC5n4h62`5z?vgKd1~@OQ%}td35s3AEeTV@aIeu?u14cpH-241{eQn&b2rwl z<{q7S0%pN%<vSPdQ@;1ZJeULXVF4_JhhV8LSgdVP%_4XNmcU9_1&_jNb@)@DbxaM0 zu0}I#%^583E;-Ih|9%6tqc-m~wNMA2>APN2Q_gq2rbhP>YCit=<6cv94&UDjx(r{a zynn)%ihdEk1;%L&!?WglU`W+4oN9iCPvH{$0vfarkW4Lu$kfuiwT<MU%W78u^{J&U zwOWVOs{FOos+L;SE`?>FFU4!`hM8ntdoR#{wRbi}_<vH8;~jw6GPQGb$%8-(*3zQ2 zv|=r-So<*0e6>qp1}um6O88dj3R>RO(h9ZRpmSSVrFH^zSBZK`Xx^>8QKFy3wL#Ye z^r^N3J}sJSC&B=gViNGQz|;-`Oit|(7!D&~B#eU5z^Jbs1B}z!ar9P^UtP)#&Ju!D zMZM`&+f1p-z|=N}R-jOns<sWZ1#Z-(Z04xVUoD^HncB5-J*_J4f#+e964(Nf@T_ii z)b54#8X3CFQTq(+SF~3^L%Q}=(2%Zm07JSq9+H3|UAqk!(zV-RBQT_EUxJ-Vf*Huv zrYI_Ap>{VMQpjt{=a^hf&!+YbiMJ$9Xt;#qcvp_GW<*;Z)kvpRhYN59bhoAUV?aA= z^V)VqehImOKefYE2Hz+_bhOr^|FSc+UqQb9%g)qVYVslpeauu_EMX){B;J##hyOtX zoQKaThdSvbsg`OGm(Ei9=@OX|*(xbF7+vEVn-LeAx4+8N>4*C3I&iYC9S~Cc&sC;u zkj-gnS5*5GRjN}rUWPwZuD{@K_>CIXsZ+VtVrm&fwTz#-AZk%36Hv!UuR|^Blt42G z1$3g0RO`Y3U8qBM>#l|_DnwTbQT~u_Xx4RBITx9cTRGfrM(FPGRDQPary%DAow*|r zG(B*b(zLx9@o{j6$i2={Hxv0r<vI&A)7A}!K`PHsK*P)K3vzzi>RLSa0jAH?G4GhV za3#EiglwJp!I~83n4ng{{@;HtyVqIHdF?6d?gvId-FVgV0hpkaC&Fzo8K%PRFbx>% zWe+-kLe5qaWpioavU#Law!n!UD$`1~>}hz|iHRy(1dB<y3`0|<8!}}}VI?ewRe-H2 zTMduFlkkKtS_5lAKSNZ;xTw>{w=BY0fz!WUnxIj`zZda;7WV|T7}er&F08*>)tzWY z=tlhte$YWTJ<BvTl--8#-K5h?)d9wL3jy`oL)XtHzj~Ujj2f0vL*D>hJ4j-P#4tpe zW}C8!60u5TW{4T7+gW8yK$dG+pil1(G9&wGk#>(6$=!6<eSyO)9ZWqo*mB(;2znrJ zm=icW=)a&&x321<fd;BmOV!arbt_;|YpGNWJVFWTR!OXucwAyZP@8}ytXqgLUO}<I zo7|?(0qc}h1Z;ryuo0ex=U@|Hx9T2-Er4mNi=v?O%*cUMFOJlF+69&|{adcdYFgvN zpp_+Vt3)OdNQYal`DP?K>03r#zU3@<xP`uNJzIi(F4zpu(=hvZ4!)1n_dUn5z}m;d z;eF5iyDYHwZNSGpPivnWVp#+4+XW6qivx1n$3w||44!@4;01UQb^!P4_pRmO#J+Wk z{}Sv3C*|9wvMn$phpHazSd8yciN~5CP%$6o(}%A5B2;eF%tssf*82CISXJLfUHrIy zxJKJ3-xHv_?Y<qbnfCQDtbN+s`)D^G9psA!THi;*`{E!Tu-m?;APJ;;*lk~m(sL^< z-H-R>!XY@Qw2r`0*sli%J`ecs$2Z6J_?Q`dUPa4?BG5f~p9Q)n?|T#8fw$pZNQIM- z1{tsqG9gPz<j~hi<X)EtJK?1uEe+~ikPO>HTgV!|Z0mvCr!!jP)*YbebqD35kag&S z&jdU80<Dc65ScpFuEgfJtP3bt-7)E50UW1*b*}@3tD~TGCxF7%QP4UHT1O%4UW9a@ zkaZNeE(@^lrj8aW8vr-yMI2Md#>JGiVlGfVrT<9ijzF1CmIae#StC9FDw7KvUDgDe z19rNsC19(|TI+%~ilC{fti23;8BJbx9b5}HKo__Xy2AC)9lGhlp3n<=E0uoG2X;u` z9yTL~QADi)>x{&E651NneE?-@hxaM)c|uCRg0JQHQsM^^EB#KcA0@s8<_1%GN#a+X z<W{4VQcqUD5LAZGl>H&`r-XJ+W&d1d-d8ic-%NtazTaGqFo|G^5Q!!dttrWwrih<G zcO>c<)OEVeQCAH$P_7kx-7j$N$_l>j6MV|F?pJ6~|NaL0M4|3;xCmbWRjd0Nz5!}d z_dR?DKfsUh6X-@pJ?&agD)qXNQBP0RQ>6MJz4ut(jcfcjGW6bK9aXFEMaK2rLH9B0 zdw}j^)YGB$ZGkG)Q{sC1v0e$#kM(G=*4Fi%pfg-2k2=)Z)WxTVrc8^avIf@@<SVZ2 z$h|=>-7GEJ=lAXR%RNmex^7o%lzr~MGDYn%D%dslO1qS~{nuTzxfUzE3;wI#k@Ikf zD~ZyUec=x}@^9it{g=P)m&g3_4ZnQTFW>UZxBW7W_q9w}s*>964@mb1WcX#KYM_~z z(N>nPQhT8g@?^-$DxgSFv##7gE6c`LqaeDw?37AY1*a9a6wuN#6twI^_z2FxSvUt8 zhxC8hr$A?x)l((QwaUy)&@<zo8=Dz_V)j!SuCm<Y%!~^>FJhgO@~62IL!NRu$lQ6g z9DfJ={{#-d4{C3wcj+1Rd??*r|B%LE{ln<Fd%T(6wQ*2X0si^$pshcJt~h|GUk(d_ z6-0eJx>28?&=+9^Y*iB5z|QrDY>t9{I=d29!=pO;IAGB0pOluw!c(Ao(DiF&IqKKJ z26!5nG3%KzE3{^=e-1XmX6$kO7KKDnqf0@}ZsOmg%?viWjaqcjqw-(;wR3CYci(F> zGd|_oN+$|hDSfNN^i`&Sn>;IDfn5}<ayPsRFT+0A4+r2Nyrv6|sCg<6!y9lE-h{W{ zZ8)Kmsbo08-}se!R9z{n<hIc*?ry-FD(<Fqg1b5JLV~+-i&ot^^q|P+Z8kpMXvDj@ zop?LJO)cDg6uBo{6T<x+%guWR?sh=~lt6o)|GPU$bdcyQah*gLiLMf1pjf=$;BF0= z)bki2%RSO&rq8oQ(SDZu<`6UE6J2$;nZY{~?puP)jB;hr-^{4sFgS1+7&r_G9ER#( z>fcjeol+{p0^!30hj25aiVA%ZY^EOzWRoHbTloT_;x&d$#VI%eZ_{KI%s~~Y@TP`L z1%seM+l`82SB6Z*aeN;rs0^~`vI<5>g}xf7$bo#w1IA!Q0eGPhih+KrFi--#Q<L(W z^uko0q!5)1sY-@aC2#SVN)M1wWtIw2$q1{o$gwi*N+BxK@#*GKB_pr0SbD>_uQZBF z;*}J;l3G<##7at6`9EMRS2BhxGl6kjc@{pV$&$&vJ`K>k`n{x3kG9qChdr`!^%>x| za9a7)yCH{+>q(~mFd5fpfgab@qk;9W!!e+y^=M-~+E|Y^)}!L}D0DroTb~Li$-EC; zHCmlxD!wA=3MM~mABCv+LG8ils5nDL6~Du8q+f9v{)CThw&wny*sE-dPh+W~Tte+p zQ6(XZR`KH%Yh3XY$z4lOr5f{UH5PM1rA>_`lp7<svI#KXR5k-v3Y9HL<Pyi05C*OA zYo@NyL|mbHq(X{Rp;@|;7lzzp{FSNHqnb+WS7m3JkIL(yJ9LE}&=XiLRQ86Of(9e| z1_$XTMdgh!0Q$keL5M*Tx?+gRI2%SoxUL-w<6xvF$IAO*sOqc9v2qy9RiPe$i7L$; zn51Zv;dZzUrokOB9cI8?Fal=6-Jl(I<t$hn{2X$L?Rh%RLnozt-Q<qIp!!DE?OO%? zpo^C`M<l>ncvPRpo5~1y8Xn{C4mmt-Q#-8Cy)Cu#Bd}2=+zPtgS*fhH0GU-rLKH-U z9b#b>I3Nz<S-G@vrBdg5hFg6BWvDNfC}g(z83S`2p7YvxpT9vu#_K*gWZ|~(=2go7 zF?HVYQ5E0+hD|7;7Xd+}H>nz$^xmb5iXeRGf(1cPinLGynq;$^P|`yZs-Pft6ulHL zn?U-epnyQiZW<^cDhR*ly@BuR_s4VY+_^Jzr<^%+?(E&&O{)7r;E7@npMM&Ac)Zxd zqs1Qo>Wz_yVYBSG-oD+l1wK=bPXYU3?7<H<_Jm-u_8fsw6|fU{a@n&RcyQSh0g(^| z@qqtq?AZqUAp!Qm0cxg4@Ehq8sajByy(O8!H?klFSZ!}$3vT2B)BVP;N+7MjQ2<xq z8vIT#-napIAXn^$3vQx8d1&#Cd!W~gZZNNI{0nz9E_qD18`9<*#S+@Lxp7Mh#US1I z10FI+dG!c9B5z(r;O2P>>w*fe3QV6orp^s!TpqfR#}vwA`s8(^yu24Ax+_Z$U~9q% zo3XvjVs>%pLK_LW(0QygW?n032_2y|bb`*%1-inEO4&y#`>UX3Fq5~~!ZyMiikU6( zCM;r5!j`~Wu%I?ScWZ?C!5lt(u2n^^iy2{aVVg2+h830hbifE>u)|jJNA4Ux;QhC- zH4>{N)=GRNu})&W#5*t_-i4*`9yMe7<uS4H#)Cc@&C|!Cd4pj%422Oe5=Oyj7z<;# z<K9>*vo}u7V>ae}44(iqG;cCYQaQ}byq96xi-<tL2;|L!xw^UlW>(fs^{HZ>_G0p0 zlaOJ^Tg2OUdlM|?up&-cz=yCH-c;VrumwI+()G%|L7_FU8vI}_Y=yVrZQbP^WqcQw zgBp(s$Xfx-|2*b@-YRG=uPV<5I3i}AoS(c<;FC5puYpQv2u<K=cm^<@dCvkyBX65( z;!np!{$zF^xak6uzah$%;vmqHqLQ0y1a~Xc7TQo=a(n0i&v@7Ji{;qV;`ez4BfJIw zs(Z()u6Ip8JR38ayQQR&Ib6l0sNg<|?n1Rvk_mM6;x|Gqe!(iS8+3;k06k8|*e3Ua z-Y^KLeR9VNMpQ#!(J{i?;BJMZd*Pj-6N4Mx74VV6pY!RDM03J<tJ14xcW*-NV41R^ zNa5Yl!*H}Iyoa*&gg($4`a(ZY0lZZiJ_s1o@WHy-Y#0rrlxr-EgAq(~BYX~cHq2Pe zjqstcKsTEU6LqtBfOZ+-lVKW6g;(HJcnzk*3>XeGfzNouX8|)Ud@(T5!dJCzj$Dm> z4PT?uv3%j1!A}Kmg>A4=Uy2EjffW|dHvsipj^XP7uiglcg^yLEz3_=LVwl6(=Lru2 z8?fIK&JIsFJ3Qg+EroA@58y-C4f|Ez9{m=%5sn=W#}0>or!R4Y|DbYzRGFvXH2e%_ z;4GYjU*J68q=hHKVHI*zeR~1Ef-jZ*8~7H!Xo^UN&%9dcu2L}!xe=ZMsc;;UPz>gN z@({u-7GcyUk}vxik^4D`<jAl^&Z5{z1}Snb%=8(KJP4jI{8`3Qb|eE3`2%G~9)g9m zB=RuG$VD;+k#7TI5Q$brqC$~qPvm<L2Q!{Wyw9*iYI`h_MJkg1j{Hb@>Ags7XXKjt zwd-?G<v!p8UJPXQI)v%e$QWf(MFT50)qNS($RMxg%580l2$8T!_*s0FHncTjr^GIa z-4a`1HJ}EO+rS^T!w!gt1Ue%cVyR}BmdY^3Ba9}7@yug{spF2q0eu@K%!GJN9leko zrmXC(7-5W@=hw`_cqPmTa{#Y|8T>w}5ypsxF??Z+TG)5+J)8ssep253a2n3QS?aTo zqm<P72I5i$BZ9dU(Sz`>mRBj1zj8AodUJYtTs_S%-tINRuToINa|B#aNUHE6D29BW z0bJ@t=$fkC!~0o+*NI|*G$J~4!f!Pg5nTw}QocXnF5HH{;2!)9|G<67g9pIoi4j3r z5z5Wxi4jp1s7r*GrhP<n(s(vcJk$OWF|BpO7Qp6-5y7BEuz6xc)CR^sqAn<7184}1 zpfM;{6L<zt`iOSWp2D-d_~+_s1hR?fry?gne-)_~4}n226o$cY7y+Zmk;`#3jA2P) zo85>QOQ5F$`!^j#PVzCk7xiJ{jF4p?uM1IT5B!1TNw^)!OW`$OG|c4JVFpZ-Pm{b1 zCaa%mwV6BxR;mbAsN~t0_GFf*<o_w#9ALpro(BtI5xfbkh{>#Q$uGm(@D8xXC9hH? zUN?KR<}lsM?7=pm5izs;{EhO%t397GyC3(hQK>JNCR-+$-LG3%;gdJR7S)1<%uL<} zI}{kE5~u2qF?nyKdt9aAUbVY<@19NM%VzgG9O5lz54J9hh}iPBv-fI51Xeb?KT>D! zRiqIS<YjjM&LRgQ!fN)Y#37{oU@Jd_mLGQNU?wN1xLxH@yUU{@6%}UosLN%Z#FDjS zY7$1gVs`(F@BxMOeVK?ORT@j@+|?0ZqFxav^j?|~@wLL=NF4WR<nxp+7fX1)w_mw@ zF!(ipBjPiqxoN4U5=)fgq~38eB1#qhp}epkmBx_xN#eA`8HuwJ=Op-@2qWT{guZ7T z;gE2th;Xxq6gff%Ga0YlO#VXRm<0CROx7-1^4A*wZ{Rys<UdcVBKuK5WMztqtmLUk zWL1TIB)lHCDsq5s;+a$bf2$rT%@9wkA_uCJnx0lg4pO*Qd11AcroKd7iKiqQNHmma zB+*!c_oj`=CKAs`^sP=UPr@nH`v-kMZA3(xJ>=q?fwPMK1p;(omPTg-EQAFbnKxlE z%wtc%h}Z<P^<X255b;0Qs%(D12O~zrQjNuCcu#qk!Af`^SYsnTgjKK_*1}x)2-d-R z(5FSodc!a|9kidEoCaBt4LMMtjxPkBW|A){#czta4A@UIIZxsSTvNae_^QczFiF-U zO7cx^<59;$R5x-W_AYXg=Lg&)^`UU`pKx1&yYP<!dgw{M2e-%&7N#gnXynh;%<etu ztf;DH_fDKAnce$wNMtJYq3Mwq%g>X`59hp_w>EwMt=5|EiTuSf%#$Z9YD-(MIt^<! z@vdYseT(#CybZj3=-0^8II0v~i*L$n@<uu#3$k^R>sx+DR+Y$K6+x4Y$jcIJd>D~` zkxOPe(#14y$ql1wlxJ{LH@sUTvdHY-jzd}bp``q9v;1(Y{P0Kl;m`8JzhorC-%m=` zN)>t5Q_09{PwC{k#D8#~r1dyHczk?F9w{+fUq+OL-b>MkA1SS%4YXBsMYFp;3r)e} zPI(SIZN>+RlCDNoR;GUXzEoH;miyAHM20sqhYZrix(I#^)ChCZu&^9pT?ot2dKu2b z6P8lGUYajar!cux&nh=dk$x1^2xmRgkAfOuSK$U+gFMKG0w@GGq?4E;!dc+Lu@B+Q zg)mmtup(XuFv5yagzy>!Zo{7{kJUHqFSzwAS85T^&%cC~0ty&jMYaBy3WVKPw3gzE z93OI2^@s~c4Z^X+;q+a&k0M!O!*Qv?w2n7Wm-MGIQhtKrpk11jkuVB|3>%0vV1g1( zk(eZ*ACXDn$tq<g%utqDFdL?8$1vqX_@5F^d$MDg@(O2b6}1W$Xq0%COIfJAi-2V= zh2<`VWiEwfE`?<-g{3uxH8h3gHHAeph4nIJ1*}&wqxtyFqXq-KhI`fQ$y`rSWzXr_ zX$BOlo1!;YQqI6O-Nqk2fgKP4JhP?*ffa0kbDUy_5Ea2+jG8H5LKH+QJL^#j>rqO$ z*7lUIVb_zjJ!Lm%-z(cUkf6JM3;UF9KOBaG@F^UDqwpCVgD^M_U%(0Y5l+EI6_@FM zou+(%Mnrwc*hT#Wn?X-9QCndftn>Ei!(qK;7;?2fBeo1+5uc$9Ye17Z>U0G&wG*pu zYG*2yih~#Rm7?{C6Lkjkh!Yh6!4L#CutNxh!guhEvV7DP!KSSdbp&D{T6y<E97NV* zx<q{jY}!_}RPnBh)<%T^%byYTIsBrV9s^Su&%*^sgo}_2nzKx@s04_BeXt*7aHGDb z0lv^(Cnw<t_>q%6&6(Bp>9<Szcb7{I38ih=bP>4^7>Kk3aF}appXwSzl6D9-GS+F^ z!JocKW3wX-HA&lA8^Ky;rUgj^OKkG0!xNmD<_9|&=CobP!RV(&07ID;38+k3G@vnQ zdtnR2K|CZ>Fr8Lv;8b}|saiVTU;13CkiH(4z+wtbXCkD(11~?-7`YLq*5Wl}y`P^x zAGRp#CYV;4->fmy{ooa^#>)CCI~VCQB&JKulz2me@7$Z|vnAHRLRbszc&4wTYM-ea zeg||r?JG45B~JSePWZG(UWd=6^3AA28oHZSKpoO<fJ1>F)ggIsN_l^RGl2C-I}7LF z7ce0S(D$?ppbx{-l9fLd*ab1uGSJhsOcmmUT(|@*QDz#elbLpvp40m2jF5<uh#|F; z+3Ad<5l-&uWX?GcDV7Q6WWqTQXx=)hlGF3ZCZF7y0H*R&L#MvL<D{BSp4Ln!bJ59c zc76r)gOh%6qIu4fz#Mh%2j;1hb~=BiQtsA>A|Hg@1Lsaex>V&3+@`>^zu+GHp_eJr zQ7-3h(xjEDNA+!@v@)Wlz3Fv0xld)%>k@dNy#H~c#E&>~o=);~Iw@U=suF*TBezbk z2GyZqM?@o?4F<hbkS;B11zI)J+dx}ru6O^^hl2iFyf&3eXU8kOw`%d63Lgf%No1yX zf^N_So`)B}SIK%nPv{4I6wwU&!vGivBUH{vT^R?X6&Md%QPQV?7L;^(Na<G4v`Dv0 zgsMUGZn~!{qX|T*A`Ei+UWlmuG?I}{*EVH(g2aA_-I}9%0VI77Xgx?j4cIO-{ZrND z3>;BWXhk}vH~n)!9n%@|^e=%SPiL6Zzf+cQ_yHL6bjCaVZ{SB<%=FuU%BH8NsC3AH zi#{!ocY(hv;s+fGBm$o)n&~J&dX5sK(dn1rSGWS`bNcUa4Q>F_B0UfCb^k&Mw}kX6 zy;KEAQ*P<(&k9D&mlcfYntq1}eNCuZ9lyP7E-uF$#;_t8G2akboj`OgtZvM=1Zrb- zqwxTu@jasPMWT7gj&2Bz;As*ahc6(?2NA784#0l0#ppJN0mB><>s8I{w~zp)KjsL( zVYz@KW<BOJWr+uM=zaPs16|8tL^8aneFlAzp~#B-y1ALro-_~CSF+jZD0)UGT9(lP zsw?GlP(#_6Oc_jw43spZ9@GbBbOy62qY+t|8yToX28y21L`ASkWM<%|nHkL`T1m8l zVeq_8q`w(GBzmcG()tX2xRrq}XADr(Kt&Bfr29+kkoZJ#uflLOVj;W)<CJd#OoTCY zRmnGDgnnPDii#QuZ!7C!n5@9-s^1cj1C=oo{s*&Q4$OslFdwGEXm}Z>!7EfFkWP+j zyosH|sL?Goz)@qgCNGA`FiA`6RCpOCU~-J8w_xmJYhy%><7}z2y$!EvMScgSE8FWZ z3ueM>;OQ)C4$Ou5Fdi7|D8@c&5i~(hqMlJ%gP;wxRx$0MJ+#zbS=11CR(IE4SyVF^ zp&UbDg#z@x5!Ffc7zTJLMwGmi7oZ#XLU-r^J%MMWD9nu!#U4^rf51_X8i-fGBuc#w zH$a~YrC|?KOQ4uuPG#n#-h|ACt+`Yah2O<<#eiBoLrY0g3&835&DFG81hYK9xtf~& zEMa{KDK%F@U!O|7EOABRs>B0u!GG`&(8jciAQv^Ql7#9~6?}ApMx<)3OJyiiQKr<_ zV1{C6Dt0=&4m=o|sRMwWEHiZw3<f=kr%EeRd&#}#*c(QoPN}1m4pm7-CsW4)rZyF| zOhqkICjk~WwGW_Dsi;#b>XbTL{g|cl=BSMM3eA;RB(Yd^2!dt6)3}-XKCFOu^`{`I z!LU*ZKa^N4u|y_V3vB9J5UMB}tXJuF*q~B2!WQs@t*{OJVLN;b@4zPz0D-Vu#e_*{ z#ZT4RpBf{vR~0-Dhv1-!{uGYD{@NJeR19$HQ6>Cb;<!YdDyYw@Q{zG2M`{wBR)AmZ zHd8OaH!A8|!2GAO^r!v^r{E{}8P38!I0wIg$<%zGA~Kj)X2vp!m5>h~=%k1nX1Ek8 zmMEj%nRN)TFl5~2W*Mw48UMg-Jw#>7$o;E?H=jI2W!xgVAyJt!e(b!NnM%luOlGEH z6~R3+RWPcS$qK4(d}P)j^`9J3l}yw+Q`SkoTgJzv%s2>)N`_5U2!)-nuKqK~!>~&U zKjO9e8Vv|A8X4;=H{wni^m4`quO`a1u_<DUgrCG#iER@865Ayb04>U(!!q{60a&A= z*~~OEG(H&`pN!)@5ML<trNq|~zpLZ450h~Pu7U%;eTw#Ed`BZQa)H&(%s2z5RU^hE z;}`f@&0wL;_(8FZU<RX?A)hbff*NsA(aDewsgMDg;Djv5f#2XV@Q4!Kj*stOPzU=$ zcc8wRz18b4QfOvR=tYv3ITmnauI0bTJ@Q#o^7}(CS;Oci7IQRbnOfa5wYq1b5=L}; zOn5YAHyV={-4z=cjs1(p_C<HD-T{eKj_#mcGwf&dbI?P%Uc_ofW2mFGVHDjL1_DMg z8hac)7%;xkLt!{{0-4_EQ7}#cd@>`NUGM1e7Ho6$M4e8NVC{&06{dOqJT3Zl#Wm&2 zW-Xi9avqy<GoL=l=Zcw+8Ov-em1_;HXme&;puaL(Y&wc;qGs|^*QR~a!Dpd^VlFZa znaN6?0(5_78ZZQz3_&JCkeLmgf$bbKvpIBuuFy>pFL3LZ2;>i@pnU9T{t)%|P#6ir zVHAvpF)$V;k*%M_E@wM)U^Ck#4ntLe!QPUWG?;?`t;*C>N2a{jOfqK5d(9jIR}>fr zFTr@2pjJ%O3pbf6eHu)GS3vzjwKAu}8!%HhVX4n&osMpyf_~>jsb|ANm}jvl&6}_o z=BVH0zGN<0g}BaHGo8JqyOmb4QC4Od+*Br+h(CF_@I2qtAeoaPabg9WwH0Uvbrjne z^kCp*f;gF=nRi<%Q42zM_~}tysZaQx+V!^z{s;bp`@jm9`G^#(a84CQMVt*l3!Rh6 z;l%nlHNx_EoGm3<E1Cgub^<+8I2lDJqv-6wj4+*ykF(7arE;P<P7SJ)A#=(LbNW&d zCu88$8yrq1o%2OtsyX{WUtoqgnN!Z8Fj!gI!!Q^QBdCnba^^BMXt{b$raDuLR%ReQ zlNqE&TEV8M5cT=I8VHs{Bl;6~50+|%Er<7EiMMAizh!B~$wF<s$hV2cC5omDBRU8+ zEAXKvs1;Tz`)XJRYhgWXfQ_&T*wcx|g^S(>{;(Z(z{h|Zn3=n}A+!``9t16inFr(o zWFA(#K2;lzz%lp?j>8vl0=|T=;T!lCA{dcO*0s!dh*QpeupeTj4?jSpK2J6?qu^)V z>PKJ&%#4BW;08U5xiB-&P`@?``~v4x)_HJ1BKnn?4<ErASPko7Ev$zPun{(apBk}Q z*|)%U*akb`WB3FDxKSwV<j#}1p>vwVs}fTsrb}$1(oR2xDBMZm&UHF@6K3dZSI(JI zM&^=pKFs5O&V{fD<}^l7P3IemodwJ;C%<oKI^R~zJFpCv!g6>YR=`U55NMT?mO2;1 zR^8MeXh@3YNy@KOEaf+avL$jQu1Z{^?3C*y)gy-U6Gi1IZN5T95-y1ni84giMud}R z05ePN%-SNcUg9H!GZB%ZCq(B32{||^cO?EqWT_pgkcR1WYTv-A+BpA)-{4nWzXDew zx7Jh0e<8!GM)^O8Ix{(Ys2um<S|!AFWw`<RcBu0KxD`_b7$#>4+yrcs^AC`Hx&s(@ z=Uw;<?olys>XL<h$dVn&ss%MECaVtAh3Y;{keH3EDl!yx>7cBt@PblfNwV}Ezbqz5 zRzqcL1Snq?BbwC|ut!<VpgFVz%w1M1Xbo+Yv#knjr@}fy4=n~+Jpm(=g|W%%3;jHs z&RJuWipA5+8YMA8Vvx#^;mH~*F&-VuLOrsk!OJS^Rd@}iXxAkRjmeszcGS~tC&FrF z`vBflV5W*grLv@nS!iO`TtFMM=D~be01IIWOoq2W1~=<niT5N>(X4F>Y?t_0B0%B` z-SdP(Sc<IU5CK7&99dRX{8QKs+ThFzgK!8{S0066#o8bQqE%6Cz-7fk0>lBfBx^q$ zfP-)tut-^-LnIS;4-bvevR_%>DeL!~{RDBaS5`6sRK^c7pfQZR5p8h#jZP!zw%WD% zfdfA6F``x4IYpo5x@U4o^Rxew_*?OZlu8!runPVZK8K@lOqbc}h&};d!dLJO^W+|x zQ~r^-kLQu{0L4sg4RlRvW$K%%2oxyQTk|8eEouI$TB%x9`Y+`n5&DW$s+2bsEl#aZ z52d!_(j&`LifaILWojcprBhLdR5Uad4NXNmQ<bI#prxs;paT`*|4)tRXwVi8oAJ?} zj#0Orq}h0nW)^cgOJ+Ljw8U8r%Q<-@S-(IMoQDf=5t1PV^eCE@t_(TcHY>}c^-e;V zf~;)#9WH|lunJjNg{<o!la-YR`B0!zilC4RoucDgsl?kLvy;UH&$>t7WlMn`!9z03 z=wz#q2YQD%TXW)X%?CY~W&J~pp2)N5m+UGuMbF^bRh5md&!(TVs{_58T^leF*_epz z`eeP&kwM9(m$MtG2$jyf%Wl&V(N@)9wq<t#wi(RqZty&G<O6myn~9X&PSt2gHL}}- zR+#K5pt+shLv@)7J(af?U>345583^oKMa6@FchAHVK7`-<wj<YmKY1N9@!IMk!rLR zmcqL#br~>ovtQRkShhb**Vmd+m+Zwb!}De4?Ck_+dcMq@{RUc;Jx5};#9WDa67wY% zNNfNMMD|8tsm<21k-dfPI;DUtLw0~#tTiP&Si&w5s>(4VvLhivm5YWL2-D9fWq${; zO1RUjM)@DWWbfkaM@4-P@d_MJpPd9foo63{qkxIY{tP|`tWfrGI01X$OZW=D2B~zm zR61L_lzmn;Lg%v4<m@CBh$?5NfWxClg@n#M(W7isKU<R{8}-fB)?>CC^x;A_N}iny zD0%iJ_!Ut4Y?M9wDll8JQU2^}a2;-_7}=NXTk5DkupLpks?2@G{aeAz=_hkik?3pi zJOB38RB3KN9$fKh%4JMY)FmF_WWV~}Lw|GpmFQP4RbdZR!;*7^@^kb^oO2lHr<^Zz z@~y;|5_&4m!FZWDtH|eV_Ivj!v^_^(A<NkZAz-JCIXi*z$O%Swat=U%Vgtbn=vdDC zuv#zFnK^6pGM$;T7PFJHL1LZ6Mu|-leiEA{5@3aH|AE9oU{G^*(+)k*=2Vo>SJiX8 z6{;+uZLgf_5?dwow4Ngq79|rMRU{K#i72$uh+?bGh$?|wPzIj9zD?i`+yy=ok9q+A z(q&qFbB0RPs)1li<}ht?v@wx`(a32A^(#wTbDpxaLCUV==%FO1p+xP+|7V+n5y@$% zTK9qW%H9F6|2Y_r9PC9-SLg<qiyU952i>6uXjk&G*-u)M!*n;I{$ro7E@x@&psnX~ z!w!_5_8cXrQDPdUrBQksC8klL+_5xDO{285o<K{|c+1I5!@8u=?P)EPvo+9)v}Rbw zw7$^9<D{q2=CpyjT|dAMrP21Z-cVnWPeTJ`XQMyrAyt$y%8@b3k>8vnBbOsrK4-E7 z1}bN~0$3>{>XF&+HJwbCm?1F$<|*)o#B2#Yp5!b*qz#c6rc+OS=5xjdvzazsi&5I^ zFdJsV|6mTxg?aF%YPe8KP}%}`8y3NP@D8kkcVQ`@yJ^dma0RS{4^;RX_z>3W<RjHX z+L0!AElur7lhsX=&z7dfreW>VrYP{T#4CuLMG}k2pR+`vcO>-WnCk=8bao#ea3XE{ zPZ6lFnIi-67u<zMaE}xfL0PG1E+ytxlF)R>ttn9(^rW3z7wR+8xeR|U1DPx3)n0Qh z%A5PNKDo?AD{`NbUDK0&ZUcBxWuPdzt?1ocv?Z5)cQdyQpt!lHUG8&$s^xY9R4o^k z%f%GrqH?*YTrMh?i@xMOQc+XkWzZ*fxg%B7C>RH0;3XIj6JR3Hb-9z2Xqq}kU6;%F z<TA9mvlPv^=FWwg+RV&lU~+kjxO|DoozB^M<yZ^z6?jwk{0Q{nckU8kpmR}xTn0NA z1;||n40`Sgm;sD=?gzkd=WeRW=lv=s0IcB0zl3nu0x~zb*jO`H&sMoM_yp__Lb=-Q z$qm(&UFsZOY%p`bhZw+Eo4I=-4kBeia(@6`Z1DWbyO|rtnU<&AA0a^{?bDf_#dA-A zp2u^Kz%lp?j>8vl0=|T=Ap*XEZ{a&Qt4!y>R9Oy*{t}u@xq~s1x!T~$9STW35Lv1+ zT9<nTF6$DjR_-;p;9b+BIu|X{fmG#Bm&laJ{y$yH;Y@2-?%$BFy8i<ODya~P!3`x) z3T1E;{(wvHC)@^XbIh(vh~1d)m^~1I@rc<;A4}UW)t1l-aEUft(k!^7Md1>!&c)Dw zm#{8I^!ZJ;g?{{|#UsMEmEC}!6ga2L4zuq=^5oDfMzpqLld2$!AOq65akLY%AeE*Y z(X1lT7aq6Nh`z|#EoCi*OImYSU7~s5HKKom-{A_dd`Dl08^FpPT>vQ{=hg*os*}i8 zPfQYAfMh;}ib<j1y<JuMU45|hmrkD}ej+Ci6wM?vcuq26Dyzx-EPy&oK^}!-R9tna zLBfaihWMeEM$BYCwAzUN+pB?B?OsGg|3f6E+K8C~EflCnD`KWXeU(g;W7uDg!OF)p z*5zjaw<Ctv$6}g6D+;;Ku{E@TwmeqEw4)PaMnG5SqH>-Gww_};sS{&HLHj427}J3> zEekQDp{H&?26`!5Z|Dbopg-`TT+BdVA3A0T=w?G<7z~Fr$f$<Mw0L`a`%N+XdZ}QB zFXl321NPI1Nr$WOyY9v)#9U)3F=DQR3-Ul?f*!;a1A`ueqh`e1RuBK->1SMtn7fKo z7yb$Vf_efsBIdvLeziC})IeyIV%q{Iu{>}Xu?$Nr!xCGWKgTg*+k@wa7;Ag`(QmOz z(NTGtO4Ol-vGh=EUB%Y}h9Z_ujBNxAO{~h`X*L#>iEXAV)G@Xtw1U=Dz`?Og4Zq#G zWmk*eUZt7mw-?#hFAmwq%g=Mu{+_b|9@)dYPIJHI-g>n+wx{KJzvY&0gr4V}_}Wi- z`z`XS>BEtj7d)vKTm10Zjo3ky&S9ZP4u2du<neKsC-#-cXQM0oMXG6wJh5ZE{G`aS zV?AdRJn|)vocK8XWY5_YkDTg}FMH%`9@*VfjTxTsbdP-9BWFI&J<D@8`|;VF@?*?v zew|US*tcORtb}D2_1^oi0@$IA-2_|IxKk3_BtAsBDpm2an0*g1%CS4JHT`6GdRwaM z&`0KopUN|0SHnB720l{Gch#SP3R&wSf++$EerXutpTQ0x>Xk4ERfp_^aKIIgjetmq z0v_CBJzc&}${4#}MQ)IYucGrfIIPppB)$Ngdm}ahPQaJ&l_I`@Zx#5yD&jPpH2bbm z1nbhJ;UJIh63h0b5ekguQp{|LIXKFi9<N)x7jT%VxHC#JkyY!`c!efO;0ziucy>mN ziHJQb@r%@)c@~=td|+n8rUG*}HmRDln{s1K{lx>Gi4l7qH2GqgiLqGa*evxBQ!<u^ zeIqspeuGPJS;?5!u^8UiYj7Qy%(01(4+Ws<zM#F|qV60QYECkFV|k;>h`j@UQMbLS z#6$Rx*u51&<=&U++N&9N?}_P({hJs~)4fc>y_KogUS{InD#}KO?q$a9tp=Fyy=cnb z+E52HjsN9XA5>@qXihOP0l<!%5rgK%Eaidkh)$Nn`|wuHMrJ=deG<bTKHGI=ksgw3 zdHV%f%szk1+P?{&D^>z48KeCiS5vW=U|2)NV%EY2SjXtJRv{Y!Esybo&9D`gz&7w# zf*n+^CC87+(GJ>cU>jSsUwWyN!Yoo|&KaFPuMmT5UV4r|5}sTR%Y4oSMLR(c$~oD9 zkC2ltXCjB?KPUN#?~s$i*`G>{N09RyzC+F}kQb7JJCbu9@J4cOKpx~n0k|Ly@GEkP z0A1PJ7TSTTo3H1Jd^Fe0pCd63A1B`r-hw5Rp3n0@{=4v|DwV$l=0B-a{sPXnE8A9B zPNnj<!TZX#0#*T@WBzKuFU`jZ&Byi3Uk{6518js%@QI4CNrXu3Y=_umsip8i31+RC z&&)RSBPF6Gj_@(6na@-<^YQcYk1Oz{#4gXT`sIJE%WPzt`6ngfbQ-VFj}i_wl|IR* zfAX~zn4bZekgWZUe8wj~QBBo8S$-1W(U|#oX8Ad4D&v!{2abGvvwX%N|2Mb_j6*(N zVg7Z<gNwj;<QG68xKs>2mst>^FEW?~yA;8iY36G?H2)t7z0Ote3@CvYw<+MB1&XYw zfhgdaCExQpm!4Ac|0AX)*$SG0Ugs)k4sy*4YC>J84fUWtsDK8*6H5Lgj!#2lXaa3i zOgo7V9<yE0L*b4VY?WEix%|+z{2<*a@We}j3Zy^<y(9)o43-!pp*@3w;i}9C7^O2k z{1#vX%>ukEvj8{8ERb<5(9>eUs}j>CW=JfO@Re8~u~_0Q3H=0Ifu0!)mP@RVc&8d- zokBdY6s%GJ-78qDz-EaJ%Cu3TtrGqcJ0$u`=vl9zuY@%6o~n3HRlKJ<-BX?JsZRMn z!D$74mN*ON6krWA^G&cqFkq!W_}hF>@6Hq?aIqj(B2FS)A`+q$V5u?-4puNihFCB7 z9WvXs+~N~)VLQ(R=X0aeYH-LV!A&LN8K&TC^(GH71>eKxl{f9*eu%&^%Z{lWzQ8!e zF?EbMj4FQ+VZ_zrB(UNOJ0Dfq&ad7Zffk+n?abbe6CdcKm<~Y7KpvBgK<sZI_BXJW zOnYEQsP=fy8-ZBUK<t_k*a@D-f(CYm#>$3`55)HkYzi#sfh_?07}yHh0Omdr;}eMS z32YDDcUAUOz}IV+x7YRz718r?RIkU!sy)W+{KBW%_G7%mXasI~Tw`x9-^z6cdGFju zt?JhG-v0P#4!G`VSYMJ>+SS!l_Q#f;nU?K5h#7%fALkysi|_AjPpzc50hM?DS9yD? zn&H1Q%adcE*C?-@-#)I-pj}>`$YGC<LmnT8EAz-*6+IV6JwA@!RndEUI_ppze`w>m z<(OUGo)qJE`REuo^>O@5<gQX)!?=l$<Ip@Ka6);)z=@BK_zFhgl+HVU^%OHzBeeo% z!0YO-H((aLhRHGlKY*7Xn=B)68fWrZ0zZVgYT_#3Q&=N#KCmPPE`-IvvKIIjybbTd ztAOhl$Z{LF3|MIcS!n~;)40G5lo`~@QhDbxi#ejc*QO(0b+<>##2n$z2!FEJ>hnWC zJ*BLbNGEersE^qA!mC;M25MV43+BTAU>+B$DQyjjTC9sVd2QCbSqD&B^X5~C!uh~j zQ@9Wo!JCR)0@OFiW2-)^U>xpiF<a>EouKDxnEl!1G2+5G*=_bq<>0GI_cHtAkOcMQ zk6#<n4M8uKpZ6(0boH)2%j|bTJsH%^vZOp;NBx4yH1E&{X8R-R*&1BzWcEiJgP68P zkZv)cvf2MB`Zp-T?3cn};FIzPl^4t(!Rod{$`8ZK4<pJCBg+q?$`9ks{`fpWU3P9Y z+vDrTMXD8FKmxI2EIT#kar@x_?5&T#6!#@p##wew@v2tGyBf|^Tr|jcjr$7DQLVVI z;TPpJAqjZ$iMs$7AsMK2+#!gC!|*AvtQv8QXxvda#!V)$ayaIy&DdxoXfkbP1m01Y zd_hxmZUjw*m(>@q!!&jBD}cTRy#_M@l?_5=gJ#2gCD2bT8$ojbl?<8(sALc-8H7p( zy{#L(+XE3tMNVph$DPuL!$#234m-P;?bS8!(N94(K*NJRRB>wnk1lAXXE;L$Eo1of zqaZ;jbI=A=F%&i`F<xE}-d)gU*rt-V!w&cuK7l}30YQKV85CT>u<FU!>P>2EMPl|T zTRc!5E8(~_i3|y+v~{J#hf0(pp{qf>d~F2r5}^@v7jV{tv_lef1#s4ba`gqypnKrd zhMuaP1=p07-6JCiFFT0cBO|B~iop#fPzq&m6aIi4_!Dl!9k@>sajYjskUaUIhg7*r zXtp^bZu>eG$HLW|SLdp=CY5$*gst^7M%MbAm;FbeP8EFcnV!bi=CrZWEmb-^7RNFL zSWB!;>m#1k8LNSH8?YkiCj_i)q#9OQZ)GFZu(pBcpdECCPS6>;!1K^eiF~0u^mrM; z_*gM9hPAiSzDU<tQ7!8*-~}_oIs!(*0R7swVI9b?Z5!4;{5gVp(b^YAEB8yP26|{6 zuS^qQ3QU5jpc`RBtthY+<+b*Q>40WiXV6aE4a3S8iVQ3IV_gF5sT$U|;T>3{#nZYO z=E-pA#`A&qq73U6SgyqH1LoPf63|_%x*pZFqPo^~un^Y62H41;<w}j#cyEu;IIXp8 zm+Mfd1XVo~<5!(-td7`3sN@vjxE5|#bO3zfwXM6tL4b!+=wEwV7jG|olakXG<-%hr zw83Wm;eq$ImR{a^r@n9t3D8)xB$<;C6|fs?UXns!k1To^L_q{ZLkz?MTe^k&VH?Qt zE<CWU74o1*9`>8PDQMGIemtTS$+;?;CLs^2NFG)pdTtipkidB^sz^PGXrt-60#_AK z0@n@VU3m%>DkR_9bs5kO)74wz1qrp<)kmVA!~o9&f@@IuVT5vyB)({Ygxt-d#jr#H z?2qXhqZB;kn{HfW*Lavf`+E>u;<?dnV&*8JykQqlX0BJ^4|omUQ0`e=DSB7pJ*81Q zU23OmBCxgV#u0Z-g2{?p2{&P?PCOm6oKO)eXSzO+kYnpciA}evRd`+^Q3B`F^*6^e z+_dnlVt!IcZfem>5)&lWOKg<zlfX?di$0QgLqhI+;RT6gi5&1Ko=3fk6jdU@6HsBQ z0_hSrCH|1OEpb=kvV;b!P|q=ig$n7-=|U$V7i!}|HC+C{X1!}Igmcvup{pp8>x2Sd zNo<E5@Ckej2LYGBg;u))!K!@0O34nd>5`Z2+65sH3ha)%b_1I4+5<cjxDEi%qpo$J z4smS+9!6b$pl1cwRyd^c4(seFuq>LcV-iwm7iQlq(ts3cKwO#dEu7Mcy4>}>a({!b zX}WONUB&PZ{0sMCA!s+ibrCKwmt1$0^e+jfmrLF2N{0suJVdxFN_a`ARCg7Lr@5F7 zo^I7pxinNo()yyF5^|%88Y0~7sgSz^A=haMX-Ls12|cP69wX3AXPPxdEhJhg{!`GW z<%LH%b2pc0De;U1Cf+RSZP}EeW1sS4;c+f>($y}C?I$rn;%SK{h{CTW@KnsAK@vj{ z?l#aG+Cn=n>;0)hX+cp_iDrmGtXiSEweX~(+DOO;bax}p{k%e>KxMi;We!tlgoOIT zt^RQRLO|BREt}w0?cAQ)DQ%I`x-^f@gG1NQ1NSBcHcPyu8;w_p`RZn-yV0(qEkqRI zJ(%v9y8ebjxVY{)U{j1;F>_%a%va0;#cWf^Um+G1_nUz2apT>(J#$=B)BP5_4NKu2 zco$YE-%4G5PoZTBq0R1(6$p@6C$T|7HpM+vVwwb#!2KG?2)Tp7O4YY>Ql!j9%3Ktr zYY`GrI#mfpDxpYi<{8_~Y;wow`d$g<l$-hN4kv}CVUb$v${{9RwM$SG^RVz9C(OIT zzlkXP7g1cB7|-;2o($c9S-{VYm@Y25kH8_q-W1~U=(~1f+_jWjQ=-r_C3yI7*HiKu zq^ihK)`4FiF<m~yx@ss?Q=vK%o|Kx)niMWg3fI$0(O4m=nM-Qs#=CX1N#bguYb_Ps z2HI|tRhPcGG>MAlNX(N6lTe2h#c{FJ@0i+vi7eWwxZM)b5;9Fi@e=zGu8vT`tv=(Z z`Qp-iaW{fI$k&Mr+)$*GLTC)K!0s}MJ8(;ZKM_SoBxI%Bcd58rmc;#!#C=^jCh>*D zK?(J{o6RHlLvFl$^Af-7tZ14DC7M1ZLl~YeB*Q=zRU@LPhGPFGF;}O#aEY9YIB_kO zcuV3PM9F-Kg@~eB1cvHtxXw_Cl94(aEiqQ&C5Z_VlMqF92rvzb^dMNGQcF~7iDrX~ z2~fl?R*B~pc${X*GFYyF*2dz_1lV#c*4PwxL=^GVQt~0k4)7e%-zDpnej~#59;gJ( zvXYM^{79p5DAG8TXug+hmGFn{6sp?oP{bz^eI#T)N&+RU5;m|a5GujMC}FCUuo#s{ zMM|V1B`j_wQM9kPE1>wrD1OnG@D*2!zEP6BfD=^`$5r&O=zI8%a9u7I*H^Mci3>V? zfxu5XGbGMPoRh$a6*=HMoK(b*609dh8IY-yEQw@^R76QUB)~qHqKKCz_De`(N)Ag% z$4Xv<R}`3z;JqTVs0t_2yb@_y3D&G+rUJ8cy($6L_>vQfQ6o!UBo<Gt#M9XCl;#R& zC*cReR~2zh;)aCgf$M!*s^zZOM`tUD{taYAiew9lr0Yd8EJZGfB8d`-GKpIfe@fhu zU>+4cBv4#Y!b_r(1Y5twsssa4+!y*mf3-{_H2?-G)nEyYhFVyx78Yaci-##NLPB<- zc%FnbxL6uoEc00`16;g7LbIlLl*AZ`aT4PtCQ8WQ7E8^GrRK%UB;J=;De<AiYKgTH zvh>9pBsNKGme?xcj}0i^u8`cAVvSz06t`IFS}b)fmQof=DT{3qArd<!WU`87{EK5G zUWL~bcwJ(zM7+d4i31WxB|eupE}@|=)=(E~h>OwRVqa(vtrgK$0z+5Kco+W&EbPVX zs}^_P6pTCz1|-7MN_qy)!Oy_@UEBkD>OyacKF|bAhKlJ>!lWwE?NI$<rhxl%lDpBs z;tZvBBHY~9&3#Lr=E%L>C+H&gm%5xQ@vB5O<PfcTp{>Qw5T*idYUY*$<vvE_6{Y-L zB88aaXjUb{Ns72AaUE_zo=yrRq@cx8P&dt!juuNji>02$QqN-Pa<O!|*t1AVzujk5 zzjF$yQ4h&jkt5FyZW>r3YtmF1nn`%dl-?J&;2IfAsFFL0BQv!``rH_pmF^30Q6<X= zlxS*|RF|kp-c(3~bS`TU-I}NFGzoR1n@<`|x4MTJ<K|5Y)2&W(dwTbZPBo277-Kih zFVR9k|CKOICC@@LN^YqH%_TgcrUY6;8)yr)b)~LEJBbbw9VI$T)R$<$V|d(^n&ya~ zI9~NeFcL;wKHN~C0N5ajqstBJ4l-o2iSdAKk1u(KUqxil0lwg91Rc~y%z4me*XKN( z2Ymr2;OMi6L^!0_!@#~+&`BQTgZQ?i5%eP%Km~$M!x=aW=fDIM!3esDv!a<?xJ=@G zMX~i3^pyhNz_$eA*u)9AxQVTs0Djuk2)GS*fbF4xziC;(KO_qH3)mHkdj=SABOt{G zf%P^5a)H;&jeuW)4W)oAT}s#f1IG-|n;ikXQf>rX2l^%;59pr&7qEd8Py}ou1vsG; zR2w#u0&W4DNpVdo7{Tm31wVp+;9vNUn+M-V*ebG-W3$kewvJE@e7Kpd22cfC6(9Q2 z)){!u+N*Xw8ij9c*q&G3E`TZ+wz^c())ne0Z+&P44FE%6*r<Vx#@m{LifavMk6}}` zHbCFm&=<qjfvzS+AYVK)0)vPNWK08h1K+nW0>dC2LiPQ!z%L<KU8QfA1+tqMs4)rr z3i#@U5%@LeZHz#+I|CCS4)(!*H~<F$%?JzuEUgiE6h4E`0j&x=P8U9~c<pLVadGYF zq`3B$$|Q_?PGMXsBY?fQxHjdHcu+>%zh?W>2~Fuo>&JaV`_T;RDQai^iEGyH;RiTL zrL56lt5XMQr!XtGveGnbn65=a6zrzQtS2Buv7xXFsG)T)HL~*EG{YJXG{#E9tOs?M z!|*B4GAj+T(hw_MWu;%NUn_xn$r^(KTn-t>l)|qvtmi_9A<ue+@(P_{H9cqNJ@RxN zzgi*f`JWjh_$uiQ>nD{4RITad=j9#Jq!NFzT)CRre!4|v1cttk4Dj;9%P@j}r|31X z7CyqXI9T%xYewbJepEg9TF6+=GQC1OS?cSK&d|ZgT#wB5$V(pit4IFkk(VWdoAUc7 zM!eL=dKH4Fgtj)@Zz05INxV6}R~PanE|5&xX-$!Esl(h*1jULeV~~Q;RV$Oi`nM`^ zA0EK%@?FR~o?XbB+J)ppTf@qP3T{l!;D($$RDf5x4c;I(g0<TkTnVUKFvA(Fva3T4 zU>*f)*Y!`1jCXKdsE4ZDqlmbF=$VgI*0W~c_jGIq&Gqeq60EWj+=izTM-Zou&jF{@ zu@f8a*aKk@qL02EC{J)(3oqd;)^w;r3=6U&ij~8`3hL17nvNKV2i#Og0_=nRZ~zX0 zoiaM;jx8*zd?)BkiD-xEILt{a1wIATFSuLCJwhzKMlhDZENzG=xuj4{;;by9MzF8? zVKVfEKI)+UFaUaMr!{ygbXR?KyB;t^z4<a|OE`EKjDis`8pgm_Km~)xLob*B6JZjt z;~P93UWXaF{~KLHm_xy{G$gYX!LD!co3Kd5FM+pUfj(~t-VFTixR>Wmo#45g`6~x% z6|5gz4BiUwDcdqw321uo2TH;waPVqa18ZR&%m?;(gEzoNI_5Ve{G_GXmj_!TIH1Zi z>X{@pJCx1!;1JJm^#<=!c(;Vjr?Jmdx_nV0P<`b2CFbhv?wWmAv5nv$rAxE0`WwN? zN)_Sx?cd-Og(J%gj8YoC@Ddy&5hoEZksz^8;($c3#6gKe5{D(2!e$AMLW$nWHsVUq z<+z*7ulA-T;T2wjFsu&6m-5k}refS5PXcm=9DdS-r+pA3LH<o?D`<%xmf|Ut;wh9q zTNl@&bTr6QC`I+mQh5rcjrDJ7EHq{*en;s`iW&pm(B{&y@VrXFV=V0n-Juush8F>^ zva}!Imz4I00m?N{g$+_c!$429rFy%obdqY$q>p3L$1_voYhuSt2d<?<ZsxUWq`~7V zDFMEEVV0D^O(^izJI^JBmR87H<SDuCRa>7`m?byhwqo=Jaegz^EWxyxB~0^@|KL8z z5yS~B#ThImWhqrD$>&%Jl!?h+I#n0+0(t32pwTFu4YMe#bPmjgnfe)}()BP;*B3~< z_T*o{OQ&<@8HWu7P*t;Zi3&#_OW#r{Z^L`=E-ZuPzyn+93Rnd*U^QUFOV`3y6`{wI z((QCxFz=`s@m<Vuvn{+sZ3MfB|3>ArxR|BiD@7q+{0<*%PG~|{Ut<ZT3yt6skRdID zKR`zDHryeb%v>oOJ*AkrQkl8ZJrD*VSPZii3s`E^Y``3wrI@(V6S~_mkgY4lkuR04 zE5+88#sjvlGy$-6rTYO}SBkAGwZmb+oRuD-9bHw-kM$9!6#7}B2u{NpmF$4CD)}5F zf(c1*0q_({lOa{voJy6!dSI5~gqP+*CR~DF;WyBqmXxAXrB{>z=hrN~E|Et~o(FW> zfxlpu7D%`xq#mVwVt?`_wDl=s9EPIN$I_cRJ7d|WHaPx3oR=Lgtcoa5YYKjlP?HKy z(`^N36ru?Qzv#^5tn{t~tC3kM&2^mPg5wvR;=Y=txQS*d4x?H62vLxPQWl`f1s8PY z1icGaz;jnY4x~3|j6}T)lKGDY{XK_SkV1XDNnMD>7qAeUh05wyHhQ^$Rus@31<b61 zTkr?`38+Lt8r+4yK;J7Vz?PZ?|0=7RS-^ZMU@0p2TPNzz0(E5pood82^fo&j$D?#4 zqF0V$U_=~g<aID44yx`*@hqS8tRqQ!#SI)6AeTBisFvfB5;Ja&t8f|Q)m($?a03_^ z2V?KhC^-taX(I&+p@@<6r5XVT+9C9?5@5nH(8Ef=7jOcOYB3COz#&xu`yFr?m`p}M zB7CdF-@%V?5>CNS@G}^222kRFvv3Z6;pVsZ)!y`R1;bvsrrBpdCE2S`6MJ<;d=G{2 zsO_wK_68Jg$CtJ@hWffvchFc{t~pK#d@MZI8}=rO=DEdm{6{|~J_~eDBEM#CCSn~E z(T7C+nz@<SoHS2<&D?aL1BtE4me>MnDoabKrEE-qL}puJT~NjbfGtaG1gKA<a$)@S z6A6j9!1kJ6b-LG_>}~TOV0IYgl`vK<s%7?})%K$nb0&}JhCLiw(#!Ud@Emkd+i+v- zouOUbdN>Gn90_|XuWFX6b*g$#sADs58Cebtduw>fVsEAJ7>HD$cjfuI(O7uVOHPBm z&tk*?iGC6Tm1^)J#1M(062l~z#rC!=nf4dJ7rFy3j(r4=vQ;=vR>7ab6csxaUWI9( zTH?moabxT=V7A$3HitUpt$o8{Z^%l!OC8jqHKMb+v!l#S;&UKpEYTM_K`&r^Oq>Wk zpeMWty_LEz^aI{sF%u`l02ruI8sx>CO&ko=HgPD7gi$aW#=tlwU|}|FA#}EFCpRst zAyG@Bjzm3){-i4#pb&Q}>qk<)>}A-PxP~nQ5x-I)xw$sXN8%|wY5V^;v(F_@qM^H- z*6BjC&;KZ3a5cmd7zbl%MA>+l03*EXqDEySE$xs)_)>^xg(w@!*?YSEJD^{cD|;7a zDCbO2nX_OH%!PR{9~Q!JSOjmvL=`bvVyeV62@U@ejpQe=9QeweVP64whxVm%D(!*r zmgY1c)f@J=K`$`dgJ6wPuLWF0J1(PrBWwac*bM>|sMn*a4c&^VJ!PEcQBW&2c&O zWc(^0#A;&WBZ0i}n<zMb3*fQFZ}6c<<9X1GU#n`=!XA!G*rwzkL7W0H!1x*QJE&TG zEPSjIXjQxwXhJ+TAl?Rc2mwq(Jl<{m9tZ<Xyv1f8dNR?3^Yn8fCNa?=HDjSk#QY~> zRTEPId!C3DPRsxX-b}p2d;ex4KCPLU!z=%0qBP;EPHzCqXJQ`Y)8!v3QcGf@i!)kn zCb}_5Wg8S?-6+#{8_Pb@nO4ulBAR6jB?^DmmTtZ=v|de48Yl}hp$t1#)>Nv1)hfe8 zl{HaJZ)m7kOi>x8s0<TsmbH`a=!>sq9iTIGgf7sPvQsVQ8`7iafq7QO94qTX{BDl2 zD7HOxsg16(MSx6;Ek=TYvF+_<zQMG&#Z^Nj!cjP)^z1>{SS)M@ysKlNZ3iuFknwsL ztwkUKzEB~WAhxd=JljS1MmfKQAK-gn(Xg>#*jO-ZEEu+5;H<Lj2NTYNgHhZ^kA02( zzWaju?tk=BBA#a=`k#pDGZUG2iEqJF{iApyPG{m2ef3^H29P)x{FH42yzKcBe&R-g z(>!0oPkcqD{B?=fBxXp=l+d^H6K6@Rg88r-)&Nr@e!mp)0M#o3w^vQOr@bunhK)T@ z!&a)c;zrv3gj;YM?!aC63m(9~O8y@_gv*++6$#`+p0XE$3$C}|iXyIfwMAa#jQM4| z29Kx(3r)PNb#sgT=^o~|2nw|aBjR6_=qu4*Vjwq&pA92ngzC?N6F&xqRcDotp95o+ zaM0slt~25XbB5<`#LtC^v@3odOj6#-fNsRIJjA~OED`Z65AoAs1`LIn@CMAHMs`+d zv%?^|uN2MWw|<QHH>JG{jbYP5fK9OV(8HUpm!kTZeJ60}TYl)L0o;yoXkWs{gOg$7 z!O5@<(uI$u5J$ldHYo%%D{&`S*^4t1KZj3bWY~){69eFcvK@mk8HD2yu51wy15pqQ zdm#?uK{^-&`{97fIjAx|g(EaW4<KcF04Y-~%P7oo2XIdf`!R{%ff2J`*U1-{Mmu#d z?7srj!LD65J9EL#T(Ezq-yE=ChOboXdIY`(Z57$^_zn9Nz~eXU=YR=fH-QOiPl5}; zbhBqbnzAtE?3v(%97SY7He8~H@}eDoZSqu<e_}K2`J@P8!rReayVTf@`r3IKvKLox z$fX*D3iS$MP5R%Ceul878X+|~xvj!^v@}An0(R|M+5Z7F+<qU>aytqef|7?Qi}Evl zLMnkWp`RgDb)i1>2;o7(2ze2n1#F=a(j1ryAx%8>=u4>KlX`@(mW0UT3F!x|6u>MR zA^ic<XoPft&d?FMKv(Dn&x0>ChVIY<dICCVCf)`{G4ZZW{`L4V^plzRcNHniy$WWM zh0`QdD9Ky#{}8BxE+)|mlPwf838yltI@AFC$|O0MNjR2C^`L$oL~D2o^eae74dvY= zVcnCO0=6s(v!B!qSO=15yKNX<V+(@u@DeSvvBhMY1Y>;$ntgW?2!`R6&>Pxf8v!Hf z4x3)1wXss#rYRFM)`k;jW5(K;tu|(=jhSj=rt-sdhHVUB4{UQ`UMIwSG{UwWmcqL# zVi_!l#h(30+Y;?Z+7>*1E7G=*lNGw}D&3bA+qPPn*1&rB2sXe**aUvC1>OW1f^FbW zliN~+-J>X>bZJ?DM382gl?(B#Lh+hh@n4X%y}A`QGYQw)Od1Nqpg;75J|Jf=X$Z(@ zB;j8s4Tnz9S)JcS`MQEHuv{i#m6Cb@3vv?fY7$Fl(g?hOBs$bgngpX^9LV2G8V?g- zqE4nzs~<Q{_2%OXGwEgJkZ<y}0<%GzB}q7UNpp#Hn;qV-(=|b5vl53awODLpEnb}~ znQd=X+PuoET8)~my(5=a+rHJKAJa(|MLA{oMrKkt;Cq=#3lW8NCFU$$5_?@;^_ zFUfThOVv({ToT)bX3{cP3Gc%P@F6w9FENu=MXLCu)v$q*u5p~f@%rX4Iy+>!*=zac zsK^L{?>`BeNmfj^nPk&wl$srOCP;BNEBOjd=9LPCQRUqfT;?eTH3(UUPK2NXA?QHJ zT77O3qGCUMY^#lsRh-Ek35f(19<mjE($;CnHs$pPlq+Nh1VA7#J3_3$TnO>l8I&$$ z7tsG9dmzqYzIa_dv5f-bPr*-WE{5BPFEcwtB{bkHKs`ip@!u-i(AxPsIN&^Yj>po* zV`)Q%+P3N$IsQ7FR=ulX*5c2A$B+(FZha#p{s!=PZ^Wkq7C0W09G?w2kPDaKH^8RH zUxq7il{<`32QCC=ddLJy2x09FLBT>^(w##_T3R7T>)!e#AY=@@&22*#!z=2pCGe^; zz6MP75T<?z(>-Js%!dELTo?!QU_LBhpdQgLg|*c=ntn-FRceAlbZ7ic&f-}Y;{POe zzl=9E5BUs^>R!j-IDG1<q)F(2r+Ww-gs)Vw^YFD2e*-7sJNN;91O_JLCoteJoQ5-S z7W5EawpS`w7OzTO*t9)3cIGy>Ib!LKPb(O!e+vDtN)?NL<yy8TH73)436n_`)YyMP z@P<{G`uGR%9~&a-)?Cy<J56PW;4pkj+Q75^O>Awa6FB4L|FoB_wU;_D@RujC=97R? zXY95gyc=w?2XFG3?9-6KgPz&;m8FVh)4|}sbgR26`l!U`swtbQM&OTLb-ij2^4@lw zA4IFaX;Y=(<@z1U!Rnuy-cNgPOE5>Q_8PGR%N%&hzk#j2#_T#JH@EoDw*=p{XxAg; z#-=!Ao`MAyb)pOOToKfic5-jC>;Pv8GL?b9Tm0KtY;`Q=@ZLI2uk7EXvhAtLo-bEC ztK`oRo8jgEte34(c~dj}o7)<z19F}OvYrHTRm89U&z4{R?QtOFAI}#l0x$cwv^7x1 zD~|&qsF4wv=ik~^_f-P&fI_|Kkn_xfz@HztFYYadV=<TF-bR(;n0aw4;C&hv_W^te z%jBoVF}LGZDd9U${M5L2Inz{+W9^Guhi1juV7>CP%EWC3EKJ-MV0DSx2L7-E-h+?f z6TpJR?b1m74PRma%D$q8`Q;Ti%TUt5M2r6*i}^AuuUSZALTf-xU~|DpSTDgdo)K8k zc6aTz91DGRccM9gE+T_!?8d_g{A2eE$Xi~!yHUNs+n%#K9$DtoXm@=dbS9{lCuNcJ zp_cb<&&Mn5RT_cCN*7emvYQ7#BdE4gCG^z&{;s^6HOvUA<H`8X<HG;-6#LL4A9&;= zPXQG@(&CX`9$7{Cf-03499T-6c|P9~!xMygzEJn7>Pg_^k<~o1!L~cLL9Dlh6ELNP z`pBYi5-AflO3>2@ehT<Y;2awXtVKp>Jqj#jF*E`%_z&0NqQzhCN!%jfajvk14}uSE z%)(*N5uQ_5^Hf{d1=?#%v~UEpE}txf+Q1m)7ztYA3tv!;MuD&LvWyq@2A1(cmhi$p zfJ;z_15h{!+QDGJGbkL&n13;vGRnTC(G4xz9$9R@mJZY~=xP6oy@MaNrxDL$P(qs# z7diqI(~hAGeGWQ88z1IU=qPBRI(pak_Po)cPt!ujDc5M|%4mg-0ck<#^Uwo)0q--k z7xab~VF2hMF0?fagh4P=5rbg}42Pzm+fD}7iO@-aCWSVk=f~5Y^KLr!yjFJyF41{B z+w*_YIp^=fUvSHZPIajGDHgM5I2Es5xu^H$|1qrROS!@g%`%UbbWl)P5qNBH27z=6 zDsw^>=m%WPvJ!am11@ISMb2)i07@$32VBguGT`e;X4!A>J6r+$jI!%+1M;8%*q$jX z1Q)oe2LqO*73loG6yspn&fixv9&l2T<3o-XE<32V19!@yR5)OcTEGsoS@xa8NiLWD zppaJnGJRZe{w67W2srT59eCyrc~K6WN(a7r*%_rfrx;Yp@pMZBdgN$Ohv!R2L&Z1N zt<Wn+6Ds6*2ATtIkfQ}CLn~+v_>>Nm(ZM?#rUQr5A<xr+$LV0&Iq*jv{A>%d1E9PP zW`Uy@w59EA)tgBs9D~ovmn7f!1Zb<?Oma}o+iKk%>XhW!wAbfRNr&O0q7p%$g(W2c z+xKSDckm;egj4Vn{0s)10UmFY&cZqP1qFEprV&2Ca>K|b#d7|tro?Mf%2hB2{wKYj z2lHW;e1On3@Vcf%HS@)3O3V5d`lcqrT3D<Mcq*Y7^U$|pDPWyLm%(yiIS9pR30(=S z2%)S930P|*L7P?y5oU*eMDDQF^#l_3lpj)c4TUj6J(lR8*`XT|`xOxt{9kz<whxTZ zXs`p@2S#Wp;68?0*|{}B)j+lnYI)bF6|ChplyxH1Q|4X*C)9vAV8Jj#SujGs1J;Vr z@8Kli(1ha9goXkBuMvuen!x=MVjxx#;Sd3lK(~hCAce{cNjT)GZ|EU~4=ZdYY4J_? z)a-z+B>hJ42(?d0f-m6&bx8OcxPQWN^?JfZ@cfTvH3E2N33}BmAsO_#SppSHFaS?0 z;WV6qvw$y`V8SuLO-pb<BGtl^F+%0Z#5MOuv_Pi{t4U~&J&9?2vuTC%dAH$CV8r&L z`v-j7JnmG;n-$JKnro@x=y0J5q8KtE!wZoG*^owU9UV&HqI3kUb#zFEKa{NueyxnS z3BM`ZWw-`c;X2%aJjjPaNCg+Tp{Rnx_bD>@^2I|w>v8zj1-@<W@a3E44&Nrw44Oi7 zXaOyu6|{l+&=%T3`wHi8yP*h*E1WN5G|rd(in!CA@;bgu^E$o{Gl9K)N5@$(8>Xvy z9aqA%C(Y~l3TLZnUdIn$p7MVP^ObD@EQUp}1m1$T;T>2Cufcn;43<|o?`otf^uP@~ z?`lj`XVqgI^nmUvuov`(7d-VCPpHfP)uStCILMBU6M#3M933Y@e`Om0LtqdLg<&up zM!+a|9!A3$7)up&n~!QEqF^1YS8-clgNoY-Tfq;ufj?}A9S~Fr5x|bSqvIzKtP1hi z;pn&rnCOm<fe;4a5CM@YGKMDeUpD7mUEmqI!PN%%D(HDvJ7B<EEo(JGb_4#)rn-0S zT7;TGccp$FMpQ<;03(%c6pVv0@DhxN2`~|!gBH*cIzeX`2)$Gk?$UWzUvES|g$79s zLEL`eeTodX|FfLxj1G13Ms%h@zTFrmUpn2Fk@4+CYkd1aU+AG>@|^_FKN%+97dXRr za`;XLJ`HpDPJuznHW(Nd-=V<J_>KgI$Csh;9sB=yI?uo;sxAym0$D;YQbffhKtdWx z5D_dWML-m6SP+uUhLRuzPy_`O3?(#`YF9p`caSDcFw_~bpeUkP5ZFx*n_hM|`JQ(| z{PCQ*Gds7Pd+xbqW_RIkz#O_i4pgT&4+<b3RTST#_Qh^$UR(&JK=&;!gL0^V%3I9v zJ1J{;ALs&|$uv9+x<Uxkax<JFgojhQ@Qyd9<z_gYDSUt~VL{={c+7Ch7tV~w499N5 zvCZ)Aa1UTN;V2=z7f}Cj`d|3{@BlnW2|RRThBUKlSs+*16DU{0^$64`J%L)g`lPpT zdUV%H>8%lgDlRls=C?zjZsclsGiU<XYIqC4C4{#EqIdOjYy)kf-7RM18mb=oHEe_p zq!76ow!k`N7kM21SJzCDpL51^!HoO{c93yo2JBR{U9cCvgnh6d4!~D%2-d=3I08p+ zG0HmJV&rx3TS_e>&!`NU@B@6W#LmM{a8Bxv%m#kW$$A^mj5Ii7rD;ayzy$?<Q$cd! zlH&djf5Bz=8~%YS@Go40Z{a#P!3AvMn32<z&U-K$*t#(z--0xlWvSr<Le|!ee0SvQ z@QGs3eIwbmF(W?$c5Teag+LdNTnujm{W|hpSOzO#Cai>2uo@NI(Gqbd9VzdAxC??X z**v;;9&c?Kc_BbQ&!gk#bp<+U9{nwk4w@I+0MQMvV&vf<@>n<-c|8GdkasWig5GeS z62j8*`ru3Sg(V{|83w~3eS~w%!ztuF(pZf$9{Qqfeh-*XKS))Kmtd#@b_t%N8+jAp zX(jLsJP*$TGbJPMMHmUAARb18Lmv!)F)$X!!4zG5MdDQ(Vimjrvy|#=m;*Ct0VD4{ zn0C_;4ZgZ$=u1LI-up05h4}#HE7}5B3=3fiEQPn>9asjh!*W;wE8){%#Amk7%KvMr zcZ2l1-k-fzBX5(!n<dr;w$ZP=7<tEa&l;7aNqxPWt>N6r<Cg@Dypvi^8F}C6j_m<m zRIChzchn}fQ}^tV*e$VFVxPo*i31V`CBBe2Bym{c2%_u`nVXxA5=D=WtblTv8x9~6 z{}EX#D~+O)M;89qS&O*B^xceV&E*=bG)ni>BbppEYictJW7cpQ)ez_gQFxCiJV#^+ z$EJWMiE2&}3REq3Ac852k>83y6;w(^UhqM=w39Cl75}G|60WpYj5gqhKJwcFztUvn zqqO{npo=7&-v}B*6Toxlm2o8N{1!kT$-muptRjZubX0jCgiz?B%HXG?!l9F;gNL~H zzGKeXA`Ibj5cF4tABJevx-WE7Or^*05fukL0B;?Iw~oSFNA-pfxDW1!2S~Tm@i1hF z|8ep)^1E1Pp_U8^y!CjK#t(D#f#dXoeEwBPhH>nYfA<DW`7<UX|ITC8$cO!oGt3$J z4|10oHB7;Xfa9H|gg#cpNdMzJ)G_j-WM=uXmh5K9I7@c7<lUC+VacAByvs`dUMt+o zlD&~;RFax?w5q=VCIT-Zno*NrGK`mljlyX~jjeOAQR6sUsu+vlWd){5Yl~sJ;=Ts6 zU<SMaOogIwn^AKBj~SH$b73CLhaIxAol0jLY=<w^hR5I#uuwCjj=)j)_)eMNH}FA& zrcLw-V@lMAip;M)no)ce(2QCGYvFTP2kT)2Y=q6g&=a)<wgN+2)Nd-lC8hBzT!hOl z5r66mJt^vM_(!QTBt%_N4vZC1F1QAnkOkS012=R-etpS2D24)1mnnrZP}hv2YexB~ zO*EY-npTKz$kph^Ko5&L^-z6%R^Lx284a3R_E<ysgi3Wrr8%oq4EPSdh40}9_z@T( zqkbj<-F*RmA*>$jkx8Yf!;DvG3E-ylC(6Q@Oy{S{xF*3=m;$fDG{B?gzXoq;Jjv&g zijhB)_d<;P8IYz^9Bck8NC%v2{vuec<nXTf{govXA|rn+41__-k_lP<VBPa541>qu z33w8of~VnmD@zR=`OjKe4kt89r-|?!I3Ni|18WE)Kbh*b#EPQ3!)?%B%Do-#fVQ&g z=pN9j&Z?tZbJh!OMc)JLaGBBkwu%`|caLU5ZAN#7t`G|05CM@81>K+x;4h+MAr6Pk zB)jD6Fisp;SF{#@(RN6LA#gu0y_nH_AJU9|5e7hiWit>4L0^@16g;S_eE|0qJy^*M zRk?=g@)Ph3JO#tyS$GbfhY=7D34l@yj=~Y%`&_7DyM&ERqvSe@dROhjHo1|%4OYNP zwabUFN{U<!AHn<ZF?<4_!e_8nH++tz8~Ln6@;Aa4un9K97TBr}cTj|}s_A@4g^4OW z?j?E(yd<|AoetybhNkFb&X%aI3*lAOcM(iewCOMtm}5obWuoyg(Ri5X+3*&O2fR%5 zT$o3lk5Qe1-xe}d6db281>e9aI02{O44ef6zJ+t}9figp82NulO;<^2uNrZmO7tb{ zfluKbs}bK-)waX?@Se)Zv@iN2SfxhX3CnbKIjn?_mCXNCsn2!!3&1-?uY--S2{ywP zz#&HOg54mE|H)h=pSNX<d`47WJ~r~NOTn3t1y=(#j@H26mMRJS19?(GJp%c<xd4j5 z4J>x@H3pZ022>V2`Ts&CFo5TKh{!&GQE)fIZvj26fCXOxCTSEfmKF4cUiFn}L2tji zkUjJ)rwInen_NbLx@f@&&>FLVIbVU+m<5AC7D<;ccpUHnyew!G(CrK8^1SM06wvJp zm^Bt))!p#L-C6-Xv>UHAncZ0Mo82&)Zpzq>HVT*u@>ZZxFiz=@hnHZCCL9HCLE=rr zGI*uXD44HerNJZ>Yc5PyG@M<*tAH0Qm<H1UhgZOSuwW*P2Hac08z6)GO3i)|j>9pv zWComoqn1TqB6Lt0%a1dVMayYN{|<88(KzmC9CtL1JNkRTaYz3M=iz5K0yysIU*K1= zT&Q|(gk|uq3QT7$SP5@i^`yrYEc&mWi#gk_deR9C-d8=h!Uu{**Djz37tosvu&IJI zK=&>99M-~8SO@FLxW?9rT6P-%4RLziZ2n9>%x;YoZY<HD9j~34-3CHE|3=MkzIkSL z^V5ez)J}uo4!wG2b{h<L>eVx|TgMKF5Q!j(P7<9Zx=4gdH0^<?uXLIz)Lf!P4+^Hv za#_l+f@^S9`eba5cEJ@(`CdYQ)+zrlPI9DtAMj-dGdd64PymHc1jSGSW$+J_1EYVm z`T}c%f?aBWAK)wC$*oav2oA%(I}qn#xBl3|DEJb7k@A0npJ6Zf>%#ZYK>aB|{V5z; zLJK9<8f34HYx`3Zt3TQP>rV~&C`L&{0sD7GK{T+3XB2b*Mw<eaLY*)Of*}Nym$K>t zp%BJqBoS-6K@9Yuyfr*VGiqX?JH(M>^+hNJd_pyUUu0Cv8&>}dOn;2(Yj7R@)<^s| z3}1>hsxLzp1*^{1EjfUvsm_BNfVZhGgd!+`zo0S>QPl*YSxF6LuA!PWHsaS%=$gjh zr&nx@8h>7~F{*txzw&2PS92{)k*HuzQw3U*bq&?5X{G3Bv!)&3A!^#gZGfI?ZihRe z9-y-t^i@O3HIbNV_#m<<2U<NGTMd8o7Q@{}4|a|GV~biKceZZ2un3=T<nL;<s3G={ ze_;`Y%s;%S8S;?-B4(sU{!#1fYfJ8{-*KUvO!N2q1zET5_FvRoH+{K?me1cSS#pjX z+_w>O^Kjd6-w(8<`%Y@)?gSl);HIQ*D(gl|ZmQ{~HQltPyDLO%g5>U|$dQ^Lxg$W! zeRog5V%+yaFX#<g?z<l(_wTtQKO<mKV=~G=;lHSv3U<<}=~+vjwxnT6(~{p>@|-1q zwkq_aB4Pab7p>FZEO}fvxKq%OdofG_`B?WWFcnhOsBS!sn=eLM`!<IACC)SvalZ}h zw-|2T$~N5Zz)Z!R1#{p{cni{CF3f`kFcH#WAuNJE($qsLf*l5dMjy8tbqEa5u;q4u z_3nWNEq7lStDKWym~tNtPbk`xFdUwSXW=<`9$tVKp+Ag-Q4oKNQSm1kSNLdLfBx%y z{~xzCCfSnuw*Bnb86}<f>ysu2bgi*}?X_msS#wJU2DaI+MQur_bz=kduqO5Q|J{)9 z8&b{^N>&o#x8JMyVb(3J1NM7$wX1b@>&-OVSgGA+$#$0PV9DDpd50zMv?SJ5Lf<Q) zFO;CSk`PLN9j;N_3KwL;zkzL$HMbbqPX;VstU@)VG!=hy;VHl6dniq1y;}^I=9c=6 zB%>miB2_Aor)2V>5O4<-xPgjdz!g;BXeuh{ZkGcQT6Be11O7am$&DGF30ZJellF*u zgqYma?)8P^rz08=BSNuqBnt5J5sG$00v{iaPY=hxhqL$!$G3;$*TdDr89l=P1rIP> zgwrGySAfk`!@W|a=8l**8E9gd>%}a9`J@@M5Ej8)4Ky)pV764DjlY;Vu$E%P{14uy zC^4)-W8P7;cVQ(ghgGl|-UB9$F&{!2d;}lEC$vBk1@Lej4P)3$rypd!3(IWiJnMbR zm$e#rRA6MOv{@hFjI)?q8d+yx9cX@@wE;H5=Z*1qSq6M6^|etdpTT#EVZvqw4ohsO z*|NTc9ZFy)?19~|7xuw^H~`1ssG|H24k~aQz5$*q8(Amel$z&rv>0(5Hp3>=5wR7R z-9~JX79*HBMSM}G#fY_>@x0lLI03uVpeJFsqA~l9*bjT*0DJ`p;SexmieS<baTLA= z74AnV<-E#*rDgpN>;W5Dm*G#i7|7s|RR-2iJ7{T?bpfgrgP|ZRPXT`F!N{tBe--yC zxZpa_E3&d68*;!61&Z=3VCz}fd6w+lOTWlwsBkI4%+>_3R)cTQ8Lko%<*RariyT}< ze5b(3Y(uC(t)v3+^*bZ;HbtZNxm2=DITKekrOIqaKrV%E@EMtS{!E4S0q!T04xLH; zGn<3PNWQ>lWVQfYOJ*y$LwDT|oq<)Z!3!ZqW*7u(PMP^2@Ytw!3o{e@$<!mA%svpQ zOdf(LMT>?wh=J~KH}rse;9kJ3@cxOx`zHqPpBPy_RFU0<KsD)Q2S_x6K+?))K9JoM z8b}q{6ehc#o~lR{*}9RT+Q{w-+7-{%u%8_c8uqhMY&I&%MuFLi&9I-%u%CT9;MVke zdq%br3V}}089Om#oSDGXJA&cNj9~s9!Q4CId&@Yp37P*HC-e1)d>LmB=*dDvE?`w= z#P7gdGvYG*4f0M`052194VdmnTnAiRgp15s*%;X|D$-Cuf7#tt8x)nzb4w!|4Q8XU z?4E$uvT3R82Y_bD?nh&1Kdf;-n^wry&Pw)R=nIbmLtOS_@VF9s0<{mIx|xrt!IOau zGxbrXK4NUk9MTw_WsZk|GCU23yhdc`XNe7dA==1%S^-|EG%_c^^NRZdFy3V{{$<8P z0@xuDl7Mn#j)pNX7On*%u9Hrd0{M`qWNrW*Co{+Dj95mdOWIb0XJ&G9bH%_avg)Y_ z8vL@bkIYiVrR!!^K?Qh#ewOKjYHmU|S(<fcW)n~>Dxal3aWxj7s>NvuB`%@FC5bxG z$j^_t8vJ;x!H>5ZnNw&V{mP7yIThH3FfwNX+Ym<PbeILN!yE7>%!WBIpPV!2s%<jU zfLCpe%q1`nmI4!;%y$5Hp2=^F82rSek@+!vq?A8}&)@^A3+^Sf>c1|ynzOHz+&<u^ zMvTn;AU~hE4mQCC*bG}>D{O-u@IK(mGk3vmIIN6uh?yrKLn)ks({S9%_%fj*|7CoX zvwxKFpI|EEzu;R%I|o0)_i!G5f}i06{0hh5BK!uIZZSu>8r@>XHz&ZtYZQ-O%~7np zMlni{%GEcj%u#uKqsnlvM)~gd$kI&}-5<b*Wb0l7Qj;5fx&H^K%l$cg0c!z0xHqGE z_eM2<8+Ew1Dit=E4L22cqa-&9ckcnT>*n1R!~GRp$(YClOJCzMM`hh&6w*9}G*h7i z5}P$gPC{pei-6WIlo=G#{Dm`MDqg3MHZIgOw{Qx)0!aaFDRbdyf34FB$J~xckr*d2 zUg9N*2@(?}76KMhh=ml+q!?v5ns^&x6z_bQ@vR8(&X+lg`AU2}j!cx|bqm+{ZCo?H z0W^j{MaiK~|Ek2QAbr4{r9dv^flE{HLaFHL&FPfkzQz@z8imrd#xZx1%1;{ZV#O^1 zdYZcoDuJHo_J9|vGbT3U;Dj3D)Pn@2a2if&f#^P~R1KwL0_Nhzblg7x=Hte6+?b9V zvvL0dn2!6Pa>j1l%qZO2y>p*{lkoK&2&~tA$Xar{4-@=L+5G{R;V58rg?<?mo1hSi zR@fbfQg}Bv6~;mwNaanmo-1rBJw-wr;C&gRPz~B1TIr@}(CVmAR)Ap^YCJCNDCOLx z%ZzV@7;Rw)bb(L^gRT$(-5>@ibzx6s^(^!OZKV}H41M8#b-cpo;oiEASJ;cQk;?1^ z&^}t>2+&HVa1cBOkHX_H6o$bQ@D$t!Ps1}X9G0hTyu~Q`8~%YSa1D(V$srg03s<@4 zE9poRxk7qfAv3Ia73p(W)k1n&t-{lb3O|KUR0=v|A^ouMquUVlslxYk^?mpd)~Uqn zb!7wKlL|KheyMO9Y=<4N3+Rf4```;o(u`b+(0Nf?XhZBGTB3*yidsuWMX0i<d7X-i zT5zUjEuvYAv}i7(ZHu&MF1iakK`_uhMYK&(D1<>cv;x|vh?Xyk0;*VaZy=(V(i;o3 zOVPthsy_^XKFu+RqGY(wzfqum55*|DA0{Y93h+*^QN%{QQ8YwC<4lp(l11Y|YssP~ zfd(m}af&d6qUV5CFQSQy5<&f@=s|c<fzjZABp3s7LPc|7I>-qXy$&;AYM_cfA10$5 zKRtIYngWZI%mPS<+3*U?fwv$Hnxy@V=2!SVZA&|;)cw=G=R7yfMCSOXoh6gPeCw>h zl39VbrtQ>dUDUw3^LlMtq^;9Y<94A__Z0>DrD=Il6rj6`&Jrvnd`il&SrLnGCSGDC zTVcsEOIBL4%90*SdM#OPC1on9OzT38b)lXmmn!AArIL4G1uTP=unJbgd*G*gOEj4% zJQ9|6bZE=&gzy(dTDTT|jRFe)gwt?JH9rdmoUpnl{ipDl>e-0Earll*3;%)dbu;d) zP|7?HxU#}u;8(Z^mmmXv2mDmwW%6WYWE5=%Rz*e;9ixbjQM3WR@b8IS3*29{9*9$< zIFznP6Xzl}HH{)RG>sxWdQlM+KrxhnTep-#8E92ojENVk-bGqP6kg?wpR6~EL!dD< zBBkP{&<q-?w#A*f+3RPkZC}nCKvyCccY#)9UmOap6;Zci62)zSu3Fpy=qkl`Ku1tc z^vB{L2!`mMa~IS1io5wKHhs64b|}7Ew+#pSRIzrdis=Z&eV~^Htm5aO$IZ8_jN*GZ zQzt2=`xFmQabAE&6m1|3fx++?JPtzv4_QnHEWQ`;lEqJhUU?~g1{h3@l3a>ViattE zWJwWem7v5Dlvv`HPWZ1(qa?3RBPID<X-TwFlvcthZIm`Az$k5$csZ%Zv6`dq;2J+A zY?PwJQt~LdL5_M`rnDi@bxSd+Vh0*u!^Ps!EfHfBS_tDHSrtr$6jg9MOo9n88R+T7 zFT*SFn&v*muPgF2Z3q^>3UBC?E?+zy(qJyk1I<^97sCSGu>+P+n&PE8+X<^-m9l&v zK7bYcet}WE8?4{JYDT4s-vu6!8O2}1CIvoGarXf4DjLO1X^X#r|G`>V2N-qn2G|12 z0rM~32HU}<B(iQXoWb>%t!|Vtp5I(DT!$nM^NEXY=sF1}NZWN9&cHYFNv<n!w9XT` zzUE9roa<k>sKB?B%XJmbDeiZ09)5tI;Af!Yx_$vVoa>UJ(9d1;JQqFB#R@OJE%U3; zhgmm<+JU{|&_PVWLWjU(@JO@fOmagVz?)J5&207km{f-L0~Q%(Xc9aV(3&Y-=x7+u z5Atw$mdS7E2#Mz<UX&OqF-js{VkiuNVekYzd5am8!M0hD-U<l13g>`nxf#SWrJx_c zz-G-LmYqSTZrZFFbegj)#b6~G^fSc>a=`^f`voq+MPNM}^arq>4f+#U(*~Ud*0n*b zYlG0JGsJJ%@r?1KFy2SiZBpPVcoNl?(xXa;!!WDcyhLb7UAHNvOO{STwWXME=?k<- z=|mWzXfHwnC{a5kf&-FZ3=D;_Fb<M$F@xLM(nr!1!S|%2%;1jcs6F^j|8zUm2@bN( zf-QM_;H~Kc*}^n~@3ro1S6i6$`*ma|(+qBJ-FLrVI*;p(a{kHODDMTq5Jbt!J3(jY zs0x+e2Oa7vRF11F@1tlquJW!_sQdv4SF{M|22l_Lu@DE{p$FUvc(U@Ia4*H^WfiYW zKstZ-WCr)P&O&ciD9kEiq$R^G8D+_6OLntlj3whN*#T*k_f=KUU-_djSY<;0<&VQa zdDU{%THdd28BpGzvlLYYEtd~d;AzzdeV0F@xU^|GezyEM7y&d``ADF_$`iKyV&(V< zVH&TT#w&Mh`B`NN!m*mcO$o5z3&OFQLF~x}m4Ta5n87RxgK(_1d%HpTTxpGw2DjjH zg{+kwZZnvt!9hO7W$nWokY+IJpkOr~YoB1<piI;yZg8X*2D2UtW(g47LuClnin8c^ zMDdA?@$noo{O8W~%ShI?VDYKiOQ)?v=^*ZM4)tF)seaS;8RPE@q=lVbP^9xoeJ}u` zA&Q7jTGdIbIwJyaZ7J959H=3|8Cq){4Q&mUIs8JcZsH8X3Y?l5ItPIUFQ?{v&K{`P zIT-Fyf|!C6`*LD_P7KP4Ejb?q214h<oe<iwaE2=_n#I{ymvHUQehScRPCBA9St-%& z_zz0MIk7EbE(`<h>NxwW_*0ba%Y3)ma58W>UxQcaS1(h~(v>g+UMHQ>S?~r-m%)^- zhF9tgrgSQ2AChG0doWvpxg=ZqKFm|x`LGDmVKFR$rSLYny}p96q;wiA14aSoj1^2D zoHIH51b1KhsnR<N8$e5m(oL`#)>?k$7@;+F-LRD5r4(mql;W~WwUJ%=4QL~~bSLbA z-LMz-!G1UZ2jL4i1c%`WC7{MmejwFwzDau5OP8JWZ)$7WEMvTW8?$+RJ^Cm<lrcV$ z;Xtns#y^auPw0f07`Sr{1{jL*8s+cq+=7(8%ct+$h@9rXQ<W%x-8!3L$*E0S?p&g= zt9-d`cP?9b1>H6atiN-PDyA8A`4sEU)qXoSE3FmWXNGF;u>7rnoolFP`ARFNH2<An zDEYZN*CEp_Ip2~CExE{&i!HgtlCyRmB&j%(axPbGS18d}tlZw<BcuFHOTN8xD;3tn zyZHNnjPb+CviN#!fBC^bW4ty5i+{`*k3T5BP<!}E2QxleQGUr7Ka#_*wTFwfhu>-s zzh{ic-Cr+L*Fp!^tAQSFIO_qCuX|*2&JKjiYfUcW^)|X*!PSlgoVP=L1sYN+=N+J( zWM?C222G$jw1Ae-3P|yK6~{K9o}mfN5w)gKdRkU@hU7|J@FV;{YNbpLN`Hp$EUU{R zWc+7!CTH5&FU^LF6rwZ-ep9qd@F)BMf5G4I4_tw(a1O4)b#THB)KEq#OUt25DO3VQ zEiI86%32e0|JU;hxzdh|%lN3&t3W++FQZmvnpP{m^jd~bDr*Q-tqir4HHM}{DdvcZ z%1}?4)H6>X^6e(0jBhs?W!erXJE#zSu8clcwiUK0#<qYa%4s`)>&IaSB`*6?Vwc1o ziM<m0B=$>K)6YMwwk|uPa-3DVzruN7-`yxfy=52R*%>OvZ!o-BM{QG=eGAW7Z%mgx zZ@nyC_Cf@gMoGLV5igM-VV6jhSP$PplHOu5%BF@RUXmEE*I10Qi3+DmBsaT5b(*H| zXnjwnr35EqbY+J1+IHD=g<q4HEHO@Eip0wjuSnpc$~FSCsL)FcM4=_XR4McyMyk-O za1GAsotaR^y-=eCZ-}>L^a^F370Rm24CV1;D80-K{my!6CbWX!_tr}@p+9sW{IkS) zi3<|HNc<{sQNj&O)k4`@4J`uNSAUahhJJ2aKO3hsq>E0DuYVi4d3`!^lmGhpD%@7< zY?~!{D7Sus_F_XbtUGT$np@9%RMs;oGjy$W-)X<~EE3Gn6S`{%dobn@xx&z00qc3^ z-V8ly#oq0|K3zF{xt_<Sq5Cbl*OCV;`IRLPTJn%3k67tFqNLVa86C9}`r4AmkcM-9 z!xf)(Let^4ZEe-Kk8NYnD2v-h=P!%(-_}9xd$)DgL(;jxZ^h=oc3brw8KZ2db#sLL zc$4~Di|V>@S)>)=DZg#)WtzjRyLts|YbQg0!aD1HGwJ)RJNsDj0ZVEPS=M(OUaG90 zCHq@)fF%c7GTORvkiyP|x_z(}T&&=u3Kn0sx`*=^GfwAms>R<R8_u(EhWa>7_!ds- z)dl_;*>HZNqU%|WGXvx-omb%p3hcZF>Qzp<7yrg=IO$zZx|{PN(6^j;Cg&e;5-tN? z%87?^t`0<Kp5)vQYv3~_^ErG0pGbwyui%3^#W_FZ?1*9<gbm7_fz-KC(Kf+0*aF*O z2keAh@Fjc<dtfi@LlK>bRMr_nY5q}1HJdvN2AJ@jrh4D=QSi6GYA5&<u%HRvh<OKZ z(kHuN7Zw-12Y6B(yh9&ZUkK*775Emg8GKN;90DE|2lMba_!#hzI`|vNfRnHt&fH># zVG(B7tz;g?&|`+N6Cc)^^062U>%i=iS)CbnyFLknP*M&HhX|+_T))wQ4+(_mUG7j{ zgQhL~4{XpK9XYL59Dj-vR$rHx#D-DWFsdEK<TZ@RYnYN})*Qz4I4lTS9N?*USW8Pr zQicqzX+~iwWtZe<f2SSFN`W>l`%|WiNtFF1wKDdUT?59Rvg^QjQ|5w9(4)Ar913BS zWrG`Xp%98d1BIScm*Jm+XRB2{gLGIxxr6E1!HZ!Y#$g8k53HGsUWy2Q3)WH1;LqV5 zY5og%SJ9TiDp&!lffpiz--i$2BbW;x!zb`5Ol)<O1@+C<+LWVDa4EILQPwJE@XJd0 z6(u?qUV~}yI?RBXFbgeR;mESn9CeP{NBs-m5oHvM<xxMukMJ{G0DSnUU*R|S28G9T zL&U0KCPOc{m#AU)!ToSgU=QTW5T_DG%2c|;G;#}j1s)>DFv=FjcCs1P7aoEBFc1d8 zV0aWBJMb=2$vqB3nSy<QFDPf8TK+#+Lo<}q6U*1ar|OO6bi48om2D#eAHhc2y_`N+ zzDYMTaF^5f%C`djublo@PX8<44fMV8Pk{bcPX8<4PnLA8uwe(@Mxx=cCspw0;3*aS zX?Pxn!wWD1UWAdLXHj8Ex+~GLW;RE{#_8HipjHZVzyz2GsW2%4@g2O*Dvy8aHN$2G zBWUli8O?5!4*#cUw0+nt6$7ISdqWw#3286~=E6Lf4+{Vb3d4fJ7OAn8!!pHK3D{cL zJHX3J$R&Wqg{h)+&{2PIT&p-4uobo_-gejln`GKyC&Ak0mT8Br2c|J**eUo@1;i7D z?NPM7@D)g(2jLJLh9mGbYy=!m7!D^4^BQ%TZd+`n^}ULa2UuU&FG>p&47&tBTSX|q zhWq%}U-<S-_iKh>w!wY<7Jf-df*)G=C3n*A%`hedVf1@5>~FXVSbx|xxDHNmK^9>8 zVcC!a>hu*Y)2zu`rC*xXQsr&aPIA>_NpC=!Ua2qlx6XY2X&Leg)jBJ$Z^?R=Y+%U% zOY&HOPa9gYX>E-1#`XQvj>+AWH?pp`v}6-Ywz6bvOWtb9HaBCn=gbUa_tfm#hJX*e zs$mTm>T#@+hPt*RRQ8{C%DE!f+_gP4Krvl!g8-s+RXVuXuDIN;O`s_>gXYkZL@GJ9 zg4RI7!50J5HgIq7Z+>aprR>TyEF<`eCI9hH+eVtfSFN*ami(*nt!c}xy$z3b{(J4j zJ#E3w3A`EnhjqQ?W_n)h%z5)HJ0NW{#SQjZS9uU)rJrk^-LPc7CEb=Rv}BPbi!E7d z$v-VwX326(Rv?YyD;eWoWX#QB%y8z?$}ZLi&V1k%I>T84H)tIv1A&v##K|DwECZG$ z&I+i6YTe*fBRV}Kprel?^AQ&d4j1XTY+U4tzft_BUZgdH&$HEF247I{C))mUIO5O7 zyL-vO{X;1#8tm>(P|tG9vv&7EX8P}bfJDl3tg~E8Is<RpZEeC;*sR<CRb#iPzq|F# zMmNf@>b{D`e!F`q(T3Jt9wmAsV0Ui{RuO1ja^Fn6&`P${lEs!Rvt+p?D=b-Q$(r5w zk%~`AUDt(*db&{IXGwoaSK|molfaCAdYIvA%B`+@GWx}FXq(ZG+PT{JXY^z6FkJ0x z&u^<ev~JuXqhDJ&bl1JL_w$gmLDPUH^)vc4uB(}=MeWV^`(^ZtRnom`Z^gn5SER&U z0U7<eOZUBNKM5i?Z7R8f$(2Kw+C!(>Lul<GtoG2g_7Glsh$SH+Xa(<TRhw;G?WOLu zhr6vqMJpCh6>Mi46}M_9siF;ZfOc>@FafW)6FLGvD`HeMZ$o)16e|c?Krn<rC~QM* z72g75QU%V`s9+*m!SGkHTgs_mO;@qKP9GK6a>aQ{Sn)j^Rv~_XBZ_tuzJX)F1i9h_ zoP<+w1{eb?&Vm6ZbcG8L22l|1r$ux{H;94QG}d<&ze1c!_%zU(6}@!N{qO+v)FQoN zICQ_+$Bl}+IeS4Rd=~mB&`-sD4*DzZ02mAd;ZYa@kHO<G4DNv^;7NE2*zGndX2NJ- zxHT%q!Z=8@^z#OxQUB>Dp0l@<>6`G9GM)_+6m23*fl2T(yaH3<RhSNTcnw~M88A;7 zuZ5+sL@B%j@4_N0<Mo8*|CjLs&a_!oA+4=c#v4Hok}6iihwwgp1Rn#Fkcv-X4J-tv zIu)!rDwyfGmXWb*H+%r^lY)y_E@HV>OW&?Nz&}pazDe#{!Px;ac40p*Z6CTmCwJFA z(B7Df8n`Hmi{iRA!DiS3TVXq_0<6ll^A<CN?F=(yH|{Fr2iOC9amgW!<{`W|WQH)j zhcK*%Fw}=Iw1*r8hW8ML_K=ee5E<+Tn<0$wA*Yp!2`AuNI0xSW501@{^9(UO+Bds0 zKj}IhrfGnB9cI8(^lNrq270t#`wKBsI9o-UU76x^<(J>gt}9@+qA@G#IuDp3b)63j zARQLMVt56Z{d8RlZ&Oosgo}O|Pt8_yU8)V3Lq_QA4{{iy9U<pCei>tylg$vehRl$k zC~F8ajF8`f-E%YKGO+g$a#3XsDFW-IT1}KfE<l;06~h&2umt{9w5#9(CM6-6z=R|u z8<>oQFbfJ{78H^XOnX9ZK$z0&s<gU5D5dYy5~20C3tM;f1@$i%UCO2Y<)VMN=vS_R zK;LrFw_Nls*HC!60pdyR*}LdsuHj1M1)!g~M!<_O5=JQ@`a=<B>q^vJV<eJPjuzn0 z>oI0XeJLdfm`sE;R_&NggfN>33A_yv0u6Lk3TOy=1Q^2WMrH`JnGoH=)J0#53b`Hb zfIHzX=medCsuq2uOe2|xghVMc4DNv*O6Oka1>LnM40#f|$zYn+Kf>;S84?53(F}PC z9#HO2!-I<12l~Oo&>sfCBQOwHnS{i_qc8*>gXdL%nSg6ELmZH(WJbdnNYJz=<PG3= zuWBFZgpA}2S7e5~30fG0;E&9Z*?>PXLngu$m;^5aW*RaTUIn^DNIbj-^okIAMabi7 zf^qT<>3|n=rK*{5X|9)Hg7!&Viy&D#&_0PP1>RP)#lZL04c8Kwu4s5V*DS!(xp1K_ z{G|(5>6!y+@Dj|0c`zUFZ<U(fRJJ0$%3CQ$C7!<W4!B*HJHlPSe?}p3;+1Xcd}C!> z&U!0aPv}H3D({8Piq-|fAq*lQ5~3g)7=<d^LoCDrqjP0L;D=X@%En5snM4ajX`2Nv z_@$rY?7<cbZ{zSV7prh{m3rl*@-%FQP0DgBY=aH#`5BdGfgQivx6dora&}IM8n8ow zuO(RQ7?mbye6GaNR(=Kh;UFA>!*B!`cq@-9%6d2fC*c$@v{eq|-4YJdRU~|SCHk&> zQ&-*slwLVY{=M=ec&*OASH8~KXG)O)pmLr93so8hkjh1hOVd^|FjX!E2B*qpupCyv zlLHVlVKux5PYpy2uHSU-aE^Wa8vD&n;x*yce*W)t@Jny)-?Bl|xsOS^{n6eoOg3f% zeLUt2F!hhwj@icSg59uHCLd$K#yXRa*~Hm*ie|zd1rA{HF}VMjuN3znFlNLshQu&# z#4v8euq2FOz=$~kTi_&|0=3z1a0z}^MbB&MUHKzigrDGdO34sb`7Bz=YP0egDQ5)A zsbV~<d{KAf%&KOg?kdz>H4o-;wF+CVN{2~oO&e9HyDIhOcR7tJ`azY{U4^=<CTmyP zs6y9OQ?x5>RK45*F->Bs#B_<*Bwm-8A;ExJMK7vC=T+#uiebMJUs{Q~u1o|6p!Lep zFagGsTZx`XRXze^b=JFe`tsI%QLi^e&w2`;=4#Cd=nHJA7&ZNY)~)HIZeK$^OYZYa z|Dt}nrb5jag^Zf}!LE3tNY)dOt|#F&PXePs&0{*jCTkc6YMyF}V1ifa^-q6{gOAf^ zD7ng1!;yQdNU^E`ppVMQ=`Q4-e(6-F<~ewtB0k#$@f=aI5&+ZAN&*LQv&O(!us5Q| zWnt`DFEp^e<gn^?!c;43zT(jXvNUDOnhP)bwN%uJfQQS%-SLmxMi!H{tf}xSOb3*j z^%`Z%dR-~Z0-RaaIG`c3hQFPq%i4afoRXe}B%P8z>1&Y>1*CsQW+jhUXAk?Qe@=cS zeXX;Bmh5lIL6#hB$ww_Y#F9@msEskSeuMOn{rqK|C6A}CM?OV%CC^$n4YMvhXN8}a z%+mgM$qQC+se+nzl#EROJZ%%o<%UW%byZuy)m6z~R6PU_!-GJhR^11E-~qrMDqr@C zSFka)scNDKG-p*yXb!CaQ>wZZu#~EHILo$C3-0F74(lrI1$RM5B9;b22;3n*R7yUj z?d$wdDP5&h)A>@0P}*66u4GtB&ZT<qqZIF5+6|&02JqUYae&t@?Ey4(={?XB?xi5@ zRjS)mSuN(Obm>m$s9JP}yHt}P=mH@S3SrO{7&5B5>4qrjy($vOrz#q#Srz$Jkylku zeb^fny{atMVJB7V6_TzuL%&9dF)$P!*UfZ?D*8y(p!yoess{UYME2JglhvoH2Ea>7 zAsO^kxGDvnRZRLp)r;@~jD%5ubym?Es^}+G1Hl1FFq*HaJU8#)vJG=r?A$q(ljj>R zx!-Sb`zHHaG3v*LKqu&Yi{TwWBYEjOUV5!pz1B;w^-@glqiQ5C1@S&o*GOJ6@lK$8 zUW(<F9eSUoklyj|oZ`|^y%f$%pYu{cF9q~cKrjBuOX0kOfdYCdpqF_~tfrr_ntsMI z{frHz==(^tiuHyW>(9^-%YITUZ&I4EObBC{{>3&7<mZZ-uQ;&R`l4ytSuQnzR*VC& zt#u=#Mr?av#um#QFqZjWEc3ru=6|srL8&qajAddO8_YOxo(nOBa0z(GY{vWnm*H1y z1Y(XI^C#tr`Kj*b=wg26j8{O-m=gF`BTy+^RorWk2~J?{9g_{ry<>8Ld3Ve&Pyo!m zW85GgSf!!LOCX!C9T?dO3XNWwupeKNo#elAl>h#T=r()o%}e8M9!Is9w_(|io^yZM z8QUQJ?!dG?D5m9#1N&str)brxYw#VMBX-pf@FSR(-8l)JuA4tqo#8B71#!Uz8nh}C z*eo@weudxRH~0fC!=LaM`~wDDfq&sD<f-udJ!3%Ad7swjuY2!d#6MSmXBbW_z`whH z)3hzB;)s=w-M!PBQ{Xm!EB5>CyNg(Pt!|e62AYi@%zQZhQH7Yo#xt#s*M52YaCjD; zXx*|A2d1>~kMVGsmpk-MVEp4SU6GjQ#y_t>lJ(p-{#Ambt>?b+V=##L6p3*X<0W2_ zm>@Axf|+$Ze$$K}2BUyZ!+#%{@phO5lc~c?eD91!n30_tuySs|{s&Q8UhCQ_WKZ&6 zxxjzF#?kD_D;MtX$8qY-<I6XXuiiXPyLp^`^Z44$<E)hnc6rhV5pxD5iSQ5@S*Nw! zg~w-b{supZ#$g`JS75;{M(z@h@4_NKmPSVQa##UNpPRdlPv0iEQe|E(@xH`|2v4{| zZ#J;=jp(_b)L;J5e#X)4*+f{*2f6QXN0fExDwWJt@^k#g_^*1=Z=X#OuR|7KJ=xii z1G$g~r7L^wI-gFr&o0uf1rlzFxg^>REA`-NJos#nHq|_g79RYm=Wh8P&r=Xn_j<Ai zhwsr$%=0wx{KxP-15&c5FFXSMVIZJ34|#eX1tuIGe76Vx=D`hn?o$%OC_x#N!zb{$ zta2@^;nVCdbjHlo$i}?0cK|a}BYPL@hOLd;BEN+%b@xV<P%kiLZ-O6m=^QXKHL~e` z+00Ch?1OL=4#U@Q435J$a00f#NjL>;Z5Y{S;U@(?h0owu<#55zU)Si7+4RQjzjRX3 z2~lZVIRek<!EBA3J67UzbNp7~adYbVue4Kuoch*T1Ig^_z;-M9%Mavq)ScN?cmkf? z^Z$R=Zpbb*rpLNJ#BXK1QoPGbF)(1|C~B1xWSup-nQ~+6&gPbEYDuk_a$2p#>F2bz z<gJ!$W65@s**@#W_STi#EZM=j{&CvUv>PiXr!6Bc<ARYBArU3fO(IsJyF?F(o)Wzf zxeFxbNd!nVlxQT;1d($J-Q-BGIe5Mtd|?jTL`Kee_zBKg%E%<dFJIOU#W^&6POf60 zjhtUq?QFQHXgI?h9AOU4kb^VK!5QZK4LHOc9AOTok#iNU!FBi)Q_494>tUTz*a%ol z&KFk37(~uz|7E;}vkYZ?47Mp_3?)Yvn1d<id<j@$4(>i@FYJT;@D+RxSX#~@z|wNG ztCGXkfRQs1QWenbA}2*+vP6Z1+*nSDg!*TW`e%;1Yp(x_En{~UsQY^K>m;7-u!G8Y zeg-o2uxn>{$k{`#o;_OddVYaJME2}dztG!u9*XO^q)Ut@o@3O=a}ka!F81#^1t;J% zoPo1|_C2W4Lv20uCJ!CS^SzSz5zZ@c8R1n~Xdh3e(!%d}@H-x73ryRq7O&=>+<LnE zp9YN@SyL<zqm{R*;x^*5`uZ%t0ir-D+yGVFQ$``ZjS2kg*H#}?fETL32h~u+E%iX3 ztCcl^=V(0lQfIHy#4fyQzxz~{`}Ofi7y#Ny%NYoRps!^F@q`}y&j|W(=1`0Tcua}V zYjQM&%)yD};2CqC09;`XUNC1kJPXgm!|(!(fETG_Gm^<wm&|Pittppwo;@33DQM@} z^A6zGJ&WYpJey$|5j^wNgiQ!6fX{VhHAV4kf%g>cefStY1l*_xU*-7>*1%d=2<u=y zY#{SCWSrX*?u0u?A@?o_f)4sMjND$pUvbsC)7*BPJ)m;;hR$T1dmnUBv`~nEt`G@P z5DndcaU%CNh*Q+Np$FUp59vZ*L{6yR+&gvhhy>%SkvmJ`O^Kl@;}k%jxx<wiO3g)~ zxlik*(%e^In93;A&ZQA@rz_f2kaNs^72*|*mdj0oL>LWYU@VM-6rc@r$HPl7QAtdI zNeVnBF-OU>zh~qQl3*@m<h(2~l>+9hf>|(=oO0fT+3>p7>N)Sht16(j=yImPM~X&U z<;<mkIUm40MVk+cARQLN62KyI-Uf^z=QUUc%N2bkO<0edJ+zhwd-gOW2~T5?eFVsa zJt5#%XTlzR9!gYCCul*=p3b0Ew+BP?(B2+JqLn@9)kBkcI=~&E&Vz|~Is$X`h-x}g zYcloTN_t)l$jhf*8ITtP@=_!(2DI}WM@-0j(}Z@O)D5KXl@)ohqHN1)$dtU8l2@kW z4Fyceiz#^{0aNl~N?uIKiz#_2mp5+b1!Q+i@?xIhy$4$H)2#tx5ff-0^p}e+b9sbd zWT*ILO#O>lTkK#hHYUK6@B|asSZ1=Z&%jV@$&5{fM{nAa89RhCTG)(biWxgvf#<cV znG7!|?g-HGjp=DDv(Z>)qp^v=ZgFffj8zn-z_BSX9%NbX`K{RIxAS!RB(?!o(0(QR z;3N2u%9qe-OX##E@5{7H4lspn@3(knopqOBWhIBHQOQ@ZT>(A&DLDvVDEeC12<u@J zY=$kc6?Vf;MZq3RaN{L=AXz0qPbHIKl9G5C=u#yUHRCJ61WTqWQcB&luVg%D@9NT0 zcwO0JpCvOCcP3!>C2znScni{CE@0dxG)xJet0Wy3!d@CH8XBX`$Ur8~W@JNX4y-03 zTeL>BM2V3KM8K`UvxLaDv_m8d$jEkzL(4_p2`m*NSy4t}p^>a6BUw#Gc7{&6DHOt> zD=XZ{C<upc5Q9xbvapEc;X))E2xeq&xDTwKYLCQJBLDlT_DG%+L=IPxo`OCq1{M_g zkfJ>d1E3!~0s~<X3<gXo@^0YKLL?Ru$(WJ*0Uan;)BW6|@C9f`Dt8^wez|Kb?{<vP z$7=s(1h9_WeTuLdwdWoO-r+HFY2DnNupM>*EuBjP=hDErm`3gaMfnU4!C^Q;37!u~ z@1W)QXIk+y%Qj;_g^%E4cpp~llU48`ya%7aA9S=yjS+Hv-W8x}i<g%7$^^VLy%+cA zeN7I?i@kcM);S>WtDJqHyH`URRq$epUhU9&=K&Vs#X7v0qnGaM#rC||n3u88J00Ey z+@E(j#aIUKqV(7muo4#6Z%32GF7Z=yyx?Cyy+iYk{!Qc5*dx+0h}bKt;$QH30Q*>G z?B6iMzkXLGG7}?=or6)tzM;@t3Z+TRm6(T!Oh|tQIWj#`N=cUi*sUvxmULJ$iI4W_ z^Zm-}h*CZzqmDfY$Kf#i2;abOkO3#)qzYuhDcyY<zJ;@J4!(o$;RpB$&g-TNz}`hH zs}M8xceqHA#xy|4>qI8wIcTLk#)7=2w0K4^;sl*N_bPk~rYz?>_#Vz`pvt`tC)HXS zsB%w17Oj=*gr8(^F3`?=F3vaiH~1AU!S8@!<X(oq;0*i?|G*Vm>|-q5`-xiq2w>da zb!zmDunDY5xA$v8|4q8RYdF)S+e-)VYSQh++`XD~dv^fl?Zwo+n7DT@?1TM)U-W(s zn7tQk_sZIHTO#sQlLELwTDhgbk8>Egg-`~?P!1JP2~|+TsF&;0!_!<ZYUBkUBTtd5 zIiktDhCs#g8nMCI5BhV1ZwRXMX};ha439z#gy`o5e4U8p>kp9-LH53A=muTyL_7kW zb+rqGK_4ZfcU^pU>v9k11q`>o-f$n>4-WwO`}7FRHxLE^Bc*Sc@_QMc1MOM*UVsts zjHZ>osqloh617<NJqfQV3A(9oqypMl^x2jFG)Pne4j2ogVH_kw3XF$Tcp4_bWS9b* zQIc<qx&taR<C+jCfnu3(8I(gIuELCKMkxQLt1x2=xYCMfaf}7A9=b<d3j$2-%~&5N zO0b3_=j!5d*nOOCV)Tf0b7ZqBju9k|F5ugyTI^6-%y!MV9>8D`$7IEf!!g7$Qp9zz ziqMmgHC18j*Nkfi>`j<)j0<s0QOvkrz!b%d3k8OwxULWhIEXkLM_f0E1^j9p14UeS z!0X42RqSz!nGDQ7;+PG@Ih2bYvB%jV5hg+^Fj~Yts7LN`eN^NZVIVxB6c|n79)<qO zguSphjXiOUJ#qbDsB#*nD^CC}D~@q0ZaA<@7xx@I4<jHRn6$((BE?OD$uLDaTMe^- znXDQ2Cd`Iu`k_iQZaP0yX~w;L^M@+UxK}v)ST*<nm>ZjM^Hl%_jJO4go(@Z35iEtb z;T?DvaN}{W0v<dL4<5IQX4;*mJ3dpTvtR?PS2~+uGpxNwrO4sVFa7-Y=J@xleOV;# ze_Sn4_PKntm*XWBBadIZJny$RP$~QYxcs<3;UBmH|H4(c4h+A({q$rXe$Dp{Xf^CR z0Vm<G^>n~@L{A5N2kM><`0zG9=9PvI=jS`Cj)DjD8H#Db_izq=fFI#J`~(*O=j8hZ zaG^e2cbpSkgs<SNeE%v<A6$d$N>^2ODqY>9N@fA|^W_6>&36MzbVCs%j^V?v`S4{v z{F)Dc=EI-)JU|aJd^PB$UMGYf4x+j<Q1NQiWK=U=R5t~ielV*#6!;2{elRO-Ghy6B zwf29i!=SkWyy9V0cZFLOTXAlKcF+NChdTi8R(%)f<{)4&st$o@HCZMBd}MX3KE=0H z)2of@?r<;Q^r~@s)x80SSB=A~eo)26yHw*bs|V=rK`<El1-7l<Ky^s;YlZA1e`2#W z(8{p-A=<85OT%jXUbS{&s<rJ>{kZbQ=T#3?O2YsrR*g5Teg=lavw#b&enIuqeob{> zr8PpQFG`G*n4!+NMV@D?s`VYn5_yBbjN1<fV7J~|iNhYMf8Fz&3Ww)4<95K$ii43< z&s60;gSn8VBF%>dFh@?i`hPI1&S_UO-Kt)v5;5pi>#=9GCRo)=RVPfk`fVlf4y=G> zuo70mYIqMmg4ysfd;&}Y<IbooylZI2od?Zh;*P>Ma15BW#GQbXa0(3A1txq8n0z%~ zS23zLsVHY*H|$bL_P}1yU)mYf^pR@odn<a>R=pLpqg4GZ@D&!LS_vIgv_tSU9D!rN zRG^wZTAcwWVLP0H({P3o6fz!kZ%BZj>oB{^sTKL_b^Gqks9E>M&;)doDp@9XQw=_9 z+PxmA{vO~9naB#RsF|ubs&Rg%3(cf{zFCykM|=2aA)i+8zI0d!X_~wH<Wt^ME6e_T zXxX<xG1h`w$){HGtpl}^k5=;0N<Lc2M=SYgB_FNiqm_KLj8B^ezPI30z(9O!_{HPD z(yB8?MzrT|b<M{DR{gSoaUl5zil4}9%4TAwLe~NBlK3N>(4dldk_so{1QXA}w^Tau zd-wqi29-qIV&W-XJq>5!XS9@fL05i(OMu5p{2lPBiI)MdnuvEzyb9L<yRo+>7kdx5 z9Xb%(&ai9m2<<hN*n0xcnN0hwT3Ygsk7;LVXYZ{`8gA{3yLJt?_E3m`t`G@P5Dg5s zc7|JfJ7BoAGu+x4ZtV{!XT~@C0O+q22EridYvs&vYags^9=y4zHSK*k(+c072pUA~ z4$weqXCSpRklGnY?ZbhA)czbWklGnY?Wo+&2yGt;xB&Y&>sQ6?3&IIcl1SC}F-<#P zrZnw*nbNdR2)tE)reoR{>dbn3i|-56&3)`Cy1G=~$~5hZ6rL7f>0`0N(`yssi<+i= zmc$H+HzeMam@P3!B29uXgqrrb67wYHBa+Kdb#ghWCzn7eU<=9T`K2&3S?@h2-vC-y zzZzgB)4a(vZ}LT&F}V;}0hq}b;8)PDN-|HO%;amjjIAYSfeW%B2XY|~3ZMvz;R<E> z34R8WvL9%U_zDh6^~d0lRCXAS1K!8}4d8j~C*UM7%9{2w40fg+JGJ9(?Pmc?wqwb5 ztlcgvyd+zw1ZDY;?!F4wfNw7#J#h1T3xu#|dks~xd%>wdwhH8f9L1$BcC=&92REP( zJ9V;CCp(I?qbPeBlml)fAvT7}en&b9qX3gkz+w_!)CIc)JIZFlXgpQII2t7(S*MIl zX2JxDo$xM9g;&TrVH!+_DU1SU!g6>`H%^oZYZOUHh1I&W0^Xq52`k}E#hndv;Vqa4 z^I-v`!y=dri(v^YRTA$2F3L>!NaZ*PUjW+^X2LpH4{Kz>3A9jxwLPIJbHXQZOwo=2 zdlY5@EtkL^g_*DwcEWbp1-s!(*aQ3EGuRIY07FQKQ^rq1Z|J2I?uQ4Ur<L*3gm?$N zcK(-eH)qc&<7ePuWjq}EDq24n2m@dc42DNx2s{q=z)%<lPvE+UlgLvDGjSRvNJN*3 zZ^9e8JO@x=Vv4@uoVW^->;4iT@ioq*vBcFd-g?NL_#VNRtcTo*dX}9ySt3<piUhBg znTfAR@M@Wvh|Uvd0Ii<53~1uS0HxSa1qp)|&|C#+1+Af}RFO!ZP7JJ5MPeh)G_T@2 z;$|Y>?KKl|nThQcO{KmQZU_8u;$08~!O#hsKxgOzp%5F0z;F|_-b%a=dMg<kA@M=D zx49Bb02ZodBFj%Rv7f}<{w?%<6+%5gE1X0-3{qhdVX#u64HD6N;$wjB6Qz6FJMk%? z6%%^`jhOf>sA&^lfDwxMB50Fiw)ByMavUmn5ftj<5-5cm>ferLgvt~>x6aom=5bkT zOGk4qYi;RJLRwoU`Z&?eH5@tD3eC{~bQ8Tav4A5=aiC;JW6pP~lDiaRJM4fxYOLdM z805qf=>myg!zXvDX>ehQAG5=vPxirQQpy^g{SVdwJuPuPY=Dih3AO+|BXKKi13aW7 z2ADIOjyQi6vpd`iJ)jr#2Aa%4w{hSx92$Wg?d2~W?SS@o(0q=&02^>%1C9{jZC%sR z*-8;Ja9~6ZOwWN0IiesMx&a&brlXHk^N>O`rlT(m01dc~fiMWv)DD_BH6693QjOGw z+@HD}mhn;QN}wa9zN5xUrD~~iVX2Gj8Y^`PXHsw~3Qqlq!lk0+)Q=VS6F_OHpTXyV z;!@YbIzV};Z^K4FfvKB8O_TZ)&@`!PnpB!5m8MDkO8qGH0_?5pN2xSU>Tk;U7syb? zzrqPcI|*muG#FsQw{Q-=2U;ri2lx@rGXTuQzLF_z@*8M5nc^nTvcCP9`~~SJuYos7 zKbg8D&nErkIWP~>U_LB>bXW)<!bh-#$|R$`<Q0ms8t^vB%YZ*LMpF6Y58z$+7@pSs zFT;zVZj?;NPL7A?Rr%zp@JwChlZSJr;U)Q1ko6}|gCs>84aqPTQeZs11QQ??o`Xp+ z8K&@R&L3nP?}4lEFDb-d2PgcaHjnqg<(u!bnel((h1qB`<Euf_*Z5p=kFS9|#m$F8 zxB>L|_+lslI(&RN{0$XQ300)k0P}mY8R99DaXf9=^)rNUCXQ!e1fUVeNI)TuCn%C* zXdAL}JPrvk4D5jCa*Tm-KnplffP;!VlJzwz(=idKzhhD~g2r}Crs56^-SHYs*DW(( zCcJ8SCK}H%rLN)*n#S=y^>wU*HxzhFC0-3_iaQt50ef&Pghj9zmH=(-p#2>00PXFN z6|5)s<dd)+wvj^ePS^!otoA-lXv2T)y^%AMOq0*RUNTNT3%pEVChvzs@D&_}BS61N zrr#tV2YOcWH;@4*(0BkDCv*X{p3syO60rV+me5!kCxk)WFD{x14LOS><AkojyVqty zIPi$yOlSwU!)<T}+zB1wE}$PJVC4xR&<Q$2H<C%>hyTr_whFZdH754uDA3&2af6a2 zQ7Q+9;wU2vM<rk-juP@oqL>c$giQzb<tPS^lBq|TlGMO5{v@S<NhMM2q(GnyNsWQz zlc-`+E23e!$yMB_SK3mDl%m)v#7dD~Yovq}>XYpGPy1f31d&+^RZMBbT`ANvMGwVN zng9h$q1Y*8kU|D2)GS4b;MJ4KECofSv<DRB_>_ztG?8OHtRn@-M%V<}WH%kOnxk%$ z-E^$sEQ5?4$AC?C(?N?mwkz5W_!6)f#~#=V`v7xrU<wW#uHztJ8V=0DaY`9G;X62| z6n=mo!L+PBlMpXB)_zsSafY*8Wt;^+DZmRorXw3JD(-J^8GeU9;V<|b{(*nNfU9r~ zuA_Igp9Z*;-n4(peI%H2FZ2R7i_DZE@CXdhJ%eB{gla%ec^o>`{@Y^8LxejkvYrs7 zgzM%A=mt>`1F;YX-Ju8cg?peUJW45O!laI5ne-rpf>y9eT>-;Rvi_tqiENVYs%!nE zAkKJnU?x2b(PW%Nnn~RhjSQ3S1~N<{vm`P~BBLbgmed<U;6At?9)N*B?UDv#B1ycU zU?x2#kqkp&m=Yfjdh(t0Bs>dG15P{XdB80ujerE*FiMk!q>+#W@h}?3z*x|BcG7rw zDG;#~UWLhiR;1|!UxSxrbV={Pgt`$uX(DGURIGPlmWs3tG{H`K6VhM~%!PR{9~Qtu zm;{SpF)X>oxY0c072BfT@1LUgXQ1<ht6+jbVhN1K2^eF-8QEXLbzpbNOgK?jkc5+* zW$6-To1i_81Q%$ZBjFdg1Q!7tO!xz^#{_IK0Xs}M4cKDB6~G=-hA|tZYbNAE9>|X* z6i5{b`A`BkpcKlW94eGyr3R#gDyRYcfW012COc8>e8$rk(~bkMHvr7lZnH)kdlQ09 zb)VJ)cCrr8fA|IPaM%o>+Xn1`Phpuhd;*rEoPh1{A$&lLfREu5c<(mEPS7+WU?r@E z|B-8eR(k<ozy??c8(|Y{hAprScEN7=4E_nsh<`#kU7-}VdKr2#I3T<Bkma8d|BMpM ztv%1HJ-7mI&4|BGMq=Xz-OtapYfYCCAEN*@4!CB0V6!Pv)zKZ05&t9wv^B`k>&F3w zbx9Z1rchRUD5*V^*B&Zr50$lts@j9M_Ta2Nq_)h6|DYuaPV&o$-zY`;YCm{8BVN_6 zu05Mld-gJ=SSvNXR(t*mrP!bfPOUwEz4kDz_AsONFtheBtM>3l?O}FZcJu0zNUKk1 zt*j^Dt=fAQ)*j~89v0Oe7S|q@)E<`B#eTQ;yv8c7O*@x1UXd|vcrF``#CAJ0x)rmq zHKym<BB6;sZv*V&o3?h)9{6o|(-sZQbhSC49oucXx1;obmoDSIY@Hzlx<Dv|0UpnW z@3eJ;7`Ov^VjMOa+13XhRBT+HtuN@e;Y}MJ$aZg?U$ph&jK`3s?FD#58RD620~Ku$ zJO+=#<1iHHg0?5%DZnS%o`z>YCh`>-2hf)Tj>9oh2*`jFVEvh4z$HS~pBZWwBj6DH zNyY*6{D3oRW4eF9Sw%D8JNOp9haccaI1fL=5x4-qz^}KMb5^SSi&X7RupG4NvC+?L ztKc20+VmwGKiN{dm0?@L*$ze93LmK2^fTLsiuMuE(QI^F+Zy;Ed=7L{+d6m~)&m{Z zwh?wKV~S@x2)y-d+71I{wC%St{)y0+H@lf_4=2Z!9rdt%qnpu@?KGT(GjJAAfX#$+ zun$m%4Mo^c#ON1cR1-uz#UDK%#)GCnqbI;b7+qhxSEI-Hg&=vm-FozFj!xuki6Sk8 zNeaxCc!lDOUIbH>#;fo;OotgT6K261@D?ON8q9@x6e&Tqp9AAyEGgJhfFjvOYecYd zugzXJBe78g+X6DR5#2UHfyq*a5}Km8FT*sL3Y5Uc=w_odHcDcn6t*OwBsPXH+iXfO zlH)HbK{5OZmz4@*hwUHu-O_(4p<n-Nc<j?wsf^3unlfjYuw7R)CuBn=<UlUuK|b67 z?APXoLMQ?+88@WIHEaO#Bicf0*bw}bal?+><Ev}<YA!S(yM}jxChQHHK`UqhtwB-R zKwD@J_24$>0Jk#?H*1zL<*@&v>2vEheg6={ku3k#Ktvm=Gv^*4!#Q`7^qe3F27av= zc`vl9Q@|XOo^!uq^nxywXijekRkSdOgm8$0Xy^tp5C@cGPItH)dVn^hW<LrKlFV#= zP6+uB41m7y2n>WlFc=<#A!IarsO}u5*iT73r)$Hd!P(CM7C!q~NB|mm_Ba>?@qhu% z)~G!@2}Z*hC56e&9t;2H>AnM-C>uDAD^0O!MpLkD(zH#XDNvE3EusZw3n)YO1_hGR zJ=yrS%Bl>hgFPHf*&CG|c0qBl+yfBBg$jz`;QjtCmOnnvjodTtS-D&;tsXrnqhw|A zh|^)zb{Vx%W;}XO)|9o|j~<l8u%(OGGAgJ{_x{VMk}_RMmes>OXaH)YjM^xpHp-}t zvim^0lu;vP)J7S#F`^4yV1&NMD7!?0Bc5P|{#B;yp0e+i@()Jk(3{HWJ!L<G9#nP} z*YG=TD)yg7CD0?w=r3hAaEp4TCzO*?IY*T9piEVHsJ0@&`Id)+Z<VXct*}9FB;}Fd z_S>;5j+%jS532~Z*@z4YjBCl)U{`7d#<gY<9bDWUT*L$y&fvloT*PWol})>5y@|I# z@5|avy=U#A99cWD3)`?AbLo>=x=EY$8eXL^Sxd1DOZ3tLbw!p7v5JCay`e)^V?EYl z12$q4He)LmV+W?;IXl60MV+CjGw}ju;YGZJmoXcIlw&zGTV`cKb5s@`CMz4m^-Xcs zvtW)2-r>)pi)Cq!%9@CATFF;dlTe_zg(yWaMq(63V+@$1vWDSlFh^yTF;34>_u1;0 z(?O&%&2(j?P)6*s0?m?ToI+Vn^(AvzE?Yc(Tvhfw#*=v&r&cyW(MY)L8IW)p#V(_a zWt6OJGNvLQ6?hJ#lmzuv_Of!P63Z4rH}%Sv;1$g0iL|ORTCHrh&YvgJs><fzZAGQJ z%XINoM!T2kQ*POEyn&TijWwXb%GQBKE1L%zu56Q{Z^2&W{5g)`u#z~2Djd|*RQ4ry z>)?IW^HbS=wk~MbS9n+1e~puh`yNi=1DwVgoP}!mV;sOI_!OVf|67rJ`IG2~4x~{2 zI6C1`V`3c2n(?OqbwN_z27WRwABHE$xO_OeDOz{*Mo;uXU-UzN3`9E&!e9(RmNKU1 z%ZpH`6iPsom+POFR+Z1dNM)5>-R9*vY*lI(U7>uOa;Ndj$15(Ks+=xdPKPR|?aOKR z@`;#)DagZARDgER+D|fBJcU@5Ma^X$M-|Cry@PjgROg;`0mf5^I`^zY(0#zHi{L55 zs;qCI?;x|N@GL4gi^|UW2vl?ym7GN-XVJ1*NALw`$}E~JTXS%BQ^Z4aaJC1D(2pIe zvYBJEtAFfJl^w&@!(^PD0nNeL&7e6ryB_XA12n|FXoOTS2WPu*KhltnCMv(asK~am z@*DI;Mb<U^4&#f8Y&&cEq9W_|7Zq7Q5<_29WJj=DUsPl}SovFV|6xN1-(smEQB~Q@ zzu7t{jQu~eG$R}qv_fklMA12-`Vu2*0O%o6gD6)N4H@ObaJ`a=5g4lGh@x$y23L=P zDEd&;vr4B7x#Si_`$y#|8Us9vNhFF{D2h%MMW>1yiBTAXr!W@dFdmcZ5Im=tQ}x~w zMTd!+i3%`jM$yZn7|KzzP>GkIPpMI}F$Z&_2-adA=Bq3V^j;RV5U*k}Uc>8Hie*@# z1N7l8suMNRmX+*BwY9EhppToH$oYu_a(-r4&JUmka^qP3#Y?%=XD+YihENEdy1t{$ zITfbAWSUDI=X@Aq3bpChWe%;A^O4f{jKgw1*Dg9@&Ut)=3%Ce+a?T}u2O2Wx3@4Ox zmLQiV%-LJJUd<%d6IlOMiRpX$oa<V<N)Yw9FC@?>f-fLjMDs$_hCrW0j;_l~xgL($ zSMxEIk$pM)LprMnfvyCH6&zG>M8Q!7#}rf%L~RN5$z-v~NGob<aBEv|!P9Y7y0aR! zANxo!>HrRcr{h|%I6{3yeT$QLR|mWgro^Zdnp>hS<3lB|tA;f=yQl$=;V13=9_J`> z6cr!!k)ku8qdo@%I*R&>`V!P%6q85P1sn(U7)3osQIAnPnAgbo<55v>Qq(XKjb=<l z{Ys+x!9dh+O7tqO<9Gat8@P$TK)Xe~jekLdMBfQZpid+VMsCy-=z`8rZFNI;^gvIw zK`&)F6c4Db`l1!Mtf`7_gSKd<Ckd;foAV@LRWy$;20!&hKggCY1fm(1(fXn^nz0$( zQ86C_xkl4rqscXzQbdz;G&x82L<V}HH+Tzh&S&`)hC?^4qxtV|Rnhl?>W<bY{OA}s zQOo8aOog2fLiRAuAvywSDoJB_RFeCUsAzSNj3m@UeKbG{Vxf9+gAo(m5PoE0#3W`x zC&My2i}5ys!?Lr;A-e)O&|u0ghUSrM=8<gXkL*G)hh&e$D2&Dg%@o;BEAqIzw915% zJrUzE36n7eQ}yCBbkMQ76`HMEq1jysqH|PGea4ICh-mVQF3@?BQMBF?ql-X}(Uc;Z zT%*T;jH1V(j2;#Jw61ldC*T>SLZ;D7lhI@xJr$f+v?jLb8OX+dwZLbfvqvA*D|FrH z6WFRp38LxT(Oaq?C5S%2)_J8%e~;c~JW3Evw~yX#JW3F~Lsh*~!CMM;DcG%GkAl4l zKEfe<j8E_>W(Im5qyoB;aCRRB{S@?2pl+KzfMR9S>9W-gvxh3sjmYfb3Uu`m{k+a% zJ?3Dx&SD<s<0W0JMQ_9`<DG()N-S2bZo(2B{0f%hH7vt&tiVdVffunFYp@pU@J$^v z;blet))bPYQe47M_zu6~=R2xmEG)0!7cjn~HPEAf#~-*(*<x(0{D~VX(oMZhME}KZ z4R8j13<<{&Cx-noG;NG-G{$HGiFrV4O|?cJj%fl0ZcL<ZtH#u#LSh&_G1PgCOY!OX zG4Y6@Rbv=8F}1b#ZbYLFna9-Co+Q*qG8!NS_n;vf;eMoni99Cbu0YSuR71?fKu_|| zo}t3D4)pBBqE$$sXAdRVHn`m`xM*Q{IM6e~ref*cEoO2s=6u$(7ivc{&A;iUKu=SM zJ;WBNb8H@r`dp1bPu(tznPS9=dAw$zr@lLlnHt>gM2@|bW9LB6J}kNg7hQvk?!iTm z;G$=6(JQ#<6X@BG2#*-~WUo~oeS^FD8H;RPn`dv){{DfUgIEku{W9ochGD2O^}&xP zHHpSB0AmJLUz)@yhCYnOJPln4#V{sgauh8WOeZn<U~tD2gTWoc^b#`)L%=|fVW7v1 z<-=#3N}@NV>?;cPQv2B#!SK!2@XcoUW}m=e{o%XpOV}66rxZQ&lD!|_E84gCR4eaM zm~8rMcA!RtVt;@$IEAw~2Zn4m!!`SJ90F59_LqwMH8dMI!xgj&5A?V}wK$&)^xz%J z*(tbqJS5QLACh)<32t`{F4Ak8T!9{EG{-pG*Kh}S-p7Asutl2!Jx)~rdj@BlKu<;X z*9i3ZSGf!e9(g}~L0`r@o78mH4D|Tgn2MakgD*Z1;wICJ#+>AA8XxF!iSFiXR=x62 z^-A;Vm4~ZW9;sewQN1!Sm?XVd#TXRa8XQ~<F&5dk!nsCC0%JWVoWpV$fjM?6=eOD> zhFng~8Vr`42#T8%Ns!HdG!2Q=l~Im%r6{P!?yEK9XpI~OU-q>S59ws{N06$rZz$kj zVO3?{RPdLAzZLvLkfW59QX;fn7xyZ~RPAldn$sFdVAC4o*BJo^`8XN&&Pbh9EyRF+ z>vTd*q6%{(ktxTSp!XCfXX4Z)oU@(+rUoZ@JDDDwOb<?`2j{&?tufT8XJ~{lQO3NC zmv|*+4(7u6yUZ~gSmO_A2fuZVd7dp}d~IY!lR=DT=on_`7|qZz%+N7Q!3-U<49l?s zEAa*@u^MZzmJ;MZZ{#`rinJ<cDhi=n5jl*o97b49o(5{pbI7V5s5#ke%~Z5$7)=Rs zrelnvjRnIuXFM3aIb|rvGnfd@IcE|kV+y6%uJdQ;#O%RtQi$0HMqtcN-Dr;a1Uq#8 zHX17CO?*MdF`wdqR&;ki<}+wi#~i~uIF5I567S)Ce2BNfn2kA&Gm6f@jrp1)IPYZT zGQLwXKj263<rXh#&wpQPv37wy`X<Y%^87;XPFg)i9|vQ8!ymYY>-ZBla1(#y8~lTR zaf^s~W&)bjnXmLlV-(3asY2&C7=KgMNs~Em|4mgVbD#5N9sL6I%#rg&=$RuYwd|aP zXF=^csa@w(RDgDJ(wI(~$vFe`FXueWq!lVH1l#Ze>E^toU=egLCua%hQ#tc>`Jb}` zuj=*L)wdRM=&U(AwTqU?Sx$L!-ogsSU5PcI-{q_Yojhkf=+QZwK>j(Ku?1Tx%c4mt z^<p)~E-Z&`3^_^1xeCVP4^Fy?^Y-HpPRiyCkiBy+){?!G-s4=SXk_IidFMuug;QB@ zmd@><uug`Eld?ML63(4`%t~%ZP>;IE)l8Gy4QaTav~ru^0W`L_2<z9-p$*k3^>&ea zFLXVY+Y=9Jr8y<Z?S+RG`w_H8OSC~-w8Nw5fK+r;Lb}M!?TjwyO1XZIB>029uG*~7 zot(P*ajNg!)H(jeD|B2Zol0No=>kSSl5o)@U7BHC##aX}s?=o%-OUvN2T0jfONT@e z|42Q8qgH|+ag3y#r*TSooW(huH0cu2`JN_e=W%`P(H%YK3H+uASMaGy_X|E#%+K*P zzQlQ4z(p_&oZsSId<TY|^Lt7Xt#VS$t^~xZY>B7?<GTjegRI^DuEFJGOW!rP9)iAW zaAiQ>HMr`7CUT{K#&I<QmF#Ma`w<J;)|C!5ZGSS(WzxzW3OzoYI~+a?;a4D4xn&rj z$&X6R9SA)Klv@tnxyj8z0rF6YA{3(pBQY4GzyQzHJ>T3h7>fyaRJl1lcOvP!>yoBB ziS*oFG(bIY3hsNr>9{!+=ON<f_oKY|<M9-pBuf4;Q0DwjwP~GvP9@)`12Yw9e$RiL z_fm)6OY;XnpLz2Cht4(KWSh?k=64B6P)c2?^ZXtPx+&<XpqGN)3Uq@apYzBc1WqHL z)5vG8a_OT;{v=EWGf$qyLSSca-U#UH>AV=|=1Lxe$oQjRdn)_(W;L59{VLj4b_jXU zrrw)J*UZz5m`BA9evY#qJk3!#DV*iD${B>3q6W`aFjv9C%9(@<LMo?|_Ta_F))FIp zF*2&sxCcIXhY|6W8kM^A9z4BfE%n~Yr)qKyt$UP%XH>pKxU)v3zQY{+rg8MLnw1q) z&fvF<t(hS)A(dl8bR{r&g^~L6Mx52g`YIz_V}xssaGepZH^PlZ_=0i#CS!fG5pGeK zr>Yygw`S#3GRw<leP2lBG-b2j$oP;E9x%egMtH;sj~d}Ig?Y3_-T;!xtKF7Bb5S0h zE^i2))CT=JZ<tnm&?mt>{Z2Hm67<15-3iX4JLJ(12A`;0V^RZ+uHk0uxV@5Rof-If z^yb0u)U4d7QmV4v4XNCsQl6~bM);u-zHfx5jPSG(o-x9+3iDJ_#zUS?`gzQv-)x~P zyFLI@uuD($x^`m^j3;_sr&zoFM6ZifT<0jh>ofwC#B~M-6zw36;xM=ha8=<rPJoHV z#e0|QB;LdOxP^al8K3CkLf5A%$_-q=d8Nrj<+_Bgs0r6!(6r|I98760-P3mQbMh+J zPul%6ego5=>ng6{cl?1r@i+d#_jgpq-bvKh5b}$y2MaV?$5M(|rh?co%{sA60kI~{ zI{fymDmE0lV2x!)h^<AgvG+h9PGj$eB1D6hi)DI?rNpsuNPzNTT8L%r#_9ujEOSn5 zT_mF~{@@6=VpAcp`Viv26FTxQT>!b2I6tHdj+IzW#;uQ6Zt`;1q$F-Kbn9M@I}BFP zx!jzLo0D-zz=2vMaubbJoUV8fO;!F3G=uTSI%2!AcKeTY#4=sS>gGmlceK!H_drWU zYlU`bgGbRG9ncYvgV{Z{6FQ>{1*i?3jXLve3X%5~7Gn{q<-LMeu|S^(^LAp6QTMFO z#WJ$a+lA#icm-Bt71m%a)?qz1Vm>xuGbPX4sz85FBJWK~(hvQqpV$e|9h=yJU|h!P z&V6hqM!>jpAIq4Gy?y6Cb_iR#b01p<-EoU8hwiw==A#&eC_yPkVid;UDU8K9jK?)4 zGnq<=T?PhZtiJ7xorOwFQ?ti%ma$WAH~Un!Rx8>{ysX?g`&ivXik*W6n1_W}1S&Rm z38>T9=kOX{$5O1LPsAPt^%c88No~VMB}J{pZpRkvfU1mkihUb;>?d}&?jOd|60rxc z2M2KohjBzNGW27Q>)d|8hxkByPvZ>U)1_?ePdHKiu`2c*wseC&_Gf5<iPe=%>=kIp z$9|5l@g>gV0xseke2bI#4ooJo-_y{0n({6f!^%NgI*%jrI3iCs)brj4^IhIC<LCH! zRr)!8-iKtFcZmN~X}lZdaVB}Xcaf*GbVEIlGs)8p^}LTkY4SeB7obFWUxCu)QK~#@ zHII_zQL?;C_(jQF!&Sxp1J`k&g^L0r?@zscQ^DT~_J*_!-UG?o#{u!|(vO|;Yfy%K zH}u6xz6p$UeRG{}2IrV>ffaTV39zJv^BvFxl~0A|N1_&@kx1j@w?+fh*Ae%iA(GWN z`E8-OF27Fo=ZyTiZ0SaDemmT+oF7G+;xf+jAH)NA2pMRG=6D2Nv_MO=V*KY~00xqr zKIs;iC{95#IDrC-_HY&joI!zE#VM$d(CU)tK661sMWyfsdfr{X5G~MkO#v-lKrIze zu?0-N1@TCL2X#QD6>uU2NpL6$iuO3Q=^j#ptldwA5)8#~_%Q;R&=s6}*d0}c8nK1T zFcTWFg|kozW5gD&VD0vZEu6}hMr`3qXv7w-f<|m1Berk>=7AAgxCo5c!X<bW&w&wJ z_&SzioiaXwZP=<57@UP~VzZ`-!gsM=Q$;wZQ@8=|E8|_t^dxpG${qwj*D5@KgE)l4 zI10vo;W03N3y<TJGW`vo;uEFtIq3C;9~qfmW9{_qOc~pS*OlpcW%@fVD9S~Ahf831 z7BZv?f54CU8Rx(_FZ>0+LSMD;?^CM^qj0xUpj8W<G}bNMge#<%7W`X%qrZ?&QmC6p zh4<o4<L+8vBUWn|H`NM57(9h{DF{`d$E^y@3c?jw6eNSOQCJW4(Ew>GLr*kAhRX0T z9>Ig^kcGXW=c5YKt9xZ(6Sn$mS0A)h4fI7j#eEcyp#vUACv-*^Jb|X@hVJMAeVtr5 z0Y2zWsW1~GV7w_6{*SfWZ%Tzj*wUL)VHxzMR9FtZDHZ0U7=<VSZ%TzDF$!bw6nIlA z9Eb5#D}TGTs(?}zP@;kdNTGn?T#$iuwRZu9Eij%b)+KwvedtNX1(dx&4~Z3U0tGD; zttHx`HQIq1C}<CApn#evNCP!dKur`-69s*gF(oSCWC{i=1&UU{NGup=OaK(HK$p)2 zeXHxcpdVZR(=HW!gmS0G3bGV88=QJUE(*Zu7Zic2D4+@o27qcPpc)EB;~C}7Kr3L- z6;vpN>6n2jM()d4o2jgxy`B3+wpMA^a=fVASKuYZeHrsG2lKH23&994Sc1uT1&s0n zMtH#*<$eNNuvsZ=!**=cBNYYjVyy<5?!OhR!w1TkL0#~+GJX#`6>S$7*#&#BAB^;Z z12~Ao*nlHA3f*BSIF8d=IjbW4jxX@J()tQt<5Q#Eud{Zp`Z}cGBewohv_J8Uif{v$ z6zyC5fXnz1KY=k`a0S2O6a0p&xOPWXk)AItq5+FCp=Y;>vOxP4b=O!gdK%rT$9fTc zqDUW{ix>b!J&dtlM5iz6X^i!vUa_qAQ_x32e+2^+3{)^k0j*s$40N@kv7lcS>BlNX zW=4SCgbV-Xd<y^3ms^GZvY%zqod^Z56sf#n&@5YIQA~XvEsD@JQIQ={a6qM}^@{2s z22QvUs{`Ya0FP2hLL%xZ?G8vqBOS&7E4m*I)eDOrLz;4|U)>9fn5v4pXcuFt=s}gQ z6CP6B3_OD7XaPoKQ7g1YTik<oU}P4x$4}Hiu}(nGZ4}YqMSm!n8@P$Dq9}Z^PE0Ld z^rfA*W8KUsqE(CUW>;|}8(-ISQHbJNtey{vQ~V1$&2JTaqu@IQmlb@k;0J=@a8~FK z#THm$WBWzb#d<8jd?mC9ygwFAHu}Xz)+XKV7mT<fUE>#R!jxdY*v#tGV85tP%g<0S zO~FhB&nuXvpi;qVFkXw+U@aJBMThW~>hx{(hN7KdbQSH!egtp;2XRa#H2#i45d*F0 z9UR5`VDuI-V2VzHky`X2bTwRb8fS1;iGPA~_*5I8=~Q;8PWfjORmBg&1Kk`draKka zMVxL07SqVZ{IiMRjlg0TTaPGOGt^T<(D=o=x+|um6yFP4y|@wRV#SR?4=YZC8aEwH z6ul{0(VWGtwe=+0qMZ_a9FHo&_Mop7cSL7&L03G1UJRDv9{MV#xI1(+q<8>&Vju=# zFor0hq0mnPi=Rafvb8r4`52+;r+5;ES5H61KDH{9=42GBR8vr*Xr&l~QDAr%kHdIO z0CPrhCdyEbXE2?sI<j)BGz(OSU3eY(-A?f`EXPdU(ktGB70OoAezC6Vif2^c(kouX zRzSP<;(6niUhzIwXBoHjiYpo4#V;#(QNe5la}>-~Fi*joSc13kHg<BY{0T+Mzk&1k znj+<2#5ed-^^*S=_}OppGfVzwY~7*^`G4aw^^*S&zE`v#a0Nf%7yJsQ;ry%k9be!N zT*sf(M}Ccs8%QZvmle5_=ySQc?#-n#a%V!<y}7eciD~MIxhr8@_v)5(?o_N%+*QzZ zZ|)n=b#Lw*EWkW01T~kt7@T|Vt9TBtfmX;}N>Rwd)q>1j^ek6<sQbC-b}r^aS6e#) zoy^sef0#hdu2$$x&aNJy!@20Bt~R8j3q=<_)y)aG=&kM|sQ0+(FmCl8H@(MAuW{3R z-1HnbJ;yx(Pvcp7v)gz)+f4^@Pa+F<1)c##c29$Pld8r|)wmc8ZtBbZ0`sbSD_&F- z&e**`hj7YnPT4)rLAl)9@p4Fbm|f3IxMxF;=(=}cm5NB`aKE8w%v0|5V2*Ncz(#Ds zW>9<XxuEvk)Si1ON#w5QRC70JO}}l+-KMoIB<XsNHJ2U^aFt^i^l*U72S1+V&z@Jg zo&^sF82{(1$~B0sDT+1`BeXI`fi5{+lb}mZS3ZhSh!Rk#u92WpT~ww^x8GeuK&`s| z2dXpottJHY`rMton!B4)<$jGrI7p(oM{pDYl`8iFbp4XMM{k6>H<!B?-)h%I=&|Bl zMoI2T#eEN_@BvQa49?;lKE{50f={8DH}?yCsg>{XBYskPSMjsbyMk-@6~BXVlY1SE zo7{hNz+bu+$i2zO@EW9&N8~({lKYz#&MYsCb&W24_vo6g7NAvKFX2TZx@KbzDmBDi zG_-3*^$>Td?`|ZjYaJGlvWw2(TBvA@BNsiuMW=Gn16=d~*HSFQ3aC%6#45Z&=Hc{^ zeMEHcQE}b7aS&9bo0@i0^=@j;eHcej1-;9;Pv9NAOSQYHQ};<wW$rKUCHRWM#ld|c zkrf?s-mb4{<HGbpDBBk)bsXH^D78zVn%&>w2mFYi@H76!E&M_ixv5?Eb;Y1w-G70q zcmJxt(%@zybN>SxCGJj^A1d`zde3&B25s!7z1_62n>KcThR-?FO0sbcK{dzeCP`d0 zVi2jCk81>5b<M}w*}7lnkP5fXp)quc6Bmy<@SrY|;6*a(!-0OP1ARJ->w~_`?}s7@ z4r@;XR;Y)#6qZzd@i9^_rdErqNWJ(tXozC!y!d@k<;5R@E?xW)(ThJ(`xSqx)w5=; z(!q-vJ;ikJ;`6wGi%^9ZQ_*p)(L@hl#XX=p=#EG5Ft5k8L@P9N5%fe;?R^j#&^17u zCg8aCcpM$k37ydeUC|A_&>L-V&mC2!aB?znhNfE3C9{b-Hbo)A9ziRbXbF=gB)le5 zp#JNP$qIe0H{FZ)nzhN<M3a~jLZTJh!$e?8Qcy>MS3$CZdJ5_*peapCN$Z@ADHg5F z1iGv-Z3QP_dQ7QNdK0BLbr`5pZAaUXLBY3GQ#-aa8=H1OH=#{$V!5I*u1u@33Tv<y z>#!ahK_!`(olToDRuwQ0&!AkfCt?!*r|xE2fN|B`%`~2^CCYRm^c|Rq@ojoe(Wc>f z%)l&E;sv~jm%+ShnvFS_i!JD?%nL#9Gxb&~{m>sh_0hsqj3=r;RhVc$lYU)dD#4S= zycGIY)-)7;3`ZtLAPd>ZMGxd59|M#`0lzX|Oy?h_vl;dp<rsDtZ(tP(4x`$JQEkIk zL{N@lN3l)^YJME1x2<8X>+c}xt$o;1oY1ag*iNyARbhuxp+$!6!rNdb8@30`WW)9$ zfaN%VgE&N~E>ezA(lq^uA4tLUGp^vW%|UMr)k%ND8y}DJ8olun`@+dPl!&H3YTnK3 zp<%3E=Q~Ljf2x1+NA;^rHx>M&;9mu|2tx1F+OPNyzu_u76-{q+CgvoQ%A_|s(-BY! zrhw5Wn5Im7ZubdJ$n-U3FfrSjPN;-m;vGeM7a!m~e27yxjWalh{rCtUgLyDiPw9u! zj-g4=!<3=PsE0%|GeGDF#3|#ZR8lAtTxhONJ`4Bg)M@U}hKhDC?n5f>M;g-61Wn<= zgLnwdRI!8bDB3A@2XsVB<9Y7TR(hU0w0ZUO+@TM%rJFvXPolH(eF|L^vn%Lpp>);I zp6G?%pnr$bwL@E=KL%hRGVZ8~Y<@?TqeTiqn^1yQCI=xW>u5(7jt(U6=t$Cz$Iu0x zKsJsiKsJu<AS(y6r=u5b@6ctYqc4VoOdVwCAVbGs3{p~*+d+{X`V&|Vs@pM)VhpA3 zBcBD87@5Ukkqn$j22EsQ2WmQU5<K<?L&9T;6-nBW6=W1S8M=0gtYiEpA#w_<b&cO7 zL?%(p$odMB6*N$gqTn6{4Hf(k6BL_LM3$i(%tVpX%>*;_${U!CmsKPtj>vgP^|=Tc zq>+v6y+XpHRis(a_>5%SMmDaQNzFyB!+jz8=oWduPUisy=?a=Ecu>JZ3NjQd#|v12 zm3LHSzM|At-BFcsnzWj=CX;4u*p+c6gdUf1R>3F4%lJrZpK9$hf@U3A`J9T&U_eAZ ztZJndBHN*@3eq0*u*h2X=^SX7$Vhvl&SCZUx-g5Rk3<g93LPY}cFi=M2i-IB?hxJi zjEth+M(T-|$QT9svNY1IK<|c;@e1g5k*z?_i=^j8_N9qS*DR()x_->~nljRdn>8o7 zjPty9(L$ih)W|SazG21j3$F0GgL%Pm6+da@M>13#m#as<<9qhl6;1K4tDII={#3LZ z_y>RCU)<uwJE5bgN5_vWL!n62P{xIOC=lH{LsMWgj>zDM3{8O<KZ7YS<FZQ7j0hRb zfWf&p;}Ux`|20z@S9z@&XOMAC(S8S|$heN1pd=Z8gHmNsnvCx_m=ZNpY?XL~V%u5C z(j}UMQQ#;54eBUF5sFcQF(GRfvKVCwSu@x8lO2wcY)-&v(1jgOuUSA?f&Uq6bZrM? z%khkInuN)iVhW6?!_4HEc1P9d)l|S}-EtjWg)P|3v7@(PJ2vX%N1uRk%T;eYqu1d* zia+`t=$7kf=G)P_<vMy7_F)h9BY*=qh{M=`BRGm<IHhFH;H*|YqD)gU-Lz)<L)40s zVl|^<HA{qt^qbX165@?E$>7)-HP$?@W=UXgEb6N|o1uY@PeCIzL@FBNJ}@^oV_t3+ zhbDLcP4B4kwLx37LkG^)*O7Ah9z}c9p*%j4^eJs0Y5MMkp3w6((s6Zl$-t5l`ZRoe z={k<|eVmO?=~H4Kh4VEBL&3+G^ChDt7&*Sy{QA8vxr9-OFj^)og%rZbC5*EOtFMcb zFiI1aRQ*M9n3t``$UKY!hUo$^ES;RgI-rT-a%N%V8b&pSk#iV1hmmvGBOuqXdLZX8 z<=lo6bkaHIfVth*L*?%cMzgP*>fD!y&Z_WmR=Qw-PBb3_b?_iOg&`P<VHge{GQqot zZv?WCO_rn3Stp!}Ug)VplU*2-M_6}d8Ajq^U8;v(SXZ`+b)Jlpuz@;PhDn&-U&021 zOv9c88HbT^7#WB8L8f8dK*nLpm{SZJiP0qGD^yb#X{}T#k5w>UrD8ONO~kWGeln(@ z+$hx|)+XF8)zfUfs%VQbO{H3b>54W3m3SU6;6=QImoW#7(XhFghxu4aGS=1PZe@g6 zH)9jYShr#uHYj)NajdD%-MW^olZti%x<_keXj=8~l65EcVmBC>*8K?J01jb24&w-p zlKb+zT;{-_wL1BOI-hUS1A{iPTvsPBh_ZyO<pKA=AUzoow&A~B8~<CbHoGi$bNDce zy6Ct6MO>j$h6VfUeWt*mzFNIY7gAv>|BLuTjkFr1sqDTB#`4Y4#s}=xMQ_;Fnh7-n zgVw29FaMY9wvam2<=CDSEZW=uE#Lfax%0o}uK$+1|6A_)Z@KTk<r^wSB5CjcZ%5$2 z<wXlM!Tu}MhB<<j>-a;begijgO^soWWbK#g#t8eBJyDd}T#McRQf6~)R&Ei^d?!Mo zb-kc;!(fJmgRZi)!Uj9NaiInot>;?-eZ=yu!W($ir0>Ffujye8-y&Ti>f10Mz0Y@u zynQsW?=7vU(tHQ7UePyzIo?N$`sh$TI+Slac7UGZdj-tlK6;CfIo!gGVQEeZmWTD` zWMR^<v;h-`r7hZlwzjmVyfZk!tZxO)(=Z*CIz38cre~Yy>YN!)=7kumzmjGqGxMn6 zUr95+$hwB2dA#anf)0Kf&!7y?Vj?DCGN$5XRNy%<7|oBV7MY&Rk1L&?(DY?y`Z6=0 zn7e86G&5<K`|9=1)gSN7UDztoF6I&QAZ1^K!HPQs!|)V_!v{Yyk%cF~WMa-iF7*(L z4xF`x11!8~=}Ib=?&yKe>MR!GSvppC7RzI7<&n9CWGsEi+(KHGzKYflgD?QhY!(V* zVP>;X7z>56bOMF4P$&z9vbdE@qJp|6#n*#%mIU=ROFUBG!98e*d(jA~%Cxc3y!Wy8 z0MgJD4}y0t3-2G{Rh(A%clZGBlW6!UoW@C=R`~ZgUVU2OC)oO#{KJ31N8}LxBR*EN zPw)jk!<YC9U*kM3;$3`$OZfJVDt~=1L4$AtPS~H0G?MXCPCsSzH!>aq_owP1aDPhm zL*RbS(%+o|_`5<EZ+@D?uPaag!)S#TXpJ^#i*{%aD#qUd9iir7Fj}mPMvI+fED<DO zaX@X!2)9Hb8ZmHE=3mwR92CwR5w2^}@W1dk{!k*Jto#<dIUjzNZ8L?mC}Gv_zxW-u z*uE2bO+TryEHV)+)@GTW;IQbA(^w{{S)bL~WUWn6uoP1h2r95#5oX{y%*7lPei~L{ zIw~>KxRkUo0xd7$Wz5#ey+Nmbm88rEaF9}%52=@!592tFf_65)0~*bI5<g)t_K=Zz zKLXelP1~5S;I)uc{Y;Ft*Kw8NnSX)qP?~?mDMh1CnLol=d<;5_`BTtg%wJ%o4qC1* zZeE5pSb?=zhxOP1Jr-=<WR!R_Ydf$NZ{jVyjh&zin(2b(uW_EnF<(%r{=he&!<)ZV zPT%7P{AeZkliBfo+RMi|`6#OI9EbQQr;l>_&S*UNI33>y)#JhUAzQzbu<ti~Ny&V) zz3(eUBV!*~`7YoRz6II(E`uC>REO_JP_@3F$@~Txhr2*>;dhdPzIqQ=$^SJ5qMNmw z)ft=B_dGf>4tmcCr<a6>E1Crnuz?O89tk>hcx}+B&Hu2B1|2)x$+oV3%?unfGl^MO zz~+Xy7xk2}xee;x&Nzv!_GD~si~H0T?Qp-MrJ*UBfGNiO5HipV3{G=09zhGVB=fpv zf=8hlEu0L)8<I?TDjFk2?}XtUkgVMGJ{VpPopf|Z=z=)>G3bIgoQWfx+``E@oE*cO zgIvSOF<iMd0B0HA8v4{7PPxN%!!SG_eV`kL;r-AbJ&j5)WR3rN75sD<-i<9?NQM_- zuyQYkzTORg62mbRKKPM|5y(al<RBM$wD_N7>}L@A?_@*Q5PsnlegEhVp+6C!WaYn0 zfhH5*jp{puzMJgwYJVMQ_VU+-W-vbu?pJ&o+)rcssX{*u?Wdvru_W?0OL~%@ZsVuN zSoGKKET^y!dr83(zyYk$0|=HgSY7=9g5_<tJ|<(!S*$f4K(L%+b)E45f@M89ST-xz zs9=kNtqQg&*skC`?85u_03YHrm4OazxrhrY!zFx+uhj?^I;`dM>PE0IRakXj!}2eF z;N&g0@S~zJlq`%-%N6_v#-imKe#dn%A6Wjx4csJ|&~O5Jy_H(Cs`{){o0V~54L2^s ztQK8{S!-5bhUu#mt3Hca>8#cm^0qdDQ!%M5D-~*`a;>zh)dNMQiL6PWuUoxf5LoM> zzLIH$CQ9Z3&1cr8XbuLBm9A^0>sni&C3GXv+D5aZwKeGf*0$&jhJdvf9!Dp1h3+0& zyP-RJC~<nYwI}*&qn~ouLpI@~Ij8VBD8v7V75)sK#ROvn%wug#b>)YTWowb5&Bqi< z9=-rm6|Dj@Fby;DJZ7O1FJe4i!poSA4Opramg(HXmt!?nVhz?}9oA!u(%+<W58sF# z*o>Wc69@1X=$+xau}cT;1${bvzY;$L`gQnWZ5&bgUsIs_ahAeR0)0lbP(n)yMqwmr zSjK=ewv5xp)702N;#&uCto2C+Ln8@>X^qOW`rub%GRCc$M6r%Q9<q^-0u-VMqjW&2 z(VpaK9fy&i4Au!yZfXrHtzmsu{q8kTx7O#hmx{Jh$=0cABkNL3tZpOgB(_$nP|NUw z3bY*h&ecl&TjzrMx6-gyTG2`aS{Gt5reFzP!K-&v*;0_qIos-yo-GMp*m0-6SF_ci zV73G>kZiglwOOH8?s5?%B1C(Y1O>6__MEMj_Atn7F^GZ_Iy@E(9~;BS#;~!~MFb`J zpdP`8W&+(-vR=n$_>^?4U*Jo8Y$g@!4H$nUQD2r@&*C4&xQPp@h`(@A(Z0cDe2ee# z1AfF$xPp)H3x36Knr*DiA)y7FZs_wE4K-lsSd4@51KQ9^){Gy}QXQc*a;UEHLSI0c z4lc(eFt|b|gW3+AiVD!Oq4a~$>7a2#X<WOqvy+{j?Ci?UPIh*(vm4pj$<BWJ_qulS zv%gG9?c`@y#&$-XT^ZZS*iOcFGPaYkos8{dY$szo8QaO&PR4dJwv%zh3wH(jK1Ajb z9|Zc=Wida{w*`xNA%VX7@-$*$aC=d3F~`y*(DzQgYek$gj`!;=B4TlkK;M?E_&?Xy zi~3mB&=lzNd-c0m#7n{G=Qys84mlmn?Dd*~zK>A+h%>?MrR3U5xh@OzZNp+!aIqq| zcq6!29bBvlF4hJY>w}Bg!F)CZw>AbBn}UnYjNphZ%Kap^L0`B<?1H{<i+B^e@iz8g zFZN+S4(ot}8o?0<P=!M{juUtX@9M?(snxk^%I$asOW12?INM*xB8^}>`Pk=Gk6`<J zwsuh{`&(F{rX+v6u8-}juokPa4(q{8YTt;>U?khOU@JHsKgaodk-49u`3GSjsrZNB zN%YsJUjGsFR_23Dto6ZhGWQ?Fa5DEFgHO?Pa5hFD2f4^YJ_^wfbVGkJN|fn5jE5#r z|I_#%#uyhk3s@^tHqR)SsGw9`Bb=3ys8G(FjbHPfe;ODGetM{X7U=qZ`njJj?&l4~ z&j|6)#vIJWVk}V#ujtLi|0<S)3iq$TO02>g)RO+VpZ!Z5f!fs0`P!>+P@e_uUqkg_ z-&cKS!A|Sj^{s~eJl-Q4`vvI3v;6~{!6}@@IedhV@hJ}AGklIOD8U*PZ!Ky0b$i~w zQQgT;gZk+#{!O6e{W}l<y~IzK@Y6m0x-IXgOZw@O{(Va2AXKvN@T2kcfc<+D|I*MD zau+Y#FFWar`gSG4%GNI`^{=F1{|$fO8m{9{+yIlN{cj!m0}<{2XzgDGw+JF4n-bKj zc|WN{)DAHj|5Ya9ZtZj_h*l7*z^x!oLA-(lDm&s4)I&1aM>IeRjK6jt(ULV!^*D$~ zWUH-8+zO49S8JpyT4SW+el)=YPzDbo19j01&G9gLTFMCZRec1_5HSc0fCyc?M-0U< z=&uAv_*B9Q<RMot7l7U!k*(VS5%k0ezixHfOi!?yiRYE-bm;bVgq|gg7^T9}StCX( zg)x|bad;Yxf(R9-9Fx#XQTotG5xRvHk%h@%nvR$X`borjy>L+hT{Yq>t$eHCvYGEn zT&#Srt*iJ=IsT46@JnqP&*5h6$B?^&&yYp@#2$Tgbi_elpgHsyfFm9?iR+*O92O{L z+FEb)4m%<ch1$yL3M*8HBZhVT7AE3`g1;2#EjQv8fkS!M)rvl>ICKr+XrSO8f{07) z8S0Kk+HQ>dw4y6g2hHhds+ETn==(Is!vwZ_D46Xrq(L7zZ5(N%;cbmIhuS)!VRhfJ z-OJV!iq;t!oS>}>^v#@&K4GJy+31HhdX|k&Wov`BcoeB<j}GWa?z4#Ls8n^(bsP(z zC$$}muo!c7`_%D54ITB8dPWmk(!s3c&{GT!TF;>iO@}Ua9kiZfnPM-;8(4|eScA1# z2gbi+4mN^0z_A(n`LcuA#jz9m2Eef!dtm&0*};V4xc&2G$2PXkDbv%?&zBu%pr0>0 z4&o>d;~1)N94GKDcHku5!~4|0Q>u1KW}{o$Mv#In2f6TDS`e<sP@T5^`ju@MHj}Z9 zbFk%Wg+G4Ze>RnuNwsF`&Q~Ulm06pFGU-5>bRgTtK>w~$9yacSQ-{PVh*Na_R(}8I zcnaV6lLEHVK!2(|Q;%<FGW7lb)QsokGU*Zie?t;U(|@Zj+a?7y6oe|Mso*XJVFb1@ zf&N=rj55-)jSX&%3ogb77ZZ5B96tQ72Ej9U7BrJ>qH5%IOvg0U$V@zs3Zo+~V{Ovy zjyRdERZ4;ux4lSdZM*~7UQ#srh;1HdYukL#wQLK)DcY7`Dqg{>cn!bfd#baes#BvQ zGaGc@%vK>W+H8w<9Q0<RK>vZ}C_NUIIk1L<J=;@5!l+5(>oz^FXxo+%=>G&S7b;#J zI;tY`@fbzRd>mcD=*iS!-OwF9i298+(BH>$M=%N7rT@0S{crgluU)nTkGaPBTdJ>* zu^;<%;s<aLdvuG(_9@<0eHot<=-;+4DU|Iq994aNj$?{OSGCbaZFE)JNzg@Y>Y@w_ z8~xwLh_KP&ZS-~9S!e`g4pH!wf?+zb;qYr~1cB`jTn{DqlP$aQxQT!8w>ECE^G?)Y z!_HxuC8~LvD^s_DGM~l-Udk*3-NkOEiVJnskV&&<>dJ=4{MdK<k0RS?y<%R{XXs3t zJX4>cGimoseTL4gzzj?SeJYbal{pKQBxDQppTZ){NWdP+sy(<Tp4EupDlKiV4SmG2 zM}g|K$Al4h;0*Nt9}E5E3%drGtq1+X)>Bp7OP5Ku-WY(s7>Gd_j3GowR4iSm+r7%A zzSf2zSt}2qQH{Hl>w|a*jZKyYEbgn(gfJx}BGjfI0om_CmZJEfx!tax+S@bHQqh@@ z?d{M8kD@&~pd;v$_Ip7Q?VZ3JWT$`HyP&I5>4hhh3cc0N$=K<w_CDZ*?ETOmoRnP` z!FHY1lX%KTkdLAKHMfMc^>!ACbXiYL1@%ESd2B@SaONIr-eXZ4ds4uErwabTEDyEp z(Yu+4Q}pOP(xV$ho`%p3B999+mB)<)&?25h)Ik!$;YBj)-BA@!r-)w&CWH7_sJi%9 zNi%*imS8UEWAVCu6HoVx*Uf_XXYed0&`slwyEZJx;zh+(UyD~ii?0CvES`QAPd|&N zpT*P9;^}AcbD+<W@#8@kjayCTackHUw+j4g?<?(D?!jJm>N>xKbJxfyzD(s5>q?~f zNBl&7#aHn&c@|&6HT;U-!O$zdjz95_4ltf4FTP1qO5ksn>@6Yll2DLV+<Nkg+llSi z#;b8};w?(lV11#!dW_r6di{{~`TSByFK@(r#ay5*YBTN?P=|4^;x)XErC5&5M80P| z|0VlML&B;!{*&~TWV3sNW{|l3<Q*T&$}t>Oa>sE3hs|AiDUO3Xt{<;y>`_(N0rn*l zF`hP$(`STu8a+;*5#m0;88BtVoy9qPgpa{o7<UMtK_8ss^rb@FS4vS=6LH@tflK&K z<)LH7{emmn`x~h3xS#ZORXkla?wVp;*2fmz4~hGp-FK@<v{Kv+6{!|0Hx>6U+`>QX zWWtNrQS6T=n%-dJXwG<LNJGb)^`Zq<t>}Fxp1vKQq}SVk9v^>?A~!-R8t7dyz8$>P z?~3vC^7xL5${>%|Gd1z;q33Gio8TcdMFyIoIUYs})JID&Rm8VOC+Ja=c*byiFX&N| z_&(^1?i#A`h3Kd3x>SFNi&vv*7LPB&V3nX4`alr>B!*)seDEU^Ban@5$U!dhX!kmt zR)oW}-r-=Q?)nyloolSGrPg_hgyZy!lel3ZkvI~JBcZq~kXRfEdG1G7%Hp}tt|=j{ zW__Z0(nC~@o+kGaJfxthf(!-C6f{@xumaNZkd{Yjb)zagdFTgy;p`cJf#^*$c?!@y zM02r++0mo1=Am{x)Pje~^W;+a$2hO0`mYO*C}_-o9>4N9?$f_qxE~K79bBa!yYdh+ z&<xGdhI7iN3~@6t3c8gVHwI%-qP`F}i{n~`tWT}(4snzq?j?#6$3HZ`Lc_*At$KR_ zn%Cl(;Nm9Y8BD@tOu<w<2U;#}8m40gDR?=7mEi<?p^LBh&Dcaz@msMC8){7?#rXYL zZ3>StO&sfBbqx;b_yE>Y9WAx7gTT{<62%{2r7g*L+My%bgX;1;4mzTzGY9R&TZ*?H zyRaL~mkDN;N2!_w4bb;+QYHETAL1QLTV7&{NvOltF}<<q!NvG0_9Q5|(*y}_R`fYA zUf;ea#If?R68QvQfO#YSOMHc|ah}>}yJ013mlWv)m?Pq^;YVCn-0$&|a{5_^{Hj2g zL-98i{Gm2(w_yvbf2#(JpA5(UOWwptxD%mJS#)Ay&^u)U|D&9cCP;{c70fjWwL$wQ zL?N2g6FMr9$F$ZS9dJMD>aQdvXhKP7jfT)jNMJ%qU_wb~KqVx!g;#r%Q6KtZCPCk( zBs`$qOdko&z*LgZ984bxkDvwUVF~T<DAJ(mBOw>Ppy?xl=_7&ZBcZ$TtBnMvmISVy ztADkTz~qroto#^G2~Qfo+DM=eCp=}`cS#sZ11IP^w}jyeG8K$akfk77L4PohBn-en z45FGJg@^Suy$SRwBjI&ShdyN_FrX5ihw&*RVHs=xeaZ+?NhU*GJz+WYIU`{O^f@Ep zWz54I%*O&O#3C%gRB+i-mGBB)#Rf&+sB6N6P1p`PK*A2ZiMQ}J_8N`6Pnqu4#b3fM z9ELi(y6q9ry%Ub&80dZp$93SlIEnX^#VNdx(>SBErgtWMj?Z)`y*Yv2obZWej)XsO zwtCt~ILDTHX~K2r7gq^?Lhq3Ymq5o(_zpjS-k$Iie#S5O7{B5-Fd{soSiXjTSXZys zcd{O#gdW|R_l%)+y4@8RxS2iPGL+*PJW83pK6F86;&`6`jq80}W%g#GeRY|=9oWjD z%-#{`MVY->=&fjUIxqdf+Yj^!?;s4u5IhAY8t+gH!*EPeNhT|;XEBj7R;jed+2c71 zsyu~SPSNE@%KK{06j~$YEU5DoYA@v@P!%bka5zouS)toKo|T-D=KwZfy=sAO;Mt6| zE`mc?rM+)p4Rq7oqZ{TPx`&5e;GuhXc7vYa*^7M$fZpLbf~{CaIa8>2&vmj(jA7*# z{v{b*IO)^8=WkVDqVoK+x&l2n*rN-S#8})#&WUb>DH;=OBIQrCz>Www5Q*9(@)t`b z7=>sue;Ok(2D($1G7jURPjxA@amwRb>4C23q7B+Lr8|0}7doLg7pOkygJns$0xOkW zV$<9i2n_7N9?!d~)1Pq$r%A~}{d=f?&xgjRiC<VddHd4@?+zYazIlGdCtCSJbxd#d ze5tsM2+u{F$2YiyZ}A=I_MQ(wxA)NPJ#_oJdb%WudP*XxBt2b{L;;gRdF5Z_o)pg- zPnQHg%haWwlJr?GDFJtB#X{~$9_YF{i8@ZAPLrtLq*|bElavbennXL+Wf18%Ye_U* zl3Gb0rxIJD0qT=N;yq}HWTSywv!;tE-ThCj3$8h;65D`lj;h4_@c`1%6c6GdWS}{` zV0uq{1TD}`{oqlGo#+QGm#CIYq~#L3qmz;62-Z4OcdEpWY~?CO7J4i9Z1hpIz8Hx9 zU_>Sk#t=LSMq}dR7>42Sp+G0`0tywo2=uDNvD%mb`ds2@qXaLpR&u)prEJYr30{W& zpL61DJgaCEF%^?hf#)y{)4`iU;wU_iS*WBtmM0TDL!GBA2S=w=kW31Pr_8_<J=2!5 z63?o|Y0MOINYQ&n$|~qRBZX3=%)=ba#{w+GA}j%ANqLRpro4hz@w_&c(&77o>&|0W z20#_JfRZG>h1c<#PG}h@TH-54J?vy{;q7`LgG7C>Ox%SxR1dqcTG7^E1J+?9HeoZi zU>hh`;&$x7n`GXb2Re^kIf(8`KG(E$Ooe%Bj~apQKWb$5z!`FCm}fE(=7UCPSO8kB zVKFZsV)%?RPtl)E@r<uAWei7q7EW18IBCjQ!igbMG;esO7+X_~@EP;nQwHlHC(mNz z$ftv+Hl>G_x=HH!pK;u4HKx3-^p+S$O|Lnnl#}(mVr<R$FWs5OkuMnGEF*l;2wyV7 zmyK|?5zd{$yydkk!E$5AJnitzH^K$Ri+9rw-gLylO|iWRU{HHqY6mYv%o|nR4qoO* zZwASE8FAhuisoh5d3D9*rF(f(P#^bzf$Y5(jnEiQ+y}<3Hx2qY;H8s#^-;h(2GpIm z#7$5T5?<TRvJlTJlUX{1PVA)vdS3*iz)L6e&IKLPtJ5sT1TdDo|6`8HA%i4FL{bTg zNg-(@$T6u<XO={-Ps*)6v!pz>Dmk+x#!k{WGEHLeB#l=z5=|<H66LKu=~+y~BuoK) zBWWrs@ErZ)NqsgtjHf~ZlkQZf(oG~khC{t?1hSA#46lm$D5$KYhRQD$)L2rAF$s5I zjc470lW<Z!wmPYp%uPx6Yvloz^)WP6T$&@PIhX~L9>yb}*Cn+C6KYZev_V_6qXZh! z14t&t_+QN_gSFbvOiC$zF&xZrDL(k2viI8hSA~mZ?p*}>AIhcRuFSD3qc9pp_J~Ke z&g3%i*p-=EkLmpLf>+58*teGPZ+g2qv@d__1;Q7!`aH^NwpX?3LtuHxV~YDsCxXce zCMuYsV5))&1<xrMyY)O_p^?%!V|~04P9UsG8d9^OrYh&j5Pn6h3!S8=DlCM4BOGRg znMOFm2(yeZ+X(jrp6Gc;RcaR+CzZ)8wKsZEEvZyXYCrU_v?F{CUDY_vNj~)nET;xj znbT5LtEofCKXoadR9r6CQmM++VW2uwGcf|{3bXf~Wvx4M%>=v+r0TOoD*ZK8BP4YU z7$K=eHbzn^10Xdo#2WnL6sgQosq=L-V<L6DR;DW`Q|=6r)N&<2*G-*_iJ;r2PDKTH zD@dJ%nTo=YOJ$&?z5oVVNse|d!eTZe*+_bcDoNUkh0rauBwk8lmQ9*x^w;gIy`lqO zuD+|1L}8QO)~+2`Mxm14#B#-5fz?<AX7Z%9Scmo42uh#CjGnX^%;+WDLp^q7&OWLr zX*Zk9Q%QTZq0bvhmv9V6mGW_%z+togbyL!J2xzp2g_vopqyu2WuS&WMT?;3D58aAO z`T%Ee3N%X6IedhV@hJ}BGklIOR2yI36?j75QkLkKAW2{03LCB(J+;qGZYBEGsuO)L zWp&`Oy_~_^eRnfQrmi7&Y85!ORDIW<x((D|s_|32RLY-v`=@xR)Jy7nB$WCN-loW@ z??T`Cr|!Z&?7@BnZ~zB!7#nZ|M{$(`rCw7yzv4Gs(FPTls%!4Xp{(43uDSK`xv?@h ztAA3~Sj9aR{1;`ZH&{Qdh`Q&Hs{0M8pWq8nIjLWQnn?W`=W!8#;af%dM!{tTKPdPK zKa)HK^B%Mk9Aa;BEGzHhJ(Bi*2-?GY+@x{mJyD|@;Sv4+UyVF3=arnONbzjw?c1v? zydP7vWWAq#qBLkbFU9iGZeEJ!rD)#sxBz;AS4H#E8eV#W_Xntdcqy3oikWmGS>dF; z*Np#A@8x8?f8!6mnIzX{?U(8f@1<gsbq_RIFWsp^L_uE|B@5M<Of4seK`B$U$#jln z8;M+HX-5Pc^c>@?I_ap+O0WpMp}8oTxhR>rD7lB3DIvK8%tgWby2($lHCi!Bp)XgG z^=p^pkr=GFLof_aVK{v7BNKVhz)$Xud=#LN1`1<m<8TF5&8Lkcv`VRylj;!Y8a_E$ zAODlRXoz}fjC;`$jgX4_p{w}hbTq*Os-VZw6#8Rs$qy-q<P5YxbF@S&v_>1W(*e4o zPtiC^q2*E-M=2UdDcis}N-@S!3galn7)R7}$~tO!0Tt?9NK~)3mSHKeyeqI0uh}`! zy8(;!>ka)C1n&}TQH+gvlM;G2;Vngb8;m^fF6_lV>_-4^;8m=~8my%R8oMd)Kw~$B zSSiFvA%zrTr4TFS01o0XC`QT=(8p64q$PR+u;gWohMoW{8H;f!)k9PzbD;NtlBX4v zDJZOdzOID+Q?fw2m{?0DQI3*%n5<N$U>Yhg9WyW!&!ZCbuaXz=B3`<qs$OKE3;m<P zyzmNr-P2$dsWw=x;9$jO!le}ytHJ9b6}lE~u-w>MVT6lK5zdO97P@hRB{dr8;N)?n zkUSsH;u#_&Pr_uB8N-YBnq=c^6pPw?0`wM>ya>;663L4(P0=WL@+?sBWD1>3fs-k4 zG6hbajsJlPO6K&FIr9edLu_Wg2&v#lTA{YiB;H^_1<5z4s!_2?=W@h2m$fx2^sPXH zjWsI@$*#dsWACPr3Vj>ZU~|Pt!tF-5)d+VO;hRSImJz;fgu9Gzk&(l0CAhbOT20=l zvp<P9u|uapk4oN&ZN}NZ&)TNyE7fGxmnPoi53pBf{~`7%8r>)P5DtK@lY9h6LAOah zj;&xUB-8hj-zEEfM)v2z>6aCxSTB_Q=kc`?yNGY_naS*7@p+AuKo`A_C4Zzx-}S?u z<d2DCQN%D(m{uduRYNNIGG(gA089Q}$^3vT_zAz@SNw*n_#L0(4_wEexS>MaRHBT! zWM<gpThN<PJ?+%eWF>IW4VzGLCH?R)n)6Z#b45u@)UREKZ~$5ntE7#Bb_&`nsK<{N zYUvD0nqr7{4MYRu!I6?dtfm+bj+ER}m-SQy_bO<t;64TSD@aq&3lD+rT+#=9sn`9~ z>#-~I%miGP9lN4$BVPxfbB|qFhUL)b++$aEqWW|0u`7$%+N&75z~|g!SM=rOYDHUv z4OoYb*aUq!xdq#>1lzF#>PN4u`t*2Fvhgf^@^aRggpyZc4VZ|M*I_;74b)&Be}GzT zOf@uas;xF?O^r5ghez?SDMC+vHGV`te`x#=Z@muwJ`AnUI0Hi!hxe4mood8twQEgX zbv1qxPlULXPB%9}F9kgm^j6SEL0<*^6m&pybi`wz`5LE_+Av0LCw(<gvRDnyL|MYw zl<1ME5>BUN6<*iHXURUip#zsxzZaLh!q!3UVsMnKr%)wKuq7K5mzlhTAyLAJD%pnZ z*a51qgb`Ts8W@EoyRe%g)FPQq`ZV2%PcT&_M_9RATUKr9CUps&yX14|CUwb|_zK7L zqnQ%=d&$x2AI+4UW9z!2T|<@eqnQ#$L&<UDM>8cSVp)Gr!Mh6HSMY&?4;7qJz<4TQ z{FVF+##aertK=qSDCNacvM<%;Mk#|ycMwW$X(B0&W9_f%iKOIj_UQ7WG#=p`Rhj^c zqS4T$G;Jw;s5BC_P#a1lnneC(83QLcxzbW)JRcLF56z`aw54SjtM{bRg(z26&nlRt zU}W`sQt2qRG@X|&f~ND*#n5zK%5+{j3p2rVUit!F#7mfsF_?q7n1|O@jsu{lm%gDC z=;o#Cuu}b_^bpo7tEJWbqjVWt$F%D(wkY=_*s8eO@D}J3rSyl=ouDt2(ickiVg=}N zrSz;)I#sDYwU<6@BH%mHs?ug?jvTaB!McKeUD{EJcS2{RB!sJxx}gD2JMmZeS!;`i zD$BjvYJ~ft<kOIjCU^i3;!!-Lw#!h^1+82<+dOzf(t<x!D@|srNaf0h{*Xgy0R}3A zL3j#7FciZu96n^CK1Lu5+58E)RL;iz1e!u$tht#1-5E$%HM_fmKb0N4XW_n&t=?qp z?t$i7X-V$xo@k}Gt-&d{+oC->fGNODRk^7pH>d2TrreyEn=0(2zp2;BrF8lcWKi(* zu@mdwQPqSV*@Pb1gdW*M&$BhrHv&x<4^7;lU`?VpRv&WGZ$a-VO>_jy^uNsn#`g&< zZ?IEeA~XrpA-vMW1`F(n0E43m1EUFpBK<Fx42mX+sH0eQb?Mq92@OEKH%Y-gXo!37 zICjg=9Di#ocTjG92qybmTnZk$wFi7Wy!Dpe8g8A&w*N-!v0KdTw?0y|GdRFo!>zM8 zsAz|93`bCf<2ZqLa1z}1y!9U5#|IQR?vARFcXL*0x&}$32dC|)*l7V3JM93D;t-CZ z3deDRNW-DexFhLjBlRrENX~g=9bVlVXfs&PRFCwdt`6}k&|7xevOpVSu%|2erGYl1 zc_CY`W<tGu<Oryzk8A{b`bc{ENSb{lJ$)oSeIz|S?P{P+I~J=rE^UQAWuz^~TC4<P zJZ(KTU}K<7E{jb%sm;boZDH+AYy%@YjnSOOXij4^r(FxC`+IP4fj#;}o2HMQY44hN zLXzb>w0YVoE5S*voz~hJ1!r;2LU0}z@l7bfC7t#!_zpinS3+q&;b&aY#&7sTJ&~T1 z_AmZnZ~C23T;m_#q|=wvuB!utv+^e|>2_8+y*vFb9UKPAkj|^=^v`tqW;&%yr*Ed$ zBF0UY>YsG{bai}ppbgD6Yz`R=n@5n|ng&VNrBQlIv;uuJJzn4TrR$sfbY`&hdeEoV zboz2S{Wx7;;H1;k=^pJR#q_#pq@ty24{euDyQR~P>9k!sZI|8@%v9+acmyrb5Sj_o z+p96tnE^&>a!But4(L)l(E1C;SbEnQf!0^_N;ixMw7$WjJ9-3KQ=REOYX(~Dk~6)3 zaJyGXp!JVRv3GELKycAFxEL5*3<@p=2Ny$(#mKJ8WN4uEZ;H*$+tyc9vXNvvvM+kD zcX*)n?<{=AV∋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�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%0D>uU2Td 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 Z<P-|yZmAMz4R{Z45u;SwTD5A`|38i8y+Z&1 diff --git a/config/pacaur/config b/config/pacaur/config deleted file mode 100644 index b49e64e8..00000000 --- a/config/pacaur/config +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# -# /etc/xdg/pacaur/config -# - -# The following options are commented out with their default values listed. -# If you wish to use different values, uncomment and update the values. -# The Color and VerbosePkgLists options can be enabled in /etc/pacman.conf. -# The clone directory can be changed through the $AURDEST environment variable. -# The makepkg environment variables are also fully honored. -#editor="${VISUAL:-${EDITOR:-nano}}" # build files editor -displaybuildfiles=diff # display build files (none|diff|full) -fallback=true # pacman fallback to the AUR -#silent=false # silence output -sortby=popularity # sort method (name|votes|popularity) -sortorder=descending # sort order (ascending|descending) -#sudoloop=true # prevent sudo timeout - diff --git a/config/plasma-workspace/env/path.sh b/config/plasma-workspace/env/path.sh deleted file mode 100644 index 8182e2b4..00000000 --- a/config/plasma-workspace/env/path.sh +++ /dev/null @@ -1 +0,0 @@ -export PATH="$HOME/bin:$PATH" diff --git a/config/polybar/config b/config/polybar/config deleted file mode 100644 index 53b0c445..00000000 --- a/config/polybar/config +++ /dev/null @@ -1,439 +0,0 @@ -;===================================================== -; -; To learn more about how to configure Polybar -; go to https://github.com/jaagr/polybar -; -; The README contains alot of information -; -;===================================================== - -; https://github.com/jaagr/polybar/wiki/Configuration - -[colors] -;background = ${xrdb:color0:#222} -background = #222 -background-alt = #444 -;foreground = ${xrdb:color7:#222} -foreground = #dfdfdf -foreground-alt = #555 -primary = #ffb52a -secondary = #e60053 -alert = #bd2c40 - -[bar/gwarf] -; Use the following command to list available outputs: -; If unspecified, the application will pick the first one it finds. -; $ xrandr -q | grep " connected" | cut -d ' ' -f1 -monitor = DP-1 - -; Use the specified monitor as a fallback if the main one is not found. -monitor-fallback = DP-4 - -; Put the bar at the bottom of the screen -bottom = false - -; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%) -width = 100% -height = 30 - -; Value used for drawing rounded corners -; Individual top/bottom values can be defined using: -; radius-{top,bottom} -radius = 6.0 - -; Prefer fixed center position for the `modules-center` block -; When false, the center position will be based on the size of the other blocks -fixed-center = false - -; Background argb color (e.g. #f00, #ff992a, #ddff1023) -background = ${colors.background} -; Foreground argb color (e.g. #f00, #ff992a, #ddff1023) -foreground = ${colors.foreground} - -; Under-/overline pixel size and argb color -; Individual values can be defined using: -; {overline,underline}-size -; {overline,underline}-color -line-size = 3 -line-color = #f00 - -; Values applied to all borders -; Individual side values can be defined using: -; border-{left,top,right,bottom}-size -; border-{left,top,right,bottom}-color -border-size = 4 -border-color = #00000000 - -; Number of spaces to add at the beginning/end of the bar -; Individual side values can be defined using: -; padding-{left,right} -padding-left = 0 -padding-right = 2 - -; Number of spaces to add before/after each module -; Individual side values can be defined using: -; module-margin-{left,right} -module-margin-left = 1 -module-margin-right = 2 - -; Fonts are defined using <font-name>;<vertical-offset> -; Font names are specified using a fontconfig pattern. -; font-0 = NotoSans-Regular:size=8;2 -; font-1 = MaterialIcons:size=10 -; font-2 = Termsynu:size=8;-1 -; font-3 = FontAwesome:size=10 -; See the Fonts wiki page for more details -font-0 = FantasqueSansMono Nerd Font Mono:pixelsize=14;0 -# font-1 = FontAwesome:size=14;0 -# keyboard, wifi, net, battery, RAM, CPU, temperature, Clock, mpd -font-1 = Wuncon Siji:size=14;0 -# Workspaces -font-2 = FontAwesome:size=14;0 -# Used for mpd and other peripherals/media -# font-3 = Unifont:size=14;0 -# font-4 = Icons:size=14;0 - -; The separator will be inserted between the output of each module -; separator = - -; modules-left = i3 xworkspaces -modules-left = i3 mpd -modules-center = xwindow date -# Disabled: xbacklight powermenu memory cpu wlan eth -modules-right = filesystem temperature battery volume - -tray-position = right -tray-padding = 2 -;tray-transparent = true -;tray-background = #0063ff - -; wm-restack = i3 -; Tell the Window Manager not to configure the window. -; Use this to detach the bar if your WM is locking its size/position. -override-redirect = false - -scroll-up = i3wm-wsnext -scroll-down = i3wm-wsprev - -[module/xwindow] -type = internal/xwindow -label = %title:0:30:...% - -[module/xkeyboard] -type = internal/xkeyboard -blacklist-0 = num lock - -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-prefix-underline = ${colors.secondary} - -label-layout = %layout% -label-layout-underline = ${colors.secondary} - -label-indicator-padding = 2 -label-indicator-margin = 1 -label-indicator-background = ${colors.secondary} -label-indicator-underline = ${colors.secondary} - -[module/filesystem] -type = internal/fs -interval = 25 - -mount-0 = / -mount-1 = /home - -label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% -label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${colors.foreground-alt} - -[module/i3] -type = internal/i3 -; format = <label-state> <label-mode> -index-sort = true -wrapping-scroll = false - -; This will split the workspace name on ':' -strip-wsnumbers = false - -; Only show workspaces on the same output as the bar -;pin-workspaces = true - -label-mode-padding = 2 -fuzzy-match = true -;label-mode-foreground = #000 -;label-mode-background = ${colors.primary} - -; focused = Active workspace on focused monitor -; label-focused = %index% -label-focused-background = ${colors.background-alt} -label-focused-underline= ${colors.primary} -label-focused-padding = 1 - -; unfocused = Inactive workspace on any monitor -; label-unfocused = %index% -label-unfocused-padding = 1 - -; visible = Active workspace on unfocused monitor -; label-visible = %index% -label-visible-background = ${self.label-focused-background} -label-visible-underline = ${self.label-focused-underline} -label-visible-padding = ${self.label-focused-padding} - -; urgent = Workspace with urgency hint set -; label-urgent = %index% -label-urgent-background = ${colors.alert} -label-urgent-padding = 1 - -[module/mpd] -type = internal/mpd -format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next> - -# Icons come from Siji font -icon-prev =  -icon-stop =  -icon-play =  -icon-pause =  -icon-next =  - -label-song-maxlen = 25 -label-song-ellipsis = true - -[module/xbacklight] -type = internal/xbacklight - -format = <label> <bar> -label = BL - -bar-width = 10 -bar-indicator = | -bar-indicator-foreground = #ff -bar-indicator-font = 2 -bar-fill = ─ -bar-fill-font = 2 -bar-fill-foreground = #9f78e1 -bar-empty = ─ -bar-empty-font = 2 -bar-empty-foreground = ${colors.foreground-alt} - -; XRandR output to get get values from -output = DP-4 - -; Create scroll handlers used to set the backlight value -enable-scroll = true - -[module/backlight-acpi] -inherit = module/xbacklight -type = internal/backlight -card = intel_backlight - -[module/cpu] -type = internal/cpu -interval = 2 -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #f90000 -label = %percentage%% - -[module/memory] -type = internal/memory -interval = 2 -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #4bffdc -label = %percentage_used%% - -[module/wlan] -type = internal/network -interface = wlp4s0 -interval = 3.0 - -format-connected = <ramp-signal> <label-connected> -format-connected-underline = #9f78e1 -label-connected = %essid% - -format-disconnected = -;format-disconnected = <label-disconnected> -;format-disconnected-underline = ${self.format-connected-underline} -;label-disconnected = %ifname% disconnected -;label-disconnected-foreground = ${colors.foreground-alt} - -ramp-signal-0 =  -ramp-signal-1 =  -ramp-signal-2 =  -ramp-signal-3 =  -ramp-signal-4 =  -ramp-signal-foreground = ${colors.foreground-alt} - -[module/eth] -type = internal/network -interface = enp0s31f6 -interval = 3.0 - -format-connected-underline = #55aa55 -format-connected-prefix = " " -format-connected-prefix-foreground = ${colors.foreground-alt} -label-connected = %local_ip% - -format-disconnected = -;format-disconnected = <label-disconnected> -;format-disconnected-underline = ${self.format-connected-underline} -;label-disconnected = %ifname% disconnected -;label-disconnected-foreground = ${colors.foreground-alt} - -[module/date] -type = internal/date -interval = 5 - -date = " %A %d (%W)" -date-alt = " %A %Y-%m-%d %W" - -time = %H:%M -time-alt = %H:%M:%S - -format-prefix =  -# XXX need to find the font providing this in termite -# format = 🕓 <label> -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #0a6cf5 - -label = %date% %time% - -[module/volume] -type = internal/volume - -format-volume = <label-volume> <bar-volume> -label-volume = VOL -label-volume-foreground = ${root.foreground} - -format-muted-prefix = " " -format-muted-foreground = ${colors.foreground-alt} -label-muted = sound muted - -bar-volume-width = 10 -bar-volume-foreground-0 = #55aa55 -bar-volume-foreground-1 = #55aa55 -bar-volume-foreground-2 = #55aa55 -bar-volume-foreground-3 = #55aa55 -bar-volume-foreground-4 = #55aa55 -bar-volume-foreground-5 = #f5a70a -bar-volume-foreground-6 = #ff5555 -bar-volume-gradient = false -bar-volume-indicator = | -bar-volume-indicator-font = 2 -bar-volume-fill = ─ -bar-volume-fill-font = 2 -bar-volume-empty = ─ -bar-volume-empty-font = 2 -bar-volume-empty-foreground = ${colors.foreground-alt} - -[module/battery] -type = internal/battery -battery = BAT0 -adapter = AC -full-at = 98 - -format-charging = <animation-charging> <label-charging> -format-charging-underline = #ffb52a - -format-discharging = <ramp-capacity> <label-discharging> -format-discharging-underline = ${self.format-charging-underline} - -format-full-prefix = " " -format-full-prefix-foreground = ${colors.foreground-alt} -format-full-underline = ${self.format-charging-underline} - -ramp-capacity-0 =  -ramp-capacity-1 =  -ramp-capacity-2 =  -ramp-capacity-foreground = ${colors.foreground-alt} - -animation-charging-0 =  -animation-charging-1 =  -animation-charging-2 =  -animation-charging-foreground = ${colors.foreground-alt} -animation-charging-framerate = 750 - -[module/temperature] -type = internal/temperature -thermal-zone = 0 -warn-temperature = 60 - -format = <ramp> <label> -format-underline = #f50a4d -format-warn = <ramp> <label-warn> -format-warn-underline = ${self.format-underline} - -label = %temperature% -label-warn = %temperature% -label-warn-foreground = ${colors.secondary} - -ramp-0 =  -ramp-1 =  -ramp-2 =  -ramp-foreground = ${colors.foreground-alt} - -[module/powermenu] -type = custom/menu - -format-spacing = 1 - -label-open =  -label-open-foreground = ${colors.secondary} -label-close =  cancel -label-close-foreground = ${colors.secondary} -label-separator = | -label-separator-foreground = ${colors.foreground-alt} - -menu-0-0 = reboot -menu-0-0-exec = menu-open-1 -menu-0-1 = power off -menu-0-1-exec = menu-open-2 - -menu-1-0 = cancel -menu-1-0-exec = menu-open-0 -menu-1-1 = reboot -menu-1-1-exec = sudo reboot - -menu-2-0 = power off -menu-2-0-exec = sudo poweroff -menu-2-1 = cancel -menu-2-1-exec = menu-open-0 - -[module/xworkspaces] -type = internal/xworkspaces - -; Only show workspaces defined on the same output as the bar -; -; Useful if you want to show monitor specific workspaces -; on different bars -; -; Default: false -pin-workspaces = false - -; Create click handler used to focus desktop -; Default: true -enable-click = true - -; Create scroll handlers used to cycle desktops -; Default: true -enable-scroll = false - -icon-0 = code;♚ -icon-1 = office;♛ -icon-2 = graphics;♜ -icon-3 = mail;♝ -icon-4 = web;♞ -icon-default = ♟ - -[settings] -screenchange-reload = true -;compositing-background = xor -;compositing-background = screen -;compositing-foreground = source -;compositing-border = over - -[global/wm] -margin-top = 5 -margin-bottom = 5 - -; vim:ft=dosini diff --git a/config/systemd/user/asanawarrior.service b/config/systemd/user/asanawarrior.service deleted file mode 100644 index 94353992..00000000 --- a/config/systemd/user/asanawarrior.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Asana / taskwarrior synchronization service -After=network.target network-online.target dbus.socket - -[Service] -Type=simple -EnvironmentFile=/home/baptiste/.secrets -#ExecStartPre=/usr/bin/echo $ENV > /home/baptiste/systemd-env.sh -ExecStart=/usr/bin/asanawarrior -token "$ASANA_API_TOKEN" -domain "$ASANA_WORKSPACE_NAME" -# StandardOutput=syslog -# StandardError=syslog - -[Install] -WantedBy=default.target diff --git a/config/systemd/user/grive.service b/config/systemd/user/grive.service deleted file mode 100644 index 9c61b3ef..00000000 --- a/config/systemd/user/grive.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Google Drive synchronization service -After=network.target network-online.target dbus.socket - -[Service] -Type=oneshot -WorkingDirectory=/home/baptiste/GDrive -ExecStart=/usr/bin/grive -StandardOutput=syslog -StandardError=syslog diff --git a/config/systemd/user/grive.timer b/config/systemd/user/grive.timer deleted file mode 100644 index ba123d02..00000000 --- a/config/systemd/user/grive.timer +++ /dev/null @@ -1,20 +0,0 @@ -# grive.timer - -[Unit] -Description=Grive Quicksync timer - -[Timer] -# Check systemd.time(7) -# Time to wait after booting before offlineimap.service is run for the first time -OnBootSec=15min -# Every 30 seconds -# OnCalendar=*:*:0/30 -#OnCalendar=*-*-* *:0/2:00 -#OnCalendar=hourly -#OnCalendar=minutely -# run 1 minutes after each deactivation of the unit -OnUnitInactiveSec=5m -Unit=grive.service - -[Install] -WantedBy=default.target diff --git a/config/systemd/user/mbsync.service b/config/systemd/user/mbsync.service deleted file mode 100644 index f5ecc088..00000000 --- a/config/systemd/user/mbsync.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Mailbox synchronization service -After=network.target network-online.target dbus.socket - -[Service] -Type=oneshot -ExecStart=/usr/bin/mbsync -Va -ExecStartPost=/usr/bin/notmuch new -StandardOutput=syslog -StandardError=syslog diff --git a/config/systemd/user/mbsync.timer b/config/systemd/user/mbsync.timer deleted file mode 100644 index 2987e76d..00000000 --- a/config/systemd/user/mbsync.timer +++ /dev/null @@ -1,20 +0,0 @@ -# mbsync.timer - -[Unit] -Description=MBSync Quicksync timer - -[Timer] -# Check systemd.time(7) -# Time to wait after booting before offlineimap.service is run for the first time -OnBootSec=15min -# Every 30 seconds -# OnCalendar=*:*:0/30 -#OnCalendar=*-*-* *:0/2:00 -#OnCalendar=hourly -#OnCalendar=minutely -# run 1 minutes after each deactivation of the unit -OnUnitInactiveSec=60s -Unit=mbsync.service - -[Install] -WantedBy=default.target diff --git a/config/systemd/user/resume.service b/config/systemd/user/resume.service deleted file mode 100644 index 44037456..00000000 --- a/config/systemd/user/resume.service +++ /dev/null @@ -1,11 +0,0 @@ -# https://wiki.archlinux.org/index.php/Power_management#Sleep_hooks -[Unit] -Description=User resume actions -After=suspend.target - -[Service] -Type=simple -ExecStart=/usr/bin/mpc toggle - -[Install] -WantedBy=suspend.target diff --git a/config/systemd/user/suspend.service b/config/systemd/user/suspend.service deleted file mode 100644 index 81d593bd..00000000 --- a/config/systemd/user/suspend.service +++ /dev/null @@ -1,17 +0,0 @@ -# https://wiki.archlinux.org/index.php/Power_management#Sleep_hooks -[Unit] -Description=User suspend actions -Before=sleep.target - -[Service] -Type=oneshot -#Environment=DISPLAY=:0 -#ExecStartPre=/usr/bin/mpc toggle -ExecStart=/usr/bin/mpc toggle -#ExecStart=/usr/bin/slock -# XXX Seems too slow -# ExecStart=/usr/bin/i3lock-fancy --pixelate -f Fantasque-Sans-Mono-Regular -# ExecStartPost=/usr/bin/sleep 1 - -[Install] -WantedBy=sleep.target diff --git a/config/termite/config b/config/termite/config deleted file mode 100644 index eacdcef6..00000000 --- a/config/termite/config +++ /dev/null @@ -1,66 +0,0 @@ -[options] -# Colors seems a bit brighter -allow_bold = false -audible_bell = false - -# $BROWSER is used by default if set, with xdg-open as a fallback -#browser = xdg-open - -clickable_url = true - -cursor_blink = off -cursor_shape = block - -dynamic_title = true - -# Hide links that are no longer valid in url select overlay mode -filter_unmatched_urls = true - -font = FantasqueSansMono Nerd Font Mono 17 - -# XXX Already managed by unclutter -mouse_autohide = true - -scrollback_lines = 0 -scroll_on_output = false -scroll_on_keystroke = true - -search_wrap = true - -# We are tiling! -size_hints = false - -urgent_on_bell = true - -# Solarized dark color scheme -# https://github.com/alpha-omega/termite-colors-solarized - -[colors] -foreground = #839496 -foreground_bold = #eee8d5 -#foreground_dim = #888888 -background = #002b36 -cursor = #93a1a1 - -# if unset, will reverse foreground and background -#highlight = #839496 - -# colors from color0 to color254 can be set -color0 = #073642 -color1 = #dc322f -color2 = #859900 -color3 = #b58900 -color4 = #268bd2 -color5 = #d33682 -color6 = #2aa198 -color7 = #eee8d5 -color8 = #002b36 -color9 = #cb4b16 -color10 = #586e75 -color11 = #657b83 -color12 = #839496 -color13 = #6c71c4 -color14 = #93a1a1 -color15 = #fdf6e3 - -# vim: ft=dosini cms=#%s diff --git a/deprecated/.mutt/baptiste.cert b/deprecated/.mutt/baptiste.cert deleted file mode 100644 index d86ac33e7ddb5611edaf28fc75e1c1f9197eac46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6925 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 b3Spz{*&<rBFLUYd#9xLXFTDx=ufYEo1q22& diff --git a/deprecated/.mutt/cacert-root.crt b/deprecated/.mutt/cacert-root.crt deleted file mode 120000 index 2949461b..00000000 --- a/deprecated/.mutt/cacert-root.crt +++ /dev/null @@ -1 +0,0 @@ -/home/baptiste/repos/gwarf/private/mutt/.mutt/cacert-root.crt \ No newline at end of file diff --git a/deprecated/.mutt/certificates b/deprecated/.mutt/certificates deleted file mode 100644 index d6dcd94a..00000000 --- a/deprecated/.mutt/certificates +++ /dev/null @@ -1,76 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIETjCCAjagAwIBAgIDA4zFMA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jv -b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ -Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y -dEBjYWNlcnQub3JnMB4XDTA3MDUwNjE4Mjk0MVoXDTA3MTEwMjE4Mjk0MVowGTEX -MBUGA1UEAxMOaW1hcC5iYXB0Lm5hbWUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ -AoGBAKdKf7FWNYpmqoqxUnItD2/kE6qME7Hyamp2J+n5kOenqR68RiXy0VCAfXzf -xoqhuoyynP57DvUUIBbaaa6knRR8wL4jlnA6MGOWV7uIW0xH03uPubDbZUHfo+Rc -ZcVN2fh6uakLYzlei/JKMPhXAGYbJoJY6I/PM2hswzp0axYnAgMBAAGjgcIwgb8w -DAYDVR0TAQH/BAIwADA0BgNVHSUELTArBggrBgEFBQcDAgYIKwYBBQUHAwEGCWCG -SAGG+EIEAQYKKwYBBAGCNwoDAzALBgNVHQ8EBAMCBaAwMwYIKwYBBQUHAQEEJzAl -MCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5jYWNlcnQub3JnLzA3BgNVHREEMDAu -gg5pbWFwLmJhcHQubmFtZaAcBggrBgEFBQcIBaAQDA5pbWFwLmJhcHQubmFtZTAN -BgkqhkiG9w0BAQUFAAOCAgEADDRaeGGR+leVnDFDC+RTp5Ke1VOnSEI1dcfWqv+4 -K46d2BnhfPsnSzsS1J5E9uh8R8DHfO52MbMoQd45Gn2KZluzVg/IM/fzsx7kCHNA -1wxVBu9m1NPVtS8cdVhCZ++hYh4AFjyfrxs+7wnLg0FuT6SFLlsdRSQDIxUguvDi -DsbvngKyBWsf/95/Hl/DrxBQn2opNT0ewQICnQdtAkkwwT+/uo4KA8rufTjUnUAd -jBHYQ04dAFPy9jrw+fBOQGVak3kLY9Mu76pdubEdL1t3Ny6MjewsxPPL3jx80kLf -fY1q53tqlVRZERyXegEYJESMctcpdmlgUAKGkvjuxvcr26vtXMksYGLHE+duTjVi -LxGqOAqJe9EP3hE9kkPhvUGk6QsOnTy+Ksf40H4x127kS4EqC3zvUg8g2p9D6+6I -ysWsKYQSY17iuVKFXV0ke3lsvgQ0pnvYL8PoCMmzDi32+eRz/uDAIVURuoAhuch8 -hqxhi7G1fq5KabaIaVECJcbaBhWw4ZquEAw1RDnrs43q+TRe7Y0NRJCap9O4nYG0 -uAuXbObyN1mGp6QenEoOjk0HhO8c+XIDGoPaWAyOeAM7Vxuqxj2Ox09rUBIEmgGl -3lEgVrjNHYprTUsZBlmNd/QpsgpJaDZAO0lYMRyYn19Sxrv1DHeCB2a2A7GuxBwN -Jew= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEFTCCAf2gAwIBAgIDBA23MA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jv -b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ -Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y -dEBjYWNlcnQub3JnMB4XDTA3MDkxODE0NDczMVoXDTA4MDMxNjE0NDczMVowGTEX -MBUGA1UEAxMOaW1hcC5iYXB0Lm5hbWUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ -AoGBAKdKf7FWNYpmqoqxUnItD2/kE6qME7Hyamp2J+n5kOenqR68RiXy0VCAfXzf -xoqhuoyynP57DvUUIBbaaa6knRR8wL4jlnA6MGOWV7uIW0xH03uPubDbZUHfo+Rc -ZcVN2fh6uakLYzlei/JKMPhXAGYbJoJY6I/PM2hswzp0axYnAgMBAAGjgYkwgYYw -DAYDVR0TAQH/BAIwADA0BgNVHSUELTArBggrBgEFBQcDAgYIKwYBBQUHAwEGCWCG -SAGG+EIEAQYKKwYBBAGCNwoDAzALBgNVHQ8EBAMCBaAwMwYIKwYBBQUHAQEEJzAl -MCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5jYWNlcnQub3JnLzANBgkqhkiG9w0B -AQUFAAOCAgEAiJ5wy73rZWRlNIOOj8wnUMLPTez6+UwfgfBqKnGbldpWKA7CzWtc -KY8mi/LDPN3ctQ0YvEORxKjGEyID+PDNd8jlzxRRNlQlPRuUqUFkFte2gu8Mex6i -WrwOaL3xRMohkBWW2Lg8QU+FAlmZ7yx8N6iHcpIR5ITK94Hju5hosVAERB3St1jV -KiPvVts5GLNIsI6sommQw3+W37U3kaVgaZlHZ2fvVu2XKZAsKO4JmlPPQtY3tPXK -maG0EiBtSV+s7Abv7u/uIUUVrjJmJ4wtgdvVvWWI5rNiFN06/qRCLPDjlM7MmzVg -f+cIUQms/ja4ikUHneshdYzsiuYKYjwwr2crUjN9uY3sn1S4kyDrbLdVNy3ET7rD -xiISOYiXJqwJvjR9bFBpbCUzRaBDMYp8GNquL3XkVWRGZ+4jUZr90GlM0Qb9glNg -6ka8CCu47TE1p5Al0ZnB8JNu6CJ0GbwluisunDujy++OD83pUNa1gpX0P5F3KDer -aXXjotjpej4O9G1g1OQKfEKReU2ioXV+2vxNksKKtCIeNMwV1z0Y6DGF0cMieYDN -iApb0qdjK+rtmPYt6XBk/gupBQSSGys0oOPrik/mWX9AGEyCyLHErWSALecYf2m1 -mB4n40gHejOBGVZnij+9c+CdCcS8I6yGLPK9KoMtHqWwZrctUlSoFNY= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIETjCCAjagAwIBAgIDBNgOMA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jv -b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ -Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y -dEBjYWNlcnQub3JnMB4XDTA4MDMxODA4NDIwNloXDTA4MDkxNDA4NDIwNlowGTEX -MBUGA1UEAxMOaW1hcC5iYXB0Lm5hbWUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ -AoGBAKdKf7FWNYpmqoqxUnItD2/kE6qME7Hyamp2J+n5kOenqR68RiXy0VCAfXzf -xoqhuoyynP57DvUUIBbaaa6knRR8wL4jlnA6MGOWV7uIW0xH03uPubDbZUHfo+Rc -ZcVN2fh6uakLYzlei/JKMPhXAGYbJoJY6I/PM2hswzp0axYnAgMBAAGjgcIwgb8w -DAYDVR0TAQH/BAIwADA0BgNVHSUELTArBggrBgEFBQcDAgYIKwYBBQUHAwEGCWCG -SAGG+EIEAQYKKwYBBAGCNwoDAzALBgNVHQ8EBAMCBaAwMwYIKwYBBQUHAQEEJzAl -MCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5jYWNlcnQub3JnLzA3BgNVHREEMDAu -gg5pbWFwLmJhcHQubmFtZaAcBggrBgEFBQcIBaAQDA5pbWFwLmJhcHQubmFtZTAN -BgkqhkiG9w0BAQUFAAOCAgEANCtf231jisFx/yPpLJdMOnX2GOgu3aQqPLdiz9Vg -CaVjpqYOTbmMaJYBSJ1SA/zMm4VfuM/EDyolWYXe4YRYnXKpe5CMSYHo21Im66ZQ -cBmiBk1Qrx5CYXzsHmS9VtzKwp2IF+0iX3xf2u6rGNwEgvdapnlMXjlRrm6O5UnC -UDOt2wo5SrXmAAr4QpSt+0GtiQOLuYueKu234oRU6ogbn/FodNmk+iKxP5rWuJ+Q -KECL5hZWfv3j/sGWp/aGa4HgfuCcaWJL0IpN/rh4BN93W7jp2MrkEVUFjKiixNFf -+przMnD5QWVvST/h5ePSbKt9Gwlr4anRxR0TPFdEbKcNgogHgvG5Vm5NAMzoUv/X -AnIZidYUbVwUWlJcnI5251b3K2wBA4gYuCLANLWvi2DvC/hsw7fvHoEWxnafPoD+ -4/lOfGlF6OqPlbHB1E0gB+MJINu1EYyjiaKaOz9Ma6Wmpy14rvwqTyKhlBLSbzBh -2GGSGBCRovk5l4xvjMpCmTKHYASPi5hqYINP3fYplEnkehyjnStz1psw5UeOB88Y -1sCv3IztzQ+rhLuHcOyKOdg3YeaQaqb/6XLGv2Pk16eL+8ensOaQhIf8FUu949GO -0YzeZBmzwDnTiePuxCRD522T7vqoD+vhI/ayeSH25nOslElcZXiA84U6CbY4bwCT -uxE= ------END CERTIFICATE----- diff --git a/deprecated/.mutt/editorrc.linux b/deprecated/.mutt/editorrc.linux deleted file mode 100644 index f800bc92..00000000 --- a/deprecated/.mutt/editorrc.linux +++ /dev/null @@ -1 +0,0 @@ -set editor="sh -c 'vim $0 && echo -en \"\\033\]0;mutt\\a"' " diff --git a/deprecated/.mutt/editorrc.rxvt-unicode b/deprecated/.mutt/editorrc.rxvt-unicode deleted file mode 100644 index f800bc92..00000000 --- a/deprecated/.mutt/editorrc.rxvt-unicode +++ /dev/null @@ -1 +0,0 @@ -set editor="sh -c 'vim $0 && echo -en \"\\033\]0;mutt\\a"' " diff --git a/deprecated/.mutt/editorrc.screen b/deprecated/.mutt/editorrc.screen deleted file mode 100644 index c95edbfc..00000000 --- a/deprecated/.mutt/editorrc.screen +++ /dev/null @@ -1 +0,0 @@ -set editor="sh -c 'vim $0 && echo -ne \"\\033kmutt\\033\\134\"' " diff --git a/deprecated/.mutt/editorrc.screen-256color b/deprecated/.mutt/editorrc.screen-256color deleted file mode 100644 index c95edbfc..00000000 --- a/deprecated/.mutt/editorrc.screen-256color +++ /dev/null @@ -1 +0,0 @@ -set editor="sh -c 'vim $0 && echo -ne \"\\033kmutt\\033\\134\"' " diff --git a/deprecated/.mutt/editorrc.xterm b/deprecated/.mutt/editorrc.xterm deleted file mode 100644 index f800bc92..00000000 --- a/deprecated/.mutt/editorrc.xterm +++ /dev/null @@ -1 +0,0 @@ -set editor="sh -c 'vim $0 && echo -en \"\\033\]0;mutt\\a"' " diff --git a/deprecated/.mutt/editorrc.xterm-256color b/deprecated/.mutt/editorrc.xterm-256color deleted file mode 100644 index f800bc92..00000000 --- a/deprecated/.mutt/editorrc.xterm-256color +++ /dev/null @@ -1 +0,0 @@ -set editor="sh -c 'vim $0 && echo -en \"\\033\]0;mutt\\a"' " diff --git a/deprecated/.mutt/extract_url.pl b/deprecated/.mutt/extract_url.pl deleted file mode 100755 index 00b05e2a..00000000 --- a/deprecated/.mutt/extract_url.pl +++ /dev/null @@ -1,851 +0,0 @@ -#!/usr/bin/env perl - -use MIME::Parser; -use Switch; -use HTML::Parser; -use Getopt::Std; -use strict; -use warnings; - -my $version = "1.5.3"; -my $printversion = ''; -my $list = ''; - -my %options; -eval "use Getopt::Long"; -if ($@) { - print "using short options\n"; - &getopt("lv",\%options); -} else { - &GetOptions('version' => \$printversion, 'list' => \$list); -} -my $fancymenu = 1; -if ($options{'l'} || length $list) { $fancymenu = 0; } -if ($options{'v'} || length $printversion) { - print "The extract_url Program, version $version\n"; - exit; -} - -# create a hash of html tag names that may have links -my %link_attr = ( - 'a' => {'href'=>1}, - 'applet' => {'archive'=>1,'codebase'=>1,'code'=>1}, - 'area' => {'href'=>1}, - 'blockquote' => {'cite'=>1}, - #'body' => {'background'=>1}, - 'embed' => {'pluginspage'=>1, 'src'=>1}, - 'form' => {'action'=>1}, - 'frame' => {'src'=>1, 'longdesc'=>1}, - 'iframe' => {'src'=>1, 'longdesc'=>1}, - #'ilayer' => {'background'=>1}, - #'img' => {'src'=>1}, - 'input' => {'src'=>1, 'usemap'=>1}, - 'ins' => {'cite'=>1}, - 'isindex' => {'action'=>1}, - 'head' => {'profile'=>1}, - #'layer' => {'background'=>1, 'src'=>1}, - 'layer' => {'src'=>1}, - 'link' => {'href'=>1}, - 'object' => {'classid'=>1, 'codebase'=>1, 'data'=>1, 'archive'=>1, - 'usemap'=>1}, - 'q' => {'cite'=>1}, - 'script' => {'src'=>1, 'for'=>1}, - #'table' => {'background'=>1}, - #'td' => {'background'=>1}, - #'th' => {'background'=>1}, - #'tr' => {'background'=>1}, - 'xmp' => {'href'=>1}, -); - -# find out the URLVIEW command -my $urlviewcommand=""; -my $displaysanitized = 0; # means to display the pre-sanitized URL instead of the pretty one -my $shortcut = 0; # means open it without checking if theres only 1 URL -my $noreview = 0; # means don't display overly-long URLs to be checked before opening -my $persist = 0; # means don't exit after viewing a URL (ignored if $shortcut == 0) -my $ignore_empty = 0; # means to throw out URLs that don't have text in HTML -my $default_view = "url"; # means what shows up in the list by default: urls or contexts -my $alt_select_key = 'k'; -sub getprefs -{ - if (open(PREFFILE,'<',$ENV{'HOME'}."/.extract_urlview")) { - while (<PREFFILE>) { - switch ($_) { - case /^ALTSELECT [A-Za-fh-z0-9,.<>?;:{}|!@#$%^&*()_=+-`~]$/ - { /ALTSELECT (.)/; $alt_select_key = $1; } - case /^SHORTCUT$/ { $shortcut = 1; } - case /^NOREVIEW$/ { $noreview = 1; } - case /^PERSISTENT$/ { $persist = 1; } - case /^DISPLAY_SANITIZED$/ { $displaysanitized = 1; } - case /^IGNORE_EMPTY_TAGS$/ { $ignore_empty = 1; } - case /^COMMAND (.*)/ { - /^COMMAND (.*)/; - $urlviewcommand=$1; - chomp $urlviewcommand; - } - case /^DEFAULT_VIEW (.*)/ { - /^DEFAULT_VIEW (.*)/; - if ($1 =~ /^context$/) { - $default_view = "context"; - } else { - $default_view = "url"; - } - } - case /^HTML_TAGS (.*)/ { - /^HTML_TAGS (.*)/; - my @tags = split(',', $1); - my %tags_hash; - foreach my $tag (@tags) { - $tags_hash{lc $tag} = 1; - } - foreach my $tag (keys %link_attr) { - delete $link_attr{$tag} if (! exists($tags_hash{$tag})); - } - } - } - } - close PREFFILE; - } elsif (open(URLVIEW,'<',$ENV{'HOME'}."/.urlview")) { - while (<URLVIEW>) { - if (/^COMMAND (.*)/) { - $urlviewcommand=$1; - chomp $urlviewcommand; - last; - } - } - close URLVIEW; - } - if ($urlviewcommand eq "") { - $urlviewcommand = "open"; - } -} - -my %link_hash; -my %orig_text; -my $newlink = 1; -sub foundurl { - my ($uri) = @_; - #$uri =~ s/mailto:(.*)/$1/; - if (! $link_hash{$uri}) { - $link_hash{$uri} = $newlink++; - } -} -my $foundurl_text_curindex = 0; -my $foundurl_text_lastindex = 0; -my $foundurl_text_prevurl = ""; -my $foundurl_text_text; - -sub foundurl_text { - my ($uri,$orig) = @_; - $uri = &renderuri($uri); - $foundurl_text_curindex = index($$foundurl_text_text, $orig, $foundurl_text_lastindex); - my $sincelast; - if ($foundurl_text_curindex >= 0) { - # this is the expected behavior - $sincelast = &tidytext(substr($$foundurl_text_text,$foundurl_text_lastindex,($foundurl_text_curindex-$foundurl_text_lastindex))); - } else { - # something odd is going on. What's happened is that our URL finder has - # found a URL that isn't in the text following the last URL it found. - # It *may* be doing things out of order... but that's really strange. - # We rely on it finding URLs in order of appearance in order to get - # context information. I'll try to recover but whatever happens, we - # can't get context information for this URL, and our context info for - # other URLs may be seriously messed up! - $foundurl_text_curindex = index($$foundurl_text_text, $orig); - if ($foundurl_text_curindex >= 0) { - # okay, we can recover... we'll just pretend that *everything* is - # the sincelast text - $sincelast = &tidytext(substr($$foundurl_text_text, 0, $foundurl_text_curindex)); - } else { - # Very strange... I can't even find the URL! The best we can do is - # continue without *any* context... but there's *SERIOUS* weirdness - # going on, and expectations have been *majorly* violated. Let's - # just hope the URL is already closed (and so already has context - # information). I'm setting the curindex so that it'll be zero for - # the next URL (i.e. we can pretend that everything up to the next - # url is "sincelast") - $foundurl_text_curindex = 0 - length($orig); - } - $sincelast = ""; - } - $sincelast =~ s/<$//; - $sincelast =~ s/^>//; - &foundurl($uri); - &process_sincelast($uri, $foundurl_text_prevurl, $sincelast); - $foundurl_text_lastindex = $foundurl_text_curindex + length($orig); - $foundurl_text_prevurl = $uri; -} -sub unfindurl { - my($uri) = @_; - delete($link_hash{$uri}); - delete($orig_text{$uri}); -} -sub renderuri { - my($uri) = @_; - $uri =~ s/&/&/gs; - $uri =~ s/%([0-7][a-fA-F0-9])/chr(hex($1))/egs; - return $uri; -} -sub sanitizeuri { - my($uri) = @_; - $uri =~ s/([^a-zA-Z0-9_.!*()\@&:=\?\/%~+-])/sprintf("%%%X",ord($1))/egs; - return $uri; -} - -my $parser = new MIME::Parser; - -my %closedurls; - -sub process_sincelast -{ - my($url,$prev,$sincelast) = @_; - if (length($prev) > 0 && ! exists($closedurls{$prev})) { - $orig_text{$prev} .= " ".substr($sincelast,0,30); - $closedurls{$prev} = 1; - #print "URL(".$link_hash{$prev}.":".$newlink."): $prev ->\n\t".$orig_text{$prev}."\n\n"; - } - if (! exists($closedurls{$url})) { - my $beforetext = substr $sincelast, -30; - if (length($beforetext)) { - $orig_text{$url} = "$beforetext =>URL<="; - } else { - $orig_text{$url} = "=>URL<="; - } - } -} - -sub extract_url_from_text { - ($foundurl_text_text) = @_; - # The idea here is to eliminate duplicate URLs - I want the - # %link_hash to be full of URLs. My regex (in the else statement) - # is decent, but imperfect. URI::Find is better. - my $fancyfind=1; - eval "use URI::Find::Schemeless"; - $fancyfind=0 if ($@); - if ($fancyfind == 1) { - my $finder = URI::Find::Schemeless->new(\&foundurl_text); - $finder->find($foundurl_text_text); - } else { - $$foundurl_text_text =~ s{(((mms|ftp|http|https)://|news:)[][A-Za-z0-9_.~!*'();:@&=+,/?%#-]+[^](,.'">;[:space:]]|(mailto:)?[-a-zA-Z_0-9.+]+@[-a-zA-Z_0-9.]+)}{ - &foundurl_text($1,$1); - }eg; - } -} - -my $seenstart = 0; -my $seenurl = ""; -my $beforetext = ""; -my $extendedskipped = ""; -my $last10words = ""; -my $words_since_link_end = ""; - -sub tidytext -{ - my ($text) = @_; - my %rendermap = ( - '[\n]' => ' ', - '[\r]' => ' ', - '&#[0-9]+;' => '', - '&#x[0-9a-f]+;' => '', - ' ' => ' ', - '©' => '(c)', - '—' => '---', - '"' => '"', - ''' => "'", - '<' => '<', - '>' => '>', - '&([ACEINOUY])(grave|acute|circ|tilde|uml|ring|cedil);' => '$1', - '&' => '&', - '\s\s+' => ' ', - ); - foreach my $entity (keys %rendermap) { - my $construct = '$text =~ s/$entity/'.$rendermap{$entity}.'/ig'; - eval $construct; - } - $text =~ s/^\s+//; - $text =~ s/\s+$//; - return $text; -} - -sub subwords -{ - my ($string, $minlen) = @_; - my @words = split(/\s+/, $string); - return "" if @words == 0; - my $retstr = $words[0]; - my $wordcount = 1; - while (length($retstr) < $minlen && $wordcount < @words) { - $retstr .= " " . $words[$wordcount]; - $wordcount++; - } - return $retstr; -} - -sub sublastwords -{ - my ($string, $minlen) = @_; - my @words = split(/\s+/, $string); - return "" if @words == 0; - my $retstr = $words[@words-1]; - my $wordcount = 1; - while (length($retstr) < $minlen && $wordcount < @words) { - $wordcount++; - $retstr = $words[@words - $wordcount] . " $retstr"; - } - return $retstr; -} - -sub find_urls_rec -{ - my($ent) = @_; - #print "type: " . $ent->mime_type . " ... parts: ".$ent->parts."\n"; - if ($ent->parts >= 1 or $ent->mime_type eq "multipart/mixed") { - for (my $i=0;$i<$ent->parts;$i++) { - find_urls_rec($ent->parts($i)); - } - } else { - #print "type: " . $ent->mime_type . "\n"; - if ($ent->mime_type eq "message/rfc822") { &find_urls_rec($ent->parts()); } - elsif ($ent->mime_type eq "text/html" ) { - my $parser = HTML::Parser->new(api_version=>3); - my $skipped_text = ""; - #$parser->unbroken_text(1); - $parser->handler(start => sub { - my($tagname,$pos,$text) = @_; - if (my $link_attr = $link_attr{$tagname}) { - while (4 <= @$pos) { - my($k_offset, $k_len, $v_offset, $v_len) = splice(@$pos,-4); - my $attrname = lc(substr($text, $k_offset, $k_len)); - next unless exists($link_attr->{$attrname}); - next unless $v_offset; # 0 v_offset means no value - - # This is REALLY hack-ish and fragile, but can - # sometimes be invaluable - &extract_url_from_text(\$skipped_text) if (length($skipped_text) > 0); - - my $v = substr($text, $v_offset, $v_len); - $v =~ s/^([\'\"])(.*)\1$/$2/; - $v = &renderuri($v); - &foundurl($v); - - $words_since_link_end .= " $skipped_text"; - $last10words = &tidytext("$last10words $skipped_text"); - $last10words = &sublastwords($last10words, 50); - $skipped_text = ""; - - $words_since_link_end = &tidytext($words_since_link_end); - if (length($seenurl) > 0 && ! exists($closedurls{$seenurl})) { - my $since_words = &subwords($words_since_link_end, 40); - if (length($since_words) > 0) { - my $space = " "; - $space = "" if ($since_words =~ /^[.,;!?)-]/); - $orig_text{$seenurl} .= "$space$since_words"; - } - $closedurls{$seenurl} = 1; - } - - $beforetext = &sublastwords($last10words, 30); - $seenstart = 1; - $seenurl = $v; - } - } - }, - "tagname, tokenpos, text"); - $parser->handler(end => sub { - my ($text) = @_; - $last10words = &tidytext("$last10words $skipped_text"); - $last10words = &sublastwords($last10words, 50); - if ($seenstart == 1) { - if (! exists($closedurls{$seenurl})) { - my $mtext = "=>$skipped_text<="; - if (length($beforetext)) { - my $space = " "; - $space = "" if ($beforetext =~ /[(-]$/); - $orig_text{$seenurl} = "$beforetext$space$mtext"; - } else { - $orig_text{$seenurl} = "$mtext"; - } - } - if (length($skipped_text) == 0 && $ignore_empty == 1 && ! exists($closedurls{$seenurl})) { - &unfindurl($seenurl); - } - $seenstart = 0; - $extendedskipped .= " $skipped_text"; - $words_since_link_end = ""; - } else { - $words_since_link_end .= " $skipped_text"; - } - $skipped_text = ""; - },"text"); - # the "text" handler is used, rather than skipped_text because - # otherwise blocks of text at the beginning of a "lightly html-ified" - # document can be ignored. - $parser->handler(text => sub { - my ($text) = @_; - $skipped_text = &tidytext("$skipped_text $text"); - }, "text"); - $parser->parse($ent->bodyhandle->as_string); - } elsif ($ent->mime_type =~ /text\/.*/) { - $ent->head->unfold; - my $ctype = $ent->head->get('Content-type'); - if (defined($ctype) and $ctype =~ m/format=flowed/) { - my @lines = $ent->bodyhandle->as_lines; - chomp(@lines); - my $body = ""; - my $delsp; - if ($ctype =~ /delsp=yes/) { - #print "delsp=yes!\n"; - $delsp=1; - } else { - #print "delsp=no!\n"; - $delsp=0; - } - for (my $i=0;$i<@lines;$i++) { - my $col = 0; - my $quotetext = ""; - #print "=> " . $lines[$i] . "\n"; - while (substr($lines[$i],$col,1) eq ">") { - $quotetext .= ">"; - $col++; - } - if ($col > 0) { $body .= "$quotetext "; } - while ($lines[$i] =~ / $/ && $lines[$i] =~ /^$quotetext[^>]/ && $lines[$i+1] =~ /^$quotetext[^>]/) { - my $line; - if ($delsp) { - $line = substr($lines[$i],$col,length($lines[$i])-$col-1); - } else { - $line = substr($lines[$i],$col); - } - $line =~ s/^\s+//; - $body .= $line; - $i++; - } - if ($lines[$i] =~ /^$quotetext[^>]/) { - my $line = substr($lines[$i],$col); - $line =~ s/^\s+//; - $body .= $line."\n"; - } - } - &extract_url_from_text(\$body); - } else { - &extract_url_from_text(\$ent->bodyhandle->as_string); - } - } - } -} - -sub urlwrap { - my($subseq,$text,$linelen,$breaker) = @_; - my $len = length($text); - my $i = 0; - my $output = ""; - while ($len > $linelen) { - if ($i > 0) { $output .= $subseq; } - my $breakpoint = -1; - my $chunk = substr($text,$i,$linelen); - my @chars = ("!","*","'","(",")",";",":","@","&","=","+",",","/","?","%","#","[","]","-","_"); - foreach my $chr ( @chars ) { - my $pt = rindex($chunk,$chr); - if ($breakpoint < $pt) { $breakpoint = $pt; } - } - if ($breakpoint == -1) { $breakpoint = $linelen; } - else { $breakpoint += 1; } - $output .= substr($text,$i,$breakpoint) . $breaker; - if ($i == 0) { $linelen -= length($subseq); } - $len -= $breakpoint; - $i += $breakpoint; - } - if ($i > 0) { $output .= $subseq; } - $output .= substr($text,$i); - return $output; -} - -sub isOutputScreen { - use POSIX; - return 0 if POSIX::isatty( \*STDOUT) eq "" ; # pipe - return 1; # screen -} # end of isOutputScreen - -&getprefs(); -$parser->output_to_core(1); -die "no input provided!\n" if POSIX::isatty( \*STDIN) ne "" ; # pipe -my $entity = $parser->parse(\*STDIN) or die "parse failed\n"; -&find_urls_rec($entity); - -if (&isOutputScreen) { - eval "use Curses::UI"; - $fancymenu = 0 if ($@); -} else { - $fancymenu = 0; -} - -if ($fancymenu == 1) { - #use strict; - - # This is the shortcut... - if ($shortcut == 1 && 1 == scalar keys %link_hash) { - my ($url) = each %link_hash; - $url = &sanitizeuri($url); - if ($urlviewcommand =~ m/%s/) { - $urlviewcommand =~ s/%s/'$url'/g; - } else { - $urlviewcommand .= " $url"; - } - system $urlviewcommand; - exit 0; - } - - # Curses support really REALLY wants to own STDIN - close(STDIN); - open(STDIN,"/dev/tty"); # looks like a hack, smells like a hack... - - my $cui = new Curses::UI( - -color_support => 1, - -clear_on_exit => 1 - ); - my $wrapwidth = $cui->width() - 2; - my %listhash_url; - my %listhash_context; - my @listvals; - # $link_hash{url} = ordering of the urls in the document as first-seen - foreach my $url (sort {$link_hash{$a} <=> $link_hash{$b} } keys(%link_hash)) { - push(@listvals,$link_hash{$url}); - if ($displaysanitized) { - $listhash_url{$link_hash{$url}} = &sanitizeuri($url); - } else { - $listhash_url{$link_hash{$url}} = $url; - } - $listhash_context{$link_hash{$url}} = $orig_text{$url}; - } - - my @menu = ( - { -label => 'Keys: q=quit m=menu s=switch-view c=context g=top G=bottom', - -submenu => [ - { -label => 'About a', -value => \&about }, - { -label => 'Show Command C', -value => \&show_command }, - { -label => 'Switch List View s', -value => \&switch_list }, - { -label => 'Exit ^q', -value => \&exit_dialog } - ], - }, - ); - my $menu = $cui->add( - 'menu','Menubar', - -menu => \@menu, - ); - my $win1 = $cui->add( - 'win1', 'Window', - -border => 1, - -y => 1, - -bfg => 'green', - ); - sub about() - { - $cui->dialog( - -message => "The extract_url Program, version $version" - ); - } - sub show_command() - { - # This extra sprintf work is to ensure that the title - # is fully displayed even if $urlviewcommand is short - my $title = "The configured URL viewing command is:"; - my $len = length($title); - my $cmd = sprintf("%-${len}s",$urlviewcommand); - $cui->dialog( - -title => "The configured URL viewing command is:", - -message => $cmd, - ); - } - sub exit_dialog() - { - my $return = $cui->dialog( - -message => "Do you really want to quit?", - -buttons => ['yes', 'no'], - ); - exit(0) if $return; - } - - my $listbox_labels; - if ($default_view eq "url") { - $listbox_labels = \%listhash_url; - } else { - $listbox_labels = \%listhash_context; - } - my $listbox = $win1->add( - 'mylistbox', 'Listbox', - -values => \@listvals, - -labels => $listbox_labels, - ); - $cui->set_binding(sub {$menu->focus()}, "\cX"); - $cui->set_binding(sub {$menu->focus()}, "m"); - $cui->set_binding( sub{exit}, "q" ); - $cui->set_binding( \&exit_dialog , "\cQ"); - $cui->set_binding( sub{exit} , "\cc"); - $cui->set_binding(\&switch_list, "s"); - $cui->set_binding(\&about, "a"); - $cui->set_binding(\&show_command, "C"); - $listbox->set_binding( 'option-last', "G"); - $listbox->set_binding( 'option-first', "g"); - sub switch_list() - { - if ($listbox_labels == \%listhash_url) { - $listbox->labels(\%listhash_context); - $listbox_labels = \%listhash_context; - } elsif ($listbox_labels == \%listhash_context) { - $listbox->labels(\%listhash_url); - $listbox_labels = \%listhash_url; - } - $listbox->focus(); - } - sub madeselection_sub { - my ($stayopen) = @_; - my $rawurl = $listhash_url{$listbox->get_active_value()}; - my $url = &sanitizeuri($rawurl); - my $command = $urlviewcommand; - if ($command =~ m/%s/) { - $command =~ s/%s/'$url'/g; - } else { - $command .= " $url"; - } - my $return = 1; - if ($noreview != 1 && length($rawurl) > ($cui->width()-2)) { - $return = $cui->dialog( - -message => &urlwrap(" ",$rawurl,$cui->width()-8,"\n"), - -title => "Your Choice:", - -buttons => ['ok', 'cancel'], - ); - } - if ($return) { - system $command; - if ($stayopen == 0) { - exit 0 if ($persist == 0); - } else { - exit 0 unless ($persist == 0); - } - } - } - sub madeselection { &madeselection_sub(0); } - sub altexit_madeselection { &madeselection_sub(1); } - $cui->set_binding( \&madeselection, " "); - $listbox->set_routine('option-select',\&madeselection); - $cui->set_binding( \&altexit_madeselection, $alt_select_key); - use Text::Wrap; - sub contextual { - my $rawurl = $listhash_url{$listbox->get_active_value()}; - $Text::Wrap::columns = $cui->width()-8; - if (exists($orig_text{$rawurl}) && length($orig_text{$rawurl}) > 1) { - $cui->dialog( - -message => wrap('','',$orig_text{$rawurl}), - -title => "Context:", - -buttons => ['ok'], - ); - } else { - $cui->error( - -message => "Sorry, I don't have any context for this link", - -buttons => ['ok'], - -bfg => 'red', - -tfg => 'red', - -fg => 'red', - ); - } - } - $cui->set_binding( \&contextual, "c"); - - $listbox->focus(); - $cui->mainloop(); -} else { - # using this as a pass-thru to URLVIEW - foreach my $value (sort {$link_hash{$a} <=> $link_hash{$b} } keys %link_hash) - { - $value = &sanitizeuri($value); - print "$value\n"; - } -} -=head1 NAME - -B<extract_url.pl> -- extract URLs from email messages - -=head1 SYNOPSIS - -B<extract_url.pl> [B<-lv>] I<file> - -=head1 DESCRIPTION - -This is a Perl script that extracts URLs from correctly-encoded -I<MIME> email messages. This can be used either as a pre-parser for -I<urlview>, or to replace I<urlview> entirely. - -I<Urlview> is a great program, but has some deficiencies. In particular, -it isn't particularly configurable, and cannot handle URLs that have -been broken over several lines in I<format=flowed delsp=yes> email -messages. Nor can it handle I<quoted-printable> email messages. Also, -I<urlview> doesn't eliminate duplicate URLs. This Perl script handles -all of that. It also sanitizes URLs so that they can't break out of the -command shell. - -This is designed primarily for use with the I<mutt> emailer. The idea is -that if you want to access a URL in an email, you pipe the email to a -URL extractor (like this one) which then lets you select a URL to view -in some third program (such as Firefox). An alternative design is to -access URLs from within mutt's pager by defining macros and tagging the -URLs in the display to indicate which macro to use. A script you can use -to do that is I<tagurl.pl>. - -=head1 DEPENDENCIES - -Mandatory dependencies are B<MIME::Parser> and B<HTML::Parser>. These -usually come with Perl. - -Optional dependencies are B<URI::Find> (recognizes more exotic URL -variations in plain text (without HTML tags)), B<Curses::UI> (allows it -to fully replace I<urlview>), and B<Getopt::Long> (if present, -B<extract_url.pl> recognizes long options --version and --list). - -=head1 USAGE - -This Perl script expects a valid email to be piped in via STDIN. Its -STDOUT can be a pipe into I<urlview> (it will detect this). Here's how -you can use it: - - cat message.txt | extract_url.pl - cat message.txt | extract_url.pl | urlview - -For use with B<mutt 1.4.x>, here's a macro you can use: - - macro index,pager \cb "\ - <enter-command> \ - unset pipe_decode<enter>\ - <pipe-message>extract_url.pl<enter>" \ - "get URLs" - -For use with B<mutt 1.5.x>, here's a more complicated macro you can use: - - macro index,pager \cb "\ - <enter-command> set my_pdsave=\$pipe_decode<enter>\ - <enter-command> unset pipe_decode<enter>\ - <pipe-message>extract_url.pl<enter>\ - <enter-command> set pipe_decode=\$my_pdsave<enter>" \ - "get URLs" - -Here's a suggestion for how to handle I<encrypted email>: - - macro index,pager ,b "\ - <enter-command> set my_pdsave=\$pipe_decode<enter>\ - <enter-command> unset pipe_decode<enter>\ - <pipe-message>extract_url.pl<enter>\ - <enter-command> set pipe_decode=\$my_pdsave<enter>" \ - "get URLs" - - macro index,pager ,B "\ - <enter-command> set my_pdsave=\$pipe_decode<enter>\ - <enter-command> set pipe_decode<enter>\ - <pipe-message>extract_url.pl<enter>\ - <enter-command> set pipe_decode=\$my_pdsave<enter>" \ - "decrypt message, then get URLs" - - message-hook . 'macro index,pager \cb ,b "URL viewer"' - message-hook ~G 'macro index,pager \cb ,B "URL viewer"' - -=head1 CONFIGURATION - -If you're using it with B<Curses::UI> (i.e. as a standalone URL -selector), this Perl script will try and figure out what command to use -based on the contents of your F<~/.urlview> file. However, it also has -its own configuration file (F<~/.extract_urlview>) that will be used -instead, if it exists. So far, there are eight kinds of lines you can -have in this file: - -=over 8 - -=item COMMAND ... - -This line specifies the command that will be used to view URLs. This -command CAN contain a I<%s>, which will be replaced by the URL inside -single-quotes. If it does not contain a I<%s>, the URL will simply be -appended to the command. If this line is not present, the command is -assumed to be "open", which is the correct command for MacOS X systems. - -=item SHORTCUT - -This line specifies that if an email contains only 1 URL, that URL will -be opened without prompting. The default (without this line) is to -always prompt. - -=item NOREVIEW - -Normally, if a URL is too long to display on screen in the menu, the -user will be prompted with the full URL before opening it, just to make -sure it's correct. This line turns that behavior off. - -=item PERSISTENT - -By default, when a URL has been selected and viewed from the menu, -B<extract_url.pl> will exit. If you would like it to be ready to view -another URL without re-parsing the email (i.e. much like standard -I<urlview> behavior), add this line to the config file. - -=item IGNORE_EMPTY_TAGS - -By default, the script collects all the URLs it can find. Sometimes, -though, HTML messages contain links that don't correspond to any text -(and aren't normally rendered or accessible). This tells the script to -ignore these links. - -=item HTML_TAGS ... - -This line specifies which HTML tags will be examined for URLs. By -default, the script is very generous, looking in I<a>, I<applet>, -I<area>, I<blockquote>, I<embed>, I<form>, I<frame>, I<iframe>, -I<input>, I<ins>, I<isindex>, I<head>, I<layer>, I<link>, I<object>, -I<q>, I<script,> and I<xmp> tags for links. If you would like it to -examine just a subset of these (e.g. you only want a tags to be -examined), merely list the subset you want. The list is expected to be a -comma-separated list. If there are multiple of these lines in the config -file, the script will look for the minimum set of specified tags. - -=item ALTSELECT ... - -This line specifies a key for an alternate url viewing behavior. By -default, B<extract_url.pl> will quit after the URL viewer has been -launched for the selected URL. This key will then make B<extract_url.pl> -launch the URL viewer but will not quit. However, if I<PERSISTENT> is -specified in the config file, the opposite is true: normal selection of -a URL will launch the URL viewer and will not cause B<extract_url.pl> to -exit, but this key will. This setting defaults to I<k>. - -=item DEFAULT_VIEW {url|context} - -This line specifies whether to show the list of URLs at first or to show -the url contexts when the program is run. By default, B<extract_url.pl> -shows a list of URLs. - -=back - -Here is an example config file: - - SHORTCUT - COMMAND mozilla-firefox -remote "openURL(%s,new-window)" - HTML_TAGS a,iframe,link - ALTSELECT Q - DEFAULT_VIEW context - -=head1 SEE ALSO - -mutt(1), urlview(1), MIME::Parser(3), HTML::Parser(3), URI::Find(3), -Curses::UI(3), Getopt::Long(3). - -=head1 CAVEATS - -All URLs have any potentially dangerous shell characters (namely a -single quote and a dollar sign) removed (transformed into -I<percent-encoding>) before they are used in a shell. This should -eliminate the possibility of a bad URL breaking the shell. - -If using B<Curses::UI>, and a URL is too big for your terminal, when you -select it, B<extract_url.pl> will (by default) ask you to review it in a -way that you can see the whole thing. - -=head1 AUTHOR - -Kyle Wheeler (kyle@memoryhole.net) - diff --git a/deprecated/.mutt/gpg.rc b/deprecated/.mutt/gpg.rc deleted file mode 100644 index a3e79ec6..00000000 --- a/deprecated/.mutt/gpg.rc +++ /dev/null @@ -1,78 +0,0 @@ -# -*-muttrc-*- -# -# Command formats for gpg. -# -# This version uses gpg-2comp from -# http://70t.de/download/gpg-2comp.tar.gz -# -# $Id$ -# -# %p The empty string when no passphrase is needed, -# the string "PGPPASSFD=0" if one is needed. -# -# This is mostly used in conditional % sequences. -# -# %f Most PGP commands operate on a single file or a file -# containing a message. %f expands to this file's name. -# -# %s When verifying signatures, there is another temporary file -# containing the detached signature. %s expands to this -# file's name. -# -# %a In "signing" contexts, this expands to the value of the -# configuration variable $pgp_sign_as. You probably need to -# use this within a conditional % sequence. -# -# %r In many contexts, mutt passes key IDs to pgp. %r expands to -# a list of key IDs. - -# Note that we explicitly set the comment armor header since GnuPG, when used -# in some localiaztion environments, generates 8bit data in that header, thereby -# breaking PGP/MIME. - -# decode application/pgp -set pgp_decode_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" - -# verify a pgp/mime signature -set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f" - -# decrypt a pgp/mime attachment -set pgp_decrypt_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" - -# create a pgp/mime signed attachment -# set pgp_sign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" -set pgp_sign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" - -# create a application/pgp signed (old-style) message -# set pgp_clearsign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" -set pgp_clearsign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" - -# create a pgp/mime encrypted attachment -# set pgp_encrypt_only_command="pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" -set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" - -# create a pgp/mime encrypted and signed attachment -# set pgp_encrypt_sign_command="pgpewrap gpg-2comp %?p?--passphrase-fd 0? -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" -set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" - -# import a key into the public key ring -set pgp_import_command="gpg --no-verbose --import %f" - -# export a key from the public key ring -set pgp_export_command="gpg --no-verbose --export --armor %r" - -# verify a key -set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r" - -# read in the public key ring -set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --list-keys %r" - -# read in the secret key ring -set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --list-secret-keys %r" - -# pattern for good signature - may need to be adapted to locale! -set pgp_good_sign="^gpgv?: Good signature from " -# OK, here's a version which uses gnupg's message catalog: -#set pgp_good_sign="`gettext -d gnupg -s 'Good signature from "' | tr -d '"'`" -# This version uses --status-fd messages -#set pgp_good_sign="^\\[GNUPG:\\] GOODSIG" diff --git a/deprecated/.mutt/hooks b/deprecated/.mutt/hooks deleted file mode 100644 index a13cd976..00000000 --- a/deprecated/.mutt/hooks +++ /dev/null @@ -1,86 +0,0 @@ -# Fine tune mutt depending on aspects of a message. - -# Load the appropriate profile depending on the folder -folder-hook perso 'source ~/.mutt/profile.perso' -folder-hook gnubila 'source ~/.mutt/profile.gnubila' - -# When replying load profile corresponding to the To: -reply-hook "~t baptiste@bapt.name" "source ~/.mutt/profile.perso" -reply-hook "~t bgrenier@maatg.fr" "source ~/.mutt/profile.maat" -reply-hook "~t bgrenier@gnubila.fr" "source ~/.mutt/profile.gnubila" -reply-hook "~t bgrenier@maatg.com" "source ~/.mutt/profile.maat" -reply-hook "~t baptiste.grenier@healthgrid.org" "source ~/.mutt/profile.healthgrid" -reply-hook "~t gwarf@gwarf.org" "source ~/.mutt/profile.gwarf" -reply-hook "~t baptiste.grenier@gmail.com" "source ~/.mutt/profile.gmail.baptiste" -reply-hook "~e googlegroups\.com" "source ~/.mutt/profile.gmail.baptiste" -reply-hook "~t gwarf12@gmail.com" "source ~/.mutt/profile.gmail.gwarf12" - -# When sending load profile corresponding to the To: -send-hook @gnubila\\.fr$ "source ~/.mutt/profile.gnubila" -send-hook @maatg\\.fr$ "source ~/.mutt/profile.gnubila" -send-hook @lists\\.maatg\\.fr$ "source ~/.mutt/profile.gnubila" - -#folder-hook +INBOX push "<limit>!~s'Liferay\\\ Forums'<enter>" -#folder-hook = push "<limit>!~s'Liferay\\\ Forums'<enter>" - -folder-hook . 'set sort=threads' -folder-hook +Spam 'set sort=subject' -folder-hook +.Spam 'set sort=subject' -folder-hook +Junk 'set sort=subject' -folder-hook =Junk 'set sort=subject' -folder-hook +.Junk 'set sort=subject' -folder-hook +Sent 'set sort=reverse-date-sent' -folder-hook +.Sent 'set sort=reverse-date-sent' - -# Poor-man trash -#folder-hook . 'macro index d <tag-prefix><save-message>+Trash<enter>' -#folder-hook +Trash 'macro index d <tag-prefix><delete-message>' - -#folder-hook . 'macro pager d <save-message>+Trash<enter>' -#folder-hook +Trash 'macro pager d <delete-message>' - -#folder-hook . 'macro index <esc>d "<tag-thread>;<save-message>+Trash<enter>"' - -# Spam management -folder-hook . "macro index S '<save-message>+Spam<enter>' 'Retrain as Spam'" -folder-hook . "macro pager S '<save-message>+Spam<enter>' 'Retrain as Spam'" -folder-hook +Spam "macro index S '<save-message>!<enter>' 'Retrain as Innocent'" -folder-hook +Spam "macro pager S '<save-message>!<enter>' 'Retrain as Innocent'" - -# By default, don't do anything clever. -message-hook . "unset display_filter" - -# Sort out silly characters from Microsoft MUAs or MUAs that suffer the same -# problems. -message-hook "~h \"X-Mailer: (Microsoft Outlook IMO|Experian ContactMail)\"" "set display_filter='tr \\\\200\\\\202\\\\221\\\\222\\\\223\\\\224\\\\225\\\\226\\\\227 \\\\244\\\\054\\\\140\\\\047\\\\042\\\\042\\\\052\\\\055\\\\055'" - -# IncrediMail, whatever the hell that is, sends out its text alternative as -# DOS formatted text. Clean things up. -message-hook "~h \"X-Mailer: IncrediMail" "set display_filter='tr -d \\\\r'" - -# auto encrypt messages to Jerome -#send-hook '(~t .*)' 'unset pgp_autoencrypt' -#send-hook "(~t jrevillard@maatg.com)" "set pgp_autoencrypt" -#send-hook "(~t romain.tartiere@healthgrid.org)" "set pgp_autoencrypt" -#send-hook "(~t romain@blogreen.org)" "set pgp_autoencrypt" - -#charset-hook ^us-ascii$ cp1252 -#charset-hook ^iso-8859-1$ cp1252 -#set assumed_charset="cp1252" -#set assumed_charset="utf-8" -#charset-hook ^iso-8859-1$ utf-8 - -# charset-hooks for charsets' aliases -charset-hook x-unknown UTF-8 -#charset-hook x-unknown ISO-8859-15 -charset-hook windows-1250 CP1250 -charset-hook windows-1251 CP1251 -charset-hook windows-1252 CP1252 -charset-hook windows-1253 CP1253 -charset-hook windows-1254 CP1254 -charset-hook windows-1255 CP1255 -charset-hook windows-1256 CP1256 -charset-hook windows-1257 CP1257 -charset-hook windows-1258 CP1258 -#iconv-hook ISO-8859-1 ISO8859-1 -#iconv-hook iso-8859-15 8859-15 diff --git a/deprecated/.mutt/keyboard b/deprecated/.mutt/keyboard deleted file mode 100644 index e0f5e011..00000000 --- a/deprecated/.mutt/keyboard +++ /dev/null @@ -1,216 +0,0 @@ -### Keyboard -# -# \C control -# \e Alt -# \e esc -# compose - -# Moving -# Bind Browser {{{1 -bind browser g top-page -bind browser G bottom-page -# cb is catched by tmux... -bind browser \cb previous-page -bind browser \cf next-page -bind browser <Enter> view-file -bind browser A check-new -# Bind Index {{{1 -bind index g first-entry -bind index G last-entry -bind index H current-top -bind index M current-middle -bind index L current-bottom -bind index pagedown next-page -bind index pageup previous-page -bind index zt current-top -bind index zz current-middle -bind index zb current-bottom -bind index { top-page -bind index } bottom-page -bind index ~ set-flag -bind index \cv what-key -bind index i mail -bind index N toggle-new -# Bind Pager {{{1 -bind pager g top -bind pager G bottom -bind pager j next-line -bind pager k previous-line -bind pager i edit -bind pager R group-reply -bind pager <down> next-line -bind pager <up> previous-line -bind pager \cd half-down -bind pager \ce next-line -bind pager \cf next-page -bind pager \cm next-line -bind pager \cn half-down -bind pager \cn next-page -bind pager \cp half-up -bind pager \cu half-up -bind pager N next-unread -# Bind Index/Pager {{{1 -bind index,pager \cn next-thread -bind index,pager \cn read-thread -bind index,pager \cd delete-thread -bind index,pager f forward-message -#bind index,pager n next-undeleted -#bind index,pager p previous-undeleted -#bind index,pager N next-unread -#bind index,pager N toggle-new -bind index,pager P previous-unread -# }}} - -# Flagging -bind index F flag-message -bind pager F flag-message - -# Fetching mail -macro index \cf "<shell-escape>offlineimap\r" -#bind index G imap-fetch-mail - -macro index z "c?\t" "List mailboxes and switch to selected one" - -# default save path -macro attach s <save-entry><bol>~/Downloads/<eol> - -# help -macro generic <F1> "!vim ~/.mutt/mutt.help\n" "Man page" -macro index <F1> "!vim ~/.mutt/mutt.help\n" "Man page" -macro pager <F1> "!vim ~/.mutt/mutt.help\n" "Man page" - -# macros to invoke a profile -macro index <F8> ":source ~/.mutt/profile.gnubila\n" "Load profile: gnubila" -macro index <F9> ":source ~/.mutt/profile.perso\n" "Load profile: perso" -macro index <F10> ":source ~/.mutt/profile.gwarf\n" "Load profile: gwarf" - -macro compose <F8> "<enter-command>source ~/.mutt/profile.gnubila\n<edit-from>\ - <kill-line>Baptiste Grenier <bgrenier@gnubila.fr>\n<enter-command>\ - set editor='chsig ~/.mutt/signature-gnubila'\n<edit-headers>\n" \ - "Load profile: gnubila" -macro compose <F9> "<enter-command>source ~/.mutt/profile.perso\n<edit-from>\ - <kill-line>Baptiste Grenier <baptiste@bapt.name>\n<enter-command>\ - set editor='chsig ~/.mutt/signature-perso'\n<edit-headers>\n" \ - "Load profile: perso" -macro compose <F10> "<enter-command>source ~/.mutt/profile.gwarf\n<edit-from>\ - <kill-line>Baptiste Grenier <gwarf@gwarf.org>\n<enter-command>\ - set editor='chsig ~/.mutt/signature-perso'\n<edit-headers>\n" \ - "Load profile: gwarf" - -# Attachments -macro attach W <save-entry><kill-line>/home/baptiste/Documents/ -macro attach E <save-entry><kill-line>/home/baptiste/Documents/<enter> - -# reload config -#macro compose <F12> "<enter-command>source ~/.muttrc\n" "Reload config" -#macro index <F12> "<enter-command>source ~/.muttrc\n" "Reload config" - -# show _all_ mails -macro index \# "l~A\r" "Show ALL Mails" -# Show work emails -macro index \" "l !(~f 'Hacker News 50' | ~s puppet | ~s mcollective \ - | ~f GetMetal.org | ~f Reflets | ~f 'New Album Releases' | ~f LinuxFr.org)\r" -# show flagged and unread mails (i.e. important) -macro index \' "l(~F | ~U) ! ~D\r" "Show Important Mails" -# show unreplied and flagged mails (i.e. TODO) -#macro index \` "l(! ~Q | ~F) ! ~D\r" "Show TODO Mail" -# mark everything as read -macro index + "T~N\n;N;t" "Mark everything as read" - -#macro index \ci |urlview\n # simulate the old browse-url function -#macro pager \ci |urlview\n # simulate the old browse-url function - -macro index,pager \ci "<pipe-message> urlscan -c<Enter>" "call urlscan to extract URLs out of a message" -macro attach,compose \ci "<pipe-entry> urlscan -c<Enter>" "call urlscan to extract URLs out of a message" - -#macro index \ci |w3m\n "call w3m to extract URLs out of a message" -#macro pager \ci |w3m\n "call w3m to extract URLs out of a message" - -# http://www.memoryhole.net/~kyle/extract_url/ -# require: -# FreeBSD: -# /usr/ports/mail/p5-MIME-Tools -# /usr/ports/www/p5-HTML-Parser -# /usr/ports/devel/p5-Getopt-Long -# /usr/ports/devel/p5-Curses -# /usr/ports/textproc/p5-URI-Find -# Archlinux: -# perl-curses-ui perl-html-parser perl-mime-tools perl-uri-find perlxml -# gentoo: -# dev-perl/MIME-tools -# dev-perl/HTML-Parser -# perl-core/Getopt-Long -# dev-perl/Curses -# dev-perl/URI-Find -# dev-perl/libxml-perl -#macro index,pager \cb "<enter-command> set my_pdsave=\$pipe_decode<enter>\ -# <enter-command> unset pipe_decode<enter>\ -# <pipe-message>~/.mutt/extract_url.pl<enter>\ -# <enter-command> set pipe_decode=\$my_pdsave<enter>" "get URLs" - -macro index,pager ,b "<enter-command> set my_pdsave=\$pipe_decode<enter>\ - <enter-command> unset pipe_decode<enter>\ - <pipe-message>~/.mutt/extract_url.pl<enter>\ - <enter-command> set pipe_decode=\$my_pdsave<enter>" "get URLs" - -macro index,pager ,B "<enter-command> set my_pdsave=\$pipe_decode<enter>\ - <enter-command> set pipe_decode<enter>\ - <pipe-message>~/.mutt/extract_url.pl<enter>\ - <enter-command> set pipe_decode=\$my_pdsave<enter>" "decrypt message, then get URLs" - -# mutt macros for mu -# index mail: mu index -#macro index <F8> "<shell-escape>mu find --clearlinks --format=links --linksdir=~/Mail/search " "mu find" -#macro index <F9> "<change-folder-readonly>~/Mail/search" "mu find results" - -# mutt macros for notmuch -# http://upsilon.cc/~zack/blog/posts/2011/01/how_to_use_Notmuch_with_Mutt/ -#macro index <F4> \ -# "<enter-command>unset wait_key<enter><shell-escape>~/.mutt/mutt-notmuch --prompt search<enter><change-folder-readonly>~/.cache/mutt_results<enter>" \ -macro index <F3> \ - "<enter-command>unset wait_key<enter><pipe-message>notmuch-mutt tag -inbox<enter>" \ - "notmuch: remove message from inbox" - -# search mail (using notmuch)" -macro index <F4> \ - "<enter-command>unset wait_key<enter><shell-escape>notmuch-mutt --prompt search<enter><change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>" \ - "notmuch: search mail" - -# search and reconstruct owning thread (using notmuch)" -macro index <F5> \ - "<enter-command>unset wait_key<enter><pipe-message>notmuch-mutt thread<enter><change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter><enter-command>set wait_key<enter>" \ - "notmuch: reconstruct thread" - -# Namazu/nmzmail -#macro generic ,F "<shell-escape>nmzmail -r ~/Mail/.Search<enter>" "search via nmzmail" -# Load the results mailbox -#macro generic ,,f "<change-folder><kill-line>=.Search<enter>" "load the search results mailbox" -# Jump to original email - https://github.com/weisslj/muttjump -#macro generic ,j "<enter-command>push <pipe-message>muttjump<enter><enter>" "jump to original message" - -# abook -macro generic,index,pager \ca "abook" "launch abook" -macro index,pager A "<pipe-message>abook --add-email<return>" \ - "add the sender address to abook" - -# GTG http://gtg.fritalk.com/post/2010/02/03/GTG-tips-and-tricks2 -macro index ,t "<enter-command>set pipe_decode<enter>\ - <pipe-message>gtg_new_task --interactive Follow up:<enter>\ - <save-message>+TODO<enter>" -#macro index ,t "<enter-command>set pipe_decode<enter><pipe-message>gtg_new_task --interactive Follow up:<enter>" - -macro editor ";" \Ct # bin ; to Ctrl-t in editor-mode (easier IMO) - -# GTD -macro index \er "<modify-labels>-inbox -unread +read\\n" "Flag message as read" -macro index \e6 "<modify-labels>-inbox -unread +spam<enter>\ - <save-message>+Spam<enter>" "Move Message to Spam" - -#macro pager B ":unset wait_key\n<pipe-message>mhonarc -single | browser\n:set wait_key\n" -#macro index B ":unset wait_key\n<pipe-message>mhonarc -single | browser\n:set wait_key\n" -#macro pager l "<pipe-message>mhonarc -single | w3m -T text/html\n" - -# bounce-message -#bind index B bounce-message - -# vim: ft=muttrc diff --git a/deprecated/.mutt/mutt-ldap-query.pl b/deprecated/.mutt/mutt-ldap-query.pl deleted file mode 100644 index 2f30f875..00000000 --- a/deprecated/.mutt/mutt-ldap-query.pl +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/perl -w -# -# mutt_ldap_query.pl -# version 1.2 - -# -# Historique -# 2001/09/12 : pda : conversion utf8 -# - -# Copyright (C) 4/14/98 Marc de Courville <marc@courville.org> -# but feel free to redistribute it however you like. -# -# mutt_ldap_query.pl: perl script to parse the outputs of ldapsearch -# (ldap server query tool present in ldap-3.3 distribution -# http://www.umich.edu/~rsug/ldap) in order to pass the required -# formatted data to mutt (mail client http://www.mutt.org/) -# using Brandon Long's the "External Address Query" patch -# (http://www.fiction.net/blong/programs/mutt/#query). -# -# Warren Jones <wjones@tc.fluke.com> 2-10-99 -# o Instead of just matching "sn", I try to match these fields -# in the LDAP database: "cn", "mail", "sn" and "givenname". -# A wildcard is used to make a prefix match. (I borrowed -# this query from pine.) -# -# o Commas separating command line arguments are optional. -# (Does mutt really start up $query_command with comma -# separated args?) -# -# o Streamlined the perl here and there. In particular, -# I used paragraph mode to read in each match in a single -# chunk. -# -# o Added "use strict" and made the script "-w" safe. -# -# o Returned non-zero exit status for errors or when there -# is no match, as specified by the mutt docs. -# -# o Explicitly close the pipe from ldapsearch and check -# error status. -# - -use strict; - -use Unicode::String qw(latin1 utf8); # conversion latin1 <-> utf8 -use MIME::Base64; - -# Please change the following 2 lines to match your site configuration -# -my $ldap_server = "localhost"; -my $BASEDN = "dc=gwarf, dc=org"; - -# Fields to search in the LDAP database: -# -my @fields = qw(cn mail sn givenname); - -die "Usage: $0 <name_to_query>, [[<other_name_to_query>], ...]\n" - if ! @ARGV; - -$/ = ''; # Paragraph mode for input. -my @results; - -foreach my $askfor ( @ARGV ) { - - $askfor =~ s/,$//; # Remove optional trailing comma. - - my $query = join '', map { "($_=$askfor*)" } @fields; - my $command = "ldapsearch -x -L -h $ldap_server -b '$BASEDN' '(|$query)'" . - " sn givenName mail telephoneNumber"; - - # print "$command\n"; - open( LDAPQUERY, "$command |" ) or die "LDAP query error: $!"; - - while ( <LDAPQUERY> ) { - # print "[$_]\n"; - - my $parag = $_ ; - while ($parag =~ /^([a-z]+):: (.*)$/im) - { - my $attr = $1 ; - my $val = $2 ; - $val = utf8(decode_base64($val))->latin1 ; - $parag =~ s/$1:: $2/$attr: $val/im ; - $_ = $parag ; - # print "$_\n"; - } - - next if ! /^mail: *(.*)$/im; - my $email = $1; - my $phone = /^telephoneNumber: *(.*)$/im ? $1 : ''; - my ( @name ) = ( /^givenName: *(.*)$/im, /^sn: *(.*)$/im ); - push @results, "$email\t@name\t$phone\n"; - } - - close( LDAPQUERY ) or die "ldapsearch failed: $!\n"; -} - -print "LDAP query: found ", scalar(@results), "\n", @results; -exit 1 if ! @results; diff --git a/deprecated/.mutt/mutt-notmuch b/deprecated/.mutt/mutt-notmuch deleted file mode 100755 index 535abddc..00000000 --- a/deprecated/.mutt/mutt-notmuch +++ /dev/null @@ -1,189 +0,0 @@ -#!/usr/bin/perl -w -# -# mutt-notmuch - notmuch (of a) helper for Mutt -# -# Copyright: © 2011 Stefano Zacchiroli <zack@upsilon.cc> -# License: GNU General Public License (GPL), version 3 or above -# -# See the bottom of this file for more documentation. -# A manpage can be obtained by running "pod2man mutt-notmuch > mutt-notmuch.1" - -use strict; -use warnings; - -use File::Path; -use Getopt::Long; -use Mail::Internet; -use Mail::Box::Maildir; -use Pod::Usage; - - -# create an empty maildir (if missing) or empty an existing maildir" -sub empty_maildir($) { - my ($maildir) = (@_); - rmtree($maildir) if (-d $maildir); - my $folder = new Mail::Box::Maildir(folder => $maildir, - create => 1); - $folder->close(); -} - -# search($maildir, $query) -# search mails according to $query with notmuch; store results in $maildir -sub search($$) { - my ($maildir, $query) = @_; - - empty_maildir($maildir); - system("notmuch search --output=files $query" - . " | xargs --no-run-if-empty ln -s -t $maildir/cur/"); -} - -sub search_action($$@) { - my ($interactive, $results_dir, @params) = @_; - - if (! $interactive) { - search($results_dir, join(' ', @params)); - } else { - my $query = ""; - my $done = 0; - while (! $done) { - print "search ('?' for man): "; - chomp($query = <STDIN>); - if ($query eq "?") { - system("man notmuch"); - } elsif ($query eq "") { - $done = 1; # quit doing nothing - } else { - search($results_dir, $query); - $done = 1; - } - } - } -} - -sub thread_action(@) { - my ($results_dir, @params) = @_; - - my $mail = Mail::Internet->new(\*STDIN); - $mail->head->get('message-id') =~ /^<(.*)>$/; # get message-id - my $mid = $1; - my $tid = `notmuch search --output=threads id:$mid`;# get thread id - chomp($tid); - - search($results_dir, $tid); -} - -sub die_usage() { - my %podflags = ( "verbose" => 1, - "exitval" => 2 ); - pod2usage(%podflags); -} - -sub main() { - my $results_dir = "$ENV{HOME}/.cache/mutt_results"; - my $interactive = 0; - my $help_needed = 0; - - my $getopt = GetOptions( - "h|help" => \$help_needed, - "o|output-dir=s" => \$results_dir, - "p|prompt" => \$interactive); - if (! $getopt || $#ARGV < 0) { die_usage() }; - my ($action, @params) = ($ARGV[0], @ARGV[1..$#ARGV]); - - if ($help_needed) { - die_usage(); - } elsif ($action eq "search" && $#ARGV == 0 && ! $interactive) { - print STDERR "Error: no search term provided\n\n"; - die_usage(); - } elsif ($action eq "search") { - search_action($interactive, $results_dir, @params); - } elsif ($action eq "thread") { - thread_action($results_dir, @params); - } else { - die_usage(); - } -} - -main(); - -__END__ - -=head1 NAME - -mutt-notmuch - notmuch (of a) helper for Mutt - -=head1 SYNOPSIS - -=over - -=item B<mutt-notmuch> [I<OPTION>]... search [I<SEARCH-TERM>]... - -=item B<mutt-notmuch> [I<OPTION>]... thread < I<MAIL> - -=back - -=head1 DESCRIPTION - -mutt-notmuch is a frontend to the notmuch mail indexer capable of populating -maildir with search results. - -=head1 OPTIONS - -=over 4 - -=item -o DIR - -=item --output-dir DIR - -Store search results as (symlink) messages under maildir DIR. Beware: DIR will -be overwritten. (Default: F<~/.cache/mutt_results/>) - -=item -p - -=item --prompt - -Instead of using command line search terms, prompt the user for them (only for -"search"). - -=item -h - -=item --help - -Show usage information and exit. - -=back - -=head1 INTEGRATION WITH MUTT - -mutt-notmuch can be used to integrate notmuch with the Mutt mail user agent -(unsurprisingly, given the name). To that end, you should define the following -macros in your F<~/.muttrc> (replacing F<~/bin/mutt-notmuch> for the actual -location of mutt-notmuch on your system): - - macro index <F8> \ - "<enter-command>unset wait_key<enter><shell-escape>~/bin/mutt-notmuch --prompt search<enter><change-folder-readonly>~/.cache/mutt_results<enter>" \ - "search mail (using notmuch)" - macro index <F9> \ - "<enter-command>unset wait_key<enter><pipe-message>~/bin/mutt-notmuch thread<enter><change-folder-readonly>~/.cache/mutt_results<enter><enter-command>set wait_key<enter>" \ - "search and reconstruct owning thread (using notmuch)" - -The first macro (activated by <F8>) will prompt the user for notmuch search -terms and then jump to a temporary maildir showing search results. The second -macro (activated by <F9>) will reconstruct the thread corresponding to the -current mail and show it as search results. - -To keep notmuch index current you should then periodically run C<notmuch -new>. Depending on your local mail setup, you might want to do that via cron, -as a hook triggered by mail retrieval, etc. - -=head1 SEE ALSO - -mutt(1), notmuch(1) - -=head1 AUTHOR - -Copyright: (C) 2011 Stefano Zacchiroli <zack@upsilon.cc> - -License: GNU General Public License (GPL), version 3 or higher - -=cut diff --git a/deprecated/.mutt/mutt.colors b/deprecated/.mutt/mutt.colors deleted file mode 100644 index f887ac85..00000000 --- a/deprecated/.mutt/mutt.colors +++ /dev/null @@ -1,151 +0,0 @@ -# -*- muttrc -*- -# -# Color settings for mutt. -# - -# Default color definitions -color normal white default -color hdrdefault green default -color quoted green default -color quoted1 yellow default -color quoted2 red default -color signature cyan default -color indicator brightwhite black -color error brightred default -color status brightwhite black -color tree brightmagenta default -color tilde blue default -color attachment brightyellow default -color markers brightred default -color message white default -color search brightwhite magenta -color bold brightyellow default - -# Color definitions when on a mono screen -mono bold bold -mono underline underline -mono indicator reverse -mono error bold - -# Colors for items in the reader -color header brightyellow default "^(From|Subject):" -color header brightcyan default "^To:" -color header brightcyan default "^Cc:" -mono header bold "^(From|Subject):" - -# Many of these formulas were stolen from Jeremy Blosser -# These would be much simpler if colors were additive. - -# regular new messages -color index black white "~N !~T !~F !~p !~P" - -# regular tagged messages -color index black cyan "~T !~F !~p !~P" - -# regular flagged messages -color index black red "~F !~p !~P" - -# messages to me -color index brightgreen default "~p !~N !~T !~F !~P" -color index green white "~p ~N !~T !~F !~P" -color index green cyan "~p ~T !~F !~P" -color index green red "~p ~F !~P" - -# message to HealthGrid mailing lists -color index brightred default "~C \"(support|sysadmins|team).healthgrid\.org\" !~N !~P !~p" -color index red white "~C \"(support|sysadmins|team).healthgrid\.org\" ~N !~P !~p" -color index red cyan "~C \"(support|sysadmins|team).healthgrid\.org\" ~T ~P !~F" - -# message from MaatG -color index brightred default "~f \"@maatg.com\"" -color index brightred default "~f \"@maatg.fr\"" -color index brightred default "~f \"@gnubila.fr\"" - -# messages from me -color index yellow default "~P !~N !~T !~F" -color index yellow white "~P ~N !~T !~F" -color index yellow cyan "~P ~T !~F" -color index yellow red "~P ~F" - -# messages which mention my name in the body -color index green default "~b \"baptiste(\!| grenier)|gwarf|bgrenier\" !~N !~T !~F !~p !~P" -color index brightgreen white "~b \"baptiste(\!| grenier)|gwarf|bgrenier\" ~N !~T !~F !~p !~P" -color index green cyan "~b \"baptiste(\!| grenier)|gwarf|bgrenier\" ~T !~F !~p !~P" -color index green red "~b \"baptiste(\!| grenier)|gwarf|bgrenier\" ~F !~p !~P" -color body blue default 'baptiste|gwarf|bgrenier|grenier' - -# messages which are in reference to my mails -color index magenta default "~x \"baptiste\\.grenier\\.healthgrid\\.org|baptiste\\.bapt\\.name|bgrenier\\.maatg\\.com|bgrenier\\.gnubila\\.fr|gwarf\\.gwarf\\.org\" !~N !~T !~F !~p !~P" -color index magenta white "~x \"baptiste\\.grenier\\.healthgrid\\.org|baptiste\\.bapt\\.name|bgrenier\\.maatg\\.com|bgrenier\\.gnubila\\.fr|gwarf\\.gwarf\\.org\" ~N !~T !~F !~p !~P" -color index magenta cyan "~x \"baptiste\\.grenier\\.healthgrid\\.org|baptiste\\.bapt\\.name|bgrenier\\.maatg\\.com|bgrenier\\.gnubila\\.fr|gwarf\\.gwarf\\.org\" ~T !~F !~p !~P" -color index magenta red "~x \"baptiste\\.grenier\\.healthgrid\\.org|baptiste\\.bapt\\.name|bgrenier\\.maatg\\.com|bgrenier\\.gnubila\\.fr|gwarf\\.gwarf\\.org\" ~F !~p !~P" - -# messages to root, etc. -color index cyan default "~C \"(root|postmaster|abuse|mailer-daemon)@\" !~N !~P !~p" -color index cyan white "~C \"(root|postmaster|abuse|mailer-daemon)@\" ~N !~P !~p" - -# messages from @ovh.net -color index cyan default "~f \"@ovh.net\"" - -# big messages -#color index brightred default "!~N ~z 10240-" -#color index brightred cyan "~T !~F !~p !~P ~z 10240-" -#color index brightred white "~N ~z 10240-" - -# deleted messages -color index red default "!~N ~D" -color index red cyan "~N ~D" - -# Highlights inside the body of a message. - -# Attribution lines -color body magenta default "\\* [^<]+ <[^>]+> \\[[^]]+\\]:" -color body magenta default "(^|[^[:alnum:]])on [a-z0-9 ,]+( at [a-z0-9:,. +-]+)?:" - -# URLs -color body brightyellow default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" - -# email addresses -color body brightmagenta default "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" - -# PGP messages -color body brightyellow default "^gpg: Good signature .*" -color body white default "^gpg: " -color body brightwhite red "^gpg: BAD signature from.*" -mono body bold "^gpg: Good signature" -mono body bold "^gpg: BAD signature from.*" - -# Various smilies and the like -color body brightwhite default "<[Gg]>" # <g> -color body brightwhite default "<[Bb][Gg]>" # <bg> - -#color body brightwhite default " [;:]-*[})>{(<|]" # :-) etc... -color body brightyellow black "[:]+[-^o]?[])>}D]+" -color body brightyellow black "([:;]+[-^o]?[Pp]+)|([;][-^o]?[])>}D]+)" -color body brightred black "[:;]+[-^o]?[[(<{|/\\]+" - -# *bold* -color body brightblue default "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" - -# _underline_ -color body brightblue default "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" - -# /italic/ (Sometimes gets directory names) -#color body brightblue default "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - -# Border lines. -color body blue default "( *[-+=#*~_]){6,}" - -# patch/diff -color body green default "^diff \-.*" -color body green default "^index [a-f0-9].*" -color body green default "^\-\-\- .*" -color body green default "^[\+]{3} .*" -color body cyan default "^[\+][^\+]+.*" -color body red default "^\-[^\-]+.*" -color body brightblue default "^@@ .*" - -# vim: filetype=muttrc diff --git a/deprecated/.mutt/mutt.colors-solarized b/deprecated/.mutt/mutt.colors-solarized deleted file mode 100644 index 1120df01..00000000 --- a/deprecated/.mutt/mutt.colors-solarized +++ /dev/null @@ -1,56 +0,0 @@ -# /usr/share/doc/mutt/colors/solarized/mutt-colors-solarized-dark-256.muttrc -# custom body highlights ----------------------------------------------- -# highlight my name and other personally relevant strings -color body color136 color234 "(baptiste|genier|gnubila|healthgrid|boob|bgrenier|gwarf)" -# custom index highlights ---------------------------------------------- -# Important messages from check_mk/nagios -color index white color234 "~s \"Check_MK.*Certificate validity period.*\"" -color index white color234 "~s \"Check_MK.*fs_.*\"" -# messages which mention my name in the body -color index color136 color234 "~b \"baptiste(\!| grenier)|gwarf|bgrenier\" !~N !~T !~F !~p !~P" -#color index J_cream color230 "~b \"baptiste(\!| grenier)|gwarf|bgrenier\" ~N !~T !~F !~p !~P" -color index color136 color37 "~b \"baptiste(\!| grenier)|gwarf|bgrenier\" ~T !~F !~p !~P" -#color index color136 J_magent "~b \"baptiste(\!| grenier)|gwarf|bgrenier\" ~F !~p !~P" -# messages which are in reference to my mails -#color index J_magent color234 "~x \"(bougebox|monster)\\.gnubila\\.fr|maatg\\.fr|bapt\\.name\" !~N !~T !~F !~p !~P" -#color index J_magent color230 "~x \"(bougebox|monster)\\.gnubila\\.fr|maatg\\.fr|bapt\\.name\" ~N !~T !~F !~p !~P" -#color index J_magent color37 "~x \"(bougebox|monster)\\.gnubila\\.fr|maatg\\.fr|bapt\\.name\" ~T !~F !~p !~P" -#color index J_magent color160 "~x \"(bougebox|monster)\\.gnubila\\.fr|maatg\\.fr|bapt\\.name\" ~F !~p !~P" - -# patch/diff -color body green default "^diff \-.*" -color body green default "^index [a-f0-9].*" -color body green default "^\-\-\- .*" -color body green default "^[\+]{3} .*" -color body cyan default "^[\+][^\+]+.*" -color body red default "^\-[^\-]+.*" -color body brightblue default "^@@ .*" - -color index color160 color234 "~T" # tagged messages -color index color166 color160 "~=" # duplicated messages - -# and a heavy handed email regex -#color body J_magent color234 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" - -# Various smilies and the like -color body color230 color234 "<[Gg]>" # <g> -color body color230 color234 "<[Bb][Gg]>" # <bg> -color body color136 color234 " [;:]-*[})>{(<|]" # :-) etc... -# *bold* -color body color33 color234 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -# _underline_ -color body color33 color234 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -# /italic/ (Sometimes gets directory names) -color body color33 color234 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" -mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - -# Border lines. -color body color33 color234 "( *[-+=#*~_]){6,}" - -#folder-hook . "color status J_black J_status " -#folder-hook Trash "color status J_black J_status " -#folder-hook _Read "color status J_black color136 " - -# vim: filetype=muttrc diff --git a/deprecated/.mutt/mutt.headers b/deprecated/.mutt/mutt.headers deleted file mode 100644 index 36560dda..00000000 --- a/deprecated/.mutt/mutt.headers +++ /dev/null @@ -1,24 +0,0 @@ -### Headers Display -# -ignore * -#unignore from subject to cc date -unignore from: date: subject: to: cc: reply-to: -#unignore x-url x-resent organization organisation x-mailing-list: -unignore x-mailing-list: -unignore user-agent: x-agent: x-mailer: x-newsreader: -unignore newsgroups: posted-to: x-also-posted-to: -unignore sender: -unignore priority: importance: -unignore mail-followup-to: -unignore message-id: -#unignore resent- x-resent -# unignore user-agent: x-agent: x-mailer: x-newsreader: x-mailing-list: -# unignore x-editor -# unignore message-id: newsgroups: posted-to: posted-and-mailed: -# unignore x-also-posted-to: x-newsgroups: -# unignore delivered-to x-envelope-to: -# unignore x-accept-language -unhdr_order * -# Ordonnons les diffrents champs -#hdr_order From: Subject: To: CC: BCC: Date: Organization: User-Agent: X-Mailer: Message-ID: -hdr_order Sender: From From: Reply-To: Subject: Organization: Date: Message-Id: User-Agent: X-Editor: X-Mailer: X-Newsreader: X-Agent: To: Cc: Newsgroups: X-Resent Followup-To: Mail-Followup-To: diff --git a/deprecated/.mutt/mutt.help b/deprecated/.mutt/mutt.help deleted file mode 100644 index a82aa49a..00000000 --- a/deprecated/.mutt/mutt.help +++ /dev/null @@ -1,58 +0,0 @@ - -Pattern modifier Description - - ~A all messages - ~b EXPR messages which contain EXPR in the message body - =b STRING messages which contain STRING in the message body. If IMAP is - enabled, searches for STRING on the server, rather than downloading - each message and searching it locally. - ~B EXPR messages which contain EXPR in the whole message - ~c EXPR messages carbon-copied to EXPR - %c GROUP messages carbon-copied to any member of GROUP - ~C EXPR message is either to: or cc: EXPR - %C GROUP message is either to: or cc: to any member of GROUP - ~d [MIN]-[MAX] messages with ``date-sent'' in a Date range - ~D deleted messages - ~e EXPR message which contains EXPR in the ``Sender'' field - %e GROUP message which contain a member of GROUP in the ``Sender'' - field - ~E expired messages - ~F flagged messages - ~f EXPR messages originating from EXPR - %f GROUP messages originating from any member of GROUP - ~g cryptographically signed messages - ~G cryptographically encrypted messages - ~h EXPR messages which contain EXPR in the message header - ~H EXPR messages with a spam attribute matching EXPR - ~i EXPR message which match EXPR in the ``Message-ID'' field - ~k message contains PGP key material - ~L EXPR message is either originated or received by EXPR - %L GROUP message is either originated or received by any member of - GROUP - ~l message is addressed to a known mailing list - ~m [MIN]-[MAX] message in the range MIN to MAX *) - ~n [MIN]-[MAX] messages with a score in the range MIN to MAX *) - ~N new messages - ~O old messages - ~p message is addressed to you (consults alternates) - ~P message is from you (consults alternates) - ~Q messages which have been replied to - ~r [MIN]-[MAX] messages with ``date-received'' in a Date range - ~R read messages - ~s EXPR messages having EXPR in the ``Subject'' field. - ~S superseded messages - ~t EXPR messages addressed to EXPR - ~T tagged messages - ~u message is addressed to a subscribed mailing list - ~U unread messages - ~v message is part of a collapsed thread. - ~V cryptographically verified messages - ~x EXPR messages which contain EXPR in the `References' field - ~X [MIN]-[MAX] messages with MIN to MAX attachments *) - ~y EXPR messages which contain EXPR in the `X-Label' field - ~z [MIN]-[MAX] messages with a size in the range MIN to MAX *) - ~= duplicated messages (see $duplicate_threads) - ~$ unreferenced messages (requires threaded view) - ~(PATTERN) messages in threads containing messages matching a certain - pattern, e.g. all threads containing messages from you: ~(~P) - diff --git a/deprecated/.mutt/mutt.kz b/deprecated/.mutt/mutt.kz deleted file mode 100644 index ee9b29fd..00000000 --- a/deprecated/.mutt/mutt.kz +++ /dev/null @@ -1,32 +0,0 @@ -set nm_default_uri = "notmuch:///home/baptiste/Mail" -# sets up queries for virtual folders -# use X to switch of virtual mbox -#virtual-mailboxes \ -# "INBOX" "notmuch://?query=tag:inbox and NOT tag:archive"\ -# "archive" "notmuch://?query=tag:archive"\ -# "gnubila" "notmuch://?query=tag:gnubila"\ -# "perso" "notmuch://?query=tag:perso"\ -# "Unread" "notmuch://?query=tag:unread"\ -# "Starred" "notmuch://?query=tag:*"\ -# "Sent" "notmuch://?query=tag:sent" - -# notmuch bindings -macro index \\\\ "<vfolder-from-query>" # looks up a hand made query -macro index A "<modify-labels>+archive -unread -inbox\\n" # tag as Archived -macro index I "<modify-labels>-inbox -unread\\n" # removed from inbox -macro index S "<modify-labels-then-hide>-inbox -unread +junk\\n" # tag as Junk mail -macro index + "<modify-labels>+*\\n<sync-mailbox>" # tag as starred -macro index - "<modify-labels>-*\\n<sync-mailbox>" # tag as unstarred - -# sidebar -set sidebar_width = 20 -set sidebar_visible = no -color sidebar_new yellow default -# sidebar bindings -bind index <left> sidebar-prev # got to previous folder in sidebar -bind index <right> sidebar-next # got to next folder in sidebar -bind index <space> sidebar-open # open selected folder from sidebar -# sidebar toggle -macro index ,@) "<enter-command> set sidebar_visible=no; macro index ~ ,@( 'Toggle sidebar'<Enter>" -macro index ,@( "<enter-command> set sidebar_visible=yes; macro index ~ ,@) 'Toggle sidebar'<Enter>" -macro index ~ ,@( 'Toggle sidebar' # toggle the sidebar diff --git a/deprecated/.mutt/mutt.mime b/deprecated/.mutt/mutt.mime deleted file mode 100644 index 83aa211a..00000000 --- a/deprecated/.mutt/mutt.mime +++ /dev/null @@ -1,42 +0,0 @@ -### MIME-Viewer -# -unauto_view * -auto_view text/html -auto_view application/msword -auto_view application/pdf -auto_view image/x-portable -auto_view image/x-portable-bitmap -auto_view image/x-portable-graymap -auto_view image/x-portable-anymap -auto_view image/x-portable-pixmap -auto_view application/pgp-signature -auto_view application/pgp -auto_view application/x-gunzip -auto_view application/postscript -auto_view application/x-troff-man -auto_view application/x-troff-me -auto_view application/x-troff -auto_view application/x-gtar -auto_view application/x-tar -auto_view application/x-tar-gz -auto_view application/x-sh -auto_view application/x-csh -auto_view application/x-shar -auto_view application/x-latex -auto_view application/x-tex -auto_view application/x-dvi -auto_view application/x-zip-compressed -auto_view application/x-cpio text/richtext -auto_view application/pgp-keys -auto_view application/octet-stream -auto_view text/x-vcard -auto_view text/enriched -#auto_view audio/* -#auto_view image/jpeg -#auto_view image/png -# Show the "text/plain" part *before* the "text/html" part: -alternative_order text/plain text/html -# Plain as default: -# message-hook ~A 'alternative_order text/plain' -# But not for a special sender: -# message-hook '~f news@letter\.com' 'unalternative_order *' diff --git a/deprecated/.mutt/mutt.png b/deprecated/.mutt/mutt.png deleted file mode 100644 index 70786039f5b1c18034257b375111acc8697e3fc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3264 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 diff --git a/deprecated/.mutt/mutt.rc b/deprecated/.mutt/mutt.rc deleted file mode 100644 index 5a23762a..00000000 --- a/deprecated/.mutt/mutt.rc +++ /dev/null @@ -1,200 +0,0 @@ -set config_charset=utf-8 - -### Editeur pour les messages -set editor="vim" - -set tmpdir="~/tmp" - -# only for pop/imap -# Display download progress every 5K -#set net_inc=5 -# how often to poll for new mail in all mailboxes -set mail_check=60 -# How often to poll for new mail in the current mailbox -set timeout=15 -# Check for new mails -set check_new=yes - -# Spell checking -set ispell="ispell" - -### Printing -set print=ask-yes # ask before printing -set print_cmd="muttprint" -# set print_command="mp|lpr" # pipe message to "mp" for formattting - then on to "lpr" - -#set shell="/bin/sh" -#set shell="/usr/local/bin/zsh" -set shell="/bin/zsh" -set mailcap_path="~/.mutt/mutt.mailcap:/etc/mailcap" - -### Questions -set include=yes # Always include original -set copy=yes # Always save outgoing mails -set delete=ask-yes # ask and delete -set move=no # don't move -set postpone=ask-yes # demande d'ajourner -set reply_to=ask-yes # useful for mailinglists -set confirmappend=no # set: prompt for confirmation on appending mail to folder -set confirmcreate # set: prompt for confirmation on creation of folders -set abort_nosubject=ask-yes -set abort_unmodified=ask-yes -set recall=ask-yes # prompt for recalling postponed mails with 'm' -set quit=ask-no - -### Varia -unset mark_old # set: make distinction between New mail and Old mail. -set allow_8bit # send data as it is. no conversion. - -### Sorting mails -set sort=reverse-threads -set sort_aux=reverse-last-date-sent - -# Sort order of entries in the file browser -set sort_browser=date - -set duplicate_threads=yes -set status_on_top # set: present the status bar at top, ie before the index -# Quotations -#set quote_regexp="^([ \t]*[|>:}#])+" -set quote_regexp="^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" - -set markers=no # do not diplay line return markers for long urls -set smart_wrap -# Avoid setting wrapmargin, too dependent of display size and broke some -# large width mails' content -#set wrapmargin=100 -# Utiliser le visualisateur interne pour consulter les messages -set visual=builtin -unset arrow_cursor # Show current mail with an inverse bar. -set ascii_chars # set: use ASCII characters to build the thread tree -unset prompt_after # set: gives you a prompt when pager exits -set tilde # show non-existant lines of text with a tilde at begin-of-line -set collapse_unread # collapse threads with unread mails - -# Pager -# does not allow to use mutt shortcuts for next/previous message and -# other nice stuff -#set pager="vim -c /^$/ -c /" -#set prompt_after=no -set pager_context=5 # number of lines that overlap on paging -set pager_index_lines=6 # number of lines to see from the index -set pager_stop # "next_page" won't jump to next message at end of messages - -# Headers -#set autoedit # call editor without prompting for To: and Subject: -set edit_headers # edit all headers lines in the editor -set edit_hdrs editor="vim +/^\$ +:noh" -set beep_new -set beep -set indent_str="> " -set noprompt_after -set read_inc=10 # show count number for every tenth mail -set write_inc=10 # update number after each tenth read mail -set nosave_empty -set tilde -set history=1000 # number of input lines for prompts to remember -set history_file = "~/.mutt/history" -set save_history=1000 -set fast_reply -set auto_tag # Apply command to tagged messages automatically (;) -set to_chars=" +TCFL" # message flags: non-personal,personal,To:,Cc:,From:,List: -set forward_decrypt=yes -set forward_decode=yes -set forward_quote=no -set mime_forward=ask-yes # ask: attach message - or just quote it? -set use_from # 'set from=' requires a 'set use_from'! -# for setting return-path -set encode_from=yes -set envelope_from=yes -set use_envelope_from=yes -set reverse_alias # show the name of sender as set with my alias for him -set reverse_name # reply as the user to whom the mail was sent to -set header_cache = "~/.mutt/headers" # Cache maildir headers -unset maildir_header_cache_verify # no reason to spend a stat system call for each mail - -# Format Options -set date_format="!%H:%M %a %d %b " -set forward_format="(forw) %s" -#set index_format="%4C %Z %[%d/%m] %-20.20F %s | %c" -set index_format="%4C %Z %?X?@& ? %{%d/%m} %-20.20n (%?M?»%3M&%4c?) %s" -set pager_format="%S [%C/%T] %n (%l) %s - %e/%E - %B - %L" -set status_format="%v: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---%V-%>-(%P)---" -#set folder_format="%2C %t %N %8s %d %f" -# For maildir -set folder_format="%3C %t %N %f" -# terminal title - needs a patch -#set xterm_set_titles -#set xterm_title="Mutt: %f [Msg:%m New:%n %l]" - -# Search -set thorough_search -set simple_search = "~f %s | ~C %s | ~s %s" # Search method -- default pattern (Fr|To|Cc|Subj) -- - -### Produce Headers and such -set attribution="Le %(%d/%m/%y) à %(%H:%M), %n téléscripta :" # how to cite the author -#set reply_regexp="^((aw|antw.?|antwort|re|r e|r?f|sv):[ \t]*)*" -set reply_regexp="^((\ -\\[[a-z][a-z0-9 :-]+[0-9]\\]|\ -(\\(fwd\\))|\ -(re(\\[[0-9]\\])?|aw|fw|fwd|\\?\\?|ç­.å¤.|´ð¸´|\\?\\?\\?\\?):\ -)[ \t]*)+" -set hidden_host # do not use a hostname in the address - PROBLEMATIC! -set nostrict_threads # Lets have some fuzzy threading. - -unset followup_to # do not generate a Followup-To header - -# Mail format -# http://joeclark.org/ffaq.html -# To avoid ugly line breaks on small displays -set text_flowed=yes - -# SSL/TLS options -set ssl_use_sslv2=no -set ssl_use_sslv3=no - -# GnuPG/PGP Options -set pgp_use_gpg_agent -set pgp_timeout=8400 -set pgp_verify_sig=yes -set pgp_autosign -set pgp_replysign -set pgp_replyencrypt - -# In order to use this feature, certs should be managed using gpgsm -# http://www.claws-mail.org/faq/index.php/S/MIME_howto -# http://marc.info/?l=gnupg-devel&m=111936303505866&w=2 -# manually launch gpg-agent to debug... -#set crypt_use_gpgme -set crypt_autosign -set crypt_replyencrypt -set crypt_replysign -set crypt_replysignencrypted -set crypt_verify_sig - -source ~/.mutt/gpg.rc - -set locale="fr_FR" - -# Send mails in ascii if possible or utf-8 -set send_charset="us-ascii:utf-8" -# attempt to make a best effort to convert undisplayable chars with iconv -#set charset=//TRANSLIT -#set charset="utf-8" - -# decode attachments' filenames -set rfc2047_parameters -#unset strict_mime -mime_lookup application/octet-stream - -# Attached docs -set attach_format = "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] " -set attach_sep = "\n" -set attach_split = yes - -### Aliases / Addressbook -set alias_file="~/.aliases" -source ~/.aliases -set query_command="abook --mutt-query '%s'" # address book -#set query_command="~/mutt/mutt-ldap-query.pl '%s'" -set fcc_clear # Keep fcc's clear of signatues and encryption. diff --git a/deprecated/.mutt/mutt.sidebar b/deprecated/.mutt/mutt.sidebar deleted file mode 100644 index fea4cf80..00000000 --- a/deprecated/.mutt/mutt.sidebar +++ /dev/null @@ -1,36 +0,0 @@ -############### -## Sidebar ## -############### - -## Options ## - -# Largeur (px) -set sidebar_width=25 - -# Visible (yes/no) -set sidebar_visible=no - -# Délimiteur -set sidebar_delim='|' - -# Trie alphabétique (yes/no) -#set sidebar_sort=no - -# Libellé(s) à affiché(s) ( =box1 =box2) -mailboxes =INBOX =_Read =_Reply =_Waiting =_Defer =lists =Spam =Trash =Sent =Drafts =Zic =RSS =TODO - -# Couleur (Nouveau mail) -color sidebar_new red default - -## Raccourcis clavier ## - -# Précédent, suivant, ouvrir -bind index \CP sidebar-prev -bind index \CN sidebar-next -bind index \CO sidebar-open -bind pager \CP sidebar-prev -bind pager \CN sidebar-next -bind pager \CO sidebar-open - -# Afficher/Cacher la sidebar -macro index,pager \e0 'toggle sidebar_visible' 'Toggle Sidebar' diff --git a/deprecated/.mutt/mutt.t-prot b/deprecated/.mutt/mutt.t-prot deleted file mode 100644 index 738be3fc..00000000 --- a/deprecated/.mutt/mutt.t-prot +++ /dev/null @@ -1,23 +0,0 @@ -# This all works only if you have mutt-1.3.12 or newer -# or if you use something like the pagerfilter patch -# (http://www.escape.de/users/tolot/mutt/). -# -# The $my_tprot variable works since mutt-1.5.12, in older -# versions you must copy its value in each macro. - -#set my_tprot='t-prot -aelmtS -c --bigq -Mmutt --spass -L$HOME/.mutt/mlfooters -A$HOME/.mutt/adfooters' -#set my_tprot='t-prot -caemt -M=mutt' -set my_tprot='t-prot -m --reply -s --ftr-ml --ftr-ad -M=mutt -L$HOME/.mutt/mlfooters -A$HOME/.mutt/adfooters' -set display_filter=$my_tprot - -# toggle TOFU protection with ESC-0 and ESC-1 -macro generic \e0 "<enter-command>unset display_filter<enter>" "Turn TOFU protection off" -macro generic \e1 "<enter-command>set display_filter='$my_tprot'<enter>" "Turn TOFU protection on" - -# same in pager mode - ugly but what the hell... -macro pager \e0 "<enter-command>unset display_filter<enter><exit><display-message>" "Turn TOFU protection off" -macro pager \e1 "<enter-command>set display_filter='$my_tprot'<enter><exit><display-message>" "Turn TOFU protection on" - -# highlight TOFU protection: -color body brightmagenta black "^\\[---.*" -color body green black "^#v[-+]" diff --git a/deprecated/.mutt/mutt_octet_view b/deprecated/.mutt/mutt_octet_view deleted file mode 100644 index a1e6c6f2..00000000 --- a/deprecated/.mutt/mutt_octet_view +++ /dev/null @@ -1,278 +0,0 @@ -#!/bin/sh -# @(#) mutt_octet_view $Revision: 1.1 $ - -# mutt_octet_view - select octet-stream e-mail attachment viewer -# Copyright (C) 1997,1998,1999,2000 David A Pearson -# Copyright (C) 2000-2001 Gary A. Johnson -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Mutt_octet_view is derived from Dave Pearson's mutt.octet.filter -# script (http://www.hagbard.demon.co.uk/archives/mutt.octet.filter). -# Mutt.octet.filter was designed to convert octet-stream e-mail -# attachments to text for use with mutt's auto_view feature. -# Mutt_octet_view extends this capability to use different viewers from -# mutt's attachment menu, including graphical viewers if X is available. -# -# To use mutt_octet_view, put the following lines in your mailcap file: -# -# application/octet-stream; mutt_octet_view -x %s; test=RunningX -# application/octet-stream; mutt_octet_view -v %s -# application/octet-stream; mutt_octet_view %s; copiousoutput -# -# and the following line in your muttrc file: -# -# auto_view application/octet-stream -# -# Mutt_octet_view is not a viewer itself; it only selects external -# viewers based on the attachments' file name suffixes (extensions). -# In addition to any viewers, you will need a copy of the author's -# mutt_bgrun script in order to run X viewers in the background. -# -# Please direct any comments to: -# -# Gary Johnson <garyjohn@spk.agilent.com> -# - - -ShowTAR() -{ - tar tvvf "$1" 2> /dev/null -} - -ShowTGZ() -{ - tar tzvvf "$1" 2> /dev/null -} - -ShowTBZ() -{ - bzip2 -dc "$1" | tar -tvv -f- 2> /dev/null -} - -ShowGZIP() -{ - gzip -dc "$1" 2> /dev/null -} - -ShowZIP() -{ - unzip -l "$1" 2> /dev/null -} - -ShowARJ() -{ - unarj l "$1" 2> /dev/null -} - -ShowVCard() -{ - cat "$1" | mutt.vcard.filter -} - -ShowTIF() -{ - tiffinfo "$1" -} - -ShowObject() -{ - nm "$1" -} - -ShowHTML() -{ - w3m -dump "$1" -} - -ShowPDF() -{ - pdftotext "$1" - -} - -Show() -{ - case "$Mode" in - SHOW) - if [ "$2" ] - then - $2 "$1" - elif [ "$3" -o "$4" ] - then - echo "[-- $Prog: file type is unsupported for autoview (use 'v' to view this part) --]" - else - echo "[-- $Prog: file type is unsupported --]" - fi - ;; - VIEW) - if [ "$3" ] - then - $3 "$1" - elif [ "$2" ] - then - $2 "$1" - else - echo "$Prog: file type is unsupported" >&2 - exit 1 - fi - ;; - XVIEW) - if [ "$4" ] - then - mutt_bgrun $4 "$1" || $4 "$1" - elif [ "$3" ] - then - $3 "$1" - elif [ "$2" ] - then - $2 "$1" - else - echo "$Prog: file type is unsupported" >&2 - exit 1 - fi - ;; - *) echo "$Prog: internal error: invalid Mode $Mode" >&2 - exit 2;; - esac -} - -# Initialize variables - -Prog=$(basename "$0") -Mode=SHOW - -# Check option arguments - -while [ $# -gt 0 ] -do - case "$1" in - -t) Mode=SHOW; shift;; - -v) Mode=VIEW; shift;; - -x) Mode=XVIEW; shift;; - -*) echo "$Prog: invalid option $1" >&2; exit 2;; - *) break;; - esac -done - -# Check file argument - -if [ $# -ne 1 ] -then - echo "usage: $Prog [-t|-v|-x] file" - exit 2 -fi - -File=$1 - -# Process file - -# The behavior of mutt_octet_view is governed primarily by the 'Show' -# function, the option argument, and the table below. 'Show' searches -# its arguments for a command that it can use to display File. It -# begins in the table column specified by the option argument -t (the -# default), -v or -x, and searches to the left until it finds a command -# (non-empty string), which it executes. Commands in the right-most -# column are executed in the background and are left to handle their own -# output. Commands in the other two columns are executed in the -# foreground and send their output to stdout. -# -# Here are some examples. -# -# Autoview Text View X View -# (from (from (from -# index attachment attachment -# menu, menu, menu, -# in-line) foreground) background) -# (-t) (-v) (-x) -# ----------- ----------- ----------- -# Func1 "" "" Func1 will be used to display -# file in all cases. This is -# useful when all that is -# required to display the file is -# a simple text transformation. -# -# "" Func2 "" The file will not be displayed -# in the pager output from the -# index menu. Func2 will be used -# to display the file from the -# attachment menu. This is -# useful when the file is to be -# displayed as text, but is not -# normally desired to view it -# along with the rest of the -# message. -# -# "" "" Func3 The file contains graphical -# material that cannot be viewed -# as text. Func3 will be used to -# display the file only from the -# attachment menu and only when X is -# available. Func3 will be run in -# the background so that the user -# can continue to use the mailer -# while the file is displayed. -# -# "" Func2 Func3 The file contents are not -# displayed in-line along with -# the rest of the message because -# the file is typically large. -# Func2 has only text output and -# is used when only a terminal is -# available for output. Func3 -# produces a nicer display when X -# is available. - -case "$File" in - # Autoview Text View X View - # (from (from (from - # index attachment attachment - # menu, menu, menu, - # in-line) foreground) background) - # (-t) (-v) (-x) - # ----------- ----------- ------------- -*.arj | *.ARJ ) Show "$File" "" ShowARJ "" ;; -*.doc | *.DOC ) Show "$File" word2text word2text qvpview ;; -*.gif | *.GIF ) Show "$File" "" "" xv ;; -*.htm | *.HTM ) Show "$File" ShowHTML w3m mutt_netscape ;; -*.html | *.HTML ) Show "$File" ShowHTML w3m mutt_netscape ;; -*.jpeg | *.JPEG ) Show "$File" "" "" xv ;; -*.jpg | *.JPG ) Show "$File" "" "" xv ;; -*.log | *.LOG ) Show "$File" cat less "" ;; -*.o ) Show "$File" "" ShowObject "" ;; -*.pdf | *.PDF ) Show "$File" "" ShowPDF acroread ;; -*.ppt | *.PPT ) Show "$File" "" "" qvpview ;; -*.ps | *.PS ) Show "$File" "" "" ghostview ;; -*.rtf | *.RTF ) Show "$File" "" rtf2text qvpview ;; -*.tar ) Show "$File" "" ShowTAR "" ;; -*.tar.bz2 ) Show "$File" "" ShowTBZ "" ;; -*.tar.gz ) Show "$File" "" ShowTGZ "" ;; -*.tar.Z ) Show "$File" "" ShowTGZ "" ;; -*.tar.z ) Show "$File" "" ShowTGZ "" ;; -*.tbz2 ) Show "$File" "" ShowTBZ "" ;; -*.tgz ) Show "$File" "" ShowTGZ "" ;; -*.tif | *.TIF ) Show "$File" "" ShowTIF xv ;; -*.txt | *.TXT ) Show "$File" cat less "" ;; -*.url | *.URL ) Show "$File" cat w3m "" ;; -*.vcf ) Show "$File" "" ShowVCard "" ;; -*.xls | *.XLS ) Show "$File" excel2text excel2text qvpview ;; -*.Z ) Show "$File" "" ShowGZIP "" ;; -*.z ) Show "$File" "" ShowGZIP "" ;; -*.zip | *.ZIP ) Show "$File" "" ShowZIP "" ;; -*.gz ) Show "$File" "" ShowGZIP "" ;; - # The *.gz entry must follow any other entries ending in - # .gz. -* ) echo "$Prog: file type is unsupported" >&2; exit 1 ;; - -esac diff --git a/deprecated/.mutt/muttrc b/deprecated/.mutt/muttrc deleted file mode 100644 index 74166998..00000000 --- a/deprecated/.mutt/muttrc +++ /dev/null @@ -1,150 +0,0 @@ -# https://pbrisbin.com/posts/mutt_gmail_offlineimap/ - -# Caching -set header_cache = ~/.mutt/cache/headers -set message_cachedir = ~/.mutt/cache/bodies -set certificate_file = ~/.mutt/certificates - -set tmpdir = '~/tmp' - -set editor = 'vim' -set shell = "/bin/zsh" - -# number of input lines for prompts to remember -set history = 1000 -set history_file = "~/.mutt/history" -set save_history = 1000 - -# SMIME / PGP -set crypt_use_gpgme = yes -set smime_is_default = yes -set crypt_autosmime = yes -set crypt_verify_sig = yes -set crypt_autosign = yes -set crypt_replysign = yes -set crypt_replysignencrypted = yes -set smime_ask_cert_label -set forward_decrypt = yes - -set mailcap_path = "~/.mailcap:/etc/mailcap" - -# Printing -set print = ask-yes # ask before printing -set print_cmd = "muttprint" - -set fast_reply - -set folder_format = "%3C %t %N %f" - -# Quotations -set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" -set attribution = "Le %(%d/%m/%y) à %(%H:%M), %n téléscripta :" - -# Send flowed emails -set text_flowed = yes -# Wrap received flowed emails -set reflow_text = yes -set reflow_wrap = 76 - -set mail_check = 0 -set envelope_from -set reverse_alias - -# Hooks -source ~/.mutt/hooks - -# Move read email to All Mail folder -##set move -#unset move # gmail does that -#set delete # don't ask, just do -#unset confirmappend # don't ask, just do! -#set quit # don't ask, just do!! -unset mark_old # read/new is good enough - -# sort/threading -# Goal: -# * sort by threads, most recent at the top -# * within threads: oldest message at the top, oldest to newest in descending order -# Default sorting -# Set by threads, most recent on top, but sometimes weird inside threads -# Most of the time from oldest to neweset, but sometims some are mixed -set sort = threads -set sort_aux = reverse-last-date-received -set sort_re -# Ensure that INBOX is always using appropriate sorting -folder-hook Inbox 'set sort=threads sort_aux=reverse-last-date-received sort_re' -# Threads sorted correctly but at bottom -#set sort_aux = last-date-received -#folder-hook INBOX 'set sort=threads sort_aux=last-date-received sort_re' - -# collapse threads with unread mails -set collapse_unread - -# look and feel -set pager_index_lines = 8 -set pager_context = 5 -set pager_stop -set menu_scroll -set smart_wrap -set tilde -unset markers - -# composing -set fcc_attach -set include - -set forward_decode = yes - -# Forward message as attachement -set mime_forward = ask-yes -set mime_forward_rest = ask-yes - -# Forgotter Attachemnt -source ~/.mutt/forgotten-attachment - -# Colors -source ~/.mutt/colors -source ~/.mutt/index-color -source ~/.mutt/progress-color - -# Key bindings, macros -source ~/.mutt/bindings - -# Spelling -set ispell = "aspell -e -c" - -set send_charset = "utf-8" - -#set print_command="muttprint %s -P A4 -p CanonMX920" -set print_command = "muttprint %s -P A4 -C lpr" - -# Headers -source ~/.mutt/headers - -# MIME-Viewer -source ~/.mutt/mime-view - -# Disaplay filter -#set display_filter=/home/baptiste/.mutt/mutt_display_filter -#set display_filter=/home/baptiste/.mutt/test_display_filter -#set display_filter='par 72gqr' -#set wrapmargin=60 - -# http://www.neomutt.org/feature/new-mail/ -set new_mail_command="notify-send --icon='/home/baptiste/.mutt/mutt.png' 'New Email in %f' '%n new messages, %u unread.' &" - -# notmuch -source ~/.mutt/notmuch - -# sidebar -source ~/.mutt/sidebar - -#set mbox_type = Maildir -#set folder = ~/Mail - -set realname = "Baptiste Grenier" - -# Source EGI profile -source ~/.mutt/profile.egi - -# vim: set ft=muttrc: diff --git a/deprecated/.mutt/ppt2text b/deprecated/.mutt/ppt2text deleted file mode 100644 index a3fe2141..00000000 --- a/deprecated/.mutt/ppt2text +++ /dev/null @@ -1,21 +0,0 @@ -# ppt2text - convert MS PowerPoint files to ASCII text -# -# Written by Gary Johnson <garyjohn@spk.agilent.com>. -# -# Modification History: -# 2003-02-19 -# Changed the name pptHtml to ppthtml to match the xlhtml-0.5 -# release. - -prog=${0##*/} - -if [ $# -ne 1 ] -then - echo "Usage: $prog file" >&2 - exit 2 -fi - -ppthtml $1 | -w3m -dump -T text/html | -perl -pe 's/\xa0/ /g' # Change A0 spaces to ASCII - # spaces. diff --git a/deprecated/.muttrc b/deprecated/.muttrc deleted file mode 100644 index 13fb91f4..00000000 --- a/deprecated/.muttrc +++ /dev/null @@ -1,40 +0,0 @@ -# Filename: .muttrc -# Purpose: configuration for mailclient mutt -# Author: Baptiste Grenier baptiste@bapt.name -# License: This file is licensed under MIT license. -################################################################################ - -# General parameters -source ~/.mutt/mutt.rc - -# Sendint/receiving parameters -source ~/.mutt/mutt.compte - -# Colors -#source ~/.mutt/mutt.colors -source ~/.mutt/mutt-colors-solarized-dark-256.muttrc -# peronal changes -source ~/.mutt/mutt.colors-solarized - -# Mime types -source ~/.mutt/mutt.mime - -# Headers configuration -source ~/.mutt/mutt.headers - -# keybindings: -source ~/.mutt/keyboard - -# Hooks -source ~/.mutt/hooks - -# Display filter -source ~/.mutt/mutt.t-prot - -# Sidebar config -#source ~/.mutt/mutt.sidebar - -# Mutt-kz specific conf (notmuch integration) -source ~/.mutt/mutt.kz - -# vim: filetype=muttrc diff --git a/deprecated/Xresources b/deprecated/Xresources deleted file mode 100644 index ad3d1ede..00000000 --- a/deprecated/Xresources +++ /dev/null @@ -1,154 +0,0 @@ -! Solarized color scheme for the X Window System -! -! http://ethanschoonover.com/solarized - - -! Common - -#define S_yellow #b58900 -#define S_orange #cb4b16 -#define S_red #dc322f -#define S_magenta #d33682 -#define S_violet #6c71c4 -#define S_blue #268bd2 -#define S_cyan #2aa198 -#define S_green #859900 - -! Dark - -#define S_base03 #002b36 -#define S_base02 #073642 -#define S_base01 #586e75 -#define S_base00 #657b83 -#define S_base0 #839496 -#define S_base1 #93a1a1 -#define S_base2 #eee8d5 -#define S_base3 #fdf6e3 - -! To only apply colors to your terminal, for example, prefix -! the color assignment statement with its name. Example: -! -*background: S_base03 -*foreground: S_base0 -*fading: 40 -*fadeColor: S_base03 -*cursorColor: S_base1 -*pointerColorBackground: S_base01 -*pointerColorForeground: S_base1 - -*color0: S_base02 -*color1: S_red -*color2: S_green -*color3: S_yellow -*color4: S_blue -*color5: S_magenta -*color6: S_cyan -*color7: S_base2 -*color8: S_base03 -*color9: S_orange -*color10: S_base01 -*color11: S_base00 -*color12: S_base0 -*color13: S_violet -*color14: S_base1 -*color15: S_base3 - -! URxvt - -! delimiters for double-click mouse selection -URxvt.cutchars: "`\"'&()*,;<=>?@[]^{|}|│" - -! URxvt.title: string -!URxvt.title:urxvt -! Save number lines in the scrollback buffer [default 64]. This resource is limited on most machines -URxvt.saveLines: 65535 -! True: start as a login shell by prepending a - to argv[0] of the shell; option -ls. False: start -URxvt.loginShell: true -! True: enable the scrollbar [default]; option -sb. False: disable the scrollbar; option +sb. -URxvt.scrollBar: false -! True: set the urgency hint for the wm on receipt of a bell character. False: do not set the urgency -URxvt.urgentOnBell: true -! True: use visual bell on receipt of a bell character; option -vb. False: no visual bell [default]; -URxvt.visualBell: true -!URxvt.scrollstyle:plain -! Specifies the terminal type name to be set in the TERM environment variable; option -tn. -!uRxvt.termName:rxvt-unicode -URxvt.termName: rxvt-256color -! Fade the text by the given percentage when focus is lost; option -fade. -!URxvt.fading:20 -! Fade to this colour, when fading is used (see fading:). The default colour is black; option -! URxvt.fadeColor: colour - -! Specifies the program to be started with a URL argument. Used by the "selection-popup" and "matcher" -! Use the specified colour to display underlined characters when the foreground colour is the default. -URxvt.colorUL: #4682B4 - -! Comma-separated list(s) of perl extension scripts (default: "default") to use in this terminal -URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select -!URxvt.perl-ext-common:default,matcher,selection,option-popup,selection-popup,tabbed -!URxvt.url-select.launcher: chromium -!URxvt.url-select.launcher: firefoxurl -URxvt.url-select.launcher: xdg-open -URxvt.url-select.underline: true -! Meta-u (Alt? Home?) -URxvt.keysym.M-u: perl:url-select:select_next -URxvt.keysym.Control-o: perl:url-select:select_next -URxvt.keysym.Control-p: perl:keyboard-select:activate -URxvt.keysym.M-s: perl:keyboard-select:search - -! Select the fonts to be used. This is a comma separated list of font names that are checked in order -URxvt.font: xft:Source Code Pro for Powerline:regular:size=15 -URxvt.imFont: xft:Source Code Pro for Powerline:regular:size=15 -URxvt.boldFont: xft:Source Code Pro for Powerline:bold:size=15 -URxvt.italicFont: xft:Source Code Pro for Powerline:italic:size=15 -! The font list to use for displaying bold, italic or bold italic characters, respectively. -URxvt.boldItalicFont: xft:Source Code Pro for Powerline:bold:italic:size=15 - -! Transparency -! Real transparency (composite) -!URxvt.depth: 32 -! Use the specified colour as the windows background colour [default White]; option -bg. -!URxvt.background: rgba:0000/0000/0200/c800 - -! Fake transparency -!URxvt.transparent: true -! Darken (0 .. 100) or lighten (-1 .. -100) the transparent background -! image in addition to tinting it -!URxvt.shading:20 - -!URxvt.inheritPixmap:true -!URxvt.tintColor:white - -! Create the window with the specified X window geometry [default 80x24]; option -geometry. -!URxvt.geometry: 70x30+0+0 - -! True: handle Meta (Alt) + keypress to set the 8th bit. False: handle Meta (Alt) + keypress as an -! URxvt.meta8: boolean - -! True: blink the cursor. False: do not blink the cursor [default]; option -bc. -URxvt.cursorBlink: false - -xterm.metaSendsEscape: true -xterm.eightBitInput: false -xterm.faceName: Source Code Pro for Powerline:pixelsize=15 - -!!!Dzen - -!dzen2.font: -*-fixed-*-*-*-*-*-*-*-*-*-*-*-* -!dzen2.font: xft:Source Code Pro for Powerline:regular:size=15:antialias=true -dzen2.font:xft:Inconsolata-dz for Powerline:pixelsize=11:antialias=true:hinting=true -!dzen2.font: "xft: inconsolata-14" -!dzen2.foreground: #22EE11 -!dzen2.background: black - -! rofi -rofi.foreground: S_base0 -rofi.background: S_base03 -rofi.highlightfg: S_base1 -rofi.highlightbg: S_base01 -rofi.bordercolor: S_base02 -rofi.font: Envy Code R 15 -rofi.padding: 15 -rofi.lines: 5 -rofi.borderwidth: 3 -rofi.opacity: 75 diff --git a/deprecated/Xresources-monster b/deprecated/Xresources-monster deleted file mode 100644 index ad3d1ede..00000000 --- a/deprecated/Xresources-monster +++ /dev/null @@ -1,154 +0,0 @@ -! Solarized color scheme for the X Window System -! -! http://ethanschoonover.com/solarized - - -! Common - -#define S_yellow #b58900 -#define S_orange #cb4b16 -#define S_red #dc322f -#define S_magenta #d33682 -#define S_violet #6c71c4 -#define S_blue #268bd2 -#define S_cyan #2aa198 -#define S_green #859900 - -! Dark - -#define S_base03 #002b36 -#define S_base02 #073642 -#define S_base01 #586e75 -#define S_base00 #657b83 -#define S_base0 #839496 -#define S_base1 #93a1a1 -#define S_base2 #eee8d5 -#define S_base3 #fdf6e3 - -! To only apply colors to your terminal, for example, prefix -! the color assignment statement with its name. Example: -! -*background: S_base03 -*foreground: S_base0 -*fading: 40 -*fadeColor: S_base03 -*cursorColor: S_base1 -*pointerColorBackground: S_base01 -*pointerColorForeground: S_base1 - -*color0: S_base02 -*color1: S_red -*color2: S_green -*color3: S_yellow -*color4: S_blue -*color5: S_magenta -*color6: S_cyan -*color7: S_base2 -*color8: S_base03 -*color9: S_orange -*color10: S_base01 -*color11: S_base00 -*color12: S_base0 -*color13: S_violet -*color14: S_base1 -*color15: S_base3 - -! URxvt - -! delimiters for double-click mouse selection -URxvt.cutchars: "`\"'&()*,;<=>?@[]^{|}|│" - -! URxvt.title: string -!URxvt.title:urxvt -! Save number lines in the scrollback buffer [default 64]. This resource is limited on most machines -URxvt.saveLines: 65535 -! True: start as a login shell by prepending a - to argv[0] of the shell; option -ls. False: start -URxvt.loginShell: true -! True: enable the scrollbar [default]; option -sb. False: disable the scrollbar; option +sb. -URxvt.scrollBar: false -! True: set the urgency hint for the wm on receipt of a bell character. False: do not set the urgency -URxvt.urgentOnBell: true -! True: use visual bell on receipt of a bell character; option -vb. False: no visual bell [default]; -URxvt.visualBell: true -!URxvt.scrollstyle:plain -! Specifies the terminal type name to be set in the TERM environment variable; option -tn. -!uRxvt.termName:rxvt-unicode -URxvt.termName: rxvt-256color -! Fade the text by the given percentage when focus is lost; option -fade. -!URxvt.fading:20 -! Fade to this colour, when fading is used (see fading:). The default colour is black; option -! URxvt.fadeColor: colour - -! Specifies the program to be started with a URL argument. Used by the "selection-popup" and "matcher" -! Use the specified colour to display underlined characters when the foreground colour is the default. -URxvt.colorUL: #4682B4 - -! Comma-separated list(s) of perl extension scripts (default: "default") to use in this terminal -URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select -!URxvt.perl-ext-common:default,matcher,selection,option-popup,selection-popup,tabbed -!URxvt.url-select.launcher: chromium -!URxvt.url-select.launcher: firefoxurl -URxvt.url-select.launcher: xdg-open -URxvt.url-select.underline: true -! Meta-u (Alt? Home?) -URxvt.keysym.M-u: perl:url-select:select_next -URxvt.keysym.Control-o: perl:url-select:select_next -URxvt.keysym.Control-p: perl:keyboard-select:activate -URxvt.keysym.M-s: perl:keyboard-select:search - -! Select the fonts to be used. This is a comma separated list of font names that are checked in order -URxvt.font: xft:Source Code Pro for Powerline:regular:size=15 -URxvt.imFont: xft:Source Code Pro for Powerline:regular:size=15 -URxvt.boldFont: xft:Source Code Pro for Powerline:bold:size=15 -URxvt.italicFont: xft:Source Code Pro for Powerline:italic:size=15 -! The font list to use for displaying bold, italic or bold italic characters, respectively. -URxvt.boldItalicFont: xft:Source Code Pro for Powerline:bold:italic:size=15 - -! Transparency -! Real transparency (composite) -!URxvt.depth: 32 -! Use the specified colour as the windows background colour [default White]; option -bg. -!URxvt.background: rgba:0000/0000/0200/c800 - -! Fake transparency -!URxvt.transparent: true -! Darken (0 .. 100) or lighten (-1 .. -100) the transparent background -! image in addition to tinting it -!URxvt.shading:20 - -!URxvt.inheritPixmap:true -!URxvt.tintColor:white - -! Create the window with the specified X window geometry [default 80x24]; option -geometry. -!URxvt.geometry: 70x30+0+0 - -! True: handle Meta (Alt) + keypress to set the 8th bit. False: handle Meta (Alt) + keypress as an -! URxvt.meta8: boolean - -! True: blink the cursor. False: do not blink the cursor [default]; option -bc. -URxvt.cursorBlink: false - -xterm.metaSendsEscape: true -xterm.eightBitInput: false -xterm.faceName: Source Code Pro for Powerline:pixelsize=15 - -!!!Dzen - -!dzen2.font: -*-fixed-*-*-*-*-*-*-*-*-*-*-*-* -!dzen2.font: xft:Source Code Pro for Powerline:regular:size=15:antialias=true -dzen2.font:xft:Inconsolata-dz for Powerline:pixelsize=11:antialias=true:hinting=true -!dzen2.font: "xft: inconsolata-14" -!dzen2.foreground: #22EE11 -!dzen2.background: black - -! rofi -rofi.foreground: S_base0 -rofi.background: S_base03 -rofi.highlightfg: S_base1 -rofi.highlightbg: S_base01 -rofi.bordercolor: S_base02 -rofi.font: Envy Code R 15 -rofi.padding: 15 -rofi.lines: 5 -rofi.borderwidth: 3 -rofi.opacity: 75 diff --git a/deprecated/alias b/deprecated/alias deleted file mode 100644 index c0bcab2f..00000000 --- a/deprecated/alias +++ /dev/null @@ -1,282 +0,0 @@ -# shell aliases - -alias c='clear' - -# Long listing by default -alias l='ls -lh' -## list only directories -alias lsd='\ls -d */' -## list only files -alias lsf="ls -rtF | grep -v '.*/'" -## Sort files by size -alias lss="ls -lrSF --si --color" - -# do not delete / or prompt if deleting more than 3 files at a time -alias rm='rm -I --preserve-root' - -# Parenting changing perms on / -alias chown='chown --preserve-root' -alias chmod='chmod --preserve-root' -alias chgrp='chgrp --preserve-root' - -# df -if command -v "pydf" >/dev/null 2>&1; then - alias df='pydf' -else - alias df='df -kh' -fi - -alias qfind='find . -iname' -alias f='find . -iname' - -# Quick pagging and grepping -if [ $SHELL = '/bin/zsh' ]; then - alias -g M='| most' G='| grep' -fi - -if command -v "grc" >/dev/null 2>&1; then - alias tail="grc tail" -fi - -if command -v "highlight" >/dev/null 2>&1; then - alias ccat="highlight -O ansi" -fi - -# Use VIM! -if command -v "nvim" >/dev/null 2>&1; then - alias vim='nvim' - alias vimdiff='nvim -d' -fi -alias vi='vim' -alias svi='sudo vi' -alias svim='sudo vim' -alias vis='vim "+set si"' -alias edit='vim' - -# XXX aliases for testing dockerized editors -alias edit_vim_bundle="docker run -ti --rm -v $(pwd):/home/developer/workspace jare/vim-bundle" -alias edit_vim_bundle_update="docker pull jare/vim-bundle:latest" -alias edit_drop_in="docker run -ti -v ~/.ssh/id_rsa.pub:/home/developer/.ssh/authorized_keys -v $(pwd):/home/developer/workspace -v /etc/localtime:/etc/localtime:ro -v /var/run/docker.sock:/var/run/docker.sock -d -p 80:80 -p 8080:8080 -p 62222:62222 -p 60001:60001/udp --name drop-in jare/drop-in" -alias edit_drop_in_update="docker pull jare/drop-in:latest" - -# emacs -alias emacs='emacs -nw' -alias ec='emacsclient -c --socket-name /tmp/emacs1000/server' - -# rake -# setopt extended_glob causes troubles with rake tasks' arguments -alias rake='noglob rake' - -# Suffix aliases to open files automatically -if [ $SHELL = '/bin/zsh' ]; then - alias -s tex=vim - alias -s txt=vim - alias -s md=vim - alias -s pdf=evince - alias -s png=gpicview - alias -s jpeg=gpicview - alias -s jpg=gpicview - alias -s html=$BROWSER - alias -s htm=$BROWSER -fi - -# network -alias my_ip='/sbin/ifconfig eth0 | grep "addr:" | sed -e "s/^.*addr://" |sed -e "s/ Bcast.*//" ' -alias my_publicip='curl ipinfo.io' -alias my_ports='netstat -alpe --ip' -alias netstati="netstat --verbose --tcp --udp --programs --extend" -alias ports='netstat -tulanp' - -# Stop after sending count ECHO_REQUEST packets # -alias ping='ping -c 5' -# Do not wait interval 1 second, go fast -alias fastping='ping -c 100 -s.2' - -# get web server headers -alias header='curl -I' - -# find out if remote server supports gzip / mod_deflate or not -alias headerc='curl -I --compress' - -# multimedia -alias vol_up='pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo -- +10%' -alias vol_down='pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo -- -10%' -alias mp3burn-direct='mp3burn -c 80:00 -o " -v speed=48 dev=0,1,0 "' -alias webcam='xawtv -device /dev/v4l/video1' -alias playdvd='mplayer dvd://1 -dvd-device /dev/cdroms/cdrom0' -alias getdvd='dvdbackup -i /dev/acd0 -v 2 -M -o /mnt/videos' - -alias links-fb='links -g -driver fb' - -# fixlines: edit files in place to ensure Unix line-endings -fixlines () { perl -pi~ -e 's/\r\n?/\n/g' "$@" ; } - -alias mountc='mount | column -t' - -alias h='history' -#alias j='jobs -l' - -alias path='echo -e ${PATH//:/\\n}' -alias now='date +"%T"' -alias nowtime=now -alias nowdate='date +"%d-%m-%Y"' - -alias forest='ps -e --forest' -alias psc='ps xawf -eo pid,user,cgroup,args' - -## pass options to free -alias meminfo='free -m -l -t' - -# Output total memory currently in use by you -memtotaller() { - /bin/ps -u $(whoami) -o pid,rss,command | awk '{sum+=$2} END {print "Total " sum / 1024 " MB"}' -} - -## get top process eating memory -alias psmem='ps auxf | sort -nr -k 4' -alias psmem10='ps auxf | sort -nr -k 4 | head -10' - -## get top process eating cpu ## -alias pscpu='ps auxf | sort -nr -k 3' -alias pscpu10='ps auxf | sort -nr -k 3 | head -10' - -# to find memory hogs: -alias mem_hogs_top='top -l 1 -o rsize -n 10' -alias mem_hogs_ps='ps wwaxm -o pid,stat,vsize,rss,time,command | head -10' - -# to find CPU hogs -alias cpu_hogs='ps wwaxr -o pid,stat,%cpu,time,command | head -10' - -# continual 'top' listing (every 10 seconds) showing top 15 CPU consumers -alias topforever='top -l 0 -s 10 -o cpu -n 15' - -## Get server cpu info -if command -v "lscpu" >/dev/null 2>&1; then - alias cpuinfo='lscpu' -else - ## older system use /proc/cpuinfo - alias cpuinfo='less /proc/cpuinfo' -fi - -alias kernelinfo='lynx -dump http://www.kernel.org/kdist/finger_banner' - -alias eclipse='eclipse -Xms1024M -Xmx4096M -XX:MaxPermSize=512M' - -alias gi='git' - -# Merges, or joins multiple PDF files into "joined.pdf" -joinpdf () { - gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=joined.pdf "$@" -} - -# 256-colors test -256test() { - echo -e "\e[38;5;196mred\e[38;5;46mgreen\e[38;5;21mblue\e[0m" -} - -# Dictionary lookup -# Many more options, see: -# http://linuxcommando.blogspot.com/2007/10/dictionary-lookup-via-command-line.html -dict() { - curl "dict://dict.org/d:$1:*" -} - -spell() { - echo $1 | aspell -a -} - -alias vimprobable2="vimprobable2 -e \"\$(tabbed -d)\"" -alias vimbtabbed='tabbed -c vimb -e' - -alias http-server-python2='python -m SimpleHTTPServer 8000' -alias http-server-python3='python -m http.server 8000' - -# mutt -alias muttperso='mutt -f "~/Mail/Perso/INBOX"' - -if command -v "ssh-multi" >/dev/null 2>&1; then - alias tmux-pcdr-all='ssh-multi clrpcsv-ginseng-cas-vdev01.in2p3.fr clrpcsv-ginseng-gw-devel01.in2p3.fr ginseng.unice.fr pcdr-amga.gnubila.fr pcdr-gw-ccpm1.gnubila.fr pcdr-gw-devel1.gnubila.fr pcdr-gw-opbg1.gnubila.fr pcdr-querynode.gnubila.fr' - alias tmux-fbf-all='ssh-multi srv{3,4,5,6,7,8,9,10,11,12,13,14,15,16}.fatebenefratelli.it ns{1,2}.fatebenefratelli.it' - alias tmux-fbf-servers='ssh-multi srv{3,4,5,6,}.fatebenefratelli.it ns{1,2}.fatebenefratelli.it' - alias tmux-fbf-wn='ssh-multi srv{7,8,9,10,11,12,13,14,15,16}.fatebenefratelli.it' - alias tmux-fbf-xen='ssh-multi xenserver-fbf-dell-{1,2,3,4,5,6,7,8,9,10,11,12,13}' - alias tmux-ginseng-gw='ssh-multi ginseng-gw-{abidec,ardoc,sipath}.gnubila.fr ginseng-{amga,idp,portal}.gnubila.fr sipath' - alias tmux-hug-all='ssh-multi ng-hug-server{0,3,4,5,6}.neuro.hcuge.ch ng-hug-wn{0,1,2,3,4,5,6}.neuro.hcuge.ch' - alias tmux-hug-servers='ssh-multi ng-hug-server{0,3,4,5,6}.neuro.hcuge.ch' - alias tmux-hug-wn='ssh-multi ng-hug-wn{0,1,2,3,4,5,6}.neuro.hcuge.ch' - alias tmux-hug-xen='ssh-multi xenserver-hug-0{1,2,3,4,5,6,7,8,9}.gnubila.fr' - alias tmux-ki-all='ssh-multi ng-ki-server{4,5,6,7}.ki.se ng-ki-wn{0,1,2,3,4,5,6,7,8,9}.local' - alias tmux-ki-servers='ssh-multi ng-ki-server{4,5,6,7}.ki.se' - alias tmux-ki-wn='ssh-multi ng-ki-wn{0,1,2,3,4,5,6,7,8,9}.local' - alias tmux-roma-xen='ssh-multi xenserver-roma-0{0,1,2,3,4,5,6,7,8}.gnubila.fr' - alias tmux-taormina-xen='ssh-multi xenserver-taormina-0{0,1,2,3,4,5,6,7,8}.gnubila.fr' - alias tmux-gnubila-all='ssh-multi ng-maat-server{3,5,6,8,9}.gnubila.fr {bdii,bdii-site,idp,dev-idp,lfc,myproxy,nagios,pipeline,ra,sentinelle1,slipstream,voms,wms}.gnubila.fr' - alias tmux-gnubila-site='ssh-multi ng-maat-server{3,5,6,8,9}.gnubila.fr bdii-site.gnubila.fr' - alias tmux-gnubila-central='ssh-multi {bdii,idp,dev-idp,lfc,myproxy,nagios,pipeline,ra,slipstream,voms,wms}.gnubila.fr' - alias tmux-gw='ssh-multi ng-maat-devel1.gnubila.fr pcdr-gw-devel1.gnubila.fr pcdr-gw-opbg1.gnubila.fr srv4.fatebenefratelli.it ng-hug-server4.neuro.hcuge.ch mdp-dhzb1.gnubila.fr mdp-igg1.gnubila.fr pcdr-gw-ccpm1.gnubila.fr' - alias tmux-bapt.name='ssh-multi {misc,dns,big}.bapt.name' -fi - -# Attach or create tmux session named the same as current directory. -tat() { - tmux new-session -As "$(basename "$PWD" | tr . -)" -} - -if command -v "herbstclient" >/dev/null 2>&1; then - if ! command -v "hc" >/dev/null 2>&1; then - hc() { - herbstclient "$@" - } - fi -fi - -venv() { - local activate=~/.python/$1/bin/activate - if [ -e "$activate" ] ; then - source "$activate" - else - echo "Error: Not found: $activate" - fi -} -venv27() { venv 27 ; } - -unalias man -man() { - LESS_TERMCAP_mb=$'\E[01;31m' \ - LESS_TERMCAP_md=$'\E[01;38;5;74m' \ - LESS_TERMCAP_me=$'\E[0m' \ - LESS_TERMCAP_se=$'\E[0m' \ - LESS_TERMCAP_so=$'\E[38;5;246m' \ - LESS_TERMCAP_ue=$'\E[0m' \ - LESS_TERMCAP_us=$'\E[04;38;5;146m' \ - /usr/bin/man "$@" -} -alias man='nocorrect man' - -# Create parent dir transparently -mv_create() { - src="$1" - dest="$2" - - dest_dir=$(dirname "$dest") - - \mkdir -p "$dest_dir" - mv "$src" "$dest" -} - -drun() { - docker run --rm -v $(pwd):/source -it "$1" -} - -# Force 256 color in tmux -#alias tmux='tmux -2' - -#if command -v "thefuck" >/dev/null 2>&1; then -# alias fuck='eval $(thefuck $(fc -ln -1 | tail -n 1)); fc -R' -#fi - -#alias spacemacs='bash ~/bin/spacemacs.bash' - -#alias msfconsole="msfconsole -x \"db_connect ${USER}@msf\"" - -# vim:set ft=sh ts=2 sw=2 et: diff --git a/deprecated/config/i3/py3status.conf b/deprecated/config/i3/py3status.conf deleted file mode 100644 index ba9635ad..00000000 --- a/deprecated/config/i3/py3status.conf +++ /dev/null @@ -1,140 +0,0 @@ -# i3status configuration file. -# see "man i3status" for documentation. - -# It is important that this file is edited as UTF-8. -# The following line should contain a sharp s: -# ß -# If the above line is not correctly displayed, fix your editor first! - -# Desired output -# -# Left alligned: List of workspace -# -# Rigbht alligned: -# - Free space on / -# - Wifi status -# - Ethernet status (IP + speed) -# - Batterie name + charge -# - load -# - date (yyyy-mm-dd hh:mm:ss) - -general { - colors = true - interval = 5 -} - - -order += "arch_updates" -#order += "insync" -#order += "volume_status" -order += "static_string i3lock" -#order += "static_string screenshot" -#order += "static_string wallpaper" -order += "disk /" -#order += "mpris" -#order += "mpd_status" -#order += "net_iplist" -#order += "net_rate" -#order += "wifi" -#order += "netdata" -order += "online_status" -order += "keyboard_layout" -order += "battery_level" -order += "load" -order += "clock" - -arch_updates { - format = "Updates: {pacman}/{aur}" - hide_if_zero = 'True' - include_aur = 'True' -} - -insync { - format = "{status} {queued}" - color_good = '#859900' -} - -volume_status { - color_good = '#859900' -} - -static_string i3lock { - format = "" - on_click 1 = "exec --no-startup-id i3lock-wrapper" -} - -static_string screenshot { - format = "" - # Taking Screenshot using maim - on_click 1 = "exec --no-startup-id echo ~/Pictures/Screenshots/img-$(date +%Y-%m-%d)-${RANDOM}.png | xargs -I '{}' maim -s '{}' && notify-send 'Screenshot' 'Screenshot taken'" -} - -static_string wallpaper { - format = "" - on_click 1 = "exec --no-startup-id feh --bg-scale $(find /home/bijan/Pictures/wallpapers/ | shuf | head -n 1)" -} - -disk "/" { - format = "/: %avail" -} - -net_iplist { - format = '{format_iface}' - format_iface = '{iface}:[ {ip4}]' - iface_blacklist = [ 'lo', 'docker0' ] - ip_blacklist = [ '127.*', '::1' ] - color_good = '#859900' -} - -net_rate { - format = " {total}" - precision = 0 -} - -online_status { - cache_timeout = 10 - format_offline = "" - format_online = "" - timeout = 20 - color_good = '#859900' -} - -mpris { - format = "{previous}{play}{next} {player}: {state} [[{artist} - {title}]|[{title}]]" - player_priority = "[mpd, banshee, *]" - format_none = "no player" -} - -keyboard_layout { - cache_timeout = 1 - format = " {layout}" - color_us = "#6c71c4" - color_gb = "#859900" -} - -battery_level{ - blocks = "" - charging_character = "" - format = " {percent} {icon} {time_remaining}" - color_charging = "#FFFFFF" - color_good = "#859900" - cache_timeout = 5 -} - -load { - format = "%5min" - max_threshold = "7" -} - -clock { - format_time = " %A %e %B  %H:%M %Z" -} - -# backlight -# imap -# mpris -# netdata -# rainbow -# uname -# whoami -# xrandr diff --git a/deprecated/config/i3status/config b/deprecated/config/i3status/config deleted file mode 100644 index 8b23fb6d..00000000 --- a/deprecated/config/i3status/config +++ /dev/null @@ -1,62 +0,0 @@ -# i3status configuration file. -# see "man i3status" for documentation. - -# It is important that this file is edited as UTF-8. -# The following line should contain a sharp s: -# ß -# If the above line is not correctly displayed, fix your editor first! - -general { - colors = true - color_good = "#859900" - color_bad = "#d33682" - color_degraded = "#6c71c4" - color_separator = "#859900" - interval = 5 -} - -#order += "ipv6" -order += "disk /" -#order += "run_watch DHCP" -#order += "run_watch VPN" -order += "wireless _first_" -order += "ethernet _first_" -order += "battery 0" -order += "load" -order += "tztime local" - -wireless _first_ { - format_up = "W: (%quality at %essid) %ip" - format_down = "W: down" -} - -ethernet _first_ { - # if you use %speed, i3status requires root privileges - format_up = "E: %ip (%speed)" - format_down = "E: down" -} - -battery 0 { - format = "%status %percentage %remaining" -} - -run_watch DHCP { - pidfile = "/var/run/dhclient*.pid" -} - -run_watch VPN { - pidfile = "/var/run/vpnc/pid" -} - -tztime local { - format = "%Y-%m-%d %H:%M:%S" -} - -load { - format = "%1min" -} - -disk "/" { - format = "%avail" -} - diff --git a/deprecated/cvimrc b/deprecated/cvimrc deleted file mode 100644 index f9fd406a..00000000 --- a/deprecated/cvimrc +++ /dev/null @@ -1,125 +0,0 @@ -" cvim configuration - -" Use local configuration -let configpath = "/home/baptiste/.cvimrc" -set localconfig -let homedirectory = "/home/baptiste" - -" Hint configuration -let hintcharacters = "asdfghjkl;" -set nodimhintcharacters - -" Hide cursor when scrolling -set autohidecursor - -" Command bar location -let barposition = "bottom" - -" Disable smooth page scrolling -set nosmoothscroll - -" Show a list of command when pressing : -set completeonopen - -" Open defaut chrome://newtab page -set defaultnewtabpage - -" Search engines management -let searchalias i = "imdb" - -let searchengine nar = 'http://newalbumreleases.net/?s=%s' -let searchalias n = "nar" - -let searchengine drive = 'https://drive.google.com/drive/search?q=%s' -let searchalias d = "drive" - -let searchengine github = 'https://github.com/search?q=%s&ref=opensearch' -let searchalias g = "github" - -let searchengine qwant = 'https://www.qwant.com/?q=%s&client=opensearch' -let searchalias q = "qwant" - -let searchengine webopedia = 'https://www.webopedia.com/sgsearch/results?q=%s' -let searchalias w = "webopedia" - -let searchengine ixquick = 'https://www.ixquick.com/do/dsearch?query=%s&cat=web&pl=opensearch&language=english' -let searchengine i = "ixquick" - -let searchengine dogpile = 'https://www.dogpile.com/search/web?q=%s' -let searchalias p = "dogpile" - -" List of completion engines -let completionengines = [ "qwant", "google", "drive", "wikipedia", "imdb", "duckduckgo", "nar", "dogpile", "github", "ixquick" ] - -let defaultengine = "duckduckgo" - -" cVim disabled on sites -let blacklists = [ "https://mail.google.com/*", "*://mail.google.com/*", "@https://mail.google.com/mail/*", "https://connect.cesnet.cz" ] - -" TODO Add bookmark -" Default: <C-b> -unmap a -map a createBookmark - -" Buffer management -unmap b -map b :buffer<Space> - -" TODO Opening previously opened tab -" map <C-^> - -" Opening text area outside -let vimcommand = 'urxvt -e vim' -imap <C-o> editWithVim - -set cncpcompletion - -" Imported/commented configuration -" set noautofocus -" set nohud -" set typelinkhints -" let mapleader = ',' -" let zoomfactor = 0.05 -" let scrollduration = 250 -" let searchlimit = 25 -" map af createActiveTabbedHint -" map $ lastTab -" map 0 firstTab -" map <Space> l -" map <S-Space> h -" map gS :viewsource&<CR> -" map xx closeTab -" map qq xx -" map Q closeTab -" map gs fullImageHint -" map gq :restore<Space> -" map a<Space> z<Enter> -" map <C-e> z<Enter> -" map <C-k> nextTab -" map <C-j> previousTab -" map cn :execute nzz<CR> -" map cN :execute Nzz<CR> -" map <C-d> :file ~/ -" map m* setMark -" map <C-s> openLastHint -" map <C-g> :set smoothscroll!<CR> -" map <C-h> :nohl<CR> -" map cc :set hud!<CR> -" map aa :tabopen g<Space> -" map ga :settings<CR> -" map g0 scrollToLeft -" map I yankHighlight -" map g$ scrollToRight -" imap <C-y> selectAll -" imap <C-a> <C-i> -" imap <C-l> forwardWord -" imap <C-h> backwardWord -" map <BS> <Nop> -" map <Leader>s :source<CR> -" map <Leader>n :set numerichints!<CR> -" map ci :call getIP<CR> -" map ? openLinkSearchBar -" site '*://*.netflix.com/watch*' { -" unmap <Space> -" unmap f -" } diff --git a/deprecated/hyper.js b/deprecated/hyper.js deleted file mode 100644 index 7c4b7344..00000000 --- a/deprecated/hyper.js +++ /dev/null @@ -1,115 +0,0 @@ -// Future versions of Hyper may add additional config options, -// which will not automatically be merged into this file. -// See https://hyper.is#cfg for all currently supported options. - -module.exports = { - config: { - // default font size in pixels for all tabs - fontSize: 13, - - // font family with optional fallbacks - fontFamily: '"Fantasque Sans Mono", "DejaVu Sans Mono", Symbola, Unidings, Icons', - - // terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk) - cursorColor: 'rgba(248,28,229,0.8)', - - // `BEAM` for |, `UNDERLINE` for _, `BLOCK` for █ - cursorShape: 'BLOCK', - - // set to true for blinking cursor - cursorBlink: false, - - // color of the text - foregroundColor: '#fff', - - // terminal background color - backgroundColor: '#000', - - // border color (window, tabs) - borderColor: '#333', - - // custom css to embed in the main window - css: '', - - // custom css to embed in the terminal window - termCSS: '', - - // set to `true` (without backticks) if you're using a Linux setup that doesn't show native menus - // default: `false` on Linux, `true` on Windows (ignored on macOS) - showHamburgerMenu: true, - - // set to `false` if you want to hide the minimize, maximize and close buttons - // additionally, set to `'left'` if you want them on the left, like in Ubuntu - // default: `true` on windows and Linux (ignored on macOS) - showWindowControls: false, - - // custom padding (css format, i.e.: `top right bottom left`) - padding: '2px 14px', - - // the full list. if you're going to provide the full color palette, - // including the 6 x 6 color cubes and the grayscale map, just provide - // an array here instead of a color map object - colors: { - black: '#000000', - red: '#ff0000', - green: '#33ff00', - yellow: '#ffff00', - blue: '#0066ff', - magenta: '#cc00ff', - cyan: '#00ffff', - white: '#d0d0d0', - lightBlack: '#808080', - lightRed: '#ff0000', - lightGreen: '#33ff00', - lightYellow: '#ffff00', - lightBlue: '#0066ff', - lightMagenta: '#cc00ff', - lightCyan: '#00ffff', - lightWhite: '#ffffff' - }, - - // the shell to run when spawning a new session (i.e. /usr/local/bin/fish) - // if left empty, your system's login shell will be used by default - // make sure to use a full path if the binary name doesn't work - // (e.g `C:\\Windows\\System32\\bash.exe` instead of just `bash.exe`) - // if you're using powershell, make sure to remove the `--login` below - shell: '', - - // for setting shell arguments (i.e. for using interactive shellArgs: ['-i']) - // by default ['--login'] will be used - shellArgs: ['--login', '--interactive'], - - // for environment variables - env: {}, - - // set to false for no bell - bell: false, - - // if true, selected text will automatically be copied to the clipboard - copyOnSelect: true - - // if true, on right click selected text will be copied or pasted if no - // selection is present (true by default on Windows) - // quickEdit: true - - // URL to custom bell - // bellSoundURL: 'http://example.com/bell.mp3', - - // for advanced config flags please refer to https://hyper.is/#cfg - }, - - // a list of plugins to fetch and install from npm - // format: [@org/]project[#version] - // examples: - // `hyperpower` - // `@company/project` - // `project#1.0.1` - plugins: [ - 'hyper-solarized-dark' - ], - - // in development, you can create a directory under - // `~/.hyper_plugins/local/` and include it here - // to load it and avoid it being `npm install`ed - localPlugins: [] -}; diff --git a/deprecated/install.sh b/deprecated/install.sh deleted file mode 100755 index 5ac4cdf9..00000000 --- a/deprecated/install.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -#echo 'Installing Oh-my-zsh.' -#curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh - -echo 'Installing prezto.' -git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" - -echo 'Installing vim conf.' -curl -L https://raw.github.com/gwarf/vim/master/install.sh | sh - -echo 'Cloning dotfiles' -mkdir -p "$HOME/repos/gwarf" -cd $_ -git clone git://github.com/gwarf/dotfiles.git - -echo 'Symlink-ing dotfiles' -cd dotfiles -./symlink-dotfiles.sh diff --git a/deprecated/offlineimaprc b/deprecated/offlineimaprc deleted file mode 100644 index 7cf5167d..00000000 --- a/deprecated/offlineimaprc +++ /dev/null @@ -1,53 +0,0 @@ -[general] -#ui = Quiet -ui = ttyui -accounts = Gmail,Perso -maxsyncaccounts = 2 -fsync = false -pythonfile = /home/baptiste/bin/offlineimap-helpers.py - -[Account Gmail] -localrepository = Gmail-Local -remoterepository = Gmail-Remote -synclabels = yes -quick = 10 -postsynchook = notmuch --config=/home/baptiste/.notmuch-config-egi new - -[Repository Gmail-Local] -type = GmailMaildir -localfolders = ~/Mail/Gmail - -[Repository Gmail-Remote] -type = Gmail -maxconnections = 3 -# Adding passwords to gnome keyring -# /bin/offlineimap-helpers.py Gmail baptiste.grenier@eg.eu -remoteusereval = get_username("Gmail") -remotepasseval = get_password("Gmail") -realdelete = no -sslcacertfile = /etc/ssl/certs/ca-certificates.crt - - -[Account Perso] -localrepository = LocalPerso -remoterepository = BaptName -quick = 10 -postsynchook = notmuch --config=/home/baptiste/.notmuch-config-perso new - -[Repository LocalPerso] -type = Maildir -localfolders = ~/Mail/Perso - -[Repository BaptName] -type = IMAP -maxconnections = 3 -remotehost = imap.bapt.name -ssl = yes -sslcacertfile = /etc/ssl/certs/ca-certificates.crt -# Adding passwords to gnome keyring -# /bin/offlineimap-helpers.py BaptName baptiste -remoteusereval = get_username('BaptName') -remotepasseval = get_password('BaptName') -folderfilter = lambda foldername: foldername not in ['Trash'] -idlefolders = ['INBOX'] -#foldersort=mycmp diff --git a/deprecated/symlink-dotfiles.sh b/deprecated/symlink-dotfiles.sh deleted file mode 100755 index d5a776bc..00000000 --- a/deprecated/symlink-dotfiles.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -dotfiles="$HOME/repos/gwarf/dotfiles" - -if [ -d "$dotfiles" ]; then - echo "Symlinking dotfiles from $dotfiles" -else - echo "$dotfiles does not exist" - exit 1 -fi - -link_conf() { - from="$1" - to="$2" - echo "Linking configuration '$from' to '$to'" - rm -f "$to" - ln -s "$from" "$to" -} - -mkdir ~/.config -for configfile in $(ls $dotfiles/.config); do - link_conf "$dotfiles/.config/$configfile" "$HOME/.config/$configfile" -done - -for dotfile in $(ls -a $dotfiles | grep '^\.'); do - [ $dotfile = '.git' ] && next - link_conf "$dotfiles/$dotfile" "$HOME/$dotfile" -done diff --git a/deprecated/tmux/tmuxline.sh b/deprecated/tmux/tmuxline.sh deleted file mode 100644 index ec9da904..00000000 --- a/deprecated/tmux/tmuxline.sh +++ /dev/null @@ -1,29 +0,0 @@ -# This tmux statusbar config was created by tmuxline.vim -# on mar., 21 oct. 2014 - -set -g status-bg "colour0" -set -g message-command-fg "colour7" -set -g status-justify "centre" -set -g status-left-length "100" -set -g status "on" -set -g pane-active-border-fg "colour14" -set -g message-bg "colour11" -set -g status-right-length "100" -set -g status-right-attr "none" -set -g message-fg "colour7" -set -g message-command-bg "colour11" -set -g status-attr "none" -#set -g status-utf8 "on" -set -g pane-border-fg "colour11" -set -g status-left-attr "none" -setw -g window-status-fg "colour10" -setw -g window-status-attr "none" -setw -g window-status-activity-bg "colour0" -setw -g window-status-activity-attr "none" -setw -g window-status-activity-fg "colour14" -setw -g window-status-separator "" -setw -g window-status-bg "colour0" -set -g status-left "#[fg=colour15,bg=colour14,bold] #S @ #h #[fg=colour14,bg=colour0,nobold,nounderscore,noitalics]" -set -g status-right "#[fg=colour11,bg=colour0,nobold,nounderscore,noitalics]#[fg=colour7,bg=colour11] %a %d %b %Y #[fg=colour14,bg=colour11,nobold,nounderscore,noitalics]#[fg=colour15,bg=colour14] %R " -setw -g window-status-format "#[fg=colour0,bg=colour0,nobold,nounderscore,noitalics]#[default] #I #W #[fg=colour0,bg=colour0,nobold,nounderscore,noitalics]" -setw -g window-status-current-format "#[fg=colour0,bg=colour11,nobold,nounderscore,noitalics]#[fg=colour7,bg=colour11] #I #W #[fg=colour11,bg=colour0,nobold,nounderscore,noitalics]" diff --git a/deprecated/vimperatorrc b/deprecated/vimperatorrc deleted file mode 100644 index b4adcb35..00000000 --- a/deprecated/vimperatorrc +++ /dev/null @@ -1,14 +0,0 @@ -" Search provider -set defsearch=qwant - -" Set hintkeys according to my home row in my keyboard layout -set hintchars=asdfhjkl - -" Autocomplete using Firefox location bar entries and search engines -set complete=ls - -" Select the longest autocomplete match -set wildmode='list:full' - -" Show a (n)umber on tabs, the (b)ottom scrollbar, and the (r)ight scrollbar -"set guioptions=nbr diff --git a/deprecated/zlogin b/deprecated/zlogin deleted file mode 100644 index 11d1a20d..00000000 --- a/deprecated/zlogin +++ /dev/null @@ -1,57 +0,0 @@ -# zsh config file - -## Execute code that does not affect the current session in the background. -#{ -# # Compile the completion dump to increase startup speed. -# zcompdump="${ZDOTDIR:-$HOME}/.zcompdump" -# if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then -# zcompile "$zcompdump" -# fi -#} &! - -# display system informations -uname -a -uptime -echo -if $(type task &> /dev/null); then - printf 'Tasks:\n' - task list -fi -if $(type remind &> /dev/null); then - printf 'Reminds:\n' - remind -f ~/.reminders -fi - -# Allow messaging from other users -mesg y - -# Turn on numpad on the console -#case "`tty`" in /dev/tty[1-6]*) -# setleds +num -#esac - -if [ $(hostname) != htpc ]; then - # tmux - if which tmux >/dev/null 2>&1; then - # if not inside a tmux session - # and if no session is started, start a new session - if [ -z "$TMUX" ]; then - # Start default session if not found - if ! tmux has-session -t home >/dev/null 2>&1; then - logger 'no session!' - #[ -x ~/bin/tmux-default-session ] && (~/bin/tmux-default-session) - fi - # No more automatically attach session - #(tmux attach -t home) - fi - #test -z "$TMUX" && (tmux attach || ~/bin/tmux-new-session) - fi -fi - -# [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* - -## Print a random, hopefully interesting, adage. -#if (( $+commands[fortune] )); then -# fortune -a -# print -#fi diff --git a/deprecated/zlogout b/deprecated/zlogout deleted file mode 100644 index 99b83d53..00000000 --- a/deprecated/zlogout +++ /dev/null @@ -1,2 +0,0 @@ -# zsh config file -clear diff --git a/deprecated/zprofile b/deprecated/zprofile deleted file mode 100644 index a3e3f631..00000000 --- a/deprecated/zprofile +++ /dev/null @@ -1 +0,0 @@ -# Executes commands at login pre-zshrc. diff --git a/deprecated/zsh-theme.baptiste b/deprecated/zsh-theme.baptiste deleted file mode 100644 index 855e5258..00000000 --- a/deprecated/zsh-theme.baptiste +++ /dev/null @@ -1,69 +0,0 @@ -# https://github.com/gwarf zsh theme -# Mostly adapted from -# https://github.com/blinks zsh theme -# Command error return from -# Sunrise theme for oh-my-zsh by Adam Lindberg (eproxus@gmail.com) -# Remote git status from -# ZSH theme by James Smith (http://loopj.com) - -function _prompt_char() { - if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then - echo "%{%F{blue}%}±%{%f%k%b%}" - else - echo ' ' - fi -} - -# Show status against remote, displaying commit changes counts -_remote_changes() { - local -a remote - remote=${$(git rev-parse --verify ${hook_com[branch]}@{upstream} --symbolic-full-name 2>/dev/null)/refs\/remotes\/} - if [[ -n ${remote} ]] ; then - local -a ahead - local -a behind - ahead=$(git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l) - behind=$(git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l) - if [ $ahead -eq 0 ] && [ $behind -gt 0 ]; then - echo " %{$fg_bold[magenta]%}↓(${behind})%{$reset_color%}" - elif [ $ahead -gt 0 ] && [ $behind -eq 0 ]; then - echo " %{$fg_bold[magenta]%}↑(${ahead})%{$reset_color%}" - elif [ $ahead -gt 0 ] && [ $behind -gt 0 ]; then - echo " %{$fg_bold[magenta]%}↕: ↓(${behind}) ↑(${ahead})%{$reset_color%}" - fi - fi -} - -# Show count of non tracked files -function _untracked() { - local -a untracked - if [[ ! -z $(/usr/bin/git ls-files --other --exclude-standard 2> /dev/null) ]]; then - untracked=$(/usr/bin/git ls-files --other --exclude-standard 2>/dev/null | wc -l) - if [ $untracked -gt 0 ]; then - echo "%{%B%F{blue}%} %{%F{red}%}${untracked} %{$fg_bold[magenta]%}untracked%{$reset_color%}" - fi - fi -} - -# This theme works with both the "dark" and "light" variants of the -# Solarized color schema. Set the SOLARIZED_THEME variable to one of -# these two values to choose. If you don't specify, we'll assume you're -# using the "dark" variant. - -case ${SOLARIZED_THEME:-dark} in - light) bkg=white;; - *) bkg=black;; -esac - -ZSH_THEME_GIT_PROMPT_PREFIX=" [%{%B%F{blue}%}" -ZSH_THEME_GIT_PROMPT_SUFFIX="%{%f%k%b%K{${bkg}}%B%F{green}%}]" -ZSH_THEME_GIT_PROMPT_DIRTY=" %{%F{red}%}*%{%f%k%b%}" -ZSH_THEME_GIT_PROMPT_CLEAN="" - -PROMPT='%{%f%k%b%} -%{%K{${bkg}}%B%F{green}%}%n%{%B%F{blue}%}@%{%B%F{cyan}%}%m%{%B%F{green}%} %{%b%F{yellow}%K{${bkg}}%}%3c%{%B%F{green}%}$(git_prompt_info)$(_remote_changes)$(_untracked)%E%{%f%k%b%} -%{%K{${bkg}}%}$(_prompt_char)%{%K{${bkg}}%} %#%{%f%k%b%} ' - -local return_code="%{$reset_color%}%(?..%{$fg_no_bold[red]%}%? ↵%{$reset_color%})" -RPROMPT='!%{%B%F{cyan}%}%!%{%f%k%b%} ${return_code}' - -# vim:set ft=zsh ts=2 sw=2 expandtab: diff --git a/deprecated/zshenv b/deprecated/zshenv deleted file mode 100644 index 437cd8ed..00000000 --- a/deprecated/zshenv +++ /dev/null @@ -1,218 +0,0 @@ -# ~/.zshenv - -#LC_ALL='fr_FR.UTF-8' -#LANG='fr_FR.UTF-8' -#export LC_ALL LANG - -export VISUAL="vim" -export EDITOR="vim" -export TERMINAL='terminator' - -# Set the default Less options. -# Mouse-wheel scrolling has been disabled by -X (disable screen clearing). -# Remove -X and -F (exit if the content fits on one screen) to enable it. -#export LESS='-F -g -i -M -R -S -w -X -z-4' -LESS='-imJMWR' - -# Set the Less input preprocessor. -if (( $+commands[lesspipe.sh] )); then - export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-' -fi - -PAGER="less $LESS" -MANPAGER=$PAGER -BROWSER='chromium-browser' -OS="$(uname)" -if [ "$OS" != "SunOS" ]; then - export PAGER="most" - # lesspipe - export LESSOPEN="|lesspipe.sh %s" - PATH="/usr/local/bin:/usr/local/sbin:/bin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/sbin:/opt/texlive/bin:/opt/mozilla/bin:/opt/e17/bin:/opt/openoffice/program:/usr/local/openoffice.org-3.0.0/openoffice.org3/program:/opt/gnome/bin:$HOME/bin:$HOME/webtest/bin:/usr/lib/openoffice/program:$HOME/repos/git-achievements/:/usr/lib64/libreoffice/program:/usr/libexec:$PATH" - CDPATH="$CDPATH::$HOME:/usr/local" -else - PATH="/opt/csw/bin:/usr/sbin:/sbin:/usr/bin:/usr/ruby/1.8/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ccs/bin:/usr/gnu/bin:/usr/bin:/usr/X11/bin/usr/eclipse:/opt/sfw/bin:$PATH" - export TERM="xtermc" -fi -export SDL_AUDIODRIVER="pulse" - -# -# Temporary Files -# - -if [[ ! -d "$TMPDIR" ]]; then - export TMPDIR="/tmp/$USER" - mkdir -p -m 700 "$TMPDIR" -fi - -TMPPREFIX="${TMPDIR%/}/zsh" -if [[ ! -d "$TMPPREFIX" ]]; then - mkdir -p "$TMPPREFIX" -fi - -# Gem on archlinux -#if [ -d "$HOME/.gem/ruby/2.0.0/bin" ]; then -# PATH="/home/baptiste/.gem/ruby/2.0.0/bin:$PATH" -# export GEM_HOME="$HOME/.gem/ruby/2.0.0" -#fi -#if [ -d "$HOME/.gem/ruby/2.1.0/bin" ]; then -# PATH="/home/baptiste/.gem/ruby/2.1.0/bin:$PATH" -# export GEM_HOME="$HOME/.gem/ruby/2.1.0" -#fi - -# Haskell cabal conf -if [ -d "$HOME/.cabal/bin" ]; then - PATH="$HOME/.cabal/bin:$PATH" -fi - -if [ -x '~/.gem/ruby/2.0.0/bin/chit' ]; then - chit () { '~/.gem/ruby/2.0.0/bin/chit' "$@" | "$PAGER" } -fi - -# For java apps under awesome -# http://awesome.naquadah.org/wiki/Problems_with_Java -#export AWT_TOOLKIT="MToolkit" -# new method: -#export _JAVA_AWT_WM_NONREPARENTING=1 - -# For dcmtk -#export DCMDICTPATH=/usr/lib/dicom.dic - -# for eclim -#export ECLIM_ECLIPSE_HOME=/usr/share/eclipse - -# Fix the gnome-terminal clear screen issue -#export TERM="xterm-noclear" - -# Use a 256color term -export TERM="xterm-256color" -[ -n "$TMUX" ] && export TERM="screen-256color" - -# ri doc formating -export RI="--format bs --width 70" -export CVS_RSH="ssh" - -# mpd host -if [ $(hostname) = 'bougebox' -o $(hostname) = 'monster.maatg.fr' ]; then - export MPD_HOST="toglut@localhost" -else - export MPD_HOST="toglut@htpc" -fi - -# mercurial -export HGEDITOR=~/bin/hgeditor - -umask 0027 - -# Proxy HTTP / FTP without password -#export http_proxy="http://proxy.exemple.org:8080" -#export ftp_proxy="ftp://proxy.exemple.org:8080" - -# Proxy HTTP / FTP with password -#export http_proxy="http://login:password@proxy.exemple.org:8080" -#export ftp_proxy="ftp://login:password@proxy.exemple.org:8080" - -# Disable proxy for example.org -#export no_proxy="exemple.org" - -#if [ `hostname` = 'bougebox' ]; then -# source /opt/UItar/etc/profile.d/grid-env.sh -#fi - -# Source grid environment -[ -f /opt/emi/etc/profile.d/grid-env.sh ] && . /opt/emi/etc/profile.d/grid-env.sh - -#export WINEARCH=win32 - -[ -f ~/.alias ] && source ~/.alias -[ -f ~/.alias.local ] && source ~/.alias.local - -export ANT_OPTS="-Xmx1024m -XX:MaxPermSize=256m" - -# Use gnome keyring for ssh auth -#export SSH_AUTH_SOCK="$GNOME_KEYRING_CONTROL/ssh" -#if [ -n "$DESKTOP_SESSION" ];then -# # No point to start gnome-keyring-daemon if ssh-agent is not up -# if [ -n "$GNOME_KEYRING_PID" ]; then -# eval $(gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh) -# export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GNOME_KEYRING_SOCKET -# export GPG_AGENT_INFO SSH_AUTH_SOCK -# fi -#fi - -# Keychain -#eval $(keychain --eval id_rsa) - -# Use envoy for ssh/gpg agent -# use envoy -a to add identities to agent -# https://github.com/vodik/envoy -if ! env | grep -qi sudo; then - if command -v "envoy" >/dev/null 2>&1; then - if [ -f "$HOME/.ssh/id_dsa" ]; then - if ! envoy -l | grep -q "$HOME/.ssh/id_dsa" >/dev/null 2>&1; then - envoy -t ssh-agent -a ~/.ssh/id_dsa - fi - fi - if [ -f "$HOME/.ssh/id_rsa" ]; then - if ! envoy -l | grep -q "$HOME/.ssh/id_rsa" >/dev/null 2>&1; then - envoy -t ssh-agent -a ~/.ssh/id_rsa - fi - fi - source <(envoy -p) - fi -fi - -# Load RVM into a shell session *as a function* -#[ -s "$HOME/.rvm/scripts/rvm" ] && source "$HOME/.rvm/scripts/rvm" -#if [ -d "$HOME/.rvm/bin" ]; then -# # Add RVM to PATH for scripting -# PATH="$PATH:$HOME/.rvm/bin" -#fi - -# Load rbenv -if command -v "rbenv" >/dev/null 2>&1; then - eval "$(rbenv init -)" -fi - -#PATH="~/.bundler_binstubs:$PATH" - -if command -v "ag" >/dev/null 2>&1; then - if command -v "fzf" >/dev/null 2>&1; then - # Setting ag as the default source for fzf - export FZF_DEFAULT_COMMAND='ag -l -g ""' - # To apply the command to CTRL-T as well - export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" - fi -fi - -if [ -d "$HOME/.mc/lib/mc-solarized-skin" ]; then - export MC_SKIN=$HOME/.mc/lib/mc-solarized-skin/solarized.ini -else - git clone https://github.com/iwfmp/mc-solarized-skin.git $HOME/.mc/lib/mc-solarized-skin -fi - -# -# Paths -# - -# Ensure path arrays do not contain duplicates. -typeset -gU cdpath fpath mailpath path - -# Set the list of directories that Zsh searches for programs. -path=( - ~/bin - /usr/local/{bin,sbin} - $path -) - -export PATH - -# Configure bspwm's panel -PANEL_FIFO=/tmp/panel-fifo -PANEL_HEIGHT=24 -PANEL_FONT_FAMILY="-*-terminus-medium-r-normal-*-12-*-*-*-c-*-*-1" -export PANEL_FIFO PANEL_HEIGHT PANEL_FONT_FAMILY - -export OOO_FORCE_DESKTOP=gnome -export XDG_MENU_PREFIX="gnome-" - -# vim:set ft=zsh ts=2 sw=2 et: diff --git a/deprecated/zshrc b/deprecated/zshrc deleted file mode 100644 index d82d7ac0..00000000 --- a/deprecated/zshrc +++ /dev/null @@ -1,178 +0,0 @@ -# Path to your oh-my-zsh configuration. -ZSH=$HOME/.oh-my-zsh - -# Source system profile -emulate sh -c 'source /etc/profile' - -eval "`dircolors -b`" - -[ -f ~/.zshenv ] && . ~/.zshenv -[ -f ~/.alias ] && . ~/.alias - -# Set to this to use case-sensitive completion -CASE_SENSITIVE="false" - -# Uncomment following line if you want to disable colors in ls -DISABLE_LS_COLORS="false" - -# Uncomment following line if you want to disable autosetting terminal title. -DISABLE_AUTO_TITLE="true" - -# Uncomment following line if you want to disable command autocorrection -#DISABLE_CORRECTION="true" -ENABLE_CORRECTION="true" - -# Uncomment following line if you want red dots to be displayed while waiting for completion -COMPLETION_WAITING_DOTS="true" - -# Uncomment following line if you want to disable marking untracked files under -# VCS as dirty. This makes repository status check for large repositories much, -# much faster. -DISABLE_UNTRACKED_FILES_DIRTY="true" - -# Uncomment following line if you want to shown in the command execution time stamp -# in the history command output. The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"| -# yyyy-mm-dd -HIST_STAMPS="mm/dd/yyyy" - -# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) -# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ -plugins=(colorize colored-man gitfast git-flow archlinux bundler command-not-found gem history-substring-search mvn rake ruby tmux svn terminator urltools vagrant vi-mode vundle web-search sysadmin common-aliases rvm) - -source $ZSH/oh-my-zsh.sh - -# Set name of the theme to load. -# Look in ~/.oh-my-zsh/themes/ -#ZSH_THEME="random" -#ZSH_THEME="blinks" -#ZSH_THEME="sunrise" -#ZSH_THEME="intheloop" -[ -f ~/.zsh-theme.baptiste ] && . ~/.zsh-theme.baptiste -[ -f ~/.shell_prompt ] && . ~/.shell_prompt.sh - -# User configuration - -export PATH=$HOME/bin:/usr/local/bin:$PATH -# export MANPATH="/usr/local/man:$MANPATH" -[ -x /usr/bin/fortune ] && fortune -a && echo -# name directories -hash -d repos=~/repos -hash -d Desktop=~/Desktop -hash -d Downloads=~/Downloads -hash -d DL=~/Downloads -hash -d Documents=~/Documents -hash -d Docs=~/Documents -hash -d dev=~/dev -hash -d maatpuppet=~/repos/maatG/fr.maatg/infrastructure/puppet - -# Alt-S inserts sudo at the starts of the line -insert_sudo () { zle beginning-of-line; zle -U 'sudo ' } -zle -N insert-sudo insert_sudo -bindkey 's' insert-sudo - -# bindkeys -# Find keycode: -# execute cat, press the key and crtl + c -bindkey -v -bindkey -M vicmd "^R" redo -bindkey -M vicmd "u" undo -bindkey -M vicmd "k" history-beginning-search-backward -bindkey -M vicmd "j" history-beginning-search-forward -bindkey -M viins '^r' history-incremental-search-backward # crtl-r -bindkey -M vicmd '^r' history-incremental-search-backward # crtl-r - -bindkey "^A" beginning-of-line # Home -bindkey "^E" end-of-line # End -bindkey "^D" delete-char # Del -bindkey "[3~" delete-char # Del -bindkey "[2~" overwrite-mode # Insert -bindkey "[5~" history-search-backward # PgUp -bindkey "[6~" history-search-forward # PgDn -#bindkey "^?" backward-delete-char # Backspace -bindkey "^?" backward-delete-char - -bindkey "[1~" beginning-of-line # Home (console) -bindkey "[4~" end-of-line # End (console) -bindkey "OH" beginning-of-line # Home (gnome-terminal) -bindkey "OF" end-of-line # End (gnome-terminal) -bindkey "" beginning-of-line # Home (konsole+xterm) -bindkey "" end-of-line # End (konsole+xterm) -bindkey "" history-beginning-search-backward -bindkey "" history-beginning-search-forward -bindkey "[3;5~" delete-word # Ctrl w -bindkey "" forward-word # Alt -> -bindkey "" forward-word # Alt -> -bindkey "^[[C" forward-word -bindkey "" backward-word # Alt <- -bindkey "^[[D" backward-word -bindkey "" backward-word # Alt <- -bindkey "[3~" delete-char # Suppr -bindkey "[2~" overwrite-mode # Inser -bindkey "" end-of-line -bindkey "" beginning-of-line -# bindkey m menu-select -bindkey "h" run-help # esc-h -#bindkey "^M" run-help -# Keycode for up/down in application mode on ubuntu -# http://www.f30.me/2012/10/oh-my-zsh-key-bindings-on-ubuntu-12-10/ -#bindkey "${terminfo[kcuu1]}" up-line-or-search -#bindkey "${terminfo[kcud1]}" down-line-or-search - -# urxvt -bindkey "[5" up-line-or-history -bindkey "[6" down-line-or-history -bindkey "[7~" beginning-of-line -bindkey "[8~" end-of-line - -# Console linux, dans un screen ou un rxvt -if [ "$TERM" = "linux" -o "$TERM" = "screen" -o "$TERM" = "rxvt" ] -then - bindkey "[1~" beginning-of-line # Home - bindkey "[4~" end-of-line # End -fi - -# xterm -if [ "$TERM" = "xterm" ] -then - bindkey "" beginning-of-line # Home - bindkey "" end-of-line # End -fi - -# Gnome terminal -if [ "$COLORTERM" = "gnome-terminal" ] -then - bindkey "OH" beginning-of-line # Home - bindkey "OF" end-of-line # End - bindkey "" forward-word # Alt -> - bindkey "" backward-word # Alt <- - bindkey "" history-search-backward -fi - -# Push a command onto a stack allowing you to run another command first -bindkey '^J' push-line - -# Allows editing the command line with an external editor -autoload edit-command-line -zle -N edit-command-line -bindkey -M vicmd "v" edit-command-line - -# Command history parameters -#export HISTORY=1000 -HISTFILE=$HOME/.zshistory -HISTFILESIZE=65536 -HISTSIZE=4096 -SAVEHIST=$HISTSIZE -# shared history -setopt share_history hist_find_no_dups hist_ignore_all_dups hist_ignore_space - -# Completion options -#[ -f /etc/zsh/git-flow-completion.zsh ] && source /etc/zsh/git-flow-completion.zsh -#[ -f /usr/share/git-flow/git-flow-completion.zsh ] && source /usr/share/git-flow/git-flow-completion.zsh - -# Compilation flags -# export ARCHFLAGS="-arch x86_64" - -# ssh -# export SSH_KEY_PATH="~/.ssh/dsa_id" - -autoload -U zmv diff --git a/deprecated/zshrc-manual b/deprecated/zshrc-manual deleted file mode 100644 index a998351b..00000000 --- a/deprecated/zshrc-manual +++ /dev/null @@ -1,330 +0,0 @@ -# ZSH configuration for interactive shells - -# Source system profile -source /etc/profile - -[ -f ~/.zshenv ] && source ~/.zshenv - -export SHELL=$(which zsh) - -autoload -U colors && colors -autoload -U promptinit - -autoload -U compinit -compinit - -# Turn on color output -if [ $(uname) = FreeBSD ]; then - export CLICOLOR=true -fi - -# bindkeys -# Find keycode: -# execute cat, press the key and crtl + c -# Show configuration: bindkey -l -bindkey -v -bindkey -M vicmd "^R" redo -bindkey -M vicmd "u" undo -bindkey -M vicmd "k" history-beginning-search-backward -bindkey -M vicmd "j" history-beginning-search-forward -bindkey -M viins '^r' history-incremental-search-backward # crtl-r -bindkey -M vicmd '^r' history-incremental-search-backward # crtl-r - -bindkey "^A" beginning-of-line # Home -bindkey "^E" end-of-line # End -bindkey "^D" delete-char # Del -bindkey "[3~" delete-char # Del -bindkey "[2~" overwrite-mode # Insert -bindkey "[5~" history-search-backward # PgUp -bindkey "[6~" history-search-forward # PgDn -#bindkey "^?" backward-delete-char # Backspace -bindkey "^?" backward-delete-char - -bindkey "[1~" beginning-of-line # Home (console) -bindkey "[4~" end-of-line # End (console) -bindkey "OH" beginning-of-line # Home (gnome-terminal) -bindkey "OF" end-of-line # End (gnome-terminal) -bindkey "" beginning-of-line # Home (konsole+xterm) -bindkey "" end-of-line # End (konsole+xterm) -bindkey "" history-beginning-search-backward -bindkey "" history-beginning-search-forward -bindkey "[3;5~" delete-word # Ctrl w -bindkey "d" kill-word # Alt d -bindkey "" forward-word # Alt -> -bindkey "" forward-word # Alt -> -bindkey "^[[C" forward-word -bindkey "" backward-word # Alt <- -bindkey "^[[D" backward-word -bindkey "" backward-word # Alt <- -bindkey "[3~" delete-char # Suppr -bindkey "[2~" overwrite-mode # Inser -bindkey "" end-of-line -bindkey "" beginning-of-line -# bindkey m menu-select -bindkey "h" run-help # esc-h -#bindkey "^M" run-help -# Keycode for up/down in application mode on ubuntu -# http://www.f30.me/2012/10/oh-my-zsh-key-bindings-on-ubuntu-12-10/ -#bindkey "${terminfo[kcuu1]}" up-line-or-search -#bindkey "${terminfo[kcud1]}" down-line-or-search - -# urxvt -bindkey "[5" up-line-or-history -bindkey "[6" down-line-or-history -bindkey "[7~" beginning-of-line -bindkey "[8~" end-of-line - -# Console linux, dans un screen ou un rxvt -if [ "$TERM" = "linux" -o "$TERM" = "screen" -o "$TERM" = "rxvt" ] -then - bindkey "[1~" beginning-of-line # Home - bindkey "[4~" end-of-line # End -fi - -# xterm -if [ "$TERM" = "xterm" ] -then - bindkey "" beginning-of-line # Home - bindkey "" end-of-line # End -fi - -# Gnome terminal -if [ "$COLORTERM" = "gnome-terminal" ] -then - bindkey "OH" beginning-of-line # Home - bindkey "OF" end-of-line # End - bindkey "" forward-word # Alt -> - bindkey "" backward-word # Alt <- - bindkey "" history-search-backward -fi - -# Push a command onto a stack allowing you to run another command first -bindkey '^J' push-line - -# Allows editing the command line with an external editor -autoload edit-command-line -zle -N edit-command-line -# Press Esc=v to edit command line -bindkey -M vicmd "v" edit-command-line - -# Alt-S inserts sudo at the starts of the line -insert_sudo () { zle beginning-of-line; zle -U 'sudo ' } -zle -N insert-sudo insert_sudo -bindkey 's' insert-sudo - -typeset -Ag abbreviations -abbreviations=( - 'Ia' '| awk' - 'Ig' '| grep' - 'Ip' "| $PAGER" - 'Ih' '| head' - 'It' '| tail' - 'Is' '| sort' - 'Iw' '| wc' -) - -# environment settings -# zshoptions - -REPORTTIME=60 # Report time statistics for progs that take more than a minute to run -WATCH=not-me # Report any login/logout of other users -WATCHFMT='%n %a %l from %m at %T.' -LOGCHECK=10 - -# No beeps -unsetopt beep -unsetopt hist_beep -unsetopt list_beep -# force write when using > and file already exists -#setopt clobber -# Ctrl+D to logout -unsetopt ignore_eof -# Display return code if different from 0 -setopt print_exit_value -# Ask confirmation for 'rm *' -unsetopt rm_star_silent -# Try to correct the spelling of commands -setopt correct -# Note the location of each command -setopt hash_cmds -# Whenever a command name is hashed, hash the directory containing it -setopt hash_dirs -# Si on utilise des jokers dans une liste d'arguments, retire les jokers -# qui ne correspondent à rien au lieu de donner une erreur -setopt nullglob -# Assume '#', '~' and '^' as part of patterns for filename generation -setopt extended_glob -setopt numeric_globsort -setopt bad_pattern # print out an error if a pattern or glob is badly formed -# http://www.zsh.org/mla/workers/1996/msg01463.html -setopt magic_equal_subst -# XXX breaks completion -# _main_complete:388: _lastcomp: assignment to invalid subscript range -#setopt glob_assign - -## Do not perform filename completion and expansion when using unquoted = -unsetopt equals - -# Automatically list choices on an ambiguous completion -setopt auto_list -# Completion -unsetopt list_ambiguous -# Add a slash after a completed directory name -setopt auto_param_slash -setopt auto_param_keys -# Quand le dernier caractère d'une complétion est '/' et que l'on -# tape 'espace' après, le '/' est effaçé -setopt auto_remove_slash -# No completion on hidden files/dirs -unsetopt glob_dots -setopt complete_aliases -#allow tab completion in the middle of a word -setopt complete_in_word -# Autoload, define the user widget and bind incremental-... on TAB. -autoload incremental-complete-word - -# Traite les liens symboliques comme il faut -setopt chase_links - -# mail checking -MAILCHECK=1 -MAIL=$HOME/Mail/INBOX -mailpath=( -"$HOME/Mail/INBOX?You have new mail in INBOX" -) - -# When using ! to recall a command from history write it before executing it -setopt hist_verify -# Avoid duplicating older command in the history -setopt hist_ignore_dups -# Write history in append mode -setopt append_history -# Perform 'cd' on a directory name if no homonymous command is found -setopt auto_cd -setopt cdable_vars # if cd would fail, because the arg is not a dir, try to expand the argument as if it was called the ~expression way -# L'exécution de "cd" met le répertoire d'où l'on vient sur la pile -setopt auto_pushd -# Ignore les doublons dans la pile -setopt pushd_ignore_dups -# N'affiche pas la pile après un "pushd" ou "popd" -setopt pushd_silent -# "pushd" sans argument = "pushd $HOME" -setopt pushd_to_home - -setopt bg_nice # run background jobs at lower priority -# N'envoie pas de "HUP" aux jobs qui tourent quand le shell se ferme -unsetopt hup -setopt auto_resume # resume background task instead of starting new ones -setopt check_jobs # report status of bg-jobs if exiting a shell with job control enabled - -# Command history parameters #export HISTORY=1000 - HISTFILE=$HOME/.zshistory -HISTFILESIZE=65536 -HISTSIZE=4096 -SAVEHIST=$HISTSIZE -# shared history -setopt share_history hist_find_no_dups hist_ignore_all_dups hist_ignore_space - -# completions - -zstyle ':completion:*' use-compctl false -# autorise un caractère sur trois à être une erreur de typo -#zstyle -e ':completion:*:approximate:*' max-errors par 'reply=( $(( ($#PREFIX+$#SUFFIX)/3 )) numeric )' -zstyle ':completion:*:approximate:*' max-errors 'reply=( $(( ($#PREFIX+$#SUFFIX)/3 )) )' -# XXX more than '2' degrades performance regardless of "matcher-list" -#zstyle ':completion:*:approximate:*' max-errors 2 -zstyle ':completion:*:approximate*:*' insert-unambiguous true -zstyle ':completion:*:approximate*:*' original false - -# formatage et décoration -zstyle ':completion::complete:*' use-cache 1 -zstyle ':completion:*' verbose yes -zstyle ':completion:*:descriptions' format '%B%d%b' -zstyle ':completion:*:messages' format '%d' -zstyle ':completion:*:warnings' format 'No matches for: %d' -zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b' -# les extensions de fichier à ne pas proposer (sauf pour rm) -zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns par '*?.o' '*?.c~' '*?.old' '*?.pro' -zstyle ':completion:*' format '-=> %d' -zstyle ':completion:*' auto-description 'specify: %d' -zstyle ':completion:*' completer _complete _correct _approximate -# insère toutes les possibilités pour le completer expand -zstyle ':completion:*:expand:*' tag-order all-expansions -zstyle ':completion:*' group-name '' -zstyle ':completion:*' insert-unambiguous true -case $(uname) in - Linux) - eval "`dircolors -b`" - zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} - ;; - *BSD) - # Use FreeBSD default colors... - zstyle ':completion:*' list-colors 'di=34:ln=35:ex=31:cd=36;43:so=32' - ;; -esac -zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=** r:|=**' -zstyle ':completion:*' max-errors 1 -zstyle ':completion:*' menu select=5 -zstyle ':completion:*' original true -zstyle ':completion:*' squeeze-slashes true -zstyle -e ':completion:*:(ssh|sssh|scp|sshfs|ping|telnet|ftp|rsync):*' hosts 'reply=(${=${${(M)${(f)"$(<~/.ssh/config)"}:#Host*}#Host }:#*\**})' -zstyle ':completion:*:processes' list-colors '=(#b)(?????)(#B)?????????????????????????????????([^ ]#/)#(#b)([^ /]#)*=00=01;31=01;33' - -setopt LIST_TYPES - -# e.g., zmv *.JPEG *.jpg -autoload -U zmv -alias zmv='noglob zmv' - -# name directories -hash -d repos=~/repos -hash -d Desktop=~/Desktop -hash -d Downloads=~/Downloads -hash -d jddl=~/Downloads/misc/downloads -hash -d Documents=~/Documents -hash -d dev=~/dev - -[ -x /usr/games/fortune ] && /usr/games/fortune /usr/local/share/games/fortune/bofh -#[ -x /usr/bin/fortune ] && fortune bofh-excuses dune hitchhiker heretics-of-dune house-atreides house-harkonnen -[ -x /usr/bin/fortune ] && fortune -echo -[ -x /usr/games/fortune ] && /usr/games/fortune freebsd-tips - -function mainClasses { - if [ -d ./src ] ; then - find ./src/main -type f -iname "*.java" \ - | sed 's?.*src/main/[^/]*/\(.*\)\..*?-DmainClass=\1?' | sed 's+/+.+g' - fi -} - -function mainTests { - if [ -d ./src ] ; then - find ./src/test -type f -iname "*test*.java" \ - | sed 's?.*src/test/[^/]*/\(.*\)\..*?-Dtest=\1?' | sed 's+/+.+g' - fi -} - -function listMavenCompletions { - reply=(archetype:generate compile clean package install test - test-compile deploy release scala:run scala:cc - -Dmaven.test.skip=true - `mainClasses` - `mainTests` - -q -o - ); -} - -compctl -K listMavenCompletions mvn% - -# Completion options -[ -f /etc/zsh/git-flow-completion.zsh ] && source /etc/zsh/git-flow-completion.zsh -[ -f /usr/share/git-flow/git-flow-completion.zsh ] && source /usr/share/git-flow/git-flow-completion.zsh - -# Use promptline.vim -[ -f ~/.shell_prompt.sh ] && source ~/.shell_prompt.sh - -# EOF - -# vim:set ft=zsh ts=2 sw=2 et: - -[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh diff --git a/dircolors-solarized b/dircolors-solarized deleted file mode 160000 index 2720cb1f..00000000 --- a/dircolors-solarized +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2720cb1ff508bc358f9414f63370f0c6cd767b98 diff --git a/ergodox/keymap_baptiste.h b/ergodox/keymap_baptiste.h deleted file mode 100644 index 32273025..00000000 --- a/ergodox/keymap_baptiste.h +++ /dev/null @@ -1,595 +0,0 @@ -static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * Keymap: Default Layer in QWERTY - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ~ | 1 | 2 | 3 | 4 | 5 | \ | | - | 6 | 7 | 8 | 9 | 0 | = | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | ~L5 | | ~L6 | Y | U | I | O | P | [ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Tab/Shf| A | S | D | F | G |------| |------| H | J | K | L | ; | ' | - * |--------+------+------+------+------+------| L0 | | ~L7 |------+------+------+------+------+--------| - * | LCtrl | Z | X | C | V | B | | | | N | M | , | . | / | ] | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | ~L5 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L6 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | +L2 | Home | | PgUp | Del | - * ,------|------|------| |------+------+------. - * | | | End | | PgDn | | | - * | BkSp | ESC |------| |------| Enter| Space| - * | | | Spc | | Ins | | | - * `--------------------' `--------------------' - * - * - * - **************************************************************************************************** - * - * Under XOrg, I use my own mapping from QWERTY to "Workman for Programmers" - * See XOrg files in ./addons/ subdirectory. - * - * I have to do so, because of two things: - * 1) my native language is Russian, and XOrg keymap for it is based on QWERTY layout - * 2) I want to have non-standart shifted keys, like $ (as normal) and @ (as shifted), or _ and - - * - * And even if (2) could be solved using FN* keys (but there is limit in firmware for only 32 such - * keys), then (1) can't be solved at firmware level at all. - * - * So, I have to stick with QWERTY as my main layout + my own XOrg keyboard layout for English. - * But sometimes I have to input something when XOrg is not active - for example, in Linux console, - * or in firmware console (while debugging firmware), or when keyboard is connected to not my computer. - * - * For such cases I have Layer1 :) - * // hint: switch to Layer1 is only at Layer6 - * - **************************************************************************************************** - * - * - * - * Keymap: Default Layer in Workman - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ~ | ; | ! | # | { | } | ' | | ^ | [ | ] | * | ( | ) | = | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | D | R | W | B | NO | | ~L7 | J | F | U | P | $ | : | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Tab/Shf| A | S | H | T | G |------| |------| Y | N | E | O | I | - | - * |--------+------+------+------+------+------| Home | | End |------+------+------+------+------+--------| - * | LCtrl | Z | X | M | C | V | | | | K | L | , | . | / | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | ~L5 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L6 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | L0 | +L2 | | PgUp | Del | - * ,------|------|------| |------+------+------. - * | | | NO | | PgDn | | | - * | BkSp | ESC |------| |------| Enter| Space| - * | | | Spc | | Ins | | | - * `--------------------' `--------------------' - * - * Keymap: Default Layer in Workman / with Shift - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | " | | \ | 6 | 7 | 8 | 9 | 0 | + | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | D | R | W | B | NO | | ~L7 | J | F | U | P | @ | % | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Tab/Shf| A | S | H | T | G |------| |------| Y | N | E | O | I | _ | - * |--------+------+------+------+------+------| Home | | End |------+------+------+------+------+--------| - * | LCtrl | Z | X | M | C | V | | | | K | L | , | . | / | & | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | ~L5 | ~L2 | Caps | LAlt | LGui | | Lft | Up | Dn | Rght | ~L6 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | L0 | +L2 | | PgUp | Del | - * ,------|------|------| |------+------+------. - * | | | NO | | PgDn | | | - * | BkSp | ESC |------| |------| Enter| Space| - * | | | Spc | | Ins | | | - * `--------------------' `--------------------' - * - */ - - KEYMAP( // Layer0: default, leftled:none - // left hand - GRV, 1, 2, 3, 4, 5, BSLS, - FN2, Q, W, E, R, T, FN23, - FN11,FN28,FN29,FN30,FN31,G, - FN12,FN24,FN25,FN26,FN27,B, HOME, - FN21,FN20,CAPS,FN13,FN14, - FN17,FN19, - NO, - FN5, FN6, FN7, - // right hand - MINS,6, 7, 8, 9, 0, EQL, - FN23,Y, U, I, O, P, LBRC, - H, J, K, L, SCLN,FN15, - END, N, M, COMM,DOT, SLSH,FN16, - LEFT,UP, DOWN,RGHT,FN22, - PGUP,DEL, - PGDN, - FN8, FN9, FN10 - ), - - KEYMAP( // Layer1: Workman layout, leftled:all - // left hand - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,Q, D, R, W, B, TRNS, - TRNS,A, S, H, T, G, - TRNS,Z, X, M, C, V, TRNS, - TRNS,TRNS,FN17,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS, - // right hand - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,J, F, U, P, 4, TRNS, - Y, N, E, O, I, TRNS, - TRNS,K, L, TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS - ), - - KEYMAP( // Layer2: numpad, leftled:mid/blue - // left hand - TRNS,NO, NO, NO, NO, PAUS,PSCR, - TRNS,NO, NO, NO, NO, NO, TRNS, - TRNS,NO, NO, NO, TRNS,NO, - TRNS,NO, NO, NO, TRNS,NO, TRNS, - TRNS,TRNS,FN17,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS, - // right hand - SLCK,NLCK,PSLS,PAST,PAST,PMNS,BSPC, - TRNS,NO, P7, P8, P9, PMNS,PGUP, - NO, P4, P5, P6, PPLS,PGDN, - TRNS,NO, P1, P2, P3, PPLS,PENT, - P0, PDOT,SLSH,PENT,PENT, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS - ), - - KEYMAP( // Layer3: F-keys + PgUp/PgDn on right hand, leftled:bot/green - // left hand - TRNS,NO, NO, NO, NO, NO, NO, - TRNS,NO, NO, NO, NO, NO, TRNS, - TRNS,NO, TRNS,NO, NO, NO, - TRNS,NO, TRNS,NO, NO, NO, TRNS, - TRNS,TRNS,TRNS,LALT,LGUI, - TRNS,TRNS, - TRNS, - LCTL,LSFT,TRNS, - // right hand - NO, NO, NO, NO, NO, NO, TRNS, - TRNS,NO, F1, F2, F3, F4, PGUP, - NO, F5, F6, F7, F8, PGDN, - TRNS,NO, F9, F10, F11, F12, APP, - RGUI,RALT,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,RSFT,RCTL - ), - - KEYMAP( // Layer4: unconvenient keys on right hand, leftled:top/white - // left hand - TRNS,NO, NO, NO, NO, NO, NO, - TRNS,NO, NO, NO, NO, NO, TRNS, - TRNS,TRNS,NO, NO, NO, NO, - TRNS,TRNS,NO, NO, NO, NO, TRNS, - TRNS,TRNS,TRNS,LALT,LGUI, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS, - - /* in Workman right hand will be: - { } ( ) + - ^ ! ? = - ' ! $ " ; \ - # [ < > ] \ - */ - - // right hand - NO, NO, 4, 5, 9, 0, PPLS, - TRNS,MINS,2, FN5, 9, 0, EQL, - BSLS,2, P, FN1, 1, FN2, - TRNS,3, 6, FN3, FN4, 7, FN2, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS - ), - - KEYMAP( // Layer5: F-keys instead of numbers, leftled:top/white - // left hand - TRNS,F1, F2, F3, F4, F5, F6, - TRNS,P1, P2, P3, P4, P5, TRNS, - TRNS,TRNS,TRNS,E, TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS, - // right hand - F7, F8, F9, F10, F11, F12, TRNS, - TRNS,P6, P7, P8, P9, P0, TRNS, - TRNS,U, TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS - ), - - KEYMAP( // Layer6: F-keys + utils(Teensy, Workman-layer switch), leftled:top/white+onboard - // left hand - FN0, F1, F2, F3, F4, F5, F6, - TRNS,P1, P2, P3, P4, P5, TRNS, - TRNS,TRNS,TRNS,E, TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - FN18,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS, - // right hand - F7, F8, F9, F10, F11, F12, FN0, - TRNS,P6, P7, P8, P9, P0, TRNS, - TRNS,U, TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS - ), - - // - // rarely used - // - - KEYMAP( // Layer7: F-keys only, leftled:top/white - // left hand - FN0, NO, NO, NO, NO, NO, NO, - FN1, F13, F14, F15, F16, NO, TRNS, - TRNS,F17, F18, F19, F20, NO, - TRNS,F21, F22, F23, F24, NO, TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS, - // right hand - NO, NO, NO, NO, NO, NO, TRNS, - TRNS,NO, F1, F2, F3, F4, TRNS, - NO, F5, F6, F7, F8, TRNS, - TRNS,NO, F9, F10, F11, F12, TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - SLEP,TRNS,TRNS - ), - - KEYMAP( // Layer8: mouse and navigation, leftled:mid/blue+bot/green - // left hand - TRNS,NO, NO, NO, NO, NO, NO, - TRNS,NO, NO, NO, ACL0,NO, TRNS, - TRNS,NO, NO, TRNS,ACL1,NO, - TRNS,NO, NO, TRNS,ACL2,NO, TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS, - - // right hand - F16, MPLY,MPRV,MNXT,VOLD,VOLU,MUTE, - F14, BTN2,WH_L,WH_U,WH_D,WH_R,PGUP, - BTN1,MS_L,MS_U,MS_D,MS_R,PGDN, - F15, BTN3,HOME,END, DEL, INS, NO, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS - ), - - KEYMAP( // Layer9: application-specific shortcuts (mostly browser), leftled:top/white+bot/green - // left hand - TRNS,NO, NO, NO, NO, NO, NO, - TRNS,NO, NO, NO, NO, NO, TRNS, - TRNS,NO, NO, NO, NO, NO, - TRNS,NO, NO, NO, TRNS,NO, TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS, - // right hand - NO, NO, NO, NO, NO, NO, TRNS, - TRNS,NO, FN12,FN13,FN14,FN15,FN10, - FN1, FN2, FN3, FN4, FN5, FN11, - TRNS,TRNS,FN6, FN7, FN8, FN9, FN0, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS - ), - -/* - // templates to copy from - - KEYMAP( // LayerN: transparent on edges + hard-defined thumb keys, all others are empty - // left hand - TRNS,NO, NO, NO, NO, NO, NO, - TRNS,NO, NO, NO, NO, NO, TRNS, - TRNS,NO, NO, NO, NO, NO, - TRNS,NO, NO, NO, NO, NO, TRNS, - TRNS,TRNS,TRNS,LALT,LGUI, - TRNS,TRNS, - TRNS, - LCTL,LSFT,TRNS, - // right hand - NO, NO, NO, NO, NO, NO, TRNS, - TRNS,NO, NO, NO, NO, NO, TRNS, - NO, NO, NO, NO, NO, TRNS, - TRNS,NO, NO, NO, NO, NO, TRNS, - RGUI,RALT,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,RSFT,RCTL - ), - KEYMAP( // LayerN: fully transparent - // left hand - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS, - // right hand - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS, - TRNS, - TRNS,TRNS,TRNS - ), -*/ - -}; - -/* id for user defined functions & macros */ -enum function_id { - TEENSY_KEY, - CUSTOM_KEY, - L_CTRL_ALT_ENT, - R_CTRL_ALT_ENT, -}; - -enum macro_id { - XMONAD_RESET, - PASSWORD1, - PASSWORD2, - PASSWORD3, -}; - -/* - * Fn action definition - */ -static const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(TEENSY_KEY), // FN0 - Teensy key - - [1] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // FN1 = Shifted BackSlash // " in Workman - [2] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // FN2 = Shifted Minus // \ in Workman - [3] = ACTION_MODS_KEY(MOD_LSFT, KC_COMM), // FN3 = Shifted comma // < in Workman - [4] = ACTION_MODS_KEY(MOD_LSFT, KC_DOT), // FN4 = Shifted dot // > in Workman - - [5] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_BSPC), // FN5 = LShift with tap BackSpace - [6] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_DEL), // FN6 = LCtrl with tap Delete - [7] = ACTION_MODS_TAP_KEY(MOD_LALT, KC_ESC), // FN7 = LAlt with tap Escape - [8] = ACTION_MODS_TAP_KEY(MOD_RGUI, KC_INS), // FN8 = RGui with tap Ins - [9] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), // FN9 = RShift with tap Enter - [10] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_SPC), // FN10 = RCtrl with tap Space - - [11] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_TAB), // FN11 = LShift with tap Tab - [12] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_GRV), // FN12 = LCtrl with tap Tilda - [13] = ACTION_MODS_TAP_KEY(MOD_LALT, KC_SPC), // FN13 = LAlt with tap Space - [14] = ACTION_MODS_TAP_KEY(MOD_LGUI, KC_ESC), // FN14 = LGui with tap Escape - [15] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_QUOT), // FN15 = RShift with tap quotes - [16] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_RBRC), // FN16 = RCtrl with tap ] - - [17] = ACTION_LAYER_SET(0, ON_BOTH), // FN17 - set Layer0 - [18] = ACTION_LAYER_SET(1, ON_BOTH), // FN18 - set Layer1, to use Workman layout at firmware level - [19] = ACTION_LAYER_SET(2, ON_BOTH), // FN19 - set Layer2, to use with Numpad keys - - [21] = ACTION_FUNCTION_TAP(L_CTRL_ALT_ENT), // FN21 - momentary Layer5+CTRL+ALT on Enter, to use with F* keys on top row - [22] = ACTION_FUNCTION_TAP(R_CTRL_ALT_ENT), // FN22 - momentary Layer6+CTRL+ALT on Enter, to use with F* keys on top row + utils - - [28] = ACTION_LAYER_TAP_KEY(4, KC_A), // FN28 = momentary Layer4 on A key, to use with unconvenient keys - [29] = ACTION_LAYER_TAP_KEY(3, KC_S), // FN29 = momentary Layer3 on S key, to use with F* keys - [30] = ACTION_LAYER_TAP_KEY(8, KC_D), // FN30 = momentary Layer8 on D key, to use with mouse and navigation keys - [31] = ACTION_LAYER_TAP_KEY(2, KC_F), // FN31 = momentary Layer2 on F key, to use with Numpad keys - - // i'd like to remove this - will try to get used to live without this and convert them to usual keys - [20] = ACTION_LAYER_MOMENTARY(2), // FN20 - momentary Layer2, to use with Numpad keys -// or -// [20] = ACTION_FUNCTION_TAP(CUSTOM_KEY), // FN20 - use custom key, with tapping support - - [23] = ACTION_LAYER_TAP_KEY(7, KC_BSLS), // FN23 - momentary Layer7 on ' , to use with F* keys (F1-F24) - - [24] = ACTION_LAYER_TAP_KEY(4, KC_Z), // FN24 = momentary Layer4 on Z key, to use with unconvenient keys - [25] = ACTION_LAYER_TAP_KEY(3, KC_X), // FN25 = momentary Layer3 on X key, to use with F* keys - [26] = ACTION_LAYER_TAP_KEY(8, KC_C), // FN26 = momentary Layer8 on C key, to use with mouse and navigation keys - [27] = ACTION_LAYER_TAP_KEY(9, KC_V), // FN27 = momentary Layer9 on V key, to use with application-specific shortcuts -}; - -static const uint16_t PROGMEM fn_actions_4[] = { - [1] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // FN1 = Shifted BackSlash // " in Workman - [2] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // FN2 = Shifted Minus // \ in Workman - [3] = ACTION_MODS_KEY(MOD_LSFT, KC_COMM), // FN3 = Shifted comma // < in Workman - [4] = ACTION_MODS_KEY(MOD_LSFT, KC_DOT), // FN4 = Shifted dot // > in Workman - [5] = ACTION_MODS_KEY(MOD_LSFT, KC_SLSH), // FN5 = Shifted slash // ? in Workman -}; - -static const uint16_t PROGMEM fn_actions_7[] = { - [0] = ACTION_MACRO(XMONAD_RESET), // FN0 = xmonad-reanimator - [1] = ACTION_MACRO(PASSWORD1), // FN1 = default password - [2] = ACTION_MACRO(PASSWORD1), // FN2 = other password - [3] = ACTION_MACRO(PASSWORD1), // FN3 = mega password -}; - -static const uint16_t PROGMEM fn_actions_9[] = { - [0] = ACTION_MODS_KEY(MOD_LCTL, KC_P0), // FN0 = Ctrl+0 - [1] = ACTION_MODS_KEY(MOD_LALT, KC_P1), // FN1 = Alt+1 - [2] = ACTION_MODS_KEY(MOD_LALT, KC_P2), // FN2 = Alt+2 - [3] = ACTION_MODS_KEY(MOD_LALT, KC_P3), // FN3 = Alt+3 - [4] = ACTION_MODS_KEY(MOD_LALT, KC_P4), // FN4 = Alt+4 - [5] = ACTION_MODS_KEY(MOD_LALT, KC_P5), // FN5 = Alt+5 - [6] = ACTION_MODS_KEY(MOD_LALT, KC_P6), // FN6 = Alt+6 - [7] = ACTION_MODS_KEY(MOD_LALT, KC_P7), // FN7 = Alt+7 - [8] = ACTION_MODS_KEY(MOD_LALT, KC_P8), // FN8 = Alt+8 - [9] = ACTION_MODS_KEY(MOD_LALT, KC_P9), // FN9 = Alt+9 - [10] = ACTION_MODS_KEY(MOD_LCTL|MOD_LSFT, KC_TAB), // FN10 = Ctrl+Shift+Tab - [11] = ACTION_MODS_KEY(MOD_LCTL, KC_TAB), // FN11 = Ctrl+Tab - [12] = ACTION_MODS_KEY(MOD_LCTL|MOD_LSFT, KC_PGUP), // FN12 = Ctrl+Shift+PgUp - [13] = ACTION_MODS_KEY(MOD_LCTL|MOD_LSFT, KC_PGDN), // FN13 = Ctrl+Shift+PgDn - [14] = ACTION_MODS_KEY(MOD_LCTL, KC_PMNS), // FN14 = Ctrl+Pad Minus - [15] = ACTION_MODS_KEY(MOD_LCTL, KC_PPLS), // FN15 = Ctrl+Pad Plus -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - // print("action_function called\n"); - // print("id = "); phex(id); print("\n"); - // print("opt = "); phex(opt); print("\n"); - - if (id == TEENSY_KEY) { - clear_keyboard(); - print("\n\nJump to bootloader... "); - _delay_ms(50); - bootloader_jump(); // should not return - print("not supported.\n"); - } - - if (id == L_CTRL_ALT_ENT || id == R_CTRL_ALT_ENT) { - if (record->tap.count == 0 || record->tap.interrupted) { - uint8_t weak_mods; - uint8_t layer; - - if (id == L_CTRL_ALT_ENT) { - weak_mods = MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT); - layer = 5; - } else { - weak_mods = MOD_BIT(KC_RCTL) | MOD_BIT(KC_RALT); - layer = 6; - } - - if (record->event.pressed) { - layer_on(layer); - add_weak_mods(weak_mods); - } else { - del_weak_mods(weak_mods); - layer_off(layer); - } - } else { - if (record->event.pressed) { - add_key(KC_ENT); - send_keyboard_report(); - } else { - del_key(KC_ENT); - send_keyboard_report(); - } - } - } - - -/* - * just an example of custom key implementation - * not really needed with custom keymap_fn_to_action(), - * because it will allow you to have 32 FN** keys on EACH layer - */ - -/* - keyevent_t event = record->event; - - if (id == CUSTOM_KEY) { - uint8_t layer = biton32(layer_state); - uint8_t col = event.key.col; - uint8_t row = event.key.row; - uint8_t handled = 0; - - if (event.pressed) { - if (layer == XXX && col == XXX && row == XXX) { - action_macro_play( - MACRO( - ........... - END) - ); - handled++; - } - } - } - - if (!handled) { - print("custom key not handled"); - print(": layer "); pdec(layer); - print(", col "); pdec(col); - print(", row "); pdec(row); - print("\n"); - } - } -*/ - -} - -#include "keymap_passwords.h" -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - if (record->event.pressed) { - switch (id) { - case XMONAD_RESET: return MACRO_XMONAD_RESET; - case PASSWORD1: return MACRO_PASSWORD1; - } - } - return MACRO_NONE; -} - -#define FN_ACTIONS_SIZE (sizeof(fn_actions) / sizeof(fn_actions[0])) -#define FN_ACTIONS_4_SIZE (sizeof(fn_actions_4) / sizeof(fn_actions_4[0])) -#define FN_ACTIONS_7_SIZE (sizeof(fn_actions_7) / sizeof(fn_actions_7[0])) -#define FN_ACTIONS_9_SIZE (sizeof(fn_actions_9) / sizeof(fn_actions_9[0])) - -/* - * translates Fn keycode to action - * for some layers, use different translation table - */ -action_t keymap_fn_to_action(uint8_t keycode) -{ - uint8_t layer = biton32(layer_state); - - action_t action; - action.code = ACTION_NO; - - if (layer == 4 && FN_INDEX(keycode) < FN_ACTIONS_4_SIZE) { - action.code = pgm_read_word(&fn_actions_4[FN_INDEX(keycode)]); - } - - if (layer == 7 && FN_INDEX(keycode) < FN_ACTIONS_7_SIZE) { - action.code = pgm_read_word(&fn_actions_7[FN_INDEX(keycode)]); - } - - if (layer == 9 && FN_INDEX(keycode) < FN_ACTIONS_9_SIZE) { - action.code = pgm_read_word(&fn_actions_9[FN_INDEX(keycode)]); - } - - // by default, use fn_actions from default layer 0 - // this is needed to get mapping for same key, that was used switch to some layer, - // to have possibility to switch layers back - if (action.code == ACTION_NO && FN_INDEX(keycode) < FN_ACTIONS_SIZE) { - action.code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]); - } - - return action; -} - diff --git a/fish/config.fish b/fish/config.fish deleted file mode 100644 index 8c65a7e9..00000000 --- a/fish/config.fish +++ /dev/null @@ -1,8 +0,0 @@ -# set -x LC_ALL en_US.UTF-8 -set -x LANG en_US.UTF-8 -set -x EDITOR nvim -set -x VISUAL nvim - -# Vim -alias vi="nvim" -alias vim="nvim" diff --git a/gitconfig b/gitconfig deleted file mode 100644 index 464862a9..00000000 --- a/gitconfig +++ /dev/null @@ -1,140 +0,0 @@ -# Cleanign git branches -# https://devconnected.com/how-to-clean-up-git-branches/ -[color] - ui = true - interactive = auto - editor = vim - pager = true - -[color "branch"] - current = yellow reverse - local = yellow - remote = green - -[color "diff"] - meta = yellow bold - frag = magenta bold - old = red bold - new = green bold - whitespace = red reverse - -[color "status"] - added = yellow - changed = green - untracked = cyan - -[core] - pager = diff-so-fancy - whitespace=fix,-indent-with-non-tab,trailing-space,cr-at-eol,space-before-tab - autocrlf = input - eol = lf - excludesfile = ~/.gitignore - -[mergetool "fugitive"] - cmd = vim -f -c \"Gdiff\" \"$MERGED\" - -[merge] - tool = fugitive - #tool = diffuse - #tool = vimdiff - #tool = meld - -#[sendemail] -# smtpserver = mail.jukie.net - -[alias] - add-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; git add `f`" - amend = commit --amend -C HEAD - br = branch - cat = -p cat-file -p - cds = !git ds --cached - checkoutnext = !git checkout `git findnext` - ci = commit --verbose - co = checkout - #cvscommit = !git --git-dir=`cat CVS/GitDir` cvsexportcommit -c -p -v - debug = !GIT_PAGER= gdb --args git - df = diff - d = diff - #dirstatus = !ls -d1 */.git | xargs -n1 -i{} sh -c \"cd {}/.. && echo Checking {} && git ls-files --exclude-standard -tousmd\" - ds = diff --stat - edit-last-commit = !vim `git diff-tree -r --name-only HEAD HEAD~1` - edit-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; vim `f`" - file-blame = !git ls-files | xargs -n1 -i{} git log -1 --pretty=format:\"%ci {}\" -- {} - findnext = rev-list --reverse -n1 HEAD..master - fp = format-patch - l = log -n 1 -p - last = cat-file commit HEAD - lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative - lgn = "!f() { git log --graph --pretty=format:'%Cred%H%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --date=relative $@ | git name-rev --stdin --name-only ; } ; f" - log1 = log --pretty=oneline --abbrev-commit --decorate - lol = log --graph --decorate --pretty=oneline --abbrev-commit - lola = log --graph --decorate --pretty=oneline --abbrev-commit --all - ls = ls-files - me = merge --no-ff --no-commit - nvgc = !ionice -n7 nice -n20 git vgc - push-head = !git push origin `git symbolic-ref HEAD` - pushall = !git remote | xargs -n1 git push - pushalltags = !git remote | xargs -n1 git push --tags - s = "!git diff --name-status | sed -e 's/^/W /' ; git diff --cached --name-status | sed -e 's/^/C /'" - st = status -sb - #st = "!f() { git ls-files --exclude-standard -t -u -s -m -d $@ | sed -e 's/C.*\t/C /' ; } ; f" - #sto = st -o - # example: git subdo pull - subdo = submodule foreach git - svnup = !git config --get-regexp 'svn-remote.*url' | cut -d . -f 2 | xargs -n1 git svn fetch - #test = !sh -c 'echo cmd=$1 arg1=$2 arg2=$3' - top = !eval cd "$(pwd)/$(git rev-parse --show-cdup)" && pwd - up = !git remote update ; git gc - vgc = repack -f -a -d --depth=250 --window=250 - dsf = "!f() { [ -z \"$GIT_PREFIX\" ] || cd \"$GIT_PREFIX\" && git diff --color \"$@\" | diff-so-fancy; }; f" - -[branch "master"] - mergeoptions = --no-commit - -[push] - default = current - -[pack] - threads = 4 - -[gc] - reflogexpire = 300 - reflogexpireunreachab - -[giggle] - compact-mode = false - main-window-maximized = true - main-window-geometry = 498x283+0+56 - -[help] - format = man - autocorrect = -1 - -[branch] - autosetuprebase = always - -[hub] - protocol = ssh - -[commit] - gpgsign = false - -[fetch] - # Clean up remote-tracking branches while fetching - prune = true - -[gpg] - program = gpg - -[filter "lfs"] - smudge = git-lfs smudge -- %f - process = git-lfs filter-process - required = true - clean = git-lfs clean -- %f - -[include] - # Include user-specific configuration - path = .gitconfig.user - -[init] - defaultBranch = main diff --git a/gitignore b/gitignore deleted file mode 100644 index dd678343..00000000 --- a/gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# User-wide gitignore -.DS_Store diff --git a/goobookrc b/goobookrc deleted file mode 100644 index 04444869..00000000 --- a/goobookrc +++ /dev/null @@ -1,20 +0,0 @@ -# "#" or ";" at the start of a line makes it a comment. -[DEFAULT] -# The following are optional, defaults are shown - -# This file is written by the oauth library, and should be kept secure, -# it's like a password to your google contacts. -oauth_db_filename: ~/.goobook_auth.json - -# The client secret file is not really secret. -;client_secret_filename: ~/.goobook_client_secret.json - -;cache_filename: ~/.goobook_cache -;cache_expiry_hours: 24 -;filter_groupless_contacts: yes - -# New contacts will be added to this group in addition to "My Contacts" -# Note that the group has to already exist on google or an error will occur. -# One use for this is to add new contacts to an "Unsorted" group, which can -# be sorted easier than all of "My Contacts". -;default_group: diff --git a/inputrc b/inputrc deleted file mode 100644 index e637fb53..00000000 --- a/inputrc +++ /dev/null @@ -1,126 +0,0 @@ -# Configuration file for readline -# Used by bash and various other applications to manage interactive commands -# Not used by zsh that is using ZLE - -# Nice/clean dotfile: https://github.com/paulirish/dotfiles/blob/master/.inputrc - -# FIXME breaks ctrl-a and ctrl-e: Use A and I -# http://www.catonmat.net/blog/bash-vi-editing-mode-cheat-sheet/ -set editing-mode vi -set keymap vi - -$if mode=vi - set keymap vi-command - "gg": beginning-of-history - "G": end-of-history - set keymap vi-insert - set keymap vi-insert - # notice how the "jj" movement is - # after 'set keymap vi-insert'? - "jj": vi-movement-mode - "\C-w": backward-kill-word - "\C-p": history-search-backward - - # Line movements - # FIXME does not work - "\C-a": beginning-of-line - "\C-e": end-of-line - "\C-A": beginning-of-line - "\C-E": end-of-line - Control-A: beginning-of-line - Control-E: end-of-line -$endif - -$if Psql - "S ": "select " - "L ": "like " - "II ": "insert into " - "U ": "update " - "V ": "view " - "(V ": "values (( " - "C ": "create " - "DR ": "drop " - "DI ": "distinct " - "F ": "from " - "W ": "where " -$endif - -set bell-style visible -set expand-tilde on -set convert-meta on -set input-meta on -set output-meta on -set show-all-if-ambiguous on -set visible-stats on -set completion-ignore-case on - -# Arrow keys in keypad mode -#"\C-[OD" backward-char -#"\C-[OC" forward-char -#"\C-[OA" previous-history -#"\C-[OB" next-history - -# Arrow keys in ANSI mode -#"\C-[[D" backward-char -#"\C-[[C" forward-char -#"\C-[[A" previous-history -#"\C-[[B" next-history - -# Arrow keys in 8 bit keypad mode -#"\C-M-OD" backward-char -#"\C-M-OC" forward-char -#"\C-M-OA" previous-history -#"\C-M-OB" next-history - -# Arrow keys in 8 bit ANSI mode -#"\C-M-[D" backward-char -#"\C-M-[C" forward-char -#"\C-M-[A" previous-history -#"\C-M-[B" next-history -#"\e[1;5C" forward-word -#"\e[1;5D" backward-word -#"\e[1~" beginning-of-line -#"\e[4~" end-of-line -#"\e[5~" beginning-of-history -#"\e[6~" end-of-history -#"\e[3~" delete-char -#"\e[2~" quoted-insert -#"\e[5C" forward-word -#"\e[5D" backward-word -#"\e\e[C" forward-word -#"\e\e[D" backward-word - -# By default up/down are bound to previous-history -# and next-history respectively. The following does the -# same but gives the extra functionality where if you -# type any text (or more accurately, if there is any text -# between the start of the line and the cursor), -# the subset of the history starting with that text -# is searched (like 4dos for e.g.). -# Note to get rid of a line just Ctrl-C -"\e[B": history-search-forward -"\e[A": history-search-backward - -# ^l clear screen -#bind -m vi-insert "\C-l":clear-screen - -# ^p check for partial match in history -#bind -m vi-insert "\C-p":dynamic-complete-history - -# ^n cycle through the list of partial matches -#bind -m vi-insert "\C-n":menu-complete - -# To allow to remap ctrl-w -# set bind-tty-special-chars Off -# For bash, add in bashrc: -# bind '\C-w:backward-kill-word' - -# Line movements -Control-A: beginning-of-line -Control-E: end-of-line - -# Use ctrl+w to delete last word -Control-W: backward-kill-word - -# Use Alt-D to delete next word -"\e[3;5~": kill-word diff --git a/install b/install deleted file mode 100755 index b1baa337..00000000 --- a/install +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -set -e - -CONFIG="install.conf.yaml" -DOTBOT_DIR="dotbot" - -DOTBOT_BIN="bin/dotbot" -BASEDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -cd "${BASEDIR}" -git submodule update --init --recursive "${DOTBOT_DIR}" - -"${BASEDIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASEDIR}" -c "${CONFIG}" "${@}" diff --git a/install.conf.yaml b/install.conf.yaml deleted file mode 100644 index 8c8aa0e3..00000000 --- a/install.conf.yaml +++ /dev/null @@ -1,161 +0,0 @@ -- defaults: - link: - relink: true - create: true - -- clean: ['~'] - -# XXX if repo checkout is not in ~/.dotfiles -# ~/.dotfiles: '' -- link: - ~/.Xresources: Xresources - ~/.asdfrc: asdfrc - ~/.config/afew: config/afew - ~/.config/compton.conf: config/compton.conf - ~/.config/i3/config: config/i3/config - ~/.config/i3/kinesis_custom.xkb: config/i3/kinesis_custom.xkb - ~/.config/plasma-workspace/env/path.sh: config/plasma-workspace/env/path.sh - ~/.config/mpd/mpd.conf: config/mpd/mpd.conf - ~/.config/neomutt: config/neomutt - ~/.config/pacaur/config: config/pacaur/config - ~/.config/polybar/config: config/polybar/config - ~/.config/systemd/user/asanawarrior.service: config/systemd/user/asanawarrior.service - ~/.config/systemd/user/grive.service: config/systemd/user/grive.service - ~/.config/systemd/user/grive.timer: config/systemd/user/grive.timer - ~/.config/systemd/user/mbsync.service: config/systemd/user/mbsync.service - ~/.config/systemd/user/mbsync.timer: config/systemd/user/mbsync.timer - ~/.config/systemd/user/resume.service: config/systemd/user/resume.service - ~/.config/systemd/user/suspend.service: config/systemd/user/suspend.service - ~/.config/termite/config: config/termite/config - ~/.dir_colors: dircolors-solarized/dircolors.ansi-universal - ~/.gitconfig: gitconfig - ~/.goobookrc: goobookrc - ~/.inputrc: inputrc - ~/.mailcap: mailcap - ~/.msmtprc: msmtprc - ~/.notmuch-config: notmuch-config - ~/.pam_environment: pam_environment - ~/.surfingkeys.js: surfingkeys.js - ~/.tmux.conf: tmux.conf - ~/.config/nvim: config/nvim - ~/.config/coc/ultisnips: config/coc/ultisnips - ~/.vim: config/nvim - ~/.vimrc: config/nvim/init.vim - ~/.xinitrc: xinitrc - ~/.mbsyncrc: mbsyncrc - ~/.taskrc: taskrc - ~/.yaourtrc: yaourtrc - ~/.zlogin: zsh/zlogin - ~/.zlogout: zsh/zlogout - ~/.zprofile: zsh/zprofile - ~/.zshenv: zsh/zshenv - ~/.zshrc: zsh/zshrc - ~/Mail/.notmuch/hooks: notmuch/hooks - ~/bin/add_contact: bin/add_contact - ~/bin/add_event: bin/add_event - ~/bin/createsign: bin/createsign - ~/bin/launch_bar: bin/launch_bar - ~/bin/gnomekeyring-helpers.py: bin/gnomekeyring-helpers.py - ~/bin/dual-screen: bin/dual-screen - ~/bin/setup_kinesis_keyboard: bin/setup_kinesis_keyboard - ~/.Xmodmap-kinesis: Xmodmap-kinesis - ~/.ncmpcpp/config: ncmpcpp/config - ~/.ncmpcpp/bindings: ncmpcpp/bindings - -# XXX Should be done before trying to link dir_colors -- shell: - - [git submodule update --init --recursive, Installing submodules] - -# Package to install -# - Archlinux -# - /etc/pacman.conf: uncomment Color line -# - /etc/makepkg.conf: uncomment/configure MAKEFLAGS -j8 -# - base base-devel -# - bash-completion -# - grub-efi-x86_64 efibootmgr -# - dialog -# - wpa_supplicant -# - btrfs-progs -# - git -# - cower: git cone https://aur.archlinux.org/cower.git (makepkg -is) -# - pacaur: git clone https://aur.archlinux.org/pacaur.git (makepkg -is) -# - zsh vim neovim pyton-neovim python2-neovim tree ccze -# - openssh -# - termite -# - skypeforlinux-bin -# - rambox -# - powerline-fonts awesome-terminal-fonts powerline -# - ttf-fantasque-sans-mono siji-git nerd-fonts-complete ttf-hack -# - insync insync-nautilus owncloud-client -# - syncthing-gtk -# - urbackup2-client -# - vmware-workstation -# - grive -# - texlive-most -# - telepathy -# - libreoffice-fresh -# - neomutt notmuch afew isync msmtp goobook-git -# - fortune-mod fortune-mod-bofh-excuses fortune-tontons-flingueurs-fr fortune-mod-vimtips -# - ranger highlight atool w3m transmission-cli mediainfo perl-image-exiftool cpio lha p7zip unace unrar -# - mpd mpc ncmpcpp mpdscribble -# - keepassxc -# - htop lsof strace pydf -# - lxrandr lxappearance -# - i3-gaps-next-git i3lock-fancy-git polybar rofi compton xinit-xsession -# - scrot redshift udiskie pasystray paman pavumeter unclutter numlockx xinit -# - i3blocks i3lock i3status acpi playerctl sysstat xss-lock -# - networkmanager-openvpn network-manager-applet -# - lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings -# - the_silver_searcher -# - docker -# - rsync -# - task asanawarrior-git -# - pkgfile -# - alsa-utils pavucontrol paprefs alsa-tools -# - cups cups-pdf -# - foomatic-db foomatic-db-engine foomatic-db-ppds foomatic-db-gutenprint-ppds foomatic-db-nonfree foomatic-db-nonfree-ppds gutenprint -# - chrome-gnome-shell-git gnome-tweak-tool -# - lshw dmidecode mesa-demos -# - nvidia libxnvctrl nvidia-settings nvidia-utils opencl-nvidia -# - intel-ucode -# - lib32-nvidia-utils lib32-libvdpau lib32-opencl-nvidia lib32-virtualgl -# - python2-gnomekeyring -# - arch-wiki-man arch-wiki-docs arch-wiki-lite -# - mpv youtube-dl -# - rpmextract -# - crashplan-pro -# - icedtea-web jre8-openjdk jre8-openjdk-headless -# - steam steam-native-runtime steam-fonts lib32-libpulse lib32-libsamplerate lib32-speex -# # KDE Plasma -# - plasma-meta kde-applications-meta packagekit-qt5 kdepim-addons kdemultimedia telepathy-kde sddm -# - Systemd -# - systemctl --user daemon-reload -# - systemctl --user enable --now asanawarrior.service -# - systemctl --user enable --now mbsync.timer -# - systemctl --user enable --now mpd.service -# - systemctl --user enable --now mpdscribble.service -# - systemctl --user enable --now syncthing.service -# - systemctl enable --now cups-browsed.service -# - systemctl enable --now lightdm.service -# - systemctl enable --now docker.service -# - CentOS 7: epel: yum -y install epel-release -# - CentOS 7: http://copr.fedoraproject.org/coprs/dperson/neovim/ -# - CentOS 7: http://ghettoforge.org/index.php/Main_Page (be cautious) -# - gf-plus: updated tmux -# http://ghettoforge.org/index.php/Usage#List_of_Available_Repositories_.26_Suggested_Usage -# - vim-enhanced/neovim -# - zsh -# - tree -# - tmux -# - gcalcli -# - aur/python-vobject / aur/python2-vobject for Vcard management -# - community/python2-parsedatetime for date parsing -# Security tests -# - rights on ~/.goobook_auth.json (600) -# - rights on ~/.ssh/id_rsa (600 or 400) -# Enable mbsync timer if needed -# Yaourt replacment -# yaourt -S pacaur bauerbill python3-aur reflector aria2 -# git clone https://github.com/asdf-vm/asdf.git ~/.asdf -# asdf plugin-add nodejs git@github.com:asdf-vm/asdf-nodejs.git -# npm -g install instant-markdown-d diff --git a/iterm/Bliss.itermcolors b/iterm/Bliss.itermcolors deleted file mode 100644 index 2246b0d1..00000000 --- a/iterm/Bliss.itermcolors +++ /dev/null @@ -1,344 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Ansi 0 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.0</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.0</real> - <key>Red Component</key> - <real>0.0</real> - </dict> - <key>Ansi 1 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.55305403470993042</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.43609619140625</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Ansi 10 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.58612060546875</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>1</real> - <key>Red Component</key> - <real>0.60534435510635376</real> - </dict> - <key>Ansi 11 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.66274511814117432</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.99215686321258545</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Ansi 12 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>1</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.6520538330078125</real> - <key>Red Component</key> - <real>0.68321901559829712</real> - </dict> - <key>Ansi 13 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.89273875951766968</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.636077880859375</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Ansi 14 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.970703125</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.87444651126861572</real> - <key>Red Component</key> - <real>0.65084326267242432</real> - </dict> - <key>Ansi 15 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>1</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>1</real> - <key>Red Component</key> - <real>0.99999600648880005</real> - </dict> - <key>Ansi 2 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.5555419921875</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>1</real> - <key>Red Component</key> - <real>0.57650697231292725</real> - </dict> - <key>Ansi 3 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.609832763671875</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.99092632532119751</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Ansi 4 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>1</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.5980377197265625</real> - <key>Red Component</key> - <real>0.63416916131973267</real> - </dict> - <key>Ansi 5 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.87514764070510864</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.5853118896484375</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Ansi 6 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>1</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.87450981140136719</real> - <key>Red Component</key> - <real>0.58431375026702881</real> - </dict> - <key>Ansi 7 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.78104829788208008</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.78105825185775757</real> - <key>Red Component</key> - <real>0.7810397744178772</real> - </dict> - <key>Ansi 8 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.4078223705291748</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.40782788395881653</real> - <key>Red Component</key> - <real>0.40781760215759277</real> - </dict> - <key>Ansi 9 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.58305108547210693</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.47332763671875</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Background Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.12156862765550613</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.094117648899555206</real> - <key>Red Component</key> - <real>0.086274512112140656</real> - </dict> - <key>Badge Color</key> - <dict> - <key>Alpha Component</key> - <real>0.5</real> - <key>Blue Component</key> - <real>0.0</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.1491314172744751</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Bold Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.92177379131317139</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.92178541421890259</real> - <key>Red Component</key> - <real>0.9217638373374939</real> - </dict> - <key>Cursor Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.78104829788208008</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.78105825185775757</real> - <key>Red Component</key> - <real>0.7810397744178772</real> - </dict> - <key>Cursor Guide Color</key> - <dict> - <key>Alpha Component</key> - <real>0.25</real> - <key>Blue Component</key> - <real>1</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.9268307089805603</real> - <key>Red Component</key> - <real>0.70213186740875244</real> - </dict> - <key>Cursor Text Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.1725006103515625</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.1725006103515625</real> - <key>Red Component</key> - <real>0.17249992489814758</real> - </dict> - <key>Foreground Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.92011111974716187</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.92012274265289307</real> - <key>Red Component</key> - <real>0.92010122537612915</real> - </dict> - <key>Link Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.73423302173614502</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.35916060209274292</real> - <key>Red Component</key> - <real>0.0</real> - </dict> - <key>Selected Text Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>1</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>1</real> - <key>Red Component</key> - <real>0.99999600648880005</real> - </dict> - <key>Selection Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.42833542823791504</real> - <key>Color Space</key> - <string>sRGB</string> - <key>Green Component</key> - <real>0.35205566883087158</real> - <key>Red Component</key> - <real>0.3362850546836853</real> - </dict> -</dict> -</plist> diff --git a/iterm/Dracula.itermcolors b/iterm/Dracula.itermcolors deleted file mode 100644 index 619da489..00000000 --- a/iterm/Dracula.itermcolors +++ /dev/null @@ -1,225 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- Dracula Theme v1.2.5 -# -# https://github.com/dracula/iterm -# -# Copyright 2013-present, All rights reserved -# -# Code licensed under the MIT license -# -# @author Zeno Rocha <hi@zenorocha.com> ---> - -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Ansi 0 Color</key> - <dict> - <key>Blue Component</key> - <real>0.0</real> - <key>Green Component</key> - <real>0.0</real> - <key>Red Component</key> - <real>0.0</real> - </dict> - <key>Ansi 1 Color</key> - <dict> - <key>Blue Component</key> - <real>0.3333333432674408</real> - <key>Green Component</key> - <real>0.3333333432674408</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Ansi 10 Color</key> - <dict> - <key>Blue Component</key> - <real>0.4823529411764706</real> - <key>Green Component</key> - <real>0.98039215686274506</real> - <key>Red Component</key> - <real>0.31372549019607843</real> - </dict> - <key>Ansi 11 Color</key> - <dict> - <key>Blue Component</key> - <real>0.5490196078431373</real> - <key>Green Component</key> - <real>0.98039215686274506</real> - <key>Red Component</key> - <real>0.94509803921568625</real> - </dict> - <key>Ansi 12 Color</key> - <dict> - <key>Blue Component</key> - <real>0.97647058823529409</real> - <key>Green Component</key> - <real>0.57647058823529407</real> - <key>Red Component</key> - <real>0.74117647058823533</real> - </dict> - <key>Ansi 13 Color</key> - <dict> - <key>Blue Component</key> - <real>0.77647058823529413</real> - <key>Green Component</key> - <real>0.47450980392156861</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Ansi 14 Color</key> - <dict> - <key>Blue Component</key> - <real>0.99215686274509807</real> - <key>Green Component</key> - <real>0.9137254901960784</real> - <key>Red Component</key> - <real>0.54509803921568623</real> - </dict> - <key>Ansi 15 Color</key> - <dict> - <key>Blue Component</key> - <real>1</real> - <key>Green Component</key> - <real>1</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Ansi 2 Color</key> - <dict> - <key>Blue Component</key> - <real>0.4823529411764706</real> - <key>Green Component</key> - <real>0.98039215686274506</real> - <key>Red Component</key> - <real>0.31372549019607843</real> - </dict> - <key>Ansi 3 Color</key> - <dict> - <key>Blue Component</key> - <real>0.5490196078431373</real> - <key>Green Component</key> - <real>0.98039215686274506</real> - <key>Red Component</key> - <real>0.94509803921568625</real> - </dict> - <key>Ansi 4 Color</key> - <dict> - <key>Blue Component</key> - <real>0.97647058823529409</real> - <key>Green Component</key> - <real>0.57647058823529407</real> - <key>Red Component</key> - <real>0.74117647058823533</real> - </dict> - <key>Ansi 5 Color</key> - <dict> - <key>Blue Component</key> - <real>0.77647058823529413</real> - <key>Green Component</key> - <real>0.47450980392156861</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Ansi 6 Color</key> - <dict> - <key>Blue Component</key> - <real>0.99215686274509807</real> - <key>Green Component</key> - <real>0.9137254901960784</real> - <key>Red Component</key> - <real>0.54509803921568623</real> - </dict> - <key>Ansi 7 Color</key> - <dict> - <key>Blue Component</key> - <real>0.73333334922790527</real> - <key>Green Component</key> - <real>0.73333334922790527</real> - <key>Red Component</key> - <real>0.73333334922790527</real> - </dict> - <key>Ansi 8 Color</key> - <dict> - <key>Blue Component</key> - <real>0.33333333333333331</real> - <key>Green Component</key> - <real>0.33333333333333331</real> - <key>Red Component</key> - <real>0.33333333333333331</real> - </dict> - <key>Ansi 9 Color</key> - <dict> - <key>Blue Component</key> - <real>0.33333333333333331</real> - <key>Green Component</key> - <real>0.33333333333333331</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Background Color</key> - <dict> - <key>Blue Component</key> - <real>0.15977837145328522</real> - <key>Green Component</key> - <real>0.12215272337198257</real> - <key>Red Component</key> - <real>0.11765811592340469</real> - </dict> - <key>Bold Color</key> - <dict> - <key>Blue Component</key> - <real>0.90237069129943848</real> - <key>Green Component</key> - <real>0.90237069129943848</real> - <key>Red Component</key> - <real>0.90237069129943848</real> - </dict> - <key>Cursor Color</key> - <dict> - <key>Blue Component</key> - <real>0.73333334922790527</real> - <key>Green Component</key> - <real>0.73333334922790527</real> - <key>Red Component</key> - <real>0.73333334922790527</real> - </dict> - <key>Cursor Text Color</key> - <dict> - <key>Blue Component</key> - <real>1</real> - <key>Green Component</key> - <real>1</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Foreground Color</key> - <dict> - <key>Blue Component</key> - <real>0.90032327175140381</real> - <key>Green Component</key> - <real>0.90032327175140381</real> - <key>Red Component</key> - <real>0.90032327175140381</real> - </dict> - <key>Selected Text Color</key> - <dict> - <key>Blue Component</key> - <real>1</real> - <key>Green Component</key> - <real>1</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Selection Color</key> - <dict> - <key>Blue Component</key> - <real>0.35294118523597717</real> - <key>Green Component</key> - <real>0.27843138575553894</real> - <key>Red Component</key> - <real>0.26666668057441711</real> - </dict> -</dict> -</plist> diff --git a/iterm/Nord.itermcolors b/iterm/Nord.itermcolors deleted file mode 100644 index ff85cb23..00000000 --- a/iterm/Nord.itermcolors +++ /dev/null @@ -1,357 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Ansi 0 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.25300124287605286</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.19692185521125793</real> - <key>Red Component</key> - <real>0.17621420323848724</real> - </dict> - <key>Ansi 1 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.34168937802314758</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.29435792565345764</real> - <key>Red Component</key> - <real>0.68855589628219604</real> - </dict> - <key>Ansi 10 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.47597441077232361</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.7002110481262207</real> - <key>Red Component</key> - <real>0.57605421543121338</real> - </dict> - <key>Ansi 11 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.47280269861221313</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.75577855110168457</real> - <key>Red Component</key> - <real>0.89902019500732422</real> - </dict> - <key>Ansi 12 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.70459425449371338</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.56080448627471924</real> - <key>Red Component</key> - <real>0.43401443958282471</real> - </dict> - <key>Ansi 13 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.61571133136749268</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.47487166523933411</real> - <key>Red Component</key> - <real>0.64283657073974609</real> - </dict> - <key>Ansi 14 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.67779052257537842</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.68614721298217773</real> - <key>Red Component</key> - <real>0.49344515800476074</real> - </dict> - <key>Ansi 15 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.94574689865112305</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.92092084884643555</real> - <key>Red Component</key> - <real>0.90727746486663818</real> - </dict> - <key>Ansi 2 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.47597441077232361</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.7002110481262207</real> - <key>Red Component</key> - <real>0.57605421543121338</real> - </dict> - <key>Ansi 3 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.47280269861221313</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.75577855110168457</real> - <key>Red Component</key> - <real>0.89902019500732422</real> - </dict> - <key>Ansi 4 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.70459425449371338</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.56080448627471924</real> - <key>Red Component</key> - <real>0.43401443958282471</real> - </dict> - <key>Ansi 5 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.61571133136749268</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.47487166523933411</real> - <key>Red Component</key> - <real>0.64283657073974609</real> - </dict> - <key>Ansi 6 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.77356863021850586</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.70216643810272217</real> - <key>Red Component</key> - <real>0.4660642147064209</real> - </dict> - <key>Ansi 7 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.92620980739593506</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.8916594386100769</real> - <key>Red Component</key> - <real>0.87367779016494751</real> - </dict> - <key>Ansi 8 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.34064260125160217</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.2652154266834259</real> - <key>Red Component</key> - <real>0.23306176066398621</real> - </dict> - <key>Ansi 9 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.34168937802314758</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.29435792565345764</real> - <key>Red Component</key> - <real>0.68855589628219604</real> - </dict> - <key>Background Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.19183900952339172</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.15255947411060333</real> - <key>Red Component</key> - <real>0.1357133686542511</real> - </dict> - <key>Badge Color</key> - <dict> - <key>Alpha Component</key> - <real>0.7057952880859375</real> - <key>Blue Component</key> - <real>0.29600727558135986</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.23046499490737915</real> - <key>Red Component</key> - <real>0.20252507925033569</real> - </dict> - <key>Bold Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.94574689865112305</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.92092084884643555</real> - <key>Red Component</key> - <real>0.90727746486663818</real> - </dict> - <key>Cursor Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.89225924015045166</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.83857882022857666</real> - <key>Red Component</key> - <real>0.81214714050292969</real> - </dict> - <key>Cursor Guide Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.25300124287605286</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.19692185521125793</real> - <key>Red Component</key> - <real>0.17621420323848724</real> - </dict> - <key>Cursor Text Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.25300124287605286</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.19692185521125793</real> - <key>Red Component</key> - <real>0.17621420323848724</real> - </dict> - <key>Foreground Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.89225912094116211</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.83857882022857666</real> - <key>Red Component</key> - <real>0.81214725971221924</real> - </dict> - <key>Link Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.92620980739593506</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.8916594386100769</real> - <key>Red Component</key> - <real>0.87367779016494751</real> - </dict> - <key>Selected Text Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.89225924015045166</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.83857882022857666</real> - <key>Red Component</key> - <real>0.81214714050292969</real> - </dict> - <key>Selection Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.34064260125160217</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.2652154266834259</real> - <key>Red Component</key> - <real>0.23306176066398621</real> - </dict> - <key>Tab Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.25300124287605286</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.19692185521125793</real> - <key>Red Component</key> - <real>0.17621420323848724</real> - </dict> -</dict> -</plist> diff --git a/iterm/gruvbox-dark.itermcolors b/iterm/gruvbox-dark.itermcolors deleted file mode 100644 index 4f24ee46..00000000 --- a/iterm/gruvbox-dark.itermcolors +++ /dev/null @@ -1,344 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Ansi 0 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.11759774386882782</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.11759573966264725</real> - <key>Red Component</key> - <real>0.11759927868843079</real> - </dict> - <key>Ansi 1 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.090684391558170319</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.05879192054271698</real> - <key>Red Component</key> - <real>0.74529051780700684</real> - </dict> - <key>Ansi 10 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.11661489307880402</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.69061970710754395</real> - <key>Red Component</key> - <real>0.66574931144714355</real> - </dict> - <key>Ansi 11 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.1444794088602066</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.6926688551902771</real> - <key>Red Component</key> - <real>0.96949708461761475</real> - </dict> - <key>Ansi 12 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.52537077665328979</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.58534377813339233</real> - <key>Red Component</key> - <real>0.44289660453796387</real> - </dict> - <key>Ansi 13 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.53848373889923096</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.43883562088012695</real> - <key>Red Component</key> - <real>0.78096956014633179</real> - </dict> - <key>Ansi 14 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.41142863035202026</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.71257460117340088</real> - <key>Red Component</key> - <real>0.49072420597076416</real> - </dict> - <key>Ansi 15 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.63873869180679321</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.82989895343780518</real> - <key>Red Component</key> - <real>0.90061241388320923</real> - </dict> - <key>Ansi 2 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.082894742488861084</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.53061914443969727</real> - <key>Red Component</key> - <real>0.52591603994369507</real> - </dict> - <key>Ansi 3 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.10328958928585052</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.53254079818725586</real> - <key>Red Component</key> - <real>0.80126690864562988</real> - </dict> - <key>Ansi 4 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.4586675763130188</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.45008346438407898</real> - <key>Red Component</key> - <real>0.21694663166999817</real> - </dict> - <key>Ansi 5 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.45103743672370911</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.29604318737983704</real> - <key>Red Component</key> - <real>0.62685638666152954</real> - </dict> - <key>Ansi 6 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.34128850698471069</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.55607825517654419</real> - <key>Red Component</key> - <real>0.34054014086723328</real> - </dict> - <key>Ansi 7 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.44320183992385864</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.5310559868812561</real> - <key>Red Component</key> - <real>0.5926094651222229</real> - </dict> - <key>Ansi 8 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.37962067127227783</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.43934443593025208</real> - <key>Red Component</key> - <real>0.49889594316482544</real> - </dict> - <key>Ansi 9 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.15763583779335022</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.18880486488342285</real> - <key>Red Component</key> - <real>0.96744710206985474</real> - </dict> - <key>Background Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.11759774386882782</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.11759573966264725</real> - <key>Red Component</key> - <real>0.11759927868843079</real> - </dict> - <key>Badge Color</key> - <dict> - <key>Alpha Component</key> - <real>0.5</real> - <key>Blue Component</key> - <real>0.056549370288848877</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.28100395202636719</real> - <key>Red Component</key> - <real>0.7928692102432251</real> - </dict> - <key>Bold Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>1</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>1</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Cursor Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.63873869180679321</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.82989895343780518</real> - <key>Red Component</key> - <real>0.90061241388320923</real> - </dict> - <key>Cursor Guide Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.15993706881999969</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.16613791882991791</real> - <key>Red Component</key> - <real>0.17867125570774078</real> - </dict> - <key>Cursor Text Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.11759774386882782</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.11759573966264725</real> - <key>Red Component</key> - <real>0.11759927868843079</real> - </dict> - <key>Foreground Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.63873869180679321</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.82989895343780518</real> - <key>Red Component</key> - <real>0.90061241388320923</real> - </dict> - <key>Link Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.056549370288848877</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.28100395202636719</real> - <key>Red Component</key> - <real>0.7928692102432251</real> - </dict> - <key>Selected Text Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.26041668653488159</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.2891082763671875</real> - <key>Red Component</key> - <real>0.32501408457756042</real> - </dict> - <key>Selection Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.63873869180679321</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.82989895343780518</real> - <key>Red Component</key> - <real>0.90061241388320923</real> - </dict> -</dict> -</plist> diff --git a/iterm/gruvbox.itermcolors b/iterm/gruvbox.itermcolors deleted file mode 100644 index 142651c1..00000000 --- a/iterm/gruvbox.itermcolors +++ /dev/null @@ -1,344 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Ansi 0 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.15686275064945221</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.15686275064945221</real> - <key>Red Component</key> - <real>0.15686275064945221</real> - </dict> - <key>Ansi 1 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.11372549086809158</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.14117647707462311</real> - <key>Red Component</key> - <real>0.80000001192092896</real> - </dict> - <key>Ansi 10 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.14901961386203766</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.73333334922790527</real> - <key>Red Component</key> - <real>0.72156864404678345</real> - </dict> - <key>Ansi 11 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.18431372940540314</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.74117648601531982</real> - <key>Red Component</key> - <real>0.98039215803146362</real> - </dict> - <key>Ansi 12 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.59607845544815063</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.64705884456634521</real> - <key>Red Component</key> - <real>0.51372551918029785</real> - </dict> - <key>Ansi 13 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.60784316062927246</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.52549022436141968</real> - <key>Red Component</key> - <real>0.82745099067687988</real> - </dict> - <key>Ansi 14 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.48627451062202454</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.78823530673980713</real> - <key>Red Component</key> - <real>0.55686277151107788</real> - </dict> - <key>Ansi 15 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.69803923368453979</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.85882353782653809</real> - <key>Red Component</key> - <real>0.92156863212585449</real> - </dict> - <key>Ansi 2 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.10196078568696976</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.59215688705444336</real> - <key>Red Component</key> - <real>0.59607845544815063</real> - </dict> - <key>Ansi 3 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.12941177189350128</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.60000002384185791</real> - <key>Red Component</key> - <real>0.84313726425170898</real> - </dict> - <key>Ansi 4 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.53333336114883423</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.5215686559677124</real> - <key>Red Component</key> - <real>0.27058824896812439</real> - </dict> - <key>Ansi 5 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.52549022436141968</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.38431373238563538</real> - <key>Red Component</key> - <real>0.69411766529083252</real> - </dict> - <key>Ansi 6 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.41568627953529358</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.61568629741668701</real> - <key>Red Component</key> - <real>0.40784314274787903</real> - </dict> - <key>Ansi 7 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.51764708757400513</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.60000002384185791</real> - <key>Red Component</key> - <real>0.65882354974746704</real> - </dict> - <key>Ansi 8 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.45490196347236633</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.51372551918029785</real> - <key>Red Component</key> - <real>0.57254904508590698</real> - </dict> - <key>Ansi 9 Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.20392157137393951</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.28627452254295349</real> - <key>Red Component</key> - <real>0.9843137264251709</real> - </dict> - <key>Background Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.10980392247438431</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.10980392247438431</real> - <key>Red Component</key> - <real>0.10980392247438431</real> - </dict> - <key>Badge Color</key> - <dict> - <key>Alpha Component</key> - <real>0.5</real> - <key>Blue Component</key> - <real>0.0</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.0</real> - <key>Red Component</key> - <real>1</real> - </dict> - <key>Bold Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.64313727617263794</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.83137255907058716</real> - <key>Red Component</key> - <real>0.90980392694473267</real> - </dict> - <key>Cursor Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.17255082726478577</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.17254787683486938</real> - <key>Red Component</key> - <real>0.17255303263664246</real> - </dict> - <key>Cursor Guide Color</key> - <dict> - <key>Alpha Component</key> - <real>0.25</real> - <key>Blue Component</key> - <real>1</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.9100000262260437</real> - <key>Red Component</key> - <real>0.64999997615814209</real> - </dict> - <key>Cursor Text Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.64313727617263794</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.83137255907058716</real> - <key>Red Component</key> - <real>0.90980392694473267</real> - </dict> - <key>Foreground Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.64313727617263794</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.83137255907058716</real> - <key>Red Component</key> - <real>0.90980392694473267</real> - </dict> - <key>Link Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.090196080505847931</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.058823529630899429</real> - <key>Red Component</key> - <real>0.7450980544090271</real> - </dict> - <key>Selected Text Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.70916998386383057</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.70916998386383057</real> - <key>Red Component</key> - <real>0.70916998386383057</real> - </dict> - <key>Selection Color</key> - <dict> - <key>Alpha Component</key> - <real>1</real> - <key>Blue Component</key> - <real>0.18431372940540314</real> - <key>Color Space</key> - <string>Calibrated</string> - <key>Green Component</key> - <real>0.18823529779911041</real> - <key>Red Component</key> - <real>0.19607843458652496</real> - </dict> -</dict> -</plist> diff --git a/lbdbrc b/lbdbrc deleted file mode 100644 index cd071ab9..00000000 --- a/lbdbrc +++ /dev/null @@ -1,89 +0,0 @@ -# -# This is the main configuration file of the little brothers database lbdb -# -# Everything you configure here can be overridden by the users config -# file which can be found at -# ~/.lbdbrc -# ~/.lbdb/lbdbrc -# ~/.lbdb/rc -# (evaluated with ascending priority!) -# -# (c) 1999-2018 Roland Rosenfeld <roland@spinnaker.de> -# - -# -# Select which methods you want to use in which order (ascending priority): -# (a space separated list) -# -# - m_inmail search the database created by lbdb-fetchaddr(1) -# - m_finger finger some hosts defined in variable M_FINGER_HOSTS -# - m_passwd search the local /etc/passwd file. -# - m_yppasswd search the NIS password database. -# - m_nispasswd search the NIS+ password database. -# - m_getent search the password database (whatever is configured). -# - m_pgp2 search your PGP 2.* keyring -# - m_pgp5 search your PGP 5.* keyring -# - m_gpg search your GnuPG keyring -# - m_fido search the Fido nodelist converted by nodelist2lbdb(1) -# - m_abook query abook(1), the text based address book application. -# - m_goobook query goobook(1), a command line interface to Google contacts. -# - m_addr_email query addr-email(1) from addressbook Tk-program. -# - m_mu query mu-cfind(1) from the mu Maildir indexer. -# - m_muttalias search $MUTTALIAS_FILES for aliases. -# - m_pine search pine(1) addressbook files for aliases. -# - m_palm search your Palm addressbook file. -# - m_gnomecard search your GnomeCard address database files. -# - m_bbdb search your BBDB (big brother database). -# - m_ldap query an LDAP server -# - m_wanderlust search your wanderlust ~/.addresses file. -# - m_osx_addressbook search the OS X addressbook (only available on OS X). -# - m_evolution search in the Ximan Evolution addressbook. -# - m_vcf search a vcard (according to RFC2426) file. -# - m_khard search a CardDAV address book via khard - -METHODS="m_muttalias m_osx_addressbook" -#METHODS="m_osx_addressbook" - - -# If it isn't possible to find out the correct mail domain name of -# your system in /etc/mailname, by reading sendmail.cf, /etc/hostname -# or /etc/HOSTNAME, you can specify it in the variable -# MAIL_DOMAIN_NAME. This overrides all other mechanisms. -# -MAIL_DOMAIN_NAME=egi.eu - -# - m_muttalias query set of mutt alias files: -# -# Set MUTTALIAS_FILES below to list of files in MUTT_DIRECTORY that -# contain mutt aliases. File names without leading slash will have -# $MUTT_DIRECTORY (defaults to $HOME/.mutt or $HOME, if ~/.mutt does -# not exist) prepended before the file name. Absolute file names -# (beginning with /) will be taken direct. -# -MUTT_DIRECTORY="$HOME/.config/neomutt" -MUTTALIAS_FILES="aliases" - - -# If you want to use private modules set the MODULES_PATH to find them: -# (a space separated list): -# -# MODULES_PATH="/sw/lib/lbdb" - - -# -# Do you want the output to be sorted? -# If you set this to "false" or "no", lbdbq won't sort the addresses -# but returns them in reverse order (which means that the most recent -# address in m_inmail database is first). -# If you set this to "name", lbdbq sorts the output by real name. -# If you set this to "comment", lbdbq sorts the output by comment (column 3). -# If you set this to "address", lbdbq sorts the output by addresses -# (that's the default). -# -SORT_OUTPUT=name - -# -# Do you want to see duplicate mail addresses (with multiple real -# names or different comment fields)? Default is "no". -# -#KEEP_DUPES=no diff --git a/mailcap b/mailcap deleted file mode 100644 index ebb6a3ac..00000000 --- a/mailcap +++ /dev/null @@ -1,88 +0,0 @@ -# mailcap file for usage with mutt. - -# Try to use xdg-open for everything -# */*; xdg-open "%s" - -application/octet-stream ; echo "what to do:" %s "can be anything" ; copiousoutput -application/ghostview ; pdftotext -layout %s -; xdg-open %s ; copiousoutput -application/pdf ; pdftotext -layout %s -; print=mutt_bgrun xdg-open %s ; copiousoutput -application/x-pdf ; pdftotext -layout %s -; print=mutt_bgrun xdg-open %s ; copiousoutput -application/postscript ; pdftotext -layout %s -; print=mutt_bgrun xdg-open %s ; copiousoutput -application/x-bzip2 ; bzip2 -dc %s ; copiousoutput -application/x-cpio ; cpio -tvF --quiet %s ; copiousoutput -application/x-csh ; cat %s ; copiousoutput -application/x-gtar ; tar tvf %s ; copiousoutput -application/x-gzip ; tar tfvz %s ; copiousoutput -application/x-gzip-postscript ; zcat %s gv ; copiousoutput -application/x-latex ; cat %s ; copiousoutput -application/x-perl ; cat %s ; copiousoutput -application/x-rar-compressed ; rar v %s ; copiousoutput -application/x-script ; cat %s ; copiousoutput -application/x-shar ; cat %s ; copiousoutput -application/x-shellscript ; cat %s ; copiousoutput -application/x-sh ; cat %s ; copiousoutput -application/x-tar ; tar tvvf %s ; copiousoutput -application/x-tar-gz ; tar tfvz %s ; copiousoutput -application/x-tcl ; cat %s ; copiousoutput -pplication/x-tex ; cat %s ; copiousoutput -application/x-troff ; groff -Tlatin1 %s ; copiousoutput -application/x-troff-man ; man -l %s 2>/dev/null ; copiousoutput -application/x-troff-me ; groff -me -Tlatin1 %s ; copiousoutput -application/x-zip-compressed ; unzip -v %s ; copiousoutput -application/zip ; unzip -v %s ; copiousoutput -# View: display event -# Print: add them to calendar -text/calendar ; mutt-ics; print=add_event %s ; copiousoutput -application/ics ; mutt-ics; print=add_event %s ; copiousoutput -# text/calendar ; mutt-ics ; copiousoutput -audio/basic ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null -audio/midi ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null -audio/mpegurl ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null -audio/mpeg ; mutt_bgrun mplayer %s ; copiousoutput -audio/x-midi ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null -audio/x-mod ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null -audio/x-pn-realaudio-plugin ; realplay %s ; test=test -n "$DISPLAY" > /dev/null -audio/x-pn-realaudio ; realplay %s ; test=test -n "$DISPLAY" > /dev/null -audio/* ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null -#image/* ; mutt_bgrun sxiv -bf %s \; reset -#image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null -image/x-eps ; gv %s ; test=test -n "$DISPLAY" > /dev/null -image/* ; sxiv %s ; test=test -n "$DISPLAY" > /dev/null -#image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null -#image/* ; fbi %s ; copiousoutput - -# XXX Disable backgrouds as it seems that html files is deleted too early -# text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chromium-perso %s -text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = firefox %s - -text/x-diff ; cat %s | colordiff ;copiousoutput -text/x-patch ; cat %s | colordiff ;copiousoutput -text/x-compress-html ; zcat %s lynx -dump -force_html ; copiousoutput -text/x-gzip-html ; zcat %s lynx -dump -force_html ; copiousoutput -text/plain ; cat %s ; copiousoutput -text/richtext ; mutt_bgrun abiword %s ; copiousoutput -text/x-vcard ; ~/mutt/mutt.vcard.filter %s ; copiousoutput -text/* ; edit=vim %s ; copiousoutput -video/* ; mutt_bgrun mplayer %s ; copiousoutput -application/pgp-signature ; cat %s ; copiousoutput -#application/excel ; xls2csv %s | column -s, -tn ; copiousoutput -#application/vnd.ms-excel ; xls2csv %s | column -s, -tn ; copiousoutput -application/vnd.ms-excel ; mutt_bgrun localc %s ; test=test -n "$DISPLAY" > /dev/null -application/vnd.oasis.opendocument.spreadsheet ; mutt_bgrun scalc %s ; test=test -n "$DISPLAY" > /dev/null -application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; mutt_bgrun localc %s ; test=test -n "$DISPLAY" > /dev/null -application/msword ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null -application/wps-office.docx ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null -application/vnd.openxmlformats-officedocument.wordprocessingml.document ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null -application/vnd.openxmlformats-officedocument.wordprocessingml.documen ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null -application/msword ; antiword %s ; copiousoutput -application/x-msword ; antiword %s ; copiousoutput -#application/vnd.oasis.opendocument.text ; odt2txt %s ; copiousoutput -application/vnd.oasis.opendocument.text ; mutt_bgrun lowriter %s ; copiousoutput -application/vnd.ms-powerpoint ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null -application/vnd.oasis.opendocument.presentation ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null -application/vnd.openxmlformats-officedocument.presentationml.slideshow ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null -application/vnd.openxmlformats-officedocument.presentationml.presentation ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null -application/x-pkcs7-signature;openssl pkcs7 -in %s -inform der -noout -print_certs -text | less; needsterminal -application/pkcs7-signature;openssl pkcs7 -in %s -inform der -noout -print_certs -text | less; needsterminal - -# vim: set nowrap: diff --git a/mbsyncrc b/mbsyncrc deleted file mode 100755 index 0f085f2c..00000000 --- a/mbsyncrc +++ /dev/null @@ -1,104 +0,0 @@ -# https://roylez.info/2016-02-10-mutt-multi-imap-accounts/ -# EGI Gmail Account -IMAPAccount EGI -Host imap.gmail.com -User baptiste.grenier@egi.eu -PassCmd "~/bin/gnomekeyring-helpers.py -g --username baptiste.grenier@egi.eu --server imap.gmail.com --protocol imaps --app mbsync" -# AuthMechs PLAIN -SSLType IMAPS -AuthMechs LOGIN -CertificateFile /etc/ssl/certs/ca-certificates.crt - -# Remote EGI IMAP -IMAPStore EGI_gmail -Account EGI - -# Local EGI Maildir -MaildirStore EGI_local -Path ~/Mail/EGI/ -Inbox ~/Mail/EGI/Inbox - -# Connect remote IMAP to local Folder -# Channel EGI -# Master :EGI_gmail: -# Slave :EGI_local: -# Patterns "INBOX" "[Gmail]/Sent Mail" "[Gmail]/Drafts" "[Gmail]/Starred" - -Channel EGI-default -Master :EGI_gmail:"INBOX" -#Slave :EGI_local: -Slave :EGI_local:Inbox -#Patterns INBOX - -Channel EGI-sent -Master :EGI_gmail:"[Gmail]/Sent Mail" -slave :EGI_local:Sent - -Channel EGI-starred -Master :EGI_gmail:"[Gmail]/Starred" -slave :EGI_local:Starred - -Channel EGI-trash -Master :EGI_gmail:"[Gmail]/Bin" -slave :EGI_local:Trash - -Channel EGI-archive -Master :EGI_gmail:"[Gmail]/All Mail" -slave :EGI_local:All - -Channel EGI-drafts -Master :EGI_gmail:"[Gmail]/Drafts" -slave :EGI_local:Drafts - -Channel EGI-spam -Master :EGI_gmail:"[Gmail]/Spam" -slave :EGI_local:Spam - -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Group EGI -Channel EGI-default -Channel EGI-sent -Channel EGI-starred -Channel EGI-trash -Channel EGI-archive -Channel EGI-drafts -Channel EGI-spam - -# Private IMAP Account -IMAPAccount Perso -Host imap.bapt.name -User baptiste -PassCmd "~/bin/gnomekeyring-helpers.py -g -u baptiste -p imaps -a mbsync -e imap.bapt.name" -# AuthMechs PLAIN -SSLType IMAPS -AuthMechs LOGIN -CertificateFile /etc/ssl/certs/ca-certificates.crt - -# Remote Private IMAP -IMAPStore Perso_imap -Account Perso - -# Local Perso Maildir -MaildirStore Perso_local -Path ~/Mail/Perso/ -Inbox ~/Mail/Perso/Inbox -Flatten . - -# Mirror everything locally without changing folders names -Channel Perso -Master :Perso_imap: -Slave :Perso_local: -Patterns * - -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both diff --git a/mbsyncrc-mac b/mbsyncrc-mac deleted file mode 100755 index 94c96a44..00000000 --- a/mbsyncrc-mac +++ /dev/null @@ -1,101 +0,0 @@ -# https://roylez.info/2016-02-10-mutt-multi-imap-accounts/ -# EGI Gmail Account -IMAPAccount EGI -Host imap.gmail.com -User baptiste.grenier@egi.eu -# https://support.google.com/accounts/answer/185833?hl=en -# Set passwod on OSX: security add-generic-password -a baptiste.grenier@egi.eu -s imap.gmail.com -w -PassCmd "security find-generic-password -s imap.gmail.com -a baptiste.grenier@egi.eu -w" -SSLType IMAPS -AuthMechs LOGIN -CertificateFile /usr/local/etc/openssl/cert.pem - -# Remote EGI IMAP -IMAPStore EGI_gmail -Account EGI - -# Local EGI Maildir -MaildirStore EGI_local -Path ~/Mail/EGI/ -Inbox ~/Mail/EGI/Inbox - -## Connect remote IMAP to local Folders - -Channel EGI-default -Far :EGI_gmail:"INBOX" -Near :EGI_local:Inbox -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-sent -Far :EGI_gmail:"[Gmail]/Sent Mail" -Near :EGI_local:Sent -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-starred -Far :EGI_gmail:"[Gmail]/Starred" -Near :EGI_local:Starred -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-trash -Far :EGI_gmail:"[Gmail]/Bin" -Near :EGI_local:Trash -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-archive -Far :EGI_gmail:"[Gmail]/All Mail" -Near :EGI_local:All -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-drafts -Far :EGI_gmail:"[Gmail]/Drafts" -Near :EGI_local:Drafts -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-spam -Far :EGI_gmail:"[Gmail]/Spam" -Near :EGI_local:Spam -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Group EGI -Channel EGI-default -Channel EGI-sent -Channel EGI-starred -Channel EGI-trash -Channel EGI-archive -Channel EGI-drafts -Channel EGI-spam diff --git a/mbsyncrc-perso b/mbsyncrc-perso deleted file mode 100755 index 19fceba8..00000000 --- a/mbsyncrc-perso +++ /dev/null @@ -1,34 +0,0 @@ -# https://roylez.info/2016-02-10-mutt-multi-imap-accounts/ - -# Remote EGI IMAP -# Private IMAP Account -IMAPAccount Perso -Host mail.bapt.name -User baptiste@bapt.name -PassCmd "secret-tool lookup host mail.bapt.name service imaps user baptiste@bapt.name" -# AuthMechs PLAIN -SSLType IMAPS -AuthMechs LOGIN -CertificateFile /etc/ssl/certs/ca-certificates.crt - -# Remote Private IMAP -IMAPStore Perso_imap -Account Perso - -# Local Perso Maildir -MaildirStore Perso_local -Path ~/Mail/Perso/ -Inbox ~/Mail/Perso/Inbox -Flatten . - -# Mirror everything locally without changing folders names -Channel Perso -Far :Perso_imap: -Near :Perso_local: -Patterns * -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both diff --git a/msmtprc b/msmtprc deleted file mode 100644 index 98660cd6..00000000 --- a/msmtprc +++ /dev/null @@ -1,18 +0,0 @@ -# Set default values -defaults -logfile ~/.msmtp.log -protocol smtp -auth on -tls on -tls_starttls on -#tls_trust_file /etc/ssl/certs/ca-certificates.crt - -account perso -host mail.bapt.name -port 587 -from baptiste@bapt.name -user baptiste@bapt.name -# secret-tool store --label=msmtp host smtp.your.domain service smtp user yourusername -passwordeval secret-tool lookup host mail.bapt.name service smtps user baptiste@bapt.name - -account default: perso diff --git a/msmtprc-mac b/msmtprc-mac deleted file mode 100644 index a034ebbe..00000000 --- a/msmtprc-mac +++ /dev/null @@ -1,19 +0,0 @@ -defaults -logfile ~/.msmtp.log -auth on -tls on -tls_starttls on -# From openssl from homebrew -tls_trust_file /usr/local/etc/openssl/cert.pem - -account egi -host smtp.gmail.com -port 587 -protocol smtp -from baptiste.grenier@egi.eu -user baptiste.grenier@egi.eu -# https://support.google.com/accounts/answer/185833?hl=en -# Set passwod on OSX: security add-generic-password -a baptiste.grenier@egi.eu -s smtp.gmail.com -w -passwordeval security find-generic-password -w -s smtp.gmail.com -a baptiste.grenier@egi.eu - -account default : egi diff --git a/ncmpcpp/bindings b/ncmpcpp/bindings deleted file mode 100644 index 82398291..00000000 --- a/ncmpcpp/bindings +++ /dev/null @@ -1,42 +0,0 @@ -# the t key isn't used and it's easier to press than /, so lets use it -def_key "t" - find -def_key "t" - find_item_forward - -def_key "+" - show_clock -def_key "=" - volume_up - -def_key "j" - scroll_down -def_key "k" - scroll_up - -def_key "ctrl-u" - page_up -#push_characters "kkkkkkkkkkkkkkk" -def_key "ctrl-d" - page_down -#push_characters "jjjjjjjjjjjjjjj" - -def_key "h" - previous_column -def_key "l" - next_column - -def_key "." - show_lyrics - -def_key "n" - next_found_item -def_key "N" - previous_found_item - -# not used but bound -def_key "J" - move_sort_order_down -def_key "K" - move_sort_order_up - diff --git a/ncmpcpp/config b/ncmpcpp/config deleted file mode 100644 index 8f4ac762..00000000 --- a/ncmpcpp/config +++ /dev/null @@ -1,7 +0,0 @@ -mpd_music_dir = ~/Music -autocenter_mode = yes -centered_cursor = no -user_interface = alternative -playlist_show_remaining_time = yes -playlist_separate_albums = yes -jump_to_now_playing_song_at_start = yes diff --git a/notmuch-config b/notmuch-config deleted file mode 100644 index d3899863..00000000 --- a/notmuch-config +++ /dev/null @@ -1,108 +0,0 @@ -# .notmuch-config - Configuration file for the notmuch mail system -# -# For more information about notmuch, see https://notmuchmail.org - -# Database configuration -# -# The only value supported here is 'path' which should be the top-level -# directory where your mail currently exists and to where mail will be -# delivered in the future. Files should be individual email messages. -# Notmuch will store its database within a sub-directory of the path -# configured here named ".notmuch". -# -[database] -path=/home/baptiste/Mail - -# User configuration -# -# Here is where you can let notmuch know how you would like to be -# addressed. Valid settings are -# -# name Your full name. -# primary_email Your primary email address. -# other_email A list (separated by ';') of other email addresses -# at which you receive email. -# -# Notmuch will use the various email addresses configured here when -# formatting replies. It will avoid including your own addresses in the -# recipient list of replies, and will set the From address based on the -# address to which the original email was addressed. -# -[user] -name=Baptiste Grenier -primary_email=baptiste.grenier@egi.eu -other_email=baptiste@bapt.name;bgrenier@maatg.com;gwarf12@gmail.com;gwarf@gwarf.org;baptiste.grenier@healthgrid.org;baptiste.grenier@gmail.com;gwarf12@hotmail.com;bgrenier@maatg.fr;bgrenier@gnubila.fr - -# Configuration for "notmuch new" -# -# The following options are supported here: -# -# tags A list (separated by ';') of the tags that will be -# added to all messages incorporated by "notmuch new". -# -# ignore A list (separated by ';') of file and directory names -# that will not be searched for messages by "notmuch new". -# -# NOTE: *Every* file/directory that goes by one of those -# names will be ignored, independent of its depth/location -# in the mail store. -# -[new] -# For afew only set new (was inbox;unread) -tags=new -ignore= - -# Search configuration -# -# The following option is supported here: -# -# exclude_tags -# A ;-separated list of tags that will be excluded from -# search results by default. Using an excluded tag in a -# query will override that exclusion. -# -[search] -exclude_tags=deleted;spam;trash; - -# Maildir compatibility configuration -# -# The following option is supported here: -# -# synchronize_flags Valid values are true and false. -# -# If true, then the following maildir flags (in message filenames) -# will be synchronized with the corresponding notmuch tags: -# -# Flag Tag -# ---- ------- -# D draft -# F flagged -# P passed -# R replied -# S unread (added when 'S' flag is not present) -# -# The "notmuch new" command will notice flag changes in filenames -# and update tags, while the "notmuch tag" and "notmuch restore" -# commands will notice tag changes and update flags in filenames -# -[maildir] -synchronize_flags=true - -# Cryptography related configuration -# -# The following *deprecated* option is currently supported: -# -# gpg_path -# binary name or full path to invoke gpg. -# NOTE: In a future build, this option will be ignored. -# Setting $PATH is a better approach. -# -# [crypto] -# gpg_path=gpg - -# http://notmuchmail.org/vimtips/ -# <c-x><c-u> in a header field -# notmuch_abook lookup baptiste -[addressbook] -path=/home/baptiste/.notmuch-abook.db -backend=sqlite3 diff --git a/notmuch/hooks/notmuch-response b/notmuch/hooks/notmuch-response deleted file mode 100755 index 564badec..00000000 --- a/notmuch/hooks/notmuch-response +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/env python3 - -from subprocess import check_output, check_call, Popen, PIPE -from tempfile import NamedTemporaryFile -import sys -import json -import codecs -import sys - -try: - import ijson - HAS_IJSON = True -except ImportError: - HAS_IJSON = False - print("WARN: ijson not available. I may choke on big mailbox.", - file=sys.stderr) - -# basic functions - -def cmd_run(cmd): - print('Running (run): {}'.format(cmd)) - return check_call(cmd) - -def cmd_capture(cmd): - print('Running (capture): {}'.format(cmd)) - return check_output(cmd) - -def cmd_stream(cmd): - print('Running (stream): {}'.format(cmd)) - p = Popen(cmd, stdout = PIPE) - return p - -# reconstruct responses from thread info - -def traverse(msg, ms, parent = None): - assert len(msg) == 2 - head = msg[0] - head_id = head['id'] - if parent is not None: - ms.append((head_id, parent)) - children = msg[1] - for ch in children: - traverse(ch, ms, parent = head_id) - -def get_responses(obj): - ms = [] - for thread in obj: # over all threads - get_responses_from_thread(thread, ms) - return ms - -def get_responses_from_thread(thread, ms): - for top_message in thread: - traverse(top_message, ms, None) - -def get_replied_ids(query): - notmuch = [ 'notmuch', 'show', '--format=json', - '--entire-thread=true', '--body=false', query ] - out = cmd_stream(notmuch) - ms = [] - try: - reader = codecs.getreader('utf8') - reader = reader(out.stdout, errors = 'replace') - if HAS_IJSON: - threads = ijson.items(reader, 'item') - for thread in threads: - get_responses_from_thread(thread, ms) - else: - obj = json.load(reader) - ms = get_responses(obj) - finally: - pass - replied = set( x[1] for x in ms ) - return sorted(replied) - -# stuff to untag messages - -def untag_ids(ids): - with NamedTemporaryFile() as batch_file: - for i in ids: - line = '-noresponse +response -- id:{}\n'.format(i) - batch_file.write(line.encode('utf8')) - batch_file.flush() - notmuch = [ 'notmuch', 'tag', - '--batch', '--input={}'.format(batch_file.name) ] - cmd_run(notmuch) - -# high-level commands - -def index(query = None): - # indexes only the new mails - query = 'tag:new' if query is None else query - replied = get_replied_ids(query) - if len(replied) == 0: - print('Nothing to untag.') - else: - print('IDs to untag ({}): {}'.format(len(replied), ', '.join(replied))) - untag_ids(replied) - -def reindex(query = None): - # reindexes messages that much the query, it may take some time - # 1. tag everything with unreplied - query = '*' if query is None else query - cmd_run([ 'notmuch', 'tag', '+noresponse', '-response', query ]) - # 3. get all reply ids - replied = get_replied_ids(query) - print('Replies to untag: {}'.format(len(replied))) - # 4. untag these ids - untag_ids(replied) - -if __name__ == '__main__': - if len(sys.argv) not in [ 2, 3 ]: - print('Usage: {} <index|reindex> [query]'.format(sys.argv[0])) - sys.exit(1) - cmd = sys.argv[1] - query = None if len(sys.argv) == 2 else sys.argv[2] - if cmd == 'index': - index(query) - elif cmd == 'reindex': - reindex(query) - else: - print('Unknown command: {}'.format(cmd)) - sys.exit(1) diff --git a/notmuch/hooks/post-new b/notmuch/hooks/post-new deleted file mode 100755 index b97029df..00000000 --- a/notmuch/hooks/post-new +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -set -eu - -afew --tag --new --verbose -#afew --move --new --verbose - -# Keep track of unresponded emails (to be able to ping people after some time) -# https://github.com/thinred/notmuch-response -##!/bin/bash -# -#set -eu -# -#here=$(dirname "$0") -#cd "${here}" -# -#if [ -f config ]; then -# source config -#fi -# -#FIRST=${FIRSTNAME:-YOURFIRSTNAME} -#LAST=${LASTNAME:-YOURLASTNAME} -# -#echo "I am ${FIRST} ${LAST}" -# -#FROM_FILTER="from:${FIRST} from:${LAST}" -#TO_FILTER="to:${FIRST} to:${LAST}" -# -## do some basic tagging here -# -## untag replied e-mails -#./notmuch-response index -# -## tag my e-mails with no response -#notmuch tag +noack -- tag:noresponse ${FROM_FILTER} -# -## tag e-mails to me with no response -#notmuch tag +backlog -- tag:noresponse ${TO_FILTER} -# -## untag everything that has response -#notmuch tag -noack -backlog -- tag:response -# -## clear new tag -#notmuch tag -new -- tag:new diff --git a/p10k-linux.zsh b/p10k-linux.zsh deleted file mode 100644 index 65d4eecf..00000000 --- a/p10k-linux.zsh +++ /dev/null @@ -1,1616 +0,0 @@ -# Generated by Powerlevel10k configuration wizard on 2020-05-23 at 13:29 CEST. -# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 54726. -# Wizard options: nerdfont-complete + powerline, small icons, rainbow, unicode, -# angled separators, sharp heads, slanted tails, 2 lines, solid, full frame, -# dark-ornaments, sparse, many icons, fluent, transient_prompt, instant_prompt=quiet. -# Type `p10k configure` to generate another config. -# -# Config for Powerlevel10k with powerline prompt style with colorful background. -# Type `p10k configure` to generate your own config based on it. -# -# Tip: Looking for a nice color? Here's a one-liner to print colormap. -# -# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done - -# Temporarily change options. -'builtin' 'local' '-a' 'p10k_config_opts' -[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') -[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') -[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') -'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' - -() { - emulate -L zsh -o extended_glob - - # Unset all configuration options. This allows you to apply configuration changes without - # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. - unset -m 'POWERLEVEL9K_*|DEFAULT_USER' - - # Zsh >= 5.1 is required. - autoload -Uz is-at-least && is-at-least 5.1 || return - - # The list of segments shown on the left. Fill it with the most important segments. - typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - os_icon # os identifier - dir # current directory - vcs # git status - # =========================[ Line #2 ]========================= - newline # \n - # prompt_char # prompt symbol - ) - - # The list of segments shown on the right. Fill it with less important segments. - # Right prompt on the last prompt line (where you are typing your commands) gets - # automatically hidden when the input line reaches it. Right prompt above the - # last prompt line gets hidden if it would overlap with left prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - status # exit code of the last command - command_execution_time # duration of the last command - background_jobs # presence of background jobs - direnv # direnv status (https://direnv.net/) - asdf # asdf version manager (https://github.com/asdf-vm/asdf) - virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) - anaconda # conda environment (https://conda.io/) - pyenv # python environment (https://github.com/pyenv/pyenv) - goenv # go environment (https://github.com/syndbg/goenv) - nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) - nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) - nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) - # node_version # node.js version - # go_version # go version (https://golang.org) - # rust_version # rustc version (https://www.rust-lang.org) - # dotnet_version # .NET version (https://dotnet.microsoft.com) - # php_version # php version (https://www.php.net/) - # laravel_version # laravel php framework version (https://laravel.com/) - # java_version # java version (https://www.java.com/) - # package # name@version from package.json (https://docs.npmjs.com/files/package.json) - rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) - rvm # ruby version from rvm (https://rvm.io) - fvm # flutter version management (https://github.com/leoafarias/fvm) - luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) - jenv # java version from jenv (https://github.com/jenv/jenv) - plenv # perl version from plenv (https://github.com/tokuhirom/plenv) - phpenv # php version from phpenv (https://github.com/phpenv/phpenv) - haskell_stack # haskell version from stack (https://haskellstack.org/) - kubecontext # current kubernetes context (https://kubernetes.io/) - terraform # terraform workspace (https://www.terraform.io) - aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) - aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) - azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) - gcloud # google cloud cli account and project (https://cloud.google.com/) - google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) - context # user@hostname - nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) - ranger # ranger shell (https://github.com/ranger/ranger) - nnn # nnn shell (https://github.com/jarun/nnn) - vim_shell # vim shell indicator (:sh) - midnight_commander # midnight commander shell (https://midnight-commander.org/) - nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) - vi_mode # vi mode (you don't need this if you've enabled prompt_char) - # vpn_ip # virtual private network indicator - # load # CPU load - # disk_usage # disk usage - # ram # free RAM - # swap # used swap - todo # todo items (https://github.com/todotxt/todo.txt-cli) - timewarrior # timewarrior tracking status (https://timewarrior.net/) - taskwarrior # taskwarrior task count (https://taskwarrior.org/) - # time # current time - # =========================[ Line #2 ]========================= - newline - # ip # ip address and bandwidth usage for a specified network interface - # public_ip # public IP address - # proxy # system-wide http/https/ftp proxy - # battery # internal battery - # wifi # wifi speed - # example # example user-defined segment (see prompt_example function below) - ) - - # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. - typeset -g POWERLEVEL9K_MODE=nerdfont-complete - # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid - # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. - typeset -g POWERLEVEL9K_ICON_PADDING=none - - # When set to true, icons appear before content on both sides of the prompt. When set - # to false, icons go after content. If empty or not set, icons go before content in the left - # prompt and after content in the right prompt. - # - # You can also override it for a specific segment: - # - # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false - # - # Or for a specific segment in specific state: - # - # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false - typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= - - # Add an empty line before each prompt. - typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true - - # Connect left prompt lines with these symbols. You'll probably want to use the same color - # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%240F╭─' - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%240F├─' - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%240F╰─' - # Connect right prompt lines with these symbols. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%240F─╮' - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%240F─┤' - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%240F─╯' - - # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or - # '─'. The last two make it easier to see the alignment between left and right prompt and to - # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false - # for more compact prompt if using using this option. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='─' - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= - if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then - # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE - # ornaments defined above. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=240 - # Start filler from the edge of the screen if there are no left segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' - # End filler on the edge of the screen if there are no right segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' - fi - - # Separator between same-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='\uE0B1' - # Separator between same-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='\uE0B3' - # Separator between different-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' - # Separator between different-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' - # The right end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0' - # The left end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2' - # The left end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0BA' - # The right end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0BC' - # Left prompt terminator for lines without any segments. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - - #################################[ os_icon: os identifier ]################################## - # OS identifier color. - typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=232 - typeset -g POWERLEVEL9K_OS_ICON_BACKGROUND=7 - # Custom icon. - # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' - - ################################[ prompt_char: prompt symbol ]################################ - # Transparent background. - typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= - # Green prompt symbol if the last command succeeded. - typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 - # Red prompt symbol if the last command failed. - typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 - # Default prompt symbol. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' - # Prompt symbol in command vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' - # Prompt symbol in visual vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='Ⅴ' - # Prompt symbol in overwrite vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' - typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true - # No line terminator if prompt_char is the last segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - # No line introducer if prompt_char is the first segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= - # No surrounding whitespace. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= - - ##################################[ dir: current directory ]################################## - # Current directory background color. - typeset -g POWERLEVEL9K_DIR_BACKGROUND=4 - # Default current directory foreground color. - typeset -g POWERLEVEL9K_DIR_FOREGROUND=254 - # If directory is too long, shorten some of its segments to the shortest possible unique - # prefix. The shortened directory can be tab-completed to the original. - typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique - # Replace removed segment suffixes with this symbol. - typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= - # Color of the shortened directory segments. - typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=250 - # Color of the anchor directory segments. Anchor segments are never shortened. The first - # segment is always an anchor. - typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=255 - # Display anchor directory segments in bold. - typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true - # Don't shorten directories that contain any of these files. They are anchors. - local anchor_files=( - .bzr - .citc - .git - .hg - .node-version - .python-version - .go-version - .ruby-version - .lua-version - .java-version - .perl-version - .php-version - .tool-version - .shorten_folder_marker - .svn - .terraform - CVS - Cargo.toml - composer.json - go.mod - package.json - stack.yaml - ) - typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" - # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains - # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is - # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) - # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers - # and other directories don't. - typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false - # Don't shorten this many last directory segments. They are anchors. - typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 - # Shorten directory if it's longer than this even if there is space for it. The value can - # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, - # directory will be shortened only when prompt doesn't fit or when other parameters demand it - # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). - # If set to `0`, directory will always be shortened to its minimum length. - typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this - # many columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least - # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 - # If set to true, embed a hyperlink into the directory. Useful for quickly - # opening a directory in the file manager simply by clicking the link. - # Can also be handy when the directory is shortened, as it allows you to see - # the full directory that was used in previous commands. - typeset -g POWERLEVEL9K_DIR_HYPERLINK=false - - # Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and - # POWERLEVEL9K_DIR_CLASSES below. - typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2 - - # The default icon shown next to non-writable directories when POWERLEVEL9K_DIR_SHOW_WRITABLE is - # set to v2. - # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' - - # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different - # directories. It must be an array with 3 * N elements. Each triplet consists of: - # - # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with - # extended_glob option enabled. - # 2. Directory class for the purpose of styling. - # 3. An empty string. - # - # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. - # - # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v2 and the current directory is not writable, - # its class gets suffix _NOT_WRITABLE. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=( - # '~/work(|/*)' WORK '' - # '~(|/*)' HOME '' - # '*' DEFAULT '') - # - # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with class - # WORK or WORK_NOT_WRITABLE. - # - # Simply assigning classes to directories don't have any visible effects. It merely gives you an - # option to define custom colors and icons for different directory classes. - # - # # Styling for WORK. - # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_BACKGROUND=4 - # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=254 - # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=250 - # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=255 - # - # # Styling for WORK_NOT_WRITABLE. - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_BACKGROUND=4 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=254 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=250 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=255 - # - # If a styling parameter isn't explicitly defined for some class, it falls back to the classless - # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls - # back to POWERLEVEL9K_DIR_FOREGROUND. - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=() - - # Custom prefix. - # typeset -g POWERLEVEL9K_DIR_PREFIX='in ' - - #####################################[ vcs: git status ]###################################### - # Version control system colors. - # typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=2 - # typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=3 - # typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=2 - # typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=3 - # typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8 - - # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. - typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' - - # Untracked files icon. It's really a question mark, your font isn't broken. - # Change the value of this parameter to show a different icon. - typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' - - # Formatter for Git status. - # - # Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42. - # - # You can edit the function to customize how Git status looks. - # - # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: - # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. - function my_git_formatter() { - emulate -L zsh - - if [[ -n $P9K_CONTENT ]]; then - # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from - # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. - typeset -g my_git_format=$P9K_CONTENT - return - fi - - # Styling for different parts of Git status. - local meta='%7F' # white foreground - local clean='%0F' # black foreground - local modified='%0F' # black foreground - local untracked='%0F' # black foreground - local conflicted='%1F' # red foreground - - local res - local where # branch or tag - if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then - res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}" - where=${(V)VCS_STATUS_LOCAL_BRANCH} - elif [[ -n $VCS_STATUS_TAG ]]; then - res+="${meta}#" - where=${(V)VCS_STATUS_TAG} - fi - - # If local branch name or tag is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show local branch name in full without truncation, delete the next line. - (( $#where > 32 )) && where[13,-13]="…" - res+="${clean}${where//\%/%%}" # escape % - - # Display the current Git commit if there is no branch or tag. - # Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line. - [[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" - - # Show tracking branch name if it differs from local branch. - if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then - res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape % - fi - - # ⇣42 if behind the remote. - (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" - # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. - (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " - (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" - # ⇠42 if behind the push remote. - (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" - (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " - # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. - (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" - # *42 if have stashes. - (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" - # 'merge' if the repo is in an unusual state. - [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" - # ~42 if have merge conflicts. - (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" - # +42 if have staged changes. - (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" - # !42 if have unstaged changes. - (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" - # ?42 if have untracked files. It's really a question mark, your font isn't broken. - # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. - # Remove the next line if you don't want to see untracked files at all. - (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" - # "─" if the number of unstaged files is unknown. This can happen due to - # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower - # than the number of files in the Git index, or due to bash.showDirtyState being set to false - # in the repository config. The number of staged and untracked files may also be unknown - # in this case. - (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" - - typeset -g my_git_format=$res - } - functions -M my_git_formatter 2>/dev/null - - # Don't count the number of unstaged, untracked and conflicted files in Git repositories with - # more than this many files in the index. Negative value means infinity. - # - # If you are working in Git repositories with tens of millions of files and seeing performance - # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output - # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's - # config: `git config bash.showDirtyState false`. - typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 - - # Don't show Git status in prompt for repositories whose workdir matches this pattern. - # For example, if set to '~', the Git repository at $HOME/.git will be ignored. - # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. - typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' - - # Disable the default Git status formatting. - typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true - # Install our own Git status formatter. - typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter()))+${my_git_format}}' - # Enable counters for staged, unstaged, etc. - typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 - - # Custom icon. - # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_VCS_PREFIX='on ' - - # Show status of repositories of these types. You can add svn and/or hg if you are - # using them. If you do, your prompt may become slow even when your current directory - # isn't in an svn or hg reposotiry. - typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) - - ##########################[ status: exit code of the last command ]########################### - # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and - # style them independently from the regular OK and ERROR state. - typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true - - # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as - # it will signify success by turning green. - typeset -g POWERLEVEL9K_STATUS_OK=true - typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' - # typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=2 - # typeset -g POWERLEVEL9K_STATUS_OK_BACKGROUND=0 - - # Status when some part of a pipe command fails but the overall exit status is zero. It may look - # like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' - # typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=2 - # typeset -g POWERLEVEL9K_STATUS_OK_PIPE_BACKGROUND=0 - - # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as - # it will signify error by turning red. - typeset -g POWERLEVEL9K_STATUS_ERROR=true - typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' - # typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=3 - # typeset -g POWERLEVEL9K_STATUS_ERROR_BACKGROUND=1 - - # Status when the last command was terminated by a signal. - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true - # Use terse signal names: "INT" instead of "SIGINT(2)". - typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' - # typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=3 - # typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_BACKGROUND=1 - - # Status when some part of a pipe command fails and the overall exit status is also non-zero. - # It may look like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' - # typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=3 - # typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_BACKGROUND=1 - - ###################[ command_execution_time: duration of the last command ]################### - # Execution time color. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=0 - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=3 - # Show duration of the last command if takes longer than this many seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 - # Show this many fractional digits. Zero means round to seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 - # Duration format: 1d 2h 3m 4s. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' - # Custom icon. - # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='took ' - - #######################[ background_jobs: presence of background jobs ]####################### - # Background jobs color. - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=6 - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND=0 - # Don't show the number of background jobs. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false - # Custom icon. - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ direnv: direnv status (https://direnv.net/) ]######################## - # Direnv color. - # typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=3 - # typeset -g POWERLEVEL9K_DIRENV_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### - # Default asdf color. Only used to display tools for which there is no color override (see below). - typeset -g POWERLEVEL9K_ASDF_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_BACKGROUND=7 - - # There are four parameters that can be used to hide asdf tools. Each parameter describes - # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at - # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to - # hide a tool, it gets shown. - # - # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and - # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: - # - # asdf local python 3.8.1 - # asdf global python 3.8.1 - # - # After running both commands the current python version is 3.8.1 and its source is "local" as - # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, - # it'll hide python version in this case because 3.8.1 is the same as the global version. - # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't - # contain "local". - - # Hide tool versions that don't come from one of these sources. - # - # Available sources: - # - # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" - # - local `asdf current` says "set by /some/not/home/directory/file" - # - global `asdf current` says "set by /home/username/file" - # - # Note: If this parameter is set to (shell local global), it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. - typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) - - # If set to false, hide tool versions that are the same as global. - # - # Note: The name of this parameter doesn't reflect its meaning at all. - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. - typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false - - # If set to false, hide tool versions that are equal to "system". - # - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. - typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true - - # If set to non-empty value, hide tools unless there is a file matching the specified file pattern - # in the current directory, or its parent diretory, or its grandparent directory, and so on. - # - # Note: If this parameter is set to empty value, it won't hide tools. - # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. - # - # Example: Hide nodejs version when there is no package.json and no *.js files in the current - # directory, in `..`, in `../..` and so on. - # - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' - typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= - - # Ruby version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_RUBY_BACKGROUND=1 - # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Python version from asdf. - typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_PYTHON_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Go version from asdf. - typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_GOLANG_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Node.js version from asdf. - typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_NODEJS_BACKGROUND=2 - # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Rust version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_RUST_BACKGROUND=208 - # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' - - # .NET Core version from asdf. - typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_BACKGROUND=5 - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Flutter version from asdf. - typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_FLUTTER_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Lua version from asdf. - typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_LUA_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Java version from asdf. - typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=1 - typeset -g POWERLEVEL9K_ASDF_JAVA_BACKGROUND=7 - # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Perl version from asdf. - typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_PERL_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Erlang version from asdf. - typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_ERLANG_BACKGROUND=1 - # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Elixir version from asdf. - typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_ELIXIR_BACKGROUND=5 - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Postgres version from asdf. - typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_POSTGRES_BACKGROUND=6 - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' - - # PHP version from asdf. - typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_PHP_BACKGROUND=5 - # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Haskell version from asdf. - typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_HASKELL_BACKGROUND=3 - # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' - - ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### - # NordVPN connection indicator color. - # typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=7 - # typeset -g POWERLEVEL9K_NORDVPN_BACKGROUND=4 - # Hide NordVPN connection indicator when not connected. - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= - # Custom icon. - # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## - # Ranger shell color. - # typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3 - # typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### - # Nnn shell color. - # typeset -g POWERLEVEL9K_NNN_FOREGROUND=0 - # typeset -g POWERLEVEL9K_NNN_BACKGROUND=6 - # Custom icon. - # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########################[ vim_shell: vim shell indicator (:sh) ]########################### - # Vim shell indicator color. - # typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_VIM_SHELL_BACKGROUND=2 - # Custom icon. - # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### - # Midnight Commander shell color. - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=3 - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## - # Nix shell color. - # typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4 - - # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. - # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ disk_usage: disk usage ]################################## - # Colors for different levels of disk usage. - # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3 - # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND=0 - # typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=0 - # typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND=3 - # typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=7 - # typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND=1 - # Thresholds for different levels of disk usage (percentage points). - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 - # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. - typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false - # Custom icon. - # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### - # Foreground color. - typeset -g POWERLEVEL9K_VI_MODE_FOREGROUND=0 - # Text and color for normal (a.k.a. command) vi mode. - typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL - typeset -g POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND=2 - # Text and color for visual vi mode. - typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL - typeset -g POWERLEVEL9K_VI_MODE_VISUAL_BACKGROUND=4 - # Text and color for overtype (a.k.a. overwrite and replace) vi mode. - typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE - typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_BACKGROUND=3 - # Text and color for insert vi mode. - typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= - typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8 - - ######################################[ ram: free RAM ]####################################### - # RAM color. - # typeset -g POWERLEVEL9K_RAM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RAM_BACKGROUND=3 - # Custom icon. - # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################################[ swap: used swap ]###################################### - # Swap color. - # typeset -g POWERLEVEL9K_SWAP_FOREGROUND=0 - # typeset -g POWERLEVEL9K_SWAP_BACKGROUND=3 - # Custom icon. - # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ load: CPU load ]###################################### - # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. - typeset -g POWERLEVEL9K_LOAD_WHICH=5 - # Load color when load is under 50%. - # typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LOAD_NORMAL_BACKGROUND=2 - # Load color when load is between 50% and 70%. - # typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LOAD_WARNING_BACKGROUND=3 - # Load color when load is over 70%. - # typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND=1 - # Custom icon. - # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ - # Todo color. - # typeset -g POWERLEVEL9K_TODO_FOREGROUND=0 - # typeset -g POWERLEVEL9K_TODO_BACKGROUND=8 - # Hide todo when the total number of tasks is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true - # Hide todo when the number of tasks after filtering is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false - - # Todo format. The following parameters are available within the expansion. - # - # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. - # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. - # - # These variables correspond to the last line of the output of `todo.sh -p ls`: - # - # TODO: 24 of 42 tasks shown - # - # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. - # - # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ - # Timewarrior color. - # typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=255 - # typeset -g POWERLEVEL9K_TIMEWARRIOR_BACKGROUND=8 - - # If the tracked task is longer than 24 characters, truncate and append "…". - # Tip: To always display tasks without truncation, delete the following parameter. - # Tip: To hide task names and display just the icon when time tracking is enabled, set the - # value of the following parameter to "". - typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' - - # Custom icon. - # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## - # Taskwarrior color. - # typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=0 - # typeset -g POWERLEVEL9K_TASKWARRIOR_BACKGROUND=6 - - # Taskwarrior segment format. The following parameters are available within the expansion. - # - # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. - # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. - # - # Zero values are represented as empty parameters. - # - # The default format: - # - # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' - # - # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ context: user@hostname ]################################## - # Context color when running with privileges. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1 - typeset -g POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND=0 - # Context color in SSH without privileges. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=3 - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_BACKGROUND=0 - # Default context color (no privileges, no SSH). - typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=3 - typeset -g POWERLEVEL9K_CONTEXT_BACKGROUND=0 - - # Context format when running with privileges: user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%n@%m' - # Context format when in SSH without privileges: user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' - # Default context format (no privileges, no SSH): user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' - - # Don't show context unless running with privileges or in SSH. - # Tip: Remove the next line to always show context. - typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_CONTEXT_PREFIX='with ' - - ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### - # Python virtual environment color. - # typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_VIRTUALENV_BACKGROUND=4 - # Don't show Python version next to the virtual environment name. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false - # Don't show virtualenv if pyenv is already shown. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false - # Separate environment name from Python version only with a space. - typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ anaconda: conda environment (https://conda.io/) ]###################### - # Anaconda environment color. - # typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=0 - # typeset -g POWERLEVEL9K_ANACONDA_BACKGROUND=4 - # Don't show Python version next to the anaconda environment name. - typeset -g POWERLEVEL9K_ANACONDA_SHOW_PYTHON_VERSION=false - # Separate environment name from Python version only with a space. - typeset -g POWERLEVEL9K_ANACONDA_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ - # Pyenv color. - # typeset -g POWERLEVEL9K_PYENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PYENV_BACKGROUND=4 - # Hide python version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) - # If set to false, hide python version if it's the same as global: - # $(pyenv version-name) == $(pyenv global). - typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide python version if it's equal to "system". - typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true - - # Pyenv segment format. The following parameters are available within the expansion. - # - # - P9K_CONTENT Current pyenv environment (pyenv version-name). - # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). - # - # The default format has the following logic: - # - # 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not - # empty and unequal to $P9K_CONTENT. - # 2. Otherwise display just "$P9K_CONTENT". - typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}' - - # Custom icon. - # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ - # Goenv color. - # typeset -g POWERLEVEL9K_GOENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_GOENV_BACKGROUND=4 - # Hide go version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) - # If set to false, hide go version if it's the same as global: - # $(goenv version-name) == $(goenv global). - typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide go version if it's equal to "system". - typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## - # Nodenv color. - # typeset -g POWERLEVEL9K_NODENV_FOREGROUND=2 - # typeset -g POWERLEVEL9K_NODENV_BACKGROUND=0 - # Hide node version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) - # If set to false, hide node version if it's the same as global: - # $(nodenv version-name) == $(nodenv global). - typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide node version if it's equal to "system". - typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### - # Nvm color. - # typeset -g POWERLEVEL9K_NVM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_NVM_BACKGROUND=5 - # Custom icon. - # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ - # Nodeenv color. - # typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=2 - # typeset -g POWERLEVEL9K_NODEENV_BACKGROUND=0 - # Don't show Node version next to the environment name. - typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false - # Separate environment name from Node version only with a space. - typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############################[ node_version: node.js version ]############################### - # Node version color. - # typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=7 - # typeset -g POWERLEVEL9K_NODE_VERSION_BACKGROUND=2 - # Show node version only when in a directory tree containing package.json. - typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ go_version: go version (https://golang.org) ]######################## - # Go version color. - # typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=255 - # typeset -g POWERLEVEL9K_GO_VERSION_BACKGROUND=2 - # Show go version only when in a go project subdirectory. - typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## - # Rust version color. - # typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RUST_VERSION_BACKGROUND=208 - # Show rust version only when in a rust project subdirectory. - typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ - # .NET version color. - # typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=7 - # typeset -g POWERLEVEL9K_DOTNET_VERSION_BACKGROUND=5 - # Show .NET version only when in a .NET project subdirectory. - typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ php_version: php version (https://www.php.net/) ]###################### - # PHP version color. - typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=0 - typeset -g POWERLEVEL9K_PHP_VERSION_BACKGROUND=5 - # Show PHP version only when in a PHP project subdirectory. - typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### - # Laravel version color. - typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=1 - typeset -g POWERLEVEL9K_LARAVEL_VERSION_BACKGROUND=7 - # Custom icon. - # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## - # Rbenv color. - # typeset -g POWERLEVEL9K_RBENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RBENV_BACKGROUND=1 - # Hide ruby version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) - # If set to false, hide ruby version if it's the same as global: - # $(rbenv version-name) == $(rbenv global). - typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide ruby version if it's equal to "system". - typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ####################[ java_version: java version (https://www.java.com/) ]#################### - # Java version color. - typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=1 - typeset -g POWERLEVEL9K_JAVA_VERSION_BACKGROUND=7 - # Show java version only when in a java project subdirectory. - typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true - # Show brief version. - typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false - # Custom icon. - # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### - # Package color. - # typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PACKAGE_BACKGROUND=6 - - # Package format. The following parameters are available within the expansion. - # - # - P9K_PACKAGE_NAME The value of `name` field in package.json. - # - P9K_PACKAGE_VERSION The value of `version` field in package.json. - # - # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' - - # Custom icon. - # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## - # Rvm color. - # typeset -g POWERLEVEL9K_RVM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RVM_BACKGROUND=240 - # Don't show @gemset at the end. - typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false - # Don't show ruby- at the front. - typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false - # Custom icon. - # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ - # Fvm color. - # typeset -g POWERLEVEL9K_FVM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_FVM_BACKGROUND=4 - # Custom icon. - # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### - # Lua color. - # typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LUAENV_BACKGROUND=4 - # Hide lua version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) - # If set to false, hide lua version if it's the same as global: - # $(luaenv version-name) == $(luaenv global). - typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide lua version if it's equal to "system". - typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ - # Java color. - # typeset -g POWERLEVEL9K_JENV_FOREGROUND=1 - # typeset -g POWERLEVEL9K_JENV_BACKGROUND=7 - # Hide java version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) - # If set to false, hide java version if it's the same as global: - # $(jenv version-name) == $(jenv global). - typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide java version if it's equal to "system". - typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ - # Perl color. - # typeset -g POWERLEVEL9K_PLENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PLENV_BACKGROUND=4 - # Hide perl version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) - # If set to false, hide perl version if it's the same as global: - # $(plenv version-name) == $(plenv global). - typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide perl version if it's equal to "system". - typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ - # PHP color. - # typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PHPENV_BACKGROUND=5 - # Hide php version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) - # If set to false, hide php version if it's the same as global: - # $(phpenv version-name) == $(phpenv global). - typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide PHP version if it's equal to "system". - typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### - # Haskell color. - # typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=0 - # typeset -g POWERLEVEL9K_HASKELL_STACK_BACKGROUND=3 - - # Hide haskell version if it doesn't come from one of these sources. - # - # shell: version is set by STACK_YAML - # local: version is set by stack.yaml up the directory tree - # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) - typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) - # If set to false, hide haskell version if it's the same as in the implicit global project. - typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true - # Custom icon. - # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ terraform: terraform workspace (https://www.terraform.io) ]################# - # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current terraform workspace gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current terraform workspace is "project_test", its class is TEST because "project_test" - # doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=2 - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_FOREGROUND=4 - typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_BACKGROUND=0 - # typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# - # Show kubecontext only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show kubecontext. - typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito' - - # Kubernetes context classes for the purpose of using different colors, icons and expansions with - # different contexts. - # - # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current kubernetes context gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current kubernetes context is "deathray-testing/default", its class is TEST - # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=0 - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_BACKGROUND=2 - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=7 - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_BACKGROUND=5 - # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext - # segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # Within the expansion the following parameters are always available: - # - # - P9K_CONTENT The content that would've been displayed if there was no content - # expansion defined. - # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE - # in the output of `kubectl config get-contexts`. If there is no - # namespace, the parameter is set to "default". - # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the - # output of `kubectl config get-contexts`. - # - # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), - # the following extra parameters are available: - # - # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. - # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. - # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. - # - # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, - # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=gke - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - # - # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=eks - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= - # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' - # Append the current context's namespace if it's not "default". - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' - - # Custom prefix. - typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='at ' - - #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# - # Show aws only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi' - - # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current AWS profile gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current AWS profile is "company_test", its class is TEST - # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - # typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=7 - # typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1 - # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# - # AWS Elastic Beanstalk environment color. - # typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2 - # typeset -g POWERLEVEL9K_AWS_EB_ENV_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## - # Show azure only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi' - # Azure account name color. - # typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7 - # typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4 - # Custom icon. - # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### - # Show gcloud only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show gcloud. - typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs' - # Google cloud color. - # typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7 - # typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4 - - # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or - # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative - # enough. You can use the following parameters in the expansions. Each of them corresponds to the - # output of `gcloud` tool. - # - # Parameter | Source - # -------------------------|-------------------------------------------------------------------- - # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' - # P9K_GCLOUD_ACCOUNT | gcloud config get-value account - # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project - # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced with '%%'. - # - # Obtaining project name requires sending a request to Google servers. This can take a long time - # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud - # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets - # set and gcloud prompt segment transitions to state COMPLETE. - # - # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL - # and COMPLETE. You can also hide gcloud in state PARTIAL by setting - # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and - # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. - typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' - typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' - - # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name - # this often. Negative value disables periodic polling. In this mode project name is retrieved - # only when the current configuration, account or project id changes. - typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 - - # Custom icon. - # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# - # Show google_app_cred only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi' - - # Google application credentials classes for the purpose of using different colors, icons and - # expansions with different credentials. - # - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first - # element in each pair defines a pattern against which the current kubernetes context gets - # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion - # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION - # parameters, you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. - # The first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD - # '*:*test*:*' TEST - # '*' DEFAULT) - # - # If your current Google application credentials is "service_account deathray-testing x@y.com", - # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD # These values are examples that are unlikely - # '*:*test*:*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=7 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_BACKGROUND=4 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by - # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # You can use the following parameters in the expansion. Each of them corresponds to one of the - # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. - # - # Parameter | JSON key file field - # ---------------------------------+--------------- - # P9K_GOOGLE_APP_CRED_TYPE | type - # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id - # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced by '%%'. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' - - ###############################[ public_ip: public IP address ]############################### - # Public IP color. - # typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7 - # typeset -g POWERLEVEL9K_PUBLIC_IP_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ########################[ vpn_ip: virtual private network indicator ]######################### - # VPN IP color. - # typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=0 - # typeset -g POWERLEVEL9K_VPN_IP_BACKGROUND=6 - # When on VPN, show just an icon without the IP address. - # Tip: To display the private IP address when on VPN, remove the next line. - typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= - # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN - # to see the name of the interface. - typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(wg|(.*tun))[0-9]*' - # If set to true, show one segment per matching network interface. If set to false, show only - # one segment corresponding to the first matching network interface. - # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. - typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false - # Custom icon. - # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### - # IP color. - typeset -g POWERLEVEL9K_IP_BACKGROUND=4 - typeset -g POWERLEVEL9K_IP_FOREGROUND=0 - # The following parameters are accessible within the expansion: - # - # Parameter | Meaning - # ----------------------+--------------- - # P9K_IP_IP | IP address - # P9K_IP_INTERFACE | network interface - # P9K_IP_RX_BYTES | total number of bytes received - # P9K_IP_TX_BYTES | total number of bytes sent - # P9K_IP_RX_RATE | receive rate (since last prompt) - # P9K_IP_TX_RATE | send rate (since last prompt) - typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+⇡$P9K_IP_TX_RATE }$P9K_IP_IP' - # Show information for the first network interface whose name matches this regular expression. - # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. - typeset -g POWERLEVEL9K_IP_INTERFACE='e.*' - # Custom icon. - # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #########################[ proxy: system-wide http/https/ftp proxy ]########################## - # Proxy color. - # typeset -g POWERLEVEL9K_PROXY_FOREGROUND=4 - # typeset -g POWERLEVEL9K_PROXY_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################################[ battery: internal battery ]################################# - # Show battery in red when it's below this level and not connected to power supply. - typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 - typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=1 - # Show battery in green when it's charging or fully charged. - typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=2 - # Show battery in yellow when it's discharging. - typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=3 - # Battery pictograms going from low to high level of charge. - typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' - # Don't show the remaining time to charge/discharge. - typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false - # typeset -g POWERLEVEL9K_BATTERY_BACKGROUND=0 - - #####################################[ wifi: wifi speed ]##################################### - # WiFi color. - # typeset -g POWERLEVEL9K_WIFI_FOREGROUND=0 - # typeset -g POWERLEVEL9K_WIFI_BACKGROUND=4 - # Custom icon. - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). - # - # # Wifi colors and icons for different signal strength levels (low to high). - # typeset -g my_wifi_fg=(0 0 0 0 0) # <-- change these values - # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values - # - # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' - # - # The following parameters are accessible within the expansions: - # - # Parameter | Meaning - # ----------------------+--------------- - # P9K_WIFI_SSID | service set identifier, a.k.a. network name - # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none" - # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second - # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 - # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 - # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) - # - # All parameters except P9K_WIFI_BARS are extracted from the output of the following command: - # - # /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I - - ####################################[ time: current time ]#################################### - # Current time color. - # typeset -g POWERLEVEL9K_TIME_FOREGROUND=0 - # typeset -g POWERLEVEL9K_TIME_BACKGROUND=7 - # Format for the current time: 09:51:02. See `man 3 strftime`. - typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' - # If set to true, time will update when you hit enter. This way prompts for the past - # commands will contain the start times of their commands as opposed to the default - # behavior where they contain the end times of their preceding commands. - typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false - # Custom icon. - # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_TIME_PREFIX='at ' - - # Example of a user-defined prompt segment. Function prompt_example will be called on every - # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or - # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and yellow text on red background - # greeting the user. - # - # Type `p10k help segment` for documentation and a more sophisticated example. - function prompt_example() { - p10k segment -b 1 -f 3 -i '⭐' -t 'hello, %n' - } - - # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job - # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function - # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k - # will replay these calls without actually calling instant_prompt_*. It is imperative that - # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this - # rule is not observed, the content of instant prompt will be incorrect. - # - # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If - # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. - function instant_prompt_example() { - # Since prompt_example always makes the same `p10k segment` calls, we can call it from - # instant_prompt_example. This will give us the same `example` prompt segment in the instant - # and regular prompts. - prompt_example - } - - # User-defined prompt segments can be customized the same way as built-in segments. - # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=3 - # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt - # when accepting a command line. Supported values: - # - # - off: Don't change prompt when accepting a command line. - # - always: Trim down prompt when accepting a command line. - # - same-dir: Trim down prompt when accepting a command line unless this is the first command - # typed after changing current working directory. - typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always - - # Instant prompt mode. - # - # - off: Disable instant prompt. Choose this if you've tried instant prompt and found - # it incompatible with your zsh configuration files. - # - quiet: Enable instant prompt and don't print warnings when detecting console output - # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - verbose: Enable instant prompt and print a warning when detecting console output during - # zsh initialization. Choose this if you've never tried instant prompt, haven't - # seen the warning, or if you are unsure what this all means. - typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet - - # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. - # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload - # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you - # really need it. - typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true - - # If p10k is already loaded, reload configuration. - # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. - (( ! $+functions[p10k] )) || p10k reload -} - -# Tell `p10k configure` which file it should overwrite. -typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} - -(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} -'builtin' 'unset' 'p10k_config_opts' diff --git a/p10k.zsh b/p10k.zsh deleted file mode 100644 index b42981ed..00000000 --- a/p10k.zsh +++ /dev/null @@ -1,1588 +0,0 @@ -# Generated by Powerlevel10k configuration wizard on 2020-09-23 at 11:45 CEST. -# Based on romkatv/powerlevel10k/config/p10k-classic.zsh. -# Wizard options: nerdfont-complete + powerline, large icons, classic, unicode, light, -# angled separators, sharp heads, slanted tails, 2 lines, solid, full frame, compact, -# many icons, fluent, instant_prompt=quiet. -# Type `p10k configure` to generate another config. -# -# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate -# your own config based on it. -# -# Tip: Looking for a nice color? Here's a one-liner to print colormap. -# -# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done - -# Temporarily change options. -'builtin' 'local' '-a' 'p10k_config_opts' -[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') -[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') -[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') -'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' - -() { - emulate -L zsh -o extended_glob - - # Unset all configuration options. This allows you to apply configuration changes without - # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. - unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' - - # Zsh >= 5.1 is required. - autoload -Uz is-at-least && is-at-least 5.1 || return - - # The list of segments shown on the left. Fill it with the most important segments. - typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - os_icon # os identifier - dir # current directory - vcs # git status - # =========================[ Line #2 ]========================= - newline # \n - # prompt_char # prompt symbol - ) - - # The list of segments shown on the right. Fill it with less important segments. - # Right prompt on the last prompt line (where you are typing your commands) gets - # automatically hidden when the input line reaches it. Right prompt above the - # last prompt line gets hidden if it would overlap with left prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - status # exit code of the last command - command_execution_time # duration of the last command - background_jobs # presence of background jobs - direnv # direnv status (https://direnv.net/) - asdf # asdf version manager (https://github.com/asdf-vm/asdf) - virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) - anaconda # conda environment (https://conda.io/) - pyenv # python environment (https://github.com/pyenv/pyenv) - goenv # go environment (https://github.com/syndbg/goenv) - nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) - nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) - nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) - # node_version # node.js version - # go_version # go version (https://golang.org) - # rust_version # rustc version (https://www.rust-lang.org) - # dotnet_version # .NET version (https://dotnet.microsoft.com) - # php_version # php version (https://www.php.net/) - # laravel_version # laravel php framework version (https://laravel.com/) - # java_version # java version (https://www.java.com/) - # package # name@version from package.json (https://docs.npmjs.com/files/package.json) - rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) - rvm # ruby version from rvm (https://rvm.io) - fvm # flutter version management (https://github.com/leoafarias/fvm) - luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) - jenv # java version from jenv (https://github.com/jenv/jenv) - plenv # perl version from plenv (https://github.com/tokuhirom/plenv) - phpenv # php version from phpenv (https://github.com/phpenv/phpenv) - scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) - haskell_stack # haskell version from stack (https://haskellstack.org/) - kubecontext # current kubernetes context (https://kubernetes.io/) - terraform # terraform workspace (https://www.terraform.io) - aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) - aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) - azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) - gcloud # google cloud cli account and project (https://cloud.google.com/) - google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) - context # user@hostname - nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) - ranger # ranger shell (https://github.com/ranger/ranger) - nnn # nnn shell (https://github.com/jarun/nnn) - vim_shell # vim shell indicator (:sh) - midnight_commander # midnight commander shell (https://midnight-commander.org/) - nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) - vi_mode # vi mode (you don't need this if you've enabled prompt_char) - # vpn_ip # virtual private network indicator - # load # CPU load - # disk_usage # disk usage - # ram # free RAM - # swap # used swap - todo # todo items (https://github.com/todotxt/todo.txt-cli) - timewarrior # timewarrior tracking status (https://timewarrior.net/) - taskwarrior # taskwarrior task count (https://taskwarrior.org/) - # time # current time - # =========================[ Line #2 ]========================= - newline # \n - # ip # ip address and bandwidth usage for a specified network interface - # public_ip # public IP address - # proxy # system-wide http/https/ftp proxy - # battery # internal battery - # wifi # wifi speed - # example # example user-defined segment (see prompt_example function below) - ) - - # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. - typeset -g POWERLEVEL9K_MODE=nerdfont-complete - # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid - # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. - typeset -g POWERLEVEL9K_ICON_PADDING=moderate - - # When set to true, icons appear before content on both sides of the prompt. When set - # to false, icons go after content. If empty or not set, icons go before content in the left - # prompt and after content in the right prompt. - # - # You can also override it for a specific segment: - # - # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false - # - # Or for a specific segment in specific state: - # - # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false - typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= - - # Add an empty line before each prompt. - typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false - - # Connect left prompt lines with these symbols. You'll probably want to use the same color - # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%242F╭─' - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%242F├─' - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%242F╰─' - # Connect right prompt lines with these symbols. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%242F─╮' - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%242F─┤' - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%242F─╯' - - # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or - # '─'. The last two make it easier to see the alignment between left and right prompt and to - # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false - # for more compact prompt if using using this option. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='─' - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= - if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then - # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE - # ornaments defined above. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242 - # Start filler from the edge of the screen if there are no left segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' - # End filler on the edge of the screen if there are no right segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' - fi - - # Default background color. - typeset -g POWERLEVEL9K_BACKGROUND=238 - - # Separator between same-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%246F\uE0B1' - # Separator between same-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%246F\uE0B3' - # Separator between different-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' - # Separator between different-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' - # The right end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0' - # The left end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2' - # The left end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0BA ' - # The right end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0BC ' - # Left prompt terminator for lines without any segments. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - - #################################[ os_icon: os identifier ]################################## - # OS identifier color. - typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=255 - # Custom icon. - # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' - - ################################[ prompt_char: prompt symbol ]################################ - # Transparent background. - typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= - # Green prompt symbol if the last command succeeded. - typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 - # Red prompt symbol if the last command failed. - typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 - # Default prompt symbol. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' - # Prompt symbol in command vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' - # Prompt symbol in visual vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' - # Prompt symbol in overwrite vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' - typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true - # No line terminator if prompt_char is the last segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - # No line introducer if prompt_char is the first segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= - # No surrounding whitespace. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= - - ##################################[ dir: current directory ]################################## - # Default current directory color. - typeset -g POWERLEVEL9K_DIR_FOREGROUND=31 - # If directory is too long, shorten some of its segments to the shortest possible unique - # prefix. The shortened directory can be tab-completed to the original. - typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique - # Replace removed segment suffixes with this symbol. - typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= - # Color of the shortened directory segments. - typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103 - # Color of the anchor directory segments. Anchor segments are never shortened. The first - # segment is always an anchor. - typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=39 - # Display anchor directory segments in bold. - typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true - # Don't shorten directories that contain any of these files. They are anchors. - local anchor_files=( - .bzr - .citc - .git - .hg - .node-version - .python-version - .go-version - .ruby-version - .lua-version - .java-version - .perl-version - .php-version - .tool-version - .shorten_folder_marker - .svn - .terraform - CVS - Cargo.toml - composer.json - go.mod - package.json - stack.yaml - ) - typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" - # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains - # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is - # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) - # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers - # and other directories don't. - # - # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer. - # This moves the truncation point to the right (positive offset) or to the left (negative offset) - # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" - # respectively. - typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false - # Don't shorten this many last directory segments. They are anchors. - typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 - # Shorten directory if it's longer than this even if there is space for it. The value can - # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, - # directory will be shortened only when prompt doesn't fit or when other parameters demand it - # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). - # If set to `0`, directory will always be shortened to its minimum length. - typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this - # many columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least - # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 - # If set to true, embed a hyperlink into the directory. Useful for quickly - # opening a directory in the file manager simply by clicking the link. - # Can also be handy when the directory is shortened, as it allows you to see - # the full directory that was used in previous commands. - typeset -g POWERLEVEL9K_DIR_HYPERLINK=false - - # Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and - # POWERLEVEL9K_DIR_CLASSES below. - typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2 - - # The default icon shown next to non-writable directories when POWERLEVEL9K_DIR_SHOW_WRITABLE is - # set to v2. - # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' - - # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different - # directories. It must be an array with 3 * N elements. Each triplet consists of: - # - # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with - # extended_glob option enabled. - # 2. Directory class for the purpose of styling. - # 3. An empty string. - # - # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. - # - # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v2 and the current directory is not writable, - # its class gets suffix _NOT_WRITABLE. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=( - # '~/work(|/*)' WORK '' - # '~(|/*)' HOME '' - # '*' DEFAULT '') - # - # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with class - # WORK or WORK_NOT_WRITABLE. - # - # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an - # option to define custom colors and icons for different directory classes. - # - # # Styling for WORK. - # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39 - # - # # Styling for WORK_NOT_WRITABLE. - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 - # - # If a styling parameter isn't explicitly defined for some class, it falls back to the classless - # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls - # back to POWERLEVEL9K_DIR_FOREGROUND. - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=() - - # Custom prefix. - # typeset -g POWERLEVEL9K_DIR_PREFIX='%248Fin ' - - #####################################[ vcs: git status ]###################################### - # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. - typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' - - # Untracked files icon. It's really a question mark, your font isn't broken. - # Change the value of this parameter to show a different icon. - typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' - - # Formatter for Git status. - # - # Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42. - # - # You can edit the function to customize how Git status looks. - # - # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: - # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. - function my_git_formatter() { - emulate -L zsh - - if [[ -n $P9K_CONTENT ]]; then - # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from - # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. - typeset -g my_git_format=$P9K_CONTENT - return - fi - - if (( $1 )); then - # Styling for up-to-date Git status. - local meta='%248F' # grey foreground - local clean='%76F' # green foreground - local modified='%178F' # yellow foreground - local untracked='%39F' # blue foreground - local conflicted='%196F' # red foreground - else - # Styling for incomplete and stale Git status. - local meta='%244F' # grey foreground - local clean='%244F' # grey foreground - local modified='%244F' # grey foreground - local untracked='%244F' # grey foreground - local conflicted='%244F' # grey foreground - fi - - local res - local where # branch or tag - if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then - res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}" - where=${(V)VCS_STATUS_LOCAL_BRANCH} - elif [[ -n $VCS_STATUS_TAG ]]; then - res+="${meta}#" - where=${(V)VCS_STATUS_TAG} - fi - - # If local branch name or tag is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show local branch name in full without truncation, delete the next line. - (( $#where > 32 )) && where[13,-13]="…" - - res+="${clean}${where//\%/%%}" # escape % - - # Display the current Git commit if there is no branch or tag. - # Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line. - [[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" - - # Show tracking branch name if it differs from local branch. - if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then - res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape % - fi - - # ⇣42 if behind the remote. - (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" - # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. - (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " - (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" - # ⇠42 if behind the push remote. - (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" - (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " - # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. - (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" - # *42 if have stashes. - (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" - # 'merge' if the repo is in an unusual state. - [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" - # ~42 if have merge conflicts. - (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" - # +42 if have staged changes. - (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" - # !42 if have unstaged changes. - (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" - # ?42 if have untracked files. It's really a question mark, your font isn't broken. - # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. - # Remove the next line if you don't want to see untracked files at all. - (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" - # "─" if the number of unstaged files is unknown. This can happen due to - # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower - # than the number of files in the Git index, or due to bash.showDirtyState being set to false - # in the repository config. The number of staged and untracked files may also be unknown - # in this case. - (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" - - typeset -g my_git_format=$res - } - functions -M my_git_formatter 2>/dev/null - - # Don't count the number of unstaged, untracked and conflicted files in Git repositories with - # more than this many files in the index. Negative value means infinity. - # - # If you are working in Git repositories with tens of millions of files and seeing performance - # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output - # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's - # config: `git config bash.showDirtyState false`. - typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 - - # Don't show Git status in prompt for repositories whose workdir matches this pattern. - # For example, if set to '~', the Git repository at $HOME/.git will be ignored. - # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. - typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' - - # Disable the default Git status formatting. - typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true - # Install our own Git status formatter. - typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}' - typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}' - # Enable counters for staged, unstaged, etc. - typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 - - # Icon color. - typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76 - typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244 - # Custom icon. - # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_VCS_PREFIX='%248Fon ' - - # Show status of repositories of these types. You can add svn and/or hg if you are - # using them. If you do, your prompt may become slow even when your current directory - # isn't in an svn or hg reposotiry. - typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) - - # These settings are used for repositories other than Git or when gitstatusd fails and - # Powerlevel10k has to fall back to using vcs_info. - typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76 - typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76 - typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178 - - ##########################[ status: exit code of the last command ]########################### - # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and - # style them independently from the regular OK and ERROR state. - typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true - - # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as - # it will signify success by turning green. - typeset -g POWERLEVEL9K_STATUS_OK=true - typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70 - typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' - - # Status when some part of a pipe command fails but the overall exit status is zero. It may look - # like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70 - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' - - # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as - # it will signify error by turning red. - typeset -g POWERLEVEL9K_STATUS_ERROR=true - typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 - typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' - - # Status when the last command was terminated by a signal. - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160 - # Use terse signal names: "INT" instead of "SIGINT(2)". - typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' - - # Status when some part of a pipe command fails and the overall exit status is also non-zero. - # It may look like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160 - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' - - ###################[ command_execution_time: duration of the last command ]################### - # Show duration of the last command if takes at least this many seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 - # Show this many fractional digits. Zero means round to seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 - # Execution time color. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=248 - # Duration format: 1d 2h 3m 4s. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' - # Custom icon. - # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%248Ftook ' - - #######################[ background_jobs: presence of background jobs ]####################### - # Don't show the number of background jobs. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false - # Background jobs color. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37 - # Custom icon. - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ direnv: direnv status (https://direnv.net/) ]######################## - # Direnv color. - typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### - # Default asdf color. Only used to display tools for which there is no color override (see below). - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND. - typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66 - - # There are four parameters that can be used to hide asdf tools. Each parameter describes - # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at - # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to - # hide a tool, it gets shown. - # - # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and - # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: - # - # asdf local python 3.8.1 - # asdf global python 3.8.1 - # - # After running both commands the current python version is 3.8.1 and its source is "local" as - # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, - # it'll hide python version in this case because 3.8.1 is the same as the global version. - # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't - # contain "local". - - # Hide tool versions that don't come from one of these sources. - # - # Available sources: - # - # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" - # - local `asdf current` says "set by /some/not/home/directory/file" - # - global `asdf current` says "set by /home/username/file" - # - # Note: If this parameter is set to (shell local global), it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. - typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) - - # If set to false, hide tool versions that are the same as global. - # - # Note: The name of this parameter doesn't reflect its meaning at all. - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. - typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false - - # If set to false, hide tool versions that are equal to "system". - # - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. - typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true - - # If set to non-empty value, hide tools unless there is a file matching the specified file pattern - # in the current directory, or its parent diretory, or its grandparent directory, and so on. - # - # Note: If this parameter is set to empty value, it won't hide tools. - # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. - # - # Example: Hide nodejs version when there is no package.json and no *.js files in the current - # directory, in `..`, in `../..` and so on. - # - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' - typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= - - # Ruby version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168 - # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Python version from asdf. - typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Go version from asdf. - typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Node.js version from asdf. - typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70 - # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Rust version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' - - # .NET Core version from asdf. - typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134 - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Flutter version from asdf. - typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38 - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Lua version from asdf. - typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32 - # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Java version from asdf. - typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32 - # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Perl version from asdf. - typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67 - # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Erlang version from asdf. - typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125 - # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Elixir version from asdf. - typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129 - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Postgres version from asdf. - typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31 - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' - - # PHP version from asdf. - typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99 - # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Haskell version from asdf. - typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172 - # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Julia version from asdf. - typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70 - # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' - - ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### - # NordVPN connection indicator color. - typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39 - # Hide NordVPN connection indicator when not connected. - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= - # Custom icon. - # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## - # Ranger shell color. - typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### - # Nnn shell color. - typeset -g POWERLEVEL9K_NNN_FOREGROUND=72 - # Custom icon. - # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########################[ vim_shell: vim shell indicator (:sh) ]########################### - # Vim shell indicator color. - typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34 - # Custom icon. - # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### - # Midnight Commander shell color. - typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## - # Nix shell color. - typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74 - - # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. - # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ disk_usage: disk usage ]################################## - # Colors for different levels of disk usage. - typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35 - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160 - # Thresholds for different levels of disk usage (percentage points). - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 - # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. - typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false - # Custom icon. - # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### - # Text and color for normal (a.k.a. command) vi mode. - typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL - typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=106 - # Text and color for visual vi mode. - typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL - typeset -g POWERLEVEL9K_VI_MODE_VISUAL_FOREGROUND=68 - # Text and color for overtype (a.k.a. overwrite and replace) vi mode. - typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE - typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_FOREGROUND=172 - # Text and color for insert vi mode. - typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= - typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66 - - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ ram: free RAM ]####################################### - # RAM color. - typeset -g POWERLEVEL9K_RAM_FOREGROUND=66 - # Custom icon. - # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################################[ swap: used swap ]###################################### - # Swap color. - typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96 - # Custom icon. - # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ load: CPU load ]###################################### - # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. - typeset -g POWERLEVEL9K_LOAD_WHICH=5 - # Load color when load is under 50%. - typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66 - # Load color when load is between 50% and 70%. - typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178 - # Load color when load is over 70%. - typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166 - # Custom icon. - # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ - # Todo color. - typeset -g POWERLEVEL9K_TODO_FOREGROUND=110 - # Hide todo when the total number of tasks is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true - # Hide todo when the number of tasks after filtering is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false - - # Todo format. The following parameters are available within the expansion. - # - # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. - # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. - # - # These variables correspond to the last line of the output of `todo.sh -p ls`: - # - # TODO: 24 of 42 tasks shown - # - # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. - # - # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ - # Timewarrior color. - typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110 - # If the tracked task is longer than 24 characters, truncate and append "…". - # Tip: To always display tasks without truncation, delete the following parameter. - # Tip: To hide task names and display just the icon when time tracking is enabled, set the - # value of the following parameter to "". - typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' - - # Custom icon. - # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## - # Taskwarrior color. - typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74 - - # Taskwarrior segment format. The following parameters are available within the expansion. - # - # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. - # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. - # - # Zero values are represented as empty parameters. - # - # The default format: - # - # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' - # - # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ context: user@hostname ]################################## - # Context color when running with privileges. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178 - # Context color in SSH without privileges. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180 - # Default context color (no privileges, no SSH). - typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180 - - # Context format when running with privileges: bold user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m' - # Context format when in SSH without privileges: user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' - # Default context format (no privileges, no SSH): user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' - - # Don't show context unless running with privileges or in SSH. - # Tip: Remove the next line to always show context. - typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%248Fwith ' - - ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### - # Python virtual environment color. - typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 - # Don't show Python version next to the virtual environment name. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false - # If set to "false", won't show virtualenv if pyenv is already shown. - # If set to "if-different", won't show virtualenv if it's the same as pyenv. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false - # Separate environment name from Python version only with a space. - typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ anaconda: conda environment (https://conda.io/) ]###################### - # Anaconda environment color. - typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37 - - # Anaconda segment format. The following parameters are available within the expansion. - # - # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. - # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. - # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). - # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). - # - # CONDA_PROMPT_MODIFIER can be configured with the following command: - # - # conda config --set env_prompt '({default_env}) ' - # - # The last argument is a Python format string that can use the following variables: - # - # - prefix The same as CONDA_PREFIX. - # - default_env The same as CONDA_DEFAULT_ENV. - # - name The last segment of CONDA_PREFIX. - # - stacked_env Comma-separated list of names in the environment stack. The first element is - # always the same as default_env. - # - # Note: '({default_env}) ' is the default value of env_prompt. - # - # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER - # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former - # is empty. - typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' - - # Custom icon. - # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ - # Pyenv color. - typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37 - # Hide python version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) - # If set to false, hide python version if it's the same as global: - # $(pyenv version-name) == $(pyenv global). - typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide python version if it's equal to "system". - typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true - - # Pyenv segment format. The following parameters are available within the expansion. - # - # - P9K_CONTENT Current pyenv environment (pyenv version-name). - # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). - # - # The default format has the following logic: - # - # 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not - # empty and unequal to $P9K_CONTENT. - # 2. Otherwise display just "$P9K_CONTENT". - typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}' - - # Custom icon. - # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ - # Goenv color. - typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37 - # Hide go version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) - # If set to false, hide go version if it's the same as global: - # $(goenv version-name) == $(goenv global). - typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide go version if it's equal to "system". - typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## - # Nodenv color. - typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70 - # Hide node version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) - # If set to false, hide node version if it's the same as global: - # $(nodenv version-name) == $(nodenv global). - typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide node version if it's equal to "system". - typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### - # Nvm color. - typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 - # Custom icon. - # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ - # Nodeenv color. - typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70 - # Don't show Node version next to the environment name. - typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false - # Separate environment name from Node version only with a space. - typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############################[ node_version: node.js version ]############################### - # Node version color. - typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70 - # Show node version only when in a directory tree containing package.json. - typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ go_version: go version (https://golang.org) ]######################## - # Go version color. - typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37 - # Show go version only when in a go project subdirectory. - typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## - # Rust version color. - typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37 - # Show rust version only when in a rust project subdirectory. - typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ - # .NET version color. - typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134 - # Show .NET version only when in a .NET project subdirectory. - typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ php_version: php version (https://www.php.net/) ]###################### - # PHP version color. - typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99 - # Show PHP version only when in a PHP project subdirectory. - typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### - # Laravel version color. - typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161 - # Custom icon. - # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ####################[ java_version: java version (https://www.java.com/) ]#################### - # Java version color. - typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32 - # Show java version only when in a java project subdirectory. - typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true - # Show brief version. - typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false - # Custom icon. - # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### - # Package color. - typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117 - # Package format. The following parameters are available within the expansion. - # - # - P9K_PACKAGE_NAME The value of `name` field in package.json. - # - P9K_PACKAGE_VERSION The value of `version` field in package.json. - # - # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' - # Custom icon. - # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## - # Rbenv color. - typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168 - # Hide ruby version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) - # If set to false, hide ruby version if it's the same as global: - # $(rbenv version-name) == $(rbenv global). - typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide ruby version if it's equal to "system". - typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## - # Rvm color. - typeset -g POWERLEVEL9K_RVM_FOREGROUND=168 - # Don't show @gemset at the end. - typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false - # Don't show ruby- at the front. - typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false - # Custom icon. - # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ - # Fvm color. - typeset -g POWERLEVEL9K_FVM_FOREGROUND=38 - # Custom icon. - # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### - # Lua color. - typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32 - # Hide lua version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) - # If set to false, hide lua version if it's the same as global: - # $(luaenv version-name) == $(luaenv global). - typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide lua version if it's equal to "system". - typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ - # Java color. - typeset -g POWERLEVEL9K_JENV_FOREGROUND=32 - # Hide java version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) - # If set to false, hide java version if it's the same as global: - # $(jenv version-name) == $(jenv global). - typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide java version if it's equal to "system". - typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ - # Perl color. - typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67 - # Hide perl version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) - # If set to false, hide perl version if it's the same as global: - # $(plenv version-name) == $(plenv global). - typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide perl version if it's equal to "system". - typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ - # PHP color. - typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99 - # Hide php version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) - # If set to false, hide php version if it's the same as global: - # $(phpenv version-name) == $(phpenv global). - typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide php version if it's equal to "system". - typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### - # Scala color. - typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160 - # Hide scala version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) - # If set to false, hide scala version if it's the same as global: - # $(scalaenv version-name) == $(scalaenv global). - typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide scala version if it's equal to "system". - typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### - # Haskell color. - typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 - # Hide haskell version if it doesn't come from one of these sources. - # - # shell: version is set by STACK_YAML - # local: version is set by stack.yaml up the directory tree - # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) - typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) - # If set to false, hide haskell version if it's the same as in the implicit global project. - typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true - # Custom icon. - # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ terraform: terraform workspace (https://www.terraform.io) ]################# - # Don't show terraform workspace if it's literally "default". - typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false - # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current terraform workspace gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' OTHER) - # - # If your current terraform workspace is "project_test", its class is TEST because "project_test" - # doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' OTHER) - typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38 - # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# - # Show kubecontext only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show kubecontext. - typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile' - - # Kubernetes context classes for the purpose of using different colors, icons and expansions with - # different contexts. - # - # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current kubernetes context gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current kubernetes context is "deathray-testing/default", its class is TEST - # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 - # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext - # segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # Within the expansion the following parameters are always available: - # - # - P9K_CONTENT The content that would've been displayed if there was no content - # expansion defined. - # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE - # in the output of `kubectl config get-contexts`. If there is no - # namespace, the parameter is set to "default". - # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the - # output of `kubectl config get-contexts`. - # - # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), - # the following extra parameters are available: - # - # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. - # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. - # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. - # - # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, - # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=gke - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - # - # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=eks - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= - # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' - # Append the current context's namespace if it's not "default". - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' - - # Custom prefix. - typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%248Fat ' - - #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# - # Show aws only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' - - # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current AWS profile gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current AWS profile is "company_test", its class is TEST - # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208 - # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# - # AWS Elastic Beanstalk environment color. - typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 - # Custom icon. - # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## - # Show azure only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' - # Azure account name color. - typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32 - # Custom icon. - # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### - # Show gcloud only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show gcloud. - typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs' - # Google cloud color. - typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32 - - # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or - # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative - # enough. You can use the following parameters in the expansions. Each of them corresponds to the - # output of `gcloud` tool. - # - # Parameter | Source - # -------------------------|-------------------------------------------------------------------- - # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' - # P9K_GCLOUD_ACCOUNT | gcloud config get-value account - # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project - # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. - # - # Obtaining project name requires sending a request to Google servers. This can take a long time - # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud - # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets - # set and gcloud prompt segment transitions to state COMPLETE. - # - # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL - # and COMPLETE. You can also hide gcloud in state PARTIAL by setting - # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and - # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. - typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' - typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' - - # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name - # this often. Negative value disables periodic polling. In this mode project name is retrieved - # only when the current configuration, account or project id changes. - typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 - - # Custom icon. - # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# - # Show google_app_cred only when the the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' - - # Google application credentials classes for the purpose of using different colors, icons and - # expansions with different credentials. - # - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first - # element in each pair defines a pattern against which the current kubernetes context gets - # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion - # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION - # parameters, you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. - # The first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD - # '*:*test*:*' TEST - # '*' DEFAULT) - # - # If your current Google application credentials is "service_account deathray-testing x@y.com", - # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD # These values are examples that are unlikely - # '*:*test*:*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by - # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # You can use the following parameters in the expansion. Each of them corresponds to one of the - # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. - # - # Parameter | JSON key file field - # ---------------------------------+--------------- - # P9K_GOOGLE_APP_CRED_TYPE | type - # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id - # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' - - ###############################[ public_ip: public IP address ]############################### - # Public IP color. - typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94 - # Custom icon. - # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ########################[ vpn_ip: virtual private network indicator ]######################### - # VPN IP color. - typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81 - # When on VPN, show just an icon without the IP address. - # Tip: To display the private IP address when on VPN, remove the next line. - typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= - # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN - # to see the name of the interface. - typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun))[0-9]*' - # If set to true, show one segment per matching network interface. If set to false, show only - # one segment corresponding to the first matching network interface. - # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. - typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false - # Custom icon. - # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### - # IP color. - typeset -g POWERLEVEL9K_IP_FOREGROUND=38 - # The following parameters are accessible within the expansion: - # - # Parameter | Meaning - # ----------------------+--------------- - # P9K_IP_IP | IP address - # P9K_IP_INTERFACE | network interface - # P9K_IP_RX_BYTES | total number of bytes received - # P9K_IP_TX_BYTES | total number of bytes sent - # P9K_IP_RX_RATE | receive rate (since last prompt) - # P9K_IP_TX_RATE | send rate (since last prompt) - typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP' - # Show information for the first network interface whose name matches this regular expression. - # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. - typeset -g POWERLEVEL9K_IP_INTERFACE='e.*' - # Custom icon. - # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #########################[ proxy: system-wide http/https/ftp proxy ]########################## - # Proxy color. - typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68 - # Custom icon. - # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################################[ battery: internal battery ]################################# - # Show battery in red when it's below this level and not connected to power supply. - typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 - typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160 - # Show battery in green when it's charging or fully charged. - typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70 - # Show battery in yellow when it's discharging. - typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 - # Battery pictograms going from low to high level of charge. - typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' - # Don't show the remaining time to charge/discharge. - typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false - - #####################################[ wifi: wifi speed ]##################################### - # WiFi color. - typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68 - # Custom icon. - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). - # - # # Wifi colors and icons for different signal strength levels (low to high). - # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values - # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values - # - # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' - # - # The following parameters are accessible within the expansions: - # - # Parameter | Meaning - # ----------------------+--------------- - # P9K_WIFI_SSID | service set identifier, a.k.a. network name - # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown - # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second - # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 - # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 - # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) - - ####################################[ time: current time ]#################################### - # Current time color. - typeset -g POWERLEVEL9K_TIME_FOREGROUND=66 - # Format for the current time: 09:51:02. See `man 3 strftime`. - typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' - # If set to true, time will update when you hit enter. This way prompts for the past - # commands will contain the start times of their commands as opposed to the default - # behavior where they contain the end times of their preceding commands. - typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false - # Custom icon. - # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_TIME_PREFIX='%248Fat ' - - # Example of a user-defined prompt segment. Function prompt_example will be called on every - # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or - # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user. - # - # Type `p10k help segment` for documentation and a more sophisticated example. - function prompt_example() { - p10k segment -f 208 -i '⭐' -t 'hello, %n' - } - - # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job - # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function - # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k - # will replay these calls without actually calling instant_prompt_*. It is imperative that - # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this - # rule is not observed, the content of instant prompt will be incorrect. - # - # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If - # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. - function instant_prompt_example() { - # Since prompt_example always makes the same `p10k segment` calls, we can call it from - # instant_prompt_example. This will give us the same `example` prompt segment in the instant - # and regular prompts. - prompt_example - } - - # User-defined prompt segments can be customized the same way as built-in segments. - # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208 - # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt - # when accepting a command line. Supported values: - # - # - off: Don't change prompt when accepting a command line. - # - always: Trim down prompt when accepting a command line. - # - same-dir: Trim down prompt when accepting a command line unless this is the first command - # typed after changing current working directory. - typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=off - - # Instant prompt mode. - # - # - off: Disable instant prompt. Choose this if you've tried instant prompt and found - # it incompatible with your zsh configuration files. - # - quiet: Enable instant prompt and don't print warnings when detecting console output - # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - verbose: Enable instant prompt and print a warning when detecting console output during - # zsh initialization. Choose this if you've never tried instant prompt, haven't - # seen the warning, or if you are unsure what this all means. - typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet - - # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. - # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload - # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you - # really need it. - typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true - - # If p10k is already loaded, reload configuration. - # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. - (( ! $+functions[p10k] )) || p10k reload -} - -# Tell `p10k configure` which file it should overwrite. -typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} - -(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} -'builtin' 'unset' 'p10k_config_opts' diff --git a/pam_environment b/pam_environment deleted file mode 100644 index a76b047c..00000000 --- a/pam_environment +++ /dev/null @@ -1,6 +0,0 @@ -# -# This file is parsed by pam_env module -# -# Syntax: simple "KEY=VAL" pairs on separate lines -# -PATH DEFAULT="~/bin:${PATH}" diff --git a/surfingkeys.js b/surfingkeys.js deleted file mode 100644 index 7130532a..00000000 --- a/surfingkeys.js +++ /dev/null @@ -1,114 +0,0 @@ -// https://brookhong.github.io/2015/09/15/surfingkeys.html - -// align then hint to the right -settings.hintAlign = "left"; - -// hint characters -Hints.characters = "asdfghjkl"; - -// intercept all error pages so Surfing keys can work on them -settings.interceptedErrors = ["*"]; - -// turn off smoothscroll -settings.smoothScroll = false; - -// show the current mode in the status bar -settings.showModeStatus = true; - -// open new tabs to the right of the current one -settings.newTabPosition = "right"; - -// disable smart page boundry jump next/previous -settings.smartPageBoundary = false; - -// make Google translate languages clickable -settings.clickableSelector = "*.jfk-button, *.goog-flat-menu-button"; - -// show only tabs from the current window -settings.omnibarTabsQuery = {currentWindow: true}; - -// Follow link in current page: f - -// Follow in new active tab: af -//mapkey ('F', 'Open link in new tab', 'Hints.create (Hints.pointers, Hints.dispatchMouseClick, {tabbed: true})'); - -// Follow in new background tab: gf -// map F -mapkey ('F', 'open a new tab in the background link', 'Hints.create (Hints.pointers, Hints.dispatchMouseClick, {tabbed: true, active: false})'); - -// Previous page in history: S -// mapkey ('H', 'backward', 'history.go (-1)'); - -// Change scroll target (iframe): cs - -// Search with google (selected word or clipboard) -// Launch search: sg -// Launch search adding site:XXX: sog -// Edit search: sG -// Edit search adding site:XXX: soG -// g is the searchalias for google define in the chrome conf -addSearchAliasX('d', 'duckduckgo', 'https://duckduckgo.com/?q=', 'o'); -addSearchAliasX('n', 'nar', 'http://newalbumreleases.net/?s=', 'o'); -addSearchAliasX('q', 'qwant', 'https://www.qwant.com/?q=', 'o'); -addSearchAliasX('r', 'drive', 'https://drive.google.com/drive/search?q=', 'o'); -addSearchAliasX('gh', 'github', 'https://github.com/search?q=', 'o'); -addSearchAliasX('wke', 'wikipedia_en', 'https://en.wikipedia.org/w/index.php?search=', 'o'); -addSearchAliasX('wkf', 'wikipedia_fr', 'https://fr.wikipedia.org/w/index.php?search=', 'o'); -settings.defaultSearchEngine = 'd'; - -// Edit URL to open in new tab -// su - -// Edit settings: se - -// Edit input with vim editor: I - -// Markdown preview from clipboard -// sm (preview markdown) -// sm (show/edit markdown) -// :Wq (update preview) - -// Show usage: ?: us -// Search with default search engine or open from clipboard -// map p in new tab -// map P in current tab - -// Add bookmark with a - -// Access tab/buffer with b - -// Disable for sites X - -// Vimium/vimperator-like settings -// https://brookhong.github.io/2015/09/15/surfingkeys.html -map('u', 'e'); -mapkey('p', "Open the clipboard's URL in the current tab", function() { - Front.getContentFromClipboard(function(response) { - window.location.href = response.data; - }); -}); -map('P', 'cc'); -map('gi', 'i'); -map('F', 'af'); -map('gf', 'w'); -map('`', '\''); -// save default key `t` to temp key `>_t` -map('>_t', 't'); -// create a new key `t` for default key `on` -map('t', 'on'); -// create a new key `o` for saved temp key `>_t` -map('o', '>_t'); -map('H', 'S'); -map('L', 'D'); -map('gt', 'R'); -map('gT', 'E'); -map('K', 'R'); -map('J', 'E'); - -// Disabling SurfkingKeys on https://app.asana.com -"blacklist": { - "https://github.com": 1, - "https://app.asana.com": 1 -}, - -// vim:ft=javascript:foldmethod=marker:foldlevel=0: diff --git a/taskrc b/taskrc deleted file mode 100755 index fd0afdf8..00000000 --- a/taskrc +++ /dev/null @@ -1,34 +0,0 @@ -# [Created by task 2.5.1 10/9/2017 17:09:37] -# Taskwarrior program configuration file. -# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color', -# 'man task-sync' or 'man taskrc' - -# Use the command 'task show' to see all defaults and overrides - -# Files -data.location=~/.task - -# Color theme -#include /usr/share/doc/task/rc/solarized-dark-256.theme - -# Reports -rc.report.next.filter=status:pending,+UNBLOCKED,+@baptiste.grenier -report.next.sort=status-,start-,priority-,project+,due+ - -# Calendar -calendar.details=full -calendar.holidays=sparse - -# https://taskwarrior.org/docs/workflow.html - -# Hooks -# - warn when no project -# - git hook to commit changes? -# - Color EGI tasks -# - start and stop to indicate what I am currently working on, so I can remember where to pick up the next day -uda.reviewed.type=date -uda.reviewed.label=Reviewed -report._reviewed.description=Tasksh review report. Adjust the filter to your needs. -report._reviewed.columns=uuid -report._reviewed.sort=reviewed+,modified+ -report._reviewed.filter=( reviewed.none: or reviewed.before:now-6days ) and ( +PENDING or +WAITING ) diff --git a/tmux.conf b/tmux.conf deleted file mode 100644 index 5e4de865..00000000 --- a/tmux.conf +++ /dev/null @@ -1,148 +0,0 @@ -# Use vi bindings -setw -g mode-keys vi -set-option -g status-keys vi - -# Allow nested tmux sessions by making "C-b b" possible for sending a control -# sequence to a nested session -bind-key b send-prefix - -# XXX Not supported with version in CentOS 7 -set-window-option -g mouse off - -# Add true color support -# $TERM, fix colors / use true colors -# set -g default-terminal "tmux-256color" -set -g default-terminal "screen-256color" -# XXX this seems to be the setting breaking neomutt -# (artefacts in index after opening the pager) -# set -g default-terminal "xterm-256color" -set -ga terminal-overrides ",*256col*:Tc" - -# reload -bind-key R respawn-window - -# Start Window Numbering at 1 -set -g base-index 1 - -## Copy mode -# http://jasonwryan.com/blog/2011/06/07/copy-and-paste-in-tmux/ -# -# Copying between tmux frames - -# ctrl-b [ - enter copy mode -# move cursor to the start or end of the desired text string -# V - to activate fulle line highlighting (to be clarified how to do ) -# move cursor to cover the requisite string -# y - to copy system clipboard -# ctrl-b ] - to paste system clipboard - -# URL view -bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlview" '$SHELL -c "urlview < /tmp/tmux-buffer"' - -# Shortcut for resizing panes -bind up resize-pane -U 5 -bind down resize-pane -D 5 -bind left resize-pane -L 5 -bind right resize-pane -R 5 - -# pane movement -bind-key @ command-prompt -p "create pane from:" "join-pane -s '%%'" -bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" - -# window movement / renumbering like in screen's :number -bind-key m command-prompt -p "move window to:" "swap-window -t '%%'" -bind-key . command-prompt "move-window -r -t '%%'" - -# Use zsh (login shell by default) -# https://superuser.com/questions/968942/why-does-tmux-create-new-windows-as-login-shells-by-default -# http://openbsd-archive.7691.n7.nabble.com/tmux-and-login-shells-td170948.html -# Use ZSH from homebrew on MacOS X -# if-shell "uname | grep -q Darwin" "set -g default-shell '/usr/local/bin/zsh'" "set -g default-shell '/bin/zsh'" - -# Disable automatic changes of titles -set -g set-titles on -# set -g set-titles-string "#T" -set-window-option -g automatic-rename on -set-window-option -g allow-rename on -set -g renumber-windows on - -set-option -g status-position "top" - -# Tmux resurect -# prefix + Ctrl-s - save -# prefix + Ctrl-r - restore - -# Restore more programms -set -g @resurrect-processes 'neomutt' -# set -g @resurrect-processes 'ssh mutt psql mysql sqlite3' -# set -g @resurrect-processes '"sudo journalctl -fxn"' - -# Resurrect vim session (see https://github.com/tpope/vim-obsession) -#set -g @resurrect-strategy-vim 'session' -set -g @resurrect-strategy-nvim 'session' - -# Resurrect pane content -set -g @resurrect-capture-pane-contents 'on' - -# Custome tmux session -# new -s work -n work neomutt -# new -s work -n mail 'neomutt' -# new-window -n dashboard 'dashboard' -# new-window -n local -# select-window -t mail - -# Tmux continuum -set -g @continuum-restore 'on' - -# Managing plugins using TPM -# prefix+I to install -# prefix+U to update - -# Logging -# Screenshot: prefix + alt + p -# Save complete history: prefix + alt + shift + p -# Unable to get some special char working -#set -g @almost-sensible 'off' -# arcticicestudio/nord-tmux \ - -set -g @tpm_plugins ' \ - dracula/tmux \ - tmux-plugins/tmux-sensible \ - tmux-plugins/tmux-resurrect \ - tmux-plugins/tmux-continuum \ - tmux-plugins/tmux-yank \ - tmux-plugins/tmux-pain-control \ - tmux-plugins/tmux-copycat \ - tmux-plugins/tmux-open \ - tmux-plugins/tmux-prefix-highlight \ - tmux-plugins/tmux-sessionist \ - tmux-plugins/tmux-logging \ - tmux-plugins/tpm \ -' - -# Dracula theme options -# https://draculatheme.com/tmux -set -g @dracula-show-battery false -set -g @dracula-show-network false -set -g @dracula-show-weather false -set -g @dracula-show-fahrenheit false -set -g @dracula-cpu-usage false -set -g @dracula-ram-usage false -set -g @dracula-gpu-usage false - -set -g @dracula-show-powerline true -set -g @dracula-show-left-sep  -set -g @dracula-show-right-sep  -set -g @dracula-military-time true -set -g @dracula-show-left-icon 💀 -set -g @dracula-border-contrast true - -# Bootstrap tpm if needed -if "test ! -d ~/.tmux/plugins/tpm" \ - "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'" - -# Initialize TMUX plugin manager -run '~/.tmux/plugins/tpm/tpm' - -# Source local configuration if any -if '[ -f ~/.tmux.local.conf ]' 'run ~/.tmux.local.conf' diff --git a/tmux.conf-kali b/tmux.conf-kali deleted file mode 100644 index 0c7c41b0..00000000 --- a/tmux.conf-kali +++ /dev/null @@ -1,59 +0,0 @@ - -# Allow nested tmux sessions by making "C-b b" possible for sending a control -# sequence to a nested session -bind-key b send-prefix - -# Shortcut for resizing panes -bind up resize-pane -U 5 -bind down resize-pane -D 5 -bind left resize-pane -L 5 -bind right resize-pane -R 5 - -# pane movement -bind-key @ command-prompt -p "create pane from:" "join-pane -s '%%'" -bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" - -# window movement / renumbering like in screen's :number -bind-key m command-prompt -p "move window to:" "swap-window -t '%%'" -bind-key . command-prompt "move-window -r -t '%%'" - -# Use zsh (login shell) -# Use ZSH from homebrew on MacOS X -if-shell "uname | grep -q Darwin" "set -g default-command '/usr/local/bin/zsh -l'" "set -g default-command '/bin/zsh -l'" - -# Tmux continuum -set -g @continuum-restore 'on' - -# Managing plugins using TPM -# prefix+I to install -# prefix+U to update - -# Logging -# Screenshot: prefix + alt + p -# Save complete history: prefix + alt + shift + p -# Unable to get some special char working -#set -g @almost-sensible 'off' -set -g @tpm_plugins ' \ - arcticicestudio/nord-tmux \ - tmux-plugins/tmux-sensible \ - tmux-plugins/tmux-resurrect \ - tmux-plugins/tmux-continuum \ - tmux-plugins/tmux-yank \ - tmux-plugins/tmux-pain-control \ - tmux-plugins/tmux-copycat \ - tmux-plugins/tmux-open \ - tmux-plugins/tmux-prefix-highlight \ - tmux-plugins/tmux-sessionist \ - tmux-plugins/tmux-logging \ - tmux-plugins/tpm \ -' - -# Bootstrap tpm if needed -if "test ! -d ~/.tmux/plugins/tpm" \ - "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'" - -# Initialize TMUX plugin manager -run '~/.tmux/plugins/tpm/tpm' - -# Source local configuration if any -if '[ -f ~/.tmux.local.conf ]' 'run ~/.tmux.local.conf' diff --git a/xinitrc b/xinitrc deleted file mode 100755 index a00474da..00000000 --- a/xinitrc +++ /dev/null @@ -1,37 +0,0 @@ -# Initialize X conf and launch window manager - -# Unclutter - hides the mouse cursor after 5 seconds of idle -# unclutter -root -jitter 10 & - -# Disable beeps -# xset -b - -# DPMS monitor setting (standby -> suspend -> off) (seconds) -# xset dpms 600 1200 3600 - -# Set default black background -# xsetroot -solid '#101010' -# xsetroot -cursor_name left_ptr - -# https://wiki.archlinux.org/index.php/GNOME/Keyring -# XXX neverused, not needed yet -# XXX useful? -# dbus-update-activation-environment --systemd DISPLAY - -# https://askubuntu.com/questions/725115/how-to-start-gnome-keyring-daemon-outside-of-unity -# Launch gnome-keyring-daemon for secrets, ssh keys and gpg -# if [ -n "$PS1" ] && [ -z "$SSH_CONNECTION" ]; then -# eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,secrets,ssh) -# export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK -# fi -# XXX with LightDM should be started by -# /etc/xdg/autostart/gnome-keyring-pkcs11.desktop -# /etc/xdg/autostart/gnome-keyring-secrets.desktop -# /etc/xdg/autostart/gnome-keyring-ssh.desktop -# XXX What about gnupg? -# eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gnupg) -# export SSH_AUTH_SOCK - -# Verbose i3 -# exec i3 -V > ~/tmp/i3log 2>&1 -exec i3 > ~/tmp/i3log 2>&1 diff --git a/yaourtrc b/yaourtrc deleted file mode 100644 index bc591f6c..00000000 --- a/yaourtrc +++ /dev/null @@ -1,63 +0,0 @@ -# yaourtrc - Configuration for yaourt -# -# See yaourtrc(5) for more information -# -# - -# General -#AUTOSAVEBACKUPFILE=0 -#DEVEL=0 -#DEVELSRCDIR="" -#FORCE=0 -#NO_TESTDB=0 - -# Environment variables -#EDITOR="$EDITOR" -TMPDIR="/var/abs/local/yaourt-tmp" -#VISUAL="$VISUAL" - -# SUDO -#SUDONOVERIF=0 # Avoid multiple sudo checks when timestamp_timeout=0 -#SUDOREDIRECT=1 # Define to 0 in case you use a fingerprint device - -# AUR -#AURURL="https://aur.archlinux.org" -#AURCOMMENT=5 -#AURDEVELONLY=0 -#AURSEARCH=1 -#AURSHOWDIFF=0 -#AURUPGRADE=0 -#AURVOTE=1 -#AURUSEGIT=0 - -# Build -#EXPORT=0 # Export to 1: EXPORTDIR or PKGDEST - # 2: pacman cache (as root) -#EXPORTSRC=0 # Need EXPORT>0 to be used -#EXPORTDIR="" # If empty, use makepkg's configuration (see makepkg.conf) - -# Prompt -#NOCONFIRM=0 -#UP_NOCONFIRM=0 # No prompt while build upgrades (including -Sbu) -#BUILD_NOCONFIRM=0 # Only prompt for editing files -#PU_NOCONFIRM=0 # Add --noconfirm to $PACMAN -U -# Do not ask for editing files -EDITFILES=0 -#NOENTER=1 - -# Output -#USECOLOR=1 -#USEPAGER=0 -#DETAILUPGRADE=1 -#SHOWORPHANS=1 -#TERMINALTITLE=1 - -# Command -#PACMAN="pacman" -#MAKEPKG="makepkg" -#DIFFEDITCMD="vimdiff" - -# pacdiffviewer -#P_LOCATE=0 # Use locate instead of find -#P_SEARCHDIR=(/etc/ /boot/) -#P_SAVEDIR='/var/lib/yaourt/backupfiles' diff --git a/zsh/deprecated/zlogin b/zsh/deprecated/zlogin deleted file mode 100644 index c8c43299..00000000 --- a/zsh/deprecated/zlogin +++ /dev/null @@ -1,30 +0,0 @@ -# ~/.zlogin - -# display system informations -# uname -a -# uptime - -# Display tasks -if $(type task &> /dev/null); then - printf '\n' - task due today -fi - -# Display reminds -# if $(type remind &> /dev/null); then -# printf '\n' -# remind -f ~/.reminders -# fi - -# Print Google calendar agenda -if (( $+commands[gcalcli] )); then - gcalcli --cache --calendar baptiste.grenier@egi.eu agenda - # gcalcli --refresh --calendar baptiste.grenier@egi.eu agenda -fi - -# Print a random, hopefully interesting, adage. -if (( $+commands[fortune] )); then - printf '\n' - fortune -a - printf '\n' -fi diff --git a/zsh/deprecated/zlogout b/zsh/deprecated/zlogout deleted file mode 100644 index d8d30691..00000000 --- a/zsh/deprecated/zlogout +++ /dev/null @@ -1,10 +0,0 @@ -# Executed on logout - -# t next - -# Synchronize taskwarriors tasks -# task sync -#printf 'Remember to sync your tasks!' - -# Wait for a key press -# read diff --git a/zsh/deprecated/zprofile b/zsh/deprecated/zprofile deleted file mode 100644 index 51a2d3ac..00000000 --- a/zsh/deprecated/zprofile +++ /dev/null @@ -1,8 +0,0 @@ -# ~/.zprofile -# Read by all login shells - -# Warning: before reading ~/.zprofile zsh reads: -# - /etc/zprofile that reads /etc/profile and defines a default path -# So it's needed to redefine PATH that was put in ~/.zshenv -typeset -U path -path=(~/bin $path[@]) diff --git a/zsh/deprecated/zshenv b/zsh/deprecated/zshenv deleted file mode 100644 index d9174475..00000000 --- a/zsh/deprecated/zshenv +++ /dev/null @@ -1,7 +0,0 @@ -# ~/.zshenv -# Read by all shells - -# Warning: before reading ~/.zprofile zsh reads: -# - /etc/zprofile that reads /etc/profile and defines a default path -typeset -U path -path=(~/bin $path[@]) diff --git a/zsh/zsh-zplug-kali b/zsh/zsh-zplug-kali deleted file mode 100644 index cf5ce41e..00000000 --- a/zsh/zsh-zplug-kali +++ /dev/null @@ -1,373 +0,0 @@ -# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. -# Initialization code that may require console input (password prompts, [y/n] -# confirmations, etc.) must go above this block; everything else may go below. -if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" -fi - -export ZPLUG_HOME=~/.zplug - -if [ ! -d "$ZPLUG_HOME" ]; then - git clone https://github.com/zplug/zplug $ZPLUG_HOME -fi - -source $ZPLUG_HOME/init.zsh - -if [[ "$OSTYPE" == "darwin"* ]]; then - # Use coreutils GNU utilities - PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" -fi - -# https://github.com/unixorn/awesome-zsh-plugins -# https://gitlab.yuribugelli.it/yuri/dotfiles/blob/master/zsh/zplug.zsh - - -# Load completion library for those sweet [tab] squares -# zplug "lib/completion", from:oh-my-zsh - -if [[ "$OSTYPE" == "darwin"* ]]; then - # Load if "if" tag returns true - zplug "lib/clipboard", from:oh-my-zsh -fi - -# Load "emoji-cli" if "jq" is installed -zplug "stedolan/jq", \ - from:gh-r, \ - as:command, \ - rename-to:jq -zplug "b4b4r07/emoji-cli", \ - on:"stedolan/jq" - -# Improved directory listing -# https://github.com/supercrabtree/k -zplug "supercrabtree/k" -# XXX requires exa -# zplug "DarrinTisdale/zsh-aliases-exa" - -zplug "chrissicool/zsh-256color" - -# Fonts -# Hack Regular Nerd Font Complete -# https://github.com/tonsky/FiraCode - -# Theme -# Powerlevel9k: https://github.com/Powerlevel9k/powerlevel9k -# zplug "bhilburn/powerlevel9k", use:powerlevel9k.zsh-theme -# Powerlevel10k: https://github.com/romkatv/powerlevel10k -zplug romkatv/powerlevel10k, use:powerlevel10k.zsh-theme -# Bullet train: https://github.com/caiogondim/bullet-train.zsh -# zplug "caiogondim/bullet-train.zsh", use:bullet-train.zsh-theme, defer:3 -# Pure theme: https://github.com/sindresorhus/pure -# zplug "sindresorhus/pure", use:pure.zsh, from:github, as:theme -# zplug "mafredri/zsh-async", from:github, defer:0, on:"sindresorhus/pure" -# Spacechip - https://denysdovhan.com/spaceship-prompt/ -# zplug "denysdovhan/spaceship-prompt", use:spaceship.zsh, from:github, as:theme - -# dircolors comes from brew/coreutils on Mac OS X -# Download repo so that we can use it's content -zplug "seebi/dircolors-solarized", ignore:"*", as:plugin -# eval $(dircolors $ZPLUG_HOME/repos/seebi/dircolors-solarized/dircolors.ansi-universal) -# Alternative dircolors configuration -# https://github.com/arcticicestudio/nord-dircolors -zplug "arcticicestudio/nord-dircolors", ignore:"*", as:plugin -eval $(dircolors $ZPLUG_HOME/repos/arcticicestudio/nord-dircolors/src/dir_colors) - -zplug "zlsun/solarized-man" - -# Replacement for zsh-users/zsh-syntax-highlighting -# Theme management: fsh-alias -h -zplug "zdharma/fast-syntax-highlighting" - -# Aliases and color some command output -# Ensure that ls always add some indicators -# alias ls='ls -F' -zplug "modules/utility", from:prezto - -zplug "webyneter/docker-aliases", use:docker-aliases.plugin.zsh - -zplug "modules/editor", from:prezto - -zplug "modules/history", from:prezto -# Ctrl-R to search multi word with AND -zplug "zdharma/history-search-multi-word" -zplug "zsh-users/zsh-history-substring-search", defer:2 - -# Load after modute/editor to enable VI bindings -zplug "sharat87/zsh-vim-mode", defer:3 - -# Use TMUX plugin from zpresto -# https://github.com/sorin-ionescu/prezto/tree/master/modules/tmux -zplug "modules/tmux", from:prezto - -# Shrink path in prompt -zplug "plugins/shrink-path", from:oh-my-zsh - -# Completions and autosuggestions -zplug "zsh-users/zsh-completions" -zplug "zsh-users/zsh-autosuggestions" - -# XXX Find replacement allowing to disable check for some aliases -zplug "MichaelAquilina/zsh-you-should-use" - -# Usage: = 2+2 -zplug "arzzen/calc.plugin.zsh" - -# Should be loaded after modules/utility to overwrite cd alias -# https://github.com/b4b4r07/enhancd -zplug "b4b4r07/enhancd", use:init.sh, defer:3 -export ENHANCD_FILTER='fzf' -# When entering a git repo do a git status, othewise do an ls -export ENHANCD_HOOK_AFTER_CD='([ -d .git ] || git rev-parse --git-dir > /dev/null 2>&1) && git st || ls -lhrt' -# export ENHANCD_COMMAND='c' -export ENHANCD_DISABLE_HOME=1 -export ENHANCD_DISABLE_HYPHEN=1 -export ENHANCD_DISABLE_DOT=1 -export ENHANCD_HYPHEN_ARG=_ -# Run k when entering a directory -# XXX k is too slow, fallback to ls -export ENHANCD_HOOK_AFTER_CD=ls - -zplug "marzocchi/zsh-notify" - -# Fuzzy command line completion: Ctrl-T -zplug "junegunn/fzf", use:"shell/*.zsh", defer:2 -# Grab binaries from GitHub Releases -# and rename with the "rename-to:" tag -zplug "junegunn/fzf-bin", \ - from:gh-r, \ - as:command, \ - rename-to:fzf, \ - use:"*${(L)$(uname -s)}*amd64*" - -zplug "so-fancy/diff-so-fancy", as:command - -# Clashing with forgit, not sure if useful -# Git aliases -# zplug "plugins/git", from:oh-my-zsh -# https://github.com/unixorn/git-extra-commands -zplug "unixorn/git-extra-commands" - -# Add hub wrapper -zplug "plugins/github", from:oh-my-zsh -# Git completion -zplug "plugins/gitfast", from:oh-my-zsh - -# Git + fzf -# https://github.com/wfxr/forgit -zplug 'wfxr/forgit' - -# https://github.com/hschne/fzf-git -# use git <command> ** -zplug "hschne/fzf-git" - -# Replacement for autojump -zplug "rupa/z", use:"*.sh" - -# Replacement for find -zplug "sharkdp/fd", \ - from:gh-r, \ - as:command, \ - use:"*${(L)$(uname -s)}*", \ - rename-to:fd - -# Virtualen environement management -# https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv -zplug "MichaelAquilina/zsh-autoswitch-virtualenv" - -zplug 'pyenv/pyenv', as:"command", use:"bin/*" - -zplug "pyenv/pyenv-virtualenv", \ - on:'pyenv/pyenv', \ - hook-build:"ln -s $ZPLUG_HOME/repos/pyenv/pyenv-virtualenv $ZPLUG_HOME/repos/pyenv/pyenv/plugins/pyenv-virtualenv" - -zplug "pyenv/pyenv-virtualenvwrapper", \ - on:'pyenv/pyenv-virtualenv', \ - hook-build:"ln -s $ZPLUG_HOME/repos/pyenv/pyenv-virtualenvwrapper $ZPLUG_HOME/repos/pyenv/pyenv/plugins/pyenv-virtualenvwrapper" - -# asdf: https://github.com/asdf-vm/asdf -# https://github.com/kiurchv/asdf.plugin.zsh -# zplug "kiurchv/asdf.plugin.zsh", defer:2 -# zplug "plugins/asdf, from:oh-my-zsh - -# Potentially lighter than pyenv -# https://github.com/cxreg/smartcd -# https://github.com/anyenv/anyenv - -# prezto configuration - -# prezto/utility -if zplug check modules/utility; then - # Use safe operations by default - zstyle ':prezto:module:utility' safe-ops 'yes' - # Color output (auto set to 'no' on dumb terminals). - zstyle ':prezto:*:*' color 'yes' -fi - -# prezto/editor -if zplug check modules/editor; then - zstyle ':prezto:module:editor' key-bindings 'vi' - zstyle ':prezto:module:editor' dot-expansion 'yes' -fi - -if zplug check modules/tmux; then - zstyle ':prezto:module:tmux:auto-start' local 'no' - zstyle ':prezto:module:tmux:auto-start' remote 'yes' - zstyle ':prezto:module:tmux:session' name 'work' - zstyle ':prezto:module:tmux:iterm' integrate 'no' -fi - -zplug 'zplug/zplug', hook-build:'zplug --self-manage' - -# Install plugins if there are plugins that have not been installed -if ! zplug check --verbose; then - printf "Install? [y/N]: " - if read -q; then - echo; zplug install - fi -fi - -# Then, source plugins and add commands to $PATH -# zplug load --verbose -zplug load - -typeset -U path -path+=/usr/local/sbin - -PATH="$HOME/bin:$PATH" - -# Use coreutils GNU utilities -PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" -MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" - -# To allow mu to find mails -MAILDIR=~/Mail - -export PATH MANPATH MAILDIR - -# Plugins-specific configuration required after loading them - -if zplug check caiogondim/bullet-train.zsh; then - BULLETTRAIN_STATUS_EXIT_SHOW=true - # bullettrain promt: disable nvm and go, show path using custom segment - BULLETTRAIN_PROMPT_ORDER=(time status context custom perl ruby virtualenv git hg cmd_exec_time) - # Display shunk path in custom prompt segement - BULLETTRAIN_CUSTOM_MSG='$(shrink_path -f "$PWD")' - BULLETTRAIN_CUSTOM_BG=blue - BULLETTRAIN_CUSTOM_FG=white - BULLETTRAIN_CONTEXT_DEFAULT_USER='baptiste' -fi - -if zplug "MichaelAquilina/zsh-you-should-use"; then - export YSU_HARDCORE=0 -fi - -if zplug check "zsh-users/zsh-completions"; then - ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=60,bold" -fi - -if zplug check "romkatv/powerlevel10k"; then - # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. - [[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh -fi - -if zplug check "pyenv/pyenv"; then - export PYENV_ROOT="${ZPLUG_HOME}/repos/pyenv/pyenv" - eval "$(pyenv init -)" -fi - -# ZSH options - -# Make sure prompt is able to be generated properly. -# Required for themes like bullet-train -setopt prompt_subst - -# Executing directories will open them -setopt auto_cd - -## Completion - -# Hilight directories and use colors in ZSH completion -zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)(?)*==34=34}:${(s.:.)LS_COLORS}")'; - -# Rehash when completing commands -zstyle ":completion:*:commands" rehash 1 -# Completion menu's navigation with arrows -zstyle ':completion:*' menu select -zstyle ':completion:*:matches' group 'yes' -# let's use the tag name as group name -zstyle ':completion:*' group-name "" -zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b' -zstyle ':completion:*:descriptions' format "%{${fg_bold[magenta]}%}= %d =%{$reset_color%}" -# Case insensitive completion -# https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/completion.zsh -zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*' - -# Always use substring search -bindkey '^[[A' history-substring-search-up -bindkey '^[[B' history-substring-search-down - -bindkey -M vicmd 'j' history-substring-search-down - -# In Vi mode use q to allow to use another command before current one -bindkey -M vicmd "q" push-line - -# Push a command onto a stack allowing you to run another command first -bindkey '^J' push-line - -# Allows editing the command line with an external editor -autoload edit-command-line -zle -N edit-command-line -# Press Esc=v to edit command line -bindkey -M vicmd "v" edit-command-line - -# Alt-S inserts sudo at the starts of the line -insert_sudo () { zle beginning-of-line; zle -U '_ ' } -zle -N insert-sudo insert_sudo -bindkey 's' insert-sudo - -# Misc - -# Preferred editor for local and remote sessions -if [[ -n $SSH_CONNECTION ]]; then - export EDITOR='vim' -else - export EDITOR='nvim' - alias vim='nvim' - alias vi='nvim' -fi - -# Manually set your language environment -export LC_ALL=en_US.UTF-8 -export LANG=en_US.UTF-8 - -# list only directories -alias lsd='ls -d */' -alias l='ls -l' - -# https://github.com/pyenv/pyenv/wiki/Common-build-problems -# Required for building python with pyenv on Mac OS X -export CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" -export LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" -# Speeding up build -export CFLAGS="-O2 $CFLAGS" -# PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 - -export MAKEOPS='j6' - -# added by travis gem -[ -f ~/.travis/travis.sh ] && source ~/.travis/travis.sh - -# Source secrets -[ -f ~/.secrets ] && source ~/.secrets - -# https://apple.stackexchange.com/questions/3253/ctrl-o-behavior-in-terminal-app -# To prevent ctrl-o being discared by the terminal driver -if [[ "$OSTYPE" == "darwin"* ]]; then - stty discard undef -fi - -[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh - -# CLI for Google admin -# https://github.com/jay0lee/GAM -gam() { "/Users/baptiste/bin/gam/gam" "$@" ; } diff --git a/zsh/zshrc b/zsh/zshrc deleted file mode 100644 index 1795f9d1..00000000 --- a/zsh/zshrc +++ /dev/null @@ -1,675 +0,0 @@ -# ~/.zshrc -# Read by all interactive shells - -# References -# https://dotfiles.github.io/ -# HTTps://github.com/zplug/zplug -# https://github.com/unixorn/zsh-quickstart-kit -# http://awesomeawesome.party/awesome-zsh-plugins -# http://reasoniamhere.com/2014/01/11/outrageously-useful-tips-to-master-your-z-shell/ -# Ideas: https://github.com/mika/zsh-pony -# Testing YADR: http://www.akitaonrails.com/2017/01/10/arch-linux-best-distro-ever - -# Dependencies -# - bat: cat/less replacement -# - gam: CLI for G Suite -# - git -# - hub: git on steroids -# - nvim: vim replacement -# - pydf: df replacement -# - taskwarrior: task management -# - fd: find replacement (installed by zplug) -# - jq: json formatting/queryring (installed by zplug) -# - fzf: fuzzyfinder (installed by zplug) - -# Requirements -# Incremental search -# l, ls, hub, docker, df/pydf and other useful aliases -# tip on existing alias -# syntax highlighting -# Case insensitive directories completion -# Shrunk path in prompt -# completion (vboxmanage and all other) -# Fuzzy command line completion -# autosuggestions -# improved history -# vim mode -# push-line to use another command before current command -# colored directories -# colored man pages -# auto cd -# ls after cd -# ssh key management -# simple calc -# 256 color / true color -# git support -# python venv - -# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. -# Initialization code that may require console input (password prompts, [y/n] -# confirmations, etc.) must go above this block; everything else may go below. -if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" -fi - -export ZPLUG_HOME=~/.zplug - -if [ ! -d "$ZPLUG_HOME" ]; then - git clone https://github.com/zplug/zplug $ZPLUG_HOME -fi - -source "$ZPLUG_HOME/init.zsh" - -# Zplug auto update -# XXX Disable to validate if it breaks "special" zplugs such as prezto -# zplug "gwarf/09afddb8741a7ea478ce53aafe20b777", from:gist - -if [[ "$OSTYPE" == "darwin"* ]]; then - # Use gnused - brew install gnu-sed - PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" - # Use coreutils GNU utilities - brew install coreutils - PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" - MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" - # Use openjdk from brew - brew install openjdk - PATH="/usr/local/opt/openjdk/bin:$PATH" - # XXX may not be needed - # export CPPFLAGS="-I/usr/local/opt/openjdk/include" - - zplug "lib/clipboard", from:oh-my-zsh - - export HOMEBREW_CASK_OPTS='--no-quarantine' -fi - -# https://github.com/unixorn/awesome-zsh-plugins -# https://gitlab.yuribugelli.it/yuri/dotfiles/blob/master/zsh/zplug.zsh - -# Load completion library for those sweet [tab] squares -# zplug "lib/completion", from:oh-my-zsh - -# Load "emoji-cli" if "jq" is installed -zplug "stedolan/jq", \ - from:gh-r, \ - as:command, \ - rename-to:jq -zplug "b4b4r07/emoji-cli", on:"stedolan/jq" - -# Improved directory listing -# https://github.com/supercrabtree/k -#zplug "supercrabtree/k" -if (( $+commands[exa] )); then - zplug "DarrinTisdale/zsh-aliases-exa", use:zsh-aliases-exa.plugin.zsh -fi - -# Fortune -if (( $+commands[fortune] )); then - zplug "plugins/chucknorris", from:oh-my-zsh -fi - -# XXX required? -# zplug "chrissicool/zsh-256color" - -# Fonts -# Hack Regular Nerd Font Complete -# https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Hack -# A font with ligatures -# https://github.com/tonsky/FiraCode - -# Theme -# Powerlevel10k: https://github.com/romkatv/powerlevel10k -zplug romkatv/powerlevel10k, use:powerlevel10k.zsh-theme - -# XXX dircolors comes from brew/coreutils on Mac OS X -# Nordic dircolors configuration -# https://github.com/arcticicestudio/nord-dircolors -zplug "arcticicestudio/nord-dircolors", ignore:"*", as:plugin -eval $(dircolors $ZPLUG_HOME/repos/arcticicestudio/nord-dircolors/src/dir_colors) - -# Replacement for zsh-users/zsh-syntax-highlighting -# Theme management: fsh-alias -h -zplug "zdharma/fast-syntax-highlighting" -# Ctrl-R to search multi word with AND -zplug "zdharma/history-search-multi-word" - -# Modules from prezto -# https://github.com/sorin-ionescu/prezto/tree/master/modules -# Aliases and color some command output -zplug "modules/utility", from:prezto -zplug "modules/editor", from:prezto -zplug "modules/history", from:prezto -if (( $+commands[tmux] )); then - zplug "modules/tmux", from:prezto -fi - -# Modules from oh-my-zsh -# XXX potentially interesting modules -# brew -# colored-man-pages -# colorize -# common-aliases -# docker -# fzf -# git -# gpg-agent -# history-substring-search -# osx -# pip -# python -# rvm -# terraform -# thefuck -# tmux -# vagrant -# vi-mode -zplug "plugins/shrink-path", from:oh-my-zsh -if (( $+commands[task] )); then - zplug "plugins/taskwarrior", from:oh-my-zsh -fi -# Hub wrapper -if (( $+commands[hub] )); then - zplug "plugins/github", from:oh-my-zsh -fi -# Git completion -zplug "plugins/gitfast", from:oh-my-zsh - -zplug "webyneter/docker-aliases", use:docker-aliases.plugin.zsh - -# Load after modute/editor to enable VI bindings -zplug "sharat87/zsh-vim-mode", defer:3 - -# Modules from zsh-usesr -zplug "zsh-users/zsh-completions" -zplug "zsh-users/zsh-autosuggestions" -zplug "zsh-users/zsh-history-substring-search", defer:2 -# To replace autosuggestions -# zplug "hchbaw/auto-fu.zsh", at:pu, defer:1 - -# XXX Find replacement allowing to disable check for some aliases -zplug "MichaelAquilina/zsh-you-should-use" - -# Usage: = 2+2 -zplug "arzzen/calc.plugin.zsh" - -# Should be loaded after modules/utility to overwrite cd alias -# https://github.com/b4b4r07/enhancd -zplug "b4b4r07/enhancd", use:init.sh, defer:3 -export ENHANCD_FILTER='fzf' -# When entering a git repo do a git status, othewise do an ls -export ENHANCD_HOOK_AFTER_CD='([ -d .git ] || git rev-parse --git-dir > /dev/null 2>&1) && git st || ls -lhrt' -# export ENHANCD_COMMAND='c' -export ENHANCD_DISABLE_HOME=1 -export ENHANCD_DISABLE_HYPHEN=1 -export ENHANCD_DISABLE_DOT=1 -export ENHANCD_HYPHEN_ARG=_ -# Run k when entering a directory -# XXX k is too slow, fallback to ls -export ENHANCD_HOOK_AFTER_CD=ls - -zplug "zpm-zsh/mysql-colorize" - -# XXX Check if required -# XXX Check how to use forward-word with autosuggestions -# Load after modute/editor to enable VI bindings -zplug "sharat87/zsh-vim-mode", defer:3 - -# Fuzzy command line completion: Ctrl-T -# Grab binaries from GitHub Releases -# and rename with the "rename-to:" tag -zplug "junegunn/fzf-bin", \ - from:gh-r, \ - as:command, \ - rename-to:fzf, \ - use:"*${(L)$(uname -s)}*amd64*" -zplug "junegunn/fzf", use:"shell/*.zsh", defer:2, on:"junegunn/fzf-bin" - -# https://github.com/hschne/fzf-git -# use git <command> ** -zplug "hschne/fzf-git" - -# Git + fzf -# https://github.com/wfxr/forgit -zplug 'wfxr/forgit' - -zplug "so-fancy/diff-so-fancy", as:command - -# Clashing with forgit, not sure if useful -# Git aliases -# zplug "plugins/git", from:oh-my-zsh -# https://github.com/unixorn/git-extra-commands -zplug "unixorn/git-extra-commands" - -# Replacement for autojump -zplug "rupa/z", use:"*.sh" - -# Replacement for find -zplug "sharkdp/fd" - -# Completion for OpenStack -# mirror of https://gist.github.com/philipsd6/aea968e80342973fd8d3aeeda343dae5 -zplug "gwarf/a18dbeaa01d6cf14a95c31a1c7036f61", \ - from:gist, \ - as:plugin - -# npm / nvm -zplug "lukechilds/zsh-nvm" -# [ -f /usr/share/nvm/init-nvm.sh ] && source /usr/share/nvm/init-nvm.sh - -# Python virtualenv management - -# pyenv -# XXX pyenv can seriously slow down shell bootstrap -# https://stackoverflow.com/a/41573588 -# https://alysivji.github.io/setting-up-pyenv-virtualenvwrapper.html -# https://gist.github.com/Geoyi/f55ed54d24cc9ff1c14bd95fac21c042 -# https://github.com/pyenv/pyenv/issues/784 -# https://github.com/pyenv/pyenv-virtualenv/issues/42 -# XXX not using pyenv-virtualenv as I want virtualenvs under ~/.virtualenvs -zplug 'pyenv/pyenv', as:"command", use:"bin/*" - -# https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv -# virtualenvs are stored in ~/.virtualenvs -# -# Default autoswitchvirtualenv -# export AUTOSWITCH_DEFAULTENV="defaultenv" -# -# Checking installed python version -# pyenv versions -# -# Creating a venv manually -# python3 -m venv ~/.virtualenvs/impact-report -# source ~/.virtualenvs/impact-report/bin/activate -# echo 'impact-report' > .venv -# -# Deprecated? -# mkvenv --python /usr/bin/python2 -# mkvenv --python /usr/bin/python3 -zplug "MichaelAquilina/zsh-autoswitch-virtualenv" - -# Potentially lighter than pyenv -# https://github.com/cxreg/smartcd -# https://github.com/anyenv/anyenv -# https://varrette.gforge.uni.lu/blog/2019/09/10/using-pyenv-virtualenv-direnv/ -# -# asdf -# git clone https://github.com/asdf-vm/asdf.git ~/.asdf -# asdf plugin-add python https://github.com/tuvistavie/asdf-python.git -# asdf plugin list-all python -# export LDFLAGS="-L/usr/lib/openssl-1.0"; export CFLAGS="-I/usr/include/openssl-1.0" -# asdf plugin install python 2.7 -# zplug "plugins/asdf", from:oh-my-zsh -# asdf: https://github.com/asdf-vm/asdf -# https://github.com/kiurchv/asdf.plugin.zsh -# zplug "kiurchv/asdf.plugin.zsh", defer:2 - -# prezto configuration -# prezto/utility -# Use safe operations by default -zstyle ':prezto:module:utility' safe-ops 'yes' -# Color output (auto set to 'no' on dumb terminals). -zstyle ':prezto:*:*' color 'yes' -# prezto/editor -zstyle ':prezto:module:editor' key-bindings 'vi' -zstyle ':prezto:module:editor' dot-expansion 'yes' -zstyle ':prezto:module:tmux:auto-start' local 'no' -zstyle ':prezto:module:tmux:auto-start' remote 'yes' -zstyle ':prezto:module:tmux:session' name 'work' -zstyle ':prezto:module:tmux:iterm' integrate 'no' - -zplug 'zplug/zplug', hook-build:'zplug --self-manage' - -# Install plugins if there are plugins that have not been installed -if ! zplug check --verbose; then - printf "Install? [y/N]: " - if read -q; then - echo; zplug install - fi -fi - -# Then, source plugins and add commands to $PATH -zplug load - -# Path management -typeset -U path -path+=/usr/local/sbin -if [ -d $HOME/bin ]; then - PATH="$HOME/bin:$PATH" -fi -if [ -d $HOME/.local/bin ]; then - PATH="$HOME/.local/bin:$PATH" -fi -if [ -d $HOME/.yarn/bin ]; then - PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" -fi - -MAILDIR=~/Mail - -PROJECT_HOME="$HOME/code" - -export PATH MANPATH MAILDIR PROJECT_HOME - -# Plugins-specific configuration required after loading them - -# For MichaelAquilina/zsh-you-should-use -export YSU_HARDCORE=0 - -# For zsh-users/zsh-completions -export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=60,bold" -bindkey '^ ' autosuggest-accept - -# XXX Slowing doing the prompt -if (( $+commands[pyenv] )); then - export PYENV_ROOT="${ZPLUG_HOME}/repos/pyenv/pyenv" - eval "$(pyenv init --no-rehash - zsh)" -fi - -# ZSH options - -# XXX to be checked -# Disable duplicates in substring search -# https://github.com/zsh-users/zsh-history-substring-search/issues/19 -# setopt HIST_IGNORE_ALL_DUPS -# setopt HIST_FIND_NO_DUPS - -# Enable zmv -autoload -U zmv - -# Make sure prompt is able to be generated properly. -# Required for themes like bullet-train -setopt prompt_subst - -# Executing directories will open them -setopt auto_cd -# Automatically fill the directory stack -setopt auto_pushd pushd_silent pushd_ignore_dups - -## Completion - -# Hilight directories and use colors in ZSH completion -zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)(?)*==34=34}:${(s.:.)LS_COLORS}")'; - -# Rehash when completing commands -zstyle ":completion:*:commands" rehash 1 -# Completion menu's navigation with arrows -zstyle ':completion:*' menu select -zstyle ':completion:*:matches' group 'yes' -# let's use the tag name as group name -zstyle ':completion:*' group-name "" -zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b' -zstyle ':completion:*:descriptions' format "%{${fg_bold[magenta]}%}= %d =%{$reset_color%}" -# Case insensitive completion -# https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/completion.zsh -zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*' - -# Always use substring search -bindkey '^[[A' history-substring-search-up -bindkey '^[[B' history-substring-search-down - -bindkey -M vicmd 'j' history-substring-search-down - -# In Vi mode use q to allow to use another command before current one -bindkey -M vicmd "q" push-line - -# Push a command onto a stack allowing you to run another command first -bindkey '^J' push-line - -# Allows editing the command line with an external editor -autoload edit-command-line -zle -N edit-command-line -# Press Esc=v to edit command line -bindkey -M vicmd "v" edit-command-line - -# Alt-S inserts sudo at the starts of the line -insert_sudo () { zle beginning-of-line; zle -U '_ ' } -zle -N insert-sudo insert_sudo -bindkey 's' insert-sudo - -# Misc - -# Preferred editor for local and remote sessions -if (( $+commands[nvim] )); then - export EDITOR='nvim' - export MANPAGER='nvim +Man!' - alias vim='nvim' - alias vi='nvim' -else - export EDITOR='vim' -fi - -# https://github.com/sharkdp/bat -if (( $+commands[bat] )); then - export SYSTEMD_PAGER='bat' - # Fallback as man pager - if [ -z "$MANPAGER" ]; then - export MANPAGER="sh -c 'col -bx | bat -l man -p'" - fi - export BAT_THEME='Dracula' -else - export SYSTEMD_PAGER='cat' -fi - -if (( $+commands[msfconsole] )); then - alias msfconsole='msfconsole --quiet' -fi - -# Manually set language environment -LC_ALL=en_US.UTF-8 -LANG=en_US.UTF-8 -export LC_ALL LANG - -export MAKEOPS='j6' - -# --preserver-root is for GNU versions -# do not delete / or prompt if deleting more than 3 files at a time -alias rm='nocorrect rm -i --preserve-root' - -# Preventing changing perms on / -alias chown='chown --preserve-root' -alias chmod='chmod --preserve-root' -alias chgrp='chgrp --preserve-root' - -# list only directories -alias lsd='ls -d */' -# list only files -alias lsf="ls -rtF | grep -v '.*/'" -alias l='ls -l' - -# Global aliases -alias -g A="| awk" -# Color output using ccze -# XXX ccze -A | less -R -if (( $+commands[ccze] )); then - alias -g C="| ccze -A" -fi -alias -g G="| grep" -alias -g GV="| grep -v" -alias -g H="| head" -alias -g L='| $PAGER' -alias -g P=' --help | less' -alias -g R="| ruby -e" -alias -g S="| sed" -alias -g T="| tail" -alias -g V="| vim -R -" -alias -g U=' --help | head' -alias -g W="| wc" - -# Suffix aliases -alias -s zip=zipinfo -alias -s tgz=gzcat -alias -s gz=gzcat -alias -s tbz=bzcat -alias -s bz2=bzcat -alias -s java=vim -alias -s c=vim -alias -s h=vim -alias -s C=vim -alias -s cpp=vim -alias -s txt=vim -alias -s xml=vim -alias -s html=chromium -alias -s xhtml=chromium -alias -s pdf=okular -alias -s gif=sxiv -alias -s jpg=sxiv -alias -s jpeg=sxiv -alias -s png=sxiv -alias -s bmp=sxiv -alias -s mp3=clementine -alias -s m4a=clementine -alias -s ogg=clementine - -# noremoteglob breaks scp with filenames containing parenthesis -unalias scp -alias scp='noglob scp' - -# Aliases for launching some vimwikis -alias vimnote='vim -c VimwikiMakeDiaryNote' -alias vimwiki='vim -c VimwikiUISelect' -alias vimdiary='vim -c VimwikiDiaryIndex' -alias vimwiki_w='vim -c VimwikiIndex 1' -alias vimwiki_h='vim -c VimwikiIndex 2' -alias dashboard="vim -p -c TW -c 'VimwikiTabIndex 1' -c 'VimwikiTabIndex 2'" - -# Color iproute2 output -alias ip='ip -color=auto' - -# Home-related tasks -alias th='task rc:~/.taskrc-home' - -if [[ "$OSTYPE" == "darwin"* ]]; then - # https://github.com/pyenv/pyenv/wiki/Common-build-problems - # Required for building python with pyenv on Mac OS X - CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" - # Speeding up build - CFLAGS="-O2 $CFLAGS" - export CFLAGS LDFLAGS - # PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 - - # tail-like of postfix logs on MacOS X - postfix_log() { - log stream --predicate '(process == "smtpd") || (process == "smtp") || (process == "master")' --info - } - - # https://apple.stackexchange.com/questions/3253/ctrl-o-behavior-in-terminal-app - # To prevent ctrl-o in vim being discared by the terminal driver - # XXX returning error with updated conf - # stty: 'standard input': Operation not supported by device - # stty discard undef - - # cd into whatever is the forefront Finder window. - cdf() { # short for cdfinder - cd "`osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)'`" - } -fi - -# TODO check that vboxmanage completion is available -# /usr/share/zsh/site-functions/_virtualbox -if (( $+commands[VBoxManage] )); then - compdef vboxmanage=VBoxManage vboxheadless=VBoxHeadless - compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless -fi - -# Use pydf if available -if (( $+commands[pydf] )); then - alias df=pydf -fi - -if (( $+commands[rlwrap] )); then - alias listener="sudo rlwrap nc -lvnp 443" -fi - -xev() { - command xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }' -} - -drun() { - command docker run --rm -v $(pwd):/source -it "$1" -} - -alias stack='docker run -it --rm -v ~/.stack:~/.stack gbraad/openstack-client:centos stack' - -# Colorize output using ccze -if (( $+commands[ccze] )); then - journalctl() { - command journalctl $@ | ccze -A - } - - last() { - command last $@ | ccze -A - } - - free() { - command free $@ | ccze -A - } -fi - -# scan the local network and list the connected devices -lscan() { - local ipRange=$(ip addr | grep -oE "192.168.*.*/[1-9]{2}" | awk -F '.' '{print $3}') - local scanReport=$(nmap -sn "192.168.$ipRange.1-254/24" | egrep "scan report") - # echo "$scanReport\n" | sed -r 's#Nmap scan report for (.*) \((.*)\)#\1 \2#' - printf "$scanReport\n" -} - -if [ -x "$HOME/bin/gam/gam" ]; then - # CLI for Google admin - # https://github.com/jay0lee/GAM - gam() { "$HOME/bin/gam/gam" "$@" ; } -fi - -if [ -x "$HOME/bin/gamadv-xtd3/gam" ]; then - # CLI for Google admin, updated GAM - # https://github.com/taers232c/GAMADV-XTD3 - # gam3() { "$HOME/bin/gam/gam" "$@" ; } - alias gam3="$HOME/bin/gamadv-xtd3/gam" -fi - -# Ensure that appropriate env var are set for gnome-keyring SSH agent -if [ -n "$DESKTOP_SESSION" ]; then - if [ "$DESKTOP_SESSION" = "i3" -o "$DESKTOP_SESSION" = 'xinitrc' ]; then - export $(gnome-keyring-daemon -s) - fi -fi - -# Archlinux command not found (needs pkgfile) -if [ -f /usr/share/doc/pkgfile/command-not-found.zsh ]; then - . /usr/share/doc/pkgfile/command-not-found.zsh -fi - -# added by travis gem -[ -f ~/.travis/travis.sh ] && source ~/.travis/travis.sh - -# Source secrets if existing -[ -f ~/.secrets.zsh ] && source ~/.secrets.zsh -[ -f ~/.secrets ] && source ~/.secrets -[ -f ~/.appdb-env.sh ] && source ~/.appdb-env.sh - -# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. -[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh - -[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh - -if [[ "$OSTYPE" == "darwin"* ]]; then - # Add go to the path - if [ -d "$HOME/go" ]; then - export GOPATH="$HOME/go" - export GOBIN="$GOPATH/bin" - export GOROOT=/usr/local/opt/go/libexec - # For github.com/raviqqe/liche - export GO111MODULE=on - export PATH="$PATH:$GOBIN" - export PATH="$PATH:$GOROOT/bin" - fi -fi - -# Add RVM to PATH for scripting. Make sure this is the last PATH variable change. -[ -d $HOME/.rvm/bin ]; export PATH="$PATH:$HOME/.rvm/bin" -# Load RVM into a shell session *as a function* -[ -s "$HOME/.rvm/scripts/rvm" ] && . "$HOME/.rvm/scripts/rvm" - -if (( $+commands[fortune] )); then - if (( $+commands[cowsay] )); then - fortune -o | cowsay - else - fortune -o - fi -fi From 6c907d6c47b969f1c53619ebf36c020be0313d95 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 09:33:32 +0200 Subject: [PATCH 0318/2080] Import zshrc --- .zshrc | 675 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 675 insertions(+) create mode 100644 .zshrc diff --git a/.zshrc b/.zshrc new file mode 100644 index 00000000..1795f9d1 --- /dev/null +++ b/.zshrc @@ -0,0 +1,675 @@ +# ~/.zshrc +# Read by all interactive shells + +# References +# https://dotfiles.github.io/ +# HTTps://github.com/zplug/zplug +# https://github.com/unixorn/zsh-quickstart-kit +# http://awesomeawesome.party/awesome-zsh-plugins +# http://reasoniamhere.com/2014/01/11/outrageously-useful-tips-to-master-your-z-shell/ +# Ideas: https://github.com/mika/zsh-pony +# Testing YADR: http://www.akitaonrails.com/2017/01/10/arch-linux-best-distro-ever + +# Dependencies +# - bat: cat/less replacement +# - gam: CLI for G Suite +# - git +# - hub: git on steroids +# - nvim: vim replacement +# - pydf: df replacement +# - taskwarrior: task management +# - fd: find replacement (installed by zplug) +# - jq: json formatting/queryring (installed by zplug) +# - fzf: fuzzyfinder (installed by zplug) + +# Requirements +# Incremental search +# l, ls, hub, docker, df/pydf and other useful aliases +# tip on existing alias +# syntax highlighting +# Case insensitive directories completion +# Shrunk path in prompt +# completion (vboxmanage and all other) +# Fuzzy command line completion +# autosuggestions +# improved history +# vim mode +# push-line to use another command before current command +# colored directories +# colored man pages +# auto cd +# ls after cd +# ssh key management +# simple calc +# 256 color / true color +# git support +# python venv + +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. +# Initialization code that may require console input (password prompts, [y/n] +# confirmations, etc.) must go above this block; everything else may go below. +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + +export ZPLUG_HOME=~/.zplug + +if [ ! -d "$ZPLUG_HOME" ]; then + git clone https://github.com/zplug/zplug $ZPLUG_HOME +fi + +source "$ZPLUG_HOME/init.zsh" + +# Zplug auto update +# XXX Disable to validate if it breaks "special" zplugs such as prezto +# zplug "gwarf/09afddb8741a7ea478ce53aafe20b777", from:gist + +if [[ "$OSTYPE" == "darwin"* ]]; then + # Use gnused - brew install gnu-sed + PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" + # Use coreutils GNU utilities - brew install coreutils + PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" + MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" + # Use openjdk from brew - brew install openjdk + PATH="/usr/local/opt/openjdk/bin:$PATH" + # XXX may not be needed + # export CPPFLAGS="-I/usr/local/opt/openjdk/include" + + zplug "lib/clipboard", from:oh-my-zsh + + export HOMEBREW_CASK_OPTS='--no-quarantine' +fi + +# https://github.com/unixorn/awesome-zsh-plugins +# https://gitlab.yuribugelli.it/yuri/dotfiles/blob/master/zsh/zplug.zsh + +# Load completion library for those sweet [tab] squares +# zplug "lib/completion", from:oh-my-zsh + +# Load "emoji-cli" if "jq" is installed +zplug "stedolan/jq", \ + from:gh-r, \ + as:command, \ + rename-to:jq +zplug "b4b4r07/emoji-cli", on:"stedolan/jq" + +# Improved directory listing +# https://github.com/supercrabtree/k +#zplug "supercrabtree/k" +if (( $+commands[exa] )); then + zplug "DarrinTisdale/zsh-aliases-exa", use:zsh-aliases-exa.plugin.zsh +fi + +# Fortune +if (( $+commands[fortune] )); then + zplug "plugins/chucknorris", from:oh-my-zsh +fi + +# XXX required? +# zplug "chrissicool/zsh-256color" + +# Fonts +# Hack Regular Nerd Font Complete +# https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Hack +# A font with ligatures +# https://github.com/tonsky/FiraCode + +# Theme +# Powerlevel10k: https://github.com/romkatv/powerlevel10k +zplug romkatv/powerlevel10k, use:powerlevel10k.zsh-theme + +# XXX dircolors comes from brew/coreutils on Mac OS X +# Nordic dircolors configuration +# https://github.com/arcticicestudio/nord-dircolors +zplug "arcticicestudio/nord-dircolors", ignore:"*", as:plugin +eval $(dircolors $ZPLUG_HOME/repos/arcticicestudio/nord-dircolors/src/dir_colors) + +# Replacement for zsh-users/zsh-syntax-highlighting +# Theme management: fsh-alias -h +zplug "zdharma/fast-syntax-highlighting" +# Ctrl-R to search multi word with AND +zplug "zdharma/history-search-multi-word" + +# Modules from prezto +# https://github.com/sorin-ionescu/prezto/tree/master/modules +# Aliases and color some command output +zplug "modules/utility", from:prezto +zplug "modules/editor", from:prezto +zplug "modules/history", from:prezto +if (( $+commands[tmux] )); then + zplug "modules/tmux", from:prezto +fi + +# Modules from oh-my-zsh +# XXX potentially interesting modules +# brew +# colored-man-pages +# colorize +# common-aliases +# docker +# fzf +# git +# gpg-agent +# history-substring-search +# osx +# pip +# python +# rvm +# terraform +# thefuck +# tmux +# vagrant +# vi-mode +zplug "plugins/shrink-path", from:oh-my-zsh +if (( $+commands[task] )); then + zplug "plugins/taskwarrior", from:oh-my-zsh +fi +# Hub wrapper +if (( $+commands[hub] )); then + zplug "plugins/github", from:oh-my-zsh +fi +# Git completion +zplug "plugins/gitfast", from:oh-my-zsh + +zplug "webyneter/docker-aliases", use:docker-aliases.plugin.zsh + +# Load after modute/editor to enable VI bindings +zplug "sharat87/zsh-vim-mode", defer:3 + +# Modules from zsh-usesr +zplug "zsh-users/zsh-completions" +zplug "zsh-users/zsh-autosuggestions" +zplug "zsh-users/zsh-history-substring-search", defer:2 +# To replace autosuggestions +# zplug "hchbaw/auto-fu.zsh", at:pu, defer:1 + +# XXX Find replacement allowing to disable check for some aliases +zplug "MichaelAquilina/zsh-you-should-use" + +# Usage: = 2+2 +zplug "arzzen/calc.plugin.zsh" + +# Should be loaded after modules/utility to overwrite cd alias +# https://github.com/b4b4r07/enhancd +zplug "b4b4r07/enhancd", use:init.sh, defer:3 +export ENHANCD_FILTER='fzf' +# When entering a git repo do a git status, othewise do an ls +export ENHANCD_HOOK_AFTER_CD='([ -d .git ] || git rev-parse --git-dir > /dev/null 2>&1) && git st || ls -lhrt' +# export ENHANCD_COMMAND='c' +export ENHANCD_DISABLE_HOME=1 +export ENHANCD_DISABLE_HYPHEN=1 +export ENHANCD_DISABLE_DOT=1 +export ENHANCD_HYPHEN_ARG=_ +# Run k when entering a directory +# XXX k is too slow, fallback to ls +export ENHANCD_HOOK_AFTER_CD=ls + +zplug "zpm-zsh/mysql-colorize" + +# XXX Check if required +# XXX Check how to use forward-word with autosuggestions +# Load after modute/editor to enable VI bindings +zplug "sharat87/zsh-vim-mode", defer:3 + +# Fuzzy command line completion: Ctrl-T +# Grab binaries from GitHub Releases +# and rename with the "rename-to:" tag +zplug "junegunn/fzf-bin", \ + from:gh-r, \ + as:command, \ + rename-to:fzf, \ + use:"*${(L)$(uname -s)}*amd64*" +zplug "junegunn/fzf", use:"shell/*.zsh", defer:2, on:"junegunn/fzf-bin" + +# https://github.com/hschne/fzf-git +# use git <command> ** +zplug "hschne/fzf-git" + +# Git + fzf +# https://github.com/wfxr/forgit +zplug 'wfxr/forgit' + +zplug "so-fancy/diff-so-fancy", as:command + +# Clashing with forgit, not sure if useful +# Git aliases +# zplug "plugins/git", from:oh-my-zsh +# https://github.com/unixorn/git-extra-commands +zplug "unixorn/git-extra-commands" + +# Replacement for autojump +zplug "rupa/z", use:"*.sh" + +# Replacement for find +zplug "sharkdp/fd" + +# Completion for OpenStack +# mirror of https://gist.github.com/philipsd6/aea968e80342973fd8d3aeeda343dae5 +zplug "gwarf/a18dbeaa01d6cf14a95c31a1c7036f61", \ + from:gist, \ + as:plugin + +# npm / nvm +zplug "lukechilds/zsh-nvm" +# [ -f /usr/share/nvm/init-nvm.sh ] && source /usr/share/nvm/init-nvm.sh + +# Python virtualenv management + +# pyenv +# XXX pyenv can seriously slow down shell bootstrap +# https://stackoverflow.com/a/41573588 +# https://alysivji.github.io/setting-up-pyenv-virtualenvwrapper.html +# https://gist.github.com/Geoyi/f55ed54d24cc9ff1c14bd95fac21c042 +# https://github.com/pyenv/pyenv/issues/784 +# https://github.com/pyenv/pyenv-virtualenv/issues/42 +# XXX not using pyenv-virtualenv as I want virtualenvs under ~/.virtualenvs +zplug 'pyenv/pyenv', as:"command", use:"bin/*" + +# https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv +# virtualenvs are stored in ~/.virtualenvs +# +# Default autoswitchvirtualenv +# export AUTOSWITCH_DEFAULTENV="defaultenv" +# +# Checking installed python version +# pyenv versions +# +# Creating a venv manually +# python3 -m venv ~/.virtualenvs/impact-report +# source ~/.virtualenvs/impact-report/bin/activate +# echo 'impact-report' > .venv +# +# Deprecated? +# mkvenv --python /usr/bin/python2 +# mkvenv --python /usr/bin/python3 +zplug "MichaelAquilina/zsh-autoswitch-virtualenv" + +# Potentially lighter than pyenv +# https://github.com/cxreg/smartcd +# https://github.com/anyenv/anyenv +# https://varrette.gforge.uni.lu/blog/2019/09/10/using-pyenv-virtualenv-direnv/ +# +# asdf +# git clone https://github.com/asdf-vm/asdf.git ~/.asdf +# asdf plugin-add python https://github.com/tuvistavie/asdf-python.git +# asdf plugin list-all python +# export LDFLAGS="-L/usr/lib/openssl-1.0"; export CFLAGS="-I/usr/include/openssl-1.0" +# asdf plugin install python 2.7 +# zplug "plugins/asdf", from:oh-my-zsh +# asdf: https://github.com/asdf-vm/asdf +# https://github.com/kiurchv/asdf.plugin.zsh +# zplug "kiurchv/asdf.plugin.zsh", defer:2 + +# prezto configuration +# prezto/utility +# Use safe operations by default +zstyle ':prezto:module:utility' safe-ops 'yes' +# Color output (auto set to 'no' on dumb terminals). +zstyle ':prezto:*:*' color 'yes' +# prezto/editor +zstyle ':prezto:module:editor' key-bindings 'vi' +zstyle ':prezto:module:editor' dot-expansion 'yes' +zstyle ':prezto:module:tmux:auto-start' local 'no' +zstyle ':prezto:module:tmux:auto-start' remote 'yes' +zstyle ':prezto:module:tmux:session' name 'work' +zstyle ':prezto:module:tmux:iterm' integrate 'no' + +zplug 'zplug/zplug', hook-build:'zplug --self-manage' + +# Install plugins if there are plugins that have not been installed +if ! zplug check --verbose; then + printf "Install? [y/N]: " + if read -q; then + echo; zplug install + fi +fi + +# Then, source plugins and add commands to $PATH +zplug load + +# Path management +typeset -U path +path+=/usr/local/sbin +if [ -d $HOME/bin ]; then + PATH="$HOME/bin:$PATH" +fi +if [ -d $HOME/.local/bin ]; then + PATH="$HOME/.local/bin:$PATH" +fi +if [ -d $HOME/.yarn/bin ]; then + PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" +fi + +MAILDIR=~/Mail + +PROJECT_HOME="$HOME/code" + +export PATH MANPATH MAILDIR PROJECT_HOME + +# Plugins-specific configuration required after loading them + +# For MichaelAquilina/zsh-you-should-use +export YSU_HARDCORE=0 + +# For zsh-users/zsh-completions +export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=60,bold" +bindkey '^ ' autosuggest-accept + +# XXX Slowing doing the prompt +if (( $+commands[pyenv] )); then + export PYENV_ROOT="${ZPLUG_HOME}/repos/pyenv/pyenv" + eval "$(pyenv init --no-rehash - zsh)" +fi + +# ZSH options + +# XXX to be checked +# Disable duplicates in substring search +# https://github.com/zsh-users/zsh-history-substring-search/issues/19 +# setopt HIST_IGNORE_ALL_DUPS +# setopt HIST_FIND_NO_DUPS + +# Enable zmv +autoload -U zmv + +# Make sure prompt is able to be generated properly. +# Required for themes like bullet-train +setopt prompt_subst + +# Executing directories will open them +setopt auto_cd +# Automatically fill the directory stack +setopt auto_pushd pushd_silent pushd_ignore_dups + +## Completion + +# Hilight directories and use colors in ZSH completion +zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)(?)*==34=34}:${(s.:.)LS_COLORS}")'; + +# Rehash when completing commands +zstyle ":completion:*:commands" rehash 1 +# Completion menu's navigation with arrows +zstyle ':completion:*' menu select +zstyle ':completion:*:matches' group 'yes' +# let's use the tag name as group name +zstyle ':completion:*' group-name "" +zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b' +zstyle ':completion:*:descriptions' format "%{${fg_bold[magenta]}%}= %d =%{$reset_color%}" +# Case insensitive completion +# https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/completion.zsh +zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*' + +# Always use substring search +bindkey '^[[A' history-substring-search-up +bindkey '^[[B' history-substring-search-down + +bindkey -M vicmd 'j' history-substring-search-down + +# In Vi mode use q to allow to use another command before current one +bindkey -M vicmd "q" push-line + +# Push a command onto a stack allowing you to run another command first +bindkey '^J' push-line + +# Allows editing the command line with an external editor +autoload edit-command-line +zle -N edit-command-line +# Press Esc=v to edit command line +bindkey -M vicmd "v" edit-command-line + +# Alt-S inserts sudo at the starts of the line +insert_sudo () { zle beginning-of-line; zle -U '_ ' } +zle -N insert-sudo insert_sudo +bindkey 's' insert-sudo + +# Misc + +# Preferred editor for local and remote sessions +if (( $+commands[nvim] )); then + export EDITOR='nvim' + export MANPAGER='nvim +Man!' + alias vim='nvim' + alias vi='nvim' +else + export EDITOR='vim' +fi + +# https://github.com/sharkdp/bat +if (( $+commands[bat] )); then + export SYSTEMD_PAGER='bat' + # Fallback as man pager + if [ -z "$MANPAGER" ]; then + export MANPAGER="sh -c 'col -bx | bat -l man -p'" + fi + export BAT_THEME='Dracula' +else + export SYSTEMD_PAGER='cat' +fi + +if (( $+commands[msfconsole] )); then + alias msfconsole='msfconsole --quiet' +fi + +# Manually set language environment +LC_ALL=en_US.UTF-8 +LANG=en_US.UTF-8 +export LC_ALL LANG + +export MAKEOPS='j6' + +# --preserver-root is for GNU versions +# do not delete / or prompt if deleting more than 3 files at a time +alias rm='nocorrect rm -i --preserve-root' + +# Preventing changing perms on / +alias chown='chown --preserve-root' +alias chmod='chmod --preserve-root' +alias chgrp='chgrp --preserve-root' + +# list only directories +alias lsd='ls -d */' +# list only files +alias lsf="ls -rtF | grep -v '.*/'" +alias l='ls -l' + +# Global aliases +alias -g A="| awk" +# Color output using ccze +# XXX ccze -A | less -R +if (( $+commands[ccze] )); then + alias -g C="| ccze -A" +fi +alias -g G="| grep" +alias -g GV="| grep -v" +alias -g H="| head" +alias -g L='| $PAGER' +alias -g P=' --help | less' +alias -g R="| ruby -e" +alias -g S="| sed" +alias -g T="| tail" +alias -g V="| vim -R -" +alias -g U=' --help | head' +alias -g W="| wc" + +# Suffix aliases +alias -s zip=zipinfo +alias -s tgz=gzcat +alias -s gz=gzcat +alias -s tbz=bzcat +alias -s bz2=bzcat +alias -s java=vim +alias -s c=vim +alias -s h=vim +alias -s C=vim +alias -s cpp=vim +alias -s txt=vim +alias -s xml=vim +alias -s html=chromium +alias -s xhtml=chromium +alias -s pdf=okular +alias -s gif=sxiv +alias -s jpg=sxiv +alias -s jpeg=sxiv +alias -s png=sxiv +alias -s bmp=sxiv +alias -s mp3=clementine +alias -s m4a=clementine +alias -s ogg=clementine + +# noremoteglob breaks scp with filenames containing parenthesis +unalias scp +alias scp='noglob scp' + +# Aliases for launching some vimwikis +alias vimnote='vim -c VimwikiMakeDiaryNote' +alias vimwiki='vim -c VimwikiUISelect' +alias vimdiary='vim -c VimwikiDiaryIndex' +alias vimwiki_w='vim -c VimwikiIndex 1' +alias vimwiki_h='vim -c VimwikiIndex 2' +alias dashboard="vim -p -c TW -c 'VimwikiTabIndex 1' -c 'VimwikiTabIndex 2'" + +# Color iproute2 output +alias ip='ip -color=auto' + +# Home-related tasks +alias th='task rc:~/.taskrc-home' + +if [[ "$OSTYPE" == "darwin"* ]]; then + # https://github.com/pyenv/pyenv/wiki/Common-build-problems + # Required for building python with pyenv on Mac OS X + CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" + # Speeding up build + CFLAGS="-O2 $CFLAGS" + export CFLAGS LDFLAGS + # PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 + + # tail-like of postfix logs on MacOS X + postfix_log() { + log stream --predicate '(process == "smtpd") || (process == "smtp") || (process == "master")' --info + } + + # https://apple.stackexchange.com/questions/3253/ctrl-o-behavior-in-terminal-app + # To prevent ctrl-o in vim being discared by the terminal driver + # XXX returning error with updated conf + # stty: 'standard input': Operation not supported by device + # stty discard undef + + # cd into whatever is the forefront Finder window. + cdf() { # short for cdfinder + cd "`osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)'`" + } +fi + +# TODO check that vboxmanage completion is available +# /usr/share/zsh/site-functions/_virtualbox +if (( $+commands[VBoxManage] )); then + compdef vboxmanage=VBoxManage vboxheadless=VBoxHeadless + compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless +fi + +# Use pydf if available +if (( $+commands[pydf] )); then + alias df=pydf +fi + +if (( $+commands[rlwrap] )); then + alias listener="sudo rlwrap nc -lvnp 443" +fi + +xev() { + command xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }' +} + +drun() { + command docker run --rm -v $(pwd):/source -it "$1" +} + +alias stack='docker run -it --rm -v ~/.stack:~/.stack gbraad/openstack-client:centos stack' + +# Colorize output using ccze +if (( $+commands[ccze] )); then + journalctl() { + command journalctl $@ | ccze -A + } + + last() { + command last $@ | ccze -A + } + + free() { + command free $@ | ccze -A + } +fi + +# scan the local network and list the connected devices +lscan() { + local ipRange=$(ip addr | grep -oE "192.168.*.*/[1-9]{2}" | awk -F '.' '{print $3}') + local scanReport=$(nmap -sn "192.168.$ipRange.1-254/24" | egrep "scan report") + # echo "$scanReport\n" | sed -r 's#Nmap scan report for (.*) \((.*)\)#\1 \2#' + printf "$scanReport\n" +} + +if [ -x "$HOME/bin/gam/gam" ]; then + # CLI for Google admin + # https://github.com/jay0lee/GAM + gam() { "$HOME/bin/gam/gam" "$@" ; } +fi + +if [ -x "$HOME/bin/gamadv-xtd3/gam" ]; then + # CLI for Google admin, updated GAM + # https://github.com/taers232c/GAMADV-XTD3 + # gam3() { "$HOME/bin/gam/gam" "$@" ; } + alias gam3="$HOME/bin/gamadv-xtd3/gam" +fi + +# Ensure that appropriate env var are set for gnome-keyring SSH agent +if [ -n "$DESKTOP_SESSION" ]; then + if [ "$DESKTOP_SESSION" = "i3" -o "$DESKTOP_SESSION" = 'xinitrc' ]; then + export $(gnome-keyring-daemon -s) + fi +fi + +# Archlinux command not found (needs pkgfile) +if [ -f /usr/share/doc/pkgfile/command-not-found.zsh ]; then + . /usr/share/doc/pkgfile/command-not-found.zsh +fi + +# added by travis gem +[ -f ~/.travis/travis.sh ] && source ~/.travis/travis.sh + +# Source secrets if existing +[ -f ~/.secrets.zsh ] && source ~/.secrets.zsh +[ -f ~/.secrets ] && source ~/.secrets +[ -f ~/.appdb-env.sh ] && source ~/.appdb-env.sh + +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh + +[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh + +if [[ "$OSTYPE" == "darwin"* ]]; then + # Add go to the path + if [ -d "$HOME/go" ]; then + export GOPATH="$HOME/go" + export GOBIN="$GOPATH/bin" + export GOROOT=/usr/local/opt/go/libexec + # For github.com/raviqqe/liche + export GO111MODULE=on + export PATH="$PATH:$GOBIN" + export PATH="$PATH:$GOROOT/bin" + fi +fi + +# Add RVM to PATH for scripting. Make sure this is the last PATH variable change. +[ -d $HOME/.rvm/bin ]; export PATH="$PATH:$HOME/.rvm/bin" +# Load RVM into a shell session *as a function* +[ -s "$HOME/.rvm/scripts/rvm" ] && . "$HOME/.rvm/scripts/rvm" + +if (( $+commands[fortune] )); then + if (( $+commands[cowsay] )); then + fortune -o | cowsay + else + fortune -o + fi +fi From 75e23c33f074374813e13695349009188e2fd27e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 09:40:28 +0200 Subject: [PATCH 0319/2080] Import gitconfig --- .gitconfig | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 .gitconfig diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 00000000..464862a9 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,140 @@ +# Cleanign git branches +# https://devconnected.com/how-to-clean-up-git-branches/ +[color] + ui = true + interactive = auto + editor = vim + pager = true + +[color "branch"] + current = yellow reverse + local = yellow + remote = green + +[color "diff"] + meta = yellow bold + frag = magenta bold + old = red bold + new = green bold + whitespace = red reverse + +[color "status"] + added = yellow + changed = green + untracked = cyan + +[core] + pager = diff-so-fancy + whitespace=fix,-indent-with-non-tab,trailing-space,cr-at-eol,space-before-tab + autocrlf = input + eol = lf + excludesfile = ~/.gitignore + +[mergetool "fugitive"] + cmd = vim -f -c \"Gdiff\" \"$MERGED\" + +[merge] + tool = fugitive + #tool = diffuse + #tool = vimdiff + #tool = meld + +#[sendemail] +# smtpserver = mail.jukie.net + +[alias] + add-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; git add `f`" + amend = commit --amend -C HEAD + br = branch + cat = -p cat-file -p + cds = !git ds --cached + checkoutnext = !git checkout `git findnext` + ci = commit --verbose + co = checkout + #cvscommit = !git --git-dir=`cat CVS/GitDir` cvsexportcommit -c -p -v + debug = !GIT_PAGER= gdb --args git + df = diff + d = diff + #dirstatus = !ls -d1 */.git | xargs -n1 -i{} sh -c \"cd {}/.. && echo Checking {} && git ls-files --exclude-standard -tousmd\" + ds = diff --stat + edit-last-commit = !vim `git diff-tree -r --name-only HEAD HEAD~1` + edit-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; vim `f`" + file-blame = !git ls-files | xargs -n1 -i{} git log -1 --pretty=format:\"%ci {}\" -- {} + findnext = rev-list --reverse -n1 HEAD..master + fp = format-patch + l = log -n 1 -p + last = cat-file commit HEAD + lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative + lgn = "!f() { git log --graph --pretty=format:'%Cred%H%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --date=relative $@ | git name-rev --stdin --name-only ; } ; f" + log1 = log --pretty=oneline --abbrev-commit --decorate + lol = log --graph --decorate --pretty=oneline --abbrev-commit + lola = log --graph --decorate --pretty=oneline --abbrev-commit --all + ls = ls-files + me = merge --no-ff --no-commit + nvgc = !ionice -n7 nice -n20 git vgc + push-head = !git push origin `git symbolic-ref HEAD` + pushall = !git remote | xargs -n1 git push + pushalltags = !git remote | xargs -n1 git push --tags + s = "!git diff --name-status | sed -e 's/^/W /' ; git diff --cached --name-status | sed -e 's/^/C /'" + st = status -sb + #st = "!f() { git ls-files --exclude-standard -t -u -s -m -d $@ | sed -e 's/C.*\t/C /' ; } ; f" + #sto = st -o + # example: git subdo pull + subdo = submodule foreach git + svnup = !git config --get-regexp 'svn-remote.*url' | cut -d . -f 2 | xargs -n1 git svn fetch + #test = !sh -c 'echo cmd=$1 arg1=$2 arg2=$3' + top = !eval cd "$(pwd)/$(git rev-parse --show-cdup)" && pwd + up = !git remote update ; git gc + vgc = repack -f -a -d --depth=250 --window=250 + dsf = "!f() { [ -z \"$GIT_PREFIX\" ] || cd \"$GIT_PREFIX\" && git diff --color \"$@\" | diff-so-fancy; }; f" + +[branch "master"] + mergeoptions = --no-commit + +[push] + default = current + +[pack] + threads = 4 + +[gc] + reflogexpire = 300 + reflogexpireunreachab + +[giggle] + compact-mode = false + main-window-maximized = true + main-window-geometry = 498x283+0+56 + +[help] + format = man + autocorrect = -1 + +[branch] + autosetuprebase = always + +[hub] + protocol = ssh + +[commit] + gpgsign = false + +[fetch] + # Clean up remote-tracking branches while fetching + prune = true + +[gpg] + program = gpg + +[filter "lfs"] + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true + clean = git-lfs clean -- %f + +[include] + # Include user-specific configuration + path = .gitconfig.user + +[init] + defaultBranch = main From 02b3b28a5185f1ec35f5ae212ab5d290216190cd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 09:41:33 +0200 Subject: [PATCH 0320/2080] Update for yadm --- README.md | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 54486b7c..58b542cd 100644 --- a/README.md +++ b/README.md @@ -5,29 +5,23 @@ dotfiles My messy dotfiles. WIP of course :) -Used to be managed using [dotbot][dotbot], but now mainly managed manually. +Managed using https://yadm.io -Some files or configuration parts are Mac OS X specific. +Some files or configuration parts are for GNU/Linux and some other are for MacOS X. ## Requirements * git -## Bootstrapping +## Using ``` sh -URL='https://github.com/gwarf/dotfiles' -git clone "$URL" ~/.dotfiles && cd ~/.dotfiles && ./install +# Bootstrap +yadm clone git@github.com:gwarf/dotfiles.git +yadm status +# Add a file +yadm add .my-conf-file +yadm commit .my-conf-file -m 'add .my-conf-file' +# Push to remote repository +yadm push ``` - -In order to push and once GitHub credentials have been confiugred it is -required to update the URL in the ```.git/config``` file: - -``` -[remote "origin"] - url = git@github.com:gwarf/dotfiles.git -``` - -## References - -[dotbot]: https://github.com/anishathalye/dotbot/ From c2f35169b85b55a519464cba73c264d4baf893ab Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 09:42:16 +0200 Subject: [PATCH 0321/2080] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 58b542cd..7477718f 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ Some files or configuration parts are for GNU/Linux and some other are for MacOS ## Requirements * git +* yadm ## Using From c5449802bf3be5979068743ed5e00e905d9225f6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 09:49:09 +0200 Subject: [PATCH 0322/2080] Import vim --- .config/nvim/UltiSnips/all.snippets | 9 + .config/nvim/UltiSnips/puppet.snippets | 203 ++ .config/nvim/UltiSnips/py.snippets | 34 + .config/nvim/UltiSnips/sh.snippets | 168 + .config/nvim/after/ftplugin/vimwiki.vim | 4 + .config/nvim/after/plugin/TabularMaps.vim | 26 + .../nvim/after/plugin/ultisnips_custom.vim | 11 + .config/nvim/autoload/mailcomplete.vim | 24 + .config/nvim/autoload/plug.vim | 2797 +++++++++++++++++ .config/nvim/autoload/snippet.vim | 23 + .config/nvim/coc-settings.json | 10 + .config/nvim/ftplugin/c.vim | 8 + .config/nvim/ftplugin/css.vim | 5 + .config/nvim/ftplugin/gitcommit.vim | 1 + .config/nvim/ftplugin/haskell.vim | 7 + .config/nvim/ftplugin/help.vim | 13 + .config/nvim/ftplugin/html.vim | 7 + .config/nvim/ftplugin/java.vim | 19 + .config/nvim/ftplugin/javascript.vim | 5 + .config/nvim/ftplugin/mail.vim | 57 + .config/nvim/ftplugin/markdown.vim | 5 + .config/nvim/ftplugin/perl.vim | 4 + .config/nvim/ftplugin/php.vim | 14 + .config/nvim/ftplugin/python.vim | 31 + .config/nvim/ftplugin/rst.vim | 1 + .config/nvim/ftplugin/tex.vim | 7 + .config/nvim/ftplugin/text.vim | 2 + .config/nvim/ftplugin/xml.vim | 8 + .config/nvim/init.vim | 486 +++ .config/nvim/plugin/settings/LeaderF.vim | 6 + .config/nvim/plugin/settings/airline.vim | 7 + .config/nvim/plugin/settings/ale.vim | 60 + .config/nvim/plugin/settings/checkattach.vim | 4 + .config/nvim/plugin/settings/coc.vim | 167 + .config/nvim/plugin/settings/ctrlp.vim | 9 + .config/nvim/plugin/settings/deoplete.vim | 56 + .config/nvim/plugin/settings/editorconfig.vim | 3 + .config/nvim/plugin/settings/fzf.vim | 10 + .config/nvim/plugin/settings/lessspace.vim | 2 + .config/nvim/plugin/settings/localvimrc.vim | 4 + .config/nvim/plugin/settings/nerdtree.vim | 11 + .config/nvim/plugin/settings/notes.vim | 14 + .../nvim/plugin/settings/silversearcher.vim | 32 + .config/nvim/plugin/settings/spell.vim | 10 + .config/nvim/plugin/settings/startify.vim | 2 + .config/nvim/plugin/settings/syntastic.vim | 26 + .config/nvim/plugin/settings/ultisnips.vim | 8 + .config/nvim/plugin/settings/vim_markdown.vim | 8 + .config/nvim/plugin/settings/vimmail.vim | 2 + .config/nvim/plugin/settings/vimwiki.vim | 30 + .config/nvim/snippets/rip-vim-puppet.snippets | 244 ++ .config/nvim/spell/en.utf-8.add | 316 ++ .config/nvim/spell/en.utf-8.add.spl | Bin 0 -> 4222 bytes .config/nvim/spell/en.utf-8.spl | Bin 0 -> 570549 bytes .config/nvim/spell/en.utf-8.sug | Bin 0 -> 556477 bytes .config/nvim/spell/fr.utf-8.add | 2 + .config/nvim/spell/fr.utf-8.add.spl | Bin 0 -> 63 bytes .config/nvim/spell/fr.utf-8.spl | Bin 0 -> 571627 bytes .config/nvim/spell/fr.utf-8.sug | Bin 0 -> 2324315 bytes 59 files changed, 5022 insertions(+) create mode 100644 .config/nvim/UltiSnips/all.snippets create mode 100644 .config/nvim/UltiSnips/puppet.snippets create mode 100644 .config/nvim/UltiSnips/py.snippets create mode 100644 .config/nvim/UltiSnips/sh.snippets create mode 100644 .config/nvim/after/ftplugin/vimwiki.vim create mode 100644 .config/nvim/after/plugin/TabularMaps.vim create mode 100644 .config/nvim/after/plugin/ultisnips_custom.vim create mode 100644 .config/nvim/autoload/mailcomplete.vim create mode 100644 .config/nvim/autoload/plug.vim create mode 100644 .config/nvim/autoload/snippet.vim create mode 100644 .config/nvim/coc-settings.json create mode 100644 .config/nvim/ftplugin/c.vim create mode 100644 .config/nvim/ftplugin/css.vim create mode 100644 .config/nvim/ftplugin/gitcommit.vim create mode 100644 .config/nvim/ftplugin/haskell.vim create mode 100644 .config/nvim/ftplugin/help.vim create mode 100644 .config/nvim/ftplugin/html.vim create mode 100644 .config/nvim/ftplugin/java.vim create mode 100644 .config/nvim/ftplugin/javascript.vim create mode 100644 .config/nvim/ftplugin/mail.vim create mode 100644 .config/nvim/ftplugin/markdown.vim create mode 100644 .config/nvim/ftplugin/perl.vim create mode 100644 .config/nvim/ftplugin/php.vim create mode 100644 .config/nvim/ftplugin/python.vim create mode 100644 .config/nvim/ftplugin/rst.vim create mode 100644 .config/nvim/ftplugin/tex.vim create mode 100644 .config/nvim/ftplugin/text.vim create mode 100644 .config/nvim/ftplugin/xml.vim create mode 100644 .config/nvim/init.vim create mode 100644 .config/nvim/plugin/settings/LeaderF.vim create mode 100644 .config/nvim/plugin/settings/airline.vim create mode 100644 .config/nvim/plugin/settings/ale.vim create mode 100644 .config/nvim/plugin/settings/checkattach.vim create mode 100644 .config/nvim/plugin/settings/coc.vim create mode 100644 .config/nvim/plugin/settings/ctrlp.vim create mode 100644 .config/nvim/plugin/settings/deoplete.vim create mode 100644 .config/nvim/plugin/settings/editorconfig.vim create mode 100644 .config/nvim/plugin/settings/fzf.vim create mode 100644 .config/nvim/plugin/settings/lessspace.vim create mode 100644 .config/nvim/plugin/settings/localvimrc.vim create mode 100644 .config/nvim/plugin/settings/nerdtree.vim create mode 100644 .config/nvim/plugin/settings/notes.vim create mode 100644 .config/nvim/plugin/settings/silversearcher.vim create mode 100644 .config/nvim/plugin/settings/spell.vim create mode 100644 .config/nvim/plugin/settings/startify.vim create mode 100644 .config/nvim/plugin/settings/syntastic.vim create mode 100644 .config/nvim/plugin/settings/ultisnips.vim create mode 100644 .config/nvim/plugin/settings/vim_markdown.vim create mode 100644 .config/nvim/plugin/settings/vimmail.vim create mode 100644 .config/nvim/plugin/settings/vimwiki.vim create mode 100644 .config/nvim/snippets/rip-vim-puppet.snippets create mode 100644 .config/nvim/spell/en.utf-8.add create mode 100644 .config/nvim/spell/en.utf-8.add.spl create mode 100644 .config/nvim/spell/en.utf-8.spl create mode 100644 .config/nvim/spell/en.utf-8.sug create mode 100644 .config/nvim/spell/fr.utf-8.add create mode 100644 .config/nvim/spell/fr.utf-8.add.spl create mode 100644 .config/nvim/spell/fr.utf-8.spl create mode 100644 .config/nvim/spell/fr.utf-8.sug diff --git a/.config/nvim/UltiSnips/all.snippets b/.config/nvim/UltiSnips/all.snippets new file mode 100644 index 00000000..e897c9d4 --- /dev/null +++ b/.config/nvim/UltiSnips/all.snippets @@ -0,0 +1,9 @@ +snippet cuthere "Start cut-here symbols" b +---------------8<----------------8<-------------------8<--------------- +endsnippet + +snippet cutstop "End cut-here symbols" b +--------------->8---------------->8------------------->8--------------- +endsnippet + +# vim:ft=snippets: diff --git a/.config/nvim/UltiSnips/puppet.snippets b/.config/nvim/UltiSnips/puppet.snippets new file mode 100644 index 00000000..307c1c84 --- /dev/null +++ b/.config/nvim/UltiSnips/puppet.snippets @@ -0,0 +1,203 @@ +######################################################################### +# Python helper code # +######################################################################### + +# :help UltiSnips +# http://bazaar.launchpad.net/~sirver/ultisnips/trunk/view/head:/doc/UltiSnips.txt + +# Snippets options +# * b: snippet should be at beginning of line + +global !p +import vim +import os.path +def get_module_namespace_and_basename(): + """This function will try to guess the current class or define name you are + trying to create. Note that for this to work you should be using the module + structure as per the style guide. Examples inputs and it's output + * /home/nikolavp/puppet/modules/collectd/manifests/init.pp -> collectd + * /home/nikolavp/puppet/modules/collectd/manfistes/mysql.pp -> collectd::mysql + """ + first_time = True + current_file_path_without_ext = vim.eval('expand("%:p:r")') or "" + if not current_file_path_without_ext: + return "name" + parts = os.path.split(current_file_path_without_ext) + namespace = '' + while parts[0] and parts[0] != '/': + if parts[1] == 'init' and first_time and not namespace: + first_time = False + parts = os.path.split(parts[0]) + continue + if parts[1] == 'manifests': + return os.path.split(parts[0])[1] + ('::' + namespace).rstrip(':') + else: + namespace = parts[1] + '::' + namespace + parts = os.path.split(parts[0]) + # couldn't guess the namespace. The user is editing a raw file in no module like the site.pp file + return "name" +endglobal + +############################################################################### +# Puppet Language Constructs # +# See http://docs.puppetlabs.com/puppet/latest/reference/lang_summary.html # +############################################################################### +snippet file "File resource type" b +file { '${1:name}': + ensure => '${2:file}', + owner => '${3:root}', + group => '${4:root}', + mode => '${5:0644}', + source => 'puppet:///modules/${6:module}/${7:source}', + content => template('${8:template}'), + require => [ Package['${10:package}'], File['${11:file}'], ], +} +endsnippet + +snippet package "Package resource type" b +package { '${1:name}': + ensure => '${2:installed}', +} +endsnippet + +snippet service "Service resource type" b +service { '${1:name}': + ensure => '${2:running}', + enable => ${3:true}, + hasstatus => ${4:true}, +} +endsnippet + +snippet class +class { '${1}': + ${2} +} + +# vim: set et sta sw=2 ts=2 sts=2 noci noai: +endsnippet + +snippet firewall +firewall { '050 Open port ${1}': + dport => $1, + action => 'accept', +} +endsnippet + +snippet file_line "file_line (stdlib) resource type" b +file_line { '${1:name}': + ensure => '${2:present}', + path => '${3:/temp/test.txt}', + line => '${4:installed}', + after => '${5}', + match => '${6}', + multiple => '${7:false}', +} +endsnippet + +snippet =os "selector on OS" b += $::operatingsystem ? { + /(redhat|centos)/ => 'bin', + /(ubuntu|debian)/ => 'bin', + default => undef, +} +endsnippet + +snippet = "selector on OS family" b += $::osfamily ? { + 'Debian' => 'bin', + 'RedHat' => 'bin', + default => undef, +} +endsnippet + +# Header to match http://docs.puppetlabs.com/guides/style_guide.html#puppet-doc +snippet classheader "Class declaration" b +# == Class: ${1:`!p snip.rv = get_module_namespace_and_basename()`} +# +# ${2:Full description of class $1 here} +# +# === Parameters +# +# Document parameters here. +# +# [*parameter1*] +# Explanation of what this parameter affects and what it defaults to. +# e.g. "Specify one or more upstream ntp servers as an array." +# +# === Examples +# +# include ::$1 +# +# Configuration is done using Hiera. +# +# === Authors +# +# `!v g:snips_author` <`!v g:snips_author_email`> +# +# === Copyright +# +# Copyright `!v strftime("%Y")` `!v g:snips_company` +# +class $1 (${3}) { + notify { 'Hellow world from ::$1!': } +} + +# vim: set et sta sw=2 ts=2 sts=2 noci noai: +endsnippet + +# Header to match http://docs.puppetlabs.com/guides/style_guide.html#puppet-doc +snippet defineheader "Define declaration" b +# == Define: ${1:`!p snip.rv = get_module_namespace_and_basename()`} +# +# ${2:Full description of define $1 here} +# +# === Parameters +# +# Document parameters here. +# +# [*parameter1*] +# Explanation of what this parameter affects and what it defaults to. +# e.g. "Specify one or more upstream ntp servers as an array." +# +# === Examples +# +# '$1' { 'namevar': +# parameter1 => [ 'just', 'an', 'example', ] +# } +# +# === Authors +# +# `!v g:snips_author` <`!v g:snips_author_email`> +# +# === Copyright +# +# Copyright `!v strftime("%Y")` `!v g:snips_company` +# +define $1 (${3}) { + ${4} +} + +# vim: set et sta sw=2 ts=2 sts=2 noci noai: +endsnippet + +snippet versioncmp_inf "Test if a is < b" +versioncmp(${1}, '${2}') == -1 +endsnippet + +snippet versioncmp_equal "Test if a is == b" +versioncmp(${1}, '${2}') == 0 +endsnippet + +snippet versioncmp_sup_equal "Test if a is >= b" +versioncmp(${1}, '${2}') > -1 +endsnippet + +snippet versioncmp_sup "Test if a is > b" +versioncmp(${1}, '${2}') > 0 +endsnippet + +snippet notify "Notify" +notify { "${1}": } +endsnippet + +# vim:ft=snippets: diff --git a/.config/nvim/UltiSnips/py.snippets b/.config/nvim/UltiSnips/py.snippets new file mode 100644 index 00000000..60d578d9 --- /dev/null +++ b/.config/nvim/UltiSnips/py.snippets @@ -0,0 +1,34 @@ +snippet _skel "Python skeleton" b +#!/usr/bin/env python +# coding=utf-8 + +''' +Documentation of class + +`!v g:snips_author` <`!v g:snips_author_email`> +`!v strftime("%Y")` `!v g:snips_company` + +@package MyPackage +''' + +from __future__ import print_function +import os +import sys + +$0 + +# vim: set et ts=4 sw=4: +endsnippet + +snippet header "File Header" b +endsnippet + +snippet main "main function" b +if __name__ == '__main__': + if len(sys.argv) < 1: + sys.exit('Usage: %s arg1' % sys.argv[0]) + arg1 = sys.argv[1] + to_be_named(arg1) +endsnippet + +# vim:ft=snippets: diff --git a/.config/nvim/UltiSnips/sh.snippets b/.config/nvim/UltiSnips/sh.snippets new file mode 100644 index 00000000..499fca29 --- /dev/null +++ b/.config/nvim/UltiSnips/sh.snippets @@ -0,0 +1,168 @@ +snippet _skel "Shell skeleton" b +#!/bin/sh +$0 + +exit 0 + +# vim:set ft=sh ts=2 sw=2 et: +endsnippet + +snippet exit_script_on_error "Exit script on errors" b +# Exit on first error even when using | and on unset variable +set -eo pipefail -u +endsnippet + +snippet header "File Header" b +########################################################################### +# +# Script: ${1:`!v expand("%:t")`} +# Usage: $1 ${2:parameters} +# Description: ${3:Short description} +# ${4:Full description of $1 here} +# +# Version: ${5:0.0.1} +# +# Project: ${6:project} `!v strftime("%Y")` +# Author: `!v g:snips_author` <`!v g:snips_author_email`> +# Copyright: `!v g:snips_company` +# +# ------------------------------------------------------------------------ +# Changelog: +# +# `!v strftime("%Y")`-`!v strftime("%m")`-`!v strftime("%d")` $5: Initial version. (`!v g:snips_author_initials`) +# +########################################################################### + +$7 +endsnippet + +snippet error_message "Error message function" b +# Print a message to stderr +# +# error_message message +error_message() { + >&2 printf "\$@" +} +endsnippet + +snippet init "Initialization function" b +USAGE="$(basename \$0) ${1:arguments}" + +# Print a message to stderr +# +# error_message message +error_message() { + >&2 printf "\$@" +} + +# Check if a variable is set +# +# assert_is_set caller_name variable_name +assert_is_set() { + if [ \$# -ne 2 ]; then + error_message 'assert_is_set: Wrong numbers of parameters:\\n' + error_message 'assert_is_set caller_name variable_name\\n' + exit 1 + fi + + local caller_name="\$1" + local variable_name="\$2" + + eval val=\\\$\$variable_name + if [ -z "\$val" ] ; then + error_message "\$caller_name: variable \'\$variable_name\' is not defined or empty\\n" + exit 1 + fi +} + +# Prepare run +# +# init "\$@" +init() { + if [ \$# -ne ${2:arguments number} ]; then + error_message "Wrong numbers of parameters (\$# instead of $2)\\n" + error_message "\$USAGE\\n" + exit 1 + fi + + VAR="\$1" + + assert_is_set init VAR +} + +# Main block +# +# run +run() { + # Do some stuff +} + +init "\$@" +run +endsnippet + +snippet eprintf +>&2 printf "$1\\n" +endsnippet + +snippet readfile +while read line || [ -n "$line" ]; do + ${2} +done < ${1} +endsnippet + +snippet confirm_or_exit "Confirm or exit function" b +# Ask a user for confirmation +# +# confirm_or_exit +function confirm_or_exit() { +while true; do + printf 'Please confirm (y or n) :\\n' + read CONFIRM + case \$CONFIRM in + y|Y|YES|yes|Yes) + break + ;; + n|N|no|NO|No) + printf "Aborting - you entered \$CONFIRM\\n" + exit 1 + ;; + *) printf 'Please enter only y or n\\n' + esac +done +} +endsnippet + +snippet check_presence_binary "check_presence_binary function" b +# Check presence of a binary and make it executablek +# +# check_presence $binary +check_presence() { + binary="\$1" + if [ -r "$binary" ]; then + if [ ! -x $binary ]; then + echo + echo "Making $binary executable" + chmod +x "$binary" + fi + else + echo "$binary is not present!" + exit 1 + fi +} +endsnippet + +snippet check_presence "check_presence function" b +# Check presence of a file +# +# check_presence $file +check_presence() { + file="\$1" + if [ ! -r "\$file" ]; then + echo "$file is not present!" + exit 1 + fi +} +endsnippet + +# vim:ft=snippets: diff --git a/.config/nvim/after/ftplugin/vimwiki.vim b/.config/nvim/after/ftplugin/vimwiki.vim new file mode 100644 index 00000000..62c7fb28 --- /dev/null +++ b/.config/nvim/after/ftplugin/vimwiki.vim @@ -0,0 +1,4 @@ +" Use tab to indent lists +" ctrl-t for indenting is catched by termite +" ctrl-d should be working for unindenting +:inoremap <tab> <c-t> diff --git a/.config/nvim/after/plugin/TabularMaps.vim b/.config/nvim/after/plugin/TabularMaps.vim new file mode 100644 index 00000000..839b8dfd --- /dev/null +++ b/.config/nvim/after/plugin/TabularMaps.vim @@ -0,0 +1,26 @@ +if !exists(':Tabularize') + finish " Tabular.vim wasn't loaded +endif + +" Make line wrapping possible by resetting the 'cpo' option, first saving it +let s:save_cpo = &cpo +set cpo&vim + +AddTabularPattern! puppet_params /=> + +AddTabularPattern! assignment /[|&+*/%<>=!~-]\@<!\([<>!=]=\|=\~\)\@![|&+*/%<>=!~-]*=/l1r1 + +AddTabularPattern! two_spaces / /l0 + +AddTabularPipeline! multiple_spaces / / map(a:lines, "substitute(v:val, ' *', ' ', 'g')") | tabular#TabularizeStrings(a:lines, ' ', 'l0') + +AddTabularPipeline! argument_list /(.*)/ map(a:lines, 'substitute(v:val, ''\s*\([(,)]\)\s*'', ''\1'', ''g'')') + \ | tabular#TabularizeStrings(a:lines, '[(,)]', 'l0') + \ | map(a:lines, 'substitute(v:val, ''\(\s*\),'', '',\1 '', "g")') + \ | map(a:lines, 'substitute(v:val, ''\s*)'', ")", "g")') + +" Restore the saved value of 'cpo' +let &cpo = s:save_cpo +unlet s:save_cpo + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/after/plugin/ultisnips_custom.vim b/.config/nvim/after/plugin/ultisnips_custom.vim new file mode 100644 index 00000000..810354e3 --- /dev/null +++ b/.config/nvim/after/plugin/ultisnips_custom.vim @@ -0,0 +1,11 @@ +" after/plugin/ultisnips_custom.vim +" https://noahfrederick.com/log/vim-templates-with-ultisnips-and-projectionist/ + +if !exists('g:did_UltiSnips_plugin') + finish +endif + +augroup ultisnips_custom + autocmd! + autocmd BufNewFile * silent! call snippet#InsertSkeleton() +augroup END diff --git a/.config/nvim/autoload/mailcomplete.vim b/.config/nvim/autoload/mailcomplete.vim new file mode 100644 index 00000000..6e2fc019 --- /dev/null +++ b/.config/nvim/autoload/mailcomplete.vim @@ -0,0 +1,24 @@ +function! mailcomplete#Complete(findstart, base) + if a:findstart == 1 + let line = getline('.') + let idx = col('.') + while idx > 0 + let idx -= 1 + let c = line[idx] + " break on header and previous email + if c == ':' || c == '>' + return idx + 2 + else + continue + endif + endwhile + return idx + else + let trim="sed '/^$/d' | cut -f1,2" + let fmt='awk ''BEGIN{FS=OFS="\t"}{printf "%s <%s>\n", $2, $1}''' + " Using lbdq + " return split(system('lbdbq ' . a:base . '|' . trim . '|' . fmt ), '\n') + " Using mu + return split(system('mu cfind --format=mutt-ab ' . a:base . '|' . trim . '|' . fmt ), '\n') + endif +endfunc diff --git a/.config/nvim/autoload/plug.vim b/.config/nvim/autoload/plug.vim new file mode 100644 index 00000000..2b89b5a6 --- /dev/null +++ b/.config/nvim/autoload/plug.vim @@ -0,0 +1,2797 @@ +" vim-plug: Vim plugin manager +" ============================ +" +" Download plug.vim and put it in ~/.vim/autoload +" +" curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ +" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +" +" Edit your .vimrc +" +" call plug#begin('~/.vim/plugged') +" +" " Make sure you use single quotes +" +" " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align +" Plug 'junegunn/vim-easy-align' +" +" " Any valid git URL is allowed +" Plug 'https://github.com/junegunn/vim-github-dashboard.git' +" +" " Multiple Plug commands can be written in a single line using | separators +" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets' +" +" " On-demand loading +" Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } +" Plug 'tpope/vim-fireplace', { 'for': 'clojure' } +" +" " Using a non-default branch +" Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' } +" +" " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) +" Plug 'fatih/vim-go', { 'tag': '*' } +" +" " Plugin options +" Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' } +" +" " Plugin outside ~/.vim/plugged with post-update hook +" Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +" +" " Unmanaged plugin (manually installed and updated) +" Plug '~/my-prototype-plugin' +" +" " Initialize plugin system +" call plug#end() +" +" Then reload .vimrc and :PlugInstall to install plugins. +" +" Plug options: +" +"| Option | Description | +"| ----------------------- | ------------------------------------------------ | +"| `branch`/`tag`/`commit` | Branch/tag/commit of the repository to use | +"| `rtp` | Subdirectory that contains Vim plugin | +"| `dir` | Custom directory for the plugin | +"| `as` | Use different name for the plugin | +"| `do` | Post-update hook (string or funcref) | +"| `on` | On-demand loading: Commands or `<Plug>`-mappings | +"| `for` | On-demand loading: File types | +"| `frozen` | Do not update unless explicitly specified | +" +" More information: https://github.com/junegunn/vim-plug +" +" +" Copyright (c) 2017 Junegunn Choi +" +" MIT License +" +" Permission is hereby granted, free of charge, to any person obtaining +" a copy of this software and associated documentation files (the +" "Software"), to deal in the Software without restriction, including +" without limitation the rights to use, copy, modify, merge, publish, +" distribute, sublicense, and/or sell copies of the Software, and to +" permit persons to whom the Software is furnished to do so, subject to +" the following conditions: +" +" The above copyright notice and this permission notice shall be +" included in all copies or substantial portions of the Software. +" +" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +if exists('g:loaded_plug') + finish +endif +let g:loaded_plug = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let s:plug_src = 'https://github.com/junegunn/vim-plug.git' +let s:plug_tab = get(s:, 'plug_tab', -1) +let s:plug_buf = get(s:, 'plug_buf', -1) +let s:mac_gui = has('gui_macvim') && has('gui_running') +let s:is_win = has('win32') +let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win) +let s:vim8 = has('patch-8.0.0039') && exists('*job_start') +if s:is_win && &shellslash + set noshellslash + let s:me = resolve(expand('<sfile>:p')) + set shellslash +else + let s:me = resolve(expand('<sfile>:p')) +endif +let s:base_spec = { 'branch': '', 'frozen': 0 } +let s:TYPE = { +\ 'string': type(''), +\ 'list': type([]), +\ 'dict': type({}), +\ 'funcref': type(function('call')) +\ } +let s:loaded = get(s:, 'loaded', {}) +let s:triggers = get(s:, 'triggers', {}) + +function! s:isabsolute(dir) abort + return a:dir =~# '^/' || (has('win32') && a:dir =~? '^\%(\\\|[A-Z]:\)') +endfunction + +function! s:git_dir(dir) abort + let gitdir = s:trim(a:dir) . '/.git' + if isdirectory(gitdir) + return gitdir + endif + if !filereadable(gitdir) + return '' + endif + let gitdir = matchstr(get(readfile(gitdir), 0, ''), '^gitdir: \zs.*') + if len(gitdir) && !s:isabsolute(gitdir) + let gitdir = a:dir . '/' . gitdir + endif + return isdirectory(gitdir) ? gitdir : '' +endfunction + +function! s:git_origin_url(dir) abort + let gitdir = s:git_dir(a:dir) + let config = gitdir . '/config' + if empty(gitdir) || !filereadable(config) + return '' + endif + return matchstr(join(readfile(config)), '\[remote "origin"\].\{-}url\s*=\s*\zs\S*\ze') +endfunction + +function! s:git_revision(dir) abort + let gitdir = s:git_dir(a:dir) + let head = gitdir . '/HEAD' + if empty(gitdir) || !filereadable(head) + return '' + endif + + let line = get(readfile(head), 0, '') + let ref = matchstr(line, '^ref: \zs.*') + if empty(ref) + return line + endif + + if filereadable(gitdir . '/' . ref) + return get(readfile(gitdir . '/' . ref), 0, '') + endif + + if filereadable(gitdir . '/packed-refs') + for line in readfile(gitdir . '/packed-refs') + if line =~# ' ' . ref + return matchstr(line, '^[0-9a-f]*') + endif + endfor + endif + + return '' +endfunction + +function! s:git_local_branch(dir) abort + let gitdir = s:git_dir(a:dir) + let head = gitdir . '/HEAD' + if empty(gitdir) || !filereadable(head) + return '' + endif + let branch = matchstr(get(readfile(head), 0, ''), '^ref: refs/heads/\zs.*') + return len(branch) ? branch : 'HEAD' +endfunction + +function! s:git_origin_branch(spec) + if len(a:spec.branch) + return a:spec.branch + endif + + " The file may not be present if this is a local repository + let gitdir = s:git_dir(a:spec.dir) + let origin_head = gitdir.'/refs/remotes/origin/HEAD' + if len(gitdir) && filereadable(origin_head) + return matchstr(get(readfile(origin_head), 0, ''), + \ '^ref: refs/remotes/origin/\zs.*') + endif + + " The command may not return the name of a branch in detached HEAD state + let result = s:lines(s:system('git symbolic-ref --short HEAD', a:spec.dir)) + return v:shell_error ? '' : result[-1] +endfunction + +if s:is_win + function! s:plug_call(fn, ...) + let shellslash = &shellslash + try + set noshellslash + return call(a:fn, a:000) + finally + let &shellslash = shellslash + endtry + endfunction +else + function! s:plug_call(fn, ...) + return call(a:fn, a:000) + endfunction +endif + +function! s:plug_getcwd() + return s:plug_call('getcwd') +endfunction + +function! s:plug_fnamemodify(fname, mods) + return s:plug_call('fnamemodify', a:fname, a:mods) +endfunction + +function! s:plug_expand(fmt) + return s:plug_call('expand', a:fmt, 1) +endfunction + +function! s:plug_tempname() + return s:plug_call('tempname') +endfunction + +function! plug#begin(...) + if a:0 > 0 + let s:plug_home_org = a:1 + let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p')) + elseif exists('g:plug_home') + let home = s:path(g:plug_home) + elseif !empty(&rtp) + let home = s:path(split(&rtp, ',')[0]) . '/plugged' + else + return s:err('Unable to determine plug home. Try calling plug#begin() with a path argument.') + endif + if s:plug_fnamemodify(home, ':t') ==# 'plugin' && s:plug_fnamemodify(home, ':h') ==# s:first_rtp + return s:err('Invalid plug home. '.home.' is a standard Vim runtime path and is not allowed.') + endif + + let g:plug_home = home + let g:plugs = {} + let g:plugs_order = [] + let s:triggers = {} + + call s:define_commands() + return 1 +endfunction + +function! s:define_commands() + command! -nargs=+ -bar Plug call plug#(<args>) + if !executable('git') + return s:err('`git` executable not found. Most commands will not be available. To suppress this message, prepend `silent!` to `call plug#begin(...)`.') + endif + if has('win32') + \ && &shellslash + \ && (&shell =~# 'cmd\(\.exe\)\?$' || &shell =~# 'powershell\(\.exe\)\?$') + return s:err('vim-plug does not support shell, ' . &shell . ', when shellslash is set.') + endif + if !has('nvim') + \ && (has('win32') || has('win32unix')) + \ && !has('multi_byte') + return s:err('Vim needs +multi_byte feature on Windows to run shell commands. Enable +iconv for best results.') + endif + command! -nargs=* -bar -bang -complete=customlist,s:names PlugInstall call s:install(<bang>0, [<f-args>]) + command! -nargs=* -bar -bang -complete=customlist,s:names PlugUpdate call s:update(<bang>0, [<f-args>]) + command! -nargs=0 -bar -bang PlugClean call s:clean(<bang>0) + command! -nargs=0 -bar PlugUpgrade if s:upgrade() | execute 'source' s:esc(s:me) | endif + command! -nargs=0 -bar PlugStatus call s:status() + command! -nargs=0 -bar PlugDiff call s:diff() + command! -nargs=? -bar -bang -complete=file PlugSnapshot call s:snapshot(<bang>0, <f-args>) +endfunction + +function! s:to_a(v) + return type(a:v) == s:TYPE.list ? a:v : [a:v] +endfunction + +function! s:to_s(v) + return type(a:v) == s:TYPE.string ? a:v : join(a:v, "\n") . "\n" +endfunction + +function! s:glob(from, pattern) + return s:lines(globpath(a:from, a:pattern)) +endfunction + +function! s:source(from, ...) + let found = 0 + for pattern in a:000 + for vim in s:glob(a:from, pattern) + execute 'source' s:esc(vim) + let found = 1 + endfor + endfor + return found +endfunction + +function! s:assoc(dict, key, val) + let a:dict[a:key] = add(get(a:dict, a:key, []), a:val) +endfunction + +function! s:ask(message, ...) + call inputsave() + echohl WarningMsg + let answer = input(a:message.(a:0 ? ' (y/N/a) ' : ' (y/N) ')) + echohl None + call inputrestore() + echo "\r" + return (a:0 && answer =~? '^a') ? 2 : (answer =~? '^y') ? 1 : 0 +endfunction + +function! s:ask_no_interrupt(...) + try + return call('s:ask', a:000) + catch + return 0 + endtry +endfunction + +function! s:lazy(plug, opt) + return has_key(a:plug, a:opt) && + \ (empty(s:to_a(a:plug[a:opt])) || + \ !isdirectory(a:plug.dir) || + \ len(s:glob(s:rtp(a:plug), 'plugin')) || + \ len(s:glob(s:rtp(a:plug), 'after/plugin'))) +endfunction + +function! plug#end() + if !exists('g:plugs') + return s:err('plug#end() called without calling plug#begin() first') + endif + + if exists('#PlugLOD') + augroup PlugLOD + autocmd! + augroup END + augroup! PlugLOD + endif + let lod = { 'ft': {}, 'map': {}, 'cmd': {} } + + if exists('g:did_load_filetypes') + filetype off + endif + for name in g:plugs_order + if !has_key(g:plugs, name) + continue + endif + let plug = g:plugs[name] + if get(s:loaded, name, 0) || !s:lazy(plug, 'on') && !s:lazy(plug, 'for') + let s:loaded[name] = 1 + continue + endif + + if has_key(plug, 'on') + let s:triggers[name] = { 'map': [], 'cmd': [] } + for cmd in s:to_a(plug.on) + if cmd =~? '^<Plug>.\+' + if empty(mapcheck(cmd)) && empty(mapcheck(cmd, 'i')) + call s:assoc(lod.map, cmd, name) + endif + call add(s:triggers[name].map, cmd) + elseif cmd =~# '^[A-Z]' + let cmd = substitute(cmd, '!*$', '', '') + if exists(':'.cmd) != 2 + call s:assoc(lod.cmd, cmd, name) + endif + call add(s:triggers[name].cmd, cmd) + else + call s:err('Invalid `on` option: '.cmd. + \ '. Should start with an uppercase letter or `<Plug>`.') + endif + endfor + endif + + if has_key(plug, 'for') + let types = s:to_a(plug.for) + if !empty(types) + augroup filetypedetect + call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim') + augroup END + endif + for type in types + call s:assoc(lod.ft, type, name) + endfor + endif + endfor + + for [cmd, names] in items(lod.cmd) + execute printf( + \ 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "<bang>", <line1>, <line2>, <q-args>, %s)', + \ cmd, string(cmd), string(names)) + endfor + + for [map, names] in items(lod.map) + for [mode, map_prefix, key_prefix] in + \ [['i', '<C-O>', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']] + execute printf( + \ '%snoremap <silent> %s %s:<C-U>call <SID>lod_map(%s, %s, %s, "%s")<CR>', + \ mode, map, map_prefix, string(map), string(names), mode != 'i', key_prefix) + endfor + endfor + + for [ft, names] in items(lod.ft) + augroup PlugLOD + execute printf('autocmd FileType %s call <SID>lod_ft(%s, %s)', + \ ft, string(ft), string(names)) + augroup END + endfor + + call s:reorg_rtp() + filetype plugin indent on + if has('vim_starting') + if has('syntax') && !exists('g:syntax_on') + syntax enable + end + else + call s:reload_plugins() + endif +endfunction + +function! s:loaded_names() + return filter(copy(g:plugs_order), 'get(s:loaded, v:val, 0)') +endfunction + +function! s:load_plugin(spec) + call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim') +endfunction + +function! s:reload_plugins() + for name in s:loaded_names() + call s:load_plugin(g:plugs[name]) + endfor +endfunction + +function! s:trim(str) + return substitute(a:str, '[\/]\+$', '', '') +endfunction + +function! s:version_requirement(val, min) + for idx in range(0, len(a:min) - 1) + let v = get(a:val, idx, 0) + if v < a:min[idx] | return 0 + elseif v > a:min[idx] | return 1 + endif + endfor + return 1 +endfunction + +function! s:git_version_requirement(...) + if !exists('s:git_version') + let s:git_version = map(split(split(s:system(['git', '--version']))[2], '\.'), 'str2nr(v:val)') + endif + return s:version_requirement(s:git_version, a:000) +endfunction + +function! s:progress_opt(base) + return a:base && !s:is_win && + \ s:git_version_requirement(1, 7, 1) ? '--progress' : '' +endfunction + +function! s:rtp(spec) + return s:path(a:spec.dir . get(a:spec, 'rtp', '')) +endfunction + +if s:is_win + function! s:path(path) + return s:trim(substitute(a:path, '/', '\', 'g')) + endfunction + + function! s:dirpath(path) + return s:path(a:path) . '\' + endfunction + + function! s:is_local_plug(repo) + return a:repo =~? '^[a-z]:\|^[%~]' + endfunction + + " Copied from fzf + function! s:wrap_cmds(cmds) + let cmds = [ + \ '@echo off', + \ 'setlocal enabledelayedexpansion'] + \ + (type(a:cmds) == type([]) ? a:cmds : [a:cmds]) + \ + ['endlocal'] + if has('iconv') + if !exists('s:codepage') + let s:codepage = libcallnr('kernel32.dll', 'GetACP', 0) + endif + return map(cmds, printf('iconv(v:val."\r", "%s", "cp%d")', &encoding, s:codepage)) + endif + return map(cmds, 'v:val."\r"') + endfunction + + function! s:batchfile(cmd) + let batchfile = s:plug_tempname().'.bat' + call writefile(s:wrap_cmds(a:cmd), batchfile) + let cmd = plug#shellescape(batchfile, {'shell': &shell, 'script': 0}) + if &shell =~# 'powershell\(\.exe\)\?$' + let cmd = '& ' . cmd + endif + return [batchfile, cmd] + endfunction +else + function! s:path(path) + return s:trim(a:path) + endfunction + + function! s:dirpath(path) + return substitute(a:path, '[/\\]*$', '/', '') + endfunction + + function! s:is_local_plug(repo) + return a:repo[0] =~ '[/$~]' + endfunction +endif + +function! s:err(msg) + echohl ErrorMsg + echom '[vim-plug] '.a:msg + echohl None +endfunction + +function! s:warn(cmd, msg) + echohl WarningMsg + execute a:cmd 'a:msg' + echohl None +endfunction + +function! s:esc(path) + return escape(a:path, ' ') +endfunction + +function! s:escrtp(path) + return escape(a:path, ' ,') +endfunction + +function! s:remove_rtp() + for name in s:loaded_names() + let rtp = s:rtp(g:plugs[name]) + execute 'set rtp-='.s:escrtp(rtp) + let after = globpath(rtp, 'after') + if isdirectory(after) + execute 'set rtp-='.s:escrtp(after) + endif + endfor +endfunction + +function! s:reorg_rtp() + if !empty(s:first_rtp) + execute 'set rtp-='.s:first_rtp + execute 'set rtp-='.s:last_rtp + endif + + " &rtp is modified from outside + if exists('s:prtp') && s:prtp !=# &rtp + call s:remove_rtp() + unlet! s:middle + endif + + let s:middle = get(s:, 'middle', &rtp) + let rtps = map(s:loaded_names(), 's:rtp(g:plugs[v:val])') + let afters = filter(map(copy(rtps), 'globpath(v:val, "after")'), '!empty(v:val)') + let rtp = join(map(rtps, 'escape(v:val, ",")'), ',') + \ . ','.s:middle.',' + \ . join(map(afters, 'escape(v:val, ",")'), ',') + let &rtp = substitute(substitute(rtp, ',,*', ',', 'g'), '^,\|,$', '', 'g') + let s:prtp = &rtp + + if !empty(s:first_rtp) + execute 'set rtp^='.s:first_rtp + execute 'set rtp+='.s:last_rtp + endif +endfunction + +function! s:doautocmd(...) + if exists('#'.join(a:000, '#')) + execute 'doautocmd' ((v:version > 703 || has('patch442')) ? '<nomodeline>' : '') join(a:000) + endif +endfunction + +function! s:dobufread(names) + for name in a:names + let path = s:rtp(g:plugs[name]) + for dir in ['ftdetect', 'ftplugin', 'after/ftdetect', 'after/ftplugin'] + if len(finddir(dir, path)) + if exists('#BufRead') + doautocmd BufRead + endif + return + endif + endfor + endfor +endfunction + +function! plug#load(...) + if a:0 == 0 + return s:err('Argument missing: plugin name(s) required') + endif + if !exists('g:plugs') + return s:err('plug#begin was not called') + endif + let names = a:0 == 1 && type(a:1) == s:TYPE.list ? a:1 : a:000 + let unknowns = filter(copy(names), '!has_key(g:plugs, v:val)') + if !empty(unknowns) + let s = len(unknowns) > 1 ? 's' : '' + return s:err(printf('Unknown plugin%s: %s', s, join(unknowns, ', '))) + end + let unloaded = filter(copy(names), '!get(s:loaded, v:val, 0)') + if !empty(unloaded) + for name in unloaded + call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) + endfor + call s:dobufread(unloaded) + return 1 + end + return 0 +endfunction + +function! s:remove_triggers(name) + if !has_key(s:triggers, a:name) + return + endif + for cmd in s:triggers[a:name].cmd + execute 'silent! delc' cmd + endfor + for map in s:triggers[a:name].map + execute 'silent! unmap' map + execute 'silent! iunmap' map + endfor + call remove(s:triggers, a:name) +endfunction + +function! s:lod(names, types, ...) + for name in a:names + call s:remove_triggers(name) + let s:loaded[name] = 1 + endfor + call s:reorg_rtp() + + for name in a:names + let rtp = s:rtp(g:plugs[name]) + for dir in a:types + call s:source(rtp, dir.'/**/*.vim') + endfor + if a:0 + if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2)) + execute 'runtime' a:1 + endif + call s:source(rtp, a:2) + endif + call s:doautocmd('User', name) + endfor +endfunction + +function! s:lod_ft(pat, names) + let syn = 'syntax/'.a:pat.'.vim' + call s:lod(a:names, ['plugin', 'after/plugin'], syn, 'after/'.syn) + execute 'autocmd! PlugLOD FileType' a:pat + call s:doautocmd('filetypeplugin', 'FileType') + call s:doautocmd('filetypeindent', 'FileType') +endfunction + +function! s:lod_cmd(cmd, bang, l1, l2, args, names) + call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) + call s:dobufread(a:names) + execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args) +endfunction + +function! s:lod_map(map, names, with_prefix, prefix) + call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) + call s:dobufread(a:names) + let extra = '' + while 1 + let c = getchar(0) + if c == 0 + break + endif + let extra .= nr2char(c) + endwhile + + if a:with_prefix + let prefix = v:count ? v:count : '' + let prefix .= '"'.v:register.a:prefix + if mode(1) == 'no' + if v:operator == 'c' + let prefix = "\<esc>" . prefix + endif + let prefix .= v:operator + endif + call feedkeys(prefix, 'n') + endif + call feedkeys(substitute(a:map, '^<Plug>', "\<Plug>", '') . extra) +endfunction + +function! plug#(repo, ...) + if a:0 > 1 + return s:err('Invalid number of arguments (1..2)') + endif + + try + let repo = s:trim(a:repo) + let opts = a:0 == 1 ? s:parse_options(a:1) : s:base_spec + let name = get(opts, 'as', s:plug_fnamemodify(repo, ':t:s?\.git$??')) + let spec = extend(s:infer_properties(name, repo), opts) + if !has_key(g:plugs, name) + call add(g:plugs_order, name) + endif + let g:plugs[name] = spec + let s:loaded[name] = get(s:loaded, name, 0) + catch + return s:err(repo . ' ' . v:exception) + endtry +endfunction + +function! s:parse_options(arg) + let opts = copy(s:base_spec) + let type = type(a:arg) + let opt_errfmt = 'Invalid argument for "%s" option of :Plug (expected: %s)' + if type == s:TYPE.string + if empty(a:arg) + throw printf(opt_errfmt, 'tag', 'string') + endif + let opts.tag = a:arg + elseif type == s:TYPE.dict + for opt in ['branch', 'tag', 'commit', 'rtp', 'dir', 'as'] + if has_key(a:arg, opt) + \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) + throw printf(opt_errfmt, opt, 'string') + endif + endfor + for opt in ['on', 'for'] + if has_key(a:arg, opt) + \ && type(a:arg[opt]) != s:TYPE.list + \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) + throw printf(opt_errfmt, opt, 'string or list') + endif + endfor + if has_key(a:arg, 'do') + \ && type(a:arg.do) != s:TYPE.funcref + \ && (type(a:arg.do) != s:TYPE.string || empty(a:arg.do)) + throw printf(opt_errfmt, 'do', 'string or funcref') + endif + call extend(opts, a:arg) + if has_key(opts, 'dir') + let opts.dir = s:dirpath(s:plug_expand(opts.dir)) + endif + else + throw 'Invalid argument type (expected: string or dictionary)' + endif + return opts +endfunction + +function! s:infer_properties(name, repo) + let repo = a:repo + if s:is_local_plug(repo) + return { 'dir': s:dirpath(s:plug_expand(repo)) } + else + if repo =~ ':' + let uri = repo + else + if repo !~ '/' + throw printf('Invalid argument: %s (implicit `vim-scripts'' expansion is deprecated)', repo) + endif + let fmt = get(g:, 'plug_url_format', 'https://git::@github.com/%s.git') + let uri = printf(fmt, repo) + endif + return { 'dir': s:dirpath(g:plug_home.'/'.a:name), 'uri': uri } + endif +endfunction + +function! s:install(force, names) + call s:update_impl(0, a:force, a:names) +endfunction + +function! s:update(force, names) + call s:update_impl(1, a:force, a:names) +endfunction + +function! plug#helptags() + if !exists('g:plugs') + return s:err('plug#begin was not called') + endif + for spec in values(g:plugs) + let docd = join([s:rtp(spec), 'doc'], '/') + if isdirectory(docd) + silent! execute 'helptags' s:esc(docd) + endif + endfor + return 1 +endfunction + +function! s:syntax() + syntax clear + syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber + syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX + syn match plugNumber /[0-9]\+[0-9.]*/ contained + syn match plugBracket /[[\]]/ contained + syn match plugX /x/ contained + syn match plugDash /^-\{1}\ / + syn match plugPlus /^+/ + syn match plugStar /^*/ + syn match plugMessage /\(^- \)\@<=.*/ + syn match plugName /\(^- \)\@<=[^ ]*:/ + syn match plugSha /\%(: \)\@<=[0-9a-f]\{4,}$/ + syn match plugTag /(tag: [^)]\+)/ + syn match plugInstall /\(^+ \)\@<=[^:]*/ + syn match plugUpdate /\(^* \)\@<=[^:]*/ + syn match plugCommit /^ \X*[0-9a-f]\{7,9} .*/ contains=plugRelDate,plugEdge,plugTag + syn match plugEdge /^ \X\+$/ + syn match plugEdge /^ \X*/ contained nextgroup=plugSha + syn match plugSha /[0-9a-f]\{7,9}/ contained + syn match plugRelDate /([^)]*)$/ contained + syn match plugNotLoaded /(not loaded)$/ + syn match plugError /^x.*/ + syn region plugDeleted start=/^\~ .*/ end=/^\ze\S/ + syn match plugH2 /^.*:\n-\+$/ + syn match plugH2 /^-\{2,}/ + syn keyword Function PlugInstall PlugStatus PlugUpdate PlugClean + hi def link plug1 Title + hi def link plug2 Repeat + hi def link plugH2 Type + hi def link plugX Exception + hi def link plugBracket Structure + hi def link plugNumber Number + + hi def link plugDash Special + hi def link plugPlus Constant + hi def link plugStar Boolean + + hi def link plugMessage Function + hi def link plugName Label + hi def link plugInstall Function + hi def link plugUpdate Type + + hi def link plugError Error + hi def link plugDeleted Ignore + hi def link plugRelDate Comment + hi def link plugEdge PreProc + hi def link plugSha Identifier + hi def link plugTag Constant + + hi def link plugNotLoaded Comment +endfunction + +function! s:lpad(str, len) + return a:str . repeat(' ', a:len - len(a:str)) +endfunction + +function! s:lines(msg) + return split(a:msg, "[\r\n]") +endfunction + +function! s:lastline(msg) + return get(s:lines(a:msg), -1, '') +endfunction + +function! s:new_window() + execute get(g:, 'plug_window', 'vertical topleft new') +endfunction + +function! s:plug_window_exists() + let buflist = tabpagebuflist(s:plug_tab) + return !empty(buflist) && index(buflist, s:plug_buf) >= 0 +endfunction + +function! s:switch_in() + if !s:plug_window_exists() + return 0 + endif + + if winbufnr(0) != s:plug_buf + let s:pos = [tabpagenr(), winnr(), winsaveview()] + execute 'normal!' s:plug_tab.'gt' + let winnr = bufwinnr(s:plug_buf) + execute winnr.'wincmd w' + call add(s:pos, winsaveview()) + else + let s:pos = [winsaveview()] + endif + + setlocal modifiable + return 1 +endfunction + +function! s:switch_out(...) + call winrestview(s:pos[-1]) + setlocal nomodifiable + if a:0 > 0 + execute a:1 + endif + + if len(s:pos) > 1 + execute 'normal!' s:pos[0].'gt' + execute s:pos[1] 'wincmd w' + call winrestview(s:pos[2]) + endif +endfunction + +function! s:finish_bindings() + nnoremap <silent> <buffer> R :call <SID>retry()<cr> + nnoremap <silent> <buffer> D :PlugDiff<cr> + nnoremap <silent> <buffer> S :PlugStatus<cr> + nnoremap <silent> <buffer> U :call <SID>status_update()<cr> + xnoremap <silent> <buffer> U :call <SID>status_update()<cr> + nnoremap <silent> <buffer> ]] :silent! call <SID>section('')<cr> + nnoremap <silent> <buffer> [[ :silent! call <SID>section('b')<cr> +endfunction + +function! s:prepare(...) + if empty(s:plug_getcwd()) + throw 'Invalid current working directory. Cannot proceed.' + endif + + for evar in ['$GIT_DIR', '$GIT_WORK_TREE'] + if exists(evar) + throw evar.' detected. Cannot proceed.' + endif + endfor + + call s:job_abort() + if s:switch_in() + if b:plug_preview == 1 + pc + endif + enew + else + call s:new_window() + endif + + nnoremap <silent> <buffer> q :call <SID>close_pane()<cr> + if a:0 == 0 + call s:finish_bindings() + endif + let b:plug_preview = -1 + let s:plug_tab = tabpagenr() + let s:plug_buf = winbufnr(0) + call s:assign_name() + + for k in ['<cr>', 'L', 'o', 'X', 'd', 'dd'] + execute 'silent! unmap <buffer>' k + endfor + setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell + if exists('+colorcolumn') + setlocal colorcolumn= + endif + setf vim-plug + if exists('g:syntax_on') + call s:syntax() + endif +endfunction + +function! s:close_pane() + if b:plug_preview == 1 + pc + let b:plug_preview = -1 + else + bd + endif +endfunction + +function! s:assign_name() + " Assign buffer name + let prefix = '[Plugins]' + let name = prefix + let idx = 2 + while bufexists(name) + let name = printf('%s (%s)', prefix, idx) + let idx = idx + 1 + endwhile + silent! execute 'f' fnameescape(name) +endfunction + +function! s:chsh(swap) + let prev = [&shell, &shellcmdflag, &shellredir] + if !s:is_win + set shell=sh + endif + if a:swap + if &shell =~# 'powershell\(\.exe\)\?$' || &shell =~# 'pwsh$' + let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s' + elseif &shell =~# 'sh' || &shell =~# 'cmd\(\.exe\)\?$' + set shellredir=>%s\ 2>&1 + endif + endif + return prev +endfunction + +function! s:bang(cmd, ...) + let batchfile = '' + try + let [sh, shellcmdflag, shrd] = s:chsh(a:0) + " FIXME: Escaping is incomplete. We could use shellescape with eval, + " but it won't work on Windows. + let cmd = a:0 ? s:with_cd(a:cmd, a:1) : a:cmd + if s:is_win + let [batchfile, cmd] = s:batchfile(cmd) + endif + let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%') + execute "normal! :execute g:_plug_bang\<cr>\<cr>" + finally + unlet g:_plug_bang + let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] + if s:is_win && filereadable(batchfile) + call delete(batchfile) + endif + endtry + return v:shell_error ? 'Exit status: ' . v:shell_error : '' +endfunction + +function! s:regress_bar() + let bar = substitute(getline(2)[1:-2], '.*\zs=', 'x', '') + call s:progress_bar(2, bar, len(bar)) +endfunction + +function! s:is_updated(dir) + return !empty(s:system_chomp(['git', 'log', '--pretty=format:%h', 'HEAD...HEAD@{1}'], a:dir)) +endfunction + +function! s:do(pull, force, todo) + for [name, spec] in items(a:todo) + if !isdirectory(spec.dir) + continue + endif + let installed = has_key(s:update.new, name) + let updated = installed ? 0 : + \ (a:pull && index(s:update.errors, name) < 0 && s:is_updated(spec.dir)) + if a:force || installed || updated + execute 'cd' s:esc(spec.dir) + call append(3, '- Post-update hook for '. name .' ... ') + let error = '' + let type = type(spec.do) + if type == s:TYPE.string + if spec.do[0] == ':' + if !get(s:loaded, name, 0) + let s:loaded[name] = 1 + call s:reorg_rtp() + endif + call s:load_plugin(spec) + try + execute spec.do[1:] + catch + let error = v:exception + endtry + if !s:plug_window_exists() + cd - + throw 'Warning: vim-plug was terminated by the post-update hook of '.name + endif + else + let error = s:bang(spec.do) + endif + elseif type == s:TYPE.funcref + try + call s:load_plugin(spec) + let status = installed ? 'installed' : (updated ? 'updated' : 'unchanged') + call spec.do({ 'name': name, 'status': status, 'force': a:force }) + catch + let error = v:exception + endtry + else + let error = 'Invalid hook type' + endif + call s:switch_in() + call setline(4, empty(error) ? (getline(4) . 'OK') + \ : ('x' . getline(4)[1:] . error)) + if !empty(error) + call add(s:update.errors, name) + call s:regress_bar() + endif + cd - + endif + endfor +endfunction + +function! s:hash_match(a, b) + return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0 +endfunction + +function! s:checkout(spec) + let sha = a:spec.commit + let output = s:git_revision(a:spec.dir) + if !empty(output) && !s:hash_match(sha, s:lines(output)[0]) + let credential_helper = s:git_version_requirement(2) ? '-c credential.helper= ' : '' + let output = s:system( + \ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir) + endif + return output +endfunction + +function! s:finish(pull) + let new_frozen = len(filter(keys(s:update.new), 'g:plugs[v:val].frozen')) + if new_frozen + let s = new_frozen > 1 ? 's' : '' + call append(3, printf('- Installed %d frozen plugin%s', new_frozen, s)) + endif + call append(3, '- Finishing ... ') | 4 + redraw + call plug#helptags() + call plug#end() + call setline(4, getline(4) . 'Done!') + redraw + let msgs = [] + if !empty(s:update.errors) + call add(msgs, "Press 'R' to retry.") + endif + if a:pull && len(s:update.new) < len(filter(getline(5, '$'), + \ "v:val =~ '^- ' && v:val !~# 'Already up.to.date'")) + call add(msgs, "Press 'D' to see the updated changes.") + endif + echo join(msgs, ' ') + call s:finish_bindings() +endfunction + +function! s:retry() + if empty(s:update.errors) + return + endif + echo + call s:update_impl(s:update.pull, s:update.force, + \ extend(copy(s:update.errors), [s:update.threads])) +endfunction + +function! s:is_managed(name) + return has_key(g:plugs[a:name], 'uri') +endfunction + +function! s:names(...) + return sort(filter(keys(g:plugs), 'stridx(v:val, a:1) == 0 && s:is_managed(v:val)')) +endfunction + +function! s:check_ruby() + silent! ruby require 'thread'; VIM::command("let g:plug_ruby = '#{RUBY_VERSION}'") + if !exists('g:plug_ruby') + redraw! + return s:warn('echom', 'Warning: Ruby interface is broken') + endif + let ruby_version = split(g:plug_ruby, '\.') + unlet g:plug_ruby + return s:version_requirement(ruby_version, [1, 8, 7]) +endfunction + +function! s:update_impl(pull, force, args) abort + let sync = index(a:args, '--sync') >= 0 || has('vim_starting') + let args = filter(copy(a:args), 'v:val != "--sync"') + let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ? + \ remove(args, -1) : get(g:, 'plug_threads', 16) + + let managed = filter(copy(g:plugs), 's:is_managed(v:key)') + let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') : + \ filter(managed, 'index(args, v:key) >= 0') + + if empty(todo) + return s:warn('echo', 'No plugin to '. (a:pull ? 'update' : 'install')) + endif + + if !s:is_win && s:git_version_requirement(2, 3) + let s:git_terminal_prompt = exists('$GIT_TERMINAL_PROMPT') ? $GIT_TERMINAL_PROMPT : '' + let $GIT_TERMINAL_PROMPT = 0 + for plug in values(todo) + let plug.uri = substitute(plug.uri, + \ '^https://git::@github\.com', 'https://github.com', '') + endfor + endif + + if !isdirectory(g:plug_home) + try + call mkdir(g:plug_home, 'p') + catch + return s:err(printf('Invalid plug directory: %s. '. + \ 'Try to call plug#begin with a valid directory', g:plug_home)) + endtry + endif + + if has('nvim') && !exists('*jobwait') && threads > 1 + call s:warn('echom', '[vim-plug] Update Neovim for parallel installer') + endif + + let use_job = s:nvim || s:vim8 + let python = (has('python') || has('python3')) && !use_job + let ruby = has('ruby') && !use_job && (v:version >= 703 || v:version == 702 && has('patch374')) && !(s:is_win && has('gui_running')) && threads > 1 && s:check_ruby() + + let s:update = { + \ 'start': reltime(), + \ 'all': todo, + \ 'todo': copy(todo), + \ 'errors': [], + \ 'pull': a:pull, + \ 'force': a:force, + \ 'new': {}, + \ 'threads': (python || ruby || use_job) ? min([len(todo), threads]) : 1, + \ 'bar': '', + \ 'fin': 0 + \ } + + call s:prepare(1) + call append(0, ['', '']) + normal! 2G + silent! redraw + + let s:clone_opt = [] + if get(g:, 'plug_shallow', 1) + call extend(s:clone_opt, ['--depth', '1']) + if s:git_version_requirement(1, 7, 10) + call add(s:clone_opt, '--no-single-branch') + endif + endif + + if has('win32unix') || has('wsl') + call extend(s:clone_opt, ['-c', 'core.eol=lf', '-c', 'core.autocrlf=input']) + endif + + let s:submodule_opt = s:git_version_requirement(2, 8) ? ' --jobs='.threads : '' + + " Python version requirement (>= 2.7) + if python && !has('python3') && !ruby && !use_job && s:update.threads > 1 + redir => pyv + silent python import platform; print platform.python_version() + redir END + let python = s:version_requirement( + \ map(split(split(pyv)[0], '\.'), 'str2nr(v:val)'), [2, 6]) + endif + + if (python || ruby) && s:update.threads > 1 + try + let imd = &imd + if s:mac_gui + set noimd + endif + if ruby + call s:update_ruby() + else + call s:update_python() + endif + catch + let lines = getline(4, '$') + let printed = {} + silent! 4,$d _ + for line in lines + let name = s:extract_name(line, '.', '') + if empty(name) || !has_key(printed, name) + call append('$', line) + if !empty(name) + let printed[name] = 1 + if line[0] == 'x' && index(s:update.errors, name) < 0 + call add(s:update.errors, name) + end + endif + endif + endfor + finally + let &imd = imd + call s:update_finish() + endtry + else + call s:update_vim() + while use_job && sync + sleep 100m + if s:update.fin + break + endif + endwhile + endif +endfunction + +function! s:log4(name, msg) + call setline(4, printf('- %s (%s)', a:msg, a:name)) + redraw +endfunction + +function! s:update_finish() + if exists('s:git_terminal_prompt') + let $GIT_TERMINAL_PROMPT = s:git_terminal_prompt + endif + if s:switch_in() + call append(3, '- Updating ...') | 4 + for [name, spec] in items(filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && (s:update.force || s:update.pull || has_key(s:update.new, v:key))')) + let [pos, _] = s:logpos(name) + if !pos + continue + endif + if has_key(spec, 'commit') + call s:log4(name, 'Checking out '.spec.commit) + let out = s:checkout(spec) + elseif has_key(spec, 'tag') + let tag = spec.tag + if tag =~ '\*' + let tags = s:lines(s:system('git tag --list '.plug#shellescape(tag).' --sort -version:refname 2>&1', spec.dir)) + if !v:shell_error && !empty(tags) + let tag = tags[0] + call s:log4(name, printf('Latest tag for %s -> %s', spec.tag, tag)) + call append(3, '') + endif + endif + call s:log4(name, 'Checking out '.tag) + let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir) + else + let branch = s:git_origin_branch(spec) + call s:log4(name, 'Merging origin/'.s:esc(branch)) + let out = s:system('git checkout -q '.plug#shellescape(branch).' -- 2>&1' + \. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only '.plug#shellescape('origin/'.branch).' 2>&1')), spec.dir) + endif + if !v:shell_error && filereadable(spec.dir.'/.gitmodules') && + \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir)) + call s:log4(name, 'Updating submodules. This may take a while.') + let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir) + endif + let msg = s:format_message(v:shell_error ? 'x': '-', name, out) + if v:shell_error + call add(s:update.errors, name) + call s:regress_bar() + silent execute pos 'd _' + call append(4, msg) | 4 + elseif !empty(out) + call setline(pos, msg[0]) + endif + redraw + endfor + silent 4 d _ + try + call s:do(s:update.pull, s:update.force, filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && has_key(v:val, "do")')) + catch + call s:warn('echom', v:exception) + call s:warn('echo', '') + return + endtry + call s:finish(s:update.pull) + call setline(1, 'Updated. Elapsed time: ' . split(reltimestr(reltime(s:update.start)))[0] . ' sec.') + call s:switch_out('normal! gg') + endif +endfunction + +function! s:job_abort() + if (!s:nvim && !s:vim8) || !exists('s:jobs') + return + endif + + for [name, j] in items(s:jobs) + if s:nvim + silent! call jobstop(j.jobid) + elseif s:vim8 + silent! call job_stop(j.jobid) + endif + if j.new + call s:rm_rf(g:plugs[name].dir) + endif + endfor + let s:jobs = {} +endfunction + +function! s:last_non_empty_line(lines) + let len = len(a:lines) + for idx in range(len) + let line = a:lines[len-idx-1] + if !empty(line) + return line + endif + endfor + return '' +endfunction + +function! s:job_out_cb(self, data) abort + let self = a:self + let data = remove(self.lines, -1) . a:data + let lines = map(split(data, "\n", 1), 'split(v:val, "\r", 1)[-1]') + call extend(self.lines, lines) + " To reduce the number of buffer updates + let self.tick = get(self, 'tick', -1) + 1 + if !self.running || self.tick % len(s:jobs) == 0 + let bullet = self.running ? (self.new ? '+' : '*') : (self.error ? 'x' : '-') + let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines) + call s:log(bullet, self.name, result) + endif +endfunction + +function! s:job_exit_cb(self, data) abort + let a:self.running = 0 + let a:self.error = a:data != 0 + call s:reap(a:self.name) + call s:tick() +endfunction + +function! s:job_cb(fn, job, ch, data) + if !s:plug_window_exists() " plug window closed + return s:job_abort() + endif + call call(a:fn, [a:job, a:data]) +endfunction + +function! s:nvim_cb(job_id, data, event) dict abort + return (a:event == 'stdout' || a:event == 'stderr') ? + \ s:job_cb('s:job_out_cb', self, 0, join(a:data, "\n")) : + \ s:job_cb('s:job_exit_cb', self, 0, a:data) +endfunction + +function! s:spawn(name, cmd, opts) + let job = { 'name': a:name, 'running': 1, 'error': 0, 'lines': [''], + \ 'new': get(a:opts, 'new', 0) } + let s:jobs[a:name] = job + + if s:nvim + if has_key(a:opts, 'dir') + let job.cwd = a:opts.dir + endif + let argv = a:cmd + call extend(job, { + \ 'on_stdout': function('s:nvim_cb'), + \ 'on_stderr': function('s:nvim_cb'), + \ 'on_exit': function('s:nvim_cb'), + \ }) + let jid = s:plug_call('jobstart', argv, job) + if jid > 0 + let job.jobid = jid + else + let job.running = 0 + let job.error = 1 + let job.lines = [jid < 0 ? argv[0].' is not executable' : + \ 'Invalid arguments (or job table is full)'] + endif + elseif s:vim8 + let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"script": 0})')) + if has_key(a:opts, 'dir') + let cmd = s:with_cd(cmd, a:opts.dir, 0) + endif + let argv = s:is_win ? ['cmd', '/s', '/c', '"'.cmd.'"'] : ['sh', '-c', cmd] + let jid = job_start(s:is_win ? join(argv, ' ') : argv, { + \ 'out_cb': function('s:job_cb', ['s:job_out_cb', job]), + \ 'err_cb': function('s:job_cb', ['s:job_out_cb', job]), + \ 'exit_cb': function('s:job_cb', ['s:job_exit_cb', job]), + \ 'err_mode': 'raw', + \ 'out_mode': 'raw' + \}) + if job_status(jid) == 'run' + let job.jobid = jid + else + let job.running = 0 + let job.error = 1 + let job.lines = ['Failed to start job'] + endif + else + let job.lines = s:lines(call('s:system', has_key(a:opts, 'dir') ? [a:cmd, a:opts.dir] : [a:cmd])) + let job.error = v:shell_error != 0 + let job.running = 0 + endif +endfunction + +function! s:reap(name) + let job = s:jobs[a:name] + if job.error + call add(s:update.errors, a:name) + elseif get(job, 'new', 0) + let s:update.new[a:name] = 1 + endif + let s:update.bar .= job.error ? 'x' : '=' + + let bullet = job.error ? 'x' : '-' + let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines) + call s:log(bullet, a:name, empty(result) ? 'OK' : result) + call s:bar() + + call remove(s:jobs, a:name) +endfunction + +function! s:bar() + if s:switch_in() + let total = len(s:update.all) + call setline(1, (s:update.pull ? 'Updating' : 'Installing'). + \ ' plugins ('.len(s:update.bar).'/'.total.')') + call s:progress_bar(2, s:update.bar, total) + call s:switch_out() + endif +endfunction + +function! s:logpos(name) + let max = line('$') + for i in range(4, max > 4 ? max : 4) + if getline(i) =~# '^[-+x*] '.a:name.':' + for j in range(i + 1, max > 5 ? max : 5) + if getline(j) !~ '^ ' + return [i, j - 1] + endif + endfor + return [i, i] + endif + endfor + return [0, 0] +endfunction + +function! s:log(bullet, name, lines) + if s:switch_in() + let [b, e] = s:logpos(a:name) + if b > 0 + silent execute printf('%d,%d d _', b, e) + if b > winheight('.') + let b = 4 + endif + else + let b = 4 + endif + " FIXME For some reason, nomodifiable is set after :d in vim8 + setlocal modifiable + call append(b - 1, s:format_message(a:bullet, a:name, a:lines)) + call s:switch_out() + endif +endfunction + +function! s:update_vim() + let s:jobs = {} + + call s:bar() + call s:tick() +endfunction + +function! s:tick() + let pull = s:update.pull + let prog = s:progress_opt(s:nvim || s:vim8) +while 1 " Without TCO, Vim stack is bound to explode + if empty(s:update.todo) + if empty(s:jobs) && !s:update.fin + call s:update_finish() + let s:update.fin = 1 + endif + return + endif + + let name = keys(s:update.todo)[0] + let spec = remove(s:update.todo, name) + let new = empty(globpath(spec.dir, '.git', 1)) + + call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...') + redraw + + let has_tag = has_key(spec, 'tag') + if !new + let [error, _] = s:git_validate(spec, 0) + if empty(error) + if pull + let cmd = s:git_version_requirement(2) ? ['git', '-c', 'credential.helper=', 'fetch'] : ['git', 'fetch'] + if has_tag && !empty(globpath(spec.dir, '.git/shallow')) + call extend(cmd, ['--depth', '99999999']) + endif + if !empty(prog) + call add(cmd, prog) + endif + call s:spawn(name, cmd, { 'dir': spec.dir }) + else + let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 } + endif + else + let s:jobs[name] = { 'running': 0, 'lines': s:lines(error), 'error': 1 } + endif + else + let cmd = ['git', 'clone'] + if !has_tag + call extend(cmd, s:clone_opt) + endif + if !empty(prog) + call add(cmd, prog) + endif + call s:spawn(name, extend(cmd, [spec.uri, s:trim(spec.dir)]), { 'new': 1 }) + endif + + if !s:jobs[name].running + call s:reap(name) + endif + if len(s:jobs) >= s:update.threads + break + endif +endwhile +endfunction + +function! s:update_python() +let py_exe = has('python') ? 'python' : 'python3' +execute py_exe "<< EOF" +import datetime +import functools +import os +try: + import queue +except ImportError: + import Queue as queue +import random +import re +import shutil +import signal +import subprocess +import tempfile +import threading as thr +import time +import traceback +import vim + +G_NVIM = vim.eval("has('nvim')") == '1' +G_PULL = vim.eval('s:update.pull') == '1' +G_RETRIES = int(vim.eval('get(g:, "plug_retries", 2)')) + 1 +G_TIMEOUT = int(vim.eval('get(g:, "plug_timeout", 60)')) +G_CLONE_OPT = ' '.join(vim.eval('s:clone_opt')) +G_PROGRESS = vim.eval('s:progress_opt(1)') +G_LOG_PROB = 1.0 / int(vim.eval('s:update.threads')) +G_STOP = thr.Event() +G_IS_WIN = vim.eval('s:is_win') == '1' + +class PlugError(Exception): + def __init__(self, msg): + self.msg = msg +class CmdTimedOut(PlugError): + pass +class CmdFailed(PlugError): + pass +class InvalidURI(PlugError): + pass +class Action(object): + INSTALL, UPDATE, ERROR, DONE = ['+', '*', 'x', '-'] + +class Buffer(object): + def __init__(self, lock, num_plugs, is_pull): + self.bar = '' + self.event = 'Updating' if is_pull else 'Installing' + self.lock = lock + self.maxy = int(vim.eval('winheight(".")')) + self.num_plugs = num_plugs + + def __where(self, name): + """ Find first line with name in current buffer. Return line num. """ + found, lnum = False, 0 + matcher = re.compile('^[-+x*] {0}:'.format(name)) + for line in vim.current.buffer: + if matcher.search(line) is not None: + found = True + break + lnum += 1 + + if not found: + lnum = -1 + return lnum + + def header(self): + curbuf = vim.current.buffer + curbuf[0] = self.event + ' plugins ({0}/{1})'.format(len(self.bar), self.num_plugs) + + num_spaces = self.num_plugs - len(self.bar) + curbuf[1] = '[{0}{1}]'.format(self.bar, num_spaces * ' ') + + with self.lock: + vim.command('normal! 2G') + vim.command('redraw') + + def write(self, action, name, lines): + first, rest = lines[0], lines[1:] + msg = ['{0} {1}{2}{3}'.format(action, name, ': ' if first else '', first)] + msg.extend([' ' + line for line in rest]) + + try: + if action == Action.ERROR: + self.bar += 'x' + vim.command("call add(s:update.errors, '{0}')".format(name)) + elif action == Action.DONE: + self.bar += '=' + + curbuf = vim.current.buffer + lnum = self.__where(name) + if lnum != -1: # Found matching line num + del curbuf[lnum] + if lnum > self.maxy and action in set([Action.INSTALL, Action.UPDATE]): + lnum = 3 + else: + lnum = 3 + curbuf.append(msg, lnum) + + self.header() + except vim.error: + pass + +class Command(object): + CD = 'cd /d' if G_IS_WIN else 'cd' + + def __init__(self, cmd, cmd_dir=None, timeout=60, cb=None, clean=None): + self.cmd = cmd + if cmd_dir: + self.cmd = '{0} {1} && {2}'.format(Command.CD, cmd_dir, self.cmd) + self.timeout = timeout + self.callback = cb if cb else (lambda msg: None) + self.clean = clean if clean else (lambda: None) + self.proc = None + + @property + def alive(self): + """ Returns true only if command still running. """ + return self.proc and self.proc.poll() is None + + def execute(self, ntries=3): + """ Execute the command with ntries if CmdTimedOut. + Returns the output of the command if no Exception. + """ + attempt, finished, limit = 0, False, self.timeout + + while not finished: + try: + attempt += 1 + result = self.try_command() + finished = True + return result + except CmdTimedOut: + if attempt != ntries: + self.notify_retry() + self.timeout += limit + else: + raise + + def notify_retry(self): + """ Retry required for command, notify user. """ + for count in range(3, 0, -1): + if G_STOP.is_set(): + raise KeyboardInterrupt + msg = 'Timeout. Will retry in {0} second{1} ...'.format( + count, 's' if count != 1 else '') + self.callback([msg]) + time.sleep(1) + self.callback(['Retrying ...']) + + def try_command(self): + """ Execute a cmd & poll for callback. Returns list of output. + Raises CmdFailed -> return code for Popen isn't 0 + Raises CmdTimedOut -> command exceeded timeout without new output + """ + first_line = True + + try: + tfile = tempfile.NamedTemporaryFile(mode='w+b') + preexec_fn = not G_IS_WIN and os.setsid or None + self.proc = subprocess.Popen(self.cmd, stdout=tfile, + stderr=subprocess.STDOUT, + stdin=subprocess.PIPE, shell=True, + preexec_fn=preexec_fn) + thrd = thr.Thread(target=(lambda proc: proc.wait()), args=(self.proc,)) + thrd.start() + + thread_not_started = True + while thread_not_started: + try: + thrd.join(0.1) + thread_not_started = False + except RuntimeError: + pass + + while self.alive: + if G_STOP.is_set(): + raise KeyboardInterrupt + + if first_line or random.random() < G_LOG_PROB: + first_line = False + line = '' if G_IS_WIN else nonblock_read(tfile.name) + if line: + self.callback([line]) + + time_diff = time.time() - os.path.getmtime(tfile.name) + if time_diff > self.timeout: + raise CmdTimedOut(['Timeout!']) + + thrd.join(0.5) + + tfile.seek(0) + result = [line.decode('utf-8', 'replace').rstrip() for line in tfile] + + if self.proc.returncode != 0: + raise CmdFailed([''] + result) + + return result + except: + self.terminate() + raise + + def terminate(self): + """ Terminate process and cleanup. """ + if self.alive: + if G_IS_WIN: + os.kill(self.proc.pid, signal.SIGINT) + else: + os.killpg(self.proc.pid, signal.SIGTERM) + self.clean() + +class Plugin(object): + def __init__(self, name, args, buf_q, lock): + self.name = name + self.args = args + self.buf_q = buf_q + self.lock = lock + self.tag = args.get('tag', 0) + + def manage(self): + try: + if os.path.exists(self.args['dir']): + self.update() + else: + self.install() + with self.lock: + thread_vim_command("let s:update.new['{0}'] = 1".format(self.name)) + except PlugError as exc: + self.write(Action.ERROR, self.name, exc.msg) + except KeyboardInterrupt: + G_STOP.set() + self.write(Action.ERROR, self.name, ['Interrupted!']) + except: + # Any exception except those above print stack trace + msg = 'Trace:\n{0}'.format(traceback.format_exc().rstrip()) + self.write(Action.ERROR, self.name, msg.split('\n')) + raise + + def install(self): + target = self.args['dir'] + if target[-1] == '\\': + target = target[0:-1] + + def clean(target): + def _clean(): + try: + shutil.rmtree(target) + except OSError: + pass + return _clean + + self.write(Action.INSTALL, self.name, ['Installing ...']) + callback = functools.partial(self.write, Action.INSTALL, self.name) + cmd = 'git clone {0} {1} {2} {3} 2>&1'.format( + '' if self.tag else G_CLONE_OPT, G_PROGRESS, self.args['uri'], + esc(target)) + com = Command(cmd, None, G_TIMEOUT, callback, clean(target)) + result = com.execute(G_RETRIES) + self.write(Action.DONE, self.name, result[-1:]) + + def repo_uri(self): + cmd = 'git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url' + command = Command(cmd, self.args['dir'], G_TIMEOUT,) + result = command.execute(G_RETRIES) + return result[-1] + + def update(self): + actual_uri = self.repo_uri() + expect_uri = self.args['uri'] + regex = re.compile(r'^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$') + ma = regex.match(actual_uri) + mb = regex.match(expect_uri) + if ma is None or mb is None or ma.groups() != mb.groups(): + msg = ['', + 'Invalid URI: {0}'.format(actual_uri), + 'Expected {0}'.format(expect_uri), + 'PlugClean required.'] + raise InvalidURI(msg) + + if G_PULL: + self.write(Action.UPDATE, self.name, ['Updating ...']) + callback = functools.partial(self.write, Action.UPDATE, self.name) + fetch_opt = '--depth 99999999' if self.tag and os.path.isfile(os.path.join(self.args['dir'], '.git/shallow')) else '' + cmd = 'git fetch {0} {1} 2>&1'.format(fetch_opt, G_PROGRESS) + com = Command(cmd, self.args['dir'], G_TIMEOUT, callback) + result = com.execute(G_RETRIES) + self.write(Action.DONE, self.name, result[-1:]) + else: + self.write(Action.DONE, self.name, ['Already installed']) + + def write(self, action, name, msg): + self.buf_q.put((action, name, msg)) + +class PlugThread(thr.Thread): + def __init__(self, tname, args): + super(PlugThread, self).__init__() + self.tname = tname + self.args = args + + def run(self): + thr.current_thread().name = self.tname + buf_q, work_q, lock = self.args + + try: + while not G_STOP.is_set(): + name, args = work_q.get_nowait() + plug = Plugin(name, args, buf_q, lock) + plug.manage() + work_q.task_done() + except queue.Empty: + pass + +class RefreshThread(thr.Thread): + def __init__(self, lock): + super(RefreshThread, self).__init__() + self.lock = lock + self.running = True + + def run(self): + while self.running: + with self.lock: + thread_vim_command('noautocmd normal! a') + time.sleep(0.33) + + def stop(self): + self.running = False + +if G_NVIM: + def thread_vim_command(cmd): + vim.session.threadsafe_call(lambda: vim.command(cmd)) +else: + def thread_vim_command(cmd): + vim.command(cmd) + +def esc(name): + return '"' + name.replace('"', '\"') + '"' + +def nonblock_read(fname): + """ Read a file with nonblock flag. Return the last line. """ + fread = os.open(fname, os.O_RDONLY | os.O_NONBLOCK) + buf = os.read(fread, 100000).decode('utf-8', 'replace') + os.close(fread) + + line = buf.rstrip('\r\n') + left = max(line.rfind('\r'), line.rfind('\n')) + if left != -1: + left += 1 + line = line[left:] + + return line + +def main(): + thr.current_thread().name = 'main' + nthreads = int(vim.eval('s:update.threads')) + plugs = vim.eval('s:update.todo') + mac_gui = vim.eval('s:mac_gui') == '1' + + lock = thr.Lock() + buf = Buffer(lock, len(plugs), G_PULL) + buf_q, work_q = queue.Queue(), queue.Queue() + for work in plugs.items(): + work_q.put(work) + + start_cnt = thr.active_count() + for num in range(nthreads): + tname = 'PlugT-{0:02}'.format(num) + thread = PlugThread(tname, (buf_q, work_q, lock)) + thread.start() + if mac_gui: + rthread = RefreshThread(lock) + rthread.start() + + while not buf_q.empty() or thr.active_count() != start_cnt: + try: + action, name, msg = buf_q.get(True, 0.25) + buf.write(action, name, ['OK'] if not msg else msg) + buf_q.task_done() + except queue.Empty: + pass + except KeyboardInterrupt: + G_STOP.set() + + if mac_gui: + rthread.stop() + rthread.join() + +main() +EOF +endfunction + +function! s:update_ruby() + ruby << EOF + module PlugStream + SEP = ["\r", "\n", nil] + def get_line + buffer = '' + loop do + char = readchar rescue return + if SEP.include? char.chr + buffer << $/ + break + else + buffer << char + end + end + buffer + end + end unless defined?(PlugStream) + + def esc arg + %["#{arg.gsub('"', '\"')}"] + end + + def killall pid + pids = [pid] + if /mswin|mingw|bccwin/ =~ RUBY_PLATFORM + pids.each { |pid| Process.kill 'INT', pid.to_i rescue nil } + else + unless `which pgrep 2> /dev/null`.empty? + children = pids + until children.empty? + children = children.map { |pid| + `pgrep -P #{pid}`.lines.map { |l| l.chomp } + }.flatten + pids += children + end + end + pids.each { |pid| Process.kill 'TERM', pid.to_i rescue nil } + end + end + + def compare_git_uri a, b + regex = %r{^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$} + regex.match(a).to_a.drop(1) == regex.match(b).to_a.drop(1) + end + + require 'thread' + require 'fileutils' + require 'timeout' + running = true + iswin = VIM::evaluate('s:is_win').to_i == 1 + pull = VIM::evaluate('s:update.pull').to_i == 1 + base = VIM::evaluate('g:plug_home') + all = VIM::evaluate('s:update.todo') + limit = VIM::evaluate('get(g:, "plug_timeout", 60)') + tries = VIM::evaluate('get(g:, "plug_retries", 2)') + 1 + nthr = VIM::evaluate('s:update.threads').to_i + maxy = VIM::evaluate('winheight(".")').to_i + vim7 = VIM::evaluate('v:version').to_i <= 703 && RUBY_PLATFORM =~ /darwin/ + cd = iswin ? 'cd /d' : 'cd' + tot = VIM::evaluate('len(s:update.todo)') || 0 + bar = '' + skip = 'Already installed' + mtx = Mutex.new + take1 = proc { mtx.synchronize { running && all.shift } } + logh = proc { + cnt = bar.length + $curbuf[1] = "#{pull ? 'Updating' : 'Installing'} plugins (#{cnt}/#{tot})" + $curbuf[2] = '[' + bar.ljust(tot) + ']' + VIM::command('normal! 2G') + VIM::command('redraw') + } + where = proc { |name| (1..($curbuf.length)).find { |l| $curbuf[l] =~ /^[-+x*] #{name}:/ } } + log = proc { |name, result, type| + mtx.synchronize do + ing = ![true, false].include?(type) + bar += type ? '=' : 'x' unless ing + b = case type + when :install then '+' when :update then '*' + when true, nil then '-' else + VIM::command("call add(s:update.errors, '#{name}')") + 'x' + end + result = + if type || type.nil? + ["#{b} #{name}: #{result.lines.to_a.last || 'OK'}"] + elsif result =~ /^Interrupted|^Timeout/ + ["#{b} #{name}: #{result}"] + else + ["#{b} #{name}"] + result.lines.map { |l| " " << l } + end + if lnum = where.call(name) + $curbuf.delete lnum + lnum = 4 if ing && lnum > maxy + end + result.each_with_index do |line, offset| + $curbuf.append((lnum || 4) - 1 + offset, line.gsub(/\e\[./, '').chomp) + end + logh.call + end + } + bt = proc { |cmd, name, type, cleanup| + tried = timeout = 0 + begin + tried += 1 + timeout += limit + fd = nil + data = '' + if iswin + Timeout::timeout(timeout) do + tmp = VIM::evaluate('tempname()') + system("(#{cmd}) > #{tmp}") + data = File.read(tmp).chomp + File.unlink tmp rescue nil + end + else + fd = IO.popen(cmd).extend(PlugStream) + first_line = true + log_prob = 1.0 / nthr + while line = Timeout::timeout(timeout) { fd.get_line } + data << line + log.call name, line.chomp, type if name && (first_line || rand < log_prob) + first_line = false + end + fd.close + end + [$? == 0, data.chomp] + rescue Timeout::Error, Interrupt => e + if fd && !fd.closed? + killall fd.pid + fd.close + end + cleanup.call if cleanup + if e.is_a?(Timeout::Error) && tried < tries + 3.downto(1) do |countdown| + s = countdown > 1 ? 's' : '' + log.call name, "Timeout. Will retry in #{countdown} second#{s} ...", type + sleep 1 + end + log.call name, 'Retrying ...', type + retry + end + [false, e.is_a?(Interrupt) ? "Interrupted!" : "Timeout!"] + end + } + main = Thread.current + threads = [] + watcher = Thread.new { + if vim7 + while VIM::evaluate('getchar(1)') + sleep 0.1 + end + else + require 'io/console' # >= Ruby 1.9 + nil until IO.console.getch == 3.chr + end + mtx.synchronize do + running = false + threads.each { |t| t.raise Interrupt } unless vim7 + end + threads.each { |t| t.join rescue nil } + main.kill + } + refresh = Thread.new { + while true + mtx.synchronize do + break unless running + VIM::command('noautocmd normal! a') + end + sleep 0.2 + end + } if VIM::evaluate('s:mac_gui') == 1 + + clone_opt = VIM::evaluate('s:clone_opt').join(' ') + progress = VIM::evaluate('s:progress_opt(1)') + nthr.times do + mtx.synchronize do + threads << Thread.new { + while pair = take1.call + name = pair.first + dir, uri, tag = pair.last.values_at *%w[dir uri tag] + exists = File.directory? dir + ok, result = + if exists + chdir = "#{cd} #{iswin ? dir : esc(dir)}" + ret, data = bt.call "#{chdir} && git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url", nil, nil, nil + current_uri = data.lines.to_a.last + if !ret + if data =~ /^Interrupted|^Timeout/ + [false, data] + else + [false, [data.chomp, "PlugClean required."].join($/)] + end + elsif !compare_git_uri(current_uri, uri) + [false, ["Invalid URI: #{current_uri}", + "Expected: #{uri}", + "PlugClean required."].join($/)] + else + if pull + log.call name, 'Updating ...', :update + fetch_opt = (tag && File.exist?(File.join(dir, '.git/shallow'))) ? '--depth 99999999' : '' + bt.call "#{chdir} && git fetch #{fetch_opt} #{progress} 2>&1", name, :update, nil + else + [true, skip] + end + end + else + d = esc dir.sub(%r{[\\/]+$}, '') + log.call name, 'Installing ...', :install + bt.call "git clone #{clone_opt unless tag} #{progress} #{uri} #{d} 2>&1", name, :install, proc { + FileUtils.rm_rf dir + } + end + mtx.synchronize { VIM::command("let s:update.new['#{name}'] = 1") } if !exists && ok + log.call name, result, ok + end + } if running + end + end + threads.each { |t| t.join rescue nil } + logh.call + refresh.kill if refresh + watcher.kill +EOF +endfunction + +function! s:shellesc_cmd(arg, script) + let escaped = substitute('"'.a:arg.'"', '[&|<>()@^!"]', '^&', 'g') + return substitute(escaped, '%', (a:script ? '%' : '^') . '&', 'g') +endfunction + +function! s:shellesc_ps1(arg) + return "'".substitute(escape(a:arg, '\"'), "'", "''", 'g')."'" +endfunction + +function! s:shellesc_sh(arg) + return "'".substitute(a:arg, "'", "'\\\\''", 'g')."'" +endfunction + +" Escape the shell argument based on the shell. +" Vim and Neovim's shellescape() are insufficient. +" 1. shellslash determines whether to use single/double quotes. +" Double-quote escaping is fragile for cmd.exe. +" 2. It does not work for powershell. +" 3. It does not work for *sh shells if the command is executed +" via cmd.exe (ie. cmd.exe /c sh -c command command_args) +" 4. It does not support batchfile syntax. +" +" Accepts an optional dictionary with the following keys: +" - shell: same as Vim/Neovim 'shell' option. +" If unset, fallback to 'cmd.exe' on Windows or 'sh'. +" - script: If truthy and shell is cmd.exe, escape for batchfile syntax. +function! plug#shellescape(arg, ...) + if a:arg =~# '^[A-Za-z0-9_/:.-]\+$' + return a:arg + endif + let opts = a:0 > 0 && type(a:1) == s:TYPE.dict ? a:1 : {} + let shell = get(opts, 'shell', s:is_win ? 'cmd.exe' : 'sh') + let script = get(opts, 'script', 1) + if shell =~# 'cmd\(\.exe\)\?$' + return s:shellesc_cmd(a:arg, script) + elseif shell =~# 'powershell\(\.exe\)\?$' || shell =~# 'pwsh$' + return s:shellesc_ps1(a:arg) + endif + return s:shellesc_sh(a:arg) +endfunction + +function! s:glob_dir(path) + return map(filter(s:glob(a:path, '**'), 'isdirectory(v:val)'), 's:dirpath(v:val)') +endfunction + +function! s:progress_bar(line, bar, total) + call setline(a:line, '[' . s:lpad(a:bar, a:total) . ']') +endfunction + +function! s:compare_git_uri(a, b) + " See `git help clone' + " https:// [user@] github.com[:port] / junegunn/vim-plug [.git] + " [git@] github.com[:port] : junegunn/vim-plug [.git] + " file:// / junegunn/vim-plug [/] + " / junegunn/vim-plug [/] + let pat = '^\%(\w\+://\)\='.'\%([^@/]*@\)\='.'\([^:/]*\%(:[0-9]*\)\=\)'.'[:/]'.'\(.\{-}\)'.'\%(\.git\)\=/\?$' + let ma = matchlist(a:a, pat) + let mb = matchlist(a:b, pat) + return ma[1:2] ==# mb[1:2] +endfunction + +function! s:format_message(bullet, name, message) + if a:bullet != 'x' + return [printf('%s %s: %s', a:bullet, a:name, s:lastline(a:message))] + else + let lines = map(s:lines(a:message), '" ".v:val') + return extend([printf('x %s:', a:name)], lines) + endif +endfunction + +function! s:with_cd(cmd, dir, ...) + let script = a:0 > 0 ? a:1 : 1 + return printf('cd%s %s && %s', s:is_win ? ' /d' : '', plug#shellescape(a:dir, {'script': script}), a:cmd) +endfunction + +function! s:system(cmd, ...) + let batchfile = '' + try + let [sh, shellcmdflag, shrd] = s:chsh(1) + if type(a:cmd) == s:TYPE.list + " Neovim's system() supports list argument to bypass the shell + " but it cannot set the working directory for the command. + " Assume that the command does not rely on the shell. + if has('nvim') && a:0 == 0 + return system(a:cmd) + endif + let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"shell": &shell, "script": 0})')) + if &shell =~# 'powershell\(\.exe\)\?$' + let cmd = '& ' . cmd + endif + else + let cmd = a:cmd + endif + if a:0 > 0 + let cmd = s:with_cd(cmd, a:1, type(a:cmd) != s:TYPE.list) + endif + if s:is_win && type(a:cmd) != s:TYPE.list + let [batchfile, cmd] = s:batchfile(cmd) + endif + return system(cmd) + finally + let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] + if s:is_win && filereadable(batchfile) + call delete(batchfile) + endif + endtry +endfunction + +function! s:system_chomp(...) + let ret = call('s:system', a:000) + return v:shell_error ? '' : substitute(ret, '\n$', '', '') +endfunction + +function! s:git_validate(spec, check_branch) + let err = '' + if isdirectory(a:spec.dir) + let result = [s:git_local_branch(a:spec.dir), s:git_origin_url(a:spec.dir)] + let remote = result[-1] + if empty(remote) + let err = join([remote, 'PlugClean required.'], "\n") + elseif !s:compare_git_uri(remote, a:spec.uri) + let err = join(['Invalid URI: '.remote, + \ 'Expected: '.a:spec.uri, + \ 'PlugClean required.'], "\n") + elseif a:check_branch && has_key(a:spec, 'commit') + let sha = s:git_revision(a:spec.dir) + if empty(sha) + let err = join(add(result, 'PlugClean required.'), "\n") + elseif !s:hash_match(sha, a:spec.commit) + let err = join([printf('Invalid HEAD (expected: %s, actual: %s)', + \ a:spec.commit[:6], sha[:6]), + \ 'PlugUpdate required.'], "\n") + endif + elseif a:check_branch + let current_branch = result[0] + " Check tag + let origin_branch = s:git_origin_branch(a:spec) + if has_key(a:spec, 'tag') + let tag = s:system_chomp('git describe --exact-match --tags HEAD 2>&1', a:spec.dir) + if a:spec.tag !=# tag && a:spec.tag !~ '\*' + let err = printf('Invalid tag: %s (expected: %s). Try PlugUpdate.', + \ (empty(tag) ? 'N/A' : tag), a:spec.tag) + endif + " Check branch + elseif origin_branch !=# current_branch + let err = printf('Invalid branch: %s (expected: %s). Try PlugUpdate.', + \ current_branch, origin_branch) + endif + if empty(err) + let [ahead, behind] = split(s:lastline(s:system([ + \ 'git', 'rev-list', '--count', '--left-right', + \ printf('HEAD...origin/%s', origin_branch) + \ ], a:spec.dir)), '\t') + if !v:shell_error && ahead + if behind + " Only mention PlugClean if diverged, otherwise it's likely to be + " pushable (and probably not that messed up). + let err = printf( + \ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n" + \ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', origin_branch, ahead, behind) + else + let err = printf("Ahead of origin/%s by %d commit(s).\n" + \ .'Cannot update until local changes are pushed.', + \ origin_branch, ahead) + endif + endif + endif + endif + else + let err = 'Not found' + endif + return [err, err =~# 'PlugClean'] +endfunction + +function! s:rm_rf(dir) + if isdirectory(a:dir) + return s:system(s:is_win + \ ? 'rmdir /S /Q '.plug#shellescape(a:dir) + \ : ['rm', '-rf', a:dir]) + endif +endfunction + +function! s:clean(force) + call s:prepare() + call append(0, 'Searching for invalid plugins in '.g:plug_home) + call append(1, '') + + " List of valid directories + let dirs = [] + let errs = {} + let [cnt, total] = [0, len(g:plugs)] + for [name, spec] in items(g:plugs) + if !s:is_managed(name) + call add(dirs, spec.dir) + else + let [err, clean] = s:git_validate(spec, 1) + if clean + let errs[spec.dir] = s:lines(err)[0] + else + call add(dirs, spec.dir) + endif + endif + let cnt += 1 + call s:progress_bar(2, repeat('=', cnt), total) + normal! 2G + redraw + endfor + + let allowed = {} + for dir in dirs + let allowed[s:dirpath(s:plug_fnamemodify(dir, ':h:h'))] = 1 + let allowed[dir] = 1 + for child in s:glob_dir(dir) + let allowed[child] = 1 + endfor + endfor + + let todo = [] + let found = sort(s:glob_dir(g:plug_home)) + while !empty(found) + let f = remove(found, 0) + if !has_key(allowed, f) && isdirectory(f) + call add(todo, f) + call append(line('$'), '- ' . f) + if has_key(errs, f) + call append(line('$'), ' ' . errs[f]) + endif + let found = filter(found, 'stridx(v:val, f) != 0') + end + endwhile + + 4 + redraw + if empty(todo) + call append(line('$'), 'Already clean.') + else + let s:clean_count = 0 + call append(3, ['Directories to delete:', '']) + redraw! + if a:force || s:ask_no_interrupt('Delete all directories?') + call s:delete([6, line('$')], 1) + else + call setline(4, 'Cancelled.') + nnoremap <silent> <buffer> d :set opfunc=<sid>delete_op<cr>g@ + nmap <silent> <buffer> dd d_ + xnoremap <silent> <buffer> d :<c-u>call <sid>delete_op(visualmode(), 1)<cr> + echo 'Delete the lines (d{motion}) to delete the corresponding directories' + endif + endif + 4 + setlocal nomodifiable +endfunction + +function! s:delete_op(type, ...) + call s:delete(a:0 ? [line("'<"), line("'>")] : [line("'["), line("']")], 0) +endfunction + +function! s:delete(range, force) + let [l1, l2] = a:range + let force = a:force + let err_count = 0 + while l1 <= l2 + let line = getline(l1) + if line =~ '^- ' && isdirectory(line[2:]) + execute l1 + redraw! + let answer = force ? 1 : s:ask('Delete '.line[2:].'?', 1) + let force = force || answer > 1 + if answer + let err = s:rm_rf(line[2:]) + setlocal modifiable + if empty(err) + call setline(l1, '~'.line[1:]) + let s:clean_count += 1 + else + delete _ + call append(l1 - 1, s:format_message('x', line[1:], err)) + let l2 += len(s:lines(err)) + let err_count += 1 + endif + let msg = printf('Removed %d directories.', s:clean_count) + if err_count > 0 + let msg .= printf(' Failed to remove %d directories.', err_count) + endif + call setline(4, msg) + setlocal nomodifiable + endif + endif + let l1 += 1 + endwhile +endfunction + +function! s:upgrade() + echo 'Downloading the latest version of vim-plug' + redraw + let tmp = s:plug_tempname() + let new = tmp . '/plug.vim' + + try + let out = s:system(['git', 'clone', '--depth', '1', s:plug_src, tmp]) + if v:shell_error + return s:err('Error upgrading vim-plug: '. out) + endif + + if readfile(s:me) ==# readfile(new) + echo 'vim-plug is already up-to-date' + return 0 + else + call rename(s:me, s:me . '.old') + call rename(new, s:me) + unlet g:loaded_plug + echo 'vim-plug has been upgraded' + return 1 + endif + finally + silent! call s:rm_rf(tmp) + endtry +endfunction + +function! s:upgrade_specs() + for spec in values(g:plugs) + let spec.frozen = get(spec, 'frozen', 0) + endfor +endfunction + +function! s:status() + call s:prepare() + call append(0, 'Checking plugins') + call append(1, '') + + let ecnt = 0 + let unloaded = 0 + let [cnt, total] = [0, len(g:plugs)] + for [name, spec] in items(g:plugs) + let is_dir = isdirectory(spec.dir) + if has_key(spec, 'uri') + if is_dir + let [err, _] = s:git_validate(spec, 1) + let [valid, msg] = [empty(err), empty(err) ? 'OK' : err] + else + let [valid, msg] = [0, 'Not found. Try PlugInstall.'] + endif + else + if is_dir + let [valid, msg] = [1, 'OK'] + else + let [valid, msg] = [0, 'Not found.'] + endif + endif + let cnt += 1 + let ecnt += !valid + " `s:loaded` entry can be missing if PlugUpgraded + if is_dir && get(s:loaded, name, -1) == 0 + let unloaded = 1 + let msg .= ' (not loaded)' + endif + call s:progress_bar(2, repeat('=', cnt), total) + call append(3, s:format_message(valid ? '-' : 'x', name, msg)) + normal! 2G + redraw + endfor + call setline(1, 'Finished. '.ecnt.' error(s).') + normal! gg + setlocal nomodifiable + if unloaded + echo "Press 'L' on each line to load plugin, or 'U' to update" + nnoremap <silent> <buffer> L :call <SID>status_load(line('.'))<cr> + xnoremap <silent> <buffer> L :call <SID>status_load(line('.'))<cr> + end +endfunction + +function! s:extract_name(str, prefix, suffix) + return matchstr(a:str, '^'.a:prefix.' \zs[^:]\+\ze:.*'.a:suffix.'$') +endfunction + +function! s:status_load(lnum) + let line = getline(a:lnum) + let name = s:extract_name(line, '-', '(not loaded)') + if !empty(name) + call plug#load(name) + setlocal modifiable + call setline(a:lnum, substitute(line, ' (not loaded)$', '', '')) + setlocal nomodifiable + endif +endfunction + +function! s:status_update() range + let lines = getline(a:firstline, a:lastline) + let names = filter(map(lines, 's:extract_name(v:val, "[x-]", "")'), '!empty(v:val)') + if !empty(names) + echo + execute 'PlugUpdate' join(names) + endif +endfunction + +function! s:is_preview_window_open() + silent! wincmd P + if &previewwindow + wincmd p + return 1 + endif +endfunction + +function! s:find_name(lnum) + for lnum in reverse(range(1, a:lnum)) + let line = getline(lnum) + if empty(line) + return '' + endif + let name = s:extract_name(line, '-', '') + if !empty(name) + return name + endif + endfor + return '' +endfunction + +function! s:preview_commit() + if b:plug_preview < 0 + let b:plug_preview = !s:is_preview_window_open() + endif + + let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}') + if empty(sha) + return + endif + + let name = s:find_name(line('.')) + if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir) + return + endif + + if exists('g:plug_pwindow') && !s:is_preview_window_open() + execute g:plug_pwindow + execute 'e' sha + else + execute 'pedit' sha + wincmd P + endif + setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable + let batchfile = '' + try + let [sh, shellcmdflag, shrd] = s:chsh(1) + let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha + if s:is_win + let [batchfile, cmd] = s:batchfile(cmd) + endif + execute 'silent %!' cmd + finally + let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] + if s:is_win && filereadable(batchfile) + call delete(batchfile) + endif + endtry + setlocal nomodifiable + nnoremap <silent> <buffer> q :q<cr> + wincmd p +endfunction + +function! s:section(flags) + call search('\(^[x-] \)\@<=[^:]\+:', a:flags) +endfunction + +function! s:format_git_log(line) + let indent = ' ' + let tokens = split(a:line, nr2char(1)) + if len(tokens) != 5 + return indent.substitute(a:line, '\s*$', '', '') + endif + let [graph, sha, refs, subject, date] = tokens + let tag = matchstr(refs, 'tag: [^,)]\+') + let tag = empty(tag) ? ' ' : ' ('.tag.') ' + return printf('%s%s%s%s%s (%s)', indent, graph, sha, tag, subject, date) +endfunction + +function! s:append_ul(lnum, text) + call append(a:lnum, ['', a:text, repeat('-', len(a:text))]) +endfunction + +function! s:diff() + call s:prepare() + call append(0, ['Collecting changes ...', '']) + let cnts = [0, 0] + let bar = '' + let total = filter(copy(g:plugs), 's:is_managed(v:key) && isdirectory(v:val.dir)') + call s:progress_bar(2, bar, len(total)) + for origin in [1, 0] + let plugs = reverse(sort(items(filter(copy(total), (origin ? '' : '!').'(has_key(v:val, "commit") || has_key(v:val, "tag"))')))) + if empty(plugs) + continue + endif + call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:') + for [k, v] in plugs + let branch = s:git_origin_branch(v) + if len(branch) + let range = origin ? '..origin/'.branch : 'HEAD@{1}..' + let cmd = ['git', 'log', '--graph', '--color=never'] + if s:git_version_requirement(2, 10, 0) + call add(cmd, '--no-show-signature') + endif + call extend(cmd, ['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range]) + if has_key(v, 'rtp') + call extend(cmd, ['--', v.rtp]) + endif + let diff = s:system_chomp(cmd, v.dir) + if !empty(diff) + let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : '' + call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)'))) + let cnts[origin] += 1 + endif + endif + let bar .= '=' + call s:progress_bar(2, bar, len(total)) + normal! 2G + redraw + endfor + if !cnts[origin] + call append(5, ['', 'N/A']) + endif + endfor + call setline(1, printf('%d plugin(s) updated.', cnts[0]) + \ . (cnts[1] ? printf(' %d plugin(s) have pending updates.', cnts[1]) : '')) + + if cnts[0] || cnts[1] + nnoremap <silent> <buffer> <plug>(plug-preview) :silent! call <SID>preview_commit()<cr> + if empty(maparg("\<cr>", 'n')) + nmap <buffer> <cr> <plug>(plug-preview) + endif + if empty(maparg('o', 'n')) + nmap <buffer> o <plug>(plug-preview) + endif + endif + if cnts[0] + nnoremap <silent> <buffer> X :call <SID>revert()<cr> + echo "Press 'X' on each block to revert the update" + endif + normal! gg + setlocal nomodifiable +endfunction + +function! s:revert() + if search('^Pending updates', 'bnW') + return + endif + + let name = s:find_name(line('.')) + if empty(name) || !has_key(g:plugs, name) || + \ input(printf('Revert the update of %s? (y/N) ', name)) !~? '^y' + return + endif + + call s:system('git reset --hard HEAD@{1} && git checkout '.plug#shellescape(g:plugs[name].branch).' --', g:plugs[name].dir) + setlocal modifiable + normal! "_dap + setlocal nomodifiable + echo 'Reverted' +endfunction + +function! s:snapshot(force, ...) abort + call s:prepare() + setf vim + call append(0, ['" Generated by vim-plug', + \ '" '.strftime("%c"), + \ '" :source this file in vim to restore the snapshot', + \ '" or execute: vim -S snapshot.vim', + \ '', '', 'PlugUpdate!']) + 1 + let anchor = line('$') - 3 + let names = sort(keys(filter(copy(g:plugs), + \'has_key(v:val, "uri") && !has_key(v:val, "commit") && isdirectory(v:val.dir)'))) + for name in reverse(names) + let sha = s:git_revision(g:plugs[name].dir) + if !empty(sha) + call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha)) + redraw + endif + endfor + + if a:0 > 0 + let fn = s:plug_expand(a:1) + if filereadable(fn) && !(a:force || s:ask(a:1.' already exists. Overwrite?')) + return + endif + call writefile(getline(1, '$'), fn) + echo 'Saved as '.a:1 + silent execute 'e' s:esc(fn) + setf vim + endif +endfunction + +function! s:split_rtp() + return split(&rtp, '\\\@<!,') +endfunction + +let s:first_rtp = s:escrtp(get(s:split_rtp(), 0, '')) +let s:last_rtp = s:escrtp(get(s:split_rtp(), -1, '')) + +if exists('g:plugs') + let g:plugs_order = get(g:, 'plugs_order', keys(g:plugs)) + call s:upgrade_specs() + call s:define_commands() +endif + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/.config/nvim/autoload/snippet.vim b/.config/nvim/autoload/snippet.vim new file mode 100644 index 00000000..e7825a21 --- /dev/null +++ b/.config/nvim/autoload/snippet.vim @@ -0,0 +1,23 @@ +" autoload/snippet.vim +" https://noahfrederick.com/log/vim-templates-with-ultisnips-and-projectionist/ + +function! s:try_insert(skel) + execute "normal! i_" . a:skel . "\<C-r>=UltiSnips#ExpandSnippet()\<CR>" + + if g:ulti_expand_res == 0 + silent! undo + endif + + return g:ulti_expand_res +endfunction + +function! snippet#InsertSkeleton() abort + let filename = expand('%') + + " Abort on non-empty buffer or extant file + if !(line('$') == 1 && getline('$') == '') || filereadable(filename) + return + endif + + call s:try_insert('skel') +endfunction diff --git a/.config/nvim/coc-settings.json b/.config/nvim/coc-settings.json new file mode 100644 index 00000000..76cd9ba6 --- /dev/null +++ b/.config/nvim/coc-settings.json @@ -0,0 +1,10 @@ +{ + "python.venvPath": ["~/.virtualenvs"], + "python.linting.enabled": false, + "python.linting.pylintEnabled": false, + "python.linting.flake8Enabled": true, + "python.linting.flake8Args": [ + "--extend-ignore=E203,W503", + "--max-line-length=88" + ] +} diff --git a/.config/nvim/ftplugin/c.vim b/.config/nvim/ftplugin/c.vim new file mode 100644 index 00000000..02d4776a --- /dev/null +++ b/.config/nvim/ftplugin/c.vim @@ -0,0 +1,8 @@ +" C +set omnifunc=ccomplete#Complete +autocmd BufNewfile,BufRead *.c,*.h,*.cpp set expandtab tabstop=2 + +"let c_minlines = 200 +let c_comment_strings = 1 + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/ftplugin/css.vim b/.config/nvim/ftplugin/css.vim new file mode 100644 index 00000000..f2858c2b --- /dev/null +++ b/.config/nvim/ftplugin/css.vim @@ -0,0 +1,5 @@ +" CSS + +set omnifunc=csscomplete#CompleteCSS + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/ftplugin/gitcommit.vim b/.config/nvim/ftplugin/gitcommit.vim new file mode 100644 index 00000000..2b757a69 --- /dev/null +++ b/.config/nvim/ftplugin/gitcommit.vim @@ -0,0 +1 @@ +setlocal spell textwidth=72 diff --git a/.config/nvim/ftplugin/haskell.vim b/.config/nvim/ftplugin/haskell.vim new file mode 100644 index 00000000..d093b91a --- /dev/null +++ b/.config/nvim/ftplugin/haskell.vim @@ -0,0 +1,7 @@ +" Tab specific option +set tabstop=2 +set expandtab +set softtabstop=2 +set shiftwidth=2 +"Round indent to nearest shiftwidth multiple +set shiftround diff --git a/.config/nvim/ftplugin/help.vim b/.config/nvim/ftplugin/help.vim new file mode 100644 index 00000000..0fe9c865 --- /dev/null +++ b/.config/nvim/ftplugin/help.vim @@ -0,0 +1,13 @@ +" http://vim.wikia.com/wiki/Learn_to_use_help +" Enter to jump to the subject under the cursor +nnoremap <buffer> <CR> <C-]> +" Backspace to return from the last jump +nnoremap <buffer> <BS> <C-T> +" o to find next option +nnoremap <buffer> o /'\l\{2,\}'<CR> +" O to find previous option +nnoremap <buffer> O ?'\l\{2,\}'<CR> +" s to find next subject +nnoremap <buffer> s /\|\zs\S\+\ze\|<CR> +" S to find previous subject +nnoremap <buffer> S ?\|\zs\S\+\ze\|<CR> diff --git a/.config/nvim/ftplugin/html.vim b/.config/nvim/ftplugin/html.vim new file mode 100644 index 00000000..e716bc97 --- /dev/null +++ b/.config/nvim/ftplugin/html.vim @@ -0,0 +1,7 @@ +" HTML +autocmd FileType html set omnifunc=htmlcomplete#CompleteTags +autocmd BufNewFile,BufRead *.html set autoindent formatoptions=tcqwl textwidth=72 shiftwidth=2 softtabstop=2 tabstop=2 +let use_xhtml = 1 +let html_use_css = 1 + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/ftplugin/java.vim b/.config/nvim/ftplugin/java.vim new file mode 100644 index 00000000..acfcbfa8 --- /dev/null +++ b/.config/nvim/ftplugin/java.vim @@ -0,0 +1,19 @@ +" Java +set omnifunc=javacomplete#Complete completefunc=javacomplete#CompleteParamsInfo +autocmd BufNewfile,BufRead *.java,*.jsp, set autoindent noexpandtab tabstop=4 shiftwidth=4 +let java_highlight_java_lang_ids=1 +let java_highlight_functions="style" +let java_highlight_debug=1 +let java_mark_braces_in_parens_as_errors=1 +let java_highlight_all=1 +let java_highlight_debug=1 +let java_ignore_javadoc=1 +let java_highlight_java_lang_ids=1 +let java_highlight_functions="style" +let java_minlines = 150 +let java_comment_strings=1 +let java_highlight_java_lang_ids=1 +"Java anonymous classes. Sometimes, you have to use them. +set cinoptions+=j1 + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/ftplugin/javascript.vim b/.config/nvim/ftplugin/javascript.vim new file mode 100644 index 00000000..4f815247 --- /dev/null +++ b/.config/nvim/ftplugin/javascript.vim @@ -0,0 +1,5 @@ +" JavaScript +set omnifunc=javascriptcomplete#CompleteJS +let g:syntax_extra_javascript='doxygen' + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/ftplugin/mail.vim b/.config/nvim/ftplugin/mail.vim new file mode 100644 index 00000000..5d2e50f5 --- /dev/null +++ b/.config/nvim/ftplugin/mail.vim @@ -0,0 +1,57 @@ +" Setup to write mails with vim + +" Enable spell checks +setlocal spell +" No indentation when copying +set nocopyindent +" Expand spaces to tabs +set expandtab + +" Automatic line wrap +" max line length +set textwidth=72 +" :help fo-table +set formatoptions=nawrjtcq +" set fo=tcqnaw +set comments+=n:\| " '|' is a quote char. +set comments+=n:% " '%' as well. + +" Disable LessSpace for emails +let g:lessspace_enabled = 0 + +" Disable automatic indent for emails +let b:sleuth_automatic = 0 + +" vim-mail +" https://github.com/dbeniamine/vim-mail/ +" +let g:VimMailDoNotFold=1 +let g:VimMailSpellLangs=['en', 'fr'] +" Remove quoted signature is killing mine due to flow automatic formatting +"let g:VimMailStartFlags={'reply' :"boir" } +let g:VimMailStartFlags={ + \'blank': 'TAi', + \'nosubject': 'SAi', + \'default' : 'bOi'} +let g:VimMailContactsProvider=['khard'] +" Use mu +" let g:VimMailContactsCommands={'mu' : +" \{ 'query' : "mu cfind", + +" \'sync': "mu index", +" \'config': { +" \'default': { +" \'home': '$HOME/.mu', +" \'maildir': '$HOME/Mail', +" \} +" \} +" \} +" \} + +" XXX Don't want to remove trailing spaces in emails! +" XXX disabled while testing lessspace.vim +" let g:ale_fix_on_save = 0 +let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,FRENCH_WITHESPACE' + +" Hide ALE error list window +let g:ale_open_list = 0 diff --git a/.config/nvim/ftplugin/markdown.vim b/.config/nvim/ftplugin/markdown.vim new file mode 100644 index 00000000..140a912b --- /dev/null +++ b/.config/nvim/ftplugin/markdown.vim @@ -0,0 +1,5 @@ +" Enable spell checks +setlocal spell + +" Disable some checks related to Markdown markup +let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,WHITESPACE_RULE,EN_QUOTES' diff --git a/.config/nvim/ftplugin/perl.vim b/.config/nvim/ftplugin/perl.vim new file mode 100644 index 00000000..99c88567 --- /dev/null +++ b/.config/nvim/ftplugin/perl.vim @@ -0,0 +1,4 @@ +" Perl +autocmd BufNewFile,BufRead *.pl,*.pm, set shiftwidth=2 + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/ftplugin/php.vim b/.config/nvim/ftplugin/php.vim new file mode 100644 index 00000000..78eb5ef1 --- /dev/null +++ b/.config/nvim/ftplugin/php.vim @@ -0,0 +1,14 @@ +" PHP + +set omnifunc=phpcomplete#CompletePHP +set shiftwidth=4 expandtab softtabstop=4 tabstop=4 +set syntax=php +let php_sql_query = 1 +let php_noShortTags = 1 +let php_parent_error_close = 1 +"let php_parent_error_open = 1 +"let php_minlines=300 +let php_htmlInStrings=1 +"let php_folding = 1 + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/ftplugin/python.vim b/.config/nvim/ftplugin/python.vim new file mode 100644 index 00000000..b6e3bf29 --- /dev/null +++ b/.config/nvim/ftplugin/python.vim @@ -0,0 +1,31 @@ +" Python +set textwidth=79 " lines longer than 79 columns will be broken +set shiftwidth=4 " operation >> indents 4 columns; << unindents 4 columns +set tabstop=4 " a hard TAB displays as 4 columns +set expandtab " insert spaces when hitting TABs +set softtabstop=4 " insert/delete 4 spaces when hitting a TAB/BACKSPACE +set shiftround " round indent to multiple of 'shiftwidth' +set autoindent " align the new line indent with the previous line +set smartindent + +set cinwords=if,elif,else,for,while,try,except,finally,def,class +set omnifunc=pythoncomplete#Complete + +" syntastic configuration +let g:syntastic_auto_loc_list=1 +let g:syntastic_loc_list_height=5 + +" python-mode configuration +" We use syntastic for syntax checking +" :help syntastic-pymode +let g:pymode_lint_write = 0 +" Override go-to.definition key shortcut to Ctrl-] +let g:pymode_rope_goto_definition_bind = "<C-]>" + +" Override run current python file key shortcut to Ctrl-Shift-e +let g:pymode_run_bind = "<C-S-e>" + +" Override view python doc key shortcut to Ctrl-Shift-d +let g:pymode_doc_bind = "<C-S-d>" + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/ftplugin/rst.vim b/.config/nvim/ftplugin/rst.vim new file mode 100644 index 00000000..bcda2dde --- /dev/null +++ b/.config/nvim/ftplugin/rst.vim @@ -0,0 +1 @@ +setlocal spell diff --git a/.config/nvim/ftplugin/tex.vim b/.config/nvim/ftplugin/tex.vim new file mode 100644 index 00000000..beedf66c --- /dev/null +++ b/.config/nvim/ftplugin/tex.vim @@ -0,0 +1,7 @@ +" TeX + +set omnifunc=syntaxcomplete#Complete +set tabstop=2 shiftwidth=2 nocindent +set autoindent formatoptions=tcq2l textwidth=72 shiftwidth=2 softtabstop=2 tabstop=2 + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/ftplugin/text.vim b/.config/nvim/ftplugin/text.vim new file mode 100644 index 00000000..32fe520f --- /dev/null +++ b/.config/nvim/ftplugin/text.vim @@ -0,0 +1,2 @@ +" Check spell +set spell diff --git a/.config/nvim/ftplugin/xml.vim b/.config/nvim/ftplugin/xml.vim new file mode 100644 index 00000000..df980317 --- /dev/null +++ b/.config/nvim/ftplugin/xml.vim @@ -0,0 +1,8 @@ +" XML + +set omnifunc=xmlcomplete#CompleteTags +set tabstop=2 shiftwidth=2 +"autocmd Filetype html,xml,xsl source ~/.vim/scripts/closetag.vim +autocmd BufNewFile,BufRead *.sgml,*.xsl set autoindent formatoptions=tcq2l textwidth=72 shiftwidth=2 softtabstop=2 tabstop=2 noexpandtab + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim new file mode 100644 index 00000000..88e29065 --- /dev/null +++ b/.config/nvim/init.vim @@ -0,0 +1,486 @@ +" ~/.vimrc + +" Interesting readings +" About text objects: https://yanpritzker.com/learn-to-speak-vim-verbs-nouns-and-modifiers-d7bfed1f6b2d + +" https://github.com/junegunn/vim-plug +if empty(glob('~/.config/nvim/autoload/plug.vim')) + silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs + \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim + autocmd VimEnter * PlugInstall | source $MYVIMRC +endif + +filetype off " required for vundle setup + +call plug#begin('~/.config/nvim/plugged') + +" SuperTab +" Plug 'ervandew/supertab' +" Completion +if has('nvim') + "Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } + Plug 'Shougo/denite.nvim' + " Possible replacement for deoplete + " https://github.com/neoclide/coc.nvim + " Plug 'neoclide/coc.nvim', {'tag': '*', 'do': { -> coc#util#install()}} + Plug 'neoclide/coc.nvim', {'branch': 'release'} +else + Plug 'Shougo/deoplete.nvim' + Plug 'roxma/nvim-yarp' + Plug 'roxma/vim-hug-neovim-rpc' +endif +"Plug 'SevereOverfl0w/deoplete-github' +" +" Snippets +" XXX Replaced by https://github.com/neoclide/coc-snippets +"Plug 'Shougo/neosnippet' +"Plug 'Shougo/neosnippet-snippets' +Plug 'honza/vim-snippets' + +" Colorscheme +" Plug 'arcticicestudio/nord-vim' +" Plug 'rakr/vim-one' +Plug 'dracula/vim', { 'as': 'dracula' } +" Plug 'morhetz/gruvbox' + +" Airline statusbar +Plug 'vim-airline/vim-airline' +Plug 'vim-airline/vim-airline-themes' + +" Could break airline bar if no proper font is configured +" Works with nerd fonts +" brew tap caskroom/fonts +" brew install font-hack-nerd-font +" or font-meslo-nerd-font font-sourcecodepro-nerd-font +Plug 'ryanoasis/vim-devicons' + +" Buffers list in the command bar +Plug 'bling/vim-bufferline' + +" Line numbering +Plug 'jeffkreeftmeijer/vim-numbertoggle' + +" Ctrl-P for quick file/buffer access +Plug 'ctrlpvim/ctrlp.vim' + +Plug 'editorconfig/editorconfig-vim' + +" Notes taking +" Plug 'fmoralesc/vim-pad' +Plug 'vimoutliner/vimoutliner' +" Plug 'vim-pandoc/vim-pandoc' +" Plug 'vim-pandoc/vim-pandoc-after' +" Plug 'vim-pandoc/vim-pandoc-syntax' +Plug 'dhruvasagar/vim-table-mode' +" XXX disabled, evaluating to vimwiki +" Plug 'xolox/vim-notes' +Plug 'xolox/vim-misc' +Plug 'xolox/vim-shell' +Plug 'robertbasic/vim-hugo-helper' +" Plug 'jceb/vim-orgmode' + +" Tabular alignment +Plug 'godlygeek/tabular' + +" Clean spaces at EOL for lines that are edited +Plug 'thirtythreeforty/lessspace.vim' + +" Fuzzy finder +Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +Plug 'junegunn/fzf.vim' +" Fuzzy finding + clap +Plug 'lotabout/skim', { 'dir': '~/.skim', 'do': './install' } +Plug 'liuchengxu/vim-clap' +" SilverSearch plugin +Plug 'rking/ag.vim' + +" Fuzzy finder for files/buffers and so on +Plug 'Yggdroot/LeaderF', { 'do': './install.sh' } + +" Preview registers +" Seems to break tabular and completion +"Plug 'junegunn/vim-peekaboo' + +" File types' support +Plug 'sheerun/vim-polyglot' +Plug 'darfink/vim-plist' +" Plug 'pearofducks/ansible-vim' +" Plug 'mv/mv-vim-puppet' +" Plug 'PotatoesMaster/i3-vim-syntax' +" Plug 'mechatroner/rainbow_csv' +" Plug 'cespare/vim-toml' +" Plug 'tmux-plugins/vim-tmux' +Plug 'Yggdroot/indentLine' + +" Grammar/language checking +" https://www.vimfromscratch.com/articles/spell-and-grammar-vim/ +" If LanguageTool is installed, ALE will use it for text, md and mails +" https://github.com/dense-analysis/ale/blob/36e5337e30095afb10d02ef2ae362c8d6055e70d/doc/ale.txt#L2215 +" XXX write-good to be checked +" https://github.com/btford/write-good +" LanguageTool-based solutions +" https://github.com/rhysd/vim-grammarous +" https://github.com/vigoux/LanguageTool.nvim +" https://github.com/dpelle/vim-LanguageTool + +" Load locally available config files +" For per-project settings +Plug 'embear/vim-localvimrc' + +" Syntax validation +" Plug 'scrooloose/syntastic' +Plug 'dense-analysis/ale' + +" git integration +Plug 'tpope/vim-fugitive' +Plug 'airblade/vim-gitgutter' +" git commit browser +Plug 'junegunn/gv.vim' +Plug 'mattn/gist-vim' + +" Sensible default settings +Plug 'tpope/vim-repeat' +Plug 'tpope/vim-sensible' + +" Automatic indentation autoconfiguration +Plug 'tpope/vim-sleuth' + +Plug 'tpope/vim-speeddating' +" Easy change of surrounding stuff (tags, quotes...) +Plug 'tpope/vim-surround' +Plug 'tpope/vim-unimpaired' +" Hilight utf8-related trolls +Plug 'vim-utils/vim-troll-stopper' +Plug 'vim-scripts/utl.vim' +Plug 'vim-scripts/SyntaxRange' +Plug 'vim-scripts/taglist.vim' +Plug 'mattn/webapi-vim' +" Conflicts with some mappings for coc.nvim +"Plug 'vim-scripts/AutoClose' +" Seems OK +" Plug 'Raimondi/delimitMate' +Plug 'cohama/lexima.vim' +Plug 'vim-scripts/spec.vim' +Plug 'Konfekt/FastFold' +Plug 'maxbrunsfeld/vim-yankstack' +Plug 'mattn/calendar-vim' +Plug 'vimperator/vimperator.vim' +" Plug 'vimwiki/vimwiki' +" Plug 'teranex/vimwiki-tasks' +Plug 'fmoralesc/vim-tutor-mode' +"Plug 'mrtazz/simplenote.vim' +Plug 'dag/vim-fish' +" Plug 'blindFS/vim-taskwarrior' +Plug 'reedes/vim-litecorrect' +Plug 'mbbill/undotree' +" NERDTree (navigation) menu +Plug 'scrooloose/nerdtree' +Plug 'Xuyuanp/nerdtree-git-plugin' + +Plug 'nathanaelkane/vim-indent-guides' + +" Fancy start screen +Plug 'mhinz/vim-startify' + +" Browsing RFC +" depends on nokogiri +" rvm ruby-2.7.0@neovim do gem install nokogiri +" FIXME index file is empty (not downloaded?) +Plug 'mhinz/vim-rfc' + +" Save sessions +Plug 'tpope/vim-obsession' + +" Zoom windows using <C-w>-m instead of <c-w>-|, <c-w>-_, and <c-w>-= +Plug 'dhruvasagar/vim-zoom' + +" Easy movements +" https://github.com/easymotion/vim-easymotion +Plug 'easymotion/vim-easymotion' + +" Mail support +" mu integration when editing emails in mutt +Plug 'dbeniamine/vim-mail' +Plug 'neomutt/neomutt.vim' +" Doesn't work with my Mac setup +" Plug 'chrisbra/CheckAttach' + +" All of your Plugins must be added before the following line +call plug#end() + +if !has('nvim') + " Required to allow to override sensible.vim configuration + runtime plugin/sensible.vim +endif + +" Use true colors +if (has('termguicolors')) + " let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" + " let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" + set t_8f=[38;2;%lu;%lu;%lum + set t_8b=[48;2;%lu;%lu;%lum + set termguicolors +endif +if has('nvim') + "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > + let $NVIM_TUI_ENABLE_TRUE_COLOR=1 +endif + +" Theme +set background=dark + +let g:nord_italic=1 +let g:nord_italic_comments=1 +let g:nord_underline=1 +let g:nord_cursor_line_number_background=0 +" colorscheme nord +colorscheme dracula +" colorscheme one +" Works nicely with Nord palette +" colorscheme gruvbox +" if has('nvim') + " let g:solarized_use16 = 1 + " colorscheme solarized8 +" else + " colorscheme solarized +" endif + +" Use a specific colorscheme for vimdiff +" if &diff +" colorscheme evening +" endif + +" Highlight current line +set cursorline + +if !has('nvim') + " For devicons on vim + set encoding=UTF-8 +endif + +if has("unix") + " ruby integration via a rvm virualenv and gemset + " rvm install 2.7.0 + " rvm ruby-2.7.0 do rvm gemset create neovim + " rvm ruby-2.7.0@neovim do gem install neovim + let g:ruby_host_prog = 'rvm ruby-2.7.0@neovim do neovim-ruby-host' + " Pyenv with neovim + " https://gist.github.com/gwarf/42a0a13ff2bf32a0e79d347e43831cae + let g:python_host_prog = $HOME . '/.virtualenvs/neovim2/bin/python' + let g:python3_host_prog = $HOME . '/.virtualenvs/neovim3/bin/python' +endif + +"Credit joshdick +"Use 24-bit (true-color) mode in Vim/Neovim when outside tmux. +"If you're using tmux version 2.2 or later, you can remove the outermost $TMUX check and use tmux's 24-bit color support +"(see < http://sunaku.github.io/tmux-24bit-color.html#usage > for more information.) +" if (empty($TMUX)) +" if (has("nvim")) +" "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 > +" let $NVIM_TUI_ENABLE_TRUE_COLOR=1 +" endif +" "For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 > +" "Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd > +" " < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 > +" if (has("termguicolors")) +" set termguicolors +" endif +" endif + +" Create new window below current one. +set splitbelow + +" Show line number +set number relativenumber + +" draw a vertical line +if v:version >= 703 +set colorcolumn=80 +endif + +" Enable modelines +set modeline + +" use tab for expansion in menus +set wildchar=<TAB> + +" Competion mode for wildchar in menus +set wildmode=list:longest,full + +" Search +set ignorecase +" No ignorecase if pattern contains Uppercase char +set smartcase +" highlight all matches +set hlsearch + +" Default indentation: 2 space +set expandtab +set shiftwidth=2 " taille de l'indentation. +set tabstop=2 " Taille des tabulations + +"set mouse-=a +" Disable mouse support +set mouse= + +" Highlight problematic whitespace +set list +set listchars=tab:>.,trail:.,extends:\#,nbsp:. + +" Use F10 to toggle paste mode +set pastetoggle=<F10> + +" Do not unload buffers on abandon (opening a new file un current buffer) +" Use Ctrl-o to switch back to location save in jumplist +set hidden + +" Backup configuration +silent execute '!mkdir -p $HOME/.vimbackup' +silent execute '!mkdir -p $HOME/.vimswap' +silent execute '!mkdir -p $HOME/.vimviews' +set backup " Bacup modified files +set backupdir=$HOME/.vimbackup +set backupskip=/tmp/*,/private/tmp/* +set writebackup + +" Swap file configuration +set swapfile +set directory=$HOME/.vimswap + +" Leader key customization +let mapleader=" " +map <Space> <Leader> +" Leader for mappings local to a buffer +" could be useful to have per-file-type keys like +" In a ~/.vim/after/ftplugin/{file extension}.vim +" nnoremap <buffer> <silent> <LocalLeader>b :update|make +" , is by default for backward seach on line +let g:maplocalleader = ',' +" \ is safer but less convenient +"let g:maplocalleader = '\' + +nnoremap <Leader>x i +set showcmd + +" Keys + +" Use W to write a file as root using sudo +command W :execute ':silent w !sudo tee % > /dev/null' | :edit! +" Alternate: Use :w!! to write to a read only file by calling sudo +cmap w!! %!sudo tee > /dev/null % + +" Use Ctrl-a to access begining of line in command mode +cnoremap <C-A> <Home> +cnoremap <C-E> <End> + +" Use jk instead of ESC for leaving insert mode +inoremap jk <ESC> + +if has("gui_running") + if has("gui_gtk2") + set guifont=Monaco\ 12 + elseif has("gui_win32") + set guifont=Consolas:h11:cANSI + endif +endif + +"""""""""""""""""""""""""""""" +" *-(specific|related) options +"""""""""""""""""""""""""""""" + +" Set spell language +set spelllang=en,fr +" Enable completion of spell +set complete+=kspell + +" Mail edition for mutt +autocmd BufEnter,BufNewFile,BufRead ~/tmp/mutt* set ft=mail +autocmd BufEnter,BufNewFile,BufRead ~/tmp/neomutt* set ft=mail + +"""""""""""""""""" +" Custom functions +"""""""""""""""""" + +" When editing a file, always jump to the last known cursor position. +" Don't do it when the position is invalid or when inside an event handler +" (happens when dropping a file on gvim). +function! s:CursorOldPosition() + if line("'\"") > 0 && line("'\"") <= line("$") + exe "normal g`\"" + endif +endfunction +autocmd BufReadPost * silent! call s:CursorOldPosition() + +" Vertical diff +set diffopt+=vertical + +" Fix arrow keys with 256 color term +set t_ku=OA +set t_kd=OB +set t_kr=OC +set t_kl=OD + +" Use hjkl-movement between rows when soft wrapping +nnoremap j gj +nnoremap k gk +vnoremap j gj +vnoremap k gk + +" Some useful abbreviations + +:iab brb Best regards,<enter>Baptiste +:iab cb Cheers,<enter>Baptiste +" XXX find a better abbreviation +:iab cl ---------8<--------8<-------------8<------------8<------------8<---------- + +" https://github.com/tpope/vim-sensible/pull/127 +let g:is_posix=1 + +" Autocorrect in text and markdown files +augroup litecorrect + autocmd! + autocmd FileType markdown,mkd call litecorrect#init() + autocmd FileType textile call litecorrect#init() +augroup END + +" Force the top-ranked correction on the first misspelled word before the +" cursor. +nnoremap <C-s> [s1z=<c-o> +inoremap <C-s> <c-g>u<Esc>[s1z=`]A<c-g>u + +" Toggle undotree panel +nnoremap <F5> :UndotreeToggle<cr> +if has("persistent_undo") + set undodir=~/.undodir/ + set undofile +endif + +" vim-markdown (from vim-polyglot) +" Disable folding +let g:vim_markdown_folding_disabled = 1 +let g:vim_markdown_new_list_item_indent = 2 +" Disable concealing +let g:vim_markdown_conceal = 0 +let g:vim_markdown_conceal_code_blocks = 0 + +" Folding with markers +set foldmethod=marker +nnoremap <space> za + +" Complete emails address in every files +set completefunc=vimmail#contacts#CompleteAddr + +" Don't mess with whitespaces in those files +let g:lessspace_blacklist = ['diff'] + +" localvimrc +" Store and restore all decisions. +let g:localvimrc_persistent = 2 + +" https://github.com/Yggdroot/LeaderF +let g:Lf_ShortcutF = "<leader>ff" +" popup mode +let g:Lf_WindowPosition = 'popup' +let g:Lf_PreviewInPopup = 1 + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/plugin/settings/LeaderF.vim b/.config/nvim/plugin/settings/LeaderF.vim new file mode 100644 index 00000000..b7803888 --- /dev/null +++ b/.config/nvim/plugin/settings/LeaderF.vim @@ -0,0 +1,6 @@ +" https://github.com/Yggdroot/LeaderF + +let g:Lf_ShortcutF = "<leader>ff" +" popup mode +let g:Lf_WindowPosition = 'popup' +let g:Lf_PreviewInPopup = 1 diff --git a/.config/nvim/plugin/settings/airline.vim b/.config/nvim/plugin/settings/airline.vim new file mode 100644 index 00000000..594ba364 --- /dev/null +++ b/.config/nvim/plugin/settings/airline.vim @@ -0,0 +1,7 @@ +" vim-airline + +" populate the g:airline_symbols dictionary with the powerline symbols +let g:airline_powerline_fonts = 1 + +" Automatically displays all buffers when there's only one tab open +let g:airline#extensions#tabline#enabled = 1 diff --git a/.config/nvim/plugin/settings/ale.vim b/.config/nvim/plugin/settings/ale.vim new file mode 100644 index 00000000..cae245a0 --- /dev/null +++ b/.config/nvim/plugin/settings/ale.vim @@ -0,0 +1,60 @@ +" ale settings +" https://github.com/dense-analysis/ale + +" Always show status column +let g:ale_sign_column_always = 1 + +" Use quickfix list instead of location list to not interfer with Coc +" https://github.com/dense-analysis/ale/issues/1482 +" https://github.com/dense-analysis/ale/issues/1945 +let g:ale_set_loclist = 0 +let g:ale_set_quickfix = 1 + +" Error list window +let g:ale_open_list = 1 + +" Moving between errors/warnings with Ctrl-k/j +nmap <silent> <C-k> <Plug>(ale_previous_wrap) +nmap <silent> <C-j> <Plug>(ale_next_wrap) + +" Customize echo message +let g:ale_echo_msg_error_str = 'E' +let g:ale_echo_msg_warning_str = 'W' +let g:ale_echo_msg_format = '%code: %%s [%linter%] [%severity%]' + +" Show 5 lines of errors (default: 10) +let g:ale_list_window_size = 5 + +" Fix files when saving +let g:ale_fix_on_save = 1 +let g:ale_lint_on_save = 1 + +let g:ale_linters = { +\ 'bash': ['bashate', 'shellcheck'], +\ 'python': ['flake8'], +\ 'markdown': ['prettier'], +\} + +" XXX disabled while testing lessspace.vim +"\ '*': ['remove_trailing_lines', 'trim_whitespace'], +" XXX Don't want to remove trailing spaces in emails! +" See mail ftplugin +let g:ale_fixers = { +\ 'javascript': ['eslint'], +\ 'json': ['prettier'], +\ 'markdown': ['prettier'], +\ 'yaml': ['prettier'], +\ 'python': ['black', 'isort', 'trim_whitespace'], +\ '*': ['remove_trailing_lines'], +\} + +let g:ale_javascript_prettier_options = '--prose-wrap always --print-width 80 --tab-width 2' + +let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,WHITESPACE_RULE,EN_QUOTES' + +" Configure flake8 to comply with black +" https://black.readthedocs.io/en/stable/compatible_configs.html#flake8 +let g:ale_python_flake8_options='--extend-ignore=E203,W503 --max-line-length=88' + +" bashate: we don't want indent to be multiple of 4 spaces +let g:ale_sh_bashate_options = '-i E003' diff --git a/.config/nvim/plugin/settings/checkattach.vim b/.config/nvim/plugin/settings/checkattach.vim new file mode 100644 index 00000000..471c9a7a --- /dev/null +++ b/.config/nvim/plugin/settings/checkattach.vim @@ -0,0 +1,4 @@ +" Use ranger + +let g:checkattach_filebrowser = 'ranger' +let g:checkattach_once = 'y' diff --git a/.config/nvim/plugin/settings/coc.vim b/.config/nvim/plugin/settings/coc.vim new file mode 100644 index 00000000..adf0a16f --- /dev/null +++ b/.config/nvim/plugin/settings/coc.vim @@ -0,0 +1,167 @@ +" coc.nvim +" https://github.com/neoclide/coc.nvim + +" Globacl configuration +" :CocConfig + +" Python support +" virtual environments are configured in the :CocConfig file +" if a .venv file is present it will be used + +" Defining a project-specific virtualenv for python +" :CocLocalConfig +" { +" "python.pythonPath": "~/.virtualenvs/impact-report/bin/python" +" } + +" Auto install required extensions +" Update usinsg CocUpdate +let g:coc_global_extensions = [ 'coc-json', 'coc-git', 'coc-python', 'coc-spell-checker', 'coc-snippets' ] + +" Better display for messages +set cmdheight=2 + +" coc-snippets configuration +" https://github.com/neoclide/coc-snippets +" +" Edit custom snippets for the current file +" :CocCommand snippets.editSnippets +" +" c-n: next snippet +" c-p: previous snippet +" c-j: select snippet + +" Use <C-l> for trigger snippet expand. +imap <C-l> <Plug>(coc-snippets-expand) + +" Use <C-j> for select text for visual placeholder of snippet. +vmap <C-j> <Plug>(coc-snippets-select) + +" Use <C-j> for jump to next placeholder, it's default of coc.nvim +let g:coc_snippet_next = '<c-j>' + +" Use <C-k> for jump to previous placeholder, it's default of coc.nvim +let g:coc_snippet_prev = '<c-k>' + +" Use <C-j> for both expand and jump (make expand higher priority.) +imap <C-j> <Plug>(coc-snippets-expand-jump) + +" Use <leader>x for convert visual selected code to snippet +xmap <leader>x <Plug>(coc-convert-snippet) + +inoremap <silent><expr> <TAB> + \ pumvisible() ? coc#_select_confirm() : + \ coc#expandableOrJumpable() ? "\<C-r>=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\<CR>" : + \ <SID>check_back_space() ? "\<TAB>" : + \ coc#refresh() + +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +let g:coc_snippet_next = '<tab>' + +" XXX replaced by the code from coc-snippets +" Use tab for trigger completion with characters ahead and navigate. +" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin. +" inoremap <silent><expr> <TAB> +" \ pumvisible() ? "\<C-n>" : +" \ <SID>check_back_space() ? "\<TAB>" : +" \ coc#refresh() +" inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" +" +" function! s:check_back_space() abort +" let col = col('.') - 1 +" return !col || getline('.')[col - 1] =~# '\s' +" endfunction + +" Use <c-space> to trigger completion. +inoremap <silent><expr> <c-space> coc#refresh() + +" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position. +" Coc only does snippet and additional edit on confirm. +inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" + +" Use `[c` and `]c` to navigate diagnostics +nmap <silent> [c <Plug>(coc-diagnostic-prev) +nmap <silent> ]c <Plug>(coc-diagnostic-next) + +" Remap keys for gotos +nmap <silent> gd <Plug>(coc-definition) +nmap <silent> gy <Plug>(coc-type-definition) +nmap <silent> gi <Plug>(coc-implementation) +nmap <silent> gr <Plug>(coc-references) + +" Use K to show documentation in preview window +nnoremap <silent> K :call <SID>show_documentation()<CR> + +function! s:show_documentation() + if (index(['vim','help'], &filetype) >= 0) + execute 'h '.expand('<cword>') + else + call CocAction('doHover') + endif +endfunction + +" Highlight symbol under cursor on CursorHold +autocmd CursorHold * silent call CocActionAsync('highlight') + +" Remap for rename current word +nmap <leader>rn <Plug>(coc-rename) + +" Remap for format selected region +xmap <leader>f <Plug>(coc-format-selected) +nmap <leader>f <Plug>(coc-format-selected) + +augroup mygroup + autocmd! + " Setup formatexpr specified filetype(s). + autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') + " Update signature help on jump placeholder + autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') +augroup end + +" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph +xmap <leader>a <Plug>(coc-codeaction-selected) +nmap <leader>a <Plug>(coc-codeaction-selected) + +" Remap for do codeAction of current line +nmap <leader>ac <Plug>(coc-codeaction) +" Fix autofix problem of current line +nmap <leader>qf <Plug>(coc-fix-current) + +" Use <tab> for select selections ranges, needs server support, like: coc-tsserver, coc-python +nmap <silent> <TAB> <Plug>(coc-range-select) +xmap <silent> <TAB> <Plug>(coc-range-select) +xmap <silent> <S-TAB> <Plug>(coc-range-select-backword) + +" Use `:Format` to format current buffer +command! -nargs=0 Format :call CocAction('format') + +" Use `:Fold` to fold current buffer +command! -nargs=? Fold :call CocAction('fold', <f-args>) + +" use `:OR` for organize import of current buffer +command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') + +" Add status line support, for integration with other plugin, checkout `:h coc-status` +set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} + +" Using CocList +" Show all diagnostics +nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr> +" Manage extensions +nnoremap <silent> <space>e :<C-u>CocList extensions<cr> +" Show commands +nnoremap <silent> <space>c :<C-u>CocList commands<cr> +" Find symbol of current document +nnoremap <silent> <space>o :<C-u>CocList outline<cr> +" Search workspace symbols +nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr> +" Do default action for next item. +nnoremap <silent> <space>j :<C-u>CocNext<CR> +" Do default action for previous item. +nnoremap <silent> <space>k :<C-u>CocPrev<CR> +" Resume latest coc list +nnoremap <silent> <space>p :<C-u>CocListResume<CR> diff --git a/.config/nvim/plugin/settings/ctrlp.vim b/.config/nvim/plugin/settings/ctrlp.vim new file mode 100644 index 00000000..f5ec2140 --- /dev/null +++ b/.config/nvim/plugin/settings/ctrlp.vim @@ -0,0 +1,9 @@ +" CtrlP + +" Fix ctrl-p's mixed mode https://github.com/kien/ctrlp.vim/issues/556 +let g:ctrlp_extensions = ['mixed'] +nnoremap <c-p> :CtrlPMixed<cr> + +" Speeding up CtrlP by ignoring files defined git .gitignore +" https://medium.com/a-tiny-piece-of-vim/making-ctrlp-vim-load-100x-faster-7a722fae7df6 +let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'] diff --git a/.config/nvim/plugin/settings/deoplete.vim b/.config/nvim/plugin/settings/deoplete.vim new file mode 100644 index 00000000..f4addf90 --- /dev/null +++ b/.config/nvim/plugin/settings/deoplete.vim @@ -0,0 +1,56 @@ +" depolete: use tab/s-tab or c-n/c-p to navigate options + +" Use deoplete +" Debug run :checkhealth +" let g:deoplete#enable_at_startup = 1 + +" Enable snipMate compatibility feature. +" let g:neosnippet#enable_snipmate_compatibility = 1 + +" Tell Neosnippet about the other snippets +" let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets/snippets' + +" enmable email completeion +"call deoplete#custom#source('omni', 'functions', { +" \ 'mail': 'mailcomplete#Complete', +" \}) + +"call deoplete#custom#var('omni', 'input_patterns', { +" \ 'mail': '\w+', +" \}) + +" let g:deoplete#sources = {} +" let g:deoplete#sources.gitcommit=['github'] +" let g:deoplete#keyword_patterns = {} +" let g:deoplete#keyword_patterns.gitcommit = '.+' +" let g:deoplete#omni#input_patterns = {} +" let g:deoplete#omni#input_patterns.gitcommit = '.+' + +" <C-h>, <BS>: close popup and delete backword char +"inoremap <expr><C-h> deoplete#smart_close_popup()."\<C-h>" +"inoremap <expr><BS> deoplete#smart_close_popup()."\<C-h>" + +" <TAB>: completion +" inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" +" Taken from https://github.com/Shougo/shougo-s-github/blob/84071518e4238cc8b816cdb97ebc00c2aedda69f/vim/rc/plugins/deoplete.rc.vim +"inoremap <silent><expr> <TAB> +" \ pumvisible() ? "\<C-n>" : +" \ <SID>check_back_space() ? "\<TAB>" : +" \ deoplete#manual_complete() +"function! s:check_back_space() abort +" let col = col('.') - 1 +" return !col || getline('.')[col - 1] =~ '\s' +"endfunction + +" <S-TAB>: completion back +"inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" + +"inoremap <expr><C-g> deoplete#refresh() +"inoremap <expr><C-e> deoplete#cancel_popup() +"inoremap <silent><expr><C-l> deoplete#complete_common_string() + +" <CR>: close popup and save indent +"inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR> +"function! s:my_cr_function() abort +" return pumvisible() ? deoplete#close_popup()."\<CR>" : "\<CR>" +"endfunction diff --git a/.config/nvim/plugin/settings/editorconfig.vim b/.config/nvim/plugin/settings/editorconfig.vim new file mode 100644 index 00000000..faa7488e --- /dev/null +++ b/.config/nvim/plugin/settings/editorconfig.vim @@ -0,0 +1,3 @@ +" Said required to fix editorconfig with Fugitive + +let g:EditorConfig_exclude_patterns = ['fugitive://.*'] diff --git a/.config/nvim/plugin/settings/fzf.vim b/.config/nvim/plugin/settings/fzf.vim new file mode 100644 index 00000000..2b64e76b --- /dev/null +++ b/.config/nvim/plugin/settings/fzf.vim @@ -0,0 +1,10 @@ +" fzf + +nnoremap <c-p> :FZF<cr> +let g:fzf_action = { + \ 'ctrl-m': 'e', + \ 'ctrl-t': 'tabedit', + \ 'alt-j': 'botright split', + \ 'alt-k': 'topleft split', + \ 'alt-h': 'vertical topleft split', + \ 'alt-l': 'vertical botright split' } diff --git a/.config/nvim/plugin/settings/lessspace.vim b/.config/nvim/plugin/settings/lessspace.vim new file mode 100644 index 00000000..e0fd6f51 --- /dev/null +++ b/.config/nvim/plugin/settings/lessspace.vim @@ -0,0 +1,2 @@ +" Don't mess with whitespaces in those files +let g:lessspace_blacklist = ['diff'] diff --git a/.config/nvim/plugin/settings/localvimrc.vim b/.config/nvim/plugin/settings/localvimrc.vim new file mode 100644 index 00000000..f5069db7 --- /dev/null +++ b/.config/nvim/plugin/settings/localvimrc.vim @@ -0,0 +1,4 @@ +" localvimrc + +" Store and restore all decisions. +let g:localvimrc_persistent = 2 diff --git a/.config/nvim/plugin/settings/nerdtree.vim b/.config/nvim/plugin/settings/nerdtree.vim new file mode 100644 index 00000000..6ce33f09 --- /dev/null +++ b/.config/nvim/plugin/settings/nerdtree.vim @@ -0,0 +1,11 @@ +" https://github.com/scrooloose/nerdtree +" Autostart Startify and NERDTree +autocmd StdinReadPre * let s:std_in=1 +autocmd VimEnter * + \ if argc() == 0 && !exists("s:std_in") + \ | Startify + \ | NERDTree + \ | wincmd w + \ | endif +" XXX ensure it's not breaking other binding +map <C-n> :NERDTreeToggle<CR> diff --git a/.config/nvim/plugin/settings/notes.vim b/.config/nvim/plugin/settings/notes.vim new file mode 100644 index 00000000..2b1f9eb0 --- /dev/null +++ b/.config/nvim/plugin/settings/notes.vim @@ -0,0 +1,14 @@ +" Notes using vim-notes +" https://peterodding.com/code/vim/notes + +let g:notes_directories = ["~/GoogleDrive/notes"] +let g:notes_suffix = '.txt' +"let g:notes_suffix = '.md' +" Disabling text substitutions (Like quotes) +let g:notes_smart_quotes = 0 +" Disabling unicode characters for bullets, arrows..) +" let g:notes_unicode_enabled = 0 +" Do not hide code block marks +let g:notes_conceal_code = 0 +" Do not hide URL schemes +let g:notes_conceal_url = 0 diff --git a/.config/nvim/plugin/settings/silversearcher.vim b/.config/nvim/plugin/settings/silversearcher.vim new file mode 100644 index 00000000..96e8017d --- /dev/null +++ b/.config/nvim/plugin/settings/silversearcher.vim @@ -0,0 +1,32 @@ +" The Silver Searcher +" http://robots.thoughtbot.com/faster-grepping-in-vim + +if executable('ag') + " Use ag over grep + set grepprg=ag\ --nogroup\ --nocolor + + " Use ag in CtrlP for listing files. Lightning fast and respects .gitignore + let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' + + " ag is fast enough that CtrlP doesn't need to cache + let g:ctrlp_use_caching = 0 +endif + +" bind K to grep word under cursor +"nnoremap K :grep! "\b<C-R><C-W>\b"<CR>:cw<CR> +nnoremap K :Ag! "\b<C-R><C-W>\b"<CR>:cw<CR> +" The Silver Searcher Ag +" e to open file and close the quickfix window +" o to open (same as enter) +" go to preview file (open but maintain focus on ag.vim results) +" t to open in new tab +" T to open in new tab silently +" h to open in horizontal split +" H to open in horizontal split silently +" v to open in vertical split +" gv to open in vertical split silently +" q to close the quickfix window + +" bind \ (backward slash) to grep shortcut +"command -nargs=+ -complete=file -bar Ag silent! grep! <args>|cwindow|redraw! +" nnoremap \ :Ag<SPACE> diff --git a/.config/nvim/plugin/settings/spell.vim b/.config/nvim/plugin/settings/spell.vim new file mode 100644 index 00000000..e11cc720 --- /dev/null +++ b/.config/nvim/plugin/settings/spell.vim @@ -0,0 +1,10 @@ +" XXX disabled as it breaks mostly all spell checks +" Disable spell for capital-staring and camelcase words +" https://stackoverflow.com/questions/18196399/exclude-capitalized-words-from-vim-spell-check +" fun! IgnoreCamelCaseSpell() +" syn match myExCapitalWords +\<\w*[A-Z]\K*\>\|'s+ contains=@NoSpell transparent +" syn cluster Spell add=myExCapitalWords +" syn match CamelCase /\<[A-Z][a-z]\+[A-Z].\{-}\>/ contains=@NoSpell transparent +" syn cluster Spell add=CamelCase +" endfun +" autocmd BufRead,BufNewFile * :call IgnoreCamelCaseSpell() diff --git a/.config/nvim/plugin/settings/startify.vim b/.config/nvim/plugin/settings/startify.vim new file mode 100644 index 00000000..b8c6e448 --- /dev/null +++ b/.config/nvim/plugin/settings/startify.vim @@ -0,0 +1,2 @@ +" https://github.com/mhinz/vim-startify +let g:startify_fortune_use_unicode = 1 diff --git a/.config/nvim/plugin/settings/syntastic.vim b/.config/nvim/plugin/settings/syntastic.vim new file mode 100644 index 00000000..ff0f29c2 --- /dev/null +++ b/.config/nvim/plugin/settings/syntastic.vim @@ -0,0 +1,26 @@ +" Syntastic +" https://github.com/scrooloose/syntastic + +" Always populate location list with errors +let g:syntastic_always_populate_loc_list = 1 +" Automatically close error window when no errors are left +let g:syntastic_auto_loc_list = 1 +" Jump to the first error detected +let g:syntastic_auto_jump = 1 +let g:syntastic_check_on_open = 1 +let g:syntastic_check_on_wq = 1 + +"let g:syntastic_puppet_puppetlint_quiet_messages = { "regex": "line has more than 80 characters" } +"let g:syntastic_puppet_puppetlint_args = "--no-class_inherits_from_params_class-check" + +" Use virtualenv for installing/conifugring python stuff +"let g:syntastic_python_python_exec = '/usr/bin/python2' +"let g:syntastic_python_flake8_exec = 'flake8-python2' +" https://github.com/liamcurry/py3kwarn +" https://docs.python.org/3/whatsnew/3.0.html +" https://docs.python.org/2.6/library/2to3.html#fixers +" To be installed using pip in python venv used by neovim +let g:syntastic_python_checkers=['flake8'] +"let g:syntastic_python_checkers=['flake8', 'py3kwarn'] +let g:syntastic_rst_checkers = ['rstcheck'] +let g:syntastic_yaml_checkers = ['yamllint'] diff --git a/.config/nvim/plugin/settings/ultisnips.vim b/.config/nvim/plugin/settings/ultisnips.vim new file mode 100644 index 00000000..b00eb5c8 --- /dev/null +++ b/.config/nvim/plugin/settings/ultisnips.vim @@ -0,0 +1,8 @@ +" UltiSnips + +let g:snips_author_email='baptiste.grenier@egi.eu' +let g:snips_email='baptiste.grenier@egi.eu' +"let g:snips_author_email='baptiste@bapt.name' +let g:snips_author='Baptiste Grenier' +let g:snips_author_initials='BG' +let g:snips_company='EGI Foundation' diff --git a/.config/nvim/plugin/settings/vim_markdown.vim b/.config/nvim/plugin/settings/vim_markdown.vim new file mode 100644 index 00000000..af7be999 --- /dev/null +++ b/.config/nvim/plugin/settings/vim_markdown.vim @@ -0,0 +1,8 @@ +" vim-markdown (from vim-polyglot) + +" Disable folding +let g:vim_markdown_folding_disabled = 1 +let g:vim_markdown_new_list_item_indent = 2 +" Disable concealing +let g:vim_markdown_conceal = 0 +let g:vim_markdown_conceal_code_blocks = 0 diff --git a/.config/nvim/plugin/settings/vimmail.vim b/.config/nvim/plugin/settings/vimmail.vim new file mode 100644 index 00000000..1539c308 --- /dev/null +++ b/.config/nvim/plugin/settings/vimmail.vim @@ -0,0 +1,2 @@ +" Complete emails address in every files +set completefunc=vimmail#contacts#CompleteAddr diff --git a/.config/nvim/plugin/settings/vimwiki.vim b/.config/nvim/plugin/settings/vimwiki.vim new file mode 100644 index 00000000..68ae7bed --- /dev/null +++ b/.config/nvim/plugin/settings/vimwiki.vim @@ -0,0 +1,30 @@ +" VimWiKi +" https://github.com/vimwiki/vimwiki/issues/95 + +" Do not use vimwiki type globally on all .md files +let g:vimwiki_global_ext = 0 +let g:vimwiki_folding = '' +" Do not conceal links +let g:vimwiki_url_maxsave = 0 + +" <Leader>wt to start +" <Leader>ww to start +" ~/GoogleDrive/wiki/: work +" ~/wiki/: perso/home +let wiki_work = {} +let wiki_work.path = '~/wiki_work/' +let wiki_work.syntax = 'markdown' +let wiki_work.index = 'README' +let wiki_work.ext = '.md' + +let wiki_home = {} +let wiki_home.path = '~/repos/wiki/' +let wiki_home.syntax = 'markdown' +let wiki_home.index = 'README' +let wiki_home.ext = '.md' + +let g:vimwiki_list = [wiki_work, wiki_home] + +" Keep using Tab for completion +:nmap <Leader>wn <Plug>VimwikiNextLink +:nmap <Leader>wp <Plug>VimwikiPrevLink diff --git a/.config/nvim/snippets/rip-vim-puppet.snippets b/.config/nvim/snippets/rip-vim-puppet.snippets new file mode 100644 index 00000000..2e451e41 --- /dev/null +++ b/.config/nvim/snippets/rip-vim-puppet.snippets @@ -0,0 +1,244 @@ +# Snippets for use with VIM and http://www.vim.org/scripts/script.php?script_id=2540 +# +# Please contact R.I.Pienaar <rip@devco.net> for additions and feedback, +# see it in action @ http://www.devco.net/archives/2009/09/22/vim_and_puppet.php + +# Header to match http://docs.puppetlabs.com/guides/style_guide.html#puppet-doc +snippet classheader + # == Class: ${1:`vim_snippets#Filename(expand('%:p:s?.*modules/??:h:h'), 'name')`} + # + # ${2:Full description of class $1 here} + # + # === Parameters + # + # Document parameters here. + # + # [*parameter1*] + # Explanation of what this parameter affects and what it defaults to. + # e.g. "Specify one or more upstream ntp servers as an array." + # + # === Variables + # + # Here you should define a list of variables that this module would require. + # + # [*variable1*] + # Explanation of how this variable affects the funtion of this class and + # if it has a default. e.g. "The parameter enc_ntp_servers must be set by the + # External Node Classifier as a comma separated list of hostnames." + # + # === Examples + # + # class { '$1': + # parameter1 => [ 'just', 'an', 'example', ] + # } + # + # === Authors + # + # `g:snips_author` <`g:snips_email`> + # + # === Copyright + # + # Copyright `strftime("%Y")` `g:snips_author` + # + class $1 (${3}){ + ${4} + } + +snippet defheader + # == Define: ${1:`vim_snippets#Filename(expand('%:p:s?.*modules/??:r:s?/manifests/?::?'), 'name')`} + # + # ${2:Full description of defined resource type $1 here} + # + # === Parameters + # + # Document parameters here + # + # [*namevar*] + # If there is a parameter that defaults to the value of the title string + # when not explicitly set, you must always say so. This parameter can be + # referred to as a "namevar," since it's functionally equivalent to the + # namevar of a core resource type. + # + # [*basedir*] + # Description of this variable. For example, "This parameter sets the + # base directory for this resource type. It should not contain a trailing + # slash." + # + # === Examples + # + # Provide some examples on how to use this type: + # + # $1 { 'namevar': + # basedir => '/tmp/src', + # } + # + # === Authors + # + # `g:snips_author` <`g:snips_email`> + # + # === Copyright + # + # Copyright `strftime("%Y")` `g:snips_author` + # + define $1(${3}) { + ${4} + } + +# Language Constructs +snippet class + class ${1:`vim_snippets#Filename('', 'name')`} { + ${0} + } +snippet node + node "${1:`vim_snippets#Filename('', 'fqdn')`}" { + ${0} + } +snippet case + case $${1:variable} { + default: { ${0} } + } +snippet ife + if $${1:variable} { + ${2} + } else { + ${0} + } +snippet if + if $${1:variable} { + ${0} + } +snippet el + else { + ${0} + } +snippet ? + ? { + '${1}' => ${0} + } +# +# blocks etc and general syntax sugar +snippet [ + [ ${1} ] +snippet > + ${1} => ${0} +snippet p: + "puppet://puppet/${1:module name}/${0:file name}" +# +# Functions +snippet alert + alert("${1:message}") +snippet crit + crit("${1:message}") +snippet debug + debug("${1:message}") +snippet defined + defined(${1:Resource}["${2:name}"]) +snippet emerg + emerg("${1:message}") +snippet extlookup Simple extlookup + extlookup("${1:variable}") +snippet extlookup Extlookup with defaults + extlookup("${1:variable}", "${2:default}") +snippet extlookup Extlookup with defaults and custom data file + extlookup("${1:variable}", "${2:default}", "${3:data source}") +snippet fail + fail("${1:message}") +snippet info + info("${1:message}") +snippet inline_template + inline_template("<%= ${1} %>") +snippet notice + notice("${1:message}") +snippet realize + realize(${1:Resource}[${2:name}]) +snippet regsubst + regsubst(${1:hay stack}, ${2:needle}, "${3:replacement}") +snippet inc + include ${1:classname} +snippet split + split(${1:hay stack}, "${2:patten}") +snippet versioncmp + versioncmp("${1:version}", "${2:version}") +snippet warning + warning("${1:message}") +# +# Types +snippet cron + cron{ "${1:name}": + command => "${2}", + user => "${3:root}", + ${4} => ${0} + } + +snippet exec + exec{ "${1:name}": + command => "${2:$1}", + user => "${3:root}", + ${4} => ${0} + } + +snippet user + user{ "${1:user}": + comment => "${2:$1}", + ensure => present, + managehome => true, + home => "${0:/home/$1}" + } + +snippet group + group{ "${1:group}": + ensure => ${0:present} + } + +snippet host + host{ "${1:hostname}": + ip => ${0:127.0.0.1} + } + +snippet mailalias + mailalias{ "${1:localpart}": + recipient => "${0:recipient}" + } + +snippet mount + mount{ "${1:destination path}": + ensure => ${2:mounted}, + device => "${0:device name or path}" + } + +snippet package + package{ "${1:package name}": + ensure => ${0:present} + } + +snippet yumrepo + yumrepo{ "${1:repo name}": + descr => "${2:$1}", + enabled => ${0:1} + } + +snippet define + define ${1} (${2}) { + ${0} + } + +snippet service + service { '${1:service}' : + ensure => running, + enable => true, + require => [ Package['${2:package}'], File['${3:file}'], ], + subscribe => [ File['${4:configfile1}'], File['${5:configfile2}'], Package['${6:package}'], ] + } + +snippet file + file { '${1:filename}' : + ensure => ${2:present}, + owner => '${3:root}', + group => '${4:root}', + mode => '${5:0644}', + source => 'puppet:///modules/${6:module}/${7:source}', + content => template('/etc/puppet/templates/${8:template}'), + alias => '${9:alias}', + require => [ Package['${10:package}'], File['${11:file}'], ], + } + diff --git a/.config/nvim/spell/en.utf-8.add b/.config/nvim/spell/en.utf-8.add new file mode 100644 index 00000000..0b182d5e --- /dev/null +++ b/.config/nvim/spell/en.utf-8.add @@ -0,0 +1,316 @@ +mcollective +LDAP +gnubila +DNS +ldap +VMs +IPs +debian +pcsv +VM +linuxmint +hiera +Systray +Modelines +OpenManage +debmirror +XenServer +Gentoo +https +www +virtualbox +org +ExtPack +VirtualBox +nginx +startssl +abidec +Liferay +hieradata +plugins +plugin +LFC +kinesis +ergodox +massdrop +gnúbila +LFN +lfn +sfn +Issoire +Riolette +gitlab +PostgreSQL +GeeksPhone +tarball +Cunlhat +DataCloud +FedCloud +OpenStack +OPIE +e-infrastructure +Gergely +middleware +OpenNebula +Ubuntu +CentOS +workflow +portlet +portlets +Hadoop +versioned +EGI +OCCI +webinar +ENVRI +EUDAT +GitHub +udocker +Onedata +CMDB +screenshot +GOCDB +IdP +SAML +PanCancer +ICGC +PCAWG +CheckIn +RCauth +Perun +EOSC +VOMS +LoA +OIDC +IdM +Moodle +Synnefo +X509 +VO +SLA +AppDB +tarballs +metadata +FedCloud's +API +UPV's +VRE +PaaS +OpenID +DockerHub +NGI +CLIs +APIs +BitDefender +smartphones +centralement +persistency +backend +Onedock +Fairshare +Orchent +FASS +CLI +IaaS +Zdenek +OpenVPN +OCCI-based +cloudkeeper +Boursorama +FZF +Rollout +Milos +Onezone +Oneprovider +Oneclient +DataHub +Oneproviders +SSO +CEPH +POSIX +CYFRONET +AAI +CDMI +Pre-staging +pre-staging +PID +docker-compose +IOPS +vCPU +SSD +reStructuredText +travis +eXtreme-DataCloud +EPEL +changelog +GGUS +GoeGrid +dotfiles +Pomodoro +EOSC-hub +psychometrician +Terraform +libvirt +Ansible +testinfra +eduTEAMS +B2SAFE +PaNOSC +DOIs +B2DROP +wrt +EISCAT +OpenCoasts +GEANT +umbrellaid +Shibboleth-based +e-infrastructures +CESNET +Jupyter +dCache +FTS +STFC +dynafed +frontend +B2HANDLE +B2FIND +WP6 +comanage +perun +AARC +CLARIN +Helpdesk +oauth +oauth2 +PoC +helpdesk +SRR +AuthZ +AuthN +WLCG +UI +SRM +JSON +BDII +DPM +GitLab +GridFTP +XrootD +StoRM +Networking +Pomodone +Asana +DigitalTrust +Jira +IMS +KPI +Inbox +INFN-TORINO +GDPR +Bitwarden +ssl +GLPI +JCAD +NIST +Keybase +Catania +INFN-CATANIA-STACK +egi +v2 +v3 +vo +openstack +Kubernetes +admins +XDC +Sirtfi +DocDB +XSS +CINES +IGTF +MSI +Optix +MAG341CQ +BENQ +EX3501R +www +UltraWide +QHD +C34H890 +workshop +FAIRsFAIR +SPG +Logitech +Snipe-it +KPIs +eiscat +D10 +EOSC-related +on-boarding +CSIRT +EGEE +ENISA +AFAICS +Arjen +Catalin +DPA +SDTP +TLP +BitWarden +Guix +WP3 +EAP +Rucio +DPO +jira +Sectigo +eScience +TCS +Terena +Globus +eduroam +INFRAEOSC-07-A1 +IEC +gwarf +ISM4 +Wordpress +MyDrive +CoCo +AHM +AUP +Fairphone +Xiaomi +workplan +Scaleway +scaleway +Hostname +Firstheberg +firstheberg +Openmptcprouter +openmptcprouter +Kimsufi +OVH +checkbox +checkboxes +Coronavirus +misconfigured +digicert +Sysadmin +iPhone +VESPA-Cloud +eosc-dih +RDM +WS-PGRADE +GOCB +url +whitelist +IRTF +EOP +SPB +site-level +COVID-19 +TOMs +EUGRIDPMA +TAGPMA +SMS +smartphone diff --git a/.config/nvim/spell/en.utf-8.add.spl b/.config/nvim/spell/en.utf-8.add.spl new file mode 100644 index 0000000000000000000000000000000000000000..42cf0e8d3329eb0ffb34a871aa405b96b0ad1f75 GIT binary patch literal 4222 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 V_0@TGAM1efml^CC3LjYf@BhBw>uCT0 literal 0 HcmV?d00001 diff --git a/.config/nvim/spell/en.utf-8.spl b/.config/nvim/spell/en.utf-8.spl new file mode 100644 index 0000000000000000000000000000000000000000..a41bf79b51444bc80834cee558ea6619967edff4 GIT binary patch literal 570549 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%0DAK=4&6+Q2^p$_+l51mM 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�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�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 VTJrGFqr4x?(Cwe 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 D<<Hfv literal 0 HcmV?d00001 diff --git a/.config/nvim/spell/en.utf-8.sug b/.config/nvim/spell/en.utf-8.sug new file mode 100644 index 0000000000000000000000000000000000000000..b82667d58633f9a35fefe3d73fca2daecf905cc6 GIT binary patch literal 556477 zcmaI9dyuAAec$=MZ(ru78I2febU_G75D*O#Mn;kWqi!*FUht(u%n%1cZ|tdLUa@oW zFx}A8UT@hr%519aO37qAMC+(RY}t%2Q({vdIdLViF$l@_CO{>-OA%Zs*d&uEPF%ZY zC#wM7&-eTNo#%OaL^6N$bU&AKe&=_;o%8&qcYOc)2WR6E|Ng>1zwJw-(PzKsy3x|g zk)sbEJAUHisnhEln`gGJ8{K}@mATQ%$?<4Bx^}ev$;rv}F@r5_jE~KYcw)4)KH)L` z8?TR#>eh5)d}4gW4;@<^9Xo#Vv~SP*sl1^J8}s$L{@C*4jC6c{w7%gh3s*mX#)F^q z&#m#%xnmxdAJZ+~3lLj7_15Z<W144`wQbEETlXWLAWuy<<_cl~n-{rsY<+HYoM%~y zeln<knV#?y)02~<x_mP4W*xg&-U$tV5-jTfGhXF|<5}|fXcj$y)NenU3zHQMcznDu zKCT%r9BUZa;L_=dZtB5{>;5&%5STRwx7LKJ%`*n@@`f>U+IOdcZ$ocRHOT7v;xRAI zh&ct0xp?uk!I}BtEojBHrM#)%YVhNy#;5i44E*SFfM3+_(_>kvo}6xtPlB=_>qL;1 zH!d6x(E|8X2s^(ngln|CZ~?lTW@4j$ef*_?gGK%RP0w^@L6^NAkCw;4n)rZQwIFlI z^puy%vf$>~X@hs@_&!5F;OsLjpEs9}m|Y65S@-hE1%rA4{EhDqdM3e5&!ZQL;zHZ} zsQY8OjmyJ#Qx-CQXk$kcjp_QvWaG@@NbDt42`T!aCw!@&cEfVAc_xGia=fA?P|vdr z4SycV5WKegcnBPL`nR?=7e^vP5j%@9`yBB&7f#RVu5q!n<@dCD5W5?7V7i@v<<ICL zgR~q@1Nia1>&9eT$wm_izs`^8`VN8W@s>(AXq@nn$d_BNlP7*8G6{e9W#g{rkdV4K z%TE}A8`c9)1f_cK#S`@u96uDv78Jq!!sx_+4noYTc-!!p<D^3J#GJ6*_=R5|Ilf!V z+gjnrxua1JOW=w>#mE|eAhlp?Vsvh4;paX3))-;nFT;XV3&)YR0m*c=tzZbMW)W9T z4s{O~zlE7MkM7mj(-qV||34xV03k!;2ACeu>(i5(m!UF4=4(o_=cXmkIJ#oK8vtWg zda|^Jmi7c9+L11zw9IW||LPk{u#xH6t)pn80S2pEg7$+s165eY+Gu0EIW~(<SN4c^ zxupe31CAyK&qRWUQr7`Ex-6Kdh@lqN@v~nWl4vU=>faN>S*w?S8GS6?gV185HAeGb zTsdpBKF-7APcp=K*2H>aY>i)xX40=U4junJv(jb&w@P}J<xk$OIhQuVCo7&JJl6*G z?V7xybo{!!#XV_ntd0Oh8*yRt%=oBRu(e@+`rQUWlM!s6r#WHKdb~K?N<`+21?#=> zKLEP%C$-4uGwj^4Q^5P%>(+Vv=7GC~jEs+a1<B;QrL*TgczUi^rxKINmo@R`nOz$G zd1<4`McDXs)*{7a>(`ihbkZDiF+8EWRt}THp(<~`SX4%%D`$4_=$ZyUbOJxZGwS6n zO<-_i3T&Ll_ZmBbU>aFn(uICi1Ku6H{J2phcI06_f>|)m&x@&RJ>nO0)RGAyhha21 zED~PIYx_srT{rF=+S+03c=*(5L4FPwf&UEC^2zZD{UP&tELxtwta+ND?Vy=$ikwTQ z;-4%XwNhR4$W3!I{CI}^>z!qzNsbeLtVJjH?gW_Ab-54Y=TYsMMYI_|)MkW(cg6?P z`T%tVzw_HAo0^8&?&+zVuJO~>otY>Wwtin6S*|acGuDi~`L}3b^GA_HxVUsI+NT3n zLLgu-Y+R%N&WTl6cid%Jy|t*k<?TX|Ik2j5IP~0@F#oZM763Ey6HQ^sF4nwCPZvN7 z)`u9Zb>#7+NmZOt9IW9$u9;@jBKupXH2O?Lo_`b~@ZZJbCf0O?8<-*F=p8mfW78B} zV|CRnc=Sk^>l{xuuRy;Q%ZU)rYaNHgPE&i?7F;|GE<7QMOe3X{6fMn+z8%-0oNvag zH&Vj**YutR@2)8@5vC6{b7)In=FlU=^=l)P@|$~3ax-}#U<j=89=qqJwI;2!G_~eC z18GJbx*1K}ij6X7OztTE!4vmbE2qU;*V1LqvM*R7JGS=0&H~hd(`5_IgXn5#EI1F9 z6%vTHIoL^XZ@^J)`dzr6mHT+YAdMel0rT%1cy{)7me;XzW!ibC%y{OB?mDb#h|%}~ z6AaK2_5VER@s!;iIkZOBNyTSIOYBBuU^^Mcx0=&0VCQa+3d}gZy8Ljbikl;CHgtqi z2+M_ja(K-u{sRK41lPdB7eyj&pmfl5{IUv+iI;-pVsqhdDKb6Vu!FW#p1>(#aLwTx ziYzLMr{~|P@%5HoErFd!jP8stR|Yt&(AlRLVEoBWjMi#qf!yBNt~A1FqmsP2iX9N; zQi~goRaRHfLF2P>DC4_~)(G3nW-r`%vMhUXRE30($mf{91uJ8BN0H)jw2E|!I2SF@ z^K*%>Z|MO8z6R-gQiT763%~g-mtk~Wu!zlnro%$1HmRifr;Z%;kkOHzPm%pRVXh?Z ztp1oBW<e`G7SW|+1XKh*EHaN@I6gToGLL6gccYo&zVSms_5}p1W8ljJ(v+hujzCLj z;?M?^qnAA@wsGKl9ge1$O4FkL!ajd!4=&PoPCRy%HrPBv*w&3cEyE?qANK(Bx0p|- z$Bg>UuWP`VH#b+n$D>Cc=B25YVh2UMzj(GRi^f|@FgrWB7tPrvbIzD)Av1cP98J9b zwIh~;&TU!zQiLTEG!v2@PuS+wtTD^tmx3Kl6hU7tv&I$F2Qf;|02@fg__s{%_7-M& zj#N(M&uR`A^Jp)z7jjD=u@e1QpC?r`;K(8mw=UU%ztqK;_yciCKCnK2M6U|pC8NU3 zxzpCjo%=PuWx#C0@cg?3``WRNewZ7L1Mu@7g}){JlJ(<@e$2yb2sx+FQ9pv`p2I`c zQ`a*32w~Ouvmy$=O2H7~^V@V~pvd^U#Q%Z@MT_~S$67m;=ZzqnAB*HLd4+gtM9GQb z3lG503!y=b<cfed+)e-4=`0^vgqa*3hUi8Kc1o|Ik{S8z#x9Y1{4CQfK4Z0Ngk%<O z;8O5xF-eaR-Jd2RF(uCGRrz$y+mxDF&4TsoR5+WGGUPuw-tfL2M)sqXPx}96^1Qlm zPoC1F3H$NXd?_RqVoUSNg-FbEG3eGH<5>r?O;Ga>2BV50Huso%Vz)y9j^Cmh?(dj~ z^~Qu;2^!7)F<Ql6D`*&AoE_UAW*A5=`rKL^&pdBy0>L@m^kM~l)I@nfow34_`^}{z z@%p<5VV3b|;hzY{O*~H8AAO>npzcX~GVtHY4Xa7~N(FI?&%g=L5q)8QczSGybnEyl z=7J_v3*QKirFm9Q4Dc<voLp>@1$ku3cD&!=ite=J!?==`8nxhLtk@5)l?<=eF1#N) zVPt$*zmrAeXKp@0vWh=0_G)b5g&_k(5ox_22;+t}CZ#SMvUZV(Ek2VV-Tc_;kYL{Q zkc#IGG6GDnEr#ys-B4or6vke|%<bZwc^*I2@s|z%s$tr)ZJyk8Oiqkevvi`s7OI(> zfu2Pgb?1nX$1j_;$U#Pupjb}~X{!el2Qzpyul%+-YmMz3ANq;hc=$vx7EQpL|EP6y zqUB_&coa1s5KW56+2WU^E`~v!=stdSg&&_+3PyCEHRo5#gJgr~Xa<UKIbHi(u$yii zJ8lV+c+Rbp&<L^&7(>bBOzvXwnUk0p-l!b42Tk%;9t78;q!iCp)Xz}F9+ITV|Dl<e zoSlROcJmgWiE3l2I2WbmdfXO6h|Y&w*1xgj^q5N)GiT8pM2_$8Lj9)rwW!G*C@x?c z-|E}2b?_kx{7cwq@e7G^|J09iyn%Pu&+Fc=2q9*V$uFN2d(3~6(Gu^syp{g0VT()i zQc+KG*-bkCF7mt@vV7#SK46fH8DJ*jme;=U61Ylut6Z65h`BGEo`^NCtmCwae|G$& zR{)yDla-7RJ<gp;A|8#PL8js9@v9a4i5pN|(2W`IPcHZgJ*CW`mlp=tIF%819HHA> zx}rxdy+cNHY%}@YV%Aci6kCGh^NG(&7&S~%!!|Qf<3gHDcIF1e7+$l1@)KfhKS@@f zUoV=c4OgXDBv|twb#i2Ue-wd+G}~1gsR{1Rhc(1BWQl^8U<Vp8zB5o{-n`(RCo3_m zcd<qVkwk|AQ&>s2%=D1hzh9k0+OnC#%Z)F6zQSKX|3&M`%X!T#$*=PtM*ur>wD`p{ z3r9532TtHLm)@KEsrWxFam4L{bD+7*vfDIA-Si42wnkC^1hQL;A6OZNZY7c+*dlT6 zDBLB+Qetm<#7_O+J|%jtZCvGbj{hi3B^5l|7$5C?jTW_X9lI2stjf<^qgw3I!VAI> z(I_B)uO@k7W07A!e?;UEsTS{$luOM`zU(#hRft_b-xfp8RO(C&HUE~tWUl;t!$jjX zM)_UGwR7v-vMZG|shDN5X!6+!Ja3kgIUV0G2xqPs@r&~@=ht@*lkQ0yqyRKIY?5!O z^tS3nu&UkmqpZCv?RU6rr#-MPri4tqRz!(V##LKd;kvaodMf@z2<nuZS=vrnv5GBc zc?c<(>5=gdHGIKRcIm!FD8f9}9v_H$un_6xcnL_W1+21C-FP(@=;Cdg<jb+Y=Ww-R z!R9`8rkK<toIBFViZkA5OsiN=SlJ!Xbd|ZAv*T19BX-fd9<Y(BJXXj4y;W~K`ro-_ ztETiiyiu?*uH71AHa4+x1xrUo*)`ccCyR+(fg<Ur4&w#ZReH);7u$8CI<7>iac!$S z$I}CGp<1z%{H27CWt7=LgA4-qKKKjQ#8atSq`Wku7G!7s-04_OC*V7xGPU_!`D=`i zeOC~Uz!DfU>GM(aa)Iz3N`nCGi*lIr=cGY~#ob-8Jx9~lAV_v-2`<@1Jq*3`Wuc(# zwV|7dUsVo4A&AO_T0aGs?f#FtPf^h56s+@)9w(#6{VT3rfn$lu<%lM@5qvd>6>!a- z_;?d>5TEtfoVp&Af((8SjK1&<2p;hiqi)l!mA$m$b*5K#3Si=4ZqNM10hvGU#Iqfc zDr__l6*wvmGbSw8%8%g1d`~K#y1x540es=K!Yv$7l+Mn>C~gU=Q^FP|i>Xk_$|UfU zpX+iHN^Q8UVeW&v{{b6Tw6XA{HjPN5V*pgUh%@gMwF(Y)@`sK~TJ~HP)@{eEWZob3 zq{SzAvVh(cAT-d%9x|2kV9LA5;3RS8e^IKlQJP=R9h0n`)7ZObuF#-DF$q7G;MeH> z7By)xJtHmtXg_C)O+p8}2Qgg-q?|a><XZAM#Lp;l#;W%n)FUCBR;d|wmXM4eI-V@s z1u`h5$HE$u(P{a(9S;{vZB1CLJhZv>(@8b`>2X_2t)b}y{T3mUAsYlt<@Vd8dA;%P z`sHm*^!qg7p`}n>l&py^AJr<S$7s(OkM_P-I4%XG-=NXM$4;zM`-LCKgNd`Sb!H#4 z-hduYl1VelrYD?f+N3{Z5ST|nIp39f2javO%e^HTcQx3BdkS9y?PP1?3G*2-1Ako2 zAv|VgE+O$F!cwBt5@sQ2^2;nR!m+g8RA%RL%^$?O5(YfjW3tbWMafwAEuR$eWM_B& z0<i3OzYN?ICCs=gFgO_UB2p4bHeis}iJKU+AMXF~Ajv7DK@<b;GDt@Uu9`?%5#2_b zwX>}ic2319E!ESTDKA8rXbB&lQhp~->lH)O$vro#o@tdE(JsB#A}CR9i_D7?5Rz21 zC|MU%!A?lVT;C1rXgZON;;bNcs$s`pcR_U7F{V&5|Cs@Q_RO6EnSJYP)=m3h4l((R z&0T6cao(((ixoV?{lSpyVR^ayf+t0G>S0DSA*w*^ScT>D_i{SAH0It1OXj+mp=Q!+ z>64=iM1MF9+R4QD7Duhi$1TrH;{b1bs|4>^ocvmfUUak2cvc29W9hnps>y6yS3@+t zY2KcuHhe{wm$O;~4(z-`d2B9jhBhJ1<O3C0o7*e#Gcjfob4Y8TRm6Ud@5Z-u05rX` z!k~Yut1{Sbx9D&nAf9A|Bm`t4xKLHY)OUGh-$w@N>O%q9AdpnWR6NKdyhF`GL}83J z2{~_meXCmt(H)Uj!6D{1lo^YMZfyZn{;x?Cx?J-yV4U0$I)>}pTW~$|JNm{Axkfb; z8_ON<ixoPIiak9(rDujwt^DJ0@fo)y?gaHhU{i3>VwF1?pwoSc<4+2fDaom0QJCl& zCv48fuQHO~x-rizlsi(U($Z~%r2kbG*SsPkjG`(<N&^oWe?+arE=REv<4njx)3cDy z$lvQA@DNTC+<Hn1Mo%w36C##=B(2E}sv6F{KH;=mlK-$Hs69+EW~k1rGnb&2&`eT5 zqZ$VqwaIS59#ZPMKsVQyWua9LhWymS$E>5K_Soj0bKM|)lOzqm$t=QP17LS?iX*{L zwxHI#ahF8+#|4EYCh3JTpw^mFyjJFTa0B)b@B^!z^t8YvuWyCDDok!_^vB#@xc5N} zDv%Gglel>COUK;|F<s%_IVWr;f4{n4^)z$tTW_up7nYr<UA#wldYt)ifD%|3lWK2` zHIvxreN)~@?ev7Pxs>vQAFzzheL*A4U~p+;)DPWyT<Ek8@if<W|3~DAG3S2Bbwy!@ zhtAQ%!o~7TJ^mwRl~`2qOG+GSE8}@%uE3xZn(6L6s<K>P0=QCUgo~!eA*ZSj2}$%8 z>!*RM47Uga>CBg93G=(3Uw2=t@dLte%-f(9_ZW~F_z<oP+G9>>__3?tUCt!uEGJ@N zC#qUwgeR4llE+B+qvtvlq7g*$owp|YyYjFW5@|gh*NDHJftCf;J=Bai&FbA?DpM+I zy5J-FQ`t2-EJK?fP?%Y*-bNt+o5N6o$__|H3y*=2eIFSn2YP|%=Tp0^h<8M9o0o*g zCMNcvN`vZwhU3zoo0@pK?$$_HTTiHVr;9u}z7<{*gOKCkr%P7qTg(JF%xZhz`=L-f zD#F<yi8SnKTzgfUWsxfhY{v7DPaNZ^6569<EH2Y@tVgk37f_z{gq+#Y6|c9?Pts1v z)geAS%JvI9viGS|hA4@mr6_DecP^CZkvr?K<T_HwV@)wVDc6x~mZk(<^RG273O>cQ z+}O-`OEyS*em^%2luI6!4>fkmwI_Wl(~02l<ItJ$DJ!UGh9NA>y)#sblv>1UrQ5wb z4W>Q`ar2HhuUmnwsRR+1YR7Y>LAgEui^n4g%w*fBlE0Rbh_Pza8W88{SZjYy@yS*C zQW?ctNqa1@NkV>2RwWL#F}G5f|7f?SVt3EK#??Lp7)eOkp?N64P(mVX&VSV0o*Aqf z=09q77C)r(cyd#<w+GIvr>*pp9*35mC0T&ZSI3Pv;iLi<?rD_NEbb-(8h(BBm<F1= z(;nPXX4jbIP{l|!&6Txua)?XTcg<6YuzHA4x)PyuTY+XCCn#uY0>=drOr(_}&E=~t zf{<u)W5d3g3Zn3At5v0QVv7~?v!_L`iD&lzEO7Y(Ps0$V(3Td_3r7WM=G9Jkk_uXL z{?|?oaw9D5|AmzFM2W>`gvs;HP&i>S_nu^xOx-7)AuSn;LgR5VH(^R?+a87(h${RA zN~z6l{s@0gx6B|xz8)a^2_BnO;0eNusyTAKSs>AV&%;uSS|3X@GwA)vO<{&=LD3ZD zx&t4vk6<9O;OAleoE+6ok{$1lPPA8`I)qk-CgSIZ_3J=0BvJMJM!LJ^e-YPFtl?k< zC8J*-Hv5*N#C+qwEmM(x<jOcViyP`hXOsl-=%uY{^0eL;0MhV{LAAao8?VL0Yrjzd z+4b|e<C-~I%aPN$N-~6IyuO5CiDRC4)0|=(MOz5>9VD=H+-Xtxd0L~ns(umiqXX)~ zy9Z;{3+Ls{s3HrXKXRn7+|f%DBxvYbn_+T!l~57Y1%l?^Vt<rbwnz=6UZ|Ax&i|UZ zanWt8qOLkQZH778K=UHr7K#@oe7pppq|w?rL-&g|tY#tjB%&dFq9Ml53u9iX(kbEH zBngs>8$toI05lzm{Qq&U-`sHSNOb6cfF8-l@+Ci#SiUE{>SNq*?4(U=JKv;yYfI#b zpv<E|_rD5iH2Bx!J9iK{8&9fV3I=!##3SiK>E$(8uIS*!p_OvJ@|lv7vus}wF|zxk zn^{+KIk2N>$HZD%$7)MaVnKaVE4}V$U^Vk=)IE=gr)OuRSoi*ACQUkD_nE}Fv~sl- zjt|x*=RM=9`hq>AjBm7EXyrgPG%=!)78sN_j}TBX+cmFUPv>UTSL!JT{=oLUD*~Y$ z9}FW}Sj=4J43|8m;DI)<6h4gr$4|8%!@U#-KEaHL5Xlsvd`J@Bg;cfJnHO85$Q!G7 z${SeW70rC${{l0Ui^c6(xo|aPrp^QeAG&43rih_fh4IHP=)Gl=%!q9nuFgGh(x||z z@q2+Q0tlm<r%~rdgvfUNA<g%!&~`{0dIFs|a`K^G=K)X}^p{SAf3(0u1}63B0<_F7 zH~-YNdAY~}Df-^*mEy=SQkrH?gfn)l7@)(;u6OHoui&B@zIm=_qE*PXBngRPN;C$p zLT7a#bHCyherx$F6vj1gHv*WL#6o%L-FyQJS)y(xdNu;uOYirF*94oL)?Ol#6fGhE zP(17zo@tgUu<~+CG78j%1=)pSM4@^7te{+4zfS9T<<)y_(`>N<f)6WwBOGBFlF<z- zUG5|sOV4e2&<iioB-{JjOYEgcwMXEXK(mYL?JjtAvQ!J_9TLNWm=BkM?J?qyo?2f3 z01q4g757frk`#Yi2g6ZCI)ozw=ewcOyH?|{x8~&0VP6yqCwBxsZAeJqVL4(8q4c<& zVpN%|@xG57(GNN5O44$3nJ{zTt}_c>nnMbyLFwlMBw>N)dFp%i@0Qoyuc-D;MH9}* zFYZbFCeFC#HpcGDTnwYhU5{PH*Qd-Y>C})9#gezhsSU2vxxCiP<j@Gtzssa<?4f#8 zZTpBcZ0r=sCbr;s;ixlD**g<$Yny8T7k><1n0rTN1ttKaRiQC_(>?C!%PNXdEda|_ zscR=xXLPi;Z<m1z-1J{581y<{IHoisEP{T#;p<>{?|Vzmg#@O}t`YR0cyD<{7_v)^ zoa|FJ-CS!jE#Xke`YrsXwZ;Vp(PXSNhV~t0+Z8Wcy;}W6q?{u7q?QOfD3@^k4}hKs z@H8#^j?C#|aqy-P!GkS+$<mzo*Q7F^S}Iqq>QaOlHc%wFribyivKYyUJV}q)?`_%p z)F6=2<1R_zO?CE_(bdEx3nt$5j!LsENDI@sXEIAQe3kNMv{XmpI&I9GTfYGca3nmu zrDN5J?f4F*Uk&lLCMd>gJu3tE!Q5~;wSSK#^MBy^re8G2+&|S{ZZ2!dLk~Ovw|FW> zd)LnwiLlUjfCM;Z*9R>?TE)Tpk-g$JTg^sbCQ;ru!l;m1lfuX5@)l-DdMSW=2N;cI zJfbppY=J#0@2h8yfB*wfgVR&4q&F}{$R2x13q_yD@@Ku8U&HkA`{X8O4h6ZsM(a|j zr)m7?vKyF8h>SO!vCQRB%f48~8@Tu{lUP+$nO5V4eJs&Y=w;PYi*k;ov`#f}Nlqb< zfC&>=O~P~_{j<e*+*|JRff8klB0YkZ`;O5Q6*;uJ@vV689fx1inyZuRnmt|$faZU# zAhxJ_8U%_~L^GSD`;+l9#Rb=WE%R~ZYGjkX_e#F(4*l`x<&X_3qOBQTQ*Jt7@e18g ziazHu3>C)UiDVY4yF#qJ@MzdU_sj!cBiX2;j;Jd+2v<4*AR6xZPa;xfg1XpCg9tp+ zVb}qpE%01lmL6i^_i9dQn_a&uofP%FS|w{OM36OW;gI+0gh2_3#(BaW{hm_2LXb!A z#^i%p5bkPsY0;qBql@DarWp2f$F7O)mtHRWxpro&mNrcHXoTU~__JbW_70hQ8TJJz zv7%Xw4o2(@a*$Tr)17J-dbhEOMbX@iC~)udDfHZHrVGz_+;FufRl@)FkP7gU`R!Du zM3GU>9#0~`BG^*cjl5u7<0wktzaFBJSE~~10(uc?P!wK0DuUvB;^EMwWY7;de`PJ| ztIG}>tQf*;2fZh^3Xc7xk(Q9rqbu-d{}OWhbD^L0v!lzviU+I-g9<n*je1j?0k|=q zpbonbHUX6mA*&Z<+V}3{-5b7Mu8HX7k`cZN`ubx>>HP+KO4{lFYoDcOLk&dL+pKE~ zpW3=QgF3g~YUEzM*?IZ2OBD$|fV8RbP`h8P9Y?4IXf4VyQH0{eLAA~<{jK~?vOYQ@ zBLW|MXw*u^3Xp}D3qxkA(S@TO;RZrmLwl#i8eWPXcVQo|q{L$G-nKUJ-`G0_rs?pj zzJ$gK=yTrJkoJhwmg}f?iOm2)p&I;?xw7X`+9bV2vmj&`*|$Rjq`sBEx#l&e<K;>0 znZbxG-suutH-4h4Nsv-z(CdySQ>wYEg`nrqWYmP|Fq1a(jYl`_XM!7Ondj;m_Ey3M zUz6aNskQOTIZ-0UUY`#|C}F|!X_4lJvsMU9-e}t)C#nCc6^Kqt8=I4nwkeOFcKKqn zPSrVD+SFhxcgVBnir$vE5=JD|qre@l*IbN}L=ixVcje@Q&kZ1tD$pxyopZA1_d!4- zA^>S9^Pw0G63VpbHlf#IyY+&4BX0OQjXa|pe=-!OufpOch%3%FwNR71_4vm8k%x(( zQtEH1h?DrU2jpoYnmhz^IN-_b*67##JJU&oEVk7o$?d83&F>dAK5fKYFSr}s?8MH$ zYeQMsa>dK_1RvM`tK;*wnS>Zwa%f24Xf?^M09{sa9e-4jlnBPV2R<QjEZBmjYyO?B z-V3$?ZskAtUI9i~yx?-~$7T_yz<eCT5r$fp`g0a%;72I!JD$aOJ-*IBd!GWk-d7&o zwA42@AK=IbZZ7_g4UsDQh%HbaWM?SeyXxy!i#MD#kEg3adb00tQe!Uc^1<xE91xO) z-2Cd^Y~1{slc&A4QLpDX0uq*{p90St7fvdtdW+&ooG=0PG5cR}SyPsdx(tSR=ip(J zn`1G2i6+}dPSG78A6lP}6B#0~umiu8h4HIHS4g9m4(!c_xJp+A(-tEPdIDGXP!&7z zc1nIvh#3<A#pYVg;%5otwuokLDo6U;yn@r;h-;T`sO?Dt#b?puL)9m59x}EK9#U3j zPJ0iEja>QEtk6$PZCB5B*HMAx;O1W`Q>M|&U2a>FS#gMAJ(0BvY1{o7s;86DF#$s( zaOV(2-3c|gSZy3ogur>#UH0qR+oa=!)_4Ru>fpd<&{D{pX0J0TjQ63pz^zTxE2{CE zl1ctNZ-k!rda@-?&ck?SG!*pW-G{W)auEgg;vN@>OtHWavhi38X~hon=T0F%;%ksz z1&w}Fuq$K?{`n&!J}FPBg38ei)S1=ksxQPAhItI45+wUBoa%I6(s;{CXBf7*AB;B; zC5p1aLwM<LBG?B%E2_j_a$aR}$A(iD92y1S#8Pv`YXFa3(}_wIV38&;$t*;Mr8KJe z#d2rTAg9bwjLrgY_9lp8MsY`Eqy$|iM(GyRxhQ^E6o15#RryLSmgBlS1#ChJxOVoc z6zjKYK+SE{D$YZP`jjWKHsX|=&2~;`Kk!S^*QPW%b0;m@<a%we1ZfpSU18lVe<Q5N z-Gxud243^&uw6%o)^WO>xA#63OBeksmLl87u)Qr$;8OmoEK#-KFjGs4=!NUA)2$(E z%gX5K&Xv;r!~_a5_-pyN5;)P}CS7d<cE|I!vbSc4ULN|%B7h}P`OuO)X-u!YDOcuM zC9!T>LQX(H#Ovr1{Da(Wl_pHJSR=on#KDf|SRltbD7|Ro8fNhh<XU!gYsDa)`YAQZ z#E$AJ)1YE+#8fX2rO1P``VdC&Zft4$dLr#;Eg0Uz&g5~hAS7Zm^UuRbLMQ<ms7Adz z#><2|&rD(e)P1yrlxI-eU3N}UU@*sxy*nKb{H<eZti0uqVuM!AB=!Z07M;#dYa3gG zMJ??KV>(Zq5|@^L>l>{#!qCe{jj@!YSFOHC+wqb+BPZT8bS2%z*4@#b$(m>eLGri| zfPY~F?AaDRB{gc2sQZTBw}Q&ubqXV~Q7*))R*)R^W;Psn9PV4-Z`D!Z9=O)SBfUys zWpxT@$+-x*+u~2b<@t>Rw1V_V_0w!D2&eP!0^1XMBMG!j&pa8P<KfgZtE=W{ce!F0 zBk!PnBuqUp92Vi-NEIfFe*4pg4ppUipbi)adkg4Uu)%L}pS-HcVW}1Esc5qE*+QDt zLvKc#It3j~nUEaUV1k#t88?7Tx(Y)Asuq4U*?LjXlG>*&N);OwCPJBVje%~BBz0pS zwlb~fqQD006Dkp~j^!&4@17z-&v@#Cwe5onTj+TS!|uPip^blfd(3VStzLDwgP&zJ zxXut|q;B86PeHQq`B4rrb!IWd<6-<pbB9$Q>g|O2&FN<RZK->SrfL@&-3@WF8CU^{ z@c4yO6E~I2zte>ZrnZD>U<ID={Z%Tuq1rf*l#O3FBYclG!4)|KNsJQ$2OA9~RK=Vw zXh18L_fE1=TI<`3Av_Q_c<mbPSqVZ>5fJekK{ex$M&+kC|7AyYae1@V6g?*1hDt-` z#Z(r~h1V_3BJko#x&lEgp1tPkJn4lW^|nh;V=qLO5004|`J_&iup7@2N2M5q`xp|7 zU@?-9FpHJCys<k$kMmqI<9na-bZ)d=Hl4j}<MyC8JvOy2I=|#k*lI*m1cu;`07OPM zi`9xvx0gM9TB0$C(9{p|vfINmz<0|&yW8Vi!j$FJ7#V4wFmKvLsCEi%ScfhLbyiGU zUjfC)9KN8rdE%OXhe1ecgwtcVDoo-WYRU4(l*f=>XNQ|wn-8oha%Bz#k*nyL-xouY zs?<v1PBBvR`nYl9Pbd~Z9CY)vCorhX#2~tkr*y;DZEnD+-nAkazp#PBrhz3qIUJ5E zSFh)y&Rtx5K^-mEeoatY<Y$8Fmi@YixOwe7fXIgEoWCkaZ~J8jNu+&U8xx~Q4azrn zy%=r*8DphYu6d0t7OtSL<lqB0PFZOZm1!bxE#({}uRq)r!MG&?Cy$}&IG&fbWU3s= zq{Y1KVTE;E(eBymV@>tKHa+^;tB$v$M``|ropM~!jX&wo79UT|vw-{4@yxyZ#4eD$ z1~v7RcBQ{Uzl(d(`(oc^(tkWt$$w1%R)Fj=N!4v{;?`|{OY=$Jz&klK%V|c%q^1@m zhV9g5Wq`}$4Bgxqh>H#`4}SKzIT&qWk|tA{LnHb;4-?s5SU1)qo?bCeJSeGCDQYGM zuD;WT97z9a`UF`I@)R>rYh$U}YkcstTG|6iV1Ni-7U`ug(dhC-_C6&(!mrJX+^s%h zQ#&}+E<vM_wy+o!0wCT+Z-EY!3@}O}Z~ni9)B~TfMT)Gh3Ht;4x$tA`l|wLY`9diQ z@n85Xm57DkJR&v~F{-E|M#!;Gq)IgHtv3Y&+xEh{GXG<;KAKSS7hl9+Bz6$b9sDdz z!C`(9Bdyqek{!kQcN!nD@?GQC&@aqsQWw{+Z8clzOa<ae0cju2t}|W5Cwnw(-N+R& z)g#AwT+oT$<aQ>s7eE~L9BHw#*QkcEJxIF|w4nPf-L>{(iweIcE<W%XmbmvR$BfjX zd6|fbJ!}aiR0C%0(P5t`zO`bUXoBaHY!Jomhd8yGEd&w6zV}=AmFW>Dm2$#`<<Cm7 zDlNcY)=N1}l+rdD6$bbvAx5sLD^$HZzfDQ-vRw#tW6o^U)C>18>&t&eh+*5OjrH0Q zJt&A>4TpA$KwZ4zSRp}hCdZ|(sk}b-K`ETaf+*XaKYzpsWLy@)xFiI0#$BMZBwYcO zFuk5g!iFsn&INLz;!RV?7QQ77^su5e8s222gHFPE#)X9dce|6t8tzR3^qSYi`>xIG zk=hPK5}+C(WDrEz=WJpPvKsI$d-*I$L!`<)%)P@g(1Dj5W-n^6MWk1=8uF&s1W~-U z@2?(rb1SYbvsw}75J?NX{l2rV;P&Lqn#-q<E=iTWiDguUCUkXENbYCHMrxh?1vRqe z5wTD@xGON^xv-!&K;<2vPZegz6AAe|QqvfEL(7=@I2Wln{<`MFs#oO{p2IK|zF$`F zAj*D!JPjdk)p{!|5gn%&BIp$uSXHZn40k#MBTV>&m(g<6wW+AH*?HF(v|5wL%}QIA zz|3QTH1oKUm9{P~$$pKS?4&a6r`&p35z}pdD=VZsRPNWdXk8u+dh*|<!$&)QWa@p& zA*mq=5T|KsL9t8mX~gPsB!LCNln5^F(NCHjqyAgUqc=Yt(s@rliKWF57bUnh-D-Jt zyO`dYz|5Qv=|H%TEY02svu+w?8BH`&YC^`mbMiVrJL+EOTlIe2UVYyof3$04_8?|u zPe|T|RVpuSBVX-HQY>;2ulpLL(3n|YH?#YV=g*x<R2m}5sDMYUrGi}vmO6v9bkC?! zptc_|<7K0cz_VPdV#{obh*BI@-YdMMcLwKC4dZD0NAm6d8^=Bvg*HE>H)6T9tjb!M zJv)?gH6Zg-RfYzeU&~HT%x;t7D%~gqlf&#m0hMHnSZ4oz&XwSrR&IR}?vy-3IY_Ks z2Rcr|)3g(*%n#Y`)!}9;pmJi^_=i^HzyN_W$a~-0M3k*~fMMlx&G!q}|3I%V+nn#> z%un^Pnc0#>Ne$STu@hKFSiJP(aKpau<Z}&L`o?%gNmiUB$)``~wGFlkqVg;3zI+Nm z<k+-FROBNp1w$RT6m9kXYAh#T1khhXIRc|*#_`#!n;9Kt3oovRM>@1n@g)HYAbw;E z-rf5HHvNaGuyC`sdUf6)s)DPIKpj2m#7D{tK6ov{9-p(JS&ig+-ihy}uGwDiU|~g7 z?J|{hS@@J)J{yVE_{ArWh}JRD=BDMKkhjHBG15fU{B3#aGBM!WO;gHi@gPSWy(nLO zL2$+SE&n9he7gc+s$rT2n}A}x7)MUWVexj;M3|#6j7cDlO)k2G9P~mHt-}_=)s%z_ z;uLPlN|2CuKFfxw3|~G<P%_rBaG#K-C6l=Zm3KoVh3TQ#*s3K;YUr9GQe&EM2sAPC zsSHeG!eE!hvg03&nFr?FWp?Ij<s4U`egxN%)J@N?PGfA+tiGb#wiK+&{vz3y(cVw{ zsc9I27f^jX$dQzG?u5IDK#5MglQdWvZWMFxkA>srWkr493@#}{5)U9NKdTiUJWQ*k zWA9zE#mrQNe$ym>TW_T|DQvxPUP`CaQ|btXaTNS}N&GN3gjl>N430U|n|JJF#A~oL z4k-T0cQ)n+>ODLxVRn)t^GQHn`rRfGC%8+055N_Sx2wkLt~`QO)4fj}W-`5?Ekpd5 z4OndvgOMZ^Xa|0_jdBevaU*#9HYZ1t9*z3%_cvejX<^2qEL+($ZPSZQqchC>xsyH+ z!4GK$`*!^AR(Jl_`+FaBrp8d-_Fo61NWQIJQFe+0Z-0f6QRWS+Xr_&^l#&=-T(RML z$fa28u&OHBb<l-vE#AgnDh6U-bE8;K#YLycj1vokE>G?VzHL`sbDN6V7RppAvV>nA zEFoOQIAiOJRg#=XaNd6b&#-z~)Sw`G$&ZmyzuM1D#E!z!sB30^K?G&=Uzlu$k%w<= z9Cf4%R>%*gxUV~$5L10F;S6iz9S23nHQjREn3_~zQAJYG1-ehnfG1E^pKG<D7>OJ# z6Lfj<U1ymWt**E;sy+a7@o7f`-nkMdxg;yxDm;}c59DIsm<%8Jeel<v2x#)D$6cz6 zAg9%C#zNyg49mN=p~VKepM$w2b<TnAybV%FVRJ~c+;l@}E$r_4P(!ApB~i?CIgHd* zGgomEC+z)DhZ4e5X}BULd?QTvj3b`GSUOhqsb{{G+Q9&0Lc-0z!mIW#ZhBb!n9K$b z!H)cSIJx6&Y%o8T{U00}m|XiS?$XFriS;Vt^LU$^u^;X$zTEebnBZ`*UR9?Cj4B>* zic6=(WA?7YPLNCGiJR-NJ0UB(RSws-NdXS+EQX3m=z<8UG?<eC?n$|0mw9o0?kIvT zCFFjbX49k&oK{IT(Rl0B^KG|BnOUYkT(&{*<}#yA4#hdt{La)=aZ6K{A<~Tvr&-WS zPbJ%DrVzU5jo1Bkn>xKfZro_J1G}`<>J-jn(N>r>^GX?PDX1shXg$J^@&~8qxYA)( zjwaV-hab}u#Y)b{=Vs?378Q~w<PZ~x_gh|@x)vCr<FjoWl8t=bs@7JK6hFtuA<|^Q zUvLgTFQ+lz3Xa6vATa8Xt^7=mQ53VW@z>INi{>tEf?}K;j;W>PPWk<kB=|y|WGEzy ze0Im<>Zr+V|GV=QrW{kznO7-&Hchr>h_l*|U_Kyn5&x{7bS6X@A=*Y%h2DRkBk$Y( z8mtNT#3mEn9}qK4H_g(*1Z>EKe9R1LYA`9zO1X2~v-35yj+GOnx6K4qe9_C>^pYM> zvS<HoC(!2r*#+oz96;-mGuEP1h4h#GiDk*FN;%Pl>ex~-xHv)l@pyPhY^;;kup>_I zz48a(m>qBTA{-p9nnD#YNt|~67jJ9lcw)ir3FmbdeszwqaBRQSiSv?#J<fwUskB4( zBbbaKvmugfsam8(V*&QR+vYhgx1ExzjsyC<oUvEZqhj=l*<x+25(b+<N_j=Dcm-+= z!}v5RXnEuJXFs@jQYmtg(F>rl<+cxy?B&YusnEA?mxd`B1d`p);f31aln-Q<wy~Un zknWgI1{15eJg6NlC#wm&<D3?n^%rKE@p3iDTMRpK0ohDk!szU(-Q%xnisf`aSSgw2 z+WYTOE5hfQN`(4$4Ex5SQCL}e>rN+^8IG9_{A;1&X%=+Uqz;oakTsQ`uCF|ZEf$|~ z0w`Gt@9XQ&a~s-CY<fi};u%$$7*Cq1x_&gv@cEp7s0jYXx7sqN@!mV(Z~Td<l{$>c z<W|h}>I2z6S4vPsc<FCf-lLZbcv{LVokUy0L;~gYMFFO)z$;!U21w!vffV|aB%J0@ zIliQ6H(sfT7du=Gc**{lsp6zWl(Lqn6Iw`osRLnrt8#%!!+M3JoOnX&ODPr9pQPy$ z*%&cw?Y|eF{JB3d_Ub@rjrwHqoA6off|eBBE159Bn_T^t04sNuvYWV@9cYjXl8O<W zOwZ<>viM@W81m#|a`b>t6pOLd0W3=P*?c16kw;;g)&|A?82eZ2=Y-v>2?8gFeJ&;W zFh9k;onNiycd7&J+Wy=0;mjkT?~LC|0deOqn4sla4%W;lqcxveGP)#u$XQ=_iQvdN z5E>XiNLfcjTn<7a7Cpyt_obV;c?p>ki5$wDH(Y7Q=u~WkG)%^4H#K54LW@?F0TW89 zEZm>kHCndk*xA>pT!#fYdPa)ihOaw!v+M62(P&;Gx=&!<oAnBt<EK$-;T1h)tVy6t ziIck$0MY|AzlbK|*|FZKiZZhreBRpKNl6~p1ok)y?VzANI0ZEBxvl}@6nM&(#}K~$ z8@qfSuSV!NKvsQA)Teks9s5J>=R6qkn%nktAJp>GEoD8tQA|9ggx0~s&b2u2lB$64 zx9_j^35&@g7Oh2nz*3_;jbI&i&KsxEqr>E-RKB+aVCl##jYoHV4R42+tGw*jh$~CE zw4Q2lgQd>WvF!*pd40<({D^ke0Ow$s@mZOq&G5aM2|J2rFT*Cbx81)T4a)RQr1QLp zT)A35FR3LRBCD|YV^Y3np(753#%(bYuLw;^3{-PX<ut<~RTSVkbLLiJ**aFZ+0P~f z;S)*Up%eCf^lh6xkHEWo{uAAM*Z&4E-}zqnaPf=4<C;(V$c<XptzS0Fk<Ot^QHN(1 z<vCsV4D-#umc=GX6;)(tFGrgmuhUGNY=omB)T1~r0yD>RJt;)9HA0xDQGk&^IKN*! zHU~ganfAoSPrDXFG%C4zI;lCytMg~$`|Haem0Du6gOD%bAlwP^Q#=*=u;67<OKZ>x z2none@VK#BsR?WB`VNt8$WY7FnR&Z`2RN-YhMt0;OdX=XI!o?l3(>095k16uIVD0$ zFO_=-+zLn8VlE0)j!Ph>W)Qn>pLR6kcn_X&_M`j`{=__L^%0z0HcO_Upwi*uGrn1; zcj#tiq4XWIU}CsfP2QRadA8O&Tj6)xRRRo_!CtAoBc0H8%TEiHZjez_q-FSH4!fU= z=clu|xNI>#LHbImN-ghxw`P%|v*<AT!jHE2Bx@<HsA-ic8qe~fy(J|DoA3!feCbAY zvD4+8w&1t#_f)&idXAa7j5ePnEL~JR?CPyTJ4}@MJ-Satg5x<1Gh{J~Nsb>1`BgKF z-8JLjrJbA;W_zdAnjAmN4cPkl^@(ywtpe<{^+c>egnH`)H5&R4Kf*4%Z^3gqyh*fg zIy8V<amAAth!qm*F?+FAIJFbofcP|KS3t`l<57Ky6&&9o^KAwc6dr2Ne=u+PetbDj z1vU(sy|2?KK=QM8mIsBY?fxe3CgDloR|DaIk+O}C-G`>p4_?H=uSpI~zdC&-?0ZUl z#W_;$Di?3>_#>G$aKtt@!B+<$mR>N}N@a2@pX4ahkJ?d6yCfrWB<~8w{*p=>^RE?R zEV^r@^aT1^P~!-(K2IK3E$hN|rM&xL$%_d-b&&e%12F$+%_bOF=ig#jtqH1^=aJ*- z1BgevrT!HKe1hnv%gK;DVYO?0oOVQ{LJV}n|Eh<pHe%i=3sW$(k^@7{?@dlu#3paW zY6xM?gn305w27HFeUfEGtTj;SlmjP^=z<W`>%wGO5n#Pq*nqt<mepB1!G{N;o96cO z@KDNw-0eFiX{bpN&HjOKDjv^yy{1M>lxt$bLkV$Z9HoNcZQU^Qh%0w%%_vJ<3)M}f zZ0lD&ha1|qL#*;|t#TIc2`L%39m69{RKY+T(wWw49bF{f8uMi;E39IKR;@8Cy|Lpp z^8n|BshZ?{fc97pe8!55adW<q$4zd41AH6SQYd2xO?BX38+Jn!yJA-ADdeKk4ZrFg z!$HVlQ^!TOD3O}RU<rFSzgk3o)Z(wYS8}`lhDx!mxnJJ^UI79%Az5Y=ftea{9Vf@V z(ZxQ|<PPx3F`_IOKg<oYTB-@80}2$HL37=nddp9o(y&SQlvy@t7by{HpdGE6V!QWb za^qhs+VKRG&NYU8+4tr<NY=XMdXM9!*9TdvMq@TBhR`Go)pWndwrf#tyM}kRB|0Mp zyKGkI;z6em>koEjMyU&S$Nj8d7@^z43*k$A2;%1vvje{*P4Uv-OxrbyC>seWzJcsj z_h2+pX45Qbyrl0_mu7e<x(JE|d`{Ai-4ETgniPIZqKs@U`i6hV;lo}au-GravWemB z0DcX}MHh+NEO2tHRAy(i^tV{m(W+_}QW_l%WBeTosPzeT<m;QX+DbSUzbH=-Xki5F zqCpyl_ZPmAdt!pUJ0qSv9FDy4Czu~vd4@WwF5mOc#`Xih1nx@hTgDg=%4wQiXICn~ z$fipjv4KfVMnV|3iL6Cwc>=@U?6tq0K-mY`b`p2X`=b3ge_I1-w8wen=4bo`x_!UF zkhF`nTT-CR&(>!i96u{Xw(~a9&6X4$z2g18_aA?edgSB9ZH$j)!Y(Uv&6a7-fT%pW zqnXV4D9%dc8g(VhQ6vEvuX}TC9^hv7l|-;`$4%NzQtx{4?vKX9PGZ1bd3YuPvHc^c zp;ec!6t?*x_aPzI6&TV#YXF9lrDZ!!H$C1l#`sp#w9H=>LiEYj7(36Sg|_VARgP4_ zU^<GE1}4X_uZEqv`=c*{r~aXEPxi6zeXk&~E7i^pusZ_ty7_Rb>XN!s#k*Qt$ypen zgDb^AFWXufqSQ7yUOaR({GuevYo8k?`g8Jo7~cHNf-|PBb@B?&YU&;D*H!Z@6)bz= zoE9fbG`VSoWnBA+c-jG&G}3r<&;MH=hQogjW<6D4=g~)s>Rr7bPVSJlM@-inE6eDe z-<{K5&0t<_ZL7DY(z%eYx;28T3)lY6>D@#djmj!<sKuIz>ukyt2rORDN`FrC?qx52 z&_F1nc5Y1veNJV&!{0F}%sb6F&F)?sfph_Fi59!g0*N~W87z_C+<G@y1y|D*q)6^} zt3vYZto$kCjwJ%7kVGtnn5I@J0KL&r?SV<PUHiH0Kr7bb`FnW?9d7#CL6@z9aZ0mk z_$&5yO4?1a$C%JzzuO6Mzchx|<4`5L1Z?ol-}n6Etcb@Z_Cd%_w;g%O#RIv+?pOWc z#)}jW<S_uo=1jjHIK})hv$Tc3VEe6n3o<0!t?$eWL0gG@(zemGr$@H`eKEIvPHg8{ zqV2U{3}&Or&?=0SkB!F7X;*unS`qRryuKx3SYlrG&tWt`kJGA+0RY$Octok|hykU# zX~b=N!kGU(Ca6>ES=0EI7<d@kEkdt+GM(6VoiG_WqwQLS)eE1B6DeLAZ4zu-WFyVf z)Rd;morBisIG%9z)G565M#i3*du@+)-sU_yhZ&dYfxw{M%61T%IOFITi?(7dEnmTi zC^@I=llRKKNKQ%wizp{e-t<dLarxM<SA1WPT#MNjp$dHOg)(t{{CBj%t^ZaSC@m(6 z_#E*ie{4m3-SWQJ=zZ&ylfuyw7!I2{Eyq#fM8iPkV<i`a@}!2`$j1wfxA+Z&uwlqb zR4dRyTs$p1SK(w%AE83TT|z>^BLvXcp<fRl@rfHdA6CwTllR$dC5Cm;UEvmw{Lg#_ z#~RGZfpV9v3H7Om22w5ey3y5*f0{+n*LCkJ4S7TtSdH`}=Xt?juenpcTo{cRzwIae zX}$T2O(OPxMdI(O;pmc&L9gDYJfJe-<d-$<EKK_HZ-Ys};LCr*iLQlv$_F!lC){K1 zZCKpVzH7vFF=eb^d}0TEs5<FV<)t~=%I*oliS{uW!E87(Q;ITHS!KJJMCz|NFZKh8 zt%SQ<d((lW@9m_XoP&NyTqz4REYewn+Tvs!>(wx?rnN18$(~FHm~}{IsvA?}amV|$ zYDWr=L3bU{voY^J$29V=M4<0;wPQ?2Q&%5&@`}Xlb^n4vsKhq29dVPCte)uHW)cLx zzz;#T^KcQsM)s<F&oIT}?<u;-`JS=VO+wC<rlQle!^**b%8eS(AfD6aVw}bw^P% zIWq`G9&xq=;5bU9_y)_AlH<v?Zt;h|XMOXJ=c?Fl+b$B8)%#OP$;PkNrZgTFVPYDk zTBwY5OmSm(g0e8S`&B%+@Hu~4;O0kH@TDIW{|0S*8l;OKxp>J2BAU^HAN3g6u389j zf|=YZ$q$!@05JF30O;kVpG)_iGb4Vq#2Le<^K7f`kv7F`qQ<?7Bl1RH0FxpDSF}y? z{}W=Y<}vHC*4%mu&DMI#KC8J67NKKJm&Bp<?F>=SAS<snd1JPnY1;YEoGy1eR8r9( z!OaCb++?8Y0F~-xBCc!dg>bagZ8ayF=1y=5U9Wv<X(6rCn5=d3+66@n6`}8a(D7?{ zq0dFS4o?e4$nMUq!oNKy#le=JZB~~-(+EzMU1C$3l;3_&IE7=g^vbStX%Nae3t_YL zN`JLac8++iA`Xo=e^90v@0eJ<@KTz=HMUiuec9(}G^NCaYWt<f#OEL+7a*S{yYMUH zWCG55Jf+>`vQStl1+#x#K_O4Qfq*prJd@g^vNjqB%qPP|QY21H+4t&Pe^zc1@DOg7 zc<NO?L}V%6#bM;=m2aRmqs825VYWJdmlG?{tLMZV0VQnDU##e(@l*VgOLhV1C=^x1 z2LV(|Q?qVUopEz!diMg&e|mb?yOpJHE9~+WXter98#2IQFN}euH=8*z@ZxL;V_M<Q z25iZ-s01IVxOfk@x-Q;stn^F_IncN43ppcg<sbqQP=`w0;xAd4NYRKjI{vpGPc#DP z<C`R=!W<om=4=a4r%ATCNp92FcR?9r-h5WwM5TT;NDpB}RBM(prOHKRJZw1OhjV=U zRf$?_oZ3>;o5{5eodvw(%>cLK&7kJ)KMbXmjv}D2zSNomWAPJq=PFHRJF%8JnI4}% zC_lThF?y?QSM}Lw9%e1om@Y$CpQMsoN^!L%PKDDYSIli!WtH=uiC}Ddv<r4*jeh19 z*OuWaPr5~yhKfB=lGvEIcxX8WT4@jGT`rO>6(a0J;aLd}ulT+yhnSzS?dghH%Z4Md z%H9t(LXV$r95`=htf~`cThZOXz3iWLJhaB%pA~&tnQ-`7r}x|Y$d+gUN0=7**qp1; ztI_Jy72gG%<!a9q&X78g{&#(acT;_<N7;8~wCa&J{;*wK>8dyWu)P$X=J$8d=S8Q` zCm4J$c^RSa=0_b=Y*vnLNydh=^n@h`NY@?Ja>`1v#DBJF8S2fdG|TvTk&o_7Mjxwy zO?VSS!A;Rtyu(I&CB3Rg!`d{;wzdn3eaAZcQW;7H+A%aKRpy@iLf0?KgpbLYar`w_ z$G#n_RkM}3=a9244x#4OPmNEBfAU?Cd{W#tkR6qct1O1)S9p=DM-spp1MYoabw>C4 ze?^c7vV9P5pDX|rSyqQ+9>(&MY~+s5f|ZeTq`hg=fpwyp7=Hg(BwM&HP8m;4;*mdA znT-yM&tTBg)~VhH)!}#EW~XTBA6qKzV%tN^`6KLn3U7H_ErI+}^8kFusfI|cq(b&r z&}0Y6_}P46&|lrvt0KwbGmO)|Ya(=3r)H|%muN7x0H=8;JVaxmymIr}{+|sj;x&<O zx$|tuWE-SS9<HPI(HLkx(=;FI;@w;SidSi;isT$aGs>1z(U-!e2Fh!?;;lZ0xK(qk zO>X?j2%#w~*@?d;)0J<3`oQO1-xNxwXWVWxt#%t-G3=^h@khelpjP+dfAv@G1Q;06 zW${aN@WN2ZqMVf{B0<R=EhOik#q}wH6FTj^-}O1e6Cd)d$>iDYd0$*cA-2qj_61Z* z9MJHu1zMF<PUQO?sJ(Bb$HDsx?;|mX+@hhhEQrM$y@2D-X|Y#)PzJpWLh<}NHK8$u zXz_(Y;J@J$ZWg`a6UxTqvyWD^H}0{X$~V`wnNo~lA#hL=3&shUW+Du6J)j9nRGdAU z397?xn?`VjfdVn$&2k!A{KJkURG$U=6UTJi5E}K@bQH+mouEO?ERpPv>H-7L(mSMa zV~ecJe0tABHJ8a9;=LQZ)d>YDoJ@X7>4WiC7-#VrLUQ9x=&s8BipJM!S2uUrCE`@B zUcz2~+}q}6x?-N0DbsNGdl3DI4r9Y_`cZj9QR$(K&sCYV<kf_#!}akwtPON5&131Y zM`B#94$O}SungGjJW-}U_^Q2z;sy@>W!C$J(Q;=6mUZ<DeLvyNpWp#{Mz~eUR5hOT z9{%`sMl50jt{UO=Tjn#jr+#_gX+7a=gJIS!9Iiz!x=rqtU)3U{UU%D;SKDr9pg@Zp z=RN<)hz9ms|LK5}c-6ZlH_v#B(Bc;%8F@0B=-dB;M$RGyt#KGXV)07@onc>eC>}g( zMt{{Ol6<z^Du7}v#RyluF?HE!?oN@q*jx`$<#U10Dg0MDcz-r?(?f+D@i{FkHmb^? z)z{_a(kW{NEVX8fkBFKFyuD|eN2<xH14>l$xjM=8$ZOdBTzoYRq|X%q<pXz7s^Q5V z)0gV=z_Y;`tg!A4A9xBkywJ@c4KbeSJ5IW+2U6E?0lZ;A*m~o4G3OhVa(v^OB<_tr zVjg+p|EMd+>-(g79WXgGLp;js!I4LWKWU2fuf%vK(6SQ!#V@8W-?-)@yMQsCiK|yJ zt6BhUgoM6tcS!q^KQWYPCt{-vx2GrFv{uBo3<Tv;1oOANxRB?=J(am0-`~ZaRAqiR zj@F<1I~c(6SE?d<ktfEV+|H*J3PgH?P}BBOhrqZSI*WPk9eOwN5)SBg3)lB+MtZE0 zJt*2_uC8D^xH{uQ6{>sb2^5s6$#@SqtSkq8bj7V3JkhI@vTR~78F<j{9ux?xshkx~ zHG{h6QNi9a(i+8<to1Ql)jni=GP}=<-v4K;8Nv6nFWP2R3W7&y&NGL*@5sdMwVVOD zvMFL2>gg#zy85t|s4W2c&wkyZY~#2^AfO=Z3iLK&%L2fb4h7YN^EMLGi;0Aa;R!B$ zt(mJjgV8a;>%YG}6yyxI&e=(@P}zCYnb|D-Y<PxIKXUb}Vz`|TJK<mxmQNZEo#mph z(M>^ubc3yekwstpo$+3p$`|-fvyw9M@5UDluzOEwXRSrO-TXIQ2{``4!XTWJ)hfr! zZv^^kL)?xeO~p7jf5OD33dNY}X71ej)+9i9*vWK?eIVJ~kQ}o~T@IEof^JbhA#Lk^ zGbtG>(viOyT}UoSNs~Nh)|vdV#ov3u^hgVq;R24n^!6Op3TRCmkM8|d@B%fh3C;iZ zMJwvHS5E#?QGkVUO$aTY+<9R<Nl_tz_WAWRiCf_EadJ*-QvZdOC5dX@{*?rKzY(<S zL~y$hmT%#J@B_4HQ-?EIvj`C+yf2OQA)&Jd`K(s63-Vc-_7uFKz2FUp%LMPs7uq$q z9Fg(UJaoqcKIo77g!E3P<38Klc}P$CbMPhLFINvUW9t|>AIXOr<$@Yg5s!p#VmDWW z>T6jZ!~zxiL~9+=dj`@5+!(LVTR2}Z)70*)&(V<{rSR`+{3S4NiOhIr%RDq7X7W(> zK9WN33Fz&2bMIJTl*0^VFM0Q#Xp+XM-~MSw{5;|ha-__l<j5U=(F4`VO&12H#B_h) zrACu?H(FCgn{_D77m(Ka`nw&nrJqY01moT))FK@q2-`WrO06%}K5aUBKJq!9X_nqO znZCF(Y!fRad)E1PwZyYu4BHsPZa$d&F_-UtqlH(}^c}xmT9#u_%ijn~Fze$H(N2wQ zV?xOb4XaTD#Zzg<@14=CF>GY9j)>c@j-3kHqq>YF&T*5@**d1J;E|RNc@B_;4c?-8 z%F1a|5=;A}6_m){g4gqj5;RQN9>sGzb3kVp)qQU$FAXWa5p=ET&W@oN&EeprK51_& z;#=~(5?$*dih~*?2<%N=j;86;lhiEqnAK$E7m?B%|GihJTMAJnhv}-TvpgI`WVehV zzO>Tg%L}QK6{6BQIZU2E>b(?+DI4B0xY||7lE1)p&hFBULl!pVUqtJYg@VlQW~(Wz zcFk5DjnMFhAA_RE_dfLbd0shOVh4JDWTnnhZ+`DZX~~73mUv$38C<ZdXKp<D_AQZb zEvinuz3bh|gC&`x7y!S*Sg>9Z;Yedy5L_$h<mELVbMx}}ez;`E`&g{WNsblRc6_8! zgN?Nz-Ox%8hR;G`A$no{4xQwe_`Pr)!fNsNYhwrGwBT)uMU6nK!k9cQB28^|48+pg zgpFzVf7!(^LRUb>vN;DBt?VFxynMg&vz2o7wlhwpL3=`5#KUlg!053oE~VGZ8p!>0 z)+4RD%ZMoo_mN`s*3wm9S`oKAMjt8t!rQgcVE-1r2|HLeoDH(#57N?P;@9^5M$ZaK zw2f!(jY?Ko)*uH5KA8pKP*j(RmRc#QWqD>=pz|^`<%k?_+8w<@NMZNwS-5Y!+xX_m z`(74e@nXs;ahKBqVO*_7s>;XWm6oTBBuajCtl{WlUjWQrvT2yI>e+%UQ{~fGjGcqj z*iey<RZxU&(oi|ZK%6H|0qyq4>nIpA$#q{#yM^@&EUm}v?j%kW!+pokHOG&8Pi6y+ z$Z*}8VaX(t)`Tx_Ly1Ge-1pz8p{%CX&NxBn{`0x@IKA1{A(CgKIjkK_3Q1eivhyE> zKyy__GDA4L8A=x}(floOs-!Pz<4_YmOOjLdgsFbh$Ak^VUfb-S#n7h+_q||7kpQ0i zU^3mJ%YFZk@MwgGi>o-%t|EPoH_i$C*jcgI4Zk|<`np&M1UTF$>otvd*M`l{_;o|y zShL|Dm!8lIjl&qTfl^ILYJFk7?-MXNhDf9vf8K|Wk=xKrZI4}=#InY?q(DI3UYN~! zTYV<eLUrAnB}k7!Z^%r1o4Tr%rl#u~f>M%7zl~QIj93Xg6wnIpdp;4FGc{*cXu4m0 z4>pNbEw)qIp=88g_hlbV=Ni7vV)b#-z+=hj<h0_BP%E{)(UO4|SU&OG>#v$`nP48M z`lVpWwjImsfaqm?#nDQl+;n;1)W^R`o;@RIm@L#(tYg%<D&Eb}CQS{CcXmE33U|J> z${0+O)l+44at3Ab_3}<eGkYh3z%3l)=>`YLX-5oi+ly@9q2oep2or!88e$=$DPaWO ztHl-Akv2VR1>#iHs&iRG3zWs0e@y1Wm);tf2`L18%F=owM3gmOkmYxi+vc~p4|VL* zz0sSAYNjh(Nz}k8Ci*?|4$c$o1Q+KCtR!!+n#5(NkHQtL3)IR+*#QfqB$h^4LzLuC zhm3U4?EH$t=2+S^i%f2^ImMfltBK#>foc(b-z6`7#pF8Ej*$Ys<R(;t373eA?RLBJ z{IaiV5!Zgs%M5(y^1Ei@^Q2}fX|zOU<~)75WBkbwmUsNT_4^y{OKYdk{nn$_Ut|fT zVym5e@s2zXXsID!@FE=6)x6|$UW38q#10JfQ>DpCMtda>eAe02#|VIo3_ISDC+je~ zatYiN3fdi>yR#Zxgm8QMhmtgUOdvg(0<BnJ;YY2);U5cYOsBk$1K(xV@&_y$jpdBT z*VHJNL*=yhd?2l<_NHcLr%;gNF--nW+qN8NN1P1)c$C}YV&qh}hiq?!`$?d>{y%Fg z2Y%P+TyU6kA@6?AW}T2HmK)@u!?@O@**upXBIMDIyPuwd)?-QophB$pyhNo%<=Lh* zQmIRv|Gyb#P%U`;NkL)-!XGktuRq?`4@|3Ul6G6`!lzI<Eq>-pUP`RO-}5SK83*H; zfY|v}JLqruHBl~A;rIeQ2A#`c*QtQL&If3C9o5O^in^4#tFtfvHp`QnBG@d*n9dyV zK^4K5GEOC%tgh}KD6t?z2o){p4UiI$H%eQT_!ziE>6*NZh6z}lQB5btM36f0cxD`` z2u8m1Un)G*Bnd8H7)>ZyWlw5`7iq3;ys&aAwd1fNv=r9N@Ac6Zdnne1)^Fuk3!<Ir zmyT~IzJ2{4bjw-%y0#oxZG-3NuNN^ExhDIXSC=^z8D?7v14wk|-l4NP5`J;&x<*dx zP!-D<X0+<$e7YD!f>sZOIa-cwJbJ6&&UQMR`9V7gF`nX?v97=Q?@B_vYB{&5T`0V* zoUkyQ+7G*s^?QhJhs$)ztG;DjS|!kBx6!1hV^v;EJ`hqS%m`lX_@|l1jzv;=Ner^Z zRjcNvTC5k(9dYWTBwy^u_9><*+aViPR!Tr`DZRM=XRGAXmif4>ycbj)0*n1jSZcc+ z;^Q0|506j~(lW@;izW`8?wULGqDp0%hY`HUM7Kz#;`JgR+hC1v%|?yAA3CN+F8Ou} z+Sxdx^U$OGHC-|W9kUV|N^X33Xc0q$0$_I0?>g%YTKQ98-Vx3Gqp@_1EE7gGNG2>% zm&^V}*3kVFV^S?<>}ht_m#X6e&56C$jFz8eWnS_y&(udleqAP|kNxB8REm)Ui>xNB zt5q{#BH&RRLH*bK<~47g5Y<F?^5)(bhWPuK3Q9{2!@49T=tB;KF1M>3ys;5u$8)8E z0=6dGcR@v(J04(1iLhP^(m1h(mE5x;s#4wPko*TrNTL<N{J0O(nW2L;_Rudfaw0CF zrkTveH&;t(1MeSE;u)^@g-Zfx!0Cvq2k2c#-=$c=b2+if79awkn#24>At7eLeuZ~f z?f15xp6F2|oQ$D|f1qpd(V+#|pzQ%In<+2&@LsI+weYW9<MOi-Ijv~Q^72rb^9}is zJ$7Excv+=|)uylL_dYrJ)pQxvluc`W`k=+q3~<T*W;@bGynPYxt4W_UkEXcqZDy#8 z4~HQQ)y#5C;Z1M~p-E)S1oy1E0F8Mw$pCsO7qc^mpG!jM+SHa64Y%{xc#i#9(l#tY zJy|^KKux^|m4B@DTZ4J#oCA`^5;9ofN<&o2L}DC=&`I+bC6m3ZwGQLU4`_%qH3;z1 zZx#!%PNr$k$n}kZxwAfV(mw@*9`YnYh01&ZIJ%`*uc<JPpKr*<A{j-%@RA?V^sDQ# zH{bE=g3qT^m=#k^wU@aj^lR?#`1N7#m8+cBlx{|p``zy`-4su};rVKG)rcj7)|pr3 z2BKnU8*sWRb|2C2h#60hlUzNH@dMO2-%>b>XMKj6-|9kPEslHnCiGJ89pCV8KrG#3 z43udAo{eEzSE?OSAUej$Gx1~QabEJ~2)9H02UjE#5mTPK_G<#mX0i;Tbj@LZYlmN) zsVzptHL+*3aL-_A(zU$tZHJt^qQj(VPGKbpD_p$DqHSkjvuXs783~*?YgqdW7Gq^a zuXg%qC;MCzqp{I7MwD0UE0g{Xm5TJ#<ajFVE)fDDwsb1tj?4<B=QO_B{BHaSzaYqF zI9fP1XDTq-hG~Wb`(N+<uXt7W#nj?5X_i-g+#IU0N{R7X3&6#jZVxH|%ysIqBo<~W z@=A)a^nz%rmdG3KOr7Mn1fh=bny(KY@@JLI;*Bt?lbC9wxLqS?u4y|1mx2DF8tj%| zk+>%2)2r*5rTA2bpR<t3MI1XOoUrwtpMU?wwIs|G*nZW=rIj_A4Hfi23!ClA6R&Um z4cset*o>YeE6w<AJEa%I+fkF{Z#sCGbyQdqyOg;zNtc}d)RoEa3T3sKD*;xV`*Znx zYyp$9n+}S$%B}-&mW-?<;I)-kIo(#X*05_1`{%W#iPtQ)9}~i9GSd|vY1^xM<7(p` zlvbq!1=Ys(yS&P|3j8e7#NzYqzx0Upy_0R{i3b<!P?_SjWGHOB2FOjHH63n(EMK%= zdYRP1{aMn%IXPA@|G{_@>EVfnP7KIql(-dDfYmTIf8iM;wQ-tgpwk|c@{*DiJ%eM9 zDI^f$_8wYX6L3ch60dD{E+6>oQOuQT^nC@kJD!6+<Fk&lQ<&5ztl9fv=OpLNOQB5` zvuJ@ecc<6P1%C-Vkw)v1^3*ZkJ~G8ye!-`G3abf&P`V<x7Bu#2IZdZ}-??-pC46OE z?sy<9!PTVwoF+MM+zC3h@GEl6K}yopeLix>M>>@%Zek`)!OD2b+V^ICE~oh>dR8X= zRr<U+8};}zD~l#H=MhBfDc&;YANV_sQ?&}#k9lsri83{O2;HMtQFjeTJALBj(wRQd zRnC`P<#3G_y}gQySCx!)0=?Dd$;Zt&Y3;(-dBn|r;>I^=$uJog?)|X+mN$My`tAZ_ zTTGD<vyh?)3zPd~co|H*>Hq6iCM1Ld^j>t3H7&>Odnj(c<%fMey~J&^o#G-%eO6~+ z%nD(7y?Wk$lm~O!BuV!~g6FHvzfH~N2%%9LH&O5M{}hT@Wu>B52EbEwI>TZ`_EB@^ zgffSLlP@<6`pG^<O8xKEzgoshywb^6^xft10_|rP;4tCnQp9+sS8|#!j-0^DiA8d| zqL<B$OB~a=B37J#Eo8ata~kbUJEcQijc`L~HUdTezP`@x(tzF`HVBjX7_1Lv^jdR% zz$@P{IMg5ufTUwSE+rjjr0HtovYuJ!@!m69;i*BV8|#)9ntw}NOWJr&;U^|37zd}y zo_eoyqO8L^Gu;T;6mt)Pl4{KW>HTDTmmKrEVx<jwuYFU;kyj#{y)z#vbETJ4PZeL9 z(ODi}Jpyd+PA?1R37{6+T>12CsS7%@1;doYUR&iQSNb>I?N|)JG!(t{9Bvt}_B+zF zCb_nzc5H_iHDqnh{^8a1H%qg5Cr5;N2Gvoh41M!6!LX3S=NPn%wQk)y!j%ioS*J+h zHseGKwY$x}s=sKhK^?KDI^FnG_;oA5YPPrRTTcqwde!mHo8JR2UgfQ8RXnYo>CEi~ zl^da{EURqj6O5jrx{Z6*s_dO}LBh%StXaGg$D2vU+EvIbF>7*Bk`c9^($_7A%P<Ee zbrb3}0IMCY{}M}8<s;<MJiUo5|4dAaa7rOQxFQv!hA?+8r8V)fz6YutiL1DF39j{i zXh^CRn%x|f#n5Z+<^Q0Mw58KDQeu6bXUku)HcC7xq)v01pF=3yIbHJ#k`&JtpH+1+ zjh{XqOW)<47Qg7cM3sIRPCMn&8j@Xd?uc`+xr*)**hG;0T=P~2<VN`|JW+2t2SaQg zcgRL=n5WM36)S_=k%uFIl5;O-1E^B5%Ap`^%<3*^vY~ibdgCRC>&4{AS9EmorcV}# z@*T88Sea&PY_F&zR~nyPJ`5L)chCErh8MGV>hcO~p4~go#|fg_tuV{v^K{er+uzir zw{thzRrgwFpZgOR&)O(Xep%~@7}Swq7M#IYLQ{D2v|6ebe$;k>YJXCTQVdGvjIR4d zx@4>r?6X_x$noU$)xe#tH8PAPsbXj+3w?&IjC({iDpXu^tDsr#3+sITPv4gprJN|} zvrN^G{&q&t0TSG&JIG<7d^$e<$Y}0IHplP%*oucRhxA*%N<loK7~_V2gOS%n76#?H zg(^2jXMc``C~+Qc9pgXnzc4SycAI2+D>=!crtqljI(<R%rFu`$Wm~m2FuDMbiSbT~ zd{4ppstN8!JaZ99Vxi~xosS!6R_}=DO)qruF6wjI3Aglgd>%Bi(M*mR5h;n#aMh0H z<@PG5HPbXV%b)E9d?6ZabR<l3W*DU-&t}xAfD8+mXzVoWmdbg8;vn*ECdC!w*zc#D z*K5$?8M%zKM*C?YhVw==TA?C>TMg&^ja@7>3)D3;O{G3S-My*sCRcZL=aK>ry%S=G zuZ(rKL*+~u7wcd1F^9zY*1?+Bq&;rr{(tvKCqk>vytYV9AXS4EU+3g6Rr~}dKXiPv zerN8uWo~V#D#%h9CM_y8cb^zNwNpZ$JC`f}Cp2+libm3?2<5j@AvmB4K5o{|(j0qp zUc7>SizIg5kl|V6a~i!YY3$`-kYLbH3TQqv*Cs6;*h?*rAc$<$yhv3)h57HC-Zsvw zckWoaP?(u?hly`i>gpk;Z`SEUW-MOuAAN#?@o~A{6e<K2VN3B5Z-V9?MB^{@nQFGl z&MkNEj5(tPdHNG0T0kb49E6%|G0ncV!_~v28RePq-k(2)aV!8-3(+QK10KrE^m|qw z<cr(hdPY~(FR1jYEmhK-PvH9MF&KlNwykwI8e9II^`@^&_w$epeBYhZ_NaJvf%GH+ znIoG)a$&O%s{FYG9`i1}vh%zK_i*u$gSpY6W3rVT=>S34P{NJFP2KRjQoyYfv$PtA zWd8%BBh9P*rnJ7lZhU`SS9g4v>}z^MJ_)CuDRg@9Qyu-!*%#^$T$yfa(LR+VB4CoY zLoqcBM{>p6eBeFZC!ND#;5rrH1WY@>>Q7hL{KtlyPJ#nXXb!&2E789pVQz_prSGHF zY?P}OqZiatpcN1)HpWkOOU}jJA2o4pJr7yJk`?IvFiTh^!o=v~S-O__^_rg+2<4;L z7%U&5h3^M+k~EQsq#Tlb#1!C3TXIk$t9=pw2?DmLFt$dcr?sp?sm@iZ@{6N~heY@) z_hwtN$tGtmz4S43Q5&Y!X0nti?1<3WxsH5W4`$m`$Eb<)8<)xk@gZ5JG+y=g_1<w| zE0)a6YKma~B!c*W?42_j%Kc5$RsYZjEzY`k?dK3)SHqJ`;nM5B;fB7w|IyBmww?0I z<PM?}W~H@3wN=u}Z~F-JPo>X#d6mqeIdiDplLm1DrC3L@OAb~T9-eC(Mw+^JgHI}W zAfcd)vl(u>qIZEXpUXC(W0m>hyij6`Y`jRZ{`uQ%nd0@&tfG6J?Qyz8et0$7Q5@Ai ztt?sU)7eoV<EK3jOT?Y^4rOz@A#LapkbPfa<*2lPfu7bX;-W2geIBFQ7~E}`iDAPi z@b2`_qR*{KgilztGY##u2Xzd&Cny=>Jf*kEmvhpW|2LxOId`pG2->|zh$J~VR`vG2 z{U;n5Nw!tAq6i?~;b51pnAyyUn6<GbPdjN_A(m()Pag;lyuwO~?}AA7MRu|kYM%F} z8Nt-}sBn`MM%g((%8#isZTz1T`W{no3(^vND;ukdlwZ7yJ~O2scYQMqwB3`+_S?#7 z%>;-x@QTOw|AHvTP<7ZjC{Q2L_><b!^v2%@T(ga$vj8ZF1lWqZ_X8V$JC&-YMZJC9 zQ6H6&lf-S|&9kj!yTZJa?D9%i6e%Nyn4PeUwgzIeZgLB^|0Cwf*V;<+_RH%cYbyCc zqxkbhXmm!GJ(LnF^e&uAo1Lb3@WY#$eKB7n=^Q6<aNBw*;Pc)4<(+25U1tkaPbD0L z$Ho78_zn6R7~ieswTt{ozHp~AE@oW^>sw$os+L}Err-5VT!*~Qtir~VQH77lRUF>} zkvKt=0SQKQ`@Yj9$dDn9K<h-cJ{s67dsO3@fLtQmazqRr-Zu)k>^Jv*NaZ#=4#mM) zRwoKsVSq|SN^CS#X`q&^DxyJ323A9{1bGzjqfX)&Te^1M7XFJfrraJv<Ef=Y%{HE6 z=A`z@buJ3~vZYM{8BeouQcuVDNh)9ZUqt937f4l*#wijVx3FBZb!>h`EOGyL>b$`5 z==Oi4-CnQ#LChqtUzQBK<eSG{lpU7|q8unL)-+GrdFGdVNG&aY7XfDcP(_Dey)_l- zw`kfPx+ksKuKik2A<n4tu&OGW)WcLgbdg3|XEj3Whyh02bZK($$23oZG7aTyN}BCj zWdT&ZEvOPPB$~UQtJ8DzZi@6=9mKMg=CW*t@Z5KI!dvx$x#ny}7n*XKTO=ZUm#(<} zFEjMP)5yx({-)5?dopWje42b&Z&Yw^{pelT=P7Qn!kH=bz$;|1SIz|$OLeG+QTTnq zi6$+f5EMOjo%zaM4kPDf|AU|?4HC}e@6}BswGviZO(n-XSj9SKX?YxdQiqd3#PW7V zd^IO4l#`}$uK&1FJ*u`XoEO4Y?Zi4epl!;Us9S+}T`fGkabUl)40G>E&xr#fr6ngn zW#0q^EP^?ArtEm1Ilbkl)6!!;Nb)O-G?=M)FzNSvdz-X5`qLE<d>x~XUuU4KfXmNZ zV*9I41Uhgs!T9g#kt(xBV1@9kT?prUmod(r7*{nrVEJu<RU}iPqLplXl^<%jOQm1* za{r&^*m+xIIG7@dC;?cNAxv_hw%w>&ZRKSEJfC&<jX#l3mGO$&9XeWeUlFw$8P5W~ z34Sq{Vg}Cr<wxN}p%o1}U6XQRB!ymOq^$1a`3dC1A%nGvbWu+=P=0T=iZ}(t@drHK zzkOJ5C&I`_ak)MIq>v)3yL*qoo9ZC9rq@-rar=b)nuCYsiqT_!JkhC@=i@QFP@FeS zD6dq0fPkr0a@Q>@kA+fxPO0|0P6waDZ&Dy|w;s-BL^&n^?31K!dYG?b3v<);=Cx?U zjC(A`?`N!hD0Tjz0Wv#RPTwD2Lq%1#Thh7jBcNQWMO@(RhvHc@t3`L|=pcA~-UUT> zr`qXM{O*ywmMYu7PU}L65feQp!*b^p0E%X)51ze<TQwc2MoF}rs6uqm@e&0<s>#qR z^DooHU7DEd94asUnKDA}yNDDmDXjaZ{`l)1yZ5eB+wb7zGMjyexX*RS^c8XAzYzRB z^nOx%u%X1<x=i~aYlXXympapPDZM5A&X{*S+B5<pAaKgz6F7!h+|~?(TNtzFHQmrW zwfIc5SyBKt+iMO3Vm5eUa;S1yjlm(N%Gg%cWv=w6_$Tp*Ix4vUq9%Xr81Ck$4G*A1 zZT69Own-j5EFRHE7QgdnM5UexaaLB-kGlDyb{9RnHEy5T;;-n=w!vPr(hki}%?RqH z+Iv51;Uy(ATs63(WrNEB`darzziH8HUa*AN${|;qbTl5W|9Oh^5&{(MsPBD@N8j}a zjCuE?NgvdpnwBvFTW66Hw)c<JCojY%OYDARbXN}9Nh$Ezd}<lbnP3bBMm&^|c>RAC z&ikQSyx3jk^I#e`Ut&nu`;ZoCDO+;)^k~&31D6fOQsB=Ms|TM$q2*T?0v}}5lAVq> zOjYZsdaqz<;?sdSes$wwG8bNfPlfosn9DA#HXq+`*0W!U&PH;z69?1y-VkGYGXF2% z?#b-+O?}K<tf(1L=0%?n8QpokRM;DyXURA|olZ54fzs!Zi;MFDZ#i9#uB5L}PpAF6 z@GIt8{5nJVC~l82`H>2DK{DSZGDvpHf=$Tqy4UNf0(b==C@5**TmHy7x;+o`nodvB z6AgsB9+hR0dAs}lVH{S_&Ntv!gvV@1YYu-5w{1Kf8_d;ZpCH;C5NjLIdEHSMr<?0S zBS{H$qpW5~rbe=MbLpS1`6dUmi1)tpDH-a!KWeFG>hJo5iW)?GCJ;Gyjg&s;B?-Ot ziDK;nlS^N8uF(yaeb)?YvgxQqQOt-i;g5inhCiho=iB}Ub1Xh12De6OUpdy_W;5~7 zV?I-`<I)lq0%l(GX5C5)vX<sR#_X-|^0G0JC#=+_TeL(I>QTXi7i`<dqwoGS+SRuG zA!g)UWVs))M4-^Vz<B0P+0hk^y4LM6p+B`J10e7Hkl14fgg-jifN3*UUfJZ!!mA_u zq1fB2GQ?o2N*CGKla(V=K)spINE+8!Y&$RUP-Q3>V)5%nXs1F}turx`;m}ZTAWK!~ zo-nVeuo;)8K$H&1aW(?vt_`8NG%RnB$M<V`YSrJ-vY~7mO|(x(&(gY^5|)6^xum!K z4K)iE+7I4O6lP_f{!=3cH;ef`m*7}?&Rb~D2+i&7Iti_&bp!0_<U(O<e7|!}IXe+- zEPl~A0;^I1o?}YppWiLhb6>C-psdMl4%6hiv*q>|E~Ys%L6uMaOBQWrR&yA?9JJ}E z2L@N2ckvlgo!i|<*lYeRPID@1%jY}I>RC~xt5}3P?K!#L(qmG{TM<z4Uj|%fhf!QJ zqp-=eyZ1Qt6_ul>=iX5?w?6N}%@!OA-WbM8@k;@|=0>rpEPe@slzOkjf&C#j7g#CG zys^dX`d#`;<@{#=wEsFDW5lktooXuaW=7RPZho4efmDnFZ97{zC{gUzzI`QSu<R<t zQ0qyb=UkDfCUAg`@giN1PP$TDA7WFO6et~0ghTQ)a^$?#rOy445b%xo-noE4Nv&HH z%@m%n?1jdUIK@f>#^jF)i)v?vC{wi~gQnc?zJDy~Tyqf%mItiKp?q#?Q>rDREoXE7 zU4C8bZ;i_<ePZ8NWywp%L@krI&ju88IiBK8%j>KDP_w6;TqN-YO?3$&NJ`d<Ejy-b z`)Acjd8$4vX6Cfcm}aq^T6^uAOka92(~ja}SuQ)zq|)`>1mHlB4_Pbt8O@Lr{v+$d z&r6zn{wq94(!AWKiWj+C1>Z*{Xr{<^V#I+Tq=Q<6piYFo_jjD_b@zX^4~=)zcZc$N zwLc`6?D6G|NpvL|&K|_~d<v5$_}X4QK}iQ=lpnvFDQ4CH;~&a{S8u)1?!jjP;rqV8 z{eA0ZFM@j9v%l=4c!bAye81kcgmdCi_*+w%f9=3uQ76#Sb0_<o?b|F2e{UK-r>ach zGBVbUZ#89`wjd(o^{9DvR*+bZb=Ius-5eEun0m{MH`{O1x(QZ2WK>E(6eT(l6l3Y{ zwi5PZ6c5LJ?KY=U#k8w+0l80L{=Mb6rWe{Cl~#_U=XqwbJ+8P^)ZfVyC}WB3_)RU* z0oXFNBf+MTzWoa|cvR|TF5UJU@z!}e4l~-BBZVOeZlQ#dFCe$%psN^*Ut|ehte~3d zNtjEX3^v#N+oiE?e$>5&<5?vu;S`(A1D^>kCdQve;1rK!fp)z+wb2qN;C`%hP@@_3 z2>Z*4=mm)QKjzqh-atEAB?k?z{K-a*XBMwMD-&}YPp8s+CL6#3jnEj<neH8h$++2_ zoT5-NLl1IqGQ0d6I$6(w+-pB)i8qgZ_orb}H*z-r4Ys=bJ<RN_`fvMj&779QB++{q zs_5gIv*h$KRUUTUrYxpJ`TGA|QgzS&sqdcd{3<<W=5bft&)a6LvT@tzJ|5;o?1-0? zC}5d}S|{5R1v4<PX>CG+n7<yehPd`Gh5_8%+dT9$aQwBm8g&5V`ow`X#UOg`S86Xu z&c*haU*4EIep19=03vTe)>li`Cmvd#u2(ho#3C<G73uE!pbqhLxr8sNDpRw2kIwPs zr&y!*@YlCNQXY?$7j{fSbcX^Qf9xlz1w_i^)0DHq+~~5;WfQ8V``5=w23gwA%yVsg zE5&^S_qu-pE~NYz9Jny|s>@WZE*yV_-U;#MDd!Rw&U>2|6<Xdm9>cY1yj%Dbqbt#& zhwgJO9q;dG=h#^D(XgAHQTXHHg~=ZqGCoxVfsZAObJV5<zxD^Anq`;@n3acpv=(4o z<F&g(78HHwc@igj|BKY!p)v?(e%22?}%PH3v*wpuyVUmN4N0rQkk4-x}xRzNBC z72Ie5k#+uJavpX}daKnM3Slv(xBIu}k@dM__DdIk%w2nb?zf8<#pFu+z2-(Hy7qT~ z%=QN~+;x}q`t)9NU>(&V>=f;VIq?gQ)m(K+W!qgsZt(`+pn6e7hW=?i%}FUK5KK1* z`P<EmFB)02(4m$y)#gUkPZ=f@P~|#=5*=iAP7Zm{*d1w)g@tNc6Uvv;6dx38pta0W zy~O)Rw{vZJgttDGK2~(ShR-oDu>5I%dv)Qw8GH4(WbXSuY*iPvV|``KrVt;BVKFp7 zonuhdT{#~+-t4L0d@s+@ucO79hhIN$=aBQS^}g5EbO*y}LT)Kh!R?Ol^9NB`w0B4| zDxW;Jt_MdmKC&e{R=Zua;D<nohke5%gJCu3rdw*QdUa&TG~E|gyIza2+q#w*Hr#MA zdft$9ISb$V3qKbxH$_PnBHq?(=HlAG*PzK@OhK{t&yI+$b$FE#z-#xttvfnih_ZW^ zdedlCVIKppq1YD|^2v2CV<}%SXvJzCkyT4yC)s8Gp1D6CTVjrw8RfMBDfqR;tYo6z zPpYlQyVD^;4<wWzcSg<2B=k2@&%sf5zX$2M`=bmCr<kdp5Y*Z@te$|$O^INPYCbn& z1Z(kqR4_f$4Q7|iXL+pr6+P6aWkn@)gkh!Z%FU#qaZznOmh(k{M13O16W(!`0|GiK z`Xh<X-R5njs@kX)ON%FKp{R?d$Q}d5<Sdkgv+W++!}x=Q2D7~7e^Wco<h1C^cQU-X zKBy2!@X4A;vvrX3LxQfFR68DOe1hM^Z8o4Xy9)?tRsmN2W^KwZedVSmz9-M44+#RY zD$>IFnoVIsFYo+?h=e%9Ct&H`_5UP3u2**A>X6TEMzZ$y#UFe|BIXe-H|nFx`IL{r zI4c&#F$HWP#;|2)@8Q$#uJNe{Rcq6NcRXk5kYwv&KEG%G*7jBk>z!}YIGtYvuDrJx z-r%Oc`o>-at;o#-cl>*p;%z_f3PbIM6tD*4LYC<1QVd`|w62Cvq0)Tav*J=k21bg9 z5wXY4I1b%G^9t!x|8HyhIG<Jn5jiE!Qfj6<q`5;1JG%Z>;ay*o7TbASw&+WUoT-|7 zuESq7y7-p9b2L_Fw^xf<9dRNA^6zi_Y`FbS#`1x?!Nk<Qg>&Gg<zktP99^M2Gssi! zeehWA!XCM?-nBF;!hVS&R&i0AlsgkqQ=FZsJ2j@>OjI>3c^T+Ey{*&DwM%AfS1V$W zUI01mH0gJN%ECA5^JLN>biy!Ya!PfqMPyq}?00`!6cgXTn`WtAad(P@*u>zHB-*B< zN!S~kKH&}gNS+qI`0$I2y<(}Pq@8$=*1sPa2lI9~2p-5|zd~QIx%scLg^a-U<Dy_x zJ1GmpXT@%#^H>6{nPD#!l#XV-k4nq5P`xAfYwwRD_4+zuqR1q%WN!3BW8{A0s=J?J z>FwjZ;z@t<i3759ltMAPrpq^rR_zgR^p_pGq7Y-&7L%zz_tVYYPBMZFcWroTNm^A7 zTQyae)_SIW^FND?-410ds#t5<AM##d`?gi~(V2^|y%RzpRK5UT;&U?ESk!{W25<jE z>I3?H1p=u4V9m|RveIsJTCQ~4XR&XKq9FAmv4`%$(zQourt!8a?h`2=Y8XwGr#@$t zZs&MKO}C98v8>=IADL0>rN&QlJ$ZxPX)b|Vh_4C@WxHCfIN2(rG%aurZEe>@$OjY; zMk%=AB<cg(2eip_b(Y;v0k>z?)wH%%zq+}`L|y7PT2}@=hwW)P+s+)YrQMra&<e<V z_b-<7=6p3M9N!vXqv1rfu3SVXYe7s0i0qQa#cQ>AYqfMfikbKStX?bVJKpp+aEBUv zz=s39z9xj#u99#uldRsLtAp<qW_hl9n91^85XTtVsO4yAaz|d{-Bx@I7jmJz-^j>G zCA3gsUsXn1PitY?2qVI;nzP(OpLXx++OI}eD=p*5XYLQWc|Pn~i!|%D54%_!xwasj z;b$AjpkTXl5YH)J%LB+=ToNr{3$WN9!Eagj$aMg_``van<e2*fx-%<Eg)IG7xF;v& zYK=em<DC~gT5_HHhCgtnAhi#XFy2>pK7w^8aFL)eDx2&+^uZu&$q5aCojzxuBQ}3f zkEI;Q&QSd>1Q!F$j~dElYMdBX3g+&Q(ss{N(`bO~Z_R>qHlt^6<YlLZ6iN{_Cqq{{ zQ`+bif0i)ji%gvlc9=Os<-t*q<O!X2>+cFg&i?SwzLj^H95igm6WjG}H-GQDARcPf zAE$=i^7~-~>uZr^*V*(G97<zXK6qqKoG~&*X6BPl(6aClAI$t9)E-nTtFG|Wsvf<d z`!rz|Hju+F^^MM>>URysG)db~AqjTj-h)&$v8+*@RO@=-%kK?Km~hn+BZNHoum69# z-UV8(>bmbe-_g+<35kaUGKi-E35%COvN2dkC~$a1ejr?fIeExb9~glFVISn;#yD7M z;v}`P0;LWKc5qFcGN4JYlU~QZ#2Dk`wsw<_G{bcQ_H|O#q-om5my|fp{r~>|x%S>i zq+>9|clKU;t-0o!uQlgfb9o`WoSi&t$tSF9ztTf(0G-<(tyqv5=%5@V1;3Wu%#h21 zhTku=Xf(++l3@jesN;Nfn<^2bQ1&s09KaGf<)SNhb+Y)ICP5^qoek7WpJ7FJ*r~Gc zo@fmVKzMx9b(-CZ>p}AN6rVQ)%yz4p@|X|yILI7KDoA?WH_a3CVg)%&Tw^0F>+1RU zB)7wO@E5^DHuL!+-9zi6ms8x@B}mNm{l*xnz&%|9DY?B>$Klh9eOq2^4#`jf_}Dbk zMb|y+w+~kpZ(7QGx`tIoC4UqwqRr9Gp}n|n!Fy-JZ2VizG1)(s)68h?2jeNa4;y#k zmq5B{sZvIf_bN=Mr<SJ=`SM_gRF`Z;7L3XbsgH5K$r85Ex#qVl3cWTqGs^Jk)TJa% zESNdVp7OyIGsy<M9BsCadh*+RTre4KORwD}XDXI}F7^iHI<D$1*Asn|%?jdxrEHfl zYIH%)k=Xs#(pqhMcI~FFqHQ5YTa4z7H_AI4glI0vv`jQ10p_Mt_+FJ5vhh}X-OLlJ zvj7=pV;O56d{=`=XK%(39gG+CT3IE7q4WwuM0R#Y6l~|PnB7F}M6FPD<f>au3y=W< zi;pYX#?Mg8yoG^^wlThnWg~12ikT)EK-}xS`eQux&ginUEM}MrWHq@ZDA1qDvQ%v+ znr4kTzN61FZw+K?T3W*P&*Lq*pEf?Jqw0!glQLC6U#f0&(ZMC$aoyYlooH&dzTLqa z9<dT3MBMN#^BDR$=C#Z))oC6L*f>%Az^tdFYfHga=>ovYE@1wa5yhBOhb~aJ&zM>l z=S6C^44VnNTlY8*Z~0$(?#o^<nf8XW5IR!WUqH!`Wg*7Ri<3Tj;f<wmXEOv)2GXUr z;8J9DM9v)X#J&aUFx40a->v(5fMW5$oBZA$sJXB8%8Eh<IrOuadZpxQbb7G7do+w4 z@o9#;<bOzr9lHVKtADtu$6Ks^-7v@~$hud|17WO_J9_msosVRZp0ddD>Gy#$i+q;c zY3CKwrzX`-NO@L%I)AUE>0u;K{b1KkP-<?f!o_eK*h*N)S$Aq7+<%ob1ygS@P1$ye zke+D^TkhJ)ldKzEib_r|b>tT1kQoqdFx7qiWjjxf{F7bSy{b48l1+OJyz+jp5Ln;z z83bEL^O}Yw6%QQ&uN2wy0!Irz^<??&x<J71K`{2JV#SgZ4|JpIz$Sx0kx;%xY2zYc znh{MB*<NO+f`Qm|pw9&M#qa5B0?2-clHeP;CG@LoV&)W2V;9a<qb`@sJ~X_efMQ~L z5poEC)rCe<fR2UsZCnG-XEj*lo#7B?^cLrV7vixH{|+)E7XG)kDypez5y@0r9VTm@ z?L*BYCuUp+O4O!X7^(_J=+{`IKu@nY{{$jde=mpt2cw%UBw3M?Efx`*{+&cb#Dhi9 z<i`(P{%+%AAJ~z<jNO9cr&yH!+JwyLW(X^GKeq#~D&l2-f{IT)mfW^Rl4n*cT2NIC z3}j%B)G##(vU#e>(|S>_232m7p&a205Pn73TcNmaDEEq(yauu67%cFykHqN41clSA zeP3*|6Dx$6jKlU6_pYeWShG1!*s&a$kweZ3idJjx?MO3isg1-Ae-?=X6Un^%J{NZ1 z`G7zg{X9bg_j2DLf{#~z0%VC=E;}uQvruaergX7|W(inhu%C3vQ$&*)jcdId$24|k z;;~18O`aFSsj|pk82+*LSiO7iq^Zi0+!qeX_>|uX27kbO;4~=RgVO<1o{PryA{~!m z!nw~9xx87O0Jo?+{tN93!4SUKjqB)D{}rs4feC<YsT{Lg`0^mPyhxvS+#GQ>SMUk9 zxxmuvVD#J@#%#K<_}emKF#OQI5tcT4RaL27_&lMn5kzdlDhA<?Sny{CMCY6&Th=~S z$K65o(@euw!-04Vy>Q<1Bk8A4=yqSMuEdlx>Vi!7=|z|9QD0R^i@CZ&M*<bbr?X*W z!)Hxj!EAbb#`oG}M}HXSyGvJ1JY)v2!>)4`O`g=dts-EW+e#B^w<?BSb(&WoJz#(8 zIeXQYpx3P4_Eoh+f+#GGM6iUHeDfkl?J{nRet>RD&-lz-_7H+D)7DcyX^U1_j(@%c zlZ7bFOSNE3!>|5!Ro17=VTP9F-XR9H%>h&OQ;xDtJ|FMwcD8?4Dvr+~t)|s#$boS) zlWd`JN<R?mAQZ>)pkl_l*%D|Eu_M};gIv5ak~;cpi3mu8Rtd$Itv45iDTR?z(0D9p z5C7dLcJQwguX3uh1sZ+PARe|}fT*-o(S`+*ax@q)76?+E1b#bsb#xH6)&;7iphpwi zcU$A-cwxs^B9bO{rgZ;#Cw82P9~(;2{2d>Lv^HG{r8{{~RDLK<dy$!w56#R2;7+Rd zQccVKNzGXs6VXSROt)tPGu_OCM<K!m=Y-@1r&Q8p{>S1x>V(ubj2`q5bXGAviPssy z0VUlt)C4Lk6YpR}h7dD~zZ#=18zk7uh{Dsc<+>zNspM1RLCL#r!F7WYAh6HyrmD?! z;VnF$D{ZH_CX`ws2|$*BNz7)lQbCy9y_F$?mi1i+>6skq0A1S?a}ZAn?;);TyKWFJ z-dN#4Usb%|k6A}8G%!im>0i0r+507-(kxpWh6bA2q@b`|1B_E54a_)|PY>YBwIA4J zJo7rI(y~~~U+uF?(zrGl20e7BGp{UsZs0ld7>`E%FvB0(r|-1kEcJTwUm~t>GrGIP z1yECyB`prkl3akDCcy=Qrq1kOD5hn}#uj9}seD~%KiiR<w1rmDWmTG{zvxHDK66h1 z%HS~Fqg512PdRSsdxkuvI+Mr(k8_%$*3X0{x#wviUR7gU__Azl*GcitD>krV54x^{ z-t4fi_ViyPD^gW&Y|A6UPCL%3)`hCufiOLO%jFfQn$}L>F;+%*H*471u}Q7U5;kLk zm$@W69aL(4wmA_DC|`UmCdjt=5~}YiCI#EIJL*vGGww=}bTX9bHuU5<9km*ySFH$i zNh9@68ZG!a;9;p-BDf^P;%!Fy==+ZFFFXrA{?(=()qEe{fau6^)+tn6a@=Z#_XFA3 zld%|0DCGiN-5DIdp{KhhrCVSDym%-4!Yx!_uCoVvovI@(K`9i0K+YBt*1G-==qr<t z<3Cj^Y;MTsDe)>&EBO;1?QN1|vz0Na@nvrs+1pdIOPr^%&j0<CK8T`bjcv&dr6eEe zGEe{+ASF>X-}<m;#L%PfNU7XnZ6uW=c3Jo`9`zJjSo#AhvYf$@v(@LqB|5CAe~Yl` znulms(L8@@Qn#b%d`xb|dk;a*yzPXWhl%KK_5qO`VH@CXAm{t;$%-oncuf}M(&=EX z&&qmW?;OOP2d0!o-;A0#h>A=8oYv6gQ8Um>kw(dS)r?$t<?QETJ_N;(8T`;v`t(an zL{8|6CC<Id>Kii-Y@c{aL@<mh%MJ!qMPq$db`-^dC3FPpWbT)hMZiR7KPhBHXVx~3 zr&X$*Z=~#?fSvy}n_LXExBLY!DsD=X0fS)u;Q{lP{KJaH&tjHZdM#6<3?2XHc(*SZ zS#nd_flB3e+XuI1XM)JO-<64Q-d)}5(j2j<QhyA0FzM}{y$Pm`O06g7tZ{{j-zsUl zEz^Zx0>qPkG7Fq_SL?^kCAzg&llW?7GHC2L229tT`Jwf|#JK81@@!uAd?yy%D2Eb! zWF!8}*B2%6#gg^R#>wxRdWrZr2t5yr3k+qGxBf>AXY#8y!f+%t!OGJV=(DA}>;=(< z1D}@kuYIQI!PFeH8X;Q}%NsSrI_~7q!x_^{Fzu#DGZR`2>+T|h<-bqURI{ES*mUVL zULu8I1XUu;v%;b6{cQdR8>3d1+b{snYu?4;4|jLgAAmQyidUBO#)Bj}pLyTB;AE4M z1*vG);hk4xjkqUI-?C$?vvn@olPDe{fWu`nKJa_kfECt*96EpHf&k5Jp%<F<Lbx|f z0avds_+RBK6MhbR23wtPqti_qWN>Ma#AY2`u@nx)NN}im3wZleJ!k=B_};SQVrpJ$ zK(8`S2dPZkYX{wEQ&UxA8<TCb%4es2E7#&^QZmI^eT?^|`;*cN&Fr|1WR6R}#TqMB zRHG=>29Q*f7Al*3zAShnyElJYvB{3^hLg;~02?AgHP1t+v}Idn)7EB>9$3tw;hUAH zXXPJ2Tu$OPwL?Qwgq&-fqM~3Z5<t)@S;xY#-DM64(PpkZGBG~UXG>)FGPfl+b^fbV zzgzdS-bsyjbttbLM}{%&7~b<hkt1A1za<)MB9K~Eyx4S%(lIQ3s=jB!W=`*z(3vZ? zFRQ*SkQzA4mdmNt$RNUah+d$3C1sgpzpNRb`0K3SEHGO*$2T{%CVZjC3X^$)KEzaq zqtrOe(Mq|h*%gB>V*F@9;=8s=>;uq5roi>Q7y*o;BKRQ&*4|v29rIIraF?#`0(HXX zbB_Cp7XOKCnyasIT?|WgWPR-D-vgiHyBFwzW4@YS=%54C`50}{FbAjBNQNif^6w#T zpEpgw%P2L5u4a>Jz>dEv?jNTHnG+#c-9V`k%w3Uq@=>YpMfXIs+w!k6GXPjXfe?2w zgDq6f0YhpB$HYs*W^((mJh%LJFSy=c<aC1Ew!?v8b7pcD=mt<Me03=qaJ!cHRUeXB zFs;ArDlhV9@Mg>>c&XW{%|01M8d14WF|_c$lV_0HbtRnCP-@5MeN-JU{wzfGKp(!y zRmGlP5x?GNJw`DULi{-dMLP*2njm47A&D>=V?`aXK_jDCzfB=>fq@F^d;|Q(FWTYZ zbRMtQjLsJcE2DLg^yU9bUy4@M?Y6oen7*wHclbC$ifo7a)JiK|TPJnlfVzXXfEe<a zFJdHqN)>ZW-zno0G2l~r<d~22JgY1E;?!i>t(2UlI_|vycI_o`%ouyh`bx2`PGJ?{ z262Kk=_L~!Ig(^EgOipNr%}TX^U--vt=H7E$#f)-NJUs66l>n55kQOGVzV;)ZjFr? ztF^<8hB2r6#%SDGt(XLp3hp}DSiA(ZTdlc6?L9T1^_T1lvD@^OXF#n730Th6d_~%Y zOf2Xw$?63fu&W#l|J!j3d8x5J(W;X>@Ag?px2#M(G{X6n7mFAmYY#Lp*sD23ljM+> z)iS3*Ai1)q;gLt}9~0(0UCSXG451BN)Y6mulbO?C*=_XEMWTf-M&9)Ayy3ILIr@AU zHl71J4c0yh(RKS<v$f7$v(l%$KyS`i^Hj+US14Azdd6L%0acy2ojn&fY58ion{C5i zeT@L|!W?C)DO=N&Y4@@7i8`)z(JwFTNn27ohKcA@s)im)cW?F9?;wj_3Qq%4iCr>; zR5ceWo1g^0L|n(jv6EEw19Ccc?=IfzWvPCx+UY-q@F_3K#%cXNz-hC2`?}iJVwvQ; ziJLGCf+M*RWr@4g=|ID%_OHLzop^^Rpm^(YZ9`>hSypsBAb#?#=o=n!dfRp)jNQdz zVBjHvpD^P_&TUN`)a({tNcH`hcc^Wv>ry^*`qj}_3OCz?)^?~M!{vSI6Ix7k1H0q+ zzjrW(ghecXy(5Tijqhw%Jr-eedi5>p3w#@7v*nyLkyb7Oq@ulmW_9qK3%`?2S_J_x zHM-cOT)yNSdefZmaS=CB%<{#*Wuh^rT=3P56Q?xNZo^t_nK+1HS&Ge7^_9(2-YIH_ zs?L7+3xjPr&s6~sz!SzJAEe|8OUwjMJcaj9NV-~1`n;t$f`@Z9s%+uum;|_~%TRQD zP_#KZJ$4R9#8Oki2%F2vn3-vY^%7@lTDnNXbj}KdoV{FF1h4t`u?}{!X1-3qUs^EO zrl_s114VZ4F5w)xCKr#juyW+HEfy{wRxy0NjPX%40j(6pG6(=KS??MeJ`&VhXH6;5 zXrOs|fOdkS4QuCuSitxGA;&KICDuCLX7A0?{ko8W-lnbJ$S24aprV1>J&N2w&{+`! zlY<aYR9+DHK|T^%)M+w#A~fxo?X?XQrO(R>igZ%95veiJph1LfPQ)Z0yOPt|$qz-# z*oTvAlIjf90IbS(uzs)m_^PN1i@GD!6_^na=X}u1?^Nlt|5mC~OLa-e2RYveL%+)A zL^*nSB($wEVYSm-++gTO-~$IV6@s-O@^++J^tz>64_DbU+1+l<lC+kj4|Z&caCMQq zZ9W{eWS7t)#tXGZ+=;kXJR+3-<40e46_iPhbBluCpwGftr!MIFkC7GTf^d{RMjliy z^}_#X)4~z}>MdV)G7HUObsNB(polHhQep*SIcq_^Fr#iS{gzdTe5at)HX(9>g_nL= z>eC)52i{u#RNlAEnoZXgeM58cpa%{5QwJa^z50p*V3EI^EZF(~=n%eI{vKcZbgY-v z0@RA7ZpC3zI=KnrTI|5S<~iy1guO&hE<fwFw$!bVA*nu9<_P?jBTl~(nW-aao*Ud$ zWJ@r4(N}B+_2z*l<i+h{odX}j!XxyF>e3o6%eIZ?RC@%YnC;^+0Coo*z<!Y8cAxOm z+KVd-v)q4(1H(7@ye6^!Mom@W_O=YGsk|y|SP~}%zuX%c{SXgDc~QH?iP{<z3c&J6 z<^qen;<M^qi!TUGQNs{g5dmVOU6Ge8)mW%b{#dmhIQ^-lj%3_qA4$Y|#7tZHSfoHM zPa=&`0dj;D28R5Q`ZZfI|2(yBhiP*aUXl#57gVOJx4<=nZtz;qKcoYd?%C6Al>Ikj z!3bpn+ste*i=!(~FyF#CYTGRI_`NiXazli8)K>~DSH4s5XNKP?{0anTR_@E5!@k@# zYlQ`u97xSLU6;v13})}4jPz_QFRQM4z+>}+O>6q$9ZtTG-1%8;Aw_kgi+8tup)mEv zFLhK=)wCmW<E3Ju?pJ`F&NYRruW4&h!XOiOY;CAN00u@$QcnqO+!oqRc7PvdvsD>> zdh(FX6Vbal2t(xRdkNK;z|T~XsPKuJax0F2Q38h?6E+|`e`I*`bz7y)OdI7)uB;$^ zxA{?v2ru<G$AMziR$(VvW6iPLMoVZ^Ps0MI9p_F%6ExfKZX?8_7#9+HeblZYU59PO z!z<nkk;|3a?O*lhto=?EC=Lm#$E4{F<#ty)MKsI6!N19M+@mywAiT|#s{;8h125(e zLe`Fzo}jD<i)QrpB}Y4#e$o@q!h-dcuj?LEQX@Es7~l#k{XzAp*ZpQDrVrovl}xG% zV(N2U{=o2bYQ>fP^dKq4uOgK&rafYCFVW#!RgQiAoj$@blS2mZ_~UA!QtUxTmRlo? z#!?ktA;onhZ7xuBr$m3DISf;3G+z%yh8mO9s=K2Bx2z_y%~c<wDuyieeIpE%!}js- zH6L@a)Wd&+G3FA<!48VvC`&`HG;2&f{d(#4SGdy4xJLW^(CZ<2V6p{!#ou;#19lT1 zP;tZw&x8K;o-)T%M!p@cI~UqZH!Y9vr0Z5de;?Nu0BZHI4{)e31RBM%k?<OajyB(M zYwSc;oB1U#jm%VA6p2S9JhbUL8Vw{C8!R4J^EXPsq#^Btg_6YAc#*euQE$^6o5Rnz zV3VFy&tV+O1}Azzs^Ki$5-Yydk!me<w-zyc4)!Z#2<7<I_{}UxR?gSG0~q-T8VsrJ zqvfCO3{dZVJ<KvKXIYOHgkj}h<iUZvCXGv$eC0*8r|1JJ7k>CQQ-ONFxjzskslV_D zHa=MzIP-^J&FrSHk?jGdV3Y9|ddp;pca=M-7Ne&l!aRkmI|`bWQ6LGl;SsYJLQyU> zePR-q12*0IMn%RERaod+D3z3e;Bwfa<=N<gR#xPw>@(!emQ(W8#_56klSTr6(ODXE z#Urszd}`mD0<$9{p8h(Mwa}ny49IuoL-DB=VeJQz29-YJC%M*}Y#de4ATRm2cc^h6 zFkJVuLWg&=XDm{q?ARi0E2x4cf`J%Xm90=?<=9xn?8Zx2(yEiF_XLEXv2J6n^hGVu zQJ=r1OJ~to&)b_`O5DBXkcF4U2#kCvV%ETM&6Kc#+_LR2{msCvRNL+8Cw>YU>2SxA z*Fzd+vT9{|^%fc25e!v_Pe*1LuW1}+;c>fj5&`3>)!u|vG`4f{rzLjUq;aI>F&FSt znRCAE&r~3TVykOAuk8|aV-kvyI=V_LqA4L$4nK}DT-61rE`PJpD}di|36Ra)P1W+m z_;k!!zSUJW03P!0MfMowi4tZik)!1}cT-iuaZ@jM1s@G`$$x{uKcU#|g5%r^kX<pf zYI6YI=csFD2mQQt(wiJhPMqu*<G|o+`m>d`??zqTd<f2Z*jG`Q_RjoObdjUC-c~KX zIcM+G)v_CE3RY7Qc#L4FQ%924cjI<Mg7wP4dK1ClaHD6%)xveld33Fk8BPD1vowA0 zH+D(~YZ5~CXyS(R?~?h&AOk579J(;06;5<_`L88qE>&QbF96nH9q@+o{@ew<k;Bzf zAHl-YC@SmZS+?t81<8>=r14U=SY<^)&xJo{z@2(yTfDQ|86uux2xdo2MN293(}5&$ zg~Djd>8C8S{%FGQ&S>X{J%ccO;*>(Anho6K3r}uy5=+5NhaP^hg@d0<gRFk71NT7@ zM31gn_8kFw$=A}a$W@}u%WItWMp>(DjaWAxv2k_y8+*=~rY_RCfSayMgoUfLgeQfm zrDGJ)`Z>XI;_D>na`n7XP|l_793LXLWx;t-NoAwbrv_FSAhIm-7y``gP)2y=3I%w; zXvvZKIEDOqNUS8%M|b+^@3A4MBoF~O@i0PotFpcIzgE4G-=?XToF~PRdQE%wO?2oq z%PqgGZlcvU+H^Som*^%UYO87%G0KjHkyZ->QXGvvwne*TmV~j|z2S=@LVfeFeVLP0 zHDiIg@sZ<rL{9ieWt{2p#*eq&B|;{(+WI(~2cvGNHEgNHEDtsAu=QEllS9$1KFV~_ z?Q{)q5neeE(P_(QgR%XoNe?7D{n(G-Be)ntXytGB;;#%8n?u%SwYR`KTVYG^l^yD` z<?>Z48|i0|yJaS8Tl$uN5!Q0VbqrMsn-T5&vAtFl)^Y^P>uiLV>OsNw8ov%9mV^+& zDybU_LP@&TQNE$VZ%gdByag&_(Kj^4;-9vFNqSg`52(wm_LQk5T=6)b{!-Wh5!tZt z2!}B`Z;meI2E6Q$Km|8I=zppd#~=MzhDgb|!7X8wtsNulpmcZvtU4AY^#|Qn6`8#b z_Nv32S8y%Wxtv$<t%yxr3K{48VeVv+BVT<Pi?TF2P2Hi9G+ti_VaPZ3aikIn60am& z0K{nQ#f}$!+$?YG1JC8D;UzE(XaZ{#tx(Qr;!XGVAY@8Kx?ZrJxT5N_q_!b<L<$Ow zfFM+tuSWRMNR68GD~E_V%B6+=zQ}OPPu0d!{cU@X5H6)3{Wz^JQE?_<ZGLQ)U}#E9 zXB{FDXa?W}74*N*rEejlK)pV<<ayLSr(!-wOnX*y0(=Xfb+UT&@<0H9f_MYKU3M=n z_Yg;tlTVUL!)9jL0~X_>|G?3<U8j3zfJlv;>~b(Y6(Ee|I7a$GfZ1fka9Nsa@?qc3 z3JrmhrQkCyl%HL9gFaWWOv4Y}j{6;dq)CVbSccv;kjz8-v0R=?p=%3*vQTN8>Qex7 zUWmp0nh3g>s_@R!_?WCRs&)z3T5!em{4v#yQcdCTi36x1`eJh^47s+T&-Y{z!$8fJ zG5X@dah!D~7291wGlnrp+n{JIoEI9VYb&)ykBGx0tTPEcZvMc=crI=!qU+{Y8Z3)% zTia5IG0wdJhBNoT-3p!heGp5BG-?@b5)J$n!0+=RoRR=pZqI*A6AQIueO>fX1gwii zdmN-DElldZn_$(oaxf;)Wt2nvNBzgBUNBmP6b+<;cznzlR@0fKt~A4EBNEZxmG`x$ zGqm9(jF3u7cVJbQ7ln?TB@oVu&0xsB(I~gJ0bK>YMm%QC)xOOk=J!p%8{BC4jk&%n z$JN_rz;Ot~Z{1`+z6H#;eVKkfZqhUAvib9F3q=U3JmpH&nZeUTE<KdD!%(;Lt+bSD zf<;{TC1`TMA|@DQe`H4O7Y0yAjcK`bdo<08#H<j8JkwE!yef9uDcXV9jDxfw<*Pl5 zK_eyR4~Ztn!RV-{q<kC|n{Bw+^2q53OImWHb8ndHo9ZW-KUJ5Bg_TdqckZmw0Rc7$ zz+IkjYmedd;fD)W37M@nzHs#Q+Fc0FdTJAS;lD-Q_zD4Io&~`-XMd%RH-eqW6E#cK z4Eg!&@|bakQd=)IOs1*pUZ~_e2r-7nT7Fen(x07)y=HR^7T!BjDe1~i?36!s7LkVk zRj-y1MK8>MI|Wne=vMIUivopj^YHt@1%%y%FW;B|!>!gt54b~9Mof?>>Un7pSeeQL z&y_#ALy>;6!8H$QJl76gdH+p@;pueAZ(jMC9epM6_<jsOsahjlxxd?-6R!4p@{-pi zhq;@nDQ)nxW$!ob>U~a1vi2$HqYV|_p02K!|GqGO{d19hJOgVxgaH=9St}$c?E3Z4 z!7v}ES1`!i&5`pscw!06%U)Dpb1{@>+Q6C%(UVc!1!hHN%C_$9>(LQs{Wt<(d$*Pw z9*JFM17wa5Vj|fzXrfC`O+8hU$IXmEZx=z|mI}XK*c*bYeu44c@Ndv08U;SEyXMH3 zv+(-!%chA%Cjp`ZnvaFMQq9TBVw>W%P9!_12(QmtI(FF`zH_xNzI!C^oE))t>Hm=D z;Xh;Yw1QO71C5!@L4V;^Z@biXwCG34u3wEA#M-F9DtUE->=cqyc)*Hkk$vH?Vxbm| zN?D!L=n7XYri_^co5UpRP8p1et!lo=#hJ3rb39n&(Lnde=A?~nTOn&gAMS9y9kHDH zd(GZS6LE!&!KX2oV71CnyMqH}nlYmmD*44O_N^-|Z<dX1a8_L|Mwxn0j`~n-hY8gK zu!z>NI|hmX5U$auW1j5Py!m+P^qs!XRZFG?{h=Lr{!cyE7Nn|=QcGyjH#pQqm3V!& z!&?jQ)=P6bx*cWgYBFzsZEnn*P}S+t#O;sYVxuQVjG?W*2)Uqg99`JEz`TF^6PdPv zTyec|b=Op9SlCX`o<^r?ztk6NZ~?UOFN)CxTr$hVDmVTj^t<aL5@9OA1yb6mVdh8G z`ZT9h+!1TqjADEjF`MwW`RrttA>x)Ki)NpB4+RhFtQ^}Qq3_ne*89sRJC=3P_dYE# z*Q+@%2U8F7LQS9O|LY&Ek{neJv8h{pvnL)sZ-4S&3z7@T7<1rY@BC`*u0?g2d)ut= zkGh`Wn5Ti#zzNNq`Z1u@>GX_GLX?Tf6cgWR^A1Mp=XS+zyCaA<td%2EpKqMj5V<Z} z$Np@Kl5D)_D-l+v$Fh6X`mZ}VTS}N$C%p#>U}qUh;16hDu>w}48H@U5*3Z^|WHnNe z4vR#VtW`W*Vux6#+?W5Q=wme2;OG5vwSrD39@}L{ChOS?&?Vm%Oy?dS8q|y;K0J}n zbN~X$tN*G=7Jw8bEcyx(+oY3vgDGLbDaW=BUi)gEmXb{R8-siGYi;+78`T}g%{hOF zxb;1*8yvG96wej9_-p`NxNRPUWy!ti<3vbwGAN5#i1Lig1D(^LcE~Pweat~&WzAY! z7WSD*=3G<b#c6@49Bqq7<=C&p-2m2-ysoi;UW3&E+B!Rd9oCFwNhAH$mQ_)AKIc%0 z>|U@?q8=GJ8bh)c%IY)9M@y*ctNQo#XWTiWEc$3aZ6wtyhzd&Td}X?mG@E{l9=`qz zAI*`7Rl+NzADgZGQu}HLpl`^kQ_B8d+9k17Kq<j-WmLVjFZAm);8;>*+Q?Z+F3hTT z-nNJ-z#l=$*zW$Hh|eZf0RI}W%yna}B&kpO+eXH$-u#G@6?L#uh(t&;)k}UNk;~lp zjaF2_1kiB+QmC96R#*r7JLWSE;=eO>;%H~_YF{gf%(npAI?#y3JM`qOsw);=&>uVD z@MQQMwm$v|oKI)`omJjpWya~V1$$j6r>r-6Hl<l*a50YtUk7<uG(h|V=!_3iI30vZ zO&<FiE2%->-SRJ4mXo%ad|bqEqYlF|iZ&8@zjCkjr7^B-9`HlKHY@iSW<!^bx>Au$ z3z5<Zq97!Y7#ia6!9x+F7AIjWBM~smF4E$6g3Zkqo@Gr2-qKd`wYV?#Yz{Yff^os` z=zDPmh*2RZuY~E{ww6-QES{l>ZiVz4A0Lw*yM1hOJ3z-~gI8{=X#J{7)moQ@w|L5g zYky-$=gfC}4c9z0ZT3DcZW1pE-XBdE%MH0)^=ufbBP#u7ejzLtJB5nFS5}$5`=T)8 zDOlU=IJ!KpCKpe?_rGs%vMc}h4sfH+VeQh8b9N6{Qcqpe>DZt~;3?tIR+cfZN(vyZ zB#8A(e54*UlZiTMEBd3K%7p=D%LgQ!F8LbkP#$O#OgVII^!Vm6hRQae&mwf`!-~xr z6tJc;^1zTR@0XB#J2dWLbv;Eow><O|Mi);@fE{qW8|-qQERfK}`QI@WFoObzFxUlT zP2zFnF(_4@1kjh?%kwAWLIk0wol!676a7o>#<~-`zK2WQ+vKJXD~DtV>!w<DdMggP zh-{s1mO}Hz3X30gXSIb4#?@>bnPiX0<nuriIberVqctyEXV9xn2STfb6?<A#p@jSP z{;{@{;$g2*oJ%*gN!guJ5uNPP`onCgo_yus+Ct~>*u+CgcOrOCxpeQCTmHM=@BZIj z0xjC@*L34%D!n<`XkT(SHHUOlp;X3cP_r>ym+$(}qE{kGZ=cz_gce>-D9Z<GPWrvU zit6>yqbLoxXS7Shv|K40uw$g8x9FQ5jAK=fJ%3rZOlcmMKI5h7rZ9)ZUH8YtM;3k_ zJY<V`8bvxUxKps)`WxjB${kRvuJsL1SKq5SopzkXA>_B2eT8v7bxbstxeZAe70~%W zHG~D;OHLOS1&E@gFA!8jeAa#tLjIwh;Q%wc#pzRMt)su+pSo;X4vtJhD_HIGVajpe zRxQQ0ZF%enfXO#wbQ_e;3NU9rB;?q6656RkRgM)!va8Rw2hrEbHXEy>DubURTii^z z=}PVAb6|r~FFp0g<!JAHWQM`yJ(5JYh+d^E3D5LG#onUH+Dmap#2lXvD?3|ZZj^jb zJ~Xe)FOZhEuIji0!xj4CMqYgLv?kEZC81h%T|IVOBVEZ<vBuZb;pn;HZY5%v5nbG~ zcgu+TYXbSd(YH^`iYn|2Scf;V3y4FAy_cTyar63lvJU}#mL)e^4<yCKkPHmQtbO{z zsLcdwYshNHAW}ba9-0O=a=CA+ms;-NoZa&ou++i`_yljaW2hsS^7lP#?9;Yn&^|_I z-~>@Bh^c24MXMx+)<A(>+ZdhQA~w%eORA2cVarjOWbuqO$pE5)E1oP_3*sX%i$oes zZ}|%uN6F&#B|T8LtbxQ(vRr)HdoCxdMyPQ;$4tsV)2}*5<09o7<&G&?WAANl$T6kO zTBE&wnNWJmpMxzgWy|elK^IhF!oXIg&e#<z>cp{m(9$yIiPd2E!ESTEq7;$n@QCG+ zce8H-4qefz0ZS;)w~~80(L%B6x=8})Y&YcS?$%#{fE3u*zvxabJnIrNv#ZJ%dOB_> zRxy&v3GM+a3sPN-#@YHgXCz5`+V^tXhL5QzLSu`6(IYqM#9Y&S>_2WX+A%anU&J_I zKV*}v`tHW8N`)r_PNyj~FY}>S!Ia-Sd7)!=A)0q8*!ZibLjHZ>@<?hsgg|ocSkOL2 z#LPKW<r*t%Sbtq`JOrQe54u8jG_m)eLMwCl25)=-tl1`U<tUE7dhixR60U0Rmia&u zlP9G^3k#oP*_hDSHuXEQma+JK!e>JxF1*aM4#mr9CaA0mbvM_t3Gzc1zYsrCD35Km z_L3kVjBXEu-4PRa+$vX^UaZ+%(OAKi6VXFAM8D#M<Fq{TI~Zt`$xC&S-W_aF1<Hlj zd2V+t(z~Y+y%&Af(tqQn-n?Z!q4TK+>BEw57OFY*Z*J1l!;Vz{>;D<#DD2af3%6Kr zs)QS^$I*VLg-<<e8b~KNZhT?&N&CFxPB~=r3>r5!J64uT2l)C>iAGmk*KF-K6q&FS ze($$kn{pyv+7MajQIP0D;^-lPW!DR<p@hb_-HHh^`g!lu-t)4pkfT25ki`+pH4|AP z$&Mc_6Fyeoz^p1_VZFUMp3ve46N0tHY!-#vFz3;_&vI_Id0WPJ33_A8oMa}jG|}?2 z!i(4J_D(Fh$R5x)+)h0Rsu8>jYhejp^wr?r-588wGppQ5E0-bT(QYY)ew*6%a0>GT zRUPtja>0jUG<iU}<Wl8SX+6U+N1dSAwwX3>3fO)A7WY&b!KIimZ!F&6Qk`tHo?dkG zAz?T6gg(Bddjx5P@fR~M%m8hRakP9-Gw+Qq+5NV^*L+6%p*5Z6(!XC83G1~||13yU z7SP@J1K}*z#=W=L1;68vdV2bpcA--*F6dkNucL~1m(7jKF0Qzq@f^<|9jABAm=!a4 zL9%>$Q5Y&GXW)0|b<J@v4--;hoZ+UyF$Jm%RRKwSUR`|+IZv62JglI8<^9w87*`{+ zXjYBL`kRru_MDHMK3h_QIpJ)W*tZ*v5<292hf)#^_U)o}mTdOfUB_Ayh&h-o%}Xr8 zX7S(^Uu<-dBtnb7+D=5|GrPht<JtL>`x6ABpnva^(AiU|PANyEW_A1uce+<>52&Mc z#oI!E;_S!8vIdG{Zjwrm;|J@_2Tvq8v^`Jg&9v#bou>*UZS!VuI(<Bkjs41NMqpI% zo6h%jbFBwXle9kDdS@I$<-lxyT)J4fG{P`(0TWaia2~s7*k;ygJR9P<h#W3RC89dE zFwj`7KukZA&P}Lbj{)bEPQAkkXd5T#zw4I<H4lsy1aXe^Rzg*;u0i0yT^4gV#t-IS z%Yrost0qolP_3$uF|5ClrKLcY{-=$sIx2L+&p7TETp=3`UcQg(vBcJsG?jJ{-c-5U zSl`}JP|{&qz*7xnipVPUI)#;7gDkheWa0T%=lt~VaO>uso@OHV#{IV>umGeT@@&YK z(A4@bm68^_s~4B(w>9tEjkJk=4~vUS@$7eLtZly@y<q!o<HrZI<Fm7@06VW{+J<jE z%Z?1>X0r*}WHxYtu9W%F?gWK)(cd|qN|O3JK8&qtjpln@j8{>R2AbI3?u8U?H-rDT zoee6?q)8P`DHQXkg8+5439CS*68*1ge8}f0q6XCRG-Xvf+)L=O6QQRgp9S8WiZ55n zfN=!M#k|k{HSg_Ta~2S2*!VjDsiaUD9zVsGGgTH)P}Pk=U4wRR);R3gT-hkgkuAF6 z)Xw!~6Ty$I1XE*eVOf<cUwh{uo8kx~$f~5By9bbL&t~Gb9fzT{=6_dP8_OVr>S9fM z7DG-mH>vm47xLKq6<?ME2`CdKew;uZOsW-CT8;Vaui2^#p(qzsxz%q6if8VWw$~fE z%pjl7_<fn;L5n;fZ+F_-dF}72z?%rwD^E}%x_pJ5Z{vne7T+8zvQDA_XFw=QG2p#r z!)9HwSRxdP-^$^~D(8oL<V|<myj<~Ft%!+7S2RPALkgO<36qrdjuk}8(A16=Umi`o zZ(KKMGaA%?>{q><wekQhV*%T@E=**D;QYC}zMOZh{DniLEmuvDT>j=DD_VO;IM>u| zd(FaP=?|1jrAbU2%<{r`Ha@O@jv;e#->KvzYT3~8M-jFSBkwRm5%IEAv|kZkmh94` zsY}xA8>HUo%e`#w#coqsLacA?t=;j;$DqVABZYBDMV>JAavo$RB-k=RuB~`)z|zws zaOdQGS2(mShu&8;dtd$&r3s-u41O#*!r5|ZnO05p5oEYrt-x1)PB6&Ht9(j68kX)5 zM?6tmXJGGXC`N`;f_BKnxoy%+7XBJoN4Z`F+kE%`W)-Ae7$Tr>^jUwgnb`8*J&H?z zrZ|+81=x_YSWS8w!}twqK&~?-b2JczvGRU<<0qdtFc9o#LMA=uX3G{hsqQ{e-hg&U zSWobs`ubzzZ;I=9^wgqqm0_B2W%MCTgLB;~$td|w#~S(u-O;Xla1b9B@hX>%pg*Ye z44`w&D%k@mxZ+W^d<YRX+RQZfnY=3f*r?NY+UPbc=>O?Rffu@7@@FalB8)l0pA6lx zrsK+0IsaEdBU4&uEKsH!x(25%8@<B}Q9&72pm*Vv-Gd(1wp}P(ev>PeF7`S4&xy7! z`HA!<v3w%7g&vK@sM0ep&*u3*fOzn?W`RsKFBa=WY?c?({c>4=?U-wq6mo_}!@77U zEk!w#pG(OT`@OAi^jc)Q8xFo;beHL>k2y^^P5BktG)08&_%L?OmDk5*=*U?eK;}kw zBtC=MQjI3;tri1n&0i4+pV8mMMN+opnwhlvhA4TT&5Fyo7EnFYy&MDj7mk_y)uiea z!i^Ni9x_(g(hy*Dnsfvl&2*hJe6Du-_XpWqcz^6#u0#PB|1>fn+odFr9O{a_^IsvV zulkU>zWFl|7}2aCLd+%^wd79i34ip{v^(-yiB_mbWo~R(;E&|CI>*KztJS5Q2A^8T z*?`IIn&YC}RRal(Z^NspTRF7GHJ+Xxa7wrIxp0Fh_7M6<cWC2!Q;{3}vqC@~{&lq& z-7Hocjj^Vd%UD3X5?VU#Ne=){EVoAc1+qkU#I1jW!B&}6ovHRWEp8Pc%U%fd>TTUh z=`&2ZQ+JdVr!kLw_U_S5dbx9*tI3`!87UUH-v{H@U!Z|kEYW<RMI}CI$|w9ne0pBR zd+)lNgWi+!>q^y$zKo(Nfuzh9r=^B;=a|x6zjPDxhjH3Px-{IH$|4(WV=BjriOA9h zG0!IPg2^dG00L&pC;Wn@pbF7?F!t5gKl<rA7wE4wIvV5wX!_J$lj<-_&i4}P`u6}U z;LMdpx81#1-`x46#&PzmRu%f?6g8M%?3>i;#5Ns>x}nE2FBd)P!<{cuFm%xgGE>#% zqO&v;CZ+#LZ>!yk_d-u6`ef1p9^CV%z9M!b!L|e;4p=gu`evrwyg<{ezva=Qd!#|+ zKfXhDM_u=@M~NLEoBW<@o{U)!1Icx(KJNj%6>q$A5d`g`1PdR~8bHpDs;*mU?3kD( zu6exc7CKaB323u&R52p-s$dj}!i&17F4T+`IejvgiY^PGh1K;FszIl@f0j|@$j2@p zy{xzER%%|W)|=#EUd3P#kHXXvi9z*q++V5V_rDsfzyA_@_?G^FMSAybq?jD{SN5pw zq;#4}Dgv%|i6*-lJ7<nNXp*ty6jID}z83%v0!OlFnAohSN&mCQWMdsX5s8TKfkXi{ zXh3wzQVN(8ULOYlKySG&i<2wXk30WXbu=17UkBXiw9lhlA_paPg-&KL^(=B&w+}EZ zP>Wdg(^<Vbs|JR~yXYjUUoJ`-f`93m<#xm@SsyMtV2e+qF$~^}BcBz->o2&?zKYwQ zm=^9&c#+kxACj8H`uRoXz2wi#-E#toyZ?CcBex4`SuK-2qrkd$95acixqB+#30)=D z0ybM>2RNr{zO&dm_MidQJoMRN&ObT#g4hlz@Vn&CB+VwDzdITsB!vY_ho*=KGl)e( zfv0TokAJB4BZem^gzC2Dq?v<2xoK>{Ua!IEKez+IQBoyE$M!A~H(Vs-kJvz6Mz+O? z-v#MU$zq4YkNrpnI-qIj(0=@6Rm~zKug0+xZ7Xe6LTM*YBp%eo#7?^;k2~1(mHi5v zr}3$6dJqr%qO&^1q!Dklt@w{+_16F*{WXY%!@q~Rzx21YViHVxP}g}eGg8iwgz9s8 zwYn75AO+8OCa`AS`b1=?-&za()HuL*!Y}w1V`UD>xa3xX&EJQf$^MnZF?kfNYoKP6 zht^kJYtDswC83t+1D5RYuNwd@&7ynQxvf~Dr8(_M^`yv(3FQ{Vo+wgJ?vu5oew9Ea zxoGkG(q6>++3x~PZ-3uyW|mFga>z%jCah-0l-^}7+amw<LiL(}IR)fXIprI;nY_3} zSosWQCfh_Fi}zT6t>U7hW_{ab_LwFiC9i*!Sfke8U=|9uYqR$;5F(nQL5!1GT>+@S zo+xvh#jyB^2Rm+?owX+yhLiA>dmm22XPcueoQUZhb>fI4mTQO$F7Xg6F9N_M6=qS& zSl{PLb9#*o-tb%MY&i5~|IDz+SlZ=9i0R^IcDd=~E8f1Gaw%VxdSL4Ym_{_5^%L)# zj??q#Cw&<4?dzvIqSCZ!Y#DzrY$#+b{8Hj&w*Q=u<<mmhOppWEjIvlxb0SGS+hI?} zqHi({dwx5d2;(ob8-~~YtgXMeS6#z4ev`AP{i)m`ICOL~i1q?n>SEW+ebD>D9NBMM z+|J$F?`>nHmd_Zz$Q8k!X4#Vxk!abh2drj~TdNQ3ExmH;%~WkG$e-OBAuL-_3|s|f zEMHHdO=|7HpsO;B`PMG~2*t{=(v)?c+tPpXc{^yAd8g42V{==wfbT(&y%OCH_sZ)n zF=~rh8{5`Q5b3kEPfkNJ@q~Hl^2tG(5#63&1=G}Ui+26pL~B363;1H`{<!NA6mb#Z zBk#k+yB;6N30QDOCj@9=2(kjgd=3Vc&wI=Y&8kE3esWc898GQ~)n?rd>hMReW_y|_ z!_@=t>`d?3Xa~pX1;nQoLykA^Ec1pwGJTqiwxv443|SGS-<h^4M2Hsy&zYuE)yk>- zGfsI~N>ND2hwDQlOUlg_m3`Fb<3ht9<?F!OuB_XoFZ&DWBG7WkQoGKz1JT)Ar_y8U zGXFyxIU5(tPuDo|tGW-^oV6Yd-#;1SCEWNwe&n7uf5*JV2+2knzGWmPt{6U}Un zbpyZhQXR)zf}b%Xb}pSYcTyG#gG*2CSGen!!WPi+(8XUQY<cDU(Xa>s9l0V{5GShn zSRtfrXvTRi_@~yyMvl#pUJxSoM@)W>4qAyLAPEdRZUR`-$yO)KB^)x?J8$?cvkl?p zEsk-&G?aTPG^q}B%&GMvaWI;A=hA=J5o-V1<aW`FfU$_F6W(@By#xUzZTSN~$+U8; z^oSn-0E?&V(fK7dP_tB)FXtqWL+ct{XX9+kZ)@MFBilPO(5e(9*2fu(#J+AI&{K!T zJ#YM-Kw(K(>rKyzo2-Am(}-PEu{<y)7mfr<T{z7p^_^wXu<IO6d|<W3+R-O#Z>%Fb z6AM0UX0x{@*R?Q8M7D{hR^};WMvlZ}W)|;Ao1On2<a9Y3TFNBotDZdKo5eik$YdS( zQdjq19$}4?(ja|dn&iE`=)*khS$^aylZGL>>Zs@ix^<6=<7n{I7L<bZfR5Bff}Oo* zfb)4GRRaFA+HD%Gn5edXLwI$<&2+ni@jBk2sJ|f6W$b!7Q;Ud<a$A$cR|WuL^JtSG z_$cD(kW&S;AWve6-a9%&c8OzFcK_7n!m~C8EZj<N>Z5Ud)_!n@0w3yk=?^GDVR@R{ z()dKlfwiHwnYZY79kEGnGlQ3W?#MN9Y_nO;dY3tM=*mLKi!T(uR^JsISQuFY;`wy3 zGo7=8B|H~08ua_o-SPMdT+x`<L_}7nlF|{RScU$@Gpl|jeu-okv=0VCITdhhV{Lkn z9#1@_d44p;d8ULF@AXbA**hC=1rn7(G3!}3VmGb2*3SC!p1H|+E>tH3*qT$4Ka<w= zGN27u4?R_^ihejQXq5)`3eQ+%+LgNIyYP7x$2D%G9n@O7M#Z=F%A4buW=-Z>F{bcG z+ZqV^FE?4kM+OMg*#0Zm?4<tAs^%&Yw@O+sA#HI{M;Q9hqkZuC&iF?m#22iGAnKeC zitXRM1(LA}g0`wur6+vWk9%zf5+Qzqa>4;zn9?vwnCi*SX*n4F+<?pS(k#~fy#%m2 zmYYZ&UH)J0vc+Xf)C4szV<Koq7{#=XAFiSXK@U87YaIylYIhRtb;kx$zK&dVch->j zxL)_44ei-f8kck55uktcdB`g@a59TJv~>1VvoMP1M-xA};&v&Z5Q%z_5kE0Ka+b|# z?1LG;d1;CRDw7F6v}%X9pYLjoX6(l@jj$GYBC_Q~{w>#mrd}Lix(XGOzRF3&XIi#G zD(+)?qh-v-idiv(;GO63YgHN=(!BBrI`GTJHHtuCjw6koeeDa7x1OTGdsT7P9|3q- zO2BDn_u)EbFSYYDH01grs!ye#sl7bU2xF}l-)sQq!%&ma*?s!Zm@aqn?kx_=@d&0$ zsrzEYBw+NHSo)}6)j$fT_A!a_(lf(`C2JhZ>M);`+rzeLQ^P7br~@c%9=q;>_hs&k zY=(pqyd_fpnNevWG7BNbqw2}XdBa4~V{YHm-%4T(yKZ-W>pzld2wl=mh35TLjP00@ z=Da!)f-oS5S0P1@Y#CAZiW%dOEC_~o7M4s8G-JQCVq->*bQ;PVJ<W+k76Hav_npjP ziVBKd(ce9C3E~=<7*Bg(U_}<`Nv~bo5izYMr!4MrhHpGLs&f0+!bDZy1B2F@D;~k` zG36^o=Q2m1=9~M=WGI-Hgn&&CTJnr<HJ#uNU-k?~vmFWFu@GZYmam}kxtFE;>Gk^O zSR%Xq&c&nh{xg+AE9sbvES9}cLTY+<)A%d?c`0X&%JFP{ZT#j?@Y)YhJ0rIUY*$n` z&dN2L4fSPj^X^@YjdMn`QVRJk6gL19XI>tE#IhG~;~eqs-UK-6^8hLbnB4n&QyC2x zekyW}F$3a9vVkLKnj#Y7o&D@CmcQ{<QyEjX@V)%Tfnv}RBt^8ZM+uF_tb78H58$i( z;VoJ_<>oU#7D9V<3lDXxcD?Y6fAMKeTIUum%k1=lrqz&q>)B81<#E3g%ipLfgOi@k zrSXN^yomAbD>_CtBh5w@g)!Ks_GpnB2k{HI=l)M+<psk+xggc#v1$F|A-3IVN1p!n zg(r#bmNhs>=h#no{yV@&YTo^Zq^41#J|#~mVR7T9IA+1v+oc}P|617v`kaC~Hc%}b z9yb@)y&CE*N9ZvNd^N8by&=lZ3I(uYt?KE(T#L1MqIX3`Nv;Ogiv2_Wm(mSLgR|ci z*`c9}uV2ESm04HOv&UJ}4$&>;Gm2L`Y>$xD;mckx#Y}bTq@L0Y^Gr=3O4a^yV+hDy zQErvr)0$XP*_a|tGfx9e)B!~-a#dRsk#}qyKIQ@28U5daWwZU+2CNR#b!Q@E`N}U^ z0Pum#GB#Y=N71jQAS>XK-BojTVr=mvmi!B46=|H4PbNggxpcFe^CFKqs4pF;*5@qI z^8W<dERM&T$>Cp*jRHKXqf&<-pr=46!_;&!+7JkWRTc-#`+^)<5&+liBHld?I*a^G z7qu#STIrv8N;B_8RkcePkJ>nB&vZrT0Tz)iWHU-BTfX*w@Re8HupW0llnV`@<uksn zuLsAGY`-Y!#yfN?o-w*$tfmXUG$$aI{Moby+IbtBf~vLx5ZnQP>qb8nztq3+FVwUT zv3G0g8br=;FMUN|mtYZTLQSG-1i^dtHz~+58c*xrsb{T<4sdH3W0AAsY+puJWf|J5 z9+>`6r8mQ0wP|Q<Pt7*BH2u%4*SF!3$_DXbUbZuq+EQ=o&GEA_&+K@7BG#wUz1@H5 zeF1pYT?-Hf<?t{m^u=O(1}hh;`^6~j_XwrB<HyZ=+@5WbLo$+$xle%x$LtR~STWmu zz;-rut4Ya@B#j49SDV<w)(eH4D$2>g9N!yPS$Bpsg(p+xMR%1<T}G*`urT?mQw4w` z>Y+Z**?=1>&5xqKO#Zt45s*wIp%MOkrI<JMTXc;xJqqP(^j(%iI~WlKf5%q|NKNVf zjSlI^;NwqBNUHXqmXuy|wHyCp#5k+5@?ZDAFHkr<Q-}2%KS;|$UFZE;Gv#I_L6~Dq z)OqK-q0IxnWh6{@2aqd(s(<Uc1Yf>dbY_p!f}<N)QW7Cn^D=sO;!)?sy!D@)$kIla zmf@wBa+f&k)0VvJ@_Ns2n=kJ6a_{vTtmF+w$HFA1_?U)GVgc?o6*#LEJtoq}Ad$)} zqV7Mlm}hC%{#P~YE{F$EEPr_7DLa~VQeEq_4SBCTL7R!SzwLy)NWiQ^*9uj+|HR?c zOZW)@2wF8v^CysHOBzF$oEHI9U#QlW=H`+%i@tK#LZpKZ{P2yBznrQ2u_jKwG*NZN z)qY%i<p1SF#TD-rXE;08p659)a)~o<Q1l_tbI&yE2@S-5946`3F{i_p-)9Yxi$HA` zAvjh%6Tx9#&E8($U9&vGM*Wu6W7H((&g^`(<LG9P`m*AILKa7V7o;qJY;p~C>`%Bj zIcLLIHkrC{-*$tjYme#>36@Zfh!uB%h$Ft{fb3yTGz8Ns<-(E-#TH0QEWsUDyhZ$V z)^B_KvT~OGBDnANXgYeTtOq@Tc(N-IN<B$G!JBy0f3&}G^5a1y=pC4Z<sbkWbp=1m z*`VWk`e8*4PaR#`q^`?FzmO@TxlAEjJ_$z-MUoHf2%pba*?&k@)=3zbukOlmP?sK0 zfyfZ23c?zGECkgNpsAs;E3xQT3zf~gD$r><p8YL*Ge2$o<ItVra)+ajV=_?GivnQb z%c-~oVU5O3c+GAOA*-V#WRI2rEMwh%jrz#70VW{0hTht>?u>rcAF1`m-=>e|do^SB ztLweerq2K$(Hyl@sSrNB@!f%$U!>JmKvoOTUr|w5(Ui~nBhbCi8;lrHdwr_XTV{cm zb+@_0s%hPk^_D*-wcF1Jn@FA-Ri|att-VM}$aLdR!_?P)Dx7GU!ZegukbL|CCa?K+ zW;grSUe=3EV1_>aW1?KOigh=$J`kIhy+NYn5LKj%=W%afL?W*LTxf>wfOtr%3~hE% z%An|9xp`VAXX`e_aR?V^<7owYFMS4k>NB^G?KAu<ISVHWVAcuu%-miX^yJs7cPy~? zuW^3u)c=LBo5EN1n!mEW)BCz}imQxGmRX+`#<e;6b5+05S2`?cc;I#kLycUxWw!1x zmrHJ|v{!?8{Wc>j@dNwZW?Ft92#H|yc>1$DSF9^qHK0h(ykgZ~J_)^HV2XO6ixJAu z9(ru)v>x2^m00L@xi9>?;D@Ut54FyYvpmR|Df{n#pAk#u^2-jA<@bSn`%C}2g`9`1 zBBA3n<;7Gt7bPj_mJgWd20}KvN2qkZTI#+#1+Y|=M%i+%{&RukGUC42f#pG?xF0<x zHy~#+ON?deO}~mQ)W||6Vyp}@BfMK4*&M=-mh`X<xD1Z}0tWN>PbXakPSL3gAl^46 za1*fkC=a657OV=A8K?+iLUT2nrCOlO23O6;2=Qm`%qCm1i`0{MMFHL*yQj3K;esn5 zgRXxq0%(OlET1t6s58FhI#n5}hL^2xtJSpJKXitCtVYYkBT$F-A)=;+L4*fgX?D3l zW+?hPDsM0eRB8OsqA510fa8l%X1guQit95mqv&Dgkd&<1UANbTg$uH)2}`KNG{9wJ zVE0KbqW6k!C303WQbU%RV^*`NryVckLtClU>R#PhmT3=YCBFk0EV9ggMzhum;Nt-0 zUHG{e4R|yO>F<h!metlqV9h3zunQtWe917<->uk1XV*ls!b5r$<YXN|WdNg_S^+vg z)}><&Y1xYXl9&}-2m#?NZ>-WeG=WVII&V?e%W4F<X9q5X7bQl81MjO+a?b&}<O~uj z5b>K{-8I&>kJih`^%UlBZ~|s!oD41}swY-YKmB568G;dT6OWr6S?LY$p4Q(w5+ujN zv`hhBG_>O|JmZY%s%xtQ@MVMQ<k1CoRV+G*OzU1YXPsn)8T^icmj7kOCy!cta$KSd zzXXbP$Xss}CT7rhApB9~vC%bOCV4zk&#SW2BzL%z9=u>!It>#b>BuK{iPOHL1s%Oc zuiiKfpCQ#sF&zI_EC4Do^#mcWD^F5Y$fT}KJcj$O7o-vy-d}W@@2YP{o=KKvs^-E0 z?z~cCDBX&ZS!GXx`&>Y%d!Y@W^afYd9_4cC*KxPv?O&MGN#1)c<aa{=1&ciNz9}Jf z$U$<W9kSys-yLYcEZ!E0UIvEVsYJ!1X1`>`G(Y!hsy0HqwHs~7sEfOk+w+VF999!| z+%{5dN<WOB?o%<XDb7V9>!}~$@>s@_iTZ&Xnh-v$!gJj-tTe6cYSuoysn+{{MXTr& zA+6?<==WS@%t|T6GTEtBS2cJ2V{4}bK`)6FU_4JGM<56N(@>-wbmno*$8Ps75B9Cp zy%4gg3y_-c1fV7GXqZTYBL*j)B7j>VieQm%IM)reIW57xgr1Y^7#qjyIqy)Shk!zC z{hi89ljXB=0*M!_;RfOZzjxl>)QM0pHCXO0-U^V5?+!lY_)pfKfSUS9%n%HYdA>cs zKSG9SK9%9)Rq%mpU16@rHjhuR&PeR5Qr)O)=aNvIz5$U%z(SZ#2X$gC^l4^(EL38_ zI`mC-a_;c&F?q+y<OCJeI>aD<h>u+iyJVRx?6pj&b*D0Vh+%Na4;}^;IdJbwT;lc* ztA>=wC!MrQq$oES0579YXdogcg`ADLq@v$;@YIQGVJQLPKz-RoEQ?yCB9titM5+ob z551LeWjl!~B=XOESHOVo%if0lIeCm*kk`Co$zCVY>Ly3>c$56j)Yj}Yl7H&Y)u>5C z{VD<GItf}5A@tJc5x&Yp*n=^qkraJW(MyGt`A{p52G^U5_IOZq_0Qee*GH5QFMyu6 z{(OAj0-?oTDW(1M(W!5B?(Z?5L{o451HpCFf25mJ-+CMWvj&zWX`$s*rH#McF{2AO zKn;#;maJ3sR8QE)s`pqYxUFt+ck5PavMO8#<na87-<7bd<w;l#*j+O7{jUc7v!;(o zPPLbM^{0C>J$ny2u^l94Te{$6Sj`4ZQHAQswk@Ynp&~309y~1{571!g*$quX@IIF8 zC*EgYIZl!l|6F?mme=(WWNI@x6405by&C{K)<-#ZKITi^@2y43wzJIu@Q?nr%-F$( zkuH$4EA0q<eD-JW8cmz?XrIjFVhhCa8D}&$mxW>Z{OB#Z1_3-jdW(%xpkVz|D%KKf zX5XRZ?^S}~m#hsos`y>c__Yk0QO|NM6y7hfp)+xw_2aijB=thq0m6y7l&FHNE!T57 zhSKcnSQZa$C!P5!UrSoG06RAD_;sAu!E{ULu}#V9P+iLiQ$H<nY`%M3451c-II&1W zXDq~kIvLsFH#T~0U9lRL?6e^EEndMw9U6vIa5Z$L_dz+J9Q(0e+$yxuO`*$U&1hrR zB|aT}q^_~Aj#|CTdwH*b*6hgtq|fDZ#UEl%bg>ZYsR^;(%|K@KK3_S-Q;a0r>6YUN z;bT@YS_RHTrKts&dg+o0qj8`km*R>Q-SW@o#Pxv)N;&`}1;l<6N<ZuW^IS3w^+7eK zmcJ`Lc`t-@_Gfitu0Hfp!$Y?FuhGh^xsx!=x%cIiKcp@TOFbU`e@BZuNy>Czq!_m! z4g1@~?)Y^C>Z1KhU`_`b(3FUnPTGH59TMTR)U}5Oie*?fhLMb?uovVqvyVaxy39$v zejn+<s@e3rcxyXTLo)>F89pcP?4gP+#uKGU5Fb@DyE<$)vVB?mw;@RDW+&j)N)^_f zWVZi>I3TPITcxttIqJ}KTGpRgzAo(Wy7wuWGg&?OCic~4@&YZnSAQ=AroX#cPrX?h zaCEc%K#sGDD4b#Q?kz&W%Dor{@Axq0iEe46BaAZspF@>NUY)ZzT(efK#Fh)2K$j)J zti4-0{Z+igI5B3SdCO(6DT3LPyoJ!Py9wo*S1sjBitD>4ifXkw)klzM+(IKMIop4L zr=RY$LlGz4aNA)M(<SQdMcTT=kv|#q4$Y~?Hzyfe*jk^Qy8F%rN+q|zwdca7p%q3# z*L47;8*%faF_a)M6+{J2nO{Jr^^^L&R?a-3VRRh(G(9!hN<v9Dq{FM(VZ7<%{JZg! zXa~jNB517a==anGMLPPVA58;M4x80tIB!vtW;hzZLJts2SEI*8AZK2#=D8Y=LV#ea zq_74bEz@$HR%IT!5XCCSG^FeYfVM>_RW1H;fN9b9?@o0bAzE@@<|VE+1gzx9%Dv|D z$q#o#P^|97hL2Xgrz3%A^Qkit{s~RvwbAb{54>_^aGJfHleHBericTZ^UzUZmiWC* zls%teFkM+G;7w0H%MuPrEydUprmQ|llYrb)?qc;<)ZJ)Zj%9OFLV*A#PRA~~tF?9a z17lK&o|5+0-0t0K$_S{F>@<-L+Dv2>0$0~x;p&hy<_X0U84(Gs96?9}u|M^oUF#ff zY7R}1r21nTibBnv@Tfw+{23Yq@Yz_`J@d5?WDuw(TmQ+O#O@{P@LWnt_`HmtTVaUv z&6DoJ$gsg!GZ3WOwyU8;0+6J^V9urWfr_X54BBH^I2T0meyc5%xwHR7rIT0&%T?V- z3>=60)tlc%7P;`H?0K~On5lcb7$7b!lnRVy?^$f=%b{iQvS(MRu6j^pNC!Hh1)#v= z&9VsC4fyc5XYGlwbdCTkjIcCQYo<j%@on|6Y@LJ4z>rSn^f(0~6;0Bs>cMH=qc5gr zVU|Tch9V>pNcnr>8E)V3R8wF62s<^+3NYlbfZ`b7h~FFzU>-l?BYD)ZOv2N%kHjdA z6!-T7CiQT4M2bNX#!J>@F#iQB6Pm|flOUgO3AtU)JV-fvbTeeH{p#u~`k(oxi2U_S zv<!<0Bs8CedL@0i9l&IgnKmy%ueEBdSV3l#ds-%f$29$H1hM2;FI`APhO|CWswbwB zC^przXE|QbIIZ<3+FbaujsRzb?BnzWqAgo~yMp!SDy_xh7qo8~c=Qhc&&BJD7#K1; z*cqPEJUm2YeDs;{l3{<SPm7mefP+T^SA8l`cxp9acj5!wtFHCc5R1N|1VKH`x(EPY zaPicxXx46j-f*S}9}JoDKDOCgv`~vOSoGpSLNe-H;?cUNSxbz^RAf4P$4F}-MZ_A8 ztgm~9uycedZ2C+V)l$I|vx?Hx=?y4r+se1{f9L_r+Y)Gmp-{L6_my8Fk}R|{0Oy=5 zx#_{QVYxM$!rUYosHcY;76?B~eDpjUSE{g?Fmj~fJc<|*0%E%YTzWJ0c!N-MfFkt` zqnKh#IMbwqLDr^11wIxEhw2|bX(EkSUpz;=$^n98bJ&WkW*|pSI>ydc<NfcTJJ~Aw zmyF?M#TpW3Am=%U3_1!hooUpm0}M6V&rll&`|_fvni`1l6PSnHA14e#`RYSc8AMnP z+%;uDm{NhD5srOBy0RbgWE#xcdTKFH_41<jDWi$|@5nlA-POiyR1H%)alOt>v{g{3 zoTeq#)sZBknRb@C>CL>+uesbxGc&E<Gx6G~a;M-Ljb#-p?7{YD?cdnR<J|t*AjSb~ z66-55SJ|bV0`u_oBEg6#XUA*Wtd0)mGEf+~k_;Aa<uEgog=#V0A_QO_1e^19AVxj6 zvoaCdpaAfW{N+B6Am<O9&bDE#upxRgH@Om7wjecnj4LqOF`3uq)ZH0LEL>hhM^n6A zxpIGKYZ6%0yK-9XM}h@%I@L0@({ugtCvPkD6%;d7Cmv0%+se6QMw|aN3?!UgbTp)4 zs1*d}r^zTd<j?FeU9d0mIEHJ~_srgkp;Vcvr1Ef>SgvSjAv>NrEzorx2iQD&M^NM> z7MPbL$jnXGmZZb$vOAc1BG6C|lz&s0(>Y{4peLoL=vS*i3L^1wW+D)j2jIz^h+)TT zP13W`%V9`;F0=5JI!TM<4Im;HzR0zgc8*QGIX<p7P`eib+x5sl5eyZ0lmwW&rZu|v zz5t4=0~1mIj(x<a%ozP`%$!HF0Rn7-sQ|5>Qqx*e=mpVh>$Mo8Vl`^ir6a4wno75% z>;A+)-ivJg<+eg{LM1+km4pZiH{lvu@E(N6WpB%wGibCiB>e%8Wl^sDoafCE=Dti) zq5l6x6Ce09>7L1FSmJ7+&Nn>bIJAl*3tGudy_El$7In*}{`lxUQBrL{%Od)#Jw!_G zHF)+|p>=J?`xel(oQh3@nQMkJN9(Mb)E?A(4-zRR|E)e+@;BBh&RExiSPo!bGy=<V zwth9PHRI%#JV!pPdMB&wqc1EnzAOOmw^lhcRwCUJ#Y>__M#HRxPqavz&_DZ;+~D`l z$F)fMZ;#XlC8ZqASo%pdL&r)t+~|X9k%V^cnAj}^Y&Cq@6ksuX;AAb2HT~(IY8qTy z1nAV^kd1#^+D<7C7;~yH=2_?;8(vTKajuYs2XMw*GCzhDi}I-{t`im$TeTIJDgTY3 zT}Pw~y6nA#9A=*e|4&1;;3$~Z6BCmHGwh)%tEGRhm6^I`&|V83N5D(ocg!PdOZy~k z&iB)4)hq=b0=p9r>5PMx_ViDInH3*H&wTI`;LghC_-~>DY^f#p_u(iJD+>Ech8TjS z1$0MVfu}>x<X8Q14tV>Th3sS>cP5G=tH{yCFNoJvxm3_N(=SLE+BSmvosakOGu&83 z&TCKH=o#3d+sBgX$O626SqQ_-1w}fIXQMKts<F@1S6Eo@T|k3ZWkE1U$wXm37G)i@ z?Hqq?=W2^^-h!x;Zkfe|a@~(6?z<=Uzl7}xsr#y9QEK?O$<bvObowXM(+FCAJ=Prt zC?AbE@<8U8gl5xbsIE7D?=Wk<_uJ_R9?kVs-ZW``(e~a!Sk}#UHe6k@G4(jeOm^)% z&J!{fIJcldqJ}|z&y5|RQAq%TYtVWz&Nb#2+uw$J?9&G>p}SOfQ9%=aOUwxC6#H5E zxf2;6xuo58iBe*5y+sKQQg&+pPKf)+m(veDhAe=1bc_mJ2(|-H=h?uU(Mgx)R_W~# zUOA^rTDCKq9JM@jq04XQzFaCcB?Oi5YUZ$Y!%Gz+764Og;x>a%9V&?Mp%Y;x*1dD= zQym;HzVI>i2G_EB-OIRel~N`H;`=B>Q?|Zq@Y`v4q_gvj{zN`1B1YoZitBT<0%DTt z2e?XTV8K>gZ#qIg^CsCvo|CyjHZk0A+E;dK8TMA9kvi1_a5njF7Ok4|tKTHqK@yzx z0fCuhRO01Z@d#RsPhb0t5rivShA&9Zsa8{my)srW);o!tIP1iB%$p(?{%fH^OxcOF zAAfV!4tMKfMo+YQ$eIk3V05=oZABoXWY`J9sR#AB^qcURUB|}kK=9DZ5hs&GP@inU zLAI&_ydMCevoTWu+%;Cj4WRd!PcrFlL?<Qb#H|S?48~}-4jzVTXE@#>WQ{g=EFn#^ zgf`Q>R&THQ_t1~CQ1)5RBw$1YbJ73O`_apmxk>$~r6SAawa;jPA30J2LH42O=}lh& zZW}wzMlvi-B<a;sZ>r|JLr9U0Y*eb)fytoDC>jXDoFO*)rmhjR15N@#g9}39z$+io z>>h2}HF@37?lKBZJdY+G_*nTB^zj#S-Q0hH5WB5A0*u)RNzE6-+GM}<Xz(4aA#lQu z7F^IT9ijW28lRg{x#W5DoVL8se0Fusf@6)AO`NF5d#Cl~8DCF_rAgG4gQ{=&3%ftH z`-m+eAyCeWG8;5NyJQR5m7=%MiE$;x5!$9dv8qUK+a9#p^lGBAJguW`mqwQ}S&@+^ zY7_sbj<i_ss0)A2;18uaF5%0kqNYF9{M`cUyk8TYEZuM8BS$)Xax?RnSq4FS<+-i$ z_^Y5=6kCYOI<^TZfI9Fg!(qT?Kds+&I&=UF%wU^lUYd@&O%k=qX!}R?>DxKJ($ewS zJ3}D4_i?EemL=IoH!<9}TV$Ya;Iv#4+>9h~PX7Umw&^;Fq1Eh)_x@97TjT&kMTB7w zDF&+-^k?#(ZJ%>;t(7YSmZ+PK)x*>!fh=ilu_5Cwy+}}LUHw(;03OiRjurh+r%u&7 z{!|(%)TIB5VKI7-ybb5ulw*}SmfQ1*ps4=nJQ}m*+BCkF1rAlK8@e8>!=dNRau8|5 z+G)D1EYJYnc?BGh8*q2eBtz5tv1yIehhp4lrYQ~ski`TZBPIJ^e}Vf+2oP+}xze}c z$-Rd{uf$<W6bea`Vy&B}b6e8lZMp_tJCO4avE2#z#x<Y<nyIjM%!Y^w9~&$~#n3dA zs@re!AY`enqo^ziGj`@#p41vz^_$_R9_;64bzzh*S?`S9bt{>LeZrWrBbzm-Z8_X* zyUr=469hdKZl9Q$yW9J7)!gO7&ZN2nMPMr?dmhUm?YC^um?SGk1;klH{n8qd3$^tR zbomO5wDPe#7s5X7*Cuq4FZ7Z~C&Bvk5as9J$9&Qh^`jg3ct}xD?b)YGf6CY7gF*x7 z&YtS_yf$u32SKlgbH*cEgmznjpJpz!1x>a>`JWJxq9aUB#{l(gez>OtThf#dyeRQ9 z9N5MFDC$jL$wO{#Tl5W^=%XJSd<r)<X%d_WlBHC;Zdlb+wKA51&BLmfEfnXWp_+ZM z>#JfPpNsau9`hTxp`MOa!PBUZeZn-U7Zw(xM4%Y%2lWa;tmT}*-RyM}jPLxH0~jp_ z)dl<|-Ze6Xfvu<5pJ30ZoeJ8v3gF|lr39OZK#5|YXNiycT-RgKe9U&6v?&KZcEC;1 zXj-;216u3JErRk@iuloOZ*p%l^|byQLZfeL*_k*JLK0czst7I%GJ09x$R4W6_Ur~p zU%$a8Gb6ov;wc`$SFZx}W@Knch5?_O$h~H>50E?|p$cqD<(6Qk!B%a$GJPDDLyFg* zNi^`j#%#FoPy0(gvH{9D>4HH$eC#NR0qsAf*d=4$uy=GTgpz}RF57DrnAE-lIX{+E z;WA;=xDZLW<H~c94Tk`g4cR*%XR+&Q4aVPpATlo!+A<|Aq!KTT>Ar)=VmopqckNfZ zb+^ftTw8?2m0!yKeJfJQ!xMZ>R&mOiO*|Esvx<bO3B@FQ?CQe*0V&L4j+9>!%UGU& zJt!n~gsdut{Zp$t>~b{=qYO=I<o@J`r?qwYn!TBn@aKxCxQJO-XN!5c79L@`OD9aG z6nk9AxadR_5Syw~Nz^=Gtf`JwN3E7d<vAOx$-ELdKp!PJjC?vReZyKu_ZA}gFaA~* zgH4P*4&Ef1mqhgzlA2AetQJRqjGl&er`Zg|M}dP!hg*L}l@?)^me3;rbhH;ZTzpG6 zpU{z^f918%E>NbFDytq9S)gfo27TQJ=?SSgIgV=VPJG7pJ#63Y-rvA(zDdMJ{xw$# zAUQ&&fLqsus8`*Xqkk!(wc@kxnPigpRpgK5lRZB#l)CUwwQQ1W8dflbI1U(riTTK= z(Bp>)GpV5SJSUu<AIv37yc}aBlwpM1C$$H+lS8aoOAgk?H+QTJdC8P$LBcZUGP8rB z8}e76k%z9cBqL#D!)gblc0{ar4asqxq{z_di(c;49lNepMdS2@cR?jGq|!g@9+!`_ z9k7T1VfF?+<$D!Q`#h`T4WRZ=>RE++nrKo}W!>=FdhXa8cf)qdn*jC0(D^ao5>c}7 zEM8R_CWcoos(93dv;IakQ>}Eh2vhDOn7LuCV78vQB<Bl?VFm45+f5d`)KRt&3{(vU zJ7AOH;FZ4J^M~^4>$&Rh@QG~)1!kFHXl(TDmY9tuP>n0r#YHMz-NU13f3=AAd}K{K zD{ma^G5X>jN!`o8={%UxW_!^5g%0b1;H~=N1LG7%^*%e*P{{uZs*I3%RX6oj#dvJZ znLs?#nJ8gjN?%5$+Rp4-;f%7Io%p1<sQRt4OTwo+gExH50S>g<_PqKcZws~5YC_`D z)B&^F?*FOZ-oq}~JCKjGV)m*sD+AAz3(wEn&n}*Dmv_{t`l6zcQrHY5zYo2bbP;#W z{1IkX-w?&wmTuRFLs|Mt$42-HL&QdaGZw7C<}0Q|HZ6$C(AV<Z_9J^y%yM90<^I^y z8dcT*HHxyNjh)3eS7=XTl!a<?>bDqnEn_K^5p?YH4ag5)5cFn82KsN55v;obg16#( z-uB?Ost`ehUdd#)jVP0emP>rHz*3_3?h9qKd`i%Zwz$sZmhVfNm3+}d`E|TNG)OTW zCoe7dV}Aj>oqBhb1({<@;<anDA#?wru*^9F2H2u^pdm0=vwwAI6ouzp(P`DAt5= z_MhY&D~Dl5FAtP*Ck3?&g6TFrn6P~(3<Iw{Y008QE^Roxb}ZA-(E-ytJuTg@Ni5il zI1#0Rh^=1dTw4GN<{9|YibkK&&rcn1`Nuf~%k^hL77JSj1S)iPGmlLP3IDpBd*qLe z&+L^4IWKhx**TkGUZ3L5B~f^fa)So@c-O*EUm8;->~eULX@&n3D>k=vJ)Qajz_nB; z)z#dkKU3h5MLOzp?RG_pzWXpu<d;!rSAd7Dpk#?nn3>z;u0gN-*yFp6GL0{0yCzO1 z*r;j^hS@D|x*eP9$z|`Tv6UW#EhFlW6%apy>vyvn6WS2^w8_NAn>wpUvqdLQy<w=6 zMZ~t?XOpl5#h&Xkkuf+Yd_pZXW#f{~rFGYw1vPjB?kp^oDrdUZR$!_Ea~;Vgf?dvy zIafGKtv2hz9je-?xi9`{RJ&>1oMX}8GhOAInGqF5{&bwBk$Q)#sPdC#9)hA4;)6d@ zt*%M{<BGlHL#zz|4$?6l6lr5r1cpB&3ZnUN<^R$<DJzHG_M7wG5v`i!tWe<z=X8R+ zXxh@PR7eSPi|$gW1A>F@%OGWc0)_b+`wM;Iu)0egq$eR*e*O(14xUc0hAu+89Yzt) zUZ6N{XS{KH=NtJxWCplHv_{<kN?1wDDwN{jRW?>e#3zk_(Yn%&sj>S&NQ0(?`p2=* z?9~+qrAR)rlXpyS-~K*r(;+5!k%ra?KG3Y+nZ%$^J*%w}uX-zc9_Va!6>I>W$GCQ- z+rQ^{ABq=WvEzjbXNR%t-V|(>yNPctzFAaq(MQd<b;G8&n1lq`-6S*zWon#%{^_<5 z-rr{D9qnIcMOYzpqLuiuY!$jI8EyZ@J>^a3f|Iiuv+-m7+8ZAm_n}@_d{)!Yjtl}; ztRbbe=zq9~;B#!ytmu|rD|#@|PkkE#9=b5Mvk2A&iJn$!^nBcFvqf)J8D*9}N)+Q# zl>H`L9Q`QryamWWZ!D5Qx%A2a$}Yw^t2vXz9GCn`O9@g|Io!;tRCTi5{@E%-2UMP? zP3Kg}axO?bH<lshUxUarp*8~f7NKl25Bp(e;sAtOTF%m^EhH5Y(A&gGCZAXH4}PMN zw~s5e1SF<?(iXj+I)*KoYFTt_&!}%(XjkZd`vO3&QWp<lESjzRj*CLQ@$WT;X*z1C z7phdEb25K{R9jcmgmVHW9w;xTFyji3TH6|^(Oi4d35GECc2lC34xGa3sTAul_nGJC z@>cMbEr6NaJxJxur#2jl5JcotUwtN2CN|)mIo$;5rkd7i|8E@cFjs{C#(^k`*9z2w zy;r^mX4&Fm)qUT^I13xt0@|khBHr4za**8AUAHV?tt|Ls%~?BP5OwM0m9`C(<>&?2 zvHef3^mxKK9of~s+>Z4x09}lo&a8dc2Wd+1wC5^VZ`_dlzQZ*2x~NbdHovMX^TgWR zYH57usF@GJjPZM@T_=rYKzW5{H2HyPB#vO0m_#LpD+}A<>6!QR2JGZl!H?Z1^5r7Z zY{pqoWy?9S183+V35dcdu8erMvfh*Q18h6I6+7l2zp2#D*C|d~>Wt^Mnk|&dw9T>z z)cBezbJ<Ukk9M5uT0mQBUQFk81P?_!`nU-khE!W6{U9adF6j$vC>F{)W6}bIww#ZH zQb6ZV{SAu|Brv=3H}jP)s!{{{@>YM(BDdOUS0ne?6?eJP@ZfrkY&(75L2lmYWw=v7 zlg78*_L@3I4CydT_5x;<@W>(ONk<dAuG7lB@lQPW1RjC+@c-12N6yhW&@2%3*p7h2 z7s_b{H#%tA3VrDBGP6ASww>!@CU~9un6?XD*rg?O9rM~ctwjc~-R8OujA>MPK@FL^ zt~4J-uTUY!J{e+z)$6>fau)SMpX0v~4d4GiF`P#}hdLVX9qq=JcvkFa#lCY-?K;%w zCv;DhCVA%NI{fRKxVgqqUn&zK2O>;MV_zk=_~Qm;Yh4HCql%w+H>SX<Yjf8Xlzqnc z{Neszxz&Z+)*U9urk=fXgw^iT9HX%VucNVQerc&jV|`>o&7r<38BhG={{OiLT%*XR zxX4V(Q{`>!Q{U=&ic&SR(-rR(C8~%jczbzwBu7GAq~5$w)qq&WOmKpPVWo>0$=)a7 zg<Jfngq?=?;I&Y~!}!QP@tfvBZ?*RSiryXdY4vl@$15HsnpevMyKg~a3I!M7ViO|t zPy!N&yBQbXGmaSy^y()%O0NX2KKjIOW`gQW^Muho<$wCLh?+O>tjhQ4`TLK|3R!}A zc|eOsJo`_ycTubTK4+~xM+(p$_gD6@Xme{1LJcm*5{<Q{VH#^B4KkYe$i2J$2;sP9 z=Pr#sX5CLfL#@0Y2!v`NV$AhFlwf8|YUH#T)z_M@e9Q}d#;bSRa@gwphO?yWfBGib z!2(8IS*(x7wM)=Mp$<CN2)gpmbM#Ff?zZff1rsK%5t7iPs!Ou<k*yE?y&##H7|@H} zkZTk*6>qYA0r7@MeBfXPw9eZ0mkGrm(#uAF%T@yruu$^NK#6R5nx!;&O#P_On^t(* z(tdWyy7@gskp(ekRlBN)4&&@>nca4m#58d2lBqN4&TGpp70&6)>8U77Xe5ay=iQq_ zNW>fFnXeWwEK`|zfa-*V7^iin#0#?{+JC_xGZctlvJ*6HmhGqq2NFq*{M9I2Nj`rl zq3Q6qc>ZxqFp>FL9QuGm2cqjDHc@w3(P$dkHsHTEQI7k0)WTU$`uy(Jq?;~&0c1Kf z>*|nQksD9}0#zL{WQ3u0>bde^vZf|!DHe!b7c$3L*3qfC$~kk}tGMnyB(+SdZ>fzg z=LW4JW}!pAj(DwX$Ei|(E=k<87+Jwp$C?Iw(rP2>XH3z#L2jolwQ!FnsH5_MM>x07 zJBw8|JE+QHS*s|z$P{+&;pn%IMUI}srQ{}OJ=wDVC${=?EJ+7CAOU6>c3u2JZi$cB z2)?E$x}i2<`qo}&iwzqsvoJ7UtDa%PHv`!r*J4l*$?Tgf)=c0-?_rkS$SYdv<{s~d zO%I<_pZkZ-{|ZKI>6~{5DtV5)FcUj%g2W>8Zo19E!nUYmg1CbonALXfi3=TXw`Q(9 zsLV2~ja-}9Zi}Qvo@tf|7$082M8%9;-MJ>8Jp(wh2flqbOx3<Pac9QSdz+Z@a|YR+ zD5)SJ6Py^MpEwGy%IvOtuYPs$l=_tBHy~jDgmctq?xT|1itc>PjltRUt%w&~oRUmE zSBSfz9wE}sNY3F%_rFT(uZw*w`g|Ei6?+yMF1(I#fi$onU3|aE2=VMof^e?j*$pbe z%d+M1{n^0fL6kvEs$?$5U2Ko`a?=TY)-gY)bP`Ykkx`ar>|-981_teIX{+B?eOoA6 z@m}bgm@rTE$;^8+4`2Iz!FQR9J;x<-Ty@L1(K@=$-hy-XR9IguMBS9QjA6C+{~L9* z;kP_n2ZD8VY>gr$@s*F^DcYi;#TzuNdgnsO!uPfCjHFO*MO2!FUaVXyr!g|j>|7c| z$TXGe8d+23j4dtg_btDPxyUM_k+s8PMCtTLaI4Xi`4LyRjfV3}tX5}gyH#eEzFBax z)?>@pK&@T3k`o%D+^nE*Ym{w&L``sM;CGy7+&C;T+7I{~tC!HxH~4O~h&puuT}nK9 zRH%QOE>sqtbT4g~9NzHlpIHM%KjUQ8t)G@^TRr<D-W^FqH^)4}xNHN=S3{2?Nd8ii z$c+fQzd-Qk<f##P1U=-aWi<2Lsc(H{v^PwcG1WLsxO%s`Sa3x%2=v^0GMwpWyKd!q z*&AnK1~N!>5BxJ1>Daw0tA$eDyapAYZNTX?2hZ&4sFF^myCjDoEqmb`?NDA_EsZbs zyYzChr?oB%_R6YKU)rFt94%WFI<nA>CyZcLHqEv^bMw6|>>^75E85hr%64@JJwtng zGtUHqfK1koIV9X}!~TrB{7Q3D$tUn4*3pxNXEBZ{YE>|s*__A3NiY*%-*z7Kwd;?t zN>v&L9ND+G{#Q}4l`O_R$T~spj{4QGa_Kz(>X1?GXDVq_PJVs%oHvZw=MJo|oe!{3 z$;fnEKyIRF7rL5ya|n}P+51ASSA8feYLWs|(Hyg}j_tca_v<W|;GL&M-Pm3?t7(d& zw5%MKa|awo)_AC{88twXAxvFevO_FeefWW&lpqam)Jp{wdcd#>Whz(Rqv_J<Z=NrG z(`PrA0JnCsp>Jf7`Y_L-hh%hl#0V?THwQD5*I>imq;%h&N#-`wU19+Wb-jrpJ)~a5 zn_dLV13%_blpp?O?w;@!Q;o;LynQ~qoE};if(%GMgy<B3>+bi#VMAD02l#b2sOMvD z5@>5L7A%X{3J<P_dO{WeVDkl~SM-H`>;IrH_LE}`E%k)xP>YX39ka}jQ}5?I<3kNG zgEDFFbJfq{7bK3Zyn^Os>Q}H*94`6bg_5bK*A?BP;XbOsB+j3jdh^UiS}>6oq}LSY zfyq3U{F#l#qysSUWU66KxHNhP=xWrQcUbCgtd7b9IPfsmCb#3q$;Z`f#2K9y<AQXZ zt}u`oGk3i*=SBL&{N_7dEPNPIh5<_@<qIyzJ{^4&6wbgP2_8g}a95Sl#YbM`L5`9i zG)r9;&W)o~KnG7Vb6o^*uJc++hT2#<euboKSkallhKq_`t`yK$xM*h$89Q_@Fcx1Z zg0D?VPSIGkZ<MRh23tz#m$mQMB74W_6Pkv4`)dVXt_?%1VU%TN)^Mxdqhvc=36k%Q zvB{vuls)C|ZdLFG%{^n|f6c%e?KSo(e~&Ls%};&8_sd6Q-EP<CHk~fg>@9|shO3@t zJ9n*9DHmUuc=!VyuFG>O37yhflHS@cc~0IoFv;QWAOvcvaXm;ENh>|0&kQ|8-pmsw zrdrQ7PP;*~gXrz__>8y4C^Zr9XsDEN0~vWs;S9-DePx$fZ0*`A*gHJhpCg-{s6PG+ zpx%<V3_o{fU#W!(vhk$1fG}|jof)XJZty&y$|r14EkEe22>mTN+2|@(35`s(PxXN6 z0(m_i7z8z8qc!0!jT;X|Q9NDuxv+^t*H^3!g8cULtu!c^E-vaAw>gD12U*evYKMfx zu{Vb5p#BfsJFRa}3(h=x<AsTY51B3e0aRG`Qhe@ctC3w>PPn?<*Ct21bu@RXMjiRf zhKd?&C!AwLM?@f*8b_yYH4<{K{}(WrnSId-_E2)H_mrzGJxrbvGzM!n3eF0QfmO&h z8()i4V}^^H622^Ko9?r%wh=P%fRb;sK9*%ysGoV-GFv7o!x#Jp+OFMWUsb3|gC+Z* zFs4i;&~xi=@L5|x?Itpo^^I34VFd1IRR~y357vo&Jy=93nTdT`s8c)7eNN<?T60y0 zmrVOH=I6v0A9hZ3dxy`!>GsIZ!f+Ydrqc+t?EYO*t-!p&5>Xb4>#X^BmF5XCy8P+K ze8m^pXRkUY45f9ZT15y5!<2Bc^CXna6|!$LS0cL~_=L8~hc{&_LeLZq8~fxao@~b} z#RG(NQW?I|-^L|M@Eo0uU@@Tbwa?MCs6xNWZ^E#bJ_E`VVRlG0!e0i9xK!pyV`|ae z^6%1gdnp@hs2HCy=?z*?A9{rHsNbfKW-R@^Pbt2Ghn?#a6=oq?l*7dgZ5}}t(3_6y z$gcH9tuk#hQ<g(Tzc7BV_*+i0%S5;zUr4N;`Qwa_Fd0zNSl;$i1&tyafFr*3!fGvz z?BQ!ldQ7W{k!P7(%>ZQfO{`h!#g>{2KZ3W*h8Iaq%7?3+_)AHrJs^6{&8_tnP{w4~ zsFWNXM0~P~ujtyOYp@u(%}$YT_B*dh8on1Grjdno=_n+b4ab}aFSC^qLOQVTj)W{; zj4Vbs{`A{Gl_&U|+R0_AKdZ-9P+kWX-^Js{A^`+SQpSUk=&2c<4nbbn1C=chtt*bY zgU>lH)KN9ySp$$p5kdf`10)M5v|Q(j5~kdt@VWFo1FN;ZN-c@CukYP`KG+j2WAj!6 zo*q<K(Zn(kK%*}=Zf!#(pGYaz@Jsfg+9c&*vxc)V*>2m?w<9p8Z*57<-4t=+vg9gq zhx7UUFQMnBK7v#~{CA;Y@~LW6E|{>ZZjK~0x|@eSG580-TI}TJaQOLSG*6q3K9pVa z6CYUz+FzfGm$@}vLUe&IrpXlom9)n2Wt$_12Fk@{L?i)eARfrE2HCn28Xc3YSfW)M z(2AGvUY5|-PL4&BD=&q~N4fKk-Ap%bt!KEGr(XQr&02f?L0eq>iFBgAb%+nybMY?< z^B1FB5C3{c9VZ@iz}~{!Is1(U7{avXsDFl=vw!rm=Tm%*xY3ebyZWN&$VvP`8e!o* ztdj1@wT&dv0dPB6c?&Ce=IC$btcU6^vNvGa&>L$%7-Cl^l{6BWrtXyKjyQVdNj|-* z<4?WQ0-@1%ALw=;m(<ZAAX$8K=v49|0=hrIU3QWe*>_x++qbiLEkgv7H1?}))&$Am zKt+XldRBZ%TEQX~9Oy&g|7UIy*Ni59@yb3#tR3KY+NO8m5m-0Q!Mj^|*_wz86}bED zF<q_>bE?M~XB@|&(MihDbF46GB!enf3^41AR%T=JG{Ww1wBpE11ky>q#Yo;|eLhIV zdV{x0HESa$#Ug4-f+8~Af^>*Y>yJ1Q)V7#k<6rm%i`8Vw%(3`Rd>AA>#cdyRDhb6K zuHgjoJJ$^S*v|jd#@#`q2eLt#1}XG7lTtaPuBaSC2kHaNZJb>YcRp%OuuJ@jk9N#T zIBB4rS6j%^lWhxA0{XNIU2vM#sB>s$upx%X@6rA4ty{J~lP9TiEu&d^>4w0>L-pjP zvO?5+>J0$Pi4$Q|G_dJ9ekSMWLjP_{qsJ}H(_qrBqzSJgeAL(rV7eH-Rg=mKEKF%= zRr(&Vr+T+}J*bA)7(hd{je>_lL)`hKF%I;`Q;`Y+eQDBMW~&k;5+SaDF|Av@AQolD z9^t7q;V?UiH%h)}xHZ%G9keKmzh;(ct~%HIjerog$~Sa7x<#$&-n8f)p!JTWk3AzT zEE!$^kmzP_sUGENsbimw-)uatcw@Y|odkGDR1fxtQ}#J0d6m4_`^rlzc=m%Jr^lC> zB!zw3dBV9IQ<=QN8S4uOkFTer7ZV~#2sC$Nyd*S)BF8NH9Tlsk`!HoM8t8Xxwt|qb zeD``#<{}<sl;Y%n^TsNNEN~c4{<o@rBb=vTR446D_*^q!)K9tRS<g+^38q|n*`Y%D zQQg7>L9-EE5aa3#OFcrA(t29F%9|?t20&|jW^rQ<^n3wdnt?A2m$GFf6yCVUX+QEG zpC3a+uZiJGA*s0k9!?mZb%Q218uR7sn|A5FL$}Vv($nyXS_D?5v@?Js8i)TzTmg`V zN<j;>NxO&(Em8A&cj0*o<o8rJ|9V*T*R~+m9us?7Ybh9sq?S_`c$X7Fve~<shwaF? z?0*1QC*3<$1ePkQ?>^wfE5D<;xmuoQvf$)_`@=S+t>J5@^{qU)P{>ASdA@1Yv?E^j zFkgLlCk)Ij8@)r+j-L^H7ktoU6qE(*o-~W&-r)i<(MVPZ9pK8?1<$*FJ$SCsgFrzt z^=5CNq#oh0SybhwE4{gNXRf&NX-og!>6C)vNB??=+36erVui3#mzXvh_6AK(eRgte zNDC_j=|<XBYE7x^1QX?A#4;hR+`Z#!QzgTv>bJyr@a(*j|36vR0Ut&6{3m;tPUxLT zksd?@DS`zMl`1MlK*0h67F4Q;*mmy{xVun72?>O92@p^b{VC0cd!Rs2z=8-i?7bHh z+y6T=Z|@HOe3;GN?%P-9&CHvbH}5?~m0@8f6SmwD!DY_HVwEW6Vp(U^xtnw-j#3x8 z`+vvX2ri}UB-2D(X|iZWkgqa0nS^9-593N<(%>qm+yTU9rbzIS$og@*Sr(l_TmAL9 z8dwtzZ0L+$dWe+}T`q@JOpFgh=J3YsV6~)W9i|zhZwXs|5f?bD5y6T?s+uE_bD!>d z^lD#0tF)M_#c?ac&W(SxTE<0?EhOosOTfJvl*-jGYFck|=oPOjYx=Xg_M}gev>?$x ztTg1`c9ya(S6$6NKC@Z5hjsWiAFD;D8y|=)7i6JUNxm}OUs+D71V18`rx>G&?2b*L z&4VS3${Y{DWg3MkF01sYMV*yMnG7UkGFCi3R>KNUHIT%RG$Yr{CJJGR)nV`|Hj_@^ z%Xas0rY1ENReEHkHjR;!x<{J^JjWFlOj*rl!&3yQ^sAVuW-K)I7S%zG<6?x9@k9ae zKEA8^L)x`Nr*I><qP=z6Q}+aA>QCvCa6Ag(Wbx8`4>55$pkH%LAO~z^rYIxn&Rjw( z+#zt4pm5j_X9jfQ%~0cy7T!4(@0(;E<X4!`<!q#L<5f1ZV(Q-TUR_rr<B58yy*Y8P z$M86j>c&rPDp_9?okGLN$1%5f-Wnji<#qan)J)H?OE?+x^f(crMyXXY@3P63vlpTp z0ZS<~YO&a>TvGla7L!l}5+$kImz#7-hs%UA-d}6a8n@K~U*kX+8N+DAc&U?!fHV7H za6TlK&?R!jnTaBHm>T6U8FZEG=h~51`GSbq$Y)8-M1Uyc#1JnkN~w%+LhBxxbG4ZU zWJ*M~_%g<V86db143R@_U^hYWq4J<_F{UIa%acJ;H6c@7gP@AK36tl}KGOrmM;~*+ zGF4X0O*CdoLLeC7#>$%R^(E^%;H_eNp=V>I^>H$qFwtSN3DI{7QCN#FnZcwZb(39` zq&SX07XfT`L{)Q(J58sjVQ_Gb#_<#EIl+TN$3oHN<d`44#tUUhAe=W@^TKnLO!>P! z-Q!)oGjUq&$F1f<JUgA+EqkwLk%|1o$7%bJEN79aG83LOWimXwvb6;((@1d7)D-ba zY~9ZF$&)Dz8V4IjC;=LlvGDnOR*f=8qP8uEFnQoe6JB2m$7$TuH1`rRiv_^k%Ng4R z4fxbED$-=8fcaX_>|hSUYCZ{ymQ6KV97o54OKMI)o%+sV0gx;HuTs${5G}!eoI01X zlMUf0TyLf_(;K2sDhu%|6ElKH4G?&m_?|Uv!dQ$drhy+Z^3L7GXb^s5)iv!}9gQSA zj&o9PNpakFo$UEe8s%rEacP<5$gEZ`MDnI`O;pL}Zk&u3XX#NuW_UsUbpjW>gyn1h zyUX7P>9(i_#WTyje#AF8${0_v7DXfe)WDLMTao8{ViUU)^t?keL7&axGrAOstz;er z8>3rA6Z3aS%9K0W`hbZxvz$>b`)xlo3@K0|_b|>gz`YT$f<wl*MCf7!P%RJV<C&dH z&~zPc%@73UKZnzUE}4slXQNtX&<0ApwGJ8!rJ19&LJnm2q=Qt1dlyG^@x36&YzigO zUU4cAiDZr7@rQ#F>OMEq;%1o07ZosPFtLg-NC1t|;&zJ6QXjqq@ucK(q3p%WF#G(9 zw1T%0EXIw^m3T64B9=z*&~|TsUA(|FHyT?Z0|V9e;+|D{Ar8Y@%vO<q&@q@n)P6DZ ztH>&)u{ttjqiy7k0}+1Uxag^`a{aeVKXdGaH6+5k&ZXRqtzV3{@gI&j>G_BHQM|)* z)Pv6SM%#oOBxXoYZA$88-9eDsWqn}W4#*rUGeBv^P!g&H1u%wqI~Gh;vv4Wc(1%wb zNNipX$7<nqe{_4=39uW<UiRu%#zL?GMi<OO8<;+N%tK~<_yjxce$l;W-^+qLb7UXH zI!akgr%|NA@=~D&b+yP)lv1GnUv>|roE8go6L5^JsN{HUi8oqoCy|%P4X&Oy#mq&s zMr{0ks>JlalRJvBQNOz?73fhM;v%{m%k&;=xn?4369H}s6G|fbWJ?C55egEYl$n=M z3xx?(1A#zYQmr%98BnWynTUvD^#uY)2Nf-w=}-n{)&3IuN#SX{vN8ZA`-Q#6d7ny3 z);84L%nhu@VLFK&!M(sI?ljfNgbm|H1EwIAQQ}>B>Rvv69U|ad8Dv-(K@S+ss8$b8 ze|FrDZ;j4P`wI#OV}m<c#!}w|CN^*?9uCIrF+b*+OWlyBRE7ytHWH?v6jjorX0Hm~ zUjB^R5mn43$)bZ>Vy091gLq4T6A^NV@YlagJZ7Sf!$FxWP^Q^(6oe-2=3&H;u-M@n z&qdRx1W{!j{f!4pBL&nd!5&V?hR>9g&7zf<nB<m=Z&TNIN`!-E!GRSL;$)e<>bXSW zNwHPUZbw=VkvZ6807=ZzEKHky<_gp4;fe+qoPn`;bY8{79`cr!v1$XaC!ZT38)E1* zoFR4b?oAWz0n;5!n{2d5FU2<-;GtJNP{|a}F<U4bRy@Dgem$c~Ty<4zIB-oJn8~aV zr`aoqu#}J-uoV_+tJC4h)FA4a(O;FPm>QIW(A(N%exZ#sov8~P&`GT1i5{WOAa6(# zslf&~6f^!9+xFp}sY8M#wIC0jX$6YT$=(C=k#}G`f64kI%iC7JbEXExXUcw#1eWO; zB;Xa25FjEtCgTeU3GUsJMS_`?W*rm9`*Pm=bem9%4g%tl5M4$02Us%!X@L@?YxAz8 zW22~_c#JL?2<w3}>BC8YkaG@kSC7-(4cWeD^A{W73s31hfLEw@1dP;DI#@LprMokk z(5##@d-=!-b*3u>y?mgQHpGx-e29k@1GO4xZℑKVWJcGA`|e@-COP49!7gEwl8M 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 BnffD8ZFM^_3d`$2zzE7XAEOqD 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%0DA#zTO<90c7EhZ{Md&3hj9NC?w<y11^f@d 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 literal 0 HcmV?d00001 diff --git a/.config/nvim/spell/fr.utf-8.add b/.config/nvim/spell/fr.utf-8.add new file mode 100644 index 00000000..3791bad1 --- /dev/null +++ b/.config/nvim/spell/fr.utf-8.add @@ -0,0 +1,2 @@ +Taekwondo +Generali diff --git a/.config/nvim/spell/fr.utf-8.add.spl b/.config/nvim/spell/fr.utf-8.add.spl new file mode 100644 index 0000000000000000000000000000000000000000..467c4c2884bc6b3d534541f04fe92e637e0835d7 GIT binary patch literal 63 zcmWIZ^erw(&B-zP&%nT-%#>cjn97(3#6^sWj5&;%j7&^GMk-@AV>x3!P$Gqqk%2)l IAE*`r0NjoXoB#j- literal 0 HcmV?d00001 diff --git a/.config/nvim/spell/fr.utf-8.spl b/.config/nvim/spell/fr.utf-8.spl new file mode 100644 index 0000000000000000000000000000000000000000..ff27132bfb2c341596b862d06575fbde12dceead GIT binary patch literal 571627 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%0DR+%xA}Jn&?CNXmtLp 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�r}~FOBlnhrBDrQ&%%6s(Jvu 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 literal 0 HcmV?d00001 diff --git a/.config/nvim/spell/fr.utf-8.sug b/.config/nvim/spell/fr.utf-8.sug new file mode 100644 index 0000000000000000000000000000000000000000..df555d26edd5d32e4a56ce240ce7d5973cace2af GIT binary patch literal 2324315 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≤tL;vCFLUZSd!MLCFP(#XnJC? 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 _GKl(Y6Fam3pQ4ur_@U|{4S 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�}D!?*dngq&qNJ{^=_BbHJlM@ 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%0AqRVwAYt6py&$E?(@XUb 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∾bGx%|Cf(hU0>u?^GCJmDPffGwD64Z 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�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%0DfEm4 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∋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�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%0D>uU2Td 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 Z<P-|yZmAMz4R{Z45u;SwTD5A`|38i8y+Z&1 literal 0 HcmV?d00001 From e68bbb27068b9cb80f95e3217beb99f9151719e6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 09:58:09 +0200 Subject: [PATCH 0323/2080] Import neomutt conf --- .config/neomutt/.gitignore | 1 + .config/neomutt/README.md | 46 +++ .config/neomutt/bindings | 101 ++++++ .config/neomutt/colors | 9 + .config/neomutt/colors-dracula.muttrc | 42 +++ .config/neomutt/colors-nord-16.muttrc | 95 ++++++ .config/neomutt/colors-nord.muttrc | 172 ++++++++++ .config/neomutt/colors-oxubax | 39 +++ .../neomutt/colors-solarized-dark-16.muttrc | 151 +++++++++ .../neomutt/colors-solarized-dark-256.muttrc | 163 ++++++++++ .config/neomutt/dump-ical.py | 61 ++++ .config/neomutt/forgotten-attachment | 16 + .config/neomutt/headers | 25 ++ .config/neomutt/hooks | 16 + .config/neomutt/index-color | 12 + .config/neomutt/mailcap-osx | 16 + .config/neomutt/maildir | 11 + .config/neomutt/mime-view | 36 +++ .config/neomutt/mime.types | 113 +++++++ .config/neomutt/mu | 7 + .config/neomutt/mutt-common.rc | 181 +++++++++++ .config/neomutt/muttrc | 7 + .config/neomutt/neomuttrc | 11 + .config/neomutt/notmuch-mutt.rc | 22 ++ .config/neomutt/notmuch-neomutt.rc | 300 ++++++++++++++++++ .config/neomutt/profile-imap.perso | 88 +++++ .config/neomutt/profile-maildir.egi | 138 ++++++++ .config/neomutt/profile-maildir.perso | 86 +++++ .config/neomutt/profile-notmuch.egi | 134 ++++++++ .config/neomutt/profile.gnubila | 140 ++++++++ .config/neomutt/profile.gwarf | 22 ++ .config/neomutt/profile.healthgrid | 25 ++ .config/neomutt/profile.maat | 118 +++++++ .config/neomutt/profile.perso | 86 +++++ .config/neomutt/progress-color | 9 + .config/neomutt/show_certs.sh | 4 + .config/neomutt/sidebar | 31 ++ .config/neomutt/signature-egi | 6 + .config/neomutt/signature-gnubila | 2 + .config/neomutt/signature-healthgrid | 3 + .config/neomutt/signature-maat | 2 + .config/neomutt/signature-perso | 5 + .config/neomutt/sync | 24 ++ .config/neomutt/view_attachment | 126 ++++++++ 44 files changed, 2702 insertions(+) create mode 100644 .config/neomutt/.gitignore create mode 100644 .config/neomutt/README.md create mode 100644 .config/neomutt/bindings create mode 100644 .config/neomutt/colors create mode 100644 .config/neomutt/colors-dracula.muttrc create mode 100644 .config/neomutt/colors-nord-16.muttrc create mode 100644 .config/neomutt/colors-nord.muttrc create mode 100644 .config/neomutt/colors-oxubax create mode 100644 .config/neomutt/colors-solarized-dark-16.muttrc create mode 100644 .config/neomutt/colors-solarized-dark-256.muttrc create mode 100755 .config/neomutt/dump-ical.py create mode 100644 .config/neomutt/forgotten-attachment create mode 100644 .config/neomutt/headers create mode 100644 .config/neomutt/hooks create mode 100644 .config/neomutt/index-color create mode 100644 .config/neomutt/mailcap-osx create mode 100644 .config/neomutt/maildir create mode 100644 .config/neomutt/mime-view create mode 100644 .config/neomutt/mime.types create mode 100644 .config/neomutt/mu create mode 100644 .config/neomutt/mutt-common.rc create mode 100644 .config/neomutt/muttrc create mode 100644 .config/neomutt/neomuttrc create mode 100644 .config/neomutt/notmuch-mutt.rc create mode 100644 .config/neomutt/notmuch-neomutt.rc create mode 100644 .config/neomutt/profile-imap.perso create mode 100644 .config/neomutt/profile-maildir.egi create mode 100644 .config/neomutt/profile-maildir.perso create mode 100644 .config/neomutt/profile-notmuch.egi create mode 100644 .config/neomutt/profile.gnubila create mode 100644 .config/neomutt/profile.gwarf create mode 100644 .config/neomutt/profile.healthgrid create mode 100644 .config/neomutt/profile.maat create mode 100644 .config/neomutt/profile.perso create mode 100644 .config/neomutt/progress-color create mode 100644 .config/neomutt/show_certs.sh create mode 100644 .config/neomutt/sidebar create mode 100644 .config/neomutt/signature-egi create mode 100644 .config/neomutt/signature-gnubila create mode 100644 .config/neomutt/signature-healthgrid create mode 100644 .config/neomutt/signature-maat create mode 100644 .config/neomutt/signature-perso create mode 100755 .config/neomutt/sync create mode 100755 .config/neomutt/view_attachment diff --git a/.config/neomutt/.gitignore b/.config/neomutt/.gitignore new file mode 100644 index 00000000..ec6b4507 --- /dev/null +++ b/.config/neomutt/.gitignore @@ -0,0 +1 @@ +default-profile diff --git a/.config/neomutt/README.md b/.config/neomutt/README.md new file mode 100644 index 00000000..982f472f --- /dev/null +++ b/.config/neomutt/README.md @@ -0,0 +1,46 @@ +# Requirements + +- neomutt +- neovim / vim +- mbsync (isync) +- msmtp + + +## Accessing documentation + +```sh +neomutt -O -Q smart_wrap +``` + +## Fetching emails / IMAP sync + +mbsync from isync package. + +## Sending emails + +msmtp + +## S/MIME signing + +### On Mac OS X using gpgme (simplified conf) + +See http://wiki.netbsd.org/users/wiz/mutt-smime/ + +```sh +gpgsm --import TrustedRoot.crt +gpgsm --import DigiCertCA.crt +gpgsm --import baptiste_grenier_until_2021_02.p12 +gpgsm --list-keys +``` + +### On Mac OS X using mutt/neomutt smime_keyes feature + +Initialize smime store + +```sh +/usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys init +# Import DigiCert root +/usr/local/Cellar/neomutt/20180716//libexec/neomutt/smime_keys add_root baptiste_grenier/TrustedRoot.crt +# Import certificate, key and DigiCert intermediate certificate +/usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys add_chain userkey.pem-new usercert.pem-new baptiste_grenier/DigiCertCA.crt +``` diff --git a/.config/neomutt/bindings b/.config/neomutt/bindings new file mode 100644 index 00000000..7742a530 --- /dev/null +++ b/.config/neomutt/bindings @@ -0,0 +1,101 @@ +# Key bindings, macros + +bind editor <Tab> complete-query + +# Needed to fix handling of space in dir names +bind editor <space> noop +# bind pager g top +bind pager G bottom +bind pager j next-line +bind pager k previous-line +bind pager i edit +bind pager R group-reply +bind pager <down> next-line +bind pager <up> previous-line +bind pager \cd half-down +bind pager \ce next-line +bind pager \cf next-page +bind pager \cm next-line +bind pager \cn half-down +bind pager \cn next-page +bind pager \cp half-up +bind pager \cu half-up +bind pager N next-unread +bind index,pager F flag-message + +# bind index g first-entry +bind index G last-entry +bind index H current-top +bind index M current-middle +bind index L current-bottom +bind index <pagedown> next-page +bind index <pageup> previous-page +bind index zt current-top +bind index zz current-middle +bind index zb current-bottom +bind index { top-page +bind index } bottom-page +bind index N toggle-new +bind index <Right> display-message + +bind index,pager \t next-unread +bind index,pager ,\t previous-unread + +# Limit view to current thread +# http://www.neomutt.org/feature/limit-current-thread/ +# XXX Disabled whiled testing mutt +# bind index <esc>L limit-current-thread + +# Fetching mail +# macro index \cf "<shell-escape>offlineimap -o<enter>" +macro index \cf "<shell-escape>mbsync -a<enter>" + +# default save path +macro attach s <save-entry><bol>~/Downloads/<eol> + +# https://gist.github.com/manolomartinez/7082024 +macro attach S "<pipe-message>muttsaveattach"<enter> + +#macro index,pager I <set-flag>O "Mark as read" +#macro index,pager U <clear-flag>O "Mark as unread" + +# https://www.neomutt.org/guide/configuration.html#bind-warnings +bind index,pager g noop +# macro index,pager gl <change-folder>? "Go to 'Label'" +# macro index,pager gi \ +# <change-folder>=INBOX<enter> \ +# "Go to inbox" + +# macros to invoke a profile +# macro index <F8> ":source ~/.config/neomutt/profile.egi<enter><change-folder>!<enter>" "Load profile: egi" +# macro index <F9> ":source ~/.config/neomutt/profile.perso<enter><change-folder>!<enter>" "Load profile: perso" + +# macro compose <F8> "<enter-command>source ~/.config/neomutt/profile.egi<enter><edit-from>\ +# <kill-line>Baptiste Grenier <baptiste.grenier@egi.eu><enter><enter-command>\ +# set editor='chsig ~/.config/neomutt/signature-egi'<enter><edit-headers><enter>" \ +# "Load profile: egi" +# macro compose <F9> "<enter-command>source ~/.config/neomutt/profile.perso<enter><edit-from>\ +# <kill-line>Baptiste Grenier <baptiste@bapt.name><enter><enter-command>\ +# set editor='chsig ~/.config/neomutt/signature-perso'<enter><edit-headers><enter>" \ +# "Load profile: perso" + +# macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>' + +# Use Ctrl-l to list URL using urlscan +# macro pager \cl <pipe-entry>'urlscan'<enter> 'Follow links with urlscan' +# macro pager \Cl "<pipe-entry>urlview<enter>" "call urlview to open links" +macro index,pager \cl "\ + <enter-command> unset pipe_decode<enter> \ + <pipe-message>extract_url<enter>" \ + "get URLs with extract_url" + +# show flagged and unread mails (i.e. important) +macro index \' "l(~F | ~U) ! ~D\r" "Show Important Mails" + +# Create a taskwarrior task using mutt2task +# macro index,pager t "<pipe-message>mutt2task.py<enter>" + +# Use Ctrl-a to print a message smime info using openssl +macro index,pager \Ca "<pipe-entry>openssl smime -verify -noverify -pk7out | openssl pkcs7 -print_certs | openssl x509 -subject -issuer -dates -text | less<enter>" "call OpenSSL to print S/MIME info" + +# vim: set ft=muttrc: diff --git a/.config/neomutt/colors b/.config/neomutt/colors new file mode 100644 index 00000000..18940312 --- /dev/null +++ b/.config/neomutt/colors @@ -0,0 +1,9 @@ +# Colors + +# Nord-inspired theme, but not perfect +# source ~/.config/neomutt/colors-oxubax +source ~/.config/neomutt/colors-solarized-dark-256.muttrc +# source ~/.config/neomutt/colors-nord-16.muttrc +# source ~/.config/neomutt/colors-dracula.muttrc + +# vim: set ft=muttrc: diff --git a/.config/neomutt/colors-dracula.muttrc b/.config/neomutt/colors-dracula.muttrc new file mode 100644 index 00000000..aa77d0fd --- /dev/null +++ b/.config/neomutt/colors-dracula.muttrc @@ -0,0 +1,42 @@ +############################################################################### +# Dracula Theme for Mutt: https://draculatheme.com/ +# +# @author Paul Townsend <paul@caprica.org> + +# general ------------ foreground ---- background ----------------------------- +color error color231 color212 +color indicator color231 color241 +color markers color210 default +color message default default +color normal default default +color prompt default default +color search color84 default +color status color141 color236 +color tilde color231 default +color tree color141 default + +# message index ------ foreground ---- background ----------------------------- +color index color210 default ~D # deleted messages +color index color84 default ~F # flagged messages +color index color117 default ~N # new messages +color index color212 default ~Q # messages which have been replied to +color index color215 default ~T # tagged messages +color index color141 default ~v # messages part of a collapsed thread + +# message headers ---- foreground ---- background ----------------------------- +color hdrdefault color117 default +color header color231 default ^Subject:.* + +# message body ------- foreground ---- background ----------------------------- +color attachment color228 default +color body color231 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses +color body color228 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs +color body color231 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text +color body color231 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text +color body color231 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text +color quoted color61 default +color quoted1 color117 default +color quoted2 color84 default +color quoted3 color215 default +color quoted4 color212 default +color signature color212 default diff --git a/.config/neomutt/colors-nord-16.muttrc b/.config/neomutt/colors-nord-16.muttrc new file mode 100644 index 00000000..eb46de86 --- /dev/null +++ b/.config/neomutt/colors-nord-16.muttrc @@ -0,0 +1,95 @@ +# vim: filetype=muttrc + +# basic colors +color normal black default +color error red default +color tilde black default +color message cyan default +color markers red white +color attachment white default +color search brightmagenta default +color status brightblack black +# Current message +color indicator black brightblack +color tree brightblack default + +# basic monocolor screen +mono bold bold +mono underline underline +mono indicator reverse +mono error bold + +# index + +color index red default "~A" # all messages +color index brightred default "~E" # expired messages +color index blue default "~N" # new messages +color index blue default "~O" # old messages +color index brightmagenta default "~Q" # messages that have been replied to +color index lightblue default "~R" # read messages +color index blue default "~U" # unread messages +color index blue default "~U~$" # unread, unreferenced messages +color index brightblack default "~v" # messages part of a collapsed thread +color index brightblack default "~P" # messages from me +color index cyan default "~p!~F" # messages to me +color index cyan default "~N~p!~F" # new messages to me +color index cyan default "~U~p!~F" # unread messages to me +color index lightblue default "~R~p!~F" # messages to me +color index red default "~F" # flagged messages +color index red default "~F~p" # flagged messages to me +color index red default "~N~F" # new flagged messages +color index red default "~N~F~p" # new flagged messages to me +color index red default "~U~F~p" # new flagged messages to me +color index black red "~D" # deleted messages +color index brightcyan default "~v~(!~N)" # collapsed thread with no unread +color index brightblack default "~v~(~N)" # collapsed thread with some unread +color index blue default "~N~v~(~N)" # collapsed thread with unread parent +# statusbg used to indicated flagged when foreground color shows other status +# for collapsed thread +color index red black "~v~(~F)!~N" # collapsed thread with flagged, no unread +color index brightblack black "~v~(~F~N)" # collapsed thread with some unread & flagged +color index blue black "~N~v~(~F~N)" # collapsed thread with unread parent & flagged +color index blue black "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged +color index cyan black "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly +color index brightblack red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) + +# message headers + +#color header lightblue default "^" +color hdrdefault lightblue default +color header brightblack default "^(From)" +color header blue default "^(Subject)" + +# body + +color quoted blue default +color quoted1 cyan default +color quoted2 brightblack default +color quoted3 red default +color quoted4 brightred default + +color signature lightblue default +color bold black default +color underline black default +color normal default default +# +color body brightcyan default "[;:][-o][)/(|]" # emoticons +color body brightcyan default "[;:][)(|]" # emoticons +color body brightcyan default "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ + |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ + |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" +color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? +color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? + +## pgp + +color body red default "(BAD signature)" +color body cyan default "(Good signature)" +color body brightblack default "^gpg: Good signature .*" +color body brightblack default "^gpg: " +color body brightblack red "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" + +# yes, an insance URL regex +color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" diff --git a/.config/neomutt/colors-nord.muttrc b/.config/neomutt/colors-nord.muttrc new file mode 100644 index 00000000..1b19913c --- /dev/null +++ b/.config/neomutt/colors-nord.muttrc @@ -0,0 +1,172 @@ +# vim: filetype=muttrc +# https://neomutt.org/guide/configuration#10-%C2%A0using-color-and-mono-video-attributes +# https://github.com/arcticicestudio + +# nord0 - main background - black +# nord1 +# nord2 +# nord3 +# nord4 +# nord5 +# nord6 +# nord7 +# nord8 +# nord9 +# nord10 +# nord11 +# nord12 +# nord13 +# nord14 +# nord15 + +# make sure that you are using mutt linked against slang, not ncurses, or +# suffer the consequences of weird color issues. use "mutt -v" to check this. + +# custom body highlights +# highlight my name and other personally relevant strings +color body brightblue black "(baptiste|genier|gnubila|healthgrid|egi|boob|bgrenier|gwarf)" +# custom index highlights +# messages which mention my name in the body +color index brightblue black "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" +color index brightblue brightmagenta "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" +color index blue black "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" + +# for background in 16 color terminal, valid background colors include: +# base03, bg, black, any of the non brights + +# basic colors --------------------------------------------------------- +# color normal cyan black +color normal cyan black +color error color160 black +color tilde color235 black +color message brightmagenta black +color markers color160 color254 +color attachment color254 black +color search color61 black +#color status J_black J_status +color status cyan color235 +color indicator black brightblue +# arrow in threads +color tree brightblue black + +# basic monocolor screen +mono bold bold +mono underline underline +mono indicator reverse +mono error bold + +# index ---------------------------------------------------------------- + +#color index color160 black "~D(!~p|~p)" # deleted +#color index color235 black ~F # flagged +#color index color166 black ~= # duplicate messages +#color index color240 black "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest +#color index J_base black "~A~N!~T!~p!~Q!~F!~D" # the rest, new +color index color160 black "~A" # all messages +color index color166 black "~E" # expired messages +color index color33 black "~N" # new messages +color index color33 black "~O" # old messages +color index color61 black "~Q" # messages that have been replied to +color index color240 black "~R" # read messages +color index color33 black "~U" # unread messages +color index color33 black "~U~$" # unread, unreferenced messages +color index cyan black "~v" # messages part of a collapsed thread +color index cyan black "~P" # messages from me +color index brightmagenta black "~p!~F" # messages to me +color index brightmagenta black "~N~p!~F" # new messages to me +color index brightmagenta black "~U~p!~F" # unread messages to me +color index color240 black "~R~p!~F" # messages to me +color index color160 black "~F" # flagged messages +color index color160 black "~F~p" # flagged messages to me +color index color160 black "~N~F" # new flagged messages +color index color160 black "~N~F~p" # new flagged messages to me +color index color160 black "~U~F~p" # new flagged messages to me +color index color235 color160 "~D" # deleted messages +color index color245 black "~v~(!~N)" # collapsed thread with no unread +color index brightblue black "~v~(~N)" # collapsed thread with some unread +color index color64 black "~N~v~(~N)" # collapsed thread with unread parent +# statusbg used to indicated flagged when foreground color shows other status +# for collapsed thread +color index color160 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread +color index brightblue color235 "~v~(~F~N)" # collapsed thread with some unread & flagged +color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged +color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged +color index brightmagenta color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly +color index brightblue color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) +#color index brightblue black "~(~N)" # messages in threads with some unread +#color index color64 black "~S" # superseded messages +color index color160 black "~T" # tagged messages +#color index color166 color160 "~=" # duplicated messages + +# message headers ------------------------------------------------------ + +#color header color240 black "^" +color hdrdefault color240 black +color header color33 black "^(From)" +color header color33 black "^(Subject)" + +# body ----------------------------------------------------------------- + +color quoted color33 black +color quoted1 brightmagenta black +color quoted2 brightblue black +color quoted3 color160 black +color quoted4 color166 black + +color signature color240 black +color bold color235 black +color underline color235 black +color normal color244 black +# +color body color245 black "[;:][-o][)/(|]" # emoticons +color body color245 black "[;:][)(|]" # emoticons +color body color245 black "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ + |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ + |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" +color body color245 black "[ ][*][^*]*[*][ ]?" # more emoticon? +color body color245 black "[ ]?[*][^*]*[*][ ]" # more emoticon? + +## pgp + +color body color160 black "(BAD signature)" +color body brightmagenta black "(Good signature)" +color body black color234 "^gpg: Good signature .*" +color body cyan black "^gpg: " +color body cyan color160 "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" + +# yes, an insance URL regex +color body color160 black "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" +# and a heavy handed email regex +color body color160 black "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" + +# Various smilies and the like +#color body color230 black "<[Gg]>" # <g> +#color body color230 black "<[Bb][Gg]>" # <bg> +#color body brightblue black " [;:]-*[})>{(<|]" # :-) etc... +# *bold* +color body color33 black "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +# _underline_ +color body color33 black "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +# /italic/ (Sometimes gets directory names) +color body color33 black "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" +mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" + +# Border lines. +#color body color33 black "( *[-+=#*~_]){6,}" + +#folder-hook . "color status J_black J_status " +#folder-hook gmail/inbox "color status J_black brightblue " +#folder-hook gmail/important "color status J_black brightblue " + +# patch/diff +color body green default "^diff \-.*" +color body green default "^index [a-f0-9].*" +color body green default "^\-\-\- .*" +color body green default "^[\+]{3} .*" +color body cyan default "^[\+][^\+]+.*" +color body red default "^\-[^\-]+.*" +color body brightblue default "^@@ .*" diff --git a/.config/neomutt/colors-oxubax b/.config/neomutt/colors-oxubax new file mode 100644 index 00000000..bf36ce96 --- /dev/null +++ b/.config/neomutt/colors-oxubax @@ -0,0 +1,39 @@ +# mutt color scheme + +color normal default default # default colours +color index brightblue default ~N # new messages +color index red default ~F # flagged messages +color index blue default ~T # tagged messages +color index cyan default ~D # deleted messages +color body brightyellow default (https?|ftp)://[\-\.+,/%~_:?&=\#a-zA-Z0-9]+ +color body brightgreen default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ +color attachment magenta default # attachments +color signature brightwhite default # sigs +color search brightred black # highlight results + +color indicator brightyellow default # currently highlighted message +color error red default # error messages +color status white cyan # status line +color tree brightblack default # thread tree +color tilde cyan default # blank line padding + +color hdrdefault black cyan # default headers +color header brightwhite cyan "^From:" +color header brightwhite cyan "^Subject:" + +color quoted cyan default # quote colours +color quoted1 brightcyan default +color quoted2 blue default +color quoted3 green default +color quoted4 yellow default +color quoted5 red default + +color body green default "^gpg: Good signature from" +color body brightred default "^gpg: Bad signature from" +color body brightred default "^gpg: BAD signature from" +color body brightred default "^gpg: Note: This key has expired!" +color body brightyellow default "^gpg: WARNING: This key is not certified with a trusted signature!" +color body brightyellow default "^gpg: There is no indication that the signature belongs to the owner." +color body brightyellow default "^gpg: can't handle these multiple signatures" +color body brightyellow default "^gpg: signature verification suppressed" +color body brightyellow default "^gpg: invalid node with packet of type" diff --git a/.config/neomutt/colors-solarized-dark-16.muttrc b/.config/neomutt/colors-solarized-dark-16.muttrc new file mode 100644 index 00000000..e9d6defb --- /dev/null +++ b/.config/neomutt/colors-solarized-dark-16.muttrc @@ -0,0 +1,151 @@ +# vim: filetype=muttrc + +# +# +# make sure that you are using mutt linked against slang, not ncurses, or +# suffer the consequences of weird color issues. use "mutt -v" to check this. + +# custom body highlights ----------------------------------------------- +# highlight my name and other personally relevant strings +#color body yellow default "(ethan|schoonover)" +# custom index highlights ---------------------------------------------- +# messages which mention my name in the body +#color index yellow default "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" +#color index J_cream brightwhite "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" +#color index yellow cyan "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" +#color index yellow J_magent "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" +## messages which are in reference to my mails +#color index J_magent default "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" +#color index J_magent brightwhite "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" +#color index J_magent cyan "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" +#color index J_magent red "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" + +# for background in 16 color terminal, valid background colors include: +# base03, bg, black, any of the non brights + +# basic colors --------------------------------------------------------- +color normal brightyellow default +color error red default +color tilde black default +color message cyan default +color markers red white +color attachment white default +color search brightmagenta default +#color status J_black J_status +color status brightyellow black +color indicator brightblack yellow +color tree yellow default # arrow in threads + +# basic monocolor screen +mono bold bold +mono underline underline +mono indicator reverse +mono error bold + +# index ---------------------------------------------------------------- + +#color index red default "~D(!~p|~p)" # deleted +#color index black default ~F # flagged +#color index brightred default ~= # duplicate messages +#color index brightgreen default "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest +#color index J_base default "~A~N!~T!~p!~Q!~F!~D" # the rest, new +color index red default "~A" # all messages +color index brightred default "~E" # expired messages +color index blue default "~N" # new messages +color index blue default "~O" # old messages +color index brightmagenta default "~Q" # messages that have been replied to +color index brightgreen default "~R" # read messages +color index blue default "~U" # unread messages +color index blue default "~U~$" # unread, unreferenced messages +color index brightyellow default "~v" # messages part of a collapsed thread +color index brightyellow default "~P" # messages from me +color index cyan default "~p!~F" # messages to me +color index cyan default "~N~p!~F" # new messages to me +color index cyan default "~U~p!~F" # unread messages to me +color index brightgreen default "~R~p!~F" # messages to me +color index red default "~F" # flagged messages +color index red default "~F~p" # flagged messages to me +color index red default "~N~F" # new flagged messages +color index red default "~N~F~p" # new flagged messages to me +color index red default "~U~F~p" # new flagged messages to me +color index black red "~D" # deleted messages +color index brightcyan default "~v~(!~N)" # collapsed thread with no unread +color index yellow default "~v~(~N)" # collapsed thread with some unread +color index green default "~N~v~(~N)" # collapsed thread with unread parent +# statusbg used to indicated flagged when foreground color shows other status +# for collapsed thread +color index red black "~v~(~F)!~N" # collapsed thread with flagged, no unread +color index yellow black "~v~(~F~N)" # collapsed thread with some unread & flagged +color index green black "~N~v~(~F~N)" # collapsed thread with unread parent & flagged +color index green black "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged +color index cyan black "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly +color index yellow red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) +#color index yellow default "~(~N)" # messages in threads with some unread +#color index green default "~S" # superseded messages +#color index red default "~T" # tagged messages +#color index brightred red "~=" # duplicated messages + +# message headers ------------------------------------------------------ + +#color header brightgreen default "^" +color hdrdefault brightgreen default +color header brightyellow default "^(From)" +color header blue default "^(Subject)" + +# body ----------------------------------------------------------------- + +color quoted blue default +color quoted1 cyan default +color quoted2 yellow default +color quoted3 red default +color quoted4 brightred default + +color signature brightgreen default +color bold black default +color underline black default +color normal default default +# +color body brightcyan default "[;:][-o][)/(|]" # emoticons +color body brightcyan default "[;:][)(|]" # emoticons +color body brightcyan default "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ + |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ + |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" +color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? +color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? + +## pgp + +color body red default "(BAD signature)" +color body cyan default "(Good signature)" +color body brightblack default "^gpg: Good signature .*" +color body brightyellow default "^gpg: " +color body brightyellow red "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" + +# yes, an insance URL regex +color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" +# and a heavy handed email regex +#color body J_magent default "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" + +# Various smilies and the like +#color body brightwhite default "<[Gg]>" # <g> +#color body brightwhite default "<[Bb][Gg]>" # <bg> +#color body yellow default " [;:]-*[})>{(<|]" # :-) etc... +# *bold* +#color body blue default "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +#mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +# _underline_ +#color body blue default "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +#mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +# /italic/ (Sometimes gets directory names) +#color body blue default "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" +#mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" + +# Border lines. +#color body blue default "( *[-+=#*~_]){6,}" + +#folder-hook . "color status J_black J_status " +#folder-hook gmail/inbox "color status J_black yellow " +#folder-hook gmail/important "color status J_black yellow " + diff --git a/.config/neomutt/colors-solarized-dark-256.muttrc b/.config/neomutt/colors-solarized-dark-256.muttrc new file mode 100644 index 00000000..0e51f71a --- /dev/null +++ b/.config/neomutt/colors-solarized-dark-256.muttrc @@ -0,0 +1,163 @@ +# vim: filetype=muttrc +# Colors: https://github.com/altercation/mutt-colors-solarized/blob/master/mutt-compile-colors.sh + +# +# make sure that you are using mutt linked against slang, not ncurses, or +# suffer the consequences of weird color issues. use "mutt -v" to check this. + +# custom body highlights ----------------------------------------------- +# highlight my name and other personally relevant strings +color body color136 color234 "(baptiste|genier|gnubila|healthgrid|egi|boob|bgrenier|gwarf)" +# custom index highlights ---------------------------------------------- +# messages which mention my name in the body +#color index color136 color234 "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" +#color index J_cream color230 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" +#color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" +#color index color136 color125 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" +color index color136 color234 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" +color index color136 color37 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" +## messages which are in reference to my mails +#color index color125 color234 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" +#color index color125 color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" +#color index color125 color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" +#color index color125 color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" +color index color125 color234 "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" + +# for background in 16 color terminal, valid background colors include: +# base03, bg, black, any of the non brights + +# basic colors --------------------------------------------------------- +color normal color241 color234 +color error color160 color234 +color tilde color235 color234 +color message color37 color234 +color markers color160 color254 +color attachment color254 color234 +color search color61 color234 +#color status J_black J_status +color status color241 color235 +color indicator color234 color136 +# arrow in threads +color tree color136 color234 + +# basic monocolor screen +mono bold bold +mono underline underline +mono indicator reverse +mono error bold + +# index ---------------------------------------------------------------- + +#color index color160 color234 "~D(!~p|~p)" # deleted +#color index color235 color234 ~F # flagged +#color index color166 color234 ~= # duplicate messages +#color index color240 color234 "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest +#color index J_base color234 "~A~N!~T!~p!~Q!~F!~D" # the rest, new +color index color160 color234 "~A" # all messages +color index color166 color234 "~E" # expired messages +color index color33 color234 "~N" # new messages +color index color33 color234 "~O" # old messages +color index color61 color234 "~Q" # messages that have been replied to +color index color240 color234 "~R" # read messages +color index color33 color234 "~U" # unread messages +color index color33 color234 "~U~$" # unread, unreferenced messages +color index color241 color234 "~v" # messages part of a collapsed thread +color index color241 color234 "~P" # messages from me +color index color37 color234 "~p!~F" # messages to me +color index color37 color234 "~N~p!~F" # new messages to me +color index color37 color234 "~U~p!~F" # unread messages to me +color index color240 color234 "~R~p!~F" # messages to me +color index color160 color234 "~F" # flagged messages +color index color160 color234 "~F~p" # flagged messages to me +color index color160 color234 "~N~F" # new flagged messages +color index color160 color234 "~N~F~p" # new flagged messages to me +color index color160 color234 "~U~F~p" # new flagged messages to me +color index color235 color160 "~D" # deleted messages +color index color245 color234 "~v~(!~N)" # collapsed thread with no unread +color index color136 color234 "~v~(~N)" # collapsed thread with some unread +color index color64 color234 "~N~v~(~N)" # collapsed thread with unread parent +# statusbg used to indicated flagged when foreground color shows other status +# for collapsed thread +color index color160 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread +color index color136 color235 "~v~(~F~N)" # collapsed thread with some unread & flagged +color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged +color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged +color index color37 color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly +color index color136 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) +#color index color136 color234 "~(~N)" # messages in threads with some unread +#color index color64 color234 "~S" # superseded messages +color index color160 color234 "~T" # tagged messages +#color index color166 color160 "~=" # duplicated messages + +# message headers ------------------------------------------------------ + +#color header color240 color234 "^" +color hdrdefault color240 color234 +color header color33 color234 "^(From)" +color header color33 color234 "^(Subject)" + +# body ----------------------------------------------------------------- + +color quoted color33 color234 +color quoted1 color37 color234 +color quoted2 color136 color234 +color quoted3 color160 color234 +color quoted4 color166 color234 + +color signature color240 color234 +color bold color235 color234 +color underline color235 color234 +color normal color244 color234 +# +color body color245 color234 "[;:][-o][)/(|]" # emoticons +color body color245 color234 "[;:][)(|]" # emoticons +color body color245 color234 "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ + |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ + |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" +color body color245 color234 "[ ][*][^*]*[*][ ]?" # more emoticon? +color body color245 color234 "[ ]?[*][^*]*[*][ ]" # more emoticon? + +## pgp + +color body color160 color234 "(BAD signature)" +color body color37 color234 "(Good signature)" +color body color234 color234 "^gpg: Good signature .*" +color body color241 color234 "^gpg: " +color body color241 color160 "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" + +# yes, an insance URL regex +color body color160 color234 "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" +# and a heavy handed email regex +color body color160 color234 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" + +# Various smilies and the like +#color body color230 color234 "<[Gg]>" # <g> +#color body color230 color234 "<[Bb][Gg]>" # <bg> +#color body color136 color234 " [;:]-*[})>{(<|]" # :-) etc... +# *bold* +color body color33 color234 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +# _underline_ +color body color33 color234 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +# /italic/ (Sometimes gets directory names) +color body color33 color234 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" +mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" + +# Border lines. +#color body color33 color234 "( *[-+=#*~_]){6,}" + +#folder-hook . "color status J_black J_status " +#folder-hook gmail/inbox "color status J_black color136 " +#folder-hook gmail/important "color status J_black color136 " + +# patch/diff +color body green default "^diff \-.*" +color body green default "^index [a-f0-9].*" +color body green default "^\-\-\- .*" +color body green default "^[\+]{3} .*" +color body cyan default "^[\+][^\+]+.*" +color body red default "^\-[^\-]+.*" +color body brightblue default "^@@ .*" diff --git a/.config/neomutt/dump-ical.py b/.config/neomutt/dump-ical.py new file mode 100755 index 00000000..114949af --- /dev/null +++ b/.config/neomutt/dump-ical.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python +# https://github.com/simonjbeaumont/.dotfiles/blob/ce081a65/mutt/dump-ical.py + +import sys +import warnings +import vobject + + +def get_invitation_from_path(path): + with open(path) as f: + try: + # vobject uses deprecated Exceptions + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + return vobject.readOne(f, ignoreUnreadable=True) + except AttributeError: + return vobject.readOne(f, ignoreUnreadable=True) + + +def person_string(c): + if 'CN' in c.params: + person = "%s %s" % (c.params['CN'][0], "<%s>" % c.value.split(':')[1]) + else: + person = "<%s>" % c.value.split(':')[1] + return person + + +def when_str_of_start_end(s, e): + date_format = "%a, %d %b %Y at %H:%M" + until_format = "%H:%M" if s == e else date_format + return "%s -- %s" % (s.strftime(date_format), e.strftime(until_format)) + + +def pretty_print_invitation(invitation): + event = invitation.vevent.contents + title = event['summary'][0].value + org = event['organizer'][0] + invitees = event['attendee'] + start = event['dtstart'][0].value + end = event['dtend'][0].value + location = event['location'][0].value + description = event['description'][0].value + print("="*70) + print("MEETING INVITATION".center(70)) + print("="*70) + print("Event:\n\t%s" % title) + print("Organiser:\n\t%s" % person_string(org)) + print("Invitees:") + for i in invitees: + print("\t%s" % person_string(i)) + print("When:\n\t%s" % when_str_of_start_end(start, end)) + print("Location:\n\t%s" % location) + print("---\n%s---" % description) + + +if __name__ == "__main__": + if len(sys.argv) != 2 or sys.argv[1].startswith('-'): + sys.stderr.write("Usage: %s <filename.ics>\n" % sys.argv[0]) + sys.exit(2) + inv = get_invitation_from_path(sys.argv[1]) + pretty_print_invitation(inv) diff --git a/.config/neomutt/forgotten-attachment b/.config/neomutt/forgotten-attachment new file mode 100644 index 00000000..370ac00b --- /dev/null +++ b/.config/neomutt/forgotten-attachment @@ -0,0 +1,16 @@ +# NeoMutt config file for the forgotten-attachment feature. + +# The 'forgotten-attachment' feature provides a new setting for NeoMutt that +# alerts the user if the message body contains a certain regular expression but there are +# no attachments added. This is meant to ensure that the user does not forget +# to attach a file after promising to do so in the mail. + +# Ask if the user wishes to abort sending if $attach_keyword is found in the +# body, but no attachments have been added +set abort_noattach = ask-yes + +# Search for the following regular expression in the body of the email +# Français and English +# set attach_keyword = "\\<(attaché|attachés|attach|attache|attached|attachments?|attachons|joint|jointe|joints|jointes|joins|joignons)\\>" + +# vim: syntax=neomuttrc: diff --git a/.config/neomutt/headers b/.config/neomutt/headers new file mode 100644 index 00000000..8c26405d --- /dev/null +++ b/.config/neomutt/headers @@ -0,0 +1,25 @@ +# Headers + +# edit all headers lines in the editor +set edit_headers + +ignore * +unignore from date subject to cc reply-to +unignore x-url x-resent organization +unignore x-mailing-list list-id list-unsubscribe +unignore user-agent x-agent x-mailer x-newsreader +unignore newsgroups posted-to x-also-posted-to +unignore sender x-original-sender +unignore priority importance +unignore mail-followup-to in-reply-to +# useful to debug smtp path but too verbose +# unignore references +# unignore content-type +unignore message-id +unignore tags +unignore folder + +unhdr_order * +hdr_order Sender: From: To: Cc: Subject: Date: Reply-To: Organization: Message-Id: User-Agent: X-Editor: X-Mailer: X-Newsreader: X-Agent: X-Resent: Followup-To: Mail-Followup-To: Folder: Tags: + +# vim: set ft=muttrc: diff --git a/.config/neomutt/hooks b/.config/neomutt/hooks new file mode 100644 index 00000000..5ec4b636 --- /dev/null +++ b/.config/neomutt/hooks @@ -0,0 +1,16 @@ +# Hooks + +# Load the appropriate profile depending on the folder +# folder-hook Perso/* 'source ~/.config/neomutt/profile.perso' +# folder-hook Gmail/* 'source ~/.config/neomutt/profile.egi' +# folder-hook Perso 'source ~/.config/neomutt/profile.perso' +# folder-hook Gmail 'source ~/.config/neomutt/profile.egi' + +# When replying load profile corresponding to the To: +# reply-hook "~t baptiste@bapt.name" "source ~/.config/neomutt/profile-imap.perso" +# reply-hook "~t baptiste.grenier@egi.eu" "source ~/.config/neomutt/profile-maildir.egi" + +# When sending load profile corresponding to the To: +# send-hook @egi\\.eu$ "source ~/.config/neomutt/profile.egi" + +# vim: set ft=muttrc: diff --git a/.config/neomutt/index-color b/.config/neomutt/index-color new file mode 100644 index 00000000..0911ba93 --- /dev/null +++ b/.config/neomutt/index-color @@ -0,0 +1,12 @@ +# Index color + +# http://www.neomutt.org/feature/index-color/ +# color index_author default color234 '.*' +# color index_flags default red '~F' +# color index_collapsed default brightblue +# color index_date green default +# color index_label default brightgreen +# color index_number red default +# color index_size cyan default + +# vim: set ft=muttrc: diff --git a/.config/neomutt/mailcap-osx b/.config/neomutt/mailcap-osx new file mode 100644 index 00000000..6617b2bb --- /dev/null +++ b/.config/neomutt/mailcap-osx @@ -0,0 +1,16 @@ +application/pdf ; pdftotext -layout %s - ; copiousoutput ; print = ~/.config/neomutt/view_attachment %s - +document/pdf ; pdftotext -layout %s - ; copiousoutput ; print = ~/.config/neomutt/view_attachment %s - +# lookup mime tipe in mime.types +mime_lookup application/octet-stream application/octetstream +# XXX Disabled as looking up mime types +# application/octet-stream; ~/.config/neomutt/view_attachment %s - +video/*; ~/.config/neomutt/view_attachment %s - +image/*; ~/.config/neomutt/view_attachment %s - +# View file in W3M, use print to view them in default browser +text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser" %s +text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; +# text/html; ~/.config/neomutt/view_attachment %s html +text/csv ; bat %s ; copiousoutput +application/json ; bat %s; print = open %s +# XXX not sure if used +application/*; ~/.config/neomutt/view_attachment %s - diff --git a/.config/neomutt/maildir b/.config/neomutt/maildir new file mode 100644 index 00000000..77c830e8 --- /dev/null +++ b/.config/neomutt/maildir @@ -0,0 +1,11 @@ +# Using maildir + +# Move read email to All Mail folder +##set move +#unset move # gmail does that +#set delete # don't ask, just do +#unset confirmappend # don't ask, just do! +set mbox_type = Maildir +set folder = ~/Mail + +# vim: set ft=muttrc: diff --git a/.config/neomutt/mime-view b/.config/neomutt/mime-view new file mode 100644 index 00000000..b8bf3c7c --- /dev/null +++ b/.config/neomutt/mime-view @@ -0,0 +1,36 @@ +# MIME-Viewer +unauto_view * +auto_view text/html +auto_view text/calendar application/ics +auto_view image/x-portable +auto_view image/x-portable-bitmap +auto_view image/x-portable-graymap +auto_view image/x-portable-anymap +auto_view image/x-portable-pixmap +auto_view application/pgp-signature +auto_view application/pgp +auto_view application/x-gunzip +auto_view application/postscript +auto_view application/x-troff-man +auto_view application/x-troff-me +auto_view application/x-troff +auto_view application/x-gtar +auto_view application/x-tar +auto_view application/x-tar-gz +auto_view application/x-sh +auto_view application/x-csh +auto_view application/x-shar +auto_view application/x-latex +auto_view application/x-tex +auto_view application/x-dvi +auto_view application/x-zip-compressed +auto_view application/x-cpio text/richtext +auto_view application/pgp-keys +auto_view application/octet-stream +auto_view text/x-vcard +auto_view text/enriched +auto_view text/csv + +alternative_order text/calendar text/plain text/enriched text/html + +# vim: syntax=neomuttrc: diff --git a/.config/neomutt/mime.types b/.config/neomutt/mime.types new file mode 100644 index 00000000..c48e87a4 --- /dev/null +++ b/.config/neomutt/mime.types @@ -0,0 +1,113 @@ +# +# mime.types +# + +application/andrew-inset ez +application/excel xls +application/json json +application/octet-stream bin +application/oda oda +application/pdf pdf +application/pgp pgp +application/postscript ps PS eps +application/rdf+xml rdf +application/rss+xml rss +application/rtf rtf +application/vnd.mozilla.xul+xml xul +application/vnd.oasis.opendocument.chart odc +application/vnd.oasis.opendocument.database odb +application/vnd.oasis.opendocument.formula odf +application/vnd.oasis.opendocument.graphics odg +application/vnd.oasis.opendocument.graphics-template otg +application/vnd.oasis.opendocument.image odi +application/vnd.oasis.opendocument.presentation odp +application/vnd.oasis.opendocument.presentation-template otp +application/vnd.oasis.opendocument.spreadsheet ods +application/vnd.oasis.opendocument.spreadsheet-template ots +application/vnd.oasis.opendocument.text odt +application/vnd.oasis.opendocument.text-master odm +application/vnd.oasis.opendocument.text-template ott +application/vnd.oasis.opendocument.text-web oth +application/vnd.sun.xml.calc sxc +application/vnd.sun.xml.calc.template stc +application/vnd.sun.xml.draw sxd +application/vnd.sun.xml.draw.template std +application/vnd.sun.xml.impress sxi +application/vnd.sun.xml.impress.template sti +application/vnd.sun.xml.writer sxw +application/vnd.sun.xml.writer.global sxg +application/vnd.sun.xml.writer.math sxm +application/vnd.sun.xml.writer.template stw +application/x-arj-compressed arj +application/x-bcpio bcpio +application/x-chess-pgn pgn +application/x-cpio cpio +application/x-csh csh +application/x-debian-package deb +application/x-msdos-program com exe bat +application/x-dvi dvi +application/x-gtar gtar +application/x-gunzip gz +application/x-hdf hdf +application/x-latex latex +application/x-mif mif +application/x-netcdf cdf nc +application/x-perl pl pm +application/x-rar-compressed rar +application/x-sh sh +application/x-shar shar +application/x-sv4cpio sv4cpio +application/x-sv4crc sv4crc +application/x-tar tar +application/x-tar-gz tgz tar.gz +application/x-tcl tcl +application/x-tex tex +application/x-texinfo texi texinfo +application/x-troff t tr roff +application/x-troff-man man +application/x-troff-me me +application/x-troff-ms ms +application/x-ustar ustar +application/x-wais-source src +application/x-zip-compressed zip +application/xhtml+xml xhtml xht +application/xml xml xsl + +audio/basic snd +audio/midi mid midi +audio/ulaw au +audio/x-aiff aif aifc aiff +audio/x-wav wav + +image/gif gif +image/ief ief +image/jpeg jpe jpeg jpg +image/png png +image/svg+xml svg svgz +image/tiff tif tiff +image/x-cmu-raster ras +image/x-portable-anymap pnm +image/x-portable-bitmap pbm +image/x-portable-graymap pgm +image/x-portable-pixmap ppm +image/x-rgb rgb +image/x-xbitmap xbm +image/x-xpixmap xpm +image/x-xwindowdump xwd + +text/html html htm +text/plain asc txt +text/richtext rtx +text/tab-separated-values tsv +text/x-setext etx + +video/dl dl +video/fli fli +video/gl gl +video/mpeg mp2 mpe mpeg mpg +video/quicktime mov qt +video/x-msvideo avi +video/x-sgi-movie movie + +x-world/x-vrml vrm vrml wrl +application/vnd.openxmlformats-officedocument.presentationml.presentation pptx diff --git a/.config/neomutt/mu b/.config/neomutt/mu new file mode 100644 index 00000000..a7cc3763 --- /dev/null +++ b/.config/neomutt/mu @@ -0,0 +1,7 @@ + # Mu + # first macro does the search according to user query, second macro jumps to result list + macro index <F8> "<shell-escape>rm -rf ~/.mu/results; mu-find -o l -l ~/.mu/results " "mu-find" + macro index <F9> "<change-folder-readonly>~/.mu/results\n" "display mu-find results" + +# looking up addresses with mu cfind +# set query_command="mu cfind -–format=mutt-ab '%s" diff --git a/.config/neomutt/mutt-common.rc b/.config/neomutt/mutt-common.rc new file mode 100644 index 00000000..ee6e9e1c --- /dev/null +++ b/.config/neomutt/mutt-common.rc @@ -0,0 +1,181 @@ +# http://stevelosh.com/blog/2012/10/the-homely-mutt +# https://pbrisbin.com/posts/mutt_gmail_offlineimap/ + +# Caching +set header_cache = ~/.mutt/cache/headers +set message_cachedir = ~/.mutt/cache/bodies +set certificate_file = ~/.mutt/certificates + +set tmpdir = '~/tmp' + +set editor = 'nvim' +set shell = "/bin/zsh" + +# number of input lines for prompts to remember +set history = 1000 +set history_file = "~/.config/neomutt/history" +set save_history = 1000 + +# SMIME / PGP +set smime_is_default = yes +set crypt_autosmime = yes +set crypt_verify_sig = yes +set crypt_autosign = yes +set crypt_replysign = yes +set crypt_replysignencrypted = yes +set smime_ask_cert_label +set forward_decrypt = yes + +# Mailing lists management +# https://neomutt.org/guide/advancedusage.html#using-lists +# Automatically detect subscribed lists by looking at List-Post header +# Lists can be excluded using unsubscribe and unlist +set auto_subscribe + +set mailcap_path = "~/.mailcap:/etc/mailcap" + +# Printing +set print = ask-yes # ask before printing +# set print_command="muttprint %s -P A4 -p CanonMX920" +set print_command = "muttprint %s -P A4 -C lpr" + +# skip to compose when replying +set fast_reply +# ask for CC: +set askcc + +set folder_format = "%3C %t %N %f" + +# set index_format = "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s" +# Display sender instead of subscrived maling list +set index_format = "%4C %Z %{%b %d} %-20.19F (%?l?%4l&%4c?) %s" + +# Status bar +set status_chars = " *%A" +set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───" + +# Quotations +set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" + +set attribution = "Le %(%d/%m/%y) à %(%H:%M), %n téléscripta :" + +# Send flowed emails +set text_flowed = yes +# Wrap received flowed emails +set reflow_text = yes +set reflow_wrap = 76 + +set mail_check = 0 +set envelope_from +# reply as whomever it was to +set reverse_alias +# set reverse_name + +# Hooks +source ~/.config/neomutt/hooks + +set quit # don't ask, just do!! +unset mark_old # read/new is good enough + +# sort/threading +# Goal: +# * sort by threads, most recent at the top +# * within threads: oldest message at the top, oldest to newest in descending order +# Default sorting +# Set by threads, most recent on top, but sometimes weird inside threads +# Most of the time from oldest to neweset, but sometims some are mixed +set sort = threads +set sort_aux = reverse-last-date-received +# thread based on regex +set sort_re +set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" +# Ensure that INBOX is always using appropriate sorting +folder-hook Inbox 'set sort=threads sort_aux=reverse-last-date-received' +folder-hook Sent 'set sort=reverse-date-sent' +# Threads sorted correctly but at bottom +#set sort_aux = last-date-received + +# collapse threads with unread mails +# set collapse_unread +# don't collapse on an unread message +set uncollapse_jump + +# Pager View Options +# format of the pager status bar +spam "X-Spam-Score: ([0-9\\.]+).*" "SA: %1" +set pager_format = "──[%[%y.%m.%d %H:%M]]──[%.20F]─[%s]%*─%?H?─[%H] ?" + +# number of index lines to show +set pager_index_lines = 10 +# number of context lines to show +set pager_context = 5 +# don't go to next message automatically +set pager_stop +# scroll in menus +set menu_scroll +set smart_wrap +# show tildes like in vim +set tilde +# no ugly plus signs +unset markers + +# composing +# save attachments with the body +set fcc_attach +set include + +set forward_decode = yes + +# Forward message as attachement +set mime_forward = ask-yes +set mime_forward_rest = ask-yes + +# Forgotter Attachemnt +source ~/.config/neomutt/forgotten-attachment + +# Colors +source ~/.config/neomutt/colors +source ~/.config/neomutt/index-color + +# Key bindings, macros +source ~/.config/neomutt/bindings + +# Spelling +set ispell = "aspell -e -c" + +set send_charset = "utf-8" + +# Headers +source ~/.config/neomutt/headers + +# MIME-Viewer +source ~/.config/neomutt/mime-view +# XXX Configure automatic querying of mime types +# set mime_type_query_command = "file --mime-type --brief" +# set mime_type_query_first = no + +# Disaplay filter +#set display_filter=/home/baptiste/.mutt/mutt_display_filter +#set display_filter=/home/baptiste/.mutt/test_display_filter +#set display_filter='par 72gqr' +#set wrapmargin=60 + +# http://www.neomutt.org/feature/new-mail/ +# set new_mail_command="notify-send --icon='/home/baptiste/.mutt/mutt.png' 'New Email in %f' '%n new messages, %u unread.' &" + +# Maildir +source ~/.config/neomutt/maildir + +# sidebar +source ~/.config/neomutt/sidebar + +# Source mu configuration +source ~/.config/neomutt/mu + +set realname = "Baptiste Grenier" + +# Source default profile +# XXX need to manually link it +source ~/.config/neomutt/default-profile + +# vim: set ft=muttrc: diff --git a/.config/neomutt/muttrc b/.config/neomutt/muttrc new file mode 100644 index 00000000..391b1326 --- /dev/null +++ b/.config/neomutt/muttrc @@ -0,0 +1,7 @@ +# Source Mutt legacy configuration +source ~/.config/neomutt/mutt-common.rc + +# Notmuch support without patched mutt +source ~/.config/neomutt/notmuch-mutt.rc + +# vim: set ft=muttrc: diff --git a/.config/neomutt/neomuttrc b/.config/neomutt/neomuttrc new file mode 100644 index 00000000..70f68293 --- /dev/null +++ b/.config/neomutt/neomuttrc @@ -0,0 +1,11 @@ +# Source Mutt legacy configuration +source ~/.config/neomutt/mutt-common.rc + +# Source neomutt-specific configuration +# Colors +source ~/.config/neomutt/progress-color + +# Not supported in mutt without notmuch patch +source ~/.config/neomutt/notmuch-neomutt.rc + +# vim: set ft=muttrc: diff --git a/.config/neomutt/notmuch-mutt.rc b/.config/neomutt/notmuch-mutt.rc new file mode 100644 index 00000000..8b20321c --- /dev/null +++ b/.config/neomutt/notmuch-mutt.rc @@ -0,0 +1,22 @@ +# Search +macro index <F4> \ +"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ +<shell-escape>notmuch-mutt -r --prompt search<enter>\ +<change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\ +<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ + "notmuch: search mail" + +# Reconstruct thread +macro index <F5> \ +"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ +<pipe-message>notmuch-mutt -r thread<enter>\ +<change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\ +<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ + "notmuch: reconstruct thread" + +# Remove from inbox +macro index <F6> \ +"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ +<pipe-message>notmuch-mutt tag -- -inbox<enter>\ +<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ + "notmuch: remove message from inbox" diff --git a/.config/neomutt/notmuch-neomutt.rc b/.config/neomutt/notmuch-neomutt.rc new file mode 100644 index 00000000..1e7b5fb8 --- /dev/null +++ b/.config/neomutt/notmuch-neomutt.rc @@ -0,0 +1,300 @@ +# notmuch + +# XXX To be clarified +# - Need to remove unred flag when mail has been read +# - Sync mailbox after having sent an email +# - search-based addressbook (instead of gobook) +# - Index colors based on tags +# - Updating files status from tags (like read emails) +# - handling of deleted emails +# - https://github.com/neomutt/neomutt/issues/200 +# - seeing all the tags of an email from mutt +# - seeing all the tags of an email from CLI +# notmuch dump id:4DCAB3B3.8080301@maatg.com +# - Best notmuch/search-based workflow with neomutt +# - notmuch search, different results for tag= and tag: +# - Best workflow for mutlitple accounts +# - Best integration with gmail +# - delete +# - tags <=> labels +# - All: duplicates from Inbox, with different tags? +# - Managing Starred emails (separate folder?) +# - Are folders updated automatically +# - How are sorted emails in the change-vfolder view? +# - Move automatically spam marked as trainham to the trainham folder for Perso +# - validating managment of answered emails +# - Answer to 74BCB9D9-E942-466F-9204-0E46990087B5@cmcc.it (Sandro Fiore <sandro.fiore@cmcc.it> / Re: Stage rollout for analytics portle) +# -> My answer received: +all +egi +sent +signed +# -> His email received: +replied +# But not in Sent +# - Ordering vfolder browser + +#set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S" + +# path to the maildir +set nm_default_uri = "notmuch:///Users/baptiste/Mail/EGI" + +# enable virtual folders +# When set, NeoMutt will use the first virtual mailbox (see virtual-mailboxes) +# as a spoolfile. +set virtual_spoolfile = no + +# XXX virtual-mailboxes are loaded from profile-related conf +# sets up queries for virtual folders +#virtual-mailboxes \ +# "Inbox" "notmuch://?query=tag:inbox" \ +# "All" "notmuch://?query=tag:all" \ +# "TODO" "notmuch://?query=tag:todo" \ +# "Important" "notmuch://?query=tag:important" \ +# "Drafts" "notmuch://?query=tag:draft" \ +# "Trash" "notmuch://?query=tag:deleted" \ +# "Spam" "notmuch://?query=tag:spam" \ +# "Sent" "notmuch://?query=tag:sent" + +# This variable specifies notmuch query type, supported types: 'threads' and +# 'messages'. +#set nm_query_type = threads +set nm_query_type = messages + +# By default do not save sent emails +# Gmail takes care of this +#unset record +# Add messages stored to the NeoMutt record (see $record in the NeoMutt +# docs) also to notmuch DB. +# If you reply to an email then the new email inherits tags from the +# original email. +#set nm_record = no + +# set nm_record_tag = '' +# Tags that should be removed or added to the to the messages stored in the NeoMutt record. +# +# example: +# set record = "~/Mail/EGI/Sent" +# set nm_record = yes +# set nm_record_tags = "-inbox,archive,me,egi" + +# use new? +#set nm_unread_tag = unread + +# This variable specifies private notmuch tags which should not be printed +# on screen (index, pager). +# nm_hidden_tags: unknown variable +# set nm_hidden_tags = "unread,draft,flagged,passed,replied,attachment,signed,encrypted" +# set nm_hidden_tags = "passed,replied,attachment,signed,encrypted" + +# The messages tagged with these tags are excluded and not loaded +# from notmuch DB to NeoMutt unless specified explicitly. +#set nm_exclude_tags = "" + +# setup time window preferences +# first setup the duration, and then the time unit of that duration +# when set to 0 (the default) the search window feature is disabled +# XXX Setting this will limit shown messages! +set nm_query_window_duration=0 +# Could also be "hour", "day", "week", "month", "year" +set nm_query_window_timebase="week" + +# Configure vfolder browser display +# XXX how to order folder list? +# $n: number of unread messages +# $m: number of messages +# $N: N if mailbox has new mail +#set vfolder_format = '%6n/%6m (%N) %f' + +# Replace some tags with icons +# tag-transforms tag transformed-string { tag transformed-string ...} +# XXX This chars are taking more than one cell +# tag-transforms "inbox" "" \ +# "unread" "✘" \ +# "replied" "↻" \ +# "sent" "✎" \ +# "important" "★" \ +# "waiting" "" \ +# "deleted" "" \ +# "spam" "😈" \ +# "attachment" "" \ +# "invites" "" + +# The formats must start with 'G' and the entire sequence is case sensitive. +# tag-formats tag format-string { tag format-string ...} +# tag-formats "inbox" "Gi" \ +# "unread" "GU" \ +# "replied" "GR" \ +# "sent" "GS" \ +# "important" "Gt" \ +# "waiting" "Gw" \ +# "deleted" "GD" \ +# "spam" "GT" \ +# "attachment" "Ga" \ +# "invites" "GI" + +# http://www.mutt.org/doc/manual/#index-format +# Now instead of using '%g' in your $index_format, which lists all tags +# in a non-deterministic order, you can something like the following which puts +# a transformed tag name in a specific spot on the index line: +# %C: message number +# %S: Single character status of the message ( “N”/ “O”/ “D”/ “d”/ “!”/ “r”/ “*”) +# %Z: Message status flag on 3 chars +# - New, Read, Reply +# - Deletion or Encryption flags +# - Tagging, flagging or information about the To/Cc... +# %[%y.%m.%d]: Date +# %n: Author realname or email if missing +# %F: author name, or recipient name if the message is from you +# %W: Organization +# .G: Notmuch tags info +# - %Gi: inbox +# - %GD: deleted +# - %GU: unread +# - %GR: replied +# - %GI: invites (calendar invitation) +# - %GT: spam +# - %Gw: waiting +# %s: message subject +# Default: %4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s +#set index_format='%4C %Z %[%y.%m.%d] %-18.18F %?Gi?%Gi& ? %?GD?%GD& ? %?GR?%GR& ? %?GI?%GI& ? %?GT?%GT& ? %?Gw?%Gw& ? %?Ga?%Ga& ? %s' + +## Macros and bindings + +# open a different virtual folder +#macro index,pager c "<change-vfolder>?" +# macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>' +# modify (notmuch) tags +#bind index,pager \` modify-labels + +# generate virtual folder from query +macro index \\\\ "<vfolder-from-query>" +bind index,pager <F4> vfolder-from-query +bind index,pager \eX vfolder-from-query + +# Mive time window of virtual folder from query +# Only works if nm_query_window_duration > 0 +bind index < vfolder-window-backward +bind index > vfolder-window-forward + +# read entire thread of the current message +bind index,pager <F5> entire-thread + +# 'L' performs a notmuch query, showing only the results +macro index L "<enter-command>unset wait_key<enter><shell-escape>read -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"<enter>" "show only messages matching a notmuch pattern" +# 'a' shows all messages again (supersedes default <alias> binding) +# macro index a "<limit>all\n" "show all messages (undo limit)" + +# macros to invoke a profile +#macro index <F8> ":source ~/.config/neomutt/profile.egi<enter><change-vfolder>Inbox<enter>" "Load profile: egi" +#macro index <F9> ":source ~/.config/neomutt/profile.perso<enter><change-vfolder>Inbox<enter>" "Load profile: perso" + +## Prefix-based bindings + +# [g]o to +# Set/modify [t]ag +# Launch [a]ction +# Need to free the short keymap +# https://www.neomutt.org/guide/configuration.html#bind-warnings +#bind index,pager g noop +#bind index,pager t noop +#bind index,pager a noop + +## Tagging emails + +# tag as read and archive +# macro index A "<modify-labels-then-hide>+all -unread -inbox<enter>" +# macro index,pager A "<modify-labels>+all -unread -inbox<enter>" +# macro index,pager ta "<modify-labels>+all -unread -inbox<enter>" +# # tag as unread and unarchive +# macro index,pager N "<modify-labels>-all +unread +inbox<enter><sync-mailbox>" +# macro index,pager tu "<modify-labels>-all +unread +inbox<enter><sync-mailbox>" +# # toglle important flag +# macro index,pager F "<flag-message><modify-labels>!important !starred<enter><sync-mailbox>" +# macro index,pager ti "<flag-message><modify-labels>!important !starred<enter><sync-mailbox>" +# macro index,pager ts "<flag-message><modify-labels>!important !starred<enter><sync-mailbox>" +# # Toggle the 'todo' tag +# macro index,pager tt "<modify-labels>!todo<enter><sync-mailbox>" +# macro index,pager <F2> "<modify-labels>!todo<enter><sync-mailbox>" +# # Mark as spam +# macro index,pager S "<modify-labels-then-hide>-inbox -unread +junk<enter><sync-mailbox>" +# macro index,pager ts "<modify-labels-then-hide>-inbox -unread +junk<enter><sync-mailbox>" +# # Mark as to waiting reply +# macro index,pager tw "<modify-labels>+waiting<enter><sync-mailbox>" +# # Delete emails from the index, but NOT delete the file. +# # To be managed elsewhere (afew to move it in the Trahs folder?) +# # XXX how are they hidden? +# # XXX how to flag mail as deleted/red in the UI? +# # When in index it updates tags and moves to next email +# # When in pager it updates tags but do not move to next email +# macro index d "<modify-labels-then-hide>+deleted -inbox -unread -all<enter>" +# macro pager d "<modify-labels-then-hide>+deleted -inbox -unread -all<enter><next-message>" +# # TODO Need to manage delete-thread Ctrl-d and Undelete Thread Ctrl-u +# # Revovering emails marked for deletion +# macro index u "<modify-labels-then-hide>-deleted +inbox +all<enter>" +# # removed from inbox +# # bind index,pager D quasi-delete + +## Actions on emails + +# Create a taskwarrior task using mutt2task +# macro index,pager at \ +# "<pipe-message>mutt2task.py<enter><modify-labels>+todo<enter><sync-mailbox>" +# macro index,pager ag \ +# "<pipe-message>add_contact<enter>" \ +# "add sender to google contacts" + +## Opening virtual folders + +# macro index,pager gi \ +# <change-vfolder>Inbox<enter> \ +# "Go to inbox" +# macro index,pager gu \ +# <change-vfolder>Unread<enter> \ +# "Go to unread" +# macro index,pager ga \ +# <change-vfolder>All<enter> \ +# "Go to All" +# macro index,pager gt \ +# <change-vfolder>Sent<enter> \ +# "Go to Sent" +# macro index,pager gb \ +# <change-vfolder>Trash<enter> \ +# "Go to Trash Bin" +# macro index,pager gd \ +# <change-vfolder>Drafts<enter> \ +# "Go to Drafts" +# macro index,pager gs \ +# <change-vfolder>Important<enter> \ +# "Go to Important/Starred" + +# Colors tag indicators in index + +# These symbols are added to the index-color feature: +# an individual message tag, %G, uses tag name +# this symbol uses a pattern +# the transformed message tags, %g +# this symbol does not use a pattern + +# important messages +# color index_tag color160 color234 "t" +# # deleted messages +# color index_tag color235 color160 "D" +# # Error in patern +# # color index_tag color235 color160 "~GD" +# color index_tag color235 color160 "GD" +# color index_tag color235 color160 "~D" +# # invites messages +# color index_tag color160 color234 "important" +# color index_tag color160 color234 "starred" +# color index_tag color160 color234 "I" +# # Inbox message +# color index_tag color33 color234 "unbox" + +# Used where/when? +# color index_tags green default + +# Colors messages based on tags +# flagged messages +# color index color160 color234 "~F" +# Not able to find an appripriate pattern for this +# color index color160 color234 "~G 'starred'" +#color index color160 color234 "~Gt" +# color index color160 color234 "Gt" + +# vim: set ft=muttrc: diff --git a/.config/neomutt/profile-imap.perso b/.config/neomutt/profile-imap.perso new file mode 100644 index 00000000..de2ea028 --- /dev/null +++ b/.config/neomutt/profile-imap.perso @@ -0,0 +1,88 @@ +# Mutt sender profile: perso + +# IMAP configuration +set folder=imaps://mail.bapt.name/ +source imap +set imap_user=$my_user +set imap_pass=$my_pass + +# Allow Mutt to open a new IMAP connection automatically. +unset imap_passive + +# Keep the IMAP connection alive by polling intermittently (time in seconds). +set imap_keepalive = 300 + +set mail_check=90 +set timeout=15 + +# SMTP configuration +set smtp_url=smtps://$my_user:$my_pass@mail.bapt.name +set ssl_force_tls = yes + +# Custom status color for this profile +color status cyan default + +set move = no # Stop asking to "move read messages to mbox"! +unset confirmappend +set spoolfile = "+INBOX" +set postponed = "+Drafts" +set record = "+Sent" +# If using trash-folder-patch +set trash="+Trash" + +# Allow to select list of folders to check +# mailboxes +Archive +Drafts +Trash +Junk +Sent +# Check all folders +set imap_check_subscribed + +#set use_from = yes +set from = "baptiste@bapt.name" + +# Signature file +set signature='~/.config/neomutt/signature-perso' + +set envelope_from_address="baptiste@bapt.name" + +# Customized headers +unmy_hdr * # remove all extra headers first. + +my_hdr From: Baptiste Grenier <baptiste@bapt.name> +my_hdr Reply-To: Baptiste Grenier <baptiste@bapt.name> + +# Use GPGME to simplify GPG and S/MIME configuration +set crypt_use_gpgme = yes +set crypt_autosign +set crypt_verify_sig=yes +set crypt_replyencrypt=yes +set crypt_replysign=yes +set crypt_replysignencrypted=yes + +# Pretty Good Privacy (PGP): +# PGP using gpgme (simplified conf) +unset smime_is_default +set pgp_sign_as = "0xCDA18F02" # UserID/KeyID for signing +set nopgp_autoencrypt # Default (enc)) +set pgp_autosign # Default (sign)) +my_hdr X-PGP-Key: https://keys.bapt.name/pubkey.asc +my_hdr OpenPGP: id=CDA18F02\; url=https://keys.bapt.name/pubkey.asc\; preference\=sign + +# Extract PGP or S/MIME keys +bind index,pager \ck extract-keys + +# Include the profile name in the status line +# TODO Align profile name on the right +set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@Perso──%>─%?p?( %p postponed )?───" + +# Contacts from khard and vdirsyncer +set query_command= "khard email --parsable --search-in-source-files %s" + +# Fetching mail +# macro index \cf "<shell-escape>mbsync -a<enter>" + +# Google-like key bindings +macro index,pager A "<save-message>+Archive<enter>" "move message to the archive" + +# Mailing lists +subscribe debiocidons-bureau@framalistes.org +subscribe debiocidons-ca@framalistes.org +subscribe debiocidons@framalistes.org diff --git a/.config/neomutt/profile-maildir.egi b/.config/neomutt/profile-maildir.egi new file mode 100644 index 00000000..23a0c7ba --- /dev/null +++ b/.config/neomutt/profile-maildir.egi @@ -0,0 +1,138 @@ +# Mutt sender profile: egi + +set folder = ~/Mail/EGI + +# Copy sent message to this folder + +# Send directly using msmtp +#set sendmail = "/usr/local/bin/msmtp -a egi" +# Queue mail if offline +# /usr/local/Cellar/msmtp/1.6.6/share/msmtp/scripts/msmtpq/README.msmtpq +# set sendmail = "$HOME/bin/msmtpq" +set smtp_url = "smtp://127.0.0.1:25/" +# Don't wait for retrun code +# set sendmail_wait = -1 +# Using neomutt's SMTP feature +# set smtp_authenticators = 'gssapi:login' +# set smtp_url = "smtp://baptiste.grenier@egi.eu@smtp.gmail.com:587/" +# Get token using https://security.google.com/settings/security/apppasswords +# Set passwod on OSX: security add-generic-password -a baptiste.grenier@egi.eu -s smtp.gmail.com -w +# set smtp_pass = `security find-generic-password -w -s smtp.gmail.com -a baptiste.grenier@egi.eu` + +# Custom status color for this profile +color status cyan default + +unset confirmappend +set spoolfile = "+Inbox" +set move = no # Stop asking to "move read messages to mbox"! +#set mbox = "+All" +set postponed = "+Drafts" +# Sent emails are recorded automatically by Gmail +unset record +# Add messages stored to the NeoMutt record (see $record in the NeoMutt docs) +# also to notmuch DB. If you reply to an email then the new email inherits tags +# from the original email. +# set mbox_type = Maildir +# set record = +Sent + +# If using trash-folder-patch +set trash="+Trash" + +mailboxes +Inbox +All +Drafts +Trash +Starred +Spam +Sent + +set from = "baptiste.grenier@egi.eu" +set envelope_from_address="baptiste.grenier@egi.eu" + +# Signature file +set signature='~/.config/neomutt/signature-egi' + +# Customized headers +unmy_hdr * # remove all extra headers first. + +my_hdr Organization: EGI Foundation +my_hdr X-URL: https://egi.eu + +my_hdr From: Baptiste Grenier <baptiste.grenier@egi.eu> +my_hdr Reply-To: Baptiste Grenier <baptiste.grenier@egi.eu> + +# Use GPGME to simplify GPG and S/MIME configuration +set crypt_use_gpgme = yes +set crypt_autosign = yes +set crypt_verify_sig=yes +set crypt_replyencrypt=yes +set crypt_replysign=yes +set crypt_replysignencrypted=yes + +# Pretty Good Privacy (PGP): +# PGP using gpgme (simplified conf) +set pgp_sign_as="0xCDA18F02" # UserID/KeyID for signing +# Use S/MIME by default instead of PGP +# set pgp_autoencrypt # Default (enc)) +# set pgp_autosign # Default (sign)) +my_hdr X-PGP-Key: https://keys.bapt.name/pubkey.asc +my_hdr OpenPGP: id=CDA18F02\; url=https://keys.bapt.name/pubkey.asc\; preference\=sign + +# S/MIME using gpgme (simplified conf) +# http://wiki.netbsd.org/users/wiz/mutt-smime/ +# gpgsm --import TrustedRoot.crt +# gpgsm --import DigiCertCA.crt +# gpgsm --import baptiste_grenier_until_2021_02.p12 +# gpgsm --list-keys +# gpgsm --list-secret-keys +set smime_is_default +set crypt_autosmime = yes +# TCS DigiCert certificate +# set smime_sign_as = 0x6D26CF94 +# TCS Sectigo ceritificate +set smime_sign_as = 0x3F4B1003 +# Passphrase expiration +set smime_timeout=30000 +# Pinentry program is taken from ~/.gnupg/gpg-agent.conf +# XXX gpg-agent running from mac os X? Keychain? Keybase? + +# Extract PGP or S/MIME keys +bind index,pager \ck extract-keys + +# Include the profile name in the status line +# TODO Align profile name on the right +set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@EGI──%>─%?p?( %p postponed )?───" + +# Fetching mail +macro index \cf "<shell-escape>mbsync -a<enter>" + +# Querying Google contacts +# set query_command="lbdbq %s" +# Query email addreses in the notmuch database +#set query_command = "notmuch address from:%s" +# All addresses matching the string, way to large +# set query_command = "notmuch address %s | grep -i %s" +# People that I've alrady written to, may contain non related people +# set query_command = "notmuch address --output sender from:baptiste.grenier@egi.eu to:*%s* | grep -i %s" +# People that wrote to me +# set query_command = "notmuch address --output sender from:*%s* to:baptiste.grenier@egi.eu" +# set query_command = "echo && notmuch address --output sender to:baptiste.grenier@egi.eu from:'*%s*' or --output recipients to:'*%s*' from:baptiste.grenier@egi.eu" +# set query_command = "echo && notmuch address --output sender from:'*%s*' or --output recipients to:'*%s*'" + +# set query_format = "%4c %t %-70.70a %-70.70n %?e?(%e)?" + +# looking up addresses with mu cfind +# set query_command="mu cfind --format=mutt-ab '%s'" + +# Contacts from Google contacts +# Syncronised with vdirsyncer +# Accessed via khard +set query_command= "khard email --parsable %s" + +# set alias_file = "~/.config/neomutt/aliases" +# source "~/.config/neomutt/aliases" + +# Google-like key bindings +macro index,pager A "<save-message>+All<enter>" "move message to the archive" + +# Mailing lists +lists technical-support-cases-c@rt.egi.eu +subscribe operations@egi.eu +subscribe office@mailman.egi.eu +subscribe wise@lists.wise-community.org + +# :vim set ft=muttrc: diff --git a/.config/neomutt/profile-maildir.perso b/.config/neomutt/profile-maildir.perso new file mode 100644 index 00000000..0766fa88 --- /dev/null +++ b/.config/neomutt/profile-maildir.perso @@ -0,0 +1,86 @@ +# Mutt sender profile: perso + +set mbox_type = Maildir +set folder = ~/Mail/Perso + +# Copy sent message to this folder + +# Send directly using msmtp +#set sendmail = "/usr/local/bin/msmtp -a egi" +# Queue mail if offline +# /usr/local/Cellar/msmtp/1.6.6/share/msmtp/scripts/msmtpq/README.msmtpq +set sendmail = "msmtp" +# Wait for retrun code +set sendmail_wait = -1 + +# Custom status color for this profile +color status cyan default + +unset confirmappend +set spoolfile = "+Inbox" +set move = no # Stop asking to "move read messages to mbox"! +#set mbox = "+All" +set postponed = "+Drafts" +# Sent emails are recorded automatically by Gmail +# unset record +# Add messages stored to the NeoMutt record (see $record in the NeoMutt docs) +# also to notmuch DB. If you reply to an email then the new email inherits tags +# from the original email. +# set mbox_type = Maildir +set record = "+Sent" + +# If using trash-folder-patch +set trash="+Trash" + +mailboxes +Archive +Drafts +Trash +Junk +Sent + +set from = "baptiste@bapt.name" + +# Signature file +set signature='~/.config/neomutt/signature-perso' + +set envelope_from_address="baptiste@bapt.name" + +# Customized headers +unmy_hdr * # remove all extra headers first. + +my_hdr From: Baptiste Grenier <baptiste@bapt.name> +my_hdr Reply-To: Baptiste Grenier <baptiste@bapt.name> + +# Use GPGME to simplify GPG and S/MIME configuration +set crypt_use_gpgme = yes +set crypt_autosign +set crypt_verify_sig=yes +set crypt_replyencrypt=yes +set crypt_replysign=yes +set crypt_replysignencrypted=yes + +# Pretty Good Privacy (PGP): +# PGP using gpgme (simplified conf) +unset smime_is_default +set pgp_sign_as="0xCDA18F02" # UserID/KeyID for signing +set nopgp_autoencrypt # Default (enc)) +set pgp_autosign # Default (sign)) +my_hdr X-PGP-Key: https://keys.bapt.name/pubkey.asc +my_hdr OpenPGP: id=CDA18F02\; url=https://keys.bapt.name/pubkey.asc\; preference\=sign + +# Extract PGP or S/MIME keys +bind index,pager \ck extract-keys + +# Include the profile name in the status line +# TODO Align profile name on the right +set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@Perso──%>─%?p?( %p postponed )?───" + +# Contacts from khard and vdirsyncer +set query_command= "khard email --parsable --search-in-source-files %s" + +# Fetching mail +macro index \cf "<shell-escape>mbsync -a<enter>" + +# Google-like key bindings +macro index,pager A "<save-message>+Archive<enter>" "move message to the archive" + +# Mailing lists +subscribe debiocidons-bureau@framalistes.org +subscribe debiocidons-ca@framalistes.org +subscribe debiocidons@framalistes.org diff --git a/.config/neomutt/profile-notmuch.egi b/.config/neomutt/profile-notmuch.egi new file mode 100644 index 00000000..48a1119e --- /dev/null +++ b/.config/neomutt/profile-notmuch.egi @@ -0,0 +1,134 @@ +# Mutt sender profile: egi + notmuch + +# notmuch +# source ~/.config/neomutt/notmuch + +# Filter email waiting an answer and missing it +# A special nofeedback or answered tag might be added by afew for this +# "Waiting" "notmuch://?query=tag:egi AND tag:waiting AND tag:nofeedback" \ +# sets up queries for virtual folders +unvirtual-mailboxes * +virtual-mailboxes \ + "Unread" "notmuch://?query=tag:egi AND tag:inbox AND tag:unread" \ + "Inbox" "notmuch://?query=tag:egi AND tag:inbox" \ + "TODO" "notmuch://?query=tag:egi AND tag:todo" \ + "All" "notmuch://?query=tag:egi AND tag:all" \ + "Lists" "notmuch://?query=tag:egi AND tag:lists" \ + "ELITRANS" "notmuch://?query=tag:egi AND tag:eli" \ + "INDIGO" "notmuch://?query=tag:egi AND indigo" \ + "ENVRI" "notmuch://?query=tag:egi AND envri" \ + "GLUE" "notmuch://?query=tag:egi AND glue" \ + "Security" "notmuch://?query=tag:egi AND security" \ + "ISM" "notmuch://?query=tag:egi AND ISM" \ + "Office" "notmuch://?query=tag:office" \ + "FedCloud" "notmuch://?query=tag:lists/fedcloud-tf" \ + "Operations" "notmuch://?query=tag:operations" \ + "Important" "notmuch://?query=tag:egi AND (tag:important OR tag:starred)" \ + "Waiting" "notmuch://?query=tag:egi AND tag:waiting" \ + "Invites" "notmuch://?query=tag:egi AND tag:invites" \ + "Drafts" "notmuch://?query=tag:egi AND tag:draft" \ + "Trash" "notmuch://?query=tag:egi AND tag:deleted" \ + "Spam" "notmuch://?query=tag:egi AND tag:spam" \ + "Sent" "notmuch://?query=tag:egi AND tag:sent" + +# Copy sent message to this folder + +set sendmail = "/usr/bin/msmtp -a egi" + +# Custom status color for this profile +color status cyan default + +# set spoolfile = "+Inbox" +# set mbox = "+All" +set postponed = "+Drafts" +# Sent emails are recorded automatically by Gmail +unset record +# Add messages stored to the NeoMutt record (see $record in the NeoMutt docs) +# also to notmuch DB. If you reply to an email then the new email inherits tags +# from the original email. +# set mbox_type = Maildir +# set record = ~/Mail/EGI/Sent/ +# set nm_record = yes +# set nm_record_tags = '-inbox,all,sent,me' + +# If using trash-folder-patch +# set trash="+Trash" + +# mailboxes +Inbox +All +Draft +Trash +set from = "baptiste.grenier@egi.eu" + +# Signature file +set signature='~/.config/neomutt/signature-egi' + +set envelope_from_address="baptiste.grenier@egi.eu" + +# Customized headers +unmy_hdr * # remove all extra headers first. + +my_hdr Organization: EGI Foundation +my_hdr X-URL: https://egi.eu + +my_hdr From: Baptiste Grenier <baptiste.grenier@egi.eu> +my_hdr Reply-To: Baptiste Grenier <baptiste.grenier@egi.eu> + +# S/MIME using gpgme +# http://wiki.netbsd.org/users/wiz/mutt-smime/ +# gpgsm --import ~/GoogleDrive/dutchgrid.pem +# gpgsm --import ~/GoogleDrive/Personal\ information/baptiste-grenier-certificate-2017-04-14.p12 +set smime_is_default +set smime_sign_as = 0x0950B666 + +# Include the profile name in the status line +# TODO Align profile name on the right +set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@EGI──%>─%?p?( %p postponed )?───" + +#folder-hook +[Gmail].Bin 'set sort=reverse-date' +#folder-hook Sent 'set sort=reverse-date-sent' +#folder-hook +[Gmail].Bin macro index,pager y <save-message>=INBOX<enter><enter> "Move to inbox" +#folder-hook +[Gmail].Starred bind index,pager y flag-message #"Toggle star" + +# Fetching mail +# XXX need to call notmuch +macro index \cf "<shell-escape>mbsync EGI<enter>" + +# Querying Google contacts +# XXX Study possibility to query notmuch to find contacts +set query_command="goobook query %s" + +# Mailing lists +lists technical-support-cases-c@rt.egi.eu +subscribe operations@egi.eu +subscribe office@mailman.egi.eu +subscribe indigo-all@lists.indigo-datacloud.eu +subscribe indigo-announce@lists.indigo-datacloud.eu +subscribe indigo-datacloud-ea@lists.indigo-datacloud.eu +subscribe indigo-datacloud-spb@lists.indigo-datacloud.eu +subscribe indigo-emt@lists.indigo-datacloud.eu +subscribe indigo-integration-pilot@lists.indigo-datacloud.eu +subscribe indigo-wp2@lists.indigo-datacloud.eu +subscribe indigo-wp3@lists.indigo-datacloud.eu +subscribe indigo-wp3-lead@lists.indigo-datacloud.eu +subscribe indigo-wp4@lists.indigo-datacloud.eu +subscribe indigo-wp5@lists.indigo-datacloud.eu +subscribe onedata-test@lists.indigo-datacloud.eu +subscribe envriplus-wp9@helsinki.fi +subscribe wise@lists.wise-community.org + +# Save hooks +#save-hook ' ~s GGUS-Ticket-ID' =helpdesk +#save-hook ' ~s Backup' =backup +#save-hook ' ~s oss-security' =security +#save-hook ' ~e fulldisclosure-bounces@seclists.org' =security +#save-hook ' ~e operations-bounces@.*\.egi\.eu' =operations +#save-hook ' ~e office-bounces@.*\.egi\.eu' =office +#save-hook ' ~e noc-managers-bounces@mailman.egi.eu' =noc-managers +#save-hook ' ~e indigo-datacloud-ea@lists.indigo-datacloud.eu' =indigo-datacloud-ea +#save-hook ' ~e envriplus-wp9@helsinki.fi' =ENVRIPlus +#save-hook ' ~h "EGI - technical-support-cases"' =technical-support-cases +#save-hook ' ~h "EGI - report-vulnerability"' =report-vulnerability +#save-hook ' ~h indigo-wp3-lead@lists.indigo-datacloud.eu' =indigo-wp3 +#save-hook ' ~h lists.wise-community.org' =wise +#save-hook ' ~C Gaizer | ~f Gaizer' =ELITRANS +#save-hook ' ~h glue-wg@ogf.org' =glue-wg + +# :vim set ft=muttrc: diff --git a/.config/neomutt/profile.gnubila b/.config/neomutt/profile.gnubila new file mode 100644 index 00000000..b09888e0 --- /dev/null +++ b/.config/neomutt/profile.gnubila @@ -0,0 +1,140 @@ +# Mutt sender profile: gnubila + +set folder="~/Mail/gnubila" +#set spoolfile="+/gnubila/INBOX" +set mbox="+INBOX" +set record="+INBOX.Sent" +set postponed="+INBOX.Drafts" + +folder-hook . 'macro index d <tag-prefix><save-message>+INBOX.Trash<enter>' +folder-hook +INBOX.Trash 'macro index d <tag-prefix><delete-message>' + +folder-hook . 'macro pager d <save-message>+INBOX.Trash<enter>' +folder-hook +INBOX.Trash 'macro pager d <delete-message>' + +#unset confirmappend +#folder-hook . set trash="+INBOX.Trash" +#folder-hook trash$ unset trash + +# Signature file +set signature="~/.mutt/signature-gnubila" + +set envelope_from_address="bgrenier@gnubila.fr" + +# Customized headers +unmy_hdr * # remove all extra headers first. + +my_hdr Return-Path: <bgrenier@gnubila.fr> +my_hdr From: Baptiste Grenier <bgrenier@gnubila.fr> +my_hdr Reply-To: Baptiste Grenier <bgrenier@gnubila.fr> +my_hdr Organization: gnúbila France +my_hdr X-URL: http://gnubila.fr + +# http://www.com.univ-mrs.fr/ssc/info/cours/mutt-smime.html +# http://pthree.org/2011/09/15/setting-up-mutt-with-smime-and-pgpmime/ +# http://equiraptor.com/smime_mutt_how-to.html +# http://wiki.mutt.org/?MuttFaq/Encryption + +# SMIME config +set smime_is_default = yes + +# Set labels for certificates you add. +set smime_ask_cert_label + +# Passphrase expiration +set smime_timeout=30000 + +# Global crypto options -- these affect PGP operations as well. +set crypt_autosign = yes +set crypt_replyencrypt = yes +set crypt_replysign = yes +set crypt_replysignencrypted = yes +set crypt_verify_sig = yes + +set crypt_autosmime = yes + +# Section A: Key Management. + +# The (default) keyfile for signing/decrypting. Uncomment the following +# line and replace the keyid with your own. +set smime_default_key="13cf2c5f.1" + +# Uncommen to make mutt ask what key to use when trying to decrypt a message. +# It will use the default key above (if that was set) else. +# unset smime_decrypt_use_default_key + +# Path to a file or directory with trusted certificates +set smime_ca_location="~/.smime/ca" + +# Path to where all known certificates go. (must exist!) +set smime_certificates="~/.smime/certificates" + +# Path to where all private keys go. (must exist!) +set smime_keys="~/.smime/keys" + +# These are used to extract a certificate from a message. +# First generate a PKCS#7 structure from the message. +set smime_pk7out_command="openssl smime -verify -in %f -noverify -pk7out" + +# Extract the included certificate(s) from a PKCS#7 structure. +#set smime_get_cert_command="openssl pkcs7 -print_certs -inform DER -in %f" +set smime_get_cert_command="openssl pkcs7 -print_certs -in %f" + +# Extract the signer's certificate only from a S/MIME signature (sender verification) +set smime_get_signer_cert_command="openssl smime -verify -in %f -noverify -signer %c -out /dev/null" + +# This is used to get the email address the certificate was issued to. +set smime_get_cert_email_command="openssl x509 -in %f -noout -email" + +# Add a certificate to the database using smime_keys. +set smime_import_cert_command="smime_keys add_cert %f" + + +# Sction B: Outgoing messages + +# Algorithm to use for encryption. +# valid choices are rc2-40, rc2-64, rc2-128, des, des3 +set smime_encrypt_with="des3" + +# Encrypt a message. Input file is a MIME entity. +set smime_encrypt_command="openssl smime -encrypt -%a -outform DER -in %f %c" + +# Sign. +set smime_sign_command="openssl smime -sign -signer %c -inkey %k -passin stdin -in %f -certfile %i -outform DER" + + +#Section C: Incoming messages + +# Decrypt a message. Output is a MIME entity. +set smime_decrypt_command="openssl smime -decrypt -passin stdin -inform DER -in %f -inkey %k -recip %c" +#set smime_decrypt_command="openssl smime -passin stdin -in %f -decrypt -inkey ~/repos/gwarf/private/certs/GRID2-CNRS/MaatG/userkey.pem" +#set smime_decrypt_command="openssl smime -passin stdin -decrypt -in %f -inkey ~/repos/gwarf/private/certs/GRID2-CNRS/MaatG/userkey.pem" + +# Verify a signature of type multipart/signed +set smime_verify_command="openssl smime -verify -inform DER -in %s %C -content %f" + +# Verify a signature of type application/x-pkcs7-mime +set smime_verify_opaque_command="\ +openssl smime -verify -inform DER -in %s %C || \ +openssl smime -verify -inform DER -in %s -noverify 2>/dev/null" + + +# Section D: Alternatives + +# Sign. If you wish to NOT include the certificate your CA used in signing +# your public key, use this command instead. +# set smime_sign_command="openssl smime -sign -signer %c -inkey %k -passin stdin -in %f -outform DER" +# +# In order to verify the signature only and skip checking the certificate chain: +# +# set smime_verify_command="openssl smime -verify -inform DER -in %s -content %f -noverify" +# set smime_verify_opaque_command="openssl smime -verify -inform DER -in %s -noverify" + +# Include the profile name in the status line +set status_format="%v: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---@gnubila---%?V?(Filter: %V)?--%>-(%P)---" + +macro index \e1 "<save-message>+INBOX._Read<enter>" "Save Message to _Read" +macro index \e2 "<save-message>+_INBOX.Reply<enter>" "Save Message to _Reply" +macro index \e3 "<save-message>+_INBOX.Waiting<enter>" "Save Message to _Waiting" +macro index \e4 "<save-message>+_INBOX.Defer<enter>" "Save Message to _Defer" +macro index \e5 "<save-message>+lINBOX.ists<enter>" "Save Message to lists" diff --git a/.config/neomutt/profile.gwarf b/.config/neomutt/profile.gwarf new file mode 100644 index 00000000..1ac44f44 --- /dev/null +++ b/.config/neomutt/profile.gwarf @@ -0,0 +1,22 @@ +# Mutt sender profile: gwarf + +# Signature file +set signature="sh ~/.mutt/createsign.sh|" + +set envelope_from_address="gwarf@gwarf.org" + +# Customized headers +unmy_hdr * # remove all extra headers first. + +my_hdr From: Baptiste Grenier <gwarf@gwarf.org> +my_hdr Reply-To: Baptiste Grenier <gwarf@gwarf.org> +my_hdr X-PGP-Key: http://keys.bapt.name/pubkey.asc + +# Pretty Good Privacy (PGP): +unset smime_is_default +set pgp_sign_as="0x2762EBA1" # UserID/KeyID for signing +set nopgp_autoencrypt # Default (enc)) +set pgp_autosign # Default (sign)) + +# Include the profile name in the status line +set status_format="%v: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---@gwarf---%?V?(Filter: %V)?--%>-(%P)---" diff --git a/.config/neomutt/profile.healthgrid b/.config/neomutt/profile.healthgrid new file mode 100644 index 00000000..2e9786e1 --- /dev/null +++ b/.config/neomutt/profile.healthgrid @@ -0,0 +1,25 @@ +# Mutt sender profile: healthgrid + +# Signature file +set signature="~/.mutt/signature-healthgrid" + +set envelope_from_address="baptiste.grenier@healthgrid.org" + +# Customized headers +unmy_hdr * # remove all extra headers first. + +my_hdr Return-Path: <baptiste.grenier@healthgrid.org> +my_hdr From: Baptiste Grenier <baptiste.grenier@healthgrid.org> +my_hdr Reply-To: Baptiste Grenier <baptiste.grenier@healthgrid.org> +my_hdr Organization: HealthGrid +my_hdr X-URL: http://healthgrid.org +my_hdr X-PGP-Key: https://keys.bapt.name/hgpubkey.asc + +# Pretty Good Privacy (PGP): +unset smime_is_default +set pgp_sign_as="0x069112E2" # UserID/KeyID for signing +unset pgp_autoencrypt # Default (enc)) +set pgp_autosign # Default (sign)) + +# Include the profile name in the status line +set status_format="%v: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---@healthgrid---%?V?(Filter: %V)?--%>-(%P)---" diff --git a/.config/neomutt/profile.maat b/.config/neomutt/profile.maat new file mode 100644 index 00000000..946cbda0 --- /dev/null +++ b/.config/neomutt/profile.maat @@ -0,0 +1,118 @@ +# Mutt sender profile: maat + +# Signature file +set signature="~/.mutt/signature-maat" + +set envelope_from_address="bgrenier@maatg.fr" + +# Customized headers +unmy_hdr * # remove all extra headers first. + +my_hdr Return-Path: <bgrenier@maatg.fr> +my_hdr From: Baptiste Grenier <bgrenier@maatg.fr> +my_hdr Reply-To: Baptiste Grenier <bgrenier@maatg.fr> +my_hdr Organization: maatG +my_hdr X-URL: http://maatg.fr + +# http://www.com.univ-mrs.fr/ssc/info/cours/mutt-smime.html +# http://pthree.org/2011/09/15/setting-up-mutt-with-smime-and-pgpmime/ +# http://equiraptor.com/smime_mutt_how-to.html +# http://wiki.mutt.org/?MuttFaq/Encryption + +# SMIME config +set smime_is_default = yes + +# Set labels for certificates you add. +set smime_ask_cert_label + +# Passphrase expiration +set smime_timeout=30000 + +# Global crypto options -- these affect PGP operations as well. +set crypt_autosign = yes +set crypt_replyencrypt = yes +set crypt_replysign = yes +set crypt_replysignencrypted = yes +set crypt_verify_sig = yes + +set crypt_autosmime = yes + +# Section A: Key Management. + +# The (default) keyfile for signing/decrypting. Uncomment the following +# line and replace the keyid with your own. +set smime_default_key="98151435.1" + +# Uncommen to make mutt ask what key to use when trying to decrypt a message. +# It will use the default key above (if that was set) else. +# unset smime_decrypt_use_default_key + +# Path to a file or directory with trusted certificates +set smime_ca_location="~/.smime/ca" + +# Path to where all known certificates go. (must exist!) +set smime_certificates="~/.smime/certificates" + +# Path to where all private keys go. (must exist!) +set smime_keys="~/.smime/keys" + +# These are used to extract a certificate from a message. +# First generate a PKCS#7 structure from the message. +set smime_pk7out_command="openssl smime -verify -in %f -noverify -pk7out" + +# Extract the included certificate(s) from a PKCS#7 structure. +#set smime_get_cert_command="openssl pkcs7 -print_certs -inform DER -in %f" +set smime_get_cert_command="openssl pkcs7 -print_certs -in %f" + +# Extract the signer's certificate only from a S/MIME signature (sender verification) +set smime_get_signer_cert_command="openssl smime -verify -in %f -noverify -signer %c -out /dev/null" + +# This is used to get the email address the certificate was issued to. +set smime_get_cert_email_command="openssl x509 -in %f -noout -email" + +# Add a certificate to the database using smime_keys. +set smime_import_cert_command="smime_keys add_cert %f" + + +# Sction B: Outgoing messages + +# Algorithm to use for encryption. +# valid choices are rc2-40, rc2-64, rc2-128, des, des3 +set smime_encrypt_with="des3" + +# Encrypt a message. Input file is a MIME entity. +set smime_encrypt_command="openssl smime -encrypt -%a -outform DER -in %f %c" + +# Sign. +set smime_sign_command="openssl smime -sign -signer %c -inkey %k -passin stdin -in %f -certfile %i -outform DER" + + +#Section C: Incoming messages + +# Decrypt a message. Output is a MIME entity. +set smime_decrypt_command="openssl smime -decrypt -passin stdin -inform DER -in %f -inkey %k -recip %c" +#set smime_decrypt_command="openssl smime -passin stdin -in %f -decrypt -inkey ~/repos/gwarf/private/certs/GRID2-CNRS/MaatG/userkey.pem" +#set smime_decrypt_command="openssl smime -passin stdin -decrypt -in %f -inkey ~/repos/gwarf/private/certs/GRID2-CNRS/MaatG/userkey.pem" + +# Verify a signature of type multipart/signed +set smime_verify_command="openssl smime -verify -inform DER -in %s %C -content %f" + +# Verify a signature of type application/x-pkcs7-mime +set smime_verify_opaque_command="\ +openssl smime -verify -inform DER -in %s %C || \ +openssl smime -verify -inform DER -in %s -noverify 2>/dev/null" + + +# Section D: Alternatives + +# Sign. If you wish to NOT include the certificate your CA used in signing +# your public key, use this command instead. +# set smime_sign_command="openssl smime -sign -signer %c -inkey %k -passin stdin -in %f -outform DER" +# +# In order to verify the signature only and skip checking the certificate chain: +# +# set smime_verify_command="openssl smime -verify -inform DER -in %s -content %f -noverify" +# set smime_verify_opaque_command="openssl smime -verify -inform DER -in %s -noverify" + +# Include the profile name in the status line +set status_format="%v: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---@maat---%?V?(Filter: %V)?--%>-(%P)---" diff --git a/.config/neomutt/profile.perso b/.config/neomutt/profile.perso new file mode 100644 index 00000000..50766d2a --- /dev/null +++ b/.config/neomutt/profile.perso @@ -0,0 +1,86 @@ +# Mutt sender profile: perso + +# sets up queries for virtual folders +unvirtual-mailboxes * +virtual-mailboxes \ + "Unread" "notmuch://?query=tag:perso AND tag:inbox AND tag:unread" \ + "Inbox" "notmuch://?query=tag:perso AND tag:inbox" \ + "All" "notmuch://?query=tag:perso AND tag:all" \ + "Neomutt" "notmuch://?query=tag:perso AND tag:neomutt" \ + "Lists" "notmuch://?query=tag:perso AND tag:lists" \ + "TODO" "notmuch://?query=tag:perso AND tag:todo" \ + "Trash" "notmuch://?query=tag:deleted" \ + "Spam" "notmuch://?query=tag:spam" \ + "Sent" "notmuch://?query=tag:perso AND tag:sent" + +set sendmail = "/usr/bin/msmtp -a perso" + +color status green default + +# set spoolfile = "+INBOX" +# set mbox = "+_Read" +# Record sent emails +set record="+Perso/Sent" +set postponed="+Perso/Drafts" + +# If using trash-folder-patch +# set trash="+Trash" + +# mailboxes +INBOX + +set from = "baptiste@bapt.name" + +# Signature file +set signature="sh ~/bin/createsign|" + +set envelope_from_address="baptiste@bapt.name" + +# Customized headers +unmy_hdr * # remove all extra headers first. + +my_hdr From: Baptiste Grenier <baptiste@bapt.name> +my_hdr Reply-To: Baptiste Grenier <baptiste@bapt.name> +my_hdr X-PGP-Key: https://keys.bapt.name/pubkey.asc +my_hdr OpenPGP: id=2762EBA1\; url=https://keys.bapt.name/pubkey.asc\; preference\=signencrypt + +# Pretty Good Privacy (PGP): +unset smime_is_default +set pgp_sign_as="0xCDA18F02" # UserID/KeyID for signing +set nopgp_autoencrypt # Default (enc)) +set pgp_autosign # Default (sign)) + +# Include the profile name in the status line +# TODO Align profile name on the right +set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@Perso──%>─%?p?( %p postponed )?───" + +# macro index \e1 "<save-message>+_Read<enter>" "Save Message to _Read" +# macro index \e2 "<save-message>+_Reply<enter>" "Save Message to _Reply" +# macro index \e3 "<save-message>+_Waiting<enter>" "Save Message to _Waiting" +# macro index \e4 "<save-message>+_Defer<enter>" "Save Message to _Defer" +# macro index \e5 "<save-message>+lists<enter>" "Save Message to lists" + +# macro index,pager gt \ +# "<change-folder>=Sent<enter>" \ +# "Go to 'Sent Mail'" + +# macro index,pager ga \ +# "<change-folder>+_Read<enter>" \ +# "Go to all mail" + +# Fetching mail +# XXX need to call notmuch +macro index \cf "<shell-escape>mbsync Perso<enter>" + +# Queryintg abook +set query_command="abook --mutt-query '%s'" +macro index,pager a \ + "<pipe-message>abook --add-email<return>" \ + "add the sender address to abook" + +subscribe debiocidons-bureau@framalistes.org +subscribe debiocidons-ca@framalistes.org +subscribe debiocidons@framalistes.org +# save-hook ' ~h debiocidons@framalistes.org' =debiocidons +# save-hook ' ~h debiocidons-ca@framalistes.org' =debiocidons-ca +# save-hook ' ~h debiocidons-bureau@framalistes.org' =debiocidons-bureau +# save-hook ' ~h boursorama' =boursorama diff --git a/.config/neomutt/progress-color b/.config/neomutt/progress-color new file mode 100644 index 00000000..baa4895f --- /dev/null +++ b/.config/neomutt/progress-color @@ -0,0 +1,9 @@ +# The 'progress' feature provides clear visual feedback for +# slow tasks, such as indexing a large folder over the net. + +# Set the color of the progress bar +# White text on a red background +# color progress white red +color progress color234 color136 + +# vim: set ft=muttrc: diff --git a/.config/neomutt/show_certs.sh b/.config/neomutt/show_certs.sh new file mode 100644 index 00000000..679650cd --- /dev/null +++ b/.config/neomutt/show_certs.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Extract pk7 and Dump information about pk7 +openssl smime -verify -in 1571297081.R5855126756991174876.Baptistes-MBP-2-f821:2,S -noverify -pk7out | openssl pkcs7 -print_certs -noout -text diff --git a/.config/neomutt/sidebar b/.config/neomutt/sidebar new file mode 100644 index 00000000..f2c06e49 --- /dev/null +++ b/.config/neomutt/sidebar @@ -0,0 +1,31 @@ +# sidebar + +# Unknown variable +set sidebar_divider_char = ' │ ' +set sidebar_format = " %B%* " +# Order of the mailboxes command +set sidebar_sort_method = 'unsorted' +# set to "no" to disable sidebar view at startup +set sidebar_visible = no +set sidebar_width = 20 + +set mail_check_stats + +#color sidebar_new yellow default +color sidebar_new color33 color234 + +# sidebar toggle +macro index ,@) "<enter-command> set sidebar_visible=no; macro index ~ ,@( 'Toggle sidebar'<Enter>" +macro index ,@( "<enter-command> set sidebar_visible=yes; macro index ~ ,@) 'Toggle sidebar'<Enter>" +macro index ~ ,@( 'Toggle sidebar' # toggle the sidebar + +# sidebar bindings +# got to previous folder in sidebar +bind index,pager \CP sidebar-prev +# got to next folder in sidebar +bind index,pager \CN sidebar-next +# open selected folder from sidebar +# For this to work on mac: stty discard undef +bind index,pager \CO sidebar-open + +# vim: set ft=muttrc: diff --git a/.config/neomutt/signature-egi b/.config/neomutt/signature-egi new file mode 100644 index 00000000..36ea866e --- /dev/null +++ b/.config/neomutt/signature-egi @@ -0,0 +1,6 @@ +Baptiste Grenier | Senior Service Delivery Officer | baptiste.grenier@egi.eu +EGI Foundation (Amsterdam, The Netherlands) +Phone: +31 (0) 627 860 852 | Keybase: gwarf | Skype: baptiste.grenier.egi + +EGI: Advanced Computing for Research +The EGI Foundation is ISO 9001:2015 and ISO/IEC 20000-1:2011 certified diff --git a/.config/neomutt/signature-gnubila b/.config/neomutt/signature-gnubila new file mode 100644 index 00000000..038aa316 --- /dev/null +++ b/.config/neomutt/signature-gnubila @@ -0,0 +1,2 @@ +Baptiste Grenier gnúbila France Software architect/developer +https://gnubila.fr Mobile: +33 786 341 687 diff --git a/.config/neomutt/signature-healthgrid b/.config/neomutt/signature-healthgrid new file mode 100644 index 00000000..9d90e799 --- /dev/null +++ b/.config/neomutt/signature-healthgrid @@ -0,0 +1,3 @@ +Baptiste Grenier HealthGrid Systems Administrator +PGP: 0x069112E2 (Tel|Fax): +33 (0) 473 405 (155|002) +36 rue Charles de Montesquieu - 63430 Pont du Château - France diff --git a/.config/neomutt/signature-maat b/.config/neomutt/signature-maat new file mode 100644 index 00000000..a6356c77 --- /dev/null +++ b/.config/neomutt/signature-maat @@ -0,0 +1,2 @@ +Baptiste Grenier Maat-G Software architect/developer +http://maatg.fr Mobile: +33 786 341 687 diff --git a/.config/neomutt/signature-perso b/.config/neomutt/signature-perso new file mode 100644 index 00000000..3898bd87 --- /dev/null +++ b/.config/neomutt/signature-perso @@ -0,0 +1,5 @@ +\,,/_[-_-]_\,,/ +Keybase: gwarf - GPG: 0xCDA18F02 +@gwarf@framapiaf.org +https://blog.bapt.name +https://github.com/gwarf diff --git a/.config/neomutt/sync b/.config/neomutt/sync new file mode 100755 index 00000000..21b231e3 --- /dev/null +++ b/.config/neomutt/sync @@ -0,0 +1,24 @@ +#!/bin/sh + +# TODO check more complete conf +# https://github.com/kzar/davemail/blob/master/postsync.py +# https://copyninja.info/blog/email_setup.html + +PATH="/usr/local/bin:$PATH" + +MBSYNC=$(pgrep mbsync) +NOTMUCH=$(pgrep notmuch) + +if [ -n "$MBSYNC" -o -n "$NOTMUCH" ]; then + echo "Already running one instance of mail-sync. Exiting..." + exit 0 +fi + +# Retreive emails +mbsync -aV + +# Index them with Notmuch +notmuch new + +# Index them with mu +mu index diff --git a/.config/neomutt/view_attachment b/.config/neomutt/view_attachment new file mode 100755 index 00000000..43df6267 --- /dev/null +++ b/.config/neomutt/view_attachment @@ -0,0 +1,126 @@ +#!/bin/bash +# +# Author: Eric Gebhart +# +# Purpose: To be called by mutt as indicated by .mailcap to handle mail attachments. +# +# Function: Copy the given file to a temporary directory so mutt +# Won't delete it before it is read by the application. +# +# Along the way, discern the file type or use the type +# That is given. +# +# Finally use 'open' or 'open -a' if the third argument is +# given. +# +# +# Arguments: +# +# $1 is the file +# $2 is the type - for those times when file magic isn't enough. +# I frequently get html mail that has no extension +# and file can't figure out what it is. +# +# Set to '-' if you don't want the type to be discerned. +# Many applications can sniff out the type on their own. +# And they do a better job of it too. +# +# Open Office and MS Office for example. +# +# $3 is open with. as in open -a 'open with this .app' foo.xls +# +# Examples: These are typical .mailcap entries which use this program. +# +# Image/JPEG; /usr/local/bin/view_attachment %s +# Image/PNG; /usr/local/bin/view_attachment %s +# Image/GIF; /usr/local/bin/view_attachment %s +# +# Application/PDF; /usr/local/bin/view_attachment %s +# +# #This HTML example passes the type because file doesn't always work and +# #there aren't always extensions. +# +# text/html; /usr/local/bin/view_attachment %s html +# +# # If your Start OpenOffice.org.app is spelled with a space like this one, <-- +# # then you'll need to precede the space with a \ . I found that too painful +# # and renamed it with an _. +# +# Application/vnd.ms-excel; /usr/local/bin/view_attachment %s "-" '/Applications/OpenOffice.org1.1.2/Start_OpenOffice.org.app' +# Application/msword; /usr/local/bin/view_attachment %s "-" '/Applications/OpenOffice.org1.1.2/Start_OpenOffice.org.app' +# +# +# Debugging: If you have problems set debug to 'yes'. That will cause a debug file +# be written to /tmp/mutt_attach/debug so you can see what is going on. +# +# See Also: The man pages for open, file, basename +# + +# the tmp directory to use. +tmpdir="/tmp/mutt_attach" + +# the name of the debug file if debugging is turned on. +debug_file=$tmpdir/debug + +# debug. yes or no. +debug="no" +#debug="yes" + +type=$2 +open_with=$3 + +# make sure the tmpdir exists. +mkdir -p $tmpdir + +# clean it out. Remove this if you want the directory +# to accumulate attachment files. +rm -rf $tmpdir/* + +# Mutt puts everything in /tmp by default. +# This gets the basic filename from the full pathname. +filename=`basename $1` + +# get rid of the extenson and save the name for later. +file=`echo $filename | cut -d"." -f1` + +if [ $debug = "yes" ]; then + echo "1:" $1 " 2:" $2 " 3:" $3 > $debug_file + echo "Filename:"$filename >> $debug_file + echo "File:"$file >> $debug_file + echo "===========================" >> $debug_file +fi + +# if the type is empty then try to figure it out. +if [ -z $type ]; then + type=`file -bi $1 | cut -d"/" -f2` +fi + +# if the type is '-' then we don't want to mess with type. +# Otherwise we are rebuilding the name. Either from the +# type that was passed in or from the type we discerned. +if [ $type = "-" ]; then + newfile=$filename +else + newfile=$file.$type +fi + +newfile=$tmpdir/$newfile + +# Copy the file to our new spot so mutt can't delete it +# before the app has a chance to view it. +cp $1 $newfile + +if [ $debug = "yes" ]; then + echo "File:" $file "TYPE:" $type >> $debug_file + echo "Newfile:" $newfile >> $debug_file + echo "Open With:" $open_with >> $debug_file +fi + +# If there's no 'open with' then we can let preview do it's thing. +# Otherwise we've been told what to use. So do an open -a. + +if [ -z $open_with ]; then + open $newfile +else + open -a "$open_with" $newfile +fi From ea4240b90913c01e1083d28208dcd95fcfc8ead3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:01:14 +0200 Subject: [PATCH 0324/2080] Import mailcap --- .mailcap | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .mailcap diff --git a/.mailcap b/.mailcap new file mode 100644 index 00000000..ebb6a3ac --- /dev/null +++ b/.mailcap @@ -0,0 +1,88 @@ +# mailcap file for usage with mutt. + +# Try to use xdg-open for everything +# */*; xdg-open "%s" + +application/octet-stream ; echo "what to do:" %s "can be anything" ; copiousoutput +application/ghostview ; pdftotext -layout %s -; xdg-open %s ; copiousoutput +application/pdf ; pdftotext -layout %s -; print=mutt_bgrun xdg-open %s ; copiousoutput +application/x-pdf ; pdftotext -layout %s -; print=mutt_bgrun xdg-open %s ; copiousoutput +application/postscript ; pdftotext -layout %s -; print=mutt_bgrun xdg-open %s ; copiousoutput +application/x-bzip2 ; bzip2 -dc %s ; copiousoutput +application/x-cpio ; cpio -tvF --quiet %s ; copiousoutput +application/x-csh ; cat %s ; copiousoutput +application/x-gtar ; tar tvf %s ; copiousoutput +application/x-gzip ; tar tfvz %s ; copiousoutput +application/x-gzip-postscript ; zcat %s gv ; copiousoutput +application/x-latex ; cat %s ; copiousoutput +application/x-perl ; cat %s ; copiousoutput +application/x-rar-compressed ; rar v %s ; copiousoutput +application/x-script ; cat %s ; copiousoutput +application/x-shar ; cat %s ; copiousoutput +application/x-shellscript ; cat %s ; copiousoutput +application/x-sh ; cat %s ; copiousoutput +application/x-tar ; tar tvvf %s ; copiousoutput +application/x-tar-gz ; tar tfvz %s ; copiousoutput +application/x-tcl ; cat %s ; copiousoutput +pplication/x-tex ; cat %s ; copiousoutput +application/x-troff ; groff -Tlatin1 %s ; copiousoutput +application/x-troff-man ; man -l %s 2>/dev/null ; copiousoutput +application/x-troff-me ; groff -me -Tlatin1 %s ; copiousoutput +application/x-zip-compressed ; unzip -v %s ; copiousoutput +application/zip ; unzip -v %s ; copiousoutput +# View: display event +# Print: add them to calendar +text/calendar ; mutt-ics; print=add_event %s ; copiousoutput +application/ics ; mutt-ics; print=add_event %s ; copiousoutput +# text/calendar ; mutt-ics ; copiousoutput +audio/basic ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +audio/midi ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +audio/mpegurl ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +audio/mpeg ; mutt_bgrun mplayer %s ; copiousoutput +audio/x-midi ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +audio/x-mod ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +audio/x-pn-realaudio-plugin ; realplay %s ; test=test -n "$DISPLAY" > /dev/null +audio/x-pn-realaudio ; realplay %s ; test=test -n "$DISPLAY" > /dev/null +audio/* ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +#image/* ; mutt_bgrun sxiv -bf %s \; reset +#image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null +image/x-eps ; gv %s ; test=test -n "$DISPLAY" > /dev/null +image/* ; sxiv %s ; test=test -n "$DISPLAY" > /dev/null +#image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null +#image/* ; fbi %s ; copiousoutput + +# XXX Disable backgrouds as it seems that html files is deleted too early +# text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chromium-perso %s +text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = firefox %s + +text/x-diff ; cat %s | colordiff ;copiousoutput +text/x-patch ; cat %s | colordiff ;copiousoutput +text/x-compress-html ; zcat %s lynx -dump -force_html ; copiousoutput +text/x-gzip-html ; zcat %s lynx -dump -force_html ; copiousoutput +text/plain ; cat %s ; copiousoutput +text/richtext ; mutt_bgrun abiword %s ; copiousoutput +text/x-vcard ; ~/mutt/mutt.vcard.filter %s ; copiousoutput +text/* ; edit=vim %s ; copiousoutput +video/* ; mutt_bgrun mplayer %s ; copiousoutput +application/pgp-signature ; cat %s ; copiousoutput +#application/excel ; xls2csv %s | column -s, -tn ; copiousoutput +#application/vnd.ms-excel ; xls2csv %s | column -s, -tn ; copiousoutput +application/vnd.ms-excel ; mutt_bgrun localc %s ; test=test -n "$DISPLAY" > /dev/null +application/vnd.oasis.opendocument.spreadsheet ; mutt_bgrun scalc %s ; test=test -n "$DISPLAY" > /dev/null +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; mutt_bgrun localc %s ; test=test -n "$DISPLAY" > /dev/null +application/msword ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null +application/wps-office.docx ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null +application/vnd.openxmlformats-officedocument.wordprocessingml.document ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null +application/vnd.openxmlformats-officedocument.wordprocessingml.documen ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null +application/msword ; antiword %s ; copiousoutput +application/x-msword ; antiword %s ; copiousoutput +#application/vnd.oasis.opendocument.text ; odt2txt %s ; copiousoutput +application/vnd.oasis.opendocument.text ; mutt_bgrun lowriter %s ; copiousoutput +application/vnd.ms-powerpoint ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null +application/vnd.oasis.opendocument.presentation ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null +application/vnd.openxmlformats-officedocument.presentationml.slideshow ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null +application/vnd.openxmlformats-officedocument.presentationml.presentation ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null +application/x-pkcs7-signature;openssl pkcs7 -in %s -inform der -noout -print_certs -text | less; needsterminal +application/pkcs7-signature;openssl pkcs7 -in %s -inform der -noout -print_certs -text | less; needsterminal + +# vim: set nowrap: From c74fac35f344529cff43e2127d7e46983a53a400 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:02:27 +0200 Subject: [PATCH 0325/2080] Import tmux.conf --- .tmux.conf | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 .tmux.conf diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 00000000..5e4de865 --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,148 @@ +# Use vi bindings +setw -g mode-keys vi +set-option -g status-keys vi + +# Allow nested tmux sessions by making "C-b b" possible for sending a control +# sequence to a nested session +bind-key b send-prefix + +# XXX Not supported with version in CentOS 7 +set-window-option -g mouse off + +# Add true color support +# $TERM, fix colors / use true colors +# set -g default-terminal "tmux-256color" +set -g default-terminal "screen-256color" +# XXX this seems to be the setting breaking neomutt +# (artefacts in index after opening the pager) +# set -g default-terminal "xterm-256color" +set -ga terminal-overrides ",*256col*:Tc" + +# reload +bind-key R respawn-window + +# Start Window Numbering at 1 +set -g base-index 1 + +## Copy mode +# http://jasonwryan.com/blog/2011/06/07/copy-and-paste-in-tmux/ +# +# Copying between tmux frames + +# ctrl-b [ - enter copy mode +# move cursor to the start or end of the desired text string +# V - to activate fulle line highlighting (to be clarified how to do ) +# move cursor to cover the requisite string +# y - to copy system clipboard +# ctrl-b ] - to paste system clipboard + +# URL view +bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlview" '$SHELL -c "urlview < /tmp/tmux-buffer"' + +# Shortcut for resizing panes +bind up resize-pane -U 5 +bind down resize-pane -D 5 +bind left resize-pane -L 5 +bind right resize-pane -R 5 + +# pane movement +bind-key @ command-prompt -p "create pane from:" "join-pane -s '%%'" +bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" + +# window movement / renumbering like in screen's :number +bind-key m command-prompt -p "move window to:" "swap-window -t '%%'" +bind-key . command-prompt "move-window -r -t '%%'" + +# Use zsh (login shell by default) +# https://superuser.com/questions/968942/why-does-tmux-create-new-windows-as-login-shells-by-default +# http://openbsd-archive.7691.n7.nabble.com/tmux-and-login-shells-td170948.html +# Use ZSH from homebrew on MacOS X +# if-shell "uname | grep -q Darwin" "set -g default-shell '/usr/local/bin/zsh'" "set -g default-shell '/bin/zsh'" + +# Disable automatic changes of titles +set -g set-titles on +# set -g set-titles-string "#T" +set-window-option -g automatic-rename on +set-window-option -g allow-rename on +set -g renumber-windows on + +set-option -g status-position "top" + +# Tmux resurect +# prefix + Ctrl-s - save +# prefix + Ctrl-r - restore + +# Restore more programms +set -g @resurrect-processes 'neomutt' +# set -g @resurrect-processes 'ssh mutt psql mysql sqlite3' +# set -g @resurrect-processes '"sudo journalctl -fxn"' + +# Resurrect vim session (see https://github.com/tpope/vim-obsession) +#set -g @resurrect-strategy-vim 'session' +set -g @resurrect-strategy-nvim 'session' + +# Resurrect pane content +set -g @resurrect-capture-pane-contents 'on' + +# Custome tmux session +# new -s work -n work neomutt +# new -s work -n mail 'neomutt' +# new-window -n dashboard 'dashboard' +# new-window -n local +# select-window -t mail + +# Tmux continuum +set -g @continuum-restore 'on' + +# Managing plugins using TPM +# prefix+I to install +# prefix+U to update + +# Logging +# Screenshot: prefix + alt + p +# Save complete history: prefix + alt + shift + p +# Unable to get some special char working +#set -g @almost-sensible 'off' +# arcticicestudio/nord-tmux \ + +set -g @tpm_plugins ' \ + dracula/tmux \ + tmux-plugins/tmux-sensible \ + tmux-plugins/tmux-resurrect \ + tmux-plugins/tmux-continuum \ + tmux-plugins/tmux-yank \ + tmux-plugins/tmux-pain-control \ + tmux-plugins/tmux-copycat \ + tmux-plugins/tmux-open \ + tmux-plugins/tmux-prefix-highlight \ + tmux-plugins/tmux-sessionist \ + tmux-plugins/tmux-logging \ + tmux-plugins/tpm \ +' + +# Dracula theme options +# https://draculatheme.com/tmux +set -g @dracula-show-battery false +set -g @dracula-show-network false +set -g @dracula-show-weather false +set -g @dracula-show-fahrenheit false +set -g @dracula-cpu-usage false +set -g @dracula-ram-usage false +set -g @dracula-gpu-usage false + +set -g @dracula-show-powerline true +set -g @dracula-show-left-sep  +set -g @dracula-show-right-sep  +set -g @dracula-military-time true +set -g @dracula-show-left-icon 💀 +set -g @dracula-border-contrast true + +# Bootstrap tpm if needed +if "test ! -d ~/.tmux/plugins/tpm" \ + "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'" + +# Initialize TMUX plugin manager +run '~/.tmux/plugins/tpm/tpm' + +# Source local configuration if any +if '[ -f ~/.tmux.local.conf ]' 'run ~/.tmux.local.conf' From f70676cc32157eb0ff05c99c3416301f657f0136 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:06:14 +0200 Subject: [PATCH 0326/2080] Import vim links --- .vim | 1 + .vimrc | 1 + 2 files changed, 2 insertions(+) create mode 120000 .vim create mode 120000 .vimrc diff --git a/.vim b/.vim new file mode 120000 index 00000000..35dbcb15 --- /dev/null +++ b/.vim @@ -0,0 +1 @@ +.config/nvim \ No newline at end of file diff --git a/.vimrc b/.vimrc new file mode 120000 index 00000000..fa178b0f --- /dev/null +++ b/.vimrc @@ -0,0 +1 @@ +.vim/init.vim \ No newline at end of file From 966eb2636d4b55d80ccfc28c6e5f8ca1f35593bc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:14:41 +0200 Subject: [PATCH 0327/2080] Import .p10k --- .p10k.zsh | 1616 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1616 insertions(+) create mode 100644 .p10k.zsh diff --git a/.p10k.zsh b/.p10k.zsh new file mode 100644 index 00000000..65d4eecf --- /dev/null +++ b/.p10k.zsh @@ -0,0 +1,1616 @@ +# Generated by Powerlevel10k configuration wizard on 2020-05-23 at 13:29 CEST. +# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 54726. +# Wizard options: nerdfont-complete + powerline, small icons, rainbow, unicode, +# angled separators, sharp heads, slanted tails, 2 lines, solid, full frame, +# dark-ornaments, sparse, many icons, fluent, transient_prompt, instant_prompt=quiet. +# Type `p10k configure` to generate another config. +# +# Config for Powerlevel10k with powerline prompt style with colorful background. +# Type `p10k configure` to generate your own config based on it. +# +# Tip: Looking for a nice color? Here's a one-liner to print colormap. +# +# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done + +# Temporarily change options. +'builtin' 'local' '-a' 'p10k_config_opts' +[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') +[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') +[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') +'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' + +() { + emulate -L zsh -o extended_glob + + # Unset all configuration options. This allows you to apply configuration changes without + # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. + unset -m 'POWERLEVEL9K_*|DEFAULT_USER' + + # Zsh >= 5.1 is required. + autoload -Uz is-at-least && is-at-least 5.1 || return + + # The list of segments shown on the left. Fill it with the most important segments. + typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( + # =========================[ Line #1 ]========================= + os_icon # os identifier + dir # current directory + vcs # git status + # =========================[ Line #2 ]========================= + newline # \n + # prompt_char # prompt symbol + ) + + # The list of segments shown on the right. Fill it with less important segments. + # Right prompt on the last prompt line (where you are typing your commands) gets + # automatically hidden when the input line reaches it. Right prompt above the + # last prompt line gets hidden if it would overlap with left prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( + # =========================[ Line #1 ]========================= + status # exit code of the last command + command_execution_time # duration of the last command + background_jobs # presence of background jobs + direnv # direnv status (https://direnv.net/) + asdf # asdf version manager (https://github.com/asdf-vm/asdf) + virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) + anaconda # conda environment (https://conda.io/) + pyenv # python environment (https://github.com/pyenv/pyenv) + goenv # go environment (https://github.com/syndbg/goenv) + nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) + nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) + nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) + # node_version # node.js version + # go_version # go version (https://golang.org) + # rust_version # rustc version (https://www.rust-lang.org) + # dotnet_version # .NET version (https://dotnet.microsoft.com) + # php_version # php version (https://www.php.net/) + # laravel_version # laravel php framework version (https://laravel.com/) + # java_version # java version (https://www.java.com/) + # package # name@version from package.json (https://docs.npmjs.com/files/package.json) + rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) + rvm # ruby version from rvm (https://rvm.io) + fvm # flutter version management (https://github.com/leoafarias/fvm) + luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) + jenv # java version from jenv (https://github.com/jenv/jenv) + plenv # perl version from plenv (https://github.com/tokuhirom/plenv) + phpenv # php version from phpenv (https://github.com/phpenv/phpenv) + haskell_stack # haskell version from stack (https://haskellstack.org/) + kubecontext # current kubernetes context (https://kubernetes.io/) + terraform # terraform workspace (https://www.terraform.io) + aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) + aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) + azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) + gcloud # google cloud cli account and project (https://cloud.google.com/) + google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) + context # user@hostname + nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) + ranger # ranger shell (https://github.com/ranger/ranger) + nnn # nnn shell (https://github.com/jarun/nnn) + vim_shell # vim shell indicator (:sh) + midnight_commander # midnight commander shell (https://midnight-commander.org/) + nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) + vi_mode # vi mode (you don't need this if you've enabled prompt_char) + # vpn_ip # virtual private network indicator + # load # CPU load + # disk_usage # disk usage + # ram # free RAM + # swap # used swap + todo # todo items (https://github.com/todotxt/todo.txt-cli) + timewarrior # timewarrior tracking status (https://timewarrior.net/) + taskwarrior # taskwarrior task count (https://taskwarrior.org/) + # time # current time + # =========================[ Line #2 ]========================= + newline + # ip # ip address and bandwidth usage for a specified network interface + # public_ip # public IP address + # proxy # system-wide http/https/ftp proxy + # battery # internal battery + # wifi # wifi speed + # example # example user-defined segment (see prompt_example function below) + ) + + # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. + typeset -g POWERLEVEL9K_MODE=nerdfont-complete + # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid + # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. + typeset -g POWERLEVEL9K_ICON_PADDING=none + + # When set to true, icons appear before content on both sides of the prompt. When set + # to false, icons go after content. If empty or not set, icons go before content in the left + # prompt and after content in the right prompt. + # + # You can also override it for a specific segment: + # + # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false + # + # Or for a specific segment in specific state: + # + # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false + typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= + + # Add an empty line before each prompt. + typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true + + # Connect left prompt lines with these symbols. You'll probably want to use the same color + # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%240F╭─' + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%240F├─' + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%240F╰─' + # Connect right prompt lines with these symbols. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%240F─╮' + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%240F─┤' + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%240F─╯' + + # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or + # '─'. The last two make it easier to see the alignment between left and right prompt and to + # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + # for more compact prompt if using using this option. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='─' + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= + if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then + # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE + # ornaments defined above. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=240 + # Start filler from the edge of the screen if there are no left segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' + # End filler on the edge of the screen if there are no right segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' + fi + + # Separator between same-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='\uE0B1' + # Separator between same-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='\uE0B3' + # Separator between different-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' + # Separator between different-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' + # The right end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0' + # The left end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2' + # The left end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0BA' + # The right end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0BC' + # Left prompt terminator for lines without any segments. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + + #################################[ os_icon: os identifier ]################################## + # OS identifier color. + typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=232 + typeset -g POWERLEVEL9K_OS_ICON_BACKGROUND=7 + # Custom icon. + # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' + + ################################[ prompt_char: prompt symbol ]################################ + # Transparent background. + typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= + # Green prompt symbol if the last command succeeded. + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 + # Red prompt symbol if the last command failed. + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 + # Default prompt symbol. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' + # Prompt symbol in command vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' + # Prompt symbol in visual vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='Ⅴ' + # Prompt symbol in overwrite vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' + typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true + # No line terminator if prompt_char is the last segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + # No line introducer if prompt_char is the first segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + # No surrounding whitespace. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= + + ##################################[ dir: current directory ]################################## + # Current directory background color. + typeset -g POWERLEVEL9K_DIR_BACKGROUND=4 + # Default current directory foreground color. + typeset -g POWERLEVEL9K_DIR_FOREGROUND=254 + # If directory is too long, shorten some of its segments to the shortest possible unique + # prefix. The shortened directory can be tab-completed to the original. + typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique + # Replace removed segment suffixes with this symbol. + typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= + # Color of the shortened directory segments. + typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=250 + # Color of the anchor directory segments. Anchor segments are never shortened. The first + # segment is always an anchor. + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=255 + # Display anchor directory segments in bold. + typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true + # Don't shorten directories that contain any of these files. They are anchors. + local anchor_files=( + .bzr + .citc + .git + .hg + .node-version + .python-version + .go-version + .ruby-version + .lua-version + .java-version + .perl-version + .php-version + .tool-version + .shorten_folder_marker + .svn + .terraform + CVS + Cargo.toml + composer.json + go.mod + package.json + stack.yaml + ) + typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" + # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains + # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is + # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) + # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers + # and other directories don't. + typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false + # Don't shorten this many last directory segments. They are anchors. + typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + # Shorten directory if it's longer than this even if there is space for it. The value can + # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, + # directory will be shortened only when prompt doesn't fit or when other parameters demand it + # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). + # If set to `0`, directory will always be shortened to its minimum length. + typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this + # many columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least + # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 + # If set to true, embed a hyperlink into the directory. Useful for quickly + # opening a directory in the file manager simply by clicking the link. + # Can also be handy when the directory is shortened, as it allows you to see + # the full directory that was used in previous commands. + typeset -g POWERLEVEL9K_DIR_HYPERLINK=false + + # Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and + # POWERLEVEL9K_DIR_CLASSES below. + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2 + + # The default icon shown next to non-writable directories when POWERLEVEL9K_DIR_SHOW_WRITABLE is + # set to v2. + # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' + + # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different + # directories. It must be an array with 3 * N elements. Each triplet consists of: + # + # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with + # extended_glob option enabled. + # 2. Directory class for the purpose of styling. + # 3. An empty string. + # + # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. + # + # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v2 and the current directory is not writable, + # its class gets suffix _NOT_WRITABLE. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=( + # '~/work(|/*)' WORK '' + # '~(|/*)' HOME '' + # '*' DEFAULT '') + # + # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with class + # WORK or WORK_NOT_WRITABLE. + # + # Simply assigning classes to directories don't have any visible effects. It merely gives you an + # option to define custom colors and icons for different directory classes. + # + # # Styling for WORK. + # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_BACKGROUND=4 + # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=254 + # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=250 + # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=255 + # + # # Styling for WORK_NOT_WRITABLE. + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_BACKGROUND=4 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=254 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=250 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=255 + # + # If a styling parameter isn't explicitly defined for some class, it falls back to the classless + # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls + # back to POWERLEVEL9K_DIR_FOREGROUND. + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=() + + # Custom prefix. + # typeset -g POWERLEVEL9K_DIR_PREFIX='in ' + + #####################################[ vcs: git status ]###################################### + # Version control system colors. + # typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=2 + # typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=3 + # typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=2 + # typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=3 + # typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8 + + # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. + typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' + + # Untracked files icon. It's really a question mark, your font isn't broken. + # Change the value of this parameter to show a different icon. + typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' + + # Formatter for Git status. + # + # Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42. + # + # You can edit the function to customize how Git status looks. + # + # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: + # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. + function my_git_formatter() { + emulate -L zsh + + if [[ -n $P9K_CONTENT ]]; then + # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from + # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. + typeset -g my_git_format=$P9K_CONTENT + return + fi + + # Styling for different parts of Git status. + local meta='%7F' # white foreground + local clean='%0F' # black foreground + local modified='%0F' # black foreground + local untracked='%0F' # black foreground + local conflicted='%1F' # red foreground + + local res + local where # branch or tag + if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then + res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}" + where=${(V)VCS_STATUS_LOCAL_BRANCH} + elif [[ -n $VCS_STATUS_TAG ]]; then + res+="${meta}#" + where=${(V)VCS_STATUS_TAG} + fi + + # If local branch name or tag is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show local branch name in full without truncation, delete the next line. + (( $#where > 32 )) && where[13,-13]="…" + res+="${clean}${where//\%/%%}" # escape % + + # Display the current Git commit if there is no branch or tag. + # Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line. + [[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + + # Show tracking branch name if it differs from local branch. + if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then + res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape % + fi + + # ⇣42 if behind the remote. + (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" + # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. + (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " + (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" + # ⇠42 if behind the push remote. + (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" + (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " + # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. + (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" + # *42 if have stashes. + (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" + # 'merge' if the repo is in an unusual state. + [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" + # ~42 if have merge conflicts. + (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" + # +42 if have staged changes. + (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" + # !42 if have unstaged changes. + (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" + # ?42 if have untracked files. It's really a question mark, your font isn't broken. + # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. + # Remove the next line if you don't want to see untracked files at all. + (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" + # "─" if the number of unstaged files is unknown. This can happen due to + # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower + # than the number of files in the Git index, or due to bash.showDirtyState being set to false + # in the repository config. The number of staged and untracked files may also be unknown + # in this case. + (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" + + typeset -g my_git_format=$res + } + functions -M my_git_formatter 2>/dev/null + + # Don't count the number of unstaged, untracked and conflicted files in Git repositories with + # more than this many files in the index. Negative value means infinity. + # + # If you are working in Git repositories with tens of millions of files and seeing performance + # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output + # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's + # config: `git config bash.showDirtyState false`. + typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 + + # Don't show Git status in prompt for repositories whose workdir matches this pattern. + # For example, if set to '~', the Git repository at $HOME/.git will be ignored. + # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. + typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' + + # Disable the default Git status formatting. + typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true + # Install our own Git status formatter. + typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter()))+${my_git_format}}' + # Enable counters for staged, unstaged, etc. + typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 + + # Custom icon. + # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_VCS_PREFIX='on ' + + # Show status of repositories of these types. You can add svn and/or hg if you are + # using them. If you do, your prompt may become slow even when your current directory + # isn't in an svn or hg reposotiry. + typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) + + ##########################[ status: exit code of the last command ]########################### + # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and + # style them independently from the regular OK and ERROR state. + typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true + + # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as + # it will signify success by turning green. + typeset -g POWERLEVEL9K_STATUS_OK=true + typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' + # typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=2 + # typeset -g POWERLEVEL9K_STATUS_OK_BACKGROUND=0 + + # Status when some part of a pipe command fails but the overall exit status is zero. It may look + # like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' + # typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=2 + # typeset -g POWERLEVEL9K_STATUS_OK_PIPE_BACKGROUND=0 + + # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as + # it will signify error by turning red. + typeset -g POWERLEVEL9K_STATUS_ERROR=true + typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' + # typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=3 + # typeset -g POWERLEVEL9K_STATUS_ERROR_BACKGROUND=1 + + # Status when the last command was terminated by a signal. + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true + # Use terse signal names: "INT" instead of "SIGINT(2)". + typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' + # typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=3 + # typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_BACKGROUND=1 + + # Status when some part of a pipe command fails and the overall exit status is also non-zero. + # It may look like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' + # typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=3 + # typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_BACKGROUND=1 + + ###################[ command_execution_time: duration of the last command ]################### + # Execution time color. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=0 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=3 + # Show duration of the last command if takes longer than this many seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 + # Show this many fractional digits. Zero means round to seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 + # Duration format: 1d 2h 3m 4s. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' + # Custom icon. + # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='took ' + + #######################[ background_jobs: presence of background jobs ]####################### + # Background jobs color. + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=6 + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND=0 + # Don't show the number of background jobs. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false + # Custom icon. + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ direnv: direnv status (https://direnv.net/) ]######################## + # Direnv color. + # typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=3 + # typeset -g POWERLEVEL9K_DIRENV_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### + # Default asdf color. Only used to display tools for which there is no color override (see below). + typeset -g POWERLEVEL9K_ASDF_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_BACKGROUND=7 + + # There are four parameters that can be used to hide asdf tools. Each parameter describes + # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at + # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to + # hide a tool, it gets shown. + # + # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and + # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: + # + # asdf local python 3.8.1 + # asdf global python 3.8.1 + # + # After running both commands the current python version is 3.8.1 and its source is "local" as + # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, + # it'll hide python version in this case because 3.8.1 is the same as the global version. + # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't + # contain "local". + + # Hide tool versions that don't come from one of these sources. + # + # Available sources: + # + # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" + # - local `asdf current` says "set by /some/not/home/directory/file" + # - global `asdf current` says "set by /home/username/file" + # + # Note: If this parameter is set to (shell local global), it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. + typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) + + # If set to false, hide tool versions that are the same as global. + # + # Note: The name of this parameter doesn't reflect its meaning at all. + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. + typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false + + # If set to false, hide tool versions that are equal to "system". + # + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. + typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true + + # If set to non-empty value, hide tools unless there is a file matching the specified file pattern + # in the current directory, or its parent diretory, or its grandparent directory, and so on. + # + # Note: If this parameter is set to empty value, it won't hide tools. + # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. + # + # Example: Hide nodejs version when there is no package.json and no *.js files in the current + # directory, in `..`, in `../..` and so on. + # + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' + typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= + + # Ruby version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_RUBY_BACKGROUND=1 + # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Python version from asdf. + typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_PYTHON_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Go version from asdf. + typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_GOLANG_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Node.js version from asdf. + typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_NODEJS_BACKGROUND=2 + # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Rust version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_RUST_BACKGROUND=208 + # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' + + # .NET Core version from asdf. + typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_BACKGROUND=5 + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Flutter version from asdf. + typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_FLUTTER_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Lua version from asdf. + typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_LUA_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Java version from asdf. + typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=1 + typeset -g POWERLEVEL9K_ASDF_JAVA_BACKGROUND=7 + # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Perl version from asdf. + typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_PERL_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Erlang version from asdf. + typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_ERLANG_BACKGROUND=1 + # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Elixir version from asdf. + typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_ELIXIR_BACKGROUND=5 + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Postgres version from asdf. + typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_POSTGRES_BACKGROUND=6 + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' + + # PHP version from asdf. + typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_PHP_BACKGROUND=5 + # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Haskell version from asdf. + typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_HASKELL_BACKGROUND=3 + # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' + + ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### + # NordVPN connection indicator color. + # typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=7 + # typeset -g POWERLEVEL9K_NORDVPN_BACKGROUND=4 + # Hide NordVPN connection indicator when not connected. + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= + # Custom icon. + # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## + # Ranger shell color. + # typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3 + # typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### + # Nnn shell color. + # typeset -g POWERLEVEL9K_NNN_FOREGROUND=0 + # typeset -g POWERLEVEL9K_NNN_BACKGROUND=6 + # Custom icon. + # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########################[ vim_shell: vim shell indicator (:sh) ]########################### + # Vim shell indicator color. + # typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0 + # typeset -g POWERLEVEL9K_VIM_SHELL_BACKGROUND=2 + # Custom icon. + # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### + # Midnight Commander shell color. + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=3 + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## + # Nix shell color. + # typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0 + # typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4 + + # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. + # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ disk_usage: disk usage ]################################## + # Colors for different levels of disk usage. + # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3 + # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND=0 + # typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=0 + # typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND=3 + # typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=7 + # typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND=1 + # Thresholds for different levels of disk usage (percentage points). + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 + # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. + typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false + # Custom icon. + # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### + # Foreground color. + typeset -g POWERLEVEL9K_VI_MODE_FOREGROUND=0 + # Text and color for normal (a.k.a. command) vi mode. + typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL + typeset -g POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND=2 + # Text and color for visual vi mode. + typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL + typeset -g POWERLEVEL9K_VI_MODE_VISUAL_BACKGROUND=4 + # Text and color for overtype (a.k.a. overwrite and replace) vi mode. + typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE + typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_BACKGROUND=3 + # Text and color for insert vi mode. + typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= + typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8 + + ######################################[ ram: free RAM ]####################################### + # RAM color. + # typeset -g POWERLEVEL9K_RAM_FOREGROUND=0 + # typeset -g POWERLEVEL9K_RAM_BACKGROUND=3 + # Custom icon. + # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################################[ swap: used swap ]###################################### + # Swap color. + # typeset -g POWERLEVEL9K_SWAP_FOREGROUND=0 + # typeset -g POWERLEVEL9K_SWAP_BACKGROUND=3 + # Custom icon. + # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ load: CPU load ]###################################### + # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. + typeset -g POWERLEVEL9K_LOAD_WHICH=5 + # Load color when load is under 50%. + # typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=0 + # typeset -g POWERLEVEL9K_LOAD_NORMAL_BACKGROUND=2 + # Load color when load is between 50% and 70%. + # typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=0 + # typeset -g POWERLEVEL9K_LOAD_WARNING_BACKGROUND=3 + # Load color when load is over 70%. + # typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=0 + # typeset -g POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND=1 + # Custom icon. + # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ + # Todo color. + # typeset -g POWERLEVEL9K_TODO_FOREGROUND=0 + # typeset -g POWERLEVEL9K_TODO_BACKGROUND=8 + # Hide todo when the total number of tasks is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true + # Hide todo when the number of tasks after filtering is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false + + # Todo format. The following parameters are available within the expansion. + # + # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. + # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. + # + # These variables correspond to the last line of the output of `todo.sh -p ls`: + # + # TODO: 24 of 42 tasks shown + # + # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. + # + # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ + # Timewarrior color. + # typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=255 + # typeset -g POWERLEVEL9K_TIMEWARRIOR_BACKGROUND=8 + + # If the tracked task is longer than 24 characters, truncate and append "…". + # Tip: To always display tasks without truncation, delete the following parameter. + # Tip: To hide task names and display just the icon when time tracking is enabled, set the + # value of the following parameter to "". + typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' + + # Custom icon. + # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## + # Taskwarrior color. + # typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=0 + # typeset -g POWERLEVEL9K_TASKWARRIOR_BACKGROUND=6 + + # Taskwarrior segment format. The following parameters are available within the expansion. + # + # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. + # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. + # + # Zero values are represented as empty parameters. + # + # The default format: + # + # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' + # + # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ context: user@hostname ]################################## + # Context color when running with privileges. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1 + typeset -g POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND=0 + # Context color in SSH without privileges. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=3 + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_BACKGROUND=0 + # Default context color (no privileges, no SSH). + typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=3 + typeset -g POWERLEVEL9K_CONTEXT_BACKGROUND=0 + + # Context format when running with privileges: user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%n@%m' + # Context format when in SSH without privileges: user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' + # Default context format (no privileges, no SSH): user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' + + # Don't show context unless running with privileges or in SSH. + # Tip: Remove the next line to always show context. + typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_CONTEXT_PREFIX='with ' + + ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### + # Python virtual environment color. + # typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_VIRTUALENV_BACKGROUND=4 + # Don't show Python version next to the virtual environment name. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false + # Don't show virtualenv if pyenv is already shown. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false + # Separate environment name from Python version only with a space. + typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ anaconda: conda environment (https://conda.io/) ]###################### + # Anaconda environment color. + # typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=0 + # typeset -g POWERLEVEL9K_ANACONDA_BACKGROUND=4 + # Don't show Python version next to the anaconda environment name. + typeset -g POWERLEVEL9K_ANACONDA_SHOW_PYTHON_VERSION=false + # Separate environment name from Python version only with a space. + typeset -g POWERLEVEL9K_ANACONDA_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ + # Pyenv color. + # typeset -g POWERLEVEL9K_PYENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_PYENV_BACKGROUND=4 + # Hide python version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) + # If set to false, hide python version if it's the same as global: + # $(pyenv version-name) == $(pyenv global). + typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide python version if it's equal to "system". + typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true + + # Pyenv segment format. The following parameters are available within the expansion. + # + # - P9K_CONTENT Current pyenv environment (pyenv version-name). + # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). + # + # The default format has the following logic: + # + # 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not + # empty and unequal to $P9K_CONTENT. + # 2. Otherwise display just "$P9K_CONTENT". + typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}' + + # Custom icon. + # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ + # Goenv color. + # typeset -g POWERLEVEL9K_GOENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_GOENV_BACKGROUND=4 + # Hide go version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) + # If set to false, hide go version if it's the same as global: + # $(goenv version-name) == $(goenv global). + typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide go version if it's equal to "system". + typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## + # Nodenv color. + # typeset -g POWERLEVEL9K_NODENV_FOREGROUND=2 + # typeset -g POWERLEVEL9K_NODENV_BACKGROUND=0 + # Hide node version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) + # If set to false, hide node version if it's the same as global: + # $(nodenv version-name) == $(nodenv global). + typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide node version if it's equal to "system". + typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### + # Nvm color. + # typeset -g POWERLEVEL9K_NVM_FOREGROUND=0 + # typeset -g POWERLEVEL9K_NVM_BACKGROUND=5 + # Custom icon. + # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ + # Nodeenv color. + # typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=2 + # typeset -g POWERLEVEL9K_NODEENV_BACKGROUND=0 + # Don't show Node version next to the environment name. + typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false + # Separate environment name from Node version only with a space. + typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############################[ node_version: node.js version ]############################### + # Node version color. + # typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=7 + # typeset -g POWERLEVEL9K_NODE_VERSION_BACKGROUND=2 + # Show node version only when in a directory tree containing package.json. + typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ go_version: go version (https://golang.org) ]######################## + # Go version color. + # typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=255 + # typeset -g POWERLEVEL9K_GO_VERSION_BACKGROUND=2 + # Show go version only when in a go project subdirectory. + typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## + # Rust version color. + # typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=0 + # typeset -g POWERLEVEL9K_RUST_VERSION_BACKGROUND=208 + # Show rust version only when in a rust project subdirectory. + typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ + # .NET version color. + # typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=7 + # typeset -g POWERLEVEL9K_DOTNET_VERSION_BACKGROUND=5 + # Show .NET version only when in a .NET project subdirectory. + typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ php_version: php version (https://www.php.net/) ]###################### + # PHP version color. + typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=0 + typeset -g POWERLEVEL9K_PHP_VERSION_BACKGROUND=5 + # Show PHP version only when in a PHP project subdirectory. + typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### + # Laravel version color. + typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=1 + typeset -g POWERLEVEL9K_LARAVEL_VERSION_BACKGROUND=7 + # Custom icon. + # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## + # Rbenv color. + # typeset -g POWERLEVEL9K_RBENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_RBENV_BACKGROUND=1 + # Hide ruby version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) + # If set to false, hide ruby version if it's the same as global: + # $(rbenv version-name) == $(rbenv global). + typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide ruby version if it's equal to "system". + typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ####################[ java_version: java version (https://www.java.com/) ]#################### + # Java version color. + typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=1 + typeset -g POWERLEVEL9K_JAVA_VERSION_BACKGROUND=7 + # Show java version only when in a java project subdirectory. + typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true + # Show brief version. + typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false + # Custom icon. + # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### + # Package color. + # typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=0 + # typeset -g POWERLEVEL9K_PACKAGE_BACKGROUND=6 + + # Package format. The following parameters are available within the expansion. + # + # - P9K_PACKAGE_NAME The value of `name` field in package.json. + # - P9K_PACKAGE_VERSION The value of `version` field in package.json. + # + # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' + + # Custom icon. + # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## + # Rvm color. + # typeset -g POWERLEVEL9K_RVM_FOREGROUND=0 + # typeset -g POWERLEVEL9K_RVM_BACKGROUND=240 + # Don't show @gemset at the end. + typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false + # Don't show ruby- at the front. + typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ + # Fvm color. + # typeset -g POWERLEVEL9K_FVM_FOREGROUND=0 + # typeset -g POWERLEVEL9K_FVM_BACKGROUND=4 + # Custom icon. + # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### + # Lua color. + # typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_LUAENV_BACKGROUND=4 + # Hide lua version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) + # If set to false, hide lua version if it's the same as global: + # $(luaenv version-name) == $(luaenv global). + typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide lua version if it's equal to "system". + typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ + # Java color. + # typeset -g POWERLEVEL9K_JENV_FOREGROUND=1 + # typeset -g POWERLEVEL9K_JENV_BACKGROUND=7 + # Hide java version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) + # If set to false, hide java version if it's the same as global: + # $(jenv version-name) == $(jenv global). + typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide java version if it's equal to "system". + typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ + # Perl color. + # typeset -g POWERLEVEL9K_PLENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_PLENV_BACKGROUND=4 + # Hide perl version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) + # If set to false, hide perl version if it's the same as global: + # $(plenv version-name) == $(plenv global). + typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide perl version if it's equal to "system". + typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ + # PHP color. + # typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0 + # typeset -g POWERLEVEL9K_PHPENV_BACKGROUND=5 + # Hide php version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) + # If set to false, hide php version if it's the same as global: + # $(phpenv version-name) == $(phpenv global). + typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide PHP version if it's equal to "system". + typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### + # Haskell color. + # typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=0 + # typeset -g POWERLEVEL9K_HASKELL_STACK_BACKGROUND=3 + + # Hide haskell version if it doesn't come from one of these sources. + # + # shell: version is set by STACK_YAML + # local: version is set by stack.yaml up the directory tree + # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) + typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) + # If set to false, hide haskell version if it's the same as in the implicit global project. + typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true + # Custom icon. + # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ terraform: terraform workspace (https://www.terraform.io) ]################# + # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current terraform workspace gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current terraform workspace is "project_test", its class is TEST because "project_test" + # doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=2 + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_FOREGROUND=4 + typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_BACKGROUND=0 + # typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# + # Show kubecontext only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show kubecontext. + typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito' + + # Kubernetes context classes for the purpose of using different colors, icons and expansions with + # different contexts. + # + # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current kubernetes context gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current kubernetes context is "deathray-testing/default", its class is TEST + # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=0 + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_BACKGROUND=2 + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=7 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_BACKGROUND=5 + # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext + # segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # Within the expansion the following parameters are always available: + # + # - P9K_CONTENT The content that would've been displayed if there was no content + # expansion defined. + # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE + # in the output of `kubectl config get-contexts`. If there is no + # namespace, the parameter is set to "default". + # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the + # output of `kubectl config get-contexts`. + # + # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), + # the following extra parameters are available: + # + # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. + # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. + # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. + # + # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, + # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=gke + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + # + # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=eks + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= + # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' + # Append the current context's namespace if it's not "default". + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' + + # Custom prefix. + typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='at ' + + #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# + # Show aws only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show aws. + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi' + + # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current AWS profile gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current AWS profile is "company_test", its class is TEST + # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + # typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=7 + # typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1 + # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# + # AWS Elastic Beanstalk environment color. + # typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2 + # typeset -g POWERLEVEL9K_AWS_EB_ENV_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## + # Show azure only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show azure. + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi' + # Azure account name color. + # typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7 + # typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4 + # Custom icon. + # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### + # Show gcloud only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show gcloud. + typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs' + # Google cloud color. + # typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7 + # typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4 + + # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or + # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative + # enough. You can use the following parameters in the expansions. Each of them corresponds to the + # output of `gcloud` tool. + # + # Parameter | Source + # -------------------------|-------------------------------------------------------------------- + # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' + # P9K_GCLOUD_ACCOUNT | gcloud config get-value account + # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project + # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced with '%%'. + # + # Obtaining project name requires sending a request to Google servers. This can take a long time + # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud + # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets + # set and gcloud prompt segment transitions to state COMPLETE. + # + # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL + # and COMPLETE. You can also hide gcloud in state PARTIAL by setting + # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and + # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. + typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' + typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' + + # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name + # this often. Negative value disables periodic polling. In this mode project name is retrieved + # only when the current configuration, account or project id changes. + typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 + + # Custom icon. + # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# + # Show google_app_cred only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show google_app_cred. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi' + + # Google application credentials classes for the purpose of using different colors, icons and + # expansions with different credentials. + # + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first + # element in each pair defines a pattern against which the current kubernetes context gets + # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion + # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION + # parameters, you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. + # The first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD + # '*:*test*:*' TEST + # '*' DEFAULT) + # + # If your current Google application credentials is "service_account deathray-testing x@y.com", + # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD # These values are examples that are unlikely + # '*:*test*:*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=7 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_BACKGROUND=4 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by + # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # You can use the following parameters in the expansion. Each of them corresponds to one of the + # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. + # + # Parameter | JSON key file field + # ---------------------------------+--------------- + # P9K_GOOGLE_APP_CRED_TYPE | type + # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id + # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced by '%%'. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' + + ###############################[ public_ip: public IP address ]############################### + # Public IP color. + # typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7 + # typeset -g POWERLEVEL9K_PUBLIC_IP_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ########################[ vpn_ip: virtual private network indicator ]######################### + # VPN IP color. + # typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=0 + # typeset -g POWERLEVEL9K_VPN_IP_BACKGROUND=6 + # When on VPN, show just an icon without the IP address. + # Tip: To display the private IP address when on VPN, remove the next line. + typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= + # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN + # to see the name of the interface. + typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(wg|(.*tun))[0-9]*' + # If set to true, show one segment per matching network interface. If set to false, show only + # one segment corresponding to the first matching network interface. + # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. + typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false + # Custom icon. + # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### + # IP color. + typeset -g POWERLEVEL9K_IP_BACKGROUND=4 + typeset -g POWERLEVEL9K_IP_FOREGROUND=0 + # The following parameters are accessible within the expansion: + # + # Parameter | Meaning + # ----------------------+--------------- + # P9K_IP_IP | IP address + # P9K_IP_INTERFACE | network interface + # P9K_IP_RX_BYTES | total number of bytes received + # P9K_IP_TX_BYTES | total number of bytes sent + # P9K_IP_RX_RATE | receive rate (since last prompt) + # P9K_IP_TX_RATE | send rate (since last prompt) + typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+⇡$P9K_IP_TX_RATE }$P9K_IP_IP' + # Show information for the first network interface whose name matches this regular expression. + # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. + typeset -g POWERLEVEL9K_IP_INTERFACE='e.*' + # Custom icon. + # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #########################[ proxy: system-wide http/https/ftp proxy ]########################## + # Proxy color. + # typeset -g POWERLEVEL9K_PROXY_FOREGROUND=4 + # typeset -g POWERLEVEL9K_PROXY_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################################[ battery: internal battery ]################################# + # Show battery in red when it's below this level and not connected to power supply. + typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 + typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=1 + # Show battery in green when it's charging or fully charged. + typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=2 + # Show battery in yellow when it's discharging. + typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=3 + # Battery pictograms going from low to high level of charge. + typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' + # Don't show the remaining time to charge/discharge. + typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false + # typeset -g POWERLEVEL9K_BATTERY_BACKGROUND=0 + + #####################################[ wifi: wifi speed ]##################################### + # WiFi color. + # typeset -g POWERLEVEL9K_WIFI_FOREGROUND=0 + # typeset -g POWERLEVEL9K_WIFI_BACKGROUND=4 + # Custom icon. + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). + # + # # Wifi colors and icons for different signal strength levels (low to high). + # typeset -g my_wifi_fg=(0 0 0 0 0) # <-- change these values + # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values + # + # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' + # + # The following parameters are accessible within the expansions: + # + # Parameter | Meaning + # ----------------------+--------------- + # P9K_WIFI_SSID | service set identifier, a.k.a. network name + # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none" + # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second + # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 + # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 + # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) + # + # All parameters except P9K_WIFI_BARS are extracted from the output of the following command: + # + # /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I + + ####################################[ time: current time ]#################################### + # Current time color. + # typeset -g POWERLEVEL9K_TIME_FOREGROUND=0 + # typeset -g POWERLEVEL9K_TIME_BACKGROUND=7 + # Format for the current time: 09:51:02. See `man 3 strftime`. + typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' + # If set to true, time will update when you hit enter. This way prompts for the past + # commands will contain the start times of their commands as opposed to the default + # behavior where they contain the end times of their preceding commands. + typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false + # Custom icon. + # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_TIME_PREFIX='at ' + + # Example of a user-defined prompt segment. Function prompt_example will be called on every + # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or + # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and yellow text on red background + # greeting the user. + # + # Type `p10k help segment` for documentation and a more sophisticated example. + function prompt_example() { + p10k segment -b 1 -f 3 -i '⭐' -t 'hello, %n' + } + + # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job + # is to generate the prompt segment for display in instant prompt. See + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # + # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function + # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k + # will replay these calls without actually calling instant_prompt_*. It is imperative that + # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this + # rule is not observed, the content of instant prompt will be incorrect. + # + # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If + # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. + function instant_prompt_example() { + # Since prompt_example always makes the same `p10k segment` calls, we can call it from + # instant_prompt_example. This will give us the same `example` prompt segment in the instant + # and regular prompts. + prompt_example + } + + # User-defined prompt segments can be customized the same way as built-in segments. + # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=3 + # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt + # when accepting a command line. Supported values: + # + # - off: Don't change prompt when accepting a command line. + # - always: Trim down prompt when accepting a command line. + # - same-dir: Trim down prompt when accepting a command line unless this is the first command + # typed after changing current working directory. + typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always + + # Instant prompt mode. + # + # - off: Disable instant prompt. Choose this if you've tried instant prompt and found + # it incompatible with your zsh configuration files. + # - quiet: Enable instant prompt and don't print warnings when detecting console output + # during zsh initialization. Choose this if you've read and understood + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # - verbose: Enable instant prompt and print a warning when detecting console output during + # zsh initialization. Choose this if you've never tried instant prompt, haven't + # seen the warning, or if you are unsure what this all means. + typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet + + # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. + # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload + # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you + # really need it. + typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true + + # If p10k is already loaded, reload configuration. + # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. + (( ! $+functions[p10k] )) || p10k reload +} + +# Tell `p10k configure` which file it should overwrite. +typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} + +(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} +'builtin' 'unset' 'p10k_config_opts' From a1bfae58ea243ecb41c901454bd05b91a49aba42 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:15:41 +0200 Subject: [PATCH 0328/2080] Rename .p10k.zsh to .p10k.zsh#Linux --- .p10k.zsh => .p10k.zsh#Linux | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .p10k.zsh => .p10k.zsh#Linux (100%) diff --git a/.p10k.zsh b/.p10k.zsh#Linux similarity index 100% rename from .p10k.zsh rename to .p10k.zsh#Linux From 16fd34cb536bbbe1591dbb8258a6b9b7e6350838 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:18:02 +0200 Subject: [PATCH 0329/2080] Fix template name --- .p10k.zsh#Linux => .p10k.zsh##Linux | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .p10k.zsh#Linux => .p10k.zsh##Linux (100%) diff --git a/.p10k.zsh#Linux b/.p10k.zsh##Linux similarity index 100% rename from .p10k.zsh#Linux rename to .p10k.zsh##Linux From ef04204f63980536b674f7745d1566a14c7a0798 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:19:38 +0200 Subject: [PATCH 0330/2080] Updatealternate --- .p10k.zsh##Linux => .p10k.zsh##os.Linux | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .p10k.zsh##Linux => .p10k.zsh##os.Linux (100%) diff --git a/.p10k.zsh##Linux b/.p10k.zsh##os.Linux similarity index 100% rename from .p10k.zsh##Linux rename to .p10k.zsh##os.Linux From 66f0f8ff8ba12b915fef729bd38f8d447d86fbd3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:29:48 +0200 Subject: [PATCH 0331/2080] Add mbsync --- .config/systemd/user/mbsync.service | 10 +++++++++ .config/systemd/user/mbsync.timer | 20 +++++++++++++++++ .mbsyncrc##os.Linux,hostname.brutal | 34 +++++++++++++++++++++++++++++ bin/add_contact | 34 +++++++++++++++++++++++++++++ bin/add_event | 6 +++++ 5 files changed, 104 insertions(+) create mode 100644 .config/systemd/user/mbsync.service create mode 100644 .config/systemd/user/mbsync.timer create mode 100755 .mbsyncrc##os.Linux,hostname.brutal create mode 100755 bin/add_contact create mode 100755 bin/add_event diff --git a/.config/systemd/user/mbsync.service b/.config/systemd/user/mbsync.service new file mode 100644 index 00000000..f5ecc088 --- /dev/null +++ b/.config/systemd/user/mbsync.service @@ -0,0 +1,10 @@ +[Unit] +Description=Mailbox synchronization service +After=network.target network-online.target dbus.socket + +[Service] +Type=oneshot +ExecStart=/usr/bin/mbsync -Va +ExecStartPost=/usr/bin/notmuch new +StandardOutput=syslog +StandardError=syslog diff --git a/.config/systemd/user/mbsync.timer b/.config/systemd/user/mbsync.timer new file mode 100644 index 00000000..2987e76d --- /dev/null +++ b/.config/systemd/user/mbsync.timer @@ -0,0 +1,20 @@ +# mbsync.timer + +[Unit] +Description=MBSync Quicksync timer + +[Timer] +# Check systemd.time(7) +# Time to wait after booting before offlineimap.service is run for the first time +OnBootSec=15min +# Every 30 seconds +# OnCalendar=*:*:0/30 +#OnCalendar=*-*-* *:0/2:00 +#OnCalendar=hourly +#OnCalendar=minutely +# run 1 minutes after each deactivation of the unit +OnUnitInactiveSec=60s +Unit=mbsync.service + +[Install] +WantedBy=default.target diff --git a/.mbsyncrc##os.Linux,hostname.brutal b/.mbsyncrc##os.Linux,hostname.brutal new file mode 100755 index 00000000..19fceba8 --- /dev/null +++ b/.mbsyncrc##os.Linux,hostname.brutal @@ -0,0 +1,34 @@ +# https://roylez.info/2016-02-10-mutt-multi-imap-accounts/ + +# Remote EGI IMAP +# Private IMAP Account +IMAPAccount Perso +Host mail.bapt.name +User baptiste@bapt.name +PassCmd "secret-tool lookup host mail.bapt.name service imaps user baptiste@bapt.name" +# AuthMechs PLAIN +SSLType IMAPS +AuthMechs LOGIN +CertificateFile /etc/ssl/certs/ca-certificates.crt + +# Remote Private IMAP +IMAPStore Perso_imap +Account Perso + +# Local Perso Maildir +MaildirStore Perso_local +Path ~/Mail/Perso/ +Inbox ~/Mail/Perso/Inbox +Flatten . + +# Mirror everything locally without changing folders names +Channel Perso +Far :Perso_imap: +Near :Perso_local: +Patterns * +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both diff --git a/bin/add_contact b/bin/add_contact new file mode 100755 index 00000000..54be7fd4 --- /dev/null +++ b/bin/add_contact @@ -0,0 +1,34 @@ +#!/bin/sh + +set -eu +set -o pipefail + +# Message is piped on the CLI +_from=$(awk '/^From:/ {print substr($0, index($0, $2))}' < /dev/stdin) + +[ -z "$_from" ] && exit 1 + +# extract Name and email +# XXX What if no name? +_name=$(printf "$_from" | perl -wlne '/(.*)\ +<(.*)>/ and print $1') +_email=$(printf "$_from" | perl -wlne '/(.*)\ +<(.*)>/ and print $2') + +# TODO Ask for missing information + +# Check if contacts already exists +# Returns email, name and group +_contact=$(goobook query "$_email") + +# Add new contact +if [ -z "$_contact" ]; then + goobook --verbose add "$_name" "$_email" + # Relaod goobook + goobook reload + printf "Added contact $_name $_email\n" +else + # TODO Update existing contact + printf "Found existing contact:" + printf "$_contact\n" +fi + +exit 0 diff --git a/bin/add_event b/bin/add_event new file mode 100755 index 00000000..551e2db0 --- /dev/null +++ b/bin/add_event @@ -0,0 +1,6 @@ +#!/bin/sh + +TERMINAL='termite --role task_dialog' +CALENDAR='baptiste.grenier@egi.eu' + +$TERMINAL -e "gcalcli --detail_url=short --calendar=\"$CALENDAR\" import -v \"$1\"" From 7df429be79d0a33884171f72d1dcc72388a87183 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:34:45 +0200 Subject: [PATCH 0332/2080] Add fish and some scripts --- .config/fish/config.fish | 8 ++ .taskrc | 34 ++++++++ bin/createsign | 4 + bin/dual-screen | 19 +++++ bin/gnomekeyring-helpers.py | 160 ++++++++++++++++++++++++++++++++++++ bin/launch_bar | 12 +++ bin/mutt_bgrun | 114 +++++++++++++++++++++++++ 7 files changed, 351 insertions(+) create mode 100644 .config/fish/config.fish create mode 100755 .taskrc create mode 100755 bin/createsign create mode 100755 bin/dual-screen create mode 100755 bin/gnomekeyring-helpers.py create mode 100755 bin/launch_bar create mode 100755 bin/mutt_bgrun diff --git a/.config/fish/config.fish b/.config/fish/config.fish new file mode 100644 index 00000000..8c65a7e9 --- /dev/null +++ b/.config/fish/config.fish @@ -0,0 +1,8 @@ +# set -x LC_ALL en_US.UTF-8 +set -x LANG en_US.UTF-8 +set -x EDITOR nvim +set -x VISUAL nvim + +# Vim +alias vi="nvim" +alias vim="nvim" diff --git a/.taskrc b/.taskrc new file mode 100755 index 00000000..fd0afdf8 --- /dev/null +++ b/.taskrc @@ -0,0 +1,34 @@ +# [Created by task 2.5.1 10/9/2017 17:09:37] +# Taskwarrior program configuration file. +# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color', +# 'man task-sync' or 'man taskrc' + +# Use the command 'task show' to see all defaults and overrides + +# Files +data.location=~/.task + +# Color theme +#include /usr/share/doc/task/rc/solarized-dark-256.theme + +# Reports +rc.report.next.filter=status:pending,+UNBLOCKED,+@baptiste.grenier +report.next.sort=status-,start-,priority-,project+,due+ + +# Calendar +calendar.details=full +calendar.holidays=sparse + +# https://taskwarrior.org/docs/workflow.html + +# Hooks +# - warn when no project +# - git hook to commit changes? +# - Color EGI tasks +# - start and stop to indicate what I am currently working on, so I can remember where to pick up the next day +uda.reviewed.type=date +uda.reviewed.label=Reviewed +report._reviewed.description=Tasksh review report. Adjust the filter to your needs. +report._reviewed.columns=uuid +report._reviewed.sort=reviewed+,modified+ +report._reviewed.filter=( reviewed.none: or reviewed.before:now-6days ) and ( +PENDING or +WAITING ) diff --git a/bin/createsign b/bin/createsign new file mode 100755 index 00000000..3aa8c0c6 --- /dev/null +++ b/bin/createsign @@ -0,0 +1,4 @@ +#! /bin/sh +echo "\,,/_[-_-]_\,,/" +echo +fortune -a diff --git a/bin/dual-screen b/bin/dual-screen new file mode 100755 index 00000000..9b08a41f --- /dev/null +++ b/bin/dual-screen @@ -0,0 +1,19 @@ +#!/bin/sh + +# XXX Ideas for automatic monitor conf +# XXX check https://github.com/beanaroo/display-visor +# XXX https://github.com/codingtony/udev-monitor-hotplug +# XXX https://stackoverflow.com/questions/5469828/how-to-create-a-callback-for-monitor-plugged-on-an-intel-graphics + +#xrandr --setprovideroutputsource modesetting NVIDIA-0 +#xrandr --setprovideroutputsource Intel NVIDIA-0 +#xrandr --auto + +xrandr \ + | grep -q DP-1 \ + && xrandr \ + --output DP-4 --auto \ + --output DP-1 --auto --left-of DP-4 + +# Wait a second to get things rady +sleep 1s diff --git a/bin/gnomekeyring-helpers.py b/bin/gnomekeyring-helpers.py new file mode 100755 index 00000000..0e0baf50 --- /dev/null +++ b/bin/gnomekeyring-helpers.py @@ -0,0 +1,160 @@ +#!/usr/bin/env python2 + +""" +Set/get passwords for MSMTP or MPOP in Gnome Keyring + +Copyright (C) 2009 Gaizka Villate + 2010 Emmanuel Bouthenot + +Original author: Gaizka Villate <gaizkav@gmail.com> +Other author(s): Emmanuel Bouthenot <kolter@openics.org> + +URL: http://github.com/gaizka/misc-scripts/tree/master/msmtp + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2 of the License, or (at your +option) any later version. See http://www.gnu.org/copyleft/gpl.html for +the full text of the license. +""" + +import sys, os.path, optparse, getpass + +try: + import gnomekeyring as gk +except ImportError: + print("""Unable to import gnome keyring module""") + sys.exit(-1) + +class keyringManager(): + + def __init__(self): + # get default keyring name + try: + self.keyring = gk.get_default_keyring_sync() + except gk.nokeyringdaemonerror: + print("err: can't open gnome keyring") + print("are you running this program under a gnome session ?") + sys.exit(-1) + + def set(self, user, password, server, protocol, app): + # display name for password. + display_name = '%s password for %s at %s' % (app.upper(), user, server) + + # select type. if you want some kind of "network" password, it seems that + # appropriate type is network_password because it has a schema already. + type = gk.ITEM_NETWORK_PASSWORD + + usr_attrs = {'user':user, 'server':server, 'protocol':protocol} + + # now it gets ready to add into the keyring. do it. + # its id will be returned if success or an exception will be raised + id = gk.item_create_sync(self.keyring, type, display_name, usr_attrs, password, False) + return id is not None + + def get(self, user, server, protocol, app): + try: + results = gk.find_network_password_sync(user=user, server=server, protocol=protocol) + except gk.NoMatchError: + return None + + return results[0]["password"] + + def getpass(self, username, server, protocol, app): + ret = True + passwd = self.get(username, server, protocol, app) + if passwd is None: + print("no password set for user '%s' in server '%s'" % (username, server)) + ret = False + else: + print(passwd) + + return ret + + def setpass(self, username, server, protocol, app): + ret = True + # does it already exist? + if self.get(username, server, protocol, app) is not None: + print("err: %s password for user '%s' in server '%s' already exists, try do delete it first" \ + % (app.upper(), username, server)) + ret = False + else: + msg = "password for user '%s' in server '%s' ? " %(username, server) + passwd = getpass.getpass(msg) + passwd_confirmation = getpass.getpass("confirmation ? ") + if passwd != passwd_confirmation: + print( "err: password and password confirmation mismatch") + ret = False + else: + if self.set(username, passwd, server, protocol, app): + print("password successfully set") + else: + print("err: password failed to set") + ret = False + + return ret + + def delpass(self, username, server, protocol): + ret = True + # does it already exist? + try: + results = gk.find_network_password_sync(user=username, server=server, protocol=protocol) + except gk.NoMatchError: + print("no password set for user '%s' in server '%s'" % (username, + server)) + ret = False + + if ret: + gk.item_delete_sync(self.keyring, results[0]['item_id']) + print("password successfully removed") + + return ret + +def main(): + ret = True + km = keyringManager() + + parser = optparse.OptionParser(usage="%prog [-s|-g|-d] --username myuser --server myserver --protocol myprotocol --app myapp") + parser.add_option("-s", "--set-password", action="store_true", \ + dest="setpass", help="set password") + parser.add_option("-g", "--get-password", action="store_true", \ + dest="getpass", help="get password") + parser.add_option("-d", "--del-password", action="store_true", \ + dest="delpass", help="delete password") + parser.add_option("-u", "--username", action="store", dest="username", \ + help="username") + parser.add_option("-e", "--server", action="store", dest="server", \ + help="smtp server") + parser.add_option("-a", "--app", action="store", dest="app", \ + help="Application name (msmtp, mbsync,...)") + parser.add_option("-p", "--protocol", action="store", dest="protocol", \ + help="Protocol name") + + (opts, args) = parser.parse_args() + + if not opts.setpass and not opts.getpass and not opts.delpass: + parser.print_help() + print("err: you have to use -s or -g or -d") + ret = False + elif not opts.username or not opts.server: + parser.print_help() + print("err: you have to use both --username and --server") + ret = False + elif opts.getpass: + ret = km.getpass(opts.username, opts.server, opts.protocol, opts.app) + elif opts.setpass: + ret = km.setpass(opts.username, opts.server, opts.protocol, opts.app) + elif opts.delpass: + ret = km.delpass(opts.username, opts.server, opts.protocol) + else: + print("err: unknown option(s)") + ret = False + + return ret + +if __name__ == '__main__': + if main(): + sys.exit(0) + else: + sys.exit(-1) + diff --git a/bin/launch_bar b/bin/launch_bar new file mode 100755 index 00000000..81ab6e09 --- /dev/null +++ b/bin/launch_bar @@ -0,0 +1,12 @@ +#!/usr/bin/env sh + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch bar1 and bar2 +polybar gwarf & + +echo "Bars launched..." diff --git a/bin/mutt_bgrun b/bin/mutt_bgrun new file mode 100755 index 00000000..7f03b67e --- /dev/null +++ b/bin/mutt_bgrun @@ -0,0 +1,114 @@ +#!/bin/sh +# @(#) mutt_bgrun $Revision: 1.4 $ + +# mutt_bgrun - run an attachment viewer from mutt in the background +# Copyright (C) 1999-2002 Gary A. Johnson +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# SYNOPSIS +# mutt_bgrun viewer [viewer options] file +# +# DESCRIPTION +# Mutt invokes external attachment viewers by writing the +# attachment to a temporary file, executing the pipeline specified +# for that attachment type in the mailcap file, waiting for the +# pipeline to terminate, writing nulls over the temporary file, +# then deleting it. This causes problems when using graphical +# viewers such as qvpview and acroread to view attachments. +# +# If qvpview, for example, is executed in the foreground, the mutt +# user interface is hung until qvpview exits, so the user can't do +# anything else with mutt until he or she finishes reading the +# attachment and exits qvpview. This is especially annoying when +# a message contains several MS Office attachments--one would like +# to have them all open at once. +# +# If qvpview is executed in the background, it must be given +# enough time to completely read the file before returning control +# to mutt, since mutt will then obliterate the file. Qvpview is +# so slow that this time can exceed 20 seconds, and the bound is +# unknown. So this is again annoying. +# +# The solution provided here is to invoke the specified viewer +# from this script after first copying mutt's temporary file to +# another temporary file. This script can then quickly return +# control to mutt while the viewer can take as much time as it +# needs to read and render the attachment. +# +# EXAMPLE +# To use qvpview to view MS Office attachments from mutt, add the +# following lines to mutt's mailcap file. +# +# application/msword; mutt_bgrun qvpview %s +# application/vnd.ms-excel; mutt_bgrun qvpview %s +# application/vnd.ms-powerpoint; mutt_bgrun qvpview %s +# +# AUTHOR +# Gary A. Johnson +# <garyjohn@spk.agilent.com> +# +# ACKNOWLEDGEMENTS +# My thanks to the people who have commented on this script and +# offered solutions to shortcomings and bugs, especially Edmund +# GRIMLEY EVANS <edmundo@rano.org> and Andreas Somogyi +# <aso@somogyi.nu>. + +prog=${0##*/} + +# Check the arguments first. + +if [ "$#" -lt "2" ] +then + echo "usage: $prog viewer [viewer options] file" >&2 + exit 1 +fi + +# Separate the arguments. Assume the first is the viewer, the last is +# the file, and all in between are options to the viewer. + +viewer="$1" +shift + +while [ "$#" -gt "1" ] +do + options="$options $1" + shift +done + +file=$1 + +# Create a temporary directory for our copy of the temporary file. +# +# This is more secure than creating a temporary file in an existing +# directory. + +tmpdir=/tmp/$LOGNAME$$ +umask 077 +mkdir "$tmpdir" || exit 1 +tmpfile="$tmpdir/${file##*/}" + +# Copy mutt's temporary file to our temporary directory so that we can +# let mutt overwrite and delete it when we exit. + +cp "$file" "$tmpfile" + +# Run the viewer in the background and delete the temporary files when done. + +( + "$viewer" $options "$tmpfile" + rm -f "$tmpfile" + rmdir "$tmpdir" +) & From 4bd84d3cdcddfee4e12c012565788828301abd73 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:36:41 +0200 Subject: [PATCH 0333/2080] Add msmtp --- .msmtprc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .msmtprc diff --git a/.msmtprc b/.msmtprc new file mode 100644 index 00000000..7c7b83bd --- /dev/null +++ b/.msmtprc @@ -0,0 +1,18 @@ +# Set default values +defaults +logfile ~/.msmtp.log +protocol smtp +auth on +tls on +tls_starttls on + +account perso +host mail.bapt.name +port 587 +from baptiste@bapt.name +user baptiste@bapt.name +# secret-tool store --label=msmtp host smtp.your.domain service smtp user yourusername +passwordeval secret-tool lookup host mail.bapt.name service smtps user baptiste@bapt.name +tls_trust_file system + +account default: perso From 17af832f55811ade6112c3e506566f3ac40fe33f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:46:02 +0200 Subject: [PATCH 0334/2080] Add yaourt, inputrc, afew, pacaur, polybar, mpd, i3 and compton --- .config/afew/config | 141 +++++++++++++ .config/compton.conf | 100 +++++++++ .config/i3/config | 459 +++++++++++++++++++++++++++++++++++++++++ .config/mpd/mpd.conf | 15 ++ .config/pacaur/config | 19 ++ .config/polybar/config | 439 +++++++++++++++++++++++++++++++++++++++ .inputrc | 126 +++++++++++ .yaourtrc | 63 ++++++ 8 files changed, 1362 insertions(+) create mode 100644 .config/afew/config create mode 100644 .config/compton.conf create mode 100644 .config/i3/config create mode 100644 .config/mpd/mpd.conf create mode 100644 .config/pacaur/config create mode 100644 .config/polybar/config create mode 100644 .inputrc create mode 100644 .yaourtrc diff --git a/.config/afew/config b/.config/afew/config new file mode 100644 index 00000000..be9602fc --- /dev/null +++ b/.config/afew/config @@ -0,0 +1,141 @@ +# global configuration +[global] + +# Add tag spam to spams +[SpamFilter] +spam_tag = spam + +# [ClassifyingFilter] + +[KillThreadsFilter] +[ListMailsFilter] + +# XXX not done? +# notmuch tag +spam +perso -- folder:'Perso/Spam' +# notmuch tag +spam +egi -- folder:'EGI/Spam' + +# Add a tag based on the message's folder +[FolderNameFilter] +# Create lowercase tags +folder_lowercases = true +# Spilt folder hierarchy in multiple tags +# ie. perso spam for messages in 'Perso/Spam' folder +maildir_separator = / +# Inbox will be handled by the inbox filter +folder_blacklist = 'EGI/Inbox' 'Perso/Inbox' 'Perso/Archive' + +[Filter.1] +message = Tag Perso mails +query = to:baptiste@bapt.name OR from:baptiste@bapt.name OR from:gwarf@gwarf.org OR to:gwarf@gwarf.org +tags = +perso + +[Filter.2] +message = Tag Gnubila mails +query = from:bgrenier@gnubila.fr OR to:bgrenier@gnubila.fr OR from:bgrenier@gnubila.com OR to:bgrenier@gnubila.com OR from:bgrenier@maatg.fr OR to:bgrenier@maatg.fr +tags = +gnubila + +[Filter.3] +message = Tag HealthGrid mails +query = from:baptiste.grenier@healthgrid.org OR to:baptiste.grenier@healthgrid.org +tags = +healthgrid + +[Filter.4] +message = Tag EGI mails +query = from:baptiste.grenier@egi.eu OR to:baptiste.grenier@egi.eu +tags = +egi + +[Filter.5] +message = Tag Office mails +query = to:office@mailman.egi.eu OR tag:lists/office +tags = +office + +[Filter.6] +message = Tag Operations mails +query = to:operations@mailman.egi.eu OR tag:lists/operations +tags = +operations + +# XXX Empty, to test +[Filter.7] +message = Tag starred and important messages as important +query = folder:'EGI/Starred' OR folder:'EGI/Important' OR tag:starred +tags = +important;+starred + +# XXX not done +# notmuch tag +egi +all -- folder:'EGI/All' +[Filter.8] +message = Tag EGI all +query = folder:'EGI/All' +tags = +all + +# XXX not done +# notmuch tag +perso +all -- folder:'Perso/Archives' OR folder:'Perso/Archives.2015' OR folder:'Perso/Archives.2016'OR folder:'Perso/_Read' +[Filter.9] +message = Tag Perso archive +query = folder:'Perso/Archive' +tags = +perso;+all;-new + +[Filter.10] +message = Tag Sent mails +query = NOT tag:sent AND (folder:'EGI/Sent' OR folder:'Perso/Sent') +tags = +sent;-new + +# XXX not done +[Filter.11] +message = Tag messages in All but not in Inbox as read +query = folder:'EGI/All' AND tag:inbox AND NOT folder:'EGI/Inbox' +tags = +all;-new + +# XXX not done +# notmuch tag +deleted +perso -inbox -- folder:'Perso/Trash' +# notmuch tag +deleted +egi -inbox -- folder:'EGI/Trash' +[Filter.12] +message = Tag Trash messages +query = folder:'EGI/Trash' OR folder:'Perso/Trash' +tags = +deleted;-new + +[Filter.13] +message = Tag boursorama messages +query = tag:perso AND boursorama +tags = +boursorama + +[Filter.14] +message = Tag calendar invites +query = mimetype:text/calendar +tags = +invites + +[Filter.15] +message = Tag ELI/ELITRANS messags +query = 'tag:egi AND (from:/eli-/ OR to:/eli-/ OR subject:ELI)' +tags = +eli + +[Filter.16] +# XXX Need to find a way to exclude html + text emails +# XXX And signed emails with attached signature +# Query terms: attachment: mimetype: +message = Tag messags with attachments +query = attachment:* +tags = +attachment + +[ArchiveSentMailsFilter] +sent_tag = sent + +# Default inbox tagging +[InboxFilter] + +# Move some emails based on their tags +# Run separately from the afew tag run +# Useful for spam/junk +# XXX Mail manually marked as ham hould be moved to 'Perso/TrainHam' +# XXX Mail manually marked as spam hould be moved to 'Perso/TrainSpam' +[MailMover] +folders = 'EGI/Inbox' +'EGI/Inbox' = 'tag:egi AND tag:deleted':'EGI/Trash' +# folders = 'EGI/Inbox' 'EGI/Spam' 'Perso/Inbox' 'Perso/Spam' +# folders = 'Perso/Inbox' 'Perso/Spam' +# max_age = 15 +# rules +# XXX beware, take into account the All folder for Gmail accounts.. +# 'EGI/Inbox' = 'tag:egi AND tag:spam':'EGI/Spam' 'tag:egi AND tag:sent':'EGI/Sent' 'tag:egi AND NOT tag:inbox':'EGI/All' +# 'EGI/Spam' = 'tag:egi AND NOT tag:spam AND tag:inbox':'EGI/Inbox' 'tag:egi AND NOT tag:spam':'EGI/All' +# 'Perso/Inbox' = 'tag:perso AND tag:spam':'Perso/Spam' 'tag:perso AND tag:sent':'Perso/Sent' 'tag:perso AND NOT tag:inbox':'Perso/_Read' +# 'Perso/Spam' = 'tag:perso AND NOT tag:spam AND tag:inbox':'Perso/Inbox' 'tag:perso AND NOT tag:spam':'Perso/_Read' diff --git a/.config/compton.conf b/.config/compton.conf new file mode 100644 index 00000000..1975c516 --- /dev/null +++ b/.config/compton.conf @@ -0,0 +1,100 @@ +# https://erikdubois.be/i3-on-linux-mint-18-1-mate-022017-update + +# Shadow +shadow = true; +no-dnd-shadow = true; +no-dock-shadow = true; +clear-shadow = true; +shadow-radius = 15; +shadow-offset-x = -15; +shadow-offset-y = -15; +shadow-opacity = 0.5; +# Shadow color +shadow-red = 0.36; +shadow-green = 0.21; +shadow-blue = 0.4; +shadow-exclude = [ + "name = 'Notification'", + "class_g ?= 'Notify-osd'", + "_GTK_FRAME_EXTENTS@:c" +] + +# Opacity +menu-opacity = 0.8; +inactive-opacity = 0.9; +frame-opacity = 0.8; +inactive-opacity-override = false; +alpha-step = 0.06; +blur-kern = "3x3box"; +blur-background = true; +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'", + "_GTK_FRAME_EXTENTS@:c" +]; +# XXX ncmpcpp rule is not matching anything +opacity-rule = [ + "92:class_g ?= 'Termite'", + "60:class_g ?= 'ncmpcpp'", + "60:class_i ?= 'ncmpcpp'" +]; + +# Dim inactive windows. (0.0 - 1.0) +inactive-dim = 0.2; + +# Fading +fading = true; +# fade-delta = 30; +fade-in-step = 0.03; +fade-out-step = 0.03; +# no-fading-openclose = true; +# no-fading-destroyed-argb = true; +fade-exclude = [ ]; + +# Other +backend = "glx" +mark-wmwin-focused = true; +mark-ovredir-focused = true; +# use-ewmh-active-win = true; +detect-rounded-corners = true; +detect-client-opacity = true; +refresh-rate = 0; +vsync = "opengl-swc" +dbe = false; +paint-on-overlay = true; +# sw-opti = true; +# unredir-if-possible = true; +# unredir-if-possible-delay = 5000; +# unredir-if-possible-exclude = [ ]; +focus-exclude = [ "class_g = 'Cairo-clock'", "class_g ?= 'Notify-osd'" ]; +detect-transient = true; +detect-client-leader = true; +invert-color-include = [ ]; +# resize-damage = 1; + +# GLX backend +# glx-no-stencil = true; +glx-copy-from-front = false; +# glx-use-copysubbuffermesa = true; +# glx-no-rebind-pixmap = true; +glx-swap-method = "undefined"; +# glx-use-gpushader4 = true; +# xrender-sync = true; +# xrender-sync-fence = true; + +# Window type settings +wintypes: +{ + tooltip = { fade = true; shadow = true; opacity = 0.85; focus = false; }; +}; + +# glx-no-stencil = true +# #glx-copy-from-front = false +# glx-no-rebind-pixmap = true +# # XXX Might break things +# # glx-swap-method = "exchange" +# refresh-rate = 0 +# dbe = false +# paint-on-overlay = true +# sw-opti = false +# ##unredir-if-possible = true diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 00000000..a6f38d01 --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,459 @@ +# Example: https://gist.github.com/diyan/6192878 +# https://github.com/Airblader/dotfiles-manjaro/blob/master/.i3/config + +# i3 config file (v4) +# +# Please see http://i3wm.org/docs/userguide.html for a complete reference! + +# Sending a command to i3 from the shell: i3-msg + +# Mod1: Alt +# Mod2: Numlock +# Mod3: ? +# Mod4: LWIN, SUPR, HYPR +# Mod5: LVL3, MDSW +# Control: Control + +# Kinesis Right control: Mod4 +# Set in ~/.xinitrc using xkbcomp +# Lenovo Left windows: Mod4 +set $mod Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:Fantasque Sans Mono, FontAwesome 12 + +# This font is widely installed, provides lots of unicode glyphs, right-to-left +# text rendering and scalability on retina/hidpi displays (thanks to pango). +#font pango:DejaVu Sans Mono 8 + +# Gaps +# https://github.com/Airblader/i3/tree/gaps-next +gaps inner 15 +gaps outer 5 + +# smart_gaps on +# smart_borders on|no_gaps + +# No windows title/borders +new_window pixel +new_float pixel + +# solarized +client.focused #93a1a1 #073642 #93a1a1 +client.focused_inactive #586e75 #002b36 #586e75 +client.unfocused #657b83 #002b36 #657b83 +client.urgent #d33682 #073642 #d33682 + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# make things usable +#workspace_auto_back_and_forth yes +focus_follows_mouse no + +# start a terminal +# bindsym $mod+Return exec urxvtc +# bindsym $mod+Return exec terminology +bindsym $mod+Return exec termite + +# kill focused window +bindsym $mod+Shift+q kill + +# start dmenu (a program launcher) +# Shift-Enter to launch in a terminal +# Use # instead of , as requested by i3 +bindsym $mod+d exec zsh -c "rofi -combi-modi 'window#run#drun' -show combi -modi combi -terminal termite" + +# Calc using rofi and calc +# Use focus child keys... +bindsym $mod+c exec zsh -c "rofi -show calc -modi 'calc:qalc +u8 -nocurrencies'" + +# next/previous workspace +bindsym Mod1+Tab focus right +bindsym Mod1+Shift+Tab focus left +bindsym $mod+Tab workspace back_and_forth + +bindsym $mod+p workspace prev +bindsym $mod+n workspace next +bindsym $mod+Control+Left workspace prev +bindsym $mod+Control+Right workspace next + +# change focus +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# move focused window +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right + +# split in horizontal orientation +bindsym $mod+b split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split +bindsym $mod+Shift+D layout default + +# toggle tiling / floating +bindsym $mod+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+Shift+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent +# focus the child container +bindsym $mod+Shift+a focus parent + +# special laptop keys +# XXX triggered on LID closing/opening +#bindsym XF86Display exec lxrandr + +# universal pause button! +#set $exi exec --no-startup-id +#bindsym Pause $exi pause-button + +# Workspace conf +set $WS1 "1: " +set $WS2 "2: " +set $WS3 "3: " +set $WS4 "4: " +set $WS5 "5:? " +set $WS6 "6: " + +workspace $WS3 output DP-4 + +# No gaps for Virtualbox +workspace $WS4 gaps inner 0 + +# switch to workspace +bindsym $mod+1 workspace $WS1 +bindsym $mod+2 workspace $WS2 +bindsym $mod+3 workspace $WS3 +bindsym $mod+4 workspace $WS4 +bindsym $mod+5 workspace $WS5 +bindsym $mod+6 workspace $WS6 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace $WS1 +bindsym $mod+Shift+2 move container to workspace $WS2 +bindsym $mod+Shift+3 move container to workspace $WS3 +bindsym $mod+Shift+4 move container to workspace $WS4 +bindsym $mod+Shift+5 move container to workspace $WS5 +bindsym $mod+Shift+6 move container to workspace $WS6 + +# jump to the last urgent window +bindsym $mod+u [urgent=latest] focus + +# scratchapd +# move the currently focused window to the scratchpad +bindsym $mod+m move scratchpad +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+o scratchpad show + +# move all floating windows to the scratchpad +bindsym $mod+x [floating] move scratchpad + +# pulse audio volume control +bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -- '-5%' +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 -- '+5%' +bindsym XF86AudioMute exec pactl set-sink-volume 0 toggle +bindsym XF86Launch1 exec pactl play-sample that_was_easy + +# Brightness +bindsym XF86MonBrightnessUp exec xbacklight -inc 10 -display DP-4 +bindsym XF86MonBrightnessDown exec xbacklight -dec 5 -display DP-4 + +# Screenshot +bindsym Print exec scrot '%Y-%m-%d-%T_$wx$h_scrot.png' -e 'mv $f ~/Pictures/screenshots/' + +# move workspace to outputs +# Win, alt +bindsym $mod+Mod1+h move workspace to output left +bindsym $mod+Mod1+j move workspace to output down +bindsym $mod+Mod1+k move workspace to output up +bindsym $mod+Mod1+l move workspace to output right + +# The middle button over a titlebar kills the window +bindsym --release button2 kill + +# The middle button and a modifer over any part of the window kills the window +bindsym --whole-window $mod+button2 kill + +# The right button toggles floating +bindsym button3 floating toggle +bindsym $mod+button3 floating toggle + +# The side buttons move the window around +bindsym button9 move left +bindsym button8 move right + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Do you really want to exit i3 and your X session?' -b 'Yes, exit i3' 'i3-msg exit'" +# Lock screen +bindsym $mod+Control+l exec i3lock-fancy -pixelate -f Fantasque-Sans-Mono-Regular +# bindsym $mod+Control+l exec light-locker-command -l +# Ranger in a scrathpad +bindsym $mod+Control+r exec termite --name ranger -e ranger + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym h resize shrink width 5 px or 5 ppt + bindsym j resize grow height 5 px or 5 ppt + bindsym k resize shrink height 5 px or 5 ppt + bindsym l resize grow width 5 px or 5 ppt + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +# Manual management of external displays +# Set the shortcuts and what they do +# DFP-3: Laptop screen +# DFP-4: display port screen +set $mode_display Ext Screen (v) VGA ON, (h) HDMI ON, (x) VGA OFF, (y) HDMI OFF +mode "$mode_display" { + bindsym v exec --no-startup-id xrandr --output DFP-3 --auto --right-of DFP-4, mode "default" + bindsym h exec --no-startup-id xrandr --output DFP-4 --auto --left-of DFP-3, mode "default" + bindsym x exec --no-startup-id xrandr --output DFP-4 --auto --off, mode "default" + bindsym y exec --no-startup-id xrandr --output DFP-3 --auto --off, mode "default" + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} +# Declare here the shortcut to bring the display selection menu +bindsym $mod+Shift+x mode "$mode_display" + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +# XXX Commented to test polybar +# bar { +# status_command py3status -c ~/.config/i3/py3status.conf +# font pango:Inconsolata, Awesome 10 +# #mode hide +# #modifier $mod +# colors { +# separator #6c71c4 +# background #002b36 +# statusline #6c71c4 +# focused_workspace #fdf6e3 #859900 #fdf6e3 +# active_workspace #fdf6e3 #6c71c4 #fdf6e3 +# inactive_workspace #586e75 #93a1a1 #fdf6e3 +# urgent_workspace #d33682 #d33682 #fdf6e3 +# } +# } + +assign [class="(?i)urxvtc"] → $WS1 +assign [class="terminology"] → $WS1 +assign [class="Terminator"] → $WS1 +assign [class="(?i)termite"] → $WS1 +assign [class="Pidgin"] → $WS3 +assign [class="(?i)empathy"] → $WS3 +assign [class="Clementine"] → $WS3 +assign [class="(?i)skypeforlinux"] → $WS3 +assign [class="(?i)Skype"] → $WS3 +assign [class="(?i)Skype Preview"] → $WS3 +assign [class="(?i)virtualbox"] → $WS4 +assign [class="(?i)thunar"] → $WS5 +assign [class="(?i)nautilus"] → $WS5 +assign [class="(?i)pcmanfm"] → $WS5 +assign [class="(?i)steam"] → $WS6 + +for_window [class="Clementine"] layout tabbed +#for_window [class="okular"] layout tabbed +#for_window [class="Pcmanfm"] floating enable +#for_window [class="Thunar"] floating enable +for_window [class="Pidgin"] layouttabbed +for_window [class="Pinentry"] floating enable +for_window [class="(?i)lxappearance"] floating enable +for_window [class="(?i)skypeforlinux"] layout tabbed +for_window [class="(?i)Skype Preview"] layout tabbed +for_window [class="(?i)Skype"] layout tabbed +# for_window [class="(?i)VirtualBox"] layout tabbed fullscreen +for_window [class="(?i)VirtualBox"] layout tabbed +for_window [class="(?i)nitrogen"] floating enable + +# Pop up windows +for_window [window_role="pop-up"] floating enable +for_window [window_role="task_dialog"] floating enable +for_window [window_role="bubble"] floating enable +for_window [window_role="Preferences"] floating enable +# for_window [class="Chromium" title="Quick-Reply"] floating enable +# XXX Fix nautilus dialogs +# _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DIALOG +# WM_CLASS(STRING) = "nautilus", "Nautilus" + +# Put some apps in the scratchpad +for_window [class="(?i)keepassxc" window_type="normal"] move scratchpad +for_window [instance="ncmpcpp"] move scratchpad +for_window [instance="ranger"] move scratchpad +# for_window [instance="nautilus"] move scratchpad +#for_window [instance="neomutt"] move scratchpad + +# start some applications +# http://i3wm.org/docs/user-contributed/lzap-config.html + +# Composition +# https://wiki.archlinux.org/index.php/Compton +exec --no-startup-id compton -b + +# Luck numeric keypad on start +exec --no-startup-id numlockx + +# Pulseaudio +# pkill pulseaudio; sleep 3 && pulseaudio --start -D +# XXX Try to kill any already running pulseaudio +exec --no-startup-id killall -q -w pulseaudio; pulseaudio --start --daemonize --verbose +# exec --no-startup-id pulseaudio --start +# pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo '60%' & + +# Terminal +# exec --no-startup-id urxvtd --quiet --opendisplay --fork +# exec --no-startup-id urxvtc +# vte should handle non standard fonts more gracefully +exec --no-startup-id termite + +# Enable masquerading of VirtualBox host-only network +# exec_always --no-startup-id $HOME/bin/vbox-forward + +# Load xrandr conf +exec_always $HOME/bin/dual-screen + +# Load keybaord configu +exec_always --no-startup-id $HOME/bin/setup_kinesis_keyboard + +# Lock screen when hibernating/absent +exec --no-startup-id xss-lock -- i3lock-fancy --pixelate -f Fantasque-Sans-Mono-Regular +# exec --no-startup-id xss-lock -- light-locker + +# Screen dimming +exec_always --no-startup-id redshift + +exec_always --no-startup-id [ -r ~/.Xresources ] && xrdb -load ~/.Xresources + +# Set LCD brightness +exec_always --no-startup-id xbacklight -set 90 -display DP-4 + +# Launch gnome-keyring-daemon for secrets, ssh keys and gpg +# eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gnupg) +# export SSH_AUTH_SOCK +# exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg + +# Wallpaper +# exec_always --no-startup-id nitrogen --head=1 --random --set-zoom-fill --no-recurse $HOME/Pictures/Wallpapers +# exec_always --no-startup-id (xrandr | grep -q 'DP-4 connected' && nitrogen --head=2 --random --set-zoom-fill --no-recurse $HOME/Pictures/Wallpapers) +exec --no-startup-id nitrogen --restore +# exec --no-startup-id livewallpaper +# exec --no-startup-id livewallpaper-indicator +# Way too much mooooving :) +# exec --no-startup-id XDG_CURRENT_DESKTOP=i3 variety + +# Status bar +exec_always --no-startup-id $HOME/bin/launch_bar + +# Tray icons + +# Automatic mounting +exec --no-startup-id udiskie --tray --use-udisks2 + +# Clipboard manager +# anamnesis, clipman, copyq, gpaste could be alternatives +# exec --no-startup-id clipit +# XRandr management +# exec --no-startup-id arandr-indicator +# NetworkManager applet +exec --no-startup-id nm-applet +# Pulseauio applets +exec --no-startup-id pasystray +#exec --no-startup-id volti # starting volume control +#exec --no-startup-id pa-applet + +# Files synchronization +exec --no-startup-id insync start +# exec --no-startup-id owncloud +# exec --no-startup-id dropbox +# XXX Required? Managed by the gtk systray? +# exec --no-startup-id /usr/lib/hubic/hubic-service +# exec --no-startup-id hubic-gtk +exec --no-startup-id urbackupclientgui +exec --no-startup-id syncthing-gtk + +#exec --no-startup-id bitcoin-qt + +# Screen dimming +exec --no-startup-id redshift-gtk + +exec --no-startup-id keepassxc + +# Start ncmcppp for the scratchpad +exec --no-startup-id termite --name ncmpcpp -e ncmpcpp + +# Start ranger for the scratchpad +# exec --no-startup-id termite --name ranger -e ranger + +# Start neomutt for the scratchpad +# exec --no-startup-id termite --name neomutt -e neomutt + +# Compton tray icon +# exec --no-startup-id comptray + +# IM +# exec --no-startup-id empathy +exec --no-startup-id skypeforlinux +exec --no-startup-id rambox + +# exec --no-startup-id xedgewarp -b +# exec --no-startup-id $HOME/.dotfiles/bin/monitor_me & + +# Unclutter - hides the mouse cursor after 5 seconds of idle +exec --no-startup-id unclutter -root -jitter 10 & + +# Disable beeps +exec --no-startup-id xset -b + +# Set default black background +exec --no-startup-id xsetroot -solid '#101010' +exec --no-startup-id xsetroot -cursor_name left_ptr + +# DPMS monitor setting (standby -> suspend -> off) (seconds) +# exec --no-startup-id xset dpms 600 1200 3600 + +# Enable touchpad tap to click +# xinput list +# xinput list-props <device id> +# xinput set-prop <device id> <property id> 1 +exec --no-startup-id xinput set-prop $(xinput list --id-only 'SynPS/2 Synaptics TouchPad') $(xinput list-props $(xinput list --id-only 'SynPS/2 Synaptics TouchPad') | awk '/Tapping Enabled \(/ {print $(NF-1)}' | sed -e 's/[^0-9]*//g') 1 + +# exec deja-dup --backup + +# MOC +exec --no-startup-id mocp -S -m ~/Music +exec --no-startup-id mocp-scrobbler.py -d + +# vim:filetype=i3 diff --git a/.config/mpd/mpd.conf b/.config/mpd/mpd.conf new file mode 100644 index 00000000..70c2cb87 --- /dev/null +++ b/.config/mpd/mpd.conf @@ -0,0 +1,15 @@ +# Required files +db_file "~/.config/mpd/database" +log_file "~/.config/mpd/log" + +# Optional +music_directory "~/Music" +playlist_directory "~/.config/mpd/playlists" +pid_file "~/.config/mpd/pid" +state_file "~/.config/mpd/state" +sticker_file "~/.config/mpd/sticker.sql" + +audio_output { + type "pulse" + name "pulse audio" +} diff --git a/.config/pacaur/config b/.config/pacaur/config new file mode 100644 index 00000000..b49e64e8 --- /dev/null +++ b/.config/pacaur/config @@ -0,0 +1,19 @@ +#!/bin/bash + +# +# /etc/xdg/pacaur/config +# + +# The following options are commented out with their default values listed. +# If you wish to use different values, uncomment and update the values. +# The Color and VerbosePkgLists options can be enabled in /etc/pacman.conf. +# The clone directory can be changed through the $AURDEST environment variable. +# The makepkg environment variables are also fully honored. +#editor="${VISUAL:-${EDITOR:-nano}}" # build files editor +displaybuildfiles=diff # display build files (none|diff|full) +fallback=true # pacman fallback to the AUR +#silent=false # silence output +sortby=popularity # sort method (name|votes|popularity) +sortorder=descending # sort order (ascending|descending) +#sudoloop=true # prevent sudo timeout + diff --git a/.config/polybar/config b/.config/polybar/config new file mode 100644 index 00000000..53b0c445 --- /dev/null +++ b/.config/polybar/config @@ -0,0 +1,439 @@ +;===================================================== +; +; To learn more about how to configure Polybar +; go to https://github.com/jaagr/polybar +; +; The README contains alot of information +; +;===================================================== + +; https://github.com/jaagr/polybar/wiki/Configuration + +[colors] +;background = ${xrdb:color0:#222} +background = #222 +background-alt = #444 +;foreground = ${xrdb:color7:#222} +foreground = #dfdfdf +foreground-alt = #555 +primary = #ffb52a +secondary = #e60053 +alert = #bd2c40 + +[bar/gwarf] +; Use the following command to list available outputs: +; If unspecified, the application will pick the first one it finds. +; $ xrandr -q | grep " connected" | cut -d ' ' -f1 +monitor = DP-1 + +; Use the specified monitor as a fallback if the main one is not found. +monitor-fallback = DP-4 + +; Put the bar at the bottom of the screen +bottom = false + +; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%) +width = 100% +height = 30 + +; Value used for drawing rounded corners +; Individual top/bottom values can be defined using: +; radius-{top,bottom} +radius = 6.0 + +; Prefer fixed center position for the `modules-center` block +; When false, the center position will be based on the size of the other blocks +fixed-center = false + +; Background argb color (e.g. #f00, #ff992a, #ddff1023) +background = ${colors.background} +; Foreground argb color (e.g. #f00, #ff992a, #ddff1023) +foreground = ${colors.foreground} + +; Under-/overline pixel size and argb color +; Individual values can be defined using: +; {overline,underline}-size +; {overline,underline}-color +line-size = 3 +line-color = #f00 + +; Values applied to all borders +; Individual side values can be defined using: +; border-{left,top,right,bottom}-size +; border-{left,top,right,bottom}-color +border-size = 4 +border-color = #00000000 + +; Number of spaces to add at the beginning/end of the bar +; Individual side values can be defined using: +; padding-{left,right} +padding-left = 0 +padding-right = 2 + +; Number of spaces to add before/after each module +; Individual side values can be defined using: +; module-margin-{left,right} +module-margin-left = 1 +module-margin-right = 2 + +; Fonts are defined using <font-name>;<vertical-offset> +; Font names are specified using a fontconfig pattern. +; font-0 = NotoSans-Regular:size=8;2 +; font-1 = MaterialIcons:size=10 +; font-2 = Termsynu:size=8;-1 +; font-3 = FontAwesome:size=10 +; See the Fonts wiki page for more details +font-0 = FantasqueSansMono Nerd Font Mono:pixelsize=14;0 +# font-1 = FontAwesome:size=14;0 +# keyboard, wifi, net, battery, RAM, CPU, temperature, Clock, mpd +font-1 = Wuncon Siji:size=14;0 +# Workspaces +font-2 = FontAwesome:size=14;0 +# Used for mpd and other peripherals/media +# font-3 = Unifont:size=14;0 +# font-4 = Icons:size=14;0 + +; The separator will be inserted between the output of each module +; separator = + +; modules-left = i3 xworkspaces +modules-left = i3 mpd +modules-center = xwindow date +# Disabled: xbacklight powermenu memory cpu wlan eth +modules-right = filesystem temperature battery volume + +tray-position = right +tray-padding = 2 +;tray-transparent = true +;tray-background = #0063ff + +; wm-restack = i3 +; Tell the Window Manager not to configure the window. +; Use this to detach the bar if your WM is locking its size/position. +override-redirect = false + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +[module/xwindow] +type = internal/xwindow +label = %title:0:30:...% + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-prefix-underline = ${colors.secondary} + +label-layout = %layout% +label-layout-underline = ${colors.secondary} + +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-background = ${colors.secondary} +label-indicator-underline = ${colors.secondary} + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / +mount-1 = /home + +label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.foreground-alt} + +[module/i3] +type = internal/i3 +; format = <label-state> <label-mode> +index-sort = true +wrapping-scroll = false + +; This will split the workspace name on ':' +strip-wsnumbers = false + +; Only show workspaces on the same output as the bar +;pin-workspaces = true + +label-mode-padding = 2 +fuzzy-match = true +;label-mode-foreground = #000 +;label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +; label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 1 + +; unfocused = Inactive workspace on any monitor +; label-unfocused = %index% +label-unfocused-padding = 1 + +; visible = Active workspace on unfocused monitor +; label-visible = %index% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = ${self.label-focused-padding} + +; urgent = Workspace with urgency hint set +; label-urgent = %index% +label-urgent-background = ${colors.alert} +label-urgent-padding = 1 + +[module/mpd] +type = internal/mpd +format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next> + +# Icons come from Siji font +icon-prev =  +icon-stop =  +icon-play =  +icon-pause =  +icon-next =  + +label-song-maxlen = 25 +label-song-ellipsis = true + +[module/xbacklight] +type = internal/xbacklight + +format = <label> <bar> +label = BL + +bar-width = 10 +bar-indicator = | +bar-indicator-foreground = #ff +bar-indicator-font = 2 +bar-fill = ─ +bar-fill-font = 2 +bar-fill-foreground = #9f78e1 +bar-empty = ─ +bar-empty-font = 2 +bar-empty-foreground = ${colors.foreground-alt} + +; XRandR output to get get values from +output = DP-4 + +; Create scroll handlers used to set the backlight value +enable-scroll = true + +[module/backlight-acpi] +inherit = module/xbacklight +type = internal/backlight +card = intel_backlight + +[module/cpu] +type = internal/cpu +interval = 2 +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #f90000 +label = %percentage%% + +[module/memory] +type = internal/memory +interval = 2 +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #4bffdc +label = %percentage_used%% + +[module/wlan] +type = internal/network +interface = wlp4s0 +interval = 3.0 + +format-connected = <ramp-signal> <label-connected> +format-connected-underline = #9f78e1 +label-connected = %essid% + +format-disconnected = +;format-disconnected = <label-disconnected> +;format-disconnected-underline = ${self.format-connected-underline} +;label-disconnected = %ifname% disconnected +;label-disconnected-foreground = ${colors.foreground-alt} + +ramp-signal-0 =  +ramp-signal-1 =  +ramp-signal-2 =  +ramp-signal-3 =  +ramp-signal-4 =  +ramp-signal-foreground = ${colors.foreground-alt} + +[module/eth] +type = internal/network +interface = enp0s31f6 +interval = 3.0 + +format-connected-underline = #55aa55 +format-connected-prefix = " " +format-connected-prefix-foreground = ${colors.foreground-alt} +label-connected = %local_ip% + +format-disconnected = +;format-disconnected = <label-disconnected> +;format-disconnected-underline = ${self.format-connected-underline} +;label-disconnected = %ifname% disconnected +;label-disconnected-foreground = ${colors.foreground-alt} + +[module/date] +type = internal/date +interval = 5 + +date = " %A %d (%W)" +date-alt = " %A %Y-%m-%d %W" + +time = %H:%M +time-alt = %H:%M:%S + +format-prefix =  +# XXX need to find the font providing this in termite +# format = 🕓 <label> +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #0a6cf5 + +label = %date% %time% + +[module/volume] +type = internal/volume + +format-volume = <label-volume> <bar-volume> +label-volume = VOL +label-volume-foreground = ${root.foreground} + +format-muted-prefix = " " +format-muted-foreground = ${colors.foreground-alt} +label-muted = sound muted + +bar-volume-width = 10 +bar-volume-foreground-0 = #55aa55 +bar-volume-foreground-1 = #55aa55 +bar-volume-foreground-2 = #55aa55 +bar-volume-foreground-3 = #55aa55 +bar-volume-foreground-4 = #55aa55 +bar-volume-foreground-5 = #f5a70a +bar-volume-foreground-6 = #ff5555 +bar-volume-gradient = false +bar-volume-indicator = | +bar-volume-indicator-font = 2 +bar-volume-fill = ─ +bar-volume-fill-font = 2 +bar-volume-empty = ─ +bar-volume-empty-font = 2 +bar-volume-empty-foreground = ${colors.foreground-alt} + +[module/battery] +type = internal/battery +battery = BAT0 +adapter = AC +full-at = 98 + +format-charging = <animation-charging> <label-charging> +format-charging-underline = #ffb52a + +format-discharging = <ramp-capacity> <label-discharging> +format-discharging-underline = ${self.format-charging-underline} + +format-full-prefix = " " +format-full-prefix-foreground = ${colors.foreground-alt} +format-full-underline = ${self.format-charging-underline} + +ramp-capacity-0 =  +ramp-capacity-1 =  +ramp-capacity-2 =  +ramp-capacity-foreground = ${colors.foreground-alt} + +animation-charging-0 =  +animation-charging-1 =  +animation-charging-2 =  +animation-charging-foreground = ${colors.foreground-alt} +animation-charging-framerate = 750 + +[module/temperature] +type = internal/temperature +thermal-zone = 0 +warn-temperature = 60 + +format = <ramp> <label> +format-underline = #f50a4d +format-warn = <ramp> <label-warn> +format-warn-underline = ${self.format-underline} + +label = %temperature% +label-warn = %temperature% +label-warn-foreground = ${colors.secondary} + +ramp-0 =  +ramp-1 =  +ramp-2 =  +ramp-foreground = ${colors.foreground-alt} + +[module/powermenu] +type = custom/menu + +format-spacing = 1 + +label-open =  +label-open-foreground = ${colors.secondary} +label-close =  cancel +label-close-foreground = ${colors.secondary} +label-separator = | +label-separator-foreground = ${colors.foreground-alt} + +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = power off +menu-0-1-exec = menu-open-2 + +menu-1-0 = cancel +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = sudo reboot + +menu-2-0 = power off +menu-2-0-exec = sudo poweroff +menu-2-1 = cancel +menu-2-1-exec = menu-open-0 + +[module/xworkspaces] +type = internal/xworkspaces + +; Only show workspaces defined on the same output as the bar +; +; Useful if you want to show monitor specific workspaces +; on different bars +; +; Default: false +pin-workspaces = false + +; Create click handler used to focus desktop +; Default: true +enable-click = true + +; Create scroll handlers used to cycle desktops +; Default: true +enable-scroll = false + +icon-0 = code;♚ +icon-1 = office;♛ +icon-2 = graphics;♜ +icon-3 = mail;♝ +icon-4 = web;♞ +icon-default = ♟ + +[settings] +screenchange-reload = true +;compositing-background = xor +;compositing-background = screen +;compositing-foreground = source +;compositing-border = over + +[global/wm] +margin-top = 5 +margin-bottom = 5 + +; vim:ft=dosini diff --git a/.inputrc b/.inputrc new file mode 100644 index 00000000..e637fb53 --- /dev/null +++ b/.inputrc @@ -0,0 +1,126 @@ +# Configuration file for readline +# Used by bash and various other applications to manage interactive commands +# Not used by zsh that is using ZLE + +# Nice/clean dotfile: https://github.com/paulirish/dotfiles/blob/master/.inputrc + +# FIXME breaks ctrl-a and ctrl-e: Use A and I +# http://www.catonmat.net/blog/bash-vi-editing-mode-cheat-sheet/ +set editing-mode vi +set keymap vi + +$if mode=vi + set keymap vi-command + "gg": beginning-of-history + "G": end-of-history + set keymap vi-insert + set keymap vi-insert + # notice how the "jj" movement is + # after 'set keymap vi-insert'? + "jj": vi-movement-mode + "\C-w": backward-kill-word + "\C-p": history-search-backward + + # Line movements + # FIXME does not work + "\C-a": beginning-of-line + "\C-e": end-of-line + "\C-A": beginning-of-line + "\C-E": end-of-line + Control-A: beginning-of-line + Control-E: end-of-line +$endif + +$if Psql + "S ": "select " + "L ": "like " + "II ": "insert into " + "U ": "update " + "V ": "view " + "(V ": "values (( " + "C ": "create " + "DR ": "drop " + "DI ": "distinct " + "F ": "from " + "W ": "where " +$endif + +set bell-style visible +set expand-tilde on +set convert-meta on +set input-meta on +set output-meta on +set show-all-if-ambiguous on +set visible-stats on +set completion-ignore-case on + +# Arrow keys in keypad mode +#"\C-[OD" backward-char +#"\C-[OC" forward-char +#"\C-[OA" previous-history +#"\C-[OB" next-history + +# Arrow keys in ANSI mode +#"\C-[[D" backward-char +#"\C-[[C" forward-char +#"\C-[[A" previous-history +#"\C-[[B" next-history + +# Arrow keys in 8 bit keypad mode +#"\C-M-OD" backward-char +#"\C-M-OC" forward-char +#"\C-M-OA" previous-history +#"\C-M-OB" next-history + +# Arrow keys in 8 bit ANSI mode +#"\C-M-[D" backward-char +#"\C-M-[C" forward-char +#"\C-M-[A" previous-history +#"\C-M-[B" next-history +#"\e[1;5C" forward-word +#"\e[1;5D" backward-word +#"\e[1~" beginning-of-line +#"\e[4~" end-of-line +#"\e[5~" beginning-of-history +#"\e[6~" end-of-history +#"\e[3~" delete-char +#"\e[2~" quoted-insert +#"\e[5C" forward-word +#"\e[5D" backward-word +#"\e\e[C" forward-word +#"\e\e[D" backward-word + +# By default up/down are bound to previous-history +# and next-history respectively. The following does the +# same but gives the extra functionality where if you +# type any text (or more accurately, if there is any text +# between the start of the line and the cursor), +# the subset of the history starting with that text +# is searched (like 4dos for e.g.). +# Note to get rid of a line just Ctrl-C +"\e[B": history-search-forward +"\e[A": history-search-backward + +# ^l clear screen +#bind -m vi-insert "\C-l":clear-screen + +# ^p check for partial match in history +#bind -m vi-insert "\C-p":dynamic-complete-history + +# ^n cycle through the list of partial matches +#bind -m vi-insert "\C-n":menu-complete + +# To allow to remap ctrl-w +# set bind-tty-special-chars Off +# For bash, add in bashrc: +# bind '\C-w:backward-kill-word' + +# Line movements +Control-A: beginning-of-line +Control-E: end-of-line + +# Use ctrl+w to delete last word +Control-W: backward-kill-word + +# Use Alt-D to delete next word +"\e[3;5~": kill-word diff --git a/.yaourtrc b/.yaourtrc new file mode 100644 index 00000000..bc591f6c --- /dev/null +++ b/.yaourtrc @@ -0,0 +1,63 @@ +# yaourtrc - Configuration for yaourt +# +# See yaourtrc(5) for more information +# +# + +# General +#AUTOSAVEBACKUPFILE=0 +#DEVEL=0 +#DEVELSRCDIR="" +#FORCE=0 +#NO_TESTDB=0 + +# Environment variables +#EDITOR="$EDITOR" +TMPDIR="/var/abs/local/yaourt-tmp" +#VISUAL="$VISUAL" + +# SUDO +#SUDONOVERIF=0 # Avoid multiple sudo checks when timestamp_timeout=0 +#SUDOREDIRECT=1 # Define to 0 in case you use a fingerprint device + +# AUR +#AURURL="https://aur.archlinux.org" +#AURCOMMENT=5 +#AURDEVELONLY=0 +#AURSEARCH=1 +#AURSHOWDIFF=0 +#AURUPGRADE=0 +#AURVOTE=1 +#AURUSEGIT=0 + +# Build +#EXPORT=0 # Export to 1: EXPORTDIR or PKGDEST + # 2: pacman cache (as root) +#EXPORTSRC=0 # Need EXPORT>0 to be used +#EXPORTDIR="" # If empty, use makepkg's configuration (see makepkg.conf) + +# Prompt +#NOCONFIRM=0 +#UP_NOCONFIRM=0 # No prompt while build upgrades (including -Sbu) +#BUILD_NOCONFIRM=0 # Only prompt for editing files +#PU_NOCONFIRM=0 # Add --noconfirm to $PACMAN -U +# Do not ask for editing files +EDITFILES=0 +#NOENTER=1 + +# Output +#USECOLOR=1 +#USEPAGER=0 +#DETAILUPGRADE=1 +#SHOWORPHANS=1 +#TERMINALTITLE=1 + +# Command +#PACMAN="pacman" +#MAKEPKG="makepkg" +#DIFFEDITCMD="vimdiff" + +# pacdiffviewer +#P_LOCATE=0 # Use locate instead of find +#P_SEARCHDIR=(/etc/ /boot/) +#P_SAVEDIR='/var/lib/yaourt/backupfiles' From ccb8aff09942af27396635f51b2de8e7eaec5d32 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 10:51:23 +0200 Subject: [PATCH 0335/2080] Add notmuch, i3 --- .config/i3/kinesis_custom.xkb | 1908 ++++++++++++++++++++++++++ .config/plasma-workspace/env/path.sh | 1 + .goobookrc | 20 + .notmuch-config | 108 ++ .pam_environment | 6 + Mail/.notmuch/hooks/notmuch-response | 122 ++ Mail/.notmuch/hooks/post-new | 44 + bin/setup_kinesis_keyboard | 73 + 8 files changed, 2282 insertions(+) create mode 100644 .config/i3/kinesis_custom.xkb create mode 100644 .config/plasma-workspace/env/path.sh create mode 100644 .goobookrc create mode 100644 .notmuch-config create mode 100644 .pam_environment create mode 100755 Mail/.notmuch/hooks/notmuch-response create mode 100755 Mail/.notmuch/hooks/post-new create mode 100755 bin/setup_kinesis_keyboard diff --git a/.config/i3/kinesis_custom.xkb b/.config/i3/kinesis_custom.xkb new file mode 100644 index 00000000..7549de4a --- /dev/null +++ b/.config/i3/kinesis_custom.xkb @@ -0,0 +1,1908 @@ +xkb_keymap { +xkb_keycodes "evdev_aliases(qwerty)" { + minimum = 8; + maximum = 255; + <ESC> = 9; + <AE01> = 10; + <AE02> = 11; + <AE03> = 12; + <AE04> = 13; + <AE05> = 14; + <AE06> = 15; + <AE07> = 16; + <AE08> = 17; + <AE09> = 18; + <AE10> = 19; + <AE11> = 20; + <AE12> = 21; + <BKSP> = 22; + <TAB> = 23; + <AD01> = 24; + <AD02> = 25; + <AD03> = 26; + <AD04> = 27; + <AD05> = 28; + <AD06> = 29; + <AD07> = 30; + <AD08> = 31; + <AD09> = 32; + <AD10> = 33; + <AD11> = 34; + <AD12> = 35; + <RTRN> = 36; + <LCTL> = 37; + <AC01> = 38; + <AC02> = 39; + <AC03> = 40; + <AC04> = 41; + <AC05> = 42; + <AC06> = 43; + <AC07> = 44; + <AC08> = 45; + <AC09> = 46; + <AC10> = 47; + <AC11> = 48; + <TLDE> = 49; + <LFSH> = 50; + <BKSL> = 51; + <AB01> = 52; + <AB02> = 53; + <AB03> = 54; + <AB04> = 55; + <AB05> = 56; + <AB06> = 57; + <AB07> = 58; + <AB08> = 59; + <AB09> = 60; + <AB10> = 61; + <RTSH> = 62; + <KPMU> = 63; + <LALT> = 64; + <SPCE> = 65; + <CAPS> = 66; + <FK01> = 67; + <FK02> = 68; + <FK03> = 69; + <FK04> = 70; + <FK05> = 71; + <FK06> = 72; + <FK07> = 73; + <FK08> = 74; + <FK09> = 75; + <FK10> = 76; + <NMLK> = 77; + <SCLK> = 78; + <KP7> = 79; + <KP8> = 80; + <KP9> = 81; + <KPSU> = 82; + <KP4> = 83; + <KP5> = 84; + <KP6> = 85; + <KPAD> = 86; + <KP1> = 87; + <KP2> = 88; + <KP3> = 89; + <KP0> = 90; + <KPDL> = 91; + <LVL3> = 92; + <LSGT> = 94; + <FK11> = 95; + <FK12> = 96; + <AB11> = 97; + <KATA> = 98; + <HIRA> = 99; + <HENK> = 100; + <HKTG> = 101; + <MUHE> = 102; + <JPCM> = 103; + <KPEN> = 104; + <RCTL> = 105; + <KPDV> = 106; + <PRSC> = 107; + <RALT> = 108; + <LNFD> = 109; + <HOME> = 110; + <UP> = 111; + <PGUP> = 112; + <LEFT> = 113; + <RGHT> = 114; + <END> = 115; + <DOWN> = 116; + <PGDN> = 117; + <INS> = 118; + <DELE> = 119; + <I120> = 120; + <MUTE> = 121; + <VOL-> = 122; + <VOL+> = 123; + <POWR> = 124; + <KPEQ> = 125; + <I126> = 126; + <PAUS> = 127; + <I128> = 128; + <I129> = 129; + <HNGL> = 130; + <HJCV> = 131; + <AE13> = 132; + <LWIN> = 133; + <RWIN> = 134; + <COMP> = 135; + <STOP> = 136; + <AGAI> = 137; + <PROP> = 138; + <UNDO> = 139; + <FRNT> = 140; + <COPY> = 141; + <OPEN> = 142; + <PAST> = 143; + <FIND> = 144; + <CUT> = 145; + <HELP> = 146; + <I147> = 147; + <I148> = 148; + <I149> = 149; + <I150> = 150; + <I151> = 151; + <I152> = 152; + <I153> = 153; + <I154> = 154; + <I155> = 155; + <I156> = 156; + <I157> = 157; + <I158> = 158; + <I159> = 159; + <I160> = 160; + <I161> = 161; + <I162> = 162; + <I163> = 163; + <I164> = 164; + <I165> = 165; + <I166> = 166; + <I167> = 167; + <I168> = 168; + <I169> = 169; + <I170> = 170; + <I171> = 171; + <I172> = 172; + <I173> = 173; + <I174> = 174; + <I175> = 175; + <I176> = 176; + <I177> = 177; + <I178> = 178; + <I179> = 179; + <I180> = 180; + <I181> = 181; + <I182> = 182; + <I183> = 183; + <I184> = 184; + <I185> = 185; + <I186> = 186; + <I187> = 187; + <I188> = 188; + <I189> = 189; + <I190> = 190; + <FK13> = 191; + <FK14> = 192; + <FK15> = 193; + <FK16> = 194; + <FK17> = 195; + <FK18> = 196; + <FK19> = 197; + <FK20> = 198; + <FK21> = 199; + <FK22> = 200; + <FK23> = 201; + <FK24> = 202; + <MDSW> = 203; + <ALT> = 204; + <META> = 205; + <SUPR> = 206; + <HYPR> = 207; + <I208> = 208; + <I209> = 209; + <I210> = 210; + <I211> = 211; + <I212> = 212; + <I213> = 213; + <I214> = 214; + <I215> = 215; + <I216> = 216; + <I217> = 217; + <I218> = 218; + <I219> = 219; + <I220> = 220; + <I221> = 221; + <I222> = 222; + <I223> = 223; + <I224> = 224; + <I225> = 225; + <I226> = 226; + <I227> = 227; + <I228> = 228; + <I229> = 229; + <I230> = 230; + <I231> = 231; + <I232> = 232; + <I233> = 233; + <I234> = 234; + <I235> = 235; + <I236> = 236; + <I237> = 237; + <I238> = 238; + <I239> = 239; + <I240> = 240; + <I241> = 241; + <I242> = 242; + <I243> = 243; + <I244> = 244; + <I245> = 245; + <I246> = 246; + <I247> = 247; + <I248> = 248; + <I249> = 249; + <I250> = 250; + <I251> = 251; + <I252> = 252; + <I253> = 253; + indicator 1 = "Caps Lock"; + indicator 2 = "Num Lock"; + indicator 3 = "Scroll Lock"; + indicator 4 = "Compose"; + indicator 5 = "Kana"; + indicator 6 = "Sleep"; + indicator 7 = "Suspend"; + indicator 8 = "Mute"; + indicator 9 = "Misc"; + indicator 10 = "Mail"; + indicator 11 = "Charging"; + virtual indicator 12 = "Shift Lock"; + virtual indicator 13 = "Group 2"; + virtual indicator 14 = "Mouse Keys"; + alias <AC12> = <BKSL>; + alias <MENU> = <COMP>; + alias <HZTG> = <TLDE>; + alias <LMTA> = <LWIN>; + alias <RMTA> = <RWIN>; + alias <ALGR> = <RALT>; + alias <KPPT> = <I129>; + alias <LatQ> = <AD01>; + alias <LatW> = <AD02>; + alias <LatE> = <AD03>; + alias <LatR> = <AD04>; + alias <LatT> = <AD05>; + alias <LatY> = <AD06>; + alias <LatU> = <AD07>; + alias <LatI> = <AD08>; + alias <LatO> = <AD09>; + alias <LatP> = <AD10>; + alias <LatA> = <AC01>; + alias <LatS> = <AC02>; + alias <LatD> = <AC03>; + alias <LatF> = <AC04>; + alias <LatG> = <AC05>; + alias <LatH> = <AC06>; + alias <LatJ> = <AC07>; + alias <LatK> = <AC08>; + alias <LatL> = <AC09>; + alias <LatZ> = <AB01>; + alias <LatX> = <AB02>; + alias <LatC> = <AB03>; + alias <LatV> = <AB04>; + alias <LatB> = <AB05>; + alias <LatN> = <AB06>; + alias <LatM> = <AB07>; +}; + +xkb_types "complete" { + + virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; + + type "ONE_LEVEL" { + modifiers= none; + level_name[Level1]= "Any"; + }; + type "TWO_LEVEL" { + modifiers= Shift; + map[Shift]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + }; + type "ALPHABETIC" { + modifiers= Shift+Lock; + map[Shift]= Level2; + map[Lock]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "Caps"; + }; + type "KEYPAD" { + modifiers= Shift+NumLock; + map[Shift]= Level2; + map[NumLock]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "Number"; + }; + type "SHIFT+ALT" { + modifiers= Shift+Alt; + map[Shift+Alt]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift+Alt"; + }; + type "PC_SUPER_LEVEL2" { + modifiers= Mod4; + map[Mod4]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "Super"; + }; + type "PC_CONTROL_LEVEL2" { + modifiers= Control; + map[Control]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "Control"; + }; + type "PC_LCONTROL_LEVEL2" { + modifiers= LControl; + map[LControl]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "LControl"; + }; + type "PC_RCONTROL_LEVEL2" { + modifiers= RControl; + map[RControl]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "RControl"; + }; + type "PC_ALT_LEVEL2" { + modifiers= Alt; + map[Alt]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "Alt"; + }; + type "PC_LALT_LEVEL2" { + modifiers= LAlt; + map[LAlt]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "LAlt"; + }; + type "PC_RALT_LEVEL2" { + modifiers= RAlt; + map[RAlt]= Level2; + level_name[Level1]= "Base"; + level_name[Level2]= "RAlt"; + }; + type "CTRL+ALT" { + modifiers= Shift+Control+Alt+LevelThree; + map[Shift]= Level2; + preserve[Shift]= Shift; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + preserve[Shift+LevelThree]= Shift; + map[Control+Alt]= Level5; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + level_name[Level5]= "Ctrl+Alt"; + }; + type "LOCAL_EIGHT_LEVEL" { + modifiers= Shift+Lock+Control+LevelThree; + map[Shift+Lock]= Level1; + map[Shift]= Level2; + map[Lock]= Level2; + map[LevelThree]= Level3; + map[Shift+Lock+LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[Lock+LevelThree]= Level4; + map[Control]= Level5; + map[Shift+Lock+Control]= Level5; + map[Shift+Control]= Level6; + map[Lock+Control]= Level6; + map[Control+LevelThree]= Level7; + map[Shift+Lock+Control+LevelThree]= Level7; + map[Shift+Control+LevelThree]= Level8; + map[Lock+Control+LevelThree]= Level8; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Level3"; + level_name[Level4]= "Shift Level3"; + level_name[Level5]= "Ctrl"; + level_name[Level6]= "Shift Ctrl"; + level_name[Level7]= "Level3 Ctrl"; + level_name[Level8]= "Shift Level3 Ctrl"; + }; + type "THREE_LEVEL" { + modifiers= Shift+LevelThree; + map[Shift]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level3; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Level3"; + }; + type "EIGHT_LEVEL" { + modifiers= Shift+LevelThree+LevelFive; + map[Shift]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[LevelFive]= Level5; + map[Shift+LevelFive]= Level6; + map[LevelThree+LevelFive]= Level7; + map[Shift+LevelThree+LevelFive]= Level8; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + level_name[Level5]= "X"; + level_name[Level6]= "X Shift"; + level_name[Level7]= "X Alt Base"; + level_name[Level8]= "X Shift Alt"; + }; + type "EIGHT_LEVEL_ALPHABETIC" { + modifiers= Shift+Lock+LevelThree+LevelFive; + map[Shift]= Level2; + map[Lock]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[Lock+LevelThree]= Level4; + map[Shift+Lock+LevelThree]= Level3; + map[LevelFive]= Level5; + map[Shift+LevelFive]= Level6; + map[Lock+LevelFive]= Level6; + map[LevelThree+LevelFive]= Level7; + map[Shift+LevelThree+LevelFive]= Level8; + map[Lock+LevelThree+LevelFive]= Level8; + map[Shift+Lock+LevelThree+LevelFive]= Level7; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + level_name[Level5]= "X"; + level_name[Level6]= "X Shift"; + level_name[Level7]= "X Alt Base"; + level_name[Level8]= "X Shift Alt"; + }; + type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" { + modifiers= Shift+Lock+NumLock+LevelThree+LevelFive; + map[Shift]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[LevelFive]= Level5; + map[Shift+LevelFive]= Level6; + preserve[Shift+LevelFive]= Shift; + map[LevelThree+LevelFive]= Level7; + map[Shift+LevelThree+LevelFive]= Level8; + map[NumLock]= Level5; + map[Shift+NumLock]= Level6; + preserve[Shift+NumLock]= Shift; + map[NumLock+LevelThree]= Level7; + map[Shift+NumLock+LevelThree]= Level8; + map[Shift+NumLock+LevelFive]= Level2; + map[NumLock+LevelThree+LevelFive]= Level3; + map[Shift+NumLock+LevelThree+LevelFive]= Level4; + map[Shift+Lock]= Level2; + map[Lock+LevelThree]= Level3; + map[Shift+Lock+LevelThree]= Level4; + map[Lock+LevelFive]= Level5; + map[Shift+Lock+LevelFive]= Level6; + preserve[Shift+Lock+LevelFive]= Shift; + map[Lock+LevelThree+LevelFive]= Level7; + map[Shift+Lock+LevelThree+LevelFive]= Level8; + map[Lock+NumLock]= Level5; + map[Shift+Lock+NumLock]= Level6; + preserve[Shift+Lock+NumLock]= Shift; + map[Lock+NumLock+LevelThree]= Level7; + map[Shift+Lock+NumLock+LevelThree]= Level8; + map[Shift+Lock+NumLock+LevelFive]= Level2; + map[Lock+NumLock+LevelThree+LevelFive]= Level3; + map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level4; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + level_name[Level5]= "X"; + level_name[Level6]= "X Shift"; + level_name[Level7]= "X Alt Base"; + level_name[Level8]= "X Shift Alt"; + }; + type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" { + modifiers= Shift+Lock+NumLock+LevelThree+LevelFive; + map[Shift]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[LevelFive]= Level5; + map[Shift+LevelFive]= Level6; + preserve[Shift+LevelFive]= Shift; + map[LevelThree+LevelFive]= Level7; + map[Shift+LevelThree+LevelFive]= Level8; + map[NumLock]= Level5; + map[Shift+NumLock]= Level6; + preserve[Shift+NumLock]= Shift; + map[NumLock+LevelThree]= Level7; + map[Shift+NumLock+LevelThree]= Level8; + map[Shift+NumLock+LevelFive]= Level2; + map[NumLock+LevelThree+LevelFive]= Level3; + map[Shift+NumLock+LevelThree+LevelFive]= Level4; + map[Lock]= Level2; + map[Lock+LevelThree]= Level3; + map[Shift+Lock+LevelThree]= Level4; + map[Lock+LevelFive]= Level5; + map[Shift+Lock+LevelFive]= Level6; + map[Lock+LevelThree+LevelFive]= Level7; + map[Shift+Lock+LevelThree+LevelFive]= Level8; + map[Lock+NumLock]= Level5; + map[Shift+Lock+NumLock]= Level6; + map[Lock+NumLock+LevelThree]= Level7; + map[Shift+Lock+NumLock+LevelThree]= Level8; + map[Lock+NumLock+LevelFive]= Level2; + map[Lock+NumLock+LevelThree+LevelFive]= Level4; + map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level3; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + level_name[Level5]= "X"; + level_name[Level6]= "X Shift"; + level_name[Level7]= "X Alt Base"; + level_name[Level8]= "X Shift Alt"; + }; + type "EIGHT_LEVEL_SEMIALPHABETIC" { + modifiers= Shift+Lock+LevelThree+LevelFive; + map[Shift]= Level2; + map[Lock]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[Lock+LevelThree]= Level3; + preserve[Lock+LevelThree]= Lock; + map[Shift+Lock+LevelThree]= Level4; + preserve[Shift+Lock+LevelThree]= Lock; + map[LevelFive]= Level5; + map[Shift+LevelFive]= Level6; + map[Lock+LevelFive]= Level6; + preserve[Lock+LevelFive]= Lock; + map[Shift+Lock+LevelFive]= Level6; + preserve[Shift+Lock+LevelFive]= Lock; + map[LevelThree+LevelFive]= Level7; + map[Shift+LevelThree+LevelFive]= Level8; + map[Lock+LevelThree+LevelFive]= Level7; + preserve[Lock+LevelThree+LevelFive]= Lock; + map[Shift+Lock+LevelThree+LevelFive]= Level8; + preserve[Shift+Lock+LevelThree+LevelFive]= Lock; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + level_name[Level5]= "X"; + level_name[Level6]= "X Shift"; + level_name[Level7]= "X Alt Base"; + level_name[Level8]= "X Shift Alt"; + }; + type "FOUR_LEVEL" { + modifiers= Shift+LevelThree; + map[Shift]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + }; + type "FOUR_LEVEL_ALPHABETIC" { + modifiers= Shift+Lock+LevelThree; + map[Shift]= Level2; + map[Lock]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[Lock+LevelThree]= Level4; + map[Shift+Lock+LevelThree]= Level3; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + }; + type "FOUR_LEVEL_SEMIALPHABETIC" { + modifiers= Shift+Lock+LevelThree; + map[Shift]= Level2; + map[Lock]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[Lock+LevelThree]= Level3; + preserve[Lock+LevelThree]= Lock; + map[Shift+Lock+LevelThree]= Level4; + preserve[Shift+Lock+LevelThree]= Lock; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + }; + type "FOUR_LEVEL_MIXED_KEYPAD" { + modifiers= Shift+NumLock+LevelThree; + map[Shift+NumLock]= Level1; + map[NumLock]= Level2; + map[Shift]= Level2; + map[LevelThree]= Level3; + map[NumLock+LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[Shift+NumLock+LevelThree]= Level4; + level_name[Level1]= "Base"; + level_name[Level2]= "Number"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + }; + type "FOUR_LEVEL_X" { + modifiers= Shift+Control+Alt+LevelThree; + map[LevelThree]= Level2; + map[Shift+LevelThree]= Level3; + map[Control+Alt]= Level4; + level_name[Level1]= "Base"; + level_name[Level2]= "Alt Base"; + level_name[Level3]= "Shift Alt"; + level_name[Level4]= "Ctrl+Alt"; + }; + type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" { + modifiers= Shift+Lock+LevelThree; + map[Shift]= Level2; + map[Lock]= Level4; + preserve[Lock]= Lock; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[Lock+LevelThree]= Level3; + preserve[Lock+LevelThree]= Lock; + map[Shift+Lock+LevelThree]= Level3; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "AltGr Base"; + level_name[Level4]= "Shift AltGr"; + }; + type "FOUR_LEVEL_PLUS_LOCK" { + modifiers= Shift+Lock+LevelThree; + map[Shift]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[Lock]= Level5; + map[Shift+Lock]= Level2; + map[Lock+LevelThree]= Level3; + map[Shift+Lock+LevelThree]= Level4; + level_name[Level1]= "Base"; + level_name[Level2]= "Shift"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Shift Alt"; + level_name[Level5]= "Lock"; + }; + type "FOUR_LEVEL_KEYPAD" { + modifiers= Shift+NumLock+LevelThree; + map[Shift]= Level2; + map[NumLock]= Level2; + map[LevelThree]= Level3; + map[Shift+LevelThree]= Level4; + map[NumLock+LevelThree]= Level4; + map[Shift+NumLock+LevelThree]= Level3; + level_name[Level1]= "Base"; + level_name[Level2]= "Number"; + level_name[Level3]= "Alt Base"; + level_name[Level4]= "Alt Number"; + }; +}; + +xkb_compatibility "complete" { + + virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper; + + interpret.useModMapMods= AnyLevel; + interpret.repeat= False; + interpret.locking= False; + interpret ISO_Level2_Latch+Exactly(Shift) { + useModMapMods=level1; + action= LatchMods(modifiers=Shift,clearLocks,latchToLock); + }; + interpret Shift_Lock+AnyOf(Shift+Lock) { + action= LockMods(modifiers=Shift); + }; + interpret Num_Lock+AnyOf(all) { + virtualModifier= NumLock; + action= LockMods(modifiers=NumLock); + }; + interpret ISO_Level3_Shift+AnyOf(all) { + virtualModifier= LevelThree; + useModMapMods=level1; + action= SetMods(modifiers=LevelThree,clearLocks); + }; + interpret ISO_Level3_Latch+AnyOf(all) { + virtualModifier= LevelThree; + useModMapMods=level1; + action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); + }; + interpret ISO_Level3_Lock+AnyOf(all) { + virtualModifier= LevelThree; + useModMapMods=level1; + action= LockMods(modifiers=LevelThree); + }; + interpret Alt_L+AnyOf(all) { + virtualModifier= Alt; + action= SetMods(modifiers=modMapMods,clearLocks); + }; + interpret Alt_R+AnyOf(all) { + virtualModifier= Alt; + action= SetMods(modifiers=modMapMods,clearLocks); + }; + interpret Meta_L+AnyOf(all) { + virtualModifier= Meta; + action= SetMods(modifiers=modMapMods,clearLocks); + }; + interpret Meta_R+AnyOf(all) { + virtualModifier= Meta; + action= SetMods(modifiers=modMapMods,clearLocks); + }; + interpret Super_L+AnyOf(all) { + virtualModifier= Super; + action= SetMods(modifiers=modMapMods,clearLocks); + }; + interpret Super_R+AnyOf(all) { + virtualModifier= Super; + action= SetMods(modifiers=modMapMods,clearLocks); + }; + interpret Hyper_L+AnyOf(all) { + virtualModifier= Hyper; + action= SetMods(modifiers=modMapMods,clearLocks); + }; + interpret Hyper_R+AnyOf(all) { + virtualModifier= Hyper; + action= SetMods(modifiers=modMapMods,clearLocks); + }; + interpret Scroll_Lock+AnyOf(all) { + virtualModifier= ScrollLock; + action= LockMods(modifiers=modMapMods); + }; + interpret ISO_Level5_Shift+AnyOf(all) { + virtualModifier= LevelFive; + useModMapMods=level1; + action= SetMods(modifiers=LevelFive,clearLocks); + }; + interpret ISO_Level5_Latch+AnyOf(all) { + virtualModifier= LevelFive; + useModMapMods=level1; + action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); + }; + interpret ISO_Level5_Lock+AnyOf(all) { + virtualModifier= LevelFive; + useModMapMods=level1; + action= LockMods(modifiers=LevelFive); + }; + interpret Mode_switch+AnyOfOrNone(all) { + virtualModifier= AltGr; + useModMapMods=level1; + action= SetGroup(group=+1); + }; + interpret ISO_Level3_Shift+AnyOfOrNone(all) { + action= SetMods(modifiers=LevelThree,clearLocks); + }; + interpret ISO_Level3_Latch+AnyOfOrNone(all) { + action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock); + }; + interpret ISO_Level3_Lock+AnyOfOrNone(all) { + action= LockMods(modifiers=LevelThree); + }; + interpret ISO_Group_Latch+AnyOfOrNone(all) { + virtualModifier= AltGr; + useModMapMods=level1; + action= LatchGroup(group=2); + }; + interpret ISO_Next_Group+AnyOfOrNone(all) { + virtualModifier= AltGr; + useModMapMods=level1; + action= LockGroup(group=+1); + }; + interpret ISO_Prev_Group+AnyOfOrNone(all) { + virtualModifier= AltGr; + useModMapMods=level1; + action= LockGroup(group=-1); + }; + interpret ISO_First_Group+AnyOfOrNone(all) { + action= LockGroup(group=1); + }; + interpret ISO_Last_Group+AnyOfOrNone(all) { + action= LockGroup(group=2); + }; + interpret KP_1+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=-1,y=+1); + }; + interpret KP_End+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=-1,y=+1); + }; + interpret KP_2+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+0,y=+1); + }; + interpret KP_Down+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+0,y=+1); + }; + interpret KP_3+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+1,y=+1); + }; + interpret KP_Next+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+1,y=+1); + }; + interpret KP_4+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=-1,y=+0); + }; + interpret KP_Left+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=-1,y=+0); + }; + interpret KP_6+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+1,y=+0); + }; + interpret KP_Right+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+1,y=+0); + }; + interpret KP_7+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=-1,y=-1); + }; + interpret KP_Home+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=-1,y=-1); + }; + interpret KP_8+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+0,y=-1); + }; + interpret KP_Up+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+0,y=-1); + }; + interpret KP_9+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+1,y=-1); + }; + interpret KP_Prior+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+1,y=-1); + }; + interpret KP_5+AnyOfOrNone(all) { + repeat= True; + action= PtrBtn(button=default); + }; + interpret KP_Begin+AnyOfOrNone(all) { + repeat= True; + action= PtrBtn(button=default); + }; + interpret KP_F2+AnyOfOrNone(all) { + repeat= True; + action= SetPtrDflt(affect=button,button=1); + }; + interpret KP_Divide+AnyOfOrNone(all) { + repeat= True; + action= SetPtrDflt(affect=button,button=1); + }; + interpret KP_F3+AnyOfOrNone(all) { + repeat= True; + action= SetPtrDflt(affect=button,button=2); + }; + interpret KP_Multiply+AnyOfOrNone(all) { + repeat= True; + action= SetPtrDflt(affect=button,button=2); + }; + interpret KP_F4+AnyOfOrNone(all) { + repeat= True; + action= SetPtrDflt(affect=button,button=3); + }; + interpret KP_Subtract+AnyOfOrNone(all) { + repeat= True; + action= SetPtrDflt(affect=button,button=3); + }; + interpret KP_Separator+AnyOfOrNone(all) { + repeat= True; + action= PtrBtn(button=default,count=2); + }; + interpret KP_Add+AnyOfOrNone(all) { + repeat= True; + action= PtrBtn(button=default,count=2); + }; + interpret KP_0+AnyOfOrNone(all) { + repeat= True; + action= LockPtrBtn(button=default,affect=lock); + }; + interpret KP_Insert+AnyOfOrNone(all) { + repeat= True; + action= LockPtrBtn(button=default,affect=lock); + }; + interpret KP_Decimal+AnyOfOrNone(all) { + repeat= True; + action= LockPtrBtn(button=default,affect=unlock); + }; + interpret KP_Delete+AnyOfOrNone(all) { + repeat= True; + action= LockPtrBtn(button=default,affect=unlock); + }; + interpret F25+AnyOfOrNone(all) { + repeat= True; + action= SetPtrDflt(affect=button,button=1); + }; + interpret F26+AnyOfOrNone(all) { + repeat= True; + action= SetPtrDflt(affect=button,button=2); + }; + interpret F27+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=-1,y=-1); + }; + interpret F29+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+1,y=-1); + }; + interpret F31+AnyOfOrNone(all) { + repeat= True; + action= PtrBtn(button=default); + }; + interpret F33+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=-1,y=+1); + }; + interpret F35+AnyOfOrNone(all) { + repeat= True; + action= MovePtr(x=+1,y=+1); + }; + interpret Pointer_Button_Dflt+AnyOfOrNone(all) { + action= PtrBtn(button=default); + }; + interpret Pointer_Button1+AnyOfOrNone(all) { + action= PtrBtn(button=1); + }; + interpret Pointer_Button2+AnyOfOrNone(all) { + action= PtrBtn(button=2); + }; + interpret Pointer_Button3+AnyOfOrNone(all) { + action= PtrBtn(button=3); + }; + interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) { + action= PtrBtn(button=default,count=2); + }; + interpret Pointer_DblClick1+AnyOfOrNone(all) { + action= PtrBtn(button=1,count=2); + }; + interpret Pointer_DblClick2+AnyOfOrNone(all) { + action= PtrBtn(button=2,count=2); + }; + interpret Pointer_DblClick3+AnyOfOrNone(all) { + action= PtrBtn(button=3,count=2); + }; + interpret Pointer_Drag_Dflt+AnyOfOrNone(all) { + action= LockPtrBtn(button=default,affect=both); + }; + interpret Pointer_Drag1+AnyOfOrNone(all) { + action= LockPtrBtn(button=1,affect=both); + }; + interpret Pointer_Drag2+AnyOfOrNone(all) { + action= LockPtrBtn(button=2,affect=both); + }; + interpret Pointer_Drag3+AnyOfOrNone(all) { + action= LockPtrBtn(button=3,affect=both); + }; + interpret Pointer_EnableKeys+AnyOfOrNone(all) { + action= LockControls(controls=MouseKeys); + }; + interpret Pointer_Accelerate+AnyOfOrNone(all) { + action= LockControls(controls=MouseKeysAccel); + }; + interpret Pointer_DfltBtnNext+AnyOfOrNone(all) { + action= SetPtrDflt(affect=button,button=+1); + }; + interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) { + action= SetPtrDflt(affect=button,button=-1); + }; + interpret AccessX_Enable+AnyOfOrNone(all) { + action= LockControls(controls=AccessXKeys); + }; + interpret AccessX_Feedback_Enable+AnyOfOrNone(all) { + action= LockControls(controls=AccessXFeedback); + }; + interpret RepeatKeys_Enable+AnyOfOrNone(all) { + action= LockControls(controls=RepeatKeys); + }; + interpret SlowKeys_Enable+AnyOfOrNone(all) { + action= LockControls(controls=SlowKeys); + }; + interpret BounceKeys_Enable+AnyOfOrNone(all) { + action= LockControls(controls=BounceKeys); + }; + interpret StickyKeys_Enable+AnyOfOrNone(all) { + action= LockControls(controls=StickyKeys); + }; + interpret MouseKeys_Enable+AnyOfOrNone(all) { + action= LockControls(controls=MouseKeys); + }; + interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) { + action= LockControls(controls=MouseKeysAccel); + }; + interpret Overlay1_Enable+AnyOfOrNone(all) { + action= LockControls(controls=Overlay1); + }; + interpret Overlay2_Enable+AnyOfOrNone(all) { + action= LockControls(controls=Overlay2); + }; + interpret AudibleBell_Enable+AnyOfOrNone(all) { + action= LockControls(controls=AudibleBell); + }; + interpret Terminate_Server+AnyOfOrNone(all) { + action= Terminate(); + }; + interpret Alt_L+AnyOfOrNone(all) { + action= SetMods(modifiers=Alt,clearLocks); + }; + interpret Alt_R+AnyOfOrNone(all) { + action= SetMods(modifiers=Alt,clearLocks); + }; + interpret Meta_L+AnyOfOrNone(all) { + action= SetMods(modifiers=Meta,clearLocks); + }; + interpret Meta_R+AnyOfOrNone(all) { + action= SetMods(modifiers=Meta,clearLocks); + }; + interpret Super_L+AnyOfOrNone(all) { + action= SetMods(modifiers=Super,clearLocks); + }; + interpret Super_R+AnyOfOrNone(all) { + action= SetMods(modifiers=Super,clearLocks); + }; + interpret Hyper_L+AnyOfOrNone(all) { + action= SetMods(modifiers=Hyper,clearLocks); + }; + interpret Hyper_R+AnyOfOrNone(all) { + action= SetMods(modifiers=Hyper,clearLocks); + }; + interpret Shift_L+AnyOfOrNone(all) { + action= SetMods(modifiers=Shift,clearLocks); + }; + interpret XF86Switch_VT_1+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=1,!same); + }; + interpret XF86Switch_VT_2+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=2,!same); + }; + interpret XF86Switch_VT_3+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=3,!same); + }; + interpret XF86Switch_VT_4+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=4,!same); + }; + interpret XF86Switch_VT_5+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=5,!same); + }; + interpret XF86Switch_VT_6+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=6,!same); + }; + interpret XF86Switch_VT_7+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=7,!same); + }; + interpret XF86Switch_VT_8+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=8,!same); + }; + interpret XF86Switch_VT_9+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=9,!same); + }; + interpret XF86Switch_VT_10+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=10,!same); + }; + interpret XF86Switch_VT_11+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=11,!same); + }; + interpret XF86Switch_VT_12+AnyOfOrNone(all) { + repeat= True; + action= SwitchScreen(screen=12,!same); + }; + interpret XF86LogGrabInfo+AnyOfOrNone(all) { + repeat= True; + action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00); + }; + interpret XF86LogWindowTree+AnyOfOrNone(all) { + repeat= True; + action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00); + }; + interpret XF86Next_VMode+AnyOfOrNone(all) { + repeat= True; + action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00); + }; + interpret XF86Prev_VMode+AnyOfOrNone(all) { + repeat= True; + action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00); + }; + interpret ISO_Level5_Shift+AnyOfOrNone(all) { + action= SetMods(modifiers=LevelFive,clearLocks); + }; + interpret ISO_Level5_Latch+AnyOfOrNone(all) { + action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock); + }; + interpret ISO_Level5_Lock+AnyOfOrNone(all) { + action= LockMods(modifiers=LevelFive); + }; + interpret Caps_Lock+AnyOfOrNone(all) { + action= LockMods(modifiers=Lock); + }; + interpret Any+Exactly(Lock) { + action= LockMods(modifiers=Lock); + }; + interpret Any+AnyOf(all) { + action= SetMods(modifiers=modMapMods,clearLocks); + }; + group 2 = AltGr; + group 3 = AltGr; + group 4 = AltGr; + indicator "Caps Lock" { + !allowExplicit; + whichModState= locked; + modifiers= Lock; + }; + indicator "Num Lock" { + !allowExplicit; + whichModState= locked; + modifiers= NumLock; + }; + indicator "Scroll Lock" { + whichModState= locked; + modifiers= ScrollLock; + }; + indicator "Shift Lock" { + !allowExplicit; + whichModState= locked; + modifiers= Shift; + }; + indicator "Group 2" { + !allowExplicit; + groups= 0xfe; + }; + indicator "Mouse Keys" { + indicatorDrivesKeyboard; + controls= mouseKeys; + }; +}; + +xkb_symbols "pc_us_inet(evdev)_capslock(escape)_compose(rwin)_terminate(ctrl_alt_bksp)" { + + name[group1]="English (US)"; + + key <ESC> { [ Escape ] }; + key <AE01> { [ 1, exclam ] }; + key <AE02> { [ 2, at ] }; + key <AE03> { [ 3, numbersign ] }; + key <AE04> { [ 4, dollar ] }; + key <AE05> { [ 5, percent ] }; + key <AE06> { [ 6, asciicircum ] }; + key <AE07> { [ 7, ampersand ] }; + key <AE08> { [ 8, asterisk ] }; + key <AE09> { [ 9, parenleft ] }; + key <AE10> { [ 0, parenright ] }; + key <AE11> { [ minus, underscore ] }; + key <AE12> { [ equal, plus ] }; + key <BKSP> { + type= "CTRL+ALT", + symbols[Group1]= [ BackSpace, BackSpace, NoSymbol, NoSymbol, Terminate_Server ] + }; + key <TAB> { [ Tab, ISO_Left_Tab ] }; + key <AD01> { + type= "ALPHABETIC", + symbols[Group1]= [ q, Q ] + }; + key <AD02> { + type= "ALPHABETIC", + symbols[Group1]= [ w, W ] + }; + key <AD03> { + type= "ALPHABETIC", + symbols[Group1]= [ e, E ] + }; + key <AD04> { + type= "ALPHABETIC", + symbols[Group1]= [ r, R ] + }; + key <AD05> { + type= "ALPHABETIC", + symbols[Group1]= [ t, T ] + }; + key <AD06> { + type= "ALPHABETIC", + symbols[Group1]= [ y, Y ] + }; + key <AD07> { + type= "ALPHABETIC", + symbols[Group1]= [ u, U ] + }; + key <AD08> { + type= "ALPHABETIC", + symbols[Group1]= [ i, I ] + }; + key <AD09> { + type= "ALPHABETIC", + symbols[Group1]= [ o, O ] + }; + key <AD10> { + type= "ALPHABETIC", + symbols[Group1]= [ p, P ] + }; + key <AD11> { [ bracketleft, braceleft ] }; + key <AD12> { [ bracketright, braceright ] }; + key <RTRN> { [ Return ] }; + key <LCTL> { [ Control_L ] }; + key <AC01> { + type= "ALPHABETIC", + symbols[Group1]= [ a, A ] + }; + key <AC02> { + type= "ALPHABETIC", + symbols[Group1]= [ s, S ] + }; + key <AC03> { + type= "ALPHABETIC", + symbols[Group1]= [ d, D ] + }; + key <AC04> { + type= "ALPHABETIC", + symbols[Group1]= [ f, F ] + }; + key <AC05> { + type= "ALPHABETIC", + symbols[Group1]= [ g, G ] + }; + key <AC06> { + type= "ALPHABETIC", + symbols[Group1]= [ h, H ] + }; + key <AC07> { + type= "ALPHABETIC", + symbols[Group1]= [ j, J ] + }; + key <AC08> { + type= "ALPHABETIC", + symbols[Group1]= [ k, K ] + }; + key <AC09> { + type= "ALPHABETIC", + symbols[Group1]= [ l, L ] + }; + key <AC10> { [ semicolon, colon ] }; + key <AC11> { [ apostrophe, quotedbl ] }; + key <TLDE> { [ grave, asciitilde ] }; + key <LFSH> { [ Shift_L ] }; + key <BKSL> { [ backslash, bar ] }; + key <AB01> { + type= "ALPHABETIC", + symbols[Group1]= [ z, Z ] + }; + key <AB02> { + type= "ALPHABETIC", + symbols[Group1]= [ x, X ] + }; + key <AB03> { + type= "ALPHABETIC", + symbols[Group1]= [ c, C ] + }; + key <AB04> { + type= "ALPHABETIC", + symbols[Group1]= [ v, V ] + }; + key <AB05> { + type= "ALPHABETIC", + symbols[Group1]= [ b, B ] + }; + key <AB06> { + type= "ALPHABETIC", + symbols[Group1]= [ n, N ] + }; + key <AB07> { + type= "ALPHABETIC", + symbols[Group1]= [ m, M ] + }; + key <AB08> { [ comma, less ] }; + key <AB09> { [ period, greater ] }; + key <AB10> { [ slash, question ] }; + key <RTSH> { [ Shift_R ] }; + key <KPMU> { + type= "CTRL+ALT", + symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ] + }; + key <LALT> { [ Alt_L, Meta_L ] }; + key <SPCE> { [ space ] }; + key <CAPS> { [ Escape ] }; + key <FK01> { + type= "CTRL+ALT", + symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ] + }; + key <FK02> { + type= "CTRL+ALT", + symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ] + }; + key <FK03> { + type= "CTRL+ALT", + symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ] + }; + key <FK04> { + type= "CTRL+ALT", + symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ] + }; + key <FK05> { + type= "CTRL+ALT", + symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ] + }; + key <FK06> { + type= "CTRL+ALT", + symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ] + }; + key <FK07> { + type= "CTRL+ALT", + symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ] + }; + key <FK08> { + type= "CTRL+ALT", + symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ] + }; + key <FK09> { + type= "CTRL+ALT", + symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ] + }; + key <FK10> { + type= "CTRL+ALT", + symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ] + }; + key <NMLK> { [ Num_Lock ] }; + key <SCLK> { [ Scroll_Lock ] }; + key <KP7> { [ KP_Home, KP_7 ] }; + key <KP8> { [ KP_Up, KP_8 ] }; + key <KP9> { [ KP_Prior, KP_9 ] }; + key <KPSU> { + type= "CTRL+ALT", + symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ] + }; + key <KP4> { [ KP_Left, KP_4 ] }; + key <KP5> { [ KP_Begin, KP_5 ] }; + key <KP6> { [ KP_Right, KP_6 ] }; + key <KPAD> { + type= "CTRL+ALT", + symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ] + }; + key <KP1> { [ KP_End, KP_1 ] }; + key <KP2> { [ KP_Down, KP_2 ] }; + key <KP3> { [ KP_Next, KP_3 ] }; + key <KP0> { [ KP_Insert, KP_0 ] }; + key <KPDL> { [ KP_Delete, KP_Decimal ] }; + key <LVL3> { [ ISO_Level3_Shift ] }; + key <LSGT> { + type= "FOUR_LEVEL", + symbols[Group1]= [ less, greater, bar, brokenbar ] + }; + key <FK11> { + type= "CTRL+ALT", + symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ] + }; + key <FK12> { + type= "CTRL+ALT", + symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ] + }; + key <KATA> { [ Katakana ] }; + key <HIRA> { [ Hiragana ] }; + key <HENK> { [ Henkan_Mode ] }; + key <HKTG> { [ Hiragana_Katakana ] }; + key <MUHE> { [ Muhenkan ] }; + key <KPEN> { [ KP_Enter ] }; + key <RCTL> { [ Control_R ] }; + key <KPDV> { + type= "CTRL+ALT", + symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ] + }; + key <PRSC> { + type= "PC_ALT_LEVEL2", + symbols[Group1]= [ Print, Sys_Req ] + }; + key <RALT> { + type= "TWO_LEVEL", + symbols[Group1]= [ Alt_R, Meta_R ] + }; + key <LNFD> { [ Linefeed ] }; + key <HOME> { [ Home ] }; + key <UP> { [ Up ] }; + key <PGUP> { [ Prior ] }; + key <LEFT> { [ Left ] }; + key <RGHT> { [ Right ] }; + key <END> { [ End ] }; + key <DOWN> { [ Down ] }; + key <PGDN> { [ Next ] }; + key <INS> { [ Insert ] }; + key <DELE> { [ Delete ] }; + key <MUTE> { [ XF86AudioMute ] }; + key <VOL-> { [ XF86AudioLowerVolume ] }; + key <VOL+> { [ XF86AudioRaiseVolume ] }; + key <POWR> { [ XF86PowerOff ] }; + key <KPEQ> { [ KP_Equal ] }; + key <I126> { [ plusminus ] }; + key <PAUS> { + type= "PC_CONTROL_LEVEL2", + symbols[Group1]= [ Pause, Break ] + }; + key <I128> { [ XF86LaunchA ] }; + key <I129> { [ KP_Decimal, KP_Decimal ] }; + key <HNGL> { [ Hangul ] }; + key <HJCV> { [ Hangul_Hanja ] }; + key <LWIN> { [ Super_L ] }; + key <RWIN> { + type= "TWO_LEVEL", + symbols[Group1]= [ Multi_key, Multi_key ] + }; + key <COMP> { [ Menu ] }; + key <STOP> { [ Cancel ] }; + key <AGAI> { [ Redo ] }; + key <PROP> { [ SunProps ] }; + key <UNDO> { [ Undo ] }; + key <FRNT> { [ SunFront ] }; + key <COPY> { [ XF86Copy ] }; + key <OPEN> { [ XF86Open ] }; + key <PAST> { [ XF86Paste ] }; + key <FIND> { [ Find ] }; + key <CUT> { [ XF86Cut ] }; + key <HELP> { [ Help ] }; + key <I147> { [ XF86MenuKB ] }; + key <I148> { [ XF86Calculator ] }; + key <I150> { [ XF86Sleep ] }; + key <I151> { [ XF86WakeUp ] }; + key <I152> { [ XF86Explorer ] }; + key <I153> { [ XF86Send ] }; + key <I155> { [ XF86Xfer ] }; + key <I156> { [ XF86Launch1 ] }; + key <I157> { [ XF86Launch2 ] }; + key <I158> { [ XF86WWW ] }; + key <I159> { [ XF86DOS ] }; + key <I160> { [ XF86ScreenSaver ] }; + key <I161> { [ XF86RotateWindows ] }; + key <I162> { [ XF86TaskPane ] }; + key <I163> { [ XF86Mail ] }; + key <I164> { [ XF86Favorites ] }; + key <I165> { [ XF86MyComputer ] }; + key <I166> { [ XF86Back ] }; + key <I167> { [ XF86Forward ] }; + key <I169> { [ XF86Eject ] }; + key <I170> { [ XF86Eject, XF86Eject ] }; + key <I171> { [ XF86AudioNext ] }; + key <I172> { [ XF86AudioPlay, XF86AudioPause ] }; + key <I173> { [ XF86AudioPrev ] }; + key <I174> { [ XF86AudioStop, XF86Eject ] }; + key <I175> { [ XF86AudioRecord ] }; + key <I176> { [ XF86AudioRewind ] }; + key <I177> { [ XF86Phone ] }; + key <I179> { [ XF86Tools ] }; + key <I180> { [ XF86HomePage ] }; + key <I181> { [ XF86Reload ] }; + key <I182> { [ XF86Close ] }; + key <I185> { [ XF86ScrollUp ] }; + key <I186> { [ XF86ScrollDown ] }; + key <I187> { [ parenleft ] }; + key <I188> { [ parenright ] }; + key <I189> { [ XF86New ] }; + key <I190> { [ Redo ] }; + key <FK13> { [ XF86Tools ] }; + key <FK14> { [ XF86Launch5 ] }; + key <FK15> { [ XF86Launch6 ] }; + key <FK16> { [ XF86Launch7 ] }; + key <FK17> { [ XF86Launch8 ] }; + key <FK18> { [ XF86Launch9 ] }; + key <FK20> { [ XF86AudioMicMute ] }; + key <FK21> { [ XF86TouchpadToggle ] }; + key <FK22> { [ XF86TouchpadOn ] }; + key <FK23> { [ XF86TouchpadOff ] }; + key <MDSW> { [ Mode_switch ] }; + key <ALT> { [ NoSymbol, Alt_L ] }; + key <META> { [ NoSymbol, Meta_L ] }; + key <SUPR> { [ NoSymbol, Super_L ] }; + key <HYPR> { [ NoSymbol, Hyper_L ] }; + key <I208> { [ XF86AudioPlay ] }; + key <I209> { [ XF86AudioPause ] }; + key <I210> { [ XF86Launch3 ] }; + key <I211> { [ XF86Launch4 ] }; + key <I212> { [ XF86LaunchB ] }; + key <I213> { [ XF86Suspend ] }; + key <I214> { [ XF86Close ] }; + key <I215> { [ XF86AudioPlay ] }; + key <I216> { [ XF86AudioForward ] }; + key <I218> { [ Print ] }; + key <I220> { [ XF86WebCam ] }; + key <I223> { [ XF86Mail ] }; + key <I224> { [ XF86Messenger ] }; + key <I225> { [ XF86Search ] }; + key <I226> { [ XF86Go ] }; + key <I227> { [ XF86Finance ] }; + key <I228> { [ XF86Game ] }; + key <I229> { [ XF86Shop ] }; + key <I231> { [ Cancel ] }; + key <I232> { [ XF86MonBrightnessDown ] }; + key <I233> { [ XF86MonBrightnessUp ] }; + key <I234> { [ XF86AudioMedia ] }; + key <I235> { [ XF86Display ] }; + key <I236> { [ XF86KbdLightOnOff ] }; + key <I237> { [ XF86KbdBrightnessDown ] }; + key <I238> { [ XF86KbdBrightnessUp ] }; + key <I239> { [ XF86Send ] }; + key <I240> { [ XF86Reply ] }; + key <I241> { [ XF86MailForward ] }; + key <I242> { [ XF86Save ] }; + key <I243> { [ XF86Documents ] }; + key <I244> { [ XF86Battery ] }; + key <I245> { [ XF86Bluetooth ] }; + key <I246> { [ XF86WLAN ] }; + modifier_map Control { <LCTL> }; + modifier_map Shift { <LFSH> }; + modifier_map Shift { <RTSH> }; + modifier_map Mod1 { <LALT> }; + modifier_map Mod2 { <NMLK> }; + modifier_map Mod5 { <LVL3> }; + modifier_map Mod4 { <RCTL> }; + modifier_map Mod1 { <RALT> }; + modifier_map Mod4 { <LWIN> }; + modifier_map Mod5 { <MDSW> }; + modifier_map Mod1 { <META> }; + modifier_map Mod4 { <SUPR> }; + modifier_map Mod4 { <HYPR> }; +}; + +xkb_geometry "pc(pc105)" { + + width= 470; + height= 180; + + alias <AC00> = <CAPS>; + alias <AA00> = <LCTL>; + + baseColor= "white"; + labelColor= "black"; + xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; + description= "Generic 105"; + + shape "NORM" { + corner= 1, + { [ 18, 18 ] }, + { [ 2, 1 ], [ 16, 16 ] } + }; + shape "BKSP" { + corner= 1, + { [ 38, 18 ] }, + { [ 2, 1 ], [ 36, 16 ] } + }; + shape "TABK" { + corner= 1, + { [ 28, 18 ] }, + { [ 2, 1 ], [ 26, 16 ] } + }; + shape "BKSL" { + corner= 1, + { [ 28, 18 ] }, + { [ 2, 1 ], [ 26, 16 ] } + }; + shape "RTRN" { + corner= 1, + { [ 0, 0 ], [ 28, 0 ], [ 28, 37 ], [ 5, 37 ], + [ 5, 18 ], [ 0, 18 ] }, + { [ 2, 1 ], [ 26, 1 ], [ 26, 35 ], [ 7, 35 ], + [ 7, 16 ], [ 2, 16 ] }, + approx= { [ 5, 0 ], [ 28, 37 ] } + }; + shape "CAPS" { + corner= 1, + { [ 33, 18 ] }, + { [ 2, 1 ], [ 31, 16 ] } + }; + shape "LFSH" { + corner= 1, + { [ 25, 18 ] }, + { [ 2, 1 ], [ 23, 16 ] } + }; + shape "RTSH" { + corner= 1, + { [ 50, 18 ] }, + { [ 2, 1 ], [ 48, 16 ] } + }; + shape "MODK" { + corner= 1, + { [ 27, 18 ] }, + { [ 2, 1 ], [ 25, 16 ] } + }; + shape "SMOD" { + corner= 1, + { [ 23, 18 ] }, + { [ 2, 1 ], [ 21, 16 ] } + }; + shape "SPCE" { + corner= 1, + { [ 113, 18 ] }, + { [ 2, 1 ], [ 111, 16 ] } + }; + shape "KP0" { + corner= 1, + { [ 37, 18 ] }, + { [ 2, 1 ], [ 35, 16 ] } + }; + shape "KPAD" { + corner= 1, + { [ 18, 37 ] }, + { [ 2, 1 ], [ 16, 35 ] } + }; + shape "LEDS" { { [ 75, 20 ] } }; + shape "LED" { { [ 5, 1 ] } }; + section "Function" { + key.color= "grey20"; + priority= 7; + top= 22; + left= 19; + width= 351; + height= 19; + row { + top= 1; + left= 1; + keys { + { <ESC>, "NORM", 1 }, + { <FK01>, "NORM", 20, color="white" }, + { <FK02>, "NORM", 1, color="white" }, + { <FK03>, "NORM", 1, color="white" }, + { <FK04>, "NORM", 1, color="white" }, + { <FK05>, "NORM", 11, color="white" }, + { <FK06>, "NORM", 1, color="white" }, + { <FK07>, "NORM", 1, color="white" }, + { <FK08>, "NORM", 1, color="white" }, + { <FK09>, "NORM", 11, color="white" }, + { <FK10>, "NORM", 1, color="white" }, + { <FK11>, "NORM", 1, color="white" }, + { <FK12>, "NORM", 1, color="white" }, + { <PRSC>, "NORM", 8, color="white" }, + { <SCLK>, "NORM", 1, color="white" }, + { <PAUS>, "NORM", 1, color="white" } + }; + }; + }; // End of "Function" section + + section "Alpha" { + key.color= "white"; + priority= 8; + top= 61; + left= 19; + width= 287; + height= 95; + row { + top= 1; + left= 1; + keys { + { <TLDE>, "NORM", 1 }, { <AE01>, "NORM", 1 }, + { <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 }, + { <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 }, + { <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 }, + { <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 }, + { <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 }, + { <AE12>, "NORM", 1 }, + { <BKSP>, "BKSP", 1, color="grey20" } + }; + }; + row { + top= 20; + left= 1; + keys { + { <TAB>, "TABK", 1, color="grey20" }, + { <AD01>, "NORM", 1 }, { <AD02>, "NORM", 1 }, + { <AD03>, "NORM", 1 }, { <AD04>, "NORM", 1 }, + { <AD05>, "NORM", 1 }, { <AD06>, "NORM", 1 }, + { <AD07>, "NORM", 1 }, { <AD08>, "NORM", 1 }, + { <AD09>, "NORM", 1 }, { <AD10>, "NORM", 1 }, + { <AD11>, "NORM", 1 }, { <AD12>, "NORM", 1 }, + { <RTRN>, "RTRN", 1, color="grey20" } + }; + }; + row { + top= 39; + left= 1; + keys { + { <CAPS>, "CAPS", 1, color="grey20" }, + { <AC01>, "NORM", 1 }, { <AC02>, "NORM", 1 }, + { <AC03>, "NORM", 1 }, { <AC04>, "NORM", 1 }, + { <AC05>, "NORM", 1 }, { <AC06>, "NORM", 1 }, + { <AC07>, "NORM", 1 }, { <AC08>, "NORM", 1 }, + { <AC09>, "NORM", 1 }, { <AC10>, "NORM", 1 }, + { <AC11>, "NORM", 1 }, { <BKSL>, "NORM", 1 } + }; + }; + row { + top= 58; + left= 1; + keys { + { <LFSH>, "LFSH", 1, color="grey20" }, + { <LSGT>, "NORM", 1 }, { <AB01>, "NORM", 1 }, + { <AB02>, "NORM", 1 }, { <AB03>, "NORM", 1 }, + { <AB04>, "NORM", 1 }, { <AB05>, "NORM", 1 }, + { <AB06>, "NORM", 1 }, { <AB07>, "NORM", 1 }, + { <AB08>, "NORM", 1 }, { <AB09>, "NORM", 1 }, + { <AB10>, "NORM", 1 }, + { <RTSH>, "RTSH", 1, color="grey20" } + }; + }; + row { + top= 77; + left= 1; + keys { + { <LCTL>, "MODK", 1, color="grey20" }, + { <LWIN>, "SMOD", 1, color="grey20" }, + { <LALT>, "SMOD", 1, color="grey20" }, + { <SPCE>, "SPCE", 1 }, + { <RALT>, "SMOD", 1, color="grey20" }, + { <RWIN>, "SMOD", 1, color="grey20" }, + { <MENU>, "SMOD", 1, color="grey20" }, + { <RCTL>, "SMOD", 1, color="grey20" } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + key.color= "grey20"; + priority= 9; + top= 61; + left= 312; + width= 58; + height= 95; + row { + top= 1; + left= 1; + keys { + { <INS>, "NORM", 1 }, { <HOME>, "NORM", 1 }, + { <PGUP>, "NORM", 1 } + }; + }; + row { + top= 20; + left= 1; + keys { + { <DELE>, "NORM", 1 }, { <END>, "NORM", 1 }, + { <PGDN>, "NORM", 1 } + }; + }; + row { + top= 58; + left= 20; + keys { + { <UP>, "NORM", 1 } + }; + }; + row { + top= 77; + left= 1; + keys { + { <LEFT>, "NORM", 1 }, { <DOWN>, "NORM", 1 }, + { <RGHT>, "NORM", 1 } + }; + }; + }; // End of "Editing" section + + section "Keypad" { + key.color= "grey20"; + priority= 10; + top= 61; + left= 376; + width= 77; + height= 95; + row { + top= 1; + left= 1; + keys { + { <NMLK>, "NORM", 1 }, { <KPDV>, "NORM", 1 }, + { <KPMU>, "NORM", 1 }, { <KPSU>, "NORM", 1 } + }; + }; + row { + top= 20; + left= 1; + keys { + { <KP7>, "NORM", 1, color="white" }, + { <KP8>, "NORM", 1, color="white" }, + { <KP9>, "NORM", 1, color="white" }, + { <KPAD>, "KPAD", 1 } + }; + }; + row { + top= 39; + left= 1; + keys { + { <KP4>, "NORM", 1, color="white" }, + { <KP5>, "NORM", 1, color="white" }, + { <KP6>, "NORM", 1, color="white" } + }; + }; + row { + top= 58; + left= 1; + keys { + { <KP1>, "NORM", 1, color="white" }, + { <KP2>, "NORM", 1, color="white" }, + { <KP3>, "NORM", 1, color="white" }, + { <KPEN>, "KPAD", 1 } + }; + }; + row { + top= 77; + left= 1; + keys { + { <KP0>, "KP0", 1, color="white" }, + { <KPDL>, "NORM", 1, color="white" } + }; + }; + }; // End of "Keypad" section + + solid "LedPanel" { + top= 22; + left= 377; + priority= 0; + color= "grey10"; + shape= "LEDS"; + }; + indicator "Num Lock" { + top= 37; + left= 382; + priority= 1; + onColor= "green"; + offColor= "green30"; + shape= "LED"; + }; + indicator "Caps Lock" { + top= 37; + left= 407; + priority= 2; + onColor= "green"; + offColor= "green30"; + shape= "LED"; + }; + indicator "Scroll Lock" { + top= 37; + left= 433; + priority= 3; + onColor= "green"; + offColor= "green30"; + shape= "LED"; + }; + text "NumLockLabel" { + top= 25; + left= 378; + priority= 4; + width= 19.8; + height= 10; + XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; + text= "Num\nLock"; + }; + text "CapsLockLabel" { + top= 25; + left= 403; + priority= 5; + width= 26.4; + height= 10; + XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; + text= "Caps\nLock"; + }; + text "ScrollLockLabel" { + top= 25; + left= 428; + priority= 6; + width= 39.6; + height= 10; + XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"; + text= "Scroll\nLock"; + }; +}; + +}; diff --git a/.config/plasma-workspace/env/path.sh b/.config/plasma-workspace/env/path.sh new file mode 100644 index 00000000..8182e2b4 --- /dev/null +++ b/.config/plasma-workspace/env/path.sh @@ -0,0 +1 @@ +export PATH="$HOME/bin:$PATH" diff --git a/.goobookrc b/.goobookrc new file mode 100644 index 00000000..04444869 --- /dev/null +++ b/.goobookrc @@ -0,0 +1,20 @@ +# "#" or ";" at the start of a line makes it a comment. +[DEFAULT] +# The following are optional, defaults are shown + +# This file is written by the oauth library, and should be kept secure, +# it's like a password to your google contacts. +oauth_db_filename: ~/.goobook_auth.json + +# The client secret file is not really secret. +;client_secret_filename: ~/.goobook_client_secret.json + +;cache_filename: ~/.goobook_cache +;cache_expiry_hours: 24 +;filter_groupless_contacts: yes + +# New contacts will be added to this group in addition to "My Contacts" +# Note that the group has to already exist on google or an error will occur. +# One use for this is to add new contacts to an "Unsorted" group, which can +# be sorted easier than all of "My Contacts". +;default_group: diff --git a/.notmuch-config b/.notmuch-config new file mode 100644 index 00000000..d3899863 --- /dev/null +++ b/.notmuch-config @@ -0,0 +1,108 @@ +# .notmuch-config - Configuration file for the notmuch mail system +# +# For more information about notmuch, see https://notmuchmail.org + +# Database configuration +# +# The only value supported here is 'path' which should be the top-level +# directory where your mail currently exists and to where mail will be +# delivered in the future. Files should be individual email messages. +# Notmuch will store its database within a sub-directory of the path +# configured here named ".notmuch". +# +[database] +path=/home/baptiste/Mail + +# User configuration +# +# Here is where you can let notmuch know how you would like to be +# addressed. Valid settings are +# +# name Your full name. +# primary_email Your primary email address. +# other_email A list (separated by ';') of other email addresses +# at which you receive email. +# +# Notmuch will use the various email addresses configured here when +# formatting replies. It will avoid including your own addresses in the +# recipient list of replies, and will set the From address based on the +# address to which the original email was addressed. +# +[user] +name=Baptiste Grenier +primary_email=baptiste.grenier@egi.eu +other_email=baptiste@bapt.name;bgrenier@maatg.com;gwarf12@gmail.com;gwarf@gwarf.org;baptiste.grenier@healthgrid.org;baptiste.grenier@gmail.com;gwarf12@hotmail.com;bgrenier@maatg.fr;bgrenier@gnubila.fr + +# Configuration for "notmuch new" +# +# The following options are supported here: +# +# tags A list (separated by ';') of the tags that will be +# added to all messages incorporated by "notmuch new". +# +# ignore A list (separated by ';') of file and directory names +# that will not be searched for messages by "notmuch new". +# +# NOTE: *Every* file/directory that goes by one of those +# names will be ignored, independent of its depth/location +# in the mail store. +# +[new] +# For afew only set new (was inbox;unread) +tags=new +ignore= + +# Search configuration +# +# The following option is supported here: +# +# exclude_tags +# A ;-separated list of tags that will be excluded from +# search results by default. Using an excluded tag in a +# query will override that exclusion. +# +[search] +exclude_tags=deleted;spam;trash; + +# Maildir compatibility configuration +# +# The following option is supported here: +# +# synchronize_flags Valid values are true and false. +# +# If true, then the following maildir flags (in message filenames) +# will be synchronized with the corresponding notmuch tags: +# +# Flag Tag +# ---- ------- +# D draft +# F flagged +# P passed +# R replied +# S unread (added when 'S' flag is not present) +# +# The "notmuch new" command will notice flag changes in filenames +# and update tags, while the "notmuch tag" and "notmuch restore" +# commands will notice tag changes and update flags in filenames +# +[maildir] +synchronize_flags=true + +# Cryptography related configuration +# +# The following *deprecated* option is currently supported: +# +# gpg_path +# binary name or full path to invoke gpg. +# NOTE: In a future build, this option will be ignored. +# Setting $PATH is a better approach. +# +# [crypto] +# gpg_path=gpg + +# http://notmuchmail.org/vimtips/ +# <c-x><c-u> in a header field +# notmuch_abook lookup baptiste +[addressbook] +path=/home/baptiste/.notmuch-abook.db +backend=sqlite3 diff --git a/.pam_environment b/.pam_environment new file mode 100644 index 00000000..a76b047c --- /dev/null +++ b/.pam_environment @@ -0,0 +1,6 @@ +# +# This file is parsed by pam_env module +# +# Syntax: simple "KEY=VAL" pairs on separate lines +# +PATH DEFAULT="~/bin:${PATH}" diff --git a/Mail/.notmuch/hooks/notmuch-response b/Mail/.notmuch/hooks/notmuch-response new file mode 100755 index 00000000..564badec --- /dev/null +++ b/Mail/.notmuch/hooks/notmuch-response @@ -0,0 +1,122 @@ +#!/usr/bin/env python3 + +from subprocess import check_output, check_call, Popen, PIPE +from tempfile import NamedTemporaryFile +import sys +import json +import codecs +import sys + +try: + import ijson + HAS_IJSON = True +except ImportError: + HAS_IJSON = False + print("WARN: ijson not available. I may choke on big mailbox.", + file=sys.stderr) + +# basic functions + +def cmd_run(cmd): + print('Running (run): {}'.format(cmd)) + return check_call(cmd) + +def cmd_capture(cmd): + print('Running (capture): {}'.format(cmd)) + return check_output(cmd) + +def cmd_stream(cmd): + print('Running (stream): {}'.format(cmd)) + p = Popen(cmd, stdout = PIPE) + return p + +# reconstruct responses from thread info + +def traverse(msg, ms, parent = None): + assert len(msg) == 2 + head = msg[0] + head_id = head['id'] + if parent is not None: + ms.append((head_id, parent)) + children = msg[1] + for ch in children: + traverse(ch, ms, parent = head_id) + +def get_responses(obj): + ms = [] + for thread in obj: # over all threads + get_responses_from_thread(thread, ms) + return ms + +def get_responses_from_thread(thread, ms): + for top_message in thread: + traverse(top_message, ms, None) + +def get_replied_ids(query): + notmuch = [ 'notmuch', 'show', '--format=json', + '--entire-thread=true', '--body=false', query ] + out = cmd_stream(notmuch) + ms = [] + try: + reader = codecs.getreader('utf8') + reader = reader(out.stdout, errors = 'replace') + if HAS_IJSON: + threads = ijson.items(reader, 'item') + for thread in threads: + get_responses_from_thread(thread, ms) + else: + obj = json.load(reader) + ms = get_responses(obj) + finally: + pass + replied = set( x[1] for x in ms ) + return sorted(replied) + +# stuff to untag messages + +def untag_ids(ids): + with NamedTemporaryFile() as batch_file: + for i in ids: + line = '-noresponse +response -- id:{}\n'.format(i) + batch_file.write(line.encode('utf8')) + batch_file.flush() + notmuch = [ 'notmuch', 'tag', + '--batch', '--input={}'.format(batch_file.name) ] + cmd_run(notmuch) + +# high-level commands + +def index(query = None): + # indexes only the new mails + query = 'tag:new' if query is None else query + replied = get_replied_ids(query) + if len(replied) == 0: + print('Nothing to untag.') + else: + print('IDs to untag ({}): {}'.format(len(replied), ', '.join(replied))) + untag_ids(replied) + +def reindex(query = None): + # reindexes messages that much the query, it may take some time + # 1. tag everything with unreplied + query = '*' if query is None else query + cmd_run([ 'notmuch', 'tag', '+noresponse', '-response', query ]) + # 3. get all reply ids + replied = get_replied_ids(query) + print('Replies to untag: {}'.format(len(replied))) + # 4. untag these ids + untag_ids(replied) + +if __name__ == '__main__': + if len(sys.argv) not in [ 2, 3 ]: + print('Usage: {} <index|reindex> [query]'.format(sys.argv[0])) + sys.exit(1) + cmd = sys.argv[1] + query = None if len(sys.argv) == 2 else sys.argv[2] + if cmd == 'index': + index(query) + elif cmd == 'reindex': + reindex(query) + else: + print('Unknown command: {}'.format(cmd)) + sys.exit(1) diff --git a/Mail/.notmuch/hooks/post-new b/Mail/.notmuch/hooks/post-new new file mode 100755 index 00000000..b97029df --- /dev/null +++ b/Mail/.notmuch/hooks/post-new @@ -0,0 +1,44 @@ +#!/bin/sh + +set -eu + +afew --tag --new --verbose +#afew --move --new --verbose + +# Keep track of unresponded emails (to be able to ping people after some time) +# https://github.com/thinred/notmuch-response +##!/bin/bash +# +#set -eu +# +#here=$(dirname "$0") +#cd "${here}" +# +#if [ -f config ]; then +# source config +#fi +# +#FIRST=${FIRSTNAME:-YOURFIRSTNAME} +#LAST=${LASTNAME:-YOURLASTNAME} +# +#echo "I am ${FIRST} ${LAST}" +# +#FROM_FILTER="from:${FIRST} from:${LAST}" +#TO_FILTER="to:${FIRST} to:${LAST}" +# +## do some basic tagging here +# +## untag replied e-mails +#./notmuch-response index +# +## tag my e-mails with no response +#notmuch tag +noack -- tag:noresponse ${FROM_FILTER} +# +## tag e-mails to me with no response +#notmuch tag +backlog -- tag:noresponse ${TO_FILTER} +# +## untag everything that has response +#notmuch tag -noack -backlog -- tag:response +# +## clear new tag +#notmuch tag -new -- tag:new diff --git a/bin/setup_kinesis_keyboard b/bin/setup_kinesis_keyboard new file mode 100755 index 00000000..47e6e2d5 --- /dev/null +++ b/bin/setup_kinesis_keyboard @@ -0,0 +1,73 @@ +#!/bin/sh + +# Keyboard layout setting +# Ctrl+Alt+Backspace kills X +#setxkbmap us,gb -option 'compose:rctrl' -option 'terminate:ctrl_alt_bksp' -option 'grp:shift_shift_toggle' +# Checking: setxkbmap -query +# Cleaning: setxkbmap -option + +# caps:swapescape to have caps lock on escape +# setxkbmap us -option 'compose:rctrl' -option 'terminate:ctrl_alt_bksp,caps:escape' + +# For Kinesis keyboard +# lsusb +# Bus 001 Device 005: ID 05f3:0007 PI Engineering, Inc. Kinesis Advantage PRO MPC/USB Keyboar +# xinput +# setxkbmap -print -verbose 10 +# xinput list-props 10 G 'Device Node' +# udevadm info --query=property --name=/dev/input/event16 G 'VENDOR=' +# Integrated +# AT Translated Set 2 keyboard id=14 [slave keyboard (3)] +# Kinesis +# HID 05f3:0007 id=10 [slave keyboard (3)] +# HID 05f3:0007 id=11 [slave keyboard (3)] +# Use right windows as Compose key +# setxkbmap -device 10 us -option 'compose:rwin,terminate:ctrl_alt_bksp' + +# https://unix.stackexchange.com/questions/58117/determine-xinput-device-manufacturer-and-model +# https://www.charvolant.org/doug/xkb/html/index.html +# https://gist.github.com/zoqaeski/3880640 +# http://hack.org/mc/writings/xkb.html +# http://madduck.net/docs/extending-xkb/ +# http://linuxfr.org/users/mildred/journaux/remplacer-votre-xmodmap +# http://pascal.tsu.ru/en/xkb/ +# https://superuser.com/questions/760602/how-to-remap-keys-under-linux-for-a-specific-keyboard-only +# https://www.x.org/releases/current/doc/xorg-docs/input/XKB-Enhancing.html +# http://wiki.linuxquestions.org/wiki/List_of_Keysyms_Recognised_by_Xmodmap + +printf 'Setting up keyboard\n' + +# Load Kinesis modmap if keyboard is connected +if xinput list | grep -q '05f3:0007'; then + printf 'Found a Kinesis keyboard\n' + # XXX keep only the first value as kinesis have two devices... + remote_id=$( + xinput list \ | sed -n 's/.*05f3:0007.*id=\([0-9]*\).*keyboard.*/\1/p' \ + | head -1 + ) + if [ -z "$remote_id" -o -z "$DISPLAY" ]; then + printf "remote_id: $remote_id\n" + printf "DISPLAY: $DISPLAY\n" + # Fallback to Xmodmap + # printf "remote_id or DISPLAY are missing, fallback to Xmodmap\n" + # Xmodmap ~/.Xmodmap-kinesis + # Fallback to setxkbmap + printf "remote_id or DISPLAY are missing, fallback to setxkbmap\n" + setxkbmap us -option 'compose:rctrl' -option 'terminate:ctrl_alt_bksp,caps:escape' + else + + # https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg#Workaround + # setxkbmap -device $remote_id us -option 'compose:rwin,caps:escape,terminate:ctrl_alt_bksp' + # xkbcomp -xkb $DISPLAY ~/.config/i3/kinesis_custom.xkb + # Edit ~/.config/i3/kinesis_custom.xkb to map RCTL to Mod4 + # Setup a fallback for DISPLAY? + # DISPLAY=${DISPLAY:=0} + # XXX use synch? + # XXX remote_id seems to prevent using it + # xkbcomp -i $remote_id -w 0 ~/.config/i3/kinesis_custom.xkb $DISPLAY + printf "Loading ~/.config/i3/kinesis_custom.xkb on $DISPLAY\n" + xkbcomp -w 0 ~/.config/i3/kinesis_custom.xkb $DISPLAY + fi +else + printf 'No kinesis keybaord found\n' +fi From 5c351d785e8bbed2b5fb0966508f75218280ee84 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 16:45:00 +0200 Subject: [PATCH 0336/2080] Import herbstluftwm --- .config/herbstluftwm/autostart | 199 ++++++++++++++++++++++++++++++ bin/autostart.sh | 83 +++++++++++++ bin/lemonbar.sh | 215 +++++++++++++++++++++++++++++++++ 3 files changed, 497 insertions(+) create mode 100755 .config/herbstluftwm/autostart create mode 100755 bin/autostart.sh create mode 100755 bin/lemonbar.sh diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart new file mode 100755 index 00000000..1d848a11 --- /dev/null +++ b/.config/herbstluftwm/autostart @@ -0,0 +1,199 @@ +#!/usr/bin/env bash + +# this is a simple config for herbstluftwm + +hc() { + herbstclient "$@" +} + +hc emit_hook reload + +xsetroot -solid '#222222' +picom --shadow-opactiy 0.25 & + +# remove all existing keybindings +hc keyunbind --all + +# keybindings +# if you have a super key you will be much happier with Mod set to Mod4 +#Mod=Mod1 # Use alt as the main modifier +Mod=Mod4 # Use the super key as the main modifier + +hc keybind $Mod-Shift-q quit +hc keybind $Mod-Shift-r reload +hc keybind $Mod-Shift-c close +hc keybind $Mod-Return spawn "${TERMINAL:-kitty}" # use your $TERMINAL with xterm as fallback +hc keybind $Mod-m spawn rofi -show run + +# basic movement in tiling and floating mode +# focusing clients +hc keybind $Mod-Left focus left +hc keybind $Mod-Down focus down +hc keybind $Mod-Up focus up +hc keybind $Mod-Right focus right +hc keybind $Mod-h focus left +hc keybind $Mod-j focus down +hc keybind $Mod-k focus up +hc keybind $Mod-l focus right + +# moving clients in tiling and floating mode +hc keybind $Mod-Shift-Left shift left +hc keybind $Mod-Shift-Down shift down +hc keybind $Mod-Shift-Up shift up +hc keybind $Mod-Shift-Right shift right +hc keybind $Mod-Shift-h shift left +hc keybind $Mod-Shift-j shift down +hc keybind $Mod-Shift-k shift up +hc keybind $Mod-Shift-l shift right + +# splitting frames +# create an empty frame at the specified direction +hc keybind $Mod-u split bottom 0.5 +hc keybind $Mod-o split right 0.5 +# let the current frame explode into subframes +hc keybind $Mod-Control-space split explode + +# resizing frames and floating clients +resizestep=0.02 +hc keybind $Mod-Control-h resize left +$resizestep +hc keybind $Mod-Control-j resize down +$resizestep +hc keybind $Mod-Control-k resize up +$resizestep +hc keybind $Mod-Control-l resize right +$resizestep +hc keybind $Mod-Control-Left resize left +$resizestep +hc keybind $Mod-Control-Down resize down +$resizestep +hc keybind $Mod-Control-Up resize up +$resizestep +hc keybind $Mod-Control-Right resize right +$resizestep + +# tags +tag_names=( {1..9} ) +tag_keys=( {1..9} 0 ) + +hc rename default "${tag_names[0]}" || true +for i in "${!tag_names[@]}" ; do + hc add "${tag_names[$i]}" + key="${tag_keys[$i]}" + if ! [ -z "$key" ] ; then + hc keybind "$Mod-$key" use_index "$i" + hc keybind "$Mod-Shift-$key" move_index "$i" + fi +done + +# cycle through tags +hc keybind $Mod-period use_index +1 --skip-visible +hc keybind $Mod-comma use_index -1 --skip-visible + +# layouting +hc keybind $Mod-r remove +hc keybind $Mod-s floating toggle +hc keybind $Mod-f fullscreen toggle +hc keybind $Mod-Shift-f set_attr clients.focus.floating toggle +hc keybind $Mod-Shift-m set_attr clients.focus.minimized true +# restore all minimized windows of the focused tag +hc keybind $Mod-Ctrl-m foreach CLIENT clients. \ + sprintf MINATT "%c.minimized" CLIENT \ + sprintf TAGATT "%c.tag" CLIENT and \ + , compare MINATT "=" "true" \ + , substitute FOCUS "tags.focus.name" compare TAGATT "=" FOCUS \ + , set_attr MINATT false +hc keybind $Mod-p pseudotile toggle +# The following cycles through the available layouts within a frame, but skips +# layouts, if the layout change wouldn't affect the actual window positions. +# I.e. if there are two windows within a frame, the grid layout is skipped. +hc keybind $Mod-space \ + or , and . compare tags.focus.curframe_wcount = 2 \ + . cycle_layout +1 vertical horizontal max vertical grid \ + , cycle_layout +1 + +# mouse +hc mouseunbind --all +hc mousebind $Mod-Button1 move +hc mousebind $Mod-Button2 zoom +hc mousebind $Mod-Button3 resize + +# focus +hc keybind $Mod-BackSpace cycle_monitor +hc keybind $Mod-Tab cycle_all +1 +hc keybind $Mod-Shift-Tab cycle_all -1 +hc keybind $Mod-c cycle +hc keybind $Mod-i jumpto urgent + +# theme +hc attr theme.tiling.reset 1 +hc attr theme.floating.reset 1 + + +hc set frame_border_active_color '#222222' +hc set frame_border_normal_color '#101010' +hc set frame_border_width 0 +hc set always_show_frame 0 +hc set frame_bg_transparent 1 +hc set frame_transparent_width 0 +hc set frame_gap 4 +hc set focus_follows_mouse 1 + +hc attr theme.title_height 0 +hc attr theme.title_font 'JetBrains Mono:pixelsize=0' # example using Xft +# hc attr theme.title_font '-*-fixed-medium-r-*-*-13-*-*-*-*-*-*-*' +hc attr theme.padding_top 2 # space below the title's baseline (i.e. text depth) +hc attr theme.active.color '#d8dee9' +hc attr theme.normal.color '#5e81ac' +hc attr theme.urgent.color '#5e81ac' +hc attr theme.inner_width 0 +hc attr theme.inner_color '#4c566a' +hc attr theme.border_width 3 +hc attr theme.floating.border_width 0 +hc attr theme.floating.outer_width 0 +hc attr theme.floating.outer_color '#000000' +hc attr theme.active.inner_color '#434c5e' +hc attr theme.active.outer_color '#2e3440' +hc attr theme.background_color '#2e3440' + +#Floating +hc attr theme.floating.padding_top 20 + +hc set window_gap 4 +hc set frame_padding 4 +hc set smart_window_surroundings off +hc set smart_frame_surroundings off +hc set mouse_recenter_gap 0 + +# rules +hc unrule -F +#hc rule class=XTerm tag=3 # move all xterms to tag 3 +hc rule focus=on # normally focus new clients +hc rule floatplacement=smaront +#hc rule focus=off # normally do not focus new clients +# give focus to most common terminals +#hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on +hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' floating=on +hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on +hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off + +hc set tree_style '╾│ ├└╼─┐' + +# unlock, just to be sure +hc unlock + +# do multi monitor setup here, e.g.: +# hc set_monitors 1280x1024+0+0 1280x1024+1280+0 +# or simply: +hc detect_monitors + +hc set tree_style '╾│ ├└╼─┐' + +#lemonbar.sh | lemonbar -n bar -B \#2e3440 -F \#d8dee9 -f 'JetBrains Mono:size=10.8' -f 'Caskaydia Cove Nerd Font:size=10.8' -p | sh & +#lemonbar.sh | lemonbar -n bar -B \#2e3440 -F \#d8dee9 -f 'SF Mono:size=10.8' -f 'JetBrains Mono:style=Italic:size=10.8' -f 'Victor Mono:style=SemiBold Italic:size=10.8' -f 'Noto Sans JP:size=10.8' -f 'mplus Nerd Font:style=Italic:size=10.8' -p -g 1920x30+0+0 | sh & +~/bin/lemonbar.sh | lemonbar -n bar -B \#2e3440 -F \#d8dee9 -f 'Font Awesome 5 Free' -f 'Font Awesome 5 Brands' -f 'Font Awesome 5 Free Solid' -f 'Caskaydia Cove Nerd Font' -p | sh & + +# find the panel +# panel=~/.config/herbstluftwm/panel.sh +# [ -x "$panel" ] || panel=/etc/xdg/herbstluftwm/panel.sh +# for monitor in $(hc list_monitors | cut -d: -f1) ; do +# # start it on each monitor +# "$panel" "$monitor" & +# done + +# Autostart applications +[ -x ~/bin/autostart.sh ] && ~/bin/autostart.sh +# XXX this seems necessary as load from .xinitrc seems uneffective +[ -r ~/.Xmodmap ] && xmodmap ~/.Xmodmap diff --git a/bin/autostart.sh b/bin/autostart.sh new file mode 100755 index 00000000..9e12d1aa --- /dev/null +++ b/bin/autostart.sh @@ -0,0 +1,83 @@ +#!/bin/sh + +# Run a program only once +# +# run_once $program, $program_arguments, $process_name +run_once() { + program="$1" + program_arguments="$2" + process_name="$3" + + [ -z "$process_name" ] && process_name="$program" + + if [ -z "$program_arguments" ]; then + pgrep -f -u $USER -x "$process_name" || ( "$program" & ) + else + pgrep -f -u $USER -x "$process_name" || ( "$program" "$program_arguments" & ) + fi +} + +## OSD +run_once dunst + +# Wallpapers +#run_once nitrogen "--restore" + +# Disable offlineimap while testing a user systemd service + timer +# pkill offlineimap || sleep 3 && offlineimap & +#&& offlineimap-notify &> /tmp/offlineimap-log + +# Pulse audio +# pkill pulseaudio; sleep 3 && pulseaudio --start -D +# pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo '60%' & +# run_once pasystray +#exec --no-startup-id volti # starting volume control +#exec --no-startup-id pa-applet + +# MPD +# run_once mpd +# run_once mpdscribble + +# NetworkManager +# run_once nm-applet + +# Clipboard manager +# anamnesis, clipman, copyq, gpaste could be alternatives +# run_once clipit + +# Start urxvt daemon +#urxvtd -q -f -o & urxvtdpid=$! +#urxvtd -f -o + +# Misc +run_once kitty +run_once firefox +run_once redshift +run_once redshift-gtk +run_once rofi "-key mod1+tab -terminal kitty" + +# Disabled +# run_once revelation \ +# ~/repos/perso/gwarf/private/revelation/keyring-perso \ +# "/usr/bin/python.*/bin/revelation.*/keyring-perso" +# run_once revelation \ +# ~/repos/perso/gwarf/private/revelation/keyring-maatg \ +# "/usr/bin/python.*/bin/revelation.*/keyring-maatg" +#run_once JDownloader +#run_once workrave +#run_once chromium +#run_once deluge +#stalonetray & +#tomboy & +#alunn & +#workrave & +#nvidia-settings --load-config-only & +#run_once syncthing-gtk +#run_once owncloud +#run_once flow +#un_once kontaminuti +#exec --no-startup-id udiskie +#/usr/libexec/gnome-settings-daemon & +#gnome-volume-manager & +#x11vnc -ncache 10 -many -q -bg -rfbauth .vnc/passwd + diff --git a/bin/lemonbar.sh b/bin/lemonbar.sh new file mode 100755 index 00000000..c5394e59 --- /dev/null +++ b/bin/lemonbar.sh @@ -0,0 +1,215 @@ +#!/bin/bash +# Script for lemonbar on herbstluftwm +# Updates using herbstclient rather than looping to make it more efficient. Can be manually refreshed on demand by sending signal 10 (pkill -10 herbbar), or by using herbstluftwm emit hooks: `herbstclient emit_hook UPDATE_PANEL` +if [ -z "$1" ]; then + lockf="${XDG_RUNTIME_DIR}/herbbar.lock" + fifo=${XDG_RUNTIME_DIR:-/tmp}/herb-bar.fifo + test -e "$fifo" && rm "$fifo" + mkfifo "$fifo" + monitor=0 +else + lockf="${XDG_RUNTIME_DIR}/herbbar1.lock" + fifo=${XDG_RUNTIME_DIR:-/tmp}/herb-bar2.fifo + test -e "$fifo" && rm "$fifo" + mkfifo "$fifo" + monitor=1 +fi +trap 'update' 10 # allows user to instantaneously update the bar + +trap "pkill lemonbar; kill $(jobs -p); rm -r $fifo; rm -r $lockf" EXIT # Cleanly exit + +fgb='%{F#88c0d0}' +fgn='%{F-}' +fga='%{F#8fbcbb}' +bgf='%{B#81a1c1}' +clock='\uf017' +# Date +check_date() { + while :; do + echo -e "DAT$(date "+%a, %b %d ${fgb}${fgn} %I:%M %p")" > "$fifo" + sleep 1 & + wait + done & +} +# Network +check_net() { + while :; do + netp="" + con_up="$(nmcli --terse --fields NAME,TYPE,DEVICE con show --active | grep -v 'virbr0')" + if [[ "$con_up" =~ .*ethernet.* ]]; then + net="$(echo "$con_up" | grep 'ethernet' | awk -F: '{print $1}')" + netp="" + fi + if [[ "$con_up" =~ .*wireless.* ]]; then + net="$(echo "$con_up" | grep 'wireless' | awk -F: '{print $1}')" + netp="${netp} " + fi + if [[ ! "$con_up" =~ .*ethernet.* && ! "$con_up" =~ .*wireless.* ]]; then + net="Airplane mode" + netp="" + fi + + if [[ "$con_up" =~ .*tun.* || "$con_up" =~ .*vpn.* ]]; then + echo "VPN${fga}" > "$fifo" + else + echo "VPN " + fi + + echo "NET${fgb}$netp %{T3}${fgn}$net%{T2}" > "$fifo" + sleep 60 & + wait + done & +} +# Battery +check_bat() { + while :; do + bat="$(awk '{print $1}' /sys/class/power_supply/BAT*/capacity)" + bat_state="$(cat /sys/class/power_supply/BAT1/status)" + if [ "$bat" -lt 20 ]; then + bati="" + elif [ "$bat" -ge "20" ] && [ "$bat" -lt "40" ]; then + bati="" + elif [ "$bat" -ge "40" ] && [ "$bat" -lt "60" ]; then + bati="" + elif [ "$bat" -ge "60" ] && [ "$bat" -lt "90" ]; then + bati="" + elif [ "$bat" -gt "90" ]; then + bati="" + fi + case "$bat_state" in + Charging) + bat="%{T3}$bat%+%{T2}" + bati="" + ;; + *) + bat="%{T3}${bat}% %{T2}" + ;; + esac + echo "BAT${fgb}$bati ${fgn}$bat" > "$fifo" + sleep 120 & + wait + done & +} +# Volume +check_vol() { + while :; do + vol="$(pacmd list-sinks | grep -A 15 '* index'| awk '/volume: front/{ print $5 }' | sed 's/%//g')" + + if [ "$vol" -ge "0" ] && [ "$vol" -lt "30" ]; then + voli="" + elif [ "$vol" -ge "30" ] && [ "$vol" -lt "60" ]; then + voli="奔" + elif [ "$vol" -ge "60" ] && [ "$vol" -lt "90" ]; then + voli="墳" + elif [ "$vol" -ge "90" ] && [ "$vol" -le "100" ]; then + voli="墳" + else + voli="墳" + fi + + echo "VOL${fgb}$voli %{T3}${fgn}${vol}%%%{T2}" > "$fifo" + sleep 20 & + wait + done & +} +# Cmus +check_mus() { + # no while loop, refresh the bar with pkill whenever you launch cmus + while :; do + if pgrep -x "cmus" >/dev/null 2>&1; then + title="$(cmus-remote -Q | grep "tag title " | sed "s/tag title //")" + album="$(cmus-remote -Q | grep "tag album " | sed "s/tag album //")" + artist="$(cmus-remote -Q | grep "tag artist " | sed "s/tag artist //")" + echo "MUS${fgb} ~ ${fgn}$album${fgb} | $title ${fgn}" > $fifo & + else + echo "MUS${fgb} ~ " > $fifo & + + fi + sleep 5 & + wait + done & + +} +rami="$(echo '\uf85a')" +memory() { + while :; do + ram="$(free -m | awk 'NR==2{printf "%s/%sMB\n", $3,$2,$3*100/$2 }')" + echo "RAM${fgb} ${fgn}${ram} " > "$fifo" & + sleep 5 & + wait + done & +} + +check_tag() { + if [ "$monitor" == "0" ]; then + tags_list=( $(herbstclient tag_status 0) ) + else + tags_list=( $(herbstclient tag_status 1) ) + fi + tags="" + for t in "${tags_list[@]}"; do + if [[ "$t" == \#* ]]; then + tags="${tags}$bgf%{U#60584f}%{+u} ${t#?} %{B-}%{-u}" + elif [[ "$t" == +* ]]; then + tags="${tags}%{U#60584f}%{+u} ${t#?} %{B-}%{-u}" + elif [[ "$t" == :* || "$t" == -* || "$t" == %* ]]; then + tags="${tags} ${t#?} " + fi + done + echo "DE$tags" > $fifo & +} + +check_wm() { + while read -r line; do + case $line in + tag_changed*) + check_tag ;; + tag_flags) + check_tag + check_mus ;; + focus_changed*) + #check_hidden ;; + ;; + UPDATE_PANEL) + update ;; + esac + done < <(herbstclient -i) & +} + +parse_fifo() { + while read -r line; do + case $line in + DAT*) + date="${line#???}" ;; + DES*) + desktop="${line#???}" ;; + NET*) + network="${line#???}" ;; + VPN*) + vpnname="${line#???}" ;; + VOL*) + volume="${line#???}" ;; + BAT*) + battery="${line#???}" ;; + MUS*) + music="${line#???}" ;; + RAM*) + memory="${line#???}" ;; + UPD*) + update ;; + *) ;; + esac + echo "%{T-}%{l}%{O1}%{T2}%{B-}%{O20}${music} %{c}%{T3}${fgn}${date} %{r}${memory} ${volume} ${network} ${battery}" + done < <(tail -f "$fifo") +} + +update() { + check_tag + check_wm + check_date + check_vol + memory +} + +update +parse_fifo From a6530be99e10a7b8fbbd142b753a698675c49abf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 1 May 2021 16:45:28 +0200 Subject: [PATCH 0337/2080] zsh: update terminal --- .zshrc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.zshrc b/.zshrc index 1795f9d1..edef00e5 100644 --- a/.zshrc +++ b/.zshrc @@ -424,6 +424,11 @@ bindkey 's' insert-sudo # Misc +# Preferred terminal +if (( $+commands[kitty] )); then + export TERMINAL='kitty' +fi + # Preferred editor for local and remote sessions if (( $+commands[nvim] )); then export EDITOR='nvim' From 03002578473eb0d0d93f4a0b6f2fdc53484a9cf1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 4 May 2021 20:50:18 +0200 Subject: [PATCH 0338/2080] Update herbstluftm conf --- .config/herbstluftwm/autostart | 261 +++-- .config/herbstluftwm/compton.conf | 228 ++++ .config/herbstluftwm/fantasy-landscape2.jpg | Bin 0 -> 426923 bytes .config/polybar/config | 1173 +++++++++++++------ .config/polybar/config2 | 312 +++++ .config/polybar/launch.sh | 14 + .config/redshift/redshift.conf | 26 + .fehbg | 2 + bin/autostart.sh | 5 +- 9 files changed, 1580 insertions(+), 441 deletions(-) create mode 100644 .config/herbstluftwm/compton.conf create mode 100644 .config/herbstluftwm/fantasy-landscape2.jpg create mode 100644 .config/polybar/config2 create mode 100755 .config/polybar/launch.sh create mode 100644 .config/redshift/redshift.conf create mode 100755 .fehbg diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index 1d848a11..5269de10 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -1,31 +1,84 @@ #!/usr/bin/env bash -# this is a simple config for herbstluftwm +function run { + if ! pgrep $1 ; + then + $@& + fi +} + +#change your keyboard if you need it +#setxkbmap -layout be + +# Autostart applications +pkill -u $USER '^compton$' +compton --config $HOME/.config/herbstluftwm/compton.conf & +# /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & +xsetroot -solid '#000000' +xsetroot -cursor_name left_ptr & + +#keybindings are in config of sxhkd - interchangeable with other TWM +# run sxhkd -c $HOME/.config/herbstluftwm/sxhkd/sxhkdrc & +# wal -nRa 90 & +# feh --bg-scale ~/.config/herbstluftwm/wall.png & +$HOME/.fehbg & +run conky -c $HOME/.conkyrc & +# run mpd & +#run variety & +# run nm-applet & +#pamac-tray & +# xinput set-prop 13 302 1 & +# run redshift-gtk +# run syncthing-gtk -m & +#xfce4-power-manager & +# run dunst & +# numlockx on & +# run blueberry-tray & +#xfsettingsd & +# nitrogen --restore & +# caffeine & +# vivaldi-stable & +# firefox & +# thunar & +# dropbox & +# run insync start & +# discord & +# spotify & +# atom & + +#herbstluftwm start hc() { - herbstclient "$@" + herbstclient "$@" } hc emit_hook reload -xsetroot -solid '#222222' -picom --shadow-opactiy 0.25 & +# KEYBINDINGS # remove all existing keybindings hc keyunbind --all -# keybindings # if you have a super key you will be much happier with Mod set to Mod4 -#Mod=Mod1 # Use alt as the main modifier +#Mod=Mod1 # Use alt as the main modifier Mod=Mod4 # Use the super key as the main modifier -hc keybind $Mod-Shift-q quit +hc keybind $Mod-Shift-x quit hc keybind $Mod-Shift-r reload -hc keybind $Mod-Shift-c close +hc keybind $Mod-Shift-q close +hc keybind $Mod-q close + hc keybind $Mod-Return spawn "${TERMINAL:-kitty}" # use your $TERMINAL with xterm as fallback hc keybind $Mod-m spawn rofi -show run -# basic movement in tiling and floating mode +#Most of the keybindings have been set in sxhkd config file +#you can set them also here + +#reload sxhkd: +# hc keybind $Mod-Shift-s pkill -USR1 -x sxhkd + +# MOVEMENTS + # focusing clients hc keybind $Mod-Left focus left hc keybind $Mod-Down focus down @@ -36,7 +89,7 @@ hc keybind $Mod-j focus down hc keybind $Mod-k focus up hc keybind $Mod-l focus right -# moving clients in tiling and floating mode +# moving clients to ... on single Monitor hc keybind $Mod-Shift-Left shift left hc keybind $Mod-Shift-Down shift down hc keybind $Mod-Shift-Up shift up @@ -46,15 +99,28 @@ hc keybind $Mod-Shift-j shift down hc keybind $Mod-Shift-k shift up hc keybind $Mod-Shift-l shift right -# splitting frames +# moving clients to ... on dual monitor +# hc keybind $Mod-Shift-h chain , lock , shift_to_monitor -l , focus_monitor -l , unlock +# hc keybind $Mod-Shift-Left chain , lock , shift_to_monitor -l , focus_monitor -l , unlock +# hc keybind $Mod-Shift-j chain , lock , shift_to_monitor -l , focus_monitor -l , unlock +# hc keybind $Mod-Shift-Down chain , lock , shift_to_monitor -l , focus_monitor -l , unlock +# hc keybind $Mod-Shift-k chain , lock , shift_to_monitor -r , focus_monitor -r , unlock +# hc keybind $Mod-Shift-Up chain , lock , shift_to_monitor -r , focus_monitor -r , unlock +# hc keybind $Mod-Shift-l chain , lock , shift_to_monitor -r , focus_monitor -r , unlock +# hc keybind $Mod-Shift-Right chain , lock , shift_to_monitor -r , focus_monitor -r , unlock + +# FRAMES + # create an empty frame at the specified direction hc keybind $Mod-u split bottom 0.5 hc keybind $Mod-o split right 0.5 # let the current frame explode into subframes hc keybind $Mod-Control-space split explode +# remove frame +hc keybind $Mod-r remove -# resizing frames and floating clients -resizestep=0.02 +# resizing frames +resizestep=0.05 hc keybind $Mod-Control-h resize left +$resizestep hc keybind $Mod-Control-j resize down +$resizestep hc keybind $Mod-Control-k resize up +$resizestep @@ -64,44 +130,48 @@ hc keybind $Mod-Control-Down resize down +$resizestep hc keybind $Mod-Control-Up resize up +$resizestep hc keybind $Mod-Control-Right resize right +$resizestep -# tags -tag_names=( {1..9} ) -tag_keys=( {1..9} 0 ) +# TAGS or WORKSPACES + +#names to display in menu +tag_names=( {1..10} ) +#tag_names=("www" "text" "gimp" "meld" "vlc" "mail" "vb" "image" "code" "chat") +#tag_names=("I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X") +#tag_names=("1" "2" "3" "4" "5" "6" "7" "8" "9" "10") + +#keys to press to get to the tags +#Qwerty +#tag_keys=( {1..10} 0 ) +tag_keys=( "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" ) + +#Belgian azerty +#tag_keys=( ampersand eacute quotedbl apostrophe parenleft section egrave exclam ccedilla agrave ) + +#French azerty +#tag_keys=( ampersand eacute quotedbl apostrophe parenleft minus egrave underscore ccedilla agrave ) hc rename default "${tag_names[0]}" || true -for i in "${!tag_names[@]}" ; do +for i in ${!tag_names[@]} ; do hc add "${tag_names[$i]}" + # horizontal tiling as standard + hc set_layout horizontal + hc set default_frame_layout 1 key="${tag_keys[$i]}" if ! [ -z "$key" ] ; then hc keybind "$Mod-$key" use_index "$i" - hc keybind "$Mod-Shift-$key" move_index "$i" + hc keybind "$Mod-Shift-$key" chain , move_index "$i" , use_index "$i" fi done -# cycle through tags -hc keybind $Mod-period use_index +1 --skip-visible -hc keybind $Mod-comma use_index -1 --skip-visible - # layouting -hc keybind $Mod-r remove hc keybind $Mod-s floating toggle hc keybind $Mod-f fullscreen toggle -hc keybind $Mod-Shift-f set_attr clients.focus.floating toggle -hc keybind $Mod-Shift-m set_attr clients.focus.minimized true -# restore all minimized windows of the focused tag -hc keybind $Mod-Ctrl-m foreach CLIENT clients. \ - sprintf MINATT "%c.minimized" CLIENT \ - sprintf TAGATT "%c.tag" CLIENT and \ - , compare MINATT "=" "true" \ - , substitute FOCUS "tags.focus.name" compare TAGATT "=" FOCUS \ - , set_attr MINATT false hc keybind $Mod-p pseudotile toggle # The following cycles through the available layouts within a frame, but skips # layouts, if the layout change wouldn't affect the actual window positions. # I.e. if there are two windows within a frame, the grid layout is skipped. hc keybind $Mod-space \ or , and . compare tags.focus.curframe_wcount = 2 \ - . cycle_layout +1 vertical horizontal max vertical grid \ + . cycle_layout +1 vertical horizontal max grid \ , cycle_layout +1 # mouse @@ -110,88 +180,93 @@ hc mousebind $Mod-Button1 move hc mousebind $Mod-Button2 zoom hc mousebind $Mod-Button3 resize -# focus +# focus on ... hc keybind $Mod-BackSpace cycle_monitor -hc keybind $Mod-Tab cycle_all +1 -hc keybind $Mod-Shift-Tab cycle_all -1 -hc keybind $Mod-c cycle +hc keybind $Mod-Tab use_index +1 --skip-visible +hc keybind $Mod-Shift-Tab use_index -1 --skip-visible +hc keybind Control-Mod1-Left focus left +hc keybind Control-Mod1-Up focus up +hc keybind Control-Mod1-Right focus right +hc keybind Control-Mod1-Down focus down +hc keybind Mod1-Tab use_index +1 --skip-visible +hc keybind Mod1-Shift-Tab use_index -1 --skip-visible +#hc keybind $Mod-c cycle hc keybind $Mod-i jumpto urgent -# theme -hc attr theme.tiling.reset 1 -hc attr theme.floating.reset 1 +#reset prior to setting the theme +hc attr theme.reset 1 +# Attribute +hc attr theme.active.color '#FFFFFF' +hc attr theme.active.inner_color '#4c566a' +hc attr theme.active.outer_color '#FFFFFF' +hc attr theme.background_color '#4c566a' +hc attr theme.border_width 5 +hc attr theme.floating.border_width 5 +hc attr theme.floating.outer_width 1 +hc attr theme.floating.outer_color black +hc attr theme.inner_color black +hc attr theme.inner_width 1 +hc attr theme.normal.color '#4c566a' +hc attr theme.urgent.color orange -hc set frame_border_active_color '#222222' -hc set frame_border_normal_color '#101010' -hc set frame_border_width 0 -hc set always_show_frame 0 +# Set +hc set always_show_frame 1 +hc set focus_follows_mouse 1 +hc set frame_border_active_color '#ffffff' +hc set frame_border_normal_color '#4c566a' +hc set frame_bg_normal_color '#4c566a' +hc set frame_bg_active_color '#ffffff' +hc set frame_border_width 5 hc set frame_bg_transparent 1 hc set frame_transparent_width 0 -hc set frame_gap 4 -hc set focus_follows_mouse 1 - -hc attr theme.title_height 0 -hc attr theme.title_font 'JetBrains Mono:pixelsize=0' # example using Xft -# hc attr theme.title_font '-*-fixed-medium-r-*-*-13-*-*-*-*-*-*-*' -hc attr theme.padding_top 2 # space below the title's baseline (i.e. text depth) -hc attr theme.active.color '#d8dee9' -hc attr theme.normal.color '#5e81ac' -hc attr theme.urgent.color '#5e81ac' -hc attr theme.inner_width 0 -hc attr theme.inner_color '#4c566a' -hc attr theme.border_width 3 -hc attr theme.floating.border_width 0 -hc attr theme.floating.outer_width 0 -hc attr theme.floating.outer_color '#000000' -hc attr theme.active.inner_color '#434c5e' -hc attr theme.active.outer_color '#2e3440' -hc attr theme.background_color '#2e3440' - -#Floating -hc attr theme.floating.padding_top 20 - -hc set window_gap 4 -hc set frame_padding 4 -hc set smart_window_surroundings off -hc set smart_frame_surroundings off +hc set frame_gap 8 +hc set frame_padding 0 hc set mouse_recenter_gap 0 +hc set smart_frame_surroundings 1 +hc set smart_window_surroundings 0 +hc set tree_style '╾│ ├└╼─┐' +hc set window_gap 10 -# rules +# RULES hc unrule -F -#hc rule class=XTerm tag=3 # move all xterms to tag 3 hc rule focus=on # normally focus new clients -hc rule floatplacement=smaront #hc rule focus=off # normally do not focus new clients + +#assign applications to workspaces or tags +hc rule class~'(firefox|Vivaldi-stable|Vivaldi-snapshot|Chromium|Google-chrome)' tag=1 focus=on +hc rule class~'(Subl3|code-oss)' tag=2 focus=on +hc rule class=Gimp tag=5 +hc rule class=krita tag=5 +# hc rule class~'(Meld|ristretto|Nitrogen)' tag=5 +hc rule class=vlc tag=4 focus=on +hc rule class=qBittorrent tag=7 focus=on +hc rule class=discord tag=9 focus=on +hc rule class=TelegramDesktop tag=9 focus=on +# hc rule class~'(VirtualBox Manager|Vmplayer)' tag=7 +# hc rule class~'(Thunar|Nemo|Caja|Nautilus)' tag=8 +# hc rule class~'(Evolution|Geary)' tag=9 +# hc rule class=Spotify tag=10 + # give focus to most common terminals -#hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on -hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' floating=on +#hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on pseudotile=on +hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off - -hc set tree_style '╾│ ├└╼─┐' +hc rule class=Oblogout fullscreen=on +hc rule class=Insync pseudotile=on +hc rule class=VirtualBox fullscreen=on # unlock, just to be sure hc unlock -# do multi monitor setup here, e.g.: -# hc set_monitors 1280x1024+0+0 1280x1024+1280+0 -# or simply: hc detect_monitors -hc set tree_style '╾│ ├└╼─┐' +# single polybar at top +hc pad 0 40 -#lemonbar.sh | lemonbar -n bar -B \#2e3440 -F \#d8dee9 -f 'JetBrains Mono:size=10.8' -f 'Caskaydia Cove Nerd Font:size=10.8' -p | sh & -#lemonbar.sh | lemonbar -n bar -B \#2e3440 -F \#d8dee9 -f 'SF Mono:size=10.8' -f 'JetBrains Mono:style=Italic:size=10.8' -f 'Victor Mono:style=SemiBold Italic:size=10.8' -f 'Noto Sans JP:size=10.8' -f 'mplus Nerd Font:style=Italic:size=10.8' -p -g 1920x30+0+0 | sh & -~/bin/lemonbar.sh | lemonbar -n bar -B \#2e3440 -F \#d8dee9 -f 'Font Awesome 5 Free' -f 'Font Awesome 5 Brands' -f 'Font Awesome 5 Free Solid' -f 'Caskaydia Cove Nerd Font' -p | sh & - -# find the panel -# panel=~/.config/herbstluftwm/panel.sh -# [ -x "$panel" ] || panel=/etc/xdg/herbstluftwm/panel.sh -# for monitor in $(hc list_monitors | cut -d: -f1) ; do -# # start it on each monitor -# "$panel" "$monitor" & -# done +# Launch polybar +[ -x ~/.config/polybar/launch.sh ] && ~/.config/polybar/launch.sh # Autostart applications [ -x ~/bin/autostart.sh ] && ~/bin/autostart.sh diff --git a/.config/herbstluftwm/compton.conf b/.config/herbstluftwm/compton.conf new file mode 100644 index 00000000..0b8ab1fd --- /dev/null +++ b/.config/herbstluftwm/compton.conf @@ -0,0 +1,228 @@ +# Thank you code_nomad: http://9m.no/ꪯ鵞 +# and Arch Wiki contributors: https://wiki.archlinux.org/index.php/Compton + +################################# +# +# Backend +# +################################# + +# Backend to use: "xrender" or "glx". +# GLX backend is typically much faster but depends on a sane driver. +# backend = "glx"; +backend = "xrender" + +################################# +# +# GLX backend +# +################################# + +glx-no-stencil = true; + +# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all. +# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified, +# but a 20% increase when only 1/4 is. +# My tests on nouveau show terrible slowdown. +glx-copy-from-front = false; + +# GLX backend: Use MESA_copy_sub_buffer to do partial screen update. +# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated. +# May break VSync and is not available on some drivers. +# Overrides --glx-copy-from-front. +# glx-use-copysubbuffermesa = true; + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe). +# Recommended if it works. +# glx-no-rebind-pixmap = true; + +# GLX backend: GLX buffer swap method we assume. +# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1). +# undefined is the slowest and the safest, and the default value. +# copy is fastest, but may fail on some drivers, +# 2-6 are gradually slower but safer (6 is still faster than 0). +# Usually, double buffer means 2, triple buffer means 3. +# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers. +# Useless with --glx-use-copysubbuffermesa. +# Partially breaks --resize-damage. +# Defaults to undefined. +#glx-swap-method = "undefined"; + +################################# +# +# Shadows +# +################################# + +# Enabled client-side shadows on windows. +shadow = true; +# The blur radius for shadows. (default 12) +shadow-radius = 12; +# The left offset for shadows. (default -15) +shadow-offset-x = -5; +# The top offset for shadows. (default -15) +shadow-offset-y = -5; +# The translucency for shadows. (default .75) +shadow-opacity = 0.6; +opacity-rule = [ "90:class_g = 'Rofi'", "90:class_g = 'URxvt'", "90:class_g = 'Polybar'" ]; +log-level = "warn"; +#change your username here +#log-file = "/home/erik/.config/compton.log"; + +# Set if you want different colour shadows +# shadow-red = 0.0; +# shadow-green = 0.0; +# shadow-blue = 0.0; + +# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches +# (most applications are fine, only apps that do weird things with xshapes or argb are affected). +# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher. +shadow-exclude = [ + "! name~=''", + "name = 'Notification'", + "name = 'Plank'", + "name = 'Docky'", + "name = 'Kupfer'", + "name = 'xfce4-notifyd'", + "name *= 'VLC'", + "name *= 'compton'", + "name *= 'Chromium'", + "name *= 'Chrome'", + "class_g = 'Firefox' && argb", + "class_g = 'Conky'", + "class_g = 'Kupfer'", + "class_g = 'Synapse'", + "class_g ?= 'Notify-osd'", + "class_g ?= 'Cairo-dock'", + "class_g = 'Cairo-clock'", + "class_g ?= 'Xfce4-notifyd'", + "class_g ?= 'Xfce4-power-manager'", + "_GTK_FRAME_EXTENTS@:c", + "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" +]; +# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners) +shadow-ignore-shaped = false; + +################################# +# +# Opacity +# +################################# + +inactive-opacity = 1; +active-opacity = 1; +frame-opacity = 1; +inactive-opacity-override = false; + +# Dim inactive windows. (0.0 - 1.0) +# inactive-dim = 0.2; +# Do not let dimness adjust based on window opacity. +# inactive-dim-fixed = true; +# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred. +# blur-background = true; +# Blur background of opaque windows with transparent frames as well. +# blur-background-frame = true; +# Do not let blur radius adjust based on window opacity. +blur-background-fixed = false; +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'", + "_GTK_FRAME_EXTENTS@:c" +]; + +################################# +# +# Fading +# +################################# + +# Fade windows during opacity changes. +fading = false; +# The time between steps in a fade in milliseconds. (default 10). +fade-delta = 4; +# Opacity change between steps while fading in. (default 0.028). +fade-in-step = 0.03; +# Opacity change between steps while fading out. (default 0.03). +fade-out-step = 0.03; +# Fade windows in/out when opening/closing +# no-fading-openclose = true; + +# Specify a list of conditions of windows that should not be faded. +fade-exclude = [ ]; + +################################# +# +# Other +# +################################# + +# Try to detect WM windows and mark them as active. +mark-wmwin-focused = true; +# Mark all non-WM but override-redirect windows active (e.g. menus). +mark-ovredir-focused = true; +# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events. +# Usually more reliable but depends on a EWMH-compliant WM. +use-ewmh-active-win = true; +# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on. +detect-rounded-corners = true; + +# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows. +# This prevents opacity being ignored for some apps. +# For example without this enabled my xfce4-notifyd is 100% opacity no matter what. +detect-client-opacity = true; + +# Specify refresh rate of the screen. +# If not specified or 0, compton will try detecting this with X RandR extension. +refresh-rate = 0; + +# Vertical synchronization: match the refresh rate of the monitor +# this breaks transparency in virtualbox - put a "#" before next line to fix that +vsync = true; + +# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing. +# Reported to have no effect, though. +dbe = false; + +# Limit compton to repaint at most once every 1 / refresh_rate second to boost performance. +# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already, +# unless you wish to specify a lower refresh rate than the actual value. +#sw-opti = true; + +# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games. +# Known to cause flickering when redirecting/unredirecting windows. +unredir-if-possible = false; + +# Specify a list of conditions of windows that should always be considered focused. +focus-exclude = [ ]; + +# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time. +detect-transient = true; +# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time. +# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too. +detect-client-leader = true; + +################################# +# +# Window type settings +# +################################# + +wintypes: +{ + tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true;}; + dock = { shadow = false; } + dnd = { shadow = false; } + popup_menu = { opacity = 0.9; } + dropdown_menu = { opacity = 0.9; } +}; + +###################### +# +# XSync +# See: https://github.com/yshui/compton/commit/b18d46bcbdc35a3b5620d817dd46fbc76485c20d +# +###################### + +# Use X Sync fence to sync clients' draw calls. Needed on nvidia-drivers with GLX backend for some users. +xrender-sync-fence = true; diff --git a/.config/herbstluftwm/fantasy-landscape2.jpg b/.config/herbstluftwm/fantasy-landscape2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..417fd494207150516e4d50644f67ada86edb4d7e GIT binary patch literal 426923 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�tR0avj5Yo3~!+g;-} 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%0D5fo`_P6>J2XmLdj_! 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�t| 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%0Du0bQ|^pC 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 literal 0 HcmV?d00001 diff --git a/.config/polybar/config b/.config/polybar/config index 53b0c445..c95692b4 100644 --- a/.config/polybar/config +++ b/.config/polybar/config @@ -4,436 +4,919 @@ ; go to https://github.com/jaagr/polybar ; ; The README contains alot of information +; Themes : https://github.com/jaagr/dots/tree/master/.local/etc/themer/themes +; https://github.com/jaagr/polybar/wiki/ +; https://github.com/jaagr/polybar/wiki/Configuration +; https://github.com/jaagr/polybar/wiki/Formatting ; ;===================================================== -; https://github.com/jaagr/polybar/wiki/Configuration +[global/wm] +;https://github.com/jaagr/polybar/wiki/Configuration#global-wm-settings +margin-top = 0 +margin-bottom = 0 + +[settings] +;https://github.com/jaagr/polybar/wiki/Configuration#application-settings +throttle-output = 5 +throttle-output-for = 10 +throttle-input-for = 30 +screenchange-reload = true +compositing-background = over +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +format-foreground = #FF0000 +format-background = #00FF00 +format-underline = +format-overline = +format-spacing = +format-padding = +format-margin = +format-offset = [colors] +; Nord theme ============ +background = ${xrdb:color0:#222} +foreground = ${xrdb:color7:#222} +foreground-alt = ${xrdb:color4:#222} +primary = ${xrdb:color2:#222} +secondary = ${xrdb:color8:#222} +third = ${xrdb:color2:#222} +adapta-red = #FF5252 +adapta-yellow = #C9BC0E +adapta-lightgreen = #4DB6AC +adapta-green = #009688 + +transparent = #00000000 +alert = #d08770 +volume-min = #a3be8c +volume-med = #ebcb8b +volume-max = #bf616a +; ======================= + +; Gotham theme ========== +; background = #0a0f14 +; foreground = #99d1ce +; alert = #d26937 +; volume-min = #2aa889 +; volume-med = #edb443 +; volume-max = #c23127 +; ======================= + +; INTRCPTR theme ============ ;background = ${xrdb:color0:#222} -background = #222 -background-alt = #444 +;background = #aa000000 +;background-alt = #444 ;foreground = ${xrdb:color7:#222} -foreground = #dfdfdf -foreground-alt = #555 -primary = #ffb52a -secondary = #e60053 -alert = #bd2c40 - -[bar/gwarf] -; Use the following command to list available outputs: -; If unspecified, the application will pick the first one it finds. -; $ xrandr -q | grep " connected" | cut -d ' ' -f1 -monitor = DP-1 - -; Use the specified monitor as a fallback if the main one is not found. -monitor-fallback = DP-4 - -; Put the bar at the bottom of the screen +;foreground = #fff +;foreground-alt = #555 +;primary = #ffb52a +;secondary = #e60053 +;alert = #bd2c40 + +################################################################################ +################################################################################ +############ MAINBAR-HERBSTLUFTWM ############ +################################################################################ +################################################################################ + +[bar/mainbar-herbstluftwm] +monitor = ${env:MONITOR} +;monitor-fallback = HDMI1 +width = 90% +height = 30 +offset-x = 0 +offset-y = 1% +radius = 10 +fixed-center = true bottom = false +separator = -; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%) -width = 100% -height = 30 +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 2 +line-color = #f00 + +wm-restack = bspwm +override-redirect = true + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +;border-size = 0 +border-left-size = 150 +border-right-size = 150 +;border-top-size = 5 +;border-bottom-size = 0 +border-color = #00000000 + +padding-left = 5 +padding-right = 5 -; Value used for drawing rounded corners -; Individual top/bottom values can be defined using: -; radius-{top,bottom} -radius = 6.0 +module-margin-left = 2 +module-margin-right = 2 + +;https://github.com/jaagr/polybar/wiki/Fonts +font-0 = Bitstream Vera Sans:style=Roman:size=10;3 +font-1 = "FontAwesome:size=11;3" +font-2 = "Iosevka:size=15;4" +font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" + +modules-left = cpu-graph xbacklight volume +modules-center = ewmh +modules-right = discord filesystem wireless-network battery date powermenu + +;tray-detached = false +;tray-offset-x = 0 +;tray-offset-y = 0 +;tray-padding = 2 +;tray-maxsize = 20 +;tray-scale = 1.0 +tray-position = right +;tray-background = ${colors.background} + +scroll-up = herbstclient use_index -1 +scroll-down = herbstclient use_index +1 -; Prefer fixed center position for the `modules-center` block -; When false, the center position will be based on the size of the other blocks -fixed-center = false +[bar/mainbar-herbstluftwm-center] +monitor = ${env:MONITOR} +;monitor-fallback = HDMI1 +width = 18% +height = 30 +offset-x = 42% +;offset-y = 1% +radius = 10 +fixed-center = true +bottom = false +separator = -; Background argb color (e.g. #f00, #ff992a, #ddff1023) background = ${colors.background} -; Foreground argb color (e.g. #f00, #ff992a, #ddff1023) foreground = ${colors.foreground} -; Under-/overline pixel size and argb color -; Individual values can be defined using: -; {overline,underline}-size -; {overline,underline}-color -line-size = 3 +line-size = 2 line-color = #f00 -; Values applied to all borders -; Individual side values can be defined using: -; border-{left,top,right,bottom}-size -; border-{left,top,right,bottom}-color -border-size = 4 +wm-restack = bspwm +override-redirect = true + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +border-size = 0 +;border-left-size = 150 +;border-right-size = 150 +border-top-size = 5 +border-bottom-size = 0 border-color = #00000000 -; Number of spaces to add at the beginning/end of the bar -; Individual side values can be defined using: -; padding-{left,right} -padding-left = 0 -padding-right = 2 +padding-left = 5 +padding-right = 5 -; Number of spaces to add before/after each module -; Individual side values can be defined using: -; module-margin-{left,right} -module-margin-left = 1 +module-margin-left = 2 module-margin-right = 2 -; Fonts are defined using <font-name>;<vertical-offset> -; Font names are specified using a fontconfig pattern. -; font-0 = NotoSans-Regular:size=8;2 -; font-1 = MaterialIcons:size=10 -; font-2 = Termsynu:size=8;-1 -; font-3 = FontAwesome:size=10 -; See the Fonts wiki page for more details -font-0 = FantasqueSansMono Nerd Font Mono:pixelsize=14;0 -# font-1 = FontAwesome:size=14;0 -# keyboard, wifi, net, battery, RAM, CPU, temperature, Clock, mpd -font-1 = Wuncon Siji:size=14;0 -# Workspaces -font-2 = FontAwesome:size=14;0 -# Used for mpd and other peripherals/media -# font-3 = Unifont:size=14;0 -# font-4 = Icons:size=14;0 - -; The separator will be inserted between the output of each module -; separator = - -; modules-left = i3 xworkspaces -modules-left = i3 mpd -modules-center = xwindow date -# Disabled: xbacklight powermenu memory cpu wlan eth -modules-right = filesystem temperature battery volume +;https://github.com/jaagr/polybar/wiki/Fonts +font-0 = Bitstream Vera Sans:style=Roman:size=10;3 +font-1 = "FontAwesome:size=11;3" +font-2 = "Iosevka:size=15;4" +font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" + +modules-left = +modules-center = ewmh +modules-right = + +;tray-detached = false +;tray-offset-x = 0 +;tray-offset-y = 0 +;tray-padding = 2 +;tray-maxsize = 20 +;tray-scale = 1.0 +;tray-position = right +;tray-background = ${colors.background} + +scroll-up = herbstclient use_index -1 +scroll-down = herbstclient use_index +1 + +[bar/mainbar-herbstluftwm-right] +monitor = ${env:MONITOR} +;monitor-fallback = HDMI1 +width = 27% +height = 30 +offset-x = 72% +;offset-y = 1% +radius = 10 +fixed-center = true +bottom = false +separator = -tray-position = right -tray-padding = 2 -;tray-transparent = true -;tray-background = #0063ff +background = ${colors.background} +foreground = ${colors.foreground} -; wm-restack = i3 -; Tell the Window Manager not to configure the window. -; Use this to detach the bar if your WM is locking its size/position. -override-redirect = false +line-size = 2 +line-color = #f00 -scroll-up = i3wm-wsnext -scroll-down = i3wm-wsprev +wm-restack = bspwm +override-redirect = true -[module/xwindow] -type = internal/xwindow -label = %title:0:30:...% +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true -[module/xkeyboard] -type = internal/xkeyboard -blacklist-0 = num lock +border-size = 0 +;border-left-size = 150 +;border-right-size = 150 +border-top-size = 5 +border-bottom-size = 0 +border-color = #00000000 -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-prefix-underline = ${colors.secondary} +padding-left = 5 +padding-right = 5 -label-layout = %layout% -label-layout-underline = ${colors.secondary} +module-margin-left = 2 +module-margin-right = 2 -label-indicator-padding = 2 -label-indicator-margin = 1 -label-indicator-background = ${colors.secondary} -label-indicator-underline = ${colors.secondary} +;https://github.com/jaagr/polybar/wiki/Fonts +font-0 = Bitstream Vera Sans:style=Roman:size=10;3 +font-1 = "FontAwesome:size=11;3" +font-2 = "Iosevka:size=15;4" +font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" + +modules-left = +modules-center = +modules-right = discord filesystem wireless-network battery date powermenu + +;tray-detached = false +;tray-offset-x = 0 +;tray-offset-y = 0 +;tray-padding = 2 +;tray-maxsize = 20 +;tray-scale = 1.0 +;tray-position = right +;tray-background = ${colors.background} + +scroll-up = herbstclient use_index -1 +scroll-down = herbstclient use_index +1 + +################################################################################ +################################################################################ +############ MAINBAR-HERBSTLUFTWM-EXTRA ############ +################################################################################ +################################################################################ + +[bar/mainbar-herbstluftwm-extra] +monitor = ${env:MONITOR} +;monitor-fallback = HDMI1 +width = 100% +height = 30 +;offset-x = 1% +;offset-y = 1% +radius = 0.0 +fixed-center = true +bottom = true +separator = | -[module/filesystem] -type = internal/fs -interval = 25 +background = ${colors.background} +foreground = ${colors.foreground} -mount-0 = / -mount-1 = /home - -label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% -label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${colors.foreground-alt} - -[module/i3] -type = internal/i3 -; format = <label-state> <label-mode> -index-sort = true -wrapping-scroll = false - -; This will split the workspace name on ':' -strip-wsnumbers = false - -; Only show workspaces on the same output as the bar -;pin-workspaces = true - -label-mode-padding = 2 -fuzzy-match = true -;label-mode-foreground = #000 -;label-mode-background = ${colors.primary} - -; focused = Active workspace on focused monitor -; label-focused = %index% -label-focused-background = ${colors.background-alt} -label-focused-underline= ${colors.primary} -label-focused-padding = 1 - -; unfocused = Inactive workspace on any monitor -; label-unfocused = %index% -label-unfocused-padding = 1 - -; visible = Active workspace on unfocused monitor -; label-visible = %index% -label-visible-background = ${self.label-focused-background} -label-visible-underline = ${self.label-focused-underline} -label-visible-padding = ${self.label-focused-padding} - -; urgent = Workspace with urgency hint set -; label-urgent = %index% -label-urgent-background = ${colors.alert} -label-urgent-padding = 1 +line-size = 2 +line-color = #f00 -[module/mpd] -type = internal/mpd -format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next> +wm-restack = bspwm +override-redirect = true -# Icons come from Siji font -icon-prev =  -icon-stop =  -icon-play =  -icon-pause =  -icon-next =  +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true -label-song-maxlen = 25 -label-song-ellipsis = true +border-size = 0 +;border-left-size = 0 +;border-right-size = 25 +;border-top-size = 0 +;border-bottom-size = 25 +border-color = #00000000 -[module/xbacklight] -type = internal/xbacklight +padding-left = 0 +padding-right = 1 -format = <label> <bar> -label = BL +module-margin-left = 3 +module-margin-right = 3 -bar-width = 10 -bar-indicator = | -bar-indicator-foreground = #ff -bar-indicator-font = 2 -bar-fill = ─ -bar-fill-font = 2 -bar-fill-foreground = #9f78e1 -bar-empty = ─ -bar-empty-font = 2 -bar-empty-foreground = ${colors.foreground-alt} +;https://github.com/jaagr/polybar/wiki/Fonts +font-0 = "Noto Sans:size=10;0" +font-1 = "FontAwesome:size=13;0" +font-2 = "Noto Sans:size=10;0" +font-3 = "Noto Sans Mono:size=10;0" -; XRandR output to get get values from -output = DP-4 +modules-left = load-average +modules-center = networkspeeddown networkspeedup +modules-right = filesystem -; Create scroll handlers used to set the backlight value -enable-scroll = true +;tray-detached = false +;tray-offset-x = 0 +;tray-offset-y = 0 +;tray-padding = 2 +;tray-maxsize = 20 +;tray-scale = 1.0 +;tray-position = right +;tray-background = ${colors.background} -[module/backlight-acpi] -inherit = module/xbacklight -type = internal/backlight -card = intel_backlight +scroll-up = herbstclient use_index -1 +scroll-down = herbstclient use_index +1 -[module/cpu] -type = internal/cpu -interval = 2 -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #f90000 -label = %percentage%% +################################################################################ +############################################################################### +############ MODULES A-Z ############ +################################################################################ +################################################################################ -[module/memory] + +[module/cpu-graph] +type = internal/cpu +interval = 0.08 +;format = " <ramp-coreload>" +format = " <ramp-coreload>" +format-margin = 1 +ramp-coreload-0 = ▁ +ramp-coreload-0-foreground = ${colors.foreground} +ramp-coreload-1 = ▂ +ramp-coreload-1-foreground = ${colors.foreground} +ramp-coreload-2 = ▃ +ramp-coreload-2-foreground = ${colors.adapta-lightgreen} +ramp-coreload-3 = ▄ +ramp-coreload-3-foreground = ${colors.adapta-green} +ramp-coreload-4 = ▅ +ramp-coreload-4-foreground = ${colors.adapta-yellow} +ramp-coreload-5 = ▆ +ramp-coreload-5-foreground = ${colors.adapta-yellow} +ramp-coreload-6 = ▇ +ramp-coreload-6-foreground = ${colors.adapta-red} +ramp-coreload-7 = █ +ramp-coreload-7-foreground = ${colors.adapta-red} +ramp-coreload-font = 3 +format-background = ${colors.background} +format-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +format-padding = 3 + + +[module/memory1] type = internal/memory + +; Seconds to sleep between updates +; Default: 1 interval = 2 -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #4bffdc -label = %percentage_used%% +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +; format = " <bar-used>  <ramp-swap-used>" + +format = " <bar-used>" + +ramp-swap-used-0 = ▁ +ramp-swap-used-1 = ▂ +ramp-swap-used-2 = ▃ +ramp-swap-used-3 = ▄ +ramp-swap-used-4 = ▅ +ramp-swap-used-5 = ▆ +ramp-swap-used-6 = ▇ +ramp-swap-used-7 = █ +ramp-swap-used-0-foreground = ${colors.foreground} +ramp-swap-used-1-foreground = ${colors.adapta-lightgreen} +ramp-swap-used-2-foreground = ${colors.adapta-green} +ramp-swap-used-3-foreground = ${colors.adapta-yellow} +ramp-swap-used-4-foreground = ${colors.adapta-red} +ramp-swap-used-5-foreground = ${colors.adapta-red} +ramp-swap-used-6-foreground = ${colors.adapta-red} +ramp-swap-used-7-foreground = ${colors.adapta-red} +ramp-swap-used-font = 3 +ramp-swap-used-underline = ${colors.foreground-alt} + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %gb_used% / %gb_total%" + + +; Only applies if <bar-used> is used + +bar-used-indicator = +bar-used-width = 10 +bar-used-fill = ━ +bar-used-empty = ━ +bar-used-indicator-foreground = ${colors.foreground-alt} +bar-used-empty-foreground = ${colors.foreground} +bar-used-foreground-0 = ${colors.adapta-green} +bar-used-foreground-1 = ${colors.adapta-yellow} +bar-used-foreground-2 = ${colors.adapta-red} + + + +; Only applies if <ramp-used> is used +ramp-used-0 = ▁ +ramp-used-1 = ▂ +ramp-used-2 = ▃ +ramp-used-3 = ▄ +ramp-used-4 = ▅ +ramp-used-5 = ▆ +ramp-used-6 = ▇ +ramp-used-7 = █ +ramp-used-0-foreground = ${colors.foreground} +ramp-used-1-foreground = ${colors.foreground} +ramp-used-2-foreground = ${colors.adapta-lightgreen} +ramp-used-3-foreground = ${colors.adapta-green} +ramp-used-4-foreground = ${colors.adapta-yellow} +ramp-used-5-foreground = ${colors.adapta-yellow} +ramp-used-6-foreground = ${colors.adapta-red} +ramp-used-7-foreground = ${colors.adapta-red} +ramp-used-font = 3 + +; Only applies if <ramp-free> is used +ramp-free-0 = ▁ +ramp-free-1 = ▂ +ramp-free-2 = ▃ +ramp-free-3 = ▄ +ramp-free-4 = ▅ +ramp-free-5 = ▆ +ramp-free-6 = ▇ +ramp-free-7 = █ + +format-background = ${colors.background} +format-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +format-padding = 1 -[module/wlan] -type = internal/network -interface = wlp4s0 -interval = 3.0 +[module/battery] +;https://github.com/jaagr/polybar/wiki/Module:-battery +type = internal/battery +battery = BAT1 +adapter = ADP1 +full-at = 99 -format-connected = <ramp-signal> <label-connected> -format-connected-underline = #9f78e1 -label-connected = %essid% +format-charging = <animation-charging> <label-charging> +label-charging = %percentage%% +format-charging-foreground = ${colors.foreground} +format-charging-background = ${colors.background} +format-charging-underline = ${colors.foreground} -format-disconnected = -;format-disconnected = <label-disconnected> -;format-disconnected-underline = ${self.format-connected-underline} -;label-disconnected = %ifname% disconnected -;label-disconnected-foreground = ${colors.foreground-alt} +format-discharging = <ramp-capacity> <label-discharging> +label-discharging = %percentage%% +format-discharging-underline = ${colors.third} +format-discharging-foreground = ${colors.foreground} +format-discharging-background = ${colors.background} + +format-full-prefix = " " +format-full-prefix-foreground = ${colors.foreground} +format-full-background = ${colors.background} +format-full-foreground = ${colors.foreground} +format-full-underline = ${colors.foreground-alt} +format-foreground = ${colors.foreground} +format-background = ${colors.background} + +ramp-capacity-0 =  +ramp-capacity-1 =  +ramp-capacity-2 =  +ramp-capacity-3 =  +ramp-capacity-4 =  +ramp-capacity-foreground = ${colors.foreground} + +animation-charging-0 =  +animation-charging-1 =  +animation-charging-2 =  +animation-charging-3 =  +animation-charging-4 =  +animation-charging-foreground = ${colors.foreground} +animation-charging-framerate = 750 -ramp-signal-0 =  -ramp-signal-1 =  -ramp-signal-2 =  -ramp-signal-3 =  -ramp-signal-4 =  -ramp-signal-foreground = ${colors.foreground-alt} +################################################################################ -[module/eth] +[module/wireless-network] +;https://github.com/jaagr/polybar/wiki/Module:-network type = internal/network -interface = enp0s31f6 +interface = wlp3s0 interval = 3.0 - -format-connected-underline = #55aa55 -format-connected-prefix = " " -format-connected-prefix-foreground = ${colors.foreground-alt} -label-connected = %local_ip% - -format-disconnected = -;format-disconnected = <label-disconnected> -;format-disconnected-underline = ${self.format-connected-underline} -;label-disconnected = %ifname% disconnected -;label-disconnected-foreground = ${colors.foreground-alt} +label-connected = %signal%% + +format-connected = <label-connected> +;format-connected = <ramp-signal> <label-connected> +format-connected-foreground = ${colors.foreground} +format-connected-background = ${colors.background} +format-connected-prefix = "  " +format-connected-prefix-foreground = ${colors.foreground} +format-connected-prefix-background = ${colors.background} +format-connected-underline = ${colors.foreground-alt} + +label-disconnected =  +label-disconnected-foreground = ${colors.alert} +label-disconnected-background = ${colors.background} + +format-disconnected = <label-disconnected> +format-disconnected-foreground = ${colors.alert} +format-disconnected-background = ${colors.background} +format-disconnected-prefix = "  " +format-disconnected-prefix-foreground = ${colors.alert} +format-disconnected-prefix-background = ${colors.background} +format-disconnected-underline =${colors.alert} + +ramp-signal-0 = ▁ +ramp-signal-1 = ▂ +ramp-signal-2 = ▃ +ramp-signal-3 = ▄ +ramp-signal-4 = ▅ +ramp-signal-5 = ▆ +ramp-signal-6 = ▇ +ramp-signal-7 = █ +;ramp-signal-foreground = #7e52c6 +ramp-signal-0-foreground = ${colors.adapta-red} +ramp-signal-1-foreground = ${colors.adapta-red} +ramp-signal-2-foreground = ${colors.adapta-yellow} +ramp-signal-3-foreground = ${colors.adapta-yellow} +ramp-signal-4-foreground = ${colors.adapta-green} +ramp-signal-5-foreground = ${colors.adapta-lightgreen} +ramp-signal-6-foreground = ${colors.foreground} +ramp-signal-7-foreground = ${colors.foreground} + + +################################################################################ [module/date] +;https://github.com/jaagr/polybar/wiki/Module:-date type = internal/date +; Seconds to sleep between updates interval = 5 +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +date = " %a %d %b" +date-alt = " %d-%m-%Y" +time = %I:%M%P +time-alt = %H:%M +;format-prefix = " " +format-prefix = +format-prefix-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +format-foreground = ${colors.foreground} +format-background = ${colors.background} +label = %date% %time% -date = " %A %d (%W)" -date-alt = " %A %Y-%m-%d %W" +################################################################# + +[module/discord] +type = custom/script +exec = echo " Discord " +;exec = echo " " +interval = 1 +tail = true +format-foreground = ${colors.foreground} +format-background = ${colors.background} +format-prefix-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +click-left = discord & +click-right = killall Discord && killall Discord && killall telegram-deskto +format-prefix = "" + +################################################################# + +[module/ewmh] +type = internal/xworkspaces -time = %H:%M -time-alt = %H:%M:%S +pin-workspaces = false +enable-click = true +enable-scroll = true +reverse-scroll = true -format-prefix =  -# XXX need to find the font providing this in termite -# format = 🕓 <label> -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #0a6cf5 -label = %date% %time% +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-5 = 6; +icon-6 = 7; +icon-7 = 8; +icon-8 = 9; +icon-9 = 10; -[module/volume] -type = internal/volume -format-volume = <label-volume> <bar-volume> -label-volume = VOL -label-volume-foreground = ${root.foreground} -format-muted-prefix = " " -format-muted-foreground = ${colors.foreground-alt} -label-muted = sound muted +format = <label-state> +label-monitor = %name% -bar-volume-width = 10 -bar-volume-foreground-0 = #55aa55 -bar-volume-foreground-1 = #55aa55 -bar-volume-foreground-2 = #55aa55 -bar-volume-foreground-3 = #55aa55 -bar-volume-foreground-4 = #55aa55 -bar-volume-foreground-5 = #f5a70a -bar-volume-foreground-6 = #ff5555 -bar-volume-gradient = false -bar-volume-indicator = | -bar-volume-indicator-font = 2 -bar-volume-fill = ─ -bar-volume-fill-font = 2 -bar-volume-empty = ─ -bar-volume-empty-font = 2 -bar-volume-empty-foreground = ${colors.foreground-alt} +label-active =  +label-active-foreground = ${colors.third} +label-active-background = ${colors.background} +label-active-underline= ${colors.foreground-alt} +label-active-padding = 2 -[module/battery] -type = internal/battery -battery = BAT0 -adapter = AC -full-at = 98 +label-occupied =  +label-occupied-background = ${colors.background} +label-occupied-foreground = ${colors.foreground} +label-occupied-underline= ${colors.foreground} +label-occupied-padding = 2 -format-charging = <animation-charging> <label-charging> -format-charging-underline = #ffb52a +label-urgent =  +label-urgent-foreground = ${colors.alert} +label-urgent-background = ${colors.background} +label-urgent-underline = ${colors.alert} +label-urgent-padding = 2 -format-discharging = <ramp-capacity> <label-discharging> -format-discharging-underline = ${self.format-charging-underline} -format-full-prefix = " " -format-full-prefix-foreground = ${colors.foreground-alt} -format-full-underline = ${self.format-charging-underline} +label-empty = • +label-empty-foreground = ${colors.foreground} +label-empty-padding = 2 +format-foreground = ${colors.foreground} +format-background = ${colors.background} -ramp-capacity-0 =  -ramp-capacity-1 =  -ramp-capacity-2 =  -ramp-capacity-foreground = ${colors.foreground-alt} -animation-charging-0 =  -animation-charging-1 =  -animation-charging-2 =  -animation-charging-foreground = ${colors.foreground-alt} -animation-charging-framerate = 750 +################################################################################ -[module/temperature] -type = internal/temperature -thermal-zone = 0 -warn-temperature = 60 +[module/filesystem] +;https://github.com/jaagr/polybar/wiki/Module:-filesystem +type = internal/fs -format = <ramp> <label> -format-underline = #f50a4d -format-warn = <ramp> <label-warn> -format-warn-underline = ${self.format-underline} +; Mountpoints to display +mount-0 = / +;mount-1 = /home +;mount-2 = /var -label = %temperature% -label-warn = %temperature% -label-warn-foreground = ${colors.secondary} +; Seconds to sleep between updates +; Default: 30 +interval = 30 -ramp-0 =  -ramp-1 =  -ramp-2 =  -ramp-foreground = ${colors.foreground-alt} +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-foreground = ${colors.foreground} +format-mounted-background = ${colors.background} +format-mounted-underline = ${colors.foreground-alt} + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted =  %percentage_free%% +;label-mounted = %mountpoint% : %used% used of %total% + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted =  not mounted +format-unmounted-foreground = ${colors.foreground} +format-unmounted-background = ${colors.background} +;format-unmounted-underline = ${colors.alert} + +################################################################################ + +[module/load-average] +type = custom/script +exec = perl ~/.config/polybar/scripts/load.pl +interval = 1 + +;HOW TO SET IT MINIMAL 10 CHARACTERS - HIDDEN BEHIND SYSTEM ICONS +;label = %output% +label = %output% + +format-foreground = ${colors.foreground} +format-background = ${colors.background} +;format-prefix = "  " +;format-prefix-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} + +################################################################################ + +[module/vpn] +type = custom/script +exec = perl ~/.config/polybar/scripts/vpn.pl +interval = 1 + +;HOW TO SET IT MINIMAL 10 CHARACTERS - HIDDEN BEHIND SYSTEM ICONS +;label = %output% +label = %output% + +format-foreground = ${colors.foreground} +format-background = ${colors.background} +;format-prefix = "  " +;format-prefix-foreground = ${colors.foreground} +format-underline = #62FF00 + +################################################################################ + +[module/mem] +type = custom/script +exec = perl ~/.config/polybar/scripts/memory.pl +interval = 1 + +;HOW TO SET IT MINIMAL 10 CHARACTERS - HIDDEN BEHIND SYSTEM ICONS +;label = %output% +label = %output% + +format-foreground = ${colors.foreground} +format-background = ${colors.background} +;format-prefix = "  " +;format-prefix-foreground = ${colors.foreground} +format-underline = #62FF00 + +################################################################################ -[module/powermenu] -type = custom/menu +[module/mpd] +;https://github.com/jaagr/polybar/wiki/Module:-mpd +type = internal/mpd +;format-online = "<label-song> <icon-prev> <icon-stop> <toggle> <icon-next>" +format-online = "<label-song> <bar-progress>" +;format-online = "<label-song> <bar-progress> <icon-prev> <icon-stop> <toggle> <icon-next>" +icon-prev =  +icon-stop =  +icon-play =  +icon-pause =  +icon-next =  +label-song-maxlen = 40 +label-song-ellipsis = true +bar-progress-width = 10 +bar-progress-indicator =  +bar-progress-fill =  +bar-progress-empty =  +bar-progress-fill-foreground = #ff0 +bar-progress-fill-background = ${colors.background} +bar-progress-indicator-foreground = ${colors.foreground} +format-online-foreground = ${colors.foreground} +format-online-background = ${colors.background} + +################################################################################ + +[module/pavolume] +type = custom/script +tail = true +label = %output% +exec = ~/.config/polybar/scripts/pavolume.sh --listen +click-right = exec pavucontrol +click-left = ~/.config/polybar/scripts/pavolume.sh --togmute +scroll-up = ~/.config/polybar/scripts/pavolume.sh --up +scroll-down = ~/.config/polybar/scripts/pavolume.sh --down +;format-underline = #3EC13F +format-foreground = ${colors.foreground} +format-background = ${colors.background} + + +################################################################################ -format-spacing = 1 +[module/volume] +;https://github.com/jaagr/polybar/wiki/Module:-volume +type = internal/alsa +format-volume = "<label-volume> <bar-volume>" +format-volume-underline = ${colors.foreground-alt} -label-open =  -label-open-foreground = ${colors.secondary} -label-close =  cancel -label-close-foreground = ${colors.secondary} -label-separator = | -label-separator-foreground = ${colors.foreground-alt} +label-volume = " " +label-volume-foreground = ${colors.foreground} -menu-0-0 = reboot -menu-0-0-exec = menu-open-1 -menu-0-1 = power off -menu-0-1-exec = menu-open-2 +label-muted = muted -menu-1-0 = cancel -menu-1-0-exec = menu-open-0 -menu-1-1 = reboot -menu-1-1-exec = sudo reboot +bar-volume-width = 10 +bar-volume-foreground-0 = ${colors.third} +bar-volume-foreground-1 = ${colors.third} +bar-volume-foreground-2 = ${colors.third} +bar-volume-foreground-3 = ${colors.third} +bar-volume-foreground-4 = ${colors.third} +bar-volume-foreground-5 = ${colors.third} +bar-volume-foreground-6 = ${colors.third} +bar-volume-gradient = false +bar-volume-indicator = ━ +bar-volume-indicator-font = 2 +bar-volume-fill = ━ +bar-volume-fill-font = 2 +bar-volume-empty = ━ +bar-volume-empty-font = 2 +bar-volume-empty-foreground = ${colors.foreground} +format-volume-foreground = ${colors.foreground} +format-volume-background = ${colors.background} +format-muted-prefix = "  " +format-muted-prefix-foreground = "#ff0000" +format-muted-foreground = ${colors.foreground} +format-muted-background = ${colors.background} + +################################################################################ + +[module/weather] +type = custom/script +interval = 10 +format = <label> +format-prefix = " " +format-prefix-foreground = ${colors.foreground} +format-underline = #3EC13F +format-foreground = ${colors.foreground} +format-background = ${colors.background} +exec = python -u ~/.config/polybar/scripts/weather.py +tail = true + +################################################################################ -menu-2-0 = power off -menu-2-0-exec = sudo poweroff -menu-2-1 = cancel -menu-2-1-exec = menu-open-0 +[module/xbacklight] +;https://github.com/jaagr/polybar/wiki/Module:-xbacklight +type = internal/xbacklight +format = <bar> +format-prefix = "  " +format-prefix-foreground = ${colors.foreground} +format-prefix-background = ${colors.background} +;format-prefix-underline = #9f78e1 +;format-underline = #9f78e1 +label = %percentage%% +bar-width = 10 +bar-indicator = +bar-indicator-foreground = #fff +bar-indicator-font = 2 +bar-fill = ━ +bar-fill-font = 2 +bar-fill-foreground = ${colors.third} +bar-empty = ━ +bar-empty-font = 2 +bar-empty-foreground = ${colors.foreground} +format-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +format-background = ${colors.background} -[module/xworkspaces] -type = internal/xworkspaces +################################################################################ -; Only show workspaces defined on the same output as the bar -; -; Useful if you want to show monitor specific workspaces -; on different bars -; -; Default: false -pin-workspaces = false +[module/xwindow] +;https://github.com/jaagr/polybar/wiki/Module:-xwindow +type = internal/xwindow -; Create click handler used to focus desktop -; Default: true -enable-click = true +; Available tokens: +; %title% +; Default: %title% +label = %title% +label-maxlen = 50 -; Create scroll handlers used to cycle desktops -; Default: true -enable-scroll = false +format-foreground = ${colors.foreground} +format-background = ${colors.background} -icon-0 = code;♚ -icon-1 = office;♛ -icon-2 = graphics;♜ -icon-3 = mail;♝ -icon-4 = web;♞ -icon-default = ♟ +############################################################################### -[settings] -screenchange-reload = true -;compositing-background = xor -;compositing-background = screen -;compositing-foreground = source -;compositing-border = over -[global/wm] -margin-top = 5 -margin-bottom = 5 +[module/powermenu] +type = custom/menu -; vim:ft=dosini +format-spacing = 1 + +label-open =  +label-close =  +label-close-foreground = ${colors.foreground} +label-separator = | +label-separator-foreground = ${colors.foreground} + +menu-0-0 =  +menu-0-0-exec = betterlockscreen -l dimblur && sleep 1 +menu-0-1 =  +menu-0-1-exec = systemctl reboot +menu-0-2 =  +menu-0-2-exec = betterlockscreen -l dimblur && sleep 1 && systemctl suspend +menu-0-3 =  +menu-0-3-exec = systemctl poweroff + + +format-background = ${colors.background} +format-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +format-padding = 1 diff --git a/.config/polybar/config2 b/.config/polybar/config2 new file mode 100644 index 00000000..61110f1a --- /dev/null +++ b/.config/polybar/config2 @@ -0,0 +1,312 @@ +;========================================================== +; +; +; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ +; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ +; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ +; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ +; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ +; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ +; +; +; To learn more about how to configure Polybar +; go to https://github.com/polybar/polybar +; +; The README contains a lot of information +; +;========================================================== + +[config] +dpi = 192 + +# bar position, apply globally +; width = 100% +; height = 5% +offset-x = 0% +offset-y = 0% +; radius = 0.0 + +fixed-center = true +override-redirect = false + + +[global/wm] +margin-top = 0 +margin-bottom = 0 + +[colors] +nord7 = #8FBCBB +nord8 = #2bcec2 +success = #50fa7b +notice = #f1fa8c +warning = #ff5555 + +background = #8c000000 +foreground = #ffffff +background-alt = #444 +foreground-alt = #555 + +[bar/primary] +enable-ipc = true +width = 100% +height = 27 +bottom = false +;offset-x = 1% +;offset-y = 1% +radius = 0 +fixed-center = false + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3 +line-color = #f00 + +; border-size = 4 +; border-color = #00000000 + +padding-left = 0 +padding-right = 0 + +module-margin-left = 1 +module-margin-right = 1 + +font-0 = MacGrande:pixelsize=15;4 +font-1 = FontAwesome5Free:style=Solid:pixelsize=15;3 +font-2 = FontAwesome5Brands:pixelsize=15;3 +font-3 = Weather Icons:pixelsize=15;2 +font-4 = Source Han Sans CN:pixelsize=15;4 +font-5 = DejaVuSansMono Nerd Font Mono:pixelsize=15;2 +font-6 = twemoji:scale=4;2 + + +#modules-left = terminal bspwm weather +modules-left = terminal bspwm +modules-center = title +modules-right = pulseaudio memory cpu cputemp battery date +tray-position = right +tray-padding = 2 +tray-maxsize = 60 +; tray-background = #0063ff + +wm-restack = bspwm + +cursor-click = pointer +cursor-scroll = ns-resize + +; monitor = ${env:MONITOR:eDP} +; monitor = DP-1 + +[module/bspwm] +type = internal/bspwm + +label-focused =  +label-focused-foreground = ${colors.notice} +label-focused-padding = 1 + +label-occupied = %index% +label-occupied-padding = 1 + +label-urgent =  +label-urgent-background = ${colors.warning} +label-urgent-foreground = ${colors.notice} +label-urgent-padding = 1 + +label-empty = %index% +label-empty-foreground = ${colors.foreground-alt} +label-empty-padding = 1 + +; Separator in between workspaces +; label-separator = | + +[module/title] +type = internal/xwindow +format-foreground = #FFFDFD +;format-underline = #721ADF +format-padding = 0 + +label-maxlen = 20 +label-empty = Desktop + + +[module/cpu] +type = internal/cpu +interval = 1 + +format = <ramp-load> <label> + +ramp-load-0 =  +ramp-load-0-foreground = ${colors.success} + +ramp-load-1 =  +ramp-load-1-foreground = ${colors.notice} + +ramp-load-2 =  +ramp-load-2-foreground = ${colors.warning} + + +[module/memory] +type = internal/memory +interval = 3 + +format = <ramp-used> <label> + +label = %gb_used%/%gb_total% + +ramp-used-0 =  +ramp-used-0-foreground = ${colors.success} + +ramp-used-1 =  +ramp-used-1-foreground = ${colors.notice} + +ramp-used-2 =  +ramp-used-2-foreground = ${colors.warning} + + +[module/date] +type = internal/date +interval = 1.0 +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} + +date = +date-alt = %Y-%m-%d% + +time = %H:%M (%a) +time-alt = %H:%M:%S (%a) + +format = <label> +label = %date% %time% +label-margin = 1 +; label-underline = ${colors.nord8} + +[module/alsa] +type = internal/alsa + +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +master-mixer = Master + +; Format +format-volume = <ramp-volume> <label-volume> + +label-muted =  muted +label-muted-foreground = ${colors.warning} + +ramp-volume-0 =  +ramp-volume-0-foreground = ${colors.success} +ramp-volume-1 =  +ramp-volume-1-foreground = ${colors.notice} +ramp-volume-2 =  +ramp-volume-2-foreground = ${colors.warning} + +ramp-headphones-0 =  + +ramp-volume-foreground = ${colors.nord7} + + +[module/pulseaudio] +type = internal/pulseaudio + +format-volume = <ramp-volume> <label-volume> + +label-muted =  muted +label-muted-foreground = #666 + +ramp-volume-0 =  +ramp-volume-0-foreground = ${colors.success} +ramp-volume-1 =  +ramp-volume-1-foreground = ${colors.notice} +ramp-volume-2 =  +ramp-volume-2-foreground = ${colors.notice} +ramp-volume-3 =  +ramp-volume-3-foreground = ${colors.warning} + +ramp-volume-foreground = ${colors.nord7} + + +[module/battery] +type = internal/battery + +full-at = 100 +battery = BAT0 +adapter = ADP0 + +format-charging = <animation-charging> <label-charging> +; format-charging-underline = ${colors.foreground} +format-charging-foreground = ${colors.nord8} +animation-charging-0 =  +animation-charging-1 =  +animation-charging-2 =  +animation-charging-3 =  +animation-charging-4 =  +animation-charging-framerate = 750 + +format-discharging = <ramp-capacity> <label-discharging> +ramp-capacity-0 =  +ramp-capacity-1 =  +ramp-capacity-2 =  +ramp-capacity-3 =  +ramp-capacity-4 =  +label-full =  +label-full-foreground = ${colors.success} + +format-charging-font = 6 +format-discharging-font = 6 +label-full-font = 6 + +[module/cputemp] +type = internal/temperature + +hwmon-path = /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon2/temp1_input +thermal-zone = 0 + +base-temperature = 20 + +warn-temperature = 80 + +; Format +format = <ramp> <label> +format-warn = <label-warn> + +label-warn =  %temperature-c% +label-warn-padding = 1 +label-warn-foreground = ${colors.warning} + +ramp-0 =  +ramp-1 =  +ramp-2 =  +ramp-3 =  +ramp-4 =  + +ramp-0-foreground = ${colors.nord8} +ramp-1-foreground = ${colors.nord8} +ramp-2-foreground = ${colors.success} +ramp-3-foreground = ${colors.success} +ramp-4-foreground = ${colors.warning} + +[module/weather] +type = custom/script +exec = ~/scripts/polybar/getweather.sh +interval = 600 +label-font = 4 + +[module/terminal] +type = custom/text +content = " 😈" +content-foreground = #fff +content-padding = +click-left = ~/scripts/bspwm/scratchpad.sh & + +[settings] +screenchange-reload = true +; compositing-background = xor +; compositing-background = screen +; compositing-foreground = source +; compositing-border = over +; pseudo-transparency = false + + +; vim:ft=dosini diff --git a/.config/polybar/launch.sh b/.config/polybar/launch.sh new file mode 100755 index 00000000..40c8f793 --- /dev/null +++ b/.config/polybar/launch.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +# More info : https://github.com/jaagr/polybar/wiki + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar > /dev/null; do sleep 1; done + +for m in $(polybar --list-monitors | cut -d":" -f1); do + #MONITOR=$m polybar --reload mainbar-herbstluftwm -c ~/.config/polybar/config & + MONITOR=$m polybar --reload primary -c ~/.config/polybar/config2 & +done diff --git a/.config/redshift/redshift.conf b/.config/redshift/redshift.conf new file mode 100644 index 00000000..cb10ab93 --- /dev/null +++ b/.config/redshift/redshift.conf @@ -0,0 +1,26 @@ +[redshift] + +; Set the day and night screen temperatures +temp-day=5700 +temp-night=3500 + +; Disable the smooth fade between temperatures when Redshift starts and stops. +; 0 will cause an immediate change between screen temperatures. +; 1 will gradually apply the new screen temperature over a couple of seconds. +fade=1 + +; Set the screen brightness. Default is 1.0. +;brightness=0.9 +; Set the screen gamma (for all colors, or each color channel +; individually) +gamma=0.8 + +; Set the location-provider: 'geoclue2', 'manual' +; type 'redshift -l list' to see possible values. +; The location provider settings are in a different section. +location-provider=manual + +; Keep in mind that longitudes west of Greenwich (e.g. the Americas) ; are negative numbers. +[manual] +lat=45.49629126159804 +lon=3.3601020669890866 diff --git a/.fehbg b/.fehbg new file mode 100755 index 00000000..0708cc8d --- /dev/null +++ b/.fehbg @@ -0,0 +1,2 @@ +#!/bin/sh +feh --no-fehbg --bg-scale '/home/baptiste/.config/herbstluftwm/fantasy-landscape2.jpg' diff --git a/bin/autostart.sh b/bin/autostart.sh index 9e12d1aa..929eb2da 100755 --- a/bin/autostart.sh +++ b/bin/autostart.sh @@ -52,8 +52,8 @@ run_once dunst # Misc run_once kitty run_once firefox -run_once redshift -run_once redshift-gtk +# run_once redshift +# run_once redshift-gtk run_once rofi "-key mod1+tab -terminal kitty" # Disabled @@ -80,4 +80,3 @@ run_once rofi "-key mod1+tab -terminal kitty" #/usr/libexec/gnome-settings-daemon & #gnome-volume-manager & #x11vnc -ncache 10 -many -q -bg -rfbauth .vnc/passwd - From 8a8b0d6f78b1559471e3f54a39184ac8b7eb1319 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 5 May 2021 18:25:50 +0200 Subject: [PATCH 0339/2080] Update herbstluftm conf --- .config/herbstluftwm/autostart | 8 +- .config/herbstluftwm/compton.conf | 4 +- .config/polybar/config | 1143 +++++++++-------------------- .config/polybar/launch.sh | 5 +- .fehbg | 2 +- .zshrc | 3 + bin/autostart.sh | 11 +- 7 files changed, 351 insertions(+), 825 deletions(-) diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index 5269de10..311cddf6 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -12,7 +12,8 @@ function run { # Autostart applications pkill -u $USER '^compton$' -compton --config $HOME/.config/herbstluftwm/compton.conf & +compton --config $HOME/.config/herbstluftwm/compton.conf & +# compton --config /home/baptiste/.config/compton.conf & # /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & xsetroot -solid '#000000' @@ -20,8 +21,9 @@ xsetroot -cursor_name left_ptr & #keybindings are in config of sxhkd - interchangeable with other TWM # run sxhkd -c $HOME/.config/herbstluftwm/sxhkd/sxhkdrc & -# wal -nRa 90 & -# feh --bg-scale ~/.config/herbstluftwm/wall.png & +# wal -i ~/.config/herbstluftwm/fantasy-landscape2.jpg +wal -nRa 90 & +# feh --bg-scale ~/.config/herbstluftwm/fantasy-landscape2.jpg & $HOME/.fehbg & run conky -c $HOME/.conkyrc & # run mpd & diff --git a/.config/herbstluftwm/compton.conf b/.config/herbstluftwm/compton.conf index 0b8ab1fd..003e663e 100644 --- a/.config/herbstluftwm/compton.conf +++ b/.config/herbstluftwm/compton.conf @@ -9,8 +9,8 @@ # Backend to use: "xrender" or "glx". # GLX backend is typically much faster but depends on a sane driver. -# backend = "glx"; -backend = "xrender" +backend = "glx"; +# backend = "xrender" ################################# # diff --git a/.config/polybar/config b/.config/polybar/config index c95692b4..fc775013 100644 --- a/.config/polybar/config +++ b/.config/polybar/config @@ -1,44 +1,31 @@ -;===================================================== +;========================================================== +; +; +; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ +; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ +; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ +; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ +; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ +; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ +; ; ; To learn more about how to configure Polybar -; go to https://github.com/jaagr/polybar +; go to https://github.com/polybar/polybar ; -; The README contains alot of information -; Themes : https://github.com/jaagr/dots/tree/master/.local/etc/themer/themes -; https://github.com/jaagr/polybar/wiki/ -; https://github.com/jaagr/polybar/wiki/Configuration -; https://github.com/jaagr/polybar/wiki/Formatting +; The README contains a lot of information ; -;===================================================== - -[global/wm] -;https://github.com/jaagr/polybar/wiki/Configuration#global-wm-settings -margin-top = 0 -margin-bottom = 0 - -[settings] -;https://github.com/jaagr/polybar/wiki/Configuration#application-settings -throttle-output = 5 -throttle-output-for = 10 -throttle-input-for = 30 -screenchange-reload = true -compositing-background = over -compositing-foreground = over -compositing-overline = over -compositing-underline = over -compositing-border = over - -; Define fallback values used by all module formats -format-foreground = #FF0000 -format-background = #00FF00 -format-underline = -format-overline = -format-spacing = -format-padding = -format-margin = -format-offset = +;========================================================== [colors] +; ;background = ${xrdb:color0:#222} +; background = #222 +; background-alt = #444 +; ;foreground = ${xrdb:color7:#222} +; foreground = #dfdfdf +; foreground-alt = #555 +; primary = #ffb52a +; secondary = #e60053 +; alert = #bd2c40 ; Nord theme ============ background = ${xrdb:color0:#222} foreground = ${xrdb:color7:#222} @@ -56,867 +43,399 @@ alert = #d08770 volume-min = #a3be8c volume-med = #ebcb8b volume-max = #bf616a -; ======================= - -; Gotham theme ========== -; background = #0a0f14 -; foreground = #99d1ce -; alert = #d26937 -; volume-min = #2aa889 -; volume-med = #edb443 -; volume-max = #c23127 -; ======================= - -; INTRCPTR theme ============ -;background = ${xrdb:color0:#222} -;background = #aa000000 -;background-alt = #444 -;foreground = ${xrdb:color7:#222} -;foreground = #fff -;foreground-alt = #555 -;primary = #ffb52a -;secondary = #e60053 -;alert = #bd2c40 - -################################################################################ -################################################################################ -############ MAINBAR-HERBSTLUFTWM ############ -################################################################################ -################################################################################ - -[bar/mainbar-herbstluftwm] -monitor = ${env:MONITOR} -;monitor-fallback = HDMI1 -width = 90% -height = 30 -offset-x = 0 -offset-y = 1% -radius = 10 -fixed-center = true -bottom = false -separator = + +[bar/example] +;monitor = ${env:MONITOR:HDMI-1} +width = 100% +height = 27 +;offset-x = 1% +;offset-y = 1% +radius = 6.0 +fixed-center = false background = ${colors.background} foreground = ${colors.foreground} -line-size = 2 +line-size = 3 line-color = #f00 -wm-restack = bspwm -override-redirect = true - -; Enable support for inter-process messaging -; See the Messaging wiki page for more details. -enable-ipc = true - -;border-size = 0 -border-left-size = 150 -border-right-size = 150 -;border-top-size = 5 -;border-bottom-size = 0 +border-size = 4 border-color = #00000000 -padding-left = 5 -padding-right = 5 +padding-left = 0 +padding-right = 2 -module-margin-left = 2 +module-margin-left = 1 module-margin-right = 2 -;https://github.com/jaagr/polybar/wiki/Fonts -font-0 = Bitstream Vera Sans:style=Roman:size=10;3 -font-1 = "FontAwesome:size=11;3" -font-2 = "Iosevka:size=15;4" -font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" - -modules-left = cpu-graph xbacklight volume -modules-center = ewmh -modules-right = discord filesystem wireless-network battery date powermenu - -;tray-detached = false -;tray-offset-x = 0 -;tray-offset-y = 0 -;tray-padding = 2 -;tray-maxsize = 20 -;tray-scale = 1.0 -tray-position = right -;tray-background = ${colors.background} +font-0 = fixed:pixelsize=10;1 +font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = siji:pixelsize=10;1 -scroll-up = herbstclient use_index -1 -scroll-down = herbstclient use_index +1 +# modules-left = bspwm i3 +modules-left = bspwm +#modules-center = mpd +modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth temperature date powermenu -[bar/mainbar-herbstluftwm-center] -monitor = ${env:MONITOR} -;monitor-fallback = HDMI1 -width = 18% -height = 30 -offset-x = 42% -;offset-y = 1% -radius = 10 -fixed-center = true -bottom = false -separator = +tray-position = right +tray-padding = 2 +;tray-background = #0063ff -background = ${colors.background} -foreground = ${colors.foreground} +;wm-restack = bspwm +;wm-restack = i3 -line-size = 2 -line-color = #f00 +;override-redirect = true -wm-restack = bspwm -override-redirect = true +;scroll-up = bspwm-desknext +;scroll-down = bspwm-deskprev -; Enable support for inter-process messaging -; See the Messaging wiki page for more details. -enable-ipc = true +;scroll-up = i3wm-wsnext +;scroll-down = i3wm-wsprev -border-size = 0 -;border-left-size = 150 -;border-right-size = 150 -border-top-size = 5 -border-bottom-size = 0 -border-color = #00000000 +cursor-click = pointer +cursor-scroll = ns-resize -padding-left = 5 -padding-right = 5 +[module/xwindow] +type = internal/xwindow +label = %title:0:30:...% -module-margin-left = 2 -module-margin-right = 2 +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock -;https://github.com/jaagr/polybar/wiki/Fonts -font-0 = Bitstream Vera Sans:style=Roman:size=10;3 -font-1 = "FontAwesome:size=11;3" -font-2 = "Iosevka:size=15;4" -font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" - -modules-left = -modules-center = ewmh -modules-right = - -;tray-detached = false -;tray-offset-x = 0 -;tray-offset-y = 0 -;tray-padding = 2 -;tray-maxsize = 20 -;tray-scale = 1.0 -;tray-position = right -;tray-background = ${colors.background} - -scroll-up = herbstclient use_index -1 -scroll-down = herbstclient use_index +1 - -[bar/mainbar-herbstluftwm-right] -monitor = ${env:MONITOR} -;monitor-fallback = HDMI1 -width = 27% -height = 30 -offset-x = 72% -;offset-y = 1% -radius = 10 -fixed-center = true -bottom = false -separator = +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-prefix-underline = ${colors.secondary} -background = ${colors.background} -foreground = ${colors.foreground} +label-layout = %layout% +label-layout-underline = ${colors.secondary} -line-size = 2 -line-color = #f00 +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-background = ${colors.secondary} +label-indicator-underline = ${colors.secondary} -wm-restack = bspwm -override-redirect = true - -; Enable support for inter-process messaging -; See the Messaging wiki page for more details. -enable-ipc = true +[module/filesystem] +type = internal/fs +interval = 25 -border-size = 0 -;border-left-size = 150 -;border-right-size = 150 -border-top-size = 5 -border-bottom-size = 0 -border-color = #00000000 +mount-0 = / -padding-left = 5 -padding-right = 5 +label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.foreground-alt} -module-margin-left = 2 -module-margin-right = 2 +[module/bspwm] +type = internal/bspwm -;https://github.com/jaagr/polybar/wiki/Fonts -font-0 = Bitstream Vera Sans:style=Roman:size=10;3 -font-1 = "FontAwesome:size=11;3" -font-2 = "Iosevka:size=15;4" -font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" - -modules-left = -modules-center = -modules-right = discord filesystem wireless-network battery date powermenu - -;tray-detached = false -;tray-offset-x = 0 -;tray-offset-y = 0 -;tray-padding = 2 -;tray-maxsize = 20 -;tray-scale = 1.0 -;tray-position = right -;tray-background = ${colors.background} - -scroll-up = herbstclient use_index -1 -scroll-down = herbstclient use_index +1 - -################################################################################ -################################################################################ -############ MAINBAR-HERBSTLUFTWM-EXTRA ############ -################################################################################ -################################################################################ - -[bar/mainbar-herbstluftwm-extra] -monitor = ${env:MONITOR} -;monitor-fallback = HDMI1 -width = 100% -height = 30 -;offset-x = 1% -;offset-y = 1% -radius = 0.0 -fixed-center = true -bottom = true -separator = | +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 -background = ${colors.background} -foreground = ${colors.foreground} +label-occupied = %index% +label-occupied-padding = 2 -line-size = 2 -line-color = #f00 +label-urgent = %index%! +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 -wm-restack = bspwm -override-redirect = true +label-empty = %index% +label-empty-foreground = ${colors.foreground-alt} +label-empty-padding = 2 -; Enable support for inter-process messaging -; See the Messaging wiki page for more details. -enable-ipc = true +; Separator in between workspaces +; label-separator = | + +[module/i3] +type = internal/i3 +format = <label-state> <label-mode> +index-sort = true +wrapping-scroll = false + +; Only show workspaces on the same output as the bar +;pin-workspaces = true + +label-mode-padding = 2 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +; unfocused = Inactive workspace on any monitor +label-unfocused = %index% +label-unfocused-padding = 2 + +; visible = Active workspace on unfocused monitor +label-visible = %index% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = ${self.label-focused-padding} + +; urgent = Workspace with urgency hint set +label-urgent = %index% +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 -border-size = 0 -;border-left-size = 0 -;border-right-size = 25 -;border-top-size = 0 -;border-bottom-size = 25 -border-color = #00000000 +; Separator in between workspaces +; label-separator = | -padding-left = 0 -padding-right = 1 -module-margin-left = 3 -module-margin-right = 3 +[module/mpd] +type = internal/mpd +format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next> -;https://github.com/jaagr/polybar/wiki/Fonts -font-0 = "Noto Sans:size=10;0" -font-1 = "FontAwesome:size=13;0" -font-2 = "Noto Sans:size=10;0" -font-3 = "Noto Sans Mono:size=10;0" +icon-prev =  +icon-stop =  +icon-play =  +icon-pause =  +icon-next =  -modules-left = load-average -modules-center = networkspeeddown networkspeedup -modules-right = filesystem +label-song-maxlen = 25 +label-song-ellipsis = true -;tray-detached = false -;tray-offset-x = 0 -;tray-offset-y = 0 -;tray-padding = 2 -;tray-maxsize = 20 -;tray-scale = 1.0 -;tray-position = right -;tray-background = ${colors.background} +[module/xbacklight] +type = internal/xbacklight -scroll-up = herbstclient use_index -1 -scroll-down = herbstclient use_index +1 +format = <label> <bar> +label = BL -################################################################################ -############################################################################### -############ MODULES A-Z ############ -################################################################################ -################################################################################ +bar-width = 10 +bar-indicator = | +bar-indicator-foreground = #fff +bar-indicator-font = 2 +bar-fill = ─ +bar-fill-font = 2 +bar-fill-foreground = #9f78e1 +bar-empty = ─ +bar-empty-font = 2 +bar-empty-foreground = ${colors.foreground-alt} +[module/backlight-acpi] +inherit = module/xbacklight +type = internal/backlight +card = intel_backlight -[module/cpu-graph] +[module/cpu] type = internal/cpu -interval = 0.08 -;format = " <ramp-coreload>" -format = " <ramp-coreload>" -format-margin = 1 -ramp-coreload-0 = ▁ -ramp-coreload-0-foreground = ${colors.foreground} -ramp-coreload-1 = ▂ -ramp-coreload-1-foreground = ${colors.foreground} -ramp-coreload-2 = ▃ -ramp-coreload-2-foreground = ${colors.adapta-lightgreen} -ramp-coreload-3 = ▄ -ramp-coreload-3-foreground = ${colors.adapta-green} -ramp-coreload-4 = ▅ -ramp-coreload-4-foreground = ${colors.adapta-yellow} -ramp-coreload-5 = ▆ -ramp-coreload-5-foreground = ${colors.adapta-yellow} -ramp-coreload-6 = ▇ -ramp-coreload-6-foreground = ${colors.adapta-red} -ramp-coreload-7 = █ -ramp-coreload-7-foreground = ${colors.adapta-red} -ramp-coreload-font = 3 -format-background = ${colors.background} -format-foreground = ${colors.foreground} -format-underline = ${colors.foreground-alt} -format-padding = 3 - - -[module/memory1] -type = internal/memory +interval = 2 +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #f90000 +label = %percentage:2%% -; Seconds to sleep between updates -; Default: 1 +[module/memory] +type = internal/memory interval = 2 -; Available tags: -; <label> (default) -; <bar-used> -; <bar-free> -; <ramp-used> -; <ramp-free> -; <bar-swap-used> -; <bar-swap-free> -; <ramp-swap-used> -; <ramp-swap-free> -; format = " <bar-used>  <ramp-swap-used>" - -format = " <bar-used>" - -ramp-swap-used-0 = ▁ -ramp-swap-used-1 = ▂ -ramp-swap-used-2 = ▃ -ramp-swap-used-3 = ▄ -ramp-swap-used-4 = ▅ -ramp-swap-used-5 = ▆ -ramp-swap-used-6 = ▇ -ramp-swap-used-7 = █ -ramp-swap-used-0-foreground = ${colors.foreground} -ramp-swap-used-1-foreground = ${colors.adapta-lightgreen} -ramp-swap-used-2-foreground = ${colors.adapta-green} -ramp-swap-used-3-foreground = ${colors.adapta-yellow} -ramp-swap-used-4-foreground = ${colors.adapta-red} -ramp-swap-used-5-foreground = ${colors.adapta-red} -ramp-swap-used-6-foreground = ${colors.adapta-red} -ramp-swap-used-7-foreground = ${colors.adapta-red} -ramp-swap-used-font = 3 -ramp-swap-used-underline = ${colors.foreground-alt} - -; Available tokens: -; %percentage_used% (default) -; %percentage_free% -; %gb_used% -; %gb_free% -; %gb_total% -; %mb_used% -; %mb_free% -; %mb_total% -; %percentage_swap_used% -; %percentage_swap_free% -; %mb_swap_total% -; %mb_swap_free% -; %mb_swap_used% -; %gb_swap_total% -; %gb_swap_free% -; %gb_swap_used% - -label = " %gb_used% / %gb_total%" - - -; Only applies if <bar-used> is used - -bar-used-indicator = -bar-used-width = 10 -bar-used-fill = ━ -bar-used-empty = ━ -bar-used-indicator-foreground = ${colors.foreground-alt} -bar-used-empty-foreground = ${colors.foreground} -bar-used-foreground-0 = ${colors.adapta-green} -bar-used-foreground-1 = ${colors.adapta-yellow} -bar-used-foreground-2 = ${colors.adapta-red} - - - -; Only applies if <ramp-used> is used -ramp-used-0 = ▁ -ramp-used-1 = ▂ -ramp-used-2 = ▃ -ramp-used-3 = ▄ -ramp-used-4 = ▅ -ramp-used-5 = ▆ -ramp-used-6 = ▇ -ramp-used-7 = █ -ramp-used-0-foreground = ${colors.foreground} -ramp-used-1-foreground = ${colors.foreground} -ramp-used-2-foreground = ${colors.adapta-lightgreen} -ramp-used-3-foreground = ${colors.adapta-green} -ramp-used-4-foreground = ${colors.adapta-yellow} -ramp-used-5-foreground = ${colors.adapta-yellow} -ramp-used-6-foreground = ${colors.adapta-red} -ramp-used-7-foreground = ${colors.adapta-red} -ramp-used-font = 3 - -; Only applies if <ramp-free> is used -ramp-free-0 = ▁ -ramp-free-1 = ▂ -ramp-free-2 = ▃ -ramp-free-3 = ▄ -ramp-free-4 = ▅ -ramp-free-5 = ▆ -ramp-free-6 = ▇ -ramp-free-7 = █ - -format-background = ${colors.background} -format-foreground = ${colors.foreground} -format-underline = ${colors.foreground-alt} -format-padding = 1 +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #4bffdc +label = %percentage_used%% -[module/battery] -;https://github.com/jaagr/polybar/wiki/Module:-battery -type = internal/battery -battery = BAT1 -adapter = ADP1 -full-at = 99 +[module/wlan] +type = internal/network +interface = net1 +interval = 3.0 -format-charging = <animation-charging> <label-charging> -label-charging = %percentage%% -format-charging-foreground = ${colors.foreground} -format-charging-background = ${colors.background} -format-charging-underline = ${colors.foreground} - -format-discharging = <ramp-capacity> <label-discharging> -label-discharging = %percentage%% -format-discharging-underline = ${colors.third} -format-discharging-foreground = ${colors.foreground} -format-discharging-background = ${colors.background} - -format-full-prefix = " " -format-full-prefix-foreground = ${colors.foreground} -format-full-background = ${colors.background} -format-full-foreground = ${colors.foreground} -format-full-underline = ${colors.foreground-alt} -format-foreground = ${colors.foreground} -format-background = ${colors.background} - -ramp-capacity-0 =  -ramp-capacity-1 =  -ramp-capacity-2 =  -ramp-capacity-3 =  -ramp-capacity-4 =  -ramp-capacity-foreground = ${colors.foreground} - -animation-charging-0 =  -animation-charging-1 =  -animation-charging-2 =  -animation-charging-3 =  -animation-charging-4 =  -animation-charging-foreground = ${colors.foreground} -animation-charging-framerate = 750 +format-connected = <ramp-signal> <label-connected> +format-connected-underline = #9f78e1 +label-connected = %essid% -################################################################################ +format-disconnected = +;format-disconnected = <label-disconnected> +;format-disconnected-underline = ${self.format-connected-underline} +;label-disconnected = %ifname% disconnected +;label-disconnected-foreground = ${colors.foreground-alt} -[module/wireless-network] -;https://github.com/jaagr/polybar/wiki/Module:-network +ramp-signal-0 =  +ramp-signal-1 =  +ramp-signal-2 =  +ramp-signal-3 =  +ramp-signal-4 =  +ramp-signal-foreground = ${colors.foreground-alt} + +[module/eth] type = internal/network -interface = wlp3s0 +interface = vboxnet0 interval = 3.0 -label-connected = %signal%% - -format-connected = <label-connected> -;format-connected = <ramp-signal> <label-connected> -format-connected-foreground = ${colors.foreground} -format-connected-background = ${colors.background} -format-connected-prefix = "  " -format-connected-prefix-foreground = ${colors.foreground} -format-connected-prefix-background = ${colors.background} -format-connected-underline = ${colors.foreground-alt} - -label-disconnected =  -label-disconnected-foreground = ${colors.alert} -label-disconnected-background = ${colors.background} - -format-disconnected = <label-disconnected> -format-disconnected-foreground = ${colors.alert} -format-disconnected-background = ${colors.background} -format-disconnected-prefix = "  " -format-disconnected-prefix-foreground = ${colors.alert} -format-disconnected-prefix-background = ${colors.background} -format-disconnected-underline =${colors.alert} - -ramp-signal-0 = ▁ -ramp-signal-1 = ▂ -ramp-signal-2 = ▃ -ramp-signal-3 = ▄ -ramp-signal-4 = ▅ -ramp-signal-5 = ▆ -ramp-signal-6 = ▇ -ramp-signal-7 = █ -;ramp-signal-foreground = #7e52c6 -ramp-signal-0-foreground = ${colors.adapta-red} -ramp-signal-1-foreground = ${colors.adapta-red} -ramp-signal-2-foreground = ${colors.adapta-yellow} -ramp-signal-3-foreground = ${colors.adapta-yellow} -ramp-signal-4-foreground = ${colors.adapta-green} -ramp-signal-5-foreground = ${colors.adapta-lightgreen} -ramp-signal-6-foreground = ${colors.foreground} -ramp-signal-7-foreground = ${colors.foreground} - - -################################################################################ + +format-connected-underline = #55aa55 +format-connected-prefix = " " +format-connected-prefix-foreground = ${colors.foreground-alt} +label-connected = %local_ip% + +format-disconnected = +;format-disconnected = <label-disconnected> +;format-disconnected-underline = ${self.format-connected-underline} +;label-disconnected = %ifname% disconnected +;label-disconnected-foreground = ${colors.foreground-alt} [module/date] -;https://github.com/jaagr/polybar/wiki/Module:-date type = internal/date -; Seconds to sleep between updates interval = 5 -; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string -; NOTE: if you want to use syntax tags here you need to use %%{...} -date = " %a %d %b" -date-alt = " %d-%m-%Y" -time = %I:%M%P -time-alt = %H:%M -;format-prefix = " " -format-prefix = -format-prefix-foreground = ${colors.foreground} -format-underline = ${colors.foreground-alt} -format-foreground = ${colors.foreground} -format-background = ${colors.background} -label = %date% %time% -################################################################# - -[module/discord] -type = custom/script -exec = echo " Discord " -;exec = echo " " -interval = 1 -tail = true -format-foreground = ${colors.foreground} -format-background = ${colors.background} -format-prefix-foreground = ${colors.foreground} -format-underline = ${colors.foreground-alt} -click-left = discord & -click-right = killall Discord && killall Discord && killall telegram-deskto -format-prefix = "" - -################################################################# - -[module/ewmh] -type = internal/xworkspaces - -pin-workspaces = false -enable-click = true -enable-scroll = true -reverse-scroll = true - - -icon-0 = 1; -icon-1 = 2; -icon-2 = 3; -icon-3 = 4; -icon-4 = 5; -icon-5 = 6; -icon-6 = 7; -icon-7 = 8; -icon-8 = 9; -icon-9 = 10; - - - -format = <label-state> -label-monitor = %name% - -label-active =  -label-active-foreground = ${colors.third} -label-active-background = ${colors.background} -label-active-underline= ${colors.foreground-alt} -label-active-padding = 2 - -label-occupied =  -label-occupied-background = ${colors.background} -label-occupied-foreground = ${colors.foreground} -label-occupied-underline= ${colors.foreground} -label-occupied-padding = 2 +date = +date-alt = " %Y-%m-%d" -label-urgent =  -label-urgent-foreground = ${colors.alert} -label-urgent-background = ${colors.background} -label-urgent-underline = ${colors.alert} -label-urgent-padding = 2 +time = %H:%M +time-alt = %H:%M:%S +format-prefix =  +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #0a6cf5 -label-empty = • -label-empty-foreground = ${colors.foreground} -label-empty-padding = 2 -format-foreground = ${colors.foreground} -format-background = ${colors.background} +label = %date% %time% +[module/pulseaudio] +type = internal/pulseaudio -################################################################################ +format-volume = <label-volume> <bar-volume> +label-volume = VOL %percentage%% +label-volume-foreground = ${root.foreground} -[module/filesystem] -;https://github.com/jaagr/polybar/wiki/Module:-filesystem -type = internal/fs +label-muted = 🔇 muted +label-muted-foreground = #666 -; Mountpoints to display -mount-0 = / -;mount-1 = /home -;mount-2 = /var - -; Seconds to sleep between updates -; Default: 30 -interval = 30 - -; Display fixed precision values -; Default: false -fixed-values = false - -; Spacing between entries -; Default: 2 -spacing = 4 - -; Available tags: -; <label-mounted> (default) -; <bar-free> -; <bar-used> -; <ramp-capacity> -format-mounted = <label-mounted> -format-mounted-foreground = ${colors.foreground} -format-mounted-background = ${colors.background} -format-mounted-underline = ${colors.foreground-alt} - -; Available tokens: -; %mountpoint% -; %type% -; %fsname% -; %percentage_free% -; %percentage_used% -; %total% -; %free% -; %used% -; Default: %mountpoint% %percentage_free%% -label-mounted =  %percentage_free%% -;label-mounted = %mountpoint% : %used% used of %total% - -; Available tokens: -; %mountpoint% -; Default: %mountpoint% is not mounted -label-unmounted =  not mounted -format-unmounted-foreground = ${colors.foreground} -format-unmounted-background = ${colors.background} -;format-unmounted-underline = ${colors.alert} - -################################################################################ - -[module/load-average] -type = custom/script -exec = perl ~/.config/polybar/scripts/load.pl -interval = 1 - -;HOW TO SET IT MINIMAL 10 CHARACTERS - HIDDEN BEHIND SYSTEM ICONS -;label = %output% -label = %output% - -format-foreground = ${colors.foreground} -format-background = ${colors.background} -;format-prefix = "  " -;format-prefix-foreground = ${colors.foreground} -format-underline = ${colors.foreground-alt} - -################################################################################ - -[module/vpn] -type = custom/script -exec = perl ~/.config/polybar/scripts/vpn.pl -interval = 1 - -;HOW TO SET IT MINIMAL 10 CHARACTERS - HIDDEN BEHIND SYSTEM ICONS -;label = %output% -label = %output% - -format-foreground = ${colors.foreground} -format-background = ${colors.background} -;format-prefix = "  " -;format-prefix-foreground = ${colors.foreground} -format-underline = #62FF00 - -################################################################################ - -[module/mem] -type = custom/script -exec = perl ~/.config/polybar/scripts/memory.pl -interval = 1 - -;HOW TO SET IT MINIMAL 10 CHARACTERS - HIDDEN BEHIND SYSTEM ICONS -;label = %output% -label = %output% - -format-foreground = ${colors.foreground} -format-background = ${colors.background} -;format-prefix = "  " -;format-prefix-foreground = ${colors.foreground} -format-underline = #62FF00 - -################################################################################ +bar-volume-width = 10 +bar-volume-foreground-0 = #55aa55 +bar-volume-foreground-1 = #55aa55 +bar-volume-foreground-2 = #55aa55 +bar-volume-foreground-3 = #55aa55 +bar-volume-foreground-4 = #55aa55 +bar-volume-foreground-5 = #f5a70a +bar-volume-foreground-6 = #ff5555 +bar-volume-gradient = false +bar-volume-indicator = | +bar-volume-indicator-font = 2 +bar-volume-fill = ─ +bar-volume-fill-font = 2 +bar-volume-empty = ─ +bar-volume-empty-font = 2 +bar-volume-empty-foreground = ${colors.foreground-alt} -[module/mpd] -;https://github.com/jaagr/polybar/wiki/Module:-mpd -type = internal/mpd -;format-online = "<label-song> <icon-prev> <icon-stop> <toggle> <icon-next>" -format-online = "<label-song> <bar-progress>" -;format-online = "<label-song> <bar-progress> <icon-prev> <icon-stop> <toggle> <icon-next>" -icon-prev =  -icon-stop =  -icon-play =  -icon-pause =  -icon-next =  -label-song-maxlen = 40 -label-song-ellipsis = true -bar-progress-width = 10 -bar-progress-indicator =  -bar-progress-fill =  -bar-progress-empty =  -bar-progress-fill-foreground = #ff0 -bar-progress-fill-background = ${colors.background} -bar-progress-indicator-foreground = ${colors.foreground} -format-online-foreground = ${colors.foreground} -format-online-background = ${colors.background} - -################################################################################ - -[module/pavolume] -type = custom/script -tail = true -label = %output% -exec = ~/.config/polybar/scripts/pavolume.sh --listen -click-right = exec pavucontrol -click-left = ~/.config/polybar/scripts/pavolume.sh --togmute -scroll-up = ~/.config/polybar/scripts/pavolume.sh --up -scroll-down = ~/.config/polybar/scripts/pavolume.sh --down -;format-underline = #3EC13F -format-foreground = ${colors.foreground} -format-background = ${colors.background} - - -################################################################################ - -[module/volume] -;https://github.com/jaagr/polybar/wiki/Module:-volume +[module/alsa] type = internal/alsa -format-volume = "<label-volume> <bar-volume>" -format-volume-underline = ${colors.foreground-alt} -label-volume = " " -label-volume-foreground = ${colors.foreground} +format-volume = <label-volume> <bar-volume> +label-volume = VOL +label-volume-foreground = ${root.foreground} -label-muted = muted +format-muted-prefix = " " +format-muted-foreground = ${colors.foreground-alt} +label-muted = sound muted bar-volume-width = 10 -bar-volume-foreground-0 = ${colors.third} -bar-volume-foreground-1 = ${colors.third} -bar-volume-foreground-2 = ${colors.third} -bar-volume-foreground-3 = ${colors.third} -bar-volume-foreground-4 = ${colors.third} -bar-volume-foreground-5 = ${colors.third} -bar-volume-foreground-6 = ${colors.third} +bar-volume-foreground-0 = #55aa55 +bar-volume-foreground-1 = #55aa55 +bar-volume-foreground-2 = #55aa55 +bar-volume-foreground-3 = #55aa55 +bar-volume-foreground-4 = #55aa55 +bar-volume-foreground-5 = #f5a70a +bar-volume-foreground-6 = #ff5555 bar-volume-gradient = false -bar-volume-indicator = ━ +bar-volume-indicator = | bar-volume-indicator-font = 2 -bar-volume-fill = ━ +bar-volume-fill = ─ bar-volume-fill-font = 2 -bar-volume-empty = ━ +bar-volume-empty = ─ bar-volume-empty-font = 2 -bar-volume-empty-foreground = ${colors.foreground} -format-volume-foreground = ${colors.foreground} -format-volume-background = ${colors.background} -format-muted-prefix = "  " -format-muted-prefix-foreground = "#ff0000" -format-muted-foreground = ${colors.foreground} -format-muted-background = ${colors.background} - -################################################################################ - -[module/weather] -type = custom/script -interval = 10 -format = <label> -format-prefix = " " -format-prefix-foreground = ${colors.foreground} -format-underline = #3EC13F -format-foreground = ${colors.foreground} -format-background = ${colors.background} -exec = python -u ~/.config/polybar/scripts/weather.py -tail = true - -################################################################################ +bar-volume-empty-foreground = ${colors.foreground-alt} -[module/xbacklight] -;https://github.com/jaagr/polybar/wiki/Module:-xbacklight -type = internal/xbacklight -format = <bar> -format-prefix = "  " -format-prefix-foreground = ${colors.foreground} -format-prefix-background = ${colors.background} -;format-prefix-underline = #9f78e1 -;format-underline = #9f78e1 -label = %percentage%% -bar-width = 10 -bar-indicator = -bar-indicator-foreground = #fff -bar-indicator-font = 2 -bar-fill = ━ -bar-fill-font = 2 -bar-fill-foreground = ${colors.third} -bar-empty = ━ -bar-empty-font = 2 -bar-empty-foreground = ${colors.foreground} -format-foreground = ${colors.foreground} -format-underline = ${colors.foreground-alt} -format-background = ${colors.background} +[module/battery] +type = internal/battery +battery = BAT0 +adapter = ADP1 +full-at = 98 -################################################################################ +format-charging = <animation-charging> <label-charging> +format-charging-underline = #ffb52a -[module/xwindow] -;https://github.com/jaagr/polybar/wiki/Module:-xwindow -type = internal/xwindow +format-discharging = <animation-discharging> <label-discharging> +format-discharging-underline = ${self.format-charging-underline} + +format-full-prefix = " " +format-full-prefix-foreground = ${colors.foreground-alt} +format-full-underline = ${self.format-charging-underline} -; Available tokens: -; %title% -; Default: %title% -label = %title% -label-maxlen = 50 +ramp-capacity-0 =  +ramp-capacity-1 =  +ramp-capacity-2 =  +ramp-capacity-foreground = ${colors.foreground-alt} -format-foreground = ${colors.foreground} -format-background = ${colors.background} +animation-charging-0 =  +animation-charging-1 =  +animation-charging-2 =  +animation-charging-foreground = ${colors.foreground-alt} +animation-charging-framerate = 750 + +animation-discharging-0 =  +animation-discharging-1 =  +animation-discharging-2 =  +animation-discharging-foreground = ${colors.foreground-alt} +animation-discharging-framerate = 750 + +[module/temperature] +type = internal/temperature +thermal-zone = 0 +warn-temperature = 60 + +format = <ramp> <label> +format-underline = #f50a4d +format-warn = <ramp> <label-warn> +format-warn-underline = ${self.format-underline} -############################################################################### +label = %temperature-c% +label-warn = %temperature-c% +label-warn-foreground = ${colors.secondary} +ramp-0 =  +ramp-1 =  +ramp-2 =  +ramp-foreground = ${colors.foreground-alt} [module/powermenu] type = custom/menu +expand-right = true + format-spacing = 1 -label-open =  -label-close =  -label-close-foreground = ${colors.foreground} +label-open =  +label-open-foreground = ${colors.secondary} +label-close =  cancel +label-close-foreground = ${colors.secondary} label-separator = | -label-separator-foreground = ${colors.foreground} - -menu-0-0 =  -menu-0-0-exec = betterlockscreen -l dimblur && sleep 1 -menu-0-1 =  -menu-0-1-exec = systemctl reboot -menu-0-2 =  -menu-0-2-exec = betterlockscreen -l dimblur && sleep 1 && systemctl suspend -menu-0-3 =  -menu-0-3-exec = systemctl poweroff - - -format-background = ${colors.background} -format-foreground = ${colors.foreground} -format-underline = ${colors.foreground-alt} -format-padding = 1 +label-separator-foreground = ${colors.foreground-alt} + +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = power off +menu-0-1-exec = menu-open-2 + +menu-1-0 = cancel +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = sudo reboot + +menu-2-0 = power off +menu-2-0-exec = sudo poweroff +menu-2-1 = cancel +menu-2-1-exec = menu-open-0 + +[settings] +screenchange-reload = true +;compositing-background = xor +;compositing-background = screen +;compositing-foreground = source +;compositing-border = over +;pseudo-transparency = false + +[global/wm] +margin-top = 5 +margin-bottom = 5 + +; vim:ft=dosini diff --git a/.config/polybar/launch.sh b/.config/polybar/launch.sh index 40c8f793..8cdddcaa 100755 --- a/.config/polybar/launch.sh +++ b/.config/polybar/launch.sh @@ -9,6 +9,7 @@ killall -q polybar while pgrep -u $UID -x polybar > /dev/null; do sleep 1; done for m in $(polybar --list-monitors | cut -d":" -f1); do - #MONITOR=$m polybar --reload mainbar-herbstluftwm -c ~/.config/polybar/config & - MONITOR=$m polybar --reload primary -c ~/.config/polybar/config2 & + MONITOR=$m polybar --reload mainbar-herbstluftwm -c ~/.config/polybar/config3 & + #MONITOR=$m polybar --reload primary -c ~/.config/polybar/config2 & + #MONITOR=$m polybar --reload example -c ~/.config/polybar/config & done diff --git a/.fehbg b/.fehbg index 0708cc8d..93167b7a 100755 --- a/.fehbg +++ b/.fehbg @@ -1,2 +1,2 @@ #!/bin/sh -feh --no-fehbg --bg-scale '/home/baptiste/.config/herbstluftwm/fantasy-landscape2.jpg' +feh --no-fehbg --bg-fill '/home/baptiste/.config/herbstluftwm/fantasy-landscape2.jpg' diff --git a/.zshrc b/.zshrc index edef00e5..260af43d 100644 --- a/.zshrc +++ b/.zshrc @@ -678,3 +678,6 @@ if (( $+commands[fortune] )); then fortune -o fi fi + +(cat ~/.cache/wal/sequences &) +clear && freshfetch diff --git a/bin/autostart.sh b/bin/autostart.sh index 929eb2da..a9e9ca1f 100755 --- a/bin/autostart.sh +++ b/bin/autostart.sh @@ -28,9 +28,9 @@ run_once dunst #&& offlineimap-notify &> /tmp/offlineimap-log # Pulse audio -# pkill pulseaudio; sleep 3 && pulseaudio --start -D +pkill pulseaudio; sleep 3 && pulseaudio --start -D # pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo '60%' & -# run_once pasystray +run_once pasystray #exec --no-startup-id volti # starting volume control #exec --no-startup-id pa-applet @@ -43,7 +43,7 @@ run_once dunst # Clipboard manager # anamnesis, clipman, copyq, gpaste could be alternatives -# run_once clipit +run_once clipit # Start urxvt daemon #urxvtd -q -f -o & urxvtdpid=$! @@ -52,8 +52,9 @@ run_once dunst # Misc run_once kitty run_once firefox -# run_once redshift -# run_once redshift-gtk +run_once redshift +run_once redshift-gtk +run_once keybase run_once rofi "-key mod1+tab -terminal kitty" # Disabled From aa9f0f7e06919c0944d5d548ce761fbd3967496d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 8 May 2021 19:30:53 +0200 Subject: [PATCH 0340/2080] herbstulftwm: merge old conf --- .config/herbstluftwm/autostart | 82 ++++++++++++++-------------------- 1 file changed, 34 insertions(+), 48 deletions(-) diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index 311cddf6..456e0634 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -26,6 +26,7 @@ wal -nRa 90 & # feh --bg-scale ~/.config/herbstluftwm/fantasy-landscape2.jpg & $HOME/.fehbg & run conky -c $HOME/.conkyrc & +albert & # run mpd & #run variety & # run nm-applet & @@ -71,7 +72,9 @@ hc keybind $Mod-Shift-q close hc keybind $Mod-q close hc keybind $Mod-Return spawn "${TERMINAL:-kitty}" # use your $TERMINAL with xterm as fallback -hc keybind $Mod-m spawn rofi -show run +# hc keybind $Mod-m spawn rofi -show run +# Albert is launched and uses it's own key +# hc keybind $Mod-m spawn albert #Most of the keybindings have been set in sxhkd config file #you can set them also here @@ -91,7 +94,7 @@ hc keybind $Mod-j focus down hc keybind $Mod-k focus up hc keybind $Mod-l focus right -# moving clients to ... on single Monitor +# moving clients hc keybind $Mod-Shift-Left shift left hc keybind $Mod-Shift-Down shift down hc keybind $Mod-Shift-Up shift up @@ -101,17 +104,7 @@ hc keybind $Mod-Shift-j shift down hc keybind $Mod-Shift-k shift up hc keybind $Mod-Shift-l shift right -# moving clients to ... on dual monitor -# hc keybind $Mod-Shift-h chain , lock , shift_to_monitor -l , focus_monitor -l , unlock -# hc keybind $Mod-Shift-Left chain , lock , shift_to_monitor -l , focus_monitor -l , unlock -# hc keybind $Mod-Shift-j chain , lock , shift_to_monitor -l , focus_monitor -l , unlock -# hc keybind $Mod-Shift-Down chain , lock , shift_to_monitor -l , focus_monitor -l , unlock -# hc keybind $Mod-Shift-k chain , lock , shift_to_monitor -r , focus_monitor -r , unlock -# hc keybind $Mod-Shift-Up chain , lock , shift_to_monitor -r , focus_monitor -r , unlock -# hc keybind $Mod-Shift-l chain , lock , shift_to_monitor -r , focus_monitor -r , unlock -# hc keybind $Mod-Shift-Right chain , lock , shift_to_monitor -r , focus_monitor -r , unlock - -# FRAMES +# Frames # create an empty frame at the specified direction hc keybind $Mod-u split bottom 0.5 @@ -136,20 +129,7 @@ hc keybind $Mod-Control-Right resize right +$resizestep #names to display in menu tag_names=( {1..10} ) -#tag_names=("www" "text" "gimp" "meld" "vlc" "mail" "vb" "image" "code" "chat") -#tag_names=("I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X") -#tag_names=("1" "2" "3" "4" "5" "6" "7" "8" "9" "10") - -#keys to press to get to the tags -#Qwerty -#tag_keys=( {1..10} 0 ) -tag_keys=( "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" ) - -#Belgian azerty -#tag_keys=( ampersand eacute quotedbl apostrophe parenleft section egrave exclam ccedilla agrave ) - -#French azerty -#tag_keys=( ampersand eacute quotedbl apostrophe parenleft minus egrave underscore ccedilla agrave ) +tag_keys=( {1..9} 0 ) hc rename default "${tag_names[0]}" || true for i in ${!tag_names[@]} ; do @@ -164,9 +144,22 @@ for i in ${!tag_names[@]} ; do fi done +# cycle through tags +hc keybind $Mod-period use_index +1 --skip-visible +hc keybind $Mod-comma use_index -1 --skip-visible + # layouting hc keybind $Mod-s floating toggle hc keybind $Mod-f fullscreen toggle +hc keybind $Mod-Shift-f set_attr clients.focus.floating toggle +hc keybind $Mod-Shift-m set_attr clients.focus.minimized true +# restore all minimized windows of the focused tag +hc keybind $Mod-Ctrl-m foreach CLIENT clients. \ + sprintf MINATT "%c.minimized" CLIENT \ + sprintf TAGATT "%c.tag" CLIENT and \ + , compare MINATT "=" "true" \ + , substitute FOCUS "tags.focus.name" compare TAGATT "=" FOCUS \ + , set_attr MINATT false hc keybind $Mod-p pseudotile toggle # The following cycles through the available layouts within a frame, but skips # layouts, if the layout change wouldn't affect the actual window positions. @@ -184,15 +177,9 @@ hc mousebind $Mod-Button3 resize # focus on ... hc keybind $Mod-BackSpace cycle_monitor -hc keybind $Mod-Tab use_index +1 --skip-visible -hc keybind $Mod-Shift-Tab use_index -1 --skip-visible -hc keybind Control-Mod1-Left focus left -hc keybind Control-Mod1-Up focus up -hc keybind Control-Mod1-Right focus right -hc keybind Control-Mod1-Down focus down -hc keybind Mod1-Tab use_index +1 --skip-visible -hc keybind Mod1-Shift-Tab use_index -1 --skip-visible -#hc keybind $Mod-c cycle +hc keybind $Mod-Tab cycle_all +1 +hc keybind $Mod-Shift-Tab cycle_all -1 +hc keybind $Mod-c cycle hc keybind $Mod-i jumpto urgent #reset prior to setting the theme @@ -230,28 +217,27 @@ hc set smart_window_surroundings 0 hc set tree_style '╾│ ├└╼─┐' hc set window_gap 10 -# RULES +# Rules hc unrule -F hc rule focus=on # normally focus new clients -#hc rule focus=off # normally do not focus new clients +hc rule floatplacement=smaront -#assign applications to workspaces or tags -hc rule class~'(firefox|Vivaldi-stable|Vivaldi-snapshot|Chromium|Google-chrome)' tag=1 focus=on -hc rule class~'(Subl3|code-oss)' tag=2 focus=on -hc rule class=Gimp tag=5 -hc rule class=krita tag=5 +# assign applications to workspaces or tags +# hc rule class~'(firefox|Vivaldi-stable|Vivaldi-snapshot|Chromium|Google-chrome)' tag=1 focus=on +# hc rule class~'(Subl3|code-oss)' tag=2 focus=on +# hc rule class=Gimp tag=5 +# hc rule class=krita tag=5 # hc rule class~'(Meld|ristretto|Nitrogen)' tag=5 -hc rule class=vlc tag=4 focus=on -hc rule class=qBittorrent tag=7 focus=on -hc rule class=discord tag=9 focus=on -hc rule class=TelegramDesktop tag=9 focus=on +# hc rule class=vlc tag=4 focus=on +# hc rule class=qBittorrent tag=7 focus=on +# hc rule class=discord tag=9 focus=on +# hc rule class=TelegramDesktop tag=9 focus=on # hc rule class~'(VirtualBox Manager|Vmplayer)' tag=7 # hc rule class~'(Thunar|Nemo|Caja|Nautilus)' tag=8 # hc rule class~'(Evolution|Geary)' tag=9 # hc rule class=Spotify tag=10 # give focus to most common terminals -#hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on pseudotile=on hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off From 4770da4a1ab7f83158c0cfae4feed11f5ae2e81d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 8 May 2021 19:31:12 +0200 Subject: [PATCH 0341/2080] zshrc: do not temper with colors --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 260af43d..d1be494f 100644 --- a/.zshrc +++ b/.zshrc @@ -679,5 +679,5 @@ if (( $+commands[fortune] )); then fi fi -(cat ~/.cache/wal/sequences &) +# (cat ~/.cache/wal/sequences &) clear && freshfetch From 22edf8f410c05345a16b7b3c788ba4f89b8b39ff Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 17:50:17 +0100 Subject: [PATCH 0342/2080] zshrc: merge changes from master branch --- .zshrc | 83 ++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 51 insertions(+), 32 deletions(-) diff --git a/.zshrc b/.zshrc index d1be494f..95c5a611 100644 --- a/.zshrc +++ b/.zshrc @@ -126,9 +126,9 @@ eval $(dircolors $ZPLUG_HOME/repos/arcticicestudio/nord-dircolors/src/dir_colors # Replacement for zsh-users/zsh-syntax-highlighting # Theme management: fsh-alias -h -zplug "zdharma/fast-syntax-highlighting" +zplug "zdharma-continuum/fast-syntax-highlighting" # Ctrl-R to search multi word with AND -zplug "zdharma/history-search-multi-word" +zplug "zdharma-continuum/history-search-multi-word" # Modules from prezto # https://github.com/sorin-ionescu/prezto/tree/master/modules @@ -139,6 +139,9 @@ zplug "modules/history", from:prezto if (( $+commands[tmux] )); then zplug "modules/tmux", from:prezto fi +if (( $+commands[vagrant] )); then + zplug "modules/vagrant", from:prezto +fi # Modules from oh-my-zsh # XXX potentially interesting modules @@ -185,6 +188,7 @@ zplug "zsh-users/zsh-history-substring-search", defer:2 # XXX Find replacement allowing to disable check for some aliases zplug "MichaelAquilina/zsh-you-should-use" +export YSU_MESSAGE_POSITION="after" # Usage: = 2+2 zplug "arzzen/calc.plugin.zsh" @@ -213,12 +217,10 @@ zplug "sharat87/zsh-vim-mode", defer:3 # Fuzzy command line completion: Ctrl-T # Grab binaries from GitHub Releases -# and rename with the "rename-to:" tag -zplug "junegunn/fzf-bin", \ - from:gh-r, \ - as:command, \ - rename-to:fzf, \ - use:"*${(L)$(uname -s)}*amd64*" +# zplug "junegunn/fzf", \ +# from:gh-r, \ +# as:command, \ +# use:"*${(L)$(uname -s)}*amd64*" zplug "junegunn/fzf", use:"shell/*.zsh", defer:2, on:"junegunn/fzf-bin" # https://github.com/hschne/fzf-git @@ -271,17 +273,24 @@ zplug 'pyenv/pyenv', as:"command", use:"bin/*" # Default autoswitchvirtualenv # export AUTOSWITCH_DEFAULTENV="defaultenv" # -# Checking installed python version +# Checking available python versions +# pyenv install -l +# Checking installed python versions # pyenv versions +# Installing a python version +# pyenv install 3.10.7 +# Checking current python version +# pyenv version +# Setting default version +# pyenv global 2.7.18 3.10.7 +# Setting directory specific version +# pyenv local 3.10.7 # # Creating a venv manually +# pyenv local 3.10.7 # python3 -m venv ~/.virtualenvs/impact-report # source ~/.virtualenvs/impact-report/bin/activate # echo 'impact-report' > .venv -# -# Deprecated? -# mkvenv --python /usr/bin/python2 -# mkvenv --python /usr/bin/python3 zplug "MichaelAquilina/zsh-autoswitch-virtualenv" # Potentially lighter than pyenv @@ -355,6 +364,11 @@ export YSU_HARDCORE=0 export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=60,bold" bindkey '^ ' autosuggest-accept +# A smarter cd command +if (( $+commands[zoxide] )); then + eval "$(zoxide init zsh)" +fi + # XXX Slowing doing the prompt if (( $+commands[pyenv] )); then export PYENV_ROOT="${ZPLUG_HOME}/repos/pyenv/pyenv" @@ -435,6 +449,7 @@ if (( $+commands[nvim] )); then export MANPAGER='nvim +Man!' alias vim='nvim' alias vi='nvim' + alias vimdiff='nvim -d' else export EDITOR='vim' fi @@ -471,11 +486,18 @@ alias chown='chown --preserve-root' alias chmod='chmod --preserve-root' alias chgrp='chgrp --preserve-root' +# Alias lsd to ls: https://github.com/Peltoche/lsd +if (( $+commands[lsd] )); then + alias ls='lsd --group-dirs first' + alias lt='ls --tree' +fi +alias l='ls -l' +alias la='ls -a' +alias lla='ls -la' # list only directories -alias lsd='ls -d */' + alias lsdir='ls -d */' # list only files -alias lsf="ls -rtF | grep -v '.*/'" -alias l='ls -l' +alias lsfiles="ls -rtF | grep -v '.*/'" # Global aliases alias -g A="| awk" @@ -484,17 +506,11 @@ alias -g A="| awk" if (( $+commands[ccze] )); then alias -g C="| ccze -A" fi -alias -g G="| grep" -alias -g GV="| grep -v" -alias -g H="| head" alias -g L='| $PAGER' alias -g P=' --help | less' alias -g R="| ruby -e" -alias -g S="| sed" -alias -g T="| tail" alias -g V="| vim -R -" alias -g U=' --help | head' -alias -g W="| wc" # Suffix aliases alias -s zip=zipinfo @@ -615,17 +631,14 @@ lscan() { printf "$scanReport\n" } -if [ -x "$HOME/bin/gam/gam" ]; then - # CLI for Google admin - # https://github.com/jay0lee/GAM - gam() { "$HOME/bin/gam/gam" "$@" ; } -fi - if [ -x "$HOME/bin/gamadv-xtd3/gam" ]; then # CLI for Google admin, updated GAM # https://github.com/taers232c/GAMADV-XTD3 - # gam3() { "$HOME/bin/gam/gam" "$@" ; } - alias gam3="$HOME/bin/gamadv-xtd3/gam" + # gam() { "$HOME/bin/gamadv-xtd3/gam" "$@" ; } + export PATH="$HOME/bin/gamadv-xtd3/:$PATH" + #alias gam="$HOME/bin/gamadv-xtd3/gam" + + #gam3() { "$HOME/bin/gamadv-xtd3/gam" "$@" ; } fi # Ensure that appropriate env var are set for gnome-keyring SSH agent @@ -679,5 +692,11 @@ if (( $+commands[fortune] )); then fi fi -# (cat ~/.cache/wal/sequences &) -clear && freshfetch +alias gam="/Users/baptiste/bin/gamadv-xtd3/gam" + +# XXX to be tested/documented +if (( $+commands[oidc-agent-service] )); then + eval $(oidc-agent-service use) + # for fedcloudclient, once egi account got created + export OIDC_AGENT_ACCOUNT=egi +fi From 2ad901153ce83fd9693dd4ffe4ee280d701638fe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 17:51:02 +0100 Subject: [PATCH 0343/2080] tmux: disable continuum --- .tmux.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index 5e4de865..ad679ce8 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -82,7 +82,7 @@ set -g @resurrect-processes 'neomutt' set -g @resurrect-strategy-nvim 'session' # Resurrect pane content -set -g @resurrect-capture-pane-contents 'on' +set -g @resurrect-capture-pane-contents 'off' # Custome tmux session # new -s work -n work neomutt @@ -92,7 +92,7 @@ set -g @resurrect-capture-pane-contents 'on' # select-window -t mail # Tmux continuum -set -g @continuum-restore 'on' +set -g @continuum-restore 'off' # Managing plugins using TPM # prefix+I to install From e722a3561e025c340762e373c6ab9f259187348c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 17:51:35 +0100 Subject: [PATCH 0344/2080] Enable backgroud edit --- .config/neomutt/mutt-common.rc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.config/neomutt/mutt-common.rc b/.config/neomutt/mutt-common.rc index ee6e9e1c..31831fc4 100644 --- a/.config/neomutt/mutt-common.rc +++ b/.config/neomutt/mutt-common.rc @@ -8,7 +8,13 @@ set certificate_file = ~/.mutt/certificates set tmpdir = '~/tmp' -set editor = 'nvim' +# set editor = 'nvim' +# http://www.mutt.org/doc/manual/#bgedit +# XXX only on mutt? +set background_edit +# set editor = "alacritty -e nvim" +set editor = "kitty -e nvim" +#set editor = "~/bin/bgedit-screen-tmux.sh" set shell = "/bin/zsh" # number of input lines for prompts to remember From 28105862d0b00b15628d50ad73cb1d284d10b786 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 17:52:00 +0100 Subject: [PATCH 0345/2080] herbstulftwm: update compose key --- .config/herbstluftwm/autostart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index 456e0634..67552906 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -260,3 +260,5 @@ hc pad 0 40 [ -x ~/bin/autostart.sh ] && ~/bin/autostart.sh # XXX this seems necessary as load from .xinitrc seems uneffective [ -r ~/.Xmodmap ] && xmodmap ~/.Xmodmap +# Use right control as compose key +setxkbmap -option compose:rctrl From 23d996001852b4f4ce94b5de694f5fd6ff649c0a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 17:52:22 +0100 Subject: [PATCH 0346/2080] Update plug.vim --- .config/nvim/autoload/plug.vim | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/.config/nvim/autoload/plug.vim b/.config/nvim/autoload/plug.vim index 2b89b5a6..8a195d36 100644 --- a/.config/nvim/autoload/plug.vim +++ b/.config/nvim/autoload/plug.vim @@ -116,6 +116,10 @@ let s:TYPE = { let s:loaded = get(s:, 'loaded', {}) let s:triggers = get(s:, 'triggers', {}) +function! s:is_powershell(shell) + return a:shell =~# 'powershell\(\.exe\)\?$' || a:shell =~# 'pwsh\(\.exe\)\?$' +endfunction + function! s:isabsolute(dir) abort return a:dir =~# '^/' || (has('win32') && a:dir =~? '^\%(\\\|[A-Z]:\)') endfunction @@ -238,6 +242,8 @@ function! plug#begin(...) let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p')) elseif exists('g:plug_home') let home = s:path(g:plug_home) + elseif has('nvim') + let home = stdpath('data') . '/plugged' elseif !empty(&rtp) let home = s:path(split(&rtp, ',')[0]) . '/plugged' else @@ -263,7 +269,7 @@ function! s:define_commands() endif if has('win32') \ && &shellslash - \ && (&shell =~# 'cmd\(\.exe\)\?$' || &shell =~# 'powershell\(\.exe\)\?$') + \ && (&shell =~# 'cmd\(\.exe\)\?$' || s:is_powershell(&shell)) return s:err('vim-plug does not support shell, ' . &shell . ', when shellslash is set.') endif if !has('nvim') @@ -401,7 +407,7 @@ function! plug#end() for [map, names] in items(lod.map) for [mode, map_prefix, key_prefix] in - \ [['i', '<C-O>', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']] + \ [['i', '<C-\><C-O>', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']] execute printf( \ '%snoremap <silent> %s %s:<C-U>call <SID>lod_map(%s, %s, %s, "%s")<CR>', \ mode, map, map_prefix, string(map), string(names), mode != 'i', key_prefix) @@ -503,7 +509,7 @@ if s:is_win let batchfile = s:plug_tempname().'.bat' call writefile(s:wrap_cmds(a:cmd), batchfile) let cmd = plug#shellescape(batchfile, {'shell': &shell, 'script': 0}) - if &shell =~# 'powershell\(\.exe\)\?$' + if s:is_powershell(&shell) let cmd = '& ' . cmd endif return [batchfile, cmd] @@ -984,7 +990,7 @@ function! s:chsh(swap) set shell=sh endif if a:swap - if &shell =~# 'powershell\(\.exe\)\?$' || &shell =~# 'pwsh$' + if s:is_powershell(&shell) let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s' elseif &shell =~# 'sh' || &shell =~# 'cmd\(\.exe\)\?$' set shellredir=>%s\ 2>&1 @@ -1204,7 +1210,8 @@ function! s:update_impl(pull, force, args) abort normal! 2G silent! redraw - let s:clone_opt = [] + " Set remote name, overriding a possible user git config's clone.defaultRemoteName + let s:clone_opt = ['--origin', 'origin'] if get(g:, 'plug_shallow', 1) call extend(s:clone_opt, ['--depth', '1']) if s:git_version_requirement(1, 7, 10) @@ -2225,7 +2232,7 @@ function! plug#shellescape(arg, ...) let script = get(opts, 'script', 1) if shell =~# 'cmd\(\.exe\)\?$' return s:shellesc_cmd(a:arg, script) - elseif shell =~# 'powershell\(\.exe\)\?$' || shell =~# 'pwsh$' + elseif s:is_powershell(shell) return s:shellesc_ps1(a:arg) endif return s:shellesc_sh(a:arg) @@ -2277,7 +2284,7 @@ function! s:system(cmd, ...) return system(a:cmd) endif let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"shell": &shell, "script": 0})')) - if &shell =~# 'powershell\(\.exe\)\?$' + if s:is_powershell(&shell) let cmd = '& ' . cmd endif else From aafb5e72b6de55840bb3c8b10671861e81834be7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 17:52:52 +0100 Subject: [PATCH 0347/2080] Misc changes --- .mailcap | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.mailcap b/.mailcap index ebb6a3ac..60a6dba0 100644 --- a/.mailcap +++ b/.mailcap @@ -5,9 +5,9 @@ application/octet-stream ; echo "what to do:" %s "can be anything" ; copiousoutput application/ghostview ; pdftotext -layout %s -; xdg-open %s ; copiousoutput -application/pdf ; pdftotext -layout %s -; print=mutt_bgrun xdg-open %s ; copiousoutput -application/x-pdf ; pdftotext -layout %s -; print=mutt_bgrun xdg-open %s ; copiousoutput -application/postscript ; pdftotext -layout %s -; print=mutt_bgrun xdg-open %s ; copiousoutput +application/pdf ; pdftotext -layout %s -; print=xdg-open %s ; copiousoutput +application/x-pdf ; pdftotext -layout %s -; print=xdg-open %s ; copiousoutput +application/postscript ; pdftotext -layout %s -; print=xdg-open %s ; copiousoutput application/x-bzip2 ; bzip2 -dc %s ; copiousoutput application/x-cpio ; cpio -tvF --quiet %s ; copiousoutput application/x-csh ; cat %s ; copiousoutput @@ -47,7 +47,7 @@ audio/* ; mutt_bgrun mplayer %s #image/* ; mutt_bgrun sxiv -bf %s \; reset #image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null image/x-eps ; gv %s ; test=test -n "$DISPLAY" > /dev/null -image/* ; sxiv %s ; test=test -n "$DISPLAY" > /dev/null +image/* ; mutt_bgrun sxiv %s ; test=test -n "$DISPLAY" > /dev/null #image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null #image/* ; fbi %s ; copiousoutput From 7e640bee8ead36290c632c1c3ea2fa9fdab3ffaa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 18:02:24 +0100 Subject: [PATCH 0348/2080] coc: set cSpell lang --- .config/nvim/coc-settings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/coc-settings.json b/.config/nvim/coc-settings.json index 76cd9ba6..40db102b 100644 --- a/.config/nvim/coc-settings.json +++ b/.config/nvim/coc-settings.json @@ -1,4 +1,5 @@ { + "cSpell.language": "en-GB", "python.venvPath": ["~/.virtualenvs"], "python.linting.enabled": false, "python.linting.pylintEnabled": false, From b3799c2d49a3c96128cbbacfe1a129c60a1a04d9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 18:02:48 +0100 Subject: [PATCH 0349/2080] vim mail: use en_gb --- .config/nvim/ftplugin/mail.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/ftplugin/mail.vim b/.config/nvim/ftplugin/mail.vim index 5d2e50f5..8d2f74ec 100644 --- a/.config/nvim/ftplugin/mail.vim +++ b/.config/nvim/ftplugin/mail.vim @@ -26,7 +26,7 @@ let b:sleuth_automatic = 0 " https://github.com/dbeniamine/vim-mail/ " let g:VimMailDoNotFold=1 -let g:VimMailSpellLangs=['en', 'fr'] +let g:VimMailSpellLangs=['en_gb', 'fr'] " Remove quoted signature is killing mine due to flow automatic formatting "let g:VimMailStartFlags={'reply' :"boir" } let g:VimMailStartFlags={ From 7eaa2f5e1517cee0c0569b8c900696ee96949847 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 18:03:10 +0100 Subject: [PATCH 0350/2080] coc: move from python to pyright. --- .config/nvim/plugin/settings/coc.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/plugin/settings/coc.vim b/.config/nvim/plugin/settings/coc.vim index adf0a16f..465b7297 100644 --- a/.config/nvim/plugin/settings/coc.vim +++ b/.config/nvim/plugin/settings/coc.vim @@ -16,7 +16,7 @@ " Auto install required extensions " Update usinsg CocUpdate -let g:coc_global_extensions = [ 'coc-json', 'coc-git', 'coc-python', 'coc-spell-checker', 'coc-snippets' ] +let g:coc_global_extensions = [ 'coc-json', 'coc-git', 'coc-pyright', 'coc-spell-checker', 'coc-snippets' ] " Better display for messages set cmdheight=2 From 91a42f5ea161eefd39eff2ff70dcd7029bbe07f9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 18:15:14 +0100 Subject: [PATCH 0351/2080] zshrc: drop emoji-cli and stedolan install that is no more working --- .zshrc | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.zshrc b/.zshrc index 95c5a611..80797695 100644 --- a/.zshrc +++ b/.zshrc @@ -86,13 +86,6 @@ fi # Load completion library for those sweet [tab] squares # zplug "lib/completion", from:oh-my-zsh -# Load "emoji-cli" if "jq" is installed -zplug "stedolan/jq", \ - from:gh-r, \ - as:command, \ - rename-to:jq -zplug "b4b4r07/emoji-cli", on:"stedolan/jq" - # Improved directory listing # https://github.com/supercrabtree/k #zplug "supercrabtree/k" From 1bfc17dd0050059fb94e2997ed8c040072d35543 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 5 Nov 2022 18:16:11 +0100 Subject: [PATCH 0352/2080] Cleaning --- .config/nvim/init.vim | 53 ++++++++++++++++++------------------------- 1 file changed, 22 insertions(+), 31 deletions(-) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 88e29065..0b267649 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -30,18 +30,17 @@ else Plug 'roxma/vim-hug-neovim-rpc' endif "Plug 'SevereOverfl0w/deoplete-github' -" + " Snippets +" "Editing snippets for current filetype +" :CocCommand snippets.editSnippets " XXX Replaced by https://github.com/neoclide/coc-snippets "Plug 'Shougo/neosnippet' "Plug 'Shougo/neosnippet-snippets' Plug 'honza/vim-snippets' " Colorscheme -" Plug 'arcticicestudio/nord-vim' -" Plug 'rakr/vim-one' Plug 'dracula/vim', { 'as': 'dracula' } -" Plug 'morhetz/gruvbox' " Airline statusbar Plug 'vim-airline/vim-airline' @@ -138,17 +137,30 @@ Plug 'airblade/vim-gitgutter' Plug 'junegunn/gv.vim' Plug 'mattn/gist-vim' -" Sensible default settings +" Enable repeating in supported plugin maps using "." Plug 'tpope/vim-repeat' + +" Sensible default settings Plug 'tpope/vim-sensible' " Automatic indentation autoconfiguration Plug 'tpope/vim-sleuth' +" Correctly increment/decrement dates/times Plug 'tpope/vim-speeddating' + " Easy change of surrounding stuff (tags, quotes...) -Plug 'tpope/vim-surround' +" sa: sandwich add + text object + text +" saw`: surround word with ` +" sd: sandwich delete +" sdt: delete surrounding tag +" sr: sandwich replace +" sr_`: replace _ by ` +Plug 'machakann/vim-sandwich' + +" Pairs of handy bracket mappings Plug 'tpope/vim-unimpaired' + " Hilight utf8-related trolls Plug 'vim-utils/vim-troll-stopper' Plug 'vim-scripts/utl.vim' @@ -229,25 +241,11 @@ endif " Theme set background=dark -let g:nord_italic=1 -let g:nord_italic_comments=1 -let g:nord_underline=1 -let g:nord_cursor_line_number_background=0 -" colorscheme nord -colorscheme dracula -" colorscheme one -" Works nicely with Nord palette -" colorscheme gruvbox -" if has('nvim') - " let g:solarized_use16 = 1 - " colorscheme solarized8 -" else - " colorscheme solarized -" endif - " Use a specific colorscheme for vimdiff " if &diff -" colorscheme evening +" colorscheme industry +" else +colorscheme dracula " endif " Highlight current line @@ -389,7 +387,7 @@ endif """""""""""""""""""""""""""""" " Set spell language -set spelllang=en,fr +set spelllang=en_gb,fr " Enable completion of spell set complete+=kspell @@ -426,13 +424,6 @@ nnoremap k gk vnoremap j gj vnoremap k gk -" Some useful abbreviations - -:iab brb Best regards,<enter>Baptiste -:iab cb Cheers,<enter>Baptiste -" XXX find a better abbreviation -:iab cl ---------8<--------8<-------------8<------------8<------------8<---------- - " https://github.com/tpope/vim-sensible/pull/127 let g:is_posix=1 From ae413dca7c5706bcbc2ede83730b5d5be1cdf3c6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 6 Nov 2022 20:19:01 +0100 Subject: [PATCH 0353/2080] zshrc: move to zinit --- .zshrc | 765 +++++++++++++++++++++++++-------------------------------- 1 file changed, 333 insertions(+), 432 deletions(-) diff --git a/.zshrc b/.zshrc index 80797695..6ef7bf9c 100644 --- a/.zshrc +++ b/.zshrc @@ -3,29 +3,42 @@ # References # https://dotfiles.github.io/ -# HTTps://github.com/zplug/zplug # https://github.com/unixorn/zsh-quickstart-kit +# https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/ # http://awesomeawesome.party/awesome-zsh-plugins +# https://github.com/unixorn/awesome-zsh-plugins # http://reasoniamhere.com/2014/01/11/outrageously-useful-tips-to-master-your-z-shell/ # Ideas: https://github.com/mika/zsh-pony # Testing YADR: http://www.akitaonrails.com/2017/01/10/arch-linux-best-distro-ever +# https://zdharma-continuum.github.io/zinit/wiki/GALLERY/ + +# ZSH plugin framework: zinit https://github.com/zdharma-continuum/zinit +# https://zdharma-continuum.github.io/zinit/wiki +# Cleaning everything +# zi delete --all --yes; unset $_comps +# rm -rf ~/.local/share/zinit; exec zsh -l # Dependencies # - bat: cat/less replacement # - gam: CLI for G Suite # - git -# - hub: git on steroids +# - cli: GitHub CLI # - nvim: vim replacement -# - pydf: df replacement -# - taskwarrior: task management -# - fd: find replacement (installed by zplug) -# - jq: json formatting/queryring (installed by zplug) -# - fzf: fuzzyfinder (installed by zplug) +# - pydf: df replacement (optional) +# - taskwarrior: task management (optional) +# - fd: find replacement (installed automatically) +# - jq: json formatting/queryring (installed automatically) +# - fzf: fuzzyfinder (installed automatically) + +# Fonts +# Hack Regular Nerd Font Complete +# https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Hack +# A font with ligatures +# https://github.com/tonsky/FiraCode # Requirements # Incremental search -# l, ls, hub, docker, df/pydf and other useful aliases -# tip on existing alias +# l, ls, gh, docker, df/pydf and other useful aliases # syntax highlighting # Case insensitive directories completion # Shrunk path in prompt @@ -40,7 +53,6 @@ # auto cd # ls after cd # ssh key management -# simple calc # 256 color / true color # git support # python venv @@ -52,219 +64,265 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]] source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi -export ZPLUG_HOME=~/.zplug - -if [ ! -d "$ZPLUG_HOME" ]; then - git clone https://github.com/zplug/zplug $ZPLUG_HOME +### Added by Zinit's installer +if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then + print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f" + command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit" + command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \ + print -P "%F{33} %F{34}Installation successful.%f%b" || \ + print -P "%F{160} The clone has failed.%f%b" fi -source "$ZPLUG_HOME/init.zsh" - -# Zplug auto update -# XXX Disable to validate if it breaks "special" zplugs such as prezto -# zplug "gwarf/09afddb8741a7ea478ce53aafe20b777", from:gist +source "$HOME/.local/share/zinit/zinit.git/zinit.zsh" +autoload -Uz _zinit +(( ${+_comps} )) && _comps[zinit]=_zinit -if [[ "$OSTYPE" == "darwin"* ]]; then - # Use gnused - brew install gnu-sed - PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" - # Use coreutils GNU utilities - brew install coreutils - PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" - MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" - # Use openjdk from brew - brew install openjdk - PATH="/usr/local/opt/openjdk/bin:$PATH" - # XXX may not be needed - # export CPPFLAGS="-I/usr/local/opt/openjdk/include" +# Load a few important annexes, without Turbo +# (this is currently required for annexes) +zinit light-mode for \ + zdharma-continuum/zinit-annex-as-monitor \ + zdharma-continuum/zinit-annex-bin-gem-node \ + zdharma-continuum/zinit-annex-patch-dl \ + zdharma-continuum/zinit-annex-rust - zplug "lib/clipboard", from:oh-my-zsh - - export HOMEBREW_CASK_OPTS='--no-quarantine' -fi - -# https://github.com/unixorn/awesome-zsh-plugins -# https://gitlab.yuribugelli.it/yuri/dotfiles/blob/master/zsh/zplug.zsh - -# Load completion library for those sweet [tab] squares -# zplug "lib/completion", from:oh-my-zsh - -# Improved directory listing -# https://github.com/supercrabtree/k -#zplug "supercrabtree/k" -if (( $+commands[exa] )); then - zplug "DarrinTisdale/zsh-aliases-exa", use:zsh-aliases-exa.plugin.zsh -fi - -# Fortune -if (( $+commands[fortune] )); then - zplug "plugins/chucknorris", from:oh-my-zsh -fi - -# XXX required? -# zplug "chrissicool/zsh-256color" - -# Fonts -# Hack Regular Nerd Font Complete -# https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Hack -# A font with ligatures -# https://github.com/tonsky/FiraCode +### End of Zinit's installer chunk # Theme # Powerlevel10k: https://github.com/romkatv/powerlevel10k -zplug romkatv/powerlevel10k, use:powerlevel10k.zsh-theme - -# XXX dircolors comes from brew/coreutils on Mac OS X -# Nordic dircolors configuration -# https://github.com/arcticicestudio/nord-dircolors -zplug "arcticicestudio/nord-dircolors", ignore:"*", as:plugin -eval $(dircolors $ZPLUG_HOME/repos/arcticicestudio/nord-dircolors/src/dir_colors) +# Load powerlevel10k theme +# git clone depth +zinit ice depth"1" +zinit light romkatv/powerlevel10k -# Replacement for zsh-users/zsh-syntax-highlighting -# Theme management: fsh-alias -h -zplug "zdharma-continuum/fast-syntax-highlighting" -# Ctrl-R to search multi word with AND -zplug "zdharma-continuum/history-search-multi-word" +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh # Modules from prezto -# https://github.com/sorin-ionescu/prezto/tree/master/modules +# https://github.com/sorin-ionescu/prezto/ +# Completion +zinit snippet PZTM::completion +# Rehash when completing commands +zstyle ":completion:*:commands" rehash 1 # Aliases and color some command output -zplug "modules/utility", from:prezto -zplug "modules/editor", from:prezto -zplug "modules/history", from:prezto +zinit snippet PZTM::editor +# zstyle ':prezto:module:editor' key-bindings 'vi' +zstyle ':prezto:module:editor' dot-expansion 'yes' +zinit snippet PZTM::utility +# Use safe operations by default +zstyle ':prezto:module:utility' safe-ops 'yes' +# Manage history configuration +zinit snippet PZTM::history if (( $+commands[tmux] )); then - zplug "modules/tmux", from:prezto + zinit snippet PZTM::tmux + zstyle ':prezto:module:tmux:auto-start' local 'no' + zstyle ':prezto:module:tmux:auto-start' remote 'yes' + zstyle ':prezto:module:tmux:session' name 'work' + zstyle ':prezto:module:tmux:iterm' integrate 'no' fi if (( $+commands[vagrant] )); then - zplug "modules/vagrant", from:prezto + zinit snippet PZT::modules/vagrant/init.zsh fi +# Color output (auto set to 'no' on dumb terminals). +zstyle ':prezto:*:*' color 'yes' # Modules from oh-my-zsh -# XXX potentially interesting modules -# brew -# colored-man-pages -# colorize -# common-aliases -# docker -# fzf -# git -# gpg-agent -# history-substring-search -# osx -# pip -# python -# rvm -# terraform -# thefuck -# tmux -# vagrant -# vi-mode -zplug "plugins/shrink-path", from:oh-my-zsh +# https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/ +# System clipboard integration +zinit snippet OMZL::clipboard.zsh if (( $+commands[task] )); then - zplug "plugins/taskwarrior", from:oh-my-zsh + zinit snippet OMZP::taskwarrior + # Home-related tasks + alias th='task rc:~/.taskrc-home' fi -# Hub wrapper -if (( $+commands[hub] )); then - zplug "plugins/github", from:oh-my-zsh -fi -# Git completion -zplug "plugins/gitfast", from:oh-my-zsh - -zplug "webyneter/docker-aliases", use:docker-aliases.plugin.zsh - -# Load after modute/editor to enable VI bindings -zplug "sharat87/zsh-vim-mode", defer:3 - -# Modules from zsh-usesr -zplug "zsh-users/zsh-completions" -zplug "zsh-users/zsh-autosuggestions" -zplug "zsh-users/zsh-history-substring-search", defer:2 -# To replace autosuggestions -# zplug "hchbaw/auto-fu.zsh", at:pu, defer:1 - -# XXX Find replacement allowing to disable check for some aliases -zplug "MichaelAquilina/zsh-you-should-use" -export YSU_MESSAGE_POSITION="after" - -# Usage: = 2+2 -zplug "arzzen/calc.plugin.zsh" - -# Should be loaded after modules/utility to overwrite cd alias -# https://github.com/b4b4r07/enhancd -zplug "b4b4r07/enhancd", use:init.sh, defer:3 -export ENHANCD_FILTER='fzf' -# When entering a git repo do a git status, othewise do an ls -export ENHANCD_HOOK_AFTER_CD='([ -d .git ] || git rev-parse --git-dir > /dev/null 2>&1) && git st || ls -lhrt' -# export ENHANCD_COMMAND='c' -export ENHANCD_DISABLE_HOME=1 -export ENHANCD_DISABLE_HYPHEN=1 -export ENHANCD_DISABLE_DOT=1 -export ENHANCD_HYPHEN_ARG=_ -# Run k when entering a directory -# XXX k is too slow, fallback to ls -export ENHANCD_HOOK_AFTER_CD=ls - -zplug "zpm-zsh/mysql-colorize" - -# XXX Check if required -# XXX Check how to use forward-word with autosuggestions -# Load after modute/editor to enable VI bindings -zplug "sharat87/zsh-vim-mode", defer:3 + +# Completion definitions +zinit ice wait'0' blockf lucid +zinit light zsh-users/zsh-completions + +# Install fzf, fd, jq, bat, lsd and diff-so-fancy +zinit from"gh-r" as"program" lucid for \ + sbin"bat-*/bat -> bat" @sharkdp/bat \ + sbin"jq* -> jq" stedolan/jq \ + sbin"diff-so-fancy -> diff-so-fancy" so-fancy/diff-so-fancy \ + sbin"fd/fd" atclone'cp -vf **/autocomplete/_fd _fd' @sharkdp/fd \ + sbin'**/lsd -> lsd' atclone'cp -vf **/autocomplete/_lsd _lsd' Peltoche/lsd \ + sbin"**/bin/gh -> gh" cli/cli \ + junegunn/fzf # Fuzzy command line completion: Ctrl-T -# Grab binaries from GitHub Releases -# zplug "junegunn/fzf", \ -# from:gh-r, \ -# as:command, \ -# use:"*${(L)$(uname -s)}*amd64*" -zplug "junegunn/fzf", use:"shell/*.zsh", defer:2, on:"junegunn/fzf-bin" +# Fuzzy command line history search: Ctrl-R +# Grab binaries from GitHub Releases junegunn/fzf +# Source initialisation files and get fzf-tmux +zinit ice lucid wait"0" as'program' id-as"junegunn/fzf-extras" \ + multisrc"shell/{completion,key-bindings}.zsh" \ + pick"bin/fzf-tmux" +zinit light junegunn/fzf + +# Alernative way to source initialisation files +# zinit snippet 'https://github.com/junegunn/fzf/blob/master/shell/key-bindings.zsh' +# zinit snippet 'https://github.com/junegunn/fzf/blob/master/shell/completion.zsh' + +# Completion for OpenStack +# mirror of https://gist.github.com/philipsd6/aea968e80342973fd8d3aeeda343dae5 +# zplug "gwarf/a18dbeaa01d6cf14a95c31a1c7036f61", \ +# from:gist, \ +# as:plugin +# TODO check that vboxmanage completion is available +# /usr/share/zsh/site-functions/_virtualbox +# if (( $+commands[VBoxManage] )); then +# compdef vboxmanage=VBoxManage vboxheadless=VBoxHeadless +# compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless +# fi + +# tab completion using fzf +# https://github.com/Aloxaf/fzf-tab +zinit ice wait lucid blockf +zinit light Aloxaf/fzf-tab +# disable sort when completing `git checkout` +zstyle ':completion:*:git-checkout:*' sort false +# set descriptions format to enable group support +zstyle ':completion:*:descriptions' format '[%d]' +# preview directory's content with lsd when completing cd +zstyle ':fzf-tab:complete:cd:*' fzf-preview 'lsd --oneline --icon always --color always $realpath' +# switch group using `,` and `.` +zstyle ':fzf-tab:*' switch-group ',' '.' + +# XXX dircolors comes from brew/coreutils on Mac OS X +zinit ice atclone"dircolors -b LS_COLORS > clrs.zsh" \ + atpull"%atclone" pick"clrs.zsh" nocompile'!' +zinit light trapd00r/LS_COLORS # https://github.com/hschne/fzf-git # use git <command> ** -zplug "hschne/fzf-git" +zinit light hschne/fzf-git # Git + fzf # https://github.com/wfxr/forgit -zplug 'wfxr/forgit' +zinit light wfxr/forgit + +if [[ "$OSTYPE" == "darwin"* ]]; then + # Use gnused - brew install gnu-sed + PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" + # Use coreutils GNU utilities - brew install coreutils + PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" + export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" + # Use openjdk from brew - brew install openjdk + PATH="/usr/local/opt/openjdk/bin:$PATH" + # XXX may not be needed + # export CPPFLAGS="-I/usr/local/opt/openjdk/include" + # export LDFLAGS="-L/usr/lib/openssl-1.0"; export CFLAGS="-I/usr/include/openssl-1.0" + + export HOMEBREW_CASK_OPTS='--no-quarantine' + export HOMEBREW_NO_ANALYTICS=1 + +# Add go to the path + if [ -d "$HOME/go" ]; then + export GOPATH="$HOME/go" + export GOBIN="$GOPATH/bin" + export GOROOT=/usr/local/opt/go/libexec + # For github.com/raviqqe/liche + export GO111MODULE=on + export PATH="$PATH:$GOBIN" + export PATH="$PATH:$GOROOT/bin" + fi -zplug "so-fancy/diff-so-fancy", as:command + # https://github.com/pyenv/pyenv/wiki/Common-build-problems + # Required for building python with pyenv on Mac OS X + CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" + # Speeding up build + CFLAGS="-O2 $CFLAGS" + export CFLAGS LDFLAGS + # PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 -# Clashing with forgit, not sure if useful -# Git aliases -# zplug "plugins/git", from:oh-my-zsh -# https://github.com/unixorn/git-extra-commands -zplug "unixorn/git-extra-commands" + # tail-like of postfix logs on MacOS X + postfix_log() { + log stream --predicate '(process == "smtpd") || (process == "smtp") || (process == "master")' --info + } -# Replacement for autojump -zplug "rupa/z", use:"*.sh" + # https://apple.stackexchange.com/questions/3253/ctrl-o-behavior-in-terminal-app + # To prevent ctrl-o in vim being discared by the terminal driver + # XXX returning error with updated conf + # stty: 'standard input': Operation not supported by device + # stty discard undef -# Replacement for find -zplug "sharkdp/fd" + # cd into whatever is the forefront Finder window. + cdf() { # short for cdfinder + cd "`osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)'`" + } +fi -# Completion for OpenStack -# mirror of https://gist.github.com/philipsd6/aea968e80342973fd8d3aeeda343dae5 -zplug "gwarf/a18dbeaa01d6cf14a95c31a1c7036f61", \ - from:gist, \ - as:plugin +# Enable multicolor terminal, if available +zinit light chrissicool/zsh-256color -# npm / nvm -zplug "lukechilds/zsh-nvm" -# [ -f /usr/share/nvm/init-nvm.sh ] && source /usr/share/nvm/init-nvm.sh +# fast-syntax-highlighting and autosuggestions +# Theme management: fsh-alias -h +zinit wait lucid for \ + atload"_zsh_autosuggest_start" zsh-users/zsh-autosuggestions \ + atinit"zpcompinit;zpcdreplay" zdharma-continuum/fast-syntax-highlighting +export ZSH_AUTOSUGGEST_STRATEGY=(history completion) +# Accept autosuggestion using Ctrl-space +bindkey '^ ' autosuggest-accept -# Python virtualenv management +# Substring search in history +zinit light zsh-users/zsh-history-substring-search +zmodload zsh/terminfo +# Try to catch many different keys +# https://github.com/zsh-users/zsh-history-substring-search/issues/64 +bindkey '' history-substring-search-up +bindkey '' history-substring-search-down +bindkey '^[[A' history-substring-search-up +bindkey '^[[B' history-substring-search-down +bindkey '\eOA' history-substring-search-up # or ^[OA +bindkey '\eOB' history-substring-search-down # or ^[OB +[ -n "${terminfo[kcuu1]}" ] && bindkey "${terminfo[kcuu1]}" history-substring-search-up +[ -n "${terminfo[kcud1]}" ] && bindkey "${terminfo[kcud1]}" history-substring-search-down +bindkey -M emacs '^P' history-substring-search-up +bindkey -M emacs '^N' history-substring-search-down +bindkey -M vicmd 'k' history-substring-search-up +bindkey -M vicmd 'j' history-substring-search-down -# pyenv -# XXX pyenv can seriously slow down shell bootstrap -# https://stackoverflow.com/a/41573588 -# https://alysivji.github.io/setting-up-pyenv-virtualenvwrapper.html -# https://gist.github.com/Geoyi/f55ed54d24cc9ff1c14bd95fac21c042 -# https://github.com/pyenv/pyenv/issues/784 -# https://github.com/pyenv/pyenv-virtualenv/issues/42 -# XXX not using pyenv-virtualenv as I want virtualenvs under ~/.virtualenvs -zplug 'pyenv/pyenv', as:"command", use:"bin/*" +# A smarter cd command +# XXX feature for chpwd hook is not yet released as of 2022-11-06 +# FIXME install from master/cargo +# https://github.com/ajeetdsouza/zoxide/pull/474 +# zinit ice wait"2" as"command" from"gh-r" lucid \ +# atclone"./zoxide init zsh --cmd cd > init.zsh" \ +# atpull"%atclone" src"init.zsh" nocompile'!' +# zinit light ajeetdsouza/zoxide + +# Run git status or ls when entering a directory +autoload -Uz add-zsh-hook +function custom_chpwd() { + if [[ -d ".git" ]] || git rev-parse --git-dir > /dev/null 2>&1; then + git st + fi + ls +} +add-zsh-hook chpwd custom_chpwd -# https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv -# virtualenvs are stored in ~/.virtualenvs +autoload -Uz compinit + +if [ $(date +'%j') != $(date -r ${ZDOTDIR:-$HOME}/.zcompdump +'%j') ]; then + compinit; +else + compinit -C; +fi + +if (( $+commands[mysql] )); then + zinit light "zpm-zsh/mysql-colorize" +fi + +# npm / nvm +# export NVM_COMPLETION=true +export NVM_LAZY_LOAD=true +export NVM_NO_USE=false +zinit ice wait lucid +zinit light lukechilds/zsh-nvm + +# Python virtualenv management # -# Default autoswitchvirtualenv -# export AUTOSWITCH_DEFAULTENV="defaultenv" +# pyenv # # Checking available python versions # pyenv install -l @@ -279,103 +337,33 @@ zplug 'pyenv/pyenv', as:"command", use:"bin/*" # Setting directory specific version # pyenv local 3.10.7 # +# https://github.com/zdharma-continuum/zinit-packages/tree/main/pyenv +zinit as'null' lucid atinit'export PYENV_ROOT="$PWD"' \ + atclone'PYENV_ROOT="$PWD" ./libexec/pyenv init - > zpyenv.zsh' \ + atpull"%atclone" src"zpyenv.zsh" nocompile'!' sbin"bin/pyenv" for \ + pyenv/pyenv + +# https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv +# virtualenvs are stored in ~/.virtualenvs +# # Creating a venv manually # pyenv local 3.10.7 # python3 -m venv ~/.virtualenvs/impact-report # source ~/.virtualenvs/impact-report/bin/activate # echo 'impact-report' > .venv -zplug "MichaelAquilina/zsh-autoswitch-virtualenv" +zinit light MichaelAquilina/zsh-autoswitch-virtualenv -# Potentially lighter than pyenv -# https://github.com/cxreg/smartcd -# https://github.com/anyenv/anyenv -# https://varrette.gforge.uni.lu/blog/2019/09/10/using-pyenv-virtualenv-direnv/ -# -# asdf +# asdf: https://github.com/asdf-vm/asdf # git clone https://github.com/asdf-vm/asdf.git ~/.asdf # asdf plugin-add python https://github.com/tuvistavie/asdf-python.git # asdf plugin list-all python -# export LDFLAGS="-L/usr/lib/openssl-1.0"; export CFLAGS="-I/usr/include/openssl-1.0" # asdf plugin install python 2.7 # zplug "plugins/asdf", from:oh-my-zsh -# asdf: https://github.com/asdf-vm/asdf # https://github.com/kiurchv/asdf.plugin.zsh # zplug "kiurchv/asdf.plugin.zsh", defer:2 -# prezto configuration -# prezto/utility -# Use safe operations by default -zstyle ':prezto:module:utility' safe-ops 'yes' -# Color output (auto set to 'no' on dumb terminals). -zstyle ':prezto:*:*' color 'yes' -# prezto/editor -zstyle ':prezto:module:editor' key-bindings 'vi' -zstyle ':prezto:module:editor' dot-expansion 'yes' -zstyle ':prezto:module:tmux:auto-start' local 'no' -zstyle ':prezto:module:tmux:auto-start' remote 'yes' -zstyle ':prezto:module:tmux:session' name 'work' -zstyle ':prezto:module:tmux:iterm' integrate 'no' - -zplug 'zplug/zplug', hook-build:'zplug --self-manage' - -# Install plugins if there are plugins that have not been installed -if ! zplug check --verbose; then - printf "Install? [y/N]: " - if read -q; then - echo; zplug install - fi -fi - -# Then, source plugins and add commands to $PATH -zplug load - -# Path management -typeset -U path -path+=/usr/local/sbin -if [ -d $HOME/bin ]; then - PATH="$HOME/bin:$PATH" -fi -if [ -d $HOME/.local/bin ]; then - PATH="$HOME/.local/bin:$PATH" -fi -if [ -d $HOME/.yarn/bin ]; then - PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" -fi - -MAILDIR=~/Mail - -PROJECT_HOME="$HOME/code" - -export PATH MANPATH MAILDIR PROJECT_HOME - -# Plugins-specific configuration required after loading them - -# For MichaelAquilina/zsh-you-should-use -export YSU_HARDCORE=0 - -# For zsh-users/zsh-completions -export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=60,bold" -bindkey '^ ' autosuggest-accept - -# A smarter cd command -if (( $+commands[zoxide] )); then - eval "$(zoxide init zsh)" -fi - -# XXX Slowing doing the prompt -if (( $+commands[pyenv] )); then - export PYENV_ROOT="${ZPLUG_HOME}/repos/pyenv/pyenv" - eval "$(pyenv init --no-rehash - zsh)" -fi - # ZSH options -# XXX to be checked -# Disable duplicates in substring search -# https://github.com/zsh-users/zsh-history-substring-search/issues/19 -# setopt HIST_IGNORE_ALL_DUPS -# setopt HIST_FIND_NO_DUPS - # Enable zmv autoload -U zmv @@ -388,30 +376,6 @@ setopt auto_cd # Automatically fill the directory stack setopt auto_pushd pushd_silent pushd_ignore_dups -## Completion - -# Hilight directories and use colors in ZSH completion -zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)(?)*==34=34}:${(s.:.)LS_COLORS}")'; - -# Rehash when completing commands -zstyle ":completion:*:commands" rehash 1 -# Completion menu's navigation with arrows -zstyle ':completion:*' menu select -zstyle ':completion:*:matches' group 'yes' -# let's use the tag name as group name -zstyle ':completion:*' group-name "" -zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b' -zstyle ':completion:*:descriptions' format "%{${fg_bold[magenta]}%}= %d =%{$reset_color%}" -# Case insensitive completion -# https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/completion.zsh -zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*' - -# Always use substring search -bindkey '^[[A' history-substring-search-up -bindkey '^[[B' history-substring-search-down - -bindkey -M vicmd 'j' history-substring-search-down - # In Vi mode use q to allow to use another command before current one bindkey -M vicmd "q" push-line @@ -429,13 +393,6 @@ insert_sudo () { zle beginning-of-line; zle -U '_ ' } zle -N insert-sudo insert_sudo bindkey 's' insert-sudo -# Misc - -# Preferred terminal -if (( $+commands[kitty] )); then - export TERMINAL='kitty' -fi - # Preferred editor for local and remote sessions if (( $+commands[nvim] )); then export EDITOR='nvim' @@ -447,29 +404,10 @@ else export EDITOR='vim' fi -# https://github.com/sharkdp/bat -if (( $+commands[bat] )); then - export SYSTEMD_PAGER='bat' - # Fallback as man pager - if [ -z "$MANPAGER" ]; then - export MANPAGER="sh -c 'col -bx | bat -l man -p'" - fi - export BAT_THEME='Dracula' -else - export SYSTEMD_PAGER='cat' -fi - if (( $+commands[msfconsole] )); then alias msfconsole='msfconsole --quiet' fi -# Manually set language environment -LC_ALL=en_US.UTF-8 -LANG=en_US.UTF-8 -export LC_ALL LANG - -export MAKEOPS='j6' - # --preserver-root is for GNU versions # do not delete / or prompt if deleting more than 3 files at a time alias rm='nocorrect rm -i --preserve-root' @@ -479,32 +417,16 @@ alias chown='chown --preserve-root' alias chmod='chmod --preserve-root' alias chgrp='chgrp --preserve-root' -# Alias lsd to ls: https://github.com/Peltoche/lsd -if (( $+commands[lsd] )); then - alias ls='lsd --group-dirs first' - alias lt='ls --tree' -fi +alias ls='lsd --group-dirs first' +alias lt='ls --tree' alias l='ls -l' alias la='ls -a' alias lla='ls -la' # list only directories - alias lsdir='ls -d */' +alias lsdir='ls -d */' # list only files alias lsfiles="ls -rtF | grep -v '.*/'" -# Global aliases -alias -g A="| awk" -# Color output using ccze -# XXX ccze -A | less -R -if (( $+commands[ccze] )); then - alias -g C="| ccze -A" -fi -alias -g L='| $PAGER' -alias -g P=' --help | less' -alias -g R="| ruby -e" -alias -g V="| vim -R -" -alias -g U=' --help | head' - # Suffix aliases alias -s zip=zipinfo alias -s tgz=gzcat @@ -518,21 +440,21 @@ alias -s C=vim alias -s cpp=vim alias -s txt=vim alias -s xml=vim -alias -s html=chromium -alias -s xhtml=chromium -alias -s pdf=okular -alias -s gif=sxiv -alias -s jpg=sxiv -alias -s jpeg=sxiv -alias -s png=sxiv -alias -s bmp=sxiv -alias -s mp3=clementine -alias -s m4a=clementine -alias -s ogg=clementine - -# noremoteglob breaks scp with filenames containing parenthesis -unalias scp -alias scp='noglob scp' +alias -s html=firefox +alias -s xhtml=firefox +# alias -s pdf=okular +if (( $+commands[sxiv] )); then + alias -s gif=sxiv + alias -s jpg=sxiv + alias -s jpeg=sxiv + alias -s png=sxiv + alias -s bmp=sxiv +fi +if (( $+commands[clementine] )); then + alias -s mp3=clementine + alias -s m4a=clementine + alias -s ogg=clementine +fi # Aliases for launching some vimwikis alias vimnote='vim -c VimwikiMakeDiaryNote' @@ -545,43 +467,6 @@ alias dashboard="vim -p -c TW -c 'VimwikiTabIndex 1' -c 'VimwikiTabIndex 2'" # Color iproute2 output alias ip='ip -color=auto' -# Home-related tasks -alias th='task rc:~/.taskrc-home' - -if [[ "$OSTYPE" == "darwin"* ]]; then - # https://github.com/pyenv/pyenv/wiki/Common-build-problems - # Required for building python with pyenv on Mac OS X - CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" - # Speeding up build - CFLAGS="-O2 $CFLAGS" - export CFLAGS LDFLAGS - # PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 - - # tail-like of postfix logs on MacOS X - postfix_log() { - log stream --predicate '(process == "smtpd") || (process == "smtp") || (process == "master")' --info - } - - # https://apple.stackexchange.com/questions/3253/ctrl-o-behavior-in-terminal-app - # To prevent ctrl-o in vim being discared by the terminal driver - # XXX returning error with updated conf - # stty: 'standard input': Operation not supported by device - # stty discard undef - - # cd into whatever is the forefront Finder window. - cdf() { # short for cdfinder - cd "`osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)'`" - } -fi - -# TODO check that vboxmanage completion is available -# /usr/share/zsh/site-functions/_virtualbox -if (( $+commands[VBoxManage] )); then - compdef vboxmanage=VBoxManage vboxheadless=VBoxHeadless - compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless -fi - # Use pydf if available if (( $+commands[pydf] )); then alias df=pydf @@ -601,21 +486,6 @@ drun() { alias stack='docker run -it --rm -v ~/.stack:~/.stack gbraad/openstack-client:centos stack' -# Colorize output using ccze -if (( $+commands[ccze] )); then - journalctl() { - command journalctl $@ | ccze -A - } - - last() { - command last $@ | ccze -A - } - - free() { - command free $@ | ccze -A - } -fi - # scan the local network and list the connected devices lscan() { local ipRange=$(ip addr | grep -oE "192.168.*.*/[1-9]{2}" | awk -F '.' '{print $3}') @@ -629,9 +499,7 @@ if [ -x "$HOME/bin/gamadv-xtd3/gam" ]; then # https://github.com/taers232c/GAMADV-XTD3 # gam() { "$HOME/bin/gamadv-xtd3/gam" "$@" ; } export PATH="$HOME/bin/gamadv-xtd3/:$PATH" - #alias gam="$HOME/bin/gamadv-xtd3/gam" - - #gam3() { "$HOME/bin/gamadv-xtd3/gam" "$@" ; } + alias gam="$HOME/bin/gamadv-xtd3/gam" fi # Ensure that appropriate env var are set for gnome-keyring SSH agent @@ -654,29 +522,16 @@ fi [ -f ~/.secrets ] && source ~/.secrets [ -f ~/.appdb-env.sh ] && source ~/.appdb-env.sh -# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. -[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh - -[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh - -if [[ "$OSTYPE" == "darwin"* ]]; then - # Add go to the path - if [ -d "$HOME/go" ]; then - export GOPATH="$HOME/go" - export GOBIN="$GOPATH/bin" - export GOROOT=/usr/local/opt/go/libexec - # For github.com/raviqqe/liche - export GO111MODULE=on - export PATH="$PATH:$GOBIN" - export PATH="$PATH:$GOROOT/bin" - fi -fi - -# Add RVM to PATH for scripting. Make sure this is the last PATH variable change. -[ -d $HOME/.rvm/bin ]; export PATH="$PATH:$HOME/.rvm/bin" # Load RVM into a shell session *as a function* [ -s "$HOME/.rvm/scripts/rvm" ] && . "$HOME/.rvm/scripts/rvm" +# XXX to be tested/documented +if (( $+commands[oidc-agent-service] )); then + eval $(oidc-agent-service use) + # for fedcloudclient, once egi account got created + export OIDC_AGENT_ACCOUNT=egi +fi + if (( $+commands[fortune] )); then if (( $+commands[cowsay] )); then fortune -o | cowsay @@ -685,11 +540,57 @@ if (( $+commands[fortune] )); then fi fi -alias gam="/Users/baptiste/bin/gamadv-xtd3/gam" +# Env variables -# XXX to be tested/documented -if (( $+commands[oidc-agent-service] )); then - eval $(oidc-agent-service use) - # for fedcloudclient, once egi account got created - export OIDC_AGENT_ACCOUNT=egi +export MAKEOPS='j6' + +# Path management +typeset -U path +path+=/usr/local/sbin +if [ -d $HOME/bin ]; then + PATH="$HOME/bin:$PATH" +fi +if [ -d $HOME/.local/bin ]; then + PATH="$HOME/.local/bin:$PATH" +fi +if [ -d $HOME/.yarn/bin ]; then + PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" +fi +# Add RVM to PATH for scripting. Make sure this is the last PATH variable change. +if [ -d $HOME/.rvm/bin ]; then + PATH="$PATH:$HOME/.rvm/bin" +fi +export PATH + +# Mail storage +export MAILDIR=~/Mail + +# Preferred terminal +if (( $+commands[kitty] )); then + export TERMINAL='kitty' fi + +if (( $+commands[bat] )); then + export SYSTEMD_PAGER='bat' + # Fallback as man pager + if [ -z "$MANPAGER" ]; then + export MANPAGER="sh -c 'col -bx | bat -l man -p'" + fi + export BAT_THEME='Dracula' +else + export SYSTEMD_PAGER='cat' +fi + +# Manually set language environment +LC_ALL=en_GB.UTF-8 +LANG=en_GB.UTF-8 +export LC_ALL LANG + +# FZF configuration +# export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*" 2> /dev/null' +export FZF_DEFAULT_COMMAND='ag -l --path-to-ignore ~/.ignore --nocolor --hidden -g ""' +export FZF_DEFAULT_OPTS="--reverse --exit-0 --border --ansi" +export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" +export FZF_ALT_C_COMMAND="fd -t d ." +export FZF_CTRL_T_OPTS="--preview '(highlight -O ansi -l {} 2> /dev/null || bat {} || tree -C {}) 2> /dev/null | head -200'" +export FZF_CTRL_R_OPTS="--preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'" From 34b2754be927d34f0c421a7f21c16e7c86bcfb54 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 6 Nov 2022 20:24:47 +0100 Subject: [PATCH 0354/2080] Bump plug.vim --- .config/nvim/autoload/plug.vim | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/.config/nvim/autoload/plug.vim b/.config/nvim/autoload/plug.vim index 8a195d36..652caa82 100644 --- a/.config/nvim/autoload/plug.vim +++ b/.config/nvim/autoload/plug.vim @@ -352,7 +352,7 @@ function! plug#end() endif let lod = { 'ft': {}, 'map': {}, 'cmd': {} } - if exists('g:did_load_filetypes') + if get(g:, 'did_load_filetypes', 0) filetype off endif for name in g:plugs_order @@ -2621,26 +2621,34 @@ function! s:preview_commit() let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}') if empty(sha) - return + let name = matchstr(getline('.'), '^- \zs[^:]*\ze:$') + if empty(name) + return + endif + let title = 'HEAD@{1}..' + let command = 'git diff --no-color HEAD@{1}' + else + let title = sha + let command = 'git show --no-color --pretty=medium '.sha + let name = s:find_name(line('.')) endif - let name = s:find_name(line('.')) if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir) return endif if exists('g:plug_pwindow') && !s:is_preview_window_open() execute g:plug_pwindow - execute 'e' sha + execute 'e' title else - execute 'pedit' sha + execute 'pedit' title wincmd P endif - setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable + setlocal previewwindow filetype=git buftype=nofile bufhidden=wipe nobuflisted modifiable let batchfile = '' try let [sh, shellcmdflag, shrd] = s:chsh(1) - let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha + let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && '.command if s:is_win let [batchfile, cmd] = s:batchfile(cmd) endif @@ -2766,9 +2774,9 @@ function! s:snapshot(force, ...) abort 1 let anchor = line('$') - 3 let names = sort(keys(filter(copy(g:plugs), - \'has_key(v:val, "uri") && !has_key(v:val, "commit") && isdirectory(v:val.dir)'))) + \'has_key(v:val, "uri") && isdirectory(v:val.dir)'))) for name in reverse(names) - let sha = s:git_revision(g:plugs[name].dir) + let sha = has_key(g:plugs[name], 'commit') ? g:plugs[name].commit : s:git_revision(g:plugs[name].dir) if !empty(sha) call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha)) redraw From 7949e7ab969ba0fed5d1b16c73aacdee35fc59ca Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 6 Nov 2022 20:25:24 +0100 Subject: [PATCH 0355/2080] nvim: load zdharma-continuum/zinit-vim-syntax --- .config/nvim/init.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 0b267649..68761cac 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -103,6 +103,7 @@ Plug 'Yggdroot/LeaderF', { 'do': './install.sh' } " File types' support Plug 'sheerun/vim-polyglot' Plug 'darfink/vim-plist' +Plug 'zdharma-continuum/zinit-vim-syntax' " Plug 'pearofducks/ansible-vim' " Plug 'mv/mv-vim-puppet' " Plug 'PotatoesMaster/i3-vim-syntax' From d0947ea660da28cc899076d853d6a8901e436036 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 6 Nov 2022 20:26:13 +0100 Subject: [PATCH 0356/2080] Bump p10k conf --- .p10k.zsh##os.Linux | 551 +++++++++++++++++++++++++++----------------- 1 file changed, 344 insertions(+), 207 deletions(-) diff --git a/.p10k.zsh##os.Linux b/.p10k.zsh##os.Linux index 65d4eecf..bde3d6b6 100644 --- a/.p10k.zsh##os.Linux +++ b/.p10k.zsh##os.Linux @@ -1,7 +1,7 @@ -# Generated by Powerlevel10k configuration wizard on 2020-05-23 at 13:29 CEST. -# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 54726. +# Generated by Powerlevel10k configuration wizard on 2022-11-06 at 10:18 CET. +# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 19454. # Wizard options: nerdfont-complete + powerline, small icons, rainbow, unicode, -# angled separators, sharp heads, slanted tails, 2 lines, solid, full frame, +# 24h time, angled separators, sharp heads, round tails, 2 lines, solid, no frame, # dark-ornaments, sparse, many icons, fluent, transient_prompt, instant_prompt=quiet. # Type `p10k configure` to generate another config. # @@ -24,10 +24,10 @@ # Unset all configuration options. This allows you to apply configuration changes without # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. - unset -m 'POWERLEVEL9K_*|DEFAULT_USER' + unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' # Zsh >= 5.1 is required. - autoload -Uz is-at-least && is-at-least 5.1 || return + [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return # The list of segments shown on the left. Fill it with the most important segments. typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( @@ -37,7 +37,7 @@ vcs # git status # =========================[ Line #2 ]========================= newline # \n - # prompt_char # prompt symbol + prompt_char # prompt symbol ) # The list of segments shown on the right. Fill it with less important segments. @@ -72,23 +72,28 @@ luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) jenv # java version from jenv (https://github.com/jenv/jenv) plenv # perl version from plenv (https://github.com/tokuhirom/plenv) + perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew) phpenv # php version from phpenv (https://github.com/phpenv/phpenv) + scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) haskell_stack # haskell version from stack (https://haskellstack.org/) kubecontext # current kubernetes context (https://kubernetes.io/) terraform # terraform workspace (https://www.terraform.io) + # terraform_version # terraform version (https://www.terraform.io) aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) gcloud # google cloud cli account and project (https://cloud.google.com/) google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) + toolbox # toolbox name (https://github.com/containers/toolbox) context # user@hostname nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) ranger # ranger shell (https://github.com/ranger/ranger) nnn # nnn shell (https://github.com/jarun/nnn) + xplr # xplr shell (https://github.com/sayanarijit/xplr) vim_shell # vim shell indicator (:sh) midnight_commander # midnight commander shell (https://midnight-commander.org/) nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) - vi_mode # vi mode (you don't need this if you've enabled prompt_char) + # vi_mode # vi mode (you don't need this if you've enabled prompt_char) # vpn_ip # virtual private network indicator # load # CPU load # disk_usage # disk usage @@ -97,7 +102,8 @@ todo # todo items (https://github.com/todotxt/todo.txt-cli) timewarrior # timewarrior tracking status (https://timewarrior.net/) taskwarrior # taskwarrior task count (https://taskwarrior.org/) - # time # current time + # cpu_arch # CPU architecture + time # current time # =========================[ Line #2 ]========================= newline # ip # ip address and bandwidth usage for a specified network interface @@ -132,18 +138,18 @@ # Connect left prompt lines with these symbols. You'll probably want to use the same color # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%240F╭─' - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%240F├─' - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%240F╰─' + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX= # Connect right prompt lines with these symbols. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%240F─╮' - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%240F─┤' - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%240F─╯' + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX= # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or # '─'. The last two make it easier to see the alignment between left and right prompt and to # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false - # for more compact prompt if using using this option. + # for more compact prompt if using this option. typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='─' typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= @@ -170,9 +176,9 @@ # The left end of right prompt. typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2' # The left end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0BA' + typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B6' # The right end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0BC' + typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B4' # Left prompt terminator for lines without any segments. typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= @@ -195,7 +201,7 @@ # Prompt symbol in command vi mode. typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' # Prompt symbol in visual vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='Ⅴ' + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' # Prompt symbol in overwrite vi mode. typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true @@ -254,6 +260,11 @@ # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers # and other directories don't. + # + # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer. + # This moves the truncation point to the right (positive offset) or to the left (negative offset) + # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" + # respectively. typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false # Don't shorten this many last directory segments. They are anchors. typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 @@ -275,12 +286,12 @@ # the full directory that was used in previous commands. typeset -g POWERLEVEL9K_DIR_HYPERLINK=false - # Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and - # POWERLEVEL9K_DIR_CLASSES below. - typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2 + # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON + # and POWERLEVEL9K_DIR_CLASSES below. + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 - # The default icon shown next to non-writable directories when POWERLEVEL9K_DIR_SHOW_WRITABLE is - # set to v2. + # The default icon shown next to non-writable and non-existent directories when + # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different @@ -293,8 +304,8 @@ # # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. # - # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v2 and the current directory is not writable, - # its class gets suffix _NOT_WRITABLE. + # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories + # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. # # For example, given these settings: # @@ -303,10 +314,11 @@ # '~(|/*)' HOME '' # '*' DEFAULT '') # - # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with class - # WORK or WORK_NOT_WRITABLE. + # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one + # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or + # WORK_NON_EXISTENT. # - # Simply assigning classes to directories don't have any visible effects. It merely gives you an + # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an # option to define custom colors and icons for different directory classes. # # # Styling for WORK. @@ -323,6 +335,13 @@ # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=250 # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=255 # + # # Styling for WORK_NON_EXISTENT. + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_BACKGROUND=4 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=254 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=250 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=255 + # # If a styling parameter isn't explicitly defined for some class, it falls back to the classless # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls # back to POWERLEVEL9K_DIR_FOREGROUND. @@ -333,14 +352,14 @@ # typeset -g POWERLEVEL9K_DIR_PREFIX='in ' #####################################[ vcs: git status ]###################################### - # Version control system colors. - # typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=2 - # typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=3 - # typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=2 - # typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=3 - # typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8 - - # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. + # Version control background colors. + typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=2 + typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=3 + typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=2 + typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=3 + typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8 + + # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon. typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' # Untracked files icon. It's really a question mark, your font isn't broken. @@ -349,7 +368,7 @@ # Formatter for Git status. # - # Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42. + # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42. # # You can edit the function to customize how Git status looks. # @@ -373,28 +392,42 @@ local conflicted='%1F' # red foreground local res - local where # branch or tag + if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then - res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}" - where=${(V)VCS_STATUS_LOCAL_BRANCH} - elif [[ -n $VCS_STATUS_TAG ]]; then - res+="${meta}#" - where=${(V)VCS_STATUS_TAG} + local branch=${(V)VCS_STATUS_LOCAL_BRANCH} + # If local branch name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show local branch name in full without truncation, delete the next line. + (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line + res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}" fi - # If local branch name or tag is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show local branch name in full without truncation, delete the next line. - (( $#where > 32 )) && where[13,-13]="…" - res+="${clean}${where//\%/%%}" # escape % + if [[ -n $VCS_STATUS_TAG + # Show tag only if not on a branch. + # Tip: To always show tag, delete the next line. + && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line + ]]; then + local tag=${(V)VCS_STATUS_TAG} + # If tag name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show tag name in full without truncation, delete the next line. + (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line + res+="${meta}#${clean}${tag//\%/%%}" + fi - # Display the current Git commit if there is no branch or tag. - # Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line. - [[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + # Display the current Git commit if there is no branch and no tag. + # Tip: To always display the current Git commit, delete the next line. + [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line + res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" # Show tracking branch name if it differs from local branch. if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then - res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape % + res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" + fi + + # Display "wip" if the latest commit's summary contains "wip" or "WIP". + if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then + res+=" ${modified}wip" fi # ⇣42 if behind the remote. @@ -460,7 +493,7 @@ # Show status of repositories of these types. You can add svn and/or hg if you are # using them. If you do, your prompt may become slow even when your current directory - # isn't in an svn or hg reposotiry. + # isn't in an svn or hg repository. typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) ##########################[ status: exit code of the last command ]########################### @@ -470,45 +503,45 @@ # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as # it will signify success by turning green. - typeset -g POWERLEVEL9K_STATUS_OK=true + typeset -g POWERLEVEL9K_STATUS_OK=false typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' - # typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=2 - # typeset -g POWERLEVEL9K_STATUS_OK_BACKGROUND=0 + typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=2 + typeset -g POWERLEVEL9K_STATUS_OK_BACKGROUND=0 # Status when some part of a pipe command fails but the overall exit status is zero. It may look # like this: 1|0. typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' - # typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=2 - # typeset -g POWERLEVEL9K_STATUS_OK_PIPE_BACKGROUND=0 + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=2 + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_BACKGROUND=0 # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as # it will signify error by turning red. - typeset -g POWERLEVEL9K_STATUS_ERROR=true + typeset -g POWERLEVEL9K_STATUS_ERROR=false typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' - # typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=3 - # typeset -g POWERLEVEL9K_STATUS_ERROR_BACKGROUND=1 + typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=3 + typeset -g POWERLEVEL9K_STATUS_ERROR_BACKGROUND=1 # Status when the last command was terminated by a signal. typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true # Use terse signal names: "INT" instead of "SIGINT(2)". typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' - # typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=3 - # typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_BACKGROUND=1 + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=3 + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_BACKGROUND=1 # Status when some part of a pipe command fails and the overall exit status is also non-zero. # It may look like this: 1|0. typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' - # typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=3 - # typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_BACKGROUND=1 + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=3 + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_BACKGROUND=1 ###################[ command_execution_time: duration of the last command ]################### # Execution time color. typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=0 typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=3 - # Show duration of the last command if takes longer than this many seconds. + # Show duration of the last command if takes at least this many seconds. typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 # Show this many fractional digits. Zero means round to seconds. typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 @@ -521,8 +554,8 @@ #######################[ background_jobs: presence of background jobs ]####################### # Background jobs color. - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=6 - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND=0 + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=6 + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND=0 # Don't show the number of background jobs. typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false # Custom icon. @@ -530,13 +563,15 @@ #######################[ direnv: direnv status (https://direnv.net/) ]######################## # Direnv color. - # typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=3 - # typeset -g POWERLEVEL9K_DIRENV_BACKGROUND=0 + typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=3 + typeset -g POWERLEVEL9K_DIRENV_BACKGROUND=0 # Custom icon. # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### # Default asdf color. Only used to display tools for which there is no color override (see below). + # Tip: Override these parameters for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND and + # POWERLEVEL9K_ASDF_${TOOL}_BACKGROUND. typeset -g POWERLEVEL9K_ASDF_FOREGROUND=0 typeset -g POWERLEVEL9K_ASDF_BACKGROUND=7 @@ -583,7 +618,7 @@ typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true # If set to non-empty value, hide tools unless there is a file matching the specified file pattern - # in the current directory, or its parent diretory, or its grandparent directory, and so on. + # in the current directory, or its parent directory, or its grandparent directory, and so on. # # Note: If this parameter is set to empty value, it won't hide tools. # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. @@ -685,10 +720,16 @@ # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' + # Julia version from asdf. + typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_JULIA_BACKGROUND=2 + # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' + ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### # NordVPN connection indicator color. - # typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=7 - # typeset -g POWERLEVEL9K_NORDVPN_BACKGROUND=4 + typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=7 + typeset -g POWERLEVEL9K_NORDVPN_BACKGROUND=4 # Hide NordVPN connection indicator when not connected. typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= @@ -697,36 +738,43 @@ #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## # Ranger shell color. - # typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3 - # typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0 + typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3 + typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0 # Custom icon. # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### # Nnn shell color. - # typeset -g POWERLEVEL9K_NNN_FOREGROUND=0 - # typeset -g POWERLEVEL9K_NNN_BACKGROUND=6 + typeset -g POWERLEVEL9K_NNN_FOREGROUND=0 + typeset -g POWERLEVEL9K_NNN_BACKGROUND=6 # Custom icon. # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' + ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## + # xplr shell color. + typeset -g POWERLEVEL9K_XPLR_FOREGROUND=0 + typeset -g POWERLEVEL9K_XPLR_BACKGROUND=6 + # Custom icon. + # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐' + ###########################[ vim_shell: vim shell indicator (:sh) ]########################### # Vim shell indicator color. - # typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_VIM_SHELL_BACKGROUND=2 + typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0 + typeset -g POWERLEVEL9K_VIM_SHELL_BACKGROUND=2 # Custom icon. # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### # Midnight Commander shell color. - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=3 - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_BACKGROUND=0 + typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=3 + typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_BACKGROUND=0 # Custom icon. # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## # Nix shell color. - # typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4 + typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0 + typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4 # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= @@ -736,12 +784,12 @@ ##################################[ disk_usage: disk usage ]################################## # Colors for different levels of disk usage. - # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3 - # typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND=0 - # typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=0 - # typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND=3 - # typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=7 - # typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND=1 + typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3 + typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND=0 + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=0 + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND=3 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=7 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND=1 # Thresholds for different levels of disk usage (percentage points). typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 @@ -768,15 +816,15 @@ ######################################[ ram: free RAM ]####################################### # RAM color. - # typeset -g POWERLEVEL9K_RAM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RAM_BACKGROUND=3 + typeset -g POWERLEVEL9K_RAM_FOREGROUND=0 + typeset -g POWERLEVEL9K_RAM_BACKGROUND=3 # Custom icon. # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' #####################################[ swap: used swap ]###################################### # Swap color. - # typeset -g POWERLEVEL9K_SWAP_FOREGROUND=0 - # typeset -g POWERLEVEL9K_SWAP_BACKGROUND=3 + typeset -g POWERLEVEL9K_SWAP_FOREGROUND=0 + typeset -g POWERLEVEL9K_SWAP_BACKGROUND=3 # Custom icon. # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' @@ -784,21 +832,21 @@ # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. typeset -g POWERLEVEL9K_LOAD_WHICH=5 # Load color when load is under 50%. - # typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LOAD_NORMAL_BACKGROUND=2 + typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=0 + typeset -g POWERLEVEL9K_LOAD_NORMAL_BACKGROUND=2 # Load color when load is between 50% and 70%. - # typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LOAD_WARNING_BACKGROUND=3 + typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=0 + typeset -g POWERLEVEL9K_LOAD_WARNING_BACKGROUND=3 # Load color when load is over 70%. - # typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND=1 + typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=0 + typeset -g POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND=1 # Custom icon. # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ # Todo color. - # typeset -g POWERLEVEL9K_TODO_FOREGROUND=0 - # typeset -g POWERLEVEL9K_TODO_BACKGROUND=8 + typeset -g POWERLEVEL9K_TODO_FOREGROUND=0 + typeset -g POWERLEVEL9K_TODO_BACKGROUND=8 # Hide todo when the total number of tasks is zero. typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true # Hide todo when the number of tasks after filtering is zero. @@ -822,8 +870,8 @@ ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ # Timewarrior color. - # typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=255 - # typeset -g POWERLEVEL9K_TIMEWARRIOR_BACKGROUND=8 + typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=255 + typeset -g POWERLEVEL9K_TIMEWARRIOR_BACKGROUND=8 # If the tracked task is longer than 24 characters, truncate and append "…". # Tip: To always display tasks without truncation, delete the following parameter. @@ -836,8 +884,8 @@ ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## # Taskwarrior color. - # typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=0 - # typeset -g POWERLEVEL9K_TASKWARRIOR_BACKGROUND=6 + typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=0 + typeset -g POWERLEVEL9K_TASKWARRIOR_BACKGROUND=6 # Taskwarrior segment format. The following parameters are available within the expansion. # @@ -855,6 +903,18 @@ # Custom icon. # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + ################################[ cpu_arch: CPU architecture ]################################ + # CPU architecture color. + typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=0 + typeset -g POWERLEVEL9K_CPU_ARCH_BACKGROUND=3 + + # Hide the segment when on a specific CPU architecture. + # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION= + # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐' + ##################################[ context: user@hostname ]################################## # Context color when running with privileges. typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1 @@ -884,11 +944,12 @@ ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### # Python virtual environment color. - # typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_VIRTUALENV_BACKGROUND=4 + typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_VIRTUALENV_BACKGROUND=4 # Don't show Python version next to the virtual environment name. typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false - # Don't show virtualenv if pyenv is already shown. + # If set to "false", won't show virtualenv if pyenv is already shown. + # If set to "if-different", won't show virtualenv if it's the same as pyenv. typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false # Separate environment name from Python version only with a space. typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= @@ -897,19 +958,42 @@ #####################[ anaconda: conda environment (https://conda.io/) ]###################### # Anaconda environment color. - # typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=0 - # typeset -g POWERLEVEL9K_ANACONDA_BACKGROUND=4 - # Don't show Python version next to the anaconda environment name. - typeset -g POWERLEVEL9K_ANACONDA_SHOW_PYTHON_VERSION=false - # Separate environment name from Python version only with a space. - typeset -g POWERLEVEL9K_ANACONDA_{LEFT,RIGHT}_DELIMITER= + typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=0 + typeset -g POWERLEVEL9K_ANACONDA_BACKGROUND=4 + + # Anaconda segment format. The following parameters are available within the expansion. + # + # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. + # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. + # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). + # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). + # + # CONDA_PROMPT_MODIFIER can be configured with the following command: + # + # conda config --set env_prompt '({default_env}) ' + # + # The last argument is a Python format string that can use the following variables: + # + # - prefix The same as CONDA_PREFIX. + # - default_env The same as CONDA_DEFAULT_ENV. + # - name The last segment of CONDA_PREFIX. + # - stacked_env Comma-separated list of names in the environment stack. The first element is + # always the same as default_env. + # + # Note: '({default_env}) ' is the default value of env_prompt. + # + # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER + # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former + # is empty. + typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' + # Custom icon. # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ # Pyenv color. - # typeset -g POWERLEVEL9K_PYENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PYENV_BACKGROUND=4 + typeset -g POWERLEVEL9K_PYENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_PYENV_BACKGROUND=4 # Hide python version if it doesn't come from one of these sources. typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) # If set to false, hide python version if it's the same as global: @@ -925,18 +1009,18 @@ # # The default format has the following logic: # - # 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not - # empty and unequal to $P9K_CONTENT. - # 2. Otherwise display just "$P9K_CONTENT". - typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}' + # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or + # starts with "$P9K_PYENV_PYTHON_VERSION/". + # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION". + typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}' # Custom icon. # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ # Goenv color. - # typeset -g POWERLEVEL9K_GOENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_GOENV_BACKGROUND=4 + typeset -g POWERLEVEL9K_GOENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_GOENV_BACKGROUND=4 # Hide go version if it doesn't come from one of these sources. typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) # If set to false, hide go version if it's the same as global: @@ -949,8 +1033,8 @@ ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## # Nodenv color. - # typeset -g POWERLEVEL9K_NODENV_FOREGROUND=2 - # typeset -g POWERLEVEL9K_NODENV_BACKGROUND=0 + typeset -g POWERLEVEL9K_NODENV_FOREGROUND=2 + typeset -g POWERLEVEL9K_NODENV_BACKGROUND=0 # Hide node version if it doesn't come from one of these sources. typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) # If set to false, hide node version if it's the same as global: @@ -963,15 +1047,15 @@ ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### # Nvm color. - # typeset -g POWERLEVEL9K_NVM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_NVM_BACKGROUND=5 + typeset -g POWERLEVEL9K_NVM_FOREGROUND=0 + typeset -g POWERLEVEL9K_NVM_BACKGROUND=5 # Custom icon. # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ # Nodeenv color. - # typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=2 - # typeset -g POWERLEVEL9K_NODEENV_BACKGROUND=0 + typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=2 + typeset -g POWERLEVEL9K_NODEENV_BACKGROUND=0 # Don't show Node version next to the environment name. typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false # Separate environment name from Node version only with a space. @@ -981,8 +1065,8 @@ ##############################[ node_version: node.js version ]############################### # Node version color. - # typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=7 - # typeset -g POWERLEVEL9K_NODE_VERSION_BACKGROUND=2 + typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=7 + typeset -g POWERLEVEL9K_NODE_VERSION_BACKGROUND=2 # Show node version only when in a directory tree containing package.json. typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true # Custom icon. @@ -990,8 +1074,8 @@ #######################[ go_version: go version (https://golang.org) ]######################## # Go version color. - # typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=255 - # typeset -g POWERLEVEL9K_GO_VERSION_BACKGROUND=2 + typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=255 + typeset -g POWERLEVEL9K_GO_VERSION_BACKGROUND=2 # Show go version only when in a go project subdirectory. typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true # Custom icon. @@ -999,8 +1083,8 @@ #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## # Rust version color. - # typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RUST_VERSION_BACKGROUND=208 + typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=0 + typeset -g POWERLEVEL9K_RUST_VERSION_BACKGROUND=208 # Show rust version only when in a rust project subdirectory. typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true # Custom icon. @@ -1008,8 +1092,8 @@ ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ # .NET version color. - # typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=7 - # typeset -g POWERLEVEL9K_DOTNET_VERSION_BACKGROUND=5 + typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=7 + typeset -g POWERLEVEL9K_DOTNET_VERSION_BACKGROUND=5 # Show .NET version only when in a .NET project subdirectory. typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true # Custom icon. @@ -1033,8 +1117,8 @@ #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## # Rbenv color. - # typeset -g POWERLEVEL9K_RBENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RBENV_BACKGROUND=1 + typeset -g POWERLEVEL9K_RBENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_RBENV_BACKGROUND=1 # Hide ruby version if it doesn't come from one of these sources. typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) # If set to false, hide ruby version if it's the same as global: @@ -1058,8 +1142,8 @@ ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### # Package color. - # typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PACKAGE_BACKGROUND=6 + typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=0 + typeset -g POWERLEVEL9K_PACKAGE_BACKGROUND=6 # Package format. The following parameters are available within the expansion. # @@ -1073,8 +1157,8 @@ #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## # Rvm color. - # typeset -g POWERLEVEL9K_RVM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_RVM_BACKGROUND=240 + typeset -g POWERLEVEL9K_RVM_FOREGROUND=0 + typeset -g POWERLEVEL9K_RVM_BACKGROUND=240 # Don't show @gemset at the end. typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false # Don't show ruby- at the front. @@ -1084,15 +1168,15 @@ ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ # Fvm color. - # typeset -g POWERLEVEL9K_FVM_FOREGROUND=0 - # typeset -g POWERLEVEL9K_FVM_BACKGROUND=4 + typeset -g POWERLEVEL9K_FVM_FOREGROUND=0 + typeset -g POWERLEVEL9K_FVM_BACKGROUND=4 # Custom icon. # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### # Lua color. - # typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_LUAENV_BACKGROUND=4 + typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_LUAENV_BACKGROUND=4 # Hide lua version if it doesn't come from one of these sources. typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) # If set to false, hide lua version if it's the same as global: @@ -1105,8 +1189,8 @@ ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ # Java color. - # typeset -g POWERLEVEL9K_JENV_FOREGROUND=1 - # typeset -g POWERLEVEL9K_JENV_BACKGROUND=7 + typeset -g POWERLEVEL9K_JENV_FOREGROUND=1 + typeset -g POWERLEVEL9K_JENV_BACKGROUND=7 # Hide java version if it doesn't come from one of these sources. typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) # If set to false, hide java version if it's the same as global: @@ -1119,8 +1203,8 @@ ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ # Perl color. - # typeset -g POWERLEVEL9K_PLENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PLENV_BACKGROUND=4 + typeset -g POWERLEVEL9K_PLENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_PLENV_BACKGROUND=4 # Hide perl version if it doesn't come from one of these sources. typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) # If set to false, hide perl version if it's the same as global: @@ -1131,10 +1215,20 @@ # Custom icon. # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + ###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############ + # Perlbrew color. + typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67 + # Show perlbrew version only when in a perl project subdirectory. + typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true + # Don't show "perl-" at the front. + typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐' + ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ # PHP color. - # typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0 - # typeset -g POWERLEVEL9K_PHPENV_BACKGROUND=5 + typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_PHPENV_BACKGROUND=5 # Hide php version if it doesn't come from one of these sources. typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) # If set to false, hide php version if it's the same as global: @@ -1145,10 +1239,24 @@ # Custom icon. # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### + # Scala color. + typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_SCALAENV_BACKGROUND=1 + # Hide scala version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) + # If set to false, hide scala version if it's the same as global: + # $(scalaenv version-name) == $(scalaenv global). + typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide scala version if it's equal to "system". + typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### # Haskell color. - # typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=0 - # typeset -g POWERLEVEL9K_HASKELL_STACK_BACKGROUND=3 + typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=0 + typeset -g POWERLEVEL9K_HASKELL_STACK_BACKGROUND=3 # Hide haskell version if it doesn't come from one of these sources. # @@ -1162,6 +1270,8 @@ # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' ################[ terraform: terraform workspace (https://www.terraform.io) ]################# + # Don't show terraform workspace if it's literally "default". + typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current terraform workspace gets matched. # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) @@ -1175,7 +1285,7 @@ # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( # '*prod*' PROD # '*test*' TEST - # '*' DEFAULT) + # '*' OTHER) # # If your current terraform workspace is "project_test", its class is TEST because "project_test" # doesn't match the pattern '*prod*' but does match '*test*'. @@ -1183,20 +1293,31 @@ # You can define different colors, icons and content expansions for different classes: # # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=2 + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_BACKGROUND=0 # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( # '*prod*' PROD # These values are examples that are unlikely # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_FOREGROUND=4 - typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_BACKGROUND=0 - # typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + '*' OTHER) + typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=4 + typeset -g POWERLEVEL9K_TERRAFORM_OTHER_BACKGROUND=0 + # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ terraform_version: terraform version (https://www.terraform.io) ]############## + # Terraform version color. + typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=4 + typeset -g POWERLEVEL9K_TERRAFORM_VERSION_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ terraform_version: It shows active terraform version (https://www.terraform.io) ]################# + typeset -g POWERLEVEL9K_TERRAFORM_VERSION_SHOW_ON_COMMAND='terraform|tf' #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# - # Show kubecontext only when the the command you are typing invokes one of these tools. + # Show kubecontext only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show kubecontext. - typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito' + typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold' # Kubernetes context classes for the purpose of using different colors, icons and expansions with # different contexts. @@ -1283,9 +1404,9 @@ typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='at ' #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# - # Show aws only when the the command you are typing invokes one of these tools. + # Show aws only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi' + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current AWS profile gets matched. @@ -1314,34 +1435,40 @@ # '*prod*' PROD # These values are examples that are unlikely # '*test*' TEST # to match your needs. Customize them as needed. '*' DEFAULT) - # typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=7 - # typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1 + typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=7 + typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1 # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # AWS segment format. The following parameters are available within the expansion. + # + # - P9K_AWS_PROFILE The name of the current AWS profile. + # - P9K_AWS_REGION The region associated with the current AWS profile. + typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}' + #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# # AWS Elastic Beanstalk environment color. - # typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2 - # typeset -g POWERLEVEL9K_AWS_EB_ENV_BACKGROUND=0 + typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2 + typeset -g POWERLEVEL9K_AWS_EB_ENV_BACKGROUND=0 # Custom icon. # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## - # Show azure only when the the command you are typing invokes one of these tools. + # Show azure only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi' + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' # Azure account name color. - # typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7 - # typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4 + typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7 + typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4 # Custom icon. # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### - # Show gcloud only when the the command you are typing invokes one of these tools. + # Show gcloud only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show gcloud. - typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs' + typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil' # Google cloud color. - # typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7 - # typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4 + typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7 + typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4 # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative @@ -1355,7 +1482,7 @@ # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced with '%%'. + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. # # Obtaining project name requires sending a request to Google servers. This can take a long time # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud @@ -1378,9 +1505,9 @@ # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# - # Show google_app_cred only when the the command you are typing invokes one of these tools. + # Show google_app_cred only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' # Google application credentials classes for the purpose of using different colors, icons and # expansions with different credentials. @@ -1412,8 +1539,8 @@ # '*:*prod*:*' PROD # These values are examples that are unlikely # '*:*test*:*' TEST # to match your needs. Customize them as needed. '*' DEFAULT) - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=7 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_BACKGROUND=4 + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=7 + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_BACKGROUND=4 # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by @@ -1429,26 +1556,37 @@ # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced by '%%'. + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' + ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]############### + # Toolbox color. + typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=0 + typeset -g POWERLEVEL9K_TOOLBOX_BACKGROUND=3 + # Don't display the name of the toolbox if it matches fedora-toolbox-*. + typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}' + # Custom icon. + # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='in ' + ###############################[ public_ip: public IP address ]############################### # Public IP color. - # typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7 - # typeset -g POWERLEVEL9K_PUBLIC_IP_BACKGROUND=0 + typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7 + typeset -g POWERLEVEL9K_PUBLIC_IP_BACKGROUND=0 # Custom icon. # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' ########################[ vpn_ip: virtual private network indicator ]######################### # VPN IP color. - # typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=0 - # typeset -g POWERLEVEL9K_VPN_IP_BACKGROUND=6 + typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=0 + typeset -g POWERLEVEL9K_VPN_IP_BACKGROUND=6 # When on VPN, show just an icon without the IP address. # Tip: To display the private IP address when on VPN, remove the next line. typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN # to see the name of the interface. - typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(wg|(.*tun))[0-9]*' + typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*' # If set to true, show one segment per matching network interface. If set to false, show only # one segment corresponding to the first matching network interface. # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. @@ -1463,24 +1601,26 @@ # The following parameters are accessible within the expansion: # # Parameter | Meaning - # ----------------------+--------------- - # P9K_IP_IP | IP address - # P9K_IP_INTERFACE | network interface - # P9K_IP_RX_BYTES | total number of bytes received - # P9K_IP_TX_BYTES | total number of bytes sent - # P9K_IP_RX_RATE | receive rate (since last prompt) - # P9K_IP_TX_RATE | send rate (since last prompt) + # ----------------------+------------------------------------------- + # P9K_IP_IP | IP address + # P9K_IP_INTERFACE | network interface + # P9K_IP_RX_BYTES | total number of bytes received + # P9K_IP_TX_BYTES | total number of bytes sent + # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt + # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt + # P9K_IP_RX_RATE | receive rate (since last prompt) + # P9K_IP_TX_RATE | send rate (since last prompt) typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+⇡$P9K_IP_TX_RATE }$P9K_IP_IP' # Show information for the first network interface whose name matches this regular expression. # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. - typeset -g POWERLEVEL9K_IP_INTERFACE='e.*' + typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*' # Custom icon. # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' #########################[ proxy: system-wide http/https/ftp proxy ]########################## # Proxy color. - # typeset -g POWERLEVEL9K_PROXY_FOREGROUND=4 - # typeset -g POWERLEVEL9K_PROXY_BACKGROUND=0 + typeset -g POWERLEVEL9K_PROXY_FOREGROUND=4 + typeset -g POWERLEVEL9K_PROXY_BACKGROUND=0 # Custom icon. # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' @@ -1496,12 +1636,12 @@ typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' # Don't show the remaining time to charge/discharge. typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false - # typeset -g POWERLEVEL9K_BATTERY_BACKGROUND=0 + typeset -g POWERLEVEL9K_BATTERY_BACKGROUND=0 #####################################[ wifi: wifi speed ]##################################### # WiFi color. - # typeset -g POWERLEVEL9K_WIFI_FOREGROUND=0 - # typeset -g POWERLEVEL9K_WIFI_BACKGROUND=4 + typeset -g POWERLEVEL9K_WIFI_FOREGROUND=0 + typeset -g POWERLEVEL9K_WIFI_BACKGROUND=4 # Custom icon. # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' @@ -1519,20 +1659,16 @@ # Parameter | Meaning # ----------------------+--------------- # P9K_WIFI_SSID | service set identifier, a.k.a. network name - # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none" + # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) - # - # All parameters except P9K_WIFI_BARS are extracted from the output of the following command: - # - # /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I ####################################[ time: current time ]#################################### # Current time color. - # typeset -g POWERLEVEL9K_TIME_FOREGROUND=0 - # typeset -g POWERLEVEL9K_TIME_BACKGROUND=7 + typeset -g POWERLEVEL9K_TIME_FOREGROUND=0 + typeset -g POWERLEVEL9K_TIME_BACKGROUND=7 # Format for the current time: 09:51:02. See `man 3 strftime`. typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' # If set to true, time will update when you hit enter. This way prompts for the past @@ -1574,7 +1710,8 @@ } # User-defined prompt segments can be customized the same way as built-in segments. - # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=3 + typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=3 + typeset -g POWERLEVEL9K_EXAMPLE_BACKGROUND=1 # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt From 42caebf09b5c8ae169ca7040f4d7a516ab053561 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 6 Nov 2022 21:58:22 +0100 Subject: [PATCH 0357/2080] zshrc: reorganisation --- .zshrc | 305 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 161 insertions(+), 144 deletions(-) diff --git a/.zshrc b/.zshrc index 6ef7bf9c..a49a131f 100644 --- a/.zshrc +++ b/.zshrc @@ -1,7 +1,29 @@ # ~/.zshrc # Read by all interactive shells -# References +# Requirements {{{ +# Incremental search +# l, ls, gh, docker, df/pydf and other useful aliases +# syntax highlighting +# Case insensitive directories completion +# Shrunk path in prompt +# completion (vboxmanage and all other) +# Fuzzy command line completion +# autosuggestions +# improved history +# vim mode +# push-line to use another command before current command +# colored directories +# colored man pages +# auto cd +# ls after cd +# ssh key management +# 256 color / true color +# git support +# python venv +# }}} + +# References {{{ # https://dotfiles.github.io/ # https://github.com/unixorn/zsh-quickstart-kit # https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/ @@ -17,54 +39,31 @@ # Cleaning everything # zi delete --all --yes; unset $_comps # rm -rf ~/.local/share/zinit; exec zsh -l +# }}} -# Dependencies +# Dependencies {{{ # - bat: cat/less replacement # - gam: CLI for G Suite # - git -# - cli: GitHub CLI +# - cli: GitHub CLI (installed automatically) # - nvim: vim replacement # - pydf: df replacement (optional) # - taskwarrior: task management (optional) # - fd: find replacement (installed automatically) # - jq: json formatting/queryring (installed automatically) # - fzf: fuzzyfinder (installed automatically) +# }}} -# Fonts -# Hack Regular Nerd Font Complete -# https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Hack -# A font with ligatures -# https://github.com/tonsky/FiraCode - -# Requirements -# Incremental search -# l, ls, gh, docker, df/pydf and other useful aliases -# syntax highlighting -# Case insensitive directories completion -# Shrunk path in prompt -# completion (vboxmanage and all other) -# Fuzzy command line completion -# autosuggestions -# improved history -# vim mode -# push-line to use another command before current command -# colored directories -# colored man pages -# auto cd -# ls after cd -# ssh key management -# 256 color / true color -# git support -# python venv - -# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. +# Enable Powerlevel10k instant prompt. {{{ +# Should stay close to the top of ~/.zshrc. # Initialization code that may require console input (password prompts, [y/n] # confirmations, etc.) must go above this block; everything else may go below. if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi +# }}} -### Added by Zinit's installer +### Added by Zinit's installer {{{ if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f" command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit" @@ -86,8 +85,14 @@ zinit light-mode for \ zdharma-continuum/zinit-annex-rust ### End of Zinit's installer chunk +# }}} -# Theme +# Style {{{ +# Fonts +# Hack Regular Nerd Font Complete +# https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Hack +# A font with ligatures +# https://github.com/tonsky/FiraCode # Powerlevel10k: https://github.com/romkatv/powerlevel10k # Load powerlevel10k theme # git clone depth @@ -97,21 +102,40 @@ zinit light romkatv/powerlevel10k # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh -# Modules from prezto +# Enable multicolor terminal, if available +zinit light chrissicool/zsh-256color + +# XXX dircolors comes from brew/coreutils on Mac OS X +zinit ice atclone"dircolors -b LS_COLORS > clrs.zsh" \ + atpull"%atclone" pick"clrs.zsh" nocompile'!' +zinit light trapd00r/LS_COLORS +# }}} + +# Modules from prezto {{{ # https://github.com/sorin-ionescu/prezto/ +zinit snippet PZTM::environment +# Provides interactive use of GNU utilities on BSD systems +zinit snippet PZTM::gnu-utility +# Provides an easier use of GPG by setting up gpg-agent. +zinit snippet PZTM::gpg +# Sets directory options and defines directory aliases. +zinit snippet PZTM::directory # Completion zinit snippet PZTM::completion # Rehash when completing commands zstyle ":completion:*:commands" rehash 1 # Aliases and color some command output -zinit snippet PZTM::editor -# zstyle ':prezto:module:editor' key-bindings 'vi' +zstyle ':prezto:module:editor' key-bindings 'vi' zstyle ':prezto:module:editor' dot-expansion 'yes' +zstyle ':prezto:module:editor' ps-context 'yes' +zinit snippet PZTM::editor zinit snippet PZTM::utility # Use safe operations by default zstyle ':prezto:module:utility' safe-ops 'yes' # Manage history configuration zinit snippet PZTM::history +zinit snippet PZT::modules/terminal/init.zsh +zstyle ':prezto:module:terminal' auto-title 'yes' if (( $+commands[tmux] )); then zinit snippet PZTM::tmux zstyle ':prezto:module:tmux:auto-start' local 'no' @@ -124,8 +148,9 @@ if (( $+commands[vagrant] )); then fi # Color output (auto set to 'no' on dumb terminals). zstyle ':prezto:*:*' color 'yes' +# }}} -# Modules from oh-my-zsh +# Modules from oh-my-zsh {{{ # https://zdharma-continuum.github.io/zinit/wiki/Example-Oh-My-Zsh-setup/ # System clipboard integration zinit snippet OMZL::clipboard.zsh @@ -134,6 +159,7 @@ if (( $+commands[task] )); then # Home-related tasks alias th='task rc:~/.taskrc-home' fi +# }}} # Completion definitions zinit ice wait'0' blockf lucid @@ -141,38 +167,28 @@ zinit light zsh-users/zsh-completions # Install fzf, fd, jq, bat, lsd and diff-so-fancy zinit from"gh-r" as"program" lucid for \ - sbin"bat-*/bat -> bat" @sharkdp/bat \ + sbin"**/bat -> bat" @sharkdp/bat \ sbin"jq* -> jq" stedolan/jq \ sbin"diff-so-fancy -> diff-so-fancy" so-fancy/diff-so-fancy \ - sbin"fd/fd" atclone'cp -vf **/autocomplete/_fd _fd' @sharkdp/fd \ + sbin"**/fd" atclone'cp -vf **/autocomplete/_fd _fd' @sharkdp/fd \ sbin'**/lsd -> lsd' atclone'cp -vf **/autocomplete/_lsd _lsd' Peltoche/lsd \ sbin"**/bin/gh -> gh" cli/cli \ junegunn/fzf +# FZF {{{ # Fuzzy command line completion: Ctrl-T # Fuzzy command line history search: Ctrl-R -# Grab binaries from GitHub Releases junegunn/fzf -# Source initialisation files and get fzf-tmux +# Grab initialisation files and get fzf-tmux from GitHub repo zinit ice lucid wait"0" as'program' id-as"junegunn/fzf-extras" \ multisrc"shell/{completion,key-bindings}.zsh" \ pick"bin/fzf-tmux" zinit light junegunn/fzf -# Alernative way to source initialisation files -# zinit snippet 'https://github.com/junegunn/fzf/blob/master/shell/key-bindings.zsh' -# zinit snippet 'https://github.com/junegunn/fzf/blob/master/shell/completion.zsh' - -# Completion for OpenStack -# mirror of https://gist.github.com/philipsd6/aea968e80342973fd8d3aeeda343dae5 -# zplug "gwarf/a18dbeaa01d6cf14a95c31a1c7036f61", \ -# from:gist, \ -# as:plugin -# TODO check that vboxmanage completion is available -# /usr/share/zsh/site-functions/_virtualbox -# if (( $+commands[VBoxManage] )); then -# compdef vboxmanage=VBoxManage vboxheadless=VBoxHeadless -# compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless -# fi +# Completion for openstack, docker and terraform +zinit wait'1' as"completion" lucid for \ + https://github.com/docker/cli/blob/master/contrib/completion/zsh/_docker \ + https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/terraform/_terraform \ + https://gist.github.com/gwarf/a18dbeaa01d6cf14a95c31a1c7036f61/raw # tab completion using fzf # https://github.com/Aloxaf/fzf-tab @@ -187,11 +203,6 @@ zstyle ':fzf-tab:complete:cd:*' fzf-preview 'lsd --oneline --icon always --color # switch group using `,` and `.` zstyle ':fzf-tab:*' switch-group ',' '.' -# XXX dircolors comes from brew/coreutils on Mac OS X -zinit ice atclone"dircolors -b LS_COLORS > clrs.zsh" \ - atpull"%atclone" pick"clrs.zsh" nocompile'!' -zinit light trapd00r/LS_COLORS - # https://github.com/hschne/fzf-git # use git <command> ** zinit light hschne/fzf-git @@ -199,61 +210,7 @@ zinit light hschne/fzf-git # Git + fzf # https://github.com/wfxr/forgit zinit light wfxr/forgit - -if [[ "$OSTYPE" == "darwin"* ]]; then - # Use gnused - brew install gnu-sed - PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" - # Use coreutils GNU utilities - brew install coreutils - PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" - export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" - # Use openjdk from brew - brew install openjdk - PATH="/usr/local/opt/openjdk/bin:$PATH" - # XXX may not be needed - # export CPPFLAGS="-I/usr/local/opt/openjdk/include" - # export LDFLAGS="-L/usr/lib/openssl-1.0"; export CFLAGS="-I/usr/include/openssl-1.0" - - export HOMEBREW_CASK_OPTS='--no-quarantine' - export HOMEBREW_NO_ANALYTICS=1 - -# Add go to the path - if [ -d "$HOME/go" ]; then - export GOPATH="$HOME/go" - export GOBIN="$GOPATH/bin" - export GOROOT=/usr/local/opt/go/libexec - # For github.com/raviqqe/liche - export GO111MODULE=on - export PATH="$PATH:$GOBIN" - export PATH="$PATH:$GOROOT/bin" - fi - - # https://github.com/pyenv/pyenv/wiki/Common-build-problems - # Required for building python with pyenv on Mac OS X - CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" - # Speeding up build - CFLAGS="-O2 $CFLAGS" - export CFLAGS LDFLAGS - # PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 - - # tail-like of postfix logs on MacOS X - postfix_log() { - log stream --predicate '(process == "smtpd") || (process == "smtp") || (process == "master")' --info - } - - # https://apple.stackexchange.com/questions/3253/ctrl-o-behavior-in-terminal-app - # To prevent ctrl-o in vim being discared by the terminal driver - # XXX returning error with updated conf - # stty: 'standard input': Operation not supported by device - # stty discard undef - - # cd into whatever is the forefront Finder window. - cdf() { # short for cdfinder - cd "`osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)'`" - } -fi - -# Enable multicolor terminal, if available -zinit light chrissicool/zsh-256color +# }}} # fast-syntax-highlighting and autosuggestions # Theme management: fsh-alias -h @@ -282,6 +239,17 @@ bindkey -M emacs '^N' history-substring-search-down bindkey -M vicmd 'k' history-substring-search-up bindkey -M vicmd 'j' history-substring-search-down +if (( $+commands[mysql] )); then + zinit light "zpm-zsh/mysql-colorize" +fi + +# npm / nvm +# export NVM_COMPLETION=true +export NVM_LAZY_LOAD=true +export NVM_NO_USE=false +zinit ice wait lucid +zinit light lukechilds/zsh-nvm + # A smarter cd command # XXX feature for chpwd hook is not yet released as of 2022-11-06 # FIXME install from master/cargo @@ -301,26 +269,7 @@ function custom_chpwd() { } add-zsh-hook chpwd custom_chpwd -autoload -Uz compinit - -if [ $(date +'%j') != $(date -r ${ZDOTDIR:-$HOME}/.zcompdump +'%j') ]; then - compinit; -else - compinit -C; -fi - -if (( $+commands[mysql] )); then - zinit light "zpm-zsh/mysql-colorize" -fi - -# npm / nvm -# export NVM_COMPLETION=true -export NVM_LAZY_LOAD=true -export NVM_NO_USE=false -zinit ice wait lucid -zinit light lukechilds/zsh-nvm - -# Python virtualenv management +# Python virtualenv management {{{ # # pyenv # @@ -352,6 +301,7 @@ zinit as'null' lucid atinit'export PYENV_ROOT="$PWD"' \ # source ~/.virtualenvs/impact-report/bin/activate # echo 'impact-report' > .venv zinit light MichaelAquilina/zsh-autoswitch-virtualenv +# }}} # asdf: https://github.com/asdf-vm/asdf # git clone https://github.com/asdf-vm/asdf.git ~/.asdf @@ -362,7 +312,21 @@ zinit light MichaelAquilina/zsh-autoswitch-virtualenv # https://github.com/kiurchv/asdf.plugin.zsh # zplug "kiurchv/asdf.plugin.zsh", defer:2 -# ZSH options +# ZSH options {{{ + +autoload -Uz compinit + +if [ $(date +'%j') != $(date -r ${ZDOTDIR:-$HOME}/.zcompdump +'%j') ]; then + compinit; +else + compinit -C; +fi + +# -q is for quiet; actually run all the `compdef's saved before `compinit` call +# (`compinit' declares the `compdef' function, so it cannot be used until +# `compinit' is ran; Zinit solves this via intercepting the `compdef'-calls and +# storing them for later use with `zinit cdreplay') +zinit cdreplay -q # Enable zmv autoload -U zmv @@ -371,11 +335,6 @@ autoload -U zmv # Required for themes like bullet-train setopt prompt_subst -# Executing directories will open them -setopt auto_cd -# Automatically fill the directory stack -setopt auto_pushd pushd_silent pushd_ignore_dups - # In Vi mode use q to allow to use another command before current one bindkey -M vicmd "q" push-line @@ -392,6 +351,7 @@ bindkey -M vicmd "v" edit-command-line insert_sudo () { zle beginning-of-line; zle -U '_ ' } zle -N insert-sudo insert_sudo bindkey 's' insert-sudo +# }}} # Preferred editor for local and remote sessions if (( $+commands[nvim] )); then @@ -404,6 +364,7 @@ else export EDITOR='vim' fi +# Aliases and functions {{{ if (( $+commands[msfconsole] )); then alias msfconsole='msfconsole --quiet' fi @@ -498,9 +459,10 @@ if [ -x "$HOME/bin/gamadv-xtd3/gam" ]; then # CLI for Google admin, updated GAM # https://github.com/taers232c/GAMADV-XTD3 # gam() { "$HOME/bin/gamadv-xtd3/gam" "$@" ; } - export PATH="$HOME/bin/gamadv-xtd3/:$PATH" + PATH="$HOME/bin/gamadv-xtd3/:$PATH" alias gam="$HOME/bin/gamadv-xtd3/gam" fi +# }}} # Ensure that appropriate env var are set for gnome-keyring SSH agent if [ -n "$DESKTOP_SESSION" ]; then @@ -540,7 +502,59 @@ if (( $+commands[fortune] )); then fi fi -# Env variables +# Env variables {{{ +# macOS conf +if [[ "$OSTYPE" == "darwin"* ]]; then + # Use gnused - brew install gnu-sed + PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" + # Use coreutils GNU utilities - brew install coreutils + PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" + export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" + # Use openjdk from brew - brew install openjdk + PATH="/usr/local/opt/openjdk/bin:$PATH" + # XXX may not be needed + # export CPPFLAGS="-I/usr/local/opt/openjdk/include" + # export LDFLAGS="-L/usr/lib/openssl-1.0"; export CFLAGS="-I/usr/include/openssl-1.0" + + export HOMEBREW_CASK_OPTS='--no-quarantine' + export HOMEBREW_NO_ANALYTICS=1 + +# Add go to the path + if [ -d "$HOME/go" ]; then + export GOPATH="$HOME/go" + export GOBIN="$GOPATH/bin" + export GOROOT=/usr/local/opt/go/libexec + # For github.com/raviqqe/liche + export GO111MODULE=on + export PATH="$PATH:$GOBIN" + export PATH="$PATH:$GOROOT/bin" + fi + + # https://github.com/pyenv/pyenv/wiki/Common-build-problems + # Required for building python with pyenv on Mac OS X + CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" + # Speeding up build + CFLAGS="-O2 $CFLAGS" + export CFLAGS LDFLAGS + # PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 + + # tail-like of postfix logs on MacOS X + postfix_log() { + log stream --predicate '(process == "smtpd") || (process == "smtp") || (process == "master")' --info + } + + # https://apple.stackexchange.com/questions/3253/ctrl-o-behavior-in-terminal-app + # To prevent ctrl-o in vim being discared by the terminal driver + # XXX returning error with updated conf + # stty: 'standard input': Operation not supported by device + # stty discard undef + + # cd into whatever is the forefront Finder window. + cdf() { # short for cdfinder + cd "`osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)'`" + } +fi export MAKEOPS='j6' @@ -594,3 +608,6 @@ export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" export FZF_ALT_C_COMMAND="fd -t d ." export FZF_CTRL_T_OPTS="--preview '(highlight -O ansi -l {} 2> /dev/null || bat {} || tree -C {}) 2> /dev/null | head -200'" export FZF_CTRL_R_OPTS="--preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'" +# }}} + +# vim:foldlevel=0 foldmethod=marker From f87431761b63a761874edbfd0d40c78f13949751 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 6 Nov 2022 23:21:45 +0100 Subject: [PATCH 0358/2080] Import python and ruby venv conf --- .config/nvim/.python-version | 1 + .config/nvim/.ruby-gemset | 1 + .config/nvim/.ruby-version | 1 + .config/nvim/.venv | 1 + 4 files changed, 4 insertions(+) create mode 100644 .config/nvim/.python-version create mode 100644 .config/nvim/.ruby-gemset create mode 100644 .config/nvim/.ruby-version create mode 100644 .config/nvim/.venv diff --git a/.config/nvim/.python-version b/.config/nvim/.python-version new file mode 100644 index 00000000..36435ac6 --- /dev/null +++ b/.config/nvim/.python-version @@ -0,0 +1 @@ +3.10.8 diff --git a/.config/nvim/.ruby-gemset b/.config/nvim/.ruby-gemset new file mode 100644 index 00000000..d8ef3de5 --- /dev/null +++ b/.config/nvim/.ruby-gemset @@ -0,0 +1 @@ +neovim diff --git a/.config/nvim/.ruby-version b/.config/nvim/.ruby-version new file mode 100644 index 00000000..ef538c28 --- /dev/null +++ b/.config/nvim/.ruby-version @@ -0,0 +1 @@ +3.1.2 diff --git a/.config/nvim/.venv b/.config/nvim/.venv new file mode 100644 index 00000000..09083c67 --- /dev/null +++ b/.config/nvim/.venv @@ -0,0 +1 @@ +neovim3 From 1c7d6f1cd91feb56bf2ba5ae84f6da2d26eb432b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 6 Nov 2022 23:44:59 +0100 Subject: [PATCH 0359/2080] zshrc: reorganisation --- .zshrc | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/.zshrc b/.zshrc index a49a131f..365a259e 100644 --- a/.zshrc +++ b/.zshrc @@ -165,15 +165,18 @@ fi zinit ice wait'0' blockf lucid zinit light zsh-users/zsh-completions -# Install fzf, fd, jq, bat, lsd and diff-so-fancy +# Install various tools from GitHub {{{ +# fzf, fd, jq, bat, lsd and diff-so-fancy zinit from"gh-r" as"program" lucid for \ sbin"**/bat -> bat" @sharkdp/bat \ sbin"jq* -> jq" stedolan/jq \ sbin"diff-so-fancy -> diff-so-fancy" so-fancy/diff-so-fancy \ sbin"**/fd" atclone'cp -vf **/autocomplete/_fd _fd' @sharkdp/fd \ sbin'**/lsd -> lsd' atclone'cp -vf **/autocomplete/_lsd _lsd' Peltoche/lsd \ + sbin'**/delta -> delta' dandavison/delta \ sbin"**/bin/gh -> gh" cli/cli \ junegunn/fzf +# }}} # FZF {{{ # Fuzzy command line completion: Ctrl-T @@ -203,20 +206,26 @@ zstyle ':fzf-tab:complete:cd:*' fzf-preview 'lsd --oneline --icon always --color # switch group using `,` and `.` zstyle ':fzf-tab:*' switch-group ',' '.' -# https://github.com/hschne/fzf-git +# fzf-marks: manage marks with mark +# Add a mark in fzf using Ctrl-g, jump to a match using ctrl-y +# toggle for deletion using ctrl-t delete using ctrl-d # use git <command> ** -zinit light hschne/fzf-git - -# Git + fzf # https://github.com/wfxr/forgit -zinit light wfxr/forgit +zinit wait lucid blockf for \ + urbainvaes/fzf-marks \ + wfxr/forgit # }}} +# https://github.com/jeffreytse/zsh-vi-mode +zinit ice depth=1 +zinit light jeffreytse/zsh-vi-mode + # fast-syntax-highlighting and autosuggestions # Theme management: fsh-alias -h zinit wait lucid for \ atload"_zsh_autosuggest_start" zsh-users/zsh-autosuggestions \ - atinit"zpcompinit;zpcdreplay" zdharma-continuum/fast-syntax-highlighting + atinit"zpcompinit;zpcdreplay" zdharma-continuum/fast-syntax-highlighting \ + hlissner/zsh-autopair export ZSH_AUTOSUGGEST_STRATEGY=(history completion) # Accept autosuggestion using Ctrl-space bindkey '^ ' autosuggest-accept @@ -561,18 +570,18 @@ export MAKEOPS='j6' # Path management typeset -U path path+=/usr/local/sbin -if [ -d $HOME/bin ]; then +if [ -d "$HOME/bin" ]; then PATH="$HOME/bin:$PATH" fi -if [ -d $HOME/.local/bin ]; then +if [ -d "$HOME/.local/bin" ]; then PATH="$HOME/.local/bin:$PATH" fi -if [ -d $HOME/.yarn/bin ]; then +if [ -d "$HOME/.yarn/bin" ]; then PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" fi # Add RVM to PATH for scripting. Make sure this is the last PATH variable change. -if [ -d $HOME/.rvm/bin ]; then - PATH="$PATH:$HOME/.rvm/bin" +if [ -d "$HOME/.rvm/bin" ]; then + PATH="$HOME/.rvm/bin:$PATH" fi export PATH From 84def0b57b2c584c638e1dba41e71c6bc1b72d4e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 6 Nov 2022 23:45:24 +0100 Subject: [PATCH 0360/2080] nvim: make some cleaning --- .config/nvim/init.vim | 59 +++++++++++++------------------------------ 1 file changed, 18 insertions(+), 41 deletions(-) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 68761cac..20787033 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -59,9 +59,6 @@ Plug 'bling/vim-bufferline' " Line numbering Plug 'jeffkreeftmeijer/vim-numbertoggle' -" Ctrl-P for quick file/buffer access -Plug 'ctrlpvim/ctrlp.vim' - Plug 'editorconfig/editorconfig-vim' " Notes taking @@ -84,14 +81,17 @@ Plug 'godlygeek/tabular' " Clean spaces at EOL for lines that are edited Plug 'thirtythreeforty/lessspace.vim' -" Fuzzy finder -Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } -Plug 'junegunn/fzf.vim' -" Fuzzy finding + clap -Plug 'lotabout/skim', { 'dir': '~/.skim', 'do': './install' } -Plug 'liuchengxu/vim-clap' " SilverSearch plugin Plug 'rking/ag.vim' +" Fuzzy finding using FZF +" Use :Files, :GFiles, Buffers, Ag:, Lines:, :History, :Snippets, :Commits... +Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +Plug 'junegunn/fzf.vim' +nmap <C-P> :Files<CR> +" Alternative fuzzy finding +" Plug 'lotabout/skim', { 'dir': '~/.skim', 'do': './install' } +" Use :Clap files, :Clap buffers, :Clap commits,... +" Plug 'liuchengxu/vim-clap', { 'do': ':Clap install-binary!' } " Fuzzy finder for files/buffers and so on Plug 'Yggdroot/LeaderF', { 'do': './install.sh' } @@ -197,7 +197,7 @@ Plug 'mhinz/vim-startify' " Browsing RFC " depends on nokogiri -" rvm ruby-2.7.0@neovim do gem install nokogiri +" rvm ruby-3.1.2@neovim do gem install nokogiri " FIXME index file is empty (not downloaded?) Plug 'mhinz/vim-rfc' @@ -258,11 +258,12 @@ if !has('nvim') endif if has("unix") - " ruby integration via a rvm virualenv and gemset - " rvm install 2.7.0 - " rvm ruby-2.7.0 do rvm gemset create neovim - " rvm ruby-2.7.0@neovim do gem install neovim - let g:ruby_host_prog = 'rvm ruby-2.7.0@neovim do neovim-ruby-host' + " See env set up in ~/.config/nvim + " ruby integration via a rvm virtualenv and gemset + " rvm install 3.1.2 + " rvm ruby-3.1.2 do rvm gemset create neovim + " rvm ruby-3.1.2@neovim do gem install neovim + let g:ruby_host_prog = "rvm ruby-3.1.2@neovim do neovim-ruby-host" " Pyenv with neovim " https://gist.github.com/gwarf/42a0a13ff2bf32a0e79d347e43831cae let g:python_host_prog = $HOME . '/.virtualenvs/neovim2/bin/python' @@ -315,8 +316,8 @@ set hlsearch " Default indentation: 2 space set expandtab -set shiftwidth=2 " taille de l'indentation. -set tabstop=2 " Taille des tabulations +set shiftwidth=2 +set tabstop=2 "set mouse-=a " Disable mouse support @@ -447,32 +448,8 @@ if has("persistent_undo") set undofile endif -" vim-markdown (from vim-polyglot) -" Disable folding -let g:vim_markdown_folding_disabled = 1 -let g:vim_markdown_new_list_item_indent = 2 -" Disable concealing -let g:vim_markdown_conceal = 0 -let g:vim_markdown_conceal_code_blocks = 0 - " Folding with markers set foldmethod=marker nnoremap <space> za -" Complete emails address in every files -set completefunc=vimmail#contacts#CompleteAddr - -" Don't mess with whitespaces in those files -let g:lessspace_blacklist = ['diff'] - -" localvimrc -" Store and restore all decisions. -let g:localvimrc_persistent = 2 - -" https://github.com/Yggdroot/LeaderF -let g:Lf_ShortcutF = "<leader>ff" -" popup mode -let g:Lf_WindowPosition = 'popup' -let g:Lf_PreviewInPopup = 1 - " vim:set ft=vim et sw=2: From ab86bb648afef473f965e8fade71f606403f1d28 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 7 Nov 2022 00:06:47 +0100 Subject: [PATCH 0361/2080] zshrc: udpate colors --- .zshrc | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/.zshrc b/.zshrc index 365a259e..0eaec77d 100644 --- a/.zshrc +++ b/.zshrc @@ -106,9 +106,23 @@ zinit light romkatv/powerlevel10k zinit light chrissicool/zsh-256color # XXX dircolors comes from brew/coreutils on Mac OS X -zinit ice atclone"dircolors -b LS_COLORS > clrs.zsh" \ - atpull"%atclone" pick"clrs.zsh" nocompile'!' -zinit light trapd00r/LS_COLORS +# zinit ice atclone"dircolors -b LS_COLORS > clrs.zsh" \ +# atpull"%atclone" pick"clrs.zsh" nocompile'!' +# zinit light trapd00r/LS_COLORS + +# Nordic dircolors configuration +# https://github.com/arcticicestudio/nord-dircolors +# zinit ice atclone"dircolors -b src/dir_colors > c.zsh" \ +# atpull'%atclone' \ +# pick"c.zsh" \ +# nocompile'!' +# zinit light arcticicestudio/nord-dircolors + +zinit ice atclone"dircolors -b .dircolors > c.zsh" \ + atpull'%atclone' \ + pick"c.zsh" \ + nocompile'!' +zinit light dracula/dircolors # }}} # Modules from prezto {{{ @@ -274,7 +288,7 @@ function custom_chpwd() { if [[ -d ".git" ]] || git rev-parse --git-dir > /dev/null 2>&1; then git st fi - ls + lsd --icon always --color always } add-zsh-hook chpwd custom_chpwd From 69e320b5cebde73bf08baaf92f077f2a0008efad Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 9 Nov 2022 12:09:38 +0100 Subject: [PATCH 0362/2080] Link to yadm install page --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7477718f..c0a7f4a0 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Some files or configuration parts are for GNU/Linux and some other are for MacOS ## Requirements * git -* yadm +* [yadm](https://yadm.io/docs/install) ## Using From 4cbbc471edb665c09587c645c0a6b2dba0c292fd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 12:14:05 +0100 Subject: [PATCH 0363/2080] Fix vagrant prezto module inclusion --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 0eaec77d..1d6b3554 100644 --- a/.zshrc +++ b/.zshrc @@ -158,7 +158,7 @@ if (( $+commands[tmux] )); then zstyle ':prezto:module:tmux:iterm' integrate 'no' fi if (( $+commands[vagrant] )); then - zinit snippet PZT::modules/vagrant/init.zsh + zinit snippet PZTM::vagrant fi # Color output (auto set to 'no' on dumb terminals). zstyle ':prezto:*:*' color 'yes' From f7015701c71aa58ea868313f88bec144b598392f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 12:19:51 +0100 Subject: [PATCH 0364/2080] Fix vagrant module inclusion: oh-my-zsh, not prezto --- .zshrc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.zshrc b/.zshrc index 1d6b3554..f7f19653 100644 --- a/.zshrc +++ b/.zshrc @@ -157,9 +157,6 @@ if (( $+commands[tmux] )); then zstyle ':prezto:module:tmux:session' name 'work' zstyle ':prezto:module:tmux:iterm' integrate 'no' fi -if (( $+commands[vagrant] )); then - zinit snippet PZTM::vagrant -fi # Color output (auto set to 'no' on dumb terminals). zstyle ':prezto:*:*' color 'yes' # }}} @@ -173,6 +170,9 @@ if (( $+commands[task] )); then # Home-related tasks alias th='task rc:~/.taskrc-home' fi +if (( $+commands[vagrant] )); then + zinit snippet OMZP::vagrant +fi # }}} # Completion definitions From 2744ec1b2883e11b177217815551715d2418eb38 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 9 Nov 2022 14:30:18 +0100 Subject: [PATCH 0365/2080] Add mailcap for macOS --- mailcap##Darwn | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 mailcap##Darwn diff --git a/mailcap##Darwn b/mailcap##Darwn new file mode 100644 index 00000000..bd7332e6 --- /dev/null +++ b/mailcap##Darwn @@ -0,0 +1,17 @@ +application/pdf ; pdftotext -layout %s - ; copiousoutput ; print = ~/.config/neomutt/view_attachment %s - +document/pdf ; pdftotext -layout %s - ; copiousoutput ; print = ~/.config/neomutt/view_attachment %s - +# lookup mime tipe in mime.types +mime_lookup application/octet-stream application/octetstream +# XXX Disabled as looking up mime types +# application/octet-stream; ~/.config/neomutt/view_attachment %s - +video/*; ~/.config/neomutt/view_attachment %s - +image/*; ~/.config/neomutt/view_attachment %s - +# View file in W3M, use print to view them in default browser +text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser" %s +text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; +# text/html; ~/.config/neomutt/view_attachment %s html +text/csv ; bat %s ; copiousoutput +application/json ; bat %s; print = open %s +application/x-pkcs7-signature ; openssl smime -pk7out -inform DER | openssl pkcs7 -print_certs -text -noout ; nametemplate=%s.p7s ; copiousoutput +# XXX not sure if used +application/*; ~/.config/neomutt/view_attachment %s - From 8b66d70ab5622e58354b961dc63c1256b46dd945 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 9 Nov 2022 14:31:50 +0100 Subject: [PATCH 0366/2080] Create .p10k.zsh##os.Darwin --- .p10k.zsh##os.Darwin | 1664 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1664 insertions(+) create mode 100644 .p10k.zsh##os.Darwin diff --git a/.p10k.zsh##os.Darwin b/.p10k.zsh##os.Darwin new file mode 100644 index 00000000..79d49092 --- /dev/null +++ b/.p10k.zsh##os.Darwin @@ -0,0 +1,1664 @@ +# Generated by Powerlevel10k configuration wizard on 2022-11-09 at 12:17 CET. +# Based on romkatv/powerlevel10k/config/p10k-classic.zsh. +# Wizard options: nerdfont-complete + powerline, small icons, classic, unicode, light, +# 24h time, angled separators, slanted heads, slanted tails, 2 lines, dotted, no frame, +# sparse, many icons, fluent, transient_prompt, instant_prompt=quiet. +# Type `p10k configure` to generate another config. +# +# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate +# your own config based on it. +# +# Tip: Looking for a nice color? Here's a one-liner to print colormap. +# +# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done + +# Temporarily change options. +'builtin' 'local' '-a' 'p10k_config_opts' +[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') +[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') +[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') +'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' + +() { + emulate -L zsh -o extended_glob + + # Unset all configuration options. This allows you to apply configuration changes without + # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. + unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' + + # Zsh >= 5.1 is required. + [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return + + # The list of segments shown on the left. Fill it with the most important segments. + typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( + # =========================[ Line #1 ]========================= + os_icon # os identifier + dir # current directory + vcs # git status + # =========================[ Line #2 ]========================= + newline # \n + prompt_char # prompt symbol + ) + + # The list of segments shown on the right. Fill it with less important segments. + # Right prompt on the last prompt line (where you are typing your commands) gets + # automatically hidden when the input line reaches it. Right prompt above the + # last prompt line gets hidden if it would overlap with left prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( + # =========================[ Line #1 ]========================= + status # exit code of the last command + command_execution_time # duration of the last command + background_jobs # presence of background jobs + direnv # direnv status (https://direnv.net/) + asdf # asdf version manager (https://github.com/asdf-vm/asdf) + virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) + anaconda # conda environment (https://conda.io/) + pyenv # python environment (https://github.com/pyenv/pyenv) + goenv # go environment (https://github.com/syndbg/goenv) + nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) + nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) + nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) + # node_version # node.js version + # go_version # go version (https://golang.org) + # rust_version # rustc version (https://www.rust-lang.org) + # dotnet_version # .NET version (https://dotnet.microsoft.com) + # php_version # php version (https://www.php.net/) + # laravel_version # laravel php framework version (https://laravel.com/) + # java_version # java version (https://www.java.com/) + # package # name@version from package.json (https://docs.npmjs.com/files/package.json) + rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) + rvm # ruby version from rvm (https://rvm.io) + fvm # flutter version management (https://github.com/leoafarias/fvm) + luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) + jenv # java version from jenv (https://github.com/jenv/jenv) + plenv # perl version from plenv (https://github.com/tokuhirom/plenv) + perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew) + phpenv # php version from phpenv (https://github.com/phpenv/phpenv) + scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) + haskell_stack # haskell version from stack (https://haskellstack.org/) + kubecontext # current kubernetes context (https://kubernetes.io/) + terraform # terraform workspace (https://www.terraform.io) + # terraform_version # terraform version (https://www.terraform.io) + aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) + aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) + azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) + gcloud # google cloud cli account and project (https://cloud.google.com/) + google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) + toolbox # toolbox name (https://github.com/containers/toolbox) + context # user@hostname + nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) + ranger # ranger shell (https://github.com/ranger/ranger) + nnn # nnn shell (https://github.com/jarun/nnn) + xplr # xplr shell (https://github.com/sayanarijit/xplr) + vim_shell # vim shell indicator (:sh) + midnight_commander # midnight commander shell (https://midnight-commander.org/) + nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) + # vi_mode # vi mode (you don't need this if you've enabled prompt_char) + # vpn_ip # virtual private network indicator + # load # CPU load + # disk_usage # disk usage + # ram # free RAM + # swap # used swap + todo # todo items (https://github.com/todotxt/todo.txt-cli) + timewarrior # timewarrior tracking status (https://timewarrior.net/) + taskwarrior # taskwarrior task count (https://taskwarrior.org/) + # cpu_arch # CPU architecture + time # current time + # =========================[ Line #2 ]========================= + newline # \n + # ip # ip address and bandwidth usage for a specified network interface + # public_ip # public IP address + # proxy # system-wide http/https/ftp proxy + # battery # internal battery + # wifi # wifi speed + # example # example user-defined segment (see prompt_example function below) + ) + + # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. + typeset -g POWERLEVEL9K_MODE=nerdfont-complete + # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid + # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. + typeset -g POWERLEVEL9K_ICON_PADDING=none + + # When set to true, icons appear before content on both sides of the prompt. When set + # to false, icons go after content. If empty or not set, icons go before content in the left + # prompt and after content in the right prompt. + # + # You can also override it for a specific segment: + # + # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false + # + # Or for a specific segment in specific state: + # + # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false + typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= + + # Add an empty line before each prompt. + typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true + + # Connect left prompt lines with these symbols. You'll probably want to use the same color + # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX= + # Connect right prompt lines with these symbols. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX= + + # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or + # '─'. The last two make it easier to see the alignment between left and right prompt and to + # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + # for more compact prompt if using this option. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='·' + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= + if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then + # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE + # ornaments defined above. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242 + # Start filler from the edge of the screen if there are no left segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' + # End filler on the edge of the screen if there are no right segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' + fi + + # Default background color. + typeset -g POWERLEVEL9K_BACKGROUND=238 + + # Separator between same-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%246F\uE0B1' + # Separator between same-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%246F\uE0B3' + # Separator between different-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' + # Separator between different-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' + # The right end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0BC' + # The left end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0BA' + # The left end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0BA' + # The right end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0BC' + # Left prompt terminator for lines without any segments. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + + #################################[ os_icon: os identifier ]################################## + # OS identifier color. + typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=255 + # Custom icon. + # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' + + ################################[ prompt_char: prompt symbol ]################################ + # Transparent background. + typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= + # Green prompt symbol if the last command succeeded. + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 + # Red prompt symbol if the last command failed. + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 + # Default prompt symbol. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' + # Prompt symbol in command vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' + # Prompt symbol in visual vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' + # Prompt symbol in overwrite vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' + typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true + # No line terminator if prompt_char is the last segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + # No line introducer if prompt_char is the first segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + # No surrounding whitespace. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= + + ##################################[ dir: current directory ]################################## + # Default current directory color. + typeset -g POWERLEVEL9K_DIR_FOREGROUND=31 + # If directory is too long, shorten some of its segments to the shortest possible unique + # prefix. The shortened directory can be tab-completed to the original. + typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique + # Replace removed segment suffixes with this symbol. + typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= + # Color of the shortened directory segments. + typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103 + # Color of the anchor directory segments. Anchor segments are never shortened. The first + # segment is always an anchor. + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=39 + # Display anchor directory segments in bold. + typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true + # Don't shorten directories that contain any of these files. They are anchors. + local anchor_files=( + .bzr + .citc + .git + .hg + .node-version + .python-version + .go-version + .ruby-version + .lua-version + .java-version + .perl-version + .php-version + .tool-version + .shorten_folder_marker + .svn + .terraform + CVS + Cargo.toml + composer.json + go.mod + package.json + stack.yaml + ) + typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" + # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains + # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is + # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) + # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers + # and other directories don't. + # + # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer. + # This moves the truncation point to the right (positive offset) or to the left (negative offset) + # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" + # respectively. + typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false + # Don't shorten this many last directory segments. They are anchors. + typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + # Shorten directory if it's longer than this even if there is space for it. The value can + # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, + # directory will be shortened only when prompt doesn't fit or when other parameters demand it + # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). + # If set to `0`, directory will always be shortened to its minimum length. + typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this + # many columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least + # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 + # If set to true, embed a hyperlink into the directory. Useful for quickly + # opening a directory in the file manager simply by clicking the link. + # Can also be handy when the directory is shortened, as it allows you to see + # the full directory that was used in previous commands. + typeset -g POWERLEVEL9K_DIR_HYPERLINK=false + + # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON + # and POWERLEVEL9K_DIR_CLASSES below. + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 + + # The default icon shown next to non-writable and non-existent directories when + # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. + # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' + + # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different + # directories. It must be an array with 3 * N elements. Each triplet consists of: + # + # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with + # extended_glob option enabled. + # 2. Directory class for the purpose of styling. + # 3. An empty string. + # + # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. + # + # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories + # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=( + # '~/work(|/*)' WORK '' + # '~(|/*)' HOME '' + # '*' DEFAULT '') + # + # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one + # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or + # WORK_NON_EXISTENT. + # + # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an + # option to define custom colors and icons for different directory classes. + # + # # Styling for WORK. + # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39 + # + # # Styling for WORK_NOT_WRITABLE. + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 + # + # # Styling for WORK_NON_EXISTENT. + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39 + # + # If a styling parameter isn't explicitly defined for some class, it falls back to the classless + # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls + # back to POWERLEVEL9K_DIR_FOREGROUND. + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=() + + # Custom prefix. + # typeset -g POWERLEVEL9K_DIR_PREFIX='%248Fin ' + + #####################################[ vcs: git status ]###################################### + # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon. + typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' + + # Untracked files icon. It's really a question mark, your font isn't broken. + # Change the value of this parameter to show a different icon. + typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' + + # Formatter for Git status. + # + # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42. + # + # You can edit the function to customize how Git status looks. + # + # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: + # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. + function my_git_formatter() { + emulate -L zsh + + if [[ -n $P9K_CONTENT ]]; then + # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from + # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. + typeset -g my_git_format=$P9K_CONTENT + return + fi + + if (( $1 )); then + # Styling for up-to-date Git status. + local meta='%248F' # grey foreground + local clean='%76F' # green foreground + local modified='%178F' # yellow foreground + local untracked='%39F' # blue foreground + local conflicted='%196F' # red foreground + else + # Styling for incomplete and stale Git status. + local meta='%244F' # grey foreground + local clean='%244F' # grey foreground + local modified='%244F' # grey foreground + local untracked='%244F' # grey foreground + local conflicted='%244F' # grey foreground + fi + + local res + + if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then + local branch=${(V)VCS_STATUS_LOCAL_BRANCH} + # If local branch name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show local branch name in full without truncation, delete the next line. + (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line + res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}" + fi + + if [[ -n $VCS_STATUS_TAG + # Show tag only if not on a branch. + # Tip: To always show tag, delete the next line. + && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line + ]]; then + local tag=${(V)VCS_STATUS_TAG} + # If tag name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show tag name in full without truncation, delete the next line. + (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line + res+="${meta}#${clean}${tag//\%/%%}" + fi + + # Display the current Git commit if there is no branch and no tag. + # Tip: To always display the current Git commit, delete the next line. + [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line + res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + + # Show tracking branch name if it differs from local branch. + if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then + res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" + fi + + # Display "wip" if the latest commit's summary contains "wip" or "WIP". + if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then + res+=" ${modified}wip" + fi + + # ⇣42 if behind the remote. + (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" + # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. + (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " + (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" + # ⇠42 if behind the push remote. + (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" + (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " + # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. + (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" + # *42 if have stashes. + (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" + # 'merge' if the repo is in an unusual state. + [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" + # ~42 if have merge conflicts. + (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" + # +42 if have staged changes. + (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" + # !42 if have unstaged changes. + (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" + # ?42 if have untracked files. It's really a question mark, your font isn't broken. + # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. + # Remove the next line if you don't want to see untracked files at all. + (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" + # "─" if the number of unstaged files is unknown. This can happen due to + # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower + # than the number of files in the Git index, or due to bash.showDirtyState being set to false + # in the repository config. The number of staged and untracked files may also be unknown + # in this case. + (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" + + typeset -g my_git_format=$res + } + functions -M my_git_formatter 2>/dev/null + + # Don't count the number of unstaged, untracked and conflicted files in Git repositories with + # more than this many files in the index. Negative value means infinity. + # + # If you are working in Git repositories with tens of millions of files and seeing performance + # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output + # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's + # config: `git config bash.showDirtyState false`. + typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 + + # Don't show Git status in prompt for repositories whose workdir matches this pattern. + # For example, if set to '~', the Git repository at $HOME/.git will be ignored. + # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. + typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' + + # Disable the default Git status formatting. + typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true + # Install our own Git status formatter. + typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}' + typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}' + # Enable counters for staged, unstaged, etc. + typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 + + # Icon color. + typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76 + typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244 + # Custom icon. + # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_VCS_PREFIX='%248Fon ' + + # Show status of repositories of these types. You can add svn and/or hg if you are + # using them. If you do, your prompt may become slow even when your current directory + # isn't in an svn or hg reposotiry. + typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) + + # These settings are used for repositories other than Git or when gitstatusd fails and + # Powerlevel10k has to fall back to using vcs_info. + typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178 + + ##########################[ status: exit code of the last command ]########################### + # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and + # style them independently from the regular OK and ERROR state. + typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true + + # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as + # it will signify success by turning green. + typeset -g POWERLEVEL9K_STATUS_OK=false + typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70 + typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' + + # Status when some part of a pipe command fails but the overall exit status is zero. It may look + # like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70 + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' + + # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as + # it will signify error by turning red. + typeset -g POWERLEVEL9K_STATUS_ERROR=false + typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' + + # Status when the last command was terminated by a signal. + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160 + # Use terse signal names: "INT" instead of "SIGINT(2)". + typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' + + # Status when some part of a pipe command fails and the overall exit status is also non-zero. + # It may look like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' + + ###################[ command_execution_time: duration of the last command ]################### + # Show duration of the last command if takes at least this many seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 + # Show this many fractional digits. Zero means round to seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 + # Execution time color. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=248 + # Duration format: 1d 2h 3m 4s. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' + # Custom icon. + # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%248Ftook ' + + #######################[ background_jobs: presence of background jobs ]####################### + # Don't show the number of background jobs. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false + # Background jobs color. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37 + # Custom icon. + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ direnv: direnv status (https://direnv.net/) ]######################## + # Direnv color. + typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### + # Default asdf color. Only used to display tools for which there is no color override (see below). + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND. + typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66 + + # There are four parameters that can be used to hide asdf tools. Each parameter describes + # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at + # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to + # hide a tool, it gets shown. + # + # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and + # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: + # + # asdf local python 3.8.1 + # asdf global python 3.8.1 + # + # After running both commands the current python version is 3.8.1 and its source is "local" as + # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, + # it'll hide python version in this case because 3.8.1 is the same as the global version. + # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't + # contain "local". + + # Hide tool versions that don't come from one of these sources. + # + # Available sources: + # + # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" + # - local `asdf current` says "set by /some/not/home/directory/file" + # - global `asdf current` says "set by /home/username/file" + # + # Note: If this parameter is set to (shell local global), it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. + typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) + + # If set to false, hide tool versions that are the same as global. + # + # Note: The name of this parameter doesn't reflect its meaning at all. + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. + typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false + + # If set to false, hide tool versions that are equal to "system". + # + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. + typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true + + # If set to non-empty value, hide tools unless there is a file matching the specified file pattern + # in the current directory, or its parent directory, or its grandparent directory, and so on. + # + # Note: If this parameter is set to empty value, it won't hide tools. + # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. + # + # Example: Hide nodejs version when there is no package.json and no *.js files in the current + # directory, in `..`, in `../..` and so on. + # + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' + typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= + + # Ruby version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168 + # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Python version from asdf. + typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Go version from asdf. + typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Node.js version from asdf. + typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70 + # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Rust version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' + + # .NET Core version from asdf. + typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134 + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Flutter version from asdf. + typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38 + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Lua version from asdf. + typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32 + # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Java version from asdf. + typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32 + # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Perl version from asdf. + typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67 + # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Erlang version from asdf. + typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125 + # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Elixir version from asdf. + typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129 + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Postgres version from asdf. + typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31 + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' + + # PHP version from asdf. + typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99 + # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Haskell version from asdf. + typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172 + # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Julia version from asdf. + typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70 + # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' + + ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### + # NordVPN connection indicator color. + typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39 + # Hide NordVPN connection indicator when not connected. + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= + # Custom icon. + # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## + # Ranger shell color. + typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### + # Nnn shell color. + typeset -g POWERLEVEL9K_NNN_FOREGROUND=72 + # Custom icon. + # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## + # xplr shell color. + typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72 + # Custom icon. + # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########################[ vim_shell: vim shell indicator (:sh) ]########################### + # Vim shell indicator color. + typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34 + # Custom icon. + # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### + # Midnight Commander shell color. + typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## + # Nix shell color. + typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74 + + # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. + # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ disk_usage: disk usage ]################################## + # Colors for different levels of disk usage. + typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35 + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160 + # Thresholds for different levels of disk usage (percentage points). + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 + # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. + typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false + # Custom icon. + # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### + # Text and color for normal (a.k.a. command) vi mode. + typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL + typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=106 + # Text and color for visual vi mode. + typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL + typeset -g POWERLEVEL9K_VI_MODE_VISUAL_FOREGROUND=68 + # Text and color for overtype (a.k.a. overwrite and replace) vi mode. + typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE + typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_FOREGROUND=172 + # Text and color for insert vi mode. + typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= + typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66 + + # Custom icon. + # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ ram: free RAM ]####################################### + # RAM color. + typeset -g POWERLEVEL9K_RAM_FOREGROUND=66 + # Custom icon. + # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################################[ swap: used swap ]###################################### + # Swap color. + typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96 + # Custom icon. + # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ load: CPU load ]###################################### + # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. + typeset -g POWERLEVEL9K_LOAD_WHICH=5 + # Load color when load is under 50%. + typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66 + # Load color when load is between 50% and 70%. + typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178 + # Load color when load is over 70%. + typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166 + # Custom icon. + # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ + # Todo color. + typeset -g POWERLEVEL9K_TODO_FOREGROUND=110 + # Hide todo when the total number of tasks is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true + # Hide todo when the number of tasks after filtering is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false + + # Todo format. The following parameters are available within the expansion. + # + # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. + # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. + # + # These variables correspond to the last line of the output of `todo.sh -p ls`: + # + # TODO: 24 of 42 tasks shown + # + # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. + # + # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ + # Timewarrior color. + typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110 + # If the tracked task is longer than 24 characters, truncate and append "…". + # Tip: To always display tasks without truncation, delete the following parameter. + # Tip: To hide task names and display just the icon when time tracking is enabled, set the + # value of the following parameter to "". + typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' + + # Custom icon. + # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## + # Taskwarrior color. + typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74 + + # Taskwarrior segment format. The following parameters are available within the expansion. + # + # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. + # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. + # + # Zero values are represented as empty parameters. + # + # The default format: + # + # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' + # + # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################################[ cpu_arch: CPU architecture ]################################ + # CPU architecture color. + typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172 + + # Hide the segment when on a specific CPU architecture. + # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION= + # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ context: user@hostname ]################################## + # Context color when running with privileges. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178 + # Context color in SSH without privileges. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180 + # Default context color (no privileges, no SSH). + typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180 + + # Context format when running with privileges: bold user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m' + # Context format when in SSH without privileges: user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' + # Default context format (no privileges, no SSH): user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' + + # Don't show context unless running with privileges or in SSH. + # Tip: Remove the next line to always show context. + typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%248Fwith ' + + ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### + # Python virtual environment color. + typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 + # Don't show Python version next to the virtual environment name. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false + # If set to "false", won't show virtualenv if pyenv is already shown. + # If set to "if-different", won't show virtualenv if it's the same as pyenv. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false + # Separate environment name from Python version only with a space. + typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ anaconda: conda environment (https://conda.io/) ]###################### + # Anaconda environment color. + typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37 + + # Anaconda segment format. The following parameters are available within the expansion. + # + # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. + # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. + # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). + # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). + # + # CONDA_PROMPT_MODIFIER can be configured with the following command: + # + # conda config --set env_prompt '({default_env}) ' + # + # The last argument is a Python format string that can use the following variables: + # + # - prefix The same as CONDA_PREFIX. + # - default_env The same as CONDA_DEFAULT_ENV. + # - name The last segment of CONDA_PREFIX. + # - stacked_env Comma-separated list of names in the environment stack. The first element is + # always the same as default_env. + # + # Note: '({default_env}) ' is the default value of env_prompt. + # + # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER + # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former + # is empty. + typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' + + # Custom icon. + # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ + # Pyenv color. + typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37 + # Hide python version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) + # If set to false, hide python version if it's the same as global: + # $(pyenv version-name) == $(pyenv global). + typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide python version if it's equal to "system". + typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true + + # Pyenv segment format. The following parameters are available within the expansion. + # + # - P9K_CONTENT Current pyenv environment (pyenv version-name). + # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). + # + # The default format has the following logic: + # + # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or + # starts with "$P9K_PYENV_PYTHON_VERSION/". + # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION". + typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}' + + # Custom icon. + # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ + # Goenv color. + typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37 + # Hide go version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) + # If set to false, hide go version if it's the same as global: + # $(goenv version-name) == $(goenv global). + typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide go version if it's equal to "system". + typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## + # Nodenv color. + typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70 + # Hide node version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) + # If set to false, hide node version if it's the same as global: + # $(nodenv version-name) == $(nodenv global). + typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide node version if it's equal to "system". + typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### + # Nvm color. + typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 + # Custom icon. + # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ + # Nodeenv color. + typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70 + # Don't show Node version next to the environment name. + typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false + # Separate environment name from Node version only with a space. + typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############################[ node_version: node.js version ]############################### + # Node version color. + typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70 + # Show node version only when in a directory tree containing package.json. + typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ go_version: go version (https://golang.org) ]######################## + # Go version color. + typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37 + # Show go version only when in a go project subdirectory. + typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## + # Rust version color. + typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37 + # Show rust version only when in a rust project subdirectory. + typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ + # .NET version color. + typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134 + # Show .NET version only when in a .NET project subdirectory. + typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ php_version: php version (https://www.php.net/) ]###################### + # PHP version color. + typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99 + # Show PHP version only when in a PHP project subdirectory. + typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### + # Laravel version color. + typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161 + # Custom icon. + # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ####################[ java_version: java version (https://www.java.com/) ]#################### + # Java version color. + typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32 + # Show java version only when in a java project subdirectory. + typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true + # Show brief version. + typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false + # Custom icon. + # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### + # Package color. + typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117 + # Package format. The following parameters are available within the expansion. + # + # - P9K_PACKAGE_NAME The value of `name` field in package.json. + # - P9K_PACKAGE_VERSION The value of `version` field in package.json. + # + # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' + # Custom icon. + # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## + # Rbenv color. + typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168 + # Hide ruby version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) + # If set to false, hide ruby version if it's the same as global: + # $(rbenv version-name) == $(rbenv global). + typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide ruby version if it's equal to "system". + typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## + # Rvm color. + typeset -g POWERLEVEL9K_RVM_FOREGROUND=168 + # Don't show @gemset at the end. + typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false + # Don't show ruby- at the front. + typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ + # Fvm color. + typeset -g POWERLEVEL9K_FVM_FOREGROUND=38 + # Custom icon. + # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### + # Lua color. + typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32 + # Hide lua version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) + # If set to false, hide lua version if it's the same as global: + # $(luaenv version-name) == $(luaenv global). + typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide lua version if it's equal to "system". + typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ + # Java color. + typeset -g POWERLEVEL9K_JENV_FOREGROUND=32 + # Hide java version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) + # If set to false, hide java version if it's the same as global: + # $(jenv version-name) == $(jenv global). + typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide java version if it's equal to "system". + typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ + # Perl color. + typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67 + # Hide perl version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) + # If set to false, hide perl version if it's the same as global: + # $(plenv version-name) == $(plenv global). + typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide perl version if it's equal to "system". + typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############ + # Perlbrew color. + typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67 + # Show perlbrew version only when in a perl project subdirectory. + typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true + # Don't show "perl-" at the front. + typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ + # PHP color. + typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99 + # Hide php version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) + # If set to false, hide php version if it's the same as global: + # $(phpenv version-name) == $(phpenv global). + typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide php version if it's equal to "system". + typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### + # Scala color. + typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160 + # Hide scala version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) + # If set to false, hide scala version if it's the same as global: + # $(scalaenv version-name) == $(scalaenv global). + typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide scala version if it's equal to "system". + typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### + # Haskell color. + typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 + # Hide haskell version if it doesn't come from one of these sources. + # + # shell: version is set by STACK_YAML + # local: version is set by stack.yaml up the directory tree + # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) + typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) + # If set to false, hide haskell version if it's the same as in the implicit global project. + typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true + # Custom icon. + # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ terraform: terraform workspace (https://www.terraform.io) ]################# + # Don't show terraform workspace if it's literally "default". + typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false + # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current terraform workspace gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' OTHER) + # + # If your current terraform workspace is "project_test", its class is TEST because "project_test" + # doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' OTHER) + typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38 + # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ terraform_version: terraform version (https://www.terraform.io) ]############## + # Terraform version color. + typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38 + # Custom icon. + # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# + # Show kubecontext only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show kubecontext. + typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold' + + # Kubernetes context classes for the purpose of using different colors, icons and expansions with + # different contexts. + # + # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current kubernetes context gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current kubernetes context is "deathray-testing/default", its class is TEST + # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 + # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext + # segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # Within the expansion the following parameters are always available: + # + # - P9K_CONTENT The content that would've been displayed if there was no content + # expansion defined. + # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE + # in the output of `kubectl config get-contexts`. If there is no + # namespace, the parameter is set to "default". + # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the + # output of `kubectl config get-contexts`. + # + # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), + # the following extra parameters are available: + # + # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. + # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. + # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. + # + # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, + # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=gke + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + # + # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=eks + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= + # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' + # Append the current context's namespace if it's not "default". + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' + + # Custom prefix. + typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%248Fat ' + + #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# + # Show aws only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show aws. + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' + + # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current AWS profile gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current AWS profile is "company_test", its class is TEST + # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208 + # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # AWS segment format. The following parameters are available within the expansion. + # + # - P9K_AWS_PROFILE The name of the current AWS profile. + # - P9K_AWS_REGION The region associated with the current AWS profile. + typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}' + + #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# + # AWS Elastic Beanstalk environment color. + typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 + # Custom icon. + # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## + # Show azure only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show azure. + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' + # Azure account name color. + typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32 + # Custom icon. + # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### + # Show gcloud only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show gcloud. + typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil' + # Google cloud color. + typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32 + + # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or + # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative + # enough. You can use the following parameters in the expansions. Each of them corresponds to the + # output of `gcloud` tool. + # + # Parameter | Source + # -------------------------|-------------------------------------------------------------------- + # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' + # P9K_GCLOUD_ACCOUNT | gcloud config get-value account + # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project + # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. + # + # Obtaining project name requires sending a request to Google servers. This can take a long time + # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud + # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets + # set and gcloud prompt segment transitions to state COMPLETE. + # + # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL + # and COMPLETE. You can also hide gcloud in state PARTIAL by setting + # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and + # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. + typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' + typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' + + # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name + # this often. Negative value disables periodic polling. In this mode project name is retrieved + # only when the current configuration, account or project id changes. + typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 + + # Custom icon. + # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# + # Show google_app_cred only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show google_app_cred. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' + + # Google application credentials classes for the purpose of using different colors, icons and + # expansions with different credentials. + # + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first + # element in each pair defines a pattern against which the current kubernetes context gets + # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion + # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION + # parameters, you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. + # The first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD + # '*:*test*:*' TEST + # '*' DEFAULT) + # + # If your current Google application credentials is "service_account deathray-testing x@y.com", + # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD # These values are examples that are unlikely + # '*:*test*:*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by + # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # You can use the following parameters in the expansion. Each of them corresponds to one of the + # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. + # + # Parameter | JSON key file field + # ---------------------------------+--------------- + # P9K_GOOGLE_APP_CRED_TYPE | type + # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id + # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' + + ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]############### + # Toolbox color. + typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178 + # Don't display the name of the toolbox if it matches fedora-toolbox-*. + typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}' + # Custom icon. + # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%248Fin ' + + ###############################[ public_ip: public IP address ]############################### + # Public IP color. + typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94 + # Custom icon. + # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ########################[ vpn_ip: virtual private network indicator ]######################### + # VPN IP color. + typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81 + # When on VPN, show just an icon without the IP address. + # Tip: To display the private IP address when on VPN, remove the next line. + typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= + # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN + # to see the name of the interface. + typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*' + # If set to true, show one segment per matching network interface. If set to false, show only + # one segment corresponding to the first matching network interface. + # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. + typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false + # Custom icon. + # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### + # IP color. + typeset -g POWERLEVEL9K_IP_FOREGROUND=38 + # The following parameters are accessible within the expansion: + # + # Parameter | Meaning + # ----------------------+------------------------------------------- + # P9K_IP_IP | IP address + # P9K_IP_INTERFACE | network interface + # P9K_IP_RX_BYTES | total number of bytes received + # P9K_IP_TX_BYTES | total number of bytes sent + # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt + # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt + # P9K_IP_RX_RATE | receive rate (since last prompt) + # P9K_IP_TX_RATE | send rate (since last prompt) + typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP' + # Show information for the first network interface whose name matches this regular expression. + # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. + typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*' + # Custom icon. + # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #########################[ proxy: system-wide http/https/ftp proxy ]########################## + # Proxy color. + typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68 + # Custom icon. + # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################################[ battery: internal battery ]################################# + # Show battery in red when it's below this level and not connected to power supply. + typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 + typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160 + # Show battery in green when it's charging or fully charged. + typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70 + # Show battery in yellow when it's discharging. + typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 + # Battery pictograms going from low to high level of charge. + typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' + # Don't show the remaining time to charge/discharge. + typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false + + #####################################[ wifi: wifi speed ]##################################### + # WiFi color. + typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68 + # Custom icon. + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). + # + # # Wifi colors and icons for different signal strength levels (low to high). + # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values + # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values + # + # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' + # + # The following parameters are accessible within the expansions: + # + # Parameter | Meaning + # ----------------------+--------------- + # P9K_WIFI_SSID | service set identifier, a.k.a. network name + # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown + # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second + # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 + # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 + # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) + + ####################################[ time: current time ]#################################### + # Current time color. + typeset -g POWERLEVEL9K_TIME_FOREGROUND=66 + # Format for the current time: 09:51:02. See `man 3 strftime`. + typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' + # If set to true, time will update when you hit enter. This way prompts for the past + # commands will contain the start times of their commands as opposed to the default + # behavior where they contain the end times of their preceding commands. + typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false + # Custom icon. + # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + typeset -g POWERLEVEL9K_TIME_PREFIX='%248Fat ' + + # Example of a user-defined prompt segment. Function prompt_example will be called on every + # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or + # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user. + # + # Type `p10k help segment` for documentation and a more sophisticated example. + function prompt_example() { + p10k segment -f 208 -i '⭐' -t 'hello, %n' + } + + # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job + # is to generate the prompt segment for display in instant prompt. See + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # + # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function + # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k + # will replay these calls without actually calling instant_prompt_*. It is imperative that + # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this + # rule is not observed, the content of instant prompt will be incorrect. + # + # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If + # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. + function instant_prompt_example() { + # Since prompt_example always makes the same `p10k segment` calls, we can call it from + # instant_prompt_example. This will give us the same `example` prompt segment in the instant + # and regular prompts. + prompt_example + } + + # User-defined prompt segments can be customized the same way as built-in segments. + # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208 + # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt + # when accepting a command line. Supported values: + # + # - off: Don't change prompt when accepting a command line. + # - always: Trim down prompt when accepting a command line. + # - same-dir: Trim down prompt when accepting a command line unless this is the first command + # typed after changing current working directory. + typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always + + # Instant prompt mode. + # + # - off: Disable instant prompt. Choose this if you've tried instant prompt and found + # it incompatible with your zsh configuration files. + # - quiet: Enable instant prompt and don't print warnings when detecting console output + # during zsh initialization. Choose this if you've read and understood + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # - verbose: Enable instant prompt and print a warning when detecting console output during + # zsh initialization. Choose this if you've never tried instant prompt, haven't + # seen the warning, or if you are unsure what this all means. + typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet + + # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. + # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload + # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you + # really need it. + typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true + + # If p10k is already loaded, reload configuration. + # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. + (( ! $+functions[p10k] )) || p10k reload +} + +# Tell `p10k configure` which file it should overwrite. +typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} + +(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} +'builtin' 'unset' 'p10k_config_opts' From e5f0a620f3ded110d02dbd4c2f5d22204a2382dc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 9 Nov 2022 14:32:17 +0100 Subject: [PATCH 0367/2080] Rename mailcap##Darwn to mailcap##os.Darwin --- mailcap##Darwn => mailcap##os.Darwin | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mailcap##Darwn => mailcap##os.Darwin (100%) diff --git a/mailcap##Darwn b/mailcap##os.Darwin similarity index 100% rename from mailcap##Darwn rename to mailcap##os.Darwin From cb078394e2258e0089e6518f1fabff334c01799e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 9 Nov 2022 14:34:34 +0100 Subject: [PATCH 0368/2080] Create .gitignore##os.Darwin --- .gitignore##os.Darwin | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore##os.Darwin diff --git a/.gitignore##os.Darwin b/.gitignore##os.Darwin new file mode 100644 index 00000000..dd678343 --- /dev/null +++ b/.gitignore##os.Darwin @@ -0,0 +1,2 @@ +# User-wide gitignore +.DS_Store From 254934b1451b718841fbd925f4bd4768245842bf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 12:33:35 +0100 Subject: [PATCH 0369/2080] tmux: enable session restore --- .tmux.conf | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index ad679ce8..1f61475b 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -31,8 +31,9 @@ set -g base-index 1 # ctrl-b [ - enter copy mode # move cursor to the start or end of the desired text string -# V - to activate fulle line highlighting (to be clarified how to do ) -# move cursor to cover the requisite string +# space - to activate selection +# V - to activate full line selection +# move cursor to cover the required content # y - to copy system clipboard # ctrl-b ] - to paste system clipboard @@ -82,7 +83,7 @@ set -g @resurrect-processes 'neomutt' set -g @resurrect-strategy-nvim 'session' # Resurrect pane content -set -g @resurrect-capture-pane-contents 'off' +set -g @resurrect-capture-pane-contents 'on' # Custome tmux session # new -s work -n work neomutt @@ -92,7 +93,7 @@ set -g @resurrect-capture-pane-contents 'off' # select-window -t mail # Tmux continuum -set -g @continuum-restore 'off' +set -g @continuum-restore 'on' # Managing plugins using TPM # prefix+I to install From f1d391ce4fa530266981539f690f07ed0278a89a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 14:04:46 +0100 Subject: [PATCH 0370/2080] neomutt: document setting default profile --- .config/neomutt/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.config/neomutt/README.md b/.config/neomutt/README.md index 982f472f..de69bbc0 100644 --- a/.config/neomutt/README.md +++ b/.config/neomutt/README.md @@ -5,6 +5,12 @@ - mbsync (isync) - msmtp +## Setting up default profile + +```shell +# Need to set a default profile +$ ln -s ~/.config/neomutt/profile-maildir.egi ~/.config/neomutt/default-profile +``` ## Accessing documentation From 488be5031c611b6c1c72933e34bc6c054c1b514f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 14:33:02 +0100 Subject: [PATCH 0371/2080] zshrc: conf of MacOS --- .zshrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.zshrc b/.zshrc index f7f19653..a59e8fb6 100644 --- a/.zshrc +++ b/.zshrc @@ -173,6 +173,9 @@ fi if (( $+commands[vagrant] )); then zinit snippet OMZP::vagrant fi +if [[ "$OSTYPE" == "darwin"* ]]; then + zinit snippet OMZP::macos +fi # }}} # Completion definitions @@ -631,6 +634,7 @@ export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" export FZF_ALT_C_COMMAND="fd -t d ." export FZF_CTRL_T_OPTS="--preview '(highlight -O ansi -l {} 2> /dev/null || bat {} || tree -C {}) 2> /dev/null | head -200'" export FZF_CTRL_R_OPTS="--preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'" +[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh # }}} # vim:foldlevel=0 foldmethod=marker From 35012a2762e5edc5e7941e3a124eb10522686925 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 14:34:58 +0100 Subject: [PATCH 0372/2080] mutt: try to use backgroud_edit on macos --- .config/neomutt/launch_iterm.sh | 16 ++++++++++++++++ .config/neomutt/mutt-common.rc | 7 ++++--- 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100755 .config/neomutt/launch_iterm.sh diff --git a/.config/neomutt/launch_iterm.sh b/.config/neomutt/launch_iterm.sh new file mode 100755 index 00000000..528941dd --- /dev/null +++ b/.config/neomutt/launch_iterm.sh @@ -0,0 +1,16 @@ +#!/bin/bash +osascript - "$@" <<EOF +on run argv +tell application "iTerm" + activate + set new_term to (create window with default profile) + tell new_term + tell the current session + repeat with arg in argv + write text arg + end repeat + end tell + end tell +end tell +end run +EOF diff --git a/.config/neomutt/mutt-common.rc b/.config/neomutt/mutt-common.rc index 31831fc4..d0113549 100644 --- a/.config/neomutt/mutt-common.rc +++ b/.config/neomutt/mutt-common.rc @@ -10,11 +10,12 @@ set tmpdir = '~/tmp' # set editor = 'nvim' # http://www.mutt.org/doc/manual/#bgedit -# XXX only on mutt? +# XXX only on mutt set background_edit # set editor = "alacritty -e nvim" -set editor = "kitty -e nvim" -#set editor = "~/bin/bgedit-screen-tmux.sh" +# set editor = "kitty -e nvim" +set editor = "~/.config/neomutt/launch_iterm.sh nvim" +# set editor = "~/.config/neomutt/bgedit-screen-tmux.sh" set shell = "/bin/zsh" # number of input lines for prompts to remember From aa68fd5f3ec4b2bd5c861e35d14861df0d59be31 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 9 Nov 2022 14:37:09 +0100 Subject: [PATCH 0373/2080] Rename mailcap##os.Darwin to .mailcap##os.Darwin --- mailcap##os.Darwin => .mailcap##os.Darwin | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mailcap##os.Darwin => .mailcap##os.Darwin (100%) diff --git a/mailcap##os.Darwin b/.mailcap##os.Darwin similarity index 100% rename from mailcap##os.Darwin rename to .mailcap##os.Darwin From e8d67ccffbb11082a7e304e64370e143f4bf0744 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 9 Nov 2022 14:41:57 +0100 Subject: [PATCH 0374/2080] Rename .mailcap to .mailcap##os.Linux --- .mailcap => .mailcap##os.Linux | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .mailcap => .mailcap##os.Linux (100%) diff --git a/.mailcap b/.mailcap##os.Linux similarity index 100% rename from .mailcap rename to .mailcap##os.Linux From 794d0d9ab19dad732237162421dc9af273a81e6b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 9 Nov 2022 14:42:41 +0100 Subject: [PATCH 0375/2080] Update README.md --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index c0a7f4a0..fa574c0a 100644 --- a/README.md +++ b/README.md @@ -26,3 +26,8 @@ yadm commit .my-conf-file -m 'add .my-conf-file' # Push to remote repository yadm push ``` + +## Creating altnerate files + +See https://yadm.io/docs/alternates. +It's easier to create them directly in the GitHub repository. From d5f827f7e625bbbd2a05518b5c934d9321de142f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 15:02:36 +0100 Subject: [PATCH 0376/2080] Fix install of OMZP::macos --- .zshrc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.zshrc b/.zshrc index a59e8fb6..8344f787 100644 --- a/.zshrc +++ b/.zshrc @@ -174,6 +174,8 @@ if (( $+commands[vagrant] )); then zinit snippet OMZP::vagrant fi if [[ "$OSTYPE" == "darwin"* ]]; then + # This requires having subversion installed + zinit ice svn zinit snippet OMZP::macos fi # }}} From 18b65785862d3aaa8d5f12bcadc30f91f707e193 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 9 Nov 2022 15:05:06 +0100 Subject: [PATCH 0377/2080] Create .mbsyncrc##os.Darwin,hostname.Baptistes-MBP.lan --- ...ncrc##os.Darwin,hostname.Baptistes-MBP.lan | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 .mbsyncrc##os.Darwin,hostname.Baptistes-MBP.lan diff --git a/.mbsyncrc##os.Darwin,hostname.Baptistes-MBP.lan b/.mbsyncrc##os.Darwin,hostname.Baptistes-MBP.lan new file mode 100644 index 00000000..94c96a44 --- /dev/null +++ b/.mbsyncrc##os.Darwin,hostname.Baptistes-MBP.lan @@ -0,0 +1,101 @@ +# https://roylez.info/2016-02-10-mutt-multi-imap-accounts/ +# EGI Gmail Account +IMAPAccount EGI +Host imap.gmail.com +User baptiste.grenier@egi.eu +# https://support.google.com/accounts/answer/185833?hl=en +# Set passwod on OSX: security add-generic-password -a baptiste.grenier@egi.eu -s imap.gmail.com -w +PassCmd "security find-generic-password -s imap.gmail.com -a baptiste.grenier@egi.eu -w" +SSLType IMAPS +AuthMechs LOGIN +CertificateFile /usr/local/etc/openssl/cert.pem + +# Remote EGI IMAP +IMAPStore EGI_gmail +Account EGI + +# Local EGI Maildir +MaildirStore EGI_local +Path ~/Mail/EGI/ +Inbox ~/Mail/EGI/Inbox + +## Connect remote IMAP to local Folders + +Channel EGI-default +Far :EGI_gmail:"INBOX" +Near :EGI_local:Inbox +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-sent +Far :EGI_gmail:"[Gmail]/Sent Mail" +Near :EGI_local:Sent +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-starred +Far :EGI_gmail:"[Gmail]/Starred" +Near :EGI_local:Starred +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-trash +Far :EGI_gmail:"[Gmail]/Bin" +Near :EGI_local:Trash +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-archive +Far :EGI_gmail:"[Gmail]/All Mail" +Near :EGI_local:All +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-drafts +Far :EGI_gmail:"[Gmail]/Drafts" +Near :EGI_local:Drafts +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-spam +Far :EGI_gmail:"[Gmail]/Spam" +Near :EGI_local:Spam +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Group EGI +Channel EGI-default +Channel EGI-sent +Channel EGI-starred +Channel EGI-trash +Channel EGI-archive +Channel EGI-drafts +Channel EGI-spam From bf98b824de903127c8f4ffca369d3e018903eb5e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 9 Nov 2022 15:06:52 +0100 Subject: [PATCH 0378/2080] Update and rename .mbsyncrc##os.Darwin,hostname.Baptistes-MBP.lan to .mbsyncrc##os.Darwin,hostname.Baptistes-MBP --- ...ptistes-MBP.lan => .mbsyncrc##os.Darwin,hostname.Baptistes-MBP | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .mbsyncrc##os.Darwin,hostname.Baptistes-MBP.lan => .mbsyncrc##os.Darwin,hostname.Baptistes-MBP (100%) diff --git a/.mbsyncrc##os.Darwin,hostname.Baptistes-MBP.lan b/.mbsyncrc##os.Darwin,hostname.Baptistes-MBP similarity index 100% rename from .mbsyncrc##os.Darwin,hostname.Baptistes-MBP.lan rename to .mbsyncrc##os.Darwin,hostname.Baptistes-MBP From 16933a9b28b616e763d94a86e3beebd3a03ede3e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 16:15:08 +0100 Subject: [PATCH 0379/2080] Unignore priority --- .config/neomutt/headers | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/neomutt/headers b/.config/neomutt/headers index 8c26405d..0d054c3e 100644 --- a/.config/neomutt/headers +++ b/.config/neomutt/headers @@ -12,6 +12,7 @@ unignore newsgroups posted-to x-also-posted-to unignore sender x-original-sender unignore priority importance unignore mail-followup-to in-reply-to +unignore priority x-priority importance # useful to debug smtp path but too verbose # unignore references # unignore content-type From 90ccb15fe9a98ba361875ac176e1ef1e61341e13 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 16:15:31 +0100 Subject: [PATCH 0380/2080] update mailcap --- .config/neomutt/mailcap-osx | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/neomutt/mailcap-osx b/.config/neomutt/mailcap-osx index 6617b2bb..bd7332e6 100644 --- a/.config/neomutt/mailcap-osx +++ b/.config/neomutt/mailcap-osx @@ -12,5 +12,6 @@ text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; # text/html; ~/.config/neomutt/view_attachment %s html text/csv ; bat %s ; copiousoutput application/json ; bat %s; print = open %s +application/x-pkcs7-signature ; openssl smime -pk7out -inform DER | openssl pkcs7 -print_certs -text -noout ; nametemplate=%s.p7s ; copiousoutput # XXX not sure if used application/*; ~/.config/neomutt/view_attachment %s - From faada355a1ca68c628ec05205e1b93aaacf52ae6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 16:15:48 +0100 Subject: [PATCH 0381/2080] Update signature --- .config/neomutt/signature-egi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.config/neomutt/signature-egi b/.config/neomutt/signature-egi index 36ea866e..5339dae5 100644 --- a/.config/neomutt/signature-egi +++ b/.config/neomutt/signature-egi @@ -1,6 +1,6 @@ -Baptiste Grenier | Senior Service Delivery Officer | baptiste.grenier@egi.eu +Baptiste Grenier | Senior Service Delivery and Information Security Officer EGI Foundation (Amsterdam, The Netherlands) -Phone: +31 (0) 627 860 852 | Keybase: gwarf | Skype: baptiste.grenier.egi +Phone: +31 (0) 627 860 852 | Keybase: gwarf | baptiste.grenier@egi.eu EGI: Advanced Computing for Research -The EGI Foundation is ISO 9001:2015 and ISO/IEC 20000-1:2011 certified +The EGI Foundation is ISO 9001:2015 and ISO/IEC 20000-1:2018 certified From 10bd992ec6dfc60b79b04453acb7b891b5b6ca55 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 16:16:28 +0100 Subject: [PATCH 0382/2080] Update EGI profile --- .config/neomutt/profile-maildir.egi | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.config/neomutt/profile-maildir.egi b/.config/neomutt/profile-maildir.egi index 23a0c7ba..0cbb4923 100644 --- a/.config/neomutt/profile-maildir.egi +++ b/.config/neomutt/profile-maildir.egi @@ -5,11 +5,15 @@ set folder = ~/Mail/EGI # Copy sent message to this folder # Send directly using msmtp -#set sendmail = "/usr/local/bin/msmtp -a egi" +# set sendmail = "/usr/local/bin/msmtp -a egi" # Queue mail if offline # /usr/local/Cellar/msmtp/1.6.6/share/msmtp/scripts/msmtpq/README.msmtpq + # set sendmail = "$HOME/bin/msmtpq" set smtp_url = "smtp://127.0.0.1:25/" +set ssl_force_tls = no +set ssl_starttls = no + # Don't wait for retrun code # set sendmail_wait = -1 # Using neomutt's SMTP feature @@ -65,7 +69,8 @@ set crypt_replysignencrypted=yes # Pretty Good Privacy (PGP): # PGP using gpgme (simplified conf) -set pgp_sign_as="0xCDA18F02" # UserID/KeyID for signing +# In order to sign with a sub key, only the subkey should be available locally +set pgp_sign_as="0xCDA18F02" # UserID/KeyID for signing - main key ID # Use S/MIME by default instead of PGP # set pgp_autoencrypt # Default (enc)) # set pgp_autosign # Default (sign)) @@ -81,16 +86,16 @@ my_hdr OpenPGP: id=CDA18F02\; url=https://keys.bapt.name/pubkey.asc\; preference # gpgsm --list-secret-keys set smime_is_default set crypt_autosmime = yes -# TCS DigiCert certificate -# set smime_sign_as = 0x6D26CF94 -# TCS Sectigo ceritificate -set smime_sign_as = 0x3F4B1003 +# TCS Sectigo ceritificate August 2021 +set smime_sign_as = 0x0EBD819F # Passphrase expiration set smime_timeout=30000 # Pinentry program is taken from ~/.gnupg/gpg-agent.conf # XXX gpg-agent running from mac os X? Keychain? Keybase? # Extract PGP or S/MIME keys +# To be done before trying to send an encrypted message +# Known keys can be displayed using gpgsm --list-keys bind index,pager \ck extract-keys # Include the profile name in the status line From 2df97f0bc6b1511e0c191745e34a85a134aa692c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 16:16:47 +0100 Subject: [PATCH 0383/2080] Inore some more files --- .config/neomutt/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/neomutt/.gitignore b/.config/neomutt/.gitignore index ec6b4507..cf576c26 100644 --- a/.config/neomutt/.gitignore +++ b/.config/neomutt/.gitignore @@ -1 +1,3 @@ +aliases default-profile +imap From 5b9d1cc9367fe95984444ddd306b24bd118ffa3a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 16:17:14 +0100 Subject: [PATCH 0384/2080] launch_iterm.sh: hardcode nvim --- .config/neomutt/launch_iterm.sh | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.config/neomutt/launch_iterm.sh b/.config/neomutt/launch_iterm.sh index 528941dd..da604f77 100755 --- a/.config/neomutt/launch_iterm.sh +++ b/.config/neomutt/launch_iterm.sh @@ -1,16 +1,15 @@ #!/bin/bash osascript - "$@" <<EOF -on run argv -tell application "iTerm" +on run input + set cmd to "nvim " & quote & input & quote & " && exit" + tell application "iTerm" activate set new_term to (create window with default profile) tell new_term - tell the current session - repeat with arg in argv - write text arg - end repeat - end tell + tell the current session + write text cmd + end tell end tell -end tell + end tell end run EOF From 2eb026e5e674b5fdf0c3f0270e54c950caecbb33 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 16:18:18 +0100 Subject: [PATCH 0385/2080] Drop usless gitignore, format date --- .config/neomutt/.gitignore | 3 --- .config/neomutt/local-date.pl | 14 ++++++++++++++ .config/neomutt/mutt-common.rc | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) delete mode 100644 .config/neomutt/.gitignore create mode 100755 .config/neomutt/local-date.pl diff --git a/.config/neomutt/.gitignore b/.config/neomutt/.gitignore deleted file mode 100644 index cf576c26..00000000 --- a/.config/neomutt/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -aliases -default-profile -imap diff --git a/.config/neomutt/local-date.pl b/.config/neomutt/local-date.pl new file mode 100755 index 00000000..0142afe5 --- /dev/null +++ b/.config/neomutt/local-date.pl @@ -0,0 +1,14 @@ +#!/usr/bin/env perl -n + +use Date::Parse; +use POSIX; +use strict; + +if (/^Date: (.*)$/) { + my $datestr = $1; + my $date = strftime ("%a, %d %b %Y %H:%M:%S", + localtime (str2time ($datestr))); + print "Local-Date: $date\n"; +} + +print; diff --git a/.config/neomutt/mutt-common.rc b/.config/neomutt/mutt-common.rc index d0113549..7165927f 100644 --- a/.config/neomutt/mutt-common.rc +++ b/.config/neomutt/mutt-common.rc @@ -165,6 +165,7 @@ source ~/.config/neomutt/mime-view #set display_filter=/home/baptiste/.mutt/mutt_display_filter #set display_filter=/home/baptiste/.mutt/test_display_filter #set display_filter='par 72gqr' +set display_filter="~/.config/neomutt/local-date.pl" #set wrapmargin=60 # http://www.neomutt.org/feature/new-mail/ From 2c3504e1956a7549e92e58a1dbf320581c460e84 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 16:22:24 +0100 Subject: [PATCH 0386/2080] mutt: try to get background_edit working on macOS --- .config/neomutt/bgedit-screen-tmux.sh | 66 +++++++++++++++++++++++++++ .config/neomutt/mutt-common.rc | 10 +++- .config/neomutt/profile-maildir.egi | 1 + 3 files changed, 75 insertions(+), 2 deletions(-) create mode 100755 .config/neomutt/bgedit-screen-tmux.sh diff --git a/.config/neomutt/bgedit-screen-tmux.sh b/.config/neomutt/bgedit-screen-tmux.sh new file mode 100755 index 00000000..692d6f24 --- /dev/null +++ b/.config/neomutt/bgedit-screen-tmux.sh @@ -0,0 +1,66 @@ +#!/bin/sh +# +# Copyright (C) 2020 Kevin J. McCarthy <kevin@8t8.us> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Invoke a background edit session in a new GNU Screen or tmux window. +# +# This script is derived from Aaron Schrab's tmuxwait script, posted to +# mutt-dev at +# <http://lists.mutt.org/pipermail/mutt-dev/Week-of-Mon-20200406/000591.html>. +# +# If you run mutt inside screen or tmux, add to your muttrc: +# set background_edit +# set editor = '/path/to/bgedit-screen-tmux.sh [youreditor]' +# +# It may also be useful to modify something like contrib/bgedit-detectgui.sh +# to look for the $STY or $TMUX environment variables and set those +# configuration variables appropriately. +# + +set -e + +# if [ "$#" -lt 2 ]; then +# echo "Usage: $0 editor tempfile" >&2 +# exit 1 +# fi + +editor=$1 +shift + +tmpdir=$(mktemp -d) +trap 'rm -rf "$tmpdir"' EXIT INT QUIT +mkfifo "$tmpdir/status" + +# $editor "\$@" +cat >"$tmpdir/run" <<END_SCRIPT +exitval=1 +trap 'echo \$exitval > "$tmpdir/status"' EXIT INT QUIT +/Users/baptiste/.config/neomutt/launch_iterm.sh "\$@" +exitval=\$? +END_SCRIPT + +if test x$STY != x; then + screen -X screen /bin/sh "$tmpdir/run" "$@" +elif test x$TMUX != x; then + tmux neww /bin/sh "$tmpdir/run" "$@" +else + echo "Not running inside a terminal emulator" >&2 + exit 1 +fi + +read exitval <"$tmpdir/status" +exit "$exitval" diff --git a/.config/neomutt/mutt-common.rc b/.config/neomutt/mutt-common.rc index 7165927f..276ea854 100644 --- a/.config/neomutt/mutt-common.rc +++ b/.config/neomutt/mutt-common.rc @@ -13,8 +13,14 @@ set tmpdir = '~/tmp' # XXX only on mutt set background_edit # set editor = "alacritty -e nvim" -# set editor = "kitty -e nvim" -set editor = "~/.config/neomutt/launch_iterm.sh nvim" +set editor = "kitty -e nvim" +# Showing empty editor +# set editor = "~/.config/neomutt/launch_iterm.sh" +# Showing editor and allowing to save +# set editor = "subl -n -w" +# Showing empty editor +# set editor = "neovide" +#set editor = "~/.config/neomutt/bgedit-screen-tmux.sh ~/baptiste/.config/neomutt/launch_iterm.sh" # set editor = "~/.config/neomutt/bgedit-screen-tmux.sh" set shell = "/bin/zsh" diff --git a/.config/neomutt/profile-maildir.egi b/.config/neomutt/profile-maildir.egi index 0cbb4923..8faab681 100644 --- a/.config/neomutt/profile-maildir.egi +++ b/.config/neomutt/profile-maildir.egi @@ -1,5 +1,6 @@ # Mutt sender profile: egi +set editor = "subl -n -w" set folder = ~/Mail/EGI # Copy sent message to this folder From 2ad7c5f64eb2e662ed4342df3d705833e94705d0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Nov 2022 16:35:30 +0100 Subject: [PATCH 0387/2080] import iterm.bash --- .config/neomutt/iterm.bash | 66 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .config/neomutt/iterm.bash diff --git a/.config/neomutt/iterm.bash b/.config/neomutt/iterm.bash new file mode 100644 index 00000000..fa875a97 --- /dev/null +++ b/.config/neomutt/iterm.bash @@ -0,0 +1,66 @@ +#!/usr/bin/env bash +# https://gist.github.com/geyang/a495a5ea8e6fdd2f79f8e874616ea182 +# +# Open new iTerm window from the command line using v3 syntax for applescript as needed in iTerm2 Version 3+ +# This script blocks until the cmd is executed in the new iTerm2 window. It then leaves the window open. +# TODO Add option to close iTerm2 after cmd execs + +# See also https://www.iterm2.com/documentation-scripting.html +# +# Usage: +# iterm Opens the current directory in a new iTerm window +# iterm [PATH] Open PATH in a new iTerm window +# iterm [CMD] Open a new iTerm window and execute CMD +# iterm [PATH] [CMD] ... You can prob'ly guess +# +# Example: +# iterm ~/Code/HelloWorld ./setup.sh +# +# References: +# iTerm AppleScript Examples: +# https://gitlab.com/gnachman/iterm2/wikis/Applescript +# +# Credit: +# Forked from https://gist.github.com/vyder/96891b93f515cb4ac559e9132e1c9086 +# Inspired by tab.bash by @bobthecow +# link: https://gist.github.com/bobthecow/757788 + +# OSX only +[ "$(uname -s)" != "Darwin" ] && echo 'OS X Only' &&return + +function iterm { + local cmd="" + local wd="$PWD" + local args="$@" + + if [ -d "$1" ]; then + wd=$(cd "$1"; pwd) + args="${@:2}" + fi + + if [ -n "$args" ]; then + # echo $args + cmd="$args" + fi + + osascript <<EOF +tell application "iTerm" + activate + set new_window to (create window with default profile) + set cSession to current session of new_window + tell new_window + tell cSession + delay 1 + write text "cd $wd;$cmd" + delay 2 + repeat + delay 0.1 + -- display dialog cSession is at shell prompt + set isdone to is at shell prompt + if isdone then exit repeat + end repeat + end tell + end tell +end tell +EOF +} From f1cb121eb9ca7bfdb484840227d1dd26f87d00c4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 10 Nov 2022 12:44:14 +0100 Subject: [PATCH 0388/2080] zshrc: merge with remote changes --- .zshrc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.zshrc b/.zshrc index 8344f787..c06b23d8 100644 --- a/.zshrc +++ b/.zshrc @@ -127,6 +127,10 @@ zinit light dracula/dircolors # Modules from prezto {{{ # https://github.com/sorin-ionescu/prezto/ +# Color output (auto set to 'no' on dumb terminals). +zstyle ':prezto:*:*' color 'yes' +# Rehash when completing commands +zstyle ":completion:*:commands" rehash 1 zinit snippet PZTM::environment # Provides interactive use of GNU utilities on BSD systems zinit snippet PZTM::gnu-utility @@ -136,29 +140,25 @@ zinit snippet PZTM::gpg zinit snippet PZTM::directory # Completion zinit snippet PZTM::completion -# Rehash when completing commands -zstyle ":completion:*:commands" rehash 1 # Aliases and color some command output zstyle ':prezto:module:editor' key-bindings 'vi' zstyle ':prezto:module:editor' dot-expansion 'yes' zstyle ':prezto:module:editor' ps-context 'yes' zinit snippet PZTM::editor -zinit snippet PZTM::utility # Use safe operations by default zstyle ':prezto:module:utility' safe-ops 'yes' +zinit snippet PZTM::utility # Manage history configuration zinit snippet PZTM::history zinit snippet PZT::modules/terminal/init.zsh zstyle ':prezto:module:terminal' auto-title 'yes' if (( $+commands[tmux] )); then - zinit snippet PZTM::tmux zstyle ':prezto:module:tmux:auto-start' local 'no' zstyle ':prezto:module:tmux:auto-start' remote 'yes' zstyle ':prezto:module:tmux:session' name 'work' zstyle ':prezto:module:tmux:iterm' integrate 'no' + zinit snippet PZTM::tmux fi -# Color output (auto set to 'no' on dumb terminals). -zstyle ':prezto:*:*' color 'yes' # }}} # Modules from oh-my-zsh {{{ From 4fbcdbcfa0cdf973476cd9e08dcc048d4325f94f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 10 Nov 2022 13:08:21 +0100 Subject: [PATCH 0389/2080] Import muttrc --- .muttrc | 1 + 1 file changed, 1 insertion(+) create mode 120000 .muttrc diff --git a/.muttrc b/.muttrc new file mode 120000 index 00000000..27394fa2 --- /dev/null +++ b/.muttrc @@ -0,0 +1 @@ +/home/baptiste/.config/neomutt/muttrc \ No newline at end of file From 62815316bd151ab02919421304b561832456fb91 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 10 Nov 2022 13:13:10 +0100 Subject: [PATCH 0390/2080] local-date.pl: fix shebang --- .config/neomutt/local-date.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/neomutt/local-date.pl b/.config/neomutt/local-date.pl index 0142afe5..459fe71d 100755 --- a/.config/neomutt/local-date.pl +++ b/.config/neomutt/local-date.pl @@ -1,4 +1,4 @@ -#!/usr/bin/env perl -n +#!/usr/bin/env -S perl -n use Date::Parse; use POSIX; From cedaceda112a49e811db01a4b13f0c3f9ad287f2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 10 Nov 2022 16:01:37 +0100 Subject: [PATCH 0391/2080] mutt: move background_edit conf to individual profiles --- .config/neomutt/mutt-common.rc | 15 +-------------- .config/neomutt/profile-maildir.egi | 19 +++++++++++++++++-- .config/neomutt/profile-maildir.perso | 8 ++++++++ 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/.config/neomutt/mutt-common.rc b/.config/neomutt/mutt-common.rc index 276ea854..f18b2363 100644 --- a/.config/neomutt/mutt-common.rc +++ b/.config/neomutt/mutt-common.rc @@ -8,20 +8,7 @@ set certificate_file = ~/.mutt/certificates set tmpdir = '~/tmp' -# set editor = 'nvim' -# http://www.mutt.org/doc/manual/#bgedit -# XXX only on mutt -set background_edit -# set editor = "alacritty -e nvim" -set editor = "kitty -e nvim" -# Showing empty editor -# set editor = "~/.config/neomutt/launch_iterm.sh" -# Showing editor and allowing to save -# set editor = "subl -n -w" -# Showing empty editor -# set editor = "neovide" -#set editor = "~/.config/neomutt/bgedit-screen-tmux.sh ~/baptiste/.config/neomutt/launch_iterm.sh" -# set editor = "~/.config/neomutt/bgedit-screen-tmux.sh" +set editor = 'nvim' set shell = "/bin/zsh" # number of input lines for prompts to remember diff --git a/.config/neomutt/profile-maildir.egi b/.config/neomutt/profile-maildir.egi index 8faab681..d4392f13 100644 --- a/.config/neomutt/profile-maildir.egi +++ b/.config/neomutt/profile-maildir.egi @@ -1,6 +1,21 @@ # Mutt sender profile: egi -set editor = "subl -n -w" +# http://www.mutt.org/doc/manual/#bgedit +# XXX only on mutt +set background_edit +# Showing editor and allowing to save +set editor = "nvim-qt" +# set editor = "subl -n -w" +# XXX Showing empty editor unless --nofork is used +# set editor = "neovide --nofork --notabs" +# Not working, no editor UI shown +# set editor = "vimr --wait" +# set editor = "vimr" +# Showing empty editor +# set editor = "~/.config/neomutt/launch_iterm.sh" +# set editor = "~/.config/neomutt/bgedit-screen-tmux.sh ~/baptiste/.config/neomutt/launch_iterm.sh" +# set editor = "~/.config/neomutt/bgedit-screen-tmux.sh" + set folder = ~/Mail/EGI # Copy sent message to this folder @@ -141,4 +156,4 @@ subscribe operations@egi.eu subscribe office@mailman.egi.eu subscribe wise@lists.wise-community.org -# :vim set ft=muttrc: +# vim: set ft=muttrc: diff --git a/.config/neomutt/profile-maildir.perso b/.config/neomutt/profile-maildir.perso index 0766fa88..37cdb000 100644 --- a/.config/neomutt/profile-maildir.perso +++ b/.config/neomutt/profile-maildir.perso @@ -1,5 +1,11 @@ # Mutt sender profile: perso +# http://www.mutt.org/doc/manual/#bgedit +# XXX only on mutt +set background_edit +# set editor = "alacritty -e nvim" +set editor = "kitty -e nvim" + set mbox_type = Maildir set folder = ~/Mail/Perso @@ -84,3 +90,5 @@ macro index,pager A "<save-message>+Archive<enter>" "move message to the archive subscribe debiocidons-bureau@framalistes.org subscribe debiocidons-ca@framalistes.org subscribe debiocidons@framalistes.org + +# vim: set ft=muttrc: From d4d83dfcf87cb525217c985fde3a17e170037e27 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 14 Nov 2022 09:06:49 +0100 Subject: [PATCH 0392/2080] Update .muttrc --- .muttrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.muttrc b/.muttrc index 27394fa2..e3e54666 120000 --- a/.muttrc +++ b/.muttrc @@ -1 +1 @@ -/home/baptiste/.config/neomutt/muttrc \ No newline at end of file +~/.config/neomutt/muttrc From 20efde45c18c20a06cf52a3d4298009921435b73 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 14 Nov 2022 09:12:27 +0100 Subject: [PATCH 0393/2080] Update and rename .muttrc to .muttrc##os.Darwin --- .muttrc | 1 - .muttrc##os.Darwin | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 120000 .muttrc create mode 120000 .muttrc##os.Darwin diff --git a/.muttrc b/.muttrc deleted file mode 120000 index e3e54666..00000000 --- a/.muttrc +++ /dev/null @@ -1 +0,0 @@ -~/.config/neomutt/muttrc diff --git a/.muttrc##os.Darwin b/.muttrc##os.Darwin new file mode 120000 index 00000000..bf96f437 --- /dev/null +++ b/.muttrc##os.Darwin @@ -0,0 +1 @@ +/Users/baptiste/.config/neomutt/muttrc From 25c96aba54cf8c1f827cedcef01cc86f97f29fd3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 14 Nov 2022 09:14:29 +0100 Subject: [PATCH 0394/2080] Muttrc for Linux --- .muttrc##os.Linux | 1 + 1 file changed, 1 insertion(+) create mode 100644 .muttrc##os.Linux diff --git a/.muttrc##os.Linux b/.muttrc##os.Linux new file mode 100644 index 00000000..29eca9b5 --- /dev/null +++ b/.muttrc##os.Linux @@ -0,0 +1 @@ +/home/baptiste/.config/neomutt/muttrc From 0cc442d51e28081a4ab766fbabbaeb7458dd40d9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 14 Nov 2022 09:16:09 +0100 Subject: [PATCH 0395/2080] Delete .muttrc##os.Linux --- .muttrc##os.Linux | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .muttrc##os.Linux diff --git a/.muttrc##os.Linux b/.muttrc##os.Linux deleted file mode 100644 index 29eca9b5..00000000 --- a/.muttrc##os.Linux +++ /dev/null @@ -1 +0,0 @@ -/home/baptiste/.config/neomutt/muttrc From 8c2a8f2de15e1746ee66a2039620424fdaf4acc0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 14 Nov 2022 09:18:34 +0100 Subject: [PATCH 0396/2080] Delete .muttrc##os.Darwin --- .muttrc##os.Darwin | 1 - 1 file changed, 1 deletion(-) delete mode 120000 .muttrc##os.Darwin diff --git a/.muttrc##os.Darwin b/.muttrc##os.Darwin deleted file mode 120000 index bf96f437..00000000 --- a/.muttrc##os.Darwin +++ /dev/null @@ -1 +0,0 @@ -/Users/baptiste/.config/neomutt/muttrc From 919fd3bae2d1317fc9e785f5418c777c74dac6ba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 14 Nov 2022 09:19:31 +0100 Subject: [PATCH 0397/2080] Create .muttrc --- .muttrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .muttrc diff --git a/.muttrc b/.muttrc new file mode 100644 index 00000000..61ce50f0 --- /dev/null +++ b/.muttrc @@ -0,0 +1 @@ +source ~/.config/neomutt/muttrc From cf4c06c23dc6a9a9b7150ef2e7fb982d00fa77df Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 15 Nov 2022 11:16:08 +0100 Subject: [PATCH 0398/2080] Import ginit.vim --- .config/nvim/ginit.vim | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .config/nvim/ginit.vim diff --git a/.config/nvim/ginit.vim b/.config/nvim/ginit.vim new file mode 100644 index 00000000..dccbff90 --- /dev/null +++ b/.config/nvim/ginit.vim @@ -0,0 +1,41 @@ +" Enable Mouse +set mouse=a + +" Paste with middle mouse click +vmap <LeftRelease> "*ygv + +" Paste with <Shift> + <Insert> +imap <S-Insert> <C-R>* + +" Set Editor Font +if exists(':GuiFont') + " Use GuiFont! to ignore font errors + GuiFont Hack Nerd Font:h18 +endif + +" Disable GUI Tabline +if exists(':GuiTabline') + GuiTabline 0 +endif + +" Disable GUI Popupmenu +if exists(':GuiPopupmenu') + GuiPopupmenu 0 +endif + +" Enable GUI ScrollBar +if exists(':GuiScrollBar') + GuiScrollBar 1 +endif + +" Right Click Context Menu (Copy-Cut-Paste) +nnoremap <silent><RightMouse> :call GuiShowContextMenu()<CR> +inoremap <silent><RightMouse> <Esc>:call GuiShowContextMenu()<CR> +xnoremap <silent><RightMouse> :call GuiShowContextMenu()<CR>gv +snoremap <silent><RightMouse> <C-G>:call GuiShowContextMenu()<CR>gv + +let OS=substitute(system('uname -s'),"\n","","") +if (OS == "Darwin") + # Get binding for copy paste working + source $VIMRUNTIME/macmap.vim +endif From 719f7263ff000402d525408435437fe7499d0b17 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 17 Nov 2022 12:19:47 +0100 Subject: [PATCH 0399/2080] ginit.vim: fix comment --- .config/nvim/ginit.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/ginit.vim b/.config/nvim/ginit.vim index dccbff90..3b8462d6 100644 --- a/.config/nvim/ginit.vim +++ b/.config/nvim/ginit.vim @@ -36,6 +36,6 @@ snoremap <silent><RightMouse> <C-G>:call GuiShowContextMenu()<CR>gv let OS=substitute(system('uname -s'),"\n","","") if (OS == "Darwin") - # Get binding for copy paste working + " Get binding for copy paste working source $VIMRUNTIME/macmap.vim endif From 78b1070d3107f49407f0cc5fd807f65121af1970 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 17 Nov 2022 12:27:32 +0100 Subject: [PATCH 0400/2080] nvim: only rely on COC and coc-spell-checker for spell checking --- .config/nvim/coc-settings.json | 3 +- .config/nvim/ftplugin/gitcommit.vim | 4 ++- .config/nvim/ftplugin/mail.vim | 6 ++-- .config/nvim/ftplugin/markdown.vim | 4 +-- .config/nvim/ftplugin/rst.vim | 3 +- .config/nvim/ftplugin/text.vim | 4 +-- .config/nvim/init.vim | 45 +++++++++++++++------------- .config/nvim/plugin/settings/coc.vim | 4 +-- 8 files changed, 41 insertions(+), 32 deletions(-) diff --git a/.config/nvim/coc-settings.json b/.config/nvim/coc-settings.json index 40db102b..d06907d3 100644 --- a/.config/nvim/coc-settings.json +++ b/.config/nvim/coc-settings.json @@ -1,5 +1,6 @@ { - "cSpell.language": "en-GB", + "cSpellExt.enableDictionaries": ["french-reforme"], + "cSpell.language": "en-GB,fr-90", "python.venvPath": ["~/.virtualenvs"], "python.linting.enabled": false, "python.linting.pylintEnabled": false, diff --git a/.config/nvim/ftplugin/gitcommit.vim b/.config/nvim/ftplugin/gitcommit.vim index 2b757a69..65e1faab 100644 --- a/.config/nvim/ftplugin/gitcommit.vim +++ b/.config/nvim/ftplugin/gitcommit.vim @@ -1 +1,3 @@ -setlocal spell textwidth=72 +" Enable spell checks using native spell checker +" setlocal spell +setlocal textwidth=72 diff --git a/.config/nvim/ftplugin/mail.vim b/.config/nvim/ftplugin/mail.vim index 8d2f74ec..8f4a39ac 100644 --- a/.config/nvim/ftplugin/mail.vim +++ b/.config/nvim/ftplugin/mail.vim @@ -1,7 +1,7 @@ " Setup to write mails with vim -" Enable spell checks -setlocal spell +" Enable spell checks using native spell checker +" setlocal spell " No indentation when copying set nocopyindent " Expand spaces to tabs @@ -26,7 +26,7 @@ let b:sleuth_automatic = 0 " https://github.com/dbeniamine/vim-mail/ " let g:VimMailDoNotFold=1 -let g:VimMailSpellLangs=['en_gb', 'fr'] +" let g:VimMailSpellLangs=['en_gb', 'fr'] " Remove quoted signature is killing mine due to flow automatic formatting "let g:VimMailStartFlags={'reply' :"boir" } let g:VimMailStartFlags={ diff --git a/.config/nvim/ftplugin/markdown.vim b/.config/nvim/ftplugin/markdown.vim index 140a912b..484ebec4 100644 --- a/.config/nvim/ftplugin/markdown.vim +++ b/.config/nvim/ftplugin/markdown.vim @@ -1,5 +1,5 @@ -" Enable spell checks -setlocal spell +" Check spell using native spell checker +" setlocal spell " Disable some checks related to Markdown markup let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,WHITESPACE_RULE,EN_QUOTES' diff --git a/.config/nvim/ftplugin/rst.vim b/.config/nvim/ftplugin/rst.vim index bcda2dde..1453094b 100644 --- a/.config/nvim/ftplugin/rst.vim +++ b/.config/nvim/ftplugin/rst.vim @@ -1 +1,2 @@ -setlocal spell +" Enable spell checks using native spell checker +" setlocal spell diff --git a/.config/nvim/ftplugin/text.vim b/.config/nvim/ftplugin/text.vim index 32fe520f..09d89e62 100644 --- a/.config/nvim/ftplugin/text.vim +++ b/.config/nvim/ftplugin/text.vim @@ -1,2 +1,2 @@ -" Check spell -set spell +" Enable spell checks using native spell checker +" set spell diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 20787033..0059fa81 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -112,17 +112,6 @@ Plug 'zdharma-continuum/zinit-vim-syntax' " Plug 'tmux-plugins/vim-tmux' Plug 'Yggdroot/indentLine' -" Grammar/language checking -" https://www.vimfromscratch.com/articles/spell-and-grammar-vim/ -" If LanguageTool is installed, ALE will use it for text, md and mails -" https://github.com/dense-analysis/ale/blob/36e5337e30095afb10d02ef2ae362c8d6055e70d/doc/ale.txt#L2215 -" XXX write-good to be checked -" https://github.com/btford/write-good -" LanguageTool-based solutions -" https://github.com/rhysd/vim-grammarous -" https://github.com/vigoux/LanguageTool.nvim -" https://github.com/dpelle/vim-LanguageTool - " Load locally available config files " For per-project settings Plug 'embear/vim-localvimrc' @@ -354,7 +343,7 @@ map <Space> <Leader> " could be useful to have per-file-type keys like " In a ~/.vim/after/ftplugin/{file extension}.vim " nnoremap <buffer> <silent> <LocalLeader>b :update|make -" , is by default for backward seach on line +" , is by default for backward search on line let g:maplocalleader = ',' " \ is safer but less convenient "let g:maplocalleader = '\' @@ -369,7 +358,7 @@ command W :execute ':silent w !sudo tee % > /dev/null' | :edit! " Alternate: Use :w!! to write to a read only file by calling sudo cmap w!! %!sudo tee > /dev/null % -" Use Ctrl-a to access begining of line in command mode +" Use Ctrl-a to access beginning of line in command mode cnoremap <C-A> <Home> cnoremap <C-E> <End> @@ -388,10 +377,31 @@ endif " *-(specific|related) options """""""""""""""""""""""""""""" +" Grammar/language checking +" +" Spell checking is done using coc and coc-spell-checker +" https://github.com/iamcco/coc-spell-checker +" Additional dicts: https://github.com/iamcco/coc-cspell-dicts +" See ~/.config/nvim/plugin/settings/coc.vim and ~/.config/nvim/coc-settings.json +" +" XXX write-good to be checked +" https://github.com/btford/write-good +" LanguageTool-based solutions +" https://github.com/rhysd/vim-grammarous +" https://github.com/vigoux/LanguageTool.nvim +" https://github.com/dpelle/vim-LanguageTool +" +" Native spell check is disabled +set nospell " Set spell language -set spelllang=en_gb,fr +" set spelllang=en_gb,fr " Enable completion of spell -set complete+=kspell +" set complete+=kspell +" +" Force the top-ranked correction on the first misspelled word before the +" cursor. +" nnoremap <C-s> [s1z=<c-o> +" inoremap <C-s> <c-g>u<Esc>[s1z=`]A<c-g>u " Mail edition for mutt autocmd BufEnter,BufNewFile,BufRead ~/tmp/mutt* set ft=mail @@ -436,11 +446,6 @@ augroup litecorrect autocmd FileType textile call litecorrect#init() augroup END -" Force the top-ranked correction on the first misspelled word before the -" cursor. -nnoremap <C-s> [s1z=<c-o> -inoremap <C-s> <c-g>u<Esc>[s1z=`]A<c-g>u - " Toggle undotree panel nnoremap <F5> :UndotreeToggle<cr> if has("persistent_undo") diff --git a/.config/nvim/plugin/settings/coc.vim b/.config/nvim/plugin/settings/coc.vim index 465b7297..26c99df9 100644 --- a/.config/nvim/plugin/settings/coc.vim +++ b/.config/nvim/plugin/settings/coc.vim @@ -15,8 +15,8 @@ " } " Auto install required extensions -" Update usinsg CocUpdate -let g:coc_global_extensions = [ 'coc-json', 'coc-git', 'coc-pyright', 'coc-spell-checker', 'coc-snippets' ] +" Update using CocUpdate +let g:coc_global_extensions = [ 'coc-json', 'coc-git', 'coc-pyright', 'coc-spell-checker', 'coc-snippets', 'coc-cspell-dicts' ] " Better display for messages set cmdheight=2 From b2905c328ec7584a47869d6440a34f38e5d9bd58 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 17 Nov 2022 12:29:45 +0100 Subject: [PATCH 0401/2080] Import README for nvim --- .config/nvim/README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .config/nvim/README.md diff --git a/.config/nvim/README.md b/.config/nvim/README.md new file mode 100644 index 00000000..75261e29 --- /dev/null +++ b/.config/nvim/README.md @@ -0,0 +1,14 @@ +# Setting up nvim + +See https://gist.github.com/gwarf/42a0a13ff2bf32a0e79d347e43831cae + +## Install ruby env + +```shell +$ rvm install 3.1.2 +$ rvm ruby-3.1.2 do rvm gemset create neovim +$ rvm ruby-3.1.2@neovim do gem install neovim +# Updating existing info, if needed +$ echo '3.1.2' > .ruby-version +$ echo 'neovim' > .ruby-gemset +``` From 215bde13a30f876f264224707bb430bacb351799 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 17 Nov 2022 12:32:08 +0100 Subject: [PATCH 0402/2080] Cleaning gitignore --- .gitignore##os.Darwin | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 .gitignore##os.Darwin diff --git a/.gitignore##os.Darwin b/.gitignore##os.Darwin deleted file mode 100644 index dd678343..00000000 --- a/.gitignore##os.Darwin +++ /dev/null @@ -1,2 +0,0 @@ -# User-wide gitignore -.DS_Store From d2c23e5591d0d519b3d6f251541dbe0cae6957e0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 17 Nov 2022 12:32:41 +0100 Subject: [PATCH 0403/2080] Create .gitignore##os.Darwin --- .gitignore##os.Darwin | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore##os.Darwin diff --git a/.gitignore##os.Darwin b/.gitignore##os.Darwin new file mode 100644 index 00000000..dd678343 --- /dev/null +++ b/.gitignore##os.Darwin @@ -0,0 +1,2 @@ +# User-wide gitignore +.DS_Store From 8fe0bbb54a12f73e230cd6e9628a2d80dcd39e78 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 17 Nov 2022 12:46:23 +0100 Subject: [PATCH 0404/2080] Rename .gitignore##os.Darwin to .gitignore --- .gitignore##os.Darwin => .gitignore | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .gitignore##os.Darwin => .gitignore (100%) diff --git a/.gitignore##os.Darwin b/.gitignore similarity index 100% rename from .gitignore##os.Darwin rename to .gitignore From 29fca55ec54a92c065f7060cf4b2cc32e7f2f276 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 17 Nov 2022 12:46:50 +0100 Subject: [PATCH 0405/2080] Start testing coc-ltex for spelling --- .config/nvim/init.vim | 3 ++- .config/nvim/plugin/settings/coc.vim | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 0059fa81..513b9b72 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -379,9 +379,10 @@ endif " Grammar/language checking " -" Spell checking is done using coc and coc-spell-checker +" Spell checking is done using coc with coc-spell-checker and coc-ltex " https://github.com/iamcco/coc-spell-checker " Additional dicts: https://github.com/iamcco/coc-cspell-dicts +" https://valentjn.github.io/ltex/vscode-ltex/installation-usage-coc-ltex.html " See ~/.config/nvim/plugin/settings/coc.vim and ~/.config/nvim/coc-settings.json " " XXX write-good to be checked diff --git a/.config/nvim/plugin/settings/coc.vim b/.config/nvim/plugin/settings/coc.vim index 26c99df9..11519d55 100644 --- a/.config/nvim/plugin/settings/coc.vim +++ b/.config/nvim/plugin/settings/coc.vim @@ -16,7 +16,7 @@ " Auto install required extensions " Update using CocUpdate -let g:coc_global_extensions = [ 'coc-json', 'coc-git', 'coc-pyright', 'coc-spell-checker', 'coc-snippets', 'coc-cspell-dicts' ] +let g:coc_global_extensions = [ 'coc-json', 'coc-git', 'coc-pyright', 'coc-spell-checker', 'coc-cspell-dicts', 'coc-snippets', 'coc-ltex' ] " Better display for messages set cmdheight=2 From 8d562ff6024181df1ac5f42319a41a844a1db693 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 17 Nov 2022 13:34:34 +0100 Subject: [PATCH 0406/2080] Inore some more files from ~/.config --- .gitignore | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitignore b/.gitignore index dd678343..7a173c78 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,12 @@ # User-wide gitignore .DS_Store +.config/nvim/plugged/ +.config/joplin*/resources +.config/joplin-desktop/plugins +.config/*/cache +.config/*/tmp +.config/*backup +.config/*log +.config/*/log* +.config/*/*.sqlite +.config/coc/extensions/node_modules From 3a1f30e6dbf984cb0249d57e68703e13a7dfbf17 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 18 Nov 2022 15:00:23 +0100 Subject: [PATCH 0407/2080] nvim coc: configure spelling with ltex --- .config/nvim/coc-settings.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.config/nvim/coc-settings.json b/.config/nvim/coc-settings.json index d06907d3..cfaf03d4 100644 --- a/.config/nvim/coc-settings.json +++ b/.config/nvim/coc-settings.json @@ -1,7 +1,15 @@ { "cSpellExt.enableDictionaries": ["french-reforme"], "cSpell.language": "en-GB,fr-90", - "python.venvPath": ["~/.virtualenvs"], + "ltex.language": "en-GB", + "ltex.additionalRules.motherTongue": "fr", + "ltex.completionEnabled": true, + "ltex.disabledRules": { + "en-GB": [ + "OXFORD_SPELLING_Z_NOT_S" + ] + }, + "python.venvPath": "~/.virtualenvs", "python.linting.enabled": false, "python.linting.pylintEnabled": false, "python.linting.flake8Enabled": true, From 64b81702f663890e757c1739022d7db5d530feda Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 18 Nov 2022 17:30:06 +0100 Subject: [PATCH 0408/2080] Remap search on <leader>K --- .config/nvim/plugin/settings/silversearcher.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/plugin/settings/silversearcher.vim b/.config/nvim/plugin/settings/silversearcher.vim index 96e8017d..0be67e2b 100644 --- a/.config/nvim/plugin/settings/silversearcher.vim +++ b/.config/nvim/plugin/settings/silversearcher.vim @@ -14,7 +14,7 @@ endif " bind K to grep word under cursor "nnoremap K :grep! "\b<C-R><C-W>\b"<CR>:cw<CR> -nnoremap K :Ag! "\b<C-R><C-W>\b"<CR>:cw<CR> +nnoremap <leader>K :Ag! "\b<C-R><C-W>\b"<CR>:cw<CR> " The Silver Searcher Ag " e to open file and close the quickfix window " o to open (same as enter) From 5bbff206339829ae7969b32d5948a0a7fd99d87a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 18 Nov 2022 17:30:56 +0100 Subject: [PATCH 0409/2080] init.vim: add some comments --- .config/nvim/init.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 513b9b72..5ac3818f 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -1,6 +1,7 @@ " ~/.vimrc " Interesting readings +" nvim + python config: https://github.com/Optixal/neovim-init.vim " About text objects: https://yanpritzker.com/learn-to-speak-vim-verbs-nouns-and-modifiers-d7bfed1f6b2d " https://github.com/junegunn/vim-plug @@ -336,7 +337,7 @@ set writebackup set swapfile set directory=$HOME/.vimswap -" Leader key customization +" Leader key customization: use <space> as leader key let mapleader=" " map <Space> <Leader> " Leader for mappings local to a buffer @@ -392,6 +393,7 @@ endif " https://github.com/vigoux/LanguageTool.nvim " https://github.com/dpelle/vim-LanguageTool " +" XXX use native spell as an alternative if spelling with CoC is not available " Native spell check is disabled set nospell " Set spell language From eeea8d66c6d34fa526dffabe92e6a1dae2058f6b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 18 Nov 2022 17:31:25 +0100 Subject: [PATCH 0410/2080] nvim + coc: update and document binding, configure coc-ltex --- .config/nvim/coc-settings.json | 10 ++++++++ .config/nvim/plugin/settings/coc.vim | 38 +++++++++++++++++++++------- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/.config/nvim/coc-settings.json b/.config/nvim/coc-settings.json index cfaf03d4..4d1b5060 100644 --- a/.config/nvim/coc-settings.json +++ b/.config/nvim/coc-settings.json @@ -1,9 +1,19 @@ { "cSpellExt.enableDictionaries": ["french-reforme"], "cSpell.language": "en-GB,fr-90", + "ltex.dictionary": { + "en-GB": [ + ":~/.config/nvim/words.txt" + ] + }, "ltex.language": "en-GB", "ltex.additionalRules.motherTongue": "fr", "ltex.completionEnabled": true, + "ltex.configurationTarget": { + "dictionary": "userExternalFile", + "disabledRules": "workspaceFolderExternalFile", + "hiddenFalsePositives": "workspaceFolderExternalFile" + }, "ltex.disabledRules": { "en-GB": [ "OXFORD_SPELLING_Z_NOT_S" diff --git a/.config/nvim/plugin/settings/coc.vim b/.config/nvim/plugin/settings/coc.vim index 11519d55..c8eadc85 100644 --- a/.config/nvim/plugin/settings/coc.vim +++ b/.config/nvim/plugin/settings/coc.vim @@ -1,8 +1,14 @@ " coc.nvim " https://github.com/neoclide/coc.nvim -" Globacl configuration +" Global configuration " :CocConfig +" +" Using actions +" List actions available when on an error: +" For the whole buffer: <leader>ab +" For the current line: <leader>al +" For the current word under the cursor: <leader>ac " Python support " virtual environments are configured in the :CocConfig file @@ -16,7 +22,9 @@ " Auto install required extensions " Update using CocUpdate -let g:coc_global_extensions = [ 'coc-json', 'coc-git', 'coc-pyright', 'coc-spell-checker', 'coc-cspell-dicts', 'coc-snippets', 'coc-ltex' ] +" XXX disable cSpell to test coc-ltext more +" let g:coc_global_extensions = [ 'coc-spell-checker', 'coc-cspell-dicts' ] +let g:coc_global_extensions = [ 'coc-json', 'coc-git', 'coc-pyright', 'coc-snippets', 'coc-ltex' ] " Better display for messages set cmdheight=2 @@ -83,9 +91,10 @@ inoremap <silent><expr> <c-space> coc#refresh() " Coc only does snippet and additional edit on confirm. inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" -" Use `[c` and `]c` to navigate diagnostics -nmap <silent> [c <Plug>(coc-diagnostic-prev) -nmap <silent> ]c <Plug>(coc-diagnostic-next) +" Use `[g` and `]g` to navigate diagnostics +" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. +nmap <silent> [g <Plug>(coc-diagnostic-prev) +nmap <silent> ]g <Plug>(coc-diagnostic-next) " Remap keys for gotos nmap <silent> gd <Plug>(coc-definition) @@ -122,15 +131,26 @@ augroup mygroup autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') augroup end -" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph +" coc-codeaction-*: List actions available +" See :help coc-code-actions + +" Applying codeAction to the selected region. +" Example: `<leader>aap` for current paragraph xmap <leader>a <Plug>(coc-codeaction-selected) nmap <leader>a <Plug>(coc-codeaction-selected) -" Remap for do codeAction of current line -nmap <leader>ac <Plug>(coc-codeaction) -" Fix autofix problem of current line +" Remap keys for applying codeAction to the current buffer. +nmap <leader>ab <Plug>(coc-codeaction) +" Apply codeAction to the current line +nmap <leader>al <Plug>(coc-codeaction-line) +" Apply codeAction to the word under the cursor +nmap <leader>ac <Plug>(coc-codeaction-cursor) +" Apply AutoFix to problem on the current line. nmap <leader>qf <Plug>(coc-fix-current) +" Run the Code Lens action on the current line. +nmap <leader>cl <Plug>(coc-codelens-action) + " Use <tab> for select selections ranges, needs server support, like: coc-tsserver, coc-python nmap <silent> <TAB> <Plug>(coc-range-select) xmap <silent> <TAB> <Plug>(coc-range-select) From ed2e28da0d9bce4a028a2197950aaac6ebb189f7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 18 Nov 2022 17:32:07 +0100 Subject: [PATCH 0411/2080] gitignore: ignore words file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7a173c78..3aa83094 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # User-wide gitignore .DS_Store .config/nvim/plugged/ +.config/nvim/words.txt .config/joplin*/resources .config/joplin-desktop/plugins .config/*/cache From 85da072aef55bf68f322ae0036088938cf640179 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 09:07:38 +0100 Subject: [PATCH 0412/2080] Moto Ignore --- .gitignore | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitignore b/.gitignore index 3aa83094..2a8f1e71 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,13 @@ .config/*/log* .config/*/*.sqlite .config/coc/extensions/node_modules +Desktop/ +Documents/ +Downloads/ +Music/ +Pictures/ +Projects/ +code/ +.cache/ +.virtualenv/ +.config/neomutt/history From 4b71c31051fb80207d041b7b8a0f647a8595d724 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 10:11:04 +0100 Subject: [PATCH 0413/2080] nvim: document python env setup --- .config/nvim/README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.config/nvim/README.md b/.config/nvim/README.md index 75261e29..9c82ce42 100644 --- a/.config/nvim/README.md +++ b/.config/nvim/README.md @@ -2,9 +2,24 @@ See https://gist.github.com/gwarf/42a0a13ff2bf32a0e79d347e43831cae +## Install python env + +```shell +$ cd ~/.config/nvim +pyenv install --list +pyenv install 3.10.8 +cd ~/.config/nvim +pyenv local 3.10.8 +mkdir -p ~/.virtualenvs +python -m venv ~/.virtualenvs/neovim3 +source ~/.virtualenvs/neovim3/bin/activate +pip install -r requirements.txt +``` + ## Install ruby env ```shell +$ cd ~/.config/nvim $ rvm install 3.1.2 $ rvm ruby-3.1.2 do rvm gemset create neovim $ rvm ruby-3.1.2@neovim do gem install neovim From 2a3a29edb5a9d3ca58257ac71a5bcb99209bf4b9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 10:43:49 +0100 Subject: [PATCH 0414/2080] zsh: change path on windows --- .zshrc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.zshrc b/.zshrc index c06b23d8..60bbab05 100644 --- a/.zshrc +++ b/.zshrc @@ -54,6 +54,18 @@ # - fzf: fuzzyfinder (installed automatically) # }}} + +# Windows {{{ +if [[ -f "/mnt/c/WINDOWS/system32/wsl.exe" ]]; then + # We're in WSL, which defaults to umask 0 and causes issues with compaudit + umask 0022 + if [[ "${PWD}" = "/mnt/c/Users/${USER}" ]]; then + # We're in a default WSL shell + cd "${HOME}" + fi +fi +# }}} + # Enable Powerlevel10k instant prompt. {{{ # Should stay close to the top of ~/.zshrc. # Initialization code that may require console input (password prompts, [y/n] From 1e4991f49a1d5d6d6e2f6d11ef9d0f4de3e0c7f9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 10:44:49 +0100 Subject: [PATCH 0415/2080] Move from diff-so-fancy to delta --- .gitconfig | 22 +++++++++++++++------- .zshrc | 5 +++-- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.gitconfig b/.gitconfig index 464862a9..3e1a5f03 100644 --- a/.gitconfig +++ b/.gitconfig @@ -24,7 +24,7 @@ untracked = cyan [core] - pager = diff-so-fancy + pager = delta --dark whitespace=fix,-indent-with-non-tab,trailing-space,cr-at-eol,space-before-tab autocrlf = input eol = lf @@ -35,12 +35,14 @@ [merge] tool = fugitive - #tool = diffuse - #tool = vimdiff - #tool = meld + # tool = diffuse + # tool = vimdiff + # tool = meld + # https://dandavison.github.io/delta/merge-conflicts.html + # conflictstyle = diff3 -#[sendemail] -# smtpserver = mail.jukie.net +# [sendemail] +# smtpserver = mail.jukie.net [alias] add-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; git add `f`" @@ -137,4 +139,10 @@ path = .gitconfig.user [init] - defaultBranch = main + defaultBranch = main + +# https://dandavison.github.io/delta/configuration.html +[delta] + line-numbers = true + navigate = true # use n and N to move between diff sections + theme = Dracula diff --git a/.zshrc b/.zshrc index 60bbab05..d0aa1ff7 100644 --- a/.zshrc +++ b/.zshrc @@ -197,15 +197,16 @@ zinit ice wait'0' blockf lucid zinit light zsh-users/zsh-completions # Install various tools from GitHub {{{ -# fzf, fd, jq, bat, lsd and diff-so-fancy +# fzf, ripgrep, fd, jq, bat, lsd and delta zinit from"gh-r" as"program" lucid for \ sbin"**/bat -> bat" @sharkdp/bat \ sbin"jq* -> jq" stedolan/jq \ - sbin"diff-so-fancy -> diff-so-fancy" so-fancy/diff-so-fancy \ sbin"**/fd" atclone'cp -vf **/autocomplete/_fd _fd' @sharkdp/fd \ sbin'**/lsd -> lsd' atclone'cp -vf **/autocomplete/_lsd _lsd' Peltoche/lsd \ sbin'**/delta -> delta' dandavison/delta \ sbin"**/bin/gh -> gh" cli/cli \ + mv"ripgrep* -> rg" pick"rg/rg" BurntSushi/ripgrep \ + mv"delta* -> delta" pick"delta/delta" dandavison/delta \ junegunn/fzf # }}} From 5e4bbb7cc32fac368ac5e049682c99f02396731d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 10:45:29 +0100 Subject: [PATCH 0416/2080] vim: cleaning, telescope and wilder --- .config/nvim/init.vim | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 5ac3818f..a67d2447 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -19,25 +19,29 @@ call plug#begin('~/.config/nvim/plugged') " Plug 'ervandew/supertab' " Completion if has('nvim') - "Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } - Plug 'Shougo/denite.nvim' - " Possible replacement for deoplete + function! UpdateRemotePlugins(...) + " Needed to refresh runtime files + let &rtp=&rtp + UpdateRemotePlugins + endfunction + " Completion using coc " https://github.com/neoclide/coc.nvim - " Plug 'neoclide/coc.nvim', {'tag': '*', 'do': { -> coc#util#install()}} Plug 'neoclide/coc.nvim', {'branch': 'release'} + " Completion for ex mode / command-line + Plug 'gelguy/wilder.nvim', { 'do': function('UpdateRemotePlugins') } else + Plug 'Shougo/denite.nvim' Plug 'Shougo/deoplete.nvim' + Plug 'gelguy/wilder.nvim' + Plug 'roxma/nvim-yarp' Plug 'roxma/vim-hug-neovim-rpc' endif -"Plug 'SevereOverfl0w/deoplete-github' " Snippets " "Editing snippets for current filetype " :CocCommand snippets.editSnippets -" XXX Replaced by https://github.com/neoclide/coc-snippets -"Plug 'Shougo/neosnippet' -"Plug 'Shougo/neosnippet-snippets' +" Snippets via https://github.com/neoclide/coc-snippets Plug 'honza/vim-snippets' " Colorscheme @@ -52,7 +56,7 @@ Plug 'vim-airline/vim-airline-themes' " brew tap caskroom/fonts " brew install font-hack-nerd-font " or font-meslo-nerd-font font-sourcecodepro-nerd-font -Plug 'ryanoasis/vim-devicons' +Plug 'nvim-tree/nvim-web-devicons' " Buffers list in the command bar Plug 'bling/vim-bufferline' @@ -69,7 +73,7 @@ Plug 'vimoutliner/vimoutliner' " Plug 'vim-pandoc/vim-pandoc-after' " Plug 'vim-pandoc/vim-pandoc-syntax' Plug 'dhruvasagar/vim-table-mode' -" XXX disabled, evaluating to vimwiki +" XXX disabled, alternative to vimwiki " Plug 'xolox/vim-notes' Plug 'xolox/vim-misc' Plug 'xolox/vim-shell' @@ -93,6 +97,8 @@ nmap <C-P> :Files<CR> " Plug 'lotabout/skim', { 'dir': '~/.skim', 'do': './install' } " Use :Clap files, :Clap buffers, :Clap commits,... " Plug 'liuchengxu/vim-clap', { 'do': ':Clap install-binary!' } +Plug 'nvim-lua/plenary.nvim' +Plug 'nvim-telescope/telescope.nvim' " Fuzzy finder for files/buffers and so on Plug 'Yggdroot/LeaderF', { 'do': './install.sh' } From 9c63a12663557c872833366dc119205dcb140e9f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 10:45:53 +0100 Subject: [PATCH 0417/2080] zsh: use bat more often --- .zshrc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.zshrc b/.zshrc index d0aa1ff7..1b0e39e0 100644 --- a/.zshrc +++ b/.zshrc @@ -627,6 +627,8 @@ fi if (( $+commands[bat] )); then export SYSTEMD_PAGER='bat' + alias less=bat + alias more=bat # Fallback as man pager if [ -z "$MANPAGER" ]; then export MANPAGER="sh -c 'col -bx | bat -l man -p'" From d6e94d503d8da55c51fa8412737660efcc7fc312 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 10:46:08 +0100 Subject: [PATCH 0418/2080] zsh: prepare for nix --- .zshrc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.zshrc b/.zshrc index 1b0e39e0..c1750ded 100644 --- a/.zshrc +++ b/.zshrc @@ -654,4 +654,9 @@ export FZF_CTRL_R_OPTS="--preview 'echo {}' --preview-window down:3:hidden:wrap [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh # }}} +# Nix +# if [[ -f "${HOME}/.nix-profile/etc/profile.d/nix.sh" ]]; then +# source "${HOME}/.nix-profile/etc/profile.d/nix.sh" +# fi + # vim:foldlevel=0 foldmethod=marker From 4a4092b295dd52a4fb88daf5e7bb49654faa6bbc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 10:52:15 +0100 Subject: [PATCH 0419/2080] vim: document telescope --- .config/nvim/init.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index a67d2447..2dd31a91 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -97,6 +97,7 @@ nmap <C-P> :Files<CR> " Plug 'lotabout/skim', { 'dir': '~/.skim', 'do': './install' } " Use :Clap files, :Clap buffers, :Clap commits,... " Plug 'liuchengxu/vim-clap', { 'do': ':Clap install-binary!' } +" Testing, a replacement to fzf Plug 'nvim-lua/plenary.nvim' Plug 'nvim-telescope/telescope.nvim' From fee6f4d3a88e5cca376845c53a7c94a8ede386a5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 12:24:33 +0100 Subject: [PATCH 0420/2080] Import telescope and wilder configuration --- .config/nvim/init.vim | 11 ++- .config/nvim/plugin/settings/telescope.vim | 7 ++ .config/nvim/plugin/settings/wilder.vim | 106 +++++++++++++++++++++ 3 files changed, 122 insertions(+), 2 deletions(-) create mode 100644 .config/nvim/plugin/settings/telescope.vim create mode 100644 .config/nvim/plugin/settings/wilder.vim diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 2dd31a91..be2a549a 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -98,8 +98,12 @@ nmap <C-P> :Files<CR> " Use :Clap files, :Clap buffers, :Clap commits,... " Plug 'liuchengxu/vim-clap', { 'do': ':Clap install-binary!' } " Testing, a replacement to fzf +Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} Plug 'nvim-lua/plenary.nvim' Plug 'nvim-telescope/telescope.nvim' +" XXX install is failing on arch +" Plug 'nixprime/cpsm', { 'do': './install.sh' } +" Plug 'nixprime/cpsm' " Fuzzy finder for files/buffers and so on Plug 'Yggdroot/LeaderF', { 'do': './install.sh' } @@ -260,7 +264,10 @@ if has("unix") " rvm install 3.1.2 " rvm ruby-3.1.2 do rvm gemset create neovim " rvm ruby-3.1.2@neovim do gem install neovim - let g:ruby_host_prog = "rvm ruby-3.1.2@neovim do neovim-ruby-host" + " let g:ruby_host_prog = "rvm ruby-3.1.2@neovim do neovim-ruby-host" + " XXX install gem in default gemset + " rvm ruby-3.1.2 do gem install neovim + let g:ruby_host_prog = "rvm ruby-3.1.2 do neovim-ruby-host" " Pyenv with neovim " https://gist.github.com/gwarf/42a0a13ff2bf32a0e79d347e43831cae let g:python_host_prog = $HOME . '/.virtualenvs/neovim2/bin/python' @@ -302,7 +309,7 @@ set modeline set wildchar=<TAB> " Competion mode for wildchar in menus -set wildmode=list:longest,full +" set wildmode=list:longest,full " Search set ignorecase diff --git a/.config/nvim/plugin/settings/telescope.vim b/.config/nvim/plugin/settings/telescope.vim new file mode 100644 index 00000000..ace8348b --- /dev/null +++ b/.config/nvim/plugin/settings/telescope.vim @@ -0,0 +1,7 @@ +" Find files using Telescope command-line sugar. +nnoremap <leader>ff <cmd>Telescope find_files<cr> +nnoremap <leader>fg <cmd>Telescope live_grep<cr> +nnoremap <leader>fb <cmd>Telescope buffers<cr> +nnoremap <leader>fh <cmd>Telescope help_tags<cr> + +" vim:set ft=vim et sw=2: diff --git a/.config/nvim/plugin/settings/wilder.vim b/.config/nvim/plugin/settings/wilder.vim new file mode 100644 index 00000000..06b35276 --- /dev/null +++ b/.config/nvim/plugin/settings/wilder.vim @@ -0,0 +1,106 @@ +call wilder#setup({'modes': [':', '/', '?']}) + +" call wilder#set_option('renderer', wilder#renderer_mux({ +" \ ':': wilder#popupmenu_renderer(), +" \ '/': wilder#wildmenu_renderer(), +" \ })) + +" 'file_command' : for ripgrep : ['rg', '--files'] +" : for fd : ['fd', '-tf'] +" 'dir_command' : for fd : ['fd', '-td'] +" 'filters' : use ['cpsm_filter'] for performance, requires cpsm vim plugin +" found at https://github.com/nixprime/cpsm +" For wild#cmdline_pipeline(): +" 'language' : set to 'python' to use python +" 'fuzzy' : 0 - turns off fuzzy matching +" : 1 - turns on fuzzy matching +" : 2 - partial fuzzy matching (match does not have to begin with the same first letter) +" For wild#python_search_pipeline(): +" 'pattern' : can be set to wilder#python_fuzzy_delimiter_pattern() for stricter fuzzy matching +" 'sorter' : omit to get results in the order they appear in the buffer +" 'engine' : can be set to 're2' for performance, requires pyre2 to be installed +" : see :h wilder#python_search() for more details +" call wilder#set_option('pipeline', [ +" \ wilder#branch( +" \ wilder#python_file_finder_pipeline({ +" \ 'file_command': ['rg', '--files'], +" \ 'dir_command': ['fd', '-td'], +" \ 'filters': ['fuzzy_filter', 'difflib_sorter'], +" \ }), +" \ wilder#cmdline_pipeline({ +" \ 'language': 'python', +" \ 'fuzzy': 2, +" \ }), +" \ wilder#python_search_pipeline({ +" \ 'pattern': wilder#python_fuzzy_pattern(), +" \ 'sorter': wilder#python_difflib_sorter(), +" \ 'engine': 're', +" \ }), +" \ ), +" \ ]) + +" \ 'filters': ['cpsm_filter'], +" \ wilder#cmdline_pipeline({ +" \ 'fuzzy': 2, +" \ 'fuzzy_filter': has('nvim') ? wilder#lua_fzy_filter() : wilder#vim_fuzzy_filter(), +" \ }), +call wilder#set_option('pipeline', [ + \ wilder#branch( + \ wilder#python_file_finder_pipeline({ + \ 'file_command': ['rg', '--files'], + \ 'dir_command': ['fd', '-td'], + \ 'filters': ['difflib_sorter'], + \ }), + \ wilder#cmdline_pipeline({ + \ 'fuzzy': 2, + \ 'language': 'python', + \ }), + \ [ + \ wilder#check({_, x -> empty(x)}), + \ wilder#history(), + \ ], + \ wilder#python_search_pipeline({ + \ 'pattern': wilder#python_fuzzy_pattern({ + \ 'start_at_boundary': 0, + \ }), + \ }), + \ ), + \ ]) + +" \ has('nvim') ? wilder#lua_fzy_highlighter() : wilder#cpsm_highlighter(), +let s:highlighters = [ + \ wilder#pcre2_highlighter(), + \ ] + +let s:popupmenu_renderer = wilder#popupmenu_renderer(wilder#popupmenu_border_theme({ + \ 'border': 'rounded', + \ 'empty_message': wilder#popupmenu_empty_message_with_spinner(), + \ 'pumblend': 20, + \ 'highlighter': s:highlighters, + \ 'left': [ + \ ' ', wilder#popupmenu_devicons(), + \ ], + \ 'right': [ + \ ' ', wilder#popupmenu_scrollbar(), + \ ], + \ 'highlights': { + \ 'border': 'Normal', + \ 'accent': wilder#make_hl('WilderAccent', 'Pmenu', [{}, {}, {'foreground': '#f4468f'}]), + \ }, + \ })) + +let s:wildmenu_renderer = wilder#wildmenu_renderer({ + \ 'highlighter': s:highlighters, + \ 'separator': ' · ', + \ 'left': [' ', wilder#wildmenu_spinner(), ' '], + \ 'right': [' ', wilder#wildmenu_index()], + \ }) + +" \ ':': s:popupmenu_renderer, +call wilder#set_option('renderer', wilder#renderer_mux({ + \ ':': s:popupmenu_renderer, + \ '/': s:wildmenu_renderer, + \ 'substitute': s:wildmenu_renderer, + \ })) + +" vim:set ft=vim et sw=2: From f3bdba16970f96d0e5484b99d9c784a8a8595ab8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 12:32:16 +0100 Subject: [PATCH 0421/2080] alias bat on cat --- .zshrc | 1 + 1 file changed, 1 insertion(+) diff --git a/.zshrc b/.zshrc index c1750ded..b027cffe 100644 --- a/.zshrc +++ b/.zshrc @@ -628,6 +628,7 @@ fi if (( $+commands[bat] )); then export SYSTEMD_PAGER='bat' alias less=bat + alias cat='bat --paging=never' alias more=bat # Fallback as man pager if [ -z "$MANPAGER" ]; then From f8976b13544205db083fd4723f8ec1c830d578b7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 16:15:51 +0100 Subject: [PATCH 0422/2080] Ignore more config files --- .gitignore | 60 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 2a8f1e71..4c92e4e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,57 @@ # User-wide gitignore +*-back +*.bak +*.state +*~ .DS_Store -.config/nvim/plugged/ -.config/nvim/words.txt -.config/joplin*/resources -.config/joplin-desktop/plugins -.config/*/cache -.config/*/tmp +.cache/ +.config/*/*.db +.config/*/*.log +.config/*/*.sqlite +.config/*/*Cache/ +.config/*/*Storage/ +.config/*/cache/ +.config/*/log* +.config/*/tmp/ .config/*backup .config/*log -.config/*/log* -.config/*/*.sqlite +.config/@joplin/app-desktop/ +.config/Bitwarden/ +.config/BraveSoftware/ +.config/Code - OSS/ +.config/Electron/ +.config/GIMP +.config/GraphQL Playground/ +.config/Joplin/ +.config/Keybase/ +.config/Ledger Live/ +.config/Nextcloud/ +.config/Postman/ +.config/VirtualBox/ +.config/balena-etcher-electron/ +.config/chromium/ +.config/coc/ .config/coc/extensions/node_modules +.config/darktable/ +.config/deluge/archive/ +.config/deluge/state/ +.config/discord/ +.config/enchant/ +.config/evolution/ +.config/google-chrome*/ +.config/ibus/ +.config/joplin*/resources +.config/joplin-desktop/plugins +.config/khard/contacts/ +.config/libreoffice/ +.config/neomutt/history +.config/nvim/plugged/ +.config/nvim/words.txt +.config/obsidian/ +.config/pulse/ +.config/session/ +.config/skypeforlinux/ +.virtualenv/ Desktop/ Documents/ Downloads/ @@ -18,6 +59,3 @@ Music/ Pictures/ Projects/ code/ -.cache/ -.virtualenv/ -.config/neomutt/history From d1952d859498e8c48e57380e04b8815e3344dd49 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 16:43:29 +0100 Subject: [PATCH 0423/2080] Ignore more files --- .gitignore | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 82 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 4c92e4e6..7565cf2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,38 @@ # User-wide gitignore *-back *.bak +*.data +*.db +*.gvdb +*.jex +*.kbx +*.lock +*.log +*.mdb +*.old +*.pem +*.so *.state +*.tmp +*.autosave +*.status +*_history *~ +.*/cache/ +.dotfiles/ +.AsciidocFX*/ +.BurpSuite/ .DS_Store +.ICEauthority +.LfCache/ +.ZAP/ +.android/ +.ansible/ +.ansible_galaxy +.arduino*/ .cache/ +.cargo/ +.chef/accepted_licenses/ .config/*/*.db .config/*/*.log .config/*/*.sqlite @@ -51,11 +79,61 @@ .config/pulse/ .config/session/ .config/skypeforlinux/ -.virtualenv/ +.electron*/ +.electrum/blockchain_headers +.electrum/certs/ +.fzf/ +.gdfuse/ +.gem/ +.gnupg/*.asc +.gnupg/*.gpg +.gnupg/crls.d/ +.gnupg/private-keys-v1.d/ +.hashcat/ +.java/ +.joplin/ +.kde4/ +.local/bin/ +.local/share/ +.local/state/ +.m2/repository/ +.mozilla/ +.msf4/ +.node-gyp/ +.npm/ +.nv/ +.nvm/ +.pkg-cache/ +.pki/ +.rvm/ +.skrooge/ +.ssh/authorized_keys +.ssh/id_* +.ssh/known_hosts +.steam/ +.terraform.d/ +.tmux/plugins/ +.tmux/resurrect/ +.undodir/ +.var/app/ +.vdirsyncer/status/ +.vimswap/ +.virtualenv*/ +.vscode-oss/ +.zcompdump +.zhistory Desktop/ -Documents/ -Downloads/ +Documents +Downloads +GDrive/ +Games +Mail/ Music/ -Pictures/ +Pictures Projects/ +Sync +TryHackMe/ +VirtualBox VMs code/ +go/ +tmp/ From 054a23d206de689ca67d724cdfc49a97000f0be5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 16:56:50 +0100 Subject: [PATCH 0424/2080] Import .rvmrc --- .rvmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .rvmrc diff --git a/.rvmrc b/.rvmrc new file mode 100644 index 00000000..a495680a --- /dev/null +++ b/.rvmrc @@ -0,0 +1 @@ +rvm_silence_path_mismatch_check_flag=1 From 67bac6588d140f7086e093293fd6ad5c24ab95af Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 17:09:02 +0100 Subject: [PATCH 0425/2080] Do some cleaning --- .config/nvim/init.vim | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index be2a549a..b7a6bd49 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -169,20 +169,13 @@ Plug 'vim-scripts/utl.vim' Plug 'vim-scripts/SyntaxRange' Plug 'vim-scripts/taglist.vim' Plug 'mattn/webapi-vim' -" Conflicts with some mappings for coc.nvim -"Plug 'vim-scripts/AutoClose' -" Seems OK -" Plug 'Raimondi/delimitMate' Plug 'cohama/lexima.vim' Plug 'vim-scripts/spec.vim' Plug 'Konfekt/FastFold' Plug 'maxbrunsfeld/vim-yankstack' Plug 'mattn/calendar-vim' Plug 'vimperator/vimperator.vim' -" Plug 'vimwiki/vimwiki' -" Plug 'teranex/vimwiki-tasks' Plug 'fmoralesc/vim-tutor-mode' -"Plug 'mrtazz/simplenote.vim' Plug 'dag/vim-fish' " Plug 'blindFS/vim-taskwarrior' Plug 'reedes/vim-litecorrect' @@ -267,7 +260,11 @@ if has("unix") " let g:ruby_host_prog = "rvm ruby-3.1.2@neovim do neovim-ruby-host" " XXX install gem in default gemset " rvm ruby-3.1.2 do gem install neovim - let g:ruby_host_prog = "rvm ruby-3.1.2 do neovim-ruby-host" + " let g:ruby_host_prog = "rvm ruby-3.1.2 do neovim-ruby-host" + " Disable ruby provider + let g:loaded_ruby_provider = 0 + let g:loaded_node_provider = 0 + let g:loaded_perl_provider = 0 " Pyenv with neovim " https://gist.github.com/gwarf/42a0a13ff2bf32a0e79d347e43831cae let g:python_host_prog = $HOME . '/.virtualenvs/neovim2/bin/python' From 6b8085865a97b1ce16e8e24ba6e4cdeaa92b41a3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Nov 2022 17:33:23 +0100 Subject: [PATCH 0426/2080] nvim: use wilder and telescope --- .config/nvim/init.vim | 11 ++----- .config/nvim/plugin/settings/fzf.vim | 3 +- .config/nvim/plugin/settings/telescope.vim | 2 ++ .config/nvim/plugin/settings/wilder.vim | 34 ++-------------------- 4 files changed, 8 insertions(+), 42 deletions(-) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index b7a6bd49..82049b99 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -92,18 +92,11 @@ Plug 'rking/ag.vim' " Use :Files, :GFiles, Buffers, Ag:, Lines:, :History, :Snippets, :Commits... Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'junegunn/fzf.vim' -nmap <C-P> :Files<CR> -" Alternative fuzzy finding -" Plug 'lotabout/skim', { 'dir': '~/.skim', 'do': './install' } -" Use :Clap files, :Clap buffers, :Clap commits,... -" Plug 'liuchengxu/vim-clap', { 'do': ':Clap install-binary!' } -" Testing, a replacement to fzf +" Testing, as a replacement to fzf Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} Plug 'nvim-lua/plenary.nvim' +" Use :Telescope Plug 'nvim-telescope/telescope.nvim' -" XXX install is failing on arch -" Plug 'nixprime/cpsm', { 'do': './install.sh' } -" Plug 'nixprime/cpsm' " Fuzzy finder for files/buffers and so on Plug 'Yggdroot/LeaderF', { 'do': './install.sh' } diff --git a/.config/nvim/plugin/settings/fzf.vim b/.config/nvim/plugin/settings/fzf.vim index 2b64e76b..2ef56fe7 100644 --- a/.config/nvim/plugin/settings/fzf.vim +++ b/.config/nvim/plugin/settings/fzf.vim @@ -1,6 +1,7 @@ " fzf -nnoremap <c-p> :FZF<cr> +" nnoremap <c-p> :FZF<cr> + let g:fzf_action = { \ 'ctrl-m': 'e', \ 'ctrl-t': 'tabedit', diff --git a/.config/nvim/plugin/settings/telescope.vim b/.config/nvim/plugin/settings/telescope.vim index ace8348b..067ea92a 100644 --- a/.config/nvim/plugin/settings/telescope.vim +++ b/.config/nvim/plugin/settings/telescope.vim @@ -4,4 +4,6 @@ nnoremap <leader>fg <cmd>Telescope live_grep<cr> nnoremap <leader>fb <cmd>Telescope buffers<cr> nnoremap <leader>fh <cmd>Telescope help_tags<cr> +nmap <C-P> :Telescope find_files<CR> + " vim:set ft=vim et sw=2: diff --git a/.config/nvim/plugin/settings/wilder.vim b/.config/nvim/plugin/settings/wilder.vim index 06b35276..2fa41f78 100644 --- a/.config/nvim/plugin/settings/wilder.vim +++ b/.config/nvim/plugin/settings/wilder.vim @@ -1,10 +1,5 @@ call wilder#setup({'modes': [':', '/', '?']}) -" call wilder#set_option('renderer', wilder#renderer_mux({ -" \ ':': wilder#popupmenu_renderer(), -" \ '/': wilder#wildmenu_renderer(), -" \ })) - " 'file_command' : for ripgrep : ['rg', '--files'] " : for fd : ['fd', '-tf'] " 'dir_command' : for fd : ['fd', '-td'] @@ -20,36 +15,12 @@ call wilder#setup({'modes': [':', '/', '?']}) " 'sorter' : omit to get results in the order they appear in the buffer " 'engine' : can be set to 're2' for performance, requires pyre2 to be installed " : see :h wilder#python_search() for more details -" call wilder#set_option('pipeline', [ -" \ wilder#branch( -" \ wilder#python_file_finder_pipeline({ -" \ 'file_command': ['rg', '--files'], -" \ 'dir_command': ['fd', '-td'], -" \ 'filters': ['fuzzy_filter', 'difflib_sorter'], -" \ }), -" \ wilder#cmdline_pipeline({ -" \ 'language': 'python', -" \ 'fuzzy': 2, -" \ }), -" \ wilder#python_search_pipeline({ -" \ 'pattern': wilder#python_fuzzy_pattern(), -" \ 'sorter': wilder#python_difflib_sorter(), -" \ 'engine': 're', -" \ }), -" \ ), -" \ ]) - -" \ 'filters': ['cpsm_filter'], -" \ wilder#cmdline_pipeline({ -" \ 'fuzzy': 2, -" \ 'fuzzy_filter': has('nvim') ? wilder#lua_fzy_filter() : wilder#vim_fuzzy_filter(), -" \ }), call wilder#set_option('pipeline', [ \ wilder#branch( \ wilder#python_file_finder_pipeline({ \ 'file_command': ['rg', '--files'], \ 'dir_command': ['fd', '-td'], - \ 'filters': ['difflib_sorter'], + \ 'filters': ['fuzzy_filter', 'difflib_sorter'], \ }), \ wilder#cmdline_pipeline({ \ 'fuzzy': 2, @@ -67,9 +38,9 @@ call wilder#set_option('pipeline', [ \ ), \ ]) -" \ has('nvim') ? wilder#lua_fzy_highlighter() : wilder#cpsm_highlighter(), let s:highlighters = [ \ wilder#pcre2_highlighter(), + \ wilder#basic_highlighter(), \ ] let s:popupmenu_renderer = wilder#popupmenu_renderer(wilder#popupmenu_border_theme({ @@ -96,7 +67,6 @@ let s:wildmenu_renderer = wilder#wildmenu_renderer({ \ 'right': [' ', wilder#wildmenu_index()], \ }) -" \ ':': s:popupmenu_renderer, call wilder#set_option('renderer', wilder#renderer_mux({ \ ':': s:popupmenu_renderer, \ '/': s:wildmenu_renderer, From 9122443d9602835620a9b85aa8eddd8a6c549f98 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 20 Nov 2022 23:59:34 +0100 Subject: [PATCH 0427/2080] nvim: import lua conf --- .config/nvim/README.md | 16 +- .config/nvim/init.lua | 138 +++++++++++ .config/nvim/lua/config/lsp.lua | 235 ++++++++++++++++++ .config/nvim/lua/config/mason-lspconfig.lua | 20 ++ .config/nvim/lua/config/nvim-cmp.lua | 86 +++++++ .config/nvim/lua/plugins.lua | 256 ++++++++++++++++++++ .config/nvim/lua/utils.lua | 14 ++ 7 files changed, 757 insertions(+), 8 deletions(-) create mode 100644 .config/nvim/init.lua create mode 100644 .config/nvim/lua/config/lsp.lua create mode 100644 .config/nvim/lua/config/mason-lspconfig.lua create mode 100644 .config/nvim/lua/config/nvim-cmp.lua create mode 100644 .config/nvim/lua/plugins.lua create mode 100644 .config/nvim/lua/utils.lua diff --git a/.config/nvim/README.md b/.config/nvim/README.md index 9c82ce42..956d155c 100644 --- a/.config/nvim/README.md +++ b/.config/nvim/README.md @@ -6,14 +6,14 @@ See https://gist.github.com/gwarf/42a0a13ff2bf32a0e79d347e43831cae ```shell $ cd ~/.config/nvim -pyenv install --list -pyenv install 3.10.8 -cd ~/.config/nvim -pyenv local 3.10.8 -mkdir -p ~/.virtualenvs -python -m venv ~/.virtualenvs/neovim3 -source ~/.virtualenvs/neovim3/bin/activate -pip install -r requirements.txt +$ pyenv install --list +$ pyenv install 3.10.8 +$ cd ~/.config/nvim +$ pyenv local 3.10.8 +$ mkdir -p ~/.virtualenvs +$ python -m venv ~/.virtualenvs/neovim3 +$ source ~/.virtualenvs/neovim3/bin/activate +$ pip install -r requirements.txt ``` ## Install ruby env diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 00000000..c00a1d78 --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,138 @@ +-- https://github.com/jdhao/nvim-config +-- https://github.com/LunarVim/LunarVim/ +-- https://github.com/wbthomason/dotfiles/blob/main/dot_config/nvim/init.lua + +local g = vim.g +local keymap = vim.keymap +local opt = vim.opt + +-- Missing +-- * Word completion from words in all buffers +-- * Syntax checking +-- * Automatic linting/formatting using prettier +-- * spell check using ltex, allowing to add exception to a custom file +-- * Y to copy a full line +-- * mutt setup +-- * which-key to give hints on keys +-- * Mason install all LSP + linterss, like pylint +-- * Autoindent when adding new lines/codes: ie. use {"wasa/asas", ... } +-- * Fix bootstrap + +-- Speed up startup +local i_installed, impatient = pcall(require, "impatient") +if i_installed then + -- See results with :LuaCacheProfile + impatient.enable_profile() +end + +-- Use rcarriga/nvim-notify as default notification manager +local n_installed, notify = pcall(require, "notify") +if n_installed then + vim.notify = notify +end + +-- Set some globals settings {{{ + +-- Skip some remote provider loading +g.loaded_python3_provider = 0 +g.loaded_node_provider = 0 +g.loaded_perl_provider = 0 +g.loaded_ruby_provider = 0 + +-- Custom mapping <leader> (see `:h mapleader` for more info) +g.mapleader = ' ' +g.maplocalleader = ',' + +-- Enable highlighting for lua, Python and Ruby HERE doc inside script +g.vimsyn_embed = 'lPr' + +-- Use English as main language +vim.cmd("language en_GB.UTF-8") +-- }}} + +-- Set default options {{{ +-- Sensible defaults settings: https://github.com/tpope/vim-sensible +-- Check value of an option: +-- :verbose set showcmd? + +-- swap +opt.swapfile = true +opt.directory = vim.fn.expand('~/.local/share/nvim/backup') + +-- backup +opt.backup = true +opt.writebackup = true +opt.backupdir = vim.fn.expand('~/.local/share/nvim/backup') +opt.backupskip = {"/tmp/*"} + +-- Do not unload buffers on abandon (opening a new file un current buffer) +-- Use Ctrl-o to switch back to location save in jumplist +opt.hidden = true + +-- completion +opt.completeopt = "menu,menuone,noselect" + +-- Disable mouse +opt.mouse = '' + +-- Highlight current line +opt.cursorline = true +opt.colorcolumn = "80" + +-- Default indentation: 2 spaces +opt.expandtab = true +opt.shiftwidth = 2 +opt.tabstop = 2 +opt.softtabstop = 2 + +-- For devicons on vim +opt.encoding = "UTF-8" + +-- Show line number +opt.number = true +opt.relativenumber = true + +-- Create new window below current one. +opt.splitbelow = true + +-- Highlight problematic whitespace +opt.list = true +opt.listchars = { + tab = ">.", + trail = ".", + extends = "#", + nbsp = "." +} + +-- Search configuration +opt.ignorecase = true + +-- Undo management +opt.undofile = true +opt.undodir = vim.fn.expand('~/.vim/undo') + +-- Folding with markers +opt.foldmethod = "marker" + +-- Theme +opt.termguicolors = true +opt.background = dark +-- }}} + +-- Key mappings {{{ +-- Use jk as ESC for leaving insert mode +keymap.set("i", "jk", "<Esc>") +-- Turn the word under cursor to upper case +keymap.set("i", "<c-u>", "<Esc>viwUea") +-- Turn the current word into title case +keymap.set("i", "<c-t>", "<Esc>b~lea") +-- Go to the beginning and end of current line in insert mode +keymap.set("i", "<C-A>", "<HOME>") +keymap.set("i", "<C-E>", "<END>") +-- Go to beginning and ebd of of command in command-line mode +keymap.set("c", "<C-A>", "<HOME>") +keymap.set("c", "<C-E>", "<END>") +-- }}} + +-- Bootstrap packer and install plugins +require('plugins') diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua new file mode 100644 index 00000000..55a0b9a7 --- /dev/null +++ b/.config/nvim/lua/config/lsp.lua @@ -0,0 +1,235 @@ +-- https://github.com/neovim/nvim-lspconfig + +local api = vim.api +local diagnostic = vim.diagnostic +local fn = vim.fn +local keymap = vim.keymap +local lsp = vim.lsp +local lspconfig = require("lspconfig") +local utils = require("utils") + +-- global config for diagnostic +diagnostic.config { + underline = true, + virtual_text = true, + signs = true, + severity_sort = true, +} + +-- Change diagnostic signs. +fn.sign_define("DiagnosticSignError", { text = "✗", texthl = "DiagnosticSignError" }) +fn.sign_define("DiagnosticSignWarn", { text = "!", texthl = "DiagnosticSignWarn" }) +fn.sign_define("DiagnosticSignInformation", { text = "", texthl = "DiagnosticSignInfo" }) +fn.sign_define("DiagnosticSignHint", { text = "", texthl = "DiagnosticSignHint" }) + +-- Change border of documentation hover window, See https://github.com/neovim/neovim/pull/13998. +lsp.handlers["textDocument/hover"] = lsp.with(vim.lsp.handlers.hover, { + border = "rounded", +}) + +lsp.handlers["textDocument/publishDiagnostics"] = lsp.with(lsp.diagnostic.on_publish_diagnostics, { + underline = false, + virtual_text = false, + signs = true, + update_in_insert = false, +}) + +-- To be used to display LSP diagnostic window details when on an error +local on_attach = function(client, bufnr) + + -- Mappings. + -- See `:help vim.diagnostic.*` for documentation on any of the below functions + -- local opts = { noremap=true, silent=true } + -- vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts) + -- vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts) + + -- Enable completion triggered by <c-x><c-o> + -- vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end + + map("n", "gd", lsp.buf.definition, { desc = "go to definition" }) + map("n", "<C-]>", lsp.buf.definition) + map("n", "K", lsp.buf.hover) + map("n", "<C-k>", lsp.buf.signature_help) + map("n", "<space>rn", lsp.buf.rename, { desc = "varialbe rename" }) + map("n", "gr", lsp.buf.references, { desc = "show references" }) + map("n", "[d", diagnostic.goto_prev, { desc = "previous diagnostic" }) + map("n", "]d", diagnostic.goto_next, { desc = "next diagnostic" }) + map("n", "<space>q", diagnostic.setqflist, { desc = "put diagnostic to qf" }) + map("n", "<space>ca", lsp.buf.code_action, { desc = "LSP code action" }) + map("n", "<space>wa", lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) + map("n", "<space>wr", lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) + map("n", "<space>wl", function() + vim.inspect(lsp.buf.list_workspace_folders()) + end, { desc = "list workspace folder" }) + + -- Set some key bindings conditional on server capabilities + if client.server_capabilities.documentFormattingProvider then + map("n", "<space>f", lsp.buf.format, { desc = "format code" }) + end + + api.nvim_create_autocmd("CursorHold", { + buffer = bufnr, + callback = function() + local float_opts = { + focusable = false, + close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, + border = "rounded", + source = "always", -- show source in diagnostic popup window + prefix = " ", + } + + if not vim.b.diagnostics_pos then + vim.b.diagnostics_pos = { nil, nil } + end + + local cursor_pos = api.nvim_win_get_cursor(0) + if (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) + and #diagnostic.get() > 0 + then + diagnostic.open_float(nil, float_opts) + end + + vim.b.diagnostics_pos = cursor_pos + end, + }) + + -- The blow command will highlight the current variable and its usages in the buffer. + if client.server_capabilities.documentHighlightProvider then + vim.cmd([[ + hi! link LspReferenceRead Visual + hi! link LspReferenceText Visual + hi! link LspReferenceWrite Visual + ]]) + + local gid = api.nvim_create_augroup("lsp_document_highlight", { clear = true }) + api.nvim_create_autocmd("CursorHold" , { + group = gid, + buffer = bufnr, + callback = function () + lsp.buf.document_highlight() + end + }) + + api.nvim_create_autocmd("CursorMoved" , { + group = gid, + buffer = bufnr, + callback = function () + lsp.buf.clear_references() + end + }) + end + + if vim.g.logging_level == "debug" then + local msg = string.format("Language server %s started!", client.name) + vim.notify(msg, vim.log.levels.DEBUG, { title = "Nvim-config" }) + end +end + +-- Inform LSP server about all the capabilities of nvim-cmp +local capabilities = require('cmp_nvim_lsp').default_capabilities() + +local lsp_flags = { + -- This is the default in Nvim 0.7+ + debounce_text_changes = 150, +} +lspconfig['ltex'].setup{ + on_attach = on_attach, + flags = lsp_flags, +} +require('lspconfig')['marksman'].setup{ + on_attach = on_attach, + flags = lsp_flags, +} +if utils.executable("pylsp") then + require('lspconfig')['pylsp'].setup{ + on_attach = on_attach, + flags = lsp_flags, + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, + }, + }, + }, + capabilities = capabilities, + } +else + vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +if utils.executable("lua-language-server") then + require('lspconfig')['sumneko_lua'].setup{ + on_attach = on_attach, + flags = lsp_flags, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . + -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, + capabilities = capabilities, + } +else + vim.notify("sumneko_lua not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +if utils.executable("vim-language-server") then + require('lspconfig')['vimls'].setup{ + on_attach = on_attach, + capabilities = capabilities, + flags = { + debounce_text_changes = 500, + }, + } +else + vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end + +if utils.executable("bash-language-server") then + lspconfig.bashls.setup { + on_attach = on_attach, + capabilities = capabilities, + } +end + +if utils.executable("clangd") then + lspconfig.clangd.setup { + on_attach = custom_attach, + capabilities = capabilities, + filetypes = { "c", "cpp", "cc" }, + flags = { + debounce_text_changes = 500, + }, + } +else + vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) +end diff --git a/.config/nvim/lua/config/mason-lspconfig.lua b/.config/nvim/lua/config/mason-lspconfig.lua new file mode 100644 index 00000000..7f09522e --- /dev/null +++ b/.config/nvim/lua/config/mason-lspconfig.lua @@ -0,0 +1,20 @@ +require("mason").setup() +require("mason-lspconfig").setup({ + ensure_installed = { + -- "ansiblels", + -- "bashls", + -- "grammarly", + -- "html", + -- "jsonls", + -- "lemminx", + "ltex", + "marksman", + -- "prosemd_lsp", + "pylsp", + -- "ruby_ls", + "sumneko_lua", + "vimls", + -- "yamlls", + }, + automatic_installation = true, +}) diff --git a/.config/nvim/lua/config/nvim-cmp.lua b/.config/nvim/lua/config/nvim-cmp.lua new file mode 100644 index 00000000..e609d148 --- /dev/null +++ b/.config/nvim/lua/config/nvim-cmp.lua @@ -0,0 +1,86 @@ +-- Set up nvim-cmp. +local cmp = require'cmp' +local lspkind = require('lspkind') + +cmp.setup({ + snippet = { + -- REQUIRED - you must specify a snippet engine + expand = function(args) + require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + -- Display vscode-like pictograms + formatting = { + format = lspkind.cmp_format { + mode = "symbol_text", + menu = { + nvim_lsp = "[LSP]", + ultisnips = "[US]", + nvim_lua = "[Lua]", + path = "[Path]", + buffer = "[Buffer]", + emoji = "[Emoji]", + omni = "[Omni]", + }, + }, + }, + mapping = cmp.mapping.preset.insert({ + ['<C-b>'] = cmp.mapping.scroll_docs(-4), + ['<C-f>'] = cmp.mapping.scroll_docs(4), + ['<C-Space>'] = cmp.mapping.complete(), + ['<C-e>'] = cmp.mapping.abort(), + ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + ["<Tab>"] = function(fallback) + if cmp.visible() then + cmp.select_next_item() + else + fallback() + end + end, + ["<S-Tab>"] = function(fallback) + if cmp.visible() then + cmp.select_prev_item() + else + fallback() + end + end, + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'luasnip' }, -- For luasnip users. + { name = 'buffer' }, + { name = 'path' }, + }) +}) + +-- Set configuration for specific filetype. +cmp.setup.filetype('gitcommit', { + sources = cmp.config.sources({ + { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it. + }, { + { name = 'buffer' }, + { name = 'path' }, + }) +}) + +-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). +cmp.setup.cmdline({ '/', '?' }, { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = 'buffer' } + } +}) + +-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). +cmp.setup.cmdline(':', { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = 'path' } + }, { + { name = 'cmdline' } + }) +}) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua new file mode 100644 index 00000000..f53e5cb3 --- /dev/null +++ b/.config/nvim/lua/plugins.lua @@ -0,0 +1,256 @@ +-- https://github.com/wbthomason/packer.nvim +-- https://www.chiarulli.me/Neovim-2/03-plugins/ + +-- Bootstrap packer +local ensure_packer = function() + local fn = vim.fn + local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim' + if fn.empty(fn.glob(install_path)) > 0 then + fn.system({ 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path }) + vim.cmd("packadd packer.nvim") + return true + end + return false +end + +local packer_bootstrap = ensure_packer() + +-- Autocommand that reloads neovim whenever you save the plugins.lua file +vim.cmd([[ + augroup packer_user_config + autocmd! + autocmd BufWritePost plugins.lua source <afile> | PackerSync + augroup end +]]) + +-- Use a protected call so we don't error out on first use +local status_ok, packer = pcall(require, "packer") +if not status_ok then + return +end + +-- Have packer use a popup window +packer.init({ + display = { + open_fn = function() + return require('packer.util').float({ border = 'single' }) + end + } +}) + +return require('packer').startup(function(use) + -- Packer can manage itself + use 'wbthomason/packer.nvim' + + use 'lewis6991/impatient.nvim' + + use "nvim-lua/popup.nvim" -- An implementation of the Popup API from vim in Neovim + use "nvim-lua/plenary.nvim" -- Useful lua functions used by lots of plugins + + -- Completion + use { + "hrsh7th/nvim-cmp", + config = function() + require("config.nvim-cmp") + end, + requires = { "L3MON4D3/LuaSnip", "onsails/lspkind.nvim" } + } + -- Add vscode-like pictograms to neovim lsp + use { "onsails/lspkind.nvim" } + + -- nvim-cmp completion sources + -- Snippet engine and snippet template + -- use { "SirVer/ultisnips", event = "InsertEnter" } + -- use { "honza/vim-snippets" } + -- use { "quangnguyen30192/cmp-nvim-ultisnips", after = { "nvim-cmp", "cmp_luasnip" } } + -- Snippets + use "L3MON4D3/LuaSnip" + use {'rafamadriz/friendly-snippets'} + -- Autocompletion + use { "hrsh7th/cmp-nvim-lsp", after = "nvim-cmp" } + use { "hrsh7th/cmp-nvim-lua", after = "nvim-cmp" } + use { "hrsh7th/cmp-path", after = "nvim-cmp" } + use { "hrsh7th/cmp-buffer", after = "nvim-cmp" } + use { "hrsh7th/cmp-cmdline", after = "nvim-cmp" } + use {'saadparwaiz1/cmp_luasnip', after = "nvim-cmp" } + -- Completion for some neovim lua API + use { "ii14/emmylua-nvim", ft = "lua" } + -- use { "hrsh7th/cmp-omni", after = "nvim-cmp" } + -- use { "petertriho/cmp-git", + -- requires = "nvim-lua/plenary.nvim", + -- config = function() require('cmp_git').setup() end + -- } + if vim.g.is_mac then + use { "hrsh7th/cmp-emoji", after = "nvim-cmp" } + end + -- nvim-lsp configuration + use { "neovim/nvim-lspconfig", + after = { "cmp-nvim-lsp", "mason-lspconfig.nvim" }, + config = function() + require('config.lsp') + end + } + -- Easily install and manage LSP servers, DAP servers, linters, and formatters. + use { "williamboman/mason.nvim" } + use { "williamboman/mason-lspconfig.nvim", + after = "mason.nvim", + config = function () + require("config.mason-lspconfig") + end, + requires = {"williamboman/mason.nvim", "nvim-lspconfig"} + } + use { "WhoIsSethDaniel/mason-tool-installer.nvim", + config = function () + require('mason-tool-installer').setup { + ensure_installed = { + "pylint", + }, + auto_update = true, + run_on_start = true, + tart_delay = 3000, -- 3 second delay + } + end, + } + + -- use { + -- "jose-elias-alvarez/null-ls.nvim", + -- config = function () + -- require("config.null-ls") + -- end + -- } + -- use { "jayp0521/mason-null-ls.nvim", + -- after = "null-ls.nvim", + -- config = function () + -- require("config.mason-null-ls") +-- require("mason").setup() +-- require("null-ls").setup() + -- require("mason-null-ls").setup({ + -- automatic_setup = true, + -- }) + -- end + -- } + + -- Clean spaces at EOL for lines that are edited + use "thirtythreeforty/lessspace.vim" + + -- Autopairs + use { + "windwp/nvim-autopairs", + event = "InsertEnter", + config = function() + require("nvim-autopairs").setup {} + end + } + + -- Easy change of surrounding stuff (tags, quotes...) + -- sa: sandwich add + text object + text + -- saw`: surround word with ` + -- sd: sandwich delete + -- sdt: delete surrounding tag + -- sr: sandwich replace + -- sr_`: replace _ by ` + use "machakann/vim-sandwich" + use { "michaeljsmith/vim-indent-object", event = "VimEnter" } + + -- Since tmux is only available on Linux and Mac, we only enable these plugins + -- for Linux and Mac + -- if utils.executable("tmux") then + -- .tmux.conf syntax highlighting and setting check + use { "tmux-plugins/vim-tmux", ft = { "tmux" } } + -- end + + -- Use :Telescope + use 'nvim-telescope/telescope.nvim' + + -- Lazy loading: + -- Load on specific commands + -- use {'tpope/vim-dispatch', opt = true, cmd = {'Dispatch', 'Make', 'Focus', 'Start'}} + + -- highlight, navigate, and operate on sets of matching text + -- https://github.com/andymass/vim-matchup + use { + 'andymass/vim-matchup', + setup = function() + -- may set any options here + vim.g.matchup_matchparen_offscreen = { method = "popup" } + end, + event = 'VimEnter' + } + + -- Lintent and formatting + -- XXX replaced by null-ls + -- use { + -- 'w0rp/ale', + -- -- ft = {'sh', 'zsh', 'bash', 'c', 'cpp', 'cmake', 'html', 'markdown', 'racket', 'vim', 'tex'}, + -- cmd = 'ALEEnable', + -- } + + -- Post-install/update hook with neovim command + use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' } + + -- open last postiion in file + use "farmergreg/vim-lastplace" + + use "simnalamburt/vim-mundo" + + -- Post-install/update hook with call of vimscript function with argument + -- use { 'glacambre/firenvim', run = function() vim.fn['firenvim#install'](0) end } + + -- Use specific branch, dependency and run lua file after load + -- use { + -- 'glepnir/galaxyline.nvim', branch = 'main', config = function() require'statusline' end, + -- requires = {'kyazdani42/nvim-web-devicons'} + -- } + + -- Use dracula theme + -- use { 'dracula/vim', as = 'dracula', + use { + 'Mofiqul/dracula.nvim', + config = function() + require("dracula").setup{ + -- show the '~' characters after the end of buffers + show_end_of_buffer = true, -- default false + -- set italic comment + italic_comment = true, -- default false + } + vim.cmd [[colorscheme dracula]] + end + } + + use "kyazdani42/nvim-web-devicons" + + use { + 'nvim-lualine/lualine.nvim', + after = "dracula.nvim", + config = function() + require('lualine').setup { + options = { theme = 'dracula' } + } + end, + requires = { 'kyazdani42/nvim-web-devicons', opt = true } + } + + use { + 'lewis6991/gitsigns.nvim', + config = function() + require("gitsigns").setup() + end, + requires = { 'nvim-lua/plenary.nvim' }, + event = "BufRead", + } + + -- Notifications + use 'rcarriga/nvim-notify' + -- use 'vigoux/notifier.nvim' + use { "j-hui/fidget.nvim", + config = function () + require"fidget".setup{} + end + } + + -- Automatically set up your configuration after cloning packer.nvim + -- Put this at the end after all plugins + if packer_bootstrap then + require('packer').sync() + end +end) diff --git a/.config/nvim/lua/utils.lua b/.config/nvim/lua/utils.lua new file mode 100644 index 00000000..b7cbdb0a --- /dev/null +++ b/.config/nvim/lua/utils.lua @@ -0,0 +1,14 @@ +-- https://github.com/jdhao/nvim-config/blob/master/lua/utils.lua +local fn = vim.fn + +local M = {} + +function M.executable(name) + if fn.executable(name) > 0 then + return true + end + + return false +end + +return M From c05555bfc739a5b979840af17d2a65bc0791dec2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 01:39:04 +0100 Subject: [PATCH 0428/2080] nvim: improve lua conf, include null-ls --- .config/nvim/init.lua | 2 +- .config/nvim/lua/config/lsp.lua | 11 ++- .config/nvim/lua/config/mason-lspconfig.lua | 4 +- .../nvim/lua/config/mason-tool-installer.lua | 14 +++ .config/nvim/lua/config/null-ls.lua | 47 ++++++++++ .config/nvim/lua/plugins.lua | 92 +++++++++++++------ 6 files changed, 136 insertions(+), 34 deletions(-) create mode 100644 .config/nvim/lua/config/mason-tool-installer.lua create mode 100644 .config/nvim/lua/config/null-ls.lua diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index c00a1d78..dab00d93 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -116,7 +116,7 @@ opt.foldmethod = "marker" -- Theme opt.termguicolors = true -opt.background = dark +opt.background = "dark" -- }}} -- Key mappings {{{ diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 55a0b9a7..7ef85463 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -39,8 +39,8 @@ local on_attach = function(client, bufnr) -- Mappings. -- See `:help vim.diagnostic.*` for documentation on any of the below functions - -- local opts = { noremap=true, silent=true } - -- vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts) + local opts = { noremap=true, silent=true } + vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts) -- vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts) -- Enable completion triggered by <c-x><c-o> @@ -221,6 +221,13 @@ if utils.executable("bash-language-server") then } end +if utils.executable("ansible-language-server") then + lspconfig.ansiblels.setup { + on_attach = on_attach, + capabilities = capabilities, + } +end + if utils.executable("clangd") then lspconfig.clangd.setup { on_attach = custom_attach, diff --git a/.config/nvim/lua/config/mason-lspconfig.lua b/.config/nvim/lua/config/mason-lspconfig.lua index 7f09522e..ca731d01 100644 --- a/.config/nvim/lua/config/mason-lspconfig.lua +++ b/.config/nvim/lua/config/mason-lspconfig.lua @@ -1,8 +1,8 @@ require("mason").setup() require("mason-lspconfig").setup({ ensure_installed = { - -- "ansiblels", - -- "bashls", + "ansiblels", + "bashls", -- "grammarly", -- "html", -- "jsonls", diff --git a/.config/nvim/lua/config/mason-tool-installer.lua b/.config/nvim/lua/config/mason-tool-installer.lua new file mode 100644 index 00000000..65dcbaea --- /dev/null +++ b/.config/nvim/lua/config/mason-tool-installer.lua @@ -0,0 +1,14 @@ +require('mason-tool-installer').setup { + ensure_installed = { + "alex", + "stylua", + "markdownlint", + "pylint", + "prettier", + "shellcheck", + "shfmt", + }, + auto_update = true, + run_on_start = true, + tart_delay = 3000, -- 3 second delay +} diff --git a/.config/nvim/lua/config/null-ls.lua b/.config/nvim/lua/config/null-ls.lua new file mode 100644 index 00000000..6cfa92ae --- /dev/null +++ b/.config/nvim/lua/config/null-ls.lua @@ -0,0 +1,47 @@ +-- https://smarttech101.com/nvim-lsp-set-up-null-ls-for-beginners/ +local null_ls = require("null-ls") + +-- Available builtins: https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md +-- Check if packate is available using :echo executable("shfmt") + +null_ls.setup({ + sources = { + -- code actions + null_ls.builtins.code_actions.gitsigns, + null_ls.builtins.code_actions.shellcheck, + -- formatters + null_ls.builtins.formatting.prettier, + null_ls.builtins.formatting.shfmt, + null_ls.builtins.formatting.stylua, + -- diagnostics + null_ls.builtins.diagnostics.alex, + null_ls.builtins.diagnostics.markdownlint, + null_ls.builtins.diagnostics.shellcheck, + -- null_ls.builtins.diagnostics.ansiblelint, + -- null_ls.builtins.diagnostics.checkmake, + -- null_ls.builtins.diagnostics.write_good, + -- completion + -- XXX spell is disabled + -- null_ls.builtins.completion.spell, + }, + -- format file on save + -- you can reuse a shared lspconfig on_attach callback here + on_attach = function(client, bufnr) + if client.supports_method("textDocument/formatting") then + vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) + vim.api.nvim_create_autocmd("BufWritePre", { + group = augroup, + buffer = bufnr, + callback = function() + -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead + vim.lsp.buf.format({ bufnr = bufnr }) + end, + }) + end + end, +}) + +-- Format file +vim.cmd('map <Leader>lf :lua vim.lsp.buf.format(nil, 10000)<CR>') +-- Format selection +vim.cmd('map <Leader>lF :lua vim.lsp.buf.range_formatting()<CR>') diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index f53e5cb3..1442299e 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -101,34 +101,18 @@ return require('packer').startup(function(use) } use { "WhoIsSethDaniel/mason-tool-installer.nvim", config = function () - require('mason-tool-installer').setup { - ensure_installed = { - "pylint", - }, - auto_update = true, - run_on_start = true, - tart_delay = 3000, -- 3 second delay - } + require("config.mason-tool-installer") end, } - -- use { - -- "jose-elias-alvarez/null-ls.nvim", - -- config = function () - -- require("config.null-ls") - -- end - -- } - -- use { "jayp0521/mason-null-ls.nvim", - -- after = "null-ls.nvim", - -- config = function () - -- require("config.mason-null-ls") --- require("mason").setup() --- require("null-ls").setup() - -- require("mason-null-ls").setup({ - -- automatic_setup = true, - -- }) - -- end - -- } + -- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. + -- Use different binaries as sources, like prettier + use { + "jose-elias-alvarez/null-ls.nvim", + config = function () + require("config.null-ls") + end + } -- Clean spaces at EOL for lines that are edited use "thirtythreeforty/lessspace.vim" @@ -160,7 +144,59 @@ return require('packer').startup(function(use) -- end -- Use :Telescope - use 'nvim-telescope/telescope.nvim' + -- https://alpha2phi.medium.com/neovim-for-beginners-fuzzy-file-search-part-2-2aab95fe8cfe + use { 'nvim-telescope/telescope.nvim', + config = function() + require("telescope.actions") + local trouble = require("trouble.providers.telescope") + local telescope = require("telescope") + local builtin = require('telescope.builtin') + telescope.setup { + defaults = { + mappings = { + i = { ["<c-t>"] = trouble.open_with_trouble }, + n = { ["<c-t>"] = trouble.open_with_trouble }, + }, + }, + } + vim.keymap.set('n', '<leader>ff', builtin.find_files, {}) + vim.keymap.set('n', '<leader>fg', builtin.live_grep, {}) + vim.keymap.set('n', '<leader>fb', builtin.buffers, {}) + vim.keymap.set('n', '<leader>fh', builtin.help_tags, {}) + end + } + -- pretty list for showing diagnostics, references, telescope results, quickfix and location lists + -- https://github.com/folke/trouble.nvim + use { "folke/trouble.nvim", + requires = "kyazdani42/nvim-web-devicons", + config = function() + require("trouble").setup { + indent_lines = true, -- add an indent guide below the fold icons + auto_open = false, -- automatically open the list when you have diagnostics + auto_close = false, -- automatically close the list when you have no diagnostics + auto_preview = true, -- automatically preview the location of the diagnostic. <esc> to close preview and go back to last window + auto_fold = false, -- automatically fold a file trouble list at creation + } + vim.keymap.set("n", "<leader>xx", "<cmd>TroubleToggle<cr>", + {silent = true, noremap = true} + ) + vim.keymap.set("n", "<leader>xw", "<cmd>TroubleToggle workspace_diagnostics<cr>", + {silent = true, noremap = true} + ) + vim.keymap.set("n", "<leader>xd", "<cmd>TroubleToggle document_diagnostics<cr>", + {silent = true, noremap = true} + ) + vim.keymap.set("n", "<leader>xl", "<cmd>TroubleToggle loclist<cr>", + {silent = true, noremap = true} + ) + vim.keymap.set("n", "<leader>xq", "<cmd>TroubleToggle quickfix<cr>", + {silent = true, noremap = true} + ) + vim.keymap.set("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", + {silent = true, noremap = true} + ) + end + } -- Lazy loading: -- Load on specific commands @@ -177,7 +213,7 @@ return require('packer').startup(function(use) event = 'VimEnter' } - -- Lintent and formatting + -- Linting and formatting -- XXX replaced by null-ls -- use { -- 'w0rp/ale', @@ -217,8 +253,6 @@ return require('packer').startup(function(use) end } - use "kyazdani42/nvim-web-devicons" - use { 'nvim-lualine/lualine.nvim', after = "dracula.nvim", From 55c51883efb6f3a39c91c3f6f9fa9f02907347e7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 01:57:26 +0100 Subject: [PATCH 0429/2080] init.lua: formatting, fix dirs --- .config/nvim/init.lua | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index dab00d93..ec3c98cd 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -40,11 +40,11 @@ g.loaded_perl_provider = 0 g.loaded_ruby_provider = 0 -- Custom mapping <leader> (see `:h mapleader` for more info) -g.mapleader = ' ' -g.maplocalleader = ',' +g.mapleader = " " +g.maplocalleader = "," -- Enable highlighting for lua, Python and Ruby HERE doc inside script -g.vimsyn_embed = 'lPr' +g.vimsyn_embed = "lPr" -- Use English as main language vim.cmd("language en_GB.UTF-8") @@ -57,13 +57,13 @@ vim.cmd("language en_GB.UTF-8") -- swap opt.swapfile = true -opt.directory = vim.fn.expand('~/.local/share/nvim/backup') +opt.directory = vim.fn.expand("~/.local/share/nvim/swapfile") -- backup opt.backup = true opt.writebackup = true -opt.backupdir = vim.fn.expand('~/.local/share/nvim/backup') -opt.backupskip = {"/tmp/*"} +opt.backupdir = vim.fn.expand("~/.local/share/nvim/backup") +opt.backupskip = { "/tmp/*" } -- Do not unload buffers on abandon (opening a new file un current buffer) -- Use Ctrl-o to switch back to location save in jumplist @@ -73,7 +73,7 @@ opt.hidden = true opt.completeopt = "menu,menuone,noselect" -- Disable mouse -opt.mouse = '' +opt.mouse = "" -- Highlight current line opt.cursorline = true @@ -101,7 +101,7 @@ opt.listchars = { tab = ">.", trail = ".", extends = "#", - nbsp = "." + nbsp = ".", } -- Search configuration @@ -109,7 +109,7 @@ opt.ignorecase = true -- Undo management opt.undofile = true -opt.undodir = vim.fn.expand('~/.vim/undo') +opt.undodir = vim.fn.expand("~/.local/share/nvim/undodir") -- Folding with markers opt.foldmethod = "marker" @@ -135,4 +135,4 @@ keymap.set("c", "<C-E>", "<END>") -- }}} -- Bootstrap packer and install plugins -require('plugins') +require("plugins") From 6658465a53f932eb7e823b10382e1c82dc273740 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 01:58:35 +0100 Subject: [PATCH 0430/2080] plugins.lua: formatting, turn on yadm for gitsigns --- .config/nvim/lua/plugins.lua | 251 ++++++++++++++++++----------------- 1 file changed, 132 insertions(+), 119 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 1442299e..46621f30 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -4,9 +4,9 @@ -- Bootstrap packer local ensure_packer = function() local fn = vim.fn - local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim' + local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" if fn.empty(fn.glob(install_path)) > 0 then - fn.system({ 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path }) + fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path }) vim.cmd("packadd packer.nvim") return true end @@ -33,30 +33,30 @@ end packer.init({ display = { open_fn = function() - return require('packer.util').float({ border = 'single' }) - end - } + return require("packer.util").float({ border = "single" }) + end, + }, }) -return require('packer').startup(function(use) +return require("packer").startup(function(use) -- Packer can manage itself - use 'wbthomason/packer.nvim' + use("wbthomason/packer.nvim") - use 'lewis6991/impatient.nvim' + use("lewis6991/impatient.nvim") - use "nvim-lua/popup.nvim" -- An implementation of the Popup API from vim in Neovim - use "nvim-lua/plenary.nvim" -- Useful lua functions used by lots of plugins + use("nvim-lua/popup.nvim") -- An implementation of the Popup API from vim in Neovim + use("nvim-lua/plenary.nvim") -- Useful lua functions used by lots of plugins -- Completion - use { + use({ "hrsh7th/nvim-cmp", config = function() require("config.nvim-cmp") end, - requires = { "L3MON4D3/LuaSnip", "onsails/lspkind.nvim" } - } + requires = { "L3MON4D3/LuaSnip", "onsails/lspkind.nvim" }, + }) -- Add vscode-like pictograms to neovim lsp - use { "onsails/lspkind.nvim" } + use({ "onsails/lspkind.nvim" }) -- nvim-cmp completion sources -- Snippet engine and snippet template @@ -64,67 +64,70 @@ return require('packer').startup(function(use) -- use { "honza/vim-snippets" } -- use { "quangnguyen30192/cmp-nvim-ultisnips", after = { "nvim-cmp", "cmp_luasnip" } } -- Snippets - use "L3MON4D3/LuaSnip" - use {'rafamadriz/friendly-snippets'} + use("L3MON4D3/LuaSnip") + use({ "rafamadriz/friendly-snippets" }) -- Autocompletion - use { "hrsh7th/cmp-nvim-lsp", after = "nvim-cmp" } - use { "hrsh7th/cmp-nvim-lua", after = "nvim-cmp" } - use { "hrsh7th/cmp-path", after = "nvim-cmp" } - use { "hrsh7th/cmp-buffer", after = "nvim-cmp" } - use { "hrsh7th/cmp-cmdline", after = "nvim-cmp" } - use {'saadparwaiz1/cmp_luasnip', after = "nvim-cmp" } + use({ "hrsh7th/cmp-nvim-lsp", after = "nvim-cmp" }) + use({ "hrsh7th/cmp-nvim-lua", after = "nvim-cmp" }) + use({ "hrsh7th/cmp-path", after = "nvim-cmp" }) + use({ "hrsh7th/cmp-buffer", after = "nvim-cmp" }) + use({ "hrsh7th/cmp-cmdline", after = "nvim-cmp" }) + use({ "saadparwaiz1/cmp_luasnip", after = "nvim-cmp" }) -- Completion for some neovim lua API - use { "ii14/emmylua-nvim", ft = "lua" } + use({ "ii14/emmylua-nvim", ft = "lua" }) -- use { "hrsh7th/cmp-omni", after = "nvim-cmp" } -- use { "petertriho/cmp-git", -- requires = "nvim-lua/plenary.nvim", -- config = function() require('cmp_git').setup() end -- } if vim.g.is_mac then - use { "hrsh7th/cmp-emoji", after = "nvim-cmp" } + use({ "hrsh7th/cmp-emoji", after = "nvim-cmp" }) end -- nvim-lsp configuration - use { "neovim/nvim-lspconfig", + use({ + "neovim/nvim-lspconfig", after = { "cmp-nvim-lsp", "mason-lspconfig.nvim" }, config = function() - require('config.lsp') - end - } + require("config.lsp") + end, + }) -- Easily install and manage LSP servers, DAP servers, linters, and formatters. - use { "williamboman/mason.nvim" } - use { "williamboman/mason-lspconfig.nvim", + use({ "williamboman/mason.nvim" }) + use({ + "williamboman/mason-lspconfig.nvim", after = "mason.nvim", - config = function () + config = function() require("config.mason-lspconfig") end, - requires = {"williamboman/mason.nvim", "nvim-lspconfig"} - } - use { "WhoIsSethDaniel/mason-tool-installer.nvim", - config = function () + requires = { "williamboman/mason.nvim", "nvim-lspconfig" }, + }) + use({ + "WhoIsSethDaniel/mason-tool-installer.nvim", + config = function() require("config.mason-tool-installer") end, - } + }) -- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. -- Use different binaries as sources, like prettier - use { + use({ "jose-elias-alvarez/null-ls.nvim", - config = function () + config = function() require("config.null-ls") - end - } + end, + }) -- Clean spaces at EOL for lines that are edited - use "thirtythreeforty/lessspace.vim" + use("thirtythreeforty/lessspace.vim") -- Autopairs - use { + use({ "windwp/nvim-autopairs", event = "InsertEnter", config = function() - require("nvim-autopairs").setup {} - end - } + require("nvim-autopairs").setup({}) + end, + }) -- Easy change of surrounding stuff (tags, quotes...) -- sa: sandwich add + text object + text @@ -133,70 +136,70 @@ return require('packer').startup(function(use) -- sdt: delete surrounding tag -- sr: sandwich replace -- sr_`: replace _ by ` - use "machakann/vim-sandwich" - use { "michaeljsmith/vim-indent-object", event = "VimEnter" } + use("machakann/vim-sandwich") + use({ "michaeljsmith/vim-indent-object", event = "VimEnter" }) -- Since tmux is only available on Linux and Mac, we only enable these plugins -- for Linux and Mac -- if utils.executable("tmux") then -- .tmux.conf syntax highlighting and setting check - use { "tmux-plugins/vim-tmux", ft = { "tmux" } } + use({ "tmux-plugins/vim-tmux", ft = { "tmux" } }) -- end -- Use :Telescope -- https://alpha2phi.medium.com/neovim-for-beginners-fuzzy-file-search-part-2-2aab95fe8cfe - use { 'nvim-telescope/telescope.nvim', + use({ + "nvim-telescope/telescope.nvim", config = function() require("telescope.actions") local trouble = require("trouble.providers.telescope") local telescope = require("telescope") - local builtin = require('telescope.builtin') - telescope.setup { + local builtin = require("telescope.builtin") + telescope.setup({ defaults = { mappings = { i = { ["<c-t>"] = trouble.open_with_trouble }, n = { ["<c-t>"] = trouble.open_with_trouble }, }, }, - } - vim.keymap.set('n', '<leader>ff', builtin.find_files, {}) - vim.keymap.set('n', '<leader>fg', builtin.live_grep, {}) - vim.keymap.set('n', '<leader>fb', builtin.buffers, {}) - vim.keymap.set('n', '<leader>fh', builtin.help_tags, {}) - end - } + }) + vim.keymap.set("n", "<leader>ff", builtin.find_files, {}) + vim.keymap.set("n", "<leader>fg", builtin.live_grep, {}) + vim.keymap.set("n", "<leader>fb", builtin.buffers, {}) + vim.keymap.set("n", "<leader>fh", builtin.help_tags, {}) + end, + }) -- pretty list for showing diagnostics, references, telescope results, quickfix and location lists -- https://github.com/folke/trouble.nvim - use { "folke/trouble.nvim", + use({ + "folke/trouble.nvim", requires = "kyazdani42/nvim-web-devicons", config = function() - require("trouble").setup { + require("trouble").setup({ indent_lines = true, -- add an indent guide below the fold icons auto_open = false, -- automatically open the list when you have diagnostics auto_close = false, -- automatically close the list when you have no diagnostics auto_preview = true, -- automatically preview the location of the diagnostic. <esc> to close preview and go back to last window auto_fold = false, -- automatically fold a file trouble list at creation - } - vim.keymap.set("n", "<leader>xx", "<cmd>TroubleToggle<cr>", - {silent = true, noremap = true} - ) - vim.keymap.set("n", "<leader>xw", "<cmd>TroubleToggle workspace_diagnostics<cr>", - {silent = true, noremap = true} - ) - vim.keymap.set("n", "<leader>xd", "<cmd>TroubleToggle document_diagnostics<cr>", - {silent = true, noremap = true} + }) + vim.keymap.set("n", "<leader>xx", "<cmd>TroubleToggle<cr>", { silent = true, noremap = true }) + vim.keymap.set( + "n", + "<leader>xw", + "<cmd>TroubleToggle workspace_diagnostics<cr>", + { silent = true, noremap = true } ) - vim.keymap.set("n", "<leader>xl", "<cmd>TroubleToggle loclist<cr>", - {silent = true, noremap = true} + vim.keymap.set( + "n", + "<leader>xd", + "<cmd>TroubleToggle document_diagnostics<cr>", + { silent = true, noremap = true } ) - vim.keymap.set("n", "<leader>xq", "<cmd>TroubleToggle quickfix<cr>", - {silent = true, noremap = true} - ) - vim.keymap.set("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", - {silent = true, noremap = true} - ) - end - } + vim.keymap.set("n", "<leader>xl", "<cmd>TroubleToggle loclist<cr>", { silent = true, noremap = true }) + vim.keymap.set("n", "<leader>xq", "<cmd>TroubleToggle quickfix<cr>", { silent = true, noremap = true }) + vim.keymap.set("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", { silent = true, noremap = true }) + end, + }) -- Lazy loading: -- Load on specific commands @@ -204,14 +207,14 @@ return require('packer').startup(function(use) -- highlight, navigate, and operate on sets of matching text -- https://github.com/andymass/vim-matchup - use { - 'andymass/vim-matchup', + use({ + "andymass/vim-matchup", setup = function() -- may set any options here vim.g.matchup_matchparen_offscreen = { method = "popup" } end, - event = 'VimEnter' - } + event = "VimEnter", + }) -- Linting and formatting -- XXX replaced by null-ls @@ -222,12 +225,12 @@ return require('packer').startup(function(use) -- } -- Post-install/update hook with neovim command - use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' } + use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) -- open last postiion in file - use "farmergreg/vim-lastplace" + use("farmergreg/vim-lastplace") - use "simnalamburt/vim-mundo" + use("simnalamburt/vim-mundo") -- Post-install/update hook with call of vimscript function with argument -- use { 'glacambre/firenvim', run = function() vim.fn['firenvim#install'](0) end } @@ -239,52 +242,62 @@ return require('packer').startup(function(use) -- } -- Use dracula theme - -- use { 'dracula/vim', as = 'dracula', - use { - 'Mofiqul/dracula.nvim', + -- use({ + -- "dracula/vim", as = "dracula", + -- config = function() + -- vim.cmd([[colorscheme dracula]]) + -- end, + -- }) + use({ + "Mofiqul/dracula.nvim", config = function() - require("dracula").setup{ - -- show the '~' characters after the end of buffers - show_end_of_buffer = true, -- default false - -- set italic comment - italic_comment = true, -- default false - } - vim.cmd [[colorscheme dracula]] - end - } + require("dracula").setup({ + -- show the '~' characters after the end of buffers + show_end_of_buffer = true, -- default false + -- set italic comment + italic_comment = true, -- default false + }) + vim.cmd([[colorscheme dracula]]) + end, + }) - use { - 'nvim-lualine/lualine.nvim', + use({ + "nvim-lualine/lualine.nvim", after = "dracula.nvim", config = function() - require('lualine').setup { - options = { theme = 'dracula' } - } + require("lualine").setup({ + options = { theme = "dracula" }, + }) end, - requires = { 'kyazdani42/nvim-web-devicons', opt = true } - } + requires = { "kyazdani42/nvim-web-devicons", opt = true }, + }) - use { - 'lewis6991/gitsigns.nvim', - config = function() - require("gitsigns").setup() - end, - requires = { 'nvim-lua/plenary.nvim' }, + use({ + "lewis6991/gitsigns.nvim", + config = function() + require("gitsigns").setup({ + yadm = { + enable = true, + }, + }) + end, + requires = { "nvim-lua/plenary.nvim" }, event = "BufRead", - } + }) -- Notifications - use 'rcarriga/nvim-notify' + use("rcarriga/nvim-notify") -- use 'vigoux/notifier.nvim' - use { "j-hui/fidget.nvim", - config = function () - require"fidget".setup{} - end - } + use({ + "j-hui/fidget.nvim", + config = function() + require("fidget").setup({}) + end, + }) -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins if packer_bootstrap then - require('packer').sync() + require("packer").sync() end end) From c3593d655a3b09e005d314f8e6a2dfdf23af1ff9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 02:00:05 +0100 Subject: [PATCH 0431/2080] lua: formatting --- .config/nvim/lua/config/lsp.lua | 143 +++++++++--------- .config/nvim/lua/config/mason-lspconfig.lua | 34 ++--- .../nvim/lua/config/mason-tool-installer.lua | 4 +- .config/nvim/lua/config/null-ls.lua | 72 ++++----- .config/nvim/lua/config/nvim-cmp.lua | 54 +++---- 5 files changed, 153 insertions(+), 154 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 7ef85463..9fc145c0 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -9,12 +9,12 @@ local lspconfig = require("lspconfig") local utils = require("utils") -- global config for diagnostic -diagnostic.config { +diagnostic.config({ underline = true, virtual_text = true, signs = true, severity_sort = true, -} +}) -- Change diagnostic signs. fn.sign_define("DiagnosticSignError", { text = "✗", texthl = "DiagnosticSignError" }) @@ -36,11 +36,10 @@ lsp.handlers["textDocument/publishDiagnostics"] = lsp.with(lsp.diagnostic.on_pub -- To be used to display LSP diagnostic window details when on an error local on_attach = function(client, bufnr) - -- Mappings. -- See `:help vim.diagnostic.*` for documentation on any of the below functions - local opts = { noremap=true, silent=true } - vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts) + local opts = { noremap = true, silent = true } + vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) -- vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts) -- Enable completion triggered by <c-x><c-o> @@ -109,20 +108,20 @@ local on_attach = function(client, bufnr) ]]) local gid = api.nvim_create_augroup("lsp_document_highlight", { clear = true }) - api.nvim_create_autocmd("CursorHold" , { + api.nvim_create_autocmd("CursorHold", { group = gid, buffer = bufnr, - callback = function () + callback = function() lsp.buf.document_highlight() - end + end, }) - api.nvim_create_autocmd("CursorMoved" , { + api.nvim_create_autocmd("CursorMoved", { group = gid, buffer = bufnr, - callback = function () + callback = function() lsp.buf.clear_references() - end + end, }) end @@ -133,110 +132,110 @@ local on_attach = function(client, bufnr) end -- Inform LSP server about all the capabilities of nvim-cmp -local capabilities = require('cmp_nvim_lsp').default_capabilities() +local capabilities = require("cmp_nvim_lsp").default_capabilities() local lsp_flags = { -- This is the default in Nvim 0.7+ debounce_text_changes = 150, } -lspconfig['ltex'].setup{ - on_attach = on_attach, - flags = lsp_flags, -} -require('lspconfig')['marksman'].setup{ +lspconfig["ltex"].setup({ + on_attach = on_attach, + flags = lsp_flags, +}) +require("lspconfig")["marksman"].setup({ + on_attach = on_attach, + flags = lsp_flags, +}) +if utils.executable("pylsp") then + require("lspconfig")["pylsp"].setup({ on_attach = on_attach, flags = lsp_flags, -} -if utils.executable("pylsp") then - require('lspconfig')['pylsp'].setup{ - on_attach = on_attach, - flags = lsp_flags, - settings = { - pylsp = { - plugins = { - pylint = { enabled = true, executable = "pylint" }, - pyflakes = { enabled = false }, - pycodestyle = { enabled = false }, - jedi_completion = { fuzzy = true }, - pyls_isort = { enabled = true }, - pylsp_mypy = { enabled = true }, - }, + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, }, }, - capabilities = capabilities, - } + }, + capabilities = capabilities, + }) else vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) end if utils.executable("lua-language-server") then - require('lspconfig')['sumneko_lua'].setup{ - on_attach = on_attach, - flags = lsp_flags, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . - -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, + require("lspconfig")["sumneko_lua"].setup({ + on_attach = on_attach, + flags = lsp_flags, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . + -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), }, + maxPreload = 2000, + preloadFileSize = 50000, }, }, - capabilities = capabilities, - } + }, + capabilities = capabilities, + }) else vim.notify("sumneko_lua not found!", vim.log.levels.WARN, { title = "Nvim-config" }) end if utils.executable("vim-language-server") then - require('lspconfig')['vimls'].setup{ - on_attach = on_attach, - capabilities = capabilities, - flags = { - debounce_text_changes = 500, - }, - } + require("lspconfig")["vimls"].setup({ + on_attach = on_attach, + capabilities = capabilities, + flags = { + debounce_text_changes = 500, + }, + }) else vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) end if utils.executable("bash-language-server") then - lspconfig.bashls.setup { + lspconfig.bashls.setup({ on_attach = on_attach, capabilities = capabilities, - } + }) end if utils.executable("ansible-language-server") then - lspconfig.ansiblels.setup { + lspconfig.ansiblels.setup({ on_attach = on_attach, capabilities = capabilities, - } + }) end if utils.executable("clangd") then - lspconfig.clangd.setup { + lspconfig.clangd.setup({ on_attach = custom_attach, capabilities = capabilities, filetypes = { "c", "cpp", "cc" }, flags = { debounce_text_changes = 500, }, - } + }) else vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) end diff --git a/.config/nvim/lua/config/mason-lspconfig.lua b/.config/nvim/lua/config/mason-lspconfig.lua index ca731d01..72908ec3 100644 --- a/.config/nvim/lua/config/mason-lspconfig.lua +++ b/.config/nvim/lua/config/mason-lspconfig.lua @@ -1,20 +1,20 @@ require("mason").setup() require("mason-lspconfig").setup({ - ensure_installed = { - "ansiblels", - "bashls", - -- "grammarly", - -- "html", - -- "jsonls", - -- "lemminx", - "ltex", - "marksman", - -- "prosemd_lsp", - "pylsp", - -- "ruby_ls", - "sumneko_lua", - "vimls", - -- "yamlls", - }, - automatic_installation = true, + ensure_installed = { + "ansiblels", + "bashls", + -- "grammarly", + -- "html", + -- "jsonls", + -- "lemminx", + "ltex", + "marksman", + -- "prosemd_lsp", + "pylsp", + -- "ruby_ls", + "sumneko_lua", + "vimls", + -- "yamlls", + }, + automatic_installation = true, }) diff --git a/.config/nvim/lua/config/mason-tool-installer.lua b/.config/nvim/lua/config/mason-tool-installer.lua index 65dcbaea..a82554f9 100644 --- a/.config/nvim/lua/config/mason-tool-installer.lua +++ b/.config/nvim/lua/config/mason-tool-installer.lua @@ -1,4 +1,4 @@ -require('mason-tool-installer').setup { +require("mason-tool-installer").setup({ ensure_installed = { "alex", "stylua", @@ -11,4 +11,4 @@ require('mason-tool-installer').setup { auto_update = true, run_on_start = true, tart_delay = 3000, -- 3 second delay -} +}) diff --git a/.config/nvim/lua/config/null-ls.lua b/.config/nvim/lua/config/null-ls.lua index 6cfa92ae..b84e9760 100644 --- a/.config/nvim/lua/config/null-ls.lua +++ b/.config/nvim/lua/config/null-ls.lua @@ -5,43 +5,43 @@ local null_ls = require("null-ls") -- Check if packate is available using :echo executable("shfmt") null_ls.setup({ - sources = { - -- code actions - null_ls.builtins.code_actions.gitsigns, - null_ls.builtins.code_actions.shellcheck, - -- formatters - null_ls.builtins.formatting.prettier, - null_ls.builtins.formatting.shfmt, - null_ls.builtins.formatting.stylua, - -- diagnostics - null_ls.builtins.diagnostics.alex, - null_ls.builtins.diagnostics.markdownlint, - null_ls.builtins.diagnostics.shellcheck, - -- null_ls.builtins.diagnostics.ansiblelint, - -- null_ls.builtins.diagnostics.checkmake, - -- null_ls.builtins.diagnostics.write_good, - -- completion - -- XXX spell is disabled - -- null_ls.builtins.completion.spell, - }, - -- format file on save - -- you can reuse a shared lspconfig on_attach callback here - on_attach = function(client, bufnr) - if client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead - vim.lsp.buf.format({ bufnr = bufnr }) - end, - }) - end - end, + sources = { + -- code actions + null_ls.builtins.code_actions.gitsigns, + null_ls.builtins.code_actions.shellcheck, + -- formatters + null_ls.builtins.formatting.prettier, + null_ls.builtins.formatting.shfmt, + null_ls.builtins.formatting.stylua, + -- diagnostics + null_ls.builtins.diagnostics.alex, + null_ls.builtins.diagnostics.markdownlint, + null_ls.builtins.diagnostics.shellcheck, + -- null_ls.builtins.diagnostics.ansiblelint, + -- null_ls.builtins.diagnostics.checkmake, + -- null_ls.builtins.diagnostics.write_good, + -- completion + -- XXX spell is disabled + -- null_ls.builtins.completion.spell, + }, + -- format file on save + -- you can reuse a shared lspconfig on_attach callback here + on_attach = function(client, bufnr) + if client.supports_method("textDocument/formatting") then + vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) + vim.api.nvim_create_autocmd("BufWritePre", { + group = augroup, + buffer = bufnr, + callback = function() + -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead + vim.lsp.buf.format({ bufnr = bufnr }) + end, + }) + end + end, }) -- Format file -vim.cmd('map <Leader>lf :lua vim.lsp.buf.format(nil, 10000)<CR>') +vim.cmd("map <Leader>lf :lua vim.lsp.buf.format(nil, 10000)<CR>") -- Format selection -vim.cmd('map <Leader>lF :lua vim.lsp.buf.range_formatting()<CR>') +vim.cmd("map <Leader>lF :lua vim.lsp.buf.range_formatting()<CR>") diff --git a/.config/nvim/lua/config/nvim-cmp.lua b/.config/nvim/lua/config/nvim-cmp.lua index e609d148..a0543393 100644 --- a/.config/nvim/lua/config/nvim-cmp.lua +++ b/.config/nvim/lua/config/nvim-cmp.lua @@ -1,12 +1,12 @@ -- Set up nvim-cmp. -local cmp = require'cmp' -local lspkind = require('lspkind') +local cmp = require("cmp") +local lspkind = require("lspkind") cmp.setup({ snippet = { -- REQUIRED - you must specify a snippet engine expand = function(args) - require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + require("luasnip").lsp_expand(args.body) -- For `luasnip` users. end, }, window = { @@ -15,7 +15,7 @@ cmp.setup({ }, -- Display vscode-like pictograms formatting = { - format = lspkind.cmp_format { + format = lspkind.cmp_format({ mode = "symbol_text", menu = { nvim_lsp = "[LSP]", @@ -26,14 +26,14 @@ cmp.setup({ emoji = "[Emoji]", omni = "[Omni]", }, - }, + }), }, mapping = cmp.mapping.preset.insert({ - ['<C-b>'] = cmp.mapping.scroll_docs(-4), - ['<C-f>'] = cmp.mapping.scroll_docs(4), - ['<C-Space>'] = cmp.mapping.complete(), - ['<C-e>'] = cmp.mapping.abort(), - ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + ["<C-b>"] = cmp.mapping.scroll_docs(-4), + ["<C-f>"] = cmp.mapping.scroll_docs(4), + ["<C-Space>"] = cmp.mapping.complete(), + ["<C-e>"] = cmp.mapping.abort(), + ["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. ["<Tab>"] = function(fallback) if cmp.visible() then cmp.select_next_item() @@ -50,37 +50,37 @@ cmp.setup({ end, }), sources = cmp.config.sources({ - { name = 'nvim_lsp' }, - { name = 'luasnip' }, -- For luasnip users. - { name = 'buffer' }, - { name = 'path' }, - }) + { name = "nvim_lsp" }, + { name = "luasnip" }, -- For luasnip users. + { name = "buffer" }, + { name = "path" }, + }), }) -- Set configuration for specific filetype. -cmp.setup.filetype('gitcommit', { +cmp.setup.filetype("gitcommit", { sources = cmp.config.sources({ - { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it. + { name = "cmp_git" }, -- You can specify the `cmp_git` source if you were installed it. }, { - { name = 'buffer' }, - { name = 'path' }, - }) + { name = "buffer" }, + { name = "path" }, + }), }) -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). -cmp.setup.cmdline({ '/', '?' }, { +cmp.setup.cmdline({ "/", "?" }, { mapping = cmp.mapping.preset.cmdline(), sources = { - { name = 'buffer' } - } + { name = "buffer" }, + }, }) -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). -cmp.setup.cmdline(':', { +cmp.setup.cmdline(":", { mapping = cmp.mapping.preset.cmdline(), sources = cmp.config.sources({ - { name = 'path' } + { name = "path" }, }, { - { name = 'cmdline' } - }) + { name = "cmdline" }, + }), }) From 1857bb8d6ada3088a9993e0f4cf6d150530b656f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 21 Nov 2022 14:52:47 +0100 Subject: [PATCH 0432/2080] Move vimscript conf to a dedicated dir --- .config/{nvim => nvim-vimscript}/coc-settings.json | 0 .config/{nvim => nvim-vimscript}/init.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/LeaderF.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/airline.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/ale.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/checkattach.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/coc.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/ctrlp.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/deoplete.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/editorconfig.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/fzf.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/lessspace.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/localvimrc.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/nerdtree.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/notes.vim | 0 .../{nvim => nvim-vimscript}/plugin/settings/silversearcher.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/startify.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/syntastic.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/telescope.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/ultisnips.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/vim_markdown.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/vimmail.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/vimwiki.vim | 0 .config/{nvim => nvim-vimscript}/plugin/settings/wilder.vim | 0 24 files changed, 0 insertions(+), 0 deletions(-) rename .config/{nvim => nvim-vimscript}/coc-settings.json (100%) rename .config/{nvim => nvim-vimscript}/init.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/LeaderF.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/airline.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/ale.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/checkattach.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/coc.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/ctrlp.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/deoplete.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/editorconfig.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/fzf.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/lessspace.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/localvimrc.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/nerdtree.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/notes.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/silversearcher.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/startify.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/syntastic.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/telescope.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/ultisnips.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/vim_markdown.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/vimmail.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/vimwiki.vim (100%) rename .config/{nvim => nvim-vimscript}/plugin/settings/wilder.vim (100%) diff --git a/.config/nvim/coc-settings.json b/.config/nvim-vimscript/coc-settings.json similarity index 100% rename from .config/nvim/coc-settings.json rename to .config/nvim-vimscript/coc-settings.json diff --git a/.config/nvim/init.vim b/.config/nvim-vimscript/init.vim similarity index 100% rename from .config/nvim/init.vim rename to .config/nvim-vimscript/init.vim diff --git a/.config/nvim/plugin/settings/LeaderF.vim b/.config/nvim-vimscript/plugin/settings/LeaderF.vim similarity index 100% rename from .config/nvim/plugin/settings/LeaderF.vim rename to .config/nvim-vimscript/plugin/settings/LeaderF.vim diff --git a/.config/nvim/plugin/settings/airline.vim b/.config/nvim-vimscript/plugin/settings/airline.vim similarity index 100% rename from .config/nvim/plugin/settings/airline.vim rename to .config/nvim-vimscript/plugin/settings/airline.vim diff --git a/.config/nvim/plugin/settings/ale.vim b/.config/nvim-vimscript/plugin/settings/ale.vim similarity index 100% rename from .config/nvim/plugin/settings/ale.vim rename to .config/nvim-vimscript/plugin/settings/ale.vim diff --git a/.config/nvim/plugin/settings/checkattach.vim b/.config/nvim-vimscript/plugin/settings/checkattach.vim similarity index 100% rename from .config/nvim/plugin/settings/checkattach.vim rename to .config/nvim-vimscript/plugin/settings/checkattach.vim diff --git a/.config/nvim/plugin/settings/coc.vim b/.config/nvim-vimscript/plugin/settings/coc.vim similarity index 100% rename from .config/nvim/plugin/settings/coc.vim rename to .config/nvim-vimscript/plugin/settings/coc.vim diff --git a/.config/nvim/plugin/settings/ctrlp.vim b/.config/nvim-vimscript/plugin/settings/ctrlp.vim similarity index 100% rename from .config/nvim/plugin/settings/ctrlp.vim rename to .config/nvim-vimscript/plugin/settings/ctrlp.vim diff --git a/.config/nvim/plugin/settings/deoplete.vim b/.config/nvim-vimscript/plugin/settings/deoplete.vim similarity index 100% rename from .config/nvim/plugin/settings/deoplete.vim rename to .config/nvim-vimscript/plugin/settings/deoplete.vim diff --git a/.config/nvim/plugin/settings/editorconfig.vim b/.config/nvim-vimscript/plugin/settings/editorconfig.vim similarity index 100% rename from .config/nvim/plugin/settings/editorconfig.vim rename to .config/nvim-vimscript/plugin/settings/editorconfig.vim diff --git a/.config/nvim/plugin/settings/fzf.vim b/.config/nvim-vimscript/plugin/settings/fzf.vim similarity index 100% rename from .config/nvim/plugin/settings/fzf.vim rename to .config/nvim-vimscript/plugin/settings/fzf.vim diff --git a/.config/nvim/plugin/settings/lessspace.vim b/.config/nvim-vimscript/plugin/settings/lessspace.vim similarity index 100% rename from .config/nvim/plugin/settings/lessspace.vim rename to .config/nvim-vimscript/plugin/settings/lessspace.vim diff --git a/.config/nvim/plugin/settings/localvimrc.vim b/.config/nvim-vimscript/plugin/settings/localvimrc.vim similarity index 100% rename from .config/nvim/plugin/settings/localvimrc.vim rename to .config/nvim-vimscript/plugin/settings/localvimrc.vim diff --git a/.config/nvim/plugin/settings/nerdtree.vim b/.config/nvim-vimscript/plugin/settings/nerdtree.vim similarity index 100% rename from .config/nvim/plugin/settings/nerdtree.vim rename to .config/nvim-vimscript/plugin/settings/nerdtree.vim diff --git a/.config/nvim/plugin/settings/notes.vim b/.config/nvim-vimscript/plugin/settings/notes.vim similarity index 100% rename from .config/nvim/plugin/settings/notes.vim rename to .config/nvim-vimscript/plugin/settings/notes.vim diff --git a/.config/nvim/plugin/settings/silversearcher.vim b/.config/nvim-vimscript/plugin/settings/silversearcher.vim similarity index 100% rename from .config/nvim/plugin/settings/silversearcher.vim rename to .config/nvim-vimscript/plugin/settings/silversearcher.vim diff --git a/.config/nvim/plugin/settings/startify.vim b/.config/nvim-vimscript/plugin/settings/startify.vim similarity index 100% rename from .config/nvim/plugin/settings/startify.vim rename to .config/nvim-vimscript/plugin/settings/startify.vim diff --git a/.config/nvim/plugin/settings/syntastic.vim b/.config/nvim-vimscript/plugin/settings/syntastic.vim similarity index 100% rename from .config/nvim/plugin/settings/syntastic.vim rename to .config/nvim-vimscript/plugin/settings/syntastic.vim diff --git a/.config/nvim/plugin/settings/telescope.vim b/.config/nvim-vimscript/plugin/settings/telescope.vim similarity index 100% rename from .config/nvim/plugin/settings/telescope.vim rename to .config/nvim-vimscript/plugin/settings/telescope.vim diff --git a/.config/nvim/plugin/settings/ultisnips.vim b/.config/nvim-vimscript/plugin/settings/ultisnips.vim similarity index 100% rename from .config/nvim/plugin/settings/ultisnips.vim rename to .config/nvim-vimscript/plugin/settings/ultisnips.vim diff --git a/.config/nvim/plugin/settings/vim_markdown.vim b/.config/nvim-vimscript/plugin/settings/vim_markdown.vim similarity index 100% rename from .config/nvim/plugin/settings/vim_markdown.vim rename to .config/nvim-vimscript/plugin/settings/vim_markdown.vim diff --git a/.config/nvim/plugin/settings/vimmail.vim b/.config/nvim-vimscript/plugin/settings/vimmail.vim similarity index 100% rename from .config/nvim/plugin/settings/vimmail.vim rename to .config/nvim-vimscript/plugin/settings/vimmail.vim diff --git a/.config/nvim/plugin/settings/vimwiki.vim b/.config/nvim-vimscript/plugin/settings/vimwiki.vim similarity index 100% rename from .config/nvim/plugin/settings/vimwiki.vim rename to .config/nvim-vimscript/plugin/settings/vimwiki.vim diff --git a/.config/nvim/plugin/settings/wilder.vim b/.config/nvim-vimscript/plugin/settings/wilder.vim similarity index 100% rename from .config/nvim/plugin/settings/wilder.vim rename to .config/nvim-vimscript/plugin/settings/wilder.vim From c912eea836f779d980aeece8923c43ee7a07aae2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 21 Nov 2022 14:54:21 +0100 Subject: [PATCH 0433/2080] Move vimscript conf to a dedicated dir --- .config/nvim-vimscript/plugin/settings/spell.vim | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .config/nvim-vimscript/plugin/settings/spell.vim diff --git a/.config/nvim-vimscript/plugin/settings/spell.vim b/.config/nvim-vimscript/plugin/settings/spell.vim new file mode 100644 index 00000000..e11cc720 --- /dev/null +++ b/.config/nvim-vimscript/plugin/settings/spell.vim @@ -0,0 +1,10 @@ +" XXX disabled as it breaks mostly all spell checks +" Disable spell for capital-staring and camelcase words +" https://stackoverflow.com/questions/18196399/exclude-capitalized-words-from-vim-spell-check +" fun! IgnoreCamelCaseSpell() +" syn match myExCapitalWords +\<\w*[A-Z]\K*\>\|'s+ contains=@NoSpell transparent +" syn cluster Spell add=myExCapitalWords +" syn match CamelCase /\<[A-Z][a-z]\+[A-Z].\{-}\>/ contains=@NoSpell transparent +" syn cluster Spell add=CamelCase +" endfun +" autocmd BufRead,BufNewFile * :call IgnoreCamelCaseSpell() From b667a70938b74557369503230e8c62a2dd50eaf9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 21 Nov 2022 14:55:14 +0100 Subject: [PATCH 0434/2080] init.lua: update mapptings, split conf --- .config/nvim/init.lua | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index ec3c98cd..ff6783e2 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -39,10 +39,6 @@ g.loaded_node_provider = 0 g.loaded_perl_provider = 0 g.loaded_ruby_provider = 0 --- Custom mapping <leader> (see `:h mapleader` for more info) -g.mapleader = " " -g.maplocalleader = "," - -- Enable highlighting for lua, Python and Ruby HERE doc inside script g.vimsyn_embed = "lPr" @@ -94,6 +90,7 @@ opt.relativenumber = true -- Create new window below current one. opt.splitbelow = true +opt.splitright = true -- Highlight problematic whitespace opt.list = true @@ -120,6 +117,19 @@ opt.background = "dark" -- }}} -- Key mappings {{{ +-- Modes +-- normal_mode = "n", +-- insert_mode = "i", +-- visual_mode = "v", +-- visual_block_mode = "x", +-- term_mode = "t", +-- command_mode = "c", +local opts = { noremap = true, silent = true } +local term_opts = { silent = true } +-- Custom mapping <leader> (see `:h mapleader` for more info) +-- keymap.set("", "<Space>", "<Nop>", opts) +g.mapleader = " " +g.maplocalleader = " " -- Use jk as ESC for leaving insert mode keymap.set("i", "jk", "<Esc>") -- Turn the word under cursor to upper case @@ -132,6 +142,14 @@ keymap.set("i", "<C-E>", "<END>") -- Go to beginning and ebd of of command in command-line mode keymap.set("c", "<C-A>", "<HOME>") keymap.set("c", "<C-E>", "<END>") +-- Navigate buffers +keymap.set("n", "<S-l>", ":bnext<CR>", opts) +keymap.set("n", "<S-h>", ":bprevious<CR>", opts) +-- Better terminal navigation +keymap.set("t", "<C-h>", "<C-\\><C-N><C-w>h", term_opts) +keymap.set("t", "<C-j>", "<C-\\><C-N><C-w>j", term_opts) +keymap.set("t", "<C-k>", "<C-\\><C-N><C-w>k", term_opts) +keymap.set("t", "<C-l>", "<C-\\><C-N><C-w>l", term_opts) -- }}} -- Bootstrap packer and install plugins From 32850c18bbc7b6d7fbe2f91ed7f0d5453674f26e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 21 Nov 2022 14:55:55 +0100 Subject: [PATCH 0435/2080] lsp: skip testing for pylsp presence, fix clangd LSP --- .config/nvim/lua/config/lsp.lua | 36 +++++++++++++++------------------ 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 9fc145c0..07999416 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -146,27 +146,23 @@ require("lspconfig")["marksman"].setup({ on_attach = on_attach, flags = lsp_flags, }) -if utils.executable("pylsp") then - require("lspconfig")["pylsp"].setup({ - on_attach = on_attach, - flags = lsp_flags, - settings = { - pylsp = { - plugins = { - pylint = { enabled = true, executable = "pylint" }, - pyflakes = { enabled = false }, - pycodestyle = { enabled = false }, - jedi_completion = { fuzzy = true }, - pyls_isort = { enabled = true }, - pylsp_mypy = { enabled = true }, - }, +require("lspconfig")["pylsp"].setup({ + on_attach = on_attach, + flags = lsp_flags, + settings = { + pylsp = { + plugins = { + pylint = { enabled = true, executable = "pylint" }, + pyflakes = { enabled = false }, + pycodestyle = { enabled = false }, + jedi_completion = { fuzzy = true }, + pyls_isort = { enabled = true }, + pylsp_mypy = { enabled = true }, }, }, - capabilities = capabilities, - }) -else - vim.notify("pylsp not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end + }, + capabilities = capabilities, +}) if utils.executable("lua-language-server") then require("lspconfig")["sumneko_lua"].setup({ @@ -229,7 +225,7 @@ end if utils.executable("clangd") then lspconfig.clangd.setup({ - on_attach = custom_attach, + on_attach = on_attach, capabilities = capabilities, filetypes = { "c", "cpp", "cc" }, flags = { From a8272983f787abd668ac898ac67bc13a01b91bc1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 21 Nov 2022 14:56:31 +0100 Subject: [PATCH 0436/2080] null-ls: fix syntax, use custom markdownlint conf --- .config/nvim/.markdownlint.json | 15 +++++++++++++++ .config/nvim/lua/config/null-ls.lua | 8 +++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 .config/nvim/.markdownlint.json diff --git a/.config/nvim/.markdownlint.json b/.config/nvim/.markdownlint.json new file mode 100644 index 00000000..01de0495 --- /dev/null +++ b/.config/nvim/.markdownlint.json @@ -0,0 +1,15 @@ +{ + "MD013": { + "line_length": 120, + "code_blocks": false, + "tables": false + }, + "MD014": false, + "MD024": false, + "MD026": { + "punctuation": ".,:;!" + }, + { + "MD041": false + } +} diff --git a/.config/nvim/lua/config/null-ls.lua b/.config/nvim/lua/config/null-ls.lua index b84e9760..228ab866 100644 --- a/.config/nvim/lua/config/null-ls.lua +++ b/.config/nvim/lua/config/null-ls.lua @@ -1,4 +1,6 @@ -- https://smarttech101.com/nvim-lsp-set-up-null-ls-for-beginners/ +-- https://github.com/Clumsy-Coder/dotfiles/commit/e81edc159f3fc9ef189e0300d280461e75732a4b +local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) local null_ls = require("null-ls") -- Available builtins: https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md @@ -15,7 +17,9 @@ null_ls.setup({ null_ls.builtins.formatting.stylua, -- diagnostics null_ls.builtins.diagnostics.alex, - null_ls.builtins.diagnostics.markdownlint, + null_ls.builtins.diagnostics.markdownlint.with({ + extra_args = { "--config", vim.fn.expand("~/.config/nvim/.markdownlint.json") }, + }), null_ls.builtins.diagnostics.shellcheck, -- null_ls.builtins.diagnostics.ansiblelint, -- null_ls.builtins.diagnostics.checkmake, @@ -23,6 +27,8 @@ null_ls.setup({ -- completion -- XXX spell is disabled -- null_ls.builtins.completion.spell, + -- hover + null_ls.builtins.hover.dictionary, -- dictionary }, -- format file on save -- you can reuse a shared lspconfig on_attach callback here From 78a76a577246d9942087b77dcdf641e40e84d22b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 21 Nov 2022 14:57:52 +0100 Subject: [PATCH 0437/2080] plugins.lua: nvim-tree, bufferline, nvim-surrount, which-key --- .config/nvim/lua/plugins.lua | 121 ++++++++++++++++++++++++++++++----- 1 file changed, 104 insertions(+), 17 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 46621f30..274318e8 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -117,6 +117,18 @@ return require("packer").startup(function(use) end, }) + -- displays a popup with possible key bindings + use({ + "folke/which-key.nvim", + config = function() + require("which-key").setup({ + window = { + border = "single", -- none, single, double, shadow + }, + }) + end, + }) + -- Clean spaces at EOL for lines that are edited use("thirtythreeforty/lessspace.vim") @@ -136,7 +148,18 @@ return require("packer").startup(function(use) -- sdt: delete surrounding tag -- sr: sandwich replace -- sr_`: replace _ by ` - use("machakann/vim-sandwich") + -- use("machakann/vim-sandwich") + -- Alternative to vim-sandwich to try to get which-key working + use({ + "kylechui/nvim-surround", + tag = "*", -- Use for stability; omit to use `main` branch for the latest features + config = function() + require("nvim-surround").setup({ + -- Configuration here, or leave empty to use defaults + }) + end, + }) + use({ "michaeljsmith/vim-indent-object", event = "VimEnter" }) -- Since tmux is only available on Linux and Mac, we only enable these plugins @@ -162,11 +185,19 @@ return require("packer").startup(function(use) n = { ["<c-t>"] = trouble.open_with_trouble }, }, }, + extensions = { + yank_history = { + layout_strategy = "vertical", + }, + }, }) + telescope.load_extension("yank_history") vim.keymap.set("n", "<leader>ff", builtin.find_files, {}) + vim.keymap.set("n", "<C-P>", builtin.find_files, {}) vim.keymap.set("n", "<leader>fg", builtin.live_grep, {}) vim.keymap.set("n", "<leader>fb", builtin.buffers, {}) vim.keymap.set("n", "<leader>fh", builtin.help_tags, {}) + vim.keymap.set("n", "<leader>fy", "<cmd>:Telescope yank_history<cr>", {}) end, }) -- pretty list for showing diagnostics, references, telescope results, quickfix and location lists @@ -216,30 +247,78 @@ return require("packer").startup(function(use) event = "VimEnter", }) - -- Linting and formatting - -- XXX replaced by null-ls - -- use { - -- 'w0rp/ale', - -- -- ft = {'sh', 'zsh', 'bash', 'c', 'cpp', 'cmake', 'html', 'markdown', 'racket', 'vim', 'tex'}, - -- cmd = 'ALEEnable', - -- } - - -- Post-install/update hook with neovim command use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) -- open last postiion in file use("farmergreg/vim-lastplace") + -- Manage undo use("simnalamburt/vim-mundo") - -- Post-install/update hook with call of vimscript function with argument - -- use { 'glacambre/firenvim', run = function() vim.fn['firenvim#install'](0) end } + -- netrw replacement + use({ + "kyazdani42/nvim-tree.lua", + config = function() + require("nvim-tree").setup({}) + vim.keymap.set("n", "<leader>e", "<cmd>:NvimTreeToggle<cr>", { silent = true, noremap = true }) + end, + requires = { + "nvim-tree/nvim-web-devicons", + }, + }) - -- Use specific branch, dependency and run lua file after load - -- use { - -- 'glepnir/galaxyline.nvim', branch = 'main', config = function() require'statusline' end, - -- requires = {'kyazdani42/nvim-web-devicons'} - -- } + -- + use({ + "akinsho/bufferline.nvim", + tag = "v3.*", + config = function() + require("bufferline").setup({}) + end, + }) + + -- org-mode like + -- https://github.com/nvim-neorg/neorg + use({ + "nvim-neorg/neorg", + -- tag = "*", + ft = "norg", + after = "nvim-treesitter", -- You may want to specify Telescope here as well + config = function() + require("neorg").setup({ + load = { + -- Load everything + ["core.defaults"] = {}, + ["core.norg.dirman"] = { + config = { + workspaces = { + work = "~/notes/work", + home = "~/notes/home", + }, + }, + }, + }, + }) + end, + }) + + -- Better yank management + use({ + "gbprod/yanky.nvim", + config = function() + require("yanky").setup({}) + vim.keymap.set({ "n", "x" }, "p", "<Plug>(YankyPutAfter)") + vim.keymap.set({ "n", "x" }, "P", "<Plug>(YankyPutBefore)") + vim.keymap.set({ "n", "x" }, "gp", "<Plug>(YankyGPutAfter)") + vim.keymap.set({ "n", "x" }, "gP", "<Plug>(YankyGPutBefore)") + vim.keymap.set("n", "<c-n>", "<Plug>(YankyCycleForward)") + vim.keymap.set("n", "<c-p>", "<Plug>(YankyCycleBackward)") + end, + }) + + -- Automatically create missing directories on saving a file + use({ + "jghauser/mkdir.nvim", + }) -- Use dracula theme -- use({ @@ -295,6 +374,14 @@ return require("packer").startup(function(use) end, }) + -- Use neovim to edit textarea in browsers + use({ + "glacambre/firenvim", + run = function() + vim.fn["firenvim#install"](0) + end, + }) + -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins if packer_bootstrap then From f2e559af2e2b7f765000bbacf16db9b7bb26698c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 21 Nov 2022 15:04:03 +0100 Subject: [PATCH 0438/2080] plugins.lua: use ltex-ls --- .config/nvim/lua/plugins.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 274318e8..ff54280f 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -107,6 +107,14 @@ return require("packer").startup(function(use) require("config.mason-tool-installer") end, }) + -- Using ltex-ls for spellchecking + use({ + "vigoux/ltex-ls.nvim", + config = function() + require("ltex-ls").setup({}) + end, + requires = "neovim/nvim-lspconfig", + }) -- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. -- Use different binaries as sources, like prettier From 82ec5102ef38b14cd5ef5ea1da2b79a1739320ee Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 21 Nov 2022 16:52:38 +0100 Subject: [PATCH 0439/2080] init.lua: enable spelling --- .config/nvim/init.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index ff6783e2..d165e467 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,6 +1,8 @@ -- https://github.com/jdhao/nvim-config -- https://github.com/LunarVim/LunarVim/ -- https://github.com/wbthomason/dotfiles/blob/main/dot_config/nvim/init.lua +-- https://git.vigoux.giize.com/nvim-config/blob/master/lua/plugins.lua +-- https://github.com/rockerBOO/awesome-neovim local g = vim.g local keymap = vim.keymap @@ -101,6 +103,11 @@ opt.listchars = { nbsp = ".", } +-- spell - used by ltex-ls too +opt.spelllang = { "en", "fr" } +opt.spellfile = table.concat(vim.api.nvim_get_runtime_file("spell/*.add", true) or {}, ",") +opt.spelloptions = { "noplainbuffer" } + -- Search configuration opt.ignorecase = true From 98194d8c34feebd2d2b1a04803aa873998e0e415 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 21 Nov 2022 16:53:45 +0100 Subject: [PATCH 0440/2080] nvim: improve ltex-ls usage --- .config/nvim/lua/config/lsp.lua | 52 +++++++++++++++++++++++++++++---- .config/nvim/lua/plugins.lua | 28 ++++++++---------- 2 files changed, 58 insertions(+), 22 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 07999416..f4f14079 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -138,15 +138,55 @@ local lsp_flags = { -- This is the default in Nvim 0.7+ debounce_text_changes = 150, } -lspconfig["ltex"].setup({ + +-- ltex-ls +-- https://git.vigoux.giize.com/nvim-config/blob/master/lua/lsp_config.lua +require("ltex-ls").setup({ on_attach = on_attach, - flags = lsp_flags, + capabilities = capabilities, + use_spellfile = true, + filetypes = { "latex", "tex", "bib", "markdown", "gitcommit", "text" }, + settings = { + ltex = { + checkFrequency = "save", + enabled = { "latex", "tex", "bib", "markdown" }, + language = "auto", + diagnosticSeverity = "information", + additionalRules = { + enablePickyRules = true, + motherTongue = "fr", + }, + disabledRules = { + en = { "TOO_LONG_SENTENCE" }, + fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, + }, + dictionary = (function() + local files = {} + for _, file in ipairs(vim.api.nvim_get_runtime_file("spell/*.add", true)) do + local lang = vim.fn.fnamemodify(file, ":t:r:r") -- Because 'spellfile' is .{encoding}.add + local fullpath = vim.fs.normalize(file, ":p") + files[lang] = { ":" .. fullpath } + end + + if files.default then + for lang, _ in pairs(files) do + if lang ~= "default" then + vim.list_extend(files[lang], files.default) + end + end + files.default = nil + end + return files + end)(), + }, + }, }) -require("lspconfig")["marksman"].setup({ + +lspconfig["marksman"].setup({ on_attach = on_attach, flags = lsp_flags, }) -require("lspconfig")["pylsp"].setup({ +lspconfig["pylsp"].setup({ on_attach = on_attach, flags = lsp_flags, settings = { @@ -165,7 +205,7 @@ require("lspconfig")["pylsp"].setup({ }) if utils.executable("lua-language-server") then - require("lspconfig")["sumneko_lua"].setup({ + lspconfig["sumneko_lua"].setup({ on_attach = on_attach, flags = lsp_flags, settings = { @@ -198,7 +238,7 @@ else end if utils.executable("vim-language-server") then - require("lspconfig")["vimls"].setup({ + lspconfig["vimls"].setup({ on_attach = on_attach, capabilities = capabilities, flags = { diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index ff54280f..9aa11032 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -110,9 +110,6 @@ return require("packer").startup(function(use) -- Using ltex-ls for spellchecking use({ "vigoux/ltex-ls.nvim", - config = function() - require("ltex-ls").setup({}) - end, requires = "neovim/nvim-lspconfig", }) @@ -150,21 +147,20 @@ return require("packer").startup(function(use) }) -- Easy change of surrounding stuff (tags, quotes...) - -- sa: sandwich add + text object + text - -- saw`: surround word with ` - -- sd: sandwich delete - -- sdt: delete surrounding tag - -- sr: sandwich replace - -- sr_`: replace _ by ` - -- use("machakann/vim-sandwich") - -- Alternative to vim-sandwich to try to get which-key working + -- :h nvim-surround.usage + -- Alternative to vim-sandwich to get which-key working + -- ys: You Surround + text object + text + -- ysiw(: surround with () with spaces + -- ysiw): surround with () with no spaces + -- ds: Delete Surround + -- ds) + -- cs: Change Surround + -- cs'": change quotes around a text use({ "kylechui/nvim-surround", tag = "*", -- Use for stability; omit to use `main` branch for the latest features config = function() - require("nvim-surround").setup({ - -- Configuration here, or leave empty to use defaults - }) + require("nvim-surround").setup({}) end, }) @@ -268,7 +264,7 @@ return require("packer").startup(function(use) "kyazdani42/nvim-tree.lua", config = function() require("nvim-tree").setup({}) - vim.keymap.set("n", "<leader>e", "<cmd>:NvimTreeToggle<cr>", { silent = true, noremap = true }) + vim.keymap.set("n", "<leader>T", "<cmd>NvimTreeToggle<cr>", { silent = true, noremap = true }) end, requires = { "nvim-tree/nvim-web-devicons", @@ -278,7 +274,7 @@ return require("packer").startup(function(use) -- use({ "akinsho/bufferline.nvim", - tag = "v3.*", + tag = "*", config = function() require("bufferline").setup({}) end, From bbf3e7dd139fc65ccd8aa2c787a303222394d0c8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 21 Nov 2022 17:21:48 +0100 Subject: [PATCH 0441/2080] init.lua: update status --- .config/nvim/init.lua | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index d165e467..dcdd30bd 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -10,15 +10,12 @@ local opt = vim.opt -- Missing -- * Word completion from words in all buffers --- * Syntax checking --- * Automatic linting/formatting using prettier -- * spell check using ltex, allowing to add exception to a custom file --- * Y to copy a full line --- * mutt setup --- * which-key to give hints on keys --- * Mason install all LSP + linterss, like pylint --- * Autoindent when adding new lines/codes: ie. use {"wasa/asas", ... } --- * Fix bootstrap +-- * mutt/mail setup: +-- * https://opensource.com/article/20/1/vim-email-calendar +-- * https://github.com/soywod/himalaya +-- * https://git.sr.ht/~soywod/himalaya-vim +-- * Test Neorg: https://github.com/nvim-neorg/neorg -- Speed up startup local i_installed, impatient = pcall(require, "impatient") From b2bfff3826308425d85af47e8d4e17f833bf80ab Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 22:01:48 +0100 Subject: [PATCH 0442/2080] Ignore packer_compiled.lua --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7565cf2b..6667a4da 100644 --- a/.gitignore +++ b/.gitignore @@ -74,6 +74,7 @@ .config/libreoffice/ .config/neomutt/history .config/nvim/plugged/ +.config/nvim/plugin/packer_compiled.lua .config/nvim/words.txt .config/obsidian/ .config/pulse/ From 5fa075f563e1536482d1d95432dc7288cf9cc8fa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 22:02:30 +0100 Subject: [PATCH 0443/2080] init.lua: folding and autoindent --- .config/nvim/init.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index dcdd30bd..617d1533 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -3,12 +3,14 @@ -- https://github.com/wbthomason/dotfiles/blob/main/dot_config/nvim/init.lua -- https://git.vigoux.giize.com/nvim-config/blob/master/lua/plugins.lua -- https://github.com/rockerBOO/awesome-neovim +-- Requirements +-- GNU/Linux: xsel local g = vim.g local keymap = vim.keymap local opt = vim.opt --- Missing +-- Missing {{{ -- * Word completion from words in all buffers -- * spell check using ltex, allowing to add exception to a custom file -- * mutt/mail setup: @@ -16,6 +18,7 @@ local opt = vim.opt -- * https://github.com/soywod/himalaya -- * https://git.sr.ht/~soywod/himalaya-vim -- * Test Neorg: https://github.com/nvim-neorg/neorg +-- }}} -- Speed up startup local i_installed, impatient = pcall(require, "impatient") @@ -79,6 +82,8 @@ opt.expandtab = true opt.shiftwidth = 2 opt.tabstop = 2 opt.softtabstop = 2 +opt.smartindent = true +opt.autoindent = true -- For devicons on vim opt.encoding = "UTF-8" @@ -114,6 +119,10 @@ opt.undodir = vim.fn.expand("~/.local/share/nvim/undodir") -- Folding with markers opt.foldmethod = "marker" +opt.foldcolumn = "1" +opt.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value +opt.foldlevelstart = 99 +opt.foldenable = true -- Theme opt.termguicolors = true From 5ffb4e79fd8ef2df0832004df93c4c429febdad1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 22:10:40 +0100 Subject: [PATCH 0444/2080] nvim: no more run packsersync automatically --- .config/nvim/lua/plugins.lua | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 9aa11032..f1652a9b 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -16,12 +16,13 @@ end local packer_bootstrap = ensure_packer() -- Autocommand that reloads neovim whenever you save the plugins.lua file -vim.cmd([[ - augroup packer_user_config - autocmd! - autocmd BufWritePost plugins.lua source <afile> | PackerSync - augroup end -]]) +-- XXX disabled, a bit too annoying :) +-- vim.cmd([[ +-- augroup packer_user_config +-- autocmd! +-- autocmd BufWritePost plugins.lua source <afile> | PackerSync +-- augroup end +-- ]]) -- Use a protected call so we don't error out on first use local status_ok, packer = pcall(require, "packer") From ba17dfb1652cb1b7062195b9a901bf5e83d0a806 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 22:11:33 +0100 Subject: [PATCH 0445/2080] nvim: fold --- .config/nvim/lua/plugins.lua | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index f1652a9b..47688aba 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -252,7 +252,27 @@ return require("packer").startup(function(use) event = "VimEnter", }) + -- fold management + use({ + "kevinhwang91/nvim-ufo", + requires = "kevinhwang91/promise-async", + config = function() + require("ufo").setup({ + provider_selector = function(bufnr, filetype, buftype) + return { "treesitter", "indent" } + end, + }) + -- Using ufo provider need remap `zR` and `zM`. + vim.keymap.set("n", "zR", require("ufo").openAllFolds) + vim.keymap.set("n", "zM", require("ufo").closeAllFolds) + end, + }) + + -- Treesitter configurations and abstraction layer for Neovim. + -- Tree-sitter is a parser generator tool and an incremental parsing library. use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) + -- Syntax aware text-objects, select, move, swap, and peek support. + -- use({ "nvim-treesitter/nvim-treesitter-textobjects" }) -- open last postiion in file use("farmergreg/vim-lastplace") @@ -272,7 +292,7 @@ return require("packer").startup(function(use) }, }) - -- + -- list and switch between buffers use({ "akinsho/bufferline.nvim", tag = "*", From 09a0e175ba00cff354e6780e99b4771a222ad94f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 22:12:05 +0100 Subject: [PATCH 0446/2080] nvim: project management --- .config/nvim/lua/plugins.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 47688aba..89f780b2 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -197,12 +197,14 @@ return require("packer").startup(function(use) }, }) telescope.load_extension("yank_history") + -- require("telescope").extensions.projects.projects({}) vim.keymap.set("n", "<leader>ff", builtin.find_files, {}) vim.keymap.set("n", "<C-P>", builtin.find_files, {}) vim.keymap.set("n", "<leader>fg", builtin.live_grep, {}) vim.keymap.set("n", "<leader>fb", builtin.buffers, {}) vim.keymap.set("n", "<leader>fh", builtin.help_tags, {}) vim.keymap.set("n", "<leader>fy", "<cmd>:Telescope yank_history<cr>", {}) + -- vim.keymap.set("n", "<leader>fp", "<cmd>:Telescope projects<cr>", {}) end, }) -- pretty list for showing diagnostics, references, telescope results, quickfix and location lists @@ -301,6 +303,19 @@ return require("packer").startup(function(use) end, }) + -- project management + use({ + "ahmedkhalf/project.nvim", + config = function() + require("project_nvim").setup({ + silent_chdir = false, + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + }) + end, + }) + -- org-mode like -- https://github.com/nvim-neorg/neorg use({ From d6a288ae83004614b048ae85f5a99e67f0245542 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 22:12:21 +0100 Subject: [PATCH 0447/2080] nvim: startup page --- .config/nvim/lua/plugins.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 89f780b2..2958b66a 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -404,6 +404,15 @@ return require("packer").startup(function(use) event = "BufRead", }) + -- a fast and fully programmable greeter for neovim. + use({ + "goolord/alpha-nvim", + requires = { "kyazdani42/nvim-web-devicons" }, + config = function() + require("alpha").setup(require("alpha.themes.startify").config) + end, + }) + -- Notifications use("rcarriga/nvim-notify") -- use 'vigoux/notifier.nvim' From 06673c90a10da778ef8f648f3f3e4b1c837d8af5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 22:12:52 +0100 Subject: [PATCH 0448/2080] nvim: comment --- .config/nvim/lua/plugins.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 2958b66a..1f0ea73f 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -360,6 +360,7 @@ return require("packer").startup(function(use) "jghauser/mkdir.nvim", }) + -- UI, UX, look and feel good -- Use dracula theme -- use({ -- "dracula/vim", as = "dracula", From 68b22e120203a2eff01fb89d9a52e7737ef71002 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 22:39:52 +0100 Subject: [PATCH 0449/2080] nvim: auto packercompile --- .config/nvim/lua/plugins.lua | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 1f0ea73f..d9b14d83 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -16,13 +16,12 @@ end local packer_bootstrap = ensure_packer() -- Autocommand that reloads neovim whenever you save the plugins.lua file --- XXX disabled, a bit too annoying :) --- vim.cmd([[ --- augroup packer_user_config --- autocmd! --- autocmd BufWritePost plugins.lua source <afile> | PackerSync --- augroup end --- ]]) +vim.cmd([[ + augroup packer_user_config + autocmd! + autocmd BufWritePost plugins.lua source <afile> | PackerCompile + augroup end +]]) -- Use a protected call so we don't error out on first use local status_ok, packer = pcall(require, "packer") From 73e90da3d8341098c8aecc206b16d3baf7a03453 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 22:40:10 +0100 Subject: [PATCH 0450/2080] nvim: projects and telescope --- .config/nvim/lua/plugins.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index d9b14d83..456a984f 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -196,14 +196,11 @@ return require("packer").startup(function(use) }, }) telescope.load_extension("yank_history") - -- require("telescope").extensions.projects.projects({}) vim.keymap.set("n", "<leader>ff", builtin.find_files, {}) - vim.keymap.set("n", "<C-P>", builtin.find_files, {}) vim.keymap.set("n", "<leader>fg", builtin.live_grep, {}) vim.keymap.set("n", "<leader>fb", builtin.buffers, {}) vim.keymap.set("n", "<leader>fh", builtin.help_tags, {}) vim.keymap.set("n", "<leader>fy", "<cmd>:Telescope yank_history<cr>", {}) - -- vim.keymap.set("n", "<leader>fp", "<cmd>:Telescope projects<cr>", {}) end, }) -- pretty list for showing diagnostics, references, telescope results, quickfix and location lists @@ -312,6 +309,9 @@ return require("packer").startup(function(use) -- or leave it empty to use the default settings -- refer to the configuration section below }) + require("telescope").load_extension("projects") + vim.keymap.set("n", "<c-p>", "<cmd>:lua require('telescope').extensions.projects.projects{}<cr>", {}) + vim.keymap.set("n", "<leader>fp", "<cmd>:lua require('telescope').extensions.projects.projects{}<cr>", {}) end, }) @@ -359,7 +359,7 @@ return require("packer").startup(function(use) "jghauser/mkdir.nvim", }) - -- UI, UX, look and feel good + -- UI, UX, look and fgeel good -- Use dracula theme -- use({ -- "dracula/vim", as = "dracula", From 268b594cb4554b05d5fcfbefd74b4c411c5db086 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 21 Nov 2022 22:57:14 +0100 Subject: [PATCH 0451/2080] nvim: doc --- .config/nvim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 617d1533..0e8e723d 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -3,6 +3,7 @@ -- https://github.com/wbthomason/dotfiles/blob/main/dot_config/nvim/init.lua -- https://git.vigoux.giize.com/nvim-config/blob/master/lua/plugins.lua -- https://github.com/rockerBOO/awesome-neovim +-- https://github.com/nanotee/nvim-lua-guide -- Requirements -- GNU/Linux: xsel From 24888f1c335636451cfc96927ee8810bb0d69685 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 11:36:49 +0100 Subject: [PATCH 0452/2080] mail.vim: update options --- .config/nvim/ftplugin/mail.vim | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.config/nvim/ftplugin/mail.vim b/.config/nvim/ftplugin/mail.vim index 8f4a39ac..3044ef9b 100644 --- a/.config/nvim/ftplugin/mail.vim +++ b/.config/nvim/ftplugin/mail.vim @@ -4,8 +4,6 @@ " setlocal spell " No indentation when copying set nocopyindent -" Expand spaces to tabs -set expandtab " Automatic line wrap " max line length @@ -51,7 +49,7 @@ let g:VimMailContactsProvider=['khard'] " XXX Don't want to remove trailing spaces in emails! " XXX disabled while testing lessspace.vim " let g:ale_fix_on_save = 0 -let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,FRENCH_WITHESPACE' +" let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,FRENCH_WITHESPACE' " Hide ALE error list window let g:ale_open_list = 0 From eeee64336ff46c1836bf579db9627f3ab1f4c7c9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 11:37:18 +0100 Subject: [PATCH 0453/2080] init.lua: update missing tasks, add more references --- .config/nvim/init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 0e8e723d..2ff05e2f 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -2,6 +2,7 @@ -- https://github.com/LunarVim/LunarVim/ -- https://github.com/wbthomason/dotfiles/blob/main/dot_config/nvim/init.lua -- https://git.vigoux.giize.com/nvim-config/blob/master/lua/plugins.lua +-- https://github.com/devinschulz/dotfiles/tree/master/nvim -- https://github.com/rockerBOO/awesome-neovim -- https://github.com/nanotee/nvim-lua-guide -- Requirements @@ -14,11 +15,13 @@ local opt = vim.opt -- Missing {{{ -- * Word completion from words in all buffers -- * spell check using ltex, allowing to add exception to a custom file +-- * Lookg for possibly duplicated keymaps -- * mutt/mail setup: -- * https://opensource.com/article/20/1/vim-email-calendar -- * https://github.com/soywod/himalaya -- * https://git.sr.ht/~soywod/himalaya-vim -- * Test Neorg: https://github.com/nvim-neorg/neorg +-- * Fix rainbow brackets -- }}} -- Speed up startup From 935859a7a95d047faede2149fb48bf4f4e4981e4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 11:38:03 +0100 Subject: [PATCH 0454/2080] plugins.lua: enable vimmail --- .config/nvim/lua/plugins.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 456a984f..b81f06aa 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -122,6 +122,18 @@ return require("packer").startup(function(use) end, }) + -- mail helper, mainly for searching for contacts + -- https://github.com/dbeniamine/vim-mail/tags + -- XXX move to gitlab project + -- https://gitlab.com/dbeniamine/vim-mail + use({ + "dbeniamine/vim-mail", + -- Complete emails address in every files + config = function() + vim.opt.completefunc = "vimmail#contacts#CompleteAddr" + end, + }) + -- displays a popup with possible key bindings use({ "folke/which-key.nvim", From 31700582b5a08f92b5f27d08ef63098fbda24daf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 11:38:42 +0100 Subject: [PATCH 0455/2080] plugins.lua: update nvim-cmp --- .config/nvim/lua/config/nvim-cmp.lua | 29 +++++++++++++++++++++++++--- .config/nvim/lua/plugins.lua | 6 +++++- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/.config/nvim/lua/config/nvim-cmp.lua b/.config/nvim/lua/config/nvim-cmp.lua index a0543393..be481c9f 100644 --- a/.config/nvim/lua/config/nvim-cmp.lua +++ b/.config/nvim/lua/config/nvim-cmp.lua @@ -52,7 +52,16 @@ cmp.setup({ sources = cmp.config.sources({ { name = "nvim_lsp" }, { name = "luasnip" }, -- For luasnip users. - { name = "buffer" }, + { + name = "buffer", + option = { + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end, + }, + }, + { name = "omni" }, + { name = "emoji", insert = true }, { name = "path" }, }), }) @@ -62,7 +71,14 @@ cmp.setup.filetype("gitcommit", { sources = cmp.config.sources({ { name = "cmp_git" }, -- You can specify the `cmp_git` source if you were installed it. }, { - { name = "buffer" }, + { + name = "buffer", + option = { + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end, + }, + }, { name = "path" }, }), }) @@ -71,7 +87,14 @@ cmp.setup.filetype("gitcommit", { cmp.setup.cmdline({ "/", "?" }, { mapping = cmp.mapping.preset.cmdline(), sources = { - { name = "buffer" }, + { + name = "buffer", + option = { + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end, + }, + }, }, }) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index b81f06aa..7ffb8290 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -59,6 +59,7 @@ return require("packer").startup(function(use) use({ "onsails/lspkind.nvim" }) -- nvim-cmp completion sources + -- https://github.com/topics/nvim-cmp -- Snippet engine and snippet template -- use { "SirVer/ultisnips", event = "InsertEnter" } -- use { "honza/vim-snippets" } @@ -73,9 +74,12 @@ return require("packer").startup(function(use) use({ "hrsh7th/cmp-buffer", after = "nvim-cmp" }) use({ "hrsh7th/cmp-cmdline", after = "nvim-cmp" }) use({ "saadparwaiz1/cmp_luasnip", after = "nvim-cmp" }) + -- https://github.com/uga-rosa/cmp-dictionary + -- https://github.com/lukas-reineke/cmp-rg -- Completion for some neovim lua API use({ "ii14/emmylua-nvim", ft = "lua" }) - -- use { "hrsh7th/cmp-omni", after = "nvim-cmp" } + -- Expecting to be able to get vimmail completion via omnifunc + use({ "hrsh7th/cmp-omni", after = "nvim-cmp" }) -- use { "petertriho/cmp-git", -- requires = "nvim-lua/plenary.nvim", -- config = function() require('cmp_git').setup() end From 8a7ed0a9f03ce693403f2bacedc0a2621085af49 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 11:39:59 +0100 Subject: [PATCH 0456/2080] which-key: take conf from lunarvim --- .config/nvim/lua/config/which-key.lua | 484 ++++++++++++++++++++++++++ .config/nvim/lua/plugins.lua | 7 +- 2 files changed, 486 insertions(+), 5 deletions(-) create mode 100644 .config/nvim/lua/config/which-key.lua diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua new file mode 100644 index 00000000..2346202a --- /dev/null +++ b/.config/nvim/lua/config/which-key.lua @@ -0,0 +1,484 @@ +local which_key = require("which-key") + +which_key.setup({ + window = { + border = "single", -- none, single, double, shadow + }, +}) + +-- wk.register({ +-- f = { +-- name = "file", -- optional group name +-- f = { "<cmd>Telescope find_files<cr>", "Find File" }, -- create a binding with label +-- r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File", noremap=false, buffer = 123 }, -- additional options for creating the keymap +-- n = { "New File" }, -- just a label. don't create any mapping +-- e = "Edit File", -- same as above +-- ["1"] = "which_key_ignore", -- special label to hide it in the popup +-- b = { function() print("bar") end, "Foobar" }, -- you can also pass functions! +-- ["/"] = { "<Plug>(comment_toggle_linewise_visual)", "Comment toggle linewise (visual)" }, +-- }, +-- }, { prefix = "<leader>" }) + +-- Mapping for normal mode +local opts = { + mode = "n", -- NORMAL mode + prefix = "<leader>", + buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings + silent = true, -- use `silent` when creating keymaps + noremap = true, -- use `noremap` when creating keymaps + nowait = true, -- use `nowait` when creating keymaps +} +local mappings = { + [";"] = { "<cmd>Alpha<CR>", "Dashboard" }, + ["w"] = { "<cmd>w!<CR>", "Save" }, + ["/"] = { "<Plug>(comment_toggle_linewise_current)", "Comment toggle current line" }, + ["c"] = { "<cmd>BufferKill<CR>", "Close Buffer" }, + -- ["f"] = { require("lvim.core.telescope.custom-finders").find_project_files, "Find File" }, + ["h"] = { "<cmd>nohlsearch<CR>", "No Highlight" }, + ["e"] = { "<cmd>NvimTreeToggle<CR>", "Explorer" }, + s = { + name = "Search", + b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, + c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" }, + f = { "<cmd>Telescope find_files<cr>", "Find File" }, + h = { "<cmd>Telescope help_tags<cr>", "Find Help" }, + H = { "<cmd>Telescope highlights<cr>", "Find highlight groups" }, + M = { "<cmd>Telescope man_pages<cr>", "Man Pages" }, + r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" }, + R = { "<cmd>Telescope registers<cr>", "Registers" }, + t = { "<cmd>Telescope live_grep<cr>", "Text" }, + k = { "<cmd>Telescope keymaps<cr>", "Keymaps" }, + C = { "<cmd>Telescope commands<cr>", "Commands" }, + p = { + "<cmd>lua require('telescope.builtin').colorscheme({enable_preview = true})<cr>", + "Colorscheme with Preview", + }, + }, + -- looks like duplicated + T = { + name = "Treesitter", + i = { ":TSConfigInfo<cr>", "Info" }, + }, + b = { + name = "Buffers", + j = { "<cmd>BufferLinePick<cr>", "Jump" }, + f = { "<cmd>Telescope buffers<cr>", "Find" }, + b = { "<cmd>BufferLineCyclePrev<cr>", "Previous" }, + n = { "<cmd>BufferLineCycleNext<cr>", "Next" }, + -- w = { "<cmd>BufferWipeout<cr>", "Wipeout" }, -- TODO: implement this for bufferline + e = { + "<cmd>BufferLinePickClose<cr>", + "Pick which buffer to close", + }, + h = { "<cmd>BufferLineCloseLeft<cr>", "Close all to the left" }, + l = { + "<cmd>BufferLineCloseRight<cr>", + "Close all to the right", + }, + D = { + "<cmd>BufferLineSortByDirectory<cr>", + "Sort by directory", + }, + L = { + "<cmd>BufferLineSortByExtension<cr>", + "Sort by language", + }, + }, + -- d = { + -- name = "Debug", + -- t = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Toggle Breakpoint" }, + -- b = { "<cmd>lua require'dap'.step_back()<cr>", "Step Back" }, + -- c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" }, + -- C = { "<cmd>lua require'dap'.run_to_cursor()<cr>", "Run To Cursor" }, + -- d = { "<cmd>lua require'dap'.disconnect()<cr>", "Disconnect" }, + -- g = { "<cmd>lua require'dap'.session()<cr>", "Get Session" }, + -- i = { "<cmd>lua require'dap'.step_into()<cr>", "Step Into" }, + -- o = { "<cmd>lua require'dap'.step_over()<cr>", "Step Over" }, + -- u = { "<cmd>lua require'dap'.step_out()<cr>", "Step Out" }, + -- p = { "<cmd>lua require'dap'.pause()<cr>", "Pause" }, + -- r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Toggle Repl" }, + -- s = { "<cmd>lua require'dap'.continue()<cr>", "Start" }, + -- q = { "<cmd>lua require'dap'.close()<cr>", "Quit" }, + -- U = { "<cmd>lua require'dapui'.toggle()<cr>", "Toggle UI" }, + -- }, + p = { + name = "Packer", + c = { "<cmd>PackerCompile<cr>", "Compile" }, + i = { "<cmd>PackerInstall<cr>", "Install" }, + -- r = { "<cmd>lua require('lvim.plugin-loader').recompile()<cr>", "Re-compile" }, + s = { "<cmd>PackerSync<cr>", "Sync" }, + S = { "<cmd>PackerStatus<cr>", "Status" }, + u = { "<cmd>PackerUpdate<cr>", "Update" }, + }, + -- + g = { + name = "Git", + -- g = { "<cmd>lua require 'lvim.core.terminal'.lazygit_toggle()<cr>", "Lazygit" }, + j = { "<cmd>lua require 'gitsigns'.next_hunk({navigation_message = false})<cr>", "Next Hunk" }, + k = { "<cmd>lua require 'gitsigns'.prev_hunk({navigation_message = false})<cr>", "Prev Hunk" }, + l = { "<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame" }, + p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" }, + r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" }, + R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" }, + s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" }, + u = { + "<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>", + "Undo Stage Hunk", + }, + o = { "<cmd>Telescope git_status<cr>", "Open changed file" }, + b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, + c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" }, + C = { + "<cmd>Telescope git_bcommits<cr>", + "Checkout commit(for current file)", + }, + d = { + "<cmd>Gitsigns diffthis HEAD<cr>", + "Git Diff", + }, + }, + l = { + name = "LSP", + a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" }, + d = { "<cmd>Telescope diagnostics bufnr=0 theme=get_ivy<cr>", "Buffer Diagnostics" }, + w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, + -- f = { require("lvim.lsp.utils").format, "Format" }, + i = { "<cmd>LspInfo<cr>", "Info" }, + I = { "<cmd>Mason<cr>", "Mason Info" }, + j = { + vim.diagnostic.goto_next, + "Next Diagnostic", + }, + k = { + vim.diagnostic.goto_prev, + "Prev Diagnostic", + }, + l = { vim.lsp.codelens.run, "CodeLens Action" }, + q = { vim.diagnostic.setloclist, "Quickfix" }, + r = { vim.lsp.buf.rename, "Rename" }, + s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" }, + S = { + "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", + "Workspace Symbols", + }, + e = { "<cmd>Telescope quickfix<cr>", "Telescope Quickfix" }, + }, +} + +-- Mapping for visual mode +local vopts = { + mode = "v", -- VISUAL mode + prefix = "<leader>", + buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings + silent = true, -- use `silent` when creating keymaps + noremap = true, -- use `noremap` when creating keymaps + nowait = true, -- use `nowait` when creating keymaps +} +-- NOTE: Prefer using : over <cmd> as the latter avoids going back in normal-mode. +-- see https://neovim.io/doc/user/map.html#:map-cmd +local vmappings = { + ["/"] = { "<Plug>(comment_toggle_linewise_visual)", "Comment toggle linewise (visual)" }, +} + +which_key.register(mappings, opts) +which_key.register(vmappings, vopts) + +-- local M = {} +-- M.config = function() +-- lvim.builtin.which_key = { +-- ---@usage disable which-key completely [not recommended] +-- active = true, +-- on_config_done = nil, +-- setup = { +-- plugins = { +-- marks = false, -- shows a list of your marks on ' and ` +-- registers = false, -- shows your registers on " in NORMAL or <C-r> in INSERT mode +-- -- the presets plugin, adds help for a bunch of default keybindings in Neovim +-- -- No actual key bindings are created +-- presets = { +-- operators = false, -- adds help for operators like d, y, ... +-- motions = false, -- adds help for motions +-- text_objects = false, -- help for text objects triggered after entering an operator +-- windows = false, -- default bindings on <c-w> +-- nav = false, -- misc bindings to work with windows +-- z = false, -- bindings for folds, spelling and others prefixed with z +-- g = false, -- bindings for prefixed with g +-- }, +-- spelling = { enabled = true, suggestions = 20 }, -- use which-key for spelling hints +-- }, +-- icons = { +-- breadcrumb = lvim.icons.ui.DoubleChevronRight, -- symbol used in the command line area that shows your active key combo +-- separator = lvim.icons.ui.BoldArrowRight, -- symbol used between a key and it's label +-- group = lvim.icons.ui.Plus, -- symbol prepended to a group +-- }, +-- popup_mappings = { +-- scroll_down = "<c-d>", -- binding to scroll down inside the popup +-- scroll_up = "<c-u>", -- binding to scroll up inside the popup +-- }, +-- window = { +-- border = "single", -- none, single, double, shadow +-- position = "bottom", -- bottom, top +-- margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] +-- padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left] +-- winblend = 0, +-- }, +-- layout = { +-- height = { min = 4, max = 25 }, -- min and max height of the columns +-- width = { min = 20, max = 50 }, -- min and max width of the columns +-- spacing = 3, -- spacing between columns +-- align = "left", -- align columns left, center or right +-- }, +-- hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate +-- ignore_missing = false, -- enable this to hide mappings for which you didn't specify a label +-- show_help = true, -- show help message on the command line when the popup is visible +-- triggers = "auto", -- automatically setup triggers +-- -- triggers = {"<leader>"} -- or specify a list manually +-- triggers_blacklist = { +-- -- list of mode / prefixes that should never be hooked by WhichKey +-- -- this is mostly relevant for key maps that start with a native binding +-- -- most people should not need to change this +-- i = { "j", "k" }, +-- v = { "j", "k" }, +-- }, +-- }, +-- +-- opts = { +-- mode = "n", -- NORMAL mode +-- prefix = "<leader>", +-- buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings +-- silent = true, -- use `silent` when creating keymaps +-- noremap = true, -- use `noremap` when creating keymaps +-- nowait = true, -- use `nowait` when creating keymaps +-- }, +-- vopts = { +-- mode = "v", -- VISUAL mode +-- prefix = "<leader>", +-- buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings +-- silent = true, -- use `silent` when creating keymaps +-- noremap = true, -- use `noremap` when creating keymaps +-- nowait = true, -- use `nowait` when creating keymaps +-- }, +-- -- NOTE: Prefer using : over <cmd> as the latter avoids going back in normal-mode. +-- -- see https://neovim.io/doc/user/map.html#:map-cmd +-- vmappings = { +-- ["/"] = { "<Plug>(comment_toggle_linewise_visual)", "Comment toggle linewise (visual)" }, +-- }, +-- mappings = { +-- [";"] = { "<cmd>Alpha<CR>", "Dashboard" }, +-- ["w"] = { "<cmd>w!<CR>", "Save" }, +-- ["q"] = { "<cmd>lua require('lvim.utils.functions').smart_quit()<CR>", "Quit" }, +-- ["/"] = { "<Plug>(comment_toggle_linewise_current)", "Comment toggle current line" }, +-- ["c"] = { "<cmd>BufferKill<CR>", "Close Buffer" }, +-- ["f"] = { require("lvim.core.telescope.custom-finders").find_project_files, "Find File" }, +-- ["h"] = { "<cmd>nohlsearch<CR>", "No Highlight" }, +-- ["e"] = { "<cmd>NvimTreeToggle<CR>", "Explorer" }, +-- b = { +-- name = "Buffers", +-- j = { "<cmd>BufferLinePick<cr>", "Jump" }, +-- f = { "<cmd>Telescope buffers<cr>", "Find" }, +-- b = { "<cmd>BufferLineCyclePrev<cr>", "Previous" }, +-- n = { "<cmd>BufferLineCycleNext<cr>", "Next" }, +-- -- w = { "<cmd>BufferWipeout<cr>", "Wipeout" }, -- TODO: implement this for bufferline +-- e = { +-- "<cmd>BufferLinePickClose<cr>", +-- "Pick which buffer to close", +-- }, +-- h = { "<cmd>BufferLineCloseLeft<cr>", "Close all to the left" }, +-- l = { +-- "<cmd>BufferLineCloseRight<cr>", +-- "Close all to the right", +-- }, +-- D = { +-- "<cmd>BufferLineSortByDirectory<cr>", +-- "Sort by directory", +-- }, +-- L = { +-- "<cmd>BufferLineSortByExtension<cr>", +-- "Sort by language", +-- }, +-- }, +-- d = { +-- name = "Debug", +-- t = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Toggle Breakpoint" }, +-- b = { "<cmd>lua require'dap'.step_back()<cr>", "Step Back" }, +-- c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" }, +-- C = { "<cmd>lua require'dap'.run_to_cursor()<cr>", "Run To Cursor" }, +-- d = { "<cmd>lua require'dap'.disconnect()<cr>", "Disconnect" }, +-- g = { "<cmd>lua require'dap'.session()<cr>", "Get Session" }, +-- i = { "<cmd>lua require'dap'.step_into()<cr>", "Step Into" }, +-- o = { "<cmd>lua require'dap'.step_over()<cr>", "Step Over" }, +-- u = { "<cmd>lua require'dap'.step_out()<cr>", "Step Out" }, +-- p = { "<cmd>lua require'dap'.pause()<cr>", "Pause" }, +-- r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Toggle Repl" }, +-- s = { "<cmd>lua require'dap'.continue()<cr>", "Start" }, +-- q = { "<cmd>lua require'dap'.close()<cr>", "Quit" }, +-- U = { "<cmd>lua require'dapui'.toggle()<cr>", "Toggle UI" }, +-- }, +-- p = { +-- name = "Packer", +-- c = { "<cmd>PackerCompile<cr>", "Compile" }, +-- i = { "<cmd>PackerInstall<cr>", "Install" }, +-- r = { "<cmd>lua require('lvim.plugin-loader').recompile()<cr>", "Re-compile" }, +-- s = { "<cmd>PackerSync<cr>", "Sync" }, +-- S = { "<cmd>PackerStatus<cr>", "Status" }, +-- u = { "<cmd>PackerUpdate<cr>", "Update" }, +-- }, +-- +-- -- " Available Debug Adapters: +-- -- " https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/ +-- -- " Adapter configuration and installation instructions: +-- -- " https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation +-- -- " Debug Adapter protocol: +-- -- " https://microsoft.github.io/debug-adapter-protocol/ +-- -- " Debugging +-- g = { +-- name = "Git", +-- g = { "<cmd>lua require 'lvim.core.terminal'.lazygit_toggle()<cr>", "Lazygit" }, +-- j = { "<cmd>lua require 'gitsigns'.next_hunk({navigation_message = false})<cr>", "Next Hunk" }, +-- k = { "<cmd>lua require 'gitsigns'.prev_hunk({navigation_message = false})<cr>", "Prev Hunk" }, +-- l = { "<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame" }, +-- p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" }, +-- r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" }, +-- R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" }, +-- s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" }, +-- u = { +-- "<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>", +-- "Undo Stage Hunk", +-- }, +-- o = { "<cmd>Telescope git_status<cr>", "Open changed file" }, +-- b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, +-- c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" }, +-- C = { +-- "<cmd>Telescope git_bcommits<cr>", +-- "Checkout commit(for current file)", +-- }, +-- d = { +-- "<cmd>Gitsigns diffthis HEAD<cr>", +-- "Git Diff", +-- }, +-- }, +-- l = { +-- name = "LSP", +-- a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" }, +-- d = { "<cmd>Telescope diagnostics bufnr=0 theme=get_ivy<cr>", "Buffer Diagnostics" }, +-- w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, +-- f = { require("lvim.lsp.utils").format, "Format" }, +-- i = { "<cmd>LspInfo<cr>", "Info" }, +-- I = { "<cmd>Mason<cr>", "Mason Info" }, +-- j = { +-- vim.diagnostic.goto_next, +-- "Next Diagnostic", +-- }, +-- k = { +-- vim.diagnostic.goto_prev, +-- "Prev Diagnostic", +-- }, +-- l = { vim.lsp.codelens.run, "CodeLens Action" }, +-- q = { vim.diagnostic.setloclist, "Quickfix" }, +-- r = { vim.lsp.buf.rename, "Rename" }, +-- s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" }, +-- S = { +-- "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", +-- "Workspace Symbols", +-- }, +-- e = { "<cmd>Telescope quickfix<cr>", "Telescope Quickfix" }, +-- }, +-- L = { +-- name = "+LunarVim", +-- c = { +-- "<cmd>edit " .. get_config_dir() .. "/config.lua<cr>", +-- "Edit config.lua", +-- }, +-- d = { "<cmd>LvimDocs<cr>", "View LunarVim's docs" }, +-- f = { +-- "<cmd>lua require('lvim.core.telescope.custom-finders').find_lunarvim_files()<cr>", +-- "Find LunarVim files", +-- }, +-- g = { +-- "<cmd>lua require('lvim.core.telescope.custom-finders').grep_lunarvim_files()<cr>", +-- "Grep LunarVim files", +-- }, +-- k = { "<cmd>Telescope keymaps<cr>", "View LunarVim's keymappings" }, +-- i = { +-- "<cmd>lua require('lvim.core.info').toggle_popup(vim.bo.filetype)<cr>", +-- "Toggle LunarVim Info", +-- }, +-- I = { +-- "<cmd>lua require('lvim.core.telescope.custom-finders').view_lunarvim_changelog()<cr>", +-- "View LunarVim's changelog", +-- }, +-- l = { +-- name = "+logs", +-- d = { +-- "<cmd>lua require('lvim.core.terminal').toggle_log_view(require('lvim.core.log').get_path())<cr>", +-- "view default log", +-- }, +-- D = { +-- "<cmd>lua vim.fn.execute('edit ' .. require('lvim.core.log').get_path())<cr>", +-- "Open the default logfile", +-- }, +-- l = { +-- "<cmd>lua require('lvim.core.terminal').toggle_log_view(vim.lsp.get_log_path())<cr>", +-- "view lsp log", +-- }, +-- L = { "<cmd>lua vim.fn.execute('edit ' .. vim.lsp.get_log_path())<cr>", "Open the LSP logfile" }, +-- n = { +-- "<cmd>lua require('lvim.core.terminal').toggle_log_view(os.getenv('NVIM_LOG_FILE'))<cr>", +-- "view neovim log", +-- }, +-- N = { "<cmd>edit $NVIM_LOG_FILE<cr>", "Open the Neovim logfile" }, +-- p = { +-- "<cmd>lua require('lvim.core.terminal').toggle_log_view(get_cache_dir() .. '/packer.nvim.log')<cr>", +-- "view packer log", +-- }, +-- P = { "<cmd>edit $LUNARVIM_CACHE_DIR/packer.nvim.log<cr>", "Open the Packer logfile" }, +-- }, +-- r = { "<cmd>LvimReload<cr>", "Reload LunarVim's configuration" }, +-- u = { "<cmd>LvimUpdate<cr>", "Update LunarVim" }, +-- }, +-- s = { +-- name = "Search", +-- b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, +-- c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" }, +-- f = { "<cmd>Telescope find_files<cr>", "Find File" }, +-- h = { "<cmd>Telescope help_tags<cr>", "Find Help" }, +-- H = { "<cmd>Telescope highlights<cr>", "Find highlight groups" }, +-- M = { "<cmd>Telescope man_pages<cr>", "Man Pages" }, +-- r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" }, +-- R = { "<cmd>Telescope registers<cr>", "Registers" }, +-- t = { "<cmd>Telescope live_grep<cr>", "Text" }, +-- k = { "<cmd>Telescope keymaps<cr>", "Keymaps" }, +-- C = { "<cmd>Telescope commands<cr>", "Commands" }, +-- p = { +-- "<cmd>lua require('telescope.builtin').colorscheme({enable_preview = true})<cr>", +-- "Colorscheme with Preview", +-- }, +-- }, +-- T = { +-- name = "Treesitter", +-- i = { ":TSConfigInfo<cr>", "Info" }, +-- }, +-- }, +-- } +-- end +-- +-- M.setup = function() +-- local which_key = require "which-key" +-- +-- which_key.setup(lvim.builtin.which_key.setup) +-- +-- local opts = lvim.builtin.which_key.opts +-- local vopts = lvim.builtin.which_key.vopts +-- +-- local mappings = lvim.builtin.which_key.mappings +-- local vmappings = lvim.builtin.which_key.vmappings +-- +-- which_key.register(mappings, opts) +-- which_key.register(vmappings, vopts) +-- +-- if lvim.builtin.which_key.on_config_done then +-- lvim.builtin.which_key.on_config_done(which_key) +-- end +-- end +-- +-- return M diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 7ffb8290..5ea7ebef 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -139,14 +139,11 @@ return require("packer").startup(function(use) }) -- displays a popup with possible key bindings + -- https://github.com/LunarVim/LunarVim/blob/master/lua/lvim/core/which-key.lua use({ "folke/which-key.nvim", config = function() - require("which-key").setup({ - window = { - border = "single", -- none, single, double, shadow - }, - }) + require("config.which-key") end, }) From 9ba854e7d2b7b5d3f22d42ededfef941da6ef813 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 11:40:44 +0100 Subject: [PATCH 0457/2080] treesitter: enable more plugins --- .config/nvim/lua/config/treesitter.lua | 41 ++++++++++++++++++++++++++ .config/nvim/lua/plugins.lua | 20 ++++++++++--- 2 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 .config/nvim/lua/config/treesitter.lua diff --git a/.config/nvim/lua/config/treesitter.lua b/.config/nvim/lua/config/treesitter.lua new file mode 100644 index 00000000..cb94bf06 --- /dev/null +++ b/.config/nvim/lua/config/treesitter.lua @@ -0,0 +1,41 @@ +-- https://github.com/devinschulz/dotfiles/blob/master/nvim/.config/nvim/lua/config/treesitter.lua +local status_ok, treesitter = pcall(require, "nvim-treesitter.configs") +if not status_ok then + return +end + +treesitter.setup({ + -- A list of parser names, or "all" + ensure_installed = "all", + -- Install parsers synchronously (only applied to `ensure_installed`) + sync_install = false, + + -- Automatically install missing parsers when entering buffer + -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally + auto_install = true, + autotag = { + enable = true, + }, + highlight = { + -- `false` will disable the whole extension + enable = true, + }, + -- Rainbow parentheses for neovim using tree-sitter. + rainbow = { + enable = true, + -- disable = { "jsx", "cpp" }, list of languages you want to disable the plugin for + extended_mode = true, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean + max_file_lines = nil, -- Do not enable for files with more than n lines, int + -- colors = {}, -- table of hex strings + -- termcolors = {} -- table of colour name strings + }, + -- Setting this to true will run `:h syntax` and tree-sitter at the same time. + -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). + -- Using this option may slow down your editor, and you may see some duplicate highlights. + -- Instead of true it can also be a list of languages + additional_vim_regex_highlighting = false, + -- enable comment string + context_commentstring = { + enable = true, + }, +}) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 5ea7ebef..36e59386 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -280,10 +280,22 @@ return require("packer").startup(function(use) }) -- Treesitter configurations and abstraction layer for Neovim. - -- Tree-sitter is a parser generator tool and an incremental parsing library. - use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) - -- Syntax aware text-objects, select, move, swap, and peek support. - -- use({ "nvim-treesitter/nvim-treesitter-textobjects" }) + use({ + -- Tree-sitter is a parser generator tool and an incremental parsing library. + "nvim-treesitter/nvim-treesitter", + -- Syntax aware text-objects, select, move, swap, and peek support. + "nvim-treesitter/nvim-treesitter-textobjects", + -- A Neovim plugin for setting the commentstring option based on the cursor location in the file + "JoosepAlviste/nvim-ts-context-commentstring", + "windwp/nvim-ts-autotag", + config = function() + require("config.treesitter") + end, + run = function() + local ts_update = require("nvim-treesitter.install").update({ with_sync = true }) + ts_update() + end, + }) -- open last postiion in file use("farmergreg/vim-lastplace") From 6376c8896795e293f3baff2d0ed0740f1a81b070 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 12:35:17 +0100 Subject: [PATCH 0458/2080] Enable comment.vim --- .config/nvim/lua/plugins.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 36e59386..bde8d214 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -315,6 +315,14 @@ return require("packer").startup(function(use) }, }) + -- Comment management + use({ + "numToStr/Comment.nvim", + config = function() + require("Comment").setup() + end, + }) + -- list and switch between buffers use({ "akinsho/bufferline.nvim", From 83d7adfdf0216b587366200fa73b6520f592019e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 12:47:33 +0100 Subject: [PATCH 0459/2080] Add alacritty conf --- .config/alacritty/alacritty.yml | 11 ++++++ .config/alacritty/dracula.yml | 61 +++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 .config/alacritty/alacritty.yml create mode 100644 .config/alacritty/dracula.yml diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml new file mode 100644 index 00000000..f636d5c6 --- /dev/null +++ b/.config/alacritty/alacritty.yml @@ -0,0 +1,11 @@ +import: + # Dracula theme: https://draculatheme.com/alacritty + - ~/.config/alacritty/dracula.yml + +# Font configuration +font: + # Normal (roman) font face + normal: + # Font family + family: MesloLGS NF + size: 18 diff --git a/.config/alacritty/dracula.yml b/.config/alacritty/dracula.yml new file mode 100644 index 00000000..529782fc --- /dev/null +++ b/.config/alacritty/dracula.yml @@ -0,0 +1,61 @@ +# Dracula theme for Alacritty +# https://draculatheme.com/alacritty +# +# Color palette +# https://spec.draculatheme.com +# +# Template +# https://github.com/alacritty/alacritty/blob/master/alacritty.yml + +colors: + primary: + background: '#282a36' + foreground: '#f8f8f2' + bright_foreground: '#ffffff' + cursor: + text: CellBackground + cursor: CellForeground + vi_mode_cursor: + text: CellBackground + cursor: CellForeground + search: + matches: + foreground: '#44475a' + background: '#50fa7b' + focused_match: + foreground: '#44475a' + background: '#ffb86c' + footer_bar: + background: '#282a36' + foreground: '#f8f8f2' + hints: + start: + foreground: '#282a36' + background: '#f1fa8c' + end: + foreground: '#f1fa8c' + background: '#282a36' + line_indicator: + foreground: None + background: None + selection: + text: CellForeground + background: '#44475a' + normal: + black: '#21222c' + red: '#ff5555' + green: '#50fa7b' + yellow: '#f1fa8c' + blue: '#bd93f9' + magenta: '#ff79c6' + cyan: '#8be9fd' + white: '#f8f8f2' + bright: + black: '#6272a4' + red: '#ff6e6e' + green: '#69ff94' + yellow: '#ffffa5' + blue: '#d6acff' + magenta: '#ff92df' + cyan: '#a4ffff' + white: '#ffffff' From 1418ab173a201383d6ba5aace44c22aa89ce719b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 22 Nov 2022 12:53:21 +0100 Subject: [PATCH 0460/2080] Custom alacritty per OS --- ...alacritty.yml => alacritty.yml##os.Darwin} | 0 .config/alacritty/alacritty.yml##os.Linux | 53 +++++++++++++++++++ 2 files changed, 53 insertions(+) rename .config/alacritty/{alacritty.yml => alacritty.yml##os.Darwin} (100%) create mode 100644 .config/alacritty/alacritty.yml##os.Linux diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml##os.Darwin similarity index 100% rename from .config/alacritty/alacritty.yml rename to .config/alacritty/alacritty.yml##os.Darwin diff --git a/.config/alacritty/alacritty.yml##os.Linux b/.config/alacritty/alacritty.yml##os.Linux new file mode 100644 index 00000000..56e1df56 --- /dev/null +++ b/.config/alacritty/alacritty.yml##os.Linux @@ -0,0 +1,53 @@ +import: + - ~/.config/alacritty/dracula.yml + +# Font configuration +font: + # Normal (roman) font face + normal: + # Font family + # + # Default: + # - (macOS) Menlo + # - (Linux/BSD) monospace + # - (Windows) Consolas + family: Caskaydia Cove Nerd Font + + # The `style` can be specified to pick a specific face. + #style: Regular + + # Bold font face + #bold: + # Font family + # + # If the bold family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Bold + + # Italic font face + #italic: + # Font family + # + # If the italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Italic + + # Bold italic font face + #bold_italic: + # Font family + # + # If the bold italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Bold Italic + + # Point size + size: 14.0 From adbd37e08155a7a1c49e4e2f1a202bc2d67a10c1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 22 Nov 2022 12:54:22 +0100 Subject: [PATCH 0461/2080] Alacritty: align files --- .config/alacritty/alacritty.yml##os.Darwin | 1 + .config/alacritty/alacritty.yml##os.Linux | 44 +--------------------- 2 files changed, 2 insertions(+), 43 deletions(-) diff --git a/.config/alacritty/alacritty.yml##os.Darwin b/.config/alacritty/alacritty.yml##os.Darwin index f636d5c6..d3094dac 100644 --- a/.config/alacritty/alacritty.yml##os.Darwin +++ b/.config/alacritty/alacritty.yml##os.Darwin @@ -8,4 +8,5 @@ font: normal: # Font family family: MesloLGS NF + # Point size size: 18 diff --git a/.config/alacritty/alacritty.yml##os.Linux b/.config/alacritty/alacritty.yml##os.Linux index 56e1df56..2fe77d46 100644 --- a/.config/alacritty/alacritty.yml##os.Linux +++ b/.config/alacritty/alacritty.yml##os.Linux @@ -6,48 +6,6 @@ font: # Normal (roman) font face normal: # Font family - # - # Default: - # - (macOS) Menlo - # - (Linux/BSD) monospace - # - (Windows) Consolas family: Caskaydia Cove Nerd Font - - # The `style` can be specified to pick a specific face. - #style: Regular - - # Bold font face - #bold: - # Font family - # - # If the bold family is not specified, it will fall back to the - # value specified for the normal font. - #family: monospace - - # The `style` can be specified to pick a specific face. - #style: Bold - - # Italic font face - #italic: - # Font family - # - # If the italic family is not specified, it will fall back to the - # value specified for the normal font. - #family: monospace - - # The `style` can be specified to pick a specific face. - #style: Italic - - # Bold italic font face - #bold_italic: - # Font family - # - # If the bold italic family is not specified, it will fall back to the - # value specified for the normal font. - #family: monospace - - # The `style` can be specified to pick a specific face. - #style: Bold Italic - # Point size - size: 14.0 + size: 14 From d57112f74fe514554c5dd1e8e74ce83c84f95d42 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 22 Nov 2022 13:43:30 +0100 Subject: [PATCH 0462/2080] Update font --- .config/alacritty/alacritty.yml##os.Linux | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.config/alacritty/alacritty.yml##os.Linux b/.config/alacritty/alacritty.yml##os.Linux index 2fe77d46..e1f61abd 100644 --- a/.config/alacritty/alacritty.yml##os.Linux +++ b/.config/alacritty/alacritty.yml##os.Linux @@ -6,6 +6,10 @@ font: # Normal (roman) font face normal: # Font family - family: Caskaydia Cove Nerd Font + # On GNU/Linux: + # fc-list : family style + # fc-match 'MesloLGS NF' + family: MesloLGS NF + style: Regular # Point size size: 14 From 29aa4f369edee0b13e33c04661cabf8b13f485b7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 22 Nov 2022 13:59:23 +0100 Subject: [PATCH 0463/2080] Import scripts for testing colors --- bin/24-bit-color.sh | 100 ++++++++++++++++++++++++++++++++++++++++++++ bin/color-spaces.pl | 67 +++++++++++++++++++++++++++++ bin/colors.py | 100 ++++++++++++++++++++++++++++++++++++++++++++ bin/true-color.sh | 14 +++++++ 4 files changed, 281 insertions(+) create mode 100755 bin/24-bit-color.sh create mode 100755 bin/color-spaces.pl create mode 100755 bin/colors.py create mode 100755 bin/true-color.sh diff --git a/bin/24-bit-color.sh b/bin/24-bit-color.sh new file mode 100755 index 00000000..f407258f --- /dev/null +++ b/bin/24-bit-color.sh @@ -0,0 +1,100 @@ +#!/bin/bash +# This file was originally taken from iterm2 https://github.com/gnachman/iTerm2/blob/master/tests/24-bit-color.sh +# +# This file echoes a bunch of 24-bit color codes +# to the terminal to demonstrate its functionality. +# The foreground escape sequence is ^[38;2;<r>;<g>;<b>m +# The background escape sequence is ^[48;2;<r>;<g>;<b>m +# <r> <g> <b> range from 0 to 255 inclusive. +# The escape sequence ^[0m returns output to default + +setBackgroundColor() +{ + #printf '\x1bPtmux;\x1b\x1b[48;2;%s;%s;%sm' $1 $2 $3 + printf '\x1b[48;2;%s;%s;%sm' $1 $2 $3 +} + +resetOutput() +{ + echo -en "\x1b[0m\n" +} + +# Gives a color $1/255 % along HSV +# Who knows what happens when $1 is outside 0-255 +# Echoes "$red $green $blue" where +# $red $green and $blue are integers +# ranging between 0 and 255 inclusive +rainbowColor() +{ + let h=$1/43 + let f=$1-43*$h + let t=$f*255/43 + let q=255-t + + if [ $h -eq 0 ] + then + echo "255 $t 0" + elif [ $h -eq 1 ] + then + echo "$q 255 0" + elif [ $h -eq 2 ] + then + echo "0 255 $t" + elif [ $h -eq 3 ] + then + echo "0 $q 255" + elif [ $h -eq 4 ] + then + echo "$t 0 255" + elif [ $h -eq 5 ] + then + echo "255 0 $q" + else + # execution should never reach here + echo "0 0 0" + fi +} + +for i in `seq 0 127`; do + setBackgroundColor $i 0 0 + echo -en " " +done +resetOutput +for i in `seq 255 -1 128`; do + setBackgroundColor $i 0 0 + echo -en " " +done +resetOutput + +for i in `seq 0 127`; do + setBackgroundColor 0 $i 0 + echo -n " " +done +resetOutput +for i in `seq 255 -1 128`; do + setBackgroundColor 0 $i 0 + echo -n " " +done +resetOutput + +for i in `seq 0 127`; do + setBackgroundColor 0 0 $i + echo -n " " +done +resetOutput +for i in `seq 255 -1 128`; do + setBackgroundColor 0 0 $i + echo -n " " +done +resetOutput + +for i in `seq 0 127`; do + setBackgroundColor `rainbowColor $i` + echo -n " " +done +resetOutput +for i in `seq 255 -1 128`; do + setBackgroundColor `rainbowColor $i` + echo -n " " +done +resetOutput diff --git a/bin/color-spaces.pl b/bin/color-spaces.pl new file mode 100755 index 00000000..8774c044 --- /dev/null +++ b/bin/color-spaces.pl @@ -0,0 +1,67 @@ +#!/usr/bin/perl +# Author: Todd Larason <jtl@molehill.org> +# $XFree86: xc/programs/xterm/vttests/256colors2.pl,v 1.1 1999/07/11 08:49:54 dawes Exp $ + +print "256 color mode\n\n"; + +# display back ground colors + +for ($fgbg = 38; $fgbg <= 48; $fgbg +=10) { + +# first the system ones: +print "System colors:\n"; +for ($color = 0; $color < 8; $color++) { + print "\x1b[${fgbg};5;${color}m::"; +} +print "\x1b[0m\n"; +for ($color = 8; $color < 16; $color++) { + print "\x1b[${fgbg};5;${color}m::"; +} +print "\x1b[0m\n\n"; + +# now the color cube +print "Color cube, 6x6x6:\n"; +for ($green = 0; $green < 6; $green++) { + for ($red = 0; $red < 6; $red++) { + for ($blue = 0; $blue < 6; $blue++) { + $color = 16 + ($red * 36) + ($green * 6) + $blue; + print "\x1b[${fgbg};5;${color}m::"; + } + print "\x1b[0m "; + } + print "\n"; +} + +# now the grayscale ramp +print "Grayscale ramp:\n"; +for ($color = 232; $color < 256; $color++) { + print "\x1b[${fgbg};5;${color}m::"; +} +print "\x1b[0m\n\n"; + +} + +print "Examples for the 3-byte color mode\n\n"; + +for ($fgbg = 38; $fgbg <= 48; $fgbg +=10) { + +# now the color cube +print "Color cube\n"; +for ($green = 0; $green < 256; $green+=51) { + for ($red = 0; $red < 256; $red+=51) { + for ($blue = 0; $blue < 256; $blue+=51) { + print "\x1b[${fgbg};2;${red};${green};${blue}m::"; + } + print "\x1b[0m "; + } + print "\n"; +} + +# now the grayscale ramp +print "Grayscale ramp:\n"; +for ($gray = 8; $gray < 256; $gray+=10) { + print "\x1b[${fgbg};2;${gray};${gray};${gray}m::"; +} +print "\x1b[0m\n\n"; + +} diff --git a/bin/colors.py b/bin/colors.py new file mode 100755 index 00000000..7a660e1b --- /dev/null +++ b/bin/colors.py @@ -0,0 +1,100 @@ +#!/usr/bin/python3 + +from functools import partial + +def colors16(): + for bold in [0, 1]: + for i in range(30, 38): + for j in range(40, 48): + print(f'\x1b[{bold};{i};{j}m {bold};{i};{j} |\x1b[0m', end='') + print() + print() + + for bold in [0, 1]: + for i in range(90, 98): + for j in range(100, 108): + print(f'\x1b[{bold};{i};{j}m {bold};{i};{j} |\x1b[0m', end='') + print() + print() + +def color1(c, n=0): + print(f'\x1b[{n};38;5;{c}m{c:4}\x1b[0m', end='') + +def color1_sep(c): + if (c - 15) % 18 == 0: + print() + +def color2(c): + print(f'\x1b[48;5;{c}m \x1b[0m', end='') + +def color2_sep(c): + if (c - 15) % 36 == 0: + print() + elif (c - 15) % 6 == 0: + print(' ', end='') + +def colors256(color, sepfunc): + for i in range(0, 8): + color(i) + print() + for i in range(8, 16): + color(i) + print('\n') + + for i in range(16, 232): + color(i) + sepfunc(i) + print() + + for i in range(232, 256): + color(i) + print('\n') + +def colors_gradient(): + s= '/\\' * 40 + for col in range(0, 77): + r = 255 - col * 255 // 76 + g = col * 510 // 76 + b = col * 255 // 76 + if g > 255: + g = 510 - g + print(f'\x1b[48;2;{r};{g};{b}m\x1b[38;2;{255-r};{255-g};{255-b}m{s[col]}\x1b[0m', end='') + print() + +def other_attributes(): + for i in range(0, 10): + print(f' \x1b[{i}mSGR {i:2}\x1b[m', end=' ') + print(' \x1b[53mSGR 53\x1b[m', end=' ') # overline + print('\n') + # https://askubuntu.com/a/985386/235132 + for i in range(1, 6): + print(f' \x1b[4:{i}mSGR 4:{i}\x1b[m', end=' ') + print(' \x1b[21mSGR 21\x1b[m', end=' ') + + print(' \x1b[4:3m\x1b[58;2;135;0;255mtruecolor underline\x1b[59m\x1b[4:0m', end=' ') + print(' \x1b]8;;https://askubuntu.com/a/985386/235132\x1b\\hyperlink\x1b]8;;\x1b\\') + +if __name__ == '__main__': + print('basic 16 colors, foreground & background:\n') + colors16() + + print('256 colors:\n') + colors256(color1, color1_sep) + + print('256 colors, bold:\n') + colors256(partial(color1, n=1), color1_sep) + + print('256 colors, dim:\n') + colors256(partial(color1, n=2), color1_sep) + + print('256 colors, bold dim:\n') + colors256(partial(color1, n='1;2'), color1_sep) + + print('256 colors, solid background:\n') + colors256(color2, color2_sep) + + print('true colors gradient:\n') + colors_gradient() + + print('other attributes:\n') + other_attributes() diff --git a/bin/true-color.sh b/bin/true-color.sh new file mode 100755 index 00000000..c1e07952 --- /dev/null +++ b/bin/true-color.sh @@ -0,0 +1,14 @@ +#!/bin/bash +awk 'BEGIN{ + s="/\\/\\/\\/\\/\\"; s=s s s s s s s s; + for (colnum = 0; colnum<77; colnum++) { + r = 255-(colnum*255/76); + g = (colnum*510/76); + b = (colnum*255/76); + if (g>255) g = 510-g; + printf "\033[48;2;%d;%d;%dm", r,g,b; + printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b; + printf "%s\033[0m", substr(s,colnum+1,1); + } + printf "\n"; +}' From 8cf0b7f58a643579db5c6a2affe71c974260c8e9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 22 Nov 2022 13:59:52 +0100 Subject: [PATCH 0464/2080] neomutt: use background edit in tmux --- .config/neomutt/profile-maildir.perso | 3 +- bin/bgedit-screen-tmux.sh | 66 +++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100755 bin/bgedit-screen-tmux.sh diff --git a/.config/neomutt/profile-maildir.perso b/.config/neomutt/profile-maildir.perso index 37cdb000..62c26ac1 100644 --- a/.config/neomutt/profile-maildir.perso +++ b/.config/neomutt/profile-maildir.perso @@ -3,8 +3,9 @@ # http://www.mutt.org/doc/manual/#bgedit # XXX only on mutt set background_edit +set editor = '~/bin/bgedit-screen-tmux.sh nvim' # set editor = "alacritty -e nvim" -set editor = "kitty -e nvim" +# set editor = "kitty -e nvim" set mbox_type = Maildir set folder = ~/Mail/Perso diff --git a/bin/bgedit-screen-tmux.sh b/bin/bgedit-screen-tmux.sh new file mode 100755 index 00000000..5124d957 --- /dev/null +++ b/bin/bgedit-screen-tmux.sh @@ -0,0 +1,66 @@ +#!/bin/sh +# +# Copyright (C) 2020 Kevin J. McCarthy <kevin@8t8.us> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Invoke a background edit session in a new GNU Screen or tmux window. +# +# This script is derived from Aaron Schrab's tmuxwait script, posted to +# mutt-dev at +# <http://lists.mutt.org/pipermail/mutt-dev/Week-of-Mon-20200406/000591.html>. +# +# If you run mutt inside screen or tmux, add to your muttrc: +# set background_edit +# set editor = '/path/to/bgedit-screen-tmux.sh [youreditor]' +# +# It may also be useful to modify something like contrib/bgedit-detectgui.sh +# to look for the $STY or $TMUX environment variables and set those +# configuration variables appropriately. +# + +set -e + +if [ "$#" -lt 2 ]; then + echo "Usage: $0 editor tempfile" >&2 + exit 1 +fi + +editor=$1 +shift + +tmpdir=$(mktemp -d) +trap 'rm -rf "$tmpdir"' EXIT INT QUIT +mkfifo "$tmpdir/status" + +cat >"$tmpdir/run" <<END_SCRIPT +exitval=1 +trap 'echo \$exitval > "$tmpdir/status"' EXIT INT QUIT +$editor "\$@" +exitval=\$? +END_SCRIPT + +if test x$STY != x; then + screen -X screen /bin/sh "$tmpdir/run" "$@" +elif test x$TMUX != x; then + tmux neww /bin/sh "$tmpdir/run" "$@" +else + echo "Not running inside a terminal emulator" >&2 + exit 1 +fi + +read exitval <"$tmpdir/status" +exit "$exitval" + From e3834f0224b2bb7a58c2b80a5faac625a013ecac Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 15:02:14 +0100 Subject: [PATCH 0465/2080] Alacritty: change font --- .config/alacritty/alacritty.yml##os.Darwin | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/alacritty/alacritty.yml##os.Darwin b/.config/alacritty/alacritty.yml##os.Darwin index d3094dac..ca7b40ad 100644 --- a/.config/alacritty/alacritty.yml##os.Darwin +++ b/.config/alacritty/alacritty.yml##os.Darwin @@ -7,6 +7,7 @@ font: # Normal (roman) font face normal: # Font family - family: MesloLGS NF + # family: MesloLGS NF + family: Cascadia Code PL # Point size size: 18 From d8874a6728290a1cacece2f36bbc746c258b8152 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 15:03:06 +0100 Subject: [PATCH 0466/2080] Import kitty conf --- .config/kitty/diff.conf | 19 +++++++++++ .config/kitty/dracula.conf | 66 ++++++++++++++++++++++++++++++++++++++ .config/kitty/kitty.conf | 5 +++ 3 files changed, 90 insertions(+) create mode 100644 .config/kitty/diff.conf create mode 100644 .config/kitty/dracula.conf create mode 100644 .config/kitty/kitty.conf diff --git a/.config/kitty/diff.conf b/.config/kitty/diff.conf new file mode 100644 index 00000000..5fec447e --- /dev/null +++ b/.config/kitty/diff.conf @@ -0,0 +1,19 @@ +foreground #f8f8f2 +background #282a36 +title_fg #f8f8f2 +title_bg #282a36 +margin_bg #6272a4 +margin_fg #44475a +removed_bg #ff5555 +highlight_removed_bg #ff5555 +removed_margin_bg #ff5555 +added_bg #50fa7b +highlight_added_bg #50fa7b +added_margin_bg #50fa7b +filler_bg #44475a +hunk_margin_bg #44475a +hunk_bg #bd93f9 +search_bg #8be9fd +search_fg #282a36 +select_bg #f1fa8c +select_fg #282a36 diff --git a/.config/kitty/dracula.conf b/.config/kitty/dracula.conf new file mode 100644 index 00000000..8f05c52a --- /dev/null +++ b/.config/kitty/dracula.conf @@ -0,0 +1,66 @@ +# https://draculatheme.com/kitty +# +# Installation instructions: +# +# cp dracula.conf ~/.config/kitty/ +# echo "include dracula.conf" >> ~/.config/kitty/kitty.conf +# +# Then reload kitty for the config to take affect. +# Alternatively copy paste below directly into kitty.conf + +foreground #f8f8f2 +background #282a36 +selection_foreground #ffffff +selection_background #44475a + +url_color #8be9fd + +# black +color0 #21222c +color8 #6272a4 + +# red +color1 #ff5555 +color9 #ff6e6e + +# green +color2 #50fa7b +color10 #69ff94 + +# yellow +color3 #f1fa8c +color11 #ffffa5 + +# blue +color4 #bd93f9 +color12 #d6acff + +# magenta +color5 #ff79c6 +color13 #ff92df + +# cyan +color6 #8be9fd +color14 #a4ffff + +# white +color7 #f8f8f2 +color15 #ffffff + +# Cursor colors +cursor #f8f8f2 +cursor_text_color background + +# Tab bar colors +active_tab_foreground #282a36 +active_tab_background #f8f8f2 +inactive_tab_foreground #282a36 +inactive_tab_background #6272a4 + +# Marks +mark1_foreground #282a36 +mark1_background #ff5555 + +# Splits/Windows +active_border_color #f8f8f2 +inactive_border_color #6272a4 diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf new file mode 100644 index 00000000..3c8fc32e --- /dev/null +++ b/.config/kitty/kitty.conf @@ -0,0 +1,5 @@ +# font_family MesloLGS NF +font_family Cascadia Code PL +font_size 18 +disable_ligatures never +include dracula.conf From 4e008de98d4e5656d16dbdc36e25811d0bea0b2b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 15:21:48 +0100 Subject: [PATCH 0467/2080] Import iTerm2 profile --- .../iTerm2/DynamicProfiles/Perso.json | 363 ++++++++++++++++++ 1 file changed, 363 insertions(+) create mode 100644 Library/Application Support/iTerm2/DynamicProfiles/Perso.json diff --git a/Library/Application Support/iTerm2/DynamicProfiles/Perso.json b/Library/Application Support/iTerm2/DynamicProfiles/Perso.json new file mode 100644 index 00000000..3eb692a0 --- /dev/null +++ b/Library/Application Support/iTerm2/DynamicProfiles/Perso.json @@ -0,0 +1,363 @@ +{ + "Profiles": [ + { + "Use Non-ASCII Font": true, + "Tags": [], + "Ansi 12 Color": { + "Green Component": 0.57647058823529407, + "Blue Component": 0.97647058823529409, + "Red Component": 0.74117647058823533 + }, + "Ansi 6 Color": { + "Green Component": 0.9137254901960784, + "Blue Component": 0.99215686274509807, + "Red Component": 0.54509803921568623 + }, + "Draw Powerline Glyphs": true, + "Bold Color": { + "Green Component": 0.90237069129943848, + "Blue Component": 0.90237069129943848, + "Red Component": 0.90237069129943848 + }, + "Normal Font": "CascadiaCodePL-Regular 18", + "Link Color": { + "Red Component": 0, + "Color Space": "sRGB", + "Blue Component": 0.73423302173614502, + "Alpha Component": 1, + "Green Component": 0.35916060209274292 + }, + "Custom Directory": "No", + "Rows": 25, + "Default Bookmark": "No", + "Right Option Key Sends": 0, + "Cursor Guide Color": { + "Red Component": 0.70213186740875244, + "Color Space": "sRGB", + "Blue Component": 1, + "Alpha Component": 0.25, + "Green Component": 0.9268307089805603 + }, + "Non-ASCII Anti Aliased": true, + "Use Bright Bold": true, + "Ansi 10 Color": { + "Green Component": 0.98039215686274506, + "Blue Component": 0.4823529411764706, + "Red Component": 0.31372549019607843 + }, + "Ambiguous Double Width": false, + "Jobs to Ignore": [ + "rlogin", + "ssh", + "slogin", + "telnet" + ], + "Ansi 15 Color": { + "Green Component": 1, + "Blue Component": 1, + "Red Component": 1 + }, + "Foreground Color": { + "Green Component": 0.90032327175140381, + "Blue Component": 0.90032327175140381, + "Red Component": 0.90032327175140381 + }, + "Working Directory": "/Users/baptiste", + "Blinking Cursor": false, + "Space": 0, + "Sync Title": false, + "Prompt Before Closing 2": false, + "BM Growl": true, + "Mouse Reporting": false, + "Command": "", + "Description": "Profile perso", + "Disable Window Resizing": true, + "Screen": 0, + "Selection Color": { + "Green Component": 0.27843138575553894, + "Blue Component": 0.35294118523597717, + "Red Component": 0.26666668057441711 + }, + "Initial Use Transparency": false, + "Only The Default BG Color Uses Transparency": true, + "Columns": 80, + "Idle Code": 0, + "Ansi 13 Color": { + "Green Component": 0.47450980392156861, + "Blue Component": 0.77647058823529413, + "Red Component": 1 + }, + "Custom Command": "No", + "ASCII Anti Aliased": true, + "Non Ascii Font": "HackNerdFontCompleteM-Regular 18", + "Vertical Spacing": 1, + "Use Bold Font": true, + "Option Key Sends": 0, + "Selected Text Color": { + "Green Component": 1, + "Blue Component": 1, + "Red Component": 1 + }, + "Background Color": { + "Green Component": 0.12215272337198257, + "Blue Component": 0.15977837145328522, + "Red Component": 0.11765811592340469 + }, + "Character Encoding": 4, + "Ansi 11 Color": { + "Green Component": 0.98039215686274506, + "Blue Component": 0.5490196078431373, + "Red Component": 0.94509803921568625 + }, + "Non-ASCII Ligatures": true, + "Use Italic Font": true, + "Unlimited Scrollback": false, + "Keyboard Map": { + "0xf700-0x260000": { + "Action": 10, + "Text": "[1;6A" + }, + "0x37-0x40000": { + "Action": 11, + "Text": "0x1f" + }, + "0x32-0x40000": { + "Action": 11, + "Text": "0x00" + }, + "0xf709-0x20000": { + "Action": 10, + "Text": "[17;2~" + }, + "0xf70c-0x20000": { + "Action": 10, + "Text": "[20;2~" + }, + "0xf729-0x20000": { + "Action": 10, + "Text": "[1;2H" + }, + "0xf72b-0x40000": { + "Action": 10, + "Text": "[1;5F" + }, + "0xf705-0x20000": { + "Action": 10, + "Text": "[1;2Q" + }, + "0xf703-0x260000": { + "Action": 10, + "Text": "[1;6C" + }, + "0xf700-0x220000": { + "Action": 10, + "Text": "[1;2A" + }, + "0xf701-0x280000": { + "Action": 11, + "Text": "0x1b 0x1b 0x5b 0x42" + }, + "0x38-0x40000": { + "Action": 11, + "Text": "0x7f" + }, + "0x33-0x40000": { + "Action": 11, + "Text": "0x1b" + }, + "0xf703-0x220000": { + "Action": 10, + "Text": "[1;2C" + }, + "0xf701-0x240000": { + "Action": 10, + "Text": "[1;5B" + }, + "0xf70d-0x20000": { + "Action": 10, + "Text": "[21;2~" + }, + "0xf702-0x260000": { + "Action": 10, + "Text": "[1;6D" + }, + "0xf729-0x40000": { + "Action": 10, + "Text": "[1;5H" + }, + "0xf706-0x20000": { + "Action": 10, + "Text": "[1;2R" + }, + "0x34-0x40000": { + "Action": 11, + "Text": "0x1c" + }, + "0xf700-0x280000": { + "Action": 11, + "Text": "0x1b 0x1b 0x5b 0x41" + }, + "0x2d-0x40000": { + "Action": 11, + "Text": "0x1f" + }, + "0xf70e-0x20000": { + "Action": 10, + "Text": "[23;2~" + }, + "0xf702-0x220000": { + "Action": 10, + "Text": "[1;2D" + }, + "0xf703-0x280000": { + "Action": 11, + "Text": "0x1b 0x1b 0x5b 0x43" + }, + "0xf700-0x240000": { + "Action": 10, + "Text": "[1;5A" + }, + "0xf707-0x20000": { + "Action": 10, + "Text": "[1;2S" + }, + "0xf70a-0x20000": { + "Action": 10, + "Text": "[18;2~" + }, + "0x35-0x40000": { + "Action": 11, + "Text": "0x1d" + }, + "0xf70f-0x20000": { + "Action": 10, + "Text": "[24;2~" + }, + "0xf703-0x240000": { + "Action": 10, + "Text": "[1;5C" + }, + "0xf701-0x260000": { + "Action": 10, + "Text": "[1;6B" + }, + "0xf702-0x280000": { + "Action": 11, + "Text": "0x1b 0x1b 0x5b 0x44" + }, + "0xf72b-0x20000": { + "Action": 10, + "Text": "[1;2F" + }, + "0x36-0x40000": { + "Action": 11, + "Text": "0x1e" + }, + "0xf708-0x20000": { + "Action": 10, + "Text": "[15;2~" + }, + "0xf701-0x220000": { + "Action": 10, + "Text": "[1;2B" + }, + "0xf70b-0x20000": { + "Action": 10, + "Text": "[19;2~" + }, + "0xf702-0x240000": { + "Action": 10, + "Text": "[1;5D" + }, + "0xf704-0x20000": { + "Action": 10, + "Text": "[1;2P" + } + }, + "Window Type": 0, + "Background Image Location": "", + "Blur": false, + "Badge Color": { + "Red Component": 1, + "Color Space": "sRGB", + "Blue Component": 0, + "Alpha Component": 0.5, + "Green Component": 0.1491314172744751 + }, + "Scrollback Lines": 1000, + "Send Code When Idle": false, + "Close Sessions On End": true, + "Terminal Type": "xterm-256color", + "Visual Bell": true, + "Flashing Bell": false, + "Silence Bell": true, + "Ansi 14 Color": { + "Green Component": 0.9137254901960784, + "Blue Component": 0.99215686274509807, + "Red Component": 0.54509803921568623 + }, + "ASCII Ligatures": true, + "Name": "Profile perso", + "Cursor Text Color": { + "Green Component": 1, + "Blue Component": 1, + "Red Component": 1 + }, + "Minimum Contrast": 0, + "Shortcut": "", + "Cursor Color": { + "Green Component": 0.73333334922790527, + "Blue Component": 0.73333334922790527, + "Red Component": 0.73333334922790527 + }, + "Ansi 0 Color": { + "Green Component": 0, + "Blue Component": 0, + "Red Component": 0 + }, + "Guid": "A5197030-E987-4F99-9410-E390701DCD27", + "Horizontal Spacing": 1, + "Ansi 3 Color": { + "Green Component": 0.98039215686274506, + "Blue Component": 0.5490196078431373, + "Red Component": 0.94509803921568625 + }, + "Ansi 4 Color": { + "Green Component": 0.57647058823529407, + "Blue Component": 0.97647058823529409, + "Red Component": 0.74117647058823533 + }, + "Ansi 5 Color": { + "Green Component": 0.47450980392156861, + "Blue Component": 0.77647058823529413, + "Red Component": 1 + }, + "Transparency": 0, + "Ansi 7 Color": { + "Green Component": 0.73333334922790527, + "Blue Component": 0.73333334922790527, + "Red Component": 0.73333334922790527 + }, + "Ansi 8 Color": { + "Green Component": 0.33333333333333331, + "Blue Component": 0.33333333333333331, + "Red Component": 0.33333333333333331 + }, + "Ansi 9 Color": { + "Green Component": 0.33333333333333331, + "Blue Component": 0.33333333333333331, + "Red Component": 1 + }, + "Ansi 1 Color": { + "Green Component": 0.3333333432674408, + "Blue Component": 0.3333333432674408, + "Red Component": 1 + }, + "Ansi 2 Color": { + "Green Component": 0.98039215686274506, + "Blue Component": 0.4823529411764706, + "Red Component": 0.31372549019607843 + } + } + ] +} From 4dd5799a81a66d9436a0c9e4af6aa27dfa710cd2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 15:22:54 +0100 Subject: [PATCH 0468/2080] lsp: enable jsonls --- .config/nvim/lua/config/lsp.lua | 6 ++++++ .config/nvim/lua/config/mason-lspconfig.lua | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index f4f14079..1911adee 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -182,10 +182,16 @@ require("ltex-ls").setup({ }, }) +lspconfig["jsonls"].setup({ + on_attach = on_attach, + flags = lsp_flags, +}) + lspconfig["marksman"].setup({ on_attach = on_attach, flags = lsp_flags, }) + lspconfig["pylsp"].setup({ on_attach = on_attach, flags = lsp_flags, diff --git a/.config/nvim/lua/config/mason-lspconfig.lua b/.config/nvim/lua/config/mason-lspconfig.lua index 72908ec3..38738847 100644 --- a/.config/nvim/lua/config/mason-lspconfig.lua +++ b/.config/nvim/lua/config/mason-lspconfig.lua @@ -5,7 +5,7 @@ require("mason-lspconfig").setup({ "bashls", -- "grammarly", -- "html", - -- "jsonls", + "jsonls", -- "lemminx", "ltex", "marksman", From b52c915961a3abb423177a352a1668b5e3aaadfd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 15:04:50 +0100 Subject: [PATCH 0469/2080] Make kitty conf mac-specific --- .config/kitty/{kitty.conf => kitty.conf##os.Darwin} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .config/kitty/{kitty.conf => kitty.conf##os.Darwin} (100%) diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf##os.Darwin similarity index 100% rename from .config/kitty/kitty.conf rename to .config/kitty/kitty.conf##os.Darwin From cfe9cdc4da7e71992a55ecf346dc5349a1ee8115 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 15:25:33 +0100 Subject: [PATCH 0470/2080] iTerm2 conf only for mac --- .../iTerm2/DynamicProfiles/{Perso.json => Perso.json##os.Darwin} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Library/Application Support/iTerm2/DynamicProfiles/{Perso.json => Perso.json##os.Darwin} (100%) diff --git a/Library/Application Support/iTerm2/DynamicProfiles/Perso.json b/Library/Application Support/iTerm2/DynamicProfiles/Perso.json##os.Darwin similarity index 100% rename from Library/Application Support/iTerm2/DynamicProfiles/Perso.json rename to Library/Application Support/iTerm2/DynamicProfiles/Perso.json##os.Darwin From e4a8a3e45339eea9441c6ff57e3d689dde4e2680 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 22 Nov 2022 19:35:51 +0100 Subject: [PATCH 0471/2080] Update kitty conf --- .config/kitty/kitty.conf##os.Darwin | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.config/kitty/kitty.conf##os.Darwin b/.config/kitty/kitty.conf##os.Darwin index 3c8fc32e..1aa13cb0 100644 --- a/.config/kitty/kitty.conf##os.Darwin +++ b/.config/kitty/kitty.conf##os.Darwin @@ -1,5 +1,12 @@ # font_family MesloLGS NF +# font_family Hack +# font_family Caskaydia Cove Nerd Font font_family Cascadia Code PL font_size 18 disable_ligatures never + +enable_audio_bell no + include dracula.conf + +open_url_modifiers ctrl From f31663b982bfc2f91bc9279630a33081c268cead Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 22 Nov 2022 19:37:01 +0100 Subject: [PATCH 0472/2080] Add kitty conf for linux --- .config/kitty/kitty.conf##os.Linux | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .config/kitty/kitty.conf##os.Linux diff --git a/.config/kitty/kitty.conf##os.Linux b/.config/kitty/kitty.conf##os.Linux new file mode 100644 index 00000000..6556c1fa --- /dev/null +++ b/.config/kitty/kitty.conf##os.Linux @@ -0,0 +1,12 @@ +# font_family MesloLGS NF +# font_family Hack +# font_family Caskaydia Cove Nerd Font +font_family Cascadia Code PL +font_size 14 +disable_ligatures never + +enable_audio_bell no + +include dracula.conf + +open_url_modifiers ctrl From 1b875294f44fd63b42eefd7265880b74177c6a1c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 17:49:04 +0100 Subject: [PATCH 0473/2080] null-ls: enable black --- .config/nvim/lua/config/null-ls.lua | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.config/nvim/lua/config/null-ls.lua b/.config/nvim/lua/config/null-ls.lua index 228ab866..a2f3663a 100644 --- a/.config/nvim/lua/config/null-ls.lua +++ b/.config/nvim/lua/config/null-ls.lua @@ -12,6 +12,7 @@ null_ls.setup({ null_ls.builtins.code_actions.gitsigns, null_ls.builtins.code_actions.shellcheck, -- formatters + null_ls.builtins.formatting.black, null_ls.builtins.formatting.prettier, null_ls.builtins.formatting.shfmt, null_ls.builtins.formatting.stylua, @@ -46,8 +47,3 @@ null_ls.setup({ end end, }) - --- Format file -vim.cmd("map <Leader>lf :lua vim.lsp.buf.format(nil, 10000)<CR>") --- Format selection -vim.cmd("map <Leader>lF :lua vim.lsp.buf.range_formatting()<CR>") From 98d951d1e4f063289b30d0065f2a6ad59319cdf9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 17:49:56 +0100 Subject: [PATCH 0474/2080] lsp: fight with python --- .config/nvim/lua/config/lsp.lua | 50 ++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 10 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 1911adee..42c072a8 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -182,34 +182,64 @@ require("ltex-ls").setup({ }, }) +lspconfig["yamlls"].setup({ + on_attach = on_attach, + flags = lsp_flags, + capabilities = capabilities, +}) + lspconfig["jsonls"].setup({ on_attach = on_attach, flags = lsp_flags, + capabilities = capabilities, }) lspconfig["marksman"].setup({ on_attach = on_attach, flags = lsp_flags, + capabilities = capabilities, }) -lspconfig["pylsp"].setup({ +lspconfig["pyright"].setup({ on_attach = on_attach, flags = lsp_flags, + capabilities = capabilities, settings = { - pylsp = { - plugins = { - pylint = { enabled = true, executable = "pylint" }, - pyflakes = { enabled = false }, - pycodestyle = { enabled = false }, - jedi_completion = { fuzzy = true }, - pyls_isort = { enabled = true }, - pylsp_mypy = { enabled = true }, + python = { + analysis = { + autoSearchPaths = true, + diagnosticMode = "workspace", + useLibraryCodeForTypes = true, }, }, }, - capabilities = capabilities, }) +-- lspconfig["pylsp"].setup({ +-- on_attach = on_attach, +-- flags = lsp_flags, +-- settings = { +-- pylsp = { +-- plugins = { +-- -- Struggling to import pacakge from local virtualenv +-- pylint = { enabled = false, executable = "pylint" }, +-- pyflakes = { enabled = true }, +-- pycodestyle = { enabled = false }, +-- jedi_completion = { fuzzy = true }, +-- pyls_isort = { enabled = true }, +-- pylsp_mypy = { enabled = false }, +-- }, +-- }, +-- }, +-- capabilities = capabilities, +-- }) + +-- lspconfig["jedi_language_server"].setup({ +-- on_attach = on_attach, +-- flags = lsp_flags, +-- capabilities = capabilities, +-- }) + if utils.executable("lua-language-server") then lspconfig["sumneko_lua"].setup({ on_attach = on_attach, From 46750bc3db171448d16dff05049cc7b06b03ce6a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 17:50:25 +0100 Subject: [PATCH 0475/2080] Install black and jedi-language-server --- .config/nvim/lua/config/mason-tool-installer.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/nvim/lua/config/mason-tool-installer.lua b/.config/nvim/lua/config/mason-tool-installer.lua index a82554f9..c99ec4bc 100644 --- a/.config/nvim/lua/config/mason-tool-installer.lua +++ b/.config/nvim/lua/config/mason-tool-installer.lua @@ -1,6 +1,8 @@ require("mason-tool-installer").setup({ ensure_installed = { "alex", + "black", + "jedi-language-server", "stylua", "markdownlint", "pylint", From 7a68a739c5336117f2a5a22ff90a810d82dbd3b0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 17:50:56 +0100 Subject: [PATCH 0476/2080] LSP: add pyright and yamlls --- .config/nvim/lua/config/mason-lspconfig.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/mason-lspconfig.lua b/.config/nvim/lua/config/mason-lspconfig.lua index 38738847..74ed27a1 100644 --- a/.config/nvim/lua/config/mason-lspconfig.lua +++ b/.config/nvim/lua/config/mason-lspconfig.lua @@ -10,11 +10,14 @@ require("mason-lspconfig").setup({ "ltex", "marksman", -- "prosemd_lsp", + -- Struggling with plugins and pylint + -- https://github.com/williamboman/mason-lspconfig.nvim/blob/main/lua/mason-lspconfig/server_configurations/pylsp/README.md "pylsp", + "pyright", -- "ruby_ls", "sumneko_lua", "vimls", - -- "yamlls", + "yamlls", }, automatic_installation = true, }) From 26e646a237023603d3f922acf08180ec8e7f3ee8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 17:51:31 +0100 Subject: [PATCH 0477/2080] which-key: bidning for formatting --- .config/nvim/lua/config/which-key.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index 2346202a..842ba463 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -142,7 +142,10 @@ local mappings = { a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" }, d = { "<cmd>Telescope diagnostics bufnr=0 theme=get_ivy<cr>", "Buffer Diagnostics" }, w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, - -- f = { require("lvim.lsp.utils").format, "Format" }, + -- Format file + f = { "<cmd>lua vim.lsp.buf.format(nil, 10000)<cr>", "Format" }, + -- Format selection + F = { "<cmd>lua vim.lsp.buf.range_formating()<cr>", "Format selection" }, i = { "<cmd>LspInfo<cr>", "Info" }, I = { "<cmd>Mason<cr>", "Mason Info" }, j = { From 9e69f7154423012b7da0b0d7334a4beea2e36d7b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 22 Nov 2022 22:12:39 +0100 Subject: [PATCH 0478/2080] lsp: swith to pyright, enable ansiblels --- .config/nvim/lua/config/lsp.lua | 51 +++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 42c072a8..c853595a 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -216,24 +216,35 @@ lspconfig["pyright"].setup({ }) -- lspconfig["pylsp"].setup({ --- on_attach = on_attach, --- flags = lsp_flags, --- settings = { --- pylsp = { --- plugins = { --- -- Struggling to import pacakge from local virtualenv --- pylint = { enabled = false, executable = "pylint" }, --- pyflakes = { enabled = true }, --- pycodestyle = { enabled = false }, --- jedi_completion = { fuzzy = true }, --- pyls_isort = { enabled = true }, --- pylsp_mypy = { enabled = false }, --- }, +-- on_attach = on_attach, +-- flags = lsp_flags, +-- settings = { +-- pylsp = { +-- plugins = { +-- jedi_completion = { enabled = true }, +-- jedi_hover = { enabled = true }, +-- jedi_references = { enabled = true }, +-- jedi_signature_help = { enabled = true }, +-- jedi_symbols = { enabled = true, all_scopes = true }, +-- pycodestyle = { enabled = false }, +-- flake8 = { +-- enabled = true, +-- maxLineLength = 160, -- }, +-- mypy = { enabled = false }, +-- pylsp_mypy = { enabled = false }, +-- -- Struggling to import pacakge from local virtualenv +-- pylint = { enabled = false }, +-- pyflakes = { enabled = false }, +-- pycodestyle = { enabled = false }, +-- jedi_completion = { fuzzy = true }, +-- pyls_isort = { enabled = true }, +-- }, -- }, --- capabilities = capabilities, +-- }, +-- capabilities = capabilities, -- }) - +-- -- lspconfig["jedi_language_server"].setup({ -- on_attach = on_attach, -- flags = lsp_flags, @@ -292,12 +303,10 @@ if utils.executable("bash-language-server") then }) end -if utils.executable("ansible-language-server") then - lspconfig.ansiblels.setup({ - on_attach = on_attach, - capabilities = capabilities, - }) -end +lspconfig.ansiblels.setup({ + on_attach = on_attach, + capabilities = capabilities, +}) if utils.executable("clangd") then lspconfig.clangd.setup({ From fcaef351ac7d898e299912e8943bf42f8ef4d338 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 22 Nov 2022 22:47:50 +0100 Subject: [PATCH 0479/2080] Import gh config --- .config/gh/config.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .config/gh/config.yml diff --git a/.config/gh/config.yml b/.config/gh/config.yml new file mode 100644 index 00000000..b5744cf8 --- /dev/null +++ b/.config/gh/config.yml @@ -0,0 +1,11 @@ +# What protocol to use when performing git operations. Supported values: ssh, https +git_protocol: ssh +# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment. +editor: +# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled +prompt: enabled +# A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager. +pager: +# Aliases allow you to create nicknames for gh commands +aliases: + co: pr checkout From 5453e14ab9440cb82bdea7a56b3eb0e4e7e52dc8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 23 Nov 2022 01:02:51 +0100 Subject: [PATCH 0480/2080] lsp: change diagnostic handling. --- .config/nvim/lua/config/lsp.lua | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index c853595a..435bea8e 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -28,10 +28,10 @@ lsp.handlers["textDocument/hover"] = lsp.with(vim.lsp.handlers.hover, { }) lsp.handlers["textDocument/publishDiagnostics"] = lsp.with(lsp.diagnostic.on_publish_diagnostics, { - underline = false, + underline = true, virtual_text = false, signs = true, - update_in_insert = false, + update_in_insert = true, }) -- To be used to display LSP diagnostic window details when on an error @@ -40,10 +40,10 @@ local on_attach = function(client, bufnr) -- See `:help vim.diagnostic.*` for documentation on any of the below functions local opts = { noremap = true, silent = true } vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) - -- vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts) + vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist, opts) -- Enable completion triggered by <c-x><c-o> - -- vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') + vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") local map = function(mode, l, r, opts) opts = opts or {} @@ -68,11 +68,6 @@ local on_attach = function(client, bufnr) vim.inspect(lsp.buf.list_workspace_folders()) end, { desc = "list workspace folder" }) - -- Set some key bindings conditional on server capabilities - if client.server_capabilities.documentFormattingProvider then - map("n", "<space>f", lsp.buf.format, { desc = "format code" }) - end - api.nvim_create_autocmd("CursorHold", { buffer = bufnr, callback = function() From c0d99d69ec216688df564bbcada5903a4da6135e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 23 Nov 2022 01:03:56 +0100 Subject: [PATCH 0481/2080] No more install pylsp --- .config/nvim/lua/config/mason-lspconfig.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/mason-lspconfig.lua b/.config/nvim/lua/config/mason-lspconfig.lua index 74ed27a1..030e855c 100644 --- a/.config/nvim/lua/config/mason-lspconfig.lua +++ b/.config/nvim/lua/config/mason-lspconfig.lua @@ -12,7 +12,7 @@ require("mason-lspconfig").setup({ -- "prosemd_lsp", -- Struggling with plugins and pylint -- https://github.com/williamboman/mason-lspconfig.nvim/blob/main/lua/mason-lspconfig/server_configurations/pylsp/README.md - "pylsp", + -- "pylsp", "pyright", -- "ruby_ls", "sumneko_lua", From b6d88d35e02849bc9aa918f9d90a3c1187554279 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 23 Nov 2022 01:04:17 +0100 Subject: [PATCH 0482/2080] mason: do not install jedi-language-server --- .config/nvim/lua/config/mason-tool-installer.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/mason-tool-installer.lua b/.config/nvim/lua/config/mason-tool-installer.lua index c99ec4bc..e28b4f22 100644 --- a/.config/nvim/lua/config/mason-tool-installer.lua +++ b/.config/nvim/lua/config/mason-tool-installer.lua @@ -2,7 +2,7 @@ require("mason-tool-installer").setup({ ensure_installed = { "alex", "black", - "jedi-language-server", + -- "jedi-language-server", "stylua", "markdownlint", "pylint", From b43283824f9ee6631a9e7a504b0010254d08fe42 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 23 Nov 2022 01:05:17 +0100 Subject: [PATCH 0483/2080] keymap: Need to add something for trouble --- .config/nvim/lua/config/which-key.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index 842ba463..2ad66234 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -54,6 +54,7 @@ local mappings = { "Colorscheme with Preview", }, }, + -- Need to add something for trouble -- looks like duplicated T = { name = "Treesitter", @@ -129,6 +130,7 @@ local mappings = { b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" }, C = { + -- Need to add something for trouble "<cmd>Telescope git_bcommits<cr>", "Checkout commit(for current file)", }, From 9724f803218167b3b962fc0b78376db4227e8419 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 23 Nov 2022 09:35:43 +0100 Subject: [PATCH 0484/2080] Rename Perso.json##os.Darwin to Perso.json --- .../iTerm2/DynamicProfiles/{Perso.json##os.Darwin => Perso.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Library/Application Support/iTerm2/DynamicProfiles/{Perso.json##os.Darwin => Perso.json} (100%) diff --git a/Library/Application Support/iTerm2/DynamicProfiles/Perso.json##os.Darwin b/Library/Application Support/iTerm2/DynamicProfiles/Perso.json similarity index 100% rename from Library/Application Support/iTerm2/DynamicProfiles/Perso.json##os.Darwin rename to Library/Application Support/iTerm2/DynamicProfiles/Perso.json From 3de2ec146bff1521a46f94cb9d7348843ef85284 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 12:40:17 +0100 Subject: [PATCH 0485/2080] plugins: enable session manager and dressing --- .config/nvim/lua/plugins.lua | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index bde8d214..a4e824d6 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -442,10 +442,37 @@ return require("packer").startup(function(use) "goolord/alpha-nvim", requires = { "kyazdani42/nvim-web-devicons" }, config = function() + -- startify, dashboard + -- XXX shortcuts are not aligned with dashboard theme require("alpha").setup(require("alpha.themes.startify").config) end, }) + -- Neovim plugin to improve the default vim.ui interfaces + use({ + "stevearc/dressing.nvim", + config = function() + require("dressing").setup({}) + end, + }) + + -- Session manager + use({ + "Shatur/neovim-session-manager", + config = function() + require("session_manager").setup({}) + local config_group = vim.api.nvim_create_augroup("MyConfigGroup", {}) -- A global group for all your config autocommands + + vim.api.nvim_create_autocmd({ "User" }, { + pattern = "SessionLoadPost", + group = config_group, + callback = function() + require("nvim-tree").toggle(false, true) + end, + }) + end, + }) + -- Notifications use("rcarriga/nvim-notify") -- use 'vigoux/notifier.nvim' From b99ba37f8757e1e9653d62f9a1ba4da2c4914caf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 12:40:53 +0100 Subject: [PATCH 0486/2080] lsp: load flags --- .config/nvim/lua/config/lsp.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 435bea8e..fac1e743 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -294,12 +294,14 @@ end if utils.executable("bash-language-server") then lspconfig.bashls.setup({ on_attach = on_attach, + flags = lsp_flags, capabilities = capabilities, }) end lspconfig.ansiblels.setup({ on_attach = on_attach, + flags = lsp_flags, capabilities = capabilities, }) From be2c80ea59016d9c795036967b6168f693dd1fa3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 12:41:32 +0100 Subject: [PATCH 0487/2080] init.lua: set yaml.ansible when appropriate --- .config/nvim/init.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 2ff05e2f..05251582 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -169,5 +169,13 @@ keymap.set("t", "<C-k>", "<C-\\><C-N><C-w>k", term_opts) keymap.set("t", "<C-l>", "<C-\\><C-N><C-w>l", term_opts) -- }}} +-- Autocommand that update file type for ansible files +vim.cmd([[ + augroup set_ansible_ft + autocmd! + autocmd BufRead,BufNewFile *.yaml, *.yaml if search('hosts:\|tasks:', 'nw') | set ft=yaml.ansible | endif + augroup end +]]) + -- Bootstrap packer and install plugins require("plugins") From 20e73a6d18d3081bf776ee7db5701228d279ad66 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 12:42:02 +0100 Subject: [PATCH 0488/2080] Disable treesitter highligting --- .config/nvim/lua/config/treesitter.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.config/nvim/lua/config/treesitter.lua b/.config/nvim/lua/config/treesitter.lua index cb94bf06..0b4c07a5 100644 --- a/.config/nvim/lua/config/treesitter.lua +++ b/.config/nvim/lua/config/treesitter.lua @@ -14,15 +14,15 @@ treesitter.setup({ -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally auto_install = true, autotag = { - enable = true, + enable = false, }, highlight = { -- `false` will disable the whole extension - enable = true, + enable = false, }, -- Rainbow parentheses for neovim using tree-sitter. rainbow = { - enable = true, + enable = false, -- disable = { "jsx", "cpp" }, list of languages you want to disable the plugin for extended_mode = true, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean max_file_lines = nil, -- Do not enable for files with more than n lines, int @@ -36,6 +36,6 @@ treesitter.setup({ additional_vim_regex_highlighting = false, -- enable comment string context_commentstring = { - enable = true, + enable = false, }, }) From 99016f506f01356e8b6bde6a6758ea7e1c0c1fea Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 14:28:15 +0100 Subject: [PATCH 0489/2080] init.lua: set yaml.ansible only when needed --- .config/nvim/init.lua | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 05251582..c8e23955 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -8,6 +8,7 @@ -- Requirements -- GNU/Linux: xsel +local api = vim.api local g = vim.g local keymap = vim.keymap local opt = vim.opt @@ -111,7 +112,7 @@ opt.listchars = { -- spell - used by ltex-ls too opt.spelllang = { "en", "fr" } -opt.spellfile = table.concat(vim.api.nvim_get_runtime_file("spell/*.add", true) or {}, ",") +opt.spellfile = table.concat(api.nvim_get_runtime_file("spell/*.add", true) or {}, ",") opt.spelloptions = { "noplainbuffer" } -- Search configuration @@ -170,12 +171,27 @@ keymap.set("t", "<C-l>", "<C-\\><C-N><C-w>l", term_opts) -- }}} -- Autocommand that update file type for ansible files -vim.cmd([[ - augroup set_ansible_ft - autocmd! - autocmd BufRead,BufNewFile *.yaml, *.yaml if search('hosts:\|tasks:', 'nw') | set ft=yaml.ansible | endif - augroup end -]]) +-- vim.cmd([[ +-- augroup set_ansible_ft +-- autocmd! +-- autocmd BufRead,BufNewFile *.yml, *.yaml if search('ansible\.\|roles:\|hosts:\|tasks:', 'nw') | set ft=yaml.ansible | endif +-- augroup end +-- ]]) +local set_as_ansible = function(bufnr) + bufnr = bufnr or vim.api.nvim_get_current_buf() + local buffer_lines = api.nvim_buf_get_lines(bufnr, 0, -1, true) + for _, buffer_line in pairs(buffer_lines) do + if string.find(buffer_line, "ansible%..+:") then + opt.filetype = "yaml.ansible" + end + end +end +api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { + pattern = { "*.yaml", "*.yml" }, + callback = function() + set_as_ansible() + end, +}) -- Bootstrap packer and install plugins require("plugins") From 21a90212aa27b40e64e07b955fae4a05192fd384 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 15:04:02 +0100 Subject: [PATCH 0490/2080] null-ls: disable auto format, enable ansiblelint, isort and flake8 --- .config/nvim/lua/config/null-ls.lua | 31 ++++++++++++++++------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/.config/nvim/lua/config/null-ls.lua b/.config/nvim/lua/config/null-ls.lua index a2f3663a..ed1bb389 100644 --- a/.config/nvim/lua/config/null-ls.lua +++ b/.config/nvim/lua/config/null-ls.lua @@ -13,16 +13,18 @@ null_ls.setup({ null_ls.builtins.code_actions.shellcheck, -- formatters null_ls.builtins.formatting.black, + null_ls.builtins.formatting.isort, null_ls.builtins.formatting.prettier, null_ls.builtins.formatting.shfmt, null_ls.builtins.formatting.stylua, -- diagnostics + null_ls.builtins.diagnostics.flake8, null_ls.builtins.diagnostics.alex, null_ls.builtins.diagnostics.markdownlint.with({ extra_args = { "--config", vim.fn.expand("~/.config/nvim/.markdownlint.json") }, }), null_ls.builtins.diagnostics.shellcheck, - -- null_ls.builtins.diagnostics.ansiblelint, + null_ls.builtins.diagnostics.ansiblelint, -- null_ls.builtins.diagnostics.checkmake, -- null_ls.builtins.diagnostics.write_good, -- completion @@ -31,19 +33,20 @@ null_ls.setup({ -- hover null_ls.builtins.hover.dictionary, -- dictionary }, + diagnostics_format = "[#{c}] #{m} (#{s})", -- format file on save -- you can reuse a shared lspconfig on_attach callback here - on_attach = function(client, bufnr) - if client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead - vim.lsp.buf.format({ bufnr = bufnr }) - end, - }) - end - end, + -- on_attach = function(client, bufnr) + -- if client.supports_method("textDocument/formatting") then + -- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) + -- vim.api.nvim_create_autocmd("BufWritePre", { + -- group = augroup, + -- buffer = bufnr, + -- callback = function() + -- -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead + -- vim.lsp.buf.format({ bufnr = bufnr }) + -- end, + -- }) + -- end + -- end, }) From 3fd71b92316f5b5fa7140097cc2ee188fddbc4e3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 15:57:43 +0100 Subject: [PATCH 0491/2080] zsh: use colordiff if available --- .zshrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.zshrc b/.zshrc index b027cffe..36b3a298 100644 --- a/.zshrc +++ b/.zshrc @@ -504,6 +504,10 @@ if [ -x "$HOME/bin/gamadv-xtd3/gam" ]; then alias gam="$HOME/bin/gamadv-xtd3/gam" fi # }}} +# +if (( $+commands[colordiff] )); then + alias diff="colordiff" +fi # Ensure that appropriate env var are set for gnome-keyring SSH agent if [ -n "$DESKTOP_SESSION" ]; then From 67e1589398e40f7b4a58cd13ae9d5913e00e4b3f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:13:37 +0100 Subject: [PATCH 0492/2080] Update missing tasks --- .config/nvim/init.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index c8e23955..322bbc4f 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -14,15 +14,19 @@ local keymap = vim.keymap local opt = vim.opt -- Missing {{{ --- * Word completion from words in all buffers -- * spell check using ltex, allowing to add exception to a custom file --- * Lookg for possibly duplicated keymaps +-- * Look for possibly duplicated keymaps +-- * Manage all keympas in a central place, in which-key +-- * Test Neorg: https://github.com/nvim-neorg/neorg +-- * Fix treesitter usage +-- * Fix rainbow brackets +-- * Fix highlight of yaml.ansible using ansible-language-server -- * mutt/mail setup: +-- * Completion from address from khard -- * https://opensource.com/article/20/1/vim-email-calendar -- * https://github.com/soywod/himalaya -- * https://git.sr.ht/~soywod/himalaya-vim --- * Test Neorg: https://github.com/nvim-neorg/neorg --- * Fix rainbow brackets +-- * ensure flake8 isn't run twice (from pyright and null-ls) -- }}} -- Speed up startup From 399b2e63aa8896c0ccb39005195b7fbc21c7d7e5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:14:00 +0100 Subject: [PATCH 0493/2080] null-ls: update builtins list --- .config/nvim/lua/config/null-ls.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/null-ls.lua b/.config/nvim/lua/config/null-ls.lua index ed1bb389..8c621869 100644 --- a/.config/nvim/lua/config/null-ls.lua +++ b/.config/nvim/lua/config/null-ls.lua @@ -12,12 +12,14 @@ null_ls.setup({ null_ls.builtins.code_actions.gitsigns, null_ls.builtins.code_actions.shellcheck, -- formatters - null_ls.builtins.formatting.black, null_ls.builtins.formatting.isort, + null_ls.builtins.formatting.black, null_ls.builtins.formatting.prettier, null_ls.builtins.formatting.shfmt, + null_ls.builtins.formatting.beautysh, null_ls.builtins.formatting.stylua, -- diagnostics + null_ls.builtins.diagnostics.actionlint, null_ls.builtins.diagnostics.flake8, null_ls.builtins.diagnostics.alex, null_ls.builtins.diagnostics.markdownlint.with({ @@ -25,6 +27,7 @@ null_ls.setup({ }), null_ls.builtins.diagnostics.shellcheck, null_ls.builtins.diagnostics.ansiblelint, + null_ls.builtins.diagnostics.zsh, -- null_ls.builtins.diagnostics.checkmake, -- null_ls.builtins.diagnostics.write_good, -- completion From 0819c16aff13853ef33c73895e1682b04f66c0fd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:16:18 +0100 Subject: [PATCH 0494/2080] Merged with mason-lspconfig.lua --- .config/nvim/lua/config/mason-tool-installer.lua | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 .config/nvim/lua/config/mason-tool-installer.lua diff --git a/.config/nvim/lua/config/mason-tool-installer.lua b/.config/nvim/lua/config/mason-tool-installer.lua deleted file mode 100644 index e28b4f22..00000000 --- a/.config/nvim/lua/config/mason-tool-installer.lua +++ /dev/null @@ -1,16 +0,0 @@ -require("mason-tool-installer").setup({ - ensure_installed = { - "alex", - "black", - -- "jedi-language-server", - "stylua", - "markdownlint", - "pylint", - "prettier", - "shellcheck", - "shfmt", - }, - auto_update = true, - run_on_start = true, - tart_delay = 3000, -- 3 second delay -}) From f3e3b1aff1d170ace2baa3352a920579f0f228b7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:22:52 +0100 Subject: [PATCH 0495/2080] lsp: disalbe ansible lint for ansiblels, prefer formatting using null-ls --- .config/nvim/lua/config/lsp.lua | 52 ++++++++++----------------------- 1 file changed, 16 insertions(+), 36 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index fac1e743..a8572bff 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -42,6 +42,12 @@ local on_attach = function(client, bufnr) vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist, opts) + -- turn off formatting for some lsp, to use the ones from null-ls + if client.name == 'pyright' or client.name == 'jsonls' then + client.server_capabilities.document_formatting = false + client.server_capabilities.document_range_formatting = false + end + -- Enable completion triggered by <c-x><c-o> vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") @@ -210,42 +216,6 @@ lspconfig["pyright"].setup({ }, }) --- lspconfig["pylsp"].setup({ --- on_attach = on_attach, --- flags = lsp_flags, --- settings = { --- pylsp = { --- plugins = { --- jedi_completion = { enabled = true }, --- jedi_hover = { enabled = true }, --- jedi_references = { enabled = true }, --- jedi_signature_help = { enabled = true }, --- jedi_symbols = { enabled = true, all_scopes = true }, --- pycodestyle = { enabled = false }, --- flake8 = { --- enabled = true, --- maxLineLength = 160, --- }, --- mypy = { enabled = false }, --- pylsp_mypy = { enabled = false }, --- -- Struggling to import pacakge from local virtualenv --- pylint = { enabled = false }, --- pyflakes = { enabled = false }, --- pycodestyle = { enabled = false }, --- jedi_completion = { fuzzy = true }, --- pyls_isort = { enabled = true }, --- }, --- }, --- }, --- capabilities = capabilities, --- }) --- --- lspconfig["jedi_language_server"].setup({ --- on_attach = on_attach, --- flags = lsp_flags, --- capabilities = capabilities, --- }) - if utils.executable("lua-language-server") then lspconfig["sumneko_lua"].setup({ on_attach = on_attach, @@ -299,10 +269,20 @@ if utils.executable("bash-language-server") then }) end +-- https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/server_configurations/ansiblels.lua lspconfig.ansiblels.setup({ on_attach = on_attach, flags = lsp_flags, capabilities = capabilities, + -- use ansible-lint only via null-ls + settings = { + ansible = { + ansibleLint = { + enabled = false + } + } + + } }) if utils.executable("clangd") then From 13f93de36957ee32129b2edd7193c533155c597d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:23:08 +0100 Subject: [PATCH 0496/2080] Merge content for mason-tool-installer. --- .config/nvim/lua/config/mason-lspconfig.lua | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.config/nvim/lua/config/mason-lspconfig.lua b/.config/nvim/lua/config/mason-lspconfig.lua index 030e855c..ea310746 100644 --- a/.config/nvim/lua/config/mason-lspconfig.lua +++ b/.config/nvim/lua/config/mason-lspconfig.lua @@ -1,4 +1,23 @@ require("mason").setup() +require("mason-tool-installer").setup({ + ensure_installed = { + "alex", + "actionlint", + "black", + "beautysh", + "isort", + -- "jedi-language-server", + "stylua", + "markdownlint", + "pylint", + "prettier", + "shellcheck", + "shfmt", + }, + auto_update = true, + run_on_start = true, + tart_delay = 3000, -- 3 second delay +}) require("mason-lspconfig").setup({ ensure_installed = { "ansiblels", From aab410e660dc9ca740009310ec698fb468f781e9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:24:40 +0100 Subject: [PATCH 0497/2080] Rename file --- .config/nvim/lua/config/{mason-lspconfig.lua => mason.lua} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .config/nvim/lua/config/{mason-lspconfig.lua => mason.lua} (100%) diff --git a/.config/nvim/lua/config/mason-lspconfig.lua b/.config/nvim/lua/config/mason.lua similarity index 100% rename from .config/nvim/lua/config/mason-lspconfig.lua rename to .config/nvim/lua/config/mason.lua From 7eb8b5b3ca8807d89c5b5dd469c3795756343253 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:30:10 +0100 Subject: [PATCH 0498/2080] null-ls: conent moved to config.lsp --- .config/nvim/lua/config/null-ls.lua | 55 ----------------------------- 1 file changed, 55 deletions(-) diff --git a/.config/nvim/lua/config/null-ls.lua b/.config/nvim/lua/config/null-ls.lua index 8c621869..e69de29b 100644 --- a/.config/nvim/lua/config/null-ls.lua +++ b/.config/nvim/lua/config/null-ls.lua @@ -1,55 +0,0 @@ --- https://smarttech101.com/nvim-lsp-set-up-null-ls-for-beginners/ --- https://github.com/Clumsy-Coder/dotfiles/commit/e81edc159f3fc9ef189e0300d280461e75732a4b -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) -local null_ls = require("null-ls") - --- Available builtins: https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md --- Check if packate is available using :echo executable("shfmt") - -null_ls.setup({ - sources = { - -- code actions - null_ls.builtins.code_actions.gitsigns, - null_ls.builtins.code_actions.shellcheck, - -- formatters - null_ls.builtins.formatting.isort, - null_ls.builtins.formatting.black, - null_ls.builtins.formatting.prettier, - null_ls.builtins.formatting.shfmt, - null_ls.builtins.formatting.beautysh, - null_ls.builtins.formatting.stylua, - -- diagnostics - null_ls.builtins.diagnostics.actionlint, - null_ls.builtins.diagnostics.flake8, - null_ls.builtins.diagnostics.alex, - null_ls.builtins.diagnostics.markdownlint.with({ - extra_args = { "--config", vim.fn.expand("~/.config/nvim/.markdownlint.json") }, - }), - null_ls.builtins.diagnostics.shellcheck, - null_ls.builtins.diagnostics.ansiblelint, - null_ls.builtins.diagnostics.zsh, - -- null_ls.builtins.diagnostics.checkmake, - -- null_ls.builtins.diagnostics.write_good, - -- completion - -- XXX spell is disabled - -- null_ls.builtins.completion.spell, - -- hover - null_ls.builtins.hover.dictionary, -- dictionary - }, - diagnostics_format = "[#{c}] #{m} (#{s})", - -- format file on save - -- you can reuse a shared lspconfig on_attach callback here - -- on_attach = function(client, bufnr) - -- if client.supports_method("textDocument/formatting") then - -- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - -- vim.api.nvim_create_autocmd("BufWritePre", { - -- group = augroup, - -- buffer = bufnr, - -- callback = function() - -- -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead - -- vim.lsp.buf.format({ bufnr = bufnr }) - -- end, - -- }) - -- end - -- end, -}) From a47ee0e667f42ab97349ea7c3cffd40b65524914 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:30:28 +0100 Subject: [PATCH 0499/2080] lsp: import content from null-ls --- .config/nvim/lua/config/lsp.lua | 56 +++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index a8572bff..5a981bb2 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -7,6 +7,7 @@ local keymap = vim.keymap local lsp = vim.lsp local lspconfig = require("lspconfig") local utils = require("utils") +local null_ls = require("null-ls") -- global config for diagnostic diagnostic.config({ @@ -297,3 +298,58 @@ if utils.executable("clangd") then else vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) end + +-- https://smarttech101.com/nvim-lsp-set-up-null-ls-for-beginners/ +-- https://github.com/Clumsy-Coder/dotfiles/commit/e81edc159f3fc9ef189e0300d280461e75732a4b +local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) + +-- Available builtins: https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md +-- Check if packate is available using :echo executable("shfmt") + +null_ls.setup({ + sources = { + -- code actions + null_ls.builtins.code_actions.gitsigns, + null_ls.builtins.code_actions.shellcheck, + -- formatters + null_ls.builtins.formatting.isort, + null_ls.builtins.formatting.black, + null_ls.builtins.formatting.prettier, + null_ls.builtins.formatting.shfmt, + null_ls.builtins.formatting.beautysh, + null_ls.builtins.formatting.stylua, + -- diagnostics + null_ls.builtins.diagnostics.actionlint, + null_ls.builtins.diagnostics.flake8, + null_ls.builtins.diagnostics.alex, + null_ls.builtins.diagnostics.markdownlint.with({ + extra_args = { "--config", vim.fn.expand("~/.config/nvim/.markdownlint.json") }, + }), + null_ls.builtins.diagnostics.shellcheck, + null_ls.builtins.diagnostics.ansiblelint, + null_ls.builtins.diagnostics.zsh, + -- null_ls.builtins.diagnostics.checkmake, + -- null_ls.builtins.diagnostics.write_good, + -- completion + -- XXX spell is disabled + -- null_ls.builtins.completion.spell, + -- hover + null_ls.builtins.hover.dictionary, -- dictionary + }, + diagnostics_format = "[#{c}] #{m} (#{s})", + -- format file on save + -- you can reuse a shared lspconfig on_attach callback here + -- on_attach = function(client, bufnr) + -- if client.supports_method("textDocument/formatting") then + -- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) + -- vim.api.nvim_create_autocmd("BufWritePre", { + -- group = augroup, + -- buffer = bufnr, + -- callback = function() + -- -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead + -- vim.lsp.buf.format({ bufnr = bufnr }) + -- end, + -- }) + -- end + -- end, +}) From b6334f4dcf379d14ee7c6efd234465f932beb71d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:30:52 +0100 Subject: [PATCH 0500/2080] null-ls: deleted --- .config/nvim/lua/config/null-ls.lua | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .config/nvim/lua/config/null-ls.lua diff --git a/.config/nvim/lua/config/null-ls.lua b/.config/nvim/lua/config/null-ls.lua deleted file mode 100644 index e69de29b..00000000 From cc6311bb2e879243305c3a89bef95b3a47ed8329 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:53:31 +0100 Subject: [PATCH 0501/2080] Spacing --- .config/nvim/lua/config/mason.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/nvim/lua/config/mason.lua b/.config/nvim/lua/config/mason.lua index ea310746..993bea5e 100644 --- a/.config/nvim/lua/config/mason.lua +++ b/.config/nvim/lua/config/mason.lua @@ -1,4 +1,5 @@ require("mason").setup() + require("mason-tool-installer").setup({ ensure_installed = { "alex", @@ -18,6 +19,7 @@ require("mason-tool-installer").setup({ run_on_start = true, tart_delay = 3000, -- 3 second delay }) + require("mason-lspconfig").setup({ ensure_installed = { "ansiblels", From ad4e62a4b3400c1e24f82c2d80919f240d5aed68 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 16:53:46 +0100 Subject: [PATCH 0502/2080] plugins: try to simplify conf --- .config/nvim/lua/plugins.lua | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index a4e824d6..ab7b45af 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -98,32 +98,21 @@ return require("packer").startup(function(use) -- Easily install and manage LSP servers, DAP servers, linters, and formatters. use({ "williamboman/mason.nvim" }) use({ + "WhoIsSethDaniel/mason-tool-installer.nvim", "williamboman/mason-lspconfig.nvim", after = "mason.nvim", config = function() - require("config.mason-lspconfig") + require("config.mason") end, requires = { "williamboman/mason.nvim", "nvim-lspconfig" }, }) - use({ - "WhoIsSethDaniel/mason-tool-installer.nvim", - config = function() - require("config.mason-tool-installer") - end, - }) -- Using ltex-ls for spellchecking use({ "vigoux/ltex-ls.nvim", - requires = "neovim/nvim-lspconfig", - }) - - -- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. - -- Use different binaries as sources, like prettier - use({ + -- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. + -- Use different binaries as sources, like prettier "jose-elias-alvarez/null-ls.nvim", - config = function() - require("config.null-ls") - end, + requires = "neovim/nvim-lspconfig", }) -- mail helper, mainly for searching for contacts From 891293b232f29efbd11749c1767b331b7914604b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 17:08:32 +0100 Subject: [PATCH 0503/2080] init.lua: simplify conf, group plugins --- .config/nvim/lua/plugins.lua | 59 +++++++++++++++++------------------- 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index ab7b45af..90001606 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -61,26 +61,27 @@ return require("packer").startup(function(use) -- nvim-cmp completion sources -- https://github.com/topics/nvim-cmp -- Snippet engine and snippet template - -- use { "SirVer/ultisnips", event = "InsertEnter" } - -- use { "honza/vim-snippets" } - -- use { "quangnguyen30192/cmp-nvim-ultisnips", after = { "nvim-cmp", "cmp_luasnip" } } -- Snippets use("L3MON4D3/LuaSnip") use({ "rafamadriz/friendly-snippets" }) -- Autocompletion - use({ "hrsh7th/cmp-nvim-lsp", after = "nvim-cmp" }) - use({ "hrsh7th/cmp-nvim-lua", after = "nvim-cmp" }) - use({ "hrsh7th/cmp-path", after = "nvim-cmp" }) - use({ "hrsh7th/cmp-buffer", after = "nvim-cmp" }) - use({ "hrsh7th/cmp-cmdline", after = "nvim-cmp" }) - use({ "saadparwaiz1/cmp_luasnip", after = "nvim-cmp" }) -- https://github.com/uga-rosa/cmp-dictionary -- https://github.com/lukas-reineke/cmp-rg + use({ + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-nvim-lua", + "hrsh7th/cmp-path", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-cmdline", + -- Expecting to be able to get vimmail completion via omnifunc + "hrsh7th/cmp-omni", + "saadparwaiz1/cmp_luasnip", + after = "nvim-cmp" + }) -- Completion for some neovim lua API use({ "ii14/emmylua-nvim", ft = "lua" }) - -- Expecting to be able to get vimmail completion via omnifunc - use({ "hrsh7th/cmp-omni", after = "nvim-cmp" }) - -- use { "petertriho/cmp-git", + -- use { + -- "petertriho/cmp-git", -- requires = "nvim-lua/plenary.nvim", -- config = function() require('cmp_git').setup() end -- } @@ -88,31 +89,25 @@ return require("packer").startup(function(use) use({ "hrsh7th/cmp-emoji", after = "nvim-cmp" }) end -- nvim-lsp configuration - use({ - "neovim/nvim-lspconfig", - after = { "cmp-nvim-lsp", "mason-lspconfig.nvim" }, - config = function() - require("config.lsp") - end, - }) -- Easily install and manage LSP servers, DAP servers, linters, and formatters. - use({ "williamboman/mason.nvim" }) use({ - "WhoIsSethDaniel/mason-tool-installer.nvim", - "williamboman/mason-lspconfig.nvim", - after = "mason.nvim", + "neovim/nvim-lspconfig", config = function() require("config.mason") + require("config.lsp") end, - requires = { "williamboman/mason.nvim", "nvim-lspconfig" }, - }) - -- Using ltex-ls for spellchecking - use({ - "vigoux/ltex-ls.nvim", - -- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. - -- Use different binaries as sources, like prettier - "jose-elias-alvarez/null-ls.nvim", - requires = "neovim/nvim-lspconfig", + after = { "cmp-nvim-lsp" }, + requires = { + "williamboman/mason.nvim", + "nvim-lspconfig", + "WhoIsSethDaniel/mason-tool-installer.nvim", + "williamboman/mason-lspconfig.nvim", + -- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. + -- Use different binaries as sources, like prettier + "jose-elias-alvarez/null-ls.nvim", + -- Using ltex-ls for spellchecking + "vigoux/ltex-ls.nvim", + }, }) -- mail helper, mainly for searching for contacts From e43a34026b0eca29bb26cac21d6a669737becf36 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 23 Nov 2022 17:20:37 +0100 Subject: [PATCH 0504/2080] lsp: move some keympas to which-key --- .config/nvim/lua/config/which-key.lua | 58 ++++++++++++++++----------- .config/nvim/lua/plugins.lua | 20 --------- 2 files changed, 34 insertions(+), 44 deletions(-) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index 2ad66234..c21e6481 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -36,30 +36,6 @@ local mappings = { -- ["f"] = { require("lvim.core.telescope.custom-finders").find_project_files, "Find File" }, ["h"] = { "<cmd>nohlsearch<CR>", "No Highlight" }, ["e"] = { "<cmd>NvimTreeToggle<CR>", "Explorer" }, - s = { - name = "Search", - b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, - c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" }, - f = { "<cmd>Telescope find_files<cr>", "Find File" }, - h = { "<cmd>Telescope help_tags<cr>", "Find Help" }, - H = { "<cmd>Telescope highlights<cr>", "Find highlight groups" }, - M = { "<cmd>Telescope man_pages<cr>", "Man Pages" }, - r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" }, - R = { "<cmd>Telescope registers<cr>", "Registers" }, - t = { "<cmd>Telescope live_grep<cr>", "Text" }, - k = { "<cmd>Telescope keymaps<cr>", "Keymaps" }, - C = { "<cmd>Telescope commands<cr>", "Commands" }, - p = { - "<cmd>lua require('telescope.builtin').colorscheme({enable_preview = true})<cr>", - "Colorscheme with Preview", - }, - }, - -- Need to add something for trouble - -- looks like duplicated - T = { - name = "Treesitter", - i = { ":TSConfigInfo<cr>", "Info" }, - }, b = { name = "Buffers", j = { "<cmd>BufferLinePick<cr>", "Jump" }, @@ -102,6 +78,40 @@ local mappings = { -- q = { "<cmd>lua require'dap'.close()<cr>", "Quit" }, -- U = { "<cmd>lua require'dapui'.toggle()<cr>", "Toggle UI" }, -- }, + s = { + name = "Search", + b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, + c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" }, + f = { "<cmd>Telescope find_files<cr>", "Find File" }, + h = { "<cmd>Telescope help_tags<cr>", "Find Help" }, + H = { "<cmd>Telescope highlights<cr>", "Find highlight groups" }, + M = { "<cmd>Telescope man_pages<cr>", "Man Pages" }, + r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" }, + R = { "<cmd>Telescope registers<cr>", "Registers" }, + t = { "<cmd>Telescope live_grep<cr>", "Text" }, + k = { "<cmd>Telescope keymaps<cr>", "Keymaps" }, + C = { "<cmd>Telescope commands<cr>", "Commands" }, + p = { + "<cmd>lua require('telescope.builtin').colorscheme({enable_preview = true})<cr>", + "Colorscheme with Preview", + y = { "<cmd>Telescope yank_history<cr>", "Yank history" }, + }, + }, + -- Trouble + t = { + name = "Trouble", + d = { ":TroubleToggle document_diagnostics<cr>", "Toogle document diagnostics" }, + l = { ":TroubleToggle loclist<cr>", "Toogle loclist" }, + q = { ":TroubleToggle quickfix<cr>", "Toogle quickfix" }, + t = { ":TroubleToggle lsp_references<cr>", "Toogle LSP references" }, + t = { ":TroubleToggle<cr>", "Toogle window" }, + w = { ":TroubleToggle workspace_diagnostics<cr>", "Toogle workspace diagnostics" }, + }, + -- looks like duplicated + T = { + name = "Treesitter", + i = { ":TSConfigInfo<cr>", "Info" }, + }, p = { name = "Packer", c = { "<cmd>PackerCompile<cr>", "Compile" }, diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 90001606..6bc01747 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -193,11 +193,6 @@ return require("packer").startup(function(use) }, }) telescope.load_extension("yank_history") - vim.keymap.set("n", "<leader>ff", builtin.find_files, {}) - vim.keymap.set("n", "<leader>fg", builtin.live_grep, {}) - vim.keymap.set("n", "<leader>fb", builtin.buffers, {}) - vim.keymap.set("n", "<leader>fh", builtin.help_tags, {}) - vim.keymap.set("n", "<leader>fy", "<cmd>:Telescope yank_history<cr>", {}) end, }) -- pretty list for showing diagnostics, references, telescope results, quickfix and location lists @@ -213,21 +208,6 @@ return require("packer").startup(function(use) auto_preview = true, -- automatically preview the location of the diagnostic. <esc> to close preview and go back to last window auto_fold = false, -- automatically fold a file trouble list at creation }) - vim.keymap.set("n", "<leader>xx", "<cmd>TroubleToggle<cr>", { silent = true, noremap = true }) - vim.keymap.set( - "n", - "<leader>xw", - "<cmd>TroubleToggle workspace_diagnostics<cr>", - { silent = true, noremap = true } - ) - vim.keymap.set( - "n", - "<leader>xd", - "<cmd>TroubleToggle document_diagnostics<cr>", - { silent = true, noremap = true } - ) - vim.keymap.set("n", "<leader>xl", "<cmd>TroubleToggle loclist<cr>", { silent = true, noremap = true }) - vim.keymap.set("n", "<leader>xq", "<cmd>TroubleToggle quickfix<cr>", { silent = true, noremap = true }) vim.keymap.set("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", { silent = true, noremap = true }) end, }) From e7463f05401d7701461c3756f935fa3df98b2688 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 13:15:17 +0100 Subject: [PATCH 0505/2080] Import khard.conf --- .config/khard/khard.conf | 53 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .config/khard/khard.conf diff --git a/.config/khard/khard.conf b/.config/khard/khard.conf new file mode 100644 index 00000000..789a4368 --- /dev/null +++ b/.config/khard/khard.conf @@ -0,0 +1,53 @@ +# example configuration file for khard version > 0.14.0 +# place it under ~/.config/khard/khard.conf + +[addressbooks] +[[work]] +path = ~/.contacts/default/ +# [[family]] +# path = ~/.contacts/family/ +# [[friends]] +# path = ~/.contacts/friends/ + +[general] +debug = no +default_action = list +# These are either strings or comma seperated lists +editor = vim, -i, NONE +merge_editor = vimdiff + +[contact table] +# display names by first or last name: first_name / last_name / formatted_name +display = first_name +# group by address book: yes / no +group_by_addressbook = no +# reverse table ordering: yes / no +reverse = no +# append nicknames to name column: yes / no +show_nicknames = no +# show uid table column: yes / no +show_uids = yes +# sort by first or last name: first_name / last_name / formatted_name +sort = last_name +# localize dates: yes / no +localize_dates = yes +# set a comma separated list of preferred phone number types in descending priority +# or nothing for non-filtered alphabetical order +preferred_phone_number_type = pref, cell, home +# set a comma separated list of preferred email address types in descending priority +# or nothing for non-filtered alphabetical order +preferred_email_address_type = pref, work, home + +[vcard] +# extend contacts with your own private objects +# these objects are stored with a leading "X-" before the object name in the vcard files +# every object label may only contain letters, digits and the - character +# example: +# private_objects = Jabber, Skype, Twitter +private_objects = Jabber, Skype, Twitter +# preferred vcard version: 3.0 / 4.0 +preferred_version = 3.0 +# Look into source vcf files to speed up search queries: yes / no +search_in_source_files = no +# skip unparsable vcard files: yes / no +skip_unparsable = no From cde529dad7a7eacea0bd117e0ec4addcd5d14bec Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 13:17:32 +0100 Subject: [PATCH 0506/2080] Import khal conf --- .config/khal/config | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .config/khal/config diff --git a/.config/khal/config b/.config/khal/config new file mode 100644 index 00000000..598e7d8c --- /dev/null +++ b/.config/khal/config @@ -0,0 +1,10 @@ +[calendars] +[[personal]] +path = ~/.calendars/baptiste.grenier@egi.eu/ + +[locale] +timeformat = %H:%M +dateformat = %Y-%m-%d +longdateformat = %Y-%m-%d +datetimeformat = %Y-%m-%d %H:%M +longdatetimeformat = %Y-%m-%d %H:%M From ee41175cb77b98de2c31a5cb7f8421e21b6b1a5f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 24 Nov 2022 13:18:20 +0100 Subject: [PATCH 0507/2080] Rename config to config##os.Darwin --- .config/khal/{config => config##os.Darwin} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .config/khal/{config => config##os.Darwin} (100%) diff --git a/.config/khal/config b/.config/khal/config##os.Darwin similarity index 100% rename from .config/khal/config rename to .config/khal/config##os.Darwin From 7d42babae0b15fa6da3f96a8640f3a867d5805e0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 13:23:50 +0100 Subject: [PATCH 0508/2080] treesitter: no more install all parsers by default. Stick to clang, debug plugins --- .config/nvim/lua/config/treesitter.lua | 45 +++++++++++++++++++++----- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/.config/nvim/lua/config/treesitter.lua b/.config/nvim/lua/config/treesitter.lua index 0b4c07a5..1b68b57f 100644 --- a/.config/nvim/lua/config/treesitter.lua +++ b/.config/nvim/lua/config/treesitter.lua @@ -1,23 +1,52 @@ -- https://github.com/devinschulz/dotfiles/blob/master/nvim/.config/nvim/lua/config/treesitter.lua -local status_ok, treesitter = pcall(require, "nvim-treesitter.configs") +local status_ok, ts_configs = pcall(require, "nvim-treesitter.configs") if not status_ok then return end -treesitter.setup({ +-- Use clang and llvm +require("nvim-treesitter.install").compilers = { "clang" } + +ts_configs.setup({ -- A list of parser names, or "all" - ensure_installed = "all", + -- ensure_installed = "all", + ensure_installed = { + "bash", + "c", + "cmake", + "comment", + "css", + "diff", + "dockerfile", + "git_rebase", + "gitignore", + "help", + "html", + "http", + "javascript", + "json", + "latex", + "lua", + "make", + "markdown", + "norg", + "python", + "regex", + "sql", + "toml", + "vim", + "yaml", + }, -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = false, - + sync_install = true, -- Automatically install missing parsers when entering buffer -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally auto_install = true, - autotag = { - enable = false, - }, highlight = { -- `false` will disable the whole extension + enable = true, + }, + autotag = { enable = false, }, -- Rainbow parentheses for neovim using tree-sitter. From 5febd9f53ff6b486e3dc6d72e845fd074030f792 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 13:29:26 +0100 Subject: [PATCH 0509/2080] nvim: Use jk-movement between rows when soft wrapping --- .config/nvim/init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 322bbc4f..be072cea 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -154,6 +154,9 @@ g.mapleader = " " g.maplocalleader = " " -- Use jk as ESC for leaving insert mode keymap.set("i", "jk", "<Esc>") +-- Use jk-movement between rows when soft wrapping +keymap.set("n", "j", "gj", opts) +keymap.set("n", "k", "gk", opts) -- Turn the word under cursor to upper case keymap.set("i", "<c-u>", "<Esc>viwUea") -- Turn the current word into title case From 0e537b7fdee847477bc84738c6c8220c84fd310b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 13:29:52 +0100 Subject: [PATCH 0510/2080] lsp: simplify conf, using a custom conf only when needed. --- .config/nvim/lua/config/lsp.lua | 149 +++++++++++++------------------- 1 file changed, 58 insertions(+), 91 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 5a981bb2..eb94b8e8 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -138,9 +138,20 @@ local capabilities = require("cmp_nvim_lsp").default_capabilities() local lsp_flags = { -- This is the default in Nvim 0.7+ - debounce_text_changes = 150, + -- debounce_text_changes = 150, + debounce_text_changes = 500, } +-- LSP servers with default configuration +local servers = { "bashls", "marksman", "jsonls", "vimls", "yamlls" } +for _, lsp_server in ipairs(servers) do + lspconfig[lsp_server].setup({ + on_attach = on_attach, + flags = lsp_flags, + capabilities = capabilities, + }) +end + -- ltex-ls -- https://git.vigoux.giize.com/nvim-config/blob/master/lua/lsp_config.lua require("ltex-ls").setup({ @@ -184,24 +195,62 @@ require("ltex-ls").setup({ }, }) -lspconfig["yamlls"].setup({ +-- Ansible language server, complemented by null-ls +-- https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/server_configurations/ansiblels.lua +lspconfig.ansiblels.setup({ on_attach = on_attach, flags = lsp_flags, capabilities = capabilities, + -- use ansible-lint only via null-ls + settings = { + ansible = { + ansibleLint = { + enabled = false + } + } + + } }) -lspconfig["jsonls"].setup({ +-- clang server for C and C++ +lspconfig.clangd.setup({ on_attach = on_attach, - flags = lsp_flags, capabilities = capabilities, + filetypes = { "c", "cpp", "cc" }, + flags = lsp_flags, }) -lspconfig["marksman"].setup({ +-- lua LSP server, needed at least for neovim configuration +lspconfig["sumneko_lua"].setup({ on_attach = on_attach, flags = lsp_flags, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files, + -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . + -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . + library = { + fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", + fn.stdpath("config"), + }, + maxPreload = 2000, + preloadFileSize = 50000, + }, + }, + }, capabilities = capabilities, }) +-- Python LSP, complemented by null_ls lspconfig["pyright"].setup({ on_attach = on_attach, flags = lsp_flags, @@ -217,95 +266,12 @@ lspconfig["pyright"].setup({ }, }) -if utils.executable("lua-language-server") then - lspconfig["sumneko_lua"].setup({ - on_attach = on_attach, - flags = lsp_flags, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . - -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, - capabilities = capabilities, - }) -else - vim.notify("sumneko_lua not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - -if utils.executable("vim-language-server") then - lspconfig["vimls"].setup({ - on_attach = on_attach, - capabilities = capabilities, - flags = { - debounce_text_changes = 500, - }, - }) -else - vim.notify("vim-language-server not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - -if utils.executable("bash-language-server") then - lspconfig.bashls.setup({ - on_attach = on_attach, - flags = lsp_flags, - capabilities = capabilities, - }) -end - --- https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/server_configurations/ansiblels.lua -lspconfig.ansiblels.setup({ - on_attach = on_attach, - flags = lsp_flags, - capabilities = capabilities, - -- use ansible-lint only via null-ls - settings = { - ansible = { - ansibleLint = { - enabled = false - } - } - - } -}) - -if utils.executable("clangd") then - lspconfig.clangd.setup({ - on_attach = on_attach, - capabilities = capabilities, - filetypes = { "c", "cpp", "cc" }, - flags = { - debounce_text_changes = 500, - }, - }) -else - vim.notify("clangd not found!", vim.log.levels.WARN, { title = "Nvim-config" }) -end - +-- null_ls, special language servber allowing to use many tools -- https://smarttech101.com/nvim-lsp-set-up-null-ls-for-beginners/ -- https://github.com/Clumsy-Coder/dotfiles/commit/e81edc159f3fc9ef189e0300d280461e75732a4b -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) - +-- local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) -- Available builtins: https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md --- Check if packate is available using :echo executable("shfmt") - +-- Check if package is available using :echo executable("shfmt") null_ls.setup({ sources = { -- code actions @@ -337,6 +303,7 @@ null_ls.setup({ null_ls.builtins.hover.dictionary, -- dictionary }, diagnostics_format = "[#{c}] #{m} (#{s})", + -- XXX disabled due to some issues with default conf for yaml/ansible formatting -- format file on save -- you can reuse a shared lspconfig on_attach callback here -- on_attach = function(client, bufnr) From 902b2d4caa89f8b627d6210d71872f9cf6daa488 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 13:30:58 +0100 Subject: [PATCH 0511/2080] which-key: enable more <leader> mappings. Cleaning. --- .config/nvim/lua/config/which-key.lua | 302 +++++--------------------- 1 file changed, 53 insertions(+), 249 deletions(-) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index c21e6481..22d5e843 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -61,23 +61,56 @@ local mappings = { "Sort by language", }, }, - -- d = { - -- name = "Debug", - -- t = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Toggle Breakpoint" }, - -- b = { "<cmd>lua require'dap'.step_back()<cr>", "Step Back" }, - -- c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" }, - -- C = { "<cmd>lua require'dap'.run_to_cursor()<cr>", "Run To Cursor" }, - -- d = { "<cmd>lua require'dap'.disconnect()<cr>", "Disconnect" }, - -- g = { "<cmd>lua require'dap'.session()<cr>", "Get Session" }, - -- i = { "<cmd>lua require'dap'.step_into()<cr>", "Step Into" }, - -- o = { "<cmd>lua require'dap'.step_over()<cr>", "Step Over" }, - -- u = { "<cmd>lua require'dap'.step_out()<cr>", "Step Out" }, - -- p = { "<cmd>lua require'dap'.pause()<cr>", "Pause" }, - -- r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Toggle Repl" }, - -- s = { "<cmd>lua require'dap'.continue()<cr>", "Start" }, - -- q = { "<cmd>lua require'dap'.close()<cr>", "Quit" }, - -- U = { "<cmd>lua require'dapui'.toggle()<cr>", "Toggle UI" }, - -- }, + -- " Available Debug Adapters: + -- " https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/ + -- " Adapter configuration and installation instructions: + -- " https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation + -- " Debug Adapter protocol: + -- " https://microsoft.github.io/debug-adapter-protocol/ + -- " Debugging + d = { + name = "Debug", + t = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Toggle Breakpoint" }, + b = { "<cmd>lua require'dap'.step_back()<cr>", "Step Back" }, + c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" }, + C = { "<cmd>lua require'dap'.run_to_cursor()<cr>", "Run To Cursor" }, + d = { "<cmd>lua require'dap'.disconnect()<cr>", "Disconnect" }, + g = { "<cmd>lua require'dap'.session()<cr>", "Get Session" }, + i = { "<cmd>lua require'dap'.step_into()<cr>", "Step Into" }, + o = { "<cmd>lua require'dap'.step_over()<cr>", "Step Over" }, + u = { "<cmd>lua require'dap'.step_out()<cr>", "Step Out" }, + p = { "<cmd>lua require'dap'.pause()<cr>", "Pause" }, + r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Toggle Repl" }, + s = { "<cmd>lua require'dap'.continue()<cr>", "Start" }, + q = { "<cmd>lua require'dap'.close()<cr>", "Quit" }, + U = { "<cmd>lua require'dapui'.toggle()<cr>", "Toggle UI" }, + }, + l = { + name = "Logs", + d = { + "<cmd>lua require('lvim.core.terminal').toggle_log_view(require('lvim.core.log').get_path())<cr>", + "view default log", + }, + D = { + "<cmd>lua vim.fn.execute('edit ' .. require('lvim.core.log').get_path())<cr>", + "Open the default logfile", + }, + l = { + "<cmd>lua require('lvim.core.terminal').toggle_log_view(vim.lsp.get_log_path())<cr>", + "view lsp log", + }, + L = { "<cmd>lua vim.fn.execute('edit ' .. vim.lsp.get_log_path())<cr>", "Open the LSP logfile" }, + n = { + "<cmd>lua require('lvim.core.terminal').toggle_log_view(os.getenv('NVIM_LOG_FILE'))<cr>", + "view neovim log", + }, + N = { "<cmd>edit $NVIM_LOG_FILE<cr>", "Open the Neovim logfile" }, + p = { + "<cmd>lua require('lvim.core.terminal').toggle_log_view(get_cache_dir() .. '/packer.nvim.log')<cr>", + "view packer log", + }, + P = { "<cmd>edit $LUNARVIM_CACHE_DIR/packer.nvim.log<cr>", "Open the Packer logfile" }, + }, s = { name = "Search", b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, @@ -86,6 +119,7 @@ local mappings = { h = { "<cmd>Telescope help_tags<cr>", "Find Help" }, H = { "<cmd>Telescope highlights<cr>", "Find highlight groups" }, M = { "<cmd>Telescope man_pages<cr>", "Man Pages" }, + M = { "<cmd>Telescope projects<cr>", "Projects" }, r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" }, R = { "<cmd>Telescope registers<cr>", "Registers" }, t = { "<cmd>Telescope live_grep<cr>", "Text" }, @@ -94,7 +128,7 @@ local mappings = { p = { "<cmd>lua require('telescope.builtin').colorscheme({enable_preview = true})<cr>", "Colorscheme with Preview", - y = { "<cmd>Telescope yank_history<cr>", "Yank history" }, + y = { "<cmd>Telescope yank_history<cr>", "Yank history" }, }, }, -- Trouble @@ -107,7 +141,7 @@ local mappings = { t = { ":TroubleToggle<cr>", "Toogle window" }, w = { ":TroubleToggle workspace_diagnostics<cr>", "Toogle workspace diagnostics" }, }, - -- looks like duplicated + -- XXX looks like duplicated T = { name = "Treesitter", i = { ":TSConfigInfo<cr>", "Info" }, @@ -256,224 +290,6 @@ which_key.register(vmappings, vopts) -- v = { "j", "k" }, -- }, -- }, --- --- opts = { --- mode = "n", -- NORMAL mode --- prefix = "<leader>", --- buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings --- silent = true, -- use `silent` when creating keymaps --- noremap = true, -- use `noremap` when creating keymaps --- nowait = true, -- use `nowait` when creating keymaps --- }, --- vopts = { --- mode = "v", -- VISUAL mode --- prefix = "<leader>", --- buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings --- silent = true, -- use `silent` when creating keymaps --- noremap = true, -- use `noremap` when creating keymaps --- nowait = true, -- use `nowait` when creating keymaps --- }, --- -- NOTE: Prefer using : over <cmd> as the latter avoids going back in normal-mode. --- -- see https://neovim.io/doc/user/map.html#:map-cmd --- vmappings = { --- ["/"] = { "<Plug>(comment_toggle_linewise_visual)", "Comment toggle linewise (visual)" }, --- }, --- mappings = { --- [";"] = { "<cmd>Alpha<CR>", "Dashboard" }, --- ["w"] = { "<cmd>w!<CR>", "Save" }, --- ["q"] = { "<cmd>lua require('lvim.utils.functions').smart_quit()<CR>", "Quit" }, --- ["/"] = { "<Plug>(comment_toggle_linewise_current)", "Comment toggle current line" }, --- ["c"] = { "<cmd>BufferKill<CR>", "Close Buffer" }, --- ["f"] = { require("lvim.core.telescope.custom-finders").find_project_files, "Find File" }, --- ["h"] = { "<cmd>nohlsearch<CR>", "No Highlight" }, --- ["e"] = { "<cmd>NvimTreeToggle<CR>", "Explorer" }, --- b = { --- name = "Buffers", --- j = { "<cmd>BufferLinePick<cr>", "Jump" }, --- f = { "<cmd>Telescope buffers<cr>", "Find" }, --- b = { "<cmd>BufferLineCyclePrev<cr>", "Previous" }, --- n = { "<cmd>BufferLineCycleNext<cr>", "Next" }, --- -- w = { "<cmd>BufferWipeout<cr>", "Wipeout" }, -- TODO: implement this for bufferline --- e = { --- "<cmd>BufferLinePickClose<cr>", --- "Pick which buffer to close", --- }, --- h = { "<cmd>BufferLineCloseLeft<cr>", "Close all to the left" }, --- l = { --- "<cmd>BufferLineCloseRight<cr>", --- "Close all to the right", --- }, --- D = { --- "<cmd>BufferLineSortByDirectory<cr>", --- "Sort by directory", --- }, --- L = { --- "<cmd>BufferLineSortByExtension<cr>", --- "Sort by language", --- }, --- }, --- d = { --- name = "Debug", --- t = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Toggle Breakpoint" }, --- b = { "<cmd>lua require'dap'.step_back()<cr>", "Step Back" }, --- c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" }, --- C = { "<cmd>lua require'dap'.run_to_cursor()<cr>", "Run To Cursor" }, --- d = { "<cmd>lua require'dap'.disconnect()<cr>", "Disconnect" }, --- g = { "<cmd>lua require'dap'.session()<cr>", "Get Session" }, --- i = { "<cmd>lua require'dap'.step_into()<cr>", "Step Into" }, --- o = { "<cmd>lua require'dap'.step_over()<cr>", "Step Over" }, --- u = { "<cmd>lua require'dap'.step_out()<cr>", "Step Out" }, --- p = { "<cmd>lua require'dap'.pause()<cr>", "Pause" }, --- r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Toggle Repl" }, --- s = { "<cmd>lua require'dap'.continue()<cr>", "Start" }, --- q = { "<cmd>lua require'dap'.close()<cr>", "Quit" }, --- U = { "<cmd>lua require'dapui'.toggle()<cr>", "Toggle UI" }, --- }, --- p = { --- name = "Packer", --- c = { "<cmd>PackerCompile<cr>", "Compile" }, --- i = { "<cmd>PackerInstall<cr>", "Install" }, --- r = { "<cmd>lua require('lvim.plugin-loader').recompile()<cr>", "Re-compile" }, --- s = { "<cmd>PackerSync<cr>", "Sync" }, --- S = { "<cmd>PackerStatus<cr>", "Status" }, --- u = { "<cmd>PackerUpdate<cr>", "Update" }, --- }, --- --- -- " Available Debug Adapters: --- -- " https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/ --- -- " Adapter configuration and installation instructions: --- -- " https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation --- -- " Debug Adapter protocol: --- -- " https://microsoft.github.io/debug-adapter-protocol/ --- -- " Debugging --- g = { --- name = "Git", --- g = { "<cmd>lua require 'lvim.core.terminal'.lazygit_toggle()<cr>", "Lazygit" }, --- j = { "<cmd>lua require 'gitsigns'.next_hunk({navigation_message = false})<cr>", "Next Hunk" }, --- k = { "<cmd>lua require 'gitsigns'.prev_hunk({navigation_message = false})<cr>", "Prev Hunk" }, --- l = { "<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame" }, --- p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" }, --- r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" }, --- R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" }, --- s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" }, --- u = { --- "<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>", --- "Undo Stage Hunk", --- }, --- o = { "<cmd>Telescope git_status<cr>", "Open changed file" }, --- b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, --- c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" }, --- C = { --- "<cmd>Telescope git_bcommits<cr>", --- "Checkout commit(for current file)", --- }, --- d = { --- "<cmd>Gitsigns diffthis HEAD<cr>", --- "Git Diff", --- }, --- }, --- l = { --- name = "LSP", --- a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" }, --- d = { "<cmd>Telescope diagnostics bufnr=0 theme=get_ivy<cr>", "Buffer Diagnostics" }, --- w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, --- f = { require("lvim.lsp.utils").format, "Format" }, --- i = { "<cmd>LspInfo<cr>", "Info" }, --- I = { "<cmd>Mason<cr>", "Mason Info" }, --- j = { --- vim.diagnostic.goto_next, --- "Next Diagnostic", --- }, --- k = { --- vim.diagnostic.goto_prev, --- "Prev Diagnostic", --- }, --- l = { vim.lsp.codelens.run, "CodeLens Action" }, --- q = { vim.diagnostic.setloclist, "Quickfix" }, --- r = { vim.lsp.buf.rename, "Rename" }, --- s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" }, --- S = { --- "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", --- "Workspace Symbols", --- }, --- e = { "<cmd>Telescope quickfix<cr>", "Telescope Quickfix" }, --- }, --- L = { --- name = "+LunarVim", --- c = { --- "<cmd>edit " .. get_config_dir() .. "/config.lua<cr>", --- "Edit config.lua", --- }, --- d = { "<cmd>LvimDocs<cr>", "View LunarVim's docs" }, --- f = { --- "<cmd>lua require('lvim.core.telescope.custom-finders').find_lunarvim_files()<cr>", --- "Find LunarVim files", --- }, --- g = { --- "<cmd>lua require('lvim.core.telescope.custom-finders').grep_lunarvim_files()<cr>", --- "Grep LunarVim files", --- }, --- k = { "<cmd>Telescope keymaps<cr>", "View LunarVim's keymappings" }, --- i = { --- "<cmd>lua require('lvim.core.info').toggle_popup(vim.bo.filetype)<cr>", --- "Toggle LunarVim Info", --- }, --- I = { --- "<cmd>lua require('lvim.core.telescope.custom-finders').view_lunarvim_changelog()<cr>", --- "View LunarVim's changelog", --- }, --- l = { --- name = "+logs", --- d = { --- "<cmd>lua require('lvim.core.terminal').toggle_log_view(require('lvim.core.log').get_path())<cr>", --- "view default log", --- }, --- D = { --- "<cmd>lua vim.fn.execute('edit ' .. require('lvim.core.log').get_path())<cr>", --- "Open the default logfile", --- }, --- l = { --- "<cmd>lua require('lvim.core.terminal').toggle_log_view(vim.lsp.get_log_path())<cr>", --- "view lsp log", --- }, --- L = { "<cmd>lua vim.fn.execute('edit ' .. vim.lsp.get_log_path())<cr>", "Open the LSP logfile" }, --- n = { --- "<cmd>lua require('lvim.core.terminal').toggle_log_view(os.getenv('NVIM_LOG_FILE'))<cr>", --- "view neovim log", --- }, --- N = { "<cmd>edit $NVIM_LOG_FILE<cr>", "Open the Neovim logfile" }, --- p = { --- "<cmd>lua require('lvim.core.terminal').toggle_log_view(get_cache_dir() .. '/packer.nvim.log')<cr>", --- "view packer log", --- }, --- P = { "<cmd>edit $LUNARVIM_CACHE_DIR/packer.nvim.log<cr>", "Open the Packer logfile" }, --- }, --- r = { "<cmd>LvimReload<cr>", "Reload LunarVim's configuration" }, --- u = { "<cmd>LvimUpdate<cr>", "Update LunarVim" }, --- }, --- s = { --- name = "Search", --- b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, --- c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" }, --- f = { "<cmd>Telescope find_files<cr>", "Find File" }, --- h = { "<cmd>Telescope help_tags<cr>", "Find Help" }, --- H = { "<cmd>Telescope highlights<cr>", "Find highlight groups" }, --- M = { "<cmd>Telescope man_pages<cr>", "Man Pages" }, --- r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" }, --- R = { "<cmd>Telescope registers<cr>", "Registers" }, --- t = { "<cmd>Telescope live_grep<cr>", "Text" }, --- k = { "<cmd>Telescope keymaps<cr>", "Keymaps" }, --- C = { "<cmd>Telescope commands<cr>", "Commands" }, --- p = { --- "<cmd>lua require('telescope.builtin').colorscheme({enable_preview = true})<cr>", --- "Colorscheme with Preview", --- }, --- }, --- T = { --- name = "Treesitter", --- i = { ":TSConfigInfo<cr>", "Info" }, --- }, --- }, -- } -- end -- @@ -482,18 +298,6 @@ which_key.register(vmappings, vopts) -- -- which_key.setup(lvim.builtin.which_key.setup) -- --- local opts = lvim.builtin.which_key.opts --- local vopts = lvim.builtin.which_key.vopts --- --- local mappings = lvim.builtin.which_key.mappings --- local vmappings = lvim.builtin.which_key.vmappings --- -- which_key.register(mappings, opts) -- which_key.register(vmappings, vopts) --- --- if lvim.builtin.which_key.on_config_done then --- lvim.builtin.which_key.on_config_done(which_key) --- end -- end --- --- return M From a5ad0d15f5ced12c75d2b6c356464c6016452d6d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 13:34:08 +0100 Subject: [PATCH 0512/2080] Mapp also to visual. --- .config/nvim/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index be072cea..ce379723 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -155,8 +155,8 @@ g.maplocalleader = " " -- Use jk as ESC for leaving insert mode keymap.set("i", "jk", "<Esc>") -- Use jk-movement between rows when soft wrapping -keymap.set("n", "j", "gj", opts) -keymap.set("n", "k", "gk", opts) +keymap.set({"n", "v"}, "j", "gj", opts) +keymap.set({"n", "v"}, "k", "gk", opts) -- Turn the word under cursor to upper case keymap.set("i", "<c-u>", "<Esc>viwUea") -- Turn the current word into title case From 0ded6c9fac4ad12c57d541deefbdceae521a7abc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 13:34:51 +0100 Subject: [PATCH 0513/2080] Disable omnicomp wiht cmp, debug treesitter. --- .config/nvim/lua/plugins.lua | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 6bc01747..342d3b96 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -74,7 +74,8 @@ return require("packer").startup(function(use) "hrsh7th/cmp-buffer", "hrsh7th/cmp-cmdline", -- Expecting to be able to get vimmail completion via omnifunc - "hrsh7th/cmp-omni", + -- XXX addresses are shown, but slowwing and parasiting too much mail editing + -- "hrsh7th/cmp-omni", "saadparwaiz1/cmp_luasnip", after = "nvim-cmp" }) @@ -247,11 +248,12 @@ return require("packer").startup(function(use) use({ -- Tree-sitter is a parser generator tool and an incremental parsing library. "nvim-treesitter/nvim-treesitter", + -- "p00f/nvim-ts-rainbow", -- Syntax aware text-objects, select, move, swap, and peek support. - "nvim-treesitter/nvim-treesitter-textobjects", + -- "nvim-treesitter/nvim-treesitter-textobjects", -- A Neovim plugin for setting the commentstring option based on the cursor location in the file - "JoosepAlviste/nvim-ts-context-commentstring", - "windwp/nvim-ts-autotag", + -- "JoosepAlviste/nvim-ts-context-commentstring", + -- "windwp/nvim-ts-autotag", config = function() require("config.treesitter") end, @@ -301,14 +303,13 @@ return require("packer").startup(function(use) "ahmedkhalf/project.nvim", config = function() require("project_nvim").setup({ - silent_chdir = false, + silent_chdir = true, -- your configuration comes here -- or leave it empty to use the default settings -- refer to the configuration section below }) require("telescope").load_extension("projects") vim.keymap.set("n", "<c-p>", "<cmd>:lua require('telescope').extensions.projects.projects{}<cr>", {}) - vim.keymap.set("n", "<leader>fp", "<cmd>:lua require('telescope').extensions.projects.projects{}<cr>", {}) end, }) @@ -324,6 +325,12 @@ return require("packer").startup(function(use) load = { -- Load everything ["core.defaults"] = {}, + ["core.norg.completion"] = { + config = { + engine = "nvim-cmp", + } + }, + ["core.norg.concealer"] = {}, ["core.norg.dirman"] = { config = { workspaces = { From 1511ca558f2635c6c677a16b0ee7fd382efd35c9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 13:37:57 +0100 Subject: [PATCH 0514/2080] zshrc: install tree-sitter, fix test for darwin, promote using llvm/clang from homebroew --- .zshrc | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/.zshrc b/.zshrc index 36b3a298..c703a01c 100644 --- a/.zshrc +++ b/.zshrc @@ -207,6 +207,7 @@ zinit from"gh-r" as"program" lucid for \ sbin"**/bin/gh -> gh" cli/cli \ mv"ripgrep* -> rg" pick"rg/rg" BurntSushi/ripgrep \ mv"delta* -> delta" pick"delta/delta" dandavison/delta \ + mv"tree-sitter* -> tree-sitter" tree-sitter/tree-sitter \ junegunn/fzf # }}} @@ -292,7 +293,7 @@ zinit ice wait lucid zinit light lukechilds/zsh-nvm # A smarter cd command -# XXX feature for chpwd hook is not yet released as of 2022-11-06 +# XXX feature for chpwd hook is not yet released as of 2022-11-06 (0.8.3) # FIXME install from master/cargo # https://github.com/ajeetdsouza/zoxide/pull/474 # zinit ice wait"2" as"command" from"gh-r" lucid \ @@ -549,7 +550,7 @@ fi # Env variables {{{ # macOS conf -if [[ "$OSTYPE" == "darwin"* ]]; then +if [[ "$OSTYPE" == darwin* ]]; then # Use gnused - brew install gnu-sed PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" # Use coreutils GNU utilities - brew install coreutils @@ -557,10 +558,6 @@ if [[ "$OSTYPE" == "darwin"* ]]; then export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" # Use openjdk from brew - brew install openjdk PATH="/usr/local/opt/openjdk/bin:$PATH" - # XXX may not be needed - # export CPPFLAGS="-I/usr/local/opt/openjdk/include" - # export LDFLAGS="-L/usr/lib/openssl-1.0"; export CFLAGS="-I/usr/include/openssl-1.0" - export HOMEBREW_CASK_OPTS='--no-quarantine' export HOMEBREW_NO_ANALYTICS=1 @@ -579,9 +576,17 @@ if [[ "$OSTYPE" == "darwin"* ]]; then # Required for building python with pyenv on Mac OS X CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" + # Favor using llvm stuff from homebrew + CPPFLAGS="-I/usr/local/opt/llvm/include" + LDFLAGS="-L/usr/local/opt/llvm/lib ${LDFLAGS}" + LDFLAGS="-L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++ ${LDFLAGS}" + PATH="/usr/local/opt/llvm/bin:${PATH}" + # Use clang + export CC=clang + export CXX=clang++ # Speeding up build - CFLAGS="-O2 $CFLAGS" - export CFLAGS LDFLAGS + CFLAGS="-O2 ${CFLAGS}" + export CFLAGS LDFLAGS CPPFLAGS PATH # PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 # tail-like of postfix logs on MacOS X From 11644ad24b71ee7cdb9c228f9f2109d8840c51dd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 14:11:48 +0100 Subject: [PATCH 0515/2080] init: clean mappings that may already be on space --- .config/nvim/init.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index ce379723..e48e58ad 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -149,7 +149,8 @@ opt.background = "dark" local opts = { noremap = true, silent = true } local term_opts = { silent = true } -- Custom mapping <leader> (see `:h mapleader` for more info) --- keymap.set("", "<Space>", "<Nop>", opts) +-- Clean mappings that may already be on <space> +keymap.set("", "<Space>", "<Nop>", opts) g.mapleader = " " g.maplocalleader = " " -- Use jk as ESC for leaving insert mode From 96b58641fcef02898f56c58d36dc13a264bd4840 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 14:12:50 +0100 Subject: [PATCH 0516/2080] treesitter: comment, include playground. --- .config/nvim/lua/config/treesitter.lua | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.config/nvim/lua/config/treesitter.lua b/.config/nvim/lua/config/treesitter.lua index 1b68b57f..03d3a933 100644 --- a/.config/nvim/lua/config/treesitter.lua +++ b/.config/nvim/lua/config/treesitter.lua @@ -46,12 +46,21 @@ ts_configs.setup({ -- `false` will disable the whole extension enable = true, }, + -- Use treesitter to autoclose and autorename html tag autotag = { + enable = true + }, + -- Set commentstring option based on the cursor location in the file + context_commentstring = { enable = false, }, + -- View treesitter information directly in Neovim! + playground = { + enable = true, + }, -- Rainbow parentheses for neovim using tree-sitter. rainbow = { - enable = false, + enable = true, -- disable = { "jsx", "cpp" }, list of languages you want to disable the plugin for extended_mode = true, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean max_file_lines = nil, -- Do not enable for files with more than n lines, int @@ -64,7 +73,4 @@ ts_configs.setup({ -- Instead of true it can also be a list of languages additional_vim_regex_highlighting = false, -- enable comment string - context_commentstring = { - enable = false, - }, }) From 569556cde33e2ddb4466f137afb2d808a3024614 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 14:16:20 +0100 Subject: [PATCH 0517/2080] Archive autoload stuff --- .config/{nvim => nvim-vimscript}/autoload/mailcomplete.vim | 0 .config/{nvim => nvim-vimscript}/autoload/plug.vim | 0 .config/{nvim => nvim-vimscript}/autoload/snippet.vim | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename .config/{nvim => nvim-vimscript}/autoload/mailcomplete.vim (100%) rename .config/{nvim => nvim-vimscript}/autoload/plug.vim (100%) rename .config/{nvim => nvim-vimscript}/autoload/snippet.vim (100%) diff --git a/.config/nvim/autoload/mailcomplete.vim b/.config/nvim-vimscript/autoload/mailcomplete.vim similarity index 100% rename from .config/nvim/autoload/mailcomplete.vim rename to .config/nvim-vimscript/autoload/mailcomplete.vim diff --git a/.config/nvim/autoload/plug.vim b/.config/nvim-vimscript/autoload/plug.vim similarity index 100% rename from .config/nvim/autoload/plug.vim rename to .config/nvim-vimscript/autoload/plug.vim diff --git a/.config/nvim/autoload/snippet.vim b/.config/nvim-vimscript/autoload/snippet.vim similarity index 100% rename from .config/nvim/autoload/snippet.vim rename to .config/nvim-vimscript/autoload/snippet.vim From 5f016c13e83a57be9da39f4dd9c876d74b97975a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 14:26:17 +0100 Subject: [PATCH 0518/2080] vim-mail: do not load custom keymap --- .config/nvim/ftplugin/mail.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.config/nvim/ftplugin/mail.vim b/.config/nvim/ftplugin/mail.vim index 3044ef9b..7fe0cbd6 100644 --- a/.config/nvim/ftplugin/mail.vim +++ b/.config/nvim/ftplugin/mail.vim @@ -22,7 +22,9 @@ let b:sleuth_automatic = 0 " vim-mail " https://github.com/dbeniamine/vim-mail/ -" +" Do not add custom keymaps +" XXX some are nice to move inside the file +let g:VimMailDoNotMap=1 let g:VimMailDoNotFold=1 " let g:VimMailSpellLangs=['en_gb', 'fr'] " Remove quoted signature is killing mine due to flow automatic formatting From 878d1a061cc1b83069771ad0404a3f3352e08c71 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 14:27:23 +0100 Subject: [PATCH 0519/2080] vim-mail: disalbe completoin in every files --- .config/nvim/lua/plugins.lua | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 342d3b96..1a9b7b8f 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -113,15 +113,15 @@ return require("packer").startup(function(use) -- mail helper, mainly for searching for contacts -- https://github.com/dbeniamine/vim-mail/tags - -- XXX move to gitlab project + -- XXX moved to gitlab project -- https://gitlab.com/dbeniamine/vim-mail - use({ - "dbeniamine/vim-mail", - -- Complete emails address in every files - config = function() - vim.opt.completefunc = "vimmail#contacts#CompleteAddr" - end, - }) + use({ + "dbeniamine/vim-mail", + config = function() + -- Complete emails address in every files + -- vim.opt.completefunc = "vimmail#contacts#CompleteAddr" + end, + }) -- displays a popup with possible key bindings -- https://github.com/LunarVim/LunarVim/blob/master/lua/lvim/core/which-key.lua From 8f96c9f7ea0812392609bc15f1cefe3b1d96b229 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 14:27:48 +0100 Subject: [PATCH 0520/2080] plugins.lua: fix treesitter loading --- .config/nvim/lua/plugins.lua | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 1a9b7b8f..a82c2d90 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -248,12 +248,6 @@ return require("packer").startup(function(use) use({ -- Tree-sitter is a parser generator tool and an incremental parsing library. "nvim-treesitter/nvim-treesitter", - -- "p00f/nvim-ts-rainbow", - -- Syntax aware text-objects, select, move, swap, and peek support. - -- "nvim-treesitter/nvim-treesitter-textobjects", - -- A Neovim plugin for setting the commentstring option based on the cursor location in the file - -- "JoosepAlviste/nvim-ts-context-commentstring", - -- "windwp/nvim-ts-autotag", config = function() require("config.treesitter") end, @@ -261,6 +255,18 @@ return require("packer").startup(function(use) local ts_update = require("nvim-treesitter.install").update({ with_sync = true }) ts_update() end, + requires = { + -- Syntax aware text-objects, select, move, swap, and peek support. + { "nvim-treesitter/nvim-treesitter-textobjects", event = "BufRead" }, + -- Rainbow parentheses for neovim using tree-sitter. + { "p00f/nvim-ts-rainbow", event = "BufRead" }, + -- View treesitter information directly in Neovim! + { "nvim-treesitter/playground", cmd = "TSPlaygroundToggle" }, + -- Set commentstring option based on the cursor location in the file + -- "JoosepAlviste/nvim-ts-context-commentstring", + -- Use treesitter to autoclose and autorename html tag + { "windwp/nvim-ts-autotag" }, + } }) -- open last postiion in file From 62c7c5c6d6cdf223c5a9d91ab6f72668a8b96991 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 18:33:58 +0100 Subject: [PATCH 0521/2080] init: fix option setting --- .config/nvim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index e48e58ad..424afab3 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -77,7 +77,7 @@ opt.backupskip = { "/tmp/*" } opt.hidden = true -- completion -opt.completeopt = "menu,menuone,noselect" +opt.completeopt = {'menu', 'menuone', 'noselect'} -- Disable mouse opt.mouse = "" From c846dbfce5e8e68dd485bbaa041dd26f902e5995 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 18:34:25 +0100 Subject: [PATCH 0522/2080] treesitter: unable gitcommit --- .config/nvim/lua/config/treesitter.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/config/treesitter.lua b/.config/nvim/lua/config/treesitter.lua index 03d3a933..3c4b97cb 100644 --- a/.config/nvim/lua/config/treesitter.lua +++ b/.config/nvim/lua/config/treesitter.lua @@ -18,6 +18,7 @@ ts_configs.setup({ "css", "diff", "dockerfile", + "gitcommit", "git_rebase", "gitignore", "help", From 01415323ce35e309d61e37ad2f00d734b3c179a6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 18:34:53 +0100 Subject: [PATCH 0523/2080] lsp: fix capabilities, reorganise mappings --- .config/nvim/lua/config/lsp.lua | 49 ++++++++++++++++----------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index eb94b8e8..5c61a860 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -6,7 +6,6 @@ local fn = vim.fn local keymap = vim.keymap local lsp = vim.lsp local lspconfig = require("lspconfig") -local utils = require("utils") local null_ls = require("null-ls") -- global config for diagnostic @@ -37,11 +36,6 @@ lsp.handlers["textDocument/publishDiagnostics"] = lsp.with(lsp.diagnostic.on_pub -- To be used to display LSP diagnostic window details when on an error local on_attach = function(client, bufnr) - -- Mappings. - -- See `:help vim.diagnostic.*` for documentation on any of the below functions - local opts = { noremap = true, silent = true } - vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) - vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist, opts) -- turn off formatting for some lsp, to use the ones from null-ls if client.name == 'pyright' or client.name == 'jsonls' then @@ -52,6 +46,7 @@ local on_attach = function(client, bufnr) -- Enable completion triggered by <c-x><c-o> vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") + -- Mappings. local map = function(mode, l, r, opts) opts = opts or {} opts.silent = true @@ -59,21 +54,23 @@ local on_attach = function(client, bufnr) keymap.set(mode, l, r, opts) end - map("n", "gd", lsp.buf.definition, { desc = "go to definition" }) + -- See `:help vim.diagnostic.*` for documentation on any of the below functions map("n", "<C-]>", lsp.buf.definition) - map("n", "K", lsp.buf.hover) map("n", "<C-k>", lsp.buf.signature_help) - map("n", "<space>rn", lsp.buf.rename, { desc = "varialbe rename" }) - map("n", "gr", lsp.buf.references, { desc = "show references" }) - map("n", "[d", diagnostic.goto_prev, { desc = "previous diagnostic" }) - map("n", "]d", diagnostic.goto_next, { desc = "next diagnostic" }) + map("n", "<space>e", vim.diagnostic.open_float, { desc = "Open diagnostic"}) map("n", "<space>q", diagnostic.setqflist, { desc = "put diagnostic to qf" }) - map("n", "<space>ca", lsp.buf.code_action, { desc = "LSP code action" }) + map("n", "<space>q", vim.diagnostic.setloclist, { desc = "Move to loclist" }) + map("n", "<space>rn", lsp.buf.rename, { desc = "varialbe rename" }) map("n", "<space>wa", lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) + map("n", "<space>wl", + function() vim.inspect(lsp.buf.list_workspace_folders()) end, + { desc = "list workspace folder" }) map("n", "<space>wr", lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) - map("n", "<space>wl", function() - vim.inspect(lsp.buf.list_workspace_folders()) - end, { desc = "list workspace folder" }) + map("n", "K", lsp.buf.hover) + map("n", "[d", diagnostic.goto_prev, { desc = "previous diagnostic" }) + map("n", "]d", diagnostic.goto_next, { desc = "next diagnostic" }) + map("n", "gd", lsp.buf.definition, { desc = "go to definition" }) + map("n", "gr", lsp.buf.references, { desc = "show references" }) api.nvim_create_autocmd("CursorHold", { buffer = bufnr, @@ -133,13 +130,20 @@ local on_attach = function(client, bufnr) end end --- Inform LSP server about all the capabilities of nvim-cmp -local capabilities = require("cmp_nvim_lsp").default_capabilities() +-- Inform LSP server about all the capabilities we have +-- https://vonheikemen.github.io/devlog/tools/setup-nvim-lspconfig-plus-nvim-cmp/ +-- merge the defaults lspconfig provides with the capabilities nvim-cmp adds +local lsp_defaults = lspconfig.util.default_config +lsp_defaults.capabilities = vim.tbl_deep_extend( + 'force', + lsp_defaults.capabilities, + require('cmp_nvim_lsp').default_capabilities() +) local lsp_flags = { -- This is the default in Nvim 0.7+ -- debounce_text_changes = 150, - debounce_text_changes = 500, + -- debounce_text_changes = 500, } -- LSP servers with default configuration @@ -148,7 +152,6 @@ for _, lsp_server in ipairs(servers) do lspconfig[lsp_server].setup({ on_attach = on_attach, flags = lsp_flags, - capabilities = capabilities, }) end @@ -156,7 +159,6 @@ end -- https://git.vigoux.giize.com/nvim-config/blob/master/lua/lsp_config.lua require("ltex-ls").setup({ on_attach = on_attach, - capabilities = capabilities, use_spellfile = true, filetypes = { "latex", "tex", "bib", "markdown", "gitcommit", "text" }, settings = { @@ -200,7 +202,6 @@ require("ltex-ls").setup({ lspconfig.ansiblels.setup({ on_attach = on_attach, flags = lsp_flags, - capabilities = capabilities, -- use ansible-lint only via null-ls settings = { ansible = { @@ -215,13 +216,13 @@ lspconfig.ansiblels.setup({ -- clang server for C and C++ lspconfig.clangd.setup({ on_attach = on_attach, - capabilities = capabilities, filetypes = { "c", "cpp", "cc" }, flags = lsp_flags, }) -- lua LSP server, needed at least for neovim configuration lspconfig["sumneko_lua"].setup({ + single_file_support = true, on_attach = on_attach, flags = lsp_flags, settings = { @@ -247,14 +248,12 @@ lspconfig["sumneko_lua"].setup({ }, }, }, - capabilities = capabilities, }) -- Python LSP, complemented by null_ls lspconfig["pyright"].setup({ on_attach = on_attach, flags = lsp_flags, - capabilities = capabilities, settings = { python = { analysis = { From 0e46df0a256f62f1481967176d943c9d992d3b2f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 18:49:37 +0100 Subject: [PATCH 0524/2080] Cleaning, reorganisation --- .config/nvim/lua/config/which-key.lua | 271 +++++++++++--------------- 1 file changed, 110 insertions(+), 161 deletions(-) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index 22d5e843..222a96ef 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -1,23 +1,43 @@ +-- see https://neovim.io/doc/user/map.html local which_key = require("which-key") which_key.setup({ window = { border = "single", -- none, single, double, shadow + -- position = "bottom", -- bottom, top + -- margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] + -- padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left] + -- winblend = 0, + }, + -- layout = { + -- height = { min = 4, max = 25 }, -- min and max height of the columns + -- width = { min = 20, max = 50 }, -- min and max width of the columns + -- spacing = 3, -- spacing between columns + -- align = "left", -- align columns left, center or right + -- }, + plugins = { + marks = true, -- shows a list of your marks on ' and ` + registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode + spelling = { enabled = true, suggestions = 20 }, -- use which-key for spelling hints + }, + -- popup_mappings = { + -- scroll_down = "<c-d>", -- binding to scroll down inside the popup + -- scroll_up = "<c-u>", -- binding to scroll up inside the popup + -- }, + -- hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate + ignore_missing = false, -- enable this to hide mappings for which you didn't specify a label + show_help = true, -- show help message on the command line when the popup is visible + triggers = "auto", -- automatically setup triggers + -- triggers = {"<leader>"} -- or specify a list manually + triggers_blacklist = { + -- list of mode / prefixes that should never be hooked by WhichKey + -- this is mostly relevant for key maps that start with a native binding + -- most people should not need to change this + i = { "j", "k" }, + v = { "j", "k" }, }, }) --- wk.register({ --- f = { --- name = "file", -- optional group name --- f = { "<cmd>Telescope find_files<cr>", "Find File" }, -- create a binding with label --- r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File", noremap=false, buffer = 123 }, -- additional options for creating the keymap --- n = { "New File" }, -- just a label. don't create any mapping --- e = "Edit File", -- same as above --- ["1"] = "which_key_ignore", -- special label to hide it in the popup --- b = { function() print("bar") end, "Foobar" }, -- you can also pass functions! --- ["/"] = { "<Plug>(comment_toggle_linewise_visual)", "Comment toggle linewise (visual)" }, --- }, --- }, { prefix = "<leader>" }) -- Mapping for normal mode local opts = { @@ -85,7 +105,63 @@ local mappings = { q = { "<cmd>lua require'dap'.close()<cr>", "Quit" }, U = { "<cmd>lua require'dapui'.toggle()<cr>", "Toggle UI" }, }, + -- Git + g = { + name = "Git", + -- g = { "<cmd>lua require 'lvim.core.terminal'.lazygit_toggle()<cr>", "Lazygit" }, + j = { "<cmd>lua require 'gitsigns'.next_hunk({navigation_message = false})<cr>", "Next Hunk" }, + k = { "<cmd>lua require 'gitsigns'.prev_hunk({navigation_message = false})<cr>", "Prev Hunk" }, + l = { "<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame" }, + p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" }, + r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" }, + R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" }, + s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" }, + u = { + "<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>", + "Undo Stage Hunk", + }, + o = { "<cmd>Telescope git_status<cr>", "Open changed file" }, + b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, + c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" }, + C = { + -- Need to add something for trouble + "<cmd>Telescope git_bcommits<cr>", + "Checkout commit(for current file)", + }, + d = { + "<cmd>Gitsigns diffthis HEAD<cr>", + "Git Diff", + }, + }, + -- LSP l = { + name = "LSP", + -- map("n", "<space>e", vim.diagnostic.open_float, { desc = "Open diagnostic"}) + -- map("n", "<space>wa", lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) + -- map("n", "<space>wl", function() vim.inspect(lsp.buf.list_workspace_folders()) end, { desc = "list workspace folder" }) + -- map("n", "<space>wr", lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) + a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" }, + d = { "<cmd>Telescope diagnostics bufnr=0 theme=get_ivy<cr>", "Buffer Diagnostics" }, + e = { "<cmd>Telescope quickfix<cr>", "Telescope Quickfix" }, + f = { "<cmd>lua vim.lsp.buf.format(nil, 10000)<cr>", "Format" }, + F = { "<cmd>lua vim.lsp.buf.range_formating()<cr>", "Format selection" }, + h = { vim.lsp.buf.signature_help, "Signature help" }, + i = { "<cmd>LspInfo<cr>", "Info" }, + I = { "<cmd>Mason<cr>", "Mason Info" }, + j = { vim.diagnostic.goto_next, "Next Diagnostic", }, + k = { vim.diagnostic.goto_prev, "Prev Diagnostic", }, + l = { vim.lsp.codelens.run, "CodeLens Action" }, + q = { vim.diagnostic.setloclist, "Quickfix" }, + r = { vim.lsp.buf.rename, "Rename" }, + s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" }, + S = { + "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", + "Workspace Symbols", + w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, + }, + }, + -- Logs + L = { name = "Logs", d = { "<cmd>lua require('lvim.core.terminal').toggle_log_view(require('lvim.core.log').get_path())<cr>", @@ -111,6 +187,17 @@ local mappings = { }, P = { "<cmd>edit $LUNARVIM_CACHE_DIR/packer.nvim.log<cr>", "Open the Packer logfile" }, }, + -- Packer + p = { + name = "Packer", + c = { "<cmd>PackerCompile<cr>", "Compile" }, + i = { "<cmd>PackerInstall<cr>", "Install" }, + -- r = { "<cmd>lua require('lvim.plugin-loader').recompile()<cr>", "Re-compile" }, + s = { "<cmd>PackerSync<cr>", "Sync" }, + S = { "<cmd>PackerStatus<cr>", "Status" }, + u = { "<cmd>PackerUpdate<cr>", "Update" }, + }, + -- Search with Telescope s = { name = "Search", b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, @@ -119,98 +206,32 @@ local mappings = { h = { "<cmd>Telescope help_tags<cr>", "Find Help" }, H = { "<cmd>Telescope highlights<cr>", "Find highlight groups" }, M = { "<cmd>Telescope man_pages<cr>", "Man Pages" }, - M = { "<cmd>Telescope projects<cr>", "Projects" }, + p = { "<cmd>Telescope projects<cr>", "Projects" }, r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" }, R = { "<cmd>Telescope registers<cr>", "Registers" }, t = { "<cmd>Telescope live_grep<cr>", "Text" }, k = { "<cmd>Telescope keymaps<cr>", "Keymaps" }, C = { "<cmd>Telescope commands<cr>", "Commands" }, - p = { + P = { "<cmd>lua require('telescope.builtin').colorscheme({enable_preview = true})<cr>", "Colorscheme with Preview", - y = { "<cmd>Telescope yank_history<cr>", "Yank history" }, }, + y = { "<cmd>Telescope yank_history<cr>", "Yank history" }, }, -- Trouble t = { name = "Trouble", - d = { ":TroubleToggle document_diagnostics<cr>", "Toogle document diagnostics" }, - l = { ":TroubleToggle loclist<cr>", "Toogle loclist" }, - q = { ":TroubleToggle quickfix<cr>", "Toogle quickfix" }, - t = { ":TroubleToggle lsp_references<cr>", "Toogle LSP references" }, - t = { ":TroubleToggle<cr>", "Toogle window" }, - w = { ":TroubleToggle workspace_diagnostics<cr>", "Toogle workspace diagnostics" }, + d = { "<cmd>TroubleToggle document_diagnostics<cr>", "Document diagnostics" }, + l = { "<cmd>TroubleToggle loclist<cr>", "Toogle loclist" }, + o = { "<cmd>TroubleToggle<cr>", "Toogle window" }, + q = { "<cmd>TroubleToggle quickfix<cr>", "Toogle quickfix" }, + t = { "<cmd>TroubleToggle lsp_references<cr>", "Toogle LSP references" }, + w = { "<cmd>TroubleToggle workspace_diagnostics<cr>", "Workspace diagnostics" }, }, - -- XXX looks like duplicated + -- Treesitter T = { name = "Treesitter", - i = { ":TSConfigInfo<cr>", "Info" }, - }, - p = { - name = "Packer", - c = { "<cmd>PackerCompile<cr>", "Compile" }, - i = { "<cmd>PackerInstall<cr>", "Install" }, - -- r = { "<cmd>lua require('lvim.plugin-loader').recompile()<cr>", "Re-compile" }, - s = { "<cmd>PackerSync<cr>", "Sync" }, - S = { "<cmd>PackerStatus<cr>", "Status" }, - u = { "<cmd>PackerUpdate<cr>", "Update" }, - }, - -- - g = { - name = "Git", - -- g = { "<cmd>lua require 'lvim.core.terminal'.lazygit_toggle()<cr>", "Lazygit" }, - j = { "<cmd>lua require 'gitsigns'.next_hunk({navigation_message = false})<cr>", "Next Hunk" }, - k = { "<cmd>lua require 'gitsigns'.prev_hunk({navigation_message = false})<cr>", "Prev Hunk" }, - l = { "<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame" }, - p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" }, - r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" }, - R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" }, - s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" }, - u = { - "<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>", - "Undo Stage Hunk", - }, - o = { "<cmd>Telescope git_status<cr>", "Open changed file" }, - b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, - c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" }, - C = { - -- Need to add something for trouble - "<cmd>Telescope git_bcommits<cr>", - "Checkout commit(for current file)", - }, - d = { - "<cmd>Gitsigns diffthis HEAD<cr>", - "Git Diff", - }, - }, - l = { - name = "LSP", - a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" }, - d = { "<cmd>Telescope diagnostics bufnr=0 theme=get_ivy<cr>", "Buffer Diagnostics" }, - w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, - -- Format file - f = { "<cmd>lua vim.lsp.buf.format(nil, 10000)<cr>", "Format" }, - -- Format selection - F = { "<cmd>lua vim.lsp.buf.range_formating()<cr>", "Format selection" }, - i = { "<cmd>LspInfo<cr>", "Info" }, - I = { "<cmd>Mason<cr>", "Mason Info" }, - j = { - vim.diagnostic.goto_next, - "Next Diagnostic", - }, - k = { - vim.diagnostic.goto_prev, - "Prev Diagnostic", - }, - l = { vim.lsp.codelens.run, "CodeLens Action" }, - q = { vim.diagnostic.setloclist, "Quickfix" }, - r = { vim.lsp.buf.rename, "Rename" }, - s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" }, - S = { - "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", - "Workspace Symbols", - }, - e = { "<cmd>Telescope quickfix<cr>", "Telescope Quickfix" }, + i = { "<cmd>TSConfigInfo<cr>", "Info" }, }, } @@ -223,81 +244,9 @@ local vopts = { noremap = true, -- use `noremap` when creating keymaps nowait = true, -- use `nowait` when creating keymaps } --- NOTE: Prefer using : over <cmd> as the latter avoids going back in normal-mode. --- see https://neovim.io/doc/user/map.html#:map-cmd local vmappings = { ["/"] = { "<Plug>(comment_toggle_linewise_visual)", "Comment toggle linewise (visual)" }, } which_key.register(mappings, opts) which_key.register(vmappings, vopts) - --- local M = {} --- M.config = function() --- lvim.builtin.which_key = { --- ---@usage disable which-key completely [not recommended] --- active = true, --- on_config_done = nil, --- setup = { --- plugins = { --- marks = false, -- shows a list of your marks on ' and ` --- registers = false, -- shows your registers on " in NORMAL or <C-r> in INSERT mode --- -- the presets plugin, adds help for a bunch of default keybindings in Neovim --- -- No actual key bindings are created --- presets = { --- operators = false, -- adds help for operators like d, y, ... --- motions = false, -- adds help for motions --- text_objects = false, -- help for text objects triggered after entering an operator --- windows = false, -- default bindings on <c-w> --- nav = false, -- misc bindings to work with windows --- z = false, -- bindings for folds, spelling and others prefixed with z --- g = false, -- bindings for prefixed with g --- }, --- spelling = { enabled = true, suggestions = 20 }, -- use which-key for spelling hints --- }, --- icons = { --- breadcrumb = lvim.icons.ui.DoubleChevronRight, -- symbol used in the command line area that shows your active key combo --- separator = lvim.icons.ui.BoldArrowRight, -- symbol used between a key and it's label --- group = lvim.icons.ui.Plus, -- symbol prepended to a group --- }, --- popup_mappings = { --- scroll_down = "<c-d>", -- binding to scroll down inside the popup --- scroll_up = "<c-u>", -- binding to scroll up inside the popup --- }, --- window = { --- border = "single", -- none, single, double, shadow --- position = "bottom", -- bottom, top --- margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] --- padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left] --- winblend = 0, --- }, --- layout = { --- height = { min = 4, max = 25 }, -- min and max height of the columns --- width = { min = 20, max = 50 }, -- min and max width of the columns --- spacing = 3, -- spacing between columns --- align = "left", -- align columns left, center or right --- }, --- hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate --- ignore_missing = false, -- enable this to hide mappings for which you didn't specify a label --- show_help = true, -- show help message on the command line when the popup is visible --- triggers = "auto", -- automatically setup triggers --- -- triggers = {"<leader>"} -- or specify a list manually --- triggers_blacklist = { --- -- list of mode / prefixes that should never be hooked by WhichKey --- -- this is mostly relevant for key maps that start with a native binding --- -- most people should not need to change this --- i = { "j", "k" }, --- v = { "j", "k" }, --- }, --- }, --- } --- end --- --- M.setup = function() --- local which_key = require "which-key" --- --- which_key.setup(lvim.builtin.which_key.setup) --- --- which_key.register(mappings, opts) --- which_key.register(vmappings, vopts) --- end From bb9696437cc0fe7cc729675a0794bb5784a22ae4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 18:49:54 +0100 Subject: [PATCH 0525/2080] Moved some mappings to which-key --- .config/nvim/lua/config/lsp.lua | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 5c61a860..7c913d5e 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -55,18 +55,7 @@ local on_attach = function(client, bufnr) end -- See `:help vim.diagnostic.*` for documentation on any of the below functions - map("n", "<C-]>", lsp.buf.definition) - map("n", "<C-k>", lsp.buf.signature_help) - map("n", "<space>e", vim.diagnostic.open_float, { desc = "Open diagnostic"}) - map("n", "<space>q", diagnostic.setqflist, { desc = "put diagnostic to qf" }) - map("n", "<space>q", vim.diagnostic.setloclist, { desc = "Move to loclist" }) - map("n", "<space>rn", lsp.buf.rename, { desc = "varialbe rename" }) - map("n", "<space>wa", lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) - map("n", "<space>wl", - function() vim.inspect(lsp.buf.list_workspace_folders()) end, - { desc = "list workspace folder" }) - map("n", "<space>wr", lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) - map("n", "K", lsp.buf.hover) + map("n", "K", lsp.buf.hover, { desc = "Hover" }) map("n", "[d", diagnostic.goto_prev, { desc = "previous diagnostic" }) map("n", "]d", diagnostic.goto_next, { desc = "next diagnostic" }) map("n", "gd", lsp.buf.definition, { desc = "go to definition" }) From 9a6fb1c18634b79f53eb8cf15ad7ec7eec618281 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 18:50:09 +0100 Subject: [PATCH 0526/2080] Install moto themes, test neon. --- .config/nvim/lua/plugins.lua | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index a82c2d90..f85b8d2a 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -377,25 +377,41 @@ return require("packer").startup(function(use) -- vim.cmd([[colorscheme dracula]]) -- end, -- }) + -- use({'glepnir/zephyr-nvim', + -- requires = { 'nvim-treesitter/nvim-treesitter', opt = true }, + -- }) use({ - "Mofiqul/dracula.nvim", + -- {"Mofiqul/dracula.nvim", as = "dracula"}, + -- {'embark-theme/vim', as = 'embark'}, + -- 'folke/tokyonight.nvim', + "rafamadriz/neon", + -- "andersevenrud/nordic.nvim", + -- "shaunsingh/nord.nvim", + -- "Th3Whit3Wolf/one-nvim", + -- "marko-cerovac/material.nvim", + -- 'navarasu/onedark.nvim', config = function() - require("dracula").setup({ - -- show the '~' characters after the end of buffers - show_end_of_buffer = true, -- default false - -- set italic comment - italic_comment = true, -- default false - }) - vim.cmd([[colorscheme dracula]]) + -- require("dracula").setup({ + -- -- show the '~' characters after the end of buffers + -- show_end_of_buffer = true, -- default false + -- -- set italic comment + -- italic_comment = true, -- default false + -- }) + vim.g.neon_style = "default" + vim.g.neon_italic_keyword = true + vim.g.neon_italic_function = true + vim.g.neon_italic_comment = true + vim.g.neon_transparent = true + vim.cmd([[colorscheme neon]]) end, }) use({ "nvim-lualine/lualine.nvim", - after = "dracula.nvim", + after = "neon", config = function() require("lualine").setup({ - options = { theme = "dracula" }, + options = { theme = "neon" }, }) end, requires = { "kyazdani42/nvim-web-devicons", opt = true }, From 9361243e116e8b8e0756959b5fb47bde3b2bd652 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 24 Nov 2022 18:50:34 +0100 Subject: [PATCH 0527/2080] test if llvm is available. --- .zshrc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.zshrc b/.zshrc index c703a01c..8fba3d47 100644 --- a/.zshrc +++ b/.zshrc @@ -576,17 +576,19 @@ if [[ "$OSTYPE" == darwin* ]]; then # Required for building python with pyenv on Mac OS X CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" - # Favor using llvm stuff from homebrew - CPPFLAGS="-I/usr/local/opt/llvm/include" - LDFLAGS="-L/usr/local/opt/llvm/lib ${LDFLAGS}" - LDFLAGS="-L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++ ${LDFLAGS}" - PATH="/usr/local/opt/llvm/bin:${PATH}" + if [ -d "/usr/local/opt/llvm" ]; then + # Favor using llvm stuff from homebrew + CPPFLAGS="-I/usr/local/opt/llvm/include" + LDFLAGS="-L/usr/local/opt/llvm/lib ${LDFLAGS}" + LDFLAGS="-L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++ ${LDFLAGS}" + PATH="/usr/local/opt/llvm/bin:${PATH}" + fi # Use clang - export CC=clang - export CXX=clang++ + CC=clang + CXX=clang++ # Speeding up build CFLAGS="-O2 ${CFLAGS}" - export CFLAGS LDFLAGS CPPFLAGS PATH + export CC CXX CFLAGS LDFLAGS CPPFLAGS # PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 # tail-like of postfix logs on MacOS X From 3016bc8c78d54c572ba6c226ca8497f825847326 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 24 Nov 2022 22:37:55 +0100 Subject: [PATCH 0528/2080] khard: do os specific conf --- .../{khard.conf => khard.conf##os.Darwin} | 0 .config/khard/khard.conf##os.Linux | 22 +++++++++++++++++++ 2 files changed, 22 insertions(+) rename .config/khard/{khard.conf => khard.conf##os.Darwin} (100%) create mode 100644 .config/khard/khard.conf##os.Linux diff --git a/.config/khard/khard.conf b/.config/khard/khard.conf##os.Darwin similarity index 100% rename from .config/khard/khard.conf rename to .config/khard/khard.conf##os.Darwin diff --git a/.config/khard/khard.conf##os.Linux b/.config/khard/khard.conf##os.Linux new file mode 100644 index 00000000..985cd4c7 --- /dev/null +++ b/.config/khard/khard.conf##os.Linux @@ -0,0 +1,22 @@ +[addressbooks] +[[bapt.name]] +path = ~/.config/khard/contacts/bapt.name/ +[[personal]] +path = ~/.config/khard/contacts/personal/ +[[work]] +path = ~/.config/khard/contacts/work/ + +[general] +debug = no +default_action = list +editor = vim +merge_editor = vimdiff + +[contact table] +display = first_name +show_nicknames = no +sort = last_name + +[vcard] +search_in_source_files = yes + From 82d15ef31693387c2e4d2ff94867c1df306d014a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 24 Nov 2022 22:39:14 +0100 Subject: [PATCH 0529/2080] Cleaning --- .config/khard/khard.conf##os.Darwin | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.config/khard/khard.conf##os.Darwin b/.config/khard/khard.conf##os.Darwin index 789a4368..710479d4 100644 --- a/.config/khard/khard.conf##os.Darwin +++ b/.config/khard/khard.conf##os.Darwin @@ -1,13 +1,6 @@ -# example configuration file for khard version > 0.14.0 -# place it under ~/.config/khard/khard.conf - [addressbooks] [[work]] path = ~/.contacts/default/ -# [[family]] -# path = ~/.contacts/family/ -# [[friends]] -# path = ~/.contacts/friends/ [general] debug = no @@ -40,11 +33,6 @@ preferred_email_address_type = pref, work, home [vcard] # extend contacts with your own private objects -# these objects are stored with a leading "X-" before the object name in the vcard files -# every object label may only contain letters, digits and the - character -# example: -# private_objects = Jabber, Skype, Twitter -private_objects = Jabber, Skype, Twitter # preferred vcard version: 3.0 / 4.0 preferred_version = 3.0 # Look into source vcf files to speed up search queries: yes / no From 80209e440f192ef9b78bad8b0da74302ebfd11fd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 24 Nov 2022 22:49:29 +0100 Subject: [PATCH 0530/2080] Install treesitter parsers async. --- .config/nvim/lua/config/treesitter.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/treesitter.lua b/.config/nvim/lua/config/treesitter.lua index 3c4b97cb..2c72c9a1 100644 --- a/.config/nvim/lua/config/treesitter.lua +++ b/.config/nvim/lua/config/treesitter.lua @@ -39,7 +39,7 @@ ts_configs.setup({ "yaml", }, -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = true, + sync_install = false, -- Automatically install missing parsers when entering buffer -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally auto_install = true, From a86cd388f8e33309c87d66f5c47d56296f5380bd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 24 Nov 2022 23:02:09 +0100 Subject: [PATCH 0531/2080] Dracula! --- .config/nvim/lua/plugins.lua | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index f85b8d2a..3eb103ee 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -381,37 +381,31 @@ return require("packer").startup(function(use) -- requires = { 'nvim-treesitter/nvim-treesitter', opt = true }, -- }) use({ - -- {"Mofiqul/dracula.nvim", as = "dracula"}, + "Mofiqul/dracula.nvim", as = "dracula", -- {'embark-theme/vim', as = 'embark'}, -- 'folke/tokyonight.nvim', - "rafamadriz/neon", -- "andersevenrud/nordic.nvim", -- "shaunsingh/nord.nvim", -- "Th3Whit3Wolf/one-nvim", -- "marko-cerovac/material.nvim", -- 'navarasu/onedark.nvim', config = function() - -- require("dracula").setup({ - -- -- show the '~' characters after the end of buffers - -- show_end_of_buffer = true, -- default false - -- -- set italic comment - -- italic_comment = true, -- default false - -- }) - vim.g.neon_style = "default" - vim.g.neon_italic_keyword = true - vim.g.neon_italic_function = true - vim.g.neon_italic_comment = true - vim.g.neon_transparent = true - vim.cmd([[colorscheme neon]]) + require("dracula").setup({ + -- show the '~' characters after the end of buffers + show_end_of_buffer = true, -- default false + -- set italic comment + italic_comment = true, -- default false + }) + vim.cmd([[colorscheme dracula]]) end, }) use({ "nvim-lualine/lualine.nvim", - after = "neon", + after = "dracula", config = function() require("lualine").setup({ - options = { theme = "neon" }, + options = { theme = "dracula" }, }) end, requires = { "kyazdani42/nvim-web-devicons", opt = true }, From 4b53d3be85334973eadd74494729192922b42afe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 24 Nov 2022 23:30:01 +0100 Subject: [PATCH 0532/2080] Reorganise completion --- .config/nvim/lua/plugins.lua | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 3eb103ee..2f199905 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -48,23 +48,23 @@ return require("packer").startup(function(use) use("nvim-lua/plenary.nvim") -- Useful lua functions used by lots of plugins -- Completion + -- https://github.com/topics/nvim-cmp use({ "hrsh7th/nvim-cmp", config = function() require("config.nvim-cmp") end, - requires = { "L3MON4D3/LuaSnip", "onsails/lspkind.nvim" }, + requires = { + -- Snippet engine + "L3MON4D3/LuaSnip", + -- Add vscode-like pictograms to neovim lsp + "onsails/lspkind.nvim", + -- Snippets + "rafamadriz/friendly-snippets", + }, }) - -- Add vscode-like pictograms to neovim lsp - use({ "onsails/lspkind.nvim" }) -- nvim-cmp completion sources - -- https://github.com/topics/nvim-cmp - -- Snippet engine and snippet template - -- Snippets - use("L3MON4D3/LuaSnip") - use({ "rafamadriz/friendly-snippets" }) - -- Autocompletion -- https://github.com/uga-rosa/cmp-dictionary -- https://github.com/lukas-reineke/cmp-rg use({ @@ -73,11 +73,11 @@ return require("packer").startup(function(use) "hrsh7th/cmp-path", "hrsh7th/cmp-buffer", "hrsh7th/cmp-cmdline", + "hrsh7th/cmp-emoji", + "saadparwaiz1/cmp_luasnip", -- Expecting to be able to get vimmail completion via omnifunc -- XXX addresses are shown, but slowwing and parasiting too much mail editing -- "hrsh7th/cmp-omni", - "saadparwaiz1/cmp_luasnip", - after = "nvim-cmp" }) -- Completion for some neovim lua API use({ "ii14/emmylua-nvim", ft = "lua" }) @@ -86,15 +86,13 @@ return require("packer").startup(function(use) -- requires = "nvim-lua/plenary.nvim", -- config = function() require('cmp_git').setup() end -- } - if vim.g.is_mac then - use({ "hrsh7th/cmp-emoji", after = "nvim-cmp" }) - end -- nvim-lsp configuration - -- Easily install and manage LSP servers, DAP servers, linters, and formatters. use({ "neovim/nvim-lspconfig", config = function() + -- Install packages require("config.mason") + -- Manage LSP servers, DAP servers, linters, and formatters. require("config.lsp") end, after = { "cmp-nvim-lsp" }, @@ -179,7 +177,6 @@ return require("packer").startup(function(use) require("telescope.actions") local trouble = require("trouble.providers.telescope") local telescope = require("telescope") - local builtin = require("telescope.builtin") telescope.setup({ defaults = { mappings = { From 271fa14893632b16660a899525fcd97fcc0dd01e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 24 Nov 2022 23:30:17 +0100 Subject: [PATCH 0533/2080] Update nvim-cmp conf --- .config/nvim/lua/config/nvim-cmp.lua | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/.config/nvim/lua/config/nvim-cmp.lua b/.config/nvim/lua/config/nvim-cmp.lua index be481c9f..a1ed2ac3 100644 --- a/.config/nvim/lua/config/nvim-cmp.lua +++ b/.config/nvim/lua/config/nvim-cmp.lua @@ -1,12 +1,26 @@ -- Set up nvim-cmp. -local cmp = require("cmp") -local lspkind = require("lspkind") +local cmp_status_ok, cmp = pcall(require, "cmp") +if not cmp_status_ok then + return +end + +local snip_status_ok, luasnip = pcall(require, "luasnip") +if not snip_status_ok then + return +end + +local lspkind_status_ok, lspkind = pcall(require, "lspkind") +if not lspkind_status_ok then + return +end + +require("luasnip/loaders/from_vscode").lazy_load() cmp.setup({ snippet = { -- REQUIRED - you must specify a snippet engine expand = function(args) - require("luasnip").lsp_expand(args.body) -- For `luasnip` users. + luasnip.lsp_expand(args.body) -- For `luasnip` users. end, }, window = { @@ -50,7 +64,6 @@ cmp.setup({ end, }), sources = cmp.config.sources({ - { name = "nvim_lsp" }, { name = "luasnip" }, -- For luasnip users. { name = "buffer", @@ -60,9 +73,11 @@ cmp.setup({ end, }, }, - { name = "omni" }, - { name = "emoji", insert = true }, { name = "path" }, + { name = "emoji", insert = true }, + -- XXX check if useful + -- { name = "omni" }, + { name = "nvim_lsp" }, }), }) From 4c80dd1858d6bc0bf2c00a89f014958c7d63904a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 24 Nov 2022 23:58:09 +0100 Subject: [PATCH 0534/2080] Add custom snippets --- .config/nvim/lua/config/nvim-cmp.lua | 18 +++++++++++++++++- .config/nvim/lua/plugins.lua | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/nvim-cmp.lua b/.config/nvim/lua/config/nvim-cmp.lua index a1ed2ac3..4324ba10 100644 --- a/.config/nvim/lua/config/nvim-cmp.lua +++ b/.config/nvim/lua/config/nvim-cmp.lua @@ -14,8 +14,23 @@ if not lspkind_status_ok then return end +-- Load vs-code style snippets from plugins require("luasnip/loaders/from_vscode").lazy_load() +-- Custom snippets +-- XXX move this to a dedicated file +local s = luasnip.snippet +local i = luasnip.insert_node +local t = luasnip.text_node +luasnip.add_snippets("all", { + s("ternary", { + -- equivalent to "${1:cond} ? ${2:then} : ${3:else}" + i(1, "cond"), t(" ? "), i(2, "then"), t(" : "), i(3, "else") + }), + s("brb", { t({ "Best regards,", "Baptiste" })}), + s("cb", { t({ "Cheers,", "Baptiste" })}), +}) + cmp.setup({ snippet = { -- REQUIRED - you must specify a snippet engine @@ -64,7 +79,8 @@ cmp.setup({ end, }), sources = cmp.config.sources({ - { name = "luasnip" }, -- For luasnip users. + -- order matters + { name = "luasnip" }, { name = "buffer", option = { diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 2f199905..c1b0d7ab 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -63,6 +63,7 @@ return require("packer").startup(function(use) "rafamadriz/friendly-snippets", }, }) + use({"L3MON4D3/LuaSnip", tag = "v<CurrentMajor>.*"}) -- nvim-cmp completion sources -- https://github.com/uga-rosa/cmp-dictionary From 4fe7b14dd5c7ae76c16b03669eb0e0c0ac0203eb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 24 Nov 2022 23:58:42 +0100 Subject: [PATCH 0535/2080] Doc for custom snippets --- .config/nvim/lua/config/nvim-cmp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/config/nvim-cmp.lua b/.config/nvim/lua/config/nvim-cmp.lua index 4324ba10..ad81dd25 100644 --- a/.config/nvim/lua/config/nvim-cmp.lua +++ b/.config/nvim/lua/config/nvim-cmp.lua @@ -18,6 +18,7 @@ end require("luasnip/loaders/from_vscode").lazy_load() -- Custom snippets +-- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua -- XXX move this to a dedicated file local s = luasnip.snippet local i = luasnip.insert_node From 1eed480966ca3492536ed3b1ff0e769675b7228f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 24 Nov 2022 23:59:31 +0100 Subject: [PATCH 0536/2080] Doc for custom snippets --- .config/nvim/lua/config/nvim-cmp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/config/nvim-cmp.lua b/.config/nvim/lua/config/nvim-cmp.lua index ad81dd25..80eecad5 100644 --- a/.config/nvim/lua/config/nvim-cmp.lua +++ b/.config/nvim/lua/config/nvim-cmp.lua @@ -4,6 +4,7 @@ if not cmp_status_ok then return end +-- https://sbulav.github.io/vim/neovim-setting-up-luasnip/ local snip_status_ok, luasnip = pcall(require, "luasnip") if not snip_status_ok then return From b18db61ce1e61f8130b2dbc1b0de1452cbadea99 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 25 Nov 2022 09:25:10 +0100 Subject: [PATCH 0537/2080] Add some documentation --- .config/nvim/lua/plugins.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index c1b0d7ab..64986a7a 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -69,18 +69,21 @@ return require("packer").startup(function(use) -- https://github.com/uga-rosa/cmp-dictionary -- https://github.com/lukas-reineke/cmp-rg use({ + -- Complete from LSP client "hrsh7th/cmp-nvim-lsp", + -- Complete neovim's Lua runtime API such vim.lsp "hrsh7th/cmp-nvim-lua", "hrsh7th/cmp-path", "hrsh7th/cmp-buffer", "hrsh7th/cmp-cmdline", "hrsh7th/cmp-emoji", + -- Complete from lusasnp "saadparwaiz1/cmp_luasnip", -- Expecting to be able to get vimmail completion via omnifunc -- XXX addresses are shown, but slowwing and parasiting too much mail editing -- "hrsh7th/cmp-omni", }) - -- Completion for some neovim lua API + -- Neovim completion library for sumneko/lua-language-server use({ "ii14/emmylua-nvim", ft = "lua" }) -- use { -- "petertriho/cmp-git", @@ -380,6 +383,7 @@ return require("packer").startup(function(use) -- }) use({ "Mofiqul/dracula.nvim", as = "dracula", + -- "rafamadriz/neon", -- Looks quite nice -- {'embark-theme/vim', as = 'embark'}, -- 'folke/tokyonight.nvim', -- "andersevenrud/nordic.nvim", From 4a9410573f3f0c3c30e75091405e90b90cbb7a42 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 25 Nov 2022 09:31:41 +0100 Subject: [PATCH 0538/2080] Enable some norg plugins --- .config/nvim/lua/plugins.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 64986a7a..17fd6acc 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -338,6 +338,8 @@ return require("packer").startup(function(use) } }, ["core.norg.concealer"] = {}, + ["core.norg.journal"] = {}, + ["core.norg.qol.toc"] = {}, ["core.norg.dirman"] = { config = { workspaces = { @@ -346,9 +348,16 @@ return require("packer").startup(function(use) }, }, }, + ["core.gtd.base"] = {}, + ["core.integrations.telescope"] = {}, + ["external.kanban"] = {}, }, }) end, + requires = { + "nvim-neorg/neorg-telescope", + "max397574/neorg-kanban", + } }) -- Better yank management From c37332c05ff9ce690f5e9205a03b69a9497a307a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 25 Nov 2022 09:51:26 +0100 Subject: [PATCH 0539/2080] ltex-ls: also check mails --- .config/nvim/lua/config/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 7c913d5e..2a913584 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -149,7 +149,7 @@ end require("ltex-ls").setup({ on_attach = on_attach, use_spellfile = true, - filetypes = { "latex", "tex", "bib", "markdown", "gitcommit", "text" }, + filetypes = { "latex", "tex", "bib", "markdown", "gitcommit", "text", "mail" }, settings = { ltex = { checkFrequency = "save", From 1fec19c02d2ed0df405e6a5691f21b68198c3647 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 25 Nov 2022 11:08:14 +0100 Subject: [PATCH 0540/2080] mutt: move to background_edit in a tmux pane. --- .config/neomutt/profile-maildir.egi | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/.config/neomutt/profile-maildir.egi b/.config/neomutt/profile-maildir.egi index d4392f13..2086884c 100644 --- a/.config/neomutt/profile-maildir.egi +++ b/.config/neomutt/profile-maildir.egi @@ -1,20 +1,11 @@ # Mutt sender profile: egi # http://www.mutt.org/doc/manual/#bgedit -# XXX only on mutt +# XXX not available on neomutt set background_edit -# Showing editor and allowing to save -set editor = "nvim-qt" +set editor = "~/bin/bgedit-screen-tmux.sh nvim" +# set editor = "nvim-qt" # set editor = "subl -n -w" -# XXX Showing empty editor unless --nofork is used -# set editor = "neovide --nofork --notabs" -# Not working, no editor UI shown -# set editor = "vimr --wait" -# set editor = "vimr" -# Showing empty editor -# set editor = "~/.config/neomutt/launch_iterm.sh" -# set editor = "~/.config/neomutt/bgedit-screen-tmux.sh ~/baptiste/.config/neomutt/launch_iterm.sh" -# set editor = "~/.config/neomutt/bgedit-screen-tmux.sh" set folder = ~/Mail/EGI From 88923a6ae1aaf4386a59281d7a46012395a5d8f2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 25 Nov 2022 12:06:04 +0100 Subject: [PATCH 0541/2080] neorg: setup workspace dir for gtd --- .config/nvim/lua/plugins.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 17fd6acc..7de65e90 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -348,7 +348,12 @@ return require("packer").startup(function(use) }, }, }, - ["core.gtd.base"] = {}, + ["core.gtd.base"] = { + config = { + workspace = "~/notes/gtd" + + }, + }, ["core.integrations.telescope"] = {}, ["external.kanban"] = {}, }, From 72e5e189912f619a8e4e45e210fef128fbb750f7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 25 Nov 2022 17:49:14 +0100 Subject: [PATCH 0542/2080] Luasnip: fix tag name, neorg: fix gtd workspace --- .config/nvim/lua/plugins.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 7de65e90..a0cf8384 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -63,7 +63,7 @@ return require("packer").startup(function(use) "rafamadriz/friendly-snippets", }, }) - use({"L3MON4D3/LuaSnip", tag = "v<CurrentMajor>.*"}) + use({"L3MON4D3/LuaSnip", tag = "v1.*"}) -- nvim-cmp completion sources -- https://github.com/uga-rosa/cmp-dictionary @@ -345,13 +345,13 @@ return require("packer").startup(function(use) workspaces = { work = "~/notes/work", home = "~/notes/home", + gtd = "~/notes/gtd", }, }, }, ["core.gtd.base"] = { config = { - workspace = "~/notes/gtd" - + workspace = "gtd", }, }, ["core.integrations.telescope"] = {}, From 0a5611b5bbd2be8f9b18228c14a416ef9dda36b0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 25 Nov 2022 17:56:22 +0100 Subject: [PATCH 0543/2080] Reorganise plugins, to group all LSP stuff together. --- .config/nvim/lua/config/lsp.lua | 3 ++ .config/nvim/lua/plugins.lua | 52 ++++++++++++--------------------- 2 files changed, 22 insertions(+), 33 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 2a913584..d7617e75 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -8,6 +8,9 @@ local lsp = vim.lsp local lspconfig = require("lspconfig") local null_ls = require("null-ls") +-- Show LSP server status +require("fidget").setup({}) + -- global config for diagnostic diagnostic.config({ underline = true, diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index a0cf8384..1ca8acc8 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -110,6 +110,8 @@ return require("packer").startup(function(use) "jose-elias-alvarez/null-ls.nvim", -- Using ltex-ls for spellchecking "vigoux/ltex-ls.nvim", + -- Show LSP server status + "j-hui/fidget.nvim", }, }) @@ -384,17 +386,24 @@ return require("packer").startup(function(use) "jghauser/mkdir.nvim", }) + -- Session manager + use({ + "Shatur/neovim-session-manager", + config = function() + require("session_manager").setup({}) + local config_group = vim.api.nvim_create_augroup("MyConfigGroup", {}) -- A global group for all your config autocommands + + vim.api.nvim_create_autocmd({ "User" }, { + pattern = "SessionLoadPost", + group = config_group, + callback = function() + require("nvim-tree").toggle(false, true) + end, + }) + end, + }) + -- UI, UX, look and fgeel good - -- Use dracula theme - -- use({ - -- "dracula/vim", as = "dracula", - -- config = function() - -- vim.cmd([[colorscheme dracula]]) - -- end, - -- }) - -- use({'glepnir/zephyr-nvim', - -- requires = { 'nvim-treesitter/nvim-treesitter', opt = true }, - -- }) use({ "Mofiqul/dracula.nvim", as = "dracula", -- "rafamadriz/neon", -- Looks quite nice @@ -459,32 +468,9 @@ return require("packer").startup(function(use) end, }) - -- Session manager - use({ - "Shatur/neovim-session-manager", - config = function() - require("session_manager").setup({}) - local config_group = vim.api.nvim_create_augroup("MyConfigGroup", {}) -- A global group for all your config autocommands - - vim.api.nvim_create_autocmd({ "User" }, { - pattern = "SessionLoadPost", - group = config_group, - callback = function() - require("nvim-tree").toggle(false, true) - end, - }) - end, - }) - -- Notifications use("rcarriga/nvim-notify") -- use 'vigoux/notifier.nvim' - use({ - "j-hui/fidget.nvim", - config = function() - require("fidget").setup({}) - end, - }) -- Use neovim to edit textarea in browsers use({ From 5512dd025e4a8e03b06cfe2e6c0a32d91c1a58ea Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:22:56 +0100 Subject: [PATCH 0544/2080] Deprecated mail.vim --- .config/{nvim => nvim-vimscript}/ftplugin/mail.vim | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .config/{nvim => nvim-vimscript}/ftplugin/mail.vim (100%) diff --git a/.config/nvim/ftplugin/mail.vim b/.config/nvim-vimscript/ftplugin/mail.vim similarity index 100% rename from .config/nvim/ftplugin/mail.vim rename to .config/nvim-vimscript/ftplugin/mail.vim From 9f18f2c810dc6543c1ddcf684fb2079fe8c154c1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:29:46 +0100 Subject: [PATCH 0545/2080] Deprecate ftplugins --- .config/{nvim => nvim-vimscript}/ftplugin/c.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/css.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/gitcommit.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/haskell.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/help.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/html.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/java.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/javascript.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/markdown.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/php.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/python.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/rst.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/tex.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/text.vim | 0 .config/{nvim => nvim-vimscript}/ftplugin/xml.vim | 0 .config/nvim/ftplugin/perl.vim | 4 ---- 16 files changed, 4 deletions(-) rename .config/{nvim => nvim-vimscript}/ftplugin/c.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/css.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/gitcommit.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/haskell.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/help.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/html.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/java.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/javascript.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/markdown.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/php.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/python.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/rst.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/tex.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/text.vim (100%) rename .config/{nvim => nvim-vimscript}/ftplugin/xml.vim (100%) delete mode 100644 .config/nvim/ftplugin/perl.vim diff --git a/.config/nvim/ftplugin/c.vim b/.config/nvim-vimscript/ftplugin/c.vim similarity index 100% rename from .config/nvim/ftplugin/c.vim rename to .config/nvim-vimscript/ftplugin/c.vim diff --git a/.config/nvim/ftplugin/css.vim b/.config/nvim-vimscript/ftplugin/css.vim similarity index 100% rename from .config/nvim/ftplugin/css.vim rename to .config/nvim-vimscript/ftplugin/css.vim diff --git a/.config/nvim/ftplugin/gitcommit.vim b/.config/nvim-vimscript/ftplugin/gitcommit.vim similarity index 100% rename from .config/nvim/ftplugin/gitcommit.vim rename to .config/nvim-vimscript/ftplugin/gitcommit.vim diff --git a/.config/nvim/ftplugin/haskell.vim b/.config/nvim-vimscript/ftplugin/haskell.vim similarity index 100% rename from .config/nvim/ftplugin/haskell.vim rename to .config/nvim-vimscript/ftplugin/haskell.vim diff --git a/.config/nvim/ftplugin/help.vim b/.config/nvim-vimscript/ftplugin/help.vim similarity index 100% rename from .config/nvim/ftplugin/help.vim rename to .config/nvim-vimscript/ftplugin/help.vim diff --git a/.config/nvim/ftplugin/html.vim b/.config/nvim-vimscript/ftplugin/html.vim similarity index 100% rename from .config/nvim/ftplugin/html.vim rename to .config/nvim-vimscript/ftplugin/html.vim diff --git a/.config/nvim/ftplugin/java.vim b/.config/nvim-vimscript/ftplugin/java.vim similarity index 100% rename from .config/nvim/ftplugin/java.vim rename to .config/nvim-vimscript/ftplugin/java.vim diff --git a/.config/nvim/ftplugin/javascript.vim b/.config/nvim-vimscript/ftplugin/javascript.vim similarity index 100% rename from .config/nvim/ftplugin/javascript.vim rename to .config/nvim-vimscript/ftplugin/javascript.vim diff --git a/.config/nvim/ftplugin/markdown.vim b/.config/nvim-vimscript/ftplugin/markdown.vim similarity index 100% rename from .config/nvim/ftplugin/markdown.vim rename to .config/nvim-vimscript/ftplugin/markdown.vim diff --git a/.config/nvim/ftplugin/php.vim b/.config/nvim-vimscript/ftplugin/php.vim similarity index 100% rename from .config/nvim/ftplugin/php.vim rename to .config/nvim-vimscript/ftplugin/php.vim diff --git a/.config/nvim/ftplugin/python.vim b/.config/nvim-vimscript/ftplugin/python.vim similarity index 100% rename from .config/nvim/ftplugin/python.vim rename to .config/nvim-vimscript/ftplugin/python.vim diff --git a/.config/nvim/ftplugin/rst.vim b/.config/nvim-vimscript/ftplugin/rst.vim similarity index 100% rename from .config/nvim/ftplugin/rst.vim rename to .config/nvim-vimscript/ftplugin/rst.vim diff --git a/.config/nvim/ftplugin/tex.vim b/.config/nvim-vimscript/ftplugin/tex.vim similarity index 100% rename from .config/nvim/ftplugin/tex.vim rename to .config/nvim-vimscript/ftplugin/tex.vim diff --git a/.config/nvim/ftplugin/text.vim b/.config/nvim-vimscript/ftplugin/text.vim similarity index 100% rename from .config/nvim/ftplugin/text.vim rename to .config/nvim-vimscript/ftplugin/text.vim diff --git a/.config/nvim/ftplugin/xml.vim b/.config/nvim-vimscript/ftplugin/xml.vim similarity index 100% rename from .config/nvim/ftplugin/xml.vim rename to .config/nvim-vimscript/ftplugin/xml.vim diff --git a/.config/nvim/ftplugin/perl.vim b/.config/nvim/ftplugin/perl.vim deleted file mode 100644 index 99c88567..00000000 --- a/.config/nvim/ftplugin/perl.vim +++ /dev/null @@ -1,4 +0,0 @@ -" Perl -autocmd BufNewFile,BufRead *.pl,*.pm, set shiftwidth=2 - -" vim:set ft=vim et sw=2: From 20aefc801aceda17c492165ec1e00b4068c51c42 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:31:28 +0100 Subject: [PATCH 0546/2080] Note for lvim key mappings --- .config/nvim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 424afab3..82c11f65 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -139,6 +139,7 @@ opt.background = "dark" -- }}} -- Key mappings {{{ + -- https://github.com/LunarVim/LunarVim/blob/master/lua/lvim/keymappings.lua -- Modes -- normal_mode = "n", -- insert_mode = "i", From 7d884f430438c20ba3527b0f9edf65e96c5935ba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:31:43 +0100 Subject: [PATCH 0547/2080] Drop default configuration --- .config/nvim/lua/config/which-key.lua | 31 --------------------------- 1 file changed, 31 deletions(-) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index 222a96ef..2be70ee5 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -4,37 +4,6 @@ local which_key = require("which-key") which_key.setup({ window = { border = "single", -- none, single, double, shadow - -- position = "bottom", -- bottom, top - -- margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] - -- padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left] - -- winblend = 0, - }, - -- layout = { - -- height = { min = 4, max = 25 }, -- min and max height of the columns - -- width = { min = 20, max = 50 }, -- min and max width of the columns - -- spacing = 3, -- spacing between columns - -- align = "left", -- align columns left, center or right - -- }, - plugins = { - marks = true, -- shows a list of your marks on ' and ` - registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode - spelling = { enabled = true, suggestions = 20 }, -- use which-key for spelling hints - }, - -- popup_mappings = { - -- scroll_down = "<c-d>", -- binding to scroll down inside the popup - -- scroll_up = "<c-u>", -- binding to scroll up inside the popup - -- }, - -- hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate - ignore_missing = false, -- enable this to hide mappings for which you didn't specify a label - show_help = true, -- show help message on the command line when the popup is visible - triggers = "auto", -- automatically setup triggers - -- triggers = {"<leader>"} -- or specify a list manually - triggers_blacklist = { - -- list of mode / prefixes that should never be hooked by WhichKey - -- this is mostly relevant for key maps that start with a native binding - -- most people should not need to change this - i = { "j", "k" }, - v = { "j", "k" }, }, }) From c8961bbbaaa98b560be1750b674f4ef2436950c3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:32:25 +0100 Subject: [PATCH 0548/2080] Move mail conf to a dedicated file --- .config/{nvim => nvim-vimscript}/README.md | 0 .config/nvim/lua/config/mail.lua | 63 ++++++++++++++++++++++ .config/nvim/lua/plugins.lua | 9 ++-- 3 files changed, 66 insertions(+), 6 deletions(-) rename .config/{nvim => nvim-vimscript}/README.md (100%) create mode 100644 .config/nvim/lua/config/mail.lua diff --git a/.config/nvim/README.md b/.config/nvim-vimscript/README.md similarity index 100% rename from .config/nvim/README.md rename to .config/nvim-vimscript/README.md diff --git a/.config/nvim/lua/config/mail.lua b/.config/nvim/lua/config/mail.lua new file mode 100644 index 00000000..3586d26f --- /dev/null +++ b/.config/nvim/lua/config/mail.lua @@ -0,0 +1,63 @@ +-- Setup to write mails with vim +-- +-- Disable default mappings +vim.g.VimMailDoNotMap = 0 +-- Complete emails address in every files +-- vim.opt.completefunc = "vimmail#contacts#CompleteAddr" + +-- Enable spell checks using native spell checker +-- setlocal spell +-- No indentation when copying +-- set nocopyindent + +-- Automatic line wrap +-- max line length +-- set textwidth=72 +-- :help fo-table +-- set formatoptions=nawrjtcq +-- set fo=tcqnaw +-- set comments+=n:\| -- '|' is a quote char. +-- set comments+=n:% -- '%' as well. + +-- Disable LessSpace for emails +-- let g:lessspace_enabled = 0 + +-- Disable automatic indent for emails +-- let b:sleuth_automatic = 0 + +-- vim-mail +-- https://github.com/dbeniamine/vim-mail/ +-- Do not add custom keymaps +-- XXX some are nice to move inside the file +-- let g:VimMailDoNotMap=1 +-- let g:VimMailDoNotFold=1 +-- let g:VimMailSpellLangs=['en_gb', 'fr'] +-- Remove quoted signature is killing mine due to flow automatic formatting +--let g:VimMailStartFlags={'reply' :"boir" } +-- let g:VimMailStartFlags={ +-- \'blank': 'TAi', +-- \'nosubject': 'SAi', +-- \'default' : 'bOi'} +-- let g:VimMailContactsProvider=['khard'] +-- Use mu +-- let g:VimMailContactsCommands={'mu' : +-- \{ 'query' : "mu cfind", + +-- \'sync': "mu index", +-- \'config': { +-- \'default': { +-- \'home': '$HOME/.mu', +-- \'maildir': '$HOME/Mail', +-- \} +-- \} +-- \} +-- \} + +-- XXX Don't want to remove trailing spaces in emails! +-- XXX disabled while testing lessspace.vim +-- let g:ale_fix_on_save = 0 +-- let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,FRENCH_WITHESPACE' + +-- Hide ALE error list window +-- let g:ale_open_list = 0 + diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 1ca8acc8..0be00fae 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -116,15 +116,12 @@ return require("packer").startup(function(use) }) -- mail helper, mainly for searching for contacts - -- https://github.com/dbeniamine/vim-mail/tags - -- XXX moved to gitlab project - -- https://gitlab.com/dbeniamine/vim-mail use({ - "dbeniamine/vim-mail", + "https://gitlab.com/dbeniamine/vim-mail", config = function() - -- Complete emails address in every files - -- vim.opt.completefunc = "vimmail#contacts#CompleteAddr" + require("config.mail") end, + ft = "mail", }) -- displays a popup with possible key bindings From f20f89ec54ff0c57989e0a84bf14851dac2fed6c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:32:49 +0100 Subject: [PATCH 0549/2080] nvim-tree: follow nightly releases, not master --- .config/nvim/lua/plugins.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 0be00fae..a1a2792b 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -278,6 +278,7 @@ return require("packer").startup(function(use) -- netrw replacement use({ "kyazdani42/nvim-tree.lua", + tag = "nightly", config = function() require("nvim-tree").setup({}) vim.keymap.set("n", "<leader>T", "<cmd>NvimTreeToggle<cr>", { silent = true, noremap = true }) From 273851ac62005d6cc0642915570d822cef425baa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:33:24 +0100 Subject: [PATCH 0550/2080] init.lua; documentation/reorganisation --- .config/nvim/lua/plugins.lua | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index a1a2792b..2017770b 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -422,7 +422,7 @@ return require("packer").startup(function(use) vim.cmd([[colorscheme dracula]]) end, }) - +-- status line use({ "nvim-lualine/lualine.nvim", after = "dracula", @@ -434,6 +434,7 @@ return require("packer").startup(function(use) requires = { "kyazdani42/nvim-web-devicons", opt = true }, }) + -- Git support use({ "lewis6991/gitsigns.nvim", config = function() @@ -447,17 +448,6 @@ return require("packer").startup(function(use) event = "BufRead", }) - -- a fast and fully programmable greeter for neovim. - use({ - "goolord/alpha-nvim", - requires = { "kyazdani42/nvim-web-devicons" }, - config = function() - -- startify, dashboard - -- XXX shortcuts are not aligned with dashboard theme - require("alpha").setup(require("alpha.themes.startify").config) - end, - }) - -- Neovim plugin to improve the default vim.ui interfaces use({ "stevearc/dressing.nvim", @@ -465,10 +455,19 @@ return require("packer").startup(function(use) require("dressing").setup({}) end, }) - -- Notifications use("rcarriga/nvim-notify") -- use 'vigoux/notifier.nvim' + -- a fast and fully programmable greeter for neovim. + use({ + "goolord/alpha-nvim", + requires = { "kyazdani42/nvim-web-devicons" }, + config = function() + -- startify, dashboard + -- XXX shortcuts are not aligned with dashboard theme + require("alpha").setup(require("alpha.themes.startify").config) + end, + }) -- Use neovim to edit textarea in browsers use({ From a6ec79cf463a7722ec76d381b8a7b0c797c7b157 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:33:36 +0100 Subject: [PATCH 0551/2080] init.lua: install toggleterm --- .config/nvim/lua/plugins.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 2017770b..fafa987a 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -477,6 +477,12 @@ return require("packer").startup(function(use) end, }) + -- Spaw terminals + use {"akinsho/toggleterm.nvim", tag = '*', config = function() + require("toggleterm").setup() + end +} + -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins if packer_bootstrap then From 335ec73569e69637fc11c11c39cdc82408c5f72c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:45:03 +0100 Subject: [PATCH 0552/2080] Deprecate more files --- .config/{nvim => nvim-vimscript}/UltiSnips/all.snippets | 0 .config/{nvim => nvim-vimscript}/UltiSnips/puppet.snippets | 0 .config/{nvim => nvim-vimscript}/UltiSnips/py.snippets | 0 .config/{nvim => nvim-vimscript}/UltiSnips/sh.snippets | 0 .config/{nvim => nvim-vimscript}/after/ftplugin/vimwiki.vim | 0 .config/{nvim => nvim-vimscript}/after/plugin/TabularMaps.vim | 0 .../{nvim => nvim-vimscript}/after/plugin/ultisnips_custom.vim | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename .config/{nvim => nvim-vimscript}/UltiSnips/all.snippets (100%) rename .config/{nvim => nvim-vimscript}/UltiSnips/puppet.snippets (100%) rename .config/{nvim => nvim-vimscript}/UltiSnips/py.snippets (100%) rename .config/{nvim => nvim-vimscript}/UltiSnips/sh.snippets (100%) rename .config/{nvim => nvim-vimscript}/after/ftplugin/vimwiki.vim (100%) rename .config/{nvim => nvim-vimscript}/after/plugin/TabularMaps.vim (100%) rename .config/{nvim => nvim-vimscript}/after/plugin/ultisnips_custom.vim (100%) diff --git a/.config/nvim/UltiSnips/all.snippets b/.config/nvim-vimscript/UltiSnips/all.snippets similarity index 100% rename from .config/nvim/UltiSnips/all.snippets rename to .config/nvim-vimscript/UltiSnips/all.snippets diff --git a/.config/nvim/UltiSnips/puppet.snippets b/.config/nvim-vimscript/UltiSnips/puppet.snippets similarity index 100% rename from .config/nvim/UltiSnips/puppet.snippets rename to .config/nvim-vimscript/UltiSnips/puppet.snippets diff --git a/.config/nvim/UltiSnips/py.snippets b/.config/nvim-vimscript/UltiSnips/py.snippets similarity index 100% rename from .config/nvim/UltiSnips/py.snippets rename to .config/nvim-vimscript/UltiSnips/py.snippets diff --git a/.config/nvim/UltiSnips/sh.snippets b/.config/nvim-vimscript/UltiSnips/sh.snippets similarity index 100% rename from .config/nvim/UltiSnips/sh.snippets rename to .config/nvim-vimscript/UltiSnips/sh.snippets diff --git a/.config/nvim/after/ftplugin/vimwiki.vim b/.config/nvim-vimscript/after/ftplugin/vimwiki.vim similarity index 100% rename from .config/nvim/after/ftplugin/vimwiki.vim rename to .config/nvim-vimscript/after/ftplugin/vimwiki.vim diff --git a/.config/nvim/after/plugin/TabularMaps.vim b/.config/nvim-vimscript/after/plugin/TabularMaps.vim similarity index 100% rename from .config/nvim/after/plugin/TabularMaps.vim rename to .config/nvim-vimscript/after/plugin/TabularMaps.vim diff --git a/.config/nvim/after/plugin/ultisnips_custom.vim b/.config/nvim-vimscript/after/plugin/ultisnips_custom.vim similarity index 100% rename from .config/nvim/after/plugin/ultisnips_custom.vim rename to .config/nvim-vimscript/after/plugin/ultisnips_custom.vim From 2065a94bf0bbc9595e75388e3a44b6c117ff78f8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:47:43 +0100 Subject: [PATCH 0553/2080] Deprecate more files --- .../snippets/rip-vim-puppet.snippets | 0 .config/nvim/plugin/settings/spell.vim | 10 ---------- 2 files changed, 10 deletions(-) rename .config/{nvim => nvim-vimscript}/snippets/rip-vim-puppet.snippets (100%) delete mode 100644 .config/nvim/plugin/settings/spell.vim diff --git a/.config/nvim/snippets/rip-vim-puppet.snippets b/.config/nvim-vimscript/snippets/rip-vim-puppet.snippets similarity index 100% rename from .config/nvim/snippets/rip-vim-puppet.snippets rename to .config/nvim-vimscript/snippets/rip-vim-puppet.snippets diff --git a/.config/nvim/plugin/settings/spell.vim b/.config/nvim/plugin/settings/spell.vim deleted file mode 100644 index e11cc720..00000000 --- a/.config/nvim/plugin/settings/spell.vim +++ /dev/null @@ -1,10 +0,0 @@ -" XXX disabled as it breaks mostly all spell checks -" Disable spell for capital-staring and camelcase words -" https://stackoverflow.com/questions/18196399/exclude-capitalized-words-from-vim-spell-check -" fun! IgnoreCamelCaseSpell() -" syn match myExCapitalWords +\<\w*[A-Z]\K*\>\|'s+ contains=@NoSpell transparent -" syn cluster Spell add=myExCapitalWords -" syn match CamelCase /\<[A-Z][a-z]\+[A-Z].\{-}\>/ contains=@NoSpell transparent -" syn cluster Spell add=CamelCase -" endfun -" autocmd BufRead,BufNewFile * :call IgnoreCamelCaseSpell() From b17cf4347506bb1bf14ae96a3ea890886d9f430f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:48:17 +0100 Subject: [PATCH 0554/2080] Import new README --- .config/nvim/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .config/nvim/README.md diff --git a/.config/nvim/README.md b/.config/nvim/README.md new file mode 100644 index 00000000..ed2ccc49 --- /dev/null +++ b/.config/nvim/README.md @@ -0,0 +1,3 @@ +# neovim configuration based on lua + +This cofiguraiton is fully done in lua. From 40abac296f7a594e6a34075ee5bbc1e00411a815 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 16:48:54 +0100 Subject: [PATCH 0555/2080] Deprecate more files --- .config/{nvim => nvim-vimscript}/spell/en.utf-8.add | 0 .../{nvim => nvim-vimscript}/spell/en.utf-8.add.spl | Bin .config/{nvim => nvim-vimscript}/spell/en.utf-8.spl | Bin .config/{nvim => nvim-vimscript}/spell/en.utf-8.sug | Bin .config/{nvim => nvim-vimscript}/spell/fr.utf-8.add | 0 .../{nvim => nvim-vimscript}/spell/fr.utf-8.add.spl | Bin .config/{nvim => nvim-vimscript}/spell/fr.utf-8.spl | Bin .config/{nvim => nvim-vimscript}/spell/fr.utf-8.sug | Bin 8 files changed, 0 insertions(+), 0 deletions(-) rename .config/{nvim => nvim-vimscript}/spell/en.utf-8.add (100%) rename .config/{nvim => nvim-vimscript}/spell/en.utf-8.add.spl (100%) rename .config/{nvim => nvim-vimscript}/spell/en.utf-8.spl (100%) rename .config/{nvim => nvim-vimscript}/spell/en.utf-8.sug (100%) rename .config/{nvim => nvim-vimscript}/spell/fr.utf-8.add (100%) rename .config/{nvim => nvim-vimscript}/spell/fr.utf-8.add.spl (100%) rename .config/{nvim => nvim-vimscript}/spell/fr.utf-8.spl (100%) rename .config/{nvim => nvim-vimscript}/spell/fr.utf-8.sug (100%) diff --git a/.config/nvim/spell/en.utf-8.add b/.config/nvim-vimscript/spell/en.utf-8.add similarity index 100% rename from .config/nvim/spell/en.utf-8.add rename to .config/nvim-vimscript/spell/en.utf-8.add diff --git a/.config/nvim/spell/en.utf-8.add.spl b/.config/nvim-vimscript/spell/en.utf-8.add.spl similarity index 100% rename from .config/nvim/spell/en.utf-8.add.spl rename to .config/nvim-vimscript/spell/en.utf-8.add.spl diff --git a/.config/nvim/spell/en.utf-8.spl b/.config/nvim-vimscript/spell/en.utf-8.spl similarity index 100% rename from .config/nvim/spell/en.utf-8.spl rename to .config/nvim-vimscript/spell/en.utf-8.spl diff --git a/.config/nvim/spell/en.utf-8.sug b/.config/nvim-vimscript/spell/en.utf-8.sug similarity index 100% rename from .config/nvim/spell/en.utf-8.sug rename to .config/nvim-vimscript/spell/en.utf-8.sug diff --git a/.config/nvim/spell/fr.utf-8.add b/.config/nvim-vimscript/spell/fr.utf-8.add similarity index 100% rename from .config/nvim/spell/fr.utf-8.add rename to .config/nvim-vimscript/spell/fr.utf-8.add diff --git a/.config/nvim/spell/fr.utf-8.add.spl b/.config/nvim-vimscript/spell/fr.utf-8.add.spl similarity index 100% rename from .config/nvim/spell/fr.utf-8.add.spl rename to .config/nvim-vimscript/spell/fr.utf-8.add.spl diff --git a/.config/nvim/spell/fr.utf-8.spl b/.config/nvim-vimscript/spell/fr.utf-8.spl similarity index 100% rename from .config/nvim/spell/fr.utf-8.spl rename to .config/nvim-vimscript/spell/fr.utf-8.spl diff --git a/.config/nvim/spell/fr.utf-8.sug b/.config/nvim-vimscript/spell/fr.utf-8.sug similarity index 100% rename from .config/nvim/spell/fr.utf-8.sug rename to .config/nvim-vimscript/spell/fr.utf-8.sug From 2581f1adfe6195db5884c7f1cc68b59618af0cca Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 18:08:19 +0100 Subject: [PATCH 0556/2080] Update signature --- .config/neomutt/signature-perso | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/neomutt/signature-perso b/.config/neomutt/signature-perso index 3898bd87..b483c683 100644 --- a/.config/neomutt/signature-perso +++ b/.config/neomutt/signature-perso @@ -1,5 +1,5 @@ \,,/_[-_-]_\,,/ -Keybase: gwarf - GPG: 0xCDA18F02 +Keybase: gwarf - GPG: 0xCDA18F02 @gwarf@framapiaf.org https://blog.bapt.name https://github.com/gwarf From e587e81f5d7ee8aef7f46ad9cd9a60cb31937881 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 18:10:47 +0100 Subject: [PATCH 0557/2080] Update tasks list --- .config/nvim/init.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 82c11f65..83f257e2 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -14,19 +14,19 @@ local keymap = vim.keymap local opt = vim.opt -- Missing {{{ --- * spell check using ltex, allowing to add exception to a custom file --- * Look for possibly duplicated keymaps --- * Manage all keympas in a central place, in which-key +-- * Spell: check using ltex, allowing to add exception to a custom file +-- * Keymaps: Look for possibly duplicated keymaps +-- * Keympas: manage all mappings centrally -- * Test Neorg: https://github.com/nvim-neorg/neorg -- * Fix treesitter usage --- * Fix rainbow brackets --- * Fix highlight of yaml.ansible using ansible-language-server +-- * LSP: show attributes list when adding parameters in a function call -- * mutt/mail setup: -- * Completion from address from khard -- * https://opensource.com/article/20/1/vim-email-calendar -- * https://github.com/soywod/himalaya -- * https://git.sr.ht/~soywod/himalaya-vim -- * ensure flake8 isn't run twice (from pyright and null-ls) +-- * Fix highlight of yaml.ansible using ansible-language-server -- }}} -- Speed up startup From 5a6a01d711cc475881fdf2119766db1343b6b8ba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 18:12:20 +0100 Subject: [PATCH 0558/2080] Add mapping for TS Playground --- .config/nvim/lua/config/which-key.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index 2be70ee5..b09912ad 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -200,6 +200,7 @@ local mappings = { -- Treesitter T = { name = "Treesitter", + p = { "<cmd>TSConfigInfo<cr>", "Playground" }, i = { "<cmd>TSConfigInfo<cr>", "Info" }, }, } From 91c007724cb6c30f1305041bfce75f83006ef21c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 18:14:05 +0100 Subject: [PATCH 0559/2080] Trouble: auto open. bufferline: fix version. Install indent-blankline. --- .config/nvim/lua/plugins.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index fafa987a..95e82f3d 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -204,8 +204,8 @@ return require("packer").startup(function(use) config = function() require("trouble").setup({ indent_lines = true, -- add an indent guide below the fold icons - auto_open = false, -- automatically open the list when you have diagnostics - auto_close = false, -- automatically close the list when you have no diagnostics + auto_open = true, -- automatically open the list when you have diagnostics + auto_close = true, -- automatically close the list when you have no diagnostics auto_preview = true, -- automatically preview the location of the diagnostic. <esc> to close preview and go back to last window auto_fold = false, -- automatically fold a file trouble list at creation }) @@ -299,7 +299,7 @@ return require("packer").startup(function(use) -- list and switch between buffers use({ "akinsho/bufferline.nvim", - tag = "*", + tag = "v3.*", config = function() require("bufferline").setup({}) end, @@ -448,6 +448,8 @@ return require("packer").startup(function(use) event = "BufRead", }) + -- Add indentation guides to all lines + use({"lukas-reineke/indent-blankline.nvim"}) -- Neovim plugin to improve the default vim.ui interfaces use({ "stevearc/dressing.nvim", From 0fa0634b57e6822ca6b9f454e2d70d8f649ccf01 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 18:15:33 +0100 Subject: [PATCH 0560/2080] mail: clean conf, set formatoptions. --- .config/nvim/lua/config/mail.lua | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/.config/nvim/lua/config/mail.lua b/.config/nvim/lua/config/mail.lua index 3586d26f..70bca0d1 100644 --- a/.config/nvim/lua/config/mail.lua +++ b/.config/nvim/lua/config/mail.lua @@ -1,9 +1,5 @@ -- Setup to write mails with vim --- --- Disable default mappings -vim.g.VimMailDoNotMap = 0 --- Complete emails address in every files --- vim.opt.completefunc = "vimmail#contacts#CompleteAddr" + -- Enable spell checks using native spell checker -- setlocal spell @@ -12,33 +8,27 @@ vim.g.VimMailDoNotMap = 0 -- Automatic line wrap -- max line length --- set textwidth=72 -- :help fo-table -- set formatoptions=nawrjtcq --- set fo=tcqnaw +vim.opt.formatoptions = "tcqwan" -- set comments+=n:\| -- '|' is a quote char. -- set comments+=n:% -- '%' as well. --- Disable LessSpace for emails --- let g:lessspace_enabled = 0 - --- Disable automatic indent for emails --- let b:sleuth_automatic = 0 - -- vim-mail -- https://github.com/dbeniamine/vim-mail/ +-- Use khard as a contact provider +vim.g.VimMailContactsProvider = 'khard' -- Do not add custom keymaps -- XXX some are nice to move inside the file -- let g:VimMailDoNotMap=1 -- let g:VimMailDoNotFold=1 -- let g:VimMailSpellLangs=['en_gb', 'fr'] -- Remove quoted signature is killing mine due to flow automatic formatting ---let g:VimMailStartFlags={'reply' :"boir" } +-- let g:VimMailStartFlags={'reply' :"boir" } -- let g:VimMailStartFlags={ -- \'blank': 'TAi', -- \'nosubject': 'SAi', -- \'default' : 'bOi'} --- let g:VimMailContactsProvider=['khard'] -- Use mu -- let g:VimMailContactsCommands={'mu' : -- \{ 'query' : "mu cfind", @@ -52,12 +42,3 @@ vim.g.VimMailDoNotMap = 0 -- \} -- \} -- \} - --- XXX Don't want to remove trailing spaces in emails! --- XXX disabled while testing lessspace.vim --- let g:ale_fix_on_save = 0 --- let g:ale_languagetool_options='--autoDetect --disable WORD_CONTAINS_UNDERSCORE,DASH_RULE,FRENCH_WITHESPACE' - --- Hide ALE error list window --- let g:ale_open_list = 0 - From 74bc8a87d28ec1a1fa80606fd803f143b2df90b5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 20:34:55 +0100 Subject: [PATCH 0561/2080] typo --- .config/nvim/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/README.md b/.config/nvim/README.md index ed2ccc49..a18d868c 100644 --- a/.config/nvim/README.md +++ b/.config/nvim/README.md @@ -1,3 +1,3 @@ # neovim configuration based on lua -This cofiguraiton is fully done in lua. +This configuraiton is fully done in lua. From 035dcd5f45aa939e31fa67e689005818a0048cc7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 20:35:32 +0100 Subject: [PATCH 0562/2080] plugins.lua: install noive.nvim --- .config/nvim/lua/plugins.lua | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 95e82f3d..3eef5777 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -457,8 +457,35 @@ return require("packer").startup(function(use) require("dressing").setup({}) end, }) - -- Notifications - use("rcarriga/nvim-notify") + -- Notifications, Messages, cmdline, pop up menu + use({ + "folke/noice.nvim", + config = function() + require("noice").setup({ + lsp = { + -- override markdown rendering so that **cmp** and other plugins use **Treesitter** + override = { + ["vim.lsp.util.convert_input_to_markdown_lines"] = true, + ["vim.lsp.util.stylize_markdown"] = true, + ["cmp.entry.get_documentation"] = true, + }, + }, + -- you can enable a preset for easier configuration + presets = { + bottom_search = true, -- use a classic bottom cmdline for search + command_palette = true, -- position the cmdline and popupmenu together + long_message_to_split = true, -- long messages will be sent to a split + inc_rename = false, -- enables an input dialog for inc-rename.nvim + lsp_doc_border = false, -- add a border to hover docs and signature help + }, + }) + end, + requires = { + -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries + "MunifTanjim/nui.nvim", + "rcarriga/nvim-notify", + } + }) -- use 'vigoux/notifier.nvim' -- a fast and fully programmable greeter for neovim. use({ From 8106249a46faba4dc4f6b9b2a2b1e06a58baa610 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 20:35:39 +0100 Subject: [PATCH 0563/2080] mail: enable manual completion --- .config/nvim/lua/config/mail.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.config/nvim/lua/config/mail.lua b/.config/nvim/lua/config/mail.lua index 70bca0d1..37c30f48 100644 --- a/.config/nvim/lua/config/mail.lua +++ b/.config/nvim/lua/config/mail.lua @@ -20,9 +20,11 @@ vim.opt.formatoptions = "tcqwan" vim.g.VimMailContactsProvider = 'khard' -- Do not add custom keymaps -- XXX some are nice to move inside the file --- let g:VimMailDoNotMap=1 --- let g:VimMailDoNotFold=1 +vim.g.VimMailDoNotMap = 1 +vim.g.VimMailDoNotFold = 1 -- let g:VimMailSpellLangs=['en_gb', 'fr'] +-- Complete emails address in every files +vim.opt.completefunc = "vimmail#contacts#CompleteAddr" -- Remove quoted signature is killing mine due to flow automatic formatting -- let g:VimMailStartFlags={'reply' :"boir" } -- let g:VimMailStartFlags={ From ae411f4241d6c2165e0d6d0fdd074ffba6e4bfc6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 20:42:55 +0100 Subject: [PATCH 0564/2080] Omnicompletion is not working properly --- .config/nvim/lua/config/nvim-cmp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/nvim-cmp.lua b/.config/nvim/lua/config/nvim-cmp.lua index 80eecad5..640c8ecb 100644 --- a/.config/nvim/lua/config/nvim-cmp.lua +++ b/.config/nvim/lua/config/nvim-cmp.lua @@ -93,7 +93,7 @@ cmp.setup({ }, { name = "path" }, { name = "emoji", insert = true }, - -- XXX check if useful + -- XXX email address completion only working automatically for first entry -- { name = "omni" }, { name = "nvim_lsp" }, }), From d7de9634452de89e0444255f870fe2661fbca316 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 21:01:43 +0100 Subject: [PATCH 0565/2080] plugins.lua: no more autoamtically open Trouble --- .config/nvim/lua/plugins.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 3eef5777..bc41c5d0 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -204,7 +204,7 @@ return require("packer").startup(function(use) config = function() require("trouble").setup({ indent_lines = true, -- add an indent guide below the fold icons - auto_open = true, -- automatically open the list when you have diagnostics + auto_open = false, -- automatically open the list when you have diagnostics auto_close = true, -- automatically close the list when you have no diagnostics auto_preview = true, -- automatically preview the location of the diagnostic. <esc> to close preview and go back to last window auto_fold = false, -- automatically fold a file trouble list at creation From 643c4f64b668321a312c578eef658bf2d9f5c573 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 21:01:53 +0100 Subject: [PATCH 0566/2080] nvim_lsp_signature_help doesn't seem needed --- .config/nvim/lua/config/nvim-cmp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/config/nvim-cmp.lua b/.config/nvim/lua/config/nvim-cmp.lua index 640c8ecb..1cb454aa 100644 --- a/.config/nvim/lua/config/nvim-cmp.lua +++ b/.config/nvim/lua/config/nvim-cmp.lua @@ -95,6 +95,7 @@ cmp.setup({ { name = "emoji", insert = true }, -- XXX email address completion only working automatically for first entry -- { name = "omni" }, + -- { name = "nvim_lsp_signature_help" }, { name = "nvim_lsp" }, }), }) From 197ca9a96a7bcee0b6c593603ebf31c6bb31b85d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 21:21:36 +0100 Subject: [PATCH 0567/2080] Formatting --- .config/nvim/lua/plugins.lua | 44 ++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index bc41c5d0..d3de36db 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -63,7 +63,7 @@ return require("packer").startup(function(use) "rafamadriz/friendly-snippets", }, }) - use({"L3MON4D3/LuaSnip", tag = "v1.*"}) + use({ "L3MON4D3/LuaSnip", tag = "v1.*" }) -- nvim-cmp completion sources -- https://github.com/uga-rosa/cmp-dictionary @@ -116,13 +116,13 @@ return require("packer").startup(function(use) }) -- mail helper, mainly for searching for contacts - use({ - "https://gitlab.com/dbeniamine/vim-mail", - config = function() - require("config.mail") - end, - ft = "mail", - }) + use({ + "https://gitlab.com/dbeniamine/vim-mail", + config = function() + require("config.mail") + end, + ft = "mail", + }) -- displays a popup with possible key bindings -- https://github.com/LunarVim/LunarVim/blob/master/lua/lvim/core/which-key.lua @@ -266,7 +266,7 @@ return require("packer").startup(function(use) -- "JoosepAlviste/nvim-ts-context-commentstring", -- Use treesitter to autoclose and autorename html tag { "windwp/nvim-ts-autotag" }, - } + }, }) -- open last postiion in file @@ -335,7 +335,7 @@ return require("packer").startup(function(use) ["core.norg.completion"] = { config = { engine = "nvim-cmp", - } + }, }, ["core.norg.concealer"] = {}, ["core.norg.journal"] = {}, @@ -361,8 +361,8 @@ return require("packer").startup(function(use) end, requires = { "nvim-neorg/neorg-telescope", - "max397574/neorg-kanban", - } + "max397574/neorg-kanban", + }, }) -- Better yank management @@ -403,7 +403,8 @@ return require("packer").startup(function(use) -- UI, UX, look and fgeel good use({ - "Mofiqul/dracula.nvim", as = "dracula", + "Mofiqul/dracula.nvim", + as = "dracula", -- "rafamadriz/neon", -- Looks quite nice -- {'embark-theme/vim', as = 'embark'}, -- 'folke/tokyonight.nvim', @@ -422,7 +423,7 @@ return require("packer").startup(function(use) vim.cmd([[colorscheme dracula]]) end, }) --- status line + -- status line use({ "nvim-lualine/lualine.nvim", after = "dracula", @@ -449,7 +450,7 @@ return require("packer").startup(function(use) }) -- Add indentation guides to all lines - use({"lukas-reineke/indent-blankline.nvim"}) + use({ "lukas-reineke/indent-blankline.nvim" }) -- Neovim plugin to improve the default vim.ui interfaces use({ "stevearc/dressing.nvim", @@ -484,7 +485,7 @@ return require("packer").startup(function(use) -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries "MunifTanjim/nui.nvim", "rcarriga/nvim-notify", - } + }, }) -- use 'vigoux/notifier.nvim' -- a fast and fully programmable greeter for neovim. @@ -507,10 +508,13 @@ return require("packer").startup(function(use) }) -- Spaw terminals - use {"akinsho/toggleterm.nvim", tag = '*', config = function() - require("toggleterm").setup() - end -} + use({ + "akinsho/toggleterm.nvim", + tag = "*", + config = function() + require("toggleterm").setup() + end, + }) -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins From 7b9f6b4d0235c6c519e791d9b1ce723c0835be9c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 21:22:42 +0100 Subject: [PATCH 0568/2080] Import stylua cong --- .config/nvim/stylua.toml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .config/nvim/stylua.toml diff --git a/.config/nvim/stylua.toml b/.config/nvim/stylua.toml new file mode 100644 index 00000000..0435f677 --- /dev/null +++ b/.config/nvim/stylua.toml @@ -0,0 +1,2 @@ +indent_type = "Spaces" +indent_width = 2 From 9d089de98261140e0df7f93c01ec2348cd48706b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 21:22:54 +0100 Subject: [PATCH 0569/2080] Load custom stylua conf --- .config/nvim/lua/config/lsp.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index d7617e75..47aa4197 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -274,7 +274,11 @@ null_ls.setup({ null_ls.builtins.formatting.prettier, null_ls.builtins.formatting.shfmt, null_ls.builtins.formatting.beautysh, - null_ls.builtins.formatting.stylua, + null_ls.builtins.formatting.stylua.with({ + extra_args = { + "--config-path", "~/.config/nvim/stylua.toml", + }, + }), -- diagnostics null_ls.builtins.diagnostics.actionlint, null_ls.builtins.diagnostics.flake8, From 2647f1480d2d93168313b74d5fe28e85240d306c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 21:25:41 +0100 Subject: [PATCH 0570/2080] Pass parameters to stylua, formant lsp.lua --- .config/nvim/lua/config/lsp.lua | 29 ++++++++++++++--------------- .config/nvim/stylua.toml | 2 -- 2 files changed, 14 insertions(+), 17 deletions(-) delete mode 100644 .config/nvim/stylua.toml diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 47aa4197..b8d3a0b0 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -39,9 +39,8 @@ lsp.handlers["textDocument/publishDiagnostics"] = lsp.with(lsp.diagnostic.on_pub -- To be used to display LSP diagnostic window details when on an error local on_attach = function(client, bufnr) - -- turn off formatting for some lsp, to use the ones from null-ls - if client.name == 'pyright' or client.name == 'jsonls' then + if client.name == "pyright" or client.name == "jsonls" then client.server_capabilities.document_formatting = false client.server_capabilities.document_range_formatting = false end @@ -80,8 +79,9 @@ local on_attach = function(client, bufnr) end local cursor_pos = api.nvim_win_get_cursor(0) - if (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) - and #diagnostic.get() > 0 + if + (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) + and #diagnostic.get() > 0 then diagnostic.open_float(nil, float_opts) end @@ -126,11 +126,8 @@ end -- https://vonheikemen.github.io/devlog/tools/setup-nvim-lspconfig-plus-nvim-cmp/ -- merge the defaults lspconfig provides with the capabilities nvim-cmp adds local lsp_defaults = lspconfig.util.default_config -lsp_defaults.capabilities = vim.tbl_deep_extend( - 'force', - lsp_defaults.capabilities, - require('cmp_nvim_lsp').default_capabilities() -) +lsp_defaults.capabilities = + vim.tbl_deep_extend("force", lsp_defaults.capabilities, require("cmp_nvim_lsp").default_capabilities()) local lsp_flags = { -- This is the default in Nvim 0.7+ @@ -198,11 +195,10 @@ lspconfig.ansiblels.setup({ settings = { ansible = { ansibleLint = { - enabled = false - } - } - - } + enabled = false, + }, + }, + }, }) -- clang server for C and C++ @@ -276,7 +272,10 @@ null_ls.setup({ null_ls.builtins.formatting.beautysh, null_ls.builtins.formatting.stylua.with({ extra_args = { - "--config-path", "~/.config/nvim/stylua.toml", + "--indent-type", + "Spaces", + "--indent-width", + "2", }, }), -- diagnostics diff --git a/.config/nvim/stylua.toml b/.config/nvim/stylua.toml deleted file mode 100644 index 0435f677..00000000 --- a/.config/nvim/stylua.toml +++ /dev/null @@ -1,2 +0,0 @@ -indent_type = "Spaces" -indent_width = 2 From 9dccef466c29ef38ce4e19bb63b710b033d00c2e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 21:28:01 +0100 Subject: [PATCH 0571/2080] lua code formatting --- .config/nvim/init.lua | 8 ++++---- .config/nvim/lua/config/mail.lua | 3 +-- .config/nvim/lua/config/treesitter.lua | 2 +- .config/nvim/lua/config/which-key.lua | 7 +++---- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 83f257e2..18941b55 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -77,7 +77,7 @@ opt.backupskip = { "/tmp/*" } opt.hidden = true -- completion -opt.completeopt = {'menu', 'menuone', 'noselect'} +opt.completeopt = { "menu", "menuone", "noselect" } -- Disable mouse opt.mouse = "" @@ -139,7 +139,7 @@ opt.background = "dark" -- }}} -- Key mappings {{{ - -- https://github.com/LunarVim/LunarVim/blob/master/lua/lvim/keymappings.lua +-- https://github.com/LunarVim/LunarVim/blob/master/lua/lvim/keymappings.lua -- Modes -- normal_mode = "n", -- insert_mode = "i", @@ -157,8 +157,8 @@ g.maplocalleader = " " -- Use jk as ESC for leaving insert mode keymap.set("i", "jk", "<Esc>") -- Use jk-movement between rows when soft wrapping -keymap.set({"n", "v"}, "j", "gj", opts) -keymap.set({"n", "v"}, "k", "gk", opts) +keymap.set({ "n", "v" }, "j", "gj", opts) +keymap.set({ "n", "v" }, "k", "gk", opts) -- Turn the word under cursor to upper case keymap.set("i", "<c-u>", "<Esc>viwUea") -- Turn the current word into title case diff --git a/.config/nvim/lua/config/mail.lua b/.config/nvim/lua/config/mail.lua index 37c30f48..32ad5a78 100644 --- a/.config/nvim/lua/config/mail.lua +++ b/.config/nvim/lua/config/mail.lua @@ -1,6 +1,5 @@ -- Setup to write mails with vim - -- Enable spell checks using native spell checker -- setlocal spell -- No indentation when copying @@ -17,7 +16,7 @@ vim.opt.formatoptions = "tcqwan" -- vim-mail -- https://github.com/dbeniamine/vim-mail/ -- Use khard as a contact provider -vim.g.VimMailContactsProvider = 'khard' +vim.g.VimMailContactsProvider = "khard" -- Do not add custom keymaps -- XXX some are nice to move inside the file vim.g.VimMailDoNotMap = 1 diff --git a/.config/nvim/lua/config/treesitter.lua b/.config/nvim/lua/config/treesitter.lua index 2c72c9a1..fcef28c7 100644 --- a/.config/nvim/lua/config/treesitter.lua +++ b/.config/nvim/lua/config/treesitter.lua @@ -49,7 +49,7 @@ ts_configs.setup({ }, -- Use treesitter to autoclose and autorename html tag autotag = { - enable = true + enable = true, }, -- Set commentstring option based on the cursor location in the file context_commentstring = { diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index b09912ad..efc786e1 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -7,7 +7,6 @@ which_key.setup({ }, }) - -- Mapping for normal mode local opts = { mode = "n", -- NORMAL mode @@ -117,8 +116,8 @@ local mappings = { h = { vim.lsp.buf.signature_help, "Signature help" }, i = { "<cmd>LspInfo<cr>", "Info" }, I = { "<cmd>Mason<cr>", "Mason Info" }, - j = { vim.diagnostic.goto_next, "Next Diagnostic", }, - k = { vim.diagnostic.goto_prev, "Prev Diagnostic", }, + j = { vim.diagnostic.goto_next, "Next Diagnostic" }, + k = { vim.diagnostic.goto_prev, "Prev Diagnostic" }, l = { vim.lsp.codelens.run, "CodeLens Action" }, q = { vim.diagnostic.setloclist, "Quickfix" }, r = { vim.lsp.buf.rename, "Rename" }, @@ -126,7 +125,7 @@ local mappings = { S = { "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", "Workspace Symbols", - w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, + w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, }, }, -- Logs From adb2c2dcc535e6af8ec00398596880db68c137e8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 21:46:53 +0100 Subject: [PATCH 0572/2080] Import hyprland.conf --- .config/hypr/hyprland.conf | 163 +++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 .config/hypr/hyprland.conf diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 00000000..c1b56706 --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,163 @@ + +######################################################################################## +AUTOGENERATED HYPR CONFIG. +PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, +OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +######################################################################################## + +# +# Please note not all available settings / options are set here. +# For a full list, see the wiki +# + +autogenerated = 0 # remove this line to remove the warning + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,1 + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = rgba(1affffee) + col.inactive_border = rgba(595959aa) + + layout = dwindle +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + blur = yes + blur_size = 3 + blur_passes = 1 + blur_new_optimizations = on + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +device:epic mouse V1 { + sensitivity = -0.5 +} + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, kitty +bind = $mainMod, C, killactive, +bind = $maiRMod, M, exit, +bind = $mainMod, E, exec, dolphin +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, wofi --show drun +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow From 227443c89ac76a8cf4e8a4316218ba96f43943f6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 21:49:55 +0100 Subject: [PATCH 0573/2080] Fix typo --- .config/hypr/hyprland.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index c1b56706..ee15574c 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -117,7 +117,7 @@ $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, kitty bind = $mainMod, C, killactive, -bind = $maiRMod, M, exit, +bind = $mainMod, M, exit, bind = $mainMod, E, exec, dolphin bind = $mainMod, V, togglefloating, bind = $mainMod, R, exec, wofi --show drun From 776978c2db003b0c5fc715044c08ec99c3549994 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 23:11:55 +0100 Subject: [PATCH 0574/2080] Add hyprland and waybar cofn --- .config/hypr/hyprland.conf | 33 ++-- .config/waybar/config | 105 +++++++++++ .config/waybar/config-default | 166 ++++++++++++++++++ .config/waybar/spotify.sh | 100 +++++++++++ .config/waybar/style.css | 322 ++++++++++++++++++++++++++++++++++ 5 files changed, 710 insertions(+), 16 deletions(-) create mode 100644 .config/waybar/config create mode 100644 .config/waybar/config-default create mode 100755 .config/waybar/spotify.sh create mode 100644 .config/waybar/style.css diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index ee15574c..ef9b30c6 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,20 +1,16 @@ - -######################################################################################## -AUTOGENERATED HYPR CONFIG. -PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, -OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. -######################################################################################## - -# -# Please note not all available settings / options are set here. -# For a full list, see the wiki -# - -autogenerated = 0 # remove this line to remove the warning +# https://github.com/ChristianChiarulli/Machfiles/blob/master/hyprland/.config/hypr/hyprland.conf # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,1 +# monitor=,1920x1080@60,0x0,1 +# monitor=DP-2,2560x1440@60,2560x670,1 +# monitor=DP-3,2560x1440@60,0x0,1 +exec-once=waybar +# exec-once=swaybg -o "DP-2" -i ~/Pictures/wallpapers/catalina.jpg +# exec-once=swaybg -o "DP-3" -i ~/Pictures/wallpapers/bigsur.jpg +# exec-once=swaybg -o "DP-2" -i ~/Pictures/wallpapers/cat-waves.png +exec-once=dunst # See https://wiki.hyprland.org/Configuring/Keywords/ for more @@ -47,10 +43,13 @@ general { gaps_in = 5 gaps_out = 20 border_size = 2 - col.active_border = rgba(1affffee) - col.inactive_border = rgba(595959aa) + -- col.active_border = rgba(1affffee) + col.active_border=0xff5e81ac + -- col.inactive_border = rgba(595959aa) + col.inactive_border=0x66333333 - layout = dwindle + # layout = dwindle + layout = master } decoration { @@ -91,6 +90,8 @@ dwindle { master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_is_master = true + new_on_top=true + no_gaps_when_only = true } gestures { diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100644 index 00000000..5ad15f53 --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,105 @@ +{ + // NOTE: Icons: https://github.com/Alexays/Waybar/issues/350 + "height": 30, // Waybar height (to be removed for auto height) + "spacing": 4, // Gaps between modules (4px) + // "modules-left": ["custom/launcher", "wlr/workspaces", "hyprland/window"], + // "modules-left": ["custom/launcher", "wlr/workspaces"], + "modules-left": ["custom/launcher", "wlr/workspaces"], + /* "modules-center": ["custom/spotify"], */ + "modules-right": ["tray", "pulseaudio", "network", "clock"], + "wlr/workspaces": { + "format": "{icon}", + "on-click": "activate", + /* "format-icons": { */ + /* "1": "", */ + /* "2": "", */ + /* "3": "", */ + /* "4": "", */ + /* "5": "", */ + /* "urgent": "", */ + /* "active": "", */ + /* "default": "" */ + /* } */ + }, + "hyprland/window": { + "format": "{}" + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "format": "<span color='#ffffff'></span> {:%a %b %d}", + // "format-alt": "<span color='#ffffff'></span> {:%I:%M %p}" + "format": "{:%a %b %d}", + "format-alt": "{:%I:%M %p}" + }, + // "clock": { + // // "timezone": "America/New_York", + // "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", + // "format-alt": "{:%Y-%m-%d}" + // }, + "backlight": { + // "device": "acpi_video1", + "format": "{icon} {percent}%", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + + "format-wifi": "直 {signalStrength}%", + // "format-ethernet": " {ifname}: {ipaddr}/{cidr}", + // "format-ethernet": " {ifname}", + // "format-ethernet": " wired", + "format-ethernet": "", + "format-disconnected": "睊", + // "on-click": "nmtui" + // "format-wifi": "{essid} ({signalStrength}%) ", + // "format-ethernet": "{ipaddr}/{cidr} ", + // "tooltip-format": "{ifname} via {gwaddr} ", + // "format-linked": "{ifname} (No IP) ", + // "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + // "format": "{volume}% {icon} {format_source}", + // "format": "{volume}% {icon}", + "format": "{icon} {volume}%", + "format-bluetooth": "{icon} {volume}% {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": "婢", + // "format-source": "{volume}% ", + // "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/launcher": { + // "exec": "$HOME/.config/waybar/scripts/spotify.sh", + // "return-type": "json", + // "max-length": 40, + // "format": " <span color='#bf616a'> </span>", + "format": "", + // "format": " <span color='#bf616a'> 異</span>", + // "format": " <span color='#bf616a'> </span>", + "on-click": "rofi -show drun", + }, + "custom/spotify": { + "exec": "$HOME/.config/waybar/scripts/spotify.sh", + // "return-type": "json", + "max-length": 40, + "format": " {}", + "on-click": "playerctl play-pause", + "on-double-click": "playerctl next", + "on-right-click": "on-click-right" + }, +} + diff --git a/.config/waybar/config-default b/.config/waybar/config-default new file mode 100644 index 00000000..ad76e937 --- /dev/null +++ b/.config/waybar/config-default @@ -0,0 +1,166 @@ +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad", "custom/media"], + "modules-center": ["sway/window"], + "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "<span style=\"italic\">{}</span>" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": "<span color=\"#f53c3c\"></span> ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/.config/waybar/spotify.sh b/.config/waybar/spotify.sh new file mode 100755 index 00000000..2350489c --- /dev/null +++ b/.config/waybar/spotify.sh @@ -0,0 +1,100 @@ +#!/bin/sh +# install playerctl + +# player_status=$(playerctl status 2> /dev/null) +# if [ "$player_status" = "Playing" ]; then +# echo "$(playerctl metadata artist) - $(playerctl metadata title)" +# elif [ "$player_status" = "Paused" ]; then +# echo " $(playerctl metadata artist) - $(playerctl metadata title)" +# fi + +#!/usr/bin/env bash +# exec 2>"$XDG_RUNTIME_DIR/waybar-playerctl.log" +# IFS=$'\n\t' +# +# while true; do +# +# while read -r playing position length name artist title arturl hpos hlen; do +# # remove leaders +# playng=${playing:1} position=${position:1} length=${length:1} name=${name:1} +# artist=${artist:1} title=${title:1} arturl=${arturl:1} hpos=${hpos:1} hlen=${hlen:1} +# +# # build line +# line="${artist:+$artist ${title:+- }}${title:+$title }${hpos:+$hpos${hlen:+|}}$hlen" +# +# # json escaping +# line="${line//\"/\\\"}" +# ((percentage = length ? (100 * (position % length)) / length : 0)) +# +# if [ -z "$line" ] +# then +# text="" +# else +# text="<span color='#1db954'></span> $line" +# fi +# # +# # integrations for other services (nwg-wrapper) +# if [[ $title != "$ptitle" || $artist != "$partist" || $parturl != "$arturl" ]]; then +# typeset -p playing length name artist title arturl >"$XDG_RUNTIME_DIR/waybar-playerctl.info" +# pkill -8 nwg-wrapper +# ptitle=$title partist=$artist parturl=$arturl +# fi +# +# # exit if print fails +# printf '{"text":"%s","tooltip":"%s","class":"%s","percentage":%s}\n' \ +# "$text" "$playing $name | $line" "$percentage" "$percentage" || break 2 +# +# done < <( +# # requires playerctl>=2.0 +# # Add non-space character ":" before each parameter to prevent 'read' from skipping over them +# playerctl --follow metadata --player playerctld --format \ +# $':{{emoji(status)}}\t:{{position}}\t:{{mpris:length}}\t:{{playerName}}\t:{{markup_escape(artist)}}\t:{{markup_escape(title)}}\t:{{mpris:artUrl}}\t:{{duration(position)}}\t:{{duration(mpris:length)}}' & +# echo $! >"$XDG_RUNTIME_DIR/waybar-playerctl.pid" +# ) +# +# # no current players +# # exit if print fails +# echo '<span foreground=#dc322f>⏹</span>' || break +# sleep 15 +# +# done +# +# kill "$(<"$XDG_RUNTIME_DIR/waybar-playerctl.pid")" + +#!/usr/bin/env bash +# exec 2>"$XDG_RUNTIME_DIR/waybar-playerctl.log" +# IFS=$'\n\t' +# +# while true; do +# +# while read -r playing position length name artist title arturl hpos hlen; do + +while true; do + + player_status=$(playerctl status 2>/dev/null) + + if [ -z "$(playerctl metadata album)" ]; then + if [ "$player_status" = "Playing" ]; then + echo "$(playerctl metadata artist) - $(playerctl metadata title)" + elif [ "$player_status" = "Paused" ]; then + echo " $(playerctl metadata artist) - $(playerctl metadata title)" + else + echo "" + fi + else + if [ "$player_status" = "Playing" ]; then + echo "<span color='#1db954'></span> $(playerctl metadata artist) - $(playerctl metadata title)" + elif [ "$player_status" = "Paused" ]; then + echo "<span color='#1db954'></span>  $(playerctl metadata artist) - $(playerctl metadata title)" + else + echo "" + fi + fi + + sleep 1 + +done + +# done +# +# kill "$(<"$XDG_RUNTIME_DIR/waybar-playerctl.pid")" diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 00000000..28f37008 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,322 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: 'Roboto Mono Medium', 'Ubuntu Nerd Font'; + font-size: 17px; + border: none; + padding: 0; + margin: 0; +} + +window#waybar { + background-color: rgba(0, 0, 0, 0.3); + /* background-color: rgba(26, 27, 38, 0); */ + /* background-color: #1e1e1e; */ + /* background-color: #1e1e1e; */ + /* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */ + color: #ffffff; + transition-property: background-color; + transition-duration: 0.5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +#workspaces { + background-color: rgba(0, 0, 0, 0.15); + border-radius: 10px; +} + +#workspaces button { + padding: 0 10px; + /* padding-right: 10px; */ + background-color: transparent; + color: #a9a9a9; + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each workspace name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +#workspaces button:hover { + /* cursor: pointer; */ + border-radius: 10px; + background: rgba(0, 0, 0, 0.2); + /* box-shadow: inset 0 -3px #ffffff; */ + /* color: #bf616a; */ + color: #ffffff; +} + +#workspaces button.focused { + /* background-color: #64727d; */ + color: #ffffff; + /* box-shadow: inset 0 -3px #ffffff; */ +} + +#workspaces button.active { + /* color: #ff9e64; */ + color: #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +/* #mode { */ +/* background-color: #64727d; */ +/* border-bottom: 3px solid #ffffff; */ +/* } */ + +#window { + /* border-radius: 20px; */ + /* padding-left: 10px; */ + /* padding-right: 10px; */ + color: #64727d; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + /* color: #c0caf5; */ + color: #ffffff; + /* color: #bf616a; */ +} + +#clock:hover { + /* cursor: pointer; */ + background: rgba(0, 0, 0, 0.2); + /* border: None; */ + box-shadow: None; + /* box-shadow: inset 0 -3px #ffffff; */ + /* color: #bf616a; */ +} + +#battery { + color: #a3be8c; + /* background-color: #90b1b1; */ +} + +#battery.charging, +#battery.plugged { + color: #26a65b; + /* background-color: #26a65b; */ +} + +@keyframes blink { + to { + background-color: rgba(30, 34, 42, 0.5); + color: #abb2bf; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #abb2bf; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964b00; +} + +#backlight { + /* background-color: #90b1b1; */ + color: #d7ba7d; +} + +#network { + padding: 2.5px; + /* color: #1abc9c; */ + color: #ffffff; +} + +#network:hover { + /* cursor: pointer; */ + background: rgba(0, 0, 0, 0.2); + /* border: None; */ + box-shadow: None; + /* box-shadow: inset 0 -3px #ffffff; */ + /* color: #bf616a; */ +} + +#custom-launcher { + color: #ffffff; + /* border: None; */ + /* margin-right: 0px; */ + /* padding-right: 0px; */ + padding: 0 10px; +} + +#custom-launcher:hover { + /* padding-right: 1px; */ + /* cursor: pointer; */ + background: rgba(0, 0, 0, 0.2); + /* border: None; */ + box-shadow: None; + /* box-shadow: inset 0 -3px #ffffff; */ + /* color: #bf616a; */ +} + +#network.disconnected { + background-color: #f53c3c; +} + +#pulseaudio { + /* padding: 1px; */ + /* background-color: #B48EAD; */ + /* color: #bb9af7; */ + color: #ffffff; +} + +#pulseaudio:hover { + /* cursor: pointer; */ + background: rgba(0, 0, 0, 0.2); + /* border: None; */ + box-shadow: None; + /* box-shadow: inset 0 -3px #ffffff; */ + /* color: #bf616a; */ +} + +#pulseaudio.muted { + /* background-color: #90b1b1; */ + /* color: #2a5c45; */ + color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#custom-spotify { + padding: 0 10px; + margin: 0 4px; + /* background-color: #1db954; */ + color: #abb2bf; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} From 51aa62d052f447a0f57eabcfdf2e77d122f97e9e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 23:19:38 +0100 Subject: [PATCH 0575/2080] hyprland: auto configure monitor, we are not in a lua file :) --- .config/hypr/hyprland.conf | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index ef9b30c6..9dcf071c 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,10 +1,7 @@ # https://github.com/ChristianChiarulli/Machfiles/blob/master/hyprland/.config/hypr/hyprland.conf -# See https://wiki.hyprland.org/Configuring/Monitors/ +# Use preferred definition, placed new monitors on the right of others monitor=,preferred,auto,1 -# monitor=,1920x1080@60,0x0,1 -# monitor=DP-2,2560x1440@60,2560x670,1 -# monitor=DP-3,2560x1440@60,0x0,1 exec-once=waybar # exec-once=swaybg -o "DP-2" -i ~/Pictures/wallpapers/catalina.jpg @@ -43,9 +40,9 @@ general { gaps_in = 5 gaps_out = 20 border_size = 2 - -- col.active_border = rgba(1affffee) + # col.active_border = rgba(1affffee) col.active_border=0xff5e81ac - -- col.inactive_border = rgba(595959aa) + # col.inactive_border = rgba(595959aa) col.inactive_border=0x66333333 # layout = dwindle From 4c53d083e12a74a380e36031e5e13ba862e7f30b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 26 Nov 2022 23:30:38 +0100 Subject: [PATCH 0576/2080] switch to treesitter for folding --- .config/nvim/init.lua | 5 ++++- .config/nvim/lua/plugins.lua | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 18941b55..f2cbd26a 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -127,7 +127,10 @@ opt.undofile = true opt.undodir = vim.fn.expand("~/.local/share/nvim/undodir") -- Folding with markers -opt.foldmethod = "marker" +-- opt.foldmethod = "indent" +opt.foldmethod = "expr" +-- https://www.jmaguire.tech/posts/treesitter_folding/ +opt.foldexpr = "nvim_treesitter#foldexpr()" opt.foldcolumn = "1" opt.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value opt.foldlevelstart = 99 diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index d3de36db..cc079de6 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -230,6 +230,7 @@ return require("packer").startup(function(use) -- fold management use({ + -- XXX to see if really needed "kevinhwang91/nvim-ufo", requires = "kevinhwang91/promise-async", config = function() From 0da9d50abffc7b223a4b8ab7ff1e031df341d216 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 00:18:20 +0100 Subject: [PATCH 0577/2080] Start documenting software list --- programs.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 programs.md diff --git a/programs.md b/programs.md new file mode 100644 index 00000000..1d7e662d --- /dev/null +++ b/programs.md @@ -0,0 +1,11 @@ +dunst +firefox +gimp +github-cli +htop +kitty +mutt +neovim +podman +rofi +zsh From 5b1894a24410823552d0fd333311914fc0034b94 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 00:02:56 +0100 Subject: [PATCH 0578/2080] Import rofi config --- .config/rofi/config.rasi | 17 +++++ .config/rofi/onedarker.rasi | 126 ++++++++++++++++++++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 .config/rofi/config.rasi create mode 100644 .config/rofi/onedarker.rasi diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi new file mode 100644 index 00000000..25522dc7 --- /dev/null +++ b/.config/rofi/config.rasi @@ -0,0 +1,17 @@ +configuration { + show-icons: true; + terminal: "kitty"; + click-to-exit: true; + steal-focus: true; + display-drun: " : "; + /* kb-row-up: "Up,Control+p,Control+k"; */ + /* kb-row-down: "Down,Control+n,Control+j"; */ + me-select-entry: "MouseDPrimary"; + me-accept-entry: "MousePrimary"; + filebrowser { + directories-first: true; + sorting-method: "name"; + } +} +@theme "onedarker" +/* @theme "arthur" */ diff --git a/.config/rofi/onedarker.rasi b/.config/rofi/onedarker.rasi new file mode 100644 index 00000000..f7c9c2f1 --- /dev/null +++ b/.config/rofi/onedarker.rasi @@ -0,0 +1,126 @@ +/** + * ROFI Color theme + * User: Qball + * Copyright: Dave Davenport + */ + +* { + font: "Times New Roman 15"; + text-color: #abb2bf; + background-color: #2c2c2c; + dark: #1b1f27; + // Black + black: #212121; + lightblack: #777777; + // + // Red + red: #bf616a; + lightred: #bf616a; + // + // Green + green: #A3BE8C; + lightgreen: #A3BE8C; + // + // Yellow + yellow: #C68A75; + lightyellow: #D7BA7D; + // + // Blue + blue: #2d4059; + lightblue: #3281ea; + // + // Magenta + magenta: #B48EAD; + lightmagenta: #B48EAD; + // + // Cyan + cyan: #88c0d0; + lightcyan: #88c0d0; + // + // White + white: #abb2bf; + lightwhite: #abb2bf; + // + // Bold, Italic, Underline + highlight: bold #D7BA7D; +} + +element-icon { + /** change size to 128 pixels. */ + size: 18px; + cursor: inherit; + padding: 0.2em; +} + +window { + height: 30%; + width: 15em; + location: northwest; + anchor: northwest; + border: 1px 1px 1px 1px; + border-color: @lightblack; + text-color: @lightwhite; + margin: 0.3em; + border-radius: 0.4em; +} +/* mode-switcher { */ +/* border: 2px 0px 0px 0px; */ +/* background-color: @lightblack; */ +/* padding: 4px; */ +/* } */ +button selected { + border-color: @lightgreen; + text-color: @lightgreen; +} +inputbar { + /* background-color: @lightyellow; */ + text-color: @lightgreen; + /* padding: 1px; */ + /* border: 0px 0px 2px 0px; */ +} +/* mainbox { */ +/* expand: true; */ +/* background-color: #1c1c1cee; */ +/* spacing: 1em; */ +/* } */ +listview { + padding: 0em 0.2em 0em 0.7em; + dynamic: false; + lines: 0; +} +element-text { + background-color: inherit; + text-color: inherit; +} +element selected normal { + background-color: @blue; +} +element normal active { + text-color: @lightblue; +} +element normal urgent { + text-color: @lightred; +} +element alternate normal { +} +element alternate active { + text-color: @lightblue; +} +element alternate urgent { + text-color: @lightred; +} +element selected active { + background-color: @lightblue; + text-color: @dark; +} +element selected urgent { + background-color: @lightred; + text-color: @dark; +} +error-message { + expand: true; + background-color: red; + border-color: darkred; + border: 2px; + padding: 1em; +} From b2ff95f0bdea07a3ecf0e893c8bcef14bc18698a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 00:41:19 +0100 Subject: [PATCH 0579/2080] GTK theme: dracula --- .config/gtk-3.0/settings.ini | 20 ++++++++++++++++++++ .config/gtk-4.0/settings.ini | 4 ++++ 2 files changed, 24 insertions(+) create mode 100644 .config/gtk-3.0/settings.ini create mode 100644 .config/gtk-4.0/settings.ini diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini new file mode 100644 index 00000000..bb2b0a51 --- /dev/null +++ b/.config/gtk-3.0/settings.ini @@ -0,0 +1,20 @@ +[Settings] +gtk-application-prefer-dark-theme=1 +gtk-button-images=1 +gtk-cursor-theme-name=Adwaita +gtk-decoration-layout=icon:minimize,maximize,close +gtk-enable-animations=1 +gtk-fallback-icon-theme=gnome +gtk-font-name=Noto Sans, 10 +gtk-icon-theme-name=Dracula +gtk-menu-images=1 +gtk-primary-button-warps-slider=0 +gtk-theme-name=Dracula +gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ +gtk-cursor-theme-size=0 +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=1 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintfull diff --git a/.config/gtk-4.0/settings.ini b/.config/gtk-4.0/settings.ini new file mode 100644 index 00000000..89746dbd --- /dev/null +++ b/.config/gtk-4.0/settings.ini @@ -0,0 +1,4 @@ +[Settings] +gtk-application-prefer-dark-theme=1 +gtk-icon-theme-name=Dracula +gtk-theme-name=Dracula From 45267b3e3c4dfd8d94d68467e293225b1800c7d7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 10:23:52 +0100 Subject: [PATCH 0580/2080] zsh: switch gpg-agent, move to misfortune as fortune no more supports offensive parameter https://github.com/archlinux/svntogit-community/commit/ca2217d3639b63b4dcb16032a4cecbe9e5f261e7#diff-f138262d4135dd1c5e30831452f2a239b19a203e55bb0fbde8f2ff1dfbd20e4f --- .zshrc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.zshrc b/.zshrc index 8fba3d47..5ff00c13 100644 --- a/.zshrc +++ b/.zshrc @@ -147,7 +147,7 @@ zinit snippet PZTM::environment # Provides interactive use of GNU utilities on BSD systems zinit snippet PZTM::gnu-utility # Provides an easier use of GPG by setting up gpg-agent. -zinit snippet PZTM::gpg +# zinit snippet PZTM::gpg # Sets directory options and defines directory aliases. zinit snippet PZTM::directory # Completion @@ -354,6 +354,10 @@ zinit light MichaelAquilina/zsh-autoswitch-virtualenv # https://github.com/kiurchv/asdf.plugin.zsh # zplug "kiurchv/asdf.plugin.zsh", defer:2 +# GPG management +zinit ice wait"1" lucid +zinit light laggardkernel/zsh-gpg-agent + # ZSH options {{{ autoload -Uz compinit @@ -540,7 +544,9 @@ if (( $+commands[oidc-agent-service] )); then export OIDC_AGENT_ACCOUNT=egi fi -if (( $+commands[fortune] )); then +if (( $+commands[misfortune] )); then + misfortune -o +elif (( $+commands[fortune] )); then if (( $+commands[cowsay] )); then fortune -o | cowsay else From 01202297d56579069ebe73737872320c8a78a3be Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 19:45:45 +0100 Subject: [PATCH 0581/2080] hprland: set compose key, run some apps --- .config/hypr/hyprland.conf | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 9dcf071c..0315f217 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -3,12 +3,6 @@ # Use preferred definition, placed new monitors on the right of others monitor=,preferred,auto,1 -exec-once=waybar -# exec-once=swaybg -o "DP-2" -i ~/Pictures/wallpapers/catalina.jpg -# exec-once=swaybg -o "DP-3" -i ~/Pictures/wallpapers/bigsur.jpg -# exec-once=swaybg -o "DP-2" -i ~/Pictures/wallpapers/cat-waves.png -exec-once=dunst - # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch @@ -22,7 +16,7 @@ input { kb_layout = us kb_variant = kb_model = - kb_options = + kb_options = compose:ralt kb_rules = follow_mouse = 1 @@ -159,3 +153,20 @@ bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow + +# https://github.com/linuxmobile/hyprland-dots/blob/main/.config/hypr/hyprland.conf +# Notifications +exec-once=swaync +# notification daemon +exec-once=dunst +# Clipboard history +exec-once=wl-clipboard-history -t +# Audio +exec-once=pipewire -c ~/.config/pipewire/pipewire.conf +exec-once=pipewire-pulse +# status bar +exec-once=waybar +# Files sync +exec-once=nextcloud +# Wallpaper +# exec-once=swaybg -o "DP-2" -i ~/Pictures/wallpapers/catalina.jpg From fc2c6347b50e68acf5bc9695bd6af0be5b23d465 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 19:46:00 +0100 Subject: [PATCH 0582/2080] tmux: show more segments --- .tmux.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index 1f61475b..68c8224c 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -124,8 +124,8 @@ set -g @tpm_plugins ' \ # Dracula theme options # https://draculatheme.com/tmux set -g @dracula-show-battery false -set -g @dracula-show-network false -set -g @dracula-show-weather false +set -g @dracula-show-network true +set -g @dracula-show-weather true set -g @dracula-show-fahrenheit false set -g @dracula-cpu-usage false set -g @dracula-ram-usage false From ca48c667ebfab1e8a8e894bc80abf31bb8e86a55 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 19:46:12 +0100 Subject: [PATCH 0583/2080] waybar: cleaning --- .config/waybar/config | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/.config/waybar/config b/.config/waybar/config index 5ad15f53..d87b9805 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -29,16 +29,11 @@ "spacing": 10 }, "clock": { - // "format": "<span color='#ffffff'></span> {:%a %b %d}", - // "format-alt": "<span color='#ffffff'></span> {:%I:%M %p}" - "format": "{:%a %b %d}", - "format-alt": "{:%I:%M %p}" + "format": "<span color='#ffffff'></span> {:%a %b %d}", + "format-alt": "<span color='#ffffff'></span> {:%I:%M %p}" + // "format": "{:%a %b %d}", + // "format-alt": "{:%I:%M %p}" }, - // "clock": { - // // "timezone": "America/New_York", - // "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", - // "format-alt": "{:%Y-%m-%d}" - // }, "backlight": { // "device": "acpi_video1", "format": "{icon} {percent}%", @@ -47,14 +42,14 @@ "network": { // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "直 {signalStrength}%", - // "format-ethernet": " {ifname}: {ipaddr}/{cidr}", + "format-wifi": "直{essid} ({signalStrength}%)", + // "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // "format-ethernet": " {ifname}", // "format-ethernet": " wired", "format-ethernet": "", "format-disconnected": "睊", // "on-click": "nmtui" - // "format-wifi": "{essid} ({signalStrength}%) ", // "format-ethernet": "{ipaddr}/{cidr} ", // "tooltip-format": "{ifname} via {gwaddr} ", // "format-linked": "{ifname} (No IP) ", From 21d2b92a7e2ac53a5962d64bfa1f7b7199d82534 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 19:46:28 +0100 Subject: [PATCH 0584/2080] mail: try to set start flag --- .config/nvim/lua/config/mail.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.config/nvim/lua/config/mail.lua b/.config/nvim/lua/config/mail.lua index 32ad5a78..d1eebef3 100644 --- a/.config/nvim/lua/config/mail.lua +++ b/.config/nvim/lua/config/mail.lua @@ -24,7 +24,15 @@ vim.g.VimMailDoNotFold = 1 -- let g:VimMailSpellLangs=['en_gb', 'fr'] -- Complete emails address in every files vim.opt.completefunc = "vimmail#contacts#CompleteAddr" +-- Choose where to put cursor -- Remove quoted signature is killing mine due to flow automatic formatting +-- b: bottom after last message +-- o: add new line after cursor +-- i: insert mode +-- r: remove quoted signature from reply +vim.g.VimMailStartFlags = { + reply = "boi" +} -- let g:VimMailStartFlags={'reply' :"boir" } -- let g:VimMailStartFlags={ -- \'blank': 'TAi', From 6fc7983a91e9260ec9799152c10260e6291b0123 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 19:46:46 +0100 Subject: [PATCH 0585/2080] neorg: update dir --- .config/nvim/lua/plugins.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index cc079de6..23369536 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -344,9 +344,9 @@ return require("packer").startup(function(use) ["core.norg.dirman"] = { config = { workspaces = { - work = "~/notes/work", - home = "~/notes/home", - gtd = "~/notes/gtd", + work = "~/Documents/notes/work", + home = "~/Documents/notes/home", + gtd = "~/Documents/notes/gtd", }, }, }, From 4f6730cbc761ac71c6dd4e68bb4facf8fde92c07 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 19:47:49 +0100 Subject: [PATCH 0586/2080] Import dunst --- .config/dunst/dunstrc | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .config/dunst/dunstrc diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc new file mode 100644 index 00000000..8ecdcada --- /dev/null +++ b/.config/dunst/dunstrc @@ -0,0 +1,56 @@ +[global] + corner_radius = 4 + follow = mouse + font = "Bitstream Vera Sans 12" + format = "%s\n%b" + frame_color = "#cccccc" + frame_width = 1 + geometry = "300x5-30+40" + history = ctrl+grave + history_length = 10 + horizontal_padding = 8 + icon_position = left + max_icon_size = 28 + #shrink = yes + icon_path = /usr/share/icons/gnome/48x48/status/:/usr/share/icons/gnome/48x48/devices/ + idle_threshold = 120 + ignore_newline = no + indicate_hidden = yes + alignment = center + line_height = 0 + markup = full + padding = 8 + separator_color = "#585858" + separator_height = 2 + show_age_threshold = 30 + sort = yes + stack_duplicates = true + transparency = 20 + word_wrap = yes + +[urgency_low] + background = "#181818" + foreground = "#FFFFFF" + timeout = 5 + +[urgency_normal] + background = "#181818" + foreground = "#FFFFFF" + timeout = 20 + +[urgency_critical] + background = "#9b3648" + foreground = "#FFFFFF" + icon = /usr/share/icons/gnome/48x48/status/stock_dialog-warning.png + timeout = 0 + + +[shortcuts] + close = ctrl+space + close_all = ctrl+shift+space + history = ctrl+grave + context = ctrl+shift+period + +[stack-volumes] + appname = "alsa" + set_stack_tag = "volume" \ No newline at end of file From 6f63dadbebd4165e7a9a8c71e521d3b23f7c0e59 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 27 Nov 2022 19:58:47 +0100 Subject: [PATCH 0587/2080] Disable sway, keep dunst --- .config/hypr/hyprland.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 0315f217..3e78d9f9 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -156,7 +156,7 @@ bindm = $mainMod, mouse:273, resizewindow # https://github.com/linuxmobile/hyprland-dots/blob/main/.config/hypr/hyprland.conf # Notifications -exec-once=swaync +# exec-once=swaync # notification daemon exec-once=dunst # Clipboard history From 372d94858dbf3edf31f897d0f8c32e3ef803c1c5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 28 Nov 2022 19:40:55 +0100 Subject: [PATCH 0588/2080] hypr: doc --- .config/hypr/hyprland.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 3e78d9f9..20e7679b 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -155,6 +155,7 @@ bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # https://github.com/linuxmobile/hyprland-dots/blob/main/.config/hypr/hyprland.conf +# https://github.com/taylor85345/hyprland-dotfiles/blob/master/hypr/hyprland.conf # Notifications # exec-once=swaync # notification daemon From c17574f89b3317d9f3b1b64557d97c2109e2e7f8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 29 Nov 2022 10:20:44 +0100 Subject: [PATCH 0589/2080] neomutt: update instructions --- .config/neomutt/README.md | 40 +++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/.config/neomutt/README.md b/.config/neomutt/README.md index de69bbc0..6c62dd63 100644 --- a/.config/neomutt/README.md +++ b/.config/neomutt/README.md @@ -1,9 +1,10 @@ # Requirements -- neomutt -- neovim / vim +- mutt (neomutt not supporting background edit as of 2022-11-28) +- neovim ❤️ / vim - mbsync (isync) -- msmtp +- msmtp / postfix +- perl ## Setting up default profile @@ -12,10 +13,10 @@ $ ln -s ~/.config/neomutt/profile-maildir.egi ~/.config/neomutt/default-profile ``` -## Accessing documentation +## Accessing neomutt documentation -```sh -neomutt -O -Q smart_wrap +```shell +$ neomutt -O -Q smart_wrap ``` ## Fetching emails / IMAP sync @@ -32,11 +33,11 @@ msmtp See http://wiki.netbsd.org/users/wiz/mutt-smime/ -```sh -gpgsm --import TrustedRoot.crt -gpgsm --import DigiCertCA.crt -gpgsm --import baptiste_grenier_until_2021_02.p12 -gpgsm --list-keys +```shell +$ gpgsm --import TrustedRoot.crt +$ gpgsm --import DigiCertCA.crt +$ gpgsm --import baptiste_grenier_until_2021_02.p12 +$ gpgsm --list-keys ``` ### On Mac OS X using mutt/neomutt smime_keyes feature @@ -44,9 +45,20 @@ gpgsm --list-keys Initialize smime store ```sh -/usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys init +$ /usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys init # Import DigiCert root -/usr/local/Cellar/neomutt/20180716//libexec/neomutt/smime_keys add_root baptiste_grenier/TrustedRoot.crt +$ /usr/local/Cellar/neomutt/20180716//libexec/neomutt/smime_keys add_root baptiste_grenier/TrustedRoot.crt # Import certificate, key and DigiCert intermediate certificate -/usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys add_chain userkey.pem-new usercert.pem-new baptiste_grenier/DigiCertCA.crt +$ /usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys add_chain userkey.pem-new usercert.pem-new baptiste_grenier/DigiCertCA.crt +``` + +## Perl modules for Notmuch + +It's possible to use [perlbrew](https://perlbrew.pl) to manage perl modules. + + +```shell +# For querying mails using notmuch +$ cpanm Mail::Box::Maildir +$ cpanm String::ShellQuote ``` From 0df794d785628cd1758fc7442abed539da57391f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 29 Nov 2022 10:21:03 +0100 Subject: [PATCH 0590/2080] zshrc: enable perlbrew --- .zshrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.zshrc b/.zshrc index 5ff00c13..a0fd7252 100644 --- a/.zshrc +++ b/.zshrc @@ -354,6 +354,10 @@ zinit light MichaelAquilina/zsh-autoswitch-virtualenv # https://github.com/kiurchv/asdf.plugin.zsh # zplug "kiurchv/asdf.plugin.zsh", defer:2 +# Perlbrew +zinit ice wait"1" lucid +zinit light tfiala/zsh-perlbrew + # GPG management zinit ice wait"1" lucid zinit light laggardkernel/zsh-gpg-agent From 7732064bd9aaacc611184909ae535c0ed86a20cf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 29 Nov 2022 10:21:49 +0100 Subject: [PATCH 0591/2080] This conf is work specific --- .notmuch-config | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.notmuch-config b/.notmuch-config index d3899863..0f0854e1 100644 --- a/.notmuch-config +++ b/.notmuch-config @@ -10,8 +10,9 @@ # Notmuch will store its database within a sub-directory of the path # configured here named ".notmuch". # + [database] -path=/home/baptiste/Mail +path=Mail # User configuration # @@ -28,10 +29,10 @@ path=/home/baptiste/Mail # recipient list of replies, and will set the From address based on the # address to which the original email was addressed. # + [user] name=Baptiste Grenier primary_email=baptiste.grenier@egi.eu -other_email=baptiste@bapt.name;bgrenier@maatg.com;gwarf12@gmail.com;gwarf@gwarf.org;baptiste.grenier@healthgrid.org;baptiste.grenier@gmail.com;gwarf12@hotmail.com;bgrenier@maatg.fr;bgrenier@gnubila.fr # Configuration for "notmuch new" # @@ -47,6 +48,7 @@ other_email=baptiste@bapt.name;bgrenier@maatg.com;gwarf12@gmail.com;gwarf@gwarf. # names will be ignored, independent of its depth/location # in the mail store. # + [new] # For afew only set new (was inbox;unread) tags=new @@ -61,6 +63,7 @@ ignore= # search results by default. Using an excluded tag in a # query will override that exclusion. # + [search] exclude_tags=deleted;spam;trash; @@ -85,6 +88,7 @@ exclude_tags=deleted;spam;trash; # and update tags, while the "notmuch tag" and "notmuch restore" # commands will notice tag changes and update flags in filenames # + [maildir] synchronize_flags=true @@ -103,6 +107,7 @@ synchronize_flags=true # http://notmuchmail.org/vimtips/ # <c-x><c-u> in a header field # notmuch_abook lookup baptiste + [addressbook] -path=/home/baptiste/.notmuch-abook.db +path=~/.notmuch-abook.db backend=sqlite3 From 6bd8c987a73caffa83e4f1c9b4814b2f3dfd124d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 29 Nov 2022 10:26:34 +0100 Subject: [PATCH 0592/2080] Update notmuch conf --- .notmuch-config => .notmuch-config##os.Darwin | 0 .notmuch-config##os.Linux | 114 ++++++++++++++++++ 2 files changed, 114 insertions(+) rename .notmuch-config => .notmuch-config##os.Darwin (100%) create mode 100644 .notmuch-config##os.Linux diff --git a/.notmuch-config b/.notmuch-config##os.Darwin similarity index 100% rename from .notmuch-config rename to .notmuch-config##os.Darwin diff --git a/.notmuch-config##os.Linux b/.notmuch-config##os.Linux new file mode 100644 index 00000000..b86c2d40 --- /dev/null +++ b/.notmuch-config##os.Linux @@ -0,0 +1,114 @@ +# .notmuch-config - Configuration file for the notmuch mail system +# +# For more information about notmuch, see https://notmuchmail.org + +# Database configuration +# +# The only value supported here is 'path' which should be the top-level +# directory where your mail currently exists and to where mail will be +# delivered in the future. Files should be individual email messages. +# Notmuch will store its database within a sub-directory of the path +# configured here named ".notmuch". +# + +[database] +path=Mail + +# User configuration +# +# Here is where you can let notmuch know how you would like to be +# addressed. Valid settings are +# +# name Your full name. +# primary_email Your primary email address. +# other_email A list (separated by ';') of other email addresses +# at which you receive email. +# +# Notmuch will use the various email addresses configured here when +# formatting replies. It will avoid including your own addresses in the +# recipient list of replies, and will set the From address based on the +# address to which the original email was addressed. +# + +[user] +name=Baptiste Grenier +primary_email=baptiste@bapt.name + + +# Configuration for "notmuch new" +# +# The following options are supported here: +# +# tags A list (separated by ';') of the tags that will be +# added to all messages incorporated by "notmuch new". +# +# ignore A list (separated by ';') of file and directory names +# that will not be searched for messages by "notmuch new". +# +# NOTE: *Every* file/directory that goes by one of those +# names will be ignored, independent of its depth/location +# in the mail store. +# + +[new] +# For afew only set new (was inbox;unread) +tags=new +ignore= + +# Search configuration +# +# The following option is supported here: +# +# exclude_tags +# A ;-separated list of tags that will be excluded from +# search results by default. Using an excluded tag in a +# query will override that exclusion. +# + +[search] +exclude_tags=deleted;spam;trash; + +# Maildir compatibility configuration +# +# The following option is supported here: +# +# synchronize_flags Valid values are true and false. +# +# If true, then the following maildir flags (in message filenames) +# will be synchronized with the corresponding notmuch tags: +# +# Flag Tag +# ---- ------- +# D draft +# F flagged +# P passed +# R replied +# S unread (added when 'S' flag is not present) +# +# The "notmuch new" command will notice flag changes in filenames +# and update tags, while the "notmuch tag" and "notmuch restore" +# commands will notice tag changes and update flags in filenames +# + +[maildir] +synchronize_flags=true + +# Cryptography related configuration +# +# The following *deprecated* option is currently supported: +# +# gpg_path +# binary name or full path to invoke gpg. +# NOTE: In a future build, this option will be ignored. +# Setting $PATH is a better approach. +# +# [crypto] +# gpg_path=gpg + +# http://notmuchmail.org/vimtips/ +# <c-x><c-u> in a header field +# notmuch_abook lookup baptiste + +[addressbook] +path=~/.notmuch-abook.db +backend=sqlite3 From 2e8509aa03ad5e8eeac2a1062288e153769d7b2a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 29 Nov 2022 10:27:34 +0100 Subject: [PATCH 0593/2080] Run afew only on Linux --- Mail/.notmuch/hooks/{post-new => post-new##os.Linux} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Mail/.notmuch/hooks/{post-new => post-new##os.Linux} (100%) diff --git a/Mail/.notmuch/hooks/post-new b/Mail/.notmuch/hooks/post-new##os.Linux similarity index 100% rename from Mail/.notmuch/hooks/post-new rename to Mail/.notmuch/hooks/post-new##os.Linux From 05b0be198d681205607234d27050bbc3324e4a33 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 12:44:48 +0100 Subject: [PATCH 0594/2080] hypr: update started apps --- .config/hypr/hyprland.conf | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 20e7679b..c5ab6a1b 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -156,18 +156,24 @@ bindm = $mainMod, mouse:273, resizewindow # https://github.com/linuxmobile/hyprland-dots/blob/main/.config/hypr/hyprland.conf # https://github.com/taylor85345/hyprland-dotfiles/blob/master/hypr/hyprland.conf -# Notifications -# exec-once=swaync -# notification daemon -exec-once=dunst +exec-once=swaync +# status bar +exec-once=waybar # Clipboard history exec-once=wl-clipboard-history -t # Audio exec-once=pipewire -c ~/.config/pipewire/pipewire.conf exec-once=pipewire-pulse -# status bar -exec-once=waybar +exec-once=wireplumber +# exec-once=lxqt-policykit-agent +# exec=gnome-keyring-daemon -sd +# exec-once=gsettings set org.gnome.desktop.interface gtk-theme amarena +exec-once=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Files sync -exec-once=nextcloud +exec-once=sleep 3 && nextcloud --background +# Notifications +# notification daemon +# exec-once=dunst # Wallpaper # exec-once=swaybg -o "DP-2" -i ~/Pictures/wallpapers/catalina.jpg From 7aca728f487436611d6a44cee64214a97b313116 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 12:45:10 +0100 Subject: [PATCH 0595/2080] zshrc: drop depreated entry --- .zshrc | 1 - 1 file changed, 1 deletion(-) diff --git a/.zshrc b/.zshrc index a0fd7252..a8ea0ae3 100644 --- a/.zshrc +++ b/.zshrc @@ -223,7 +223,6 @@ zinit light junegunn/fzf # Completion for openstack, docker and terraform zinit wait'1' as"completion" lucid for \ https://github.com/docker/cli/blob/master/contrib/completion/zsh/_docker \ - https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/terraform/_terraform \ https://gist.github.com/gwarf/a18dbeaa01d6cf14a95c31a1c7036f61/raw # tab completion using fzf From 7118b24761fcf29d1d75f7caad0654f805636aa3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 13:23:27 +0100 Subject: [PATCH 0596/2080] No need to run rofi manually --- bin/autostart.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/autostart.sh b/bin/autostart.sh index a9e9ca1f..046a92bd 100755 --- a/bin/autostart.sh +++ b/bin/autostart.sh @@ -44,7 +44,7 @@ run_once pasystray # Clipboard manager # anamnesis, clipman, copyq, gpaste could be alternatives run_once clipit - +# # Start urxvt daemon #urxvtd -q -f -o & urxvtdpid=$! #urxvtd -f -o @@ -55,7 +55,7 @@ run_once firefox run_once redshift run_once redshift-gtk run_once keybase -run_once rofi "-key mod1+tab -terminal kitty" +# run_once rofi "-key mod1+tab -terminal kitty" # Disabled # run_once revelation \ From e24e0e29bb92b655081b9443946a888f17050eef Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 13:23:48 +0100 Subject: [PATCH 0597/2080] herbstulftwm: add binding for rofi --- .config/herbstluftwm/autostart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index 67552906..0ea39c2e 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -72,7 +72,7 @@ hc keybind $Mod-Shift-q close hc keybind $Mod-q close hc keybind $Mod-Return spawn "${TERMINAL:-kitty}" # use your $TERMINAL with xterm as fallback -# hc keybind $Mod-m spawn rofi -show run +hc keybind $Mod-m spawn rofi -show run -terminal "${TERMINAL:-kitty}" # Albert is launched and uses it's own key # hc keybind $Mod-m spawn albert From 79dafbef43bf9c0ae690987acc38fcdcd1383738 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 13:24:07 +0100 Subject: [PATCH 0598/2080] plugins: load tmux if installed, use a tagged version for vim-notify --- .config/nvim/lua/plugins.lua | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 23369536..f4631fae 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -1,6 +1,8 @@ -- https://github.com/wbthomason/packer.nvim -- https://www.chiarulli.me/Neovim-2/03-plugins/ +local utils = require("utils") + -- Bootstrap packer local ensure_packer = function() local fn = vim.fn @@ -165,12 +167,10 @@ return require("packer").startup(function(use) use({ "michaeljsmith/vim-indent-object", event = "VimEnter" }) - -- Since tmux is only available on Linux and Mac, we only enable these plugins - -- for Linux and Mac - -- if utils.executable("tmux") then - -- .tmux.conf syntax highlighting and setting check - use({ "tmux-plugins/vim-tmux", ft = { "tmux" } }) - -- end + if utils.executable("tmux") then + -- .tmux.conf syntax highlighting and setting check + use({ "tmux-plugins/vim-tmux", ft = { "tmux" } }) + end -- Use :Telescope -- https://alpha2phi.medium.com/neovim-for-beginners-fuzzy-file-search-part-2-2aab95fe8cfe @@ -488,6 +488,10 @@ return require("packer").startup(function(use) "rcarriga/nvim-notify", }, }) + use({ + "rcarriga/nvim-notify", + tag = "v3.*", + }) -- use 'vigoux/notifier.nvim' -- a fast and fully programmable greeter for neovim. use({ From 5cda2303ae6e7e3dbed5c8683ec336a77744c845 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 13:48:23 +0100 Subject: [PATCH 0599/2080] Add feh --- bin/autostart.sh | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/bin/autostart.sh b/bin/autostart.sh index 046a92bd..d14b66b3 100755 --- a/bin/autostart.sh +++ b/bin/autostart.sh @@ -81,3 +81,35 @@ run_once keybase #/usr/libexec/gnome-settings-daemon & #gnome-volume-manager & #x11vnc -ncache 10 -many -q -bg -rfbauth .vnc/passwd +# run conky -c $HOME/.conkyrc & +# albert & +# run mpd & +#run variety & +# run nm-applet & +#pamac-tray & +# xinput set-prop 13 302 1 & +# run redshift-gtk +# run syncthing-gtk -m & +#xfce4-power-manager & +# run dunst & +# numlockx on & +# run blueberry-tray & +#xfsettingsd & +# nitrogen --restore & +# caffeine & +# vivaldi-stable & +# firefox & +# thunar & +# dropbox & +# run insync start & +# discord & +# spotify & +# atom & +# keybindings are in config of sxhkd - interchangeable with other TWM +# run sxhkd -c $HOME/.config/herbstluftwm/sxhkd/sxhkdrc & +# wal -i ~/.config/herbstluftwm/fantasy-landscape2.jpg +# wal -nRa 90 & + +# Set wallpaper +# feh --bg-scale ~/.config/herbstluftwm/fantasy-landscape2.jpg & +$HOME/.fehbg & From a978cd1ef3cb7a8be755ed17ff913207cba678a2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 13:48:38 +0100 Subject: [PATCH 0600/2080] herbstluftwm: do some cleaning --- .config/herbstluftwm/autostart | 99 ++++++++++++---------------------- 1 file changed, 35 insertions(+), 64 deletions(-) diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index 0ea39c2e..a484eb61 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -1,69 +1,19 @@ #!/usr/bin/env bash -function run { - if ! pgrep $1 ; - then - $@& - fi -} - -#change your keyboard if you need it -#setxkbmap -layout be - -# Autostart applications -pkill -u $USER '^compton$' -compton --config $HOME/.config/herbstluftwm/compton.conf & -# compton --config /home/baptiste/.config/compton.conf & -# /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & - -xsetroot -solid '#000000' -xsetroot -cursor_name left_ptr & - -#keybindings are in config of sxhkd - interchangeable with other TWM -# run sxhkd -c $HOME/.config/herbstluftwm/sxhkd/sxhkdrc & -# wal -i ~/.config/herbstluftwm/fantasy-landscape2.jpg -wal -nRa 90 & -# feh --bg-scale ~/.config/herbstluftwm/fantasy-landscape2.jpg & -$HOME/.fehbg & -run conky -c $HOME/.conkyrc & -albert & -# run mpd & -#run variety & -# run nm-applet & -#pamac-tray & -# xinput set-prop 13 302 1 & -# run redshift-gtk -# run syncthing-gtk -m & -#xfce4-power-manager & -# run dunst & -# numlockx on & -# run blueberry-tray & -#xfsettingsd & -# nitrogen --restore & -# caffeine & -# vivaldi-stable & -# firefox & -# thunar & -# dropbox & -# run insync start & -# discord & -# spotify & -# atom & - -#herbstluftwm start +# herbstluftwm start hc() { herbstclient "$@" } hc emit_hook reload -# KEYBINDINGS +# keybindings # remove all existing keybindings hc keyunbind --all # if you have a super key you will be much happier with Mod set to Mod4 -#Mod=Mod1 # Use alt as the main modifier +# Mod=Mod1 # Use alt as the main modifier Mod=Mod4 # Use the super key as the main modifier hc keybind $Mod-Shift-x quit @@ -73,17 +23,17 @@ hc keybind $Mod-q close hc keybind $Mod-Return spawn "${TERMINAL:-kitty}" # use your $TERMINAL with xterm as fallback hc keybind $Mod-m spawn rofi -show run -terminal "${TERMINAL:-kitty}" + # Albert is launched and uses it's own key # hc keybind $Mod-m spawn albert -#Most of the keybindings have been set in sxhkd config file -#you can set them also here +# If most of the keybindings have been set in sxhkd config file +# you can set them also here +# reload sxhkd: hc keybind $Mod-Shift-s pkill -USR1 -x sxhkd -#reload sxhkd: -# hc keybind $Mod-Shift-s pkill -USR1 -x sxhkd - -# MOVEMENTS +# Movements +# basic movement in tiling and floating mode # focusing clients hc keybind $Mod-Left focus left hc keybind $Mod-Down focus down @@ -125,9 +75,9 @@ hc keybind $Mod-Control-Down resize down +$resizestep hc keybind $Mod-Control-Up resize up +$resizestep hc keybind $Mod-Control-Right resize right +$resizestep -# TAGS or WORKSPACES +# Tags or Workspaces -#names to display in menu +# names to display in menu tag_names=( {1..10} ) tag_keys=( {1..9} 0 ) @@ -149,6 +99,7 @@ hc keybind $Mod-period use_index +1 --skip-visible hc keybind $Mod-comma use_index -1 --skip-visible # layouting +hc keybind $Mod-r remove hc keybind $Mod-s floating toggle hc keybind $Mod-f fullscreen toggle hc keybind $Mod-Shift-f set_attr clients.focus.floating toggle @@ -182,8 +133,9 @@ hc keybind $Mod-Shift-Tab cycle_all -1 hc keybind $Mod-c cycle hc keybind $Mod-i jumpto urgent -#reset prior to setting the theme -hc attr theme.reset 1 +# theme +hc attr theme.tiling.reset 1 +hc attr theme.floating.reset 1 # Attribute hc attr theme.active.color '#FFFFFF' @@ -238,7 +190,8 @@ hc rule floatplacement=smaront # hc rule class=Spotify tag=10 # give focus to most common terminals -hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on +# hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on +hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' floating=on hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off hc rule class=Oblogout fullscreen=on @@ -248,17 +201,35 @@ hc rule class=VirtualBox fullscreen=on # unlock, just to be sure hc unlock +# do multi monitor setup here, e.g.: +# hc set_monitors 1280x1024+0+0 1280x1024+1280+0 +# or simply: hc detect_monitors +# room for polybar on the monitor # single polybar at top hc pad 0 40 +# Launch lemonbar +# ~/bin/lemonbar.sh | lemonbar -n bar -B \#2e3440 -F \#d8dee9 -f 'Font Awesome 5 Free' -f 'Font Awesome 5 Brands' -f 'Font Awesome 5 Free Solid' -f 'Caskaydia Cove Nerd Font' -p | sh & + # Launch polybar [ -x ~/.config/polybar/launch.sh ] && ~/.config/polybar/launch.sh # Autostart applications [ -x ~/bin/autostart.sh ] && ~/bin/autostart.sh + # XXX this seems necessary as load from .xinitrc seems uneffective [ -r ~/.Xmodmap ] && xmodmap ~/.Xmodmap + +xsetroot -solid '#000000' +# xsetroot -solid '#222222' +xsetroot -cursor_name left_ptr & + +# Compositor +picom --shadow-opactiy 0.25 & + +# Keyboard layout +# setxkbmap -layout us # Use right control as compose key setxkbmap -option compose:rctrl From 8b543e1d41084f474cce698b93e07c80e6d6c977 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 13:54:01 +0100 Subject: [PATCH 0601/2080] Add polybar config (broken) --- .config/herbstluftwm/autostart | 2 +- .config/polybar/config3 | 926 +++++++++++++++++++++++++++++++++ 2 files changed, 927 insertions(+), 1 deletion(-) create mode 100644 .config/polybar/config3 diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index a484eb61..a41b5021 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -227,7 +227,7 @@ xsetroot -solid '#000000' xsetroot -cursor_name left_ptr & # Compositor -picom --shadow-opactiy 0.25 & +# picom --shadow-opactiy 0.25 & # Keyboard layout # setxkbmap -layout us diff --git a/.config/polybar/config3 b/.config/polybar/config3 new file mode 100644 index 00000000..07f526bc --- /dev/null +++ b/.config/polybar/config3 @@ -0,0 +1,926 @@ +;===================================================== +; +; To learn more about how to configure Polybar +; go to https://github.com/jaagr/polybar +; +; The README contains alot of information +; Themes : https://github.com/jaagr/dots/tree/master/.local/etc/themer/themes +; https://github.com/jaagr/polybar/wiki/ +; https://github.com/jaagr/polybar/wiki/Configuration +; https://github.com/jaagr/polybar/wiki/Formatting +; +;===================================================== + +[global/wm] +;https://github.com/jaagr/polybar/wiki/Configuration#global-wm-settings +margin-top = 0 +margin-bottom = 0 + +[settings] +;https://github.com/jaagr/polybar/wiki/Configuration#application-settings +throttle-output = 5 +throttle-output-for = 10 +throttle-input-for = 30 +screenchange-reload = true +compositing-background = over +compositing-foreground = over +compositing-overline = over +compositing-underline = over +compositing-border = over + +; Define fallback values used by all module formats +format-foreground = #FF0000 +format-background = #00FF00 +format-underline = +format-overline = +format-spacing = +format-padding = +format-margin = +format-offset = + +[colors] +; Nord theme ============ +background = ${xrdb:color0:#222} +foreground = ${xrdb:color7:#222} +foreground-alt = ${xrdb:color4:#222} +primary = ${xrdb:color2:#222} +secondary = ${xrdb:color8:#222} +third = ${xrdb:color2:#222} +adapta-red = #FF5252 +adapta-yellow = #C9BC0E +adapta-lightgreen = #4DB6AC +adapta-green = #009688 +; +transparent = #00000000 +alert = #d08770 +volume-min = #a3be8c +volume-med = #ebcb8b +volume-max = #bf616a +; ======================= + +; Gotham theme ========== +; background = #0a0f14 +; foreground = #99d1ce +; alert = #d26937 +; volume-min = #2aa889 +; volume-med = #edb443 +; volume-max = #c23127 +; ======================= + +; INTRCPTR theme ============ +;background = ${xrdb:color0:#222} +;background = #aa000000 +;background-alt = #444 +;foreground = ${xrdb:color7:#222} +;foreground = #fff +;foreground-alt = #555 +;primary = #ffb52a +;secondary = #e60053 +;alert = #bd2c40 + +################################################################################ +################################################################################ +############ MAINBAR-HERBSTLUFTWM ############ +################################################################################ +################################################################################ + +[bar/mainbar-herbstluftwm] +monitor = ${env:MONITOR} +monitor-fallback = HDMI-A-1 +width = 90% +height = 30 +offset-x = 0 +offset-y = 1% +radius = 10 +fixed-center = true +bottom = false +separator = + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 2 +line-color = #f00 + +wm-restack = bspwm +override-redirect = true + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +;border-size = 0 +border-left-size = 150 +border-right-size = 150 +;border-top-size = 5 +;border-bottom-size = 0 +border-color = #00000000 + +padding-left = 5 +padding-right = 5 + +module-margin-left = 2 +module-margin-right = 2 + +;https://github.com/jaagr/polybar/wiki/Fonts +font-0 = Bitstream Vera Sans:style=Roman:size=10;3 +font-1 = "FontAwesome:size=11;3" +font-2 = "Iosevka:size=15;4" +font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" + +# modules-left = cpu-graph xbacklight volume +modules-left = volume +modules-center = ewmh +# modules-right = discord filesystem wireless-network battery date powermenu +modules-right = filesystem wireless-network date powermenu + +;tray-detached = false +;tray-offset-x = 0 +;tray-offset-y = 0 +;tray-padding = 2 +;tray-maxsize = 20 +;tray-scale = 1.0 +tray-position = right +;tray-background = ${colors.background} + +scroll-up = herbstclient use_index -1 +scroll-down = herbstclient use_index +1 + +[bar/mainbar-herbstluftwm-center] +monitor = ${env:MONITOR} +monitor-fallback = HDMI-A-1 +width = 18% +height = 30 +offset-x = 42% +;offset-y = 1% +radius = 10 +fixed-center = true +bottom = false +separator = + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 2 +line-color = #f00 + +wm-restack = bspwm +override-redirect = true + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +border-size = 0 +;border-left-size = 150 +;border-right-size = 150 +border-top-size = 5 +border-bottom-size = 0 +border-color = #00000000 + +padding-left = 5 +padding-right = 5 + +module-margin-left = 2 +module-margin-right = 2 + +;https://github.com/jaagr/polybar/wiki/Fonts +font-0 = Bitstream Vera Sans:style=Roman:size=10;3 +font-1 = "FontAwesome:size=11;3" +font-2 = "Iosevka:size=15;4" +font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" + +modules-left = +modules-center = ewmh +modules-right = + +;tray-detached = false +;tray-offset-x = 0 +;tray-offset-y = 0 +;tray-padding = 2 +;tray-maxsize = 20 +;tray-scale = 1.0 +;tray-position = right +;tray-background = ${colors.background} + +scroll-up = herbstclient use_index -1 +scroll-down = herbstclient use_index +1 + +[bar/mainbar-herbstluftwm-right] +monitor = ${env:MONITOR} +monitor-fallback = HDMI-A-1 +width = 27% +height = 30 +offset-x = 72% +;offset-y = 1% +radius = 10 +fixed-center = true +bottom = false +separator = + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 2 +line-color = #f00 + +wm-restack = bspwm +override-redirect = true + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +border-size = 0 +;border-left-size = 150 +;border-right-size = 150 +border-top-size = 5 +border-bottom-size = 0 +border-color = #00000000 + +padding-left = 5 +padding-right = 5 + +module-margin-left = 2 +module-margin-right = 2 + +;https://github.com/jaagr/polybar/wiki/Fonts +font-0 = Bitstream Vera Sans:style=Roman:size=10;3 +font-1 = "FontAwesome:size=11;3" +font-2 = "Iosevka:size=15;4" +font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" + +modules-left = +modules-center = +modules-right = discord filesystem wireless-network battery date powermenu + +;tray-detached = false +;tray-offset-x = 0 +;tray-offset-y = 0 +;tray-padding = 2 +;tray-maxsize = 20 +;tray-scale = 1.0 +;tray-position = right +;tray-background = ${colors.background} + +scroll-up = herbstclient use_index -1 +scroll-down = herbstclient use_index +1 + +################################################################################ +################################################################################ +############ MAINBAR-HERBSTLUFTWM-EXTRA ############ +################################################################################ +################################################################################ + +[bar/mainbar-herbstluftwm-extra] +monitor = ${env:MONITOR} +monitor-fallback = HDMI-A-1 +width = 100% +height = 30 +;offset-x = 1% +;offset-y = 1% +radius = 0.0 +fixed-center = true +bottom = true +separator = | + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 2 +line-color = #f00 + +wm-restack = bspwm +override-redirect = true + +; Enable support for inter-process messaging +; See the Messaging wiki page for more details. +enable-ipc = true + +border-size = 0 +;border-left-size = 0 +;border-right-size = 25 +;border-top-size = 0 +;border-bottom-size = 25 +border-color = #00000000 + +padding-left = 0 +padding-right = 1 + +module-margin-left = 3 +module-margin-right = 3 + +;https://github.com/jaagr/polybar/wiki/Fonts +font-0 = "Noto Sans:size=10;0" +font-1 = "FontAwesome:size=13;0" +font-2 = "Noto Sans:size=10;0" +font-3 = "Noto Sans Mono:size=10;0" + +modules-left = load-average +modules-center = networkspeeddown networkspeedup +modules-right = filesystem + +;tray-detached = false +;tray-offset-x = 0 +;tray-offset-y = 0 +;tray-padding = 2 +;tray-maxsize = 20 +;tray-scale = 1.0 +;tray-position = right +;tray-background = ${colors.background} + +scroll-up = herbstclient use_index -1 +scroll-down = herbstclient use_index +1 + +################################################################################ +############################################################################### +############ MODULES A-Z ############ +################################################################################ +################################################################################ + + +# [module/cpu-graph] +# type = internal/cpu +# interval = 0.08 +# ;format = " <ramp-coreload>" +# format = " <ramp-coreload>" +# format-margin = 1 +# ramp-coreload-0 = ▁ +# ramp-coreload-0-foreground = ${colors.foreground} +# ramp-coreload-1 = ▂ +# ramp-coreload-1-foreground = ${colors.foreground} +# ramp-coreload-2 = ▃ +# ramp-coreload-2-foreground = ${colors.adapta-lightgreen} +# ramp-coreload-3 = ▄ +# ramp-coreload-3-foreground = ${colors.adapta-green} +# ramp-coreload-4 = ▅ +# ramp-coreload-4-foreground = ${colors.adapta-yellow} +# ramp-coreload-5 = ▆ +# ramp-coreload-5-foreground = ${colors.adapta-yellow} +# ramp-coreload-6 = ▇ +# ramp-coreload-6-foreground = ${colors.adapta-red} +# ramp-coreload-7 = █ +# ramp-coreload-7-foreground = ${colors.adapta-red} +# ramp-coreload-font = 3 +# format-background = ${colors.background} +# format-foreground = ${colors.foreground} +# format-underline = ${colors.foreground-alt} +# format-padding = 3 + + +[module/memory1] +type = internal/memory + +; Seconds to sleep between updates +; Default: 1 +interval = 2 +; Available tags: +; <label> (default) +; <bar-used> +; <bar-free> +; <ramp-used> +; <ramp-free> +; <bar-swap-used> +; <bar-swap-free> +; <ramp-swap-used> +; <ramp-swap-free> +; format = " <bar-used>  <ramp-swap-used>" + +format = " <bar-used>" + +ramp-swap-used-0 = ▁ +ramp-swap-used-1 = ▂ +ramp-swap-used-2 = ▃ +ramp-swap-used-3 = ▄ +ramp-swap-used-4 = ▅ +ramp-swap-used-5 = ▆ +ramp-swap-used-6 = ▇ +ramp-swap-used-7 = █ +ramp-swap-used-0-foreground = ${colors.foreground} +ramp-swap-used-1-foreground = ${colors.adapta-lightgreen} +ramp-swap-used-2-foreground = ${colors.adapta-green} +ramp-swap-used-3-foreground = ${colors.adapta-yellow} +ramp-swap-used-4-foreground = ${colors.adapta-red} +ramp-swap-used-5-foreground = ${colors.adapta-red} +ramp-swap-used-6-foreground = ${colors.adapta-red} +ramp-swap-used-7-foreground = ${colors.adapta-red} +ramp-swap-used-font = 3 +ramp-swap-used-underline = ${colors.foreground-alt} + +; Available tokens: +; %percentage_used% (default) +; %percentage_free% +; %gb_used% +; %gb_free% +; %gb_total% +; %mb_used% +; %mb_free% +; %mb_total% +; %percentage_swap_used% +; %percentage_swap_free% +; %mb_swap_total% +; %mb_swap_free% +; %mb_swap_used% +; %gb_swap_total% +; %gb_swap_free% +; %gb_swap_used% + +label = " %gb_used% / %gb_total%" + + +; Only applies if <bar-used> is used + +bar-used-indicator = +bar-used-width = 10 +bar-used-fill = ━ +bar-used-empty = ━ +bar-used-indicator-foreground = ${colors.foreground-alt} +bar-used-empty-foreground = ${colors.foreground} +bar-used-foreground-0 = ${colors.adapta-green} +bar-used-foreground-1 = ${colors.adapta-yellow} +bar-used-foreground-2 = ${colors.adapta-red} + + + +; Only applies if <ramp-used> is used +ramp-used-0 = ▁ +ramp-used-1 = ▂ +ramp-used-2 = ▃ +ramp-used-3 = ▄ +ramp-used-4 = ▅ +ramp-used-5 = ▆ +ramp-used-6 = ▇ +ramp-used-7 = █ +ramp-used-0-foreground = ${colors.foreground} +ramp-used-1-foreground = ${colors.foreground} +ramp-used-2-foreground = ${colors.adapta-lightgreen} +ramp-used-3-foreground = ${colors.adapta-green} +ramp-used-4-foreground = ${colors.adapta-yellow} +ramp-used-5-foreground = ${colors.adapta-yellow} +ramp-used-6-foreground = ${colors.adapta-red} +ramp-used-7-foreground = ${colors.adapta-red} +ramp-used-font = 3 + +; Only applies if <ramp-free> is used +ramp-free-0 = ▁ +ramp-free-1 = ▂ +ramp-free-2 = ▃ +ramp-free-3 = ▄ +ramp-free-4 = ▅ +ramp-free-5 = ▆ +ramp-free-6 = ▇ +ramp-free-7 = █ + +format-background = ${colors.background} +format-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +format-padding = 1 + +[module/battery] +;https://github.com/jaagr/polybar/wiki/Module:-battery +type = internal/battery +battery = BAT1 +adapter = ADP1 +full-at = 99 + +format-charging = <animation-charging> <label-charging> +label-charging = %percentage%% +format-charging-foreground = ${colors.foreground} +format-charging-background = ${colors.background} +format-charging-underline = ${colors.foreground} + +format-discharging = <ramp-capacity> <label-discharging> +label-discharging = %percentage%% +format-discharging-underline = ${colors.third} +format-discharging-foreground = ${colors.foreground} +format-discharging-background = ${colors.background} + +format-full-prefix = " " +format-full-prefix-foreground = ${colors.foreground} +format-full-background = ${colors.background} +format-full-foreground = ${colors.foreground} +format-full-underline = ${colors.foreground-alt} +format-foreground = ${colors.foreground} +format-background = ${colors.background} + +ramp-capacity-0 =  +ramp-capacity-1 =  +ramp-capacity-2 =  +ramp-capacity-3 =  +ramp-capacity-4 =  +ramp-capacity-foreground = ${colors.foreground} + +animation-charging-0 =  +animation-charging-1 =  +animation-charging-2 =  +animation-charging-3 =  +animation-charging-4 =  +animation-charging-foreground = ${colors.foreground} +animation-charging-framerate = 750 + +################################################################################ + +[module/wireless-network] +;https://github.com/jaagr/polybar/wiki/Module:-network +type = internal/network +interface = wlp3s0 +interval = 3.0 +label-connected = %signal%% + +format-connected = <label-connected> +;format-connected = <ramp-signal> <label-connected> +format-connected-foreground = ${colors.foreground} +format-connected-background = ${colors.background} +format-connected-prefix = "  " +format-connected-prefix-foreground = ${colors.foreground} +format-connected-prefix-background = ${colors.background} +format-connected-underline = ${colors.foreground-alt} + +label-disconnected =  +label-disconnected-foreground = ${colors.alert} +label-disconnected-background = ${colors.background} + +format-disconnected = <label-disconnected> +format-disconnected-foreground = ${colors.alert} +format-disconnected-background = ${colors.background} +format-disconnected-prefix = "  " +format-disconnected-prefix-foreground = ${colors.alert} +format-disconnected-prefix-background = ${colors.background} +format-disconnected-underline =${colors.alert} + +ramp-signal-0 = ▁ +ramp-signal-1 = ▂ +ramp-signal-2 = ▃ +ramp-signal-3 = ▄ +ramp-signal-4 = ▅ +ramp-signal-5 = ▆ +ramp-signal-6 = ▇ +ramp-signal-7 = █ +;ramp-signal-foreground = #7e52c6 +ramp-signal-0-foreground = ${colors.adapta-red} +ramp-signal-1-foreground = ${colors.adapta-red} +ramp-signal-2-foreground = ${colors.adapta-yellow} +ramp-signal-3-foreground = ${colors.adapta-yellow} +ramp-signal-4-foreground = ${colors.adapta-green} +ramp-signal-5-foreground = ${colors.adapta-lightgreen} +ramp-signal-6-foreground = ${colors.foreground} +ramp-signal-7-foreground = ${colors.foreground} + + +################################################################################ + +[module/date] +;https://github.com/jaagr/polybar/wiki/Module:-date +type = internal/date +; Seconds to sleep between updates +interval = 5 +; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string +; NOTE: if you want to use syntax tags here you need to use %%{...} +date = " %a %d %b" +date-alt = " %d-%m-%Y" +time = %I:%M%P +time-alt = %H:%M +;format-prefix = " " +format-prefix = +format-prefix-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +format-foreground = ${colors.foreground} +format-background = ${colors.background} +label = %date% %time% + +################################################################# + +[module/discord] +type = custom/script +exec = echo " Discord " +;exec = echo " " +interval = 1 +tail = true +format-foreground = ${colors.foreground} +format-background = ${colors.background} +format-prefix-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +click-left = discord & +click-right = killall Discord && killall Discord && killall telegram-deskto +format-prefix = "" + +################################################################# + +[module/ewmh] +type = internal/xworkspaces + +pin-workspaces = false +enable-click = true +enable-scroll = true +reverse-scroll = true + + +icon-0 = 1; +icon-1 = 2; +icon-2 = 3; +icon-3 = 4; +icon-4 = 5; +icon-5 = 6; +icon-6 = 7; +icon-7 = 8; +icon-8 = 9; +icon-9 = 10; + + + +format = <label-state> +label-monitor = %name% + +label-active =  +label-active-foreground = ${colors.third} +label-active-background = ${colors.background} +label-active-underline= ${colors.foreground-alt} +label-active-padding = 2 + +label-occupied =  +label-occupied-background = ${colors.background} +label-occupied-foreground = ${colors.foreground} +label-occupied-underline= ${colors.foreground} +label-occupied-padding = 2 + +label-urgent =  +label-urgent-foreground = ${colors.alert} +label-urgent-background = ${colors.background} +label-urgent-underline = ${colors.alert} +label-urgent-padding = 2 + + +label-empty = • +label-empty-foreground = ${colors.foreground} +label-empty-padding = 2 +format-foreground = ${colors.foreground} +format-background = ${colors.background} + + +################################################################################ + +[module/filesystem] +;https://github.com/jaagr/polybar/wiki/Module:-filesystem +type = internal/fs + +; Mountpoints to display +mount-0 = / +;mount-1 = /home +;mount-2 = /var + +; Seconds to sleep between updates +; Default: 30 +interval = 30 + +; Display fixed precision values +; Default: false +fixed-values = false + +; Spacing between entries +; Default: 2 +spacing = 4 + +; Available tags: +; <label-mounted> (default) +; <bar-free> +; <bar-used> +; <ramp-capacity> +format-mounted = <label-mounted> +format-mounted-foreground = ${colors.foreground} +format-mounted-background = ${colors.background} +format-mounted-underline = ${colors.foreground-alt} + +; Available tokens: +; %mountpoint% +; %type% +; %fsname% +; %percentage_free% +; %percentage_used% +; %total% +; %free% +; %used% +; Default: %mountpoint% %percentage_free%% +label-mounted =  %percentage_free%% +;label-mounted = %mountpoint% : %used% used of %total% + +; Available tokens: +; %mountpoint% +; Default: %mountpoint% is not mounted +label-unmounted =  not mounted +format-unmounted-foreground = ${colors.foreground} +format-unmounted-background = ${colors.background} +;format-unmounted-underline = ${colors.alert} + +################################################################################ + +[module/load-average] +type = custom/script +exec = perl ~/.config/polybar/scripts/load.pl +interval = 1 + +;HOW TO SET IT MINIMAL 10 CHARACTERS - HIDDEN BEHIND SYSTEM ICONS +;label = %output% +label = %output% + +format-foreground = ${colors.foreground} +format-background = ${colors.background} +;format-prefix = "  " +;format-prefix-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} + +################################################################################ + +[module/vpn] +type = custom/script +exec = perl ~/.config/polybar/scripts/vpn.pl +interval = 1 + +;HOW TO SET IT MINIMAL 10 CHARACTERS - HIDDEN BEHIND SYSTEM ICONS +;label = %output% +label = %output% + +format-foreground = ${colors.foreground} +format-background = ${colors.background} +;format-prefix = "  " +;format-prefix-foreground = ${colors.foreground} +format-underline = #62FF00 + +################################################################################ + +[module/mem] +type = custom/script +exec = perl ~/.config/polybar/scripts/memory.pl +interval = 1 + +;HOW TO SET IT MINIMAL 10 CHARACTERS - HIDDEN BEHIND SYSTEM ICONS +;label = %output% +label = %output% + +format-foreground = ${colors.foreground} +format-background = ${colors.background} +;format-prefix = "  " +;format-prefix-foreground = ${colors.foreground} +format-underline = #62FF00 + +################################################################################ + +[module/mpd] +;https://github.com/jaagr/polybar/wiki/Module:-mpd +type = internal/mpd +;format-online = "<label-song> <icon-prev> <icon-stop> <toggle> <icon-next>" +format-online = "<label-song> <bar-progress>" +;format-online = "<label-song> <bar-progress> <icon-prev> <icon-stop> <toggle> <icon-next>" +icon-prev =  +icon-stop =  +icon-play =  +icon-pause =  +icon-next =  +label-song-maxlen = 40 +label-song-ellipsis = true +bar-progress-width = 10 +bar-progress-indicator =  +bar-progress-fill =  +bar-progress-empty =  +bar-progress-fill-foreground = #ff0 +bar-progress-fill-background = ${colors.background} +bar-progress-indicator-foreground = ${colors.foreground} +format-online-foreground = ${colors.foreground} +format-online-background = ${colors.background} + +################################################################################ + +[module/pavolume] +type = custom/script +tail = true +label = %output% +exec = ~/.config/polybar/scripts/pavolume.sh --listen +click-right = exec pavucontrol +click-left = ~/.config/polybar/scripts/pavolume.sh --togmute +scroll-up = ~/.config/polybar/scripts/pavolume.sh --up +scroll-down = ~/.config/polybar/scripts/pavolume.sh --down +;format-underline = #3EC13F +format-foreground = ${colors.foreground} +format-background = ${colors.background} + + +################################################################################ + +# [module/volume] +# ;https://github.com/jaagr/polybar/wiki/Module:-volume +# type = internal/alsa +# format-volume = "<label-volume> <bar-volume>" +# format-volume-underline = ${colors.foreground-alt} +# +# label-volume = " " +# label-volume-foreground = ${colors.foreground} +# +# label-muted = muted +# +# bar-volume-width = 10 +# bar-volume-foreground-0 = ${colors.third} +# bar-volume-foreground-1 = ${colors.third} +# bar-volume-foreground-2 = ${colors.third} +# bar-volume-foreground-3 = ${colors.third} +# bar-volume-foreground-4 = ${colors.third} +# bar-volume-foreground-5 = ${colors.third} +# bar-volume-foreground-6 = ${colors.third} +# bar-volume-gradient = false +# bar-volume-indicator = ━ +# bar-volume-indicator-font = 2 +# bar-volume-fill = ━ +# bar-volume-fill-font = 2 +# bar-volume-empty = ━ +# bar-volume-empty-font = 2 +# bar-volume-empty-foreground = ${colors.foreground} +# format-volume-foreground = ${colors.foreground} +# format-volume-background = ${colors.background} +# format-muted-prefix = "  " +# format-muted-prefix-foreground = "#ff0000" +# format-muted-foreground = ${colors.foreground} +# format-muted-background = ${colors.background} + +################################################################################ + +[module/weather] +type = custom/script +interval = 10 +format = <label> +format-prefix = " " +format-prefix-foreground = ${colors.foreground} +format-underline = #3EC13F +format-foreground = ${colors.foreground} +format-background = ${colors.background} +exec = python -u ~/.config/polybar/scripts/weather.py +tail = true + +################################################################################ + +[module/xbacklight] +;https://github.com/jaagr/polybar/wiki/Module:-xbacklight +type = internal/xbacklight +format = <bar> +format-prefix = "  " +format-prefix-foreground = ${colors.foreground} +format-prefix-background = ${colors.background} +;format-prefix-underline = #9f78e1 +;format-underline = #9f78e1 +label = %percentage%% +bar-width = 10 +bar-indicator = +bar-indicator-foreground = #fff +bar-indicator-font = 2 +bar-fill = ━ +bar-fill-font = 2 +bar-fill-foreground = ${colors.third} +bar-empty = ━ +bar-empty-font = 2 +bar-empty-foreground = ${colors.foreground} +format-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +format-background = ${colors.background} + +################################################################################ + +[module/xwindow] +;https://github.com/jaagr/polybar/wiki/Module:-xwindow +type = internal/xwindow + +; Available tokens: +; %title% +; Default: %title% +label = %title% +label-maxlen = 50 + +format-foreground = ${colors.foreground} +format-background = ${colors.background} + +############################################################################### + + +[module/powermenu] +type = custom/menu + +format-spacing = 1 + +label-open =  +label-close =  +label-close-foreground = ${colors.foreground} +label-separator = | +label-separator-foreground = ${colors.foreground} + +menu-0-0 =  +menu-0-0-exec = betterlockscreen -l dimblur && sleep 1 +menu-0-1 =  +menu-0-1-exec = systemctl reboot +menu-0-2 =  +menu-0-2-exec = betterlockscreen -l dimblur && sleep 1 && systemctl suspend +menu-0-3 =  +menu-0-3-exec = systemctl poweroff + + +format-background = ${colors.background} +format-foreground = ${colors.foreground} +format-underline = ${colors.foreground-alt} +format-padding = 1 + +; vim:ft=dosini From 52384789f6989e829bd1ab88ed2b39923a923b7c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 19:44:33 +0100 Subject: [PATCH 0602/2080] Fix polybar errors --- .config/polybar/config3 | 138 ++++------------------------------------ 1 file changed, 11 insertions(+), 127 deletions(-) diff --git a/.config/polybar/config3 b/.config/polybar/config3 index 07f526bc..5a160c8b 100644 --- a/.config/polybar/config3 +++ b/.config/polybar/config3 @@ -4,7 +4,7 @@ ; go to https://github.com/jaagr/polybar ; ; The README contains alot of information -; Themes : https://github.com/jaagr/dots/tree/master/.local/etc/themer/themes +; Themes : https://github.com/jaagr/dots/tree/master/.local/etc/themer/themes ; https://github.com/jaagr/polybar/wiki/ ; https://github.com/jaagr/polybar/wiki/Configuration ; https://github.com/jaagr/polybar/wiki/Formatting @@ -18,9 +18,6 @@ margin-bottom = 0 [settings] ;https://github.com/jaagr/polybar/wiki/Configuration#application-settings -throttle-output = 5 -throttle-output-for = 10 -throttle-input-for = 30 screenchange-reload = true compositing-background = over compositing-foreground = over @@ -31,12 +28,6 @@ compositing-border = over ; Define fallback values used by all module formats format-foreground = #FF0000 format-background = #00FF00 -format-underline = -format-overline = -format-spacing = -format-padding = -format-margin = -format-offset = [colors] ; Nord theme ============ @@ -85,8 +76,7 @@ volume-max = #bf616a ################################################################################ [bar/mainbar-herbstluftwm] -monitor = ${env:MONITOR} -monitor-fallback = HDMI-A-1 +monitor = ${env:MONITOR:HDMI-A-1} width = 90% height = 30 offset-x = 0 @@ -102,7 +92,7 @@ foreground = ${colors.foreground} line-size = 2 line-color = #f00 -wm-restack = bspwm +; wm-restack = bspwm override-redirect = true ; Enable support for inter-process messaging @@ -129,10 +119,9 @@ font-2 = "Iosevka:size=15;4" font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" # modules-left = cpu-graph xbacklight volume -modules-left = volume modules-center = ewmh # modules-right = discord filesystem wireless-network battery date powermenu -modules-right = filesystem wireless-network date powermenu +modules-right = filesystem date powermenu ;tray-detached = false ;tray-offset-x = 0 @@ -147,8 +136,7 @@ scroll-up = herbstclient use_index -1 scroll-down = herbstclient use_index +1 [bar/mainbar-herbstluftwm-center] -monitor = ${env:MONITOR} -monitor-fallback = HDMI-A-1 +monitor = ${env:MONITOR:HDMI-A-1} width = 18% height = 30 offset-x = 42% @@ -164,7 +152,7 @@ foreground = ${colors.foreground} line-size = 2 line-color = #f00 -wm-restack = bspwm +; wm-restack = bspwm override-redirect = true ; Enable support for inter-process messaging @@ -207,8 +195,7 @@ scroll-up = herbstclient use_index -1 scroll-down = herbstclient use_index +1 [bar/mainbar-herbstluftwm-right] -monitor = ${env:MONITOR} -monitor-fallback = HDMI-A-1 +monitor = ${env:MONITOR:HDMI-A-1} width = 27% height = 30 offset-x = 72% @@ -224,7 +211,7 @@ foreground = ${colors.foreground} line-size = 2 line-color = #f00 -wm-restack = bspwm +; wm-restack = bspwm override-redirect = true ; Enable support for inter-process messaging @@ -252,7 +239,7 @@ font-3 = "Bitstream Vera Sans:style=Roman:size=15;4" modules-left = modules-center = -modules-right = discord filesystem wireless-network battery date powermenu +modules-right = filesystem date powermenu ;tray-detached = false ;tray-offset-x = 0 @@ -273,8 +260,7 @@ scroll-down = herbstclient use_index +1 ################################################################################ [bar/mainbar-herbstluftwm-extra] -monitor = ${env:MONITOR} -monitor-fallback = HDMI-A-1 +monitor = ${env:MONITOR:} width = 100% height = 30 ;offset-x = 1% @@ -290,7 +276,7 @@ foreground = ${colors.foreground} line-size = 2 line-color = #f00 -wm-restack = bspwm +; wm-restack = bspwm override-redirect = true ; Enable support for inter-process messaging @@ -518,55 +504,6 @@ animation-charging-4 =  animation-charging-foreground = ${colors.foreground} animation-charging-framerate = 750 -################################################################################ - -[module/wireless-network] -;https://github.com/jaagr/polybar/wiki/Module:-network -type = internal/network -interface = wlp3s0 -interval = 3.0 -label-connected = %signal%% - -format-connected = <label-connected> -;format-connected = <ramp-signal> <label-connected> -format-connected-foreground = ${colors.foreground} -format-connected-background = ${colors.background} -format-connected-prefix = "  " -format-connected-prefix-foreground = ${colors.foreground} -format-connected-prefix-background = ${colors.background} -format-connected-underline = ${colors.foreground-alt} - -label-disconnected =  -label-disconnected-foreground = ${colors.alert} -label-disconnected-background = ${colors.background} - -format-disconnected = <label-disconnected> -format-disconnected-foreground = ${colors.alert} -format-disconnected-background = ${colors.background} -format-disconnected-prefix = "  " -format-disconnected-prefix-foreground = ${colors.alert} -format-disconnected-prefix-background = ${colors.background} -format-disconnected-underline =${colors.alert} - -ramp-signal-0 = ▁ -ramp-signal-1 = ▂ -ramp-signal-2 = ▃ -ramp-signal-3 = ▄ -ramp-signal-4 = ▅ -ramp-signal-5 = ▆ -ramp-signal-6 = ▇ -ramp-signal-7 = █ -;ramp-signal-foreground = #7e52c6 -ramp-signal-0-foreground = ${colors.adapta-red} -ramp-signal-1-foreground = ${colors.adapta-red} -ramp-signal-2-foreground = ${colors.adapta-yellow} -ramp-signal-3-foreground = ${colors.adapta-yellow} -ramp-signal-4-foreground = ${colors.adapta-green} -ramp-signal-5-foreground = ${colors.adapta-lightgreen} -ramp-signal-6-foreground = ${colors.foreground} -ramp-signal-7-foreground = ${colors.foreground} - - ################################################################################ [module/date] @@ -789,58 +726,6 @@ format-online-background = ${colors.background} ################################################################################ -[module/pavolume] -type = custom/script -tail = true -label = %output% -exec = ~/.config/polybar/scripts/pavolume.sh --listen -click-right = exec pavucontrol -click-left = ~/.config/polybar/scripts/pavolume.sh --togmute -scroll-up = ~/.config/polybar/scripts/pavolume.sh --up -scroll-down = ~/.config/polybar/scripts/pavolume.sh --down -;format-underline = #3EC13F -format-foreground = ${colors.foreground} -format-background = ${colors.background} - - -################################################################################ - -# [module/volume] -# ;https://github.com/jaagr/polybar/wiki/Module:-volume -# type = internal/alsa -# format-volume = "<label-volume> <bar-volume>" -# format-volume-underline = ${colors.foreground-alt} -# -# label-volume = " " -# label-volume-foreground = ${colors.foreground} -# -# label-muted = muted -# -# bar-volume-width = 10 -# bar-volume-foreground-0 = ${colors.third} -# bar-volume-foreground-1 = ${colors.third} -# bar-volume-foreground-2 = ${colors.third} -# bar-volume-foreground-3 = ${colors.third} -# bar-volume-foreground-4 = ${colors.third} -# bar-volume-foreground-5 = ${colors.third} -# bar-volume-foreground-6 = ${colors.third} -# bar-volume-gradient = false -# bar-volume-indicator = ━ -# bar-volume-indicator-font = 2 -# bar-volume-fill = ━ -# bar-volume-fill-font = 2 -# bar-volume-empty = ━ -# bar-volume-empty-font = 2 -# bar-volume-empty-foreground = ${colors.foreground} -# format-volume-foreground = ${colors.foreground} -# format-volume-background = ${colors.background} -# format-muted-prefix = "  " -# format-muted-prefix-foreground = "#ff0000" -# format-muted-foreground = ${colors.foreground} -# format-muted-background = ${colors.background} - -################################################################################ - [module/weather] type = custom/script interval = 10 @@ -917,7 +802,6 @@ menu-0-2-exec = betterlockscreen -l dimblur && sleep 1 && systemctl suspend menu-0-3 =  menu-0-3-exec = systemctl poweroff - format-background = ${colors.background} format-foreground = ${colors.foreground} format-underline = ${colors.foreground-alt} From 78d8bf2ec35d2ab40d201309f0fdf46773c89836 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 19:54:44 +0100 Subject: [PATCH 0603/2080] Polybar: import default confi --- .config/polybar/config.ini | 174 +++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 .config/polybar/config.ini diff --git a/.config/polybar/config.ini b/.config/polybar/config.ini new file mode 100644 index 00000000..4e79f3ad --- /dev/null +++ b/.config/polybar/config.ini @@ -0,0 +1,174 @@ +;========================================================== +; +; +; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ +; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ +; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ +; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ +; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ +; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ +; +; +; To learn more about how to configure Polybar +; go to https://github.com/polybar/polybar +; +; The README contains a lot of information +; +;========================================================== + +[colors] +background = #282A2E +background-alt = #373B41 +foreground = #C5C8C6 +primary = #F0C674 +secondary = #8ABEB7 +alert = #A54242 +disabled = #707880 + +[bar/main] +width = 100% +height = 24pt +radius = 6 + +; dpi = 96 + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3pt + +border-size = 4pt +border-color = #00000000 + +padding-left = 0 +padding-right = 1 + +module-margin = 1 + +separator = | +separator-foreground = ${colors.disabled} + +font-0 = monospace;2 + +modules-left = xworkspaces xwindow +# XXX add sound support +# modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth date +modules-right = filesystem xkeyboard memory cpu wlan eth date + +cursor-click = pointer +cursor-scroll = ns-resize + +enable-ipc = true + +; tray-position = right + +; wm-restack = generic +; wm-restack = bspwm +; wm-restack = i3 + +; override-redirect = true + +[module/xworkspaces] +type = internal/xworkspaces + +label-active = %name% +label-active-background = ${colors.background-alt} +label-active-underline= ${colors.primary} +label-active-padding = 1 + +label-occupied = %name% +label-occupied-padding = 1 + +label-urgent = %name% +label-urgent-background = ${colors.alert} +label-urgent-padding = 1 + +label-empty = %name% +label-empty-foreground = ${colors.disabled} +label-empty-padding = 1 + +[module/xwindow] +type = internal/xwindow +label = %title:0:60:...% + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / + +label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% + +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.disabled} + +[module/pulseaudio] +type = internal/pulseaudio + +format-volume-prefix = "VOL " +format-volume-prefix-foreground = ${colors.primary} +format-volume = <label-volume> + +label-volume = %percentage%% + +label-muted = muted +label-muted-foreground = ${colors.disabled} + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +label-layout = %layout% +label-layout-foreground = ${colors.primary} + +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-foreground = ${colors.background} +label-indicator-background = ${colors.secondary} + +[module/memory] +type = internal/memory +interval = 2 +format-prefix = "RAM " +format-prefix-foreground = ${colors.primary} +label = %percentage_used:2%% + +[module/cpu] +type = internal/cpu +interval = 2 +format-prefix = "CPU " +format-prefix-foreground = ${colors.primary} +label = %percentage:2%% + +[network-base] +type = internal/network +interval = 5 +format-connected = <label-connected> +format-disconnected = <label-disconnected> +label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected + +[module/wlan] +inherit = network-base +interface-type = wireless +label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip% + +[module/eth] +inherit = network-base +interface-type = wired +label-connected = %{F#F0C674}%ifname%%{F-} %local_ip% + +[module/date] +type = internal/date +interval = 1 + +date = %H:%M +date-alt = %Y-%m-%d %H:%M:%S + +label = %date% +label-foreground = ${colors.primary} + +[settings] +screenchange-reload = true +pseudo-transparency = true + +; vim:ft=dosini From 7d6bef66d972b1121f4b6e24134dab9a48a4e284 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:03:00 +0100 Subject: [PATCH 0604/2080] Add file to configure theme --- .config/nvim/lua/config/theme.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .config/nvim/lua/config/theme.lua diff --git a/.config/nvim/lua/config/theme.lua b/.config/nvim/lua/config/theme.lua new file mode 100644 index 00000000..4d89c32d --- /dev/null +++ b/.config/nvim/lua/config/theme.lua @@ -0,0 +1,11 @@ +-- For dracula theme +-- require("dracula").setup({ +-- -- show the '~' characters after the end of buffers +-- show_end_of_buffer = true, -- default false +-- -- set italic comment +-- italic_comment = false, -- default false +-- }) +require("lualine").setup({ + options = { theme = "tokyonight" }, +}) +vim.cmd([[colorscheme tokyonight]]) From 7499078afcfe047fdd452e801363b60fff1ba70b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:03:24 +0100 Subject: [PATCH 0605/2080] polybar: align with config --- .config/polybar/launch.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/polybar/launch.sh b/.config/polybar/launch.sh index 8cdddcaa..23617a2a 100755 --- a/.config/polybar/launch.sh +++ b/.config/polybar/launch.sh @@ -6,10 +6,10 @@ killall -q polybar # Wait until the processes have been shut down -while pgrep -u $UID -x polybar > /dev/null; do sleep 1; done +while pgrep -u "$(id -u)" -x polybar > /dev/null; do sleep 1; done for m in $(polybar --list-monitors | cut -d":" -f1); do - MONITOR=$m polybar --reload mainbar-herbstluftwm -c ~/.config/polybar/config3 & + MONITOR=$m polybar --reload mainbar -c ~/.config/polybar/config.ini & #MONITOR=$m polybar --reload primary -c ~/.config/polybar/config2 & #MONITOR=$m polybar --reload example -c ~/.config/polybar/config & done From d36c77eaba6d401ce2f9b4c05d817e8a9afd0451 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:03:47 +0100 Subject: [PATCH 0606/2080] lsp.lua: add all params --- .config/nvim/lua/config/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index b8d3a0b0..4bab62fc 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -175,7 +175,7 @@ require("ltex-ls").setup({ if files.default then for lang, _ in pairs(files) do if lang ~= "default" then - vim.list_extend(files[lang], files.default) + vim.list_extend(files[lang], files.default, 1, #files.default) end end files.default = nil From b986c29de53b823dcdb0badb38706e8354f5b9dd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:04:05 +0100 Subject: [PATCH 0607/2080] plugins: disable autopairs, cleaning and reorganisation --- .config/nvim/lua/plugins.lua | 99 +++++++++++++++--------------------- 1 file changed, 42 insertions(+), 57 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index f4631fae..f902c64c 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -139,13 +139,13 @@ return require("packer").startup(function(use) use("thirtythreeforty/lessspace.vim") -- Autopairs - use({ - "windwp/nvim-autopairs", - event = "InsertEnter", - config = function() - require("nvim-autopairs").setup({}) - end, - }) + -- use({ + -- "windwp/nvim-autopairs", + -- event = "InsertEnter", + -- config = function() + -- require("nvim-autopairs").setup({}) + -- end, + -- }) -- Easy change of surrounding stuff (tags, quotes...) -- :h nvim-surround.usage @@ -203,20 +203,13 @@ return require("packer").startup(function(use) requires = "kyazdani42/nvim-web-devicons", config = function() require("trouble").setup({ - indent_lines = true, -- add an indent guide below the fold icons - auto_open = false, -- automatically open the list when you have diagnostics + auto_open = true, -- automatically open the list when you have diagnostics auto_close = true, -- automatically close the list when you have no diagnostics - auto_preview = true, -- automatically preview the location of the diagnostic. <esc> to close preview and go back to last window - auto_fold = false, -- automatically fold a file trouble list at creation }) vim.keymap.set("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", { silent = true, noremap = true }) end, }) - -- Lazy loading: - -- Load on specific commands - -- use {'tpope/vim-dispatch', opt = true, cmd = {'Dispatch', 'Make', 'Focus', 'Start'}} - -- highlight, navigate, and operate on sets of matching text -- https://github.com/andymass/vim-matchup use({ @@ -235,7 +228,7 @@ return require("packer").startup(function(use) requires = "kevinhwang91/promise-async", config = function() require("ufo").setup({ - provider_selector = function(bufnr, filetype, buftype) + provider_selector = function() return { "treesitter", "indent" } end, }) @@ -263,8 +256,8 @@ return require("packer").startup(function(use) { "p00f/nvim-ts-rainbow", event = "BufRead" }, -- View treesitter information directly in Neovim! { "nvim-treesitter/playground", cmd = "TSPlaygroundToggle" }, - -- Set commentstring option based on the cursor location in the file - -- "JoosepAlviste/nvim-ts-context-commentstring", + -- -- Set commentstring option based on the cursor location in the file + "JoosepAlviste/nvim-ts-context-commentstring", -- Use treesitter to autoclose and autorename html tag { "windwp/nvim-ts-autotag" }, }, @@ -297,15 +290,6 @@ return require("packer").startup(function(use) end, }) - -- list and switch between buffers - use({ - "akinsho/bufferline.nvim", - tag = "v3.*", - config = function() - require("bufferline").setup({}) - end, - }) - -- project management use({ "ahmedkhalf/project.nvim", @@ -402,38 +386,13 @@ return require("packer").startup(function(use) end, }) - -- UI, UX, look and fgeel good - use({ - "Mofiqul/dracula.nvim", - as = "dracula", - -- "rafamadriz/neon", -- Looks quite nice - -- {'embark-theme/vim', as = 'embark'}, - -- 'folke/tokyonight.nvim', - -- "andersevenrud/nordic.nvim", - -- "shaunsingh/nord.nvim", - -- "Th3Whit3Wolf/one-nvim", - -- "marko-cerovac/material.nvim", - -- 'navarasu/onedark.nvim', - config = function() - require("dracula").setup({ - -- show the '~' characters after the end of buffers - show_end_of_buffer = true, -- default false - -- set italic comment - italic_comment = true, -- default false - }) - vim.cmd([[colorscheme dracula]]) - end, - }) - -- status line + -- list and switch between buffers use({ - "nvim-lualine/lualine.nvim", - after = "dracula", + "akinsho/bufferline.nvim", + tag = "v3.*", config = function() - require("lualine").setup({ - options = { theme = "dracula" }, - }) + require("bufferline").setup({}) end, - requires = { "kyazdani42/nvim-web-devicons", opt = true }, }) -- Git support @@ -450,6 +409,31 @@ return require("packer").startup(function(use) event = "BufRead", }) + -- UI, UX, look and fgeel good + use({ + -- status line + "nvim-lualine/lualine.nvim", + config = function() + require("config.theme") + end, + requires = { + -- theme + -- XXX matching keywords and {[], are underlined, not very nice + -- "Mofiqul/dracula.nvim", + -- "rafamadriz/neon", + 'folke/tokyonight.nvim', + -- "andersevenrud/nordic.nvim", + -- "shaunsingh/nord.nvim", + -- "Th3Whit3Wolf/one-nvim", + -- "marko-cerovac/material.nvim", + -- 'navarasu/onedark.nvim', + -- {'embark-theme/vim', as = 'embark'}, + -- icons + "kyazdani42/nvim-web-devicons", + opt = true, + }, + }) + -- Add indentation guides to all lines use({ "lukas-reineke/indent-blankline.nvim" }) -- Neovim plugin to improve the default vim.ui interfaces @@ -459,6 +443,7 @@ return require("packer").startup(function(use) require("dressing").setup({}) end, }) + -- Notifications, Messages, cmdline, pop up menu use({ "folke/noice.nvim", @@ -492,7 +477,7 @@ return require("packer").startup(function(use) "rcarriga/nvim-notify", tag = "v3.*", }) - -- use 'vigoux/notifier.nvim' + -- a fast and fully programmable greeter for neovim. use({ "goolord/alpha-nvim", From 9abbaa5f73c1c6945a34dc0b7b57745defa81e09 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:30:10 +0100 Subject: [PATCH 0608/2080] Use dracula colors --- .config/polybar/config.ini | 44 ++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/.config/polybar/config.ini b/.config/polybar/config.ini index 4e79f3ad..b81f8c8b 100644 --- a/.config/polybar/config.ini +++ b/.config/polybar/config.ini @@ -16,15 +16,31 @@ ; ;========================================================== +; https://github.com/Murzchnvok/polybar-collection/blob/5101184486c1c80434c55c9c3a8438d59c6bc875/themes/dracula/colors.ini [colors] -background = #282A2E -background-alt = #373B41 -foreground = #C5C8C6 -primary = #F0C674 +background = #282a36 +background-alt = #44475a +foreground = #f8f8f2 +foreground-alt = #bd93f9 + +primary = #bd93f9 secondary = #8ABEB7 alert = #A54242 disabled = #707880 +# blue = #6272a4 +# cyan = #8be9fd +# green = #50fa7b +# orange = #ffb86c +# pink = #ff79c6 +# purple = #bd93f9 +# red = #ff5555 +# yellow = #f1fa8c +# black = #000 +# white = #FFF +trans = #00000000 +semi-trans-black = #aa000000 + [bar/main] width = 100% height = 24pt @@ -32,7 +48,7 @@ radius = 6 ; dpi = 96 -background = ${colors.background} +background = ${colors.semi-trans-black} foreground = ${colors.foreground} line-size = 3pt @@ -48,12 +64,12 @@ module-margin = 1 separator = | separator-foreground = ${colors.disabled} -font-0 = monospace;2 +font-0 = Cascadia Code PL;2 modules-left = xworkspaces xwindow -# XXX add sound support # modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth date -modules-right = filesystem xkeyboard memory cpu wlan eth date +# FIXME add sound support +modules-right = filesystem memory cpu eth wlan date cursor-click = pointer cursor-scroll = ns-resize @@ -97,7 +113,7 @@ interval = 25 mount-0 = / -label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% +label-mounted = %{F#bd93f9}%mountpoint%%{F-} %percentage_used%% label-unmounted = %mountpoint% not mounted label-unmounted-foreground = ${colors.disabled} @@ -145,24 +161,24 @@ type = internal/network interval = 5 format-connected = <label-connected> format-disconnected = <label-disconnected> -label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected +label-disconnected = %{F#bd93f9}%ifname%%{F#707880} disconnected [module/wlan] inherit = network-base interface-type = wireless -label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip% +label-connected = %{F#bd93f94}%ifname%%{F-} %essid% %local_ip% [module/eth] inherit = network-base interface-type = wired -label-connected = %{F#F0C674}%ifname%%{F-} %local_ip% +label-connected = %{F#bd93f9}%ifname%%{F-} %local_ip% [module/date] type = internal/date interval = 1 -date = %H:%M -date-alt = %Y-%m-%d %H:%M:%S +date = %Y-%m-%d %H:%M +date-alt = %H:%M label = %date% label-foreground = ${colors.primary} From bc8216c11b4331d32d09e513e61c912e2c517daf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:30:23 +0100 Subject: [PATCH 0609/2080] herbstulftwm: address errors --- .config/herbstluftwm/autostart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index a41b5021..557966af 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -82,13 +82,13 @@ tag_names=( {1..10} ) tag_keys=( {1..9} 0 ) hc rename default "${tag_names[0]}" || true -for i in ${!tag_names[@]} ; do +for i in "${!tag_names[@]}" ; do hc add "${tag_names[$i]}" # horizontal tiling as standard hc set_layout horizontal hc set default_frame_layout 1 key="${tag_keys[$i]}" - if ! [ -z "$key" ] ; then + if [ -n "$key" ] ; then hc keybind "$Mod-$key" use_index "$i" hc keybind "$Mod-Shift-$key" chain , move_index "$i" , use_index "$i" fi From 28b9d1f78f0b4264adfc0b4a8ca085153cc5e706 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:34:10 +0100 Subject: [PATCH 0610/2080] polybar: display tray --- .config/polybar/config.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/polybar/config.ini b/.config/polybar/config.ini index b81f8c8b..4464a5a9 100644 --- a/.config/polybar/config.ini +++ b/.config/polybar/config.ini @@ -76,7 +76,7 @@ cursor-scroll = ns-resize enable-ipc = true -; tray-position = right +tray-position = right ; wm-restack = generic ; wm-restack = bspwm From ee75f9b3f1d4a5e70848259d59011106b6d38299 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:41:16 +0100 Subject: [PATCH 0611/2080] autostart: cleaning --- .fehbg | 2 -- bin/autostart.sh | 73 +++++++++++++++++++----------------------------- 2 files changed, 29 insertions(+), 46 deletions(-) delete mode 100755 .fehbg diff --git a/.fehbg b/.fehbg deleted file mode 100755 index 93167b7a..00000000 --- a/.fehbg +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -feh --no-fehbg --bg-fill '/home/baptiste/.config/herbstluftwm/fantasy-landscape2.jpg' diff --git a/bin/autostart.sh b/bin/autostart.sh index d14b66b3..06e452c0 100755 --- a/bin/autostart.sh +++ b/bin/autostart.sh @@ -11,28 +11,25 @@ run_once() { [ -z "$process_name" ] && process_name="$program" if [ -z "$program_arguments" ]; then - pgrep -f -u $USER -x "$process_name" || ( "$program" & ) + pgrep -f -u "$USER" -x "$process_name" || ( "$program" & ) else - pgrep -f -u $USER -x "$process_name" || ( "$program" "$program_arguments" & ) + pgrep -f -u "$USER" -x "$process_name" || ( "$program" "$program_arguments" & ) fi } ## OSD run_once dunst -# Wallpapers -#run_once nitrogen "--restore" - # Disable offlineimap while testing a user systemd service + timer # pkill offlineimap || sleep 3 && offlineimap & #&& offlineimap-notify &> /tmp/offlineimap-log # Pulse audio -pkill pulseaudio; sleep 3 && pulseaudio --start -D +# pkill pulseaudio; sleep 3 && pulseaudio --start -D # pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo '60%' & -run_once pasystray -#exec --no-startup-id volti # starting volume control -#exec --no-startup-id pa-applet +# run_once pasystray +# exec --no-startup-id volti # starting volume control +# exec --no-startup-id pa-applet # MPD # run_once mpd @@ -44,57 +41,44 @@ run_once pasystray # Clipboard manager # anamnesis, clipman, copyq, gpaste could be alternatives run_once clipit -# -# Start urxvt daemon -#urxvtd -q -f -o & urxvtdpid=$! -#urxvtd -f -o # Misc run_once kitty run_once firefox +run_once keybase run_once redshift run_once redshift-gtk -run_once keybase -# run_once rofi "-key mod1+tab -terminal kitty" # Disabled -# run_once revelation \ -# ~/repos/perso/gwarf/private/revelation/keyring-perso \ -# "/usr/bin/python.*/bin/revelation.*/keyring-perso" -# run_once revelation \ -# ~/repos/perso/gwarf/private/revelation/keyring-maatg \ -# "/usr/bin/python.*/bin/revelation.*/keyring-maatg" -#run_once JDownloader -#run_once workrave -#run_once chromium -#run_once deluge -#stalonetray & -#tomboy & -#alunn & -#workrave & -#nvidia-settings --load-config-only & -#run_once syncthing-gtk -#run_once owncloud -#run_once flow -#un_once kontaminuti -#exec --no-startup-id udiskie -#/usr/libexec/gnome-settings-daemon & -#gnome-volume-manager & -#x11vnc -ncache 10 -many -q -bg -rfbauth .vnc/passwd +# run_once workrave +# run_once chromium +# run_once deluge +# stalonetray & +# tomboy & +# alunn & +# workrave & +# nvidia-settings --load-config-only & +# run_once syncthing-gtk +# run_once flow +# run_once kontaminuti +# exec --no-startup-id udiskie +# /usr/libexec/gnome-settings-daemon & +# gnome-volume-manager & +# x11vnc -ncache 10 -many -q -bg -rfbauth .vnc/passwd # run conky -c $HOME/.conkyrc & # albert & # run mpd & -#run variety & +# run variety & # run nm-applet & -#pamac-tray & +# pamac-tray & # xinput set-prop 13 302 1 & # run redshift-gtk # run syncthing-gtk -m & -#xfce4-power-manager & +# xfce4-power-manager & # run dunst & # numlockx on & # run blueberry-tray & -#xfsettingsd & +# xfsettingsd & # nitrogen --restore & # caffeine & # vivaldi-stable & @@ -111,5 +95,6 @@ run_once keybase # wal -nRa 90 & # Set wallpaper -# feh --bg-scale ~/.config/herbstluftwm/fantasy-landscape2.jpg & -$HOME/.fehbg & +# run_once nitrogen "--restore" +# run_once feh --bg-scale ~/.config/herbstluftwm/fantasy-landscape2.jpg +run_once feh --no-fehbg --bg-fill ~/.config/herbstluftwm/fantasy-landscape2.jpg From d7ca246532d43a8fa44fa0a8239d49d633cdf1a1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:43:23 +0100 Subject: [PATCH 0612/2080] Add more software --- programs.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/programs.md b/programs.md index 1d7e662d..5caf68fb 100644 --- a/programs.md +++ b/programs.md @@ -4,8 +4,19 @@ gimp github-cli htop kitty +misfortune mutt neovim +nnn +rclone +trash-cli +atool +unace +pipewire +pipewire-pulse podman rofi zsh +swaync +wireplumber +wlclipboard From 9465b822e296f92b2f0d3f15179a82650cf21212 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:45:26 +0100 Subject: [PATCH 0613/2080] Add more software --- programs.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/programs.md b/programs.md index 5caf68fb..8f7d2c25 100644 --- a/programs.md +++ b/programs.md @@ -1,22 +1,25 @@ +atool dunst firefox gimp +git github-cli +herbstluftwm htop kitty misfortune mutt neovim nnn -rclone -trash-cli -atool -unace pipewire pipewire-pulse podman +polybar +rclone rofi -zsh swaync +trash-cli +unace wireplumber wlclipboard +zsh From abf33f3373f0eda2fecfb91b917df752e9f6a2c8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 21:47:04 +0100 Subject: [PATCH 0614/2080] autostart: add back picom --- .config/herbstluftwm/autostart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index 557966af..49e6ab1d 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -227,7 +227,7 @@ xsetroot -solid '#000000' xsetroot -cursor_name left_ptr & # Compositor -# picom --shadow-opactiy 0.25 & +picom --shadow-opactiy 0.25 & # Keyboard layout # setxkbmap -layout us From 3e473f4c85dda2d354d94c7fb7d9903680714278 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 22:06:08 +0100 Subject: [PATCH 0615/2080] polybar: fix file name --- .config/polybar/launch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/polybar/launch.sh b/.config/polybar/launch.sh index 23617a2a..bcc804ae 100755 --- a/.config/polybar/launch.sh +++ b/.config/polybar/launch.sh @@ -9,7 +9,7 @@ killall -q polybar while pgrep -u "$(id -u)" -x polybar > /dev/null; do sleep 1; done for m in $(polybar --list-monitors | cut -d":" -f1); do - MONITOR=$m polybar --reload mainbar -c ~/.config/polybar/config.ini & + MONITOR=$m polybar --reload main -c ~/.config/polybar/config.ini & #MONITOR=$m polybar --reload primary -c ~/.config/polybar/config2 & #MONITOR=$m polybar --reload example -c ~/.config/polybar/config & done From 64a75c6463db2c24be052d47df53e9a0ea9fe6c9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 22:06:45 +0100 Subject: [PATCH 0616/2080] Fix test for firefox, disable reshift --- bin/autostart.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/autostart.sh b/bin/autostart.sh index 06e452c0..5cf7d2ef 100755 --- a/bin/autostart.sh +++ b/bin/autostart.sh @@ -11,7 +11,7 @@ run_once() { [ -z "$process_name" ] && process_name="$program" if [ -z "$program_arguments" ]; then - pgrep -f -u "$USER" -x "$process_name" || ( "$program" & ) + pgrep -u "$USER" -x "$process_name" || ( "$program" & ) else pgrep -f -u "$USER" -x "$process_name" || ( "$program" "$program_arguments" & ) fi @@ -46,8 +46,9 @@ run_once clipit run_once kitty run_once firefox run_once keybase -run_once redshift -run_once redshift-gtk +run_once nextcloud --background +# run_once redshift +# run_once redshift-gtk # Disabled # run_once workrave @@ -96,5 +97,4 @@ run_once redshift-gtk # Set wallpaper # run_once nitrogen "--restore" -# run_once feh --bg-scale ~/.config/herbstluftwm/fantasy-landscape2.jpg -run_once feh --no-fehbg --bg-fill ~/.config/herbstluftwm/fantasy-landscape2.jpg +feh --no-fehbg --bg-fill ~/.config/herbstluftwm/fantasy-landscape2.jpg & From 54a15a3305404688a63b31ab939be5920bd60173 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 22:10:27 +0100 Subject: [PATCH 0617/2080] move picom to bin/autostart.sh --- .config/herbstluftwm/autostart | 3 --- bin/autostart.sh | 6 ++++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index 49e6ab1d..4705d997 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -226,9 +226,6 @@ xsetroot -solid '#000000' # xsetroot -solid '#222222' xsetroot -cursor_name left_ptr & -# Compositor -picom --shadow-opactiy 0.25 & - # Keyboard layout # setxkbmap -layout us # Use right control as compose key diff --git a/bin/autostart.sh b/bin/autostart.sh index 5cf7d2ef..39ae6601 100755 --- a/bin/autostart.sh +++ b/bin/autostart.sh @@ -11,8 +11,7 @@ run_once() { [ -z "$process_name" ] && process_name="$program" if [ -z "$program_arguments" ]; then - pgrep -u "$USER" -x "$process_name" || ( "$program" & ) - else + pgrep -u "$USER" -x "$process_name" || ( "$program" & ) else pgrep -f -u "$USER" -x "$process_name" || ( "$program" "$program_arguments" & ) fi } @@ -98,3 +97,6 @@ run_once nextcloud --background # Set wallpaper # run_once nitrogen "--restore" feh --no-fehbg --bg-fill ~/.config/herbstluftwm/fantasy-landscape2.jpg & + +# Compositor +picom --shadow-opactiy 0.25 & From 93454798fdc50b16eadb989fa2e3d61c5f1c3b40 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 29 Nov 2022 22:15:19 +0100 Subject: [PATCH 0618/2080] Disable picom, reorganise --- bin/autostart.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/bin/autostart.sh b/bin/autostart.sh index 39ae6601..6f454b04 100755 --- a/bin/autostart.sh +++ b/bin/autostart.sh @@ -19,6 +19,18 @@ run_once() { ## OSD run_once dunst +# Clipboard manager +# anamnesis, clipman, copyq, gpaste could be alternatives +run_once clipit + +# Misc +run_once kitty +run_once firefox +run_once run_keybase +run_once nextcloud --background +# run_once redshift +# run_once redshift-gtk + # Disable offlineimap while testing a user systemd service + timer # pkill offlineimap || sleep 3 && offlineimap & #&& offlineimap-notify &> /tmp/offlineimap-log @@ -37,18 +49,6 @@ run_once dunst # NetworkManager # run_once nm-applet -# Clipboard manager -# anamnesis, clipman, copyq, gpaste could be alternatives -run_once clipit - -# Misc -run_once kitty -run_once firefox -run_once keybase -run_once nextcloud --background -# run_once redshift -# run_once redshift-gtk - # Disabled # run_once workrave # run_once chromium @@ -99,4 +99,4 @@ run_once nextcloud --background feh --no-fehbg --bg-fill ~/.config/herbstluftwm/fantasy-landscape2.jpg & # Compositor -picom --shadow-opactiy 0.25 & +# picom --shadow-opactiy 0.25 & From 970b2f3e7c72baa9dceb12b556cb67bd75f58786 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 30 Nov 2022 01:00:54 +0100 Subject: [PATCH 0619/2080] herbstulftwm: use alt as modkey --- .config/herbstluftwm/autostart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index 4705d997..00ec1bc8 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -13,8 +13,8 @@ hc emit_hook reload hc keyunbind --all # if you have a super key you will be much happier with Mod set to Mod4 -# Mod=Mod1 # Use alt as the main modifier -Mod=Mod4 # Use the super key as the main modifier +Mod=Mod1 # Use alt as the main modifier +# Mod=Mod4 # Use the super key as the main modifier hc keybind $Mod-Shift-x quit hc keybind $Mod-Shift-r reload From cbfde263db2ccc5bfb1a3398204de3ced4eb31ed Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 30 Nov 2022 01:01:23 +0100 Subject: [PATCH 0620/2080] Treesitter: install markdown_inline. --- .config/nvim/lua/config/treesitter.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/config/treesitter.lua b/.config/nvim/lua/config/treesitter.lua index fcef28c7..7661b2ab 100644 --- a/.config/nvim/lua/config/treesitter.lua +++ b/.config/nvim/lua/config/treesitter.lua @@ -30,6 +30,7 @@ ts_configs.setup({ "lua", "make", "markdown", + "markdown_inline", "norg", "python", "regex", From 0da92c36d82b12e2abab48fe6c732b8182ba0856 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 30 Nov 2022 01:01:45 +0100 Subject: [PATCH 0621/2080] lsp: re-enable auto formatting, document issues with gw due to null-ls. --- .config/nvim/lua/config/lsp.lua | 75 +++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 31 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 4bab62fc..a17c29be 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -37,24 +37,42 @@ lsp.handlers["textDocument/publishDiagnostics"] = lsp.with(lsp.diagnostic.on_pub update_in_insert = true, }) +local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) + -- To be used to display LSP diagnostic window details when on an error local on_attach = function(client, bufnr) + -- wrapper for creating mappings + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.buffer = bufnr + keymap.set(mode, l, r, opts) + end + -- turn off formatting for some lsp, to use the ones from null-ls if client.name == "pyright" or client.name == "jsonls" then client.server_capabilities.document_formatting = false client.server_capabilities.document_range_formatting = false end + -- XXX may be better disabled due to some issues with default conf for yaml/ansible formatting + -- format file on save + if client.supports_method("textDocument/formatting") then + vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) + vim.api.nvim_create_autocmd("BufWritePre", { + group = augroup, + buffer = bufnr, + callback = function() + -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead + vim.lsp.buf.format({ bufnr = bufnr }) + end, + }) + end + -- Enable completion triggered by <c-x><c-o> vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") -- Mappings. - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.buffer = bufnr - keymap.set(mode, l, r, opts) - end -- See `:help vim.diagnostic.*` for documentation on any of the below functions map("n", "K", lsp.buf.hover, { desc = "Hover" }) @@ -79,9 +97,8 @@ local on_attach = function(client, bufnr) end local cursor_pos = api.nvim_win_get_cursor(0) - if - (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) - and #diagnostic.get() > 0 + if (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) + and #diagnostic.get() > 0 then diagnostic.open_float(nil, float_opts) end @@ -127,7 +144,7 @@ end -- merge the defaults lspconfig provides with the capabilities nvim-cmp adds local lsp_defaults = lspconfig.util.default_config lsp_defaults.capabilities = - vim.tbl_deep_extend("force", lsp_defaults.capabilities, require("cmp_nvim_lsp").default_capabilities()) +vim.tbl_deep_extend("force", lsp_defaults.capabilities, require("cmp_nvim_lsp").default_capabilities()) local lsp_flags = { -- This is the default in Nvim 0.7+ @@ -154,7 +171,7 @@ require("ltex-ls").setup({ ltex = { checkFrequency = "save", enabled = { "latex", "tex", "bib", "markdown" }, - language = "auto", + language = "en-GB", diagnosticSeverity = "information", additionalRules = { enablePickyRules = true, @@ -253,13 +270,16 @@ lspconfig["pyright"].setup({ }, }) --- null_ls, special language servber allowing to use many tools +-- null_ls, special language server allowing to use many tools -- https://smarttech101.com/nvim-lsp-set-up-null-ls-for-beginners/ -- https://github.com/Clumsy-Coder/dotfiles/commit/e81edc159f3fc9ef189e0300d280461e75732a4b --- local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) -- Available builtins: https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md --- Check if package is available using :echo executable("shfmt") +-- XXX gq is broken for markdown files. gw is working +-- prettier is not able to do range formatting with markdown +-- https://github.com/jose-elias-alvarez/null-ls.nvim/issues/1131 null_ls.setup({ + on_attach = on_attach, + flags = lsp_flags, sources = { -- code actions null_ls.builtins.code_actions.gitsigns, @@ -267,7 +287,16 @@ null_ls.setup({ -- formatters null_ls.builtins.formatting.isort, null_ls.builtins.formatting.black, - null_ls.builtins.formatting.prettier, + null_ls.builtins.formatting.prettier.with({ + extra_args = { + "--print-width", + "80", + "--prose-wrap", + "always", + "--tab-width", + "2", + }, + }), null_ls.builtins.formatting.shfmt, null_ls.builtins.formatting.beautysh, null_ls.builtins.formatting.stylua.with({ @@ -297,20 +326,4 @@ null_ls.setup({ null_ls.builtins.hover.dictionary, -- dictionary }, diagnostics_format = "[#{c}] #{m} (#{s})", - -- XXX disabled due to some issues with default conf for yaml/ansible formatting - -- format file on save - -- you can reuse a shared lspconfig on_attach callback here - -- on_attach = function(client, bufnr) - -- if client.supports_method("textDocument/formatting") then - -- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - -- vim.api.nvim_create_autocmd("BufWritePre", { - -- group = augroup, - -- buffer = bufnr, - -- callback = function() - -- -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead - -- vim.lsp.buf.format({ bufnr = bufnr }) - -- end, - -- }) - -- end - -- end, }) From 7cfd3249f0397fd38db1298be03ce3ce442ee727 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 30 Nov 2022 01:02:18 +0100 Subject: [PATCH 0622/2080] plugins: reorganisation, disable automatic project root change. --- .config/nvim/lua/plugins.lua | 44 +++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index f902c64c..c202a7a2 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -109,6 +109,8 @@ return require("packer").startup(function(use) "williamboman/mason-lspconfig.nvim", -- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. -- Use different binaries as sources, like prettier + -- XXX null-ls is breaking gq mapping + -- https://github.com/jose-elias-alvarez/null-ls.nvim/issues/1131 "jose-elias-alvarez/null-ls.nvim", -- Using ltex-ls for spellchecking "vigoux/ltex-ls.nvim", @@ -126,27 +128,18 @@ return require("packer").startup(function(use) ft = "mail", }) - -- displays a popup with possible key bindings - -- https://github.com/LunarVim/LunarVim/blob/master/lua/lvim/core/which-key.lua + -- Clean spaces at EOL for lines that are edited + use("thirtythreeforty/lessspace.vim") + + -- Autopairs characters use({ - "folke/which-key.nvim", + "windwp/nvim-autopairs", + event = "InsertEnter", config = function() - require("config.which-key") + require("nvim-autopairs").setup({}) end, }) - -- Clean spaces at EOL for lines that are edited - use("thirtythreeforty/lessspace.vim") - - -- Autopairs - -- use({ - -- "windwp/nvim-autopairs", - -- event = "InsertEnter", - -- config = function() - -- require("nvim-autopairs").setup({}) - -- end, - -- }) - -- Easy change of surrounding stuff (tags, quotes...) -- :h nvim-surround.usage -- Alternative to vim-sandwich to get which-key working @@ -295,10 +288,9 @@ return require("packer").startup(function(use) "ahmedkhalf/project.nvim", config = function() require("project_nvim").setup({ - silent_chdir = true, - -- your configuration comes here - -- or leave it empty to use the default settings - -- refer to the configuration section below + -- :ProjectRoot is required to switch project + manual_mode = true, + silent_chdir = false, }) require("telescope").load_extension("projects") vim.keymap.set("n", "<c-p>", "<cmd>:lua require('telescope').extensions.projects.projects{}<cr>", {}) @@ -410,6 +402,16 @@ return require("packer").startup(function(use) }) -- UI, UX, look and fgeel good + + -- displays a popup with possible key bindings + -- https://github.com/LunarVim/LunarVim/blob/master/lua/lvim/core/which-key.lua + use({ + "folke/which-key.nvim", + config = function() + require("config.which-key") + end, + }) + use({ -- status line "nvim-lualine/lualine.nvim", @@ -421,7 +423,7 @@ return require("packer").startup(function(use) -- XXX matching keywords and {[], are underlined, not very nice -- "Mofiqul/dracula.nvim", -- "rafamadriz/neon", - 'folke/tokyonight.nvim', + "folke/tokyonight.nvim", -- "andersevenrud/nordic.nvim", -- "shaunsingh/nord.nvim", -- "Th3Whit3Wolf/one-nvim", From 8b9507987bb49846f2094b939c98fef9447883eb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 30 Nov 2022 01:38:31 +0100 Subject: [PATCH 0623/2080] vim: use dropdown for telescope, update Alpha menu --- .config/nvim/lua/config/which-key.lua | 1 + .config/nvim/lua/plugins.lua | 38 ++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index efc786e1..f372ca8b 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -177,6 +177,7 @@ local mappings = { p = { "<cmd>Telescope projects<cr>", "Projects" }, r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" }, R = { "<cmd>Telescope registers<cr>", "Registers" }, + s = { "<cmd>SessionManager load_session<cr>", "Sessions" }, t = { "<cmd>Telescope live_grep<cr>", "Text" }, k = { "<cmd>Telescope keymaps<cr>", "Keymaps" }, C = { "<cmd>Telescope commands<cr>", "Commands" }, diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index c202a7a2..7accf2b7 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -176,10 +176,22 @@ return require("packer").startup(function(use) telescope.setup({ defaults = { mappings = { + -- XXX to be removed if not used i = { ["<c-t>"] = trouble.open_with_trouble }, n = { ["<c-t>"] = trouble.open_with_trouble }, }, }, + pickers = { + find_files = { + theme = "dropdown", + }, + live_grep = { + theme = "dropdown", + }, + oldfiles = { + theme = "dropdown", + }, + }, extensions = { yank_history = { layout_strategy = "vertical", @@ -365,7 +377,10 @@ return require("packer").startup(function(use) use({ "Shatur/neovim-session-manager", config = function() - require("session_manager").setup({}) + require("session_manager").setup({ + -- Do not autoload previous session + autoload_mode = require("session_manager.config").AutoloadMode.Disabled, + }) local config_group = vim.api.nvim_create_augroup("MyConfigGroup", {}) -- A global group for all your config autocommands vim.api.nvim_create_autocmd({ "User" }, { @@ -485,9 +500,24 @@ return require("packer").startup(function(use) "goolord/alpha-nvim", requires = { "kyazdani42/nvim-web-devicons" }, config = function() - -- startify, dashboard - -- XXX shortcuts are not aligned with dashboard theme - require("alpha").setup(require("alpha.themes.startify").config) + local alpha = require("alpha") + local dashboard = require("alpha.themes.dashboard") + dashboard.section.buttons.val = { + dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"), + dashboard.button("q", " Quit NVIM", ":qa<CR>"), + dashboard.button("SPC s f", " Find file"), + dashboard.button("SPC s r", " Recently opened files"), + dashboard.button("SPC s t", " Find text"), + dashboard.button("SPC s p", " Jump to project"), + dashboard.button("SPC s s", " Find old sessions"), + } + local handle = io.popen("fortune") + local fortune = handle:read("*a") + handle:close() + dashboard.section.footer.val = fortune + dashboard.config.opts.noautocmd = true + vim.cmd([[autocmd User AlphaReady echo 'ready']]) + alpha.setup(dashboard.config) end, }) From 5cb9a6ff21255b55feff6d81de36e8c16aaea282 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Wed, 30 Nov 2022 01:42:34 +0100 Subject: [PATCH 0624/2080] May consider nvim-telescope/telescope-frecency --- .config/nvim/lua/plugins.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 7accf2b7..01179f87 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -167,6 +167,7 @@ return require("packer").startup(function(use) -- Use :Telescope -- https://alpha2phi.medium.com/neovim-for-beginners-fuzzy-file-search-part-2-2aab95fe8cfe + -- XXX Consider https://github.com/nvim-telescope/telescope-frecency.nvim use({ "nvim-telescope/telescope.nvim", config = function() From e345a094d1555af237616c1c52c1bd4cd7447a9e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 30 Nov 2022 09:31:28 +0100 Subject: [PATCH 0625/2080] nvim: follow tag 1 for noice --- .config/nvim/lua/plugins.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 01179f87..af82a9b7 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -465,6 +465,7 @@ return require("packer").startup(function(use) -- Notifications, Messages, cmdline, pop up menu use({ "folke/noice.nvim", + tag = "v1.*", config = function() require("noice").setup({ lsp = { From 1c685d6684c971fb0f10c5fee4ebd3a6a9f00af3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 2 Dec 2022 09:34:19 +0100 Subject: [PATCH 0626/2080] Rename .mbsyncrc##os.Darwin,hostname.Baptistes-MBP to .mbsyncrc##os.Darwin --- ...ncrc##os.Darwin,hostname.Baptistes-MBP => .mbsyncrc##os.Darwin | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .mbsyncrc##os.Darwin,hostname.Baptistes-MBP => .mbsyncrc##os.Darwin (100%) diff --git a/.mbsyncrc##os.Darwin,hostname.Baptistes-MBP b/.mbsyncrc##os.Darwin similarity index 100% rename from .mbsyncrc##os.Darwin,hostname.Baptistes-MBP rename to .mbsyncrc##os.Darwin From 5ba21363c476996371a60fbed46dfc042ba2a8eb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 1 Dec 2022 08:48:25 +0100 Subject: [PATCH 0627/2080] lsp: manage dictionnaries differently --- .config/nvim/lua/config/lsp.lua | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index a17c29be..1bb1f6d8 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -97,8 +97,9 @@ local on_attach = function(client, bufnr) end local cursor_pos = api.nvim_win_get_cursor(0) - if (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) - and #diagnostic.get() > 0 + if + (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) + and #diagnostic.get() > 0 then diagnostic.open_float(nil, float_opts) end @@ -144,7 +145,7 @@ end -- merge the defaults lspconfig provides with the capabilities nvim-cmp adds local lsp_defaults = lspconfig.util.default_config lsp_defaults.capabilities = -vim.tbl_deep_extend("force", lsp_defaults.capabilities, require("cmp_nvim_lsp").default_capabilities()) + vim.tbl_deep_extend("force", lsp_defaults.capabilities, require("cmp_nvim_lsp").default_capabilities()) local lsp_flags = { -- This is the default in Nvim 0.7+ @@ -179,26 +180,10 @@ require("ltex-ls").setup({ }, disabledRules = { en = { "TOO_LONG_SENTENCE" }, + ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S" }, fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, }, - dictionary = (function() - local files = {} - for _, file in ipairs(vim.api.nvim_get_runtime_file("spell/*.add", true)) do - local lang = vim.fn.fnamemodify(file, ":t:r:r") -- Because 'spellfile' is .{encoding}.add - local fullpath = vim.fs.normalize(file, ":p") - files[lang] = { ":" .. fullpath } - end - - if files.default then - for lang, _ in pairs(files) do - if lang ~= "default" then - vim.list_extend(files[lang], files.default, 1, #files.default) - end - end - files.default = nil - end - return files - end)(), + dictionary = { ["en-GB"] = { ":" .. fn.stdpath("config") .. "/words.txt" } }, }, }, }) From 4e35e1fad30a6c164c06f2a93fb4dbf8e356e98e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 1 Dec 2022 08:49:41 +0100 Subject: [PATCH 0628/2080] which-key: disable some conflicting keymaps, merge Trouble with Treesitter. --- .config/nvim/lua/config/which-key.lua | 31 +++++++++++++-------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index f372ca8b..d996da3e 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -89,8 +89,10 @@ local mappings = { "Undo Stage Hunk", }, o = { "<cmd>Telescope git_status<cr>", "Open changed file" }, - b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, - c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" }, + -- XXX conflicts with <Plug>(comment_toggle_blockwise) + -- b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, + -- XXX conflicts with <Plug>(comment_toggle_linewise) + -- c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" }, C = { -- Need to add something for trouble "<cmd>Telescope git_bcommits<cr>", @@ -122,11 +124,12 @@ local mappings = { q = { vim.diagnostic.setloclist, "Quickfix" }, r = { vim.lsp.buf.rename, "Rename" }, s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" }, - S = { - "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", - "Workspace Symbols", - w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, - }, + -- XXX Conflicting keymap + -- S = { + -- "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", + -- "Workspace Symbols", + -- w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, + -- }, }, -- Logs L = { @@ -187,22 +190,18 @@ local mappings = { }, y = { "<cmd>Telescope yank_history<cr>", "Yank history" }, }, - -- Trouble + -- Trouble + treesitter to avoid conflicting keymap on T t = { - name = "Trouble", + name = "Troubleshoot document", d = { "<cmd>TroubleToggle document_diagnostics<cr>", "Document diagnostics" }, + i = { "<cmd>TSConfigInfo<cr>", "Info about Treesitter" }, l = { "<cmd>TroubleToggle loclist<cr>", "Toogle loclist" }, - o = { "<cmd>TroubleToggle<cr>", "Toogle window" }, + o = { "<cmd>TroubleToggle<cr>", "Toogle Trouble" }, + p = { "<cmd>TSConfigInfo<cr>", "Treesitter Playground" }, q = { "<cmd>TroubleToggle quickfix<cr>", "Toogle quickfix" }, t = { "<cmd>TroubleToggle lsp_references<cr>", "Toogle LSP references" }, w = { "<cmd>TroubleToggle workspace_diagnostics<cr>", "Workspace diagnostics" }, }, - -- Treesitter - T = { - name = "Treesitter", - p = { "<cmd>TSConfigInfo<cr>", "Playground" }, - i = { "<cmd>TSConfigInfo<cr>", "Info" }, - }, } -- Mapping for visual mode From 8788ac09ec8ebe8d49f2a88886714ac174e34a38 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 1 Dec 2022 08:50:21 +0100 Subject: [PATCH 0629/2080] init.lua: update tasks. --- .config/nvim/init.lua | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index f2cbd26a..db092c28 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -14,12 +14,8 @@ local keymap = vim.keymap local opt = vim.opt -- Missing {{{ --- * Spell: check using ltex, allowing to add exception to a custom file --- * Keymaps: Look for possibly duplicated keymaps --- * Keympas: manage all mappings centrally +-- * Keymaps: Fix all duplicated keymaps -- * Test Neorg: https://github.com/nvim-neorg/neorg --- * Fix treesitter usage --- * LSP: show attributes list when adding parameters in a function call -- * mutt/mail setup: -- * Completion from address from khard -- * https://opensource.com/article/20/1/vim-email-calendar From 1cf2b63daa5cf43520dc331be3ae50a1f699f474 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 1 Dec 2022 08:50:34 +0100 Subject: [PATCH 0630/2080] plugins: disable lessspace in mails, disable auto open of Trouble, creating issues. --- .config/nvim/lua/plugins.lua | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index af82a9b7..6b3c2393 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -129,7 +129,13 @@ return require("packer").startup(function(use) }) -- Clean spaces at EOL for lines that are edited - use("thirtythreeforty/lessspace.vim") + -- XXX try to find a lua-powered alternative + use({ + "thirtythreeforty/lessspace.vim", + config = function() + vim.g.lessspace_blacklist = { "diff", "mail" } + end, + }) -- Autopairs characters use({ @@ -209,8 +215,9 @@ return require("packer").startup(function(use) requires = "kyazdani42/nvim-web-devicons", config = function() require("trouble").setup({ - auto_open = true, -- automatically open the list when you have diagnostics - auto_close = true, -- automatically close the list when you have no diagnostics + -- XXX currently disabled, causing too many errors + auto_open = false, -- automatically open the list when you have diagnostics + auto_close = false, -- automatically close the list when you have no diagnostics }) vim.keymap.set("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", { silent = true, noremap = true }) end, From 13f6099d5a6a1f4dec3c6b56073d7d916eb95997 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 2 Dec 2022 16:48:06 +0100 Subject: [PATCH 0631/2080] Import nix config See https://gist.github.com/jmatsushita/5c50ef14b4b96cb24ae5268dab613050 --- .config/configuration.nix | 57 +++++++++++++++++++++++++++++++++++++++ .config/flake.nix | 52 +++++++++++++++++++++++++++++++++++ .config/home.nix | 53 ++++++++++++++++++++++++++++++++++++ .config/nix/nix.conf | 1 + 4 files changed, 163 insertions(+) create mode 100644 .config/configuration.nix create mode 100644 .config/flake.nix create mode 100644 .config/home.nix create mode 100644 .config/nix/nix.conf diff --git a/.config/configuration.nix b/.config/configuration.nix new file mode 100644 index 00000000..ccc64e64 --- /dev/null +++ b/.config/configuration.nix @@ -0,0 +1,57 @@ +{ pkgs, lib, ... }: +{ + # Nix configuration ------------------------------------------------------------------------------ + nix.settings.substituters = [ + "https://cache.nixos.org/" + ]; + nix.settings.trusted-public-keys = [ + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + ]; + nix.settings.trusted-users = [ + "@admin" + ]; + nix.configureBuildUsers = true; + + # Enable experimental nix command and flakes + # nix.package = pkgs.nixUnstable; + nix.extraOptions = '' + auto-optimise-store = true + experimental-features = nix-command flakes + ''; + + # Create /etc/bashrc that loads the nix-darwin environment. + programs.zsh.enable = true; + + # Auto upgrade nix package and the daemon service. + services.nix-daemon.enable = true; + + # Apps + # `home-manager` currently has issues adding them to `~/Applications` + # Issue: https://github.com/nix-community/home-manager/issues/1341 + environment.systemPackages = with pkgs; [ + kitty + terminal-notifier + ]; + + # https://github.com/nix-community/home-manager/issues/423 + # environment.variables = { + # TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo"; + # }; + programs.nix-index.enable = true; + + # Fonts + fonts.fontDir.enable = true; + # https://github.com/lightdiscord/nix-nerd-fonts-overlay + # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 + fonts.fonts = with pkgs; [ + recursive + (nerdfonts.override { fonts = [ "CascadiaCode" ]; }) + ]; + + # Keyboard + system.keyboard.enableKeyMapping = true; + system.keyboard.remapCapsLockToEscape = true; + + # Add ability to used TouchID for sudo authentication + # security.pam.enableSudoTouchIdAuth = true; +} diff --git a/.config/flake.nix b/.config/flake.nix new file mode 100644 index 00000000..746bc5c2 --- /dev/null +++ b/.config/flake.nix @@ -0,0 +1,52 @@ +{ + description = "Baptiste's darwin system"; + + inputs = { + # Package sets + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; + # nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + + # Environment/system management + darwin.url = "github:lnl7/nix-darwin/master"; + darwin.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + + # Other sources + # comma = { url = github:Shopify/comma; flake = false; }; + + }; + + outputs = { self, darwin, nixpkgs, home-manager, ... }@inputs: + let + + inherit (darwin.lib) darwinSystem; + # inherit (inputs.nixpkgs.lib) attrValues makeOverridable optionalAttrs singleton; + + # Configuration for `nixpkgs` + nixpkgsConfig = { + config = { allowUnfree = true; }; + }; + in + { + # `nix-darwin` configs + darwinConfigurations = rec { + work = darwinSystem { + system = "x86_64-darwin"; + modules = [ + # Main `nix-darwin` config + ./configuration.nix + # `home-manager` module + home-manager.darwinModules.home-manager + { + nixpkgs = nixpkgsConfig; + # `home-manager` config + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.baptiste = import ./home.nix; + } + ]; + }; + }; + }; +} diff --git a/.config/home.nix b/.config/home.nix new file mode 100644 index 00000000..8742d4da --- /dev/null +++ b/.config/home.nix @@ -0,0 +1,53 @@ +{ config, pkgs, lib, ... }: + +{ + home.stateVersion = "22.11"; + + # Direnv, load and unload environment variables depending on the current directory. + # https://direnv.net + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.direnv.enable + programs.direnv.enable = true; + programs.direnv.nix-direnv.enable = true; + + # Htop + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.htop.enable + programs.htop.enable = true; + programs.htop.settings.show_program_path = true; + + home.packages = with pkgs; [ + # Some basics + coreutils + curl + wget + + # Dev stuff + # (agda.withPackages (p: [ p.standard-library ])) + jq + nodejs + + # Useful nix related tools + # cachix # adding/managing alternative binary caches hosted by Cachix + # comma # run software from without installing it + # niv # easy dependency management for nix projects + # nodePackages.node2nix + + ] ++ lib.optionals stdenv.isDarwin [ + # cocoapods + m-cli # useful macOS CLI commands + ]; + + # Misc configuration files --------------------------------------------------------------------{{{ + + # https://docs.haskellstack.org/en/stable/yaml_configuration/#non-project-specific-config + # home.file.".stack/config.yaml".text = lib.generators.toYAML {} { + # templates = { + # scm-init = "git"; + # params = { + # author-name = "Your Name"; # config.programs.git.userName; + # author-email = "youremail@example.com"; # config.programs.git.userEmail; + # github-username = "yourusername"; + # }; + # }; + # nix.enable = true; + # }; +} diff --git a/.config/nix/nix.conf b/.config/nix/nix.conf new file mode 100644 index 00000000..c7d7291e --- /dev/null +++ b/.config/nix/nix.conf @@ -0,0 +1 @@ +experimental-features = nix-command flakes From a9aec41b50924575a8d05006c11768ae206260e5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 2 Dec 2022 17:59:51 +0100 Subject: [PATCH 0632/2080] Fix hostname in flake.nix --- .config/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/flake.nix b/.config/flake.nix index 746bc5c2..82b6f8a6 100644 --- a/.config/flake.nix +++ b/.config/flake.nix @@ -31,7 +31,7 @@ { # `nix-darwin` configs darwinConfigurations = rec { - work = darwinSystem { + Baptistes-MBP = darwinSystem { system = "x86_64-darwin"; modules = [ # Main `nix-darwin` config From b241c2ea1c13643c365dbce0573e20a226075853 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 13:54:58 +0100 Subject: [PATCH 0633/2080] configuration.nix: set default packages --- .config/configuration.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.config/configuration.nix b/.config/configuration.nix index ccc64e64..3360b5a7 100644 --- a/.config/configuration.nix +++ b/.config/configuration.nix @@ -30,7 +30,12 @@ # Issue: https://github.com/nix-community/home-manager/issues/1341 environment.systemPackages = with pkgs; [ kitty - terminal-notifier + # XXX only needed for darwin + # terminal-notifier + git + wget + vim + firefox ]; # https://github.com/nix-community/home-manager/issues/423 From 63c511b06fbb38ecf21a9d38a25e45dd20d5f2e8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 13:55:31 +0100 Subject: [PATCH 0634/2080] home.nix: comment stateVersion --- .config/home.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/home.nix b/.config/home.nix index 8742d4da..78dd7526 100644 --- a/.config/home.nix +++ b/.config/home.nix @@ -1,7 +1,8 @@ { config, pkgs, lib, ... }: { - home.stateVersion = "22.11"; + # XXX may be needed, but added fo flake.nix + # home.stateVersion = "22.11"; # Direnv, load and unload environment variables depending on the current directory. # https://direnv.net From 661648e3d31fd5816eb9cf0ce7fe88a83084592a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 13:56:58 +0100 Subject: [PATCH 0635/2080] flake.nix: look into supporting different OS --- .config/flake.nix | 52 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/.config/flake.nix b/.config/flake.nix index 82b6f8a6..c0f49ef8 100644 --- a/.config/flake.nix +++ b/.config/flake.nix @@ -1,23 +1,29 @@ { - description = "Baptiste's darwin system"; + # Inspirations + # - https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 + description = "Baptiste's systems"; inputs = { # Package sets - nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; + # XXX This is only for darwin, what about nixos systems? + # nixpkgs.url = (if pkgs.stdenv.isDarwn then "github:nixos/nixpkgs/nixpkgs-22.11-darwin" else "github:nixos/nixpkgs/nixos-22.11"); + # nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-22.11"; # nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - # Environment/system management + # macOS system configuration darwin.url = "github:lnl7/nix-darwin/master"; darwin.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - # Other sources - # comma = { url = github:Shopify/comma; flake = false; }; + # home-manager + home-manager.url = "github:nix-community/home-manager/release-22.11"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + # flake-utils + flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, darwin, nixpkgs, home-manager, ... }@inputs: + outputs = { self, darwin, nixpkgs, home-manager, flake-utils, ... }@inputs: let inherit (darwin.lib) darwinSystem; @@ -29,6 +35,35 @@ }; in { + # `home-manager` configs, for systems not running Nix OS + # homemManagerConfigurations = { + # import ./home-conf.nix { + # inherit (inputs) nixpkgs home-manager; + # nixosConfigs = inputs.self.nixosConfigurations; + # } + # } + + # `nixos` configs + nixosConfigurations = { + brutal = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + # Main config + ./configuration.nix + + # `home-manager` module + home-manager.nixosModules.home-manager + { + nixpkgs = nixpkgsConfig; + # `home-manager` config + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.baptiste = import ./home.nix; + } + ]; + }; + }; + # `nix-darwin` configs darwinConfigurations = rec { Baptistes-MBP = darwinSystem { @@ -36,6 +71,7 @@ modules = [ # Main `nix-darwin` config ./configuration.nix + # `home-manager` module home-manager.darwinModules.home-manager { From c6c45ff52d0dbc04c19811a8fa9b99451e5ba03e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 14:10:23 +0100 Subject: [PATCH 0636/2080] Do not ignore flake.lock --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6667a4da..90126a32 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ *.jex *.kbx *.lock +!flake.lock *.log *.mdb *.old From 35b992a337323fb70d8f202a972f1b7890170237 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 14:10:36 +0100 Subject: [PATCH 0637/2080] Import NIX.md --- NIX.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 NIX.md diff --git a/NIX.md b/NIX.md new file mode 100644 index 00000000..90290ae9 --- /dev/null +++ b/NIX.md @@ -0,0 +1,7 @@ +```shell +# Reaplying conf from /etc/nixos/configuration.nix +sudo nixos-rebuild switch +# Using flake-based conf for a specific system +cd ~/repos/dotfiles +nix build ".#nixosCofngurations.brutal.system" +``` From 0b07dedd0c96e72a604026218596253436d85dfa Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 14:22:43 +0100 Subject: [PATCH 0638/2080] fix? --- .config/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/flake.nix b/.config/flake.nix index c0f49ef8..da105ca9 100644 --- a/.config/flake.nix +++ b/.config/flake.nix @@ -45,7 +45,7 @@ # `nixos` configs nixosConfigurations = { - brutal = nixpkgs.lib.nixosSystem { + brutal = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ # Main config From 28de85cd5ab0d10e0db2d2dee99348f79200fb3c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 14:23:42 +0100 Subject: [PATCH 0639/2080] Inore vim swap files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 90126a32..20852c9c 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ *.autosave *.status *_history +*.swp *~ .*/cache/ .dotfiles/ From 6cd3fa3f13f62c7418c46cf2af761bf16ccf324a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 14:28:25 +0100 Subject: [PATCH 0640/2080] fix? --- .config/flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/flake.nix b/.config/flake.nix index da105ca9..f997026e 100644 --- a/.config/flake.nix +++ b/.config/flake.nix @@ -44,8 +44,8 @@ # } # `nixos` configs - nixosConfigurations = { - brutal = nixpkgs.lib.nixosSystem rec { + nixosConfigurations = rec { + brutal = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ # Main config From 33918f0605f3abc2a1780559c50e2131540c8cc5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 14:53:24 +0100 Subject: [PATCH 0641/2080] Import configuration for burtal --- .config/configuration-brutal.nix | 58 ++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .config/configuration-brutal.nix diff --git a/.config/configuration-brutal.nix b/.config/configuration-brutal.nix new file mode 100644 index 00000000..091dae74 --- /dev/null +++ b/.config/configuration-brutal.nix @@ -0,0 +1,58 @@ +{ pkgs, lib, ... }: +{ + # Nix configuration ------------------------------------------------------------------------------ + nix.settings.substituters = [ + "https://cache.nixos.org/" + ]; + nix.settings.trusted-public-keys = [ + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + ]; + nix.settings.trusted-users = [ + "@admin" + ]; + + # Enable experimental nix command and flakes + # nix.package = pkgs.nixUnstable; + nix.extraOptions = '' + auto-optimise-store = true + experimental-features = nix-command flakes + ''; + + # Create /etc/bashrc that loads the nix-darwin environment. + programs.zsh.enable = true; + + # Apps + # `home-manager` currently has issues adding them to `~/Applications` + # Issue: https://github.com/nix-community/home-manager/issues/1341 + environment.systemPackages = with pkgs; [ + kitty + # XXX only needed for darwin + # terminal-notifier + git + wget + vim + firefox + ]; + + # https://github.com/nix-community/home-manager/issues/423 + # environment.variables = { + # TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo"; + # }; + programs.nix-index.enable = true; + + # Fonts + fonts.fontDir.enable = true; + # https://github.com/lightdiscord/nix-nerd-fonts-overlay + # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 + fonts.fonts = with pkgs; [ + recursive + (nerdfonts.override { fonts = [ "CascadiaCode" ]; }) + ]; + + # Keyboard + system.keyboard.enableKeyMapping = true; + system.keyboard.remapCapsLockToEscape = true; + + # Add ability to used TouchID for sudo authentication + # security.pam.enableSudoTouchIdAuth = true; +} From f8023970361a1f4d6b6eef08575c3340a8ab0d8e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:08:14 +0100 Subject: [PATCH 0642/2080] Import conf from /etc/nixos/configuration.nix --- .config/configuration-brutal.nix | 108 ++++++++++++++++++++++++++++--- 1 file changed, 100 insertions(+), 8 deletions(-) diff --git a/.config/configuration-brutal.nix b/.config/configuration-brutal.nix index 091dae74..00501078 100644 --- a/.config/configuration-brutal.nix +++ b/.config/configuration-brutal.nix @@ -1,5 +1,95 @@ { pkgs, lib, ... }: { + # Conf that was previously in /etc/nixos/configuration.nix + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration-brutal.nix + ]; + + # Use system-boot + boot.loader.systemd-boot.enable = true; + # boot.loader.systemd-boot.consoleMode = "max"; + boot.loader.systemd-boot.consoleMode = "keep"; + networking.hostName = "brutal"; # Define your hostname. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + # Set your time zone. + time.timeZone = "Europe/Paris"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_GB.UTF-8"; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + # Enable the GNOME Desktop Environment. + # services.xserver.displayManager.gdm.enable = true; + services.xserver.displayManager.lightdm.enable = true; + # services.xserver.desktopManager.gnome.enable = true; + services.xserver.windowManager.i3.enable = true; + # services.xserver.windowManager.herbstluftwm.enable = true; + services.xserver.displayManager.defaultSession = "none+i3"; + + # Configure keymap in X11 + services.xserver.layout = "us"; + services.xserver.xkbOptions = "caps:escape"; # map caps to escape. + # "eurosign:e"; # map caps to escape. + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + # sound.enable = true; + hardware.pulseaudio.enable = true; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.baptiste = { + isNormalUser = true; + extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + # packages = with pkgs; [ + # firefox + # ]; + }; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = true; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "22.11"; # Did you read the comment? + + # Automatic upgrade + system.autoUpgrade.enable = true; + system.autoUpgrade.allowReboot = true; + # Nix configuration ------------------------------------------------------------------------------ nix.settings.substituters = [ "https://cache.nixos.org/" @@ -24,21 +114,23 @@ # Apps # `home-manager` currently has issues adding them to `~/Applications` # Issue: https://github.com/nix-community/home-manager/issues/1341 + # List packages installed in system profile. To search, run: + # $ nix search wget environment.systemPackages = with pkgs; [ - kitty - # XXX only needed for darwin - # terminal-notifier + firefox git - wget + kitty + lm_sensors + mcelog vim - firefox + wget ]; # https://github.com/nix-community/home-manager/issues/423 # environment.variables = { # TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo"; # }; - programs.nix-index.enable = true; + # programs.nix-index.enable = true; # Fonts fonts.fontDir.enable = true; @@ -50,8 +142,8 @@ ]; # Keyboard - system.keyboard.enableKeyMapping = true; - system.keyboard.remapCapsLockToEscape = true; + # system.keyboard.enableKeyMapping = true; + # system.keyboard.remapCapsLockToEscape = true; # Add ability to used TouchID for sudo authentication # security.pam.enableSudoTouchIdAuth = true; From 71e7c69130a9b88a9b0761ede733fe6b7b8f93fa Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:08:43 +0100 Subject: [PATCH 0643/2080] Home: add back stateversion --- .config/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/home.nix b/.config/home.nix index 78dd7526..70d483bd 100644 --- a/.config/home.nix +++ b/.config/home.nix @@ -2,7 +2,7 @@ { # XXX may be needed, but added fo flake.nix - # home.stateVersion = "22.11"; + home.stateVersion = "22.11"; # Direnv, load and unload environment variables depending on the current directory. # https://direnv.net From d2056ca8741c564626a302afb0f7045ad3c33902 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:09:12 +0100 Subject: [PATCH 0644/2080] Import hardware-configuration-brutal.nix --- .config/hardware-configuration-brutal.nix | 42 +++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .config/hardware-configuration-brutal.nix diff --git a/.config/hardware-configuration-brutal.nix b/.config/hardware-configuration-brutal.nix new file mode 100644 index 00000000..7b614f89 --- /dev/null +++ b/.config/hardware-configuration-brutal.nix @@ -0,0 +1,42 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "coretemp" "k10temp" "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-label/nixos"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-label/boot"; + fsType = "vfat"; + }; + + swapDevices = + [ { device = "/dev/disk/by-label/swap"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp5s0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + # high-resolution display + hardware.video.hidpi.enable = lib.mkDefault true; +} From 30341bac3622c8e72eaf5544e82eb8b25bc3c2c7 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:10:08 +0100 Subject: [PATCH 0645/2080] Use a custom conf file for brutal --- .config/flake.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.config/flake.nix b/.config/flake.nix index f997026e..18a02a3e 100644 --- a/.config/flake.nix +++ b/.config/flake.nix @@ -20,10 +20,11 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; # flake-utils - flake-utils.url = "github:numtide/flake-utils"; + # flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, darwin, nixpkgs, home-manager, flake-utils, ... }@inputs: + # outputs = { self, darwin, nixpkgs, home-manager, flake-utils, ... }@inputs: + outputs = { self, darwin, nixpkgs, home-manager, ... }@inputs: let inherit (darwin.lib) darwinSystem; @@ -44,12 +45,12 @@ # } # `nixos` configs - nixosConfigurations = rec { - brutal = nixpkgs.lib.nixosSystem { + nixosConfigurations = { + brutal = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ # Main config - ./configuration.nix + ./configuration-brutal.nix # `home-manager` module home-manager.nixosModules.home-manager @@ -61,6 +62,7 @@ home-manager.users.baptiste = import ./home.nix; } ]; + specialArgs = { inherit inputs; }; }; }; From 1d4e989f160d6da70fb1e794bbf25f75e2329de8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:21:17 +0100 Subject: [PATCH 0646/2080] Ignore result dir --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 20852c9c..69d43bc9 100644 --- a/.gitignore +++ b/.gitignore @@ -140,3 +140,4 @@ VirtualBox VMs code/ go/ tmp/ +.config/result From c3bd28d9627c8ed8ef464c6506a4064a50fc5486 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:23:06 +0100 Subject: [PATCH 0647/2080] Import flake.lock --- .config/flake.lock | 87 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .config/flake.lock diff --git a/.config/flake.lock b/.config/flake.lock new file mode 100644 index 00000000..4454f371 --- /dev/null +++ b/.config/flake.lock @@ -0,0 +1,87 @@ +{ + "nodes": { + "darwin": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1668784520, + "narHash": "sha256-gGgVAMwYPPmrfnvnoRi6OkEB5KRsNTb9uYzEceLdO/g=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "6349b99bc2b96ded34d068a88c7c5ced406b7f7f", + "type": "github" + }, + "original": { + "owner": "lnl7", + "ref": "master", + "repo": "nix-darwin", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1670059602, + "narHash": "sha256-mtgVnAjlYYjJr2wDnfz94kIefLl61Ww7cjCpLVhN/6Y=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "6b71989c0dc1c8d386086334290c094240d51798", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-22.11", + "repo": "home-manager", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1670009809, + "narHash": "sha256-yt/dQ32Vz4WenDLu4XeHbnXFxiHbTcnU0WwiLW5Ce6c=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "660e7737851506374da39c0fa550c202c824a17c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "darwin": "darwin", + "home-manager": "home-manager", + "nixpkgs": "nixpkgs" + } + }, + "utils": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} From 244083f09a9363d9b63796065c6ec91600e97365 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:23:22 +0100 Subject: [PATCH 0648/2080] Update doc on nix --- NIX.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/NIX.md b/NIX.md index 90290ae9..7dc7d19d 100644 --- a/NIX.md +++ b/NIX.md @@ -1,7 +1,29 @@ +# NixOS + +## Managing nixOS "centrally" + +Manage conf in /etc/nixos/configuration.nix + ```shell # Reaplying conf from /etc/nixos/configuration.nix sudo nixos-rebuild switch +``` + +## Managing using flake + +```shell # Using flake-based conf for a specific system cd ~/repos/dotfiles -nix build ".#nixosCofngurations.brutal.system" +# Rebuild all system conf +# Equivalent? to: sudo nixos-rebuild switch --flake . +nix build ".#nixosConfigurations.brutal.config.system.build.toplevel" +sudo result/bin/switch-to-configuration switch +# XXX not working +# nix build ".#nixosConfigurations.brutal.system" +# XXX not needed? +# nixos-rebuild build --flake '.#brutal' ``` + +## References + +https://github.com/gvolpe/nix-config From b46fb538882789f8ba23519cd65614a0f97e1d5b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:43:15 +0100 Subject: [PATCH 0649/2080] configuration: cleaning --- .config/configuration-brutal.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.config/configuration-brutal.nix b/.config/configuration-brutal.nix index 00501078..2b30194c 100644 --- a/.config/configuration-brutal.nix +++ b/.config/configuration-brutal.nix @@ -49,9 +49,6 @@ users.users.baptiste = { isNormalUser = true; extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. - # packages = with pkgs; [ - # firefox - # ]; }; # Some programs need SUID wrappers, can be configured further or are @@ -117,9 +114,7 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - firefox git - kitty lm_sensors mcelog vim From 0bdaa0bd667b832da9a73d06e1db01ccc115a212 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:47:20 +0100 Subject: [PATCH 0650/2080] home: start playing --- .config/home.nix | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/.config/home.nix b/.config/home.nix index 70d483bd..08c0076b 100644 --- a/.config/home.nix +++ b/.config/home.nix @@ -1,9 +1,16 @@ { config, pkgs, lib, ... }: { - # XXX may be needed, but added fo flake.nix home.stateVersion = "22.11"; + # Home Manager needs a bit of information about you and the + # paths it should manage. + # home.username = "baptiste"; + # home.homeDirectory = "/home/baptiste"; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; + # Direnv, load and unload environment variables depending on the current directory. # https://direnv.net # https://rycee.gitlab.io/home-manager/options.html#opt-programs.direnv.enable @@ -17,20 +24,24 @@ home.packages = with pkgs; [ # Some basics + # XXX may be specific to darwin coreutils curl wget + neovim + gnupg + mutt + + # Cool stuff + fortune # Dev stuff - # (agda.withPackages (p: [ p.standard-library ])) jq - nodejs + # nodejs - # Useful nix related tools - # cachix # adding/managing alternative binary caches hosted by Cachix - # comma # run software from without installing it - # niv # easy dependency management for nix projects - # nodePackages.node2nix + # Useful graphical tools + firefox + kitty ] ++ lib.optionals stdenv.isDarwin [ # cocoapods From 9a14a3fedbdb0e30f4ebbf0550b33f82fcb9af52 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:47:40 +0100 Subject: [PATCH 0651/2080] flake: doc --- .config/flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/flake.nix b/.config/flake.nix index 18a02a3e..cf7fcc48 100644 --- a/.config/flake.nix +++ b/.config/flake.nix @@ -58,6 +58,7 @@ nixpkgs = nixpkgsConfig; # `home-manager` config home-manager.useGlobalPkgs = true; + # install packages to /etc/profiles home-manager.useUserPackages = true; home-manager.users.baptiste = import ./home.nix; } From c4255a91ea257ac3b529610bbf4a7a2e7bcf9d0b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 15:47:58 +0100 Subject: [PATCH 0652/2080] Update noes --- NIX.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/NIX.md b/NIX.md index 7dc7d19d..42650054 100644 --- a/NIX.md +++ b/NIX.md @@ -13,7 +13,7 @@ sudo nixos-rebuild switch ```shell # Using flake-based conf for a specific system -cd ~/repos/dotfiles +cd ~/repos/dotfiles/.config # Rebuild all system conf # Equivalent? to: sudo nixos-rebuild switch --flake . nix build ".#nixosConfigurations.brutal.config.system.build.toplevel" @@ -22,8 +22,18 @@ sudo result/bin/switch-to-configuration switch # nix build ".#nixosConfigurations.brutal.system" # XXX not needed? # nixos-rebuild build --flake '.#brutal' +home-manager switch ``` ## References +### Conf files + https://github.com/gvolpe/nix-config +https://github.com/shaunsingh/nix-darwin-dotfiles/blob/main/flake.nix +https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 + +### Home manager + +https://nixos.wiki/wiki/Home_Manager +https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix From 40b8a7085cb4e7194d489b19b2d7500b41da8f2b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 16:37:05 +0100 Subject: [PATCH 0653/2080] Move nix files to the root dir --- .gitignore | 2 +- .config/configuration-brutal.nix => configuration-brutal.nix | 0 .config/configuration.nix => configuration.nix | 0 .config/flake.lock => flake.lock | 0 .config/flake.nix => flake.nix | 0 ...onfiguration-brutal.nix => hardware-configuration-brutal.nix | 0 .config/home.nix => home.nix | 0 7 files changed, 1 insertion(+), 1 deletion(-) rename .config/configuration-brutal.nix => configuration-brutal.nix (100%) rename .config/configuration.nix => configuration.nix (100%) rename .config/flake.lock => flake.lock (100%) rename .config/flake.nix => flake.nix (100%) rename .config/hardware-configuration-brutal.nix => hardware-configuration-brutal.nix (100%) rename .config/home.nix => home.nix (100%) diff --git a/.gitignore b/.gitignore index 69d43bc9..e1cdc610 100644 --- a/.gitignore +++ b/.gitignore @@ -140,4 +140,4 @@ VirtualBox VMs code/ go/ tmp/ -.config/result +result diff --git a/.config/configuration-brutal.nix b/configuration-brutal.nix similarity index 100% rename from .config/configuration-brutal.nix rename to configuration-brutal.nix diff --git a/.config/configuration.nix b/configuration.nix similarity index 100% rename from .config/configuration.nix rename to configuration.nix diff --git a/.config/flake.lock b/flake.lock similarity index 100% rename from .config/flake.lock rename to flake.lock diff --git a/.config/flake.nix b/flake.nix similarity index 100% rename from .config/flake.nix rename to flake.nix diff --git a/.config/hardware-configuration-brutal.nix b/hardware-configuration-brutal.nix similarity index 100% rename from .config/hardware-configuration-brutal.nix rename to hardware-configuration-brutal.nix diff --git a/.config/home.nix b/home.nix similarity index 100% rename from .config/home.nix rename to home.nix From 8f3ed21cf10a0c8f33e6a64cc21af58ef71a95f9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 16:47:54 +0100 Subject: [PATCH 0654/2080] Update doc --- NIX.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/NIX.md b/NIX.md index 42650054..681da799 100644 --- a/NIX.md +++ b/NIX.md @@ -20,11 +20,12 @@ nix build ".#nixosConfigurations.brutal.config.system.build.toplevel" sudo result/bin/switch-to-configuration switch # XXX not working # nix build ".#nixosConfigurations.brutal.system" -# XXX not needed? -# nixos-rebuild build --flake '.#brutal' -home-manager switch ``` +## Searching for a package + +https://search.nixos.org/packages + ## References ### Conf files @@ -32,6 +33,8 @@ home-manager switch https://github.com/gvolpe/nix-config https://github.com/shaunsingh/nix-darwin-dotfiles/blob/main/flake.nix https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 +https://github.com/wvhulle/nixosConfigurations +https://github.com/ArdanaLabs/ArdanaTenant ### Home manager From 95c7e93dc0eb7b4ce89314ec6f6c842db3bd3fea Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 16:48:05 +0100 Subject: [PATCH 0655/2080] home.nix: start installing apps --- home.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/home.nix b/home.nix index 08c0076b..8268b0ab 100644 --- a/home.nix +++ b/home.nix @@ -1,3 +1,13 @@ +## Todo +# - install github cli +# - kitty config +# - neovim config +# - nextcloud +# - i3 config +# - zsh as default shell +# - zsh config +# - firefox: disable password saving +# - access email (mutt, isync, notmuch) { config, pkgs, lib, ... }: { @@ -24,8 +34,6 @@ home.packages = with pkgs; [ # Some basics - # XXX may be specific to darwin - coreutils curl wget neovim @@ -34,6 +42,7 @@ # Cool stuff fortune + gh # Dev stuff jq @@ -44,7 +53,7 @@ kitty ] ++ lib.optionals stdenv.isDarwin [ - # cocoapods + coreutils m-cli # useful macOS CLI commands ]; From ac56cc4331a47133f8fcaa751f5042f5c55a91c4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 17:33:25 +0100 Subject: [PATCH 0656/2080] Warn about nix --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index fa574c0a..158cae62 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ dotfiles -------- +> Repository being converted to management using nix home-manager + ## About My messy dotfiles. WIP of course :) From 197a24bd5594ed6dbd05c517d7b9d3eae2bf9b2d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 17:33:38 +0100 Subject: [PATCH 0657/2080] Configure kitty, using malob conf --- flake.nix | 29 ++++++-- home.nix | 26 ++----- home/colors.nix | 107 ++++++++++++++++++++++++++++ home/kitty.nix | 61 ++++++++++++++++ modules/home/colors/colorscheme.nix | 86 ++++++++++++++++++++++ modules/home/colors/default.nix | 13 ++++ 6 files changed, 298 insertions(+), 24 deletions(-) create mode 100644 home/colors.nix create mode 100644 home/kitty.nix create mode 100644 modules/home/colors/colorscheme.nix create mode 100644 modules/home/colors/default.nix diff --git a/flake.nix b/flake.nix index cf7fcc48..f39a944e 100644 --- a/flake.nix +++ b/flake.nix @@ -18,24 +18,39 @@ # home-manager home-manager.url = "github:nix-community/home-manager/release-22.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - # flake-utils # flake-utils.url = "github:numtide/flake-utils"; }; - # outputs = { self, darwin, nixpkgs, home-manager, flake-utils, ... }@inputs: outputs = { self, darwin, nixpkgs, home-manager, ... }@inputs: let - inherit (darwin.lib) darwinSystem; # inherit (inputs.nixpkgs.lib) attrValues makeOverridable optionalAttrs singleton; + # inherit (self.lib) attrValues makeOverridable optionalAttrs singleton; + inherit (nixpkgs.lib) attrValues; + + homeStateVersion = "22.11"; # Configuration for `nixpkgs` nixpkgsConfig = { config = { allowUnfree = true; }; }; + + primaryUserDefaults = { + username = "baptiste"; + fullName = "Baptiste Grenier"; + email = "baptiste@bapt.name"; + nixConfigDirectory = "/home/baptiste/repos/dotfiles/"; + }; in { + homeManagerModules = { + # https://github.com/malob/nixpkgs + my-colors = import ./home/colors.nix; + my-kitty = import ./home/kitty.nix; + my-main = import ./home.nix; + colors = import ./modules/home/colors; + }; # `home-manager` configs, for systems not running Nix OS # homemManagerConfigurations = { # import ./home-conf.nix { @@ -60,16 +75,20 @@ home-manager.useGlobalPkgs = true; # install packages to /etc/profiles home-manager.useUserPackages = true; - home-manager.users.baptiste = import ./home.nix; + home-manager.users.baptiste = { + imports = attrValues self.homeManagerModules; + }; } ]; + # inherit homeStateVersion; + # homeModules = attrValues self.homeManagerModules; specialArgs = { inherit inputs; }; }; }; # `nix-darwin` configs darwinConfigurations = rec { - Baptistes-MBP = darwinSystem { + Baptistes-MBP = darwin.lib.darwinSystem { system = "x86_64-darwin"; modules = [ # Main `nix-darwin` config diff --git a/home.nix b/home.nix index 8268b0ab..379b19a0 100644 --- a/home.nix +++ b/home.nix @@ -1,11 +1,12 @@ ## Todo -# - install github cli # - kitty config -# - neovim config -# - nextcloud -# - i3 config +# - neovim config: minimal: colors for nix # - zsh as default shell # - zsh config +# - keybase +# - nextcloud +# - tmux config +# - i3 config: minimal: cpu temp in bar # - firefox: disable password saving # - access email (mutt, isync, notmuch) { config, pkgs, lib, ... }: @@ -43,6 +44,7 @@ # Cool stuff fortune gh + tmux # Dev stuff jq @@ -50,25 +52,11 @@ # Useful graphical tools firefox - kitty - ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands ]; # Misc configuration files --------------------------------------------------------------------{{{ - - # https://docs.haskellstack.org/en/stable/yaml_configuration/#non-project-specific-config - # home.file.".stack/config.yaml".text = lib.generators.toYAML {} { - # templates = { - # scm-init = "git"; - # params = { - # author-name = "Your Name"; # config.programs.git.userName; - # author-email = "youremail@example.com"; # config.programs.git.userEmail; - # github-username = "yourusername"; - # }; - # }; - # nix.enable = true; - # }; + # {{{ } diff --git a/home/colors.nix b/home/colors.nix new file mode 100644 index 00000000..c582a980 --- /dev/null +++ b/home/colors.nix @@ -0,0 +1,107 @@ +# Colors from: https://ethanschoonover.com/solarized + +# SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB +# --------- ------- ---- ------- ----------- ---------- ----------- ----------- +# base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 +# base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 +# base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 +# base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 +# base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 +# base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 +# base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 +# base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 +# yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 +# orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 +# red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 +# magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 +# violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 +# blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 +# cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 +# green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 + +{ config, ... }: + +{ + colors.solarized-light = { + colors = { + color0 = "#073642"; + color1 = "#dc322f"; + color2 = "#859900"; + color3 = "#b58900"; + color4 = "#268bd2"; + color5 = "#d33682"; + color6 = "#2aa198"; + color7 = "#eee8d5"; + color8 = "#002b36"; + color9 = "#cb4b16"; + color10 = "#586e75"; + color11 = "#657b83"; + color12 = "#839496"; + color13 = "#6c71c4"; + color14 = "#93a1a1"; + color15 = "#fdf6e3"; + }; + + namedColors = { + # Solarized names + base03 = "color8"; + base02 = "color0"; + base01 = "color10"; + base00 = "color11"; + base0 = "color12"; + base1 = "color14"; + base2 = "color7"; + base3 = "color15"; + yellow = "color3"; + orange = "color9"; + red = "color1"; + magenta = "color5"; + violet = "color13"; + blue = "color4"; + cyan = "color6"; + green = "color2"; + }; + + terminal = { + bg = "base3"; + fg = "base00"; + cursorBg = "blue"; + cursorFg = "base3"; + selectionBg = "base1"; + selectionFg = "base3"; + }; + + pkgThemes.kitty = { + url_color = "blue"; + tab_bar_background = "base2"; + active_tab_background = "green"; + active_tab_foreground = "base3"; + inactive_tab_background = "base01"; + inactive_tab_foreground = "base3"; + }; + }; + + colors.solarized-dark = { + inherit (config.colors.solarized-light) colors namedColors; + + terminal = { + bg = "base03"; + fg = "base0"; + cursorBg = "blue"; + cursorFg = "base03"; + selectionBg = "base01"; + selectionFg = "base03"; + }; + + pkgThemes.kitty = { + inherit (config.colors.solarized-light.pkgThemes.kitty) + url_color + active_tab_background + active_tab_foreground + inactive_tab_background; + + tab_bar_background = "base02"; + inactive_tab_foreground = "base1"; + }; + }; +} diff --git a/home/kitty.nix b/home/kitty.nix new file mode 100644 index 00000000..afca74bf --- /dev/null +++ b/home/kitty.nix @@ -0,0 +1,61 @@ +{ config, lib, pkgs, ... }: + +{ + # Kitty terminal + # https://sw.kovidgoyal.net/kitty/conf.html + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.kitty.enable + programs.kitty.enable = true; + + # General config ----------------------------------------------------------------------------- {{{ + + programs.kitty.settings = { + # https://fsd.it/shop/fonts/pragmatapro/ + font_family = "Cascadia Code PL"; + font_size = "14.0"; + adjust_line_height = "140%"; + disable_ligatures = "cursor"; # disable ligatures when cursor is on them + + # Window layout + hide_window_decorations = "titlebar-only"; + window_padding_width = "10"; + + # Tab bar + tab_bar_edge = "top"; + tab_bar_style = "powerline"; + tab_title_template = "Tab {index}: {title}"; + active_tab_font_style = "bold"; + inactive_tab_font_style = "normal"; + tab_activity_symbol = ""; + }; + + # Change the style of italic font variants + programs.kitty.extraConfig = '' + font_features PragmataProMonoLiga-Italic +ss06 + font_features PragmataProMonoLiga-BoldItalic +ss07 + modify_font underline_thickness 400% + modify_font underline_position 2 + ''; + + # programs.kitty.extras.useSymbolsFromNerdFont = "JetBrainsMono Nerd Font"; + # }}} + + # Colors config ------------------------------------------------------------------------------ {{{ + # programs.kitty.extras.colors = { + # enable = true; + + # # Background dependent colors + # dark = config.colors.solarized-dark.pkgThemes.kitty; + # light = config.colors.solarized-light.pkgThemes.kitty; + # }; + + # programs.fish.functions.set-term-colors = { + # body = "term-background $term_background"; + # onVariable = "term_background"; + # }; + # programs.fish.interactiveShellInit = '' + # # Set term colors based on value of `$term_backdround` when shell starts up. + # set-term-colors + # ''; + # }}} +} +# vim: foldmethod=marker diff --git a/modules/home/colors/colorscheme.nix b/modules/home/colors/colorscheme.nix new file mode 100644 index 00000000..2f0ede87 --- /dev/null +++ b/modules/home/colors/colorscheme.nix @@ -0,0 +1,86 @@ +{ name, config, lib, ... }: + +let + inherit (lib) + attrNames + attrValues + hasPrefix + listToAttrs + literalExpression + mapAttrs + mkOption + range + types; + + baseColorOptions = listToAttrs (map + (i: { name = "color${toString i}"; value = mkOption { type = types.str; }; }) + (range 0 15) + ); + + mkColorOption = args: mkOption (args // { + type = types.enum (attrNames config.colors ++ attrValues config.colors ++ attrNames config.namedColors); + apply = v: config.colors.${v} or config.namedColors.${v} or v; + }); + + kittyBaseColorOptions = listToAttrs (map + (i: { name = "color${toString i}"; value = mkColorOption { default = "color${toString i}"; }; }) + (range 0 15) + ); + +in + +{ + options = { + name = mkOption { + type = types.str; + default = name; + defaultText = literalExpression "<name>"; + }; + + colors = mkOption { + type = types.submodule { + options = baseColorOptions; + }; + }; + + namedColors = mkOption { + type = types.attrsOf (types.enum (attrNames config.colors ++ attrValues config.colors)); + default = {}; + apply = mapAttrs (_: v: if hasPrefix "color" v then config.colors.${v} else v); + }; + + terminal = mkOption { + type = types.submodule { + options = { + bg = mkColorOption {}; + fg = mkColorOption {}; + cursorBg = mkColorOption {}; + cursorFg = mkColorOption {}; + selectionBg = mkColorOption {}; + selectionFg = mkColorOption {}; + }; + }; + }; + + pkgThemes.kitty = mkOption { + type = types.submodule { + options = kittyBaseColorOptions // { + # Get defaults from `config.terminal` + background = mkColorOption { default = config.terminal.bg; }; + foreground = mkColorOption { default = config.terminal.fg; }; + cursor = mkColorOption { default = config.terminal.cursorBg; }; + cursor_text_color = mkColorOption { default = config.terminal.cursorFg; }; + selection_background = mkColorOption { default = config.terminal.selectionBg; }; + selection_foreground = mkColorOption { default = config.terminal.selectionFg; }; + + url_color = mkColorOption {}; + tab_bar_background = mkColorOption {}; + active_tab_background = mkColorOption {}; + active_tab_foreground = mkColorOption {}; + inactive_tab_foreground = mkColorOption {}; + inactive_tab_background = mkColorOption {}; + }; + }; + }; + }; +} diff --git a/modules/home/colors/default.nix b/modules/home/colors/default.nix new file mode 100644 index 00000000..34a3e7a7 --- /dev/null +++ b/modules/home/colors/default.nix @@ -0,0 +1,13 @@ +{ lib, ... }: + +let + inherit (lib) mkOption types; +in +{ + options = { + colors = mkOption { + default = {}; + type = types.attrsOf (types.submodule (import ./colorscheme.nix)); + }; + }; +} From 8ad146a802367084ec6729a723f831e637bd4cbd Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 17:39:52 +0100 Subject: [PATCH 0658/2080] Full conf for kitty --- home/kitty.nix | 9 +- modules/home/programs/kitty/extras.nix | 137 +++++++++++++++++++++++++ 2 files changed, 142 insertions(+), 4 deletions(-) create mode 100644 modules/home/programs/kitty/extras.nix diff --git a/home/kitty.nix b/home/kitty.nix index afca74bf..700ec17d 100644 --- a/home/kitty.nix +++ b/home/kitty.nix @@ -48,10 +48,11 @@ # light = config.colors.solarized-light.pkgThemes.kitty; # }; - # programs.fish.functions.set-term-colors = { - # body = "term-background $term_background"; - # onVariable = "term_background"; - # }; + programs.fish.functions.set-term-colors = { + body = "term-background $term_background"; + onVariable = "term_background"; + }; + # programs.fish.interactiveShellInit = '' # # Set term colors based on value of `$term_backdround` when shell starts up. # set-term-colors diff --git a/modules/home/programs/kitty/extras.nix b/modules/home/programs/kitty/extras.nix new file mode 100644 index 00000000..5c998f42 --- /dev/null +++ b/modules/home/programs/kitty/extras.nix @@ -0,0 +1,137 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.programs.kitty.extras; + + # Create a Kitty config string from a Nix set + setToKittyConfig = with generators; toKeyValue { mkKeyValue = mkKeyValueDefault {} " "; }; + + # Write a Nix set representing a kitty config into the Nix store + writeKittyConfig = fileName: config: pkgs.writeTextDir "${fileName}" (setToKittyConfig config); + + # Path in Nix store containing light and dark kitty color configs + kitty-colors = pkgs.symlinkJoin { + name = "kitty-colors"; + paths = [ + (writeKittyConfig "dark-colors.conf" cfg.colors.dark) + (writeKittyConfig "light-colors.conf" cfg.colors.light) + ]; + }; + + # Shell scripts for changing Kitty colors + term-background = pkgs.writeShellScriptBin "term-background" '' + # Accepts arguments "light" or "dark". If shell is running in a Kitty window set the colors. + if [ -n "$KITTY_WINDOW_ID" ]; then + kitty @ --to $KITTY_LISTEN_ON set-colors --all --configured \ + ${kitty-colors}/"$1"-colors.conf & + fi + ''; + term-light = pkgs.writeShellScriptBin "term-light" '' + ${term-background}/bin/term-background light + ''; + term-dark = pkgs.writeShellScriptBin "term-dark" '' + ${term-background}/bin/term-background dark + ''; + + socket = "unix:/tmp/mykitty"; + +in { + + options.programs.kitty.extras = { + colors = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + When enable, commands <command>term-dark</command> and <command>term-light</command> will + toggle between your dark and a light colors. + + <command>term-background</command> which accepts one argument (the value of which should + be <literal>dark</literal> or <literal>light</literal>) is also avaible. + + (Note that the Kitty setting <literal>allow_remote_control = true</literal> is set to + enable this functionality.) + ''; + }; + + dark = mkOption { + type = with types; attrsOf str; + default = {}; + description = '' + Kitty color settings for dark background colorscheme. + ''; + }; + + light = mkOption { + type = with types; attrsOf str; + default = {}; + description = '' + Kitty color settings for light background colorscheme. + ''; + }; + + common = mkOption { + type = with types; attrsOf str; + default = {}; + description = '' + Kitty color settings that the light and dark background colorschemes share. + ''; + }; + + default = mkOption { + type = types.enum [ "dark" "light" ]; + default = "dark"; + description = '' + The colorscheme Kitty opens with. + ''; + }; + }; + + useSymbolsFromNerdFont = mkOption { + type = types.str; + default = ""; + example = "JetBrainsMono Nerd Font"; + description = '' + NerdFont patched fonts frequently suffer from rendering issues in terminals. To mitigate + this, we can use a non-NerdFont with Kitty and use the <literal>symbol_map</literal> setting + to tell Kitty to only use a NerdFont for NerdFont symbols. + + Set this option the name of an installed NerdFont (the same name you'd use in the + <literal>font_family</literal> setting), to enable this feature. + ''; + }; + + }; + + config = mkIf config.programs.kitty.enable { + + home.packages = mkIf cfg.colors.enable [ + term-light + term-dark + term-background + ]; + + programs.kitty.settings = optionalAttrs cfg.colors.enable ( + + cfg.colors.common // cfg.colors.${cfg.colors.default} // { + allow_remote_control = "yes"; + listen_on = socket; + } + + ) // optionalAttrs (cfg.useSymbolsFromNerdFont != "") { + + # https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points + symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D ${cfg.useSymbolsFromNerdFont}"; + + }; + + programs.kitty.darwinLaunchOptions = mkIf pkgs.stdenv.isDarwin [ + "--listen-on ${socket}" + ]; + + }; + +} From 90b6a2270c79754c97078978bdad9b7e34264ba0 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 17:40:45 +0100 Subject: [PATCH 0659/2080] Kitty is done, neovim is being done --- home.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/home.nix b/home.nix index 379b19a0..41e03002 100644 --- a/home.nix +++ b/home.nix @@ -1,5 +1,4 @@ ## Todo -# - kitty config # - neovim config: minimal: colors for nix # - zsh as default shell # - zsh config @@ -37,7 +36,6 @@ # Some basics curl wget - neovim gnupg mutt From 116162a84beb4c987c84bc4f95f36dfc75475579 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 17:59:32 +0100 Subject: [PATCH 0660/2080] Start including neovim from malob --- flake.nix | 22 ++- home/neovim.nix | 218 ++++++++++++++++++++++++ modules/home/programs/neovim/extras.nix | 185 ++++++++++++++++++++ modules/system/users.nix | 26 +++ 4 files changed, 445 insertions(+), 6 deletions(-) create mode 100644 home/neovim.nix create mode 100644 modules/home/programs/neovim/extras.nix create mode 100644 modules/system/users.nix diff --git a/flake.nix b/flake.nix index f39a944e..0b124f17 100644 --- a/flake.nix +++ b/flake.nix @@ -36,20 +36,30 @@ config = { allowUnfree = true; }; }; - primaryUserDefaults = { - username = "baptiste"; - fullName = "Baptiste Grenier"; - email = "baptiste@bapt.name"; - nixConfigDirectory = "/home/baptiste/repos/dotfiles/"; - }; + primaryUserDefaults = { + username = "baptiste"; + fullName = "Baptiste Grenier"; + email = "baptiste@bapt.name"; + nixConfigDirectory = "/home/baptiste/repos/dotfiles/"; + }; in { + systemModules = { + users-primaryUser = import ./modules/system/users.nix; + }; homeManagerModules = { # https://github.com/malob/nixpkgs my-colors = import ./home/colors.nix; my-kitty = import ./home/kitty.nix; + my-neovim = import ./home/neovim.nix; my-main = import ./home.nix; + + # Custom modules from gh:malob colors = import ./modules/home/colors; + programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; + home-user-info = { lib, ... }: { + options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; + }; }; # `home-manager` configs, for systems not running Nix OS # homemManagerConfigurations = { diff --git a/home/neovim.nix b/home/neovim.nix new file mode 100644 index 00000000..6b1ddc5b --- /dev/null +++ b/home/neovim.nix @@ -0,0 +1,218 @@ +{ config, pkgs, lib, ... }: +# Let-In ----------------------------------------------------------------------------------------{{{ +let + inherit (lib) concatStringsSep optional; + inherit (config.lib.file) mkOutOfStoreSymlink; + inherit (config.home.user-info) nixConfigDirectory; + + mkLuaTableFromList = x: "{" + lib.concatMapStringsSep "," (y: "'${y}'") x + "}"; + mkNeovimAutocmd = { event, pattern, callback ? "" }: '' + vim.api.nvim_create_autocmd(${mkLuaTableFromList event}, { + pattern = ${mkLuaTableFromList pattern}, + callback = ${callback}, + })''; + requireConf = p: "require 'malo.${builtins.replaceStrings [ "." ] [ "-" ] p.pname}'"; + + # Function to create `programs.neovim.plugins` entries inspired by `packer.nvim`. + packer = + { use + # Plugins that this plugin depends on. + , deps ? [ ] + # Used to manually specify that the plugin shouldn't be loaded at start up. + , opt ? false + # Whether to load the plugin when using VS Code with `vscode-neovim`. + , vscode ? false + # Code to run before the plugin is loaded. + , setup ? "" + # Code to run after the plugin is loaded. + , config ? "" + # The following all imply lazy-loading and imply `opt = true`. + # `FileType`s which load the plugin. + , ft ? [ ] + # Autocommand events which load the plugin. + , event ? [ ] + }: + let + loadFunctionName = "load_${builtins.replaceStrings [ "." "-" ] [ "_" "_" ] use.pname}"; + autoload = !opt && vscode && ft == [ ] && event == [ ]; + configFinal = + concatStringsSep "\n" ( + optional (!autoload && !opt) "vim.cmd 'packadd ${use.pname}'" + ++ optional (config != "") config + ); + in + { + plugin = use.overrideAttrs (old: { + dependencies = lib.unique (old.dependencies or [ ] ++ deps); + }); + optional = !autoload; + type = "lua"; + config = if (setup == "" && configFinal == "") then null else + ( + concatStringsSep "\n" + ( + [ "\n-- ${use.pname or use.name}" ] + ++ optional (setup != "") setup + + # If the plugin isn't always loaded at startup + ++ optional (!autoload) (concatStringsSep "\n" ( + [ "local ${loadFunctionName} = function()" ] + ++ optional (!vscode) "if vim.g.vscode == nil then" + ++ [ configFinal ] + ++ optional (!vscode) "end" + ++ [ "end" ] + ++ optional (ft == [ ] && event == [ ]) "${loadFunctionName}()" + ++ optional (ft != [ ]) (mkNeovimAutocmd { + event = [ "FileType" ]; + pattern = ft; + callback = loadFunctionName; + }) + ++ optional (event != [ ]) (mkNeovimAutocmd { + inherit event; + pattern = [ "*" ]; + callback = loadFunctionName; + }) + )) + + # If the plugin is always loaded at startup + ++ optional (autoload && configFinal != "") configFinal + ) + ); + }; +in +# }}} +{ + # Neovim + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.neovim.enable + programs.neovim.enable = true; + + # Config and plugins ------------------------------------------------------------------------- {{{ + + # Put neovim configuration located in this repository into place in a way that edits to the + # configuration don't require rebuilding the `home-manager` environment to take effect. + xdg.configFile."nvim/lua".source = mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/lua"; + xdg.configFile."nvim/colors".source = + mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/colors"; + + # Load the `init` module from the above configs + programs.neovim.extraConfig = "lua require('init')"; + + # Add NodeJs since it's required by some plugins I use. + programs.neovim.withNodeJs = true; + # Add `penlight` Lua module package since I used in the above configs + programs.neovim.extraLuaPackages = [ pkgs.lua51Packages.penlight ]; + + # Add plugins using my `packer` function. + programs.neovim.plugins = with pkgs.vimPlugins; map packer [ + # Apperance, interface, UI, etc. + { + use = bufferline-nvim; + deps = [ nvim-web-devicons scope-nvim ]; + config = requireConf bufferline-nvim; + } + { use = galaxyline-nvim; deps = [ nvim-web-devicons ]; config = requireConf galaxyline-nvim; } + { use = gitsigns-nvim; config = requireConf gitsigns-nvim; } + { use = goyo-vim; } + { use = indent-blankline-nvim; config = requireConf indent-blankline-nvim; } + { use = lush-nvim; vscode = true; } + { + use = telescope-nvim; + config = requireConf telescope-nvim; + deps = [ + nvim-web-devicons + telescope-file-browser-nvim + telescope-fzf-native-nvim + telescope_hoogle + telescope-symbols-nvim + telescope-zoxide + ]; + } + { use = toggleterm-nvim; config = requireConf toggleterm-nvim; } + { use = zoomwintab-vim; opt = true; } + + # Completions + { use = copilot-vim; } + { use = coq_nvim; opt = true; deps = [ coq-artifacts coq-thirdparty ]; config = requireConf coq_nvim; } + + # Language servers, linters, etc. + { + use = lsp_lines-nvim; + config = '' + require'lsp_lines'.setup() + vim.diagnostic.config({ virtual_lines = { only_current_line = true } })''; + } + { use = lspsaga-nvim; config = requireConf lspsaga-nvim; } + { use = null-ls-nvim; config = requireConf null-ls-nvim; } + { use = nvim-lspconfig; deps = [ neodev-nvim ]; config = requireConf nvim-lspconfig; } + + # Language support/utilities + { + use = nvim-treesitter.withAllGrammars; + config = requireConf nvim-treesitter; + } + { use = vim-polyglot; config = requireConf vim-polyglot; } + + # Editor behavior + { use = comment-nvim; config = "require'comment'.setup()"; } + { use = editorconfig-vim; setup = "vim.g.EditorConfig_exclude_patterns = { 'fugitive://.*' }"; } + { use = tabular; vscode = true; } + { use = vim-surround; vscode = true; } + { use = nvim-lastplace; config = "require'nvim-lastplace'.setup()"; } + { + use = vim-pencil; + setup = "vim.g['pencil#wrapModeDefault'] = 'soft'"; + config = "vim.fn['pencil#init'](); vim.wo.spell = true"; + ft = [ "markdown" "text" ]; + } + + # Misc + { use = direnv-vim; } + { use = vim-eunuch; vscode = true; } + { use = vim-fugitive; } + { use = which-key-nvim; opt = true; } + ]; + + # From personal addon module `../modules/home/programs/neovim/extras.nix` + programs.neovim.extras.termBufferAutoChangeDir = true; + programs.neovim.extras.nvrAliases.enable = true; + programs.neovim.extras.defaultEditor = true; + + # }}} + + # Required packages -------------------------------------------------------------------------- {{{ + + programs.neovim.extraPackages = with pkgs; [ + neovim-remote + + # Language servers, linters, etc. + # See `../configs/nvim/lua/malo/nvim-lspconfig.lua` and + # `../configs/nvim/lua/malo/null-ls-nvim.lua` for configuration. + + # C/C++/Objective-C + ccls + + # Bash + nodePackages.bash-language-server + shellcheck + + # Javascript/Typescript + nodePackages.typescript-language-server + + # Nix + deadnix + statix + nil + nixpkgs-fmt + + # Vim + nodePackages.vim-language-server + + #Other + nodePackages.vscode-langservers-extracted + nodePackages.yaml-language-server + proselint + sumneko-lua-language-server + ]; + # }}} +} +# vim: foldmethod=marker diff --git a/modules/home/programs/neovim/extras.nix b/modules/home/programs/neovim/extras.nix new file mode 100644 index 00000000..9a73c7e8 --- /dev/null +++ b/modules/home/programs/neovim/extras.nix @@ -0,0 +1,185 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf mkOption optionalString types; + + cfg = config.programs.neovim.extras; + nvr = "${pkgs.neovim-remote}/bin/nvr"; + + shellConfig = with cfg.nvrAliases; '' + # START programs.neovim.extras config ---------------------------------------------------------- + + '' + optionalString cfg.termBufferAutoChangeDir '' + # If shell is running in a Neovim terminal buffer, set the PWD of the buffer to `$PWD`. + if test -n "$NVIM"; nvim-sync-term-buffer-pwd; end + + '' + optionalString cfg.nvrAliases.enable '' + # Neovim Remote aliases + if test -n "$NVIM" + alias ${edit} "${nvr}" + alias ${split} "${nvr} -o" + alias ${vsplit} "${nvr} -O" + alias ${tabedit} "${nvr} --remote-tab" + alias ${nvim} "command nvim" + alias nvim "echo 'This shell is running in a Neovim termainal buffer. Use \'${nvim}\' to a nested instance of Neovim, otherwise use ${edit}, ${split}, ${vsplit}, or ${tabedit} to open files in the this Neovim instance.'" + else + alias ${edit} "nvim" + end + + '' + '' + # END programs.neovim.extras config ------------------------------------------------------------ + ''; +in +{ + options.programs.neovim.extras = { + termBufferAutoChangeDir = mkOption { + type = types.bool; + default = false; + description = '' + When enabled, the <literal>pwd</literal> of terminal buffers in Neovim are automatically + updated to match <literal>$PWD</literal> of the shell running inside them. + + Note that you cannot use this option if you are using + <option>programs.neovim.configure</option>, use <option>programs.neovim.extraConfig</option> + and <option>programs.neovim.plugins</option> instead. + + (Currently only works with Fish shell.) + ''; + }; + + nvrAliases = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + When enabled, shell aliases for helpful Neovim Remote commands are created if the shell is + running inside a Neovim terminal buffer. Additionally, running <command>nvim</command> + won't open a nested Neovim instance but instead print a message listing the available + <command>nvr</command> aliases, as well as the command to run if you actually want to open + a nested Neovim instance. + + Note that you cannot use this option if you are using + <option>programs.neovim.configure</option>, use + <option>programs.neovim.extraConfig</option> and <option>programs.neovim.plugins</option> + instead. + + (Currently only works with Fish shell.) + ''; + }; + + edit = mkOption { + type = types.str; + default = "n"; + description = '' + Equivalent to Neovim's <command>:edit</command> command, i.e., running + <command>n [file]</command> will open the file in the current window. + + When not in Neovim this also acts as an alias for <command>nvim</command>. + + (Alias for <command>nvr</command>.) + ''; + }; + + split = mkOption { + type = types.str; + default = "ns"; + description = '' + Equivalent to Neovim's <command>:split/command> command. + + (Alias for <command>nvr -o</command>.) + ''; + }; + + vsplit = mkOption { + type = types.str; + default = "nv"; + description = '' + Equivalent to Neovim's <command>:vsplit/command> command. + + (Alias for <command>nvr -O</command>.) + ''; + }; + + tabedit = mkOption { + type = types.str; + default = "nt"; + description = '' + Equivalent to Neovim's <command>:tabedit</command> command. + + (Alias for <command>nvr --remote-tab</command>.) + ''; + }; + + nvim = mkOption { + type = types.str; + default = "neovim"; + description = '' + Opens a nested Neovim instance. + ''; + }; + }; + + defaultEditor = mkOption { + type = types.bool; + default = false; + description = '' + When enabled, the <literal>EDITOR</literal> and <literal>VISUAL</literal> environment + variable are set to <command>nvr --remote-wait-silent</command>, and + <command>${nvr} -cc split --remote-wait +'set bufhidden=delete'</command> if the shell is + running inside a Neovim. + ''; + }; + }; + + config = mkIf config.programs.neovim.enable { + home.sessionVariables = mkIf cfg.defaultEditor { + EDITOR = "${nvr} --remote-wait-silent"; + VISUAL = "${nvr} --remote-wait-silent"; + }; + + programs.fish.functions.nvim-sync-term-buffer-pwd = mkIf cfg.termBufferAutoChangeDir { + body = '' + if test -n "$NVIM" + ${nvr} -c "let g:term_buffer_pwds.$fish_pid = '$PWD' | call Set_term_buffer_pwd() " + end + ''; + onVariable = "PWD"; + }; + + programs.neovim.extraConfig = mkIf (cfg.termBufferAutoChangeDir || cfg.defaultEditor) ( + optionalString cfg.termBufferAutoChangeDir '' + " START programs.neovim.extras.termBufferAutoChangeDir config ------------------------------ + + " Dictionary used to track the PWD of terminal buffers. Keys should be PIDs and values are + " is PWD of the shell with that PID. These values are updated from the shell using `nvr`. + let g:term_buffer_pwds = {} + + " Function to call to update the PWD of the current terminal buffer. + function Set_term_buffer_pwd() abort + if &buftype == 'terminal' && exists('g:term_buffer_pwds[b:terminal_job_pid]') + execute 'lchd ' . g:term_buffer_pwds[b:terminal_job_pid] + endif + endfunction + + " Sometimes the PWD the shell in a terminal buffer will change when in another buffer, so + " when entering a terminal buffer we update try to update it's PWD. + augroup NvimTermPwd + au! + au BufEnter * if &buftype == 'terminal' | call Set_term_buffer_pwd() | endif + augroup END + + " END programs.neovim.extras.termBufferAutoChangeDir config -------------------------------- + '' + optionalString cfg.defaultEditor '' + " START programs.neovim.extras.defaultEditor config ---------------------------------------- + + let $EDITOR = '${nvr} -cc split -c "set bufhidden=delete" --remote-wait' + let $VISUAL = $EDITOR + + " END programs.neovim.extras.defaultEditor config ------------------------------------------ + '' + ); + + programs.fish.interactiveShellInit = + mkIf (cfg.termBufferAutoChangeDir || cfg.nvrAliases.enable) shellConfig; + }; +} diff --git a/modules/system/users.nix b/modules/system/users.nix new file mode 100644 index 00000000..9ff8ff3a --- /dev/null +++ b/modules/system/users.nix @@ -0,0 +1,26 @@ +{ lib, ... }: + +let + inherit (lib) mkOption types; +in + +{ + options.users.primaryUser = { + username = mkOption { + type = with types; nullOr string; + default = null; + }; + fullName = mkOption { + type = with types; nullOr string; + default = null; + }; + email = mkOption { + type = with types; nullOr string; + default = null; + }; + nixConfigDirectory = mkOption { + type = with types; nullOr string; + default = null; + }; + }; +} From ef09f71badbf1527566d374c38047a6bf9f438ff Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 18:24:51 +0100 Subject: [PATCH 0661/2080] Import malob nvim config --- configs/nvim/colors/malo.vim | 8 + configs/nvim/lua/init.lua | 278 +++++++++ configs/nvim/lua/lush_theme/malo.lua | 528 ++++++++++++++++++ .../lua/lush_theme/malo/bufferline-nvim.lua | 86 +++ .../nvim/lua/lush_theme/malo/statusline.lua | 31 + .../lua/lush_theme/malo/telescope-nvim.lua | 54 ++ configs/nvim/lua/malo/bufferline-nvim.lua | 63 +++ configs/nvim/lua/malo/coq_nvim.lua | 30 + configs/nvim/lua/malo/galaxyline-nvim.lua | 152 +++++ configs/nvim/lua/malo/gitsigns-nvim.lua | 21 + .../nvim/lua/malo/indent-blankline-nvim.lua | 15 + configs/nvim/lua/malo/lspsaga-nvim.lua | 39 ++ configs/nvim/lua/malo/null-ls-nvim.lua | 28 + configs/nvim/lua/malo/nvim-lspconfig.lua | 112 ++++ configs/nvim/lua/malo/nvim-treesitter.lua | 9 + configs/nvim/lua/malo/telescope-nvim.lua | 52 ++ configs/nvim/lua/malo/theme.lua | 58 ++ configs/nvim/lua/malo/toggleterm-nvim.lua | 22 + configs/nvim/lua/malo/utils.lua | 58 ++ configs/nvim/lua/malo/vim-polyglot.lua | 42 ++ .../_extensions/builtin_extensions.lua | 26 + flake.nix | 6 + home/kitty.nix | 18 +- 23 files changed, 1727 insertions(+), 9 deletions(-) create mode 100644 configs/nvim/colors/malo.vim create mode 100644 configs/nvim/lua/init.lua create mode 100644 configs/nvim/lua/lush_theme/malo.lua create mode 100644 configs/nvim/lua/lush_theme/malo/bufferline-nvim.lua create mode 100644 configs/nvim/lua/lush_theme/malo/statusline.lua create mode 100644 configs/nvim/lua/lush_theme/malo/telescope-nvim.lua create mode 100644 configs/nvim/lua/malo/bufferline-nvim.lua create mode 100644 configs/nvim/lua/malo/coq_nvim.lua create mode 100644 configs/nvim/lua/malo/galaxyline-nvim.lua create mode 100644 configs/nvim/lua/malo/gitsigns-nvim.lua create mode 100644 configs/nvim/lua/malo/indent-blankline-nvim.lua create mode 100644 configs/nvim/lua/malo/lspsaga-nvim.lua create mode 100644 configs/nvim/lua/malo/null-ls-nvim.lua create mode 100644 configs/nvim/lua/malo/nvim-lspconfig.lua create mode 100644 configs/nvim/lua/malo/nvim-treesitter.lua create mode 100644 configs/nvim/lua/malo/telescope-nvim.lua create mode 100644 configs/nvim/lua/malo/theme.lua create mode 100644 configs/nvim/lua/malo/toggleterm-nvim.lua create mode 100644 configs/nvim/lua/malo/utils.lua create mode 100644 configs/nvim/lua/malo/vim-polyglot.lua create mode 100644 configs/nvim/lua/telescope/_extensions/builtin_extensions.lua diff --git a/configs/nvim/colors/malo.vim b/configs/nvim/colors/malo.vim new file mode 100644 index 00000000..95ba175d --- /dev/null +++ b/configs/nvim/colors/malo.vim @@ -0,0 +1,8 @@ +" Colorscheme build in Lua with `lush.nvim`, modeled initially on Solarized, but intended to be +" usable with alternate colors. +" Still early days, with lots of work needed +" See `../lua/malo-theme.lua` +let g:colors_name = 'malo' + +" Load colorscheme +lua require'malo.theme'.loadColorscheme() diff --git a/configs/nvim/lua/init.lua b/configs/nvim/lua/init.lua new file mode 100644 index 00000000..94471cb0 --- /dev/null +++ b/configs/nvim/lua/init.lua @@ -0,0 +1,278 @@ +local utils = require 'malo.utils' +local augroup = utils.augroup +local keymaps = utils.keymaps + +-- Add some aliases for Neovim Lua API +local o = vim.o +local wo = vim.wo +local g = vim.g +local cmd = vim.cmd + +-- TODO -------------------------------------------------------------------------------------------- + +-- - Flesh out custom colorscheme +-- - Revisit Pmenu highlights: +-- - Experiment with `Diff` highlights to look more like `delta`'s output. +-- - Decide on whether I want to include a bunch of language specific highlights +-- - Figure out what to do with `tree-sitter` highlights. +-- - Stretch +-- - Add more highlights for plugins I use, and other popular plugins. +-- - Create monotone variant, where one base color is supplied, and all colors are generate +-- based on transformations of that colors. +-- - Make tweaks to custom status line +-- - Find a way to dynamically display current LSP status/progress/messages. +-- - See if there's an easy way to show show Git sections when in terminal buffer. +-- - Revamp conditions for when segments are displayed +-- - A bunch of other small tweaks. +-- - List searching with telescope.nvim. +-- - Improve workspace folder detection on my telescope.nvim extensions +-- - Other +-- - Figure out how to get Lua LSP to be aware Nvim plugins. Why aren't they on `package.path`? +-- - Play around with `tree-sitter`. + +-- Basic Vim Config -------------------------------------------------------------------------------- + +o.scrolloff = 10 -- start scrolling when cursor is within 5 lines of the ledge +o.linebreak = true -- soft wraps on words not individual chars +o.mouse = 'a' -- enable mouse support in all modes +o.updatetime = 300 +o.autochdir = true +o.exrc = true -- allow project specific config in .nvimrc or .exrc files + +-- Search and replace +o.ignorecase = true -- make searches with lower case characters case insensative +o.smartcase = true -- search is case sensitive only if it contains uppercase chars +o.inccommand = 'nosplit' -- show preview in buffer while doing find and replace + +-- Tab key behavior +o.expandtab = true -- Convert tabs to spaces +o.tabstop = 2 -- Width of tab character +o.shiftwidth = o.tabstop -- Width of auto-indents + +-- Set where splits open +o.splitbelow = true -- open horizontal splits below instead of above which is the default +o.splitright = true -- open vertical splits to the right instead of the left with is the default + +-- Some basic autocommands +if g.vscode == nil then + augroup { name = 'MaloVimBasics', cmds = { + {{ 'BufEnter', 'FocusGained', 'CursorHold', 'CursorHoldI' }, { + pattern = '*', + desc = 'Check if file has changed on disk, if it has and buffer has no changes, reload it.', + command = 'checktime', + }}, + { 'BufWritePre' , { + pattern = '*', + desc = 'Remove trailing whitespace before write.', + command = [[%s/\s\+$//e]], + }}, + { 'TextYankPost', { + pattern = '*', + desc = 'Highlight yanked text.', + callback = function() vim.highlight.on_yank { higroup='Search', timeout=150 } end, + }}, + }} +end + + +-- UI ---------------------------------------------------------------------------------------------- + +-- Set UI related options +o.termguicolors = true +o.showmode = false -- don't show -- INSERT -- etc. +wo.colorcolumn = '100' -- show column boarder +wo.number = true -- display numberline +wo.relativenumber = true -- relative line numbers +wo.cursorline = true -- highlight current line +wo.cursorlineopt = 'number' -- only highlight the number of the cursorline +wo.signcolumn = 'yes' -- always have signcolumn open to avoid thing shifting around all the time +o.fillchars = 'stl: ,stlnc: ,vert:·,eob: ' -- No '~' on lines after end of file, other stuff + +-- Set colorscheme +if g.vscode == nil then + require'malo.theme'.extraLushSpecs = { + 'lush_theme.malo.bufferline-nvim', + 'lush_theme.malo.statusline', + 'lush_theme.malo.telescope-nvim', + } + cmd 'colorscheme malo' +end + + +-- Terminal ---------------------------------------------------------------------------------------- + +augroup { name = 'MaloNeovimTerm', cmds = { + { 'TermOpen', { + pattern = '*', + desc = 'Set options for terminal buffers.', + command = 'setlocal nonumber | setlocal norelativenumber | setlocal signcolumn=no', + }}, +}} + +keymaps { modes = 't', opts = { silent = true }, maps = { + -- Enter normal mode in terminal using `<ESC>` like everywhere else. + { '<ESC>', [[<C-\><C-n>]] }, + -- Sometimes you want to send `<ESC>` to the terminal though. + { ' <ESC>', '<ESC>' }, +}} + +-- WhichKey maps ----------------------------------------------------------------------------------- + +-- Define all `<Space>` prefixed keymaps with which-key.nvim +-- https://github.com/folke/which-key.nvim +cmd 'packadd which-key.nvim' +cmd 'packadd! gitsigns.nvim' -- needed for some mappings +local wk = require 'which-key' +wk.setup { plugins = { spelling = { enabled = true } } } + +-- Spaced prefiexd in Normal mode +wk.register ({ + [' '] = { '<Cmd>exe v:count1 . "ToggleTerm"<CR>', 'Toggle floating terminal' }, + + -- Tabs + t = { + name = '+Tabs', + n = { '<Cmd>tabnew +term<CR>' , 'New with terminal' }, + o = { '<Cmd>tabonly<CR>' , 'Close all other' }, + q = { '<Cmd>tabclose<CR>' , 'Close' }, + l = { '<Cmd>tabnext<CR>' , 'Next' }, + h = { '<Cmd>tabprevious<CR>' , 'Previous' }, + }, + + -- Windows/splits + ['-'] = { '<Cmd>new +term<CR>' , 'New terminal below' }, + ['_'] = { '<Cmd>botright new +term<CR>' , 'New termimal below (full-width)' }, + ['\\'] = { '<Cmd>vnew +term<CR>' , 'New terminal right' }, + ['|'] = { '<Cmd>botright vnew +term<CR>' , 'New termimal right (full-height)' }, + w = { + name = '+Windows', + -- Split creation + s = { '<Cmd>split<CR>' , 'Split below' }, + v = { '<Cmd>vsplit<CR>' , 'Split right' }, + q = { '<Cmd>q<CR>' , 'Close' }, + o = { '<Cmd>only<CR>' , 'Close all other' }, + -- Navigation + k = { '<Cmd>wincmd k<CR>' , 'Go up' }, + j = { '<Cmd>wincmd j<CR>' , 'Go down' }, + h = { '<Cmd>wincmd h<CR>' , 'Go left' }, + l = { '<Cmd>wincmd l<CR>' , 'Go right' }, + w = { '<Cmd>wincmd w<CR>' , 'Go down/right' }, + W = { '<Cmd>wincmd W<CR>' , 'Go up/left' }, + t = { '<Cmd>wincmd t<CR>' , 'Go top-left' }, + b = { '<Cmd>wincmd b<CR>' , 'Go bottom-right' }, + p = { '<Cmd>wincmd p<CR>' , 'Go to previous' }, + -- Movement + K = { '<Cmd>wincmd k<CR>' , 'Move to top' }, + J = { '<Cmd>wincmd J<CR>' , 'Move to bottom' }, + H = { '<Cmd>wincmd H<CR>' , 'Move to left' }, + L = { '<Cmd>wincmd L<CR>' , 'Move to right' }, + T = { '<Cmd>wincmd T<CR>' , 'Move to new tab' }, + r = { '<Cmd>wincmd r<CR>' , 'Rotate clockwise' }, + R = { '<Cmd>wincmd R<CR>' , 'Rotate counter-clockwise' }, + z = { '<Cmd>packadd zoomwintab.vim | ZoomWinTabToggle<CR>', 'Toggle zoom' }, + -- Resize + ['='] = { '<Cmd>wincmd =<CR>' , 'All equal size' }, + ['-'] = { '<Cmd>resize -5<CR>' , 'Decrease height' }, + ['+'] = { '<Cmd>resize +5<CR>' , 'Increase height' }, + ['<'] = { '<Cmd><C-w>5<<CR>' , 'Decrease width' }, + ['>'] = { '<Cmd><C-w>5><CR>' , 'Increase width' }, + ['|'] = { '<Cmd>vertical resize 106<CR>' , 'Full line-lenght' }, + }, + + -- Git + g = { + name = '+Git', + -- vim-fugitive + b = { '<Cmd>Gblame<CR>' , 'Blame' }, + s = { '<Cmd>Git<CR>' , 'Status' }, + d = { + name = '+Diff', + s = { '<Cmd>Ghdiffsplit<CR>' , 'Split horizontal' }, + v = { '<Cmd>Gvdiffsplit<CR>' , 'Split vertical' }, + }, + -- gitsigns.nvim + h = { + name = '+Hunks', + s = { require'gitsigns'.stage_hunk , 'Stage' }, + u = { require'gitsigns'.undo_stage_hunk , 'Undo stage' }, + r = { require'gitsigns'.reset_hunk , 'Reset' }, + n = { require'gitsigns'.next_hunk , 'Go to next' }, + N = { require'gitsigns'.prev_hunk , 'Go to prev' }, + p = { require'gitsigns'.preview_hunk , 'Preview' }, + }, + -- telescope.nvim lists + l = { + name = '+Lists', + s = { '<Cmd>Telescope git_status<CR>' , 'Status' }, + c = { '<Cmd>Telescope git_commits<CR>' , 'Commits' }, + C = { '<Cmd>Telescope git_commits<CR>' , 'Buffer commits' }, + b = { '<Cmd>Telescope git_branches<CR>' , 'Branches' }, + }, + -- Other + v = { '<Cmd>!gh repo view --web<CR>' , 'View on GitHub' }, + }, + + -- Language server + l = { + name = '+LSP', + h = { '<Cmd>Lspsaga hover_doc<CR>' , 'Hover' }, + d = { vim.lsp.buf.definition , 'Jump to definition' }, + D = { vim.lsp.buf.declaration , 'Jump to declaration' }, + a = { '<Cmd>Lspsaga code_action<CR>' , 'Code action' }, + f = { vim.lsp.buf.format , 'Format' }, + r = { '<Cmd>Lspsaga rename<CR>' , 'Rename' }, + t = { vim.lsp.buf.type_definition , 'Jump to type definition' }, + n = { function() vim.diagnostic.goto_next({float = false}) end, 'Jump to next diagnostic' }, + N = { function() vim.diagnostic.goto_prev({float = false}) end, 'Jump to next diagnostic' }, + l = { + name = '+Lists', + a = { '<Cmd>Telescope lsp_code_actions<CR>' , 'Code actions' }, + A = { '<Cmd>Telescope lsp_range_code_actions<CR>' , 'Code actions (range)' }, + r = { '<Cmd>Telescope lsp_references<CR>' , 'References' }, + s = { '<Cmd>Telescope lsp_document_symbols<CR>' , 'Documents symbols' }, + S = { '<Cmd>Telescope lsp_workspace_symbols<CR>' , 'Workspace symbols' }, + }, + }, + + -- Seaching with telescope.nvim + s = { + name = '+Search', + b = { '<Cmd>Telescope file_browser<CR>' , 'File Browser' }, + f = { '<Cmd>Telescope find_files_workspace<CR>' , 'Files in workspace' }, + F = { '<Cmd>Telescope find_files<CR>' , 'Files in cwd' }, + g = { '<Cmd>Telescope live_grep_workspace<CR>' , 'Grep in workspace' }, + G = { '<Cmd>Telescope live_grep<CR>' , 'Grep in cwd' }, + l = { '<Cmd>Telescope current_buffer_fuzzy_find<CR>' , 'Buffer lines' }, + o = { '<Cmd>Telescope oldfiles<CR>' , 'Old files' }, + t = { '<Cmd>Telescope builtin<CR>' , 'Telescope lists' }, + w = { '<Cmd>Telescope grep_string_workspace<CR>' , 'Grep word in workspace' }, + W = { '<Cmd>Telescope grep_string<CR>' , 'Grep word in cwd' }, + v = { + name = '+Vim', + a = { '<Cmd>Telescope autocommands<CR>' , 'Autocommands' }, + b = { '<Cmd>Telescope buffers<CR>' , 'Buffers' }, + c = { '<Cmd>Telescope commands<CR>' , 'Commands' }, + C = { '<Cmd>Telescope command_history<CR>' , 'Command history' }, + h = { '<Cmd>Telescope highlights<CR>' , 'Highlights' }, + q = { '<Cmd>Telescope quickfix<CR>' , 'Quickfix list' }, + l = { '<Cmd>Telescope loclist<CR>' , 'Location list' }, + m = { '<Cmd>Telescope keymaps<CR>' , 'Keymaps' }, + s = { '<Cmd>Telescope spell_suggest<CR>' , 'Spell suggest' }, + o = { '<Cmd>Telescope vim_options<CR>' , 'Options' }, + r = { '<Cmd>Telescope registers<CR>' , 'Registers' }, + t = { '<Cmd>Telescope filetypes<CR>' , 'Filetypes' }, + }, + s = { function() require'telescope.builtin'.symbols(require'telescope.themes'.get_dropdown({sources = {'emoji', 'math'}})) end, 'Symbols' }, + z = { '<Cmd>Telescope zoxide list<CR>', 'Z' }, + ['?'] = { '<Cmd>Telescope help_tags<CR>', 'Vim help' }, + } + +}, { prefix = ' ' }) + +-- Spaced prefiexd in mode Visual mode +wk.register ({ + l = { + name = '+LSP', + a = { ':<C-U>Lspsaga range_code_action<CR>' , 'Code action (range)' , mode = 'v' }, + }, +}, { prefix = ' ' }) diff --git a/configs/nvim/lua/lush_theme/malo.lua b/configs/nvim/lua/lush_theme/malo.lua new file mode 100644 index 00000000..c17805a1 --- /dev/null +++ b/configs/nvim/lua/lush_theme/malo.lua @@ -0,0 +1,528 @@ +-- Colorscheme build in Lua with `lush.nvim`, modeled initially on Solarized, but intended to be +-- usable with alternate colors. +-- Still early days, with lots of work needed +-- https://github.com/rktjmp/lush.nvim +local c = require'malo.theme'.colors + +-- Function to set/update colors that are dependant on `vim.o.background` +local function choose(dark, light) return vim.o.background == 'dark' and dark or light end +local function highlight(color) + return vim.o.background == 'dark' and color.lightness(20) or color.lightness(80) +end + +---@diagnostic disable: undefined-global +return require'lush'(function() + return { + -- Building Blocks ------------------------------------------------------------------------- {{{ + + -- Basic colors + DarkBaseBg { bg = c.darkBase }, + DarkBaseHlBg { bg = c.darkBaseHl }, + DarkestToneBg { bg = c.darkestTone }, + DarkToneBg { bg = c.darkTone }, + LightToneBg { bg = c.lightTone }, + LightestToneBg { bg = c.lightestTone }, + LightBaseHlBg { bg = c.lightBaseHl }, + LightBaseBg { bg = c.lightBase }, + YellowBg { bg = c.yellow }, + OrangeBg { bg = c.orange }, + RedBg { bg = c.red }, + MagentaBg { bg = c.magenta }, + VioletBg { bg = c.violet }, + BlueBg { bg = c.blue }, + CyanBg { bg = c.cyan }, + GreenBg { bg = c.green }, + DarkBaseFg { fg = DarkBaseBg.bg }, + DarkBaseHlFg { fg = DarkBaseHlBg.bg }, + DarkestToneFg { fg = DarkestToneBg.bg }, + DarkToneFg { fg = DarkToneBg.bg }, + LightToneFg { fg = LightToneBg.bg }, + LightestToneFg { fg = LightestToneBg.bg }, + LightBaseHlFg { fg = LightBaseHlBg.bg }, + LightBaseFg { fg = LightBaseBg.bg }, + YellowFg { fg = YellowBg.bg }, + OrangeFg { fg = OrangeBg.bg }, + RedFg { fg = RedBg.bg }, + MagentaFg { fg = MagentaBg.bg }, + VioletFg { fg = VioletBg.bg }, + BlueFg { fg = BlueBg.bg }, + CyanFg { fg = CyanBg.bg }, + GreenFg { fg = GreenBg.bg }, + + -- Colors dependant on background color + BaseBg { bg = choose(c.darkBase, c.lightBase) }, + BaseHlBg { bg = choose(c.darkBaseHl, c.lightBaseHl) }, + InvBaseBg { bg = choose(c.lightBase, c.darkBase) }, + InvBaseHlBg { bg = choose(c.lightBaseHl, c.darkBaseHl) }, + MainBg { bg = choose(c.lightTone, c.darkTone) }, + FadedBg { bg = choose(c.darkTone, c.lightTone) }, + MutedBg { bg = choose(c.darkestTone, c.lightestTone) }, + StrongBg { bg = choose(c.lightestTone , c.darkestTone) }, + BaseFg { fg = BaseBg.bg }, + BasheHlFg { fg = BasheHlBg.bg }, + InvBaseFg { fg = InvBaseBg.bg }, + InvBaseHlFg { fg = InvBaseHlBg.bg }, + MainFg { fg = MainBg.bg }, + FadedFg { fg = FadedBg.bg }, + MutedFg { fg = MutedBg.bg }, + StrongFg { fg = StrongBg.bg }, + YellowHlBg { bg = highlight(c.yellow) }, + OrangeHlBg { bg = highlight(c.orange) }, + RedHlBg { bg = highlight(c.red) }, + MagentaHlBg { bg = highlight(c.magenta) }, + VioletHlBg { bg = highlight(c.violet) }, + BlueHlBg { bg = highlight(c.blue) }, + CyanHlBg { bg = highlight(c.cyan) }, + GreenHlBg { bg = highlight(c.green) }, + + -- Misc + AddText { GreenFg }, + ChangeText { YellowFg }, + DeleteText { RedFg }, + ChangeDeleteText { OrangeFg }, + ErrorText { RedFg }, + WarningText { YellowFg }, + InfoText { BlueFg }, + HintText { MutedFg }, + -- }}} + + -- Basic Highlights ------------------------------------------------------------------------ {{{ + + Normal { BaseBg, fg = MainFg.fg }, + NormalNC { Normal }, + NormalFloat { InvBaseHlBg, fg = MutedFg.fg }, + + Comment { MutedFg, gui = 'italic' }, + + -- Any constant + Constant { CyanFg }, + -- String { }, -- a string constant: "this is a string" + -- Character { }, -- a character constant: 'c', '\n' + -- Number { }, -- a number constant: 234, 0xff + -- Boolean { }, -- a boolean constant: TRUE, false + -- Float { }, -- a floating point constant: 2.3e10 + + -- Any variable name + Identifier { BlueFg }, + -- Function { }, -- function name (also: methods for classes) + + -- Any statement + Statement { GreenFg, gui = 'bold,italic' }, + -- Conditional { }, -- if, then, else, endif, switch, etc. + -- Repeat { }, -- for, do, while, etc. + -- Label { }, -- case, default, etc. + Operator { Statement, gui = '' }, -- "sizeof", "+", "*", etc. + -- Keyword { }, -- any other keyword + -- Exception { }, -- try, catch, throw + + -- Generic Preprocessor + PreProc { OrangeFg }, + -- Include { }, -- preprocessor #include + -- Define { }, -- preprocessor #define + -- Macro { }, -- same as Define + -- PreCondit { }, -- preprocessor #if, #else, #endif, etc. + + -- int, long, char, etc. + Type { YellowFg }, + -- StorageClass { }, -- static, register, volatile, etc. + -- Structure { }, -- struct, union, enum, etc. + -- Typedef { }, -- A typedef + + -- Any special symbol + Special { RedFg }, + -- SpecialChar { }, -- special character in a constant + -- Tag { }, -- you can use CTRL-] on this + -- Delimiter { }, -- character that needs attention + -- SpecialComment { }, -- special things inside a comment + -- Debug { }, -- debugging statements + + -- Left blank, hidden + Ignore { }, + + -- Any erroneous construct + Error { ErrorText, gui = 'bold' }, + + -- Anything that needs extra attention; mostly the keywords TODO FIXME and XXX + Todo { MagentaFg, gui = 'bold' }, + + Underlined { gui = 'underline' }, + Bold { gui = 'bold' }, + Italic { gui = 'italic' }, + --- }}} + + -- Neovim UI ------------------------------------------------------------------------------- {{{ + + + -- Cursors ------------------------------------------------------------------------------------- + + -- Character under the cursor + Cursor { BlueBg, fg = Normal.bg }, + + -- The character under the cursor when |language-mapping| is used (see 'guicursor'). + lCursor { Cursor }, + + -- Like Cursor, but used when in IME mode |CursorIM| + CursorIM { Cursor }, + + -- Cursor in a focused terminal + TermCursor { Cursor }, + + -- Cursor in an unfocused terminal + TermCursorNC { Normal, gui = 'reverse' }, + + + -- Search -------------------------------------------------------------------------------------- + + -- Last search pattern highlighting (see 'hlsearch'). + -- Also used for similar items that need to stand out. + Search { YellowHlBg }, + + -- 'incsearch' highlighting; also used for the text replaced with ":s///c" + IncSearch { OrangeHlBg }, + + -- |:substitute| replacement text highlighting + -- Sustitute { }, + + -- Selections ---------------------------------------------------------------------------------- + + -- Visual mode selection + Visual { BlueHlBg }, + + -- Visual mode selection when vim is "Not Owning the Selection". + VisualNOS { Normal, gui = 'reverse' }, + + + -- Statusline ---------------------------------------------------------------------------------- + + -- Status line of current window. + StatusLine { BaseHlBg }, + + -- Status lines of not-current windows. Note: if this is equal to "StatusLine" Vim will use + -- "^^^" in the status line of the current window. + StatusLineNC { StatusLine, fg = FadedFg.fg }, + + + -- Tabline ------------------------------------------------------------------------------------- + + -- Not active tab page label. + TabLine { StatusLine }, + + -- Where there are no labels. + TabLineFill { bg = Normal.bg, fg = Normal.bg }, + + -- Active tab page label. + TabLineSel { TabLine, gui = 'bold,italic' }, + + + -- Columns and other lines --------------------------------------------------------------------- + + -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is + -- set. + LineNr { MutedFg }, + + -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. + CursorLineNr { BlueFg, gui = 'bold' }, + + -- Column where |signs| are displayed. + SignColumn { bg = LineNr.bg, gui = 'bold' }, + + -- Screen-column at the cursor, when 'cursorcolumn' is set. + CursorColumn { bg = StatusLine.bg }, + + -- Screen-line at the cursor, when 'cursorline' is set. + -- Low-priority if foreground (ctermfg OR guifg) is not set. + CursorLine { CursorColumn }, + + -- Used for the columns set with 'colorcolumn'. + ColorColumn { CursorColumn }, + + -- The column separating vertically split windows. + VertSplit { LineNr, gui = 'bold' }, + + -- Separator between window splits. Inherts from |hl-VertSplit| by default, which it will + -- replace eventually. + -- Winseparator { }, + + -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor + -- is there. + -- QuickFixLine { }, + + -- Folds --------------------------------------------------------------------------------------- + + -- Line used for closed folds. + Folded { CursorLine, gui = 'bold' }, + + -- See 'foldcolumn' + FoldColumn { CursorLine }, + + + -- Popup menu ---------------------------------------------------------------------------------- + + -- Normal item + Pmenu { NormalFloat }, + + -- Selected item + PmenuSel { Pmenu, gui = 'bold', blend = 0 }, + + -- Scrollbar + PmenuSbar { InvBaseBg }, + + -- Thumb of the scrollbar + PmenuThumb { Pmenu, gui = 'reverse' }, + + + -- Diff mode ----------------------------------------------------------------------------------- + + -- Added line |diff.txt| + DiffAdd { AddText, bg = CursorLine.bg, gui = 'bold' }, + + -- Changed line |diff.txt| + DiffChange { ChangeText, bg = CursorLine.bg, gui = 'bold' }, + + -- Deleted line |diff.txt| + DiffDelete { DeleteText, bg = CursorLine.bg, gui = 'bold' }, + + -- Changed text within a changed line |diff.txt| + DiffText { BlueFg, bg = CursorLine.bg, gui = 'bold' }, + + + -- Spell checker ------------------------------------------------------------------------------- + + -- Word that is not recognized by the spellchecker. Combined with the highlighting used + -- otherwise. + SpellBad { gui = 'undercurl', sp = c.red }, + + + -- Word that should start with a capital. Combined with the highlighting used otherwise. + SpellCap { gui = 'undercurl', sp = c.violet }, + + -- Word that is recognized by the spellchecker as one that is hardly ever used. Combined with + -- the highlighting used otherwise. + SpellRare { gui = 'undercurl', sp = c.cyan }, + + -- Word that is recognized by the spellchecker as one that is used in another region. Combined + -- with the highlighting used otherwise. + SpellLocal { gui = 'undercurl', sp = c.yellow }, + + + -- Messages, prompts, etc. --------------------------------------------------------------------- + + -- Area for messages and cmdline + MsgArea { Normal, fg = Comment.fg }, + + -- Separator for scrolled messages, `msgsep` flag of 'display' + -- MsgSeparator { }, + + -- Error messages on the command line + ErrorMsg { ErrorText, gui = 'bold' }, + + -- Warning messages + WarningMsg { WarningText, gui = 'bold' }, + + -- 'showmode' message (e.g., "-- INSERT -- ") + ModeMsg { BlueFg }, + + -- |more-prompt| + MoreMsg { ModeMsg }, + + -- Directory names (and other special names in listings) + Directory { BlueFg }, + + -- |hit-enter| prompt and yes/no questions + Question { CyanFg, gui = 'bold' }, + + -- Titles for output from ":set all", ":autocmd" etc. + Title { OrangeFg, gui = 'bold' }, + + + -- Other character highlights ------------------------------------------------------------------ + + -- Placeholder characters substituted for concealed text (see 'conceallevel') + Conceal { BlueFg }, + + -- The character under the cursor or just before it, if it is a paired bracket, + -- and its match. |pi_paren.txt| + MatchParen { RedFg, gui = 'reverse,bold' }, + + -- Unprintable characters: text displayed differently from what it really is. + SpecialKey { Comment, gui = 'bold' }, + + -- '@' at the end of the window, characters from 'showbreak' and other characters that do not + -- really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at + -- the end of the line). See also |hl-EndOfBuffer|. + NonText { Comment, gui = 'bold' }, + + -- filler lines (~) after the end of the buffer. By default, this is highlighted like + -- |hl-NonText|. + -- EndOfBuffer { }, + + -- Current match in 'wildmenu' completion + WildMenu { PmenuSel }, + + -- "nbsp", "space", "tab" and "trail" in 'listchars' + -- Whitespace { }, + -- }}} + + -- Builtin LSP ----------------------------------------------------------------------------- {{{ + + -- These groups are for the native LSP client and diagnostic system. Some other LSP clients may + -- use these groups, or use their own. + -- See :h lsp-highlight + + -- Used for highlighting references. See :h document_highlight + LspReferenceText { gui = 'underline', sp = CyanBg.bg }, + LspReferenceRead { LspReferenceText }, + LspReferenceWrite { LspReferenceText, sp = VioletBg.bg }, + + -- Used to color the virtual text of the codelens. See |nvim_buf_set_extmark()|. + -- LspCodeLens { } , + + -- Used to color the seperator between two or more code lens. + -- LspCodeLensSeparator { } , + + -- Used to highlight the active parameter in the signature help. See |vim.lsp.handlers.signature_help()|. + -- LspSignatureActiveParameter { } , + + -- }}} + + -- Diagnostics ----------------------------------------------------------------------------- {{{ + + -- Used as the base highlight groups. Other Diagnostic highlights link to these by default + -- (except Underline) + DiagnosticError { ErrorText }, + DiagnosticWarn { WarningText }, + DiagnosticInfo { InfoText }, + DiagnosticHint { HintText }, + + -- Used to underline diagnostics. + DiagnosticUnderlineError { gui = 'underline', sp = DiagnosticError.fg }, + DiagnosticUnderlineWarn { DiagnosticUnderlineError, sp = DiagnosticWarn.fg }, + DiagnosticUnderlineInfo { DiagnosticUnderlineError, sp = DiagnosticInfo.fg }, + DiagnosticUnderlineHint { DiagnosticUnderlineError, sp = DiagnosticHint.fg }, + + -- Used for diagnostics virtual text. + -- DiagnosticVirtualTextError { } , + -- DiagnosticVirtualTextWarn { } , + -- DiagnosticVirtualTextInfo { } , + -- DiagnosticVirtualTextHint { } , + + -- Used to color diagnostic messages in diagnostics float. See |vim.diagnostic.open_float()| + -- DiagnosticFloatingError { } , + -- DiagnosticFloatingWarn { } , + -- DiagnosticFloatingInfo { } , + -- DiagnosticFloatingHint { } , + + -- Used for diagnostic signs in sign column. + -- DiagnosticSignError { } , + -- DiagnosticSignWarn { } , + -- DiagnosticSignInfo { } , + -- DiagnosticSignHint { } , + -- }}} + + -- TODO: TreeSitter ------------------------------------------------------------------------ {{{ + + -- Tree-Sitter syntax groups. Most link to corresponding + -- vim syntax groups (e.g. TSKeyword => Keyword) by default. + -- + -- See :h nvim-treesitter-highlights, some groups may not be listed, submit a PR fix to lush-template! + -- + -- TSAttribute { } , -- Annotations that can be attached to the code to denote some kind of meta information. e.g. C++/Dart attributes. + -- TSBoolean { } , -- Boolean literals: `True` and `False` in Python. + -- TSCharacter { } , -- Character literals: `'a'` in C. + -- TSCharacterSpecial { } , -- Special characters. + -- TSComment { } , -- Line comments and block comments. + -- TSConditional { } , -- Keywords related to conditionals: `if`, `when`, `cond`, etc. + -- TSConstant { } , -- Constants identifiers. These might not be semantically constant. E.g. uppercase variables in Python. + -- TSConstBuiltin { } , -- Built-in constant values: `nil` in Lua. + -- TSConstMacro { } , -- Constants defined by macros: `NULL` in C. + -- TSConstructor { } , -- Constructor calls and definitions: `{}` in Lua, and Java constructors. + -- TSDebug { } , -- Debugging statements. + -- TSDefine { } , -- Preprocessor #define statements. + -- TSError { } , -- Syntax/parser errors. This might highlight large sections of code while the user is typing still incomplete code, use a sensible highlight. + -- TSException { } , -- Exception related keywords: `try`, `except`, `finally` in Python. + -- TSField { } , -- Object and struct fields. + -- TSFloat { } , -- Floating-point number literals. + -- TSFunction { } , -- Function calls and definitions. + -- TSFuncBuiltin { } , -- Built-in functions: `print` in Lua. + -- TSFuncMacro { } , -- Macro defined functions (calls and definitions): each `macro_rules` in Rust. + -- TSInclude { } , -- File or module inclusion keywords: `#include` in C, `use` or `extern crate` in Rust. + -- TSKeyword { } , -- Keywords that don't fit into other categories. + -- TSKeywordFunction { } , -- Keywords used to define a function: `function` in Lua, `def` and `lambda` in Python. + -- TSKeywordOperator { } , -- Unary and binary operators that are English words: `and`, `or` in Python; `sizeof` in C. + -- TSKeywordReturn { } , -- Keywords like `return` and `yield`. + -- TSLabel { } , -- GOTO labels: `label:` in C, and `::label::` in Lua. + -- TSMethod { } , -- Method calls and definitions. + -- TSNamespace { } , -- Identifiers referring to modules and namespaces. + -- TSNone { } , -- No highlighting (sets all highlight arguments to `NONE`). this group is used to clear certain ranges, for example, string interpolations. Don't change the values of this highlight group. + -- TSNumber { } , -- Numeric literals that don't fit into other categories. + -- TSOperator { } , -- Binary or unary operators: `+`, and also `->` and `*` in C. + -- TSParameter { } , -- Parameters of a function. + -- TSParameterReference { } , -- References to parameters of a function. + -- TSPreProc { } , -- Preprocessor #if, #else, #endif, etc. + -- TSProperty { } , -- Same as `TSField`. + -- TSPunctDelimiter { } , -- Punctuation delimiters: Periods, commas, semicolons, etc. + -- TSPunctBracket { } , -- Brackets, braces, parentheses, etc. + -- TSPunctSpecial { } , -- Special punctuation that doesn't fit into the previous categories. + -- TSRepeat { } , -- Keywords related to loops: `for`, `while`, etc. + -- TSStorageClass { } , -- Keywords that affect how a variable is stored: `static`, `comptime`, `extern`, etc. + -- TSString { } , -- String literals. + -- TSStringRegex { } , -- Regular expression literals. + -- TSStringEscape { } , -- Escape characters within a string: `\n`, `\t`, etc. + -- TSStringSpecial { } , -- Strings with special meaning that don't fit into the previous categories. + -- TSSymbol { } , -- Identifiers referring to symbols or atoms. + -- TSTag { } , -- Tags like HTML tag names. + -- TSTagAttribute { } , -- HTML tag attributes. + -- TSTagDelimiter { } , -- Tag delimiters like `<` `>` `/`. + -- TSText { } , -- Non-structured text. Like text in a markup language. + -- TSStrong { } , -- Text to be represented in bold. + -- TSEmphasis { } , -- Text to be represented with emphasis. + -- TSUnderline { } , -- Text to be represented with an underline. + -- TSStrike { } , -- Strikethrough text. + -- TSTitle { } , -- Text that is part of a title. + -- TSLiteral { } , -- Literal or verbatim text. + -- TSURI { } , -- URIs like hyperlinks or email addresses. + -- TSMath { } , -- Math environments like LaTeX's `$ ... $` + -- TSTextReference { } , -- Footnotes, text references, citations, etc. + -- TSEnvironment { } , -- Text environments of markup languages. + -- TSEnvironmentName { } , -- Text/string indicating the type of text environment. Like the name of a `\begin` block in LaTeX. + -- TSNote { } , -- Text representation of an informational note. + -- TSWarning { } , -- Text representation of a warning note. + -- TSDanger { } , -- Text representation of a danger note. + -- TSType { } , -- Type (and class) definitions and annotations. + -- TSTypeBuiltin { } , -- Built-in types: `i32` in Rust. + -- TSVariable { } , -- Variable names that don't fit into other categories. + -- TSVariableBuiltin { } , -- Variable names defined by the language: `this` or `self` in Javascript. + + -- }}} + + -- Plugins --------------------------------------------------------------------------------- {{{ + + + -- vim-floaterm -------------------------------------------------------------------------------- + -- https://github.com/voldikss/vim-floaterm + + Floaterm { Normal }, + FloatermNC { Floaterm }, + FloatermBorder { Floaterm, gui = 'bold,italic' }, + + + -- vim-gitgutter ------------------------------------------------------------------------------- + -- https://github.com/airblade/vim-gitgutter + + GitGutterAdd { AddText }, + GitGutterChange { ChangeText }, + GitGutterDelete { DeleteText }, + GitGutterAddLineNr { AddText }, + GitGutterChangeLineNr { ChangeText }, + GitGutterDeleteLineNr { DeleteText }, + GitGutterChangeDeleteLineNr { ChangeDeleteText }, + + + -- vim-which-key ------------------------------------------------------------------------------- + -- https://github.com/liuchengxu/vim-which-key + + WhichKeyFloating { StatusLine }, + -- }}} + } +end) +-- vim: foldmethod=marker cursorline cursorcolumn signcolumn=yes number diff --git a/configs/nvim/lua/lush_theme/malo/bufferline-nvim.lua b/configs/nvim/lua/lush_theme/malo/bufferline-nvim.lua new file mode 100644 index 00000000..f3b01ad1 --- /dev/null +++ b/configs/nvim/lua/lush_theme/malo/bufferline-nvim.lua @@ -0,0 +1,86 @@ +-- Custom highlights for bufferline.nvim +-- https://github.com/akinsho/bufferline.nvim +-- See `../../malo/bufferline-nvim.lua` for related configuration. +local t = require'lush_theme.malo' + +---@diagnostic disable: undefined-global +return require'lush'(function() + return { + BufferLineFill { t.TabLineFill , sp = t.BlueFg.fg }, + BufferLineBackground { BufferLineFill, fg = t.Comment.fg }, + + BufferLineBuffer { BufferLineBackground }, + BufferLineBufferVisible { BufferLineBuffer, bg = t.StatusLine.bg }, + BufferLineBufferSelected { BufferLineBufferVisible, fg = t.StrongFg.fg, gui = 'bold,italic,underline' }, + + BufferLineSeparator { BufferLineFill }, + BufferLineSeparatorVisible { BufferLineSeparator, bg = BufferLineBufferVisible.bg }, + BufferLineSeparatorSelected { BufferLineSeparatorVisible, gui = 'underline' }, + + BufferLineTab { BufferLineBuffer }, + BufferLineTabSelected { BufferLineBufferSelected, gui = 'bold,underline' }, + BufferLineTabClose { BufferLineTab }, + BufferLineTabSeparator { BufferLineSeparator }, + BufferLineTabSeparatorSelected { BufferLineSeparatorSelected, gui = 'reverse' }, + + BufferLineCloseButton { BufferLineBuffer }, + BufferLineCloseButtonVisible { BufferLineBufferVisible }, + BufferLineCloseButtonSelected { BufferLineBufferSelected }, + + BufferLineModified { BufferLineBuffer , fg = t.ChangeText.fg }, + BufferLineModifiedVisible { BufferLineBufferVisible, fg = t.ChangeText.fg }, + BufferLineModifiedSelected { BufferLineBufferSelected, fg = t.ChangeText.fg }, + + BufferLineDuplicate { BufferLineBuffer }, + BufferLineDuplicateVisible { BufferLineBufferVisible }, + BufferLineDuplicateSelected { BufferLineBufferVisible, gui = 'underline' }, + + BufferLinePick { BufferLineBuffer, fg = t.CyanFg.fg, gui = 'bold', }, + BufferLinePickVisible { BufferLinePick, bg = BufferLineBufferVisible.bg }, + BufferLinePickSelected { BufferLinePick, bg = BufferLineBufferSelected.bg, gui = 'bold,underline' }, + + BufferLineDiagnostic { BufferLineBuffer }, + BufferLineDiagnosticVisible { BufferLineBufferVisible }, + BufferLineDiagnosticSelected { BufferLineBufferSelected }, + + BufferLineError { BufferLineDiagnostic }, + BufferLineErrorVisible { BufferLineDiagnosticVisible }, + BufferLineErrorSelected { BufferLineDiagnosticSelected }, + BufferLineErrorDiagnostic { BufferLineError, fg = t.ErrorText.fg }, + BufferLineErrorDiagnosticVisible { BufferLineErrorVisible, fg = t.ErrorText.fg }, + BufferLineErrorDiagnosticSelected { BufferLineErrorSelected, fg = t.ErrorText.fg }, + + BufferLineWarning { BufferLineDiagnostic }, + BufferLineWarningVisible { BufferLineDiagnosticVisible }, + BufferLineWarningSelected { BufferLineDiagnosticSelected }, + BufferLineWarningDiagnostic { BufferLineWarning, fg = t.WarningText.fg }, + BufferLineWarningDiagnosticVisible { BufferLineWarningVisible, fg = t.WarningText.fg }, + BufferLineWarningDiagnosticSelected { BufferLineWarningSelected, fg = t.WarningText.fg }, + + BufferLineInfo { BufferLineDiagnostic }, + BufferLineInfoVisible { BufferLineDiagnosticVisible }, + BufferLineInfoSelected { BufferLineDiagnosticSelected }, + BufferLineInfoDiagnostic { BufferLineInfo, fg = t.InfoText.fg }, + BufferLineInfoDiagnosticVisible { BufferLineInfoVisible, fg = t.InfoText.fg }, + BufferLineInfoDiagnosticSelected { BufferLineInfoSelected, fg = t.InfoText.fg }, + + BufferLineHint { BufferLineDiagnostic }, + BufferLineHintVisible { BufferLineDiagnosticVisible }, + BufferLineHintSelected { BufferLineDiagnosticSelected }, + BufferLineHintDiagnostic { BufferLineHint, fg = t.HintText.fg }, + BufferLineHintDiagnosticVisible { BufferLineHintVisible, fg = t.HintText.fg }, + BufferLineHintDiagnosticSelected { BufferLineHintSelected, fg = t.HintText.fg }, + + BufferLineRightCustomAreaText1 { BufferLineBuffer }, + + -- Not currently implemented + -- BufferLineIndicatorVisible + -- BufferLineIndicatorSelected + -- BufferLineGroupLabel + -- BufferLineGroupSeparator + -- BufferLineNumbers + -- BufferLineNumbersSelected + -- BufferLineNumbersVisible + -- BufferLineOffsetSeparator + } +end) diff --git a/configs/nvim/lua/lush_theme/malo/statusline.lua b/configs/nvim/lua/lush_theme/malo/statusline.lua new file mode 100644 index 00000000..3afcee49 --- /dev/null +++ b/configs/nvim/lua/lush_theme/malo/statusline.lua @@ -0,0 +1,31 @@ +-- Highlights used with statusline defined in `../../statusline.lua`. +local t = require'lush_theme.malo' + +---@diagnostic disable: undefined-global +return require'lush'(function() + return { + StatusLineMode { t.GreenBg, fg = t.LightBaseFg.fg }, + StatusLineModeSep { t.StatusLine, fg = t.GreenFg.fg }, + + StatusLineFileName { t.StatusLine, gui = 'italic' }, + + StatusLineGitBranch { t.StatusLine, gui = 'bold' }, + StatusLineDiffAdd { t.StatusLine, fg = t.AddText.fg }, + StatusLineDiffModified { t.StatusLine, fg = t.ChangeText.fg }, + StatusLineDiffRemove { t.StatusLine, fg = t.DeleteText.fg }, + + StatusLineLspClient { t.StatusLine }, + StatusLineDiagnosticError { t.StatusLine, fg = t.ErrorText.fg }, + StatusLineDiagnosticWarn { t.StatusLine, fg = t.WarningText.fg }, + StatusLineDiagnosticInfo { t.StatusLine }, + StatusLineDiagnosticHint { StatusLineDiagnosticInfo }, + + StatusLineLineInfo { StatusLineMode }, + StatusLineLineInfoSep { StatusLineModeSep }, + StatusLineFilePosition { StatusLineMode }, + StatusLineFilePositionSep { StatusLineMode }, + + StatusLineSortStatusLine { t.StatusLineNC }, + } +end) + diff --git a/configs/nvim/lua/lush_theme/malo/telescope-nvim.lua b/configs/nvim/lua/lush_theme/malo/telescope-nvim.lua new file mode 100644 index 00000000..9c6715b9 --- /dev/null +++ b/configs/nvim/lua/lush_theme/malo/telescope-nvim.lua @@ -0,0 +1,54 @@ +-- Highlights for telescope.nvim +-- https://github.com/nvim-telescope/telescope.nvim +-- See `../../malo/telescope-nvim.lua` for related configuration. +local t = require'lush_theme.malo' + +---@diagnostic disable: undefined-global +return require'lush'(function() + return { + TelescopeNormal { t.Normal }, + + -- Selection + TelescopeSelection { t.Visual }, + TelescopeMultiSelection { t.Search }, + TelescopeSelectionCaret { TelescopeSelection, fg = t.RedFg.fg, gui = 'bold' }, + + -- Border + TelescopeBorder { t.MainFg, gui = 'bold,italic' }, + TelescopePromptBorder { TelescopeBorder, fg = t.BlueFg.fg }, + TelescopeResultsBorder { TelescopeBorder }, + TelescopePreviewBorder { TelescopeBorder }, + + -- Used for highlighting characters that you match. + TelescopeMatching { t.RedFg }, + + -- Used for the prompt prefix + TelescopePromptPrefix { t.GreenFg, gui = 'bold' }, + + -- Used for highlighting the matched line inside Previewer. + -- Works only for (vim_buffer_previewer) + TelescopePreviewLine { t.CursorLine }, + TelescopePreviewMatch { t.Search }, + + -- Used for Picker specific Results highlighting + -- TelescopeResultsClass { Function }, + -- TelescopeResultsConstant { Constant }, + -- TelescopeResultsField { Function }, + -- TelescopeResultsFunction { Function }, + -- TelescopeResultsMethod { Method }, + -- TelescopeResultsOperator { Operator }, + -- TelescopeResultsStruct { Struct }, + -- TelescopeResultsVariable { SpecialChar }, + + -- TelescopeResultsLineNr { LineNr }, + -- TelescopeResultsIdentifier { Identifier }, + -- TelescopeResultsNumber { Number }, + -- TelescopeResultsComment { Comment }, + -- TelescopeResultsSpecialComment { SpecialComment }, + + -- Used for git status Results highlighting + -- TelescopeResultsDiffChange { DiffChange }, + -- TelescopeResultsDiffAdd { DiffAdd }, + -- TelescopeResultsDiffDelete { DiffDelete }, + } +end) diff --git a/configs/nvim/lua/malo/bufferline-nvim.lua b/configs/nvim/lua/malo/bufferline-nvim.lua new file mode 100644 index 00000000..c3f7c240 --- /dev/null +++ b/configs/nvim/lua/malo/bufferline-nvim.lua @@ -0,0 +1,63 @@ +local s = require'malo.utils'.symbols +-- Tabline +-- bufferline.nvim +-- https://github.com/akinsho/bufferline.nvim +vim.cmd 'packadd bufferline.nvim' + +require 'scope'.setup() +require 'bufferline'.setup { + options = { + themable = true, + -- view = 'multiwindow', + separator_style = 'slant', + diagnostics = 'nvim_lsp', + diagnostics_indicator = function(_, level) + return ' ' .. ( + (level:match('error') and s.errorShape) or + (level:match('warning') and s.warningShape) or + s.infoShape + ) + end, + custom_areas = { right = function() return { { text = ' ' .. os.date('%H:%M') } } end } + }, + -- Highlights or mostly defined in `../lush_theme/malo/bufferline-nvim.lua` but the following is + -- required to get icon highlights to display correctly, since `bufferline.nvim` generates them + -- on the fly based on these values. + highlights = { + background = { + bg = { + attribute = 'bg', + highlight = 'Normal', + }, + fg = { + attribute = 'fg', + highlight = 'Comment', + }, + }, + buffer_visible = { + bg = { + attribute = 'bg', + highlight = 'StatusLine', + }, + fg = { + attribute = 'fg', + highlight = 'Comment', + }, + }, + buffer_selected = { + bg = { + attribute = 'bg', + highlight = 'StatusLine', + }, + fg = { + attribute = 'fg', + highlight = 'StrongFg', + }, + underline = true, + sp = { + attribute = 'fg', + highlight = 'BlueFg', + }, + }, + }, +} diff --git a/configs/nvim/lua/malo/coq_nvim.lua b/configs/nvim/lua/malo/coq_nvim.lua new file mode 100644 index 00000000..c5847bdf --- /dev/null +++ b/configs/nvim/lua/malo/coq_nvim.lua @@ -0,0 +1,30 @@ +-- coq_nvim +-- https://github.com/ms-jpq/coq_nvim + +vim.g.coq_settings = { + auto_start = 'shut-up', + xdg = true, + + clients = { + tabnine = { + enabled = true, + }, + }, + display = { + preview = { + border = 'shadow', + }, + }, + limits = { + completion_auto_timeout = 0.5, + }, + match = { + max_results = 100, + }, +} + +vim.cmd 'packadd coq_nvim' + +require 'coq_3p' { + { src = 'copilot', short_name = 'COP', accept_key = '<c-f>' } +} diff --git a/configs/nvim/lua/malo/galaxyline-nvim.lua b/configs/nvim/lua/malo/galaxyline-nvim.lua new file mode 100644 index 00000000..f19fbe4b --- /dev/null +++ b/configs/nvim/lua/malo/galaxyline-nvim.lua @@ -0,0 +1,152 @@ +local utils = require 'malo.utils' +local const = utils.const +local s = utils.symbols + +-- galaxyline.nvim (fork) +-- https://github.com/NTBBloodbath/galaxyline.nvim +vim.cmd 'packadd galaxyline.nvim' + +local gl = require 'galaxyline' +local condition = require 'galaxyline.condition' + +gl.short_line_list = { 'floaterm' } + +gl.section.left = { + { + Mode = { + provider = function() + local alias = { + c = s.term, + i = s.pencil, + n = s.vim, + R = '', + t = s.term, + v = s.ibar, + V = s.ibar, + [''] = s.ibar, + } + return ' ' .. alias[vim.fn.mode()] .. ' ' + end, + highlight = 'StatusLineMode', + separator = s.sepRoundRight .. ' ', + separator_highlight = 'StatusLineModeSep', + } + }, + { + FileIcon = { + condition = condition.buffer_not_empty, + provider = function () + vim.cmd('hi GalaxyFileIcon guifg='..require'galaxyline.providers.fileinfo'.get_file_icon_color()..' guibg='..require'lush_theme.malo'.StatusLine.bg.hex) + return require'galaxyline.providers.fileinfo'.get_file_icon() .. ' ' + end, + highlight = {}, + } + }, + { + FileName = { + condition = condition.buffer_not_empty, + provider = 'FileName', + highlight = 'StatusLineFileName', + } + }, + { + GitBranch = { + condition = condition.buffer_not_empty, + icon = ' ' .. s.gitBranch .. ' ', + provider = 'GitBranch', + highlight = 'StatusLineGitBranch', + } + }, + { + DiffAdd = { + condition = condition.hide_in_width, + icon = ' ', + provider = 'DiffAdd', + highlight = 'StatusLineDiffAdd', + } + }, + { + DiffModified = { + condition = condition.hide_in_width, + icon = ' ', + provider = 'DiffModified', + highlight = 'StatusLineDiffModified', + } + }, + { + DiffRemove = { + condition = condition.hide_in_width, + icon = ' ', + provider = 'DiffRemove', + highlight = 'StatusLineDiffRemove', + } + }, +} + +gl.section.right = { + { + LspClient = { + condition = condition.check_active_lsp, + provider = { 'GetLspClient', const(' ') }, + highlight = 'StatusLineLspClient', + } + }, + { + DiagnosticError = { + condition = condition.check_active_lsp, + icon = ' ' .. s.errorShape .. ' ', + provider = 'DiagnosticError', + highlight = 'StatusLineDiagnosticError', + } + }, + { + DiagnosticWarn = { + condition = condition.check_active_lsp, + icon = ' ' .. s.warningShape .. ' ', + provider = 'DiagnosticWarn', + highlight = 'StatusLineDiagnosticWarn', + } + }, + { + DiagnosticInfo = { + condition = condition.check_active_lsp, + icon = ' ' .. s.infoShape .. ' ', + provider = 'DiagnosticInfo', + highlight = 'StatusLineDiagnosticInfo', + } + }, + { + DiagnosticHint = { + condition = condition.check_active_lsp, + icon = ' ' .. s.questionShape .. ' ', + provider = 'DiagnosticHint', + highlight = 'StatusLineDiagnosticHint', + } + }, + { + LineInfo = { + separator = ' ' .. s.sepRoundLeft, + separator_highlight = 'StatusLineModeSep', + icon = ' ', + provider = 'LineColumn', + highlight = 'StatusLineLineInfo', + } + }, + { + FilePosition = { + separator = ' ', + separator_highlight = 'StatusLineFilePositionSep', + provider = { 'LinePercent', 'ScrollBar' }, + highlight = 'StatusLineFilePosition', + } + }, +} + +gl.section.short_line_left = { + { + ShortStatusLine = { + provider = { const(' '), 'FileIcon', const(' '), 'FileName' }, + highlight = 'StatusLineSortStatusLine', + } + }, +} diff --git a/configs/nvim/lua/malo/gitsigns-nvim.lua b/configs/nvim/lua/malo/gitsigns-nvim.lua new file mode 100644 index 00000000..f03da6e0 --- /dev/null +++ b/configs/nvim/lua/malo/gitsigns-nvim.lua @@ -0,0 +1,21 @@ +-- Git signs +-- gitsigns.nvim +-- https://github.com/lewis6991/gitsigns.nvim +vim.cmd 'packadd gitsigns.nvim' + +require'gitsigns'.setup { + signs = { + add = { hl = 'AddText' , text = '┃' , numhl='' }, + change = { hl = 'ChangeText' , text = '┃' , numhl='' }, + delete = { hl = 'DeleteText' , text = '_' , numhl='' }, + topdelete = { hl = 'DeleteText' , text = '‾' , numhl='' }, + changedelete = { hl = 'ChangeDeleteText' , text = '≃' , numhl='' }, + }, + numhl = false, + keymaps = {}, + watch_gitdir = { + interval = 1000 + }, + sign_priority = 6, + status_formatter = nil, -- Use default +} diff --git a/configs/nvim/lua/malo/indent-blankline-nvim.lua b/configs/nvim/lua/malo/indent-blankline-nvim.lua new file mode 100644 index 00000000..53cd44dc --- /dev/null +++ b/configs/nvim/lua/malo/indent-blankline-nvim.lua @@ -0,0 +1,15 @@ +-- ident-blankline.nvim +-- https://github.com/lukas-reineke/indent-blankline.nvim +vim.cmd 'packadd indent-blankline.nvim' + +require'indent_blankline'.setup { + char = '│', + show_trailing_blankline_indent = false, + buftype_exclude = { 'terminal' }, + filetype_exclude = { 'help', 'markdown' }, + + use_treesitter = true, + show_current_context = true, + context_char = '┃', +} + diff --git a/configs/nvim/lua/malo/lspsaga-nvim.lua b/configs/nvim/lua/malo/lspsaga-nvim.lua new file mode 100644 index 00000000..531f3358 --- /dev/null +++ b/configs/nvim/lua/malo/lspsaga-nvim.lua @@ -0,0 +1,39 @@ +local utils = require 'malo.utils' +local s = utils.symbols + +-- lspsaga.nvim (fork) +-- A light-weight lsp plugin based on neovim built-in lsp with highly a performant UI. +-- https://github.com/tami5/lspsaga.nvim +vim.cmd 'packadd lspsaga.nvim' + +require'lspsaga'.init_lsp_saga { + use_saga_diagnostic_sign = true, + error_sign = s.error, + warn_sign = s.warning, + infor_sign = s.info, + hint_sign = s.question, + diagnostic_header_icon = ' ', + use_diagnostic_virtual_text = false, + code_action_icon = ' ', + code_action_prompt = { + enable = true, + sign = false, + sign_priority = 20, + virtual_text = true, + }, + -- finder_definition_icon = ' ', + -- finder_reference_icon = ' ', + -- max_preview_lines = 10, -- preview lines of lsp_finder and definition preview + -- finder_action_keys = { + -- open = 'o', vsplit = 's',split = 'i',quit = 'q',scroll_down = '<C-f>', scroll_up = '<C-b>' -- quit can be a table + -- }, + code_action_keys = { + quit = '<ESC>', exec = '<CR>' + }, + rename_action_keys = { + quit = '<ESC>', exec = '<CR>' + }, + -- definition_preview_icon = ' ' + -- border_style = "round" -- "single" "double" "round" "plus" + rename_prompt_prefix = '❯', +} diff --git a/configs/nvim/lua/malo/null-ls-nvim.lua b/configs/nvim/lua/malo/null-ls-nvim.lua new file mode 100644 index 00000000..25ed6a9f --- /dev/null +++ b/configs/nvim/lua/malo/null-ls-nvim.lua @@ -0,0 +1,28 @@ +-- null-ls.nvim +-- https://github.com/jose-elias-alvarez/null-ls.nvim +vim.cmd 'packadd null-ls.nvim' + +local null_ls = require'null-ls' +local code_actions = null_ls.builtins.code_actions +local diagnostics = null_ls.builtins.diagnostics +local formatting = null_ls.builtins.formatting + +null_ls.setup { + sources = { + -- Shell scripts + code_actions.shellcheck, + diagnostics.shellcheck, + -- Markdown + code_actions.proselint, + diagnostics.proselint, + -- Nix + diagnostics.deadnix, + diagnostics.statix, + code_actions.statix, + -- Python + diagnostics.pylint, + diagnostics.vulture, + formatting.black, + formatting.isort, + } +} diff --git a/configs/nvim/lua/malo/nvim-lspconfig.lua b/configs/nvim/lua/malo/nvim-lspconfig.lua new file mode 100644 index 00000000..6816ca02 --- /dev/null +++ b/configs/nvim/lua/malo/nvim-lspconfig.lua @@ -0,0 +1,112 @@ +-- nvim-lspconfig +-- Configure available LSPs +-- https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md +-- +-- Note that all languag e servers aside from `sumneko_lua` are installed via Nix. See: +-- `../../../../home/neovim.nix`. +local foreach = require 'pl.tablex'.foreach +local augroup = require 'malo.utils'.augroup + +-- Configures `sumneko_lua` properly for Neovim config editing when it makes sense. +require 'neodev'.setup { + override = function(root_dir, library) + if require 'neodev.util'.has_file(root_dir, "~/.config/nixpkgs/configs/nvim") then + library.enabled = true + library.runtime = true + library.types = true + library.plugins = true + end + end +} + +local lspconf = require 'lspconfig' + +local function on_attach(client, bufnr) + if client.server_capabilities.documentHighlightProvider then + augroup { name = 'MaloLspDocumentHighlights' .. bufnr, cmds = { + {{ 'CursorHold', 'CursorHoldI' }, { + buffer = bufnr, + desc = "Create LSP document highlights", + callback = vim.lsp.buf.document_highlight, + }}, + {{ 'CursorMoved' }, { + buffer = bufnr, + desc = "Clear LSP document highlights", + callback = vim.lsp.buf.clear_references, + }}, + }} + end +end + +local servers_config = { + bashls = {}, + ccls = {}, + hls = {}, + jsonls = {}, + + nil_ls = { + settings ={ + ['nil'] = { + formatting = { + command = { 'nixpkgs-fmt' }, + }, + }, + }, + }, + + pyright = {}, + sourcekit = {}, + + sumneko_lua = { + settings = { + Lua = { + telemetry = { + enable = false, + }, + }, + }, + }, + + tsserver = {}, + + vimls = { + init_options = { + iskeyword = '@,48-57,_,192-255,-#', + vimruntime = vim.env.VIMRUNTIME, + runtimepath = vim.o.runtimepath, + diagnostic = { + enable = true, + }, + indexes = { + runtimepath = true, + gap = 100, + count = 8, + projectRootPatterns = { "runtime", "nvim", ".git", "autoload", "plugin" }, + }, + suggest = { + fromRuntimepath = true, + fromVimruntime = true + }, + } + }, + + yamlls = { + settings = { + yaml = { + format = { + printWidth = 100, + singleQuote = true, + }, + }, + }, + }, +} + +local coq = require 'coq' + +foreach(servers_config, function(v, k) + lspconf[k].setup(coq.lsp_ensure_capabilities( + vim.tbl_extend('error', v, { on_attach = on_attach }) + )) +end) + diff --git a/configs/nvim/lua/malo/nvim-treesitter.lua b/configs/nvim/lua/malo/nvim-treesitter.lua new file mode 100644 index 00000000..0a005e30 --- /dev/null +++ b/configs/nvim/lua/malo/nvim-treesitter.lua @@ -0,0 +1,9 @@ +-- nvim-treesitter +-- https://github.com/nvim-treesitter/nvim-treesitter +vim.cmd 'packadd nvim-treesitter' + +require'nvim-treesitter.configs'.setup { + highlight = { enable = true }, + incremental_selection = { enable = true }, + indent = { enable = true }, +} diff --git a/configs/nvim/lua/malo/telescope-nvim.lua b/configs/nvim/lua/malo/telescope-nvim.lua new file mode 100644 index 00000000..99cc4819 --- /dev/null +++ b/configs/nvim/lua/malo/telescope-nvim.lua @@ -0,0 +1,52 @@ +-- telescope.nvim +-- https://github.com/nvim-telescope/telescope.nvim + +local telescope = require 'telescope' +local actions = require 'telescope.actions' +local previewers = require 'telescope.previewers' + +telescope.setup { + defaults = { + prompt_prefix = '❯ ', + selection_caret = '❯ ', + color_devicons = true, + file_previewer = previewers.vim_buffer_cat.new, + grep_previewer = previewers.vim_buffer_vimgrep.new, + qflist_previewer = previewers.vim_buffer_qflist.new, + winblend = 10, + mappings = { + n = { + ['<CR>'] = actions.select_default + actions.center, + s = actions.select_horizontal, + v = actions.select_vertical, + t = actions.select_tab, + j = actions.move_selection_next, + k = actions.move_selection_previous, + u = actions.preview_scrolling_up, + d = actions.preview_scrolling_down, + }, + }, + }, + extensions = { + file_browser = { + hijack_netrw = true, + }, + }, +} + +telescope.load_extension 'builtin_extensions' +telescope.load_extension 'file_browser' +telescope.load_extension 'fzf' +telescope.load_extension 'hoogle' +telescope.load_extension 'zoxide' + +require'telescope._extensions.zoxide.config'.setup { + mappings = { + ['<CR>'] = { + keepinsert = true, + action = function(selection) + telescope.extensions.file_browser.file_browser { cwb = selection.path } + end + }, + }, +} diff --git a/configs/nvim/lua/malo/theme.lua b/configs/nvim/lua/malo/theme.lua new file mode 100644 index 00000000..9b303df3 --- /dev/null +++ b/configs/nvim/lua/malo/theme.lua @@ -0,0 +1,58 @@ +-- Colorscheme build in Lua with `lush.nvim`, modeled initially on Solarized, but intended to be +-- usable with alternate colors. +-- Still early days, with lots of work needed +-- https://github.com/rktjmp/lush.nvim +local lush = require 'lush' +local hsl = lush.hsl +local seq = require 'pl.seq' + +local M = {} + +-- Default colors are the Solarized colors +M.colors = { + darkBase = hsl '#002b36', -- base03 + darkBaseHl = hsl '#073642', -- base02 + darkestTone = hsl '#586e75', -- base01 + darkTone = hsl '#657b83', -- base00 + lightTone = hsl '#839496', -- base0 + lightestTone = hsl '#93a1a1', -- base1 + lightBaseHl = hsl '#eee8d5', -- base2 + lightBase = hsl '#fdf6e3', -- base3 + yellow = hsl '#b58900', + orange = hsl '#cb4b16', + red = hsl '#dc322f', + magenta = hsl '#d33682', + violet = hsl '#6c71c4', + blue = hsl '#268bd2', + cyan = hsl '#2aa198', + green = hsl '#859900', +} + +-- A table of strings with the name of additonal Lush specs that should be merged with the +-- colorscheme. +M.extraLushSpecs = {} + +-- Function called from `../colors/malo.vim` to load the colorscheme. +M.loadColorscheme = function () + vim.o.pumblend = 10 + vim.o.winblend = vim.o.pumblend + + -- We need to unload all Lush specs so that the specs are regenerated whenever the colorscheme is + -- reapplied. + package.loaded['lush_theme.malo'] = nil + seq(M.extraLushSpecs):foreach(function(v) package.loaded[v] = nil end) + + -- Merge the main colorscheme spec with any additional specs that were provided. + local finalSpec = lush.merge { + require 'lush_theme.malo', + lush.merge(seq(M.extraLushSpecs):map(require):copy()) + } + + -- Apply colorscheme + lush(finalSpec) + + -- Set `nvim-web-devincons` highlights if they are in use + if pcall(require, 'nvim-web-devicons') then require'nvim-web-devicons'.setup() end +end + +return M diff --git a/configs/nvim/lua/malo/toggleterm-nvim.lua b/configs/nvim/lua/malo/toggleterm-nvim.lua new file mode 100644 index 00000000..11531ba2 --- /dev/null +++ b/configs/nvim/lua/malo/toggleterm-nvim.lua @@ -0,0 +1,22 @@ +local utils = require'malo.utils' + +-- toggleterm.nvim +-- https://github.com/akinsho/toggleterm.nvim +vim.cmd 'packadd toggleterm.nvim' +require'toggleterm'.setup { + shade_terminals = false, + float_opts = { + border = 'curved', + }, +} +utils.augroup { name = 'MaloToggleTermKeymaps', cmds = { + { 'FileType', { + pattern = 'toggleterm', + desc = 'Load floating terminal keymaps.', + callback = function () + utils.keymaps { modes = '', opts = { buffer = true, silent = true }, maps = { + { '<ESC>', '<Cmd>ToggleTerm<CR>' }, + }} + end + }}, +}} diff --git a/configs/nvim/lua/malo/utils.lua b/configs/nvim/lua/malo/utils.lua new file mode 100644 index 00000000..23bc8d7b --- /dev/null +++ b/configs/nvim/lua/malo/utils.lua @@ -0,0 +1,58 @@ +-- Setup Environment ------------------------------------------------------------------------------- + +-- Create locals for all needed globals so we have access to them +local unpack = unpack +local vim = vim +local import = require'pl.utils'.import +local seq = require 'pl.seq' +import 'pl.func' + +-- Clear environment +local _ENV = {} + +-- Init module +local M = {} + +-- Main functions ---------------------------------------------------------------------------------- + +function M.spread(f) return function(t) f(unpack(t)) end end + +function M.const(f) return function() return f end end + +function M.keymaps(t) + seq(t.maps):foreach( M.spread(bind(vim.keymap.set, t.modes, _1, _2, t.opts)) ) +end + +function M.augroup(t) + vim.api.nvim_create_augroup(t.name, {}) + seq(t.cmds):foreach(function(cmd) + cmd[2].group = t.name + vim.api.nvim_create_autocmd(cmd[1], cmd[2]) + end) +end + +-- Other handy stuff ------------------------------------------------------------------------------- + +M.symbols = { + error = '', + errorShape = '', + gitBranch = '', + ibar = '', + info = '', + infoShape = '', + list = '', + lock = '', + pencil = '', + question = '', + questionShape = '', + sepRoundLeft = '', + sepRoundRight = '', + spinner = '', + term = '', + vim = '', + wand = '', + warning = '', + warningShape = '', +} + +return M diff --git a/configs/nvim/lua/malo/vim-polyglot.lua b/configs/nvim/lua/malo/vim-polyglot.lua new file mode 100644 index 00000000..fee2e68b --- /dev/null +++ b/configs/nvim/lua/malo/vim-polyglot.lua @@ -0,0 +1,42 @@ +local g = vim.g +local o = vim.o + +-- Most filetypes +-- vim-polyglot +-- A solid language pack for Vim +-- https://github.com/sheerun/vim-polyglot +vim.cmd 'packadd vim-polyglot' + +-- Haskell +-- haskell-vim (comes in vim-polyglot) +-- https://github.com/neovimhaskell/haskell-vim.git +-- indenting options +g.haskell_indent_if = 3 +g.haskell_indent_case = 2 +g.haskell_indent_let = 4 +g.haskell_indent_where = 6 +g.haskell_indent_before_where = 2 +g.haskell_indent_after_bare_where = 2 +g.haskell_indent_do = 3 +g.haskell_indent_in = 1 +g.haskell_indent_guard = 2 +-- turn on extra highlighting +g.haskell_backpack = 1 +g.haskell_enable_arrowsyntax = 1 +g.haskell_enable_quantification = 1 +g.haskell_enable_recursivedo = 1 +g.haskell_enable_pattern_synonyms = 1 +g.haskell_enable_static_pointers = 1 +g.haskell_enable_typeroles = 1 + +-- Javascript +-- vim-javascript (comes in vim-polyglot) +-- https://github.com/pangloss/vim-javascript +g.javascript_plugin_jsdoc = 1 + +-- Markdown +-- vim-markdown (comes in vim-polyglot) +-- https://github.com/plasticboy/vim-markdown +g.vim_markdown_folding_disabled = 1 +g.vim_markdown_new_list_item_indent = 2 +o.conceallevel = 2 \ No newline at end of file diff --git a/configs/nvim/lua/telescope/_extensions/builtin_extensions.lua b/configs/nvim/lua/telescope/_extensions/builtin_extensions.lua new file mode 100644 index 00000000..71b7346a --- /dev/null +++ b/configs/nvim/lua/telescope/_extensions/builtin_extensions.lua @@ -0,0 +1,26 @@ +local builtin = require('telescope.builtin') + +local function get_workspace_folder () + return vim.lsp.buf.list_workspace_folders()[1] or vim.fn.systemlist('git rev-parse --show-toplevel')[1] +end + +return require('telescope').register_extension { + setup = function() + + builtin.live_grep_workspace = function(opts) + opts.cwd = get_workspace_folder() + builtin.live_grep(opts) + end + + builtin.find_files_workspace = function(opts) + opts.cwd = get_workspace_folder() + builtin.find_files(opts) + end + + builtin.grep_string_workspace = function(opts) + opts.cwd = get_workspace_folder() + builtin.grep_string(opts) + end + + end; +} diff --git a/flake.nix b/flake.nix index 0b124f17..684de7a3 100644 --- a/flake.nix +++ b/flake.nix @@ -57,6 +57,7 @@ # Custom modules from gh:malob colors = import ./modules/home/colors; programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; + programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; home-user-info = { lib, ... }: { options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; }; @@ -87,6 +88,11 @@ home-manager.useUserPackages = true; home-manager.users.baptiste = { imports = attrValues self.homeManagerModules; + home.stateVersion = homeStateVersion; + home.user-info = primaryUserDefaults; + # home.user-info = { lib, ... }: { + # options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; + # }; }; } ]; diff --git a/home/kitty.nix b/home/kitty.nix index 700ec17d..9f654391 100644 --- a/home/kitty.nix +++ b/home/kitty.nix @@ -30,23 +30,23 @@ # Change the style of italic font variants programs.kitty.extraConfig = '' - font_features PragmataProMonoLiga-Italic +ss06 - font_features PragmataProMonoLiga-BoldItalic +ss07 + # font_features PragmataProMonoLiga-Italic +ss06 + # font_features PragmataProMonoLiga-BoldItalic +ss07 modify_font underline_thickness 400% modify_font underline_position 2 ''; - # programs.kitty.extras.useSymbolsFromNerdFont = "JetBrainsMono Nerd Font"; + programs.kitty.extras.useSymbolsFromNerdFont = "JetBrainsMono Nerd Font"; # }}} # Colors config ------------------------------------------------------------------------------ {{{ - # programs.kitty.extras.colors = { - # enable = true; + programs.kitty.extras.colors = { + enable = true; - # # Background dependent colors - # dark = config.colors.solarized-dark.pkgThemes.kitty; - # light = config.colors.solarized-light.pkgThemes.kitty; - # }; + # Background dependent colors + dark = config.colors.solarized-dark.pkgThemes.kitty; + light = config.colors.solarized-light.pkgThemes.kitty; + }; programs.fish.functions.set-term-colors = { body = "term-background $term_background"; From ec88066b5253d686edfc92698dc8de8a9fd41512 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 18:29:48 +0100 Subject: [PATCH 0662/2080] Disable tabnine and comment for nvim --- configs/nvim/lua/malo/coq_nvim.lua | 2 +- home/neovim.nix | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/configs/nvim/lua/malo/coq_nvim.lua b/configs/nvim/lua/malo/coq_nvim.lua index c5847bdf..6045803e 100644 --- a/configs/nvim/lua/malo/coq_nvim.lua +++ b/configs/nvim/lua/malo/coq_nvim.lua @@ -7,7 +7,7 @@ vim.g.coq_settings = { clients = { tabnine = { - enabled = true, + enabled = false }, }, display = { diff --git a/home/neovim.nix b/home/neovim.nix index 6b1ddc5b..90589da7 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -153,7 +153,8 @@ in { use = vim-polyglot; config = requireConf vim-polyglot; } # Editor behavior - { use = comment-nvim; config = "require'comment'.setup()"; } + # Apparently broken + # { use = comment-nvim; config = "require'comment'.setup()"; } { use = editorconfig-vim; setup = "vim.g.EditorConfig_exclude_patterns = { 'fugitive://.*' }"; } { use = tabular; vscode = true; } { use = vim-surround; vscode = true; } From eb4b1c094134a85d2c5d1470a1e187b9bcf4721a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 18:37:41 +0100 Subject: [PATCH 0663/2080] Instsal JetBrainsMono --- configuration-brutal.nix | 5 ++++- flake.nix | 4 +--- home.nix | 20 ++------------------ 3 files changed, 7 insertions(+), 22 deletions(-) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index 2b30194c..e4d66739 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -114,7 +114,10 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ + # Some basics + curl git + gh lm_sensors mcelog vim @@ -133,7 +136,7 @@ # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 fonts.fonts = with pkgs; [ recursive - (nerdfonts.override { fonts = [ "CascadiaCode" ]; }) + (nerdfonts.override { fonts = [ "CascadiaCode" "JetBrainsMono" ]; }) ]; # Keyboard diff --git a/flake.nix b/flake.nix index 684de7a3..c7f29402 100644 --- a/flake.nix +++ b/flake.nix @@ -62,6 +62,7 @@ options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; }; }; + # `home-manager` configs, for systems not running Nix OS # homemManagerConfigurations = { # import ./home-conf.nix { @@ -90,9 +91,6 @@ imports = attrValues self.homeManagerModules; home.stateVersion = homeStateVersion; home.user-info = primaryUserDefaults; - # home.user-info = { lib, ... }: { - # options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; - # }; }; } ]; diff --git a/home.nix b/home.nix index 41e03002..7381cef6 100644 --- a/home.nix +++ b/home.nix @@ -1,5 +1,4 @@ ## Todo -# - neovim config: minimal: colors for nix # - zsh as default shell # - zsh config # - keybase @@ -11,13 +10,6 @@ { config, pkgs, lib, ... }: { - home.stateVersion = "22.11"; - - # Home Manager needs a bit of information about you and the - # paths it should manage. - # home.username = "baptiste"; - # home.homeDirectory = "/home/baptiste"; - # Let Home Manager install and manage itself. programs.home-manager.enable = true; @@ -33,20 +25,15 @@ programs.htop.settings.show_program_path = true; home.packages = with pkgs; [ - # Some basics - curl - wget + # Cool stuff gnupg mutt - - # Cool stuff fortune - gh tmux # Dev stuff jq - # nodejs + nodejs # Useful graphical tools firefox @@ -54,7 +41,4 @@ coreutils m-cli # useful macOS CLI commands ]; - - # Misc configuration files --------------------------------------------------------------------{{{ - # {{{ } From 7539ed28bddf8306733614590e1adec37689bcac Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 18:38:24 +0100 Subject: [PATCH 0664/2080] Move main to a specific dir --- flake.nix | 2 +- home.nix => home/main.nix | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename home.nix => home/main.nix (100%) diff --git a/flake.nix b/flake.nix index c7f29402..0aa4ea9c 100644 --- a/flake.nix +++ b/flake.nix @@ -52,7 +52,7 @@ my-colors = import ./home/colors.nix; my-kitty = import ./home/kitty.nix; my-neovim = import ./home/neovim.nix; - my-main = import ./home.nix; + my-main = import ./home/main.nix; # Custom modules from gh:malob colors = import ./modules/home/colors; diff --git a/home.nix b/home/main.nix similarity index 100% rename from home.nix rename to home/main.nix From ccf0b8e140cd037c504337ad0bf98983993f9b51 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 18:39:57 +0100 Subject: [PATCH 0665/2080] Drop deprecated file --- .vimrc | 1 - 1 file changed, 1 deletion(-) delete mode 120000 .vimrc diff --git a/.vimrc b/.vimrc deleted file mode 120000 index fa178b0f..00000000 --- a/.vimrc +++ /dev/null @@ -1 +0,0 @@ -.vim/init.vim \ No newline at end of file From df209a92f1a423f88f7b102b2dbb8a20c3abadad Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 18:44:00 +0100 Subject: [PATCH 0666/2080] Update nix notes --- NIX.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/NIX.md b/NIX.md index 681da799..77b2f128 100644 --- a/NIX.md +++ b/NIX.md @@ -11,32 +11,34 @@ sudo nixos-rebuild switch ## Managing using flake +Manage conf in ~/repo/dotfiles + ```shell # Using flake-based conf for a specific system cd ~/repos/dotfiles/.config # Rebuild all system conf -# Equivalent? to: sudo nixos-rebuild switch --flake . +# Used to make test, not changing conf available at boot nix build ".#nixosConfigurations.brutal.config.system.build.toplevel" sudo result/bin/switch-to-configuration switch -# XXX not working -# nix build ".#nixosConfigurations.brutal.system" +# Build and siwtch to the new conf, updating boot menu +sudo nixos-rebuild switch --flake . ``` ## Searching for a package -https://search.nixos.org/packages +- https://search.nixos.org/packages ## References ### Conf files -https://github.com/gvolpe/nix-config -https://github.com/shaunsingh/nix-darwin-dotfiles/blob/main/flake.nix -https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 -https://github.com/wvhulle/nixosConfigurations -https://github.com/ArdanaLabs/ArdanaTenant +- https://github.com/gvolpe/nix-config +- https://github.com/shaunsingh/nix-darwin-dotfiles/blob/main/flake.nix +- https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 +- https://github.com/wvhulle/nixosConfigurations +- https://github.com/ArdanaLabs/ArdanaTenant ### Home manager -https://nixos.wiki/wiki/Home_Manager -https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix +- https://nixos.wiki/wiki/Home_Manager +- https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix From 9b67b09d843b9f06e24c933713de98a907ea9a9f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 18:50:34 +0100 Subject: [PATCH 0667/2080] Enable bootsrap module --- flake.nix | 1 + modules/system/bootstrap.nix | 64 ++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 modules/system/bootstrap.nix diff --git a/flake.nix b/flake.nix index 0aa4ea9c..376a161c 100644 --- a/flake.nix +++ b/flake.nix @@ -45,6 +45,7 @@ in { systemModules = { + my-bootstrap = import ./modules/system/bootstrap.nix; users-primaryUser = import ./modules/system/users.nix; }; homeManagerModules = { diff --git a/modules/system/bootstrap.nix b/modules/system/bootstrap.nix new file mode 100644 index 00000000..0628013a --- /dev/null +++ b/modules/system/bootstrap.nix @@ -0,0 +1,64 @@ +{ config, lib, pkgs, ... }: + +{ + # Nix configuration ------------------------------------------------------------------------------ + + nix.settings = { + substituters = [ + "https://cache.nixos.org/" + ]; + trusted-public-keys = [ + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + ]; + + trusted-users = [ "@admin" ]; + + # https://github.com/NixOS/nix/issues/7273 + auto-optimise-store = false; + + experimental-features = [ + "nix-command" + "flakes" + ]; + + # extra-platforms = lib.mkIf (pkgs.system == "aarch64-darwin") [ "x86_64-darwin" "aarch64-darwin" ]; + }; + + # nix.configureBuildUsers = true; + + # Auto upgrade nix package and the daemon service. + # services.nix-daemon.enable = true; + + + # Shells ----------------------------------------------------------------------------------------- + + # Add shells installed by nix to /etc/shells file + environment.shells = with pkgs; [ + bashInteractive + fish + zsh + ]; + + # Make Fish the default shell + programs.fish.enable = true; + programs.fish.useBabelfish = true; + programs.fish.babelfishPackage = pkgs.babelfish; + # Needed to address bug where $PATH is not properly set for fish: + # https://github.com/LnL7/nix-darwin/issues/122 + programs.fish.shellInit = '' + for p in (string split : ${config.environment.systemPath}) + if not contains $p $fish_user_paths + set -g fish_user_paths $fish_user_paths $p + end + end + ''; + environment.variables.SHELL = "${pkgs.fish}/bin/fish"; + + # Install and setup ZSH to work with nix(-darwin) as well + programs.zsh.enable = true; + + # Used for backwards compatibility, please read the changelog before changing. + # $ darwin-rebuild changelog + system.stateVersion = 4; +} + From b3bc64311d009ccea0357e1968187445a0e5e8ac Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 18:51:12 +0100 Subject: [PATCH 0668/2080] Import fish conf --- flake.nix | 1 + home/fish.nix | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 153 insertions(+) create mode 100644 home/fish.nix diff --git a/flake.nix b/flake.nix index 376a161c..474438e1 100644 --- a/flake.nix +++ b/flake.nix @@ -52,6 +52,7 @@ # https://github.com/malob/nixpkgs my-colors = import ./home/colors.nix; my-kitty = import ./home/kitty.nix; + my-fish = import ./home/fish.nix; my-neovim = import ./home/neovim.nix; my-main = import ./home/main.nix; diff --git a/home/fish.nix b/home/fish.nix new file mode 100644 index 00000000..f69b8509 --- /dev/null +++ b/home/fish.nix @@ -0,0 +1,152 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) elem optionalString; + inherit (config.home.user-info) nixConfigDirectory; +in + +{ + # Fish Shell + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.fish.enable + programs.fish.enable = true; + + # Add Fish plugins + home.packages = [ pkgs.fishPlugins.done ]; + + # Fish functions ----------------------------------------------------------------------------- {{{ + + programs.fish.functions = { + # Toggles `$term_background` between "light" and "dark". Other Fish functions trigger when this + # variable changes. We use a universal variable so that all instances of Fish have the same + # value for the variable. + toggle-background.body = '' + if test "$term_background" = light + set -U term_background dark + else + set -U term_background light + end + ''; + + # Set `$term_background` based on whether macOS is light or dark mode. Other Fish functions + # trigger when this variable changes. We use a universal variable so that all instances of Fish + # have the same value for the variable. + set-background-to-macOS.body = '' + # Returns 'Dark' if in dark mode fails otherwise. + if defaults read -g AppleInterfaceStyle &>/dev/null + set -U term_background dark + else + set -U term_background light + end + ''; + + # Sets Fish Shell to light or dark colorscheme based on `$term_background`. + set-shell-colors = { + body = '' + # Set LS_COLORS + set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate solarized-$term_background) + + # Set color variables + if test "$term_background" = light + set emphasized_text brgreen # base01 + set normal_text bryellow # base00 + set secondary_text brcyan # base1 + set background_light white # base2 + set background brwhite # base3 + else + set emphasized_text brcyan # base1 + set normal_text brblue # base0 + set secondary_text brgreen # base01 + set background_light black # base02 + set background brblack # base03 + end + + # Set Fish colors that change when background changes + set -g fish_color_command $emphasized_text --bold # color of commands + set -g fish_color_param $normal_text # color of regular command parameters + set -g fish_color_comment $secondary_text # color of comments + set -g fish_color_autosuggestion $secondary_text # color of autosuggestions + set -g fish_pager_color_prefix $emphasized_text --bold # color of the pager prefix string + set -g fish_pager_color_description $selection_text # color of the completion description + set -g fish_pager_color_selected_prefix $background + set -g fish_pager_color_selected_completion $background + set -g fish_pager_color_selected_description $background + '' + optionalString config.programs.bat.enable '' + + # Use correct theme for `bat`. + set -xg BAT_THEME "Solarized ($term_background)" + '' + optionalString (elem pkgs.bottom config.home.packages) '' + + # Use correct theme for `btm`. + if test "$term_background" = light + alias btm "btm --color default-light" + else + alias btm "btm --color default" + end + '' + optionalString config.programs.neovim.enable '' + + # Set `background` of all running Neovim instances. + for server in (${pkgs.neovim-remote}/bin/nvr --serverlist) + ${pkgs.neovim-remote}/bin/nvr -s --nostart --servername $server \ + -c "set background=$term_background" & + end + ''; + onVariable = "term_background"; + }; + }; + # }}} + + # Fish configuration ------------------------------------------------------------------------- {{{ + + # Aliases + programs.fish.shellAliases = with pkgs; { + # Nix related + drb = "darwin-rebuild build --flake ${nixConfigDirectory}"; + drs = "darwin-rebuild switch --flake ${nixConfigDirectory}"; + flakeup = "nix flake update ${nixConfigDirectory}"; + nb = "nix build"; + nd = "nix develop"; + nf = "nix flake"; + nr = "nix run"; + ns = "nix search"; + + # Other + ".." = "cd .."; + ":q" = "exit"; + cat = "${bat}/bin/bat"; + du = "${du-dust}/bin/dust"; + g = "${gitAndTools.git}/bin/git"; + la = "ll -a"; + ll = "ls -l --time-style long-iso --icons"; + ls = "${exa}/bin/exa"; + tb = "toggle-background"; + }; + + # Configuration that should be above `loginShellInit` and `interactiveShellInit`. + programs.fish.shellInit = '' + set -U fish_term24bit 1 + ${optionalString pkgs.stdenv.isDarwin "set-background-to-macOS"} + ''; + + programs.fish.interactiveShellInit = '' + set -g fish_greeting "" + ${pkgs.thefuck}/bin/thefuck --alias | source + + # Run function to set colors that are dependant on `$term_background` and to register them so + # they are triggerd when the relevent event happens or variable changes. + set-shell-colors + + # Set Fish colors that aren't dependant the `$term_background`. + set -g fish_color_quote cyan # color of commands + set -g fish_color_redirection brmagenta # color of IO redirections + set -g fish_color_end blue # color of process separators like ';' and '&' + set -g fish_color_error red # color of potential errors + set -g fish_color_match --reverse # color of highlighted matching parenthesis + set -g fish_color_search_match --background=yellow + set -g fish_color_selection --reverse # color of selected text (vi mode) + set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' + set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' + set -g fish_color_cancel red # color of the '^C' indicator on a canceled command + ''; + # }}} +} +# vim: foldmethod=marker From 5d2df0f76d7b8c11311d59f16170cc5594c6003e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 18:58:02 +0100 Subject: [PATCH 0669/2080] Add starship prompt --- flake.nix | 2 ++ home/starship-symbols.nix | 68 +++++++++++++++++++++++++++++++++++++++ home/starship.nix | 18 +++++++++++ 3 files changed, 88 insertions(+) create mode 100644 home/starship-symbols.nix create mode 100644 home/starship.nix diff --git a/flake.nix b/flake.nix index 474438e1..52882f18 100644 --- a/flake.nix +++ b/flake.nix @@ -53,6 +53,8 @@ my-colors = import ./home/colors.nix; my-kitty = import ./home/kitty.nix; my-fish = import ./home/fish.nix; + my-starship = import ./home/starship.nix; + my-starship-symbols = import ./home/starship-symbols.nix; my-neovim = import ./home/neovim.nix; my-main = import ./home/main.nix; diff --git a/home/starship-symbols.nix b/home/starship-symbols.nix new file mode 100644 index 00000000..4eb5414e --- /dev/null +++ b/home/starship-symbols.nix @@ -0,0 +1,68 @@ +{ lib, ... }: +let + inherit (lib) mkDefault; +in +{ + programs.starship.settings = { + aws.symbol = mkDefault " "; + battery.full_symbol = mkDefault ""; + battery.charging_symbol = mkDefault ""; + battery.discharging_symbol = mkDefault ""; + battery.unknown_symbol = mkDefault ""; + battery.empty_symbol = mkDefault ""; + cmake.symbol = mkDefault "△ "; + conda.symbol = mkDefault " "; + crystal.symbol = mkDefault " "; + dart.symbol = mkDefault " "; + directory.read_only = mkDefault " "; + docker_context.symbol = mkDefault " "; + dotnet.symbol = mkDefault " "; + elixir.symbol = mkDefault " "; + elm.symbol = mkDefault " "; + erlang.symbol = mkDefault " "; + gcloud.symbol = mkDefault " "; + git_branch.symbol = mkDefault " "; + git_commit.tag_symbol = mkDefault " "; + git_status.format = mkDefault "([$all_status$ahead_behind]($style) )"; + git_status.conflicted = mkDefault " "; + git_status.ahead = mkDefault " "; + git_status.behind = mkDefault " "; + git_status.diverged = mkDefault " "; + git_status.untracked = mkDefault " "; + git_status.stashed = mkDefault " "; + git_status.modified = mkDefault " "; + git_status.staged = mkDefault " "; + git_status.renamed = mkDefault " "; + git_status.deleted = mkDefault " "; + golang.symbol = mkDefault " "; + helm.symbol = mkDefault "⎈ "; + hg_branch.symbol = mkDefault " "; + java.symbol = mkDefault " "; + julia.symbol = mkDefault " "; + kotlin.symbol = mkDefault " "; + kubernetes.symbol = mkDefault "☸ "; + lua.symbol = mkDefault " "; + memory_usage.symbol = mkDefault " "; + nim.symbol = mkDefault " "; + nix_shell.symbol = mkDefault " "; + nodejs.symbol = mkDefault " "; + openstack.symbol = mkDefault " "; + package.symbol = mkDefault " "; + perl.symbol = mkDefault " "; + php.symbol = mkDefault " "; + purescript.symbol = mkDefault "<≡> "; + python.symbol = mkDefault " "; + ruby.symbol = mkDefault " "; + rust.symbol = mkDefault " "; + shlvl.symbol = mkDefault " "; + status.symbol = mkDefault " "; + status.not_executable_symbol = mkDefault " "; + status.not_found_symbol = mkDefault " "; + status.sigint_symbol = mkDefault " "; + status.signal_symbol = mkDefault " "; + swift.symbol = mkDefault " "; + terraform.symbol = mkDefault "𝗧 "; + vagrant.symbol = mkDefault "𝗩 "; + zig.symbol = mkDefault " "; + }; +} diff --git a/home/starship.nix b/home/starship.nix new file mode 100644 index 00000000..b9d3e081 --- /dev/null +++ b/home/starship.nix @@ -0,0 +1,18 @@ +{ + # Starship Prompt + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.starship.enable + programs.starship.enable = true; + + programs.starship.settings = { + # See docs here: https://starship.rs/config/ + # Symbols config configured ./starship-symbols.nix. + + directory.fish_style_pwd_dir_length = 1; # turn on fish directory truncation + directory.truncation_length = 2; # number of directories not to truncate + gcloud.disabled = true; # annoying to always have on + hostname.style = "bold green"; # don't like the default + memory_usage.disabled = true; # because it includes cached memory it's reported as full a lot + shlvl.disabled = false; + username.style_user = "bold blue"; # don't like the default + }; +} From 0bee50a915570ed426b81dfffe21920df4da973a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 19:44:31 +0100 Subject: [PATCH 0670/2080] Kitty: add back default settings --- configuration-brutal.nix | 1 + home/kitty.nix | 10 ++++------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index e4d66739..3a8c8ed0 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -49,6 +49,7 @@ users.users.baptiste = { isNormalUser = true; extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + shell = pkgs.fish; }; # Some programs need SUID wrappers, can be configured further or are diff --git a/home/kitty.nix b/home/kitty.nix index 9f654391..3c417ef7 100644 --- a/home/kitty.nix +++ b/home/kitty.nix @@ -9,7 +9,6 @@ # General config ----------------------------------------------------------------------------- {{{ programs.kitty.settings = { - # https://fsd.it/shop/fonts/pragmatapro/ font_family = "Cascadia Code PL"; font_size = "14.0"; adjust_line_height = "140%"; @@ -52,11 +51,10 @@ body = "term-background $term_background"; onVariable = "term_background"; }; - - # programs.fish.interactiveShellInit = '' - # # Set term colors based on value of `$term_backdround` when shell starts up. - # set-term-colors - # ''; + programs.fish.interactiveShellInit = '' + # Set term colors based on value of `$term_backdround` when shell starts up. + set-term-colors + ''; # }}} } # vim: foldmethod=marker From 310edfc2da20e2e0bde919b5f7592afae415e325 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 20:04:59 +0100 Subject: [PATCH 0671/2080] Fish: drop dynamic background/colors --- home/fish.nix | 112 +++++++++++--------------------------------------- 1 file changed, 24 insertions(+), 88 deletions(-) diff --git a/home/fish.nix b/home/fish.nix index f69b8509..f0a0ba95 100644 --- a/home/fish.nix +++ b/home/fish.nix @@ -13,88 +13,6 @@ in # Add Fish plugins home.packages = [ pkgs.fishPlugins.done ]; - # Fish functions ----------------------------------------------------------------------------- {{{ - - programs.fish.functions = { - # Toggles `$term_background` between "light" and "dark". Other Fish functions trigger when this - # variable changes. We use a universal variable so that all instances of Fish have the same - # value for the variable. - toggle-background.body = '' - if test "$term_background" = light - set -U term_background dark - else - set -U term_background light - end - ''; - - # Set `$term_background` based on whether macOS is light or dark mode. Other Fish functions - # trigger when this variable changes. We use a universal variable so that all instances of Fish - # have the same value for the variable. - set-background-to-macOS.body = '' - # Returns 'Dark' if in dark mode fails otherwise. - if defaults read -g AppleInterfaceStyle &>/dev/null - set -U term_background dark - else - set -U term_background light - end - ''; - - # Sets Fish Shell to light or dark colorscheme based on `$term_background`. - set-shell-colors = { - body = '' - # Set LS_COLORS - set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate solarized-$term_background) - - # Set color variables - if test "$term_background" = light - set emphasized_text brgreen # base01 - set normal_text bryellow # base00 - set secondary_text brcyan # base1 - set background_light white # base2 - set background brwhite # base3 - else - set emphasized_text brcyan # base1 - set normal_text brblue # base0 - set secondary_text brgreen # base01 - set background_light black # base02 - set background brblack # base03 - end - - # Set Fish colors that change when background changes - set -g fish_color_command $emphasized_text --bold # color of commands - set -g fish_color_param $normal_text # color of regular command parameters - set -g fish_color_comment $secondary_text # color of comments - set -g fish_color_autosuggestion $secondary_text # color of autosuggestions - set -g fish_pager_color_prefix $emphasized_text --bold # color of the pager prefix string - set -g fish_pager_color_description $selection_text # color of the completion description - set -g fish_pager_color_selected_prefix $background - set -g fish_pager_color_selected_completion $background - set -g fish_pager_color_selected_description $background - '' + optionalString config.programs.bat.enable '' - - # Use correct theme for `bat`. - set -xg BAT_THEME "Solarized ($term_background)" - '' + optionalString (elem pkgs.bottom config.home.packages) '' - - # Use correct theme for `btm`. - if test "$term_background" = light - alias btm "btm --color default-light" - else - alias btm "btm --color default" - end - '' + optionalString config.programs.neovim.enable '' - - # Set `background` of all running Neovim instances. - for server in (${pkgs.neovim-remote}/bin/nvr --serverlist) - ${pkgs.neovim-remote}/bin/nvr -s --nostart --servername $server \ - -c "set background=$term_background" & - end - ''; - onVariable = "term_background"; - }; - }; - # }}} - # Fish configuration ------------------------------------------------------------------------- {{{ # Aliases @@ -118,23 +36,41 @@ in la = "ll -a"; ll = "ls -l --time-style long-iso --icons"; ls = "${exa}/bin/exa"; - tb = "toggle-background"; }; # Configuration that should be above `loginShellInit` and `interactiveShellInit`. programs.fish.shellInit = '' set -U fish_term24bit 1 - ${optionalString pkgs.stdenv.isDarwin "set-background-to-macOS"} + set -U term_background dark + # Set LS_COLORS + set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate solarized-$term_background) + + # Set color variables + set emphasized_text brcyan # base1 + set normal_text brblue # base0 + set secondary_text brgreen # base01 + set background_light black # base02 + set background brblack # base03 + + # Set Fish colors that change when background changes + set -g fish_color_command $emphasized_text --bold # color of commands + set -g fish_color_param $normal_text # color of regular command parameters + set -g fish_color_comment $secondary_text # color of comments + set -g fish_color_autosuggestion $secondary_text # color of autosuggestions + set -g fish_pager_color_prefix $emphasized_text --bold # color of the pager prefix string + set -g fish_pager_color_description $selection_text # color of the completion description + set -g fish_pager_color_selected_prefix $background + set -g fish_pager_color_selected_completion $background + set -g fish_pager_color_selected_description $background + + # Use correct theme for `bat`. + set -xg BAT_THEME "Solarized dark" ''; programs.fish.interactiveShellInit = '' set -g fish_greeting "" ${pkgs.thefuck}/bin/thefuck --alias | source - # Run function to set colors that are dependant on `$term_background` and to register them so - # they are triggerd when the relevent event happens or variable changes. - set-shell-colors - # Set Fish colors that aren't dependant the `$term_background`. set -g fish_color_quote cyan # color of commands set -g fish_color_redirection brmagenta # color of IO redirections From a2e5802d0f236ed2411491ed454272d3713d37a1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 20:08:42 +0100 Subject: [PATCH 0672/2080] Install more tools --- home/fish.nix | 2 ++ home/main.nix | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/home/fish.nix b/home/fish.nix index f0a0ba95..903c4407 100644 --- a/home/fish.nix +++ b/home/fish.nix @@ -28,6 +28,8 @@ in ns = "nix search"; # Other + vim = "nvim"; + vimdiff = "nvim -d"; ".." = "cd .."; ":q" = "exit"; cat = "${bat}/bin/bat"; diff --git a/home/main.nix b/home/main.nix index 7381cef6..01e130ea 100644 --- a/home/main.nix +++ b/home/main.nix @@ -30,6 +30,9 @@ mutt fortune tmux + bat + exa + du-dust # Dev stuff jq @@ -37,6 +40,7 @@ # Useful graphical tools firefox + keybase ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 9afd263fa83909cccc955a5d580bcca004f4b679 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 20:15:08 +0100 Subject: [PATCH 0673/2080] Install thefuck, cleaning --- home/fish.nix | 40 ++++++++++++++++++++-------------------- home/main.nix | 1 + 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/home/fish.nix b/home/fish.nix index 903c4407..03c3fa6a 100644 --- a/home/fish.nix +++ b/home/fish.nix @@ -43,9 +43,13 @@ in # Configuration that should be above `loginShellInit` and `interactiveShellInit`. programs.fish.shellInit = '' set -U fish_term24bit 1 + ''; + + programs.fish.interactiveShellInit = '' + set -g fish_greeting "" + ${pkgs.thefuck}/bin/thefuck --alias | source + set -U term_background dark - # Set LS_COLORS - set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate solarized-$term_background) # Set color variables set emphasized_text brcyan # base1 @@ -54,7 +58,17 @@ in set background_light black # base02 set background brblack # base03 - # Set Fish colors that change when background changes + set -g fish_color_quote cyan # color of commands + set -g fish_color_redirection brmagenta # color of IO redirections + set -g fish_color_end blue # color of process separators like ';' and '&' + set -g fish_color_error red # color of potential errors + set -g fish_color_match --reverse # color of highlighted matching parenthesis + set -g fish_color_search_match --background=yellow + set -g fish_color_selection --reverse # color of selected text (vi mode) + set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' + set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' + set -g fish_color_cancel red # color of the '^C' indicator on a canceled command + set -g fish_color_command $emphasized_text --bold # color of commands set -g fish_color_param $normal_text # color of regular command parameters set -g fish_color_comment $secondary_text # color of comments @@ -65,26 +79,12 @@ in set -g fish_pager_color_selected_completion $background set -g fish_pager_color_selected_description $background + # Set LS_COLORS + set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate solarized-$term_background) + # Use correct theme for `bat`. set -xg BAT_THEME "Solarized dark" ''; - - programs.fish.interactiveShellInit = '' - set -g fish_greeting "" - ${pkgs.thefuck}/bin/thefuck --alias | source - - # Set Fish colors that aren't dependant the `$term_background`. - set -g fish_color_quote cyan # color of commands - set -g fish_color_redirection brmagenta # color of IO redirections - set -g fish_color_end blue # color of process separators like ';' and '&' - set -g fish_color_error red # color of potential errors - set -g fish_color_match --reverse # color of highlighted matching parenthesis - set -g fish_color_search_match --background=yellow - set -g fish_color_selection --reverse # color of selected text (vi mode) - set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' - set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' - set -g fish_color_cancel red # color of the '^C' indicator on a canceled command - ''; # }}} } # vim: foldmethod=marker diff --git a/home/main.nix b/home/main.nix index 01e130ea..4c2e1af3 100644 --- a/home/main.nix +++ b/home/main.nix @@ -33,6 +33,7 @@ bat exa du-dust + thefuck # Dev stuff jq From f38f879c9fec4a27ef0801a85320d06817ff2920 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 20:18:33 +0100 Subject: [PATCH 0674/2080] Clean configuration-brutal.nix --- configuration-brutal.nix | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index 3a8c8ed0..a77c51cd 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -8,8 +8,8 @@ # Use system-boot boot.loader.systemd-boot.enable = true; - # boot.loader.systemd-boot.consoleMode = "max"; - boot.loader.systemd-boot.consoleMode = "keep"; + boot.loader.systemd-boot.consoleMode = "max"; + # boot.loader.systemd-boot.consoleMode = "keep"; networking.hostName = "brutal"; # Define your hostname. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. @@ -23,9 +23,7 @@ services.xserver.enable = true; # Enable the GNOME Desktop Environment. - # services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.lightdm.enable = true; - # services.xserver.desktopManager.gnome.enable = true; services.xserver.windowManager.i3.enable = true; # services.xserver.windowManager.herbstluftwm.enable = true; services.xserver.displayManager.defaultSession = "none+i3"; @@ -125,12 +123,6 @@ wget ]; - # https://github.com/nix-community/home-manager/issues/423 - # environment.variables = { - # TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo"; - # }; - # programs.nix-index.enable = true; - # Fonts fonts.fontDir.enable = true; # https://github.com/lightdiscord/nix-nerd-fonts-overlay @@ -143,7 +135,4 @@ # Keyboard # system.keyboard.enableKeyMapping = true; # system.keyboard.remapCapsLockToEscape = true; - - # Add ability to used TouchID for sudo authentication - # security.pam.enableSudoTouchIdAuth = true; } From 95a5e3f14eb9d8ecae71af2e2df8aa7cc689908d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 20:34:00 +0100 Subject: [PATCH 0675/2080] Install more packages --- home/main.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/home/main.nix b/home/main.nix index 4c2e1af3..105fb841 100644 --- a/home/main.nix +++ b/home/main.nix @@ -13,6 +13,19 @@ # Let Home Manager install and manage itself. programs.home-manager.enable = true; + # Bat, a substitute for cat. + # https://github.com/sharkdp/bat + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.bat.enable + programs.bat.enable = true; + programs.bat.config = { + style = "plain"; + }; + + # Zoxide, a faster way to navigate the filesystem + # https://github.com/ajeetdsouza/zoxide + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.zoxide.enable + programs.zoxide.enable = true; + # Direnv, load and unload environment variables depending on the current directory. # https://direnv.net # https://rycee.gitlab.io/home-manager/options.html#opt-programs.direnv.enable @@ -25,6 +38,7 @@ programs.htop.settings.show_program_path = true; home.packages = with pkgs; [ + # https://github.com/malob/nixpkgs/blob/d930a2e7749248a0b0af7d025d667030011fa7b8/home/packages.nix # Cool stuff gnupg mutt @@ -32,8 +46,13 @@ tmux bat exa + fd + ripgrep du-dust + tealdeer thefuck + command-not-found + xz # Dev stuff jq From 604c01090dad327a41c1a0f111c14d7643a03e9c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 20:35:55 +0100 Subject: [PATCH 0676/2080] Drop non existing color --- home/main.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 105fb841..f4f9abf1 100644 --- a/home/main.nix +++ b/home/main.nix @@ -51,7 +51,6 @@ du-dust tealdeer thefuck - command-not-found xz # Dev stuff From b330d9967124839af6776a5a7409dc63da0fe8f6 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 21:22:11 +0100 Subject: [PATCH 0677/2080] Use new color schemes --- flake.nix | 11 ++++-- home/kitty.nix | 54 ++++++++++++++++----------- home/main.nix | 1 + modules/home/colorschemes/dracula.nix | 44 ++++++++++++++++++++++ modules/home/colorschemes/onedark.nix | 46 +++++++++++++++++++++++ modules/home/colorschemes/utils.nix | 11 ++++++ 6 files changed, 142 insertions(+), 25 deletions(-) create mode 100644 modules/home/colorschemes/dracula.nix create mode 100644 modules/home/colorschemes/onedark.nix create mode 100644 modules/home/colorschemes/utils.nix diff --git a/flake.nix b/flake.nix index 52882f18..3c9993b7 100644 --- a/flake.nix +++ b/flake.nix @@ -20,6 +20,10 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; # flake-utils # flake-utils.url = "github:numtide/flake-utils"; + + # Colors for various apps + # XXX errors when trying to use + # nix-colors.url = "github:misterio77/nix-colors"; }; outputs = { self, darwin, nixpkgs, home-manager, ... }@inputs: @@ -60,6 +64,8 @@ # Custom modules from gh:malob colors = import ./modules/home/colors; + # https://github.com/RichardYan314/dotfiles-nix/tree/c18de97ad9e7ae1ff46c806be2f0f91c43d5956e/users/colorschemes + colorscheme = import ./modules/home/colorschemes; programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; home-user-info = { lib, ... }: { @@ -96,11 +102,10 @@ home.stateVersion = homeStateVersion; home.user-info = primaryUserDefaults; }; + # extraSpecialArgs = { inherit nix-colors; }; } ]; - # inherit homeStateVersion; - # homeModules = attrValues self.homeManagerModules; - specialArgs = { inherit inputs; }; + specialArgs = { inherit inputs; }; }; }; diff --git a/home/kitty.nix b/home/kitty.nix index 3c417ef7..d315baf6 100644 --- a/home/kitty.nix +++ b/home/kitty.nix @@ -1,13 +1,21 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, colorscheme, ... }: { + # For colors + # imports = [ + # nix-colors.homeManagerModule + # ]; + # Kitty terminal # https://sw.kovidgoyal.net/kitty/conf.html # https://rycee.gitlab.io/home-manager/options.html#opt-programs.kitty.enable programs.kitty.enable = true; - # General config ----------------------------------------------------------------------------- {{{ + # Colors config ------------------------------------------------------------------------------ {{{ + # colorScheme = nix-colors.colorSchemes.dracula; + # }}} + # General config ----------------------------------------------------------------------------- {{{ programs.kitty.settings = { font_family = "Cascadia Code PL"; font_size = "14.0"; @@ -25,12 +33,32 @@ active_tab_font_style = "bold"; inactive_tab_font_style = "normal"; tab_activity_symbol = ""; + + # Colors + # foreground = "#${config.colorScheme.colors.base05}"; + # background = "#${config.colorScheme.colors.base00}"; + foreground = "${colorscheme.fg-primary}"; + background = "${colorscheme.bg-primary}"; + color0 = "${colorscheme.black}"; + color1 = "${colorscheme.red}"; + color2 = "${colorscheme.green}"; + color3 = "${colorscheme.yellow}"; + color4 = "${colorscheme.blue}"; + color5 = "${colorscheme.magenta}"; + color6 = "${colorscheme.cyan}"; + color7 = "${colorscheme.white}"; + color8 = "${colorscheme.bright-black}"; + color9 = "${colorscheme.bright-red}"; + color10 = "${colorscheme.bright-green}"; + color11 = "${colorscheme.bright-yellow}"; + color12 = "${colorscheme.bright-blue}"; + color13 = "${colorscheme.bright-magenta}"; + color14 = "${colorscheme.bright-cyan}"; + color15 = "${colorscheme.bright-white}"; }; # Change the style of italic font variants programs.kitty.extraConfig = '' - # font_features PragmataProMonoLiga-Italic +ss06 - # font_features PragmataProMonoLiga-BoldItalic +ss07 modify_font underline_thickness 400% modify_font underline_position 2 ''; @@ -38,23 +66,5 @@ programs.kitty.extras.useSymbolsFromNerdFont = "JetBrainsMono Nerd Font"; # }}} - # Colors config ------------------------------------------------------------------------------ {{{ - programs.kitty.extras.colors = { - enable = true; - - # Background dependent colors - dark = config.colors.solarized-dark.pkgThemes.kitty; - light = config.colors.solarized-light.pkgThemes.kitty; - }; - - programs.fish.functions.set-term-colors = { - body = "term-background $term_background"; - onVariable = "term_background"; - }; - programs.fish.interactiveShellInit = '' - # Set term colors based on value of `$term_backdround` when shell starts up. - set-term-colors - ''; - # }}} } # vim: foldmethod=marker diff --git a/home/main.nix b/home/main.nix index f4f9abf1..7ea72502 100644 --- a/home/main.nix +++ b/home/main.nix @@ -52,6 +52,7 @@ tealdeer thefuck xz + dracula-theme # Dev stuff jq diff --git a/modules/home/colorschemes/dracula.nix b/modules/home/colorschemes/dracula.nix new file mode 100644 index 00000000..cec0942d --- /dev/null +++ b/modules/home/colorschemes/dracula.nix @@ -0,0 +1,44 @@ +let + utils = (import ./utils.nix); +in +rec { + # Note: This kinda feels like a hack and I am none to happy about it maybe in + # the future I might make this play nicely to with everything else. That is + # too much effort though. Creating a whole theme for vim + vim-name = "dracula"; + vim-statusline = "dracula"; + gtk-name = "Dracula"; + gtk-icon-name = "Moka"; + bat-theme-name = "Dracula"; + + bg-primary = black; + bg-primary-bright = bright-black; + bg-primary-transparent-argb = utils.transparentify bg-primary; + bg-primary-bright-transparent-argb = utils.transparentify bg-primary-bright; + fg-primary = white; + fg-primary-bright = bright-white; + + accent-primary = blue; + accent-secondary = magenta; + accent-tertiary = "#ffb86c"; + + alert = red; + warning = yellow; + + black = "#282a36"; + red = "#FF5555"; + green = "#50FA7B"; + yellow = "#F1FA8C"; + blue = "#BD93F9"; + magenta = "#FF79C6"; + cyan = "#8BE9FD"; + white = "#F8F8F2"; + bright-black = "#44475a"; + bright-red = "#FF6E6E"; + bright-green = "#69FF94"; + bright-yellow = "#FFFFA5"; + bright-blue = "#D6ACFF"; + bright-magenta = "#FF92DF"; + bright-cyan = "#A4FFFF"; + bright-white = "#FFFFFF"; +} diff --git a/modules/home/colorschemes/onedark.nix b/modules/home/colorschemes/onedark.nix new file mode 100644 index 00000000..09742c62 --- /dev/null +++ b/modules/home/colorschemes/onedark.nix @@ -0,0 +1,46 @@ +let + utils = (import ./utils.nix); +in +rec { + # Note: This kinda feels like a hack and I am none to happy about it maybe in + # the future I might make this play nicely to with everything else. That is + # too much effort though. Creating a whole theme for vim + vim-name = "one"; + vim-statusline = "onedark"; + gtk-name = "Dracula"; + gtk-icon-name = "Adwaita"; + bat-theme-name = "base16"; + + bg-primary = black; + bg-primary-bright = bright-black; + bg-primary-transparent-argb = utils.transparentify bg-primary; + bg-primary-bright-transparent-argb = utils.transparentify bg-primary-bright; + fg-primary = white; + fg-primary-bright = bright-white; + + accent-primary = green; + accent-secondary = blue; + accent-tertiary = magenta; + + alert = red; + warning = yellow; + + black = "#282C34"; + red = "#E06C75"; + green = "#98C379"; + yellow = "#d19a66"; + blue = "#61AFEF"; + magenta = "#C678DD"; + cyan = "#56b6c2"; + white = "#ABB2BF"; + grey = "#404247"; + bright-black = "#3e4451"; + bright-red = "#be5046"; + bright-green = "#98C379"; + bright-yellow = "#E5C07B"; + bright-blue = "#61AFEF"; + bright-magenta = "#C678DD"; + bright-cyan = "#56b6c2"; + bright-white = "#e6efff"; + light-grey = "#57595e"; +} diff --git a/modules/home/colorschemes/utils.nix b/modules/home/colorschemes/utils.nix new file mode 100644 index 00000000..25518acd --- /dev/null +++ b/modules/home/colorschemes/utils.nix @@ -0,0 +1,11 @@ +with builtins; +{ + transparentify = color: + "#99${substring 1 (stringLength color - 1) color}"; + + brighter = color: + color; + + dimmer = color: + color; +} From 874df9770ec7245c57d738dab67d0f47d13bb28b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 21:48:54 +0100 Subject: [PATCH 0678/2080] Install sqlite and fix bat theme --- home/fish.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/fish.nix b/home/fish.nix index 03c3fa6a..4413958f 100644 --- a/home/fish.nix +++ b/home/fish.nix @@ -11,7 +11,7 @@ in programs.fish.enable = true; # Add Fish plugins - home.packages = [ pkgs.fishPlugins.done ]; + home.packages = [ pkgs.fishPlugins.done pkgs.sqlite ]; # Fish configuration ------------------------------------------------------------------------- {{{ @@ -83,7 +83,7 @@ in set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate solarized-$term_background) # Use correct theme for `bat`. - set -xg BAT_THEME "Solarized dark" + set -xg BAT_THEME "Solarized (dark)" ''; # }}} } From 740f547be922d782879e7928ddb1a9d0620637aa Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 21:49:06 +0100 Subject: [PATCH 0679/2080] Fix style --- modules/home/colorschemes/dracula.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/colorschemes/dracula.nix b/modules/home/colorschemes/dracula.nix index cec0942d..0bd3ddda 100644 --- a/modules/home/colorschemes/dracula.nix +++ b/modules/home/colorschemes/dracula.nix @@ -1,5 +1,5 @@ let - utils = (import ./utils.nix); + utils = import ./utils.nix; in rec { # Note: This kinda feels like a hack and I am none to happy about it maybe in From 7a910cef5a4f06f941d55e67e5bc347e5aa4fbd3 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 22:14:44 +0100 Subject: [PATCH 0680/2080] Use dracula colors --- flake.nix | 7 ++- home/kitty.nix | 76 ++++++++++++++++----------- home/main.nix | 1 + modules/home/colorschemes/dracula.nix | 44 ---------------- modules/home/colorschemes/onedark.nix | 46 ---------------- modules/home/colorschemes/utils.nix | 11 ---- 6 files changed, 51 insertions(+), 134 deletions(-) delete mode 100644 modules/home/colorschemes/dracula.nix delete mode 100644 modules/home/colorschemes/onedark.nix delete mode 100644 modules/home/colorschemes/utils.nix diff --git a/flake.nix b/flake.nix index 3c9993b7..ae09d49f 100644 --- a/flake.nix +++ b/flake.nix @@ -65,7 +65,6 @@ # Custom modules from gh:malob colors = import ./modules/home/colors; # https://github.com/RichardYan314/dotfiles-nix/tree/c18de97ad9e7ae1ff46c806be2f0f91c43d5956e/users/colorschemes - colorscheme = import ./modules/home/colorschemes; programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; home-user-info = { lib, ... }: { @@ -101,7 +100,11 @@ imports = attrValues self.homeManagerModules; home.stateVersion = homeStateVersion; home.user-info = primaryUserDefaults; - }; + # theme = { + # name = "Dracula"; + # package = self.pkgs.dracula-theme; + # }; + }; # extraSpecialArgs = { inherit nix-colors; }; } ]; diff --git a/home/kitty.nix b/home/kitty.nix index d315baf6..6c78b634 100644 --- a/home/kitty.nix +++ b/home/kitty.nix @@ -1,20 +1,11 @@ -{ config, lib, pkgs, colorscheme, ... }: +{ config, lib, pkgs, ... }: { - # For colors - # imports = [ - # nix-colors.homeManagerModule - # ]; - # Kitty terminal # https://sw.kovidgoyal.net/kitty/conf.html # https://rycee.gitlab.io/home-manager/options.html#opt-programs.kitty.enable programs.kitty.enable = true; - # Colors config ------------------------------------------------------------------------------ {{{ - # colorScheme = nix-colors.colorSchemes.dracula; - # }}} - # General config ----------------------------------------------------------------------------- {{{ programs.kitty.settings = { font_family = "Cascadia Code PL"; @@ -34,27 +25,50 @@ inactive_tab_font_style = "normal"; tab_activity_symbol = ""; - # Colors - # foreground = "#${config.colorScheme.colors.base05}"; - # background = "#${config.colorScheme.colors.base00}"; - foreground = "${colorscheme.fg-primary}"; - background = "${colorscheme.bg-primary}"; - color0 = "${colorscheme.black}"; - color1 = "${colorscheme.red}"; - color2 = "${colorscheme.green}"; - color3 = "${colorscheme.yellow}"; - color4 = "${colorscheme.blue}"; - color5 = "${colorscheme.magenta}"; - color6 = "${colorscheme.cyan}"; - color7 = "${colorscheme.white}"; - color8 = "${colorscheme.bright-black}"; - color9 = "${colorscheme.bright-red}"; - color10 = "${colorscheme.bright-green}"; - color11 = "${colorscheme.bright-yellow}"; - color12 = "${colorscheme.bright-blue}"; - color13 = "${colorscheme.bright-magenta}"; - color14 = "${colorscheme.bright-cyan}"; - color15 = "${colorscheme.bright-white}"; + # Dracula Colors {{{ + foreground = "#f8f8f2"; + background = "#282a36"; + selection_foreground = "#ffffff"; + selection_background = "#44475a"; + # black + color0 = "#21222c"; + color8 = "#6272a4"; + # red + color1 = "#ff5555"; + color9 = "#ff6e6e"; + # green + color2 = "#50fa7b"; + color10 = "#69ff94"; + # yellow + color3 = "#f1fa8c"; + color11 = "#ffffa5"; + # blue + color4 = "#bd93f9"; + color12 = "#d6acff"; + # magenta + color5 = "#ff79c6"; + color13 = "#ff92df"; + # cyan + color6 = "#8be9fd"; + color14 = "#a4ffff"; + # white + color7 = "#f8f8f2"; + color15 = "#ffffff"; + # Cursor colors + cursor = "#f8f8f2"; + cursor_text_color = "background"; + # Tab bar colors + active_tab_foreground = "#282a36"; + active_tab_background = "#f8f8f2"; + inactive_tab_foreground = "#282a36"; + inactive_tab_background = "#6272a4"; + # Marks + mark1_foreground = "#282a36"; + mark1_background = "#ff5555"; + # Splits/Windows + active_border_color = "#f8f8f2"; + inactive_border_color = "#6272a4"; + # }}} }; # Change the style of italic font variants diff --git a/home/main.nix b/home/main.nix index 7ea72502..1e5e6d02 100644 --- a/home/main.nix +++ b/home/main.nix @@ -53,6 +53,7 @@ thefuck xz dracula-theme + tree # Dev stuff jq diff --git a/modules/home/colorschemes/dracula.nix b/modules/home/colorschemes/dracula.nix deleted file mode 100644 index 0bd3ddda..00000000 --- a/modules/home/colorschemes/dracula.nix +++ /dev/null @@ -1,44 +0,0 @@ -let - utils = import ./utils.nix; -in -rec { - # Note: This kinda feels like a hack and I am none to happy about it maybe in - # the future I might make this play nicely to with everything else. That is - # too much effort though. Creating a whole theme for vim - vim-name = "dracula"; - vim-statusline = "dracula"; - gtk-name = "Dracula"; - gtk-icon-name = "Moka"; - bat-theme-name = "Dracula"; - - bg-primary = black; - bg-primary-bright = bright-black; - bg-primary-transparent-argb = utils.transparentify bg-primary; - bg-primary-bright-transparent-argb = utils.transparentify bg-primary-bright; - fg-primary = white; - fg-primary-bright = bright-white; - - accent-primary = blue; - accent-secondary = magenta; - accent-tertiary = "#ffb86c"; - - alert = red; - warning = yellow; - - black = "#282a36"; - red = "#FF5555"; - green = "#50FA7B"; - yellow = "#F1FA8C"; - blue = "#BD93F9"; - magenta = "#FF79C6"; - cyan = "#8BE9FD"; - white = "#F8F8F2"; - bright-black = "#44475a"; - bright-red = "#FF6E6E"; - bright-green = "#69FF94"; - bright-yellow = "#FFFFA5"; - bright-blue = "#D6ACFF"; - bright-magenta = "#FF92DF"; - bright-cyan = "#A4FFFF"; - bright-white = "#FFFFFF"; -} diff --git a/modules/home/colorschemes/onedark.nix b/modules/home/colorschemes/onedark.nix deleted file mode 100644 index 09742c62..00000000 --- a/modules/home/colorschemes/onedark.nix +++ /dev/null @@ -1,46 +0,0 @@ -let - utils = (import ./utils.nix); -in -rec { - # Note: This kinda feels like a hack and I am none to happy about it maybe in - # the future I might make this play nicely to with everything else. That is - # too much effort though. Creating a whole theme for vim - vim-name = "one"; - vim-statusline = "onedark"; - gtk-name = "Dracula"; - gtk-icon-name = "Adwaita"; - bat-theme-name = "base16"; - - bg-primary = black; - bg-primary-bright = bright-black; - bg-primary-transparent-argb = utils.transparentify bg-primary; - bg-primary-bright-transparent-argb = utils.transparentify bg-primary-bright; - fg-primary = white; - fg-primary-bright = bright-white; - - accent-primary = green; - accent-secondary = blue; - accent-tertiary = magenta; - - alert = red; - warning = yellow; - - black = "#282C34"; - red = "#E06C75"; - green = "#98C379"; - yellow = "#d19a66"; - blue = "#61AFEF"; - magenta = "#C678DD"; - cyan = "#56b6c2"; - white = "#ABB2BF"; - grey = "#404247"; - bright-black = "#3e4451"; - bright-red = "#be5046"; - bright-green = "#98C379"; - bright-yellow = "#E5C07B"; - bright-blue = "#61AFEF"; - bright-magenta = "#C678DD"; - bright-cyan = "#56b6c2"; - bright-white = "#e6efff"; - light-grey = "#57595e"; -} diff --git a/modules/home/colorschemes/utils.nix b/modules/home/colorschemes/utils.nix deleted file mode 100644 index 25518acd..00000000 --- a/modules/home/colorschemes/utils.nix +++ /dev/null @@ -1,11 +0,0 @@ -with builtins; -{ - transparentify = color: - "#99${substring 1 (stringLength color - 1) color}"; - - brighter = color: - color; - - dimmer = color: - color; -} From 982e3f125beef0a3dbd2d69863743bd011bb1672 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 22:52:46 +0100 Subject: [PATCH 0681/2080] nvim: switch to tokyonight --- configs/nvim/colors/malo.vim | 8 - configs/nvim/lua/init.lua | 12 +- configs/nvim/lua/lush_theme/malo.lua | 528 ------------------ .../lua/lush_theme/malo/bufferline-nvim.lua | 86 --- .../nvim/lua/lush_theme/malo/statusline.lua | 31 - .../lua/lush_theme/malo/telescope-nvim.lua | 54 -- configs/nvim/lua/malo/galaxyline-nvim.lua | 2 +- configs/nvim/lua/malo/theme.lua | 58 -- configs/nvim/lua/malo/tokyonight-nvim.lua | 11 + home/neovim.nix | 7 +- 10 files changed, 22 insertions(+), 775 deletions(-) delete mode 100644 configs/nvim/colors/malo.vim delete mode 100644 configs/nvim/lua/lush_theme/malo.lua delete mode 100644 configs/nvim/lua/lush_theme/malo/bufferline-nvim.lua delete mode 100644 configs/nvim/lua/lush_theme/malo/statusline.lua delete mode 100644 configs/nvim/lua/lush_theme/malo/telescope-nvim.lua delete mode 100644 configs/nvim/lua/malo/theme.lua create mode 100644 configs/nvim/lua/malo/tokyonight-nvim.lua diff --git a/configs/nvim/colors/malo.vim b/configs/nvim/colors/malo.vim deleted file mode 100644 index 95ba175d..00000000 --- a/configs/nvim/colors/malo.vim +++ /dev/null @@ -1,8 +0,0 @@ -" Colorscheme build in Lua with `lush.nvim`, modeled initially on Solarized, but intended to be -" usable with alternate colors. -" Still early days, with lots of work needed -" See `../lua/malo-theme.lua` -let g:colors_name = 'malo' - -" Load colorscheme -lua require'malo.theme'.loadColorscheme() diff --git a/configs/nvim/lua/init.lua b/configs/nvim/lua/init.lua index 94471cb0..9fe3139f 100644 --- a/configs/nvim/lua/init.lua +++ b/configs/nvim/lua/init.lua @@ -90,12 +90,12 @@ o.fillchars = 'stl: ,stlnc: ,vert:·,eob: ' -- No '~' on lines after end o -- Set colorscheme if g.vscode == nil then - require'malo.theme'.extraLushSpecs = { - 'lush_theme.malo.bufferline-nvim', - 'lush_theme.malo.statusline', - 'lush_theme.malo.telescope-nvim', - } - cmd 'colorscheme malo' + -- require'malo.theme'.extraLushSpecs = { + -- 'lush_theme.malo.bufferline-nvim', + -- 'lush_theme.malo.statusline', + -- 'lush_theme.malo.telescope-nvim', + -- } + -- cmd 'colorscheme tokyonight' end diff --git a/configs/nvim/lua/lush_theme/malo.lua b/configs/nvim/lua/lush_theme/malo.lua deleted file mode 100644 index c17805a1..00000000 --- a/configs/nvim/lua/lush_theme/malo.lua +++ /dev/null @@ -1,528 +0,0 @@ --- Colorscheme build in Lua with `lush.nvim`, modeled initially on Solarized, but intended to be --- usable with alternate colors. --- Still early days, with lots of work needed --- https://github.com/rktjmp/lush.nvim -local c = require'malo.theme'.colors - --- Function to set/update colors that are dependant on `vim.o.background` -local function choose(dark, light) return vim.o.background == 'dark' and dark or light end -local function highlight(color) - return vim.o.background == 'dark' and color.lightness(20) or color.lightness(80) -end - ----@diagnostic disable: undefined-global -return require'lush'(function() - return { - -- Building Blocks ------------------------------------------------------------------------- {{{ - - -- Basic colors - DarkBaseBg { bg = c.darkBase }, - DarkBaseHlBg { bg = c.darkBaseHl }, - DarkestToneBg { bg = c.darkestTone }, - DarkToneBg { bg = c.darkTone }, - LightToneBg { bg = c.lightTone }, - LightestToneBg { bg = c.lightestTone }, - LightBaseHlBg { bg = c.lightBaseHl }, - LightBaseBg { bg = c.lightBase }, - YellowBg { bg = c.yellow }, - OrangeBg { bg = c.orange }, - RedBg { bg = c.red }, - MagentaBg { bg = c.magenta }, - VioletBg { bg = c.violet }, - BlueBg { bg = c.blue }, - CyanBg { bg = c.cyan }, - GreenBg { bg = c.green }, - DarkBaseFg { fg = DarkBaseBg.bg }, - DarkBaseHlFg { fg = DarkBaseHlBg.bg }, - DarkestToneFg { fg = DarkestToneBg.bg }, - DarkToneFg { fg = DarkToneBg.bg }, - LightToneFg { fg = LightToneBg.bg }, - LightestToneFg { fg = LightestToneBg.bg }, - LightBaseHlFg { fg = LightBaseHlBg.bg }, - LightBaseFg { fg = LightBaseBg.bg }, - YellowFg { fg = YellowBg.bg }, - OrangeFg { fg = OrangeBg.bg }, - RedFg { fg = RedBg.bg }, - MagentaFg { fg = MagentaBg.bg }, - VioletFg { fg = VioletBg.bg }, - BlueFg { fg = BlueBg.bg }, - CyanFg { fg = CyanBg.bg }, - GreenFg { fg = GreenBg.bg }, - - -- Colors dependant on background color - BaseBg { bg = choose(c.darkBase, c.lightBase) }, - BaseHlBg { bg = choose(c.darkBaseHl, c.lightBaseHl) }, - InvBaseBg { bg = choose(c.lightBase, c.darkBase) }, - InvBaseHlBg { bg = choose(c.lightBaseHl, c.darkBaseHl) }, - MainBg { bg = choose(c.lightTone, c.darkTone) }, - FadedBg { bg = choose(c.darkTone, c.lightTone) }, - MutedBg { bg = choose(c.darkestTone, c.lightestTone) }, - StrongBg { bg = choose(c.lightestTone , c.darkestTone) }, - BaseFg { fg = BaseBg.bg }, - BasheHlFg { fg = BasheHlBg.bg }, - InvBaseFg { fg = InvBaseBg.bg }, - InvBaseHlFg { fg = InvBaseHlBg.bg }, - MainFg { fg = MainBg.bg }, - FadedFg { fg = FadedBg.bg }, - MutedFg { fg = MutedBg.bg }, - StrongFg { fg = StrongBg.bg }, - YellowHlBg { bg = highlight(c.yellow) }, - OrangeHlBg { bg = highlight(c.orange) }, - RedHlBg { bg = highlight(c.red) }, - MagentaHlBg { bg = highlight(c.magenta) }, - VioletHlBg { bg = highlight(c.violet) }, - BlueHlBg { bg = highlight(c.blue) }, - CyanHlBg { bg = highlight(c.cyan) }, - GreenHlBg { bg = highlight(c.green) }, - - -- Misc - AddText { GreenFg }, - ChangeText { YellowFg }, - DeleteText { RedFg }, - ChangeDeleteText { OrangeFg }, - ErrorText { RedFg }, - WarningText { YellowFg }, - InfoText { BlueFg }, - HintText { MutedFg }, - -- }}} - - -- Basic Highlights ------------------------------------------------------------------------ {{{ - - Normal { BaseBg, fg = MainFg.fg }, - NormalNC { Normal }, - NormalFloat { InvBaseHlBg, fg = MutedFg.fg }, - - Comment { MutedFg, gui = 'italic' }, - - -- Any constant - Constant { CyanFg }, - -- String { }, -- a string constant: "this is a string" - -- Character { }, -- a character constant: 'c', '\n' - -- Number { }, -- a number constant: 234, 0xff - -- Boolean { }, -- a boolean constant: TRUE, false - -- Float { }, -- a floating point constant: 2.3e10 - - -- Any variable name - Identifier { BlueFg }, - -- Function { }, -- function name (also: methods for classes) - - -- Any statement - Statement { GreenFg, gui = 'bold,italic' }, - -- Conditional { }, -- if, then, else, endif, switch, etc. - -- Repeat { }, -- for, do, while, etc. - -- Label { }, -- case, default, etc. - Operator { Statement, gui = '' }, -- "sizeof", "+", "*", etc. - -- Keyword { }, -- any other keyword - -- Exception { }, -- try, catch, throw - - -- Generic Preprocessor - PreProc { OrangeFg }, - -- Include { }, -- preprocessor #include - -- Define { }, -- preprocessor #define - -- Macro { }, -- same as Define - -- PreCondit { }, -- preprocessor #if, #else, #endif, etc. - - -- int, long, char, etc. - Type { YellowFg }, - -- StorageClass { }, -- static, register, volatile, etc. - -- Structure { }, -- struct, union, enum, etc. - -- Typedef { }, -- A typedef - - -- Any special symbol - Special { RedFg }, - -- SpecialChar { }, -- special character in a constant - -- Tag { }, -- you can use CTRL-] on this - -- Delimiter { }, -- character that needs attention - -- SpecialComment { }, -- special things inside a comment - -- Debug { }, -- debugging statements - - -- Left blank, hidden - Ignore { }, - - -- Any erroneous construct - Error { ErrorText, gui = 'bold' }, - - -- Anything that needs extra attention; mostly the keywords TODO FIXME and XXX - Todo { MagentaFg, gui = 'bold' }, - - Underlined { gui = 'underline' }, - Bold { gui = 'bold' }, - Italic { gui = 'italic' }, - --- }}} - - -- Neovim UI ------------------------------------------------------------------------------- {{{ - - - -- Cursors ------------------------------------------------------------------------------------- - - -- Character under the cursor - Cursor { BlueBg, fg = Normal.bg }, - - -- The character under the cursor when |language-mapping| is used (see 'guicursor'). - lCursor { Cursor }, - - -- Like Cursor, but used when in IME mode |CursorIM| - CursorIM { Cursor }, - - -- Cursor in a focused terminal - TermCursor { Cursor }, - - -- Cursor in an unfocused terminal - TermCursorNC { Normal, gui = 'reverse' }, - - - -- Search -------------------------------------------------------------------------------------- - - -- Last search pattern highlighting (see 'hlsearch'). - -- Also used for similar items that need to stand out. - Search { YellowHlBg }, - - -- 'incsearch' highlighting; also used for the text replaced with ":s///c" - IncSearch { OrangeHlBg }, - - -- |:substitute| replacement text highlighting - -- Sustitute { }, - - -- Selections ---------------------------------------------------------------------------------- - - -- Visual mode selection - Visual { BlueHlBg }, - - -- Visual mode selection when vim is "Not Owning the Selection". - VisualNOS { Normal, gui = 'reverse' }, - - - -- Statusline ---------------------------------------------------------------------------------- - - -- Status line of current window. - StatusLine { BaseHlBg }, - - -- Status lines of not-current windows. Note: if this is equal to "StatusLine" Vim will use - -- "^^^" in the status line of the current window. - StatusLineNC { StatusLine, fg = FadedFg.fg }, - - - -- Tabline ------------------------------------------------------------------------------------- - - -- Not active tab page label. - TabLine { StatusLine }, - - -- Where there are no labels. - TabLineFill { bg = Normal.bg, fg = Normal.bg }, - - -- Active tab page label. - TabLineSel { TabLine, gui = 'bold,italic' }, - - - -- Columns and other lines --------------------------------------------------------------------- - - -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is - -- set. - LineNr { MutedFg }, - - -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. - CursorLineNr { BlueFg, gui = 'bold' }, - - -- Column where |signs| are displayed. - SignColumn { bg = LineNr.bg, gui = 'bold' }, - - -- Screen-column at the cursor, when 'cursorcolumn' is set. - CursorColumn { bg = StatusLine.bg }, - - -- Screen-line at the cursor, when 'cursorline' is set. - -- Low-priority if foreground (ctermfg OR guifg) is not set. - CursorLine { CursorColumn }, - - -- Used for the columns set with 'colorcolumn'. - ColorColumn { CursorColumn }, - - -- The column separating vertically split windows. - VertSplit { LineNr, gui = 'bold' }, - - -- Separator between window splits. Inherts from |hl-VertSplit| by default, which it will - -- replace eventually. - -- Winseparator { }, - - -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor - -- is there. - -- QuickFixLine { }, - - -- Folds --------------------------------------------------------------------------------------- - - -- Line used for closed folds. - Folded { CursorLine, gui = 'bold' }, - - -- See 'foldcolumn' - FoldColumn { CursorLine }, - - - -- Popup menu ---------------------------------------------------------------------------------- - - -- Normal item - Pmenu { NormalFloat }, - - -- Selected item - PmenuSel { Pmenu, gui = 'bold', blend = 0 }, - - -- Scrollbar - PmenuSbar { InvBaseBg }, - - -- Thumb of the scrollbar - PmenuThumb { Pmenu, gui = 'reverse' }, - - - -- Diff mode ----------------------------------------------------------------------------------- - - -- Added line |diff.txt| - DiffAdd { AddText, bg = CursorLine.bg, gui = 'bold' }, - - -- Changed line |diff.txt| - DiffChange { ChangeText, bg = CursorLine.bg, gui = 'bold' }, - - -- Deleted line |diff.txt| - DiffDelete { DeleteText, bg = CursorLine.bg, gui = 'bold' }, - - -- Changed text within a changed line |diff.txt| - DiffText { BlueFg, bg = CursorLine.bg, gui = 'bold' }, - - - -- Spell checker ------------------------------------------------------------------------------- - - -- Word that is not recognized by the spellchecker. Combined with the highlighting used - -- otherwise. - SpellBad { gui = 'undercurl', sp = c.red }, - - - -- Word that should start with a capital. Combined with the highlighting used otherwise. - SpellCap { gui = 'undercurl', sp = c.violet }, - - -- Word that is recognized by the spellchecker as one that is hardly ever used. Combined with - -- the highlighting used otherwise. - SpellRare { gui = 'undercurl', sp = c.cyan }, - - -- Word that is recognized by the spellchecker as one that is used in another region. Combined - -- with the highlighting used otherwise. - SpellLocal { gui = 'undercurl', sp = c.yellow }, - - - -- Messages, prompts, etc. --------------------------------------------------------------------- - - -- Area for messages and cmdline - MsgArea { Normal, fg = Comment.fg }, - - -- Separator for scrolled messages, `msgsep` flag of 'display' - -- MsgSeparator { }, - - -- Error messages on the command line - ErrorMsg { ErrorText, gui = 'bold' }, - - -- Warning messages - WarningMsg { WarningText, gui = 'bold' }, - - -- 'showmode' message (e.g., "-- INSERT -- ") - ModeMsg { BlueFg }, - - -- |more-prompt| - MoreMsg { ModeMsg }, - - -- Directory names (and other special names in listings) - Directory { BlueFg }, - - -- |hit-enter| prompt and yes/no questions - Question { CyanFg, gui = 'bold' }, - - -- Titles for output from ":set all", ":autocmd" etc. - Title { OrangeFg, gui = 'bold' }, - - - -- Other character highlights ------------------------------------------------------------------ - - -- Placeholder characters substituted for concealed text (see 'conceallevel') - Conceal { BlueFg }, - - -- The character under the cursor or just before it, if it is a paired bracket, - -- and its match. |pi_paren.txt| - MatchParen { RedFg, gui = 'reverse,bold' }, - - -- Unprintable characters: text displayed differently from what it really is. - SpecialKey { Comment, gui = 'bold' }, - - -- '@' at the end of the window, characters from 'showbreak' and other characters that do not - -- really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at - -- the end of the line). See also |hl-EndOfBuffer|. - NonText { Comment, gui = 'bold' }, - - -- filler lines (~) after the end of the buffer. By default, this is highlighted like - -- |hl-NonText|. - -- EndOfBuffer { }, - - -- Current match in 'wildmenu' completion - WildMenu { PmenuSel }, - - -- "nbsp", "space", "tab" and "trail" in 'listchars' - -- Whitespace { }, - -- }}} - - -- Builtin LSP ----------------------------------------------------------------------------- {{{ - - -- These groups are for the native LSP client and diagnostic system. Some other LSP clients may - -- use these groups, or use their own. - -- See :h lsp-highlight - - -- Used for highlighting references. See :h document_highlight - LspReferenceText { gui = 'underline', sp = CyanBg.bg }, - LspReferenceRead { LspReferenceText }, - LspReferenceWrite { LspReferenceText, sp = VioletBg.bg }, - - -- Used to color the virtual text of the codelens. See |nvim_buf_set_extmark()|. - -- LspCodeLens { } , - - -- Used to color the seperator between two or more code lens. - -- LspCodeLensSeparator { } , - - -- Used to highlight the active parameter in the signature help. See |vim.lsp.handlers.signature_help()|. - -- LspSignatureActiveParameter { } , - - -- }}} - - -- Diagnostics ----------------------------------------------------------------------------- {{{ - - -- Used as the base highlight groups. Other Diagnostic highlights link to these by default - -- (except Underline) - DiagnosticError { ErrorText }, - DiagnosticWarn { WarningText }, - DiagnosticInfo { InfoText }, - DiagnosticHint { HintText }, - - -- Used to underline diagnostics. - DiagnosticUnderlineError { gui = 'underline', sp = DiagnosticError.fg }, - DiagnosticUnderlineWarn { DiagnosticUnderlineError, sp = DiagnosticWarn.fg }, - DiagnosticUnderlineInfo { DiagnosticUnderlineError, sp = DiagnosticInfo.fg }, - DiagnosticUnderlineHint { DiagnosticUnderlineError, sp = DiagnosticHint.fg }, - - -- Used for diagnostics virtual text. - -- DiagnosticVirtualTextError { } , - -- DiagnosticVirtualTextWarn { } , - -- DiagnosticVirtualTextInfo { } , - -- DiagnosticVirtualTextHint { } , - - -- Used to color diagnostic messages in diagnostics float. See |vim.diagnostic.open_float()| - -- DiagnosticFloatingError { } , - -- DiagnosticFloatingWarn { } , - -- DiagnosticFloatingInfo { } , - -- DiagnosticFloatingHint { } , - - -- Used for diagnostic signs in sign column. - -- DiagnosticSignError { } , - -- DiagnosticSignWarn { } , - -- DiagnosticSignInfo { } , - -- DiagnosticSignHint { } , - -- }}} - - -- TODO: TreeSitter ------------------------------------------------------------------------ {{{ - - -- Tree-Sitter syntax groups. Most link to corresponding - -- vim syntax groups (e.g. TSKeyword => Keyword) by default. - -- - -- See :h nvim-treesitter-highlights, some groups may not be listed, submit a PR fix to lush-template! - -- - -- TSAttribute { } , -- Annotations that can be attached to the code to denote some kind of meta information. e.g. C++/Dart attributes. - -- TSBoolean { } , -- Boolean literals: `True` and `False` in Python. - -- TSCharacter { } , -- Character literals: `'a'` in C. - -- TSCharacterSpecial { } , -- Special characters. - -- TSComment { } , -- Line comments and block comments. - -- TSConditional { } , -- Keywords related to conditionals: `if`, `when`, `cond`, etc. - -- TSConstant { } , -- Constants identifiers. These might not be semantically constant. E.g. uppercase variables in Python. - -- TSConstBuiltin { } , -- Built-in constant values: `nil` in Lua. - -- TSConstMacro { } , -- Constants defined by macros: `NULL` in C. - -- TSConstructor { } , -- Constructor calls and definitions: `{}` in Lua, and Java constructors. - -- TSDebug { } , -- Debugging statements. - -- TSDefine { } , -- Preprocessor #define statements. - -- TSError { } , -- Syntax/parser errors. This might highlight large sections of code while the user is typing still incomplete code, use a sensible highlight. - -- TSException { } , -- Exception related keywords: `try`, `except`, `finally` in Python. - -- TSField { } , -- Object and struct fields. - -- TSFloat { } , -- Floating-point number literals. - -- TSFunction { } , -- Function calls and definitions. - -- TSFuncBuiltin { } , -- Built-in functions: `print` in Lua. - -- TSFuncMacro { } , -- Macro defined functions (calls and definitions): each `macro_rules` in Rust. - -- TSInclude { } , -- File or module inclusion keywords: `#include` in C, `use` or `extern crate` in Rust. - -- TSKeyword { } , -- Keywords that don't fit into other categories. - -- TSKeywordFunction { } , -- Keywords used to define a function: `function` in Lua, `def` and `lambda` in Python. - -- TSKeywordOperator { } , -- Unary and binary operators that are English words: `and`, `or` in Python; `sizeof` in C. - -- TSKeywordReturn { } , -- Keywords like `return` and `yield`. - -- TSLabel { } , -- GOTO labels: `label:` in C, and `::label::` in Lua. - -- TSMethod { } , -- Method calls and definitions. - -- TSNamespace { } , -- Identifiers referring to modules and namespaces. - -- TSNone { } , -- No highlighting (sets all highlight arguments to `NONE`). this group is used to clear certain ranges, for example, string interpolations. Don't change the values of this highlight group. - -- TSNumber { } , -- Numeric literals that don't fit into other categories. - -- TSOperator { } , -- Binary or unary operators: `+`, and also `->` and `*` in C. - -- TSParameter { } , -- Parameters of a function. - -- TSParameterReference { } , -- References to parameters of a function. - -- TSPreProc { } , -- Preprocessor #if, #else, #endif, etc. - -- TSProperty { } , -- Same as `TSField`. - -- TSPunctDelimiter { } , -- Punctuation delimiters: Periods, commas, semicolons, etc. - -- TSPunctBracket { } , -- Brackets, braces, parentheses, etc. - -- TSPunctSpecial { } , -- Special punctuation that doesn't fit into the previous categories. - -- TSRepeat { } , -- Keywords related to loops: `for`, `while`, etc. - -- TSStorageClass { } , -- Keywords that affect how a variable is stored: `static`, `comptime`, `extern`, etc. - -- TSString { } , -- String literals. - -- TSStringRegex { } , -- Regular expression literals. - -- TSStringEscape { } , -- Escape characters within a string: `\n`, `\t`, etc. - -- TSStringSpecial { } , -- Strings with special meaning that don't fit into the previous categories. - -- TSSymbol { } , -- Identifiers referring to symbols or atoms. - -- TSTag { } , -- Tags like HTML tag names. - -- TSTagAttribute { } , -- HTML tag attributes. - -- TSTagDelimiter { } , -- Tag delimiters like `<` `>` `/`. - -- TSText { } , -- Non-structured text. Like text in a markup language. - -- TSStrong { } , -- Text to be represented in bold. - -- TSEmphasis { } , -- Text to be represented with emphasis. - -- TSUnderline { } , -- Text to be represented with an underline. - -- TSStrike { } , -- Strikethrough text. - -- TSTitle { } , -- Text that is part of a title. - -- TSLiteral { } , -- Literal or verbatim text. - -- TSURI { } , -- URIs like hyperlinks or email addresses. - -- TSMath { } , -- Math environments like LaTeX's `$ ... $` - -- TSTextReference { } , -- Footnotes, text references, citations, etc. - -- TSEnvironment { } , -- Text environments of markup languages. - -- TSEnvironmentName { } , -- Text/string indicating the type of text environment. Like the name of a `\begin` block in LaTeX. - -- TSNote { } , -- Text representation of an informational note. - -- TSWarning { } , -- Text representation of a warning note. - -- TSDanger { } , -- Text representation of a danger note. - -- TSType { } , -- Type (and class) definitions and annotations. - -- TSTypeBuiltin { } , -- Built-in types: `i32` in Rust. - -- TSVariable { } , -- Variable names that don't fit into other categories. - -- TSVariableBuiltin { } , -- Variable names defined by the language: `this` or `self` in Javascript. - - -- }}} - - -- Plugins --------------------------------------------------------------------------------- {{{ - - - -- vim-floaterm -------------------------------------------------------------------------------- - -- https://github.com/voldikss/vim-floaterm - - Floaterm { Normal }, - FloatermNC { Floaterm }, - FloatermBorder { Floaterm, gui = 'bold,italic' }, - - - -- vim-gitgutter ------------------------------------------------------------------------------- - -- https://github.com/airblade/vim-gitgutter - - GitGutterAdd { AddText }, - GitGutterChange { ChangeText }, - GitGutterDelete { DeleteText }, - GitGutterAddLineNr { AddText }, - GitGutterChangeLineNr { ChangeText }, - GitGutterDeleteLineNr { DeleteText }, - GitGutterChangeDeleteLineNr { ChangeDeleteText }, - - - -- vim-which-key ------------------------------------------------------------------------------- - -- https://github.com/liuchengxu/vim-which-key - - WhichKeyFloating { StatusLine }, - -- }}} - } -end) --- vim: foldmethod=marker cursorline cursorcolumn signcolumn=yes number diff --git a/configs/nvim/lua/lush_theme/malo/bufferline-nvim.lua b/configs/nvim/lua/lush_theme/malo/bufferline-nvim.lua deleted file mode 100644 index f3b01ad1..00000000 --- a/configs/nvim/lua/lush_theme/malo/bufferline-nvim.lua +++ /dev/null @@ -1,86 +0,0 @@ --- Custom highlights for bufferline.nvim --- https://github.com/akinsho/bufferline.nvim --- See `../../malo/bufferline-nvim.lua` for related configuration. -local t = require'lush_theme.malo' - ----@diagnostic disable: undefined-global -return require'lush'(function() - return { - BufferLineFill { t.TabLineFill , sp = t.BlueFg.fg }, - BufferLineBackground { BufferLineFill, fg = t.Comment.fg }, - - BufferLineBuffer { BufferLineBackground }, - BufferLineBufferVisible { BufferLineBuffer, bg = t.StatusLine.bg }, - BufferLineBufferSelected { BufferLineBufferVisible, fg = t.StrongFg.fg, gui = 'bold,italic,underline' }, - - BufferLineSeparator { BufferLineFill }, - BufferLineSeparatorVisible { BufferLineSeparator, bg = BufferLineBufferVisible.bg }, - BufferLineSeparatorSelected { BufferLineSeparatorVisible, gui = 'underline' }, - - BufferLineTab { BufferLineBuffer }, - BufferLineTabSelected { BufferLineBufferSelected, gui = 'bold,underline' }, - BufferLineTabClose { BufferLineTab }, - BufferLineTabSeparator { BufferLineSeparator }, - BufferLineTabSeparatorSelected { BufferLineSeparatorSelected, gui = 'reverse' }, - - BufferLineCloseButton { BufferLineBuffer }, - BufferLineCloseButtonVisible { BufferLineBufferVisible }, - BufferLineCloseButtonSelected { BufferLineBufferSelected }, - - BufferLineModified { BufferLineBuffer , fg = t.ChangeText.fg }, - BufferLineModifiedVisible { BufferLineBufferVisible, fg = t.ChangeText.fg }, - BufferLineModifiedSelected { BufferLineBufferSelected, fg = t.ChangeText.fg }, - - BufferLineDuplicate { BufferLineBuffer }, - BufferLineDuplicateVisible { BufferLineBufferVisible }, - BufferLineDuplicateSelected { BufferLineBufferVisible, gui = 'underline' }, - - BufferLinePick { BufferLineBuffer, fg = t.CyanFg.fg, gui = 'bold', }, - BufferLinePickVisible { BufferLinePick, bg = BufferLineBufferVisible.bg }, - BufferLinePickSelected { BufferLinePick, bg = BufferLineBufferSelected.bg, gui = 'bold,underline' }, - - BufferLineDiagnostic { BufferLineBuffer }, - BufferLineDiagnosticVisible { BufferLineBufferVisible }, - BufferLineDiagnosticSelected { BufferLineBufferSelected }, - - BufferLineError { BufferLineDiagnostic }, - BufferLineErrorVisible { BufferLineDiagnosticVisible }, - BufferLineErrorSelected { BufferLineDiagnosticSelected }, - BufferLineErrorDiagnostic { BufferLineError, fg = t.ErrorText.fg }, - BufferLineErrorDiagnosticVisible { BufferLineErrorVisible, fg = t.ErrorText.fg }, - BufferLineErrorDiagnosticSelected { BufferLineErrorSelected, fg = t.ErrorText.fg }, - - BufferLineWarning { BufferLineDiagnostic }, - BufferLineWarningVisible { BufferLineDiagnosticVisible }, - BufferLineWarningSelected { BufferLineDiagnosticSelected }, - BufferLineWarningDiagnostic { BufferLineWarning, fg = t.WarningText.fg }, - BufferLineWarningDiagnosticVisible { BufferLineWarningVisible, fg = t.WarningText.fg }, - BufferLineWarningDiagnosticSelected { BufferLineWarningSelected, fg = t.WarningText.fg }, - - BufferLineInfo { BufferLineDiagnostic }, - BufferLineInfoVisible { BufferLineDiagnosticVisible }, - BufferLineInfoSelected { BufferLineDiagnosticSelected }, - BufferLineInfoDiagnostic { BufferLineInfo, fg = t.InfoText.fg }, - BufferLineInfoDiagnosticVisible { BufferLineInfoVisible, fg = t.InfoText.fg }, - BufferLineInfoDiagnosticSelected { BufferLineInfoSelected, fg = t.InfoText.fg }, - - BufferLineHint { BufferLineDiagnostic }, - BufferLineHintVisible { BufferLineDiagnosticVisible }, - BufferLineHintSelected { BufferLineDiagnosticSelected }, - BufferLineHintDiagnostic { BufferLineHint, fg = t.HintText.fg }, - BufferLineHintDiagnosticVisible { BufferLineHintVisible, fg = t.HintText.fg }, - BufferLineHintDiagnosticSelected { BufferLineHintSelected, fg = t.HintText.fg }, - - BufferLineRightCustomAreaText1 { BufferLineBuffer }, - - -- Not currently implemented - -- BufferLineIndicatorVisible - -- BufferLineIndicatorSelected - -- BufferLineGroupLabel - -- BufferLineGroupSeparator - -- BufferLineNumbers - -- BufferLineNumbersSelected - -- BufferLineNumbersVisible - -- BufferLineOffsetSeparator - } -end) diff --git a/configs/nvim/lua/lush_theme/malo/statusline.lua b/configs/nvim/lua/lush_theme/malo/statusline.lua deleted file mode 100644 index 3afcee49..00000000 --- a/configs/nvim/lua/lush_theme/malo/statusline.lua +++ /dev/null @@ -1,31 +0,0 @@ --- Highlights used with statusline defined in `../../statusline.lua`. -local t = require'lush_theme.malo' - ----@diagnostic disable: undefined-global -return require'lush'(function() - return { - StatusLineMode { t.GreenBg, fg = t.LightBaseFg.fg }, - StatusLineModeSep { t.StatusLine, fg = t.GreenFg.fg }, - - StatusLineFileName { t.StatusLine, gui = 'italic' }, - - StatusLineGitBranch { t.StatusLine, gui = 'bold' }, - StatusLineDiffAdd { t.StatusLine, fg = t.AddText.fg }, - StatusLineDiffModified { t.StatusLine, fg = t.ChangeText.fg }, - StatusLineDiffRemove { t.StatusLine, fg = t.DeleteText.fg }, - - StatusLineLspClient { t.StatusLine }, - StatusLineDiagnosticError { t.StatusLine, fg = t.ErrorText.fg }, - StatusLineDiagnosticWarn { t.StatusLine, fg = t.WarningText.fg }, - StatusLineDiagnosticInfo { t.StatusLine }, - StatusLineDiagnosticHint { StatusLineDiagnosticInfo }, - - StatusLineLineInfo { StatusLineMode }, - StatusLineLineInfoSep { StatusLineModeSep }, - StatusLineFilePosition { StatusLineMode }, - StatusLineFilePositionSep { StatusLineMode }, - - StatusLineSortStatusLine { t.StatusLineNC }, - } -end) - diff --git a/configs/nvim/lua/lush_theme/malo/telescope-nvim.lua b/configs/nvim/lua/lush_theme/malo/telescope-nvim.lua deleted file mode 100644 index 9c6715b9..00000000 --- a/configs/nvim/lua/lush_theme/malo/telescope-nvim.lua +++ /dev/null @@ -1,54 +0,0 @@ --- Highlights for telescope.nvim --- https://github.com/nvim-telescope/telescope.nvim --- See `../../malo/telescope-nvim.lua` for related configuration. -local t = require'lush_theme.malo' - ----@diagnostic disable: undefined-global -return require'lush'(function() - return { - TelescopeNormal { t.Normal }, - - -- Selection - TelescopeSelection { t.Visual }, - TelescopeMultiSelection { t.Search }, - TelescopeSelectionCaret { TelescopeSelection, fg = t.RedFg.fg, gui = 'bold' }, - - -- Border - TelescopeBorder { t.MainFg, gui = 'bold,italic' }, - TelescopePromptBorder { TelescopeBorder, fg = t.BlueFg.fg }, - TelescopeResultsBorder { TelescopeBorder }, - TelescopePreviewBorder { TelescopeBorder }, - - -- Used for highlighting characters that you match. - TelescopeMatching { t.RedFg }, - - -- Used for the prompt prefix - TelescopePromptPrefix { t.GreenFg, gui = 'bold' }, - - -- Used for highlighting the matched line inside Previewer. - -- Works only for (vim_buffer_previewer) - TelescopePreviewLine { t.CursorLine }, - TelescopePreviewMatch { t.Search }, - - -- Used for Picker specific Results highlighting - -- TelescopeResultsClass { Function }, - -- TelescopeResultsConstant { Constant }, - -- TelescopeResultsField { Function }, - -- TelescopeResultsFunction { Function }, - -- TelescopeResultsMethod { Method }, - -- TelescopeResultsOperator { Operator }, - -- TelescopeResultsStruct { Struct }, - -- TelescopeResultsVariable { SpecialChar }, - - -- TelescopeResultsLineNr { LineNr }, - -- TelescopeResultsIdentifier { Identifier }, - -- TelescopeResultsNumber { Number }, - -- TelescopeResultsComment { Comment }, - -- TelescopeResultsSpecialComment { SpecialComment }, - - -- Used for git status Results highlighting - -- TelescopeResultsDiffChange { DiffChange }, - -- TelescopeResultsDiffAdd { DiffAdd }, - -- TelescopeResultsDiffDelete { DiffDelete }, - } -end) diff --git a/configs/nvim/lua/malo/galaxyline-nvim.lua b/configs/nvim/lua/malo/galaxyline-nvim.lua index f19fbe4b..e2b075c6 100644 --- a/configs/nvim/lua/malo/galaxyline-nvim.lua +++ b/configs/nvim/lua/malo/galaxyline-nvim.lua @@ -36,7 +36,7 @@ gl.section.left = { FileIcon = { condition = condition.buffer_not_empty, provider = function () - vim.cmd('hi GalaxyFileIcon guifg='..require'galaxyline.providers.fileinfo'.get_file_icon_color()..' guibg='..require'lush_theme.malo'.StatusLine.bg.hex) + vim.cmd('hi GalaxyFileIcon guifg='..require'galaxyline.providers.fileinfo'.get_file_icon_color()..' guibg=#1f2335') return require'galaxyline.providers.fileinfo'.get_file_icon() .. ' ' end, highlight = {}, diff --git a/configs/nvim/lua/malo/theme.lua b/configs/nvim/lua/malo/theme.lua deleted file mode 100644 index 9b303df3..00000000 --- a/configs/nvim/lua/malo/theme.lua +++ /dev/null @@ -1,58 +0,0 @@ --- Colorscheme build in Lua with `lush.nvim`, modeled initially on Solarized, but intended to be --- usable with alternate colors. --- Still early days, with lots of work needed --- https://github.com/rktjmp/lush.nvim -local lush = require 'lush' -local hsl = lush.hsl -local seq = require 'pl.seq' - -local M = {} - --- Default colors are the Solarized colors -M.colors = { - darkBase = hsl '#002b36', -- base03 - darkBaseHl = hsl '#073642', -- base02 - darkestTone = hsl '#586e75', -- base01 - darkTone = hsl '#657b83', -- base00 - lightTone = hsl '#839496', -- base0 - lightestTone = hsl '#93a1a1', -- base1 - lightBaseHl = hsl '#eee8d5', -- base2 - lightBase = hsl '#fdf6e3', -- base3 - yellow = hsl '#b58900', - orange = hsl '#cb4b16', - red = hsl '#dc322f', - magenta = hsl '#d33682', - violet = hsl '#6c71c4', - blue = hsl '#268bd2', - cyan = hsl '#2aa198', - green = hsl '#859900', -} - --- A table of strings with the name of additonal Lush specs that should be merged with the --- colorscheme. -M.extraLushSpecs = {} - --- Function called from `../colors/malo.vim` to load the colorscheme. -M.loadColorscheme = function () - vim.o.pumblend = 10 - vim.o.winblend = vim.o.pumblend - - -- We need to unload all Lush specs so that the specs are regenerated whenever the colorscheme is - -- reapplied. - package.loaded['lush_theme.malo'] = nil - seq(M.extraLushSpecs):foreach(function(v) package.loaded[v] = nil end) - - -- Merge the main colorscheme spec with any additional specs that were provided. - local finalSpec = lush.merge { - require 'lush_theme.malo', - lush.merge(seq(M.extraLushSpecs):map(require):copy()) - } - - -- Apply colorscheme - lush(finalSpec) - - -- Set `nvim-web-devincons` highlights if they are in use - if pcall(require, 'nvim-web-devicons') then require'nvim-web-devicons'.setup() end -end - -return M diff --git a/configs/nvim/lua/malo/tokyonight-nvim.lua b/configs/nvim/lua/malo/tokyonight-nvim.lua new file mode 100644 index 00000000..b993ff74 --- /dev/null +++ b/configs/nvim/lua/malo/tokyonight-nvim.lua @@ -0,0 +1,11 @@ +local utils = require'malo.utils' + +-- tokyonight.nvim +-- https://github.com/folke/tokyonight.nvim +vim.cmd 'packadd tokyonight.nvim' +vim.cmd([[colorscheme tokyonight]]) +-- https://github.com/nvim-lualine/lualine.nvim +vim.cmd 'packadd lualine.nvim' +require("lualine").setup({ + options = { theme = "tokyonight" }, +}) diff --git a/home/neovim.nix b/home/neovim.nix index 90589da7..603ca059 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -91,8 +91,9 @@ in # Put neovim configuration located in this repository into place in a way that edits to the # configuration don't require rebuilding the `home-manager` environment to take effect. xdg.configFile."nvim/lua".source = mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/lua"; - xdg.configFile."nvim/colors".source = - mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/colors"; + # xdg.configFile."nvim/lua".source = mkOutOfStoreSymlink "${nixConfigDirectory}/.config/nvim/lua"; + # xdg.configFile."nvim/colors".source = + # mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/colors"; # Load the `init` module from the above configs programs.neovim.extraConfig = "lua require('init')"; @@ -110,7 +111,7 @@ in deps = [ nvim-web-devicons scope-nvim ]; config = requireConf bufferline-nvim; } - { use = galaxyline-nvim; deps = [ nvim-web-devicons ]; config = requireConf galaxyline-nvim; } + { use = lualine-nvim; deps = [ nvim-web-devicons tokyonight-nvim ]; config = requireConf tokyonight-nvim; opt = true; } { use = gitsigns-nvim; config = requireConf gitsigns-nvim; } { use = goyo-vim; } { use = indent-blankline-nvim; config = requireConf indent-blankline-nvim; } From cbe875f07b318c591e47825b9b499bc97b472922 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 22:57:08 +0100 Subject: [PATCH 0682/2080] nvim: switch to tokyonight for bufferline --- configs/nvim/lua/malo/bufferline-nvim.lua | 44 ++--------------------- 1 file changed, 2 insertions(+), 42 deletions(-) diff --git a/configs/nvim/lua/malo/bufferline-nvim.lua b/configs/nvim/lua/malo/bufferline-nvim.lua index c3f7c240..3c06f26a 100644 --- a/configs/nvim/lua/malo/bufferline-nvim.lua +++ b/configs/nvim/lua/malo/bufferline-nvim.lua @@ -7,9 +7,9 @@ vim.cmd 'packadd bufferline.nvim' require 'scope'.setup() require 'bufferline'.setup { options = { - themable = true, + -- themable = true, -- view = 'multiwindow', - separator_style = 'slant', + -- separator_style = 'slant', diagnostics = 'nvim_lsp', diagnostics_indicator = function(_, level) return ' ' .. ( @@ -20,44 +20,4 @@ require 'bufferline'.setup { end, custom_areas = { right = function() return { { text = ' ' .. os.date('%H:%M') } } end } }, - -- Highlights or mostly defined in `../lush_theme/malo/bufferline-nvim.lua` but the following is - -- required to get icon highlights to display correctly, since `bufferline.nvim` generates them - -- on the fly based on these values. - highlights = { - background = { - bg = { - attribute = 'bg', - highlight = 'Normal', - }, - fg = { - attribute = 'fg', - highlight = 'Comment', - }, - }, - buffer_visible = { - bg = { - attribute = 'bg', - highlight = 'StatusLine', - }, - fg = { - attribute = 'fg', - highlight = 'Comment', - }, - }, - buffer_selected = { - bg = { - attribute = 'bg', - highlight = 'StatusLine', - }, - fg = { - attribute = 'fg', - highlight = 'StrongFg', - }, - underline = true, - sp = { - attribute = 'fg', - highlight = 'BlueFg', - }, - }, - }, } From c2b012d53cfba83bebbc135f9e6d910af9dc6bf2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 23:25:19 +0100 Subject: [PATCH 0683/2080] tmux: use a custom config --- flake.nix | 1 + home/custom-plugins.nix | 16 ++++++++++++++ home/default.conf | 49 +++++++++++++++++++++++++++++++++++++++++ home/tmux.nix | 38 ++++++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 home/custom-plugins.nix create mode 100644 home/default.conf create mode 100644 home/tmux.nix diff --git a/flake.nix b/flake.nix index ae09d49f..79af874d 100644 --- a/flake.nix +++ b/flake.nix @@ -60,6 +60,7 @@ my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; my-neovim = import ./home/neovim.nix; + my-tmux = import ./home/tmux.nix; my-main = import ./home/main.nix; # Custom modules from gh:malob diff --git a/home/custom-plugins.nix b/home/custom-plugins.nix new file mode 100644 index 00000000..f76a4cca --- /dev/null +++ b/home/custom-plugins.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: + +let + buildTmuxPlugin = pkgs.tmuxPlugins.mkTmuxPlugin; +in +{ + nord = buildTmuxPlugin { + pluginName = "nord"; + version = "v0.3.0"; + src = builtins.fetchTarball { + name = "Nord-Tmux-2020-08-25"; + url = "https://github.com/arcticicestudio/nord-tmux/archive/4e2dc2a5065f5e8e67366700f803c733682e8f8c.tar.gz"; + sha256 = "0l97cqbnq31f769jak31ffb7bkf8rrg72w3vd0g3fjpq0717864a"; + }; + }; +} diff --git a/home/default.conf b/home/default.conf new file mode 100644 index 00000000..8c2bda1d --- /dev/null +++ b/home/default.conf @@ -0,0 +1,49 @@ +set -g default-command /run/current-system/sw/bin/fish +set -g default-shell /run/current-system/sw/bin/fish + +# automatically renumber tmux windows +set -g renumber-windows on + +# Activity Monitoring +setw -g monitor-activity off +set -g visual-activity off + +# make delay shorter +set -sg escape-time 0 + +# make window/pane index start with 1 +setw -g pane-base-index 1 + +############ Key Bindings ############ + +# reload config file +bind r source-file ~/.tmux.conf \; display "Config Reloaded!" + +# split window and fix path for tmux 1.9 +bind | split-window -h -c "#{pane_current_path}" +bind - split-window -v -c "#{pane_current_path}" + +# synchronize all panes in a window +bind y setw synchronize-panes + +# pane movement shortcuts +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +bind -r C-h select-window -t :- +bind -r C-l select-window -t :+ + +# Resize pane shortcuts +bind -r H resize-pane -L 10 +bind -r J resize-pane -D 10 +bind -r K resize-pane -U 10 +bind -r L resize-pane -R 10 + +# Remap x to avoid confirmation to kill pane +bind-key x kill-pane + +# Move windows +bind-key S-Left swap-window -t -1\; select-window -t -1 +bind-key S-Right swap-window -t +1\; select-window -t +1 diff --git a/home/tmux.nix b/home/tmux.nix new file mode 100644 index 00000000..c803310a --- /dev/null +++ b/home/tmux.nix @@ -0,0 +1,38 @@ +{ config, pkgs, lib, ... }: + +let + # inherit (config.home.user-info) nixConfigDirectory; + + plugins = pkgs.tmuxPlugins // pkgs.callPackage ./custom-plugins.nix {}; + # Not working, impure... + # tmuxConf = builtins.readFile "${nixConfigDirectory}/configs/tmux/default.conf"; + tmuxConf = builtins.readFile ./default.conf; +in +{ + programs.tmux = { + enable = true; + aggressiveResize = true; + baseIndex = 1; + extraConfig = tmuxConf; + escapeTime = 0; + keyMode = "vi"; + plugins = with plugins; [ + cpu + nord # theme + { + plugin = resurrect; + extraConfig = "set -g @resurrect-strategy-nvim 'session'"; + } + { + plugin = continuum; + extraConfig = '' + set -g @continuum-restore 'on' + set -g @continuum-save-interval '60' # minutes + ''; + } + ]; + shortcut = "a"; + terminal = "screen-256color"; + }; +} + From 6a92155bfa65f00b2f341345d005f2f57c069da8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 23:25:42 +0100 Subject: [PATCH 0684/2080] --amend --- home/main.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/main.nix b/home/main.nix index 1e5e6d02..a08f4bce 100644 --- a/home/main.nix +++ b/home/main.nix @@ -3,7 +3,6 @@ # - zsh config # - keybase # - nextcloud -# - tmux config # - i3 config: minimal: cpu temp in bar # - firefox: disable password saving # - access email (mutt, isync, notmuch) @@ -43,7 +42,6 @@ gnupg mutt fortune - tmux bat exa fd From ae2f83eae0511cafed1063831fbc18b792be960e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 23:26:23 +0100 Subject: [PATCH 0685/2080] Link to upstream tmux conf --- home/tmux.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/tmux.nix b/home/tmux.nix index c803310a..775c99ea 100644 --- a/home/tmux.nix +++ b/home/tmux.nix @@ -1,3 +1,4 @@ +# https://github.com/gvolpe/nix-config/blob/1c5ef00d2ecec075c4b7f78cddcde3598dd0c7a0/home/programs/tmux/default.nix { config, pkgs, lib, ... }: let From baba9458e343ab5939fd4189b20ee08bc8c74a54 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 23:30:43 +0100 Subject: [PATCH 0686/2080] Install keybase and nextcloud-client --- home/main.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home/main.nix b/home/main.nix index a08f4bce..80c04bdf 100644 --- a/home/main.nix +++ b/home/main.nix @@ -1,11 +1,9 @@ -## Todo -# - zsh as default shell -# - zsh config +## TODO # - keybase # - nextcloud # - i3 config: minimal: cpu temp in bar -# - firefox: disable password saving # - access email (mutt, isync, notmuch) +# - firefox: disable password saving { config, pkgs, lib, ... }: { @@ -52,6 +50,8 @@ xz dracula-theme tree + keybase + nextcloud-client # Dev stuff jq From 649833768fbd9577ab6088158a0e87aaa4b36bf2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 3 Dec 2022 23:50:42 +0100 Subject: [PATCH 0687/2080] Move keybase to a dedicated file --- flake.nix | 1 + home/keybase.nix | 13 +++++++++++++ home/main.nix | 1 - 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 home/keybase.nix diff --git a/flake.nix b/flake.nix index 79af874d..15826566 100644 --- a/flake.nix +++ b/flake.nix @@ -61,6 +61,7 @@ my-starship-symbols = import ./home/starship-symbols.nix; my-neovim = import ./home/neovim.nix; my-tmux = import ./home/tmux.nix; + my-keybase = import ./home/keybase.nix; my-main = import ./home/main.nix; # Custom modules from gh:malob diff --git a/home/keybase.nix b/home/keybase.nix new file mode 100644 index 00000000..53a37b93 --- /dev/null +++ b/home/keybase.nix @@ -0,0 +1,13 @@ +{ config, lib, pkgs, ... }: + +{ + # Keybase secure messaging + # https://keybase.io/ + services.keybase.enable = true; + services.kbfs.enable = true; + # services.kbfs.enableRedirector = true; + home.packages = with pkgs; [ + keybase-gui + ]; +} + diff --git a/home/main.nix b/home/main.nix index 80c04bdf..2dd7e7ce 100644 --- a/home/main.nix +++ b/home/main.nix @@ -50,7 +50,6 @@ xz dracula-theme tree - keybase nextcloud-client # Dev stuff From ba645db591ca71258d027fa7fcc7e80969398c39 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 00:21:07 +0100 Subject: [PATCH 0688/2080] Move Firefox to a dedicated file --- flake.nix | 1 + home/firefox.nix | 38 ++++++++++++++++++++++++++++++++++++++ home/main.nix | 4 ---- 3 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 home/firefox.nix diff --git a/flake.nix b/flake.nix index 15826566..622e9910 100644 --- a/flake.nix +++ b/flake.nix @@ -62,6 +62,7 @@ my-neovim = import ./home/neovim.nix; my-tmux = import ./home/tmux.nix; my-keybase = import ./home/keybase.nix; + my-firefox = import ./home/firefox.nix; my-main = import ./home/main.nix; # Custom modules from gh:malob diff --git a/home/firefox.nix b/home/firefox.nix new file mode 100644 index 00000000..51c2e40c --- /dev/null +++ b/home/firefox.nix @@ -0,0 +1,38 @@ + +{ config, lib, pkgs, ... }: + +{ + programs.firefox.policies = { + extensionsSettings = { + "*" = { + "installation_mode" = "blocked"; + "allowed_types" = ["extension"]; + }; + "uBlock0@raymondhill.net" = { + installation_mode = "force_installed"; + }; + }; + }; + programs.firefox = { + enable = true; + preferences = { + }; + package = pkgs.wrapFirefox pkgs.firefox-unwrapped { + extraPolicies = { + ExtensionSettings = let + ext = name: { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/${name}/latest.xpi"; + }; + in { + "*" = { + installation_mode = "blocked"; + blocked_install_message = "Extensions managed by home-manager."; + }; + "uBlock0@raymondhill.net" = ext "ublock-origin"; + }; + # <<<modules/home/fiefox-policies>>> + }; + }; + }; +} diff --git a/home/main.nix b/home/main.nix index 2dd7e7ce..45895717 100644 --- a/home/main.nix +++ b/home/main.nix @@ -55,10 +55,6 @@ # Dev stuff jq nodejs - - # Useful graphical tools - firefox - keybase ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 8a0e868c4ffddec1803a141d091da289e34557e5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 00:37:24 +0100 Subject: [PATCH 0689/2080] Configure firefox with home manager --- home/firefox.nix | 75 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 61 insertions(+), 14 deletions(-) diff --git a/home/firefox.nix b/home/firefox.nix index 51c2e40c..7837d97c 100644 --- a/home/firefox.nix +++ b/home/firefox.nix @@ -1,22 +1,11 @@ +# https://github.com/mozilla/policy-templates/blob/master/README.md +# https://github.com/DPDmancul/dotfiles/blob/928d666ba20926451dacd4e251b95a6329fd2e68/src/modules/home/firefox.md { config, lib, pkgs, ... }: { - programs.firefox.policies = { - extensionsSettings = { - "*" = { - "installation_mode" = "blocked"; - "allowed_types" = ["extension"]; - }; - "uBlock0@raymondhill.net" = { - installation_mode = "force_installed"; - }; - }; - }; programs.firefox = { enable = true; - preferences = { - }; package = pkgs.wrapFirefox pkgs.firefox-unwrapped { extraPolicies = { ExtensionSettings = let @@ -30,8 +19,66 @@ blocked_install_message = "Extensions managed by home-manager."; }; "uBlock0@raymondhill.net" = ext "ublock-origin"; + "@contain-facebook" = ext "facebook-container"; + "{446900e4-71c2-419f-a6a7-df9c091e268b}" = ext "bitwarden-password-manager"; + # Cookie quick manager + "{60f82f00-9ad5-4de5-b31c-b16a47c51558}" = ext "cookie-quick-manager"; + # cookies.txt: for exporting cookies to a Netscape HTTP Cookie file + # "{12cf650b-1822-40aa-bff0-996df6948878}" = ext "cookies.txt"; + # foxyproxy Standard + "foxyproxy@eric.h.jung" = ext "foxyproxy"; + # wappalyzer + "wappalyzer@crunchlabz.com" = ext "wappalyzer"; + # Gnome shell integration + # "chrome-gnome-shell@gnome.org" = ext "gnome-shell-integration"; + }; + PasswordManagerEnabled = false; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; }; - # <<<modules/home/fiefox-policies>>> + DisableTelemetry = true; + DisableFirefoxStudies = true; + DisablePocket = true; + }; + }; + profiles.default = { + settings = { + "browser.download.always_ask_before_handling_new_types" = true; + "browser.download.useDownloadDir" = false; + "browser.download.dir" = "${config.xdg.userDirs.download}/Firefox"; + "media.ffmpeg.vaapi.enabled" = true; + "dom.security.https_only_mode" = true; + "dom.security.https_only_mode_ever_enabled" = true; + "privacy.donottrackheader.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + "privacy.partition.network_state.ocsp_cache" = true; + "browser.newtabpage.activity-stream.feeds.telemetry" = false; + "browser.newtabpage.activity-stream.telemetry" = false; + "browser.ping-centre.telemetry" = false; + "toolkit.telemetry.archive.enabled" = false; + "toolkit.telemetry.bhrPing.enabled" = false; + "toolkit.telemetry.enabled" = false; + "toolkit.telemetry.firstShutdownPing.enabled" = false; + "toolkit.telemetry.hybridContent.enabled" = false; + "toolkit.telemetry.newProfilePing.enabled" = false; + "toolkit.telemetry.reportingpolicy.firstRun" = false; + "toolkit.telemetry.shutdownPingSender.enabled" = false; + "toolkit.telemetry.unified" = false; + "toolkit.telemetry.updatePing.enabled" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.discoverystream.sponsored-collections.enabled" = false; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.search.suggest.enabled" = true; + "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; + "extensions.pocket.enabled" = false; + "extensions.pocket.api" = ""; + "extensions.pocket.oAuthConsumerKey" = ""; + "extensions.pocket.showHome" = false; + "extensions.pocket.site" = ""; }; }; }; From d66d5d3e859422947628ead9ebe22b5c70ae9669 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 00:49:00 +0100 Subject: [PATCH 0690/2080] Firefox: disable password saving --- home/main.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 45895717..673bbf5b 100644 --- a/home/main.nix +++ b/home/main.nix @@ -3,7 +3,6 @@ # - nextcloud # - i3 config: minimal: cpu temp in bar # - access email (mutt, isync, notmuch) -# - firefox: disable password saving { config, pkgs, lib, ... }: { From 69e4955bc443908d6f71a4528d7abe06033a439e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 02:03:34 +0100 Subject: [PATCH 0691/2080] Link to interesting repo --- NIX.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NIX.md b/NIX.md index 77b2f128..298e46d5 100644 --- a/NIX.md +++ b/NIX.md @@ -30,6 +30,10 @@ sudo nixos-rebuild switch --flake . ## References +# Very good + +- https://dpdmancul.gitlab.io/dotfiles/index.html + ### Conf files - https://github.com/gvolpe/nix-config From af33c24b1aebfbaf20ddbe537678b19624eb2985 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 11:12:03 +0100 Subject: [PATCH 0692/2080] Doc on deleting old generations --- NIX.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/NIX.md b/NIX.md index 298e46d5..7718a343 100644 --- a/NIX.md +++ b/NIX.md @@ -24,6 +24,14 @@ sudo result/bin/switch-to-configuration switch sudo nixos-rebuild switch --flake . ``` +## Deleting old generations + +```shell +nix-env -p /nix/var/nix/profiles/system --list-generations +sudo nix-collect-garbage -d +sudo nixos-rebuild switch --flake . +``` + ## Searching for a package - https://search.nixos.org/packages From 8d58863ae64144a541a938f10ef922d7e8c57e87 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 14:29:53 +0100 Subject: [PATCH 0693/2080] Cosmetics --- home/tmux.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home/tmux.nix b/home/tmux.nix index 775c99ea..1ef9834f 100644 --- a/home/tmux.nix +++ b/home/tmux.nix @@ -36,4 +36,3 @@ in terminal = "screen-256color"; }; } - From b6edafbc62e2f08e9a8850519d1465c20bc8bdf6 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 14:32:16 +0100 Subject: [PATCH 0694/2080] flake: load neovim nightly, cleaning. --- flake.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index 622e9910..0e86666e 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,9 @@ darwin.url = "github:lnl7/nix-darwin/master"; darwin.inputs.nixpkgs.follows = "nixpkgs"; + # neovim nightly + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + # home-manager home-manager.url = "github:nix-community/home-manager/release-22.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; @@ -99,24 +102,20 @@ home-manager.useGlobalPkgs = true; # install packages to /etc/profiles home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.baptiste = { imports = attrValues self.homeManagerModules; + # XXX Unused, to be removed? home.stateVersion = homeStateVersion; home.user-info = primaryUserDefaults; - # theme = { - # name = "Dracula"; - # package = self.pkgs.dracula-theme; - # }; }; - # extraSpecialArgs = { inherit nix-colors; }; } ]; - specialArgs = { inherit inputs; }; }; }; # `nix-darwin` configs - darwinConfigurations = rec { + darwinConfigurations = { Baptistes-MBP = darwin.lib.darwinSystem { system = "x86_64-darwin"; modules = [ From 3dd22680c7fc20674abab9a3360f6bec7e116f22 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 14:32:56 +0100 Subject: [PATCH 0695/2080] neovim: use nightly --- home/neovim.nix | 237 +++++------------------------------------------- 1 file changed, 21 insertions(+), 216 deletions(-) diff --git a/home/neovim.nix b/home/neovim.nix index 603ca059..93994963 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -1,220 +1,25 @@ -{ config, pkgs, lib, ... }: -# Let-In ----------------------------------------------------------------------------------------{{{ -let - inherit (lib) concatStringsSep optional; - inherit (config.lib.file) mkOutOfStoreSymlink; - inherit (config.home.user-info) nixConfigDirectory; - - mkLuaTableFromList = x: "{" + lib.concatMapStringsSep "," (y: "'${y}'") x + "}"; - mkNeovimAutocmd = { event, pattern, callback ? "" }: '' - vim.api.nvim_create_autocmd(${mkLuaTableFromList event}, { - pattern = ${mkLuaTableFromList pattern}, - callback = ${callback}, - })''; - requireConf = p: "require 'malo.${builtins.replaceStrings [ "." ] [ "-" ] p.pname}'"; - - # Function to create `programs.neovim.plugins` entries inspired by `packer.nvim`. - packer = - { use - # Plugins that this plugin depends on. - , deps ? [ ] - # Used to manually specify that the plugin shouldn't be loaded at start up. - , opt ? false - # Whether to load the plugin when using VS Code with `vscode-neovim`. - , vscode ? false - # Code to run before the plugin is loaded. - , setup ? "" - # Code to run after the plugin is loaded. - , config ? "" - # The following all imply lazy-loading and imply `opt = true`. - # `FileType`s which load the plugin. - , ft ? [ ] - # Autocommand events which load the plugin. - , event ? [ ] - }: - let - loadFunctionName = "load_${builtins.replaceStrings [ "." "-" ] [ "_" "_" ] use.pname}"; - autoload = !opt && vscode && ft == [ ] && event == [ ]; - configFinal = - concatStringsSep "\n" ( - optional (!autoload && !opt) "vim.cmd 'packadd ${use.pname}'" - ++ optional (config != "") config - ); - in - { - plugin = use.overrideAttrs (old: { - dependencies = lib.unique (old.dependencies or [ ] ++ deps); - }); - optional = !autoload; - type = "lua"; - config = if (setup == "" && configFinal == "") then null else - ( - concatStringsSep "\n" - ( - [ "\n-- ${use.pname or use.name}" ] - ++ optional (setup != "") setup - - # If the plugin isn't always loaded at startup - ++ optional (!autoload) (concatStringsSep "\n" ( - [ "local ${loadFunctionName} = function()" ] - ++ optional (!vscode) "if vim.g.vscode == nil then" - ++ [ configFinal ] - ++ optional (!vscode) "end" - ++ [ "end" ] - ++ optional (ft == [ ] && event == [ ]) "${loadFunctionName}()" - ++ optional (ft != [ ]) (mkNeovimAutocmd { - event = [ "FileType" ]; - pattern = ft; - callback = loadFunctionName; - }) - ++ optional (event != [ ]) (mkNeovimAutocmd { - inherit event; - pattern = [ "*" ]; - callback = loadFunctionName; - }) - )) +# https://srid.ca/cli/neovim/install +{ pkgs, inputs, ... }: - # If the plugin is always loaded at startup - ++ optional (autoload && configFinal != "") configFinal - ) - ); - }; +let + neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; in -# }}} { - # Neovim - # https://rycee.gitlab.io/home-manager/options.html#opt-programs.neovim.enable - programs.neovim.enable = true; - - # Config and plugins ------------------------------------------------------------------------- {{{ - - # Put neovim configuration located in this repository into place in a way that edits to the - # configuration don't require rebuilding the `home-manager` environment to take effect. - xdg.configFile."nvim/lua".source = mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/lua"; - # xdg.configFile."nvim/lua".source = mkOutOfStoreSymlink "${nixConfigDirectory}/.config/nvim/lua"; - # xdg.configFile."nvim/colors".source = - # mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/colors"; - - # Load the `init` module from the above configs - programs.neovim.extraConfig = "lua require('init')"; - - # Add NodeJs since it's required by some plugins I use. - programs.neovim.withNodeJs = true; - # Add `penlight` Lua module package since I used in the above configs - programs.neovim.extraLuaPackages = [ pkgs.lua51Packages.penlight ]; - - # Add plugins using my `packer` function. - programs.neovim.plugins = with pkgs.vimPlugins; map packer [ - # Apperance, interface, UI, etc. - { - use = bufferline-nvim; - deps = [ nvim-web-devicons scope-nvim ]; - config = requireConf bufferline-nvim; - } - { use = lualine-nvim; deps = [ nvim-web-devicons tokyonight-nvim ]; config = requireConf tokyonight-nvim; opt = true; } - { use = gitsigns-nvim; config = requireConf gitsigns-nvim; } - { use = goyo-vim; } - { use = indent-blankline-nvim; config = requireConf indent-blankline-nvim; } - { use = lush-nvim; vscode = true; } - { - use = telescope-nvim; - config = requireConf telescope-nvim; - deps = [ - nvim-web-devicons - telescope-file-browser-nvim - telescope-fzf-native-nvim - telescope_hoogle - telescope-symbols-nvim - telescope-zoxide - ]; - } - { use = toggleterm-nvim; config = requireConf toggleterm-nvim; } - { use = zoomwintab-vim; opt = true; } - - # Completions - { use = copilot-vim; } - { use = coq_nvim; opt = true; deps = [ coq-artifacts coq-thirdparty ]; config = requireConf coq_nvim; } - - # Language servers, linters, etc. - { - use = lsp_lines-nvim; - config = '' - require'lsp_lines'.setup() - vim.diagnostic.config({ virtual_lines = { only_current_line = true } })''; - } - { use = lspsaga-nvim; config = requireConf lspsaga-nvim; } - { use = null-ls-nvim; config = requireConf null-ls-nvim; } - { use = nvim-lspconfig; deps = [ neodev-nvim ]; config = requireConf nvim-lspconfig; } - - # Language support/utilities - { - use = nvim-treesitter.withAllGrammars; - config = requireConf nvim-treesitter; - } - { use = vim-polyglot; config = requireConf vim-polyglot; } - - # Editor behavior - # Apparently broken - # { use = comment-nvim; config = "require'comment'.setup()"; } - { use = editorconfig-vim; setup = "vim.g.EditorConfig_exclude_patterns = { 'fugitive://.*' }"; } - { use = tabular; vscode = true; } - { use = vim-surround; vscode = true; } - { use = nvim-lastplace; config = "require'nvim-lastplace'.setup()"; } - { - use = vim-pencil; - setup = "vim.g['pencil#wrapModeDefault'] = 'soft'"; - config = "vim.fn['pencil#init'](); vim.wo.spell = true"; - ft = [ "markdown" "text" ]; - } - - # Misc - { use = direnv-vim; } - { use = vim-eunuch; vscode = true; } - { use = vim-fugitive; } - { use = which-key-nvim; opt = true; } - ]; - - # From personal addon module `../modules/home/programs/neovim/extras.nix` - programs.neovim.extras.termBufferAutoChangeDir = true; - programs.neovim.extras.nvrAliases.enable = true; - programs.neovim.extras.defaultEditor = true; - - # }}} - - # Required packages -------------------------------------------------------------------------- {{{ - - programs.neovim.extraPackages = with pkgs; [ - neovim-remote - - # Language servers, linters, etc. - # See `../configs/nvim/lua/malo/nvim-lspconfig.lua` and - # `../configs/nvim/lua/malo/null-ls-nvim.lua` for configuration. - - # C/C++/Objective-C - ccls - - # Bash - nodePackages.bash-language-server - shellcheck - - # Javascript/Typescript - nodePackages.typescript-language-server - - # Nix - deadnix - statix - nil - nixpkgs-fmt - - # Vim - nodePackages.vim-language-server - - #Other - nodePackages.vscode-langservers-extracted - nodePackages.yaml-language-server - proselint - sumneko-lua-language-server - ]; - # }}} + programs.neovim = { + enable = true; + package = neovim-nightly; + + extraPackages = [ + ]; + + plugins = with pkgs.vimPlugins; [ + vim-airline + papercolor-theme + ]; + + extraConfig = '' + set background=dark + colorscheme PaperColor + ''; + }; } -# vim: foldmethod=marker From 9459d84f41771cbf70185a687803fa7283f15eb9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 14:33:13 +0100 Subject: [PATCH 0696/2080] Temporary park malob conf --- home/neovim-malob.nix | 220 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 home/neovim-malob.nix diff --git a/home/neovim-malob.nix b/home/neovim-malob.nix new file mode 100644 index 00000000..603ca059 --- /dev/null +++ b/home/neovim-malob.nix @@ -0,0 +1,220 @@ +{ config, pkgs, lib, ... }: +# Let-In ----------------------------------------------------------------------------------------{{{ +let + inherit (lib) concatStringsSep optional; + inherit (config.lib.file) mkOutOfStoreSymlink; + inherit (config.home.user-info) nixConfigDirectory; + + mkLuaTableFromList = x: "{" + lib.concatMapStringsSep "," (y: "'${y}'") x + "}"; + mkNeovimAutocmd = { event, pattern, callback ? "" }: '' + vim.api.nvim_create_autocmd(${mkLuaTableFromList event}, { + pattern = ${mkLuaTableFromList pattern}, + callback = ${callback}, + })''; + requireConf = p: "require 'malo.${builtins.replaceStrings [ "." ] [ "-" ] p.pname}'"; + + # Function to create `programs.neovim.plugins` entries inspired by `packer.nvim`. + packer = + { use + # Plugins that this plugin depends on. + , deps ? [ ] + # Used to manually specify that the plugin shouldn't be loaded at start up. + , opt ? false + # Whether to load the plugin when using VS Code with `vscode-neovim`. + , vscode ? false + # Code to run before the plugin is loaded. + , setup ? "" + # Code to run after the plugin is loaded. + , config ? "" + # The following all imply lazy-loading and imply `opt = true`. + # `FileType`s which load the plugin. + , ft ? [ ] + # Autocommand events which load the plugin. + , event ? [ ] + }: + let + loadFunctionName = "load_${builtins.replaceStrings [ "." "-" ] [ "_" "_" ] use.pname}"; + autoload = !opt && vscode && ft == [ ] && event == [ ]; + configFinal = + concatStringsSep "\n" ( + optional (!autoload && !opt) "vim.cmd 'packadd ${use.pname}'" + ++ optional (config != "") config + ); + in + { + plugin = use.overrideAttrs (old: { + dependencies = lib.unique (old.dependencies or [ ] ++ deps); + }); + optional = !autoload; + type = "lua"; + config = if (setup == "" && configFinal == "") then null else + ( + concatStringsSep "\n" + ( + [ "\n-- ${use.pname or use.name}" ] + ++ optional (setup != "") setup + + # If the plugin isn't always loaded at startup + ++ optional (!autoload) (concatStringsSep "\n" ( + [ "local ${loadFunctionName} = function()" ] + ++ optional (!vscode) "if vim.g.vscode == nil then" + ++ [ configFinal ] + ++ optional (!vscode) "end" + ++ [ "end" ] + ++ optional (ft == [ ] && event == [ ]) "${loadFunctionName}()" + ++ optional (ft != [ ]) (mkNeovimAutocmd { + event = [ "FileType" ]; + pattern = ft; + callback = loadFunctionName; + }) + ++ optional (event != [ ]) (mkNeovimAutocmd { + inherit event; + pattern = [ "*" ]; + callback = loadFunctionName; + }) + )) + + # If the plugin is always loaded at startup + ++ optional (autoload && configFinal != "") configFinal + ) + ); + }; +in +# }}} +{ + # Neovim + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.neovim.enable + programs.neovim.enable = true; + + # Config and plugins ------------------------------------------------------------------------- {{{ + + # Put neovim configuration located in this repository into place in a way that edits to the + # configuration don't require rebuilding the `home-manager` environment to take effect. + xdg.configFile."nvim/lua".source = mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/lua"; + # xdg.configFile."nvim/lua".source = mkOutOfStoreSymlink "${nixConfigDirectory}/.config/nvim/lua"; + # xdg.configFile."nvim/colors".source = + # mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/colors"; + + # Load the `init` module from the above configs + programs.neovim.extraConfig = "lua require('init')"; + + # Add NodeJs since it's required by some plugins I use. + programs.neovim.withNodeJs = true; + # Add `penlight` Lua module package since I used in the above configs + programs.neovim.extraLuaPackages = [ pkgs.lua51Packages.penlight ]; + + # Add plugins using my `packer` function. + programs.neovim.plugins = with pkgs.vimPlugins; map packer [ + # Apperance, interface, UI, etc. + { + use = bufferline-nvim; + deps = [ nvim-web-devicons scope-nvim ]; + config = requireConf bufferline-nvim; + } + { use = lualine-nvim; deps = [ nvim-web-devicons tokyonight-nvim ]; config = requireConf tokyonight-nvim; opt = true; } + { use = gitsigns-nvim; config = requireConf gitsigns-nvim; } + { use = goyo-vim; } + { use = indent-blankline-nvim; config = requireConf indent-blankline-nvim; } + { use = lush-nvim; vscode = true; } + { + use = telescope-nvim; + config = requireConf telescope-nvim; + deps = [ + nvim-web-devicons + telescope-file-browser-nvim + telescope-fzf-native-nvim + telescope_hoogle + telescope-symbols-nvim + telescope-zoxide + ]; + } + { use = toggleterm-nvim; config = requireConf toggleterm-nvim; } + { use = zoomwintab-vim; opt = true; } + + # Completions + { use = copilot-vim; } + { use = coq_nvim; opt = true; deps = [ coq-artifacts coq-thirdparty ]; config = requireConf coq_nvim; } + + # Language servers, linters, etc. + { + use = lsp_lines-nvim; + config = '' + require'lsp_lines'.setup() + vim.diagnostic.config({ virtual_lines = { only_current_line = true } })''; + } + { use = lspsaga-nvim; config = requireConf lspsaga-nvim; } + { use = null-ls-nvim; config = requireConf null-ls-nvim; } + { use = nvim-lspconfig; deps = [ neodev-nvim ]; config = requireConf nvim-lspconfig; } + + # Language support/utilities + { + use = nvim-treesitter.withAllGrammars; + config = requireConf nvim-treesitter; + } + { use = vim-polyglot; config = requireConf vim-polyglot; } + + # Editor behavior + # Apparently broken + # { use = comment-nvim; config = "require'comment'.setup()"; } + { use = editorconfig-vim; setup = "vim.g.EditorConfig_exclude_patterns = { 'fugitive://.*' }"; } + { use = tabular; vscode = true; } + { use = vim-surround; vscode = true; } + { use = nvim-lastplace; config = "require'nvim-lastplace'.setup()"; } + { + use = vim-pencil; + setup = "vim.g['pencil#wrapModeDefault'] = 'soft'"; + config = "vim.fn['pencil#init'](); vim.wo.spell = true"; + ft = [ "markdown" "text" ]; + } + + # Misc + { use = direnv-vim; } + { use = vim-eunuch; vscode = true; } + { use = vim-fugitive; } + { use = which-key-nvim; opt = true; } + ]; + + # From personal addon module `../modules/home/programs/neovim/extras.nix` + programs.neovim.extras.termBufferAutoChangeDir = true; + programs.neovim.extras.nvrAliases.enable = true; + programs.neovim.extras.defaultEditor = true; + + # }}} + + # Required packages -------------------------------------------------------------------------- {{{ + + programs.neovim.extraPackages = with pkgs; [ + neovim-remote + + # Language servers, linters, etc. + # See `../configs/nvim/lua/malo/nvim-lspconfig.lua` and + # `../configs/nvim/lua/malo/null-ls-nvim.lua` for configuration. + + # C/C++/Objective-C + ccls + + # Bash + nodePackages.bash-language-server + shellcheck + + # Javascript/Typescript + nodePackages.typescript-language-server + + # Nix + deadnix + statix + nil + nixpkgs-fmt + + # Vim + nodePackages.vim-language-server + + #Other + nodePackages.vscode-langservers-extracted + nodePackages.yaml-language-server + proselint + sumneko-lua-language-server + ]; + # }}} +} +# vim: foldmethod=marker From 1aeda8e2af5786734087b14b1a39797dad6a9004 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 14:33:48 +0100 Subject: [PATCH 0697/2080] Load neovim nightly overlay --- flake.lock | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 93 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index 4454f371..af83543f 100644 --- a/flake.lock +++ b/flake.lock @@ -21,6 +21,37 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1668681692, + "narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "009399224d5e398d03b22badca40a37ac85412a1", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -43,7 +74,67 @@ "type": "github" } }, + "neovim-flake": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1670121140, + "narHash": "sha256-/T6Rpe/0RcLBfX14ClTtBSv8tZnNMBsQoUBPP5GQ86A=", + "owner": "neovim", + "repo": "neovim", + "rev": "a0dd663c2d321ce107aa07005aa01b9c341c5df2", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-nightly-overlay": { + "inputs": { + "flake-compat": "flake-compat", + "neovim-flake": "neovim-flake", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1670141628, + "narHash": "sha256-WWpMOgYadTJlcPLSI6xDPOHHFzguq1Rpl4iHFQvbYaI=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "f472e68e8ca819ea9f3fd7b4949d6ae7f699097e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, "nixpkgs": { + "locked": { + "lastModified": 1670086663, + "narHash": "sha256-hT8C8AQB74tdoCPwz4nlJypLMD7GI2F5q+vn+VE/qQk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "813836d64fa57285d108f0dbf2356457ccd304e3", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1670009809, "narHash": "sha256-yt/dQ32Vz4WenDLu4XeHbnXFxiHbTcnU0WwiLW5Ce6c=", @@ -63,7 +154,8 @@ "inputs": { "darwin": "darwin", "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "neovim-nightly-overlay": "neovim-nightly-overlay", + "nixpkgs": "nixpkgs_2" } }, "utils": { From 03d64b3d819b6e254582d7b3ae5aa9eb243c38d6 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 14:51:19 +0100 Subject: [PATCH 0698/2080] tmux: back to ctrl-b --- home/default.conf | 6 ------ home/tmux.nix | 1 - 2 files changed, 7 deletions(-) diff --git a/home/default.conf b/home/default.conf index 8c2bda1d..ba509a9b 100644 --- a/home/default.conf +++ b/home/default.conf @@ -8,12 +8,6 @@ set -g renumber-windows on setw -g monitor-activity off set -g visual-activity off -# make delay shorter -set -sg escape-time 0 - -# make window/pane index start with 1 -setw -g pane-base-index 1 - ############ Key Bindings ############ # reload config file diff --git a/home/tmux.nix b/home/tmux.nix index 1ef9834f..f8e938ac 100644 --- a/home/tmux.nix +++ b/home/tmux.nix @@ -32,7 +32,6 @@ in ''; } ]; - shortcut = "a"; terminal = "screen-256color"; }; } From 02af159512efe6cafaa69989c0a52c474c3bb0e9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 15:35:02 +0100 Subject: [PATCH 0699/2080] fish: disable manual vim aliases --- home/fish.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/fish.nix b/home/fish.nix index 4413958f..d4c8b4af 100644 --- a/home/fish.nix +++ b/home/fish.nix @@ -28,8 +28,8 @@ in ns = "nix search"; # Other - vim = "nvim"; - vimdiff = "nvim -d"; + # vim = "nvim"; + # vimdiff = "nvim -d"; ".." = "cd .."; ":q" = "exit"; cat = "${bat}/bin/bat"; From b4077ebce2720a06bc1e6560c4efd305c4dad0b5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 15:35:45 +0100 Subject: [PATCH 0700/2080] Improve neovim config --- home/neovim.nix | 261 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 257 insertions(+), 4 deletions(-) diff --git a/home/neovim.nix b/home/neovim.nix index 93994963..21076636 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -8,18 +8,271 @@ in programs.neovim = { enable = true; package = neovim-nightly; + vimAlias = true; + viAlias = true; + # XXX does not exist? + # defaultEditor = true; extraPackages = [ ]; plugins = with pkgs.vimPlugins; [ - vim-airline - papercolor-theme + plenary-nvim + nvim-web-devicons + vim-numbertoggle + { + plugin = tokyonight-nvim; + config = '' + set background=dark + colorscheme tokyonight + ''; + } + lualine-lsp-progress + { + plugin = lualine-nvim; + type = "lua"; + config = '' + require("lualine").setup({ + options = { + theme = "tokyonight", + section_separators = { + left = "", + right = "" + }, + component_separators = { + left = "|", + right = "|" + }, + }, + sections = { + lualine_c = { + "filename", + "lsp_progress" + }, + lualine_x = { + "encoding", + "fileformat", + function () + if vim.o.expandtab then + return vim.o.shiftwidth .. " ␣" + else + return vim.o.tabstop .. " ↹" + end + end, + "filetype" + } + } + }) + ''; + } + { + plugin = bufferline-nvim; + type = "lua"; + config = '' + require("bufferline").setup { + options = { + show_close_icon = false, + custom_filter = function(buf, buf_nums) + -- Hide quickfix lists from bufferline + return vim.bo[buf].buftype ~= "quickfix" + end, + offsets = { + { + filetype = "NvimTree", + text = vim.fn.getcwd + } + } + } + } + ''; + } + { + plugin = wilder-nvim; + config = "call wilder#setup({'modes': [':', '/', '?']})"; + } + { + plugin = neoscroll-nvim; + type = "lua"; + config = ''require"neoscroll".setup{}''; + } + editorconfig-nvim + vim-sleuth + { + plugin = camelcasemotion; + config = "let g:camelcasemotion_key = '\\'"; + } + (vimUtils.buildVimPlugin { + name = "vim-fanfingtastic"; + src = fetchFromGitHub { + owner = "dahu"; + repo = "vim-fanfingtastic"; + rev = "6d0fea6dafbf3383dbab1463dbfb3b3d1b94b209"; + sha256 = "wmiKxuNjazkOWFcuMvDJzdPp2HhDu8CNL0rxu+8hrKs="; + }; + }) + { + plugin = suda-vim; + config = "let g:suda_smart_edit = 1"; + } + nvim-ts-rainbow + { + plugin = nvim-treesitter.withPlugins (p: pkgs.tree-sitter.allGrammars); + type = "lua"; + config = '' + require"nvim-treesitter.configs".setup { + highlight = { + enable = true, + disable = { "latex" }, + }, + incremental_selection = { enable = true }, + indentation = { enable = true }, + folding = { enable = true }, + -- rainbow parenthesis match + rainbow = { + enable = true, + extended_mode = true, -- Also highlight non-bracket delimiters + max_file_lines = nil + } + } + ''; + } + { + plugin = nvim-colorizer-lua; + type = "lua"; + config = ''require"colorizer".setup{}''; + } + undotree + telescope-file-browser-nvim + telescope-fzf-native-nvim + telescope-symbols-nvim + # telescope-termfinder + { + plugin = telescope-nvim; + type = "lua"; + config = '' + local telescope = require "telescope" + telescope.load_extension("file_browser") + telescope.load_extension("projects") + telescope.load_extension("fzf") + -- telescope.load_extension("termfinder") + ''; + } + { + plugin = gitsigns-nvim; + type = "lua"; + config = ''require"gitsigns".setup()''; + } + { + plugin = project-nvim; + type = "lua"; + config = ''require"project_nvim".setup()''; + } + { + plugin = lsp_signature-nvim; + type = "lua"; + config = ''require"lsp_signature".setup{}''; + } + nvim-cmp + cmp-nvim-lsp + cmp_luasnip + luasnip + { + plugin = nvim-lspconfig; + type = "lua"; + config = '' + local cmp = require "cmp" + local luasnip = require "luasnip" + cmp.setup { + snippet = { + expand = function (args) + luasnip.lsp_expand(args.body) + end + }, + mapping = { + ["<C-p>"] = cmp.mapping.select_prev_item(), + ["<C-n>"] = cmp.mapping.select_next_item(), + ["<C-u>"] = cmp.mapping.scroll_docs(-4), + ["<C-d>"] = cmp.mapping.scroll_docs(4), + ["<C-Space>"] = cmp.mapping.complete(), + ["<C-e>"] = cmp.mapping.close(), + ["<CR>"] = cmp.mapping.confirm { + behavior = cmp.ConfirmBehavior.Replace, + select = true + }, + ["<Tab>"] = function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-expand-or-jump", true, true, true), "") + else + fallback() + end + end, + ["<S-Tab>"] = function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-jump-prev", true, true, true), "") + else + fallback() + end + end + }, + sources = { + { name = "nvim_lsp" }, + { name = "luasnip" } + } + } + ''; + } ]; extraConfig = '' - set background=dark - colorscheme PaperColor + set termguicolors " Enable gui colors + set cursorline " Enable highlighting of the current line + set signcolumn=yes " Always show signcolumn or it would frequently shift + set pumheight=10 " Make popup menu smaller + set cmdheight=0 " Automatically hide command line + set colorcolumn=+1 " Draw colored column one step to the right of desired maximum width + set linebreak " Wrap long lines at 'breakat' (if 'wrap' is set) + set scrolloff=2 " Show more lines on top and bottom + set title " Enable window title + set list " Show tabs and trailing spaces + set number " Show line numbers + set relativenumber " Show relative line numbers + set numberwidth=1 " Minimum number width + set conceallevel=2 + set noshowmode + set whichwrap=b,s,h,l,<,>,[,] " Allow moving along lines when the start/end is reached + set clipboard=unnamedplus " Sync yank register with system clipboard + set expandtab " Convert tabs to spaces + set tabstop=2 " Display 2 spaces for a tab + set shiftwidth=2 " Use this number of spaces for indentation + set smartindent " Make indenting smart + set autoindent " Use auto indent + set breakindent " Indent wrapped lines to match line start + set virtualedit=block + set formatlistpat=^\\s*\\w\\+[.\)]\\s\\+\\\\|^\\s*[\\-\\+\\*]\\+\\s\\+ + set foldmethod=indent " Set 'indent' folding method + set nofoldenable " Start with folds opened + let g:mapleader = ' ' + nnoremap <cr> : + vnoremap <cr> : + set mouse=a " Enable mouse + set lazyredraw " Use lazy redraw + set undofile " Enable persistent undo + set hidden " Allow buffers in background + set ignorecase " Enable case insensitive search + set smartcase " when using uppercase make case sensitive + set incsearch " Show search results while typing + " let $GIT_EDITOR = 'nvr -cc split --remote-wait' + autocmd FileType gitcommit,gitrebase,gitconfig set bufhidden=delete + " disable spell by default + set nospell + set spelllang=en,fr " Define spelling dictionaries + set complete+=kspell " Add spellcheck options for autocomplete + set spelloptions=camel " Treat parts of camelCase words as separate words + set completeopt=menuone,noselect ''; }; } From a23ceb2db4e97d64715371ba21c257ae45627c80 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 15:44:58 +0100 Subject: [PATCH 0701/2080] Disable manually built nvim module, vimUtils is missing --- home/neovim.nix | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/home/neovim.nix b/home/neovim.nix index 21076636..08e764d6 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -101,15 +101,17 @@ in plugin = camelcasemotion; config = "let g:camelcasemotion_key = '\\'"; } - (vimUtils.buildVimPlugin { - name = "vim-fanfingtastic"; - src = fetchFromGitHub { - owner = "dahu"; - repo = "vim-fanfingtastic"; - rev = "6d0fea6dafbf3383dbab1463dbfb3b3d1b94b209"; - sha256 = "wmiKxuNjazkOWFcuMvDJzdPp2HhDu8CNL0rxu+8hrKs="; - }; - }) + # { + # plugin = (vimUtils.buildVimPlugin { + # name = "vim-fanfingtastic"; + # src = fetchFromGitHub { + # owner = "dahu"; + # repo = "vim-fanfingtastic"; + # rev = "6d0fea6dafbf3383dbab1463dbfb3b3d1b94b209"; + # sha256 = "wmiKxuNjazkOWFcuMvDJzdPp2HhDu8CNL0rxu+8hrKs="; + # }; + # }); + # } { plugin = suda-vim; config = "let g:suda_smart_edit = 1"; From 8ed81b42a0400b68a64d725c39da7ec350038397 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 16:18:06 +0100 Subject: [PATCH 0702/2080] cosmetic --- .config/nvim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index db092c28..8c145120 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -97,7 +97,7 @@ opt.encoding = "UTF-8" opt.number = true opt.relativenumber = true --- Create new window below current one. +-- Create new window below current one, and on the right opt.splitbelow = true opt.splitright = true From 1972747e1c1781b4c4ff30b85758e4ab247f395e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 16:18:14 +0100 Subject: [PATCH 0703/2080] typo --- .config/nvim/lua/plugins.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 6b3c2393..943fb459 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -276,7 +276,7 @@ return require("packer").startup(function(use) }, }) - -- open last postiion in file + -- open last position in file use("farmergreg/vim-lastplace") -- Manage undo From 43e9f536b002c5580f53f101b7038cd6b1afa7a0 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 16:18:38 +0100 Subject: [PATCH 0704/2080] Install a bunch of additional plugins --- home/neovim.nix | 86 +++++++++++++++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 31 deletions(-) diff --git a/home/neovim.nix b/home/neovim.nix index 08e764d6..7ba2f3e6 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -18,6 +18,7 @@ in plugins = with pkgs.vimPlugins; [ plenary-nvim + popup-nvim nvim-web-devicons vim-numbertoggle { @@ -27,6 +28,20 @@ in colorscheme tokyonight ''; } + { + plugin = lessspace-vim; + type = "lua"; + config = '' + vim.g.lessspace_blacklist = { "diff", "mail" } + ''; + } + { + plugin = nvim-autopairs; + type = "lua"; + config = '' + require("nvim-autopairs").setup({}) + ''; + } lualine-lsp-progress { plugin = lualine-nvim; @@ -35,14 +50,6 @@ in require("lualine").setup({ options = { theme = "tokyonight", - section_separators = { - left = "", - right = "" - }, - component_separators = { - left = "|", - right = "|" - }, }, sections = { lualine_c = { @@ -52,13 +59,6 @@ in lualine_x = { "encoding", "fileformat", - function () - if vim.o.expandtab then - return vim.o.shiftwidth .. " ␣" - else - return vim.o.tabstop .. " ↹" - end - end, "filetype" } } @@ -68,8 +68,10 @@ in { plugin = bufferline-nvim; type = "lua"; + # XXX find a way to specify a specific plugin version + # tag = "v3.*"; config = '' - require("bufferline").setup { + require("bufferline").setup({ options = { show_close_icon = false, custom_filter = function(buf, buf_nums) @@ -83,7 +85,11 @@ in } } } - } + }) + -- Navigate buffers + local opts = { noremap = true, silent = true } + vim.keymap.set("n", "<S-l>", ":bnext<CR>", opts) + vim.keymap.set("n", "<S-h>", ":bprevious<CR>", opts) ''; } { @@ -101,17 +107,6 @@ in plugin = camelcasemotion; config = "let g:camelcasemotion_key = '\\'"; } - # { - # plugin = (vimUtils.buildVimPlugin { - # name = "vim-fanfingtastic"; - # src = fetchFromGitHub { - # owner = "dahu"; - # repo = "vim-fanfingtastic"; - # rev = "6d0fea6dafbf3383dbab1463dbfb3b3d1b94b209"; - # sha256 = "wmiKxuNjazkOWFcuMvDJzdPp2HhDu8CNL0rxu+8hrKs="; - # }; - # }); - # } { plugin = suda-vim; config = "let g:suda_smart_edit = 1"; @@ -143,7 +138,9 @@ in type = "lua"; config = ''require"colorizer".setup{}''; } - undotree + # Manage undo + # undotree + vim-mundo telescope-file-browser-nvim telescope-fzf-native-nvim telescope-symbols-nvim @@ -164,10 +161,27 @@ in type = "lua"; config = ''require"gitsigns".setup()''; } + # open last position in file + vim-lastplace { plugin = project-nvim; type = "lua"; - config = ''require"project_nvim".setup()''; + config = '' + require("project_nvim").setup({ + -- :ProjectRoot is required to switch project + manual_mode = true, + silent_chdir = false, + }) + ''; + } + { + plugin = nvim-tree-lua; + type = "lua"; + # tag = "nightly"; + config = '' + require("nvim-tree").setup({}) + vim.keymap.set("n", "<leader>T", "<cmd>NvimTreeToggle<cr>", { silent = true, noremap = true }) + ''; } { plugin = lsp_signature-nvim; @@ -258,6 +272,8 @@ in set foldmethod=indent " Set 'indent' folding method set nofoldenable " Start with folds opened let g:mapleader = ' ' + let g:maplocalleader = ' ' + " use return to enter command mode nnoremap <cr> : vnoremap <cr> : set mouse=a " Enable mouse @@ -274,7 +290,15 @@ in set spelllang=en,fr " Define spelling dictionaries set complete+=kspell " Add spellcheck options for autocomplete set spelloptions=camel " Treat parts of camelCase words as separate words - set completeopt=menuone,noselect + set completeopt=menu,menuone,noselect + " XXX when adding a quote there, it's autopaired, which is useless as we are in vimscript, and it's the comment + " Highlight problematic whitespace + set list + set listchars="tab:>.,trial:.,exteands:#,nbsp:." + # Create new window below current one, and on the right + set splitbelow + set splitright +} ''; }; } From d2d81d46ce5b4feaa6ef1c9e87f66dbf51c76dd4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 16:21:20 +0100 Subject: [PATCH 0705/2080] nvim: alias to vimdiff --- home/neovim.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/neovim.nix b/home/neovim.nix index 7ba2f3e6..32c4abbe 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -9,6 +9,7 @@ in enable = true; package = neovim-nightly; vimAlias = true; + vimdiffAlias = true; viAlias = true; # XXX does not exist? # defaultEditor = true; From c3b95ad4063202e122c249b418197e37c60f27bf Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 16:34:33 +0100 Subject: [PATCH 0706/2080] fish: remove manual alias for nvim --- home/fish.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/home/fish.nix b/home/fish.nix index d4c8b4af..6c4e3c2e 100644 --- a/home/fish.nix +++ b/home/fish.nix @@ -28,8 +28,6 @@ in ns = "nix search"; # Other - # vim = "nvim"; - # vimdiff = "nvim -d"; ".." = "cd .."; ":q" = "exit"; cat = "${bat}/bin/bat"; @@ -49,7 +47,7 @@ in set -g fish_greeting "" ${pkgs.thefuck}/bin/thefuck --alias | source - set -U term_background dark + set EDITOR nvim # Set color variables set emphasized_text brcyan # base1 From b35db0497a944fa12af267686347e979e2270f9b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 16:40:09 +0100 Subject: [PATCH 0707/2080] main: include silver-searcher --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 673bbf5b..6a8253bb 100644 --- a/home/main.nix +++ b/home/main.nix @@ -50,6 +50,7 @@ dracula-theme tree nextcloud-client + silver-searcher # Dev stuff jq From 95c09087ddf3619ccf868a39156bd6e2fa496fe5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 18:22:32 +0100 Subject: [PATCH 0708/2080] Add support for git, work neovim config --- flake.lock | 86 +++++++++++++++++++++++++++++++++- flake.nix | 43 ++++++++++++++--- home/git.nix | 93 +++++++++++++++++++++++++++++++++++++ home/neovim.nix | 119 ++++++++++++++++++++++++++++++++++++++---------- 4 files changed, 309 insertions(+), 32 deletions(-) create mode 100644 home/git.nix diff --git a/flake.lock b/flake.lock index af83543f..30e21f76 100644 --- a/flake.lock +++ b/flake.lock @@ -37,6 +37,22 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1667395993, @@ -52,6 +68,21 @@ "type": "github" } }, + "flake-utils_2": { + "locked": { + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -150,12 +181,45 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1659190188, + "narHash": "sha256-LudYrDFPFaQMW0l68TYkPWRPKmqpxIFU1nWfylIp9AQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a3fddd46a7f3418d7e3940ded94701aba569161d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nur": { + "locked": { + "lastModified": 1669805596, + "narHash": "sha256-g1CPQZ+1jGhY4bsjppk+gH5jfzzqmPlqGHg0zSYS3Hw=", + "owner": "nix-community", + "repo": "NUR", + "rev": "c81b1e527f3a220abfa9bf8096153d52784c5007", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "darwin": "darwin", "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_2", + "nur": "nur", + "vim-extra-plugins": "vim-extra-plugins" } }, "utils": { @@ -172,6 +236,26 @@ "repo": "flake-utils", "type": "github" } + }, + "vim-extra-plugins": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1670163575, + "narHash": "sha256-n0wQW/OaTsIdWoKBEBBpnADF+qlmBC9Qcinwa0kO9MM=", + "owner": "m15a", + "repo": "nixpkgs-vim-extra-plugins", + "rev": "baf08a7559d30c5e24a2378d3bd8e6ed7d2766dd", + "type": "github" + }, + "original": { + "owner": "m15a", + "repo": "nixpkgs-vim-extra-plugins", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 0e86666e..fe1dfeab 100644 --- a/flake.nix +++ b/flake.nix @@ -12,15 +12,24 @@ # nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # macOS system configuration - darwin.url = "github:lnl7/nix-darwin/master"; - darwin.inputs.nixpkgs.follows = "nixpkgs"; + darwin = { + url = "github:lnl7/nix-darwin/master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + # home-manager + home-manager = { + url = "github:nix-community/home-manager/release-22.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; # neovim nightly neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + vim-extra-plugins.url = "github:m15a/nixpkgs-vim-extra-plugins"; + + # Nix User Repository + nur.url = "github:nix-community/NUR"; - # home-manager - home-manager.url = "github:nix-community/home-manager/release-22.11"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; # flake-utils # flake-utils.url = "github:numtide/flake-utils"; @@ -29,7 +38,7 @@ # nix-colors.url = "github:misterio77/nix-colors"; }; - outputs = { self, darwin, nixpkgs, home-manager, ... }@inputs: + outputs = { self, darwin, nixpkgs, home-manager, vim-extra-plugins, ... }@inputs: let # inherit (inputs.nixpkgs.lib) attrValues makeOverridable optionalAttrs singleton; @@ -43,6 +52,25 @@ config = { allowUnfree = true; }; }; + pkgs = import nixpkgs { + overlays = [ vim-extra-plugins.overlays.default ]; + }; + + # XXX not used yet, to be used with flake-utils? + # from DPD- + machines = [ + { + host = "brutal"; + system = "x86_64-linux"; + users = [ "baptiste" ]; + } + { + host = "Baptiste-MBP"; + system = "x86_64-darwin"; + users = [ "baptiste" ]; + } + ]; + primaryUserDefaults = { username = "baptiste"; fullName = "Baptiste Grenier"; @@ -63,6 +91,7 @@ my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; my-neovim = import ./home/neovim.nix; + my-git = import ./home/git.nix; my-tmux = import ./home/tmux.nix; my-keybase = import ./home/keybase.nix; my-firefox = import ./home/firefox.nix; @@ -88,7 +117,7 @@ # `nixos` configs nixosConfigurations = { - brutal = inputs.nixpkgs.lib.nixosSystem { + brutal = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ # Main config diff --git a/home/git.nix b/home/git.nix new file mode 100644 index 00000000..ccc10d2a --- /dev/null +++ b/home/git.nix @@ -0,0 +1,93 @@ +{ config, pkgs, lib, ... }: +{ + programs.git = { + enable = true; + # XXX take this from parameters + userName = "gwarf"; + userEmail = "baptist@bapt.name"; + extraConfig.core.autoclrf = "input"; + extraConfig.init.defaultBranch = "main"; + extraConfig.status.showUntrackedFiles = "all"; + extraConfig.status.submoduleSummary = true; + extraConfig.fetch = { + prune = true; + pruneTags = true; + }; + extraConfig.pull = { + ff = "only"; + }; + extraConfig.push = { + autoSetupRemote = true; + }; + extraConfig.protocol.version = 2; + delta = { + enable = true; + options = { + features = "interactive"; + wrap-max-lines = "unlimited"; + max-line-length = 2048; + syntax-theme = "dracula"; + }; + }; + lfs.enable = true; + ignores = [ + ".ccls-cache/" + ".directory" + "__pycache__" + ".pytest_cache" + ".owncloudsync.log" + "._sync_*.db*" + "id_rsa" + "id_rsa_*" + "id_dsa" + "id_dsa_*" + "id_ed25519" + "id_ed25519_*" + "*.key" + "*.pem" + "*.pk" + "*.ppk" + ]; + attributes = [ + "*.c diff=cpp" + "*.h diff=cpp" + "*.c++ diff=cpp" + "*.h++ diff=cpp" + "*.cpp diff=cpp" + "*.hpp diff=cpp" + "*.cc diff=cpp" + "*.hh diff=cpp" + "*.cs diff=csharp" + "*.css diff=css" + "*.html diff=html" + "*.xhtml diff=html" + "*.ex diff=elixir" + "*.exs diff=elixir" + "*.go diff=golang" + "*.php diff=php" + "*.pl diff=perl" + "*.py diff=python" + "*.md diff=markdown" + "*.rb diff=ruby" + "*.rake diff=ruby" + "*.rs diff=rust" + "*.lisp diff=lisp" + "*.el diff=lisp" + ]; + }; + + programs.lazygit = { + enable = true; + settings = { + gui = { + theme = { + selectedLineBgColor = [ "#d5c4a1" ]; + selectedRangeBgColor = [ "#d5c4a1" ]; + }; + showIcons = true; + }; + git.paging.pager = "delta --paging=never"; + }; + }; +} + diff --git a/home/neovim.nix b/home/neovim.nix index 32c4abbe..1e17bc6d 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -1,21 +1,19 @@ # https://srid.ca/cli/neovim/install -{ pkgs, inputs, ... }: +{ pkgs, inputs, ... }: let neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; + # nur = inputs.nur.; in { programs.neovim = { enable = true; package = neovim-nightly; + + # use nvim by default vimAlias = true; vimdiffAlias = true; viAlias = true; - # XXX does not exist? - # defaultEditor = true; - - extraPackages = [ - ]; plugins = with pkgs.vimPlugins; [ plenary-nvim @@ -31,10 +29,7 @@ in } { plugin = lessspace-vim; - type = "lua"; - config = '' - vim.g.lessspace_blacklist = { "diff", "mail" } - ''; + config = "let g:lessspace_blacklist = ['diff', 'mail']"; } { plugin = nvim-autopairs; @@ -100,7 +95,7 @@ in { plugin = neoscroll-nvim; type = "lua"; - config = ''require"neoscroll".setup{}''; + config = ''require("neoscroll").setup({})''; } editorconfig-nvim vim-sleuth @@ -117,7 +112,7 @@ in plugin = nvim-treesitter.withPlugins (p: pkgs.tree-sitter.allGrammars); type = "lua"; config = '' - require"nvim-treesitter.configs".setup { + require("nvim-treesitter.configs").setup({ highlight = { enable = true, disable = { "latex" }, @@ -131,17 +126,17 @@ in extended_mode = true, -- Also highlight non-bracket delimiters max_file_lines = nil } - } + }) ''; } { plugin = nvim-colorizer-lua; type = "lua"; - config = ''require"colorizer".setup{}''; + config = ''require("colorizer").setup({})''; } # Manage undo - # undotree - vim-mundo + undotree + # vim-mundo telescope-file-browser-nvim telescope-fzf-native-nvim telescope-symbols-nvim @@ -150,7 +145,7 @@ in plugin = telescope-nvim; type = "lua"; config = '' - local telescope = require "telescope" + local telescope = require("telescope") telescope.load_extension("file_browser") telescope.load_extension("projects") telescope.load_extension("fzf") @@ -160,7 +155,7 @@ in { plugin = gitsigns-nvim; type = "lua"; - config = ''require"gitsigns".setup()''; + config = ''require("gitsigns").setup({})''; } # open last position in file vim-lastplace @@ -175,6 +170,83 @@ in }) ''; } + # { + # # Catalyze Fenced Markdown Code-block editing! + # # plugin = nur.repos.m15a.vimExtraPlugins.nvim-FeMaco-lua; + # plugin = pkgs.vimExtraPlugins.nvim-FeMaco-lua; + # type = "lua"; + # config = ''require("femaco").setup({})''; + # } + { + plugin = which-key-nvim; + type = "lua"; + config = '' + local wk = require("which-key") + wk.setup { + spelling = { + enabled = true, + suggestions = 10 + }, + window = { + margin = {0, 0, 0, 0}, + padding = {1, 0, 1, 0,} + } + } + local map = function (from, to, ...) + return { + from, to, ..., + noremap = true, + silent = true + } + end + wk.register ( + { + f = { + name = "Find", + r = map ("<cmd>Telescope resume<cr>", "Resume saerch"), + f = map ("<cmd>Telescope find_files<cr>", "Files"), + g = map ("<cmd>Telescope live_grep<cr>", "Grep"), + b = map ("<cmd>Telescope buffers<cr>", "Buffers"), + h = map ("<cmd>Telescope help_tags<cr>", "Help"), + p = map ("<cmd>Telescope projects<cr>", "Projects"), + e = map ("<cmd>Telescope file_browser<cr>", "Explore"), + t = map ("<cmd>NvimTreeToggle<cr>", "File tree"), + -- ["\\"] = map ("<cmd>Telescope termfinder find<cr>", "Terminals"), + [":"] = map ("<cmd>Telescope commands<cr>", "Commands"), + a = map ("<cmd>Telescope<cr>", "All telescopes"), + }, + c = { + name = "Code", + e = map ("<cmd>FeMaco<cr>", "Edit fenced block"), + }, + g = { + name = "Git", + g = map ("<cmd>Lazygit<cr>", "Lazygit"), + }, + r = { + name = "Reload", + r = map ("<cmd>e<cr>", "File"), + c = map ("<cmd>source ~/.config/nvim/init.vim<cr>", "Config"), + }, + t = { + name = "Table", + m = "Toggle table mode", + t = "To table" + }, + u = map ("<cmd>UndotreeToggle<cr>", "Undo tree"), + }, + { prefix = "<leader>" } + ) + wk.register { + ["]b"] = map ("<cmd>BufferLineCycleNext<cr>", "Next buffer"), + ["]B"] = map ("<cmd>BufferLineMoveNext<cr>", "Move buffer right"), + ["[b"] = map ("<cmd>BufferLineCyclePrev<cr>", "Previous buffer"), + ["[B"] = map ("<cmd>BufferLineMovePrev<cr>", "Move buffer left"), + gb = map ("<cmd>BufferLinePick<cr>", "Go to buffer"), + gB = map ("<cmd>BufferLinePickClose<cr>", "Close picked buffer"), + } + ''; + } { plugin = nvim-tree-lua; type = "lua"; @@ -187,7 +259,7 @@ in { plugin = lsp_signature-nvim; type = "lua"; - config = ''require"lsp_signature".setup{}''; + config = ''require"lsp_signature".setup({})''; } nvim-cmp cmp-nvim-lsp @@ -197,8 +269,8 @@ in plugin = nvim-lspconfig; type = "lua"; config = '' - local cmp = require "cmp" - local luasnip = require "luasnip" + local cmp = require("cmp") + local luasnip = require("luasnip") cmp.setup { snippet = { expand = function (args) @@ -277,7 +349,7 @@ in " use return to enter command mode nnoremap <cr> : vnoremap <cr> : - set mouse=a " Enable mouse + set mouse= " Disable mouse set lazyredraw " Use lazy redraw set undofile " Enable persistent undo set hidden " Allow buffers in background @@ -296,10 +368,9 @@ in " Highlight problematic whitespace set list set listchars="tab:>.,trial:.,exteands:#,nbsp:." - # Create new window below current one, and on the right + " Create new window below current one, and on the right set splitbelow set splitright -} ''; }; } From 7a781a0311bd6285cfe75d8fd95a43c46f2ccd6b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 19:03:56 +0100 Subject: [PATCH 0709/2080] Try to get NUR working --- flake.lock | 70 +------------------------------------------------ flake.nix | 16 +++++------ home/neovim.nix | 13 +++++---- 3 files changed, 13 insertions(+), 86 deletions(-) diff --git a/flake.lock b/flake.lock index 30e21f76..25fddee2 100644 --- a/flake.lock +++ b/flake.lock @@ -37,22 +37,6 @@ "type": "github" } }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-utils": { "locked": { "lastModified": 1667395993, @@ -68,21 +52,6 @@ "type": "github" } }, - "flake-utils_2": { - "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -181,22 +150,6 @@ "type": "github" } }, - "nixpkgs_3": { - "locked": { - "lastModified": 1659190188, - "narHash": "sha256-LudYrDFPFaQMW0l68TYkPWRPKmqpxIFU1nWfylIp9AQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "a3fddd46a7f3418d7e3940ded94701aba569161d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nur": { "locked": { "lastModified": 1669805596, @@ -218,8 +171,7 @@ "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nixpkgs": "nixpkgs_2", - "nur": "nur", - "vim-extra-plugins": "vim-extra-plugins" + "nur": "nur" } }, "utils": { @@ -236,26 +188,6 @@ "repo": "flake-utils", "type": "github" } - }, - "vim-extra-plugins": { - "inputs": { - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1670163575, - "narHash": "sha256-n0wQW/OaTsIdWoKBEBBpnADF+qlmBC9Qcinwa0kO9MM=", - "owner": "m15a", - "repo": "nixpkgs-vim-extra-plugins", - "rev": "baf08a7559d30c5e24a2378d3bd8e6ed7d2766dd", - "type": "github" - }, - "original": { - "owner": "m15a", - "repo": "nixpkgs-vim-extra-plugins", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index fe1dfeab..3f9ce72f 100644 --- a/flake.nix +++ b/flake.nix @@ -25,20 +25,15 @@ # neovim nightly neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; - vim-extra-plugins.url = "github:m15a/nixpkgs-vim-extra-plugins"; # Nix User Repository nur.url = "github:nix-community/NUR"; # flake-utils # flake-utils.url = "github:numtide/flake-utils"; - - # Colors for various apps - # XXX errors when trying to use - # nix-colors.url = "github:misterio77/nix-colors"; }; - outputs = { self, darwin, nixpkgs, home-manager, vim-extra-plugins, ... }@inputs: + outputs = { self, darwin, nixpkgs, home-manager, nur, ... }@inputs: let # inherit (inputs.nixpkgs.lib) attrValues makeOverridable optionalAttrs singleton; @@ -52,10 +47,6 @@ config = { allowUnfree = true; }; }; - pkgs = import nixpkgs { - overlays = [ vim-extra-plugins.overlays.default ]; - }; - # XXX not used yet, to be used with flake-utils? # from DPD- machines = [ @@ -71,6 +62,7 @@ } ]; + # Used for some modules primaryUserDefaults = { username = "baptiste"; fullName = "Baptiste Grenier"; @@ -119,6 +111,10 @@ nixosConfigurations = { brutal = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ inputs.nur.overlay ]; + }; modules = [ # Main config ./configuration-brutal.nix diff --git a/home/neovim.nix b/home/neovim.nix index 1e17bc6d..d4b7169d 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -170,13 +170,12 @@ in }) ''; } - # { - # # Catalyze Fenced Markdown Code-block editing! - # # plugin = nur.repos.m15a.vimExtraPlugins.nvim-FeMaco-lua; - # plugin = pkgs.vimExtraPlugins.nvim-FeMaco-lua; - # type = "lua"; - # config = ''require("femaco").setup({})''; - # } + { + # Catalyze Fenced Markdown Code-block editing! + plugin = pkgs.nur.repos.m15a.vimExtraPlugins.nvim-FeMaco-lua; + type = "lua"; + config = ''require("femaco").setup({})''; + } { plugin = which-key-nvim; type = "lua"; From 9e86a35363420e926e1cca85d226a79b585414e0 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 19:16:58 +0100 Subject: [PATCH 0710/2080] NUR is finally working --- flake.nix | 1 + home/neovim.nix | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 3f9ce72f..49d72d77 100644 --- a/flake.nix +++ b/flake.nix @@ -111,6 +111,7 @@ nixosConfigurations = { brutal = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + # https://github.com/jules-goose/nixcfg/blob/0db16d98d049c1eb7c11f31c5ddbbcd2146e4f15/flake.nix#L22 pkgs = import nixpkgs { system = "x86_64-linux"; overlays = [ inputs.nur.overlay ]; diff --git a/home/neovim.nix b/home/neovim.nix index d4b7169d..b402efaf 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -3,7 +3,6 @@ let neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; - # nur = inputs.nur.; in { programs.neovim = { @@ -38,7 +37,6 @@ in require("nvim-autopairs").setup({}) ''; } - lualine-lsp-progress { plugin = lualine-nvim; type = "lua"; @@ -176,6 +174,7 @@ in type = "lua"; config = ''require("femaco").setup({})''; } + lualine-lsp-progress { plugin = which-key-nvim; type = "lua"; @@ -329,7 +328,6 @@ in set number " Show line numbers set relativenumber " Show relative line numbers set numberwidth=1 " Minimum number width - set conceallevel=2 set noshowmode set whichwrap=b,s,h,l,<,>,[,] " Allow moving along lines when the start/end is reached set clipboard=unnamedplus " Sync yank register with system clipboard From e0bfd20b6434b3f0432706f2bfa1e89f7fa17676 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 19:29:59 +0100 Subject: [PATCH 0711/2080] Update inputs --- flake.lock | 16 ++++++++++++++++ flake.nix | 4 +++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index 25fddee2..34990540 100644 --- a/flake.lock +++ b/flake.lock @@ -118,6 +118,21 @@ "type": "github" } }, + "nix2lua": { + "locked": { + "lastModified": 1669103494, + "narHash": "sha256-jEu9VyOfTMbSITGiG329vEC6K7ZNppfhd0LojxMhzK8=", + "ref": "refs/heads/main", + "rev": "32b5ab313597df18a81a85af67c5e1380fd4f688", + "revCount": 13, + "type": "git", + "url": "https://git.pleshevski.ru/mynix/nix2lua" + }, + "original": { + "type": "git", + "url": "https://git.pleshevski.ru/mynix/nix2lua" + } + }, "nixpkgs": { "locked": { "lastModified": 1670086663, @@ -170,6 +185,7 @@ "darwin": "darwin", "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", + "nix2lua": "nix2lua", "nixpkgs": "nixpkgs_2", "nur": "nur" } diff --git a/flake.nix b/flake.nix index 49d72d77..05479684 100644 --- a/flake.nix +++ b/flake.nix @@ -29,11 +29,13 @@ # Nix User Repository nur.url = "github:nix-community/NUR"; + nix2lua.url = "git+https://git.pleshevski.ru/mynix/nix2lua"; + # flake-utils # flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, darwin, nixpkgs, home-manager, nur, ... }@inputs: + outputs = { self, darwin, nixpkgs, home-manager, ... }@inputs: let # inherit (inputs.nixpkgs.lib) attrValues makeOverridable optionalAttrs singleton; From 89c5d6664f82ab989d60db01b3a669007c33430f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 19:30:15 +0100 Subject: [PATCH 0712/2080] Import lsp.nix --- home/lsp.nix | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 home/lsp.nix diff --git a/home/lsp.nix b/home/lsp.nix new file mode 100644 index 00000000..0883125f --- /dev/null +++ b/home/lsp.nix @@ -0,0 +1,104 @@ +{ config, pkgs, lib, inputs, ... }: +with inputs.nix2lua.lib; +{ + options = { + nvimLSP = with lib; with types; let + packagesType = coercedTo package toList (listOf package); + configType = nullOr (coercedTo (attrsOf anything) toLua lines); + packageWithConfigType = coercedTo packagesType (p: { packages = p; }) (submodule ({ config, options, ... }: { + options = { + packages = mkOption { + type = packagesType; + default = [ ]; + }; + package = mkOption { + type = nullOr package; + default = null; + description = "Alias of `pakcages' for single package"; + }; + config = mkOption { + type = configType; + default = null; + apply = x: if x == null || x == "" then "{}" else x; + }; + }; + config.packages = mkIf (config.package != null) (mkAliasDefinitions options.package); + })); + in + mkOption { + type = attrsOf packageWithConfigType; + default = { }; + }; + }; + + config = { + programs.neovim = with lib; { + extraPackages = concatMap (getAttr "packages") (attrValues config.nvimLSP); + plugins = with pkgs.vimPlugins; [ + cmp-nvim-lsp + { + plugin = nvim-lspconfig; + type = "lua"; + config = let + lspConfig = toLua (mapAttrs (name: value: mkLuaRaw + value.config) config.nvimLSP); + in + '' + local nvim_lsp = require "lspconfig" + local capabilities = require"cmp_nvim_lsp".default_capabilities(vim.lsp.protocol.make_client_capabilities()) + local on_attach = function (client, bufnr) + local wk = require "which-key" + local map = function (from, to, ...) + return { + from, to, ..., + buffer = bufnr, + noremap = true, + silent = true + } + end + wk.register { + g = { + D = map ("<cmd>lua vim.lsp.buf.declaration()<CR>", "Go to declaration"), + d = map ("<cmd>lua vim.lsp.buf.definition()<CR>", "Go to defintion"), + I = map ("<cmd>lua vim.lsp.buf.implementation()<CR>", "Go to implementation"), + r = map ("<cmd>lua vim.lsp.buf.references()<CR>", "References") + }, + ["<S-k>"] = map ("<cmd>lua vim.lsp.buf.hover()<CR>", "Documentation"), + ["<C-k>"] = map ("<cmd>lua vim.lsp.buf.signature_help()<CR>", "Signature help"), + ["<leader>"] = { + w = { + name = "Workspace", + a = map ("<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", "Add workspace folder"), + r = map ("<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", "Remove workspace folder"), + l = map ("<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>", "List workspace folders") + }, + D = map ("<cmd>lua vim.lsp.buf.type_definition()<CR>", "Type definition"), + r = map ("<cmd>lua vim.lsp.buf.rename()<CR>", "Rename"), + c = { + a = map ("<cmd>lua vim.lsp.buf.code_action()<CR>", "Code action"), + f = map ("<cmd>lua vim.lsp.buf.format{async=true}<CR>", "Format buffer") + }, + e = map ("<cmd>lua vim.diagnostic.open_float()<CR>", "Show line diagnostics"), + q = map ("<cmd>lua vim.diagnostic.set_loclist()<CR>", "Set loclist") + }, + ["[d"] = map ("<cmd>lua vim.diagnostic.goto_prev()<CR>", "Go to previous"), + ["]d"] = map ("<cmd>lua vim.diagnostic.goto_prev()<CR>", "Go to next"), + } + end + local servers = ${lspConfig} + + for lsp,cfg in pairs(servers) do + cfg.on_attach = on_attach + cfg.capabilities = capabilities + if lsp == "rust-tools" then + require"rust-tools".setup { server = cfg } + else + nvim_lsp[lsp].setup(cfg) + end + end + ''; + } + ]; + }; + }; +} From e4dde1deba392095aa8e5a3f21a4fb74f92df150 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 19:30:56 +0100 Subject: [PATCH 0713/2080] Do some more lsp conf --- home/neovim.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/home/neovim.nix b/home/neovim.nix index b402efaf..4e15fa29 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -5,6 +5,10 @@ let neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; in { + imports = [ + ./lsp.nix + ]; + programs.neovim = { enable = true; package = neovim-nightly; @@ -275,6 +279,10 @@ in luasnip.lsp_expand(args.body) end }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, mapping = { ["<C-p>"] = cmp.mapping.select_prev_item(), ["<C-n>"] = cmp.mapping.select_next_item(), From 4ad756c3c21ad351c7ff7d755c64a8427c87d5cd Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 19:55:52 +0100 Subject: [PATCH 0714/2080] Add some dev tools --- home/main.nix | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/home/main.nix b/home/main.nix index 6a8253bb..209bad17 100644 --- a/home/main.nix +++ b/home/main.nix @@ -55,6 +55,34 @@ # Dev stuff jq nodejs + # XXX not available + # alex + actionlint + black + beautysh + isort + stylua + # XXX not available + # markdownlint + pylint + # XXX not available + # prettier + shellcheck + shfmt + # LSP servers + # XXX not available + # ansible-language-server + # bash-language-server + # json-lsp + ltex-ls + # XXX not available + # marksman + pyright + # XXX not available + # lua-language-server + # vim-language-server + yaml-language-server + ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From a8effd38675ddd01c8969ff16cb86664fc5cacf3 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 19:56:23 +0100 Subject: [PATCH 0715/2080] neovim: work on cmp and LSP --- home/neovim.nix | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/home/neovim.nix b/home/neovim.nix index 4e15fa29..3dee0bb6 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -30,7 +30,7 @@ in colorscheme tokyonight ''; } - { + { plugin = lessspace-vim; config = "let g:lessspace_blacklist = ['diff', 'mail']"; } @@ -265,8 +265,31 @@ in } nvim-cmp cmp-nvim-lsp + cmp-nvim-lua + cmp-path + cmp-buffer + cmp-cmdline + cmp-emoji cmp_luasnip - luasnip + # { + # plugin = (pkgs.vimUtils.buildVimPlugin { + # # Neovim completion library for sumneko/lua-language-server + # name = "emmylua-nvim"; + # src = pkgs.fetchFromGitHub { + # owner = "ii14"; + # repo = "emmylua-nvim"; + # rev = "a220650fd6ef6490a787eb7efcab24b4bf13dab8"; + # # sha256 = "J/j7pyvqdSfQUkcXw0krvw303N+FlgDN+wH0bAefOYw="; + # }; + # }); + # } + friendly-snippets + { + plugin = pkgs.nur.repos.m15a.vimExtraPlugins.lspkind-nvim; + } + { + plugin = pkgs.nur.repos.m15a.vimExtraPlugins.LuaSnip; + } { plugin = nvim-lspconfig; type = "lua"; @@ -314,8 +337,18 @@ in end }, sources = { + { name = "luasnip" }, + { + name = "buffer", + option = { + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end, + }, + }, + { name = "path" }, + { name = "emoji", insert = true }, { name = "nvim_lsp" }, - { name = "luasnip" } } } ''; From f977cd9bdccc626ea140af1a889ae0b2b3bc4962 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 20:03:51 +0100 Subject: [PATCH 0716/2080] Add some more dev tools --- home/main.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/home/main.nix b/home/main.nix index 209bad17..5854133b 100644 --- a/home/main.nix +++ b/home/main.nix @@ -56,14 +56,14 @@ jq nodejs # XXX not available - # alex + nodePackages.alex actionlint black beautysh isort stylua # XXX not available - # markdownlint + nodePackages.markdownlint-cli pylint # XXX not available # prettier @@ -78,8 +78,7 @@ # XXX not available # marksman pyright - # XXX not available - # lua-language-server + sumneko-lua-language-server # vim-language-server yaml-language-server From 9218e0472cb1a701f543923a406a7fb4c04036b6 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 21:12:09 +0100 Subject: [PATCH 0717/2080] Start managing i3 --- flake.nix | 1 + home/i3.nix | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 home/i3.nix diff --git a/flake.nix b/flake.nix index 05479684..8d752265 100644 --- a/flake.nix +++ b/flake.nix @@ -89,6 +89,7 @@ my-tmux = import ./home/tmux.nix; my-keybase = import ./home/keybase.nix; my-firefox = import ./home/firefox.nix; + my-i3 = import ./home/i3.nix; my-main = import ./home/main.nix; # Custom modules from gh:malob diff --git a/home/i3.nix b/home/i3.nix new file mode 100644 index 00000000..3c091c66 --- /dev/null +++ b/home/i3.nix @@ -0,0 +1,51 @@ +{ config, lib, pkgs, ... }: + +{ + # programs.i3status-rust.enable = true; + programs.i3status-rust = { + enable = true; + bars = { + bottom = { + # theme = (import ../gruvbox.nix).i3status-rust; + # icons = "awesome5"; + blocks = [ + {block = "cpu";} + {block = "memory";} + {block = "disk_space";} + #{ block = "nvidia_gpu"; } + + #{ block = "docker"; } + + {block = "net";} + { + block = "networkmanager"; + device_format = "{icon}{ap}"; + } + + { + block = "time"; + format = "%F %a %R"; + } + # { + # block = "keyboard_layout"; + # driver = "sway"; + # mappings = { + # "English (US)" = "EN"; + # # "Hebrew (N/A)" = "HE"; + # }; + # } + # {block = "sound";} + { + block = "battery"; + hide_missing = true; + } + ]; + }; + }; + }; + xsession.windowManager.i3.config.bars = [ + { + status_command = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-default.toml"; + } + ]; +} From b94911e6053b32b392ab3c187749d5c3930a9657 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 22:00:11 +0100 Subject: [PATCH 0718/2080] Install more fonts --- configuration-brutal.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index a77c51cd..281de77e 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -127,9 +127,11 @@ fonts.fontDir.enable = true; # https://github.com/lightdiscord/nix-nerd-fonts-overlay # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 + # https://github.com/JonathanReeve/dotfiles/blob/master/dotfiles/configuration.nix#L61 fonts.fonts = with pkgs; [ recursive (nerdfonts.override { fonts = [ "CascadiaCode" "JetBrainsMono" ]; }) + font-awesome_5 ]; # Keyboard From 4d1bdf958239b10c8db6c16b4562f93727967fdf Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 22:16:03 +0100 Subject: [PATCH 0719/2080] conf: add more fonts, reoganise. --- configuration-brutal.nix | 86 +++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 46 deletions(-) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index 281de77e..7526a3bc 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -1,31 +1,46 @@ { pkgs, lib, ... }: { - # Conf that was previously in /etc/nixos/configuration.nix imports = [ # Include the results of the hardware scan. ./hardware-configuration-brutal.nix ]; # Use system-boot - boot.loader.systemd-boot.enable = true; - boot.loader.systemd-boot.consoleMode = "max"; + boot = { + # Enable magic sysrql (Alt+PrtSc) keys for recovery + kernel.sysctl = { "kernel.sysrq" = 1; }; + kernelPackages = pkgs.linuxPackages_latest; + cleanTmpDir = true; + # plymouth.enable = true; + loader.systemd-boot.enable = true; + loader.systemd-boot.consoleMode = "max"; + loader.efi.canTouchEfiVariables = true; + }; + # boot.loader.systemd-boot.consoleMode = "keep"; - networking.hostName = "brutal"; # Define your hostname. - networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + networking = { + hostName = "brutal"; # Define your hostname. + networkmanager.enable = true; # Easiest to use and most distros use this by default. + # Open ports in the firewall. + # firewall.allowedTCPPorts = [ ... ]; + # firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # firewall.enable = false; + }; # Set your time zone. time.timeZone = "Europe/Paris"; # Select internationalisation properties. - i18n.defaultLocale = "en_GB.UTF-8"; + i18n = { + defaultLocale = "en_GB.UTF-8"; + supportedLocales = [ "fr_FR/UTF-8" "en_GB.UTF-8" "en_US.UTF-8/UTF-8" ]; + }; - # Enable the X11 windowing system. + # Manage graphical environment services.xserver.enable = true; - - # Enable the GNOME Desktop Environment. services.xserver.displayManager.lightdm.enable = true; services.xserver.windowManager.i3.enable = true; - # services.xserver.windowManager.herbstluftwm.enable = true; services.xserver.displayManager.defaultSession = "none+i3"; # Configure keymap in X11 @@ -40,9 +55,6 @@ # sound.enable = true; hardware.pulseaudio.enable = true; - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - # Define a user account. Don't forget to set a password with ‘passwd’. users.users.baptiste = { isNormalUser = true; @@ -50,25 +62,6 @@ shell = pkgs.fish; }; - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - # services.openssh.enable = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - # Copy the NixOS configuration file and link it from the resulting system # (/run/current-system/configuration.nix). This is useful in case you # accidentally delete configuration.nix. @@ -104,14 +97,9 @@ experimental-features = nix-command flakes ''; - # Create /etc/bashrc that loads the nix-darwin environment. - programs.zsh.enable = true; - # Apps - # `home-manager` currently has issues adding them to `~/Applications` - # Issue: https://github.com/nix-community/home-manager/issues/1341 - # List packages installed in system profile. To search, run: - # $ nix search wget + programs.zsh.enable = true; + # List packages installed in system profile. environment.systemPackages = with pkgs; [ # Some basics curl @@ -129,12 +117,18 @@ # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 # https://github.com/JonathanReeve/dotfiles/blob/master/dotfiles/configuration.nix#L61 fonts.fonts = with pkgs; [ - recursive - (nerdfonts.override { fonts = [ "CascadiaCode" "JetBrainsMono" ]; }) - font-awesome_5 + fantasque-sans-mono + font-awesome_5 + # Only pick selected fonts + (nerdfonts.override { fonts = [ "CascadiaCode" "JetBrainsMono" ]; }) + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + fira-coode + fira-code-symbols + libertine + victor-mono + kochi-substitute + recursive ]; - - # Keyboard - # system.keyboard.enableKeyMapping = true; - # system.keyboard.remapCapsLockToEscape = true; } From b4ac12e472179a45a436002acbe0fe1a78014858 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 22:16:14 +0100 Subject: [PATCH 0720/2080] i3: configure i3 using nix --- home/i3.nix | 71 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 27 deletions(-) diff --git a/home/i3.nix b/home/i3.nix index 3c091c66..bf2acbbb 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -1,51 +1,68 @@ { config, lib, pkgs, ... }: -{ - # programs.i3status-rust.enable = true; +let + mod = "Mod1"; +in { + # https://github.com/srid/nix-config/blob/705a70c094da53aa50cf560179b973529617eb31/nix/home/i3.nix#L11 + xsession.windowManager.i3 = { + enable = true; + config = { + modifier = mod; + fonts = { + names = ["JetBrainsMono Nerd Font"]; + size = 12.0; + }; + keybindings = lib.mkOptionDefault { + "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; + "${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run"; + + # Focus + "${mod}+h" = "focus left"; + "${mod}+j" = "focus down"; + "${mod}+k" = "focus up"; + "${mod}+l" = "focus right"; + + # Move + "${mod}+Shift+h" = "move left"; + "${mod}+Shift+j" = "move down"; + "${mod}+Shift+k" = "move up"; + "${mod}+Shift+l" = "move right"; + }; + bars = [{ + fonts = { + names = ["JetBrainsMono Nerd Font"]; + size = 12.0; + }; + position = "bottom"; + statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-bottom.toml"; + }]; + }; + }; + programs.i3status-rust = { enable = true; bars = { bottom = { # theme = (import ../gruvbox.nix).i3status-rust; - # icons = "awesome5"; + icons = "awesome5"; blocks = [ {block = "cpu";} + {block = "temperature";} {block = "memory";} {block = "disk_space";} - #{ block = "nvidia_gpu"; } - - #{ block = "docker"; } - - {block = "net";} { block = "networkmanager"; device_format = "{icon}{ap}"; + on_click = "${pkgs.kitty}/bin/kitty -e nmtui"; } - { block = "time"; format = "%F %a %R"; - } - # { - # block = "keyboard_layout"; - # driver = "sway"; - # mappings = { - # "English (US)" = "EN"; - # # "Hebrew (N/A)" = "HE"; - # }; - # } - # {block = "sound";} - { - block = "battery"; - hide_missing = true; + timezone = "Europe/Paris"; + locale = "fr_FR"; } ]; }; }; }; - xsession.windowManager.i3.config.bars = [ - { - status_command = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-default.toml"; - } - ]; } From 197e3385cbaff0b3299db5d26fe0d63cce2576fb Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 22:17:45 +0100 Subject: [PATCH 0721/2080] Typo --- configuration-brutal.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index 7526a3bc..e3be5224 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -124,7 +124,7 @@ noto-fonts noto-fonts-cjk noto-fonts-emoji - fira-coode + fira-code fira-code-symbols libertine victor-mono From e682470b8adb5296b8a240f8e96216fde2695409 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 22:23:52 +0100 Subject: [PATCH 0722/2080] Update locales --- configuration-brutal.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index e3be5224..3872c636 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -34,7 +34,7 @@ # Select internationalisation properties. i18n = { defaultLocale = "en_GB.UTF-8"; - supportedLocales = [ "fr_FR/UTF-8" "en_GB.UTF-8" "en_US.UTF-8/UTF-8" ]; + supportedLocales = [ "fr_FR.UTF-8/UTF-8" "en_GB.UTF-8/UTF-8" "en_US.UTF-8/UTF-8" ]; }; # Manage graphical environment From 1bbf322a590d5db813b73b48351f3df7bb6e83e9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 22:43:58 +0100 Subject: [PATCH 0723/2080] i3: display more blocks in status bar --- home/i3.nix | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/home/i3.nix b/home/i3.nix index bf2acbbb..56d00995 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -46,18 +46,33 @@ in { # theme = (import ../gruvbox.nix).i3status-rust; icons = "awesome5"; blocks = [ + # XXX add a custom block for liquidctl + { + block = "custom"; + command = "echo $(uname) $(uname -r)" + interval = "once" + } {block = "cpu";} + { + block = "custom"; + command = '''sensors k10temp-pci-00c3 | awk '/^Tdie/ {print $2}'''' + } {block = "temperature";} {block = "memory";} - {block = "disk_space";} + { + block = "disk_space"; + format = "{icon} {used}/{total} ({available} free)"; + } + {block = "load";} + {block = "net";} { block = "networkmanager"; - device_format = "{icon}{ap}"; + device_format = "{icon}{ap}{ips}"; on_click = "${pkgs.kitty}/bin/kitty -e nmtui"; } { block = "time"; - format = "%F %a %R"; + format = "%F %A %R"; timezone = "Europe/Paris"; locale = "fr_FR"; } From 0b2b6e23b0bbcb919af2e1f7640c76a9aa8dd348 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 22:53:00 +0100 Subject: [PATCH 0724/2080] i3: play with blocks --- home/i3.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/home/i3.nix b/home/i3.nix index 56d00995..a6b47339 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -49,15 +49,20 @@ in { # XXX add a custom block for liquidctl { block = "custom"; - command = "echo $(uname) $(uname -r)" - interval = "once" + command = "$(uname) $(uname -r)"; + interval = "once"; } {block = "cpu";} { block = "custom"; - command = '''sensors k10temp-pci-00c3 | awk '/^Tdie/ {print $2}'''' + command = "echo CPU: $(sensors k10temp-pci-00c3 | awk '/^Tdie/ {print $2}')"; + } + { + block = "temperature"; + collapsed = false; + # chip = "k10temp-pci-00c3"; + interval = 10; } - {block = "temperature";} {block = "memory";} { block = "disk_space"; From 9ed7b521f20948048a4a396f00ccd1cd5bcfd1f7 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 22:55:51 +0100 Subject: [PATCH 0725/2080] i3: use dracula theme --- home/i3.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home/i3.nix b/home/i3.nix index a6b47339..31bab31b 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -43,7 +43,9 @@ in { enable = true; bars = { bottom = { - # theme = (import ../gruvbox.nix).i3status-rust; + # https://github.com/greshake/i3status-rust/blob/master/doc/themes.md#available-themes + # theme = "nord-dark"; + theme = "dracula"; icons = "awesome5"; blocks = [ # XXX add a custom block for liquidctl From 5f18058b9da8c52ab29ecfdd9aa8458f49b22491 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 23:08:40 +0100 Subject: [PATCH 0726/2080] i3: more colors --- home/i3.nix | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/home/i3.nix b/home/i3.nix index 31bab31b..24f25181 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -12,9 +12,62 @@ in { names = ["JetBrainsMono Nerd Font"]; size = 12.0; }; + # https://nix-community.github.io/home-manager/options.html#opt-xsession.windowManager.i3.config.colors + colors = { + background = "#F8F8F2"; + focused = { + background = "#6272A4"; + border = "#6272A4"; + childBorder = "#6272A4"; + indicator = "#6272A4"; + text = "#F8F8F2"; + }; + focusedInactive = { + background = "#44475A"; + border = "#44475A"; + childBorder = "#44475A"; + indicator = "#44475A"; + text = "#F8F8F2"; + }; + unfocused = { + background = "#282A36"; + border = "#282A36"; + childBorder = "#282A36"; + indicator = "#282A36"; + text = "#BFBFBF"; + }; + urgent = { + background = "#FF5555"; + border = "#44475A"; + childBorder = "#FF5555"; + indicator = "#FF5555"; + text = "#F8F8F2"; + }; + placeholder = { + background = "#282A36"; + border = "#282A36"; + childBorder = "#282A36"; + indicator = "#282A36"; + text = "#F8F8F2"; + }; + # https://github.com/dracula/i3/blob/05ba49e6de572c037c0b9967d2dfc03186154fda/.config/i3/config + # bar { + # colors { + # background #282A36 + # statusline #F8F8F2 + # separator #44475A + + # focused_workspace #44475A #44475A #F8F8F2 + # active_workspace #282A36 #44475A #F8F8F2 + # inactive_workspace #282A36 #282A36 #BFBFBF + # urgent_workspace #FF5555 #FF5555 #F8F8F2 + # binding_mode #FF5555 #FF5555 #F8F8F2 + # } + # } + }; keybindings = lib.mkOptionDefault { "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; - "${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run"; + "${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'monospace-10' -p 'dmenu%'"; # Focus "${mod}+h" = "focus left"; From 96ddd17274e0d1d75cee50984e6b2dbdf4146599 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 23:27:05 +0100 Subject: [PATCH 0727/2080] move some software install to home/main --- configuration-brutal.nix | 2 -- home/main.nix | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index 3872c636..eb97bcef 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -105,8 +105,6 @@ curl git gh - lm_sensors - mcelog vim wget ]; diff --git a/home/main.nix b/home/main.nix index 5854133b..c449d8c6 100644 --- a/home/main.nix +++ b/home/main.nix @@ -51,6 +51,9 @@ tree nextcloud-client silver-searcher + mcelog + lm_sensors + liquidctl # Dev stuff jq From 407ae28a04745c169ffe902c5d0866a55979693b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 23:27:13 +0100 Subject: [PATCH 0728/2080] i3: more colors --- home/i3.nix | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/home/i3.nix b/home/i3.nix index 24f25181..bbd5808c 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -50,20 +50,6 @@ in { indicator = "#282A36"; text = "#F8F8F2"; }; - # https://github.com/dracula/i3/blob/05ba49e6de572c037c0b9967d2dfc03186154fda/.config/i3/config - # bar { - # colors { - # background #282A36 - # statusline #F8F8F2 - # separator #44475A - - # focused_workspace #44475A #44475A #F8F8F2 - # active_workspace #282A36 #44475A #F8F8F2 - # inactive_workspace #282A36 #282A36 #BFBFBF - # urgent_workspace #FF5555 #FF5555 #F8F8F2 - # binding_mode #FF5555 #FF5555 #F8F8F2 - # } - # } }; keybindings = lib.mkOptionDefault { "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; @@ -83,6 +69,7 @@ in { }; bars = [{ fonts = { + # names = ["JetBrainsMono Nerd Font"]; names = ["JetBrainsMono Nerd Font"]; size = 12.0; }; @@ -92,11 +79,11 @@ in { }; }; + # https://github.com/greshake/i3status-rust programs.i3status-rust = { enable = true; bars = { bottom = { - # https://github.com/greshake/i3status-rust/blob/master/doc/themes.md#available-themes # theme = "nord-dark"; theme = "dracula"; icons = "awesome5"; @@ -112,10 +99,20 @@ in { block = "custom"; command = "echo CPU: $(sensors k10temp-pci-00c3 | awk '/^Tdie/ {print $2}')"; } + { + block = "custom"; + command = "echo Coolant: $(sensors d5next-hid-3-8 | awk '/^Coolant/ {print $3}')"; + } + { + block = "temperature"; + collapsed = false; + chip = "k10temp-pci-00c3"; + interval = 10; + } { block = "temperature"; collapsed = false; - # chip = "k10temp-pci-00c3"; + chip = "d5next-hid-3-8"; interval = 10; } {block = "memory";} From 6c71cfd648be9869cf8d7f7b4efc5999d509479c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 23:46:34 +0100 Subject: [PATCH 0729/2080] Allow access to watercooling devices --- configuration-brutal.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index eb97bcef..033fe591 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -51,6 +51,19 @@ # Enable CUPS to print documents. # services.printing.enable = true; + # Allow access to watercooling devices + services.udev.extraRules = '' + # https://github.com/liquidctl/liquidctl/blob/main/extra/linux/71-liquidctl.rules + # Aquacomputer D5 Next + SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f00e", TAG+="uaccess" + # Aquacomputer Farbwerk 360 + SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f010", TAG+="uaccess" + # Aquacomputer Octo + SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f011", TAG+="uaccess" + # Aquacomputer Quadro + SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f00d", TAG+="uaccess" + ''; + # Enable sound. # sound.enable = true; hardware.pulseaudio.enable = true; From ffbfa95340fcc4515f90b3ed18256c979dce4e9b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 23:46:49 +0100 Subject: [PATCH 0730/2080] i3: test liquidctl --- home/i3.nix | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/home/i3.nix b/home/i3.nix index bbd5808c..51dbfe6a 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -88,33 +88,32 @@ in { theme = "dracula"; icons = "awesome5"; blocks = [ - # XXX add a custom block for liquidctl { block = "custom"; - command = "$(uname) $(uname -r)"; + command = "echo $(uname) $(uname -r)"; interval = "once"; } {block = "cpu";} - { - block = "custom"; - command = "echo CPU: $(sensors k10temp-pci-00c3 | awk '/^Tdie/ {print $2}')"; - } - { - block = "custom"; - command = "echo Coolant: $(sensors d5next-hid-3-8 | awk '/^Coolant/ {print $3}')"; - } { block = "temperature"; collapsed = false; chip = "k10temp-pci-00c3"; + format = "CPU: {min} min, {max} max, {average} avg" interval = 10; } { block = "temperature"; collapsed = false; chip = "d5next-hid-3-8"; + format = "Coolant: {average}" interval = 10; } + # Custom block for liquidctl + { + block = "custom"; + command = ''' liquidctl --match 'NZXT Kraken X' status | grep -e speed -e temp | awk '{printf "%s ", substr($0, 28,4)}' | awk '{printf " %s %s /%s", substr($0,0,4), substr($0,5,5), substr($0,10,6)}' '''; + interval = 5; + } {block = "memory";} { block = "disk_space"; From f704dd68a13f7cdf140a20de2216777fe849226f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 23:47:48 +0100 Subject: [PATCH 0731/2080] i3: fix typo --- home/i3.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/i3.nix b/home/i3.nix index 51dbfe6a..f1365337 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -98,14 +98,14 @@ in { block = "temperature"; collapsed = false; chip = "k10temp-pci-00c3"; - format = "CPU: {min} min, {max} max, {average} avg" + format = "CPU: {min} min, {max} max, {average} avg"; interval = 10; } { block = "temperature"; collapsed = false; chip = "d5next-hid-3-8"; - format = "Coolant: {average}" + format = "Coolant: {average}"; interval = 10; } # Custom block for liquidctl From 993d3d84c9e7d372419b42dc1be7c456d769a811 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 4 Dec 2022 23:57:28 +0100 Subject: [PATCH 0732/2080] i3: fix liquidctl --- home/i3.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/i3.nix b/home/i3.nix index f1365337..55855eb2 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -111,7 +111,7 @@ in { # Custom block for liquidctl { block = "custom"; - command = ''' liquidctl --match 'NZXT Kraken X' status | grep -e speed -e temp | awk '{printf "%s ", substr($0, 28,4)}' | awk '{printf " %s %s /%s", substr($0,0,4), substr($0,5,5), substr($0,10,6)}' '''; + command = "echo $(liquidctl --match 'D5 Next' status | grep -e speed -e temp | awk '{printf \"%s \", substr($0, 28,4)}' | awk '{printf \" %s %s /%s\", substr($0,0,4), substr($0,5,5), substr($0,10,6)}')"; interval = 5; } {block = "memory";} From 1e7f8036ecaf4b9f6ed8d176df3f324644f496e3 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 00:04:40 +0100 Subject: [PATCH 0733/2080] i3: shorten bar --- home/i3.nix | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/home/i3.nix b/home/i3.nix index 55855eb2..3082cd4d 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -93,25 +93,16 @@ in { command = "echo $(uname) $(uname -r)"; interval = "once"; } - {block = "cpu";} { block = "temperature"; collapsed = false; chip = "k10temp-pci-00c3"; - format = "CPU: {min} min, {max} max, {average} avg"; + format = "CPU: {average} avg, {max} max"; interval = 10; } - { - block = "temperature"; - collapsed = false; - chip = "d5next-hid-3-8"; - format = "Coolant: {average}"; - interval = 10; - } - # Custom block for liquidctl { block = "custom"; - command = "echo $(liquidctl --match 'D5 Next' status | grep -e speed -e temp | awk '{printf \"%s \", substr($0, 28,4)}' | awk '{printf \" %s %s /%s\", substr($0,0,4), substr($0,5,5), substr($0,10,6)}')"; + command = "echo $(liquidctl --match 'D5 Next' status | grep -e speed -e temp | awk '{printf \"%s \", substr($0, 28,4)}' | awk '{printf \" %s %s\", substr($0,0,4), substr($0,5,5)}')"; interval = 5; } {block = "memory";} @@ -120,6 +111,7 @@ in { format = "{icon} {used}/{total} ({available} free)"; } {block = "load";} + {block = "cpu";} {block = "net";} { block = "networkmanager"; From 812b2cf5c4468a2d79fc443965b6e2d07f922d05 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 00:24:21 +0100 Subject: [PATCH 0734/2080] i3: color bar --- home/i3.nix | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/home/i3.nix b/home/i3.nix index 3082cd4d..068ab341 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -4,6 +4,7 @@ let mod = "Mod1"; in { # https://github.com/srid/nix-config/blob/705a70c094da53aa50cf560179b973529617eb31/nix/home/i3.nix#L11 + # https://nix-community.github.io/home-manager/options.html#opt-xsession.windowManager.i3.config xsession.windowManager.i3 = { enable = true; config = { @@ -12,7 +13,7 @@ in { names = ["JetBrainsMono Nerd Font"]; size = 12.0; }; - # https://nix-community.github.io/home-manager/options.html#opt-xsession.windowManager.i3.config.colors + # https://github.com/dracula/i3/blob/master/.config/i3/config colors = { background = "#F8F8F2"; focused = { @@ -68,8 +69,37 @@ in { "${mod}+Shift+l" = "move right"; }; bars = [{ + colors { + background = "#282A36"; + statusline = "#F8F8F2"; + separator = "#44475A"; + focusedWorkspace = { + background = "#44475A"; + border = "#44475A"; + text = "#F8F8F2"; + }; + activeWorkspace = { + background = "#44475A"; + border = "#282A36"; + text = "#F8F8F2"; + }; + inactiveWorkspace = { + background = "#282A36"; + border = "#282A36"; + text = "#BFBFBF"; + }; + urgentWorkspace = { + background = "#FF5555"; + border = "#FF5555"; + text = "#F8F8F2"; + }; + bindingMode = { + background = "#FF5555"; + border = "#FF5555"; + text = "#F8F8F2"; + }; + } fonts = { - # names = ["JetBrainsMono Nerd Font"]; names = ["JetBrainsMono Nerd Font"]; size = 12.0; }; @@ -84,7 +114,6 @@ in { enable = true; bars = { bottom = { - # theme = "nord-dark"; theme = "dracula"; icons = "awesome5"; blocks = [ From f05d6dbb65edc25b712c5f2496898737db907a2f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 00:26:48 +0100 Subject: [PATCH 0735/2080] i3: fix syntax --- home/i3.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/i3.nix b/home/i3.nix index 068ab341..972637f9 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -69,7 +69,7 @@ in { "${mod}+Shift+l" = "move right"; }; bars = [{ - colors { + colors = { background = "#282A36"; statusline = "#F8F8F2"; separator = "#44475A"; From ed7049057bfe8a85d4e070a32553f12a3f4fdfc5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 00:40:02 +0100 Subject: [PATCH 0736/2080] neovim: enable LSP servers --- home/main.nix | 1 + home/neovim.nix | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/home/main.nix b/home/main.nix index c449d8c6..ff475bed 100644 --- a/home/main.nix +++ b/home/main.nix @@ -84,6 +84,7 @@ sumneko-lua-language-server # vim-language-server yaml-language-server + rnix-lsp ] ++ lib.optionals stdenv.isDarwin [ coreutils diff --git a/home/neovim.nix b/home/neovim.nix index 3dee0bb6..e8cd6010 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -411,4 +411,16 @@ in set splitright ''; }; + + # Load LSP servers + nvimLSP.lua = rec { + package = pkgs.sumneko-lua-language-server; + } + nvimLSP.rnix = rec { + package = pkgs.rnix-lsp; + }; + nvimLSP.yamlls = rec { + package = pkgs.nodePackages.yaml-language-server; + }; + nvimLSP.pyright = pkgs.nodePackages.pyright; } From cf76dd5551e12050ea8f2320ece09b0a911e260b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 00:40:42 +0100 Subject: [PATCH 0737/2080] Fix syntax --- home/i3.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/i3.nix b/home/i3.nix index 972637f9..d11f1bc0 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -98,7 +98,7 @@ in { border = "#FF5555"; text = "#F8F8F2"; }; - } + }; fonts = { names = ["JetBrainsMono Nerd Font"]; size = 12.0; From 60b40566e8d936058b0a3dc5b8c6735f5b5f03a4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 00:41:29 +0100 Subject: [PATCH 0738/2080] Fix syntax --- home/neovim.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/neovim.nix b/home/neovim.nix index e8cd6010..995acc96 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -415,7 +415,7 @@ in # Load LSP servers nvimLSP.lua = rec { package = pkgs.sumneko-lua-language-server; - } + }; nvimLSP.rnix = rec { package = pkgs.rnix-lsp; }; From 74ce793c01bc629271cb17f3e76d15d03ff8cb6d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 00:51:24 +0100 Subject: [PATCH 0739/2080] Customise lua LSP --- home/neovim.nix | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/home/neovim.nix b/home/neovim.nix index 995acc96..9afa61cd 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -28,7 +28,7 @@ in config = '' set background=dark colorscheme tokyonight - ''; + ''; } { plugin = lessspace-vim; @@ -413,9 +413,6 @@ in }; # Load LSP servers - nvimLSP.lua = rec { - package = pkgs.sumneko-lua-language-server; - }; nvimLSP.rnix = rec { package = pkgs.rnix-lsp; }; @@ -423,4 +420,20 @@ in package = pkgs.nodePackages.yaml-language-server; }; nvimLSP.pyright = pkgs.nodePackages.pyright; + nvimLSP.sumneko_lua = rec { + package = pkgs.sumneko-lua-language-server; + config = { + settings = { + Lua = { + runtime = { + version = "LuaJIT"; + }; + diagnostics = { + # Get the language server to recognize the `vim` global + globals = [ "vim" ]; + }; + }; + }; + }; + }; } From d429b10307ac321fcfc1df14476a8b2fbbf45061 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 00:54:08 +0100 Subject: [PATCH 0740/2080] neovim: enable fidget --- home/neovim.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/home/neovim.nix b/home/neovim.nix index 9afa61cd..90fd1fd0 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -179,6 +179,11 @@ in config = ''require("femaco").setup({})''; } lualine-lsp-progress + { + plugin = fidget-nvim; + type = "lua"; + config = ''require("fidget").setup({})''; + } { plugin = which-key-nvim; type = "lua"; From d663519c61de03a03481f4e1b5480ee5a3618afc Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 01:02:01 +0100 Subject: [PATCH 0741/2080] Switch from mceling to rasdaemon --- configuration-brutal.nix | 4 ++++ home/main.nix | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index 033fe591..a5a2874f 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -10,6 +10,7 @@ # Enable magic sysrql (Alt+PrtSc) keys for recovery kernel.sysctl = { "kernel.sysrq" = 1; }; kernelPackages = pkgs.linuxPackages_latest; + # kernelModules = [ "edac_mce_amd" ]; cleanTmpDir = true; # plymouth.enable = true; loader.systemd-boot.enable = true; @@ -64,6 +65,9 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f00d", TAG+="uaccess" ''; + # hardware logging + hardware.rasdaemon.enable = true; + # Enable sound. # sound.enable = true; hardware.pulseaudio.enable = true; diff --git a/home/main.nix b/home/main.nix index ff475bed..6fb471a0 100644 --- a/home/main.nix +++ b/home/main.nix @@ -51,7 +51,6 @@ tree nextcloud-client silver-searcher - mcelog lm_sensors liquidctl From 007f0099500e1c9db4a67b4a18fe853ef8522b0d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 01:05:48 +0100 Subject: [PATCH 0742/2080] nvim: disable telemetry for lua LSP --- home/neovim.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/neovim.nix b/home/neovim.nix index 90fd1fd0..7171560e 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -437,6 +437,9 @@ in # Get the language server to recognize the `vim` global globals = [ "vim" ]; }; + telemetry = { + enable = false; + }; }; }; }; From b8f0bf183cca46274b7e117caaa85239de885765 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 01:13:48 +0100 Subject: [PATCH 0743/2080] fish: not needed --- home/fish.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/home/fish.nix b/home/fish.nix index 6c4e3c2e..d1b498dd 100644 --- a/home/fish.nix +++ b/home/fish.nix @@ -79,9 +79,6 @@ in # Set LS_COLORS set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate solarized-$term_background) - - # Use correct theme for `bat`. - set -xg BAT_THEME "Solarized (dark)" ''; # }}} } From 110d082eac968598ab26551aaf2ffeb61ccb6258 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 01:14:11 +0100 Subject: [PATCH 0744/2080] Fix theme for Diff --- home/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/git.nix b/home/git.nix index ccc10d2a..1fcfb7a0 100644 --- a/home/git.nix +++ b/home/git.nix @@ -26,7 +26,7 @@ features = "interactive"; wrap-max-lines = "unlimited"; max-line-length = 2048; - syntax-theme = "dracula"; + syntax-theme = "Dracula"; }; }; lfs.enable = true; From cd31eaee93bf688aee49633a788fbc8eb258cd29 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 01:14:35 +0100 Subject: [PATCH 0745/2080] set bat theme --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 6fb471a0..75256e3d 100644 --- a/home/main.nix +++ b/home/main.nix @@ -15,6 +15,7 @@ programs.bat.enable = true; programs.bat.config = { style = "plain"; + theme = "Dracula"; }; # Zoxide, a faster way to navigate the filesystem From 497ca13b0432c3d9baec68b3e1b7fd5f7ceb44bd Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 20:14:28 +0100 Subject: [PATCH 0746/2080] nvim: install Comment, add key binding for long lines --- home/neovim.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/home/neovim.nix b/home/neovim.nix index 7171560e..5c579956 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -138,6 +138,12 @@ in } # Manage undo undotree + # Comment + { + plugin = pkgs.nur.repos.m15a.vimExtraPlugins.Comment-nvim; + type = "lua"; + config = ''require("Comment").setup({})''; + } # vim-mundo telescope-file-browser-nvim telescope-fzf-native-nvim @@ -414,6 +420,10 @@ in " Create new window below current one, and on the right set splitbelow set splitright + vnoremap j gj + vnoremap k gk + nnoremap j gj + nnoremap k gk ''; }; From 45927e7c7032818c39d0534b2b8fcc01c05bc46c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 20:15:07 +0100 Subject: [PATCH 0747/2080] i3: use rofi --- home/i3.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/home/i3.nix b/home/i3.nix index d11f1bc0..91b95b22 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -54,7 +54,8 @@ in { }; keybindings = lib.mkOptionDefault { "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; - "${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'monospace-10' -p 'dmenu%'"; + #"${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'monospace-10' -p 'dmenu%'"; + "${mod}+p" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modes 'window,run,ssh' -modes combi -theme arthur -font 'Awesome 5' -show-icons"; # Focus "${mod}+h" = "focus left"; @@ -157,4 +158,12 @@ in { }; }; }; + + # Install rofi launcher + home.packages = with pkgs; [ + rofi + rofi-pass + rofi-rbw + pinentry-rofi + ]; } From 5c9bcbb6dfa89269331b0fd814a79a4b4c2e7b81 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 20:15:17 +0100 Subject: [PATCH 0748/2080] Style --- .config/nvim/lua/plugins.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 943fb459..c1c8e39b 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -299,7 +299,7 @@ return require("packer").startup(function(use) use({ "numToStr/Comment.nvim", config = function() - require("Comment").setup() + require("Comment").setup({}) end, }) From d511a52d10e705df9a398a236dc426ba075848ed Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 20:15:30 +0100 Subject: [PATCH 0749/2080] fish: load fish.env --- home/fish.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/fish.nix b/home/fish.nix index d1b498dd..3a0e2558 100644 --- a/home/fish.nix +++ b/home/fish.nix @@ -79,6 +79,8 @@ in # Set LS_COLORS set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate solarized-$term_background) + + [ -e $HOME/fish.env ]; and source $HOME/fish.env ''; # }}} } From 385c766953b69cd8cf0801d8e238646f2722412e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 20:15:39 +0100 Subject: [PATCH 0750/2080] Start email setup --- flake.nix | 1 + home/mail.nix | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 home/mail.nix diff --git a/flake.nix b/flake.nix index 8d752265..e7006474 100644 --- a/flake.nix +++ b/flake.nix @@ -84,6 +84,7 @@ my-fish = import ./home/fish.nix; my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; + my-mail = import ./home/mail.nix; my-neovim = import ./home/neovim.nix; my-git = import ./home/git.nix; my-tmux = import ./home/tmux.nix; diff --git a/home/mail.nix b/home/mail.nix new file mode 100644 index 00000000..d87a3b37 --- /dev/null +++ b/home/mail.nix @@ -0,0 +1,71 @@ +{ config, lib, pkgs, ... }: + +let + inherit (config.home.user-info) username; + inherit (config.home.user-info) email; +in +{ + home.packages = with pkgs; [ + pass + pass-secret-service + bitwarden + bitwarden-cli + rbw + pinentry-curses + ]; + # Himalaya mail client + # package: Himalaya + # For nvim: vimPlugins.himalaya-vim + accounts.email.accounts.${username} = { + name = "Perso"; + userName = email; + address = email; + primary = true; + realName = "Baptiste Grenier"; + signature = { + showsignature = ""; + text = "Baptiste Grenier"; + }; + # passwordCommand = "secret-tool lookup email me@example.org"; + imap = { + host = "mail.bapt.name"; + port = 993; + flavor = "plain"; + tls = { + enable = true; + useStartTls = true; + }; + }; + smtp = { + host = "mail.bapt.name"; + port = 465; + tls = { + enable = true; + useStartTls = true; + }; + }; + msmtp = { + enable = false; + }; + maildir = { + enable = false; + # path = "\${name}" + }; + mbsync = { + enable = false; + create = "both"; + # path = "\${name}" + }; + neomutt = { + enable = true; + }; + himalaya = { + enable = true; + # backend = "maildir"; + # backend = "imap"; + # sender = "smtp"; + # sender = "sendmail"; + # settings = {}; + }; + }; +} From 5a0cfdf5a73c330ff4a61289fcb4cc062590a6e2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 5 Dec 2022 22:15:26 +0100 Subject: [PATCH 0751/2080] Install gnome-keyring --- home/i3.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/home/i3.nix b/home/i3.nix index 91b95b22..037dde64 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -54,8 +54,9 @@ in { }; keybindings = lib.mkOptionDefault { "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; - #"${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'monospace-10' -p 'dmenu%'"; - "${mod}+p" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modes 'window,run,ssh' -modes combi -theme arthur -font 'Awesome 5' -show-icons"; + # "${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'monospace-10' -p 'dmenu%'"; + # "${mod}+p" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modes 'window,run,ssh' -modes combi -theme arthur -font 'Awesome 5' -show-icons"; + "${mod}+p" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modes 'window,run,ssh' -modes combi -theme arthur -show-icons"; # Focus "${mod}+h" = "focus left"; @@ -162,8 +163,9 @@ in { # Install rofi launcher home.packages = with pkgs; [ rofi - rofi-pass + # rofi-pass rofi-rbw pinentry-rofi + gnome3.gnome-keyring ]; } From f8aee8a7d70b47668201c216b4c07e618132446d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 00:48:55 +0100 Subject: [PATCH 0752/2080] Try to load gnome-keyring --- configuration-brutal.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index a5a2874f..2fd3bcf9 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -65,6 +65,12 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f00d", TAG+="uaccess" ''; + # gnome-keyring-daemon is correctly started in user session + # but apparently SSH_AUTH_SOCK is missing :/ + security.pam.services.lightdm.enableGnomeKeyring = true; + services.gnome.gnome-keyring.enable = true; + security.polkit.enable = true; + # hardware logging hardware.rasdaemon.enable = true; From 3dd0201fa56e9b450d56d38ce9da6ae9910087e2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 00:49:03 +0100 Subject: [PATCH 0753/2080] Try to fix rofi call --- home/i3.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/i3.nix b/home/i3.nix index 037dde64..902a0e97 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -56,7 +56,7 @@ in { "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; # "${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'monospace-10' -p 'dmenu%'"; # "${mod}+p" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modes 'window,run,ssh' -modes combi -theme arthur -font 'Awesome 5' -show-icons"; - "${mod}+p" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modes 'window,run,ssh' -modes combi -theme arthur -show-icons"; + "${mod}+p" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modes window,run,ssh -modes combi -theme arthur -show-icons"; # Focus "${mod}+h" = "focus left"; From 1004c59acf84adf4b27d0cb41f57e998a49c9378 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 00:49:28 +0100 Subject: [PATCH 0754/2080] Doc --- NIX.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NIX.md b/NIX.md index 7718a343..e776b92b 100644 --- a/NIX.md +++ b/NIX.md @@ -54,3 +54,7 @@ sudo nixos-rebuild switch --flake . - https://nixos.wiki/wiki/Home_Manager - https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix +- https://github.com/gmarmstrong/dotfiles + +> Debugging: looking at the test modules for home-manager +> https://github.com/nix-community/home-manager/blob/master/tests/modules/programs From bfa2146a1fd8ec09b5402d9604e3f9f344777555 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 00:49:47 +0100 Subject: [PATCH 0755/2080] Start email setup, step 2 --- home/mail.nix | 284 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 232 insertions(+), 52 deletions(-) diff --git a/home/mail.nix b/home/mail.nix index d87a3b37..887f3a91 100644 --- a/home/mail.nix +++ b/home/mail.nix @@ -1,71 +1,251 @@ +# https://github.com/ShadowRZ/flakes/blob/master/nixos/configuration.nix { config, lib, pkgs, ... }: let inherit (config.home.user-info) username; + inherit (config.home.user-info) fullName; inherit (config.home.user-info) email; in { home.packages = with pkgs; [ - pass - pass-secret-service bitwarden bitwarden-cli - rbw - pinentry-curses + # rbw + # pinentry-gtk2 + pinentry-gnome + libsecret + aerc + himalaya + mutt + neomutt + msmtp + isync + gnome.seahorse + gnome.gnome-keyring + vimPlugins.himalaya-vim + # thunderbird ]; - # Himalaya mail client - # package: Himalaya - # For nvim: vimPlugins.himalaya-vim - accounts.email.accounts.${username} = { - name = "Perso"; - userName = email; - address = email; - primary = true; - realName = "Baptiste Grenier"; - signature = { - showsignature = ""; - text = "Baptiste Grenier"; - }; - # passwordCommand = "secret-tool lookup email me@example.org"; - imap = { - host = "mail.bapt.name"; - port = 993; - flavor = "plain"; - tls = { - enable = true; - useStartTls = true; - }; - }; - smtp = { - host = "mail.bapt.name"; - port = 465; - tls = { - enable = true; - useStartTls = true; + # programs = { + # ### GnuPG + # gpg = { + # enable = true; + # settings = { + # personal-digest-preferences = "SHA512"; + # cert-digest-algo = "SHA512"; + # default-preference-list = + # "SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed"; + # personal-cipher-preferences = "TWOFISH CAMELLIA256 AES 3DES"; + # keyid-format = "0xlong"; + # with-fingerprint = true; + # trust-model = "tofu"; + # utf8-strings = true; + # keyserver = "hkps://keyserver.ubuntu.com"; + # verbose = false; + # }; + # }; + # }; + # services = { + # ### GnuPG Agent + # gpg-agent = { + # enable = true; + # extraConfig = '' + # allow-loopback-pinentry + # allow-emacs-pinentry + # ''; + # pinentryFlavor = "qt"; + # }; + + # https://github.com/luisholanda/dotfiles/blob/8ee7bbabd11e50439b6f0c5a741046b990fd79b0/hosts/hermes/default.nix#L143 + # XXX Doesn't seem to be exportign the SSH_AUTH_SOCK + # https://github.com/nix-community/home-manager/issues/1454#issuecomment-1332777643 + # services.gnome-keyring = { + # enable = true; + # components = [ "pkcs11" "secrets" "ssh" ]; + # }; + # XXX not way to do this from home-manager? + # https://github.com/NixOS/nixpkgs/issues/174099#issuecomment-1138165212 + # https://github.com/nix-community/home-manager/issues/1454#issuecomment-850548158 + # security.pam.services.lightdm.enableGnomeKeyring = true; + # Automatic launch doesn't work + # XXX Working gnome-keyring-daemon is started in configuration-brutal.nix, able to use secret tool + # xsession = { + # enable = true; + # initExtra = '' + # dbus-update-activation-environment --systemd DISPLAY + # eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) + # export SSH_AUTH_SOCK + # # disable screen saver + # # xset s off -dpms + # ''; + # }; + # programs.ssh.startAgent = true; + + # should be able to work with bitwarden + # programs.rbw = { + # enable = true; + # settings = { + # email = email; + # lock_timeout = 300; + # pinentry = "gnome3"; + # }; + # }; + programs = { + # aerc = { + # enable = true; + # extraAccounts = { + # Perso = { + # source = "maildir://~/Maildir/${username}"; + # outgoing = "sendmail"; + # from = "${fullName} <${email}>"; + # enable-folders-sort = true; + # # folders = [ "INBOX" "Sent" "Junk" ]; + # }; + # }; + # # extraBinds = { messages = { d = ":move Trash<Enter>"; }; }; + # extraBinds = { + # global = { + # "<C-p>" = ":prev-tab<Enter>"; + # "<C-n>" = ":next-tab<Enter>"; + # "<C-t>" = ":term<Enter>"; + # }; + # messages = { + # q = ":quit<Enter>"; + # j = ":next<Enter>"; + # }; + # "compose::editor" = { + # "$noinherit" = "true"; + # "$ex" = "<C-x>"; + # "<C-k>" = ":prev-field<Enter>"; + # }; + # }; + # extraConfig = { + # general.unsafe-accounts-conf = true; + # ui = { + # index-format = null; + # sort = "-r date"; + # # spinner = [ true 2 3.4 "5" ]; + # # sidebar-width = 42; + # # mouse-enabled = false; + # # test-float = 1337.42; + # }; + # }; + # }; + # thunderbird.enable = true; + # himalaya = { + # enable = true; + # # backend = "maildir"; + # # sender = "smtp"; + # }; + neomutt.enable = true; + mbsync.enable = true; + msmtp.enable = true; + notmuch = { + enable = true; + hooks = { + preNew = "mbsync --all"; + postNew = '' + ${pkgs.afew}/bin/afew -a -t + ''; }; + new.tags = [ "new" ]; }; - msmtp = { - enable = false; - }; - maildir = { - enable = false; - # path = "\${name}" - }; - mbsync = { - enable = false; - create = "both"; - # path = "\${name}" - }; - neomutt = { + # https://github.com/ShadowRZ/flakes/blob/d021fcfd6a7068292faffcfefd64c865dbe27657/nixos/futaba/modules/email/default.nix + afew = { enable = true; + extraConfig = '' + [SpamFilter] + [KillThreadsFilter] + [ArchiveSentMailsFilter] + [InboxFilter] + [Filter.0] + query = from:discourse@discourse.nixos.org + tags = +discourse;+discourse/nixos + message = Discourse :: NixOS + [Filter.1] + query = from:meta@discoursemail.com + tags = +discourse;+discourse/meta + message = Discourse :: Discourse Meta + [Filter.2] + query = from:github.com + tags = +github + message = GitHub + [Filter.3] + query = to:nixpkgs@noreply.github.com + tags = +nixpkgs + message = Nixpkgs + ''; }; - himalaya = { + alot = { enable = true; - # backend = "maildir"; - # backend = "imap"; - # sender = "smtp"; - # sender = "sendmail"; - # settings = {}; + settings = { + auto_remove_unread = true; + handle_mouse = true; + initial_command = "search tag:inbox AND NOT tag:killed"; + prefer_plaintext = true; + ask_subject = false; + thread_indent_replies = 2; + theme = "tomorrow"; + }; + }; + }; + + accounts.email = { + accounts.${username} = { + address = email; + userName = email; + primary = true; + realName = fullName; + signature = { + text = '' + Baptiste Grenier + https://keybase.io/gwarf + ''; + showSignature = "append"; + }; + # works but asking for password interactively + # apparently not taking env var + # passwordCommand = ''bw get password --session "$BW_SESSION" '/mail/baptiste@bapt.name''; + # passwordCommand = "bw get password /mail/baptiste@bapt.name"; + # secret-tool store --label=mail host mail.bapt.name service imaps user baptiste@bapt.name + passwordCommand = "secret-tool lookup host mail.bapt.name service imaps user ${email}"; + # gpg = { + # key = "0xCDA18F02"; + # encryptByDefault = false; + # signByDefault = false; + # }; + imap = { + host = "mail.bapt.name"; + tls = { + enable = true; + useStartTls = true; + }; + }; + smtp = { + host = "mail.bapt.name"; + port = 465; + tls = { + enable = true; + useStartTls = true; + }; + }; + # mbsync works + mbsync = { + enable = true; + create = "both"; + expunge = "both"; + }; + # folder = { + # inbox = "In"; + # sent = "Out"; + # drafts = "Drafts"; + # }; + msmtp.enable = true; + notmuch.enable = true; + # Configure some clients + aerc.enable = true; + himalaya.enable = true; + # thunderbird.enable = true; + neomutt.enable = true; }; }; } From efd1e6723286ffeb393c349306cc16f8e6287534 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 00:58:36 +0100 Subject: [PATCH 0756/2080] Neomutt and aerc are reading maildir --- home/mail.nix | 73 +++++++++++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 40 deletions(-) diff --git a/home/mail.nix b/home/mail.nix index 887f3a91..b7bcf8b5 100644 --- a/home/mail.nix +++ b/home/mail.nix @@ -90,52 +90,45 @@ in # }; # }; programs = { - # aerc = { - # enable = true; - # extraAccounts = { - # Perso = { - # source = "maildir://~/Maildir/${username}"; - # outgoing = "sendmail"; - # from = "${fullName} <${email}>"; - # enable-folders-sort = true; - # # folders = [ "INBOX" "Sent" "Junk" ]; - # }; - # }; - # # extraBinds = { messages = { d = ":move Trash<Enter>"; }; }; - # extraBinds = { - # global = { - # "<C-p>" = ":prev-tab<Enter>"; - # "<C-n>" = ":next-tab<Enter>"; - # "<C-t>" = ":term<Enter>"; - # }; - # messages = { - # q = ":quit<Enter>"; - # j = ":next<Enter>"; - # }; - # "compose::editor" = { - # "$noinherit" = "true"; - # "$ex" = "<C-x>"; - # "<C-k>" = ":prev-field<Enter>"; - # }; - # }; - # extraConfig = { - # general.unsafe-accounts-conf = true; - # ui = { - # index-format = null; - # sort = "-r date"; - # # spinner = [ true 2 3.4 "5" ]; - # # sidebar-width = 42; - # # mouse-enabled = false; - # # test-float = 1337.42; - # }; - # }; - # }; + # basic features working + aerc = { + enable = true; + extraBinds = { + global = { + "<C-p>" = ":prev-tab<Enter>"; + "<C-n>" = ":next-tab<Enter>"; + "<C-t>" = ":term<Enter>"; + }; + messages = { + q = ":quit<Enter>"; + j = ":next<Enter>"; + }; + "compose::editor" = { + "$noinherit" = "true"; + "$ex" = "<C-x>"; + "<C-k>" = ":prev-field<Enter>"; + }; + }; + extraConfig = { + general.unsafe-accounts-conf = true; + ui = { + # index-format = null; + enable-folders-sort = true; + sort = "-r date"; + spinner = [ true 2 3.4 "5" ]; + sidebar-width = 42; + mouse-enabled = false; + test-float = 1337.42; + }; + }; + }; # thunderbird.enable = true; # himalaya = { # enable = true; # # backend = "maildir"; # # sender = "smtp"; # }; + # basic configuration working neomutt.enable = true; mbsync.enable = true; msmtp.enable = true; From b2ba25da07b5270a17210c67db953d487b37d47c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 01:21:56 +0100 Subject: [PATCH 0757/2080] Neomutt: some colors, basic settings --- home/mail.nix | 187 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 176 insertions(+), 11 deletions(-) diff --git a/home/mail.nix b/home/mail.nix index b7bcf8b5..51885c35 100644 --- a/home/mail.nix +++ b/home/mail.nix @@ -121,13 +121,37 @@ in test-float = 1337.42; }; }; + + stylesets = { + asLines = '' + *.default = true + *.selected.reverse = toggle + *error.bold = true + error.fg = red + header.bold = true + title.reverse = true + ''; + default = { + "*.default" = "true"; + "*error.bold" = "true"; + "error.fg" = "red"; + "header.bold" = "true"; + "*.selected.reverse" = "toggle"; + "title.reverse" = "true"; + }; + }; + + templates = rec { + foo = '' + X-Mailer: aerc {{version}} + Just a test. + ''; + bar = foo; + }; }; # thunderbird.enable = true; - # himalaya = { - # enable = true; - # # backend = "maildir"; - # # sender = "smtp"; - # }; + # failing to build tomly cofniguration + # himalaya.enable = true; # basic configuration working neomutt.enable = true; mbsync.enable = true; @@ -227,18 +251,159 @@ in create = "both"; expunge = "both"; }; - # folder = { - # inbox = "In"; - # sent = "Out"; - # drafts = "Drafts"; - # }; + folders = { + drafts = "Drafts"; + inbox = "Inbox"; + sent = "Sent"; + trash = "Trash"; + }; msmtp.enable = true; notmuch.enable = true; # Configure some clients aerc.enable = true; himalaya.enable = true; # thunderbird.enable = true; - neomutt.enable = true; + neomutt = { + enable = true; + extraConfig = '' + # Default sorting + # Set by threads, most recent on top, but sometimes weird inside threads + # Most of the time from oldest to neweset, but sometims some are mixed + set sort = threads + set sort_aux = reverse-last-date-received + # thread based on regex + set sort_re + set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" + color body brightblue black "(baptiste|genier|gnubila|healthgrid|egi|boob|bgrenier|gwarf)" + color normal cyan black + color error color160 black + color tilde color235 black + color message brightmagenta black + color markers color160 color254 + color attachment color254 black + color search color61 black + #color status J_black J_status + color status cyan color235 + #color status cyan default + color indicator black brightblue + # arrow in threads + color tree brightblue black + + # basic monocolor screen + mono bold bold + mono underline underline + mono indicator reverse + mono error bold + color index color160 black "~A" # all messages + color index color166 black "~E" # expired messages + color index color33 black "~N" # new messages + color index color33 black "~O" # old messages + color index color61 black "~Q" # messages that have been replied to + color index color240 black "~R" # read messages + color index color33 black "~U" # unread messages + color index color33 black "~U~$" # unread, unreferenced messages + color index cyan black "~v" # messages part of a collapsed thread + color index cyan black "~P" # messages from me + color index brightmagenta black "~p!~F" # messages to me + color index brightmagenta black "~N~p!~F" # new messages to me + color index brightmagenta black "~U~p!~F" # unread messages to me + color index color240 black "~R~p!~F" # messages to me + color index color160 black "~F" # flagged messages + color index color160 black "~F~p" # flagged messages to me + color index color160 black "~N~F" # new flagged messages + color index color160 black "~N~F~p" # new flagged messages to me + color index color160 black "~U~F~p" # new flagged messages to me + color index color235 color160 "~D" # deleted messages + color index color245 black "~v~(!~N)" # collapsed thread with no unread + color index brightblue black "~v~(~N)" # collapsed thread with some unread + color index color64 black "~N~v~(~N)" # collapsed thread with unread parent + # statusbg used to indicated flagged when foreground color shows other status + # for collapsed thread + color index color160 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread + color index brightblue color235 "~v~(~F~N)" # collapsed thread with some unread & flagged + color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged + color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged + color index brightmagenta color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly + color index brightblue color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) + #color index brightblue black "~(~N)" # messages in threads with some unread + #color index color64 black "~S" # superseded messages + color index color160 black "~T" # tagged messages + #color index color166 color160 "~=" # duplicated messages + + # message headers ------------------------------------------------------ + + #color header color240 black "^" + color hdrdefault color240 black + color header color33 black "^(From)" + color header color33 black "^(Subject)" + + # body ----------------------------------------------------------------- + + color quoted color33 black + color quoted1 brightmagenta black + color quoted2 brightblue black + color quoted3 color160 black + color quoted4 color166 black + + color signature color240 black + color bold color235 black + color underline color235 black + color normal color244 black + # + color body color245 black "[;:][-o][)/(|]" # emoticons + color body color245 black "[;:][)(|]" # emoticons + color body color245 black "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ + |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ + |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" + color body color245 black "[ ][*][^*]*[*][ ]?" # more emoticon? + color body color245 black "[ ]?[*][^*]*[*][ ]" # more emoticon? + + ## pgp + + color body color160 black "(BAD signature)" + color body brightmagenta black "(Good signature)" + color body black color234 "^gpg: Good signature .*" + color body cyan black "^gpg: " + color body cyan color160 "^gpg: BAD signature from.*" + mono body bold "^gpg: Good signature" + mono body bold "^gpg: BAD signature from.*" + + # yes, an insance URL regex + color body color160 black "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" + # and a heavy handed email regex + color body color160 black "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" + + # Various smilies and the like + #color body color230 black "<[Gg]>" # <g> + #color body color230 black "<[Bb][Gg]>" # <bg> + #color body brightblue black " [;:]-*[})>{(<|]" # :-) etc... + # *bold* + color body color33 black "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" + mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" + # _underline_ + color body color33 black "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" + mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" + # /italic/ (Sometimes gets directory names) + color body color33 black "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" + mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" + + # Border lines. + #color body color33 black "( *[-+=#*~_]){6,}" + + #folder-hook . "color status J_black J_status " + #folder-hook gmail/inbox "color status J_black brightblue " + #folder-hook gmail/important "color status J_black brightblue " + + # patch/diff + color body green default "^diff \-.*" + color body green default "^index [a-f0-9].*" + color body green default "^\-\-\- .*" + color body green default "^[\+]{3} .*" + color body cyan default "^[\+][^\+]+.*" + color body red default "^\-[^\-]+.*" + color body brightblue default "^@@ .*" + ''; + }; }; }; } From a95a249e8edefd4a4476447b0c4e7737e1d978dd Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 01:22:37 +0100 Subject: [PATCH 0758/2080] Neomutt: some colors, basic settings --- home/mail.nix | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/home/mail.nix b/home/mail.nix index 51885c35..79a6612f 100644 --- a/home/mail.nix +++ b/home/mail.nix @@ -288,7 +288,6 @@ in color indicator black brightblue # arrow in threads color tree brightblue black - # basic monocolor screen mono bold bold mono underline underline @@ -329,22 +328,17 @@ in #color index color64 black "~S" # superseded messages color index color160 black "~T" # tagged messages #color index color166 color160 "~=" # duplicated messages - # message headers ------------------------------------------------------ - #color header color240 black "^" color hdrdefault color240 black color header color33 black "^(From)" color header color33 black "^(Subject)" - # body ----------------------------------------------------------------- - color quoted color33 black color quoted1 brightmagenta black color quoted2 brightblue black color quoted3 color160 black color quoted4 color166 black - color signature color240 black color bold color235 black color underline color235 black @@ -357,9 +351,7 @@ in |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" color body color245 black "[ ][*][^*]*[*][ ]?" # more emoticon? color body color245 black "[ ]?[*][^*]*[*][ ]" # more emoticon? - ## pgp - color body color160 black "(BAD signature)" color body brightmagenta black "(Good signature)" color body black color234 "^gpg: Good signature .*" @@ -367,12 +359,10 @@ in color body cyan color160 "^gpg: BAD signature from.*" mono body bold "^gpg: Good signature" mono body bold "^gpg: BAD signature from.*" - # yes, an insance URL regex color body color160 black "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" # and a heavy handed email regex color body color160 black "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" - # Various smilies and the like #color body color230 black "<[Gg]>" # <g> #color body color230 black "<[Bb][Gg]>" # <bg> @@ -386,14 +376,11 @@ in # /italic/ (Sometimes gets directory names) color body color33 black "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - # Border lines. #color body color33 black "( *[-+=#*~_]){6,}" - #folder-hook . "color status J_black J_status " #folder-hook gmail/inbox "color status J_black brightblue " #folder-hook gmail/important "color status J_black brightblue " - # patch/diff color body green default "^diff \-.*" color body green default "^index [a-f0-9].*" From 5b15de3e5c0e5edc6e968fb0350e07373d8a819b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 01:26:53 +0100 Subject: [PATCH 0759/2080] Thunderbird working --- home/mail.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/home/mail.nix b/home/mail.nix index 79a6612f..47712993 100644 --- a/home/mail.nix +++ b/home/mail.nix @@ -150,6 +150,18 @@ in }; }; # thunderbird.enable = true; + thunderbird = { + enable = true; + profiles = { + Perso = { + isDefault = true; + withExternalGnupg = true; + }; + }; + settings = { + "privacy.donottrackheader.enabled" = true; + }; + }; # failing to build tomly cofniguration # himalaya.enable = true; # basic configuration working @@ -262,7 +274,10 @@ in # Configure some clients aerc.enable = true; himalaya.enable = true; - # thunderbird.enable = true; + thunderbird = { + enable = true; + profiles = [ "Perso" ]; + }; neomutt = { enable = true; extraConfig = '' From 4d837e4696957ca4b8280dfc4715220e62b05379 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 01:35:50 +0100 Subject: [PATCH 0760/2080] Basic mail setup working --- home/mail.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/mail.nix b/home/mail.nix index 47712993..c29c44a9 100644 --- a/home/mail.nix +++ b/home/mail.nix @@ -149,7 +149,6 @@ in bar = foo; }; }; - # thunderbird.enable = true; thunderbird = { enable = true; profiles = { @@ -219,6 +218,7 @@ in }; accounts.email = { + # maildirBasePath = "Mail"; accounts.${username} = { address = email; userName = email; From 909c2175f91b59bce683b6cbfdb1acef2903a2a1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 01:53:43 +0100 Subject: [PATCH 0761/2080] Fix sending email using msmtp --- home/mail.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/home/mail.nix b/home/mail.nix index c29c44a9..02918aca 100644 --- a/home/mail.nix +++ b/home/mail.nix @@ -251,7 +251,7 @@ in }; smtp = { host = "mail.bapt.name"; - port = 465; + port = 587; tls = { enable = true; useStartTls = true; @@ -269,8 +269,13 @@ in sent = "Sent"; trash = "Trash"; }; - msmtp.enable = true; notmuch.enable = true; + msmtp = { + enable = true; + extraConfig = { + logfile = "~/.msmtp.log"; + }; + }; # Configure some clients aerc.enable = true; himalaya.enable = true; From 3424bd927d5b4aa1d4f55b102dd37ff284a74db3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 10:05:40 +0100 Subject: [PATCH 0762/2080] Add back home.nix to test darwin conf --- home.nix | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 home.nix diff --git a/home.nix b/home.nix new file mode 100644 index 00000000..c6bc70fd --- /dev/null +++ b/home.nix @@ -0,0 +1,56 @@ +{ config, pkgs, lib, ... }: + +{ + home.stateVersion = "22.11"; + + # https://github.com/malob/nixpkgs/blob/master/home/default.nix + + # Direnv, load and unload environment variables depending on the current directory. + # https://direnv.net + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.direnv.enable + programs.direnv.enable = true; + programs.direnv.nix-direnv.enable = true; + + # Htop + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.htop.enable + programs.htop.enable = true; + programs.htop.settings.show_program_path = true; + + home.packages = with pkgs; [ + # Some basics + coreutils + curl + wget + # neovim + # gnupg + # mutt + # fortune + # gh + # firefox + # kitty + + # Dev stuff + # (agda.withPackages (p: [ p.standard-library ])) + # google-cloud-sdk + # haskellPackages.cabal-install + # haskellPackages.hoogle + # haskellPackages.hpack + # haskellPackages.implicit-hie + # haskellPackages.stack + # idris2 + jq + # nodePackages.typescript + # nodejs + # purescript + + # Useful nix related tools + # cachix # adding/managing alternative binary caches hosted by Cachix + # comma # run software from without installing it + niv # easy dependency management for nix projects + nodePackages.node2nix + + ] ++ lib.optionals stdenv.isDarwin [ + cocoapods + m-cli # useful macOS CLI commands + ]; +} From 1e853a914b885103b6f91c711ae497993f0cd902 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 10:05:56 +0100 Subject: [PATCH 0763/2080] Documentation --- NIX.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/NIX.md b/NIX.md index e776b92b..440d8336 100644 --- a/NIX.md +++ b/NIX.md @@ -24,6 +24,13 @@ sudo result/bin/switch-to-configuration switch sudo nixos-rebuild switch --flake . ``` +### On Darwin + +```shell +nix build ".#nixosConfigurations.Baptistes-MBP.system' +sudo result/bin/switch-to-configuration switch +``` + ## Deleting old generations ```shell @@ -44,7 +51,8 @@ sudo nixos-rebuild switch --flake . ### Conf files -- https://github.com/gvolpe/nix-config +- https://github.com/gvolpe/nix-config: very complete. + - neovim in a dedicated flake: https://github.com/gvolpe/neovim-flake - https://github.com/shaunsingh/nix-darwin-dotfiles/blob/main/flake.nix - https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 - https://github.com/wvhulle/nixosConfigurations From 29a643ac38e3bcb5fbdf8f122229017ee08f9635 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 10:16:55 +0100 Subject: [PATCH 0764/2080] Try to support both nixos and darwin. XXX not working for Darwin. --- flake.lock | 17 +++++++++++++++++ flake.nix | 20 +++++++++++++------- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index 34990540..c6905a0b 100644 --- a/flake.lock +++ b/flake.lock @@ -149,6 +149,22 @@ "type": "github" } }, + "nixpkgs-stable-darwin": { + "locked": { + "lastModified": 1670173517, + "narHash": "sha256-sk9pkPsr099i2aiWYPX0ytLyYlyQqIAj1tKoFNjgBWw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "527bba34acb1235fed50eab49c627f14de15cc55", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1670009809, @@ -187,6 +203,7 @@ "neovim-nightly-overlay": "neovim-nightly-overlay", "nix2lua": "nix2lua", "nixpkgs": "nixpkgs_2", + "nixpkgs-stable-darwin": "nixpkgs-stable-darwin", "nur": "nur" } }, diff --git a/flake.nix b/flake.nix index e7006474..fc38ea8f 100644 --- a/flake.nix +++ b/flake.nix @@ -5,15 +5,15 @@ inputs = { # Package sets - # XXX This is only for darwin, what about nixos systems? - # nixpkgs.url = (if pkgs.stdenv.isDarwn then "github:nixos/nixpkgs/nixpkgs-22.11-darwin" else "github:nixos/nixpkgs/nixos-22.11"); - # nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; + # XXX use a system-dependant nixpkgs repo + # nixpkgs.url = if pkgs.stdenv.isDariwn then "github:nixos/nixpkgs/nixpkgs-22.11-darwin" else "github:nixos/nixpkgs/nixos-22.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-22.11"; - # nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + nixpkgs-stable-darwin.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; # macOS system configuration darwin = { url = "github:lnl7/nix-darwin/master"; + # inputs.nixpkgs.follows = "nixpkgs-stable-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -21,6 +21,9 @@ home-manager = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; + # XXX to be fixed + # https://github.com/vhsconnect/nixos-config/blob/08f47336b280e21fe360567bfd9c663bd5f1844c/flake.nix#L3 + # inputs.nixpkgs.follows = "nixpkgs-stable-darwin"; }; # neovim nightly @@ -38,15 +41,18 @@ outputs = { self, darwin, nixpkgs, home-manager, ... }@inputs: let - # inherit (inputs.nixpkgs.lib) attrValues makeOverridable optionalAttrs singleton; - # inherit (self.lib) attrValues makeOverridable optionalAttrs singleton; inherit (nixpkgs.lib) attrValues; homeStateVersion = "22.11"; # Configuration for `nixpkgs` - nixpkgsConfig = { + nixpkgsConfig = with inputs; { config = { allowUnfree = true; }; + # https://github.com/fmoda3/nix-configs/blob/3d640ab43d676a8aad555bcd29527345554252d0/flake.nix#L70 + # overlays = [ + # inputs.neovim-nightly-overlay.overlay + # inputs.nur.overlay + # ]; }; # XXX not used yet, to be used with flake-utils? From 5c080a0dd9084e4548dcfb9ddf91b594e462b44d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 10:49:12 +0100 Subject: [PATCH 0765/2080] Disable firefox --- configuration.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/configuration.nix b/configuration.nix index 3360b5a7..e6ffbfb1 100644 --- a/configuration.nix +++ b/configuration.nix @@ -35,7 +35,9 @@ git wget vim - firefox + # XXX breaking nix build on Darwin + # error: Package ‘firefox-107.0.1’ in /nix/store/m3kyxfqm6545gb7xhwnsjrsnjj86wmsf-source/pkgs/applications/networking/browsers/firefox/wrapper.nix:404 is not supported on ‘x86_64-darwin’, refusing to evaluate. + # firefox ]; # https://github.com/nix-community/home-manager/issues/423 From be10aafa51663fd6e2aacbd9d7c0481ca4a2bb72 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 10:49:34 +0100 Subject: [PATCH 0766/2080] nix build running on macos --- flake.lock | 52 +++++++++++++++++++++++++++++++++++++++++++--------- flake.nix | 18 +++++++++++++----- 2 files changed, 56 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index c6905a0b..e0a7268e 100644 --- a/flake.lock +++ b/flake.lock @@ -3,7 +3,7 @@ "darwin": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs-darwin-stable" ] }, "locked": { @@ -133,6 +133,38 @@ "url": "https://git.pleshevski.ru/mynix/nix2lua" } }, + "nixos-stable": { + "locked": { + "lastModified": 1670193339, + "narHash": "sha256-oHTAhX4p6+uxcabq0rKL4EyKWPbDLGKec88ocPIU/2Y=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e169cf5b3b1e6cc4a25ff15087c2621605f83409", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixos-unstable": { + "locked": { + "lastModified": 1670064435, + "narHash": "sha256-+ELoY30UN+Pl3Yn7RWRPabykwebsVK/kYE9JsIsUMxQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "61a8a98e6d557e6dd7ed0cdb54c3a3e3bbc5e25c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1670086663, @@ -149,7 +181,7 @@ "type": "github" } }, - "nixpkgs-stable-darwin": { + "nixpkgs-darwin-stable": { "locked": { "lastModified": 1670173517, "narHash": "sha256-sk9pkPsr099i2aiWYPX0ytLyYlyQqIAj1tKoFNjgBWw=", @@ -167,16 +199,16 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1670009809, - "narHash": "sha256-yt/dQ32Vz4WenDLu4XeHbnXFxiHbTcnU0WwiLW5Ce6c=", - "owner": "nixos", + "lastModified": 1670316022, + "narHash": "sha256-cRsIC0Ft5McBSia0rDdJIHy3muWqKn3rvjFx92DU2dY=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "660e7737851506374da39c0fa550c202c824a17c", + "rev": "6d3fc36c541ae715d43db5c1355890f39024b26f", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-22.11", + "owner": "NixOS", + "ref": "release-22.11", "repo": "nixpkgs", "type": "github" } @@ -202,8 +234,10 @@ "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix2lua": "nix2lua", + "nixos-stable": "nixos-stable", + "nixos-unstable": "nixos-unstable", "nixpkgs": "nixpkgs_2", - "nixpkgs-stable-darwin": "nixpkgs-stable-darwin", + "nixpkgs-darwin-stable": "nixpkgs-darwin-stable", "nur": "nur" } }, diff --git a/flake.nix b/flake.nix index fc38ea8f..b13474ee 100644 --- a/flake.nix +++ b/flake.nix @@ -7,14 +7,19 @@ # Package sets # XXX use a system-dependant nixpkgs repo # nixpkgs.url = if pkgs.stdenv.isDariwn then "github:nixos/nixpkgs/nixpkgs-22.11-darwin" else "github:nixos/nixpkgs/nixos-22.11"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-22.11"; - nixpkgs-stable-darwin.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; + # XXX should we use master by default on all systems? + # nixpkgs.url = "github:NixOS/nixpkgs/master"; + nixpkgs.url = "github:NixOS/nixpkgs/release-22.11"; + # XXX Should we use nixos-22.11 as nixpkigs by default on NixOS? + nixos-stable.url = "github:nixos/nixpkgs/nixos-22.11"; + nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; # macOS system configuration darwin = { url = "github:lnl7/nix-darwin/master"; - # inputs.nixpkgs.follows = "nixpkgs-stable-darwin"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs-darwin-stable"; + # inputs.nixpkgs.follows = "nixpkgs"; }; # home-manager @@ -38,7 +43,7 @@ # flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, darwin, nixpkgs, home-manager, ... }@inputs: + outputs = { self, darwin, nixpkgs, nixpkgs-darwin-stable, home-manager, ... }@inputs: let inherit (nixpkgs.lib) attrValues; @@ -122,6 +127,7 @@ brutal = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; # https://github.com/jules-goose/nixcfg/blob/0db16d98d049c1eb7c11f31c5ddbbcd2146e4f15/flake.nix#L22 + inputs = { inherit home-manager nixpkgs; }; pkgs = import nixpkgs { system = "x86_64-linux"; overlays = [ inputs.nur.overlay ]; @@ -154,6 +160,8 @@ darwinConfigurations = { Baptistes-MBP = darwin.lib.darwinSystem { system = "x86_64-darwin"; + # https://github.com/booklearner/nixconfig + inputs = { inherit darwin home-manager nixpkgs nixpkgs-darwin-stable; }; modules = [ # Main `nix-darwin` config ./configuration.nix From 96daf9e2c063e14a4a68f8f77dedd3ca955c7ea7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 11:01:53 +0100 Subject: [PATCH 0767/2080] Documentation --- flake.nix | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/flake.nix b/flake.nix index b13474ee..3dccc4d5 100644 --- a/flake.nix +++ b/flake.nix @@ -4,15 +4,18 @@ description = "Baptiste's systems"; inputs = { + # Conf using unstable, nixos and nix darwin + # https://github.com/fmoda3/nix-configs/blob/3d640ab43d676a8aad555bcd29527345554252d0/flake.nix#L70 + # https://github.com/vhsconnect/nixos-config/blob/08f47336b280e21fe360567bfd9c663bd5f1844c/flake.nix#L3 # Package sets - # XXX use a system-dependant nixpkgs repo - # nixpkgs.url = if pkgs.stdenv.isDariwn then "github:nixos/nixpkgs/nixpkgs-22.11-darwin" else "github:nixos/nixpkgs/nixos-22.11"; - # XXX should we use master by default on all systems? + # XXX decide what to track (stable, master, unstable...) + # XXX should we use master as nixpkgs on all systems? # nixpkgs.url = "github:NixOS/nixpkgs/master"; nixpkgs.url = "github:NixOS/nixpkgs/release-22.11"; - # XXX Should we use nixos-22.11 as nixpkigs by default on NixOS? + # XXX Should we use nixos-22.11 as nixpkigs on NixOS? nixos-stable.url = "github:nixos/nixpkgs/nixos-22.11"; nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + # XXX should we use darwin as nixpkgs on darwin? nixpkgs-darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; # macOS system configuration @@ -26,8 +29,7 @@ home-manager = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; - # XXX to be fixed - # https://github.com/vhsconnect/nixos-config/blob/08f47336b280e21fe360567bfd9c663bd5f1844c/flake.nix#L3 + # XXX should we use nixpkgs-stable-darwin on darwin? # inputs.nixpkgs.follows = "nixpkgs-stable-darwin"; }; @@ -53,7 +55,6 @@ # Configuration for `nixpkgs` nixpkgsConfig = with inputs; { config = { allowUnfree = true; }; - # https://github.com/fmoda3/nix-configs/blob/3d640ab43d676a8aad555bcd29527345554252d0/flake.nix#L70 # overlays = [ # inputs.neovim-nightly-overlay.overlay # inputs.nur.overlay @@ -96,6 +97,7 @@ my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; my-mail = import ./home/mail.nix; + # XXX look at https://github.com/gvolpe/neovim-flake my-neovim = import ./home/neovim.nix; my-git = import ./home/git.nix; my-tmux = import ./home/tmux.nix; @@ -114,14 +116,6 @@ }; }; - # `home-manager` configs, for systems not running Nix OS - # homemManagerConfigurations = { - # import ./home-conf.nix { - # inherit (inputs) nixpkgs home-manager; - # nixosConfigs = inputs.self.nixosConfigurations; - # } - # } - # `nixos` configs nixosConfigurations = { brutal = nixpkgs.lib.nixosSystem { @@ -178,5 +172,13 @@ ]; }; }; + + # `home-manager` configs, for systems not running Nix OS nor Nix Darwin + # homemManagerConfigurations = { + # import ./home-conf.nix { + # inherit (inputs) nixpkgs home-manager; + # nixosConfigs = inputs.self.nixosConfigurations; + # } + # } }; } From 1b063cf8f9839b6975bf8e01cabdc11e3554e84b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 11:07:59 +0100 Subject: [PATCH 0768/2080] Fix usage on darwin --- NIX.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NIX.md b/NIX.md index 440d8336..7e612647 100644 --- a/NIX.md +++ b/NIX.md @@ -28,7 +28,7 @@ sudo nixos-rebuild switch --flake . ```shell nix build ".#nixosConfigurations.Baptistes-MBP.system' -sudo result/bin/switch-to-configuration switch +./result/sw/bin/darwin-rebuild switch --flake . ``` ## Deleting old generations From 4033a7c083bdb23e0cfc00d4c50213dd30503f41 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 11:08:10 +0100 Subject: [PATCH 0769/2080] More links --- flake.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/flake.nix b/flake.nix index 3dccc4d5..6830cb5a 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,10 @@ # Conf using unstable, nixos and nix darwin # https://github.com/fmoda3/nix-configs/blob/3d640ab43d676a8aad555bcd29527345554252d0/flake.nix#L70 # https://github.com/vhsconnect/nixos-config/blob/08f47336b280e21fe360567bfd9c663bd5f1844c/flake.nix#L3 + # https://github.com/Thrimbda/charles/blob/08bb883cff19b01c66bbe25c62c06545ccf40a1c/flake.nix + # https://github.com/ttak0422/ENV/blob/1478ba70e1a3eddd4dab1b65c191cc320e5b6cf1/flake.nix + # https://github.com/voidcontext/nix-config/blob/695668066e358be43298eab796f16232a09ba24e/flake.nix + # https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343/3 # Package sets # XXX decide what to track (stable, master, unstable...) # XXX should we use master as nixpkgs on all systems? From 1bd1eaee6b1bdbe2ee42e8bad49555f36a23bd68 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 13:18:20 +0100 Subject: [PATCH 0770/2080] Merge documentation --- NIX.md | 68 ----------------------------------- README.md | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 98 insertions(+), 73 deletions(-) delete mode 100644 NIX.md diff --git a/NIX.md b/NIX.md deleted file mode 100644 index 7e612647..00000000 --- a/NIX.md +++ /dev/null @@ -1,68 +0,0 @@ -# NixOS - -## Managing nixOS "centrally" - -Manage conf in /etc/nixos/configuration.nix - -```shell -# Reaplying conf from /etc/nixos/configuration.nix -sudo nixos-rebuild switch -``` - -## Managing using flake - -Manage conf in ~/repo/dotfiles - -```shell -# Using flake-based conf for a specific system -cd ~/repos/dotfiles/.config -# Rebuild all system conf -# Used to make test, not changing conf available at boot -nix build ".#nixosConfigurations.brutal.config.system.build.toplevel" -sudo result/bin/switch-to-configuration switch -# Build and siwtch to the new conf, updating boot menu -sudo nixos-rebuild switch --flake . -``` - -### On Darwin - -```shell -nix build ".#nixosConfigurations.Baptistes-MBP.system' -./result/sw/bin/darwin-rebuild switch --flake . -``` - -## Deleting old generations - -```shell -nix-env -p /nix/var/nix/profiles/system --list-generations -sudo nix-collect-garbage -d -sudo nixos-rebuild switch --flake . -``` - -## Searching for a package - -- https://search.nixos.org/packages - -## References - -# Very good - -- https://dpdmancul.gitlab.io/dotfiles/index.html - -### Conf files - -- https://github.com/gvolpe/nix-config: very complete. - - neovim in a dedicated flake: https://github.com/gvolpe/neovim-flake -- https://github.com/shaunsingh/nix-darwin-dotfiles/blob/main/flake.nix -- https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 -- https://github.com/wvhulle/nixosConfigurations -- https://github.com/ArdanaLabs/ArdanaTenant - -### Home manager - -- https://nixos.wiki/wiki/Home_Manager -- https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix -- https://github.com/gmarmstrong/dotfiles - -> Debugging: looking at the test modules for home-manager -> https://github.com/nix-community/home-manager/blob/master/tests/modules/programs diff --git a/README.md b/README.md index 158cae62..a0cabcde 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,104 @@ -dotfiles --------- +# gwarf's dotfiles -> Repository being converted to management using nix home-manager +My messy dotfiles for GNU/Linux and macos. WIP of course :) -## About +> **WIP++** This repository is being converted from [yadm](#yadm) to management +> using [nix](#nix) and home-manager. -My messy dotfiles. WIP of course :) +## Nix + +Currently it's mainly a few random notes and pointers to source of inspiration. + +### On NixOS + +#### Managing NixOS using flake + +Manage conf in `~/repo/dotfiles`. + +- TODO: disable/clean `/etc/nixos/configuration.nix`. + +```shell +# Download flake locally +gh repo clone gwarf/dotfiles +cd ~/repos/dotfiles/ +``` + +```shell +# Rebuild all system conf +# Used to make test, not changing conf available at boot +nix build ".#nixosConfigurations.brutal.config.system.build.toplevel" +sudo result/bin/switch-to-configuration switch +# Build and siwtch to the new conf, updating boot menu +sudo nixos-rebuild switch --flake . +``` + +#### Managing NixOS "centrally" + +> **Obsolete** + +Manage conf in `/etc/nixos/configuration.nix` + +```shell +# Reaplying conf from /etc/nixos/configuration.nix +sudo nixos-rebuild switch +``` + +### On Darwin + +Using `nix-darwin`, initially baesd on the video and gist from @jmatsushita: +- https://gist.github.com/jmatsushita/5c50ef14b4b96cb24ae5268dab613050 +- https://youtu.be/KJgN0lnA5mk +- https://discourse.nixos.org/t/simple-workable-config-for-m1-macbook-pro-monterey-12-0-1-with-nix-flakes-nix-darwin-and-home-manager/16834 + +```shell +# Rebuild all system conf +nix build ".#nixosConfigurations.Baptistes-MBP.system' +# Switch to the new conf +./result/sw/bin/darwin-rebuild switch --flake . +``` + +### On archlinux + +> TODO + +### Deleting old generations + +```shell +nix-env -p /nix/var/nix/profiles/system --list-generations +sudo nix-collect-garbage -d +sudo nixos-rebuild switch --flake . +``` + +### Searching for a package + +- https://search.nixos.org/packages + +### References + + +#### Conf files + +- https://dpdmancul.gitlab.io/dotfiles/index.html: fully documented +- https://github.com/malob/nixpkgs +- https://github.com/gvolpe/nix-config: very complete. + - neovim in a dedicated flake: https://github.com/gvolpe/neovim-flake +- https://github.com/shaunsingh/nix-darwin-dotfiles/blob/main/flake.nix +- https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 +- https://github.com/wvhulle/nixosConfigurations +- https://github.com/ArdanaLabs/ArdanaTenant + +#### Home manager + +- https://nixos.wiki/wiki/Home_Manager +- https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix +- https://github.com/gmarmstrong/dotfiles + +> Debugging: looking at the test modules for home-manager +> https://github.com/nix-community/home-manager/blob/master/tests/modules/programs + +## yadm + +> **DEPRECATED** Managed using https://yadm.io From f80a3c28cdad3ce9c66c799000b5257e78bc6681 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 13:18:37 +0100 Subject: [PATCH 0771/2080] Disable autoUpgrade --- configuration-brutal.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configuration-brutal.nix b/configuration-brutal.nix index 2fd3bcf9..3eded8cc 100644 --- a/configuration-brutal.nix +++ b/configuration-brutal.nix @@ -99,8 +99,8 @@ system.stateVersion = "22.11"; # Did you read the comment? # Automatic upgrade - system.autoUpgrade.enable = true; - system.autoUpgrade.allowReboot = true; + system.autoUpgrade.enable = false; + system.autoUpgrade.allowReboot = false; # Nix configuration ------------------------------------------------------------------------------ nix.settings.substituters = [ From 42196b9ec527b25e027d0a0d6adee267709d7a72 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 13:28:05 +0100 Subject: [PATCH 0772/2080] Add todo list --- README.md | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index a0cabcde..0717e1b5 100644 --- a/README.md +++ b/README.md @@ -3,19 +3,31 @@ My messy dotfiles for GNU/Linux and macos. WIP of course :) > **WIP++** This repository is being converted from [yadm](#yadm) to management -> using [nix](#nix) and home-manager. +> using [nix](#nix) and [home-manager](https://nix-community.github.io/home-manager/). ## Nix Currently it's mainly a few random notes and pointers to source of inspiration. +This is very early work, some important tasks are pending: + +- [ ] Try to understand what I'm doing :) +- [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to flakes. +- [ ] Manage upgrades. +- [ ] Look into GitHub actions. +- [ ] Consolidate macOS and NixOS configuration. +- [ ] Support home-manager conf on non-NisOS GNU/Linux systems. +- [ ] Clean static documentation. + ### On NixOS #### Managing NixOS using flake -Manage conf in `~/repo/dotfiles`. +Manage NixOS configruation in `~/repo/dotfiles`. -- TODO: disable/clean `/etc/nixos/configuration.nix`. +> [home-manager](https://nix-community.github.io/home-manager/) examples are +> available in the +> [test modules](https://github.com/nix-community/home-manager/blob/master/tests/modules/programs). ```shell # Download flake locally @@ -75,27 +87,24 @@ sudo nixos-rebuild switch --flake . ### References +#### Home manager -#### Conf files +- https://nixos.wiki/wiki/Home_Manager +- https://nix-community.github.io/home-manager/ +- https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix + +#### Real world flakes from other users - https://dpdmancul.gitlab.io/dotfiles/index.html: fully documented - https://github.com/malob/nixpkgs - https://github.com/gvolpe/nix-config: very complete. - neovim in a dedicated flake: https://github.com/gvolpe/neovim-flake +- https://github.com/gmarmstrong/dotfiles - https://github.com/shaunsingh/nix-darwin-dotfiles/blob/main/flake.nix - https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 - https://github.com/wvhulle/nixosConfigurations - https://github.com/ArdanaLabs/ArdanaTenant -#### Home manager - -- https://nixos.wiki/wiki/Home_Manager -- https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix -- https://github.com/gmarmstrong/dotfiles - -> Debugging: looking at the test modules for home-manager -> https://github.com/nix-community/home-manager/blob/master/tests/modules/programs - ## yadm > **DEPRECATED** From 295026bf18c1447ffe411f7450161eda305980b4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 13:37:29 +0100 Subject: [PATCH 0773/2080] Add more TODOs and references --- README.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0717e1b5..1d7bce19 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,14 @@ Currently it's mainly a few random notes and pointers to source of inspiration. This is very early work, some important tasks are pending: - [ ] Try to understand what I'm doing :) +- [ ] decide what to track (stable, master, unstable...). +- [ ] clean packages sets in inputs. - [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to flakes. - [ ] Manage upgrades. -- [ ] Look into GitHub actions. - [ ] Consolidate macOS and NixOS configuration. +- [ ] Look into https://github.com/gvolpe/neovim-flake. - [ ] Support home-manager conf on non-NisOS GNU/Linux systems. +- [ ] Look into GitHub actions. - [ ] Clean static documentation. ### On NixOS @@ -87,6 +90,8 @@ sudo nixos-rebuild switch --flake . ### References +- https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 + #### Home manager - https://nixos.wiki/wiki/Home_Manager @@ -95,7 +100,16 @@ sudo nixos-rebuild switch --flake . #### Real world flakes from other users +- Conf using unstable, nixos and nix darwin + - https://github.com/fmoda3/nix-configs/blob/3d640ab43d676a8aad555bcd29527345554252d0/flake.nix#L70 + - https://github.com/vhsconnect/nixos-config/blob/08f47336b280e21fe360567bfd9c663bd5f1844c/flake.nix#L3 + - https://github.com/Thrimbda/charles/blob/08bb883cff19b01c66bbe25c62c06545ccf40a1c/flake.nix + - https://github.com/ttak0422/ENV/blob/1478ba70e1a3eddd4dab1b65c191cc320e5b6cf1/flake.nix + - https://github.com/voidcontext/nix-config/blob/695668066e358be43298eab796f16232a09ba24e/flake.nix + - https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343/3 - https://dpdmancul.gitlab.io/dotfiles/index.html: fully documented +- https://github.com/jules-goose/nixcfg +- https://github.com/booklearner/nixconfig - https://github.com/malob/nixpkgs - https://github.com/gvolpe/nix-config: very complete. - neovim in a dedicated flake: https://github.com/gvolpe/neovim-flake @@ -104,6 +118,7 @@ sudo nixos-rebuild switch --flake . - https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 - https://github.com/wvhulle/nixosConfigurations - https://github.com/ArdanaLabs/ArdanaTenant +- Dracula colorscheme: https://github.com/RichardYan314/dotfiles-nix ## yadm From ad0d82a891408fb6520f2a677e35997950273481 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 13:37:42 +0100 Subject: [PATCH 0774/2080] flake: cleaning --- flake.nix | 38 +++----------------------------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/flake.nix b/flake.nix index 6830cb5a..e5e95b92 100644 --- a/flake.nix +++ b/flake.nix @@ -1,18 +1,9 @@ { # Inspirations - # - https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 description = "Baptiste's systems"; inputs = { - # Conf using unstable, nixos and nix darwin - # https://github.com/fmoda3/nix-configs/blob/3d640ab43d676a8aad555bcd29527345554252d0/flake.nix#L70 - # https://github.com/vhsconnect/nixos-config/blob/08f47336b280e21fe360567bfd9c663bd5f1844c/flake.nix#L3 - # https://github.com/Thrimbda/charles/blob/08bb883cff19b01c66bbe25c62c06545ccf40a1c/flake.nix - # https://github.com/ttak0422/ENV/blob/1478ba70e1a3eddd4dab1b65c191cc320e5b6cf1/flake.nix - # https://github.com/voidcontext/nix-config/blob/695668066e358be43298eab796f16232a09ba24e/flake.nix - # https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343/3 # Package sets - # XXX decide what to track (stable, master, unstable...) # XXX should we use master as nixpkgs on all systems? # nixpkgs.url = "github:NixOS/nixpkgs/master"; nixpkgs.url = "github:NixOS/nixpkgs/release-22.11"; @@ -26,7 +17,6 @@ darwin = { url = "github:lnl7/nix-darwin/master"; inputs.nixpkgs.follows = "nixpkgs-darwin-stable"; - # inputs.nixpkgs.follows = "nixpkgs"; }; # home-manager @@ -44,9 +34,6 @@ nur.url = "github:nix-community/NUR"; nix2lua.url = "git+https://git.pleshevski.ru/mynix/nix2lua"; - - # flake-utils - # flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, darwin, nixpkgs, nixpkgs-darwin-stable, home-manager, ... }@inputs: @@ -57,7 +44,7 @@ homeStateVersion = "22.11"; # Configuration for `nixpkgs` - nixpkgsConfig = with inputs; { + nixpkgsConfig = { config = { allowUnfree = true; }; # overlays = [ # inputs.neovim-nightly-overlay.overlay @@ -65,22 +52,7 @@ # ]; }; - # XXX not used yet, to be used with flake-utils? - # from DPD- - machines = [ - { - host = "brutal"; - system = "x86_64-linux"; - users = [ "baptiste" ]; - } - { - host = "Baptiste-MBP"; - system = "x86_64-darwin"; - users = [ "baptiste" ]; - } - ]; - - # Used for some modules + # Information about the main user primaryUserDefaults = { username = "baptiste"; fullName = "Baptiste Grenier"; @@ -101,7 +73,6 @@ my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; my-mail = import ./home/mail.nix; - # XXX look at https://github.com/gvolpe/neovim-flake my-neovim = import ./home/neovim.nix; my-git = import ./home/git.nix; my-tmux = import ./home/tmux.nix; @@ -112,7 +83,6 @@ # Custom modules from gh:malob colors = import ./modules/home/colors; - # https://github.com/RichardYan314/dotfiles-nix/tree/c18de97ad9e7ae1ff46c806be2f0f91c43d5956e/users/colorschemes programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; home-user-info = { lib, ... }: { @@ -124,8 +94,6 @@ nixosConfigurations = { brutal = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - # https://github.com/jules-goose/nixcfg/blob/0db16d98d049c1eb7c11f31c5ddbbcd2146e4f15/flake.nix#L22 - inputs = { inherit home-manager nixpkgs; }; pkgs = import nixpkgs { system = "x86_64-linux"; overlays = [ inputs.nur.overlay ]; @@ -158,7 +126,7 @@ darwinConfigurations = { Baptistes-MBP = darwin.lib.darwinSystem { system = "x86_64-darwin"; - # https://github.com/booklearner/nixconfig + # Includ darwin-sepcific inputs inputs = { inherit darwin home-manager nixpkgs nixpkgs-darwin-stable; }; modules = [ # Main `nix-darwin` config From 6f64106d61f74592fc978e371f5dad66b4d42433 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 13:40:11 +0100 Subject: [PATCH 0775/2080] README: doc --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1d7bce19..949daeec 100644 --- a/README.md +++ b/README.md @@ -17,10 +17,12 @@ This is very early work, some important tasks are pending: - [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to flakes. - [ ] Manage upgrades. - [ ] Consolidate macOS and NixOS configuration. +- [ ] Test and document bootstrap in clean NixOS. +- [ ] Test and document bootstrap in clean macOS. - [ ] Look into https://github.com/gvolpe/neovim-flake. - [ ] Support home-manager conf on non-NisOS GNU/Linux systems. - [ ] Look into GitHub actions. -- [ ] Clean static documentation. +- [ ] Clean static config files. ### On NixOS From b419f8e815798ae2919e67d7e091ac12431b5c42 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 13:47:49 +0100 Subject: [PATCH 0776/2080] TODO --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 949daeec..b3d697f0 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,8 @@ Currently it's mainly a few random notes and pointers to source of inspiration. This is very early work, some important tasks are pending: - [ ] Try to understand what I'm doing :) +- [ ] Check https://nixos.org/guides/nix-pills/ +- [ ] Read https://www.reddit.com/r/NixOS/comments/xtq2tb/best_way_to_manage_multiple_home_manager_configs/ - [ ] decide what to track (stable, master, unstable...). - [ ] clean packages sets in inputs. - [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to flakes. @@ -94,6 +96,10 @@ sudo nixos-rebuild switch --flake . - https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 +### Videos + +- https://youtu.be/AGVXJ-TIv3Y + #### Home manager - https://nixos.wiki/wiki/Home_Manager @@ -103,6 +109,8 @@ sudo nixos-rebuild switch --flake . #### Real world flakes from other users - Conf using unstable, nixos and nix darwin + - https://github.com/Baitinq/nixos-config + - https://github.com/jonringer/nixpkgs-config - https://github.com/fmoda3/nix-configs/blob/3d640ab43d676a8aad555bcd29527345554252d0/flake.nix#L70 - https://github.com/vhsconnect/nixos-config/blob/08f47336b280e21fe360567bfd9c663bd5f1844c/flake.nix#L3 - https://github.com/Thrimbda/charles/blob/08bb883cff19b01c66bbe25c62c06545ccf40a1c/flake.nix @@ -121,6 +129,7 @@ sudo nixos-rebuild switch --flake . - https://github.com/wvhulle/nixosConfigurations - https://github.com/ArdanaLabs/ArdanaTenant - Dracula colorscheme: https://github.com/RichardYan314/dotfiles-nix +- https://github.com/Misterio77/nix-starter-configs ## yadm From 0714e2df049ff628e4efe08e60dcba8e0fa803b0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 14:32:01 +0100 Subject: [PATCH 0777/2080] Rename configuration file for macOS. --- configuration.nix => configuration-Baptistes-MBP.nix | 0 flake.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename configuration.nix => configuration-Baptistes-MBP.nix (100%) diff --git a/configuration.nix b/configuration-Baptistes-MBP.nix similarity index 100% rename from configuration.nix rename to configuration-Baptistes-MBP.nix diff --git a/flake.nix b/flake.nix index e5e95b92..9677357c 100644 --- a/flake.nix +++ b/flake.nix @@ -130,7 +130,7 @@ inputs = { inherit darwin home-manager nixpkgs nixpkgs-darwin-stable; }; modules = [ # Main `nix-darwin` config - ./configuration.nix + ./configuration-Baptistes-MBP.nix # `home-manager` module home-manager.darwinModules.home-manager From 90389317c8fb10b12459807f4bc8d716814985ed Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 14:57:20 +0100 Subject: [PATCH 0778/2080] Drop back --- home.nix | 56 -------------------------------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 home.nix diff --git a/home.nix b/home.nix deleted file mode 100644 index c6bc70fd..00000000 --- a/home.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - home.stateVersion = "22.11"; - - # https://github.com/malob/nixpkgs/blob/master/home/default.nix - - # Direnv, load and unload environment variables depending on the current directory. - # https://direnv.net - # https://rycee.gitlab.io/home-manager/options.html#opt-programs.direnv.enable - programs.direnv.enable = true; - programs.direnv.nix-direnv.enable = true; - - # Htop - # https://rycee.gitlab.io/home-manager/options.html#opt-programs.htop.enable - programs.htop.enable = true; - programs.htop.settings.show_program_path = true; - - home.packages = with pkgs; [ - # Some basics - coreutils - curl - wget - # neovim - # gnupg - # mutt - # fortune - # gh - # firefox - # kitty - - # Dev stuff - # (agda.withPackages (p: [ p.standard-library ])) - # google-cloud-sdk - # haskellPackages.cabal-install - # haskellPackages.hoogle - # haskellPackages.hpack - # haskellPackages.implicit-hie - # haskellPackages.stack - # idris2 - jq - # nodePackages.typescript - # nodejs - # purescript - - # Useful nix related tools - # cachix # adding/managing alternative binary caches hosted by Cachix - # comma # run software from without installing it - niv # easy dependency management for nix projects - nodePackages.node2nix - - ] ++ lib.optionals stdenv.isDarwin [ - cocoapods - m-cli # useful macOS CLI commands - ]; -} From 14ae77be3511f9f165d1b1dba200a2d05eb5e740 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 14:57:53 +0100 Subject: [PATCH 0779/2080] main.nix: mark some parts as specific to a given env --- home/main.nix | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/home/main.nix b/home/main.nix index 75256e3d..224d6687 100644 --- a/home/main.nix +++ b/home/main.nix @@ -36,11 +36,15 @@ home.packages = with pkgs; [ # https://github.com/malob/nixpkgs/blob/d930a2e7749248a0b0af7d025d667030011fa7b8/home/packages.nix + # some basics + curl + wget # Cool stuff gnupg mutt fortune bat + gh exa fd ripgrep @@ -48,25 +52,21 @@ tealdeer thefuck xz - dracula-theme tree - nextcloud-client silver-searcher - lm_sensors - liquidctl # Dev stuff jq nodejs # XXX not available - nodePackages.alex + # nodePackages.alex actionlint black beautysh isort stylua # XXX not available - nodePackages.markdownlint-cli + # nodePackages.markdownlint-cli pylint # XXX not available # prettier @@ -85,7 +85,16 @@ # vim-language-server yaml-language-server rnix-lsp - + # Useful nix related tools + # cachix # adding/managing alternative binary caches hosted by Cachix + # comma # run software from without installing it + niv # easy dependency management for nix projects + nodePackages.node2nix + ] ++ lib.optionals stdenv.isLinux [ + dracula-theme + nextcloud-client + lm_sensors + liquidctl ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 99e9ca6dd36061e8ca5aee557c257cd0f350c311 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 14:58:27 +0100 Subject: [PATCH 0780/2080] flake: start using shared modules on macOS --- flake.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 9677357c..fdb3d02e 100644 --- a/flake.nix +++ b/flake.nix @@ -113,7 +113,6 @@ home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.baptiste = { imports = attrValues self.homeManagerModules; - # XXX Unused, to be removed? home.stateVersion = homeStateVersion; home.user-info = primaryUserDefaults; }; @@ -123,7 +122,7 @@ }; # `nix-darwin` configs - darwinConfigurations = { + darwinConfigurations = rec { Baptistes-MBP = darwin.lib.darwinSystem { system = "x86_64-darwin"; # Includ darwin-sepcific inputs @@ -138,8 +137,18 @@ nixpkgs = nixpkgsConfig; # `home-manager` config home-manager.useGlobalPkgs = true; + # install packages to /etc/profiles home-manager.useUserPackages = true; - home-manager.users.baptiste = import ./home.nix; + home-manager.extraSpecialArgs = { inherit darwin home-manager nixpkgs nixpkgs-darwin-stable; }; + home-manager.users.baptiste = { + imports = [ + # ./home/fish.nix + # ./home/starship.nix + # ./home/starship-symbols.nix + ./home/main.nix + ]; + home.stateVersion = homeStateVersion; + }; } ]; }; From 5c27042ace9e3f04fd4b3a9c0592b607192c3e32 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 15:17:56 +0100 Subject: [PATCH 0781/2080] flake: load more modules on darwin --- flake.nix | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index fdb3d02e..fb9bc448 100644 --- a/flake.nix +++ b/flake.nix @@ -142,10 +142,22 @@ home-manager.extraSpecialArgs = { inherit darwin home-manager nixpkgs nixpkgs-darwin-stable; }; home-manager.users.baptiste = { imports = [ + ./home/colors.nix + # ./home/kitty.nix # ./home/fish.nix - # ./home/starship.nix - # ./home/starship-symbols.nix + ./home/starship.nix + ./home/starship-symbols.nix + # ./home/mail.nix + # ./home/neovim.nix + ./home/git.nix + ./home/tmux.nix + # ./home/keybase.nix + # ./home/firefox.nix + # ./home/i3.nix + ./home/starship.nix + ./home/starship-symbols.nix ./home/main.nix + ./modules/home/colors ]; home.stateVersion = homeStateVersion; }; From 557f87c519ba9d5cf126270d438c26d0377fc049 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 15:51:16 +0100 Subject: [PATCH 0782/2080] Style --- modules/system/bootstrap.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/system/bootstrap.nix b/modules/system/bootstrap.nix index 0628013a..ef76d700 100644 --- a/modules/system/bootstrap.nix +++ b/modules/system/bootstrap.nix @@ -2,7 +2,6 @@ { # Nix configuration ------------------------------------------------------------------------------ - nix.settings = { substituters = [ "https://cache.nixos.org/" From dc85de517340686eecf37eab599451ce37cb0f96 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 15:52:26 +0100 Subject: [PATCH 0783/2080] flake: load some modules only on Linux --- flake.nix | 77 ++++++++++++++++++++++++------------------------------- 1 file changed, 34 insertions(+), 43 deletions(-) diff --git a/flake.nix b/flake.nix index fb9bc448..39f7138e 100644 --- a/flake.nix +++ b/flake.nix @@ -29,11 +29,10 @@ # neovim nightly neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + nix2lua.url = "git+https://git.pleshevski.ru/mynix/nix2lua"; # Nix User Repository nur.url = "github:nix-community/NUR"; - - nix2lua.url = "git+https://git.pleshevski.ru/mynix/nix2lua"; }; outputs = { self, darwin, nixpkgs, nixpkgs-darwin-stable, home-manager, ... }@inputs: @@ -46,10 +45,10 @@ # Configuration for `nixpkgs` nixpkgsConfig = { config = { allowUnfree = true; }; - # overlays = [ + overlays = [ # inputs.neovim-nightly-overlay.overlay - # inputs.nur.overlay - # ]; + inputs.nur.overlay + ]; }; # Information about the main user @@ -67,36 +66,43 @@ }; homeManagerModules = { # https://github.com/malob/nixpkgs + colors = import ./modules/home/colors; my-colors = import ./home/colors.nix; my-kitty = import ./home/kitty.nix; + programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; my-fish = import ./home/fish.nix; my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; - my-mail = import ./home/mail.nix; - my-neovim = import ./home/neovim.nix; my-git = import ./home/git.nix; my-tmux = import ./home/tmux.nix; - my-keybase = import ./home/keybase.nix; - my-firefox = import ./home/firefox.nix; - my-i3 = import ./home/i3.nix; my-main = import ./home/main.nix; - - # Custom modules from gh:malob - colors = import ./modules/home/colors; - programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; - programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; home-user-info = { lib, ... }: { + # XXX fighre what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; }; }; + homeManagerLinuxModules = { + # https://github.com/malob/nixpkgs + my-mail = import ./home/mail.nix; + my-neovim = import ./home/neovim.nix; + programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; + my-keybase = import ./home/keybase.nix; + my-firefox = import ./home/firefox.nix; + my-i3 = import ./home/i3.nix; + programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; + }; # `nixos` configs nixosConfigurations = { brutal = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + # XXX test if we should/can pass nixos-stable + # pkgs = import nixos-stable { + # XXX test if really required pkgs = import nixpkgs { system = "x86_64-linux"; - overlays = [ inputs.nur.overlay ]; + # XXX to be tested is correctly passed globally + # overlays = [ inputs.nur.overlay ]; }; modules = [ # Main config @@ -110,23 +116,23 @@ home-manager.useGlobalPkgs = true; # install packages to /etc/profiles home-manager.useUserPackages = true; + # pass extra args to the modules home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.baptiste = { - imports = attrValues self.homeManagerModules; - home.stateVersion = homeStateVersion; - home.user-info = primaryUserDefaults; - }; + # XXX to be tested + imports = attrValues (self.homeManagerModules ++ self.homeManagerLinuxModules); + home.stateVersion = homeStateVersion; + home.user-info = primaryUserDefaults; + }; } ]; }; }; # `nix-darwin` configs - darwinConfigurations = rec { + darwinConfigurations = { Baptistes-MBP = darwin.lib.darwinSystem { system = "x86_64-darwin"; - # Includ darwin-sepcific inputs - inputs = { inherit darwin home-manager nixpkgs nixpkgs-darwin-stable; }; modules = [ # Main `nix-darwin` config ./configuration-Baptistes-MBP.nix @@ -139,27 +145,12 @@ home-manager.useGlobalPkgs = true; # install packages to /etc/profiles home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit darwin home-manager nixpkgs nixpkgs-darwin-stable; }; + # pass extra args to the modules + home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.baptiste = { - imports = [ - ./home/colors.nix - # ./home/kitty.nix - # ./home/fish.nix - ./home/starship.nix - ./home/starship-symbols.nix - # ./home/mail.nix - # ./home/neovim.nix - ./home/git.nix - ./home/tmux.nix - # ./home/keybase.nix - # ./home/firefox.nix - # ./home/i3.nix - ./home/starship.nix - ./home/starship-symbols.nix - ./home/main.nix - ./modules/home/colors - ]; - home.stateVersion = homeStateVersion; + imports = attrValues self.homeManagerModules; + home.stateVersion = homeStateVersion; + home.user-info = primaryUserDefaults; }; } ]; From 7319cf7cd22504c80e3f1f09293305819735ea16 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 16:41:17 +0100 Subject: [PATCH 0784/2080] ZSH: autoformat, disable offensive fortunes, as it got remove upstream :/ --- .zshrc | 330 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 165 insertions(+), 165 deletions(-) diff --git a/.zshrc b/.zshrc index a8ea0ae3..73375e89 100644 --- a/.zshrc +++ b/.zshrc @@ -57,12 +57,12 @@ # Windows {{{ if [[ -f "/mnt/c/WINDOWS/system32/wsl.exe" ]]; then - # We're in WSL, which defaults to umask 0 and causes issues with compaudit - umask 0022 - if [[ "${PWD}" = "/mnt/c/Users/${USER}" ]]; then - # We're in a default WSL shell - cd "${HOME}" - fi + # We're in WSL, which defaults to umask 0 and causes issues with compaudit + umask 0022 + if [[ "${PWD}" = "/mnt/c/Users/${USER}" ]]; then + # We're in a default WSL shell + cd "${HOME}" + fi fi # }}} @@ -71,7 +71,7 @@ fi # Initialization code that may require console input (password prompts, [y/n] # confirmations, etc.) must go above this block; everything else may go below. if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi # }}} @@ -119,21 +119,21 @@ zinit light chrissicool/zsh-256color # XXX dircolors comes from brew/coreutils on Mac OS X # zinit ice atclone"dircolors -b LS_COLORS > clrs.zsh" \ -# atpull"%atclone" pick"clrs.zsh" nocompile'!' + # atpull"%atclone" pick"clrs.zsh" nocompile'!' # zinit light trapd00r/LS_COLORS # Nordic dircolors configuration # https://github.com/arcticicestudio/nord-dircolors # zinit ice atclone"dircolors -b src/dir_colors > c.zsh" \ -# atpull'%atclone' \ -# pick"c.zsh" \ -# nocompile'!' + # atpull'%atclone' \ + # pick"c.zsh" \ + # nocompile'!' # zinit light arcticicestudio/nord-dircolors zinit ice atclone"dircolors -b .dircolors > c.zsh" \ - atpull'%atclone' \ - pick"c.zsh" \ - nocompile'!' + atpull'%atclone' \ + pick"c.zsh" \ + nocompile'!' zinit light dracula/dircolors # }}} @@ -165,11 +165,11 @@ zinit snippet PZTM::history zinit snippet PZT::modules/terminal/init.zsh zstyle ':prezto:module:terminal' auto-title 'yes' if (( $+commands[tmux] )); then - zstyle ':prezto:module:tmux:auto-start' local 'no' - zstyle ':prezto:module:tmux:auto-start' remote 'yes' - zstyle ':prezto:module:tmux:session' name 'work' - zstyle ':prezto:module:tmux:iterm' integrate 'no' - zinit snippet PZTM::tmux + zstyle ':prezto:module:tmux:auto-start' local 'no' + zstyle ':prezto:module:tmux:auto-start' remote 'yes' + zstyle ':prezto:module:tmux:session' name 'work' + zstyle ':prezto:module:tmux:iterm' integrate 'no' + zinit snippet PZTM::tmux fi # }}} @@ -178,17 +178,17 @@ fi # System clipboard integration zinit snippet OMZL::clipboard.zsh if (( $+commands[task] )); then - zinit snippet OMZP::taskwarrior - # Home-related tasks - alias th='task rc:~/.taskrc-home' + zinit snippet OMZP::taskwarrior + # Home-related tasks + alias th='task rc:~/.taskrc-home' fi if (( $+commands[vagrant] )); then - zinit snippet OMZP::vagrant + zinit snippet OMZP::vagrant fi if [[ "$OSTYPE" == "darwin"* ]]; then - # This requires having subversion installed - zinit ice svn - zinit snippet OMZP::macos + # This requires having subversion installed + zinit ice svn + zinit snippet OMZP::macos fi # }}} @@ -199,16 +199,16 @@ zinit light zsh-users/zsh-completions # Install various tools from GitHub {{{ # fzf, ripgrep, fd, jq, bat, lsd and delta zinit from"gh-r" as"program" lucid for \ - sbin"**/bat -> bat" @sharkdp/bat \ - sbin"jq* -> jq" stedolan/jq \ - sbin"**/fd" atclone'cp -vf **/autocomplete/_fd _fd' @sharkdp/fd \ - sbin'**/lsd -> lsd' atclone'cp -vf **/autocomplete/_lsd _lsd' Peltoche/lsd \ - sbin'**/delta -> delta' dandavison/delta \ - sbin"**/bin/gh -> gh" cli/cli \ - mv"ripgrep* -> rg" pick"rg/rg" BurntSushi/ripgrep \ - mv"delta* -> delta" pick"delta/delta" dandavison/delta \ - mv"tree-sitter* -> tree-sitter" tree-sitter/tree-sitter \ - junegunn/fzf + sbin"**/bat -> bat" @sharkdp/bat \ + sbin"jq* -> jq" stedolan/jq \ + sbin"**/fd" atclone'cp -vf **/autocomplete/_fd _fd' @sharkdp/fd \ + sbin'**/lsd -> lsd' atclone'cp -vf **/autocomplete/_lsd _lsd' Peltoche/lsd \ + sbin'**/delta -> delta' dandavison/delta \ + sbin"**/bin/gh -> gh" cli/cli \ + mv"ripgrep* -> rg" pick"rg/rg" BurntSushi/ripgrep \ + mv"delta* -> delta" pick"delta/delta" dandavison/delta \ + mv"tree-sitter* -> tree-sitter" tree-sitter/tree-sitter \ + junegunn/fzf # }}} # FZF {{{ @@ -216,14 +216,14 @@ zinit from"gh-r" as"program" lucid for \ # Fuzzy command line history search: Ctrl-R # Grab initialisation files and get fzf-tmux from GitHub repo zinit ice lucid wait"0" as'program' id-as"junegunn/fzf-extras" \ - multisrc"shell/{completion,key-bindings}.zsh" \ - pick"bin/fzf-tmux" + multisrc"shell/{completion,key-bindings}.zsh" \ + pick"bin/fzf-tmux" zinit light junegunn/fzf # Completion for openstack, docker and terraform zinit wait'1' as"completion" lucid for \ - https://github.com/docker/cli/blob/master/contrib/completion/zsh/_docker \ - https://gist.github.com/gwarf/a18dbeaa01d6cf14a95c31a1c7036f61/raw + https://github.com/docker/cli/blob/master/contrib/completion/zsh/_docker \ + https://gist.github.com/gwarf/a18dbeaa01d6cf14a95c31a1c7036f61/raw # tab completion using fzf # https://github.com/Aloxaf/fzf-tab @@ -244,8 +244,8 @@ zstyle ':fzf-tab:*' switch-group ',' '.' # use git <command> ** # https://github.com/wfxr/forgit zinit wait lucid blockf for \ - urbainvaes/fzf-marks \ - wfxr/forgit + urbainvaes/fzf-marks \ + wfxr/forgit # }}} # https://github.com/jeffreytse/zsh-vi-mode @@ -255,9 +255,9 @@ zinit light jeffreytse/zsh-vi-mode # fast-syntax-highlighting and autosuggestions # Theme management: fsh-alias -h zinit wait lucid for \ - atload"_zsh_autosuggest_start" zsh-users/zsh-autosuggestions \ - atinit"zpcompinit;zpcdreplay" zdharma-continuum/fast-syntax-highlighting \ - hlissner/zsh-autopair + atload"_zsh_autosuggest_start" zsh-users/zsh-autosuggestions \ + atinit"zpcompinit;zpcdreplay" zdharma-continuum/fast-syntax-highlighting \ + hlissner/zsh-autopair export ZSH_AUTOSUGGEST_STRATEGY=(history completion) # Accept autosuggestion using Ctrl-space bindkey '^ ' autosuggest-accept @@ -281,7 +281,7 @@ bindkey -M vicmd 'k' history-substring-search-up bindkey -M vicmd 'j' history-substring-search-down if (( $+commands[mysql] )); then - zinit light "zpm-zsh/mysql-colorize" + zinit light "zpm-zsh/mysql-colorize" fi # npm / nvm @@ -296,17 +296,17 @@ zinit light lukechilds/zsh-nvm # FIXME install from master/cargo # https://github.com/ajeetdsouza/zoxide/pull/474 # zinit ice wait"2" as"command" from"gh-r" lucid \ -# atclone"./zoxide init zsh --cmd cd > init.zsh" \ -# atpull"%atclone" src"init.zsh" nocompile'!' + # atclone"./zoxide init zsh --cmd cd > init.zsh" \ + # atpull"%atclone" src"init.zsh" nocompile'!' # zinit light ajeetdsouza/zoxide # Run git status or ls when entering a directory autoload -Uz add-zsh-hook function custom_chpwd() { - if [[ -d ".git" ]] || git rev-parse --git-dir > /dev/null 2>&1; then - git st - fi - lsd --icon always --color always + if [[ -d ".git" ]] || git rev-parse --git-dir > /dev/null 2>&1; then + git st + fi + lsd --icon always --color always } add-zsh-hook chpwd custom_chpwd @@ -366,9 +366,9 @@ zinit light laggardkernel/zsh-gpg-agent autoload -Uz compinit if [ $(date +'%j') != $(date -r ${ZDOTDIR:-$HOME}/.zcompdump +'%j') ]; then - compinit; + compinit; else - compinit -C; + compinit -C; fi # -q is for quiet; actually run all the `compdef's saved before `compinit` call @@ -404,18 +404,18 @@ bindkey 's' insert-sudo # Preferred editor for local and remote sessions if (( $+commands[nvim] )); then - export EDITOR='nvim' - export MANPAGER='nvim +Man!' - alias vim='nvim' - alias vi='nvim' - alias vimdiff='nvim -d' + export EDITOR='nvim' + export MANPAGER='nvim +Man!' + alias vim='nvim' + alias vi='nvim' + alias vimdiff='nvim -d' else - export EDITOR='vim' + export EDITOR='vim' fi # Aliases and functions {{{ if (( $+commands[msfconsole] )); then - alias msfconsole='msfconsole --quiet' + alias msfconsole='msfconsole --quiet' fi # --preserver-root is for GNU versions @@ -454,16 +454,16 @@ alias -s html=firefox alias -s xhtml=firefox # alias -s pdf=okular if (( $+commands[sxiv] )); then - alias -s gif=sxiv - alias -s jpg=sxiv - alias -s jpeg=sxiv - alias -s png=sxiv - alias -s bmp=sxiv + alias -s gif=sxiv + alias -s jpg=sxiv + alias -s jpeg=sxiv + alias -s png=sxiv + alias -s bmp=sxiv fi if (( $+commands[clementine] )); then - alias -s mp3=clementine - alias -s m4a=clementine - alias -s ogg=clementine + alias -s mp3=clementine + alias -s m4a=clementine + alias -s ogg=clementine fi # Aliases for launching some vimwikis @@ -479,54 +479,54 @@ alias ip='ip -color=auto' # Use pydf if available if (( $+commands[pydf] )); then - alias df=pydf + alias df=pydf fi if (( $+commands[rlwrap] )); then - alias listener="sudo rlwrap nc -lvnp 443" + alias listener="sudo rlwrap nc -lvnp 443" fi xev() { - command xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }' + command xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }' } drun() { - command docker run --rm -v $(pwd):/source -it "$1" + command docker run --rm -v $(pwd):/source -it "$1" } alias stack='docker run -it --rm -v ~/.stack:~/.stack gbraad/openstack-client:centos stack' # scan the local network and list the connected devices lscan() { - local ipRange=$(ip addr | grep -oE "192.168.*.*/[1-9]{2}" | awk -F '.' '{print $3}') - local scanReport=$(nmap -sn "192.168.$ipRange.1-254/24" | egrep "scan report") - # echo "$scanReport\n" | sed -r 's#Nmap scan report for (.*) \((.*)\)#\1 \2#' - printf "$scanReport\n" + local ipRange=$(ip addr | grep -oE "192.168.*.*/[1-9]{2}" | awk -F '.' '{print $3}') + local scanReport=$(nmap -sn "192.168.$ipRange.1-254/24" | egrep "scan report") + # echo "$scanReport\n" | sed -r 's#Nmap scan report for (.*) \((.*)\)#\1 \2#' + printf "$scanReport\n" } if [ -x "$HOME/bin/gamadv-xtd3/gam" ]; then - # CLI for Google admin, updated GAM - # https://github.com/taers232c/GAMADV-XTD3 - # gam() { "$HOME/bin/gamadv-xtd3/gam" "$@" ; } - PATH="$HOME/bin/gamadv-xtd3/:$PATH" - alias gam="$HOME/bin/gamadv-xtd3/gam" + # CLI for Google admin, updated GAM + # https://github.com/taers232c/GAMADV-XTD3 + # gam() { "$HOME/bin/gamadv-xtd3/gam" "$@" ; } + PATH="$HOME/bin/gamadv-xtd3/:$PATH" + alias gam="$HOME/bin/gamadv-xtd3/gam" fi # }}} # if (( $+commands[colordiff] )); then - alias diff="colordiff" + alias diff="colordiff" fi # Ensure that appropriate env var are set for gnome-keyring SSH agent if [ -n "$DESKTOP_SESSION" ]; then - if [ "$DESKTOP_SESSION" = "i3" -o "$DESKTOP_SESSION" = 'xinitrc' ]; then - export $(gnome-keyring-daemon -s) - fi + if [ "$DESKTOP_SESSION" = "i3" -o "$DESKTOP_SESSION" = 'xinitrc' ]; then + export $(gnome-keyring-daemon -s) + fi fi # Archlinux command not found (needs pkgfile) if [ -f /usr/share/doc/pkgfile/command-not-found.zsh ]; then - . /usr/share/doc/pkgfile/command-not-found.zsh + . /usr/share/doc/pkgfile/command-not-found.zsh fi # added by travis gem @@ -542,79 +542,79 @@ fi # XXX to be tested/documented if (( $+commands[oidc-agent-service] )); then - eval $(oidc-agent-service use) - # for fedcloudclient, once egi account got created - export OIDC_AGENT_ACCOUNT=egi + eval $(oidc-agent-service use) + # for fedcloudclient, once egi account got created + export OIDC_AGENT_ACCOUNT=egi fi if (( $+commands[misfortune] )); then - misfortune -o + misfortune -o elif (( $+commands[fortune] )); then - if (( $+commands[cowsay] )); then - fortune -o | cowsay - else - fortune -o - fi + if (( $+commands[cowsay] )); then + fortune | cowsay + else + fortune + fi fi # Env variables {{{ # macOS conf if [[ "$OSTYPE" == darwin* ]]; then - # Use gnused - brew install gnu-sed - PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" - # Use coreutils GNU utilities - brew install coreutils - PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" - export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" - # Use openjdk from brew - brew install openjdk - PATH="/usr/local/opt/openjdk/bin:$PATH" - export HOMEBREW_CASK_OPTS='--no-quarantine' - export HOMEBREW_NO_ANALYTICS=1 - -# Add go to the path - if [ -d "$HOME/go" ]; then - export GOPATH="$HOME/go" - export GOBIN="$GOPATH/bin" - export GOROOT=/usr/local/opt/go/libexec - # For github.com/raviqqe/liche - export GO111MODULE=on - export PATH="$PATH:$GOBIN" - export PATH="$PATH:$GOROOT/bin" - fi - - # https://github.com/pyenv/pyenv/wiki/Common-build-problems - # Required for building python with pyenv on Mac OS X - CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" - if [ -d "/usr/local/opt/llvm" ]; then - # Favor using llvm stuff from homebrew - CPPFLAGS="-I/usr/local/opt/llvm/include" - LDFLAGS="-L/usr/local/opt/llvm/lib ${LDFLAGS}" - LDFLAGS="-L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++ ${LDFLAGS}" - PATH="/usr/local/opt/llvm/bin:${PATH}" - fi - # Use clang - CC=clang - CXX=clang++ - # Speeding up build - CFLAGS="-O2 ${CFLAGS}" - export CC CXX CFLAGS LDFLAGS CPPFLAGS - # PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 - - # tail-like of postfix logs on MacOS X - postfix_log() { - log stream --predicate '(process == "smtpd") || (process == "smtp") || (process == "master")' --info - } - - # https://apple.stackexchange.com/questions/3253/ctrl-o-behavior-in-terminal-app - # To prevent ctrl-o in vim being discared by the terminal driver - # XXX returning error with updated conf - # stty: 'standard input': Operation not supported by device - # stty discard undef - - # cd into whatever is the forefront Finder window. - cdf() { # short for cdfinder - cd "`osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)'`" - } + # Use gnused - brew install gnu-sed + PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" + # Use coreutils GNU utilities - brew install coreutils + PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" + export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH" + # Use openjdk from brew - brew install openjdk + PATH="/usr/local/opt/openjdk/bin:$PATH" + export HOMEBREW_CASK_OPTS='--no-quarantine' + export HOMEBREW_NO_ANALYTICS=1 + + # Add go to the path + if [ -d "$HOME/go" ]; then + export GOPATH="$HOME/go" + export GOBIN="$GOPATH/bin" + export GOROOT=/usr/local/opt/go/libexec + # For github.com/raviqqe/liche + export GO111MODULE=on + export PATH="$PATH:$GOBIN" + export PATH="$PATH:$GOROOT/bin" + fi + + # https://github.com/pyenv/pyenv/wiki/Common-build-problems + # Required for building python with pyenv on Mac OS X + CFLAGS="-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" + if [ -d "/usr/local/opt/llvm" ]; then + # Favor using llvm stuff from homebrew + CPPFLAGS="-I/usr/local/opt/llvm/include" + LDFLAGS="-L/usr/local/opt/llvm/lib ${LDFLAGS}" + LDFLAGS="-L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++ ${LDFLAGS}" + PATH="/usr/local/opt/llvm/bin:${PATH}" + fi + # Use clang + CC=clang + CXX=clang++ + # Speeding up build + CFLAGS="-O2 ${CFLAGS}" + export CC CXX CFLAGS LDFLAGS CPPFLAGS + # PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 + + # tail-like of postfix logs on MacOS X + postfix_log() { + log stream --predicate '(process == "smtpd") || (process == "smtp") || (process == "master")' --info + } + + # https://apple.stackexchange.com/questions/3253/ctrl-o-behavior-in-terminal-app + # To prevent ctrl-o in vim being discared by the terminal driver + # XXX returning error with updated conf + # stty: 'standard input': Operation not supported by device + # stty discard undef + + # cd into whatever is the forefront Finder window. + cdf() { # short for cdfinder + cd "`osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)'`" + } fi export MAKEOPS='j6' @@ -623,17 +623,17 @@ export MAKEOPS='j6' typeset -U path path+=/usr/local/sbin if [ -d "$HOME/bin" ]; then - PATH="$HOME/bin:$PATH" + PATH="$HOME/bin:$PATH" fi if [ -d "$HOME/.local/bin" ]; then - PATH="$HOME/.local/bin:$PATH" + PATH="$HOME/.local/bin:$PATH" fi if [ -d "$HOME/.yarn/bin" ]; then - PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" + PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" fi # Add RVM to PATH for scripting. Make sure this is the last PATH variable change. if [ -d "$HOME/.rvm/bin" ]; then - PATH="$HOME/.rvm/bin:$PATH" + PATH="$HOME/.rvm/bin:$PATH" fi export PATH @@ -646,17 +646,17 @@ if (( $+commands[kitty] )); then fi if (( $+commands[bat] )); then - export SYSTEMD_PAGER='bat' - alias less=bat - alias cat='bat --paging=never' - alias more=bat - # Fallback as man pager - if [ -z "$MANPAGER" ]; then - export MANPAGER="sh -c 'col -bx | bat -l man -p'" - fi - export BAT_THEME='Dracula' + export SYSTEMD_PAGER='bat' + alias less=bat + alias cat='bat --paging=never' + alias more=bat + # Fallback as man pager + if [ -z "$MANPAGER" ]; then + export MANPAGER="sh -c 'col -bx | bat -l man -p'" + fi + export BAT_THEME='Dracula' else - export SYSTEMD_PAGER='cat' + export SYSTEMD_PAGER='cat' fi # Manually set language environment From 027e14f14e559ccc71224bc3f546ffd8102587d2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 16:48:06 +0100 Subject: [PATCH 0785/2080] README: typos --- README.md | 45 +++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index b3d697f0..56784a0f 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,38 @@ # gwarf's dotfiles -My messy dotfiles for GNU/Linux and macos. WIP of course :) +My messy **dotfiles** for GNU/Linux and macos. WIP of course :) -> **WIP++** This repository is being converted from [yadm](#yadm) to management -> using [nix](#nix) and [home-manager](https://nix-community.github.io/home-manager/). +Some files or configuration parts are for GNU/Linux (Archlinux and NixOS) and +some others are for macOS. + +> **WIP++** I'm currently converting this repository from [yadm](#yadm) to +> management using [nix](#nix) and +> [home-manager](https://nix-community.github.io/home-manager/). ## Nix -Currently it's mainly a few random notes and pointers to source of inspiration. +Currently, it's mainly a few random notes and pointers to source of inspiration. This is very early work, some important tasks are pending: - [ ] Try to understand what I'm doing :) +- [ ] Finalise mail configuration +- [ ] Import zsh configuration +- [ ] Finalise fish configuration +- [ ] Finalise neovim configuration - [ ] Check https://nixos.org/guides/nix-pills/ -- [ ] Read https://www.reddit.com/r/NixOS/comments/xtq2tb/best_way_to_manage_multiple_home_manager_configs/ -- [ ] decide what to track (stable, master, unstable...). -- [ ] clean packages sets in inputs. -- [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to flakes. +- [ ] Read + https://www.reddit.com/r/NixOS/comments/xtq2tb/best_way_to_manage_multiple_home_manager_configs/ +- [ ] Decide what to track (stable, master, unstable...). +- [ ] Clean packages sets in inputs. +- [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to + flakes. - [ ] Manage upgrades. - [ ] Consolidate macOS and NixOS configuration. -- [ ] Test and document bootstrap in clean NixOS. -- [ ] Test and document bootstrap in clean macOS. - [ ] Look into https://github.com/gvolpe/neovim-flake. - [ ] Support home-manager conf on non-NisOS GNU/Linux systems. +- [ ] Test and document bootstrap in clean NixOS. +- [ ] Test and document bootstrap in clean macOS. - [ ] Look into GitHub actions. - [ ] Clean static config files. @@ -65,6 +75,7 @@ sudo nixos-rebuild switch ### On Darwin Using `nix-darwin`, initially baesd on the video and gist from @jmatsushita: + - https://gist.github.com/jmatsushita/5c50ef14b4b96cb24ae5268dab613050 - https://youtu.be/KJgN0lnA5mk - https://discourse.nixos.org/t/simple-workable-config-for-m1-macbook-pro-monterey-12-0-1-with-nix-flakes-nix-darwin-and-home-manager/16834 @@ -137,16 +148,14 @@ sudo nixos-rebuild switch --flake . Managed using https://yadm.io -Some files or configuration parts are for GNU/Linux and some other are for MacOS X. - ## Requirements -* git -* [yadm](https://yadm.io/docs/install) +- git +- [yadm](https://yadm.io/docs/install) ## Using -``` sh +```sh # Bootstrap yadm clone git@github.com:gwarf/dotfiles.git yadm status @@ -157,7 +166,7 @@ yadm commit .my-conf-file -m 'add .my-conf-file' yadm push ``` -## Creating altnerate files +## Creating alternate files -See https://yadm.io/docs/alternates. -It's easier to create them directly in the GitHub repository. +See https://yadm.io/docs/alternates. It's easier to create them directly in the +GitHub repository. From ac6915243576b0b8a5b4e8ab4cb869ef9726f1ab Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 17:48:12 +0100 Subject: [PATCH 0786/2080] README: more links --- README.md | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 56784a0f..72f608d3 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,11 @@ This is very early work, some important tasks are pending: - [ ] Check https://nixos.org/guides/nix-pills/ - [ ] Read https://www.reddit.com/r/NixOS/comments/xtq2tb/best_way_to_manage_multiple_home_manager_configs/ -- [ ] Decide what to track (stable, master, unstable...). +- [ ] Decide what to track (stable, master, unstable...) or + [mix](https://github.com/nix-community/home-manager/issues/1538). - [ ] Clean packages sets in inputs. - [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to - flakes. + flakes. Unless it makes sense to keep this to do system conf? - [ ] Manage upgrades. - [ ] Consolidate macOS and NixOS configuration. - [ ] Look into https://github.com/gvolpe/neovim-flake. @@ -99,17 +100,28 @@ sudo nix-collect-garbage -d sudo nixos-rebuild switch --flake . ``` -### Searching for a package +### References -- https://search.nixos.org/packages +#### Searching for a package, an option,... -### References +- [Home Manager Manual](https://nix-community.github.io/home-manager/) +- [Home Manager Options](https://nix-community.github.io/home-manager/options.html) +- [Home Manager Options Search](https://mipmip.github.io/home-manager-option-search/) +- [Nix packages search](https://search.nixos.org/packages) +- [Nix options seardch](https://search.nixos.org/options) +#### Videos + +- https://youtu.be/AGVXJ-TIv3Y + +#### Flakes + +- [Practical Nix Flakes](https://serokell.io/blog/practical-nix-flakes) - https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 -### Videos +#### Nix Darwin -- https://youtu.be/AGVXJ-TIv3Y +- [Declarative macOS Configuration Using nix-darwin And home-manager](https://xyno.space/post/nix-darwin-introduction) #### Home manager @@ -120,6 +132,7 @@ sudo nixos-rebuild switch --flake . #### Real world flakes from other users - Conf using unstable, nixos and nix darwin + - https://github.com/water-sucks/nixed/blob/main/home/profiles/apps/kitty/default.nix - https://github.com/Baitinq/nixos-config - https://github.com/jonringer/nixpkgs-config - https://github.com/fmoda3/nix-configs/blob/3d640ab43d676a8aad555bcd29527345554252d0/flake.nix#L70 @@ -128,6 +141,7 @@ sudo nixos-rebuild switch --flake . - https://github.com/ttak0422/ENV/blob/1478ba70e1a3eddd4dab1b65c191cc320e5b6cf1/flake.nix - https://github.com/voidcontext/nix-config/blob/695668066e358be43298eab796f16232a09ba24e/flake.nix - https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343/3 +- [mystrio NixOS configuration](https://sr.ht/~misterio/nix-config/) - https://dpdmancul.gitlab.io/dotfiles/index.html: fully documented - https://github.com/jules-goose/nixcfg - https://github.com/booklearner/nixconfig @@ -141,6 +155,8 @@ sudo nixos-rebuild switch --flake . - https://github.com/ArdanaLabs/ArdanaTenant - Dracula colorscheme: https://github.com/RichardYan314/dotfiles-nix - https://github.com/Misterio77/nix-starter-configs +- [NisOS on WSL](https://github.com/nix-community/NixOS-WSL) +- [NixOS on SoYouStart](https://web.archive.org/web/20160829180041/http://aborsu.github.io/2015/09/26/Install%20NixOS%20on%20So%20You%20Start%20dedicated%20server/) ## yadm From c9d04974feed400fdacd7767640e116b7a724680 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Dec 2022 17:50:10 +0100 Subject: [PATCH 0787/2080] More links --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 72f608d3..351bc57c 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ Currently, it's mainly a few random notes and pointers to source of inspiration. This is very early work, some important tasks are pending: - [ ] Try to understand what I'm doing :) +- [ ] Read [Practical Nix Flakes](https://serokell.io/blog/practical-nix-flakes) - [ ] Finalise mail configuration - [ ] Import zsh configuration - [ ] Finalise fish configuration @@ -157,6 +158,8 @@ sudo nixos-rebuild switch --flake . - https://github.com/Misterio77/nix-starter-configs - [NisOS on WSL](https://github.com/nix-community/NixOS-WSL) - [NixOS on SoYouStart](https://web.archive.org/web/20160829180041/http://aborsu.github.io/2015/09/26/Install%20NixOS%20on%20So%20You%20Start%20dedicated%20server/) +- [Installing NixOS on OVH dedicated servers](https://web.archive.org/web/20210125195352/https://www.srid.ca/137ae172.html) +- https://discourse.nixos.org/t/howto-install-nixos-on-an-ovh-dedicated-server/3089/14 ## yadm From 86250f638625c92a0b0680584e4b51408e79b05b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 6 Dec 2022 20:48:02 +0100 Subject: [PATCH 0788/2080] Add back overlay, duplicate conf --- flake.nix | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/flake.nix b/flake.nix index 39f7138e..fe46a916 100644 --- a/flake.nix +++ b/flake.nix @@ -45,10 +45,6 @@ # Configuration for `nixpkgs` nixpkgsConfig = { config = { allowUnfree = true; }; - overlays = [ - # inputs.neovim-nightly-overlay.overlay - inputs.nur.overlay - ]; }; # Information about the main user @@ -64,6 +60,7 @@ my-bootstrap = import ./modules/system/bootstrap.nix; users-primaryUser = import ./modules/system/users.nix; }; + # XXX Factorise and simplify like done in https://github.com/gvolpe/nix-config homeManagerModules = { # https://github.com/malob/nixpkgs colors = import ./modules/home/colors; @@ -77,19 +74,33 @@ my-tmux = import ./home/tmux.nix; my-main = import ./home/main.nix; home-user-info = { lib, ... }: { - # XXX fighre what this does + # XXX figure what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; }; }; homeManagerLinuxModules = { - # https://github.com/malob/nixpkgs + # XXX Only working on linux my-mail = import ./home/mail.nix; my-neovim = import ./home/neovim.nix; programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; my-keybase = import ./home/keybase.nix; my-firefox = import ./home/firefox.nix; my-i3 = import ./home/i3.nix; + # XXX working everywhere + colors = import ./modules/home/colors; + my-colors = import ./home/colors.nix; + my-kitty = import ./home/kitty.nix; programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; + my-fish = import ./home/fish.nix; + my-starship = import ./home/starship.nix; + my-starship-symbols = import ./home/starship-symbols.nix; + my-git = import ./home/git.nix; + my-tmux = import ./home/tmux.nix; + my-main = import ./home/main.nix; + home-user-info = { lib, ... }: { + # XXX figure what this does + options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; + }; }; # `nixos` configs @@ -101,8 +112,7 @@ # XXX test if really required pkgs = import nixpkgs { system = "x86_64-linux"; - # XXX to be tested is correctly passed globally - # overlays = [ inputs.nur.overlay ]; + overlays = [ inputs.nur.overlay ]; }; modules = [ # Main config @@ -120,7 +130,7 @@ home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.baptiste = { # XXX to be tested - imports = attrValues (self.homeManagerModules ++ self.homeManagerLinuxModules); + imports = attrValues self.homeManagerLinuxModules; home.stateVersion = homeStateVersion; home.user-info = primaryUserDefaults; }; From c30ff2ec4b2d93de78fa4e48f1601e6324b3a4a6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Dec 2022 09:57:37 +0100 Subject: [PATCH 0789/2080] Use neovim-nightly on macOS too. --- flake.nix | 1 + home/neovim-nightly.nix | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 home/neovim-nightly.nix diff --git a/flake.nix b/flake.nix index fe46a916..82d67088 100644 --- a/flake.nix +++ b/flake.nix @@ -73,6 +73,7 @@ my-git = import ./home/git.nix; my-tmux = import ./home/tmux.nix; my-main = import ./home/main.nix; + my-neovim = import ./home/neovim-nightly.nix; home-user-info = { lib, ... }: { # XXX figure what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix new file mode 100644 index 00000000..ba5b1615 --- /dev/null +++ b/home/neovim-nightly.nix @@ -0,0 +1,17 @@ +# https://srid.ca/cli/neovim/install +{ pkgs, inputs, ... }: + +let + neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; +in +{ + programs.neovim = { + enable = true; + package = neovim-nightly; + + # use nvim by default + vimAlias = true; + vimdiffAlias = true; + viAlias = true; + }; +} From 1c93f418dcacf0e64fd749708248cc44464a790d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Dec 2022 14:33:41 +0100 Subject: [PATCH 0790/2080] main.nix: fix install of prettier and markodwnlint --- home/main.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/home/main.nix b/home/main.nix index 224d6687..5ad99ef3 100644 --- a/home/main.nix +++ b/home/main.nix @@ -39,6 +39,7 @@ # some basics curl wget + # Cool stuff gnupg mutt @@ -58,20 +59,19 @@ # Dev stuff jq nodejs - # XXX not available - # nodePackages.alex + podman + nodePackages.alex actionlint black beautysh isort stylua - # XXX not available - # nodePackages.markdownlint-cli + nodePackages.markdownlint-cli pylint - # XXX not available - # prettier + nodePackages.prettier shellcheck shfmt + # LSP servers # XXX not available # ansible-language-server @@ -85,6 +85,7 @@ # vim-language-server yaml-language-server rnix-lsp + # Useful nix related tools # cachix # adding/managing alternative binary caches hosted by Cachix # comma # run software from without installing it From 91cd16058c0a205e76908695489b1deb176ec1cf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Dec 2022 14:35:55 +0100 Subject: [PATCH 0791/2080] Docuemnt searching --- README.md | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 351bc57c..ecf02ae5 100644 --- a/README.md +++ b/README.md @@ -38,9 +38,9 @@ This is very early work, some important tasks are pending: - [ ] Look into GitHub actions. - [ ] Clean static config files. -### On NixOS +### NixOS setup -#### Managing NixOS using flake +#### Managing NixOS using flakes and Mome Manager Manage NixOS configruation in `~/repo/dotfiles`. @@ -74,7 +74,7 @@ Manage conf in `/etc/nixos/configuration.nix` sudo nixos-rebuild switch ``` -### On Darwin +### macOS AKA Darwin using flakes and Home Manager Using `nix-darwin`, initially baesd on the video and gist from @jmatsushita: @@ -89,28 +89,40 @@ nix build ".#nixosConfigurations.Baptistes-MBP.system' ./result/sw/bin/darwin-rebuild switch --flake . ``` -### On archlinux +### On Archlinux using Home Manager > TODO -### Deleting old generations +### Searching for a Nix package, an option,... ```shell -nix-env -p /nix/var/nix/profiles/system --list-generations -sudo nix-collect-garbage -d -sudo nixos-rebuild switch --flake . +# Using new "experimental" nix search command +nix search nixpkgs firefox +# If experimental features are not enabled +nix --extra-experimental-features "nix-command flakes" search nixpkgs firefox +# Using legacy slow nix-env +nix-env -qaP firefox ``` -### References - -#### Searching for a package, an option,... +It is also possible to use different online services to easily search. +- [NixOS Wiki: Searching packages](https://nixos.wiki/wiki/Searching_packages) - [Home Manager Manual](https://nix-community.github.io/home-manager/) - [Home Manager Options](https://nix-community.github.io/home-manager/options.html) - [Home Manager Options Search](https://mipmip.github.io/home-manager-option-search/) - [Nix packages search](https://search.nixos.org/packages) - [Nix options seardch](https://search.nixos.org/options) +### Deleting old generations + +```shell +nix-env -p /nix/var/nix/profiles/system --list-generations +sudo nix-collect-garbage -d +sudo nixos-rebuild switch --flake . +``` + +### References + #### Videos - https://youtu.be/AGVXJ-TIv3Y From d595f1d1e05e86c1d8b0e0b814c65c46ed79826d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 08:42:00 +0100 Subject: [PATCH 0792/2080] i3: fix escape for rofi --- home/i3.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/i3.nix b/home/i3.nix index 902a0e97..95291555 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -56,7 +56,7 @@ in { "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; # "${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'monospace-10' -p 'dmenu%'"; # "${mod}+p" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modes 'window,run,ssh' -modes combi -theme arthur -font 'Awesome 5' -show-icons"; - "${mod}+p" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modes window,run,ssh -modes combi -theme arthur -show-icons"; + "${mod}+p" = "exec \"${pkgs.rofi}/bin/rofi -show combi -combi-modes window,run,ssh -modes combi -theme arthur -show-icons\""; # Focus "${mod}+h" = "focus left"; From 54b93bf62ed9279ccf3733ae20371c18529898f7 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 08:56:18 +0100 Subject: [PATCH 0793/2080] mail: deploy mailcap, configure autoview in neomutt --- home/mail.nix | 47 +++++++++++++++++-- .../home/mail/mailcap-darwin | 0 .../home/mail/mailcap-linux | 0 3 files changed, 43 insertions(+), 4 deletions(-) rename .mailcap##os.Darwin => modules/home/mail/mailcap-darwin (100%) rename .mailcap##os.Linux => modules/home/mail/mailcap-linux (100%) diff --git a/home/mail.nix b/home/mail.nix index 02918aca..7b67ccd7 100644 --- a/home/mail.nix +++ b/home/mail.nix @@ -24,7 +24,11 @@ in gnome.gnome-keyring vimPlugins.himalaya-vim # thunderbird + w3m ]; + + # Enable static configuration files + home.file.".mailcap".source = ../modules/home/mail/mailcap-linux; # programs = { # ### GnuPG # gpg = { @@ -286,15 +290,50 @@ in neomutt = { enable = true; extraConfig = '' - # Default sorting - # Set by threads, most recent on top, but sometimes weird inside threads - # Most of the time from oldest to neweset, but sometims some are mixed + # Sorting set sort = threads set sort_aux = reverse-last-date-received # thread based on regex set sort_re set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" - color body brightblue black "(baptiste|genier|gnubila|healthgrid|egi|boob|bgrenier|gwarf)" + + # Viewing MIME + set mailcap_path = "~/.mailcap:/etc/mailcap" + unauto_view * + auto_view text/html + auto_view text/calendar application/ics + auto_view image/x-portable + auto_view image/x-portable-bitmap + auto_view image/x-portable-graymap + auto_view image/x-portable-anymap + auto_view image/x-portable-pixmap + auto_view application/pgp-signature + auto_view application/pgp + auto_view application/x-gunzip + auto_view application/postscript + auto_view application/x-troff-man + auto_view application/x-troff-me + auto_view application/x-troff + auto_view application/x-gtar + auto_view application/x-tar + auto_view application/x-tar-gz + auto_view application/x-sh + auto_view application/x-csh + auto_view application/x-shar + auto_view application/x-latex + auto_view application/x-tex + auto_view application/x-dvi + auto_view application/x-zip-compressed + auto_view application/x-cpio text/richtext + auto_view application/pgp-keys + auto_view application/octet-stream + auto_view text/x-vcard + auto_view text/enriched + auto_view text/csv + alternative_order text/calendar text/plain text/enriched text/html + + # Colors + color body brightblue black "(baptiste|grenier|gwarf)" color normal cyan black color error color160 black color tilde color235 black diff --git a/.mailcap##os.Darwin b/modules/home/mail/mailcap-darwin similarity index 100% rename from .mailcap##os.Darwin rename to modules/home/mail/mailcap-darwin diff --git a/.mailcap##os.Linux b/modules/home/mail/mailcap-linux similarity index 100% rename from .mailcap##os.Linux rename to modules/home/mail/mailcap-linux From 4dacfd6878c8d0914b4f3ee82c5d62b439204f5c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 08:59:14 +0100 Subject: [PATCH 0794/2080] Move mail conf to modules/mail directory --- flake.nix | 2 +- home/mail.nix => modules/home/mail/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename home/mail.nix => modules/home/mail/default.nix (99%) diff --git a/flake.nix b/flake.nix index 82d67088..8ef91958 100644 --- a/flake.nix +++ b/flake.nix @@ -81,7 +81,7 @@ }; homeManagerLinuxModules = { # XXX Only working on linux - my-mail = import ./home/mail.nix; + my-mail = import ./modules/home/mail; my-neovim = import ./home/neovim.nix; programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; my-keybase = import ./home/keybase.nix; diff --git a/home/mail.nix b/modules/home/mail/default.nix similarity index 99% rename from home/mail.nix rename to modules/home/mail/default.nix index 7b67ccd7..c956b8fa 100644 --- a/home/mail.nix +++ b/modules/home/mail/default.nix @@ -28,7 +28,7 @@ in ]; # Enable static configuration files - home.file.".mailcap".source = ../modules/home/mail/mailcap-linux; + home.file.".mailcap".source = ./mailcap-linux; # programs = { # ### GnuPG # gpg = { From eebb020e53d7d23a97bdae655a8dfdb3296b0b8f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 09:01:42 +0100 Subject: [PATCH 0795/2080] Move machines specific configuration to a dedicated folder --- flake.nix | 4 ++-- .../Baptistes-MBP/configuration-Baptistes-MBP.nix | 0 .../brutal/configuration-brutal.nix | 0 .../brutal/hardware-configuration-brutal.nix | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename configuration-Baptistes-MBP.nix => machines/Baptistes-MBP/configuration-Baptistes-MBP.nix (100%) rename configuration-brutal.nix => machines/brutal/configuration-brutal.nix (100%) rename hardware-configuration-brutal.nix => machines/brutal/hardware-configuration-brutal.nix (100%) diff --git a/flake.nix b/flake.nix index 8ef91958..e3e84bfa 100644 --- a/flake.nix +++ b/flake.nix @@ -117,7 +117,7 @@ }; modules = [ # Main config - ./configuration-brutal.nix + ./machines/brutal/configuration-brutal.nix # `home-manager` module home-manager.nixosModules.home-manager @@ -146,7 +146,7 @@ system = "x86_64-darwin"; modules = [ # Main `nix-darwin` config - ./configuration-Baptistes-MBP.nix + ./machines/Baptistes-MBP/configuration-Baptistes-MBP.nix # `home-manager` module home-manager.darwinModules.home-manager diff --git a/configuration-Baptistes-MBP.nix b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix similarity index 100% rename from configuration-Baptistes-MBP.nix rename to machines/Baptistes-MBP/configuration-Baptistes-MBP.nix diff --git a/configuration-brutal.nix b/machines/brutal/configuration-brutal.nix similarity index 100% rename from configuration-brutal.nix rename to machines/brutal/configuration-brutal.nix diff --git a/hardware-configuration-brutal.nix b/machines/brutal/hardware-configuration-brutal.nix similarity index 100% rename from hardware-configuration-brutal.nix rename to machines/brutal/hardware-configuration-brutal.nix From e59f943d2269b7acd09ddbf0c1dd780def565696 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 09:06:19 +0100 Subject: [PATCH 0796/2080] Update channels conf --- README.md | 5 ++++- flake.nix | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ecf02ae5..80872275 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ This is very early work, some important tasks are pending: - [ ] Check https://nixos.org/guides/nix-pills/ - [ ] Read https://www.reddit.com/r/NixOS/comments/xtq2tb/best_way_to_manage_multiple_home_manager_configs/ -- [ ] Decide what to track (stable, master, unstable...) or +- [-] Decide what to track (stable, master, unstable...) or [mix](https://github.com/nix-community/home-manager/issues/1538). - [ ] Clean packages sets in inputs. - [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to @@ -40,6 +40,9 @@ This is very early work, some important tasks are pending: ### NixOS setup +> NixOS version: using the stable NixOS release, and allowing to explicitely +> select packages from unstable. + #### Managing NixOS using flakes and Mome Manager Manage NixOS configruation in `~/repo/dotfiles`. diff --git a/flake.nix b/flake.nix index e3e84bfa..50b50f9e 100644 --- a/flake.nix +++ b/flake.nix @@ -4,8 +4,7 @@ inputs = { # Package sets - # XXX should we use master as nixpkgs on all systems? - # nixpkgs.url = "github:NixOS/nixpkgs/master"; + # XXX clarify differences between release-22.11 and nixos-22.11, if any nixpkgs.url = "github:NixOS/nixpkgs/release-22.11"; # XXX Should we use nixos-22.11 as nixpkigs on NixOS? nixos-stable.url = "github:nixos/nixpkgs/nixos-22.11"; From 604bb757af0480178570b0e63b01f026ba408b1f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 09:33:03 +0100 Subject: [PATCH 0797/2080] Enable yabai on macOS --- flake.nix | 4 +- .../configuration-Baptistes-MBP.nix | 4 ++ modules/home/yabai/default.nix | 44 +++++++++++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 modules/home/yabai/default.nix diff --git a/flake.nix b/flake.nix index 50b50f9e..11e02fb0 100644 --- a/flake.nix +++ b/flake.nix @@ -60,7 +60,7 @@ users-primaryUser = import ./modules/system/users.nix; }; # XXX Factorise and simplify like done in https://github.com/gvolpe/nix-config - homeManagerModules = { + homeManagerDarwinModules = { # https://github.com/malob/nixpkgs colors = import ./modules/home/colors; my-colors = import ./home/colors.nix; @@ -158,7 +158,7 @@ # pass extra args to the modules home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.baptiste = { - imports = attrValues self.homeManagerModules; + imports = attrValues self.homeManagerDarwinModules; home.stateVersion = homeStateVersion; home.user-info = primaryUserDefaults; }; diff --git a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix index e6ffbfb1..9513686e 100644 --- a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix +++ b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix @@ -1,6 +1,10 @@ { pkgs, lib, ... }: { + imports = [ + ../../modules/home/yabai + ]; # Nix configuration ------------------------------------------------------------------------------ + nix.settings.substituters = [ "https://cache.nixos.org/" ]; diff --git a/modules/home/yabai/default.nix b/modules/home/yabai/default.nix new file mode 100644 index 00000000..541a2552 --- /dev/null +++ b/modules/home/yabai/default.nix @@ -0,0 +1,44 @@ +{ config, lib, pkgs, ... }: +{ + services.yabai = { + enable = true; + package = pkgs.yabai; + enableScriptingAddition = true; + config = { + focus_follows_mouse = "autoraise"; + mouse_follows_focus = "off"; + window_placement = "second_child"; + window_opacity = "off"; + window_opacity_duration = "0.0"; + window_border = "on"; + window_border_placement = "inset"; + window_border_width = 2; + window_border_radius = 3; + active_window_border_topmost = "off"; + window_topmost = "on"; + window_shadow = "float"; + active_window_border_color = "0xff5c7e81"; + normal_window_border_color = "0xff505050"; + insert_window_border_color = "0xffd75f5f"; + active_window_opacity = "1.0"; + normal_window_opacity = "1.0"; + split_ratio = "0.50"; + auto_balance = "on"; + mouse_modifier = "fn"; + mouse_action1 = "move"; + mouse_action2 = "resize"; + layout = "bsp"; + top_padding = 36; + bottom_padding = 10; + left_padding = 10; + right_padding = 10; + window_gap = 10; + }; + + extraConfig = '' + # rules + yabai -m rule --add app='System Preferences' manage=off + # Any other arbitrary config here + ''; + }; +} From c25967dac803d41a839891be17715a0024f64c13 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 10:42:46 +0100 Subject: [PATCH 0798/2080] tmux: switch to dracula --- home/tmux.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/tmux.nix b/home/tmux.nix index f8e938ac..15b3364c 100644 --- a/home/tmux.nix +++ b/home/tmux.nix @@ -19,7 +19,8 @@ in keyMode = "vi"; plugins = with plugins; [ cpu - nord # theme + # nord # theme + dracula { plugin = resurrect; extraConfig = "set -g @resurrect-strategy-nvim 'session'"; From 4c5cedaa6d0e4c379e937b0b5c632618c541a388 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 10:43:56 +0100 Subject: [PATCH 0799/2080] Try to make skhd working --- modules/home/yabai/default.nix | 59 ++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/modules/home/yabai/default.nix b/modules/home/yabai/default.nix index 541a2552..68e33b66 100644 --- a/modules/home/yabai/default.nix +++ b/modules/home/yabai/default.nix @@ -41,4 +41,63 @@ # Any other arbitrary config here ''; }; + + services.skhd = { + enable = true; + package = pkgs.skhd; + skhdConfig = '' + # applications + alt - return : ${pkgs.kitty} + # focus window + cmd - h : ${pkgs.yabai} -m window --focus west + cmd - j : ${pkgs.yabai} -m window --focus south + cmd - k : ${pkgs.yabai} -m window --focus north + cmd - l : ${pkgs.yabai} -m window --focus east + cmd + shift - h : ${pkgs.yabai} -m window --focus west + cmd + shift - j : ${pkgs.yabai} -m window --focus south + cmd + shift - k : ${pkgs.yabai} -m window --focus north + cmd + shift - l : ${pkgs.yabai} -m window --focus east + ctrl + shift - h : ${pkgs.yabai} -m window --focus west + ctrl + shift - j : ${pkgs.yabai} -m window --focus south + ctrl + shift - k : ${pkgs.yabai} -m window --focus north + ctrl + shift - l : ${pkgs.yabai} -m window --focus east + # # workspaces + # ctrl + alt - j : ${pkgs.yabai} -m space --focus prev + # ctrl + alt - k : ${pkgs.yabai} -m space --focus next + # cmd + alt - j : ${pkgs.yabai} -m space --focus prev + # cmd + alt - k : ${pkgs.yabai} -m space --focus next + # # send window to space and follow focus + # ctrl + alt - l : ${pkgs.yabai} -m window --space prev; ${pkgs.yabai} -m space --focus prev + # ctrl + alt - h : ${pkgs.yabai} -m window --space next; ${pkgs.yabai} -m space --focus next + # cmd + alt - l : ${pkgs.yabai} -m window --space prev; ${pkgs.yabai} -m space --focus prev + # cmd + alt - h : ${pkgs.yabai} -m window --space next; ${pkgs.yabai} -m space --focus next + # # focus window + # alt - h : ${pkgs.yabai} -m window --focus west + # alt - l : ${pkgs.yabai} -m window --focus east + # # focus window in stacked + # alt - j : if [ "$(${pkgs.yabai} -m query --spaces --space | jq -r '.type')" = "stack" ]; then ${pkgs.yabai} -m window --focus stack.next; else ${pkgs.yabai} -m window --focus south; fi + # alt - k : if [ "$(${pkgs.yabai} -m query --spaces --space | jq -r '.type')" = "stack" ]; then ${pkgs.yabai} -m window --focus stack.prev; else ${pkgs.yabai} -m window --focus north; fi + # # swap managed window + # shift + alt - h : ${pkgs.yabai} -m window --swap west + # shift + alt - j : ${pkgs.yabai} -m window --swap south + # shift + alt - k : ${pkgs.yabai} -m window --swap north + # shift + alt - l : ${pkgs.yabai} -m window --swap east + # # increase window size + # shift + alt - a : ${pkgs.yabai} -m window --resize left:-20:0 + # shift + alt - s : ${pkgs.yabai} -m window --resize right:-20:0 + # # toggle layout + # alt - t : ${pkgs.yabai} -m space --layout bsp + # alt - d : ${pkgs.yabai} -m space --layout stack + # # float / unfloat window and center on screen + # alt - n : ${pkgs.yabai} -m window --toggle float; \ + # ${pkgs.yabai} -m window --grid 4:4:1:1:2:2 + # # toggle sticky(+float), topmost, picture-in-picture + # alt - p : ${pkgs.yabai} -m window --toggle sticky; \ + # ${pkgs.yabai} -m window --toggle topmost; \ + # ${pkgs.yabai} -m window --toggle pip + # reload + # shift + alt - r : brew services restart skhd; brew services restart yabai; brew services restart sketchybar + # shift + alt - r : brew services restart skhd; brew services restart yabai; brew services restart sketchybar + ''; + }; } From aec5117c4867a40cf18a5969fc8aa72f7561a70f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 10:45:06 +0100 Subject: [PATCH 0800/2080] Yabai is a system module --- machines/Baptistes-MBP/configuration-Baptistes-MBP.nix | 2 +- modules/{home => system}/yabai/default.nix | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename modules/{home => system}/yabai/default.nix (100%) diff --git a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix index 9513686e..cfb51180 100644 --- a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix +++ b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix @@ -1,7 +1,7 @@ { pkgs, lib, ... }: { imports = [ - ../../modules/home/yabai + ../../modules/system/yabai ]; # Nix configuration ------------------------------------------------------------------------------ diff --git a/modules/home/yabai/default.nix b/modules/system/yabai/default.nix similarity index 100% rename from modules/home/yabai/default.nix rename to modules/system/yabai/default.nix From 9ec8ab58dc4f679d8c0ed59dd321bd66198dd95b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 11:58:36 +0100 Subject: [PATCH 0801/2080] Install more fonts on macOS --- .../Baptistes-MBP/configuration-Baptistes-MBP.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix index cfb51180..a555256c 100644 --- a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix +++ b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix @@ -55,8 +55,18 @@ # https://github.com/lightdiscord/nix-nerd-fonts-overlay # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 fonts.fonts = with pkgs; [ - recursive - (nerdfonts.override { fonts = [ "CascadiaCode" ]; }) + fantasque-sans-mono + font-awesome_5 + recursive + (nerdfonts.override { fonts = [ "CascadiaCode" "JetBrainsMono" ]; }) + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + fira-code + fira-code-symbols + libertine + victor-mono + kochi-substitute ]; # Keyboard From 00aeeac1bb5d26710122d99b8efb202d5eb88705 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 11:58:53 +0100 Subject: [PATCH 0802/2080] Issues running Joplin --- home/main.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/main.nix b/home/main.nix index 5ad99ef3..7836c1ce 100644 --- a/home/main.nix +++ b/home/main.nix @@ -55,6 +55,8 @@ xz tree silver-searcher + # Build failing on macOS + # nodePackages.joplin # Dev stuff jq From b853c41402c52614c57e88d4f4e3cd5a4d58d792 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 11:59:17 +0100 Subject: [PATCH 0803/2080] Move tmux to a dedicated module, start using new conf --- flake.nix | 4 +- home/custom-plugins.nix | 16 ------- home/default.conf | 43 ------------------ home/tmux.nix | 38 ---------------- modules/home/tmux/default.nix | 85 +++++++++++++++++++++++++++++++++++ 5 files changed, 87 insertions(+), 99 deletions(-) delete mode 100644 home/custom-plugins.nix delete mode 100644 home/default.conf delete mode 100644 home/tmux.nix create mode 100644 modules/home/tmux/default.nix diff --git a/flake.nix b/flake.nix index 11e02fb0..e533af5d 100644 --- a/flake.nix +++ b/flake.nix @@ -70,7 +70,7 @@ my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; my-git = import ./home/git.nix; - my-tmux = import ./home/tmux.nix; + my-tmux = import ./modules/home/tmux; my-main = import ./home/main.nix; my-neovim = import ./home/neovim-nightly.nix; home-user-info = { lib, ... }: { @@ -95,7 +95,7 @@ my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; my-git = import ./home/git.nix; - my-tmux = import ./home/tmux.nix; + my-tmux = import ./modules/home/tmux; my-main = import ./home/main.nix; home-user-info = { lib, ... }: { # XXX figure what this does diff --git a/home/custom-plugins.nix b/home/custom-plugins.nix deleted file mode 100644 index f76a4cca..00000000 --- a/home/custom-plugins.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs, ... }: - -let - buildTmuxPlugin = pkgs.tmuxPlugins.mkTmuxPlugin; -in -{ - nord = buildTmuxPlugin { - pluginName = "nord"; - version = "v0.3.0"; - src = builtins.fetchTarball { - name = "Nord-Tmux-2020-08-25"; - url = "https://github.com/arcticicestudio/nord-tmux/archive/4e2dc2a5065f5e8e67366700f803c733682e8f8c.tar.gz"; - sha256 = "0l97cqbnq31f769jak31ffb7bkf8rrg72w3vd0g3fjpq0717864a"; - }; - }; -} diff --git a/home/default.conf b/home/default.conf deleted file mode 100644 index ba509a9b..00000000 --- a/home/default.conf +++ /dev/null @@ -1,43 +0,0 @@ -set -g default-command /run/current-system/sw/bin/fish -set -g default-shell /run/current-system/sw/bin/fish - -# automatically renumber tmux windows -set -g renumber-windows on - -# Activity Monitoring -setw -g monitor-activity off -set -g visual-activity off - -############ Key Bindings ############ - -# reload config file -bind r source-file ~/.tmux.conf \; display "Config Reloaded!" - -# split window and fix path for tmux 1.9 -bind | split-window -h -c "#{pane_current_path}" -bind - split-window -v -c "#{pane_current_path}" - -# synchronize all panes in a window -bind y setw synchronize-panes - -# pane movement shortcuts -bind h select-pane -L -bind j select-pane -D -bind k select-pane -U -bind l select-pane -R - -bind -r C-h select-window -t :- -bind -r C-l select-window -t :+ - -# Resize pane shortcuts -bind -r H resize-pane -L 10 -bind -r J resize-pane -D 10 -bind -r K resize-pane -U 10 -bind -r L resize-pane -R 10 - -# Remap x to avoid confirmation to kill pane -bind-key x kill-pane - -# Move windows -bind-key S-Left swap-window -t -1\; select-window -t -1 -bind-key S-Right swap-window -t +1\; select-window -t +1 diff --git a/home/tmux.nix b/home/tmux.nix deleted file mode 100644 index 15b3364c..00000000 --- a/home/tmux.nix +++ /dev/null @@ -1,38 +0,0 @@ -# https://github.com/gvolpe/nix-config/blob/1c5ef00d2ecec075c4b7f78cddcde3598dd0c7a0/home/programs/tmux/default.nix -{ config, pkgs, lib, ... }: - -let - # inherit (config.home.user-info) nixConfigDirectory; - - plugins = pkgs.tmuxPlugins // pkgs.callPackage ./custom-plugins.nix {}; - # Not working, impure... - # tmuxConf = builtins.readFile "${nixConfigDirectory}/configs/tmux/default.conf"; - tmuxConf = builtins.readFile ./default.conf; -in -{ - programs.tmux = { - enable = true; - aggressiveResize = true; - baseIndex = 1; - extraConfig = tmuxConf; - escapeTime = 0; - keyMode = "vi"; - plugins = with plugins; [ - cpu - # nord # theme - dracula - { - plugin = resurrect; - extraConfig = "set -g @resurrect-strategy-nvim 'session'"; - } - { - plugin = continuum; - extraConfig = '' - set -g @continuum-restore 'on' - set -g @continuum-save-interval '60' # minutes - ''; - } - ]; - terminal = "screen-256color"; - }; -} diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix new file mode 100644 index 00000000..13deba8f --- /dev/null +++ b/modules/home/tmux/default.nix @@ -0,0 +1,85 @@ +# https://github.com/gvolpe/nix-config/blob/1c5ef00d2ecec075c4b7f78cddcde3598dd0c7a0/home/programs/tmux/default.nix +{ config, pkgs, lib, ... }: + +{ + programs.tmux = { + enable = true; + aggressiveResize = true; + baseIndex = 1; + escapeTime = 0; + keyMode = "vi"; + # shell = "${pkgs.fish}/bin/fish"; + plugins = with pkgs.tmuxPlugins; [ + cpu + # nord # theme + dracula + { + plugin = resurrect; + extraConfig = '' + set -g @resurrect-strategy-nvim "session" + set -g @dracula-show-powerline true + set -g @dracula-show-left-icon 💀 + set -g @dracula-show-left-sep  + set -g @dracula-show-right-sep  + # set -g @dracula-border-contrast true + set -g @dracula-show-fahrenheit false + ''; + } + { + plugin = continuum; + extraConfig = '' + set -g @continuum-restore 'on' + set -g @continuum-save-interval '60' # minutes + ''; + } + ]; + terminal = "screen-256color"; + extraConfig = '' + set -g default-command ${pkgs.fish}/bin/fish + set -g default-shell ${pkgs.fish}/bin/fish + # automatically renumber tmux windows + set -g renumber-windows on + + # status bar at the top of the screen + set-option -g status-position "top" + + # Activity Monitoring + setw -g monitor-activity off + set -g visual-activity off + + ############ Key Bindings ############ + + # reload config file + bind r source-file ~/.tmux.conf \; display "Config Reloaded!" + + # split window and fix path for tmux 1.9 + bind | split-window -h -c "#{pane_current_path}" + bind - split-window -v -c "#{pane_current_path}" + + # synchronize all panes in a window + bind y setw synchronize-panes + + # pane movement shortcuts + bind h select-pane -L + bind j select-pane -D + bind k select-pane -U + bind l select-pane -R + + bind -r C-h select-window -t :- + bind -r C-l select-window -t :+ + + # Resize pane shortcuts + bind -r H resize-pane -L 10 + bind -r J resize-pane -D 10 + bind -r K resize-pane -U 10 + bind -r L resize-pane -R 10 + + # Remap x to avoid confirmation to kill pane + bind-key x kill-pane + + # Move windows + bind-key S-Left swap-window -t -1\; select-window -t -1 + bind-key S-Right swap-window -t +1\; select-window -t +1 + ''; + }; +} From faaee509b6f027588b264ab9c7801ada120e862c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 12:03:20 +0100 Subject: [PATCH 0804/2080] README: fix example --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 80872275..b8d9a6ef 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ This is very early work, some important tasks are pending: - [ ] Read https://www.reddit.com/r/NixOS/comments/xtq2tb/best_way_to_manage_multiple_home_manager_configs/ - [-] Decide what to track (stable, master, unstable...) or - [mix](https://github.com/nix-community/home-manager/issues/1538). + [mix](https://github.com/nix-community/home-manager/issues/1538). - [ ] Clean packages sets in inputs. - [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to flakes. Unless it makes sense to keep this to do system conf? @@ -87,7 +87,7 @@ Using `nix-darwin`, initially baesd on the video and gist from @jmatsushita: ```shell # Rebuild all system conf -nix build ".#nixosConfigurations.Baptistes-MBP.system' +nix build ".#darwinConfigurations.Baptistes-MBP.system" # Switch to the new conf ./result/sw/bin/darwin-rebuild switch --flake . ``` From 69b0782d55e5d20331c13c13b7ba7131c7712a17 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 12:05:59 +0100 Subject: [PATCH 0805/2080] Tmux: cleaning --- modules/home/tmux/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index 13deba8f..92d50700 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -11,12 +11,9 @@ # shell = "${pkgs.fish}/bin/fish"; plugins = with pkgs.tmuxPlugins; [ cpu - # nord # theme - dracula { - plugin = resurrect; + plugin = dracula; extraConfig = '' - set -g @resurrect-strategy-nvim "session" set -g @dracula-show-powerline true set -g @dracula-show-left-icon 💀 set -g @dracula-show-left-sep  @@ -25,6 +22,12 @@ set -g @dracula-show-fahrenheit false ''; } + { + plugin = resurrect; + extraConfig = '' + set -g @resurrect-strategy-nvim "session" + ''; + } { plugin = continuum; extraConfig = '' @@ -35,8 +38,10 @@ ]; terminal = "screen-256color"; extraConfig = '' + # Use fish set -g default-command ${pkgs.fish}/bin/fish set -g default-shell ${pkgs.fish}/bin/fish + # automatically renumber tmux windows set -g renumber-windows on From e1ede5c463fc0b7b1ca7fa8ad78112846fa1db0a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 12:30:31 +0100 Subject: [PATCH 0806/2080] Fish: fix vivid theme for ls colors --- modules/home/fish/default.nix | 87 +++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 modules/home/fish/default.nix diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix new file mode 100644 index 00000000..29111503 --- /dev/null +++ b/modules/home/fish/default.nix @@ -0,0 +1,87 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) elem optionalString; + inherit (config.home.user-info) nixConfigDirectory; +in + +{ + # Fish Shell + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.fish.enable + programs.fish.enable = true; + + # Add Fish plugins + home.packages = [ pkgs.fishPlugins.done pkgs.sqlite ]; + + # Fish configuration ------------------------------------------------------------------------- {{{ + + # Aliases + programs.fish.shellAliases = with pkgs; { + # Nix related + drb = "darwin-rebuild build --flake ${nixConfigDirectory}"; + drs = "darwin-rebuild switch --flake ${nixConfigDirectory}"; + flakeup = "nix flake update ${nixConfigDirectory}"; + nb = "nix build"; + nd = "nix develop"; + nf = "nix flake"; + nr = "nix run"; + ns = "nix search"; + + # Other + ".." = "cd .."; + ":q" = "exit"; + cat = "${bat}/bin/bat"; + du = "${du-dust}/bin/dust"; + g = "${gitAndTools.git}/bin/git"; + la = "ll -a"; + ll = "ls -l --time-style long-iso --icons"; + ls = "${exa}/bin/exa"; + }; + + # Configuration that should be above `loginShellInit` and `interactiveShellInit`. + programs.fish.shellInit = '' + set -U fish_term24bit 1 + ''; + + programs.fish.interactiveShellInit = '' + set -g fish_greeting "" + ${pkgs.thefuck}/bin/thefuck --alias | source + + set EDITOR nvim + + # Set color variables + set emphasized_text brcyan # base1 + set normal_text brblue # base0 + set secondary_text brgreen # base01 + set background_light black # base02 + set background brblack # base03 + + set -g fish_color_quote cyan # color of commands + set -g fish_color_redirection brmagenta # color of IO redirections + set -g fish_color_end blue # color of process separators like ';' and '&' + set -g fish_color_error red # color of potential errors + set -g fish_color_match --reverse # color of highlighted matching parenthesis + set -g fish_color_search_match --background=yellow + set -g fish_color_selection --reverse # color of selected text (vi mode) + set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' + set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' + set -g fish_color_cancel red # color of the '^C' indicator on a canceled command + + set -g fish_color_command $emphasized_text --bold # color of commands + set -g fish_color_param $normal_text # color of regular command parameters + set -g fish_color_comment $secondary_text # color of comments + set -g fish_color_autosuggestion $secondary_text # color of autosuggestions + set -g fish_pager_color_prefix $emphasized_text --bold # color of the pager prefix string + set -g fish_pager_color_description $selection_text # color of the completion description + set -g fish_pager_color_selected_prefix $background + set -g fish_pager_color_selected_completion $background + set -g fish_pager_color_selected_description $background + + # Set LS_COLORS + set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate dracula) + + [ -e $HOME/fish.env ]; and source $HOME/fish.env + ''; + # }}} +} +# vim: foldmethod=marker From 9fd9982c11c59c5d0009705e12e74ed10f888848 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 12:31:21 +0100 Subject: [PATCH 0807/2080] tmux: fix shell and dracula conf --- modules/home/tmux/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index 92d50700..c4c5c320 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -14,12 +14,12 @@ { plugin = dracula; extraConfig = '' + set -g @dracula-show-fahrenheit false set -g @dracula-show-powerline true set -g @dracula-show-left-icon 💀 set -g @dracula-show-left-sep  set -g @dracula-show-right-sep  # set -g @dracula-border-contrast true - set -g @dracula-show-fahrenheit false ''; } { @@ -38,13 +38,18 @@ ]; terminal = "screen-256color"; extraConfig = '' - # Use fish + # Use fish as shell set -g default-command ${pkgs.fish}/bin/fish set -g default-shell ${pkgs.fish}/bin/fish # automatically renumber tmux windows set -g renumber-windows on + # Disable automatic changes of titles + set -g set-titles on + set-window-option -g automatic-rename on + set-window-option -g allow-rename on + # status bar at the top of the screen set-option -g status-position "top" From 441e61a99b33b6808650f718e06bccc18fc88169 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 12:31:31 +0100 Subject: [PATCH 0808/2080] Fish got moved to a dedicated module --- flake.nix | 4 +-- home/fish.nix | 87 --------------------------------------------------- 2 files changed, 2 insertions(+), 89 deletions(-) delete mode 100644 home/fish.nix diff --git a/flake.nix b/flake.nix index e533af5d..43cec1c2 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ my-colors = import ./home/colors.nix; my-kitty = import ./home/kitty.nix; programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; - my-fish = import ./home/fish.nix; + my-fish = import ./modules/home/fish; my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; my-git = import ./home/git.nix; @@ -91,7 +91,7 @@ my-colors = import ./home/colors.nix; my-kitty = import ./home/kitty.nix; programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; - my-fish = import ./home/fish.nix; + my-fish = import ./modules/home/fish; my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; my-git = import ./home/git.nix; diff --git a/home/fish.nix b/home/fish.nix deleted file mode 100644 index 3a0e2558..00000000 --- a/home/fish.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - inherit (lib) elem optionalString; - inherit (config.home.user-info) nixConfigDirectory; -in - -{ - # Fish Shell - # https://rycee.gitlab.io/home-manager/options.html#opt-programs.fish.enable - programs.fish.enable = true; - - # Add Fish plugins - home.packages = [ pkgs.fishPlugins.done pkgs.sqlite ]; - - # Fish configuration ------------------------------------------------------------------------- {{{ - - # Aliases - programs.fish.shellAliases = with pkgs; { - # Nix related - drb = "darwin-rebuild build --flake ${nixConfigDirectory}"; - drs = "darwin-rebuild switch --flake ${nixConfigDirectory}"; - flakeup = "nix flake update ${nixConfigDirectory}"; - nb = "nix build"; - nd = "nix develop"; - nf = "nix flake"; - nr = "nix run"; - ns = "nix search"; - - # Other - ".." = "cd .."; - ":q" = "exit"; - cat = "${bat}/bin/bat"; - du = "${du-dust}/bin/dust"; - g = "${gitAndTools.git}/bin/git"; - la = "ll -a"; - ll = "ls -l --time-style long-iso --icons"; - ls = "${exa}/bin/exa"; - }; - - # Configuration that should be above `loginShellInit` and `interactiveShellInit`. - programs.fish.shellInit = '' - set -U fish_term24bit 1 - ''; - - programs.fish.interactiveShellInit = '' - set -g fish_greeting "" - ${pkgs.thefuck}/bin/thefuck --alias | source - - set EDITOR nvim - - # Set color variables - set emphasized_text brcyan # base1 - set normal_text brblue # base0 - set secondary_text brgreen # base01 - set background_light black # base02 - set background brblack # base03 - - set -g fish_color_quote cyan # color of commands - set -g fish_color_redirection brmagenta # color of IO redirections - set -g fish_color_end blue # color of process separators like ';' and '&' - set -g fish_color_error red # color of potential errors - set -g fish_color_match --reverse # color of highlighted matching parenthesis - set -g fish_color_search_match --background=yellow - set -g fish_color_selection --reverse # color of selected text (vi mode) - set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' - set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' - set -g fish_color_cancel red # color of the '^C' indicator on a canceled command - - set -g fish_color_command $emphasized_text --bold # color of commands - set -g fish_color_param $normal_text # color of regular command parameters - set -g fish_color_comment $secondary_text # color of comments - set -g fish_color_autosuggestion $secondary_text # color of autosuggestions - set -g fish_pager_color_prefix $emphasized_text --bold # color of the pager prefix string - set -g fish_pager_color_description $selection_text # color of the completion description - set -g fish_pager_color_selected_prefix $background - set -g fish_pager_color_selected_completion $background - set -g fish_pager_color_selected_description $background - - # Set LS_COLORS - set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate solarized-$term_background) - - [ -e $HOME/fish.env ]; and source $HOME/fish.env - ''; - # }}} -} -# vim: foldmethod=marker From fefacc46ebd9f69aa332afcdde398999fc6f0622 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 13:02:26 +0100 Subject: [PATCH 0809/2080] i3: clean mod p --- home/i3.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/home/i3.nix b/home/i3.nix index 95291555..792f69d3 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -54,9 +54,7 @@ in { }; keybindings = lib.mkOptionDefault { "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; - # "${mod}+p" = "exec ${pkgs.dmenu}/bin/dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'monospace-10' -p 'dmenu%'"; - # "${mod}+p" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modes 'window,run,ssh' -modes combi -theme arthur -font 'Awesome 5' -show-icons"; - "${mod}+p" = "exec \"${pkgs.rofi}/bin/rofi -show combi -combi-modes window,run,ssh -modes combi -theme arthur -show-icons\""; + "${mod}+p" = "exec \"${pkgs.rofi}/bin/rofi -show combi -combi-modes window,run,ssh -modes combi -show-icons -font 'Awesome 5' -theme arthur\""; # Focus "${mod}+h" = "focus left"; From 1df8717654f6568c44db74b239709823f96ad884 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 13:12:17 +0100 Subject: [PATCH 0810/2080] Simplify kitty conf --- flake.nix | 2 - home/kitty.nix | 8 +- modules/home/programs/kitty/extras.nix | 137 ------------------------- 3 files changed, 3 insertions(+), 144 deletions(-) delete mode 100644 modules/home/programs/kitty/extras.nix diff --git a/flake.nix b/flake.nix index 43cec1c2..b1693db8 100644 --- a/flake.nix +++ b/flake.nix @@ -65,7 +65,6 @@ colors = import ./modules/home/colors; my-colors = import ./home/colors.nix; my-kitty = import ./home/kitty.nix; - programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; my-fish = import ./modules/home/fish; my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; @@ -90,7 +89,6 @@ colors = import ./modules/home/colors; my-colors = import ./home/colors.nix; my-kitty = import ./home/kitty.nix; - programs-kitty-extras = import ./modules/home/programs/kitty/extras.nix; my-fish = import ./modules/home/fish; my-starship = import ./home/starship.nix; my-starship-symbols = import ./home/starship-symbols.nix; diff --git a/home/kitty.nix b/home/kitty.nix index 6c78b634..1c87e63e 100644 --- a/home/kitty.nix +++ b/home/kitty.nix @@ -6,7 +6,7 @@ # https://rycee.gitlab.io/home-manager/options.html#opt-programs.kitty.enable programs.kitty.enable = true; - # General config ----------------------------------------------------------------------------- {{{ + # General config programs.kitty.settings = { font_family = "Cascadia Code PL"; font_size = "14.0"; @@ -75,10 +75,8 @@ programs.kitty.extraConfig = '' modify_font underline_thickness 400% modify_font underline_position 2 + # https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points + symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D JetBrainsMono Nerd Font"; ''; - - programs.kitty.extras.useSymbolsFromNerdFont = "JetBrainsMono Nerd Font"; - # }}} - } # vim: foldmethod=marker diff --git a/modules/home/programs/kitty/extras.nix b/modules/home/programs/kitty/extras.nix deleted file mode 100644 index 5c998f42..00000000 --- a/modules/home/programs/kitty/extras.nix +++ /dev/null @@ -1,137 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - - cfg = config.programs.kitty.extras; - - # Create a Kitty config string from a Nix set - setToKittyConfig = with generators; toKeyValue { mkKeyValue = mkKeyValueDefault {} " "; }; - - # Write a Nix set representing a kitty config into the Nix store - writeKittyConfig = fileName: config: pkgs.writeTextDir "${fileName}" (setToKittyConfig config); - - # Path in Nix store containing light and dark kitty color configs - kitty-colors = pkgs.symlinkJoin { - name = "kitty-colors"; - paths = [ - (writeKittyConfig "dark-colors.conf" cfg.colors.dark) - (writeKittyConfig "light-colors.conf" cfg.colors.light) - ]; - }; - - # Shell scripts for changing Kitty colors - term-background = pkgs.writeShellScriptBin "term-background" '' - # Accepts arguments "light" or "dark". If shell is running in a Kitty window set the colors. - if [ -n "$KITTY_WINDOW_ID" ]; then - kitty @ --to $KITTY_LISTEN_ON set-colors --all --configured \ - ${kitty-colors}/"$1"-colors.conf & - fi - ''; - term-light = pkgs.writeShellScriptBin "term-light" '' - ${term-background}/bin/term-background light - ''; - term-dark = pkgs.writeShellScriptBin "term-dark" '' - ${term-background}/bin/term-background dark - ''; - - socket = "unix:/tmp/mykitty"; - -in { - - options.programs.kitty.extras = { - colors = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - When enable, commands <command>term-dark</command> and <command>term-light</command> will - toggle between your dark and a light colors. - - <command>term-background</command> which accepts one argument (the value of which should - be <literal>dark</literal> or <literal>light</literal>) is also avaible. - - (Note that the Kitty setting <literal>allow_remote_control = true</literal> is set to - enable this functionality.) - ''; - }; - - dark = mkOption { - type = with types; attrsOf str; - default = {}; - description = '' - Kitty color settings for dark background colorscheme. - ''; - }; - - light = mkOption { - type = with types; attrsOf str; - default = {}; - description = '' - Kitty color settings for light background colorscheme. - ''; - }; - - common = mkOption { - type = with types; attrsOf str; - default = {}; - description = '' - Kitty color settings that the light and dark background colorschemes share. - ''; - }; - - default = mkOption { - type = types.enum [ "dark" "light" ]; - default = "dark"; - description = '' - The colorscheme Kitty opens with. - ''; - }; - }; - - useSymbolsFromNerdFont = mkOption { - type = types.str; - default = ""; - example = "JetBrainsMono Nerd Font"; - description = '' - NerdFont patched fonts frequently suffer from rendering issues in terminals. To mitigate - this, we can use a non-NerdFont with Kitty and use the <literal>symbol_map</literal> setting - to tell Kitty to only use a NerdFont for NerdFont symbols. - - Set this option the name of an installed NerdFont (the same name you'd use in the - <literal>font_family</literal> setting), to enable this feature. - ''; - }; - - }; - - config = mkIf config.programs.kitty.enable { - - home.packages = mkIf cfg.colors.enable [ - term-light - term-dark - term-background - ]; - - programs.kitty.settings = optionalAttrs cfg.colors.enable ( - - cfg.colors.common // cfg.colors.${cfg.colors.default} // { - allow_remote_control = "yes"; - listen_on = socket; - } - - ) // optionalAttrs (cfg.useSymbolsFromNerdFont != "") { - - # https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points - symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D ${cfg.useSymbolsFromNerdFont}"; - - }; - - programs.kitty.darwinLaunchOptions = mkIf pkgs.stdenv.isDarwin [ - "--listen-on ${socket}" - ]; - - }; - -} From 6a7c5856c6f0b76075915bafb03b56081d4fbab8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 13:18:01 +0100 Subject: [PATCH 0811/2080] Drop unused colorshemes, move kitty to a module. --- flake.nix | 51 ++++----- home/colors.nix | 107 ------------------ modules/home/colors/colorscheme.nix | 86 -------------- modules/home/colors/default.nix | 13 --- .../home/kitty/default.nix | 0 5 files changed, 22 insertions(+), 235 deletions(-) delete mode 100644 home/colors.nix delete mode 100644 modules/home/colors/colorscheme.nix delete mode 100644 modules/home/colors/default.nix rename home/kitty.nix => modules/home/kitty/default.nix (100%) diff --git a/flake.nix b/flake.nix index b1693db8..cfc3440c 100644 --- a/flake.nix +++ b/flake.nix @@ -61,40 +61,35 @@ }; # XXX Factorise and simplify like done in https://github.com/gvolpe/nix-config homeManagerDarwinModules = { - # https://github.com/malob/nixpkgs - colors = import ./modules/home/colors; - my-colors = import ./home/colors.nix; - my-kitty = import ./home/kitty.nix; - my-fish = import ./modules/home/fish; - my-starship = import ./home/starship.nix; - my-starship-symbols = import ./home/starship-symbols.nix; - my-git = import ./home/git.nix; - my-tmux = import ./modules/home/tmux; - my-main = import ./home/main.nix; - my-neovim = import ./home/neovim-nightly.nix; + kitty = import ./modules/home/kitty; + fish = import ./modules/home/fish; + starship = import ./home/starship.nix; + starship-symbols = import ./home/starship-symbols.nix; + git = import ./home/git.nix; + tmux = import ./modules/home/tmux; + main = import ./home/main.nix; + neovim = import ./home/neovim-nightly.nix; home-user-info = { lib, ... }: { # XXX figure what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; }; }; homeManagerLinuxModules = { - # XXX Only working on linux - my-mail = import ./modules/home/mail; - my-neovim = import ./home/neovim.nix; + # only for GNU/Linux + mail = import ./modules/home/mail; + neovim = import ./home/neovim.nix; programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; - my-keybase = import ./home/keybase.nix; - my-firefox = import ./home/firefox.nix; - my-i3 = import ./home/i3.nix; - # XXX working everywhere - colors = import ./modules/home/colors; - my-colors = import ./home/colors.nix; - my-kitty = import ./home/kitty.nix; - my-fish = import ./modules/home/fish; - my-starship = import ./home/starship.nix; - my-starship-symbols = import ./home/starship-symbols.nix; - my-git = import ./home/git.nix; - my-tmux = import ./modules/home/tmux; - my-main = import ./home/main.nix; + keybase = import ./home/keybase.nix; + firefox = import ./home/firefox.nix; + i3 = import ./home/i3.nix; + + kitty = import ./modules/home/kitty; + fish = import ./modules/home/fish; + starship = import ./home/starship.nix; + starship-symbols = import ./home/starship-symbols.nix; + git = import ./home/git.nix; + tmux = import ./modules/home/tmux; + main = import ./home/main.nix; home-user-info = { lib, ... }: { # XXX figure what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; @@ -105,8 +100,6 @@ nixosConfigurations = { brutal = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - # XXX test if we should/can pass nixos-stable - # pkgs = import nixos-stable { # XXX test if really required pkgs = import nixpkgs { system = "x86_64-linux"; diff --git a/home/colors.nix b/home/colors.nix deleted file mode 100644 index c582a980..00000000 --- a/home/colors.nix +++ /dev/null @@ -1,107 +0,0 @@ -# Colors from: https://ethanschoonover.com/solarized - -# SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB -# --------- ------- ---- ------- ----------- ---------- ----------- ----------- -# base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 -# base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 -# base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 -# base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 -# base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 -# base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 -# base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 -# base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 -# yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 -# orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 -# red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 -# magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 -# violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 -# blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 -# cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 -# green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 - -{ config, ... }: - -{ - colors.solarized-light = { - colors = { - color0 = "#073642"; - color1 = "#dc322f"; - color2 = "#859900"; - color3 = "#b58900"; - color4 = "#268bd2"; - color5 = "#d33682"; - color6 = "#2aa198"; - color7 = "#eee8d5"; - color8 = "#002b36"; - color9 = "#cb4b16"; - color10 = "#586e75"; - color11 = "#657b83"; - color12 = "#839496"; - color13 = "#6c71c4"; - color14 = "#93a1a1"; - color15 = "#fdf6e3"; - }; - - namedColors = { - # Solarized names - base03 = "color8"; - base02 = "color0"; - base01 = "color10"; - base00 = "color11"; - base0 = "color12"; - base1 = "color14"; - base2 = "color7"; - base3 = "color15"; - yellow = "color3"; - orange = "color9"; - red = "color1"; - magenta = "color5"; - violet = "color13"; - blue = "color4"; - cyan = "color6"; - green = "color2"; - }; - - terminal = { - bg = "base3"; - fg = "base00"; - cursorBg = "blue"; - cursorFg = "base3"; - selectionBg = "base1"; - selectionFg = "base3"; - }; - - pkgThemes.kitty = { - url_color = "blue"; - tab_bar_background = "base2"; - active_tab_background = "green"; - active_tab_foreground = "base3"; - inactive_tab_background = "base01"; - inactive_tab_foreground = "base3"; - }; - }; - - colors.solarized-dark = { - inherit (config.colors.solarized-light) colors namedColors; - - terminal = { - bg = "base03"; - fg = "base0"; - cursorBg = "blue"; - cursorFg = "base03"; - selectionBg = "base01"; - selectionFg = "base03"; - }; - - pkgThemes.kitty = { - inherit (config.colors.solarized-light.pkgThemes.kitty) - url_color - active_tab_background - active_tab_foreground - inactive_tab_background; - - tab_bar_background = "base02"; - inactive_tab_foreground = "base1"; - }; - }; -} diff --git a/modules/home/colors/colorscheme.nix b/modules/home/colors/colorscheme.nix deleted file mode 100644 index 2f0ede87..00000000 --- a/modules/home/colors/colorscheme.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ name, config, lib, ... }: - -let - inherit (lib) - attrNames - attrValues - hasPrefix - listToAttrs - literalExpression - mapAttrs - mkOption - range - types; - - baseColorOptions = listToAttrs (map - (i: { name = "color${toString i}"; value = mkOption { type = types.str; }; }) - (range 0 15) - ); - - mkColorOption = args: mkOption (args // { - type = types.enum (attrNames config.colors ++ attrValues config.colors ++ attrNames config.namedColors); - apply = v: config.colors.${v} or config.namedColors.${v} or v; - }); - - kittyBaseColorOptions = listToAttrs (map - (i: { name = "color${toString i}"; value = mkColorOption { default = "color${toString i}"; }; }) - (range 0 15) - ); - -in - -{ - options = { - name = mkOption { - type = types.str; - default = name; - defaultText = literalExpression "<name>"; - }; - - colors = mkOption { - type = types.submodule { - options = baseColorOptions; - }; - }; - - namedColors = mkOption { - type = types.attrsOf (types.enum (attrNames config.colors ++ attrValues config.colors)); - default = {}; - apply = mapAttrs (_: v: if hasPrefix "color" v then config.colors.${v} else v); - }; - - terminal = mkOption { - type = types.submodule { - options = { - bg = mkColorOption {}; - fg = mkColorOption {}; - cursorBg = mkColorOption {}; - cursorFg = mkColorOption {}; - selectionBg = mkColorOption {}; - selectionFg = mkColorOption {}; - }; - }; - }; - - pkgThemes.kitty = mkOption { - type = types.submodule { - options = kittyBaseColorOptions // { - # Get defaults from `config.terminal` - background = mkColorOption { default = config.terminal.bg; }; - foreground = mkColorOption { default = config.terminal.fg; }; - cursor = mkColorOption { default = config.terminal.cursorBg; }; - cursor_text_color = mkColorOption { default = config.terminal.cursorFg; }; - selection_background = mkColorOption { default = config.terminal.selectionBg; }; - selection_foreground = mkColorOption { default = config.terminal.selectionFg; }; - - url_color = mkColorOption {}; - tab_bar_background = mkColorOption {}; - active_tab_background = mkColorOption {}; - active_tab_foreground = mkColorOption {}; - inactive_tab_foreground = mkColorOption {}; - inactive_tab_background = mkColorOption {}; - }; - }; - }; - }; -} diff --git a/modules/home/colors/default.nix b/modules/home/colors/default.nix deleted file mode 100644 index 34a3e7a7..00000000 --- a/modules/home/colors/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ lib, ... }: - -let - inherit (lib) mkOption types; -in -{ - options = { - colors = mkOption { - default = {}; - type = types.attrsOf (types.submodule (import ./colorscheme.nix)); - }; - }; -} diff --git a/home/kitty.nix b/modules/home/kitty/default.nix similarity index 100% rename from home/kitty.nix rename to modules/home/kitty/default.nix From 696d5ea4261ab4c1476de8d1ab2bab23aaecf87c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 13:20:21 +0100 Subject: [PATCH 0812/2080] Cosmetics --- home/i3.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/i3.nix b/home/i3.nix index 792f69d3..0635e806 100644 --- a/home/i3.nix +++ b/home/i3.nix @@ -4,7 +4,7 @@ let mod = "Mod1"; in { # https://github.com/srid/nix-config/blob/705a70c094da53aa50cf560179b973529617eb31/nix/home/i3.nix#L11 - # https://nix-community.github.io/home-manager/options.html#opt-xsession.windowManager.i3.config + # https://nix-community.github.io/home-manager/options.html#opt-xsession.windowManager.i3.config xsession.windowManager.i3 = { enable = true; config = { From bcfae2d541e2fa6ef7e8a40408e6415f9e063bf5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 13:21:43 +0100 Subject: [PATCH 0813/2080] More todos --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b8d9a6ef..10de234b 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,8 @@ This is very early work, some important tasks are pending: - [ ] Import zsh configuration - [ ] Finalise fish configuration - [ ] Finalise neovim configuration +- [ ] Finalise neomutt/mutt configuration +- [ ] Unlock gnome keyring on login - [ ] Check https://nixos.org/guides/nix-pills/ - [ ] Read https://www.reddit.com/r/NixOS/comments/xtq2tb/best_way_to_manage_multiple_home_manager_configs/ From fb16aeff94f6f3b84cb8e746c2e9efb3602edd57 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 13:30:16 +0100 Subject: [PATCH 0814/2080] Update mail conf --- modules/home/mail/default.nix | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index c956b8fa..67178abf 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -94,7 +94,8 @@ in # }; # }; programs = { - # basic features working + + # aerc: basic features working aerc = { enable = true; extraBinds = { @@ -125,7 +126,6 @@ in test-float = 1337.42; }; }; - stylesets = { asLines = '' *.default = true @@ -144,7 +144,6 @@ in "title.reverse" = "true"; }; }; - templates = rec { foo = '' X-Mailer: aerc {{version}} @@ -153,6 +152,8 @@ in bar = foo; }; }; + + # Thunderird: working with imap thunderbird = { enable = true; profiles = { @@ -171,6 +172,7 @@ in neomutt.enable = true; mbsync.enable = true; msmtp.enable = true; + notmuch = { enable = true; hooks = { @@ -287,6 +289,7 @@ in enable = true; profiles = [ "Perso" ]; }; + neomutt = { enable = true; extraConfig = '' @@ -332,6 +335,28 @@ in auto_view text/csv alternative_order text/calendar text/plain text/enriched text/html + # Headers + # edit all headers lines in the editor + set edit_headers + ignore * + unignore from date subject to cc reply-to + unignore x-url x-resent organization + unignore x-mailing-list list-id list-unsubscribe + unignore user-agent x-agent x-mailer x-newsreader + unignore newsgroups posted-to x-also-posted-to + unignore sender x-original-sender + unignore priority importance + unignore mail-followup-to in-reply-to + unignore priority x-priority importance + # useful to debug smtp path but too verbose + # unignore references + # unignore content-type + unignore message-id + unignore tags + unignore folder + unhdr_order * + hdr_order Sender: From: To: Cc: Subject: Date: Reply-To: Organization: Message-Id: User-Agent: X-Editor: X-Mailer: X-Newsreader: X-Agent: X-Resent: Followup-To: Mail-Followup-To: Folder: Tags: + # Colors color body brightblue black "(baptiste|grenier|gwarf)" color normal cyan black @@ -450,6 +475,7 @@ in color body brightblue default "^@@ .*" ''; }; + }; }; } From e85ffb4d49ff9d2496a048c7edacb3be1ec4f72b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 14:22:32 +0100 Subject: [PATCH 0815/2080] Fish: enable vi key bindings --- modules/home/fish/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 29111503..f48d1ff3 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -48,6 +48,8 @@ in ${pkgs.thefuck}/bin/thefuck --alias | source set EDITOR nvim + # load vi key bindings + fish_vi_key_bindings # Set color variables set emphasized_text brcyan # base1 From c8d91d03b706555768474ee427c161b5ac2b95ed Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 16:18:47 +0100 Subject: [PATCH 0816/2080] Add another resource --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 10de234b..424937d7 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,7 @@ sudo nixos-rebuild switch --flake . #### Real world flakes from other users - Conf using unstable, nixos and nix darwin + - https://github.com/MatthiasBenaets/nixos-config - https://github.com/water-sucks/nixed/blob/main/home/profiles/apps/kitty/default.nix - https://github.com/Baitinq/nixos-config - https://github.com/jonringer/nixpkgs-config From 9eb1e728d5880db82d68479bef6f4c1913bc35d8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 16:19:06 +0100 Subject: [PATCH 0817/2080] Only Joplin-Desktop installs fine --- home/main.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 7836c1ce..b834c279 100644 --- a/home/main.nix +++ b/home/main.nix @@ -55,8 +55,11 @@ xz tree silver-searcher - # Build failing on macOS + # XXX joplin-cli build failing on macOS + # joplin # nodePackages.joplin + # nodePackages_latest.joplin + joplin-desktop # Dev stuff jq From 8244b90672651451dae5b2bbfdda8f9f501c1e1b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 16:32:08 +0100 Subject: [PATCH 0818/2080] Import postfix skel --- modules/system/postfix/default.nix | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 modules/system/postfix/default.nix diff --git a/modules/system/postfix/default.nix b/modules/system/postfix/default.nix new file mode 100644 index 00000000..4a7c6031 --- /dev/null +++ b/modules/system/postfix/default.nix @@ -0,0 +1,30 @@ +{lib, pkgs, config, ...}: +{ + # Run a local postfix using google SMTP as a relay + services.postfix = { + enable = true; + }; + relayHost = "smtp.gmail.com"; + relayPort = "587"; + # mapFiles = {}; + # extracConfig = ''''; + #inet_interfaces = loopback-only + # 25 MB for GSMTP + # message_size_limit = 26214400 + # mailbox_size_limit = 0 + # biff = no + # mynetworks = 127.0.0.0/8, [::1]/128 + # smtpd_client_restrictions = permit_mynetworks permit_sasl_authenticated permit + # relayhost = [smtp.gmail.com]:587 + # smtp_use_tls = yes + # smtpd_sasl_auth_enable = yes + # smtp_sasl_auth_enable = yes + # smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd + # smtp_use_tls=yes + # smtp_tls_security_level=encrypt + # tls_random_source=dev:/dev/urandom + # smtp_sasl_security_options = + # smtp_sasl_mechanism_filter = AUTH LOGIN + # inet_protocols = ipv4 + # virtual_alias_maps = hash:/etc/postfix/virtual +} From 6dffc33d65c53a05e5876962af6fd7c65d85ce61 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Dec 2022 19:05:45 +0100 Subject: [PATCH 0819/2080] Try to make skhd working --- .../configuration-Baptistes-MBP.nix | 35 +++++ modules/system/yabai/default.nix | 132 ++++++++++-------- modules/system/yabai/keycodes.nix | 115 +++++++++++++++ 3 files changed, 225 insertions(+), 57 deletions(-) create mode 100644 modules/system/yabai/keycodes.nix diff --git a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix index a555256c..280241ac 100644 --- a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix +++ b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix @@ -73,6 +73,41 @@ system.keyboard.enableKeyMapping = true; system.keyboard.remapCapsLockToEscape = true; + system.defaults = { + dock = { + autohide = true; + orientation = "right"; + showhidden = true; + mineffect = "scale"; + launchanim = false; + show-process-indicators = true; + tilesize = 48; + static-only = true; + mru-spaces = false; + }; + finder = { + AppleShowAllExtensions = true; + FXEnableExtensionChangeWarning = false; + }; + trackpad = { + Clicking = true; + TrackpadThreeFingerDrag = true; + }; + NSGlobalDomain = { + AppleKeyboardUIMode = 3; + ApplePressAndHoldEnabled = false; + InitialKeyRepeat = 10; + KeyRepeat = 1; + NSAutomaticCapitalizationEnabled = false; + NSAutomaticDashSubstitutionEnabled = false; + NSAutomaticPeriodSubstitutionEnabled = false; + NSAutomaticQuoteSubstitutionEnabled = false; + NSAutomaticSpellingCorrectionEnabled = false; + NSNavPanelExpandedStateForSaveMode = true; + NSNavPanelExpandedStateForSaveMode2 = true; + }; + }; + # Add ability to used TouchID for sudo authentication # security.pam.enableSudoTouchIdAuth = true; } diff --git a/modules/system/yabai/default.nix b/modules/system/yabai/default.nix index 68e33b66..9a9f481c 100644 --- a/modules/system/yabai/default.nix +++ b/modules/system/yabai/default.nix @@ -1,7 +1,11 @@ { config, lib, pkgs, ... }: +let + keycodes = import ./keycodes.nix; +in { + # XXX Yabai works, but not skhd services.yabai = { - enable = true; + enable = false; package = pkgs.yabai; enableScriptingAddition = true; config = { @@ -36,68 +40,82 @@ }; extraConfig = '' + # Workspaces management + yabai -m space 1 --label term + yabai -m space 2 --label code + yabai -m space 3 --label www + yabai -m space 4 --label chat + yabai -m space 5 --label todo + yabai -m space 6 --label music + yabai -m space 7 --label seven + yabai -m space 8 --label eight + yabai -m space 9 --label nine + yabai -m space 10 --label ten # rules - yabai -m rule --add app='System Preferences' manage=off - # Any other arbitrary config here + yabai -m rule --add app='^System Preferences$' manage=off + yabai -m rule --add app="^App Store$" manage=off + yabai -m rule --add app="^Messages$" manage=off + yabai -m rule --add app="^Zoom$" manage=off + # Assign apps to spaces + yabai -m rule --add app="Kitty" space=term + yabai -m rule --add app="Microsoft Teams" space=chat + yabai -m rule --add app="Slack" space=chat + yabai -m rule --add app="Skype" space=chat + yabai -m rule --add app="Spotify" space=music ''; }; + # XXX skhd is not getting the modifiers properly services.skhd = { - enable = true; + enable = false; package = pkgs.skhd; - skhdConfig = '' - # applications - alt - return : ${pkgs.kitty} - # focus window - cmd - h : ${pkgs.yabai} -m window --focus west - cmd - j : ${pkgs.yabai} -m window --focus south - cmd - k : ${pkgs.yabai} -m window --focus north - cmd - l : ${pkgs.yabai} -m window --focus east - cmd + shift - h : ${pkgs.yabai} -m window --focus west - cmd + shift - j : ${pkgs.yabai} -m window --focus south - cmd + shift - k : ${pkgs.yabai} -m window --focus north - cmd + shift - l : ${pkgs.yabai} -m window --focus east - ctrl + shift - h : ${pkgs.yabai} -m window --focus west - ctrl + shift - j : ${pkgs.yabai} -m window --focus south - ctrl + shift - k : ${pkgs.yabai} -m window --focus north - ctrl + shift - l : ${pkgs.yabai} -m window --focus east - # # workspaces - # ctrl + alt - j : ${pkgs.yabai} -m space --focus prev - # ctrl + alt - k : ${pkgs.yabai} -m space --focus next - # cmd + alt - j : ${pkgs.yabai} -m space --focus prev - # cmd + alt - k : ${pkgs.yabai} -m space --focus next - # # send window to space and follow focus - # ctrl + alt - l : ${pkgs.yabai} -m window --space prev; ${pkgs.yabai} -m space --focus prev - # ctrl + alt - h : ${pkgs.yabai} -m window --space next; ${pkgs.yabai} -m space --focus next - # cmd + alt - l : ${pkgs.yabai} -m window --space prev; ${pkgs.yabai} -m space --focus prev - # cmd + alt - h : ${pkgs.yabai} -m window --space next; ${pkgs.yabai} -m space --focus next - # # focus window - # alt - h : ${pkgs.yabai} -m window --focus west - # alt - l : ${pkgs.yabai} -m window --focus east - # # focus window in stacked - # alt - j : if [ "$(${pkgs.yabai} -m query --spaces --space | jq -r '.type')" = "stack" ]; then ${pkgs.yabai} -m window --focus stack.next; else ${pkgs.yabai} -m window --focus south; fi - # alt - k : if [ "$(${pkgs.yabai} -m query --spaces --space | jq -r '.type')" = "stack" ]; then ${pkgs.yabai} -m window --focus stack.prev; else ${pkgs.yabai} -m window --focus north; fi - # # swap managed window - # shift + alt - h : ${pkgs.yabai} -m window --swap west - # shift + alt - j : ${pkgs.yabai} -m window --swap south - # shift + alt - k : ${pkgs.yabai} -m window --swap north - # shift + alt - l : ${pkgs.yabai} -m window --swap east - # # increase window size - # shift + alt - a : ${pkgs.yabai} -m window --resize left:-20:0 - # shift + alt - s : ${pkgs.yabai} -m window --resize right:-20:0 - # # toggle layout - # alt - t : ${pkgs.yabai} -m space --layout bsp - # alt - d : ${pkgs.yabai} -m space --layout stack - # # float / unfloat window and center on screen - # alt - n : ${pkgs.yabai} -m window --toggle float; \ - # ${pkgs.yabai} -m window --grid 4:4:1:1:2:2 - # # toggle sticky(+float), topmost, picture-in-picture - # alt - p : ${pkgs.yabai} -m window --toggle sticky; \ - # ${pkgs.yabai} -m window --toggle topmost; \ - # ${pkgs.yabai} -m window --toggle pip - # reload - # shift + alt - r : brew services restart skhd; brew services restart yabai; brew services restart sketchybar - # shift + alt - r : brew services restart skhd; brew services restart yabai; brew services restart sketchybar + # Written to /etc/skhdrc + skhdConfig = let + # alt is option key, but is used to provide additinal chars + modMask = "cmd"; + moveMask = "ctrl + cmd"; + myTerminal = "${pkgs.kitty}/bin/kitty"; + myEditor = "emacsclient -a '' -nc"; + myBrowser = "open /Applications/Firefox\ Developer\ Edition.app"; + noop = "/dev/null"; + prefix = "${pkgs.yabai}/bin/yabai -m"; + # prefix = "${pkgs.yabaiM1}/bin/yabai -m"; + fstOrSnd = {fst, snd}: domain: "${prefix} ${domain} --focus ${fst} || ${prefix} ${domain} --focus ${snd}"; + nextOrFirst = fstOrSnd { fst = "next"; snd = "first";}; + prevOrLast = fstOrSnd { fst = "prev"; snd = "last";}; + in '' + # select + ${modMask} - j : ${prefix} window --focus next || ${prefix} window --focus "$((${prefix} query --spaces --display next || ${prefix} query --spaces --display first) |${pkgs.jq}/bin/jq -re '.[] | select(.visible == 1)."first-window"')" || ${prefix} display --focus next || ${prefix} display --focus first + ${modMask} - k : ${prefix} window --focus prev || ${prefix} window --focus "$((yabai -m query --spaces --display prev || ${prefix} query --spaces --display last) | ${pkgs.jq}/bin/jq -re '.[] | select(.visible == 1)."last-window"')" || ${prefix} display --focus prev || ${prefix} display --focus last + # close + ${modMask} - ${keycodes.Delete} : ${prefix} window --close && yabai -m window --focus prev + # fullscreen + ${modMask} - h : ${prefix} window --toggle zoom-fullscreen + # rotate + ${modMask} - r : ${prefix} window --focus smallest && yabai -m window --warp largest && yabai -m window --focus largest + # increase region + ${modMask} - ${keycodes.LeftBracket} : ${prefix} window --resize left:-20:0 + ${modMask} - ${keycodes.RightBracket} : ${prefix} window --resize right:-20:0 + # spaces ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + # switch + ${modMask} + alt - j : ${prevOrLast "space"} + ${modMask} + alt - k : ${nextOrFirst "space"} + # send window + ${modMask} + ${moveMask} - j : ${prefix} window --space prev + ${modMask} + ${moveMask} - k : ${prefix} window --space next + # display ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + # focus + ${modMask} - left : ${prevOrLast "display"} + ${modMask} - right : ${nextOrFirst "display"} + # send window + ${moveMask} - right : ${prefix} window --display prev + ${moveMask} - left : ${prefix} window --display next + # apps ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + ${modMask} - return : ${myTerminal} + ${modMask} + shift - return : ${myEditor} + ${modMask} - b : ${myBrowser} + # reset ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + ${modMask} - q : pkill yabai; pkill skhd; osascript -e 'display notification "wm restarted"' ''; }; } diff --git a/modules/system/yabai/keycodes.nix b/modules/system/yabai/keycodes.nix new file mode 100644 index 00000000..2d010c04 --- /dev/null +++ b/modules/system/yabai/keycodes.nix @@ -0,0 +1,115 @@ +{ + A ="0x00"; + S ="0x01"; + D ="0x02"; + F ="0x03"; + H ="0x04"; + G ="0x05"; + Z ="0x06"; + X ="0x07"; + C ="0x08"; + V ="0x09"; + B ="0x0B"; + Q ="0x0C"; + W ="0x0D"; + E ="0x0E"; + R ="0x0F"; + Y ="0x10"; + T ="0x11"; + k1 ="0x12"; + k2 ="0x13"; + k3 ="0x14"; + k4 ="0x15"; + k6 ="0x16"; + k5 ="0x17"; + Equal ="0x18"; + k9 ="0x19"; + k7 ="0x1A"; + Minus ="0x1B"; + k8 ="0x1C"; + k0 ="0x1D"; + RightBracket ="0x1E"; + O ="0x1F"; + U ="0x20"; + LeftBracket ="0x21"; + I ="0x22"; + P ="0x23"; + L ="0x25"; + J ="0x26"; + Quote ="0x27"; + K ="0x28"; + Semicolon ="0x29"; + Backslash ="0x2A"; + Comma ="0x2B"; + Slash ="0x2C"; + N ="0x2D"; + M ="0x2E"; + Period ="0x2F"; + Grave ="0x32"; + KeypadDecimal ="0x41"; + KeypadMultiply ="0x43"; + KeypadPlus ="0x45"; + KeypadClear ="0x47"; + KeypadDivide ="0x4B"; + KeypadEnter ="0x4C"; + KeypadMinus ="0x4E"; + KeypadEquals ="0x51"; + Keypad0 ="0x52"; + Keypad1 ="0x53"; + Keypad2 ="0x54"; + Keypad3 ="0x55"; + Keypad4 ="0x56"; + Keypad5 ="0x57"; + Keypad6 ="0x58"; + Keypad7 ="0x59"; + Keypad8 ="0x5B"; + Keypad9 ="0x5C"; + Return ="0x24"; + Tab ="0x30"; + Space ="0x31"; + Delete ="0x33"; + Escape ="0x35"; + Command ="0x37"; + Shift ="0x38"; + CapsLock ="0x39"; + Option ="0x3A"; + Control ="0x3B"; + RightCommand ="0x36"; + RightShift ="0x3C"; + RightOption ="0x3D"; + RightControl ="0x3E"; + Function ="0x3F"; + F17 ="0x40"; + VolumeUp ="0x48"; + VolumeDown ="0x49"; + Mute ="0x4A"; + F18 ="0x4F"; + F19 ="0x50"; + F20 ="0x5A"; + F5 ="0x60"; + F6 ="0x61"; + F7 ="0x62"; + F3 ="0x63"; + F8 ="0x64"; + F9 ="0x65"; + F11 ="0x67"; + F13 ="0x69"; + F16 ="0x6A"; + F14 ="0x6B"; + F10 ="0x6D"; + F12 ="0x6F"; + F15 ="0x71"; + Help ="0x72"; + Home ="0x73"; + PageUp ="0x74"; + ForwardDelete ="0x75"; + F4 ="0x76"; + End ="0x77"; + F2 ="0x78"; + PageDown ="0x79"; + F1 ="0x7A"; + LeftArrow ="0x7B"; + RightArrow ="0x7C"; + DownArrow ="0x7D"; + UpArrow ="0x7E"; +} From c306ed9983a8db0846e690a1fc8c195cda9fef2e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 19:54:31 +0100 Subject: [PATCH 0820/2080] mail: forward as attachment, add bindings for fetching and archiving emails --- modules/home/mail/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 67178abf..b3d5b77a 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -293,6 +293,16 @@ in neomutt = { enable = true; extraConfig = '' + # Forward message as attachement + set mime_forward = ask-yes + set mime_forward_rest = ask-yes + + # Bindings + # Fetching mail + macro index \cf "<shell-escape>mbsync -a<enter>" + # Google-like key bindings + macro index,pager A "<save-message>+Archive<enter>" "move message to the archive" + # Sorting set sort = threads set sort_aux = reverse-last-date-received From af2bdd01d924b164d114f8ad380e5589a2cdf062 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 8 Dec 2022 20:19:36 +0100 Subject: [PATCH 0821/2080] mail use solarized dark theme --- .../mail/colors-solarized-dark-256.muttrc | 163 ++++++++++++++++++ modules/home/mail/default.nix | 119 +------------ 2 files changed, 166 insertions(+), 116 deletions(-) create mode 100644 modules/home/mail/colors-solarized-dark-256.muttrc diff --git a/modules/home/mail/colors-solarized-dark-256.muttrc b/modules/home/mail/colors-solarized-dark-256.muttrc new file mode 100644 index 00000000..0e51f71a --- /dev/null +++ b/modules/home/mail/colors-solarized-dark-256.muttrc @@ -0,0 +1,163 @@ +# vim: filetype=muttrc +# Colors: https://github.com/altercation/mutt-colors-solarized/blob/master/mutt-compile-colors.sh + +# +# make sure that you are using mutt linked against slang, not ncurses, or +# suffer the consequences of weird color issues. use "mutt -v" to check this. + +# custom body highlights ----------------------------------------------- +# highlight my name and other personally relevant strings +color body color136 color234 "(baptiste|genier|gnubila|healthgrid|egi|boob|bgrenier|gwarf)" +# custom index highlights ---------------------------------------------- +# messages which mention my name in the body +#color index color136 color234 "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" +#color index J_cream color230 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" +#color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" +#color index color136 color125 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" +color index color136 color234 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" +color index color136 color37 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" +## messages which are in reference to my mails +#color index color125 color234 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" +#color index color125 color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" +#color index color125 color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" +#color index color125 color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" +color index color125 color234 "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" + +# for background in 16 color terminal, valid background colors include: +# base03, bg, black, any of the non brights + +# basic colors --------------------------------------------------------- +color normal color241 color234 +color error color160 color234 +color tilde color235 color234 +color message color37 color234 +color markers color160 color254 +color attachment color254 color234 +color search color61 color234 +#color status J_black J_status +color status color241 color235 +color indicator color234 color136 +# arrow in threads +color tree color136 color234 + +# basic monocolor screen +mono bold bold +mono underline underline +mono indicator reverse +mono error bold + +# index ---------------------------------------------------------------- + +#color index color160 color234 "~D(!~p|~p)" # deleted +#color index color235 color234 ~F # flagged +#color index color166 color234 ~= # duplicate messages +#color index color240 color234 "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest +#color index J_base color234 "~A~N!~T!~p!~Q!~F!~D" # the rest, new +color index color160 color234 "~A" # all messages +color index color166 color234 "~E" # expired messages +color index color33 color234 "~N" # new messages +color index color33 color234 "~O" # old messages +color index color61 color234 "~Q" # messages that have been replied to +color index color240 color234 "~R" # read messages +color index color33 color234 "~U" # unread messages +color index color33 color234 "~U~$" # unread, unreferenced messages +color index color241 color234 "~v" # messages part of a collapsed thread +color index color241 color234 "~P" # messages from me +color index color37 color234 "~p!~F" # messages to me +color index color37 color234 "~N~p!~F" # new messages to me +color index color37 color234 "~U~p!~F" # unread messages to me +color index color240 color234 "~R~p!~F" # messages to me +color index color160 color234 "~F" # flagged messages +color index color160 color234 "~F~p" # flagged messages to me +color index color160 color234 "~N~F" # new flagged messages +color index color160 color234 "~N~F~p" # new flagged messages to me +color index color160 color234 "~U~F~p" # new flagged messages to me +color index color235 color160 "~D" # deleted messages +color index color245 color234 "~v~(!~N)" # collapsed thread with no unread +color index color136 color234 "~v~(~N)" # collapsed thread with some unread +color index color64 color234 "~N~v~(~N)" # collapsed thread with unread parent +# statusbg used to indicated flagged when foreground color shows other status +# for collapsed thread +color index color160 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread +color index color136 color235 "~v~(~F~N)" # collapsed thread with some unread & flagged +color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged +color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged +color index color37 color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly +color index color136 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) +#color index color136 color234 "~(~N)" # messages in threads with some unread +#color index color64 color234 "~S" # superseded messages +color index color160 color234 "~T" # tagged messages +#color index color166 color160 "~=" # duplicated messages + +# message headers ------------------------------------------------------ + +#color header color240 color234 "^" +color hdrdefault color240 color234 +color header color33 color234 "^(From)" +color header color33 color234 "^(Subject)" + +# body ----------------------------------------------------------------- + +color quoted color33 color234 +color quoted1 color37 color234 +color quoted2 color136 color234 +color quoted3 color160 color234 +color quoted4 color166 color234 + +color signature color240 color234 +color bold color235 color234 +color underline color235 color234 +color normal color244 color234 +# +color body color245 color234 "[;:][-o][)/(|]" # emoticons +color body color245 color234 "[;:][)(|]" # emoticons +color body color245 color234 "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ + |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ + |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" +color body color245 color234 "[ ][*][^*]*[*][ ]?" # more emoticon? +color body color245 color234 "[ ]?[*][^*]*[*][ ]" # more emoticon? + +## pgp + +color body color160 color234 "(BAD signature)" +color body color37 color234 "(Good signature)" +color body color234 color234 "^gpg: Good signature .*" +color body color241 color234 "^gpg: " +color body color241 color160 "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" + +# yes, an insance URL regex +color body color160 color234 "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" +# and a heavy handed email regex +color body color160 color234 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" + +# Various smilies and the like +#color body color230 color234 "<[Gg]>" # <g> +#color body color230 color234 "<[Bb][Gg]>" # <bg> +#color body color136 color234 " [;:]-*[})>{(<|]" # :-) etc... +# *bold* +color body color33 color234 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +# _underline_ +color body color33 color234 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +# /italic/ (Sometimes gets directory names) +color body color33 color234 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" +mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" + +# Border lines. +#color body color33 color234 "( *[-+=#*~_]){6,}" + +#folder-hook . "color status J_black J_status " +#folder-hook gmail/inbox "color status J_black color136 " +#folder-hook gmail/important "color status J_black color136 " + +# patch/diff +color body green default "^diff \-.*" +color body green default "^index [a-f0-9].*" +color body green default "^\-\-\- .*" +color body green default "^[\+]{3} .*" +color body cyan default "^[\+][^\+]+.*" +color body red default "^\-[^\-]+.*" +color body brightblue default "^@@ .*" diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index b3d5b77a..bae5ca38 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -29,6 +29,7 @@ in # Enable static configuration files home.file.".mailcap".source = ./mailcap-linux; + home.file.".config/neomutt/colors".source = ./colors-solarized-dark-256.muttrc; # programs = { # ### GnuPG # gpg = { @@ -367,122 +368,8 @@ in unhdr_order * hdr_order Sender: From: To: Cc: Subject: Date: Reply-To: Organization: Message-Id: User-Agent: X-Editor: X-Mailer: X-Newsreader: X-Agent: X-Resent: Followup-To: Mail-Followup-To: Folder: Tags: - # Colors - color body brightblue black "(baptiste|grenier|gwarf)" - color normal cyan black - color error color160 black - color tilde color235 black - color message brightmagenta black - color markers color160 color254 - color attachment color254 black - color search color61 black - #color status J_black J_status - color status cyan color235 - #color status cyan default - color indicator black brightblue - # arrow in threads - color tree brightblue black - # basic monocolor screen - mono bold bold - mono underline underline - mono indicator reverse - mono error bold - color index color160 black "~A" # all messages - color index color166 black "~E" # expired messages - color index color33 black "~N" # new messages - color index color33 black "~O" # old messages - color index color61 black "~Q" # messages that have been replied to - color index color240 black "~R" # read messages - color index color33 black "~U" # unread messages - color index color33 black "~U~$" # unread, unreferenced messages - color index cyan black "~v" # messages part of a collapsed thread - color index cyan black "~P" # messages from me - color index brightmagenta black "~p!~F" # messages to me - color index brightmagenta black "~N~p!~F" # new messages to me - color index brightmagenta black "~U~p!~F" # unread messages to me - color index color240 black "~R~p!~F" # messages to me - color index color160 black "~F" # flagged messages - color index color160 black "~F~p" # flagged messages to me - color index color160 black "~N~F" # new flagged messages - color index color160 black "~N~F~p" # new flagged messages to me - color index color160 black "~U~F~p" # new flagged messages to me - color index color235 color160 "~D" # deleted messages - color index color245 black "~v~(!~N)" # collapsed thread with no unread - color index brightblue black "~v~(~N)" # collapsed thread with some unread - color index color64 black "~N~v~(~N)" # collapsed thread with unread parent - # statusbg used to indicated flagged when foreground color shows other status - # for collapsed thread - color index color160 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread - color index brightblue color235 "~v~(~F~N)" # collapsed thread with some unread & flagged - color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged - color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged - color index brightmagenta color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly - color index brightblue color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) - #color index brightblue black "~(~N)" # messages in threads with some unread - #color index color64 black "~S" # superseded messages - color index color160 black "~T" # tagged messages - #color index color166 color160 "~=" # duplicated messages - # message headers ------------------------------------------------------ - #color header color240 black "^" - color hdrdefault color240 black - color header color33 black "^(From)" - color header color33 black "^(Subject)" - # body ----------------------------------------------------------------- - color quoted color33 black - color quoted1 brightmagenta black - color quoted2 brightblue black - color quoted3 color160 black - color quoted4 color166 black - color signature color240 black - color bold color235 black - color underline color235 black - color normal color244 black - # - color body color245 black "[;:][-o][)/(|]" # emoticons - color body color245 black "[;:][)(|]" # emoticons - color body color245 black "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ - |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ - |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" - color body color245 black "[ ][*][^*]*[*][ ]?" # more emoticon? - color body color245 black "[ ]?[*][^*]*[*][ ]" # more emoticon? - ## pgp - color body color160 black "(BAD signature)" - color body brightmagenta black "(Good signature)" - color body black color234 "^gpg: Good signature .*" - color body cyan black "^gpg: " - color body cyan color160 "^gpg: BAD signature from.*" - mono body bold "^gpg: Good signature" - mono body bold "^gpg: BAD signature from.*" - # yes, an insance URL regex - color body color160 black "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" - # and a heavy handed email regex - color body color160 black "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" - # Various smilies and the like - #color body color230 black "<[Gg]>" # <g> - #color body color230 black "<[Bb][Gg]>" # <bg> - #color body brightblue black " [;:]-*[})>{(<|]" # :-) etc... - # *bold* - color body color33 black "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" - mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" - # _underline_ - color body color33 black "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" - mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" - # /italic/ (Sometimes gets directory names) - color body color33 black "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - # Border lines. - #color body color33 black "( *[-+=#*~_]){6,}" - #folder-hook . "color status J_black J_status " - #folder-hook gmail/inbox "color status J_black brightblue " - #folder-hook gmail/important "color status J_black brightblue " - # patch/diff - color body green default "^diff \-.*" - color body green default "^index [a-f0-9].*" - color body green default "^\-\-\- .*" - color body green default "^[\+]{3} .*" - color body cyan default "^[\+][^\+]+.*" - color body red default "^\-[^\-]+.*" - color body brightblue default "^@@ .*" + # load colors + source ~/.config/neomutt/colors ''; }; From 1409bf8e1bcfe6a92db63913db8aa55a73ffdae6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 09:15:40 +0100 Subject: [PATCH 0822/2080] mail: disable some unused clients. --- modules/home/mail/default.nix | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index bae5ca38..096a0d72 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -12,19 +12,20 @@ in bitwarden-cli # rbw # pinentry-gtk2 - pinentry-gnome - libsecret - aerc - himalaya + #aerc + #himalaya + #vimPlugins.himalaya-vim mutt neomutt msmtp isync - gnome.seahorse - gnome.gnome-keyring - vimPlugins.himalaya-vim # thunderbird w3m + ] ++ lib.optionals stdenv.isDarwin [ + gnome.seahorse + gnome.gnome-keyring + pinentry-gnome + libsecret ]; # Enable static configuration files @@ -98,7 +99,7 @@ in # aerc: basic features working aerc = { - enable = true; + enable = false; extraBinds = { global = { "<C-p>" = ":prev-tab<Enter>"; @@ -284,8 +285,8 @@ in }; }; # Configure some clients - aerc.enable = true; - himalaya.enable = true; + aerc.enable = false + himalaya.enable = false; thunderbird = { enable = true; profiles = [ "Perso" ]; From 8ad088307d6ef34b8cb661b7c99b46026ff126ac Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 09:16:15 +0100 Subject: [PATCH 0823/2080] macos: slow down repeat --- machines/Baptistes-MBP/configuration-Baptistes-MBP.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix index 280241ac..45831ae7 100644 --- a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix +++ b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix @@ -96,7 +96,7 @@ NSGlobalDomain = { AppleKeyboardUIMode = 3; ApplePressAndHoldEnabled = false; - InitialKeyRepeat = 10; + InitialKeyRepeat = 7; KeyRepeat = 1; NSAutomaticCapitalizationEnabled = false; NSAutomaticDashSubstitutionEnabled = false; From c435fad687a87150f3ef101faa65285adc378541 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 09:20:10 +0100 Subject: [PATCH 0824/2080] Comment --- modules/system/yabai/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/system/yabai/default.nix b/modules/system/yabai/default.nix index 9a9f481c..1dd754a4 100644 --- a/modules/system/yabai/default.nix +++ b/modules/system/yabai/default.nix @@ -7,6 +7,7 @@ in services.yabai = { enable = false; package = pkgs.yabai; + # Would require disabling security features enableScriptingAddition = true; config = { focus_follows_mouse = "autoraise"; From 038deaaa0c8221cbcbf7564ed5d1ec7e22d9d301 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 09:47:16 +0100 Subject: [PATCH 0825/2080] Load macOS conf as a module, start handling some packages with homebrew. --- flake.nix | 2 +- .../configuration-Baptistes-MBP.nix | 18 +++--------- machines/Baptistes-MBP/default.nix | 28 +++++++++++++++++++ 3 files changed, 33 insertions(+), 15 deletions(-) create mode 100644 machines/Baptistes-MBP/default.nix diff --git a/flake.nix b/flake.nix index cfc3440c..55176684 100644 --- a/flake.nix +++ b/flake.nix @@ -136,7 +136,7 @@ system = "x86_64-darwin"; modules = [ # Main `nix-darwin` config - ./machines/Baptistes-MBP/configuration-Baptistes-MBP.nix + ./machines/Baptistes-MBP # `home-manager` module home-manager.darwinModules.home-manager diff --git a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix index 45831ae7..cb48d145 100644 --- a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix +++ b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix @@ -1,10 +1,6 @@ { pkgs, lib, ... }: { - imports = [ - ../../modules/system/yabai - ]; - # Nix configuration ------------------------------------------------------------------------------ - + # Nix configuration nix.settings.substituters = [ "https://cache.nixos.org/" ]; @@ -33,21 +29,17 @@ # `home-manager` currently has issues adding them to `~/Applications` # Issue: https://github.com/nix-community/home-manager/issues/1341 environment.systemPackages = with pkgs; [ - kitty # XXX only needed for darwin # terminal-notifier git wget vim # XXX breaking nix build on Darwin - # error: Package ‘firefox-107.0.1’ in /nix/store/m3kyxfqm6545gb7xhwnsjrsnjj86wmsf-source/pkgs/applications/networking/browsers/firefox/wrapper.nix:404 is not supported on ‘x86_64-darwin’, refusing to evaluate. + # error: Package ‘firefox-107.0.1’ in /nix/store/...firefox/wrapper.nix:404 + # is not supported on ‘x86_64-darwin’, refusing to evaluate. # firefox ]; - # https://github.com/nix-community/home-manager/issues/423 - # environment.variables = { - # TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo"; - # }; programs.nix-index.enable = true; # Fonts @@ -73,6 +65,7 @@ system.keyboard.enableKeyMapping = true; system.keyboard.remapCapsLockToEscape = true; + # macOS system configuration system.defaults = { dock = { autohide = true; @@ -107,7 +100,4 @@ NSNavPanelExpandedStateForSaveMode2 = true; }; }; - - # Add ability to used TouchID for sudo authentication - # security.pam.enableSudoTouchIdAuth = true; } diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix new file mode 100644 index 00000000..8bd5529c --- /dev/null +++ b/machines/Baptistes-MBP/default.nix @@ -0,0 +1,28 @@ +{ lib, ... }: +{ + imports = [ + ./configuration-Baptistes-MBP.nix + ../../modules/system/yabai + ]; + homebrew = { + enable = true; + onActivation.autoUpdate = true; + # updates homebrew packages on activation, + # can make darwin-rebuild much slower + onActivation.upgrade = true; + brews = [ + "terminal-notifier" + "the_silver_searcher" + + # mail setup + # XXX to be moved to a module + "isync" + "mutt" + "msmtp" + "gpgme" + + # XXX install from pkgs does not work + "joplin-cli" + ]; +}; +} From 033b89fc20569aedcd60ed24f1f7512b31e2b580 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 9 Dec 2022 13:13:29 +0100 Subject: [PATCH 0826/2080] Fix typo --- modules/home/mail/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 096a0d72..78646665 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -285,7 +285,7 @@ in }; }; # Configure some clients - aerc.enable = false + aerc.enable = false; himalaya.enable = false; thunderbird = { enable = true; From e9136aeac9f0a858dd27725994b708068c418e74 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 9 Dec 2022 13:52:56 +0100 Subject: [PATCH 0827/2080] Brutal: setup sound --- machines/brutal/configuration-brutal.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/machines/brutal/configuration-brutal.nix b/machines/brutal/configuration-brutal.nix index 3eded8cc..bc58ecf7 100644 --- a/machines/brutal/configuration-brutal.nix +++ b/machines/brutal/configuration-brutal.nix @@ -75,13 +75,21 @@ hardware.rasdaemon.enable = true; # Enable sound. - # sound.enable = true; + # https://nixos.wiki/wiki/PulseAudio + sound.enable = true; hardware.pulseaudio.enable = true; + hardware.pulseaudio.support32Bit = true; + nixpkgs.config.pulseaudio = true; + hardware.pulseaudio.extraConfig = "load-module module-combine-sink"; + hardware.pulseaudio.package = pkgs.pulseaudioFull; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.baptiste = { isNormalUser = true; - extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + extraGroups = [ + "audio" + "wheel" # Enable ‘sudo’ for the user. + ]; shell = pkgs.fish; }; From 27effb637cd000893ce71558cf4ce724c9fa235e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 9 Dec 2022 13:53:07 +0100 Subject: [PATCH 0828/2080] tmux: load some plugins --- modules/home/tmux/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index c4c5c320..6994ae96 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -11,6 +11,13 @@ # shell = "${pkgs.fish}/bin/fish"; plugins = with pkgs.tmuxPlugins; [ cpu + yank + pain-control + copycat + open + prefix-highlight + sessionist + logging { plugin = dracula; extraConfig = '' From 27030de680326ffeb50543c8ff5143a46339fc39 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 10:27:33 +0100 Subject: [PATCH 0829/2080] Kitty: add back window decorations --- modules/home/kitty/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index 1c87e63e..5b064150 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -7,6 +7,7 @@ programs.kitty.enable = true; # General config + # https://sw.kovidgoyal.net/kitty/conf/ programs.kitty.settings = { font_family = "Cascadia Code PL"; font_size = "14.0"; @@ -14,7 +15,8 @@ disable_ligatures = "cursor"; # disable ligatures when cursor is on them # Window layout - hide_window_decorations = "titlebar-only"; + # hide_window_decorations = "titlebar-only"; + hide_window_decorations = "no"; window_padding_width = "10"; # Tab bar From fa7af9306a02d201cde3062c3492804cbe80088c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 10:27:47 +0100 Subject: [PATCH 0830/2080] macos: reset keybaord change, add back rectangle until yabai conf is working. --- machines/Baptistes-MBP/configuration-Baptistes-MBP.nix | 10 +++++++--- machines/Baptistes-MBP/default.nix | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix index cb48d145..73a61bb7 100644 --- a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix +++ b/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix @@ -69,7 +69,7 @@ system.defaults = { dock = { autohide = true; - orientation = "right"; + orientation = "left"; showhidden = true; mineffect = "scale"; launchanim = false; @@ -89,8 +89,12 @@ NSGlobalDomain = { AppleKeyboardUIMode = 3; ApplePressAndHoldEnabled = false; - InitialKeyRepeat = 7; - KeyRepeat = 1; + # https://apple.stackexchange.com/questions/261163/default-value-for-nsglobaldomain-initialkeyrepeat#288764 + # lower is slower + # defaults read NSGlobalDomain KeyRepeat + InitialKeyRepeat = 25; + # lower is faster + KeyRepeat = 6; NSAutomaticCapitalizationEnabled = false; NSAutomaticDashSubstitutionEnabled = false; NSAutomaticPeriodSubstitutionEnabled = false; diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 8bd5529c..3c714acd 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -24,5 +24,8 @@ # XXX install from pkgs does not work "joplin-cli" ]; + casks = [ + "rectangle" + ]; }; } From 7e65e17ff528cd8ee1b5b092360b50de53ace09f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 10:29:28 +0100 Subject: [PATCH 0831/2080] Rename configuration file --- .../{configuration-Baptistes-MBP.nix => configuration.nix} | 0 machines/Baptistes-MBP/default.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename machines/Baptistes-MBP/{configuration-Baptistes-MBP.nix => configuration.nix} (100%) diff --git a/machines/Baptistes-MBP/configuration-Baptistes-MBP.nix b/machines/Baptistes-MBP/configuration.nix similarity index 100% rename from machines/Baptistes-MBP/configuration-Baptistes-MBP.nix rename to machines/Baptistes-MBP/configuration.nix diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 3c714acd..93236eee 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -1,7 +1,7 @@ { lib, ... }: { imports = [ - ./configuration-Baptistes-MBP.nix + ./configuration.nix ../../modules/system/yabai ]; homebrew = { From 06e5b1edccfc967ff392f4eaa01194f3d75ae784 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 14:15:33 +0100 Subject: [PATCH 0832/2080] yabai: documentation. --- modules/system/yabai/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/system/yabai/default.nix b/modules/system/yabai/default.nix index 1dd754a4..01277f0a 100644 --- a/modules/system/yabai/default.nix +++ b/modules/system/yabai/default.nix @@ -3,6 +3,13 @@ let keycodes = import ./keycodes.nix; in { + # Interesting configurations + # https://bryce-s.com/yabai/ + # https://gist.github.com/TomFaulkner/5531bde4f2955c08bcd07d6e308f6d59 + # https://sylvaindurand.org/yabai-tiling-window-manager-for-macos/ + # https://github.com/peel/dotfiles/blob/7c4d9a343b02387bdaa429b6b9e903c85a729a6f/modules/darwin/setup/wm.nix + # https://github.com/breuerfelix/dotfiles/blob/1197b1cc961588f209ef3ee7fbb0927b49a4b91a/darwin/yabai.nix + # XXX Yabai works, but not skhd services.yabai = { enable = false; @@ -67,6 +74,8 @@ in }; # XXX skhd is not getting the modifiers properly + # XXX test/debug using skhd from homebrew + # https://www.samundra.com.np/skhd-suddenly-stopped-working-after-upgrade/1738 services.skhd = { enable = false; package = pkgs.skhd; From f7dd10dc2e06a107d51bb64052bc41c285c26652 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 14:15:55 +0100 Subject: [PATCH 0833/2080] tmux: whish list. --- modules/home/tmux/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index 6994ae96..78d39fca 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -2,6 +2,7 @@ { config, pkgs, lib, ... }: { + # XXX open pane in same dir programs.tmux = { enable = true; aggressiveResize = true; From e1ddecb9f269e1a0fce739e79e516d1b742bd629 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 14:16:11 +0100 Subject: [PATCH 0834/2080] mbp: let's slow down with the keys repeat --- machines/Baptistes-MBP/configuration.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 73a61bb7..75e24646 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -72,7 +72,7 @@ orientation = "left"; showhidden = true; mineffect = "scale"; - launchanim = false; + launchanim = true; show-process-indicators = true; tilesize = 48; static-only = true; @@ -91,10 +91,11 @@ ApplePressAndHoldEnabled = false; # https://apple.stackexchange.com/questions/261163/default-value-for-nsglobaldomain-initialkeyrepeat#288764 # lower is slower - # defaults read NSGlobalDomain KeyRepeat + # defaults read NSGlobalDomain InitialKeyRepeat InitialKeyRepeat = 25; + # defaults read NSGlobalDomain KeyRepeat # lower is faster - KeyRepeat = 6; + KeyRepeat = 4; NSAutomaticCapitalizationEnabled = false; NSAutomaticDashSubstitutionEnabled = false; NSAutomaticPeriodSubstitutionEnabled = false; @@ -104,4 +105,12 @@ NSNavPanelExpandedStateForSaveMode2 = true; }; }; + + # Exmaple on user postActivation scripts + # system.activationScripts.postActivation.text = '' + # printf "disabling spotlight indexing... " + # mdutil -i off -d / &> /dev/null + # mdutil -E / &> /dev/null + # echo "ok" + # ""; } From fd344b47d8c7a32fbabb582ff203cac134c45c4f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Dec 2022 15:01:56 +0100 Subject: [PATCH 0835/2080] git: rebase on pull --- home/git.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/git.nix b/home/git.nix index 1fcfb7a0..4a5560a7 100644 --- a/home/git.nix +++ b/home/git.nix @@ -15,6 +15,7 @@ }; extraConfig.pull = { ff = "only"; + rebase = true; }; extraConfig.push = { autoSetupRemote = true; From 837e22015bb00929abd0411cddd6a99d3b8a883c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 9 Dec 2022 19:04:37 +0100 Subject: [PATCH 0836/2080] Darwin != Linux --- modules/home/mail/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 78646665..faf37949 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -21,7 +21,7 @@ in isync # thunderbird w3m - ] ++ lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.isLinux [ gnome.seahorse gnome.gnome-keyring pinentry-gnome From 4fccac6140e9de6a254440f6cc19a0cb3a9de29b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:07:42 +0100 Subject: [PATCH 0837/2080] neovim: aded todo list --- home/neovim.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/neovim.nix b/home/neovim.nix index 5c579956..5b255939 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -1,4 +1,7 @@ # https://srid.ca/cli/neovim/install +# TODO +# - fix automatic indentation when creating block like {}: last } is not porperly aligned +# - also indent # commented lines when doing > { pkgs, inputs, ... }: let From 160c2df4cb0b153242fa88e6e84b3a1f871f7d0c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:07:47 +0100 Subject: [PATCH 0838/2080] fish: add usual aliases, favour bat and neovim. --- modules/home/fish/default.nix | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index f48d1ff3..7a84b6a9 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -16,7 +16,7 @@ in # Fish configuration ------------------------------------------------------------------------- {{{ # Aliases - programs.fish.shellAliases = with pkgs; { + programs.fish.shellAliases = { # Nix related drb = "darwin-rebuild build --flake ${nixConfigDirectory}"; drs = "darwin-rebuild switch --flake ${nixConfigDirectory}"; @@ -30,12 +30,24 @@ in # Other ".." = "cd .."; ":q" = "exit"; - cat = "${bat}/bin/bat"; - du = "${du-dust}/bin/dust"; - g = "${gitAndTools.git}/bin/git"; + cat = "${pkgs.bat}/bin/bat --paging=never"; + more = "${pkgs.bat}/bin/bat"; + less = "${pkgs.bat}/bin/bat"; + du = "${pkgs.du-dust}/bin/dust"; la = "ll -a"; ll = "ls -l --time-style long-iso --icons"; - ls = "${exa}/bin/exa"; + ls = "${pkgs.exa}/bin/exa"; + + # Be conservative with files + # --preserver-root is for GNU versions + # do not delete / or prompt if deleting more than 3 files at a time + rm = "nocorrect rm -i --preserve-root"; + mv = "nocorrect mv -i"; + cp = "nocorrect cp -i"; + # Preventing changing perms on / + chown="chown --preserve-root"; + chmod="chmod --preserve-root"; + chgrp="chgrp --preserve-root"; }; # Configuration that should be above `loginShellInit` and `interactiveShellInit`. @@ -47,8 +59,13 @@ in set -g fish_greeting "" ${pkgs.thefuck}/bin/thefuck --alias | source + # Use bat as pager + set PAGER '${pkgs.bat}/bin/bat' + set SYSTEMD_PAGER '${pkgs.bat}/bin/bat' + set MANPAGER='nvim +Man!' + + # nvim! set EDITOR nvim - # load vi key bindings fish_vi_key_bindings # Set color variables @@ -57,7 +74,6 @@ in set secondary_text brgreen # base01 set background_light black # base02 set background brblack # base03 - set -g fish_color_quote cyan # color of commands set -g fish_color_redirection brmagenta # color of IO redirections set -g fish_color_end blue # color of process separators like ';' and '&' @@ -68,7 +84,6 @@ in set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' set -g fish_color_cancel red # color of the '^C' indicator on a canceled command - set -g fish_color_command $emphasized_text --bold # color of commands set -g fish_color_param $normal_text # color of regular command parameters set -g fish_color_comment $secondary_text # color of comments From ebbd2734f162c2ead5cc805b0ac75ca91770a57f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:08:26 +0100 Subject: [PATCH 0839/2080] Simplify bat conf --- home/main.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/home/main.nix b/home/main.nix index b834c279..3bcb99a7 100644 --- a/home/main.nix +++ b/home/main.nix @@ -12,10 +12,11 @@ # Bat, a substitute for cat. # https://github.com/sharkdp/bat # https://rycee.gitlab.io/home-manager/options.html#opt-programs.bat.enable - programs.bat.enable = true; - programs.bat.config = { - style = "plain"; - theme = "Dracula"; + programs.bat = { + enable = true; + config = { + theme = "Dracula"; + }; }; # Zoxide, a faster way to navigate the filesystem From c101739c46cc559eb713a7beab411c88891f2659 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:08:53 +0100 Subject: [PATCH 0840/2080] mail: add some more neomutt conf, fix themes_dir for alot, try to load mbsync service. --- modules/home/mail/default.nix | 54 +++++++++++++++++++++++++++++++---- 1 file changed, 49 insertions(+), 5 deletions(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index faf37949..9d1525db 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -95,6 +95,8 @@ in # pinentry = "gnome3"; # }; # }; + + # Manage programs programs = { # aerc: basic features working @@ -171,7 +173,34 @@ in # failing to build tomly cofniguration # himalaya.enable = true; # basic configuration working - neomutt.enable = true; + neomutt = { + enable = true; + vimKeys = true; + binds = [ + { + action = "complete-query"; + key = "<Tab>"; + map = [ "editor" ]; + } + { + action = "sidebar-prev"; + key = "\\Cp"; + map = [ "index" "pager" ]; + } + ]; + macros = [ + { + action = "<shell-escape>mbsync -a<enter>"; + key = "\\Cf"; + map = [ "index" "pager" ]; + } + { + action = "<save-message>+Archive<enter>"; + key = "A"; + map = [ "index" "pager" ]; + } + ]; + }; mbsync.enable = true; msmtp.enable = true; @@ -220,11 +249,19 @@ in prefer_plaintext = true; ask_subject = false; thread_indent_replies = 2; + themes_dir = "${pkgs.alot}/share/alot/themes/"; theme = "tomorrow"; }; }; }; + # Manage service + services.mbsync = { + enable = true; + verbose = true; + }; + + # Manage accounts accounts.email = { # maildirBasePath = "Mail"; accounts.${username} = { @@ -295,15 +332,19 @@ in neomutt = { enable = true; extraConfig = '' + # Prefer plain text + alternative_order text/calendar text/plain text/enriched text/html + # Forward message as attachement set mime_forward = ask-yes set mime_forward_rest = ask-yes # Bindings # Fetching mail - macro index \cf "<shell-escape>mbsync -a<enter>" - # Google-like key bindings - macro index,pager A "<save-message>+Archive<enter>" "move message to the archive" + # Some vim-like keys + # bind pager G bottom + # bind pager j next-line + # bind pager k previous-line # Sorting set sort = threads @@ -312,6 +353,10 @@ in set sort_re set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" + # Pager view options + # number of index lines to show + set pager_index_lines = 8 + # Viewing MIME set mailcap_path = "~/.mailcap:/etc/mailcap" unauto_view * @@ -345,7 +390,6 @@ in auto_view text/x-vcard auto_view text/enriched auto_view text/csv - alternative_order text/calendar text/plain text/enriched text/html # Headers # edit all headers lines in the editor From 2f423ea2b5320c881b388eb278bb9ba6a9bc030c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:20:35 +0100 Subject: [PATCH 0841/2080] Try to get pager working with systemd --- modules/home/fish/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 7a84b6a9..74b5eb55 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -60,9 +60,10 @@ in ${pkgs.thefuck}/bin/thefuck --alias | source # Use bat as pager - set PAGER '${pkgs.bat}/bin/bat' - set SYSTEMD_PAGER '${pkgs.bat}/bin/bat' - set MANPAGER='nvim +Man!' + set PAGER "${pkgs.bat}/bin/bat" + # https://unix.stackexchange.com/questions/343168/can-i-prevent-service-foo-status-from-paging-its-output-through-less + set SYSTEMD_PAGER "${pkgs.bat}/bin/bat" + set MANPAGER "nvim +Man!" # nvim! set EDITOR nvim From a41ea0704f34e49f28ce945cf424322e0e694438 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:40:22 +0100 Subject: [PATCH 0842/2080] Brutal: enable dconf --- machines/brutal/configuration-brutal.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/brutal/configuration-brutal.nix b/machines/brutal/configuration-brutal.nix index bc58ecf7..cd0625d8 100644 --- a/machines/brutal/configuration-brutal.nix +++ b/machines/brutal/configuration-brutal.nix @@ -70,6 +70,7 @@ security.pam.services.lightdm.enableGnomeKeyring = true; services.gnome.gnome-keyring.enable = true; security.polkit.enable = true; + programs.dconf.enable = true; # hardware logging hardware.rasdaemon.enable = true; From 071f4c304a6f1da3de4e129903024dba7a726146 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:40:41 +0100 Subject: [PATCH 0843/2080] Short alias for git --- modules/home/fish/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 74b5eb55..4edd49f5 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -34,6 +34,7 @@ in more = "${pkgs.bat}/bin/bat"; less = "${pkgs.bat}/bin/bat"; du = "${pkgs.du-dust}/bin/dust"; + g = "${pkgs.git}/bin/git"; la = "ll -a"; ll = "ls -l --time-style long-iso --icons"; ls = "${pkgs.exa}/bin/exa"; From 61f80c4a4fbee6d240d8f3b1fa4afb98613fd0c7 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:41:10 +0100 Subject: [PATCH 0844/2080] Move gnome stuff to wm module --- modules/home/mail/default.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 9d1525db..c21473e3 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -21,11 +21,6 @@ in isync # thunderbird w3m - ] ++ lib.optionals stdenv.isLinux [ - gnome.seahorse - gnome.gnome-keyring - pinentry-gnome - libsecret ]; # Enable static configuration files From d6764843f1508f8fac1bd0cfc358eadaecb76e14 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:41:22 +0100 Subject: [PATCH 0845/2080] Move WM conf to a dedicated module. --- flake.nix | 2 +- modules/home/wm/default.nix | 15 +++++++++++++++ {home => modules/home/wm}/i3.nix | 3 ++- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 modules/home/wm/default.nix rename {home => modules/home/wm}/i3.nix (99%) diff --git a/flake.nix b/flake.nix index 55176684..a8c0137e 100644 --- a/flake.nix +++ b/flake.nix @@ -81,7 +81,7 @@ programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; keybase = import ./home/keybase.nix; firefox = import ./home/firefox.nix; - i3 = import ./home/i3.nix; + wm = import ./modules/home/wm; kitty = import ./modules/home/kitty; fish = import ./modules/home/fish; diff --git a/modules/home/wm/default.nix b/modules/home/wm/default.nix new file mode 100644 index 00000000..f1fb42c8 --- /dev/null +++ b/modules/home/wm/default.nix @@ -0,0 +1,15 @@ +{ pkgs, ... }: +{ + imports = [ + ./i3.nix + ]; + + # use gnome keyring for secrets + home.packages = with pkgs; [ + gnome3.gnome-keyring + gnome.seahorse + gnome.gnome-keyring + pinentry-gnome + libsecret + ]; +} diff --git a/home/i3.nix b/modules/home/wm/i3.nix similarity index 99% rename from home/i3.nix rename to modules/home/wm/i3.nix index 0635e806..7818352d 100644 --- a/home/i3.nix +++ b/modules/home/wm/i3.nix @@ -164,6 +164,7 @@ in { # rofi-pass rofi-rbw pinentry-rofi - gnome3.gnome-keyring ]; + + services.dunst.enable = true; } From 19a09d6e7402110afaeec37a94f57942171104ac Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:49:30 +0100 Subject: [PATCH 0846/2080] Simplify inputs conf. --- flake.nix | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index a8c0137e..c4f0f022 100644 --- a/flake.nix +++ b/flake.nix @@ -4,12 +4,8 @@ inputs = { # Package sets - # XXX clarify differences between release-22.11 and nixos-22.11, if any - nixpkgs.url = "github:NixOS/nixpkgs/release-22.11"; - # XXX Should we use nixos-22.11 as nixpkigs on NixOS? - nixos-stable.url = "github:nixos/nixpkgs/nixos-22.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - # XXX should we use darwin as nixpkgs on darwin? nixpkgs-darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; # macOS system configuration @@ -22,8 +18,6 @@ home-manager = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; - # XXX should we use nixpkgs-stable-darwin on darwin? - # inputs.nixpkgs.follows = "nixpkgs-stable-darwin"; }; # neovim nightly From 958e227963c8b4118c6818ad0f18aa6e841c2d81 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:49:49 +0100 Subject: [PATCH 0847/2080] Document system update --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 424937d7..61705826 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,18 @@ sudo result/bin/switch-to-configuration switch sudo nixos-rebuild switch --flake . ``` +##### Updating + +```shell +# Checking satus of inputs +nix flake info +# Update all flake inputs and commit lock file +nix flake update --commit-lock-file +# Only update home-manager input +nix flake lock --update-input home-manager +sudo nixos-rebuild switch --flake . +``` + #### Managing NixOS "centrally" > **Obsolete** From 6fbc51602f45022007cb340ca4d91107edc3ab25 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:57:14 +0100 Subject: [PATCH 0848/2080] flake: make some more tests with inputs --- flake.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index c4f0f022..7166c746 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ inputs = { # Package sets nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; # macOS system configuration @@ -128,6 +128,10 @@ darwinConfigurations = { Baptistes-MBP = darwin.lib.darwinSystem { system = "x86_64-darwin"; + pkgs = import nixpkgs-darwin-stable { + system = "x86_64-darwin"; + overlays = [ inputs.nur.overlay ]; + }; modules = [ # Main `nix-darwin` config ./machines/Baptistes-MBP From 9c68758ace092fab831adfafbb5c9f88ddec9cf0 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 14:57:40 +0100 Subject: [PATCH 0849/2080] Update lock file. --- flake.lock | 67 ++++++++++++++++++++---------------------------------- 1 file changed, 25 insertions(+), 42 deletions(-) diff --git a/flake.lock b/flake.lock index e0a7268e..f0d672c7 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1670059602, - "narHash": "sha256-mtgVnAjlYYjJr2wDnfz94kIefLl61Ww7cjCpLVhN/6Y=", + "lastModified": 1670253003, + "narHash": "sha256-/tJIy4+FbsQyslq1ipyicZ2psOEd8dvl4OJ9lfisjd0=", "owner": "nix-community", "repo": "home-manager", - "rev": "6b71989c0dc1c8d386086334290c094240d51798", + "rev": "0e8125916b420e41bf0d23a0aa33fadd0328beb3", "type": "github" }, "original": { @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1670121140, - "narHash": "sha256-/T6Rpe/0RcLBfX14ClTtBSv8tZnNMBsQoUBPP5GQ86A=", + "lastModified": 1670633376, + "narHash": "sha256-COqObflZvvFuY+G2UMrkDuRigXDbUjCpxf/zNKNrovw=", "owner": "neovim", "repo": "neovim", - "rev": "a0dd663c2d321ce107aa07005aa01b9c341c5df2", + "rev": "f96fb23de62f9539bf254cc1a4e99d1da8b71994", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1670141628, - "narHash": "sha256-WWpMOgYadTJlcPLSI6xDPOHHFzguq1Rpl4iHFQvbYaI=", + "lastModified": 1670660056, + "narHash": "sha256-I8phXkyAVQHyhiMPCL22DMfkOldEPz1NPhYgvKMSCrY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "f472e68e8ca819ea9f3fd7b4949d6ae7f699097e", + "rev": "933a39f0977c9bbd15935584ee81adf3ca4b01e6", "type": "github" }, "original": { @@ -133,29 +133,13 @@ "url": "https://git.pleshevski.ru/mynix/nix2lua" } }, - "nixos-stable": { - "locked": { - "lastModified": 1670193339, - "narHash": "sha256-oHTAhX4p6+uxcabq0rKL4EyKWPbDLGKec88ocPIU/2Y=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "e169cf5b3b1e6cc4a25ff15087c2621605f83409", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-22.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixos-unstable": { "locked": { - "lastModified": 1670064435, - "narHash": "sha256-+ELoY30UN+Pl3Yn7RWRPabykwebsVK/kYE9JsIsUMxQ=", + "lastModified": 1670507980, + "narHash": "sha256-riNZa0xzM1it3pzxciwALeMs+0CsBMWIW2FqulzK8vM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "61a8a98e6d557e6dd7ed0cdb54c3a3e3bbc5e25c", + "rev": "2787fc7d1e51404678614bf0fe92fc296746eec0", "type": "github" }, "original": { @@ -167,11 +151,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1670086663, - "narHash": "sha256-hT8C8AQB74tdoCPwz4nlJypLMD7GI2F5q+vn+VE/qQk=", + "lastModified": 1670587192, + "narHash": "sha256-h3DHD2WBddfZxRuceYBa54JZKF1z8O8dtYNZK5UvP/4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "813836d64fa57285d108f0dbf2356457ccd304e3", + "rev": "aaac4123e3e33e779af54361a244857d029a64dd", "type": "github" }, "original": { @@ -183,11 +167,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1670173517, - "narHash": "sha256-sk9pkPsr099i2aiWYPX0ytLyYlyQqIAj1tKoFNjgBWw=", + "lastModified": 1670607846, + "narHash": "sha256-2tT5sXWs884FJZxZNcsm+6gAvWJeHZ8ilfhvykL4YMo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "527bba34acb1235fed50eab49c627f14de15cc55", + "rev": "fd26d2bd8d0e4f3248a3cca0f405fb60117ab988", "type": "github" }, "original": { @@ -199,27 +183,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1670316022, - "narHash": "sha256-cRsIC0Ft5McBSia0rDdJIHy3muWqKn3rvjFx92DU2dY=", + "lastModified": 1670543317, + "narHash": "sha256-4mMR56rtxKr+Gwz399jFr4i76SQZxsLWxxyfQlPXRm0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6d3fc36c541ae715d43db5c1355890f39024b26f", + "rev": "7a6a010c3a1d00f8470a5ca888f2f927f1860a19", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-22.11", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, "nur": { "locked": { - "lastModified": 1669805596, - "narHash": "sha256-g1CPQZ+1jGhY4bsjppk+gH5jfzzqmPlqGHg0zSYS3Hw=", + "lastModified": 1670646657, + "narHash": "sha256-T5DjvmZ4jvUedK9e9NADrYIe85fxIMTwj2QHTdJxxXQ=", "owner": "nix-community", "repo": "NUR", - "rev": "c81b1e527f3a220abfa9bf8096153d52784c5007", + "rev": "6b370298b8e08bcc7a7a490d54517bd699708cd8", "type": "github" }, "original": { @@ -234,7 +218,6 @@ "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix2lua": "nix2lua", - "nixos-stable": "nixos-stable", "nixos-unstable": "nixos-unstable", "nixpkgs": "nixpkgs_2", "nixpkgs-darwin-stable": "nixpkgs-darwin-stable", From b25f699021c27f52f3638cb9e7a5f77b04f08733 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 15:00:08 +0100 Subject: [PATCH 0850/2080] Bump lock file. --- flake.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index f0d672c7..5b4c70d9 100644 --- a/flake.lock +++ b/flake.lock @@ -133,50 +133,50 @@ "url": "https://git.pleshevski.ru/mynix/nix2lua" } }, - "nixos-unstable": { + "nixpkgs": { "locked": { - "lastModified": 1670507980, - "narHash": "sha256-riNZa0xzM1it3pzxciwALeMs+0CsBMWIW2FqulzK8vM=", + "lastModified": 1670587192, + "narHash": "sha256-h3DHD2WBddfZxRuceYBa54JZKF1z8O8dtYNZK5UvP/4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2787fc7d1e51404678614bf0fe92fc296746eec0", + "rev": "aaac4123e3e33e779af54361a244857d029a64dd", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs": { + "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1670587192, - "narHash": "sha256-h3DHD2WBddfZxRuceYBa54JZKF1z8O8dtYNZK5UvP/4=", + "lastModified": 1670607846, + "narHash": "sha256-2tT5sXWs884FJZxZNcsm+6gAvWJeHZ8ilfhvykL4YMo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "aaac4123e3e33e779af54361a244857d029a64dd", + "rev": "fd26d2bd8d0e4f3248a3cca0f405fb60117ab988", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", + "ref": "nixpkgs-22.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-darwin-stable": { + "nixpkgs-unstable": { "locked": { - "lastModified": 1670607846, - "narHash": "sha256-2tT5sXWs884FJZxZNcsm+6gAvWJeHZ8ilfhvykL4YMo=", + "lastModified": 1670507980, + "narHash": "sha256-riNZa0xzM1it3pzxciwALeMs+0CsBMWIW2FqulzK8vM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fd26d2bd8d0e4f3248a3cca0f405fb60117ab988", + "rev": "2787fc7d1e51404678614bf0fe92fc296746eec0", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-22.11-darwin", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -218,9 +218,9 @@ "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix2lua": "nix2lua", - "nixos-unstable": "nixos-unstable", "nixpkgs": "nixpkgs_2", "nixpkgs-darwin-stable": "nixpkgs-darwin-stable", + "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" } }, From e4b371012d71ce253bbbd87fe9530604ea2e67f8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 15:02:59 +0100 Subject: [PATCH 0851/2080] Reorganise brutal files --- flake.nix | 2 +- .../{configuration-brutal.nix => configuration.nix} | 5 ----- machines/brutal/default.nix | 10 ++++++++++ ...iguration-brutal.nix => hardware-configuration.nix} | 0 4 files changed, 11 insertions(+), 6 deletions(-) rename machines/brutal/{configuration-brutal.nix => configuration.nix} (97%) create mode 100644 machines/brutal/default.nix rename machines/brutal/{hardware-configuration-brutal.nix => hardware-configuration.nix} (100%) diff --git a/flake.nix b/flake.nix index 7166c746..8fe27961 100644 --- a/flake.nix +++ b/flake.nix @@ -101,7 +101,7 @@ }; modules = [ # Main config - ./machines/brutal/configuration-brutal.nix + ./machines/brutal # `home-manager` module home-manager.nixosModules.home-manager diff --git a/machines/brutal/configuration-brutal.nix b/machines/brutal/configuration.nix similarity index 97% rename from machines/brutal/configuration-brutal.nix rename to machines/brutal/configuration.nix index cd0625d8..3b811a80 100644 --- a/machines/brutal/configuration-brutal.nix +++ b/machines/brutal/configuration.nix @@ -1,10 +1,5 @@ { pkgs, lib, ... }: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration-brutal.nix - ]; - # Use system-boot boot = { # Enable magic sysrql (Alt+PrtSc) keys for recovery diff --git a/machines/brutal/default.nix b/machines/brutal/default.nix new file mode 100644 index 00000000..4cab2ca6 --- /dev/null +++ b/machines/brutal/default.nix @@ -0,0 +1,10 @@ + +{ pkgs, lib, ... }: +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + # Include system configuration + ./configuration.nix + ]; +} diff --git a/machines/brutal/hardware-configuration-brutal.nix b/machines/brutal/hardware-configuration.nix similarity index 100% rename from machines/brutal/hardware-configuration-brutal.nix rename to machines/brutal/hardware-configuration.nix From 8c95a18e8bbd377ddee5d620551b3b2c3e6794a3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Sat, 10 Dec 2022 15:51:36 +0100 Subject: [PATCH 0852/2080] fix darwin nix --- flake.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/flake.nix b/flake.nix index 8fe27961..d62dd3c4 100644 --- a/flake.nix +++ b/flake.nix @@ -128,10 +128,6 @@ darwinConfigurations = { Baptistes-MBP = darwin.lib.darwinSystem { system = "x86_64-darwin"; - pkgs = import nixpkgs-darwin-stable { - system = "x86_64-darwin"; - overlays = [ inputs.nur.overlay ]; - }; modules = [ # Main `nix-darwin` config ./machines/Baptistes-MBP From 39d010930c789362c632ef938becfde39b1875a2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 15:51:56 +0100 Subject: [PATCH 0853/2080] Update mutt conf --- .config/neomutt/bindings | 4 +- home/neovim.nix | 1 + modules/home/mail/default.nix | 117 +++++++++++++++++++++++++++++++--- 3 files changed, 111 insertions(+), 11 deletions(-) diff --git a/.config/neomutt/bindings b/.config/neomutt/bindings index 7742a530..47d5b3e0 100644 --- a/.config/neomutt/bindings +++ b/.config/neomutt/bindings @@ -14,9 +14,9 @@ bind pager <down> next-line bind pager <up> previous-line bind pager \cd half-down bind pager \ce next-line -bind pager \cf next-page +# XXX overriden by mbsync call +# bind pager \cf next-page bind pager \cm next-line -bind pager \cn half-down bind pager \cn next-page bind pager \cp half-up bind pager \cu half-up diff --git a/home/neovim.nix b/home/neovim.nix index 5b255939..d3375d81 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -2,6 +2,7 @@ # TODO # - fix automatic indentation when creating block like {}: last } is not porperly aligned # - also indent # commented lines when doing > +# - completion from other buffers { pkgs, inputs, ... }: let diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index c21473e3..443c5822 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -170,18 +170,100 @@ in # basic configuration working neomutt = { enable = true; - vimKeys = true; + # interfers with some manually configured bindings + vimKeys = false; binds = [ - { - action = "complete-query"; - key = "<Tab>"; - map = [ "editor" ]; - } - { - action = "sidebar-prev"; - key = "\\Cp"; + { + action = "complete-query"; + key = "<Tab>"; + map = [ "editor" ]; + } + { + action = "group-reply"; + key = "R"; + map = [ "pager" ]; + } + { + action = "flag-message"; + key = "F"; map = [ "index" "pager" ]; } + { + action = "half-down"; + key = "\\Cd"; + map = [ "pager" ]; + } + { + action = "half-down"; + key = "\\Cn"; + map = [ "pager" ]; + } + { + action = "half-up"; + key = "\\Cp"; + map = [ "pager" ]; + } + { + action = "half-up"; + key = "\\Cu"; + map = [ "pager" ]; + } + { + # unbind g to get gg working + action = "noop"; + key = "g"; + map = [ "attach" "browser" "index" "pager" ]; + } + { + action = "first-entry"; + key = "gg"; + map = [ "index" ]; + } + { + action = "top"; + key = "gg"; + map = [ "pager" ]; + } + { + action = "bottom"; + key = "G"; + map = [ "pager" ]; + } + { + action = "last-entry"; + key = "G"; + map = [ "index" ]; + } + { + action = "current-top"; + key = "zt"; + map = [ "index" ]; + } + { + action = "current-middle"; + key = "zz"; + map = [ "index" ]; + } + { + action = "current-bottom"; + key = "zb"; + map = [ "index" ]; + } + { + action = "toggle-new"; + key = "N"; + map = [ "index" ]; + } + { + action = "previous-line"; + key = "k"; + map = [ "pager" ]; + } + { + action = "next-line"; + key = "j"; + map = [ "pager" ]; + } ]; macros = [ { @@ -194,6 +276,23 @@ in key = "A"; map = [ "index" "pager" ]; } + { + action = "<save-entry><bol>~/Downloads/<eol>"; + key = "s"; + map = [ "attach" ]; + } + { + # Show importants mails + action = "l(~F | ~U) ! ~D\r"; + key = "\'"; + map = [ "index" ]; + } + { + # Display smime info using openssl + action = "<pipe-entry>openssl smime -verify -noverify -pk7out | openssl pkcs7 -print_certs |openssl x509 -subject -issuer -dates -text | less<enter>"; + key = "\Ca"; + map = [ "index" "pager" ]; + } ]; }; mbsync.enable = true; From fd56b3dd1ba96d595aeeae378bb2b572b0d4a08f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 16:09:24 +0100 Subject: [PATCH 0854/2080] mutt: fix aliases --- modules/home/mail/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 443c5822..601ce7cf 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -283,14 +283,14 @@ in } { # Show importants mails - action = "l(~F | ~U) ! ~D\r"; - key = "\'"; + action = "l(~F | ~U) ! ~D\\r"; + key = "\\'"; map = [ "index" ]; } { # Display smime info using openssl action = "<pipe-entry>openssl smime -verify -noverify -pk7out | openssl pkcs7 -print_certs |openssl x509 -subject -issuer -dates -text | less<enter>"; - key = "\Ca"; + key = "\\Ca"; map = [ "index" "pager" ]; } ]; From b5d85955a0082043a69fe4d44871712055334e47 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 16:38:14 +0100 Subject: [PATCH 0855/2080] Fix path to secret-tool --- modules/home/mail/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 601ce7cf..8f5cd7b7 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -375,7 +375,7 @@ in # passwordCommand = ''bw get password --session "$BW_SESSION" '/mail/baptiste@bapt.name''; # passwordCommand = "bw get password /mail/baptiste@bapt.name"; # secret-tool store --label=mail host mail.bapt.name service imaps user baptiste@bapt.name - passwordCommand = "secret-tool lookup host mail.bapt.name service imaps user ${email}"; + passwordCommand = "${config.home.profileDirectory}/bin/secret-tool lookup host mail.bapt.name service imaps user ${email}"; # gpg = { # key = "0xCDA18F02"; # encryptByDefault = false; From 28fce1d9e4ab6ce0052cb98f69f014d8efbbe037 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 16:51:19 +0100 Subject: [PATCH 0856/2080] Install gparted --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 3bcb99a7..2e51c821 100644 --- a/home/main.nix +++ b/home/main.nix @@ -102,6 +102,7 @@ nextcloud-client lm_sensors liquidctl + gparted ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 49309799e677ab980823d0ccf8db3309c1ed279c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 16:51:33 +0100 Subject: [PATCH 0857/2080] Mount other partitions --- machines/brutal/hardware-configuration.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/machines/brutal/hardware-configuration.nix b/machines/brutal/hardware-configuration.nix index 7b614f89..3499ecce 100644 --- a/machines/brutal/hardware-configuration.nix +++ b/machines/brutal/hardware-configuration.nix @@ -23,6 +23,16 @@ fsType = "vfat"; }; + fileSystems."/mnt/arch" = + { device = "/dev/disk/by-label/arch"; + fsType = "ext4"; + }; + + fileSystems."/mnt/data" = + { device = "/dev/disk/by-label/DataLinux"; + fsType = "ext4"; + }; + swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; From 20d9ed097d6bfab2987178051e198940bf387382 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 19:39:40 +0100 Subject: [PATCH 0858/2080] Document generation cleaning --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 61705826..6d6b9f16 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,17 @@ nix flake lock --update-input home-manager sudo nixos-rebuild switch --flake . ``` +##### Cleaning old generations + +```shell +# Delete all generations +nix-env --delete-generations old +# Delete generations older than 14d +nix-env --delete-generations 14d +# Delete specific generations +nix-env --delete-generations 10 11 14 +``` + #### Managing NixOS "centrally" > **Obsolete** From 6b1e8a286fec4f3525792b955e75943bb1a2992c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 19:39:44 +0100 Subject: [PATCH 0859/2080] Install arch-install-scripts for arch-chroot --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 2e51c821..e2097a48 100644 --- a/home/main.nix +++ b/home/main.nix @@ -103,6 +103,7 @@ lm_sensors liquidctl gparted + arch-install-scripts ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 86963c51438cad42749e144e9c86d2e784fda324 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 19:40:02 +0100 Subject: [PATCH 0860/2080] Todo --- modules/home/wm/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home/wm/default.nix b/modules/home/wm/default.nix index f1fb42c8..549c9d62 100644 --- a/modules/home/wm/default.nix +++ b/modules/home/wm/default.nix @@ -1,3 +1,5 @@ +# TODO +# - automatic unlock of gnome-keyring { pkgs, ... }: { imports = [ From af19793b8f4e80d97bbc609e2dfdd5eb515aa156 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 19:40:11 +0100 Subject: [PATCH 0861/2080] Configure boot loader --- machines/brutal/configuration.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 3b811a80..6c4dfb73 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -11,6 +11,8 @@ loader.systemd-boot.enable = true; loader.systemd-boot.consoleMode = "max"; loader.efi.canTouchEfiVariables = true; + loader.systemd-boot.memtest86.enable = true; + loader.systemd-boot.configurationLimit = 10; }; # boot.loader.systemd-boot.consoleMode = "keep"; @@ -116,9 +118,12 @@ nix.settings.trusted-users = [ "@admin" ]; + nix.gc = { + automatic = true; + options = "--delete-older-than 8d"; + }; # Enable experimental nix command and flakes - # nix.package = pkgs.nixUnstable; nix.extraOptions = '' auto-optimise-store = true experimental-features = nix-command flakes From 5fc98d4881d8a485daf810d770917c336af8df82 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 19:40:23 +0100 Subject: [PATCH 0862/2080] Mount old uefi partition --- machines/brutal/hardware-configuration.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/machines/brutal/hardware-configuration.nix b/machines/brutal/hardware-configuration.nix index 3499ecce..56530f54 100644 --- a/machines/brutal/hardware-configuration.nix +++ b/machines/brutal/hardware-configuration.nix @@ -33,6 +33,11 @@ fsType = "ext4"; }; + fileSystems."/mnt/old_uefi" = + { device = "/dev/nvme0n1p2"; + fsType = "vfat"; + }; + swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; From ed1146a7f58fb1a8e6fd449ab6b7b1e466df375f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 19:40:46 +0100 Subject: [PATCH 0863/2080] Cleaning. --- flake.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index d62dd3c4..f75755cb 100644 --- a/flake.nix +++ b/flake.nix @@ -38,6 +38,7 @@ # Configuration for `nixpkgs` nixpkgsConfig = { config = { allowUnfree = true; }; + overlays = [ inputs.nur.overlay ]; }; # Information about the main user @@ -94,11 +95,6 @@ nixosConfigurations = { brutal = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - # XXX test if really required - pkgs = import nixpkgs { - system = "x86_64-linux"; - overlays = [ inputs.nur.overlay ]; - }; modules = [ # Main config ./machines/brutal From adc6a7dc49f7d90b6685b0645bcae1bb80a0547b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 10 Dec 2022 20:09:38 +0100 Subject: [PATCH 0864/2080] Update aliases --- modules/home/fish/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 4edd49f5..b407c344 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -35,16 +35,17 @@ in less = "${pkgs.bat}/bin/bat"; du = "${pkgs.du-dust}/bin/dust"; g = "${pkgs.git}/bin/git"; - la = "ll -a"; - ll = "ls -l --time-style long-iso --icons"; ls = "${pkgs.exa}/bin/exa"; + ll = "ls -l --time-style long-iso --icons"; + la = "ll -a"; + l = "ls -l --time-style long-iso --icons"; # Be conservative with files # --preserver-root is for GNU versions # do not delete / or prompt if deleting more than 3 files at a time - rm = "nocorrect rm -i --preserve-root"; - mv = "nocorrect mv -i"; - cp = "nocorrect cp -i"; + rm = "rm -i --preserve-root"; + mv = "mv -i"; + cp = "cp -i"; # Preventing changing perms on / chown="chown --preserve-root"; chmod="chmod --preserve-root"; From b1335cc99cfca8e795646a27ea98db863a9f465b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 11 Dec 2022 00:00:03 +0100 Subject: [PATCH 0865/2080] I want italicsin tmux https://github.com/tmux/tmux/wiki/FAQ#i-dont-see-italics-or-italics-and-reverse-are-the-wrong-way-round --- modules/home/tmux/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index 78d39fca..252d37f6 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -44,7 +44,7 @@ ''; } ]; - terminal = "screen-256color"; + terminal = "tmux"; extraConfig = '' # Use fish as shell set -g default-command ${pkgs.fish}/bin/fish From b146dae3468bb096f9303d441f180ba22e05eff0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 11 Dec 2022 00:01:17 +0100 Subject: [PATCH 0866/2080] Formatting, run rofi on mod-p --- .config/herbstluftwm/autostart | 86 +++++++++++++++++----------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart index 00ec1bc8..5eb67fac 100755 --- a/.config/herbstluftwm/autostart +++ b/.config/herbstluftwm/autostart @@ -2,7 +2,7 @@ # herbstluftwm start hc() { - herbstclient "$@" + herbstclient "$@" } hc emit_hook reload @@ -22,7 +22,7 @@ hc keybind $Mod-Shift-q close hc keybind $Mod-q close hc keybind $Mod-Return spawn "${TERMINAL:-kitty}" # use your $TERMINAL with xterm as fallback -hc keybind $Mod-m spawn rofi -show run -terminal "${TERMINAL:-kitty}" +hc keybind $Mod-p spawn rofi -show run -terminal "${TERMINAL:-kitty}" # Albert is launched and uses it's own key # hc keybind $Mod-m spawn albert @@ -35,30 +35,30 @@ hc keybind $Mod-m spawn rofi -show run -terminal "${TERMINAL:-kitty}" # basic movement in tiling and floating mode # focusing clients -hc keybind $Mod-Left focus left -hc keybind $Mod-Down focus down -hc keybind $Mod-Up focus up +hc keybind $Mod-Left focus left +hc keybind $Mod-Down focus down +hc keybind $Mod-Up focus up hc keybind $Mod-Right focus right -hc keybind $Mod-h focus left -hc keybind $Mod-j focus down -hc keybind $Mod-k focus up -hc keybind $Mod-l focus right +hc keybind $Mod-h focus left +hc keybind $Mod-j focus down +hc keybind $Mod-k focus up +hc keybind $Mod-l focus right # moving clients -hc keybind $Mod-Shift-Left shift left -hc keybind $Mod-Shift-Down shift down -hc keybind $Mod-Shift-Up shift up +hc keybind $Mod-Shift-Left shift left +hc keybind $Mod-Shift-Down shift down +hc keybind $Mod-Shift-Up shift up hc keybind $Mod-Shift-Right shift right -hc keybind $Mod-Shift-h shift left -hc keybind $Mod-Shift-j shift down -hc keybind $Mod-Shift-k shift up -hc keybind $Mod-Shift-l shift right +hc keybind $Mod-Shift-h shift left +hc keybind $Mod-Shift-j shift down +hc keybind $Mod-Shift-k shift up +hc keybind $Mod-Shift-l shift right # Frames # create an empty frame at the specified direction -hc keybind $Mod-u split bottom 0.5 -hc keybind $Mod-o split right 0.5 +hc keybind $Mod-u split bottom 0.5 +hc keybind $Mod-o split right 0.5 # let the current frame explode into subframes hc keybind $Mod-Control-space split explode # remove frame @@ -66,29 +66,29 @@ hc keybind $Mod-r remove # resizing frames resizestep=0.05 -hc keybind $Mod-Control-h resize left +$resizestep -hc keybind $Mod-Control-j resize down +$resizestep -hc keybind $Mod-Control-k resize up +$resizestep -hc keybind $Mod-Control-l resize right +$resizestep -hc keybind $Mod-Control-Left resize left +$resizestep -hc keybind $Mod-Control-Down resize down +$resizestep -hc keybind $Mod-Control-Up resize up +$resizestep -hc keybind $Mod-Control-Right resize right +$resizestep +hc keybind $Mod-Control-h resize left +$resizestep +hc keybind $Mod-Control-j resize down +$resizestep +hc keybind $Mod-Control-k resize up +$resizestep +hc keybind $Mod-Control-l resize right +$resizestep +hc keybind $Mod-Control-Left resize left +$resizestep +hc keybind $Mod-Control-Down resize down +$resizestep +hc keybind $Mod-Control-Up resize up +$resizestep +hc keybind $Mod-Control-Right resize right +$resizestep # Tags or Workspaces # names to display in menu -tag_names=( {1..10} ) -tag_keys=( {1..9} 0 ) +tag_names=({1..10}) +tag_keys=({1..9} 0) hc rename default "${tag_names[0]}" || true -for i in "${!tag_names[@]}" ; do +for i in "${!tag_names[@]}"; do hc add "${tag_names[$i]}" # horizontal tiling as standard hc set_layout horizontal hc set default_frame_layout 1 key="${tag_keys[$i]}" - if [ -n "$key" ] ; then + if [ -n "$key" ]; then hc keybind "$Mod-$key" use_index "$i" hc keybind "$Mod-Shift-$key" chain , move_index "$i" , use_index "$i" fi @@ -96,7 +96,7 @@ done # cycle through tags hc keybind $Mod-period use_index +1 --skip-visible -hc keybind $Mod-comma use_index -1 --skip-visible +hc keybind $Mod-comma use_index -1 --skip-visible # layouting hc keybind $Mod-r remove @@ -106,19 +106,19 @@ hc keybind $Mod-Shift-f set_attr clients.focus.floating toggle hc keybind $Mod-Shift-m set_attr clients.focus.minimized true # restore all minimized windows of the focused tag hc keybind $Mod-Ctrl-m foreach CLIENT clients. \ - sprintf MINATT "%c.minimized" CLIENT \ - sprintf TAGATT "%c.tag" CLIENT and \ - , compare MINATT "=" "true" \ - , substitute FOCUS "tags.focus.name" compare TAGATT "=" FOCUS \ - , set_attr MINATT false + sprintf MINATT "%c.minimized" CLIENT \ + sprintf TAGATT "%c.tag" CLIENT and \ + , compare MINATT "=" "true" \ + , substitute FOCUS "tags.focus.name" compare TAGATT "=" FOCUS \ + , set_attr MINATT false hc keybind $Mod-p pseudotile toggle # The following cycles through the available layouts within a frame, but skips # layouts, if the layout change wouldn't affect the actual window positions. # I.e. if there are two windows within a frame, the grid layout is skipped. -hc keybind $Mod-space \ - or , and . compare tags.focus.curframe_wcount = 2 \ - . cycle_layout +1 vertical horizontal max grid \ - , cycle_layout +1 +hc keybind $Mod-space \ + or , and . compare tags.focus.curframe_wcount = 2 \ + . cycle_layout +1 vertical horizontal max grid \ + , cycle_layout +1 # mouse hc mouseunbind --all @@ -127,9 +127,9 @@ hc mousebind $Mod-Button2 zoom hc mousebind $Mod-Button3 resize # focus on ... -hc keybind $Mod-BackSpace cycle_monitor -hc keybind $Mod-Tab cycle_all +1 -hc keybind $Mod-Shift-Tab cycle_all -1 +hc keybind $Mod-BackSpace cycle_monitor +hc keybind $Mod-Tab cycle_all +1 +hc keybind $Mod-Shift-Tab cycle_all -1 hc keybind $Mod-c cycle hc keybind $Mod-i jumpto urgent From 3383455c2fc1247f0851121dfa3eb57acc30b199 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 01:28:52 +0100 Subject: [PATCH 0867/2080] Disable some automounting --- machines/brutal/hardware-configuration.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/machines/brutal/hardware-configuration.nix b/machines/brutal/hardware-configuration.nix index 56530f54..b9008143 100644 --- a/machines/brutal/hardware-configuration.nix +++ b/machines/brutal/hardware-configuration.nix @@ -16,6 +16,9 @@ fileSystems."/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; + options = [ + "noatime" + ]; }; fileSystems."/boot" = @@ -26,6 +29,9 @@ fileSystems."/mnt/arch" = { device = "/dev/disk/by-label/arch"; fsType = "ext4"; + options = [ + "noauto" + ]; }; fileSystems."/mnt/data" = @@ -36,6 +42,9 @@ fileSystems."/mnt/old_uefi" = { device = "/dev/nvme0n1p2"; fsType = "vfat"; + options = [ + "noauto" + ]; }; swapDevices = From d1f64e591e34dd99380053d2d7219ec9855485f6 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 01:29:07 +0100 Subject: [PATCH 0868/2080] Enable plymouth. --- machines/brutal/configuration.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 6c4dfb73..606f92a3 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -7,7 +7,8 @@ kernelPackages = pkgs.linuxPackages_latest; # kernelModules = [ "edac_mce_amd" ]; cleanTmpDir = true; - # plymouth.enable = true; + plymouth.enable = true; + plymouth.theme = "bgrt"; loader.systemd-boot.enable = true; loader.systemd-boot.consoleMode = "max"; loader.efi.canTouchEfiVariables = true; From e24c15d0cb680d3249cbb8ef236ed550f9ab70f3 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 01:29:21 +0100 Subject: [PATCH 0869/2080] Enable and configure tldr --- home/main.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index e2097a48..d5da11f3 100644 --- a/home/main.nix +++ b/home/main.nix @@ -51,7 +51,6 @@ fd ripgrep du-dust - tealdeer thefuck xz tree @@ -108,4 +107,16 @@ coreutils m-cli # useful macOS CLI commands ]; + programs.tealdeer = { + enable = true; + settings = { + display = { + compact = true; + use_pager = false; + }; + updates = { + auto_update = false; + }; + }; + }; } From 77a7e81e62b041c1195caee1c00f23d1f3ad5e0a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 01:30:04 +0100 Subject: [PATCH 0870/2080] Enable feh --- modules/home/wm/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home/wm/default.nix b/modules/home/wm/default.nix index 549c9d62..48d90f40 100644 --- a/modules/home/wm/default.nix +++ b/modules/home/wm/default.nix @@ -14,4 +14,6 @@ pinentry-gnome libsecret ]; + + programs.feh.enable = true; } From 39cb0a56651c0724c3c443226b3d0af338dc7278 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 01:30:25 +0100 Subject: [PATCH 0871/2080] Use i3-gaps, enable feh background --- modules/home/wm/i3.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/modules/home/wm/i3.nix b/modules/home/wm/i3.nix index 7818352d..230075bc 100644 --- a/modules/home/wm/i3.nix +++ b/modules/home/wm/i3.nix @@ -7,12 +7,31 @@ in { # https://nix-community.github.io/home-manager/options.html#opt-xsession.windowManager.i3.config xsession.windowManager.i3 = { enable = true; + package = pkgs.i3-gaps; config = { + gaps = { + bottom = 5; + horizontal = 5; + left = 5; + right = 5; + inner = 12; + outer = 5; + top = 5; + vertical = 5; + smartBorders = "on"; + }; modifier = mod; fonts = { names = ["JetBrainsMono Nerd Font"]; size = 12.0; }; + startup = [ + { + command = "feh --no-fehbg --bg-fill ~/.config/herbstluftwm/fantasy-landscape2.jpg &"; + notification = false; + always = true; + } + ]; # https://github.com/dracula/i3/blob/master/.config/i3/config colors = { background = "#F8F8F2"; From 17aa6e596792b9ed5345939c8b8d71c91dcc059c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 02:05:58 +0100 Subject: [PATCH 0872/2080] i3: configure gaps and more --- modules/home/wm/i3.nix | 80 +++++++++++++++++++++++++++++++++--------- 1 file changed, 63 insertions(+), 17 deletions(-) diff --git a/modules/home/wm/i3.nix b/modules/home/wm/i3.nix index 230075bc..ccc565dc 100644 --- a/modules/home/wm/i3.nix +++ b/modules/home/wm/i3.nix @@ -19,18 +19,56 @@ in { top = 5; vertical = 5; smartBorders = "on"; + smartGaps = true; }; - modifier = mod; + window.titlebar = false; fonts = { names = ["JetBrainsMono Nerd Font"]; size = 12.0; }; + # press two times the same workspace change to go back + workspaceAutoBackAndForth = true; + modifier = mod; + keybindings = lib.mkOptionDefault { + "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; + "${mod}+p" = "exec \"${pkgs.rofi}/bin/rofi -show combi -combi-modes window,run,ssh -modes combi -show-icons -font 'Awesome 5' -theme arthur\""; + + # Focus + "${mod}+h" = "focus left"; + "${mod}+j" = "focus down"; + "${mod}+k" = "focus up"; + "${mod}+l" = "focus right"; + + # Move + "${mod}+Shift+h" = "move left"; + "${mod}+Shift+j" = "move down"; + "${mod}+Shift+k" = "move up"; + "${mod}+Shift+l" = "move right"; + }; + defaultWorkspace = "1"; + floating.criteria = [ + { title = "Steam - Update News"; } + { class = "Pavucontrol"; } + ]; + assigns = { + "1: term" = [{ class = "^kitty$"; }]; + "2: web" = [{ class = "^Firefox$"; }]; + "3: chat" = [{ class = "^Keybase$"; }]; + "4: notes" = [{ class = "^Joplin$"; }]; + "7: misc" = [{ class = "^Firefox$"; window_role = "About"; }]; + }; startup = [ { command = "feh --no-fehbg --bg-fill ~/.config/herbstluftwm/fantasy-landscape2.jpg &"; notification = false; always = true; } + { command = "dunst"; notification = false; } + { command = "kitty"; } + { command = "nextcloud --background"; notification = false; } + { command = "firefox"; } + { command = "joplin-desktop"; } + { command = "keybase-gui"; } ]; # https://github.com/dracula/i3/blob/master/.config/i3/config colors = { @@ -71,22 +109,6 @@ in { text = "#F8F8F2"; }; }; - keybindings = lib.mkOptionDefault { - "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; - "${mod}+p" = "exec \"${pkgs.rofi}/bin/rofi -show combi -combi-modes window,run,ssh -modes combi -show-icons -font 'Awesome 5' -theme arthur\""; - - # Focus - "${mod}+h" = "focus left"; - "${mod}+j" = "focus down"; - "${mod}+k" = "focus up"; - "${mod}+l" = "focus right"; - - # Move - "${mod}+Shift+h" = "move left"; - "${mod}+Shift+j" = "move down"; - "${mod}+Shift+k" = "move up"; - "${mod}+Shift+l" = "move right"; - }; bars = [{ colors = { background = "#282A36"; @@ -126,6 +148,30 @@ in { statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-bottom.toml"; }]; }; + extraConfig = '' + # FIXME workspace naming does not work + # set $ws1 "1: term" + # set $ws2 "2: web" + # set $ws3 "3: chat" + # set $ws4 "4: notes" + # set $ws5 "5: media" + # set $ws6 "6: vm" + # set $ws7 "7: misc" + # bindsym Mod1+1 workspace number $ws1 + # bindsym Mod1+2 workspace number $ws2 + # bindsym Mod1+3 workspace number $ws3 + # bindsym Mod1+4 workspace number $ws4 + # bindsym Mod1+5 workspace number $ws5 + # bindsym Mod1+6 workspace number $ws6 + # bindsym Mod1+7 workspace number $ws7 + # bindsym Mod1+Shift+1 move container to workspace number $ws1 + # bindsym Mod1+Shift+2 move container to workspace number $ws2 + # bindsym Mod1+Shift+3 move container to workspace number $ws3 + # bindsym Mod1+Shift+4 move container to workspace number $ws4 + # bindsym Mod1+Shift+5 move container to workspace number $ws5 + # bindsym Mod1+Shift+6 move container to workspace number $ws6 + # bindsym Mod1+Shift+7 move container to workspace number $ws7 + ''; }; # https://github.com/greshake/i3status-rust From 0baa2a8d7531f63331d86fabc6792d0b35b2498e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 02:11:42 +0100 Subject: [PATCH 0873/2080] i3: install gaps, fix assigns --- modules/home/wm/i3.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/home/wm/i3.nix b/modules/home/wm/i3.nix index ccc565dc..d3e46f41 100644 --- a/modules/home/wm/i3.nix +++ b/modules/home/wm/i3.nix @@ -51,11 +51,10 @@ in { { class = "Pavucontrol"; } ]; assigns = { - "1: term" = [{ class = "^kitty$"; }]; - "2: web" = [{ class = "^Firefox$"; }]; - "3: chat" = [{ class = "^Keybase$"; }]; - "4: notes" = [{ class = "^Joplin$"; }]; - "7: misc" = [{ class = "^Firefox$"; window_role = "About"; }]; + "1" = [{ class = "^kitty$"; }]; + "2" = [{ class = "^Firefox$"; }]; + "3" = [{ class = "^Keybase$"; }]; + "4" = [{ class = "^Joplin$"; }]; }; startup = [ { @@ -229,6 +228,7 @@ in { # rofi-pass rofi-rbw pinentry-rofi + i3-gaps ]; services.dunst.enable = true; From e56fc9ce3601f5d7b20f05735fdc487397bed714 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 02:29:12 +0100 Subject: [PATCH 0874/2080] Disable plymouth, enable systemt conf file creation. Test autoupgrade. --- machines/brutal/configuration.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 606f92a3..3e598c1e 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -7,8 +7,7 @@ kernelPackages = pkgs.linuxPackages_latest; # kernelModules = [ "edac_mce_amd" ]; cleanTmpDir = true; - plymouth.enable = true; - plymouth.theme = "bgrt"; + plymouth.enable = false; loader.systemd-boot.enable = true; loader.systemd-boot.consoleMode = "max"; loader.efi.canTouchEfiVariables = true; @@ -95,7 +94,7 @@ # Copy the NixOS configuration file and link it from the resulting system # (/run/current-system/configuration.nix). This is useful in case you # accidentally delete configuration.nix. - # system.copySystemConfiguration = true; + system.copySystemConfiguration = true; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions @@ -106,8 +105,18 @@ system.stateVersion = "22.11"; # Did you read the comment? # Automatic upgrade - system.autoUpgrade.enable = false; - system.autoUpgrade.allowReboot = false; + # XXX not working, need to find proper way to automatise this + system.autoUpgrade = { + enable = false; + flags = [ + "--update-input" + "nixpkgs" + "--commit-lock-file" + "--flake" + "/home/baptiste/repos/dotfiles" + ]; + allowReboot = false; + }; # Nix configuration ------------------------------------------------------------------------------ nix.settings.substituters = [ From 4f8e07e1bdcc9e4b847e2093df3d088cbda11947 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 02:34:16 +0100 Subject: [PATCH 0875/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/7a6a010c3a1d00f8470a5ca888f2f927f1860a19' (2022-12-08) → 'github:NixOS/nixpkgs/e8ec26f41fd94805d8fbf2552d8e7a449612c08e' (2022-12-09) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/fd26d2bd8d0e4f3248a3cca0f405fb60117ab988' (2022-12-09) → 'github:nixos/nixpkgs/c5916ba1eaf7a1a789573ace2ac0ff43e2ae5731' (2022-12-10) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/2787fc7d1e51404678614bf0fe92fc296746eec0' (2022-12-08) → 'github:nixos/nixpkgs/2dea0f4c2d6e4603f54b2c56c22367e77869490c' (2022-12-09) • Updated input 'nur': 'github:nix-community/NUR/6b370298b8e08bcc7a7a490d54517bd699708cd8' (2022-12-10) → 'github:nix-community/NUR/9900aa788ffbb86d13e281f9df6b19d98aea5aab' (2022-12-10) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 5b4c70d9..3b74df2e 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1670607846, - "narHash": "sha256-2tT5sXWs884FJZxZNcsm+6gAvWJeHZ8ilfhvykL4YMo=", + "lastModified": 1670677885, + "narHash": "sha256-seXxh+iBlufqrfQHd9MA4V5ExRO/wM39YjMLKBzMYcY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fd26d2bd8d0e4f3248a3cca0f405fb60117ab988", + "rev": "c5916ba1eaf7a1a789573ace2ac0ff43e2ae5731", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1670507980, - "narHash": "sha256-riNZa0xzM1it3pzxciwALeMs+0CsBMWIW2FqulzK8vM=", + "lastModified": 1670597555, + "narHash": "sha256-/k939P2S2246G6K5fyvC0U2IWvULhb4ZJg9K7ZxsX+k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2787fc7d1e51404678614bf0fe92fc296746eec0", + "rev": "2dea0f4c2d6e4603f54b2c56c22367e77869490c", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1670543317, - "narHash": "sha256-4mMR56rtxKr+Gwz399jFr4i76SQZxsLWxxyfQlPXRm0=", + "lastModified": 1670625113, + "narHash": "sha256-3XuCP1b8U0/rzvQciowoM6sZjtq7nYzHOFUcNRa0WhY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7a6a010c3a1d00f8470a5ca888f2f927f1860a19", + "rev": "e8ec26f41fd94805d8fbf2552d8e7a449612c08e", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1670646657, - "narHash": "sha256-T5DjvmZ4jvUedK9e9NADrYIe85fxIMTwj2QHTdJxxXQ=", + "lastModified": 1670690902, + "narHash": "sha256-AxAy3pmT1gHAIkPrpdZLrjD32kRZYz1BTbS+RzNynbU=", "owner": "nix-community", "repo": "NUR", - "rev": "6b370298b8e08bcc7a7a490d54517bd699708cd8", + "rev": "9900aa788ffbb86d13e281f9df6b19d98aea5aab", "type": "github" }, "original": { From 28e1d1f99fbefdf21c2e950408a857dd04d192eb Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 02:35:50 +0100 Subject: [PATCH 0876/2080] Comment --- machines/brutal/configuration.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 3e598c1e..ae29f915 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -108,13 +108,13 @@ # XXX not working, need to find proper way to automatise this system.autoUpgrade = { enable = false; - flags = [ - "--update-input" - "nixpkgs" - "--commit-lock-file" - "--flake" - "/home/baptiste/repos/dotfiles" - ]; + # flags = [ + # "--update-input" + # "nixpkgs" + # "--commit-lock-file" + # "--flake" + # "/home/baptiste/repos/dotfiles" + # ]; allowReboot = false; }; From 135469613aa0a8af0cdfa1a69cf3056cf14843f5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 02:41:45 +0100 Subject: [PATCH 0877/2080] Manually install dunst --- modules/home/wm/i3.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/wm/i3.nix b/modules/home/wm/i3.nix index d3e46f41..b4bb58c0 100644 --- a/modules/home/wm/i3.nix +++ b/modules/home/wm/i3.nix @@ -229,6 +229,7 @@ in { rofi-rbw pinentry-rofi i3-gaps + dunst ]; services.dunst.enable = true; From f5143fe9a7418f060b27c7b680704792a2ee9495 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 02:42:12 +0100 Subject: [PATCH 0878/2080] Update brutal conf --- machines/brutal/configuration.nix | 4 +++- machines/brutal/hardware-configuration.nix | 12 +++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index ae29f915..25b090a9 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -94,7 +94,9 @@ # Copy the NixOS configuration file and link it from the resulting system # (/run/current-system/configuration.nix). This is useful in case you # accidentally delete configuration.nix. - system.copySystemConfiguration = true; + # XXX not working with flakes + # https://github.com/NixOS/nixpkgs/issues/97252 + # system.copySystemConfiguration = true; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions diff --git a/machines/brutal/hardware-configuration.nix b/machines/brutal/hardware-configuration.nix index b9008143..74d601c4 100644 --- a/machines/brutal/hardware-configuration.nix +++ b/machines/brutal/hardware-configuration.nix @@ -16,9 +16,7 @@ fileSystems."/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; - options = [ - "noatime" - ]; + options = [ "noatime" ]; }; fileSystems."/boot" = @@ -29,9 +27,7 @@ fileSystems."/mnt/arch" = { device = "/dev/disk/by-label/arch"; fsType = "ext4"; - options = [ - "noauto" - ]; + options = [ "noauto" ]; }; fileSystems."/mnt/data" = @@ -42,9 +38,7 @@ fileSystems."/mnt/old_uefi" = { device = "/dev/nvme0n1p2"; fsType = "vfat"; - options = [ - "noauto" - ]; + options = [ "noauto" ]; }; swapDevices = From dfdcdd2a047666d6ffb4900b57bf51187ee47c72 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 02:46:04 +0100 Subject: [PATCH 0879/2080] Updates --- README.md | 3 +++ machines/brutal/configuration.nix | 14 +++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6d6b9f16..633be882 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,10 @@ nix flake info nix flake update --commit-lock-file # Only update home-manager input nix flake lock --update-input home-manager +# Rebuild system sudo nixos-rebuild switch --flake . +# upgrade nixpkgs and rebuild system +sudo nixos-rebuild switch --upgrade --update-input nixpkgs --commit-lock-file --flake /home/baptiste/repos/dotfiles ``` ##### Cleaning old generations diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 25b090a9..3093f095 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -110,13 +110,13 @@ # XXX not working, need to find proper way to automatise this system.autoUpgrade = { enable = false; - # flags = [ - # "--update-input" - # "nixpkgs" - # "--commit-lock-file" - # "--flake" - # "/home/baptiste/repos/dotfiles" - # ]; + flags = [ + "--update-input" + "nixpkgs" + "--commit-lock-file" + "--flake" + "/home/baptiste/repos/dotfiles" + ]; allowReboot = false; }; From de4e0b096200b231a21f4127871c4cad418593de Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 11:09:48 +0100 Subject: [PATCH 0880/2080] gaps got merged in i3, still to be released. --- modules/home/wm/i3.nix | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/modules/home/wm/i3.nix b/modules/home/wm/i3.nix index b4bb58c0..77d70b7e 100644 --- a/modules/home/wm/i3.nix +++ b/modules/home/wm/i3.nix @@ -7,20 +7,21 @@ in { # https://nix-community.github.io/home-manager/options.html#opt-xsession.windowManager.i3.config xsession.windowManager.i3 = { enable = true; - package = pkgs.i3-gaps; + package = pkgs.i3; config = { - gaps = { - bottom = 5; - horizontal = 5; - left = 5; - right = 5; - inner = 12; - outer = 5; - top = 5; - vertical = 5; - smartBorders = "on"; - smartGaps = true; - }; + # XXX gaps got merged to main igaps, to be released in 4.22 + # gaps = { + # bottom = 5; + # horizontal = 5; + # left = 5; + # right = 5; + # inner = 12; + # outer = 5; + # top = 5; + # vertical = 5; + # smartBorders = "on"; + # smartGaps = true; + # }; window.titlebar = false; fonts = { names = ["JetBrainsMono Nerd Font"]; @@ -64,7 +65,8 @@ in { } { command = "dunst"; notification = false; } { command = "kitty"; } - { command = "nextcloud --background"; notification = false; } + # XXX to be re-enabled once properly setup + # { command = "nextcloud --background"; notification = false; } { command = "firefox"; } { command = "joplin-desktop"; } { command = "keybase-gui"; } @@ -228,7 +230,6 @@ in { # rofi-pass rofi-rbw pinentry-rofi - i3-gaps dunst ]; From a41c0b7ee59beb60de1f150fd9007260ac75e72b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 11:10:50 +0100 Subject: [PATCH 0881/2080] Use 256 colors in tmux. --- modules/home/tmux/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index 252d37f6..c388c78d 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -44,7 +44,7 @@ ''; } ]; - terminal = "tmux"; + terminal = "tmux-256color"; extraConfig = '' # Use fish as shell set -g default-command ${pkgs.fish}/bin/fish From 987368a0f042b537203b6e1ddc4d0cba0e28da68 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 11:13:27 +0100 Subject: [PATCH 0882/2080] Install urlview --- modules/home/mail/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 8f5cd7b7..ee9b8ce5 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -21,6 +21,7 @@ in isync # thunderbird w3m + urlview ]; # Enable static configuration files From 8bfdbbfb365131e5469d485a8ad9e8e963301d4e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 11:16:42 +0100 Subject: [PATCH 0883/2080] bat: do not add lines by default --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index d5da11f3..a7e13964 100644 --- a/home/main.nix +++ b/home/main.nix @@ -16,6 +16,7 @@ enable = true; config = { theme = "Dracula"; + style = "plain"; }; }; From ecfea88c5b398914032640db606d47db1bc26bf7 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 11:28:06 +0100 Subject: [PATCH 0884/2080] fish: fix env var usage --- modules/home/fish/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index b407c344..931e8ec2 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -62,13 +62,13 @@ in ${pkgs.thefuck}/bin/thefuck --alias | source # Use bat as pager - set PAGER "${pkgs.bat}/bin/bat" + set -Ux PAGER "${pkgs.bat}/bin/bat" # https://unix.stackexchange.com/questions/343168/can-i-prevent-service-foo-status-from-paging-its-output-through-less - set SYSTEMD_PAGER "${pkgs.bat}/bin/bat" - set MANPAGER "nvim +Man!" + set -Ux SYSTEMD_PAGER "${pkgs.bat}/bin/bat" + set -Ux MANPAGER "nvim +Man!" # nvim! - set EDITOR nvim + set -Ux EDITOR nvim fish_vi_key_bindings # Set color variables From bb04cc076c4edc0b2766a781b143268d18423ce4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 14:54:30 +0100 Subject: [PATCH 0885/2080] Printing: use avahi, and gutenprint drivers. --- machines/brutal/configuration.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 3093f095..c6a47105 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -47,7 +47,15 @@ # "eurosign:e"; # map caps to escape. # Enable CUPS to print documents. - # services.printing.enable = true; + services.printing = { + enable = true; + drivers = with pkgs; [ gutenprint cups-filters ]; + }; + # Help with printer auto discovery + services.avahi = { + enable = true; + nssmdns = true; + }; # Allow access to watercooling devices services.udev.extraRules = '' From aea9700bf94f1a62f476631e740b31fc35073223 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 15:49:50 +0100 Subject: [PATCH 0886/2080] Fix configuration --- modules/home/wm/i3.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/wm/i3.nix b/modules/home/wm/i3.nix index 77d70b7e..3365b314 100644 --- a/modules/home/wm/i3.nix +++ b/modules/home/wm/i3.nix @@ -53,7 +53,7 @@ in { ]; assigns = { "1" = [{ class = "^kitty$"; }]; - "2" = [{ class = "^Firefox$"; }]; + "2" = [{ class = "^firefox$"; }]; "3" = [{ class = "^Keybase$"; }]; "4" = [{ class = "^Joplin$"; }]; }; From 6bbd3552f8027b3916af936c7eef69d66d453bc3 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 15:50:01 +0100 Subject: [PATCH 0887/2080] Install libreoffice-still --- home/main.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/main.nix b/home/main.nix index a7e13964..562c7071 100644 --- a/home/main.nix +++ b/home/main.nix @@ -56,11 +56,14 @@ xz tree silver-searcher + + # Graphical tools # XXX joplin-cli build failing on macOS # joplin # nodePackages.joplin # nodePackages_latest.joplin joplin-desktop + libreoffice-still # Dev stuff jq From 9436ae7497308002eba8b8fd6803276e468c72f5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 17:24:24 +0100 Subject: [PATCH 0888/2080] i3: stop starting apps, fix path to backgroud image for feh --- modules/home/wm/i3.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/home/wm/i3.nix b/modules/home/wm/i3.nix index 3365b314..9575d1a1 100644 --- a/modules/home/wm/i3.nix +++ b/modules/home/wm/i3.nix @@ -59,7 +59,7 @@ in { }; startup = [ { - command = "feh --no-fehbg --bg-fill ~/.config/herbstluftwm/fantasy-landscape2.jpg &"; + command = "feh --no-fehbg --bg-fill ~/repos/dotfiles/.config/herbstluftwm/fantasy-landscape2.jpg"; notification = false; always = true; } @@ -67,9 +67,9 @@ in { { command = "kitty"; } # XXX to be re-enabled once properly setup # { command = "nextcloud --background"; notification = false; } - { command = "firefox"; } - { command = "joplin-desktop"; } - { command = "keybase-gui"; } + # { command = "firefox"; } + # { command = "joplin-desktop"; } + # { command = "keybase-gui"; } ]; # https://github.com/dracula/i3/blob/master/.config/i3/config colors = { From b20b212eaeb473f4d17e065dcd58bb5a4a053591 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 17:48:21 +0100 Subject: [PATCH 0889/2080] Try to fix indentation of comments in vim. --- home/neovim.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/home/neovim.nix b/home/neovim.nix index d3375d81..062d5489 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -390,9 +390,12 @@ in set expandtab " Convert tabs to spaces set tabstop=2 " Display 2 spaces for a tab set shiftwidth=2 " Use this number of spaces for indentation - set smartindent " Make indenting smart - set autoindent " Use auto indent + " XXX breaking indentation of new comments + " https://stackoverflow.com/questions/9333134/prevent-gvim-from-auto-indenting-comments + " set smartindent " Make indenting smart + " set autoindent " Use auto indent set breakindent " Indent wrapped lines to match line start + set cindent cinkeys-=0# " Configure indentation set virtualedit=block set formatlistpat=^\\s*\\w\\+[.\)]\\s\\+\\\\|^\\s*[\\-\\+\\*]\\+\\s\\+ set foldmethod=indent " Set 'indent' folding method @@ -459,3 +462,4 @@ in }; }; } + From c33ec09ea07ddbe7cd94ae73fb09bb3fd6c9127b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 17:50:37 +0100 Subject: [PATCH 0890/2080] Fix setting EDITOR in fish --- modules/home/fish/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 931e8ec2..df0f2e46 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -68,7 +68,7 @@ in set -Ux MANPAGER "nvim +Man!" # nvim! - set -Ux EDITOR nvim + set EDITOR nvim fish_vi_key_bindings # Set color variables From 281152f63f6166cb1d0f28d01017763fb289c212 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 17:51:08 +0100 Subject: [PATCH 0891/2080] Cofnigure system for nitrokey. --- home/main.nix | 1 + machines/brutal/configuration.nix | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 562c7071..97366ad9 100644 --- a/home/main.nix +++ b/home/main.nix @@ -107,6 +107,7 @@ liquidctl gparted arch-install-scripts + nitrokey-app ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index c6a47105..feaf38df 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -80,6 +80,9 @@ # hardware logging hardware.rasdaemon.enable = true; + # nitrokey + hardware.nitrokey.enable = true; + # Enable sound. # https://nixos.wiki/wiki/PulseAudio sound.enable = true; @@ -95,6 +98,7 @@ extraGroups = [ "audio" "wheel" # Enable ‘sudo’ for the user. + "nitrokey" ]; shell = pkgs.fish; }; @@ -128,7 +132,7 @@ allowReboot = false; }; - # Nix configuration ------------------------------------------------------------------------------ + # Nix configuration nix.settings.substituters = [ "https://cache.nixos.org/" ]; From 041633c83ac19a3a7c758d3a0179db6b7ec999fb Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 17:53:07 +0100 Subject: [PATCH 0892/2080] Fix reference --- home/neovim.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/neovim.nix b/home/neovim.nix index 062d5489..62a96e44 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -391,7 +391,7 @@ in set tabstop=2 " Display 2 spaces for a tab set shiftwidth=2 " Use this number of spaces for indentation " XXX breaking indentation of new comments - " https://stackoverflow.com/questions/9333134/prevent-gvim-from-auto-indenting-comments + " https://unix.stackexchange.com/a/543571 " set smartindent " Make indenting smart " set autoindent " Use auto indent set breakindent " Indent wrapped lines to match line start From 6ad5dfabd2e61e75a2dbeb5e6f29516a3209adf4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 18:32:06 +0100 Subject: [PATCH 0893/2080] Try to install pynitrokey --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 97366ad9..d7d5899b 100644 --- a/home/main.nix +++ b/home/main.nix @@ -108,6 +108,7 @@ gparted arch-install-scripts nitrokey-app + pynitrokey ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 5cbdabeffba5057c1e6bae81f3831723d9df3a9e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 11 Dec 2022 19:31:49 +0100 Subject: [PATCH 0894/2080] Experiment with installing pacakges from unstable --- flake.nix | 7 ++++--- home/main.nix | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index f75755cb..8c4b905a 100644 --- a/flake.nix +++ b/flake.nix @@ -28,10 +28,11 @@ nur.url = "github:nix-community/NUR"; }; - outputs = { self, darwin, nixpkgs, nixpkgs-darwin-stable, home-manager, ... }@inputs: + outputs = { self, darwin, nixpkgs, nixpkgs-unstable, nixpkgs-darwin-stable, home-manager, ... }@inputs: let - inherit (nixpkgs.lib) attrValues; + # XXX not working, find how to install a iven package from unstable + # pkgs-unstable = nixpkgs-unstable.legacyPackages.${builtins.currentSystem}; homeStateVersion = "22.11"; @@ -108,7 +109,7 @@ # install packages to /etc/profiles home-manager.useUserPackages = true; # pass extra args to the modules - home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.extraSpecialArgs = { inherit inputs nixpkgs-unstable; }; home-manager.users.baptiste = { # XXX to be tested imports = attrValues self.homeManagerLinuxModules; diff --git a/home/main.nix b/home/main.nix index d7d5899b..fd2abd9c 100644 --- a/home/main.nix +++ b/home/main.nix @@ -3,7 +3,7 @@ # - nextcloud # - i3 config: minimal: cpu temp in bar # - access email (mutt, isync, notmuch) -{ config, pkgs, lib, ... }: +{ config, pkgs, nixpkgs-unstable, lib, ... }: { # Let Home Manager install and manage itself. @@ -108,7 +108,8 @@ gparted arch-install-scripts nitrokey-app - pynitrokey + # XXX not working + # nixpkgs-unstable.pynitrokey ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 5f96c7e23ad7b6ff78090b7bf73bb58bb1c79a6f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Dec 2022 11:41:22 +0100 Subject: [PATCH 0895/2080] Libreoffice is not supported on nix-darwin --- home/main.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index fd2abd9c..843b2ad5 100644 --- a/home/main.nix +++ b/home/main.nix @@ -63,7 +63,6 @@ # nodePackages.joplin # nodePackages_latest.joplin joplin-desktop - libreoffice-still # Dev stuff jq @@ -110,6 +109,7 @@ nitrokey-app # XXX not working # nixpkgs-unstable.pynitrokey + libreoffice-still ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From b483b5f103ce213a855077c7f6a94e7ec4fefcaf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Dec 2022 11:49:30 +0100 Subject: [PATCH 0896/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/933a39f0977c9bbd15935584ee81adf3ca4b01e6' (2022-12-10) → 'github:nix-community/neovim-nightly-overlay/d7b3a6b39d73c5812a9cf8b74454b15b205bf75a' (2022-12-14) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/f96fb23de62f9539bf254cc1a4e99d1da8b71994?dir=contrib' (2022-12-10) → 'github:neovim/neovim/090048bec9f80c46a6ce6ff05a419b15bc4bf028?dir=contrib' (2022-12-13) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/aaac4123e3e33e779af54361a244857d029a64dd' (2022-12-09) → 'github:nixos/nixpkgs/84575b0bd882be979516f4fecfe4d7c8de8f6a92' (2022-12-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/e8ec26f41fd94805d8fbf2552d8e7a449612c08e' (2022-12-09) → 'github:NixOS/nixpkgs/06278c77b5d162e62df170fec307e83f1812d94b' (2022-12-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/c5916ba1eaf7a1a789573ace2ac0ff43e2ae5731' (2022-12-10) → 'github:nixos/nixpkgs/8d6da33644bbd082b8a13f73ea2c7338190d7429' (2022-12-13) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/2dea0f4c2d6e4603f54b2c56c22367e77869490c' (2022-12-09) → 'github:nixos/nixpkgs/1710ed1f6f8ceb75cf7d1cf55ee0cc21760e1c7a' (2022-12-13) • Updated input 'nur': 'github:nix-community/NUR/9900aa788ffbb86d13e281f9df6b19d98aea5aab' (2022-12-10) → 'github:nix-community/NUR/1e49f8831d05b422616f9af9163b6b933c07d370' (2022-12-14) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 3b74df2e..aad18e92 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1670633376, - "narHash": "sha256-COqObflZvvFuY+G2UMrkDuRigXDbUjCpxf/zNKNrovw=", + "lastModified": 1670942634, + "narHash": "sha256-d/K7M1InZQy6ea0GgiuUnPmNQgBlKPPDVlZTC9umHFI=", "owner": "neovim", "repo": "neovim", - "rev": "f96fb23de62f9539bf254cc1a4e99d1da8b71994", + "rev": "090048bec9f80c46a6ce6ff05a419b15bc4bf028", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1670660056, - "narHash": "sha256-I8phXkyAVQHyhiMPCL22DMfkOldEPz1NPhYgvKMSCrY=", + "lastModified": 1671005716, + "narHash": "sha256-3qXlr9545AtmLjGDubPiKnMAuIfyj2jghxNy/ZX23X0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "933a39f0977c9bbd15935584ee81adf3ca4b01e6", + "rev": "d7b3a6b39d73c5812a9cf8b74454b15b205bf75a", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1670587192, - "narHash": "sha256-h3DHD2WBddfZxRuceYBa54JZKF1z8O8dtYNZK5UvP/4=", + "lastModified": 1670918062, + "narHash": "sha256-iOhkyBYUU9Jfkk0lvI4ahpjyrTsLXj9uyJWwmjKg+gg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "aaac4123e3e33e779af54361a244857d029a64dd", + "rev": "84575b0bd882be979516f4fecfe4d7c8de8f6a92", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1670677885, - "narHash": "sha256-seXxh+iBlufqrfQHd9MA4V5ExRO/wM39YjMLKBzMYcY=", + "lastModified": 1670939335, + "narHash": "sha256-AJmruD+RI6smxiVnfpmNT7275mZsUdCS5zczeQCyy3o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c5916ba1eaf7a1a789573ace2ac0ff43e2ae5731", + "rev": "8d6da33644bbd082b8a13f73ea2c7338190d7429", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1670597555, - "narHash": "sha256-/k939P2S2246G6K5fyvC0U2IWvULhb4ZJg9K7ZxsX+k=", + "lastModified": 1670929434, + "narHash": "sha256-n5UBO6XBV4h3TB7FYu2yAuNQMEYOrQyKeODUwKe06ow=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2dea0f4c2d6e4603f54b2c56c22367e77869490c", + "rev": "1710ed1f6f8ceb75cf7d1cf55ee0cc21760e1c7a", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1670625113, - "narHash": "sha256-3XuCP1b8U0/rzvQciowoM6sZjtq7nYzHOFUcNRa0WhY=", + "lastModified": 1670856834, + "narHash": "sha256-GitzxDZo7385SBoMpHRA9NBAhBh/5TBK8ptpQFAoMYc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e8ec26f41fd94805d8fbf2552d8e7a449612c08e", + "rev": "06278c77b5d162e62df170fec307e83f1812d94b", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1670690902, - "narHash": "sha256-AxAy3pmT1gHAIkPrpdZLrjD32kRZYz1BTbS+RzNynbU=", + "lastModified": 1670992231, + "narHash": "sha256-0Cs0Uc4jQ1jbmOoJspClBWy+ymcBgXKFVgvvU/9kteo=", "owner": "nix-community", "repo": "NUR", - "rev": "9900aa788ffbb86d13e281f9df6b19d98aea5aab", + "rev": "1e49f8831d05b422616f9af9163b6b933c07d370", "type": "github" }, "original": { From 05c20ac4611a11dd65fd7619e1e1fc488c0e4ce5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Dec 2022 12:13:49 +0100 Subject: [PATCH 0897/2080] nix-darwin: run mbsync via launchd --- machines/Baptistes-MBP/configuration.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 75e24646..91e71516 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -113,4 +113,16 @@ # mdutil -E / &> /dev/null # echo "ok" # ""; + + # Dotfiles. + # XXX move to home-manager + launchd.user.agents.mbsync = { + # XXX not yet deployed/managed via nix + serviceConfig.Program = "/Users/baptiste/.config/neomutt/sync"; + serviceConfig.RunAtLoad = true; + serviceConfig.StartInterval = 180; + serviceConfig.StandardErrorPath = "/Users/baptiste/Mail/.mailsync.log"; + serviceConfig.StandardOutPath = "/Users/baptiste/Mail/.mailsync.log"; + serviceConfig.ProcessType = "Background"; + }; } From 34b5cb5a0893ed791de6a9b5c5cccf99aa3a17c5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 16 Dec 2022 09:39:46 +0100 Subject: [PATCH 0898/2080] Install a JDK for ltex-ls --- home/main.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/main.nix b/home/main.nix index 843b2ad5..cc4b0da5 100644 --- a/home/main.nix +++ b/home/main.nix @@ -86,6 +86,8 @@ # bash-language-server # json-lsp ltex-ls + # Apparently required for ltex-ls usage in neovim + jdk11 # XXX not available # marksman pyright From 9453e69a5ea3a0843e571348f21f755eff32e2d6 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 18 Dec 2022 10:20:38 +0100 Subject: [PATCH 0899/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/6349b99bc2b96ded34d068a88c7c5ced406b7f7f' (2022-11-18) → 'github:lnl7/nix-darwin/adb8ac0453c8b2c40f5bffb578453dbaee838952' (2022-12-16) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/d7b3a6b39d73c5812a9cf8b74454b15b205bf75a' (2022-12-14) → 'github:nix-community/neovim-nightly-overlay/da3ed736e4abcc9e25180c53fd2c2ccaf72ef906' (2022-12-18) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/090048bec9f80c46a6ce6ff05a419b15bc4bf028?dir=contrib' (2022-12-13) → 'github:neovim/neovim/1743359235206cbd9da2e0589f1caba37cce3b8c?dir=contrib' (2022-12-18) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/84575b0bd882be979516f4fecfe4d7c8de8f6a92' (2022-12-13) → 'github:nixos/nixpkgs/80c24eeb9ff46aa99617844d0c4168659e35175f' (2022-12-17) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/06278c77b5d162e62df170fec307e83f1812d94b' (2022-12-12) → 'github:NixOS/nixpkgs/9d692a724e74d2a49f7c985132972f991d144254' (2022-12-16) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/8d6da33644bbd082b8a13f73ea2c7338190d7429' (2022-12-13) → 'github:nixos/nixpkgs/ecf231efad8023c40ae692a538d1fc12c0b5ce14' (2022-12-17) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/1710ed1f6f8ceb75cf7d1cf55ee0cc21760e1c7a' (2022-12-13) → 'github:nixos/nixpkgs/757b82211463dd5ba1475b6851d3731dfe14d377' (2022-12-16) • Updated input 'nur': 'github:nix-community/NUR/1e49f8831d05b422616f9af9163b6b933c07d370' (2022-12-14) → 'github:nix-community/NUR/ccf9b872a81ec4ba8f79fd8e6c0b6f87a2548c20' (2022-12-18) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index aad18e92..13a990c4 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1668784520, - "narHash": "sha256-gGgVAMwYPPmrfnvnoRi6OkEB5KRsNTb9uYzEceLdO/g=", + "lastModified": 1671196037, + "narHash": "sha256-2+J98SeczFWonbqFLMEAQC7vZEe6I2gM17XYvEmG52I=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "6349b99bc2b96ded34d068a88c7c5ced406b7f7f", + "rev": "adb8ac0453c8b2c40f5bffb578453dbaee838952", "type": "github" }, "original": { @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1670942634, - "narHash": "sha256-d/K7M1InZQy6ea0GgiuUnPmNQgBlKPPDVlZTC9umHFI=", + "lastModified": 1671329955, + "narHash": "sha256-pe2HqSNzufUU1bcz6+lkxPhtjG8AuN22S3WSmf5cDAw=", "owner": "neovim", "repo": "neovim", - "rev": "090048bec9f80c46a6ce6ff05a419b15bc4bf028", + "rev": "1743359235206cbd9da2e0589f1caba37cce3b8c", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1671005716, - "narHash": "sha256-3qXlr9545AtmLjGDubPiKnMAuIfyj2jghxNy/ZX23X0=", + "lastModified": 1671351197, + "narHash": "sha256-2dBceyl/Lc1yVg1DSiwyJWSbkUzikiwPm89cI4JPOWI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d7b3a6b39d73c5812a9cf8b74454b15b205bf75a", + "rev": "da3ed736e4abcc9e25180c53fd2c2ccaf72ef906", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1670918062, - "narHash": "sha256-iOhkyBYUU9Jfkk0lvI4ahpjyrTsLXj9uyJWwmjKg+gg=", + "lastModified": 1671268780, + "narHash": "sha256-9Okbivo10bcXEGCtmAQNfJt1Zpk6B3tjkSQ2CIXmTCg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "84575b0bd882be979516f4fecfe4d7c8de8f6a92", + "rev": "80c24eeb9ff46aa99617844d0c4168659e35175f", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1670939335, - "narHash": "sha256-AJmruD+RI6smxiVnfpmNT7275mZsUdCS5zczeQCyy3o=", + "lastModified": 1671290585, + "narHash": "sha256-dSwHe8u5dIsRHukxkJGthywWvfP0FTxL9bCSx8QhwUI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8d6da33644bbd082b8a13f73ea2c7338190d7429", + "rev": "ecf231efad8023c40ae692a538d1fc12c0b5ce14", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1670929434, - "narHash": "sha256-n5UBO6XBV4h3TB7FYu2yAuNQMEYOrQyKeODUwKe06ow=", + "lastModified": 1671200928, + "narHash": "sha256-mZfzDyzojwj6I0wyooIjGIn81WtGVnx6+avU5Wv+VKU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1710ed1f6f8ceb75cf7d1cf55ee0cc21760e1c7a", + "rev": "757b82211463dd5ba1475b6851d3731dfe14d377", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1670856834, - "narHash": "sha256-GitzxDZo7385SBoMpHRA9NBAhBh/5TBK8ptpQFAoMYc=", + "lastModified": 1671215800, + "narHash": "sha256-2W54K41A7MefEaWzgL/TsaWlhKRK/RhWUybyOW4i0K8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "06278c77b5d162e62df170fec307e83f1812d94b", + "rev": "9d692a724e74d2a49f7c985132972f991d144254", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1670992231, - "narHash": "sha256-0Cs0Uc4jQ1jbmOoJspClBWy+ymcBgXKFVgvvU/9kteo=", + "lastModified": 1671337747, + "narHash": "sha256-wIiTS4GebkbhyL+WYl8U3TcmLGwpQuv0/z1PEdno7W0=", "owner": "nix-community", "repo": "NUR", - "rev": "1e49f8831d05b422616f9af9163b6b933c07d370", + "rev": "ccf9b872a81ec4ba8f79fd8e6c0b6f87a2548c20", "type": "github" }, "original": { From 4e9c5bba15ee855889e2d5d63e34b0e42f00e1f3 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 18 Dec 2022 14:14:37 +0100 Subject: [PATCH 0900/2080] Install pydf --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index cc4b0da5..8d15fd7a 100644 --- a/home/main.nix +++ b/home/main.nix @@ -56,6 +56,7 @@ xz tree silver-searcher + pydf # Graphical tools # XXX joplin-cli build failing on macOS From a89ab0ae5b511d2e2eba21f8c39b2be06c8b97ac Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 21 Dec 2022 10:17:25 +0100 Subject: [PATCH 0901/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/da3ed736e4abcc9e25180c53fd2c2ccaf72ef906' (2022-12-18) → 'github:nix-community/neovim-nightly-overlay/0215ec8d85613f9984f5264ef659bee10190f4e8' (2022-12-21) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/1743359235206cbd9da2e0589f1caba37cce3b8c?dir=contrib' (2022-12-18) → 'github:neovim/neovim/c24605a5a08873d0c7161941b0c7d0aba63d1ccc?dir=contrib' (2022-12-21) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/80c24eeb9ff46aa99617844d0c4168659e35175f' (2022-12-17) → 'github:nixos/nixpkgs/e37ef84b478fa8da0ced96522adfd956fde9047a' (2022-12-19) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9d692a724e74d2a49f7c985132972f991d144254' (2022-12-16) → 'github:NixOS/nixpkgs/0938d73bb143f4ae037143572f11f4338c7b2d1c' (2022-12-17) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/ecf231efad8023c40ae692a538d1fc12c0b5ce14' (2022-12-17) → 'github:nixos/nixpkgs/09e8ac77744dd036e58ab2284e6f5c03a6d6ed41' (2022-12-18) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/757b82211463dd5ba1475b6851d3731dfe14d377' (2022-12-16) → 'github:nixos/nixpkgs/04f574a1c0fde90b51bf68198e2297ca4e7cccf4' (2022-12-18) • Updated input 'nur': 'github:nix-community/NUR/ccf9b872a81ec4ba8f79fd8e6c0b6f87a2548c20' (2022-12-18) → 'github:nix-community/NUR/40eadbb675346fbbb7f3ed1c134a650601e82b07' (2022-12-21) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 13a990c4..e42527fb 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1671329955, - "narHash": "sha256-pe2HqSNzufUU1bcz6+lkxPhtjG8AuN22S3WSmf5cDAw=", + "lastModified": 1671609539, + "narHash": "sha256-7S2+adWhkH1OlKe9uYKq55PfsjS/H7ijgVa/BFS0mW0=", "owner": "neovim", "repo": "neovim", - "rev": "1743359235206cbd9da2e0589f1caba37cce3b8c", + "rev": "c24605a5a08873d0c7161941b0c7d0aba63d1ccc", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1671351197, - "narHash": "sha256-2dBceyl/Lc1yVg1DSiwyJWSbkUzikiwPm89cI4JPOWI=", + "lastModified": 1671610485, + "narHash": "sha256-8N9SV8sUjNBqJK1kqbxZbaPAhPhUWIGmlFtTD/QtO+c=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "da3ed736e4abcc9e25180c53fd2c2ccaf72ef906", + "rev": "0215ec8d85613f9984f5264ef659bee10190f4e8", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1671268780, - "narHash": "sha256-9Okbivo10bcXEGCtmAQNfJt1Zpk6B3tjkSQ2CIXmTCg=", + "lastModified": 1671458120, + "narHash": "sha256-2+k/OONN4OF21TeoNjKB5sXVZv6Zvm/uEyQIW9OYCg8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "80c24eeb9ff46aa99617844d0c4168659e35175f", + "rev": "e37ef84b478fa8da0ced96522adfd956fde9047a", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1671290585, - "narHash": "sha256-dSwHe8u5dIsRHukxkJGthywWvfP0FTxL9bCSx8QhwUI=", + "lastModified": 1671391912, + "narHash": "sha256-W8sbJuN/i+OZdRuIzDiIyKOqVB/G26zh9DQL1rfp2xk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ecf231efad8023c40ae692a538d1fc12c0b5ce14", + "rev": "09e8ac77744dd036e58ab2284e6f5c03a6d6ed41", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1671200928, - "narHash": "sha256-mZfzDyzojwj6I0wyooIjGIn81WtGVnx6+avU5Wv+VKU=", + "lastModified": 1671359686, + "narHash": "sha256-3MpC6yZo+Xn9cPordGz2/ii6IJpP2n8LE8e/ebUXLrs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "757b82211463dd5ba1475b6851d3731dfe14d377", + "rev": "04f574a1c0fde90b51bf68198e2297ca4e7cccf4", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1671215800, - "narHash": "sha256-2W54K41A7MefEaWzgL/TsaWlhKRK/RhWUybyOW4i0K8=", + "lastModified": 1671313200, + "narHash": "sha256-itZTrtHeDJjV696+ur0/TzkTqb5y3Eb57WRLRPK3rwA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9d692a724e74d2a49f7c985132972f991d144254", + "rev": "0938d73bb143f4ae037143572f11f4338c7b2d1c", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1671337747, - "narHash": "sha256-wIiTS4GebkbhyL+WYl8U3TcmLGwpQuv0/z1PEdno7W0=", + "lastModified": 1671614002, + "narHash": "sha256-Fd7JV0SGlCiHLooIB+lbX917KHo7q/8Hq5zjnAPweUw=", "owner": "nix-community", "repo": "NUR", - "rev": "ccf9b872a81ec4ba8f79fd8e6c0b6f87a2548c20", + "rev": "40eadbb675346fbbb7f3ed1c134a650601e82b07", "type": "github" }, "original": { From 819009ff1ef65d67179275b22477272038903662 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 21 Dec 2022 12:51:33 +0100 Subject: [PATCH 0902/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/40eadbb675346fbbb7f3ed1c134a650601e82b07' (2022-12-21) → 'github:nix-community/NUR/26313ce1d78497163e0a67ff82bfe9fb582681bd' (2022-12-21) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e42527fb..9b20498e 100644 --- a/flake.lock +++ b/flake.lock @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1671614002, - "narHash": "sha256-Fd7JV0SGlCiHLooIB+lbX917KHo7q/8Hq5zjnAPweUw=", + "lastModified": 1671615014, + "narHash": "sha256-A22R51XkhQuQam/KBE/ANkL9hGA+AD45fdB1HY7iHM0=", "owner": "nix-community", "repo": "NUR", - "rev": "40eadbb675346fbbb7f3ed1c134a650601e82b07", + "rev": "26313ce1d78497163e0a67ff82bfe9fb582681bd", "type": "github" }, "original": { From 81ed5be22528ece5ff218b7c732a759a544a7770 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 21 Dec 2022 15:07:32 +0100 Subject: [PATCH 0903/2080] Start configuring emacs using home manager. --- flake.nix | 1 + modules/home/emacs/default.nix | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 modules/home/emacs/default.nix diff --git a/flake.nix b/flake.nix index 8c4b905a..fc54466e 100644 --- a/flake.nix +++ b/flake.nix @@ -86,6 +86,7 @@ git = import ./home/git.nix; tmux = import ./modules/home/tmux; main = import ./home/main.nix; + emacs = import ./modules/home/emacs; home-user-info = { lib, ... }: { # XXX figure what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; diff --git a/modules/home/emacs/default.nix b/modules/home/emacs/default.nix new file mode 100644 index 00000000..f0133ced --- /dev/null +++ b/modules/home/emacs/default.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, ... }: +{ + programs.emacs = { + enable = true; + extraConfig = '' + (require 'evil) + ;; Enable evil mode + (evil-mode 1) + ;; Set theme + (load-theme 'nord t) + ''; + # nix-env -f '<nixpkgs>' -qaP -A emacsPackages + extraPackages = epkgs: [ + epkgs.evil + epkgs.magit + epkgs.nord-theme + epkgs.auto-complete + epkgs.whitespace-cleanup-mode + epkgs.web-mode + epkgs.smart-tabs-mode + ]; + }; +} From 32a0c118ede9becd82e7fcb608d49129bfde64bc Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 21 Dec 2022 15:45:42 +0100 Subject: [PATCH 0904/2080] Add some more emacs modules. --- modules/home/emacs/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/home/emacs/default.nix b/modules/home/emacs/default.nix index f0133ced..06998ffd 100644 --- a/modules/home/emacs/default.nix +++ b/modules/home/emacs/default.nix @@ -17,6 +17,11 @@ epkgs.auto-complete epkgs.whitespace-cleanup-mode epkgs.web-mode + epkgs.nix-mode + epkgs.json-mode + epkgs.python-mode + epkgs.flycheck + epkgs.flycheck-pyflakes epkgs.smart-tabs-mode ]; }; From b8a0ad3567515ccdd8d6691067d890be2452129f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 21 Dec 2022 16:33:18 +0100 Subject: [PATCH 0905/2080] emacs: enable dashboard --- modules/home/emacs/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/home/emacs/default.nix b/modules/home/emacs/default.nix index 06998ffd..0553936b 100644 --- a/modules/home/emacs/default.nix +++ b/modules/home/emacs/default.nix @@ -1,5 +1,6 @@ { config, lib, pkgs, ... }: { + services.emacs.enable = false; programs.emacs = { enable = true; extraConfig = '' @@ -8,6 +9,11 @@ (evil-mode 1) ;; Set theme (load-theme 'nord t) + ;; Enable dashboard + (require 'dashboard) + (dashboard-setup-startup-hook) + (when (display-graphic-p) + (require 'all-the-icons)) ''; # nix-env -f '<nixpkgs>' -qaP -A emacsPackages extraPackages = epkgs: [ @@ -23,6 +29,10 @@ epkgs.flycheck epkgs.flycheck-pyflakes epkgs.smart-tabs-mode + epkgs.dashboard + epkgs.all-the-icons + epkgs.projectile + epkgs.page-break-lines ]; }; } From 8b2edb090f925170b6b4b104632251dbf4cbbb16 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 21 Dec 2022 16:40:16 +0100 Subject: [PATCH 0906/2080] Enable doom modeline. --- modules/home/emacs/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/home/emacs/default.nix b/modules/home/emacs/default.nix index 0553936b..65f055a1 100644 --- a/modules/home/emacs/default.nix +++ b/modules/home/emacs/default.nix @@ -14,6 +14,8 @@ (dashboard-setup-startup-hook) (when (display-graphic-p) (require 'all-the-icons)) + (require 'doom-modeline) + (doom-modeline-mode 1) ''; # nix-env -f '<nixpkgs>' -qaP -A emacsPackages extraPackages = epkgs: [ @@ -33,6 +35,8 @@ epkgs.all-the-icons epkgs.projectile epkgs.page-break-lines + epkgs.doom-modeline + epkgs.doom-themes ]; }; } From 292bbf4ee248cfc6cfc3dc1dffea528bbe59ba8c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 21 Dec 2022 18:46:14 +0100 Subject: [PATCH 0907/2080] emacs: disable evil --- modules/home/emacs/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/home/emacs/default.nix b/modules/home/emacs/default.nix index 65f055a1..672bb5e3 100644 --- a/modules/home/emacs/default.nix +++ b/modules/home/emacs/default.nix @@ -4,9 +4,9 @@ programs.emacs = { enable = true; extraConfig = '' - (require 'evil) + ;;(require 'evil) ;; Enable evil mode - (evil-mode 1) + ;;(evil-mode 1) ;; Set theme (load-theme 'nord t) ;; Enable dashboard @@ -16,10 +16,11 @@ (require 'all-the-icons)) (require 'doom-modeline) (doom-modeline-mode 1) + (set-face-attribute 'default nil :height 150) ''; # nix-env -f '<nixpkgs>' -qaP -A emacsPackages extraPackages = epkgs: [ - epkgs.evil + # epkgs.evil epkgs.magit epkgs.nord-theme epkgs.auto-complete From 8baa12cf30301eed9dcdbb207fd182b6cc7b91b2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 21 Dec 2022 20:15:53 +0100 Subject: [PATCH 0908/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/26313ce1d78497163e0a67ff82bfe9fb582681bd' (2022-12-21) → 'github:nix-community/NUR/fead0ed2e6a77aebfa21f29dd14a2ff266b7c6d5' (2022-12-21) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 9b20498e..5feb16a7 100644 --- a/flake.lock +++ b/flake.lock @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1671615014, - "narHash": "sha256-A22R51XkhQuQam/KBE/ANkL9hGA+AD45fdB1HY7iHM0=", + "lastModified": 1671644666, + "narHash": "sha256-dy/TivkveDB9MBtgoQib+/XQoc+1bLAE12E1ob9Nl/s=", "owner": "nix-community", "repo": "NUR", - "rev": "26313ce1d78497163e0a67ff82bfe9fb582681bd", + "rev": "fead0ed2e6a77aebfa21f29dd14a2ff266b7c6d5", "type": "github" }, "original": { From df120c99f1a81fe13538edafd6eeef3ea8764985 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 3 Jan 2023 10:00:12 +0100 Subject: [PATCH 0909/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/adb8ac0453c8b2c40f5bffb578453dbaee838952' (2022-12-16) → 'github:lnl7/nix-darwin/267040e7a2b8644f1fdfcf57b7e808c286dbdc7b' (2022-12-24) • Updated input 'home-manager': 'github:nix-community/home-manager/0e8125916b420e41bf0d23a0aa33fadd0328beb3' (2022-12-05) → 'github:nix-community/home-manager/89a8ba0b5b43b3350ff2e3ef37b66736b2ef8706' (2022-12-28) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0215ec8d85613f9984f5264ef659bee10190f4e8' (2022-12-21) → 'github:nix-community/neovim-nightly-overlay/adfef49a8d0c66eda55256a2b6d7b9d31e0bde29' (2023-01-03) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/c24605a5a08873d0c7161941b0c7d0aba63d1ccc?dir=contrib' (2022-12-21) → 'github:neovim/neovim/4dd793a256fefb481159f9f93bf7572391e266de?dir=contrib' (2023-01-03) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/e37ef84b478fa8da0ced96522adfd956fde9047a' (2022-12-19) → 'github:nixos/nixpkgs/a4379d2b0deefedc8dba360897557707ea9ee9a7' (2023-01-02) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/0938d73bb143f4ae037143572f11f4338c7b2d1c' (2022-12-17) → 'github:NixOS/nixpkgs/feda52be1d59f13b9aa02f064b4f14784b9a06c8' (2022-12-31) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/09e8ac77744dd036e58ab2284e6f5c03a6d6ed41' (2022-12-18) → 'github:nixos/nixpkgs/fe1c6a5547c10a5f6b6debb22d548017f7e14263' (2023-01-01) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/04f574a1c0fde90b51bf68198e2297ca4e7cccf4' (2022-12-18) → 'github:nixos/nixpkgs/8ba56d7c0d7490680f2d51ba46a141eca7c46afa' (2022-12-31) • Updated input 'nur': 'github:nix-community/NUR/fead0ed2e6a77aebfa21f29dd14a2ff266b7c6d5' (2022-12-21) → 'github:nix-community/NUR/b3f14ad882413dd6d34886af7abe693f03e90afa' (2023-01-03) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 5feb16a7..795a18c0 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1671196037, - "narHash": "sha256-2+J98SeczFWonbqFLMEAQC7vZEe6I2gM17XYvEmG52I=", + "lastModified": 1671891118, + "narHash": "sha256-+GJYiT7QbfA306ex4sGMlFB8Ts297pn3OdQ9kTd4aDw=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "adb8ac0453c8b2c40f5bffb578453dbaee838952", + "rev": "267040e7a2b8644f1fdfcf57b7e808c286dbdc7b", "type": "github" }, "original": { @@ -60,11 +60,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1670253003, - "narHash": "sha256-/tJIy4+FbsQyslq1ipyicZ2psOEd8dvl4OJ9lfisjd0=", + "lastModified": 1672244468, + "narHash": "sha256-xaZb8AZqoXRCSqPusCk4ouf+fUNP8UJdafmMTF1Ltlw=", "owner": "nix-community", "repo": "home-manager", - "rev": "0e8125916b420e41bf0d23a0aa33fadd0328beb3", + "rev": "89a8ba0b5b43b3350ff2e3ef37b66736b2ef8706", "type": "github" }, "original": { @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1671609539, - "narHash": "sha256-7S2+adWhkH1OlKe9uYKq55PfsjS/H7ijgVa/BFS0mW0=", + "lastModified": 1672728900, + "narHash": "sha256-VroAlqUj2N5wgbXpf47qaPdyI075AA1cgReTHFhA2a8=", "owner": "neovim", "repo": "neovim", - "rev": "c24605a5a08873d0c7161941b0c7d0aba63d1ccc", + "rev": "4dd793a256fefb481159f9f93bf7572391e266de", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1671610485, - "narHash": "sha256-8N9SV8sUjNBqJK1kqbxZbaPAhPhUWIGmlFtTD/QtO+c=", + "lastModified": 1672733667, + "narHash": "sha256-RHcgShzAHJhywtwCyz0woIUza8K78I31eZAo9AwZ8E8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0215ec8d85613f9984f5264ef659bee10190f4e8", + "rev": "adfef49a8d0c66eda55256a2b6d7b9d31e0bde29", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1671458120, - "narHash": "sha256-2+k/OONN4OF21TeoNjKB5sXVZv6Zvm/uEyQIW9OYCg8=", + "lastModified": 1672633908, + "narHash": "sha256-sP0BMp4DprVCBjcTYPsTPwkJMsc45vM0FxHdDx6qE8U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e37ef84b478fa8da0ced96522adfd956fde9047a", + "rev": "a4379d2b0deefedc8dba360897557707ea9ee9a7", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1671391912, - "narHash": "sha256-W8sbJuN/i+OZdRuIzDiIyKOqVB/G26zh9DQL1rfp2xk=", + "lastModified": 1672600835, + "narHash": "sha256-PCrIP7joW/SaDYbKlZGV44bBcLOXI/woLVnVHwcJlWc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "09e8ac77744dd036e58ab2284e6f5c03a6d6ed41", + "rev": "fe1c6a5547c10a5f6b6debb22d548017f7e14263", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1671359686, - "narHash": "sha256-3MpC6yZo+Xn9cPordGz2/ii6IJpP2n8LE8e/ebUXLrs=", + "lastModified": 1672525397, + "narHash": "sha256-WASDnyxHKWVrEe0dIzkpH+jzKlCKAk0husv0f/9pyxg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "04f574a1c0fde90b51bf68198e2297ca4e7cccf4", + "rev": "8ba56d7c0d7490680f2d51ba46a141eca7c46afa", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1671313200, - "narHash": "sha256-itZTrtHeDJjV696+ur0/TzkTqb5y3Eb57WRLRPK3rwA=", + "lastModified": 1672500394, + "narHash": "sha256-yzwBzCoeRBoRzm7ySHhm72kBG0QjgFalLz2FY48iLI4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0938d73bb143f4ae037143572f11f4338c7b2d1c", + "rev": "feda52be1d59f13b9aa02f064b4f14784b9a06c8", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1671644666, - "narHash": "sha256-dy/TivkveDB9MBtgoQib+/XQoc+1bLAE12E1ob9Nl/s=", + "lastModified": 1672735525, + "narHash": "sha256-w7wAs+ffjNd7KumTbCol2CYrE3LKk0NViQrCuTpIcCs=", "owner": "nix-community", "repo": "NUR", - "rev": "fead0ed2e6a77aebfa21f29dd14a2ff266b7c6d5", + "rev": "b3f14ad882413dd6d34886af7abe693f03e90afa", "type": "github" }, "original": { From b56887a8c24f1548834f8941789573bcef09bbcf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 3 Jan 2023 15:13:57 +0100 Subject: [PATCH 0910/2080] fish: use llvm from homebrew, required to build neorg stuff. --- machines/Baptistes-MBP/default.nix | 2 ++ modules/home/fish/default.nix | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 93236eee..6e0a87aa 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -23,6 +23,8 @@ # XXX install from pkgs does not work "joplin-cli" + # To be used for nvim/treesitter/neorg with recent C++ + "llvm" ]; casks = [ "rectangle" diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index df0f2e46..cf6e829b 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -67,6 +67,23 @@ in set -Ux SYSTEMD_PAGER "${pkgs.bat}/bin/bat" set -Ux MANPAGER "nvim +Man!" + # Need clang from homebrew on macOS (for C++11 / 14 with neorg and tree-sitter) + if test (uname) = Darwin + # https://github.com/pyenv/pyenv/wiki/Common-build-problems + # Required for building python with pyenv on Mac OS X + set -Ux CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + set -Ux LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" + if test -d "/usr/local/opt/llvm" + # Favor using llvm stuff from homebrew + set -Ux CPPFLAGS "-I/usr/local/opt/llvm/include" + set -Ux LDFLAGS "-L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" + fish_add_path "/usr/local/opt/llvm/bin" + end + # Use clang + set -Ux CC clang + set -Ux CXX clang++ + end + # nvim! set EDITOR nvim fish_vi_key_bindings From 8ae64aa171bdaaab800ce7f585d5ac8267ef41cf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 3 Jan 2023 17:24:34 +0100 Subject: [PATCH 0911/2080] Install emacs on macOS too --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index fc54466e..b6c051a1 100644 --- a/flake.nix +++ b/flake.nix @@ -65,6 +65,7 @@ tmux = import ./modules/home/tmux; main = import ./home/main.nix; neovim = import ./home/neovim-nightly.nix; + emacs = import ./modules/home/emacs; home-user-info = { lib, ... }: { # XXX figure what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; From f99382b32bd790558881e244192423de1488521f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 4 Jan 2023 17:44:10 +0100 Subject: [PATCH 0912/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/267040e7a2b8644f1fdfcf57b7e808c286dbdc7b' (2022-12-24) → 'github:lnl7/nix-darwin/3db1d870b04b13411f56ab1a50cd32b001f56433' (2023-01-03) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/adfef49a8d0c66eda55256a2b6d7b9d31e0bde29' (2023-01-03) → 'github:nix-community/neovim-nightly-overlay/fdb2d33c942bfa07762c0e5357920f41d2f734a9' (2023-01-04) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/4dd793a256fefb481159f9f93bf7572391e266de?dir=contrib' (2023-01-03) → 'github:neovim/neovim/ef18c9f9b05caf1f39ed32762f53802e378f143b?dir=contrib' (2023-01-04) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/a4379d2b0deefedc8dba360897557707ea9ee9a7' (2023-01-02) → 'github:nixos/nixpkgs/298add347c2bbce14020fcb54051f517c391196b' (2023-01-03) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/feda52be1d59f13b9aa02f064b4f14784b9a06c8' (2022-12-31) → 'github:NixOS/nixpkgs/0bf3109eeb61780965c27f4a0a4affdcd0cd4d3d' (2023-01-01) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/fe1c6a5547c10a5f6b6debb22d548017f7e14263' (2023-01-01) → 'github:nixos/nixpkgs/97d92681867f18ea249659c806f7efa3075c00f3' (2023-01-04) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/8ba56d7c0d7490680f2d51ba46a141eca7c46afa' (2022-12-31) → 'github:nixos/nixpkgs/0fc9fca9c8d43edd79d33fea0dd8409d7c4580f4' (2023-01-02) • Updated input 'nur': 'github:nix-community/NUR/b3f14ad882413dd6d34886af7abe693f03e90afa' (2023-01-03) → 'github:nix-community/NUR/75b33f6f6d1dcf68bb027260ff78478efd3ed9f4' (2023-01-04) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 795a18c0..7d1e97c2 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1671891118, - "narHash": "sha256-+GJYiT7QbfA306ex4sGMlFB8Ts297pn3OdQ9kTd4aDw=", + "lastModified": 1672753581, + "narHash": "sha256-EIi2tqHoje5cE9WqH23ZghW28NOOWSUM7tcxKE1U9KI=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "267040e7a2b8644f1fdfcf57b7e808c286dbdc7b", + "rev": "3db1d870b04b13411f56ab1a50cd32b001f56433", "type": "github" }, "original": { @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1672728900, - "narHash": "sha256-VroAlqUj2N5wgbXpf47qaPdyI075AA1cgReTHFhA2a8=", + "lastModified": 1672792760, + "narHash": "sha256-gjmp7L8hVdguIXY7z8aQoJUeG9cklL28sjoBl9O0dMU=", "owner": "neovim", "repo": "neovim", - "rev": "4dd793a256fefb481159f9f93bf7572391e266de", + "rev": "ef18c9f9b05caf1f39ed32762f53802e378f143b", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1672733667, - "narHash": "sha256-RHcgShzAHJhywtwCyz0woIUza8K78I31eZAo9AwZ8E8=", + "lastModified": 1672820083, + "narHash": "sha256-pXlcDte6htaEJIX2CQ7VQ2o8rPBygOYKWcz3DO19/ak=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "adfef49a8d0c66eda55256a2b6d7b9d31e0bde29", + "rev": "fdb2d33c942bfa07762c0e5357920f41d2f734a9", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1672633908, - "narHash": "sha256-sP0BMp4DprVCBjcTYPsTPwkJMsc45vM0FxHdDx6qE8U=", + "lastModified": 1672756850, + "narHash": "sha256-Smbq3+fitwA13qsTMeaaurv09/KVbZfW7m7lINwzDGA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a4379d2b0deefedc8dba360897557707ea9ee9a7", + "rev": "298add347c2bbce14020fcb54051f517c391196b", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1672600835, - "narHash": "sha256-PCrIP7joW/SaDYbKlZGV44bBcLOXI/woLVnVHwcJlWc=", + "lastModified": 1672829273, + "narHash": "sha256-nS73nHJSgfqVJJT4/DbjnHs+EnLkyTCUDRdNu1h+LEE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fe1c6a5547c10a5f6b6debb22d548017f7e14263", + "rev": "97d92681867f18ea249659c806f7efa3075c00f3", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1672525397, - "narHash": "sha256-WASDnyxHKWVrEe0dIzkpH+jzKlCKAk0husv0f/9pyxg=", + "lastModified": 1672617983, + "narHash": "sha256-68WDiCBs631mbDDk4UAKdGURKcsfW6hjb7wgudTAe5o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8ba56d7c0d7490680f2d51ba46a141eca7c46afa", + "rev": "0fc9fca9c8d43edd79d33fea0dd8409d7c4580f4", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1672500394, - "narHash": "sha256-yzwBzCoeRBoRzm7ySHhm72kBG0QjgFalLz2FY48iLI4=", + "lastModified": 1672616430, + "narHash": "sha256-e18rRwDUaW/Uw1tBmtsVueJ2SVI5DLhrEGwhkIo+c50=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "feda52be1d59f13b9aa02f064b4f14784b9a06c8", + "rev": "0bf3109eeb61780965c27f4a0a4affdcd0cd4d3d", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1672735525, - "narHash": "sha256-w7wAs+ffjNd7KumTbCol2CYrE3LKk0NViQrCuTpIcCs=", + "lastModified": 1672847400, + "narHash": "sha256-8wx0hMvy1YRK2EPI83JQDnssRbp3QvS8OXATgWwG8bw=", "owner": "nix-community", "repo": "NUR", - "rev": "b3f14ad882413dd6d34886af7abe693f03e90afa", + "rev": "75b33f6f6d1dcf68bb027260ff78478efd3ed9f4", "type": "github" }, "original": { From ed4187dfbfdb13a44906c110247bd646402ffa27 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 4 Jan 2023 18:57:10 +0100 Subject: [PATCH 0913/2080] flake: fix using unstable. --- flake.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index b6c051a1..c9c61826 100644 --- a/flake.nix +++ b/flake.nix @@ -111,7 +111,10 @@ # install packages to /etc/profiles home-manager.useUserPackages = true; # pass extra args to the modules - home-manager.extraSpecialArgs = { inherit inputs nixpkgs-unstable; }; + home-manager.extraSpecialArgs = { + inherit inputs; + pkgs-unstable = import nixpkgs-unstable { system = "x86_64-darwin"; config.allowUnfree = true; }; + }; home-manager.users.baptiste = { # XXX to be tested imports = attrValues self.homeManagerLinuxModules; @@ -140,7 +143,10 @@ # install packages to /etc/profiles home-manager.useUserPackages = true; # pass extra args to the modules - home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.extraSpecialArgs = { + inherit inputs; + pkgs-unstable = import nixpkgs-unstable { system = "x86_64-darwin"; config.allowUnfree = true; }; + }; home-manager.users.baptiste = { imports = attrValues self.homeManagerDarwinModules; home.stateVersion = homeStateVersion; From d11323796563147382e9f7cbb70057480806d7ff Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 4 Jan 2023 18:58:28 +0100 Subject: [PATCH 0914/2080] main: install missing pacakges from unstable. --- home/main.nix | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/home/main.nix b/home/main.nix index 8d15fd7a..5ffdf298 100644 --- a/home/main.nix +++ b/home/main.nix @@ -3,7 +3,7 @@ # - nextcloud # - i3 config: minimal: cpu temp in bar # - access email (mutt, isync, notmuch) -{ config, pkgs, nixpkgs-unstable, lib, ... }: +{ config, pkgs, pkgs-unstable, lib, ... }: { # Let Home Manager install and manage itself. @@ -80,22 +80,22 @@ nodePackages.prettier shellcheck shfmt + ansible-lint # LSP servers - # XXX not available - # ansible-language-server - # bash-language-server - # json-lsp - ltex-ls - # Apparently required for ltex-ls usage in neovim - jdk11 - # XXX not available - # marksman pyright sumneko-lua-language-server - # vim-language-server + pkgs-unstable.ansible-language-server yaml-language-server rnix-lsp + ltex-ls + # Required for ltex-ls usage in neovim + jdk11 + nodePackages.vim-language-server + nodePackages.bash-language-server + pkgs-unstable.nodePackages.vscode-json-languageserver + # XXX not available + # marksman # Useful nix related tools # cachix # adding/managing alternative binary caches hosted by Cachix From 2cb82da75cd788da0288d4b10f923e2058970ade Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 28 Dec 2022 12:28:13 +0100 Subject: [PATCH 0915/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/adb8ac0453c8b2c40f5bffb578453dbaee838952' (2022-12-16) → 'github:lnl7/nix-darwin/267040e7a2b8644f1fdfcf57b7e808c286dbdc7b' (2022-12-24) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5ad674018528be87531b91a1491b398f0b923e52' (2022-12-24) → 'github:nix-community/neovim-nightly-overlay/64b53e2370c97f5b4e3b4cda95a625a09f921aa7' (2022-12-28) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/4d4e697ef0cc0cd4a95acbbdc22074adb537a5bf?dir=contrib' (2022-12-24) → 'github:neovim/neovim/a731a40f78a407387fd60589e39bda960bdf5f1b?dir=contrib' (2022-12-28) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/bb0359be0a1a08c8d74412fe8c69aa2ffb3f477e' (2022-12-24) → 'github:nixos/nixpkgs/23d58dae80cb6a9e14839be4e626ec4bc0963e32' (2022-12-27) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9898811c658d39b2692d0ab744377e02fd85d08b' (2022-12-22) → 'github:NixOS/nixpkgs/dac57a4eccf1442e8bf4030df6fcbb55883cb682' (2022-12-24) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/0ae9e301fe38a3296aeaca2a758a19c0755a8867' (2022-12-24) → 'github:nixos/nixpkgs/fd44501c369716d1aed1124891ed74327809ce05' (2022-12-27) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/652e92b8064949a11bc193b90b74cb727f2a1405' (2022-12-22) → 'github:nixos/nixpkgs/1eb875e811dd59e21e77f6337f2c1592889b48b3' (2022-12-26) • Updated input 'nur': 'github:nix-community/NUR/25b9a5fa1858ab6f5be8a24cfe6b9f5a3eb80d0c' (2022-12-24) → 'github:nix-community/NUR/b45d3c91a26ff0e8e6575f862fdfb456b0e72c44' (2022-12-28) --- flake.lock | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/flake.lock b/flake.lock index 7d1e97c2..7a5220c5 100644 --- a/flake.lock +++ b/flake.lock @@ -135,11 +135,19 @@ }, "nixpkgs": { "locked": { +<<<<<<< HEAD "lastModified": 1672756850, "narHash": "sha256-Smbq3+fitwA13qsTMeaaurv09/KVbZfW7m7lINwzDGA=", "owner": "nixos", "repo": "nixpkgs", "rev": "298add347c2bbce14020fcb54051f517c391196b", +======= + "lastModified": 1672158941, + "narHash": "sha256-A6KENZ8/ke7YXpmpwVH4nTf5hLreFEUWW9Q+Z9jdomg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "23d58dae80cb6a9e14839be4e626ec4bc0963e32", +>>>>>>> a359abd (flake.lock: Update) "type": "github" }, "original": { From 851cc58d337c7dc78597fc356cc18412ca300f29 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 4 Jan 2023 19:14:33 +0100 Subject: [PATCH 0916/2080] Run Gnome and GDM. --- machines/brutal/configuration.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index feaf38df..94cd6347 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -37,9 +37,12 @@ # Manage graphical environment services.xserver.enable = true; - services.xserver.displayManager.lightdm.enable = true; + services.xserver.displayManager.lightdm.enable = false; services.xserver.windowManager.i3.enable = true; - services.xserver.displayManager.defaultSession = "none+i3"; + # services.xserver.displayManager.defaultSession = "none+i3"; + services.xserver.displayManager.defaultSession = "gnome"; + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; # Configure keymap in X11 services.xserver.layout = "us"; From c20225ce26029bbcf155edba6b818ec9a5ef235d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 4 Jan 2023 19:20:38 +0100 Subject: [PATCH 0917/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/75b33f6f6d1dcf68bb027260ff78478efd3ed9f4' (2023-01-04) → 'github:nix-community/NUR/59bac5300ebf4c647eedd86e0403ac7df8ec37fe' (2023-01-04) --- flake.lock | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 7a5220c5..4b8049e9 100644 --- a/flake.lock +++ b/flake.lock @@ -135,19 +135,11 @@ }, "nixpkgs": { "locked": { -<<<<<<< HEAD "lastModified": 1672756850, "narHash": "sha256-Smbq3+fitwA13qsTMeaaurv09/KVbZfW7m7lINwzDGA=", "owner": "nixos", "repo": "nixpkgs", "rev": "298add347c2bbce14020fcb54051f517c391196b", -======= - "lastModified": 1672158941, - "narHash": "sha256-A6KENZ8/ke7YXpmpwVH4nTf5hLreFEUWW9Q+Z9jdomg=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "23d58dae80cb6a9e14839be4e626ec4bc0963e32", ->>>>>>> a359abd (flake.lock: Update) "type": "github" }, "original": { @@ -207,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1672847400, - "narHash": "sha256-8wx0hMvy1YRK2EPI83JQDnssRbp3QvS8OXATgWwG8bw=", + "lastModified": 1672854292, + "narHash": "sha256-yEOr5XLUpW7sOYMWIzlBOUMGoJmNaoe5Csot1/f3MvI=", "owner": "nix-community", "repo": "NUR", - "rev": "75b33f6f6d1dcf68bb027260ff78478efd3ed9f4", + "rev": "59bac5300ebf4c647eedd86e0403ac7df8ec37fe", "type": "github" }, "original": { From 6bdb19fe631a47b303a6ca6e852c79bb5fd45112 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 4 Jan 2023 23:44:03 +0100 Subject: [PATCH 0918/2080] Fix unstable usage on nixos --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index c9c61826..f134607e 100644 --- a/flake.nix +++ b/flake.nix @@ -113,7 +113,7 @@ # pass extra args to the modules home-manager.extraSpecialArgs = { inherit inputs; - pkgs-unstable = import nixpkgs-unstable { system = "x86_64-darwin"; config.allowUnfree = true; }; + pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; }; home-manager.users.baptiste = { # XXX to be tested From b47a0c8c66e0ba34bfdd3b0780b9d2fcd5ca16b9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 4 Jan 2023 23:44:23 +0100 Subject: [PATCH 0919/2080] Document and keep derivations. --- machines/brutal/configuration.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 94cd6347..ddb86682 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -37,9 +37,11 @@ # Manage graphical environment services.xserver.enable = true; + # Lightweight system services.xserver.displayManager.lightdm.enable = false; services.xserver.windowManager.i3.enable = true; # services.xserver.displayManager.defaultSession = "none+i3"; + # GDM and Gnome services.xserver.displayManager.defaultSession = "gnome"; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; @@ -151,9 +153,12 @@ }; # Enable experimental nix command and flakes + # Protect against gc of nix-shell nix.extraOptions = '' auto-optimise-store = true experimental-features = nix-command flakes + keep-outputs = true + keep-derivations = true ''; # Apps From e0f6c5b543c000fbac9a0d485eca5b8c95863451 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 4 Jan 2023 23:44:48 +0100 Subject: [PATCH 0920/2080] Disable thunderbird. --- modules/home/mail/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index ee9b8ce5..1737195a 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -19,7 +19,6 @@ in neomutt msmtp isync - # thunderbird w3m urlview ]; @@ -155,7 +154,7 @@ in # Thunderird: working with imap thunderbird = { - enable = true; + enable = false; profiles = { Perso = { isDefault = true; @@ -420,7 +419,7 @@ in aerc.enable = false; himalaya.enable = false; thunderbird = { - enable = true; + enable = false; profiles = [ "Perso" ]; }; From 8118dac5b6843b33f3c9f7a7d786d6af3fcabf26 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 4 Jan 2023 23:45:11 +0100 Subject: [PATCH 0921/2080] Alias pydf on df. --- modules/home/fish/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index cf6e829b..c5a01131 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -39,6 +39,7 @@ in ll = "ls -l --time-style long-iso --icons"; la = "ll -a"; l = "ls -l --time-style long-iso --icons"; + df = "${pkgs.pydf}/bin/pydf"; # Be conservative with files # --preserver-root is for GNU versions From f3f91fc8c89e03211a47362c51bfffe6d69eb89f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Jan 2023 11:13:37 +0100 Subject: [PATCH 0922/2080] darwin: setup some nix options to clean but preserve direnv shells. --- home/main.nix | 2 +- machines/Baptistes-MBP/configuration.nix | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/home/main.nix b/home/main.nix index 5ffdf298..7d428996 100644 --- a/home/main.nix +++ b/home/main.nix @@ -94,7 +94,7 @@ nodePackages.vim-language-server nodePackages.bash-language-server pkgs-unstable.nodePackages.vscode-json-languageserver - # XXX not available + # XXX not yet available: https://github.com/NixOS/nixpkgs/pull/193682 # marksman # Useful nix related tools diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 91e71516..0db16d4c 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -12,11 +12,18 @@ ]; nix.configureBuildUsers = true; + nix.gc = { + automatic = true; + options = "--delete-older-than 8d"; + }; + # Enable experimental nix command and flakes - # nix.package = pkgs.nixUnstable; + # Protect against gc of nix-shell nix.extraOptions = '' auto-optimise-store = true experimental-features = nix-command flakes + keep-outputs = true + keep-derivations = true ''; # Create /etc/bashrc that loads the nix-darwin environment. From 1c952086240681eec355e9311fa8dbc6cb67c966 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Jan 2023 11:17:50 +0100 Subject: [PATCH 0923/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/fdb2d33c942bfa07762c0e5357920f41d2f734a9' (2023-01-04) → 'github:nix-community/neovim-nightly-overlay/eec74e8a886540dd44ac6564fbbafef88649d514' (2023-01-05) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/ef18c9f9b05caf1f39ed32762f53802e378f143b?dir=contrib' (2023-01-04) → 'github:neovim/neovim/ae64772a88125153a438a0e9e43d5f6bcb4eeb28?dir=contrib' (2023-01-04) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/0bf3109eeb61780965c27f4a0a4affdcd0cd4d3d' (2023-01-01) → 'github:NixOS/nixpkgs/e9ade2c8240e00a4784fac282a502efff2786bdc' (2023-01-04) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/97d92681867f18ea249659c806f7efa3075c00f3' (2023-01-04) → 'github:nixos/nixpkgs/e9ade2c8240e00a4784fac282a502efff2786bdc' (2023-01-04) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/0fc9fca9c8d43edd79d33fea0dd8409d7c4580f4' (2023-01-02) → 'github:nixos/nixpkgs/9813adc7f7c0edd738c6bdd8431439688bb0cb3d' (2023-01-04) • Updated input 'nur': 'github:nix-community/NUR/59bac5300ebf4c647eedd86e0403ac7df8ec37fe' (2023-01-04) → 'github:nix-community/NUR/b25df321856354c521b793ad3b7c30e77e15c93a' (2023-01-05) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 4b8049e9..d50aa402 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1672792760, - "narHash": "sha256-gjmp7L8hVdguIXY7z8aQoJUeG9cklL28sjoBl9O0dMU=", + "lastModified": 1672873922, + "narHash": "sha256-0wG9xD74yyanS5JBwhvjq8gpkhHvaGg5PKecb+j4T2A=", "owner": "neovim", "repo": "neovim", - "rev": "ef18c9f9b05caf1f39ed32762f53802e378f143b", + "rev": "ae64772a88125153a438a0e9e43d5f6bcb4eeb28", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1672820083, - "narHash": "sha256-pXlcDte6htaEJIX2CQ7VQ2o8rPBygOYKWcz3DO19/ak=", + "lastModified": 1672906488, + "narHash": "sha256-zuMcK0lkrFNr44kmrdo5DOnSE1HzHCIicUppDftVbPA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "fdb2d33c942bfa07762c0e5357920f41d2f734a9", + "rev": "eec74e8a886540dd44ac6564fbbafef88649d514", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1672829273, - "narHash": "sha256-nS73nHJSgfqVJJT4/DbjnHs+EnLkyTCUDRdNu1h+LEE=", + "lastModified": 1672844754, + "narHash": "sha256-o26WabuHABQsaHxxmIrR3AQRqDFUEdLckLXkVCpIjSU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "97d92681867f18ea249659c806f7efa3075c00f3", + "rev": "e9ade2c8240e00a4784fac282a502efff2786bdc", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1672617983, - "narHash": "sha256-68WDiCBs631mbDDk4UAKdGURKcsfW6hjb7wgudTAe5o=", + "lastModified": 1672791794, + "narHash": "sha256-mqGPpGmwap0Wfsf3o2b6qHJW1w2kk/I6cGCGIU+3t6o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0fc9fca9c8d43edd79d33fea0dd8409d7c4580f4", + "rev": "9813adc7f7c0edd738c6bdd8431439688bb0cb3d", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1672616430, - "narHash": "sha256-e18rRwDUaW/Uw1tBmtsVueJ2SVI5DLhrEGwhkIo+c50=", + "lastModified": 1672844754, + "narHash": "sha256-o26WabuHABQsaHxxmIrR3AQRqDFUEdLckLXkVCpIjSU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0bf3109eeb61780965c27f4a0a4affdcd0cd4d3d", + "rev": "e9ade2c8240e00a4784fac282a502efff2786bdc", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1672854292, - "narHash": "sha256-yEOr5XLUpW7sOYMWIzlBOUMGoJmNaoe5Csot1/f3MvI=", + "lastModified": 1672908458, + "narHash": "sha256-M/sq9vN+O1fFlAEwCS+plJuLmbDy8K3ULh1SSysbDf4=", "owner": "nix-community", "repo": "NUR", - "rev": "59bac5300ebf4c647eedd86e0403ac7df8ec37fe", + "rev": "b25df321856354c521b793ad3b7c30e77e15c93a", "type": "github" }, "original": { From 2e30f7b8f7528736fc067b614a3d0ec6a971a4e4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Jan 2023 15:21:53 +0100 Subject: [PATCH 0924/2080] Install ncurses to get a recent terminfo database --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 7d428996..5eba068a 100644 --- a/home/main.nix +++ b/home/main.nix @@ -41,6 +41,7 @@ # some basics curl wget + ncurses # Cool stuff gnupg From 8d07edc37b11a4d9d9f79298c081e0c38f94c505 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Jan 2023 16:33:10 +0100 Subject: [PATCH 0925/2080] Install qemu --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 5eba068a..5d79febd 100644 --- a/home/main.nix +++ b/home/main.nix @@ -70,6 +70,7 @@ jq nodejs podman + qemu nodePackages.alex actionlint black From af4421a5ace15637cf989462a40dbb2a2096e052 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 6 Jan 2023 10:56:49 +0100 Subject: [PATCH 0926/2080] Document managing python env with flakes and direnv. --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index 633be882..5be2e939 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,24 @@ sudo nix-collect-garbage -d sudo nixos-rebuild switch --flake . ``` +## Managing project-specific env with nix flakes and direnv + +### For python + +See: +- [NixOS Wiki: Python](https://nixos.wiki/wiki/Python) +- [NixOS Wiki: Packaging Python](https://nixos.wiki/wiki/Packaging/Python) +- [mach-nix](https://github.com/DavHau/mach-nix), to be replaced by [dream2nix](https://github.com/nix-community/dream2nix) + +Using a [Nix flake templates for easy dev envs](https://github.com/the-nix-way/dev-templates): +```shell +nix flake init --template github:the-nix-way/dev-templates#python +direnv allow +``` + +Interesting approach to look into: +[reddit post allowing to use requirements.txt](https://www.reddit.com/r/NixOS/comments/q71v0e/comment/hgn4sar/?utm_source=share&utm_medium=web2x&context=3) + ### References #### Videos From 49193f16622a2712ba31268e02c5c20470af4c0a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 6 Jan 2023 16:32:15 +0100 Subject: [PATCH 0927/2080] Reorder packages. --- home/main.nix | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/home/main.nix b/home/main.nix index 5d79febd..13522372 100644 --- a/home/main.nix +++ b/home/main.nix @@ -41,7 +41,6 @@ # some basics curl wget - ncurses # Cool stuff gnupg @@ -67,34 +66,38 @@ joplin-desktop # Dev stuff - jq - nodejs - podman - qemu - nodePackages.alex + # XXX maybe to be moved to project-specific envs actionlint - black + ansible-lint beautysh + black isort - stylua + jq + nodePackages.alex nodePackages.markdownlint-cli - pylint nodePackages.prettier + # XXX textlint doesn't foudn the terminology rule + # pkgs-unstable.nodePackages.textlint + # pkgs-unstable.nodePackages.textlint-rule-terminology + nodejs + podman + pylint + qemu shellcheck shfmt - ansible-lint + stylua # LSP servers + pkgs-unstable.ansible-language-server pyright + rnix-lsp sumneko-lua-language-server - pkgs-unstable.ansible-language-server yaml-language-server - rnix-lsp ltex-ls # Required for ltex-ls usage in neovim jdk11 - nodePackages.vim-language-server nodePackages.bash-language-server + nodePackages.vim-language-server pkgs-unstable.nodePackages.vscode-json-languageserver # XXX not yet available: https://github.com/NixOS/nixpkgs/pull/193682 # marksman @@ -117,6 +120,7 @@ libreoffice-still ] ++ lib.optionals stdenv.isDarwin [ coreutils + ncurses m-cli # useful macOS CLI commands ]; programs.tealdeer = { From 56586360a25c5e0f0508afa047c26b7956792715 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 6 Jan 2023 18:22:17 +0100 Subject: [PATCH 0928/2080] Fix terminal colors with italics. --- modules/home/tmux/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index c388c78d..dc09958b 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -44,8 +44,18 @@ ''; } ]; - terminal = "tmux-256color"; + # XXX required to get italics: tmux-256color or xterm-kitty + # tmux-256color not working fine with delta (showing error WARNING: terminal is not fully functional) + terminal = "xterm-kitty"; extraConfig = '' + # window movement / renumbering like in screen's :number + bind-key m command-prompt -p "move window to:" "swap-window -t '%%'" + bind-key . command-prompt "move-window -r -t '%%'" + + # Allow nested tmux sessions by making "C-b b" possible for sending a control + # sequence to a nested session + bind-key b send-prefix + # Use fish as shell set -g default-command ${pkgs.fish}/bin/fish set -g default-shell ${pkgs.fish}/bin/fish From 80050b0c8b44242142f80ef5afb02232e1462642 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 6 Jan 2023 18:22:35 +0100 Subject: [PATCH 0929/2080] Update notes about nix. --- README.md | 66 ++++++------------------------------------------------- 1 file changed, 7 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 5be2e939..73ec8ef4 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,6 @@ This is very early work, some important tasks are pending: - [ ] Try to understand what I'm doing :) - [ ] Read [Practical Nix Flakes](https://serokell.io/blog/practical-nix-flakes) - [ ] Finalise mail configuration -- [ ] Import zsh configuration - [ ] Finalise fish configuration - [ ] Finalise neovim configuration - [ ] Finalise neomutt/mutt configuration @@ -26,12 +25,9 @@ This is very early work, some important tasks are pending: - [ ] Check https://nixos.org/guides/nix-pills/ - [ ] Read https://www.reddit.com/r/NixOS/comments/xtq2tb/best_way_to_manage_multiple_home_manager_configs/ -- [-] Decide what to track (stable, master, unstable...) or - [mix](https://github.com/nix-community/home-manager/issues/1538). - [ ] Clean packages sets in inputs. - [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to flakes. Unless it makes sense to keep this to do system conf? -- [ ] Manage upgrades. - [ ] Consolidate macOS and NixOS configuration. - [ ] Look into https://github.com/gvolpe/neovim-flake. - [ ] Support home-manager conf on non-NisOS GNU/Linux systems. @@ -42,12 +38,12 @@ This is very early work, some important tasks are pending: ### NixOS setup -> NixOS version: using the stable NixOS release, and allowing to explicitely +> NixOS version: using the stable NixOS release, and allowing to explicitly > select packages from unstable. #### Managing NixOS using flakes and Mome Manager -Manage NixOS configruation in `~/repo/dotfiles`. +Manage NixOS configuration in `~/repo/dotfiles`. > [home-manager](https://nix-community.github.io/home-manager/) examples are > available in the @@ -86,28 +82,21 @@ sudo nixos-rebuild switch --upgrade --update-input nixpkgs --commit-lock-file -- ##### Cleaning old generations ```shell +# List generations +nix-env -p /nix/var/nix/profiles/system --list-generations # Delete all generations nix-env --delete-generations old # Delete generations older than 14d nix-env --delete-generations 14d # Delete specific generations nix-env --delete-generations 10 11 14 -``` - -#### Managing NixOS "centrally" - -> **Obsolete** - -Manage conf in `/etc/nixos/configuration.nix` - -```shell -# Reaplying conf from /etc/nixos/configuration.nix -sudo nixos-rebuild switch +# Collect garbage +sudo nix-collect-garbage -d ``` ### macOS AKA Darwin using flakes and Home Manager -Using `nix-darwin`, initially baesd on the video and gist from @jmatsushita: +Using `nix-darwin`, initially based on the video and gist from @jmatsushita: - https://gist.github.com/jmatsushita/5c50ef14b4b96cb24ae5268dab613050 - https://youtu.be/KJgN0lnA5mk @@ -120,10 +109,6 @@ nix build ".#darwinConfigurations.Baptistes-MBP.system" ./result/sw/bin/darwin-rebuild switch --flake . ``` -### On Archlinux using Home Manager - -> TODO - ### Searching for a Nix package, an option,... ```shell @@ -144,14 +129,6 @@ It is also possible to use different online services to easily search. - [Nix packages search](https://search.nixos.org/packages) - [Nix options seardch](https://search.nixos.org/options) -### Deleting old generations - -```shell -nix-env -p /nix/var/nix/profiles/system --list-generations -sudo nix-collect-garbage -d -sudo nixos-rebuild switch --flake . -``` - ## Managing project-specific env with nix flakes and direnv ### For python @@ -222,32 +199,3 @@ Interesting approach to look into: - [NixOS on SoYouStart](https://web.archive.org/web/20160829180041/http://aborsu.github.io/2015/09/26/Install%20NixOS%20on%20So%20You%20Start%20dedicated%20server/) - [Installing NixOS on OVH dedicated servers](https://web.archive.org/web/20210125195352/https://www.srid.ca/137ae172.html) - https://discourse.nixos.org/t/howto-install-nixos-on-an-ovh-dedicated-server/3089/14 - -## yadm - -> **DEPRECATED** - -Managed using https://yadm.io - -## Requirements - -- git -- [yadm](https://yadm.io/docs/install) - -## Using - -```sh -# Bootstrap -yadm clone git@github.com:gwarf/dotfiles.git -yadm status -# Add a file -yadm add .my-conf-file -yadm commit .my-conf-file -m 'add .my-conf-file' -# Push to remote repository -yadm push -``` - -## Creating alternate files - -See https://yadm.io/docs/alternates. It's easier to create them directly in the -GitHub repository. From c318802f03b13e20c9fafaaf21018fea6684925d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Jan 2023 09:25:26 +0100 Subject: [PATCH 0930/2080] Install doggo, sort programs --- home/main.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/home/main.nix b/home/main.nix index 13522372..be953da8 100644 --- a/home/main.nix +++ b/home/main.nix @@ -43,20 +43,21 @@ wget # Cool stuff - gnupg - mutt - fortune bat - gh + doggo + du-dust exa fd + fortune + gh + gnupg + mutt + pydf ripgrep - du-dust + silver-searcher thefuck - xz tree - silver-searcher - pydf + xz # Graphical tools # XXX joplin-cli build failing on macOS From 3e7f1a7e11283894b21a079f0c629c27f74dee90 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Jan 2023 09:28:51 +0100 Subject: [PATCH 0931/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/eec74e8a886540dd44ac6564fbbafef88649d514' (2023-01-05) → 'github:nix-community/neovim-nightly-overlay/8becc470aeb9d50d6a4b2e6025000cc4d18b967d' (2023-01-09) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/ae64772a88125153a438a0e9e43d5f6bcb4eeb28?dir=contrib' (2023-01-04) → 'github:neovim/neovim/c19bd47c0a2e3cc77d7f5e41ed184edb41685bd3?dir=contrib' (2023-01-09) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/298add347c2bbce14020fcb54051f517c391196b' (2023-01-03) → 'github:nixos/nixpkgs/0c9aadc8eff6daaa5149d2df9e6c49baaf44161c' (2023-01-08) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/e9ade2c8240e00a4784fac282a502efff2786bdc' (2023-01-04) → 'github:NixOS/nixpkgs/8c54d842d9544361aac5f5b212ba04e4089e8efe' (2023-01-08) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/e9ade2c8240e00a4784fac282a502efff2786bdc' (2023-01-04) → 'github:nixos/nixpkgs/8c54d842d9544361aac5f5b212ba04e4089e8efe' (2023-01-08) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/9813adc7f7c0edd738c6bdd8431439688bb0cb3d' (2023-01-04) → 'github:nixos/nixpkgs/a518c77148585023ff56022f09c4b2c418a51ef5' (2023-01-05) • Updated input 'nur': 'github:nix-community/NUR/b25df321856354c521b793ad3b7c30e77e15c93a' (2023-01-05) → 'github:nix-community/NUR/20e63b52053e799318da50df1d7e2fb51c542ea6' (2023-01-09) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index d50aa402..02d37c79 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1672873922, - "narHash": "sha256-0wG9xD74yyanS5JBwhvjq8gpkhHvaGg5PKecb+j4T2A=", + "lastModified": 1673238050, + "narHash": "sha256-PEOcZLLChNoFVPTaveIWRABKXw6p6ow9du9Fe/bypro=", "owner": "neovim", "repo": "neovim", - "rev": "ae64772a88125153a438a0e9e43d5f6bcb4eeb28", + "rev": "c19bd47c0a2e3cc77d7f5e41ed184edb41685bd3", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1672906488, - "narHash": "sha256-zuMcK0lkrFNr44kmrdo5DOnSE1HzHCIicUppDftVbPA=", + "lastModified": 1673252101, + "narHash": "sha256-9ewLxnRQhkWzDcO6aZAsYFHzKw6Y4ahLbZ1TUFOAmNE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "eec74e8a886540dd44ac6564fbbafef88649d514", + "rev": "8becc470aeb9d50d6a4b2e6025000cc4d18b967d", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1672756850, - "narHash": "sha256-Smbq3+fitwA13qsTMeaaurv09/KVbZfW7m7lINwzDGA=", + "lastModified": 1673180965, + "narHash": "sha256-gMhL6w9RVluvPs+irJ9n0Q1BphZm+Ek4XGn5Ow7YQ3k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "298add347c2bbce14020fcb54051f517c391196b", + "rev": "0c9aadc8eff6daaa5149d2df9e6c49baaf44161c", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1672844754, - "narHash": "sha256-o26WabuHABQsaHxxmIrR3AQRqDFUEdLckLXkVCpIjSU=", + "lastModified": 1673163619, + "narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e9ade2c8240e00a4784fac282a502efff2786bdc", + "rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1672791794, - "narHash": "sha256-mqGPpGmwap0Wfsf3o2b6qHJW1w2kk/I6cGCGIU+3t6o=", + "lastModified": 1672953546, + "narHash": "sha256-oz757DnJ1ITvwyTovuwG3l9cX6j9j6/DH9eH+cXFJmc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9813adc7f7c0edd738c6bdd8431439688bb0cb3d", + "rev": "a518c77148585023ff56022f09c4b2c418a51ef5", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1672844754, - "narHash": "sha256-o26WabuHABQsaHxxmIrR3AQRqDFUEdLckLXkVCpIjSU=", + "lastModified": 1673163619, + "narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e9ade2c8240e00a4784fac282a502efff2786bdc", + "rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1672908458, - "narHash": "sha256-M/sq9vN+O1fFlAEwCS+plJuLmbDy8K3ULh1SSysbDf4=", + "lastModified": 1673250692, + "narHash": "sha256-7kmSyPPQ8ZKOaRbqzqN0BHiOnB2z8+jFq9+kwh3lR10=", "owner": "nix-community", "repo": "NUR", - "rev": "b25df321856354c521b793ad3b7c30e77e15c93a", + "rev": "20e63b52053e799318da50df1d7e2fb51c542ea6", "type": "github" }, "original": { From 1c66f64f089031a624d39d39a44d858c5cb0f54d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Jan 2023 09:29:02 +0100 Subject: [PATCH 0932/2080] Install mumble --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index be953da8..565967ae 100644 --- a/home/main.nix +++ b/home/main.nix @@ -121,6 +121,7 @@ libreoffice-still ] ++ lib.optionals stdenv.isDarwin [ coreutils + mumble ncurses m-cli # useful macOS CLI commands ]; From 0fa07e044a9e2df547df1184d14761fc2a6af159 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Jan 2023 09:30:46 +0100 Subject: [PATCH 0933/2080] Mumble is not (?!?) supported on darwin. --- home/main.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 565967ae..be953da8 100644 --- a/home/main.nix +++ b/home/main.nix @@ -121,7 +121,6 @@ libreoffice-still ] ++ lib.optionals stdenv.isDarwin [ coreutils - mumble ncurses m-cli # useful macOS CLI commands ]; From 1a0f9389aa877899ad8412b1c616a81c723cc5f0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Jan 2023 09:44:34 +0100 Subject: [PATCH 0934/2080] Revert update of neovim-nitghly-overlay --- flake.lock | 12 ++++++------ machines/Baptistes-MBP/default.nix | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 02d37c79..b6eea302 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1673238050, - "narHash": "sha256-PEOcZLLChNoFVPTaveIWRABKXw6p6ow9du9Fe/bypro=", + "lastModified": 1672873922, + "narHash": "sha256-0wG9xD74yyanS5JBwhvjq8gpkhHvaGg5PKecb+j4T2A=", "owner": "neovim", "repo": "neovim", - "rev": "c19bd47c0a2e3cc77d7f5e41ed184edb41685bd3", + "rev": "ae64772a88125153a438a0e9e43d5f6bcb4eeb28", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1673252101, - "narHash": "sha256-9ewLxnRQhkWzDcO6aZAsYFHzKw6Y4ahLbZ1TUFOAmNE=", + "lastModified": 1672906488, + "narHash": "sha256-zuMcK0lkrFNr44kmrdo5DOnSE1HzHCIicUppDftVbPA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "8becc470aeb9d50d6a4b2e6025000cc4d18b967d", + "rev": "eec74e8a886540dd44ac6564fbbafef88649d514", "type": "github" }, "original": { diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 6e0a87aa..b7cc9835 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -28,6 +28,7 @@ ]; casks = [ "rectangle" + "mumble" ]; }; } From bf6f35e31031a5122b52a39134793649530759ca Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Jan 2023 09:49:47 +0100 Subject: [PATCH 0935/2080] Rever flake updates --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index b6eea302..4b8049e9 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1672873922, - "narHash": "sha256-0wG9xD74yyanS5JBwhvjq8gpkhHvaGg5PKecb+j4T2A=", + "lastModified": 1672792760, + "narHash": "sha256-gjmp7L8hVdguIXY7z8aQoJUeG9cklL28sjoBl9O0dMU=", "owner": "neovim", "repo": "neovim", - "rev": "ae64772a88125153a438a0e9e43d5f6bcb4eeb28", + "rev": "ef18c9f9b05caf1f39ed32762f53802e378f143b", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1672906488, - "narHash": "sha256-zuMcK0lkrFNr44kmrdo5DOnSE1HzHCIicUppDftVbPA=", + "lastModified": 1672820083, + "narHash": "sha256-pXlcDte6htaEJIX2CQ7VQ2o8rPBygOYKWcz3DO19/ak=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "eec74e8a886540dd44ac6564fbbafef88649d514", + "rev": "fdb2d33c942bfa07762c0e5357920f41d2f734a9", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1673180965, - "narHash": "sha256-gMhL6w9RVluvPs+irJ9n0Q1BphZm+Ek4XGn5Ow7YQ3k=", + "lastModified": 1672756850, + "narHash": "sha256-Smbq3+fitwA13qsTMeaaurv09/KVbZfW7m7lINwzDGA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0c9aadc8eff6daaa5149d2df9e6c49baaf44161c", + "rev": "298add347c2bbce14020fcb54051f517c391196b", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1673163619, - "narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=", + "lastModified": 1672829273, + "narHash": "sha256-nS73nHJSgfqVJJT4/DbjnHs+EnLkyTCUDRdNu1h+LEE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe", + "rev": "97d92681867f18ea249659c806f7efa3075c00f3", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1672953546, - "narHash": "sha256-oz757DnJ1ITvwyTovuwG3l9cX6j9j6/DH9eH+cXFJmc=", + "lastModified": 1672617983, + "narHash": "sha256-68WDiCBs631mbDDk4UAKdGURKcsfW6hjb7wgudTAe5o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a518c77148585023ff56022f09c4b2c418a51ef5", + "rev": "0fc9fca9c8d43edd79d33fea0dd8409d7c4580f4", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1673163619, - "narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=", + "lastModified": 1672616430, + "narHash": "sha256-e18rRwDUaW/Uw1tBmtsVueJ2SVI5DLhrEGwhkIo+c50=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe", + "rev": "0bf3109eeb61780965c27f4a0a4affdcd0cd4d3d", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1673250692, - "narHash": "sha256-7kmSyPPQ8ZKOaRbqzqN0BHiOnB2z8+jFq9+kwh3lR10=", + "lastModified": 1672854292, + "narHash": "sha256-yEOr5XLUpW7sOYMWIzlBOUMGoJmNaoe5Csot1/f3MvI=", "owner": "nix-community", "repo": "NUR", - "rev": "20e63b52053e799318da50df1d7e2fb51c542ea6", + "rev": "59bac5300ebf4c647eedd86e0403ac7df8ec37fe", "type": "github" }, "original": { From 09a7e550c9b85f10b300b6b4af05cab50aee9140 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Jan 2023 14:34:05 +0100 Subject: [PATCH 0936/2080] Update main inputs --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 4b8049e9..881fb996 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1672829273, - "narHash": "sha256-nS73nHJSgfqVJJT4/DbjnHs+EnLkyTCUDRdNu1h+LEE=", + "lastModified": 1673163619, + "narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "97d92681867f18ea249659c806f7efa3075c00f3", + "rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1672617983, - "narHash": "sha256-68WDiCBs631mbDDk4UAKdGURKcsfW6hjb7wgudTAe5o=", + "lastModified": 1673134516, + "narHash": "sha256-mAZQKqkNQbBmJnmUU0blOfkKlgMSSVyPHdeWeuKad8U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0fc9fca9c8d43edd79d33fea0dd8409d7c4580f4", + "rev": "f6f44561884c3470e2b783683d5dbac42dfc833b", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1672616430, - "narHash": "sha256-e18rRwDUaW/Uw1tBmtsVueJ2SVI5DLhrEGwhkIo+c50=", + "lastModified": 1673163619, + "narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0bf3109eeb61780965c27f4a0a4affdcd0cd4d3d", + "rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe", "type": "github" }, "original": { From c009dfd482a8a09d3cf84ae56998994d4412fc63 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Jan 2023 14:58:49 +0100 Subject: [PATCH 0937/2080] Update nur input --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 881fb996..efc11095 100644 --- a/flake.lock +++ b/flake.lock @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1672854292, - "narHash": "sha256-yEOr5XLUpW7sOYMWIzlBOUMGoJmNaoe5Csot1/f3MvI=", + "lastModified": 1673254084, + "narHash": "sha256-4NeifUMPNPFCMvlAdk2ovU2Cc0sstF68N7ZfR8xX8es=", "owner": "nix-community", "repo": "NUR", - "rev": "59bac5300ebf4c647eedd86e0403ac7df8ec37fe", + "rev": "09fb0e3e560f89db8d29749be2b782488346dee6", "type": "github" }, "original": { From 0379cb20eac802dd941d20661c4e849589e895a7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Jan 2023 14:59:10 +0100 Subject: [PATCH 0938/2080] Reorganise documentation on updating --- README.md | 91 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 62 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 73ec8ef4..e89c96e9 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,59 @@ This is very early work, some important tasks are pending: - [ ] Look into GitHub actions. - [ ] Clean static config files. +### Searching for a Nix package, an option,... + +```shell +# Using new "experimental" nix search command +nix search nixpkgs firefox +# If experimental features are not enabled +nix --extra-experimental-features "nix-command flakes" search nixpkgs firefox +# Using legacy slow nix-env +nix-env -qaP firefox +``` + +It is also possible to use different online services to search in the browser: + +- [NixOS Wiki: Searching packages](https://nixos.wiki/wiki/Searching_packages) +- [Home Manager Manual](https://nix-community.github.io/home-manager/) +- [Home Manager Options](https://nix-community.github.io/home-manager/options.html) +- [Home Manager Options Search](https://mipmip.github.io/home-manager-option-search/) +- [Nix packages search](https://search.nixos.org/packages) +- [Nix options seardch](https://search.nixos.org/options) + +### Updating nix flakes inputs + +In order to refresh the information about all flakes inputs, it's possible to +use two commands: + +- [`nix flake update --commit-lock-file`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-update.html) + updates **ALL** inputs and commit the changes to the lock file. + +> Beware as if you are using some nighlyt or unstable inputs it could break, + and commit the change, making reverting a bit less easier (but still doable). + +- [`nix flake lock`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-lock.html) + allows to specify one more multiple inputs to update and then you will have + to manually commit the changes to the lock file. + +```shell +# Checking satus of inputs +nix flake info +# Update all flake inputs and commit lock file +nix flake update --commit-lock-file +# Update main inputs +nix flake lock --update-input nixpkgs \ + --update-input nixpkgs-unstable \ + --update-input nixpkgs-darwin-stable \ + --update-input home-manager +# Update neovim inputs +nix flake lock --update-input neovim-nightly-overlay --update-input nix2lua +# Update nix user repository input +nix flake lock --update-input nur +# Update home-manager input +nix flake lock --update-input home-manager +``` + ### NixOS setup > NixOS version: using the stable NixOS release, and allowing to explicitly @@ -66,17 +119,15 @@ sudo nixos-rebuild switch --flake . ##### Updating +The first thing is to update the nix flake inputs, then rebuilding the system +using those inputs. + ```shell -# Checking satus of inputs -nix flake info -# Update all flake inputs and commit lock file -nix flake update --commit-lock-file -# Only update home-manager input -nix flake lock --update-input home-manager -# Rebuild system +# Rebuilding system sudo nixos-rebuild switch --flake . -# upgrade nixpkgs and rebuild system -sudo nixos-rebuild switch --upgrade --update-input nixpkgs --commit-lock-file --flake /home/baptiste/repos/dotfiles +# upgrade nixpkgs **only** and rebuild flake-managed system +sudo nixos-rebuild switch --upgrade --update-input nixpkgs \ + --commit-lock-file --flake ~/repos/dotfiles ``` ##### Cleaning old generations @@ -102,6 +153,8 @@ Using `nix-darwin`, initially based on the video and gist from @jmatsushita: - https://youtu.be/KJgN0lnA5mk - https://discourse.nixos.org/t/simple-workable-config-for-m1-macbook-pro-monterey-12-0-1-with-nix-flakes-nix-darwin-and-home-manager/16834 +The flake can be updated as for other nix anf flake-based systems. + ```shell # Rebuild all system conf nix build ".#darwinConfigurations.Baptistes-MBP.system" @@ -109,26 +162,6 @@ nix build ".#darwinConfigurations.Baptistes-MBP.system" ./result/sw/bin/darwin-rebuild switch --flake . ``` -### Searching for a Nix package, an option,... - -```shell -# Using new "experimental" nix search command -nix search nixpkgs firefox -# If experimental features are not enabled -nix --extra-experimental-features "nix-command flakes" search nixpkgs firefox -# Using legacy slow nix-env -nix-env -qaP firefox -``` - -It is also possible to use different online services to easily search. - -- [NixOS Wiki: Searching packages](https://nixos.wiki/wiki/Searching_packages) -- [Home Manager Manual](https://nix-community.github.io/home-manager/) -- [Home Manager Options](https://nix-community.github.io/home-manager/options.html) -- [Home Manager Options Search](https://mipmip.github.io/home-manager-option-search/) -- [Nix packages search](https://search.nixos.org/packages) -- [Nix options seardch](https://search.nixos.org/options) - ## Managing project-specific env with nix flakes and direnv ### For python From aaa10b80feb2ba54bb86f2e00dda8d3be09a8a0a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 10 Jan 2023 22:59:55 +0100 Subject: [PATCH 0939/2080] neomutt: Do not ask for confirmation when moving a message --- modules/home/mail/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 1737195a..bfc03e6c 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -440,6 +440,9 @@ in # bind pager j next-line # bind pager k previous-line + # Do not ask for confirmation when moving a message + unset confirmappend + # Sorting set sort = threads set sort_aux = reverse-last-date-received From ec2eea8a98a9a6247cf44aeac86347a948e123be Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 10 Jan 2023 23:10:15 +0100 Subject: [PATCH 0940/2080] Update channels --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index efc11095..5a5589a7 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1673163619, - "narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=", + "lastModified": 1673354416, + "narHash": "sha256-9W2JjncAM8Zj/09UgyPsIOIqzSKLzjBwDxUuRNfNMYM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe", + "rev": "09b46f2c1d8a9bd274cf324fa73691335e2d3087", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1673134516, - "narHash": "sha256-mAZQKqkNQbBmJnmUU0blOfkKlgMSSVyPHdeWeuKad8U=", + "lastModified": 1673226411, + "narHash": "sha256-b6cGb5Ln7Zy80YO66+cbTyGdjZKtkoqB/iIIhDX9gRA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f6f44561884c3470e2b783683d5dbac42dfc833b", + "rev": "aa1d74709f5dac623adb4d48fdfb27cc2c92a4d4", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1673163619, - "narHash": "sha256-B33PFBL64ZgTWgMnhFL3jgheAN/DjHPsZ1Ih3z0VE5I=", + "lastModified": 1673345971, + "narHash": "sha256-4DfFcKLRfVUTyuGrGNNmw37IeIZSoku9tgTVmu/iD98=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8c54d842d9544361aac5f5b212ba04e4089e8efe", + "rev": "54644f409ab471e87014bb305eac8c50190bcf48", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1673254084, - "narHash": "sha256-4NeifUMPNPFCMvlAdk2ovU2Cc0sstF68N7ZfR8xX8es=", + "lastModified": 1673379985, + "narHash": "sha256-hhpNcVO6GkgSjIbgNc3tTLyIcvQByyY2VJhKye7kQVc=", "owner": "nix-community", "repo": "NUR", - "rev": "09fb0e3e560f89db8d29749be2b782488346dee6", + "rev": "2c47b2a0053cdb36cc08353f79eebf7a055fa18f", "type": "github" }, "original": { From 6922614125171dc01d238a66a5be862a7e4d5c22 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 10 Jan 2023 23:26:52 +0100 Subject: [PATCH 0941/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/3db1d870b04b13411f56ab1a50cd32b001f56433' (2023-01-03) → 'github:lnl7/nix-darwin/87b9d090ad39b25b2400029c64825fc2a8868943' (2023-01-09) --- flake.lock | 112 +++++------------------------------------------------ 1 file changed, 10 insertions(+), 102 deletions(-) diff --git a/flake.lock b/flake.lock index 5a5589a7..6356b9d0 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1672753581, - "narHash": "sha256-EIi2tqHoje5cE9WqH23ZghW28NOOWSUM7tcxKE1U9KI=", + "lastModified": 1673295039, + "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "3db1d870b04b13411f56ab1a50cd32b001f56433", + "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", "type": "github" }, "original": { @@ -21,37 +21,6 @@ "type": "github" } }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1668681692, - "narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "009399224d5e398d03b22badca40a37ac85412a1", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -74,50 +43,6 @@ "type": "github" } }, - "neovim-flake": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ] - }, - "locked": { - "dir": "contrib", - "lastModified": 1672792760, - "narHash": "sha256-gjmp7L8hVdguIXY7z8aQoJUeG9cklL28sjoBl9O0dMU=", - "owner": "neovim", - "repo": "neovim", - "rev": "ef18c9f9b05caf1f39ed32762f53802e378f143b", - "type": "github" - }, - "original": { - "dir": "contrib", - "owner": "neovim", - "repo": "neovim", - "type": "github" - } - }, - "neovim-nightly-overlay": { - "inputs": { - "flake-compat": "flake-compat", - "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1672820083, - "narHash": "sha256-pXlcDte6htaEJIX2CQ7VQ2o8rPBygOYKWcz3DO19/ak=", - "owner": "nix-community", - "repo": "neovim-nightly-overlay", - "rev": "fdb2d33c942bfa07762c0e5357920f41d2f734a9", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "neovim-nightly-overlay", - "type": "github" - } - }, "nix2lua": { "locked": { "lastModified": 1669103494, @@ -135,16 +60,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1672756850, - "narHash": "sha256-Smbq3+fitwA13qsTMeaaurv09/KVbZfW7m7lINwzDGA=", - "owner": "nixos", + "lastModified": 1673345971, + "narHash": "sha256-4DfFcKLRfVUTyuGrGNNmw37IeIZSoku9tgTVmu/iD98=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "298add347c2bbce14020fcb54051f517c391196b", + "rev": "54644f409ab471e87014bb305eac8c50190bcf48", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } @@ -181,22 +106,6 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1673345971, - "narHash": "sha256-4DfFcKLRfVUTyuGrGNNmw37IeIZSoku9tgTVmu/iD98=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "54644f409ab471e87014bb305eac8c50190bcf48", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nur": { "locked": { "lastModified": 1673379985, @@ -216,9 +125,8 @@ "inputs": { "darwin": "darwin", "home-manager": "home-manager", - "neovim-nightly-overlay": "neovim-nightly-overlay", "nix2lua": "nix2lua", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixpkgs-darwin-stable": "nixpkgs-darwin-stable", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" From 5604cabfc8e256ab1f1b48a88d6ba7572c1411ad Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 10 Jan 2023 23:32:50 +0100 Subject: [PATCH 0942/2080] Switch back to stable neovim https://github.com/nix-community/neovim-nightly-overlay/issues/164 --- flake.nix | 2 +- home/neovim-nightly.nix | 7 ++----- home/neovim.nix | 7 ++----- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/flake.nix b/flake.nix index f134607e..e89868a9 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,7 @@ }; # neovim nightly - neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + # neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nix2lua.url = "git+https://git.pleshevski.ru/mynix/nix2lua"; # Nix User Repository diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index ba5b1615..19efa52c 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -1,13 +1,10 @@ # https://srid.ca/cli/neovim/install -{ pkgs, inputs, ... }: +{ pkgs, inputs, pkgs-unstable, ... }: -let - neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; -in { programs.neovim = { enable = true; - package = neovim-nightly; + # package = pkgs.neovim; # use nvim by default vimAlias = true; diff --git a/home/neovim.nix b/home/neovim.nix index 62a96e44..db29005b 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -3,11 +3,8 @@ # - fix automatic indentation when creating block like {}: last } is not porperly aligned # - also indent # commented lines when doing > # - completion from other buffers -{ pkgs, inputs, ... }: +{ pkgs, inputs, pkgs-unstable, ... }: -let - neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; -in { imports = [ ./lsp.nix @@ -15,7 +12,7 @@ in programs.neovim = { enable = true; - package = neovim-nightly; + # package = pkgs.neovim; # use nvim by default vimAlias = true; From 36fd4a677bc1c4763799a829d99d2a0e99270013 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 10 Jan 2023 23:37:15 +0100 Subject: [PATCH 0943/2080] Switch back to unstable neovim --- home/neovim-nightly.nix | 2 +- home/neovim.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index 19efa52c..9311c849 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -4,7 +4,7 @@ { programs.neovim = { enable = true; - # package = pkgs.neovim; + package = pkgs-unstable.neovim-unwrapped; # use nvim by default vimAlias = true; diff --git a/home/neovim.nix b/home/neovim.nix index db29005b..16c22f51 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -12,7 +12,7 @@ programs.neovim = { enable = true; - # package = pkgs.neovim; + package = pkgs-unstable.neovim-unwrapped; # use nvim by default vimAlias = true; From caff1b016d8d3248cf1656a64b42556436004368 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 10 Jan 2023 23:50:17 +0100 Subject: [PATCH 0944/2080] Enable alpha dashboard --- home/neovim.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/home/neovim.nix b/home/neovim.nix index 16c22f51..ce3a288f 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -95,6 +95,30 @@ plugin = wilder-nvim; config = "call wilder#setup({'modes': [':', '/', '?']})"; } + { + plugin = alpha-nvim; + type = "lua"; + config = '' + local alpha = require("alpha") + local dashboard = require("alpha.themes.dashboard") + dashboard.section.buttons.val = { + dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"), + dashboard.button("q", " Quit NVIM", ":qa<CR>"), + dashboard.button("SPC s f", " Find file"), + dashboard.button("SPC s r", " Recently opened files"), + dashboard.button("SPC s t", " Find text"), + dashboard.button("SPC s p", " Jump to project"), + dashboard.button("SPC s s", " Find old sessions"), + } + local handle = io.popen("fortune") + local fortune = handle:read("*a") + handle:close() + dashboard.section.footer.val = fortune + dashboard.config.opts.noautocmd = true + vim.cmd([[autocmd User AlphaReady echo 'ready']]) + alpha.setup(dashboard.config) + ''; + } { plugin = neoscroll-nvim; type = "lua"; From fa539ef3f39058eeea3b2e35d6074936ebce6604 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 09:17:26 +0100 Subject: [PATCH 0945/2080] mutt: ask before purging deleted messages --- modules/home/mail/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index bfc03e6c..20c98e26 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -442,6 +442,8 @@ in # Do not ask for confirmation when moving a message unset confirmappend + # Ask before purging deleted messages + set delete=ask-yes # Sorting set sort = threads From 7b84d25fad864b1739dc8988333ea1ab666e6f5a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 10:01:51 +0100 Subject: [PATCH 0946/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/2c47b2a0053cdb36cc08353f79eebf7a055fa18f' (2023-01-10) → 'github:nix-community/NUR/a77112aa2598b741261a2af1383ac372e6f9c104' (2023-01-11) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 6356b9d0..022a2e57 100644 --- a/flake.lock +++ b/flake.lock @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1673379985, - "narHash": "sha256-hhpNcVO6GkgSjIbgNc3tTLyIcvQByyY2VJhKye7kQVc=", + "lastModified": 1673426865, + "narHash": "sha256-zNoCWLOqq2X9d188BlIDG46KcTkQ8AGaY9g4yozl2Zs=", "owner": "nix-community", "repo": "NUR", - "rev": "2c47b2a0053cdb36cc08353f79eebf7a055fa18f", + "rev": "a77112aa2598b741261a2af1383ac372e6f9c104", "type": "github" }, "original": { From 2913162686982b027469c004b3e56cb5cc30d946 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 10:37:49 +0100 Subject: [PATCH 0947/2080] nvim: no more use a pyenv venv --- .config/nvim/.venv | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .config/nvim/.venv diff --git a/.config/nvim/.venv b/.config/nvim/.venv deleted file mode 100644 index 09083c67..00000000 --- a/.config/nvim/.venv +++ /dev/null @@ -1 +0,0 @@ -neovim3 From 4837007d885ceaf3d6638168019f93da0fb049c3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 10:37:59 +0100 Subject: [PATCH 0948/2080] nvim: sync changes from manually-managed conf still used at work. --- .config/nvim/init.lua | 11 ++++++++-- .config/nvim/lua/config/lsp.lua | 34 +++++++++++++++++-------------- .config/nvim/lua/config/mason.lua | 1 + .config/nvim/lua/plugins.lua | 23 +++++++++++++-------- 4 files changed, 43 insertions(+), 26 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 8c145120..e7770a78 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -87,8 +87,15 @@ opt.expandtab = true opt.shiftwidth = 2 opt.tabstop = 2 opt.softtabstop = 2 -opt.smartindent = true -opt.autoindent = true +-- XXX breaking indentation of new comments +-- https://unix.stackexchange.com/a/543571 +opt.smartindent = false +opt.autoindent = false +-- Indent wrapped lines to match line start +opt.breakindent = true +opt.cindent = true +-- Fix indentation of new comments +opt.cinkeys:remove({ "0#" }) -- For devicons on vim opt.encoding = "UTF-8" diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 1bb1f6d8..c5542559 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -55,19 +55,19 @@ local on_attach = function(client, bufnr) client.server_capabilities.document_range_formatting = false end - -- XXX may be better disabled due to some issues with default conf for yaml/ansible formatting + -- XXX disabled due to some issues with default conf for yaml/ansible formatting -- format file on save - if client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead - vim.lsp.buf.format({ bufnr = bufnr }) - end, - }) - end + -- if client.supports_method("textDocument/formatting") then + -- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) + -- vim.api.nvim_create_autocmd("BufWritePre", { + -- group = augroup, + -- buffer = bufnr, + -- callback = function() + -- -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead + -- vim.lsp.buf.format({ bufnr = bufnr }) + -- end, + -- }) + -- end -- Enable completion triggered by <c-x><c-o> vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") @@ -154,7 +154,7 @@ local lsp_flags = { } -- LSP servers with default configuration -local servers = { "bashls", "marksman", "jsonls", "vimls", "yamlls" } +local servers = { "bashls", "marksman", "jsonls", "rnix", "vimls", "yamlls" } for _, lsp_server in ipairs(servers) do lspconfig[lsp_server].setup({ on_attach = on_attach, @@ -167,7 +167,7 @@ end require("ltex-ls").setup({ on_attach = on_attach, use_spellfile = true, - filetypes = { "latex", "tex", "bib", "markdown", "gitcommit", "text", "mail" }, + filetypes = { "latex", "tex", "bib", "markdown", "gitcommit", "text", "mail", "norg" }, settings = { ltex = { checkFrequency = "save", @@ -294,7 +294,11 @@ null_ls.setup({ }), -- diagnostics null_ls.builtins.diagnostics.actionlint, - null_ls.builtins.diagnostics.flake8, + null_ls.builtins.diagnostics.flake8.with({ + -- Align with black + -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 + extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" }, + }), null_ls.builtins.diagnostics.alex, null_ls.builtins.diagnostics.markdownlint.with({ extra_args = { "--config", vim.fn.expand("~/.config/nvim/.markdownlint.json") }, diff --git a/.config/nvim/lua/config/mason.lua b/.config/nvim/lua/config/mason.lua index 993bea5e..f1d4e812 100644 --- a/.config/nvim/lua/config/mason.lua +++ b/.config/nvim/lua/config/mason.lua @@ -35,6 +35,7 @@ require("mason-lspconfig").setup({ -- https://github.com/williamboman/mason-lspconfig.nvim/blob/main/lua/mason-lspconfig/server_configurations/pylsp/README.md -- "pylsp", "pyright", + "rnix", -- "ruby_ls", "sumneko_lua", "vimls", diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index c1c8e39b..8fd66465 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -246,6 +246,7 @@ return require("packer").startup(function(use) end, }) -- Using ufo provider need remap `zR` and `zM`. + -- once zM got run it's possible to use other commands vim.keymap.set("n", "zR", require("ufo").openAllFolds) vim.keymap.set("n", "zM", require("ufo").closeAllFolds) end, @@ -324,6 +325,7 @@ return require("packer").startup(function(use) -- tag = "*", ft = "norg", after = "nvim-treesitter", -- You may want to specify Telescope here as well + run = ":Neorg sync-parsers", config = function() require("neorg").setup({ load = { @@ -342,23 +344,25 @@ return require("packer").startup(function(use) workspaces = { work = "~/Documents/notes/work", home = "~/Documents/notes/home", - gtd = "~/Documents/notes/gtd", + -- gtd = "~/Documents/notes/gtd", }, }, }, - ["core.gtd.base"] = { - config = { - workspace = "gtd", - }, - }, + -- XXX https://github.com/nvim-neorg/neorg/issues/695 + -- ["core.gtd.base"] = { + -- config = { + -- workspace = "gtd", + -- }, + -- }, ["core.integrations.telescope"] = {}, - ["external.kanban"] = {}, + -- ["external.kanban"] = {}, }, }) end, requires = { "nvim-neorg/neorg-telescope", - "max397574/neorg-kanban", + -- Relevant to GTD that is no more supported + -- "max397574/neorg-kanban", }, }) @@ -416,10 +420,11 @@ return require("packer").startup(function(use) config = function() require("gitsigns").setup({ yadm = { - enable = true, + enable = false, }, }) end, + tag = "v*", requires = { "nvim-lua/plenary.nvim" }, event = "BufRead", }) From 13f8aa7c83d4dc505521e666d12727fdcab77c9f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 10:49:28 +0100 Subject: [PATCH 0949/2080] Install marksman from unstable, as not yet in stable. --- home/main.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/main.nix b/home/main.nix index be953da8..976b5c40 100644 --- a/home/main.nix +++ b/home/main.nix @@ -100,8 +100,8 @@ nodePackages.bash-language-server nodePackages.vim-language-server pkgs-unstable.nodePackages.vscode-json-languageserver - # XXX not yet available: https://github.com/NixOS/nixpkgs/pull/193682 - # marksman + # Not yet in nixpkgs: https://github.com/NixOS/nixpkgs/pull/193682 + pkgs-unstable.marksman # Useful nix related tools # cachix # adding/managing alternative binary caches hosted by Cachix From b7452c8547564e4922df94350ec668afa4f44862 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 10:50:47 +0100 Subject: [PATCH 0950/2080] Rely on nix for installing packages. --- .config/nvim/lua/config/mason.lua | 54 ++++++++++++++++--------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/.config/nvim/lua/config/mason.lua b/.config/nvim/lua/config/mason.lua index f1d4e812..1dda252e 100644 --- a/.config/nvim/lua/config/mason.lua +++ b/.config/nvim/lua/config/mason.lua @@ -2,44 +2,46 @@ require("mason").setup() require("mason-tool-installer").setup({ ensure_installed = { - "alex", - "actionlint", - "black", - "beautysh", - "isort", + -- XXX now installed via nix + -- "alex", + -- "actionlint", + -- "black", + -- "beautysh", + -- "isort", -- "jedi-language-server", - "stylua", - "markdownlint", - "pylint", - "prettier", - "shellcheck", - "shfmt", + -- "stylua", + -- "markdownlint", + -- "pylint", + -- "prettier", + -- "shellcheck", + -- "shfmt", }, - auto_update = true, - run_on_start = true, + auto_update = false, + run_on_start = false, tart_delay = 3000, -- 3 second delay }) require("mason-lspconfig").setup({ ensure_installed = { - "ansiblels", - "bashls", + -- XXX now installed via nix + -- "ansiblels", + -- "bashls", -- "grammarly", -- "html", - "jsonls", - -- "lemminx", - "ltex", - "marksman", + -- "jsonls", + -- "lemminx", + -- "ltex", + -- "marksman", -- "prosemd_lsp", -- Struggling with plugins and pylint -- https://github.com/williamboman/mason-lspconfig.nvim/blob/main/lua/mason-lspconfig/server_configurations/pylsp/README.md -- "pylsp", - "pyright", - "rnix", - -- "ruby_ls", - "sumneko_lua", - "vimls", - "yamlls", + -- "pyright", + -- "rnix", + -- "ruby_ls", + -- "sumneko_lua", + -- "vimls", + -- "yamlls", }, - automatic_installation = true, + automatic_installation = false, }) From c45ff872944d313b62611aa0c735fc904f9835c6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 11:08:49 +0100 Subject: [PATCH 0951/2080] Increase lsp format timeout --- .config/nvim/lua/config/which-key.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua index d996da3e..4859370a 100644 --- a/.config/nvim/lua/config/which-key.lua +++ b/.config/nvim/lua/config/which-key.lua @@ -113,7 +113,7 @@ local mappings = { a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" }, d = { "<cmd>Telescope diagnostics bufnr=0 theme=get_ivy<cr>", "Buffer Diagnostics" }, e = { "<cmd>Telescope quickfix<cr>", "Telescope Quickfix" }, - f = { "<cmd>lua vim.lsp.buf.format(nil, 10000)<cr>", "Format" }, + f = { "<cmd>lua vim.lsp.buf.format({ timeout_ms = 2000})<cr>", "Format" }, F = { "<cmd>lua vim.lsp.buf.range_formating()<cr>", "Format selection" }, h = { vim.lsp.buf.signature_help, "Signature help" }, i = { "<cmd>LspInfo<cr>", "Info" }, From 2cac01d78bb9b880f71c0326fc7669caaf4980a7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 12:01:52 +0100 Subject: [PATCH 0952/2080] "Document" using direnv --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e89c96e9..1038fedd 100644 --- a/README.md +++ b/README.md @@ -175,6 +175,7 @@ Using a [Nix flake templates for easy dev envs](https://github.com/the-nix-way/d ```shell nix flake init --template github:the-nix-way/dev-templates#python direnv allow +# Edit flake.nix as needed, adding packages or python packages. ``` Interesting approach to look into: From d462bb0b53b06299c61b3744d8e5acf38ae93529 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 12:07:30 +0100 Subject: [PATCH 0953/2080] nvim: document possibility to force repo updates --- .config/nvim/lua/plugins.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 8fd66465..c3d834be 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -38,6 +38,14 @@ packer.init({ return require("packer.util").float({ border = "single" }) end, }, + git = { + subcommands = { + -- XXX potentil fix for https://github.com/wbthomason/packer.nvim/issues/1100, + -- which blocks updating the nvim-tree nightly tag + -- update = 'pull --ff-only --progress --rebase=false --force', + -- fetch = 'fetch --depth 999999 --progress --force', + } + }, }) return require("packer").startup(function(use) From 20275eb70f1bb0444ea13fa57b3ccedea5d4e988 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 12:31:28 +0100 Subject: [PATCH 0954/2080] Setup french dict in Firefox --- home/firefox.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/firefox.nix b/home/firefox.nix index 7837d97c..db401415 100644 --- a/home/firefox.nix +++ b/home/firefox.nix @@ -31,6 +31,10 @@ "wappalyzer@crunchlabz.com" = ext "wappalyzer"; # Gnome shell integration # "chrome-gnome-shell@gnome.org" = ext "gnome-shell-integration"; + "dictionnaire_francais1" = { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/file/3581786/dictionnaire_francais1-latest.xpi"; + }; }; PasswordManagerEnabled = false; EnableTrackingProtection = { From 5382fc1d3ee628a5bd5a48a5bc174d4ad166ce31 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Jan 2023 18:08:12 +0100 Subject: [PATCH 0955/2080] lazygit: disable custom colors. --- home/git.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/home/git.nix b/home/git.nix index 4a5560a7..2f8b7d71 100644 --- a/home/git.nix +++ b/home/git.nix @@ -81,13 +81,9 @@ enable = true; settings = { gui = { - theme = { - selectedLineBgColor = [ "#d5c4a1" ]; - selectedRangeBgColor = [ "#d5c4a1" ]; - }; showIcons = true; }; - git.paging.pager = "delta --paging=never"; + git.paging.pager = "delta --dark --paging=never"; }; }; } From 5b6e6afa56cdf3c9e02fe543ab207ed25275d228 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 13 Jan 2023 10:02:09 +0100 Subject: [PATCH 0956/2080] Import nvim conf managed via LazyVim --- lazyvim/README.md | 11 ++ lazyvim/nvim/.neoconf.json | 15 ++ lazyvim/nvim/LICENSE | 201 +++++++++++++++++++++ lazyvim/nvim/README.md | 45 +++++ lazyvim/nvim/init.lua | 2 + lazyvim/nvim/lazy-lock.json | 51 ++++++ lazyvim/nvim/lua/config/autocmds.lua | 3 + lazyvim/nvim/lua/config/keymaps.lua | 3 + lazyvim/nvim/lua/config/lazy.lua | 40 +++++ lazyvim/nvim/lua/config/options.lua | 3 + lazyvim/nvim/lua/plugins/gwarf.lua | 258 +++++++++++++++++++++++++++ lazyvim/nvim/stylua.toml | 3 + 12 files changed, 635 insertions(+) create mode 100644 lazyvim/README.md create mode 100644 lazyvim/nvim/.neoconf.json create mode 100644 lazyvim/nvim/LICENSE create mode 100644 lazyvim/nvim/README.md create mode 100644 lazyvim/nvim/init.lua create mode 100644 lazyvim/nvim/lazy-lock.json create mode 100644 lazyvim/nvim/lua/config/autocmds.lua create mode 100644 lazyvim/nvim/lua/config/keymaps.lua create mode 100644 lazyvim/nvim/lua/config/lazy.lua create mode 100644 lazyvim/nvim/lua/config/options.lua create mode 100644 lazyvim/nvim/lua/plugins/gwarf.lua create mode 100644 lazyvim/nvim/stylua.toml diff --git a/lazyvim/README.md b/lazyvim/README.md new file mode 100644 index 00000000..d0639238 --- /dev/null +++ b/lazyvim/README.md @@ -0,0 +1,11 @@ +# LazyVim + +neovim configuration based on [LazyVim/LazyVim](https://github.com/LazyVim/LazyVim). + +```shell +# Backup existing configuration +$ mv ~/.config/nvim ~/.config/nvim.bak +$ mv ~/.local/share/nvim ~/.local/share/nvim.bak +# Link new configuration +$ ln -s ~/code/repos/dotfiles/lazyvim/nvim/ ~/.config/nvim +``` diff --git a/lazyvim/nvim/.neoconf.json b/lazyvim/nvim/.neoconf.json new file mode 100644 index 00000000..aa1b504a --- /dev/null +++ b/lazyvim/nvim/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "sumneko_lua": { + "enabled": true + } + } + } +} diff --git a/lazyvim/nvim/LICENSE b/lazyvim/nvim/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/lazyvim/nvim/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/lazyvim/nvim/README.md b/lazyvim/nvim/README.md new file mode 100644 index 00000000..4a9c00de --- /dev/null +++ b/lazyvim/nvim/README.md @@ -0,0 +1,45 @@ +# LazyVim + +A starter template for [LazyVim](https://github.com/LazyVim/LazyVim) + +## 🚀 Getting Started + +This repo contains an example setup for +[LazyVim](https://github.com/LazyVim/LazyVim) + +### 1. Make a backup of your current Neovim files: + +```sh +mv ~/.config/nvim ~/.config/nvim.bak +mv ~/.local/share/nvim ~/.local/share/nvim.bak +``` + +### 2. Clone the starter + +```sh +git clone https://github.com/LazyVim/starter ~/.config/nvim +``` + +### 3. Start Neovim! + +```sh +nvim +``` + +Refer to the comments in the files on how to customize **LazyVim**. + +## 📂 File Structure + +<pre> +~/.config/nvim +├── lua +│   ├── config +│   │   ├── autocmds.lua +│   │   ├── keymaps.lua +│   │   ├── lazy.lua +│   │   └── options.lua +│   └── plugins +│   └── example.lua +├── init.lua +└── stylua.toml +</pre> diff --git a/lazyvim/nvim/init.lua b/lazyvim/nvim/init.lua new file mode 100644 index 00000000..2514f9ed --- /dev/null +++ b/lazyvim/nvim/init.lua @@ -0,0 +1,2 @@ +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json new file mode 100644 index 00000000..9a6f5ef6 --- /dev/null +++ b/lazyvim/nvim/lazy-lock.json @@ -0,0 +1,51 @@ +{ + "LazyVim": { "branch": "main", "commit": "1efc925d16b57659cbb9af5a1579cb1b9ee9643f" }, + "LuaSnip": { "branch": "master", "commit": "563827f00bb4fe43269e3be653deabc0005f1302" }, + "alpha-nvim": { "branch": "main", "commit": "21a0f2520ad3a7c32c0822f943368dc063a569fb" }, + "catppuccin": { "branch": "main", "commit": "26e498db297607fe17a6206c5a28f0f4cb532954" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "59224771f91b86d1de12570b4070fe4ad7cd1eeb" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "dressing.nvim": { "branch": "master", "commit": "4436d6f41e2f6b8ada57588acd1a9f8b3d21453c" }, + "flit.nvim": { "branch": "main", "commit": "be110f9814a45788d10537fd59b3c76d956bb7ad" }, + "friendly-snippets": { "branch": "main", "commit": "45698b3d193fff404c3c9c30d25dc138a729d64b" }, + "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, + "indent-blankline.nvim": { "branch": "master", "commit": "db7cbcb40cc00fc5d6074d7569fb37197705e7f6" }, + "lazy.nvim": { "branch": "main", "commit": "0d0d5870a3265f1c92a89dccef4a592c44e70179" }, + "leap.nvim": { "branch": "main", "commit": "a968ab4250840dc879e805f918b4f3b892310a12" }, + "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "3751eb5c56c67b51e68a1f4a0da28ae74ab771c1" }, + "mason.nvim": { "branch": "main", "commit": "4d734aee41efce4f1a4be7619ad040b53237042e" }, + "mini.ai": { "branch": "main", "commit": "14a1382372195573c6c7f494ab8bb298b03e6f04" }, + "mini.bufremove": { "branch": "main", "commit": "96c2a7f3e7d079639a0e23d2fc0d4585e5d02dfd" }, + "mini.comment": { "branch": "main", "commit": "e5294cc3e75bafb2369f235d31a98b01a9cc67ad" }, + "mini.indentscope": { "branch": "main", "commit": "59c73c6965f9fa74cd2c1351339a58778e68e589" }, + "mini.pairs": { "branch": "main", "commit": "fec9aba50912d8c3d92d07d6a77952de84f8d7ad" }, + "mini.surround": { "branch": "main", "commit": "df41f1c009afbb3eef39d979977fb14404576f9b" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "8238865e1d9c61f1a260c290653f2c419503e0a9" }, + "neoconf.nvim": { "branch": "main", "commit": "3e3294631ef23599b9fccb87dee2592c73d11c60" }, + "neodev.nvim": { "branch": "main", "commit": "0e3f5e763639951f96f9acbdc9f52a9fedf91b46" }, + "noice.nvim": { "branch": "main", "commit": "ca9bbf091b1b79c67401d9714d96898140aad7ee" }, + "nui.nvim": { "branch": "main", "commit": "257da38029d3859ed111804f9d4e95b0fa993a31" }, + "null-ls.nvim": { "branch": "main", "commit": "915558963709ea17c5aa246ca1c9786bfee6ddb4" }, + "nvim-bufferline.lua": { "branch": "main", "commit": "028a87933d99f8bb88f2f70a4def3ff9574f3594" }, + "nvim-cmp": { "branch": "main", "commit": "983453e32cb35533a119725883c04436d16c0120" }, + "nvim-lspconfig": { "branch": "master", "commit": "2df0fbdadd947cd2995566a0117b8802a9ba74f4" }, + "nvim-navic": { "branch": "master", "commit": "7a2b823152fe4de65ee7925b0e32d26ed73bc57c" }, + "nvim-notify": { "branch": "master", "commit": "b005821516f1f37801a73067afd1cef2dbc4dfe8" }, + "nvim-spectre": { "branch": "master", "commit": "24275beae382e6bd0180b3064cf5729548641a02" }, + "nvim-treesitter": { "branch": "master", "commit": "69388e84c34d40c3d5c7d2f310db13276f2179e1" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "a8c86f48c1030acee22b9e071e3c531de77bf253" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "4a42b30376c1bd625ab5016c2079631d531d797a" }, + "nvim-web-devicons": { "branch": "master", "commit": "6c38926351372ea87034dec26182b62c835ff3bc" }, + "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, + "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, + "telescope.nvim": { "branch": "master", "commit": "1ba7278cf08da8048e7f589ef6b65a39fd3e4dbf" }, + "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, + "tokyonight.nvim": { "branch": "main", "commit": "def91651c41f6d1d43ebcb50763324d35331baee" }, + "trouble.nvim": { "branch": "main", "commit": "83ec606e7065adf134d17f4af6bae510e3c491c1" }, + "vim-illuminate": { "branch": "master", "commit": "da80f3877896adcf77f59fb0bf74e9601615d372" }, + "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, + "which-key.nvim": { "branch": "main", "commit": "16ed12a8493628c377606da2ebac50d80736ed37" } +} \ No newline at end of file diff --git a/lazyvim/nvim/lua/config/autocmds.lua b/lazyvim/nvim/lua/config/autocmds.lua new file mode 100644 index 00000000..27e9e064 --- /dev/null +++ b/lazyvim/nvim/lua/config/autocmds.lua @@ -0,0 +1,3 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here diff --git a/lazyvim/nvim/lua/config/keymaps.lua b/lazyvim/nvim/lua/config/keymaps.lua new file mode 100644 index 00000000..2c134f7b --- /dev/null +++ b/lazyvim/nvim/lua/config/keymaps.lua @@ -0,0 +1,3 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua new file mode 100644 index 00000000..8a3b188e --- /dev/null +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -0,0 +1,40 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + -- bootstrap lazy.nvim + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) +end +vim.opt.rtp:prepend(vim.env.LAZY or lazypath) + +require("lazy").setup({ + spec = { + -- import LazyVim plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import/override with your plugins + { import = "plugins" }, + -- import any extras modules here + -- { import = "lazyvim.plugins.extras.lang.typescript" }, + -- { import = "lazyvim.plugins.extras.lang.json" }, + }, + defaults = { + lazy = true, -- every plugin is lazy-loaded by default + version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax" } }, + checker = { enabled = true }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + "matchit", + "matchparen", + "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua new file mode 100644 index 00000000..3ea1454f --- /dev/null +++ b/lazyvim/nvim/lua/config/options.lua @@ -0,0 +1,3 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua new file mode 100644 index 00000000..3d8562b3 --- /dev/null +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -0,0 +1,258 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- every spec file under config.plugins will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + -- change trouble config + { + "folke/trouble.nvim", + -- opts will be merged with the parent spec + opts = { use_diagnostic_signs = true }, + }, + + -- enable trouble + { "folke/trouble.nvim", enabled = true }, + + -- add symbols-outline + { + "simrat39/symbols-outline.nvim", + cmd = "SymbolsOutline", + keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, + config = true, + }, + + -- override nvim-cmp and add cmp-emoji + { + "hrsh7th/nvim-cmp", + dependencies = { "hrsh7th/cmp-emoji" }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local cmp = require("cmp") + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) + end, + }, + + -- change some telescope options and a keymap to browse plugin files + { + "nvim-telescope/telescope.nvim", + keys = { + -- add a keymap to browse plugin files + -- stylua: ignore + { + "<leader>fp", + function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, + desc = "Find Plugin File", + }, + }, + -- change some options + opts = { + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + winblend = 0, + }, + }, + }, + + -- add telescope-fzf-native + { + "nvim-telescope/telescope.nvim", + dependencies = { { "nvim-telescope/telescope-fzf-native.nvim", build = "make" } }, + -- apply the config and additionally load fzf-native + config = function(_, opts) + local telescope = require("telescope") + telescope.setup(opts) + telescope.load_extension("fzf") + end, + }, + + -- add pyright to lspconfig + { + "neovim/nvim-lspconfig", + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- pyright will be automatically installed with mason and loaded with lspconfig + pyright = {}, + }, + }, + }, + + -- add tsserver and setup with typescript.nvim instead of lspconfig + { + "neovim/nvim-lspconfig", + dependencies = { + "jose-elias-alvarez/typescript.nvim", + init = function() + require("lazyvim.util").on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) + end) + end, + }, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- tsserver will be automatically installed with mason and loaded with lspconfig + tsserver = {}, + }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?> + setup = { + -- example to setup with typescript.nvim + tsserver = function(_, opts) + require("typescript").setup({ server = opts }) + return true + end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + }, + }, + + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + { import = "lazyvim.plugins.extras.lang.typescript" }, + + -- add more treesitter parsers + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "bash", + "help", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + }, + }, + }, + + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above + -- would overwrite `ensure_installed` with the new value. + -- If you'd rather extend the default config, use the code below instead: + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { + -- add tsx and treesitter + ensure_installed = { + "tsx", + "typescript", + }, + }) + end, + }, + + -- the opts function can also be used to change the default opts: + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function(_, opts) + table.insert(opts.sections.lualine_x, "😄") + end, + }, + + -- or you can return new options to override all the defaults + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function() + return { + --[[add your custom lualine config here]] + } + end, + }, + + -- use mini.starter instead of alpha + { import = "lazyvim.plugins.extras.ui.mini-starter" }, + + -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, + + -- add any tools you want to have installed below + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, + + -- Use <tab> for completion and snippets (supertab) + -- first: disable default <tab> and <s-tab> behavior in LuaSnip + { + "L3MON4D3/LuaSnip", + keys = function() + return {} + end, + }, + -- then: setup supertab in cmp + { + "hrsh7th/nvim-cmp", + dependencies = { + "hrsh7th/cmp-emoji", + }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + local luasnip = require("luasnip") + local cmp = require("cmp") + + opts.mapping = vim.tbl_extend("force", opts.mapping, { + ["<Tab>"] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() + -- they way you will only jump inside the snippet region + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + ["<S-Tab>"] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }) + end, + }, +} diff --git a/lazyvim/nvim/stylua.toml b/lazyvim/nvim/stylua.toml new file mode 100644 index 00000000..5d6c50dc --- /dev/null +++ b/lazyvim/nvim/stylua.toml @@ -0,0 +1,3 @@ +indent_type = "Spaces" +indent_width = 2 +column_width = 120 \ No newline at end of file From d15c5a53cc80cbee2556e85c51564c211d61fc38 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 13 Jan 2023 10:12:06 +0100 Subject: [PATCH 0957/2080] Do not install habamax colorscheme --- lazyvim/nvim/lua/config/lazy.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 8a3b188e..e9083661 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -20,7 +20,7 @@ require("lazy").setup({ lazy = true, -- every plugin is lazy-loaded by default version = "*", -- try installing the latest stable version for plugins that support semver }, - install = { colorscheme = { "tokyonight", "habamax" } }, + install = { colorscheme = { "tokyonight" } }, checker = { enabled = true }, -- automatically check for plugin updates performance = { rtp = { From 06ccca93faf7feb8b4c51630171e5f9cfe276371 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 13 Jan 2023 10:12:10 +0100 Subject: [PATCH 0958/2080] Prepare for setting custom options. --- lazyvim/nvim/lua/config/options.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index 3ea1454f..1736daa9 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -1,3 +1,4 @@ -- Options are automatically loaded before lazy.nvim startup -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua -- Add any additional options here +-- local opt = vim.opt From 25de0104e6f11321a6695efe30c03c805ae8ea3a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 13 Jan 2023 17:51:16 +0100 Subject: [PATCH 0959/2080] gwarf.lua: cleanup default conf, add neorg. --- lazyvim/nvim/lua/plugins/gwarf.lua | 177 ++++++++--------------------- 1 file changed, 45 insertions(+), 132 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 3d8562b3..913efdc8 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -1,7 +1,4 @@ --- since this is just an example spec, don't actually load anything here and return an empty spec --- stylua: ignore -if true then return {} end - +-- Example: https://github.com/folke/dot/tree/master/config/nvim -- every spec file under config.plugins will be loaded automatically by lazy.nvim -- -- In your plugin files, you can: @@ -9,24 +6,6 @@ if true then return {} end -- * disable/enabled LazyVim plugins -- * override the configuration of LazyVim plugins return { - -- change trouble config - { - "folke/trouble.nvim", - -- opts will be merged with the parent spec - opts = { use_diagnostic_signs = true }, - }, - - -- enable trouble - { "folke/trouble.nvim", enabled = true }, - - -- add symbols-outline - { - "simrat39/symbols-outline.nvim", - cmd = "SymbolsOutline", - keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, - config = true, - }, - -- override nvim-cmp and add cmp-emoji { "hrsh7th/nvim-cmp", @@ -86,123 +65,26 @@ return { }, }, - -- add tsserver and setup with typescript.nvim instead of lspconfig - { - "neovim/nvim-lspconfig", - dependencies = { - "jose-elias-alvarez/typescript.nvim", - init = function() - require("lazyvim.util").on_attach(function(_, buffer) - -- stylua: ignore - vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) - vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) - end) - end, - }, - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- tsserver will be automatically installed with mason and loaded with lspconfig - tsserver = {}, - }, - -- you can do any additional lsp server setup here - -- return true if you don't want this server to be setup with lspconfig - ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?> - setup = { - -- example to setup with typescript.nvim - tsserver = function(_, opts) - require("typescript").setup({ server = opts }) - return true - end, - -- Specify * to use this function as a fallback for any server - -- ["*"] = function(server, opts) end, - }, - }, - }, - -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, - -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + -- treesitter, mason and typescript.nvim. { import = "lazyvim.plugins.extras.lang.typescript" }, - -- add more treesitter parsers - { - "nvim-treesitter/nvim-treesitter", - opts = { - ensure_installed = { - "bash", - "help", - "html", - "javascript", - "json", - "lua", - "markdown", - "markdown_inline", - "python", - "query", - "regex", - "tsx", - "typescript", - "vim", - "yaml", - }, - }, - }, - - -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above - -- would overwrite `ensure_installed` with the new value. - -- If you'd rather extend the default config, use the code below instead: - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - vim.list_extend(opts.ensure_installed, { - -- add tsx and treesitter - ensure_installed = { - "tsx", - "typescript", - }, - }) - end, - }, - - -- the opts function can also be used to change the default opts: - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function(_, opts) - table.insert(opts.sections.lualine_x, "😄") - end, - }, - - -- or you can return new options to override all the defaults - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function() - return { - --[[add your custom lualine config here]] - } - end, - }, - - -- use mini.starter instead of alpha - { import = "lazyvim.plugins.extras.ui.mini-starter" }, - -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc { import = "lazyvim.plugins.extras.lang.json" }, + -- XXX tools are managed via nix -- add any tools you want to have installed below - { - "williamboman/mason.nvim", - opts = { - ensure_installed = { - "stylua", - "shellcheck", - "shfmt", - "flake8", - }, - }, - }, + -- { + -- "williamboman/mason.nvim", + -- opts = { + -- ensure_installed = { + -- "stylua", + -- "shellcheck", + -- "shfmt", + -- "flake8", + -- }, + -- }, + -- }, -- Use <tab> for completion and snippets (supertab) -- first: disable default <tab> and <s-tab> behavior in LuaSnip @@ -255,4 +137,35 @@ return { }) end, }, + + -- org-mode like + -- https://github.com/nvim-neorg/neorg + { + "nvim-neorg/neorg", + -- lazy-load on filetype + ft = "norg", + -- after = "nvim-treesitter", -- You may want to specify Telescope here as well + -- run = ":Neorg sync-parsers", + config = function() + require("neorg").setup({ + load = { + -- Load everything + ["core.defaults"] = {}, + ["core.norg.concealer"] = {}, + ["core.norg.completion"] = { + config = { engine = "nvim-cmp" }, + }, + ["core.integrations.nvim-cmp"] = {}, + ["core.norg.dirman"] = { + config = { + workspaces = { + work = "~/Documents/notes/work", + home = "~/Documents/notes/home", + }, + }, + }, + }, + }) + end, + }, } From 4ba999034432cf53b4fd9ce92dc8a9b51a6eef20 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 13 Jan 2023 17:51:51 +0100 Subject: [PATCH 0960/2080] Bump LazyVim plugins --- lazyvim/nvim/lazy-lock.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 9a6f5ef6..df8092d8 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,11 @@ { "LazyVim": { "branch": "main", "commit": "1efc925d16b57659cbb9af5a1579cb1b9ee9643f" }, "LuaSnip": { "branch": "master", "commit": "563827f00bb4fe43269e3be653deabc0005f1302" }, + "SchemaStore.nvim": { "branch": "main", "commit": "82b039aa402c9d138c3c4c16b1465c8a3be66117" }, "alpha-nvim": { "branch": "main", "commit": "21a0f2520ad3a7c32c0822f943368dc063a569fb" }, "catppuccin": { "branch": "main", "commit": "26e498db297607fe17a6206c5a28f0f4cb532954" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "59224771f91b86d1de12570b4070fe4ad7cd1eeb" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, @@ -12,7 +14,7 @@ "friendly-snippets": { "branch": "main", "commit": "45698b3d193fff404c3c9c30d25dc138a729d64b" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "indent-blankline.nvim": { "branch": "master", "commit": "db7cbcb40cc00fc5d6074d7569fb37197705e7f6" }, - "lazy.nvim": { "branch": "main", "commit": "0d0d5870a3265f1c92a89dccef4a592c44e70179" }, + "lazy.nvim": { "branch": "main", "commit": "666ed7bf73eb5895253c1155bd29270b066cbdac" }, "leap.nvim": { "branch": "main", "commit": "a968ab4250840dc879e805f918b4f3b892310a12" }, "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "3751eb5c56c67b51e68a1f4a0da28ae74ab771c1" }, @@ -26,6 +28,7 @@ "neo-tree.nvim": { "branch": "v2.x", "commit": "8238865e1d9c61f1a260c290653f2c419503e0a9" }, "neoconf.nvim": { "branch": "main", "commit": "3e3294631ef23599b9fccb87dee2592c73d11c60" }, "neodev.nvim": { "branch": "main", "commit": "0e3f5e763639951f96f9acbdc9f52a9fedf91b46" }, + "neorg": { "branch": "main", "commit": "4ad79529477fd8b84fec75485e705eab2d3ca34a" }, "noice.nvim": { "branch": "main", "commit": "ca9bbf091b1b79c67401d9714d96898140aad7ee" }, "nui.nvim": { "branch": "main", "commit": "257da38029d3859ed111804f9d4e95b0fa993a31" }, "null-ls.nvim": { "branch": "main", "commit": "915558963709ea17c5aa246ca1c9786bfee6ddb4" }, @@ -41,10 +44,12 @@ "nvim-web-devicons": { "branch": "master", "commit": "6c38926351372ea87034dec26182b62c835ff3bc" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "fab3e2212e206f4f8b3bbaa656e129443c9b802e" }, "telescope.nvim": { "branch": "master", "commit": "1ba7278cf08da8048e7f589ef6b65a39fd3e4dbf" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "def91651c41f6d1d43ebcb50763324d35331baee" }, "trouble.nvim": { "branch": "main", "commit": "83ec606e7065adf134d17f4af6bae510e3c491c1" }, + "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "da80f3877896adcf77f59fb0bf74e9601615d372" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, "which-key.nvim": { "branch": "main", "commit": "16ed12a8493628c377606da2ebac50d80736ed37" } From aed75151f6143dd592dd85dcdfa467d4c3850251 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 12 Jan 2023 19:59:30 +0100 Subject: [PATCH 0961/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/54644f409ab471e87014bb305eac8c50190bcf48' (2023-01-10) → 'github:NixOS/nixpkgs/9c8bff77b5d51380f5da349d0a6fc515da6244b0' (2023-01-11) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/09b46f2c1d8a9bd274cf324fa73691335e2d3087' (2023-01-10) → 'github:nixos/nixpkgs/8547ffbfd182b323bfd523f11bbd356e9718521a' (2023-01-12) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/aa1d74709f5dac623adb4d48fdfb27cc2c92a4d4' (2023-01-09) → 'github:nixos/nixpkgs/6c8644fc37b6e141cbfa6c7dc8d98846c4ff0c2e' (2023-01-11) • Updated input 'nur': 'github:nix-community/NUR/a77112aa2598b741261a2af1383ac372e6f9c104' (2023-01-11) → 'github:nix-community/NUR/619e73b02a9a539a2449e5384c6d4c5863f3c5aa' (2023-01-12) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 022a2e57..80c0b3d7 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1673345971, - "narHash": "sha256-4DfFcKLRfVUTyuGrGNNmw37IeIZSoku9tgTVmu/iD98=", + "lastModified": 1673439286, + "narHash": "sha256-CHlGzPceL90wBLD7wt8ZGvulHtf5ZfbXfR37DR10eRs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "54644f409ab471e87014bb305eac8c50190bcf48", + "rev": "9c8bff77b5d51380f5da349d0a6fc515da6244b0", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1673354416, - "narHash": "sha256-9W2JjncAM8Zj/09UgyPsIOIqzSKLzjBwDxUuRNfNMYM=", + "lastModified": 1673493429, + "narHash": "sha256-VXxm2j2aXp24WaGp0tA2exHca2z3HwhSnHJq3yMz1wI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "09b46f2c1d8a9bd274cf324fa73691335e2d3087", + "rev": "8547ffbfd182b323bfd523f11bbd356e9718521a", "type": "github" }, "original": { @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1673226411, - "narHash": "sha256-b6cGb5Ln7Zy80YO66+cbTyGdjZKtkoqB/iIIhDX9gRA=", + "lastModified": 1673450908, + "narHash": "sha256-b8em+kwrNtnB7gR8SyVf6WuTyQ+6tHS6dzt9D9wgKF0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "aa1d74709f5dac623adb4d48fdfb27cc2c92a4d4", + "rev": "6c8644fc37b6e141cbfa6c7dc8d98846c4ff0c2e", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1673426865, - "narHash": "sha256-zNoCWLOqq2X9d188BlIDG46KcTkQ8AGaY9g4yozl2Zs=", + "lastModified": 1673500866, + "narHash": "sha256-MrzvPUnCqtt6G43DcBDU0O+cnB0lhH9btZIIZnjYAJ8=", "owner": "nix-community", "repo": "NUR", - "rev": "a77112aa2598b741261a2af1383ac372e6f9c104", + "rev": "619e73b02a9a539a2449e5384c6d4c5863f3c5aa", "type": "github" }, "original": { From 742d9114d0af0a6a2ed88ab50edffe50460b62e5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 13 Jan 2023 19:52:50 +0100 Subject: [PATCH 0962/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9c8bff77b5d51380f5da349d0a6fc515da6244b0' (2023-01-11) → 'github:NixOS/nixpkgs/6a3f9996408c970b99b8b992b11bb249d1455b62' (2023-01-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/8547ffbfd182b323bfd523f11bbd356e9718521a' (2023-01-12) → 'github:nixos/nixpkgs/f82c4ab6f4ad02458ce07f847936dc08d39fb00c' (2023-01-12) • Updated input 'nur': 'github:nix-community/NUR/619e73b02a9a539a2449e5384c6d4c5863f3c5aa' (2023-01-12) → 'github:nix-community/NUR/0a92f475f1c0625b6fcbe8b4cd4c3de104dabfcc' (2023-01-13) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 80c0b3d7..5065dd37 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1673439286, - "narHash": "sha256-CHlGzPceL90wBLD7wt8ZGvulHtf5ZfbXfR37DR10eRs=", + "lastModified": 1673527292, + "narHash": "sha256-903EpRSDCfUvic7Hsiqwy+h7zlMTLAUbCXkEGGriCfM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9c8bff77b5d51380f5da349d0a6fc515da6244b0", + "rev": "6a3f9996408c970b99b8b992b11bb249d1455b62", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1673493429, - "narHash": "sha256-VXxm2j2aXp24WaGp0tA2exHca2z3HwhSnHJq3yMz1wI=", + "lastModified": 1673562713, + "narHash": "sha256-RkqiNfJhZ3odZujQiDTr2h9NmrLR2wlmWtVWl72MCDk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8547ffbfd182b323bfd523f11bbd356e9718521a", + "rev": "f82c4ab6f4ad02458ce07f847936dc08d39fb00c", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1673500866, - "narHash": "sha256-MrzvPUnCqtt6G43DcBDU0O+cnB0lhH9btZIIZnjYAJ8=", + "lastModified": 1673620618, + "narHash": "sha256-K9QZ7b7lqYBUujxHKnpG3qP9vVpA0glU6MRnvigy3Eg=", "owner": "nix-community", "repo": "NUR", - "rev": "619e73b02a9a539a2449e5384c6d4c5863f3c5aa", + "rev": "0a92f475f1c0625b6fcbe8b4cd4c3de104dabfcc", "type": "github" }, "original": { From b9b00f1558697f9bb2f3405671e487a988ee8333 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 16 Jan 2023 10:06:44 +0100 Subject: [PATCH 0963/2080] nvim: customize indentation, add mappings for command mode. --- lazyvim/nvim/lazy-lock.json | 19 ++++++++++--------- lazyvim/nvim/lua/config/keymaps.lua | 5 +++++ lazyvim/nvim/lua/config/options.lua | 13 ++++++++++++- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index df8092d8..b8a70478 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,5 +1,5 @@ { - "LazyVim": { "branch": "main", "commit": "1efc925d16b57659cbb9af5a1579cb1b9ee9643f" }, + "LazyVim": { "branch": "main", "commit": "30b7215de80a215c9bc72640505ea76431ff515c" }, "LuaSnip": { "branch": "master", "commit": "563827f00bb4fe43269e3be653deabc0005f1302" }, "SchemaStore.nvim": { "branch": "main", "commit": "82b039aa402c9d138c3c4c16b1465c8a3be66117" }, "alpha-nvim": { "branch": "main", "commit": "21a0f2520ad3a7c32c0822f943368dc063a569fb" }, @@ -11,14 +11,14 @@ "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dressing.nvim": { "branch": "master", "commit": "4436d6f41e2f6b8ada57588acd1a9f8b3d21453c" }, "flit.nvim": { "branch": "main", "commit": "be110f9814a45788d10537fd59b3c76d956bb7ad" }, - "friendly-snippets": { "branch": "main", "commit": "45698b3d193fff404c3c9c30d25dc138a729d64b" }, + "friendly-snippets": { "branch": "main", "commit": "7ab483b355613ef4f74189c7789278d765724d12" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "indent-blankline.nvim": { "branch": "master", "commit": "db7cbcb40cc00fc5d6074d7569fb37197705e7f6" }, - "lazy.nvim": { "branch": "main", "commit": "666ed7bf73eb5895253c1155bd29270b066cbdac" }, + "lazy.nvim": { "branch": "main", "commit": "984008f7ae17c1a8009d9e2f6dc007e13b90a744" }, "leap.nvim": { "branch": "main", "commit": "a968ab4250840dc879e805f918b4f3b892310a12" }, "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "3751eb5c56c67b51e68a1f4a0da28ae74ab771c1" }, - "mason.nvim": { "branch": "main", "commit": "4d734aee41efce4f1a4be7619ad040b53237042e" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "43c7f402cb9822b61b5dc05bf0b385928df256a6" }, + "mason.nvim": { "branch": "main", "commit": "4438ecc0acfae1dcfa36bbfd90196a125fdff441" }, "mini.ai": { "branch": "main", "commit": "14a1382372195573c6c7f494ab8bb298b03e6f04" }, "mini.bufremove": { "branch": "main", "commit": "96c2a7f3e7d079639a0e23d2fc0d4585e5d02dfd" }, "mini.comment": { "branch": "main", "commit": "e5294cc3e75bafb2369f235d31a98b01a9cc67ad" }, @@ -29,8 +29,8 @@ "neoconf.nvim": { "branch": "main", "commit": "3e3294631ef23599b9fccb87dee2592c73d11c60" }, "neodev.nvim": { "branch": "main", "commit": "0e3f5e763639951f96f9acbdc9f52a9fedf91b46" }, "neorg": { "branch": "main", "commit": "4ad79529477fd8b84fec75485e705eab2d3ca34a" }, - "noice.nvim": { "branch": "main", "commit": "ca9bbf091b1b79c67401d9714d96898140aad7ee" }, - "nui.nvim": { "branch": "main", "commit": "257da38029d3859ed111804f9d4e95b0fa993a31" }, + "noice.nvim": { "branch": "main", "commit": "e8f0cdc08bd4e637fa8c9da2a454622c5b55beae" }, + "nui.nvim": { "branch": "main", "commit": "b99e6cb13dc51768abc1c4c8585045a0c0459ef1" }, "null-ls.nvim": { "branch": "main", "commit": "915558963709ea17c5aa246ca1c9786bfee6ddb4" }, "nvim-bufferline.lua": { "branch": "main", "commit": "028a87933d99f8bb88f2f70a4def3ff9574f3594" }, "nvim-cmp": { "branch": "main", "commit": "983453e32cb35533a119725883c04436d16c0120" }, @@ -40,17 +40,18 @@ "nvim-spectre": { "branch": "master", "commit": "24275beae382e6bd0180b3064cf5729548641a02" }, "nvim-treesitter": { "branch": "master", "commit": "69388e84c34d40c3d5c7d2f310db13276f2179e1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "a8c86f48c1030acee22b9e071e3c531de77bf253" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "4a42b30376c1bd625ab5016c2079631d531d797a" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, "nvim-web-devicons": { "branch": "master", "commit": "6c38926351372ea87034dec26182b62c835ff3bc" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "fab3e2212e206f4f8b3bbaa656e129443c9b802e" }, - "telescope.nvim": { "branch": "master", "commit": "1ba7278cf08da8048e7f589ef6b65a39fd3e4dbf" }, + "telescope.nvim": { "branch": "master", "commit": "b69b33eded07341253bc1f0b4ae6bbc5c411a2ab" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "def91651c41f6d1d43ebcb50763324d35331baee" }, "trouble.nvim": { "branch": "main", "commit": "83ec606e7065adf134d17f4af6bae510e3c491c1" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "da80f3877896adcf77f59fb0bf74e9601615d372" }, + "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, "which-key.nvim": { "branch": "main", "commit": "16ed12a8493628c377606da2ebac50d80736ed37" } } \ No newline at end of file diff --git a/lazyvim/nvim/lua/config/keymaps.lua b/lazyvim/nvim/lua/config/keymaps.lua index 2c134f7b..80168b6b 100644 --- a/lazyvim/nvim/lua/config/keymaps.lua +++ b/lazyvim/nvim/lua/config/keymaps.lua @@ -1,3 +1,8 @@ -- Keymaps are automatically loaded on the VeryLazy event -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua -- Add any additional keymaps here +local keymap = vim.keymap + +-- Go to beginning and end of of command in command-line mode +keymap.set("c", "<C-A>", "<HOME>") +keymap.set("c", "<C-E>", "<END>") diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index 1736daa9..a2256c12 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -1,4 +1,15 @@ -- Options are automatically loaded before lazy.nvim startup -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua -- Add any additional options here --- local opt = vim.opt +local opt = vim.opt + +-- Default indentation: 2 spaces +opt.softtabstop = 2 +-- XXX breaking indentation of new comments +-- https://unix.stackexchange.com/a/543571 +opt.smartindent = false +opt.autoindent = false +-- Indent wrapped lines to match line start +opt.breakindent = true +-- Fix indentation of new comments +opt.cinkeys:remove({ "0#" }) From f6a2eb66323acb1684e42c5922248dc808e2c7b3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 16 Jan 2023 10:13:50 +0100 Subject: [PATCH 0964/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/6a3f9996408c970b99b8b992b11bb249d1455b62' (2023-01-12) → 'github:NixOS/nixpkgs/a83ed85c14fcf242653df6f4b0974b7e1c73c6c6' (2023-01-14) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/f82c4ab6f4ad02458ce07f847936dc08d39fb00c' (2023-01-12) → 'github:nixos/nixpkgs/a83ed85c14fcf242653df6f4b0974b7e1c73c6c6' (2023-01-14) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/6c8644fc37b6e141cbfa6c7dc8d98846c4ff0c2e' (2023-01-11) → 'github:nixos/nixpkgs/befc83905c965adfd33e5cae49acb0351f6e0404' (2023-01-13) • Updated input 'nur': 'github:nix-community/NUR/0a92f475f1c0625b6fcbe8b4cd4c3de104dabfcc' (2023-01-13) → 'github:nix-community/NUR/4a9bc77b7d0866e7e6312f9e8b87bcb15ff7576a' (2023-01-16) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 5065dd37..a024616a 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1673527292, - "narHash": "sha256-903EpRSDCfUvic7Hsiqwy+h7zlMTLAUbCXkEGGriCfM=", + "lastModified": 1673704454, + "narHash": "sha256-5Wdj1MgdOgn3+dMFIBtg+IAYZApjF8JzwLWDPieg0C4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6a3f9996408c970b99b8b992b11bb249d1455b62", + "rev": "a83ed85c14fcf242653df6f4b0974b7e1c73c6c6", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1673562713, - "narHash": "sha256-RkqiNfJhZ3odZujQiDTr2h9NmrLR2wlmWtVWl72MCDk=", + "lastModified": 1673704454, + "narHash": "sha256-5Wdj1MgdOgn3+dMFIBtg+IAYZApjF8JzwLWDPieg0C4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f82c4ab6f4ad02458ce07f847936dc08d39fb00c", + "rev": "a83ed85c14fcf242653df6f4b0974b7e1c73c6c6", "type": "github" }, "original": { @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1673450908, - "narHash": "sha256-b8em+kwrNtnB7gR8SyVf6WuTyQ+6tHS6dzt9D9wgKF0=", + "lastModified": 1673631141, + "narHash": "sha256-AprpYQ5JvLS4wQG/ghm2UriZ9QZXvAwh1HlgA/6ZEVQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6c8644fc37b6e141cbfa6c7dc8d98846c4ff0c2e", + "rev": "befc83905c965adfd33e5cae49acb0351f6e0404", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1673620618, - "narHash": "sha256-K9QZ7b7lqYBUujxHKnpG3qP9vVpA0glU6MRnvigy3Eg=", + "lastModified": 1673858859, + "narHash": "sha256-NYGSRzk5KY79igJisr1j++ApdE3StAj6p06buHFe2qY=", "owner": "nix-community", "repo": "NUR", - "rev": "0a92f475f1c0625b6fcbe8b4cd4c3de104dabfcc", + "rev": "4a9bc77b7d0866e7e6312f9e8b87bcb15ff7576a", "type": "github" }, "original": { From 6c0d7b07f64d6abf0809ba4d4a3865d4ee86f423 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 16 Jan 2023 14:32:08 +0100 Subject: [PATCH 0965/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a83ed85c14fcf242653df6f4b0974b7e1c73c6c6' (2023-01-14) → 'github:NixOS/nixpkgs/2f9fd351ec37f5d479556cd48be4ca340da59b8f' (2023-01-15) • Updated input 'nur': 'github:nix-community/NUR/4a9bc77b7d0866e7e6312f9e8b87bcb15ff7576a' (2023-01-16) → 'github:nix-community/NUR/8cd0467d8f5399d83e0bfd381dafd1cd124c9545' (2023-01-16) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index a024616a..bc692024 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1673704454, - "narHash": "sha256-5Wdj1MgdOgn3+dMFIBtg+IAYZApjF8JzwLWDPieg0C4=", + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a83ed85c14fcf242653df6f4b0974b7e1c73c6c6", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1673858859, - "narHash": "sha256-NYGSRzk5KY79igJisr1j++ApdE3StAj6p06buHFe2qY=", + "lastModified": 1673874395, + "narHash": "sha256-bIMqmL3iUt4EyoqsYAipDB6Xa5Pqvu9cwGIF5XgpVq4=", "owner": "nix-community", "repo": "NUR", - "rev": "4a9bc77b7d0866e7e6312f9e8b87bcb15ff7576a", + "rev": "8cd0467d8f5399d83e0bfd381dafd1cd124c9545", "type": "github" }, "original": { From 080ec3735cf38686d8403f946f0cb9edce5f4a3b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 17 Jan 2023 09:31:06 +0100 Subject: [PATCH 0966/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/befc83905c965adfd33e5cae49acb0351f6e0404' (2023-01-13) → 'github:nixos/nixpkgs/6dccdc458512abce8d19f74195bb20fdb067df50' (2023-01-15) • Updated input 'nur': 'github:nix-community/NUR/8cd0467d8f5399d83e0bfd381dafd1cd124c9545' (2023-01-16) → 'github:nix-community/NUR/7e9a5b42d68ca84a91e082ad325318e01456d2b5' (2023-01-17) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index bc692024..8a80f4ed 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1673631141, - "narHash": "sha256-AprpYQ5JvLS4wQG/ghm2UriZ9QZXvAwh1HlgA/6ZEVQ=", + "lastModified": 1673796341, + "narHash": "sha256-1kZi9OkukpNmOaPY7S5/+SlCDOuYnP3HkXHvNDyLQcc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "befc83905c965adfd33e5cae49acb0351f6e0404", + "rev": "6dccdc458512abce8d19f74195bb20fdb067df50", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1673874395, - "narHash": "sha256-bIMqmL3iUt4EyoqsYAipDB6Xa5Pqvu9cwGIF5XgpVq4=", + "lastModified": 1673935396, + "narHash": "sha256-AkimCjK8quWnfMTmSKORp2tCs1dAifJD1BEn3bYnS/w=", "owner": "nix-community", "repo": "NUR", - "rev": "8cd0467d8f5399d83e0bfd381dafd1cd124c9545", + "rev": "7e9a5b42d68ca84a91e082ad325318e01456d2b5", "type": "github" }, "original": { From ad000a994136739772ccc90d7c303733846bd4f9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 23 Jan 2023 09:44:25 +0100 Subject: [PATCH 0967/2080] Ignore spell files --- lazyvim/nvim/.gitignore | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lazyvim/nvim/.gitignore diff --git a/lazyvim/nvim/.gitignore b/lazyvim/nvim/.gitignore new file mode 100644 index 00000000..062ea2c4 --- /dev/null +++ b/lazyvim/nvim/.gitignore @@ -0,0 +1,10 @@ +tt.* +.tests +doc/tags +debug +.repro +foo.* +*.log +data +spell/en.utf-8.add.spl +spell/en.utf-8.add From 9ae1de0280a22317c3716b3bac74db255c960300 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 23 Jan 2023 09:44:52 +0100 Subject: [PATCH 0968/2080] lazyvim: set some options --- lazyvim/nvim/lua/config/options.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index a2256c12..3003e27e 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -13,3 +13,12 @@ opt.autoindent = false opt.breakindent = true -- Fix indentation of new comments opt.cinkeys:remove({ "0#" }) + +-- Wrap long lines +opt.wrap = true + +-- Set max line length +opt.textwidth = 90 + +-- Display column to show light length +opt.colorcolumn = "80" From 0d3c2bbfffc158597e91d2f71c6925e1166a1c93 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 23 Jan 2023 09:45:05 +0100 Subject: [PATCH 0969/2080] lazyvim: bump lock file --- lazyvim/nvim/lazy-lock.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index b8a70478..d7a83e14 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "30b7215de80a215c9bc72640505ea76431ff515c" }, + "LazyVim": { "branch": "main", "commit": "dc45a2813b98319886da03835a05cc287ea88cf6" }, "LuaSnip": { "branch": "master", "commit": "563827f00bb4fe43269e3be653deabc0005f1302" }, - "SchemaStore.nvim": { "branch": "main", "commit": "82b039aa402c9d138c3c4c16b1465c8a3be66117" }, + "SchemaStore.nvim": { "branch": "main", "commit": "8ec6e1b030d933cba9a207a78c2f24333641fb2c" }, "alpha-nvim": { "branch": "main", "commit": "21a0f2520ad3a7c32c0822f943368dc063a569fb" }, - "catppuccin": { "branch": "main", "commit": "26e498db297607fe17a6206c5a28f0f4cb532954" }, + "catppuccin": { "branch": "main", "commit": "e1fc2c3ade0d8872665d7570c493bbd5e11919c7" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "59224771f91b86d1de12570b4070fe4ad7cd1eeb" }, @@ -11,14 +11,14 @@ "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dressing.nvim": { "branch": "master", "commit": "4436d6f41e2f6b8ada57588acd1a9f8b3d21453c" }, "flit.nvim": { "branch": "main", "commit": "be110f9814a45788d10537fd59b3c76d956bb7ad" }, - "friendly-snippets": { "branch": "main", "commit": "7ab483b355613ef4f74189c7789278d765724d12" }, + "friendly-snippets": { "branch": "main", "commit": "046e4d3491baf664e0eef5231d28beb49333578b" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "indent-blankline.nvim": { "branch": "master", "commit": "db7cbcb40cc00fc5d6074d7569fb37197705e7f6" }, - "lazy.nvim": { "branch": "main", "commit": "984008f7ae17c1a8009d9e2f6dc007e13b90a744" }, - "leap.nvim": { "branch": "main", "commit": "a968ab4250840dc879e805f918b4f3b892310a12" }, + "lazy.nvim": { "branch": "main", "commit": "96d759d1cbd8b0bd0ea0a0c2987f99410272f348" }, + "leap.nvim": { "branch": "main", "commit": "ff4c3663e5a0a0ecbb3fffbc8318825def35d2aa" }, "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "43c7f402cb9822b61b5dc05bf0b385928df256a6" }, - "mason.nvim": { "branch": "main", "commit": "4438ecc0acfae1dcfa36bbfd90196a125fdff441" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "5b388c0de30f1605671ebfb9a20a620cda50ffce" }, + "mason.nvim": { "branch": "main", "commit": "41d6a88c9d08380f7e1e33d8471ffe36c0900347" }, "mini.ai": { "branch": "main", "commit": "14a1382372195573c6c7f494ab8bb298b03e6f04" }, "mini.bufremove": { "branch": "main", "commit": "96c2a7f3e7d079639a0e23d2fc0d4585e5d02dfd" }, "mini.comment": { "branch": "main", "commit": "e5294cc3e75bafb2369f235d31a98b01a9cc67ad" }, @@ -27,25 +27,25 @@ "mini.surround": { "branch": "main", "commit": "df41f1c009afbb3eef39d979977fb14404576f9b" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "8238865e1d9c61f1a260c290653f2c419503e0a9" }, "neoconf.nvim": { "branch": "main", "commit": "3e3294631ef23599b9fccb87dee2592c73d11c60" }, - "neodev.nvim": { "branch": "main", "commit": "0e3f5e763639951f96f9acbdc9f52a9fedf91b46" }, + "neodev.nvim": { "branch": "main", "commit": "b836d7f573d9612e8f5c3c1eea7acbe8929ff968" }, "neorg": { "branch": "main", "commit": "4ad79529477fd8b84fec75485e705eab2d3ca34a" }, "noice.nvim": { "branch": "main", "commit": "e8f0cdc08bd4e637fa8c9da2a454622c5b55beae" }, "nui.nvim": { "branch": "main", "commit": "b99e6cb13dc51768abc1c4c8585045a0c0459ef1" }, - "null-ls.nvim": { "branch": "main", "commit": "915558963709ea17c5aa246ca1c9786bfee6ddb4" }, + "null-ls.nvim": { "branch": "main", "commit": "33cfeb7a761f08e8535dca722d4b237cabadd371" }, "nvim-bufferline.lua": { "branch": "main", "commit": "028a87933d99f8bb88f2f70a4def3ff9574f3594" }, - "nvim-cmp": { "branch": "main", "commit": "983453e32cb35533a119725883c04436d16c0120" }, + "nvim-cmp": { "branch": "main", "commit": "11a95792a5be0f5a40bab5fc5b670e5b1399a939" }, "nvim-lspconfig": { "branch": "master", "commit": "2df0fbdadd947cd2995566a0117b8802a9ba74f4" }, "nvim-navic": { "branch": "master", "commit": "7a2b823152fe4de65ee7925b0e32d26ed73bc57c" }, - "nvim-notify": { "branch": "master", "commit": "b005821516f1f37801a73067afd1cef2dbc4dfe8" }, + "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-spectre": { "branch": "master", "commit": "24275beae382e6bd0180b3064cf5729548641a02" }, - "nvim-treesitter": { "branch": "master", "commit": "69388e84c34d40c3d5c7d2f310db13276f2179e1" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "a8c86f48c1030acee22b9e071e3c531de77bf253" }, + "nvim-treesitter": { "branch": "master", "commit": "c9615952e71397cec4cf89a9a0db0fb9c491a5e1" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "2fb97bd6c53d78517d2022a0b84422c18ce5686e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, "nvim-web-devicons": { "branch": "master", "commit": "6c38926351372ea87034dec26182b62c835ff3bc" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "fab3e2212e206f4f8b3bbaa656e129443c9b802e" }, - "telescope.nvim": { "branch": "master", "commit": "b69b33eded07341253bc1f0b4ae6bbc5c411a2ab" }, + "telescope.nvim": { "branch": "master", "commit": "2f32775405f6706348b71d0bb8a15a22852a61e4" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "def91651c41f6d1d43ebcb50763324d35331baee" }, "trouble.nvim": { "branch": "main", "commit": "83ec606e7065adf134d17f4af6bae510e3c491c1" }, From 1c379aaee344d82cd16a1a93d874194f430fa247 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 27 Jan 2023 09:30:14 +0100 Subject: [PATCH 0970/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index d7a83e14..248e8626 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,8 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "dc45a2813b98319886da03835a05cc287ea88cf6" }, - "LuaSnip": { "branch": "master", "commit": "563827f00bb4fe43269e3be653deabc0005f1302" }, - "SchemaStore.nvim": { "branch": "main", "commit": "8ec6e1b030d933cba9a207a78c2f24333641fb2c" }, + "LazyVim": { "branch": "main", "commit": "9b35481e0c02667a0b1f12eae1da1a89015a9486" }, + "LuaSnip": { "branch": "master", "commit": "60bb423229c5a3df6e3c1acda9c7b4e70d589d78" }, + "SchemaStore.nvim": { "branch": "main", "commit": "e942fac8de03539dc07ea96e70a8ec262dccadda" }, "alpha-nvim": { "branch": "main", "commit": "21a0f2520ad3a7c32c0822f943368dc063a569fb" }, + "bufferline.nvim": { "branch": "main", "commit": "028a87933d99f8bb88f2f70a4def3ff9574f3594" }, "catppuccin": { "branch": "main", "commit": "e1fc2c3ade0d8872665d7570c493bbd5e11919c7" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -11,46 +12,45 @@ "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dressing.nvim": { "branch": "master", "commit": "4436d6f41e2f6b8ada57588acd1a9f8b3d21453c" }, "flit.nvim": { "branch": "main", "commit": "be110f9814a45788d10537fd59b3c76d956bb7ad" }, - "friendly-snippets": { "branch": "main", "commit": "046e4d3491baf664e0eef5231d28beb49333578b" }, + "friendly-snippets": { "branch": "main", "commit": "a6f7a1609addb4e57daa6bedc300f77f8d225ab7" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, - "indent-blankline.nvim": { "branch": "master", "commit": "db7cbcb40cc00fc5d6074d7569fb37197705e7f6" }, - "lazy.nvim": { "branch": "main", "commit": "96d759d1cbd8b0bd0ea0a0c2987f99410272f348" }, + "indent-blankline.nvim": { "branch": "master", "commit": "8299fe7703dfff4b1752aeed271c3b95281a952d" }, + "lazy.nvim": { "branch": "main", "commit": "9b208696e139a404d159963b975a5b90af38439b" }, "leap.nvim": { "branch": "main", "commit": "ff4c3663e5a0a0ecbb3fffbc8318825def35d2aa" }, "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "5b388c0de30f1605671ebfb9a20a620cda50ffce" }, - "mason.nvim": { "branch": "main", "commit": "41d6a88c9d08380f7e1e33d8471ffe36c0900347" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "422b9745143150e16cd3fe331c74f6737de75e72" }, + "mason.nvim": { "branch": "main", "commit": "621730a9911ff7544e6aab5570748c342ba8b1f7" }, "mini.ai": { "branch": "main", "commit": "14a1382372195573c6c7f494ab8bb298b03e6f04" }, "mini.bufremove": { "branch": "main", "commit": "96c2a7f3e7d079639a0e23d2fc0d4585e5d02dfd" }, "mini.comment": { "branch": "main", "commit": "e5294cc3e75bafb2369f235d31a98b01a9cc67ad" }, - "mini.indentscope": { "branch": "main", "commit": "59c73c6965f9fa74cd2c1351339a58778e68e589" }, + "mini.indentscope": { "branch": "main", "commit": "3a517f11aa9d1434c4cdba1a807df4e5ca42d3ea" }, "mini.pairs": { "branch": "main", "commit": "fec9aba50912d8c3d92d07d6a77952de84f8d7ad" }, "mini.surround": { "branch": "main", "commit": "df41f1c009afbb3eef39d979977fb14404576f9b" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "8238865e1d9c61f1a260c290653f2c419503e0a9" }, - "neoconf.nvim": { "branch": "main", "commit": "3e3294631ef23599b9fccb87dee2592c73d11c60" }, + "neoconf.nvim": { "branch": "main", "commit": "f4c375b5a1c4992a42938e6a50accc17586a123b" }, "neodev.nvim": { "branch": "main", "commit": "b836d7f573d9612e8f5c3c1eea7acbe8929ff968" }, "neorg": { "branch": "main", "commit": "4ad79529477fd8b84fec75485e705eab2d3ca34a" }, - "noice.nvim": { "branch": "main", "commit": "e8f0cdc08bd4e637fa8c9da2a454622c5b55beae" }, + "noice.nvim": { "branch": "main", "commit": "bf83a2d8567d7af65a4aacab47cc5ef94cd7ffb1" }, "nui.nvim": { "branch": "main", "commit": "b99e6cb13dc51768abc1c4c8585045a0c0459ef1" }, - "null-ls.nvim": { "branch": "main", "commit": "33cfeb7a761f08e8535dca722d4b237cabadd371" }, - "nvim-bufferline.lua": { "branch": "main", "commit": "028a87933d99f8bb88f2f70a4def3ff9574f3594" }, - "nvim-cmp": { "branch": "main", "commit": "11a95792a5be0f5a40bab5fc5b670e5b1399a939" }, + "null-ls.nvim": { "branch": "main", "commit": "2ff0a4ed1985d04bae3f21915ee0b1be3932c164" }, + "nvim-cmp": { "branch": "main", "commit": "e7e2ef7031db8e0cfad7ad9916ec766ddd9dbb3b" }, "nvim-lspconfig": { "branch": "master", "commit": "2df0fbdadd947cd2995566a0117b8802a9ba74f4" }, - "nvim-navic": { "branch": "master", "commit": "7a2b823152fe4de65ee7925b0e32d26ed73bc57c" }, + "nvim-navic": { "branch": "master", "commit": "11e08391eeed00effa85ca24ff9d1e0472cbcd6a" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-spectre": { "branch": "master", "commit": "24275beae382e6bd0180b3064cf5729548641a02" }, - "nvim-treesitter": { "branch": "master", "commit": "c9615952e71397cec4cf89a9a0db0fb9c491a5e1" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "2fb97bd6c53d78517d2022a0b84422c18ce5686e" }, + "nvim-treesitter": { "branch": "master", "commit": "14a360c72d26f5ed00cda81c76d8895cec08bf47" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "71cee2f7b1211fe35918ce5fd0f626c48d9c1e3d" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "6c38926351372ea87034dec26182b62c835ff3bc" }, + "nvim-web-devicons": { "branch": "master", "commit": "3548363849878ef895ce54edda02421279b419d8" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "fab3e2212e206f4f8b3bbaa656e129443c9b802e" }, - "telescope.nvim": { "branch": "master", "commit": "2f32775405f6706348b71d0bb8a15a22852a61e4" }, + "telescope.nvim": { "branch": "master", "commit": "dce1156ca103b8222e4abbfc63f9c6887abf5ec6" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "def91651c41f6d1d43ebcb50763324d35331baee" }, + "tokyonight.nvim": { "branch": "main", "commit": "affb21a81e6d7de073378eb86d02864c594104d9" }, "trouble.nvim": { "branch": "main", "commit": "83ec606e7065adf134d17f4af6bae510e3c491c1" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, - "vim-illuminate": { "branch": "master", "commit": "da80f3877896adcf77f59fb0bf74e9601615d372" }, + "vim-illuminate": { "branch": "master", "commit": "4e1d43cdc39e35f495c7b39a78a349b4d5badad0" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, "which-key.nvim": { "branch": "main", "commit": "16ed12a8493628c377606da2ebac50d80736ed37" } From 5561d74285269b99ea254317925db1bfbd419991 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 27 Jan 2023 09:30:34 +0100 Subject: [PATCH 0971/2080] lazynvim: add custom snippets --- lazyvim/nvim/lua/plugins/gwarf.lua | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 913efdc8..ce09e5fc 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -5,6 +5,16 @@ -- * add extra plugins -- * disable/enabled LazyVim plugins -- * override the configuration of LazyVim plugins + +-- https://sbulav.github.io/vim/neovim-setting-up-luasnip/ +local snip_status_ok, luasnip = pcall(require, "luasnip") +if not snip_status_ok then + return +end +local s = luasnip.snippet +local i = luasnip.insert_node +local t = luasnip.text_node + return { -- override nvim-cmp and add cmp-emoji { @@ -168,4 +178,20 @@ return { }) end, }, + + -- Custom snippets + -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua + -- XXX move this to a dedicated file + luasnip.add_snippets("all", { + s("ternary", { + -- equivalent to "${1:cond} ? ${2:then} : ${3:else}" + i(1, "cond"), + t(" ? "), + i(2, "then"), + t(" : "), + i(3, "else"), + }), + s("brb", { t({ "Best regards,", "Baptiste" }) }), + s("cb", { t({ "Cheers,", "Baptiste" }) }), + }), } From 65dd73c3243f64e496c3db6039bf92fb5ddeca11 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 27 Jan 2023 09:35:03 +0100 Subject: [PATCH 0972/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/89a8ba0b5b43b3350ff2e3ef37b66736b2ef8706' (2022-12-28) → 'github:nix-community/home-manager/65c47ced082e3353113614f77b1bc18822dc731f' (2023-01-23) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/2f9fd351ec37f5d479556cd48be4ca340da59b8f' (2023-01-15) → 'github:NixOS/nixpkgs/def9e420d27c951026d57dc96ce0218c3131f412' (2023-01-26) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/a83ed85c14fcf242653df6f4b0974b7e1c73c6c6' (2023-01-14) → 'github:nixos/nixpkgs/7b87b80bc8dedb1db164e5a131169b71e712ea08' (2023-01-26) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/6dccdc458512abce8d19f74195bb20fdb067df50' (2023-01-15) → 'github:nixos/nixpkgs/9b97ad7b4330aacda9b2343396eb3df8a853b4fc' (2023-01-25) • Updated input 'nur': 'github:nix-community/NUR/7e9a5b42d68ca84a91e082ad325318e01456d2b5' (2023-01-17) → 'github:nix-community/NUR/5afe5e755851b4d4a339eec4d6d701571c2140c5' (2023-01-27) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 8a80f4ed..19b72c89 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1672244468, - "narHash": "sha256-xaZb8AZqoXRCSqPusCk4ouf+fUNP8UJdafmMTF1Ltlw=", + "lastModified": 1674440933, + "narHash": "sha256-CASRcD/rK3fn5vUCti3jzry7zi0GsqRsBohNq9wPgLs=", "owner": "nix-community", "repo": "home-manager", - "rev": "89a8ba0b5b43b3350ff2e3ef37b66736b2ef8706", + "rev": "65c47ced082e3353113614f77b1bc18822dc731f", "type": "github" }, "original": { @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "lastModified": 1674692158, + "narHash": "sha256-oqGpwVg4D+eMSgF7Th5Ve1ysCiH3H3g85vGJ3nvJsZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "rev": "def9e420d27c951026d57dc96ce0218c3131f412", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1673704454, - "narHash": "sha256-5Wdj1MgdOgn3+dMFIBtg+IAYZApjF8JzwLWDPieg0C4=", + "lastModified": 1674756983, + "narHash": "sha256-lPUxoOXsilqK1tWidvHVgU/sFTCQHgVhNzKdGZUiR4M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a83ed85c14fcf242653df6f4b0974b7e1c73c6c6", + "rev": "7b87b80bc8dedb1db164e5a131169b71e712ea08", "type": "github" }, "original": { @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1673796341, - "narHash": "sha256-1kZi9OkukpNmOaPY7S5/+SlCDOuYnP3HkXHvNDyLQcc=", + "lastModified": 1674641431, + "narHash": "sha256-qfo19qVZBP4qn5M5gXc/h1MDgAtPA5VxJm9s8RUAkVk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6dccdc458512abce8d19f74195bb20fdb067df50", + "rev": "9b97ad7b4330aacda9b2343396eb3df8a853b4fc", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1673935396, - "narHash": "sha256-AkimCjK8quWnfMTmSKORp2tCs1dAifJD1BEn3bYnS/w=", + "lastModified": 1674800989, + "narHash": "sha256-vRUJhQTR2cIPXBJwAWlqL67GjqYvx8WpT8lzWIif5Oo=", "owner": "nix-community", "repo": "NUR", - "rev": "7e9a5b42d68ca84a91e082ad325318e01456d2b5", + "rev": "5afe5e755851b4d4a339eec4d6d701571c2140c5", "type": "github" }, "original": { From eec574f96f328c52c609eebbc9482ed4adc3f6ae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 1 Feb 2023 09:08:42 +0100 Subject: [PATCH 0973/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/f413457e0dd7a42adefdbcea4391dd9751509025' (2023-01-30) → 'github:NixOS/nixpkgs/0218941ea68b4c625533bead7bbb94ccce52dceb' (2023-01-31) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/22c4a7a4796a91c297a7e59078a84ec29515f86e' (2023-01-29) → 'github:nixos/nixpkgs/1c02dbee4726f9cde21cd103cc1e56dd2b20d72e' (2023-01-31) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/9b97ad7b4330aacda9b2343396eb3df8a853b4fc' (2023-01-25) → 'github:nixos/nixpkgs/2caf4ef5005ecc68141ecb4aac271079f7371c44' (2023-01-30) • Updated input 'nur': 'github:nix-community/NUR/167df43c426fb5a39086691f59bda8b6ee3f7b73' (2023-01-30) → 'github:nix-community/NUR/2c0e8d17676de8f17b94688ffa2abc87e200830a' (2023-02-01) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 19b72c89..347705a3 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1674641431, - "narHash": "sha256-qfo19qVZBP4qn5M5gXc/h1MDgAtPA5VxJm9s8RUAkVk=", + "lastModified": 1675115703, + "narHash": "sha256-4zetAPSyY0D77x+Ww9QBe8RHn1akvIvHJ/kgg8kGDbk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9b97ad7b4330aacda9b2343396eb3df8a853b4fc", + "rev": "2caf4ef5005ecc68141ecb4aac271079f7371c44", "type": "github" }, "original": { From 8753cf776d13bc0496010eaaf3135bbe90746fbe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 2 Feb 2023 14:20:38 +0100 Subject: [PATCH 0974/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/0218941ea68b4c625533bead7bbb94ccce52dceb' (2023-01-31) → 'github:NixOS/nixpkgs/285b3ff0660640575186a4086e1f8dc0df2874b5' (2023-02-01) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/1c02dbee4726f9cde21cd103cc1e56dd2b20d72e' (2023-01-31) → 'github:nixos/nixpkgs/285b3ff0660640575186a4086e1f8dc0df2874b5' (2023-02-01) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/2caf4ef5005ecc68141ecb4aac271079f7371c44' (2023-01-30) → 'github:nixos/nixpkgs/e1e1b192c1a5aab2960bf0a0bd53a2e8124fa18e' (2023-01-31) • Updated input 'nur': 'github:nix-community/NUR/2c0e8d17676de8f17b94688ffa2abc87e200830a' (2023-02-01) → 'github:nix-community/NUR/d2540a896eba1945c76d90b9b95648036efb6134' (2023-02-02) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 347705a3..c9607891 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1675115703, - "narHash": "sha256-4zetAPSyY0D77x+Ww9QBe8RHn1akvIvHJ/kgg8kGDbk=", + "lastModified": 1675183161, + "narHash": "sha256-Zq8sNgAxDckpn7tJo7V1afRSk2eoVbu3OjI1QklGLNg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2caf4ef5005ecc68141ecb4aac271079f7371c44", + "rev": "e1e1b192c1a5aab2960bf0a0bd53a2e8124fa18e", "type": "github" }, "original": { From 57852fbe16d931fad5318a349d06da6c7878bb42 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 2 Feb 2023 14:58:11 +0100 Subject: [PATCH 0975/2080] lazyvim: bump versions. --- lazyvim/nvim/lazy-lock.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 248e8626..971bc165 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { - "LazyVim": { "branch": "main", "commit": "9b35481e0c02667a0b1f12eae1da1a89015a9486" }, - "LuaSnip": { "branch": "master", "commit": "60bb423229c5a3df6e3c1acda9c7b4e70d589d78" }, - "SchemaStore.nvim": { "branch": "main", "commit": "e942fac8de03539dc07ea96e70a8ec262dccadda" }, + "LazyVim": { "branch": "main", "commit": "e21f058fd47642edc1bc46904edd8f6e07445567" }, + "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, + "SchemaStore.nvim": { "branch": "main", "commit": "d98828169af99624031d8535785a099cdf60d4c3" }, "alpha-nvim": { "branch": "main", "commit": "21a0f2520ad3a7c32c0822f943368dc063a569fb" }, "bufferline.nvim": { "branch": "main", "commit": "028a87933d99f8bb88f2f70a4def3ff9574f3594" }, "catppuccin": { "branch": "main", "commit": "e1fc2c3ade0d8872665d7570c493bbd5e11919c7" }, @@ -18,8 +18,8 @@ "lazy.nvim": { "branch": "main", "commit": "9b208696e139a404d159963b975a5b90af38439b" }, "leap.nvim": { "branch": "main", "commit": "ff4c3663e5a0a0ecbb3fffbc8318825def35d2aa" }, "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "422b9745143150e16cd3fe331c74f6737de75e72" }, - "mason.nvim": { "branch": "main", "commit": "621730a9911ff7544e6aab5570748c342ba8b1f7" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "53f3a8bdcb77d4a95b082fd57e12173f353c6c3e" }, + "mason.nvim": { "branch": "main", "commit": "24846a00941ec020c8addc7f52040a1b2fc12174" }, "mini.ai": { "branch": "main", "commit": "14a1382372195573c6c7f494ab8bb298b03e6f04" }, "mini.bufremove": { "branch": "main", "commit": "96c2a7f3e7d079639a0e23d2fc0d4585e5d02dfd" }, "mini.comment": { "branch": "main", "commit": "e5294cc3e75bafb2369f235d31a98b01a9cc67ad" }, @@ -31,26 +31,26 @@ "neodev.nvim": { "branch": "main", "commit": "b836d7f573d9612e8f5c3c1eea7acbe8929ff968" }, "neorg": { "branch": "main", "commit": "4ad79529477fd8b84fec75485e705eab2d3ca34a" }, "noice.nvim": { "branch": "main", "commit": "bf83a2d8567d7af65a4aacab47cc5ef94cd7ffb1" }, - "nui.nvim": { "branch": "main", "commit": "b99e6cb13dc51768abc1c4c8585045a0c0459ef1" }, - "null-ls.nvim": { "branch": "main", "commit": "2ff0a4ed1985d04bae3f21915ee0b1be3932c164" }, + "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, + "null-ls.nvim": { "branch": "main", "commit": "c3e678110d5f31854c6575cf4bda3b82f3d4a884" }, "nvim-cmp": { "branch": "main", "commit": "e7e2ef7031db8e0cfad7ad9916ec766ddd9dbb3b" }, "nvim-lspconfig": { "branch": "master", "commit": "2df0fbdadd947cd2995566a0117b8802a9ba74f4" }, "nvim-navic": { "branch": "master", "commit": "11e08391eeed00effa85ca24ff9d1e0472cbcd6a" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, - "nvim-spectre": { "branch": "master", "commit": "24275beae382e6bd0180b3064cf5729548641a02" }, - "nvim-treesitter": { "branch": "master", "commit": "14a360c72d26f5ed00cda81c76d8895cec08bf47" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "71cee2f7b1211fe35918ce5fd0f626c48d9c1e3d" }, + "nvim-spectre": { "branch": "master", "commit": "17b7c84ea8884bfec8e71b8021e924cb3a39c180" }, + "nvim-treesitter": { "branch": "master", "commit": "69867ffe7e05559fdb055f6b5a2589fc6bee1070" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "249d90a84df63f3ffff65fcc06a45d58415672de" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "3548363849878ef895ce54edda02421279b419d8" }, + "nvim-web-devicons": { "branch": "master", "commit": "a421d183ef37dfa13f51a5805bed2381aebf9080" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "fab3e2212e206f4f8b3bbaa656e129443c9b802e" }, - "telescope.nvim": { "branch": "master", "commit": "dce1156ca103b8222e4abbfc63f9c6887abf5ec6" }, + "telescope.nvim": { "branch": "master", "commit": "203bf5609137600d73e8ed82703d6b0e320a5f36" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "affb21a81e6d7de073378eb86d02864c594104d9" }, "trouble.nvim": { "branch": "main", "commit": "83ec606e7065adf134d17f4af6bae510e3c491c1" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, - "vim-illuminate": { "branch": "master", "commit": "4e1d43cdc39e35f495c7b39a78a349b4d5badad0" }, + "vim-illuminate": { "branch": "master", "commit": "d6ca7f77eeaf61b3e6ce9f0e5a978d606df44298" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, "which-key.nvim": { "branch": "main", "commit": "16ed12a8493628c377606da2ebac50d80736ed37" } From 9b4083b566ed4d0c8f4c0f8aaf3dc289f1526d6d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 2 Feb 2023 14:58:30 +0100 Subject: [PATCH 0976/2080] Add more brews. --- machines/Baptistes-MBP/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index b7cc9835..92a25ca1 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -25,6 +25,9 @@ "joplin-cli" # To be used for nvim/treesitter/neorg with recent C++ "llvm" + + "bitwarden-cli" + "fetch-crl" ]; casks = [ "rectangle" From 9511077bda3eb5123ac43c5a77175fdf6e91e3a9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Feb 2023 09:48:59 +0100 Subject: [PATCH 0977/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/285b3ff0660640575186a4086e1f8dc0df2874b5' (2023-02-01) → 'github:NixOS/nixpkgs/cff83d5032a21aad4f69bf284e95b5f564f4a54e' (2023-02-05) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/285b3ff0660640575186a4086e1f8dc0df2874b5' (2023-02-01) → 'github:nixos/nixpkgs/cff83d5032a21aad4f69bf284e95b5f564f4a54e' (2023-02-05) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e1e1b192c1a5aab2960bf0a0bd53a2e8124fa18e' (2023-01-31) → 'github:nixos/nixpkgs/0591d6b57bfeb55dfeec99a671843337bc2c3323' (2023-02-04) • Updated input 'nur': 'github:nix-community/NUR/d2540a896eba1945c76d90b9b95648036efb6134' (2023-02-02) → 'github:nix-community/NUR/25b2e89ce39e5d2da0349bda386c0aeb16b6782b' (2023-02-06) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index c9607891..4e52c135 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1675183161, - "narHash": "sha256-Zq8sNgAxDckpn7tJo7V1afRSk2eoVbu3OjI1QklGLNg=", + "lastModified": 1675545634, + "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e1e1b192c1a5aab2960bf0a0bd53a2e8124fa18e", + "rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323", "type": "github" }, "original": { From 932e0d1f2d01469e96c4f6add24144600be54fc7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Feb 2023 10:00:28 +0100 Subject: [PATCH 0978/2080] lazyvim: bump lock file --- lazyvim/nvim/lazy-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 971bc165..f80fbced 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "e21f058fd47642edc1bc46904edd8f6e07445567" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "d98828169af99624031d8535785a099cdf60d4c3" }, + "SchemaStore.nvim": { "branch": "main", "commit": "5c5723bd464fd048f5d62fcf20c41495d3386a33" }, "alpha-nvim": { "branch": "main", "commit": "21a0f2520ad3a7c32c0822f943368dc063a569fb" }, "bufferline.nvim": { "branch": "main", "commit": "028a87933d99f8bb88f2f70a4def3ff9574f3594" }, "catppuccin": { "branch": "main", "commit": "e1fc2c3ade0d8872665d7570c493bbd5e11919c7" }, @@ -10,16 +10,16 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "59224771f91b86d1de12570b4070fe4ad7cd1eeb" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "dressing.nvim": { "branch": "master", "commit": "4436d6f41e2f6b8ada57588acd1a9f8b3d21453c" }, + "dressing.nvim": { "branch": "master", "commit": "db716a0f1279f79a886c0e0b6ab3c3d5ffdb42fe" }, "flit.nvim": { "branch": "main", "commit": "be110f9814a45788d10537fd59b3c76d956bb7ad" }, "friendly-snippets": { "branch": "main", "commit": "a6f7a1609addb4e57daa6bedc300f77f8d225ab7" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "indent-blankline.nvim": { "branch": "master", "commit": "8299fe7703dfff4b1752aeed271c3b95281a952d" }, "lazy.nvim": { "branch": "main", "commit": "9b208696e139a404d159963b975a5b90af38439b" }, - "leap.nvim": { "branch": "main", "commit": "ff4c3663e5a0a0ecbb3fffbc8318825def35d2aa" }, + "leap.nvim": { "branch": "main", "commit": "f565a9c4d92245d8b619235bebeaa73cc38aa40e" }, "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "53f3a8bdcb77d4a95b082fd57e12173f353c6c3e" }, - "mason.nvim": { "branch": "main", "commit": "24846a00941ec020c8addc7f52040a1b2fc12174" }, + "mason.nvim": { "branch": "main", "commit": "4952a48722b3fa01e03c67ab939d5b7d3037309e" }, "mini.ai": { "branch": "main", "commit": "14a1382372195573c6c7f494ab8bb298b03e6f04" }, "mini.bufremove": { "branch": "main", "commit": "96c2a7f3e7d079639a0e23d2fc0d4585e5d02dfd" }, "mini.comment": { "branch": "main", "commit": "e5294cc3e75bafb2369f235d31a98b01a9cc67ad" }, @@ -29,22 +29,22 @@ "neo-tree.nvim": { "branch": "v2.x", "commit": "8238865e1d9c61f1a260c290653f2c419503e0a9" }, "neoconf.nvim": { "branch": "main", "commit": "f4c375b5a1c4992a42938e6a50accc17586a123b" }, "neodev.nvim": { "branch": "main", "commit": "b836d7f573d9612e8f5c3c1eea7acbe8929ff968" }, - "neorg": { "branch": "main", "commit": "4ad79529477fd8b84fec75485e705eab2d3ca34a" }, + "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "bf83a2d8567d7af65a4aacab47cc5ef94cd7ffb1" }, "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, - "null-ls.nvim": { "branch": "main", "commit": "c3e678110d5f31854c6575cf4bda3b82f3d4a884" }, - "nvim-cmp": { "branch": "main", "commit": "e7e2ef7031db8e0cfad7ad9916ec766ddd9dbb3b" }, - "nvim-lspconfig": { "branch": "master", "commit": "2df0fbdadd947cd2995566a0117b8802a9ba74f4" }, - "nvim-navic": { "branch": "master", "commit": "11e08391eeed00effa85ca24ff9d1e0472cbcd6a" }, + "null-ls.nvim": { "branch": "main", "commit": "8f5d730021497233c39d3adbf4b8043d4be163f8" }, + "nvim-cmp": { "branch": "main", "commit": "cfafe0a1ca8933f7b7968a287d39904156f2c57d" }, + "nvim-lspconfig": { "branch": "master", "commit": "255e07ce2a05627d482d2de77308bba51b90470c" }, + "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-spectre": { "branch": "master", "commit": "17b7c84ea8884bfec8e71b8021e924cb3a39c180" }, - "nvim-treesitter": { "branch": "master", "commit": "69867ffe7e05559fdb055f6b5a2589fc6bee1070" }, + "nvim-treesitter": { "branch": "master", "commit": "d3a68725e8349212a359d1914fc6e86ff31e4142" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "249d90a84df63f3ffff65fcc06a45d58415672de" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "a421d183ef37dfa13f51a5805bed2381aebf9080" }, + "nvim-web-devicons": { "branch": "master", "commit": "2b96193abe4372e18e4f4533895a42a466d53c17" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "fab3e2212e206f4f8b3bbaa656e129443c9b802e" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "203bf5609137600d73e8ed82703d6b0e320a5f36" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "affb21a81e6d7de073378eb86d02864c594104d9" }, From 08c6f3caa6f4f5f9c268d481bcab9c734c2db743 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Feb 2023 12:26:11 +0100 Subject: [PATCH 0979/2080] LazyVim: disable mouse. --- lazyvim/nvim/lua/config/options.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index 3003e27e..05932950 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -22,3 +22,6 @@ opt.textwidth = 90 -- Display column to show light length opt.colorcolumn = "80" + +-- Disable mouse +opt.mouse = "" From 4ac1947b66357ad8f4176a1559b929e38292f566 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Feb 2023 12:26:41 +0100 Subject: [PATCH 0980/2080] LazyVim: enable ansiblels, bashls. --- lazyvim/nvim/lua/plugins/gwarf.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index ce09e5fc..57d7f10a 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -68,9 +68,12 @@ return { ---@class PluginLspOpts opts = { ---@type lspconfig.options + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md servers = { -- pyright will be automatically installed with mason and loaded with lspconfig pyright = {}, + ansiblels = {}, + bashls = {}, }, }, }, @@ -145,6 +148,18 @@ return { end end, { "i", "s" }), }) + + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { + { + name = "buffer", + option = { + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end, + }, + }, + { name = "emoji", insert = true }, + })) end, }, From 1c75ee713db7d71681ae7921df034343b22ab344 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Feb 2023 12:27:29 +0100 Subject: [PATCH 0981/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index f80fbced..b44b3f75 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,13 +1,13 @@ { - "LazyVim": { "branch": "main", "commit": "e21f058fd47642edc1bc46904edd8f6e07445567" }, + "LazyVim": { "branch": "main", "commit": "6416761353ba62884646b256e5189d49511e80b3" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "5c5723bd464fd048f5d62fcf20c41495d3386a33" }, - "alpha-nvim": { "branch": "main", "commit": "21a0f2520ad3a7c32c0822f943368dc063a569fb" }, + "SchemaStore.nvim": { "branch": "main", "commit": "fd5ddd82b13b52b72f887e2c0f2784d82381951d" }, + "alpha-nvim": { "branch": "main", "commit": "0349fc0aa0c1d940ec3be395cb110483b416bc84" }, "bufferline.nvim": { "branch": "main", "commit": "028a87933d99f8bb88f2f70a4def3ff9574f3594" }, "catppuccin": { "branch": "main", "commit": "e1fc2c3ade0d8872665d7570c493bbd5e11919c7" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "59224771f91b86d1de12570b4070fe4ad7cd1eeb" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dressing.nvim": { "branch": "master", "commit": "db716a0f1279f79a886c0e0b6ab3c3d5ffdb42fe" }, @@ -15,40 +15,40 @@ "friendly-snippets": { "branch": "main", "commit": "a6f7a1609addb4e57daa6bedc300f77f8d225ab7" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "indent-blankline.nvim": { "branch": "master", "commit": "8299fe7703dfff4b1752aeed271c3b95281a952d" }, - "lazy.nvim": { "branch": "main", "commit": "9b208696e139a404d159963b975a5b90af38439b" }, + "lazy.nvim": { "branch": "main", "commit": "48c9b37294f31e3875435bca41d0c923fdd6eea4" }, "leap.nvim": { "branch": "main", "commit": "f565a9c4d92245d8b619235bebeaa73cc38aa40e" }, "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "53f3a8bdcb77d4a95b082fd57e12173f353c6c3e" }, - "mason.nvim": { "branch": "main", "commit": "4952a48722b3fa01e03c67ab939d5b7d3037309e" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7a97a77eee486ae152d2c559a459eda7c8aa12aa" }, + "mason.nvim": { "branch": "main", "commit": "0efc7ceb29a933317e625544d3eb160e7c46dc81" }, "mini.ai": { "branch": "main", "commit": "14a1382372195573c6c7f494ab8bb298b03e6f04" }, "mini.bufremove": { "branch": "main", "commit": "96c2a7f3e7d079639a0e23d2fc0d4585e5d02dfd" }, "mini.comment": { "branch": "main", "commit": "e5294cc3e75bafb2369f235d31a98b01a9cc67ad" }, - "mini.indentscope": { "branch": "main", "commit": "3a517f11aa9d1434c4cdba1a807df4e5ca42d3ea" }, + "mini.indentscope": { "branch": "main", "commit": "cbabbf3be4a59c7f23725b74ed15e0fba951e328" }, "mini.pairs": { "branch": "main", "commit": "fec9aba50912d8c3d92d07d6a77952de84f8d7ad" }, "mini.surround": { "branch": "main", "commit": "df41f1c009afbb3eef39d979977fb14404576f9b" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "8238865e1d9c61f1a260c290653f2c419503e0a9" }, - "neoconf.nvim": { "branch": "main", "commit": "f4c375b5a1c4992a42938e6a50accc17586a123b" }, - "neodev.nvim": { "branch": "main", "commit": "b836d7f573d9612e8f5c3c1eea7acbe8929ff968" }, + "neoconf.nvim": { "branch": "main", "commit": "316a51f886a918df772a2ad9ac8f3423e70a763b" }, + "neodev.nvim": { "branch": "main", "commit": "6a2310ef6386e7a5ad5bdc56c844410bf5de8225" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "bf83a2d8567d7af65a4aacab47cc5ef94cd7ffb1" }, + "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, - "null-ls.nvim": { "branch": "main", "commit": "8f5d730021497233c39d3adbf4b8043d4be163f8" }, + "null-ls.nvim": { "branch": "main", "commit": "60b4a7167c79c7d04d1ff48b55f2235bf58158a7" }, "nvim-cmp": { "branch": "main", "commit": "cfafe0a1ca8933f7b7968a287d39904156f2c57d" }, "nvim-lspconfig": { "branch": "master", "commit": "255e07ce2a05627d482d2de77308bba51b90470c" }, "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, - "nvim-spectre": { "branch": "master", "commit": "17b7c84ea8884bfec8e71b8021e924cb3a39c180" }, - "nvim-treesitter": { "branch": "master", "commit": "d3a68725e8349212a359d1914fc6e86ff31e4142" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "249d90a84df63f3ffff65fcc06a45d58415672de" }, + "nvim-spectre": { "branch": "master", "commit": "1d8b7a40677fd87da7648d246c4675c3612a7582" }, + "nvim-treesitter": { "branch": "master", "commit": "f6df07be122de665fb363476cc3680c90f5bdf05" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "764336d37e60efc93b75bc027c1203243d7dd2ed" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "2b96193abe4372e18e4f4533895a42a466d53c17" }, + "nvim-web-devicons": { "branch": "master", "commit": "ade34ca7d19543904b28b903e606be8930fb9ee3" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "203bf5609137600d73e8ed82703d6b0e320a5f36" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "affb21a81e6d7de073378eb86d02864c594104d9" }, - "trouble.nvim": { "branch": "main", "commit": "83ec606e7065adf134d17f4af6bae510e3c491c1" }, + "tokyonight.nvim": { "branch": "main", "commit": "e52c41314e83232840d6970e6b072f9fba242eb9" }, + "trouble.nvim": { "branch": "main", "commit": "2fceec1ee299689f42483252ca50b5ba44a0ebdb" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "d6ca7f77eeaf61b3e6ce9f0e5a978d606df44298" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, From d692dec41ab96cae3ff1799c11b426b17be20830 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Feb 2023 12:27:33 +0100 Subject: [PATCH 0982/2080] Install pdoman-desktop. --- machines/Baptistes-MBP/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 92a25ca1..974fa248 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -32,6 +32,7 @@ casks = [ "rectangle" "mumble" + "podman-desktop" ]; }; } From 8161675319f2e3242682f59295c862c9de9ab1e4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 13 Feb 2023 09:14:13 +0100 Subject: [PATCH 0983/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/cff83d5032a21aad4f69bf284e95b5f564f4a54e' (2023-02-05) → 'github:NixOS/nixpkgs/1b82144edfcd0c86486d2e07c7298f85510e7fb8' (2023-02-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/cff83d5032a21aad4f69bf284e95b5f564f4a54e' (2023-02-05) → 'github:nixos/nixpkgs/a45a8916243a7d27acc358f4fc18c4491f3eeca8' (2023-02-13) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/0591d6b57bfeb55dfeec99a671843337bc2c3323' (2023-02-04) → 'github:nixos/nixpkgs/e5530aba13caff5a4f41713f1265b754dc2abfd8' (2023-02-11) • Updated input 'nur': 'github:nix-community/NUR/25b2e89ce39e5d2da0349bda386c0aeb16b6782b' (2023-02-06) → 'github:nix-community/NUR/61b6f811a8544670d3045a57d1b8874c0ec24445' (2023-02-13) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 4e52c135..3f1406c1 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1675545634, - "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=", + "lastModified": 1676110339, + "narHash": "sha256-kOS/L8OOL2odpCOM11IevfHxcUeE0vnZUQ74EOiwXcs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323", + "rev": "e5530aba13caff5a4f41713f1265b754dc2abfd8", "type": "github" }, "original": { From 371967cce7341bd178673bee0315f59785d104c5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 13 Feb 2023 14:08:29 +0100 Subject: [PATCH 0984/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e5530aba13caff5a4f41713f1265b754dc2abfd8' (2023-02-11) → 'github:nixos/nixpkgs/d917136f550a8c36efb1724390c7245105f79023' (2023-02-12) • Updated input 'nur': 'github:nix-community/NUR/45cd749b957aa2a3f5fb3d4f3cfba58afae619cb' (2023-02-13) → 'github:nix-community/NUR/cbf5cf6be819bcf7e6c24b02f61eefd18d8375c9' (2023-02-13) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 3f1406c1..93981249 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1676110339, - "narHash": "sha256-kOS/L8OOL2odpCOM11IevfHxcUeE0vnZUQ74EOiwXcs=", + "lastModified": 1676202775, + "narHash": "sha256-gV/RnfVZkGLHn+5rmX2GSh5aquVHpWOJw1cnpEV03tQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e5530aba13caff5a4f41713f1265b754dc2abfd8", + "rev": "d917136f550a8c36efb1724390c7245105f79023", "type": "github" }, "original": { From 77e015093f1f70ee88c3dad69ab32be0da529539 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Feb 2023 16:40:03 +0100 Subject: [PATCH 0985/2080] Document providing flake target name to darwin-rebuild --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1038fedd..31066f93 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,8 @@ nix build ".#nixosConfigurations.brutal.config.system.build.toplevel" sudo result/bin/switch-to-configuration switch # Build and siwtch to the new conf, updating boot menu sudo nixos-rebuild switch --flake . +# In case the hostname changed (like on a VPN), it can be specified like this +./result/sw/bin/darwin-rebuild switch --flake '.#Baptistes-MBP' ``` ##### Updating From fb475952eab869bd61653f304db3f0057dad354f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Feb 2023 16:40:31 +0100 Subject: [PATCH 0986/2080] lazyvim: try other colorschemes. --- lazyvim/nvim/lua/plugins/gwarf.lua | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 57d7f10a..02fd62a5 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -26,6 +26,16 @@ return { opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) end, }, + { + "LazyVim/LazyVim", + opts = { + -- colorscheme = "catppuccin-macchiato", + -- colorscheme = "catppuccin-frappe", + colorscheme = function() + require("tokyonight").load({ style = "storm" }) + end, + }, + }, -- change some telescope options and a keymap to browse plugin files { @@ -62,7 +72,7 @@ return { end, }, - -- add pyright to lspconfig + -- add various LSP to lspconfig { "neovim/nvim-lspconfig", ---@class PluginLspOpts @@ -70,7 +80,6 @@ return { ---@type lspconfig.options -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md servers = { - -- pyright will be automatically installed with mason and loaded with lspconfig pyright = {}, ansiblels = {}, bashls = {}, From aa1dae314a314198697d7759b1c180d171a467de Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Feb 2023 16:41:03 +0100 Subject: [PATCH 0987/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 58 ++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index b44b3f75..57749e80 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,57 +1,57 @@ { - "LazyVim": { "branch": "main", "commit": "6416761353ba62884646b256e5189d49511e80b3" }, + "LazyVim": { "branch": "main", "commit": "2e18998c9ed7d2fa773b782f3aa3c0d5ac5cc21d" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "fd5ddd82b13b52b72f887e2c0f2784d82381951d" }, - "alpha-nvim": { "branch": "main", "commit": "0349fc0aa0c1d940ec3be395cb110483b416bc84" }, - "bufferline.nvim": { "branch": "main", "commit": "028a87933d99f8bb88f2f70a4def3ff9574f3594" }, - "catppuccin": { "branch": "main", "commit": "e1fc2c3ade0d8872665d7570c493bbd5e11919c7" }, + "SchemaStore.nvim": { "branch": "main", "commit": "e98c273cb5c65e798176ed1283b80968c1e554eb" }, + "alpha-nvim": { "branch": "main", "commit": "1c903fd40b1d51e7740b4d90e9f18e83f2916586" }, + "bufferline.nvim": { "branch": "main", "commit": "f4af7e5ad68fca928753f280515646803252611d" }, + "catppuccin": { "branch": "main", "commit": "c5ed88194ae1d581d3083725a0dc7c90dd3446be" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dressing.nvim": { "branch": "master", "commit": "db716a0f1279f79a886c0e0b6ab3c3d5ffdb42fe" }, - "flit.nvim": { "branch": "main", "commit": "be110f9814a45788d10537fd59b3c76d956bb7ad" }, - "friendly-snippets": { "branch": "main", "commit": "a6f7a1609addb4e57daa6bedc300f77f8d225ab7" }, + "flit.nvim": { "branch": "main", "commit": "980e80e8fe44caaeb9de501c8e97a559b17db2f4" }, + "friendly-snippets": { "branch": "main", "commit": "1645e7cd98ed99e766c84ab3cf13a1612c77dcee" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "indent-blankline.nvim": { "branch": "master", "commit": "8299fe7703dfff4b1752aeed271c3b95281a952d" }, - "lazy.nvim": { "branch": "main", "commit": "48c9b37294f31e3875435bca41d0c923fdd6eea4" }, - "leap.nvim": { "branch": "main", "commit": "f565a9c4d92245d8b619235bebeaa73cc38aa40e" }, + "lazy.nvim": { "branch": "main", "commit": "c778b7aa04c484e1536ba219e71f2fd0f05302aa" }, + "leap.nvim": { "branch": "main", "commit": "1367a095f336c6c7ccda8c6747b57048fc5e008d" }, "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "7a97a77eee486ae152d2c559a459eda7c8aa12aa" }, - "mason.nvim": { "branch": "main", "commit": "0efc7ceb29a933317e625544d3eb160e7c46dc81" }, - "mini.ai": { "branch": "main", "commit": "14a1382372195573c6c7f494ab8bb298b03e6f04" }, - "mini.bufremove": { "branch": "main", "commit": "96c2a7f3e7d079639a0e23d2fc0d4585e5d02dfd" }, - "mini.comment": { "branch": "main", "commit": "e5294cc3e75bafb2369f235d31a98b01a9cc67ad" }, - "mini.indentscope": { "branch": "main", "commit": "cbabbf3be4a59c7f23725b74ed15e0fba951e328" }, - "mini.pairs": { "branch": "main", "commit": "fec9aba50912d8c3d92d07d6a77952de84f8d7ad" }, - "mini.surround": { "branch": "main", "commit": "df41f1c009afbb3eef39d979977fb14404576f9b" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "8238865e1d9c61f1a260c290653f2c419503e0a9" }, - "neoconf.nvim": { "branch": "main", "commit": "316a51f886a918df772a2ad9ac8f3423e70a763b" }, - "neodev.nvim": { "branch": "main", "commit": "6a2310ef6386e7a5ad5bdc56c844410bf5de8225" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "93e58e100f37ef4fb0f897deeed20599dae9d128" }, + "mason.nvim": { "branch": "main", "commit": "eb6010ac97e9b510ddce8d28b6925ff6b046eab2" }, + "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, + "mini.bufremove": { "branch": "main", "commit": "351d18d596f7eac4589b67b4b87ed1708c545dd3" }, + "mini.comment": { "branch": "main", "commit": "9fc3fe43129e8c2611bd21b8f50af8c0d0742533" }, + "mini.indentscope": { "branch": "main", "commit": "d3e907b13298b0fc60db289fb804be7e9c561922" }, + "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, + "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "245cf1e68840defcc75a16297740f6203f5a045d" }, + "neoconf.nvim": { "branch": "main", "commit": "627794ccb18521d7c7d11606d2cf2674f9ed515e" }, + "neodev.nvim": { "branch": "main", "commit": "a81e749d0fe8429cd340b2e40f274b344bef42ac" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, - "null-ls.nvim": { "branch": "main", "commit": "60b4a7167c79c7d04d1ff48b55f2235bf58158a7" }, - "nvim-cmp": { "branch": "main", "commit": "cfafe0a1ca8933f7b7968a287d39904156f2c57d" }, + "null-ls.nvim": { "branch": "main", "commit": "9d811bb6ed44cf766f4bda8a47fd65fdfbdcaa7d" }, + "nvim-cmp": { "branch": "main", "commit": "1b2e843a692a04756afbda16a491514a2be2479d" }, "nvim-lspconfig": { "branch": "master", "commit": "255e07ce2a05627d482d2de77308bba51b90470c" }, "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-spectre": { "branch": "master", "commit": "1d8b7a40677fd87da7648d246c4675c3612a7582" }, - "nvim-treesitter": { "branch": "master", "commit": "f6df07be122de665fb363476cc3680c90f5bdf05" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "764336d37e60efc93b75bc027c1203243d7dd2ed" }, + "nvim-treesitter": { "branch": "master", "commit": "f475b24c81d64d64ab213a73882b7c4f3bbbf26a" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "fcd764507f723903af5507e141ea593e855b504a" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "ade34ca7d19543904b28b903e606be8930fb9ee3" }, + "nvim-web-devicons": { "branch": "master", "commit": "bb6d4fd1e010300510172b173ab5205d37af084f" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "203bf5609137600d73e8ed82703d6b0e320a5f36" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "e52c41314e83232840d6970e6b072f9fba242eb9" }, - "trouble.nvim": { "branch": "main", "commit": "2fceec1ee299689f42483252ca50b5ba44a0ebdb" }, + "tokyonight.nvim": { "branch": "main", "commit": "a0abe53df53616d13da327636cb0bcac3ea7f5af" }, + "trouble.nvim": { "branch": "main", "commit": "556ef3089709a6e253df1e500381fec5eb48e48a" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, - "vim-illuminate": { "branch": "master", "commit": "d6ca7f77eeaf61b3e6ce9f0e5a978d606df44298" }, + "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, - "which-key.nvim": { "branch": "main", "commit": "16ed12a8493628c377606da2ebac50d80736ed37" } + "which-key.nvim": { "branch": "main", "commit": "5224c261825263f46f6771f1b644cae33cd06995" } } \ No newline at end of file From 3c9285d0c9b8e89ff04deae4ecb7e1f1027908f2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Feb 2023 16:51:40 +0100 Subject: [PATCH 0988/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 57749e80..7e392639 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -33,7 +33,7 @@ "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, "null-ls.nvim": { "branch": "main", "commit": "9d811bb6ed44cf766f4bda8a47fd65fdfbdcaa7d" }, - "nvim-cmp": { "branch": "main", "commit": "1b2e843a692a04756afbda16a491514a2be2479d" }, + "nvim-cmp": { "branch": "main", "commit": "c4128bcd131fb7152bda8f8dd2b5e41d2fefa88c" }, "nvim-lspconfig": { "branch": "master", "commit": "255e07ce2a05627d482d2de77308bba51b90470c" }, "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, From 81f03bac3b4166e8efd69b2b86253520eab142b4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Feb 2023 16:51:53 +0100 Subject: [PATCH 0989/2080] kitty+nix: load them from static file --- modules/home/kitty/default.nix | 54 ++++-------------------- modules/home/kitty/tokyonight_storm.conf | 50 ++++++++++++++++++++++ 2 files changed, 58 insertions(+), 46 deletions(-) create mode 100644 modules/home/kitty/tokyonight_storm.conf diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index 5b064150..092cf709 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -6,6 +6,9 @@ # https://rycee.gitlab.io/home-manager/options.html#opt-programs.kitty.enable programs.kitty.enable = true; + # Use a static configuration file for colors + home.file.".config/kitty/tokyonight_storm.conf".source = ./tokyonight_storm.conf + # General config # https://sw.kovidgoyal.net/kitty/conf/ programs.kitty.settings = { @@ -26,57 +29,16 @@ active_tab_font_style = "bold"; inactive_tab_font_style = "normal"; tab_activity_symbol = ""; - - # Dracula Colors {{{ - foreground = "#f8f8f2"; - background = "#282a36"; - selection_foreground = "#ffffff"; - selection_background = "#44475a"; - # black - color0 = "#21222c"; - color8 = "#6272a4"; - # red - color1 = "#ff5555"; - color9 = "#ff6e6e"; - # green - color2 = "#50fa7b"; - color10 = "#69ff94"; - # yellow - color3 = "#f1fa8c"; - color11 = "#ffffa5"; - # blue - color4 = "#bd93f9"; - color12 = "#d6acff"; - # magenta - color5 = "#ff79c6"; - color13 = "#ff92df"; - # cyan - color6 = "#8be9fd"; - color14 = "#a4ffff"; - # white - color7 = "#f8f8f2"; - color15 = "#ffffff"; - # Cursor colors - cursor = "#f8f8f2"; - cursor_text_color = "background"; - # Tab bar colors - active_tab_foreground = "#282a36"; - active_tab_background = "#f8f8f2"; - inactive_tab_foreground = "#282a36"; - inactive_tab_background = "#6272a4"; - # Marks - mark1_foreground = "#282a36"; - mark1_background = "#ff5555"; - # Splits/Windows - active_border_color = "#f8f8f2"; - inactive_border_color = "#6272a4"; - # }}} }; - # Change the style of italic font variants programs.kitty.extraConfig = '' + # Load tokyonight_storm theme + include tokyonight_storm.conf + + # Change the style of italic font variants modify_font underline_thickness 400% modify_font underline_position 2 + # https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D JetBrainsMono Nerd Font"; ''; diff --git a/modules/home/kitty/tokyonight_storm.conf b/modules/home/kitty/tokyonight_storm.conf new file mode 100644 index 00000000..53c00969 --- /dev/null +++ b/modules/home/kitty/tokyonight_storm.conf @@ -0,0 +1,50 @@ +# vim:ft=kitty + +## name: Tokyo Night Storm +## license: MIT +## author: Folke Lemaitre +## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_storm.conf + + +background #24283b +foreground #c0caf5 +selection_background #364a82 +selection_foreground #c0caf5 +url_color #73daca +cursor #c0caf5 +cursor_text_color #24283b + +# Tabs +active_tab_background #7aa2f7 +active_tab_foreground #1f2335 +inactive_tab_background #292e42 +inactive_tab_foreground #545c7e +#tab_bar_background #1d202f + +# Windows +active_border_color #7aa2f7 +inactive_border_color #292e42 + +# normal +color0 #1d202f +color1 #f7768e +color2 #9ece6a +color3 #e0af68 +color4 #7aa2f7 +color5 #bb9af7 +color6 #7dcfff +color7 #a9b1d6 + +# bright +color8 #414868 +color9 #f7768e +color10 #9ece6a +color11 #e0af68 +color12 #7aa2f7 +color13 #bb9af7 +color14 #7dcfff +color15 #c0caf5 + +# extended colors +color16 #ff9e64 +color17 #db4b4b From b290908a5b3a26d90cec0c568365aed94d13c522 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Feb 2023 17:00:16 +0100 Subject: [PATCH 0990/2080] Fix syntax. --- modules/home/kitty/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index 092cf709..8a5da3bb 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -7,7 +7,7 @@ programs.kitty.enable = true; # Use a static configuration file for colors - home.file.".config/kitty/tokyonight_storm.conf".source = ./tokyonight_storm.conf + home.file.".config/kitty/tokyonight_storm.conf".source = ./tokyonight_storm.conf; # General config # https://sw.kovidgoyal.net/kitty/conf/ From 9d50193a6326693dbb277481c2f77a2d590a213d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Feb 2023 17:00:48 +0100 Subject: [PATCH 0991/2080] lazyvim: use rnix from system --- lazyvim/nvim/lua/plugins/gwarf.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 02fd62a5..f0b8a631 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -83,6 +83,10 @@ return { pyright = {}, ansiblels = {}, bashls = {}, + rnix = { + -- rnix-lsp is installed using nix + mason = false, + }, }, }, }, From a65303e6bc5818b9b6ccbfdbaea913088287aed0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 15 Feb 2023 09:28:43 +0100 Subject: [PATCH 0992/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a45a8916243a7d27acc358f4fc18c4491f3eeca8' (2023-02-13) → 'github:NixOS/nixpkgs/c43f676c938662072772339be6269226c77b51b8' (2023-02-14) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/d917136f550a8c36efb1724390c7245105f79023' (2023-02-12) → 'github:nixos/nixpkgs/545c7a31e5dedea4a6d372712a18e00ce097d462' (2023-02-13) • Updated input 'nur': 'github:nix-community/NUR/89f9ed0f4a56f14bd64260e252c6ded255d596bc' (2023-02-14) → 'github:nix-community/NUR/26954520ec2df7d9d4137ec584412a6eb6a20f48' (2023-02-15) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 93981249..2615ab15 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1676202775, - "narHash": "sha256-gV/RnfVZkGLHn+5rmX2GSh5aquVHpWOJw1cnpEV03tQ=", + "lastModified": 1676300157, + "narHash": "sha256-1HjRzfp6LOLfcj/HJHdVKWAkX9QRAouoh6AjzJiIerU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d917136f550a8c36efb1724390c7245105f79023", + "rev": "545c7a31e5dedea4a6d372712a18e00ce097d462", "type": "github" }, "original": { From 34831f45cce6168fd26bc26c4a1e1092cc0aeb4b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Feb 2023 17:00:49 +0100 Subject: [PATCH 0993/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/65c47ced082e3353113614f77b1bc18822dc731f' (2023-01-23) → 'github:nix-community/home-manager/2cb27c79117a2a75ff3416c3199a2dc57af6a527' (2023-02-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/c43f676c938662072772339be6269226c77b51b8' (2023-02-14) → 'github:NixOS/nixpkgs/e19f25b587f15871d26442cfa1abe4418a815d7d' (2023-02-20) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/c0be31be859795e339315bd3fe29b8ae2bf03706' (2023-02-15) → 'github:nixos/nixpkgs/cd56369075acb5fa8459e640b56a0dc1f05e1022' (2023-02-20) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/545c7a31e5dedea4a6d372712a18e00ce097d462' (2023-02-13) → 'github:nixos/nixpkgs/b69883faca9542d135fa6bab7928ff1b233c167f' (2023-02-20) • Updated input 'nur': 'github:nix-community/NUR/075f78dadf6180d2b5864a2a47e8b6755eb3dca6' (2023-02-16) → 'github:nix-community/NUR/eb65539c885d8e0ccfa9d508904772de904e9256' (2023-02-21) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 2615ab15..80261b33 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1674440933, - "narHash": "sha256-CASRcD/rK3fn5vUCti3jzry7zi0GsqRsBohNq9wPgLs=", + "lastModified": 1676257154, + "narHash": "sha256-eW3jymNLpdxS5fkp9NWKyNtgL0Gqtgg1vCTofKXDF1g=", "owner": "nix-community", "repo": "home-manager", - "rev": "65c47ced082e3353113614f77b1bc18822dc731f", + "rev": "2cb27c79117a2a75ff3416c3199a2dc57af6a527", "type": "github" }, "original": { @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1676300157, - "narHash": "sha256-1HjRzfp6LOLfcj/HJHdVKWAkX9QRAouoh6AjzJiIerU=", + "lastModified": 1676885936, + "narHash": "sha256-ZRKb6zBfTvdCOXI7nGC1L9UWSU5ay2ltxg+f5UIzBOU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "545c7a31e5dedea4a6d372712a18e00ce097d462", + "rev": "b69883faca9542d135fa6bab7928ff1b233c167f", "type": "github" }, "original": { From 2c8702e9b5eb689d94012439a69fa7e82e0430c6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Feb 2023 09:11:22 +0100 Subject: [PATCH 0994/2080] Install pyenv on macOS. --- machines/Baptistes-MBP/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 974fa248..b17d19f8 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -28,11 +28,12 @@ "bitwarden-cli" "fetch-crl" + "pyenv" ]; casks = [ "rectangle" "mumble" "podman-desktop" ]; -}; + }; } From 6b53ed547e6d8d8437a2bbdd904abf26600ebb8e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Feb 2023 09:11:38 +0100 Subject: [PATCH 0995/2080] nix: keep more generations on macos --- machines/Baptistes-MBP/configuration.nix | 72 ++++++++++++------------ 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 0db16d4c..174a38bb 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -14,7 +14,7 @@ nix.gc = { automatic = true; - options = "--delete-older-than 8d"; + options = "--delete-older-than 60d"; }; # Enable experimental nix command and flakes @@ -66,7 +66,7 @@ libertine victor-mono kochi-substitute - ]; + ]; # Keyboard system.keyboard.enableKeyMapping = true; @@ -74,44 +74,44 @@ # macOS system configuration system.defaults = { - dock = { - autohide = true; - orientation = "left"; - showhidden = true; - mineffect = "scale"; - launchanim = true; - show-process-indicators = true; - tilesize = 48; - static-only = true; - mru-spaces = false; - }; - finder = { - AppleShowAllExtensions = true; - FXEnableExtensionChangeWarning = false; - }; - trackpad = { - Clicking = true; - TrackpadThreeFingerDrag = true; - }; - NSGlobalDomain = { - AppleKeyboardUIMode = 3; - ApplePressAndHoldEnabled = false; - # https://apple.stackexchange.com/questions/261163/default-value-for-nsglobaldomain-initialkeyrepeat#288764 + dock = { + autohide = true; + orientation = "left"; + showhidden = true; + mineffect = "scale"; + launchanim = true; + show-process-indicators = true; + tilesize = 48; + static-only = true; + mru-spaces = false; + }; + finder = { + AppleShowAllExtensions = true; + FXEnableExtensionChangeWarning = false; + }; + trackpad = { + Clicking = true; + TrackpadThreeFingerDrag = true; + }; + NSGlobalDomain = { + AppleKeyboardUIMode = 3; + ApplePressAndHoldEnabled = false; + # https://apple.stackexchange.com/questions/261163/default-value-for-nsglobaldomain-initialkeyrepeat#288764 # lower is slower # defaults read NSGlobalDomain InitialKeyRepeat - InitialKeyRepeat = 25; + InitialKeyRepeat = 25; # defaults read NSGlobalDomain KeyRepeat # lower is faster - KeyRepeat = 4; - NSAutomaticCapitalizationEnabled = false; - NSAutomaticDashSubstitutionEnabled = false; - NSAutomaticPeriodSubstitutionEnabled = false; - NSAutomaticQuoteSubstitutionEnabled = false; - NSAutomaticSpellingCorrectionEnabled = false; - NSNavPanelExpandedStateForSaveMode = true; - NSNavPanelExpandedStateForSaveMode2 = true; - }; - }; + KeyRepeat = 4; + NSAutomaticCapitalizationEnabled = false; + NSAutomaticDashSubstitutionEnabled = false; + NSAutomaticPeriodSubstitutionEnabled = false; + NSAutomaticQuoteSubstitutionEnabled = false; + NSAutomaticSpellingCorrectionEnabled = false; + NSNavPanelExpandedStateForSaveMode = true; + NSNavPanelExpandedStateForSaveMode2 = true; + }; + }; # Exmaple on user postActivation scripts # system.activationScripts.postActivation.text = '' From 7f2db83fccc1249341a6e51a196e1f96b309df55 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Feb 2023 09:12:48 +0100 Subject: [PATCH 0996/2080] nvim: use catppuccin-frappe colorscheme. --- lazyvim/nvim/lua/plugins/gwarf.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index f0b8a631..e82b46bf 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -30,10 +30,10 @@ return { "LazyVim/LazyVim", opts = { -- colorscheme = "catppuccin-macchiato", - -- colorscheme = "catppuccin-frappe", - colorscheme = function() - require("tokyonight").load({ style = "storm" }) - end, + colorscheme = "catppuccin-frappe", + -- colorscheme = function() + -- require("tokyonight").load({ style = "storm" }) + -- end, }, }, From ef9c5fc665f44390492ba2cb31c1de33bfe19f49 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Feb 2023 09:13:06 +0100 Subject: [PATCH 0997/2080] Install catppuccin theme. --- lazyvim/nvim/lua/config/lazy.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index e9083661..8e85c595 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -20,7 +20,7 @@ require("lazy").setup({ lazy = true, -- every plugin is lazy-loaded by default version = "*", -- try installing the latest stable version for plugins that support semver }, - install = { colorscheme = { "tokyonight" } }, + install = { colorscheme = { "tokyonight", "catppuccin" } }, checker = { enabled = true }, -- automatically check for plugin updates performance = { rtp = { From 75da5feeffc097893f036ee99bae66c0cc6b2ed6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Feb 2023 09:21:39 +0100 Subject: [PATCH 0998/2080] lazyim: cleanup/document --- lazyvim/nvim/lua/config/lazy.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 8e85c595..e72684e6 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -10,11 +10,14 @@ require("lazy").setup({ spec = { -- import LazyVim plugins { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import extras LazyVim modules + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. + { import = "lazyvim.plugins.extras.lang.typescript" }, + -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, -- import/override with your plugins { import = "plugins" }, - -- import any extras modules here - -- { import = "lazyvim.plugins.extras.lang.typescript" }, - -- { import = "lazyvim.plugins.extras.lang.json" }, }, defaults = { lazy = true, -- every plugin is lazy-loaded by default From 66ed8cdeacf7807c15157e4db3924d3c947ebba5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Feb 2023 09:21:57 +0100 Subject: [PATCH 0999/2080] gwarf.lua: install and use dracula theme. Move LazyVim modules loading to main lazyvim file. --- lazyvim/nvim/lua/plugins/gwarf.lua | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index e82b46bf..48582e23 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -26,11 +26,16 @@ return { opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) end, }, + + -- Install treesitter-aware fork of dracula theme + { "Mofiqul/dracula.nvim" }, + + -- Override LazyVim configuration { "LazyVim/LazyVim", opts = { - -- colorscheme = "catppuccin-macchiato", - colorscheme = "catppuccin-frappe", + colorscheme = "dracula", + -- colorscheme = "catppuccin-frappe", -- colorscheme = function() -- require("tokyonight").load({ style = "storm" }) -- end, @@ -91,13 +96,6 @@ return { }, }, - -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, - -- treesitter, mason and typescript.nvim. - { import = "lazyvim.plugins.extras.lang.typescript" }, - - -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc - { import = "lazyvim.plugins.extras.lang.json" }, - -- XXX tools are managed via nix -- add any tools you want to have installed below -- { From 5b90ea27f0ae39e1377c7d0d121ad6e34a54b6a3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Feb 2023 09:22:49 +0100 Subject: [PATCH 1000/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 41 +++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 7e392639..a7824b7b 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,54 +1,55 @@ { - "LazyVim": { "branch": "main", "commit": "2e18998c9ed7d2fa773b782f3aa3c0d5ac5cc21d" }, + "LazyVim": { "branch": "main", "commit": "befa6c67a4387b0db4f8421d463f5d03f91dc829" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "e98c273cb5c65e798176ed1283b80968c1e554eb" }, - "alpha-nvim": { "branch": "main", "commit": "1c903fd40b1d51e7740b4d90e9f18e83f2916586" }, - "bufferline.nvim": { "branch": "main", "commit": "f4af7e5ad68fca928753f280515646803252611d" }, + "SchemaStore.nvim": { "branch": "main", "commit": "9c3593f5400d84586ccf89cc436f1ab22d13c3df" }, + "alpha-nvim": { "branch": "main", "commit": "b6c7b5d9d6d2633722255abf2be3ecb8733e8d2d" }, + "bufferline.nvim": { "branch": "main", "commit": "52d6acabb79c8c0942f8873a0ca7848eb2159267" }, "catppuccin": { "branch": "main", "commit": "c5ed88194ae1d581d3083725a0dc7c90dd3446be" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, "dressing.nvim": { "branch": "master", "commit": "db716a0f1279f79a886c0e0b6ab3c3d5ffdb42fe" }, "flit.nvim": { "branch": "main", "commit": "980e80e8fe44caaeb9de501c8e97a559b17db2f4" }, - "friendly-snippets": { "branch": "main", "commit": "1645e7cd98ed99e766c84ab3cf13a1612c77dcee" }, + "friendly-snippets": { "branch": "main", "commit": "6fa50a94ba5378bb73013a6e163376d8e69bd8a5" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, - "indent-blankline.nvim": { "branch": "master", "commit": "8299fe7703dfff4b1752aeed271c3b95281a952d" }, - "lazy.nvim": { "branch": "main", "commit": "c778b7aa04c484e1536ba219e71f2fd0f05302aa" }, - "leap.nvim": { "branch": "main", "commit": "1367a095f336c6c7ccda8c6747b57048fc5e008d" }, - "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, + "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, + "lazy.nvim": { "branch": "main", "commit": "8077428e63feb0f3bf795d53b23ba1695b28ab0e" }, + "leap.nvim": { "branch": "main", "commit": "9a69febb2e5a4f5f5a55dd2d7173098fde917bc5" }, + "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "93e58e100f37ef4fb0f897deeed20599dae9d128" }, - "mason.nvim": { "branch": "main", "commit": "eb6010ac97e9b510ddce8d28b6925ff6b046eab2" }, + "mason.nvim": { "branch": "main", "commit": "11e34da70dc531e5d917fd4303db2d81258f6ada" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.bufremove": { "branch": "main", "commit": "351d18d596f7eac4589b67b4b87ed1708c545dd3" }, "mini.comment": { "branch": "main", "commit": "9fc3fe43129e8c2611bd21b8f50af8c0d0742533" }, "mini.indentscope": { "branch": "main", "commit": "d3e907b13298b0fc60db289fb804be7e9c561922" }, "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "245cf1e68840defcc75a16297740f6203f5a045d" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "74040b34278910d9b467fd914862e2a9a1ebacaa" }, "neoconf.nvim": { "branch": "main", "commit": "627794ccb18521d7c7d11606d2cf2674f9ed515e" }, "neodev.nvim": { "branch": "main", "commit": "a81e749d0fe8429cd340b2e40f274b344bef42ac" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, - "null-ls.nvim": { "branch": "main", "commit": "9d811bb6ed44cf766f4bda8a47fd65fdfbdcaa7d" }, - "nvim-cmp": { "branch": "main", "commit": "c4128bcd131fb7152bda8f8dd2b5e41d2fefa88c" }, + "null-ls.nvim": { "branch": "main", "commit": "689cdd78f70af20a37b5309ebc287ac645ae4f76" }, + "nvim-cmp": { "branch": "main", "commit": "7cd39409e7378fa711624687d3b430b8a56c3af9" }, "nvim-lspconfig": { "branch": "master", "commit": "255e07ce2a05627d482d2de77308bba51b90470c" }, "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, - "nvim-spectre": { "branch": "master", "commit": "1d8b7a40677fd87da7648d246c4675c3612a7582" }, - "nvim-treesitter": { "branch": "master", "commit": "f475b24c81d64d64ab213a73882b7c4f3bbbf26a" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "fcd764507f723903af5507e141ea593e855b504a" }, + "nvim-spectre": { "branch": "master", "commit": "ce73d505fdc45f16c1a04f6a98c1c1e114841708" }, + "nvim-treesitter": { "branch": "master", "commit": "454876fc6d25a699178cb66aeda4014dedb765f3" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "2f3583001e2bf793480f38cf0d055571787b0259" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "bb6d4fd1e010300510172b173ab5205d37af084f" }, + "nvim-web-devicons": { "branch": "master", "commit": "4709a504d2cd2680fb511675e64ef2790d491d36" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, - "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, + "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "203bf5609137600d73e8ed82703d6b0e320a5f36" }, + "telescope.nvim": { "branch": "master", "commit": "a486ac3e8fb2198f3636da1927ed57a28836fbd8" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "a0abe53df53616d13da327636cb0bcac3ea7f5af" }, - "trouble.nvim": { "branch": "main", "commit": "556ef3089709a6e253df1e500381fec5eb48e48a" }, + "trouble.nvim": { "branch": "main", "commit": "c82530083dd248ffa72d7087199ea5c8efe81820" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, From 1ad24ac4a5bbfa404309aef021f369dd71e6eba2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Feb 2023 09:27:03 +0100 Subject: [PATCH 1001/2080] kitty: switch to dracula theme --- modules/home/kitty/default.nix | 6 ++- modules/home/kitty/dracula.conf | 66 +++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 modules/home/kitty/dracula.conf diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index 8a5da3bb..3b91dab7 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -8,6 +8,7 @@ # Use a static configuration file for colors home.file.".config/kitty/tokyonight_storm.conf".source = ./tokyonight_storm.conf; + home.file.".config/kitty/dracula.conf".source = ./dracula.conf; # General config # https://sw.kovidgoyal.net/kitty/conf/ @@ -32,8 +33,9 @@ }; programs.kitty.extraConfig = '' - # Load tokyonight_storm theme - include tokyonight_storm.conf + # Load theme + # include tokyonight_storm.conf + include dracula.conf # Change the style of italic font variants modify_font underline_thickness 400% diff --git a/modules/home/kitty/dracula.conf b/modules/home/kitty/dracula.conf new file mode 100644 index 00000000..8f05c52a --- /dev/null +++ b/modules/home/kitty/dracula.conf @@ -0,0 +1,66 @@ +# https://draculatheme.com/kitty +# +# Installation instructions: +# +# cp dracula.conf ~/.config/kitty/ +# echo "include dracula.conf" >> ~/.config/kitty/kitty.conf +# +# Then reload kitty for the config to take affect. +# Alternatively copy paste below directly into kitty.conf + +foreground #f8f8f2 +background #282a36 +selection_foreground #ffffff +selection_background #44475a + +url_color #8be9fd + +# black +color0 #21222c +color8 #6272a4 + +# red +color1 #ff5555 +color9 #ff6e6e + +# green +color2 #50fa7b +color10 #69ff94 + +# yellow +color3 #f1fa8c +color11 #ffffa5 + +# blue +color4 #bd93f9 +color12 #d6acff + +# magenta +color5 #ff79c6 +color13 #ff92df + +# cyan +color6 #8be9fd +color14 #a4ffff + +# white +color7 #f8f8f2 +color15 #ffffff + +# Cursor colors +cursor #f8f8f2 +cursor_text_color background + +# Tab bar colors +active_tab_foreground #282a36 +active_tab_background #f8f8f2 +inactive_tab_foreground #282a36 +inactive_tab_background #6272a4 + +# Marks +mark1_foreground #282a36 +mark1_background #ff5555 + +# Splits/Windows +active_border_color #f8f8f2 +inactive_border_color #6272a4 From d38d00481f242bb5cc7434623daa472be98c9b9f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Feb 2023 09:32:07 +0100 Subject: [PATCH 1002/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/e19f25b587f15871d26442cfa1abe4418a815d7d' (2023-02-20) → 'github:NixOS/nixpkgs/c95bf18beba4290af25c60cbaaceea1110d0f727' (2023-02-22) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/cd56369075acb5fa8459e640b56a0dc1f05e1022' (2023-02-20) → 'github:nixos/nixpkgs/2dc8a48c5b96871e64ede71e387d60204cde16ae' (2023-02-22) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/b69883faca9542d135fa6bab7928ff1b233c167f' (2023-02-20) → 'github:nixos/nixpkgs/988cc958c57ce4350ec248d2d53087777f9e1949' (2023-02-22) • Updated input 'nur': 'github:nix-community/NUR/eb65539c885d8e0ccfa9d508904772de904e9256' (2023-02-21) → 'github:nix-community/NUR/1bc392db530b26f33dd5c941047def5973cf5ed2' (2023-02-23) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 80261b33..afa0f884 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1676885936, - "narHash": "sha256-ZRKb6zBfTvdCOXI7nGC1L9UWSU5ay2ltxg+f5UIzBOU=", + "lastModified": 1677063315, + "narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b69883faca9542d135fa6bab7928ff1b233c167f", + "rev": "988cc958c57ce4350ec248d2d53087777f9e1949", "type": "github" }, "original": { From 66ae0918cf1f8fa40a442f4a94b9d354b847f7b1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 Feb 2023 14:12:33 +0100 Subject: [PATCH 1003/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/2cb27c79117a2a75ff3416c3199a2dc57af6a527' (2023-02-13) → 'github:nix-community/home-manager/29280978234b73423f4eb708cbb999295f76b42a' (2023-02-25) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/c95bf18beba4290af25c60cbaaceea1110d0f727' (2023-02-22) → 'github:NixOS/nixpkgs/7076110064c09f0b3942f609f2134c1358ef2e50' (2023-02-25) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/2dc8a48c5b96871e64ede71e387d60204cde16ae' (2023-02-22) → 'github:nixos/nixpkgs/ea736343e4d4a052e023d54b23334cf685de479c' (2023-02-25) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/988cc958c57ce4350ec248d2d53087777f9e1949' (2023-02-22) → 'github:nixos/nixpkgs/7f5639fa3b68054ca0b062866dc62b22c3f11505' (2023-02-26) • Updated input 'nur': 'github:nix-community/NUR/1bc392db530b26f33dd5c941047def5973cf5ed2' (2023-02-23) → 'github:nix-community/NUR/d7d95162129f04f913a122785c7246c08831c924' (2023-02-27) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index afa0f884..fa9e108b 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1676257154, - "narHash": "sha256-eW3jymNLpdxS5fkp9NWKyNtgL0Gqtgg1vCTofKXDF1g=", + "lastModified": 1677284824, + "narHash": "sha256-I3gDxmGjyXdtOR5S8sIeCO8pT+5OR69f/g5EVoQUdsY=", "owner": "nix-community", "repo": "home-manager", - "rev": "2cb27c79117a2a75ff3416c3199a2dc57af6a527", + "rev": "29280978234b73423f4eb708cbb999295f76b42a", "type": "github" }, "original": { @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1677063315, - "narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=", + "lastModified": 1677407201, + "narHash": "sha256-3blwdI9o1BAprkvlByHvtEm5HAIRn/XPjtcfiunpY7s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "988cc958c57ce4350ec248d2d53087777f9e1949", + "rev": "7f5639fa3b68054ca0b062866dc62b22c3f11505", "type": "github" }, "original": { From c42682a9bebebcf3e037b2dc7f68c1858e682e7e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 Feb 2023 14:36:00 +0100 Subject: [PATCH 1004/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index a7824b7b..a567938a 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "befa6c67a4387b0db4f8421d463f5d03f91dc829" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "9c3593f5400d84586ccf89cc436f1ab22d13c3df" }, + "SchemaStore.nvim": { "branch": "main", "commit": "6f2ffb8420422db9a6c43dbce7227f0fdb9fcf75" }, "alpha-nvim": { "branch": "main", "commit": "b6c7b5d9d6d2633722255abf2be3ecb8733e8d2d" }, "bufferline.nvim": { "branch": "main", "commit": "52d6acabb79c8c0942f8873a0ca7848eb2159267" }, "catppuccin": { "branch": "main", "commit": "c5ed88194ae1d581d3083725a0dc7c90dd3446be" }, @@ -11,7 +11,7 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, - "dressing.nvim": { "branch": "master", "commit": "db716a0f1279f79a886c0e0b6ab3c3d5ffdb42fe" }, + "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, "flit.nvim": { "branch": "main", "commit": "980e80e8fe44caaeb9de501c8e97a559b17db2f4" }, "friendly-snippets": { "branch": "main", "commit": "6fa50a94ba5378bb73013a6e163376d8e69bd8a5" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, @@ -19,12 +19,12 @@ "lazy.nvim": { "branch": "main", "commit": "8077428e63feb0f3bf795d53b23ba1695b28ab0e" }, "leap.nvim": { "branch": "main", "commit": "9a69febb2e5a4f5f5a55dd2d7173098fde917bc5" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "93e58e100f37ef4fb0f897deeed20599dae9d128" }, - "mason.nvim": { "branch": "main", "commit": "11e34da70dc531e5d917fd4303db2d81258f6ada" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "3f9c0ea157e88b08e2d11ec65002eeb6e421f0da" }, + "mason.nvim": { "branch": "main", "commit": "5f38eca64b7ed9f8a1f997ce67f2ccc80ab80c91" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.bufremove": { "branch": "main", "commit": "351d18d596f7eac4589b67b4b87ed1708c545dd3" }, "mini.comment": { "branch": "main", "commit": "9fc3fe43129e8c2611bd21b8f50af8c0d0742533" }, - "mini.indentscope": { "branch": "main", "commit": "d3e907b13298b0fc60db289fb804be7e9c561922" }, + "mini.indentscope": { "branch": "main", "commit": "ff1e68b5c01426f9dfff3278dd1b10c9b5f000a1" }, "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "74040b34278910d9b467fd914862e2a9a1ebacaa" }, @@ -34,24 +34,25 @@ "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, "null-ls.nvim": { "branch": "main", "commit": "689cdd78f70af20a37b5309ebc287ac645ae4f76" }, - "nvim-cmp": { "branch": "main", "commit": "7cd39409e7378fa711624687d3b430b8a56c3af9" }, - "nvim-lspconfig": { "branch": "master", "commit": "255e07ce2a05627d482d2de77308bba51b90470c" }, + "nvim-cmp": { "branch": "main", "commit": "01f697a68905f9dcae70960a9eb013695a17f9a2" }, + "nvim-lspconfig": { "branch": "master", "commit": "62856b20751b748841b0f3ec5a10b1e2f6a6dbc9" }, "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, - "nvim-spectre": { "branch": "master", "commit": "ce73d505fdc45f16c1a04f6a98c1c1e114841708" }, - "nvim-treesitter": { "branch": "master", "commit": "454876fc6d25a699178cb66aeda4014dedb765f3" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "2f3583001e2bf793480f38cf0d055571787b0259" }, + "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, + "nvim-treesitter": { "branch": "master", "commit": "a9f0b1c2ba1d70de9189e1ade0e65346ad08849b" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "4b30081d2736e09f90c890a8a7adfe4df36f5b36" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "4709a504d2cd2680fb511675e64ef2790d491d36" }, + "nvim-web-devicons": { "branch": "master", "commit": "0f23feca2bd08549b779c838b6b1308d1e76df03" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "a486ac3e8fb2198f3636da1927ed57a28836fbd8" }, + "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "a0abe53df53616d13da327636cb0bcac3ea7f5af" }, "trouble.nvim": { "branch": "main", "commit": "c82530083dd248ffa72d7087199ea5c8efe81820" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, + "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, "which-key.nvim": { "branch": "main", "commit": "5224c261825263f46f6771f1b644cae33cd06995" } From cf1ed16fdc98379aa3439ceaba8a35b1cad7c49a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 Feb 2023 14:36:08 +0100 Subject: [PATCH 1005/2080] neovim: install vim-nix, use latest version of lspconfig. --- lazyvim/nvim/lua/plugins/gwarf.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 48582e23..24450f60 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -42,6 +42,9 @@ return { }, }, + -- Install support for editing nix files + { "LnL7/vim-nix" }, + -- change some telescope options and a keymap to browse plugin files { "nvim-telescope/telescope.nvim", @@ -80,6 +83,10 @@ return { -- add various LSP to lspconfig { "neovim/nvim-lspconfig", + -- Need to run master as current tagged release is broken and not using latest lua_ls + -- name, cf https://github.com/neovim/nvim-lspconfig/pull/2439 + -- https://www.lazyvim.org/configuration/lazy.nvim + version = false, ---@class PluginLspOpts opts = { ---@type lspconfig.options From e49578417639e136dbad7f84c2d6ab3d7fb15de3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 Feb 2023 14:37:01 +0100 Subject: [PATCH 1006/2080] No more install podman. --- home/main.nix | 2 +- machines/Baptistes-MBP/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/home/main.nix b/home/main.nix index 976b5c40..a6520acb 100644 --- a/home/main.nix +++ b/home/main.nix @@ -81,7 +81,7 @@ # pkgs-unstable.nodePackages.textlint # pkgs-unstable.nodePackages.textlint-rule-terminology nodejs - podman + # podman pylint qemu shellcheck diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index b17d19f8..1cf6c58a 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -33,7 +33,7 @@ casks = [ "rectangle" "mumble" - "podman-desktop" + # "podman-desktop" ]; }; } From 1e9002280435e847340c7ad2d996a13ac5751dbd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 Feb 2023 14:37:23 +0100 Subject: [PATCH 1007/2080] fish: add an alias for directories. --- modules/home/fish/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index c5a01131..74997fbd 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -36,6 +36,7 @@ in du = "${pkgs.du-dust}/bin/dust"; g = "${pkgs.git}/bin/git"; ls = "${pkgs.exa}/bin/exa"; + lsd = "${pkgs.exa}/bin/exa -D"; ll = "ls -l --time-style long-iso --icons"; la = "ll -a"; l = "ls -l --time-style long-iso --icons"; @@ -48,9 +49,9 @@ in mv = "mv -i"; cp = "cp -i"; # Preventing changing perms on / - chown="chown --preserve-root"; - chmod="chmod --preserve-root"; - chgrp="chgrp --preserve-root"; + chown = "chown --preserve-root"; + chmod = "chmod --preserve-root"; + chgrp = "chgrp --preserve-root"; }; # Configuration that should be above `loginShellInit` and `interactiveShellInit`. From fcb7c991c45e420880a13037d166dc1b4ac65a76 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 Feb 2023 14:37:40 +0100 Subject: [PATCH 1008/2080] kitty: force using fish. --- modules/home/kitty/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index 3b91dab7..14e78761 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -30,6 +30,8 @@ active_tab_font_style = "bold"; inactive_tab_font_style = "normal"; tab_activity_symbol = ""; + # Use fish as shell + shell = "fish"; }; programs.kitty.extraConfig = '' From f3e8b2598d151040d87b21819d49ae48c5565ed4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 Feb 2023 14:59:24 +0100 Subject: [PATCH 1009/2080] kitty: fix fish launch. --- modules/home/kitty/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index 14e78761..8de3c757 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -31,7 +31,7 @@ inactive_tab_font_style = "normal"; tab_activity_symbol = ""; # Use fish as shell - shell = "fish"; + shell = "${pkgs.fish}/bin/fish --interactive --login"; }; programs.kitty.extraConfig = '' From 2a0a3a3ab027c8cc31c188667f6547f7f6f20354 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 Feb 2023 14:59:40 +0100 Subject: [PATCH 1010/2080] fish: explicitly set path. --- modules/home/fish/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 74997fbd..6607b974 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -84,6 +84,12 @@ in # Use clang set -Ux CC clang set -Ux CXX clang++ + # Add nix dir to path + fish_add_path "~/.nix-profile/bin" + # XXX need to ensure user-specific profile is loaded + fish_add_path "/etc/profiles/per-user/baptiste/bin" + fish_add_path "/run/current-system/sw/bin" + fish_add_path "/nix/var/nix/profiles/default/bin" end # nvim! From 635d6be2605099df7d0da5534c287789e4770a80 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Feb 2023 09:35:02 +0100 Subject: [PATCH 1011/2080] Disable -02 for clang as it fails with clang-15. Update PATH for fish. --- modules/home/fish/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 6607b974..10ac1c3e 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -73,7 +73,9 @@ in if test (uname) = Darwin # https://github.com/pyenv/pyenv/wiki/Common-build-problems # Required for building python with pyenv on Mac OS X - set -Ux CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + # XXX clang-15: unknown argument -02 + # set -Ux CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + set -Ux CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" set -Ux LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" if test -d "/usr/local/opt/llvm" # Favor using llvm stuff from homebrew @@ -84,10 +86,11 @@ in # Use clang set -Ux CC clang set -Ux CXX clang++ - # Add nix dir to path + fish_add_path "/usr/local/bin" + # XXX Add nix directories to path that missing in current kitty config fish_add_path "~/.nix-profile/bin" # XXX need to ensure user-specific profile is loaded - fish_add_path "/etc/profiles/per-user/baptiste/bin" + fish_add_path "/etc/profiles/per-user/$USER/bin" fish_add_path "/run/current-system/sw/bin" fish_add_path "/nix/var/nix/profiles/default/bin" end From 75df90e1721e45dc2406441e93ebded142a14053 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Feb 2023 09:39:16 +0100 Subject: [PATCH 1012/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/29280978234b73423f4eb708cbb999295f76b42a' (2023-02-25) → 'github:nix-community/home-manager/550809881b9792c20adbc0bbf6a090b4035ebaca' (2023-02-27) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/7076110064c09f0b3942f609f2134c1358ef2e50' (2023-02-25) → 'github:NixOS/nixpkgs/8bd260eb578e3fea6bce158b24c93ab158d031e7' (2023-02-26) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/ea736343e4d4a052e023d54b23334cf685de479c' (2023-02-25) → 'github:nixos/nixpkgs/b26d52c9feb6476580016e78935cbf96eb3e2115' (2023-02-28) • Updated input 'nur': 'github:nix-community/NUR/d7d95162129f04f913a122785c7246c08831c924' (2023-02-27) → 'github:nix-community/NUR/903c4f5fe3566cf25dee33a4b1e87620fdfbe1ea' (2023-02-28) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index fa9e108b..ac462bf6 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1677284824, - "narHash": "sha256-I3gDxmGjyXdtOR5S8sIeCO8pT+5OR69f/g5EVoQUdsY=", + "lastModified": 1677533640, + "narHash": "sha256-FHbqVw5q0Xi0Lep30+FyoAKAkXVMK+G1NLMq5pGVbuY=", "owner": "nix-community", "repo": "home-manager", - "rev": "29280978234b73423f4eb708cbb999295f76b42a", + "rev": "550809881b9792c20adbc0bbf6a090b4035ebaca", "type": "github" }, "original": { From eb490479567465d51a682d5bfdfe85a1527959a9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Feb 2023 10:36:31 +0100 Subject: [PATCH 1013/2080] Fix path and pyenv building on macOS. --- modules/home/fish/default.nix | 37 ++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 10ac1c3e..11684bc0 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -71,28 +71,33 @@ in # Need clang from homebrew on macOS (for C++11 / 14 with neorg and tree-sitter) if test (uname) = Darwin + # Add nix directories to path missing in current kitty config + fish_add_path "~/.nix-profile/bin" + fish_add_path "/etc/profiles/per-user/$USER/bin" + fish_add_path "/run/current-system/sw/bin" + fish_add_path "/nix/var/nix/profiles/default/bin" + + # Add path mainly used by brew + fish_add_path "/usr/local/bin" + # https://github.com/pyenv/pyenv/wiki/Common-build-problems - # Required for building python with pyenv on Mac OS X # XXX clang-15: unknown argument -02 # set -Ux CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" set -Ux CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - set -Ux LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib" - if test -d "/usr/local/opt/llvm" - # Favor using llvm stuff from homebrew - set -Ux CPPFLAGS "-I/usr/local/opt/llvm/include" - set -Ux LDFLAGS "-L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" - fish_add_path "/usr/local/opt/llvm/bin" - end - # Use clang + + # Favor using llvm stuff from homebrew + set -Ux CPPFLAGS "-I/usr/local/opt/llvm/include" + set -Ux LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" + fish_add_path "/usr/local/opt/llvm/bin" + + # Use clang/llvm as main compiler set -Ux CC clang set -Ux CXX clang++ - fish_add_path "/usr/local/bin" - # XXX Add nix directories to path that missing in current kitty config - fish_add_path "~/.nix-profile/bin" - # XXX need to ensure user-specific profile is loaded - fish_add_path "/etc/profiles/per-user/$USER/bin" - fish_add_path "/run/current-system/sw/bin" - fish_add_path "/nix/var/nix/profiles/default/bin" + + # Load pyenv + set -x PYENV_ROOT $HOME/.pyenv + fish_add_path $PYENV_ROOT/bin + pyenv init - | source end # nvim! From 18e6f9bbc435299a840984d6f1c280fc67271cf3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Feb 2023 10:36:56 +0100 Subject: [PATCH 1014/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index a567938a..6605e267 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -32,17 +32,17 @@ "neodev.nvim": { "branch": "main", "commit": "a81e749d0fe8429cd340b2e40f274b344bef42ac" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, - "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, + "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, "null-ls.nvim": { "branch": "main", "commit": "689cdd78f70af20a37b5309ebc287ac645ae4f76" }, "nvim-cmp": { "branch": "main", "commit": "01f697a68905f9dcae70960a9eb013695a17f9a2" }, "nvim-lspconfig": { "branch": "master", "commit": "62856b20751b748841b0f3ec5a10b1e2f6a6dbc9" }, "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, - "nvim-treesitter": { "branch": "master", "commit": "a9f0b1c2ba1d70de9189e1ade0e65346ad08849b" }, + "nvim-treesitter": { "branch": "master", "commit": "418caac89dab5a37ccaf403b3829e4eeb4124d67" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "4b30081d2736e09f90c890a8a7adfe4df36f5b36" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "0f23feca2bd08549b779c838b6b1308d1e76df03" }, + "nvim-web-devicons": { "branch": "master", "commit": "c2c2317f356c8b7da0252f5da758f71bb60bb6b2" }, "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, From cde4a92269f0f74752d3c4e80e00c5d88c4efd83 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Feb 2023 12:14:06 +0100 Subject: [PATCH 1015/2080] fish: add a wrapper for mutt to load proper venv --- modules/home/fish/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 11684bc0..9e3af05b 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -98,6 +98,12 @@ in set -x PYENV_ROOT $HOME/.pyenv fish_add_path $PYENV_ROOT/bin pyenv init - | source + + # Load custon pytyon3 venv for mutt + ical + function mutt + source ~/.config/neomutt/.venv/bin/activate.fish + /usr/local/bin/mutt + end end # nvim! From 7842033394e7e8c8c888e912338070afe4f94555 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Feb 2023 12:14:49 +0100 Subject: [PATCH 1016/2080] mutt: document using venv. --- .config/neomutt/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.config/neomutt/README.md b/.config/neomutt/README.md index 6c62dd63..9bf3841b 100644 --- a/.config/neomutt/README.md +++ b/.config/neomutt/README.md @@ -62,3 +62,23 @@ It's possible to use [perlbrew](https://perlbrew.pl) to manage perl modules. $ cpanm Mail::Box::Maildir $ cpanm String::ShellQuote ``` + +## Python setup for reading calendar invites + +Requirements: pyhon3 + a virtualenv + +```shell +# Get latest version at https://www.python.org/downloads/ +$ pyenv install 3.11.2 +$ pyenv local 3.11.2 +$ python -m venv .venv +$ source .venv/bin/activate.fish +$ pip install -r requirements.txt +``` + +Mutt should be started with the proper python environment: + +```shell +$ source ~/.config/neomutt/.venv/bin/activate.fish +$ mutt +``` From bba7d031d2484f2db4f792946150e1bc1f6a3ef4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 1 Mar 2023 10:14:43 +0100 Subject: [PATCH 1017/2080] Install inetutils to provide telnet --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index a6520acb..b90bdea6 100644 --- a/home/main.nix +++ b/home/main.nix @@ -58,6 +58,7 @@ thefuck tree xz + inetutils # Graphical tools # XXX joplin-cli build failing on macOS From 75bfcfea7689153847d977dcbe5730c49bfdb6ce Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 1 Mar 2023 10:15:34 +0100 Subject: [PATCH 1018/2080] fish: start oidc-agent-service --- modules/home/fish/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 9e3af05b..a0cb9a7d 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -104,6 +104,13 @@ in source ~/.config/neomutt/.venv/bin/activate.fish /usr/local/bin/mutt end + + # Start oidc-agent + if type -q oidc-agent-service + eval $(oidc-agent-service use) + # for fedcloudclient, once egi account got created + # export OIDC_AGENT_ACCOUNT=egi + end end # nvim! From dcf5fd54f3c71b9850cb3f1f9c9921bfe480f3dd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 2 Mar 2023 14:10:15 +0100 Subject: [PATCH 1019/2080] fish: no more set universal variables. Fix setting up oidc-agent env. --- modules/home/fish/default.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index a0cb9a7d..d66fc440 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -64,10 +64,10 @@ in ${pkgs.thefuck}/bin/thefuck --alias | source # Use bat as pager - set -Ux PAGER "${pkgs.bat}/bin/bat" + set -gx PAGER "${pkgs.bat}/bin/bat" # https://unix.stackexchange.com/questions/343168/can-i-prevent-service-foo-status-from-paging-its-output-through-less - set -Ux SYSTEMD_PAGER "${pkgs.bat}/bin/bat" - set -Ux MANPAGER "nvim +Man!" + set -gx SYSTEMD_PAGER "${pkgs.bat}/bin/bat" + set -gx MANPAGER "nvim +Man!" # Need clang from homebrew on macOS (for C++11 / 14 with neorg and tree-sitter) if test (uname) = Darwin @@ -82,17 +82,17 @@ in # https://github.com/pyenv/pyenv/wiki/Common-build-problems # XXX clang-15: unknown argument -02 - # set -Ux CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - set -Ux CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + # set -gx CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + set -gx CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" # Favor using llvm stuff from homebrew - set -Ux CPPFLAGS "-I/usr/local/opt/llvm/include" - set -Ux LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" + set -gx CPPFLAGS "-I/usr/local/opt/llvm/include" + set -gx LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" fish_add_path "/usr/local/opt/llvm/bin" # Use clang/llvm as main compiler - set -Ux CC clang - set -Ux CXX clang++ + set -gx CC clang + set -gx CXX clang++ # Load pyenv set -x PYENV_ROOT $HOME/.pyenv @@ -107,7 +107,7 @@ in # Start oidc-agent if type -q oidc-agent-service - eval $(oidc-agent-service use) + eval (oidc-agent-service use | awk '/^OIDC.*export/ {print $1}' | tr -d \; | awk -F'=' '{print "set -gx "$1" "$2";" }') # for fedcloudclient, once egi account got created # export OIDC_AGENT_ACCOUNT=egi end From 56397d0f741df88006337185f8a3ed7f858b08bc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 2 Mar 2023 14:11:51 +0100 Subject: [PATCH 1020/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 6605e267..7f2b0715 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { - "LazyVim": { "branch": "main", "commit": "befa6c67a4387b0db4f8421d463f5d03f91dc829" }, + "LazyVim": { "branch": "main", "commit": "d0e420eca8d0701606ccfcb6789245f6b56ab5a4" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "6f2ffb8420422db9a6c43dbce7227f0fdb9fcf75" }, + "SchemaStore.nvim": { "branch": "main", "commit": "e340c528bc4c0df132556cc8d8c419901fd06883" }, "alpha-nvim": { "branch": "main", "commit": "b6c7b5d9d6d2633722255abf2be3ecb8733e8d2d" }, "bufferline.nvim": { "branch": "main", "commit": "52d6acabb79c8c0942f8873a0ca7848eb2159267" }, - "catppuccin": { "branch": "main", "commit": "c5ed88194ae1d581d3083725a0dc7c90dd3446be" }, + "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, @@ -13,47 +13,47 @@ "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, "flit.nvim": { "branch": "main", "commit": "980e80e8fe44caaeb9de501c8e97a559b17db2f4" }, - "friendly-snippets": { "branch": "main", "commit": "6fa50a94ba5378bb73013a6e163376d8e69bd8a5" }, + "friendly-snippets": { "branch": "main", "commit": "543667fccf842b509bfecc80aba558f73a4e7c88" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "8077428e63feb0f3bf795d53b23ba1695b28ab0e" }, + "lazy.nvim": { "branch": "main", "commit": "26d121ea13bee96b079403cee6598f04969d4983" }, "leap.nvim": { "branch": "main", "commit": "9a69febb2e5a4f5f5a55dd2d7173098fde917bc5" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "3f9c0ea157e88b08e2d11ec65002eeb6e421f0da" }, - "mason.nvim": { "branch": "main", "commit": "5f38eca64b7ed9f8a1f997ce67f2ccc80ab80c91" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "08d074cd0c4d40e5b6033a67246f46072ecfe38e" }, + "mason.nvim": { "branch": "main", "commit": "9d2e3c923ede9f5519a7ae2f82b4688cc8b1c9e9" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.bufremove": { "branch": "main", "commit": "351d18d596f7eac4589b67b4b87ed1708c545dd3" }, "mini.comment": { "branch": "main", "commit": "9fc3fe43129e8c2611bd21b8f50af8c0d0742533" }, "mini.indentscope": { "branch": "main", "commit": "ff1e68b5c01426f9dfff3278dd1b10c9b5f000a1" }, "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "74040b34278910d9b467fd914862e2a9a1ebacaa" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "aec592bb1f0cf67f7e1123053d1eb17700aa9ed4" }, "neoconf.nvim": { "branch": "main", "commit": "627794ccb18521d7c7d11606d2cf2674f9ed515e" }, - "neodev.nvim": { "branch": "main", "commit": "a81e749d0fe8429cd340b2e40f274b344bef42ac" }, + "neodev.nvim": { "branch": "main", "commit": "04c02d886f22a077dadb04e2330eebb2ea356f26" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, + "noice.nvim": { "branch": "main", "commit": "f148923300b9fc4609d76867f1f95410ab1442e8" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, "null-ls.nvim": { "branch": "main", "commit": "689cdd78f70af20a37b5309ebc287ac645ae4f76" }, "nvim-cmp": { "branch": "main", "commit": "01f697a68905f9dcae70960a9eb013695a17f9a2" }, - "nvim-lspconfig": { "branch": "master", "commit": "62856b20751b748841b0f3ec5a10b1e2f6a6dbc9" }, + "nvim-lspconfig": { "branch": "master", "commit": "95b7a69bc6da2a6a740584ea3c555e5327638b7d" }, "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, - "nvim-treesitter": { "branch": "master", "commit": "418caac89dab5a37ccaf403b3829e4eeb4124d67" }, + "nvim-treesitter": { "branch": "master", "commit": "b31312729e1b779e2773d99bf83355b09b5ba3d3" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "4b30081d2736e09f90c890a8a7adfe4df36f5b36" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, "nvim-web-devicons": { "branch": "master", "commit": "c2c2317f356c8b7da0252f5da758f71bb60bb6b2" }, - "persistence.nvim": { "branch": "main", "commit": "8484fdaa284207f77ec69b9627316bf334ad653f" }, + "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "a0abe53df53616d13da327636cb0bcac3ea7f5af" }, - "trouble.nvim": { "branch": "main", "commit": "c82530083dd248ffa72d7087199ea5c8efe81820" }, + "tokyonight.nvim": { "branch": "main", "commit": "94c059d1abfbc6eff66dc0c7c51c709f686e3989" }, + "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, - "which-key.nvim": { "branch": "main", "commit": "5224c261825263f46f6771f1b644cae33cd06995" } + "which-key.nvim": { "branch": "main", "commit": "2a0c2d80c0a60f041afb1b789cfedbd510e2b2b6" } } \ No newline at end of file From d9e0b30d5e79fb87c46ffa7b135c286f81f51975 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 2 Mar 2023 14:15:43 +0100 Subject: [PATCH 1021/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/550809881b9792c20adbc0bbf6a090b4035ebaca' (2023-02-27) → 'github:nix-community/home-manager/86bb69b0b1e10d99a30c4352f230f03106dd0f8a' (2023-03-02) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/b26d52c9feb6476580016e78935cbf96eb3e2115' (2023-02-28) → 'github:NixOS/nixpkgs/d70f5cd5c3bef45f7f52698f39e7cc7a89daa7f0' (2023-02-28) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/da9e1809cd89f6d6a45a8c639436b9a6471ef004' (2023-02-28) → 'github:nixos/nixpkgs/1e54a5c67f8f1ffc0295109ca905ea755e765da0' (2023-03-01) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/7f5639fa3b68054ca0b062866dc62b22c3f11505' (2023-02-26) → 'github:nixos/nixpkgs/68196a61c26748d3e53a6803de3d2f8c69f27831' (2023-02-28) • Updated input 'nur': 'github:nix-community/NUR/458246a5098156e4d8be62de85a03feec6a2e4fe' (2023-03-01) → 'github:nix-community/NUR/43b3d068d77851cd9c4c976e4433b4945b9e21c8' (2023-03-02) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index ac462bf6..0769d3b0 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1677533640, - "narHash": "sha256-FHbqVw5q0Xi0Lep30+FyoAKAkXVMK+G1NLMq5pGVbuY=", + "lastModified": 1677757546, + "narHash": "sha256-tA1ukoluctzLVyWRaKtD4KlTwgXbUsGB5vcyni1OJ9I=", "owner": "nix-community", "repo": "home-manager", - "rev": "550809881b9792c20adbc0bbf6a090b4035ebaca", + "rev": "86bb69b0b1e10d99a30c4352f230f03106dd0f8a", "type": "github" }, "original": { @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1677407201, - "narHash": "sha256-3blwdI9o1BAprkvlByHvtEm5HAIRn/XPjtcfiunpY7s=", + "lastModified": 1677587185, + "narHash": "sha256-zYT66MAYwctAQqI5VBw3LbBXiSKdB8vuMAqCGG8onbE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7f5639fa3b68054ca0b062866dc62b22c3f11505", + "rev": "68196a61c26748d3e53a6803de3d2f8c69f27831", "type": "github" }, "original": { From 3ff7745e25d59738f1e81bcbf5c909f71f22bf28 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 3 Mar 2023 09:12:48 +0100 Subject: [PATCH 1022/2080] neovim: install ltex-ls and vim-repeat. --- lazyvim/nvim/lua/plugins/gwarf.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 24450f60..c5f23d0d 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -30,6 +30,9 @@ return { -- Install treesitter-aware fork of dracula theme { "Mofiqul/dracula.nvim" }, + -- Install ltex-ls for spellchecking + { "vigoux/ltex-ls.nvim" }, + -- Override LazyVim configuration { "LazyVim/LazyVim", @@ -80,6 +83,9 @@ return { end, }, + -- add vim-repeat to supercharge . + { "tpope/vim-repeat" }, + -- add various LSP to lspconfig { "neovim/nvim-lspconfig", @@ -99,6 +105,22 @@ return { -- rnix-lsp is installed using nix mason = false, }, + ltex = { + checkFrequency = "save", + enabled = { "latex", "tex", "bib", "markdown" }, + language = "en-GB", + diagnosticSeverity = "information", + additionalRules = { + enablePickyRules = true, + motherTongue = "fr", + }, + disabledRules = { + en = { "TOO_LONG_SENTENCE" }, + ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S" }, + fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, + }, + dictionary = { ["en-GB"] = { ":" .. vim.fn.stdpath("config") .. "/words.txt" } }, + }, }, }, }, From f87241813ce44a217c5a1e87f1923b28dbc90de7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 3 Mar 2023 09:13:05 +0100 Subject: [PATCH 1023/2080] nix: disable auto-optimise-store. --- machines/Baptistes-MBP/configuration.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 174a38bb..0362cf4a 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -19,8 +19,11 @@ # Enable experimental nix command and flakes # Protect against gc of nix-shell + # XXX disable auto-optimise-store + # see https://github.com/NixOS/nix/issues/7273#issuecomment-1450809740 + # 'nix store optimise' should be run manually nix.extraOptions = '' - auto-optimise-store = true + auto-optimise-store = false experimental-features = nix-command flakes keep-outputs = true keep-derivations = true From b52e0a6cde23ca46ec1f8c7ca6c5553f8d7904c9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 3 Mar 2023 09:13:54 +0100 Subject: [PATCH 1024/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 7f2b0715..d5e60041 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "d0e420eca8d0701606ccfcb6789245f6b56ab5a4" }, + "LazyVim": { "branch": "main", "commit": "099fd48844c1d5ec49dc7f83162112ba70a26ad5" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "e340c528bc4c0df132556cc8d8c419901fd06883" }, + "SchemaStore.nvim": { "branch": "main", "commit": "809c05360a0dabfc018093a090045d292d362ef4" }, "alpha-nvim": { "branch": "main", "commit": "b6c7b5d9d6d2633722255abf2be3ecb8733e8d2d" }, - "bufferline.nvim": { "branch": "main", "commit": "52d6acabb79c8c0942f8873a0ca7848eb2159267" }, + "bufferline.nvim": { "branch": "main", "commit": "b337fd393cef2e3679689d220e2628722c20ddcb" }, "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -13,11 +13,12 @@ "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, "flit.nvim": { "branch": "main", "commit": "980e80e8fe44caaeb9de501c8e97a559b17db2f4" }, - "friendly-snippets": { "branch": "main", "commit": "543667fccf842b509bfecc80aba558f73a4e7c88" }, + "friendly-snippets": { "branch": "main", "commit": "009887b76f15d16f69ae1341f86a7862f61cf2a1" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "26d121ea13bee96b079403cee6598f04969d4983" }, - "leap.nvim": { "branch": "main", "commit": "9a69febb2e5a4f5f5a55dd2d7173098fde917bc5" }, + "lazy.nvim": { "branch": "main", "commit": "8d18ef44e769e98a8dc974ca85275de1d8cc7c04" }, + "leap.nvim": { "branch": "main", "commit": "de9c1b3c694078baf4e9be4288dbcff10a74a9f2" }, + "ltex-ls.nvim": { "branch": "main", "commit": "c8139ea6b7f3d71adcff121e16ee8726037ffebd" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "08d074cd0c4d40e5b6033a67246f46072ecfe38e" }, "mason.nvim": { "branch": "main", "commit": "9d2e3c923ede9f5519a7ae2f82b4688cc8b1c9e9" }, @@ -35,11 +36,11 @@ "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, "null-ls.nvim": { "branch": "main", "commit": "689cdd78f70af20a37b5309ebc287ac645ae4f76" }, "nvim-cmp": { "branch": "main", "commit": "01f697a68905f9dcae70960a9eb013695a17f9a2" }, - "nvim-lspconfig": { "branch": "master", "commit": "95b7a69bc6da2a6a740584ea3c555e5327638b7d" }, + "nvim-lspconfig": { "branch": "master", "commit": "e0926b6abc84578f44fb8917d61cdee22188639e" }, "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, - "nvim-treesitter": { "branch": "master", "commit": "b31312729e1b779e2773d99bf83355b09b5ba3d3" }, + "nvim-treesitter": { "branch": "master", "commit": "8894d78f63a589b7fca609e42d682e32067b2448" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "4b30081d2736e09f90c890a8a7adfe4df36f5b36" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, "nvim-web-devicons": { "branch": "master", "commit": "c2c2317f356c8b7da0252f5da758f71bb60bb6b2" }, From f96970e06d1a01dbb070c1d3e4e53ba3acf8b02b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 3 Mar 2023 13:52:58 +0100 Subject: [PATCH 1025/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index d5e60041..28ce238e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -20,8 +20,8 @@ "leap.nvim": { "branch": "main", "commit": "de9c1b3c694078baf4e9be4288dbcff10a74a9f2" }, "ltex-ls.nvim": { "branch": "main", "commit": "c8139ea6b7f3d71adcff121e16ee8726037ffebd" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "08d074cd0c4d40e5b6033a67246f46072ecfe38e" }, - "mason.nvim": { "branch": "main", "commit": "9d2e3c923ede9f5519a7ae2f82b4688cc8b1c9e9" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "e4badf7984f7a5f0ac7dc10657dbedbd99a82f94" }, + "mason.nvim": { "branch": "main", "commit": "7175340eee0b1b4a86b38794d8c21fdcfa01376b" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.bufremove": { "branch": "main", "commit": "351d18d596f7eac4589b67b4b87ed1708c545dd3" }, "mini.comment": { "branch": "main", "commit": "9fc3fe43129e8c2611bd21b8f50af8c0d0742533" }, @@ -40,7 +40,7 @@ "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, - "nvim-treesitter": { "branch": "master", "commit": "8894d78f63a589b7fca609e42d682e32067b2448" }, + "nvim-treesitter": { "branch": "master", "commit": "a0d6c28f893cbbc761cfa7fc7204ba6f3e2710cf" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "4b30081d2736e09f90c890a8a7adfe4df36f5b36" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, "nvim-web-devicons": { "branch": "master", "commit": "c2c2317f356c8b7da0252f5da758f71bb60bb6b2" }, From fccfaa6be7d5662222a8dceaa4aa9ce1daa906b5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 3 Mar 2023 13:53:20 +0100 Subject: [PATCH 1026/2080] lazyvim: use ltex in more file types. --- lazyvim/nvim/lua/plugins/gwarf.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index c5f23d0d..6c0a9a9e 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -105,9 +105,12 @@ return { -- rnix-lsp is installed using nix mason = false, }, + -- use LanguageTool for spell checking + -- TODO: https://gist.github.com/lbiaggi/a3eb761ac2fdbff774b29c88844355b8 + -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html ltex = { checkFrequency = "save", - enabled = { "latex", "tex", "bib", "markdown" }, + enabled = { "latex", "tex", "bib", "markdown", "text", "mail" }, language = "en-GB", diagnosticSeverity = "information", additionalRules = { From 368f818ea878b4002db840e86e23bfe297132b93 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 3 Mar 2023 13:55:19 +0100 Subject: [PATCH 1027/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d70f5cd5c3bef45f7f52698f39e7cc7a89daa7f0' (2023-02-28) → 'github:NixOS/nixpkgs/96e18717904dfedcd884541e5a92bf9ff632cf39' (2023-03-02) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/1e54a5c67f8f1ffc0295109ca905ea755e765da0' (2023-03-01) → 'github:nixos/nixpkgs/dcab12b2b5bd59b4a6ff489ec5a908cdf33b9789' (2023-03-03) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/68196a61c26748d3e53a6803de3d2f8c69f27831' (2023-02-28) → 'github:nixos/nixpkgs/a08d6979dd7c82c4cef0dcc6ac45ab16051c1169' (2023-03-01) • Updated input 'nur': 'github:nix-community/NUR/26bf8e1b216994e462928f5ca65d62e368afb3a6' (2023-03-02) → 'github:nix-community/NUR/32d897fbf92588d4466ae2592fde8168fec25a0f' (2023-03-03) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 0769d3b0..88ce0391 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1677587185, - "narHash": "sha256-zYT66MAYwctAQqI5VBw3LbBXiSKdB8vuMAqCGG8onbE=", + "lastModified": 1677676435, + "narHash": "sha256-6FxdcmQr5JeZqsQvfinIMr0XcTyTuR7EXX0H3ANShpQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "68196a61c26748d3e53a6803de3d2f8c69f27831", + "rev": "a08d6979dd7c82c4cef0dcc6ac45ab16051c1169", "type": "github" }, "original": { From 31f59965914de738afc2337b3f5294743bad7215 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Mar 2023 09:06:24 +0100 Subject: [PATCH 1028/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/dcab12b2b5bd59b4a6ff489ec5a908cdf33b9789' (2023-03-03) → 'github:nixos/nixpkgs/9c951e688231c47a51034e2aa66c1951f9bb80d0' (2023-03-03) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/a08d6979dd7c82c4cef0dcc6ac45ab16051c1169' (2023-03-01) → 'github:nixos/nixpkgs/3c5319ad3aa51551182ac82ea17ab1c6b0f0df89' (2023-03-04) • Updated input 'nur': 'github:nix-community/NUR/32d897fbf92588d4466ae2592fde8168fec25a0f' (2023-03-03) → 'github:nix-community/NUR/2d93ccd26f17d01fa664b9a4a202c4b9bbee1cb2' (2023-03-06) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 88ce0391..935392ab 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1677676435, - "narHash": "sha256-6FxdcmQr5JeZqsQvfinIMr0XcTyTuR7EXX0H3ANShpQ=", + "lastModified": 1677932085, + "narHash": "sha256-+AB4dYllWig8iO6vAiGGYl0NEgmMgGHpy9gzWJ3322g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a08d6979dd7c82c4cef0dcc6ac45ab16051c1169", + "rev": "3c5319ad3aa51551182ac82ea17ab1c6b0f0df89", "type": "github" }, "original": { From a2cdef39ddd80ae19c351c7327d3ce8e46587b24 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Mar 2023 09:37:37 +0100 Subject: [PATCH 1029/2080] Update neovim conf, based on folke repo --- lazyvim/nvim/lua/config/autocmds.lua | 41 ++++ lazyvim/nvim/lua/config/lazy.lua | 23 +- lazyvim/nvim/lua/config/options.lua | 10 + lazyvim/nvim/lua/plugins/coding.lua | 258 +++++++++++++++++++++++ lazyvim/nvim/lua/plugins/colorscheme.lua | 66 ++++++ lazyvim/nvim/lua/plugins/editor.lua | 35 +++ lazyvim/nvim/lua/plugins/gwarf.lua | 66 ------ lazyvim/nvim/lua/plugins/misc.lua | 47 +++++ lazyvim/nvim/lua/plugins/telescope.lua | 35 +++ lazyvim/nvim/lua/plugins/tools.lua | 84 ++++++++ lazyvim/nvim/lua/plugins/treesitter.lua | 104 +++++++++ lazyvim/nvim/lua/plugins/ui.lua | 102 +++++++++ 12 files changed, 800 insertions(+), 71 deletions(-) create mode 100644 lazyvim/nvim/lua/plugins/coding.lua create mode 100644 lazyvim/nvim/lua/plugins/colorscheme.lua create mode 100644 lazyvim/nvim/lua/plugins/editor.lua create mode 100644 lazyvim/nvim/lua/plugins/misc.lua create mode 100644 lazyvim/nvim/lua/plugins/telescope.lua create mode 100644 lazyvim/nvim/lua/plugins/tools.lua create mode 100644 lazyvim/nvim/lua/plugins/treesitter.lua create mode 100644 lazyvim/nvim/lua/plugins/ui.lua diff --git a/lazyvim/nvim/lua/config/autocmds.lua b/lazyvim/nvim/lua/config/autocmds.lua index 27e9e064..2a546121 100644 --- a/lazyvim/nvim/lua/config/autocmds.lua +++ b/lazyvim/nvim/lua/config/autocmds.lua @@ -1,3 +1,44 @@ -- Autocmds are automatically loaded on the VeryLazy event -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua -- Add any additional autocmds here +-- show cursor line only in active window +vim.api.nvim_create_autocmd({ "InsertLeave", "WinEnter" }, { + callback = function() + local ok, cl = pcall(vim.api.nvim_win_get_var, 0, "auto-cursorline") + if ok and cl then + vim.wo.cursorline = true + vim.api.nvim_win_del_var(0, "auto-cursorline") + end + end, +}) +vim.api.nvim_create_autocmd({ "InsertEnter", "WinLeave" }, { + callback = function() + local cl = vim.wo.cursorline + if cl then + vim.api.nvim_win_set_var(0, "auto-cursorline", cl) + vim.wo.cursorline = false + end + end, +}) + +-- create directories when needed, when saving a file +vim.api.nvim_create_autocmd("BufWritePre", { + group = vim.api.nvim_create_augroup("auto_create_dir", { clear = true }), + callback = function(event) + local file = vim.loop.fs_realpath(event.match) or event.match + + vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p") + local backup = vim.fn.fnamemodify(file, ":p:~:h") + backup = backup:gsub("[/\\]", "%%") + vim.go.backupext = backup + end, +}) + +-- Fix conceallevel for json & help files +-- vim.api.nvim_create_autocmd({ "FileType" }, { +-- pattern = { "json", "jsonc" }, +-- callback = function() +-- vim.wo.spell = false +-- vim.wo.conceallevel = 0 +-- end, +-- }) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index e72684e6..faf85e7d 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -16,23 +16,36 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.lang.typescript" }, -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc { import = "lazyvim.plugins.extras.lang.json" }, + { import = "lazyvim.plugins.extras.ui.mini-animate" }, -- import/override with your plugins { import = "plugins" }, }, defaults = { - lazy = true, -- every plugin is lazy-loaded by default + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + -- version = false, -- always use the latest git commit version = "*", -- try installing the latest stable version for plugins that support semver }, - install = { colorscheme = { "tokyonight", "catppuccin" } }, + install = { colorscheme = { "tokyonight", "habamax", "catppuccin" } }, checker = { enabled = true }, -- automatically check for plugin updates + -- diff = { + -- cmd = "terminal_git", + -- }, performance = { + cache = { + enabled = true, + -- disable_events = {}, + }, rtp = { -- disable some rtp plugins disabled_plugins = { "gzip", - "matchit", - "matchparen", - "netrwPlugin", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", "tarPlugin", "tohtml", "tutor", diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index 05932950..ddd2ff38 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -3,6 +3,11 @@ -- Add any additional options here local opt = vim.opt +opt.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value +opt.foldlevelstart = 99 +opt.foldenable = true +opt.foldcolumn = "0" + -- Default indentation: 2 spaces opt.softtabstop = 2 -- XXX breaking indentation of new comments @@ -25,3 +30,8 @@ opt.colorcolumn = "80" -- Disable mouse opt.mouse = "" + +vim.g.loaded_python3_provider = 0 +vim.g.loaded_perl_provider = 0 +vim.g.loaded_ruby_provider = 0 +vim.g.loaded_node_provider = 0 diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua new file mode 100644 index 00000000..db666cb5 --- /dev/null +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -0,0 +1,258 @@ +-- https://github.com/folke/dot/blob/master/nvim/lua/plugins/coding.lua +return { + -- better text objects + { + "echasnovski/mini.ai", + keys = { { "[f", desc = "Prev function" }, { "]f", desc = "Next function" } }, + opts = function() + -- add treesitter jumping + ---@param capture string + ---@param start boolean + ---@param down boolean + local function jump(capture, start, down) + local rhs = function() + local parser = vim.treesitter.get_parser() + if not parser then + return vim.notify("No treesitter parser for the current buffer", vim.log.levels.ERROR) + end + + local query = vim.treesitter.get_query(vim.bo.filetype, "textobjects") + if not query then + return vim.notify("No textobjects query for the current buffer", vim.log.levels.ERROR) + end + + local cursor = vim.api.nvim_win_get_cursor(0) + + ---@type {[1]:number, [2]:number}[] + local locs = {} + for _, tree in ipairs(parser:trees()) do + for capture_id, node, _ in query:iter_captures(tree:root(), 0) do + if query.captures[capture_id] == capture then + local range = { node:range() } ---@type number[] + local row = (start and range[1] or range[3]) + 1 + local col = (start and range[2] or range[4]) + 1 + if down and row > cursor[1] or (not down) and row < cursor[1] then + table.insert(locs, { row, col }) + end + end + end + end + return pcall(vim.api.nvim_win_set_cursor, 0, down and locs[1] or locs[#locs]) + end + + local c = capture:sub(1, 1):lower() + local lhs = (down and "]" or "[") .. (start and c or c:upper()) + local desc = (down and "Next " or "Prev ") .. (start and "start" or "end") .. " of " .. capture:gsub("%..*", "") + vim.keymap.set("n", lhs, rhs, { desc = desc }) + end + + for _, capture in ipairs({ "function.outer", "class.outer" }) do + for _, start in ipairs({ true, false }) do + for _, down in ipairs({ true, false }) do + jump(capture, start, down) + end + end + end + end, + }, + + { + "danymat/neogen", + keys = { + { + "<leader>cc", + function() + require("neogen").generate({}) + end, + desc = "Neogen Comment", + }, + }, + opts = { snippet_engine = "luasnip" }, + }, + + { + "smjonas/inc-rename.nvim", + cmd = "IncRename", + config = true, + }, + + { + "ThePrimeagen/refactoring.nvim", + keys = { + { + "<leader>r", + function() + require("refactoring").select_refactor() + end, + mode = "v", + noremap = true, + silent = true, + expr = false, + }, + }, + opts = {}, + }, + + { + "echasnovski/mini.bracketed", + event = "BufReadPost", + config = function() + local bracketed = require("mini.bracketed") + + local function put(cmd, regtype) + local body = vim.fn.getreg(vim.v.register) + local type = vim.fn.getregtype(vim.v.register) + ---@diagnostic disable-next-line: param-type-mismatch + vim.fn.setreg(vim.v.register, body, regtype or "l") + bracketed.register_put_region() + vim.cmd(('normal! "%s%s'):format(vim.v.register, cmd:lower())) + ---@diagnostic disable-next-line: param-type-mismatch + vim.fn.setreg(vim.v.register, body, type) + end + + for _, cmd in ipairs({ "]p", "[p" }) do + vim.keymap.set("n", cmd, function() + put(cmd) + end) + end + for _, cmd in ipairs({ "]P", "[P" }) do + vim.keymap.set("n", cmd, function() + put(cmd, "c") + end) + end + + local put_keys = { "p", "P" } + for _, lhs in ipairs(put_keys) do + vim.keymap.set({ "n", "x" }, lhs, function() + return bracketed.register_put_region(lhs) + end, { expr = true }) + end + + bracketed.setup({ + file = { suffix = "" }, + window = { suffix = "" }, + quickfix = { suffix = "" }, + treesitter = { suffix = "n" }, + }) + end, + }, + + -- better yank/paste + { + "kkharji/sqlite.lua", + enabled = function() + return require("lazyvim.util").has("yanky.nvim") and not jit.os:find("Windows") + end, + }, + { + "gbprod/yanky.nvim", + enabled = false, + event = "BufReadPost", + config = function() + -- vim.g.clipboard = { + -- name = "xsel_override", + -- copy = { + -- ["+"] = "xsel --input --clipboard", + -- ["*"] = "xsel --input --primary", + -- }, + -- paste = { + -- ["+"] = "xsel --output --clipboard", + -- ["*"] = "xsel --output --primary", + -- }, + -- cache_enabled = 1, + -- } + + require("yanky").setup({ + highlight = { + timer = 150, + }, + ring = { + storage = jit.os:find("Windows") and "shada" or "sqlite", + }, + }) + + vim.keymap.set({ "n", "x" }, "y", "<Plug>(YankyYank)") + + vim.keymap.set({ "n", "x" }, "p", "<Plug>(YankyPutAfter)") + vim.keymap.set({ "n", "x" }, "P", "<Plug>(YankyPutBefore)") + vim.keymap.set({ "n", "x" }, "gp", "<Plug>(YankyGPutAfter)") + vim.keymap.set({ "n", "x" }, "gP", "<Plug>(YankyGPutBefore)") + + vim.keymap.set("n", "<c-n>", "<Plug>(YankyCycleForward)") + vim.keymap.set("n", "<c-p>", "<Plug>(YankyCycleBackward)") + + vim.keymap.set("n", "]p", "<Plug>(YankyPutIndentAfterLinewise)") + vim.keymap.set("n", "[p", "<Plug>(YankyPutIndentBeforeLinewise)") + vim.keymap.set("n", "]P", "<Plug>(YankyPutIndentAfterLinewise)") + vim.keymap.set("n", "[P", "<Plug>(YankyPutIndentBeforeLinewise)") + + vim.keymap.set("n", ">p", "<Plug>(YankyPutIndentAfterShiftRight)") + vim.keymap.set("n", "<p", "<Plug>(YankyPutIndentAfterShiftLeft)") + vim.keymap.set("n", ">P", "<Plug>(YankyPutIndentBeforeShiftRight)") + vim.keymap.set("n", "<P", "<Plug>(YankyPutIndentBeforeShiftLeft)") + + vim.keymap.set("n", "=p", "<Plug>(YankyPutAfterFilter)") + vim.keymap.set("n", "=P", "<Plug>(YankyPutBeforeFilter)") + + vim.keymap.set("n", "<leader>P", function() + require("telescope").extensions.yank_history.yank_history({}) + end, { desc = "Paste from Yanky" }) + end, + }, + + -- better increase/descrease + { + "monaqa/dial.nvim", + -- stylua: ignore + keys = { + { "<C-a>", function() return require("dial.map").inc_normal() end, expr = true, desc = "Increment" }, + { "<C-x>", function() return require("dial.map").dec_normal() end, expr = true, desc = "Decrement" }, + }, + config = function() + local augend = require("dial.augend") + require("dial.config").augends:register_group({ + default = { + augend.integer.alias.decimal, + augend.integer.alias.hex, + augend.date.alias["%Y/%m/%d"], + augend.constant.alias.bool, + augend.semver.alias.semver, + }, + }) + end, + }, + + -- copilot + { + "zbirenbaum/copilot.lua", + enabled = true, + cmd = "Copilot", + event = "InsertEnter", + opts = { + suggestion = { enabled = false }, + panel = { enabled = false }, + }, + }, + + { + "simrat39/symbols-outline.nvim", + keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, + config = true, + }, + + { + "nvim-cmp", + dependencies = { + "hrsh7th/cmp-emoji", + { + "zbirenbaum/copilot-cmp", + opts = {}, + }, + }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local cmp = require("cmp") + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "copilot" }, { name = "emoji" } })) + end, + }, +} diff --git a/lazyvim/nvim/lua/plugins/colorscheme.lua b/lazyvim/nvim/lua/plugins/colorscheme.lua new file mode 100644 index 00000000..c5f66137 --- /dev/null +++ b/lazyvim/nvim/lua/plugins/colorscheme.lua @@ -0,0 +1,66 @@ +-- https://github.com/folke/dot/blob/master/nvim/lua/plugins/colorscheme.lua +return { + { "shaunsingh/oxocarbon.nvim" }, + { "ellisonleao/gruvbox.nvim" }, + { "rose-pine/neovim", name = "rose-pine" }, + { + "tokyonight.nvim", + lazy = false, + priority = 1000, + opts = function() + return { + style = "moon", + -- transparent = true, + -- styles = { + -- sidebars = "transparent", + -- floats = "transparent", + -- }, + sidebars = { + "qf", + "vista_kind", + "terminal", + "spectre_panel", + "startuptime", + "Outline", + }, + on_colors = function(c) + -- local hsluv = require("tokyonight.hsluv") + -- local function randomColor(color) + -- if color ~= "NONE" then + -- local hsl = hsluv.hex_to_hsluv(color) + -- hsl[1] = math.random(0, 360) + -- return hsluv.hsluv_to_hex(hsl) + -- end + -- return color + -- end + -- local function set(colors) + -- if type(colors) == "table" then + -- for k, v in pairs(colors) do + -- if type(v) == "string" then + -- colors[k] = randomColor(v) + -- elseif type(v) == "table" then + -- set(v) + -- end + -- end + -- end + -- end + -- set(c) + end, + on_highlights = function(hl, c) + hl.CursorLineNr = { fg = c.orange, bold = true } + hl.LineNr = { fg = c.orange, bold = true } + hl.LineNrAbove = { fg = c.fg_gutter } + hl.LineNrBelow = { fg = c.fg_gutter } + local prompt = "#2d3149" + hl.TelescopeNormal = { bg = c.bg_dark, fg = c.fg_dark } + hl.TelescopeBorder = { bg = c.bg_dark, fg = c.bg_dark } + hl.TelescopePromptNormal = { bg = prompt } + hl.TelescopePromptBorder = { bg = prompt, fg = prompt } + hl.TelescopePromptTitle = { bg = c.fg_gutter, fg = c.orange } + hl.TelescopePreviewTitle = { bg = c.bg_dark, fg = c.bg_dark } + hl.TelescopeResultsTitle = { bg = c.bg_dark, fg = c.bg_dark } + end, + } + end, + }, +} diff --git a/lazyvim/nvim/lua/plugins/editor.lua b/lazyvim/nvim/lua/plugins/editor.lua new file mode 100644 index 00000000..a10b33e0 --- /dev/null +++ b/lazyvim/nvim/lua/plugins/editor.lua @@ -0,0 +1,35 @@ +return { + + -- add folding range to capabilities + { + "neovim/nvim-lspconfig", + opts = { + capabilities = { + textDocument = { + foldingRange = { + dynamicRegistration = false, + lineFoldingOnly = true, + }, + }, + }, + }, + }, + + -- add nvim-ufo + { + "kevinhwang91/nvim-ufo", + dependencies = "kevinhwang91/promise-async", + event = "BufReadPost", + opts = {}, + + init = function() + -- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself + vim.keymap.set("n", "zR", function() + require("ufo").openAllFolds() + end) + vim.keymap.set("n", "zM", function() + require("ufo").closeAllFolds() + end) + end, + }, +} diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 6c0a9a9e..6d258148 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -48,41 +48,6 @@ return { -- Install support for editing nix files { "LnL7/vim-nix" }, - -- change some telescope options and a keymap to browse plugin files - { - "nvim-telescope/telescope.nvim", - keys = { - -- add a keymap to browse plugin files - -- stylua: ignore - { - "<leader>fp", - function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, - desc = "Find Plugin File", - }, - }, - -- change some options - opts = { - defaults = { - layout_strategy = "horizontal", - layout_config = { prompt_position = "top" }, - sorting_strategy = "ascending", - winblend = 0, - }, - }, - }, - - -- add telescope-fzf-native - { - "nvim-telescope/telescope.nvim", - dependencies = { { "nvim-telescope/telescope-fzf-native.nvim", build = "make" } }, - -- apply the config and additionally load fzf-native - config = function(_, opts) - local telescope = require("telescope") - telescope.setup(opts) - telescope.load_extension("fzf") - end, - }, - -- add vim-repeat to supercharge . { "tpope/vim-repeat" }, @@ -206,37 +171,6 @@ return { end, }, - -- org-mode like - -- https://github.com/nvim-neorg/neorg - { - "nvim-neorg/neorg", - -- lazy-load on filetype - ft = "norg", - -- after = "nvim-treesitter", -- You may want to specify Telescope here as well - -- run = ":Neorg sync-parsers", - config = function() - require("neorg").setup({ - load = { - -- Load everything - ["core.defaults"] = {}, - ["core.norg.concealer"] = {}, - ["core.norg.completion"] = { - config = { engine = "nvim-cmp" }, - }, - ["core.integrations.nvim-cmp"] = {}, - ["core.norg.dirman"] = { - config = { - workspaces = { - work = "~/Documents/notes/work", - home = "~/Documents/notes/home", - }, - }, - }, - }, - }) - end, - }, - -- Custom snippets -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua -- XXX move this to a dedicated file diff --git a/lazyvim/nvim/lua/plugins/misc.lua b/lazyvim/nvim/lua/plugins/misc.lua new file mode 100644 index 00000000..0e11e22c --- /dev/null +++ b/lazyvim/nvim/lua/plugins/misc.lua @@ -0,0 +1,47 @@ +-- https://github.com/folke/dot/blob/master/nvim/lua/plugins/misc.lua +return { + "folke/twilight.nvim", + + { + "Wansmer/treesj", + keys = { + { "J", "<cmd>TSJToggle<cr>", desc = "Join Toggle" }, + }, + opts = { use_default_keymaps = false, max_join_length = 150 }, + }, + + { + "cshuaimin/ssr.nvim", + keys = { + { + "<leader>sR", + function() + require("ssr").open() + end, + mode = { "n", "x" }, + desc = "Structural Replace", + }, + }, + }, + + { + "folke/zen-mode.nvim", + cmd = "ZenMode", + opts = { + plugins = { + gitsigns = true, + tmux = true, + kitty = { enabled = false, font = "+2" }, + }, + }, + keys = { { "<leader>z", "<cmd>ZenMode<cr>", desc = "Zen Mode" } }, + }, + + { + "andymass/vim-matchup", + event = "BufReadPost", + config = function() + vim.g.matchup_matchparen_offscreen = { method = "status_manual" } + end, + }, +} diff --git a/lazyvim/nvim/lua/plugins/telescope.lua b/lazyvim/nvim/lua/plugins/telescope.lua new file mode 100644 index 00000000..9bc4f274 --- /dev/null +++ b/lazyvim/nvim/lua/plugins/telescope.lua @@ -0,0 +1,35 @@ +-- https://github.com/folke/dot/blob/master/nvim/lua/plugins/telescope.lua +-- change some telescope options and a keymap to browse plugin files +return { + { + -- add telescope-fzf-native + "telescope.nvim", + dependencies = { + "nvim-telescope/telescope-fzf-native.nvim", + build = "make", + config = function() + require("telescope").load_extension("fzf") + end, + }, + keys = { + { + -- add a keymap to browse plugin files + "<leader>fp", + function() + require("telescope.builtin").find_files({ + cwd = require("lazy.core.config").options.root, + }) + end, + desc = "Find Plugin File", + }, + }, + opts = { + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + winblend = 0, + }, + }, + }, +} diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua new file mode 100644 index 00000000..b017d692 --- /dev/null +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -0,0 +1,84 @@ +-- https://github.com/folke/dot/blob/master/nvim/lua/plugins/tools.lua +return { + + -- neorg, org-mode like + -- https://github.com/nvim-neorg/neorg + { + "nvim-neorg/neorg", + -- lazy-load on filetype + ft = "norg", + opts = { + load = { + -- Load everything + ["core.defaults"] = {}, + ["core.norg.concealer"] = {}, + ["core.norg.completion"] = { + config = { engine = "nvim-cmp" }, + }, + ["core.integrations.nvim-cmp"] = {}, + ["core.norg.dirman"] = { + config = { + workspaces = { + work = "~/Documents/notes/work", + home = "~/Documents/notes/home", + }, + }, + }, + }, + }, + }, + + -- markdown preview + { + "toppair/peek.nvim", + build = "deno task --quiet build:fast", + keys = { + { + "<leader>op", + function() + local peek = require("peek") + if peek.is_open() then + peek.close() + else + peek.open() + end + end, + desc = "Peek (Markdown Preview)", + }, + }, + opts = { theme = "light" }, + }, + + -- better diffing + { + "sindrets/diffview.nvim", + cmd = { "DiffviewOpen", "DiffviewClose", "DiffviewToggleFiles", "DiffviewFocusFiles" }, + config = true, + keys = { { "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "DiffView" } }, + }, + + -- colorizer + { + "NvChad/nvim-colorizer.lua", + event = "BufReadPre", + opts = { + filetypes = { "*", "!lazy" }, + buftype = { "*", "!prompt", "!nofile" }, + user_default_options = { + RGB = true, -- #RGB hex codes + RRGGBB = true, -- #RRGGBB hex codes + names = false, -- "Name" codes like Blue + RRGGBBAA = true, -- #RRGGBBAA hex codes + AARRGGBB = false, -- 0xAARRGGBB hex codes + rgb_fn = true, -- CSS rgb() and rgba() functions + hsl_fn = true, -- CSS hsl() and hsla() functions + css = false, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB + css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn + -- Available modes: foreground, background + -- Available modes for `mode`: foreground, background, virtualtext + mode = "background", -- Set the display mode. + virtualtext = "■", + }, + }, + }, +} diff --git a/lazyvim/nvim/lua/plugins/treesitter.lua b/lazyvim/nvim/lua/plugins/treesitter.lua new file mode 100644 index 00000000..0604639b --- /dev/null +++ b/lazyvim/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,104 @@ +-- https://github.com/folke/dot/blob/master/nvim/lua/plugins/treesitter.lua +return { + { "nvim-treesitter/playground", cmd = "TSPlaygroundToggle" }, + + { + "mfussenegger/nvim-treehopper", + keys = { { "m", mode = { "o", "x" } } }, + config = function() + vim.cmd([[ + omap <silent> m :<C-U>lua require('tsht').nodes()<CR> + xnoremap <silent> m :lua require('tsht').nodes()<CR> + ]]) + end, + }, + + { + "nvim-treesitter/nvim-treesitter-context", + event = "BufReadPre", + config = true, + }, + + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "astro", + "bash", + "c", + "cmake", + -- "comment", -- comments are slowing down TS bigtime, so disable for now + "cpp", + "css", + "diff", + "fish", + "gitignore", + "go", + "graphql", + "help", + "html", + "http", + "java", + "javascript", + "jsdoc", + "jsonc", + "latex", + "lua", + "markdown", + "markdown_inline", + "meson", + "ninja", + "nix", + "norg", + "org", + "php", + "python", + "query", + "regex", + "rust", + "scss", + "sql", + "svelte", + "teal", + "toml", + "tsx", + "typescript", + "vhs", + "vim", + "vue", + "wgsl", + "yaml", + -- "wgsl", + "json", + -- "markdown", + }, + matchup = { + enable = true, + }, + highlight = { enable = true }, + query_linter = { + enable = true, + use_virtual_text = true, + lint_events = { "BufWrite", "CursorHold" }, + }, + playground = { + enable = true, + disable = {}, + updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code + persist_queries = true, -- Whether the query persists across vim sessions + keybindings = { + toggle_query_editor = "o", + toggle_hl_groups = "i", + toggle_injected_languages = "t", + toggle_anonymous_nodes = "a", + toggle_language_display = "I", + focus_language = "f", + unfocus_language = "F", + update = "R", + goto_node = "<cr>", + show_help = "?", + }, + }, + }, + }, +} diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua new file mode 100644 index 00000000..16c221e1 --- /dev/null +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -0,0 +1,102 @@ +-- https://github.com/folke/dot/blob/master/nvim/lua/plugins/ui.lua +return { + + -- floating winbar + { + "b0o/incline.nvim", + event = "BufReadPre", + config = function() + local colors = require("tokyonight.colors").setup() + require("incline").setup({ + highlight = { + groups = { + InclineNormal = { guibg = "#FC56B1", guifg = colors.black }, + InclineNormalNC = { guifg = "#FC56B1", guibg = colors.black }, + }, + }, + window = { margin = { vertical = 0, horizontal = 1 } }, + render = function(props) + local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ":t") + local icon, color = require("nvim-web-devicons").get_icon_color(filename) + return { { icon, guifg = color }, { " " }, { filename } } + end, + }) + end, + }, + + -- auto-resize windows + { + "anuvyklack/windows.nvim", + event = "WinNew", + dependencies = { + { "anuvyklack/middleclass" }, + { "anuvyklack/animation.nvim", enabled = false }, + }, + keys = { { "<leader>Z", "<cmd>WindowsMaximize<cr>", desc = "Zoom" } }, + config = function() + vim.o.winwidth = 5 + vim.o.equalalways = false + require("windows").setup({ + animation = { enable = false, duration = 150 }, + }) + end, + }, + + -- scrollbar + { + "petertriho/nvim-scrollbar", + event = "BufReadPost", + config = function() + local scrollbar = require("scrollbar") + local colors = require("tokyonight.colors").setup() + scrollbar.setup({ + handle = { color = colors.bg_highlight }, + excluded_filetypes = { "prompt", "TelescopePrompt", "noice", "notify" }, + marks = { + Search = { color = colors.orange }, + Error = { color = colors.error }, + Warn = { color = colors.warning }, + Info = { color = colors.info }, + Hint = { color = colors.hint }, + Misc = { color = colors.purple }, + }, + }) + end, + }, + + -- style windows with different colorschemes + { + "folke/styler.nvim", + event = "VeryLazy", + opts = { + themes = { + markdown = { colorscheme = "tokyonight-storm" }, + help = { colorscheme = "oxocarbon", background = "dark" }, + }, + }, + }, + + -- silly drops + { + "folke/drop.nvim", + event = "VeryLazy", + enabled = true, + config = function() + math.randomseed(os.time()) + local theme = ({ "stars", "snow" })[math.random(1, 3)] + require("drop").setup({ theme = theme }) + end, + }, + + -- lualine + { + "nvim-lualine/lualine.nvim", + opts = function(_, opts) + table.insert(opts.sections.lualine_x, { + function() + return require("util.dashboard").status() + end, + }) + end, + }, +} From f39d2a8c69f08eaeba363a926f94bcec22b19305 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Mar 2023 09:38:24 +0100 Subject: [PATCH 1030/2080] Bump lazyvim lock --- lazyvim/nvim/lazy-lock.json | 65 +++++++++++++++++++++++++++---------- 1 file changed, 48 insertions(+), 17 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 28ce238e..f3295a75 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,8 +1,8 @@ { - "LazyVim": { "branch": "main", "commit": "099fd48844c1d5ec49dc7f83162112ba70a26ad5" }, + "LazyVim": { "branch": "main", "commit": "3c6357815c354ee2bb82b4162a484c1de6d575dc" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, "SchemaStore.nvim": { "branch": "main", "commit": "809c05360a0dabfc018093a090045d292d362ef4" }, - "alpha-nvim": { "branch": "main", "commit": "b6c7b5d9d6d2633722255abf2be3ecb8733e8d2d" }, + "alpha-nvim": { "branch": "main", "commit": "4b0ba68022d8612b04b26844f1ce5e708c0d23b0" }, "bufferline.nvim": { "branch": "main", "commit": "b337fd393cef2e3679689d220e2628722c20ddcb" }, "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -10,51 +10,82 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "copilot-cmp": { "branch": "master", "commit": "92535dfd9c430b49ca7d9a7da336c5db65826b65" }, + "copilot.lua": { "branch": "master", "commit": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f" }, + "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, + "diffview.nvim": { "branch": "main", "commit": "ffeff288c47739a1fcb411343716b993bfaa48e5" }, "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, - "flit.nvim": { "branch": "main", "commit": "980e80e8fe44caaeb9de501c8e97a559b17db2f4" }, + "drop.nvim": { "branch": "main", "commit": "852eb8da2a7ca69f7c59f60bbf484948ef760525" }, + "flit.nvim": { "branch": "main", "commit": "4c1739137acd3e7f03e2065a7be8a4dc41c7e461" }, "friendly-snippets": { "branch": "main", "commit": "009887b76f15d16f69ae1341f86a7862f61cf2a1" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, + "gruvbox.nvim": { "branch": "main", "commit": "7a5c7ace3ac169b2898a4c7d8abec42cf9e18003" }, + "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, + "incline.nvim": { "branch": "main", "commit": "5a1d8a1abe6acbf59b716e89551b1cea974c9440" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "8d18ef44e769e98a8dc974ca85275de1d8cc7c04" }, - "leap.nvim": { "branch": "main", "commit": "de9c1b3c694078baf4e9be4288dbcff10a74a9f2" }, + "lazy.nvim": { "branch": "main", "commit": "14075657131b9a19883a8845c47f1ab65461cd6f" }, + "leap.nvim": { "branch": "main", "commit": "d34680b16af977928228e57c68e5a162f1649e3c" }, "ltex-ls.nvim": { "branch": "main", "commit": "c8139ea6b7f3d71adcff121e16ee8726037ffebd" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e4badf7984f7a5f0ac7dc10657dbedbd99a82f94" }, - "mason.nvim": { "branch": "main", "commit": "7175340eee0b1b4a86b38794d8c21fdcfa01376b" }, + "mason.nvim": { "branch": "main", "commit": "8dbd5ca28c70f15814d1749717f86da9bfd1c8ba" }, + "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, + "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, + "mini.bracketed": { "branch": "main", "commit": "a27581204768d10e04ec6085243e58344141032b" }, "mini.bufremove": { "branch": "main", "commit": "351d18d596f7eac4589b67b4b87ed1708c545dd3" }, "mini.comment": { "branch": "main", "commit": "9fc3fe43129e8c2611bd21b8f50af8c0d0742533" }, - "mini.indentscope": { "branch": "main", "commit": "ff1e68b5c01426f9dfff3278dd1b10c9b5f000a1" }, + "mini.indentscope": { "branch": "main", "commit": "7998edc970610c05598c7aea3d21ece8dd87ed52" }, "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "aec592bb1f0cf67f7e1123053d1eb17700aa9ed4" }, "neoconf.nvim": { "branch": "main", "commit": "627794ccb18521d7c7d11606d2cf2674f9ed515e" }, "neodev.nvim": { "branch": "main", "commit": "04c02d886f22a077dadb04e2330eebb2ea356f26" }, + "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "f148923300b9fc4609d76867f1f95410ab1442e8" }, + "noice.nvim": { "branch": "main", "commit": "c22651651da01239fc4afac4cdb7261797d5f02e" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "689cdd78f70af20a37b5309ebc287ac645ae4f76" }, - "nvim-cmp": { "branch": "main", "commit": "01f697a68905f9dcae70960a9eb013695a17f9a2" }, - "nvim-lspconfig": { "branch": "master", "commit": "e0926b6abc84578f44fb8917d61cdee22188639e" }, - "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, + "null-ls.nvim": { "branch": "main", "commit": "456cd2754c56c991c5e4df60a807d054c1bc7148" }, + "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, + "nvim-lspconfig": { "branch": "master", "commit": "6a9f922eb6e7412a4e940e20f4d76fd4e0e3feec" }, + "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, + "nvim-scrollbar": { "branch": "main", "commit": "75210c554e935740448cfb532d8a671ae544bb1b" }, "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, - "nvim-treesitter": { "branch": "master", "commit": "a0d6c28f893cbbc761cfa7fc7204ba6f3e2710cf" }, + "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, + "nvim-treesitter": { "branch": "master", "commit": "980f0816cc28c20e45715687a0a21b5b39af59eb" }, + "nvim-treesitter-context": { "branch": "master", "commit": "895ec44f5c89bc67ba5440aef3d1f2efa3d59a41" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "4b30081d2736e09f90c890a8a7adfe4df36f5b36" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "c2c2317f356c8b7da0252f5da758f71bb60bb6b2" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, + "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, + "nvim-web-devicons": { "branch": "master", "commit": "b2060eac2fbc84e0637ea706378ff66451e7c424" }, + "oxocarbon.nvim": { "branch": "main", "commit": "149e8dec961562c63091ad6910fec4ead61eaa7f" }, + "peek.nvim": { "branch": "master", "commit": "7fb50a540edf28a99e8f3871e093dff65d5e493d" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, + "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, + "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, + "refactoring.nvim": { "branch": "master", "commit": "57c32c6b7a211e5a3a5e4ddc4ad2033daff5cf9a" }, + "rose-pine": { "branch": "main", "commit": "df94e56cadef971164942726fa2aa55c9f078c2b" }, + "ssr.nvim": { "branch": "main", "commit": "97a9e1e319eec2d7e9731be4c6ac9638a1a2d79d" }, + "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, + "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "94c059d1abfbc6eff66dc0c7c51c709f686e3989" }, + "tokyonight.nvim": { "branch": "main", "commit": "57ed37148ffcf05d68df8e06d4eec2b74bf62601" }, + "treesj": { "branch": "main", "commit": "19e1150d52ae16bac2465bcd7633c05702b5ae59" }, "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, + "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, + "vim-matchup": { "branch": "master", "commit": "959e0e79ea240cdee29efbdd0d2e2e718931ccec" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, - "which-key.nvim": { "branch": "main", "commit": "2a0c2d80c0a60f041afb1b789cfedbd510e2b2b6" } + "which-key.nvim": { "branch": "main", "commit": "2a0c2d80c0a60f041afb1b789cfedbd510e2b2b6" }, + "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, + "zen-mode.nvim": { "branch": "main", "commit": "4bd28fb3a44317c6258cebc7d92243d4b11dfe2c" } } \ No newline at end of file From 6a34ff3d19123d7a5e8bbd0f02a2438aaa007d9a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Mar 2023 12:13:38 +0100 Subject: [PATCH 1031/2080] nvim: disable drop.nvim, no need to waste CPU cycles/energy. --- lazyvim/nvim/lua/plugins/ui.lua | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index 16c221e1..d7c421c2 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -76,18 +76,6 @@ return { }, }, - -- silly drops - { - "folke/drop.nvim", - event = "VeryLazy", - enabled = true, - config = function() - math.randomseed(os.time()) - local theme = ({ "stars", "snow" })[math.random(1, 3)] - require("drop").setup({ theme = theme }) - end, - }, - -- lualine { "nvim-lualine/lualine.nvim", From 3c0d9e354770a338c094003383d2f105c3bc09a1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Mar 2023 12:14:05 +0100 Subject: [PATCH 1032/2080] Spell check norg files too. --- lazyvim/nvim/lua/plugins/gwarf.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 6d258148..6f58115a 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -75,7 +75,7 @@ return { -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html ltex = { checkFrequency = "save", - enabled = { "latex", "tex", "bib", "markdown", "text", "mail" }, + enabled = { "latex", "tex", "bib", "markdown", "text", "mail", "norg" }, language = "en-GB", diagnosticSeverity = "information", additionalRules = { From 2b2245f0376830aa5f8b92f7a671a77c0e0ad414 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Mar 2023 14:33:17 +0100 Subject: [PATCH 1033/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/96e18717904dfedcd884541e5a92bf9ff632cf39' (2023-03-02) → 'github:NixOS/nixpkgs/47c003416297e4d59a5e3e7a8b15cdbdf5110560' (2023-03-06) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/9c951e688231c47a51034e2aa66c1951f9bb80d0' (2023-03-03) → 'github:nixos/nixpkgs/934e613c31cf7af0624dcf088b9e2d9b802d0717' (2023-03-06) • Updated input 'nur': 'github:nix-community/NUR/2d93ccd26f17d01fa664b9a4a202c4b9bbee1cb2' (2023-03-06) → 'github:nix-community/NUR/a1b0df6d4a7bf1bf4f6b6d7436c2bde51206302c' (2023-03-06) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 935392ab..a6bd0940 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1674692158, - "narHash": "sha256-oqGpwVg4D+eMSgF7Th5Ve1ysCiH3H3g85vGJ3nvJsZQ=", + "lastModified": 1678072060, + "narHash": "sha256-6a9Tbjhir5HxDx4uw0u6Z+LHUfYf7tsT9QxF9FN/32w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "def9e420d27c951026d57dc96ce0218c3131f412", + "rev": "47c003416297e4d59a5e3e7a8b15cdbdf5110560", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1674756983, - "narHash": "sha256-lPUxoOXsilqK1tWidvHVgU/sFTCQHgVhNzKdGZUiR4M=", + "lastModified": 1678101631, + "narHash": "sha256-vuuvWBNGhNSPPbFCjp2XZmBqJOvsFF1T0hyleRnHZlc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7b87b80bc8dedb1db164e5a131169b71e712ea08", + "rev": "934e613c31cf7af0624dcf088b9e2d9b802d0717", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1674800989, - "narHash": "sha256-vRUJhQTR2cIPXBJwAWlqL67GjqYvx8WpT8lzWIif5Oo=", + "lastModified": 1678107241, + "narHash": "sha256-hIRu8mUv5WQkXUhI3/6eI6sQFboWgYpxhxAncMNdAv4=", "owner": "nix-community", "repo": "NUR", - "rev": "5afe5e755851b4d4a339eec4d6d701571c2140c5", + "rev": "a1b0df6d4a7bf1bf4f6b6d7436c2bde51206302c", "type": "github" }, "original": { From 68adcbb15fa613f261021630dca116c29762d792 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Mar 2023 17:20:55 +0100 Subject: [PATCH 1034/2080] kitt: switch to tokyonight moon --- modules/home/kitty/default.nix | 4 +- modules/home/kitty/tokyonight_moon.conf | 50 +++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 modules/home/kitty/tokyonight_moon.conf diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index 8de3c757..b222d26c 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -8,6 +8,7 @@ # Use a static configuration file for colors home.file.".config/kitty/tokyonight_storm.conf".source = ./tokyonight_storm.conf; + home.file.".config/kitty/tokyonight_storm.conf".source = ./tokyonight_moon.conf; home.file.".config/kitty/dracula.conf".source = ./dracula.conf; # General config @@ -37,7 +38,8 @@ programs.kitty.extraConfig = '' # Load theme # include tokyonight_storm.conf - include dracula.conf + include tokyonight_moon.conf + # include dracula.conf # Change the style of italic font variants modify_font underline_thickness 400% diff --git a/modules/home/kitty/tokyonight_moon.conf b/modules/home/kitty/tokyonight_moon.conf new file mode 100644 index 00000000..4ad511a5 --- /dev/null +++ b/modules/home/kitty/tokyonight_moon.conf @@ -0,0 +1,50 @@ +# vim:ft=kitty + +## name: Tokyo Night Moon +## license: MIT +## author: Folke Lemaitre +## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_moon.conf + + +background #222436 +foreground #c8d3f5 +selection_background #3654a7 +selection_foreground #c8d3f5 +url_color #4fd6be +cursor #c8d3f5 +cursor_text_color #222436 + +# Tabs +active_tab_background #82aaff +active_tab_foreground #1e2030 +inactive_tab_background #2f334d +inactive_tab_foreground #545c7e +#tab_bar_background #1b1d2b + +# Windows +active_border_color #82aaff +inactive_border_color #2f334d + +# normal +color0 #1b1d2b +color1 #ff757f +color2 #c3e88d +color3 #ffc777 +color4 #82aaff +color5 #c099ff +color6 #86e1fc +color7 #828bb8 + +# bright +color8 #444a73 +color9 #ff757f +color10 #c3e88d +color11 #ffc777 +color12 #82aaff +color13 #c099ff +color14 #86e1fc +color15 #c8d3f5 + +# extended colors +color16 #ff966c +color17 #c53b53 From 5d26ee5ce87de108e5254b537f59bebeeba63bcb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Mar 2023 17:21:12 +0100 Subject: [PATCH 1035/2080] lazyvim: move colorscheme configuration to dedicated file. --- lazyvim/nvim/lua/plugins/colorscheme.lua | 14 ++++++++++++++ lazyvim/nvim/lua/plugins/gwarf.lua | 16 ---------------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/colorscheme.lua b/lazyvim/nvim/lua/plugins/colorscheme.lua index c5f66137..37e60904 100644 --- a/lazyvim/nvim/lua/plugins/colorscheme.lua +++ b/lazyvim/nvim/lua/plugins/colorscheme.lua @@ -1,5 +1,7 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/colorscheme.lua return { + -- Install treesitter-aware fork of dracula theme + { "Mofiqul/dracula.nvim" }, { "shaunsingh/oxocarbon.nvim" }, { "ellisonleao/gruvbox.nvim" }, { "rose-pine/neovim", name = "rose-pine" }, @@ -63,4 +65,16 @@ return { } end, }, + + -- Override LazyVim configuration + { + "LazyVim/LazyVim", + opts = { + -- colorscheme = "dracula", + -- colorscheme = "catppuccin-frappe", + colorscheme = function() + require("tokyonight").load({ style = "moon" }) + end, + }, + }, } diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 6f58115a..5a0ac4b5 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -27,24 +27,9 @@ return { end, }, - -- Install treesitter-aware fork of dracula theme - { "Mofiqul/dracula.nvim" }, - -- Install ltex-ls for spellchecking { "vigoux/ltex-ls.nvim" }, - -- Override LazyVim configuration - { - "LazyVim/LazyVim", - opts = { - colorscheme = "dracula", - -- colorscheme = "catppuccin-frappe", - -- colorscheme = function() - -- require("tokyonight").load({ style = "storm" }) - -- end, - }, - }, - -- Install support for editing nix files { "LnL7/vim-nix" }, @@ -129,7 +114,6 @@ return { return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil end - local luasnip = require("luasnip") local cmp = require("cmp") opts.mapping = vim.tbl_extend("force", opts.mapping, { From c0bf80b0495b12b0bee5505bdf1ba9615a06c3e8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Mar 2023 17:22:20 +0100 Subject: [PATCH 1036/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index f3295a75..01d1019e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -13,10 +13,9 @@ "copilot-cmp": { "branch": "master", "commit": "92535dfd9c430b49ca7d9a7da336c5db65826b65" }, "copilot.lua": { "branch": "master", "commit": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "diffview.nvim": { "branch": "main", "commit": "ffeff288c47739a1fcb411343716b993bfaa48e5" }, + "diffview.nvim": { "branch": "main", "commit": "cce67317f62f04f8bbb41f57ac75d1a37f30493c" }, "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, - "drop.nvim": { "branch": "main", "commit": "852eb8da2a7ca69f7c59f60bbf484948ef760525" }, "flit.nvim": { "branch": "main", "commit": "4c1739137acd3e7f03e2065a7be8a4dc41c7e461" }, "friendly-snippets": { "branch": "main", "commit": "009887b76f15d16f69ae1341f86a7862f61cf2a1" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, @@ -29,7 +28,7 @@ "ltex-ls.nvim": { "branch": "main", "commit": "c8139ea6b7f3d71adcff121e16ee8726037ffebd" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e4badf7984f7a5f0ac7dc10657dbedbd99a82f94" }, - "mason.nvim": { "branch": "main", "commit": "8dbd5ca28c70f15814d1749717f86da9bfd1c8ba" }, + "mason.nvim": { "branch": "main", "commit": "c400270804059087e2d0041893a95c6bab4df3c1" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -49,7 +48,7 @@ "null-ls.nvim": { "branch": "main", "commit": "456cd2754c56c991c5e4df60a807d054c1bc7148" }, "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "6a9f922eb6e7412a4e940e20f4d76fd4e0e3feec" }, + "nvim-lspconfig": { "branch": "master", "commit": "1a2d5f5224c65b0709bf5da0ccd9cad29272083a" }, "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "75210c554e935740448cfb532d8a671ae544bb1b" }, @@ -57,7 +56,7 @@ "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, "nvim-treesitter": { "branch": "master", "commit": "980f0816cc28c20e45715687a0a21b5b39af59eb" }, "nvim-treesitter-context": { "branch": "master", "commit": "895ec44f5c89bc67ba5440aef3d1f2efa3d59a41" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "4b30081d2736e09f90c890a8a7adfe4df36f5b36" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "98c66344d2f25a3976a81d76256f0027327abadc" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, "nvim-web-devicons": { "branch": "master", "commit": "b2060eac2fbc84e0637ea706378ff66451e7c424" }, From 485d25fff5bfba18193b2cfb70ab01ee8cc7263e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Mar 2023 17:22:33 +0100 Subject: [PATCH 1037/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/a1b0df6d4a7bf1bf4f6b6d7436c2bde51206302c' (2023-03-06) → 'github:nix-community/NUR/9613bf1f8846150d3453d6ea69f538264148c68a' (2023-03-06) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index a6bd0940..af3fabaf 100644 --- a/flake.lock +++ b/flake.lock @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1678107241, - "narHash": "sha256-hIRu8mUv5WQkXUhI3/6eI6sQFboWgYpxhxAncMNdAv4=", + "lastModified": 1678117608, + "narHash": "sha256-hgqRYieVMKmdW6/JIQxUxBvz1o0jea+VZPtvefeof+I=", "owner": "nix-community", "repo": "NUR", - "rev": "a1b0df6d4a7bf1bf4f6b6d7436c2bde51206302c", + "rev": "9613bf1f8846150d3453d6ea69f538264148c68a", "type": "github" }, "original": { From 40be48c900b8dacdbc28d4d3a7759ecf319f7dc4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 09:15:02 +0100 Subject: [PATCH 1038/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/9613bf1f8846150d3453d6ea69f538264148c68a' (2023-03-06) → 'github:nix-community/NUR/059e5a606347dd2a4661dc2521d3432140ef9f35' (2023-03-07) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index af3fabaf..50ef108e 100644 --- a/flake.lock +++ b/flake.lock @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1678117608, - "narHash": "sha256-hgqRYieVMKmdW6/JIQxUxBvz1o0jea+VZPtvefeof+I=", + "lastModified": 1678171752, + "narHash": "sha256-LG+E99NZCpFtoPtmjAzjB4j430t3bjMR+E7X+Bwc5dk=", "owner": "nix-community", "repo": "NUR", - "rev": "9613bf1f8846150d3453d6ea69f538264148c68a", + "rev": "059e5a606347dd2a4661dc2521d3432140ef9f35", "type": "github" }, "original": { From 213e5495a01db298f7c74c6755935ce21b2773b9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 09:29:46 +0100 Subject: [PATCH 1039/2080] Fix setting theme --- modules/home/kitty/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index b222d26c..090b002b 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -8,14 +8,14 @@ # Use a static configuration file for colors home.file.".config/kitty/tokyonight_storm.conf".source = ./tokyonight_storm.conf; - home.file.".config/kitty/tokyonight_storm.conf".source = ./tokyonight_moon.conf; + home.file.".config/kitty/tokyonight_moon.conf".source = ./tokyonight_moon.conf; home.file.".config/kitty/dracula.conf".source = ./dracula.conf; # General config # https://sw.kovidgoyal.net/kitty/conf/ programs.kitty.settings = { font_family = "Cascadia Code PL"; - font_size = "14.0"; + font_size = "16.0"; adjust_line_height = "140%"; disable_ligatures = "cursor"; # disable ligatures when cursor is on them From 6a0e698fc8d0187527ca240ba14c0064fbec88ff Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 09:29:55 +0100 Subject: [PATCH 1040/2080] nvim: update colorscheme configuration. --- lazyvim/nvim/lua/plugins/colorscheme.lua | 39 ++++-------------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/colorscheme.lua b/lazyvim/nvim/lua/plugins/colorscheme.lua index 37e60904..c6f666b4 100644 --- a/lazyvim/nvim/lua/plugins/colorscheme.lua +++ b/lazyvim/nvim/lua/plugins/colorscheme.lua @@ -2,9 +2,10 @@ return { -- Install treesitter-aware fork of dracula theme { "Mofiqul/dracula.nvim" }, - { "shaunsingh/oxocarbon.nvim" }, - { "ellisonleao/gruvbox.nvim" }, - { "rose-pine/neovim", name = "rose-pine" }, + -- { "shaunsingh/oxocarbon.nvim" }, + -- { "ellisonleao/gruvbox.nvim" }, + -- { "rose-pine/neovim", name = "rose-pine" }, + -- { "drewtempelmeyer/palenight.vim" }, { "tokyonight.nvim", lazy = false, @@ -12,11 +13,6 @@ return { opts = function() return { style = "moon", - -- transparent = true, - -- styles = { - -- sidebars = "transparent", - -- floats = "transparent", - -- }, sidebars = { "qf", "vista_kind", @@ -25,29 +21,6 @@ return { "startuptime", "Outline", }, - on_colors = function(c) - -- local hsluv = require("tokyonight.hsluv") - -- local function randomColor(color) - -- if color ~= "NONE" then - -- local hsl = hsluv.hex_to_hsluv(color) - -- hsl[1] = math.random(0, 360) - -- return hsluv.hsluv_to_hex(hsl) - -- end - -- return color - -- end - -- local function set(colors) - -- if type(colors) == "table" then - -- for k, v in pairs(colors) do - -- if type(v) == "string" then - -- colors[k] = randomColor(v) - -- elseif type(v) == "table" then - -- set(v) - -- end - -- end - -- end - -- end - -- set(c) - end, on_highlights = function(hl, c) hl.CursorLineNr = { fg = c.orange, bold = true } hl.LineNr = { fg = c.orange, bold = true } @@ -66,14 +39,14 @@ return { end, }, - -- Override LazyVim configuration + -- Override LazyVim configuration to select colorscheme { "LazyVim/LazyVim", opts = { -- colorscheme = "dracula", -- colorscheme = "catppuccin-frappe", colorscheme = function() - require("tokyonight").load({ style = "moon" }) + require("tokyonight").load() end, }, }, From 5fddf4201df5d7cd7d43ec90f70e1aad12fa7ad1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 09:30:21 +0100 Subject: [PATCH 1041/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 01d1019e..de8356b9 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "3c6357815c354ee2bb82b4162a484c1de6d575dc" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "809c05360a0dabfc018093a090045d292d362ef4" }, + "SchemaStore.nvim": { "branch": "main", "commit": "db73ffdeafb3296e9e9dc45d6976b4b396f3bea8" }, "alpha-nvim": { "branch": "main", "commit": "4b0ba68022d8612b04b26844f1ce5e708c0d23b0" }, "bufferline.nvim": { "branch": "main", "commit": "b337fd393cef2e3679689d220e2628722c20ddcb" }, "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, @@ -27,8 +27,8 @@ "leap.nvim": { "branch": "main", "commit": "d34680b16af977928228e57c68e5a162f1649e3c" }, "ltex-ls.nvim": { "branch": "main", "commit": "c8139ea6b7f3d71adcff121e16ee8726037ffebd" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "e4badf7984f7a5f0ac7dc10657dbedbd99a82f94" }, - "mason.nvim": { "branch": "main", "commit": "c400270804059087e2d0041893a95c6bab4df3c1" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "a31e011135a79d63c71254c250c9158e1056a1cb" }, + "mason.nvim": { "branch": "main", "commit": "3ee3174e30e33c9d58fa07b0a73a6e180474b59c" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -45,7 +45,7 @@ "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "c22651651da01239fc4afac4cdb7261797d5f02e" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "456cd2754c56c991c5e4df60a807d054c1bc7148" }, + "null-ls.nvim": { "branch": "main", "commit": "900c38cfa91eb7ff2716da70f2f2c1d33741cf0a" }, "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lspconfig": { "branch": "master", "commit": "1a2d5f5224c65b0709bf5da0ccd9cad29272083a" }, @@ -54,13 +54,14 @@ "nvim-scrollbar": { "branch": "main", "commit": "75210c554e935740448cfb532d8a671ae544bb1b" }, "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "980f0816cc28c20e45715687a0a21b5b39af59eb" }, + "nvim-treesitter": { "branch": "master", "commit": "94f9a569736fea4c4128216800612a733e59b083" }, "nvim-treesitter-context": { "branch": "master", "commit": "895ec44f5c89bc67ba5440aef3d1f2efa3d59a41" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "98c66344d2f25a3976a81d76256f0027327abadc" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "f5f13206ec33e55b16c8e1a9dec301e8bead4835" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "b2060eac2fbc84e0637ea706378ff66451e7c424" }, + "nvim-web-devicons": { "branch": "master", "commit": "4af94fec29f508159ceab5413383e5dedd6c24e3" }, "oxocarbon.nvim": { "branch": "main", "commit": "149e8dec961562c63091ad6910fec4ead61eaa7f" }, + "palenight.vim": { "branch": "master", "commit": "847fcf5b1de2a1f9c28fdcc369d009996c6bf633" }, "peek.nvim": { "branch": "master", "commit": "7fb50a540edf28a99e8f3871e093dff65d5e493d" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, @@ -74,13 +75,13 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "57ed37148ffcf05d68df8e06d4eec2b74bf62601" }, + "tokyonight.nvim": { "branch": "main", "commit": "663657d65254a7920c05b5c0d67a28d003967c2f" }, "treesj": { "branch": "main", "commit": "19e1150d52ae16bac2465bcd7633c05702b5ae59" }, "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, - "vim-matchup": { "branch": "master", "commit": "959e0e79ea240cdee29efbdd0d2e2e718931ccec" }, + "vim-matchup": { "branch": "master", "commit": "3a48818a8113a502f245c29d894201421727577a" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, From d15b908f18c557b05a840b12c28edba77e0fd9fe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 09:44:58 +0100 Subject: [PATCH 1042/2080] kitty: back to tokyonight_storm. --- modules/home/kitty/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index 090b002b..bf642fbf 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -37,8 +37,8 @@ programs.kitty.extraConfig = '' # Load theme - # include tokyonight_storm.conf - include tokyonight_moon.conf + include tokyonight_storm.conf + # include tokyonight_moon.conf # include dracula.conf # Change the style of italic font variants @@ -49,4 +49,5 @@ symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D JetBrainsMono Nerd Font"; ''; } + # vim: foldmethod=marker From 4c01dba6d0b97b54b184cf84e579aeeffcc78f05 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 09:45:20 +0100 Subject: [PATCH 1043/2080] neovim: back to tokyonight-storm. --- lazyvim/nvim/lua/plugins/colorscheme.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/colorscheme.lua b/lazyvim/nvim/lua/plugins/colorscheme.lua index c6f666b4..c9d0d08a 100644 --- a/lazyvim/nvim/lua/plugins/colorscheme.lua +++ b/lazyvim/nvim/lua/plugins/colorscheme.lua @@ -12,7 +12,6 @@ return { priority = 1000, opts = function() return { - style = "moon", sidebars = { "qf", "vista_kind", @@ -46,7 +45,7 @@ return { -- colorscheme = "dracula", -- colorscheme = "catppuccin-frappe", colorscheme = function() - require("tokyonight").load() + require("tokyonight").load({ style = "storm" }) end, }, }, From e5938bc92a3c2d25c58e25e2a4400e83ffa9d67b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 11:41:18 +0100 Subject: [PATCH 1044/2080] Disable nvim native spell. --- lazyvim/nvim/lua/config/autocmds.lua | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lua/config/autocmds.lua b/lazyvim/nvim/lua/config/autocmds.lua index 2a546121..2bd8e355 100644 --- a/lazyvim/nvim/lua/config/autocmds.lua +++ b/lazyvim/nvim/lua/config/autocmds.lua @@ -34,11 +34,12 @@ vim.api.nvim_create_autocmd("BufWritePre", { end, }) --- Fix conceallevel for json & help files --- vim.api.nvim_create_autocmd({ "FileType" }, { --- pattern = { "json", "jsonc" }, --- callback = function() --- vim.wo.spell = false --- vim.wo.conceallevel = 0 --- end, --- }) +-- wrap but no spell check in text filetypes +vim.api.nvim_create_autocmd("FileType", { + pattern = { "gitcommit", "markdown" }, + callback = function() + vim.wo.wrap = true + vim.wo.spell = false + vim.wo.conceallevel = 0 + end, +}) From b0e629e57bc9a6e0f30c7156338ecbd0d1cf27de Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 11:42:14 +0100 Subject: [PATCH 1045/2080] nvim: remove content moved to dedicated files. --- lazyvim/nvim/lua/plugins/gwarf.lua | 144 ----------------------------- 1 file changed, 144 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 5a0ac4b5..5ec145a2 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -6,78 +6,13 @@ -- * disable/enabled LazyVim plugins -- * override the configuration of LazyVim plugins --- https://sbulav.github.io/vim/neovim-setting-up-luasnip/ -local snip_status_ok, luasnip = pcall(require, "luasnip") -if not snip_status_ok then - return -end -local s = luasnip.snippet -local i = luasnip.insert_node -local t = luasnip.text_node - return { - -- override nvim-cmp and add cmp-emoji - { - "hrsh7th/nvim-cmp", - dependencies = { "hrsh7th/cmp-emoji" }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - local cmp = require("cmp") - opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) - end, - }, - - -- Install ltex-ls for spellchecking - { "vigoux/ltex-ls.nvim" }, - -- Install support for editing nix files { "LnL7/vim-nix" }, -- add vim-repeat to supercharge . { "tpope/vim-repeat" }, - -- add various LSP to lspconfig - { - "neovim/nvim-lspconfig", - -- Need to run master as current tagged release is broken and not using latest lua_ls - -- name, cf https://github.com/neovim/nvim-lspconfig/pull/2439 - -- https://www.lazyvim.org/configuration/lazy.nvim - version = false, - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md - servers = { - pyright = {}, - ansiblels = {}, - bashls = {}, - rnix = { - -- rnix-lsp is installed using nix - mason = false, - }, - -- use LanguageTool for spell checking - -- TODO: https://gist.github.com/lbiaggi/a3eb761ac2fdbff774b29c88844355b8 - -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html - ltex = { - checkFrequency = "save", - enabled = { "latex", "tex", "bib", "markdown", "text", "mail", "norg" }, - language = "en-GB", - diagnosticSeverity = "information", - additionalRules = { - enablePickyRules = true, - motherTongue = "fr", - }, - disabledRules = { - en = { "TOO_LONG_SENTENCE" }, - ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S" }, - fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, - }, - dictionary = { ["en-GB"] = { ":" .. vim.fn.stdpath("config") .. "/words.txt" } }, - }, - }, - }, - }, - -- XXX tools are managed via nix -- add any tools you want to have installed below -- { @@ -91,83 +26,4 @@ return { -- }, -- }, -- }, - - -- Use <tab> for completion and snippets (supertab) - -- first: disable default <tab> and <s-tab> behavior in LuaSnip - { - "L3MON4D3/LuaSnip", - keys = function() - return {} - end, - }, - -- then: setup supertab in cmp - { - "hrsh7th/nvim-cmp", - dependencies = { - "hrsh7th/cmp-emoji", - }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - local has_words_before = function() - unpack = unpack or table.unpack - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil - end - - local cmp = require("cmp") - - opts.mapping = vim.tbl_extend("force", opts.mapping, { - ["<Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() - -- they way you will only jump inside the snippet region - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end, { "i", "s" }), - ["<S-Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - }) - - opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { - { - name = "buffer", - option = { - get_bufnrs = function() - return vim.api.nvim_list_bufs() - end, - }, - }, - { name = "emoji", insert = true }, - })) - end, - }, - - -- Custom snippets - -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua - -- XXX move this to a dedicated file - luasnip.add_snippets("all", { - s("ternary", { - -- equivalent to "${1:cond} ? ${2:then} : ${3:else}" - i(1, "cond"), - t(" ? "), - i(2, "then"), - t(" : "), - i(3, "else"), - }), - s("brb", { t({ "Best regards,", "Baptiste" }) }), - s("cb", { t({ "Cheers,", "Baptiste" }) }), - }), } From 26e597aeee4b54d34bb19a28a6da69ff210f15a1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 11:42:52 +0100 Subject: [PATCH 1046/2080] nvim lsp: import lsp-specific config file. Make ltex use nvim dictionary. --- lazyvim/nvim/lua/plugins/lsp.lua | 78 ++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 lazyvim/nvim/lua/plugins/lsp.lua diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua new file mode 100644 index 00000000..bf19667a --- /dev/null +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -0,0 +1,78 @@ +-- Build a table from local nvim dictionary to be used by ltex +-- TODO: check https://github.com/barreiroleo/ltex_extra.nvim +local path = vim.fn.stdpath("config") .. "/spell/en.utf-8.add" +local words = {} + +local f = io.open(path, "r") +if f ~= nil then + for word in f:lines() do + table.insert(words, word) + end +else + print("No spell folder in ", path) +end + +return { + -- Restore 'gw' to default behavior. First, remove the 'gw' keymap set in LazyVim: + -- vim.keymap.del({ "n", "x" }, "gw") + -- Then, reset formatexpr if null-ls is not providing any formatting generators. + -- See: https://github.com/jose-elias-alvarez/null-ls.nvim/issues/1131 + -- require("lazyvim.util").on_attach(function(client, buf) + -- if client.name == "null-ls" then + -- if not require("null-ls.generators").can_run(vim.bo[buf].filetype, require("null-ls.methods").lsp.FORMATTING) then + -- vim.bo[buf].formatexpr = nil + -- end + -- end + -- end), + + -- add various LSP to lspconfig + { + "neovim/nvim-lspconfig", + -- Need to run master as current tagged release is broken and not using latest lua_ls + -- name, cf https://github.com/neovim/nvim-lspconfig/pull/2439 + -- https://www.lazyvim.org/configuration/lazy.nvim + version = false, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md + servers = { + ansiblels = {}, + bashls = {}, + -- use LanguageTool via ltex for spell checking + -- TODO: https://gist.github.com/lbiaggi/a3eb761ac2fdbff774b29c88844355b8 + -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html + ltex = { + settings = { + ltex = { + -- trace = { server = 'verbose' }, + -- diagnosticSeverity = "information", + -- checkFrequency = "save", + language = "en-GB", + -- enabled = { "latex", "tex", "bib", "markdown", "text", "mail", "norg" }, + additionalRules = { + enablePickyRules = true, + motherTongue = "fr", + }, + disabledRules = { + en = { "TOO_LONG_SENTENCE" }, + ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S" }, + fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, + }, + -- XXX: not supported + -- https://github.com/valentjn/ltex-ls/issues/124#issuecomment-984313281 + -- dictionary = { ["en-GB"] = { ":" .. vim.fn.stdpath("config") .. "/words.txt" } }, + -- Use vim dictionry + dictionary = { ["en-GB"] = words }, + }, + }, + }, + pyright = {}, + rnix = { + -- rnix-lsp is installed using nix + mason = false, + }, + }, + }, + }, +} From 8a1a0503dcb88d3da361ebea0add63b4fdeb1068 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 11:46:44 +0100 Subject: [PATCH 1047/2080] nvim: bring back J --- lazyvim/nvim/lua/plugins/misc.lua | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/misc.lua b/lazyvim/nvim/lua/plugins/misc.lua index 0e11e22c..2f787502 100644 --- a/lazyvim/nvim/lua/plugins/misc.lua +++ b/lazyvim/nvim/lua/plugins/misc.lua @@ -4,10 +4,11 @@ return { { "Wansmer/treesj", - keys = { - { "J", "<cmd>TSJToggle<cr>", desc = "Join Toggle" }, - }, - opts = { use_default_keymaps = false, max_join_length = 150 }, + -- keys: <space>m - toggle, <space>j - join, <space>s - split + -- keys = { + -- { "J", "<cmd>TSJToggle<cr>", desc = "Join Toggle" }, + -- }, + -- opts = { use_default_keymaps = false, max_join_length = 150 }, }, { From f3b1a09b1ffdc7e96147d9f56d775e98cf6d6053 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Mar 2023 11:47:58 +0100 Subject: [PATCH 1048/2080] lazyvim: bump lock file --- lazyvim/nvim/lazy-lock.json | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index de8356b9..3b765ea9 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -19,16 +19,14 @@ "flit.nvim": { "branch": "main", "commit": "4c1739137acd3e7f03e2065a7be8a4dc41c7e461" }, "friendly-snippets": { "branch": "main", "commit": "009887b76f15d16f69ae1341f86a7862f61cf2a1" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, - "gruvbox.nvim": { "branch": "main", "commit": "7a5c7ace3ac169b2898a4c7d8abec42cf9e18003" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "incline.nvim": { "branch": "main", "commit": "5a1d8a1abe6acbf59b716e89551b1cea974c9440" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "14075657131b9a19883a8845c47f1ab65461cd6f" }, "leap.nvim": { "branch": "main", "commit": "d34680b16af977928228e57c68e5a162f1649e3c" }, - "ltex-ls.nvim": { "branch": "main", "commit": "c8139ea6b7f3d71adcff121e16ee8726037ffebd" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "a31e011135a79d63c71254c250c9158e1056a1cb" }, - "mason.nvim": { "branch": "main", "commit": "3ee3174e30e33c9d58fa07b0a73a6e180474b59c" }, + "mason.nvim": { "branch": "main", "commit": "add6d1d63d8b86af951ba64b4157fe6b0af173d4" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -54,21 +52,18 @@ "nvim-scrollbar": { "branch": "main", "commit": "75210c554e935740448cfb532d8a671ae544bb1b" }, "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "94f9a569736fea4c4128216800612a733e59b083" }, + "nvim-treesitter": { "branch": "master", "commit": "356c9db3478b1bc6d0f0eefcb397989e50fdc35f" }, "nvim-treesitter-context": { "branch": "master", "commit": "895ec44f5c89bc67ba5440aef3d1f2efa3d59a41" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "f5f13206ec33e55b16c8e1a9dec301e8bead4835" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, "nvim-web-devicons": { "branch": "master", "commit": "4af94fec29f508159ceab5413383e5dedd6c24e3" }, - "oxocarbon.nvim": { "branch": "main", "commit": "149e8dec961562c63091ad6910fec4ead61eaa7f" }, - "palenight.vim": { "branch": "master", "commit": "847fcf5b1de2a1f9c28fdcc369d009996c6bf633" }, "peek.nvim": { "branch": "master", "commit": "7fb50a540edf28a99e8f3871e093dff65d5e493d" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "refactoring.nvim": { "branch": "master", "commit": "57c32c6b7a211e5a3a5e4ddc4ad2033daff5cf9a" }, - "rose-pine": { "branch": "main", "commit": "df94e56cadef971164942726fa2aa55c9f078c2b" }, "ssr.nvim": { "branch": "main", "commit": "97a9e1e319eec2d7e9731be4c6ac9638a1a2d79d" }, "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, From 48ba86df1c73dbe6a0901c4f28e2ed912e33de2e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 8 Mar 2023 15:45:21 +0100 Subject: [PATCH 1049/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/86bb69b0b1e10d99a30c4352f230f03106dd0f8a' (2023-03-02) → 'github:nix-community/home-manager/b0be47978de5cfd729a79c3f57ace4c86364ff45' (2023-03-08) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/47c003416297e4d59a5e3e7a8b15cdbdf5110560' (2023-03-06) → 'github:NixOS/nixpkgs/7edcdf7b169c33cd3eef9aba50521ce93ee666b8' (2023-03-06) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/934e613c31cf7af0624dcf088b9e2d9b802d0717' (2023-03-06) → 'github:nixos/nixpkgs/1e56d76f106e626764ee91785fe32b2342cc836e' (2023-03-08) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/3c5319ad3aa51551182ac82ea17ab1c6b0f0df89' (2023-03-04) → 'github:nixos/nixpkgs/c707238dc262923da5a53a5a11914117caac07a2' (2023-03-07) • Updated input 'nur': 'github:nix-community/NUR/059e5a606347dd2a4661dc2521d3432140ef9f35' (2023-03-07) → 'github:nix-community/NUR/74f84da87fc481dfdb050fa029e952553440f979' (2023-03-08) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 50ef108e..fbc7c3e9 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1677757546, - "narHash": "sha256-tA1ukoluctzLVyWRaKtD4KlTwgXbUsGB5vcyni1OJ9I=", + "lastModified": 1678285456, + "narHash": "sha256-2rIk5OFGQmoFX1MWntKGPVCZvy5yQMX3ZCYz7i8+yb0=", "owner": "nix-community", "repo": "home-manager", - "rev": "86bb69b0b1e10d99a30c4352f230f03106dd0f8a", + "rev": "b0be47978de5cfd729a79c3f57ace4c86364ff45", "type": "github" }, "original": { @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1678072060, - "narHash": "sha256-6a9Tbjhir5HxDx4uw0u6Z+LHUfYf7tsT9QxF9FN/32w=", + "lastModified": 1678137616, + "narHash": "sha256-T+lWTRdcYaOnZQW+Ehdlg+YldC2l9cq2GXJFPq22Nxc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "47c003416297e4d59a5e3e7a8b15cdbdf5110560", + "rev": "7edcdf7b169c33cd3eef9aba50521ce93ee666b8", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1678101631, - "narHash": "sha256-vuuvWBNGhNSPPbFCjp2XZmBqJOvsFF1T0hyleRnHZlc=", + "lastModified": 1678266329, + "narHash": "sha256-rawge6yca5wvm+vcBB0pTp2q1Bf5Nc2Lk05dP7W+Q1E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "934e613c31cf7af0624dcf088b9e2d9b802d0717", + "rev": "1e56d76f106e626764ee91785fe32b2342cc836e", "type": "github" }, "original": { @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1677932085, - "narHash": "sha256-+AB4dYllWig8iO6vAiGGYl0NEgmMgGHpy9gzWJ3322g=", + "lastModified": 1678201391, + "narHash": "sha256-dX4z2oSJ5UKzY5wb5HX2VaPP08DPWZ6B7EHzOJfP7GM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3c5319ad3aa51551182ac82ea17ab1c6b0f0df89", + "rev": "c707238dc262923da5a53a5a11914117caac07a2", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1678171752, - "narHash": "sha256-LG+E99NZCpFtoPtmjAzjB4j430t3bjMR+E7X+Bwc5dk=", + "lastModified": 1678280837, + "narHash": "sha256-EtWAGNUjqbdb1kq3IHD37Dr9w7WTZ70rqh5sI96ozpI=", "owner": "nix-community", "repo": "NUR", - "rev": "059e5a606347dd2a4661dc2521d3432140ef9f35", + "rev": "74f84da87fc481dfdb050fa029e952553440f979", "type": "github" }, "original": { From cab1991cb18406c94b376cf7dd7e2204650213b7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Mar 2023 18:14:54 +0100 Subject: [PATCH 1050/2080] neovim: disable copilot. --- lazyvim/nvim/lua/plugins/coding.lua | 31 +++++++++++++++-------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index db666cb5..dd7eabec 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -223,16 +223,16 @@ return { }, -- copilot - { - "zbirenbaum/copilot.lua", - enabled = true, - cmd = "Copilot", - event = "InsertEnter", - opts = { - suggestion = { enabled = false }, - panel = { enabled = false }, - }, - }, + -- { + -- "zbirenbaum/copilot.lua", + -- enabled = true, + -- cmd = "Copilot", + -- event = "InsertEnter", + -- opts = { + -- suggestion = { enabled = false }, + -- panel = { enabled = false }, + -- }, + -- }, { "simrat39/symbols-outline.nvim", @@ -244,15 +244,16 @@ return { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji", - { - "zbirenbaum/copilot-cmp", - opts = {}, - }, + -- { + -- "zbirenbaum/copilot-cmp", + -- opts = {}, + -- }, }, ---@param opts cmp.ConfigSchema opts = function(_, opts) local cmp = require("cmp") - opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "copilot" }, { name = "emoji" } })) + -- opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "copilot" }, { name = "emoji" } })) + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) end, }, } From 5966a8e22b080bbfed1350a761e6f0f91e240f1a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Mar 2023 18:15:24 +0100 Subject: [PATCH 1051/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 3b765ea9..2714d649 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,8 +1,8 @@ { "LazyVim": { "branch": "main", "commit": "3c6357815c354ee2bb82b4162a484c1de6d575dc" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "db73ffdeafb3296e9e9dc45d6976b4b396f3bea8" }, - "alpha-nvim": { "branch": "main", "commit": "4b0ba68022d8612b04b26844f1ce5e708c0d23b0" }, + "SchemaStore.nvim": { "branch": "main", "commit": "42e12c5a76a9b7acf6694841a0c8fab07ce90926" }, + "alpha-nvim": { "branch": "main", "commit": "906649c3991903d14cef8fae1fe5557193ca743c" }, "bufferline.nvim": { "branch": "main", "commit": "b337fd393cef2e3679689d220e2628722c20ddcb" }, "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -13,7 +13,7 @@ "copilot-cmp": { "branch": "master", "commit": "92535dfd9c430b49ca7d9a7da336c5db65826b65" }, "copilot.lua": { "branch": "master", "commit": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "diffview.nvim": { "branch": "main", "commit": "cce67317f62f04f8bbb41f57ac75d1a37f30493c" }, + "diffview.nvim": { "branch": "main", "commit": "ecaa0f3ec11f4e826d17d347c929d9e54a035db8" }, "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, "flit.nvim": { "branch": "main", "commit": "4c1739137acd3e7f03e2065a7be8a4dc41c7e461" }, @@ -22,11 +22,11 @@ "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "incline.nvim": { "branch": "main", "commit": "5a1d8a1abe6acbf59b716e89551b1cea974c9440" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "14075657131b9a19883a8845c47f1ab65461cd6f" }, + "lazy.nvim": { "branch": "main", "commit": "5b4444f0d7e556deba3f7ca949a2ba0e2c3369fb" }, "leap.nvim": { "branch": "main", "commit": "d34680b16af977928228e57c68e5a162f1649e3c" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "a31e011135a79d63c71254c250c9158e1056a1cb" }, - "mason.nvim": { "branch": "main", "commit": "add6d1d63d8b86af951ba64b4157fe6b0af173d4" }, + "mason.nvim": { "branch": "main", "commit": "b3db6999fdf0170619a1c8fa41586bea3669a94a" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -37,24 +37,24 @@ "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "aec592bb1f0cf67f7e1123053d1eb17700aa9ed4" }, - "neoconf.nvim": { "branch": "main", "commit": "627794ccb18521d7c7d11606d2cf2674f9ed515e" }, - "neodev.nvim": { "branch": "main", "commit": "04c02d886f22a077dadb04e2330eebb2ea356f26" }, + "neoconf.nvim": { "branch": "main", "commit": "64df472e5dad68749c5181d87dd8a4b7525db167" }, + "neodev.nvim": { "branch": "main", "commit": "bd6a7222e8fbd1f4bca3f7a53d7328eddc0dd121" }, "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "c22651651da01239fc4afac4cdb7261797d5f02e" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "900c38cfa91eb7ff2716da70f2f2c1d33741cf0a" }, + "null-ls.nvim": { "branch": "main", "commit": "96e0305296615de2e084f1a94bbe90d927ac884b" }, "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "1a2d5f5224c65b0709bf5da0ccd9cad29272083a" }, + "nvim-lspconfig": { "branch": "master", "commit": "2ba6e268d92934e14fe561fe446a49540803e57f" }, "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "75210c554e935740448cfb532d8a671ae544bb1b" }, "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "356c9db3478b1bc6d0f0eefcb397989e50fdc35f" }, - "nvim-treesitter-context": { "branch": "master", "commit": "895ec44f5c89bc67ba5440aef3d1f2efa3d59a41" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "f5f13206ec33e55b16c8e1a9dec301e8bead4835" }, + "nvim-treesitter": { "branch": "master", "commit": "fc1ca10bfbdee17e29374d0d1bac8ea030539dc3" }, + "nvim-treesitter-context": { "branch": "master", "commit": "0b4481cc2eeb0354f2903aa4d800fcc17a00f4fb" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "542e0879d524ba717234fcba049b6c2da7989d5a" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, "nvim-web-devicons": { "branch": "master", "commit": "4af94fec29f508159ceab5413383e5dedd6c24e3" }, From d59b2d58c1842937bf1f9bf72cec64ea604637e7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Mar 2023 18:15:29 +0100 Subject: [PATCH 1052/2080] neovim: disable virtual text for LSP, show it on hover. Fix ltex configuration. --- lazyvim/nvim/lua/config/autocmds.lua | 16 ++++++++++++++++ lazyvim/nvim/lua/config/options.lua | 3 +++ lazyvim/nvim/lua/plugins/lsp.lua | 28 +++++++++++++++++++++------- 3 files changed, 40 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lua/config/autocmds.lua b/lazyvim/nvim/lua/config/autocmds.lua index 2bd8e355..db0f8a7e 100644 --- a/lazyvim/nvim/lua/config/autocmds.lua +++ b/lazyvim/nvim/lua/config/autocmds.lua @@ -43,3 +43,19 @@ vim.api.nvim_create_autocmd("FileType", { vim.wo.conceallevel = 0 end, }) + +-- https://github.com/neovim/nvim-lspconfig/wiki/UI-Customization +vim.api.nvim_create_autocmd("CursorHold", { + buffer = bufnr, + callback = function() + local opts = { + focusable = false, + close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, + border = "rounded", + source = "always", + prefix = " ", + scope = "cursor", + } + vim.diagnostic.open_float(nil, opts) + end, +}) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index ddd2ff38..def7f5c4 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -35,3 +35,6 @@ vim.g.loaded_python3_provider = 0 vim.g.loaded_perl_provider = 0 vim.g.loaded_ruby_provider = 0 vim.g.loaded_node_provider = 0 + +-- Spell file, used by ltex +opt.spellfile = vim.fn.stdpath("config") .. "/spell/en.utf-8.add" diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index bf19667a..4c3bf510 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -34,7 +34,9 @@ return { version = false, ---@class PluginLspOpts opts = { - ---@type lspconfig.options + diagnostics = { + virtual_text = false, + }, -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md servers = { ansiblels = {}, @@ -43,26 +45,38 @@ return { -- TODO: https://gist.github.com/lbiaggi/a3eb761ac2fdbff774b29c88844355b8 -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html ltex = { + filetypes = { + "bib", + "gitcommit", + "latex", + "mail", + "markdown", + "norg", + "org", + "pandoc", + "rst", + "text", + }, settings = { ltex = { -- trace = { server = 'verbose' }, - -- diagnosticSeverity = "information", -- checkFrequency = "save", language = "en-GB", - -- enabled = { "latex", "tex", "bib", "markdown", "text", "mail", "norg" }, additionalRules = { enablePickyRules = true, motherTongue = "fr", }, + -- https://community.languagetool.org/rule/list?lang=en disabledRules = { - en = { "TOO_LONG_SENTENCE" }, - ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S" }, + en = { "TOO_LONG_SENTENCE", "DASH_RULE" }, + ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S", "DASH_RULE" }, fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, }, - -- XXX: not supported + -- XXX: Using an external dictionary file is currently not supported -- https://github.com/valentjn/ltex-ls/issues/124#issuecomment-984313281 -- dictionary = { ["en-GB"] = { ":" .. vim.fn.stdpath("config") .. "/words.txt" } }, - -- Use vim dictionry + -- Use vim dictionary + -- XXX: New words are not taken into account until ltex is reloaded dictionary = { ["en-GB"] = words }, }, }, From aeb6193678c79167ea9534f5cf6c45fdabc9df7e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Mar 2023 18:17:06 +0100 Subject: [PATCH 1053/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 2714d649..9cc54deb 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -10,8 +10,6 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "copilot-cmp": { "branch": "master", "commit": "92535dfd9c430b49ca7d9a7da336c5db65826b65" }, - "copilot.lua": { "branch": "master", "commit": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "diffview.nvim": { "branch": "main", "commit": "ecaa0f3ec11f4e826d17d347c929d9e54a035db8" }, "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, From 69055a5c7412be2fc20ba7e5ca9892493bb9e117 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Mar 2023 18:17:44 +0100 Subject: [PATCH 1054/2080] neovim: show LSP diagnostic on hover. --- lazyvim/nvim/lua/config/autocmds.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/config/autocmds.lua b/lazyvim/nvim/lua/config/autocmds.lua index db0f8a7e..59666cae 100644 --- a/lazyvim/nvim/lua/config/autocmds.lua +++ b/lazyvim/nvim/lua/config/autocmds.lua @@ -44,6 +44,7 @@ vim.api.nvim_create_autocmd("FileType", { end, }) +-- Show LSP diagnostic on hover -- https://github.com/neovim/nvim-lspconfig/wiki/UI-Customization vim.api.nvim_create_autocmd("CursorHold", { buffer = bufnr, From 767e07aaee4864afd5eab81ec4e0f5e8543817cc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Mar 2023 19:35:33 +0100 Subject: [PATCH 1055/2080] Document commenting. --- lazyvim/nvim/lua/config/keymaps.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lazyvim/nvim/lua/config/keymaps.lua b/lazyvim/nvim/lua/config/keymaps.lua index 80168b6b..a7b1af18 100644 --- a/lazyvim/nvim/lua/config/keymaps.lua +++ b/lazyvim/nvim/lua/config/keymaps.lua @@ -6,3 +6,7 @@ local keymap = vim.keymap -- Go to beginning and end of of command in command-line mode keymap.set("c", "<C-A>", "<HOME>") keymap.set("c", "<C-E>", "<END>") + +-- Commenting is done using https://github.com/echasnovski/mini.comment +-- use gc in normal/visual mode +-- use gcc to toggle current line From 2e9ca9890d059c8f9cfdfa98875cbd4deae5657d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Mar 2023 19:36:10 +0100 Subject: [PATCH 1056/2080] neovim: try to make ltex_extra work with lazyvim. --- lazyvim/nvim/lua/plugins/lsp.lua | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 4c3bf510..4670c492 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -1,6 +1,6 @@ --- Build a table from local nvim dictionary to be used by ltex --- TODO: check https://github.com/barreiroleo/ltex_extra.nvim -local path = vim.fn.stdpath("config") .. "/spell/en.utf-8.add" +-- TODO: Properly integrate https://github.com/barreiroleo/ltex_extra.nvim +-- Build a table from local dictionary to be used by ltex +local path = vim.fn.stdpath("config") .. "/spell/ltex.dictionary.en-GB.txt" local words = {} local f = io.open(path, "r") @@ -25,14 +25,15 @@ return { -- end -- end), + -- Improved ltex integration, supporting code actions + { "barreiroleo/ltex-extra.nvim" }, + -- add various LSP to lspconfig { "neovim/nvim-lspconfig", - -- Need to run master as current tagged release is broken and not using latest lua_ls + -- XXX: Need to run master as current tagged release is broken and not using latest lua_ls -- name, cf https://github.com/neovim/nvim-lspconfig/pull/2439 - -- https://www.lazyvim.org/configuration/lazy.nvim version = false, - ---@class PluginLspOpts opts = { diagnostics = { virtual_text = false, @@ -42,7 +43,6 @@ return { ansiblels = {}, bashls = {}, -- use LanguageTool via ltex for spell checking - -- TODO: https://gist.github.com/lbiaggi/a3eb761ac2fdbff774b29c88844355b8 -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html ltex = { filetypes = { @@ -58,6 +58,7 @@ return { "text", }, settings = { + -- https://valentjn.github.io/ltex/settings.html ltex = { -- trace = { server = 'verbose' }, -- checkFrequency = "save", @@ -75,8 +76,7 @@ return { -- XXX: Using an external dictionary file is currently not supported -- https://github.com/valentjn/ltex-ls/issues/124#issuecomment-984313281 -- dictionary = { ["en-GB"] = { ":" .. vim.fn.stdpath("config") .. "/words.txt" } }, - -- Use vim dictionary - -- XXX: New words are not taken into account until ltex is reloaded + -- FIXME: rely on list generated from dictionary built by ltex_extra dictionary = { ["en-GB"] = words }, }, }, @@ -87,6 +87,19 @@ return { mason = false, }, }, + setup = { + -- FIXME: try to integrate ltex_extra with lazyvom + -- ltex_extra fails with: Error catching ltex client + -- the words are added to the dict, but not loaded by ltex + ltex = function(_, opts) + require("ltex_extra").setup({ + load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded + init_check = true, -- whether to load dictionaries on startup + path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. + log_level = "debug", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + }) + end, + }, }, }, } From e656890e3a4bb14988df871135cabdeeabf1036b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Mar 2023 19:38:02 +0100 Subject: [PATCH 1057/2080] neovim: No more set spellfile --- lazyvim/nvim/lua/config/options.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index def7f5c4..ddd2ff38 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -35,6 +35,3 @@ vim.g.loaded_python3_provider = 0 vim.g.loaded_perl_provider = 0 vim.g.loaded_ruby_provider = 0 vim.g.loaded_node_provider = 0 - --- Spell file, used by ltex -opt.spellfile = vim.fn.stdpath("config") .. "/spell/en.utf-8.add" From 7053b52445041f820b4f773089da640c813d90de Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Mar 2023 19:39:00 +0100 Subject: [PATCH 1058/2080] Ignore spell. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e1cdc610..a064ff10 100644 --- a/.gitignore +++ b/.gitignore @@ -141,3 +141,4 @@ code/ go/ tmp/ result +lazyvim/nvim/spell/ From dd24c2525db734dff74d6692292c654e492165a1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Mar 2023 19:39:51 +0100 Subject: [PATCH 1059/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 9cc54deb..846f34b0 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -22,6 +22,7 @@ "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "5b4444f0d7e556deba3f7ca949a2ba0e2c3369fb" }, "leap.nvim": { "branch": "main", "commit": "d34680b16af977928228e57c68e5a162f1649e3c" }, + "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "a31e011135a79d63c71254c250c9158e1056a1cb" }, "mason.nvim": { "branch": "main", "commit": "b3db6999fdf0170619a1c8fa41586bea3669a94a" }, From f5219a41dd21e210643d606cd2d7b0a94edcf0c6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Mar 2023 10:57:02 +0100 Subject: [PATCH 1060/2080] tmux: add binding to join back panes --- modules/home/tmux/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index dc09958b..92aa53a3 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -48,10 +48,6 @@ # tmux-256color not working fine with delta (showing error WARNING: terminal is not fully functional) terminal = "xterm-kitty"; extraConfig = '' - # window movement / renumbering like in screen's :number - bind-key m command-prompt -p "move window to:" "swap-window -t '%%'" - bind-key . command-prompt "move-window -r -t '%%'" - # Allow nested tmux sessions by making "C-b b" possible for sending a control # sequence to a nested session bind-key b send-prefix @@ -108,6 +104,13 @@ # Move windows bind-key S-Left swap-window -t -1\; select-window -t -1 bind-key S-Right swap-window -t +1\; select-window -t +1 + + # Window movement / renumbering like in screen's :number + bind-key m command-prompt -p "move window to:" "swap-window -t '%%'" + bind-key . command-prompt "move-window -r -t '%%'" + + # Send pane next to another one + bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" ''; }; } From 4eea9225f1cb55c35b926d6ad4c6697b4e2fdb91 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Mar 2023 10:59:26 +0100 Subject: [PATCH 1061/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/7edcdf7b169c33cd3eef9aba50521ce93ee666b8' (2023-03-06) → 'github:NixOS/nixpkgs/a7cc81913bb3cd1ef05ed0ece048b773e1839e51' (2023-03-07) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/1e56d76f106e626764ee91785fe32b2342cc836e' (2023-03-08) → 'github:nixos/nixpkgs/3318f4d7fa653aa8750a32c98845a7e716a863ff' (2023-03-09) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/c707238dc262923da5a53a5a11914117caac07a2' (2023-03-07) → 'github:nixos/nixpkgs/1e2590679d0ed2cee2736e8b80373178d085d263' (2023-03-09) • Updated input 'nur': 'github:nix-community/NUR/74f84da87fc481dfdb050fa029e952553440f979' (2023-03-08) → 'github:nix-community/NUR/d8e7ee3d5c5f47adf0139103c9055075a360a650' (2023-03-10) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index fbc7c3e9..2811a2aa 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1678137616, - "narHash": "sha256-T+lWTRdcYaOnZQW+Ehdlg+YldC2l9cq2GXJFPq22Nxc=", + "lastModified": 1678230755, + "narHash": "sha256-SFAXgNjNTXzcAideXcP0takfUGVft/VR5CACmYHg+Fc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7edcdf7b169c33cd3eef9aba50521ce93ee666b8", + "rev": "a7cc81913bb3cd1ef05ed0ece048b773e1839e51", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1678266329, - "narHash": "sha256-rawge6yca5wvm+vcBB0pTp2q1Bf5Nc2Lk05dP7W+Q1E=", + "lastModified": 1678378881, + "narHash": "sha256-paqOg3fhRlij6qfuG0ox69V4Z+d7E9IhdNqbGLTxMjA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1e56d76f106e626764ee91785fe32b2342cc836e", + "rev": "3318f4d7fa653aa8750a32c98845a7e716a863ff", "type": "github" }, "original": { @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1678201391, - "narHash": "sha256-dX4z2oSJ5UKzY5wb5HX2VaPP08DPWZ6B7EHzOJfP7GM=", + "lastModified": 1678380223, + "narHash": "sha256-HUxnK38iqrX84QdQxbFcosRKV3/koj1Zzp5b5aP4lIo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c707238dc262923da5a53a5a11914117caac07a2", + "rev": "1e2590679d0ed2cee2736e8b80373178d085d263", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1678280837, - "narHash": "sha256-EtWAGNUjqbdb1kq3IHD37Dr9w7WTZ70rqh5sI96ozpI=", + "lastModified": 1678441520, + "narHash": "sha256-SWc9Hlln71yNnlfvTOSBJtZMOanMljvFj5caqY6aTks=", "owner": "nix-community", "repo": "NUR", - "rev": "74f84da87fc481dfdb050fa029e952553440f979", + "rev": "d8e7ee3d5c5f47adf0139103c9055075a360a650", "type": "github" }, "original": { From 41f32342a3e16139c09fe4d03bd5a3050bea1389 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Mar 2023 11:15:30 +0100 Subject: [PATCH 1062/2080] neovim: group lspconfig and move ufo to generic file. --- lazyvim/nvim/lua/plugins/editor.lua | 35 ----------------------------- lazyvim/nvim/lua/plugins/gwarf.lua | 18 +++++++++++++++ lazyvim/nvim/lua/plugins/lsp.lua | 10 +++++++++ 3 files changed, 28 insertions(+), 35 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/editor.lua b/lazyvim/nvim/lua/plugins/editor.lua index a10b33e0..e69de29b 100644 --- a/lazyvim/nvim/lua/plugins/editor.lua +++ b/lazyvim/nvim/lua/plugins/editor.lua @@ -1,35 +0,0 @@ -return { - - -- add folding range to capabilities - { - "neovim/nvim-lspconfig", - opts = { - capabilities = { - textDocument = { - foldingRange = { - dynamicRegistration = false, - lineFoldingOnly = true, - }, - }, - }, - }, - }, - - -- add nvim-ufo - { - "kevinhwang91/nvim-ufo", - dependencies = "kevinhwang91/promise-async", - event = "BufReadPost", - opts = {}, - - init = function() - -- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself - vim.keymap.set("n", "zR", function() - require("ufo").openAllFolds() - end) - vim.keymap.set("n", "zM", function() - require("ufo").closeAllFolds() - end) - end, - }, -} diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 5ec145a2..01add5ff 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -13,6 +13,24 @@ return { -- add vim-repeat to supercharge . { "tpope/vim-repeat" }, + -- add nvim-ufo + { + "kevinhwang91/nvim-ufo", + dependencies = "kevinhwang91/promise-async", + event = "BufReadPost", + opts = {}, + + init = function() + -- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself + vim.keymap.set("n", "zR", function() + require("ufo").openAllFolds() + end) + vim.keymap.set("n", "zM", function() + require("ufo").closeAllFolds() + end) + end, + }, + -- XXX tools are managed via nix -- add any tools you want to have installed below -- { diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 4670c492..fcb2fe7e 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -35,6 +35,16 @@ return { -- name, cf https://github.com/neovim/nvim-lspconfig/pull/2439 version = false, opts = { + -- add folding range to capabilities + capabilities = { + textDocument = { + foldingRange = { + dynamicRegistration = false, + lineFoldingOnly = true, + }, + }, + }, + -- suppres virtual text diagnostics = { virtual_text = false, }, From bd2215ada143303c8119ecaeb9a996941b5bb9d3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Mar 2023 11:16:15 +0100 Subject: [PATCH 1063/2080] Drop empty file. --- lazyvim/nvim/lua/plugins/editor.lua | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lazyvim/nvim/lua/plugins/editor.lua diff --git a/lazyvim/nvim/lua/plugins/editor.lua b/lazyvim/nvim/lua/plugins/editor.lua deleted file mode 100644 index e69de29b..00000000 From be33766a5f449b2e834ac5a569462105db1b7e31 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Mar 2023 11:27:09 +0100 Subject: [PATCH 1064/2080] neovim: add some custom snippets. --- lazyvim/nvim/lua/plugins/coding.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index dd7eabec..25c629d9 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -254,6 +254,24 @@ return { local cmp = require("cmp") -- opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "copilot" }, { name = "emoji" } })) opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) + -- Custom snippets + -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua + local luasnip = require("luasnip") + local s = luasnip.snippet + local i = luasnip.insert_node + local t = luasnip.text_node + luasnip.add_snippets("all", { + s("ternary", { + -- equivalent to "${1:cond} ? ${2:then} : ${3:else}" + i(1, "cond"), + t(" ? "), + i(2, "then"), + t(" : "), + i(3, "else"), + }), + s("brb", { t({ "Best regards,", "Baptiste" }) }), + s("cb", { t({ "Cheers,", "Baptiste" }) }), + }) end, }, } From a775205ee69eb63e3e95fa7facdd1c75dd306eec Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 11:07:08 +0100 Subject: [PATCH 1065/2080] ltex_extra: log nothing. --- lazyvim/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index fcb2fe7e..ec51d1fb 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -106,7 +106,7 @@ return { load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded init_check = true, -- whether to load dictionaries on startup path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - log_level = "debug", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + log_level = "none", -- "none", "trace", "debug", "info", "warn", "error", "fatal" }) end, }, From 7661d9214d6619c949c544da4a7074a4180dfd59 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 11:23:06 +0100 Subject: [PATCH 1066/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 49 +++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 846f34b0..6eb26ffb 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,8 +1,8 @@ { - "LazyVim": { "branch": "main", "commit": "3c6357815c354ee2bb82b4162a484c1de6d575dc" }, + "LazyVim": { "branch": "main", "commit": "8bb0c9ddd85780f1490ba29388449e9ef68a68ae" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "42e12c5a76a9b7acf6694841a0c8fab07ce90926" }, - "alpha-nvim": { "branch": "main", "commit": "906649c3991903d14cef8fae1fe5557193ca743c" }, + "SchemaStore.nvim": { "branch": "main", "commit": "7cef97a6c432e631c639452a526f03350df2255f" }, + "alpha-nvim": { "branch": "main", "commit": "3847d6baf74da61e57a13e071d8ca185f104dc96" }, "bufferline.nvim": { "branch": "main", "commit": "b337fd393cef2e3679689d220e2628722c20ddcb" }, "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -11,53 +11,54 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "diffview.nvim": { "branch": "main", "commit": "ecaa0f3ec11f4e826d17d347c929d9e54a035db8" }, + "diffview.nvim": { "branch": "main", "commit": "ebcbe90401555272025006db00da0972f7e0db63" }, "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, "flit.nvim": { "branch": "main", "commit": "4c1739137acd3e7f03e2065a7be8a4dc41c7e461" }, - "friendly-snippets": { "branch": "main", "commit": "009887b76f15d16f69ae1341f86a7862f61cf2a1" }, + "friendly-snippets": { "branch": "main", "commit": "2f5b8a41659a19bd602497a35da8d81f1e88f6d9" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, - "incline.nvim": { "branch": "main", "commit": "5a1d8a1abe6acbf59b716e89551b1cea974c9440" }, + "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "5b4444f0d7e556deba3f7ca949a2ba0e2c3369fb" }, - "leap.nvim": { "branch": "main", "commit": "d34680b16af977928228e57c68e5a162f1649e3c" }, + "lazy.nvim": { "branch": "main", "commit": "623e00cabbc908f635150e73d4250cf4f241d919" }, + "leap.nvim": { "branch": "main", "commit": "2ff8eac67bed41005ea2032728a0336c784de611" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a31e011135a79d63c71254c250c9158e1056a1cb" }, - "mason.nvim": { "branch": "main", "commit": "b3db6999fdf0170619a1c8fa41586bea3669a94a" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "3924f2d264097b2caf13e713485dbc3e9d616574" }, + "mason.nvim": { "branch": "main", "commit": "441c9ea2ab385c2e6407a637775b4b392533d265" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, - "mini.bracketed": { "branch": "main", "commit": "a27581204768d10e04ec6085243e58344141032b" }, + "mini.bracketed": { "branch": "main", "commit": "94a8aa0c3a38d9187108c62a8f0ff1ed4d99ccc4" }, "mini.bufremove": { "branch": "main", "commit": "351d18d596f7eac4589b67b4b87ed1708c545dd3" }, "mini.comment": { "branch": "main", "commit": "9fc3fe43129e8c2611bd21b8f50af8c0d0742533" }, - "mini.indentscope": { "branch": "main", "commit": "7998edc970610c05598c7aea3d21ece8dd87ed52" }, + "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" }, "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "aec592bb1f0cf67f7e1123053d1eb17700aa9ed4" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "205184aa0e0f08e8a1249d9bb37b45bae85f01b9" }, "neoconf.nvim": { "branch": "main", "commit": "64df472e5dad68749c5181d87dd8a4b7525db167" }, - "neodev.nvim": { "branch": "main", "commit": "bd6a7222e8fbd1f4bca3f7a53d7328eddc0dd121" }, + "neodev.nvim": { "branch": "main", "commit": "78fb6373437eb400f1629b17d4a529669fa2a062" }, "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "c22651651da01239fc4afac4cdb7261797d5f02e" }, + "noice.nvim": { "branch": "main", "commit": "e2a04d480a9fba6b698c01998582ea17aa213ba3" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "96e0305296615de2e084f1a94bbe90d927ac884b" }, + "null-ls.nvim": { "branch": "main", "commit": "09e99259f4cdd929e7fb5487bf9d92426ccf7cc1" }, "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "2ba6e268d92934e14fe561fe446a49540803e57f" }, + "nvim-lspconfig": { "branch": "master", "commit": "4bb0f1845c5cc6465aecedc773fc2d619fcd8faf" }, "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "75210c554e935740448cfb532d8a671ae544bb1b" }, "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "fc1ca10bfbdee17e29374d0d1bac8ea030539dc3" }, - "nvim-treesitter-context": { "branch": "master", "commit": "0b4481cc2eeb0354f2903aa4d800fcc17a00f4fb" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "542e0879d524ba717234fcba049b6c2da7989d5a" }, + "nvim-treesitter": { "branch": "master", "commit": "89e5fa66cf53854f45cfcfae45afb93171cf5c05" }, + "nvim-treesitter-context": { "branch": "master", "commit": "cb6252b00d19c8b57e8e66de19a601df28455dd1" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "5b2bcb9ca8315879181f468b37a897100d631005" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "4af94fec29f508159ceab5413383e5dedd6c24e3" }, - "peek.nvim": { "branch": "master", "commit": "7fb50a540edf28a99e8f3871e093dff65d5e493d" }, + "nvim-web-devicons": { "branch": "master", "commit": "b8d0c99578dcb9d084a45ca4b3a4a502712c2741" }, + "oxocarbon.nvim": { "branch": "main", "commit": "dd29f538e6cfa0827896a4078db97119a8ca5c5e" }, + "peek.nvim": { "branch": "master", "commit": "571f14c795e8edd5a21e435f42f37c9bec4a8e16" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, @@ -69,8 +70,8 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "663657d65254a7920c05b5c0d67a28d003967c2f" }, - "treesj": { "branch": "main", "commit": "19e1150d52ae16bac2465bcd7633c05702b5ae59" }, + "tokyonight.nvim": { "branch": "main", "commit": "27203d70747094527d13575ed08f6a714e7a43f8" }, + "treesj": { "branch": "main", "commit": "1837532cbaab45c9af3b901ec67330a7f23826a6" }, "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, From 650c21fd8e9802efa14b7080244f7f21d0d6a720 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 11:23:28 +0100 Subject: [PATCH 1067/2080] Install colorscheme used for help files --- lazyvim/nvim/lua/plugins/colorscheme.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/colorscheme.lua b/lazyvim/nvim/lua/plugins/colorscheme.lua index c9d0d08a..9dddc041 100644 --- a/lazyvim/nvim/lua/plugins/colorscheme.lua +++ b/lazyvim/nvim/lua/plugins/colorscheme.lua @@ -2,7 +2,7 @@ return { -- Install treesitter-aware fork of dracula theme { "Mofiqul/dracula.nvim" }, - -- { "shaunsingh/oxocarbon.nvim" }, + { "shaunsingh/oxocarbon.nvim" }, -- { "ellisonleao/gruvbox.nvim" }, -- { "rose-pine/neovim", name = "rose-pine" }, -- { "drewtempelmeyer/palenight.vim" }, From dc66f50a07eaa56d1aeb2a1ec423f8edc996bbb5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 11:23:41 +0100 Subject: [PATCH 1068/2080] Use a global statusline --- lazyvim/nvim/lua/config/options.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index ddd2ff38..0c2b0279 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -35,3 +35,6 @@ vim.g.loaded_python3_provider = 0 vim.g.loaded_perl_provider = 0 vim.g.loaded_ruby_provider = 0 vim.g.loaded_node_provider = 0 + +-- Use a global statusline +vim.g.laststatus = 3 From f1ab9358c7cc94b0c63562b66bb2652ecb5cd26d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 11:24:45 +0100 Subject: [PATCH 1069/2080] lsp: disable ltex_extra until a proper solution is found --- lazyvim/nvim/lua/plugins/lsp.lua | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index ec51d1fb..e0746db6 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -26,7 +26,8 @@ return { -- end), -- Improved ltex integration, supporting code actions - { "barreiroleo/ltex-extra.nvim" }, + -- FIXME: broken, see https://github.com/LazyVim/LazyVim/discussions/403 + -- { "barreiroleo/ltex-extra.nvim" }, -- add various LSP to lspconfig { @@ -102,12 +103,12 @@ return { -- ltex_extra fails with: Error catching ltex client -- the words are added to the dict, but not loaded by ltex ltex = function(_, opts) - require("ltex_extra").setup({ - load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded - init_check = true, -- whether to load dictionaries on startup - path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - log_level = "none", -- "none", "trace", "debug", "info", "warn", "error", "fatal" - }) + -- require("ltex_extra").setup({ + -- load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded + -- init_check = true, -- whether to load dictionaries on startup + -- path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. + -- log_level = "none", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + -- }) end, }, }, From cb2e046c31664e3fb828723ae6f9d90feee75b9a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 11:27:49 +0100 Subject: [PATCH 1070/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 6eb26ffb..fbbc6223 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,5 +1,5 @@ { - "LazyVim": { "branch": "main", "commit": "8bb0c9ddd85780f1490ba29388449e9ef68a68ae" }, + "LazyVim": { "branch": "main", "commit": "6b740fd300d7b6dccd1dd2c722ee6a4c7a5b718a" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, "SchemaStore.nvim": { "branch": "main", "commit": "7cef97a6c432e631c639452a526f03350df2255f" }, "alpha-nvim": { "branch": "main", "commit": "3847d6baf74da61e57a13e071d8ca185f104dc96" }, @@ -22,7 +22,6 @@ "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "623e00cabbc908f635150e73d4250cf4f241d919" }, "leap.nvim": { "branch": "main", "commit": "2ff8eac67bed41005ea2032728a0336c784de611" }, - "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "3924f2d264097b2caf13e713485dbc3e9d616574" }, "mason.nvim": { "branch": "main", "commit": "441c9ea2ab385c2e6407a637775b4b392533d265" }, From 2411a382318bbae23aed1c860e24bb7e7dcf66ed Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 11:31:04 +0100 Subject: [PATCH 1071/2080] nvim: use main for b0o/incline.nvim --- lazyvim/nvim/lua/plugins/ui.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index d7c421c2..696ba4d1 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -2,9 +2,11 @@ return { -- floating winbar + -- FIXME: breaks vimdiff from time to time, race condition? => use main { "b0o/incline.nvim", event = "BufReadPre", + version = false, config = function() local colors = require("tokyonight.colors").setup() require("incline").setup({ From 730638f9a648cf7b2e8901ecbd49634fe70f0321 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 11:58:02 +0100 Subject: [PATCH 1072/2080] nvim: disable nvim-treesitter-context in diff mode. --- lazyvim/nvim/lua/plugins/treesitter.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/treesitter.lua b/lazyvim/nvim/lua/plugins/treesitter.lua index 0604639b..19bb794a 100644 --- a/lazyvim/nvim/lua/plugins/treesitter.lua +++ b/lazyvim/nvim/lua/plugins/treesitter.lua @@ -17,6 +17,8 @@ return { "nvim-treesitter/nvim-treesitter-context", event = "BufReadPre", config = true, + -- Disable context when doing a file diff + cond = not vim.api.nvim_win_get_option(0, "diff"), }, { From b99da0e3b625f0af54037754acd6e7e89742dc82 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 12:03:39 +0100 Subject: [PATCH 1073/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a7cc81913bb3cd1ef05ed0ece048b773e1839e51' (2023-03-07) → 'github:NixOS/nixpkgs/67f26c1cfc5d5783628231e776a81c1ade623e0b' (2023-03-13) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/3318f4d7fa653aa8750a32c98845a7e716a863ff' (2023-03-09) → 'github:nixos/nixpkgs/284d59a5189b12c51d6ceb75352da88c584b1813' (2023-03-13) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/1e2590679d0ed2cee2736e8b80373178d085d263' (2023-03-09) → 'github:nixos/nixpkgs/5a1dc8acd977ff3dccd1328b7c4a6995429a656b' (2023-03-12) • Updated input 'nur': 'github:nix-community/NUR/d8e7ee3d5c5f47adf0139103c9055075a360a650' (2023-03-10) → 'github:nix-community/NUR/a93973a3dd17284678ad6691dd38246b6ea3bf4f' (2023-03-14) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 2811a2aa..3a2dd8b9 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1678230755, - "narHash": "sha256-SFAXgNjNTXzcAideXcP0takfUGVft/VR5CACmYHg+Fc=", + "lastModified": 1678703398, + "narHash": "sha256-Y1mW3dBsoWLHpYm+UIHb5VZ7rx024NNHaF16oZBx++o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a7cc81913bb3cd1ef05ed0ece048b773e1839e51", + "rev": "67f26c1cfc5d5783628231e776a81c1ade623e0b", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1678378881, - "narHash": "sha256-paqOg3fhRlij6qfuG0ox69V4Z+d7E9IhdNqbGLTxMjA=", + "lastModified": 1678742071, + "narHash": "sha256-LJQij9que0ePW8zdYedN1KEQPH3iKcaVCtURGOxcJos=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3318f4d7fa653aa8750a32c98845a7e716a863ff", + "rev": "284d59a5189b12c51d6ceb75352da88c584b1813", "type": "github" }, "original": { @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1678380223, - "narHash": "sha256-HUxnK38iqrX84QdQxbFcosRKV3/koj1Zzp5b5aP4lIo=", + "lastModified": 1678654296, + "narHash": "sha256-aVfw3ThpY7vkUeF1rFy10NAkpKDS2imj3IakrzT0Occ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1e2590679d0ed2cee2736e8b80373178d085d263", + "rev": "5a1dc8acd977ff3dccd1328b7c4a6995429a656b", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1678441520, - "narHash": "sha256-SWc9Hlln71yNnlfvTOSBJtZMOanMljvFj5caqY6aTks=", + "lastModified": 1678788009, + "narHash": "sha256-O9nMPCAly/lUJHqtz8IAa8sf4uuB/6arHDEyQoRXTyw=", "owner": "nix-community", "repo": "NUR", - "rev": "d8e7ee3d5c5f47adf0139103c9055075a360a650", + "rev": "a93973a3dd17284678ad6691dd38246b6ea3bf4f", "type": "github" }, "original": { From 0c2f13b11e9a56e0c4e0e808625ea414729d63b3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 12:13:10 +0100 Subject: [PATCH 1074/2080] nvim: disable nvim-treesitter stuff in diff mode. --- lazyvim/nvim/lua/plugins/treesitter.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/treesitter.lua b/lazyvim/nvim/lua/plugins/treesitter.lua index 19bb794a..68e2be7b 100644 --- a/lazyvim/nvim/lua/plugins/treesitter.lua +++ b/lazyvim/nvim/lua/plugins/treesitter.lua @@ -5,6 +5,8 @@ return { { "mfussenegger/nvim-treehopper", keys = { { "m", mode = { "o", "x" } } }, + -- Disable when doing a file diff + cond = not vim.opt.diff:get(), config = function() vim.cmd([[ omap <silent> m :<C-U>lua require('tsht').nodes()<CR> @@ -18,11 +20,13 @@ return { event = "BufReadPre", config = true, -- Disable context when doing a file diff - cond = not vim.api.nvim_win_get_option(0, "diff"), + cond = not vim.opt.diff:get(), }, { "nvim-treesitter/nvim-treesitter", + -- Disable when doing a file diff + cond = not vim.opt.diff:get(), opts = { ensure_installed = { "astro", From 884afee07eef122310a932fc2eb1465804e79b88 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 12:13:48 +0100 Subject: [PATCH 1075/2080] nvim: issue with b0o/incline.nvim in diff was apaprently due to treesitter --- lazyvim/nvim/lua/plugins/ui.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index 696ba4d1..bbe85686 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -2,7 +2,6 @@ return { -- floating winbar - -- FIXME: breaks vimdiff from time to time, race condition? => use main { "b0o/incline.nvim", event = "BufReadPre", From 51193e077b7d47cbf381c94d099c7d33afab19c3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 12:32:29 +0100 Subject: [PATCH 1076/2080] nix: install deno, used to install peek for Markdown preview in neovim. --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index b90bdea6..a235a0e3 100644 --- a/home/main.nix +++ b/home/main.nix @@ -73,6 +73,7 @@ ansible-lint beautysh black + deno isort jq nodePackages.alex From af2081bfc909cf5202c8b9b9007c72da7a24f640 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Mar 2023 12:33:05 +0100 Subject: [PATCH 1077/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index fbbc6223..d6fbdacc 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -20,7 +20,7 @@ "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "623e00cabbc908f635150e73d4250cf4f241d919" }, + "lazy.nvim": { "branch": "main", "commit": "5550f9927195dee9444eee4f26b1a22fcd88a191" }, "leap.nvim": { "branch": "main", "commit": "2ff8eac67bed41005ea2032728a0336c784de611" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "3924f2d264097b2caf13e713485dbc3e9d616574" }, @@ -39,7 +39,7 @@ "neodev.nvim": { "branch": "main", "commit": "78fb6373437eb400f1629b17d4a529669fa2a062" }, "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "e2a04d480a9fba6b698c01998582ea17aa213ba3" }, + "noice.nvim": { "branch": "main", "commit": "a132d4210f9e4ed7b034d98e61eba877c6991a49" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, "null-ls.nvim": { "branch": "main", "commit": "09e99259f4cdd929e7fb5487bf9d92426ccf7cc1" }, "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, @@ -69,7 +69,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "27203d70747094527d13575ed08f6a714e7a43f8" }, + "tokyonight.nvim": { "branch": "main", "commit": "467d889ba82a74e26821c812aa8e70d7dff04c6c" }, "treesj": { "branch": "main", "commit": "1837532cbaab45c9af3b901ec67330a7f23826a6" }, "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, From 2b814a01fd911cadd73f5f9f818fd978130190e3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 15 Mar 2023 11:16:51 +0100 Subject: [PATCH 1078/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index d6fbdacc..255b7e0e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -20,11 +20,12 @@ "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "5550f9927195dee9444eee4f26b1a22fcd88a191" }, - "leap.nvim": { "branch": "main", "commit": "2ff8eac67bed41005ea2032728a0336c784de611" }, + "lazy.nvim": { "branch": "main", "commit": "e27c9df5fe039e9d2833ef4fcf7305595d5ccda7" }, + "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, + "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "3924f2d264097b2caf13e713485dbc3e9d616574" }, - "mason.nvim": { "branch": "main", "commit": "441c9ea2ab385c2e6407a637775b4b392533d265" }, + "mason.nvim": { "branch": "main", "commit": "87c9453cd91da3bba1076fa578a72439fbc4d311" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -39,7 +40,7 @@ "neodev.nvim": { "branch": "main", "commit": "78fb6373437eb400f1629b17d4a529669fa2a062" }, "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "a132d4210f9e4ed7b034d98e61eba877c6991a49" }, + "noice.nvim": { "branch": "main", "commit": "283eee690dee06422c2681ed2fae072fcfade722" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, "null-ls.nvim": { "branch": "main", "commit": "09e99259f4cdd929e7fb5487bf9d92426ccf7cc1" }, "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, @@ -48,14 +49,14 @@ "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "75210c554e935740448cfb532d8a671ae544bb1b" }, - "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, + "nvim-spectre": { "branch": "master", "commit": "201ccd1f6ce98a4e509359c8994e111a52a02515" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "89e5fa66cf53854f45cfcfae45afb93171cf5c05" }, + "nvim-treesitter": { "branch": "master", "commit": "cd436f92f65def9c7e74a7324d3eab422ef85643" }, "nvim-treesitter-context": { "branch": "master", "commit": "cb6252b00d19c8b57e8e66de19a601df28455dd1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "5b2bcb9ca8315879181f468b37a897100d631005" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "b8d0c99578dcb9d084a45ca4b3a4a502712c2741" }, + "nvim-web-devicons": { "branch": "master", "commit": "f1b1cee3a561590a6c1637a9326c406f6e4af914" }, "oxocarbon.nvim": { "branch": "main", "commit": "dd29f538e6cfa0827896a4078db97119a8ca5c5e" }, "peek.nvim": { "branch": "master", "commit": "571f14c795e8edd5a21e435f42f37c9bec4a8e16" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, @@ -70,7 +71,7 @@ "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "467d889ba82a74e26821c812aa8e70d7dff04c6c" }, - "treesj": { "branch": "main", "commit": "1837532cbaab45c9af3b901ec67330a7f23826a6" }, + "treesj": { "branch": "main", "commit": "fbcb2a1ace3dbe2b5589dc37745f616c75eeb2c9" }, "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, From 42ee771a6beefb677e243186be7f5d627dfea7a4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 15 Mar 2023 11:17:15 +0100 Subject: [PATCH 1079/2080] lsp: fix lsp_extra usage See https://github.com/LazyVim/LazyVim/discussions/403 --- lazyvim/nvim/lua/plugins/lsp.lua | 46 +++++++++++--------------------- 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index e0746db6..72969e0a 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -1,17 +1,3 @@ --- TODO: Properly integrate https://github.com/barreiroleo/ltex_extra.nvim --- Build a table from local dictionary to be used by ltex -local path = vim.fn.stdpath("config") .. "/spell/ltex.dictionary.en-GB.txt" -local words = {} - -local f = io.open(path, "r") -if f ~= nil then - for word in f:lines() do - table.insert(words, word) - end -else - print("No spell folder in ", path) -end - return { -- Restore 'gw' to default behavior. First, remove the 'gw' keymap set in LazyVim: -- vim.keymap.del({ "n", "x" }, "gw") @@ -26,8 +12,7 @@ return { -- end), -- Improved ltex integration, supporting code actions - -- FIXME: broken, see https://github.com/LazyVim/LazyVim/discussions/403 - -- { "barreiroleo/ltex-extra.nvim" }, + { "barreiroleo/ltex-extra.nvim" }, -- add various LSP to lspconfig { @@ -84,11 +69,6 @@ return { ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S", "DASH_RULE" }, fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, }, - -- XXX: Using an external dictionary file is currently not supported - -- https://github.com/valentjn/ltex-ls/issues/124#issuecomment-984313281 - -- dictionary = { ["en-GB"] = { ":" .. vim.fn.stdpath("config") .. "/words.txt" } }, - -- FIXME: rely on list generated from dictionary built by ltex_extra - dictionary = { ["en-GB"] = words }, }, }, }, @@ -99,16 +79,22 @@ return { }, }, setup = { - -- FIXME: try to integrate ltex_extra with lazyvom - -- ltex_extra fails with: Error catching ltex client - -- the words are added to the dict, but not loaded by ltex + -- integrate ltex_extra with lazyvim + -- https://github.com/LazyVim/LazyVim/discussions/403 ltex = function(_, opts) - -- require("ltex_extra").setup({ - -- load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded - -- init_check = true, -- whether to load dictionaries on startup - -- path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - -- log_level = "none", -- "none", "trace", "debug", "info", "warn", "error", "fatal" - -- }) + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + if client.name == "ltex" then + require("ltex_extra").setup({ + load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded + init_check = true, -- whether to load dictionaries on startup + path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. + log_level = "none", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + }) + end + end, + }) end, }, }, From 0c8b709c49143fbf46399d9ebd0d2e68dc08d998 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 15 Mar 2023 11:24:37 +0100 Subject: [PATCH 1080/2080] nvim lsp: remove unused en lang from ltex conf. Fix typo. --- lazyvim/nvim/lua/plugins/lsp.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 72969e0a..4ac7c545 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -30,7 +30,7 @@ return { }, }, }, - -- suppres virtual text + -- suppress virtual text diagnostics = { virtual_text = false, }, @@ -65,7 +65,6 @@ return { }, -- https://community.languagetool.org/rule/list?lang=en disabledRules = { - en = { "TOO_LONG_SENTENCE", "DASH_RULE" }, ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S", "DASH_RULE" }, fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, }, From cb92e33620650f8c40d8aec2016aee85a5320059 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 15 Mar 2023 11:30:35 +0100 Subject: [PATCH 1081/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/284d59a5189b12c51d6ceb75352da88c584b1813' (2023-03-13) → 'github:nixos/nixpkgs/45d24f02e577c228a6170606c943ee97a9614619' (2023-03-14) • Updated input 'nur': 'github:nix-community/NUR/a93973a3dd17284678ad6691dd38246b6ea3bf4f' (2023-03-14) → 'github:nix-community/NUR/0575c2d0cad766f6be352500e60db9d242cc3143' (2023-03-15) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 3a2dd8b9..e44ffa81 100644 --- a/flake.lock +++ b/flake.lock @@ -76,11 +76,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1678742071, - "narHash": "sha256-LJQij9que0ePW8zdYedN1KEQPH3iKcaVCtURGOxcJos=", + "lastModified": 1678799588, + "narHash": "sha256-y7zHVpsMKVeTaL7F4a/po9He8HhmpHlqsyipcZzMpTc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "284d59a5189b12c51d6ceb75352da88c584b1813", + "rev": "45d24f02e577c228a6170606c943ee97a9614619", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1678788009, - "narHash": "sha256-O9nMPCAly/lUJHqtz8IAa8sf4uuB/6arHDEyQoRXTyw=", + "lastModified": 1678873529, + "narHash": "sha256-nLokAX8q6Ot1/qtfmpdmITG/SZLUjMlPu9SF1hOIzwE=", "owner": "nix-community", "repo": "NUR", - "rev": "a93973a3dd17284678ad6691dd38246b6ea3bf4f", + "rev": "0575c2d0cad766f6be352500e60db9d242cc3143", "type": "github" }, "original": { From d052359391978cc79bb7177dfa49ea81dfbaf46e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 16 Mar 2023 16:32:49 +0100 Subject: [PATCH 1082/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/b0be47978de5cfd729a79c3f57ace4c86364ff45' (2023-03-08) → 'github:nix-community/home-manager/74e0b590c0c8eb99548b8db40c323ff61a2f37c4' (2023-03-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/67f26c1cfc5d5783628231e776a81c1ade623e0b' (2023-03-13) → 'github:NixOS/nixpkgs/9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8' (2023-03-15) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/5a1dc8acd977ff3dccd1328b7c4a6995429a656b' (2023-03-12) → 'github:nixos/nixpkgs/ac718d02867a84b42522a0ece52d841188208f2c' (2023-03-15) • Updated input 'nur': 'github:nix-community/NUR/0575c2d0cad766f6be352500e60db9d242cc3143' (2023-03-15) → 'github:nix-community/NUR/8888f20e3047320731ad905be02418738b0319c9' (2023-03-16) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index e44ffa81..7a6ed33d 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1678285456, - "narHash": "sha256-2rIk5OFGQmoFX1MWntKGPVCZvy5yQMX3ZCYz7i8+yb0=", + "lastModified": 1678673526, + "narHash": "sha256-tMI1inGT9u4KWQml0w30dhWqQPlth1e9K/68sfDkEQA=", "owner": "nix-community", "repo": "home-manager", - "rev": "b0be47978de5cfd729a79c3f57ace4c86364ff45", + "rev": "74e0b590c0c8eb99548b8db40c323ff61a2f37c4", "type": "github" }, "original": { @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1678703398, - "narHash": "sha256-Y1mW3dBsoWLHpYm+UIHb5VZ7rx024NNHaF16oZBx++o=", + "lastModified": 1678872516, + "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "67f26c1cfc5d5783628231e776a81c1ade623e0b", + "rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8", "type": "github" }, "original": { @@ -92,11 +92,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1678654296, - "narHash": "sha256-aVfw3ThpY7vkUeF1rFy10NAkpKDS2imj3IakrzT0Occ=", + "lastModified": 1678898370, + "narHash": "sha256-xTICr1j+uat5hk9FyuPOFGxpWHdJRibwZC+ATi0RbtE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5a1dc8acd977ff3dccd1328b7c4a6995429a656b", + "rev": "ac718d02867a84b42522a0ece52d841188208f2c", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1678873529, - "narHash": "sha256-nLokAX8q6Ot1/qtfmpdmITG/SZLUjMlPu9SF1hOIzwE=", + "lastModified": 1678978081, + "narHash": "sha256-JCJQ1qAjl5L4R/7IhYEE0tr09tSftq1Ylt45AU7iPGg=", "owner": "nix-community", "repo": "NUR", - "rev": "0575c2d0cad766f6be352500e60db9d242cc3143", + "rev": "8888f20e3047320731ad905be02418738b0319c9", "type": "github" }, "original": { From 4eb874a854290be01d3e9e4635901dfde3621274 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 16 Mar 2023 17:42:21 +0100 Subject: [PATCH 1083/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 255b7e0e..7cdf1adc 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "6b740fd300d7b6dccd1dd2c722ee6a4c7a5b718a" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "7cef97a6c432e631c639452a526f03350df2255f" }, + "SchemaStore.nvim": { "branch": "main", "commit": "ac100fa691b10dd990ca0cdc31ebd054a5959b58" }, "alpha-nvim": { "branch": "main", "commit": "3847d6baf74da61e57a13e071d8ca185f104dc96" }, "bufferline.nvim": { "branch": "main", "commit": "b337fd393cef2e3679689d220e2628722c20ddcb" }, "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, @@ -25,7 +25,7 @@ "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "3924f2d264097b2caf13e713485dbc3e9d616574" }, - "mason.nvim": { "branch": "main", "commit": "87c9453cd91da3bba1076fa578a72439fbc4d311" }, + "mason.nvim": { "branch": "main", "commit": "de9ce244e27b0144959cb6cee1fc584bb00ccae4" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -36,27 +36,27 @@ "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "205184aa0e0f08e8a1249d9bb37b45bae85f01b9" }, - "neoconf.nvim": { "branch": "main", "commit": "64df472e5dad68749c5181d87dd8a4b7525db167" }, + "neoconf.nvim": { "branch": "main", "commit": "98a6166b341249ce6b14e54f245d902cc066f3fc" }, "neodev.nvim": { "branch": "main", "commit": "78fb6373437eb400f1629b17d4a529669fa2a062" }, "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "283eee690dee06422c2681ed2fae072fcfade722" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "09e99259f4cdd929e7fb5487bf9d92426ccf7cc1" }, + "null-ls.nvim": { "branch": "main", "commit": "2fcc10637b325e656d45a760901e1e05170e36c9" }, "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "4bb0f1845c5cc6465aecedc773fc2d619fcd8faf" }, + "nvim-lspconfig": { "branch": "master", "commit": "0cbf919e49c664a0b189a6b08a7da03996b4c3eb" }, "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "75210c554e935740448cfb532d8a671ae544bb1b" }, "nvim-spectre": { "branch": "master", "commit": "201ccd1f6ce98a4e509359c8994e111a52a02515" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "cd436f92f65def9c7e74a7324d3eab422ef85643" }, + "nvim-treesitter": { "branch": "master", "commit": "17c275bfff86cfd4ac37a61a46bc8e4ade657e19" }, "nvim-treesitter-context": { "branch": "master", "commit": "cb6252b00d19c8b57e8e66de19a601df28455dd1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "5b2bcb9ca8315879181f468b37a897100d631005" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "f1b1cee3a561590a6c1637a9326c406f6e4af914" }, + "nvim-web-devicons": { "branch": "master", "commit": "2c07b4a1fe40284c61c4a40e6d0d769c198a27f5" }, "oxocarbon.nvim": { "branch": "main", "commit": "dd29f538e6cfa0827896a4078db97119a8ca5c5e" }, "peek.nvim": { "branch": "master", "commit": "571f14c795e8edd5a21e435f42f37c9bec4a8e16" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, @@ -71,7 +71,7 @@ "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "467d889ba82a74e26821c812aa8e70d7dff04c6c" }, - "treesj": { "branch": "main", "commit": "fbcb2a1ace3dbe2b5589dc37745f616c75eeb2c9" }, + "treesj": { "branch": "main", "commit": "cb873d8aac3679f92ff20befc06e17ff275c3a6c" }, "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, From a121e91077bfb9a9c3740ac9f37cd45357fd7414 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 16 Mar 2023 17:42:45 +0100 Subject: [PATCH 1084/2080] lazyvim: make cmp use content from all buffer for completion --- lazyvim/nvim/lua/plugins/coding.lua | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 25c629d9..72b9bae4 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -253,7 +253,17 @@ return { opts = function(_, opts) local cmp = require("cmp") -- opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "copilot" }, { name = "emoji" } })) - opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { + { name = "emoji" }, + { + name = "buffer", + option = { + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end, + }, + }, + })) -- Custom snippets -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua local luasnip = require("luasnip") From c8fdac23b494fa93770197a85b8f75e14676bfec Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 16 Mar 2023 17:48:12 +0100 Subject: [PATCH 1085/2080] lazyvim: drop copilot stuff, disable some diagnostics reports --- lazyvim/nvim/lua/plugins/coding.lua | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 72b9bae4..fd4bf4d2 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -104,6 +104,7 @@ return { local type = vim.fn.getregtype(vim.v.register) ---@diagnostic disable-next-line: param-type-mismatch vim.fn.setreg(vim.v.register, body, regtype or "l") + ---@diagnostic disable-next-line: missing-parameter bracketed.register_put_region() vim.cmd(('normal! "%s%s'):format(vim.v.register, cmd:lower())) ---@diagnostic disable-next-line: param-type-mismatch @@ -214,7 +215,9 @@ return { default = { augend.integer.alias.decimal, augend.integer.alias.hex, + ---@diagnostic disable-next-line: assign-type-mismatch augend.date.alias["%Y/%m/%d"], + ---@diagnostic disable-next-line: assign-type-mismatch augend.constant.alias.bool, augend.semver.alias.semver, }, @@ -222,18 +225,6 @@ return { end, }, - -- copilot - -- { - -- "zbirenbaum/copilot.lua", - -- enabled = true, - -- cmd = "Copilot", - -- event = "InsertEnter", - -- opts = { - -- suggestion = { enabled = false }, - -- panel = { enabled = false }, - -- }, - -- }, - { "simrat39/symbols-outline.nvim", keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, @@ -244,15 +235,10 @@ return { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji", - -- { - -- "zbirenbaum/copilot-cmp", - -- opts = {}, - -- }, }, - ---@param opts cmp.ConfigSchema opts = function(_, opts) local cmp = require("cmp") - -- opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "copilot" }, { name = "emoji" } })) + ---@diagnostic disable-next-line: missing-parameter opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" }, { From 585faf2d9b2f3720fac7aebb8660eb08d328a755 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 17 Mar 2023 14:23:09 +0100 Subject: [PATCH 1086/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/74e0b590c0c8eb99548b8db40c323ff61a2f37c4' (2023-03-13) → 'github:nix-community/home-manager/68163d27e90a3f67cf131abacde310801705b66c' (2023-03-17) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/45d24f02e577c228a6170606c943ee97a9614619' (2023-03-14) → 'github:nixos/nixpkgs/6a9788519f76fd732224cc7e4e64425b4be966fd' (2023-03-16) • Updated input 'nur': 'github:nix-community/NUR/8888f20e3047320731ad905be02418738b0319c9' (2023-03-16) → 'github:nix-community/NUR/acbc431152fd2a8867713a43424edead1df3ed5f' (2023-03-17) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7a6ed33d..01ca359a 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1678673526, - "narHash": "sha256-tMI1inGT9u4KWQml0w30dhWqQPlth1e9K/68sfDkEQA=", + "lastModified": 1679058697, + "narHash": "sha256-i4ug0IcKWHQC9IP1N81xrWsjW5Qdwp/jTQGiMnUahtk=", "owner": "nix-community", "repo": "home-manager", - "rev": "74e0b590c0c8eb99548b8db40c323ff61a2f37c4", + "rev": "68163d27e90a3f67cf131abacde310801705b66c", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1678799588, - "narHash": "sha256-y7zHVpsMKVeTaL7F4a/po9He8HhmpHlqsyipcZzMpTc=", + "lastModified": 1678975892, + "narHash": "sha256-+V1T3Mx7kGbVl/4jy7Pw1+b+XeEl1FnzV3FmFsioAao=", "owner": "nixos", "repo": "nixpkgs", - "rev": "45d24f02e577c228a6170606c943ee97a9614619", + "rev": "6a9788519f76fd732224cc7e4e64425b4be966fd", "type": "github" }, "original": { @@ -108,11 +108,11 @@ }, "nur": { "locked": { - "lastModified": 1678978081, - "narHash": "sha256-JCJQ1qAjl5L4R/7IhYEE0tr09tSftq1Ylt45AU7iPGg=", + "lastModified": 1679058701, + "narHash": "sha256-JAZdhDf/37tGTA9636zYC3YzTMdWquiK8J5wvr20qLo=", "owner": "nix-community", "repo": "NUR", - "rev": "8888f20e3047320731ad905be02418738b0319c9", + "rev": "acbc431152fd2a8867713a43424edead1df3ed5f", "type": "github" }, "original": { From 09beec68ddba682c55269dce6bd25e79aa651647 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 09:00:28 +0100 Subject: [PATCH 1087/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/68163d27e90a3f67cf131abacde310801705b66c' (2023-03-17) → 'github:nix-community/home-manager/9154cd519a8942728038819682d6b3ff33f321bb' (2023-03-17) • Added input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/ed28acdc5da1191918cc219cce1bafbf26620d3b' (2023-03-19) • Added input 'neovim-nightly-overlay/flake-compat': 'github:edolstra/flake-compat/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9' (2023-01-17) • Added input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/204a8b17c8ebab1619cc47a920a06dcc348d75f7?dir=contrib' (2023-03-18) • Added input 'neovim-nightly-overlay/neovim-flake/flake-utils': 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02) • Added input 'neovim-nightly-overlay/neovim-flake/nixpkgs': follows 'neovim-nightly-overlay/nixpkgs' • Added input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/194c2aa446b2b059886bb68be15ef6736d5a8c31' (2023-03-16) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8' (2023-03-15) → 'github:NixOS/nixpkgs/08ef7dc8334521605a5c8b7086cc248e74ee338b' (2023-03-18) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/6a9788519f76fd732224cc7e4e64425b4be966fd' (2023-03-16) → 'github:nixos/nixpkgs/f714696302c2f33845282628db523580af05be70' (2023-03-20) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/ac718d02867a84b42522a0ece52d841188208f2c' (2023-03-15) → 'github:nixos/nixpkgs/1603d11595a232205f03d46e635d919d1e1ec5b9' (2023-03-18) • Updated input 'nur': 'github:nix-community/NUR/acbc431152fd2a8867713a43424edead1df3ed5f' (2023-03-17) → 'github:nix-community/NUR/071616cc2caefaf5976a584f89f43d021e439b95' (2023-03-20) --- flake.lock | 130 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 111 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index 01ca359a..04dae2d0 100644 --- a/flake.lock +++ b/flake.lock @@ -21,6 +21,37 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -29,11 +60,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1679058697, - "narHash": "sha256-i4ug0IcKWHQC9IP1N81xrWsjW5Qdwp/jTQGiMnUahtk=", + "lastModified": 1679067101, + "narHash": "sha256-tMI1inGT9u4KWQml0w30dhWqQPlth1e9K/68sfDkEQA=", "owner": "nix-community", "repo": "home-manager", - "rev": "68163d27e90a3f67cf131abacde310801705b66c", + "rev": "9154cd519a8942728038819682d6b3ff33f321bb", "type": "github" }, "original": { @@ -43,6 +74,50 @@ "type": "github" } }, + "neovim-flake": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1679139884, + "narHash": "sha256-EZ60Qr4RT2bJwOHLoJq8jYJIGo/MoNmucy2pg7Lhx0A=", + "owner": "neovim", + "repo": "neovim", + "rev": "204a8b17c8ebab1619cc47a920a06dcc348d75f7", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-nightly-overlay": { + "inputs": { + "flake-compat": "flake-compat", + "neovim-flake": "neovim-flake", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1679213603, + "narHash": "sha256-ZZn/x6SAUL2zYOBmyrK/FDAuSewCRIoN27Stw1/7Hw0=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "ed28acdc5da1191918cc219cce1bafbf26620d3b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, "nix2lua": { "locked": { "lastModified": 1669103494, @@ -60,27 +135,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1678872516, - "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", - "owner": "NixOS", + "lastModified": 1678987615, + "narHash": "sha256-lF4agoB7ysQGNHRXvOqxtSKIZrUZwClA85aASahQlYM=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8", + "rev": "194c2aa446b2b059886bb68be15ef6736d5a8c31", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-22.11", + "owner": "nixos", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1678975892, - "narHash": "sha256-+V1T3Mx7kGbVl/4jy7Pw1+b+XeEl1FnzV3FmFsioAao=", + "lastModified": 1679282725, + "narHash": "sha256-EV0u5ynvCuZJdLUTmjw0luWxWEwhho4kuOkYAJ66w/E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6a9788519f76fd732224cc7e4e64425b4be966fd", + "rev": "f714696302c2f33845282628db523580af05be70", "type": "github" }, "original": { @@ -92,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1678898370, - "narHash": "sha256-xTICr1j+uat5hk9FyuPOFGxpWHdJRibwZC+ATi0RbtE=", + "lastModified": 1679172431, + "narHash": "sha256-XEh5gIt5otaUbEAPUY5DILUTyWe1goAyeqQtmwaFPyI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ac718d02867a84b42522a0ece52d841188208f2c", + "rev": "1603d11595a232205f03d46e635d919d1e1ec5b9", "type": "github" }, "original": { @@ -106,13 +181,29 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1679139072, + "narHash": "sha256-Gtw2Yj8DfETie3u7iHv1y5Wt+plGRmp6nTQ0EEfaPho=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "08ef7dc8334521605a5c8b7086cc248e74ee338b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "locked": { - "lastModified": 1679058701, - "narHash": "sha256-JAZdhDf/37tGTA9636zYC3YzTMdWquiK8J5wvr20qLo=", + "lastModified": 1679290994, + "narHash": "sha256-9lr4j5q/qs9XHOY4MkOWwmbVsnggZNoFW3mEdSV9TyM=", "owner": "nix-community", "repo": "NUR", - "rev": "acbc431152fd2a8867713a43424edead1df3ed5f", + "rev": "071616cc2caefaf5976a584f89f43d021e439b95", "type": "github" }, "original": { @@ -125,8 +216,9 @@ "inputs": { "darwin": "darwin", "home-manager": "home-manager", + "neovim-nightly-overlay": "neovim-nightly-overlay", "nix2lua": "nix2lua", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-darwin-stable": "nixpkgs-darwin-stable", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" From a4df68851c1819223d5d313801d73323e25fb60c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 09:42:00 +0100 Subject: [PATCH 1088/2080] Back to neovim nightly --- flake.nix | 240 ++++++++++++++++++++-------------------- home/neovim-nightly.nix | 7 +- 2 files changed, 126 insertions(+), 121 deletions(-) diff --git a/flake.nix b/flake.nix index e89868a9..68811169 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,7 @@ }; # neovim nightly - # neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nix2lua.url = "git+https://git.pleshevski.ru/mynix/nix2lua"; # Nix User Repository @@ -29,140 +29,140 @@ }; outputs = { self, darwin, nixpkgs, nixpkgs-unstable, nixpkgs-darwin-stable, home-manager, ... }@inputs: - let - inherit (nixpkgs.lib) attrValues; - # XXX not working, find how to install a iven package from unstable - # pkgs-unstable = nixpkgs-unstable.legacyPackages.${builtins.currentSystem}; + let + inherit (nixpkgs.lib) attrValues; + # XXX not working, find how to install a iven package from unstable + # pkgs-unstable = nixpkgs-unstable.legacyPackages.${builtins.currentSystem}; - homeStateVersion = "22.11"; + homeStateVersion = "22.11"; - # Configuration for `nixpkgs` - nixpkgsConfig = { - config = { allowUnfree = true; }; - overlays = [ inputs.nur.overlay ]; - }; + # Configuration for `nixpkgs` + nixpkgsConfig = { + config = { allowUnfree = true; }; + overlays = [ inputs.nur.overlay ]; + }; - # Information about the main user - primaryUserDefaults = { - username = "baptiste"; - fullName = "Baptiste Grenier"; - email = "baptiste@bapt.name"; - nixConfigDirectory = "/home/baptiste/repos/dotfiles/"; - }; - in - { - systemModules = { - my-bootstrap = import ./modules/system/bootstrap.nix; - users-primaryUser = import ./modules/system/users.nix; - }; - # XXX Factorise and simplify like done in https://github.com/gvolpe/nix-config - homeManagerDarwinModules = { - kitty = import ./modules/home/kitty; - fish = import ./modules/home/fish; - starship = import ./home/starship.nix; - starship-symbols = import ./home/starship-symbols.nix; - git = import ./home/git.nix; - tmux = import ./modules/home/tmux; - main = import ./home/main.nix; - neovim = import ./home/neovim-nightly.nix; - emacs = import ./modules/home/emacs; - home-user-info = { lib, ... }: { + # Information about the main user + primaryUserDefaults = { + username = "baptiste"; + fullName = "Baptiste Grenier"; + email = "baptiste@bapt.name"; + nixConfigDirectory = "/home/baptiste/repos/dotfiles/"; + }; + in + { + systemModules = { + my-bootstrap = import ./modules/system/bootstrap.nix; + users-primaryUser = import ./modules/system/users.nix; + }; + # XXX Factorise and simplify like done in https://github.com/gvolpe/nix-config + homeManagerDarwinModules = { + kitty = import ./modules/home/kitty; + fish = import ./modules/home/fish; + starship = import ./home/starship.nix; + starship-symbols = import ./home/starship-symbols.nix; + git = import ./home/git.nix; + tmux = import ./modules/home/tmux; + main = import ./home/main.nix; + neovim = import ./home/neovim-nightly.nix; + emacs = import ./modules/home/emacs; + home-user-info = { lib, ... }: { # XXX figure what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; }; - }; - homeManagerLinuxModules = { - # only for GNU/Linux - mail = import ./modules/home/mail; - neovim = import ./home/neovim.nix; - programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; - keybase = import ./home/keybase.nix; - firefox = import ./home/firefox.nix; - wm = import ./modules/home/wm; + }; + homeManagerLinuxModules = { + # only for GNU/Linux + mail = import ./modules/home/mail; + neovim = import ./home/neovim.nix; + programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; + keybase = import ./home/keybase.nix; + firefox = import ./home/firefox.nix; + wm = import ./modules/home/wm; - kitty = import ./modules/home/kitty; - fish = import ./modules/home/fish; - starship = import ./home/starship.nix; - starship-symbols = import ./home/starship-symbols.nix; - git = import ./home/git.nix; - tmux = import ./modules/home/tmux; - main = import ./home/main.nix; - emacs = import ./modules/home/emacs; - home-user-info = { lib, ... }: { + kitty = import ./modules/home/kitty; + fish = import ./modules/home/fish; + starship = import ./home/starship.nix; + starship-symbols = import ./home/starship-symbols.nix; + git = import ./home/git.nix; + tmux = import ./modules/home/tmux; + main = import ./home/main.nix; + emacs = import ./modules/home/emacs; + home-user-info = { lib, ... }: { # XXX figure what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; }; - }; + }; - # `nixos` configs - nixosConfigurations = { - brutal = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - # Main config - ./machines/brutal + # `nixos` configs + nixosConfigurations = { + brutal = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + # Main config + ./machines/brutal - # `home-manager` module - home-manager.nixosModules.home-manager - { - nixpkgs = nixpkgsConfig; - # `home-manager` config - home-manager.useGlobalPkgs = true; - # install packages to /etc/profiles - home-manager.useUserPackages = true; - # pass extra args to the modules - home-manager.extraSpecialArgs = { - inherit inputs; - pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; - }; - home-manager.users.baptiste = { - # XXX to be tested - imports = attrValues self.homeManagerLinuxModules; - home.stateVersion = homeStateVersion; - home.user-info = primaryUserDefaults; - }; - } - ]; + # `home-manager` module + home-manager.nixosModules.home-manager + { + nixpkgs = nixpkgsConfig; + # `home-manager` config + home-manager.useGlobalPkgs = true; + # install packages to /etc/profiles + home-manager.useUserPackages = true; + # pass extra args to the modules + home-manager.extraSpecialArgs = { + inherit inputs; + pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; + }; + home-manager.users.baptiste = { + # XXX to be tested + imports = attrValues self.homeManagerLinuxModules; + home.stateVersion = homeStateVersion; + home.user-info = primaryUserDefaults; + }; + } + ]; + }; }; - }; - # `nix-darwin` configs - darwinConfigurations = { - Baptistes-MBP = darwin.lib.darwinSystem { - system = "x86_64-darwin"; - modules = [ - # Main `nix-darwin` config - ./machines/Baptistes-MBP + # `nix-darwin` configs + darwinConfigurations = { + Baptistes-MBP = darwin.lib.darwinSystem { + system = "x86_64-darwin"; + modules = [ + # Main `nix-darwin` config + ./machines/Baptistes-MBP - # `home-manager` module - home-manager.darwinModules.home-manager - { - nixpkgs = nixpkgsConfig; - # `home-manager` config - home-manager.useGlobalPkgs = true; - # install packages to /etc/profiles - home-manager.useUserPackages = true; - # pass extra args to the modules - home-manager.extraSpecialArgs = { - inherit inputs; - pkgs-unstable = import nixpkgs-unstable { system = "x86_64-darwin"; config.allowUnfree = true; }; - }; - home-manager.users.baptiste = { - imports = attrValues self.homeManagerDarwinModules; - home.stateVersion = homeStateVersion; - home.user-info = primaryUserDefaults; - }; - } - ]; + # `home-manager` module + home-manager.darwinModules.home-manager + { + nixpkgs = nixpkgsConfig; + # `home-manager` config + home-manager.useGlobalPkgs = true; + # install packages to /etc/profiles + home-manager.useUserPackages = true; + # pass extra args to the modules + home-manager.extraSpecialArgs = { + inherit inputs; + pkgs-unstable = import nixpkgs-unstable { system = "x86_64-darwin"; config.allowUnfree = true; }; + }; + home-manager.users.baptiste = { + imports = attrValues self.homeManagerDarwinModules; + home.stateVersion = homeStateVersion; + home.user-info = primaryUserDefaults; + }; + } + ]; + }; }; - }; - # `home-manager` configs, for systems not running Nix OS nor Nix Darwin - # homemManagerConfigurations = { - # import ./home-conf.nix { - # inherit (inputs) nixpkgs home-manager; - # nixosConfigs = inputs.self.nixosConfigurations; - # } - # } - }; + # `home-manager` configs, for systems not running Nix OS nor Nix Darwin + # homemManagerConfigurations = { + # import ./home-conf.nix { + # inherit (inputs) nixpkgs home-manager; + # nixosConfigs = inputs.self.nixosConfigurations; + # } + # } + }; } diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index 9311c849..092af334 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -1,10 +1,15 @@ # https://srid.ca/cli/neovim/install { pkgs, inputs, pkgs-unstable, ... }: +let + neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; +in + { programs.neovim = { enable = true; - package = pkgs-unstable.neovim-unwrapped; + # package = pkgs-unstable.neovim-unwrapped; + package = neovim-nightly; # use nvim by default vimAlias = true; From f852461866684ea80f8441732613f8869e344405 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 09:45:01 +0100 Subject: [PATCH 1089/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 45 +++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 7cdf1adc..fb4dfbcd 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,5 +1,5 @@ { - "LazyVim": { "branch": "main", "commit": "6b740fd300d7b6dccd1dd2c722ee6a4c7a5b718a" }, + "LazyVim": { "branch": "main", "commit": "7a8ca6222a554bdb78fb8de35404672fc4042302" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, "SchemaStore.nvim": { "branch": "main", "commit": "ac100fa691b10dd990ca0cdc31ebd054a5959b58" }, "alpha-nvim": { "branch": "main", "commit": "3847d6baf74da61e57a13e071d8ca185f104dc96" }, @@ -11,21 +11,21 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "diffview.nvim": { "branch": "main", "commit": "ebcbe90401555272025006db00da0972f7e0db63" }, + "diffview.nvim": { "branch": "main", "commit": "58035354fc79c6ec42fa7b218dab90bd3968615f" }, "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, "flit.nvim": { "branch": "main", "commit": "4c1739137acd3e7f03e2065a7be8a4dc41c7e461" }, - "friendly-snippets": { "branch": "main", "commit": "2f5b8a41659a19bd602497a35da8d81f1e88f6d9" }, + "friendly-snippets": { "branch": "main", "commit": "25ddcd96540a2ce41d714bd7fea2e7f75fea8ead" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "e27c9df5fe039e9d2833ef4fcf7305595d5ccda7" }, + "lazy.nvim": { "branch": "main", "commit": "887eb75591520a01548134c4623617b639289d0b" }, "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "3924f2d264097b2caf13e713485dbc3e9d616574" }, - "mason.nvim": { "branch": "main", "commit": "de9ce244e27b0144959cb6cee1fc584bb00ccae4" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "2b811031febe5f743e07305738181ff367e1e452" }, + "mason.nvim": { "branch": "main", "commit": "9992c66c2a832a17302ca3179a82516544565f9b" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -35,29 +35,29 @@ "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" }, "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "205184aa0e0f08e8a1249d9bb37b45bae85f01b9" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "20c2f2f5ba083bbb1e37b8bc3d590621434f31e9" }, "neoconf.nvim": { "branch": "main", "commit": "98a6166b341249ce6b14e54f245d902cc066f3fc" }, "neodev.nvim": { "branch": "main", "commit": "78fb6373437eb400f1629b17d4a529669fa2a062" }, "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "283eee690dee06422c2681ed2fae072fcfade722" }, + "noice.nvim": { "branch": "main", "commit": "92b058ad183fccd3b970f03ae49094596a6c735b" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "2fcc10637b325e656d45a760901e1e05170e36c9" }, - "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, + "null-ls.nvim": { "branch": "main", "commit": "456a983ce9843123e51b955f50925077ca7207d5" }, + "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "0cbf919e49c664a0b189a6b08a7da03996b4c3eb" }, + "nvim-lspconfig": { "branch": "master", "commit": "5a871409199d585b52b69952532e3fb435e64566" }, "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, - "nvim-scrollbar": { "branch": "main", "commit": "75210c554e935740448cfb532d8a671ae544bb1b" }, - "nvim-spectre": { "branch": "master", "commit": "201ccd1f6ce98a4e509359c8994e111a52a02515" }, + "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, + "nvim-spectre": { "branch": "master", "commit": "2d7d23c1122bb2589880236e932d373933b07937" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "17c275bfff86cfd4ac37a61a46bc8e4ade657e19" }, - "nvim-treesitter-context": { "branch": "master", "commit": "cb6252b00d19c8b57e8e66de19a601df28455dd1" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "5b2bcb9ca8315879181f468b37a897100d631005" }, + "nvim-treesitter": { "branch": "master", "commit": "bc23db25153efd480392ee479784d5bbac4b1913" }, + "nvim-treesitter-context": { "branch": "master", "commit": "c1fa59698850cafa4cae686e652d1512a01dcf3c" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "582cbb5a4cb50f6161cac8cc01f55aeaff6d836a" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "2c07b4a1fe40284c61c4a40e6d0d769c198a27f5" }, - "oxocarbon.nvim": { "branch": "main", "commit": "dd29f538e6cfa0827896a4078db97119a8ca5c5e" }, + "nvim-web-devicons": { "branch": "master", "commit": "467d135bbefa6fbe8380c8b6498228f8b21244a6" }, + "oxocarbon.nvim": { "branch": "main", "commit": "84c8563d608b7ecbf7b4fd3b4828e1a087cb39d9" }, "peek.nvim": { "branch": "master", "commit": "571f14c795e8edd5a21e435f42f37c9bec4a8e16" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, @@ -70,17 +70,18 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "467d889ba82a74e26821c812aa8e70d7dff04c6c" }, - "treesj": { "branch": "main", "commit": "cb873d8aac3679f92ff20befc06e17ff275c3a6c" }, + "tokyonight.nvim": { "branch": "main", "commit": "9d4d6d12148d0c2d30b6a91e849922276e0a8ce9" }, + "treesj": { "branch": "main", "commit": "90248883bdb2d559ff4ba7f0148eb0145d3f0908" }, "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, - "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, + "vim-fugitive": { "branch": "master", "commit": "96c1009fcf8ce60161cc938d149dd5a66d570756" }, + "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-matchup": { "branch": "master", "commit": "3a48818a8113a502f245c29d894201421727577a" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, "which-key.nvim": { "branch": "main", "commit": "2a0c2d80c0a60f041afb1b789cfedbd510e2b2b6" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "zen-mode.nvim": { "branch": "main", "commit": "4bd28fb3a44317c6258cebc7d92243d4b11dfe2c" } + "zen-mode.nvim": { "branch": "main", "commit": "d907e638c879642d226d27469b53db6925f69d4c" } } \ No newline at end of file From 7c5873abd4b629c532707e9cb1add4024a5b2b0a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 09:45:11 +0100 Subject: [PATCH 1090/2080] Install vim-fugitive --- lazyvim/nvim/lua/plugins/coding.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index fd4bf4d2..21771bf4 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -1,5 +1,8 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/coding.lua return { + -- git integration + { "tpope/vim-fugitive" }, + -- better text objects { "echasnovski/mini.ai", @@ -16,6 +19,7 @@ return { return vim.notify("No treesitter parser for the current buffer", vim.log.levels.ERROR) end + ---@diagnostic disable-next-line: undefined-field local query = vim.treesitter.get_query(vim.bo.filetype, "textobjects") if not query then return vim.notify("No textobjects query for the current buffer", vim.log.levels.ERROR) From 57f62f7db9458bd62dd7ae7c4e2772d0dea42a6b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 09:49:25 +0100 Subject: [PATCH 1091/2080] neovim: switch from vim-fugitive to neogit. --- lazyvim/nvim/lazy-lock.json | 2 +- lazyvim/nvim/lua/plugins/coding.lua | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index fb4dfbcd..445ca7a9 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -39,6 +39,7 @@ "neoconf.nvim": { "branch": "main", "commit": "98a6166b341249ce6b14e54f245d902cc066f3fc" }, "neodev.nvim": { "branch": "main", "commit": "78fb6373437eb400f1629b17d4a529669fa2a062" }, "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, + "neogit": { "branch": "master", "commit": "dc02950e0364db853b2ed4a169e38d7de8ec95ad" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "92b058ad183fccd3b970f03ae49094596a6c735b" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, @@ -75,7 +76,6 @@ "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, - "vim-fugitive": { "branch": "master", "commit": "96c1009fcf8ce60161cc938d149dd5a66d570756" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-matchup": { "branch": "master", "commit": "3a48818a8113a502f245c29d894201421727577a" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 21771bf4..427682e5 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -1,7 +1,8 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/coding.lua return { -- git integration - { "tpope/vim-fugitive" }, + -- LazyGit and Gitsigns are installed by default + { "TimUntersberger/neogit" }, -- better text objects { From 4736ac52159cf6b8267fd00b3908722badbab6fd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 09:55:20 +0100 Subject: [PATCH 1092/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/ed28acdc5da1191918cc219cce1bafbf26620d3b' (2023-03-19) → 'github:nix-community/neovim-nightly-overlay/18c8b70ac8793009bb22bb5c53817ff9c27bdc12' (2023-03-20) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/204a8b17c8ebab1619cc47a920a06dcc348d75f7?dir=contrib' (2023-03-18) → 'github:neovim/neovim/84027f7515b8ee6f818462f105882fc0052783c4?dir=contrib' (2023-03-19) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/194c2aa446b2b059886bb68be15ef6736d5a8c31' (2023-03-16) → 'github:nixos/nixpkgs/96f6f7c7fc7da4d3effb7f059a441634f42bea12' (2023-03-19) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/08ef7dc8334521605a5c8b7086cc248e74ee338b' (2023-03-18) → 'github:NixOS/nixpkgs/eac7da7b519a5aefe92c33c90b4450a24ebe0ab3' (2023-03-19) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 04dae2d0..9e75048f 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1679139884, - "narHash": "sha256-EZ60Qr4RT2bJwOHLoJq8jYJIGo/MoNmucy2pg7Lhx0A=", + "lastModified": 1679261557, + "narHash": "sha256-NCWm1gDG7RABdg2uyNn1oEv8oUkWgQZkE189L+SE5p4=", "owner": "neovim", "repo": "neovim", - "rev": "204a8b17c8ebab1619cc47a920a06dcc348d75f7", + "rev": "84027f7515b8ee6f818462f105882fc0052783c4", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1679213603, - "narHash": "sha256-ZZn/x6SAUL2zYOBmyrK/FDAuSewCRIoN27Stw1/7Hw0=", + "lastModified": 1679300129, + "narHash": "sha256-o+2LoOq2bKAAaneMCmsWGqvzhwNkb5OyNm5sQOm2adw=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ed28acdc5da1191918cc219cce1bafbf26620d3b", + "rev": "18c8b70ac8793009bb22bb5c53817ff9c27bdc12", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1678987615, - "narHash": "sha256-lF4agoB7ysQGNHRXvOqxtSKIZrUZwClA85aASahQlYM=", + "lastModified": 1679259817, + "narHash": "sha256-gq0bjOAugzKT7+3rTU7EixlTrtgmPpc03XaComNgtj4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "194c2aa446b2b059886bb68be15ef6736d5a8c31", + "rev": "96f6f7c7fc7da4d3effb7f059a441634f42bea12", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679139072, - "narHash": "sha256-Gtw2Yj8DfETie3u7iHv1y5Wt+plGRmp6nTQ0EEfaPho=", + "lastModified": 1679224734, + "narHash": "sha256-1Ab3xY7Wgo1h1TNwRt6fp2XjV+KUo+hP1Bolh0KiDJs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "08ef7dc8334521605a5c8b7086cc248e74ee338b", + "rev": "eac7da7b519a5aefe92c33c90b4450a24ebe0ab3", "type": "github" }, "original": { From 7673542609b876c70a11f5caab2b085353f28816 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 11:52:51 +0100 Subject: [PATCH 1093/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/071616cc2caefaf5976a584f89f43d021e439b95' (2023-03-20) → 'github:nix-community/NUR/dbd64b667e36864478a39e2e78f467f2f66d3590' (2023-03-20) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 9e75048f..c862ebe5 100644 --- a/flake.lock +++ b/flake.lock @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1679290994, - "narHash": "sha256-9lr4j5q/qs9XHOY4MkOWwmbVsnggZNoFW3mEdSV9TyM=", + "lastModified": 1679309270, + "narHash": "sha256-pEiq5/Ok2LzN+SWb0/OeUToeV4u5VVzVhGlmFCq5ud8=", "owner": "nix-community", "repo": "NUR", - "rev": "071616cc2caefaf5976a584f89f43d021e439b95", + "rev": "dbd64b667e36864478a39e2e78f467f2f66d3590", "type": "github" }, "original": { From f75cff866ca78092c0a26f8a0c3c5efc46d3d44d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 18:02:51 +0100 Subject: [PATCH 1094/2080] Back to neovim unstable --- home/neovim-nightly.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index 092af334..46423663 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -8,8 +8,8 @@ in { programs.neovim = { enable = true; - # package = pkgs-unstable.neovim-unwrapped; - package = neovim-nightly; + package = pkgs-unstable.neovim-unwrapped; + # package = neovim-nightly; # use nvim by default vimAlias = true; From 10b4f58394164da93734735c791236690e20df2e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 18:03:40 +0100 Subject: [PATCH 1095/2080] lsp: link to upstream conf --- lazyvim/nvim/lua/plugins/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 4ac7c545..4837ba08 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -1,3 +1,4 @@ +-- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua return { -- Restore 'gw' to default behavior. First, remove the 'gw' keymap set in LazyVim: -- vim.keymap.del({ "n", "x" }, "gw") From a7f3c28ea46313914ceea7fe16c3c16f63291bc0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 18:03:52 +0100 Subject: [PATCH 1096/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 445ca7a9..e19e3223 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -25,7 +25,7 @@ "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "2b811031febe5f743e07305738181ff367e1e452" }, - "mason.nvim": { "branch": "main", "commit": "9992c66c2a832a17302ca3179a82516544565f9b" }, + "mason.nvim": { "branch": "main", "commit": "a192887fd0c29275cf2acb4a83bcbdf63399f8df" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -39,21 +39,21 @@ "neoconf.nvim": { "branch": "main", "commit": "98a6166b341249ce6b14e54f245d902cc066f3fc" }, "neodev.nvim": { "branch": "main", "commit": "78fb6373437eb400f1629b17d4a529669fa2a062" }, "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, - "neogit": { "branch": "master", "commit": "dc02950e0364db853b2ed4a169e38d7de8ec95ad" }, + "neogit": { "branch": "master", "commit": "039ff3212ec43cc4d3332956dfb54e263c8d5033" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "92b058ad183fccd3b970f03ae49094596a6c735b" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "456a983ce9843123e51b955f50925077ca7207d5" }, + "null-ls.nvim": { "branch": "main", "commit": "13dd1fc13063681ca7e039436c88f6eca7e3e937" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "5a871409199d585b52b69952532e3fb435e64566" }, - "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, + "nvim-lspconfig": { "branch": "master", "commit": "0f94c5fded29c0024254259f3d8a0284bfb507ea" }, + "nvim-navic": { "branch": "master", "commit": "f1ffbc3f5736add66c31e02f4c53d238e040600b" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "2d7d23c1122bb2589880236e932d373933b07937" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "bc23db25153efd480392ee479784d5bbac4b1913" }, - "nvim-treesitter-context": { "branch": "master", "commit": "c1fa59698850cafa4cae686e652d1512a01dcf3c" }, + "nvim-treesitter": { "branch": "master", "commit": "25b656a4b771ee7d440e506280b9ae546d6f7233" }, + "nvim-treesitter-context": { "branch": "master", "commit": "446a463500ea2ee22c9b44f059b1117997f5aaeb" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "582cbb5a4cb50f6161cac8cc01f55aeaff6d836a" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, From 70efdda7a123a2e8ca0f616cce51cbce3c39cfd7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 18:04:07 +0100 Subject: [PATCH 1097/2080] lsp: add back rules for en for ltex --- lazyvim/nvim/lua/plugins/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 4837ba08..89b83361 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -66,6 +66,7 @@ return { }, -- https://community.languagetool.org/rule/list?lang=en disabledRules = { + en = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S", "DASH_RULE" }, ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S", "DASH_RULE" }, fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, }, From e2ec1ce0c041ea742dc8669ad4bf9db55f212c3e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 20 Mar 2023 18:04:33 +0100 Subject: [PATCH 1098/2080] nvim lsp: make flake8 load local conf file from super-linter --- lazyvim/nvim/lua/plugins/lsp.lua | 56 ++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 89b83361..242300bf 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -100,4 +100,60 @@ return { }, }, }, + + -- customise null-ls + { + "jose-elias-alvarez/null-ls.nvim", + opts = function(_, opts) + local nls = require("null-ls") + local utils = require("null-ls.utils") + local flake8_extra_args = {} + local root = utils.get_root() + local flake8_conf = root .. "/.github/linters/.flake8" + -- Load configuration file from super-liner, if any + if vim.loop.fs_stat(flake8_conf) then + flake8_extra_args = { "--config", flake8_conf } + else + -- Align with black + -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 + flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } + end + local custom_sources = { + -- Copy default sources list + nls.builtins.formatting.fish_indent, + nls.builtins.diagnostics.fish, + nls.builtins.formatting.stylua, + nls.builtins.formatting.shfmt, + nls.builtins.diagnostics.flake8.with({ + extra_args = flake8_extra_args, + }), + } + -- XXX: Works but replaces default configuration + opts.sources = custom_sources + -- XXX: when added back flake8 is not workign + -- opts.sources = vim.tbl_filter(function(source) + -- return source.name ~= "flake8" + -- end, opts.sources) + -- vim.tbl_extend("force", opts.sources, custom_sources) + -- XXX: Duplicates flake8 configuration, would need a name on the source to filder + -- it using register/is_registered + -- vim.tbl_extend("error", opts.sources, custom_sources) + -- vim.list_extend("error", opts.sources, custom_sources) + -- nls.deregister({ name = "flake8" }) + -- nls.disable({ name = "flake8" }) + -- nls.register({ + -- name = "flake8", + -- nls.builtins.diagnostics.flake8.with({ + -- extra_args = flake8_extra_args, + -- }), + -- }) + -- nls.enable({ name = "flake8" }) + ---@diagnostic disable-next-line: missing-parameter + -- XXX: error from null-ls: + -- ...cal/share/nvim/lazy/null-ls.nvim/lua/null-ls/sources.lua:203: attempt to index local 'generator' (a nil value) + -- vim.list_extend(opts.sources, custom_sources) + ---@diagnostic disable-next-line: missing-parameter + -- opts.sources = vim.tbl_deep_extend("force", opts.sources, custom_sources) + end, + }, } From 5f6917db68eec860bd46b1f0e36f709d9d924f46 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 09:24:40 +0100 Subject: [PATCH 1099/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/18c8b70ac8793009bb22bb5c53817ff9c27bdc12' (2023-03-20) → 'github:nix-community/neovim-nightly-overlay/0a880241804f31cb6d51f0eccb519f160b476574' (2023-03-21) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/84027f7515b8ee6f818462f105882fc0052783c4?dir=contrib' (2023-03-19) → 'github:neovim/neovim/e789d652974226ce3a763e3052a7c3d9898d875e?dir=contrib' (2023-03-20) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/96f6f7c7fc7da4d3effb7f059a441634f42bea12' (2023-03-19) → 'github:nixos/nixpkgs/8bc6945b1224a1cfa679d6801580b1054dba1a5c' (2023-03-20) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/1603d11595a232205f03d46e635d919d1e1ec5b9' (2023-03-18) → 'github:nixos/nixpkgs/60c1d71f2ba4c80178ec84523c2ca0801522e0a6' (2023-03-19) • Updated input 'nur': 'github:nix-community/NUR/dbd64b667e36864478a39e2e78f467f2f66d3590' (2023-03-20) → 'github:nix-community/NUR/2f9e20bddf558ec8847182cb316455865abf83dc' (2023-03-21) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index c862ebe5..e583eabf 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1679261557, - "narHash": "sha256-NCWm1gDG7RABdg2uyNn1oEv8oUkWgQZkE189L+SE5p4=", + "lastModified": 1679346253, + "narHash": "sha256-ti5tQtWp9FmLP/pnm2Uoay+/xvYwjjAguWs6V37vUiI=", "owner": "neovim", "repo": "neovim", - "rev": "84027f7515b8ee6f818462f105882fc0052783c4", + "rev": "e789d652974226ce3a763e3052a7c3d9898d875e", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1679300129, - "narHash": "sha256-o+2LoOq2bKAAaneMCmsWGqvzhwNkb5OyNm5sQOm2adw=", + "lastModified": 1679386441, + "narHash": "sha256-ww4vBrci77t0IcVUnVRuEPCxhFMtSG5h7lfMjqqIWc4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "18c8b70ac8793009bb22bb5c53817ff9c27bdc12", + "rev": "0a880241804f31cb6d51f0eccb519f160b476574", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1679259817, - "narHash": "sha256-gq0bjOAugzKT7+3rTU7EixlTrtgmPpc03XaComNgtj4=", + "lastModified": 1679319606, + "narHash": "sha256-wyEMIZB6BnsmJWInEgDZu66hXVMGJEZFl5uDsn27f9M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "96f6f7c7fc7da4d3effb7f059a441634f42bea12", + "rev": "8bc6945b1224a1cfa679d6801580b1054dba1a5c", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1679172431, - "narHash": "sha256-XEh5gIt5otaUbEAPUY5DILUTyWe1goAyeqQtmwaFPyI=", + "lastModified": 1679262748, + "narHash": "sha256-DQCrrAFrkxijC6haUzOC5ZoFqpcv/tg2WxnyW3np1Cc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1603d11595a232205f03d46e635d919d1e1ec5b9", + "rev": "60c1d71f2ba4c80178ec84523c2ca0801522e0a6", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1679309270, - "narHash": "sha256-pEiq5/Ok2LzN+SWb0/OeUToeV4u5VVzVhGlmFCq5ud8=", + "lastModified": 1679386714, + "narHash": "sha256-UvZDnGkB2WMWjsP1EH++WH2dD7YzvSDW6+UZoxr3MUg=", "owner": "nix-community", "repo": "NUR", - "rev": "dbd64b667e36864478a39e2e78f467f2f66d3590", + "rev": "2f9e20bddf558ec8847182cb316455865abf83dc", "type": "github" }, "original": { From 798d0be1f9c091c5ed6f3f51332ea5fb8870f85b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 10:08:16 +0100 Subject: [PATCH 1100/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e19e3223..e1d1a171 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -22,7 +22,6 @@ "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "887eb75591520a01548134c4623617b639289d0b" }, "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, - "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "2b811031febe5f743e07305738181ff367e1e452" }, "mason.nvim": { "branch": "main", "commit": "a192887fd0c29275cf2acb4a83bcbdf63399f8df" }, @@ -46,18 +45,18 @@ "null-ls.nvim": { "branch": "main", "commit": "13dd1fc13063681ca7e039436c88f6eca7e3e937" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "0f94c5fded29c0024254259f3d8a0284bfb507ea" }, + "nvim-lspconfig": { "branch": "master", "commit": "255e07ce2a05627d482d2de77308bba51b90470c" }, "nvim-navic": { "branch": "master", "commit": "f1ffbc3f5736add66c31e02f4c53d238e040600b" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "2d7d23c1122bb2589880236e932d373933b07937" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "25b656a4b771ee7d440e506280b9ae546d6f7233" }, - "nvim-treesitter-context": { "branch": "master", "commit": "446a463500ea2ee22c9b44f059b1117997f5aaeb" }, + "nvim-treesitter": { "branch": "master", "commit": "181a580190d4684d5f6e34c500c0aa99258a04d1" }, + "nvim-treesitter-context": { "branch": "master", "commit": "88d1627285f7477883516ef60521601862dae7a1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "582cbb5a4cb50f6161cac8cc01f55aeaff6d836a" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "467d135bbefa6fbe8380c8b6498228f8b21244a6" }, + "nvim-web-devicons": { "branch": "master", "commit": "95b1e300699be8eb6b5be1758a9d4d69fe93cc7f" }, "oxocarbon.nvim": { "branch": "main", "commit": "84c8563d608b7ecbf7b4fd3b4828e1a087cb39d9" }, "peek.nvim": { "branch": "master", "commit": "571f14c795e8edd5a21e435f42f37c9bec4a8e16" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, From b47367a04470e6cc0f63ef4bea079a070c3d74b8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 10:08:32 +0100 Subject: [PATCH 1101/2080] lazy: use prettierd for formatting --- lazyvim/nvim/lua/config/lazy.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index faf85e7d..a446d941 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -17,6 +17,8 @@ require("lazy").setup({ -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.ui.mini-animate" }, + -- Use prettierd for formatting + { import = "lazyvim.plugins.extras.formatting.prettier" }, -- import/override with your plugins { import = "plugins" }, }, From 607cb7be535c7684f75a3c47ca3ba1fc867145a8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 10:09:00 +0100 Subject: [PATCH 1102/2080] lazyvim: add some references --- lazyvim/nvim/lua/plugins/gwarf.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 01add5ff..12815d43 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -33,14 +33,13 @@ return { -- XXX tools are managed via nix -- add any tools you want to have installed below + -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua + -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/extras/formatting/prettier.lua -- { -- "williamboman/mason.nvim", -- opts = { -- ensure_installed = { - -- "stylua", -- "shellcheck", - -- "shfmt", - -- "flake8", -- }, -- }, -- }, From d3b09c729e5e85a9e3f848f8560fb2a747de7017 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 10:28:47 +0100 Subject: [PATCH 1103/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e1d1a171..54b16bc8 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -22,6 +22,7 @@ "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "887eb75591520a01548134c4623617b639289d0b" }, "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, + "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "2b811031febe5f743e07305738181ff367e1e452" }, "mason.nvim": { "branch": "main", "commit": "a192887fd0c29275cf2acb4a83bcbdf63399f8df" }, @@ -45,7 +46,7 @@ "null-ls.nvim": { "branch": "main", "commit": "13dd1fc13063681ca7e039436c88f6eca7e3e937" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "255e07ce2a05627d482d2de77308bba51b90470c" }, + "nvim-lspconfig": { "branch": "master", "commit": "0f94c5fded29c0024254259f3d8a0284bfb507ea" }, "nvim-navic": { "branch": "master", "commit": "f1ffbc3f5736add66c31e02f4c53d238e040600b" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, From 80d9f964220c45cb512f2339ab0ba59534be3c6d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 11:16:46 +0100 Subject: [PATCH 1104/2080] Install write-good and yaml-language-server from node packages --- home/main.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index a235a0e3..682227a8 100644 --- a/home/main.nix +++ b/home/main.nix @@ -95,7 +95,7 @@ pyright rnix-lsp sumneko-lua-language-server - yaml-language-server + nodePackages.yaml-language-server ltex-ls # Required for ltex-ls usage in neovim jdk11 @@ -104,6 +104,7 @@ pkgs-unstable.nodePackages.vscode-json-languageserver # Not yet in nixpkgs: https://github.com/NixOS/nixpkgs/pull/193682 pkgs-unstable.marksman + nodePackages.write-good # Useful nix related tools # cachix # adding/managing alternative binary caches hosted by Cachix From 29e4bf574f0a27d678adb7f3bb90eec118f4bc0c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 11:27:16 +0100 Subject: [PATCH 1105/2080] README: spelling --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 31066f93..46b97441 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@ # gwarf's dotfiles -My messy **dotfiles** for GNU/Linux and macos. WIP of course :) +My messy **dotfiles** for GNU/Linux and macOS. WIP of course :) Some files or configuration parts are for GNU/Linux (Archlinux and NixOS) and some others are for macOS. -> **WIP++** I'm currently converting this repository from [yadm](#yadm) to -> management using [nix](#nix) and +> **WIP++** I'm currently converting this repository from +> [yadm](https://github.com/TheLocehiliosan/yadm) to management using [nix](#nix) and > [home-manager](https://nix-community.github.io/home-manager/). ## Nix -Currently, it's mainly a few random notes and pointers to source of inspiration. +This is mainly random notes and pointers to source of inspiration. This is very early work, some important tasks are pending: @@ -27,16 +27,16 @@ This is very early work, some important tasks are pending: https://www.reddit.com/r/NixOS/comments/xtq2tb/best_way_to_manage_multiple_home_manager_configs/ - [ ] Clean packages sets in inputs. - [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to - flakes. Unless it makes sense to keep this to do system conf? + flakes. Unless it makes sense to keep this to do system configuration? - [ ] Consolidate macOS and NixOS configuration. - [ ] Look into https://github.com/gvolpe/neovim-flake. -- [ ] Support home-manager conf on non-NisOS GNU/Linux systems. +- [ ] Support home-manager configuration on non-NixOS GNU/Linux systems. - [ ] Test and document bootstrap in clean NixOS. - [ ] Test and document bootstrap in clean macOS. - [ ] Look into GitHub actions. - [ ] Clean static config files. -### Searching for a Nix package, an option,... +### Searching for a Nix package, an option, … ```shell # Using new "experimental" nix search command From 5a2587b657b25d4a1848218ed2fef4125a7a35d5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 11:28:01 +0100 Subject: [PATCH 1106/2080] nvim lsp: load many sources for null-ls, enable virtual text for LSP --- lazyvim/nvim/lua/plugins/lsp.lua | 70 ++++++++++++++------------------ 1 file changed, 31 insertions(+), 39 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 242300bf..5fb4342d 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -1,7 +1,8 @@ -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua return { - -- Restore 'gw' to default behavior. First, remove the 'gw' keymap set in LazyVim: - -- vim.keymap.del({ "n", "x" }, "gw") + -- Restore 'gw' to default behavior. First, remove the 'gw' ()searching for a word) keymap set in LazyVim: + -- FIXME: keympa not found + -- vim.keymap.del({ "n", "x" }, "gw"), -- Then, reset formatexpr if null-ls is not providing any formatting generators. -- See: https://github.com/jose-elias-alvarez/null-ls.nvim/issues/1131 -- require("lazyvim.util").on_attach(function(client, buf) @@ -31,9 +32,9 @@ return { }, }, }, - -- suppress virtual text + -- Manage virtual text diagnostics = { - virtual_text = false, + virtual_text = true, }, -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md servers = { @@ -57,7 +58,7 @@ return { settings = { -- https://valentjn.github.io/ltex/settings.html ltex = { - -- trace = { server = 'verbose' }, + -- trace = { server = "verbose" }, -- checkFrequency = "save", language = "en-GB", additionalRules = { @@ -66,22 +67,24 @@ return { }, -- https://community.languagetool.org/rule/list?lang=en disabledRules = { - en = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S", "DASH_RULE" }, - ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S", "DASH_RULE" }, - fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, + -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt + ["fr"] = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, }, }, }, }, + marksman = {}, pyright = {}, rnix = { -- rnix-lsp is installed using nix mason = false, }, + yamlls = {}, }, setup = { -- integrate ltex_extra with lazyvim -- https://github.com/LazyVim/LazyVim/discussions/403 + ---@diagnostic disable-next-line: unused-local ltex = function(_, opts) vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) @@ -91,7 +94,7 @@ return { load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded init_check = true, -- whether to load dictionaries on startup path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - log_level = "none", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" }) end end, @@ -118,42 +121,31 @@ return { -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } end - local custom_sources = { - -- Copy default sources list - nls.builtins.formatting.fish_indent, + -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md + opts.sources = { + -- fish nls.builtins.diagnostics.fish, - nls.builtins.formatting.stylua, + nls.builtins.formatting.fish_indent, + -- zsh + nls.builtins.diagnostics.zsh, + -- shell nls.builtins.formatting.shfmt, + -- text + nls.builtins.diagnostics.alex, + nls.builtins.hover.dictionary, + nls.builtins.diagnostics.checkmake, + nls.builtins.diagnostics.write_good, + -- lua + nls.builtins.formatting.stylua, + -- python + nls.builtins.formatting.isort, + nls.builtins.formatting.black, nls.builtins.diagnostics.flake8.with({ extra_args = flake8_extra_args, }), + -- Injects code actions for Git operations at the current cursor position + nls.builtins.code_actions.gitsigns, } - -- XXX: Works but replaces default configuration - opts.sources = custom_sources - -- XXX: when added back flake8 is not workign - -- opts.sources = vim.tbl_filter(function(source) - -- return source.name ~= "flake8" - -- end, opts.sources) - -- vim.tbl_extend("force", opts.sources, custom_sources) - -- XXX: Duplicates flake8 configuration, would need a name on the source to filder - -- it using register/is_registered - -- vim.tbl_extend("error", opts.sources, custom_sources) - -- vim.list_extend("error", opts.sources, custom_sources) - -- nls.deregister({ name = "flake8" }) - -- nls.disable({ name = "flake8" }) - -- nls.register({ - -- name = "flake8", - -- nls.builtins.diagnostics.flake8.with({ - -- extra_args = flake8_extra_args, - -- }), - -- }) - -- nls.enable({ name = "flake8" }) - ---@diagnostic disable-next-line: missing-parameter - -- XXX: error from null-ls: - -- ...cal/share/nvim/lazy/null-ls.nvim/lua/null-ls/sources.lua:203: attempt to index local 'generator' (a nil value) - -- vim.list_extend(opts.sources, custom_sources) - ---@diagnostic disable-next-line: missing-parameter - -- opts.sources = vim.tbl_deep_extend("force", opts.sources, custom_sources) end, }, } From 44b3e0136c8d244cf8ebcf04b5c7d154d7a9623f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 11:29:41 +0100 Subject: [PATCH 1107/2080] neovim: rely on bash_ls, instead of shellcheck and shfmt --- home/main.nix | 2 -- lazyvim/nvim/lua/plugins/lsp.lua | 2 -- 2 files changed, 4 deletions(-) diff --git a/home/main.nix b/home/main.nix index 682227a8..80478a79 100644 --- a/home/main.nix +++ b/home/main.nix @@ -86,8 +86,6 @@ # podman pylint qemu - shellcheck - shfmt stylua # LSP servers diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 5fb4342d..8106b229 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -128,8 +128,6 @@ return { nls.builtins.formatting.fish_indent, -- zsh nls.builtins.diagnostics.zsh, - -- shell - nls.builtins.formatting.shfmt, -- text nls.builtins.diagnostics.alex, nls.builtins.hover.dictionary, From 907c3c898a6733ca59e1b6d4565d44bbe6038afa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 11:29:52 +0100 Subject: [PATCH 1108/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/2f9e20bddf558ec8847182cb316455865abf83dc' (2023-03-21) → 'github:nix-community/NUR/97e5c4b46ff73b51b2a58f8caa58c58dd01b549f' (2023-03-21) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e583eabf..42aca67f 100644 --- a/flake.lock +++ b/flake.lock @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1679386714, - "narHash": "sha256-UvZDnGkB2WMWjsP1EH++WH2dD7YzvSDW6+UZoxr3MUg=", + "lastModified": 1679390561, + "narHash": "sha256-KycgI2skDinbAB7T4Il7g/43nUVqJela9nyqTC7BXHI=", "owner": "nix-community", "repo": "NUR", - "rev": "2f9e20bddf558ec8847182cb316455865abf83dc", + "rev": "97e5c4b46ff73b51b2a58f8caa58c58dd01b549f", "type": "github" }, "original": { From ef2a45a9fce9f31f1a6bf896194fb788cf7af7dd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 11:31:26 +0100 Subject: [PATCH 1109/2080] nvim lsp: use shfmt for shell format, bash_ls do not do it. Remove ZSH diags, now use mainly fish --- lazyvim/nvim/lua/plugins/lsp.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 8106b229..345dff01 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -126,8 +126,8 @@ return { -- fish nls.builtins.diagnostics.fish, nls.builtins.formatting.fish_indent, - -- zsh - nls.builtins.diagnostics.zsh, + -- Shell + nls.builtins.formatting.shfmt, -- text nls.builtins.diagnostics.alex, nls.builtins.hover.dictionary, From 763cf690346d8446a5095dfc10bbd7667c55d034 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 12:14:46 +0100 Subject: [PATCH 1110/2080] Install checkmake on GNU/Linux. --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 80478a79..e3a08735 100644 --- a/home/main.nix +++ b/home/main.nix @@ -110,6 +110,7 @@ niv # easy dependency management for nix projects nodePackages.node2nix ] ++ lib.optionals stdenv.isLinux [ + checkmake dracula-theme nextcloud-client lm_sensors From b01cd8388d3ec387d74a5aa031e63ab04d0b5841 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 12:15:10 +0100 Subject: [PATCH 1111/2080] Install checkmake with brew on macos --- machines/Baptistes-MBP/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 1cf6c58a..46d096a6 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -29,6 +29,7 @@ "bitwarden-cli" "fetch-crl" "pyenv" + "checkmake" ]; casks = [ "rectangle" From b05c88992b50ca936d08aa8eee9900a78b05aa5a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 12:17:07 +0100 Subject: [PATCH 1112/2080] neogit: disable confirmation, integrate with diffview --- lazyvim/nvim/lua/plugins/coding.lua | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 427682e5..55704da5 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -1,8 +1,16 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/coding.lua return { - -- git integration + -- git integration :Neogit -- LazyGit and Gitsigns are installed by default - { "TimUntersberger/neogit" }, + { + "TimUntersberger/neogit", + opts = { + integrations = { + diffview = true, + }, + disable_commit_confirmation = true, + }, + }, -- better text objects { From 71fa32a3465d50c7ffd1951f2228d96814fbd400 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 12:22:26 +0100 Subject: [PATCH 1113/2080] neovim: launch neogit instead of lazygit. --- lazyvim/nvim/lua/plugins/coding.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 55704da5..99a5651c 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -4,6 +4,7 @@ return { -- LazyGit and Gitsigns are installed by default { "TimUntersberger/neogit", + keys = { { "<leader>gg", "<cmd>Neogit<cr>", desc = "Launch Neogit" } }, opts = { integrations = { diffview = true, From ba6fc2cd2fbc05dbfeeabf782f2399c1d3f28705 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 14:21:42 +0100 Subject: [PATCH 1114/2080] nvim: Add contact completion via lbdb and khard --- flake.nix | 1 + home/main.nix | 2 ++ lazyvim/nvim/lazy-lock.json | 1 + lazyvim/nvim/lua/plugins/coding.lua | 8 ++++++++ modules/home/lbdb/default.nix | 10 ++++++++++ modules/home/lbdb/lbdbrc | 1 + 6 files changed, 23 insertions(+) create mode 100644 modules/home/lbdb/default.nix create mode 100644 modules/home/lbdb/lbdbrc diff --git a/flake.nix b/flake.nix index 68811169..e599dc2d 100644 --- a/flake.nix +++ b/flake.nix @@ -63,6 +63,7 @@ starship-symbols = import ./home/starship-symbols.nix; git = import ./home/git.nix; tmux = import ./modules/home/tmux; + lbdb = import ./modules/home/lbdb; main = import ./home/main.nix; neovim = import ./home/neovim-nightly.nix; emacs = import ./modules/home/emacs; diff --git a/home/main.nix b/home/main.nix index e3a08735..67c167da 100644 --- a/home/main.nix +++ b/home/main.nix @@ -139,3 +139,5 @@ }; }; } + +# vim: foldmethod=marker diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 54b16bc8..429e9356 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -7,6 +7,7 @@ "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, + "cmp-lbdb": { "branch": "master", "commit": "d56fb335c3f06616abc8e3cdda979c7e84d5568c" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 99a5651c..092f1cf8 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -1,3 +1,4 @@ +-- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/coding.lua -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/coding.lua return { -- git integration :Neogit @@ -249,12 +250,19 @@ return { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji", + "codybuell/cmp-lbdb", }, opts = function(_, opts) local cmp = require("cmp") ---@diagnostic disable-next-line: missing-parameter opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" }, + { + name = "lbdb", + blacklist = { + ".*noreply.*", + }, + }, { name = "buffer", option = { diff --git a/modules/home/lbdb/default.nix b/modules/home/lbdb/default.nix new file mode 100644 index 00000000..a2194db6 --- /dev/null +++ b/modules/home/lbdb/default.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, ... }: + +{ + home.packages = with pkgs; [ + lbdb + ]; + home.file.".lbdbrc".source = ./lbdbrc; +} + +# vim: foldmethod=marker diff --git a/modules/home/lbdb/lbdbrc b/modules/home/lbdb/lbdbrc new file mode 100644 index 00000000..0faa3823 --- /dev/null +++ b/modules/home/lbdb/lbdbrc @@ -0,0 +1 @@ +METHODS="m_khard" From d3f96da382438c49d81b3ba4de7358e288058ecb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 Mar 2023 14:29:59 +0100 Subject: [PATCH 1115/2080] lbdb: link to example conf --- modules/home/lbdb/lbdbrc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/lbdb/lbdbrc b/modules/home/lbdb/lbdbrc index 0faa3823..fc594b92 100644 --- a/modules/home/lbdb/lbdbrc +++ b/modules/home/lbdb/lbdbrc @@ -1 +1,2 @@ +# https://github.com/RolandRosenfeld/lbdb/blob/master/lbdb.rc.in METHODS="m_khard" From 65207b50914bb6a86e1389b5c764e50e1a9e1c94 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 08:51:47 +0100 Subject: [PATCH 1116/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 429e9356..8862fd85 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -2,12 +2,11 @@ "LazyVim": { "branch": "main", "commit": "7a8ca6222a554bdb78fb8de35404672fc4042302" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, "SchemaStore.nvim": { "branch": "main", "commit": "ac100fa691b10dd990ca0cdc31ebd054a5959b58" }, - "alpha-nvim": { "branch": "main", "commit": "3847d6baf74da61e57a13e071d8ca185f104dc96" }, + "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, "bufferline.nvim": { "branch": "main", "commit": "b337fd393cef2e3679689d220e2628722c20ddcb" }, "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, - "cmp-lbdb": { "branch": "master", "commit": "d56fb335c3f06616abc8e3cdda979c7e84d5568c" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, @@ -48,12 +47,12 @@ "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lspconfig": { "branch": "master", "commit": "0f94c5fded29c0024254259f3d8a0284bfb507ea" }, - "nvim-navic": { "branch": "master", "commit": "f1ffbc3f5736add66c31e02f4c53d238e040600b" }, + "nvim-navic": { "branch": "master", "commit": "ca34afcd15c7f6dd0836fc4fca2e37024bfa5019" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "2d7d23c1122bb2589880236e932d373933b07937" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "181a580190d4684d5f6e34c500c0aa99258a04d1" }, + "nvim-treesitter": { "branch": "master", "commit": "9b4e8c1b97da5c09b024059939c9ab201af95f67" }, "nvim-treesitter-context": { "branch": "master", "commit": "88d1627285f7477883516ef60521601862dae7a1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "582cbb5a4cb50f6161cac8cc01f55aeaff6d836a" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, @@ -70,7 +69,7 @@ "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, + "telescope.nvim": { "branch": "master", "commit": "e504cf03c24119ee024c4182bee7ab31276cd684" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "9d4d6d12148d0c2d30b6a91e849922276e0a8ce9" }, "treesj": { "branch": "main", "commit": "90248883bdb2d559ff4ba7f0148eb0145d3f0908" }, From 238a268006f89115619f5126b736beb6dd3f7f92 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 08:53:56 +0100 Subject: [PATCH 1117/2080] nvim: Restore default gw behaviour --- lazyvim/nvim/lua/config/keymaps.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lazyvim/nvim/lua/config/keymaps.lua b/lazyvim/nvim/lua/config/keymaps.lua index a7b1af18..ed696141 100644 --- a/lazyvim/nvim/lua/config/keymaps.lua +++ b/lazyvim/nvim/lua/config/keymaps.lua @@ -10,3 +10,6 @@ keymap.set("c", "<C-E>", "<END>") -- Commenting is done using https://github.com/echasnovski/mini.comment -- use gc in normal/visual mode -- use gcc to toggle current line + +-- Restore 'gw' to default behavior. +keymap.del({ "n", "x" }, "gw") From 99468e43280385336e99225d45762d7b92ad5ddf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 08:57:00 +0100 Subject: [PATCH 1118/2080] nvim: setup prettierd manually. --- lazyvim/nvim/lua/config/lazy.lua | 2 -- lazyvim/nvim/lua/plugins/gwarf.lua | 16 ++++++++-------- lazyvim/nvim/lua/plugins/lsp.lua | 2 ++ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index a446d941..faf85e7d 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -17,8 +17,6 @@ require("lazy").setup({ -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.ui.mini-animate" }, - -- Use prettierd for formatting - { import = "lazyvim.plugins.extras.formatting.prettier" }, -- import/override with your plugins { import = "plugins" }, }, diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua index 12815d43..63fa78be 100644 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ b/lazyvim/nvim/lua/plugins/gwarf.lua @@ -35,12 +35,12 @@ return { -- add any tools you want to have installed below -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/extras/formatting/prettier.lua - -- { - -- "williamboman/mason.nvim", - -- opts = { - -- ensure_installed = { - -- "shellcheck", - -- }, - -- }, - -- }, + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "prettierd", + }, + }, + }, } diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 345dff01..934f5a93 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -143,6 +143,8 @@ return { }), -- Injects code actions for Git operations at the current cursor position nls.builtins.code_actions.gitsigns, + -- markdown + nls.builtins.formatting.prettierd, } end, }, From a50db1c6f4d327ded9ff9cbb210c92e73f016838 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 08:58:08 +0100 Subject: [PATCH 1119/2080] nvim: delete unused code. --- lazyvim/nvim/lua/plugins/lsp.lua | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 934f5a93..96884ec7 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -1,18 +1,5 @@ -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua return { - -- Restore 'gw' to default behavior. First, remove the 'gw' ()searching for a word) keymap set in LazyVim: - -- FIXME: keympa not found - -- vim.keymap.del({ "n", "x" }, "gw"), - -- Then, reset formatexpr if null-ls is not providing any formatting generators. - -- See: https://github.com/jose-elias-alvarez/null-ls.nvim/issues/1131 - -- require("lazyvim.util").on_attach(function(client, buf) - -- if client.name == "null-ls" then - -- if not require("null-ls.generators").can_run(vim.bo[buf].filetype, require("null-ls.methods").lsp.FORMATTING) then - -- vim.bo[buf].formatexpr = nil - -- end - -- end - -- end), - -- Improved ltex integration, supporting code actions { "barreiroleo/ltex-extra.nvim" }, From 45b3fa3ce1fffc181e9c91a4daf79674a6f63442 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 08:59:10 +0100 Subject: [PATCH 1120/2080] nvim: disable key ordering check in yamlls. --- lazyvim/nvim/lua/plugins/lsp.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 96884ec7..00ce89bb 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -66,7 +66,14 @@ return { -- rnix-lsp is installed using nix mason = false, }, - yamlls = {}, + -- https://github.com/redhat-developer/yaml-language-server + yamlls = { + settings = { + yaml = { + keyOrdering = false, + }, + }, + }, }, setup = { -- integrate ltex_extra with lazyvim From 2e8445d4e42d2f7a7c30662158b13541145a0978 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 08:59:35 +0100 Subject: [PATCH 1121/2080] flake: add modeline. --- flake.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/flake.nix b/flake.nix index e599dc2d..68a2aace 100644 --- a/flake.nix +++ b/flake.nix @@ -167,3 +167,5 @@ # } }; } + +# vim: foldmethod=marker From fc6b4c64925379292540ed3cbefb42c3b2ca7fee Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 09:00:02 +0100 Subject: [PATCH 1122/2080] nvim lsp: update comment for issues with nvim-lspconfig version. --- lazyvim/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 00ce89bb..a9fa1104 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -6,7 +6,7 @@ return { -- add various LSP to lspconfig { "neovim/nvim-lspconfig", - -- XXX: Need to run master as current tagged release is broken and not using latest lua_ls + -- XXX: Need to run master as tagged release is outdated and not using latest lua_ls -- name, cf https://github.com/neovim/nvim-lspconfig/pull/2439 version = false, opts = { From b72ccabd70dea327891971af5b1d97e96d25d5de Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 09:01:09 +0100 Subject: [PATCH 1123/2080] nvim: start testing cmp-lbdb. --- lazyvim/nvim/lua/plugins/coding.lua | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 092f1cf8..82332074 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -250,19 +250,13 @@ return { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji", - "codybuell/cmp-lbdb", + { "codybuell/cmp-lbdb", lazy = true, ft = "mail", enabled = false }, }, opts = function(_, opts) local cmp = require("cmp") ---@diagnostic disable-next-line: missing-parameter opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" }, - { - name = "lbdb", - blacklist = { - ".*noreply.*", - }, - }, { name = "buffer", option = { @@ -272,6 +266,12 @@ return { }, }, })) + + -- only load lbdb completion for emails + -- cmp.setup.filetype("mail", { + -- sources = cmp.config.sources({ { name = "lbdb" } }), + -- }) + -- Custom snippets -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua local luasnip = require("luasnip") From d8b6ca69f8532d2d3ddc456872b712d99e91e9c6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 09:03:29 +0100 Subject: [PATCH 1124/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/eac7da7b519a5aefe92c33c90b4450a24ebe0ab3' (2023-03-19) → 'github:NixOS/nixpkgs/e2c97799da5f5cd87adfa5017fba971771e123ef' (2023-03-20) • Updated input 'nur': 'github:nix-community/NUR/97e5c4b46ff73b51b2a58f8caa58c58dd01b549f' (2023-03-21) → 'github:nix-community/NUR/52e6a7748992cde538e52f3fa4737f64b5bec03d' (2023-03-22) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 42aca67f..5bd65cf7 100644 --- a/flake.lock +++ b/flake.lock @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679224734, - "narHash": "sha256-1Ab3xY7Wgo1h1TNwRt6fp2XjV+KUo+hP1Bolh0KiDJs=", + "lastModified": 1679318992, + "narHash": "sha256-uoj5Oy6hruIHuxzfQZtcalObe5kPrX9v+ClUMFEOzmE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eac7da7b519a5aefe92c33c90b4450a24ebe0ab3", + "rev": "e2c97799da5f5cd87adfa5017fba971771e123ef", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1679390561, - "narHash": "sha256-KycgI2skDinbAB7T4Il7g/43nUVqJela9nyqTC7BXHI=", + "lastModified": 1679463968, + "narHash": "sha256-SBNgZb/Gc/9RbEvxz+jQ2o6nWNt1gzTwAw16lShT/ho=", "owner": "nix-community", "repo": "NUR", - "rev": "97e5c4b46ff73b51b2a58f8caa58c58dd01b549f", + "rev": "52e6a7748992cde538e52f3fa4737f64b5bec03d", "type": "github" }, "original": { From 3ba0234d8ab97225b42838f4bbd72c293767b5ac Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 15:07:37 +0100 Subject: [PATCH 1125/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0a880241804f31cb6d51f0eccb519f160b476574' (2023-03-21) → 'github:nix-community/neovim-nightly-overlay/7a114101d1b72e734fbaba9e523026dd1598bc7e' (2023-03-22) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/e789d652974226ce3a763e3052a7c3d9898d875e?dir=contrib' (2023-03-20) → 'github:neovim/neovim/a7b537c7a4e5b6114cd75df5178199f4449c6480?dir=contrib' (2023-03-22) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/8bc6945b1224a1cfa679d6801580b1054dba1a5c' (2023-03-20) → 'github:nixos/nixpkgs/c9ece0059f42e0ab53ac870104ca4049df41b133' (2023-03-21) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/f714696302c2f33845282628db523580af05be70' (2023-03-20) → 'github:nixos/nixpkgs/3268859e68c056725359ebc8315695d26c95fb6b' (2023-03-21) • Updated input 'nur': 'github:nix-community/NUR/52e6a7748992cde538e52f3fa4737f64b5bec03d' (2023-03-22) → 'github:nix-community/NUR/e9088dc6f9f289fbff984744ad04dccbd5c1f8ac' (2023-03-22) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 5bd65cf7..f47cb84c 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1679346253, - "narHash": "sha256-ti5tQtWp9FmLP/pnm2Uoay+/xvYwjjAguWs6V37vUiI=", + "lastModified": 1679453843, + "narHash": "sha256-A5K608V6vAgWyqf6Q4pUWXsDJZ8K+cxSvegbUcdmSbg=", "owner": "neovim", "repo": "neovim", - "rev": "e789d652974226ce3a763e3052a7c3d9898d875e", + "rev": "a7b537c7a4e5b6114cd75df5178199f4449c6480", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1679386441, - "narHash": "sha256-ww4vBrci77t0IcVUnVRuEPCxhFMtSG5h7lfMjqqIWc4=", + "lastModified": 1679472829, + "narHash": "sha256-hcSVMIpuFuAyFEs+7h2fKym0cDUivgdkjm0TjMgEvYo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0a880241804f31cb6d51f0eccb519f160b476574", + "rev": "7a114101d1b72e734fbaba9e523026dd1598bc7e", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1679319606, - "narHash": "sha256-wyEMIZB6BnsmJWInEgDZu66hXVMGJEZFl5uDsn27f9M=", + "lastModified": 1679410443, + "narHash": "sha256-xDHO/jixWD+y5pmW5+2q4Z4O/I/nA4MAa30svnZKK+M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8bc6945b1224a1cfa679d6801580b1054dba1a5c", + "rev": "c9ece0059f42e0ab53ac870104ca4049df41b133", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1679282725, - "narHash": "sha256-EV0u5ynvCuZJdLUTmjw0luWxWEwhho4kuOkYAJ66w/E=", + "lastModified": 1679438883, + "narHash": "sha256-te6FbYhXwwZgwbYXp1MzybT+a36VLCUBKb3D4NBj1GY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f714696302c2f33845282628db523580af05be70", + "rev": "3268859e68c056725359ebc8315695d26c95fb6b", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1679463968, - "narHash": "sha256-SBNgZb/Gc/9RbEvxz+jQ2o6nWNt1gzTwAw16lShT/ho=", + "lastModified": 1679482366, + "narHash": "sha256-88K2ABCsdsVwq6Go/uEn/fds1fUeeeoixOALjrrUI0Q=", "owner": "nix-community", "repo": "NUR", - "rev": "52e6a7748992cde538e52f3fa4737f64b5bec03d", + "rev": "e9088dc6f9f289fbff984744ad04dccbd5c1f8ac", "type": "github" }, "original": { From e7267a35314dc420ba24b881422c8654d7ae7aee Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 15:13:56 +0100 Subject: [PATCH 1126/2080] tmux: add sensible --- modules/home/tmux/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index 92aa53a3..480f37d4 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -18,6 +18,7 @@ open prefix-highlight sessionist + sensible logging { plugin = dracula; From 6d5eba28919b1d92a43cc82d0bd425bd1efba72f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 15:14:04 +0100 Subject: [PATCH 1127/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 8862fd85..859fa6db 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -25,7 +25,7 @@ "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "2b811031febe5f743e07305738181ff367e1e452" }, - "mason.nvim": { "branch": "main", "commit": "a192887fd0c29275cf2acb4a83bcbdf63399f8df" }, + "mason.nvim": { "branch": "main", "commit": "9f6fd51ce6a3381fbed5fe33169ff20b5bd8f00b" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -52,7 +52,7 @@ "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "2d7d23c1122bb2589880236e932d373933b07937" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "9b4e8c1b97da5c09b024059939c9ab201af95f67" }, + "nvim-treesitter": { "branch": "master", "commit": "dbdbd71b41a3627e0f2784eff746ad4366e2a21c" }, "nvim-treesitter-context": { "branch": "master", "commit": "88d1627285f7477883516ef60521601862dae7a1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "582cbb5a4cb50f6161cac8cc01f55aeaff6d836a" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, From 065688dfa884d8eb2ab6160fde08ec55a0ebe11a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 15:15:31 +0100 Subject: [PATCH 1128/2080] vim: open new window on the right of current one. --- lazyvim/nvim/lua/config/options.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index 0c2b0279..826947c9 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -38,3 +38,7 @@ vim.g.loaded_node_provider = 0 -- Use a global statusline vim.g.laststatus = 3 + +-- Create new window below current one, and on the right +-- opt.splitbelow = true +opt.splitright = true From adacd830f04c624d0feec2bbbe3e7b5805fab3ae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 15:17:12 +0100 Subject: [PATCH 1129/2080] nvim: remove default option. --- lazyvim/nvim/lua/config/options.lua | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index 826947c9..0c2b0279 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -38,7 +38,3 @@ vim.g.loaded_node_provider = 0 -- Use a global statusline vim.g.laststatus = 3 - --- Create new window below current one, and on the right --- opt.splitbelow = true -opt.splitright = true From d08a51f7255c800e919b23911b61afa8c247a194 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 15:20:38 +0100 Subject: [PATCH 1130/2080] lazyvim: overwrite all nvim-cmp sources --- lazyvim/nvim/lua/plugins/coding.lua | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 82332074..46003615 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -250,12 +250,18 @@ return { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji", - { "codybuell/cmp-lbdb", lazy = true, ft = "mail", enabled = false }, + -- { "codybuell/cmp-lbdb", lazy = true, ft = "mail", enabled = false }, }, opts = function(_, opts) local cmp = require("cmp") ---@diagnostic disable-next-line: missing-parameter - opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { + -- opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { + -- FIXME: only add emoji and overwrite buffer configuration instead of replicating + -- configuration + opts.sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "path" }, { name = "emoji" }, { name = "buffer", @@ -265,7 +271,8 @@ return { end, }, }, - })) + }) + -- })) -- only load lbdb completion for emails -- cmp.setup.filetype("mail", { From 7bc67a7340eb26528611925bf4af10842dd6ce6a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 16:58:44 +0100 Subject: [PATCH 1131/2080] vim: test if options for indent are really required. Increase column width, and quicken timeout for which-key --- lazyvim/nvim/lua/config/options.lua | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index 0c2b0279..dd50a1c7 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -12,12 +12,12 @@ opt.foldcolumn = "0" opt.softtabstop = 2 -- XXX breaking indentation of new comments -- https://unix.stackexchange.com/a/543571 -opt.smartindent = false +-- opt.smartindent = false opt.autoindent = false -- Indent wrapped lines to match line start -opt.breakindent = true +-- opt.breakindent = true -- Fix indentation of new comments -opt.cinkeys:remove({ "0#" }) +-- opt.cinkeys:remove({ "0#" }) -- Wrap long lines opt.wrap = true @@ -26,7 +26,7 @@ opt.wrap = true opt.textwidth = 90 -- Display column to show light length -opt.colorcolumn = "80" +opt.colorcolumn = "90" -- Disable mouse opt.mouse = "" @@ -38,3 +38,6 @@ vim.g.loaded_node_provider = 0 -- Use a global statusline vim.g.laststatus = 3 + +-- Quicker timeout for mappings, to speed up showing which-key menu +opt.timeoutlen = 300 From a4b05c6cb08475d6fac02393a000c4b3afe567c6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 16:58:51 +0100 Subject: [PATCH 1132/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 859fa6db..00c63776 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -69,7 +69,7 @@ "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "e504cf03c24119ee024c4182bee7ab31276cd684" }, + "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, "tokyonight.nvim": { "branch": "main", "commit": "9d4d6d12148d0c2d30b6a91e849922276e0a8ce9" }, "treesj": { "branch": "main", "commit": "90248883bdb2d559ff4ba7f0148eb0145d3f0908" }, From 92983fcf1b550051fc6c79b494adbd878cb19658 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 Mar 2023 17:31:39 +0100 Subject: [PATCH 1133/2080] vim: use patched version of codybuell/cmp-lbdb --- lazyvim/nvim/lazy-lock.json | 1 + lazyvim/nvim/lua/plugins/coding.lua | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 00c63776..26871511 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -7,6 +7,7 @@ "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, + "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 46003615..141cf6ed 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -246,11 +246,14 @@ return { config = true, }, + -- Use forked version due to https://github.com/codybuell/cmp-lbdb/pull/3/ + -- { "codybuell/cmp-lbdb", lazy = true, ft = "mail" }, + { "gwarf/cmp-lbdb", branch = "fix_nil_meta_raw", lazy = true, ft = "mail" }, + { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji", - -- { "codybuell/cmp-lbdb", lazy = true, ft = "mail", enabled = false }, }, opts = function(_, opts) local cmp = require("cmp") @@ -275,9 +278,9 @@ return { -- })) -- only load lbdb completion for emails - -- cmp.setup.filetype("mail", { - -- sources = cmp.config.sources({ { name = "lbdb" } }), - -- }) + cmp.setup.filetype("mail", { + sources = cmp.config.sources({ { name = "lbdb" } }), + }) -- Custom snippets -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua From cd59690597848dea11a6aca0bccab1d6c65ce3e8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 09:48:24 +0100 Subject: [PATCH 1134/2080] move zoxide, bat and direnv setup to fish module --- home/main.nix | 23 ----------------------- modules/home/fish/default.nix | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/home/main.nix b/home/main.nix index 67c167da..48fcd8ba 100644 --- a/home/main.nix +++ b/home/main.nix @@ -9,28 +9,6 @@ # Let Home Manager install and manage itself. programs.home-manager.enable = true; - # Bat, a substitute for cat. - # https://github.com/sharkdp/bat - # https://rycee.gitlab.io/home-manager/options.html#opt-programs.bat.enable - programs.bat = { - enable = true; - config = { - theme = "Dracula"; - style = "plain"; - }; - }; - - # Zoxide, a faster way to navigate the filesystem - # https://github.com/ajeetdsouza/zoxide - # https://rycee.gitlab.io/home-manager/options.html#opt-programs.zoxide.enable - programs.zoxide.enable = true; - - # Direnv, load and unload environment variables depending on the current directory. - # https://direnv.net - # https://rycee.gitlab.io/home-manager/options.html#opt-programs.direnv.enable - programs.direnv.enable = true; - programs.direnv.nix-direnv.enable = true; - # Htop # https://rycee.gitlab.io/home-manager/options.html#opt-programs.htop.enable programs.htop.enable = true; @@ -43,7 +21,6 @@ wget # Cool stuff - bat doggo du-dust exa diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index d66fc440..fc0f1a01 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -13,6 +13,31 @@ in # Add Fish plugins home.packages = [ pkgs.fishPlugins.done pkgs.sqlite ]; + # Zoxide, a faster way to navigate the filesystem + # https://github.com/ajeetdsouza/zoxide + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.zoxide.enable + programs.zoxide.enable = true; + programs.zoxide.enableFishIntegration = true; + programs.zoxide.enableBashIntegration = false; + programs.zoxide.enableZshIntegration = false; + + # Bat, a substitute for cat. + # https://github.com/sharkdp/bat + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.bat.enable + programs.bat = { + enable = true; + config = { + theme = "Dracula"; + style = "plain"; + }; + }; + + # Direnv, load and unload environment variables depending on the current directory. + # https://direnv.net + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.direnv.enable + programs.direnv.enable = true; + programs.direnv.nix-direnv.enable = true; + # Fish configuration ------------------------------------------------------------------------- {{{ # Aliases From 27f08ceee038722cde8234c6ff122b7e02d0e58c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 09:53:15 +0100 Subject: [PATCH 1135/2080] zoxide: replace cd --- modules/home/fish/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index fc0f1a01..6efec71b 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -17,6 +17,7 @@ in # https://github.com/ajeetdsouza/zoxide # https://rycee.gitlab.io/home-manager/options.html#opt-programs.zoxide.enable programs.zoxide.enable = true; + programs.zoxide.options = [ "--cmd cd" ]; programs.zoxide.enableFishIntegration = true; programs.zoxide.enableBashIntegration = false; programs.zoxide.enableZshIntegration = false; From 66fa0f4b37f085e9d2879f5498de36329037fd98 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 09:55:36 +0100 Subject: [PATCH 1136/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/7a114101d1b72e734fbaba9e523026dd1598bc7e' (2023-03-22) → 'github:nix-community/neovim-nightly-overlay/583c7d315e87975b3a226cafd3ac099b8fdd0b6b' (2023-03-23) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/a7b537c7a4e5b6114cd75df5178199f4449c6480?dir=contrib' (2023-03-22) → 'github:neovim/neovim/ea0b66d208dbcd5d5c0a17810596d769c7a0b6dd?dir=contrib' (2023-03-23) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/e2c97799da5f5cd87adfa5017fba971771e123ef' (2023-03-20) → 'github:NixOS/nixpkgs/9ef6e7727f4c31507627815d4f8679c5841efb00' (2023-03-22) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/3268859e68c056725359ebc8315695d26c95fb6b' (2023-03-21) → 'github:nixos/nixpkgs/a4a467f7fb888f5e7585c9577067f20685ac7ee5' (2023-03-23) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/60c1d71f2ba4c80178ec84523c2ca0801522e0a6' (2023-03-19) → 'github:nixos/nixpkgs/19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e' (2023-03-21) • Updated input 'nur': 'github:nix-community/NUR/e9088dc6f9f289fbff984744ad04dccbd5c1f8ac' (2023-03-22) → 'github:nix-community/NUR/2e6da00695e553ed8b16a50b300b5906483a3bb9' (2023-03-23) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f47cb84c..3ea0218f 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1679453843, - "narHash": "sha256-A5K608V6vAgWyqf6Q4pUWXsDJZ8K+cxSvegbUcdmSbg=", + "lastModified": 1679556473, + "narHash": "sha256-1kABkonN3VFGTUqb5vKCd5vrU182FGKww67KdnZ6QdQ=", "owner": "neovim", "repo": "neovim", - "rev": "a7b537c7a4e5b6114cd75df5178199f4449c6480", + "rev": "ea0b66d208dbcd5d5c0a17810596d769c7a0b6dd", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1679472829, - "narHash": "sha256-hcSVMIpuFuAyFEs+7h2fKym0cDUivgdkjm0TjMgEvYo=", + "lastModified": 1679559242, + "narHash": "sha256-2qQlbQPLRLmMgbFsY48qnMmgBlCsN9onqpZHx6DPXG0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7a114101d1b72e734fbaba9e523026dd1598bc7e", + "rev": "583c7d315e87975b3a226cafd3ac099b8fdd0b6b", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1679438883, - "narHash": "sha256-te6FbYhXwwZgwbYXp1MzybT+a36VLCUBKb3D4NBj1GY=", + "lastModified": 1679542200, + "narHash": "sha256-vqP2hi0v2VYJpFlyo675CDnWWjQWLrzS68fCj+V8xwk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3268859e68c056725359ebc8315695d26c95fb6b", + "rev": "a4a467f7fb888f5e7585c9577067f20685ac7ee5", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1679262748, - "narHash": "sha256-DQCrrAFrkxijC6haUzOC5ZoFqpcv/tg2WxnyW3np1Cc=", + "lastModified": 1679437018, + "narHash": "sha256-vOuiDPLHSEo/7NkiWtxpHpHgoXoNmrm+wkXZ6a072Fc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "60c1d71f2ba4c80178ec84523c2ca0801522e0a6", + "rev": "19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679318992, - "narHash": "sha256-uoj5Oy6hruIHuxzfQZtcalObe5kPrX9v+ClUMFEOzmE=", + "lastModified": 1679472241, + "narHash": "sha256-VK2YDic2NjPvfsuneJCLIrWS38qUfoW8rLLimx0rWXA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e2c97799da5f5cd87adfa5017fba971771e123ef", + "rev": "9ef6e7727f4c31507627815d4f8679c5841efb00", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1679482366, - "narHash": "sha256-88K2ABCsdsVwq6Go/uEn/fds1fUeeeoixOALjrrUI0Q=", + "lastModified": 1679557124, + "narHash": "sha256-W1lSEOJW5dmv4FhMxZWcr5ZFwvImKbE19sIIAAfdMbo=", "owner": "nix-community", "repo": "NUR", - "rev": "e9088dc6f9f289fbff984744ad04dccbd5c1f8ac", + "rev": "2e6da00695e553ed8b16a50b300b5906483a3bb9", "type": "github" }, "original": { From e3c2335aff84a219d545a68ae72f8529a206ec46 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 11:56:28 +0100 Subject: [PATCH 1137/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 26871511..54becd8f 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,5 +1,5 @@ { - "LazyVim": { "branch": "main", "commit": "7a8ca6222a554bdb78fb8de35404672fc4042302" }, + "LazyVim": { "branch": "main", "commit": "c4572fcec877053df89e7aba3bcd52a0ca5c7df7" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, "SchemaStore.nvim": { "branch": "main", "commit": "ac100fa691b10dd990ca0cdc31ebd054a5959b58" }, "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, @@ -21,12 +21,12 @@ "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "887eb75591520a01548134c4623617b639289d0b" }, + "lazy.nvim": { "branch": "main", "commit": "be77c59bf742379b6c5ad1e70d29c5fc1ee55944" }, "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "2b811031febe5f743e07305738181ff367e1e452" }, - "mason.nvim": { "branch": "main", "commit": "9f6fd51ce6a3381fbed5fe33169ff20b5bd8f00b" }, + "mason.nvim": { "branch": "main", "commit": "30f832f219bea0574a1c2fe4900641bdd1112509" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -37,29 +37,29 @@ "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "20c2f2f5ba083bbb1e37b8bc3d590621434f31e9" }, - "neoconf.nvim": { "branch": "main", "commit": "98a6166b341249ce6b14e54f245d902cc066f3fc" }, + "neoconf.nvim": { "branch": "main", "commit": "f28a0c750a40ceec22eb97dd8111ef2203ff7cc1" }, "neodev.nvim": { "branch": "main", "commit": "78fb6373437eb400f1629b17d4a529669fa2a062" }, "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, "neogit": { "branch": "master", "commit": "039ff3212ec43cc4d3332956dfb54e263c8d5033" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "92b058ad183fccd3b970f03ae49094596a6c735b" }, + "noice.nvim": { "branch": "main", "commit": "f8b1a72a7bce56d9e9ed054708dc855d57dec085" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, "null-ls.nvim": { "branch": "main", "commit": "13dd1fc13063681ca7e039436c88f6eca7e3e937" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "0f94c5fded29c0024254259f3d8a0284bfb507ea" }, + "nvim-lspconfig": { "branch": "master", "commit": "c6105c449683b944b5d2138fcf82f18c657249e9" }, "nvim-navic": { "branch": "master", "commit": "ca34afcd15c7f6dd0836fc4fca2e37024bfa5019" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "2d7d23c1122bb2589880236e932d373933b07937" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "dbdbd71b41a3627e0f2784eff746ad4366e2a21c" }, + "nvim-treesitter": { "branch": "master", "commit": "87cf2abeb6077ac19a1249d0b06f223aa398a0a0" }, "nvim-treesitter-context": { "branch": "master", "commit": "88d1627285f7477883516ef60521601862dae7a1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "582cbb5a4cb50f6161cac8cc01f55aeaff6d836a" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, "nvim-web-devicons": { "branch": "master", "commit": "95b1e300699be8eb6b5be1758a9d4d69fe93cc7f" }, - "oxocarbon.nvim": { "branch": "main", "commit": "84c8563d608b7ecbf7b4fd3b4828e1a087cb39d9" }, + "oxocarbon.nvim": { "branch": "main", "commit": "fc236ef07361a1596081f242940f97af3ba26db1" }, "peek.nvim": { "branch": "master", "commit": "571f14c795e8edd5a21e435f42f37c9bec4a8e16" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, @@ -72,7 +72,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "9d4d6d12148d0c2d30b6a91e849922276e0a8ce9" }, + "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, "treesj": { "branch": "main", "commit": "90248883bdb2d559ff4ba7f0148eb0145d3f0908" }, "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, From e20a9302b017a14daef1cb50b830f6b531fd301c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 11:56:47 +0100 Subject: [PATCH 1138/2080] fish: add spicetify to path if available --- modules/home/fish/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 6efec71b..327cca17 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -106,6 +106,11 @@ in # Add path mainly used by brew fish_add_path "/usr/local/bin" + # https://spicetify.app + if test -e ~/.spicetify + fish_add_path ~/.spicetify/ + end + # https://github.com/pyenv/pyenv/wiki/Common-build-problems # XXX clang-15: unknown argument -02 # set -gx CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" From 1bf491bfae6da5f4e2c11880144c88ab880f130a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 11:56:58 +0100 Subject: [PATCH 1139/2080] Import module for wezterm --- modules/home/wezterm/default.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 modules/home/wezterm/default.nix diff --git a/modules/home/wezterm/default.nix b/modules/home/wezterm/default.nix new file mode 100644 index 00000000..4685161b --- /dev/null +++ b/modules/home/wezterm/default.nix @@ -0,0 +1,19 @@ +{ config, lib, pkgs, pkgs-unstable, ... }: +{ + programs.wezterm.enable = true; + programs.wezterm.package = pkgs-unstable.wezterm; + programs.wezterm.extraConfig = '' + return { + font = wezterm.font_with_fallback({ "JetBrains Mono", "Material Design Icons", "Material Icons", "Noto Color Emoji" }) + font_size = 16.0 + -- FIXME: themes not found, only availalbe in most recent wezterm versions + -- color_scheme = "Tokyo Night Storm (Gogh)" + -- color_scheme = "tokyonight_moon" + -- color_scheme = "tokyonight_storm" + color_scheme = "Dracula" + hide_tab_bar_if_only_one_tab = true + default_prog = { "${pkgs.fish}/bin/fish", "-l" } + } + ''; +} +# vim: foldmethod=marker From e9368a5693bea0c57cba58dcceda930842ef161b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 11:57:02 +0100 Subject: [PATCH 1140/2080] mac config: add more fonts --- machines/Baptistes-MBP/configuration.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 0362cf4a..78aa78db 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -54,6 +54,7 @@ # Fonts fonts.fontDir.enable = true; + # XXX: try to move to home/main.nix # https://github.com/lightdiscord/nix-nerd-fonts-overlay # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 fonts.fonts = with pkgs; [ @@ -61,6 +62,9 @@ font-awesome_5 recursive (nerdfonts.override { fonts = [ "CascadiaCode" "JetBrainsMono" ]; }) + material-design-icons + material-icons + # pkgs-unstable.material-symbols noto-fonts noto-fonts-cjk noto-fonts-emoji From fe2fb80316fb2a29356a7b86d4265565e249c040 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 11:57:24 +0100 Subject: [PATCH 1141/2080] flake.nix: load wezterm, unload emacs. --- flake.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 68a2aace..3b9107e7 100644 --- a/flake.nix +++ b/flake.nix @@ -58,6 +58,7 @@ # XXX Factorise and simplify like done in https://github.com/gvolpe/nix-config homeManagerDarwinModules = { kitty = import ./modules/home/kitty; + wezterm = import ./modules/home/wezterm; fish = import ./modules/home/fish; starship = import ./home/starship.nix; starship-symbols = import ./home/starship-symbols.nix; @@ -66,7 +67,7 @@ lbdb = import ./modules/home/lbdb; main = import ./home/main.nix; neovim = import ./home/neovim-nightly.nix; - emacs = import ./modules/home/emacs; + # emacs = import ./modules/home/emacs; home-user-info = { lib, ... }: { # XXX figure what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; From f2f5dd6f5b579d7c2e7ebc8902a0fc0ac854e27e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 12:03:32 +0100 Subject: [PATCH 1142/2080] brutal: cleaning. --- machines/brutal/configuration.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index ddb86682..23e3722a 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -18,7 +18,7 @@ # boot.loader.systemd-boot.consoleMode = "keep"; networking = { hostName = "brutal"; # Define your hostname. - networkmanager.enable = true; # Easiest to use and most distros use this by default. + networkmanager.enable = true; # Easiest to use and most distros use this by default. # Open ports in the firewall. # firewall.allowedTCPPorts = [ ... ]; # firewall.allowedUDPPorts = [ ... ]; @@ -48,7 +48,7 @@ # Configure keymap in X11 services.xserver.layout = "us"; - services.xserver.xkbOptions = "caps:escape"; # map caps to escape. + services.xserver.xkbOptions = "caps:escape"; # map caps to escape. # "eurosign:e"; # map caps to escape. # Enable CUPS to print documents. @@ -149,7 +149,7 @@ ]; nix.gc = { automatic = true; - options = "--delete-older-than 8d"; + options = "--delete-older-than 60d"; }; # Enable experimental nix command and flakes @@ -161,20 +161,17 @@ keep-derivations = true ''; - # Apps - programs.zsh.enable = true; # List packages installed in system profile. environment.systemPackages = with pkgs; [ # Some basics - curl git - gh vim wget ]; # Fonts fonts.fontDir.enable = true; + # XXX: try to move to home/main.nix # https://github.com/lightdiscord/nix-nerd-fonts-overlay # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 # https://github.com/JonathanReeve/dotfiles/blob/master/dotfiles/configuration.nix#L61 @@ -183,6 +180,9 @@ font-awesome_5 # Only pick selected fonts (nerdfonts.override { fonts = [ "CascadiaCode" "JetBrainsMono" ]; }) + material-design-icons + material-icons + # pkgs-unstable.material-symbols noto-fonts noto-fonts-cjk noto-fonts-emoji @@ -192,5 +192,5 @@ victor-mono kochi-substitute recursive - ]; + ]; } From c080fc1014ca1cd82465d02b4ac037f09abdf31e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 12:04:11 +0100 Subject: [PATCH 1143/2080] macos: cleaning. --- machines/Baptistes-MBP/configuration.nix | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 78aa78db..51a6b2e3 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -29,38 +29,30 @@ keep-derivations = true ''; - # Create /etc/bashrc that loads the nix-darwin environment. - programs.zsh.enable = true; - # Auto upgrade nix package and the daemon service. services.nix-daemon.enable = true; + programs.nix-index.enable = true; - # Apps + # List packages installed in system profile. # `home-manager` currently has issues adding them to `~/Applications` # Issue: https://github.com/nix-community/home-manager/issues/1341 environment.systemPackages = with pkgs; [ - # XXX only needed for darwin - # terminal-notifier + # Some basics git - wget vim - # XXX breaking nix build on Darwin - # error: Package ‘firefox-107.0.1’ in /nix/store/...firefox/wrapper.nix:404 - # is not supported on ‘x86_64-darwin’, refusing to evaluate. - # firefox + wget ]; - programs.nix-index.enable = true; - # Fonts fonts.fontDir.enable = true; # XXX: try to move to home/main.nix # https://github.com/lightdiscord/nix-nerd-fonts-overlay # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 + # https://github.com/JonathanReeve/dotfiles/blob/master/dotfiles/configuration.nix#L61 fonts.fonts = with pkgs; [ fantasque-sans-mono font-awesome_5 - recursive + # Only pick selected fonts (nerdfonts.override { fonts = [ "CascadiaCode" "JetBrainsMono" ]; }) material-design-icons material-icons @@ -73,6 +65,7 @@ libertine victor-mono kochi-substitute + recursive ]; # Keyboard From beb3278f49469a91adcbbf71258381b668a59b80 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 15:29:59 +0100 Subject: [PATCH 1144/2080] neovim: enable gx to open links. --- lazyvim/nvim/lua/plugins/misc.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/misc.lua b/lazyvim/nvim/lua/plugins/misc.lua index 2f787502..6d788fe6 100644 --- a/lazyvim/nvim/lua/plugins/misc.lua +++ b/lazyvim/nvim/lua/plugins/misc.lua @@ -2,6 +2,9 @@ return { "folke/twilight.nvim", + -- Open links without netrw using gx mapping + { "chrishrb/gx.nvim" }, + { "Wansmer/treesj", -- keys: <space>m - toggle, <space>j - join, <space>s - split From 2e14f4ac1d08f6c712e6b74e22ef503977c27ec9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 15:30:40 +0100 Subject: [PATCH 1145/2080] nvim: update comment --- lazyvim/nvim/lua/plugins/tools.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index b017d692..ef3c3002 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -9,7 +9,7 @@ return { ft = "norg", opts = { load = { - -- Load everything + -- Load default modules ["core.defaults"] = {}, ["core.norg.concealer"] = {}, ["core.norg.completion"] = { From e4c1dccc8883389d8af5b38dc6e2d4442ec6e434 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 15:31:07 +0100 Subject: [PATCH 1146/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 54becd8f..e1ccfca5 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -18,6 +18,7 @@ "flit.nvim": { "branch": "main", "commit": "4c1739137acd3e7f03e2065a7be8a4dc41c7e461" }, "friendly-snippets": { "branch": "main", "commit": "25ddcd96540a2ce41d714bd7fea2e7f75fea8ead" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, + "gx.nvim": { "branch": "main", "commit": "f84bafbbce2b8d6f5011482b2421e193ee303df7" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, @@ -26,7 +27,7 @@ "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "2b811031febe5f743e07305738181ff367e1e452" }, - "mason.nvim": { "branch": "main", "commit": "30f832f219bea0574a1c2fe4900641bdd1112509" }, + "mason.nvim": { "branch": "main", "commit": "210865d77cce5546876aec63dee1c36526491513" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, From 54c36e0bc2b4a6a3adafd60fd652fd1228494250 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 17:42:33 +0100 Subject: [PATCH 1147/2080] nvim: enable gx --- lazyvim/nvim/lua/plugins/misc.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/misc.lua b/lazyvim/nvim/lua/plugins/misc.lua index 6d788fe6..21a8af13 100644 --- a/lazyvim/nvim/lua/plugins/misc.lua +++ b/lazyvim/nvim/lua/plugins/misc.lua @@ -3,7 +3,18 @@ return { "folke/twilight.nvim", -- Open links without netrw using gx mapping - { "chrishrb/gx.nvim" }, + { + "chrishrb/gx.nvim", + -- FIXME register existing gx mapping in which-key + -- config = function() + -- local wk = require("which-key") + -- wk.register({ + -- g = { + -- x = "Open link", + -- }, + -- }) + -- end, + }, { "Wansmer/treesj", From b996d83a707bc58cd19fff9b97be5a94afed4493 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 17:42:46 +0100 Subject: [PATCH 1148/2080] nvim lsp: make isort use black profile. --- lazyvim/nvim/lua/plugins/lsp.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index a9fa1104..228dc125 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -130,7 +130,9 @@ return { -- lua nls.builtins.formatting.stylua, -- python - nls.builtins.formatting.isort, + nls.builtins.formatting.isort.with({ + extra_args = { "--profile", "black" }, + }), nls.builtins.formatting.black, nls.builtins.diagnostics.flake8.with({ extra_args = flake8_extra_args, From 82c5b4fc58647107f753530b7a7750fd73a23024 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 Mar 2023 17:43:05 +0100 Subject: [PATCH 1149/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e1ccfca5..2cf15933 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -45,7 +45,7 @@ "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "f8b1a72a7bce56d9e9ed054708dc855d57dec085" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "13dd1fc13063681ca7e039436c88f6eca7e3e937" }, + "null-ls.nvim": { "branch": "main", "commit": "0180603b6f3cee40f83c6fc226b9ac5f85e691c4" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lspconfig": { "branch": "master", "commit": "c6105c449683b944b5d2138fcf82f18c657249e9" }, From d2f8965ab32d11ce208f45a160f6d28473bbbb67 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 Mar 2023 09:38:26 +0200 Subject: [PATCH 1150/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/9154cd519a8942728038819682d6b3ff33f321bb' (2023-03-17) → 'github:nix-community/home-manager/83110c259889230b324bb2d35bef78bf5f214a1f' (2023-03-25) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/583c7d315e87975b3a226cafd3ac099b8fdd0b6b' (2023-03-23) → 'github:nix-community/neovim-nightly-overlay/87e3bc8de8922f5aa32ab6480bd8b1ab09a50625' (2023-03-26) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/ea0b66d208dbcd5d5c0a17810596d769c7a0b6dd?dir=contrib' (2023-03-23) → 'github:neovim/neovim/4863ca6b8902c5b0aab95f2af640118cd417d379?dir=contrib' (2023-03-26) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/c9ece0059f42e0ab53ac870104ca4049df41b133' (2023-03-21) → 'github:nixos/nixpkgs/0cd51a933d91078775b300cf0f29aa3495231aa2' (2023-03-26) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9ef6e7727f4c31507627815d4f8679c5841efb00' (2023-03-22) → 'github:NixOS/nixpkgs/da26ae9f6ce2c9ab380c0f394488892616fc5a6a' (2023-03-25) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/a4a467f7fb888f5e7585c9577067f20685ac7ee5' (2023-03-23) → 'github:nixos/nixpkgs/f19edc15a3ff269903ec2b33e003a1721356a8be' (2023-03-26) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e' (2023-03-21) → 'github:nixos/nixpkgs/5f9d1bb572e08ec432ae46c78581919d837a90f6' (2023-03-26) • Updated input 'nur': 'github:nix-community/NUR/2e6da00695e553ed8b16a50b300b5906483a3bb9' (2023-03-23) → 'github:nix-community/NUR/c4cfddf79e5d427bd52430e75b708058d89ee663' (2023-03-27) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 3ea0218f..b82faa20 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1679067101, - "narHash": "sha256-tMI1inGT9u4KWQml0w30dhWqQPlth1e9K/68sfDkEQA=", + "lastModified": 1679738842, + "narHash": "sha256-CvqRbsyDW756EskojZptDU590rez29RcHDV3ezoze08=", "owner": "nix-community", "repo": "home-manager", - "rev": "9154cd519a8942728038819682d6b3ff33f321bb", + "rev": "83110c259889230b324bb2d35bef78bf5f214a1f", "type": "github" }, "original": { @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1679556473, - "narHash": "sha256-1kABkonN3VFGTUqb5vKCd5vrU182FGKww67KdnZ6QdQ=", + "lastModified": 1679798972, + "narHash": "sha256-Dh1OlHmmCy3jU+RcSyR9c4dzqlG37CtGdffJBW9uJNo=", "owner": "neovim", "repo": "neovim", - "rev": "ea0b66d208dbcd5d5c0a17810596d769c7a0b6dd", + "rev": "4863ca6b8902c5b0aab95f2af640118cd417d379", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1679559242, - "narHash": "sha256-2qQlbQPLRLmMgbFsY48qnMmgBlCsN9onqpZHx6DPXG0=", + "lastModified": 1679818366, + "narHash": "sha256-gC7brlVIj4s/D0tcSRQewotMiUVdLNljnbX0joHkeGg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "583c7d315e87975b3a226cafd3ac099b8fdd0b6b", + "rev": "87e3bc8de8922f5aa32ab6480bd8b1ab09a50625", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1679410443, - "narHash": "sha256-xDHO/jixWD+y5pmW5+2q4Z4O/I/nA4MAa30svnZKK+M=", + "lastModified": 1679793451, + "narHash": "sha256-JafTtgMDATE8dZOImBhWMA9RCn9AP8FVOpN+9K/tTlg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c9ece0059f42e0ab53ac870104ca4049df41b133", + "rev": "0cd51a933d91078775b300cf0f29aa3495231aa2", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1679542200, - "narHash": "sha256-vqP2hi0v2VYJpFlyo675CDnWWjQWLrzS68fCj+V8xwk=", + "lastModified": 1679817275, + "narHash": "sha256-Ce5ZdhMTSg7a4c0c91Zli3JNhPME+6X9oHkNetrqBAA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a4a467f7fb888f5e7585c9577067f20685ac7ee5", + "rev": "f19edc15a3ff269903ec2b33e003a1721356a8be", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1679437018, - "narHash": "sha256-vOuiDPLHSEo/7NkiWtxpHpHgoXoNmrm+wkXZ6a072Fc=", + "lastModified": 1679797994, + "narHash": "sha256-Kr/O/UlfqAtoFmkZeAaphsxogeaN8a/IugBApFzPfpk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e", + "rev": "5f9d1bb572e08ec432ae46c78581919d837a90f6", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679472241, - "narHash": "sha256-VK2YDic2NjPvfsuneJCLIrWS38qUfoW8rLLimx0rWXA=", + "lastModified": 1679748960, + "narHash": "sha256-BP8XcYHyj1NxQi04RpyNW8e7KiXSoI+Fy1tXIK2GfdA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9ef6e7727f4c31507627815d4f8679c5841efb00", + "rev": "da26ae9f6ce2c9ab380c0f394488892616fc5a6a", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1679557124, - "narHash": "sha256-W1lSEOJW5dmv4FhMxZWcr5ZFwvImKbE19sIIAAfdMbo=", + "lastModified": 1679900348, + "narHash": "sha256-WqWlr9n1qOO3XggFvJy9l1yNQ6Yfk3Oenah5++4Pn18=", "owner": "nix-community", "repo": "NUR", - "rev": "2e6da00695e553ed8b16a50b300b5906483a3bb9", + "rev": "c4cfddf79e5d427bd52430e75b708058d89ee663", "type": "github" }, "original": { From 1447fef9feef93b80ce71fd471422aff214e9100 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Mar 2023 09:30:35 +0200 Subject: [PATCH 1151/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/87e3bc8de8922f5aa32ab6480bd8b1ab09a50625' (2023-03-26) → 'github:nix-community/neovim-nightly-overlay/6475f6c09537dafd939448f0a0093ce968177a5d' (2023-03-27) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/4863ca6b8902c5b0aab95f2af640118cd417d379?dir=contrib' (2023-03-26) → 'github:neovim/neovim/bad218cd6413dd60a1ed9907f882fbf2e92515f1?dir=contrib' (2023-03-27) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/f19edc15a3ff269903ec2b33e003a1721356a8be' (2023-03-26) → 'github:nixos/nixpkgs/36561ffb4985e7f721e05e8971f65f2167241eb2' (2023-03-27) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/5f9d1bb572e08ec432ae46c78581919d837a90f6' (2023-03-26) → 'github:nixos/nixpkgs/4361baa782dc3d3b35fd455a1adc370681d9187c' (2023-03-26) • Updated input 'nur': 'github:nix-community/NUR/c4cfddf79e5d427bd52430e75b708058d89ee663' (2023-03-27) → 'github:nix-community/NUR/63f4e3fdccac4bb905bb0ea8c71ecb0db528c807' (2023-03-28) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index b82faa20..61dc5a9e 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1679798972, - "narHash": "sha256-Dh1OlHmmCy3jU+RcSyR9c4dzqlG37CtGdffJBW9uJNo=", + "lastModified": 1679881024, + "narHash": "sha256-vqmQGGmHXFmPueXzBPHwUoKQ61P9lmWVyjuE5Jx+x3I=", "owner": "neovim", "repo": "neovim", - "rev": "4863ca6b8902c5b0aab95f2af640118cd417d379", + "rev": "bad218cd6413dd60a1ed9907f882fbf2e92515f1", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1679818366, - "narHash": "sha256-gC7brlVIj4s/D0tcSRQewotMiUVdLNljnbX0joHkeGg=", + "lastModified": 1679904906, + "narHash": "sha256-Abo/BniEqIFmnRp1yyPt9f50MB0DDWyc32cf72+0T34=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "87e3bc8de8922f5aa32ab6480bd8b1ab09a50625", + "rev": "6475f6c09537dafd939448f0a0093ce968177a5d", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1679817275, - "narHash": "sha256-Ce5ZdhMTSg7a4c0c91Zli3JNhPME+6X9oHkNetrqBAA=", + "lastModified": 1679932729, + "narHash": "sha256-FozsRKMU85CrbjkM20eR87v2qLsUykjl7MSzzz+uOnI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f19edc15a3ff269903ec2b33e003a1721356a8be", + "rev": "36561ffb4985e7f721e05e8971f65f2167241eb2", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1679797994, - "narHash": "sha256-Kr/O/UlfqAtoFmkZeAaphsxogeaN8a/IugBApFzPfpk=", + "lastModified": 1679865578, + "narHash": "sha256-sYQmxxqIYL3QFsRYjW0AufhGur8qWfwoOGPGHRJZlGc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5f9d1bb572e08ec432ae46c78581919d837a90f6", + "rev": "4361baa782dc3d3b35fd455a1adc370681d9187c", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1679900348, - "narHash": "sha256-WqWlr9n1qOO3XggFvJy9l1yNQ6Yfk3Oenah5++4Pn18=", + "lastModified": 1679985779, + "narHash": "sha256-0Rj8GurCuUN0QJvwMiAC49xBkJkQKvJAAU8h+xPIXr4=", "owner": "nix-community", "repo": "NUR", - "rev": "c4cfddf79e5d427bd52430e75b708058d89ee663", + "rev": "63f4e3fdccac4bb905bb0ea8c71ecb0db528c807", "type": "github" }, "original": { From dc1f850f526f0c318dc06125f97fadb8a8a30a92 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Mar 2023 09:58:11 +0200 Subject: [PATCH 1152/2080] nvim: include nvim-spider and legendary.nvim. --- lazyvim/nvim/lua/plugins/misc.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/misc.lua b/lazyvim/nvim/lua/plugins/misc.lua index 21a8af13..95f81f4e 100644 --- a/lazyvim/nvim/lua/plugins/misc.lua +++ b/lazyvim/nvim/lua/plugins/misc.lua @@ -2,6 +2,12 @@ return { "folke/twilight.nvim", + -- Use the w, e, b motions like a spider. Considers camelCase and skips insignificant punctuation. + { "chrisgrieser/nvim-spider", lazy = true }, + + -- A legend for your keymaps, commands, and autocmds, with which-key.nvim integration + { "mrjones2014/legendary.nvim" }, + -- Open links without netrw using gx mapping { "chrishrb/gx.nvim", From 0ab9e264ffa0f07fc33f8d3de814f20fec008da3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Mar 2023 09:58:52 +0200 Subject: [PATCH 1153/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 50 +++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 2cf15933..9f15d038 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { - "LazyVim": { "branch": "main", "commit": "c4572fcec877053df89e7aba3bcd52a0ca5c7df7" }, + "LazyVim": { "branch": "main", "commit": "f67f20184f0fe852881d925d387ce138754fa147" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "ac100fa691b10dd990ca0cdc31ebd054a5959b58" }, + "SchemaStore.nvim": { "branch": "main", "commit": "15022828c25a97a05b510b131a37d5b1330ee073" }, "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, "bufferline.nvim": { "branch": "main", "commit": "b337fd393cef2e3679689d220e2628722c20ddcb" }, "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, @@ -15,19 +15,20 @@ "diffview.nvim": { "branch": "main", "commit": "58035354fc79c6ec42fa7b218dab90bd3968615f" }, "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, - "flit.nvim": { "branch": "main", "commit": "4c1739137acd3e7f03e2065a7be8a4dc41c7e461" }, - "friendly-snippets": { "branch": "main", "commit": "25ddcd96540a2ce41d714bd7fea2e7f75fea8ead" }, + "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, + "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, - "gx.nvim": { "branch": "main", "commit": "f84bafbbce2b8d6f5011482b2421e193ee303df7" }, + "gx.nvim": { "branch": "main", "commit": "3d40e16b721c8f96b746e7ceae78071b474712dd" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "be77c59bf742379b6c5ad1e70d29c5fc1ee55944" }, + "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, + "legendary.nvim": { "branch": "master", "commit": "bb38b3d945df9313a20600f8547335a7688bb747" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "2b811031febe5f743e07305738181ff367e1e452" }, - "mason.nvim": { "branch": "main", "commit": "210865d77cce5546876aec63dee1c36526491513" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "b64fdede85fd5e0b720ce722919e0a9b95ed6547" }, + "mason.nvim": { "branch": "main", "commit": "8829f9539f501ac99d6a556309a672478ca78e98" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -38,28 +39,29 @@ "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "20c2f2f5ba083bbb1e37b8bc3d590621434f31e9" }, - "neoconf.nvim": { "branch": "main", "commit": "f28a0c750a40ceec22eb97dd8111ef2203ff7cc1" }, - "neodev.nvim": { "branch": "main", "commit": "78fb6373437eb400f1629b17d4a529669fa2a062" }, - "neogen": { "branch": "main", "commit": "349121d8694b991376a9cff6958918aaba89f66c" }, + "neoconf.nvim": { "branch": "main", "commit": "55923798eb46c2d38bf111dc2bc285c13e286765" }, + "neodev.nvim": { "branch": "main", "commit": "da1562e1e3df0e994ddc52cb4ba22376a5d7f2fc" }, + "neogen": { "branch": "main", "commit": "353c5ef8e51c14445cc85666d4d09e4cf98598b2" }, "neogit": { "branch": "master", "commit": "039ff3212ec43cc4d3332956dfb54e263c8d5033" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "f8b1a72a7bce56d9e9ed054708dc855d57dec085" }, + "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, "null-ls.nvim": { "branch": "main", "commit": "0180603b6f3cee40f83c6fc226b9ac5f85e691c4" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "c6105c449683b944b5d2138fcf82f18c657249e9" }, - "nvim-navic": { "branch": "master", "commit": "ca34afcd15c7f6dd0836fc4fca2e37024bfa5019" }, + "nvim-lspconfig": { "branch": "master", "commit": "c5505c70571b094663745167d40388edd40f6450" }, + "nvim-navic": { "branch": "master", "commit": "35731604fb5adab5fe939975879d22994aa8b575" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, - "nvim-spectre": { "branch": "master", "commit": "2d7d23c1122bb2589880236e932d373933b07937" }, + "nvim-spectre": { "branch": "master", "commit": "8fd64743b6390ab151a607fa91d0d74087a80ba6" }, + "nvim-spider": { "branch": "main", "commit": "bad0b16588541f3616930bcabdc169c7ced9b372" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "87cf2abeb6077ac19a1249d0b06f223aa398a0a0" }, - "nvim-treesitter-context": { "branch": "master", "commit": "88d1627285f7477883516ef60521601862dae7a1" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "582cbb5a4cb50f6161cac8cc01f55aeaff6d836a" }, + "nvim-treesitter": { "branch": "master", "commit": "5a7a2ad172bcc40c53aa274dff05aacb5074b509" }, + "nvim-treesitter-context": { "branch": "master", "commit": "fc7db280562455590c4592499542d6d5061dbe4b" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "95b1e300699be8eb6b5be1758a9d4d69fe93cc7f" }, + "nvim-web-devicons": { "branch": "master", "commit": "9c5f71eec6004d43f8e14330a6edb6dbddfe0a68" }, "oxocarbon.nvim": { "branch": "main", "commit": "fc236ef07361a1596081f242940f97af3ba26db1" }, "peek.nvim": { "branch": "master", "commit": "571f14c795e8edd5a21e435f42f37c9bec4a8e16" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, @@ -67,15 +69,15 @@ "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "refactoring.nvim": { "branch": "master", "commit": "57c32c6b7a211e5a3a5e4ddc4ad2033daff5cf9a" }, - "ssr.nvim": { "branch": "main", "commit": "97a9e1e319eec2d7e9731be4c6ac9638a1a2d79d" }, + "ssr.nvim": { "branch": "main", "commit": "a30674d07b220304ed81f1f46a8f1de36ce74c38" }, "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, - "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, + "todo-comments.nvim": { "branch": "main", "commit": "0874bda6848ff6f3da3ffdf4bd8297a5c951c5d4" }, "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, - "treesj": { "branch": "main", "commit": "90248883bdb2d559ff4ba7f0148eb0145d3f0908" }, - "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, + "treesj": { "branch": "main", "commit": "29aac56d24bf9870f2ea337817c5542b56e21f16" }, + "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, @@ -83,7 +85,7 @@ "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, - "which-key.nvim": { "branch": "main", "commit": "2a0c2d80c0a60f041afb1b789cfedbd510e2b2b6" }, + "which-key.nvim": { "branch": "main", "commit": "4b73390eec680b4c061ea175eb32c0ff3412271d" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "d907e638c879642d226d27469b53db6925f69d4c" } } \ No newline at end of file From c0cf39034f58035391934e4aeb0fe1c0626ac9bf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Mar 2023 09:59:09 +0200 Subject: [PATCH 1154/2080] lazyvim: add usual sources to mail type. --- lazyvim/nvim/lua/plugins/coding.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 141cf6ed..6e075047 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -279,7 +279,8 @@ return { -- only load lbdb completion for emails cmp.setup.filetype("mail", { - sources = cmp.config.sources({ { name = "lbdb" } }), + ---@diagnostic disable-next-line: missing-parameter + sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "lbdb" } })), }) -- Custom snippets From 49b7edea83983d55e6b2c3911e6ff4690f0f925f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Mar 2023 10:46:22 +0200 Subject: [PATCH 1155/2080] Drop legendary.nvim, we can use :Telescope keymaps --- lazyvim/nvim/lua/plugins/misc.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/misc.lua b/lazyvim/nvim/lua/plugins/misc.lua index 95f81f4e..7cd232b7 100644 --- a/lazyvim/nvim/lua/plugins/misc.lua +++ b/lazyvim/nvim/lua/plugins/misc.lua @@ -5,9 +5,6 @@ return { -- Use the w, e, b motions like a spider. Considers camelCase and skips insignificant punctuation. { "chrisgrieser/nvim-spider", lazy = true }, - -- A legend for your keymaps, commands, and autocmds, with which-key.nvim integration - { "mrjones2014/legendary.nvim" }, - -- Open links without netrw using gx mapping { "chrishrb/gx.nvim", From 3158b1882c926796ac3a0d94ec2cf85e938c14fe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 Mar 2023 14:28:34 +0200 Subject: [PATCH 1156/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 9f15d038..4f77b359 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -24,11 +24,10 @@ "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, - "legendary.nvim": { "branch": "master", "commit": "bb38b3d945df9313a20600f8547335a7688bb747" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "b64fdede85fd5e0b720ce722919e0a9b95ed6547" }, - "mason.nvim": { "branch": "main", "commit": "8829f9539f501ac99d6a556309a672478ca78e98" }, + "mason.nvim": { "branch": "main", "commit": "86979dabf91bae92bddc3850eff06f5e7488b029" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, @@ -61,7 +60,7 @@ "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "9c5f71eec6004d43f8e14330a6edb6dbddfe0a68" }, + "nvim-web-devicons": { "branch": "master", "commit": "267af2d57e0f251d65b95bdfd1f382211b272417" }, "oxocarbon.nvim": { "branch": "main", "commit": "fc236ef07361a1596081f242940f97af3ba26db1" }, "peek.nvim": { "branch": "master", "commit": "571f14c795e8edd5a21e435f42f37c9bec4a8e16" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, From 8c549aaf57810c99d0c7fd36272b2620ecc58bb3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 29 Mar 2023 08:59:46 +0200 Subject: [PATCH 1157/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/da26ae9f6ce2c9ab380c0f394488892616fc5a6a' (2023-03-25) → 'github:NixOS/nixpkgs/5b7cd5c39befee629be284970415b6eb3b0ff000' (2023-03-28) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/36561ffb4985e7f721e05e8971f65f2167241eb2' (2023-03-27) → 'github:nixos/nixpkgs/1e87cf2595f8acb3519990c7be693fd1d8d49b19' (2023-03-28) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/4361baa782dc3d3b35fd455a1adc370681d9187c' (2023-03-26) → 'github:nixos/nixpkgs/4bb072f0a8b267613c127684e099a70e1f6ff106' (2023-03-27) • Updated input 'nur': 'github:nix-community/NUR/63f4e3fdccac4bb905bb0ea8c71ecb0db528c807' (2023-03-28) → 'github:nix-community/NUR/e8e0725f2a3764772842f8af894b712eeef175cc' (2023-03-29) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 61dc5a9e..2db745fe 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1679932729, - "narHash": "sha256-FozsRKMU85CrbjkM20eR87v2qLsUykjl7MSzzz+uOnI=", + "lastModified": 1679996993, + "narHash": "sha256-z5emJi9SZsH7hXQ97OuuvvCau7QuNFt8BpwbjNQdA5w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "36561ffb4985e7f721e05e8971f65f2167241eb2", + "rev": "1e87cf2595f8acb3519990c7be693fd1d8d49b19", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1679865578, - "narHash": "sha256-sYQmxxqIYL3QFsRYjW0AufhGur8qWfwoOGPGHRJZlGc=", + "lastModified": 1679944645, + "narHash": "sha256-e5Qyoe11UZjVfgRfwNoSU57ZeKuEmjYb77B9IVW7L/M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4361baa782dc3d3b35fd455a1adc370681d9187c", + "rev": "4bb072f0a8b267613c127684e099a70e1f6ff106", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679748960, - "narHash": "sha256-BP8XcYHyj1NxQi04RpyNW8e7KiXSoI+Fy1tXIK2GfdA=", + "lastModified": 1679966490, + "narHash": "sha256-k0jV+y1jawE6w4ZvKgXDNg4+O9NNtcaWwzw8gufv0b4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "da26ae9f6ce2c9ab380c0f394488892616fc5a6a", + "rev": "5b7cd5c39befee629be284970415b6eb3b0ff000", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1679985779, - "narHash": "sha256-0Rj8GurCuUN0QJvwMiAC49xBkJkQKvJAAU8h+xPIXr4=", + "lastModified": 1680061340, + "narHash": "sha256-2zpJMdYXo1vJJogwvmH3s4ZgLIkur8nxwmC6vm4haTI=", "owner": "nix-community", "repo": "NUR", - "rev": "63f4e3fdccac4bb905bb0ea8c71ecb0db528c807", + "rev": "e8e0725f2a3764772842f8af894b712eeef175cc", "type": "github" }, "original": { From aa1bd98961f3c29e3738322310fb2f9882f4fc1a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 30 Mar 2023 09:09:27 +0200 Subject: [PATCH 1158/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/6475f6c09537dafd939448f0a0093ce968177a5d' (2023-03-27) → 'github:nix-community/neovim-nightly-overlay/6cf1e98e9ec0b48f6f20035fbcae63ef1d6ae18e' (2023-03-29) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/bad218cd6413dd60a1ed9907f882fbf2e92515f1?dir=contrib' (2023-03-27) → 'github:neovim/neovim/b7748662ed5b06c12a74560690b728fdf770666f?dir=contrib' (2023-03-29) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/0cd51a933d91078775b300cf0f29aa3495231aa2' (2023-03-26) → 'github:nixos/nixpkgs/402cc3633cc60dfc50378197305c984518b30773' (2023-03-28) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/1e87cf2595f8acb3519990c7be693fd1d8d49b19' (2023-03-28) → 'github:nixos/nixpkgs/b7984be672e04f90e4aa5da426d96925b11cc9b7' (2023-03-29) • Updated input 'nur': 'github:nix-community/NUR/e8e0725f2a3764772842f8af894b712eeef175cc' (2023-03-29) → 'github:nix-community/NUR/eb051c3ef26639b40c80127cf4c5c98fdab68505' (2023-03-30) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 2db745fe..a716c3ef 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1679881024, - "narHash": "sha256-vqmQGGmHXFmPueXzBPHwUoKQ61P9lmWVyjuE5Jx+x3I=", + "lastModified": 1680076741, + "narHash": "sha256-Xc4IY54hYDnHotzYGoqvdQWwi19jy6gpt0hNiw4X8r0=", "owner": "neovim", "repo": "neovim", - "rev": "bad218cd6413dd60a1ed9907f882fbf2e92515f1", + "rev": "b7748662ed5b06c12a74560690b728fdf770666f", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1679904906, - "narHash": "sha256-Abo/BniEqIFmnRp1yyPt9f50MB0DDWyc32cf72+0T34=", + "lastModified": 1680077682, + "narHash": "sha256-d8NDUvTAR5ff+RbL5hS8P2xBcTjeTyEDe6o7GiPwVPI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "6475f6c09537dafd939448f0a0093ce968177a5d", + "rev": "6cf1e98e9ec0b48f6f20035fbcae63ef1d6ae18e", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1679793451, - "narHash": "sha256-JafTtgMDATE8dZOImBhWMA9RCn9AP8FVOpN+9K/tTlg=", + "lastModified": 1680030621, + "narHash": "sha256-qQa1NeS5Rvk2lgK5lSk986PC6I72yIHejzM8PFu+dHs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0cd51a933d91078775b300cf0f29aa3495231aa2", + "rev": "402cc3633cc60dfc50378197305c984518b30773", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1679996993, - "narHash": "sha256-z5emJi9SZsH7hXQ97OuuvvCau7QuNFt8BpwbjNQdA5w=", + "lastModified": 1680081466, + "narHash": "sha256-RUmzEmNJTgEkuVdFqz0JNb+pkvrpvUODDBJ3/HBU0cA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1e87cf2595f8acb3519990c7be693fd1d8d49b19", + "rev": "b7984be672e04f90e4aa5da426d96925b11cc9b7", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1680061340, - "narHash": "sha256-2zpJMdYXo1vJJogwvmH3s4ZgLIkur8nxwmC6vm4haTI=", + "lastModified": 1680158915, + "narHash": "sha256-LZjEepk+PgX7qjZcihG535iDY60C0p6f5iSbTJNVRV8=", "owner": "nix-community", "repo": "NUR", - "rev": "e8e0725f2a3764772842f8af894b712eeef175cc", + "rev": "eb051c3ef26639b40c80127cf4c5c98fdab68505", "type": "github" }, "original": { From fc71824a369da029a290358e34eb6c177c43fc66 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 31 Mar 2023 11:01:45 +0200 Subject: [PATCH 1159/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/6cf1e98e9ec0b48f6f20035fbcae63ef1d6ae18e' (2023-03-29) → 'github:nix-community/neovim-nightly-overlay/ce585a36d3d80e4c4e82d62d86679fdb376e813c' (2023-03-31) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/b7748662ed5b06c12a74560690b728fdf770666f?dir=contrib' (2023-03-29) → 'github:neovim/neovim/5bf2f4b3c29fdab72044ddce74f06cb45fe9401c?dir=contrib' (2023-03-30) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/402cc3633cc60dfc50378197305c984518b30773' (2023-03-28) → 'github:nixos/nixpkgs/b7fc729117a70d0df9e9adfc624662148e32ca0a' (2023-03-30) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5b7cd5c39befee629be284970415b6eb3b0ff000' (2023-03-28) → 'github:NixOS/nixpkgs/a575c243c23e2851b78c00e9fa245232926ec32f' (2023-03-29) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/b7984be672e04f90e4aa5da426d96925b11cc9b7' (2023-03-29) → 'github:nixos/nixpkgs/ffcb1ea6c63555a76323586de02a2887f7d7f36b' (2023-03-30) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/4bb072f0a8b267613c127684e099a70e1f6ff106' (2023-03-27) → 'github:nixos/nixpkgs/9a6aabc4740790ef3bbb246b86d029ccf6759658' (2023-03-29) • Updated input 'nur': 'github:nix-community/NUR/eb051c3ef26639b40c80127cf4c5c98fdab68505' (2023-03-30) → 'github:nix-community/NUR/d8ab2dd4c719df937f6f86b5ddfbee00ed993c9b' (2023-03-31) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index a716c3ef..ea9c7984 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1680076741, - "narHash": "sha256-Xc4IY54hYDnHotzYGoqvdQWwi19jy6gpt0hNiw4X8r0=", + "lastModified": 1680193490, + "narHash": "sha256-Y3XAV9bEOLJgs+u9mwQowLASFoVJjpobC7CXCe05Mzk=", "owner": "neovim", "repo": "neovim", - "rev": "b7748662ed5b06c12a74560690b728fdf770666f", + "rev": "5bf2f4b3c29fdab72044ddce74f06cb45fe9401c", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1680077682, - "narHash": "sha256-d8NDUvTAR5ff+RbL5hS8P2xBcTjeTyEDe6o7GiPwVPI=", + "lastModified": 1680250442, + "narHash": "sha256-AbKUaQrXvVEdLuxTPwJff80ni2iZFK8Ixt+hd2wS1aI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "6cf1e98e9ec0b48f6f20035fbcae63ef1d6ae18e", + "rev": "ce585a36d3d80e4c4e82d62d86679fdb376e813c", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1680030621, - "narHash": "sha256-qQa1NeS5Rvk2lgK5lSk986PC6I72yIHejzM8PFu+dHs=", + "lastModified": 1680182246, + "narHash": "sha256-2WEHGApYCVt7bCm/0Ws8qYnp5Jn0mRgZ91tkoN+HrcY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "402cc3633cc60dfc50378197305c984518b30773", + "rev": "b7fc729117a70d0df9e9adfc624662148e32ca0a", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1680081466, - "narHash": "sha256-RUmzEmNJTgEkuVdFqz0JNb+pkvrpvUODDBJ3/HBU0cA=", + "lastModified": 1680198553, + "narHash": "sha256-pxXzVKWwpga5sseJOOwuKVqVucTbdxB68wMuA1rcSas=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b7984be672e04f90e4aa5da426d96925b11cc9b7", + "rev": "ffcb1ea6c63555a76323586de02a2887f7d7f36b", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1679944645, - "narHash": "sha256-e5Qyoe11UZjVfgRfwNoSU57ZeKuEmjYb77B9IVW7L/M=", + "lastModified": 1680125544, + "narHash": "sha256-mlqo1r+TZUOuypWdrZHluxWL+E5WzXlUXNZ9Y0WLDFU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4bb072f0a8b267613c127684e099a70e1f6ff106", + "rev": "9a6aabc4740790ef3bbb246b86d029ccf6759658", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679966490, - "narHash": "sha256-k0jV+y1jawE6w4ZvKgXDNg4+O9NNtcaWwzw8gufv0b4=", + "lastModified": 1680122840, + "narHash": "sha256-zCQ/9iFHzCW5JMYkkHMwgK1/1/kTMgCMHq4THPINpAU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5b7cd5c39befee629be284970415b6eb3b0ff000", + "rev": "a575c243c23e2851b78c00e9fa245232926ec32f", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1680158915, - "narHash": "sha256-LZjEepk+PgX7qjZcihG535iDY60C0p6f5iSbTJNVRV8=", + "lastModified": 1680245128, + "narHash": "sha256-nJAYvN5XwwGKsjbxm/ZArhvRQGDqnm0QE+Tgh17vbqU=", "owner": "nix-community", "repo": "NUR", - "rev": "eb051c3ef26639b40c80127cf4c5c98fdab68505", + "rev": "d8ab2dd4c719df937f6f86b5ddfbee00ed993c9b", "type": "github" }, "original": { From da5094d15096cd0f69c6ebb845d70006c59e4384 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 31 Mar 2023 17:13:46 +0200 Subject: [PATCH 1160/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/87b9d090ad39b25b2400029c64825fc2a8868943' (2023-01-09) → 'github:lnl7/nix-darwin/99d4187d11be86b49baa3a1aec0530004072374f' (2023-03-31) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/ffcb1ea6c63555a76323586de02a2887f7d7f36b' (2023-03-30) → 'github:nixos/nixpkgs/9ecf8f5fbf551d12f82eb2e116a891697d12a16d' (2023-03-31) • Updated input 'nur': 'github:nix-community/NUR/d8ab2dd4c719df937f6f86b5ddfbee00ed993c9b' (2023-03-31) → 'github:nix-community/NUR/eb98f623e3922ab7b8861623b5202604bc3d33bf' (2023-03-31) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index ea9c7984..6a8d0dfc 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1673295039, - "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "lastModified": 1680266963, + "narHash": "sha256-IW/lzbUCOcldLHWHjNSg1YoViDnZOmz0ZJL7EH9OkV8=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "rev": "99d4187d11be86b49baa3a1aec0530004072374f", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1680198553, - "narHash": "sha256-pxXzVKWwpga5sseJOOwuKVqVucTbdxB68wMuA1rcSas=", + "lastModified": 1680263473, + "narHash": "sha256-qaxeUdI1dR5D2LYOxsRHZG0Zn7wLJ5lMDTCln2KHzLA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ffcb1ea6c63555a76323586de02a2887f7d7f36b", + "rev": "9ecf8f5fbf551d12f82eb2e116a891697d12a16d", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1680245128, - "narHash": "sha256-nJAYvN5XwwGKsjbxm/ZArhvRQGDqnm0QE+Tgh17vbqU=", + "lastModified": 1680273924, + "narHash": "sha256-cNqO4tHNaaZ4rjb+FMmIpqzutFBYwlpcTfgDYcB9+/4=", "owner": "nix-community", "repo": "NUR", - "rev": "d8ab2dd4c719df937f6f86b5ddfbee00ed993c9b", + "rev": "eb98f623e3922ab7b8861623b5202604bc3d33bf", "type": "github" }, "original": { From f847defa7c998ef64b8ec7070a6e0f06248e3adc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 3 Apr 2023 08:56:21 +0200 Subject: [PATCH 1161/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/ce585a36d3d80e4c4e82d62d86679fdb376e813c' (2023-03-31) → 'github:nix-community/neovim-nightly-overlay/c60e74e86fc8c28606bf86d63c080fa8796460fa' (2023-04-02) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/5bf2f4b3c29fdab72044ddce74f06cb45fe9401c?dir=contrib' (2023-03-30) → 'github:neovim/neovim/d510bfbc8e447b1a60d5ec7faaa8f440eb4ef56f?dir=contrib' (2023-04-02) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/b7fc729117a70d0df9e9adfc624662148e32ca0a' (2023-03-30) → 'github:nixos/nixpkgs/3364b5b117f65fe1ce65a3cdd5612a078a3b31e3' (2023-03-31) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a575c243c23e2851b78c00e9fa245232926ec32f' (2023-03-29) → 'github:NixOS/nixpkgs/884e3b68be02ff9d61a042bc9bd9dd2a358f95da' (2023-04-01) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/9ecf8f5fbf551d12f82eb2e116a891697d12a16d' (2023-03-31) → 'github:nixos/nixpkgs/a626548a81417e960fd6e372db3c16e61d878334' (2023-04-03) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/9a6aabc4740790ef3bbb246b86d029ccf6759658' (2023-03-29) → 'github:nixos/nixpkgs/e3652e0735fbec227f342712f180f4f21f0594f2' (2023-03-30) • Updated input 'nur': 'github:nix-community/NUR/eb98f623e3922ab7b8861623b5202604bc3d33bf' (2023-03-31) → 'github:nix-community/NUR/326044a900d2b8a4a818cb1ed7c1526b0c578d4e' (2023-04-03) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 6a8d0dfc..23a1955e 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1680193490, - "narHash": "sha256-Y3XAV9bEOLJgs+u9mwQowLASFoVJjpobC7CXCe05Mzk=", + "lastModified": 1680423102, + "narHash": "sha256-REkF7d/1p0Emp70/UQLiU7JV8XCDWt3xlxPFKcViRi8=", "owner": "neovim", "repo": "neovim", - "rev": "5bf2f4b3c29fdab72044ddce74f06cb45fe9401c", + "rev": "d510bfbc8e447b1a60d5ec7faaa8f440eb4ef56f", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1680250442, - "narHash": "sha256-AbKUaQrXvVEdLuxTPwJff80ni2iZFK8Ixt+hd2wS1aI=", + "lastModified": 1680423147, + "narHash": "sha256-cfhsn9z3sqRRVBZgeaDoIAR3Q7YgK76Xd+yrFvinik0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ce585a36d3d80e4c4e82d62d86679fdb376e813c", + "rev": "c60e74e86fc8c28606bf86d63c080fa8796460fa", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1680182246, - "narHash": "sha256-2WEHGApYCVt7bCm/0Ws8qYnp5Jn0mRgZ91tkoN+HrcY=", + "lastModified": 1680273054, + "narHash": "sha256-Bs6/5LpvYp379qVqGt9mXxxx9GSE789k3oFc+OAL07M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b7fc729117a70d0df9e9adfc624662148e32ca0a", + "rev": "3364b5b117f65fe1ce65a3cdd5612a078a3b31e3", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1680263473, - "narHash": "sha256-qaxeUdI1dR5D2LYOxsRHZG0Zn7wLJ5lMDTCln2KHzLA=", + "lastModified": 1680486300, + "narHash": "sha256-yHn28lLvvrroKlNwhtmMl8bD6J8arFkcfpULuRlDhRk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9ecf8f5fbf551d12f82eb2e116a891697d12a16d", + "rev": "a626548a81417e960fd6e372db3c16e61d878334", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1680125544, - "narHash": "sha256-mlqo1r+TZUOuypWdrZHluxWL+E5WzXlUXNZ9Y0WLDFU=", + "lastModified": 1680213900, + "narHash": "sha256-cIDr5WZIj3EkKyCgj/6j3HBH4Jj1W296z7HTcWj1aMA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9a6aabc4740790ef3bbb246b86d029ccf6759658", + "rev": "e3652e0735fbec227f342712f180f4f21f0594f2", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1680122840, - "narHash": "sha256-zCQ/9iFHzCW5JMYkkHMwgK1/1/kTMgCMHq4THPINpAU=", + "lastModified": 1680334310, + "narHash": "sha256-ISWz16oGxBhF7wqAxefMPwFag6SlsA9up8muV79V9ck=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a575c243c23e2851b78c00e9fa245232926ec32f", + "rev": "884e3b68be02ff9d61a042bc9bd9dd2a358f95da", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1680273924, - "narHash": "sha256-cNqO4tHNaaZ4rjb+FMmIpqzutFBYwlpcTfgDYcB9+/4=", + "lastModified": 1680503793, + "narHash": "sha256-FOesRwTph953YBYybkxSQ5u1abFBPbyGfsJxJnUyi4w=", "owner": "nix-community", "repo": "NUR", - "rev": "eb98f623e3922ab7b8861623b5202604bc3d33bf", + "rev": "326044a900d2b8a4a818cb1ed7c1526b0c578d4e", "type": "github" }, "original": { From effa5975b1b66b5f102adceb5d964d122a43e5f8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 3 Apr 2023 09:02:31 +0200 Subject: [PATCH 1162/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 60 ++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 4f77b359..e29fc30a 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { - "LazyVim": { "branch": "main", "commit": "f67f20184f0fe852881d925d387ce138754fa147" }, + "LazyVim": { "branch": "main", "commit": "7ce1b1519a45f48aa4b5f35b7b7a886b42fe56d8" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "15022828c25a97a05b510b131a37d5b1330ee073" }, + "SchemaStore.nvim": { "branch": "main", "commit": "dde293000b626cca90804e7b82731173f195b3ee" }, "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, - "bufferline.nvim": { "branch": "main", "commit": "b337fd393cef2e3679689d220e2628722c20ddcb" }, - "catppuccin": { "branch": "main", "commit": "e406cf07a1573c77ab83e142cc0d8c9d798d5c81" }, + "bufferline.nvim": { "branch": "main", "commit": "eb4e95be22c55890b90fc01a8223e0c0ea4a0862" }, + "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, @@ -12,57 +12,57 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "diffview.nvim": { "branch": "main", "commit": "58035354fc79c6ec42fa7b218dab90bd3968615f" }, - "dracula.nvim": { "branch": "main", "commit": "798274ba3c454a9aa3cd71f95a86ea55cbbbb142" }, + "diffview.nvim": { "branch": "main", "commit": "4a55b5e2d2c3d6bd89cd3299a9ca276d49d25463" }, + "dracula.nvim": { "branch": "main", "commit": "8653e7699810b63bda8ef267055cb4d4237670ef" }, "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, - "gx.nvim": { "branch": "main", "commit": "3d40e16b721c8f96b746e7ceae78071b474712dd" }, + "gx.nvim": { "branch": "main", "commit": "57ae5fb894f435fe064602e631f6a145f8c61d08" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, - "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, + "lualine.nvim": { "branch": "master", "commit": "9170434aa100f3967b43d5d34bb9adc56fae1986" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "b64fdede85fd5e0b720ce722919e0a9b95ed6547" }, - "mason.nvim": { "branch": "main", "commit": "86979dabf91bae92bddc3850eff06f5e7488b029" }, + "mason.nvim": { "branch": "main", "commit": "46abd3ff86c74294fed9a530ec872ec7a4680bef" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "efeab91f9373d6d3c73314fda9e3366020d05157" }, - "mini.animate": { "branch": "main", "commit": "b0c717ed5513b5f23e7c48615449c7dc9fabd05b" }, - "mini.bracketed": { "branch": "main", "commit": "94a8aa0c3a38d9187108c62a8f0ff1ed4d99ccc4" }, - "mini.bufremove": { "branch": "main", "commit": "351d18d596f7eac4589b67b4b87ed1708c545dd3" }, - "mini.comment": { "branch": "main", "commit": "9fc3fe43129e8c2611bd21b8f50af8c0d0742533" }, + "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, + "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, + "mini.bracketed": { "branch": "main", "commit": "b27cd5bb4f2a1a3da3f3e4953e060777d3427ead" }, + "mini.bufremove": { "branch": "main", "commit": "93c7230e83f5acb8890cdb2abaf3557f09305b01" }, + "mini.comment": { "branch": "main", "commit": "9ead47cef4266efa5145808b838762c658b74f74" }, "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" }, - "mini.pairs": { "branch": "main", "commit": "4ebc1ff8d77fe75e8f219432302800ca29e17614" }, - "mini.surround": { "branch": "main", "commit": "6a4f31e2a380439315729f561d7e7898bde1fd52" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "20c2f2f5ba083bbb1e37b8bc3d590621434f31e9" }, + "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, + "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "2b2f74828eeb02cf29d6b21aa32eedadadc94ca7" }, "neoconf.nvim": { "branch": "main", "commit": "55923798eb46c2d38bf111dc2bc285c13e286765" }, "neodev.nvim": { "branch": "main", "commit": "da1562e1e3df0e994ddc52cb4ba22376a5d7f2fc" }, "neogen": { "branch": "main", "commit": "353c5ef8e51c14445cc85666d4d09e4cf98598b2" }, "neogit": { "branch": "master", "commit": "039ff3212ec43cc4d3332956dfb54e263c8d5033" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, - "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "0180603b6f3cee40f83c6fc226b9ac5f85e691c4" }, + "nui.nvim": { "branch": "main", "commit": "1f43b13d133eb4b4f53a4485379d9afa58808389" }, + "null-ls.nvim": { "branch": "main", "commit": "defa0518762abb32279d601443344fb9773f9330" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "c5505c70571b094663745167d40388edd40f6450" }, - "nvim-navic": { "branch": "master", "commit": "35731604fb5adab5fe939975879d22994aa8b575" }, + "nvim-lspconfig": { "branch": "master", "commit": "0bc0c38e1b11dfb6b5f1794d53869f89ccf9e78f" }, + "nvim-navic": { "branch": "master", "commit": "27124a773d362628b114cd12016e743dab4ccf3e" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, - "nvim-spectre": { "branch": "master", "commit": "8fd64743b6390ab151a607fa91d0d74087a80ba6" }, - "nvim-spider": { "branch": "main", "commit": "bad0b16588541f3616930bcabdc169c7ced9b372" }, + "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, + "nvim-spider": { "branch": "main", "commit": "3d7a74b56e27fd2d7bd20b35bf1941a96d03db54" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "5a7a2ad172bcc40c53aa274dff05aacb5074b509" }, - "nvim-treesitter-context": { "branch": "master", "commit": "fc7db280562455590c4592499542d6d5061dbe4b" }, + "nvim-treesitter": { "branch": "master", "commit": "cbfa7cae1b38e1b843b2275d633ddbb05a105906" }, + "nvim-treesitter-context": { "branch": "master", "commit": "959265a5d438462dc5d3dde215b915109c3d6fcb" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "267af2d57e0f251d65b95bdfd1f382211b272417" }, - "oxocarbon.nvim": { "branch": "main", "commit": "fc236ef07361a1596081f242940f97af3ba26db1" }, - "peek.nvim": { "branch": "master", "commit": "571f14c795e8edd5a21e435f42f37c9bec4a8e16" }, + "nvim-web-devicons": { "branch": "master", "commit": "0568104bf8d0c3ab16395433fcc5c1638efc25d4" }, + "oxocarbon.nvim": { "branch": "main", "commit": "be12ad8a9607a195d0fc081af0bf3cd38b095d12" }, + "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, @@ -73,9 +73,9 @@ "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, - "todo-comments.nvim": { "branch": "main", "commit": "0874bda6848ff6f3da3ffdf4bd8297a5c951c5d4" }, + "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, - "treesj": { "branch": "main", "commit": "29aac56d24bf9870f2ea337817c5542b56e21f16" }, + "treesj": { "branch": "main", "commit": "12ad6e892ca7de7d86bdc8c19319c81b1156c9b1" }, "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, From d3d583e123b988a126d17d39d41d57b7c6961aa4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 3 Apr 2023 09:03:03 +0200 Subject: [PATCH 1163/2080] nix darwin: add some more brews. --- machines/Baptistes-MBP/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 46d096a6..6b93a545 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -32,9 +32,14 @@ "checkmake" ]; casks = [ - "rectangle" + # app launcher, file searcher + "alfred" + # Clipboard manager + "maccy" "mumble" # "podman-desktop" + "rectangle" + "stretchly" ]; }; } From 472a8ec693c7a99543759289eb526cd9726f01dd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 3 Apr 2023 09:04:49 +0200 Subject: [PATCH 1164/2080] nvim coding: load cmp-lbdb as a dependency. --- lazyvim/nvim/lua/plugins/coding.lua | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 6e075047..3f04b2e0 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -246,19 +246,18 @@ return { config = true, }, - -- Use forked version due to https://github.com/codybuell/cmp-lbdb/pull/3/ - -- { "codybuell/cmp-lbdb", lazy = true, ft = "mail" }, - { "gwarf/cmp-lbdb", branch = "fix_nil_meta_raw", lazy = true, ft = "mail" }, - + -- see ~/.local/share/nvim/lazy/LazyVim/lua/lazyvim/plugins/coding.lua { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji", + -- Use forked version due to https://github.com/codybuell/cmp-lbdb/pull/3/ + -- { "codybuell/cmp-lbdb", lazy = true, ft = "mail" }, + { "gwarf/cmp-lbdb", branch = "fix_nil_meta_raw", lazy = true, ft = "mail" }, }, opts = function(_, opts) local cmp = require("cmp") ---@diagnostic disable-next-line: missing-parameter - -- opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { -- FIXME: only add emoji and overwrite buffer configuration instead of replicating -- configuration opts.sources = cmp.config.sources({ @@ -275,7 +274,6 @@ return { }, }, }) - -- })) -- only load lbdb completion for emails cmp.setup.filetype("mail", { From 30296e6bab90ace16013a11fda1581132be0710b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 3 Apr 2023 09:12:02 +0200 Subject: [PATCH 1165/2080] lazyvim: use tab for completion --- lazyvim/nvim/lua/plugins/coding.lua | 42 +++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 3f04b2e0..56b62414 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -246,6 +246,14 @@ return { config = true, }, + -- Use <tab> for completion and snippets (supertab). + { + "L3MON4D3/LuaSnip", + keys = function() + return {} + end, + }, + -- see ~/.local/share/nvim/lazy/LazyVim/lua/lazyvim/plugins/coding.lua { "nvim-cmp", @@ -255,8 +263,42 @@ return { -- { "codybuell/cmp-lbdb", lazy = true, ft = "mail" }, { "gwarf/cmp-lbdb", branch = "fix_nil_meta_raw", lazy = true, ft = "mail" }, }, + ---@param opts cmp.ConfigSchema opts = function(_, opts) + local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + local luasnip = require("luasnip") local cmp = require("cmp") + + opts.mapping = vim.tbl_extend("force", opts.mapping, { + ["<Tab>"] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() + -- they way you will only jump inside the snippet region + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + ["<S-Tab>"] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }) + ---@diagnostic disable-next-line: missing-parameter -- FIXME: only add emoji and overwrite buffer configuration instead of replicating -- configuration From 09214ff016aaad1ba2c1164a75420f92943efc71 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 3 Apr 2023 18:09:47 +0200 Subject: [PATCH 1166/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e29fc30a..f0dfa836 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -11,6 +11,8 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "copilot-cmp": { "branch": "master", "commit": "308f3cf8d62a7dc2c711bd517b8cf3b0c970ef2b" }, + "copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "diffview.nvim": { "branch": "main", "commit": "4a55b5e2d2c3d6bd89cd3299a9ca276d49d25463" }, "dracula.nvim": { "branch": "main", "commit": "8653e7699810b63bda8ef267055cb4d4237670ef" }, @@ -25,9 +27,9 @@ "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, - "lualine.nvim": { "branch": "master", "commit": "9170434aa100f3967b43d5d34bb9adc56fae1986" }, + "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "b64fdede85fd5e0b720ce722919e0a9b95ed6547" }, - "mason.nvim": { "branch": "main", "commit": "46abd3ff86c74294fed9a530ec872ec7a4680bef" }, + "mason.nvim": { "branch": "main", "commit": "dbf34eecc1f06733a2c518ddd5fe6b1472e7d837" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -55,7 +57,7 @@ "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "3d7a74b56e27fd2d7bd20b35bf1941a96d03db54" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "cbfa7cae1b38e1b843b2275d633ddbb05a105906" }, + "nvim-treesitter": { "branch": "master", "commit": "0a20d1bb63ff0352b1254cc21ad99f4d04327ea6" }, "nvim-treesitter-context": { "branch": "master", "commit": "959265a5d438462dc5d3dde215b915109c3d6fcb" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, @@ -75,7 +77,7 @@ "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, - "treesj": { "branch": "main", "commit": "12ad6e892ca7de7d86bdc8c19319c81b1156c9b1" }, + "treesj": { "branch": "main", "commit": "56958f35592b8439dd5014220fc0f3a6e5b01ded" }, "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, From 8e5ccce1e8d2ed581215bef9126e7f69be8e84c3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 4 Apr 2023 09:00:25 +0200 Subject: [PATCH 1167/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/83110c259889230b324bb2d35bef78bf5f214a1f' (2023-03-25) → 'github:nix-community/home-manager/d6f3ba090ed090ae664ab5bac329654093aae725' (2023-04-03) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/c60e74e86fc8c28606bf86d63c080fa8796460fa' (2023-04-02) → 'github:nix-community/neovim-nightly-overlay/0b383a4e14de9f9510aa92ab00a992363fa7ec52' (2023-04-03) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/d510bfbc8e447b1a60d5ec7faaa8f440eb4ef56f?dir=contrib' (2023-04-02) → 'github:neovim/neovim/10baf89712724b4b95f7c641f2012f051737003c?dir=contrib' (2023-04-03) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/3364b5b117f65fe1ce65a3cdd5612a078a3b31e3' (2023-03-31) → 'github:nixos/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/884e3b68be02ff9d61a042bc9bd9dd2a358f95da' (2023-04-01) → 'github:NixOS/nixpkgs/799d153e4f316143a9db0eb869ecf44d8d4c0356' (2023-04-03) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/a626548a81417e960fd6e372db3c16e61d878334' (2023-04-03) → 'github:nixos/nixpkgs/6e46a75930af12a7c18db76b48be60b72dd6d031' (2023-04-03) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e3652e0735fbec227f342712f180f4f21f0594f2' (2023-03-30) → 'github:nixos/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03) • Updated input 'nur': 'github:nix-community/NUR/326044a900d2b8a4a818cb1ed7c1526b0c578d4e' (2023-04-03) → 'github:nix-community/NUR/b34f9bde6cbcb5d50e638d08e7d3f9ed7b88340b' (2023-04-04) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 23a1955e..80258427 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1679738842, - "narHash": "sha256-CvqRbsyDW756EskojZptDU590rez29RcHDV3ezoze08=", + "lastModified": 1680555990, + "narHash": "sha256-Tu/i5sd0hk4c4VtWO8XpY3c9KmHDcOWF5Y2GSCh3LXA=", "owner": "nix-community", "repo": "home-manager", - "rev": "83110c259889230b324bb2d35bef78bf5f214a1f", + "rev": "d6f3ba090ed090ae664ab5bac329654093aae725", "type": "github" }, "original": { @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1680423102, - "narHash": "sha256-REkF7d/1p0Emp70/UQLiU7JV8XCDWt3xlxPFKcViRi8=", + "lastModified": 1680482174, + "narHash": "sha256-ln6NOdn1NIc4yGHEacub4MHmTB4bf5DSh3DtlR3TvFE=", "owner": "neovim", "repo": "neovim", - "rev": "d510bfbc8e447b1a60d5ec7faaa8f440eb4ef56f", + "rev": "10baf89712724b4b95f7c641f2012f051737003c", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1680423147, - "narHash": "sha256-cfhsn9z3sqRRVBZgeaDoIAR3Q7YgK76Xd+yrFvinik0=", + "lastModified": 1680509638, + "narHash": "sha256-WBvoYAUJldwhUHny/tJuGuaISSyxKCWBqJe0JyVrAwY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c60e74e86fc8c28606bf86d63c080fa8796460fa", + "rev": "0b383a4e14de9f9510aa92ab00a992363fa7ec52", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1680273054, - "narHash": "sha256-Bs6/5LpvYp379qVqGt9mXxxx9GSE789k3oFc+OAL07M=", + "lastModified": 1680487167, + "narHash": "sha256-9FNIqrxDZgSliGGN2XJJSvcDYmQbgOANaZA4UWnTdg4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3364b5b117f65fe1ce65a3cdd5612a078a3b31e3", + "rev": "53dad94e874c9586e71decf82d972dfb640ef044", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1680486300, - "narHash": "sha256-yHn28lLvvrroKlNwhtmMl8bD6J8arFkcfpULuRlDhRk=", + "lastModified": 1680519927, + "narHash": "sha256-iYaec3MmYjduOoSxQoVspJS9JUhcTduREzsj+L+384g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a626548a81417e960fd6e372db3c16e61d878334", + "rev": "6e46a75930af12a7c18db76b48be60b72dd6d031", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1680213900, - "narHash": "sha256-cIDr5WZIj3EkKyCgj/6j3HBH4Jj1W296z7HTcWj1aMA=", + "lastModified": 1680487167, + "narHash": "sha256-9FNIqrxDZgSliGGN2XJJSvcDYmQbgOANaZA4UWnTdg4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e3652e0735fbec227f342712f180f4f21f0594f2", + "rev": "53dad94e874c9586e71decf82d972dfb640ef044", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1680334310, - "narHash": "sha256-ISWz16oGxBhF7wqAxefMPwFag6SlsA9up8muV79V9ck=", + "lastModified": 1680498889, + "narHash": "sha256-4nGFBm+oILOO6DPoKTPxVlfkZSxCOY4W25zSRHESK48=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "884e3b68be02ff9d61a042bc9bd9dd2a358f95da", + "rev": "799d153e4f316143a9db0eb869ecf44d8d4c0356", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1680503793, - "narHash": "sha256-FOesRwTph953YBYybkxSQ5u1abFBPbyGfsJxJnUyi4w=", + "lastModified": 1680588174, + "narHash": "sha256-MrMsiwohIrGx3R4qX/162+fqx8EQe5lpMc4YTahJDAQ=", "owner": "nix-community", "repo": "NUR", - "rev": "326044a900d2b8a4a818cb1ed7c1526b0c578d4e", + "rev": "b34f9bde6cbcb5d50e638d08e7d3f9ed7b88340b", "type": "github" }, "original": { From f761a288dfa7b66a7f2d339e892285bfc12679ae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 4 Apr 2023 10:27:26 +0200 Subject: [PATCH 1168/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index f0dfa836..4f6e5dd9 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,11 +1,12 @@ { "LazyVim": { "branch": "main", "commit": "7ce1b1519a45f48aa4b5f35b7b7a886b42fe56d8" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "dde293000b626cca90804e7b82731173f195b3ee" }, + "SchemaStore.nvim": { "branch": "main", "commit": "5487658767dd6932ad30b399f0d3b3e68f927793" }, "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, "bufferline.nvim": { "branch": "main", "commit": "eb4e95be22c55890b90fc01a8223e0c0ea4a0862" }, "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-cmdline": { "branch": "main", "commit": "8fcc934a52af96120fe26358985c10c035984b53" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, @@ -14,7 +15,7 @@ "copilot-cmp": { "branch": "master", "commit": "308f3cf8d62a7dc2c711bd517b8cf3b0c970ef2b" }, "copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "diffview.nvim": { "branch": "main", "commit": "4a55b5e2d2c3d6bd89cd3299a9ca276d49d25463" }, + "diffview.nvim": { "branch": "main", "commit": "90f7d498bd8f3fd7600c0b7b23c6ce434e3a1969" }, "dracula.nvim": { "branch": "main", "commit": "8653e7699810b63bda8ef267055cb4d4237670ef" }, "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, @@ -57,7 +58,7 @@ "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "3d7a74b56e27fd2d7bd20b35bf1941a96d03db54" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "0a20d1bb63ff0352b1254cc21ad99f4d04327ea6" }, + "nvim-treesitter": { "branch": "master", "commit": "871f5665d92d59a369cf916e9aa4d321d466f1e3" }, "nvim-treesitter-context": { "branch": "master", "commit": "959265a5d438462dc5d3dde215b915109c3d6fcb" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, From 77fa0b0fa3e6897b70d3966c33a5bf38d5986036 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 4 Apr 2023 10:27:33 +0200 Subject: [PATCH 1169/2080] wezterm: fix setting conf from nix. --- modules/home/wezterm/default.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/home/wezterm/default.nix b/modules/home/wezterm/default.nix index 4685161b..811a14da 100644 --- a/modules/home/wezterm/default.nix +++ b/modules/home/wezterm/default.nix @@ -4,15 +4,15 @@ programs.wezterm.package = pkgs-unstable.wezterm; programs.wezterm.extraConfig = '' return { - font = wezterm.font_with_fallback({ "JetBrains Mono", "Material Design Icons", "Material Icons", "Noto Color Emoji" }) - font_size = 16.0 - -- FIXME: themes not found, only availalbe in most recent wezterm versions - -- color_scheme = "Tokyo Night Storm (Gogh)" - -- color_scheme = "tokyonight_moon" - -- color_scheme = "tokyonight_storm" - color_scheme = "Dracula" - hide_tab_bar_if_only_one_tab = true - default_prog = { "${pkgs.fish}/bin/fish", "-l" } + font = wezterm.font_with_fallback({ "JetBrains Mono", "Material Design Icons", "Material Icons", "Noto Color Emoji" }), + font_size = 16.0, + -- FIXME: themes not found, only availalbe in most recent wezterm versions, + -- color_scheme = "Tokyo Night Storm (Gogh)", + -- color_scheme = "tokyonight_moon", + -- color_scheme = "tokyonight_storm", + color_scheme = "Dracula", + hide_tab_bar_if_only_one_tab = true, + default_prog = { "${pkgs.fish}/bin/fish", "-l" }, } ''; } From fdf02a5baa9f44cf23f9592a335d623ae1fc21c0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 4 Apr 2023 10:29:34 +0200 Subject: [PATCH 1170/2080] fish: add TODO list. --- modules/home/fish/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 327cca17..01dd55b6 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -7,6 +7,8 @@ in { # Fish Shell + # TODO: add ctrl-j alias allowign to "park" a command line to type something else + # https://rycee.gitlab.io/home-manager/options.html#opt-programs.fish.enable programs.fish.enable = true; From a5c94df8a0d52502cb80ee50f1c36b1561bad198 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 4 Apr 2023 10:31:13 +0200 Subject: [PATCH 1171/2080] nvim-cmp: use fuzzy completion for cmdline. --- lazyvim/nvim/lua/plugins/coding.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 56b62414..0b68ab2a 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -323,9 +323,18 @@ return { sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "lbdb" } })), }) + -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). + cmp.setup.cmdline(":", { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = "path" }, + }, { + { name = "cmdline" }, + }), + }) + -- Custom snippets -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua - local luasnip = require("luasnip") local s = luasnip.snippet local i = luasnip.insert_node local t = luasnip.text_node From afae522b38178c022d2076dd04105488b33e79d4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 4 Apr 2023 10:32:20 +0200 Subject: [PATCH 1172/2080] nvim-cmp: enable completion via copilot. --- lazyvim/nvim/lua/config/lazy.lua | 4 ++++ lazyvim/nvim/lua/plugins/coding.lua | 1 + 2 files changed, 5 insertions(+) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index faf85e7d..d0fe448e 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -17,6 +17,10 @@ require("lazy").setup({ -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.ui.mini-animate" }, + -- copilot + -- FIXME: not working fully automatically, likely due to overwritting of ncim-cmp + -- configuration and sources + { import = "lazyvim.plugins.extras.coding.copilot" }, -- import/override with your plugins { import = "plugins" }, }, diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 0b68ab2a..b1b8ff3b 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -307,6 +307,7 @@ return { { name = "luasnip" }, { name = "path" }, { name = "emoji" }, + { name = "copilot" }, { name = "buffer", option = { From 14d2b2ff49b3f5245a0c85b110a8e8653b0b1b52 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 4 Apr 2023 16:06:35 +0200 Subject: [PATCH 1173/2080] coding: add completion for / --- lazyvim/nvim/lua/plugins/coding.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index b1b8ff3b..b8b99a50 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -334,6 +334,14 @@ return { }), }) + -- `/` cmdline setup. + cmp.setup.cmdline("/", { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = "buffer" }, + }, + }) + -- Custom snippets -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua local s = luasnip.snippet From e327ec68d91a587bbbb368be84932ed0d71dd6e1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 09:09:21 +0200 Subject: [PATCH 1174/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0b383a4e14de9f9510aa92ab00a992363fa7ec52' (2023-04-03) → 'github:nix-community/neovim-nightly-overlay/ded933caa22f73373e17f3f799ef496a60176132' (2023-04-05) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/10baf89712724b4b95f7c641f2012f051737003c?dir=contrib' (2023-04-03) → 'github:neovim/neovim/9d5cbd1b15e9e4da50a7295f6d104fcdbe477f88?dir=contrib' (2023-04-05) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03) → 'github:nixos/nixpkgs/4a65e9f64e53fdca6eed31adba836717a11247d2' (2023-04-05) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/799d153e4f316143a9db0eb869ecf44d8d4c0356' (2023-04-03) → 'github:NixOS/nixpkgs/5233fd2ba76a3accb5aaa999c00509a11fd0793c' (2023-04-05) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/6e46a75930af12a7c18db76b48be60b72dd6d031' (2023-04-03) → 'github:nixos/nixpkgs/5233fd2ba76a3accb5aaa999c00509a11fd0793c' (2023-04-05) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03) → 'github:nixos/nixpkgs/9c8ff8b426a8b07b9e0a131ac3218740dc85ba1e' (2023-04-05) • Updated input 'nur': 'github:nix-community/NUR/b34f9bde6cbcb5d50e638d08e7d3f9ed7b88340b' (2023-04-04) → 'github:nix-community/NUR/ead70882411c7fcf0e6980ca5c579e5b95c8b086' (2023-04-06) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 80258427..022e4a61 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1680482174, - "narHash": "sha256-ln6NOdn1NIc4yGHEacub4MHmTB4bf5DSh3DtlR3TvFE=", + "lastModified": 1680679349, + "narHash": "sha256-gwa6W/Dsws2+Ysa6r1kfE4Q9zNBU2U7H+cijlNz7mFw=", "owner": "neovim", "repo": "neovim", - "rev": "10baf89712724b4b95f7c641f2012f051737003c", + "rev": "9d5cbd1b15e9e4da50a7295f6d104fcdbe477f88", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1680509638, - "narHash": "sha256-WBvoYAUJldwhUHny/tJuGuaISSyxKCWBqJe0JyVrAwY=", + "lastModified": 1680682472, + "narHash": "sha256-f9ntbKlQ4ir7iPFvh5xAZ9fA7oPgSFjn+tuOIFDpqJs=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0b383a4e14de9f9510aa92ab00a992363fa7ec52", + "rev": "ded933caa22f73373e17f3f799ef496a60176132", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1680487167, - "narHash": "sha256-9FNIqrxDZgSliGGN2XJJSvcDYmQbgOANaZA4UWnTdg4=", + "lastModified": 1680668850, + "narHash": "sha256-mQMg13yRsS0LXVzaeoSPwqgPO6yhkGzGewPgMSqXSv8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "53dad94e874c9586e71decf82d972dfb640ef044", + "rev": "4a65e9f64e53fdca6eed31adba836717a11247d2", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1680519927, - "narHash": "sha256-iYaec3MmYjduOoSxQoVspJS9JUhcTduREzsj+L+384g=", + "lastModified": 1680665430, + "narHash": "sha256-MTVhTukwza1Jlq2gECITZPFnhROmylP2uv3O3cSqQCE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6e46a75930af12a7c18db76b48be60b72dd6d031", + "rev": "5233fd2ba76a3accb5aaa999c00509a11fd0793c", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1680487167, - "narHash": "sha256-9FNIqrxDZgSliGGN2XJJSvcDYmQbgOANaZA4UWnTdg4=", + "lastModified": 1680669251, + "narHash": "sha256-AVNE+0u4HlI3v96KCXE9risH7NKqj0QDLLfSckYXIbA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "53dad94e874c9586e71decf82d972dfb640ef044", + "rev": "9c8ff8b426a8b07b9e0a131ac3218740dc85ba1e", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1680498889, - "narHash": "sha256-4nGFBm+oILOO6DPoKTPxVlfkZSxCOY4W25zSRHESK48=", + "lastModified": 1680665430, + "narHash": "sha256-MTVhTukwza1Jlq2gECITZPFnhROmylP2uv3O3cSqQCE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "799d153e4f316143a9db0eb869ecf44d8d4c0356", + "rev": "5233fd2ba76a3accb5aaa999c00509a11fd0793c", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1680588174, - "narHash": "sha256-MrMsiwohIrGx3R4qX/162+fqx8EQe5lpMc4YTahJDAQ=", + "lastModified": 1680764856, + "narHash": "sha256-JK1sLteKUPxaLb1wdczOzAdaE7aOfSpxAgrFxchZHBs=", "owner": "nix-community", "repo": "NUR", - "rev": "b34f9bde6cbcb5d50e638d08e7d3f9ed7b88340b", + "rev": "ead70882411c7fcf0e6980ca5c579e5b95c8b086", "type": "github" }, "original": { From 475e4e0df0f07028f10808a545c45ddbf75230fe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 11:25:34 +0200 Subject: [PATCH 1175/2080] Install vlc --- home/main.nix | 1 + machines/Baptistes-MBP/default.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/home/main.nix b/home/main.nix index 48fcd8ba..04be3f03 100644 --- a/home/main.nix +++ b/home/main.nix @@ -98,6 +98,7 @@ # XXX not working # nixpkgs-unstable.pynitrokey libreoffice-still + vlc ] ++ lib.optionals stdenv.isDarwin [ coreutils ncurses diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 6b93a545..2ded5bd0 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -40,6 +40,7 @@ # "podman-desktop" "rectangle" "stretchly" + "vlc" ]; }; } From 3537d1b68f9a629bc20c3f369fba099deb142815 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 11:25:56 +0200 Subject: [PATCH 1176/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 4f6e5dd9..ef82e651 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -12,25 +12,25 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "copilot-cmp": { "branch": "master", "commit": "308f3cf8d62a7dc2c711bd517b8cf3b0c970ef2b" }, + "copilot-cmp": { "branch": "master", "commit": "e570433f96d27014214491c70f75655bed77fd12" }, "copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "diffview.nvim": { "branch": "main", "commit": "90f7d498bd8f3fd7600c0b7b23c6ce434e3a1969" }, + "diffview.nvim": { "branch": "main", "commit": "f089e017dfc395c128143d5cdc388263bef0a439" }, "dracula.nvim": { "branch": "main", "commit": "8653e7699810b63bda8ef267055cb4d4237670ef" }, - "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, + "dressing.nvim": { "branch": "master", "commit": "c705b3890779ea05bd910e9d06af8a209bfb6ad8" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "gx.nvim": { "branch": "main", "commit": "57ae5fb894f435fe064602e631f6a145f8c61d08" }, - "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, + "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "b64fdede85fd5e0b720ce722919e0a9b95ed6547" }, - "mason.nvim": { "branch": "main", "commit": "dbf34eecc1f06733a2c518ddd5fe6b1472e7d837" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "d88d3564b2ae1d35163ccefda7184d7df104e198" }, + "mason.nvim": { "branch": "main", "commit": "0b66d6c5fa3fb8a36c76e8d2621e282e978dd5f8" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -48,18 +48,18 @@ "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, "nui.nvim": { "branch": "main", "commit": "1f43b13d133eb4b4f53a4485379d9afa58808389" }, - "null-ls.nvim": { "branch": "main", "commit": "defa0518762abb32279d601443344fb9773f9330" }, + "null-ls.nvim": { "branch": "main", "commit": "5855128178fa78293acdfb5b4e41ef046779240b" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "0bc0c38e1b11dfb6b5f1794d53869f89ccf9e78f" }, + "nvim-lspconfig": { "branch": "master", "commit": "7d5af779acbc8a6ff9dfd7f2d39ae898fb67480f" }, "nvim-navic": { "branch": "master", "commit": "27124a773d362628b114cd12016e743dab4ccf3e" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, - "nvim-spider": { "branch": "main", "commit": "3d7a74b56e27fd2d7bd20b35bf1941a96d03db54" }, + "nvim-spider": { "branch": "main", "commit": "1dc4c33d3e395de51d78efed575ef785d2f06388" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "871f5665d92d59a369cf916e9aa4d321d466f1e3" }, - "nvim-treesitter-context": { "branch": "master", "commit": "959265a5d438462dc5d3dde215b915109c3d6fcb" }, + "nvim-treesitter": { "branch": "master", "commit": "411e771d511442ab81670701f5c830f6c74aadd7" }, + "nvim-treesitter-context": { "branch": "master", "commit": "68eaeb86738c660f7f31afb2cbfb2bdec50bbd92" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, @@ -70,7 +70,7 @@ "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, - "refactoring.nvim": { "branch": "master", "commit": "57c32c6b7a211e5a3a5e4ddc4ad2033daff5cf9a" }, + "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, "ssr.nvim": { "branch": "main", "commit": "a30674d07b220304ed81f1f46a8f1de36ce74c38" }, "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, From 8c8e10e237ad5241b9564115b21631b520a6d61e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 11:27:41 +0200 Subject: [PATCH 1177/2080] Test disabling copilot completion for some filetypes. --- lazyvim/nvim/lua/plugins/coding.lua | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index b8b99a50..211ae3b1 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -318,12 +318,26 @@ return { }, }) + -- Filter out copilot from some use cases, like emails to preserve privacy + local limited_sources = opts.sources + for i = #limited_sources, 1, -1 do + if limited_sources[i].name == "copilot" then + table.remove(limited_sources, i) + end + end + -- only load lbdb completion for emails cmp.setup.filetype("mail", { ---@diagnostic disable-next-line: missing-parameter - sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "lbdb" } })), + sources = cmp.config.sources(vim.list_extend(limited_sources, { { name = "lbdb" } })), }) + -- Do not use copliot in norg files + -- cmp.setup.filetype("norg", { + -- ---@diagnostic disable-next-line: missing-parameter + -- sources = cmp.config.sources(limited_sources), + -- }) + -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). cmp.setup.cmdline(":", { mapping = cmp.mapping.preset.cmdline(), From 6e49d4f3e70ae9d8c7f3ecc5280a8f06ab5f6e53 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 12:12:29 +0200 Subject: [PATCH 1178/2080] Reorganise files --- lazyvim/nvim/lua/plugins/coding.lua | 16 +++++++ lazyvim/nvim/lua/plugins/colorscheme.lua | 52 --------------------- lazyvim/nvim/lua/plugins/gwarf.lua | 46 ------------------- lazyvim/nvim/lua/plugins/lsp.lua | 1 + lazyvim/nvim/lua/plugins/misc.lua | 22 +++++++++ lazyvim/nvim/lua/plugins/ui.lua | 58 +++++++++++++++++++++++- 6 files changed, 96 insertions(+), 99 deletions(-) delete mode 100644 lazyvim/nvim/lua/plugins/colorscheme.lua delete mode 100644 lazyvim/nvim/lua/plugins/gwarf.lua diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 211ae3b1..5f935184 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -1,6 +1,22 @@ -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/coding.lua -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/coding.lua return { + -- Install support for editing nix files + { "LnL7/vim-nix" }, + + -- XXX tools are managed via nix + -- add any tools you want to have installed below + -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua + -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/extras/formatting/prettier.lua + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "prettierd", + }, + }, + }, + -- git integration :Neogit -- LazyGit and Gitsigns are installed by default { diff --git a/lazyvim/nvim/lua/plugins/colorscheme.lua b/lazyvim/nvim/lua/plugins/colorscheme.lua deleted file mode 100644 index 9dddc041..00000000 --- a/lazyvim/nvim/lua/plugins/colorscheme.lua +++ /dev/null @@ -1,52 +0,0 @@ --- https://github.com/folke/dot/blob/master/nvim/lua/plugins/colorscheme.lua -return { - -- Install treesitter-aware fork of dracula theme - { "Mofiqul/dracula.nvim" }, - { "shaunsingh/oxocarbon.nvim" }, - -- { "ellisonleao/gruvbox.nvim" }, - -- { "rose-pine/neovim", name = "rose-pine" }, - -- { "drewtempelmeyer/palenight.vim" }, - { - "tokyonight.nvim", - lazy = false, - priority = 1000, - opts = function() - return { - sidebars = { - "qf", - "vista_kind", - "terminal", - "spectre_panel", - "startuptime", - "Outline", - }, - on_highlights = function(hl, c) - hl.CursorLineNr = { fg = c.orange, bold = true } - hl.LineNr = { fg = c.orange, bold = true } - hl.LineNrAbove = { fg = c.fg_gutter } - hl.LineNrBelow = { fg = c.fg_gutter } - local prompt = "#2d3149" - hl.TelescopeNormal = { bg = c.bg_dark, fg = c.fg_dark } - hl.TelescopeBorder = { bg = c.bg_dark, fg = c.bg_dark } - hl.TelescopePromptNormal = { bg = prompt } - hl.TelescopePromptBorder = { bg = prompt, fg = prompt } - hl.TelescopePromptTitle = { bg = c.fg_gutter, fg = c.orange } - hl.TelescopePreviewTitle = { bg = c.bg_dark, fg = c.bg_dark } - hl.TelescopeResultsTitle = { bg = c.bg_dark, fg = c.bg_dark } - end, - } - end, - }, - - -- Override LazyVim configuration to select colorscheme - { - "LazyVim/LazyVim", - opts = { - -- colorscheme = "dracula", - -- colorscheme = "catppuccin-frappe", - colorscheme = function() - require("tokyonight").load({ style = "storm" }) - end, - }, - }, -} diff --git a/lazyvim/nvim/lua/plugins/gwarf.lua b/lazyvim/nvim/lua/plugins/gwarf.lua deleted file mode 100644 index 63fa78be..00000000 --- a/lazyvim/nvim/lua/plugins/gwarf.lua +++ /dev/null @@ -1,46 +0,0 @@ --- Example: https://github.com/folke/dot/tree/master/config/nvim --- every spec file under config.plugins will be loaded automatically by lazy.nvim --- --- In your plugin files, you can: --- * add extra plugins --- * disable/enabled LazyVim plugins --- * override the configuration of LazyVim plugins - -return { - -- Install support for editing nix files - { "LnL7/vim-nix" }, - - -- add vim-repeat to supercharge . - { "tpope/vim-repeat" }, - - -- add nvim-ufo - { - "kevinhwang91/nvim-ufo", - dependencies = "kevinhwang91/promise-async", - event = "BufReadPost", - opts = {}, - - init = function() - -- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself - vim.keymap.set("n", "zR", function() - require("ufo").openAllFolds() - end) - vim.keymap.set("n", "zM", function() - require("ufo").closeAllFolds() - end) - end, - }, - - -- XXX tools are managed via nix - -- add any tools you want to have installed below - -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua - -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/extras/formatting/prettier.lua - { - "williamboman/mason.nvim", - opts = { - ensure_installed = { - "prettierd", - }, - }, - }, -} diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 228dc125..2d4f26ca 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -61,6 +61,7 @@ return { }, }, marksman = {}, + perlnavigator = {}, pyright = {}, rnix = { -- rnix-lsp is installed using nix diff --git a/lazyvim/nvim/lua/plugins/misc.lua b/lazyvim/nvim/lua/plugins/misc.lua index 7cd232b7..5eea06fa 100644 --- a/lazyvim/nvim/lua/plugins/misc.lua +++ b/lazyvim/nvim/lua/plugins/misc.lua @@ -1,5 +1,6 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/misc.lua return { + -- dims inactive portions of the code "folke/twilight.nvim", -- Use the w, e, b motions like a spider. Considers camelCase and skips insignificant punctuation. @@ -62,4 +63,25 @@ return { vim.g.matchup_matchparen_offscreen = { method = "status_manual" } end, }, + + -- add vim-repeat to supercharge . + { "tpope/vim-repeat" }, + + -- add nvim-ufo + { + "kevinhwang91/nvim-ufo", + dependencies = "kevinhwang91/promise-async", + event = "BufReadPost", + opts = {}, + + init = function() + -- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself + vim.keymap.set("n", "zR", function() + require("ufo").openAllFolds() + end) + vim.keymap.set("n", "zM", function() + require("ufo").closeAllFolds() + end) + end, + }, } diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index bbe85686..124eed9f 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -1,5 +1,61 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/ui.lua return { + -- Install treesitter-aware fork of dracula theme + { "Mofiqul/dracula.nvim" }, + { "shaunsingh/oxocarbon.nvim" }, + -- { "ellisonleao/gruvbox.nvim" }, + -- { "rose-pine/neovim", name = "rose-pine" }, + -- { "drewtempelmeyer/palenight.vim" }, + { + "tokyonight.nvim", + lazy = false, + priority = 1000, + opts = function() + return { + sidebars = { + "qf", + "vista_kind", + "terminal", + "spectre_panel", + "startuptime", + "Outline", + }, + dim_inactive = true, + -- When `true`, section headers in the lualine theme will be bold + lualine_bold = true, + ---@param hl Highlights + ---@param c ColorScheme + on_highlights = function(hl, c) + hl.CursorLineNr = { fg = c.orange, bold = true } + hl.LineNr = { bold = true } + hl.LineNrAbove = { fg = c.fg_gutter } + hl.LineNrBelow = { fg = c.fg_gutter } + -- XXX: disabled to test vanilla configuration + -- local prompt = "#2d3149" + -- hl.TelescopeNormal = { bg = c.bg_dark, fg = c.fg_dark } + -- hl.TelescopeBorder = { bg = c.bg_dark, fg = c.bg_dark } + -- hl.TelescopePromptNormal = { bg = prompt } + -- hl.TelescopePromptBorder = { bg = prompt, fg = prompt } + -- hl.TelescopePromptTitle = { bg = c.fg_gutter, fg = c.orange } + -- hl.TelescopePreviewTitle = { bg = c.bg_dark, fg = c.bg_dark } + -- hl.TelescopeResultsTitle = { bg = c.bg_dark, fg = c.bg_dark } + hl.WinSeparator = { fg = c.blue } + end, + } + end, + }, + + -- Override LazyVim configuration to select colorscheme + { + "LazyVim/LazyVim", + opts = { + -- colorscheme = "dracula", + -- colorscheme = "catppuccin-frappe", + colorscheme = function() + require("tokyonight").load({ style = "storm" }) + end, + }, + }, -- floating winbar { @@ -71,7 +127,7 @@ return { event = "VeryLazy", opts = { themes = { - markdown = { colorscheme = "tokyonight-storm" }, + markdown = { colorscheme = "catppuccin-frappe" }, help = { colorscheme = "oxocarbon", background = "dark" }, }, }, From b8afbe1f35ce9a1d73f09caec1debb9239b1dd83 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 13:37:18 +0200 Subject: [PATCH 1179/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index ef82e651..5a0f1bdf 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -12,7 +12,7 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "copilot-cmp": { "branch": "master", "commit": "e570433f96d27014214491c70f75655bed77fd12" }, + "copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" }, "copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "diffview.nvim": { "branch": "main", "commit": "f089e017dfc395c128143d5cdc388263bef0a439" }, @@ -30,7 +30,7 @@ "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "d88d3564b2ae1d35163ccefda7184d7df104e198" }, - "mason.nvim": { "branch": "main", "commit": "0b66d6c5fa3fb8a36c76e8d2621e282e978dd5f8" }, + "mason.nvim": { "branch": "main", "commit": "f778db1840248b3850613702f036f01d8846c696" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -56,7 +56,7 @@ "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, - "nvim-spider": { "branch": "main", "commit": "1dc4c33d3e395de51d78efed575ef785d2f06388" }, + "nvim-spider": { "branch": "main", "commit": "d1f6e43c9afe17ce32d3c8fbf0047e79d8b6e594" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, "nvim-treesitter": { "branch": "master", "commit": "411e771d511442ab81670701f5c830f6c74aadd7" }, "nvim-treesitter-context": { "branch": "master", "commit": "68eaeb86738c660f7f31afb2cbfb2bdec50bbd92" }, @@ -82,6 +82,7 @@ "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, + "vim-habamax": { "branch": "master", "commit": "ebb70a0077ed30f911a2efac07cb5289c67a41a2" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-matchup": { "branch": "master", "commit": "3a48818a8113a502f245c29d894201421727577a" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, From d80901790cdf37589f4dd236a42a73cc7e52e76c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 13:37:32 +0200 Subject: [PATCH 1180/2080] Reorganise neovim theme management --- lazyvim/nvim/lua/config/lazy.lua | 2 +- lazyvim/nvim/lua/plugins/ui.lua | 69 +++++++++++++++++--------------- 2 files changed, 38 insertions(+), 33 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index d0fe448e..00ca0e13 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -33,7 +33,7 @@ require("lazy").setup({ -- version = false, -- always use the latest git commit version = "*", -- try installing the latest stable version for plugins that support semver }, - install = { colorscheme = { "tokyonight", "habamax", "catppuccin" } }, + install = { colorscheme = { "tokyonight", "catppuccin" } }, checker = { enabled = true }, -- automatically check for plugin updates -- diff = { -- cmd = "terminal_git", diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index 124eed9f..3948c882 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -1,11 +1,15 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/ui.lua return { -- Install treesitter-aware fork of dracula theme - { "Mofiqul/dracula.nvim" }, - { "shaunsingh/oxocarbon.nvim" }, + -- { "Mofiqul/dracula.nvim" }, + + -- Alternative themes + -- { "shaunsingh/oxocarbon.nvim" }, + -- { "habamax/vim-habamax" }, -- { "ellisonleao/gruvbox.nvim" }, -- { "rose-pine/neovim", name = "rose-pine" }, -- { "drewtempelmeyer/palenight.vim" }, + { "tokyonight.nvim", lazy = false, @@ -57,6 +61,19 @@ return { }, }, + -- style windows with different colorschemes + { + "folke/styler.nvim", + event = "VeryLazy", + opts = { + themes = { + markdown = { colorscheme = "catppuccin-frappe" }, + help = { colorscheme = "catppuccin-frappe" }, + -- noice = { colorscheme = "catppuccin-frappe" }, + }, + }, + }, + -- floating winbar { "b0o/incline.nvim", @@ -81,24 +98,6 @@ return { end, }, - -- auto-resize windows - { - "anuvyklack/windows.nvim", - event = "WinNew", - dependencies = { - { "anuvyklack/middleclass" }, - { "anuvyklack/animation.nvim", enabled = false }, - }, - keys = { { "<leader>Z", "<cmd>WindowsMaximize<cr>", desc = "Zoom" } }, - config = function() - vim.o.winwidth = 5 - vim.o.equalalways = false - require("windows").setup({ - animation = { enable = false, duration = 150 }, - }) - end, - }, - -- scrollbar { "petertriho/nvim-scrollbar", @@ -121,18 +120,6 @@ return { end, }, - -- style windows with different colorschemes - { - "folke/styler.nvim", - event = "VeryLazy", - opts = { - themes = { - markdown = { colorscheme = "catppuccin-frappe" }, - help = { colorscheme = "oxocarbon", background = "dark" }, - }, - }, - }, - -- lualine { "nvim-lualine/lualine.nvim", @@ -144,4 +131,22 @@ return { }) end, }, + + -- auto-resize windows + { + "anuvyklack/windows.nvim", + event = "WinNew", + dependencies = { + { "anuvyklack/middleclass" }, + { "anuvyklack/animation.nvim", enabled = false }, + }, + keys = { { "<leader>Z", "<cmd>WindowsMaximize<cr>", desc = "Zoom" } }, + config = function() + vim.o.winwidth = 5 + vim.o.equalalways = false + require("windows").setup({ + animation = { enable = false, duration = 150 }, + }) + end, + }, } From 4c37495a22573f77ad503751671b9c5d40fb5a22 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 13:42:32 +0200 Subject: [PATCH 1181/2080] Reorganise some more neovim plugins --- lazyvim/nvim/lua/plugins/coding.lua | 54 ++++++++++++++++++ lazyvim/nvim/lua/plugins/misc.lua | 87 ----------------------------- lazyvim/nvim/lua/plugins/ui.lua | 35 ++++++++++++ 3 files changed, 89 insertions(+), 87 deletions(-) delete mode 100644 lazyvim/nvim/lua/plugins/misc.lua diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 5f935184..b7f9d37e 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -391,4 +391,58 @@ return { }) end, }, + + -- Structural search and replace + { + "cshuaimin/ssr.nvim", + keys = { + { + "<leader>sR", + function() + require("ssr").open() + end, + mode = { "n", "x" }, + desc = "Structural Replace", + }, + }, + }, + + -- improved % + { + "andymass/vim-matchup", + event = "BufReadPost", + config = function() + vim.g.matchup_matchparen_offscreen = { method = "status_manual" } + end, + }, + + -- supercharged . + { "tpope/vim-repeat" }, + + -- Split/join blocks of code + -- { + -- "Wansmer/treesj", + -- keys: <space>m - toggle, <space>j - join, <space>s - split + -- keys = { + -- { "J", "<cmd>TSJToggle<cr>", desc = "Join Toggle" }, + -- }, + -- opts = { use_default_keymaps = false, max_join_length = 150 }, + -- }, + + -- Use the w, e, b motions like a spider. Considers camelCase and skips insignificant punctuation. + { "chrisgrieser/nvim-spider", lazy = true }, + + -- Open links without netrw using gx mapping + { + "chrishrb/gx.nvim", + -- FIXME register existing gx mapping in which-key + -- config = function() + -- local wk = require("which-key") + -- wk.register({ + -- g = { + -- x = "Open link", + -- }, + -- }) + -- end, + }, } diff --git a/lazyvim/nvim/lua/plugins/misc.lua b/lazyvim/nvim/lua/plugins/misc.lua deleted file mode 100644 index 5eea06fa..00000000 --- a/lazyvim/nvim/lua/plugins/misc.lua +++ /dev/null @@ -1,87 +0,0 @@ --- https://github.com/folke/dot/blob/master/nvim/lua/plugins/misc.lua -return { - -- dims inactive portions of the code - "folke/twilight.nvim", - - -- Use the w, e, b motions like a spider. Considers camelCase and skips insignificant punctuation. - { "chrisgrieser/nvim-spider", lazy = true }, - - -- Open links without netrw using gx mapping - { - "chrishrb/gx.nvim", - -- FIXME register existing gx mapping in which-key - -- config = function() - -- local wk = require("which-key") - -- wk.register({ - -- g = { - -- x = "Open link", - -- }, - -- }) - -- end, - }, - - { - "Wansmer/treesj", - -- keys: <space>m - toggle, <space>j - join, <space>s - split - -- keys = { - -- { "J", "<cmd>TSJToggle<cr>", desc = "Join Toggle" }, - -- }, - -- opts = { use_default_keymaps = false, max_join_length = 150 }, - }, - - { - "cshuaimin/ssr.nvim", - keys = { - { - "<leader>sR", - function() - require("ssr").open() - end, - mode = { "n", "x" }, - desc = "Structural Replace", - }, - }, - }, - - { - "folke/zen-mode.nvim", - cmd = "ZenMode", - opts = { - plugins = { - gitsigns = true, - tmux = true, - kitty = { enabled = false, font = "+2" }, - }, - }, - keys = { { "<leader>z", "<cmd>ZenMode<cr>", desc = "Zen Mode" } }, - }, - - { - "andymass/vim-matchup", - event = "BufReadPost", - config = function() - vim.g.matchup_matchparen_offscreen = { method = "status_manual" } - end, - }, - - -- add vim-repeat to supercharge . - { "tpope/vim-repeat" }, - - -- add nvim-ufo - { - "kevinhwang91/nvim-ufo", - dependencies = "kevinhwang91/promise-async", - event = "BufReadPost", - opts = {}, - - init = function() - -- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself - vim.keymap.set("n", "zR", function() - require("ufo").openAllFolds() - end) - vim.keymap.set("n", "zM", function() - require("ufo").closeAllFolds() - end) - end, - }, -} diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index 3948c882..c6ac1a1d 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -149,4 +149,39 @@ return { }) end, }, + + -- dims inactive portions of the code + { "folke/twilight.nvim" }, + + -- Zen mode for focusing on editing code + { + "folke/zen-mode.nvim", + cmd = "ZenMode", + opts = { + plugins = { + gitsigns = true, + tmux = true, + kitty = { enabled = false, font = "+2" }, + }, + }, + keys = { { "<leader>z", "<cmd>ZenMode<cr>", desc = "Zen Mode" } }, + }, + + -- Fold management + { + "kevinhwang91/nvim-ufo", + dependencies = "kevinhwang91/promise-async", + event = "BufReadPost", + opts = {}, + + init = function() + -- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself + vim.keymap.set("n", "zR", function() + require("ufo").openAllFolds() + end) + vim.keymap.set("n", "zM", function() + require("ufo").closeAllFolds() + end) + end, + }, } From 837f8952ac465b7864fd1cb31fff12a78d6baed4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 13:43:24 +0200 Subject: [PATCH 1182/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/ded933caa22f73373e17f3f799ef496a60176132' (2023-04-05) → 'github:nix-community/neovim-nightly-overlay/2bd0826e5ec90759ee124c55b206b84a11ff42c7' (2023-04-06) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/9d5cbd1b15e9e4da50a7295f6d104fcdbe477f88?dir=contrib' (2023-04-05) → 'github:neovim/neovim/fd32a987520cb132455d61301467182cb58cddf2?dir=contrib' (2023-04-05) • Updated input 'nur': 'github:nix-community/NUR/ead70882411c7fcf0e6980ca5c579e5b95c8b086' (2023-04-06) → 'github:nix-community/NUR/df6ed5cb21baeb30d7d28b588e57ab11a311e572' (2023-04-06) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 022e4a61..c59e83a8 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1680679349, - "narHash": "sha256-gwa6W/Dsws2+Ysa6r1kfE4Q9zNBU2U7H+cijlNz7mFw=", + "lastModified": 1680731793, + "narHash": "sha256-LO+tQSOTboVqWPtuyTXAhK+z9OTs+5cau0MfybSMzPk=", "owner": "neovim", "repo": "neovim", - "rev": "9d5cbd1b15e9e4da50a7295f6d104fcdbe477f88", + "rev": "fd32a987520cb132455d61301467182cb58cddf2", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1680682472, - "narHash": "sha256-f9ntbKlQ4ir7iPFvh5xAZ9fA7oPgSFjn+tuOIFDpqJs=", + "lastModified": 1680768804, + "narHash": "sha256-XTLle2B9FVunt7+aOxQcMjuLTFKWVkY4mDLO8D9HGXc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ded933caa22f73373e17f3f799ef496a60176132", + "rev": "2bd0826e5ec90759ee124c55b206b84a11ff42c7", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1680764856, - "narHash": "sha256-JK1sLteKUPxaLb1wdczOzAdaE7aOfSpxAgrFxchZHBs=", + "lastModified": 1680777957, + "narHash": "sha256-rrZQkJq5sYihKWvWojJQ4POSDWbMgfU+HBCT+Gp9RUY=", "owner": "nix-community", "repo": "NUR", - "rev": "ead70882411c7fcf0e6980ca5c579e5b95c8b086", + "rev": "df6ed5cb21baeb30d7d28b588e57ab11a311e572", "type": "github" }, "original": { From bcf0c37eb72607623b06162b13c1f9c541f627eb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 16:59:35 +0200 Subject: [PATCH 1183/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 5a0f1bdf..23e1a8fa 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -16,7 +16,6 @@ "copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "diffview.nvim": { "branch": "main", "commit": "f089e017dfc395c128143d5cdc388263bef0a439" }, - "dracula.nvim": { "branch": "main", "commit": "8653e7699810b63bda8ef267055cb4d4237670ef" }, "dressing.nvim": { "branch": "master", "commit": "c705b3890779ea05bd910e9d06af8a209bfb6ad8" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, @@ -58,13 +57,12 @@ "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "d1f6e43c9afe17ce32d3c8fbf0047e79d8b6e594" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "411e771d511442ab81670701f5c830f6c74aadd7" }, + "nvim-treesitter": { "branch": "master", "commit": "153818c29bd0bd845a51869c16576756bccac01f" }, "nvim-treesitter-context": { "branch": "master", "commit": "68eaeb86738c660f7f31afb2cbfb2bdec50bbd92" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, "nvim-web-devicons": { "branch": "master", "commit": "0568104bf8d0c3ab16395433fcc5c1638efc25d4" }, - "oxocarbon.nvim": { "branch": "main", "commit": "be12ad8a9607a195d0fc081af0bf3cd38b095d12" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, @@ -78,11 +76,9 @@ "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, - "treesj": { "branch": "main", "commit": "56958f35592b8439dd5014220fc0f3a6e5b01ded" }, "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, - "vim-habamax": { "branch": "master", "commit": "ebb70a0077ed30f911a2efac07cb5289c67a41a2" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-matchup": { "branch": "master", "commit": "3a48818a8113a502f245c29d894201421727577a" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, From 4387ffbab03b4b3c58d4856a8e9078adbcef76cb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 16:59:42 +0200 Subject: [PATCH 1184/2080] darwin: load perlrbrew if available. --- modules/home/fish/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 01dd55b6..b0473c9e 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -113,6 +113,10 @@ in fish_add_path ~/.spicetify/ end + if test -e ~/perl5/perlbrew/etc/perlbrew.fish + . ~/perl5/perlbrew/etc/perlbrew.fish + end + # https://github.com/pyenv/pyenv/wiki/Common-build-problems # XXX clang-15: unknown argument -02 # set -gx CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" From 4eda5dc0869750d1303f7bfeecf10d0dadbcaf55 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 17:00:05 +0200 Subject: [PATCH 1185/2080] darwin: install perltidy --- machines/Baptistes-MBP/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 2ded5bd0..cf52ccb1 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -16,10 +16,10 @@ # mail setup # XXX to be moved to a module + "gpgme" "isync" - "mutt" "msmtp" - "gpgme" + "mutt" # XXX install from pkgs does not work "joplin-cli" @@ -27,9 +27,10 @@ "llvm" "bitwarden-cli" + "checkmake" "fetch-crl" + "perltidy" "pyenv" - "checkmake" ]; casks = [ # app launcher, file searcher From f116e1d7b940625800feaf03746bfe7f19473c67 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Apr 2023 17:01:31 +0200 Subject: [PATCH 1186/2080] nvim: style of sidebards/floats. --- lazyvim/nvim/lua/plugins/ui.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index c6ac1a1d..1f3a98fb 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -24,6 +24,10 @@ return { "startuptime", "Outline", }, + styles = { + sidebars = "normal", + floats = "normal", + }, dim_inactive = true, -- When `true`, section headers in the lualine theme will be bold lualine_bold = true, From 798cd3178e98ada9b8e396b817d518de5c79d63e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 7 Apr 2023 15:32:20 +0200 Subject: [PATCH 1187/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 23e1a8fa..389e24dd 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "7ce1b1519a45f48aa4b5f35b7b7a886b42fe56d8" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "5487658767dd6932ad30b399f0d3b3e68f927793" }, + "SchemaStore.nvim": { "branch": "main", "commit": "a592fbe98959d13014b022ec1b1418498309019c" }, "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, "bufferline.nvim": { "branch": "main", "commit": "eb4e95be22c55890b90fc01a8223e0c0ea4a0862" }, "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, @@ -15,7 +15,7 @@ "copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" }, "copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "diffview.nvim": { "branch": "main", "commit": "f089e017dfc395c128143d5cdc388263bef0a439" }, + "diffview.nvim": { "branch": "main", "commit": "6bebefbc4c90e6d2b8c65e65b055d284475d89f8" }, "dressing.nvim": { "branch": "master", "commit": "c705b3890779ea05bd910e9d06af8a209bfb6ad8" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, @@ -28,8 +28,8 @@ "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "d88d3564b2ae1d35163ccefda7184d7df104e198" }, - "mason.nvim": { "branch": "main", "commit": "f778db1840248b3850613702f036f01d8846c696" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "a5ca8b03972b347b74b2ad2f7f23f120a514593b" }, + "mason.nvim": { "branch": "main", "commit": "cbe2c13249819cd40e888f5c07e636c7a7bbf7e3" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -50,14 +50,14 @@ "null-ls.nvim": { "branch": "main", "commit": "5855128178fa78293acdfb5b4e41ef046779240b" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "7d5af779acbc8a6ff9dfd7f2d39ae898fb67480f" }, + "nvim-lspconfig": { "branch": "master", "commit": "1ec6f5cbf6ffc44c84783d70039df5295ca22b4e" }, "nvim-navic": { "branch": "master", "commit": "27124a773d362628b114cd12016e743dab4ccf3e" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "d1f6e43c9afe17ce32d3c8fbf0047e79d8b6e594" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "153818c29bd0bd845a51869c16576756bccac01f" }, + "nvim-treesitter": { "branch": "master", "commit": "584ccea56e2d37b31ba292da2b539e1a4bb411ca" }, "nvim-treesitter-context": { "branch": "master", "commit": "68eaeb86738c660f7f31afb2cbfb2bdec50bbd92" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, @@ -65,7 +65,7 @@ "nvim-web-devicons": { "branch": "master", "commit": "0568104bf8d0c3ab16395433fcc5c1638efc25d4" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, - "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, + "playground": { "branch": "master", "commit": "db54848c7d878965bc31237059841f4e91e9de93" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, From db0d9f0601743002d0a069ff55d3ed6029f4b022 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 7 Apr 2023 15:32:29 +0200 Subject: [PATCH 1188/2080] lazy: disable auto update --- lazyvim/nvim/lua/config/lazy.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 00ca0e13..89512ff7 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -34,7 +34,7 @@ require("lazy").setup({ version = "*", -- try installing the latest stable version for plugins that support semver }, install = { colorscheme = { "tokyonight", "catppuccin" } }, - checker = { enabled = true }, -- automatically check for plugin updates + checker = { enabled = false }, -- automatically check for plugin updates -- diff = { -- cmd = "terminal_git", -- }, From 3c3ac44e71be26064de37a12bb831b5b441cd1ce Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 7 Apr 2023 15:33:04 +0200 Subject: [PATCH 1189/2080] lazyvim: hardcode/repear sources to possible issues --- lazyvim/nvim/lua/plugins/coding.lua | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index b7f9d37e..e6f19937 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -334,18 +334,33 @@ return { }, }) + -- XXX: causing issues with load of cmp in some cases -- Filter out copilot from some use cases, like emails to preserve privacy - local limited_sources = opts.sources - for i = #limited_sources, 1, -1 do - if limited_sources[i].name == "copilot" then - table.remove(limited_sources, i) - end - end + -- local limited_sources = {} + -- for i = #opts.sources, 1, -1 do + -- if opts.sources[i].name ~= "copilot" then + -- table.insert(limited_sources, opts.sources[i]) + -- end + -- end -- only load lbdb completion for emails cmp.setup.filetype("mail", { ---@diagnostic disable-next-line: missing-parameter - sources = cmp.config.sources(vim.list_extend(limited_sources, { { name = "lbdb" } })), + sources = cmp.config.sources({ + { name = "lbdb" }, + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "path" }, + { name = "emoji" }, + { + name = "buffer", + option = { + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end, + }, + }, + }), }) -- Do not use copliot in norg files From c8809191cdcdf8f0a6c3fe571aff439e7d97b1ae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 7 Apr 2023 15:33:25 +0200 Subject: [PATCH 1190/2080] nvim lsp: add some setup for perl --- lazyvim/nvim/lua/plugins/lsp.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 2d4f26ca..c84c240a 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -61,7 +61,13 @@ return { }, }, marksman = {}, - perlnavigator = {}, + perlnavigator = { + -- settings = { + -- perlnavigator = { + -- perlPath = "/usr/local/bin/perl", + -- }, + -- }, + }, pyright = {}, rnix = { -- rnix-lsp is installed using nix @@ -130,6 +136,8 @@ return { nls.builtins.diagnostics.write_good, -- lua nls.builtins.formatting.stylua, + -- perl + nls.builtins.formatting.perltidy, -- python nls.builtins.formatting.isort.with({ extra_args = { "--profile", "black" }, From 0ea48f2b734cec584914c0669bbde93e173ec38c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 7 Apr 2023 15:35:43 +0200 Subject: [PATCH 1191/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/2bd0826e5ec90759ee124c55b206b84a11ff42c7' (2023-04-06) → 'github:nix-community/neovim-nightly-overlay/26c965a256bf1f33d0c90e607d9438097cca149f' (2023-04-07) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/fd32a987520cb132455d61301467182cb58cddf2?dir=contrib' (2023-04-05) → 'github:neovim/neovim/cbeedc52ebed59628a8d1a76162f1a73c564c151?dir=contrib' (2023-04-07) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/4a65e9f64e53fdca6eed31adba836717a11247d2' (2023-04-05) → 'github:nixos/nixpkgs/9de84cd029054adc54fdc6442e121fbc5ac33baf' (2023-04-06) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5233fd2ba76a3accb5aaa999c00509a11fd0793c' (2023-04-05) → 'github:NixOS/nixpkgs/36adaa6aaa6b03e59102df0c1b12cdc3f23fd112' (2023-04-05) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/5233fd2ba76a3accb5aaa999c00509a11fd0793c' (2023-04-05) → 'github:nixos/nixpkgs/4d5c2407340b13cebb769e8458cc46897f39374a' (2023-04-07) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/9c8ff8b426a8b07b9e0a131ac3218740dc85ba1e' (2023-04-05) → 'github:nixos/nixpkgs/0e19daa510e47a40e06257e205965f3b96ce0ac9' (2023-04-06) • Updated input 'nur': 'github:nix-community/NUR/df6ed5cb21baeb30d7d28b588e57ab11a311e572' (2023-04-06) → 'github:nix-community/NUR/88dfb2d4c01fd31f83118fd4a3416181c173b893' (2023-04-07) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index c59e83a8..55bd1d0a 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1680731793, - "narHash": "sha256-LO+tQSOTboVqWPtuyTXAhK+z9OTs+5cau0MfybSMzPk=", + "lastModified": 1680856012, + "narHash": "sha256-Qxch4AOlXOTLhQ5t7xHNSASmpFZJSp7viPTKDD+CEmw=", "owner": "neovim", "repo": "neovim", - "rev": "fd32a987520cb132455d61301467182cb58cddf2", + "rev": "cbeedc52ebed59628a8d1a76162f1a73c564c151", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1680768804, - "narHash": "sha256-XTLle2B9FVunt7+aOxQcMjuLTFKWVkY4mDLO8D9HGXc=", + "lastModified": 1680866776, + "narHash": "sha256-yGCZZ6yLbW5K/XZPgotPZB0mi5St+QLqfbVJuLvTHp8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "2bd0826e5ec90759ee124c55b206b84a11ff42c7", + "rev": "26c965a256bf1f33d0c90e607d9438097cca149f", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1680668850, - "narHash": "sha256-mQMg13yRsS0LXVzaeoSPwqgPO6yhkGzGewPgMSqXSv8=", + "lastModified": 1680789907, + "narHash": "sha256-0AOMkabjbOauxspnqfzqgLKhB2gSh3sLkz1p/jIckcs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4a65e9f64e53fdca6eed31adba836717a11247d2", + "rev": "9de84cd029054adc54fdc6442e121fbc5ac33baf", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1680665430, - "narHash": "sha256-MTVhTukwza1Jlq2gECITZPFnhROmylP2uv3O3cSqQCE=", + "lastModified": 1680863416, + "narHash": "sha256-pzEqDQJHHaR17UnesfFXnh64VuYvDXw8LDk0xn1E2DY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5233fd2ba76a3accb5aaa999c00509a11fd0793c", + "rev": "4d5c2407340b13cebb769e8458cc46897f39374a", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1680669251, - "narHash": "sha256-AVNE+0u4HlI3v96KCXE9risH7NKqj0QDLLfSckYXIbA=", + "lastModified": 1680758185, + "narHash": "sha256-sCVWwfnk7zEX8Z+OItiH+pcSklrlsLZ4TJTtnxAYREw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9c8ff8b426a8b07b9e0a131ac3218740dc85ba1e", + "rev": "0e19daa510e47a40e06257e205965f3b96ce0ac9", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1680665430, - "narHash": "sha256-MTVhTukwza1Jlq2gECITZPFnhROmylP2uv3O3cSqQCE=", + "lastModified": 1680724564, + "narHash": "sha256-eeUUGOTKTelYKDbUxKs0V7GUa186L2fym7jM2QQ4Oss=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5233fd2ba76a3accb5aaa999c00509a11fd0793c", + "rev": "36adaa6aaa6b03e59102df0c1b12cdc3f23fd112", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1680777957, - "narHash": "sha256-rrZQkJq5sYihKWvWojJQ4POSDWbMgfU+HBCT+Gp9RUY=", + "lastModified": 1680869916, + "narHash": "sha256-i0I51VBl/ysHBKiCwRZ7fMRPM4FCGBOdSJXsHG6NuQE=", "owner": "nix-community", "repo": "NUR", - "rev": "df6ed5cb21baeb30d7d28b588e57ab11a311e572", + "rev": "88dfb2d4c01fd31f83118fd4a3416181c173b893", "type": "github" }, "original": { From ad03582691f6b045d8eaea7faad977f0de8b2d48 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 9 Apr 2023 18:19:33 +0200 Subject: [PATCH 1192/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/26c965a256bf1f33d0c90e607d9438097cca149f' (2023-04-07) → 'github:nix-community/neovim-nightly-overlay/b0e03aec365db0fdf29d19da3cc6b6d229961494' (2023-04-09) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/cbeedc52ebed59628a8d1a76162f1a73c564c151?dir=contrib' (2023-04-07) → 'github:neovim/neovim/339011f59c25937567f1e88d663c22dade5e217a?dir=contrib' (2023-04-08) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/9de84cd029054adc54fdc6442e121fbc5ac33baf' (2023-04-06) → 'github:nixos/nixpkgs/431bf1e6cdd494e5230fbb72884afb4ca612c578' (2023-04-09) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/36adaa6aaa6b03e59102df0c1b12cdc3f23fd112' (2023-04-05) → 'github:NixOS/nixpkgs/0040164e473509b4aee6aedb3b923e400d6df10b' (2023-04-07) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/4d5c2407340b13cebb769e8458cc46897f39374a' (2023-04-07) → 'github:nixos/nixpkgs/6e2d6c0c6dbf1bcfa8cf34c28b3cd35827d44765' (2023-04-08) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/0e19daa510e47a40e06257e205965f3b96ce0ac9' (2023-04-06) → 'github:nixos/nixpkgs/d9f759f2ea8d265d974a6e1259bd510ac5844c5d' (2023-04-08) • Updated input 'nur': 'github:nix-community/NUR/88dfb2d4c01fd31f83118fd4a3416181c173b893' (2023-04-07) → 'github:nix-community/NUR/fb7b8b11eef494b17fdfdb6a298768f1be02ddcf' (2023-04-09) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 55bd1d0a..814c85a7 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1680856012, - "narHash": "sha256-Qxch4AOlXOTLhQ5t7xHNSASmpFZJSp7viPTKDD+CEmw=", + "lastModified": 1680988029, + "narHash": "sha256-jaNC/WsWbodeKD5QA82NnFCZE6DiQZZtaJF2A/yxrAE=", "owner": "neovim", "repo": "neovim", - "rev": "cbeedc52ebed59628a8d1a76162f1a73c564c151", + "rev": "339011f59c25937567f1e88d663c22dade5e217a", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1680866776, - "narHash": "sha256-yGCZZ6yLbW5K/XZPgotPZB0mi5St+QLqfbVJuLvTHp8=", + "lastModified": 1681027923, + "narHash": "sha256-r1D/WEhweAOcrVP493wbsFp4ICH+jmTLRfjmMHOZJYg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "26c965a256bf1f33d0c90e607d9438097cca149f", + "rev": "b0e03aec365db0fdf29d19da3cc6b6d229961494", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1680789907, - "narHash": "sha256-0AOMkabjbOauxspnqfzqgLKhB2gSh3sLkz1p/jIckcs=", + "lastModified": 1681002951, + "narHash": "sha256-nD9fXN7EVKGovtjrXIuA7Si9M6PD9b02GNtvQPTSuOk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9de84cd029054adc54fdc6442e121fbc5ac33baf", + "rev": "431bf1e6cdd494e5230fbb72884afb4ca612c578", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1680863416, - "narHash": "sha256-pzEqDQJHHaR17UnesfFXnh64VuYvDXw8LDk0xn1E2DY=", + "lastModified": 1680987552, + "narHash": "sha256-oCWXm7msFpYban1/+VmuoJiRhs1IyjPV4NNVt3VlPEM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4d5c2407340b13cebb769e8458cc46897f39374a", + "rev": "6e2d6c0c6dbf1bcfa8cf34c28b3cd35827d44765", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1680758185, - "narHash": "sha256-sCVWwfnk7zEX8Z+OItiH+pcSklrlsLZ4TJTtnxAYREw=", + "lastModified": 1680945546, + "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0e19daa510e47a40e06257e205965f3b96ce0ac9", + "rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1680724564, - "narHash": "sha256-eeUUGOTKTelYKDbUxKs0V7GUa186L2fym7jM2QQ4Oss=", + "lastModified": 1680865339, + "narHash": "sha256-H6rmJ1CyJ3Q5ZyoLMYq/UEYMS9Q1orJjRpWiQ47HudE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "36adaa6aaa6b03e59102df0c1b12cdc3f23fd112", + "rev": "0040164e473509b4aee6aedb3b923e400d6df10b", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1680869916, - "narHash": "sha256-i0I51VBl/ysHBKiCwRZ7fMRPM4FCGBOdSJXsHG6NuQE=", + "lastModified": 1681055105, + "narHash": "sha256-HETUDbn1DpeeLwV5lND1j72jI9nb0S3ax61iz6IGNO4=", "owner": "nix-community", "repo": "NUR", - "rev": "88dfb2d4c01fd31f83118fd4a3416181c173b893", + "rev": "fb7b8b11eef494b17fdfdb6a298768f1be02ddcf", "type": "github" }, "original": { From b9b7731f61bd4fda0d3cc51efd0f629580164414 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 9 Apr 2023 19:20:52 +0200 Subject: [PATCH 1193/2080] Bye bye arch --- machines/brutal/hardware-configuration.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/machines/brutal/hardware-configuration.nix b/machines/brutal/hardware-configuration.nix index 74d601c4..f4c0caca 100644 --- a/machines/brutal/hardware-configuration.nix +++ b/machines/brutal/hardware-configuration.nix @@ -24,12 +24,6 @@ fsType = "vfat"; }; - fileSystems."/mnt/arch" = - { device = "/dev/disk/by-label/arch"; - fsType = "ext4"; - options = [ "noauto" ]; - }; - fileSystems."/mnt/data" = { device = "/dev/disk/by-label/DataLinux"; fsType = "ext4"; From cc3a607ed5b06ec0d319707eb896fa5ab5b705d4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 9 Apr 2023 21:15:16 +0200 Subject: [PATCH 1194/2080] nix: install gcc --- home/main.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/main.nix b/home/main.nix index 04be3f03..fd51b53f 100644 --- a/home/main.nix +++ b/home/main.nix @@ -56,6 +56,10 @@ nodePackages.alex nodePackages.markdownlint-cli nodePackages.prettier + gnumake + gcc + # clang + # llvm # XXX textlint doesn't foudn the terminology rule # pkgs-unstable.nodePackages.textlint # pkgs-unstable.nodePackages.textlint-rule-terminology From 4722f1e91cdbc7b43e8e1b630d19dad422b1f855 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 9 Apr 2023 21:16:19 +0200 Subject: [PATCH 1195/2080] Bump neovim lazy-lock.json --- lazyvim/nvim/lazy-lock.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 389e24dd..7ba62e31 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -6,7 +6,6 @@ "bufferline.nvim": { "branch": "main", "commit": "eb4e95be22c55890b90fc01a8223e0c0ea4a0862" }, "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "8fcc934a52af96120fe26358985c10c035984b53" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, @@ -16,7 +15,7 @@ "copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "diffview.nvim": { "branch": "main", "commit": "6bebefbc4c90e6d2b8c65e65b055d284475d89f8" }, - "dressing.nvim": { "branch": "master", "commit": "c705b3890779ea05bd910e9d06af8a209bfb6ad8" }, + "dressing.nvim": { "branch": "master", "commit": "91b9ba8a9474d2c4156dc2f3e858e07ae8faecf0" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, @@ -28,7 +27,7 @@ "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a5ca8b03972b347b74b2ad2f7f23f120a514593b" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "a8d5db8f227b9b236d1c54a9c6234bc033825ce7" }, "mason.nvim": { "branch": "main", "commit": "cbe2c13249819cd40e888f5c07e636c7a7bbf7e3" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, @@ -62,7 +61,7 @@ "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "0568104bf8d0c3ab16395433fcc5c1638efc25d4" }, + "nvim-web-devicons": { "branch": "master", "commit": "f16ec8f6e5d23e4349501dae46e0a661918e086e" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, "playground": { "branch": "master", "commit": "db54848c7d878965bc31237059841f4e91e9de93" }, @@ -73,7 +72,7 @@ "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, + "telescope.nvim": { "branch": "master", "commit": "7141515a7cabde46449675a403ed564416363887" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, From 593f521962a76c4c01f2112aebe95190ac331ea4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 9 Apr 2023 21:16:23 +0200 Subject: [PATCH 1196/2080] flake: use neovim-nightly everywhere, disable emacs. --- flake.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 3b9107e7..e38fef7e 100644 --- a/flake.nix +++ b/flake.nix @@ -76,20 +76,27 @@ homeManagerLinuxModules = { # only for GNU/Linux mail = import ./modules/home/mail; - neovim = import ./home/neovim.nix; - programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; + # Custom configuration manage in nix + # neovim = import ./home/neovim.nix; + # Only nightly, no conf + neovim = import ./home/neovim-nightly.nix; + # malob configuration + # neovim = import ./home/neovim-malob.nix; + # programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; keybase = import ./home/keybase.nix; firefox = import ./home/firefox.nix; wm = import ./modules/home/wm; kitty = import ./modules/home/kitty; + wezterm = import ./modules/home/wezterm; fish = import ./modules/home/fish; starship = import ./home/starship.nix; starship-symbols = import ./home/starship-symbols.nix; git = import ./home/git.nix; tmux = import ./modules/home/tmux; + lbdb = import ./modules/home/lbdb; main = import ./home/main.nix; - emacs = import ./modules/home/emacs; + # emacs = import ./modules/home/emacs; home-user-info = { lib, ... }: { # XXX figure what this does options.home.user-info = (self.systemModules.users-primaryUser { inherit lib; }).options.users.primaryUser; From 132a83c0e439f9f682c85f6ea4a3382db108cdcd Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 9 Apr 2023 22:20:27 +0200 Subject: [PATCH 1197/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/6e2d6c0c6dbf1bcfa8cf34c28b3cd35827d44765' (2023-04-08) → 'github:nixos/nixpkgs/615e45cd117e9fda14ba2c2b2339c497ccf280e8' (2023-04-09) • Updated input 'nur': 'github:nix-community/NUR/fb7b8b11eef494b17fdfdb6a298768f1be02ddcf' (2023-04-09) → 'github:nix-community/NUR/f23f95bc01269def764f77204516c96813c3a202' (2023-04-09) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 814c85a7..5231e583 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1680987552, - "narHash": "sha256-oCWXm7msFpYban1/+VmuoJiRhs1IyjPV4NNVt3VlPEM=", + "lastModified": 1681033237, + "narHash": "sha256-CLR6DryYN2wQSInDTaF/vydiSHXcCX6XYFlxsRNTT4w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6e2d6c0c6dbf1bcfa8cf34c28b3cd35827d44765", + "rev": "615e45cd117e9fda14ba2c2b2339c497ccf280e8", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681055105, - "narHash": "sha256-HETUDbn1DpeeLwV5lND1j72jI9nb0S3ax61iz6IGNO4=", + "lastModified": 1681069504, + "narHash": "sha256-1uLGUDT7wJV70WsSkoKHJDkAHhr1BMIeN6CNGeIPX+w=", "owner": "nix-community", "repo": "NUR", - "rev": "fb7b8b11eef494b17fdfdb6a298768f1be02ddcf", + "rev": "f23f95bc01269def764f77204516c96813c3a202", "type": "github" }, "original": { From 59c17b50ba177a9ceae20cfd79a8ed2c94933eff Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 9 Apr 2023 22:27:06 +0200 Subject: [PATCH 1198/2080] Install more deps --- home/main.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/home/main.nix b/home/main.nix index fd51b53f..c5fa4955 100644 --- a/home/main.nix +++ b/home/main.nix @@ -103,6 +103,13 @@ # nixpkgs-unstable.pynitrokey libreoffice-still vlc + dict + perl + perlPackages.PerlTidy + # perl536Packages.PerlTidy + python3Packages.flake8 + tree-sitter + shfmt ] ++ lib.optionals stdenv.isDarwin [ coreutils ncurses From 61c5bde88249819bb7f05844de503642d5b1812b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 9 Apr 2023 22:27:12 +0200 Subject: [PATCH 1199/2080] coding: disable test not handling bootstrap --- lazyvim/nvim/lua/plugins/coding.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index e6f19937..7cf5de1f 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -172,9 +172,10 @@ return { -- better yank/paste { "kkharji/sqlite.lua", - enabled = function() - return require("lazyvim.util").has("yanky.nvim") and not jit.os:find("Windows") - end, + -- XXX: disabled as breaking bootstrap of configuration due to lazyvim.util not found + -- enabled = function() + -- return require("lazyvim.util").has("yanky.nvim") and not jit.os:find("Windows") + -- end, }, { "gbprod/yanky.nvim", From 452ad9ccd555496b7e909219339b3d27f832a1a5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 9 Apr 2023 22:27:41 +0200 Subject: [PATCH 1200/2080] Bump neovim lazy-lock.json --- lazyvim/nvim/lazy-lock.json | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 7ba62e31..62ca43f8 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -24,11 +24,11 @@ "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, - "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, + "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, - "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" }, + "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "a8d5db8f227b9b236d1c54a9c6234bc033825ce7" }, - "mason.nvim": { "branch": "main", "commit": "cbe2c13249819cd40e888f5c07e636c7a7bbf7e3" }, + "mason.nvim": { "branch": "main", "commit": "2311d9d883eb709ad9979a726a38c5ce1343b63c" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -46,28 +46,29 @@ "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, "nui.nvim": { "branch": "main", "commit": "1f43b13d133eb4b4f53a4485379d9afa58808389" }, - "null-ls.nvim": { "branch": "main", "commit": "5855128178fa78293acdfb5b4e41ef046779240b" }, + "null-ls.nvim": { "branch": "main", "commit": "7e362189bc1598f36ba5e349ad6b35bed541ec40" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "1ec6f5cbf6ffc44c84783d70039df5295ca22b4e" }, + "nvim-lspconfig": { "branch": "master", "commit": "27e9e1d2638ffd133b06f314a49ac55825cb1017" }, "nvim-navic": { "branch": "master", "commit": "27124a773d362628b114cd12016e743dab4ccf3e" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, - "nvim-spider": { "branch": "main", "commit": "d1f6e43c9afe17ce32d3c8fbf0047e79d8b6e594" }, + "nvim-spider": { "branch": "main", "commit": "fcae87f8c73cc8624eacf6c5fd5de4d5e16ee0c0" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "584ccea56e2d37b31ba292da2b539e1a4bb411ca" }, - "nvim-treesitter-context": { "branch": "master", "commit": "68eaeb86738c660f7f31afb2cbfb2bdec50bbd92" }, + "nvim-treesitter": { "branch": "master", "commit": "fa9fe9a95ba481e26e11eede4657f8c5350a0eaa" }, + "nvim-treesitter-context": { "branch": "master", "commit": "38203f5e6c62617b3c07662dc71ce3047ecd90d3" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, "nvim-web-devicons": { "branch": "master", "commit": "f16ec8f6e5d23e4349501dae46e0a661918e086e" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, - "playground": { "branch": "master", "commit": "db54848c7d878965bc31237059841f4e91e9de93" }, + "playground": { "branch": "master", "commit": "934cb4c4adc2e7f4f351846a63c9532018c996ed" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, + "sqlite.lua": { "branch": "master", "commit": "6c00ab414dc1b69621b145908c582b747f24b46e" }, "ssr.nvim": { "branch": "main", "commit": "a30674d07b220304ed81f1f46a8f1de36ce74c38" }, "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, From f307e8d2a4d0f92d85ba70caba4dd1a7558a7bdb Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 9 Apr 2023 22:29:22 +0200 Subject: [PATCH 1201/2080] Install neovim-nighly --- home/neovim-nightly.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index 46423663..e07b4978 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -8,8 +8,9 @@ in { programs.neovim = { enable = true; - package = pkgs-unstable.neovim-unwrapped; - # package = neovim-nightly; + # XXX working on darwin + # package = pkgs-unstable.neovim-unwrapped; + package = neovim-nightly; # use nvim by default vimAlias = true; From 8c0b3e74e93e9f3459d4d5bc6eaac575b62c4790 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Apr 2023 09:36:15 +0200 Subject: [PATCH 1202/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/99d4187d11be86b49baa3a1aec0530004072374f' (2023-03-31) → 'github:lnl7/nix-darwin/025912529dd0b31dead95519e944ea05f1ad56f2' (2023-04-10) • Updated input 'home-manager': 'github:nix-community/home-manager/d6f3ba090ed090ae664ab5bac329654093aae725' (2023-04-03) → 'github:nix-community/home-manager/f9edbedaf015013eb35f8caacbe0c9666bbc16af' (2023-04-10) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/b0e03aec365db0fdf29d19da3cc6b6d229961494' (2023-04-09) → 'github:nix-community/neovim-nightly-overlay/0189b22ba12d8817d00d58201c05884795024386' (2023-04-10) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/339011f59c25937567f1e88d663c22dade5e217a?dir=contrib' (2023-04-08) → 'github:neovim/neovim/3c724fe1f3efae0d00b43e381523ea2ec7229328?dir=contrib' (2023-04-10) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/431bf1e6cdd494e5230fbb72884afb4ca612c578' (2023-04-09) → 'github:nixos/nixpkgs/da0b0bc6a5d699a8a9ffbf9e1b19e8642307062a' (2023-04-09) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/0040164e473509b4aee6aedb3b923e400d6df10b' (2023-04-07) → 'github:NixOS/nixpkgs/ea96b4af6148114421fda90df33cf236ff5ecf1d' (2023-04-10) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/615e45cd117e9fda14ba2c2b2339c497ccf280e8' (2023-04-09) → 'github:nixos/nixpkgs/115a96e2ac1e92937cd47c30e073e16dcaaf6247' (2023-04-10) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/d9f759f2ea8d265d974a6e1259bd510ac5844c5d' (2023-04-08) → 'github:nixos/nixpkgs/db24d86dd8a4769c50d6b7295e81aa280cd93f35' (2023-04-10) • Updated input 'nur': 'github:nix-community/NUR/f23f95bc01269def764f77204516c96813c3a202' (2023-04-09) → 'github:nix-community/NUR/b41ff8c0d02b5306febfdd7e94724e528f2c0cec' (2023-04-11) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 5231e583..802eed7d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1680266963, - "narHash": "sha256-IW/lzbUCOcldLHWHjNSg1YoViDnZOmz0ZJL7EH9OkV8=", + "lastModified": 1681154394, + "narHash": "sha256-avnu1K9AuouygBiwVKuDp6emiTET43az3rcpv0ctLjc=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "99d4187d11be86b49baa3a1aec0530004072374f", + "rev": "025912529dd0b31dead95519e944ea05f1ad56f2", "type": "github" }, "original": { @@ -60,11 +60,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1680555990, - "narHash": "sha256-Tu/i5sd0hk4c4VtWO8XpY3c9KmHDcOWF5Y2GSCh3LXA=", + "lastModified": 1681092193, + "narHash": "sha256-JerCqqOqbT2tBnXQW4EqwFl0hHnuZp21rIQ6lu/N4rI=", "owner": "nix-community", "repo": "home-manager", - "rev": "d6f3ba090ed090ae664ab5bac329654093aae725", + "rev": "f9edbedaf015013eb35f8caacbe0c9666bbc16af", "type": "github" }, "original": { @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1680988029, - "narHash": "sha256-jaNC/WsWbodeKD5QA82NnFCZE6DiQZZtaJF2A/yxrAE=", + "lastModified": 1681087167, + "narHash": "sha256-oFyu04bXSC/uNjB9d+OUBHNFUlsxap7RbAC3CkltsqU=", "owner": "neovim", "repo": "neovim", - "rev": "339011f59c25937567f1e88d663c22dade5e217a", + "rev": "3c724fe1f3efae0d00b43e381523ea2ec7229328", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681027923, - "narHash": "sha256-r1D/WEhweAOcrVP493wbsFp4ICH+jmTLRfjmMHOZJYg=", + "lastModified": 1681114415, + "narHash": "sha256-3RgYmhue+78Ikyjhq51OtxwfJNUTdETP/E2hzYtcS3I=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b0e03aec365db0fdf29d19da3cc6b6d229961494", + "rev": "0189b22ba12d8817d00d58201c05884795024386", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1681002951, - "narHash": "sha256-nD9fXN7EVKGovtjrXIuA7Si9M6PD9b02GNtvQPTSuOk=", + "lastModified": 1681064623, + "narHash": "sha256-UngFykv8KTrjxFeu4ZMvsOwFrxsa0A3ZPwyLhxb0Rrs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "431bf1e6cdd494e5230fbb72884afb4ca612c578", + "rev": "da0b0bc6a5d699a8a9ffbf9e1b19e8642307062a", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1681033237, - "narHash": "sha256-CLR6DryYN2wQSInDTaF/vydiSHXcCX6XYFlxsRNTT4w=", + "lastModified": 1681154110, + "narHash": "sha256-OQwWzlzAY1dCqgSsgZzsPIOGmX4pBGaoXOy0rSl4b5Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "615e45cd117e9fda14ba2c2b2339c497ccf280e8", + "rev": "115a96e2ac1e92937cd47c30e073e16dcaaf6247", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1680945546, - "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=", + "lastModified": 1681126633, + "narHash": "sha256-evQ3Ct/yJDSHej16Hiq+JfxRjgm9FXu/2LBxsyorGdE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d", + "rev": "db24d86dd8a4769c50d6b7295e81aa280cd93f35", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1680865339, - "narHash": "sha256-H6rmJ1CyJ3Q5ZyoLMYq/UEYMS9Q1orJjRpWiQ47HudE=", + "lastModified": 1681091990, + "narHash": "sha256-ifIzhksUBZKp5WgCuoVhDY32qaEplXp7khzrB6zkaFc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0040164e473509b4aee6aedb3b923e400d6df10b", + "rev": "ea96b4af6148114421fda90df33cf236ff5ecf1d", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681069504, - "narHash": "sha256-1uLGUDT7wJV70WsSkoKHJDkAHhr1BMIeN6CNGeIPX+w=", + "lastModified": 1681192133, + "narHash": "sha256-DUSgA2cvb1KXj32Bp+Wmgc9HGrU53wOjulqnZFEbWNM=", "owner": "nix-community", "repo": "NUR", - "rev": "f23f95bc01269def764f77204516c96813c3a202", + "rev": "b41ff8c0d02b5306febfdd7e94724e528f2c0cec", "type": "github" }, "original": { From 44e16c6c002f944f7b22179998b7b15c02916418 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Apr 2023 11:12:48 +0200 Subject: [PATCH 1203/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 62ca43f8..612836dd 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -6,6 +6,7 @@ "bufferline.nvim": { "branch": "main", "commit": "eb4e95be22c55890b90fc01a8223e0c0ea4a0862" }, "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-cmdline": { "branch": "main", "commit": "8fcc934a52af96120fe26358985c10c035984b53" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, @@ -15,7 +16,7 @@ "copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "diffview.nvim": { "branch": "main", "commit": "6bebefbc4c90e6d2b8c65e65b055d284475d89f8" }, - "dressing.nvim": { "branch": "master", "commit": "91b9ba8a9474d2c4156dc2f3e858e07ae8faecf0" }, + "dressing.nvim": { "branch": "master", "commit": "c705b3890779ea05bd910e9d06af8a209bfb6ad8" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, @@ -24,11 +25,11 @@ "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, - "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, + "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, - "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a8d5db8f227b9b236d1c54a9c6234bc033825ce7" }, - "mason.nvim": { "branch": "main", "commit": "2311d9d883eb709ad9979a726a38c5ce1343b63c" }, + "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "a5ca8b03972b347b74b2ad2f7f23f120a514593b" }, + "mason.nvim": { "branch": "main", "commit": "cbe2c13249819cd40e888f5c07e636c7a7bbf7e3" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -46,25 +47,25 @@ "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, "nui.nvim": { "branch": "main", "commit": "1f43b13d133eb4b4f53a4485379d9afa58808389" }, - "null-ls.nvim": { "branch": "main", "commit": "7e362189bc1598f36ba5e349ad6b35bed541ec40" }, + "null-ls.nvim": { "branch": "main", "commit": "5855128178fa78293acdfb5b4e41ef046779240b" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "27e9e1d2638ffd133b06f314a49ac55825cb1017" }, + "nvim-lspconfig": { "branch": "master", "commit": "1ec6f5cbf6ffc44c84783d70039df5295ca22b4e" }, "nvim-navic": { "branch": "master", "commit": "27124a773d362628b114cd12016e743dab4ccf3e" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, - "nvim-spider": { "branch": "main", "commit": "fcae87f8c73cc8624eacf6c5fd5de4d5e16ee0c0" }, + "nvim-spider": { "branch": "main", "commit": "d1f6e43c9afe17ce32d3c8fbf0047e79d8b6e594" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "fa9fe9a95ba481e26e11eede4657f8c5350a0eaa" }, - "nvim-treesitter-context": { "branch": "master", "commit": "38203f5e6c62617b3c07662dc71ce3047ecd90d3" }, + "nvim-treesitter": { "branch": "master", "commit": "584ccea56e2d37b31ba292da2b539e1a4bb411ca" }, + "nvim-treesitter-context": { "branch": "master", "commit": "68eaeb86738c660f7f31afb2cbfb2bdec50bbd92" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "f16ec8f6e5d23e4349501dae46e0a661918e086e" }, + "nvim-web-devicons": { "branch": "master", "commit": "0568104bf8d0c3ab16395433fcc5c1638efc25d4" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, - "playground": { "branch": "master", "commit": "934cb4c4adc2e7f4f351846a63c9532018c996ed" }, + "playground": { "branch": "master", "commit": "db54848c7d878965bc31237059841f4e91e9de93" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, @@ -73,7 +74,7 @@ "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "7141515a7cabde46449675a403ed564416363887" }, + "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, From a0513f6da082baa7079c9ad4b0528faf554b01be Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Apr 2023 11:36:16 +0200 Subject: [PATCH 1204/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0189b22ba12d8817d00d58201c05884795024386' (2023-04-10) → 'github:nix-community/neovim-nightly-overlay/d70a64bccd2c68b15593beb523a50bd011bfdab5' (2023-04-11) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/3c724fe1f3efae0d00b43e381523ea2ec7229328?dir=contrib' (2023-04-10) → 'github:neovim/neovim/7ffe450173d2521c2d53b147e930c50767a7795a?dir=contrib' (2023-04-11) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/da0b0bc6a5d699a8a9ffbf9e1b19e8642307062a' (2023-04-09) → 'github:nixos/nixpkgs/21f48f0d273ef58c46b9b4c14cf5706c72a36e43' (2023-04-10) • Updated input 'nur': 'github:nix-community/NUR/b41ff8c0d02b5306febfdd7e94724e528f2c0cec' (2023-04-11) → 'github:nix-community/NUR/a013ab00e087108ca06c9f380c01617c8aec2a71' (2023-04-11) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 802eed7d..7074e098 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681087167, - "narHash": "sha256-oFyu04bXSC/uNjB9d+OUBHNFUlsxap7RbAC3CkltsqU=", + "lastModified": 1681179625, + "narHash": "sha256-+ySYAm4QHNSW+82wsEsKlVLhIRwJmZDmTrZ8q3EHzU8=", "owner": "neovim", "repo": "neovim", - "rev": "3c724fe1f3efae0d00b43e381523ea2ec7229328", + "rev": "7ffe450173d2521c2d53b147e930c50767a7795a", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681114415, - "narHash": "sha256-3RgYmhue+78Ikyjhq51OtxwfJNUTdETP/E2hzYtcS3I=", + "lastModified": 1681200825, + "narHash": "sha256-Tksu8Jsefj0XNMtqqEUe2oi3/zmi3CoY3hWDOoajfvM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0189b22ba12d8817d00d58201c05884795024386", + "rev": "d70a64bccd2c68b15593beb523a50bd011bfdab5", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1681064623, - "narHash": "sha256-UngFykv8KTrjxFeu4ZMvsOwFrxsa0A3ZPwyLhxb0Rrs=", + "lastModified": 1681124868, + "narHash": "sha256-B93QD0zFE6yc7R5F0bwdhY+y7s5UU9nrlhAAw1OA9mI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da0b0bc6a5d699a8a9ffbf9e1b19e8642307062a", + "rev": "21f48f0d273ef58c46b9b4c14cf5706c72a36e43", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681192133, - "narHash": "sha256-DUSgA2cvb1KXj32Bp+Wmgc9HGrU53wOjulqnZFEbWNM=", + "lastModified": 1681202919, + "narHash": "sha256-LKAF4NQV3mnQ0oTcfk9yrNqj3DgjN0UW+uxu464p1Rc=", "owner": "nix-community", "repo": "NUR", - "rev": "b41ff8c0d02b5306febfdd7e94724e528f2c0cec", + "rev": "a013ab00e087108ca06c9f380c01617c8aec2a71", "type": "github" }, "original": { From c1fee0789171f1995efedb420dba10dc7aad4ae5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Apr 2023 11:52:58 +0200 Subject: [PATCH 1205/2080] nvim lsp: add texlab. --- lazyvim/nvim/lua/plugins/lsp.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index c84c240a..a41cad2c 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -73,8 +73,12 @@ return { -- rnix-lsp is installed using nix mason = false, }, - -- https://github.com/redhat-developer/yaml-language-server + texlab = {}, + -- XXX: disabled as it's to beinstalled manually + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp + -- textlsp = {}, yamlls = { + -- https://github.com/redhat-developer/yaml-language-server settings = { yaml = { keyOrdering = false, From 09cc235c434d85d37d2021c07ba0f093c4559164 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Apr 2023 11:54:01 +0200 Subject: [PATCH 1206/2080] neovim: use usual colorscheme for markdown files. --- lazyvim/nvim/lua/plugins/ui.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index 1f3a98fb..96f00cb3 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -1,14 +1,14 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/ui.lua return { - -- Install treesitter-aware fork of dracula theme - -- { "Mofiqul/dracula.nvim" }, - -- Alternative themes -- { "shaunsingh/oxocarbon.nvim" }, -- { "habamax/vim-habamax" }, -- { "ellisonleao/gruvbox.nvim" }, -- { "rose-pine/neovim", name = "rose-pine" }, -- { "drewtempelmeyer/palenight.vim" }, + -- treesitter-aware fork of dracula theme + -- { "Mofiqul/dracula.nvim" }, + -- { "bluz71/vim-nightfly-colors" }, { "tokyonight.nvim", @@ -71,7 +71,7 @@ return { event = "VeryLazy", opts = { themes = { - markdown = { colorscheme = "catppuccin-frappe" }, + -- markdown = { colorscheme = "dracula" }, help = { colorscheme = "catppuccin-frappe" }, -- noice = { colorscheme = "catppuccin-frappe" }, }, From f7d88abae3f32af5a2841b2041b491547a316664 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Apr 2023 11:54:42 +0200 Subject: [PATCH 1207/2080] nix: back to neovim-unstable as plugins are not yet ready for neovim 0.10 --- home/neovim-nightly.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index e07b4978..49007062 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -8,9 +8,10 @@ in { programs.neovim = { enable = true; - # XXX working on darwin - # package = pkgs-unstable.neovim-unwrapped; - package = neovim-nightly; + # package = neovim-unwrapped; + package = pkgs-unstable.neovim-unwrapped; + # XXX: disabled until most plugins are updated to work with neovim 0.10 + # package = neovim-nightly; # use nvim by default vimAlias = true; From 64e815fb3e1e0c5d65fd7ce33d036fd8678cbb7c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Apr 2023 11:55:16 +0200 Subject: [PATCH 1208/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 612836dd..6bea3ea5 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -16,7 +16,8 @@ "copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, "diffview.nvim": { "branch": "main", "commit": "6bebefbc4c90e6d2b8c65e65b055d284475d89f8" }, - "dressing.nvim": { "branch": "master", "commit": "c705b3890779ea05bd910e9d06af8a209bfb6ad8" }, + "dracula.nvim": { "branch": "main", "commit": "8653e7699810b63bda8ef267055cb4d4237670ef" }, + "dressing.nvim": { "branch": "master", "commit": "91b9ba8a9474d2c4156dc2f3e858e07ae8faecf0" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, @@ -25,11 +26,11 @@ "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, - "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" }, + "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, - "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a5ca8b03972b347b74b2ad2f7f23f120a514593b" }, - "mason.nvim": { "branch": "main", "commit": "cbe2c13249819cd40e888f5c07e636c7a7bbf7e3" }, + "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "a8d5db8f227b9b236d1c54a9c6234bc033825ce7" }, + "mason.nvim": { "branch": "main", "commit": "e5bb23fa9ee2a2047368b05f262de6b2152d7a27" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -46,35 +47,36 @@ "neogit": { "branch": "master", "commit": "039ff3212ec43cc4d3332956dfb54e263c8d5033" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, - "nui.nvim": { "branch": "main", "commit": "1f43b13d133eb4b4f53a4485379d9afa58808389" }, - "null-ls.nvim": { "branch": "main", "commit": "5855128178fa78293acdfb5b4e41ef046779240b" }, + "nui.nvim": { "branch": "main", "commit": "bf5900f1b60bf6499755ac92315181a24a87a577" }, + "null-ls.nvim": { "branch": "main", "commit": "7e362189bc1598f36ba5e349ad6b35bed541ec40" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "1ec6f5cbf6ffc44c84783d70039df5295ca22b4e" }, + "nvim-lspconfig": { "branch": "master", "commit": "10fa01d553ce10646350461ac5ddc71f189e9d1a" }, "nvim-navic": { "branch": "master", "commit": "27124a773d362628b114cd12016e743dab4ccf3e" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, - "nvim-spider": { "branch": "main", "commit": "d1f6e43c9afe17ce32d3c8fbf0047e79d8b6e594" }, + "nvim-spider": { "branch": "main", "commit": "fcae87f8c73cc8624eacf6c5fd5de4d5e16ee0c0" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "584ccea56e2d37b31ba292da2b539e1a4bb411ca" }, - "nvim-treesitter-context": { "branch": "master", "commit": "68eaeb86738c660f7f31afb2cbfb2bdec50bbd92" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, + "nvim-treesitter": { "branch": "master", "commit": "a82501244a75b3d59cdc42496e5ad841f31e4d6d" }, + "nvim-treesitter-context": { "branch": "master", "commit": "38203f5e6c62617b3c07662dc71ce3047ecd90d3" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "0568104bf8d0c3ab16395433fcc5c1638efc25d4" }, + "nvim-web-devicons": { "branch": "master", "commit": "defb7da4d3d313bf31982c52fd78e414f02840c9" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, - "playground": { "branch": "master", "commit": "db54848c7d878965bc31237059841f4e91e9de93" }, + "playground": { "branch": "master", "commit": "934cb4c4adc2e7f4f351846a63c9532018c996ed" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, + "rose-pine": { "branch": "main", "commit": "835129f6a877005890b77562fb0cd7acb35e0292" }, "sqlite.lua": { "branch": "master", "commit": "6c00ab414dc1b69621b145908c582b747f24b46e" }, "ssr.nvim": { "branch": "main", "commit": "a30674d07b220304ed81f1f46a8f1de36ce74c38" }, "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, + "telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, @@ -82,6 +84,7 @@ "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-matchup": { "branch": "master", "commit": "3a48818a8113a502f245c29d894201421727577a" }, + "vim-nightfly-colors": { "branch": "master", "commit": "72032d61cfe18511d9a1036c02e540e7e09ee8e6" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, From 5da80f32da5fc4d9283a6855fa1a2319868bb7e6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Apr 2023 18:11:59 +0200 Subject: [PATCH 1209/2080] lazyvim: comment update :) --- lazyvim/nvim/lua/plugins/coding.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 7cf5de1f..4e2255e1 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -348,6 +348,7 @@ return { cmp.setup.filetype("mail", { ---@diagnostic disable-next-line: missing-parameter sources = cmp.config.sources({ + -- would be useful to be able to use this only when completing headers { name = "lbdb" }, { name = "nvim_lsp" }, { name = "luasnip" }, @@ -364,8 +365,8 @@ return { }), }) - -- Do not use copliot in norg files - -- cmp.setup.filetype("norg", { + -- Do not use copilot in norg and markdown files + -- cmp.setup.filetype({"norg", "markdown}", { -- ---@diagnostic disable-next-line: missing-parameter -- sources = cmp.config.sources(limited_sources), -- }) From 1bbfabd7798e8e51a619ec0858c4b001e93172ba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Apr 2023 18:12:18 +0200 Subject: [PATCH 1210/2080] lsp: use ltex in tex files. --- lazyvim/nvim/lua/plugins/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index a41cad2c..4545762f 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -40,6 +40,7 @@ return { "org", "pandoc", "rst", + "tex", "text", }, settings = { From 22a34412340bb1aaab4f54937602f7f97bf9176d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 14 Apr 2023 12:52:47 +0200 Subject: [PATCH 1211/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/d70a64bccd2c68b15593beb523a50bd011bfdab5' (2023-04-11) → 'github:nix-community/neovim-nightly-overlay/ba5bb0552b0a3d09b0dcdbe0602cd0ae06d29256' (2023-04-14) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/7ffe450173d2521c2d53b147e930c50767a7795a?dir=contrib' (2023-04-11) → 'github:neovim/neovim/37bb40701d672d5213ec1be4e21d7808aee968e7?dir=contrib' (2023-04-14) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/21f48f0d273ef58c46b9b4c14cf5706c72a36e43' (2023-04-10) → 'github:nixos/nixpkgs/96ba1c52e54e74c3197f4d43026b3f3d92e83ff9' (2023-04-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/ea96b4af6148114421fda90df33cf236ff5ecf1d' (2023-04-10) → 'github:NixOS/nixpkgs/87edbd74246ccdfa64503f334ed86fa04010bab9' (2023-04-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/115a96e2ac1e92937cd47c30e073e16dcaaf6247' (2023-04-10) → 'github:nixos/nixpkgs/2b1bba76a13ed39c7abc0a6e8f74f9e168cf3c7c' (2023-04-13) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/db24d86dd8a4769c50d6b7295e81aa280cd93f35' (2023-04-10) → 'github:nixos/nixpkgs/fe2ecaf706a5907b5e54d979fbde4924d84b65fc' (2023-04-12) • Updated input 'nur': 'github:nix-community/NUR/a013ab00e087108ca06c9f380c01617c8aec2a71' (2023-04-11) → 'github:nix-community/NUR/601c78990e2cfb507c6ab6061d7f839babe6f575' (2023-04-14) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 7074e098..3e14d05b 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681179625, - "narHash": "sha256-+ySYAm4QHNSW+82wsEsKlVLhIRwJmZDmTrZ8q3EHzU8=", + "lastModified": 1681441109, + "narHash": "sha256-18pKVQvULQ8ZGnzoGbfImRO179yShRkRBmV7bK1Hm58=", "owner": "neovim", "repo": "neovim", - "rev": "7ffe450173d2521c2d53b147e930c50767a7795a", + "rev": "37bb40701d672d5213ec1be4e21d7808aee968e7", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681200825, - "narHash": "sha256-Tksu8Jsefj0XNMtqqEUe2oi3/zmi3CoY3hWDOoajfvM=", + "lastModified": 1681459992, + "narHash": "sha256-KpZPBJgqxTXX6PPRKZvynYxP0hnI5rHGXjfg9jkIhjU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d70a64bccd2c68b15593beb523a50bd011bfdab5", + "rev": "ba5bb0552b0a3d09b0dcdbe0602cd0ae06d29256", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1681124868, - "narHash": "sha256-B93QD0zFE6yc7R5F0bwdhY+y7s5UU9nrlhAAw1OA9mI=", + "lastModified": 1681358109, + "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", "owner": "nixos", "repo": "nixpkgs", - "rev": "21f48f0d273ef58c46b9b4c14cf5706c72a36e43", + "rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1681154110, - "narHash": "sha256-OQwWzlzAY1dCqgSsgZzsPIOGmX4pBGaoXOy0rSl4b5Y=", + "lastModified": 1681349002, + "narHash": "sha256-9Ckc2WvSwuYrPfk3ZXgPasM1ir/cgs6UV0EpIWyPGZE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "115a96e2ac1e92937cd47c30e073e16dcaaf6247", + "rev": "2b1bba76a13ed39c7abc0a6e8f74f9e168cf3c7c", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1681126633, - "narHash": "sha256-evQ3Ct/yJDSHej16Hiq+JfxRjgm9FXu/2LBxsyorGdE=", + "lastModified": 1681303793, + "narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "db24d86dd8a4769c50d6b7295e81aa280cd93f35", + "rev": "fe2ecaf706a5907b5e54d979fbde4924d84b65fc", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1681091990, - "narHash": "sha256-ifIzhksUBZKp5WgCuoVhDY32qaEplXp7khzrB6zkaFc=", + "lastModified": 1681269223, + "narHash": "sha256-i6OeI2f7qGvmLfD07l1Az5iBL+bFeP0RHixisWtpUGo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea96b4af6148114421fda90df33cf236ff5ecf1d", + "rev": "87edbd74246ccdfa64503f334ed86fa04010bab9", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681202919, - "narHash": "sha256-LKAF4NQV3mnQ0oTcfk9yrNqj3DgjN0UW+uxu464p1Rc=", + "lastModified": 1681469215, + "narHash": "sha256-1y18rICQVwoJUGlK2UAH8pB9b83B1zncMMucZ/9Zlfc=", "owner": "nix-community", "repo": "NUR", - "rev": "a013ab00e087108ca06c9f380c01617c8aec2a71", + "rev": "601c78990e2cfb507c6ab6061d7f839babe6f575", "type": "github" }, "original": { From a02d80560c04daf0f5e57a2efe9892f7cea71b82 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 14 Apr 2023 14:57:06 +0200 Subject: [PATCH 1212/2080] Bump neovim lazy-lock.json --- lazyvim/nvim/lazy-lock.json | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 6bea3ea5..f7edfe39 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -6,20 +6,18 @@ "bufferline.nvim": { "branch": "main", "commit": "eb4e95be22c55890b90fc01a8223e0c0ea4a0862" }, "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "8fcc934a52af96120fe26358985c10c035984b53" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" }, - "copilot.lua": { "branch": "master", "commit": "f0b41fb89ef2ed7ab4e8cd5208a30755aa638fc4" }, + "copilot.lua": { "branch": "master", "commit": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb" }, "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "diffview.nvim": { "branch": "main", "commit": "6bebefbc4c90e6d2b8c65e65b055d284475d89f8" }, - "dracula.nvim": { "branch": "main", "commit": "8653e7699810b63bda8ef267055cb4d4237670ef" }, - "dressing.nvim": { "branch": "master", "commit": "91b9ba8a9474d2c4156dc2f3e858e07ae8faecf0" }, + "diffview.nvim": { "branch": "main", "commit": "63720aa5a70ce4aa386be407d0e612cd9e63861a" }, + "dressing.nvim": { "branch": "master", "commit": "0e3e1eba147fee6e638ac1ac28f0495bcde17319" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" }, + "friendly-snippets": { "branch": "main", "commit": "781af8c404ce351e999b5102b9724ee847f3ad18" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "gx.nvim": { "branch": "main", "commit": "57ae5fb894f435fe064602e631f6a145f8c61d08" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, @@ -29,8 +27,8 @@ "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a8d5db8f227b9b236d1c54a9c6234bc033825ce7" }, - "mason.nvim": { "branch": "main", "commit": "e5bb23fa9ee2a2047368b05f262de6b2152d7a27" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "b81c50c4baae7d80b1723b3fa86e814d7754d15b" }, + "mason.nvim": { "branch": "main", "commit": "6845ccfe009d6fbc5a6a266c285779ad462b234b" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -44,33 +42,32 @@ "neoconf.nvim": { "branch": "main", "commit": "55923798eb46c2d38bf111dc2bc285c13e286765" }, "neodev.nvim": { "branch": "main", "commit": "da1562e1e3df0e994ddc52cb4ba22376a5d7f2fc" }, "neogen": { "branch": "main", "commit": "353c5ef8e51c14445cc85666d4d09e4cf98598b2" }, - "neogit": { "branch": "master", "commit": "039ff3212ec43cc4d3332956dfb54e263c8d5033" }, + "neogit": { "branch": "master", "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, - "nui.nvim": { "branch": "main", "commit": "bf5900f1b60bf6499755ac92315181a24a87a577" }, - "null-ls.nvim": { "branch": "main", "commit": "7e362189bc1598f36ba5e349ad6b35bed541ec40" }, + "nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" }, + "null-ls.nvim": { "branch": "main", "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "10fa01d553ce10646350461ac5ddc71f189e9d1a" }, + "nvim-lspconfig": { "branch": "master", "commit": "e52efca5d4f5536533d447ec0d97e4d525b37ace" }, "nvim-navic": { "branch": "master", "commit": "27124a773d362628b114cd12016e743dab4ccf3e" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, - "nvim-spider": { "branch": "main", "commit": "fcae87f8c73cc8624eacf6c5fd5de4d5e16ee0c0" }, + "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "a82501244a75b3d59cdc42496e5ad841f31e4d6d" }, - "nvim-treesitter-context": { "branch": "master", "commit": "38203f5e6c62617b3c07662dc71ce3047ecd90d3" }, + "nvim-treesitter": { "branch": "master", "commit": "f499a711fa5c573b5ba0af09a3c9955a6c14b062" }, + "nvim-treesitter-context": { "branch": "master", "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "defb7da4d3d313bf31982c52fd78e414f02840c9" }, + "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, "playground": { "branch": "master", "commit": "934cb4c4adc2e7f4f351846a63c9532018c996ed" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, - "rose-pine": { "branch": "main", "commit": "835129f6a877005890b77562fb0cd7acb35e0292" }, "sqlite.lua": { "branch": "master", "commit": "6c00ab414dc1b69621b145908c582b747f24b46e" }, "ssr.nvim": { "branch": "main", "commit": "a30674d07b220304ed81f1f46a8f1de36ce74c38" }, "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, @@ -84,10 +81,9 @@ "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-matchup": { "branch": "master", "commit": "3a48818a8113a502f245c29d894201421727577a" }, - "vim-nightfly-colors": { "branch": "master", "commit": "72032d61cfe18511d9a1036c02e540e7e09ee8e6" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, - "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, + "vim-startuptime": { "branch": "master", "commit": "daacd02e773944b8de312ddac83f436fae92cbb9" }, "which-key.nvim": { "branch": "main", "commit": "4b73390eec680b4c061ea175eb32c0ff3412271d" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "d907e638c879642d226d27469b53db6925f69d4c" } From 3bf4d6352d7b94c31e7db3c06578fd51435e42fe Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 14 Apr 2023 14:58:17 +0200 Subject: [PATCH 1213/2080] firefox nix: allow manual plugin install --- home/firefox.nix | 59 ++++++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/home/firefox.nix b/home/firefox.nix index db401415..58bc2ce8 100644 --- a/home/firefox.nix +++ b/home/firefox.nix @@ -8,34 +8,39 @@ enable = true; package = pkgs.wrapFirefox pkgs.firefox-unwrapped { extraPolicies = { - ExtensionSettings = let - ext = name: { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/${name}/latest.xpi"; + ExtensionSettings = + let + ext = name: { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/${name}/latest.xpi"; + }; + in + { + # Prevent manual installation of extensions + # "*" = { + # installation_mode = "blocked"; + # blocked_install_message = "Extensions managed by home-manager."; + # }; + "uBlock0@raymondhill.net" = ext "ublock-origin"; + "@contain-facebook" = ext "facebook-container"; + "{446900e4-71c2-419f-a6a7-df9c091e268b}" = ext "bitwarden-password-manager"; + # Cookie quick manager + "{60f82f00-9ad5-4de5-b31c-b16a47c51558}" = ext "cookie-quick-manager"; + # cookies.txt: for exporting cookies to a Netscape HTTP Cookie file + # "{12cf650b-1822-40aa-bff0-996df6948878}" = ext "cookies.txt"; + # foxyproxy Standard + "foxyproxy@eric.h.jung" = ext "foxyproxy"; + # wappalyzer + "wappalyzer@crunchlabz.com" = ext "wappalyzer"; + # https://addons.mozilla.org/firefox/downloads/file/4066782/foxytab-2.31.xpi + # = ext "foxytab"; + # Gnome shell integration + # "chrome-gnome-shell@gnome.org" = ext "gnome-shell-integration"; + "dictionnaire_francais1" = { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/file/3581786/dictionnaire_francais1-latest.xpi"; + }; }; - in { - "*" = { - installation_mode = "blocked"; - blocked_install_message = "Extensions managed by home-manager."; - }; - "uBlock0@raymondhill.net" = ext "ublock-origin"; - "@contain-facebook" = ext "facebook-container"; - "{446900e4-71c2-419f-a6a7-df9c091e268b}" = ext "bitwarden-password-manager"; - # Cookie quick manager - "{60f82f00-9ad5-4de5-b31c-b16a47c51558}" = ext "cookie-quick-manager"; - # cookies.txt: for exporting cookies to a Netscape HTTP Cookie file - # "{12cf650b-1822-40aa-bff0-996df6948878}" = ext "cookies.txt"; - # foxyproxy Standard - "foxyproxy@eric.h.jung" = ext "foxyproxy"; - # wappalyzer - "wappalyzer@crunchlabz.com" = ext "wappalyzer"; - # Gnome shell integration - # "chrome-gnome-shell@gnome.org" = ext "gnome-shell-integration"; - "dictionnaire_francais1" = { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/file/3581786/dictionnaire_francais1-latest.xpi"; - }; - }; PasswordManagerEnabled = false; EnableTrackingProtection = { Value = true; From 65219a4514c02e786459753e6267235459017a48 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 14 Apr 2023 18:37:26 +0200 Subject: [PATCH 1214/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/ba5bb0552b0a3d09b0dcdbe0602cd0ae06d29256' (2023-04-14) → 'github:nix-community/neovim-nightly-overlay/b1960aa4e67cf3ea170e243113afe85b1390a9c9' (2023-04-14) • Updated input 'nur': 'github:nix-community/NUR/601c78990e2cfb507c6ab6061d7f839babe6f575' (2023-04-14) → 'github:nix-community/NUR/948fed895eea21c672a04d0790f42306a543c004' (2023-04-14) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 3e14d05b..cf614554 100644 --- a/flake.lock +++ b/flake.lock @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681459992, - "narHash": "sha256-KpZPBJgqxTXX6PPRKZvynYxP0hnI5rHGXjfg9jkIhjU=", + "lastModified": 1681470660, + "narHash": "sha256-ycmA2VD4YASPCXzC77qMv6eVNznbJN7CVAQlSFUUFPM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ba5bb0552b0a3d09b0dcdbe0602cd0ae06d29256", + "rev": "b1960aa4e67cf3ea170e243113afe85b1390a9c9", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681469215, - "narHash": "sha256-1y18rICQVwoJUGlK2UAH8pB9b83B1zncMMucZ/9Zlfc=", + "lastModified": 1681487148, + "narHash": "sha256-Gy/PiI16dgM2ZlYYaaak9hBL6Y1ukxFJkxz6hwV3AFM=", "owner": "nix-community", "repo": "NUR", - "rev": "601c78990e2cfb507c6ab6061d7f839babe6f575", + "rev": "948fed895eea21c672a04d0790f42306a543c004", "type": "github" }, "original": { From eee3381b8ef42600f45276405a214e8f35312a9a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 14 Apr 2023 21:07:35 +0200 Subject: [PATCH 1215/2080] treesitter: help parser renamed to vimdoc. --- lazyvim/nvim/lua/plugins/treesitter.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/treesitter.lua b/lazyvim/nvim/lua/plugins/treesitter.lua index 68e2be7b..bd0610b8 100644 --- a/lazyvim/nvim/lua/plugins/treesitter.lua +++ b/lazyvim/nvim/lua/plugins/treesitter.lua @@ -41,7 +41,6 @@ return { "gitignore", "go", "graphql", - "help", "html", "http", "java", @@ -71,6 +70,7 @@ return { "typescript", "vhs", "vim", + "vimdoc", "vue", "wgsl", "yaml", From 87e0ff81e0d00b371dee8f2874b53aa9b12547cd Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 14 Apr 2023 21:07:57 +0200 Subject: [PATCH 1216/2080] main.nix: install gcc on osx, clang + llvm on nixos. --- home/main.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index c5fa4955..7a57bbe0 100644 --- a/home/main.nix +++ b/home/main.nix @@ -57,7 +57,6 @@ nodePackages.markdownlint-cli nodePackages.prettier gnumake - gcc # clang # llvm # XXX textlint doesn't foudn the terminology rule @@ -96,6 +95,8 @@ nextcloud-client lm_sensors liquidctl + clang + llvm gparted arch-install-scripts nitrokey-app @@ -112,6 +113,7 @@ shfmt ] ++ lib.optionals stdenv.isDarwin [ coreutils + gcc ncurses m-cli # useful macOS CLI commands ]; From fd00fa0181a489443ccc36e4de6ae5ba7217e612 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 14 Apr 2023 21:08:26 +0200 Subject: [PATCH 1217/2080] vim-matchup: use latest version to support nvim 0.10 --- lazyvim/nvim/lua/plugins/coding.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 4e2255e1..1b46ae05 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -427,6 +427,8 @@ return { -- improved % { "andymass/vim-matchup", + -- XXX: Need to run master as tagged release is outdated + version = false, event = "BufReadPost", config = function() vim.g.matchup_matchparen_offscreen = { method = "status_manual" } From 75f41bccf5a31252ea108c5d6b55e2aae2d4c3f2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 14 Apr 2023 21:08:47 +0200 Subject: [PATCH 1218/2080] neovim-nightly: back to nightly, plugins looks up to date now. --- home/neovim-nightly.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index 49007062..477b6927 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -9,9 +9,8 @@ in programs.neovim = { enable = true; # package = neovim-unwrapped; - package = pkgs-unstable.neovim-unwrapped; - # XXX: disabled until most plugins are updated to work with neovim 0.10 - # package = neovim-nightly; + # package = pkgs-unstable.neovim-unwrapped; + package = neovim-nightly; # use nvim by default vimAlias = true; From 6ff445d24243a8964e5a9f960f23c999d21a3319 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 14 Apr 2023 21:09:31 +0200 Subject: [PATCH 1219/2080] Bump neovim lazy-lock.json --- lazyvim/nvim/lazy-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index f7edfe39..7b72c981 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -28,7 +28,7 @@ "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "b81c50c4baae7d80b1723b3fa86e814d7754d15b" }, - "mason.nvim": { "branch": "main", "commit": "6845ccfe009d6fbc5a6a266c285779ad462b234b" }, + "mason.nvim": { "branch": "main", "commit": "3664448c41717f1c40a42839cbb55c925ea11046" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -56,7 +56,7 @@ "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "f499a711fa5c573b5ba0af09a3c9955a6c14b062" }, + "nvim-treesitter": { "branch": "master", "commit": "f7e8b7420ccf8bc61534ea6155db03d62c7ff571" }, "nvim-treesitter-context": { "branch": "master", "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, @@ -80,7 +80,7 @@ "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "3a48818a8113a502f245c29d894201421727577a" }, + "vim-matchup": { "branch": "master", "commit": "57499f5ca9a66f233efa4faeb04571e5194863a6" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "daacd02e773944b8de312ddac83f436fae92cbb9" }, From fd4aabc8189c54422d6df47854439c17189ffe7d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 14 Apr 2023 21:16:23 +0200 Subject: [PATCH 1220/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/2b1bba76a13ed39c7abc0a6e8f74f9e168cf3c7c' (2023-04-13) → 'github:nixos/nixpkgs/80d54821fffaffbc90409a1262ea91071e0dff8f' (2023-04-13) • Updated input 'nur': 'github:nix-community/NUR/948fed895eea21c672a04d0790f42306a543c004' (2023-04-14) → 'github:nix-community/NUR/69a650e3560c95fc5d2cdc3ecb74f8baf7159ee2' (2023-04-14) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index cf614554..999096a5 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1681349002, - "narHash": "sha256-9Ckc2WvSwuYrPfk3ZXgPasM1ir/cgs6UV0EpIWyPGZE=", + "lastModified": 1681411673, + "narHash": "sha256-23S0skJVstbQtrhy+65Bi4Jrdw74hY1OYbBnuuQausc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2b1bba76a13ed39c7abc0a6e8f74f9e168cf3c7c", + "rev": "80d54821fffaffbc90409a1262ea91071e0dff8f", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681487148, - "narHash": "sha256-Gy/PiI16dgM2ZlYYaaak9hBL6Y1ukxFJkxz6hwV3AFM=", + "lastModified": 1681499126, + "narHash": "sha256-2Gyn9+p/FAlcGVkQNfvaAYO3ODpXtZ70ImqieJd8yk4=", "owner": "nix-community", "repo": "NUR", - "rev": "948fed895eea21c672a04d0790f42306a543c004", + "rev": "69a650e3560c95fc5d2cdc3ecb74f8baf7159ee2", "type": "github" }, "original": { From 9f04c09aa26307627d78ebb21692a137d2cc0e62 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 16 Apr 2023 10:05:40 +0200 Subject: [PATCH 1221/2080] Order entries --- home/main.nix | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/home/main.nix b/home/main.nix index 7a57bbe0..a27fa53d 100644 --- a/home/main.nix +++ b/home/main.nix @@ -28,6 +28,7 @@ fortune gh gnupg + inetutils mutt pydf ripgrep @@ -35,7 +36,6 @@ thefuck tree xz - inetutils # Graphical tools # XXX joplin-cli build failing on macOS @@ -51,12 +51,12 @@ beautysh black deno + gnumake isort jq nodePackages.alex nodePackages.markdownlint-cli nodePackages.prettier - gnumake # clang # llvm # XXX textlint doesn't foudn the terminology rule @@ -69,20 +69,20 @@ stylua # LSP servers + ltex-ls + nodePackages.yaml-language-server pkgs-unstable.ansible-language-server pyright rnix-lsp sumneko-lua-language-server - nodePackages.yaml-language-server - ltex-ls # Required for ltex-ls usage in neovim jdk11 nodePackages.bash-language-server nodePackages.vim-language-server pkgs-unstable.nodePackages.vscode-json-languageserver # Not yet in nixpkgs: https://github.com/NixOS/nixpkgs/pull/193682 - pkgs-unstable.marksman nodePackages.write-good + pkgs-unstable.marksman # Useful nix related tools # cachix # adding/managing alternative binary caches hosted by Cachix @@ -90,32 +90,32 @@ niv # easy dependency management for nix projects nodePackages.node2nix ] ++ lib.optionals stdenv.isLinux [ + arch-install-scripts checkmake + clang dracula-theme - nextcloud-client - lm_sensors + gparted liquidctl - clang llvm - gparted - arch-install-scripts + lm_sensors + nextcloud-client nitrokey-app # XXX not working # nixpkgs-unstable.pynitrokey - libreoffice-still - vlc dict + libreoffice-still perl perlPackages.PerlTidy + vlc # perl536Packages.PerlTidy python3Packages.flake8 - tree-sitter shfmt + tree-sitter ] ++ lib.optionals stdenv.isDarwin [ coreutils gcc - ncurses m-cli # useful macOS CLI commands + ncurses ]; programs.tealdeer = { enable = true; From bb960d0dad9d9881f8e89378e6e6202c4bca88f1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 16 Apr 2023 10:07:29 +0200 Subject: [PATCH 1222/2080] Order entries --- machines/brutal/configuration.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 23e3722a..822d3ceb 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -176,21 +176,20 @@ # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 # https://github.com/JonathanReeve/dotfiles/blob/master/dotfiles/configuration.nix#L61 fonts.fonts = with pkgs; [ - fantasque-sans-mono - font-awesome_5 # Only pick selected fonts (nerdfonts.override { fonts = [ "CascadiaCode" "JetBrainsMono" ]; }) + fantasque-sans-mono + fira-code + fira-code-symbols + font-awesome_5 + kochi-substitute + libertine material-design-icons material-icons - # pkgs-unstable.material-symbols noto-fonts noto-fonts-cjk noto-fonts-emoji - fira-code - fira-code-symbols - libertine - victor-mono - kochi-substitute recursive + victor-mono ]; } From a47d1fb68d9948fb6f85cb74c48414ef9e08c8a9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 16 Apr 2023 10:17:18 +0200 Subject: [PATCH 1223/2080] flake: style. --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index e38fef7e..7f64c4da 100644 --- a/flake.nix +++ b/flake.nix @@ -78,9 +78,9 @@ mail = import ./modules/home/mail; # Custom configuration manage in nix # neovim = import ./home/neovim.nix; - # Only nightly, no conf + # Only nightly, no conf, relying on using vim-managed config neovim = import ./home/neovim-nightly.nix; - # malob configuration + # malob configuration # neovim = import ./home/neovim-malob.nix; # programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; keybase = import ./home/keybase.nix; From 6d49b94c25d9fb03756465be80f5db788f2519b4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 16 Apr 2023 10:17:42 +0200 Subject: [PATCH 1224/2080] Add some more tools for vim --- home/main.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/home/main.nix b/home/main.nix index a27fa53d..45d8cc5c 100644 --- a/home/main.nix +++ b/home/main.nix @@ -36,6 +36,7 @@ thefuck tree xz + unzip # Graphical tools # XXX joplin-cli build failing on macOS @@ -50,10 +51,13 @@ ansible-lint beautysh black + cargo deno gnumake + go isort jq + luajitPackages.luarocks nodePackages.alex nodePackages.markdownlint-cli nodePackages.prettier @@ -111,6 +115,7 @@ python3Packages.flake8 shfmt tree-sitter + xclip ] ++ lib.optionals stdenv.isDarwin [ coreutils gcc From ccb00e874a26168ff340d53e06ebfa2200ffc8b1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 16 Apr 2023 10:18:37 +0200 Subject: [PATCH 1225/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/b1960aa4e67cf3ea170e243113afe85b1390a9c9' (2023-04-14) → 'github:nix-community/neovim-nightly-overlay/0e3e0029aa6353ecb7304d4a683d8d6ee69379ef' (2023-04-16) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/37bb40701d672d5213ec1be4e21d7808aee968e7?dir=contrib' (2023-04-14) → 'github:neovim/neovim/0d9b0fbe579343fa6d6c46e6e1bf6bb8719ea5e0?dir=contrib' (2023-04-16) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/96ba1c52e54e74c3197f4d43026b3f3d92e83ff9' (2023-04-13) → 'github:nixos/nixpkgs/29176972b4be60f7d3eb3101f696c99f2e6ada57' (2023-04-15) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/87edbd74246ccdfa64503f334ed86fa04010bab9' (2023-04-12) → 'github:NixOS/nixpkgs/fda0d99c2cbbb5c89d8855d258cb0821bd9113ad' (2023-04-14) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/80d54821fffaffbc90409a1262ea91071e0dff8f' (2023-04-13) → 'github:nixos/nixpkgs/c1349d64ab95d7340aca08bca72d94a1d8e4e981' (2023-04-16) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/fe2ecaf706a5907b5e54d979fbde4924d84b65fc' (2023-04-12) → 'github:nixos/nixpkgs/85b081528b937df4bfcaee80c3541b58f397df8b' (2023-04-15) • Updated input 'nur': 'github:nix-community/NUR/69a650e3560c95fc5d2cdc3ecb74f8baf7159ee2' (2023-04-14) → 'github:nix-community/NUR/acc7c1778eb3e81523da0e4ba334110809eaf0ac' (2023-04-16) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 999096a5..1ac886bd 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681441109, - "narHash": "sha256-18pKVQvULQ8ZGnzoGbfImRO179yShRkRBmV7bK1Hm58=", + "lastModified": 1681631972, + "narHash": "sha256-zF+sWaQPJpoDyhWXvwJGR7VryYr9+qBCWMTNRjA3BhQ=", "owner": "neovim", "repo": "neovim", - "rev": "37bb40701d672d5213ec1be4e21d7808aee968e7", + "rev": "0d9b0fbe579343fa6d6c46e6e1bf6bb8719ea5e0", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681470660, - "narHash": "sha256-ycmA2VD4YASPCXzC77qMv6eVNznbJN7CVAQlSFUUFPM=", + "lastModified": 1681632748, + "narHash": "sha256-c0CskvdpipnTn5TSjq6KqNkeKRPYCDMmVTdZL08HTJA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b1960aa4e67cf3ea170e243113afe85b1390a9c9", + "rev": "0e3e0029aa6353ecb7304d4a683d8d6ee69379ef", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1681358109, - "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", + "lastModified": 1681571934, + "narHash": "sha256-Q3B3HTqhTahhPCT53ahK1FPktOXlEWmudSttd9CWGbE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9", + "rev": "29176972b4be60f7d3eb3101f696c99f2e6ada57", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1681411673, - "narHash": "sha256-23S0skJVstbQtrhy+65Bi4Jrdw74hY1OYbBnuuQausc=", + "lastModified": 1681616393, + "narHash": "sha256-RwfsCyqLfXVslHWE4RD9RpNzF43CsnTUqGFJ1lPio9U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "80d54821fffaffbc90409a1262ea91071e0dff8f", + "rev": "c1349d64ab95d7340aca08bca72d94a1d8e4e981", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1681303793, - "narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=", + "lastModified": 1681557730, + "narHash": "sha256-j2E3639kS3Qop2jQPyqWCdenZNaqIdxfoTvAHnGuAGI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fe2ecaf706a5907b5e54d979fbde4924d84b65fc", + "rev": "85b081528b937df4bfcaee80c3541b58f397df8b", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1681269223, - "narHash": "sha256-i6OeI2f7qGvmLfD07l1Az5iBL+bFeP0RHixisWtpUGo=", + "lastModified": 1681482634, + "narHash": "sha256-cT/nr3L8khEYZSGp8qqwxFH+/q4/547MfyOdSj6MhBk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "87edbd74246ccdfa64503f334ed86fa04010bab9", + "rev": "fda0d99c2cbbb5c89d8855d258cb0821bd9113ad", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681499126, - "narHash": "sha256-2Gyn9+p/FAlcGVkQNfvaAYO3ODpXtZ70ImqieJd8yk4=", + "lastModified": 1681618215, + "narHash": "sha256-5tEzso6ZGw+bM4r1acy6js8ZbE1bryUpqFz2KEbYRm0=", "owner": "nix-community", "repo": "NUR", - "rev": "69a650e3560c95fc5d2cdc3ecb74f8baf7159ee2", + "rev": "acc7c1778eb3e81523da0e4ba334110809eaf0ac", "type": "github" }, "original": { From 356dfd7c4f8a932af723cfd67d0d67e4bf006c06 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 16 Apr 2023 10:31:03 +0200 Subject: [PATCH 1226/2080] Bump neovim lazy-lock.json --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 7b72c981..365e6126 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -3,7 +3,7 @@ "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, "SchemaStore.nvim": { "branch": "main", "commit": "a592fbe98959d13014b022ec1b1418498309019c" }, "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, - "bufferline.nvim": { "branch": "main", "commit": "eb4e95be22c55890b90fc01a8223e0c0ea4a0862" }, + "bufferline.nvim": { "branch": "main", "commit": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf" }, "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -17,7 +17,7 @@ "diffview.nvim": { "branch": "main", "commit": "63720aa5a70ce4aa386be407d0e612cd9e63861a" }, "dressing.nvim": { "branch": "master", "commit": "0e3e1eba147fee6e638ac1ac28f0495bcde17319" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "781af8c404ce351e999b5102b9724ee847f3ad18" }, + "friendly-snippets": { "branch": "main", "commit": "b1b78a6433268fc172adb5a843e165035e83861e" }, "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, "gx.nvim": { "branch": "main", "commit": "57ae5fb894f435fe064602e631f6a145f8c61d08" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, @@ -27,8 +27,8 @@ "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "b81c50c4baae7d80b1723b3fa86e814d7754d15b" }, - "mason.nvim": { "branch": "main", "commit": "3664448c41717f1c40a42839cbb55c925ea11046" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "6c8f7afd6162fa27719f9da9792e4314da41c501" }, + "mason.nvim": { "branch": "main", "commit": "5b25e13f905b26cd4ab2be64fec072c18a943220" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -56,7 +56,7 @@ "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "f7e8b7420ccf8bc61534ea6155db03d62c7ff571" }, + "nvim-treesitter": { "branch": "master", "commit": "f90a80a5a5b8c4b54be96e91a10d774d60afccc1" }, "nvim-treesitter-context": { "branch": "master", "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, @@ -64,7 +64,7 @@ "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, - "playground": { "branch": "master", "commit": "934cb4c4adc2e7f4f351846a63c9532018c996ed" }, + "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, @@ -84,7 +84,7 @@ "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, "vim-startuptime": { "branch": "master", "commit": "daacd02e773944b8de312ddac83f436fae92cbb9" }, - "which-key.nvim": { "branch": "main", "commit": "4b73390eec680b4c061ea175eb32c0ff3412271d" }, + "which-key.nvim": { "branch": "main", "commit": "8b1bb02fed6fd5c1f7e851959eaa1d0e8738da7f" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "d907e638c879642d226d27469b53db6925f69d4c" } } \ No newline at end of file From dc42df5f1790540dc95095488d501c3b97bcf0f5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 16 Apr 2023 10:40:37 +0200 Subject: [PATCH 1227/2080] No more use gnome by default --- machines/brutal/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 822d3ceb..d9ddd500 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -40,9 +40,9 @@ # Lightweight system services.xserver.displayManager.lightdm.enable = false; services.xserver.windowManager.i3.enable = true; - # services.xserver.displayManager.defaultSession = "none+i3"; + services.xserver.displayManager.defaultSession = "none+i3"; # GDM and Gnome - services.xserver.displayManager.defaultSession = "gnome"; + # services.xserver.displayManager.defaultSession = "gnome"; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; From 19969b89bad86a4d1c5797de52dc6074da04b04d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 16 Apr 2023 10:44:19 +0200 Subject: [PATCH 1228/2080] old uefi is gone. cosmetics. --- machines/brutal/hardware-configuration.nix | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/machines/brutal/hardware-configuration.nix b/machines/brutal/hardware-configuration.nix index f4c0caca..eb7390b7 100644 --- a/machines/brutal/hardware-configuration.nix +++ b/machines/brutal/hardware-configuration.nix @@ -5,7 +5,8 @@ { imports = - [ (modulesPath + "/installer/scan/not-detected.nix") + [ + (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; @@ -14,30 +15,26 @@ boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-label/nixos"; + { + device = "/dev/disk/by-label/nixos"; fsType = "ext4"; options = [ "noatime" ]; }; fileSystems."/boot" = - { device = "/dev/disk/by-label/boot"; + { + device = "/dev/disk/by-label/boot"; fsType = "vfat"; }; fileSystems."/mnt/data" = - { device = "/dev/disk/by-label/DataLinux"; + { + device = "/dev/disk/by-label/DataLinux"; fsType = "ext4"; }; - fileSystems."/mnt/old_uefi" = - { device = "/dev/nvme0n1p2"; - fsType = "vfat"; - options = [ "noauto" ]; - }; - swapDevices = - [ { device = "/dev/disk/by-label/swap"; } - ]; + [{ device = "/dev/disk/by-label/swap"; }]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's From df2e95500132b73b86f41f317d7644aedf82ae07 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 16 Apr 2023 22:40:59 +0200 Subject: [PATCH 1229/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/c1349d64ab95d7340aca08bca72d94a1d8e4e981' (2023-04-16) → 'github:nixos/nixpkgs/84d94e1a502e21cbf185ef39c998c6c21ce51a87' (2023-04-16) • Updated input 'nur': 'github:nix-community/NUR/acc7c1778eb3e81523da0e4ba334110809eaf0ac' (2023-04-16) → 'github:nix-community/NUR/2d4b33e49d9c7566226e2b9477d8a32a55bba93d' (2023-04-16) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 1ac886bd..0cefd02d 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1681616393, - "narHash": "sha256-RwfsCyqLfXVslHWE4RD9RpNzF43CsnTUqGFJ1lPio9U=", + "lastModified": 1681642985, + "narHash": "sha256-u+I9zIScRdW092/F2T8NXF0EBS+Z3G5Gkg19yH0ei/Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c1349d64ab95d7340aca08bca72d94a1d8e4e981", + "rev": "84d94e1a502e21cbf185ef39c998c6c21ce51a87", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681618215, - "narHash": "sha256-5tEzso6ZGw+bM4r1acy6js8ZbE1bryUpqFz2KEbYRm0=", + "lastModified": 1681675255, + "narHash": "sha256-XowmNHNwQK2OWF37VrKFX1d7jkg3v5l7TZxayJqHXF8=", "owner": "nix-community", "repo": "NUR", - "rev": "acc7c1778eb3e81523da0e4ba334110809eaf0ac", + "rev": "2d4b33e49d9c7566226e2b9477d8a32a55bba93d", "type": "github" }, "original": { From b2990d9bc2fe3ad404e5e41b2821a5856897c273 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 16 Apr 2023 22:49:22 +0200 Subject: [PATCH 1230/2080] Bump neovim lazy-lock.json --- lazyvim/nvim/lazy-lock.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 365e6126..a15ebb5d 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,5 +1,5 @@ { - "LazyVim": { "branch": "main", "commit": "7ce1b1519a45f48aa4b5f35b7b7a886b42fe56d8" }, + "LazyVim": { "branch": "main", "commit": "700cdaf30d9b5425a3fa599ac00f835dfc02fe6c" }, "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, "SchemaStore.nvim": { "branch": "main", "commit": "a592fbe98959d13014b022ec1b1418498309019c" }, "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, @@ -23,12 +23,12 @@ "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, + "lazy.nvim": { "branch": "main", "commit": "eddee830ede0f95ced9802ca9abd3f8f662e5cc5" }, "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "6c8f7afd6162fa27719f9da9792e4314da41c501" }, - "mason.nvim": { "branch": "main", "commit": "5b25e13f905b26cd4ab2be64fec072c18a943220" }, + "mason.nvim": { "branch": "main", "commit": "0184cf4b6d009623d8610cae956c44471e68250d" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -44,22 +44,22 @@ "neogen": { "branch": "main", "commit": "353c5ef8e51c14445cc85666d4d09e4cf98598b2" }, "neogit": { "branch": "master", "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" }, "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, + "noice.nvim": { "branch": "main", "commit": "da0a8835c5c3d0b0ae19a0fd3908ec5269d9bb14" }, "nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" }, "null-ls.nvim": { "branch": "main", "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "e52efca5d4f5536533d447ec0d97e4d525b37ace" }, - "nvim-navic": { "branch": "master", "commit": "27124a773d362628b114cd12016e743dab4ccf3e" }, + "nvim-lspconfig": { "branch": "master", "commit": "eddaef928c1e1dd79a96f5db45f2fd7f2efe7ea0" }, + "nvim-navic": { "branch": "master", "commit": "226c1c0c0bf67e103b609f18907c778acc9095c2" }, "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "f90a80a5a5b8c4b54be96e91a10d774d60afccc1" }, + "nvim-treesitter": { "branch": "master", "commit": "21f2fb188e4e5bb81fd0ff467c5e96dad858becb" }, "nvim-treesitter-context": { "branch": "master", "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "ada15e97d7d48b409f8b135ced104e00e8479fb9" }, "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, @@ -75,7 +75,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" }, + "tokyonight.nvim": { "branch": "main", "commit": "6163a69e11d4cd3a6b0d16e0e6f8a96b52b2046e" }, "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, From 7a6b7b2c03ce46dc07db0a9d00b50c2ad3e61396 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 12 Apr 2023 14:36:20 +0200 Subject: [PATCH 1231/2080] nvim lsp: check with ltex only on save. --- lazyvim/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 4545762f..ee0ce94e 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -47,7 +47,7 @@ return { -- https://valentjn.github.io/ltex/settings.html ltex = { -- trace = { server = "verbose" }, - -- checkFrequency = "save", + checkFrequency = "save", language = "en-GB", additionalRules = { enablePickyRules = true, From 0c95110d6e4dfbebddcb57470351f24f15062165 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 12 Apr 2023 14:36:43 +0200 Subject: [PATCH 1232/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 442 ++++++++++++++++++++++++++++-------- 1 file changed, 353 insertions(+), 89 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index a15ebb5d..25fc396e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,90 +1,354 @@ { - "LazyVim": { "branch": "main", "commit": "700cdaf30d9b5425a3fa599ac00f835dfc02fe6c" }, - "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "a592fbe98959d13014b022ec1b1418498309019c" }, - "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, - "bufferline.nvim": { "branch": "main", "commit": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf" }, - "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, - "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" }, - "copilot.lua": { "branch": "master", "commit": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb" }, - "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, - "diffview.nvim": { "branch": "main", "commit": "63720aa5a70ce4aa386be407d0e612cd9e63861a" }, - "dressing.nvim": { "branch": "master", "commit": "0e3e1eba147fee6e638ac1ac28f0495bcde17319" }, - "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "b1b78a6433268fc172adb5a843e165035e83861e" }, - "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, - "gx.nvim": { "branch": "main", "commit": "57ae5fb894f435fe064602e631f6a145f8c61d08" }, - "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, - "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, - "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "eddee830ede0f95ced9802ca9abd3f8f662e5cc5" }, - "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, - "ltex-extra.nvim": { "branch": "master", "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" }, - "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "6c8f7afd6162fa27719f9da9792e4314da41c501" }, - "mason.nvim": { "branch": "main", "commit": "0184cf4b6d009623d8610cae956c44471e68250d" }, - "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, - "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, - "mini.bracketed": { "branch": "main", "commit": "b27cd5bb4f2a1a3da3f3e4953e060777d3427ead" }, - "mini.bufremove": { "branch": "main", "commit": "93c7230e83f5acb8890cdb2abaf3557f09305b01" }, - "mini.comment": { "branch": "main", "commit": "9ead47cef4266efa5145808b838762c658b74f74" }, - "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" }, - "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, - "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "2b2f74828eeb02cf29d6b21aa32eedadadc94ca7" }, - "neoconf.nvim": { "branch": "main", "commit": "55923798eb46c2d38bf111dc2bc285c13e286765" }, - "neodev.nvim": { "branch": "main", "commit": "da1562e1e3df0e994ddc52cb4ba22376a5d7f2fc" }, - "neogen": { "branch": "main", "commit": "353c5ef8e51c14445cc85666d4d09e4cf98598b2" }, - "neogit": { "branch": "master", "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" }, - "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "da0a8835c5c3d0b0ae19a0fd3908ec5269d9bb14" }, - "nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" }, - "null-ls.nvim": { "branch": "main", "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" }, - "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "eddaef928c1e1dd79a96f5db45f2fd7f2efe7ea0" }, - "nvim-navic": { "branch": "master", "commit": "226c1c0c0bf67e103b609f18907c778acc9095c2" }, - "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, - "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, - "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, - "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, - "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "21f2fb188e4e5bb81fd0ff467c5e96dad858becb" }, - "nvim-treesitter-context": { "branch": "master", "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "ada15e97d7d48b409f8b135ced104e00e8479fb9" }, - "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, - "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, - "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, - "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, - "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, - "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, - "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, - "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, - "sqlite.lua": { "branch": "master", "commit": "6c00ab414dc1b69621b145908c582b747f24b46e" }, - "ssr.nvim": { "branch": "main", "commit": "a30674d07b220304ed81f1f46a8f1de36ce74c38" }, - "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, - "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" }, - "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "tokyonight.nvim": { "branch": "main", "commit": "6163a69e11d4cd3a6b0d16e0e6f8a96b52b2046e" }, - "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, - "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, - "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, - "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "57499f5ca9a66f233efa4faeb04571e5194863a6" }, - "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, - "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, - "vim-startuptime": { "branch": "master", "commit": "daacd02e773944b8de312ddac83f436fae92cbb9" }, - "which-key.nvim": { "branch": "main", "commit": "8b1bb02fed6fd5c1f7e851959eaa1d0e8738da7f" }, - "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "zen-mode.nvim": { "branch": "main", "commit": "d907e638c879642d226d27469b53db6925f69d4c" } -} \ No newline at end of file + "LazyVim": { + "branch": "main", + "commit": "700cdaf30d9b5425a3fa599ac00f835dfc02fe6c" + }, + "LuaSnip": { + "branch": "master", + "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" + }, + "SchemaStore.nvim": { + "branch": "main", + "commit": "a592fbe98959d13014b022ec1b1418498309019c" + }, + "alpha-nvim": { + "branch": "main", + "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" + }, + "bufferline.nvim": { + "branch": "main", + "commit": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf" + }, + "catppuccin": { + "branch": "main", + "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" + }, + "cmp-buffer": { + "branch": "main", + "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" + }, + "cmp-emoji": { + "branch": "main", + "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" + }, + "cmp-lbdb": { + "branch": "fix_nil_meta_raw", + "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" + }, + "cmp-nvim-lsp": { + "branch": "main", + "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" + }, + "cmp-path": { + "branch": "main", + "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" + }, + "cmp_luasnip": { + "branch": "master", + "commit": "18095520391186d634a0045dacaa346291096566" + }, + "copilot-cmp": { + "branch": "master", + "commit": "99467081478aabe4f1183a19a8ba585e511adc20" + }, + "copilot.lua": { + "branch": "master", + "commit": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb" + }, + "dial.nvim": { + "branch": "master", + "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" + }, + "diffview.nvim": { + "branch": "main", + "commit": "63720aa5a70ce4aa386be407d0e612cd9e63861a" + }, + "dressing.nvim": { + "branch": "master", + "commit": "0e3e1eba147fee6e638ac1ac28f0495bcde17319" + }, + "flit.nvim": { + "branch": "main", + "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" + }, + "friendly-snippets": { + "branch": "main", + "commit": "b1b78a6433268fc172adb5a843e165035e83861e" + }, + "gitsigns.nvim": { + "branch": "main", + "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" + }, + "gx.nvim": { + "branch": "main", + "commit": "57ae5fb894f435fe064602e631f6a145f8c61d08" + }, + "inc-rename.nvim": { + "branch": "main", + "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" + }, + "incline.nvim": { + "branch": "main", + "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" + }, + "indent-blankline.nvim": { + "branch": "master", + "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" + }, + "lazy.nvim": { + "branch": "main", + "commit": "eddee830ede0f95ced9802ca9abd3f8f662e5cc5" + }, + "leap.nvim": { + "branch": "main", + "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" + }, + "ltex-extra.nvim": { + "branch": "master", + "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" + }, + "lualine.nvim": { + "branch": "master", + "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" + }, + "mason-lspconfig.nvim": { + "branch": "main", + "commit": "6c8f7afd6162fa27719f9da9792e4314da41c501" + }, + "mason.nvim": { + "branch": "main", + "commit": "0184cf4b6d009623d8610cae956c44471e68250d" + }, + "middleclass": { + "branch": "master", + "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" + }, + "mini.ai": { + "branch": "main", + "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" + }, + "mini.animate": { + "branch": "main", + "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" + }, + "mini.bracketed": { + "branch": "main", + "commit": "b27cd5bb4f2a1a3da3f3e4953e060777d3427ead" + }, + "mini.bufremove": { + "branch": "main", + "commit": "93c7230e83f5acb8890cdb2abaf3557f09305b01" + }, + "mini.comment": { + "branch": "main", + "commit": "9ead47cef4266efa5145808b838762c658b74f74" + }, + "mini.indentscope": { + "branch": "main", + "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" + }, + "mini.pairs": { + "branch": "main", + "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" + }, + "mini.surround": { + "branch": "main", + "commit": "cc962bae0890217f8473390abc8cef988519d370" + }, + "neo-tree.nvim": { + "branch": "v2.x", + "commit": "2b2f74828eeb02cf29d6b21aa32eedadadc94ca7" + }, + "neoconf.nvim": { + "branch": "main", + "commit": "55923798eb46c2d38bf111dc2bc285c13e286765" + }, + "neodev.nvim": { + "branch": "main", + "commit": "da1562e1e3df0e994ddc52cb4ba22376a5d7f2fc" + }, + "neogen": { + "branch": "main", + "commit": "353c5ef8e51c14445cc85666d4d09e4cf98598b2" + }, + "neogit": { + "branch": "master", + "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" + }, + "neorg": { + "branch": "main", + "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" + }, + "noice.nvim": { + "branch": "main", + "commit": "da0a8835c5c3d0b0ae19a0fd3908ec5269d9bb14" + }, + "nui.nvim": { + "branch": "main", + "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" + }, + "null-ls.nvim": { + "branch": "main", + "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" + }, + "nvim-cmp": { + "branch": "main", + "commit": "777450fd0ae289463a14481673e26246b5e38bf2" + }, + "nvim-colorizer.lua": { + "branch": "master", + "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" + }, + "nvim-lspconfig": { + "branch": "master", + "commit": "eddaef928c1e1dd79a96f5db45f2fd7f2efe7ea0" + }, + "nvim-navic": { + "branch": "master", + "commit": "226c1c0c0bf67e103b609f18907c778acc9095c2" + }, + "nvim-notify": { + "branch": "master", + "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" + }, + "nvim-scrollbar": { + "branch": "main", + "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" + }, + "nvim-spectre": { + "branch": "master", + "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" + }, + "nvim-spider": { + "branch": "main", + "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" + }, + "nvim-treehopper": { + "branch": "master", + "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" + }, + "nvim-treesitter": { + "branch": "master", + "commit": "21f2fb188e4e5bb81fd0ff467c5e96dad858becb" + }, + "nvim-treesitter-context": { + "branch": "master", + "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" + }, + "nvim-treesitter-textobjects": { + "branch": "master", + "commit": "8673926519ea61069f9c1366d1ad1949316d250e" + }, + "nvim-ts-context-commentstring": { + "branch": "main", + "commit": "ada15e97d7d48b409f8b135ced104e00e8479fb9" + }, + "nvim-ufo": { + "branch": "main", + "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" + }, + "nvim-web-devicons": { + "branch": "master", + "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" + }, + "peek.nvim": { + "branch": "master", + "commit": "67752e7581f88da6899838985a05705b008e4185" + }, + "persistence.nvim": { + "branch": "main", + "commit": "adcf6913693a0434665d162ee45a186230496f8a" + }, + "playground": { + "branch": "master", + "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" + }, + "plenary.nvim": { + "branch": "master", + "commit": "253d34830709d690f013daf2853a9d21ad7accab" + }, + "promise-async": { + "branch": "main", + "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" + }, + "refactoring.nvim": { + "branch": "master", + "commit": "e7c40818b2995016ede93c5620055206b1aba44f" + }, + "sqlite.lua": { + "branch": "master", + "commit": "6c00ab414dc1b69621b145908c582b747f24b46e" + }, + "ssr.nvim": { + "branch": "main", + "commit": "a30674d07b220304ed81f1f46a8f1de36ce74c38" + }, + "styler.nvim": { + "branch": "main", + "commit": "f77fba4d737c94725325d9eebcf7320c88380298" + }, + "symbols-outline.nvim": { + "branch": "master", + "commit": "512791925d57a61c545bc303356e8a8f7869763c" + }, + "telescope-fzf-native.nvim": { + "branch": "main", + "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" + }, + "telescope.nvim": { + "branch": "master", + "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" + }, + "todo-comments.nvim": { + "branch": "main", + "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" + }, + "tokyonight.nvim": { + "branch": "main", + "commit": "6163a69e11d4cd3a6b0d16e0e6f8a96b52b2046e" + }, + "trouble.nvim": { + "branch": "main", + "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" + }, + "twilight.nvim": { + "branch": "main", + "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" + }, + "typescript.nvim": { + "branch": "main", + "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" + }, + "vim-illuminate": { + "branch": "master", + "commit": "a2907275a6899c570d16e95b9db5fd921c167502" + }, + "vim-matchup": { + "branch": "master", + "commit": "57499f5ca9a66f233efa4faeb04571e5194863a6" + }, + "vim-nix": { + "branch": "master", + "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" + }, + "vim-repeat": { + "branch": "master", + "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" + }, + "vim-startuptime": { + "branch": "master", + "commit": "daacd02e773944b8de312ddac83f436fae92cbb9" + }, + "which-key.nvim": { + "branch": "main", + "commit": "8b1bb02fed6fd5c1f7e851959eaa1d0e8738da7f" + }, + "windows.nvim": { + "branch": "main", + "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" + }, + "zen-mode.nvim": { + "branch": "main", + "commit": "d907e638c879642d226d27469b53db6925f69d4c" + } +} From d343a26642de0aeb493c36d6bdda85a5d743c64c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Apr 2023 09:10:58 +0200 Subject: [PATCH 1233/2080] main: install gcc on GNU/Linux --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 45d8cc5c..f6fbaf6f 100644 --- a/home/main.nix +++ b/home/main.nix @@ -61,6 +61,7 @@ nodePackages.alex nodePackages.markdownlint-cli nodePackages.prettier + gnumake # clang # llvm # XXX textlint doesn't foudn the terminology rule From 354abc5094ed21926ff4e030bec46da476f93e5e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Apr 2023 09:20:19 +0200 Subject: [PATCH 1234/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/fda0d99c2cbbb5c89d8855d258cb0821bd9113ad' (2023-04-14) → 'github:NixOS/nixpkgs/39fa012bf8104323f89e62a293de90aebd0a6672' (2023-04-16) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/85b081528b937df4bfcaee80c3541b58f397df8b' (2023-04-15) → 'github:nixos/nixpkgs/f294325aed382b66c7a188482101b0f336d1d7db' (2023-04-16) • Updated input 'nur': 'github:nix-community/NUR/2d4b33e49d9c7566226e2b9477d8a32a55bba93d' (2023-04-16) → 'github:nix-community/NUR/82cc32ffc497019cc7a9d775701747d985bba5f2' (2023-04-17) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 0cefd02d..5a0389bd 100644 --- a/flake.lock +++ b/flake.lock @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1681557730, - "narHash": "sha256-j2E3639kS3Qop2jQPyqWCdenZNaqIdxfoTvAHnGuAGI=", + "lastModified": 1681648924, + "narHash": "sha256-pzi3HISK8+7mpEtv08Yr80wswyHKsz+RP1CROG1Qf6s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "85b081528b937df4bfcaee80c3541b58f397df8b", + "rev": "f294325aed382b66c7a188482101b0f336d1d7db", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1681482634, - "narHash": "sha256-cT/nr3L8khEYZSGp8qqwxFH+/q4/547MfyOdSj6MhBk=", + "lastModified": 1681667556, + "narHash": "sha256-Z5+b5oUN7pwI/hIn9hWFbMm00A+zerVit1WImvg8jBo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fda0d99c2cbbb5c89d8855d258cb0821bd9113ad", + "rev": "39fa012bf8104323f89e62a293de90aebd0a6672", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681675255, - "narHash": "sha256-XowmNHNwQK2OWF37VrKFX1d7jkg3v5l7TZxayJqHXF8=", + "lastModified": 1681704502, + "narHash": "sha256-b2sWfNloD1D0Dg6sOwGy6qDZoHkc0P1+ZMg9Z21zJEY=", "owner": "nix-community", "repo": "NUR", - "rev": "2d4b33e49d9c7566226e2b9477d8a32a55bba93d", + "rev": "82cc32ffc497019cc7a9d775701747d985bba5f2", "type": "github" }, "original": { From dcf5e9005f7a9ac2aa35ee317d95388b107d861f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Apr 2023 09:23:14 +0200 Subject: [PATCH 1235/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 443 ++++++++---------------------------- 1 file changed, 90 insertions(+), 353 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 25fc396e..ee17137c 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,354 +1,91 @@ { - "LazyVim": { - "branch": "main", - "commit": "700cdaf30d9b5425a3fa599ac00f835dfc02fe6c" - }, - "LuaSnip": { - "branch": "master", - "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" - }, - "SchemaStore.nvim": { - "branch": "main", - "commit": "a592fbe98959d13014b022ec1b1418498309019c" - }, - "alpha-nvim": { - "branch": "main", - "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" - }, - "bufferline.nvim": { - "branch": "main", - "commit": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf" - }, - "catppuccin": { - "branch": "main", - "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" - }, - "cmp-buffer": { - "branch": "main", - "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" - }, - "cmp-emoji": { - "branch": "main", - "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" - }, - "cmp-lbdb": { - "branch": "fix_nil_meta_raw", - "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" - }, - "cmp-nvim-lsp": { - "branch": "main", - "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" - }, - "cmp-path": { - "branch": "main", - "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" - }, - "cmp_luasnip": { - "branch": "master", - "commit": "18095520391186d634a0045dacaa346291096566" - }, - "copilot-cmp": { - "branch": "master", - "commit": "99467081478aabe4f1183a19a8ba585e511adc20" - }, - "copilot.lua": { - "branch": "master", - "commit": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb" - }, - "dial.nvim": { - "branch": "master", - "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" - }, - "diffview.nvim": { - "branch": "main", - "commit": "63720aa5a70ce4aa386be407d0e612cd9e63861a" - }, - "dressing.nvim": { - "branch": "master", - "commit": "0e3e1eba147fee6e638ac1ac28f0495bcde17319" - }, - "flit.nvim": { - "branch": "main", - "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" - }, - "friendly-snippets": { - "branch": "main", - "commit": "b1b78a6433268fc172adb5a843e165035e83861e" - }, - "gitsigns.nvim": { - "branch": "main", - "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" - }, - "gx.nvim": { - "branch": "main", - "commit": "57ae5fb894f435fe064602e631f6a145f8c61d08" - }, - "inc-rename.nvim": { - "branch": "main", - "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" - }, - "incline.nvim": { - "branch": "main", - "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" - }, - "indent-blankline.nvim": { - "branch": "master", - "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" - }, - "lazy.nvim": { - "branch": "main", - "commit": "eddee830ede0f95ced9802ca9abd3f8f662e5cc5" - }, - "leap.nvim": { - "branch": "main", - "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" - }, - "ltex-extra.nvim": { - "branch": "master", - "commit": "1d2f288ceedc70d5a9c00f55c0d0cc788b5164f2" - }, - "lualine.nvim": { - "branch": "master", - "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" - }, - "mason-lspconfig.nvim": { - "branch": "main", - "commit": "6c8f7afd6162fa27719f9da9792e4314da41c501" - }, - "mason.nvim": { - "branch": "main", - "commit": "0184cf4b6d009623d8610cae956c44471e68250d" - }, - "middleclass": { - "branch": "master", - "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" - }, - "mini.ai": { - "branch": "main", - "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" - }, - "mini.animate": { - "branch": "main", - "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" - }, - "mini.bracketed": { - "branch": "main", - "commit": "b27cd5bb4f2a1a3da3f3e4953e060777d3427ead" - }, - "mini.bufremove": { - "branch": "main", - "commit": "93c7230e83f5acb8890cdb2abaf3557f09305b01" - }, - "mini.comment": { - "branch": "main", - "commit": "9ead47cef4266efa5145808b838762c658b74f74" - }, - "mini.indentscope": { - "branch": "main", - "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" - }, - "mini.pairs": { - "branch": "main", - "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" - }, - "mini.surround": { - "branch": "main", - "commit": "cc962bae0890217f8473390abc8cef988519d370" - }, - "neo-tree.nvim": { - "branch": "v2.x", - "commit": "2b2f74828eeb02cf29d6b21aa32eedadadc94ca7" - }, - "neoconf.nvim": { - "branch": "main", - "commit": "55923798eb46c2d38bf111dc2bc285c13e286765" - }, - "neodev.nvim": { - "branch": "main", - "commit": "da1562e1e3df0e994ddc52cb4ba22376a5d7f2fc" - }, - "neogen": { - "branch": "main", - "commit": "353c5ef8e51c14445cc85666d4d09e4cf98598b2" - }, - "neogit": { - "branch": "master", - "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" - }, - "neorg": { - "branch": "main", - "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" - }, - "noice.nvim": { - "branch": "main", - "commit": "da0a8835c5c3d0b0ae19a0fd3908ec5269d9bb14" - }, - "nui.nvim": { - "branch": "main", - "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" - }, - "null-ls.nvim": { - "branch": "main", - "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" - }, - "nvim-cmp": { - "branch": "main", - "commit": "777450fd0ae289463a14481673e26246b5e38bf2" - }, - "nvim-colorizer.lua": { - "branch": "master", - "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" - }, - "nvim-lspconfig": { - "branch": "master", - "commit": "eddaef928c1e1dd79a96f5db45f2fd7f2efe7ea0" - }, - "nvim-navic": { - "branch": "master", - "commit": "226c1c0c0bf67e103b609f18907c778acc9095c2" - }, - "nvim-notify": { - "branch": "master", - "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" - }, - "nvim-scrollbar": { - "branch": "main", - "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" - }, - "nvim-spectre": { - "branch": "master", - "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" - }, - "nvim-spider": { - "branch": "main", - "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" - }, - "nvim-treehopper": { - "branch": "master", - "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" - }, - "nvim-treesitter": { - "branch": "master", - "commit": "21f2fb188e4e5bb81fd0ff467c5e96dad858becb" - }, - "nvim-treesitter-context": { - "branch": "master", - "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" - }, - "nvim-treesitter-textobjects": { - "branch": "master", - "commit": "8673926519ea61069f9c1366d1ad1949316d250e" - }, - "nvim-ts-context-commentstring": { - "branch": "main", - "commit": "ada15e97d7d48b409f8b135ced104e00e8479fb9" - }, - "nvim-ufo": { - "branch": "main", - "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" - }, - "nvim-web-devicons": { - "branch": "master", - "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" - }, - "peek.nvim": { - "branch": "master", - "commit": "67752e7581f88da6899838985a05705b008e4185" - }, - "persistence.nvim": { - "branch": "main", - "commit": "adcf6913693a0434665d162ee45a186230496f8a" - }, - "playground": { - "branch": "master", - "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" - }, - "plenary.nvim": { - "branch": "master", - "commit": "253d34830709d690f013daf2853a9d21ad7accab" - }, - "promise-async": { - "branch": "main", - "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" - }, - "refactoring.nvim": { - "branch": "master", - "commit": "e7c40818b2995016ede93c5620055206b1aba44f" - }, - "sqlite.lua": { - "branch": "master", - "commit": "6c00ab414dc1b69621b145908c582b747f24b46e" - }, - "ssr.nvim": { - "branch": "main", - "commit": "a30674d07b220304ed81f1f46a8f1de36ce74c38" - }, - "styler.nvim": { - "branch": "main", - "commit": "f77fba4d737c94725325d9eebcf7320c88380298" - }, - "symbols-outline.nvim": { - "branch": "master", - "commit": "512791925d57a61c545bc303356e8a8f7869763c" - }, - "telescope-fzf-native.nvim": { - "branch": "main", - "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" - }, - "telescope.nvim": { - "branch": "master", - "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" - }, - "todo-comments.nvim": { - "branch": "main", - "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" - }, - "tokyonight.nvim": { - "branch": "main", - "commit": "6163a69e11d4cd3a6b0d16e0e6f8a96b52b2046e" - }, - "trouble.nvim": { - "branch": "main", - "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" - }, - "twilight.nvim": { - "branch": "main", - "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" - }, - "typescript.nvim": { - "branch": "main", - "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" - }, - "vim-illuminate": { - "branch": "master", - "commit": "a2907275a6899c570d16e95b9db5fd921c167502" - }, - "vim-matchup": { - "branch": "master", - "commit": "57499f5ca9a66f233efa4faeb04571e5194863a6" - }, - "vim-nix": { - "branch": "master", - "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" - }, - "vim-repeat": { - "branch": "master", - "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" - }, - "vim-startuptime": { - "branch": "master", - "commit": "daacd02e773944b8de312ddac83f436fae92cbb9" - }, - "which-key.nvim": { - "branch": "main", - "commit": "8b1bb02fed6fd5c1f7e851959eaa1d0e8738da7f" - }, - "windows.nvim": { - "branch": "main", - "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" - }, - "zen-mode.nvim": { - "branch": "main", - "commit": "d907e638c879642d226d27469b53db6925f69d4c" - } -} + "LazyVim": { "branch": "main", "commit": "5f6913c0dbac1026db70534e537c49d74f038ca1" }, + "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, + "SchemaStore.nvim": { "branch": "main", "commit": "a592fbe98959d13014b022ec1b1418498309019c" }, + "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, + "bufferline.nvim": { "branch": "main", "commit": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf" }, + "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-cmdline": { "branch": "main", "commit": "af88e700417c6449719fc77f6f3745f88e42d5da" }, + "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, + "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" }, + "copilot.lua": { "branch": "master", "commit": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb" }, + "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, + "diffview.nvim": { "branch": "main", "commit": "63720aa5a70ce4aa386be407d0e612cd9e63861a" }, + "dressing.nvim": { "branch": "master", "commit": "0e3e1eba147fee6e638ac1ac28f0495bcde17319" }, + "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, + "friendly-snippets": { "branch": "main", "commit": "b1b78a6433268fc172adb5a843e165035e83861e" }, + "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, + "gx.nvim": { "branch": "main", "commit": "57ae5fb894f435fe064602e631f6a145f8c61d08" }, + "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, + "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, + "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, + "lazy.nvim": { "branch": "main", "commit": "eddee830ede0f95ced9802ca9abd3f8f662e5cc5" }, + "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, + "ltex-extra.nvim": { "branch": "master", "commit": "918915211dbdbdae29a16e0b85d415e10e732af3" }, + "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "6c8f7afd6162fa27719f9da9792e4314da41c501" }, + "mason.nvim": { "branch": "main", "commit": "e24d594dc7dbe08305a881c8e7348d4d45445ffe" }, + "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, + "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, + "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, + "mini.bracketed": { "branch": "main", "commit": "b27cd5bb4f2a1a3da3f3e4953e060777d3427ead" }, + "mini.bufremove": { "branch": "main", "commit": "93c7230e83f5acb8890cdb2abaf3557f09305b01" }, + "mini.comment": { "branch": "main", "commit": "9ead47cef4266efa5145808b838762c658b74f74" }, + "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" }, + "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, + "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "2b2f74828eeb02cf29d6b21aa32eedadadc94ca7" }, + "neoconf.nvim": { "branch": "main", "commit": "55923798eb46c2d38bf111dc2bc285c13e286765" }, + "neodev.nvim": { "branch": "main", "commit": "da1562e1e3df0e994ddc52cb4ba22376a5d7f2fc" }, + "neogen": { "branch": "main", "commit": "353c5ef8e51c14445cc85666d4d09e4cf98598b2" }, + "neogit": { "branch": "master", "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" }, + "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, + "noice.nvim": { "branch": "main", "commit": "5c63a32fde4e87631ddd768f5d7674ec5988c1a2" }, + "nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" }, + "null-ls.nvim": { "branch": "main", "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" }, + "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, + "nvim-lspconfig": { "branch": "master", "commit": "eddaef928c1e1dd79a96f5db45f2fd7f2efe7ea0" }, + "nvim-navic": { "branch": "master", "commit": "226c1c0c0bf67e103b609f18907c778acc9095c2" }, + "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, + "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, + "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, + "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, + "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, + "nvim-treesitter": { "branch": "master", "commit": "9d3c14874dbe2d513e35fd18c3519ecb1eb888cd" }, + "nvim-treesitter-context": { "branch": "master", "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "ada15e97d7d48b409f8b135ced104e00e8479fb9" }, + "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, + "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, + "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, + "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, + "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, + "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, + "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, + "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, + "sqlite.lua": { "branch": "master", "commit": "6c00ab414dc1b69621b145908c582b747f24b46e" }, + "ssr.nvim": { "branch": "main", "commit": "a30674d07b220304ed81f1f46a8f1de36ce74c38" }, + "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, + "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, + "telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" }, + "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, + "tokyonight.nvim": { "branch": "main", "commit": "ef8f5917f1a3972e6dd083c1ea74dafcb54f9917" }, + "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, + "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, + "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, + "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, + "vim-matchup": { "branch": "master", "commit": "57499f5ca9a66f233efa4faeb04571e5194863a6" }, + "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, + "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, + "vim-startuptime": { "branch": "master", "commit": "daacd02e773944b8de312ddac83f436fae92cbb9" }, + "which-key.nvim": { "branch": "main", "commit": "f635738fb78b45d3b2990e6adca1848be8d60d05" }, + "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, + "zen-mode.nvim": { "branch": "main", "commit": "d907e638c879642d226d27469b53db6925f69d4c" } +} \ No newline at end of file From 062be6a6498033fbde729a1c9d240fd113bdce1b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Apr 2023 10:01:20 +0200 Subject: [PATCH 1236/2080] flake: disable wezterm --- flake.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 7f64c4da..d769d539 100644 --- a/flake.nix +++ b/flake.nix @@ -58,7 +58,8 @@ # XXX Factorise and simplify like done in https://github.com/gvolpe/nix-config homeManagerDarwinModules = { kitty = import ./modules/home/kitty; - wezterm = import ./modules/home/wezterm; + # XXX: currnetly not used + # wezterm = import ./modules/home/wezterm; fish = import ./modules/home/fish; starship = import ./home/starship.nix; starship-symbols = import ./home/starship-symbols.nix; @@ -88,7 +89,8 @@ wm = import ./modules/home/wm; kitty = import ./modules/home/kitty; - wezterm = import ./modules/home/wezterm; + # XXX: currnetly not used + # wezterm = import ./modules/home/wezterm; fish = import ./modules/home/fish; starship = import ./home/starship.nix; starship-symbols = import ./home/starship-symbols.nix; From 865a2bd31ad26aa4b3abaf38aa13e816497536b4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Apr 2023 14:35:13 +0200 Subject: [PATCH 1237/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index ee17137c..d369376a 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -10,6 +10,7 @@ "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, + "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" }, @@ -26,10 +27,10 @@ "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "eddee830ede0f95ced9802ca9abd3f8f662e5cc5" }, "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, - "ltex-extra.nvim": { "branch": "master", "commit": "918915211dbdbdae29a16e0b85d415e10e732af3" }, + "ltex_extra.nvim": { "branch": "master", "commit": "918915211dbdbdae29a16e0b85d415e10e732af3" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "6c8f7afd6162fa27719f9da9792e4314da41c501" }, - "mason.nvim": { "branch": "main", "commit": "e24d594dc7dbe08305a881c8e7348d4d45445ffe" }, + "mason.nvim": { "branch": "main", "commit": "a1e01f3029217910a376be4a890c3b836ddda113" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, @@ -39,7 +40,7 @@ "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" }, "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "2b2f74828eeb02cf29d6b21aa32eedadadc94ca7" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "7a6b0d43d70636edfec183fb49c02f725765da73" }, "neoconf.nvim": { "branch": "main", "commit": "55923798eb46c2d38bf111dc2bc285c13e286765" }, "neodev.nvim": { "branch": "main", "commit": "da1562e1e3df0e994ddc52cb4ba22376a5d7f2fc" }, "neogen": { "branch": "main", "commit": "353c5ef8e51c14445cc85666d4d09e4cf98598b2" }, @@ -57,7 +58,7 @@ "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "9d3c14874dbe2d513e35fd18c3519ecb1eb888cd" }, + "nvim-treesitter": { "branch": "master", "commit": "351e43d5ef9003c62068dc2f40a9772563355220" }, "nvim-treesitter-context": { "branch": "master", "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "ada15e97d7d48b409f8b135ced104e00e8479fb9" }, @@ -70,7 +71,7 @@ "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, "sqlite.lua": { "branch": "master", "commit": "6c00ab414dc1b69621b145908c582b747f24b46e" }, - "ssr.nvim": { "branch": "main", "commit": "a30674d07b220304ed81f1f46a8f1de36ce74c38" }, + "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, From 3fc8e4a5e2fe140ec7668d73dfa0f571fb0e5c49 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Apr 2023 14:35:19 +0200 Subject: [PATCH 1238/2080] lazyim: fix name of ltex_extra repo. --- lazyvim/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index ee0ce94e..a8258aa8 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -1,7 +1,7 @@ -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua return { -- Improved ltex integration, supporting code actions - { "barreiroleo/ltex-extra.nvim" }, + { "barreiroleo/ltex_extra.nvim" }, -- add various LSP to lspconfig { From a1544cbbde418a39446f3a81cddae3c0b53c32d4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Apr 2023 14:35:46 +0200 Subject: [PATCH 1239/2080] lazyvim: use nvim_lua completion --- lazyvim/nvim/lua/plugins/coding.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 1b46ae05..a43d4f75 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -279,6 +279,7 @@ return { -- Use forked version due to https://github.com/codybuell/cmp-lbdb/pull/3/ -- { "codybuell/cmp-lbdb", lazy = true, ft = "mail" }, { "gwarf/cmp-lbdb", branch = "fix_nil_meta_raw", lazy = true, ft = "mail" }, + { "hrsh7th/cmp-nvim-lua" }, }, ---@param opts cmp.ConfigSchema opts = function(_, opts) @@ -321,6 +322,7 @@ return { -- configuration opts.sources = cmp.config.sources({ { name = "nvim_lsp" }, + { name = "nvim_lua" }, { name = "luasnip" }, { name = "path" }, { name = "emoji" }, From b6466cc2693fa5ccaddfbc4ad158d4a54509da57 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Apr 2023 15:16:45 +0200 Subject: [PATCH 1240/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0e3e0029aa6353ecb7304d4a683d8d6ee69379ef' (2023-04-16) → 'github:nix-community/neovim-nightly-overlay/d4ac0e115563dc894323947e2fd679f25bfa788a' (2023-04-17) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/0d9b0fbe579343fa6d6c46e6e1bf6bb8719ea5e0?dir=contrib' (2023-04-16) → 'github:neovim/neovim/53985a6d31cc60d4b2d7a7af91929922de9ecf4d?dir=contrib' (2023-04-17) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/29176972b4be60f7d3eb3101f696c99f2e6ada57' (2023-04-15) → 'github:nixos/nixpkgs/db34d7561caa508ece0265a56f382c5d3b7a6c1b' (2023-04-17) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/39fa012bf8104323f89e62a293de90aebd0a6672' (2023-04-16) → 'github:NixOS/nixpkgs/de66115c552acc4e0c0f92c5a5efb32e37dfa216' (2023-04-17) • Updated input 'nur': 'github:nix-community/NUR/82cc32ffc497019cc7a9d775701747d985bba5f2' (2023-04-17) → 'github:nix-community/NUR/8ed9352e77002728b5f46a1556f6f159e91c8660' (2023-04-17) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 5a0389bd..68250def 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681631972, - "narHash": "sha256-zF+sWaQPJpoDyhWXvwJGR7VryYr9+qBCWMTNRjA3BhQ=", + "lastModified": 1681719021, + "narHash": "sha256-edYPdId662VSpTngbFinHZDk7hbIO0T4DaIG75QdOoA=", "owner": "neovim", "repo": "neovim", - "rev": "0d9b0fbe579343fa6d6c46e6e1bf6bb8719ea5e0", + "rev": "53985a6d31cc60d4b2d7a7af91929922de9ecf4d", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681632748, - "narHash": "sha256-c0CskvdpipnTn5TSjq6KqNkeKRPYCDMmVTdZL08HTJA=", + "lastModified": 1681719254, + "narHash": "sha256-bA07zWjG/4mvnXcs08Z0vwAUObpE9nsbtF4wUC0G+Bg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0e3e0029aa6353ecb7304d4a683d8d6ee69379ef", + "rev": "d4ac0e115563dc894323947e2fd679f25bfa788a", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1681571934, - "narHash": "sha256-Q3B3HTqhTahhPCT53ahK1FPktOXlEWmudSttd9CWGbE=", + "lastModified": 1681693905, + "narHash": "sha256-XdXMvCt+i2ZcmAIPZvu3RUwcdaC9OX7d1WMAJJokzeA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "29176972b4be60f7d3eb3101f696c99f2e6ada57", + "rev": "db34d7561caa508ece0265a56f382c5d3b7a6c1b", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1681667556, - "narHash": "sha256-Z5+b5oUN7pwI/hIn9hWFbMm00A+zerVit1WImvg8jBo=", + "lastModified": 1681696129, + "narHash": "sha256-Ba2y1lmsWmmAOAoTD5G9UnTS/UqV0ZFyzysgdfu7qag=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "39fa012bf8104323f89e62a293de90aebd0a6672", + "rev": "de66115c552acc4e0c0f92c5a5efb32e37dfa216", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681704502, - "narHash": "sha256-b2sWfNloD1D0Dg6sOwGy6qDZoHkc0P1+ZMg9Z21zJEY=", + "lastModified": 1681731920, + "narHash": "sha256-neuZnv55Tpu+IJ4PqUSsSnJQ7rlnZO5uLQV6DMe2qNw=", "owner": "nix-community", "repo": "NUR", - "rev": "82cc32ffc497019cc7a9d775701747d985bba5f2", + "rev": "8ed9352e77002728b5f46a1556f6f159e91c8660", "type": "github" }, "original": { From bdf4b1058724531f5e6362f54e1d8f6f511ec377 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 17 Apr 2023 18:27:00 +0200 Subject: [PATCH 1241/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/84d94e1a502e21cbf185ef39c998c6c21ce51a87' (2023-04-16) → 'github:nixos/nixpkgs/de66115c552acc4e0c0f92c5a5efb32e37dfa216' (2023-04-17) • Updated input 'nur': 'github:nix-community/NUR/8ed9352e77002728b5f46a1556f6f159e91c8660' (2023-04-17) → 'github:nix-community/NUR/caf6bf96f1de85b2de7c1c23de7abea895126854' (2023-04-17) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 68250def..299f6f19 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1681642985, - "narHash": "sha256-u+I9zIScRdW092/F2T8NXF0EBS+Z3G5Gkg19yH0ei/Y=", + "lastModified": 1681696129, + "narHash": "sha256-Ba2y1lmsWmmAOAoTD5G9UnTS/UqV0ZFyzysgdfu7qag=", "owner": "nixos", "repo": "nixpkgs", - "rev": "84d94e1a502e21cbf185ef39c998c6c21ce51a87", + "rev": "de66115c552acc4e0c0f92c5a5efb32e37dfa216", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681731920, - "narHash": "sha256-neuZnv55Tpu+IJ4PqUSsSnJQ7rlnZO5uLQV6DMe2qNw=", + "lastModified": 1681747948, + "narHash": "sha256-KP3zRZRf5KQe9B3jUur4c1MpJrn3QE4qs9OqaeB+F80=", "owner": "nix-community", "repo": "NUR", - "rev": "8ed9352e77002728b5f46a1556f6f159e91c8660", + "rev": "caf6bf96f1de85b2de7c1c23de7abea895126854", "type": "github" }, "original": { From 9a3078fe1eb1fc25a8dd7eddb7791fd8e2f19d65 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Apr 2023 08:47:01 +0200 Subject: [PATCH 1242/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/84d94e1a502e21cbf185ef39c998c6c21ce51a87' (2023-04-16) → 'github:nixos/nixpkgs/47b0fe7da4ecaf1150abbc63aa4fb20bab00b430' (2023-04-17) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/f294325aed382b66c7a188482101b0f336d1d7db' (2023-04-16) → 'github:nixos/nixpkgs/f00994e78cd39e6fc966f0c4103f908e63284780' (2023-04-17) • Updated input 'nur': 'github:nix-community/NUR/8ed9352e77002728b5f46a1556f6f159e91c8660' (2023-04-17) → 'github:nix-community/NUR/bf5c9a12078291dd4667e0e0ebd152f991e52a89' (2023-04-18) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 299f6f19..7570b2cb 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1681696129, - "narHash": "sha256-Ba2y1lmsWmmAOAoTD5G9UnTS/UqV0ZFyzysgdfu7qag=", + "lastModified": 1681731662, + "narHash": "sha256-/4czA18iXFPKHfg8zWx7k98/X3A9p3+7WzLE45h0i7M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "de66115c552acc4e0c0f92c5a5efb32e37dfa216", + "rev": "47b0fe7da4ecaf1150abbc63aa4fb20bab00b430", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1681648924, - "narHash": "sha256-pzi3HISK8+7mpEtv08Yr80wswyHKsz+RP1CROG1Qf6s=", + "lastModified": 1681737997, + "narHash": "sha256-pHhjgsIkRMu80LmVe8QoKIZB6VZGRRxFmIvsC5S89k4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f294325aed382b66c7a188482101b0f336d1d7db", + "rev": "f00994e78cd39e6fc966f0c4103f908e63284780", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681747948, - "narHash": "sha256-KP3zRZRf5KQe9B3jUur4c1MpJrn3QE4qs9OqaeB+F80=", + "lastModified": 1681789523, + "narHash": "sha256-6hNQ6487xA4vpMxUj13kOYj6VhLUC9iZAcGUuQIfLTg=", "owner": "nix-community", "repo": "NUR", - "rev": "caf6bf96f1de85b2de7c1c23de7abea895126854", + "rev": "bf5c9a12078291dd4667e0e0ebd152f991e52a89", "type": "github" }, "original": { From c9f1c469537f8a3253adbab30533c6a1fee314fa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Apr 2023 10:20:55 +0200 Subject: [PATCH 1243/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 62 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index d369376a..191a2736 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { - "LazyVim": { "branch": "main", "commit": "5f6913c0dbac1026db70534e537c49d74f038ca1" }, - "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "SchemaStore.nvim": { "branch": "main", "commit": "a592fbe98959d13014b022ec1b1418498309019c" }, - "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" }, + "LazyVim": { "branch": "main", "commit": "77efbe8bcf76675ba83257a376001e0e86dbd2c4" }, + "LuaSnip": { "branch": "master", "commit": "8d6c0a93dec34900577ba725e91c44b8d3ca1f45" }, + "SchemaStore.nvim": { "branch": "main", "commit": "5e1225507dbc46710e7f2bec86f2444e578a959e" }, + "alpha-nvim": { "branch": "main", "commit": "87c204040e3f5d4c1c95067b35905d8f8a2f2545" }, "bufferline.nvim": { "branch": "main", "commit": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf" }, - "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" }, + "catppuccin": { "branch": "main", "commit": "46bf7de94cb3820553067747cdd65d4605dbc908" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "af88e700417c6449719fc77f6f3745f88e42d5da" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -15,13 +15,13 @@ "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" }, "copilot.lua": { "branch": "master", "commit": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb" }, - "dial.nvim": { "branch": "master", "commit": "54b503f906bc9e5ab85288414840a1b86d40769f" }, + "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, "diffview.nvim": { "branch": "main", "commit": "63720aa5a70ce4aa386be407d0e612cd9e63861a" }, "dressing.nvim": { "branch": "master", "commit": "0e3e1eba147fee6e638ac1ac28f0495bcde17319" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "b1b78a6433268fc172adb5a843e165035e83861e" }, - "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, - "gx.nvim": { "branch": "main", "commit": "57ae5fb894f435fe064602e631f6a145f8c61d08" }, + "gitsigns.nvim": { "branch": "main", "commit": "372d5cb485f2062ac74abc5b33054abac21d8b58" }, + "gx.nvim": { "branch": "main", "commit": "5697e25e6c3a13bb6a147e6a247a69a46dc41aa8" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, @@ -29,11 +29,11 @@ "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, "ltex_extra.nvim": { "branch": "master", "commit": "918915211dbdbdae29a16e0b85d415e10e732af3" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "6c8f7afd6162fa27719f9da9792e4314da41c501" }, - "mason.nvim": { "branch": "main", "commit": "a1e01f3029217910a376be4a890c3b836ddda113" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7034065099c1665143091c7282b3b1b8f0b23783" }, + "mason.nvim": { "branch": "main", "commit": "a0604613f5887ba14722d710e2b9290b3894e8db" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, - "mini.animate": { "branch": "main", "commit": "ca9b687b6da98b48081dc72e27a9657c85cde135" }, + "mini.animate": { "branch": "main", "commit": "863b01e20cd5cc599eb8ca87f44ecc1f2be04920" }, "mini.bracketed": { "branch": "main", "commit": "b27cd5bb4f2a1a3da3f3e4953e060777d3427ead" }, "mini.bufremove": { "branch": "main", "commit": "93c7230e83f5acb8890cdb2abaf3557f09305b01" }, "mini.comment": { "branch": "main", "commit": "9ead47cef4266efa5145808b838762c658b74f74" }, @@ -41,52 +41,52 @@ "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "7a6b0d43d70636edfec183fb49c02f725765da73" }, - "neoconf.nvim": { "branch": "main", "commit": "55923798eb46c2d38bf111dc2bc285c13e286765" }, - "neodev.nvim": { "branch": "main", "commit": "da1562e1e3df0e994ddc52cb4ba22376a5d7f2fc" }, - "neogen": { "branch": "main", "commit": "353c5ef8e51c14445cc85666d4d09e4cf98598b2" }, + "neoconf.nvim": { "branch": "main", "commit": "e5ae2a83e061de5c8e409e1a3e6d6ed183d2fcfd" }, + "neodev.nvim": { "branch": "main", "commit": "b7feac47ef2e0d3994a05ee60ca761dc80dae38a" }, + "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, "neogit": { "branch": "master", "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" }, - "neorg": { "branch": "main", "commit": "36cc15300c0dfc19d483b0a4176cb89e94f4730a" }, - "noice.nvim": { "branch": "main", "commit": "5c63a32fde4e87631ddd768f5d7674ec5988c1a2" }, + "neorg": { "branch": "main", "commit": "1fecaab548161abd0238b3d16c81e69c7d14252a" }, + "noice.nvim": { "branch": "main", "commit": "9649d9fd4d8fa8a8654e1e9c293718ae8d62e73b" }, "nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" }, "null-ls.nvim": { "branch": "main", "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lspconfig": { "branch": "master", "commit": "eddaef928c1e1dd79a96f5db45f2fd7f2efe7ea0" }, "nvim-navic": { "branch": "master", "commit": "226c1c0c0bf67e103b609f18907c778acc9095c2" }, - "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, + "nvim-notify": { "branch": "master", "commit": "50d037041ada0895aeba4c0215cde6d11b7729c4" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "351e43d5ef9003c62068dc2f40a9772563355220" }, + "nvim-treesitter": { "branch": "master", "commit": "c79c37927bb6a937b5b85c45125db75dc204a6ef" }, "nvim-treesitter-context": { "branch": "master", "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "ada15e97d7d48b409f8b135ced104e00e8479fb9" }, - "nvim-ufo": { "branch": "main", "commit": "95a148d9b3c02facce59c2050fd20fa6e8eb2cb6" }, + "nvim-ufo": { "branch": "main", "commit": "9e829d5cfa3de6a2ff561d86399772b0339ae49d" }, "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, - "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, + "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, - "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, - "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, + "plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" }, + "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, - "sqlite.lua": { "branch": "master", "commit": "6c00ab414dc1b69621b145908c582b747f24b46e" }, + "sqlite.lua": { "branch": "master", "commit": "376e4735c48e07dade3e6ff5f09a654a04f5d4ba" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, - "styler.nvim": { "branch": "main", "commit": "f77fba4d737c94725325d9eebcf7320c88380298" }, + "styler.nvim": { "branch": "main", "commit": "58d0d12191adee41fce7ef20d46d1203efa0d11e" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, "tokyonight.nvim": { "branch": "main", "commit": "ef8f5917f1a3972e6dd083c1ea74dafcb54f9917" }, - "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, - "twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" }, + "trouble.nvim": { "branch": "main", "commit": "d56bfc0c501ced4002a57cb60433362fb2ce9c4d" }, + "twilight.nvim": { "branch": "main", "commit": "2e13bd1886562b737f38c418ed542677b41ef5cb" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "57499f5ca9a66f233efa4faeb04571e5194863a6" }, + "vim-matchup": { "branch": "master", "commit": "5fa824acc89d04b54c12126d768ab71ba7f1c686" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, - "vim-repeat": { "branch": "master", "commit": "8106e142dfdc278ff3eaaadd7b362ad7949d4357" }, - "vim-startuptime": { "branch": "master", "commit": "daacd02e773944b8de312ddac83f436fae92cbb9" }, - "which-key.nvim": { "branch": "main", "commit": "f635738fb78b45d3b2990e6adca1848be8d60d05" }, + "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, + "vim-startuptime": { "branch": "master", "commit": "c9da356b59eb30dfca6cd573b63d0e81c0a24ff9" }, + "which-key.nvim": { "branch": "main", "commit": "f82ca7fbaf4718303dbaf83dc28303fee16cf4d2" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "zen-mode.nvim": { "branch": "main", "commit": "d907e638c879642d226d27469b53db6925f69d4c" } + "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" } } \ No newline at end of file From ca7afbd67ada3cc0532493ca03436595dcd0554f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Apr 2023 10:44:44 +0200 Subject: [PATCH 1244/2080] tmux: disable sessionist, set terminal-features. --- modules/home/tmux/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index 480f37d4..9b3268f7 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -17,7 +17,7 @@ copycat open prefix-highlight - sessionist + # sessionist sensible logging { @@ -33,9 +33,9 @@ } { plugin = resurrect; - extraConfig = '' - set -g @resurrect-strategy-nvim "session" - ''; + # extraConfig = '' + # set -g @resurrect-strategy-nvim "session" + # ''; } { plugin = continuum; @@ -45,8 +45,8 @@ ''; } ]; - # XXX required to get italics: tmux-256color or xterm-kitty - # tmux-256color not working fine with delta (showing error WARNING: terminal is not fully functional) + # XXX: required to get italics: tmux-256color or xterm-kitty + # tmux-256color not working fine with delta terminal = "xterm-kitty"; extraConfig = '' # Allow nested tmux sessions by making "C-b b" possible for sending a control @@ -72,6 +72,9 @@ setw -g monitor-activity off set -g visual-activity off + # option for terminal colors + set -sa terminal-features ",xterm-kitty:RGB" + ############ Key Bindings ############ # reload config file From d587a260ba821cd70856950f066c7b1a7cb28df2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Apr 2023 10:45:02 +0200 Subject: [PATCH 1245/2080] lazygit: use latest git commits by default. --- lazyvim/nvim/lua/config/lazy.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 89512ff7..1bafaf96 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -30,8 +30,8 @@ require("lazy").setup({ lazy = false, -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, -- have outdated releases, which may break your Neovim install. - -- version = false, -- always use the latest git commit - version = "*", -- try installing the latest stable version for plugins that support semver + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver }, install = { colorscheme = { "tokyonight", "catppuccin" } }, checker = { enabled = false }, -- automatically check for plugin updates From eaea0df4528e97f6bb45d4591bd8703ebf11a487 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Apr 2023 10:46:36 +0200 Subject: [PATCH 1246/2080] neovim: move some deps to neovim file --- home/main.nix | 45 ------------------------------------ home/neovim-nightly.nix | 51 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 50 insertions(+), 46 deletions(-) diff --git a/home/main.nix b/home/main.nix index f6fbaf6f..3ecd61d7 100644 --- a/home/main.nix +++ b/home/main.nix @@ -45,50 +45,6 @@ # nodePackages_latest.joplin joplin-desktop - # Dev stuff - # XXX maybe to be moved to project-specific envs - actionlint - ansible-lint - beautysh - black - cargo - deno - gnumake - go - isort - jq - luajitPackages.luarocks - nodePackages.alex - nodePackages.markdownlint-cli - nodePackages.prettier - gnumake - # clang - # llvm - # XXX textlint doesn't foudn the terminology rule - # pkgs-unstable.nodePackages.textlint - # pkgs-unstable.nodePackages.textlint-rule-terminology - nodejs - # podman - pylint - qemu - stylua - - # LSP servers - ltex-ls - nodePackages.yaml-language-server - pkgs-unstable.ansible-language-server - pyright - rnix-lsp - sumneko-lua-language-server - # Required for ltex-ls usage in neovim - jdk11 - nodePackages.bash-language-server - nodePackages.vim-language-server - pkgs-unstable.nodePackages.vscode-json-languageserver - # Not yet in nixpkgs: https://github.com/NixOS/nixpkgs/pull/193682 - nodePackages.write-good - pkgs-unstable.marksman - # Useful nix related tools # cachix # adding/managing alternative binary caches hosted by Cachix # comma # run software from without installing it @@ -119,7 +75,6 @@ xclip ] ++ lib.optionals stdenv.isDarwin [ coreutils - gcc m-cli # useful macOS CLI commands ncurses ]; diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index 477b6927..8e7d51d0 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -1,5 +1,5 @@ # https://srid.ca/cli/neovim/install -{ pkgs, inputs, pkgs-unstable, ... }: +{ config, pkgs, inputs, pkgs-unstable, lib, ... }: let neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; @@ -17,4 +17,53 @@ in vimdiffAlias = true; viAlias = true; }; + home.packages = with pkgs; [ + luajit + luajitPackages.luarocks + # For LuaSnip + luajitPackages.jsregexp + + # Dev stuff + # XXX maybe to be moved to project-specific envs + actionlint + ansible-lint + beautysh + black + cargo + deno + gnumake + go + isort + jq + nodePackages.alex + nodePackages.markdownlint-cli + nodePackages.prettier + gnumake + # XXX textlint doesn't foudn the terminology rule + # pkgs-unstable.nodePackages.textlint + # pkgs-unstable.nodePackages.textlint-rule-terminology + nodejs + # podman + pylint + qemu + stylua + + # LSP servers + ltex-ls + nodePackages.yaml-language-server + pkgs-unstable.ansible-language-server + pyright + rnix-lsp + sumneko-lua-language-server + # Required for ltex-ls usage in neovim + jdk11 + nodePackages.bash-language-server + nodePackages.vim-language-server + pkgs-unstable.nodePackages.vscode-json-languageserver + # Not yet in nixpkgs: https://github.com/NixOS/nixpkgs/pull/193682 + nodePackages.write-good + pkgs-unstable.marksman + ] ++ lib.optionals stdenv.isLinux [ + checkmake + ]; } From c945fbde52ad7da7bf19d9ce39a4001809220601 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Apr 2023 10:46:42 +0200 Subject: [PATCH 1247/2080] luasnip is having issues buidling. --- lazyvim/nvim/lua/plugins/coding.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index a43d4f75..3ec870b5 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -266,6 +266,9 @@ return { -- Use <tab> for completion and snippets (supertab). { "L3MON4D3/LuaSnip", + -- FIXME: build not working using system gcc + -- https://github.com/L3MON4D3/LuaSnip/blob/master/Makefile + -- build = "make install_jsregexp LUAJIT_OSX_PATH=/opt/bin", keys = function() return {} end, From d3a0f83c798a6bfe374c8dd94087c2a2eecd7f80 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Apr 2023 10:46:59 +0200 Subject: [PATCH 1248/2080] fish: no more use clang from homebrew. --- modules/home/fish/default.nix | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index b0473c9e..b0dd847b 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -41,7 +41,7 @@ in programs.direnv.enable = true; programs.direnv.nix-direnv.enable = true; - # Fish configuration ------------------------------------------------------------------------- {{{ + # Fish configuration # Aliases programs.fish.shellAliases = { @@ -97,17 +97,16 @@ in set -gx SYSTEMD_PAGER "${pkgs.bat}/bin/bat" set -gx MANPAGER "nvim +Man!" - # Need clang from homebrew on macOS (for C++11 / 14 with neorg and tree-sitter) if test (uname) = Darwin - # Add nix directories to path missing in current kitty config + # Add path mainly used by brew + fish_add_path "/usr/local/bin" + + # Add nix directories to path missing in current kitty config fish_add_path "~/.nix-profile/bin" fish_add_path "/etc/profiles/per-user/$USER/bin" fish_add_path "/run/current-system/sw/bin" fish_add_path "/nix/var/nix/profiles/default/bin" - # Add path mainly used by brew - fish_add_path "/usr/local/bin" - # https://spicetify.app if test -e ~/.spicetify fish_add_path ~/.spicetify/ @@ -117,21 +116,21 @@ in . ~/perl5/perlbrew/etc/perlbrew.fish end - # https://github.com/pyenv/pyenv/wiki/Common-build-problems - # XXX clang-15: unknown argument -02 - # set -gx CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - set -gx CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - + # XXX: disabled # Favor using llvm stuff from homebrew - set -gx CPPFLAGS "-I/usr/local/opt/llvm/include" - set -gx LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" - fish_add_path "/usr/local/opt/llvm/bin" - + # clang-15: unknown argument -02 + # set -gx CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + # set -gx CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + # set -gx CPPFLAGS "-I/usr/local/opt/llvm/include" + # set -gx LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" + # fish_add_path "/usr/local/opt/llvm/bin" + # Use clang/llvm as main compiler set -gx CC clang set -gx CXX clang++ # Load pyenv + # https://github.com/pyenv/pyenv/wiki/Common-build-problems set -x PYENV_ROOT $HOME/.pyenv fish_add_path $PYENV_ROOT/bin pyenv init - | source @@ -185,6 +184,4 @@ in [ -e $HOME/fish.env ]; and source $HOME/fish.env ''; - # }}} } -# vim: foldmethod=marker From f905fb647b749ee42289552e634f03a37247fb70 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Apr 2023 10:47:18 +0200 Subject: [PATCH 1249/2080] darwin: clean package list --- machines/Baptistes-MBP/default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index cf52ccb1..33ddde40 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -12,7 +12,6 @@ onActivation.upgrade = true; brews = [ "terminal-notifier" - "the_silver_searcher" # mail setup # XXX to be moved to a module @@ -22,12 +21,10 @@ "mutt" # XXX install from pkgs does not work + "checkmake" "joplin-cli" - # To be used for nvim/treesitter/neorg with recent C++ - "llvm" "bitwarden-cli" - "checkmake" "fetch-crl" "perltidy" "pyenv" From dcaf05dfa0f7fa0d12a6bbed5a10d54c00a4a0b3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 19 Apr 2023 09:49:50 +0200 Subject: [PATCH 1250/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 191a2736..77e91d9e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,5 +1,5 @@ { - "LazyVim": { "branch": "main", "commit": "77efbe8bcf76675ba83257a376001e0e86dbd2c4" }, + "LazyVim": { "branch": "main", "commit": "0b8c799a7a20624b8d607190fa33e70adacb0b03" }, "LuaSnip": { "branch": "master", "commit": "8d6c0a93dec34900577ba725e91c44b8d3ca1f45" }, "SchemaStore.nvim": { "branch": "main", "commit": "5e1225507dbc46710e7f2bec86f2444e578a959e" }, "alpha-nvim": { "branch": "main", "commit": "87c204040e3f5d4c1c95067b35905d8f8a2f2545" }, @@ -21,16 +21,16 @@ "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "b1b78a6433268fc172adb5a843e165035e83861e" }, "gitsigns.nvim": { "branch": "main", "commit": "372d5cb485f2062ac74abc5b33054abac21d8b58" }, - "gx.nvim": { "branch": "main", "commit": "5697e25e6c3a13bb6a147e6a247a69a46dc41aa8" }, + "gx.nvim": { "branch": "main", "commit": "991b6ac58d17a55dacea5d07860a7da384b747aa" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "eddee830ede0f95ced9802ca9abd3f8f662e5cc5" }, - "leap.nvim": { "branch": "main", "commit": "98a72ad93c629c49bd7127d342960cc1b159b620" }, + "lazy.nvim": { "branch": "main", "commit": "5f13f69851d2b244891d77590db9e3370197facc" }, + "leap.nvim": { "branch": "main", "commit": "0eb3611593e135150e2f7880ec67568ccb51c17a" }, "ltex_extra.nvim": { "branch": "master", "commit": "918915211dbdbdae29a16e0b85d415e10e732af3" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "7034065099c1665143091c7282b3b1b8f0b23783" }, - "mason.nvim": { "branch": "main", "commit": "a0604613f5887ba14722d710e2b9290b3894e8db" }, + "mason.nvim": { "branch": "main", "commit": "d3188d44efb0caf006492641f7b9189ae86e47be" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "863b01e20cd5cc599eb8ca87f44ecc1f2be04920" }, @@ -41,12 +41,12 @@ "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "7a6b0d43d70636edfec183fb49c02f725765da73" }, - "neoconf.nvim": { "branch": "main", "commit": "e5ae2a83e061de5c8e409e1a3e6d6ed183d2fcfd" }, - "neodev.nvim": { "branch": "main", "commit": "b7feac47ef2e0d3994a05ee60ca761dc80dae38a" }, + "neoconf.nvim": { "branch": "main", "commit": "315161d16fafb172cd4e46563a5b602fd8550a00" }, + "neodev.nvim": { "branch": "main", "commit": "e812f3d0e62e21a164b70f90f642cf30129503e4" }, "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, "neogit": { "branch": "master", "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" }, "neorg": { "branch": "main", "commit": "1fecaab548161abd0238b3d16c81e69c7d14252a" }, - "noice.nvim": { "branch": "main", "commit": "9649d9fd4d8fa8a8654e1e9c293718ae8d62e73b" }, + "noice.nvim": { "branch": "main", "commit": "7bd435a48a2d2b3f028c633126e3f669ae6b902f" }, "nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" }, "null-ls.nvim": { "branch": "main", "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, @@ -58,10 +58,10 @@ "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "c79c37927bb6a937b5b85c45125db75dc204a6ef" }, + "nvim-treesitter": { "branch": "master", "commit": "831f37635df26864a397a5e35450eec97bfe60cd" }, "nvim-treesitter-context": { "branch": "master", "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "ada15e97d7d48b409f8b135ced104e00e8479fb9" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "9e829d5cfa3de6a2ff561d86399772b0339ae49d" }, "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, @@ -77,7 +77,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "tokyonight.nvim": { "branch": "main", "commit": "ef8f5917f1a3972e6dd083c1ea74dafcb54f9917" }, + "tokyonight.nvim": { "branch": "main", "commit": "dc5b5e20bc232a10e833fd3e81fea149bd4a902f" }, "trouble.nvim": { "branch": "main", "commit": "d56bfc0c501ced4002a57cb60433362fb2ce9c4d" }, "twilight.nvim": { "branch": "main", "commit": "2e13bd1886562b737f38c418ed542677b41ef5cb" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, @@ -86,7 +86,7 @@ "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "c9da356b59eb30dfca6cd573b63d0e81c0a24ff9" }, - "which-key.nvim": { "branch": "main", "commit": "f82ca7fbaf4718303dbaf83dc28303fee16cf4d2" }, + "which-key.nvim": { "branch": "main", "commit": "94cb020ff33a1e0e22fac1c41663d2c439741f17" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" } } \ No newline at end of file From 3234d89975bfd92eb5685d6cfd4190f4687b9240 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 19 Apr 2023 09:49:54 +0200 Subject: [PATCH 1251/2080] lsp: remove unnecessary options. --- lazyvim/nvim/lua/plugins/lsp.lua | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index a8258aa8..c5dc668d 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -6,9 +6,6 @@ return { -- add various LSP to lspconfig { "neovim/nvim-lspconfig", - -- XXX: Need to run master as tagged release is outdated and not using latest lua_ls - -- name, cf https://github.com/neovim/nvim-lspconfig/pull/2439 - version = false, opts = { -- add folding range to capabilities capabilities = { @@ -19,10 +16,6 @@ return { }, }, }, - -- Manage virtual text - diagnostics = { - virtual_text = true, - }, -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md servers = { ansiblels = {}, From 87b92d867a70b3a23c998485f36d94eeab1b059a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 19 Apr 2023 09:50:19 +0200 Subject: [PATCH 1252/2080] nvim completion: disable copilot in files that may contain sensitive information --- lazyvim/nvim/lua/plugins/coding.lua | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 3ec870b5..7b629c43 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -370,6 +370,27 @@ return { }), }) + -- XXX: Do not use copilot completion in files that may contain senstive information + cmp.setup.filetype({ "norg", "tex" }, { + ---@diagnostic disable-next-line: missing-parameter + sources = cmp.config.sources({ + -- would be useful to be able to use this only when completing headers + { name = "lbdb" }, + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "path" }, + { name = "emoji" }, + { + name = "buffer", + option = { + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end, + }, + }, + }), + }) + -- Do not use copilot in norg and markdown files -- cmp.setup.filetype({"norg", "markdown}", { -- ---@diagnostic disable-next-line: missing-parameter From ea91d51da1e09f09b7557c5508ce9e1d48e9305f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 19 Apr 2023 09:52:58 +0200 Subject: [PATCH 1253/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/d4ac0e115563dc894323947e2fd679f25bfa788a' (2023-04-17) → 'github:nix-community/neovim-nightly-overlay/b7ae7ef7cc841eebb365840a90341a5555ed93f5' (2023-04-18) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/53985a6d31cc60d4b2d7a7af91929922de9ecf4d?dir=contrib' (2023-04-17) → 'github:neovim/neovim/d4eff4052a29079e108b5efcb030f07643978994?dir=contrib' (2023-04-18) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/db34d7561caa508ece0265a56f382c5d3b7a6c1b' (2023-04-17) → 'github:nixos/nixpkgs/0a4206a51b386e5cda731e8ac78d76ad924c7125' (2023-04-17) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/de66115c552acc4e0c0f92c5a5efb32e37dfa216' (2023-04-17) → 'github:NixOS/nixpkgs/cd749f58ba83f7155b7062dd49d08e5e47e44d50' (2023-04-17) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/47b0fe7da4ecaf1150abbc63aa4fb20bab00b430' (2023-04-17) → 'github:nixos/nixpkgs/53da61ec95e30d0d513a8be8d730dee90eff307e' (2023-04-18) • Updated input 'nur': 'github:nix-community/NUR/bf5c9a12078291dd4667e0e0ebd152f991e52a89' (2023-04-18) → 'github:nix-community/NUR/4e268adbad1dcab4b04cc14968e2a8efcf0c1912' (2023-04-19) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 7570b2cb..fc5947dd 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681719021, - "narHash": "sha256-edYPdId662VSpTngbFinHZDk7hbIO0T4DaIG75QdOoA=", + "lastModified": 1681801487, + "narHash": "sha256-ti/uMZMKGXRUTw8I7fpESHP+RiTKSxQKDxYI6AXYmMA=", "owner": "neovim", "repo": "neovim", - "rev": "53985a6d31cc60d4b2d7a7af91929922de9ecf4d", + "rev": "d4eff4052a29079e108b5efcb030f07643978994", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681719254, - "narHash": "sha256-bA07zWjG/4mvnXcs08Z0vwAUObpE9nsbtF4wUC0G+Bg=", + "lastModified": 1681805634, + "narHash": "sha256-4zwobBEEfH2NdcBLGVb+QlXWyM3rHIgy3fTxZ+9P6CY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d4ac0e115563dc894323947e2fd679f25bfa788a", + "rev": "b7ae7ef7cc841eebb365840a90341a5555ed93f5", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1681693905, - "narHash": "sha256-XdXMvCt+i2ZcmAIPZvu3RUwcdaC9OX7d1WMAJJokzeA=", + "lastModified": 1681753173, + "narHash": "sha256-MrGmzZWLUqh2VstoikKLFFIELXm/lsf/G9U9zR96VD4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "db34d7561caa508ece0265a56f382c5d3b7a6c1b", + "rev": "0a4206a51b386e5cda731e8ac78d76ad924c7125", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1681731662, - "narHash": "sha256-/4czA18iXFPKHfg8zWx7k98/X3A9p3+7WzLE45h0i7M=", + "lastModified": 1681779497, + "narHash": "sha256-f82m8Ki9upuQozus3fBaywmQ3ySLT/w6GkqHVUqQJoE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "47b0fe7da4ecaf1150abbc63aa4fb20bab00b430", + "rev": "53da61ec95e30d0d513a8be8d730dee90eff307e", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1681696129, - "narHash": "sha256-Ba2y1lmsWmmAOAoTD5G9UnTS/UqV0ZFyzysgdfu7qag=", + "lastModified": 1681759395, + "narHash": "sha256-7aaRtLxLAy8qFVIA26ulB+Q5nDVzuQ71qi0s0wMjAws=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "de66115c552acc4e0c0f92c5a5efb32e37dfa216", + "rev": "cd749f58ba83f7155b7062dd49d08e5e47e44d50", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681789523, - "narHash": "sha256-6hNQ6487xA4vpMxUj13kOYj6VhLUC9iZAcGUuQIfLTg=", + "lastModified": 1681887651, + "narHash": "sha256-tS9FLRNEM4jkI+B/2b2ptHE3Ok+5ydpvGfxchq8bCYM=", "owner": "nix-community", "repo": "NUR", - "rev": "bf5c9a12078291dd4667e0e0ebd152f991e52a89", + "rev": "4e268adbad1dcab4b04cc14968e2a8efcf0c1912", "type": "github" }, "original": { From fb944f6633cc1d6af700e8fb1a04f296d8e82ed9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 19 Apr 2023 10:37:00 +0200 Subject: [PATCH 1254/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/b7ae7ef7cc841eebb365840a90341a5555ed93f5' (2023-04-18) → 'github:nix-community/neovim-nightly-overlay/ef6c08f5ac8c60a4aef9747a366b4008ebba4b9f' (2023-04-19) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/d4eff4052a29079e108b5efcb030f07643978994?dir=contrib' (2023-04-18) → 'github:neovim/neovim/6d9f5b6bf0fc324b33ce01f74a6030c9271b1a01?dir=contrib' (2023-04-19) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index fc5947dd..67effc19 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681801487, - "narHash": "sha256-ti/uMZMKGXRUTw8I7fpESHP+RiTKSxQKDxYI6AXYmMA=", + "lastModified": 1681890086, + "narHash": "sha256-RGmSXFUOjOjyVwTtEwOhg61pnGf8Ncoru2kdy9JGxUI=", "owner": "neovim", "repo": "neovim", - "rev": "d4eff4052a29079e108b5efcb030f07643978994", + "rev": "6d9f5b6bf0fc324b33ce01f74a6030c9271b1a01", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681805634, - "narHash": "sha256-4zwobBEEfH2NdcBLGVb+QlXWyM3rHIgy3fTxZ+9P6CY=", + "lastModified": 1681892033, + "narHash": "sha256-HBTBGFFRa7A0TGHVy5it7lODkJthdFYBDemu8ffQKLk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b7ae7ef7cc841eebb365840a90341a5555ed93f5", + "rev": "ef6c08f5ac8c60a4aef9747a366b4008ebba4b9f", "type": "github" }, "original": { From fa9b928f41c76b7196419964589688a78d658252 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 19 Apr 2023 14:22:26 +0200 Subject: [PATCH 1255/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/4e268adbad1dcab4b04cc14968e2a8efcf0c1912' (2023-04-19) → 'github:nix-community/NUR/5030bb7652f5eb941877f2660e09770f2b939e86' (2023-04-19) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 67effc19..f2c637c1 100644 --- a/flake.lock +++ b/flake.lock @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681887651, - "narHash": "sha256-tS9FLRNEM4jkI+B/2b2ptHE3Ok+5ydpvGfxchq8bCYM=", + "lastModified": 1681896445, + "narHash": "sha256-Xbqu5Cl9P1RRJCJaCqqR4+976yYmmD5lYOrecQm8StQ=", "owner": "nix-community", "repo": "NUR", - "rev": "4e268adbad1dcab4b04cc14968e2a8efcf0c1912", + "rev": "5030bb7652f5eb941877f2660e09770f2b939e86", "type": "github" }, "original": { From 94fb873c0f4790207c7a8c0cfddec7f6cd3270ad Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Apr 2023 09:08:39 +0200 Subject: [PATCH 1256/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/53da61ec95e30d0d513a8be8d730dee90eff307e' (2023-04-18) → 'github:nixos/nixpkgs/0197f14455d2ee6dc86accda57a813f9bccdaf37' (2023-04-19) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/f00994e78cd39e6fc966f0c4103f908e63284780' (2023-04-17) → 'github:nixos/nixpkgs/555daa9d339b3df75e58ee558a4fec98ea92521e' (2023-04-18) • Updated input 'nur': 'github:nix-community/NUR/5030bb7652f5eb941877f2660e09770f2b939e86' (2023-04-19) → 'github:nix-community/NUR/1fd420e869c3458c36115618786e8979b90c6254' (2023-04-20) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index f2c637c1..6992775e 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1681779497, - "narHash": "sha256-f82m8Ki9upuQozus3fBaywmQ3ySLT/w6GkqHVUqQJoE=", + "lastModified": 1681921835, + "narHash": "sha256-WWvI2aLDotGZZ5+pSUPylBnBe1RsNuEc3oN/I8X7zRo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "53da61ec95e30d0d513a8be8d730dee90eff307e", + "rev": "0197f14455d2ee6dc86accda57a813f9bccdaf37", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1681737997, - "narHash": "sha256-pHhjgsIkRMu80LmVe8QoKIZB6VZGRRxFmIvsC5S89k4=", + "lastModified": 1681828457, + "narHash": "sha256-o4Zvs309HOhrNeVloPKqangcKHobsggVt6GFbnEPZlQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f00994e78cd39e6fc966f0c4103f908e63284780", + "rev": "555daa9d339b3df75e58ee558a4fec98ea92521e", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681896445, - "narHash": "sha256-Xbqu5Cl9P1RRJCJaCqqR4+976yYmmD5lYOrecQm8StQ=", + "lastModified": 1681971746, + "narHash": "sha256-afyqFjo0xCzwhkf7P7/NPwBjJ1VXK8dVhXxDGytDxoI=", "owner": "nix-community", "repo": "NUR", - "rev": "5030bb7652f5eb941877f2660e09770f2b939e86", + "rev": "1fd420e869c3458c36115618786e8979b90c6254", "type": "github" }, "original": { From 04ca615838e4ccc6640f49d47939f83899a7d634 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Apr 2023 14:32:03 +0200 Subject: [PATCH 1257/2080] LazyVim: unable project management stuff. --- lazyvim/nvim/lua/config/lazy.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 1bafaf96..79f30058 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -21,6 +21,7 @@ require("lazy").setup({ -- FIXME: not working fully automatically, likely due to overwritting of ncim-cmp -- configuration and sources { import = "lazyvim.plugins.extras.coding.copilot" }, + { import = "lazyvim.plugins.extras.util.project" }, -- import/override with your plugins { import = "plugins" }, }, From a07f5a199f7536a36d3e32645e5449cf9ca07a1a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Apr 2023 14:32:20 +0200 Subject: [PATCH 1258/2080] tools: fix renamed neorg modules. --- lazyvim/nvim/lua/plugins/tools.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index ef3c3002..9813b4c0 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -11,12 +11,12 @@ return { load = { -- Load default modules ["core.defaults"] = {}, - ["core.norg.concealer"] = {}, - ["core.norg.completion"] = { + ["core.concealer"] = {}, + ["core.completion"] = { config = { engine = "nvim-cmp" }, }, ["core.integrations.nvim-cmp"] = {}, - ["core.norg.dirman"] = { + ["core.dirman"] = { config = { workspaces = { work = "~/Documents/notes/work", From e8936f034b7536270e664fb33dc3bb29f3e1f5b1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Apr 2023 14:33:49 +0200 Subject: [PATCH 1259/2080] coding: add cmp-cmdline. --- lazyvim/nvim/lua/plugins/coding.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 7b629c43..4b83cac4 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -4,6 +4,9 @@ return { -- Install support for editing nix files { "LnL7/vim-nix" }, + -- TODO: check if useful and incorporate if needed + -- https://github.com/AckslD/nvim-FeMaco.lua + -- XXX tools are managed via nix -- add any tools you want to have installed below -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua @@ -283,6 +286,7 @@ return { -- { "codybuell/cmp-lbdb", lazy = true, ft = "mail" }, { "gwarf/cmp-lbdb", branch = "fix_nil_meta_raw", lazy = true, ft = "mail" }, { "hrsh7th/cmp-nvim-lua" }, + { "hrsh7th/cmp-cmdline" }, }, ---@param opts cmp.ConfigSchema opts = function(_, opts) @@ -375,7 +379,6 @@ return { ---@diagnostic disable-next-line: missing-parameter sources = cmp.config.sources({ -- would be useful to be able to use this only when completing headers - { name = "lbdb" }, { name = "nvim_lsp" }, { name = "luasnip" }, { name = "path" }, From db2724e0baace18acceed8a778ff67114be67f21 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Apr 2023 14:34:13 +0200 Subject: [PATCH 1260/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 77e91d9e..a4a4efc9 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { - "LazyVim": { "branch": "main", "commit": "0b8c799a7a20624b8d607190fa33e70adacb0b03" }, + "LazyVim": { "branch": "main", "commit": "81ab5bed7a81c3005f862d6508dacc26c4ed553a" }, "LuaSnip": { "branch": "master", "commit": "8d6c0a93dec34900577ba725e91c44b8d3ca1f45" }, "SchemaStore.nvim": { "branch": "main", "commit": "5e1225507dbc46710e7f2bec86f2444e578a959e" }, "alpha-nvim": { "branch": "main", "commit": "87c204040e3f5d4c1c95067b35905d8f8a2f2545" }, "bufferline.nvim": { "branch": "main", "commit": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf" }, - "catppuccin": { "branch": "main", "commit": "46bf7de94cb3820553067747cdd65d4605dbc908" }, + "catppuccin": { "branch": "main", "commit": "939be5f7fcbc15abeaad9214bb253a4551f6f6e6" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "af88e700417c6449719fc77f6f3745f88e42d5da" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -14,23 +14,23 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" }, - "copilot.lua": { "branch": "master", "commit": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb" }, + "copilot.lua": { "branch": "master", "commit": "decc8d43bcd73a288fa689690c20faf0485da217" }, "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, "diffview.nvim": { "branch": "main", "commit": "63720aa5a70ce4aa386be407d0e612cd9e63861a" }, "dressing.nvim": { "branch": "master", "commit": "0e3e1eba147fee6e638ac1ac28f0495bcde17319" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "b1b78a6433268fc172adb5a843e165035e83861e" }, "gitsigns.nvim": { "branch": "main", "commit": "372d5cb485f2062ac74abc5b33054abac21d8b58" }, - "gx.nvim": { "branch": "main", "commit": "991b6ac58d17a55dacea5d07860a7da384b747aa" }, + "gx.nvim": { "branch": "main", "commit": "2281cab54b943c7e83cbb0a6828a4f6cd15574f2" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "5f13f69851d2b244891d77590db9e3370197facc" }, + "lazy.nvim": { "branch": "main", "commit": "5c89dc52f42e5058a46b0912d7d9042f564e44e0" }, "leap.nvim": { "branch": "main", "commit": "0eb3611593e135150e2f7880ec67568ccb51c17a" }, "ltex_extra.nvim": { "branch": "master", "commit": "918915211dbdbdae29a16e0b85d415e10e732af3" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "7034065099c1665143091c7282b3b1b8f0b23783" }, - "mason.nvim": { "branch": "main", "commit": "d3188d44efb0caf006492641f7b9189ae86e47be" }, + "mason.nvim": { "branch": "main", "commit": "b20a4bd32247411d39d8dd5c94e2e5c87d98556d" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "863b01e20cd5cc599eb8ca87f44ecc1f2be04920" }, @@ -41,25 +41,25 @@ "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "7a6b0d43d70636edfec183fb49c02f725765da73" }, - "neoconf.nvim": { "branch": "main", "commit": "315161d16fafb172cd4e46563a5b602fd8550a00" }, + "neoconf.nvim": { "branch": "main", "commit": "327d46c5625c3b1bb2163ecdd734acdc1cbef566" }, "neodev.nvim": { "branch": "main", "commit": "e812f3d0e62e21a164b70f90f642cf30129503e4" }, "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, "neogit": { "branch": "master", "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" }, - "neorg": { "branch": "main", "commit": "1fecaab548161abd0238b3d16c81e69c7d14252a" }, + "neorg": { "branch": "main", "commit": "f742e90d6d8ec831f0bce939c37a3c04407c0e9f" }, "noice.nvim": { "branch": "main", "commit": "7bd435a48a2d2b3f028c633126e3f669ae6b902f" }, "nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" }, "null-ls.nvim": { "branch": "main", "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lspconfig": { "branch": "master", "commit": "eddaef928c1e1dd79a96f5db45f2fd7f2efe7ea0" }, - "nvim-navic": { "branch": "master", "commit": "226c1c0c0bf67e103b609f18907c778acc9095c2" }, - "nvim-notify": { "branch": "master", "commit": "50d037041ada0895aeba4c0215cde6d11b7729c4" }, + "nvim-navic": { "branch": "master", "commit": "66de418892b30709c6a5e79075dd6f4d5689a8c0" }, + "nvim-notify": { "branch": "master", "commit": "159c6cf1be25a933f35e97499314c9faab55c98f" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "831f37635df26864a397a5e35450eec97bfe60cd" }, - "nvim-treesitter-context": { "branch": "master", "commit": "0d730df898f3dc27fd88f03cfa6d26d2405554b4" }, + "nvim-treesitter": { "branch": "master", "commit": "eedc5198a1b4bb1b08ae6d4f64f3d76e376957aa" }, + "nvim-treesitter-context": { "branch": "master", "commit": "8b6861ebf0ba88e5f57796372eb194787705d25a" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "9e829d5cfa3de6a2ff561d86399772b0339ae49d" }, @@ -68,24 +68,25 @@ "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, "plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" }, + "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, - "sqlite.lua": { "branch": "master", "commit": "376e4735c48e07dade3e6ff5f09a654a04f5d4ba" }, + "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "58d0d12191adee41fce7ef20d46d1203efa0d11e" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "tokyonight.nvim": { "branch": "main", "commit": "dc5b5e20bc232a10e833fd3e81fea149bd4a902f" }, + "tokyonight.nvim": { "branch": "main", "commit": "ff81eac0ecf85db235dfc4c9d54f2d07d662a423" }, "trouble.nvim": { "branch": "main", "commit": "d56bfc0c501ced4002a57cb60433362fb2ce9c4d" }, "twilight.nvim": { "branch": "main", "commit": "2e13bd1886562b737f38c418ed542677b41ef5cb" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "5fa824acc89d04b54c12126d768ab71ba7f1c686" }, + "vim-matchup": { "branch": "master", "commit": "1364b2ba551c82fdb342b646da666a477490c063" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "c9da356b59eb30dfca6cd573b63d0e81c0a24ff9" }, + "vim-startuptime": { "branch": "master", "commit": "c13eb0cfa0e27a651c60431c49819aec80da2ad7" }, "which-key.nvim": { "branch": "main", "commit": "94cb020ff33a1e0e22fac1c41663d2c439741f17" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" } From e9a2e0b1b78d5b41abea1959b7c668ff9472a3f5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Apr 2023 15:16:32 +0200 Subject: [PATCH 1261/2080] nvim lsp: add commented non working code with params passed to ltex_extra --- lazyvim/nvim/lua/plugins/lsp.lua | 53 +++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index c5dc668d..ddd4b9ce 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -1,7 +1,58 @@ -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua return { -- Improved ltex integration, supporting code actions - { "barreiroleo/ltex_extra.nvim" }, + { + "barreiroleo/ltex_extra.nvim", + dependencies = { "neovim/nvim-lspconfig" }, + -- FIXME: move ltex configuration here + -- ft = { + -- "bib", + -- "gitcommit", + -- "latex", + -- "mail", + -- "markdown", + -- "norg", + -- "org", + -- "pandoc", + -- "rst", + -- "tex", + -- "text", + -- }, + -- config = function() + -- require("ltex_extra").setup({ + -- load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded + -- init_check = true, -- whether to load dictionaries on startup + -- path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. + -- log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + -- server_opts = nil, + -- }) + -- end, + -- opts = { + -- load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded + -- init_check = true, -- whether to load dictionaries on startup + -- path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. + -- log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + -- server_opts = { + -- settings = { + -- -- https://valentjn.github.io/ltex/settings.html + -- ltex = { + -- -- trace = { server = "verbose" }, + -- checkFrequency = "save", + -- language = "en-GB", + -- additionalRules = { + -- enablePickyRules = true, + -- motherTongue = "fr", + -- }, + -- -- https://community.languagetool.org/rule/list?lang=en + -- disabledRules = { + -- -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt + -- ["fr"] = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, + -- }, + -- }, + -- }, + -- }, + -- }, + }, -- add various LSP to lspconfig { From 9000e354aa3d605f8991b7b3f5dd1daf1779d7ad Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Apr 2023 15:16:55 +0200 Subject: [PATCH 1262/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/ef6c08f5ac8c60a4aef9747a366b4008ebba4b9f' (2023-04-19) → 'github:nix-community/neovim-nightly-overlay/905aff689afb230a037599d1d6456d65ce9b4a64' (2023-04-20) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/6d9f5b6bf0fc324b33ce01f74a6030c9271b1a01?dir=contrib' (2023-04-19) → 'github:neovim/neovim/dbcd1985d13b02ab7a547d0b97d4ede28fa49b96?dir=contrib' (2023-04-20) • Updated input 'nur': 'github:nix-community/NUR/1fd420e869c3458c36115618786e8979b90c6254' (2023-04-20) → 'github:nix-community/NUR/5ea4cf7eafb21011352a3cf857edc2d7c5ccdf70' (2023-04-20) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 6992775e..9f04a783 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681890086, - "narHash": "sha256-RGmSXFUOjOjyVwTtEwOhg61pnGf8Ncoru2kdy9JGxUI=", + "lastModified": 1681953453, + "narHash": "sha256-l2Nh6qN3u77m4cwSQvcEELiNos36YOvCTym2MHehnQE=", "owner": "neovim", "repo": "neovim", - "rev": "6d9f5b6bf0fc324b33ce01f74a6030c9271b1a01", + "rev": "dbcd1985d13b02ab7a547d0b97d4ede28fa49b96", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681892033, - "narHash": "sha256-HBTBGFFRa7A0TGHVy5it7lODkJthdFYBDemu8ffQKLk=", + "lastModified": 1681978427, + "narHash": "sha256-5u41ZO28uC1+pCOlEn4avxvGmy9yxqZE//LGRJyZu4I=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ef6c08f5ac8c60a4aef9747a366b4008ebba4b9f", + "rev": "905aff689afb230a037599d1d6456d65ce9b4a64", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681971746, - "narHash": "sha256-afyqFjo0xCzwhkf7P7/NPwBjJ1VXK8dVhXxDGytDxoI=", + "lastModified": 1681994115, + "narHash": "sha256-O/7AVL1iKq4G4Zyf0k71Ki5OOP3U4gH5ms1ZLMPuG1I=", "owner": "nix-community", "repo": "NUR", - "rev": "1fd420e869c3458c36115618786e8979b90c6254", + "rev": "5ea4cf7eafb21011352a3cf857edc2d7c5ccdf70", "type": "github" }, "original": { From 382baecd772031423644cfe3f1b82b357b3db1ba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Apr 2023 15:24:22 +0200 Subject: [PATCH 1263/2080] Back to neovim unstable, too many temporary issues with nighlies --- home/neovim-nightly.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index 8e7d51d0..a45fd637 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -9,8 +9,9 @@ in programs.neovim = { enable = true; # package = neovim-unwrapped; - # package = pkgs-unstable.neovim-unwrapped; - package = neovim-nightly; + package = pkgs-unstable.neovim-unwrapped; + # XXX: disabled for now, temporary issues arriving too often + # package = neovim-nightly; # use nvim by default vimAlias = true; From 890c592bedd39bcd320ce56fd96cc6b4c99ec45b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Apr 2023 15:24:28 +0200 Subject: [PATCH 1264/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index a4a4efc9..3e6b2779 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -3,7 +3,7 @@ "LuaSnip": { "branch": "master", "commit": "8d6c0a93dec34900577ba725e91c44b8d3ca1f45" }, "SchemaStore.nvim": { "branch": "main", "commit": "5e1225507dbc46710e7f2bec86f2444e578a959e" }, "alpha-nvim": { "branch": "main", "commit": "87c204040e3f5d4c1c95067b35905d8f8a2f2545" }, - "bufferline.nvim": { "branch": "main", "commit": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf" }, + "bufferline.nvim": { "branch": "main", "commit": "3fe1c0e33fd66bc1a8c0d827f9449e2dec9691d4" }, "catppuccin": { "branch": "main", "commit": "939be5f7fcbc15abeaad9214bb253a4551f6f6e6" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "af88e700417c6449719fc77f6f3745f88e42d5da" }, @@ -30,7 +30,7 @@ "ltex_extra.nvim": { "branch": "master", "commit": "918915211dbdbdae29a16e0b85d415e10e732af3" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "7034065099c1665143091c7282b3b1b8f0b23783" }, - "mason.nvim": { "branch": "main", "commit": "b20a4bd32247411d39d8dd5c94e2e5c87d98556d" }, + "mason.nvim": { "branch": "main", "commit": "4b357eded58ef0993fb49a591ed70306c6b44e08" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "863b01e20cd5cc599eb8ca87f44ecc1f2be04920" }, @@ -58,7 +58,7 @@ "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "eedc5198a1b4bb1b08ae6d4f64f3d76e376957aa" }, + "nvim-treesitter": { "branch": "master", "commit": "b0338a056525e83d88aaa76e8cf396af07410bed" }, "nvim-treesitter-context": { "branch": "master", "commit": "8b6861ebf0ba88e5f57796372eb194787705d25a" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, From c9337af35394b26a87a2b3c4eaf10ced0f3f44bd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 24 Apr 2023 09:33:43 +0200 Subject: [PATCH 1265/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/025912529dd0b31dead95519e944ea05f1ad56f2' (2023-04-10) → 'github:lnl7/nix-darwin/a1ee4d333b092bc055655fb06229eb3013755812' (2023-04-20) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/905aff689afb230a037599d1d6456d65ce9b4a64' (2023-04-20) → 'github:nix-community/neovim-nightly-overlay/3594ebd0f70ebc4553bb9e16accb1fd868dc3125' (2023-04-23) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/dbcd1985d13b02ab7a547d0b97d4ede28fa49b96?dir=contrib' (2023-04-20) → 'github:neovim/neovim/3ac952d4e27f4e2454332a730310316fe13fd4a3?dir=contrib' (2023-04-23) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/0a4206a51b386e5cda731e8ac78d76ad924c7125' (2023-04-17) → 'github:nixos/nixpkgs/2362848adf8def2866fabbffc50462e929d7fffb' (2023-04-21) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/cd749f58ba83f7155b7062dd49d08e5e47e44d50' (2023-04-17) → 'github:NixOS/nixpkgs/ee7ec1c71adc47d2e3c2d5eb0d6b8fbbd42a8d1c' (2023-04-22) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/0197f14455d2ee6dc86accda57a813f9bccdaf37' (2023-04-19) → 'github:nixos/nixpkgs/72d3a54650b8722933e4c02b1c7d3f5f19b61185' (2023-04-23) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/555daa9d339b3df75e58ee558a4fec98ea92521e' (2023-04-18) → 'github:nixos/nixpkgs/6c43a3495a11e261e5f41e5d7eda2d71dae1b2fe' (2023-04-22) • Updated input 'nur': 'github:nix-community/NUR/5ea4cf7eafb21011352a3cf857edc2d7c5ccdf70' (2023-04-20) → 'github:nix-community/NUR/dde696e9d66234fe8e86b7806fb21b43598e0568' (2023-04-24) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 9f04a783..bb3798e7 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1681154394, - "narHash": "sha256-avnu1K9AuouygBiwVKuDp6emiTET43az3rcpv0ctLjc=", + "lastModified": 1682009832, + "narHash": "sha256-QdNOeFE7sI+0ddqVfn9vQDCUs7OdxhJ7evo9sdyP82Y=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "025912529dd0b31dead95519e944ea05f1ad56f2", + "rev": "a1ee4d333b092bc055655fb06229eb3013755812", "type": "github" }, "original": { @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681953453, - "narHash": "sha256-l2Nh6qN3u77m4cwSQvcEELiNos36YOvCTym2MHehnQE=", + "lastModified": 1682213005, + "narHash": "sha256-b6Fx9z9Uxpc8ARCOWHf0SX8bpaRpzURvqbmlX1y+iZE=", "owner": "neovim", "repo": "neovim", - "rev": "dbcd1985d13b02ab7a547d0b97d4ede28fa49b96", + "rev": "3ac952d4e27f4e2454332a730310316fe13fd4a3", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681978427, - "narHash": "sha256-5u41ZO28uC1+pCOlEn4avxvGmy9yxqZE//LGRJyZu4I=", + "lastModified": 1682237548, + "narHash": "sha256-7bXfvT8S2O+aqIfLsDk7eTQjX4JrchHh7TyqGCA5zPI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "905aff689afb230a037599d1d6456d65ce9b4a64", + "rev": "3594ebd0f70ebc4553bb9e16accb1fd868dc3125", "type": "github" }, "original": { @@ -135,11 +135,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1681753173, - "narHash": "sha256-MrGmzZWLUqh2VstoikKLFFIELXm/lsf/G9U9zR96VD4=", + "lastModified": 1682109806, + "narHash": "sha256-d9g7RKNShMLboTWwukM+RObDWWpHKaqTYXB48clBWXI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0a4206a51b386e5cda731e8ac78d76ad924c7125", + "rev": "2362848adf8def2866fabbffc50462e929d7fffb", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1681921835, - "narHash": "sha256-WWvI2aLDotGZZ5+pSUPylBnBe1RsNuEc3oN/I8X7zRo=", + "lastModified": 1682276141, + "narHash": "sha256-5tKgBth1iMqLJwJVRqHaAH6c7lTot+V8/+VAy9WD+Jw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0197f14455d2ee6dc86accda57a813f9bccdaf37", + "rev": "72d3a54650b8722933e4c02b1c7d3f5f19b61185", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1681828457, - "narHash": "sha256-o4Zvs309HOhrNeVloPKqangcKHobsggVt6GFbnEPZlQ=", + "lastModified": 1682181988, + "narHash": "sha256-CYWhlNi16cjGzMby9h57gpYE59quBcsHPXiFgX4Sw5k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "555daa9d339b3df75e58ee558a4fec98ea92521e", + "rev": "6c43a3495a11e261e5f41e5d7eda2d71dae1b2fe", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1681759395, - "narHash": "sha256-7aaRtLxLAy8qFVIA26ulB+Q5nDVzuQ71qi0s0wMjAws=", + "lastModified": 1682173319, + "narHash": "sha256-tPhOpJJ+wrWIusvGgIB2+x6ILfDkEgQMX0BTtM5vd/4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cd749f58ba83f7155b7062dd49d08e5e47e44d50", + "rev": "ee7ec1c71adc47d2e3c2d5eb0d6b8fbbd42a8d1c", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1681994115, - "narHash": "sha256-O/7AVL1iKq4G4Zyf0k71Ki5OOP3U4gH5ms1ZLMPuG1I=", + "lastModified": 1682320606, + "narHash": "sha256-R9tB0d8huRFCPbwtlnc1RwUMU98Zs4TjqwiPHS+jCqw=", "owner": "nix-community", "repo": "NUR", - "rev": "5ea4cf7eafb21011352a3cf857edc2d7c5ccdf70", + "rev": "dde696e9d66234fe8e86b7806fb21b43598e0568", "type": "github" }, "original": { From 0e8440093d3cb1b3de7139f2699ca1301759d3e4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 24 Apr 2023 11:51:49 +0200 Subject: [PATCH 1266/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/3594ebd0f70ebc4553bb9e16accb1fd868dc3125' (2023-04-23) → 'github:nix-community/neovim-nightly-overlay/78ad21f19b4cdeef9656ca204c4f4393ed10e1c3' (2023-04-24) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/3ac952d4e27f4e2454332a730310316fe13fd4a3?dir=contrib' (2023-04-23) → 'github:neovim/neovim/c1331a65dd12dd1128db5fb136a77218ef7376f1?dir=contrib' (2023-04-24) • Updated input 'nur': 'github:nix-community/NUR/dde696e9d66234fe8e86b7806fb21b43598e0568' (2023-04-24) → 'github:nix-community/NUR/2fbd1856a42fe3d99ba39a3399acff8965ec5ccf' (2023-04-24) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index bb3798e7..9c378ab5 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682213005, - "narHash": "sha256-b6Fx9z9Uxpc8ARCOWHf0SX8bpaRpzURvqbmlX1y+iZE=", + "lastModified": 1682299570, + "narHash": "sha256-YA+wPrXEwe2yjO0DfX/ux/pmvVTf+Y8UKQPQQIOWP14=", "owner": "neovim", "repo": "neovim", - "rev": "3ac952d4e27f4e2454332a730310316fe13fd4a3", + "rev": "c1331a65dd12dd1128db5fb136a77218ef7376f1", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682237548, - "narHash": "sha256-7bXfvT8S2O+aqIfLsDk7eTQjX4JrchHh7TyqGCA5zPI=", + "lastModified": 1682324064, + "narHash": "sha256-5TfSKIEMv8yD18L4RZuCyDlUkpaY47J4jEysvAI3FuE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3594ebd0f70ebc4553bb9e16accb1fd868dc3125", + "rev": "78ad21f19b4cdeef9656ca204c4f4393ed10e1c3", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1682320606, - "narHash": "sha256-R9tB0d8huRFCPbwtlnc1RwUMU98Zs4TjqwiPHS+jCqw=", + "lastModified": 1682323914, + "narHash": "sha256-oMc69p7AbjVHW4lWjy3VNQLTxxb/Yo3/kaEcHMJNlX8=", "owner": "nix-community", "repo": "NUR", - "rev": "dde696e9d66234fe8e86b7806fb21b43598e0568", + "rev": "2fbd1856a42fe3d99ba39a3399acff8965ec5ccf", "type": "github" }, "original": { From 0ba649d26e4c6e9aacdaf00f566e7a128c1b7557 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 24 Apr 2023 13:32:06 +0200 Subject: [PATCH 1267/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/ee7ec1c71adc47d2e3c2d5eb0d6b8fbbd42a8d1c' (2023-04-22) → 'github:NixOS/nixpkgs/f5364316e314436f6b9c8fd50592b18920ab18f9' (2023-04-24) • Updated input 'nur': 'github:nix-community/NUR/2fbd1856a42fe3d99ba39a3399acff8965ec5ccf' (2023-04-24) → 'github:nix-community/NUR/e411b1cf10190b74ee0842aa0d1a857c52856315' (2023-04-24) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9c378ab5..6edf2faf 100644 --- a/flake.lock +++ b/flake.lock @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682173319, - "narHash": "sha256-tPhOpJJ+wrWIusvGgIB2+x6ILfDkEgQMX0BTtM5vd/4=", + "lastModified": 1682303062, + "narHash": "sha256-x+KAADp27lbxeoPXLUMxKcRsUUHDlg+qVjt5PjgBw9A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ee7ec1c71adc47d2e3c2d5eb0d6b8fbbd42a8d1c", + "rev": "f5364316e314436f6b9c8fd50592b18920ab18f9", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1682323914, - "narHash": "sha256-oMc69p7AbjVHW4lWjy3VNQLTxxb/Yo3/kaEcHMJNlX8=", + "lastModified": 1682333764, + "narHash": "sha256-6UvrvO9k5nxiU+CCN0x6Zl/uKIrrQ+xzMLK1EEED1u8=", "owner": "nix-community", "repo": "NUR", - "rev": "2fbd1856a42fe3d99ba39a3399acff8965ec5ccf", + "rev": "e411b1cf10190b74ee0842aa0d1a857c52856315", "type": "github" }, "original": { From 21ab97eddd3c7236c46e45658e33a0bae93685cc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 24 Apr 2023 15:39:15 +0200 Subject: [PATCH 1268/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 58 ++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 3e6b2779..e3537543 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,12 +1,12 @@ { - "LazyVim": { "branch": "main", "commit": "81ab5bed7a81c3005f862d6508dacc26c4ed553a" }, - "LuaSnip": { "branch": "master", "commit": "8d6c0a93dec34900577ba725e91c44b8d3ca1f45" }, - "SchemaStore.nvim": { "branch": "main", "commit": "5e1225507dbc46710e7f2bec86f2444e578a959e" }, + "LazyVim": { "branch": "main", "commit": "d18331ca891c00d942d6c69e2ab20ee06cbbf90c" }, + "LuaSnip": { "branch": "master", "commit": "e77fa9ad0b1f4fc6cddf54e51047e17e90c7d7ed" }, + "SchemaStore.nvim": { "branch": "main", "commit": "f1e84a0de3043004214138893475e0fbe7e8cec9" }, "alpha-nvim": { "branch": "main", "commit": "87c204040e3f5d4c1c95067b35905d8f8a2f2545" }, - "bufferline.nvim": { "branch": "main", "commit": "3fe1c0e33fd66bc1a8c0d827f9449e2dec9691d4" }, + "bufferline.nvim": { "branch": "main", "commit": "f336811168e04362dfceb51b7e992dfd6ae4e78e" }, "catppuccin": { "branch": "main", "commit": "939be5f7fcbc15abeaad9214bb253a4551f6f6e6" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "af88e700417c6449719fc77f6f3745f88e42d5da" }, + "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, @@ -16,21 +16,21 @@ "copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" }, "copilot.lua": { "branch": "master", "commit": "decc8d43bcd73a288fa689690c20faf0485da217" }, "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, - "diffview.nvim": { "branch": "main", "commit": "63720aa5a70ce4aa386be407d0e612cd9e63861a" }, - "dressing.nvim": { "branch": "master", "commit": "0e3e1eba147fee6e638ac1ac28f0495bcde17319" }, + "diffview.nvim": { "branch": "main", "commit": "f9ddbe798cb92854a383e2377482a49139a52c3d" }, + "dressing.nvim": { "branch": "master", "commit": "f5d7fa1fa5ce6bcebc8f07922f39b1eda4d01e37" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "b1b78a6433268fc172adb5a843e165035e83861e" }, - "gitsigns.nvim": { "branch": "main", "commit": "372d5cb485f2062ac74abc5b33054abac21d8b58" }, - "gx.nvim": { "branch": "main", "commit": "2281cab54b943c7e83cbb0a6828a4f6cd15574f2" }, + "friendly-snippets": { "branch": "main", "commit": "9590ff90759488674cf97fe5d5754a0733ab37bb" }, + "gitsigns.nvim": { "branch": "main", "commit": "7dfe4be94b4f84a9931098f0f0f618d055e50bd5" }, + "gx.nvim": { "branch": "main", "commit": "e5b76942ea67affe791d0fb5a65e2139b5544ae3" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "5c89dc52f42e5058a46b0912d7d9042f564e44e0" }, + "lazy.nvim": { "branch": "main", "commit": "903f0fe542fc35b74f3c09494f9c175346dfa76d" }, "leap.nvim": { "branch": "main", "commit": "0eb3611593e135150e2f7880ec67568ccb51c17a" }, - "ltex_extra.nvim": { "branch": "master", "commit": "918915211dbdbdae29a16e0b85d415e10e732af3" }, + "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "7034065099c1665143091c7282b3b1b8f0b23783" }, - "mason.nvim": { "branch": "main", "commit": "4b357eded58ef0993fb49a591ed70306c6b44e08" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "463e5e7441c17c0f9fba35b3016e7691a78983b9" }, + "mason.nvim": { "branch": "main", "commit": "9a68a4bd997b72cee4132459e0fd99eea0cdc627" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "863b01e20cd5cc599eb8ca87f44ecc1f2be04920" }, @@ -40,26 +40,26 @@ "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" }, "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "7a6b0d43d70636edfec183fb49c02f725765da73" }, - "neoconf.nvim": { "branch": "main", "commit": "327d46c5625c3b1bb2163ecdd734acdc1cbef566" }, - "neodev.nvim": { "branch": "main", "commit": "e812f3d0e62e21a164b70f90f642cf30129503e4" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "8d485aab32da9b8841d4af977f992b82b14af469" }, + "neoconf.nvim": { "branch": "main", "commit": "270836254513b1dacc27efd76b9f805a9cee35c1" }, + "neodev.nvim": { "branch": "main", "commit": "3d14bd6cb967741b9705cd06f05bfd0e1ef141e8" }, "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, "neogit": { "branch": "master", "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" }, - "neorg": { "branch": "main", "commit": "f742e90d6d8ec831f0bce939c37a3c04407c0e9f" }, - "noice.nvim": { "branch": "main", "commit": "7bd435a48a2d2b3f028c633126e3f669ae6b902f" }, + "neorg": { "branch": "main", "commit": "d61c4d1dd9442ec34d57e4a296b35a1117e65dbb" }, + "noice.nvim": { "branch": "main", "commit": "0f12ed399e79aa49f283aa954468b92be65e03ed" }, "nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" }, - "null-ls.nvim": { "branch": "main", "commit": "f8ffcd7cb8fb3325c711d459152ef132b5b65aed" }, - "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, + "null-ls.nvim": { "branch": "main", "commit": "920947793ce6e59616644cb4766d442121508bf3" }, + "nvim-cmp": { "branch": "main", "commit": "e28fb7a730b1bd425fdddfdbd3d36bb84bd77611" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "eddaef928c1e1dd79a96f5db45f2fd7f2efe7ea0" }, - "nvim-navic": { "branch": "master", "commit": "66de418892b30709c6a5e79075dd6f4d5689a8c0" }, + "nvim-lspconfig": { "branch": "master", "commit": "591d5038552c6cdf6cfc595bc351ccdbb8e62045" }, + "nvim-navic": { "branch": "master", "commit": "83dc174da915f9dbc9b51169e9b62a2e0d42b527" }, "nvim-notify": { "branch": "master", "commit": "159c6cf1be25a933f35e97499314c9faab55c98f" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "b0338a056525e83d88aaa76e8cf396af07410bed" }, - "nvim-treesitter-context": { "branch": "master", "commit": "8b6861ebf0ba88e5f57796372eb194787705d25a" }, + "nvim-treesitter": { "branch": "master", "commit": "77ffc7edbe19db9dc2a71081005e2961c8940096" }, + "nvim-treesitter-context": { "branch": "master", "commit": "5c279e5a6c5eecaf37ea2a544edefd0212273e7e" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "9e829d5cfa3de6a2ff561d86399772b0339ae49d" }, @@ -76,17 +76,17 @@ "styler.nvim": { "branch": "main", "commit": "58d0d12191adee41fce7ef20d46d1203efa0d11e" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" }, + "telescope.nvim": { "branch": "master", "commit": "f2645c13205abb9ee3dbcee68416645c69b863c8" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "tokyonight.nvim": { "branch": "main", "commit": "ff81eac0ecf85db235dfc4c9d54f2d07d662a423" }, + "tokyonight.nvim": { "branch": "main", "commit": "ab0ac67f4f32f44c3480f4b81ed90e11cb4f3763" }, "trouble.nvim": { "branch": "main", "commit": "d56bfc0c501ced4002a57cb60433362fb2ce9c4d" }, "twilight.nvim": { "branch": "main", "commit": "2e13bd1886562b737f38c418ed542677b41ef5cb" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "1364b2ba551c82fdb342b646da666a477490c063" }, + "vim-matchup": { "branch": "master", "commit": "1e276be9306490e439784cf5e8abe1f93b4a41b6" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "c13eb0cfa0e27a651c60431c49819aec80da2ad7" }, + "vim-startuptime": { "branch": "master", "commit": "00391e7f86a0fd0ebdb2afdf4336f6712925ce45" }, "which-key.nvim": { "branch": "main", "commit": "94cb020ff33a1e0e22fac1c41663d2c439741f17" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" } From 7f2447ddaac94f236c874b38f7181681fffd3eb3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 24 Apr 2023 15:39:32 +0200 Subject: [PATCH 1269/2080] Fix some installation on Darwin --- home/main.nix | 3 +++ machines/Baptistes-MBP/default.nix | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/home/main.nix b/home/main.nix index 3ecd61d7..07c7974b 100644 --- a/home/main.nix +++ b/home/main.nix @@ -55,7 +55,10 @@ checkmake clang dracula-theme + drawio gparted + # Mail + khal liquidctl llvm lm_sensors diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 33ddde40..13a71bfe 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -13,14 +13,14 @@ brews = [ "terminal-notifier" - # mail setup - # XXX to be moved to a module + # XXX: mail setup to be moved to a module "gpgme" "isync" + "khal" "msmtp" "mutt" - # XXX install from pkgs does not work + # XXX: install from pkgs does not work "checkmake" "joplin-cli" @@ -32,12 +32,15 @@ casks = [ # app launcher, file searcher "alfred" + # XXX: install from pkgs does not work + "drawio" # Clipboard manager "maccy" "mumble" # "podman-desktop" "rectangle" "stretchly" + "teamviewer" "vlc" ]; }; From 7bee55cd6b0c33e83d34d09f6dacd409055fe13c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 24 Apr 2023 15:49:13 +0200 Subject: [PATCH 1270/2080] Sync mutt conf --- .config/neomutt/bindings | 16 ++- .config/neomutt/colors | 7 +- .config/neomutt/colors-custom.muttrc | 168 +++++++++++++++++++++++++++ .config/neomutt/dracula.muttrc | 42 +++++++ .config/neomutt/mu | 8 +- .config/neomutt/profile-maildir.egi | 3 +- 6 files changed, 231 insertions(+), 13 deletions(-) create mode 100644 .config/neomutt/colors-custom.muttrc create mode 100644 .config/neomutt/dracula.muttrc diff --git a/.config/neomutt/bindings b/.config/neomutt/bindings index 47d5b3e0..6e12a534 100644 --- a/.config/neomutt/bindings +++ b/.config/neomutt/bindings @@ -67,6 +67,7 @@ bind index,pager g noop # "Go to inbox" # macros to invoke a profile +macro index <F8> ":source ~/.config/neomutt/default-profile<enter><change-folder>!<enter>" "Load profile: default" # macro index <F8> ":source ~/.config/neomutt/profile.egi<enter><change-folder>!<enter>" "Load profile: egi" # macro index <F9> ":source ~/.config/neomutt/profile.perso<enter><change-folder>!<enter>" "Load profile: perso" @@ -81,13 +82,16 @@ bind index,pager g noop # macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>' -# Use Ctrl-l to list URL using urlscan -# macro pager \cl <pipe-entry>'urlscan'<enter> 'Follow links with urlscan' -# macro pager \Cl "<pipe-entry>urlview<enter>" "call urlview to open links" +# Use Ctrl-l to list URL +# - https://www.memoryhole.net/~kyle/extract_url/ +# - Extract URLs from messages using extract_url +# - Select URL to dislpay using fzf +# - Open using open on macOS +# XXX: use xdg-open or mutt_bgrun(?) on GNU/Linux macro index,pager \cl "\ - <enter-command> unset pipe_decode<enter> \ - <pipe-message>extract_url<enter>" \ - "get URLs with extract_url" + <enter-command> unset pipe_decode<enter> \ + <pipe-message>extract_url | fzf | xargs open<enter>" \ + "get URLs with extract_url + fzf" # show flagged and unread mails (i.e. important) macro index \' "l(~F | ~U) ! ~D\r" "Show Important Mails" diff --git a/.config/neomutt/colors b/.config/neomutt/colors index 18940312..6eca1608 100644 --- a/.config/neomutt/colors +++ b/.config/neomutt/colors @@ -2,8 +2,11 @@ # Nord-inspired theme, but not perfect # source ~/.config/neomutt/colors-oxubax -source ~/.config/neomutt/colors-solarized-dark-256.muttrc +# source ~/.config/neomutt/colors-solarized-dark-256.muttrc # source ~/.config/neomutt/colors-nord-16.muttrc -# source ~/.config/neomutt/colors-dracula.muttrc +# Official dracula theme +# source ~/.config/neomutt/dracula.muttrc +# Custom solarized-based theme +source ~/.config/neomutt/colors-custom.muttrc # vim: set ft=muttrc: diff --git a/.config/neomutt/colors-custom.muttrc b/.config/neomutt/colors-custom.muttrc new file mode 100644 index 00000000..27d13475 --- /dev/null +++ b/.config/neomutt/colors-custom.muttrc @@ -0,0 +1,168 @@ +# Colors based on the Solarized palette +# https://neomutt.org/guide/configuration.html#11-%C2%A0using-color-and-mono-video-attributes +# https://neomutt.org/guide/configuration.html#color-style +# https://neomutt.org/guide/configuration.html#color-simple +# https://neomutt.org/guide/configuration.html#color-lists +# https://www.ditig.com/256-colors-cheat-sheet +# https://github.com/folke/tokyonight.nvim/blob/main/extras/kitty/tokyonight_storm.conf + +# make sure that you are using mutt linked against slang, not ncurses, or +# suffer the consequences of weird color issues. use "mutt -v" to check this. + +# custom body highlights ----------------------------------------------- +# highlight my name and other personally relevant strings +color body color136 default "(baptiste|genier|gnubila|healthgrid|egi|boob|bgrenier|gwarf)" +# custom index highlights ---------------------------------------------- +# messages which mention my name in the body +#color index color136 default "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" +#color index J_cream color230 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" +#color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" +#color index color136 color125 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" +color index color136 default "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" +color index color136 color37 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" +## messages which are in reference to my mails +#color index color125 default "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" +#color index color125 color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" +#color index color125 color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" +#color index color125 color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" +color index color125 default "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" + +# for background in 16 color terminal, valid background colors include: +# base03, bg, black, any of the non brights + +# basic colors --------------------------------------------------------- +color error color160 default +color tilde color235 default +color message color37 default +color markers color160 color254 +color attachment color254 default +color search color61 default +#color status J_black J_status +color status color241 color235 +color indicator default color136 +# arrow in threads +color tree color136 default + +# basic monocolor screen +mono bold bold +mono underline underline +mono indicator reverse +mono error bold + +# index ---------------------------------------------------------------- + +#color index color160 default "~D(!~p|~p)" # deleted +#color index color235 default ~F # flagged +#color index color166 default ~= # duplicate messages +#color index color240 default "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest +#color index J_base default "~A~N!~T!~p!~Q!~F!~D" # the rest, new +color index color160 default "~A" # all messages +color index color166 default "~E" # expired messages +color index color33 default "~N" # new messages +color index color33 default "~O" # old messages +color index color61 default "~Q" # messages that have been replied to +color index color240 default "~R" # read messages +color index color33 default "~U" # unread messages +color index color33 default "~U~$" # unread, unreferenced messages +color index color241 default "~v" # messages part of a collapsed thread +color index color241 default "~P" # messages from me +color index color37 default "~p!~F" # messages to me +color index color37 default "~N~p!~F" # new messages to me +color index color37 default "~U~p!~F" # unread messages to me +color index color240 default "~R~p!~F" # messages to me +color index color160 default "~F" # flagged messages +color index color160 default "~F~p" # flagged messages to me +color index color160 default "~N~F" # new flagged messages +color index color160 default "~N~F~p" # new flagged messages to me +color index color160 default "~U~F~p" # new flagged messages to me +color index color235 color160 "~D" # deleted messages +color index color245 default "~v~(!~N)" # collapsed thread with no unread +color index color136 default "~v~(~N)" # collapsed thread with some unread +color index color64 default "~N~v~(~N)" # collapsed thread with unread parent +# statusbg used to indicated flagged when foreground color shows other status +# for collapsed thread +color index color160 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread +color index color136 color235 "~v~(~F~N)" # collapsed thread with some unread & flagged +color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged +color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged +color index color37 color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly +color index color136 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) +#color index color136 default "~(~N)" # messages in threads with some unread +#color index color64 default "~S" # superseded messages +color index color160 default "~T" # tagged messages +#color index color166 color160 "~=" # duplicated messages + +# message headers ------------------------------------------------------ + +#color header color240 default "^" +color hdrdefault color240 default +color header color33 default "^(From)" +color header color33 default "^(Subject)" + +# body ----------------------------------------------------------------- + +color quoted color33 default +color quoted1 color37 default +color quoted2 color136 default +color quoted3 color160 default +color quoted4 color166 default + +color signature color240 default +color bold color235 default +color underline color235 default +color normal white default +# +color body color245 default "[;:][-o][)/(|]" # emoticons +color body color245 default "[;:][)(|]" # emoticons +color body color245 default "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ + |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ + |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" +color body color245 default "[ ][*][^*]*[*][ ]?" # more emoticon? +color body color245 default "[ ]?[*][^*]*[*][ ]" # more emoticon? + +## pgp + +color body color160 default "(BAD signature)" +color body color37 default "(Good signature)" +color body default default "^gpg: Good signature .*" +color body color241 default "^gpg: " +color body color241 color160 "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" + +# yes, an insance URL regex +color body color160 default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" +# and a heavy handed email regex +color body color160 default "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" + +# Various smilies and the like +#color body color230 default "<[Gg]>" # <g> +#color body color230 default "<[Bb][Gg]>" # <bg> +#color body color136 default " [;:]-*[})>{(<|]" # :-) etc... +# *bold* +color body color33 default "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +# _underline_ +color body color33 default "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +# /italic/ (Sometimes gets directory names) +color body color33 default "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" +mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" + +# Border lines. +#color body color33 default "( *[-+=#*~_]){6,}" + +#folder-hook . "color status J_black J_status " +#folder-hook gmail/inbox "color status J_black color136 " +#folder-hook gmail/important "color status J_black color136 " + +# patch/diff +color body green default "^diff \-.*" +color body green default "^index [a-f0-9].*" +color body green default "^\-\-\- .*" +color body green default "^[\+]{3} .*" +color body cyan default "^[\+][^\+]+.*" +color body red default "^\-[^\-]+.*" +color body brightblue default "^@@ .*" + +# vim: filetype=muttrc diff --git a/.config/neomutt/dracula.muttrc b/.config/neomutt/dracula.muttrc new file mode 100644 index 00000000..aa77d0fd --- /dev/null +++ b/.config/neomutt/dracula.muttrc @@ -0,0 +1,42 @@ +############################################################################### +# Dracula Theme for Mutt: https://draculatheme.com/ +# +# @author Paul Townsend <paul@caprica.org> + +# general ------------ foreground ---- background ----------------------------- +color error color231 color212 +color indicator color231 color241 +color markers color210 default +color message default default +color normal default default +color prompt default default +color search color84 default +color status color141 color236 +color tilde color231 default +color tree color141 default + +# message index ------ foreground ---- background ----------------------------- +color index color210 default ~D # deleted messages +color index color84 default ~F # flagged messages +color index color117 default ~N # new messages +color index color212 default ~Q # messages which have been replied to +color index color215 default ~T # tagged messages +color index color141 default ~v # messages part of a collapsed thread + +# message headers ---- foreground ---- background ----------------------------- +color hdrdefault color117 default +color header color231 default ^Subject:.* + +# message body ------- foreground ---- background ----------------------------- +color attachment color228 default +color body color231 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses +color body color228 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs +color body color231 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text +color body color231 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text +color body color231 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text +color quoted color61 default +color quoted1 color117 default +color quoted2 color84 default +color quoted3 color215 default +color quoted4 color212 default +color signature color212 default diff --git a/.config/neomutt/mu b/.config/neomutt/mu index a7cc3763..be711fb9 100644 --- a/.config/neomutt/mu +++ b/.config/neomutt/mu @@ -1,7 +1,7 @@ - # Mu - # first macro does the search according to user query, second macro jumps to result list - macro index <F8> "<shell-escape>rm -rf ~/.mu/results; mu-find -o l -l ~/.mu/results " "mu-find" - macro index <F9> "<change-folder-readonly>~/.mu/results\n" "display mu-find results" +# XXX: disable MU integration, not used any more +# first macro does the search according to user query, second macro jumps to result list +# macro index <F8> "<shell-escape>rm -rf ~/.mu/results; mu-find -o l -l ~/.mu/results " "mu-find" +# macro index <F9> "<change-folder-readonly>~/.mu/results\n" "display mu-find results" # looking up addresses with mu cfind # set query_command="mu cfind -–format=mutt-ab '%s" diff --git a/.config/neomutt/profile-maildir.egi b/.config/neomutt/profile-maildir.egi index 2086884c..50b977d7 100644 --- a/.config/neomutt/profile-maildir.egi +++ b/.config/neomutt/profile-maildir.egi @@ -107,7 +107,8 @@ bind index,pager \ck extract-keys # Include the profile name in the status line # TODO Align profile name on the right -set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]────@EGI──%>─%?p?( %p postponed )?───" +# XXX: automatic padding with ─ does not work, using a normal - for now +set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? %?p? (%p postponed)?]───[ EGI ]%|-" # Fetching mail macro index \cf "<shell-escape>mbsync -a<enter>" From c8a65cf93726ff97d69ec12f59073d9f64e16008 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 25 Apr 2023 10:16:41 +0200 Subject: [PATCH 1271/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/78ad21f19b4cdeef9656ca204c4f4393ed10e1c3' (2023-04-24) → 'github:nix-community/neovim-nightly-overlay/44afbe3da2dc93ac2d5428783b1b1e32f693631c' (2023-04-25) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/c1331a65dd12dd1128db5fb136a77218ef7376f1?dir=contrib' (2023-04-24) → 'github:neovim/neovim/a4b2400804355e99813f39a6b38d8f38667f8bdd?dir=contrib' (2023-04-25) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/72d3a54650b8722933e4c02b1c7d3f5f19b61185' (2023-04-23) → 'github:nixos/nixpkgs/72ef7239c3a2a25047aae977b2302802b44cbf8c' (2023-04-24) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/6c43a3495a11e261e5f41e5d7eda2d71dae1b2fe' (2023-04-22) → 'github:nixos/nixpkgs/884ac294018409e0d1adc0cae185439a44bd6b0b' (2023-04-24) • Updated input 'nur': 'github:nix-community/NUR/e411b1cf10190b74ee0842aa0d1a857c52856315' (2023-04-24) → 'github:nix-community/NUR/ea9ab6711cb7f5cb465436eb424b2331ae99e98c' (2023-04-25) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 6edf2faf..ac563d94 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682299570, - "narHash": "sha256-YA+wPrXEwe2yjO0DfX/ux/pmvVTf+Y8UKQPQQIOWP14=", + "lastModified": 1682391904, + "narHash": "sha256-ynDI7jyKf+hM8AqbTLuNKNbrsm8mzcS3m9GPMTuKoKY=", "owner": "neovim", "repo": "neovim", - "rev": "c1331a65dd12dd1128db5fb136a77218ef7376f1", + "rev": "a4b2400804355e99813f39a6b38d8f38667f8bdd", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682324064, - "narHash": "sha256-5TfSKIEMv8yD18L4RZuCyDlUkpaY47J4jEysvAI3FuE=", + "lastModified": 1682410414, + "narHash": "sha256-HuG30yRYvuR2tlpzsz9Je8UB35DFpJfjw345pH4Tw88=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "78ad21f19b4cdeef9656ca204c4f4393ed10e1c3", + "rev": "44afbe3da2dc93ac2d5428783b1b1e32f693631c", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1682276141, - "narHash": "sha256-5tKgBth1iMqLJwJVRqHaAH6c7lTot+V8/+VAy9WD+Jw=", + "lastModified": 1682339087, + "narHash": "sha256-9ivpuAPj1nuNz9AFnkJaee4MrN4eEYLuLMfvbrws4Cc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "72d3a54650b8722933e4c02b1c7d3f5f19b61185", + "rev": "72ef7239c3a2a25047aae977b2302802b44cbf8c", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1682181988, - "narHash": "sha256-CYWhlNi16cjGzMby9h57gpYE59quBcsHPXiFgX4Sw5k=", + "lastModified": 1682362401, + "narHash": "sha256-/UMUHtF2CyYNl4b60Z2y4wwTTdIWGKhj9H301EDcT9M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6c43a3495a11e261e5f41e5d7eda2d71dae1b2fe", + "rev": "884ac294018409e0d1adc0cae185439a44bd6b0b", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1682333764, - "narHash": "sha256-6UvrvO9k5nxiU+CCN0x6Zl/uKIrrQ+xzMLK1EEED1u8=", + "lastModified": 1682397680, + "narHash": "sha256-b95VbMGbLHaig1PrIJhtxrKgpu7H7HGZ4OXOG5im0GQ=", "owner": "nix-community", "repo": "NUR", - "rev": "e411b1cf10190b74ee0842aa0d1a857c52856315", + "rev": "ea9ab6711cb7f5cb465436eb424b2331ae99e98c", "type": "github" }, "original": { From de9e8d203c8af52da0f65bfc10a545a938542f1f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 25 Apr 2023 14:02:58 +0200 Subject: [PATCH 1272/2080] nix-darwin: get norg-treesitter to build using gcc from homebrew --- home/main.nix | 23 ++++++++++++++++++++++- machines/Baptistes-MBP/default.nix | 4 ++++ modules/home/fish/default.nix | 9 ++++++--- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/home/main.nix b/home/main.nix index 07c7974b..4dde48a1 100644 --- a/home/main.nix +++ b/home/main.nix @@ -20,6 +20,28 @@ curl wget + # FIXME: not working for getting norg-treesitter to build + # neovim :Neorg sync-parsers + # clang and llvm + # clang + # llvm + # clang-tools + # pkg-config + # clang_14 + # clang-tools_14 + # lld_14 + # llvmPackages_14.stdenv + # llvmPackages_14.llvm + # llvmPackages_14.clang + # llvmPackages_14.libcxx + # llvmPackages_14.libcxxabi + # llvmPackages_14.clang-unwrapped + # llvmPackages_14.clangUseLLVM + # llvmPackages_14.libcxxStdenv + # llvmPackages_14.libcxxClang + # llvmPackages_14.libclang + # llvmPackages_14.bintools + # Cool stuff doggo du-dust @@ -53,7 +75,6 @@ ] ++ lib.optionals stdenv.isLinux [ arch-install-scripts checkmake - clang dracula-theme drawio gparted diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 13a71bfe..304f6e48 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -13,6 +13,10 @@ brews = [ "terminal-notifier" + # XXX: for building norg-treesitter on macOS + # https://github.com/nvim-neorg/tree-sitter-norg/issues/7 + "gcc" + # XXX: mail setup to be moved to a module "gpgme" "isync" diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index b0dd847b..4ada40b5 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -125,9 +125,12 @@ in # set -gx LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" # fish_add_path "/usr/local/opt/llvm/bin" + # FIXME: not working for getting norg-treesitter to build # Use clang/llvm as main compiler - set -gx CC clang - set -gx CXX clang++ + # set -gx CC clang + # set -gx CXX clang++ + # set -gx COMPILER clang++ + set -gx CC gcc-12 # Load pyenv # https://github.com/pyenv/pyenv/wiki/Common-build-problems @@ -182,6 +185,6 @@ in # Set LS_COLORS set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate dracula) - [ -e $HOME/fish.env ]; and source $HOME/fish.env + [ -e $HOME/.fish.env ]; and source $HOME/.fish.env ''; } From 6127b1a1325edf82415e3a47b877ecee0718b650 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 25 Apr 2023 14:03:47 +0200 Subject: [PATCH 1273/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e3537543..eae65afa 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,11 @@ { - "LazyVim": { "branch": "main", "commit": "d18331ca891c00d942d6c69e2ab20ee06cbbf90c" }, + "ChatGPT.nvim": { "branch": "main", "commit": "5a0fdf6c408a53924081aff0b7379e765c7edc1b" }, + "LazyVim": { "branch": "main", "commit": "5202a0f006b817d79dbfd07d93bd297fca5f48b4" }, "LuaSnip": { "branch": "master", "commit": "e77fa9ad0b1f4fc6cddf54e51047e17e90c7d7ed" }, "SchemaStore.nvim": { "branch": "main", "commit": "f1e84a0de3043004214138893475e0fbe7e8cec9" }, "alpha-nvim": { "branch": "main", "commit": "87c204040e3f5d4c1c95067b35905d8f8a2f2545" }, - "bufferline.nvim": { "branch": "main", "commit": "f336811168e04362dfceb51b7e992dfd6ae4e78e" }, - "catppuccin": { "branch": "main", "commit": "939be5f7fcbc15abeaad9214bb253a4551f6f6e6" }, + "bufferline.nvim": { "branch": "main", "commit": "a4bd44523316928a7c4a5c09a3407d02c30b6027" }, + "catppuccin": { "branch": "main", "commit": "dd176757cc745f71bd54c472a9f58d5f8a54661d" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -29,7 +30,7 @@ "leap.nvim": { "branch": "main", "commit": "0eb3611593e135150e2f7880ec67568ccb51c17a" }, "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "463e5e7441c17c0f9fba35b3016e7691a78983b9" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "22d17951315e22e602912c9629b97d183fb90d16" }, "mason.nvim": { "branch": "main", "commit": "9a68a4bd997b72cee4132459e0fd99eea0cdc627" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, @@ -51,19 +52,20 @@ "null-ls.nvim": { "branch": "main", "commit": "920947793ce6e59616644cb4766d442121508bf3" }, "nvim-cmp": { "branch": "main", "commit": "e28fb7a730b1bd425fdddfdbd3d36bb84bd77611" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "591d5038552c6cdf6cfc595bc351ccdbb8e62045" }, + "nvim-lspconfig": { "branch": "master", "commit": "710c45bd13928c1f37ef0a714fd49b75f00d7d5e" }, "nvim-navic": { "branch": "master", "commit": "83dc174da915f9dbc9b51169e9b62a2e0d42b527" }, "nvim-notify": { "branch": "master", "commit": "159c6cf1be25a933f35e97499314c9faab55c98f" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "77ffc7edbe19db9dc2a71081005e2961c8940096" }, - "nvim-treesitter-context": { "branch": "master", "commit": "5c279e5a6c5eecaf37ea2a544edefd0212273e7e" }, + "nvim-treesitter": { "branch": "master", "commit": "87faf372eb517077cc600c4e653e4fb3252d02ac" }, + "nvim-treesitter-context": { "branch": "master", "commit": "fb445fa2aee9f0dce7257bb6f628795e6e13d6e6" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "9e829d5cfa3de6a2ff561d86399772b0339ae49d" }, "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, + "octo.nvim": { "branch": "master", "commit": "f37efab489a99b4a104e5ee18c73453d5e828b62" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, @@ -86,7 +88,7 @@ "vim-matchup": { "branch": "master", "commit": "1e276be9306490e439784cf5e8abe1f93b4a41b6" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "00391e7f86a0fd0ebdb2afdf4336f6712925ce45" }, + "vim-startuptime": { "branch": "master", "commit": "01b67169c3ebe41f163c07bf6853555ca19bc27f" }, "which-key.nvim": { "branch": "main", "commit": "94cb020ff33a1e0e22fac1c41663d2c439741f17" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" } From 303e9e82fd2ec2d6ba055187d8878b68cb5b235c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 25 Apr 2023 14:04:19 +0200 Subject: [PATCH 1274/2080] nvim: move noeorg to dedicated file, add oct and chatgpt --- lazyvim/nvim/lua/plugins/neorg.lua | 29 +++++++++++++++++++++++ lazyvim/nvim/lua/plugins/tools.lua | 38 ++++++++---------------------- 2 files changed, 39 insertions(+), 28 deletions(-) create mode 100644 lazyvim/nvim/lua/plugins/neorg.lua diff --git a/lazyvim/nvim/lua/plugins/neorg.lua b/lazyvim/nvim/lua/plugins/neorg.lua new file mode 100644 index 00000000..70464c8e --- /dev/null +++ b/lazyvim/nvim/lua/plugins/neorg.lua @@ -0,0 +1,29 @@ +return { + -- neorg, org-mode like + -- https://github.com/nvim-neorg/neorg + -- Bindings: ~/.local/share/nvim/lazy/neorg/lua/neorg/modules/core/keybinds/keybinds.lua + { + "nvim-neorg/neorg", + -- lazy-load on filetype + ft = "norg", + opts = { + load = { + -- Load default modules + ["core.defaults"] = {}, + ["core.concealer"] = {}, + ["core.completion"] = { + config = { engine = "nvim-cmp" }, + }, + ["core.integrations.nvim-cmp"] = {}, + ["core.dirman"] = { + config = { + workspaces = { + work = "~/Documents/notes/work", + home = "~/Documents/notes/home", + }, + }, + }, + }, + }, + }, +} diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 9813b4c0..7e5b620e 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -1,32 +1,7 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/tools.lua return { - - -- neorg, org-mode like - -- https://github.com/nvim-neorg/neorg - { - "nvim-neorg/neorg", - -- lazy-load on filetype - ft = "norg", - opts = { - load = { - -- Load default modules - ["core.defaults"] = {}, - ["core.concealer"] = {}, - ["core.completion"] = { - config = { engine = "nvim-cmp" }, - }, - ["core.integrations.nvim-cmp"] = {}, - ["core.dirman"] = { - config = { - workspaces = { - work = "~/Documents/notes/work", - home = "~/Documents/notes/home", - }, - }, - }, - }, - }, - }, + -- Edit and review GitHub issues and pull requests + { "pwntester/octo.nvim", opts = {}, cmd = "Octo" }, -- markdown preview { @@ -46,7 +21,7 @@ return { desc = "Peek (Markdown Preview)", }, }, - opts = { theme = "light" }, + opts = { theme = "light", app = "browser" }, }, -- better diffing @@ -81,4 +56,11 @@ return { }, }, }, + + -- ChatGPT client + { + "jackMort/ChatGPT.nvim", + cmd = { "ChatGPTActAs", "ChatGPT" }, + opts = {}, + }, } From b3f0b7aa4af9103dfab8970ae4af316e5b2838a0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 25 Apr 2023 14:05:19 +0200 Subject: [PATCH 1275/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/72ef7239c3a2a25047aae977b2302802b44cbf8c' (2023-04-24) → 'github:nixos/nixpkgs/29c07054efdbbb8719e8e5487c86878215b7205a' (2023-04-25) • Updated input 'nur': 'github:nix-community/NUR/ea9ab6711cb7f5cb465436eb424b2331ae99e98c' (2023-04-25) → 'github:nix-community/NUR/8d76fc66f8eca52718a37b1c445cda60a9fc8a18' (2023-04-25) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index ac563d94..a01b71cd 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1682339087, - "narHash": "sha256-9ivpuAPj1nuNz9AFnkJaee4MrN4eEYLuLMfvbrws4Cc=", + "lastModified": 1682389866, + "narHash": "sha256-rECwjGCuvjXme6QVGiNdt6pVpFwquGDJe2gR6xuEoeU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "72ef7239c3a2a25047aae977b2302802b44cbf8c", + "rev": "29c07054efdbbb8719e8e5487c86878215b7205a", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1682397680, - "narHash": "sha256-b95VbMGbLHaig1PrIJhtxrKgpu7H7HGZ4OXOG5im0GQ=", + "lastModified": 1682423165, + "narHash": "sha256-p1vyy7jnaXkYl8EuaZX/buXZZgUeiVH1SNuWyehKXO4=", "owner": "nix-community", "repo": "NUR", - "rev": "ea9ab6711cb7f5cb465436eb424b2331ae99e98c", + "rev": "8d76fc66f8eca52718a37b1c445cda60a9fc8a18", "type": "github" }, "original": { From b2881057351814391596b8f65aa8fbba6e09d1c0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Apr 2023 09:35:14 +0200 Subject: [PATCH 1276/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/29c07054efdbbb8719e8e5487c86878215b7205a' (2023-04-25) → 'github:nixos/nixpkgs/ec6fde6f0a6398f1d1fdd63ac518dce49bf44f3d' (2023-04-25) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/884ac294018409e0d1adc0cae185439a44bd6b0b' (2023-04-24) → 'github:nixos/nixpkgs/c8018361fa1d1650ee8d4b96294783cf564e8a7f' (2023-04-25) • Updated input 'nur': 'github:nix-community/NUR/8d76fc66f8eca52718a37b1c445cda60a9fc8a18' (2023-04-25) → 'github:nix-community/NUR/591d9682510750859ebd4e7611c80dd425ebc11f' (2023-04-26) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a01b71cd..e5ebe4b8 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1682389866, - "narHash": "sha256-rECwjGCuvjXme6QVGiNdt6pVpFwquGDJe2gR6xuEoeU=", + "lastModified": 1682454041, + "narHash": "sha256-uUgj0i8QK2h1owoMVgsmkL7xrjSesVsuXRcXS5uHHqo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "29c07054efdbbb8719e8e5487c86878215b7205a", + "rev": "ec6fde6f0a6398f1d1fdd63ac518dce49bf44f3d", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1682362401, - "narHash": "sha256-/UMUHtF2CyYNl4b60Z2y4wwTTdIWGKhj9H301EDcT9M=", + "lastModified": 1682453498, + "narHash": "sha256-WoWiAd7KZt5Eh6n+qojcivaVpnXKqBsVgpixpV2L9CE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "884ac294018409e0d1adc0cae185439a44bd6b0b", + "rev": "c8018361fa1d1650ee8d4b96294783cf564e8a7f", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1682423165, - "narHash": "sha256-p1vyy7jnaXkYl8EuaZX/buXZZgUeiVH1SNuWyehKXO4=", + "lastModified": 1682493991, + "narHash": "sha256-pwhiEVWEvxePvXjW0178xJrroSuukFIgSfTwy5hospM=", "owner": "nix-community", "repo": "NUR", - "rev": "8d76fc66f8eca52718a37b1c445cda60a9fc8a18", + "rev": "591d9682510750859ebd4e7611c80dd425ebc11f", "type": "github" }, "original": { From 13a810c6f13a57590268a57b6b8c65aba584dfcf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Apr 2023 11:53:04 +0200 Subject: [PATCH 1277/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/44afbe3da2dc93ac2d5428783b1b1e32f693631c' (2023-04-25) → 'github:nix-community/neovim-nightly-overlay/4d7aea71948246ad36d0c0a28bf4999326bb134b' (2023-04-26) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/a4b2400804355e99813f39a6b38d8f38667f8bdd?dir=contrib' (2023-04-25) → 'github:neovim/neovim/55793bcfa17ccc6f5a3566664ba1e522f74fb50c?dir=contrib' (2023-04-26) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e5ebe4b8..8c93da23 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682391904, - "narHash": "sha256-ynDI7jyKf+hM8AqbTLuNKNbrsm8mzcS3m9GPMTuKoKY=", + "lastModified": 1682487510, + "narHash": "sha256-dcAOx+9l/ubi4T5pFFCtfUB5MOF4Nb5+Cc8YSs5fuTY=", "owner": "neovim", "repo": "neovim", - "rev": "a4b2400804355e99813f39a6b38d8f38667f8bdd", + "rev": "55793bcfa17ccc6f5a3566664ba1e522f74fb50c", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682410414, - "narHash": "sha256-HuG30yRYvuR2tlpzsz9Je8UB35DFpJfjw345pH4Tw88=", + "lastModified": 1682496819, + "narHash": "sha256-0oflup3izhEtUCcvnCxXiw2bq29uM/VwqgYizpS+NAU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "44afbe3da2dc93ac2d5428783b1b1e32f693631c", + "rev": "4d7aea71948246ad36d0c0a28bf4999326bb134b", "type": "github" }, "original": { From 8c8cf883439c3d4f52a7a62944131dc3b4d3fa21 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Apr 2023 11:59:36 +0200 Subject: [PATCH 1278/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/4d7aea71948246ad36d0c0a28bf4999326bb134b' (2023-04-26) → 'github:nix-community/neovim-nightly-overlay/c57746e2b9e3b42c0be9d9fd1d765f245c3827b7' (2023-04-27) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/55793bcfa17ccc6f5a3566664ba1e522f74fb50c?dir=contrib' (2023-04-26) → 'github:neovim/neovim/d321deb4a9b05e9d81b79ac166274f4a6e7981bf?dir=contrib' (2023-04-27) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/f5364316e314436f6b9c8fd50592b18920ab18f9' (2023-04-24) → 'github:NixOS/nixpkgs/60c0f762658916a4a5b5a36b3e06486f8301daf4' (2023-04-26) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/ec6fde6f0a6398f1d1fdd63ac518dce49bf44f3d' (2023-04-25) → 'github:nixos/nixpkgs/60c0f762658916a4a5b5a36b3e06486f8301daf4' (2023-04-26) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/c8018361fa1d1650ee8d4b96294783cf564e8a7f' (2023-04-25) → 'github:nixos/nixpkgs/d6b863fd9b7bb962e6f9fdf292419a775e772891' (2023-04-26) • Updated input 'nur': 'github:nix-community/NUR/591d9682510750859ebd4e7611c80dd425ebc11f' (2023-04-26) → 'github:nix-community/NUR/4ea872776fe0790e4c6d8374a5b5f0391803aa0a' (2023-04-27) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 8c93da23..57d655dc 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682487510, - "narHash": "sha256-dcAOx+9l/ubi4T5pFFCtfUB5MOF4Nb5+Cc8YSs5fuTY=", + "lastModified": 1682581904, + "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", "owner": "neovim", "repo": "neovim", - "rev": "55793bcfa17ccc6f5a3566664ba1e522f74fb50c", + "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", "type": "github" }, "original": { @@ -105,11 +105,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1682496819, - "narHash": "sha256-0oflup3izhEtUCcvnCxXiw2bq29uM/VwqgYizpS+NAU=", + "lastModified": 1682583188, + "narHash": "sha256-CqXxDWqRLc7liA8cwafV4TQ5ggxx3PTlvDs8CUuF5HY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4d7aea71948246ad36d0c0a28bf4999326bb134b", + "rev": "c57746e2b9e3b42c0be9d9fd1d765f245c3827b7", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1682454041, - "narHash": "sha256-uUgj0i8QK2h1owoMVgsmkL7xrjSesVsuXRcXS5uHHqo=", + "lastModified": 1682493015, + "narHash": "sha256-KiMOAe8u83QDF40Z25kWMkZbqr9U+mvjvEJy5Qvw0nw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ec6fde6f0a6398f1d1fdd63ac518dce49bf44f3d", + "rev": "60c0f762658916a4a5b5a36b3e06486f8301daf4", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1682453498, - "narHash": "sha256-WoWiAd7KZt5Eh6n+qojcivaVpnXKqBsVgpixpV2L9CE=", + "lastModified": 1682526928, + "narHash": "sha256-2cKh4O6t1rQ8Ok+v16URynmb0rV7oZPEbXkU0owNLQs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c8018361fa1d1650ee8d4b96294783cf564e8a7f", + "rev": "d6b863fd9b7bb962e6f9fdf292419a775e772891", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682303062, - "narHash": "sha256-x+KAADp27lbxeoPXLUMxKcRsUUHDlg+qVjt5PjgBw9A=", + "lastModified": 1682493015, + "narHash": "sha256-KiMOAe8u83QDF40Z25kWMkZbqr9U+mvjvEJy5Qvw0nw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f5364316e314436f6b9c8fd50592b18920ab18f9", + "rev": "60c0f762658916a4a5b5a36b3e06486f8301daf4", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1682493991, - "narHash": "sha256-pwhiEVWEvxePvXjW0178xJrroSuukFIgSfTwy5hospM=", + "lastModified": 1682581579, + "narHash": "sha256-wDf9GcyTbosGyVpxQJtMhX+i8C9Wa799u2vvQmMkZLI=", "owner": "nix-community", "repo": "NUR", - "rev": "591d9682510750859ebd4e7611c80dd425ebc11f", + "rev": "4ea872776fe0790e4c6d8374a5b5f0391803aa0a", "type": "github" }, "original": { From 221994395104dfb12ceb5fb485f3286dc9c320a4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Apr 2023 14:37:56 +0200 Subject: [PATCH 1279/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index eae65afa..b6833afd 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,8 +1,8 @@ { - "ChatGPT.nvim": { "branch": "main", "commit": "5a0fdf6c408a53924081aff0b7379e765c7edc1b" }, + "ChatGPT.nvim": { "branch": "main", "commit": "8f1f3622f4a88550c4d74e0eb9985d76ed588a25" }, "LazyVim": { "branch": "main", "commit": "5202a0f006b817d79dbfd07d93bd297fca5f48b4" }, "LuaSnip": { "branch": "master", "commit": "e77fa9ad0b1f4fc6cddf54e51047e17e90c7d7ed" }, - "SchemaStore.nvim": { "branch": "main", "commit": "f1e84a0de3043004214138893475e0fbe7e8cec9" }, + "SchemaStore.nvim": { "branch": "main", "commit": "0b396f538f195c249f021a48c3d8988f0d3f86f7" }, "alpha-nvim": { "branch": "main", "commit": "87c204040e3f5d4c1c95067b35905d8f8a2f2545" }, "bufferline.nvim": { "branch": "main", "commit": "a4bd44523316928a7c4a5c09a3407d02c30b6027" }, "catppuccin": { "branch": "main", "commit": "dd176757cc745f71bd54c472a9f58d5f8a54661d" }, @@ -20,7 +20,7 @@ "diffview.nvim": { "branch": "main", "commit": "f9ddbe798cb92854a383e2377482a49139a52c3d" }, "dressing.nvim": { "branch": "master", "commit": "f5d7fa1fa5ce6bcebc8f07922f39b1eda4d01e37" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "9590ff90759488674cf97fe5d5754a0733ab37bb" }, + "friendly-snippets": { "branch": "main", "commit": "631f79e346b0b3203d2ce3eae619ca8d612e5463" }, "gitsigns.nvim": { "branch": "main", "commit": "7dfe4be94b4f84a9931098f0f0f618d055e50bd5" }, "gx.nvim": { "branch": "main", "commit": "e5b76942ea67affe791d0fb5a65e2139b5544ae3" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, @@ -30,8 +30,8 @@ "leap.nvim": { "branch": "main", "commit": "0eb3611593e135150e2f7880ec67568ccb51c17a" }, "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "22d17951315e22e602912c9629b97d183fb90d16" }, - "mason.nvim": { "branch": "main", "commit": "9a68a4bd997b72cee4132459e0fd99eea0cdc627" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7276ffffcf51a8304b5fd4b81293be4ee010ec47" }, + "mason.nvim": { "branch": "main", "commit": "253961cfe9b0a63b2524088be294acd7522366e5" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, "mini.animate": { "branch": "main", "commit": "863b01e20cd5cc599eb8ca87f44ecc1f2be04920" }, @@ -42,43 +42,43 @@ "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "8d485aab32da9b8841d4af977f992b82b14af469" }, - "neoconf.nvim": { "branch": "main", "commit": "270836254513b1dacc27efd76b9f805a9cee35c1" }, - "neodev.nvim": { "branch": "main", "commit": "3d14bd6cb967741b9705cd06f05bfd0e1ef141e8" }, + "neoconf.nvim": { "branch": "main", "commit": "ccc79c8096b0171c770a59a05d69a22f49d6d6c9" }, + "neodev.nvim": { "branch": "main", "commit": "fe48362be179b5705edcbcb947c1d84b263d5698" }, "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, "neogit": { "branch": "master", "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" }, "neorg": { "branch": "main", "commit": "d61c4d1dd9442ec34d57e4a296b35a1117e65dbb" }, "noice.nvim": { "branch": "main", "commit": "0f12ed399e79aa49f283aa954468b92be65e03ed" }, "nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" }, - "null-ls.nvim": { "branch": "main", "commit": "920947793ce6e59616644cb4766d442121508bf3" }, - "nvim-cmp": { "branch": "main", "commit": "e28fb7a730b1bd425fdddfdbd3d36bb84bd77611" }, + "null-ls.nvim": { "branch": "main", "commit": "33b853a3933eed3137cd055aac4e539e69832ad0" }, + "nvim-cmp": { "branch": "main", "commit": "11102d3db12c7f8b35265ad0e17a21511e5b1e68" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "710c45bd13928c1f37ef0a714fd49b75f00d7d5e" }, + "nvim-lspconfig": { "branch": "master", "commit": "427378a03ffc1e1bc023275583a49b1993e524d0" }, "nvim-navic": { "branch": "master", "commit": "83dc174da915f9dbc9b51169e9b62a2e0d42b527" }, "nvim-notify": { "branch": "master", "commit": "159c6cf1be25a933f35e97499314c9faab55c98f" }, "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "87faf372eb517077cc600c4e653e4fb3252d02ac" }, - "nvim-treesitter-context": { "branch": "master", "commit": "fb445fa2aee9f0dce7257bb6f628795e6e13d6e6" }, + "nvim-treesitter": { "branch": "master", "commit": "08e8b2c08bfdcd20e4561620ca0ccda0bb2e050a" }, + "nvim-treesitter-context": { "branch": "master", "commit": "79f2758d470e49061009ccc6f7223b83e0922c66" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "9e829d5cfa3de6a2ff561d86399772b0339ae49d" }, "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, - "octo.nvim": { "branch": "master", "commit": "f37efab489a99b4a104e5ee18c73453d5e828b62" }, + "octo.nvim": { "branch": "master", "commit": "66c0fe4256c4ed1c9f79977ee961d38cedf7d6c6" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, "plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "e7c40818b2995016ede93c5620055206b1aba44f" }, + "refactoring.nvim": { "branch": "master", "commit": "47a1716a9020c0093a1c8af36c3f9434dae62bbd" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "58d0d12191adee41fce7ef20d46d1203efa0d11e" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "f2645c13205abb9ee3dbcee68416645c69b863c8" }, + "telescope.nvim": { "branch": "master", "commit": "713d26b98583b160b50fb827adb751f768238ed3" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, "tokyonight.nvim": { "branch": "main", "commit": "ab0ac67f4f32f44c3480f4b81ed90e11cb4f3763" }, "trouble.nvim": { "branch": "main", "commit": "d56bfc0c501ced4002a57cb60433362fb2ce9c4d" }, @@ -89,7 +89,7 @@ "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "01b67169c3ebe41f163c07bf6853555ca19bc27f" }, - "which-key.nvim": { "branch": "main", "commit": "94cb020ff33a1e0e22fac1c41663d2c439741f17" }, + "which-key.nvim": { "branch": "main", "commit": "4acffc92953a90a790603bfdab7c92319ab167b1" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" } } \ No newline at end of file From 1850e61ff51218829c3c5be8584cf9ec56d2a43b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Apr 2023 14:38:22 +0200 Subject: [PATCH 1280/2080] nvim lsp: TODO completion using words from the dictionaries --- lazyvim/nvim/lua/plugins/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index ddd4b9ce..1b4c0728 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -73,6 +73,7 @@ return { bashls = {}, -- use LanguageTool via ltex for spell checking -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html + -- TODO: have cmp do completion using words from the dictionaries ltex = { filetypes = { "bib", From f0f0187d5484ef59dc3a75bbfee0a42e6b23011f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Apr 2023 14:38:37 +0200 Subject: [PATCH 1281/2080] nvim: update completion sources for neorg. --- lazyvim/nvim/lua/plugins/coding.lua | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 4b83cac4..807e619c 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -375,10 +375,11 @@ return { }) -- XXX: Do not use copilot completion in files that may contain senstive information - cmp.setup.filetype({ "norg", "tex" }, { + -- XXX: May be better to disable copilot until there is an easy way to opt in using + -- it for specific files + cmp.setup.filetype({ "markdown", "tex", "text" }, { ---@diagnostic disable-next-line: missing-parameter sources = cmp.config.sources({ - -- would be useful to be able to use this only when completing headers { name = "nvim_lsp" }, { name = "luasnip" }, { name = "path" }, @@ -394,6 +395,25 @@ return { }), }) + -- Do not use copilot completion, and add neorg + cmp.setup.filetype("norg", { + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "neorg" }, + { name = "path" }, + { name = "emoji" }, + { + name = "buffer", + option = { + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end, + }, + }, + }), + }) + -- Do not use copilot in norg and markdown files -- cmp.setup.filetype({"norg", "markdown}", { -- ---@diagnostic disable-next-line: missing-parameter From b0a1b4b8169538432221d151c64b4995d2b725ae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Apr 2023 15:15:26 +0200 Subject: [PATCH 1282/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index b6833afd..a4c5c709 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -14,8 +14,6 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "copilot-cmp": { "branch": "master", "commit": "99467081478aabe4f1183a19a8ba585e511adc20" }, - "copilot.lua": { "branch": "master", "commit": "decc8d43bcd73a288fa689690c20faf0485da217" }, "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, "diffview.nvim": { "branch": "main", "commit": "f9ddbe798cb92854a383e2377482a49139a52c3d" }, "dressing.nvim": { "branch": "master", "commit": "f5d7fa1fa5ce6bcebc8f07922f39b1eda4d01e37" }, From 6f01ede0372fe75da2ab93274661af1b6ced83cd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Apr 2023 15:15:56 +0200 Subject: [PATCH 1283/2080] nvim: disable copilot, reorganise conf. --- lazyvim/nvim/lua/config/lazy.lua | 3 +- lazyvim/nvim/lua/plugins/coding.lua | 202 +++++++++++----------------- lazyvim/nvim/lua/plugins/tools.lua | 13 ++ 3 files changed, 96 insertions(+), 122 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 79f30058..bde690c7 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -20,7 +20,8 @@ require("lazy").setup({ -- copilot -- FIXME: not working fully automatically, likely due to overwritting of ncim-cmp -- configuration and sources - { import = "lazyvim.plugins.extras.coding.copilot" }, + -- XXX: disabled until there is an easy way to opt in using copilot + -- { import = "lazyvim.plugins.extras.coding.copilot" }, { import = "lazyvim.plugins.extras.util.project" }, -- import/override with your plugins { import = "plugins" }, diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 807e619c..acb84ead 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -20,19 +20,6 @@ return { }, }, - -- git integration :Neogit - -- LazyGit and Gitsigns are installed by default - { - "TimUntersberger/neogit", - keys = { { "<leader>gg", "<cmd>Neogit<cr>", desc = "Launch Neogit" } }, - opts = { - integrations = { - diffview = true, - }, - disable_commit_confirmation = true, - }, - }, - -- better text objects { "echasnovski/mini.ai", @@ -90,43 +77,7 @@ return { end, }, - { - "danymat/neogen", - keys = { - { - "<leader>cc", - function() - require("neogen").generate({}) - end, - desc = "Neogen Comment", - }, - }, - opts = { snippet_engine = "luasnip" }, - }, - - { - "smjonas/inc-rename.nvim", - cmd = "IncRename", - config = true, - }, - - { - "ThePrimeagen/refactoring.nvim", - keys = { - { - "<leader>r", - function() - require("refactoring").select_refactor() - end, - mode = "v", - noremap = true, - silent = true, - expr = false, - }, - }, - opts = {}, - }, - + -- Go forward/backward with square brackets { "echasnovski/mini.bracketed", event = "BufReadPost", @@ -172,13 +123,79 @@ return { end, }, + -- improved % + { + "andymass/vim-matchup", + -- XXX: Need to run master as tagged release is outdated + version = false, + event = "BufReadPost", + config = function() + vim.g.matchup_matchparen_offscreen = { method = "status_manual" } + end, + }, + + -- A better annotation generator + { + "danymat/neogen", + keys = { + { + "<leader>cc", + function() + require("neogen").generate({}) + end, + desc = "Neogen Comment", + }, + }, + opts = { snippet_engine = "luasnip" }, + }, + + -- Incremental LSP renaming + { + "smjonas/inc-rename.nvim", + cmd = "IncRename", + config = true, + }, + + -- Structural search and replace + { + "cshuaimin/ssr.nvim", + keys = { + { + "<leader>sR", + function() + require("ssr").open() + end, + mode = { "n", "x" }, + desc = "Structural Replace", + }, + }, + }, + + -- Refactoring library based off the Refactoring book by Martin Fowler + { + "ThePrimeagen/refactoring.nvim", + keys = { + { + "<leader>r", + function() + require("refactoring").select_refactor() + end, + mode = "v", + noremap = true, + silent = true, + expr = false, + }, + }, + opts = {}, + }, + -- better yank/paste { "kkharji/sqlite.lua", -- XXX: disabled as breaking bootstrap of configuration due to lazyvim.util not found - -- enabled = function() - -- return require("lazyvim.util").has("yanky.nvim") and not jit.os:find("Windows") - -- end, + -- enabled = function() + -- return require("lazyvim.util").has("yanky.nvim") and not jit.os:find("Windows") + -- end, }, { "gbprod/yanky.nvim", @@ -260,6 +277,7 @@ return { end, }, + -- A tree like view for symbols using LSP { "simrat39/symbols-outline.nvim", keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, @@ -333,7 +351,8 @@ return { { name = "luasnip" }, { name = "path" }, { name = "emoji" }, - { name = "copilot" }, + -- XXX: disabled until there is a way to opt-in for copilot in special cases + -- { name = "copilot" }, { name = "buffer", option = { @@ -344,7 +363,7 @@ return { }, }) - -- XXX: causing issues with load of cmp in some cases + -- FIXME: not working, causing issues with load of cmp in some cases -- Filter out copilot from some use cases, like emails to preserve privacy -- local limited_sources = {} -- for i = #opts.sources, 1, -1 do @@ -352,6 +371,11 @@ return { -- table.insert(limited_sources, opts.sources[i]) -- end -- end + -- Do not use copilot in norg and markdown files + -- cmp.setup.filetype({"norg", "markdown}", { + -- ---@diagnostic disable-next-line: missing-parameter + -- sources = cmp.config.sources(limited_sources), + -- }) -- only load lbdb completion for emails cmp.setup.filetype("mail", { @@ -374,28 +398,7 @@ return { }), }) - -- XXX: Do not use copilot completion in files that may contain senstive information - -- XXX: May be better to disable copilot until there is an easy way to opt in using - -- it for specific files - cmp.setup.filetype({ "markdown", "tex", "text" }, { - ---@diagnostic disable-next-line: missing-parameter - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "path" }, - { name = "emoji" }, - { - name = "buffer", - option = { - get_bufnrs = function() - return vim.api.nvim_list_bufs() - end, - }, - }, - }), - }) - - -- Do not use copilot completion, and add neorg + -- Add neorg cmp.setup.filetype("norg", { sources = cmp.config.sources({ { name = "nvim_lsp" }, @@ -414,12 +417,6 @@ return { }), }) - -- Do not use copilot in norg and markdown files - -- cmp.setup.filetype({"norg", "markdown}", { - -- ---@diagnostic disable-next-line: missing-parameter - -- sources = cmp.config.sources(limited_sources), - -- }) - -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). cmp.setup.cmdline(":", { mapping = cmp.mapping.preset.cmdline(), @@ -458,32 +455,6 @@ return { end, }, - -- Structural search and replace - { - "cshuaimin/ssr.nvim", - keys = { - { - "<leader>sR", - function() - require("ssr").open() - end, - mode = { "n", "x" }, - desc = "Structural Replace", - }, - }, - }, - - -- improved % - { - "andymass/vim-matchup", - -- XXX: Need to run master as tagged release is outdated - version = false, - event = "BufReadPost", - config = function() - vim.g.matchup_matchparen_offscreen = { method = "status_manual" } - end, - }, - -- supercharged . { "tpope/vim-repeat" }, @@ -501,16 +472,5 @@ return { { "chrisgrieser/nvim-spider", lazy = true }, -- Open links without netrw using gx mapping - { - "chrishrb/gx.nvim", - -- FIXME register existing gx mapping in which-key - -- config = function() - -- local wk = require("which-key") - -- wk.register({ - -- g = { - -- x = "Open link", - -- }, - -- }) - -- end, - }, + { "chrishrb/gx.nvim" }, } diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 7e5b620e..f76c5b1d 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -3,6 +3,19 @@ return { -- Edit and review GitHub issues and pull requests { "pwntester/octo.nvim", opts = {}, cmd = "Octo" }, + -- git integration :Neogit + -- LazyGit and Gitsigns are installed by default + { + "TimUntersberger/neogit", + keys = { { "<leader>gg", "<cmd>Neogit<cr>", desc = "Launch Neogit" } }, + opts = { + integrations = { + diffview = true, + }, + disable_commit_confirmation = true, + }, + }, + -- markdown preview { "toppair/peek.nvim", From 41f7e74d0ba1da93e25c1f8820c5e30ee82f6c27 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Apr 2023 16:13:12 +0200 Subject: [PATCH 1284/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/60c0f762658916a4a5b5a36b3e06486f8301daf4' (2023-04-26) → 'github:NixOS/nixpkgs/15b75800dce80225b44f067c9012b09de37dfad2' (2023-04-26) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/60c0f762658916a4a5b5a36b3e06486f8301daf4' (2023-04-26) → 'github:nixos/nixpkgs/15b75800dce80225b44f067c9012b09de37dfad2' (2023-04-26) • Updated input 'nur': 'github:nix-community/NUR/4ea872776fe0790e4c6d8374a5b5f0391803aa0a' (2023-04-27) → 'github:nix-community/NUR/c425925edd5463d169de20c484546cbcbe975c28' (2023-04-27) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 57d655dc..b1e777cb 100644 --- a/flake.lock +++ b/flake.lock @@ -151,11 +151,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1682493015, - "narHash": "sha256-KiMOAe8u83QDF40Z25kWMkZbqr9U+mvjvEJy5Qvw0nw=", + "lastModified": 1682538316, + "narHash": "sha256-YuHgVsR7S9zxJWHo7lo2ugd+uDC4ESWg1hA4bEZQv3Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "60c0f762658916a4a5b5a36b3e06486f8301daf4", + "rev": "15b75800dce80225b44f067c9012b09de37dfad2", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682493015, - "narHash": "sha256-KiMOAe8u83QDF40Z25kWMkZbqr9U+mvjvEJy5Qvw0nw=", + "lastModified": 1682538316, + "narHash": "sha256-YuHgVsR7S9zxJWHo7lo2ugd+uDC4ESWg1hA4bEZQv3Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "60c0f762658916a4a5b5a36b3e06486f8301daf4", + "rev": "15b75800dce80225b44f067c9012b09de37dfad2", "type": "github" }, "original": { @@ -199,11 +199,11 @@ }, "nur": { "locked": { - "lastModified": 1682581579, - "narHash": "sha256-wDf9GcyTbosGyVpxQJtMhX+i8C9Wa799u2vvQmMkZLI=", + "lastModified": 1682600263, + "narHash": "sha256-7ZGBnt5IxxxHgx4TQtMBaJwDTs9KELAqLXFVA/emzCI=", "owner": "nix-community", "repo": "NUR", - "rev": "4ea872776fe0790e4c6d8374a5b5f0391803aa0a", + "rev": "c425925edd5463d169de20c484546cbcbe975c28", "type": "github" }, "original": { From 921893bb69a1ef4891ec77edc0c08e3b80a0bbbc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 2 May 2023 09:22:55 +0200 Subject: [PATCH 1285/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/a1ee4d333b092bc055655fb06229eb3013755812' (2023-04-20) → 'github:lnl7/nix-darwin/379d42fad6bc5c28f79d5f7ff2fa5f1c90cb7bf8' (2023-04-29) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/c57746e2b9e3b42c0be9d9fd1d765f245c3827b7' (2023-04-27) → 'github:nix-community/neovim-nightly-overlay/a9719c5050b1abbb0adada7dd9f98e0cdbd3ed53' (2023-05-01) • Added input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/dcc36e45d054d7bb554c9cdab69093debd91a0b5' (2023-04-01) • Added input 'neovim-nightly-overlay/flake-parts/nixpkgs-lib': follows 'neovim-nightly-overlay/nixpkgs' • Added input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/15ff4f63e5f28070391a5b09a82f6d5c6cc5c9d0' (2023-04-19) • Added input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/c13d60b89adea3dc20704c045ec4d50dd964d447' (2023-03-09) • Added input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/130fa0baaa2b93ec45523fdcde942f6844ee9f6e?dir=lib' (2023-03-09) • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent': 'github:hercules-ci/hercules-ci-agent/0b90d1a87c117a5861785cb85833dd1c9df0b6ef' (2023-03-10) • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/flake-parts': 'github:hercules-ci/flake-parts/c13d60b89adea3dc20704c045ec4d50dd964d447' (2023-03-09) • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/flake-parts/nixpkgs-lib': follows 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nixpkgs' • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/haskell-flake': 'github:hercules-ci/haskell-flake/1e1660e6dd00838ba73bc7952e6e73be67da18d1' (2023-03-06) • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nix-darwin': 'github:LnL7/nix-darwin/87b9d090ad39b25b2400029c64825fc2a8868943' (2023-01-09) • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nix-darwin/nixpkgs': follows 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nixpkgs' • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nixpkgs': 'github:NixOS/nixpkgs/c90c4025bb6e0c4eaf438128a3b2640314b1c58d' (2023-03-08) • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix': 'github:cachix/pre-commit-hooks.nix/1a20b9708962096ec2481eeb2ddca29ed747770a' (2023-03-09) • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/flake-compat': 'github:edolstra/flake-compat/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9' (2023-01-17) • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/flake-utils': 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02) • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/gitignore': 'github:hercules-ci/gitignore.nix/a20de23b925fd8264fd7fad6454652e142fd7f73' (2022-08-14) • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/gitignore/nixpkgs': follows 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/nixpkgs' • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/nixpkgs': follows 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nixpkgs' • Added input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/2f9fd351ec37f5d479556cd48be4ca340da59b8f' (2023-01-15) • Added input 'neovim-nightly-overlay/hercules-ci-effects/nixpkgs': follows 'neovim-nightly-overlay/nixpkgs' • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:nixos/nixpkgs/2362848adf8def2866fabbffc50462e929d7fffb' (2023-04-21) → 'github:NixOS/nixpkgs/f2e9a130461950270f87630b11132323706b4d91' (2023-05-01) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/15b75800dce80225b44f067c9012b09de37dfad2' (2023-04-26) → 'github:NixOS/nixpkgs/db1e4eeb0f9a9028bcb920e00abbc1409dd3ef36' (2023-04-30) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/15b75800dce80225b44f067c9012b09de37dfad2' (2023-04-26) → 'github:nixos/nixpkgs/d529862de0cdabaebac67a48d825af99c2c3b50d' (2023-05-01) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/d6b863fd9b7bb962e6f9fdf292419a775e772891' (2023-04-26) → 'github:nixos/nixpkgs/da45bf6ec7bbcc5d1e14d3795c025199f28e0de0' (2023-04-30) • Updated input 'nur': 'github:nix-community/NUR/c425925edd5463d169de20c484546cbcbe975c28' (2023-04-27) → 'github:nix-community/NUR/fb2febdfc649f68e7059537605761ffcc7d95cc0' (2023-05-02) --- flake.lock | 332 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 305 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index b1e777cb..d2b55145 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1682009832, - "narHash": "sha256-QdNOeFE7sI+0ddqVfn9vQDCUs7OdxhJ7evo9sdyP82Y=", + "lastModified": 1682773107, + "narHash": "sha256-+h94XeJnG3uk5imJlBi/1lVmcfCbxHpwZp5u7n3Krwg=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "a1ee4d333b092bc055655fb06229eb3013755812", + "rev": "379d42fad6bc5c28f79d5f7ff2fa5f1c90cb7bf8", "type": "github" }, "original": { @@ -37,6 +37,83 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1680392223, + "narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1678379998, + "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1678379998, + "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1667395993, @@ -52,6 +129,105 @@ "type": "github" } }, + "flake-utils_2": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "neovim-nightly-overlay", + "hercules-ci-effects", + "hercules-ci-agent", + "pre-commit-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660459072, + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "haskell-flake": { + "locked": { + "lastModified": 1678138103, + "narHash": "sha256-D0lao82bV3t2gEFjHiU6RN233t+1MnkQV+bq8MEu2ic=", + "owner": "hercules-ci", + "repo": "haskell-flake", + "rev": "1e1660e6dd00838ba73bc7952e6e73be67da18d1", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "ref": "0.1-extraLibraries", + "repo": "haskell-flake", + "type": "github" + } + }, + "hercules-ci-agent": { + "inputs": { + "flake-parts": "flake-parts_3", + "haskell-flake": "haskell-flake", + "nix-darwin": "nix-darwin", + "nixpkgs": "nixpkgs", + "pre-commit-hooks-nix": "pre-commit-hooks-nix" + }, + "locked": { + "lastModified": 1678446614, + "narHash": "sha256-Z6Gsba5ahn/N0QlF0vJfIEfnZgCs4qr1IZtXAqjbE7s=", + "owner": "hercules-ci", + "repo": "hercules-ci-agent", + "rev": "0b90d1a87c117a5861785cb85833dd1c9df0b6ef", + "type": "github" + }, + "original": { + "id": "hercules-ci-agent", + "type": "indirect" + } + }, + "hercules-ci-effects": { + "inputs": { + "flake-parts": "flake-parts_2", + "hercules-ci-agent": "hercules-ci-agent", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1681898675, + "narHash": "sha256-nIJ7CAdiHv4i1no/VgDoeTJLzbLYwu5+/Ycoyzn0S78=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "15ff4f63e5f28070391a5b09a82f6d5c6cc5c9d0", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -76,7 +252,7 @@ }, "neovim-flake": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" @@ -101,15 +277,17 @@ "neovim-nightly-overlay": { "inputs": { "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "hercules-ci-effects": "hercules-ci-effects", "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1682583188, - "narHash": "sha256-CqXxDWqRLc7liA8cwafV4TQ5ggxx3PTlvDs8CUuF5HY=", + "lastModified": 1682955971, + "narHash": "sha256-6Orm5CIh/Zz3X/RHbMbLnii5jSyEjLxV9KF7lrrI5pA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c57746e2b9e3b42c0be9d9fd1d765f245c3827b7", + "rev": "a9719c5050b1abbb0adada7dd9f98e0cdbd3ed53", "type": "github" }, "original": { @@ -118,6 +296,29 @@ "type": "github" } }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "neovim-nightly-overlay", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1673295039, + "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "owner": "LnL7", + "repo": "nix-darwin", + "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "type": "github" + }, + "original": { + "owner": "LnL7", + "repo": "nix-darwin", + "type": "github" + } + }, "nix2lua": { "locked": { "lastModified": 1669103494, @@ -135,27 +336,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1682109806, - "narHash": "sha256-d9g7RKNShMLboTWwukM+RObDWWpHKaqTYXB48clBWXI=", - "owner": "nixos", + "lastModified": 1678293141, + "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "2362848adf8def2866fabbffc50462e929d7fffb", + "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1682538316, - "narHash": "sha256-YuHgVsR7S9zxJWHo7lo2ugd+uDC4ESWg1hA4bEZQv3Y=", + "lastModified": 1682931856, + "narHash": "sha256-phFRasoX9a7pPwfHwUO4A3HjccedEgVQLHR1UoPCY90=", "owner": "nixos", "repo": "nixpkgs", - "rev": "15b75800dce80225b44f067c9012b09de37dfad2", + "rev": "d529862de0cdabaebac67a48d825af99c2c3b50d", "type": "github" }, "original": { @@ -165,13 +366,47 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1678375444, + "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { - "lastModified": 1682526928, - "narHash": "sha256-2cKh4O6t1rQ8Ok+v16URynmb0rV7oZPEbXkU0owNLQs=", + "lastModified": 1682879489, + "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d6b863fd9b7bb962e6f9fdf292419a775e772891", + "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", "type": "github" }, "original": { @@ -183,11 +418,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682538316, - "narHash": "sha256-YuHgVsR7S9zxJWHo7lo2ugd+uDC4ESWg1hA4bEZQv3Y=", + "lastModified": 1682929865, + "narHash": "sha256-jxVrgnf5QNjO+XoxDxUWtN2G5xyJSGZ5SWDQFxMuHxc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "15b75800dce80225b44f067c9012b09de37dfad2", + "rev": "f2e9a130461950270f87630b11132323706b4d91", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1682817260, + "narHash": "sha256-kFMXzKNj4d/0Iqbm5l57rHSLyUeyCLMuvlROZIuuhvk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "db1e4eeb0f9a9028bcb920e00abbc1409dd3ef36", "type": "github" }, "original": { @@ -199,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1682600263, - "narHash": "sha256-7ZGBnt5IxxxHgx4TQtMBaJwDTs9KELAqLXFVA/emzCI=", + "lastModified": 1683007714, + "narHash": "sha256-UnW0R/JiTya9DjBjmtDfhW3SlEfVhkBDz5g2FTIK8CQ=", "owner": "nix-community", "repo": "NUR", - "rev": "c425925edd5463d169de20c484546cbcbe975c28", + "rev": "fb2febdfc649f68e7059537605761ffcc7d95cc0", "type": "github" }, "original": { @@ -212,13 +463,40 @@ "type": "github" } }, + "pre-commit-hooks-nix": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils", + "gitignore": "gitignore", + "nixpkgs": [ + "neovim-nightly-overlay", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1678376203, + "narHash": "sha256-3tyYGyC8h7fBwncLZy5nCUjTJPrHbmNwp47LlNLOHSM=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "1a20b9708962096ec2481eeb2ddca29ed747770a", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "darwin": "darwin", "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix2lua": "nix2lua", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-darwin-stable": "nixpkgs-darwin-stable", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" From 476ffb98f34337e74bf5449ea820011d055f6ac8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 2 May 2023 14:14:03 +0200 Subject: [PATCH 1286/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/db1e4eeb0f9a9028bcb920e00abbc1409dd3ef36' (2023-04-30) → 'github:NixOS/nixpkgs/d529862de0cdabaebac67a48d825af99c2c3b50d' (2023-05-01) • Updated input 'nur': 'github:nix-community/NUR/fb2febdfc649f68e7059537605761ffcc7d95cc0' (2023-05-02) → 'github:nix-community/NUR/6c9338fab80683e440e674c235c2fee2b381e6c4' (2023-05-02) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index d2b55145..c421ef01 100644 --- a/flake.lock +++ b/flake.lock @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1682817260, - "narHash": "sha256-kFMXzKNj4d/0Iqbm5l57rHSLyUeyCLMuvlROZIuuhvk=", + "lastModified": 1682931856, + "narHash": "sha256-phFRasoX9a7pPwfHwUO4A3HjccedEgVQLHR1UoPCY90=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "db1e4eeb0f9a9028bcb920e00abbc1409dd3ef36", + "rev": "d529862de0cdabaebac67a48d825af99c2c3b50d", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683007714, - "narHash": "sha256-UnW0R/JiTya9DjBjmtDfhW3SlEfVhkBDz5g2FTIK8CQ=", + "lastModified": 1683027801, + "narHash": "sha256-JD8MHCGCEe/o85sB32O1v6/pElTL67M2P64pW6pLjZk=", "owner": "nix-community", "repo": "NUR", - "rev": "fb2febdfc649f68e7059537605761ffcc7d95cc0", + "rev": "6c9338fab80683e440e674c235c2fee2b381e6c4", "type": "github" }, "original": { From 69375f5f517c265f0b77f1ed9a5669d8138529ad Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 2 May 2023 15:14:11 +0200 Subject: [PATCH 1287/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 76 ++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index a4c5c709..c51cc387 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,11 +1,11 @@ { - "ChatGPT.nvim": { "branch": "main", "commit": "8f1f3622f4a88550c4d74e0eb9985d76ed588a25" }, - "LazyVim": { "branch": "main", "commit": "5202a0f006b817d79dbfd07d93bd297fca5f48b4" }, - "LuaSnip": { "branch": "master", "commit": "e77fa9ad0b1f4fc6cddf54e51047e17e90c7d7ed" }, - "SchemaStore.nvim": { "branch": "main", "commit": "0b396f538f195c249f021a48c3d8988f0d3f86f7" }, - "alpha-nvim": { "branch": "main", "commit": "87c204040e3f5d4c1c95067b35905d8f8a2f2545" }, - "bufferline.nvim": { "branch": "main", "commit": "a4bd44523316928a7c4a5c09a3407d02c30b6027" }, - "catppuccin": { "branch": "main", "commit": "dd176757cc745f71bd54c472a9f58d5f8a54661d" }, + "ChatGPT.nvim": { "branch": "main", "commit": "d845b4a57e4e9ade1c26ee48c846cbbac6624095" }, + "LazyVim": { "branch": "main", "commit": "c42ebc216a380b4ed17be313f1b5245797b7531c" }, + "LuaSnip": { "branch": "master", "commit": "a46ab6f8bce6bbddd8ce3e287e1a517c1f5e348e" }, + "SchemaStore.nvim": { "branch": "main", "commit": "aac9313a2c78b602f23fa59fc799768b35926e8a" }, + "alpha-nvim": { "branch": "main", "commit": "447b821d22b0c1e80494638f84cb00ff696f4ef6" }, + "bufferline.nvim": { "branch": "main", "commit": "9f55bff3561e4c0ac5168487c64cb30d0ab75408" }, + "catppuccin": { "branch": "main", "commit": "94d10b558e679447064fe72ddf764b6fea3f0c85" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -15,54 +15,54 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, - "diffview.nvim": { "branch": "main", "commit": "f9ddbe798cb92854a383e2377482a49139a52c3d" }, + "diffview.nvim": { "branch": "main", "commit": "8c1702470fd5186cb401b21f9bf8bdfad6d5cc87" }, "dressing.nvim": { "branch": "master", "commit": "f5d7fa1fa5ce6bcebc8f07922f39b1eda4d01e37" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "631f79e346b0b3203d2ce3eae619ca8d612e5463" }, - "gitsigns.nvim": { "branch": "main", "commit": "7dfe4be94b4f84a9931098f0f0f618d055e50bd5" }, - "gx.nvim": { "branch": "main", "commit": "e5b76942ea67affe791d0fb5a65e2139b5544ae3" }, + "friendly-snippets": { "branch": "main", "commit": "2308366ad625f61284e51d249ede4f795394b186" }, + "gitsigns.nvim": { "branch": "main", "commit": "e5edefd9976039f5352e0c900f35206770b33a2d" }, + "gx.nvim": { "branch": "main", "commit": "c85c2be1f82e7b959e618c1cf723fa30a426db4e" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "903f0fe542fc35b74f3c09494f9c175346dfa76d" }, - "leap.nvim": { "branch": "main", "commit": "0eb3611593e135150e2f7880ec67568ccb51c17a" }, + "lazy.nvim": { "branch": "main", "commit": "d6a782c7002682f4a01b79fc3918c4584ad6e8fb" }, + "leap.nvim": { "branch": "main", "commit": "6f2912755c9c4ae790abd829f0cf1b07c037b2a4" }, "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "7276ffffcf51a8304b5fd4b81293be4ee010ec47" }, - "mason.nvim": { "branch": "main", "commit": "253961cfe9b0a63b2524088be294acd7522366e5" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "43f2ddf0b5f544d9bb20e24b8ff76b79f2a07ab0" }, + "mason.nvim": { "branch": "main", "commit": "057ac5ca159c83e302a55bd839a96ff1ea2396db" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" }, - "mini.animate": { "branch": "main", "commit": "863b01e20cd5cc599eb8ca87f44ecc1f2be04920" }, - "mini.bracketed": { "branch": "main", "commit": "b27cd5bb4f2a1a3da3f3e4953e060777d3427ead" }, - "mini.bufremove": { "branch": "main", "commit": "93c7230e83f5acb8890cdb2abaf3557f09305b01" }, - "mini.comment": { "branch": "main", "commit": "9ead47cef4266efa5145808b838762c658b74f74" }, - "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" }, - "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" }, - "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" }, + "mini.ai": { "branch": "main", "commit": "25bd5af6f984126ebd54c029bc12c9378214eb26" }, + "mini.animate": { "branch": "main", "commit": "58226f659c43a9dd340fbe2f864c169f7e1e9b0d" }, + "mini.bracketed": { "branch": "main", "commit": "e2ee6900751da016ec330b8bcac1b5edcc1d658e" }, + "mini.bufremove": { "branch": "main", "commit": "14805473144fffbd019d07e51bed2d176e065ee9" }, + "mini.comment": { "branch": "main", "commit": "98f5d2b49b81080f4beff24bfebf2fe8166ec3bc" }, + "mini.indentscope": { "branch": "main", "commit": "c2eee0b60aac85e95b04752109d826527203790b" }, + "mini.pairs": { "branch": "main", "commit": "a3f281f99e78675acbc528f31fdc2394a381daee" }, + "mini.surround": { "branch": "main", "commit": "98a320e0a0c40a878aa0f79c872e29df3b4e375f" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "8d485aab32da9b8841d4af977f992b82b14af469" }, "neoconf.nvim": { "branch": "main", "commit": "ccc79c8096b0171c770a59a05d69a22f49d6d6c9" }, - "neodev.nvim": { "branch": "main", "commit": "fe48362be179b5705edcbcb947c1d84b263d5698" }, + "neodev.nvim": { "branch": "main", "commit": "7e3f718f43de41053f77b1e8de6de2b759fc4023" }, "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, - "neogit": { "branch": "master", "commit": "69a6ca7c41b023ebf9cad70778e227b3209b40c4" }, - "neorg": { "branch": "main", "commit": "d61c4d1dd9442ec34d57e4a296b35a1117e65dbb" }, - "noice.nvim": { "branch": "main", "commit": "0f12ed399e79aa49f283aa954468b92be65e03ed" }, - "nui.nvim": { "branch": "main", "commit": "ecd9def93891b9260b15b5fcef542eaabf4145c9" }, + "neogit": { "branch": "master", "commit": "e24c050d96506db0a75ff76374e1513ff7c617b7" }, + "neorg": { "branch": "main", "commit": "160d40f5261be5149842942adbf260d6e359d9ec" }, + "noice.nvim": { "branch": "main", "commit": "d31fe940e0866686718822aaac45527412c45134" }, + "nui.nvim": { "branch": "main", "commit": "698e75814cd7c56b0dd8af4936bcef2d13807f3c" }, "null-ls.nvim": { "branch": "main", "commit": "33b853a3933eed3137cd055aac4e539e69832ad0" }, - "nvim-cmp": { "branch": "main", "commit": "11102d3db12c7f8b35265ad0e17a21511e5b1e68" }, + "nvim-cmp": { "branch": "main", "commit": "c3f7c54f6efed83b5657b1cf2e2a9bb7c121c6b4" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "427378a03ffc1e1bc023275583a49b1993e524d0" }, + "nvim-lspconfig": { "branch": "master", "commit": "05689b96fdad33fb01d4968089760d6886a65058" }, "nvim-navic": { "branch": "master", "commit": "83dc174da915f9dbc9b51169e9b62a2e0d42b527" }, "nvim-notify": { "branch": "master", "commit": "159c6cf1be25a933f35e97499314c9faab55c98f" }, - "nvim-scrollbar": { "branch": "main", "commit": "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943" }, - "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" }, + "nvim-scrollbar": { "branch": "main", "commit": "f3a5469e9881360e70d34b25333c910ee4a505f3" }, + "nvim-spectre": { "branch": "master", "commit": "46b9883c0760db6547f152dc97a651611ba6486d" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "08e8b2c08bfdcd20e4561620ca0ccda0bb2e050a" }, - "nvim-treesitter-context": { "branch": "master", "commit": "79f2758d470e49061009ccc6f7223b83e0922c66" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "8673926519ea61069f9c1366d1ad1949316d250e" }, + "nvim-treesitter": { "branch": "master", "commit": "e2cf8977fda35ad666d7b431b0254d8da710968a" }, + "nvim-treesitter-context": { "branch": "master", "commit": "e1dc868e61766499746b5b7b22671efc1f33181e" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "85a6f9d1af8b731f09f4031e1f9478d4b40d13ab" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "9e829d5cfa3de6a2ff561d86399772b0339ae49d" }, - "nvim-web-devicons": { "branch": "master", "commit": "4ec26d67d419c12a4abaea02f1b6c57b40c08d7e" }, + "nvim-web-devicons": { "branch": "master", "commit": "b34362b20a4942b3245f958e73ebe1b09b020ad1" }, "octo.nvim": { "branch": "master", "commit": "66c0fe4256c4ed1c9f79977ee961d38cedf7d6c6" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" }, @@ -78,12 +78,12 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "713d26b98583b160b50fb827adb751f768238ed3" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "tokyonight.nvim": { "branch": "main", "commit": "ab0ac67f4f32f44c3480f4b81ed90e11cb4f3763" }, + "tokyonight.nvim": { "branch": "main", "commit": "c5df636ce62a8aab7565f35da143cfd672526302" }, "trouble.nvim": { "branch": "main", "commit": "d56bfc0c501ced4002a57cb60433362fb2ce9c4d" }, "twilight.nvim": { "branch": "main", "commit": "2e13bd1886562b737f38c418ed542677b41ef5cb" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "1e276be9306490e439784cf5e8abe1f93b4a41b6" }, + "vim-matchup": { "branch": "master", "commit": "a8d1b8e635d666b19effa842f331ffa32beb57c2" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "01b67169c3ebe41f163c07bf6853555ca19bc27f" }, From 0c4252354e21520cfacf6b678e257d041aa452ec Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 2 May 2023 15:17:43 +0200 Subject: [PATCH 1288/2080] README: spelling --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 46b97441..67c2086a 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # gwarf's dotfiles -My messy **dotfiles** for GNU/Linux and macOS. WIP of course :) +My messy **dotfiles** for GNU/Linux and macOS. WIP :) Some files or configuration parts are for GNU/Linux (Archlinux and NixOS) and some others are for macOS. -> **WIP++** I'm currently converting this repository from +> **WIP++** I'm converting this repository from > [yadm](https://github.com/TheLocehiliosan/yadm) to management using [nix](#nix) and > [home-manager](https://nix-community.github.io/home-manager/). @@ -13,12 +13,11 @@ some others are for macOS. This is mainly random notes and pointers to source of inspiration. -This is very early work, some important tasks are pending: +This is work-in-progress, some important tasks are pending: - [ ] Try to understand what I'm doing :) - [ ] Read [Practical Nix Flakes](https://serokell.io/blog/practical-nix-flakes) - [ ] Finalise mail configuration -- [ ] Finalise fish configuration - [ ] Finalise neovim configuration - [ ] Finalise neomutt/mutt configuration - [ ] Unlock gnome keyring on login @@ -28,7 +27,7 @@ This is very early work, some important tasks are pending: - [ ] Clean packages sets in inputs. - [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to flakes. Unless it makes sense to keep this to do system configuration? -- [ ] Consolidate macOS and NixOS configuration. +- [ ] Consolidation of macOS and NixOS configuration. - [ ] Look into https://github.com/gvolpe/neovim-flake. - [ ] Support home-manager configuration on non-NixOS GNU/Linux systems. - [ ] Test and document bootstrap in clean NixOS. @@ -65,7 +64,7 @@ use two commands: updates **ALL** inputs and commit the changes to the lock file. > Beware as if you are using some nighlyt or unstable inputs it could break, - and commit the change, making reverting a bit less easier (but still doable). +> and commit the change, making reverting a bit less easier (but still doable). - [`nix flake lock`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-lock.html) allows to specify one more multiple inputs to update and then you will have @@ -169,11 +168,13 @@ nix build ".#darwinConfigurations.Baptistes-MBP.system" ### For python See: + - [NixOS Wiki: Python](https://nixos.wiki/wiki/Python) - [NixOS Wiki: Packaging Python](https://nixos.wiki/wiki/Packaging/Python) - [mach-nix](https://github.com/DavHau/mach-nix), to be replaced by [dream2nix](https://github.com/nix-community/dream2nix) Using a [Nix flake templates for easy dev envs](https://github.com/the-nix-way/dev-templates): + ```shell nix flake init --template github:the-nix-way/dev-templates#python direnv allow From 43eb9ce8695a44aefbd86559b91f0ab785dd466d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 May 2023 08:45:53 +0200 Subject: [PATCH 1289/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d529862de0cdabaebac67a48d825af99c2c3b50d' (2023-05-01) → 'github:NixOS/nixpkgs/5dab6490fe6d72b3f120ae8660181e20f396fbdf' (2023-05-02) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/d529862de0cdabaebac67a48d825af99c2c3b50d' (2023-05-01) → 'github:nixos/nixpkgs/5dab6490fe6d72b3f120ae8660181e20f396fbdf' (2023-05-02) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/da45bf6ec7bbcc5d1e14d3795c025199f28e0de0' (2023-04-30) → 'github:nixos/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02) • Updated input 'nur': 'github:nix-community/NUR/6c9338fab80683e440e674c235c2fee2b381e6c4' (2023-05-02) → 'github:nix-community/NUR/69ca9fe403403a7a6c2bcf81570e94b056fe46ec' (2023-05-03) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index c421ef01..7ba144f4 100644 --- a/flake.lock +++ b/flake.lock @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1682931856, - "narHash": "sha256-phFRasoX9a7pPwfHwUO4A3HjccedEgVQLHR1UoPCY90=", + "lastModified": 1683028696, + "narHash": "sha256-saPKTDj+HB9aPvB59wGcJ64CifRuiIt2CHvSbh7UHz8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d529862de0cdabaebac67a48d825af99c2c3b50d", + "rev": "5dab6490fe6d72b3f120ae8660181e20f396fbdf", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1682879489, - "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", + "lastModified": 1683014792, + "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", + "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1682931856, - "narHash": "sha256-phFRasoX9a7pPwfHwUO4A3HjccedEgVQLHR1UoPCY90=", + "lastModified": 1683028696, + "narHash": "sha256-saPKTDj+HB9aPvB59wGcJ64CifRuiIt2CHvSbh7UHz8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d529862de0cdabaebac67a48d825af99c2c3b50d", + "rev": "5dab6490fe6d72b3f120ae8660181e20f396fbdf", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683027801, - "narHash": "sha256-JD8MHCGCEe/o85sB32O1v6/pElTL67M2P64pW6pLjZk=", + "lastModified": 1683086893, + "narHash": "sha256-DhMF9nlTpA9omc+rp3HX5XeiZeq0wKd8OtkU0tVYRbs=", "owner": "nix-community", "repo": "NUR", - "rev": "6c9338fab80683e440e674c235c2fee2b381e6c4", + "rev": "69ca9fe403403a7a6c2bcf81570e94b056fe46ec", "type": "github" }, "original": { From 5ccfe2c04540ceb968f39d65e85defbb32297b02 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 May 2023 14:44:59 +0200 Subject: [PATCH 1290/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index c51cc387..5c09869c 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,11 +1,11 @@ { - "ChatGPT.nvim": { "branch": "main", "commit": "d845b4a57e4e9ade1c26ee48c846cbbac6624095" }, + "ChatGPT.nvim": { "branch": "main", "commit": "1b2af0b249fd22a9ad2ef168bfccd114a22f7b93" }, "LazyVim": { "branch": "main", "commit": "c42ebc216a380b4ed17be313f1b5245797b7531c" }, "LuaSnip": { "branch": "master", "commit": "a46ab6f8bce6bbddd8ce3e287e1a517c1f5e348e" }, "SchemaStore.nvim": { "branch": "main", "commit": "aac9313a2c78b602f23fa59fc799768b35926e8a" }, "alpha-nvim": { "branch": "main", "commit": "447b821d22b0c1e80494638f84cb00ff696f4ef6" }, "bufferline.nvim": { "branch": "main", "commit": "9f55bff3561e4c0ac5168487c64cb30d0ab75408" }, - "catppuccin": { "branch": "main", "commit": "94d10b558e679447064fe72ddf764b6fea3f0c85" }, + "catppuccin": { "branch": "main", "commit": "b856dbfec799470e4dc2fa3b61be374a7d716939" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -24,11 +24,11 @@ "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "d6a782c7002682f4a01b79fc3918c4584ad6e8fb" }, + "lazy.nvim": { "branch": "main", "commit": "ceb413678dfcf3d5455208959185e3db1f7892c7" }, "leap.nvim": { "branch": "main", "commit": "6f2912755c9c4ae790abd829f0cf1b07c037b2a4" }, "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "43f2ddf0b5f544d9bb20e24b8ff76b79f2a07ab0" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "cec0e6dd534ade486b5eeb59ebcfa8d51c3e8c5e" }, "mason.nvim": { "branch": "main", "commit": "057ac5ca159c83e302a55bd839a96ff1ea2396db" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "25bd5af6f984126ebd54c029bc12c9378214eb26" }, @@ -40,17 +40,17 @@ "mini.pairs": { "branch": "main", "commit": "a3f281f99e78675acbc528f31fdc2394a381daee" }, "mini.surround": { "branch": "main", "commit": "98a320e0a0c40a878aa0f79c872e29df3b4e375f" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "8d485aab32da9b8841d4af977f992b82b14af469" }, - "neoconf.nvim": { "branch": "main", "commit": "ccc79c8096b0171c770a59a05d69a22f49d6d6c9" }, - "neodev.nvim": { "branch": "main", "commit": "7e3f718f43de41053f77b1e8de6de2b759fc4023" }, + "neoconf.nvim": { "branch": "main", "commit": "321f4ff65cbec0e67e54f1a03354b8e6367c8230" }, + "neodev.nvim": { "branch": "main", "commit": "ab4c68129b5fefe5c6bb6d7e92283d3f8bdf8566" }, "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, - "neogit": { "branch": "master", "commit": "e24c050d96506db0a75ff76374e1513ff7c617b7" }, - "neorg": { "branch": "main", "commit": "160d40f5261be5149842942adbf260d6e359d9ec" }, + "neogit": { "branch": "master", "commit": "efc1764060e64cc8e81687319d5223b3246e5871" }, + "neorg": { "branch": "main", "commit": "a295adf945a215d84e7a6252faf1b7a4dc9db8f7" }, "noice.nvim": { "branch": "main", "commit": "d31fe940e0866686718822aaac45527412c45134" }, "nui.nvim": { "branch": "main", "commit": "698e75814cd7c56b0dd8af4936bcef2d13807f3c" }, "null-ls.nvim": { "branch": "main", "commit": "33b853a3933eed3137cd055aac4e539e69832ad0" }, "nvim-cmp": { "branch": "main", "commit": "c3f7c54f6efed83b5657b1cf2e2a9bb7c121c6b4" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "05689b96fdad33fb01d4968089760d6886a65058" }, + "nvim-lspconfig": { "branch": "master", "commit": "3bd4ca412982afa6f88bb7ef890660cee51c3e58" }, "nvim-navic": { "branch": "master", "commit": "83dc174da915f9dbc9b51169e9b62a2e0d42b527" }, "nvim-notify": { "branch": "master", "commit": "159c6cf1be25a933f35e97499314c9faab55c98f" }, "nvim-scrollbar": { "branch": "main", "commit": "f3a5469e9881360e70d34b25333c910ee4a505f3" }, @@ -78,7 +78,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, "telescope.nvim": { "branch": "master", "commit": "713d26b98583b160b50fb827adb751f768238ed3" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "tokyonight.nvim": { "branch": "main", "commit": "c5df636ce62a8aab7565f35da143cfd672526302" }, + "tokyonight.nvim": { "branch": "main", "commit": "f2ed28707a0ad49047d9b733395ea205ea09f517" }, "trouble.nvim": { "branch": "main", "commit": "d56bfc0c501ced4002a57cb60433362fb2ce9c4d" }, "twilight.nvim": { "branch": "main", "commit": "2e13bd1886562b737f38c418ed542677b41ef5cb" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, From 449c85d4ceed8f8c3bc979c3ebfdd696fd73cef3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 May 2023 14:45:16 +0200 Subject: [PATCH 1291/2080] macos: install more things via nix and not brew --- home/main.nix | 9 +++++++++ machines/Baptistes-MBP/default.nix | 8 +------- modules/home/fish/default.nix | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/home/main.nix b/home/main.nix index 4dde48a1..24079218 100644 --- a/home/main.nix +++ b/home/main.nix @@ -101,6 +101,15 @@ coreutils m-cli # useful macOS CLI commands ncurses + # Mail + # XXX: need to take care of configuration + mutt + gnupg + gpgme + # XXX: need to take care of daemon + isync + # XXX: need to take care of daemon + msmtp ]; programs.tealdeer = { enable = true; diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 304f6e48..fd66ce3c 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -17,15 +17,9 @@ # https://github.com/nvim-neorg/tree-sitter-norg/issues/7 "gcc" - # XXX: mail setup to be moved to a module - "gpgme" - "isync" - "khal" - "msmtp" - "mutt" - # XXX: install from pkgs does not work "checkmake" + "khal" "joplin-cli" "bitwarden-cli" diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 4ada40b5..883525a6 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -141,7 +141,7 @@ in # Load custon pytyon3 venv for mutt + ical function mutt source ~/.config/neomutt/.venv/bin/activate.fish - /usr/local/bin/mutt + /etc/profiles/per-user/baptiste/bin/mutt end # Start oidc-agent From eb77a7fa0bed61eff6be7714432e64486ec4fec2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 May 2023 14:45:30 +0200 Subject: [PATCH 1292/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/69ca9fe403403a7a6c2bcf81570e94b056fe46ec' (2023-05-03) → 'github:nix-community/NUR/f4da6bd7b6934fc82080910e8fc43e2f417dedc7' (2023-05-03) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 7ba144f4..27acdaf1 100644 --- a/flake.lock +++ b/flake.lock @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683086893, - "narHash": "sha256-DhMF9nlTpA9omc+rp3HX5XeiZeq0wKd8OtkU0tVYRbs=", + "lastModified": 1683117267, + "narHash": "sha256-ixbO5/XAo3OxRcLXc48MFk2iouo2UxdJPAkQ6pndymU=", "owner": "nix-community", "repo": "NUR", - "rev": "69ca9fe403403a7a6c2bcf81570e94b056fe46ec", + "rev": "f4da6bd7b6934fc82080910e8fc43e2f417dedc7", "type": "github" }, "original": { From b5711661ff81626789371bd229ed5d8859e0b736 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 May 2023 14:48:00 +0200 Subject: [PATCH 1293/2080] README: forget about this --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 67c2086a..1a6e8519 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,6 @@ This is mainly random notes and pointers to source of inspiration. This is work-in-progress, some important tasks are pending: -- [ ] Try to understand what I'm doing :) - [ ] Read [Practical Nix Flakes](https://serokell.io/blog/practical-nix-flakes) - [ ] Finalise mail configuration - [ ] Finalise neovim configuration From f09abbb645744d89676e3d6349e1b25778b96912 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 May 2023 14:49:49 +0200 Subject: [PATCH 1294/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 5c09869c..50f2251b 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,11 +1,11 @@ { - "ChatGPT.nvim": { "branch": "main", "commit": "1b2af0b249fd22a9ad2ef168bfccd114a22f7b93" }, + "ChatGPT.nvim": { "branch": "main", "commit": "f4befd13fe9552aaa88212f30da63201f2dec0c9" }, "LazyVim": { "branch": "main", "commit": "c42ebc216a380b4ed17be313f1b5245797b7531c" }, "LuaSnip": { "branch": "master", "commit": "a46ab6f8bce6bbddd8ce3e287e1a517c1f5e348e" }, "SchemaStore.nvim": { "branch": "main", "commit": "aac9313a2c78b602f23fa59fc799768b35926e8a" }, "alpha-nvim": { "branch": "main", "commit": "447b821d22b0c1e80494638f84cb00ff696f4ef6" }, - "bufferline.nvim": { "branch": "main", "commit": "9f55bff3561e4c0ac5168487c64cb30d0ab75408" }, - "catppuccin": { "branch": "main", "commit": "b856dbfec799470e4dc2fa3b61be374a7d716939" }, + "bufferline.nvim": { "branch": "main", "commit": "41660189da6951d14436147dff30ed7f0d12ed01" }, + "catppuccin": { "branch": "main", "commit": "a7e279d6e019f35dd042670f00748b602fff5568" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -43,12 +43,12 @@ "neoconf.nvim": { "branch": "main", "commit": "321f4ff65cbec0e67e54f1a03354b8e6367c8230" }, "neodev.nvim": { "branch": "main", "commit": "ab4c68129b5fefe5c6bb6d7e92283d3f8bdf8566" }, "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, - "neogit": { "branch": "master", "commit": "efc1764060e64cc8e81687319d5223b3246e5871" }, + "neogit": { "branch": "master", "commit": "d7c66e5e8752e0cc76336a78c4432648cf3102e1" }, "neorg": { "branch": "main", "commit": "a295adf945a215d84e7a6252faf1b7a4dc9db8f7" }, "noice.nvim": { "branch": "main", "commit": "d31fe940e0866686718822aaac45527412c45134" }, "nui.nvim": { "branch": "main", "commit": "698e75814cd7c56b0dd8af4936bcef2d13807f3c" }, "null-ls.nvim": { "branch": "main", "commit": "33b853a3933eed3137cd055aac4e539e69832ad0" }, - "nvim-cmp": { "branch": "main", "commit": "c3f7c54f6efed83b5657b1cf2e2a9bb7c121c6b4" }, + "nvim-cmp": { "branch": "main", "commit": "c7189282199d6f92d3becb91d4f44fc734f75f98" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lspconfig": { "branch": "master", "commit": "3bd4ca412982afa6f88bb7ef890660cee51c3e58" }, "nvim-navic": { "branch": "master", "commit": "83dc174da915f9dbc9b51169e9b62a2e0d42b527" }, @@ -57,7 +57,7 @@ "nvim-spectre": { "branch": "master", "commit": "46b9883c0760db6547f152dc97a651611ba6486d" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "e2cf8977fda35ad666d7b431b0254d8da710968a" }, + "nvim-treesitter": { "branch": "master", "commit": "bff7115bf89a553e4a1a120eb69b99486564af4c" }, "nvim-treesitter-context": { "branch": "master", "commit": "e1dc868e61766499746b5b7b22671efc1f33181e" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "85a6f9d1af8b731f09f4031e1f9478d4b40d13ab" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, From 078bb798352a79c47241a2fdcc84c7f55caf2b7b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 4 May 2023 09:22:05 +0200 Subject: [PATCH 1295/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5dab6490fe6d72b3f120ae8660181e20f396fbdf' (2023-05-02) → 'github:NixOS/nixpkgs/54495a4eafe99c537695a87fe04cb50bf17e651d' (2023-05-03) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/5dab6490fe6d72b3f120ae8660181e20f396fbdf' (2023-05-02) → 'github:nixos/nixpkgs/36a4c7dd603aa426d7127c1ada2fd2d39a77179c' (2023-05-04) • Updated input 'nur': 'github:nix-community/NUR/f4da6bd7b6934fc82080910e8fc43e2f417dedc7' (2023-05-03) → 'github:nix-community/NUR/82a30341dc98d46808ea11ba932e95856e53452c' (2023-05-04) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 27acdaf1..b348e3d6 100644 --- a/flake.lock +++ b/flake.lock @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1683028696, - "narHash": "sha256-saPKTDj+HB9aPvB59wGcJ64CifRuiIt2CHvSbh7UHz8=", + "lastModified": 1683165396, + "narHash": "sha256-TqCo2vhbeGlYnc4hdmpFBojLHe3l6IHx5gfdNvao48Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5dab6490fe6d72b3f120ae8660181e20f396fbdf", + "rev": "36a4c7dd603aa426d7127c1ada2fd2d39a77179c", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1683028696, - "narHash": "sha256-saPKTDj+HB9aPvB59wGcJ64CifRuiIt2CHvSbh7UHz8=", + "lastModified": 1683103914, + "narHash": "sha256-Mbrst3sLaiL55eOlZOEL8kB+XTWffaQVfcI03YWiryg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5dab6490fe6d72b3f120ae8660181e20f396fbdf", + "rev": "54495a4eafe99c537695a87fe04cb50bf17e651d", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683117267, - "narHash": "sha256-ixbO5/XAo3OxRcLXc48MFk2iouo2UxdJPAkQ6pndymU=", + "lastModified": 1683183829, + "narHash": "sha256-Ta7qCL+mWSBt3851GYtbJpuAcCfNvNxD+MqfK+Yj4RU=", "owner": "nix-community", "repo": "NUR", - "rev": "f4da6bd7b6934fc82080910e8fc43e2f417dedc7", + "rev": "82a30341dc98d46808ea11ba932e95856e53452c", "type": "github" }, "original": { From 502783516cef401f525a42abe40d5050f45d1397 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 5 May 2023 13:33:46 +0200 Subject: [PATCH 1296/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/54495a4eafe99c537695a87fe04cb50bf17e651d' (2023-05-03) → 'github:NixOS/nixpkgs/cc45a3f8c98e1c33ca996e3504adefbf660a72d1' (2023-05-04) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/36a4c7dd603aa426d7127c1ada2fd2d39a77179c' (2023-05-04) → 'github:nixos/nixpkgs/8eff1ce6cf8611a1ad7a9dbee4d775aa720cb208' (2023-05-05) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02) → 'github:nixos/nixpkgs/0d8145a5d81ebf6698077b21042380a3a66a11c7' (2023-05-04) • Updated input 'nur': 'github:nix-community/NUR/82a30341dc98d46808ea11ba932e95856e53452c' (2023-05-04) → 'github:nix-community/NUR/4dfe38b74d52259176d8649e187488cb8c2614c8' (2023-05-05) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index b348e3d6..e668d1be 100644 --- a/flake.lock +++ b/flake.lock @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1683165396, - "narHash": "sha256-TqCo2vhbeGlYnc4hdmpFBojLHe3l6IHx5gfdNvao48Q=", + "lastModified": 1683249378, + "narHash": "sha256-H6wNN0Jhl+H51puQtfUDohitykZ8z/Gsc19kHR5Yzwk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "36a4c7dd603aa426d7127c1ada2fd2d39a77179c", + "rev": "8eff1ce6cf8611a1ad7a9dbee4d775aa720cb208", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1683014792, - "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", + "lastModified": 1683194677, + "narHash": "sha256-Am7aCGNy/h6RMnvg7Pn4PHQXZZq9FyIUA9klYxBwyDI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42", + "rev": "0d8145a5d81ebf6698077b21042380a3a66a11c7", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1683103914, - "narHash": "sha256-Mbrst3sLaiL55eOlZOEL8kB+XTWffaQVfcI03YWiryg=", + "lastModified": 1683207485, + "narHash": "sha256-gs+PHt/y/XQB7S8+YyBLAM8LjgYpPZUVFQBwpFSmJro=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "54495a4eafe99c537695a87fe04cb50bf17e651d", + "rev": "cc45a3f8c98e1c33ca996e3504adefbf660a72d1", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683183829, - "narHash": "sha256-Ta7qCL+mWSBt3851GYtbJpuAcCfNvNxD+MqfK+Yj4RU=", + "lastModified": 1683279897, + "narHash": "sha256-iVDg5FSmFwriLuuYF9r3Jmjy2SEnbgifelm6D6aPICo=", "owner": "nix-community", "repo": "NUR", - "rev": "82a30341dc98d46808ea11ba932e95856e53452c", + "rev": "4dfe38b74d52259176d8649e187488cb8c2614c8", "type": "github" }, "original": { From 82897fe6fbf758f2949fc5ab2749def5d377bbfd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 5 May 2023 17:48:24 +0200 Subject: [PATCH 1297/2080] nvim: Disable ChatGPT. --- lazyvim/nvim/lua/plugins/tools.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index f76c5b1d..e025f85c 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -71,9 +71,9 @@ return { }, -- ChatGPT client - { - "jackMort/ChatGPT.nvim", - cmd = { "ChatGPTActAs", "ChatGPT" }, - opts = {}, - }, + -- { + -- "jackMort/ChatGPT.nvim", + -- cmd = { "ChatGPTActAs", "ChatGPT" }, + -- opts = {}, + -- }, } From f7b02e82fa601cf3e1fea4ec72bfd5731fe6a3a0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 5 May 2023 17:49:24 +0200 Subject: [PATCH 1298/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 43 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 50f2251b..7213728c 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,11 +1,10 @@ { - "ChatGPT.nvim": { "branch": "main", "commit": "f4befd13fe9552aaa88212f30da63201f2dec0c9" }, - "LazyVim": { "branch": "main", "commit": "c42ebc216a380b4ed17be313f1b5245797b7531c" }, + "LazyVim": { "branch": "main", "commit": "25d37a2cdd6202f1d767595454a7f84f77bbd83e" }, "LuaSnip": { "branch": "master", "commit": "a46ab6f8bce6bbddd8ce3e287e1a517c1f5e348e" }, - "SchemaStore.nvim": { "branch": "main", "commit": "aac9313a2c78b602f23fa59fc799768b35926e8a" }, + "SchemaStore.nvim": { "branch": "main", "commit": "b8e6c7d966857e8ff14d9b6a23eec9214d99db32" }, "alpha-nvim": { "branch": "main", "commit": "447b821d22b0c1e80494638f84cb00ff696f4ef6" }, "bufferline.nvim": { "branch": "main", "commit": "41660189da6951d14436147dff30ed7f0d12ed01" }, - "catppuccin": { "branch": "main", "commit": "a7e279d6e019f35dd042670f00748b602fff5568" }, + "catppuccin": { "branch": "main", "commit": "af8390217cb0b3b714dfd30ebd09264cf33a37be" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -16,9 +15,9 @@ "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, "diffview.nvim": { "branch": "main", "commit": "8c1702470fd5186cb401b21f9bf8bdfad6d5cc87" }, - "dressing.nvim": { "branch": "master", "commit": "f5d7fa1fa5ce6bcebc8f07922f39b1eda4d01e37" }, + "dressing.nvim": { "branch": "master", "commit": "540d6e7115fb32b5035ddaf0c1a26cbffb855dac" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "2308366ad625f61284e51d249ede4f795394b186" }, + "friendly-snippets": { "branch": "main", "commit": "10f741908e56ce47cf6b3440e3f04b4fdc0da2f2" }, "gitsigns.nvim": { "branch": "main", "commit": "e5edefd9976039f5352e0c900f35206770b33a2d" }, "gx.nvim": { "branch": "main", "commit": "c85c2be1f82e7b959e618c1cf723fa30a426db4e" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, @@ -27,28 +26,28 @@ "lazy.nvim": { "branch": "main", "commit": "ceb413678dfcf3d5455208959185e3db1f7892c7" }, "leap.nvim": { "branch": "main", "commit": "6f2912755c9c4ae790abd829f0cf1b07c037b2a4" }, "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, - "lualine.nvim": { "branch": "master", "commit": "84ffb80e452d95e2c46fa29a98ea11a240f7843e" }, + "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "cec0e6dd534ade486b5eeb59ebcfa8d51c3e8c5e" }, "mason.nvim": { "branch": "main", "commit": "057ac5ca159c83e302a55bd839a96ff1ea2396db" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "25bd5af6f984126ebd54c029bc12c9378214eb26" }, + "mini.ai": { "branch": "main", "commit": "aea7f12818a621f1d6f742a50b33e65e0bb82a2e" }, "mini.animate": { "branch": "main", "commit": "58226f659c43a9dd340fbe2f864c169f7e1e9b0d" }, - "mini.bracketed": { "branch": "main", "commit": "e2ee6900751da016ec330b8bcac1b5edcc1d658e" }, + "mini.bracketed": { "branch": "main", "commit": "4d5d8d8cfadb82b4e2d9196da2ecd5cd938a9c48" }, "mini.bufremove": { "branch": "main", "commit": "14805473144fffbd019d07e51bed2d176e065ee9" }, - "mini.comment": { "branch": "main", "commit": "98f5d2b49b81080f4beff24bfebf2fe8166ec3bc" }, - "mini.indentscope": { "branch": "main", "commit": "c2eee0b60aac85e95b04752109d826527203790b" }, - "mini.pairs": { "branch": "main", "commit": "a3f281f99e78675acbc528f31fdc2394a381daee" }, - "mini.surround": { "branch": "main", "commit": "98a320e0a0c40a878aa0f79c872e29df3b4e375f" }, + "mini.comment": { "branch": "main", "commit": "f5426fb8ba25b089432319372d5660c416346576" }, + "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, + "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, + "mini.surround": { "branch": "main", "commit": "ea2e9c4cdbddc826dc6eeac69b035f8220f65de5" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "8d485aab32da9b8841d4af977f992b82b14af469" }, "neoconf.nvim": { "branch": "main", "commit": "321f4ff65cbec0e67e54f1a03354b8e6367c8230" }, - "neodev.nvim": { "branch": "main", "commit": "ab4c68129b5fefe5c6bb6d7e92283d3f8bdf8566" }, - "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, + "neodev.nvim": { "branch": "main", "commit": "6498a07601702349c31909005bb333003e4687d4" }, + "neogen": { "branch": "main", "commit": "c0fd3dc9e7cc91181ea5a345c4b01c865626c81e" }, "neogit": { "branch": "master", "commit": "d7c66e5e8752e0cc76336a78c4432648cf3102e1" }, - "neorg": { "branch": "main", "commit": "a295adf945a215d84e7a6252faf1b7a4dc9db8f7" }, - "noice.nvim": { "branch": "main", "commit": "d31fe940e0866686718822aaac45527412c45134" }, + "neorg": { "branch": "main", "commit": "489c6a162bac63627493829e4bdc4b3fbc838300" }, + "noice.nvim": { "branch": "main", "commit": "6a7649413ef61123c333f422ee95840c04ece161" }, "nui.nvim": { "branch": "main", "commit": "698e75814cd7c56b0dd8af4936bcef2d13807f3c" }, "null-ls.nvim": { "branch": "main", "commit": "33b853a3933eed3137cd055aac4e539e69832ad0" }, - "nvim-cmp": { "branch": "main", "commit": "c7189282199d6f92d3becb91d4f44fc734f75f98" }, + "nvim-cmp": { "branch": "main", "commit": "1cad30fcffa282c0a9199c524c821eadc24bf939" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lspconfig": { "branch": "master", "commit": "3bd4ca412982afa6f88bb7ef890660cee51c3e58" }, "nvim-navic": { "branch": "master", "commit": "83dc174da915f9dbc9b51169e9b62a2e0d42b527" }, @@ -57,9 +56,9 @@ "nvim-spectre": { "branch": "master", "commit": "46b9883c0760db6547f152dc97a651611ba6486d" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "bff7115bf89a553e4a1a120eb69b99486564af4c" }, - "nvim-treesitter-context": { "branch": "master", "commit": "e1dc868e61766499746b5b7b22671efc1f33181e" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "85a6f9d1af8b731f09f4031e1f9478d4b40d13ab" }, + "nvim-treesitter": { "branch": "master", "commit": "39a78192fbcee43f0b9134d668663b0cfc1e082b" }, + "nvim-treesitter-context": { "branch": "master", "commit": "0226dd639712141235d5c9eefde47365d15d0535" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "5632f926833493bf44de3d0c214169a062b068df" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "9e829d5cfa3de6a2ff561d86399772b0339ae49d" }, "nvim-web-devicons": { "branch": "master", "commit": "b34362b20a4942b3245f958e73ebe1b09b020ad1" }, @@ -87,7 +86,7 @@ "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "01b67169c3ebe41f163c07bf6853555ca19bc27f" }, - "which-key.nvim": { "branch": "main", "commit": "4acffc92953a90a790603bfdab7c92319ab167b1" }, + "which-key.nvim": { "branch": "main", "commit": "af8f26bfbb61b5f722c9fbc72b296dc9db0bcfdc" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" } } \ No newline at end of file From 17638d810a79c16aaf9a599e56bab5cb77936329 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 9 May 2023 09:30:20 +0200 Subject: [PATCH 1299/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/cc45a3f8c98e1c33ca996e3504adefbf660a72d1' (2023-05-04) → 'github:NixOS/nixpkgs/7629f9b0680d87c7775f3261bee746da5dac76d1' (2023-05-08) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/8eff1ce6cf8611a1ad7a9dbee4d775aa720cb208' (2023-05-05) → 'github:nixos/nixpkgs/7629f9b0680d87c7775f3261bee746da5dac76d1' (2023-05-08) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/0d8145a5d81ebf6698077b21042380a3a66a11c7' (2023-05-04) → 'github:nixos/nixpkgs/897876e4c484f1e8f92009fd11b7d988a121a4e7' (2023-05-06) • Updated input 'nur': 'github:nix-community/NUR/4dfe38b74d52259176d8649e187488cb8c2614c8' (2023-05-05) → 'github:nix-community/NUR/d2b4061a60934718566c5003cccc38be2aefdd68' (2023-05-09) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index e668d1be..883cffd3 100644 --- a/flake.lock +++ b/flake.lock @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1683249378, - "narHash": "sha256-H6wNN0Jhl+H51puQtfUDohitykZ8z/Gsc19kHR5Yzwk=", + "lastModified": 1683546353, + "narHash": "sha256-zEfx6q4fXK5wq+RCsyM0FyWBKNNhHTKMpCWkEpKDe2g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8eff1ce6cf8611a1ad7a9dbee4d775aa720cb208", + "rev": "7629f9b0680d87c7775f3261bee746da5dac76d1", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1683194677, - "narHash": "sha256-Am7aCGNy/h6RMnvg7Pn4PHQXZZq9FyIUA9klYxBwyDI=", + "lastModified": 1683408522, + "narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0d8145a5d81ebf6698077b21042380a3a66a11c7", + "rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1683207485, - "narHash": "sha256-gs+PHt/y/XQB7S8+YyBLAM8LjgYpPZUVFQBwpFSmJro=", + "lastModified": 1683546353, + "narHash": "sha256-zEfx6q4fXK5wq+RCsyM0FyWBKNNhHTKMpCWkEpKDe2g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cc45a3f8c98e1c33ca996e3504adefbf660a72d1", + "rev": "7629f9b0680d87c7775f3261bee746da5dac76d1", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683279897, - "narHash": "sha256-iVDg5FSmFwriLuuYF9r3Jmjy2SEnbgifelm6D6aPICo=", + "lastModified": 1683605580, + "narHash": "sha256-cVDmvUvgQbbqIHLC+yF3cGhAGd7Dl+YAsn+QEhGa0BQ=", "owner": "nix-community", "repo": "NUR", - "rev": "4dfe38b74d52259176d8649e187488cb8c2614c8", + "rev": "d2b4061a60934718566c5003cccc38be2aefdd68", "type": "github" }, "original": { From e062db3af77ba3b8d37a657f241ba892aafb31e2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 9 May 2023 11:38:36 +0200 Subject: [PATCH 1300/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/d2b4061a60934718566c5003cccc38be2aefdd68' (2023-05-09) → 'github:nix-community/NUR/bd5bd8fd3b1d1e862bf412b570c1143cd2ab1cb4' (2023-05-09) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 883cffd3..d19ef506 100644 --- a/flake.lock +++ b/flake.lock @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683605580, - "narHash": "sha256-cVDmvUvgQbbqIHLC+yF3cGhAGd7Dl+YAsn+QEhGa0BQ=", + "lastModified": 1683622066, + "narHash": "sha256-PHC+IL9DlopYCJHJj3n1+pyoiXEgtBlRD/BkuUnU05Q=", "owner": "nix-community", "repo": "NUR", - "rev": "d2b4061a60934718566c5003cccc38be2aefdd68", + "rev": "bd5bd8fd3b1d1e862bf412b570c1143cd2ab1cb4", "type": "github" }, "original": { From 80251ea710ffee32eaa35cc32453b4ba76dd9931 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 9 May 2023 14:06:24 +0200 Subject: [PATCH 1301/2080] neorg: document TS parser build issue --- lazyvim/nvim/lua/plugins/neorg.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/neorg.lua b/lazyvim/nvim/lua/plugins/neorg.lua index 70464c8e..b21072c3 100644 --- a/lazyvim/nvim/lua/plugins/neorg.lua +++ b/lazyvim/nvim/lua/plugins/neorg.lua @@ -2,6 +2,9 @@ return { -- neorg, org-mode like -- https://github.com/nvim-neorg/neorg -- Bindings: ~/.local/share/nvim/lazy/neorg/lua/neorg/modules/core/keybinds/keybinds.lua + -- XXX: issues with building treesitter extension on macos + -- https://github.com/nvim-neorg/tree-sitter-norg/issues/7 + -- CC="/usr/bin/clang++ -std=c++17" nvim -c "TSInstallSync norg" { "nvim-neorg/neorg", -- lazy-load on filetype From 881373cb2864b9b0dc513d2e4dbc17dd170ce036 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 9 May 2023 14:06:51 +0200 Subject: [PATCH 1302/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 44 ++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 7213728c..1e872183 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { "LazyVim": { "branch": "main", "commit": "25d37a2cdd6202f1d767595454a7f84f77bbd83e" }, - "LuaSnip": { "branch": "master", "commit": "a46ab6f8bce6bbddd8ce3e287e1a517c1f5e348e" }, + "LuaSnip": { "branch": "master", "commit": "b4bc24c4925aeb05fd47d2ee9b24b7f73f5d7e32" }, "SchemaStore.nvim": { "branch": "main", "commit": "b8e6c7d966857e8ff14d9b6a23eec9214d99db32" }, - "alpha-nvim": { "branch": "main", "commit": "447b821d22b0c1e80494638f84cb00ff696f4ef6" }, + "alpha-nvim": { "branch": "main", "commit": "eaeb20d25b36880678141534479a0d99591be9a1" }, "bufferline.nvim": { "branch": "main", "commit": "41660189da6951d14436147dff30ed7f0d12ed01" }, - "catppuccin": { "branch": "main", "commit": "af8390217cb0b3b714dfd30ebd09264cf33a37be" }, + "catppuccin": { "branch": "main", "commit": "b2f566d43e04557b1b83065cae706d461de04e66" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -19,15 +19,15 @@ "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "10f741908e56ce47cf6b3440e3f04b4fdc0da2f2" }, "gitsigns.nvim": { "branch": "main", "commit": "e5edefd9976039f5352e0c900f35206770b33a2d" }, - "gx.nvim": { "branch": "main", "commit": "c85c2be1f82e7b959e618c1cf723fa30a426db4e" }, + "gx.nvim": { "branch": "main", "commit": "8d16f2372dcfc0b15d0b4a3fcc0e3d75a6f160f9" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "ceb413678dfcf3d5455208959185e3db1f7892c7" }, + "lazy.nvim": { "branch": "main", "commit": "51a3873ccd59239e4dff3319561d51031f4b52d2" }, "leap.nvim": { "branch": "main", "commit": "6f2912755c9c4ae790abd829f0cf1b07c037b2a4" }, "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "cec0e6dd534ade486b5eeb59ebcfa8d51c3e8c5e" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "90a8bbf106b85b76951a34c542058ffa807de2b1" }, "mason.nvim": { "branch": "main", "commit": "057ac5ca159c83e302a55bd839a96ff1ea2396db" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "aea7f12818a621f1d6f742a50b33e65e0bb82a2e" }, @@ -38,30 +38,30 @@ "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, "mini.surround": { "branch": "main", "commit": "ea2e9c4cdbddc826dc6eeac69b035f8220f65de5" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "8d485aab32da9b8841d4af977f992b82b14af469" }, - "neoconf.nvim": { "branch": "main", "commit": "321f4ff65cbec0e67e54f1a03354b8e6367c8230" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "8a600830a358639b0e630fa424d668e095901231" }, + "neoconf.nvim": { "branch": "main", "commit": "6086792a14a4490b227075a847f4226c07ed7eac" }, "neodev.nvim": { "branch": "main", "commit": "6498a07601702349c31909005bb333003e4687d4" }, "neogen": { "branch": "main", "commit": "c0fd3dc9e7cc91181ea5a345c4b01c865626c81e" }, - "neogit": { "branch": "master", "commit": "d7c66e5e8752e0cc76336a78c4432648cf3102e1" }, - "neorg": { "branch": "main", "commit": "489c6a162bac63627493829e4bdc4b3fbc838300" }, - "noice.nvim": { "branch": "main", "commit": "6a7649413ef61123c333f422ee95840c04ece161" }, + "neogit": { "branch": "master", "commit": "917fb24c9b7e0506ebfa94ccdbeaaea5eff2f916" }, + "neorg": { "branch": "main", "commit": "5de014e7cc3dc6eed0a62854fe8ba58f664d97ea" }, + "noice.nvim": { "branch": "main", "commit": "13c3b39e43fbd0f50dac608fdbda230dec69f1d1" }, "nui.nvim": { "branch": "main", "commit": "698e75814cd7c56b0dd8af4936bcef2d13807f3c" }, - "null-ls.nvim": { "branch": "main", "commit": "33b853a3933eed3137cd055aac4e539e69832ad0" }, - "nvim-cmp": { "branch": "main", "commit": "1cad30fcffa282c0a9199c524c821eadc24bf939" }, + "null-ls.nvim": { "branch": "main", "commit": "71797bb303ac99a4435592e15068f127970513d7" }, + "nvim-cmp": { "branch": "main", "commit": "935b4069ce73b60ba9075bf05ee6ab50ed3af1a9" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "3bd4ca412982afa6f88bb7ef890660cee51c3e58" }, + "nvim-lspconfig": { "branch": "master", "commit": "ccdc1af35ccb731e58f7ac1802d87703cea1e8f5" }, "nvim-navic": { "branch": "master", "commit": "83dc174da915f9dbc9b51169e9b62a2e0d42b527" }, "nvim-notify": { "branch": "master", "commit": "159c6cf1be25a933f35e97499314c9faab55c98f" }, "nvim-scrollbar": { "branch": "main", "commit": "f3a5469e9881360e70d34b25333c910ee4a505f3" }, "nvim-spectre": { "branch": "master", "commit": "46b9883c0760db6547f152dc97a651611ba6486d" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "39a78192fbcee43f0b9134d668663b0cfc1e082b" }, - "nvim-treesitter-context": { "branch": "master", "commit": "0226dd639712141235d5c9eefde47365d15d0535" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "5632f926833493bf44de3d0c214169a062b068df" }, + "nvim-treesitter": { "branch": "master", "commit": "0ec48923e526d55892b7a1564a01b5111e5e9ba0" }, + "nvim-treesitter-context": { "branch": "master", "commit": "f1179bde94bcbeed68be33e694079afb71d49cac" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "35a60f093fa15a303874975f963428a5cd24e4a0" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, - "nvim-ufo": { "branch": "main", "commit": "9e829d5cfa3de6a2ff561d86399772b0339ae49d" }, - "nvim-web-devicons": { "branch": "master", "commit": "b34362b20a4942b3245f958e73ebe1b09b020ad1" }, + "nvim-ufo": { "branch": "main", "commit": "45aede6f5c4981156df3ddeeae01c4290e43e104" }, + "nvim-web-devicons": { "branch": "master", "commit": "986875b7364095d6535e28bd4aac3a9357e91bbe" }, "octo.nvim": { "branch": "master", "commit": "66c0fe4256c4ed1c9f79977ee961d38cedf7d6c6" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" }, @@ -75,14 +75,14 @@ "styler.nvim": { "branch": "main", "commit": "58d0d12191adee41fce7ef20d46d1203efa0d11e" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "713d26b98583b160b50fb827adb751f768238ed3" }, + "telescope.nvim": { "branch": "master", "commit": "d77b37f4520e5fc2cf4c74c12e42ed4b589bd367" }, "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "tokyonight.nvim": { "branch": "main", "commit": "f2ed28707a0ad49047d9b733395ea205ea09f517" }, + "tokyonight.nvim": { "branch": "main", "commit": "df13e3268a44f142999fa166572fe95a650a0b37" }, "trouble.nvim": { "branch": "main", "commit": "d56bfc0c501ced4002a57cb60433362fb2ce9c4d" }, "twilight.nvim": { "branch": "main", "commit": "2e13bd1886562b737f38c418ed542677b41ef5cb" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "a8d1b8e635d666b19effa842f331ffa32beb57c2" }, + "vim-matchup": { "branch": "master", "commit": "6c8909b682803d8c3a054259079f158a73a0e30f" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "01b67169c3ebe41f163c07bf6853555ca19bc27f" }, From 035748a273f8fa4630aa9a43cef87a37a228fbf4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 10 May 2023 08:48:09 +0200 Subject: [PATCH 1303/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/7629f9b0680d87c7775f3261bee746da5dac76d1' (2023-05-08) → 'github:NixOS/nixpkgs/a08e061a4ee8329747d54ddf1566d34c55c895eb' (2023-05-09) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/7629f9b0680d87c7775f3261bee746da5dac76d1' (2023-05-08) → 'github:nixos/nixpkgs/a08e061a4ee8329747d54ddf1566d34c55c895eb' (2023-05-09) • Updated input 'nur': 'github:nix-community/NUR/bd5bd8fd3b1d1e862bf412b570c1143cd2ab1cb4' (2023-05-09) → 'github:nix-community/NUR/763d79a96172b5e5b7ef48c2e00055520b4c811a' (2023-05-10) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d19ef506..544c847b 100644 --- a/flake.lock +++ b/flake.lock @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1683546353, - "narHash": "sha256-zEfx6q4fXK5wq+RCsyM0FyWBKNNhHTKMpCWkEpKDe2g=", + "lastModified": 1683627095, + "narHash": "sha256-8u9SejRpL2TrMuHBdhYh4FKc1OGPDLyWTpIbNTtoHsA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7629f9b0680d87c7775f3261bee746da5dac76d1", + "rev": "a08e061a4ee8329747d54ddf1566d34c55c895eb", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1683546353, - "narHash": "sha256-zEfx6q4fXK5wq+RCsyM0FyWBKNNhHTKMpCWkEpKDe2g=", + "lastModified": 1683627095, + "narHash": "sha256-8u9SejRpL2TrMuHBdhYh4FKc1OGPDLyWTpIbNTtoHsA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7629f9b0680d87c7775f3261bee746da5dac76d1", + "rev": "a08e061a4ee8329747d54ddf1566d34c55c895eb", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683622066, - "narHash": "sha256-PHC+IL9DlopYCJHJj3n1+pyoiXEgtBlRD/BkuUnU05Q=", + "lastModified": 1683697475, + "narHash": "sha256-89L0sFoWHZMdiUKAqluKXQlbJfJsO2TsHcUtWt2qISg=", "owner": "nix-community", "repo": "NUR", - "rev": "bd5bd8fd3b1d1e862bf412b570c1143cd2ab1cb4", + "rev": "763d79a96172b5e5b7ef48c2e00055520b4c811a", "type": "github" }, "original": { From ec3b11d400af739ddd41320f4d60da222745bd55 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 10 May 2023 09:02:23 +0200 Subject: [PATCH 1304/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 1e872183..35bb1040 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -2,9 +2,9 @@ "LazyVim": { "branch": "main", "commit": "25d37a2cdd6202f1d767595454a7f84f77bbd83e" }, "LuaSnip": { "branch": "master", "commit": "b4bc24c4925aeb05fd47d2ee9b24b7f73f5d7e32" }, "SchemaStore.nvim": { "branch": "main", "commit": "b8e6c7d966857e8ff14d9b6a23eec9214d99db32" }, - "alpha-nvim": { "branch": "main", "commit": "eaeb20d25b36880678141534479a0d99591be9a1" }, - "bufferline.nvim": { "branch": "main", "commit": "41660189da6951d14436147dff30ed7f0d12ed01" }, - "catppuccin": { "branch": "main", "commit": "b2f566d43e04557b1b83065cae706d461de04e66" }, + "alpha-nvim": { "branch": "main", "commit": "1838ae926e8d49fe5330d1498ee8289ae2c340bc" }, + "bufferline.nvim": { "branch": "main", "commit": "018bdf61a97e00caeff05d16977437c63018762e" }, + "catppuccin": { "branch": "main", "commit": "a6274e78ac59224809147da229ff4e54b0d18f3b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -28,7 +28,7 @@ "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "90a8bbf106b85b76951a34c542058ffa807de2b1" }, - "mason.nvim": { "branch": "main", "commit": "057ac5ca159c83e302a55bd839a96ff1ea2396db" }, + "mason.nvim": { "branch": "main", "commit": "a51391311e86c295fc7611be2beb58859e93f21b" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "aea7f12818a621f1d6f742a50b33e65e0bb82a2e" }, "mini.animate": { "branch": "main", "commit": "58226f659c43a9dd340fbe2f864c169f7e1e9b0d" }, @@ -49,14 +49,14 @@ "null-ls.nvim": { "branch": "main", "commit": "71797bb303ac99a4435592e15068f127970513d7" }, "nvim-cmp": { "branch": "main", "commit": "935b4069ce73b60ba9075bf05ee6ab50ed3af1a9" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "ccdc1af35ccb731e58f7ac1802d87703cea1e8f5" }, - "nvim-navic": { "branch": "master", "commit": "83dc174da915f9dbc9b51169e9b62a2e0d42b527" }, + "nvim-lspconfig": { "branch": "master", "commit": "f9be670aa1f0fc250f4db7713e9a4fa72e525d22" }, + "nvim-navic": { "branch": "master", "commit": "15704c607569d6c5cfeab486d3ef9459645a70ce" }, "nvim-notify": { "branch": "master", "commit": "159c6cf1be25a933f35e97499314c9faab55c98f" }, "nvim-scrollbar": { "branch": "main", "commit": "f3a5469e9881360e70d34b25333c910ee4a505f3" }, "nvim-spectre": { "branch": "master", "commit": "46b9883c0760db6547f152dc97a651611ba6486d" }, "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "0ec48923e526d55892b7a1564a01b5111e5e9ba0" }, + "nvim-treesitter": { "branch": "master", "commit": "6e8ad92031ff3b07db8980ab4a5491d1c40398ea" }, "nvim-treesitter-context": { "branch": "master", "commit": "f1179bde94bcbeed68be33e694079afb71d49cac" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "35a60f093fa15a303874975f963428a5cd24e4a0" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, From f026f3f8ac9ecae2167ddf0c45017443f7794c38 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 10 May 2023 09:02:26 +0200 Subject: [PATCH 1305/2080] wrap nvim in a function to set proper CC for neorg --- modules/home/fish/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 883525a6..64e0e540 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -130,7 +130,12 @@ in # set -gx CC clang # set -gx CXX clang++ # set -gx COMPILER clang++ - set -gx CC gcc-12 + # set -gx CC gcc-12 + + # Use clang++ from system with recent C++ version to build neorg treesitter + function nvim + env CC="/usr/bin/clang++ -std=c++17" /etc/profiles/per-user/$USER/bin/nvim $argv + end # Load pyenv # https://github.com/pyenv/pyenv/wiki/Common-build-problems From f44d76a2b01e4c1ca636d90ca8aadcda8821e1a3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 10 May 2023 09:32:12 +0200 Subject: [PATCH 1306/2080] brew + nix: install gcc12 for tree-sitter-norg --- machines/Baptistes-MBP/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index fd66ce3c..3670e2f6 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -15,7 +15,7 @@ # XXX: for building norg-treesitter on macOS # https://github.com/nvim-neorg/tree-sitter-norg/issues/7 - "gcc" + "gcc@12" # XXX: install from pkgs does not work "checkmake" From 819bca80fa078ad436cd76f37dd05e59c9a71511 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 10 May 2023 09:32:35 +0200 Subject: [PATCH 1307/2080] fish: use gcc-12 for treesitter neorg --- modules/home/fish/default.nix | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 64e0e540..aebe17c5 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -130,12 +130,24 @@ in # set -gx CC clang # set -gx CXX clang++ # set -gx COMPILER clang++ - # set -gx CC gcc-12 + + # Use gcc12 from homebrew to build neorg treesitter + set -gx CC /usr/local/bin/gcc-12 + # XXX: not working # Use clang++ from system with recent C++ version to build neorg treesitter - function nvim - env CC="/usr/bin/clang++ -std=c++17" /etc/profiles/per-user/$USER/bin/nvim $argv - end + # set -gx CC "/usr/bin/clang++ -std=c++17" + + # XXX: not working + # Use clang++ from system with recent C++ version to build neorg treesitter + # function nvim + # env CC="/usr/bin/clang++ -std=c++17" /etc/profiles/per-user/$USER/bin/nvim $argv + # end + + # XXX: not working + # function vim + # env CC="/usr/bin/clang++ -std=c++17" /etc/profiles/per-user/$USER/bin/nvim $argv + # end # Load pyenv # https://github.com/pyenv/pyenv/wiki/Common-build-problems From f5d149e81c3bd3641a8dc1d5a6554d64fc656f25 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 11 May 2023 09:30:10 +0200 Subject: [PATCH 1308/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/379d42fad6bc5c28f79d5f7ff2fa5f1c90cb7bf8' (2023-04-29) → 'github:lnl7/nix-darwin/252541bd05a7f55f3704a3d014ad1badc1e3360d' (2023-05-10) • Updated input 'nur': 'github:nix-community/NUR/763d79a96172b5e5b7ef48c2e00055520b4c811a' (2023-05-10) → 'github:nix-community/NUR/3b9fad6aeb323eef6e249ca7b0eda828b7a33c57' (2023-05-11) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 544c847b..ad692e20 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1682773107, - "narHash": "sha256-+h94XeJnG3uk5imJlBi/1lVmcfCbxHpwZp5u7n3Krwg=", + "lastModified": 1683754942, + "narHash": "sha256-L+Bj8EL4XLmODRIuOkk9sI6FDECVzK+C8jeZFv7q6eY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "379d42fad6bc5c28f79d5f7ff2fa5f1c90cb7bf8", + "rev": "252541bd05a7f55f3704a3d014ad1badc1e3360d", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683697475, - "narHash": "sha256-89L0sFoWHZMdiUKAqluKXQlbJfJsO2TsHcUtWt2qISg=", + "lastModified": 1683787468, + "narHash": "sha256-2eJgM7C6KCUhtGWLD73Vd4MEQXARuWaCqkkjJ4CyBIg=", "owner": "nix-community", "repo": "NUR", - "rev": "763d79a96172b5e5b7ef48c2e00055520b4c811a", + "rev": "3b9fad6aeb323eef6e249ca7b0eda828b7a33c57", "type": "github" }, "original": { From e0b08bf470af56460b591919a02b62e15438c37b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 12 May 2023 08:53:57 +0200 Subject: [PATCH 1309/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/3b9fad6aeb323eef6e249ca7b0eda828b7a33c57' (2023-05-11) → 'github:nix-community/NUR/6f8d15ef7a6de53c8b01828113262af48ea0fbcd' (2023-05-12) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index ad692e20..e5f0a961 100644 --- a/flake.lock +++ b/flake.lock @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683787468, - "narHash": "sha256-2eJgM7C6KCUhtGWLD73Vd4MEQXARuWaCqkkjJ4CyBIg=", + "lastModified": 1683866302, + "narHash": "sha256-/OE/VFasqc4U41V6mxfgP2y63CFVhOspyDVa6taA2QU=", "owner": "nix-community", "repo": "NUR", - "rev": "3b9fad6aeb323eef6e249ca7b0eda828b7a33c57", + "rev": "6f8d15ef7a6de53c8b01828113262af48ea0fbcd", "type": "github" }, "original": { From b75eca0a17ea7439f4e259ee44f840d09aefc206 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 15 May 2023 09:19:31 +0200 Subject: [PATCH 1310/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/a9719c5050b1abbb0adada7dd9f98e0cdbd3ed53' (2023-05-01) → 'github:nix-community/neovim-nightly-overlay/3a570284ffb1931a264012a29647ad3705ee632b' (2023-05-15) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/dcc36e45d054d7bb554c9cdab69093debd91a0b5' (2023-04-01) → 'github:hercules-ci/flake-parts/006c75898cf814ef9497252b022e91c946ba8e17' (2023-05-08) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/d321deb4a9b05e9d81b79ac166274f4a6e7981bf?dir=contrib' (2023-04-27) → 'github:neovim/neovim/e71c7898ca3cf3af1243227ff3cba526d48897e8?dir=contrib' (2023-05-14) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/f2e9a130461950270f87630b11132323706b4d91' (2023-05-01) → 'github:NixOS/nixpkgs/ea11a3977f4cba013d8680667616be827c967ac0' (2023-05-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a08e061a4ee8329747d54ddf1566d34c55c895eb' (2023-05-09) → 'github:NixOS/nixpkgs/9656e85a15a0fe67847ee8cdb99a20d8df499962' (2023-05-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/a08e061a4ee8329747d54ddf1566d34c55c895eb' (2023-05-09) → 'github:nixos/nixpkgs/f2e827cbac90dc046f902c96ee9e0da3e45fb452' (2023-05-14) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/897876e4c484f1e8f92009fd11b7d988a121a4e7' (2023-05-06) → 'github:nixos/nixpkgs/0470f36b02ef01d4f43c641bbf07020bcab71bf1' (2023-05-14) • Updated input 'nur': 'github:nix-community/NUR/6f8d15ef7a6de53c8b01828113262af48ea0fbcd' (2023-05-12) → 'github:nix-community/NUR/e3e76e6f738839784188d6509216b9d9b9098f84' (2023-05-15) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index e5f0a961..53cc3fa6 100644 --- a/flake.lock +++ b/flake.lock @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1680392223, - "narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=", + "lastModified": 1683560683, + "narHash": "sha256-XAygPMN5Xnk/W2c1aW0jyEa6lfMDZWlQgiNtmHXytPc=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5", + "rev": "006c75898cf814ef9497252b022e91c946ba8e17", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1682581904, - "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", + "lastModified": 1684102137, + "narHash": "sha256-9CdP1arEvBbgYhK+qZMV2gUeaxmxFkyxLqUKTZR/icw=", "owner": "neovim", "repo": "neovim", - "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", + "rev": "e71c7898ca3cf3af1243227ff3cba526d48897e8", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1682955971, - "narHash": "sha256-6Orm5CIh/Zz3X/RHbMbLnii5jSyEjLxV9KF7lrrI5pA=", + "lastModified": 1684109356, + "narHash": "sha256-0VuNhd246w0bYDzuUj/PrFwCUDFj7yuuWiROsWwqKlk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a9719c5050b1abbb0adada7dd9f98e0cdbd3ed53", + "rev": "3a570284ffb1931a264012a29647ad3705ee632b", "type": "github" }, "original": { @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1683627095, - "narHash": "sha256-8u9SejRpL2TrMuHBdhYh4FKc1OGPDLyWTpIbNTtoHsA=", + "lastModified": 1684102765, + "narHash": "sha256-grK2/2FWEy63YimLk1hL6qKeIzgGdox5Cw0UBDeTBRA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a08e061a4ee8329747d54ddf1566d34c55c895eb", + "rev": "f2e827cbac90dc046f902c96ee9e0da3e45fb452", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1683408522, - "narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=", + "lastModified": 1684049129, + "narHash": "sha256-7WB9LpnPNAS8oI7hMoHeKLNhRX7k3CI9uWBRSfmOCCE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7", + "rev": "0470f36b02ef01d4f43c641bbf07020bcab71bf1", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1682929865, - "narHash": "sha256-jxVrgnf5QNjO+XoxDxUWtN2G5xyJSGZ5SWDQFxMuHxc=", + "lastModified": 1683968890, + "narHash": "sha256-FuNtjMvT07cJydY5NRyRhIni/dEwkSkijmFEdsmqdkA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f2e9a130461950270f87630b11132323706b4d91", + "rev": "ea11a3977f4cba013d8680667616be827c967ac0", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1683627095, - "narHash": "sha256-8u9SejRpL2TrMuHBdhYh4FKc1OGPDLyWTpIbNTtoHsA=", + "lastModified": 1683928319, + "narHash": "sha256-maz0DRKixJVcNRMiAMWlJniiF8IuQ+WbfmlJJ8D+jfM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a08e061a4ee8329747d54ddf1566d34c55c895eb", + "rev": "9656e85a15a0fe67847ee8cdb99a20d8df499962", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1683866302, - "narHash": "sha256-/OE/VFasqc4U41V6mxfgP2y63CFVhOspyDVa6taA2QU=", + "lastModified": 1684132416, + "narHash": "sha256-o0NSL/e4uFSC38wRXFWhgGKaDcr2baG2pvE2uWlVkkI=", "owner": "nix-community", "repo": "NUR", - "rev": "6f8d15ef7a6de53c8b01828113262af48ea0fbcd", + "rev": "e3e76e6f738839784188d6509216b9d9b9098f84", "type": "github" }, "original": { From 66ca6dc5e4d4341ed661748db46d91d455d006fd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 15 May 2023 15:41:55 +0200 Subject: [PATCH 1311/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/252541bd05a7f55f3704a3d014ad1badc1e3360d' (2023-05-10) → 'github:lnl7/nix-darwin/0dbf1c2fb1a5a0372a324eff1ba44f9da66febd2' (2023-05-15) • Updated input 'nur': 'github:nix-community/NUR/e3e76e6f738839784188d6509216b9d9b9098f84' (2023-05-15) → 'github:nix-community/NUR/d0eed7ddc9b8e97cae58f1575715753bea4c649a' (2023-05-15) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 53cc3fa6..998d181a 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1683754942, - "narHash": "sha256-L+Bj8EL4XLmODRIuOkk9sI6FDECVzK+C8jeZFv7q6eY=", + "lastModified": 1684148371, + "narHash": "sha256-CEVaArsziqantqU418XXruNDjPZN/HC3x1rqr2D4g+o=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "252541bd05a7f55f3704a3d014ad1badc1e3360d", + "rev": "0dbf1c2fb1a5a0372a324eff1ba44f9da66febd2", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1684132416, - "narHash": "sha256-o0NSL/e4uFSC38wRXFWhgGKaDcr2baG2pvE2uWlVkkI=", + "lastModified": 1684155595, + "narHash": "sha256-vHan3Q3NFVpOY5+zDnaUAEMNjzZbm4Hrzk6KmrBgdvk=", "owner": "nix-community", "repo": "NUR", - "rev": "e3e76e6f738839784188d6509216b9d9b9098f84", + "rev": "d0eed7ddc9b8e97cae58f1575715753bea4c649a", "type": "github" }, "original": { From cafdf991e9870f69acb2fc310b1b5fa50c3c42fb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 17 May 2023 10:45:27 +0200 Subject: [PATCH 1312/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/3a570284ffb1931a264012a29647ad3705ee632b' (2023-05-15) → 'github:nix-community/neovim-nightly-overlay/cd91a3a1688acc2ab153d86a82ab1ac06a4b6b2a' (2023-05-17) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/e71c7898ca3cf3af1243227ff3cba526d48897e8?dir=contrib' (2023-05-14) → 'github:neovim/neovim/6b19170d44ca56cf65542ee184d2bc89c6d622a9?dir=contrib' (2023-05-16) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/ea11a3977f4cba013d8680667616be827c967ac0' (2023-05-13) → 'github:NixOS/nixpkgs/7e0743a5aea1dc755d4b761daf75b20aa486fdad' (2023-05-16) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9656e85a15a0fe67847ee8cdb99a20d8df499962' (2023-05-12) → 'github:NixOS/nixpkgs/55af203d468a6f5032a519cba4f41acf5a74b638' (2023-05-15) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/f2e827cbac90dc046f902c96ee9e0da3e45fb452' (2023-05-14) → 'github:nixos/nixpkgs/55af203d468a6f5032a519cba4f41acf5a74b638' (2023-05-15) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/0470f36b02ef01d4f43c641bbf07020bcab71bf1' (2023-05-14) → 'github:nixos/nixpkgs/963006aab35e3e8ebbf6052b6bf4ea712fdd3c28' (2023-05-16) • Updated input 'nur': 'github:nix-community/NUR/d0eed7ddc9b8e97cae58f1575715753bea4c649a' (2023-05-15) → 'github:nix-community/NUR/c2c16edecfe057e142b786c0f98a3e627d896608' (2023-05-17) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 998d181a..2e4ea694 100644 --- a/flake.lock +++ b/flake.lock @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684102137, - "narHash": "sha256-9CdP1arEvBbgYhK+qZMV2gUeaxmxFkyxLqUKTZR/icw=", + "lastModified": 1684251707, + "narHash": "sha256-ldXse+DvrDJnlnCJK2e8+RM5ftvk71u2E1aMeY3o/Fc=", "owner": "neovim", "repo": "neovim", - "rev": "e71c7898ca3cf3af1243227ff3cba526d48897e8", + "rev": "6b19170d44ca56cf65542ee184d2bc89c6d622a9", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684109356, - "narHash": "sha256-0VuNhd246w0bYDzuUj/PrFwCUDFj7yuuWiROsWwqKlk=", + "lastModified": 1684281913, + "narHash": "sha256-D3So4+EpcQ7nvqMSFiNbpDhbufCTixe4ZwZsLxEVTjY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3a570284ffb1931a264012a29647ad3705ee632b", + "rev": "cd91a3a1688acc2ab153d86a82ab1ac06a4b6b2a", "type": "github" }, "original": { @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1684102765, - "narHash": "sha256-grK2/2FWEy63YimLk1hL6qKeIzgGdox5Cw0UBDeTBRA=", + "lastModified": 1684171562, + "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f2e827cbac90dc046f902c96ee9e0da3e45fb452", + "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1684049129, - "narHash": "sha256-7WB9LpnPNAS8oI7hMoHeKLNhRX7k3CI9uWBRSfmOCCE=", + "lastModified": 1684215771, + "narHash": "sha256-fsum28z+g18yreNa1Y7MPo9dtps5h1VkHfZbYQ+YPbk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0470f36b02ef01d4f43c641bbf07020bcab71bf1", + "rev": "963006aab35e3e8ebbf6052b6bf4ea712fdd3c28", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1683968890, - "narHash": "sha256-FuNtjMvT07cJydY5NRyRhIni/dEwkSkijmFEdsmqdkA=", + "lastModified": 1684242266, + "narHash": "sha256-uaCQ2k1bmojHKjWQngvnnnxQJMY8zi1zq527HdWgQf8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea11a3977f4cba013d8680667616be827c967ac0", + "rev": "7e0743a5aea1dc755d4b761daf75b20aa486fdad", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1683928319, - "narHash": "sha256-maz0DRKixJVcNRMiAMWlJniiF8IuQ+WbfmlJJ8D+jfM=", + "lastModified": 1684171562, + "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9656e85a15a0fe67847ee8cdb99a20d8df499962", + "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1684155595, - "narHash": "sha256-vHan3Q3NFVpOY5+zDnaUAEMNjzZbm4Hrzk6KmrBgdvk=", + "lastModified": 1684300102, + "narHash": "sha256-M3AT2x7497S/HLwWzoVHE3SIh2zzq+hvA174iGhU7b8=", "owner": "nix-community", "repo": "NUR", - "rev": "d0eed7ddc9b8e97cae58f1575715753bea4c649a", + "rev": "c2c16edecfe057e142b786c0f98a3e627d896608", "type": "github" }, "original": { From badbc2159f647d3d00898ec693297ad4fbdd82e3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 22 May 2023 09:48:49 +0200 Subject: [PATCH 1313/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/0dbf1c2fb1a5a0372a324eff1ba44f9da66febd2' (2023-05-15) → 'github:lnl7/nix-darwin/dfbdabbb3e797334172094d4f6c0ffca8c791281' (2023-05-17) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/cd91a3a1688acc2ab153d86a82ab1ac06a4b6b2a' (2023-05-17) → 'github:nix-community/neovim-nightly-overlay/42f6b13c4989c8242f96c55e5ea17d00301f1e43' (2023-05-22) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/6b19170d44ca56cf65542ee184d2bc89c6d622a9?dir=contrib' (2023-05-16) → 'github:neovim/neovim/8b8e60728486e1fbb308bee2961175be355e550a?dir=contrib' (2023-05-21) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/7e0743a5aea1dc755d4b761daf75b20aa486fdad' (2023-05-16) → 'github:NixOS/nixpkgs/85340996ba67cc02f01ba324e18b1306892ed6f5' (2023-05-21) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/55af203d468a6f5032a519cba4f41acf5a74b638' (2023-05-15) → 'github:NixOS/nixpkgs/7dc71aef32e8faf065cb171700792cf8a65c152d' (2023-05-20) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/55af203d468a6f5032a519cba4f41acf5a74b638' (2023-05-15) → 'github:nixos/nixpkgs/c555a28f2436be370c40df70f4cd6c25fceff7af' (2023-05-19) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/963006aab35e3e8ebbf6052b6bf4ea712fdd3c28' (2023-05-16) → 'github:nixos/nixpkgs/3005f20ce0aaa58169cdee57c8aa12e5f1b6e1b3' (2023-05-20) • Updated input 'nur': 'github:nix-community/NUR/c2c16edecfe057e142b786c0f98a3e627d896608' (2023-05-17) → 'github:nix-community/NUR/979b88f90e6a8c9a52aec5416c007392f3296c81' (2023-05-22) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 2e4ea694..9cecc5e4 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1684148371, - "narHash": "sha256-CEVaArsziqantqU418XXruNDjPZN/HC3x1rqr2D4g+o=", + "lastModified": 1684343812, + "narHash": "sha256-ZTEjiC8PDKeP8JRchuwcFXUNlMcyQ4U+DpyVZ3pB6Q4=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "0dbf1c2fb1a5a0372a324eff1ba44f9da66febd2", + "rev": "dfbdabbb3e797334172094d4f6c0ffca8c791281", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684251707, - "narHash": "sha256-ldXse+DvrDJnlnCJK2e8+RM5ftvk71u2E1aMeY3o/Fc=", + "lastModified": 1684695459, + "narHash": "sha256-nFhbCR840TyNmsQci4SOeHRbXGl2Zehm1ZVuSv5a+bQ=", "owner": "neovim", "repo": "neovim", - "rev": "6b19170d44ca56cf65542ee184d2bc89c6d622a9", + "rev": "8b8e60728486e1fbb308bee2961175be355e550a", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684281913, - "narHash": "sha256-D3So4+EpcQ7nvqMSFiNbpDhbufCTixe4ZwZsLxEVTjY=", + "lastModified": 1684713909, + "narHash": "sha256-19/9/ErSY8wcOLVMT3RolzavfSdPl+D2AjTcXVTFjzA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "cd91a3a1688acc2ab153d86a82ab1ac06a4b6b2a", + "rev": "42f6b13c4989c8242f96c55e5ea17d00301f1e43", "type": "github" }, "original": { @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1684171562, - "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", + "lastModified": 1684522302, + "narHash": "sha256-L7nUSrOYTWvXmIQ8NtVU2/AAah/ouJpf9DDVSt0s9+I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", + "rev": "c555a28f2436be370c40df70f4cd6c25fceff7af", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1684215771, - "narHash": "sha256-fsum28z+g18yreNa1Y7MPo9dtps5h1VkHfZbYQ+YPbk=", + "lastModified": 1684570954, + "narHash": "sha256-FX5y4Sm87RWwfu9PI71XFvuRpZLowh00FQpIJ1WfXqE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "963006aab35e3e8ebbf6052b6bf4ea712fdd3c28", + "rev": "3005f20ce0aaa58169cdee57c8aa12e5f1b6e1b3", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1684242266, - "narHash": "sha256-uaCQ2k1bmojHKjWQngvnnnxQJMY8zi1zq527HdWgQf8=", + "lastModified": 1684668519, + "narHash": "sha256-KkVvlXTqdLLwko9Y0p1Xv6KQ9QTcQorrU098cGilb7c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7e0743a5aea1dc755d4b761daf75b20aa486fdad", + "rev": "85340996ba67cc02f01ba324e18b1306892ed6f5", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1684171562, - "narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=", + "lastModified": 1684580438, + "narHash": "sha256-LUPswmDn6fXP3lEBJFA2Id8PkcYDgzUilevWackYVvQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "55af203d468a6f5032a519cba4f41acf5a74b638", + "rev": "7dc71aef32e8faf065cb171700792cf8a65c152d", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1684300102, - "narHash": "sha256-M3AT2x7497S/HLwWzoVHE3SIh2zzq+hvA174iGhU7b8=", + "lastModified": 1684732585, + "narHash": "sha256-xeTNM8f818YzxzLKEUBi9GGFOHkmifJDDUnuokfzy/I=", "owner": "nix-community", "repo": "NUR", - "rev": "c2c16edecfe057e142b786c0f98a3e627d896608", + "rev": "979b88f90e6a8c9a52aec5416c007392f3296c81", "type": "github" }, "original": { From 96699406450859ab1119ab8b89f36f1c506ddb65 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 22 May 2023 11:55:53 +0200 Subject: [PATCH 1314/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/3005f20ce0aaa58169cdee57c8aa12e5f1b6e1b3' (2023-05-20) → 'github:nixos/nixpkgs/50a183182d7ae39133555414d48d5d609a28a57d' (2023-05-21) • Updated input 'nur': 'github:nix-community/NUR/979b88f90e6a8c9a52aec5416c007392f3296c81' (2023-05-22) → 'github:nix-community/NUR/514585e6daba663fe9e7f511d4d0cb61a63173ce' (2023-05-22) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9cecc5e4..ffa5bc60 100644 --- a/flake.lock +++ b/flake.lock @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1684570954, - "narHash": "sha256-FX5y4Sm87RWwfu9PI71XFvuRpZLowh00FQpIJ1WfXqE=", + "lastModified": 1684662198, + "narHash": "sha256-lmGDGuFONWSoGBKDDhU/6fOhhmFoZQ8rPf+kS7/e/Gs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3005f20ce0aaa58169cdee57c8aa12e5f1b6e1b3", + "rev": "50a183182d7ae39133555414d48d5d609a28a57d", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1684732585, - "narHash": "sha256-xeTNM8f818YzxzLKEUBi9GGFOHkmifJDDUnuokfzy/I=", + "lastModified": 1684744323, + "narHash": "sha256-qv0LR5mQuoywkc77laylJ/sGdRxZ72kOxVcDdqDvzyw=", "owner": "nix-community", "repo": "NUR", - "rev": "979b88f90e6a8c9a52aec5416c007392f3296c81", + "rev": "514585e6daba663fe9e7f511d4d0cb61a63173ce", "type": "github" }, "original": { From 64a1e98d0a5f42002f54d96135f67ee7a963eed6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 23 May 2023 09:53:48 +0200 Subject: [PATCH 1315/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/dfbdabbb3e797334172094d4f6c0ffca8c791281' (2023-05-17) → 'github:lnl7/nix-darwin/b8c286c82c6b47826a6c0377e7017052ad91353c' (2023-05-22) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/42f6b13c4989c8242f96c55e5ea17d00301f1e43' (2023-05-22) → 'github:nix-community/neovim-nightly-overlay/1d9dcda97f8d16214821ace2cf92f61f1cc348c3' (2023-05-23) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/8b8e60728486e1fbb308bee2961175be355e550a?dir=contrib' (2023-05-21) → 'github:neovim/neovim/07883940b2294e0ab32fb58e6624d18d9dd1715a?dir=contrib' (2023-05-22) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/85340996ba67cc02f01ba324e18b1306892ed6f5' (2023-05-21) → 'github:NixOS/nixpkgs/b31c968ff28927d477eed85012e8090578c70852' (2023-05-22) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/c555a28f2436be370c40df70f4cd6c25fceff7af' (2023-05-19) → 'github:nixos/nixpkgs/ee8ff6fc895744913048a47f0ef014f8bc4f3e0e' (2023-05-22) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/50a183182d7ae39133555414d48d5d609a28a57d' (2023-05-21) → 'github:nixos/nixpkgs/7084250df3d7f9735087d3234407f3c1fc2400e3' (2023-05-22) • Updated input 'nur': 'github:nix-community/NUR/514585e6daba663fe9e7f511d4d0cb61a63173ce' (2023-05-22) → 'github:nix-community/NUR/d4f6656104ef49b0eeb3c9dd6cb87773904375e7' (2023-05-23) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index ffa5bc60..b775311b 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1684343812, - "narHash": "sha256-ZTEjiC8PDKeP8JRchuwcFXUNlMcyQ4U+DpyVZ3pB6Q4=", + "lastModified": 1684774948, + "narHash": "sha256-hJTaw4dYzcB+lsasKejnafq0CxPsVetn9RLXrcL+4jE=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "dfbdabbb3e797334172094d4f6c0ffca8c791281", + "rev": "b8c286c82c6b47826a6c0377e7017052ad91353c", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684695459, - "narHash": "sha256-nFhbCR840TyNmsQci4SOeHRbXGl2Zehm1ZVuSv5a+bQ=", + "lastModified": 1684757802, + "narHash": "sha256-Uo8HJ5j33mzgfrpK2zo0N/vgzTFG8KhMBE4+M1C9oCo=", "owner": "neovim", "repo": "neovim", - "rev": "8b8e60728486e1fbb308bee2961175be355e550a", + "rev": "07883940b2294e0ab32fb58e6624d18d9dd1715a", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684713909, - "narHash": "sha256-19/9/ErSY8wcOLVMT3RolzavfSdPl+D2AjTcXVTFjzA=", + "lastModified": 1684800319, + "narHash": "sha256-cyR9g1WSX1WCPGOgL/JXjzwir0Db7k9WMWfwuMgMl5w=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "42f6b13c4989c8242f96c55e5ea17d00301f1e43", + "rev": "1d9dcda97f8d16214821ace2cf92f61f1cc348c3", "type": "github" }, "original": { @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1684522302, - "narHash": "sha256-L7nUSrOYTWvXmIQ8NtVU2/AAah/ouJpf9DDVSt0s9+I=", + "lastModified": 1684749638, + "narHash": "sha256-Xg7whro2kCsJ+HYqYnJ2FsybCNqKFoOtMuuiaOWyfqc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c555a28f2436be370c40df70f4cd6c25fceff7af", + "rev": "ee8ff6fc895744913048a47f0ef014f8bc4f3e0e", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1684662198, - "narHash": "sha256-lmGDGuFONWSoGBKDDhU/6fOhhmFoZQ8rPf+kS7/e/Gs=", + "lastModified": 1684754342, + "narHash": "sha256-plGnjnbnPLoZCTdQX21oT7xliQhFtgcWlkuDHgtEb1o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "50a183182d7ae39133555414d48d5d609a28a57d", + "rev": "7084250df3d7f9735087d3234407f3c1fc2400e3", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1684668519, - "narHash": "sha256-KkVvlXTqdLLwko9Y0p1Xv6KQ9QTcQorrU098cGilb7c=", + "lastModified": 1684724044, + "narHash": "sha256-OysG4ORx60BcUyBVClbOBVybqZ4Ep8Xh8EIDvNam4WU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "85340996ba67cc02f01ba324e18b1306892ed6f5", + "rev": "b31c968ff28927d477eed85012e8090578c70852", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1684744323, - "narHash": "sha256-qv0LR5mQuoywkc77laylJ/sGdRxZ72kOxVcDdqDvzyw=", + "lastModified": 1684824758, + "narHash": "sha256-XsjaDug+5cUaUQ1xHgc2jhS1w0V4HBY8UfVgs+jpFgg=", "owner": "nix-community", "repo": "NUR", - "rev": "514585e6daba663fe9e7f511d4d0cb61a63173ce", + "rev": "d4f6656104ef49b0eeb3c9dd6cb87773904375e7", "type": "github" }, "original": { From 32b8d76edac5f907ad094961414ae93095e08d25 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 23 May 2023 14:00:43 +0200 Subject: [PATCH 1316/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/7dc71aef32e8faf065cb171700792cf8a65c152d' (2023-05-20) → 'github:NixOS/nixpkgs/b0671cbf1e5c443f7fbfd4941ee0f8a151435114' (2023-05-21) • Updated input 'nur': 'github:nix-community/NUR/d4f6656104ef49b0eeb3c9dd6cb87773904375e7' (2023-05-23) → 'github:nix-community/NUR/463cb21e8cad969a6b44de48e72dd71f0a470b5a' (2023-05-23) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index b775311b..d65c409c 100644 --- a/flake.lock +++ b/flake.lock @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1684580438, - "narHash": "sha256-LUPswmDn6fXP3lEBJFA2Id8PkcYDgzUilevWackYVvQ=", + "lastModified": 1684661732, + "narHash": "sha256-2/Xo/UmUUoMXc0T5tzoUsYjMLLMjEfzRWDAQB0WwtW0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7dc71aef32e8faf065cb171700792cf8a65c152d", + "rev": "b0671cbf1e5c443f7fbfd4941ee0f8a151435114", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1684824758, - "narHash": "sha256-XsjaDug+5cUaUQ1xHgc2jhS1w0V4HBY8UfVgs+jpFgg=", + "lastModified": 1684839778, + "narHash": "sha256-x4R8ZPNKk69TxpwElCEZU25AouDvRfHts9nkbabsRdk=", "owner": "nix-community", "repo": "NUR", - "rev": "d4f6656104ef49b0eeb3c9dd6cb87773904375e7", + "rev": "463cb21e8cad969a6b44de48e72dd71f0a470b5a", "type": "github" }, "original": { From f1b45056f0e639532b317580f3e4459c67cde858 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 23 May 2023 14:06:43 +0200 Subject: [PATCH 1317/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 93 ++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 47 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 35bb1040..04234171 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { - "LazyVim": { "branch": "main", "commit": "25d37a2cdd6202f1d767595454a7f84f77bbd83e" }, - "LuaSnip": { "branch": "master", "commit": "b4bc24c4925aeb05fd47d2ee9b24b7f73f5d7e32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "b8e6c7d966857e8ff14d9b6a23eec9214d99db32" }, + "LazyVim": { "branch": "main", "commit": "5559228300f305511135580e3df7f565d25c1190" }, + "LuaSnip": { "branch": "master", "commit": "fcdaa4313305fe20d928551134c1ec2266e7af2a" }, + "SchemaStore.nvim": { "branch": "main", "commit": "15f37630d3abfb98607dd8e4625b731a8558b96d" }, "alpha-nvim": { "branch": "main", "commit": "1838ae926e8d49fe5330d1498ee8289ae2c340bc" }, - "bufferline.nvim": { "branch": "main", "commit": "018bdf61a97e00caeff05d16977437c63018762e" }, - "catppuccin": { "branch": "main", "commit": "a6274e78ac59224809147da229ff4e54b0d18f3b" }, + "bufferline.nvim": { "branch": "main", "commit": "32d74d5d044f7cc89892d4781a83d55ee4ed552a" }, + "catppuccin": { "branch": "main", "commit": "cc517bdcb66a0f8dee90bab10ccdd651fa967bbe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -14,79 +14,78 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, - "diffview.nvim": { "branch": "main", "commit": "8c1702470fd5186cb401b21f9bf8bdfad6d5cc87" }, - "dressing.nvim": { "branch": "master", "commit": "540d6e7115fb32b5035ddaf0c1a26cbffb855dac" }, + "diffview.nvim": { "branch": "main", "commit": "15861892ce62d8f4ab6e72bc4ff5b829f994430a" }, + "dressing.nvim": { "branch": "master", "commit": "2f17eee4d7709dacfad2a28f35e2acfe9a6cb09d" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "10f741908e56ce47cf6b3440e3f04b4fdc0da2f2" }, - "gitsigns.nvim": { "branch": "main", "commit": "e5edefd9976039f5352e0c900f35206770b33a2d" }, - "gx.nvim": { "branch": "main", "commit": "8d16f2372dcfc0b15d0b4a3fcc0e3d75a6f160f9" }, + "friendly-snippets": { "branch": "main", "commit": "ef6547d2f586e08e071efeebac835e545f3015cc" }, + "gitsigns.nvim": { "branch": "main", "commit": "c18b7ca0b5b50596722f3a1572eb9b8eb520c0f1" }, + "gx.nvim": { "branch": "main", "commit": "a7cb094499907b3561aa6e135240dccbd89ed8a8" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, - "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "51a3873ccd59239e4dff3319561d51031f4b52d2" }, - "leap.nvim": { "branch": "main", "commit": "6f2912755c9c4ae790abd829f0cf1b07c037b2a4" }, + "indent-blankline.nvim": { "branch": "master", "commit": "86d1b71c5c26168c3a3a9ff5f69e833889a09c1d" }, + "lazy.nvim": { "branch": "main", "commit": "761b8388af5bcb451e30d886163fcd129278e1d1" }, + "leap.nvim": { "branch": "main", "commit": "2950d4826fb92ec3b56c59b5d4f2d575a84cb3fa" }, "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "90a8bbf106b85b76951a34c542058ffa807de2b1" }, - "mason.nvim": { "branch": "main", "commit": "a51391311e86c295fc7611be2beb58859e93f21b" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "c55d18f3947562e699d34d89681edbf9f0e250d3" }, + "mason.nvim": { "branch": "main", "commit": "08b2fd308e0107eab9f0b59d570b69089fd0b522" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "aea7f12818a621f1d6f742a50b33e65e0bb82a2e" }, + "mini.ai": { "branch": "main", "commit": "44d7df1340b16b16b27b67fba07028cb57f45408" }, "mini.animate": { "branch": "main", "commit": "58226f659c43a9dd340fbe2f864c169f7e1e9b0d" }, "mini.bracketed": { "branch": "main", "commit": "4d5d8d8cfadb82b4e2d9196da2ecd5cd938a9c48" }, "mini.bufremove": { "branch": "main", "commit": "14805473144fffbd019d07e51bed2d176e065ee9" }, - "mini.comment": { "branch": "main", "commit": "f5426fb8ba25b089432319372d5660c416346576" }, + "mini.comment": { "branch": "main", "commit": "40c1172c9ddb55b30dfaf7dad9f7663cb6bb438e" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, "mini.surround": { "branch": "main", "commit": "ea2e9c4cdbddc826dc6eeac69b035f8220f65de5" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "8a600830a358639b0e630fa424d668e095901231" }, - "neoconf.nvim": { "branch": "main", "commit": "6086792a14a4490b227075a847f4226c07ed7eac" }, - "neodev.nvim": { "branch": "main", "commit": "6498a07601702349c31909005bb333003e4687d4" }, - "neogen": { "branch": "main", "commit": "c0fd3dc9e7cc91181ea5a345c4b01c865626c81e" }, - "neogit": { "branch": "master", "commit": "917fb24c9b7e0506ebfa94ccdbeaaea5eff2f916" }, - "neorg": { "branch": "main", "commit": "5de014e7cc3dc6eed0a62854fe8ba58f664d97ea" }, - "noice.nvim": { "branch": "main", "commit": "13c3b39e43fbd0f50dac608fdbda230dec69f1d1" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "e5594d53986b34e584e8afe2ea6ad99d6f6d2105" }, + "neoconf.nvim": { "branch": "main", "commit": "bbf98ce53481e6e8d6507de5a6f18d3264fb0df7" }, + "neodev.nvim": { "branch": "main", "commit": "2daabebac1b0b2ab7abba298c1a8f07a542866a6" }, + "neogen": { "branch": "main", "commit": "de603d2f83a8eea7d799cc3e7a61ae02eb192110" }, + "neogit": { "branch": "master", "commit": "2a7f71a917d206f93306710a451dde1c0f15701d" }, + "neorg": { "branch": "main", "commit": "c23310083857d30b27db821a41fbeeba0a7bd5c1" }, + "noice.nvim": { "branch": "main", "commit": "f5178da0097e964b37951a0ebc078fdcc14280f3" }, "nui.nvim": { "branch": "main", "commit": "698e75814cd7c56b0dd8af4936bcef2d13807f3c" }, - "null-ls.nvim": { "branch": "main", "commit": "71797bb303ac99a4435592e15068f127970513d7" }, - "nvim-cmp": { "branch": "main", "commit": "935b4069ce73b60ba9075bf05ee6ab50ed3af1a9" }, + "null-ls.nvim": { "branch": "main", "commit": "77e53bc3bac34cc273be8ed9eb9ab78bcf67fa48" }, + "nvim-cmp": { "branch": "main", "commit": "3ac8d6cd29c74ff482d8ea47d45e5081bfc3f5ad" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "f9be670aa1f0fc250f4db7713e9a4fa72e525d22" }, + "nvim-lspconfig": { "branch": "master", "commit": "1c13e529bd5683b54a39b633a560d2f00fcb25af" }, "nvim-navic": { "branch": "master", "commit": "15704c607569d6c5cfeab486d3ef9459645a70ce" }, - "nvim-notify": { "branch": "master", "commit": "159c6cf1be25a933f35e97499314c9faab55c98f" }, + "nvim-notify": { "branch": "master", "commit": "f3024b912073774111202f5fa6518b0cd2a74432" }, "nvim-scrollbar": { "branch": "main", "commit": "f3a5469e9881360e70d34b25333c910ee4a505f3" }, - "nvim-spectre": { "branch": "master", "commit": "46b9883c0760db6547f152dc97a651611ba6486d" }, - "nvim-spider": { "branch": "main", "commit": "23fa1260be2090f2d675ee90e0b83fd993f6c3dc" }, + "nvim-spectre": { "branch": "master", "commit": "1abe23ec9b7bc3082164f4cb842d521ef70e080e" }, + "nvim-spider": { "branch": "main", "commit": "1aa7054a1b8b7c3605839603c6015c8c7446d8a2" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "6e8ad92031ff3b07db8980ab4a5491d1c40398ea" }, - "nvim-treesitter-context": { "branch": "master", "commit": "f1179bde94bcbeed68be33e694079afb71d49cac" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "35a60f093fa15a303874975f963428a5cd24e4a0" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, + "nvim-treesitter": { "branch": "master", "commit": "f2778bd1a28b74adf5b1aa51aa57da85adfa3d16" }, + "nvim-treesitter-context": { "branch": "master", "commit": "c8f3a62c64bf6f9fed11260a424207f780505f83" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "9c5237bab44a269677698245a30c7f0d669a8e7e" }, "nvim-ufo": { "branch": "main", "commit": "45aede6f5c4981156df3ddeeae01c4290e43e104" }, - "nvim-web-devicons": { "branch": "master", "commit": "986875b7364095d6535e28bd4aac3a9357e91bbe" }, - "octo.nvim": { "branch": "master", "commit": "66c0fe4256c4ed1c9f79977ee961d38cedf7d6c6" }, + "nvim-web-devicons": { "branch": "master", "commit": "e283ab937e0197b37ec5d8013e49495193407324" }, + "octo.nvim": { "branch": "master", "commit": "1c9a79412a1d92dd3c5a601e2261c158ebb4d4bd" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, - "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" }, + "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, "plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "47a1716a9020c0093a1c8af36c3f9434dae62bbd" }, + "refactoring.nvim": { "branch": "master", "commit": "6d2b06e5d46f08ad928c06c0e4a87e06f71e8d0f" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "58d0d12191adee41fce7ef20d46d1203efa0d11e" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "d77b37f4520e5fc2cf4c74c12e42ed4b589bd367" }, - "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" }, - "tokyonight.nvim": { "branch": "main", "commit": "df13e3268a44f142999fa166572fe95a650a0b37" }, - "trouble.nvim": { "branch": "main", "commit": "d56bfc0c501ced4002a57cb60433362fb2ce9c4d" }, - "twilight.nvim": { "branch": "main", "commit": "2e13bd1886562b737f38c418ed542677b41ef5cb" }, + "telescope.nvim": { "branch": "master", "commit": "40c31fdde93bcd85aeb3447bb3e2a3208395a868" }, + "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, + "tokyonight.nvim": { "branch": "main", "commit": "6972aade12a9c6ecbbd163739d7617c21fc6bc4b" }, + "trouble.nvim": { "branch": "main", "commit": "5da13b5007eb2b952834186cd640a22c765b64cf" }, + "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "6c8909b682803d8c3a054259079f158a73a0e30f" }, + "vim-matchup": { "branch": "master", "commit": "b8eca3b588e41e0bb1b3ae200fae88183b91a76d" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "01b67169c3ebe41f163c07bf6853555ca19bc27f" }, - "which-key.nvim": { "branch": "main", "commit": "af8f26bfbb61b5f722c9fbc72b296dc9db0bcfdc" }, + "vim-startuptime": { "branch": "master", "commit": "5ddaf24df23f4d151970987c1322eaa247f08e69" }, + "which-key.nvim": { "branch": "main", "commit": "e271c28118998c93a14d189af3395812a1aa646c" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "zen-mode.nvim": { "branch": "main", "commit": "6e6c963d70a8e47854fa656987666bfb863f9c4e" } + "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } } \ No newline at end of file From 3d56822ff53559e143dc339066ca8573330f40a3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 23 May 2023 14:06:48 +0200 Subject: [PATCH 1318/2080] fish: disable setting CC. --- modules/home/fish/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index aebe17c5..798f8551 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -132,7 +132,7 @@ in # set -gx COMPILER clang++ # Use gcc12 from homebrew to build neorg treesitter - set -gx CC /usr/local/bin/gcc-12 + # set -gx CC /usr/local/bin/gcc-12 # XXX: not working # Use clang++ from system with recent C++ version to build neorg treesitter From 667a050d8578b855edcd9284f4a6c8636d2b4af8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 23 May 2023 14:07:20 +0200 Subject: [PATCH 1319/2080] brew: disable installing custom gcc --- machines/Baptistes-MBP/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 3670e2f6..3ef27a16 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -15,7 +15,7 @@ # XXX: for building norg-treesitter on macOS # https://github.com/nvim-neorg/tree-sitter-norg/issues/7 - "gcc@12" + # "gcc@12" # XXX: install from pkgs does not work "checkmake" From 252dd869c00317fbd10a1c4bee4df57a1bb233e8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 23 May 2023 14:07:41 +0200 Subject: [PATCH 1320/2080] neog: testing building neorg using clang from system on macos --- lazyvim/nvim/lua/plugins/neorg.lua | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/neorg.lua b/lazyvim/nvim/lua/plugins/neorg.lua index b21072c3..c0510625 100644 --- a/lazyvim/nvim/lua/plugins/neorg.lua +++ b/lazyvim/nvim/lua/plugins/neorg.lua @@ -4,11 +4,38 @@ return { -- Bindings: ~/.local/share/nvim/lazy/neorg/lua/neorg/modules/core/keybinds/keybinds.lua -- XXX: issues with building treesitter extension on macos -- https://github.com/nvim-neorg/tree-sitter-norg/issues/7 - -- CC="/usr/bin/clang++ -std=c++17" nvim -c "TSInstallSync norg" { "nvim-neorg/neorg", -- lazy-load on filetype ft = "norg", + -- XXX: fix build on macos + -- https://github.com/nvim-neorg/tree-sitter-norg/issues/7#issuecomment-1542743399 + -- Run using :Lazy build neorg + build = function() + local shell = require("nvim-treesitter.shell_command_selectors") + local install = require("nvim-treesitter.install") + + -- save the original functions + local select_executable = shell.select_executable + local compilers = install.compilers + + -- temporarily patch treesitter install logic + local cc = "clang++ -std=c++11" + ---@diagnostic disable-next-line: duplicate-set-field + function shell.select_executable(executables) + return vim.tbl_filter(function(c) ---@param c string + return c ~= vim.NIL and (vim.fn.executable(c) == 1 or c == cc) + end, executables)[1] + end + install.compilers = { cc } + + -- install norg parsers + install.commands.TSInstallSync["run!"]("norg") -- or vim.cmd [[ :TSInstallSync! norg ]] + + -- restore the defaults back + shell.select_executable = select_executable + install.compilers = compilers + end, opts = { load = { -- Load default modules From 78868aad41fa25ba39b6314e57b66a11db0346e2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 23 May 2023 14:09:01 +0200 Subject: [PATCH 1321/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 04234171..bd788c12 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -59,6 +59,7 @@ "nvim-treesitter": { "branch": "master", "commit": "f2778bd1a28b74adf5b1aa51aa57da85adfa3d16" }, "nvim-treesitter-context": { "branch": "master", "commit": "c8f3a62c64bf6f9fed11260a424207f780505f83" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "9c5237bab44a269677698245a30c7f0d669a8e7e" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "45aede6f5c4981156df3ddeeae01c4290e43e104" }, "nvim-web-devicons": { "branch": "master", "commit": "e283ab937e0197b37ec5d8013e49495193407324" }, "octo.nvim": { "branch": "master", "commit": "1c9a79412a1d92dd3c5a601e2261c158ebb4d4bd" }, From 584f1c115dd55360ab997d90b8e48df77b873793 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 24 May 2023 08:54:38 +0200 Subject: [PATCH 1322/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/1d9dcda97f8d16214821ace2cf92f61f1cc348c3' (2023-05-23) → 'github:nix-community/neovim-nightly-overlay/42f2176d7b3a3b57398f22fee2490c61ba65bd5d' (2023-05-24) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/07883940b2294e0ab32fb58e6624d18d9dd1715a?dir=contrib' (2023-05-22) → 'github:neovim/neovim/6661cdf2bdfc2a9cd9805c7afd6d6ae556a50126?dir=contrib' (2023-05-23) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/b31c968ff28927d477eed85012e8090578c70852' (2023-05-22) → 'github:NixOS/nixpkgs/c7eb65213bd7d95eafb8c5e2e181f04da103d054' (2023-05-22) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/ee8ff6fc895744913048a47f0ef014f8bc4f3e0e' (2023-05-22) → 'github:nixos/nixpkgs/a17f99dfcb9643200b3884ca195c69ae41d7f059' (2023-05-23) • Updated input 'nur': 'github:nix-community/NUR/463cb21e8cad969a6b44de48e72dd71f0a470b5a' (2023-05-23) → 'github:nix-community/NUR/a399b093e7dfaed4f71730738db6f2ffe4ecb3bb' (2023-05-24) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index d65c409c..29cf769b 100644 --- a/flake.lock +++ b/flake.lock @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684757802, - "narHash": "sha256-Uo8HJ5j33mzgfrpK2zo0N/vgzTFG8KhMBE4+M1C9oCo=", + "lastModified": 1684883371, + "narHash": "sha256-ZcMpFoNUP0XTDeFpfbzuJFkMa6L60g53QlsiFEU8nZk=", "owner": "neovim", "repo": "neovim", - "rev": "07883940b2294e0ab32fb58e6624d18d9dd1715a", + "rev": "6661cdf2bdfc2a9cd9805c7afd6d6ae556a50126", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684800319, - "narHash": "sha256-cyR9g1WSX1WCPGOgL/JXjzwir0Db7k9WMWfwuMgMl5w=", + "lastModified": 1684887150, + "narHash": "sha256-11l0AZN9xS8QjenWSFfFUcXhWK5yFicSnObc8DmsMfo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "1d9dcda97f8d16214821ace2cf92f61f1cc348c3", + "rev": "42f2176d7b3a3b57398f22fee2490c61ba65bd5d", "type": "github" }, "original": { @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1684749638, - "narHash": "sha256-Xg7whro2kCsJ+HYqYnJ2FsybCNqKFoOtMuuiaOWyfqc=", + "lastModified": 1684858140, + "narHash": "sha256-dQStox5GYrVlVNMvxxXs3xX9bXG7J7ttSjqUcVm8EaA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ee8ff6fc895744913048a47f0ef014f8bc4f3e0e", + "rev": "a17f99dfcb9643200b3884ca195c69ae41d7f059", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1684724044, - "narHash": "sha256-OysG4ORx60BcUyBVClbOBVybqZ4Ep8Xh8EIDvNam4WU=", + "lastModified": 1684759798, + "narHash": "sha256-Kpbf5yKvKcj/yPqE1zYC6gju4JwTsYxTIZEvOII0jr4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b31c968ff28927d477eed85012e8090578c70852", + "rev": "c7eb65213bd7d95eafb8c5e2e181f04da103d054", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1684839778, - "narHash": "sha256-x4R8ZPNKk69TxpwElCEZU25AouDvRfHts9nkbabsRdk=", + "lastModified": 1684910683, + "narHash": "sha256-Y1ir9at2RHF3tVzx6oYZzNEwnNYvP15iotKTMoq55mk=", "owner": "nix-community", "repo": "NUR", - "rev": "463cb21e8cad969a6b44de48e72dd71f0a470b5a", + "rev": "a399b093e7dfaed4f71730738db6f2ffe4ecb3bb", "type": "github" }, "original": { From 786c4329907b9b3f232fa9431f7f56dee9d44a02 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 24 May 2023 14:34:32 +0200 Subject: [PATCH 1323/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/b0671cbf1e5c443f7fbfd4941ee0f8a151435114' (2023-05-21) → 'github:NixOS/nixpkgs/a17f99dfcb9643200b3884ca195c69ae41d7f059' (2023-05-23) • Updated input 'nur': 'github:nix-community/NUR/a399b093e7dfaed4f71730738db6f2ffe4ecb3bb' (2023-05-24) → 'github:nix-community/NUR/9cacf444463dc574f0e9f6c0bc748f939b34a958' (2023-05-24) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 29cf769b..e8577738 100644 --- a/flake.lock +++ b/flake.lock @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1684661732, - "narHash": "sha256-2/Xo/UmUUoMXc0T5tzoUsYjMLLMjEfzRWDAQB0WwtW0=", + "lastModified": 1684858140, + "narHash": "sha256-dQStox5GYrVlVNMvxxXs3xX9bXG7J7ttSjqUcVm8EaA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b0671cbf1e5c443f7fbfd4941ee0f8a151435114", + "rev": "a17f99dfcb9643200b3884ca195c69ae41d7f059", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1684910683, - "narHash": "sha256-Y1ir9at2RHF3tVzx6oYZzNEwnNYvP15iotKTMoq55mk=", + "lastModified": 1684921791, + "narHash": "sha256-H0zNiMCtAUnRHyo06OaCpZEoP95WlEKVp+hpELTJXw0=", "owner": "nix-community", "repo": "NUR", - "rev": "a399b093e7dfaed4f71730738db6f2ffe4ecb3bb", + "rev": "9cacf444463dc574f0e9f6c0bc748f939b34a958", "type": "github" }, "original": { From b71abb484b58a3f9cf8950daca414d4e61a56b69 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 25 May 2023 08:59:28 +0200 Subject: [PATCH 1324/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/42f2176d7b3a3b57398f22fee2490c61ba65bd5d' (2023-05-24) → 'github:nix-community/neovim-nightly-overlay/ec6f384b5b8ab31f310ca761adc3a80957b06169' (2023-05-25) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/6661cdf2bdfc2a9cd9805c7afd6d6ae556a50126?dir=contrib' (2023-05-23) → 'github:neovim/neovim/ebb10d624825468c1f75bd14725cce500974b673?dir=contrib' (2023-05-24) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/c7eb65213bd7d95eafb8c5e2e181f04da103d054' (2023-05-22) → 'github:NixOS/nixpkgs/87f9156865ab09e3bde39aadb4131ae364ae704e' (2023-05-24) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a17f99dfcb9643200b3884ca195c69ae41d7f059' (2023-05-23) → 'github:NixOS/nixpkgs/99fe1b870522d6ee3e692c2b6e663d6868a3fde4' (2023-05-24) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/7084250df3d7f9735087d3234407f3c1fc2400e3' (2023-05-22) → 'github:nixos/nixpkgs/f91ee3065de91a3531329a674a45ddcb3467a650' (2023-05-24) • Updated input 'nur': 'github:nix-community/NUR/9cacf444463dc574f0e9f6c0bc748f939b34a958' (2023-05-24) → 'github:nix-community/NUR/c4e46e935ba827acf70979c5e02a8431cf14cc5a' (2023-05-24) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index e8577738..ce286c1f 100644 --- a/flake.lock +++ b/flake.lock @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684883371, - "narHash": "sha256-ZcMpFoNUP0XTDeFpfbzuJFkMa6L60g53QlsiFEU8nZk=", + "lastModified": 1684955687, + "narHash": "sha256-6xjWuJE1yNiNvRHOsrYPvm2XQTx01yklpJnz0uBLnlQ=", "owner": "neovim", "repo": "neovim", - "rev": "6661cdf2bdfc2a9cd9805c7afd6d6ae556a50126", + "rev": "ebb10d624825468c1f75bd14725cce500974b673", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684887150, - "narHash": "sha256-11l0AZN9xS8QjenWSFfFUcXhWK5yFicSnObc8DmsMfo=", + "lastModified": 1684973471, + "narHash": "sha256-ss8bt/Uxkhdy3t3FvXxqMA623jrCEhQNsx0K+o8OaqQ=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "42f2176d7b3a3b57398f22fee2490c61ba65bd5d", + "rev": "ec6f384b5b8ab31f310ca761adc3a80957b06169", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1684754342, - "narHash": "sha256-plGnjnbnPLoZCTdQX21oT7xliQhFtgcWlkuDHgtEb1o=", + "lastModified": 1684935479, + "narHash": "sha256-6QMMsXMr2nhmOPHdti2j3KRHt+bai2zw+LJfdCl97Mk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7084250df3d7f9735087d3234407f3c1fc2400e3", + "rev": "f91ee3065de91a3531329a674a45ddcb3467a650", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1684759798, - "narHash": "sha256-Kpbf5yKvKcj/yPqE1zYC6gju4JwTsYxTIZEvOII0jr4=", + "lastModified": 1684911969, + "narHash": "sha256-j2tz1P2rA3d1WYHk8+1WbYDIJO33BqW1EfQSvi+/O8s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c7eb65213bd7d95eafb8c5e2e181f04da103d054", + "rev": "87f9156865ab09e3bde39aadb4131ae364ae704e", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1684858140, - "narHash": "sha256-dQStox5GYrVlVNMvxxXs3xX9bXG7J7ttSjqUcVm8EaA=", + "lastModified": 1684936879, + "narHash": "sha256-BOSq/QiX7MDs8tUnAt4+nYTJctgYkzVSNL95qlfMYeM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a17f99dfcb9643200b3884ca195c69ae41d7f059", + "rev": "99fe1b870522d6ee3e692c2b6e663d6868a3fde4", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1684921791, - "narHash": "sha256-H0zNiMCtAUnRHyo06OaCpZEoP95WlEKVp+hpELTJXw0=", + "lastModified": 1684959207, + "narHash": "sha256-lROs3YxWZDGeEPrcv0AYEfyps+gSW01E/VoTkmHU768=", "owner": "nix-community", "repo": "NUR", - "rev": "9cacf444463dc574f0e9f6c0bc748f939b34a958", + "rev": "c4e46e935ba827acf70979c5e02a8431cf14cc5a", "type": "github" }, "original": { From f5ecb31b9f30f19a226679ca9078b84740cc9dec Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 26 May 2023 08:59:34 +0200 Subject: [PATCH 1325/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/ec6f384b5b8ab31f310ca761adc3a80957b06169' (2023-05-25) → 'github:nix-community/neovim-nightly-overlay/b161733a76eebbae843d57be2048834f0de7569c' (2023-05-26) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/ebb10d624825468c1f75bd14725cce500974b673?dir=contrib' (2023-05-24) → 'github:neovim/neovim/f733595e795cd2b819cb8fd18327cd51f47b2124?dir=contrib' (2023-05-26) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/87f9156865ab09e3bde39aadb4131ae364ae704e' (2023-05-24) → 'github:NixOS/nixpkgs/21eb6c6ba74dcbe3ea5926ee46287300fb066630' (2023-05-25) • Updated input 'nur': 'github:nix-community/NUR/c4e46e935ba827acf70979c5e02a8431cf14cc5a' (2023-05-24) → 'github:nix-community/NUR/6caf1df8f14553fa9295412c13776fb83e56bd4f' (2023-05-26) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index ce286c1f..569d6bb7 100644 --- a/flake.lock +++ b/flake.lock @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1684955687, - "narHash": "sha256-6xjWuJE1yNiNvRHOsrYPvm2XQTx01yklpJnz0uBLnlQ=", + "lastModified": 1685059698, + "narHash": "sha256-M5j/pvDaDOCveFPFQsrOMlqx87eDK9t2hNa4wZK8A0k=", "owner": "neovim", "repo": "neovim", - "rev": "ebb10d624825468c1f75bd14725cce500974b673", + "rev": "f733595e795cd2b819cb8fd18327cd51f47b2124", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1684973471, - "narHash": "sha256-ss8bt/Uxkhdy3t3FvXxqMA623jrCEhQNsx0K+o8OaqQ=", + "lastModified": 1685063967, + "narHash": "sha256-wimaBBsvUffEYUNzmMe1+yS6zzAnzf3Aqi02CFrzv/M=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ec6f384b5b8ab31f310ca761adc3a80957b06169", + "rev": "b161733a76eebbae843d57be2048834f0de7569c", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1684911969, - "narHash": "sha256-j2tz1P2rA3d1WYHk8+1WbYDIJO33BqW1EfQSvi+/O8s=", + "lastModified": 1684973047, + "narHash": "sha256-ZLnSr35L6C49pCZS9fZCCqkIKNAeQzykov2QfosNG9w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "87f9156865ab09e3bde39aadb4131ae364ae704e", + "rev": "21eb6c6ba74dcbe3ea5926ee46287300fb066630", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1684959207, - "narHash": "sha256-lROs3YxWZDGeEPrcv0AYEfyps+gSW01E/VoTkmHU768=", + "lastModified": 1685082753, + "narHash": "sha256-T/EZZ12KLCV+DmTSOAZElNqIv37EGsXsrYsppSYakKY=", "owner": "nix-community", "repo": "NUR", - "rev": "c4e46e935ba827acf70979c5e02a8431cf14cc5a", + "rev": "6caf1df8f14553fa9295412c13776fb83e56bd4f", "type": "github" }, "original": { From af199f65d180964d1b9758f9c7ee683a559cbc97 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 26 May 2023 09:07:00 +0200 Subject: [PATCH 1326/2080] neorg: build on macos is now fixed. --- lazyvim/nvim/lua/plugins/neorg.lua | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/neorg.lua b/lazyvim/nvim/lua/plugins/neorg.lua index c0510625..70464c8e 100644 --- a/lazyvim/nvim/lua/plugins/neorg.lua +++ b/lazyvim/nvim/lua/plugins/neorg.lua @@ -2,40 +2,10 @@ return { -- neorg, org-mode like -- https://github.com/nvim-neorg/neorg -- Bindings: ~/.local/share/nvim/lazy/neorg/lua/neorg/modules/core/keybinds/keybinds.lua - -- XXX: issues with building treesitter extension on macos - -- https://github.com/nvim-neorg/tree-sitter-norg/issues/7 { "nvim-neorg/neorg", -- lazy-load on filetype ft = "norg", - -- XXX: fix build on macos - -- https://github.com/nvim-neorg/tree-sitter-norg/issues/7#issuecomment-1542743399 - -- Run using :Lazy build neorg - build = function() - local shell = require("nvim-treesitter.shell_command_selectors") - local install = require("nvim-treesitter.install") - - -- save the original functions - local select_executable = shell.select_executable - local compilers = install.compilers - - -- temporarily patch treesitter install logic - local cc = "clang++ -std=c++11" - ---@diagnostic disable-next-line: duplicate-set-field - function shell.select_executable(executables) - return vim.tbl_filter(function(c) ---@param c string - return c ~= vim.NIL and (vim.fn.executable(c) == 1 or c == cc) - end, executables)[1] - end - install.compilers = { cc } - - -- install norg parsers - install.commands.TSInstallSync["run!"]("norg") -- or vim.cmd [[ :TSInstallSync! norg ]] - - -- restore the defaults back - shell.select_executable = select_executable - install.compilers = compilers - end, opts = { load = { -- Load default modules From d67580c13fc1574a291ad4f9169aba616b8e256b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 26 May 2023 09:15:25 +0200 Subject: [PATCH 1327/2080] nvim: drop nvim-colorizer --- lazyvim/nvim/lua/plugins/tools.lua | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index e025f85c..8341b0d4 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -45,31 +45,6 @@ return { keys = { { "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "DiffView" } }, }, - -- colorizer - { - "NvChad/nvim-colorizer.lua", - event = "BufReadPre", - opts = { - filetypes = { "*", "!lazy" }, - buftype = { "*", "!prompt", "!nofile" }, - user_default_options = { - RGB = true, -- #RGB hex codes - RRGGBB = true, -- #RRGGBB hex codes - names = false, -- "Name" codes like Blue - RRGGBBAA = true, -- #RRGGBBAA hex codes - AARRGGBB = false, -- 0xAARRGGBB hex codes - rgb_fn = true, -- CSS rgb() and rgba() functions - hsl_fn = true, -- CSS hsl() and hsla() functions - css = false, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB - css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn - -- Available modes: foreground, background - -- Available modes for `mode`: foreground, background, virtualtext - mode = "background", -- Set the display mode. - virtualtext = "■", - }, - }, - }, - -- ChatGPT client -- { -- "jackMort/ChatGPT.nvim", From 4641360e2394f45ffb9185293e97642915e2e803 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 26 May 2023 09:20:06 +0200 Subject: [PATCH 1328/2080] lazy: import mini-hipatterns configuration. --- lazyvim/nvim/lua/config/lazy.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index bde690c7..b01c485e 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -23,6 +23,7 @@ require("lazy").setup({ -- XXX: disabled until there is an easy way to opt in using copilot -- { import = "lazyvim.plugins.extras.coding.copilot" }, { import = "lazyvim.plugins.extras.util.project" }, + { import = "lazyvim.plugins.extras.util.mini-hipatterns" }, -- import/override with your plugins { import = "plugins" }, }, From 5b021dc949c21530aebeb7c28da96bcdd40acb47 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 26 May 2023 09:20:20 +0200 Subject: [PATCH 1329/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 66 ++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index bd788c12..2cfb6de2 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { - "LazyVim": { "branch": "main", "commit": "5559228300f305511135580e3df7f565d25c1190" }, - "LuaSnip": { "branch": "master", "commit": "fcdaa4313305fe20d928551134c1ec2266e7af2a" }, - "SchemaStore.nvim": { "branch": "main", "commit": "15f37630d3abfb98607dd8e4625b731a8558b96d" }, + "LazyVim": { "branch": "main", "commit": "e990d23cfebbf0d8252fc31daef4d31b37687580" }, + "LuaSnip": { "branch": "master", "commit": "4afcf6dd5937b3b9a4f83b2b0f2dde8a8a60675c" }, + "SchemaStore.nvim": { "branch": "main", "commit": "2efaef942ce43c7f0cf61cf11b4791fcea01ce19" }, "alpha-nvim": { "branch": "main", "commit": "1838ae926e8d49fe5330d1498ee8289ae2c340bc" }, "bufferline.nvim": { "branch": "main", "commit": "32d74d5d044f7cc89892d4781a83d55ee4ed552a" }, - "catppuccin": { "branch": "main", "commit": "cc517bdcb66a0f8dee90bab10ccdd651fa967bbe" }, + "catppuccin": { "branch": "main", "commit": "1d3eda15703ba70f57e94e6451db55914ff7017f" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -14,78 +14,78 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, - "diffview.nvim": { "branch": "main", "commit": "15861892ce62d8f4ab6e72bc4ff5b829f994430a" }, - "dressing.nvim": { "branch": "master", "commit": "2f17eee4d7709dacfad2a28f35e2acfe9a6cb09d" }, + "diffview.nvim": { "branch": "main", "commit": "9d3c633efff67f276b1af0ef3ab15fd0bed866ca" }, + "dressing.nvim": { "branch": "master", "commit": "f19cbd56f7f8cad212c58a7285d09c5d9c273896" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, "friendly-snippets": { "branch": "main", "commit": "ef6547d2f586e08e071efeebac835e545f3015cc" }, - "gitsigns.nvim": { "branch": "main", "commit": "c18b7ca0b5b50596722f3a1572eb9b8eb520c0f1" }, + "gitsigns.nvim": { "branch": "main", "commit": "f868d82a36f7f7f5e110eb0a9659993984f59875" }, "gx.nvim": { "branch": "main", "commit": "a7cb094499907b3561aa6e135240dccbd89ed8a8" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, - "indent-blankline.nvim": { "branch": "master", "commit": "86d1b71c5c26168c3a3a9ff5f69e833889a09c1d" }, - "lazy.nvim": { "branch": "main", "commit": "761b8388af5bcb451e30d886163fcd129278e1d1" }, + "indent-blankline.nvim": { "branch": "master", "commit": "ceaf730b13e332cd76600d9795722413c236c684" }, + "lazy.nvim": { "branch": "main", "commit": "67ae8bbbe3985e380b98abeaf6c567c422b29746" }, "leap.nvim": { "branch": "main", "commit": "2950d4826fb92ec3b56c59b5d4f2d575a84cb3fa" }, "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "c55d18f3947562e699d34d89681edbf9f0e250d3" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "f0ce33f4794a2364eb08d09d09380e8b04ec5e6a" }, "mason.nvim": { "branch": "main", "commit": "08b2fd308e0107eab9f0b59d570b69089fd0b522" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "44d7df1340b16b16b27b67fba07028cb57f45408" }, - "mini.animate": { "branch": "main", "commit": "58226f659c43a9dd340fbe2f864c169f7e1e9b0d" }, + "mini.animate": { "branch": "main", "commit": "119b56f1a29a792561ee6bfc2c55c059f671d0ea" }, "mini.bracketed": { "branch": "main", "commit": "4d5d8d8cfadb82b4e2d9196da2ecd5cd938a9c48" }, "mini.bufremove": { "branch": "main", "commit": "14805473144fffbd019d07e51bed2d176e065ee9" }, - "mini.comment": { "branch": "main", "commit": "40c1172c9ddb55b30dfaf7dad9f7663cb6bb438e" }, + "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, + "mini.hipatterns": { "branch": "main", "commit": "2fc5713b3c8a771ae84d93346f120430d6b082b5" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, "mini.surround": { "branch": "main", "commit": "ea2e9c4cdbddc826dc6eeac69b035f8220f65de5" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "e5594d53986b34e584e8afe2ea6ad99d6f6d2105" }, - "neoconf.nvim": { "branch": "main", "commit": "bbf98ce53481e6e8d6507de5a6f18d3264fb0df7" }, - "neodev.nvim": { "branch": "main", "commit": "2daabebac1b0b2ab7abba298c1a8f07a542866a6" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "8c89efb93b8383666a6f989762c2f610f5f2c930" }, + "neoconf.nvim": { "branch": "main", "commit": "4c4215afafc42a8b71e60c26947cd362c43a7722" }, + "neodev.nvim": { "branch": "main", "commit": "ffa5f73f243954afb96fc19a512a24d7b8b0bb63" }, "neogen": { "branch": "main", "commit": "de603d2f83a8eea7d799cc3e7a61ae02eb192110" }, "neogit": { "branch": "master", "commit": "2a7f71a917d206f93306710a451dde1c0f15701d" }, - "neorg": { "branch": "main", "commit": "c23310083857d30b27db821a41fbeeba0a7bd5c1" }, - "noice.nvim": { "branch": "main", "commit": "f5178da0097e964b37951a0ebc078fdcc14280f3" }, + "neorg": { "branch": "main", "commit": "f922d5946de5474bb216dfc791ed339b942002bf" }, + "noice.nvim": { "branch": "main", "commit": "1478f7295806d354e7689edc2a58f3bc2e697f78" }, "nui.nvim": { "branch": "main", "commit": "698e75814cd7c56b0dd8af4936bcef2d13807f3c" }, "null-ls.nvim": { "branch": "main", "commit": "77e53bc3bac34cc273be8ed9eb9ab78bcf67fa48" }, - "nvim-cmp": { "branch": "main", "commit": "3ac8d6cd29c74ff482d8ea47d45e5081bfc3f5ad" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lspconfig": { "branch": "master", "commit": "1c13e529bd5683b54a39b633a560d2f00fcb25af" }, + "nvim-cmp": { "branch": "main", "commit": "a0225043ab823fcad8d0d802e276d9838fb48c30" }, + "nvim-lspconfig": { "branch": "master", "commit": "570aae82f8c6bc15fb6e559ed7d5a3fd85374329" }, "nvim-navic": { "branch": "master", "commit": "15704c607569d6c5cfeab486d3ef9459645a70ce" }, "nvim-notify": { "branch": "master", "commit": "f3024b912073774111202f5fa6518b0cd2a74432" }, - "nvim-scrollbar": { "branch": "main", "commit": "f3a5469e9881360e70d34b25333c910ee4a505f3" }, + "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "1abe23ec9b7bc3082164f4cb842d521ef70e080e" }, - "nvim-spider": { "branch": "main", "commit": "1aa7054a1b8b7c3605839603c6015c8c7446d8a2" }, + "nvim-spider": { "branch": "main", "commit": "ef0c75f9292bcd604418af0a860c86b1c26fdfe7" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "f2778bd1a28b74adf5b1aa51aa57da85adfa3d16" }, - "nvim-treesitter-context": { "branch": "master", "commit": "c8f3a62c64bf6f9fed11260a424207f780505f83" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "9c5237bab44a269677698245a30c7f0d669a8e7e" }, + "nvim-treesitter": { "branch": "master", "commit": "dae928b3bbbcdd3890c61549bdc4c50e1e0d3094" }, + "nvim-treesitter-context": { "branch": "master", "commit": "7cd5ac1c384b89e7e607238a936f13963f97ba32" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "95b76b95eff25e1e64f363938cd853852355d70a" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "45aede6f5c4981156df3ddeeae01c4290e43e104" }, "nvim-web-devicons": { "branch": "master", "commit": "e283ab937e0197b37ec5d8013e49495193407324" }, - "octo.nvim": { "branch": "master", "commit": "1c9a79412a1d92dd3c5a601e2261c158ebb4d4bd" }, + "octo.nvim": { "branch": "master", "commit": "512876820db1279e6f91530c6ce11187eb141056" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, - "plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" }, + "plenary.nvim": { "branch": "master", "commit": "52544825d6b8be677eb395983515ad5e30ae1f2e" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "6d2b06e5d46f08ad928c06c0e4a87e06f71e8d0f" }, + "refactoring.nvim": { "branch": "master", "commit": "8371678866f8a3034a4b0a9162c3fa8b633beed8" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "58d0d12191adee41fce7ef20d46d1203efa0d11e" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "580b6c48651cabb63455e97d7e131ed557b8c7e2" }, - "telescope.nvim": { "branch": "master", "commit": "40c31fdde93bcd85aeb3447bb3e2a3208395a868" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, + "telescope.nvim": { "branch": "master", "commit": "6d3fbffe426794296a77bb0b37b6ae0f4f14f807" }, "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, - "tokyonight.nvim": { "branch": "main", "commit": "6972aade12a9c6ecbbd163739d7617c21fc6bc4b" }, - "trouble.nvim": { "branch": "main", "commit": "5da13b5007eb2b952834186cd640a22c765b64cf" }, + "tokyonight.nvim": { "branch": "main", "commit": "90b711c052bb3cd9692922e16bcf3861344ecf75" }, + "trouble.nvim": { "branch": "main", "commit": "324c977cfeacb8498ca9ba1c74cc35bd18858a8d" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-matchup": { "branch": "master", "commit": "b8eca3b588e41e0bb1b3ae200fae88183b91a76d" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "5ddaf24df23f4d151970987c1322eaa247f08e69" }, + "vim-startuptime": { "branch": "master", "commit": "8eed46917c5c4882b295729ce053265c2a74ac4d" }, "which-key.nvim": { "branch": "main", "commit": "e271c28118998c93a14d189af3395812a1aa646c" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } From f7e4918c9a8930ffa246d76744017f370a031e97 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 30 May 2023 09:13:57 +0200 Subject: [PATCH 1330/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/b161733a76eebbae843d57be2048834f0de7569c' (2023-05-26) → 'github:nix-community/neovim-nightly-overlay/bb41d4b245163ff44c7fac18d90788739a2f2d5e' (2023-05-30) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/f733595e795cd2b819cb8fd18327cd51f47b2124?dir=contrib' (2023-05-26) → 'github:neovim/neovim/55f6a1cab031ecc28c5a7f2558a0cac9df2145e1?dir=contrib' (2023-05-29) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/21eb6c6ba74dcbe3ea5926ee46287300fb066630' (2023-05-25) → 'github:NixOS/nixpkgs/f2f1ec390714d303cf84ba086e34e45b450dd8c4' (2023-05-29) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/99fe1b870522d6ee3e692c2b6e663d6868a3fde4' (2023-05-24) → 'github:NixOS/nixpkgs/c8a17ce7abc03c50cd072e9e6c9b389c5f61836b' (2023-05-28) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/a17f99dfcb9643200b3884ca195c69ae41d7f059' (2023-05-23) → 'github:nixos/nixpkgs/c8a17ce7abc03c50cd072e9e6c9b389c5f61836b' (2023-05-28) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/f91ee3065de91a3531329a674a45ddcb3467a650' (2023-05-24) → 'github:nixos/nixpkgs/5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce' (2023-05-29) • Updated input 'nur': 'github:nix-community/NUR/6caf1df8f14553fa9295412c13776fb83e56bd4f' (2023-05-26) → 'github:nix-community/NUR/33cf25e85fb206ba1608e3a44adf63ed042c6641' (2023-05-30) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 569d6bb7..e4073180 100644 --- a/flake.lock +++ b/flake.lock @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1685059698, - "narHash": "sha256-M5j/pvDaDOCveFPFQsrOMlqx87eDK9t2hNa4wZK8A0k=", + "lastModified": 1685402292, + "narHash": "sha256-R3ThoFKLwtiAwPwXeS83EiuuM9oPQXZ3mEeH6oeb5T0=", "owner": "neovim", "repo": "neovim", - "rev": "f733595e795cd2b819cb8fd18327cd51f47b2124", + "rev": "55f6a1cab031ecc28c5a7f2558a0cac9df2145e1", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1685063967, - "narHash": "sha256-wimaBBsvUffEYUNzmMe1+yS6zzAnzf3Aqi02CFrzv/M=", + "lastModified": 1685405067, + "narHash": "sha256-woXfcMf5ppeLJoSCGlQZuu6dsdeMKsZhhYdmpCgwbRg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b161733a76eebbae843d57be2048834f0de7569c", + "rev": "bb41d4b245163ff44c7fac18d90788739a2f2d5e", "type": "github" }, "original": { @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1684858140, - "narHash": "sha256-dQStox5GYrVlVNMvxxXs3xX9bXG7J7ttSjqUcVm8EaA=", + "lastModified": 1685314633, + "narHash": "sha256-8LXBPqTQXl5ofkjpJ18JcbmLJ/lWDoMxtUwiDYv0wro=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a17f99dfcb9643200b3884ca195c69ae41d7f059", + "rev": "c8a17ce7abc03c50cd072e9e6c9b389c5f61836b", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1684935479, - "narHash": "sha256-6QMMsXMr2nhmOPHdti2j3KRHt+bai2zw+LJfdCl97Mk=", + "lastModified": 1685383865, + "narHash": "sha256-3uQytfnotO6QJv3r04ajSXbEFMII0dUtw0uqYlZ4dbk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f91ee3065de91a3531329a674a45ddcb3467a650", + "rev": "5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1684973047, - "narHash": "sha256-ZLnSr35L6C49pCZS9fZCCqkIKNAeQzykov2QfosNG9w=", + "lastModified": 1685347552, + "narHash": "sha256-9woSppRyUFo26yUffORTzttJ+apOt8MmCv6RxpPNTU4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "21eb6c6ba74dcbe3ea5926ee46287300fb066630", + "rev": "f2f1ec390714d303cf84ba086e34e45b450dd8c4", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1684936879, - "narHash": "sha256-BOSq/QiX7MDs8tUnAt4+nYTJctgYkzVSNL95qlfMYeM=", + "lastModified": 1685314633, + "narHash": "sha256-8LXBPqTQXl5ofkjpJ18JcbmLJ/lWDoMxtUwiDYv0wro=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "99fe1b870522d6ee3e692c2b6e663d6868a3fde4", + "rev": "c8a17ce7abc03c50cd072e9e6c9b389c5f61836b", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1685082753, - "narHash": "sha256-T/EZZ12KLCV+DmTSOAZElNqIv37EGsXsrYsppSYakKY=", + "lastModified": 1685425266, + "narHash": "sha256-zpC1LWdvVmZIo60j7qfcu8O/Q0PNjw5rH9W/J1w5gdc=", "owner": "nix-community", "repo": "NUR", - "rev": "6caf1df8f14553fa9295412c13776fb83e56bd4f", + "rev": "33cf25e85fb206ba1608e3a44adf63ed042c6641", "type": "github" }, "original": { From ab72105015c8e686a446921d278d4848399eef76 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 31 May 2023 08:53:22 +0200 Subject: [PATCH 1331/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/bb41d4b245163ff44c7fac18d90788739a2f2d5e' (2023-05-30) → 'github:nix-community/neovim-nightly-overlay/3933bf7c2b1bd571d68b1e487c63402baac35710' (2023-05-31) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/006c75898cf814ef9497252b022e91c946ba8e17' (2023-05-08) → 'github:hercules-ci/flake-parts/80717d11615b6f42d1ad2e18ead51193fc15de69' (2023-05-30) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/55f6a1cab031ecc28c5a7f2558a0cac9df2145e1?dir=contrib' (2023-05-29) → 'github:neovim/neovim/7e3ff8afa435607c703706a99cf9006893bdb399?dir=contrib' (2023-05-30) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/f2f1ec390714d303cf84ba086e34e45b450dd8c4' (2023-05-29) → 'github:NixOS/nixpkgs/58c85835512b0db938600b6fe13cc3e3dc4b364e' (2023-05-29) • Updated input 'nur': 'github:nix-community/NUR/33cf25e85fb206ba1608e3a44adf63ed042c6641' (2023-05-30) → 'github:nix-community/NUR/dde9a5d315a9202c2306325995dde3680bf7a6fa' (2023-05-31) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index e4073180..5090d712 100644 --- a/flake.lock +++ b/flake.lock @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1683560683, - "narHash": "sha256-XAygPMN5Xnk/W2c1aW0jyEa6lfMDZWlQgiNtmHXytPc=", + "lastModified": 1685457039, + "narHash": "sha256-bEFtQm+YyLxQjKQAaBHJyPN1z2wbhBnr2g1NJWSYjwM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "006c75898cf814ef9497252b022e91c946ba8e17", + "rev": "80717d11615b6f42d1ad2e18ead51193fc15de69", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1685402292, - "narHash": "sha256-R3ThoFKLwtiAwPwXeS83EiuuM9oPQXZ3mEeH6oeb5T0=", + "lastModified": 1685487037, + "narHash": "sha256-kw6olGqSXzqtzaeOoqVorvKzZj5kyiPJ5sDhIA8ApyY=", "owner": "neovim", "repo": "neovim", - "rev": "55f6a1cab031ecc28c5a7f2558a0cac9df2145e1", + "rev": "7e3ff8afa435607c703706a99cf9006893bdb399", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1685405067, - "narHash": "sha256-woXfcMf5ppeLJoSCGlQZuu6dsdeMKsZhhYdmpCgwbRg=", + "lastModified": 1685491504, + "narHash": "sha256-sC1Suwg5LAEC/IB7QnPHSBnmuoYhEOKiQSPZP2+jygI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "bb41d4b245163ff44c7fac18d90788739a2f2d5e", + "rev": "3933bf7c2b1bd571d68b1e487c63402baac35710", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1685347552, - "narHash": "sha256-9woSppRyUFo26yUffORTzttJ+apOt8MmCv6RxpPNTU4=", + "lastModified": 1685399834, + "narHash": "sha256-Lt7//5snriXSdJo5hlVcDkpERL1piiih0UXIz1RUcC4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f2f1ec390714d303cf84ba086e34e45b450dd8c4", + "rev": "58c85835512b0db938600b6fe13cc3e3dc4b364e", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1685425266, - "narHash": "sha256-zpC1LWdvVmZIo60j7qfcu8O/Q0PNjw5rH9W/J1w5gdc=", + "lastModified": 1685514035, + "narHash": "sha256-9N6HwVZ7KdfIPrvrrVzESByhCEfZPLxKX5dMPLxQOaA=", "owner": "nix-community", "repo": "NUR", - "rev": "33cf25e85fb206ba1608e3a44adf63ed042c6641", + "rev": "dde9a5d315a9202c2306325995dde3680bf7a6fa", "type": "github" }, "original": { From 11f556296aac7ee85c12ba29d1d9ccf0ba30c513 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 1 Jun 2023 09:03:25 +0200 Subject: [PATCH 1332/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/b8c286c82c6b47826a6c0377e7017052ad91353c' (2023-05-22) → 'github:lnl7/nix-darwin/4338bc869e9874d54a4c89539af72f16666b2abe' (2023-05-31) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/3933bf7c2b1bd571d68b1e487c63402baac35710' (2023-05-31) → 'github:nix-community/neovim-nightly-overlay/770364ef082b07db35e2d970c8d9b89c772abcc0' (2023-06-01) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/80717d11615b6f42d1ad2e18ead51193fc15de69' (2023-05-30) → 'github:hercules-ci/flake-parts/6ef2707776c6379bc727faf3f83c0dd60b06e0c6' (2023-05-31) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/15ff4f63e5f28070391a5b09a82f6d5c6cc5c9d0' (2023-04-19) → 'github:hercules-ci/hercules-ci-effects/6d8e62977dc34fd2c187879856ebb6cf1faabba9' (2023-05-31) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/c13d60b89adea3dc20704c045ec4d50dd964d447' (2023-03-09) → 'github:hercules-ci/flake-parts/6ef2707776c6379bc727faf3f83c0dd60b06e0c6' (2023-05-31) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/130fa0baaa2b93ec45523fdcde942f6844ee9f6e?dir=lib' (2023-03-09) → 'github:NixOS/nixpkgs/da45bf6ec7bbcc5d1e14d3795c025199f28e0de0?dir=lib' (2023-04-30) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent': 'github:hercules-ci/hercules-ci-agent/0b90d1a87c117a5861785cb85833dd1c9df0b6ef' (2023-03-10) → 'github:hercules-ci/hercules-ci-agent/ef296dd6211e2ffeb942f12e6232a2d9abdd488d' (2023-04-17) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/flake-parts': 'github:hercules-ci/flake-parts/c13d60b89adea3dc20704c045ec4d50dd964d447' (2023-03-09) → 'github:hercules-ci/flake-parts/dcc36e45d054d7bb554c9cdab69093debd91a0b5' (2023-04-01) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/haskell-flake': 'github:hercules-ci/haskell-flake/1e1660e6dd00838ba73bc7952e6e73be67da18d1' (2023-03-06) → 'github:srid/haskell-flake/26852ade574c712bc3912ad28de52b0c4cf7d4cb' (2023-03-13) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nix-darwin': 'github:LnL7/nix-darwin/87b9d090ad39b25b2400029c64825fc2a8868943' (2023-01-09) → 'github:LnL7/nix-darwin/99d4187d11be86b49baa3a1aec0530004072374f' (2023-03-31) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nixpkgs': 'github:NixOS/nixpkgs/c90c4025bb6e0c4eaf438128a3b2640314b1c58d' (2023-03-08) → 'github:NixOS/nixpkgs/e3652e0735fbec227f342712f180f4f21f0594f2' (2023-03-30) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix': 'github:cachix/pre-commit-hooks.nix/1a20b9708962096ec2481eeb2ddca29ed747770a' (2023-03-09) → 'github:cachix/pre-commit-hooks.nix/29dbe1efaa91c3a415d8b45d62d48325a4748816' (2023-03-30) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/2f9fd351ec37f5d479556cd48be4ca340da59b8f' (2023-01-15) → 'github:NixOS/nixpkgs/9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8' (2023-03-15) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/7e3ff8afa435607c703706a99cf9006893bdb399?dir=contrib' (2023-05-30) → 'github:neovim/neovim/68e2d722959dadc596edb9320bcdede38659db07?dir=contrib' (2023-05-31) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/58c85835512b0db938600b6fe13cc3e3dc4b364e' (2023-05-29) → 'github:NixOS/nixpkgs/9cfaa8a1a00830d17487cb60a19bb86f96f09b27' (2023-05-31) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/c8a17ce7abc03c50cd072e9e6c9b389c5f61836b' (2023-05-28) → 'github:NixOS/nixpkgs/9af373a61647257d16ae6062cddaa9094d24920c' (2023-05-30) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/c8a17ce7abc03c50cd072e9e6c9b389c5f61836b' (2023-05-28) → 'github:nixos/nixpkgs/b073229085bdce5f55139298f83908ce3568f94f' (2023-05-31) • Updated input 'nur': 'github:nix-community/NUR/dde9a5d315a9202c2306325995dde3680bf7a6fa' (2023-05-31) → 'github:nix-community/NUR/45f9a116a9f414d036423089696f4aea4b370bed' (2023-06-01) --- flake.lock | 114 ++++++++++++++++++++++++++--------------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/flake.lock b/flake.lock index 5090d712..998b9aad 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1684774948, - "narHash": "sha256-hJTaw4dYzcB+lsasKejnafq0CxPsVetn9RLXrcL+4jE=", + "lastModified": 1685559570, + "narHash": "sha256-MNIQvLRoq92isMLR/ordKNCl+aXNiuwBM4QyqmS8d00=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "b8c286c82c6b47826a6c0377e7017052ad91353c", + "rev": "4338bc869e9874d54a4c89539af72f16666b2abe", "type": "github" }, "original": { @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1685457039, - "narHash": "sha256-bEFtQm+YyLxQjKQAaBHJyPN1z2wbhBnr2g1NJWSYjwM=", + "lastModified": 1685546676, + "narHash": "sha256-XDbjJyAg6odX5Vj0Q22iI/gQuFvEkv9kamsSbQ+npaI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "80717d11615b6f42d1ad2e18ead51193fc15de69", + "rev": "6ef2707776c6379bc727faf3f83c0dd60b06e0c6", "type": "github" }, "original": { @@ -79,11 +79,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "lastModified": 1685546676, + "narHash": "sha256-XDbjJyAg6odX5Vj0Q22iI/gQuFvEkv9kamsSbQ+npaI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "rev": "6ef2707776c6379bc727faf3f83c0dd60b06e0c6", "type": "github" }, "original": { @@ -101,11 +101,11 @@ ] }, "locked": { - "lastModified": 1678379998, - "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=", + "lastModified": 1680392223, + "narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447", + "rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5", "type": "github" }, "original": { @@ -170,16 +170,16 @@ }, "haskell-flake": { "locked": { - "lastModified": 1678138103, - "narHash": "sha256-D0lao82bV3t2gEFjHiU6RN233t+1MnkQV+bq8MEu2ic=", - "owner": "hercules-ci", + "lastModified": 1678745009, + "narHash": "sha256-ujfwSrkxThmHJozibkCnJmlXLVyxm+Cbo2Q4wXPbCS4=", + "owner": "srid", "repo": "haskell-flake", - "rev": "1e1660e6dd00838ba73bc7952e6e73be67da18d1", + "rev": "26852ade574c712bc3912ad28de52b0c4cf7d4cb", "type": "github" }, "original": { - "owner": "hercules-ci", - "ref": "0.1-extraLibraries", + "owner": "srid", + "ref": "0.2.0", "repo": "haskell-flake", "type": "github" } @@ -193,11 +193,11 @@ "pre-commit-hooks-nix": "pre-commit-hooks-nix" }, "locked": { - "lastModified": 1678446614, - "narHash": "sha256-Z6Gsba5ahn/N0QlF0vJfIEfnZgCs4qr1IZtXAqjbE7s=", + "lastModified": 1681758488, + "narHash": "sha256-RBd/RNq3wL52FvoajMwrnfyZPfq67KMzmp6rtNAx/2o=", "owner": "hercules-ci", "repo": "hercules-ci-agent", - "rev": "0b90d1a87c117a5861785cb85833dd1c9df0b6ef", + "rev": "ef296dd6211e2ffeb942f12e6232a2d9abdd488d", "type": "github" }, "original": { @@ -215,11 +215,11 @@ ] }, "locked": { - "lastModified": 1681898675, - "narHash": "sha256-nIJ7CAdiHv4i1no/VgDoeTJLzbLYwu5+/Ycoyzn0S78=", + "lastModified": 1685557007, + "narHash": "sha256-0prbgwFJeBuLGJgNdOXCXQ8/oSamzkcNZYHr04ZXI2I=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "15ff4f63e5f28070391a5b09a82f6d5c6cc5c9d0", + "rev": "6d8e62977dc34fd2c187879856ebb6cf1faabba9", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1685487037, - "narHash": "sha256-kw6olGqSXzqtzaeOoqVorvKzZj5kyiPJ5sDhIA8ApyY=", + "lastModified": 1685494475, + "narHash": "sha256-h9fDwy8yFvkBDzuNulYxaM23R6dAfjUqpQlV7dkuXso=", "owner": "neovim", "repo": "neovim", - "rev": "7e3ff8afa435607c703706a99cf9006893bdb399", + "rev": "68e2d722959dadc596edb9320bcdede38659db07", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1685491504, - "narHash": "sha256-sC1Suwg5LAEC/IB7QnPHSBnmuoYhEOKiQSPZP2+jygI=", + "lastModified": 1685577767, + "narHash": "sha256-nZqH+CAHxLu3ReuTxMOaSPpGePC2K1KsQR+dN4ErVYE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3933bf7c2b1bd571d68b1e487c63402baac35710", + "rev": "770364ef082b07db35e2d970c8d9b89c772abcc0", "type": "github" }, "original": { @@ -306,11 +306,11 @@ ] }, "locked": { - "lastModified": 1673295039, - "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "lastModified": 1680266963, + "narHash": "sha256-IW/lzbUCOcldLHWHjNSg1YoViDnZOmz0ZJL7EH9OkV8=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "rev": "99d4187d11be86b49baa3a1aec0530004072374f", "type": "github" }, "original": { @@ -336,11 +336,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1678293141, - "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", + "lastModified": 1680213900, + "narHash": "sha256-cIDr5WZIj3EkKyCgj/6j3HBH4Jj1W296z7HTcWj1aMA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d", + "rev": "e3652e0735fbec227f342712f180f4f21f0594f2", "type": "github" }, "original": { @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1685314633, - "narHash": "sha256-8LXBPqTQXl5ofkjpJ18JcbmLJ/lWDoMxtUwiDYv0wro=", + "lastModified": 1685546280, + "narHash": "sha256-jVQme+dPdAXBrCOD8WOq9ZSAJCFTIwXJr0toZkFVqf0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c8a17ce7abc03c50cd072e9e6c9b389c5f61836b", + "rev": "b073229085bdce5f55139298f83908ce3568f94f", "type": "github" }, "original": { @@ -369,11 +369,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1678375444, - "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=", + "lastModified": 1682879489, + "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e", + "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", "type": "github" }, "original": { @@ -386,11 +386,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1673800717, - "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "lastModified": 1678872516, + "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1685399834, - "narHash": "sha256-Lt7//5snriXSdJo5hlVcDkpERL1piiih0UXIz1RUcC4=", + "lastModified": 1685498995, + "narHash": "sha256-rdyjnkq87tJp+T2Bm1OD/9NXKSsh/vLlPeqCc/mm7qs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "58c85835512b0db938600b6fe13cc3e3dc4b364e", + "rev": "9cfaa8a1a00830d17487cb60a19bb86f96f09b27", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1685314633, - "narHash": "sha256-8LXBPqTQXl5ofkjpJ18JcbmLJ/lWDoMxtUwiDYv0wro=", + "lastModified": 1685468986, + "narHash": "sha256-YSj3K71KjRZgeL0hS3sYLYHI0g8aIVIf9lcsRMCIW2A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c8a17ce7abc03c50cd072e9e6c9b389c5f61836b", + "rev": "9af373a61647257d16ae6062cddaa9094d24920c", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1685514035, - "narHash": "sha256-9N6HwVZ7KdfIPrvrrVzESByhCEfZPLxKX5dMPLxQOaA=", + "lastModified": 1685601172, + "narHash": "sha256-9lRIMg8xWvS/g6EApb+ishW2wL74ir10cIn4NnTemSg=", "owner": "nix-community", "repo": "NUR", - "rev": "dde9a5d315a9202c2306325995dde3680bf7a6fa", + "rev": "45f9a116a9f414d036423089696f4aea4b370bed", "type": "github" }, "original": { @@ -477,11 +477,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1678376203, - "narHash": "sha256-3tyYGyC8h7fBwncLZy5nCUjTJPrHbmNwp47LlNLOHSM=", + "lastModified": 1680170909, + "narHash": "sha256-FtKU/edv1jFRr/KwUxWTYWXEyj9g8GBrHntC2o8oFI8=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "1a20b9708962096ec2481eeb2ddca29ed747770a", + "rev": "29dbe1efaa91c3a415d8b45d62d48325a4748816", "type": "github" }, "original": { From f0f78c691f6d4ab6933675cb2a5101afa03a6a76 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 1 Jun 2023 14:07:03 +0200 Subject: [PATCH 1333/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/45f9a116a9f414d036423089696f4aea4b370bed' (2023-06-01) → 'github:nix-community/NUR/bf64781ceb53b626a1c443200d71a516edf75ba4' (2023-06-01) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 998b9aad..ea05f630 100644 --- a/flake.lock +++ b/flake.lock @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1685601172, - "narHash": "sha256-9lRIMg8xWvS/g6EApb+ishW2wL74ir10cIn4NnTemSg=", + "lastModified": 1685619919, + "narHash": "sha256-h+uu1KF6VsLX089XJ4SpY+eO4U2XCShmGvxt2Sbip/s=", "owner": "nix-community", "repo": "NUR", - "rev": "45f9a116a9f414d036423089696f4aea4b370bed", + "rev": "bf64781ceb53b626a1c443200d71a516edf75ba4", "type": "github" }, "original": { From b3941c6c589c8d7d7fc4c26d1e2e58b2620e2914 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 2 Jun 2023 18:34:11 +0200 Subject: [PATCH 1334/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 62 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 2cfb6de2..04138c5b 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { - "LazyVim": { "branch": "main", "commit": "e990d23cfebbf0d8252fc31daef4d31b37687580" }, - "LuaSnip": { "branch": "master", "commit": "4afcf6dd5937b3b9a4f83b2b0f2dde8a8a60675c" }, - "SchemaStore.nvim": { "branch": "main", "commit": "2efaef942ce43c7f0cf61cf11b4791fcea01ce19" }, + "LazyVim": { "branch": "main", "commit": "99ce1002d7955db78c7fde84c0fbeb62df9b920d" }, + "LuaSnip": { "branch": "master", "commit": "51ebb4b6637290e1b8e0fb0d6f38b605d3c24940" }, + "SchemaStore.nvim": { "branch": "main", "commit": "2d0b27ad28443cb700835b0d6a404ffe7f29c731" }, "alpha-nvim": { "branch": "main", "commit": "1838ae926e8d49fe5330d1498ee8289ae2c340bc" }, "bufferline.nvim": { "branch": "main", "commit": "32d74d5d044f7cc89892d4781a83d55ee4ed552a" }, - "catppuccin": { "branch": "main", "commit": "1d3eda15703ba70f57e94e6451db55914ff7017f" }, + "catppuccin": { "branch": "main", "commit": "c9cc5a997f1dae3f35b4bdd62f35958fee363ab4" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -14,62 +14,62 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, - "diffview.nvim": { "branch": "main", "commit": "9d3c633efff67f276b1af0ef3ab15fd0bed866ca" }, + "diffview.nvim": { "branch": "main", "commit": "bff58a6ea3e081ca50049700f9848b2f84ea57be" }, "dressing.nvim": { "branch": "master", "commit": "f19cbd56f7f8cad212c58a7285d09c5d9c273896" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "ef6547d2f586e08e071efeebac835e545f3015cc" }, + "friendly-snippets": { "branch": "main", "commit": "0dd6114bea08276d9111d58c5dce5e256bbc8921" }, "gitsigns.nvim": { "branch": "main", "commit": "f868d82a36f7f7f5e110eb0a9659993984f59875" }, - "gx.nvim": { "branch": "main", "commit": "a7cb094499907b3561aa6e135240dccbd89ed8a8" }, + "gx.nvim": { "branch": "main", "commit": "9f7a264a4180b307a6d0b2c570576fc5fbc5389e" }, "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, - "indent-blankline.nvim": { "branch": "master", "commit": "ceaf730b13e332cd76600d9795722413c236c684" }, - "lazy.nvim": { "branch": "main", "commit": "67ae8bbbe3985e380b98abeaf6c567c422b29746" }, - "leap.nvim": { "branch": "main", "commit": "2950d4826fb92ec3b56c59b5d4f2d575a84cb3fa" }, + "indent-blankline.nvim": { "branch": "master", "commit": "7075d7861f7a6bbf0de0298c83f8a13195e6ec01" }, + "lazy.nvim": { "branch": "main", "commit": "ebdd0499551765e6a7aba220cc8ae4e0cdb6be69" }, + "leap.nvim": { "branch": "main", "commit": "ecb6b6eaafc761e3eaee3c0b7ea37674c038c8d6" }, "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "f0ce33f4794a2364eb08d09d09380e8b04ec5e6a" }, - "mason.nvim": { "branch": "main", "commit": "08b2fd308e0107eab9f0b59d570b69089fd0b522" }, + "mason.nvim": { "branch": "main", "commit": "7d7efc738e08fc5bee822857db45cb6103f0b0c1" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "44d7df1340b16b16b27b67fba07028cb57f45408" }, "mini.animate": { "branch": "main", "commit": "119b56f1a29a792561ee6bfc2c55c059f671d0ea" }, "mini.bracketed": { "branch": "main", "commit": "4d5d8d8cfadb82b4e2d9196da2ecd5cd938a9c48" }, "mini.bufremove": { "branch": "main", "commit": "14805473144fffbd019d07e51bed2d176e065ee9" }, "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, - "mini.hipatterns": { "branch": "main", "commit": "2fc5713b3c8a771ae84d93346f120430d6b082b5" }, + "mini.hipatterns": { "branch": "main", "commit": "3e5741e5944b2b388c2259d6254465c86b51df32" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, - "mini.surround": { "branch": "main", "commit": "ea2e9c4cdbddc826dc6eeac69b035f8220f65de5" }, + "mini.surround": { "branch": "main", "commit": "eeaf96562947f75afa51a6266e066529369ca7ef" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "8c89efb93b8383666a6f989762c2f610f5f2c930" }, - "neoconf.nvim": { "branch": "main", "commit": "4c4215afafc42a8b71e60c26947cd362c43a7722" }, - "neodev.nvim": { "branch": "main", "commit": "ffa5f73f243954afb96fc19a512a24d7b8b0bb63" }, - "neogen": { "branch": "main", "commit": "de603d2f83a8eea7d799cc3e7a61ae02eb192110" }, - "neogit": { "branch": "master", "commit": "2a7f71a917d206f93306710a451dde1c0f15701d" }, - "neorg": { "branch": "main", "commit": "f922d5946de5474bb216dfc791ed339b942002bf" }, - "noice.nvim": { "branch": "main", "commit": "1478f7295806d354e7689edc2a58f3bc2e697f78" }, - "nui.nvim": { "branch": "main", "commit": "698e75814cd7c56b0dd8af4936bcef2d13807f3c" }, - "null-ls.nvim": { "branch": "main", "commit": "77e53bc3bac34cc273be8ed9eb9ab78bcf67fa48" }, - "nvim-cmp": { "branch": "main", "commit": "a0225043ab823fcad8d0d802e276d9838fb48c30" }, - "nvim-lspconfig": { "branch": "master", "commit": "570aae82f8c6bc15fb6e559ed7d5a3fd85374329" }, + "neoconf.nvim": { "branch": "main", "commit": "27714f819bb1030f00d437c0341d420b649e0021" }, + "neodev.nvim": { "branch": "main", "commit": "358f11c585fdccfcb5e8eae720c423fbed6d92de" }, + "neogen": { "branch": "main", "commit": "72238bfb7099ed346e3742e815f13c3fe35f51ab" }, + "neogit": { "branch": "master", "commit": "80be328067b370744c39323674a2ebaf515dea14" }, + "neorg": { "branch": "main", "commit": "e0fcf254fbdb95fa0918692aee1c93b938e883f8" }, + "noice.nvim": { "branch": "main", "commit": "7e358170cea2314d9768b3f63616e8fad186195e" }, + "nui.nvim": { "branch": "main", "commit": "2b2732528e4a79eb8542568bd51d25f710395bd6" }, + "null-ls.nvim": { "branch": "main", "commit": "c89333e034a8daba654ebfcf9a4ec9f87765f01e" }, + "nvim-cmp": { "branch": "main", "commit": "fc0f694af1a742ada77e5b1c91ff405c746f4a26" }, + "nvim-lspconfig": { "branch": "master", "commit": "9166622781a39a829878d1fd24c174529d996838" }, "nvim-navic": { "branch": "master", "commit": "15704c607569d6c5cfeab486d3ef9459645a70ce" }, "nvim-notify": { "branch": "master", "commit": "f3024b912073774111202f5fa6518b0cd2a74432" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "1abe23ec9b7bc3082164f4cb842d521ef70e080e" }, "nvim-spider": { "branch": "main", "commit": "ef0c75f9292bcd604418af0a860c86b1c26fdfe7" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "dae928b3bbbcdd3890c61549bdc4c50e1e0d3094" }, - "nvim-treesitter-context": { "branch": "master", "commit": "7cd5ac1c384b89e7e607238a936f13963f97ba32" }, + "nvim-treesitter": { "branch": "master", "commit": "56c63529c052a179134842c56c6df5728cc375da" }, + "nvim-treesitter-context": { "branch": "master", "commit": "2182556aab4524b4fa8d00031bf1228ea2e4a023" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "95b76b95eff25e1e64f363938cd853852355d70a" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "45aede6f5c4981156df3ddeeae01c4290e43e104" }, - "nvim-web-devicons": { "branch": "master", "commit": "e283ab937e0197b37ec5d8013e49495193407324" }, - "octo.nvim": { "branch": "master", "commit": "512876820db1279e6f91530c6ce11187eb141056" }, + "nvim-web-devicons": { "branch": "master", "commit": "2a125024a137677930efcfdf720f205504c97268" }, + "octo.nvim": { "branch": "master", "commit": "0ea81c0cda4d21d054d78cd1bca7e1371df1969f" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, - "plenary.nvim": { "branch": "master", "commit": "52544825d6b8be677eb395983515ad5e30ae1f2e" }, + "plenary.nvim": { "branch": "master", "commit": "499e0743cf5e8075cd32af68baa3946a1c76adf1" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "8371678866f8a3034a4b0a9162c3fa8b633beed8" }, + "refactoring.nvim": { "branch": "master", "commit": "a85dfff2602b739627b9f8a831de8c3e7b2993ae" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "58d0d12191adee41fce7ef20d46d1203efa0d11e" }, @@ -77,12 +77,12 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, "telescope.nvim": { "branch": "master", "commit": "6d3fbffe426794296a77bb0b37b6ae0f4f14f807" }, "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, - "tokyonight.nvim": { "branch": "main", "commit": "90b711c052bb3cd9692922e16bcf3861344ecf75" }, + "tokyonight.nvim": { "branch": "main", "commit": "161114bd39b990995e08dbf941f6821afbdcd666" }, "trouble.nvim": { "branch": "main", "commit": "324c977cfeacb8498ca9ba1c74cc35bd18858a8d" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "b8eca3b588e41e0bb1b3ae200fae88183b91a76d" }, + "vim-matchup": { "branch": "master", "commit": "02b906cf772811a6845f2d5caaa81152beb65d6b" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "8eed46917c5c4882b295729ce053265c2a74ac4d" }, From fa4f3b3fba835a1ee389b26fcbe5a4220142e31c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Sun, 4 Jun 2023 15:04:59 +0200 Subject: [PATCH 1335/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/770364ef082b07db35e2d970c8d9b89c772abcc0' (2023-06-01) → 'github:nix-community/neovim-nightly-overlay/8f31d73a9ee5dbe461ba37756282a54eb9688adb' (2023-06-04) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/6ef2707776c6379bc727faf3f83c0dd60b06e0c6' (2023-05-31) → 'github:hercules-ci/flake-parts/71fb97f0d875fd4de4994dfb849f2c75e17eb6c3' (2023-06-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/68e2d722959dadc596edb9320bcdede38659db07?dir=contrib' (2023-05-31) → 'github:neovim/neovim/53f30de2becded95f9113b75367a9dd7563c183e?dir=contrib' (2023-06-03) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/9cfaa8a1a00830d17487cb60a19bb86f96f09b27' (2023-05-31) → 'github:NixOS/nixpkgs/c6ffce3d5df7b4c588ce80a0c6e2d2348a611707' (2023-06-02) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9af373a61647257d16ae6062cddaa9094d24920c' (2023-05-30) → 'github:NixOS/nixpkgs/eaf03591711b46d21abc7082a8ebee4681f9dbeb' (2023-06-03) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/b073229085bdce5f55139298f83908ce3568f94f' (2023-05-31) → 'github:nixos/nixpkgs/eaf03591711b46d21abc7082a8ebee4681f9dbeb' (2023-06-03) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce' (2023-05-29) → 'github:nixos/nixpkgs/dd4982554e18b936790da07c4ea2db7c7600f283' (2023-06-03) • Updated input 'nur': 'github:nix-community/NUR/bf64781ceb53b626a1c443200d71a516edf75ba4' (2023-06-01) → 'github:nix-community/NUR/65b4ce84312de2fec2e26315bad06278e3e4acd5' (2023-06-04) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index ea05f630..46f78503 100644 --- a/flake.lock +++ b/flake.lock @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1685546676, - "narHash": "sha256-XDbjJyAg6odX5Vj0Q22iI/gQuFvEkv9kamsSbQ+npaI=", + "lastModified": 1685662779, + "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "6ef2707776c6379bc727faf3f83c0dd60b06e0c6", + "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", "type": "github" }, "original": { @@ -260,11 +260,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1685494475, - "narHash": "sha256-h9fDwy8yFvkBDzuNulYxaM23R6dAfjUqpQlV7dkuXso=", + "lastModified": 1685835545, + "narHash": "sha256-9VDQo386A3jdWnyPSUzne2Yp8g0EHQa2pMFktXKrz3Q=", "owner": "neovim", "repo": "neovim", - "rev": "68e2d722959dadc596edb9320bcdede38659db07", + "rev": "53f30de2becded95f9113b75367a9dd7563c183e", "type": "github" }, "original": { @@ -283,11 +283,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1685577767, - "narHash": "sha256-nZqH+CAHxLu3ReuTxMOaSPpGePC2K1KsQR+dN4ErVYE=", + "lastModified": 1685837315, + "narHash": "sha256-fLHC2/IXb93sFLSPdC1RccFekDxrolkFhDaoIu/lOhY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "770364ef082b07db35e2d970c8d9b89c772abcc0", + "rev": "8f31d73a9ee5dbe461ba37756282a54eb9688adb", "type": "github" }, "original": { @@ -352,11 +352,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1685546280, - "narHash": "sha256-jVQme+dPdAXBrCOD8WOq9ZSAJCFTIwXJr0toZkFVqf0=", + "lastModified": 1685758009, + "narHash": "sha256-IT4Z5WGhafrq+xbDTyuKrRPRQ1f+kVOtE+4JU1CHFeo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b073229085bdce5f55139298f83908ce3568f94f", + "rev": "eaf03591711b46d21abc7082a8ebee4681f9dbeb", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1685383865, - "narHash": "sha256-3uQytfnotO6QJv3r04ajSXbEFMII0dUtw0uqYlZ4dbk=", + "lastModified": 1685836261, + "narHash": "sha256-rpxEPGeW4JZJcH58SQApJUtJ7w78VPtkF6Cut/Pq6Kg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce", + "rev": "dd4982554e18b936790da07c4ea2db7c7600f283", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1685498995, - "narHash": "sha256-rdyjnkq87tJp+T2Bm1OD/9NXKSsh/vLlPeqCc/mm7qs=", + "lastModified": 1685714850, + "narHash": "sha256-OcvbIJq4CGwwFr9m7M/SQcDPZ64hhR4t77oZgEeh7ZY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9cfaa8a1a00830d17487cb60a19bb86f96f09b27", + "rev": "c6ffce3d5df7b4c588ce80a0c6e2d2348a611707", "type": "github" }, "original": { @@ -434,11 +434,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1685468986, - "narHash": "sha256-YSj3K71KjRZgeL0hS3sYLYHI0g8aIVIf9lcsRMCIW2A=", + "lastModified": 1685758009, + "narHash": "sha256-IT4Z5WGhafrq+xbDTyuKrRPRQ1f+kVOtE+4JU1CHFeo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9af373a61647257d16ae6062cddaa9094d24920c", + "rev": "eaf03591711b46d21abc7082a8ebee4681f9dbeb", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nur": { "locked": { - "lastModified": 1685619919, - "narHash": "sha256-h+uu1KF6VsLX089XJ4SpY+eO4U2XCShmGvxt2Sbip/s=", + "lastModified": 1685880642, + "narHash": "sha256-jQNe2IAL7qPdwCk8HnwlfJN790YjIoRu4EfjfI6y0qk=", "owner": "nix-community", "repo": "NUR", - "rev": "bf64781ceb53b626a1c443200d71a516edf75ba4", + "rev": "65b4ce84312de2fec2e26315bad06278e3e4acd5", "type": "github" }, "original": { From f6268bd89b5930737a2109a610d70d8683ad7a0c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 13 Jun 2023 09:41:47 +0200 Subject: [PATCH 1336/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/4338bc869e9874d54a4c89539af72f16666b2abe' (2023-05-31) → 'github:lnl7/nix-darwin/7c16d31383a90e0e72ace0c35d2d66a18f90fb4f' (2023-06-09) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/8f31d73a9ee5dbe461ba37756282a54eb9688adb' (2023-06-04) → 'github:nix-community/neovim-nightly-overlay/93812683925c91d5b5c020ef6b49e86c8352b1d7' (2023-06-13) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/6d8e62977dc34fd2c187879856ebb6cf1faabba9' (2023-05-31) → 'github:hercules-ci/hercules-ci-effects/657935127398706754113c1cea5800798ecb99a7' (2023-06-07) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/6ef2707776c6379bc727faf3f83c0dd60b06e0c6' (2023-05-31) → 'github:hercules-ci/flake-parts/71fb97f0d875fd4de4994dfb849f2c75e17eb6c3' (2023-06-01) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/da45bf6ec7bbcc5d1e14d3795c025199f28e0de0?dir=lib' (2023-04-30) → 'github:NixOS/nixpkgs/4f53efe34b3a8877ac923b9350c874e3dcd5dc0a?dir=lib' (2023-05-31) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent': 'github:hercules-ci/hercules-ci-agent/ef296dd6211e2ffeb942f12e6232a2d9abdd488d' (2023-04-17) → 'github:hercules-ci/hercules-ci-agent/febf6540ed5fd55812933c159e59742743277b30' (2023-06-07) • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nix-darwin' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nix-darwin/nixpkgs' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/flake-compat' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/flake-utils' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/gitignore' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/gitignore/nixpkgs' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/nixpkgs' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/pre-commit-hooks-nix/nixpkgs-stable' • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/53f30de2becded95f9113b75367a9dd7563c183e?dir=contrib' (2023-06-03) → 'github:neovim/neovim/a7e5d4238a00d5bfa5809b2860047eca2d565e62?dir=contrib' (2023-06-12) • Updated input 'neovim-nightly-overlay/neovim-flake/flake-utils': 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02) → 'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31) • Added input 'neovim-nightly-overlay/neovim-flake/flake-utils/systems': 'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/c6ffce3d5df7b4c588ce80a0c6e2d2348a611707' (2023-06-02) → 'github:NixOS/nixpkgs/6b1b72c0f887a478a5aac355674ff6df0fc44f44' (2023-06-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/eaf03591711b46d21abc7082a8ebee4681f9dbeb' (2023-06-03) → 'github:NixOS/nixpkgs/eef86b8a942913a828b9ef13722835f359deef29' (2023-06-11) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/eaf03591711b46d21abc7082a8ebee4681f9dbeb' (2023-06-03) → 'github:nixos/nixpkgs/eef86b8a942913a828b9ef13722835f359deef29' (2023-06-11) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/dd4982554e18b936790da07c4ea2db7c7600f283' (2023-06-03) → 'github:nixos/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11) • Updated input 'nur': 'github:nix-community/NUR/65b4ce84312de2fec2e26315bad06278e3e4acd5' (2023-06-04) → 'github:nix-community/NUR/588cf2f61a156266463a2291e3c63d838f992fca' (2023-06-13) --- flake.lock | 221 ++++++++++++++--------------------------------------- 1 file changed, 58 insertions(+), 163 deletions(-) diff --git a/flake.lock b/flake.lock index 46f78503..c5bb74d8 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1685559570, - "narHash": "sha256-MNIQvLRoq92isMLR/ordKNCl+aXNiuwBM4QyqmS8d00=", + "lastModified": 1686307493, + "narHash": "sha256-R4VEFnDn7nRmNxAu1LwNbjns5DPM8IBsvnrWmZ8ymPs=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "4338bc869e9874d54a4c89539af72f16666b2abe", + "rev": "7c16d31383a90e0e72ace0c35d2d66a18f90fb4f", "type": "github" }, "original": { @@ -37,22 +37,6 @@ "type": "github" } }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -79,11 +63,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1685546676, - "narHash": "sha256-XDbjJyAg6odX5Vj0Q22iI/gQuFvEkv9kamsSbQ+npaI=", + "lastModified": 1685662779, + "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "6ef2707776c6379bc727faf3f83c0dd60b06e0c6", + "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", "type": "github" }, "original": { @@ -115,27 +99,15 @@ } }, "flake-utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" + "inputs": { + "systems": "systems" }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", "type": "github" }, "original": { @@ -144,30 +116,6 @@ "type": "github" } }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "neovim-nightly-overlay", - "hercules-ci-effects", - "hercules-ci-agent", - "pre-commit-hooks-nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "haskell-flake": { "locked": { "lastModified": 1678745009, @@ -188,16 +136,14 @@ "inputs": { "flake-parts": "flake-parts_3", "haskell-flake": "haskell-flake", - "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs", - "pre-commit-hooks-nix": "pre-commit-hooks-nix" + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1681758488, - "narHash": "sha256-RBd/RNq3wL52FvoajMwrnfyZPfq67KMzmp6rtNAx/2o=", + "lastModified": 1686138353, + "narHash": "sha256-e0wDTIySFCfZMSYQNVGY/d6jjwcua3y6igouI8CejQ8=", "owner": "hercules-ci", "repo": "hercules-ci-agent", - "rev": "ef296dd6211e2ffeb942f12e6232a2d9abdd488d", + "rev": "febf6540ed5fd55812933c159e59742743277b30", "type": "github" }, "original": { @@ -215,11 +161,11 @@ ] }, "locked": { - "lastModified": 1685557007, - "narHash": "sha256-0prbgwFJeBuLGJgNdOXCXQ8/oSamzkcNZYHr04ZXI2I=", + "lastModified": 1686181431, + "narHash": "sha256-S1IsZGwcMChJg3mgnKdFxh2c/D77B1NoOCd8s3tQQIg=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "6d8e62977dc34fd2c187879856ebb6cf1faabba9", + "rev": "657935127398706754113c1cea5800798ecb99a7", "type": "github" }, "original": { @@ -252,7 +198,7 @@ }, "neovim-flake": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" @@ -260,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1685835545, - "narHash": "sha256-9VDQo386A3jdWnyPSUzne2Yp8g0EHQa2pMFktXKrz3Q=", + "lastModified": 1686578320, + "narHash": "sha256-soqaiEuDvAIjdUgWO5CeindRUoCMQgidlrJNnUVM5pw=", "owner": "neovim", "repo": "neovim", - "rev": "53f30de2becded95f9113b75367a9dd7563c183e", + "rev": "a7e5d4238a00d5bfa5809b2860047eca2d565e62", "type": "github" }, "original": { @@ -283,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1685837315, - "narHash": "sha256-fLHC2/IXb93sFLSPdC1RccFekDxrolkFhDaoIu/lOhY=", + "lastModified": 1686614703, + "narHash": "sha256-N7giW4MHI3r4a0xX/viSyFs/2R6qgngK5dj/DhE3/88=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "8f31d73a9ee5dbe461ba37756282a54eb9688adb", + "rev": "93812683925c91d5b5c020ef6b49e86c8352b1d7", "type": "github" }, "original": { @@ -296,29 +242,6 @@ "type": "github" } }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "neovim-nightly-overlay", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1680266963, - "narHash": "sha256-IW/lzbUCOcldLHWHjNSg1YoViDnZOmz0ZJL7EH9OkV8=", - "owner": "LnL7", - "repo": "nix-darwin", - "rev": "99d4187d11be86b49baa3a1aec0530004072374f", - "type": "github" - }, - "original": { - "owner": "LnL7", - "repo": "nix-darwin", - "type": "github" - } - }, "nix2lua": { "locked": { "lastModified": 1669103494, @@ -352,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1685758009, - "narHash": "sha256-IT4Z5WGhafrq+xbDTyuKrRPRQ1f+kVOtE+4JU1CHFeo=", + "lastModified": 1686476475, + "narHash": "sha256-W9yUePvCSDghn+YUXewuodyPxt+kJl/a7zdY4Q6r4MU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "eaf03591711b46d21abc7082a8ebee4681f9dbeb", + "rev": "eef86b8a942913a828b9ef13722835f359deef29", "type": "github" }, "original": { @@ -369,11 +292,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1682879489, - "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", + "lastModified": 1685564631, + "narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", + "rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a", "type": "github" }, "original": { @@ -384,29 +307,13 @@ "type": "github" } }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1678872516, - "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-unstable": { "locked": { - "lastModified": 1685836261, - "narHash": "sha256-rpxEPGeW4JZJcH58SQApJUtJ7w78VPtkF6Cut/Pq6Kg=", + "lastModified": 1686501370, + "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dd4982554e18b936790da07c4ea2db7c7600f283", + "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", "type": "github" }, "original": { @@ -418,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1685714850, - "narHash": "sha256-OcvbIJq4CGwwFr9m7M/SQcDPZ64hhR4t77oZgEeh7ZY=", + "lastModified": 1686519857, + "narHash": "sha256-VkBhuq67aXXiCoEmicziuDLUPPjeOTLQoj6OeVai5zM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c6ffce3d5df7b4c588ce80a0c6e2d2348a611707", + "rev": "6b1b72c0f887a478a5aac355674ff6df0fc44f44", "type": "github" }, "original": { @@ -434,11 +341,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1685758009, - "narHash": "sha256-IT4Z5WGhafrq+xbDTyuKrRPRQ1f+kVOtE+4JU1CHFeo=", + "lastModified": 1686476475, + "narHash": "sha256-W9yUePvCSDghn+YUXewuodyPxt+kJl/a7zdY4Q6r4MU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eaf03591711b46d21abc7082a8ebee4681f9dbeb", + "rev": "eef86b8a942913a828b9ef13722835f359deef29", "type": "github" }, "original": { @@ -450,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1685880642, - "narHash": "sha256-jQNe2IAL7qPdwCk8HnwlfJN790YjIoRu4EfjfI6y0qk=", + "lastModified": 1686639909, + "narHash": "sha256-cc7sdnDgyf87uy+vzhOqRPTKEE91a3mKd5mByakuI2I=", "owner": "nix-community", "repo": "NUR", - "rev": "65b4ce84312de2fec2e26315bad06278e3e4acd5", + "rev": "588cf2f61a156266463a2291e3c63d838f992fca", "type": "github" }, "original": { @@ -463,33 +370,6 @@ "type": "github" } }, - "pre-commit-hooks-nix": { - "inputs": { - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils", - "gitignore": "gitignore", - "nixpkgs": [ - "neovim-nightly-overlay", - "hercules-ci-effects", - "hercules-ci-agent", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1680170909, - "narHash": "sha256-FtKU/edv1jFRr/KwUxWTYWXEyj9g8GBrHntC2o8oFI8=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "29dbe1efaa91c3a415d8b45d62d48325a4748816", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { "darwin": "darwin", @@ -502,6 +382,21 @@ "nur": "nur" } }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "utils": { "locked": { "lastModified": 1667395993, From 5aba4a086c0c8733681d4bfec17117485d3157be Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 13 Jun 2023 11:36:55 +0200 Subject: [PATCH 1337/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/588cf2f61a156266463a2291e3c63d838f992fca' (2023-06-13) → 'github:nix-community/NUR/b9c688b5384d1210b1fb6e82c1c81a608476a961' (2023-06-13) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index c5bb74d8..958414d6 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1686639909, - "narHash": "sha256-cc7sdnDgyf87uy+vzhOqRPTKEE91a3mKd5mByakuI2I=", + "lastModified": 1686647763, + "narHash": "sha256-0vsU7rgNx7GRrENtfJHb7oOV0I8ayHnsYzbc0cZtxPA=", "owner": "nix-community", "repo": "NUR", - "rev": "588cf2f61a156266463a2291e3c63d838f992fca", + "rev": "b9c688b5384d1210b1fb6e82c1c81a608476a961", "type": "github" }, "original": { From a52863696edea4faeb70f17bf2b7b13a536fd6a9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Jun 2023 09:48:55 +0200 Subject: [PATCH 1338/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/f9edbedaf015013eb35f8caacbe0c9666bbc16af' (2023-04-10) → 'github:nix-community/home-manager/b372d7f8d5518aaba8a4058a453957460481afbc' (2023-05-29) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/93812683925c91d5b5c020ef6b49e86c8352b1d7' (2023-06-13) → 'github:nix-community/neovim-nightly-overlay/dac330e9ad1529583ecd92897ff7fc4cce610618' (2023-06-14) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/a7e5d4238a00d5bfa5809b2860047eca2d565e62?dir=contrib' (2023-06-12) → 'github:neovim/neovim/bc67bbe4469b777a958f5ad515dec777777e9f2d?dir=contrib' (2023-06-13) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/6b1b72c0f887a478a5aac355674ff6df0fc44f44' (2023-06-11) → 'github:NixOS/nixpkgs/7e63eed145566cca98158613f3700515b4009ce3' (2023-06-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/eef86b8a942913a828b9ef13722835f359deef29' (2023-06-11) → 'github:nixos/nixpkgs/02e41d27bf79b3a75167fe1cd4983c4369061706' (2023-06-12) • Updated input 'nur': 'github:nix-community/NUR/b9c688b5384d1210b1fb6e82c1c81a608476a961' (2023-06-13) → 'github:nix-community/NUR/000961ed13fb896d930cd70b5fdbfa6fd937254c' (2023-06-14) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 958414d6..c1573d71 100644 --- a/flake.lock +++ b/flake.lock @@ -182,11 +182,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1681092193, - "narHash": "sha256-JerCqqOqbT2tBnXQW4EqwFl0hHnuZp21rIQ6lu/N4rI=", + "lastModified": 1685325875, + "narHash": "sha256-tevlLIMPeVNNYPd9UgjHApAUoFAnw9iohqUyj+LPp88=", "owner": "nix-community", "repo": "home-manager", - "rev": "f9edbedaf015013eb35f8caacbe0c9666bbc16af", + "rev": "b372d7f8d5518aaba8a4058a453957460481afbc", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1686578320, - "narHash": "sha256-soqaiEuDvAIjdUgWO5CeindRUoCMQgidlrJNnUVM5pw=", + "lastModified": 1686669455, + "narHash": "sha256-yu7NZhZEn4tx5cy9/WmsN3SOtx9thinEi5cif4GLjCs=", "owner": "neovim", "repo": "neovim", - "rev": "a7e5d4238a00d5bfa5809b2860047eca2d565e62", + "rev": "bc67bbe4469b777a958f5ad515dec777777e9f2d", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1686614703, - "narHash": "sha256-N7giW4MHI3r4a0xX/viSyFs/2R6qgngK5dj/DhE3/88=", + "lastModified": 1686701278, + "narHash": "sha256-V8L2ckxLnn0kSxdeGvAT6m1LgeUiOYi23hyq/fYnk60=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "93812683925c91d5b5c020ef6b49e86c8352b1d7", + "rev": "dac330e9ad1529583ecd92897ff7fc4cce610618", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1686476475, - "narHash": "sha256-W9yUePvCSDghn+YUXewuodyPxt+kJl/a7zdY4Q6r4MU=", + "lastModified": 1686599249, + "narHash": "sha256-Hnb3cY/GuZFPgwwhEOhCl6H0gce/zziQp3c74aXK+Xs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "eef86b8a942913a828b9ef13722835f359deef29", + "rev": "02e41d27bf79b3a75167fe1cd4983c4369061706", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1686519857, - "narHash": "sha256-VkBhuq67aXXiCoEmicziuDLUPPjeOTLQoj6OeVai5zM=", + "lastModified": 1686582075, + "narHash": "sha256-vtflsfKkHtF8IduxDNtbme4cojiqvlvjp5QNYhvoHXc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6b1b72c0f887a478a5aac355674ff6df0fc44f44", + "rev": "7e63eed145566cca98158613f3700515b4009ce3", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1686647763, - "narHash": "sha256-0vsU7rgNx7GRrENtfJHb7oOV0I8ayHnsYzbc0cZtxPA=", + "lastModified": 1686724312, + "narHash": "sha256-ULQS/r1rTCzY0B7Eqxq8m9X4/aSVc+MUUTnfLyqkiN0=", "owner": "nix-community", "repo": "NUR", - "rev": "b9c688b5384d1210b1fb6e82c1c81a608476a961", + "rev": "000961ed13fb896d930cd70b5fdbfa6fd937254c", "type": "github" }, "original": { From 59b943029a50aef646dba8b67e6aa8002aa6dba8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Jun 2023 16:52:56 +0200 Subject: [PATCH 1339/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/000961ed13fb896d930cd70b5fdbfa6fd937254c' (2023-06-14) → 'github:nix-community/NUR/7ea3c0a513ce7538c139876763f5c9c87c4f1d99' (2023-06-14) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index c1573d71..11398fd1 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1686724312, - "narHash": "sha256-ULQS/r1rTCzY0B7Eqxq8m9X4/aSVc+MUUTnfLyqkiN0=", + "lastModified": 1686732300, + "narHash": "sha256-7wwhRQ4X5vZF8c6xCL9FuF1meGvjmjg5uSb6DMZo7nE=", "owner": "nix-community", "repo": "NUR", - "rev": "000961ed13fb896d930cd70b5fdbfa6fd937254c", + "rev": "7ea3c0a513ce7538c139876763f5c9c87c4f1d99", "type": "github" }, "original": { From fb3df92042c77aa209af9d81938c2d14a2211be7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 15 Jun 2023 09:20:42 +0200 Subject: [PATCH 1340/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/dac330e9ad1529583ecd92897ff7fc4cce610618' (2023-06-14) → 'github:nix-community/neovim-nightly-overlay/6cdbf0b3ea8ace3272707168d74b44c9d991c502' (2023-06-15) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/bc67bbe4469b777a958f5ad515dec777777e9f2d?dir=contrib' (2023-06-13) → 'github:neovim/neovim/cf6cffda89ad0b22de0ddd4ca7abcb714da812d0?dir=contrib' (2023-06-14) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/eef86b8a942913a828b9ef13722835f359deef29' (2023-06-11) → 'github:NixOS/nixpkgs/2b273c2351fe1ab490158cf8acc8aafad02592ce' (2023-06-13) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/02e41d27bf79b3a75167fe1cd4983c4369061706' (2023-06-12) → 'github:nixos/nixpkgs/2b273c2351fe1ab490158cf8acc8aafad02592ce' (2023-06-13) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11) → 'github:nixos/nixpkgs/0eeebd64de89e4163f4d3cf34ffe925a5cf67a05' (2023-06-12) • Updated input 'nur': 'github:nix-community/NUR/7ea3c0a513ce7538c139876763f5c9c87c4f1d99' (2023-06-14) → 'github:nix-community/NUR/53bdfe0d57ba919516d99906d18db3a6f96b53f2' (2023-06-15) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 11398fd1..1f8d5531 100644 --- a/flake.lock +++ b/flake.lock @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1686669455, - "narHash": "sha256-yu7NZhZEn4tx5cy9/WmsN3SOtx9thinEi5cif4GLjCs=", + "lastModified": 1686781395, + "narHash": "sha256-XKUD6p34cAsOYcmh6R8acKjhYIFNWVNkzSeasNT3Kgs=", "owner": "neovim", "repo": "neovim", - "rev": "bc67bbe4469b777a958f5ad515dec777777e9f2d", + "rev": "cf6cffda89ad0b22de0ddd4ca7abcb714da812d0", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1686701278, - "narHash": "sha256-V8L2ckxLnn0kSxdeGvAT6m1LgeUiOYi23hyq/fYnk60=", + "lastModified": 1686787505, + "narHash": "sha256-/fqZxR1DE1t2D3Unbv0eELuNyHs/LQPmnXJfCZBTupU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "dac330e9ad1529583ecd92897ff7fc4cce610618", + "rev": "6cdbf0b3ea8ace3272707168d74b44c9d991c502", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1686599249, - "narHash": "sha256-Hnb3cY/GuZFPgwwhEOhCl6H0gce/zziQp3c74aXK+Xs=", + "lastModified": 1686656800, + "narHash": "sha256-duScdQZNeZcde0JwmQ9W4XfqlO/Z24MDhlTq2MokuSM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "02e41d27bf79b3a75167fe1cd4983c4369061706", + "rev": "2b273c2351fe1ab490158cf8acc8aafad02592ce", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1686501370, - "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", + "lastModified": 1686592866, + "narHash": "sha256-riGg89eWhXJcPNrQGcSwTEEm7CGxWC06oSX44hajeMw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", + "rev": "0eeebd64de89e4163f4d3cf34ffe925a5cf67a05", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1686476475, - "narHash": "sha256-W9yUePvCSDghn+YUXewuodyPxt+kJl/a7zdY4Q6r4MU=", + "lastModified": 1686656800, + "narHash": "sha256-duScdQZNeZcde0JwmQ9W4XfqlO/Z24MDhlTq2MokuSM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eef86b8a942913a828b9ef13722835f359deef29", + "rev": "2b273c2351fe1ab490158cf8acc8aafad02592ce", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1686732300, - "narHash": "sha256-7wwhRQ4X5vZF8c6xCL9FuF1meGvjmjg5uSb6DMZo7nE=", + "lastModified": 1686807758, + "narHash": "sha256-0Kg2VqEZzrwZubTrtj+fu77F/IftkDH6ZESwe4ZXkfw=", "owner": "nix-community", "repo": "NUR", - "rev": "7ea3c0a513ce7538c139876763f5c9c87c4f1d99", + "rev": "53bdfe0d57ba919516d99906d18db3a6f96b53f2", "type": "github" }, "original": { From 8bb9f139983ee9f4ee548bed376dcd211742d981 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 16 Jun 2023 09:36:40 +0200 Subject: [PATCH 1341/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/6cdbf0b3ea8ace3272707168d74b44c9d991c502' (2023-06-15) → 'github:nix-community/neovim-nightly-overlay/df48bf7c3171edb95dbe22efee5a149837f28bb0' (2023-06-16) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/657935127398706754113c1cea5800798ecb99a7' (2023-06-07) → 'github:hercules-ci/hercules-ci-effects/04e4ab63b9eed2452edee1bb698827e1cb8265c6' (2023-06-15) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent': 'github:hercules-ci/hercules-ci-agent/febf6540ed5fd55812933c159e59742743277b30' (2023-06-07) → 'github:hercules-ci/hercules-ci-agent/7192b83935ab292a8e894db590dfd44f976e183b' (2023-06-14) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/flake-parts': 'github:hercules-ci/flake-parts/dcc36e45d054d7bb554c9cdab69093debd91a0b5' (2023-04-01) → 'github:hercules-ci/flake-parts/71fb97f0d875fd4de4994dfb849f2c75e17eb6c3' (2023-06-01) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/haskell-flake': 'github:srid/haskell-flake/26852ade574c712bc3912ad28de52b0c4cf7d4cb' (2023-03-13) → 'github:srid/haskell-flake/74210fa80a49f1b6f67223debdbf1494596ff9f2' (2023-05-22) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nixpkgs': 'github:NixOS/nixpkgs/e3652e0735fbec227f342712f180f4f21f0594f2' (2023-03-30) → 'github:NixOS/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/cf6cffda89ad0b22de0ddd4ca7abcb714da812d0?dir=contrib' (2023-06-14) → 'github:neovim/neovim/ddba917efee26229d77f86d14a9f62dcfdc822b8?dir=contrib' (2023-06-15) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/7e63eed145566cca98158613f3700515b4009ce3' (2023-06-12) → 'github:NixOS/nixpkgs/683f2f5ba2ea54abb633d0b17bc9f7f6dede5799' (2023-06-15) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/2b273c2351fe1ab490158cf8acc8aafad02592ce' (2023-06-13) → 'github:NixOS/nixpkgs/98be10c950909515f626a776e862c24589fde969' (2023-06-14) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/2b273c2351fe1ab490158cf8acc8aafad02592ce' (2023-06-13) → 'github:nixos/nixpkgs/9e498316deb36e7afa4bb61e2f95a20865a7475e' (2023-06-15) • Updated input 'nur': 'github:nix-community/NUR/53bdfe0d57ba919516d99906d18db3a6f96b53f2' (2023-06-15) → 'github:nix-community/NUR/c0573bc27f896dc06b488961e88fec7a997ab7df' (2023-06-16) --- flake.lock | 68 +++++++++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index 1f8d5531..525b3b4c 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1680392223, - "narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=", + "lastModified": 1685662779, + "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5", + "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", "type": "github" }, "original": { @@ -118,16 +118,16 @@ }, "haskell-flake": { "locked": { - "lastModified": 1678745009, - "narHash": "sha256-ujfwSrkxThmHJozibkCnJmlXLVyxm+Cbo2Q4wXPbCS4=", + "lastModified": 1684780604, + "narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=", "owner": "srid", "repo": "haskell-flake", - "rev": "26852ade574c712bc3912ad28de52b0c4cf7d4cb", + "rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2", "type": "github" }, "original": { "owner": "srid", - "ref": "0.2.0", + "ref": "0.3.0", "repo": "haskell-flake", "type": "github" } @@ -139,11 +139,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1686138353, - "narHash": "sha256-e0wDTIySFCfZMSYQNVGY/d6jjwcua3y6igouI8CejQ8=", + "lastModified": 1686721748, + "narHash": "sha256-ilD6ANYID+b0/+GTFbuZXfmu92bqVqY5ITKXSxqIp5A=", "owner": "hercules-ci", "repo": "hercules-ci-agent", - "rev": "febf6540ed5fd55812933c159e59742743277b30", + "rev": "7192b83935ab292a8e894db590dfd44f976e183b", "type": "github" }, "original": { @@ -161,11 +161,11 @@ ] }, "locked": { - "lastModified": 1686181431, - "narHash": "sha256-S1IsZGwcMChJg3mgnKdFxh2c/D77B1NoOCd8s3tQQIg=", + "lastModified": 1686830987, + "narHash": "sha256-1XLTM0lFr3NV+0rd55SQW/8oQ3ACnqlYcda3FelIwHU=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "657935127398706754113c1cea5800798ecb99a7", + "rev": "04e4ab63b9eed2452edee1bb698827e1cb8265c6", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1686781395, - "narHash": "sha256-XKUD6p34cAsOYcmh6R8acKjhYIFNWVNkzSeasNT3Kgs=", + "lastModified": 1686870141, + "narHash": "sha256-i/cr7/rm4fnHQOAQUl4wgkeMHHc9EkH5aDSUqOgqPVA=", "owner": "neovim", "repo": "neovim", - "rev": "cf6cffda89ad0b22de0ddd4ca7abcb714da812d0", + "rev": "ddba917efee26229d77f86d14a9f62dcfdc822b8", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1686787505, - "narHash": "sha256-/fqZxR1DE1t2D3Unbv0eELuNyHs/LQPmnXJfCZBTupU=", + "lastModified": 1686874000, + "narHash": "sha256-mDPFcoJQ+S2unEdxV/OqvxHzsBiVh3/dG5jdyByLwKc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "6cdbf0b3ea8ace3272707168d74b44c9d991c502", + "rev": "df48bf7c3171edb95dbe22efee5a149837f28bb0", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1680213900, - "narHash": "sha256-cIDr5WZIj3EkKyCgj/6j3HBH4Jj1W296z7HTcWj1aMA=", + "lastModified": 1686501370, + "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e3652e0735fbec227f342712f180f4f21f0594f2", + "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1686656800, - "narHash": "sha256-duScdQZNeZcde0JwmQ9W4XfqlO/Z24MDhlTq2MokuSM=", + "lastModified": 1686836548, + "narHash": "sha256-D7Si/u9A/MoKsThwcY7dFD91jUCnkxOLZyazdrOPTk0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2b273c2351fe1ab490158cf8acc8aafad02592ce", + "rev": "9e498316deb36e7afa4bb61e2f95a20865a7475e", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1686582075, - "narHash": "sha256-vtflsfKkHtF8IduxDNtbme4cojiqvlvjp5QNYhvoHXc=", + "lastModified": 1686828063, + "narHash": "sha256-Cv0Sx1N5+3xBDF5OnmFU3Qoh9OqZmXDBKg1fgXlXTWs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7e63eed145566cca98158613f3700515b4009ce3", + "rev": "683f2f5ba2ea54abb633d0b17bc9f7f6dede5799", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1686656800, - "narHash": "sha256-duScdQZNeZcde0JwmQ9W4XfqlO/Z24MDhlTq2MokuSM=", + "lastModified": 1686751072, + "narHash": "sha256-i4TGoVhWiwSkGV8D8Hk8A3MZ68rmAxknEVwTYkE3Wjk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2b273c2351fe1ab490158cf8acc8aafad02592ce", + "rev": "98be10c950909515f626a776e862c24589fde969", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1686807758, - "narHash": "sha256-0Kg2VqEZzrwZubTrtj+fu77F/IftkDH6ZESwe4ZXkfw=", + "lastModified": 1686900194, + "narHash": "sha256-3WOh2uosgLY74G1mrseC8CIyRPkXCa5dHR3B3n9VPNs=", "owner": "nix-community", "repo": "NUR", - "rev": "53bdfe0d57ba919516d99906d18db3a6f96b53f2", + "rev": "c0573bc27f896dc06b488961e88fec7a997ab7df", "type": "github" }, "original": { From 14adf391ed8b6d6f3e50ed857769ff7f3aaea1ba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 16 Jun 2023 16:37:15 +0200 Subject: [PATCH 1342/2080] lazvim: LuaSnip building on macos is now working OK. --- lazyvim/nvim/lua/plugins/coding.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index acb84ead..7a4ffcb6 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -287,9 +287,6 @@ return { -- Use <tab> for completion and snippets (supertab). { "L3MON4D3/LuaSnip", - -- FIXME: build not working using system gcc - -- https://github.com/L3MON4D3/LuaSnip/blob/master/Makefile - -- build = "make install_jsregexp LUAJIT_OSX_PATH=/opt/bin", keys = function() return {} end, From ed975ae3bedff1a8521bbfb5bdb43909e6830643 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 16 Jun 2023 16:37:36 +0200 Subject: [PATCH 1343/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 90 ++++++++++++++++++------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 04138c5b..d42499d5 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,91 +1,91 @@ { - "LazyVim": { "branch": "main", "commit": "99ce1002d7955db78c7fde84c0fbeb62df9b920d" }, - "LuaSnip": { "branch": "master", "commit": "51ebb4b6637290e1b8e0fb0d6f38b605d3c24940" }, - "SchemaStore.nvim": { "branch": "main", "commit": "2d0b27ad28443cb700835b0d6a404ffe7f29c731" }, - "alpha-nvim": { "branch": "main", "commit": "1838ae926e8d49fe5330d1498ee8289ae2c340bc" }, - "bufferline.nvim": { "branch": "main", "commit": "32d74d5d044f7cc89892d4781a83d55ee4ed552a" }, - "catppuccin": { "branch": "main", "commit": "c9cc5a997f1dae3f35b4bdd62f35958fee363ab4" }, + "LazyVim": { "branch": "main", "commit": "986a6374f4fd3f9b176105f4a3a4392b24e1953a" }, + "LuaSnip": { "branch": "master", "commit": "4964cd11e19de4671189b97de37f3c4930d43191" }, + "SchemaStore.nvim": { "branch": "main", "commit": "f0c276e019f50d039d2556454040769474dde02a" }, + "alpha-nvim": { "branch": "main", "commit": "9e33db324b8bb7a147bce9ea5496686ee859461d" }, + "bufferline.nvim": { "branch": "main", "commit": "02d795081e6a24ec1fd506c513491543793d0780" }, + "catppuccin": { "branch": "main", "commit": "ad6305594737e16155c41c176c611e865c26bb6d" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "5af1bb7d722ef8a96658f01d6eb219c4cf746b32" }, + "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "dial.nvim": { "branch": "master", "commit": "747d6fd009dbc1904627868125e16cfa7c524b0d" }, - "diffview.nvim": { "branch": "main", "commit": "bff58a6ea3e081ca50049700f9848b2f84ea57be" }, - "dressing.nvim": { "branch": "master", "commit": "f19cbd56f7f8cad212c58a7285d09c5d9c273896" }, + "dial.nvim": { "branch": "master", "commit": "b3916370c24c498117a4c790b2752c437dab661a" }, + "diffview.nvim": { "branch": "main", "commit": "b3a763f8c7810b352226c95faa7d3ac9fb93b8d9" }, + "dressing.nvim": { "branch": "master", "commit": "8b1a436b207bad99e43a2485d287bc38dbcc4c81" }, "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "0dd6114bea08276d9111d58c5dce5e256bbc8921" }, - "gitsigns.nvim": { "branch": "main", "commit": "f868d82a36f7f7f5e110eb0a9659993984f59875" }, + "friendly-snippets": { "branch": "main", "commit": "9ec817dedd4474f16fc170910da9a2f5a8b262b6" }, + "gitsigns.nvim": { "branch": "main", "commit": "4f8f66da9816ec4c4847653c9ab9bcb9c609508c" }, "gx.nvim": { "branch": "main", "commit": "9f7a264a4180b307a6d0b2c570576fc5fbc5389e" }, - "inc-rename.nvim": { "branch": "main", "commit": "fb1b7468f27d874feb209eac46be5205e20b7fd3" }, + "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "7075d7861f7a6bbf0de0298c83f8a13195e6ec01" }, - "lazy.nvim": { "branch": "main", "commit": "ebdd0499551765e6a7aba220cc8ae4e0cdb6be69" }, - "leap.nvim": { "branch": "main", "commit": "ecb6b6eaafc761e3eaee3c0b7ea37674c038c8d6" }, + "lazy.nvim": { "branch": "main", "commit": "6b2311a46a3808e366bb251270f4cc04afb421ed" }, + "leap.nvim": { "branch": "main", "commit": "14b5a65190fe69388a8f59c695ed3394a10d6af8" }, "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "f0ce33f4794a2364eb08d09d09380e8b04ec5e6a" }, - "mason.nvim": { "branch": "main", "commit": "7d7efc738e08fc5bee822857db45cb6103f0b0c1" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "d381fcb78d7a562c3244e1c8f76406954649db36" }, + "mason.nvim": { "branch": "main", "commit": "4be1226f48bc2011024110f37b17f5ee468df58f" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "44d7df1340b16b16b27b67fba07028cb57f45408" }, - "mini.animate": { "branch": "main", "commit": "119b56f1a29a792561ee6bfc2c55c059f671d0ea" }, + "mini.animate": { "branch": "main", "commit": "b0978ee3dd0dafd644d0bc6c37c396dbe8658342" }, "mini.bracketed": { "branch": "main", "commit": "4d5d8d8cfadb82b4e2d9196da2ecd5cd938a9c48" }, "mini.bufremove": { "branch": "main", "commit": "14805473144fffbd019d07e51bed2d176e065ee9" }, "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, - "mini.hipatterns": { "branch": "main", "commit": "3e5741e5944b2b388c2259d6254465c86b51df32" }, + "mini.hipatterns": { "branch": "main", "commit": "eb93970cf1f92233e6475008dfc10fac7b025475" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, - "mini.surround": { "branch": "main", "commit": "eeaf96562947f75afa51a6266e066529369ca7ef" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "8c89efb93b8383666a6f989762c2f610f5f2c930" }, - "neoconf.nvim": { "branch": "main", "commit": "27714f819bb1030f00d437c0341d420b649e0021" }, - "neodev.nvim": { "branch": "main", "commit": "358f11c585fdccfcb5e8eae720c423fbed6d92de" }, - "neogen": { "branch": "main", "commit": "72238bfb7099ed346e3742e815f13c3fe35f51ab" }, - "neogit": { "branch": "master", "commit": "80be328067b370744c39323674a2ebaf515dea14" }, - "neorg": { "branch": "main", "commit": "e0fcf254fbdb95fa0918692aee1c93b938e883f8" }, - "noice.nvim": { "branch": "main", "commit": "7e358170cea2314d9768b3f63616e8fad186195e" }, - "nui.nvim": { "branch": "main", "commit": "2b2732528e4a79eb8542568bd51d25f710395bd6" }, - "null-ls.nvim": { "branch": "main", "commit": "c89333e034a8daba654ebfcf9a4ec9f87765f01e" }, - "nvim-cmp": { "branch": "main", "commit": "fc0f694af1a742ada77e5b1c91ff405c746f4a26" }, - "nvim-lspconfig": { "branch": "master", "commit": "9166622781a39a829878d1fd24c174529d996838" }, + "mini.surround": { "branch": "main", "commit": "14f418209ecf52d1a8de9d091eb6bd63c31a4e01" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "d883632bf8f92f1d5abea4a9c28fb2f90aa795aa" }, + "neoconf.nvim": { "branch": "main", "commit": "ce304a275e7f2d1547279332ff99e18e93e771a4" }, + "neodev.nvim": { "branch": "main", "commit": "b41da3926ce1c022a2f6a7ea8858889c3a8be4d7" }, + "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, + "neogit": { "branch": "master", "commit": "68a3e90e9d1ed9e362317817851d0f34b19e426b" }, + "neorg": { "branch": "main", "commit": "9a55117b6175e63d86346bb893392cdf0b6ad2cc" }, + "noice.nvim": { "branch": "main", "commit": "a3318600bc1eba2cca84e879048c1ab8d4a0262d" }, + "nui.nvim": { "branch": "main", "commit": "e319f2554d14a521f4271576ebff2685105d7628" }, + "null-ls.nvim": { "branch": "main", "commit": "bbaf5a96913aa92281f154b08732be2f57021c45" }, + "nvim-cmp": { "branch": "main", "commit": "b8c2a62b3bd3827aa059b43be3dd4b5c45037d65" }, + "nvim-lspconfig": { "branch": "master", "commit": "295c646488d5baa63c6c4da68fe61171b9257375" }, "nvim-navic": { "branch": "master", "commit": "15704c607569d6c5cfeab486d3ef9459645a70ce" }, - "nvim-notify": { "branch": "master", "commit": "f3024b912073774111202f5fa6518b0cd2a74432" }, + "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "1abe23ec9b7bc3082164f4cb842d521ef70e080e" }, - "nvim-spider": { "branch": "main", "commit": "ef0c75f9292bcd604418af0a860c86b1c26fdfe7" }, + "nvim-spectre": { "branch": "master", "commit": "8adb05dbfbd36862d700b5c3d1c26f0febf3f10d" }, + "nvim-spider": { "branch": "main", "commit": "04c6fc14d09823002dae486100745011fc3201ca" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "56c63529c052a179134842c56c6df5728cc375da" }, - "nvim-treesitter-context": { "branch": "master", "commit": "2182556aab4524b4fa8d00031bf1228ea2e4a023" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "95b76b95eff25e1e64f363938cd853852355d70a" }, + "nvim-treesitter": { "branch": "master", "commit": "150a4c9fa4743b9af7b95f68746778394ce2ac93" }, + "nvim-treesitter-context": { "branch": "master", "commit": "efe87061af560847679fca93697991e474f049e2" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "2d6d3c7e49a24f6ffbbf7898241fefe9784f61bd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, "nvim-ufo": { "branch": "main", "commit": "45aede6f5c4981156df3ddeeae01c4290e43e104" }, "nvim-web-devicons": { "branch": "master", "commit": "2a125024a137677930efcfdf720f205504c97268" }, - "octo.nvim": { "branch": "master", "commit": "0ea81c0cda4d21d054d78cd1bca7e1371df1969f" }, + "octo.nvim": { "branch": "master", "commit": "f498fd88bc0d9983a7fb566fa5535f8e38b874c0" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, - "plenary.nvim": { "branch": "master", "commit": "499e0743cf5e8075cd32af68baa3946a1c76adf1" }, + "plenary.nvim": { "branch": "master", "commit": "36aaceb6e93addd20b1b18f94d86aecc552f30c4" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "a85dfff2602b739627b9f8a831de8c3e7b2993ae" }, + "refactoring.nvim": { "branch": "master", "commit": "08bcc40638cd4debd5184f934971858e1c5acff4" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "58d0d12191adee41fce7ef20d46d1203efa0d11e" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "6d3fbffe426794296a77bb0b37b6ae0f4f14f807" }, + "telescope.nvim": { "branch": "master", "commit": "00cf15074a2997487813672a75f946d2ead95eb0" }, "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, "tokyonight.nvim": { "branch": "main", "commit": "161114bd39b990995e08dbf941f6821afbdcd666" }, - "trouble.nvim": { "branch": "main", "commit": "324c977cfeacb8498ca9ba1c74cc35bd18858a8d" }, + "trouble.nvim": { "branch": "main", "commit": "2af0dd9767526410c88c628f1cbfcb6cf22dd683" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, - "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, + "typescript.nvim": { "branch": "main", "commit": "5b3680e5c386e8778c081173ea0c978c14a40ccb" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "02b906cf772811a6845f2d5caaa81152beb65d6b" }, + "vim-matchup": { "branch": "master", "commit": "3625e099b09bff2db5f04082cb09ba679525980c" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "8eed46917c5c4882b295729ce053265c2a74ac4d" }, + "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "e271c28118998c93a14d189af3395812a1aa646c" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } From 92cac45f9634eed6791f2402b18baed937eb99ab Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 19 Jun 2023 11:24:46 +0200 Subject: [PATCH 1344/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/7c16d31383a90e0e72ace0c35d2d66a18f90fb4f' (2023-06-09) → 'github:lnl7/nix-darwin/8a5af0da9d8dab8a188436750489e304ac682085' (2023-06-18) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/df48bf7c3171edb95dbe22efee5a149837f28bb0' (2023-06-16) → 'github:nix-community/neovim-nightly-overlay/0e9b38f09c214547d4a20e053cdb9c8a07e5ed61' (2023-06-19) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/ddba917efee26229d77f86d14a9f62dcfdc822b8?dir=contrib' (2023-06-15) → 'github:neovim/neovim/8c9dab3e0d788d44c8a2fee83a6193f5955c814e?dir=contrib' (2023-06-18) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/683f2f5ba2ea54abb633d0b17bc9f7f6dede5799' (2023-06-15) → 'github:NixOS/nixpkgs/91430887645a0953568da2f3e9a3a3bb0a0378ac' (2023-06-18) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/98be10c950909515f626a776e862c24589fde969' (2023-06-14) → 'github:NixOS/nixpkgs/50d2e0780758fcb41cf5e494a51624cbf6c40b20' (2023-06-17) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/9e498316deb36e7afa4bb61e2f95a20865a7475e' (2023-06-15) → 'github:nixos/nixpkgs/50d2e0780758fcb41cf5e494a51624cbf6c40b20' (2023-06-17) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/0eeebd64de89e4163f4d3cf34ffe925a5cf67a05' (2023-06-12) → 'github:nixos/nixpkgs/04af42f3b31dba0ef742d254456dc4c14eedac86' (2023-06-17) • Updated input 'nur': 'github:nix-community/NUR/c0573bc27f896dc06b488961e88fec7a997ab7df' (2023-06-16) → 'github:nix-community/NUR/eb1ad54daef0441c762afe2ba87e800f7aea9cc2' (2023-06-19) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 525b3b4c..bd771a40 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1686307493, - "narHash": "sha256-R4VEFnDn7nRmNxAu1LwNbjns5DPM8IBsvnrWmZ8ymPs=", + "lastModified": 1687110393, + "narHash": "sha256-SnkdWeZ8PZd3Dc74iFF8xiE7qDp5+z3Yps2mE79tsM0=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "7c16d31383a90e0e72ace0c35d2d66a18f90fb4f", + "rev": "8a5af0da9d8dab8a188436750489e304ac682085", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1686870141, - "narHash": "sha256-i/cr7/rm4fnHQOAQUl4wgkeMHHc9EkH5aDSUqOgqPVA=", + "lastModified": 1687099337, + "narHash": "sha256-+U0IdfDPcnnrpszBsOnehX1VmsKK1xoKuI5406iJQ7Q=", "owner": "neovim", "repo": "neovim", - "rev": "ddba917efee26229d77f86d14a9f62dcfdc822b8", + "rev": "8c9dab3e0d788d44c8a2fee83a6193f5955c814e", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1686874000, - "narHash": "sha256-mDPFcoJQ+S2unEdxV/OqvxHzsBiVh3/dG5jdyByLwKc=", + "lastModified": 1687133587, + "narHash": "sha256-rBjlDbj3ZKdJqNw8b8Ix7VF5jZJ9246YZoNDjyhjo1Q=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "df48bf7c3171edb95dbe22efee5a149837f28bb0", + "rev": "0e9b38f09c214547d4a20e053cdb9c8a07e5ed61", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1686836548, - "narHash": "sha256-D7Si/u9A/MoKsThwcY7dFD91jUCnkxOLZyazdrOPTk0=", + "lastModified": 1687019075, + "narHash": "sha256-YjB+tp0DPfzct8XmXNW1UAfQp0irIVM7nGcJPiqT61c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9e498316deb36e7afa4bb61e2f95a20865a7475e", + "rev": "50d2e0780758fcb41cf5e494a51624cbf6c40b20", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1686592866, - "narHash": "sha256-riGg89eWhXJcPNrQGcSwTEEm7CGxWC06oSX44hajeMw=", + "lastModified": 1686960236, + "narHash": "sha256-AYCC9rXNLpUWzD9hm+askOfpliLEC9kwAo7ITJc4HIw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0eeebd64de89e4163f4d3cf34ffe925a5cf67a05", + "rev": "04af42f3b31dba0ef742d254456dc4c14eedac86", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1686828063, - "narHash": "sha256-Cv0Sx1N5+3xBDF5OnmFU3Qoh9OqZmXDBKg1fgXlXTWs=", + "lastModified": 1687103638, + "narHash": "sha256-dwy/TK6Db5W7ivcgmcxUykhFwodIg0jrRzOFt7H5NUc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "683f2f5ba2ea54abb633d0b17bc9f7f6dede5799", + "rev": "91430887645a0953568da2f3e9a3a3bb0a0378ac", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1686751072, - "narHash": "sha256-i4TGoVhWiwSkGV8D8Hk8A3MZ68rmAxknEVwTYkE3Wjk=", + "lastModified": 1687019075, + "narHash": "sha256-YjB+tp0DPfzct8XmXNW1UAfQp0irIVM7nGcJPiqT61c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "98be10c950909515f626a776e862c24589fde969", + "rev": "50d2e0780758fcb41cf5e494a51624cbf6c40b20", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1686900194, - "narHash": "sha256-3WOh2uosgLY74G1mrseC8CIyRPkXCa5dHR3B3n9VPNs=", + "lastModified": 1687162861, + "narHash": "sha256-rpJIYiK2j3RkOOvmazTS+TVYa6PRnLhec8c2W1GwvOs=", "owner": "nix-community", "repo": "NUR", - "rev": "c0573bc27f896dc06b488961e88fec7a997ab7df", + "rev": "eb1ad54daef0441c762afe2ba87e800f7aea9cc2", "type": "github" }, "original": { From 73547b221cae5d8e0719e92d38e5434a6ab7167b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 20 Jun 2023 09:34:16 +0200 Subject: [PATCH 1345/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0e9b38f09c214547d4a20e053cdb9c8a07e5ed61' (2023-06-19) → 'github:nix-community/neovim-nightly-overlay/255b36edfa90630e5e48e50df1aa252ac1af3dfe' (2023-06-20) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/8c9dab3e0d788d44c8a2fee83a6193f5955c814e?dir=contrib' (2023-06-18) → 'github:neovim/neovim/72a6643b1380cdf6f1153d70eeaffb90bdca30d6?dir=contrib' (2023-06-19) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/91430887645a0953568da2f3e9a3a3bb0a0378ac' (2023-06-18) → 'github:NixOS/nixpkgs/c1bca7fe84c646cfd4ebf3482c0e6317a0b13f22' (2023-06-18) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/50d2e0780758fcb41cf5e494a51624cbf6c40b20' (2023-06-17) → 'github:NixOS/nixpkgs/fc95eb4fc3c978e92f28c0aa382dd70f79526cd4' (2023-06-18) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/50d2e0780758fcb41cf5e494a51624cbf6c40b20' (2023-06-17) → 'github:nixos/nixpkgs/fc95eb4fc3c978e92f28c0aa382dd70f79526cd4' (2023-06-18) • Updated input 'nur': 'github:nix-community/NUR/eb1ad54daef0441c762afe2ba87e800f7aea9cc2' (2023-06-19) → 'github:nix-community/NUR/75d50b0fe99a652e80ce00c64e8c9adf395dd807' (2023-06-20) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index bd771a40..60252840 100644 --- a/flake.lock +++ b/flake.lock @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687099337, - "narHash": "sha256-+U0IdfDPcnnrpszBsOnehX1VmsKK1xoKuI5406iJQ7Q=", + "lastModified": 1687189233, + "narHash": "sha256-msvJvcqKXB2AHWJ25N9nrNOTzbn8JnZlYZeDKlyza/A=", "owner": "neovim", "repo": "neovim", - "rev": "8c9dab3e0d788d44c8a2fee83a6193f5955c814e", + "rev": "72a6643b1380cdf6f1153d70eeaffb90bdca30d6", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687133587, - "narHash": "sha256-rBjlDbj3ZKdJqNw8b8Ix7VF5jZJ9246YZoNDjyhjo1Q=", + "lastModified": 1687219465, + "narHash": "sha256-FsI4McPbAuDWGaB48/YwIHvG20IUi5L/D/3FFVutXdY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0e9b38f09c214547d4a20e053cdb9c8a07e5ed61", + "rev": "255b36edfa90630e5e48e50df1aa252ac1af3dfe", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1687019075, - "narHash": "sha256-YjB+tp0DPfzct8XmXNW1UAfQp0irIVM7nGcJPiqT61c=", + "lastModified": 1687091411, + "narHash": "sha256-NQixNejr68bF+Ib4t7ZxfR8nh6h+L41c7v6QPfWywyk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "50d2e0780758fcb41cf5e494a51624cbf6c40b20", + "rev": "fc95eb4fc3c978e92f28c0aa382dd70f79526cd4", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687103638, - "narHash": "sha256-dwy/TK6Db5W7ivcgmcxUykhFwodIg0jrRzOFt7H5NUc=", + "lastModified": 1687130670, + "narHash": "sha256-VKTdfsJe7sVTTqxTd3eRGPoUgEeJKD+kwS86B6TY874=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "91430887645a0953568da2f3e9a3a3bb0a0378ac", + "rev": "c1bca7fe84c646cfd4ebf3482c0e6317a0b13f22", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1687019075, - "narHash": "sha256-YjB+tp0DPfzct8XmXNW1UAfQp0irIVM7nGcJPiqT61c=", + "lastModified": 1687091411, + "narHash": "sha256-NQixNejr68bF+Ib4t7ZxfR8nh6h+L41c7v6QPfWywyk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "50d2e0780758fcb41cf5e494a51624cbf6c40b20", + "rev": "fc95eb4fc3c978e92f28c0aa382dd70f79526cd4", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687162861, - "narHash": "sha256-rpJIYiK2j3RkOOvmazTS+TVYa6PRnLhec8c2W1GwvOs=", + "lastModified": 1687242811, + "narHash": "sha256-PHdt+saMHnW6vcUGDnJxBWSBx8tDI7lePpgNdfujEfQ=", "owner": "nix-community", "repo": "NUR", - "rev": "eb1ad54daef0441c762afe2ba87e800f7aea9cc2", + "rev": "75d50b0fe99a652e80ce00c64e8c9adf395dd807", "type": "github" }, "original": { From b5523e83680f0825fe0445a5ca4c8242adb2ae59 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 20 Jun 2023 15:03:57 +0200 Subject: [PATCH 1346/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/75d50b0fe99a652e80ce00c64e8c9adf395dd807' (2023-06-20) → 'github:nix-community/NUR/536dfdea109762349d82432f2a77337e38ffbfc6' (2023-06-20) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 60252840..4c2a3a4c 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687242811, - "narHash": "sha256-PHdt+saMHnW6vcUGDnJxBWSBx8tDI7lePpgNdfujEfQ=", + "lastModified": 1687266000, + "narHash": "sha256-wghqhyOpMmZ++sUkiv28fLE9giFhbiAm0lk46fdZzUU=", "owner": "nix-community", "repo": "NUR", - "rev": "75d50b0fe99a652e80ce00c64e8c9adf395dd807", + "rev": "536dfdea109762349d82432f2a77337e38ffbfc6", "type": "github" }, "original": { From 19f816074a4e0cf9e7cf8f72fdce7636bc244eb1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 21 Jun 2023 17:09:35 +0200 Subject: [PATCH 1347/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/8a5af0da9d8dab8a188436750489e304ac682085' (2023-06-18) → 'github:lnl7/nix-darwin/ed275afbbaad9b0670e2aeac3ae542595255d604' (2023-06-20) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/255b36edfa90630e5e48e50df1aa252ac1af3dfe' (2023-06-20) → 'github:nix-community/neovim-nightly-overlay/3293647eeb76c09d03f6d12ee38472a87f303836' (2023-06-21) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/72a6643b1380cdf6f1153d70eeaffb90bdca30d6?dir=contrib' (2023-06-19) → 'github:neovim/neovim/3bf887f6e08fa272679187340ca483809275b20a?dir=contrib' (2023-06-20) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/c1bca7fe84c646cfd4ebf3482c0e6317a0b13f22' (2023-06-18) → 'github:NixOS/nixpkgs/2c9ecd1f0400076a4d6b2193ad468ff0a7e7fdc5' (2023-06-20) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/fc95eb4fc3c978e92f28c0aa382dd70f79526cd4' (2023-06-18) → 'github:nixos/nixpkgs/03091c9ffd7033ea855d0216111c4a9975c5780f' (2023-06-21) • Updated input 'nur': 'github:nix-community/NUR/536dfdea109762349d82432f2a77337e38ffbfc6' (2023-06-20) → 'github:nix-community/NUR/c1dac80f925350c055934ec8c8bdafdae95d9091' (2023-06-21) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 4c2a3a4c..8d073e00 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1687110393, - "narHash": "sha256-SnkdWeZ8PZd3Dc74iFF8xiE7qDp5+z3Yps2mE79tsM0=", + "lastModified": 1687290953, + "narHash": "sha256-PF0VGsuLxozDPLEGajGnb5usoO1v7YzzqOcG6k4ndQ4=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "8a5af0da9d8dab8a188436750489e304ac682085", + "rev": "ed275afbbaad9b0670e2aeac3ae542595255d604", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687189233, - "narHash": "sha256-msvJvcqKXB2AHWJ25N9nrNOTzbn8JnZlYZeDKlyza/A=", + "lastModified": 1687288633, + "narHash": "sha256-ruvOPW2915R3Jbb/PCKUCwojA9koBK+D+NFu1ZWpZHA=", "owner": "neovim", "repo": "neovim", - "rev": "72a6643b1380cdf6f1153d70eeaffb90bdca30d6", + "rev": "3bf887f6e08fa272679187340ca483809275b20a", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687219465, - "narHash": "sha256-FsI4McPbAuDWGaB48/YwIHvG20IUi5L/D/3FFVutXdY=", + "lastModified": 1687305901, + "narHash": "sha256-dOxIJUGafmsBgvQp9wrX7AkH9Dgc55bFUtARBSsvvg8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "255b36edfa90630e5e48e50df1aa252ac1af3dfe", + "rev": "3293647eeb76c09d03f6d12ee38472a87f303836", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1687091411, - "narHash": "sha256-NQixNejr68bF+Ib4t7ZxfR8nh6h+L41c7v6QPfWywyk=", + "lastModified": 1687306699, + "narHash": "sha256-7FSpk1d9drY1m1dsXYWHzNLE0vf64pwbTOrkMBybXPU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fc95eb4fc3c978e92f28c0aa382dd70f79526cd4", + "rev": "03091c9ffd7033ea855d0216111c4a9975c5780f", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687130670, - "narHash": "sha256-VKTdfsJe7sVTTqxTd3eRGPoUgEeJKD+kwS86B6TY874=", + "lastModified": 1687274257, + "narHash": "sha256-TutzPriQcZ8FghDhEolnHcYU2oHIG5XWF+/SUBNnAOE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c1bca7fe84c646cfd4ebf3482c0e6317a0b13f22", + "rev": "2c9ecd1f0400076a4d6b2193ad468ff0a7e7fdc5", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687266000, - "narHash": "sha256-wghqhyOpMmZ++sUkiv28fLE9giFhbiAm0lk46fdZzUU=", + "lastModified": 1687355939, + "narHash": "sha256-WIm5yN5Eebyk2pSNASSVLyxsSWv/IUmIo8jI5AjxAII=", "owner": "nix-community", "repo": "NUR", - "rev": "536dfdea109762349d82432f2a77337e38ffbfc6", + "rev": "c1dac80f925350c055934ec8c8bdafdae95d9091", "type": "github" }, "original": { From 456d71958fbed7507570fc735996a7e7673b78f9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 26 Jun 2023 09:23:05 +0200 Subject: [PATCH 1348/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/ed275afbbaad9b0670e2aeac3ae542595255d604' (2023-06-20) → 'github:lnl7/nix-darwin/25ae710ba3cd448c5d5678788d37f3d149378bc0' (2023-06-25) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/3293647eeb76c09d03f6d12ee38472a87f303836' (2023-06-21) → 'github:nix-community/neovim-nightly-overlay/c5cf4a6dbf6940fe46db0a2c75d38e5c8b599f29' (2023-06-26) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/3bf887f6e08fa272679187340ca483809275b20a?dir=contrib' (2023-06-20) → 'github:neovim/neovim/91aeaeef64da56b1cce37a04b86e831241ce7ff9?dir=contrib' (2023-06-25) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/2c9ecd1f0400076a4d6b2193ad468ff0a7e7fdc5' (2023-06-20) → 'github:NixOS/nixpkgs/07059ee2fa34f1598758839b9af87eae7f7ae6ea' (2023-06-25) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/fc95eb4fc3c978e92f28c0aa382dd70f79526cd4' (2023-06-18) → 'github:NixOS/nixpkgs/9dbd51e1f1ed01893caffb7fe25c422cb10b8282' (2023-06-24) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/03091c9ffd7033ea855d0216111c4a9975c5780f' (2023-06-21) → 'github:nixos/nixpkgs/6610eb320efb234025e477e51ae7625ccd65a2e8' (2023-06-25) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/04af42f3b31dba0ef742d254456dc4c14eedac86' (2023-06-17) → 'github:nixos/nixpkgs/1c9db9710cb23d60570ad4d7ab829c2d34403de3' (2023-06-25) • Updated input 'nur': 'github:nix-community/NUR/c1dac80f925350c055934ec8c8bdafdae95d9091' (2023-06-21) → 'github:nix-community/NUR/da68afeef3694d49d5e1b150dfdff56969299ebd' (2023-06-26) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 8d073e00..161f46b8 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1687290953, - "narHash": "sha256-PF0VGsuLxozDPLEGajGnb5usoO1v7YzzqOcG6k4ndQ4=", + "lastModified": 1687691275, + "narHash": "sha256-VVywT8ubStvDPF5TscDBokT3T0l3zsOzCW056noh5zc=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "ed275afbbaad9b0670e2aeac3ae542595255d604", + "rev": "25ae710ba3cd448c5d5678788d37f3d149378bc0", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687288633, - "narHash": "sha256-ruvOPW2915R3Jbb/PCKUCwojA9koBK+D+NFu1ZWpZHA=", + "lastModified": 1687737349, + "narHash": "sha256-Bl3kmk58X3WGaMQO7kHUAthP5r/IxzqZCN4NqfyA/qA=", "owner": "neovim", "repo": "neovim", - "rev": "3bf887f6e08fa272679187340ca483809275b20a", + "rev": "91aeaeef64da56b1cce37a04b86e831241ce7ff9", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687305901, - "narHash": "sha256-dOxIJUGafmsBgvQp9wrX7AkH9Dgc55bFUtARBSsvvg8=", + "lastModified": 1687737999, + "narHash": "sha256-N62Eh3VmefnPTYCtrC8DwpCrtaD4RowzaVQYxnpkVRQ=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3293647eeb76c09d03f6d12ee38472a87f303836", + "rev": "c5cf4a6dbf6940fe46db0a2c75d38e5c8b599f29", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1687306699, - "narHash": "sha256-7FSpk1d9drY1m1dsXYWHzNLE0vf64pwbTOrkMBybXPU=", + "lastModified": 1687666471, + "narHash": "sha256-88VoE8jLzjRhH38mUUrom+zJ7GVMjuW4M321Iri5C/w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "03091c9ffd7033ea855d0216111c4a9975c5780f", + "rev": "6610eb320efb234025e477e51ae7625ccd65a2e8", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1686960236, - "narHash": "sha256-AYCC9rXNLpUWzD9hm+askOfpliLEC9kwAo7ITJc4HIw=", + "lastModified": 1687681650, + "narHash": "sha256-M2If+gRcfpmaJy/XbfSsRzLlPpoU4nr0NHnKKl50fd8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "04af42f3b31dba0ef742d254456dc4c14eedac86", + "rev": "1c9db9710cb23d60570ad4d7ab829c2d34403de3", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687274257, - "narHash": "sha256-TutzPriQcZ8FghDhEolnHcYU2oHIG5XWF+/SUBNnAOE=", + "lastModified": 1687701825, + "narHash": "sha256-aMC9hqsf+4tJL7aJWSdEUurW2TsjxtDcJBwM9Y4FIYM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2c9ecd1f0400076a4d6b2193ad468ff0a7e7fdc5", + "rev": "07059ee2fa34f1598758839b9af87eae7f7ae6ea", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1687091411, - "narHash": "sha256-NQixNejr68bF+Ib4t7ZxfR8nh6h+L41c7v6QPfWywyk=", + "lastModified": 1687596132, + "narHash": "sha256-snkoTnUJQICNvg7b+DfxPLnIen6FIucM95niW95vTJI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc95eb4fc3c978e92f28c0aa382dd70f79526cd4", + "rev": "9dbd51e1f1ed01893caffb7fe25c422cb10b8282", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687355939, - "narHash": "sha256-WIm5yN5Eebyk2pSNASSVLyxsSWv/IUmIo8jI5AjxAII=", + "lastModified": 1687747314, + "narHash": "sha256-bdS5MoEmAUoyXiCLhetMQFREdNHOJ+5l1uNS382YQZY=", "owner": "nix-community", "repo": "NUR", - "rev": "c1dac80f925350c055934ec8c8bdafdae95d9091", + "rev": "da68afeef3694d49d5e1b150dfdff56969299ebd", "type": "github" }, "original": { From 0e7c0519960454530af434b13492766a56589411 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 26 Jun 2023 12:13:45 +0200 Subject: [PATCH 1349/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/da68afeef3694d49d5e1b150dfdff56969299ebd' (2023-06-26) → 'github:nix-community/NUR/f0286202acfbb57e33fdbe703a6c8cdeccc08272' (2023-06-26) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 161f46b8..f7c025fb 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687747314, - "narHash": "sha256-bdS5MoEmAUoyXiCLhetMQFREdNHOJ+5l1uNS382YQZY=", + "lastModified": 1687772701, + "narHash": "sha256-EH/8oD6lRvWysalSAjdNNyjAb+D7EdyLr4rAFN+3S68=", "owner": "nix-community", "repo": "NUR", - "rev": "da68afeef3694d49d5e1b150dfdff56969299ebd", + "rev": "f0286202acfbb57e33fdbe703a6c8cdeccc08272", "type": "github" }, "original": { From 7056318dd8894d0b893345cfb0b30daea9dd4790 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 26 Jun 2023 14:10:20 +0200 Subject: [PATCH 1350/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/f0286202acfbb57e33fdbe703a6c8cdeccc08272' (2023-06-26) → 'github:nix-community/NUR/34ead0d72dd4d9f8cc30789b6a428ead22695d8d' (2023-06-26) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index f7c025fb..c587569a 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687772701, - "narHash": "sha256-EH/8oD6lRvWysalSAjdNNyjAb+D7EdyLr4rAFN+3S68=", + "lastModified": 1687776260, + "narHash": "sha256-Yq28TVyNU9rMpZMlax287jRwijmifORmlJjGckeNBBo=", "owner": "nix-community", "repo": "NUR", - "rev": "f0286202acfbb57e33fdbe703a6c8cdeccc08272", + "rev": "34ead0d72dd4d9f8cc30789b6a428ead22695d8d", "type": "github" }, "original": { From f69fbec75daa27c8c774f833d07ae05e74d94dc1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 26 Jun 2023 16:15:02 +0200 Subject: [PATCH 1351/2080] LazyVim: use flash to search. --- lazyvim/nvim/lua/config/lazy.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index b01c485e..416f7777 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -17,6 +17,7 @@ require("lazy").setup({ -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.ui.mini-animate" }, + { import = "lazyvim.plugins.extras.editor.flash" }, -- copilot -- FIXME: not working fully automatically, likely due to overwritting of ncim-cmp -- configuration and sources From 595c338055d1e415ac2abea67580432f06797429 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 26 Jun 2023 16:15:28 +0200 Subject: [PATCH 1352/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 75 ++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index d42499d5..f5d961d3 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,36 +1,35 @@ { - "LazyVim": { "branch": "main", "commit": "986a6374f4fd3f9b176105f4a3a4392b24e1953a" }, - "LuaSnip": { "branch": "master", "commit": "4964cd11e19de4671189b97de37f3c4930d43191" }, - "SchemaStore.nvim": { "branch": "main", "commit": "f0c276e019f50d039d2556454040769474dde02a" }, + "LazyVim": { "branch": "main", "commit": "a40f257c797d5839bb07f0e48a312eaf5951aaf4" }, + "LuaSnip": { "branch": "master", "commit": "c7984d1cca3d8615e4daefc196597872a0b8d590" }, + "SchemaStore.nvim": { "branch": "main", "commit": "7322390c9abff6f137774d9e04bddb3cd725afd1" }, "alpha-nvim": { "branch": "main", "commit": "9e33db324b8bb7a147bce9ea5496686ee859461d" }, - "bufferline.nvim": { "branch": "main", "commit": "02d795081e6a24ec1fd506c513491543793d0780" }, - "catppuccin": { "branch": "main", "commit": "ad6305594737e16155c41c176c611e865c26bb6d" }, + "bufferline.nvim": { "branch": "main", "commit": "bf2f6b7edd0abf6b0732f5e5c0a8f30e51611c75" }, + "catppuccin": { "branch": "main", "commit": "8d02781a638123394f9bc160aad47a9560a113f9" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "b3916370c24c498117a4c790b2752c437dab661a" }, "diffview.nvim": { "branch": "main", "commit": "b3a763f8c7810b352226c95faa7d3ac9fb93b8d9" }, - "dressing.nvim": { "branch": "master", "commit": "8b1a436b207bad99e43a2485d287bc38dbcc4c81" }, - "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" }, - "friendly-snippets": { "branch": "main", "commit": "9ec817dedd4474f16fc170910da9a2f5a8b262b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "4f8f66da9816ec4c4847653c9ab9bcb9c609508c" }, + "dressing.nvim": { "branch": "master", "commit": "1cbc4eef2ef7d745aa1a559b22589e33860cf077" }, + "flash.nvim": { "branch": "main", "commit": "84af5f54f65bcffe9143f75aebe7ab07a69dcb6c" }, + "friendly-snippets": { "branch": "main", "commit": "5749f093759c29e3694053d048ceb940fe12c3d3" }, + "gitsigns.nvim": { "branch": "main", "commit": "a36bc3360d584d39b4fb076d855c4180842d4444" }, "gx.nvim": { "branch": "main", "commit": "9f7a264a4180b307a6d0b2c570576fc5fbc5389e" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "7075d7861f7a6bbf0de0298c83f8a13195e6ec01" }, - "lazy.nvim": { "branch": "main", "commit": "6b2311a46a3808e366bb251270f4cc04afb421ed" }, - "leap.nvim": { "branch": "main", "commit": "14b5a65190fe69388a8f59c695ed3394a10d6af8" }, - "ltex_extra.nvim": { "branch": "master", "commit": "3ceb2401ab70c132305b3dba4dcb418d97b567ad" }, + "lazy.nvim": { "branch": "main", "commit": "b7043f2983d7aead78ca902f3f2053907081859a" }, + "ltex_extra.nvim": { "branch": "master", "commit": "f32a4ca33857a61a8cf8dcd4177fa1d02e16dee0" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "d381fcb78d7a562c3244e1c8f76406954649db36" }, - "mason.nvim": { "branch": "main", "commit": "4be1226f48bc2011024110f37b17f5ee468df58f" }, + "mason.nvim": { "branch": "main", "commit": "664c987c3b14d2262a4e580f993a3e5045baded0" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "44d7df1340b16b16b27b67fba07028cb57f45408" }, + "mini.ai": { "branch": "main", "commit": "3f5963b3f5f42d5cf545b06192e1682395f90fb3" }, "mini.animate": { "branch": "main", "commit": "b0978ee3dd0dafd644d0bc6c37c396dbe8658342" }, "mini.bracketed": { "branch": "main", "commit": "4d5d8d8cfadb82b4e2d9196da2ecd5cd938a9c48" }, "mini.bufremove": { "branch": "main", "commit": "14805473144fffbd019d07e51bed2d176e065ee9" }, @@ -39,29 +38,29 @@ "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, "mini.surround": { "branch": "main", "commit": "14f418209ecf52d1a8de9d091eb6bd63c31a4e01" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "d883632bf8f92f1d5abea4a9c28fb2f90aa795aa" }, - "neoconf.nvim": { "branch": "main", "commit": "ce304a275e7f2d1547279332ff99e18e93e771a4" }, - "neodev.nvim": { "branch": "main", "commit": "b41da3926ce1c022a2f6a7ea8858889c3a8be4d7" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "70d3daa22bf24de9e3e284ac659506b1374e3ae2" }, + "neoconf.nvim": { "branch": "main", "commit": "9625a1710a9be427a662f9ba0a383164588a41a8" }, + "neodev.nvim": { "branch": "main", "commit": "a59e3e612e85462b0410a7dce4040fd2ba37f294" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, "neogit": { "branch": "master", "commit": "68a3e90e9d1ed9e362317817851d0f34b19e426b" }, - "neorg": { "branch": "main", "commit": "9a55117b6175e63d86346bb893392cdf0b6ad2cc" }, - "noice.nvim": { "branch": "main", "commit": "a3318600bc1eba2cca84e879048c1ab8d4a0262d" }, - "nui.nvim": { "branch": "main", "commit": "e319f2554d14a521f4271576ebff2685105d7628" }, + "neorg": { "branch": "main", "commit": "6fece1546d051a5f2a2d932d5978beec1ef920ab" }, + "noice.nvim": { "branch": "main", "commit": "4f4a1702a3b2677878e68111af95cc4e775322e1" }, + "nui.nvim": { "branch": "main", "commit": "d146966a423e60699b084eeb28489fe3b6427599" }, "null-ls.nvim": { "branch": "main", "commit": "bbaf5a96913aa92281f154b08732be2f57021c45" }, - "nvim-cmp": { "branch": "main", "commit": "b8c2a62b3bd3827aa059b43be3dd4b5c45037d65" }, - "nvim-lspconfig": { "branch": "master", "commit": "295c646488d5baa63c6c4da68fe61171b9257375" }, - "nvim-navic": { "branch": "master", "commit": "15704c607569d6c5cfeab486d3ef9459645a70ce" }, + "nvim-cmp": { "branch": "main", "commit": "e1f1b40790a8cb7e64091fb12cc5ffe350363aa0" }, + "nvim-lspconfig": { "branch": "master", "commit": "b6b34b9acf84949f0ac1c00747765e62b81fb38d" }, + "nvim-navic": { "branch": "master", "commit": "32cff45f1c84bec5e2a7bf15c0f3c6739b64c85d" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "8adb05dbfbd36862d700b5c3d1c26f0febf3f10d" }, + "nvim-spectre": { "branch": "master", "commit": "f4dc98ec45ecded2344aa3aac2d7cc43ad236858" }, "nvim-spider": { "branch": "main", "commit": "04c6fc14d09823002dae486100745011fc3201ca" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "150a4c9fa4743b9af7b95f68746778394ce2ac93" }, - "nvim-treesitter-context": { "branch": "master", "commit": "efe87061af560847679fca93697991e474f049e2" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "2d6d3c7e49a24f6ffbbf7898241fefe9784f61bd" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bf8fbc2ca8f8cdb6efbd0a9e32740d7a991e4c3" }, - "nvim-ufo": { "branch": "main", "commit": "45aede6f5c4981156df3ddeeae01c4290e43e104" }, - "nvim-web-devicons": { "branch": "master", "commit": "2a125024a137677930efcfdf720f205504c97268" }, + "nvim-treesitter": { "branch": "master", "commit": "d49ba798c95398e62321b40041e8ac4654fea251" }, + "nvim-treesitter-context": { "branch": "master", "commit": "6eccc445394df5ab9b1c1e2c445c033949a6a784" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "83c59ed1eeae70a55605990993cf4d208948fdf7" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, + "nvim-ufo": { "branch": "main", "commit": "43e39ec74cd57c45ca9d8229a796750f6083b850" }, + "nvim-web-devicons": { "branch": "master", "commit": "9ab9b0b894b2388a9dbcdee5f00ce72e25d85bf9" }, "octo.nvim": { "branch": "master", "commit": "f498fd88bc0d9983a7fb566fa5535f8e38b874c0" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, @@ -69,24 +68,24 @@ "plenary.nvim": { "branch": "master", "commit": "36aaceb6e93addd20b1b18f94d86aecc552f30c4" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "08bcc40638cd4debd5184f934971858e1c5acff4" }, + "refactoring.nvim": { "branch": "master", "commit": "9f28801ed1803306ddbe5b8058849da412a90648" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, - "styler.nvim": { "branch": "main", "commit": "58d0d12191adee41fce7ef20d46d1203efa0d11e" }, + "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "00cf15074a2997487813672a75f946d2ead95eb0" }, + "telescope.nvim": { "branch": "master", "commit": "6074847b6ee4b725747c8fc540d9b6b128ac8a12" }, "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, - "tokyonight.nvim": { "branch": "main", "commit": "161114bd39b990995e08dbf941f6821afbdcd666" }, - "trouble.nvim": { "branch": "main", "commit": "2af0dd9767526410c88c628f1cbfcb6cf22dd683" }, + "tokyonight.nvim": { "branch": "main", "commit": "fd0a005fd8986ec0d98a1938dc570303e8d8444b" }, + "trouble.nvim": { "branch": "main", "commit": "d99e2abd10808ef91738ce98a5c767e6a51df449" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, "typescript.nvim": { "branch": "main", "commit": "5b3680e5c386e8778c081173ea0c978c14a40ccb" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "3625e099b09bff2db5f04082cb09ba679525980c" }, + "vim-matchup": { "branch": "master", "commit": "3a17944bfa3942da805a381750a1be4b314c64d2" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, - "which-key.nvim": { "branch": "main", "commit": "e271c28118998c93a14d189af3395812a1aa646c" }, + "which-key.nvim": { "branch": "main", "commit": "d871f2b664afd5aed3dc1d1573bef2fb24ce0484" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } } \ No newline at end of file From c41888dfc7611d850684d0192d905b7a33585b5b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 27 Jun 2023 09:05:07 +0200 Subject: [PATCH 1353/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/c5cf4a6dbf6940fe46db0a2c75d38e5c8b599f29' (2023-06-26) → 'github:nix-community/neovim-nightly-overlay/3ca106854788f12a9520ae0d04592ea09b51a75d' (2023-06-27) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/71fb97f0d875fd4de4994dfb849f2c75e17eb6c3' (2023-06-01) → 'github:hercules-ci/flake-parts/37dd7bb15791c86d55c5121740a1887ab55ee836' (2023-06-26) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/91aeaeef64da56b1cce37a04b86e831241ce7ff9?dir=contrib' (2023-06-25) → 'github:neovim/neovim/0ca2d11c1f473d9924c261c9dbd4e38730932bb4?dir=contrib' (2023-06-26) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9dbd51e1f1ed01893caffb7fe25c422cb10b8282' (2023-06-24) → 'github:NixOS/nixpkgs/6610eb320efb234025e477e51ae7625ccd65a2e8' (2023-06-25) • Updated input 'nur': 'github:nix-community/NUR/34ead0d72dd4d9f8cc30789b6a428ead22695d8d' (2023-06-26) → 'github:nix-community/NUR/05b6ebfa2df472e0150c89c3fa7748747b29f19a' (2023-06-27) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index c587569a..fe1009d4 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1685662779, - "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", + "lastModified": 1687762428, + "narHash": "sha256-DIf7mi45PKo+s8dOYF+UlXHzE0Wl/+k3tXUyAoAnoGE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", + "rev": "37dd7bb15791c86d55c5121740a1887ab55ee836", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687737349, - "narHash": "sha256-Bl3kmk58X3WGaMQO7kHUAthP5r/IxzqZCN4NqfyA/qA=", + "lastModified": 1687774753, + "narHash": "sha256-WugvwIH5PtG9os+tkzbUlQJnNWP/cri3pYWbH49Edwk=", "owner": "neovim", "repo": "neovim", - "rev": "91aeaeef64da56b1cce37a04b86e831241ce7ff9", + "rev": "0ca2d11c1f473d9924c261c9dbd4e38730932bb4", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687737999, - "narHash": "sha256-N62Eh3VmefnPTYCtrC8DwpCrtaD4RowzaVQYxnpkVRQ=", + "lastModified": 1687824320, + "narHash": "sha256-Lh3dWmeXaiLT5ZzoHrl4XbOKc+UmuJCcIv9pJmVf7MA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c5cf4a6dbf6940fe46db0a2c75d38e5c8b599f29", + "rev": "3ca106854788f12a9520ae0d04592ea09b51a75d", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1687596132, - "narHash": "sha256-snkoTnUJQICNvg7b+DfxPLnIen6FIucM95niW95vTJI=", + "lastModified": 1687666471, + "narHash": "sha256-88VoE8jLzjRhH38mUUrom+zJ7GVMjuW4M321Iri5C/w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9dbd51e1f1ed01893caffb7fe25c422cb10b8282", + "rev": "6610eb320efb234025e477e51ae7625ccd65a2e8", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687776260, - "narHash": "sha256-Yq28TVyNU9rMpZMlax287jRwijmifORmlJjGckeNBBo=", + "lastModified": 1687849268, + "narHash": "sha256-3qJVtyRUUXxp3lxIin7cxa45lhnakJ+H5zfNsPygIZA=", "owner": "nix-community", "repo": "NUR", - "rev": "34ead0d72dd4d9f8cc30789b6a428ead22695d8d", + "rev": "05b6ebfa2df472e0150c89c3fa7748747b29f19a", "type": "github" }, "original": { From 117c77de462a01a6f46755a835014f17f45ee5d0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 27 Jun 2023 15:06:50 +0200 Subject: [PATCH 1354/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/1c9db9710cb23d60570ad4d7ab829c2d34403de3' (2023-06-25) → 'github:nixos/nixpkgs/6b3d1b1cf13f407fef5e634b224d575eb7211975' (2023-06-26) • Updated input 'nur': 'github:nix-community/NUR/05b6ebfa2df472e0150c89c3fa7748747b29f19a' (2023-06-27) → 'github:nix-community/NUR/ae65761a01233b1c929dcae66e6c6a70b81c2cb4' (2023-06-27) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index fe1009d4..a136b4c5 100644 --- a/flake.lock +++ b/flake.lock @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1687681650, - "narHash": "sha256-M2If+gRcfpmaJy/XbfSsRzLlPpoU4nr0NHnKKl50fd8=", + "lastModified": 1687807295, + "narHash": "sha256-7TUD0p0m4mZpIi1O+Cyk5NCqpJUnhv/CJOAuHOndjao=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1c9db9710cb23d60570ad4d7ab829c2d34403de3", + "rev": "6b3d1b1cf13f407fef5e634b224d575eb7211975", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687849268, - "narHash": "sha256-3qJVtyRUUXxp3lxIin7cxa45lhnakJ+H5zfNsPygIZA=", + "lastModified": 1687866297, + "narHash": "sha256-E31NvkGGDuUWmvm8a/OjFdNbKG8WlmjH8dQW0lggWiQ=", "owner": "nix-community", "repo": "NUR", - "rev": "05b6ebfa2df472e0150c89c3fa7748747b29f19a", + "rev": "ae65761a01233b1c929dcae66e6c6a70b81c2cb4", "type": "github" }, "original": { From f2ef03317a434d5b52d80179b10054ee33eda81d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 28 Jun 2023 10:08:15 +0200 Subject: [PATCH 1355/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/3ca106854788f12a9520ae0d04592ea09b51a75d' (2023-06-27) → 'github:nix-community/neovim-nightly-overlay/d1ed83546b3a0713dd22e5ef4585282783be4a19' (2023-06-28) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/0ca2d11c1f473d9924c261c9dbd4e38730932bb4?dir=contrib' (2023-06-26) → 'github:neovim/neovim/e85e7fc7bcccfa3b8f9e52ec4d6cb21591b50468?dir=contrib' (2023-06-27) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/07059ee2fa34f1598758839b9af87eae7f7ae6ea' (2023-06-25) → 'github:NixOS/nixpkgs/9e4e0807d2142d17f463b26a8b796b3fe20a3011' (2023-06-26) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/6610eb320efb234025e477e51ae7625ccd65a2e8' (2023-06-25) → 'github:nixos/nixpkgs/89b39bf8ad78602d0ae36e820d8a8d066301a8c2' (2023-06-27) • Updated input 'nur': 'github:nix-community/NUR/ae65761a01233b1c929dcae66e6c6a70b81c2cb4' (2023-06-27) → 'github:nix-community/NUR/be72fce6957d77a122f552e97c52680ddb08cbd5' (2023-06-28) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index a136b4c5..e289204f 100644 --- a/flake.lock +++ b/flake.lock @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687774753, - "narHash": "sha256-WugvwIH5PtG9os+tkzbUlQJnNWP/cri3pYWbH49Edwk=", + "lastModified": 1687889144, + "narHash": "sha256-kV960qwU4TKq8FKVfKjZ7kB/oDjgFgquILE3f5EKSUY=", "owner": "neovim", "repo": "neovim", - "rev": "0ca2d11c1f473d9924c261c9dbd4e38730932bb4", + "rev": "e85e7fc7bcccfa3b8f9e52ec4d6cb21591b50468", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687824320, - "narHash": "sha256-Lh3dWmeXaiLT5ZzoHrl4XbOKc+UmuJCcIv9pJmVf7MA=", + "lastModified": 1687910775, + "narHash": "sha256-Ly86o/Qe61qfcJ/IgSrSY7xO5oIOaqwYAQbbrLVr+3c=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3ca106854788f12a9520ae0d04592ea09b51a75d", + "rev": "d1ed83546b3a0713dd22e5ef4585282783be4a19", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1687666471, - "narHash": "sha256-88VoE8jLzjRhH38mUUrom+zJ7GVMjuW4M321Iri5C/w=", + "lastModified": 1687829755, + "narHash": "sha256-sCovfjZfdE3ZnLnj436qrN72rDxE1MOEQvNHVQvSweQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6610eb320efb234025e477e51ae7625ccd65a2e8", + "rev": "89b39bf8ad78602d0ae36e820d8a8d066301a8c2", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687701825, - "narHash": "sha256-aMC9hqsf+4tJL7aJWSdEUurW2TsjxtDcJBwM9Y4FIYM=", + "lastModified": 1687793116, + "narHash": "sha256-6xRgZ2E9r/BNam87vMkHJ/0EPTTKzeNwhw3abKilEE4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "07059ee2fa34f1598758839b9af87eae7f7ae6ea", + "rev": "9e4e0807d2142d17f463b26a8b796b3fe20a3011", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687866297, - "narHash": "sha256-E31NvkGGDuUWmvm8a/OjFdNbKG8WlmjH8dQW0lggWiQ=", + "lastModified": 1687938788, + "narHash": "sha256-twmr6txl97LN8775XEUPiOyrlE2RtNkAZ1fXFw0k5CM=", "owner": "nix-community", "repo": "NUR", - "rev": "ae65761a01233b1c929dcae66e6c6a70b81c2cb4", + "rev": "be72fce6957d77a122f552e97c52680ddb08cbd5", "type": "github" }, "original": { From e87c798ff5c64ce079deef340e2b4f7a488c4594 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 28 Jun 2023 10:51:57 +0200 Subject: [PATCH 1356/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index f5d961d3..4532edb7 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { - "LazyVim": { "branch": "main", "commit": "a40f257c797d5839bb07f0e48a312eaf5951aaf4" }, + "LazyVim": { "branch": "main", "commit": "296d79cfbcfe1dbf01ffa913d26d61f0f772b5e6" }, "LuaSnip": { "branch": "master", "commit": "c7984d1cca3d8615e4daefc196597872a0b8d590" }, "SchemaStore.nvim": { "branch": "main", "commit": "7322390c9abff6f137774d9e04bddb3cd725afd1" }, "alpha-nvim": { "branch": "main", "commit": "9e33db324b8bb7a147bce9ea5496686ee859461d" }, - "bufferline.nvim": { "branch": "main", "commit": "bf2f6b7edd0abf6b0732f5e5c0a8f30e51611c75" }, - "catppuccin": { "branch": "main", "commit": "8d02781a638123394f9bc160aad47a9560a113f9" }, + "bufferline.nvim": { "branch": "main", "commit": "2f391fde91b9c3876eee359ee24cc352050e5e48" }, + "catppuccin": { "branch": "main", "commit": "12894370fa3c9e2200f3724c4184354d6b79733a" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -14,9 +14,9 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "b3916370c24c498117a4c790b2752c437dab661a" }, - "diffview.nvim": { "branch": "main", "commit": "b3a763f8c7810b352226c95faa7d3ac9fb93b8d9" }, - "dressing.nvim": { "branch": "master", "commit": "1cbc4eef2ef7d745aa1a559b22589e33860cf077" }, - "flash.nvim": { "branch": "main", "commit": "84af5f54f65bcffe9143f75aebe7ab07a69dcb6c" }, + "diffview.nvim": { "branch": "main", "commit": "ff8e57a966618e973f443b2df177cab02e7f325c" }, + "dressing.nvim": { "branch": "master", "commit": "e6eff7a5a950a853c3903d906dbcea03f778db5f" }, + "flash.nvim": { "branch": "main", "commit": "6d197a9afcca8cc6b0dfb71c94b56eba8be2238e" }, "friendly-snippets": { "branch": "main", "commit": "5749f093759c29e3694053d048ceb940fe12c3d3" }, "gitsigns.nvim": { "branch": "main", "commit": "a36bc3360d584d39b4fb076d855c4180842d4444" }, "gx.nvim": { "branch": "main", "commit": "9f7a264a4180b307a6d0b2c570576fc5fbc5389e" }, @@ -26,8 +26,8 @@ "lazy.nvim": { "branch": "main", "commit": "b7043f2983d7aead78ca902f3f2053907081859a" }, "ltex_extra.nvim": { "branch": "master", "commit": "f32a4ca33857a61a8cf8dcd4177fa1d02e16dee0" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "d381fcb78d7a562c3244e1c8f76406954649db36" }, - "mason.nvim": { "branch": "main", "commit": "664c987c3b14d2262a4e580f993a3e5045baded0" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "c993ca55e3991535bc74cd2d6ef273810d066c84" }, + "mason.nvim": { "branch": "main", "commit": "db58ec7bc9248fb1878172f90cadc825b77564a6" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "3f5963b3f5f42d5cf545b06192e1682395f90fb3" }, "mini.animate": { "branch": "main", "commit": "b0978ee3dd0dafd644d0bc6c37c396dbe8658342" }, @@ -39,8 +39,8 @@ "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, "mini.surround": { "branch": "main", "commit": "14f418209ecf52d1a8de9d091eb6bd63c31a4e01" }, "neo-tree.nvim": { "branch": "v2.x", "commit": "70d3daa22bf24de9e3e284ac659506b1374e3ae2" }, - "neoconf.nvim": { "branch": "main", "commit": "9625a1710a9be427a662f9ba0a383164588a41a8" }, - "neodev.nvim": { "branch": "main", "commit": "a59e3e612e85462b0410a7dce4040fd2ba37f294" }, + "neoconf.nvim": { "branch": "main", "commit": "3454d48dce19e0fe534e3e4849aa17c47c47d15f" }, + "neodev.nvim": { "branch": "main", "commit": "a2b1d8fb9fa4daa35d3fd9123bccccccbd4a3520" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, "neogit": { "branch": "master", "commit": "68a3e90e9d1ed9e362317817851d0f34b19e426b" }, "neorg": { "branch": "main", "commit": "6fece1546d051a5f2a2d932d5978beec1ef920ab" }, @@ -55,9 +55,9 @@ "nvim-spectre": { "branch": "master", "commit": "f4dc98ec45ecded2344aa3aac2d7cc43ad236858" }, "nvim-spider": { "branch": "main", "commit": "04c6fc14d09823002dae486100745011fc3201ca" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "d49ba798c95398e62321b40041e8ac4654fea251" }, + "nvim-treesitter": { "branch": "master", "commit": "f04f137acb1b591a5c21df8c201e8df4878d33ed" }, "nvim-treesitter-context": { "branch": "master", "commit": "6eccc445394df5ab9b1c1e2c445c033949a6a784" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "83c59ed1eeae70a55605990993cf4d208948fdf7" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, "nvim-ufo": { "branch": "main", "commit": "43e39ec74cd57c45ca9d8229a796750f6083b850" }, "nvim-web-devicons": { "branch": "master", "commit": "9ab9b0b894b2388a9dbcdee5f00ce72e25d85bf9" }, @@ -68,7 +68,7 @@ "plenary.nvim": { "branch": "master", "commit": "36aaceb6e93addd20b1b18f94d86aecc552f30c4" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "9f28801ed1803306ddbe5b8058849da412a90648" }, + "refactoring.nvim": { "branch": "master", "commit": "859289acc0fda13bf42834dbeef10b8c1148d444" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, From a783c12cc5d79d1807de8955a1d4d09c139764bb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 28 Jun 2023 15:03:52 +0200 Subject: [PATCH 1357/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/6b3d1b1cf13f407fef5e634b224d575eb7211975' (2023-06-26) → 'github:nixos/nixpkgs/e18dc963075ed115afb3e312b64643bf8fd4b474' (2023-06-27) • Updated input 'nur': 'github:nix-community/NUR/be72fce6957d77a122f552e97c52680ddb08cbd5' (2023-06-28) → 'github:nix-community/NUR/82edcf1bca8214ecc3cb472826aa5854314359d5' (2023-06-28) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e289204f..c32cc2cf 100644 --- a/flake.lock +++ b/flake.lock @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1687807295, - "narHash": "sha256-7TUD0p0m4mZpIi1O+Cyk5NCqpJUnhv/CJOAuHOndjao=", + "lastModified": 1687898314, + "narHash": "sha256-B4BHon3uMXQw8ZdbwxRK1BmxVOGBV4viipKpGaIlGwk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6b3d1b1cf13f407fef5e634b224d575eb7211975", + "rev": "e18dc963075ed115afb3e312b64643bf8fd4b474", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687938788, - "narHash": "sha256-twmr6txl97LN8775XEUPiOyrlE2RtNkAZ1fXFw0k5CM=", + "lastModified": 1687952700, + "narHash": "sha256-GpPnHSrFFFZ/RgWEcs3gIDzM1HMnPUg73vgymCbVv2o=", "owner": "nix-community", "repo": "NUR", - "rev": "be72fce6957d77a122f552e97c52680ddb08cbd5", + "rev": "82edcf1bca8214ecc3cb472826aa5854314359d5", "type": "github" }, "original": { From 9623d085cedbe1aa9d147fe439df956f3d769bba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 28 Jun 2023 16:20:31 +0200 Subject: [PATCH 1358/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/82edcf1bca8214ecc3cb472826aa5854314359d5' (2023-06-28) → 'github:nix-community/NUR/31a0708975489c991df5a1d31f2d4e4382d7bb2b' (2023-06-28) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index c32cc2cf..bc0e2b09 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687952700, - "narHash": "sha256-GpPnHSrFFFZ/RgWEcs3gIDzM1HMnPUg73vgymCbVv2o=", + "lastModified": 1687960224, + "narHash": "sha256-IK1Shpb/GdrI+OcO4u7SJn6FKB/JoIahgEcoOJXOtNg=", "owner": "nix-community", "repo": "NUR", - "rev": "82edcf1bca8214ecc3cb472826aa5854314359d5", + "rev": "31a0708975489c991df5a1d31f2d4e4382d7bb2b", "type": "github" }, "original": { From 1803a0ecff11f48b6d94571938231b0b89ecb5bc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 28 Jun 2023 16:42:06 +0200 Subject: [PATCH 1359/2080] Install w3m for mutt on macos --- machines/Baptistes-MBP/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 51a6b2e3..28a4de32 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -41,6 +41,8 @@ git vim wget + # For mutt, to be moved to mail module + w3m ]; # Fonts From dc7204b98c9fe7a66a51f126656b681ac353bac3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 3 Jul 2023 09:00:08 +0200 Subject: [PATCH 1360/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/25ae710ba3cd448c5d5678788d37f3d149378bc0' (2023-06-25) → 'github:lnl7/nix-darwin/b06bab83bdf285ea0ae3c8e145a081eb95959047' (2023-07-02) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/d1ed83546b3a0713dd22e5ef4585282783be4a19' (2023-06-28) → 'github:nix-community/neovim-nightly-overlay/63953ef16c1c23321da36bf02194a59eb3c38c59' (2023-07-02) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/37dd7bb15791c86d55c5121740a1887ab55ee836' (2023-06-26) → 'github:hercules-ci/flake-parts/267149c58a14d15f7f81b4d737308421de9d7152' (2023-07-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/e85e7fc7bcccfa3b8f9e52ec4d6cb21591b50468?dir=contrib' (2023-06-27) → 'github:neovim/neovim/4fd852b8cb88ed035203d3f9ae2e6a8258244974?dir=contrib' (2023-07-02) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/9e4e0807d2142d17f463b26a8b796b3fe20a3011' (2023-06-26) → 'github:NixOS/nixpkgs/cd99c2b3c9f160cd004318e0697f90bbd5960825' (2023-07-01) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/6610eb320efb234025e477e51ae7625ccd65a2e8' (2023-06-25) → 'github:NixOS/nixpkgs/2039c98a8afec8ff3273a3ac34b9e3864174ed94' (2023-06-30) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/89b39bf8ad78602d0ae36e820d8a8d066301a8c2' (2023-06-27) → 'github:nixos/nixpkgs/2039c98a8afec8ff3273a3ac34b9e3864174ed94' (2023-06-30) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e18dc963075ed115afb3e312b64643bf8fd4b474' (2023-06-27) → 'github:nixos/nixpkgs/645ff62e09d294a30de823cb568e9c6d68e92606' (2023-07-01) • Updated input 'nur': 'github:nix-community/NUR/31a0708975489c991df5a1d31f2d4e4382d7bb2b' (2023-06-28) → 'github:nix-community/NUR/42c2068aa3c7f2a4781ac326fa7ce8efd6b3df0a' (2023-07-03) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index bc0e2b09..5052fa4f 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1687691275, - "narHash": "sha256-VVywT8ubStvDPF5TscDBokT3T0l3zsOzCW056noh5zc=", + "lastModified": 1688307440, + "narHash": "sha256-7PTjbN+/+b799YN7Tk2SS5Vh8A0L3gBo8hmB7Y0VXug=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "25ae710ba3cd448c5d5678788d37f3d149378bc0", + "rev": "b06bab83bdf285ea0ae3c8e145a081eb95959047", "type": "github" }, "original": { @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1687762428, - "narHash": "sha256-DIf7mi45PKo+s8dOYF+UlXHzE0Wl/+k3tXUyAoAnoGE=", + "lastModified": 1688254665, + "narHash": "sha256-8FHEgBrr7gYNiS/NzCxIO3m4hvtLRW9YY1nYo1ivm3o=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "37dd7bb15791c86d55c5121740a1887ab55ee836", + "rev": "267149c58a14d15f7f81b4d737308421de9d7152", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1687889144, - "narHash": "sha256-kV960qwU4TKq8FKVfKjZ7kB/oDjgFgquILE3f5EKSUY=", + "lastModified": 1688312661, + "narHash": "sha256-e4zahWEWEXahlzrHveDVt2p/fK2aMqFGH3bNsG/gArU=", "owner": "neovim", "repo": "neovim", - "rev": "e85e7fc7bcccfa3b8f9e52ec4d6cb21591b50468", + "rev": "4fd852b8cb88ed035203d3f9ae2e6a8258244974", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1687910775, - "narHash": "sha256-Ly86o/Qe61qfcJ/IgSrSY7xO5oIOaqwYAQbbrLVr+3c=", + "lastModified": 1688313823, + "narHash": "sha256-P6BvbaSQc+vkF3sfQ6KZ876G0UWBUqyt7pITxldQEqg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d1ed83546b3a0713dd22e5ef4585282783be4a19", + "rev": "63953ef16c1c23321da36bf02194a59eb3c38c59", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1687829755, - "narHash": "sha256-sCovfjZfdE3ZnLnj436qrN72rDxE1MOEQvNHVQvSweQ=", + "lastModified": 1688117947, + "narHash": "sha256-eSVbMmqsGwPlJy8jqzxwZ+cJzu8TpI2KSSKm8xVw+XQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "89b39bf8ad78602d0ae36e820d8a8d066301a8c2", + "rev": "2039c98a8afec8ff3273a3ac34b9e3864174ed94", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1687898314, - "narHash": "sha256-B4BHon3uMXQw8ZdbwxRK1BmxVOGBV4viipKpGaIlGwk=", + "lastModified": 1688231357, + "narHash": "sha256-ZOn16X5jZ6X5ror58gOJAxPfFLAQhZJ6nOUeS4tfFwo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e18dc963075ed115afb3e312b64643bf8fd4b474", + "rev": "645ff62e09d294a30de823cb568e9c6d68e92606", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1687793116, - "narHash": "sha256-6xRgZ2E9r/BNam87vMkHJ/0EPTTKzeNwhw3abKilEE4=", + "lastModified": 1688221086, + "narHash": "sha256-cdW6qUL71cNWhHCpMPOJjlw0wzSRP0pVlRn2vqX/VVg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9e4e0807d2142d17f463b26a8b796b3fe20a3011", + "rev": "cd99c2b3c9f160cd004318e0697f90bbd5960825", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1687666471, - "narHash": "sha256-88VoE8jLzjRhH38mUUrom+zJ7GVMjuW4M321Iri5C/w=", + "lastModified": 1688117947, + "narHash": "sha256-eSVbMmqsGwPlJy8jqzxwZ+cJzu8TpI2KSSKm8xVw+XQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6610eb320efb234025e477e51ae7625ccd65a2e8", + "rev": "2039c98a8afec8ff3273a3ac34b9e3864174ed94", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1687960224, - "narHash": "sha256-IK1Shpb/GdrI+OcO4u7SJn6FKB/JoIahgEcoOJXOtNg=", + "lastModified": 1688357447, + "narHash": "sha256-wIut2FKkvUL831V0fjvyGGDGb91vUJM5rTkOE8zt75c=", "owner": "nix-community", "repo": "NUR", - "rev": "31a0708975489c991df5a1d31f2d4e4382d7bb2b", + "rev": "42c2068aa3c7f2a4781ac326fa7ce8efd6b3df0a", "type": "github" }, "original": { From e34c1a40ed986c41fb6aa78fc7f3d275a657724a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 3 Jul 2023 11:41:29 +0200 Subject: [PATCH 1361/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/42c2068aa3c7f2a4781ac326fa7ce8efd6b3df0a' (2023-07-03) → 'github:nix-community/NUR/6874f4eb899371204e9357da3881a57ca9844e00' (2023-07-03) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 5052fa4f..921b6ac4 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1688357447, - "narHash": "sha256-wIut2FKkvUL831V0fjvyGGDGb91vUJM5rTkOE8zt75c=", + "lastModified": 1688373029, + "narHash": "sha256-lHCdKJ79pBWcILK73ajNh3qTb+Sqc5k9M7MkNLMROQY=", "owner": "nix-community", "repo": "NUR", - "rev": "42c2068aa3c7f2a4781ac326fa7ce8efd6b3df0a", + "rev": "6874f4eb899371204e9357da3881a57ca9844e00", "type": "github" }, "original": { From 7cfb23112fba599884327d42d2a12dcbfe94c15a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 4 Jul 2023 09:28:00 +0200 Subject: [PATCH 1362/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/63953ef16c1c23321da36bf02194a59eb3c38c59' (2023-07-02) → 'github:nix-community/neovim-nightly-overlay/b202fee02f9aa272e52a87c6f8911d63fef0612f' (2023-07-04) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/04e4ab63b9eed2452edee1bb698827e1cb8265c6' (2023-06-15) → 'github:hercules-ci/hercules-ci-effects/4571985e314cb9f30901df8ff6eede8951e6b60f' (2023-07-03) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/4fd852b8cb88ed035203d3f9ae2e6a8258244974?dir=contrib' (2023-07-02) → 'github:neovim/neovim/92760a7f42a95bb252966c2a38423e5bc9d57cc7?dir=contrib' (2023-07-03) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/2039c98a8afec8ff3273a3ac34b9e3864174ed94' (2023-06-30) → 'github:nixos/nixpkgs/ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b' (2023-07-03) • Updated input 'nur': 'github:nix-community/NUR/6874f4eb899371204e9357da3881a57ca9844e00' (2023-07-03) → 'github:nix-community/NUR/4ca059c00780a08eda8ed76313b377021684b2c6' (2023-07-04) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 921b6ac4..201cfab2 100644 --- a/flake.lock +++ b/flake.lock @@ -161,11 +161,11 @@ ] }, "locked": { - "lastModified": 1686830987, - "narHash": "sha256-1XLTM0lFr3NV+0rd55SQW/8oQ3ACnqlYcda3FelIwHU=", + "lastModified": 1688396386, + "narHash": "sha256-2E/aH+s6dkr0sMM6994wVhzVC/ZyvDPtr5Svcosodik=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "04e4ab63b9eed2452edee1bb698827e1cb8265c6", + "rev": "4571985e314cb9f30901df8ff6eede8951e6b60f", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1688312661, - "narHash": "sha256-e4zahWEWEXahlzrHveDVt2p/fK2aMqFGH3bNsG/gArU=", + "lastModified": 1688426342, + "narHash": "sha256-SMjRPM28CmNGV6IyU/ckVGCYKT0V5oaZZJs/49Vx4pw=", "owner": "neovim", "repo": "neovim", - "rev": "4fd852b8cb88ed035203d3f9ae2e6a8258244974", + "rev": "92760a7f42a95bb252966c2a38423e5bc9d57cc7", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1688313823, - "narHash": "sha256-P6BvbaSQc+vkF3sfQ6KZ876G0UWBUqyt7pITxldQEqg=", + "lastModified": 1688429106, + "narHash": "sha256-Smo4tcvz/U0GGBCFMS5Ez0BwpIWXXfnnF/uFPW2K2e8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "63953ef16c1c23321da36bf02194a59eb3c38c59", + "rev": "b202fee02f9aa272e52a87c6f8911d63fef0612f", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1688117947, - "narHash": "sha256-eSVbMmqsGwPlJy8jqzxwZ+cJzu8TpI2KSSKm8xVw+XQ=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2039c98a8afec8ff3273a3ac34b9e3864174ed94", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1688373029, - "narHash": "sha256-lHCdKJ79pBWcILK73ajNh3qTb+Sqc5k9M7MkNLMROQY=", + "lastModified": 1688455504, + "narHash": "sha256-jEH4w2Y9IyHvUA5fR6OHUpVluXzm6rWtkEIxjYDz5HM=", "owner": "nix-community", "repo": "NUR", - "rev": "6874f4eb899371204e9357da3881a57ca9844e00", + "rev": "4ca059c00780a08eda8ed76313b377021684b2c6", "type": "github" }, "original": { From ecad5e71dc406ed033f6ae6cc12ed2c018a95f37 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 4 Jul 2023 14:08:45 +0200 Subject: [PATCH 1363/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/2039c98a8afec8ff3273a3ac34b9e3864174ed94' (2023-06-30) → 'github:NixOS/nixpkgs/ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b' (2023-07-03) • Updated input 'nur': 'github:nix-community/NUR/4ca059c00780a08eda8ed76313b377021684b2c6' (2023-07-04) → 'github:nix-community/NUR/0ca9257270b237e900ab1aa7dfb7ecf17a5f2be2' (2023-07-04) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 201cfab2..f4221ee0 100644 --- a/flake.lock +++ b/flake.lock @@ -341,11 +341,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1688117947, - "narHash": "sha256-eSVbMmqsGwPlJy8jqzxwZ+cJzu8TpI2KSSKm8xVw+XQ=", + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2039c98a8afec8ff3273a3ac34b9e3864174ed94", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1688455504, - "narHash": "sha256-jEH4w2Y9IyHvUA5fR6OHUpVluXzm6rWtkEIxjYDz5HM=", + "lastModified": 1688472112, + "narHash": "sha256-K9dW2VWZ8E8wkVYmD2LqRNbifANGL82GeRcl3t8b1ks=", "owner": "nix-community", "repo": "NUR", - "rev": "4ca059c00780a08eda8ed76313b377021684b2c6", + "rev": "0ca9257270b237e900ab1aa7dfb7ecf17a5f2be2", "type": "github" }, "original": { From b0270ccf309de8a0d619f717b016daa51f489003 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 5 Jul 2023 09:23:55 +0200 Subject: [PATCH 1364/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/b202fee02f9aa272e52a87c6f8911d63fef0612f' (2023-07-04) → 'github:nix-community/neovim-nightly-overlay/bdca7f10e1b1aef30bb9f655e6217a000f7ca211' (2023-07-05) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/267149c58a14d15f7f81b4d737308421de9d7152' (2023-07-01) → 'github:hercules-ci/flake-parts/8e8d955c22df93dbe24f19ea04f47a74adbdc5ec' (2023-07-04) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/92760a7f42a95bb252966c2a38423e5bc9d57cc7?dir=contrib' (2023-07-03) → 'github:neovim/neovim/3ecd45ded044c47efa76b74e9e3b720fbe27adc7?dir=contrib' (2023-07-04) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/cd99c2b3c9f160cd004318e0697f90bbd5960825' (2023-07-01) → 'github:NixOS/nixpkgs/0d5682acc109add20f70440269587a1b169cc2fe' (2023-07-04) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/645ff62e09d294a30de823cb568e9c6d68e92606' (2023-07-01) → 'github:nixos/nixpkgs/0fbe93c5a7cac99f90b60bdf5f149383daaa615f' (2023-07-02) • Updated input 'nur': 'github:nix-community/NUR/0ca9257270b237e900ab1aa7dfb7ecf17a5f2be2' (2023-07-04) → 'github:nix-community/NUR/efa9e4bc38a04c02340b79071bd5c2a506b899ca' (2023-07-05) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f4221ee0..7ff54672 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1688254665, - "narHash": "sha256-8FHEgBrr7gYNiS/NzCxIO3m4hvtLRW9YY1nYo1ivm3o=", + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "267149c58a14d15f7f81b4d737308421de9d7152", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1688426342, - "narHash": "sha256-SMjRPM28CmNGV6IyU/ckVGCYKT0V5oaZZJs/49Vx4pw=", + "lastModified": 1688479675, + "narHash": "sha256-Hw30z8pjnL6+b+7pcBJXQhFEI6LWaCTAEoIS+IMvQDg=", "owner": "neovim", "repo": "neovim", - "rev": "92760a7f42a95bb252966c2a38423e5bc9d57cc7", + "rev": "3ecd45ded044c47efa76b74e9e3b720fbe27adc7", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1688429106, - "narHash": "sha256-Smo4tcvz/U0GGBCFMS5Ez0BwpIWXXfnnF/uFPW2K2e8=", + "lastModified": 1688515500, + "narHash": "sha256-oUMsJWFZE2UrD6Va9hYRWzLH6446uQBUr++0RmSxClw=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b202fee02f9aa272e52a87c6f8911d63fef0612f", + "rev": "bdca7f10e1b1aef30bb9f655e6217a000f7ca211", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1688231357, - "narHash": "sha256-ZOn16X5jZ6X5ror58gOJAxPfFLAQhZJ6nOUeS4tfFwo=", + "lastModified": 1688322751, + "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "645ff62e09d294a30de823cb568e9c6d68e92606", + "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1688221086, - "narHash": "sha256-cdW6qUL71cNWhHCpMPOJjlw0wzSRP0pVlRn2vqX/VVg=", + "lastModified": 1688465017, + "narHash": "sha256-xzFcCnzPOgQaX7Acprfqo+tqHJ2UKWC38pXrcqvdXHU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cd99c2b3c9f160cd004318e0697f90bbd5960825", + "rev": "0d5682acc109add20f70440269587a1b169cc2fe", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1688472112, - "narHash": "sha256-K9dW2VWZ8E8wkVYmD2LqRNbifANGL82GeRcl3t8b1ks=", + "lastModified": 1688540801, + "narHash": "sha256-O683axnPgWTX5MPylFH68vJEqiqIOBNTRDtrvuAMe1Q=", "owner": "nix-community", "repo": "NUR", - "rev": "0ca9257270b237e900ab1aa7dfb7ecf17a5f2be2", + "rev": "efa9e4bc38a04c02340b79071bd5c2a506b899ca", "type": "github" }, "original": { From fb711db73c72a5912e402821aef5e5f3718cf579 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 5 Jul 2023 12:09:59 +0200 Subject: [PATCH 1365/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/0fbe93c5a7cac99f90b60bdf5f149383daaa615f' (2023-07-02) → 'github:nixos/nixpkgs/78419edadf0fabbe5618643bd850b2f2198ed060' (2023-07-04) • Updated input 'nur': 'github:nix-community/NUR/efa9e4bc38a04c02340b79071bd5c2a506b899ca' (2023-07-05) → 'github:nix-community/NUR/86dbcd4e5454c5cc2ca5c0c944e83e5227c44bde' (2023-07-05) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 7ff54672..2eebaaae 100644 --- a/flake.lock +++ b/flake.lock @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1688322751, - "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", + "lastModified": 1688500189, + "narHash": "sha256-djYYiY4lzJOlXOnTHytH6BUugrxHDZjuGxTSrU4gt4M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", + "rev": "78419edadf0fabbe5618643bd850b2f2198ed060", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1688540801, - "narHash": "sha256-O683axnPgWTX5MPylFH68vJEqiqIOBNTRDtrvuAMe1Q=", + "lastModified": 1688549687, + "narHash": "sha256-O/EMxPUQmPPcjbv8dlpEsPTm60RNodrm6lZcL5Edec0=", "owner": "nix-community", "repo": "NUR", - "rev": "efa9e4bc38a04c02340b79071bd5c2a506b899ca", + "rev": "86dbcd4e5454c5cc2ca5c0c944e83e5227c44bde", "type": "github" }, "original": { From 07461a29d48acfdeffb4412a95d2f74640151510 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Jul 2023 14:07:34 +0200 Subject: [PATCH 1366/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/bdca7f10e1b1aef30bb9f655e6217a000f7ca211' (2023-07-05) → 'github:nix-community/neovim-nightly-overlay/7fd54ca5186894d0454c9a4ddb128e64ca796f2f' (2023-07-06) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/4571985e314cb9f30901df8ff6eede8951e6b60f' (2023-07-03) → 'github:hercules-ci/hercules-ci-effects/c6191e59824febda94b431146bf65628fc534e3b' (2023-07-05) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/3ecd45ded044c47efa76b74e9e3b720fbe27adc7?dir=contrib' (2023-07-04) → 'github:neovim/neovim/a0c9c04f006dbc6cb38d620ec036e32ccb8e76cc?dir=contrib' (2023-07-05) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/0d5682acc109add20f70440269587a1b169cc2fe' (2023-07-04) → 'github:NixOS/nixpkgs/27bd67e55fe09f9d68c77ff151c3e44c4f81f7de' (2023-07-05) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/78419edadf0fabbe5618643bd850b2f2198ed060' (2023-07-04) → 'github:nixos/nixpkgs/f292b4964cb71f9dfbbd30dc9f511d6165cd109b' (2023-07-05) • Updated input 'nur': 'github:nix-community/NUR/86dbcd4e5454c5cc2ca5c0c944e83e5227c44bde' (2023-07-05) → 'github:nix-community/NUR/695a3a40a301a8358c6d2008cf751fbdf2538b3a' (2023-07-06) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 2eebaaae..1ce9bcbc 100644 --- a/flake.lock +++ b/flake.lock @@ -161,11 +161,11 @@ ] }, "locked": { - "lastModified": 1688396386, - "narHash": "sha256-2E/aH+s6dkr0sMM6994wVhzVC/ZyvDPtr5Svcosodik=", + "lastModified": 1688571979, + "narHash": "sha256-asN8qFAjxZvq9HyXo0+FzVKTX+SDH2pAr71sQ06I0GE=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "4571985e314cb9f30901df8ff6eede8951e6b60f", + "rev": "c6191e59824febda94b431146bf65628fc534e3b", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1688479675, - "narHash": "sha256-Hw30z8pjnL6+b+7pcBJXQhFEI6LWaCTAEoIS+IMvQDg=", + "lastModified": 1688589382, + "narHash": "sha256-fCksttab+hJyUFmvNTaaJqY0SG1TolZbGFq9nmowJvM=", "owner": "neovim", "repo": "neovim", - "rev": "3ecd45ded044c47efa76b74e9e3b720fbe27adc7", + "rev": "a0c9c04f006dbc6cb38d620ec036e32ccb8e76cc", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1688515500, - "narHash": "sha256-oUMsJWFZE2UrD6Va9hYRWzLH6446uQBUr++0RmSxClw=", + "lastModified": 1688601949, + "narHash": "sha256-huKT8evwgfiVM7xHxLQgGcEeqsajgmygQxtjCWQgEI8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "bdca7f10e1b1aef30bb9f655e6217a000f7ca211", + "rev": "7fd54ca5186894d0454c9a4ddb128e64ca796f2f", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1688500189, - "narHash": "sha256-djYYiY4lzJOlXOnTHytH6BUugrxHDZjuGxTSrU4gt4M=", + "lastModified": 1688590700, + "narHash": "sha256-ZF055rIUP89cVwiLpG5xkJzx00gEuuGFF60Bs/LM3wc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "78419edadf0fabbe5618643bd850b2f2198ed060", + "rev": "f292b4964cb71f9dfbbd30dc9f511d6165cd109b", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1688465017, - "narHash": "sha256-xzFcCnzPOgQaX7Acprfqo+tqHJ2UKWC38pXrcqvdXHU=", + "lastModified": 1688556768, + "narHash": "sha256-mhd6g0iJGjEfOr3+6mZZOclUveeNr64OwxdbNtLc8mY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0d5682acc109add20f70440269587a1b169cc2fe", + "rev": "27bd67e55fe09f9d68c77ff151c3e44c4f81f7de", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1688549687, - "narHash": "sha256-O/EMxPUQmPPcjbv8dlpEsPTm60RNodrm6lZcL5Edec0=", + "lastModified": 1688641762, + "narHash": "sha256-blyXdfKNaSh3Zn2SRHn2C3fR6jFktbTmaQiIEU/2xkU=", "owner": "nix-community", "repo": "NUR", - "rev": "86dbcd4e5454c5cc2ca5c0c944e83e5227c44bde", + "rev": "695a3a40a301a8358c6d2008cf751fbdf2538b3a", "type": "github" }, "original": { From d64e111a37cf115fb9514dd56d44b96cc5538a3b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 09:25:43 +0200 Subject: [PATCH 1367/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/b06bab83bdf285ea0ae3c8e145a081eb95959047' (2023-07-02) → 'github:lnl7/nix-darwin/61662a63bfe1726588c1da6b412df86d8ca94d63' (2023-07-16) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/7fd54ca5186894d0454c9a4ddb128e64ca796f2f' (2023-07-06) → 'github:nix-community/neovim-nightly-overlay/327c6cb9cd86d78cd755bf7ad2483c2222a5d23f' (2023-07-17) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/c6191e59824febda94b431146bf65628fc534e3b' (2023-07-05) → 'github:hercules-ci/hercules-ci-effects/0a63bfa3f00a3775ea3a6722b247880f1ffe91ce' (2023-07-15) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/71fb97f0d875fd4de4994dfb849f2c75e17eb6c3' (2023-06-01) → 'github:hercules-ci/flake-parts/8e8d955c22df93dbe24f19ea04f47a74adbdc5ec' (2023-07-04) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/4f53efe34b3a8877ac923b9350c874e3dcd5dc0a?dir=lib' (2023-05-31) → 'github:NixOS/nixpkgs/4bc72cae107788bf3f24f30db2e2f685c9298dc9?dir=lib' (2023-06-29) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent': 'github:hercules-ci/hercules-ci-agent/7192b83935ab292a8e894db590dfd44f976e183b' (2023-06-14) → 'github:hercules-ci/hercules-ci-agent/367dd8cd649b57009a6502e878005a1e54ad78c5' (2023-07-05) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/flake-parts': 'github:hercules-ci/flake-parts/71fb97f0d875fd4de4994dfb849f2c75e17eb6c3' (2023-06-01) → 'github:hercules-ci/flake-parts/8e8d955c22df93dbe24f19ea04f47a74adbdc5ec' (2023-07-04) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nixpkgs': 'github:NixOS/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11) → 'github:NixOS/nixpkgs/0fbe93c5a7cac99f90b60bdf5f149383daaa615f' (2023-07-02) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/a0c9c04f006dbc6cb38d620ec036e32ccb8e76cc?dir=contrib' (2023-07-05) → 'github:neovim/neovim/f660b794808ac809ee8cafe82ddd824840bc8e2c?dir=contrib' (2023-07-16) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/27bd67e55fe09f9d68c77ff151c3e44c4f81f7de' (2023-07-05) → 'github:NixOS/nixpkgs/29bcead8405cfe4c00085843eb372cc43837bb9d' (2023-07-15) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/f292b4964cb71f9dfbbd30dc9f511d6165cd109b' (2023-07-05) → 'github:nixos/nixpkgs/6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222' (2023-07-16) • Updated input 'nur': 'github:nix-community/NUR/695a3a40a301a8358c6d2008cf751fbdf2538b3a' (2023-07-06) → 'github:nix-community/NUR/8271501da8fe76976d1ddba1619b45637273fa64' (2023-07-17) --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 1ce9bcbc..0267cd23 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1688307440, - "narHash": "sha256-7PTjbN+/+b799YN7Tk2SS5Vh8A0L3gBo8hmB7Y0VXug=", + "lastModified": 1689516967, + "narHash": "sha256-sFAa33wkQHanmij/uhfGduIDK8z4dJAita/rK6u9pvE=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "b06bab83bdf285ea0ae3c8e145a081eb95959047", + "rev": "61662a63bfe1726588c1da6b412df86d8ca94d63", "type": "github" }, "original": { @@ -63,11 +63,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1685662779, - "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", "type": "github" }, "original": { @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1685662779, - "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "71fb97f0d875fd4de4994dfb849f2c75e17eb6c3", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", "type": "github" }, "original": { @@ -139,11 +139,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1686721748, - "narHash": "sha256-ilD6ANYID+b0/+GTFbuZXfmu92bqVqY5ITKXSxqIp5A=", + "lastModified": 1688568579, + "narHash": "sha256-ON0M56wtY/TIIGPkXDlJboAmuYwc73Hi8X9iJGtxOhM=", "owner": "hercules-ci", "repo": "hercules-ci-agent", - "rev": "7192b83935ab292a8e894db590dfd44f976e183b", + "rev": "367dd8cd649b57009a6502e878005a1e54ad78c5", "type": "github" }, "original": { @@ -161,11 +161,11 @@ ] }, "locked": { - "lastModified": 1688571979, - "narHash": "sha256-asN8qFAjxZvq9HyXo0+FzVKTX+SDH2pAr71sQ06I0GE=", + "lastModified": 1689397210, + "narHash": "sha256-fVxZnqxMbsDkB4GzGAs/B41K0wt/e+B/fLxmTFF/S20=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "c6191e59824febda94b431146bf65628fc534e3b", + "rev": "0a63bfa3f00a3775ea3a6722b247880f1ffe91ce", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1688589382, - "narHash": "sha256-fCksttab+hJyUFmvNTaaJqY0SG1TolZbGFq9nmowJvM=", + "lastModified": 1689511810, + "narHash": "sha256-HfyoAybF5c+AZB4RofCXnMcJdjgcvU23g1f/PBu2i2Y=", "owner": "neovim", "repo": "neovim", - "rev": "a0c9c04f006dbc6cb38d620ec036e32ccb8e76cc", + "rev": "f660b794808ac809ee8cafe82ddd824840bc8e2c", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1688601949, - "narHash": "sha256-huKT8evwgfiVM7xHxLQgGcEeqsajgmygQxtjCWQgEI8=", + "lastModified": 1689552412, + "narHash": "sha256-bOEw40ZJKg6jtH4nMVFEPm58t6D9BNV3smHMWre4AgI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7fd54ca5186894d0454c9a4ddb128e64ca796f2f", + "rev": "327c6cb9cd86d78cd755bf7ad2483c2222a5d23f", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1686501370, - "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", + "lastModified": 1688322751, + "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", + "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", "type": "github" }, "original": { @@ -292,11 +292,11 @@ "nixpkgs-lib": { "locked": { "dir": "lib", - "lastModified": 1685564631, - "narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=", + "lastModified": 1688049487, + "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a", + "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1688590700, - "narHash": "sha256-ZF055rIUP89cVwiLpG5xkJzx00gEuuGFF60Bs/LM3wc=", + "lastModified": 1689534811, + "narHash": "sha256-jnSUdzD/414d94plCyNlvTJJtiTogTep6t7ZgIKIHiE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f292b4964cb71f9dfbbd30dc9f511d6165cd109b", + "rev": "6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1688556768, - "narHash": "sha256-mhd6g0iJGjEfOr3+6mZZOclUveeNr64OwxdbNtLc8mY=", + "lastModified": 1689449371, + "narHash": "sha256-sK3Oi8uEFrFPL83wKPV6w0+96NrmwqIpw9YFffMifVg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "27bd67e55fe09f9d68c77ff151c3e44c4f81f7de", + "rev": "29bcead8405cfe4c00085843eb372cc43837bb9d", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1688641762, - "narHash": "sha256-blyXdfKNaSh3Zn2SRHn2C3fR6jFktbTmaQiIEU/2xkU=", + "lastModified": 1689578334, + "narHash": "sha256-NKACTsZ6i2Qpphvfd1+ZZ4p3eolqdXxxaoXTSGuKrPk=", "owner": "nix-community", "repo": "NUR", - "rev": "695a3a40a301a8358c6d2008cf751fbdf2538b3a", + "rev": "8271501da8fe76976d1ddba1619b45637273fa64", "type": "github" }, "original": { From 4510b61a7b042e3518ad9fda9b59127d1120588d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 10:05:34 +0200 Subject: [PATCH 1368/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 88 ++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 4532edb7..21ae41a2 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { - "LazyVim": { "branch": "main", "commit": "296d79cfbcfe1dbf01ffa913d26d61f0f772b5e6" }, - "LuaSnip": { "branch": "master", "commit": "c7984d1cca3d8615e4daefc196597872a0b8d590" }, - "SchemaStore.nvim": { "branch": "main", "commit": "7322390c9abff6f137774d9e04bddb3cd725afd1" }, - "alpha-nvim": { "branch": "main", "commit": "9e33db324b8bb7a147bce9ea5496686ee859461d" }, - "bufferline.nvim": { "branch": "main", "commit": "2f391fde91b9c3876eee359ee24cc352050e5e48" }, - "catppuccin": { "branch": "main", "commit": "12894370fa3c9e2200f3724c4184354d6b79733a" }, + "LazyVim": { "branch": "main", "commit": "fb1f29c32c516601b4074d113202482769ef030e" }, + "LuaSnip": { "branch": "master", "commit": "45a4e899ca8f54936fe32ead6bba65f2a8d42e12" }, + "SchemaStore.nvim": { "branch": "main", "commit": "cd5c2a0db954011fcbeac7bbbc0c7ae9e23626e3" }, + "alpha-nvim": { "branch": "main", "commit": "e4fc5e29b731bdf55d204c5c6a11dc3be70f3b65" }, + "bufferline.nvim": { "branch": "main", "commit": "09b18b89ad2a2c2258a10bc06747f01bc1a42d0d" }, + "catppuccin": { "branch": "main", "commit": "e0dd3f9bb1513c98ab4ef9404ea26e18babf858a" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -13,79 +13,79 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "dial.nvim": { "branch": "master", "commit": "b3916370c24c498117a4c790b2752c437dab661a" }, - "diffview.nvim": { "branch": "main", "commit": "ff8e57a966618e973f443b2df177cab02e7f325c" }, + "dial.nvim": { "branch": "master", "commit": "c6657df5453a6cbe4e8356e1675e9652cadc332f" }, + "diffview.nvim": { "branch": "main", "commit": "b0cc22f5708f6b2b4f873b44fbc5eb93020f4e0c" }, "dressing.nvim": { "branch": "master", "commit": "e6eff7a5a950a853c3903d906dbcea03f778db5f" }, - "flash.nvim": { "branch": "main", "commit": "6d197a9afcca8cc6b0dfb71c94b56eba8be2238e" }, - "friendly-snippets": { "branch": "main", "commit": "5749f093759c29e3694053d048ceb940fe12c3d3" }, - "gitsigns.nvim": { "branch": "main", "commit": "a36bc3360d584d39b4fb076d855c4180842d4444" }, + "flash.nvim": { "branch": "main", "commit": "c92ecbff98fdc8770c283aa3934349e6889195dd" }, + "friendly-snippets": { "branch": "main", "commit": "8f5db6c5b691a6bbaa5dabd9afeb164ef8a06d04" }, + "gitsigns.nvim": { "branch": "main", "commit": "1e01b2958aebb79f1c33e7427a1bac131a678e0d" }, "gx.nvim": { "branch": "main", "commit": "9f7a264a4180b307a6d0b2c570576fc5fbc5389e" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, - "indent-blankline.nvim": { "branch": "master", "commit": "7075d7861f7a6bbf0de0298c83f8a13195e6ec01" }, - "lazy.nvim": { "branch": "main", "commit": "b7043f2983d7aead78ca902f3f2053907081859a" }, + "indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" }, + "lazy.nvim": { "branch": "main", "commit": "14d76aac4bd3ff07c1fca074c210f28f766a931e" }, "ltex_extra.nvim": { "branch": "master", "commit": "f32a4ca33857a61a8cf8dcd4177fa1d02e16dee0" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "c993ca55e3991535bc74cd2d6ef273810d066c84" }, - "mason.nvim": { "branch": "main", "commit": "db58ec7bc9248fb1878172f90cadc825b77564a6" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "828a538ac8419f586c010996aefa5df6eb7c250b" }, + "mason.nvim": { "branch": "main", "commit": "5ad3e113b0c3fde3caba8630599373046f6197e8" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "3f5963b3f5f42d5cf545b06192e1682395f90fb3" }, + "mini.ai": { "branch": "main", "commit": "5218ea75e635df78a807bc9d5a7162594fb76d02" }, "mini.animate": { "branch": "main", "commit": "b0978ee3dd0dafd644d0bc6c37c396dbe8658342" }, - "mini.bracketed": { "branch": "main", "commit": "4d5d8d8cfadb82b4e2d9196da2ecd5cd938a9c48" }, - "mini.bufremove": { "branch": "main", "commit": "14805473144fffbd019d07e51bed2d176e065ee9" }, + "mini.bracketed": { "branch": "main", "commit": "ac93e3d6df596c750200aa8529fd352ec91bbad2" }, + "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, "mini.hipatterns": { "branch": "main", "commit": "eb93970cf1f92233e6475008dfc10fac7b025475" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, - "mini.pairs": { "branch": "main", "commit": "963b800d0524eadd297199207011b98684205ada" }, - "mini.surround": { "branch": "main", "commit": "14f418209ecf52d1a8de9d091eb6bd63c31a4e01" }, - "neo-tree.nvim": { "branch": "v2.x", "commit": "70d3daa22bf24de9e3e284ac659506b1374e3ae2" }, - "neoconf.nvim": { "branch": "main", "commit": "3454d48dce19e0fe534e3e4849aa17c47c47d15f" }, - "neodev.nvim": { "branch": "main", "commit": "a2b1d8fb9fa4daa35d3fd9123bccccccbd4a3520" }, + "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, + "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "981a43adcca25e7ccc3c589902d49f25e4d48ebc" }, + "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, + "neodev.nvim": { "branch": "main", "commit": "17e89aabab209d7cdd3a205dce0678894fb3ffcd" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, - "neogit": { "branch": "master", "commit": "68a3e90e9d1ed9e362317817851d0f34b19e426b" }, - "neorg": { "branch": "main", "commit": "6fece1546d051a5f2a2d932d5978beec1ef920ab" }, - "noice.nvim": { "branch": "main", "commit": "4f4a1702a3b2677878e68111af95cc4e775322e1" }, + "neogit": { "branch": "master", "commit": "6ee2a9691aa345ff00907a4d5027a4ba754c8497" }, + "neorg": { "branch": "main", "commit": "c801ae5165423f4c70841e548208c74da86acf72" }, + "noice.nvim": { "branch": "main", "commit": "26394ed09d47160a493d4e9e754f5f78d4556a6b" }, "nui.nvim": { "branch": "main", "commit": "d146966a423e60699b084eeb28489fe3b6427599" }, - "null-ls.nvim": { "branch": "main", "commit": "bbaf5a96913aa92281f154b08732be2f57021c45" }, - "nvim-cmp": { "branch": "main", "commit": "e1f1b40790a8cb7e64091fb12cc5ffe350363aa0" }, - "nvim-lspconfig": { "branch": "master", "commit": "b6b34b9acf84949f0ac1c00747765e62b81fb38d" }, - "nvim-navic": { "branch": "master", "commit": "32cff45f1c84bec5e2a7bf15c0f3c6739b64c85d" }, + "null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" }, + "nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" }, + "nvim-lspconfig": { "branch": "master", "commit": "db3081ab19458325f2d5f775ba908e4fd9744469" }, + "nvim-navic": { "branch": "master", "commit": "e6da6f74d89de65258ea7e98e22103ff5de6dcf5" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "f4dc98ec45ecded2344aa3aac2d7cc43ad236858" }, - "nvim-spider": { "branch": "main", "commit": "04c6fc14d09823002dae486100745011fc3201ca" }, + "nvim-spectre": { "branch": "master", "commit": "6edac44e10b94b88bf3067fae937915172a3f825" }, + "nvim-spider": { "branch": "main", "commit": "430d1772869f626c1b97c3d255cdcee5945e9b14" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "f04f137acb1b591a5c21df8c201e8df4878d33ed" }, - "nvim-treesitter-context": { "branch": "master", "commit": "6eccc445394df5ab9b1c1e2c445c033949a6a784" }, + "nvim-treesitter": { "branch": "master", "commit": "1e3b9866500db59c11dd012ce8b3336b1979679e" }, + "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, "nvim-ufo": { "branch": "main", "commit": "43e39ec74cd57c45ca9d8229a796750f6083b850" }, - "nvim-web-devicons": { "branch": "master", "commit": "9ab9b0b894b2388a9dbcdee5f00ce72e25d85bf9" }, - "octo.nvim": { "branch": "master", "commit": "f498fd88bc0d9983a7fb566fa5535f8e38b874c0" }, + "nvim-web-devicons": { "branch": "master", "commit": "efbfed0567ef4bfac3ce630524a0f6c8451c5534" }, + "octo.nvim": { "branch": "master", "commit": "22328c578bc013fa4b0cef3d00af35efe0c0f256" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, - "plenary.nvim": { "branch": "master", "commit": "36aaceb6e93addd20b1b18f94d86aecc552f30c4" }, + "plenary.nvim": { "branch": "master", "commit": "1a6a7c929628566cf406aa7da1d048a1ddc7e9a8" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "859289acc0fda13bf42834dbeef10b8c1148d444" }, + "refactoring.nvim": { "branch": "master", "commit": "7894b10078a1a70c9b26028f4373bf209968e9bc" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "6074847b6ee4b725747c8fc540d9b6b128ac8a12" }, + "telescope.nvim": { "branch": "master", "commit": "2ea8dcd17b4f9b7714354965a28ae4fef4139c71" }, "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, - "tokyonight.nvim": { "branch": "main", "commit": "fd0a005fd8986ec0d98a1938dc570303e8d8444b" }, - "trouble.nvim": { "branch": "main", "commit": "d99e2abd10808ef91738ce98a5c767e6a51df449" }, + "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, + "trouble.nvim": { "branch": "main", "commit": "20d1b30d6925213abece21d35858a16e11d1e9fc" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, - "typescript.nvim": { "branch": "main", "commit": "5b3680e5c386e8778c081173ea0c978c14a40ccb" }, + "typescript.nvim": { "branch": "main", "commit": "de304087e6e49981fde01af8ccc5b21e8519306f" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "3a17944bfa3942da805a381750a1be4b314c64d2" }, + "vim-matchup": { "branch": "master", "commit": "17cc05867cb3314761e4baa20115a27120f8e82c" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, - "which-key.nvim": { "branch": "main", "commit": "d871f2b664afd5aed3dc1d1573bef2fb24ce0484" }, + "which-key.nvim": { "branch": "main", "commit": "38b990f6eabf62014018b4aae70a97d7a6c2eb88" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } } \ No newline at end of file From f8f22aa28b63e03becb866863f893d2298c7eef4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 10:06:44 +0200 Subject: [PATCH 1369/2080] lazyvim: flash is now the default keyboard movement tool --- lazyvim/nvim/lua/config/lazy.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 416f7777..b01c485e 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -17,7 +17,6 @@ require("lazy").setup({ -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.ui.mini-animate" }, - { import = "lazyvim.plugins.extras.editor.flash" }, -- copilot -- FIXME: not working fully automatically, likely due to overwritting of ncim-cmp -- configuration and sources From 6e2e01107d64b08f4a65a9a3793ef792fcfdd366 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 12:18:43 +0200 Subject: [PATCH 1370/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/8271501da8fe76976d1ddba1619b45637273fa64' (2023-07-17) → 'github:nix-community/NUR/46138202326facdfd677a4caed8b86a480baec6e' (2023-07-17) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 0267cd23..599d83e9 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1689578334, - "narHash": "sha256-NKACTsZ6i2Qpphvfd1+ZZ4p3eolqdXxxaoXTSGuKrPk=", + "lastModified": 1689587093, + "narHash": "sha256-nW363ShPvm11YlxD2G516WPEKtGfFwDBCL+4tMFByJU=", "owner": "nix-community", "repo": "NUR", - "rev": "8271501da8fe76976d1ddba1619b45637273fa64", + "rev": "46138202326facdfd677a4caed8b86a480baec6e", "type": "github" }, "original": { From 2963244738a179aca0416c7a264dbe877d10eebd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 14:12:47 +0200 Subject: [PATCH 1371/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/46138202326facdfd677a4caed8b86a480baec6e' (2023-07-17) → 'github:nix-community/NUR/12e5cc7a04da9ef5ef3fbfb684f5c517c4837518' (2023-07-17) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 599d83e9..a7661d98 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1689587093, - "narHash": "sha256-nW363ShPvm11YlxD2G516WPEKtGfFwDBCL+4tMFByJU=", + "lastModified": 1689590791, + "narHash": "sha256-BIpEG22sUtIv7KZYSxSKS7POR1YYeSYdJ+mlKeD83+8=", "owner": "nix-community", "repo": "NUR", - "rev": "46138202326facdfd677a4caed8b86a480baec6e", + "rev": "12e5cc7a04da9ef5ef3fbfb684f5c517c4837518", "type": "github" }, "original": { From bb2922074fd068beb324239b277b4d8f64f9df38 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 16:09:48 +0200 Subject: [PATCH 1372/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/12e5cc7a04da9ef5ef3fbfb684f5c517c4837518' (2023-07-17) → 'github:nix-community/NUR/029d2023eeceee09200a93a48ba1a60413e9b328' (2023-07-17) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index a7661d98..997c497d 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1689590791, - "narHash": "sha256-BIpEG22sUtIv7KZYSxSKS7POR1YYeSYdJ+mlKeD83+8=", + "lastModified": 1689601760, + "narHash": "sha256-gwsrEprPy6Q0iQ5qloWulmhkVh78/Y9tLA3MejK30Rw=", "owner": "nix-community", "repo": "NUR", - "rev": "12e5cc7a04da9ef5ef3fbfb684f5c517c4837518", + "rev": "029d2023eeceee09200a93a48ba1a60413e9b328", "type": "github" }, "original": { From d28f1d83ca21c39abb89f932db64f08385120cd5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 17:02:29 +0200 Subject: [PATCH 1373/2080] lazy: load more plugins --- lazyvim/nvim/lua/config/lazy.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index b01c485e..958aa4a0 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -11,12 +11,16 @@ require("lazy").setup({ -- import LazyVim plugins { "LazyVim/LazyVim", import = "lazyvim.plugins" }, -- import extras LazyVim modules - -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, - -- treesitter, mason and typescript.nvim. - { import = "lazyvim.plugins.extras.lang.typescript" }, - -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.docker" }, { import = "lazyvim.plugins.extras.lang.json" }, + { import = "lazyvim.plugins.extras.lang.python" }, + { import = "lazyvim.plugins.extras.lang.terraform" }, + -- Animate common Neovim actions (cursor movement, scrolling...) { import = "lazyvim.plugins.extras.ui.mini-animate" }, + -- Alternative startup screen/dashboard + { import = "lazyvim.plugins.extras.ui.mini-starter" }, + -- create and manage predefined window layouts + { import = "lazyvim.plugins.extras.ui.edgy" }, -- copilot -- FIXME: not working fully automatically, likely due to overwritting of ncim-cmp -- configuration and sources From 383579427f5aac747d0a43687a9205e3eb92e6a5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 17:02:34 +0200 Subject: [PATCH 1374/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 21ae41a2..201a7e72 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -2,9 +2,8 @@ "LazyVim": { "branch": "main", "commit": "fb1f29c32c516601b4074d113202482769ef030e" }, "LuaSnip": { "branch": "master", "commit": "45a4e899ca8f54936fe32ead6bba65f2a8d42e12" }, "SchemaStore.nvim": { "branch": "main", "commit": "cd5c2a0db954011fcbeac7bbbc0c7ae9e23626e3" }, - "alpha-nvim": { "branch": "main", "commit": "e4fc5e29b731bdf55d204c5c6a11dc3be70f3b65" }, "bufferline.nvim": { "branch": "main", "commit": "09b18b89ad2a2c2258a10bc06747f01bc1a42d0d" }, - "catppuccin": { "branch": "main", "commit": "e0dd3f9bb1513c98ab4ef9404ea26e18babf858a" }, + "catppuccin": { "branch": "main", "commit": "bfe91dfb3a19ffd4445e43611fcde68acbb3fed4" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -16,6 +15,7 @@ "dial.nvim": { "branch": "master", "commit": "c6657df5453a6cbe4e8356e1675e9652cadc332f" }, "diffview.nvim": { "branch": "main", "commit": "b0cc22f5708f6b2b4f873b44fbc5eb93020f4e0c" }, "dressing.nvim": { "branch": "master", "commit": "e6eff7a5a950a853c3903d906dbcea03f778db5f" }, + "edgy.nvim": { "branch": "main", "commit": "0d3b64f9159442cf9edcad451a0dd9fb7e31bc41" }, "flash.nvim": { "branch": "main", "commit": "c92ecbff98fdc8770c283aa3934349e6889195dd" }, "friendly-snippets": { "branch": "main", "commit": "8f5db6c5b691a6bbaa5dabd9afeb164ef8a06d04" }, "gitsigns.nvim": { "branch": "main", "commit": "1e01b2958aebb79f1c33e7427a1bac131a678e0d" }, @@ -37,25 +37,28 @@ "mini.hipatterns": { "branch": "main", "commit": "eb93970cf1f92233e6475008dfc10fac7b025475" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, + "mini.starter": { "branch": "main", "commit": "9591477df06e71352a155823d0eb506ff9cae52b" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "981a43adcca25e7ccc3c589902d49f25e4d48ebc" }, "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, "neodev.nvim": { "branch": "main", "commit": "17e89aabab209d7cdd3a205dce0678894fb3ffcd" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, - "neogit": { "branch": "master", "commit": "6ee2a9691aa345ff00907a4d5027a4ba754c8497" }, + "neogit": { "branch": "master", "commit": "bd7203e1f18ed72d1450688075f4d8f0b1c4f024" }, "neorg": { "branch": "main", "commit": "c801ae5165423f4c70841e548208c74da86acf72" }, - "noice.nvim": { "branch": "main", "commit": "26394ed09d47160a493d4e9e754f5f78d4556a6b" }, + "neotest-python": { "branch": "master", "commit": "054f22129405e747adfc2cbeddfcc59537df50ba" }, + "noice.nvim": { "branch": "main", "commit": "bfd2368b3f1fdd5766885b0115238d1f47113c6d" }, "nui.nvim": { "branch": "main", "commit": "d146966a423e60699b084eeb28489fe3b6427599" }, "null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" }, "nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" }, - "nvim-lspconfig": { "branch": "master", "commit": "db3081ab19458325f2d5f775ba908e4fd9744469" }, + "nvim-dap-python": { "branch": "master", "commit": "37b4cba02e337a95cb62ad1609b3d1dccb2e5d42" }, + "nvim-lspconfig": { "branch": "master", "commit": "ba3ec2527aa7aae9b989d69966174a22b7d1b1dd" }, "nvim-navic": { "branch": "master", "commit": "e6da6f74d89de65258ea7e98e22103ff5de6dcf5" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "6edac44e10b94b88bf3067fae937915172a3f825" }, "nvim-spider": { "branch": "main", "commit": "430d1772869f626c1b97c3d255cdcee5945e9b14" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "1e3b9866500db59c11dd012ce8b3336b1979679e" }, + "nvim-treesitter": { "branch": "master", "commit": "f6c52eb8392e47aaf4878e5799ba54e7b30fa4f8" }, "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, @@ -65,7 +68,7 @@ "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, - "plenary.nvim": { "branch": "master", "commit": "1a6a7c929628566cf406aa7da1d048a1ddc7e9a8" }, + "plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "7894b10078a1a70c9b26028f4373bf209968e9bc" }, @@ -79,7 +82,7 @@ "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, "trouble.nvim": { "branch": "main", "commit": "20d1b30d6925213abece21d35858a16e11d1e9fc" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, - "typescript.nvim": { "branch": "main", "commit": "de304087e6e49981fde01af8ccc5b21e8519306f" }, + "venv-selector.nvim": { "branch": "main", "commit": "27c502ee72071773932ef5e77df8464ffa876f7f" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-matchup": { "branch": "master", "commit": "17cc05867cb3314761e4baa20115a27120f8e82c" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, From 644d6b84ee840c4675ef3cdc3fc71d88b607d17b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 18:16:58 +0200 Subject: [PATCH 1375/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 201a7e72..664d7633 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -34,7 +34,6 @@ "mini.bracketed": { "branch": "main", "commit": "ac93e3d6df596c750200aa8529fd352ec91bbad2" }, "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, - "mini.hipatterns": { "branch": "main", "commit": "eb93970cf1f92233e6475008dfc10fac7b025475" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, "mini.starter": { "branch": "main", "commit": "9591477df06e71352a155823d0eb506ff9cae52b" }, @@ -90,5 +89,6 @@ "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "38b990f6eabf62014018b4aae70a97d7a6c2eb88" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, + "yanky.nvim": { "branch": "main", "commit": "b12561386a25645adb7504e0e6a8c5dc8b31e6da" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } } \ No newline at end of file From 4396379204b0f6963e28fa997af0341a806540af Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 18:17:21 +0200 Subject: [PATCH 1376/2080] LazyVim: update list of plugins --- lazyvim/nvim/lua/config/lazy.lua | 7 +++- lazyvim/nvim/lua/plugins/coding.lua | 64 ----------------------------- 2 files changed, 5 insertions(+), 66 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 958aa4a0..a4335a91 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -11,6 +11,9 @@ require("lazy").setup({ -- import LazyVim plugins { "LazyVim/LazyVim", import = "lazyvim.plugins" }, -- import extras LazyVim modules + -- better copy/paste + { import = "lazyvim.plugins.extras.coding.yanky" }, + -- support more languages { import = "lazyvim.plugins.extras.lang.docker" }, { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.lang.python" }, @@ -21,13 +24,13 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.ui.mini-starter" }, -- create and manage predefined window layouts { import = "lazyvim.plugins.extras.ui.edgy" }, + -- project management + { import = "lazyvim.plugins.extras.util.project" }, -- copilot -- FIXME: not working fully automatically, likely due to overwritting of ncim-cmp -- configuration and sources -- XXX: disabled until there is an easy way to opt in using copilot -- { import = "lazyvim.plugins.extras.coding.copilot" }, - { import = "lazyvim.plugins.extras.util.project" }, - { import = "lazyvim.plugins.extras.util.mini-hipatterns" }, -- import/override with your plugins { import = "plugins" }, }, diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 7a4ffcb6..0ecdcc17 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -189,70 +189,6 @@ return { opts = {}, }, - -- better yank/paste - { - "kkharji/sqlite.lua", - -- XXX: disabled as breaking bootstrap of configuration due to lazyvim.util not found - -- enabled = function() - -- return require("lazyvim.util").has("yanky.nvim") and not jit.os:find("Windows") - -- end, - }, - { - "gbprod/yanky.nvim", - enabled = false, - event = "BufReadPost", - config = function() - -- vim.g.clipboard = { - -- name = "xsel_override", - -- copy = { - -- ["+"] = "xsel --input --clipboard", - -- ["*"] = "xsel --input --primary", - -- }, - -- paste = { - -- ["+"] = "xsel --output --clipboard", - -- ["*"] = "xsel --output --primary", - -- }, - -- cache_enabled = 1, - -- } - - require("yanky").setup({ - highlight = { - timer = 150, - }, - ring = { - storage = jit.os:find("Windows") and "shada" or "sqlite", - }, - }) - - vim.keymap.set({ "n", "x" }, "y", "<Plug>(YankyYank)") - - vim.keymap.set({ "n", "x" }, "p", "<Plug>(YankyPutAfter)") - vim.keymap.set({ "n", "x" }, "P", "<Plug>(YankyPutBefore)") - vim.keymap.set({ "n", "x" }, "gp", "<Plug>(YankyGPutAfter)") - vim.keymap.set({ "n", "x" }, "gP", "<Plug>(YankyGPutBefore)") - - vim.keymap.set("n", "<c-n>", "<Plug>(YankyCycleForward)") - vim.keymap.set("n", "<c-p>", "<Plug>(YankyCycleBackward)") - - vim.keymap.set("n", "]p", "<Plug>(YankyPutIndentAfterLinewise)") - vim.keymap.set("n", "[p", "<Plug>(YankyPutIndentBeforeLinewise)") - vim.keymap.set("n", "]P", "<Plug>(YankyPutIndentAfterLinewise)") - vim.keymap.set("n", "[P", "<Plug>(YankyPutIndentBeforeLinewise)") - - vim.keymap.set("n", ">p", "<Plug>(YankyPutIndentAfterShiftRight)") - vim.keymap.set("n", "<p", "<Plug>(YankyPutIndentAfterShiftLeft)") - vim.keymap.set("n", ">P", "<Plug>(YankyPutIndentBeforeShiftRight)") - vim.keymap.set("n", "<P", "<Plug>(YankyPutIndentBeforeShiftLeft)") - - vim.keymap.set("n", "=p", "<Plug>(YankyPutAfterFilter)") - vim.keymap.set("n", "=P", "<Plug>(YankyPutBeforeFilter)") - - vim.keymap.set("n", "<leader>P", function() - require("telescope").extensions.yank_history.yank_history({}) - end, { desc = "Paste from Yanky" }) - end, - }, - -- better increase/descrease { "monaqa/dial.nvim", From 801990477a7b49bdbf0663dc4bc774367e416cca Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jul 2023 18:21:51 +0200 Subject: [PATCH 1377/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/029d2023eeceee09200a93a48ba1a60413e9b328' (2023-07-17) → 'github:nix-community/NUR/ffab7d9245ca270f4599a77ddd366bdce38780f0' (2023-07-17) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 997c497d..ea9a36d5 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1689601760, - "narHash": "sha256-gwsrEprPy6Q0iQ5qloWulmhkVh78/Y9tLA3MejK30Rw=", + "lastModified": 1689608869, + "narHash": "sha256-7uDF7eR/onE6vfEOkRV+Guihjh4bVAqe8K8oSByPFmk=", "owner": "nix-community", "repo": "NUR", - "rev": "029d2023eeceee09200a93a48ba1a60413e9b328", + "rev": "ffab7d9245ca270f4599a77ddd366bdce38780f0", "type": "github" }, "original": { From 6cb5a0d0dc1ecef9749538a183c069da71a810f7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Jul 2023 09:27:10 +0200 Subject: [PATCH 1378/2080] mutt: finally fix sorting --- .config/neomutt/mutt-common.rc | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/.config/neomutt/mutt-common.rc b/.config/neomutt/mutt-common.rc index f18b2363..db390072 100644 --- a/.config/neomutt/mutt-common.rc +++ b/.config/neomutt/mutt-common.rc @@ -78,22 +78,20 @@ set quit # don't ask, just do!! unset mark_old # read/new is good enough # sort/threading -# Goal: -# * sort by threads, most recent at the top -# * within threads: oldest message at the top, oldest to newest in descending order -# Default sorting -# Set by threads, most recent on top, but sometimes weird inside threads -# Most of the time from oldest to neweset, but sometims some are mixed -set sort = threads -set sort_aux = reverse-last-date-received -# thread based on regex +# threads based on subject / regex +unset strict_threads set sort_re set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" -# Ensure that INBOX is always using appropriate sorting -folder-hook Inbox 'set sort=threads sort_aux=reverse-last-date-received' +# Sort by threads +set sort = threads +# Sort threads, having the most recent at the top +set sort_thread_groups = reverse-last-date-received +# Sort within threads, last message at the bottom +set sort_aux = last-date-received +# Ensure that INBOX is always using appropriate thread-based sort +folder-hook Inbox 'set sort=threads sort_aux=last-date-received sort_thread_groups=reverse-last-date-received ' +# Ensure that Sent folder is first showing messages last sent folder-hook Sent 'set sort=reverse-date-sent' -# Threads sorted correctly but at bottom -#set sort_aux = last-date-received # collapse threads with unread mails # set collapse_unread From 7bd05efa8118d456763a64fb53af9c857912d9e4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Jul 2023 09:29:11 +0200 Subject: [PATCH 1379/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/327c6cb9cd86d78cd755bf7ad2483c2222a5d23f' (2023-07-17) → 'github:nix-community/neovim-nightly-overlay/e928495752ad03c3e2285eec9296562aff4de042' (2023-07-18) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/f660b794808ac809ee8cafe82ddd824840bc8e2c?dir=contrib' (2023-07-16) → 'github:neovim/neovim/80cf0f3d29fa337d43ec417759cb061bd2798ea8?dir=contrib' (2023-07-17) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/29bcead8405cfe4c00085843eb372cc43837bb9d' (2023-07-15) → 'github:NixOS/nixpkgs/d0f2758381caca8b4fb4a6cac61721cc9de06bd9' (2023-07-17) • Updated input 'nur': 'github:nix-community/NUR/ffab7d9245ca270f4599a77ddd366bdce38780f0' (2023-07-17) → 'github:nix-community/NUR/145b27eefbe178978b628c26b991658a8d5394af' (2023-07-18) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index ea9a36d5..be7fc6cd 100644 --- a/flake.lock +++ b/flake.lock @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1689511810, - "narHash": "sha256-HfyoAybF5c+AZB4RofCXnMcJdjgcvU23g1f/PBu2i2Y=", + "lastModified": 1689612014, + "narHash": "sha256-YPWIQhSXkzmGF9sgJVkgSaJ0kgzEsGYCv+rVTrlSMnY=", "owner": "neovim", "repo": "neovim", - "rev": "f660b794808ac809ee8cafe82ddd824840bc8e2c", + "rev": "80cf0f3d29fa337d43ec417759cb061bd2798ea8", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1689552412, - "narHash": "sha256-bOEw40ZJKg6jtH4nMVFEPm58t6D9BNV3smHMWre4AgI=", + "lastModified": 1689638688, + "narHash": "sha256-E/kTqQ7YrwOtan04EEtjTyOEp9mPhoV2zqytCHMSLLM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "327c6cb9cd86d78cd755bf7ad2483c2222a5d23f", + "rev": "e928495752ad03c3e2285eec9296562aff4de042", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689449371, - "narHash": "sha256-sK3Oi8uEFrFPL83wKPV6w0+96NrmwqIpw9YFffMifVg=", + "lastModified": 1689601424, + "narHash": "sha256-WEqoSflQP65MF9O9k+JEkvUXMEoyCatmMAoLOowcEoE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "29bcead8405cfe4c00085843eb372cc43837bb9d", + "rev": "d0f2758381caca8b4fb4a6cac61721cc9de06bd9", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1689608869, - "narHash": "sha256-7uDF7eR/onE6vfEOkRV+Guihjh4bVAqe8K8oSByPFmk=", + "lastModified": 1689662202, + "narHash": "sha256-9JLgn4MajOvY2x/0tJrv1I1kl/pyHQmJ8ycyiVg82F0=", "owner": "nix-community", "repo": "NUR", - "rev": "ffab7d9245ca270f4599a77ddd366bdce38780f0", + "rev": "145b27eefbe178978b628c26b991658a8d5394af", "type": "github" }, "original": { From 422ef96ed50539a3b8fbc0e9b34004320ddb2b2e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Jul 2023 14:35:38 +0200 Subject: [PATCH 1380/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/145b27eefbe178978b628c26b991658a8d5394af' (2023-07-18) → 'github:nix-community/NUR/bfae11dfbc37237f5e656e5b20fe70f1debc2e2b' (2023-07-18) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index be7fc6cd..1fcccd80 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1689662202, - "narHash": "sha256-9JLgn4MajOvY2x/0tJrv1I1kl/pyHQmJ8ycyiVg82F0=", + "lastModified": 1689680735, + "narHash": "sha256-GzEkrr9+YawlzL+yJbcKYU4tNdGtu6mmeKTXkG/Dmvw=", "owner": "nix-community", "repo": "NUR", - "rev": "145b27eefbe178978b628c26b991658a8d5394af", + "rev": "bfae11dfbc37237f5e656e5b20fe70f1debc2e2b", "type": "github" }, "original": { From af3b944a43125171446ef3cf9f7ff17e5a38b4a4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Jul 2023 18:27:59 +0200 Subject: [PATCH 1381/2080] nix-darwin: install Slack --- machines/Baptistes-MBP/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 3ef27a16..baeadbd2 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -37,6 +37,7 @@ "mumble" # "podman-desktop" "rectangle" + "slack" "stretchly" "teamviewer" "vlc" From 947f7f04f6ffb1d232ee25ffb3379e4e81f559d9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 19 Jul 2023 09:11:44 +0200 Subject: [PATCH 1382/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/e928495752ad03c3e2285eec9296562aff4de042' (2023-07-18) → 'github:nix-community/neovim-nightly-overlay/f42a9b1db59af2dff882803c38c51be7d5680da2' (2023-07-19) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/80cf0f3d29fa337d43ec417759cb061bd2798ea8?dir=contrib' (2023-07-17) → 'github:neovim/neovim/ab5cdbd167353a0c6a0ef0b864d78af13029339c?dir=contrib' (2023-07-18) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/d0f2758381caca8b4fb4a6cac61721cc9de06bd9' (2023-07-17) → 'github:NixOS/nixpkgs/57695599bdc4f7bfe5d28cfa23f14b3d8bdf8a5f' (2023-07-17) • Updated input 'nur': 'github:nix-community/NUR/bfae11dfbc37237f5e656e5b20fe70f1debc2e2b' (2023-07-18) → 'github:nix-community/NUR/30d058ee68b02dc2abb6beacf0be5c9bdcfd2d98' (2023-07-19) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 1fcccd80..b9526b55 100644 --- a/flake.lock +++ b/flake.lock @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1689612014, - "narHash": "sha256-YPWIQhSXkzmGF9sgJVkgSaJ0kgzEsGYCv+rVTrlSMnY=", + "lastModified": 1689722072, + "narHash": "sha256-Rjk2nAYMEB7+jy+4an3oTSQ7gn8K5U8ZGWLMaaCdHtI=", "owner": "neovim", "repo": "neovim", - "rev": "80cf0f3d29fa337d43ec417759cb061bd2798ea8", + "rev": "ab5cdbd167353a0c6a0ef0b864d78af13029339c", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1689638688, - "narHash": "sha256-E/kTqQ7YrwOtan04EEtjTyOEp9mPhoV2zqytCHMSLLM=", + "lastModified": 1689725104, + "narHash": "sha256-NQ9GCkrlk7NVnKA0JCprpjVwmE1J5/Xv5nj0WasXsP0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "e928495752ad03c3e2285eec9296562aff4de042", + "rev": "f42a9b1db59af2dff882803c38c51be7d5680da2", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689601424, - "narHash": "sha256-WEqoSflQP65MF9O9k+JEkvUXMEoyCatmMAoLOowcEoE=", + "lastModified": 1689631193, + "narHash": "sha256-AGSkBZaiTODQc8eT1rZDrQIjtb8JtFwJ0wVPzArlrnM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d0f2758381caca8b4fb4a6cac61721cc9de06bd9", + "rev": "57695599bdc4f7bfe5d28cfa23f14b3d8bdf8a5f", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1689680735, - "narHash": "sha256-GzEkrr9+YawlzL+yJbcKYU4tNdGtu6mmeKTXkG/Dmvw=", + "lastModified": 1689750080, + "narHash": "sha256-qCD/uwxO2DS3Sp+GU+mGYFoEqtrnYMxtIhnab9kI72M=", "owner": "nix-community", "repo": "NUR", - "rev": "bfae11dfbc37237f5e656e5b20fe70f1debc2e2b", + "rev": "30d058ee68b02dc2abb6beacf0be5c9bdcfd2d98", "type": "github" }, "original": { From 005fedab9cb90b3cc8bcb2a3107bc708998764a2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 19 Jul 2023 11:19:25 +0200 Subject: [PATCH 1383/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/30d058ee68b02dc2abb6beacf0be5c9bdcfd2d98' (2023-07-19) → 'github:nix-community/NUR/05c6d9d00750b03b56f7792e8f60ba67f78e869f' (2023-07-19) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index b9526b55..7385239d 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1689750080, - "narHash": "sha256-qCD/uwxO2DS3Sp+GU+mGYFoEqtrnYMxtIhnab9kI72M=", + "lastModified": 1689753560, + "narHash": "sha256-q+Qy39/GgttBYFkzBzP7V+3T91crsZLeTnr+cdvQe0U=", "owner": "nix-community", "repo": "NUR", - "rev": "30d058ee68b02dc2abb6beacf0be5c9bdcfd2d98", + "rev": "05c6d9d00750b03b56f7792e8f60ba67f78e869f", "type": "github" }, "original": { From 1a922f246d519ae4bb848833d5fb3b566f4b8f02 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jul 2023 10:22:39 +0200 Subject: [PATCH 1384/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/61662a63bfe1726588c1da6b412df86d8ca94d63' (2023-07-16) → 'github:lnl7/nix-darwin/531c3de7eccf95155828e0cd9f18c25e7f937777' (2023-07-20) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/f42a9b1db59af2dff882803c38c51be7d5680da2' (2023-07-19) → 'github:nix-community/neovim-nightly-overlay/65f2e8da89ba400e7bbad6fe2f51af0ed9f7e968' (2023-07-20) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/ab5cdbd167353a0c6a0ef0b864d78af13029339c?dir=contrib' (2023-07-18) → 'github:neovim/neovim/86ce3878d662c1dbfec61a5ad8e7c16c4283ed5c?dir=contrib' (2023-07-19) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/57695599bdc4f7bfe5d28cfa23f14b3d8bdf8a5f' (2023-07-17) → 'github:NixOS/nixpkgs/7f256d7da238cb627ef189d56ed590739f42f13b' (2023-07-19) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222' (2023-07-16) → 'github:nixos/nixpkgs/684c17c429c42515bafb3ad775d2a710947f3d67' (2023-07-18) • Updated input 'nur': 'github:nix-community/NUR/05c6d9d00750b03b56f7792e8f60ba67f78e869f' (2023-07-19) → 'github:nix-community/NUR/d98419c13076da506af00f86a2a8249da586657d' (2023-07-20) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 7385239d..545ff4a6 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1689516967, - "narHash": "sha256-sFAa33wkQHanmij/uhfGduIDK8z4dJAita/rK6u9pvE=", + "lastModified": 1689825754, + "narHash": "sha256-u3W3WGO3BA63nb+CeNLBajbJ/sl8tDXBHKxxeTOCxfo=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "61662a63bfe1726588c1da6b412df86d8ca94d63", + "rev": "531c3de7eccf95155828e0cd9f18c25e7f937777", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1689722072, - "narHash": "sha256-Rjk2nAYMEB7+jy+4an3oTSQ7gn8K5U8ZGWLMaaCdHtI=", + "lastModified": 1689785735, + "narHash": "sha256-QdjWbe4oNjIazmOrbJ9u5GadaqTV44RiYbiZoLgNKC8=", "owner": "neovim", "repo": "neovim", - "rev": "ab5cdbd167353a0c6a0ef0b864d78af13029339c", + "rev": "86ce3878d662c1dbfec61a5ad8e7c16c4283ed5c", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1689725104, - "narHash": "sha256-NQ9GCkrlk7NVnKA0JCprpjVwmE1J5/Xv5nj0WasXsP0=", + "lastModified": 1689811489, + "narHash": "sha256-rQ1gnq+ApoowEic21nIYIeQ0Qibb3IEEtwv0LgNIYDc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "f42a9b1db59af2dff882803c38c51be7d5680da2", + "rev": "65f2e8da89ba400e7bbad6fe2f51af0ed9f7e968", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1689534811, - "narHash": "sha256-jnSUdzD/414d94plCyNlvTJJtiTogTep6t7ZgIKIHiE=", + "lastModified": 1689679375, + "narHash": "sha256-LHUC52WvyVDi9PwyL1QCpaxYWBqp4ir4iL6zgOkmcb8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222", + "rev": "684c17c429c42515bafb3ad775d2a710947f3d67", "type": "github" }, "original": { @@ -325,11 +325,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689631193, - "narHash": "sha256-AGSkBZaiTODQc8eT1rZDrQIjtb8JtFwJ0wVPzArlrnM=", + "lastModified": 1689752456, + "narHash": "sha256-VOChdECcEI8ixz8QY+YC4JaNEFwQd1V8bA0G4B28Ki0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "57695599bdc4f7bfe5d28cfa23f14b3d8bdf8a5f", + "rev": "7f256d7da238cb627ef189d56ed590739f42f13b", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1689753560, - "narHash": "sha256-q+Qy39/GgttBYFkzBzP7V+3T91crsZLeTnr+cdvQe0U=", + "lastModified": 1689835495, + "narHash": "sha256-E7UoeLrHuiXR5S4zISzZSXDMIdn6qyf1Ybuc3sPLHUg=", "owner": "nix-community", "repo": "NUR", - "rev": "05c6d9d00750b03b56f7792e8f60ba67f78e869f", + "rev": "d98419c13076da506af00f86a2a8249da586657d", "type": "github" }, "original": { From 1ff4a29c82dad0eb7141e8be0f4b2dfb05ea00fd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jul 2023 13:37:17 +0200 Subject: [PATCH 1385/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/d98419c13076da506af00f86a2a8249da586657d' (2023-07-20) → 'github:nix-community/NUR/9ddeca993af5c34698d1e9a5765021dff9d30a05' (2023-07-20) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 545ff4a6..8e7f4f34 100644 --- a/flake.lock +++ b/flake.lock @@ -357,11 +357,11 @@ }, "nur": { "locked": { - "lastModified": 1689835495, - "narHash": "sha256-E7UoeLrHuiXR5S4zISzZSXDMIdn6qyf1Ybuc3sPLHUg=", + "lastModified": 1689849917, + "narHash": "sha256-o7GG+p3OiOJLP/QoFWl1ey1t7iHbV6D3/DBvGoy85bk=", "owner": "nix-community", "repo": "NUR", - "rev": "d98419c13076da506af00f86a2a8249da586657d", + "rev": "9ddeca993af5c34698d1e9a5765021dff9d30a05", "type": "github" }, "original": { From b99a5b30497a33f29476d0cfe7a5d199c3baee04 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jul 2023 13:49:39 +0200 Subject: [PATCH 1386/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 664d7633..e44e71b9 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "fb1f29c32c516601b4074d113202482769ef030e" }, - "LuaSnip": { "branch": "master", "commit": "45a4e899ca8f54936fe32ead6bba65f2a8d42e12" }, - "SchemaStore.nvim": { "branch": "main", "commit": "cd5c2a0db954011fcbeac7bbbc0c7ae9e23626e3" }, - "bufferline.nvim": { "branch": "main", "commit": "09b18b89ad2a2c2258a10bc06747f01bc1a42d0d" }, - "catppuccin": { "branch": "main", "commit": "bfe91dfb3a19ffd4445e43611fcde68acbb3fed4" }, + "LuaSnip": { "branch": "master", "commit": "0b4950a237ce441a6a3a947d501622453f6860ea" }, + "SchemaStore.nvim": { "branch": "main", "commit": "43b2ef9a1b716752dcdcb9fafddfdb871a59051f" }, + "bufferline.nvim": { "branch": "main", "commit": "d24378edc14a675c820a303b4512af3bbc5761e9" }, + "catppuccin": { "branch": "main", "commit": "a96334d46f5cc6c5d196585a85ebc863327a331c" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -13,12 +13,12 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "c6657df5453a6cbe4e8356e1675e9652cadc332f" }, - "diffview.nvim": { "branch": "main", "commit": "b0cc22f5708f6b2b4f873b44fbc5eb93020f4e0c" }, - "dressing.nvim": { "branch": "master", "commit": "e6eff7a5a950a853c3903d906dbcea03f778db5f" }, + "diffview.nvim": { "branch": "main", "commit": "e91110d2a7f8e2f667666aba6ea089ff823f8748" }, + "dressing.nvim": { "branch": "master", "commit": "39611852fd7bbac117e939a26759bb37361f0c90" }, "edgy.nvim": { "branch": "main", "commit": "0d3b64f9159442cf9edcad451a0dd9fb7e31bc41" }, - "flash.nvim": { "branch": "main", "commit": "c92ecbff98fdc8770c283aa3934349e6889195dd" }, - "friendly-snippets": { "branch": "main", "commit": "8f5db6c5b691a6bbaa5dabd9afeb164ef8a06d04" }, - "gitsigns.nvim": { "branch": "main", "commit": "1e01b2958aebb79f1c33e7427a1bac131a678e0d" }, + "flash.nvim": { "branch": "main", "commit": "636bcf84af487d2b8c4a5351d1d123ae3cac2ffe" }, + "friendly-snippets": { "branch": "main", "commit": "ea84a710262cb2c286d439070bad37d36fd3db25" }, + "gitsigns.nvim": { "branch": "main", "commit": "adcf2c7f2f495f5df148683764bf7cba6a70f34c" }, "gx.nvim": { "branch": "main", "commit": "9f7a264a4180b307a6d0b2c570576fc5fbc5389e" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, @@ -36,28 +36,28 @@ "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, - "mini.starter": { "branch": "main", "commit": "9591477df06e71352a155823d0eb506ff9cae52b" }, + "mini.starter": { "branch": "main", "commit": "c7e027558477838eac7109d8576ff1f2d9804845" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "981a43adcca25e7ccc3c589902d49f25e4d48ebc" }, "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, - "neodev.nvim": { "branch": "main", "commit": "17e89aabab209d7cdd3a205dce0678894fb3ffcd" }, + "neodev.nvim": { "branch": "main", "commit": "62515f64dfb196e8abe1263e17e2546559e41292" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, - "neogit": { "branch": "master", "commit": "bd7203e1f18ed72d1450688075f4d8f0b1c4f024" }, - "neorg": { "branch": "main", "commit": "c801ae5165423f4c70841e548208c74da86acf72" }, + "neogit": { "branch": "master", "commit": "3d63d76f04dc7102c83a057ded30a93822b59dec" }, + "neorg": { "branch": "main", "commit": "774f5dd80d15aa11d0221aba767da699f9533e32" }, "neotest-python": { "branch": "master", "commit": "054f22129405e747adfc2cbeddfcc59537df50ba" }, - "noice.nvim": { "branch": "main", "commit": "bfd2368b3f1fdd5766885b0115238d1f47113c6d" }, - "nui.nvim": { "branch": "main", "commit": "d146966a423e60699b084eeb28489fe3b6427599" }, + "noice.nvim": { "branch": "main", "commit": "c0917d2775b0d77b0297af16936aaf96abb678ac" }, + "nui.nvim": { "branch": "main", "commit": "9e3916e784660f55f47daa6f26053ad044db5d6a" }, "null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" }, "nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" }, "nvim-dap-python": { "branch": "master", "commit": "37b4cba02e337a95cb62ad1609b3d1dccb2e5d42" }, - "nvim-lspconfig": { "branch": "master", "commit": "ba3ec2527aa7aae9b989d69966174a22b7d1b1dd" }, + "nvim-lspconfig": { "branch": "master", "commit": "443c56a0cc67aad932c49d0b4a814d3014a3732f" }, "nvim-navic": { "branch": "master", "commit": "e6da6f74d89de65258ea7e98e22103ff5de6dcf5" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "6edac44e10b94b88bf3067fae937915172a3f825" }, + "nvim-spectre": { "branch": "master", "commit": "1ef252c1bf569b88e7e2fafde1eb0861d4f06aa3" }, "nvim-spider": { "branch": "main", "commit": "430d1772869f626c1b97c3d255cdcee5945e9b14" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "f6c52eb8392e47aaf4878e5799ba54e7b30fa4f8" }, + "nvim-treesitter": { "branch": "master", "commit": "4115fad9fded72571bdc3e0f7351e64b31799a3d" }, "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, @@ -70,18 +70,18 @@ "plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "7894b10078a1a70c9b26028f4373bf209968e9bc" }, + "refactoring.nvim": { "branch": "master", "commit": "85cf9cb68ae4303f4c1deaf1a2009f098664e6c8" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "2ea8dcd17b4f9b7714354965a28ae4fef4139c71" }, + "telescope.nvim": { "branch": "master", "commit": "47c755d737702df7a39b640c8d9c473a728be1df" }, "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, "trouble.nvim": { "branch": "main", "commit": "20d1b30d6925213abece21d35858a16e11d1e9fc" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, - "venv-selector.nvim": { "branch": "main", "commit": "27c502ee72071773932ef5e77df8464ffa876f7f" }, + "venv-selector.nvim": { "branch": "main", "commit": "dd94c45e63de316ded50ac809cda07b6c04fef7d" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, "vim-matchup": { "branch": "master", "commit": "17cc05867cb3314761e4baa20115a27120f8e82c" }, "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, From 3bbf906e2bc0ade9679c5b55a6d7a09b53c13ca3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jul 2023 13:50:47 +0200 Subject: [PATCH 1387/2080] Upgrade to 23.05 --- flake.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index d769d539..12f58f38 100644 --- a/flake.nix +++ b/flake.nix @@ -4,9 +4,9 @@ inputs = { # Package sets - nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; + nixpkgs-darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-23.05-darwin"; # macOS system configuration darwin = { @@ -16,7 +16,7 @@ # home-manager home-manager = { - url = "github:nix-community/home-manager/release-22.11"; + url = "github:nix-community/home-manager/release-23.05"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -34,7 +34,7 @@ # XXX not working, find how to install a iven package from unstable # pkgs-unstable = nixpkgs-unstable.legacyPackages.${builtins.currentSystem}; - homeStateVersion = "22.11"; + homeStateVersion = "23.05"; # Configuration for `nixpkgs` nixpkgsConfig = { From 2f52a02651f152e03ef8ddabdd0e1a8db42c2768 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jul 2023 13:53:32 +0200 Subject: [PATCH 1388/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/b372d7f8d5518aaba8a4058a453957460481afbc' (2023-05-29) → 'github:nix-community/home-manager/07c347bb50994691d7b0095f45ebd8838cf6bc38' (2023-06-27) • Removed input 'home-manager/utils' • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b' (2023-07-03) → 'github:NixOS/nixpkgs/08700de174bc6235043cb4263b643b721d936bdb' (2023-07-18) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b' (2023-07-03) → 'github:nixos/nixpkgs/242a519286787cfcf83b99222cb883360a4b671f' (2023-07-19) --- flake.lock | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index 8e7f4f34..716359f7 100644 --- a/flake.lock +++ b/flake.lock @@ -178,20 +178,19 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "utils": "utils" + ] }, "locked": { - "lastModified": 1685325875, - "narHash": "sha256-tevlLIMPeVNNYPd9UgjHApAUoFAnw9iohqUyj+LPp88=", + "lastModified": 1687871164, + "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=", "owner": "nix-community", "repo": "home-manager", - "rev": "b372d7f8d5518aaba8a4058a453957460481afbc", + "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-22.11", + "ref": "release-23.05", "repo": "home-manager", "type": "github" } @@ -275,16 +274,16 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "lastModified": 1689786379, + "narHash": "sha256-Z4t9R3POzqWTcCfq9wWB297ZcfU7FeWxP6P+kro4m1I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "rev": "242a519286787cfcf83b99222cb883360a4b671f", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-22.11-darwin", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", "type": "github" } @@ -341,16 +340,16 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "lastModified": 1689680872, + "narHash": "sha256-brNix2+ihJSzCiKwLafbyejrHJZUP0Fy6z5+xMOC27M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "rev": "08700de174bc6235043cb4263b643b721d936bdb", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.11", + "ref": "nixos-23.05", "repo": "nixpkgs", "type": "github" } @@ -396,21 +395,6 @@ "repo": "default", "type": "github" } - }, - "utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } } }, "root": "root", From fe687a80966405d961452599a1a8de5289edfc89 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jul 2023 14:06:19 +0200 Subject: [PATCH 1389/2080] nix: document upgrading --- README.md | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 1a6e8519..3e5cf821 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,13 @@ nix flake lock --update-input nur nix flake lock --update-input home-manager ``` +### Nix upgrade + +- Read release notes for nix, nixos and home-manager +- Update channels definition (replace existing ones, with most recent ones) +- Update channels +- Rebuild the system + ### NixOS setup > NixOS version: using the stable NixOS release, and allowing to explicitly @@ -216,22 +223,4 @@ Interesting approach to look into: - https://github.com/Thrimbda/charles/blob/08bb883cff19b01c66bbe25c62c06545ccf40a1c/flake.nix - https://github.com/ttak0422/ENV/blob/1478ba70e1a3eddd4dab1b65c191cc320e5b6cf1/flake.nix - https://github.com/voidcontext/nix-config/blob/695668066e358be43298eab796f16232a09ba24e/flake.nix - - https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343/3 -- [mystrio NixOS configuration](https://sr.ht/~misterio/nix-config/) -- https://dpdmancul.gitlab.io/dotfiles/index.html: fully documented -- https://github.com/jules-goose/nixcfg -- https://github.com/booklearner/nixconfig -- https://github.com/malob/nixpkgs -- https://github.com/gvolpe/nix-config: very complete. - - neovim in a dedicated flake: https://github.com/gvolpe/neovim-flake -- https://github.com/gmarmstrong/dotfiles -- https://github.com/shaunsingh/nix-darwin-dotfiles/blob/main/flake.nix -- https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 -- https://github.com/wvhulle/nixosConfigurations -- https://github.com/ArdanaLabs/ArdanaTenant -- Dracula colorscheme: https://github.com/RichardYan314/dotfiles-nix -- https://github.com/Misterio77/nix-starter-configs -- [NisOS on WSL](https://github.com/nix-community/NixOS-WSL) -- [NixOS on SoYouStart](https://web.archive.org/web/20160829180041/http://aborsu.github.io/2015/09/26/Install%20NixOS%20on%20So%20You%20Start%20dedicated%20server/) -- [Installing NixOS on OVH dedicated servers](https://web.archive.org/web/20210125195352/https://www.srid.ca/137ae172.html) -- https://discourse.nixos.org/t/howto-install-nixos-on-an-ovh-dedicated-server/3089/14 + - https://discourse.nixos. From 78f09bbc97e500b11667782a750c3fe6827eba96 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jul 2023 14:18:05 +0200 Subject: [PATCH 1390/2080] nix-darwin: define a user account due to changes in 23.05 --- machines/Baptistes-MBP/configuration.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 28a4de32..5f9b8951 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -74,6 +74,12 @@ system.keyboard.enableKeyMapping = true; system.keyboard.remapCapsLockToEscape = true; + # Define a user account + users.users.baptiste = { + # https://github.com/nix-community/home-manager/issues/4026 + home = "/Users/baptiste"; + }; + # macOS system configuration system.defaults = { dock = { From 8341ecafd100657f1ab8dc478315f4f6a9fcaa25 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 24 Jul 2023 14:23:50 +0200 Subject: [PATCH 1391/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/531c3de7eccf95155828e0cd9f18c25e7f937777' (2023-07-20) → 'github:lnl7/nix-darwin/0f9058e739dbefc676dee557b4b627962268d556' (2023-07-23) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/65f2e8da89ba400e7bbad6fe2f51af0ed9f7e968' (2023-07-20) → 'github:nix-community/neovim-nightly-overlay/5a348a91aadd07a47606b4ce229c95f2ab2087f9' (2023-07-24) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/86ce3878d662c1dbfec61a5ad8e7c16c4283ed5c?dir=contrib' (2023-07-19) → 'github:neovim/neovim/f2ce31d3dc1c728c33c0910e1a9970f0eb2e3f11?dir=contrib' (2023-07-23) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/7f256d7da238cb627ef189d56ed590739f42f13b' (2023-07-19) → 'github:NixOS/nixpkgs/af8cd5ded7735ca1df1a1174864daab75feeb64a' (2023-07-23) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/08700de174bc6235043cb4263b643b721d936bdb' (2023-07-18) → 'github:NixOS/nixpkgs/6da4bc6cb07cba1b8e53d139cbf1d2fb8061d967' (2023-07-21) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/242a519286787cfcf83b99222cb883360a4b671f' (2023-07-19) → 'github:nixos/nixpkgs/7b138d80b4cc04cd9d4df6944dd914234fcc090a' (2023-07-23) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/684c17c429c42515bafb3ad775d2a710947f3d67' (2023-07-18) → 'github:nixos/nixpkgs/12303c652b881435065a98729eb7278313041e49' (2023-07-22) • Updated input 'nur': 'github:nix-community/NUR/9ddeca993af5c34698d1e9a5765021dff9d30a05' (2023-07-20) → 'github:nix-community/NUR/6b90cb969b8e9d063ff71688085bf8ffb23a2788' (2023-07-24) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 716359f7..24273efc 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1689825754, - "narHash": "sha256-u3W3WGO3BA63nb+CeNLBajbJ/sl8tDXBHKxxeTOCxfo=", + "lastModified": 1690100173, + "narHash": "sha256-v3DT7u5KlW1ZoulvFQPndbg0gVD0zKGkJmPqGsBVQ3I=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "531c3de7eccf95155828e0cd9f18c25e7f937777", + "rev": "0f9058e739dbefc676dee557b4b627962268d556", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1689785735, - "narHash": "sha256-QdjWbe4oNjIazmOrbJ9u5GadaqTV44RiYbiZoLgNKC8=", + "lastModified": 1690124511, + "narHash": "sha256-7NN1Nsd1I7FeUaSwcHRp4cmuXyp3UfQnuXMvT46xb3Q=", "owner": "neovim", "repo": "neovim", - "rev": "86ce3878d662c1dbfec61a5ad8e7c16c4283ed5c", + "rev": "f2ce31d3dc1c728c33c0910e1a9970f0eb2e3f11", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1689811489, - "narHash": "sha256-rQ1gnq+ApoowEic21nIYIeQ0Qibb3IEEtwv0LgNIYDc=", + "lastModified": 1690157085, + "narHash": "sha256-MHZNkSiW6Ieuce8GyQQO/ctOWTunA+iZ6/p67iwQfl0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "65f2e8da89ba400e7bbad6fe2f51af0ed9f7e968", + "rev": "5a348a91aadd07a47606b4ce229c95f2ab2087f9", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1689786379, - "narHash": "sha256-Z4t9R3POzqWTcCfq9wWB297ZcfU7FeWxP6P+kro4m1I=", + "lastModified": 1690140933, + "narHash": "sha256-61B/GFZR/NqfdiNcF0uLQyStBsGskAKlkhCZSjug2yw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "242a519286787cfcf83b99222cb883360a4b671f", + "rev": "7b138d80b4cc04cd9d4df6944dd914234fcc090a", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1689679375, - "narHash": "sha256-LHUC52WvyVDi9PwyL1QCpaxYWBqp4ir4iL6zgOkmcb8=", + "lastModified": 1690031011, + "narHash": "sha256-kzK0P4Smt7CL53YCdZCBbt9uBFFhE0iNvCki20etAf4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "684c17c429c42515bafb3ad775d2a710947f3d67", + "rev": "12303c652b881435065a98729eb7278313041e49", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689752456, - "narHash": "sha256-VOChdECcEI8ixz8QY+YC4JaNEFwQd1V8bA0G4B28Ki0=", + "lastModified": 1690083312, + "narHash": "sha256-I3egwgNXavad1eIjWu1kYyi0u73di/sMmlnQIuzQASk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7f256d7da238cb627ef189d56ed590739f42f13b", + "rev": "af8cd5ded7735ca1df1a1174864daab75feeb64a", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1689680872, - "narHash": "sha256-brNix2+ihJSzCiKwLafbyejrHJZUP0Fy6z5+xMOC27M=", + "lastModified": 1689956312, + "narHash": "sha256-NV9yamMhE5jgz+ZSM2IgXeYqOvmGIbIIJ+AFIhfD7Ek=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "08700de174bc6235043cb4263b643b721d936bdb", + "rev": "6da4bc6cb07cba1b8e53d139cbf1d2fb8061d967", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1689849917, - "narHash": "sha256-o7GG+p3OiOJLP/QoFWl1ey1t7iHbV6D3/DBvGoy85bk=", + "lastModified": 1690199168, + "narHash": "sha256-8eo615fNLfpLGTtqjMapdyBLMUXBO8TSsSMZdW6nxvQ=", "owner": "nix-community", "repo": "NUR", - "rev": "9ddeca993af5c34698d1e9a5765021dff9d30a05", + "rev": "6b90cb969b8e9d063ff71688085bf8ffb23a2788", "type": "github" }, "original": { From 129a298e9d65e95d970b14d9a5239968d477c250 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 25 Jul 2023 10:10:02 +0200 Subject: [PATCH 1392/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/0f9058e739dbefc676dee557b4b627962268d556' (2023-07-23) → 'github:lnl7/nix-darwin/efd35d99ce412335c478dff9da9a4256bbd39757' (2023-07-25) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5a348a91aadd07a47606b4ce229c95f2ab2087f9' (2023-07-24) → 'github:nix-community/neovim-nightly-overlay/7abe540c27ada0504982aa0e1606a90b991905ec' (2023-07-25) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/f2ce31d3dc1c728c33c0910e1a9970f0eb2e3f11?dir=contrib' (2023-07-23) → 'github:neovim/neovim/7668f89d5be6d463bf6ab0c2d3a0393e3ec26e7f?dir=contrib' (2023-07-24) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/6da4bc6cb07cba1b8e53d139cbf1d2fb8061d967' (2023-07-21) → 'github:NixOS/nixpkgs/ac1acba43b2f9db073943ff5ed883ce7e8a40a2c' (2023-07-23) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/7b138d80b4cc04cd9d4df6944dd914234fcc090a' (2023-07-23) → 'github:nixos/nixpkgs/b4f31da7974d82249cd22ff4002419ec46a8f16b' (2023-07-24) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/12303c652b881435065a98729eb7278313041e49' (2023-07-22) → 'github:nixos/nixpkgs/b12803b6d90e2e583429bb79b859ca53c348b39a' (2023-07-24) • Updated input 'nur': 'github:nix-community/NUR/6b90cb969b8e9d063ff71688085bf8ffb23a2788' (2023-07-24) → 'github:nix-community/NUR/34b969aa73fefb4fc2983422f94116a83061b751' (2023-07-25) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 24273efc..f63598c1 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1690100173, - "narHash": "sha256-v3DT7u5KlW1ZoulvFQPndbg0gVD0zKGkJmPqGsBVQ3I=", + "lastModified": 1690247892, + "narHash": "sha256-WMGc1yq1cqRd+kzjWgbvHxckJIe8VQfiZ5RfR8tgABw=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "0f9058e739dbefc676dee557b4b627962268d556", + "rev": "efd35d99ce412335c478dff9da9a4256bbd39757", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1690124511, - "narHash": "sha256-7NN1Nsd1I7FeUaSwcHRp4cmuXyp3UfQnuXMvT46xb3Q=", + "lastModified": 1690222895, + "narHash": "sha256-XU6jqCGussQTIxUykQFhGyWMqSNoG3IzXO+bQepueQk=", "owner": "neovim", "repo": "neovim", - "rev": "f2ce31d3dc1c728c33c0910e1a9970f0eb2e3f11", + "rev": "7668f89d5be6d463bf6ab0c2d3a0393e3ec26e7f", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1690157085, - "narHash": "sha256-MHZNkSiW6Ieuce8GyQQO/ctOWTunA+iZ6/p67iwQfl0=", + "lastModified": 1690243471, + "narHash": "sha256-qF4gJYqUiLYI3k27CTwEvEIjqMA6e4X/xc41DLtJ8S4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5a348a91aadd07a47606b4ce229c95f2ab2087f9", + "rev": "7abe540c27ada0504982aa0e1606a90b991905ec", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1690140933, - "narHash": "sha256-61B/GFZR/NqfdiNcF0uLQyStBsGskAKlkhCZSjug2yw=", + "lastModified": 1690181313, + "narHash": "sha256-NO5coXHSVYqxiQjh0XcQmnmvUrxPWKnUu8e0Ky2+5TI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7b138d80b4cc04cd9d4df6944dd914234fcc090a", + "rev": "b4f31da7974d82249cd22ff4002419ec46a8f16b", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1690031011, - "narHash": "sha256-kzK0P4Smt7CL53YCdZCBbt9uBFFhE0iNvCki20etAf4=", + "lastModified": 1690179384, + "narHash": "sha256-+arbgqFTAtoeKtepW9wCnA0njCOyoiDFyl0Q0SBSOtE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "12303c652b881435065a98729eb7278313041e49", + "rev": "b12803b6d90e2e583429bb79b859ca53c348b39a", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1689956312, - "narHash": "sha256-NV9yamMhE5jgz+ZSM2IgXeYqOvmGIbIIJ+AFIhfD7Ek=", + "lastModified": 1690148897, + "narHash": "sha256-l/j/AX1d2K79EWslwgWR2+htkzCbtjKZsS5NbWXnhz4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6da4bc6cb07cba1b8e53d139cbf1d2fb8061d967", + "rev": "ac1acba43b2f9db073943ff5ed883ce7e8a40a2c", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690199168, - "narHash": "sha256-8eo615fNLfpLGTtqjMapdyBLMUXBO8TSsSMZdW6nxvQ=", + "lastModified": 1690269819, + "narHash": "sha256-p2ny+dIEH1EbqebqtSS+J539K1CtxzS3llw9Z/uRYmE=", "owner": "nix-community", "repo": "NUR", - "rev": "6b90cb969b8e9d063ff71688085bf8ffb23a2788", + "rev": "34b969aa73fefb4fc2983422f94116a83061b751", "type": "github" }, "original": { From 0721e9a7ea2c1c68169f4528e7a5811fabf01bee Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Jul 2023 08:57:34 +0200 Subject: [PATCH 1393/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/efd35d99ce412335c478dff9da9a4256bbd39757' (2023-07-25) → 'github:lnl7/nix-darwin/1c1dd8b0703feda8e7f1e7753088ae8307df5993' (2023-07-25) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/7abe540c27ada0504982aa0e1606a90b991905ec' (2023-07-25) → 'github:nix-community/neovim-nightly-overlay/285987ccd2593c594374a61f5c9a12fdfc33f98f' (2023-07-26) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/7668f89d5be6d463bf6ab0c2d3a0393e3ec26e7f?dir=contrib' (2023-07-24) → 'github:neovim/neovim/74bd4aba57d2f1b224abe46a6de82911d14ef6c1?dir=contrib' (2023-07-25) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/af8cd5ded7735ca1df1a1174864daab75feeb64a' (2023-07-23) → 'github:NixOS/nixpkgs/dfcffbd74fd6f0419370d8240e445252a39f4d10' (2023-07-24) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/b4f31da7974d82249cd22ff4002419ec46a8f16b' (2023-07-24) → 'github:nixos/nixpkgs/88f63d511092e95d28e9a7c98534595c53de1048' (2023-07-25) • Updated input 'nur': 'github:nix-community/NUR/34b969aa73fefb4fc2983422f94116a83061b751' (2023-07-25) → 'github:nix-community/NUR/2482c3adcabcb4ae1846ecd2bf7e8e9a4ba138a7' (2023-07-26) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f63598c1..ca0a77c1 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1690247892, - "narHash": "sha256-WMGc1yq1cqRd+kzjWgbvHxckJIe8VQfiZ5RfR8tgABw=", + "lastModified": 1690329015, + "narHash": "sha256-cyRYHECh8JQL0HPW2LBEPtfmJ6oHZ6SrKgFvUXoUCAw=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "efd35d99ce412335c478dff9da9a4256bbd39757", + "rev": "1c1dd8b0703feda8e7f1e7753088ae8307df5993", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1690222895, - "narHash": "sha256-XU6jqCGussQTIxUykQFhGyWMqSNoG3IzXO+bQepueQk=", + "lastModified": 1690297039, + "narHash": "sha256-ZxxU0JllyKlRlWEXv7Jj5HAuTj5WjRmpBCzuzlAMuck=", "owner": "neovim", "repo": "neovim", - "rev": "7668f89d5be6d463bf6ab0c2d3a0393e3ec26e7f", + "rev": "74bd4aba57d2f1b224abe46a6de82911d14ef6c1", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1690243471, - "narHash": "sha256-qF4gJYqUiLYI3k27CTwEvEIjqMA6e4X/xc41DLtJ8S4=", + "lastModified": 1690329935, + "narHash": "sha256-PfweUyEcxMfnKAJ6siiCB6sEH0GGxBuwYoIm6p+8aeE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7abe540c27ada0504982aa0e1606a90b991905ec", + "rev": "285987ccd2593c594374a61f5c9a12fdfc33f98f", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1690181313, - "narHash": "sha256-NO5coXHSVYqxiQjh0XcQmnmvUrxPWKnUu8e0Ky2+5TI=", + "lastModified": 1690298576, + "narHash": "sha256-RLgIGS04t4Rd0viqsx2e9dGViKB6nVsGmO11EagCWmM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b4f31da7974d82249cd22ff4002419ec46a8f16b", + "rev": "88f63d511092e95d28e9a7c98534595c53de1048", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690083312, - "narHash": "sha256-I3egwgNXavad1eIjWu1kYyi0u73di/sMmlnQIuzQASk=", + "lastModified": 1690235791, + "narHash": "sha256-QkPVQ859F0wXyd74A7UPYbmi4B5xYN4Ns7AQ0pvM0Wo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "af8cd5ded7735ca1df1a1174864daab75feeb64a", + "rev": "dfcffbd74fd6f0419370d8240e445252a39f4d10", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690269819, - "narHash": "sha256-p2ny+dIEH1EbqebqtSS+J539K1CtxzS3llw9Z/uRYmE=", + "lastModified": 1690348626, + "narHash": "sha256-0Lp/W7qUlONSxoeagBbpr87ObOL4hhS/NMGA7DvYH5s=", "owner": "nix-community", "repo": "NUR", - "rev": "34b969aa73fefb4fc2983422f94116a83061b751", + "rev": "2482c3adcabcb4ae1846ecd2bf7e8e9a4ba138a7", "type": "github" }, "original": { From fe6a1decabea0e8f01174a8237f38cb6788bef4d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Jul 2023 12:11:12 +0200 Subject: [PATCH 1394/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/2482c3adcabcb4ae1846ecd2bf7e8e9a4ba138a7' (2023-07-26) → 'github:nix-community/NUR/84fde7582154dfc017abaac68b2a9bec3159c2d3' (2023-07-26) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index ca0a77c1..ad22841f 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690348626, - "narHash": "sha256-0Lp/W7qUlONSxoeagBbpr87ObOL4hhS/NMGA7DvYH5s=", + "lastModified": 1690366080, + "narHash": "sha256-tgeTQ4/xybdhjy+M0JAfvswysqi5dnZNnLPgD3HZFic=", "owner": "nix-community", "repo": "NUR", - "rev": "2482c3adcabcb4ae1846ecd2bf7e8e9a4ba138a7", + "rev": "84fde7582154dfc017abaac68b2a9bec3159c2d3", "type": "github" }, "original": { From 7fbf5ef7dc61495ebb67dbfd37177a34f61be9ed Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Jul 2023 13:47:36 +0200 Subject: [PATCH 1395/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/1c1dd8b0703feda8e7f1e7753088ae8307df5993' (2023-07-25) → 'github:lnl7/nix-darwin/94212ebe32948471a1aa11baa5c576ce60d54589' (2023-07-26) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index ad22841f..3dadae33 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1690329015, - "narHash": "sha256-cyRYHECh8JQL0HPW2LBEPtfmJ6oHZ6SrKgFvUXoUCAw=", + "lastModified": 1690368313, + "narHash": "sha256-1MG/pU2riawknpYaTfaynKJPaIKFnQiYTTCFJAjXM5Q=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "1c1dd8b0703feda8e7f1e7753088ae8307df5993", + "rev": "94212ebe32948471a1aa11baa5c576ce60d54589", "type": "github" }, "original": { From 660bc691007642c21dec38ac90f598143f928eba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Jul 2023 13:49:13 +0200 Subject: [PATCH 1396/2080] main.nix: add black, httpie and vdirsyncer. Drop deprecated tests for norg-treesitter. --- home/main.nix | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/home/main.nix b/home/main.nix index 24079218..ec53eff5 100644 --- a/home/main.nix +++ b/home/main.nix @@ -20,29 +20,8 @@ curl wget - # FIXME: not working for getting norg-treesitter to build - # neovim :Neorg sync-parsers - # clang and llvm - # clang - # llvm - # clang-tools - # pkg-config - # clang_14 - # clang-tools_14 - # lld_14 - # llvmPackages_14.stdenv - # llvmPackages_14.llvm - # llvmPackages_14.clang - # llvmPackages_14.libcxx - # llvmPackages_14.libcxxabi - # llvmPackages_14.clang-unwrapped - # llvmPackages_14.clangUseLLVM - # llvmPackages_14.libcxxStdenv - # llvmPackages_14.libcxxClang - # llvmPackages_14.libclang - # llvmPackages_14.bintools - # Cool stuff + black doggo du-dust exa @@ -50,6 +29,7 @@ fortune gh gnupg + httpie inetutils mutt pydf @@ -59,6 +39,7 @@ tree xz unzip + vdirsyncer # Graphical tools # XXX joplin-cli build failing on macOS From cc39a67b408868ce054acea96133279ae66f42cc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Jul 2023 14:49:56 +0200 Subject: [PATCH 1397/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 61 ++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e44e71b9..5e427e8e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "fb1f29c32c516601b4074d113202482769ef030e" }, + "LazyVim": { "branch": "main", "commit": "aa1cccf230a01bd85d5173f7d87f782fd83caa88" }, "LuaSnip": { "branch": "master", "commit": "0b4950a237ce441a6a3a947d501622453f6860ea" }, - "SchemaStore.nvim": { "branch": "main", "commit": "43b2ef9a1b716752dcdcb9fafddfdb871a59051f" }, - "bufferline.nvim": { "branch": "main", "commit": "d24378edc14a675c820a303b4512af3bbc5761e9" }, - "catppuccin": { "branch": "main", "commit": "a96334d46f5cc6c5d196585a85ebc863327a331c" }, + "SchemaStore.nvim": { "branch": "main", "commit": "04f169237d34a813611bc23f5254ca3e2444df85" }, + "bufferline.nvim": { "branch": "main", "commit": "99f0932365b34e22549ff58e1bea388465d15e99" }, + "catppuccin": { "branch": "main", "commit": "737f60a3a25c79d9bb9574092f6c6c958a3d747a" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -15,19 +15,19 @@ "dial.nvim": { "branch": "master", "commit": "c6657df5453a6cbe4e8356e1675e9652cadc332f" }, "diffview.nvim": { "branch": "main", "commit": "e91110d2a7f8e2f667666aba6ea089ff823f8748" }, "dressing.nvim": { "branch": "master", "commit": "39611852fd7bbac117e939a26759bb37361f0c90" }, - "edgy.nvim": { "branch": "main", "commit": "0d3b64f9159442cf9edcad451a0dd9fb7e31bc41" }, - "flash.nvim": { "branch": "main", "commit": "636bcf84af487d2b8c4a5351d1d123ae3cac2ffe" }, - "friendly-snippets": { "branch": "main", "commit": "ea84a710262cb2c286d439070bad37d36fd3db25" }, - "gitsigns.nvim": { "branch": "main", "commit": "adcf2c7f2f495f5df148683764bf7cba6a70f34c" }, - "gx.nvim": { "branch": "main", "commit": "9f7a264a4180b307a6d0b2c570576fc5fbc5389e" }, + "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, + "flash.nvim": { "branch": "main", "commit": "967117690bd677cb7b6a87f0bc0077d2c0be3a27" }, + "friendly-snippets": { "branch": "main", "commit": "bc38057e513458cb2486b6cd82d365fa294ee398" }, + "gitsigns.nvim": { "branch": "main", "commit": "11b80e7eea249affc8776483272bcfc627b5552a" }, + "gx.nvim": { "branch": "main", "commit": "23baf6f9017cc6dee587ae89d1457ead521d0aee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, "indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" }, - "lazy.nvim": { "branch": "main", "commit": "14d76aac4bd3ff07c1fca074c210f28f766a931e" }, + "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "ltex_extra.nvim": { "branch": "master", "commit": "f32a4ca33857a61a8cf8dcd4177fa1d02e16dee0" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "828a538ac8419f586c010996aefa5df6eb7c250b" }, - "mason.nvim": { "branch": "main", "commit": "5ad3e113b0c3fde3caba8630599373046f6197e8" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "e86a4c84ff35240639643ffed56ee1c4d55f538e" }, + "mason.nvim": { "branch": "main", "commit": "fe9e34a9ab4d64321cdc3ecab4ea1809239bb73f" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "5218ea75e635df78a807bc9d5a7162594fb76d02" }, "mini.animate": { "branch": "main", "commit": "b0978ee3dd0dafd644d0bc6c37c396dbe8658342" }, @@ -40,26 +40,24 @@ "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "981a43adcca25e7ccc3c589902d49f25e4d48ebc" }, "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, - "neodev.nvim": { "branch": "main", "commit": "62515f64dfb196e8abe1263e17e2546559e41292" }, + "neodev.nvim": { "branch": "main", "commit": "866b6b6e687a93ba98851a03a74bf6d9211b7299" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, - "neogit": { "branch": "master", "commit": "3d63d76f04dc7102c83a057ded30a93822b59dec" }, - "neorg": { "branch": "main", "commit": "774f5dd80d15aa11d0221aba767da699f9533e32" }, - "neotest-python": { "branch": "master", "commit": "054f22129405e747adfc2cbeddfcc59537df50ba" }, - "noice.nvim": { "branch": "main", "commit": "c0917d2775b0d77b0297af16936aaf96abb678ac" }, + "neogit": { "branch": "master", "commit": "e94b15969e65eafbf31749700828cac117cc1336" }, + "neorg": { "branch": "main", "commit": "e76f0cb6b3ae5e990052343ebb73a5c8d8cac783" }, + "noice.nvim": { "branch": "main", "commit": "894db25ec726d32047799d4d0a982b701bec453b" }, "nui.nvim": { "branch": "main", "commit": "9e3916e784660f55f47daa6f26053ad044db5d6a" }, "null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" }, "nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" }, - "nvim-dap-python": { "branch": "master", "commit": "37b4cba02e337a95cb62ad1609b3d1dccb2e5d42" }, - "nvim-lspconfig": { "branch": "master", "commit": "443c56a0cc67aad932c49d0b4a814d3014a3732f" }, - "nvim-navic": { "branch": "master", "commit": "e6da6f74d89de65258ea7e98e22103ff5de6dcf5" }, + "nvim-lspconfig": { "branch": "master", "commit": "b6091272422bb0fbd729f7f5d17a56d37499c54f" }, + "nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "1ef252c1bf569b88e7e2fafde1eb0861d4f06aa3" }, - "nvim-spider": { "branch": "main", "commit": "430d1772869f626c1b97c3d255cdcee5945e9b14" }, + "nvim-spectre": { "branch": "master", "commit": "3ba6edeea1390457caaf73e96ab9c086ff6f90e9" }, + "nvim-spider": { "branch": "main", "commit": "b268dfcdd00e75d8c3f3576da7f89dfe14cadeec" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "4115fad9fded72571bdc3e0f7351e64b31799a3d" }, + "nvim-treesitter": { "branch": "master", "commit": "736a672afe852dbad4199002c89b7461b285c47f" }, "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "9e519b6146512c8e2e702faf8ac48420f4f5deec" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, "nvim-ufo": { "branch": "main", "commit": "43e39ec74cd57c45ca9d8229a796750f6083b850" }, "nvim-web-devicons": { "branch": "master", "commit": "efbfed0567ef4bfac3ce630524a0f6c8451c5534" }, @@ -70,25 +68,26 @@ "plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "85cf9cb68ae4303f4c1deaf1a2009f098664e6c8" }, + "refactoring.nvim": { "branch": "master", "commit": "7d57e01a9ae012c7aedd73f518d45608a772eb1f" }, + "semshi": { "branch": "master", "commit": "8047086306b1951e741f519f53d293d8b4b37f1a" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "47c755d737702df7a39b640c8d9c473a728be1df" }, + "telescope.nvim": { "branch": "master", "commit": "1228f3b15ca3d9b95dcb92efda6a3448871030bd" }, "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, - "trouble.nvim": { "branch": "main", "commit": "20d1b30d6925213abece21d35858a16e11d1e9fc" }, + "trouble.nvim": { "branch": "main", "commit": "fc4bb22b1d2cd5eb46fe61a9f6d6416d742beb5c" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, - "venv-selector.nvim": { "branch": "main", "commit": "dd94c45e63de316ded50ac809cda07b6c04fef7d" }, + "venv-selector.nvim": { "branch": "main", "commit": "cc312074371aff5b0d8d481b80c9c4de2a5287d7" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "17cc05867cb3314761e4baa20115a27120f8e82c" }, - "vim-nix": { "branch": "master", "commit": "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee" }, + "vim-matchup": { "branch": "master", "commit": "ca8971739e3908973c5912cb3a0ffb6cf7bd83e7" }, + "vim-nix": { "branch": "master", "commit": "b5da592a45418d02b116ebf686ee3786b419d80a" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "38b990f6eabf62014018b4aae70a97d7a6c2eb88" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "b12561386a25645adb7504e0e6a8c5dc8b31e6da" }, + "yanky.nvim": { "branch": "main", "commit": "95c2f006ea6eaed2b2d8b8b4943b8fcf13faf03f" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } } \ No newline at end of file From ad52802880d0a899b41ce33785778b369a69df6f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Jul 2023 14:50:00 +0200 Subject: [PATCH 1398/2080] lazy.lua: enable python-semshi. --- lazyvim/nvim/lua/config/lazy.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index a4335a91..b3a61687 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -17,6 +17,8 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.lang.docker" }, { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.lang.python" }, + -- Semantic highlighting for python + { import = "lazyvim.plugins.extras.lang.python-semshi" }, { import = "lazyvim.plugins.extras.lang.terraform" }, -- Animate common Neovim actions (cursor movement, scrolling...) { import = "lazyvim.plugins.extras.ui.mini-animate" }, From 865a76410c9e912a730bae32b793d7336fc7c92b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Jul 2023 14:50:38 +0200 Subject: [PATCH 1399/2080] nix-darwin: add another lauchd agent --- machines/Baptistes-MBP/configuration.nix | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 5f9b8951..1f6ca4f0 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -129,7 +129,7 @@ # echo "ok" # ""; - # Dotfiles. + # Mail configuration # XXX move to home-manager launchd.user.agents.mbsync = { # XXX not yet deployed/managed via nix @@ -140,4 +140,21 @@ serviceConfig.StandardOutPath = "/Users/baptiste/Mail/.mailsync.log"; serviceConfig.ProcessType = "Background"; }; + # Sync of calendar and contacts + # XXX: describe the vdirsyncer configuration + # https://search.nixos.org/options?channel=23.05&show=services.vdirsyncer.jobs.%3Cname%3E.configFile&from=0&size=50&sort=relevance&type=packages&query=vdirsyncer + # https://github.com/pSub/configs/blob/21c3413cf0f5f39ec118cbbf34704192615c40ca/nixops/configurations/server.pascal-wittmann.de/default.nix#L402 + launchd.user.agents.vdirsyncer = { + serviceConfig.Program = "${pkgs.vdirsyncer}/bin/vdirsyncer"; + serviceConfig.ProgramArguemnts = [ + "--verbosity" + "CRITICAL" + "sync" + ]; + serviceConfig.RunAtLoad = true; + serviceConfig.StartInterval = 180; + serviceConfig.StandardErrorPath = "/Users/baptiste/Mail/.vdirsyncer.log"; + serviceConfig.StandardOutPath = "/Users/baptiste/Mail/.vdirsyncer.log"; + serviceConfig.ProcessType = "Background"; + }; } From fbc60901a0bf0223305de4a4b000b27dc989ee11 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Jul 2023 14:52:32 +0200 Subject: [PATCH 1400/2080] nix-darwin: add another lauchd agent --- machines/Baptistes-MBP/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 1f6ca4f0..fb67f0eb 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -152,7 +152,7 @@ "sync" ]; serviceConfig.RunAtLoad = true; - serviceConfig.StartInterval = 180; + serviceConfig.StartInterval = 3600; serviceConfig.StandardErrorPath = "/Users/baptiste/Mail/.vdirsyncer.log"; serviceConfig.StandardOutPath = "/Users/baptiste/Mail/.vdirsyncer.log"; serviceConfig.ProcessType = "Background"; From 7d2a870fb52544e5c8109975aa2bb4e2fef61345 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Jul 2023 08:45:07 +0200 Subject: [PATCH 1401/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/94212ebe32948471a1aa11baa5c576ce60d54589' (2023-07-26) → 'github:lnl7/nix-darwin/16c07487ac9bc59f58b121d13160c67befa3342e' (2023-07-27) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/285987ccd2593c594374a61f5c9a12fdfc33f98f' (2023-07-26) → 'github:nix-community/neovim-nightly-overlay/366ec83684016e34f0add181ad2bcb63266628a5' (2023-07-27) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/74bd4aba57d2f1b224abe46a6de82911d14ef6c1?dir=contrib' (2023-07-25) → 'github:neovim/neovim/8fe9f41f7f9da2009d11855ec0548b9dbe548a69?dir=contrib' (2023-07-26) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/dfcffbd74fd6f0419370d8240e445252a39f4d10' (2023-07-24) → 'github:NixOS/nixpkgs/a9b47d85504bdd199e90846622c76aa0bfeabfac' (2023-07-25) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/ac1acba43b2f9db073943ff5ed883ce7e8a40a2c' (2023-07-23) → 'github:NixOS/nixpkgs/6dc93f0daec55ee2f441da385aaf143863e3d671' (2023-07-25) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/88f63d511092e95d28e9a7c98534595c53de1048' (2023-07-25) → 'github:nixos/nixpkgs/05f42aef4e9502a0d0ad79c9debd11d98565cfa7' (2023-07-27) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/b12803b6d90e2e583429bb79b859ca53c348b39a' (2023-07-24) → 'github:nixos/nixpkgs/ef99fa5c5ed624460217c31ac4271cfb5cb2502c' (2023-07-25) • Updated input 'nur': 'github:nix-community/NUR/84fde7582154dfc017abaac68b2a9bec3159c2d3' (2023-07-26) → 'github:nix-community/NUR/6fd81396eaadf28ec7a06acc16daa716f414839e' (2023-07-27) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 3dadae33..5f919698 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1690368313, - "narHash": "sha256-1MG/pU2riawknpYaTfaynKJPaIKFnQiYTTCFJAjXM5Q=", + "lastModified": 1690431538, + "narHash": "sha256-Uml8ivMMOFPB9fNSDcw72imGHRdJpaK12sRm2DTLLe8=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "94212ebe32948471a1aa11baa5c576ce60d54589", + "rev": "16c07487ac9bc59f58b121d13160c67befa3342e", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1690297039, - "narHash": "sha256-ZxxU0JllyKlRlWEXv7Jj5HAuTj5WjRmpBCzuzlAMuck=", + "lastModified": 1690403255, + "narHash": "sha256-P9A8ie/4zA5Hhk3OpJxzmqTefKeVxSQUOSMTxbyBM8U=", "owner": "neovim", "repo": "neovim", - "rev": "74bd4aba57d2f1b224abe46a6de82911d14ef6c1", + "rev": "8fe9f41f7f9da2009d11855ec0548b9dbe548a69", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1690329935, - "narHash": "sha256-PfweUyEcxMfnKAJ6siiCB6sEH0GGxBuwYoIm6p+8aeE=", + "lastModified": 1690416313, + "narHash": "sha256-/S50kHmLtgvxc3Lilg9krgztsXrPLTbqP79zIRsBPgU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "285987ccd2593c594374a61f5c9a12fdfc33f98f", + "rev": "366ec83684016e34f0add181ad2bcb63266628a5", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1690298576, - "narHash": "sha256-RLgIGS04t4Rd0viqsx2e9dGViKB6nVsGmO11EagCWmM=", + "lastModified": 1690420038, + "narHash": "sha256-FP7m//ShV9F4HU30N7IQmhku52xT0XLa2RDze+WSm9g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "88f63d511092e95d28e9a7c98534595c53de1048", + "rev": "05f42aef4e9502a0d0ad79c9debd11d98565cfa7", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1690179384, - "narHash": "sha256-+arbgqFTAtoeKtepW9wCnA0njCOyoiDFyl0Q0SBSOtE=", + "lastModified": 1690272529, + "narHash": "sha256-MakzcKXEdv/I4qJUtq/k/eG+rVmyOZLnYNC2w1mB59Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b12803b6d90e2e583429bb79b859ca53c348b39a", + "rev": "ef99fa5c5ed624460217c31ac4271cfb5cb2502c", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690235791, - "narHash": "sha256-QkPVQ859F0wXyd74A7UPYbmi4B5xYN4Ns7AQ0pvM0Wo=", + "lastModified": 1690327932, + "narHash": "sha256-Fv7PYZxN4eo0K6zXhHG/vOc+e2iuqQ5ywDrh0yeRjP0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dfcffbd74fd6f0419370d8240e445252a39f4d10", + "rev": "a9b47d85504bdd199e90846622c76aa0bfeabfac", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1690148897, - "narHash": "sha256-l/j/AX1d2K79EWslwgWR2+htkzCbtjKZsS5NbWXnhz4=", + "lastModified": 1690271650, + "narHash": "sha256-qwdsW8DBY1qH+9luliIH7VzgwvL+ZGI3LZWC0LTiDMI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ac1acba43b2f9db073943ff5ed883ce7e8a40a2c", + "rev": "6dc93f0daec55ee2f441da385aaf143863e3d671", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690366080, - "narHash": "sha256-tgeTQ4/xybdhjy+M0JAfvswysqi5dnZNnLPgD3HZFic=", + "lastModified": 1690437650, + "narHash": "sha256-gTHks9MaiFx0MMjMiAZx1FZykcmrWMy7q9NYVcjUMxM=", "owner": "nix-community", "repo": "NUR", - "rev": "84fde7582154dfc017abaac68b2a9bec3159c2d3", + "rev": "6fd81396eaadf28ec7a06acc16daa716f414839e", "type": "github" }, "original": { From 001a9d42ebf700c5d43de6296629946a6ac6ba63 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Jul 2023 09:35:22 +0200 Subject: [PATCH 1402/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/6dc93f0daec55ee2f441da385aaf143863e3d671' (2023-07-25) → 'github:NixOS/nixpkgs/f3fbbc36b4e179a5985b9ab12624e9dfe7989341' (2023-07-26) • Updated input 'nur': 'github:nix-community/NUR/6fd81396eaadf28ec7a06acc16daa716f414839e' (2023-07-27) → 'github:nix-community/NUR/2168d5fff432bb7ee332984712ee32e66ecce651' (2023-07-27) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 5f919698..0a870ce9 100644 --- a/flake.lock +++ b/flake.lock @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1690271650, - "narHash": "sha256-qwdsW8DBY1qH+9luliIH7VzgwvL+ZGI3LZWC0LTiDMI=", + "lastModified": 1690370995, + "narHash": "sha256-9z//23jGegLJrf3ITStLwVf715O39dq5u48Kr/XW14U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6dc93f0daec55ee2f441da385aaf143863e3d671", + "rev": "f3fbbc36b4e179a5985b9ab12624e9dfe7989341", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690437650, - "narHash": "sha256-gTHks9MaiFx0MMjMiAZx1FZykcmrWMy7q9NYVcjUMxM=", + "lastModified": 1690442491, + "narHash": "sha256-P7X5kQYcX0keEBbJgcdtIIb7l68CXXlvjIpgUGlEDZ4=", "owner": "nix-community", "repo": "NUR", - "rev": "6fd81396eaadf28ec7a06acc16daa716f414839e", + "rev": "2168d5fff432bb7ee332984712ee32e66ecce651", "type": "github" }, "original": { From 36b64d13fe60d4eba4249a1fb60272656c50607b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Jul 2023 15:30:37 +0200 Subject: [PATCH 1403/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/2168d5fff432bb7ee332984712ee32e66ecce651' (2023-07-27) → 'github:nix-community/NUR/2a17986f307a668b107cf4865a22883c242bae66' (2023-07-27) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 0a870ce9..b30f3a77 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690442491, - "narHash": "sha256-P7X5kQYcX0keEBbJgcdtIIb7l68CXXlvjIpgUGlEDZ4=", + "lastModified": 1690462763, + "narHash": "sha256-93iPxz6pl/wH+SLSrkq9NrHHQStFDVk8yppAWfB6WCo=", "owner": "nix-community", "repo": "NUR", - "rev": "2168d5fff432bb7ee332984712ee32e66ecce651", + "rev": "2a17986f307a668b107cf4865a22883c242bae66", "type": "github" }, "original": { From 3aac1217a2b642b1e195fe3bfa300d1361a45012 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 31 Jul 2023 08:48:49 +0200 Subject: [PATCH 1404/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/366ec83684016e34f0add181ad2bcb63266628a5' (2023-07-27) → 'github:nix-community/neovim-nightly-overlay/c3d64f4c26615b0ee385c22c73b77b281c142f18' (2023-07-31) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/8fe9f41f7f9da2009d11855ec0548b9dbe548a69?dir=contrib' (2023-07-26) → 'github:neovim/neovim/996dd36c77321ea91758b5996d152a2f37af99dd?dir=contrib' (2023-07-29) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/a9b47d85504bdd199e90846622c76aa0bfeabfac' (2023-07-25) → 'github:NixOS/nixpkgs/3acb5c4264c490e7714d503c7166a3fde0c51324' (2023-07-30) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/f3fbbc36b4e179a5985b9ab12624e9dfe7989341' (2023-07-26) → 'github:NixOS/nixpkgs/d57e8c535d4cbb07f441c30988ce52eec69db7a8' (2023-07-29) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/05f42aef4e9502a0d0ad79c9debd11d98565cfa7' (2023-07-27) → 'github:nixos/nixpkgs/b81af66deb21f73a70c67e5ea189568af53b1e8c' (2023-07-30) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/ef99fa5c5ed624460217c31ac4271cfb5cb2502c' (2023-07-25) → 'github:nixos/nixpkgs/e6ab46982debeab9831236869539a507f670a129' (2023-07-29) • Updated input 'nur': 'github:nix-community/NUR/2a17986f307a668b107cf4865a22883c242bae66' (2023-07-27) → 'github:nix-community/NUR/293017f2ec31771e0ed05ba0f95b73425850a65e' (2023-07-31) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index b30f3a77..7b99a3dc 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1690403255, - "narHash": "sha256-P9A8ie/4zA5Hhk3OpJxzmqTefKeVxSQUOSMTxbyBM8U=", + "lastModified": 1690639840, + "narHash": "sha256-nENWwY9TY8VTgiDVt0HQ0Xy2iqK8nyYeyOfQvB+sAeo=", "owner": "neovim", "repo": "neovim", - "rev": "8fe9f41f7f9da2009d11855ec0548b9dbe548a69", + "rev": "996dd36c77321ea91758b5996d152a2f37af99dd", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1690416313, - "narHash": "sha256-/S50kHmLtgvxc3Lilg9krgztsXrPLTbqP79zIRsBPgU=", + "lastModified": 1690761742, + "narHash": "sha256-z2DEJbHaWxIZbrGkiJ8fKM06rNPbGbepSvVUh16B5h4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "366ec83684016e34f0add181ad2bcb63266628a5", + "rev": "c3d64f4c26615b0ee385c22c73b77b281c142f18", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1690420038, - "narHash": "sha256-FP7m//ShV9F4HU30N7IQmhku52xT0XLa2RDze+WSm9g=", + "lastModified": 1690680713, + "narHash": "sha256-NXCWA8N+GfSQyoN7ZNiOgq/nDJKOp5/BHEpiZP8sUZw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "05f42aef4e9502a0d0ad79c9debd11d98565cfa7", + "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1690272529, - "narHash": "sha256-MakzcKXEdv/I4qJUtq/k/eG+rVmyOZLnYNC2w1mB59Y=", + "lastModified": 1690640159, + "narHash": "sha256-5DZUYnkeMOsVb/eqPYb9zns5YsnQXRJRC8Xx/nPMcno=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ef99fa5c5ed624460217c31ac4271cfb5cb2502c", + "rev": "e6ab46982debeab9831236869539a507f670a129", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690327932, - "narHash": "sha256-Fv7PYZxN4eo0K6zXhHG/vOc+e2iuqQ5ywDrh0yeRjP0=", + "lastModified": 1690720142, + "narHash": "sha256-GywuiZjBKfFkntQwpNQfL+Ksa2iGjPprBGL0/psgRZM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a9b47d85504bdd199e90846622c76aa0bfeabfac", + "rev": "3acb5c4264c490e7714d503c7166a3fde0c51324", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1690370995, - "narHash": "sha256-9z//23jGegLJrf3ITStLwVf715O39dq5u48Kr/XW14U=", + "lastModified": 1690630041, + "narHash": "sha256-gbnvqm5goS9DSKAqGFpq3398aOpwejmq4qWikqmQyRo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f3fbbc36b4e179a5985b9ab12624e9dfe7989341", + "rev": "d57e8c535d4cbb07f441c30988ce52eec69db7a8", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690462763, - "narHash": "sha256-93iPxz6pl/wH+SLSrkq9NrHHQStFDVk8yppAWfB6WCo=", + "lastModified": 1690785225, + "narHash": "sha256-m0OPQSi1ELxM7KGw5mfDR9ghbjAx4yX40sLALgABa4Q=", "owner": "nix-community", "repo": "NUR", - "rev": "2a17986f307a668b107cf4865a22883c242bae66", + "rev": "293017f2ec31771e0ed05ba0f95b73425850a65e", "type": "github" }, "original": { From 6c527b167f0a838f8105833346e41d7551bdc1e6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 31 Jul 2023 14:04:47 +0200 Subject: [PATCH 1405/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/293017f2ec31771e0ed05ba0f95b73425850a65e' (2023-07-31) → 'github:nix-community/NUR/be5da9d6384bc92fff5c298338b88eb1f5b7a28d' (2023-07-31) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 7b99a3dc..50a6b902 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690785225, - "narHash": "sha256-m0OPQSi1ELxM7KGw5mfDR9ghbjAx4yX40sLALgABa4Q=", + "lastModified": 1690800315, + "narHash": "sha256-INfR+05lqKazclxjSQ1kKkHRMro4QqtNn6YKsQ5wcQU=", "owner": "nix-community", "repo": "NUR", - "rev": "293017f2ec31771e0ed05ba0f95b73425850a65e", + "rev": "be5da9d6384bc92fff5c298338b88eb1f5b7a28d", "type": "github" }, "original": { From 4c424436fb56922bf96ca8e0aa123450ca18031f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 1 Aug 2023 11:23:20 +0200 Subject: [PATCH 1406/2080] nvim: update localleader. --- home/neovim.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/neovim.nix b/home/neovim.nix index ce3a288f..30ae23b7 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -422,7 +422,7 @@ set foldmethod=indent " Set 'indent' folding method set nofoldenable " Start with folds opened let g:mapleader = ' ' - let g:maplocalleader = ' ' + let g:maplocalleader = '\\' " Avoid clashes between local and global mappings " use return to enter command mode nnoremap <cr> : vnoremap <cr> : From f07d0a2082aabd90804a11ef20c32cb9ae961980 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 1 Aug 2023 11:23:34 +0200 Subject: [PATCH 1407/2080] keymaps: more movement from Folke. --- lazyvim/nvim/lua/config/keymaps.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lazyvim/nvim/lua/config/keymaps.lua b/lazyvim/nvim/lua/config/keymaps.lua index ed696141..8cd04be4 100644 --- a/lazyvim/nvim/lua/config/keymaps.lua +++ b/lazyvim/nvim/lua/config/keymaps.lua @@ -3,6 +3,12 @@ -- Add any additional keymaps here local keymap = vim.keymap +-- Move to window using the movement keys +keymap.set("n", "<left>", "<C-w>h") +keymap.set("n", "<down>", "<C-w>j") +keymap.set("n", "<up>", "<C-w>k") +keymap.set("n", "<right>", "<C-w>l") + -- Go to beginning and end of of command in command-line mode keymap.set("c", "<C-A>", "<HOME>") keymap.set("c", "<C-E>", "<END>") From b8bbed920462f24a04c17434bbd3c3d3d9c7ade4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 1 Aug 2023 11:23:52 +0200 Subject: [PATCH 1408/2080] lazyvim: re-enable netre plugin. --- lazyvim/nvim/lua/config/lazy.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index b3a61687..aecc8d8d 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -61,7 +61,7 @@ require("lazy").setup({ "gzip", -- "matchit", -- "matchparen", - -- "netrwPlugin", + "netrwPlugin", "tarPlugin", "tohtml", "tutor", From 213237f601a74e98e5f1fbb0ce43dc160fc155c0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 1 Aug 2023 11:25:03 +0200 Subject: [PATCH 1409/2080] neorg: update doc, extend conf --- lazyvim/nvim/lua/plugins/neorg.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/neorg.lua b/lazyvim/nvim/lua/plugins/neorg.lua index 70464c8e..646d545c 100644 --- a/lazyvim/nvim/lua/plugins/neorg.lua +++ b/lazyvim/nvim/lua/plugins/neorg.lua @@ -1,11 +1,16 @@ return { -- neorg, org-mode like -- https://github.com/nvim-neorg/neorg - -- Bindings: ~/.local/share/nvim/lazy/neorg/lua/neorg/modules/core/keybinds/keybinds.lua + -- Bindings mapped via localleader (\) + -- ~/.local/share/nvim/lazy/neorg/lua/neorg/modules/core/keybinds/keybinds.lua { "nvim-neorg/neorg", -- lazy-load on filetype + enabled = true, ft = "norg", + build = ":Neorg sync-parsers", + cmd = "Neorg", + dependencies = { "nvim-lua/plenary.nvim" }, opts = { load = { -- Load default modules From 600dc3963912abba02e9dadaf871452bc21c414b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 1 Aug 2023 11:25:07 +0200 Subject: [PATCH 1410/2080] nvim lsp: load more LSP servers. --- lazyvim/nvim/lua/plugins/lsp.lua | 66 ++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 1b4c0728..27b29270 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -74,6 +74,8 @@ return { -- use LanguageTool via ltex for spell checking -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html -- TODO: have cmp do completion using words from the dictionaries + dockerls = {}, + html = {}, ltex = { filetypes = { "bib", @@ -106,6 +108,69 @@ return { }, }, }, + lua_ls = { + single_file_support = true, + settings = { + Lua = { + workspace = { + checkThirdParty = false, + }, + completion = { + workspaceWord = true, + callSnippet = "Both", + }, + misc = { + parameters = { + -- "--log-level=trace", + }, + }, + hint = { + enable = true, + setType = false, + paramType = true, + paramName = "Disable", + semicolon = "Disable", + arrayIndex = "Disable", + }, + doc = { + privateName = { "^_" }, + }, + type = { + castNumberToInteger = true, + }, + diagnostics = { + disable = { "incomplete-signature-doc", "trailing-space" }, + groupSeverity = { + strong = "Warning", + strict = "Warning", + }, + groupFileStatus = { + ["ambiguity"] = "Opened", + ["await"] = "Opened", + ["codestyle"] = "None", + ["duplicate"] = "Opened", + ["global"] = "Opened", + ["luadoc"] = "Opened", + ["redefined"] = "Opened", + ["strict"] = "Opened", + ["strong"] = "Opened", + ["type-check"] = "Opened", + ["unbalanced"] = "Opened", + ["unused"] = "Opened", + }, + unusedLocalExclude = { "_*" }, + }, + format = { + enable = false, + defaultConfig = { + indent_style = "space", + indent_size = "2", + continuation_indent_size = "2", + }, + }, + }, + }, + }, marksman = {}, perlnavigator = { -- settings = { @@ -131,6 +196,7 @@ return { }, }, }, + vimls = {}, }, setup = { -- integrate ltex_extra with lazyvim From 7f0fdd3619bdfe4ba356fb07ec5ad0c9f47c6dc8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 1 Aug 2023 11:25:32 +0200 Subject: [PATCH 1411/2080] nix darwin: fix arg name for vdirsyncer. --- machines/Baptistes-MBP/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index fb67f0eb..02ac88b5 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -146,7 +146,7 @@ # https://github.com/pSub/configs/blob/21c3413cf0f5f39ec118cbbf34704192615c40ca/nixops/configurations/server.pascal-wittmann.de/default.nix#L402 launchd.user.agents.vdirsyncer = { serviceConfig.Program = "${pkgs.vdirsyncer}/bin/vdirsyncer"; - serviceConfig.ProgramArguemnts = [ + serviceConfig.ProgramArguments = [ "--verbosity" "CRITICAL" "sync" From 84ab5fac9676e60813ece5bf7dbf12dc4b1f72fd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 1 Aug 2023 11:26:03 +0200 Subject: [PATCH 1412/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 5e427e8e..91544465 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "aa1cccf230a01bd85d5173f7d87f782fd83caa88" }, - "LuaSnip": { "branch": "master", "commit": "0b4950a237ce441a6a3a947d501622453f6860ea" }, - "SchemaStore.nvim": { "branch": "main", "commit": "04f169237d34a813611bc23f5254ca3e2444df85" }, + "LuaSnip": { "branch": "master", "commit": "e81cbe6004051c390721d8570a4a0541ceb0df10" }, + "SchemaStore.nvim": { "branch": "main", "commit": "fba131b5ef7a54a8f8d71ef2a2e8d2263b87daac" }, "bufferline.nvim": { "branch": "main", "commit": "99f0932365b34e22549ff58e1bea388465d15e99" }, - "catppuccin": { "branch": "main", "commit": "737f60a3a25c79d9bb9574092f6c6c958a3d747a" }, + "catppuccin": { "branch": "main", "commit": "057c34f849cf21059487d849e2f3b3efcd4ee0eb" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -14,17 +14,17 @@ "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "dial.nvim": { "branch": "master", "commit": "c6657df5453a6cbe4e8356e1675e9652cadc332f" }, "diffview.nvim": { "branch": "main", "commit": "e91110d2a7f8e2f667666aba6ea089ff823f8748" }, - "dressing.nvim": { "branch": "master", "commit": "39611852fd7bbac117e939a26759bb37361f0c90" }, + "dressing.nvim": { "branch": "master", "commit": "829bc80400651aea31b03d8fc9a99135512fe67a" }, "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, "flash.nvim": { "branch": "main", "commit": "967117690bd677cb7b6a87f0bc0077d2c0be3a27" }, "friendly-snippets": { "branch": "main", "commit": "bc38057e513458cb2486b6cd82d365fa294ee398" }, - "gitsigns.nvim": { "branch": "main", "commit": "11b80e7eea249affc8776483272bcfc627b5552a" }, + "gitsigns.nvim": { "branch": "main", "commit": "5d73da785a3c05fd63ac31769079db05169a6ec7" }, "gx.nvim": { "branch": "main", "commit": "23baf6f9017cc6dee587ae89d1457ead521d0aee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, - "incline.nvim": { "branch": "main", "commit": "71a03756a5f750c79a2889a80fcd8bbff7083690" }, + "incline.nvim": { "branch": "main", "commit": "c135bd7b4855dfb787f8e98caaf0a73679555be1" }, "indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" }, "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, - "ltex_extra.nvim": { "branch": "master", "commit": "f32a4ca33857a61a8cf8dcd4177fa1d02e16dee0" }, + "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e86a4c84ff35240639643ffed56ee1c4d55f538e" }, "mason.nvim": { "branch": "main", "commit": "fe9e34a9ab4d64321cdc3ecab4ea1809239bb73f" }, @@ -40,25 +40,25 @@ "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "981a43adcca25e7ccc3c589902d49f25e4d48ebc" }, "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, - "neodev.nvim": { "branch": "main", "commit": "866b6b6e687a93ba98851a03a74bf6d9211b7299" }, + "neodev.nvim": { "branch": "main", "commit": "2973d6c56cbde46c04e12476bb40eefd516d5f35" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, - "neogit": { "branch": "master", "commit": "e94b15969e65eafbf31749700828cac117cc1336" }, - "neorg": { "branch": "main", "commit": "e76f0cb6b3ae5e990052343ebb73a5c8d8cac783" }, + "neogit": { "branch": "master", "commit": "343ea071602c52a618fdee4f1333dc37f0d7757b" }, + "neorg": { "branch": "main", "commit": "3db10018e8893aee47f3b5eb9f4d7440f8db5136" }, "noice.nvim": { "branch": "main", "commit": "894db25ec726d32047799d4d0a982b701bec453b" }, "nui.nvim": { "branch": "main", "commit": "9e3916e784660f55f47daa6f26053ad044db5d6a" }, "null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" }, "nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" }, - "nvim-lspconfig": { "branch": "master", "commit": "b6091272422bb0fbd729f7f5d17a56d37499c54f" }, + "nvim-lspconfig": { "branch": "master", "commit": "a59d74e12340242c0735666fb2e91afdbe6f2496" }, "nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "3ba6edeea1390457caaf73e96ab9c086ff6f90e9" }, - "nvim-spider": { "branch": "main", "commit": "b268dfcdd00e75d8c3f3576da7f89dfe14cadeec" }, + "nvim-spider": { "branch": "main", "commit": "a9658b58cd219e3fbfa6d2c5ab04b255bc6a1f6c" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "736a672afe852dbad4199002c89b7461b285c47f" }, + "nvim-treesitter": { "branch": "master", "commit": "4c4d586a05e236d8199ab6faab8cb733a9b5bd24" }, "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "9e519b6146512c8e2e702faf8ac48420f4f5deec" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "e9062e2dfb9854e6a927370f2d720de354c88524" }, "nvim-ufo": { "branch": "main", "commit": "43e39ec74cd57c45ca9d8229a796750f6083b850" }, "nvim-web-devicons": { "branch": "master", "commit": "efbfed0567ef4bfac3ce630524a0f6c8451c5534" }, "octo.nvim": { "branch": "master", "commit": "22328c578bc013fa4b0cef3d00af35efe0c0f256" }, @@ -68,25 +68,25 @@ "plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "7d57e01a9ae012c7aedd73f518d45608a772eb1f" }, + "refactoring.nvim": { "branch": "master", "commit": "5359e74291164fcaeaaecdea9ba753ad54eb53d0" }, "semshi": { "branch": "master", "commit": "8047086306b1951e741f519f53d293d8b4b37f1a" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "1228f3b15ca3d9b95dcb92efda6a3448871030bd" }, - "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, + "telescope.nvim": { "branch": "master", "commit": "d2e17ba18a6840b7e7079764b282616c3188e0de" }, + "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, - "trouble.nvim": { "branch": "main", "commit": "fc4bb22b1d2cd5eb46fe61a9f6d6416d742beb5c" }, + "trouble.nvim": { "branch": "main", "commit": "40aad004f53ae1d1ba91bcc5c29d59f07c5f01d3" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, "venv-selector.nvim": { "branch": "main", "commit": "cc312074371aff5b0d8d481b80c9c4de2a5287d7" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, - "vim-matchup": { "branch": "master", "commit": "ca8971739e3908973c5912cb3a0ffb6cf7bd83e7" }, - "vim-nix": { "branch": "master", "commit": "b5da592a45418d02b116ebf686ee3786b419d80a" }, + "vim-matchup": { "branch": "master", "commit": "207418404291d81df13612b966b7eb9841c9e704" }, + "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, - "which-key.nvim": { "branch": "main", "commit": "38b990f6eabf62014018b4aae70a97d7a6c2eb88" }, + "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "yanky.nvim": { "branch": "main", "commit": "95c2f006ea6eaed2b2d8b8b4943b8fcf13faf03f" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } From 72e6bf090b677643592fd5f8c22c3a6ce0d322cc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 1 Aug 2023 11:28:53 +0200 Subject: [PATCH 1413/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/c3d64f4c26615b0ee385c22c73b77b281c142f18' (2023-07-31) → 'github:nix-community/neovim-nightly-overlay/f6c6746f5d2403f27015a7f6a130ac9b47289810' (2023-08-01) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/3acb5c4264c490e7714d503c7166a3fde0c51324' (2023-07-30) → 'github:NixOS/nixpkgs/6ea628b5c55c431ed54705d904f0a448ae69385d' (2023-07-31) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d57e8c535d4cbb07f441c30988ce52eec69db7a8' (2023-07-29) → 'github:NixOS/nixpkgs/391e8db1f06c3f74c2d313a73135515023af3993' (2023-07-30) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/b81af66deb21f73a70c67e5ea189568af53b1e8c' (2023-07-30) → 'github:nixos/nixpkgs/c5cdd7eec82ca13d0fc68a523fb3d3060c0f0e07' (2023-07-31) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e6ab46982debeab9831236869539a507f670a129' (2023-07-29) → 'github:nixos/nixpkgs/fb942492b7accdee4e6d17f5447091c65897dde4' (2023-07-31) • Updated input 'nur': 'github:nix-community/NUR/be5da9d6384bc92fff5c298338b88eb1f5b7a28d' (2023-07-31) → 'github:nix-community/NUR/6fa0b49d376000c13418f599c3565a4a38d2dfd4' (2023-08-01) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 50a6b902..1038163e 100644 --- a/flake.lock +++ b/flake.lock @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1690761742, - "narHash": "sha256-z2DEJbHaWxIZbrGkiJ8fKM06rNPbGbepSvVUh16B5h4=", + "lastModified": 1690848153, + "narHash": "sha256-6s4bYXT4ZmaNgWi4MxYoP2yGQf6YJYeNy5Ml9pU/9GM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c3d64f4c26615b0ee385c22c73b77b281c142f18", + "rev": "f6c6746f5d2403f27015a7f6a130ac9b47289810", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1690680713, - "narHash": "sha256-NXCWA8N+GfSQyoN7ZNiOgq/nDJKOp5/BHEpiZP8sUZw=", + "lastModified": 1690842859, + "narHash": "sha256-T4zyuO/pHRJw8fKSMkMGXsxPvNMtHbhCJ2VuHUJqrYE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b81af66deb21f73a70c67e5ea189568af53b1e8c", + "rev": "c5cdd7eec82ca13d0fc68a523fb3d3060c0f0e07", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1690640159, - "narHash": "sha256-5DZUYnkeMOsVb/eqPYb9zns5YsnQXRJRC8Xx/nPMcno=", + "lastModified": 1690789960, + "narHash": "sha256-3K+2HuyGTiJUSZNJxXXvc0qj4xFx1FHC/ItYtEa7/Xs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e6ab46982debeab9831236869539a507f670a129", + "rev": "fb942492b7accdee4e6d17f5447091c65897dde4", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690720142, - "narHash": "sha256-GywuiZjBKfFkntQwpNQfL+Ksa2iGjPprBGL0/psgRZM=", + "lastModified": 1690784552, + "narHash": "sha256-x1GEaBVdwLnZIcGIE8ItvDlBNWLevNSGZFlxqPwNML0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3acb5c4264c490e7714d503c7166a3fde0c51324", + "rev": "6ea628b5c55c431ed54705d904f0a448ae69385d", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1690630041, - "narHash": "sha256-gbnvqm5goS9DSKAqGFpq3398aOpwejmq4qWikqmQyRo=", + "lastModified": 1690726002, + "narHash": "sha256-cACz6jCJZtsZHGCJAN4vMobxzH5s6FCOTZHMrh/Hu0M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d57e8c535d4cbb07f441c30988ce52eec69db7a8", + "rev": "391e8db1f06c3f74c2d313a73135515023af3993", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690800315, - "narHash": "sha256-INfR+05lqKazclxjSQ1kKkHRMro4QqtNn6YKsQ5wcQU=", + "lastModified": 1690871766, + "narHash": "sha256-3Lu6IvWD8KZajnhLSFpHeVYfqDhkaD3RbQn4qht48no=", "owner": "nix-community", "repo": "NUR", - "rev": "be5da9d6384bc92fff5c298338b88eb1f5b7a28d", + "rev": "6fa0b49d376000c13418f599c3565a4a38d2dfd4", "type": "github" }, "original": { From b3db59fd960cb7962e3f747f89b9372ae805881e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 1 Aug 2023 14:12:03 +0200 Subject: [PATCH 1414/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/391e8db1f06c3f74c2d313a73135515023af3993' (2023-07-30) → 'github:NixOS/nixpkgs/b7cde1c47b7316f6138a2b36ef6627f3d16d645c' (2023-07-31) • Updated input 'nur': 'github:nix-community/NUR/6fa0b49d376000c13418f599c3565a4a38d2dfd4' (2023-08-01) → 'github:nix-community/NUR/9698007ef8913af0ebd07a70ffc95e5861451af2' (2023-08-01) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 1038163e..24be1ec4 100644 --- a/flake.lock +++ b/flake.lock @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1690726002, - "narHash": "sha256-cACz6jCJZtsZHGCJAN4vMobxzH5s6FCOTZHMrh/Hu0M=", + "lastModified": 1690835256, + "narHash": "sha256-SZy/Nvwbf6CorhEsvmjqgjoYNLnRfaKVZMfSnpUDPnc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "391e8db1f06c3f74c2d313a73135515023af3993", + "rev": "b7cde1c47b7316f6138a2b36ef6627f3d16d645c", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690871766, - "narHash": "sha256-3Lu6IvWD8KZajnhLSFpHeVYfqDhkaD3RbQn4qht48no=", + "lastModified": 1690890402, + "narHash": "sha256-+UC9m4g5iBZ8CRuR/OgVy1MUQfnmPisxy6XzBcu4BKE=", "owner": "nix-community", "repo": "NUR", - "rev": "6fa0b49d376000c13418f599c3565a4a38d2dfd4", + "rev": "9698007ef8913af0ebd07a70ffc95e5861451af2", "type": "github" }, "original": { From 21c983257368d07d2f687878e7e6d25a855b1793 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 1 Aug 2023 14:18:13 +0200 Subject: [PATCH 1415/2080] nix-darwin: fix running of vdirsyncer --- machines/Baptistes-MBP/configuration.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 02ac88b5..3309c9e1 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -140,15 +140,14 @@ serviceConfig.StandardOutPath = "/Users/baptiste/Mail/.mailsync.log"; serviceConfig.ProcessType = "Background"; }; - # Sync of calendar and contacts - # XXX: describe the vdirsyncer configuration + # Sync of contacts + # XXX: describe the vdirsyncer configuration from ~/.config/vdirsyncer/config # https://search.nixos.org/options?channel=23.05&show=services.vdirsyncer.jobs.%3Cname%3E.configFile&from=0&size=50&sort=relevance&type=packages&query=vdirsyncer # https://github.com/pSub/configs/blob/21c3413cf0f5f39ec118cbbf34704192615c40ca/nixops/configurations/server.pascal-wittmann.de/default.nix#L402 launchd.user.agents.vdirsyncer = { serviceConfig.Program = "${pkgs.vdirsyncer}/bin/vdirsyncer"; serviceConfig.ProgramArguments = [ - "--verbosity" - "CRITICAL" + "--verbosity CRITICAL" "sync" ]; serviceConfig.RunAtLoad = true; From 9bc1f8c7765a7e4bf39b61863a27d6c84887d63b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 2 Aug 2023 10:20:37 +0200 Subject: [PATCH 1416/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/f6c6746f5d2403f27015a7f6a130ac9b47289810' (2023-08-01) → 'github:nix-community/neovim-nightly-overlay/5c30e017f0e865802ce73bf3279a93bc4aa1f14f' (2023-08-02) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/8e8d955c22df93dbe24f19ea04f47a74adbdc5ec' (2023-07-04) → 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/996dd36c77321ea91758b5996d152a2f37af99dd?dir=contrib' (2023-07-29) → 'github:neovim/neovim/d086bc1e8590a92a70c414bd60e1e988bbdd3c0a?dir=contrib' (2023-08-01) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/6ea628b5c55c431ed54705d904f0a448ae69385d' (2023-07-31) → 'github:NixOS/nixpkgs/e0e6b6909977de63dab514efbf5470bc31e7055e' (2023-08-01) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/c5cdd7eec82ca13d0fc68a523fb3d3060c0f0e07' (2023-07-31) → 'github:nixos/nixpkgs/f887aa5923447258dac21b07df865156993141db' (2023-08-01) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/fb942492b7accdee4e6d17f5447091c65897dde4' (2023-07-31) → 'github:nixos/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2' (2023-08-01) • Updated input 'nur': 'github:nix-community/NUR/9698007ef8913af0ebd07a70ffc95e5861451af2' (2023-08-01) → 'github:nix-community/NUR/4d77f55fc328f46db035ed01dbdad8319954fd73' (2023-08-02) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 24be1ec4..9bbef819 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", + "lastModified": 1690933134, + "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", + "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1690639840, - "narHash": "sha256-nENWwY9TY8VTgiDVt0HQ0Xy2iqK8nyYeyOfQvB+sAeo=", + "lastModified": 1690931846, + "narHash": "sha256-VqwSLUCEDSj2c6D0v+zmLJ/nfB4rsdAdvk+CoBStsao=", "owner": "neovim", "repo": "neovim", - "rev": "996dd36c77321ea91758b5996d152a2f37af99dd", + "rev": "d086bc1e8590a92a70c414bd60e1e988bbdd3c0a", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1690848153, - "narHash": "sha256-6s4bYXT4ZmaNgWi4MxYoP2yGQf6YJYeNy5Ml9pU/9GM=", + "lastModified": 1690934737, + "narHash": "sha256-7wrjTJ5zfM72tYDIGu7V6Q7tU1lyYnUaNQ4jC46Mu8E=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "f6c6746f5d2403f27015a7f6a130ac9b47289810", + "rev": "5c30e017f0e865802ce73bf3279a93bc4aa1f14f", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1690842859, - "narHash": "sha256-T4zyuO/pHRJw8fKSMkMGXsxPvNMtHbhCJ2VuHUJqrYE=", + "lastModified": 1690885180, + "narHash": "sha256-ccuhc1Q2wUb9XxEOgjXWXFTyW6zivcjHleXypwhhuuU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c5cdd7eec82ca13d0fc68a523fb3d3060c0f0e07", + "rev": "f887aa5923447258dac21b07df865156993141db", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1690789960, - "narHash": "sha256-3K+2HuyGTiJUSZNJxXXvc0qj4xFx1FHC/ItYtEa7/Xs=", + "lastModified": 1690881714, + "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fb942492b7accdee4e6d17f5447091c65897dde4", + "rev": "9e1960bc196baf6881340d53dccb203a951745a2", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690784552, - "narHash": "sha256-x1GEaBVdwLnZIcGIE8ItvDlBNWLevNSGZFlxqPwNML0=", + "lastModified": 1690893464, + "narHash": "sha256-YiFBn3K4l1AzVt8NeSg9ZJNvHxX2k+AkS74s/s4ASRA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6ea628b5c55c431ed54705d904f0a448ae69385d", + "rev": "e0e6b6909977de63dab514efbf5470bc31e7055e", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690890402, - "narHash": "sha256-+UC9m4g5iBZ8CRuR/OgVy1MUQfnmPisxy6XzBcu4BKE=", + "lastModified": 1690960973, + "narHash": "sha256-8uBIS3fFCKHccV6iyAzg1cNdWydtE4NLADH62F9Z4Oo=", "owner": "nix-community", "repo": "NUR", - "rev": "9698007ef8913af0ebd07a70ffc95e5861451af2", + "rev": "4d77f55fc328f46db035ed01dbdad8319954fd73", "type": "github" }, "original": { From 10f9cef364b3bed25ab5fcc766966f1358821974 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 2 Aug 2023 10:35:44 +0200 Subject: [PATCH 1417/2080] main.nix: install notmuch on darwin --- home/main.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/home/main.nix b/home/main.nix index ec53eff5..418a7d90 100644 --- a/home/main.nix +++ b/home/main.nix @@ -83,14 +83,13 @@ m-cli # useful macOS CLI commands ncurses # Mail - # XXX: need to take care of configuration + # XXX: missing full mail stack configuration mutt gnupg gpgme - # XXX: need to take care of daemon isync - # XXX: need to take care of daemon msmtp + notmuch ]; programs.tealdeer = { enable = true; From 44ff3b94b004ada3eb92b70d34dd4b330eb06aa5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 2 Aug 2023 10:37:04 +0200 Subject: [PATCH 1418/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 91544465..2050d0c6 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "aa1cccf230a01bd85d5173f7d87f782fd83caa88" }, "LuaSnip": { "branch": "master", "commit": "e81cbe6004051c390721d8570a4a0541ceb0df10" }, - "SchemaStore.nvim": { "branch": "main", "commit": "fba131b5ef7a54a8f8d71ef2a2e8d2263b87daac" }, + "SchemaStore.nvim": { "branch": "main", "commit": "787ffac7dff081f51b4fdcb5f6a85ec7d385504e" }, "bufferline.nvim": { "branch": "main", "commit": "99f0932365b34e22549ff58e1bea388465d15e99" }, "catppuccin": { "branch": "main", "commit": "057c34f849cf21059487d849e2f3b3efcd4ee0eb" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -40,10 +40,10 @@ "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "981a43adcca25e7ccc3c589902d49f25e4d48ebc" }, "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, - "neodev.nvim": { "branch": "main", "commit": "2973d6c56cbde46c04e12476bb40eefd516d5f35" }, + "neodev.nvim": { "branch": "main", "commit": "f860e226abd283a4fa5505ea7aa8c066ce495e04" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, - "neogit": { "branch": "master", "commit": "343ea071602c52a618fdee4f1333dc37f0d7757b" }, - "neorg": { "branch": "main", "commit": "3db10018e8893aee47f3b5eb9f4d7440f8db5136" }, + "neogit": { "branch": "master", "commit": "19936e9f3d6d7438b7b20a5960df6de0abfeb252" }, + "neorg": { "branch": "main", "commit": "1c41592ec975189c79987aa32228778c111eb67f" }, "noice.nvim": { "branch": "main", "commit": "894db25ec726d32047799d4d0a982b701bec453b" }, "nui.nvim": { "branch": "main", "commit": "9e3916e784660f55f47daa6f26053ad044db5d6a" }, "null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" }, @@ -53,7 +53,7 @@ "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "3ba6edeea1390457caaf73e96ab9c086ff6f90e9" }, - "nvim-spider": { "branch": "main", "commit": "a9658b58cd219e3fbfa6d2c5ab04b255bc6a1f6c" }, + "nvim-spider": { "branch": "main", "commit": "2762267825b575bcd27a50560e1098679f120007" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, "nvim-treesitter": { "branch": "master", "commit": "4c4d586a05e236d8199ab6faab8cb733a9b5bd24" }, "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, @@ -81,7 +81,7 @@ "trouble.nvim": { "branch": "main", "commit": "40aad004f53ae1d1ba91bcc5c29d59f07c5f01d3" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, "venv-selector.nvim": { "branch": "main", "commit": "cc312074371aff5b0d8d481b80c9c4de2a5287d7" }, - "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, + "vim-illuminate": { "branch": "master", "commit": "5ed17582a8e97bf0a0c617c3cf762e98f87b9859" }, "vim-matchup": { "branch": "master", "commit": "207418404291d81df13612b966b7eb9841c9e704" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, From 8859273e813bc1ddc4e61b488a2b5701d59afd89 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 2 Aug 2023 18:31:56 +0200 Subject: [PATCH 1419/2080] lsp: log issue with delayed code actions in ltex-ls. --- lazyvim/nvim/lua/plugins/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 27b29270..2a31fad9 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -94,6 +94,7 @@ return { -- https://valentjn.github.io/ltex/settings.html ltex = { -- trace = { server = "verbose" }, + -- XXX: unwanted checks are still occuring, often delaying CodeActions checkFrequency = "save", language = "en-GB", additionalRules = { From c8332aa7602e65563b910bcc28dd6f86809646df Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 2 Aug 2023 18:33:19 +0200 Subject: [PATCH 1420/2080] neovim-nightly: do not install ltex-ls globally --- home/neovim-nightly.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index a45fd637..0dabb388 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -49,8 +49,7 @@ in qemu stylua - # LSP servers - ltex-ls + # LSP servers that are installed globally nodePackages.yaml-language-server pkgs-unstable.ansible-language-server pyright From 9a2b55d0f3b7f34ee2eb2ef8c61393dc69685850 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 3 Aug 2023 09:10:45 +0200 Subject: [PATCH 1421/2080] nvim lsp: drop commented conf --- lazyvim/nvim/lua/plugins/lsp.lua | 48 -------------------------------- 1 file changed, 48 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 2a31fad9..eadacce6 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -4,54 +4,6 @@ return { { "barreiroleo/ltex_extra.nvim", dependencies = { "neovim/nvim-lspconfig" }, - -- FIXME: move ltex configuration here - -- ft = { - -- "bib", - -- "gitcommit", - -- "latex", - -- "mail", - -- "markdown", - -- "norg", - -- "org", - -- "pandoc", - -- "rst", - -- "tex", - -- "text", - -- }, - -- config = function() - -- require("ltex_extra").setup({ - -- load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded - -- init_check = true, -- whether to load dictionaries on startup - -- path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - -- log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" - -- server_opts = nil, - -- }) - -- end, - -- opts = { - -- load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded - -- init_check = true, -- whether to load dictionaries on startup - -- path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - -- log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" - -- server_opts = { - -- settings = { - -- -- https://valentjn.github.io/ltex/settings.html - -- ltex = { - -- -- trace = { server = "verbose" }, - -- checkFrequency = "save", - -- language = "en-GB", - -- additionalRules = { - -- enablePickyRules = true, - -- motherTongue = "fr", - -- }, - -- -- https://community.languagetool.org/rule/list?lang=en - -- disabledRules = { - -- -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt - -- ["fr"] = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, - -- }, - -- }, - -- }, - -- }, - -- }, }, -- add various LSP to lspconfig From 4fc93f3a576c9052d7a22862fcd2ccd96965b032 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 3 Aug 2023 09:12:24 +0200 Subject: [PATCH 1422/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/16c07487ac9bc59f58b121d13160c67befa3342e' (2023-07-27) → 'github:lnl7/nix-darwin/d3529322dcaaddf0c50cb277c9c2a355f3a36a3b' (2023-08-02) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5c30e017f0e865802ce73bf3279a93bc4aa1f14f' (2023-08-02) → 'github:nix-community/neovim-nightly-overlay/3d29676e1f473a587a77a8fd321a54af6bb6cea9' (2023-08-03) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/d086bc1e8590a92a70c414bd60e1e988bbdd3c0a?dir=contrib' (2023-08-01) → 'github:neovim/neovim/4a06de40e7c5bfe3be8f243b23b1676034fc6b08?dir=contrib' (2023-08-02) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/e0e6b6909977de63dab514efbf5470bc31e7055e' (2023-08-01) → 'github:NixOS/nixpkgs/bcd27e495e3fab072d5f1a781b67a40d2da17fd7' (2023-08-02) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/b7cde1c47b7316f6138a2b36ef6627f3d16d645c' (2023-07-31) → 'github:NixOS/nixpkgs/bd836ac5e5a7358dea73cb74a013ca32864ccb86' (2023-08-01) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/f887aa5923447258dac21b07df865156993141db' (2023-08-01) → 'github:nixos/nixpkgs/cf1bf94308a97fb1f00b0512169774fb7f8e7963' (2023-08-02) • Updated input 'nur': 'github:nix-community/NUR/4d77f55fc328f46db035ed01dbdad8319954fd73' (2023-08-02) → 'github:nix-community/NUR/4dfb43f13fb52168d6c3e0043006324b8fe3afc9' (2023-08-03) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 9bbef819..67dbd9da 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1690431538, - "narHash": "sha256-Uml8ivMMOFPB9fNSDcw72imGHRdJpaK12sRm2DTLLe8=", + "lastModified": 1691012184, + "narHash": "sha256-AYxPkarxZPs18qSKPjT4t8flmgeyu3DcoLGMkeiWtvk=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "16c07487ac9bc59f58b121d13160c67befa3342e", + "rev": "d3529322dcaaddf0c50cb277c9c2a355f3a36a3b", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1690931846, - "narHash": "sha256-VqwSLUCEDSj2c6D0v+zmLJ/nfB4rsdAdvk+CoBStsao=", + "lastModified": 1691000564, + "narHash": "sha256-cFWh06gKGTg7yS4o9Ps/KLBZftwk/8eKJpHH951N2yA=", "owner": "neovim", "repo": "neovim", - "rev": "d086bc1e8590a92a70c414bd60e1e988bbdd3c0a", + "rev": "4a06de40e7c5bfe3be8f243b23b1676034fc6b08", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1690934737, - "narHash": "sha256-7wrjTJ5zfM72tYDIGu7V6Q7tU1lyYnUaNQ4jC46Mu8E=", + "lastModified": 1691021119, + "narHash": "sha256-SlYNdhMnWNSob13hlZKNbVhVVYlp/mpqRpB8Ye6E/Og=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5c30e017f0e865802ce73bf3279a93bc4aa1f14f", + "rev": "3d29676e1f473a587a77a8fd321a54af6bb6cea9", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1690885180, - "narHash": "sha256-ccuhc1Q2wUb9XxEOgjXWXFTyW6zivcjHleXypwhhuuU=", + "lastModified": 1690979488, + "narHash": "sha256-kFb4hnmDrNh5Rsu3ZKgXLYmxWVGsf14Bjh0ZINzZwOw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f887aa5923447258dac21b07df865156993141db", + "rev": "cf1bf94308a97fb1f00b0512169774fb7f8e7963", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690893464, - "narHash": "sha256-YiFBn3K4l1AzVt8NeSg9ZJNvHxX2k+AkS74s/s4ASRA=", + "lastModified": 1690984057, + "narHash": "sha256-wpXaAfG3h1PkbVPw9cm34VEHwrp357crgzd8r6AYf74=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e0e6b6909977de63dab514efbf5470bc31e7055e", + "rev": "bcd27e495e3fab072d5f1a781b67a40d2da17fd7", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1690835256, - "narHash": "sha256-SZy/Nvwbf6CorhEsvmjqgjoYNLnRfaKVZMfSnpUDPnc=", + "lastModified": 1690927903, + "narHash": "sha256-D5gCaCROnjEKDOel//8TO/pOP87pAEtT0uT8X+0Bj/U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b7cde1c47b7316f6138a2b36ef6627f3d16d645c", + "rev": "bd836ac5e5a7358dea73cb74a013ca32864ccb86", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1690960973, - "narHash": "sha256-8uBIS3fFCKHccV6iyAzg1cNdWydtE4NLADH62F9Z4Oo=", + "lastModified": 1691044330, + "narHash": "sha256-d5wEGlONj9dbHwMDDyiJR5MRM2p6+0mpsC8VFvRSU+M=", "owner": "nix-community", "repo": "NUR", - "rev": "4d77f55fc328f46db035ed01dbdad8319954fd73", + "rev": "4dfb43f13fb52168d6c3e0043006324b8fe3afc9", "type": "github" }, "original": { From e03ebf7aa7afe646ae9af33e11855bd4890d1125 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 3 Aug 2023 09:31:45 +0200 Subject: [PATCH 1423/2080] nvim lsp: comment --- lazyvim/nvim/lua/plugins/lsp.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index eadacce6..b5708fdc 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -46,7 +46,7 @@ return { -- https://valentjn.github.io/ltex/settings.html ltex = { -- trace = { server = "verbose" }, - -- XXX: unwanted checks are still occuring, often delaying CodeActions + -- XXX: unwanted checks are still occurring, often delaying CodeActions checkFrequency = "save", language = "en-GB", additionalRules = { @@ -158,6 +158,7 @@ return { ltex = function(_, opts) vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) + ---@diagnostic disable-next-line: no-unknown local client = vim.lsp.get_client_by_id(args.data.client_id) if client.name == "ltex" then require("ltex_extra").setup({ From 6816c65c1d376127be7ca0b6eba28284cb60cfd7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 3 Aug 2023 09:52:47 +0200 Subject: [PATCH 1424/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 2050d0c6..1a49d048 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -25,7 +25,7 @@ "indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" }, "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, - "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, + "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e86a4c84ff35240639643ffed56ee1c4d55f538e" }, "mason.nvim": { "branch": "main", "commit": "fe9e34a9ab4d64321cdc3ecab4ea1809239bb73f" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, @@ -38,11 +38,11 @@ "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, "mini.starter": { "branch": "main", "commit": "c7e027558477838eac7109d8576ff1f2d9804845" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "981a43adcca25e7ccc3c589902d49f25e4d48ebc" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "7951701fd21291ac473ea92d3fd57ec5c8bf10bb" }, "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, - "neodev.nvim": { "branch": "main", "commit": "f860e226abd283a4fa5505ea7aa8c066ce495e04" }, + "neodev.nvim": { "branch": "main", "commit": "c2546d7456071308accc30e59fab24b1065ae4f6" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, - "neogit": { "branch": "master", "commit": "19936e9f3d6d7438b7b20a5960df6de0abfeb252" }, + "neogit": { "branch": "master", "commit": "e3bb86665b781cc6ec3534fbe099e0939fe127e9" }, "neorg": { "branch": "main", "commit": "1c41592ec975189c79987aa32228778c111eb67f" }, "noice.nvim": { "branch": "main", "commit": "894db25ec726d32047799d4d0a982b701bec453b" }, "nui.nvim": { "branch": "main", "commit": "9e3916e784660f55f47daa6f26053ad044db5d6a" }, @@ -55,7 +55,7 @@ "nvim-spectre": { "branch": "master", "commit": "3ba6edeea1390457caaf73e96ab9c086ff6f90e9" }, "nvim-spider": { "branch": "main", "commit": "2762267825b575bcd27a50560e1098679f120007" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "4c4d586a05e236d8199ab6faab8cb733a9b5bd24" }, + "nvim-treesitter": { "branch": "master", "commit": "1e5576fa0165a222529777731a3257343047f916" }, "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "9e519b6146512c8e2e702faf8ac48420f4f5deec" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "e9062e2dfb9854e6a927370f2d720de354c88524" }, From 2fcbfb00a6226a4d96db5daacf95d64883977a7a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 3 Aug 2023 09:53:07 +0200 Subject: [PATCH 1425/2080] lazyvim: map nvim-spider to move more quickly. --- lazyvim/nvim/lua/plugins/coding.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 0ecdcc17..e7320a7a 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -402,7 +402,15 @@ return { -- }, -- Use the w, e, b motions like a spider. Considers camelCase and skips insignificant punctuation. - { "chrisgrieser/nvim-spider", lazy = true }, + { + "chrisgrieser/nvim-spider", + lazy = true, + keys = { + { "w", "<cmd>lua require('spider').motion('w')<CR>", mode = { "n", "o", "x" }, desc = "Spider-w" }, + { "e", "<cmd>lua require('spider').motion('e')<CR>", mode = { "n", "o", "x" }, desc = "Spider-e" }, + { "b", "<cmd>lua require('spider').motion('b')<CR>", mode = { "n", "o", "x" }, desc = "Spider-b" }, + }, + }, -- Open links without netrw using gx mapping { "chrishrb/gx.nvim" }, From 5bcf6b1e5c104e209a72abe7d7858a16b56f14ba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 3 Aug 2023 10:03:38 +0200 Subject: [PATCH 1426/2080] Use README from dotfyle --- lazyvim/nvim/README.md | 155 ++++++++++++++++++++++++++++++++--------- 1 file changed, 124 insertions(+), 31 deletions(-) diff --git a/lazyvim/nvim/README.md b/lazyvim/nvim/README.md index 4a9c00de..59b465b8 100644 --- a/lazyvim/nvim/README.md +++ b/lazyvim/nvim/README.md @@ -1,45 +1,138 @@ -# LazyVim +# dotfiles/lazyvim/nvim -A starter template for [LazyVim](https://github.com/LazyVim/LazyVim) +<a href="https://dotfyle.com/gwarf/dotfiles-lazyvim-nvim"><img src="https://dotfyle.com/gwarf/dotfiles-lazyvim-nvim/badges/plugins?style=flat" /></a> +<a href="https://dotfyle.com/gwarf/dotfiles-lazyvim-nvim"><img src="https://dotfyle.com/gwarf/dotfiles-lazyvim-nvim/badges/leaderkey?style=flat" /></a> +<a href="https://dotfyle.com/gwarf/dotfiles-lazyvim-nvim"><img src="https://dotfyle.com/gwarf/dotfiles-lazyvim-nvim/badges/plugin-manager?style=flat" /></a> -## 🚀 Getting Started +## Install Instructions -This repo contains an example setup for -[LazyVim](https://github.com/LazyVim/LazyVim) +> Install requires Neovim 0.9+. Always review the code before installing a configuration. -### 1. Make a backup of your current Neovim files: +Clone the repository and install the plugins: ```sh -mv ~/.config/nvim ~/.config/nvim.bak -mv ~/.local/share/nvim ~/.local/share/nvim.bak +git clone git@github.com:gwarf/dotfiles ~/.config/gwarf/dotfiles +NVIM_APPNAME=gwarf/dotfiles/lazyvim/nvim nvim --headless +"Lazy! sync" +qa ``` -### 2. Clone the starter +Open Neovim with this config: ```sh -git clone https://github.com/LazyVim/starter ~/.config/nvim +NVIM_APPNAME=gwarf/dotfiles/lazyvim/nvim nvim ``` -### 3. Start Neovim! +## Plugins -```sh -nvim -``` +### ai + +- [jackMort/ChatGPT.nvim](https://dotfyle.com/plugins/jackMort/ChatGPT.nvim) + +### color + +- [folke/twilight.nvim](https://dotfyle.com/plugins/folke/twilight.nvim) + +### colorscheme + +- [rose-pine/neovim](https://dotfyle.com/plugins/rose-pine/neovim) +- [Mofiqul/dracula.nvim](https://dotfyle.com/plugins/Mofiqul/dracula.nvim) +- [bluz71/vim-nightfly-colors](https://dotfyle.com/plugins/bluz71/vim-nightfly-colors) + +### comment + +- [danymat/neogen](https://dotfyle.com/plugins/danymat/neogen) +- [echasnovski/mini.comment](https://dotfyle.com/plugins/echasnovski/mini.comment) + +### editing-support + +- [monaqa/dial.nvim](https://dotfyle.com/plugins/monaqa/dial.nvim) +- [nvim-treesitter/nvim-treesitter-context](https://dotfyle.com/plugins/nvim-treesitter/nvim-treesitter-context) +- [folke/zen-mode.nvim](https://dotfyle.com/plugins/folke/zen-mode.nvim) +- [echasnovski/mini.ai](https://dotfyle.com/plugins/echasnovski/mini.ai) +- [Wansmer/treesj](https://dotfyle.com/plugins/Wansmer/treesj) + +### git + +- [TimUntersberger/neogit](https://dotfyle.com/plugins/TimUntersberger/neogit) +- [sindrets/diffview.nvim](https://dotfyle.com/plugins/sindrets/diffview.nvim) + +### github + +- [pwntester/octo.nvim](https://dotfyle.com/plugins/pwntester/octo.nvim) + +### lsp + +- [simrat39/symbols-outline.nvim](https://dotfyle.com/plugins/simrat39/symbols-outline.nvim) +- [smjonas/inc-rename.nvim](https://dotfyle.com/plugins/smjonas/inc-rename.nvim) +- [jose-elias-alvarez/null-ls.nvim](https://dotfyle.com/plugins/jose-elias-alvarez/null-ls.nvim) +- [neovim/nvim-lspconfig](https://dotfyle.com/plugins/neovim/nvim-lspconfig) + +### lsp-installer + +- [williamboman/mason.nvim](https://dotfyle.com/plugins/williamboman/mason.nvim) + +### lua-colorscheme + +- [ellisonleao/gruvbox.nvim](https://dotfyle.com/plugins/ellisonleao/gruvbox.nvim) + +### markdown-and-latex + +- [AckslD/nvim-FeMaco.lua](https://dotfyle.com/plugins/AckslD/nvim-FeMaco.lua) +- [toppair/peek.nvim](https://dotfyle.com/plugins/toppair/peek.nvim) + +### motion + +- [chrisgrieser/nvim-spider](https://dotfyle.com/plugins/chrisgrieser/nvim-spider) +- [echasnovski/mini.bracketed](https://dotfyle.com/plugins/echasnovski/mini.bracketed) + +### note-taking + +- [nvim-neorg/neorg](https://dotfyle.com/plugins/nvim-neorg/neorg) + +### nvim-dev + +- [anuvyklack/animation.nvim](https://dotfyle.com/plugins/anuvyklack/animation.nvim) +- [nvim-lua/plenary.nvim](https://dotfyle.com/plugins/nvim-lua/plenary.nvim) + +### plugin-manager + +- [folke/lazy.nvim](https://dotfyle.com/plugins/folke/lazy.nvim) + +### preconfigured + +- [LazyVim/LazyVim](https://dotfyle.com/plugins/LazyVim/LazyVim) + +### scrollbar + +- [petertriho/nvim-scrollbar](https://dotfyle.com/plugins/petertriho/nvim-scrollbar) + +### snippet + +- [L3MON4D3/LuaSnip](https://dotfyle.com/plugins/L3MON4D3/LuaSnip) + +### split-and-window + +- [anuvyklack/windows.nvim](https://dotfyle.com/plugins/anuvyklack/windows.nvim) + +### statusline + +- [nvim-lualine/lualine.nvim](https://dotfyle.com/plugins/nvim-lualine/lualine.nvim) +- [b0o/incline.nvim](https://dotfyle.com/plugins/b0o/incline.nvim) + +### syntax + +- [nvim-treesitter/nvim-treesitter](https://dotfyle.com/plugins/nvim-treesitter/nvim-treesitter) + +### utility + +- [kevinhwang91/nvim-ufo](https://dotfyle.com/plugins/kevinhwang91/nvim-ufo) + +## Language Servers + +- astro +- cmake +- graphql +- html +- ltex +- svelte -Refer to the comments in the files on how to customize **LazyVim**. - -## 📂 File Structure - -<pre> -~/.config/nvim -├── lua -│   ├── config -│   │   ├── autocmds.lua -│   │   ├── keymaps.lua -│   │   ├── lazy.lua -│   │   └── options.lua -│   └── plugins -│   └── example.lua -├── init.lua -└── stylua.toml -</pre> +This readme was generated by [Dotfyle](https://dotfyle.com) From 7c8231d31f7abf6a899773167a55121c4b81ded0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 3 Aug 2023 10:06:39 +0200 Subject: [PATCH 1427/2080] Disable some treesitter languages --- lazyvim/nvim/lua/plugins/treesitter.lua | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/treesitter.lua b/lazyvim/nvim/lua/plugins/treesitter.lua index bd0610b8..a7ce3e67 100644 --- a/lazyvim/nvim/lua/plugins/treesitter.lua +++ b/lazyvim/nvim/lua/plugins/treesitter.lua @@ -29,7 +29,6 @@ return { cond = not vim.opt.diff:get(), opts = { ensure_installed = { - "astro", "bash", "c", "cmake", @@ -52,7 +51,6 @@ return { "markdown", "markdown_inline", "meson", - "ninja", "nix", "norg", "org", @@ -63,20 +61,11 @@ return { "rust", "scss", "sql", - "svelte", - "teal", "toml", - "tsx", - "typescript", - "vhs", "vim", "vimdoc", - "vue", - "wgsl", "yaml", - -- "wgsl", "json", - -- "markdown", }, matchup = { enable = true, From b3b45baa78bff01080d6fa4e17550f406212e46f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 3 Aug 2023 10:14:50 +0200 Subject: [PATCH 1428/2080] vim: hardcode leader keys to avoid surprises --- lazyvim/nvim/lua/config/options.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index dd50a1c7..723601c9 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -31,6 +31,11 @@ opt.colorcolumn = "90" -- Disable mouse opt.mouse = "" +-- Leader keys +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +-- Disable python, perl, ruby and node support vim.g.loaded_python3_provider = 0 vim.g.loaded_perl_provider = 0 vim.g.loaded_ruby_provider = 0 From 752227511acd92f1c20ab7d849fc10c3d39ea200 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 3 Aug 2023 10:17:04 +0200 Subject: [PATCH 1429/2080] lazyvim: update README --- lazyvim/nvim/README.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/README.md b/lazyvim/nvim/README.md index 59b465b8..0945a3d5 100644 --- a/lazyvim/nvim/README.md +++ b/lazyvim/nvim/README.md @@ -4,6 +4,8 @@ <a href="https://dotfyle.com/gwarf/dotfiles-lazyvim-nvim"><img src="https://dotfyle.com/gwarf/dotfiles-lazyvim-nvim/badges/leaderkey?style=flat" /></a> <a href="https://dotfyle.com/gwarf/dotfiles-lazyvim-nvim"><img src="https://dotfyle.com/gwarf/dotfiles-lazyvim-nvim/badges/plugin-manager?style=flat" /></a> +> Configuration managed using https://www.lazyvim.org/ + ## Install Instructions > Install requires Neovim 0.9+. Always review the code before installing a configuration. @@ -128,11 +130,18 @@ NVIM_APPNAME=gwarf/dotfiles/lazyvim/nvim nvim ## Language Servers -- astro -- cmake -- graphql +- ansiblels +- bashls +- dockerls - html - ltex -- svelte +- lua_ls +- marksman +- perlnavigator +- pyright +- rnix +- textlab +- yamlls +- vimls This readme was generated by [Dotfyle](https://dotfyle.com) From b7649b85e9a77ca94dc574c934c8668062252225 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 3 Aug 2023 14:46:30 +0200 Subject: [PATCH 1430/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2' (2023-08-01) → 'github:nixos/nixpkgs/66aedfd010204949cb225cf749be08cb13ce1813' (2023-08-02) • Updated input 'nur': 'github:nix-community/NUR/4dfb43f13fb52168d6c3e0043006324b8fe3afc9' (2023-08-03) → 'github:nix-community/NUR/07d208dd12cd98a246c4fbf8431bc9dbef27c2d6' (2023-08-03) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 67dbd9da..d7a5b88b 100644 --- a/flake.lock +++ b/flake.lock @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1690881714, - "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=", + "lastModified": 1691006197, + "narHash": "sha256-DbtxVWPt+ZP5W0Usg7jAyTomIM//c3Jtfa59Ht7AV8s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9e1960bc196baf6881340d53dccb203a951745a2", + "rev": "66aedfd010204949cb225cf749be08cb13ce1813", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1691044330, - "narHash": "sha256-d5wEGlONj9dbHwMDDyiJR5MRM2p6+0mpsC8VFvRSU+M=", + "lastModified": 1691063081, + "narHash": "sha256-9ppwXO9LBk4KbJ5HEIpWtUULwpwUXV0PNm4kgQTyYmc=", "owner": "nix-community", "repo": "NUR", - "rev": "4dfb43f13fb52168d6c3e0043006324b8fe3afc9", + "rev": "07d208dd12cd98a246c4fbf8431bc9dbef27c2d6", "type": "github" }, "original": { From 29b8bf9be515d5c9aff23affc817bb3cd4c2dad7 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 5 Aug 2023 10:54:18 +0200 Subject: [PATCH 1431/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/3d29676e1f473a587a77a8fd321a54af6bb6cea9' (2023-08-03) → 'github:nix-community/neovim-nightly-overlay/3bff37afdf4c176b1dc8bb7dcf62a2b34314ed13' (2023-08-05) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/4a06de40e7c5bfe3be8f243b23b1676034fc6b08?dir=contrib' (2023-08-02) → 'github:neovim/neovim/1f252a8ac0d1ca23777978fcef07bd7fab309494?dir=contrib' (2023-08-04) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/bcd27e495e3fab072d5f1a781b67a40d2da17fd7' (2023-08-02) → 'github:NixOS/nixpkgs/7d050b98e51cdbdd88ad960152d398d41c7ff5b4' (2023-08-04) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/bd836ac5e5a7358dea73cb74a013ca32864ccb86' (2023-08-01) → 'github:NixOS/nixpkgs/9652a97d9738d3e65cf33c0bc24429e495a7868f' (2023-08-04) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/cf1bf94308a97fb1f00b0512169774fb7f8e7963' (2023-08-02) → 'github:nixos/nixpkgs/a7c57ba85e9cbbe79c42c2f3e2a38411db52eff9' (2023-08-05) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/66aedfd010204949cb225cf749be08cb13ce1813' (2023-08-02) → 'github:nixos/nixpkgs/18036c0be90f4e308ae3ebcab0e14aae0336fe42' (2023-08-04) • Updated input 'nur': 'github:nix-community/NUR/07d208dd12cd98a246c4fbf8431bc9dbef27c2d6' (2023-08-03) → 'github:nix-community/NUR/963ad2d1bb0a8f59b2c23ab521d4dff2148aad16' (2023-08-05) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index d7a5b88b..77f9b8b9 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1691000564, - "narHash": "sha256-cFWh06gKGTg7yS4o9Ps/KLBZftwk/8eKJpHH951N2yA=", + "lastModified": 1691193345, + "narHash": "sha256-ipfwdPjkbivIWH7jSHvDp/tFcKWtaV1R5uaLfbPBR/U=", "owner": "neovim", "repo": "neovim", - "rev": "4a06de40e7c5bfe3be8f243b23b1676034fc6b08", + "rev": "1f252a8ac0d1ca23777978fcef07bd7fab309494", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1691021119, - "narHash": "sha256-SlYNdhMnWNSob13hlZKNbVhVVYlp/mpqRpB8Ye6E/Og=", + "lastModified": 1691193897, + "narHash": "sha256-sS8kyCX94rpxuvJ+heLUmG75mHro+5Af2DdkXrK8I+o=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3d29676e1f473a587a77a8fd321a54af6bb6cea9", + "rev": "3bff37afdf4c176b1dc8bb7dcf62a2b34314ed13", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1690979488, - "narHash": "sha256-kFb4hnmDrNh5Rsu3ZKgXLYmxWVGsf14Bjh0ZINzZwOw=", + "lastModified": 1691200960, + "narHash": "sha256-ViCeJYmhFuJInp13giSXNdD1NvGHgx/op2iijQYzGWU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cf1bf94308a97fb1f00b0512169774fb7f8e7963", + "rev": "a7c57ba85e9cbbe79c42c2f3e2a38411db52eff9", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1691006197, - "narHash": "sha256-DbtxVWPt+ZP5W0Usg7jAyTomIM//c3Jtfa59Ht7AV8s=", + "lastModified": 1691186842, + "narHash": "sha256-wxBVCvZUwq+XS4N4t9NqsHV4E64cPVqQ2fdDISpjcw0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "66aedfd010204949cb225cf749be08cb13ce1813", + "rev": "18036c0be90f4e308ae3ebcab0e14aae0336fe42", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690984057, - "narHash": "sha256-wpXaAfG3h1PkbVPw9cm34VEHwrp357crgzd8r6AYf74=", + "lastModified": 1691155369, + "narHash": "sha256-CIuJO5pgwCMsZM8flIU2OiZ79QfDCesXPsAiokCzlNM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bcd27e495e3fab072d5f1a781b67a40d2da17fd7", + "rev": "7d050b98e51cdbdd88ad960152d398d41c7ff5b4", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1690927903, - "narHash": "sha256-D5gCaCROnjEKDOel//8TO/pOP87pAEtT0uT8X+0Bj/U=", + "lastModified": 1691155011, + "narHash": "sha256-O15tC0ysw+fcacEbOzrDrkVNIR+SgtArSGvpgsEqpvA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bd836ac5e5a7358dea73cb74a013ca32864ccb86", + "rev": "9652a97d9738d3e65cf33c0bc24429e495a7868f", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1691063081, - "narHash": "sha256-9ppwXO9LBk4KbJ5HEIpWtUULwpwUXV0PNm4kgQTyYmc=", + "lastModified": 1691214006, + "narHash": "sha256-kdfBd+Y0DTOOdgSA6h6iIn403xVj4bzLnXqb7+yM6lQ=", "owner": "nix-community", "repo": "NUR", - "rev": "07d208dd12cd98a246c4fbf8431bc9dbef27c2d6", + "rev": "963ad2d1bb0a8f59b2c23ab521d4dff2148aad16", "type": "github" }, "original": { From d45e325f7b14bd12373e2e32f581d532a3bdb9c5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 5 Aug 2023 10:58:07 +0200 Subject: [PATCH 1432/2080] Bump neovim lazy-lock.json --- lazyvim/nvim/lazy-lock.json | 1 - 1 file changed, 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 1a49d048..66effe7b 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -90,4 +90,3 @@ "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "yanky.nvim": { "branch": "main", "commit": "95c2f006ea6eaed2b2d8b8b4943b8fcf13faf03f" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } -} \ No newline at end of file From da54ac8d5203b6d05c3c61d05a6c60e7b51618f1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 5 Aug 2023 11:08:13 +0200 Subject: [PATCH 1433/2080] Style --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e5cf821..3532219a 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ It is also possible to use different online services to search in the browser: ### Updating nix flakes inputs -In order to refresh the information about all flakes inputs, it's possible to +To refresh the information about all flakes inputs, it's possible to use two commands: - [`nix flake update --commit-lock-file`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-update.html) From b01833d310c20f3dbc3decd03c2d4cbd8db8c7a3 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 5 Aug 2023 11:08:21 +0200 Subject: [PATCH 1434/2080] brutal: ensure fish is installed from the start. --- machines/brutal/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index d9ddd500..f8db928c 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -97,6 +97,9 @@ hardware.pulseaudio.extraConfig = "load-module module-combine-sink"; hardware.pulseaudio.package = pkgs.pulseaudioFull; + # Fish is required + programs.fish.enable = true; + # Define a user account. Don't forget to set a password with ‘passwd’. users.users.baptiste = { isNormalUser = true; From 641e75a8a6604748bcd9f617f801350bedd4987a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 5 Aug 2023 11:08:43 +0200 Subject: [PATCH 1435/2080] brutal: update for 23.05. --- machines/brutal/hardware-configuration.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/machines/brutal/hardware-configuration.nix b/machines/brutal/hardware-configuration.nix index eb7390b7..4b23a124 100644 --- a/machines/brutal/hardware-configuration.nix +++ b/machines/brutal/hardware-configuration.nix @@ -46,6 +46,4 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - # high-resolution display - hardware.video.hidpi.enable = lib.mkDefault true; } From 26a7c4d5665ee159a51d78f4325c04de1ef2a754 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 5 Aug 2023 11:09:53 +0200 Subject: [PATCH 1436/2080] brutal: update for 23.05 --- machines/brutal/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index f8db928c..babf93cd 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -6,7 +6,7 @@ kernel.sysctl = { "kernel.sysrq" = 1; }; kernelPackages = pkgs.linuxPackages_latest; # kernelModules = [ "edac_mce_amd" ]; - cleanTmpDir = true; + tmp.cleanOnBoot = true; plymouth.enable = false; loader.systemd-boot.enable = true; loader.systemd-boot.consoleMode = "max"; From 495cdec7dab5dfa5d5e711e412190d7078b950e9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 5 Aug 2023 11:27:22 +0200 Subject: [PATCH 1437/2080] lsp: reorder entries. --- lazyvim/nvim/lua/plugins/lsp.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index b5708fdc..50d0c3d0 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -23,11 +23,11 @@ return { servers = { ansiblels = {}, bashls = {}, + dockerls = {}, + html = {}, -- use LanguageTool via ltex for spell checking -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html -- TODO: have cmp do completion using words from the dictionaries - dockerls = {}, - html = {}, ltex = { filetypes = { "bib", From fdc592e834826b00b2688c6ab1cc3bd0ce5ac101 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 5 Aug 2023 11:49:41 +0200 Subject: [PATCH 1438/2080] dockerls is not installing properly on NixOS. --- lazyvim/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 50d0c3d0..aa28f33c 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -23,7 +23,7 @@ return { servers = { ansiblels = {}, bashls = {}, - dockerls = {}, + -- dockerls = {}, html = {}, -- use LanguageTool via ltex for spell checking -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html From 3954844b8745acd01c5208ad7bca742d6ca01a8d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 7 Aug 2023 09:49:59 +0200 Subject: [PATCH 1439/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/d3529322dcaaddf0c50cb277c9c2a355f3a36a3b' (2023-08-02) → 'github:lnl7/nix-darwin/829041cf10c4f6751a53c0a11ca2fd22ff0918d6' (2023-08-05) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/3d29676e1f473a587a77a8fd321a54af6bb6cea9' (2023-08-03) → 'github:nix-community/neovim-nightly-overlay/594298686219c0083c6d64b9ad76e77b33ca7139' (2023-08-07) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/4a06de40e7c5bfe3be8f243b23b1676034fc6b08?dir=contrib' (2023-08-02) → 'github:neovim/neovim/ef44e597294e4d0d9128ef69b6aa7481a54e17cb?dir=contrib' (2023-08-05) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/bcd27e495e3fab072d5f1a781b67a40d2da17fd7' (2023-08-02) → 'github:NixOS/nixpkgs/e133d401e664303611d635ea62f15cfee9b4f7ae' (2023-08-06) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/bd836ac5e5a7358dea73cb74a013ca32864ccb86' (2023-08-01) → 'github:NixOS/nixpkgs/61676e4dcfeeb058f255294bcb08ea7f3bc3ce56' (2023-08-06) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/cf1bf94308a97fb1f00b0512169774fb7f8e7963' (2023-08-02) → 'github:nixos/nixpkgs/61676e4dcfeeb058f255294bcb08ea7f3bc3ce56' (2023-08-06) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/66aedfd010204949cb225cf749be08cb13ce1813' (2023-08-02) → 'github:nixos/nixpkgs/5a8e9243812ba528000995b294292d3b5e120947' (2023-08-07) • Updated input 'nur': 'github:nix-community/NUR/07d208dd12cd98a246c4fbf8431bc9dbef27c2d6' (2023-08-03) → 'github:nix-community/NUR/9f44224a80a2828f1cbb93f31e1a7f441fe20d5a' (2023-08-07) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 77f9b8b9..67dba9f2 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1691012184, - "narHash": "sha256-AYxPkarxZPs18qSKPjT4t8flmgeyu3DcoLGMkeiWtvk=", + "lastModified": 1691275315, + "narHash": "sha256-9WN0IA0vNZSNxKHpy/bYvPnCw4VH/nr5iBv7c+7KUts=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "d3529322dcaaddf0c50cb277c9c2a355f3a36a3b", + "rev": "829041cf10c4f6751a53c0a11ca2fd22ff0918d6", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1691193345, - "narHash": "sha256-ipfwdPjkbivIWH7jSHvDp/tFcKWtaV1R5uaLfbPBR/U=", + "lastModified": 1691246554, + "narHash": "sha256-t7w3uHEPIznVJLvt+9HzjeUMg6OCaJk/UTTqZTp+VSk=", "owner": "neovim", "repo": "neovim", - "rev": "1f252a8ac0d1ca23777978fcef07bd7fab309494", + "rev": "ef44e597294e4d0d9128ef69b6aa7481a54e17cb", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1691193897, - "narHash": "sha256-sS8kyCX94rpxuvJ+heLUmG75mHro+5Af2DdkXrK8I+o=", + "lastModified": 1691366517, + "narHash": "sha256-I4E1wSaNQZzF24W2cGNu5/6LuQQdHMukdPMUDbGrq/4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3bff37afdf4c176b1dc8bb7dcf62a2b34314ed13", + "rev": "594298686219c0083c6d64b9ad76e77b33ca7139", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1691200960, - "narHash": "sha256-ViCeJYmhFuJInp13giSXNdD1NvGHgx/op2iijQYzGWU=", + "lastModified": 1691328192, + "narHash": "sha256-w59N1zyDQ7SupfMJLFvtms/SIVbdryqlw5AS4+DiH+Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a7c57ba85e9cbbe79c42c2f3e2a38411db52eff9", + "rev": "61676e4dcfeeb058f255294bcb08ea7f3bc3ce56", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1691186842, - "narHash": "sha256-wxBVCvZUwq+XS4N4t9NqsHV4E64cPVqQ2fdDISpjcw0=", + "lastModified": 1691368598, + "narHash": "sha256-ia7li22keBBbj02tEdqjVeLtc7ZlSBuhUk+7XTUFr14=", "owner": "nixos", "repo": "nixpkgs", - "rev": "18036c0be90f4e308ae3ebcab0e14aae0336fe42", + "rev": "5a8e9243812ba528000995b294292d3b5e120947", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1691155369, - "narHash": "sha256-CIuJO5pgwCMsZM8flIU2OiZ79QfDCesXPsAiokCzlNM=", + "lastModified": 1691342804, + "narHash": "sha256-jRvAZj8/8rHItyceMrY2R37EABJH6RVRdHYCBLKdpIE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7d050b98e51cdbdd88ad960152d398d41c7ff5b4", + "rev": "e133d401e664303611d635ea62f15cfee9b4f7ae", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1691155011, - "narHash": "sha256-O15tC0ysw+fcacEbOzrDrkVNIR+SgtArSGvpgsEqpvA=", + "lastModified": 1691328192, + "narHash": "sha256-w59N1zyDQ7SupfMJLFvtms/SIVbdryqlw5AS4+DiH+Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9652a97d9738d3e65cf33c0bc24429e495a7868f", + "rev": "61676e4dcfeeb058f255294bcb08ea7f3bc3ce56", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1691214006, - "narHash": "sha256-kdfBd+Y0DTOOdgSA6h6iIn403xVj4bzLnXqb7+yM6lQ=", + "lastModified": 1691391411, + "narHash": "sha256-hKSS4qJ82Oo2QbmDjX0LCnYnFl0HGi36x5LolDbDlgs=", "owner": "nix-community", "repo": "NUR", - "rev": "963ad2d1bb0a8f59b2c23ab521d4dff2148aad16", + "rev": "9f44224a80a2828f1cbb93f31e1a7f441fe20d5a", "type": "github" }, "original": { From 59b16eb082af827adb0b6d46b81720fe8f295bbb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 7 Aug 2023 15:48:10 +0200 Subject: [PATCH 1440/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/61676e4dcfeeb058f255294bcb08ea7f3bc3ce56' (2023-08-06) → 'github:nixos/nixpkgs/675b2be7f487c6ba63cc8cbcc332f3f7a516e06e' (2023-08-07) • Updated input 'nur': 'github:nix-community/NUR/9f44224a80a2828f1cbb93f31e1a7f441fe20d5a' (2023-08-07) → 'github:nix-community/NUR/7038553b4660dbac2a11f24ceb9f7282b1ece316' (2023-08-07) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 67dba9f2..d5543307 100644 --- a/flake.lock +++ b/flake.lock @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1691328192, - "narHash": "sha256-w59N1zyDQ7SupfMJLFvtms/SIVbdryqlw5AS4+DiH+Y=", + "lastModified": 1691391799, + "narHash": "sha256-B7N8WPgRl1yBhfK4cQByTbDamxYM4mPREWNmwRG2w/8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "61676e4dcfeeb058f255294bcb08ea7f3bc3ce56", + "rev": "675b2be7f487c6ba63cc8cbcc332f3f7a516e06e", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1691391411, - "narHash": "sha256-hKSS4qJ82Oo2QbmDjX0LCnYnFl0HGi36x5LolDbDlgs=", + "lastModified": 1691410813, + "narHash": "sha256-khyrWULs4+wHc3c545yHchsK/p8Ej4vAx7Tflgeq1oE=", "owner": "nix-community", "repo": "NUR", - "rev": "9f44224a80a2828f1cbb93f31e1a7f441fe20d5a", + "rev": "7038553b4660dbac2a11f24ceb9f7282b1ece316", "type": "github" }, "original": { From f2a00f91330c0bc4d41e53ab3573a044c5bd2c29 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 7 Aug 2023 15:51:55 +0200 Subject: [PATCH 1441/2080] nix-darwin: limit impact of mail sync script --- machines/Baptistes-MBP/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 3309c9e1..289b9147 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -155,5 +155,7 @@ serviceConfig.StandardErrorPath = "/Users/baptiste/Mail/.vdirsyncer.log"; serviceConfig.StandardOutPath = "/Users/baptiste/Mail/.vdirsyncer.log"; serviceConfig.ProcessType = "Background"; + serviceConfig.Nice = -10; + serviceConfig.LowPriorityIO = true; }; } From bc5b9236a7f1d32e20d3a70a2bb684eddf8f4f74 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 8 Aug 2023 14:45:30 +0200 Subject: [PATCH 1442/2080] lazyvim config: clean up settings --- lazyvim/nvim/lua/config/autocmds.lua | 13 ------------- lazyvim/nvim/lua/config/keymaps.lua | 2 +- lazyvim/nvim/lua/config/lazy.lua | 5 +---- lazyvim/nvim/lua/config/options.lua | 18 +++++++----------- 4 files changed, 9 insertions(+), 29 deletions(-) diff --git a/lazyvim/nvim/lua/config/autocmds.lua b/lazyvim/nvim/lua/config/autocmds.lua index 59666cae..06136864 100644 --- a/lazyvim/nvim/lua/config/autocmds.lua +++ b/lazyvim/nvim/lua/config/autocmds.lua @@ -21,19 +21,6 @@ vim.api.nvim_create_autocmd({ "InsertEnter", "WinLeave" }, { end, }) --- create directories when needed, when saving a file -vim.api.nvim_create_autocmd("BufWritePre", { - group = vim.api.nvim_create_augroup("auto_create_dir", { clear = true }), - callback = function(event) - local file = vim.loop.fs_realpath(event.match) or event.match - - vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p") - local backup = vim.fn.fnamemodify(file, ":p:~:h") - backup = backup:gsub("[/\\]", "%%") - vim.go.backupext = backup - end, -}) - -- wrap but no spell check in text filetypes vim.api.nvim_create_autocmd("FileType", { pattern = { "gitcommit", "markdown" }, diff --git a/lazyvim/nvim/lua/config/keymaps.lua b/lazyvim/nvim/lua/config/keymaps.lua index 8cd04be4..0395d9a7 100644 --- a/lazyvim/nvim/lua/config/keymaps.lua +++ b/lazyvim/nvim/lua/config/keymaps.lua @@ -3,7 +3,7 @@ -- Add any additional keymaps here local keymap = vim.keymap --- Move to window using the movement keys +-- Move to window using the arrow keys keymap.set("n", "<left>", "<C-w>h") keymap.set("n", "<down>", "<C-w>j") keymap.set("n", "<up>", "<C-w>k") diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index aecc8d8d..b598ec25 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -28,10 +28,7 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.ui.edgy" }, -- project management { import = "lazyvim.plugins.extras.util.project" }, - -- copilot - -- FIXME: not working fully automatically, likely due to overwritting of ncim-cmp - -- configuration and sources - -- XXX: disabled until there is an easy way to opt in using copilot + -- copilot disabled until there is an easy way to opt in -- { import = "lazyvim.plugins.extras.coding.copilot" }, -- import/override with your plugins { import = "plugins" }, diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index 723601c9..0be5f6c8 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -3,16 +3,17 @@ -- Add any additional options here local opt = vim.opt -opt.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value +-- Using ufo provider: need a large value +opt.foldlevel = 99 opt.foldlevelstart = 99 opt.foldenable = true opt.foldcolumn = "0" -- Default indentation: 2 spaces -opt.softtabstop = 2 --- XXX breaking indentation of new comments --- https://unix.stackexchange.com/a/543571 --- opt.smartindent = false +-- XXX: not needed? +-- opt.softtabstop = 2 + +-- Indentation management opt.autoindent = false -- Indent wrapped lines to match line start -- opt.breakindent = true @@ -22,10 +23,8 @@ opt.autoindent = false -- Wrap long lines opt.wrap = true --- Set max line length +-- Set max line length and display column to show light length opt.textwidth = 90 - --- Display column to show light length opt.colorcolumn = "90" -- Disable mouse @@ -43,6 +42,3 @@ vim.g.loaded_node_provider = 0 -- Use a global statusline vim.g.laststatus = 3 - --- Quicker timeout for mappings, to speed up showing which-key menu -opt.timeoutlen = 300 From 9402ea1d7eeed1cb029dc9c20899a7f58c12c7c0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 8 Aug 2023 14:46:52 +0200 Subject: [PATCH 1443/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 66effe7b..40594e32 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -3,7 +3,7 @@ "LuaSnip": { "branch": "master", "commit": "e81cbe6004051c390721d8570a4a0541ceb0df10" }, "SchemaStore.nvim": { "branch": "main", "commit": "787ffac7dff081f51b4fdcb5f6a85ec7d385504e" }, "bufferline.nvim": { "branch": "main", "commit": "99f0932365b34e22549ff58e1bea388465d15e99" }, - "catppuccin": { "branch": "main", "commit": "057c34f849cf21059487d849e2f3b3efcd4ee0eb" }, + "catppuccin": { "branch": "main", "commit": "371430f32f2637d2dd5796399b3982d4cada61d8" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -18,7 +18,7 @@ "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, "flash.nvim": { "branch": "main", "commit": "967117690bd677cb7b6a87f0bc0077d2c0be3a27" }, "friendly-snippets": { "branch": "main", "commit": "bc38057e513458cb2486b6cd82d365fa294ee398" }, - "gitsigns.nvim": { "branch": "main", "commit": "5d73da785a3c05fd63ac31769079db05169a6ec7" }, + "gitsigns.nvim": { "branch": "main", "commit": "287fffb410ce82d19da2d503a1f1570adf7b7874" }, "gx.nvim": { "branch": "main", "commit": "23baf6f9017cc6dee587ae89d1457ead521d0aee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "c135bd7b4855dfb787f8e98caaf0a73679555be1" }, @@ -52,15 +52,15 @@ "nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "3ba6edeea1390457caaf73e96ab9c086ff6f90e9" }, + "nvim-spectre": { "branch": "master", "commit": "5b39919a2947b1266b3aa34d0b0b14c35523bc69" }, "nvim-spider": { "branch": "main", "commit": "2762267825b575bcd27a50560e1098679f120007" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, "nvim-treesitter": { "branch": "master", "commit": "1e5576fa0165a222529777731a3257343047f916" }, "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "9e519b6146512c8e2e702faf8ac48420f4f5deec" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "e9062e2dfb9854e6a927370f2d720de354c88524" }, - "nvim-ufo": { "branch": "main", "commit": "43e39ec74cd57c45ca9d8229a796750f6083b850" }, - "nvim-web-devicons": { "branch": "master", "commit": "efbfed0567ef4bfac3ce630524a0f6c8451c5534" }, + "nvim-ufo": { "branch": "main", "commit": "5be5b800b4f3512bca128f345e9c98574b5637c0" }, + "nvim-web-devicons": { "branch": "master", "commit": "eb8f80f30fd5e9a6176dee5c46661ebd7437ac46" }, "octo.nvim": { "branch": "master", "commit": "22328c578bc013fa4b0cef3d00af35efe0c0f256" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, @@ -75,14 +75,14 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "d2e17ba18a6840b7e7079764b282616c3188e0de" }, + "telescope.nvim": { "branch": "master", "commit": "dc192faceb2db64231ead71539761e055df66d73" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, "trouble.nvim": { "branch": "main", "commit": "40aad004f53ae1d1ba91bcc5c29d59f07c5f01d3" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, "venv-selector.nvim": { "branch": "main", "commit": "cc312074371aff5b0d8d481b80c9c4de2a5287d7" }, "vim-illuminate": { "branch": "master", "commit": "5ed17582a8e97bf0a0c617c3cf762e98f87b9859" }, - "vim-matchup": { "branch": "master", "commit": "207418404291d81df13612b966b7eb9841c9e704" }, + "vim-matchup": { "branch": "master", "commit": "582cbc8c2dc311deb7a03f7d505d52544c36d4b6" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, From 21320841779cfafa49606c53f6593b44a7afaaca Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 8 Aug 2023 14:53:21 +0200 Subject: [PATCH 1444/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/594298686219c0083c6d64b9ad76e77b33ca7139' (2023-08-07) → 'github:nix-community/neovim-nightly-overlay/d1838961af1085a186221f4ff96073da46adbcd4' (2023-08-08) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/ef44e597294e4d0d9128ef69b6aa7481a54e17cb?dir=contrib' (2023-08-05) → 'github:neovim/neovim/0211f889b9538f7df5fbcb06273d273fb071efff?dir=contrib' (2023-08-07) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/e133d401e664303611d635ea62f15cfee9b4f7ae' (2023-08-06) → 'github:NixOS/nixpkgs/c91024273f020df2dcb209cc133461ca17848026' (2023-08-07) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/61676e4dcfeeb058f255294bcb08ea7f3bc3ce56' (2023-08-06) → 'github:NixOS/nixpkgs/011567f35433879aae5024fc6ec53f2a0568a6c4' (2023-08-07) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/675b2be7f487c6ba63cc8cbcc332f3f7a516e06e' (2023-08-07) → 'github:nixos/nixpkgs/8d8822b4d8081228212d1e9f213ce2dcb00dbcd8' (2023-08-08) • Updated input 'nur': 'github:nix-community/NUR/7038553b4660dbac2a11f24ceb9f7282b1ece316' (2023-08-07) → 'github:nix-community/NUR/28934e7a1acd70af1c15d377a05d3fd3bb2348a3' (2023-08-08) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index d5543307..625f8034 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1691246554, - "narHash": "sha256-t7w3uHEPIznVJLvt+9HzjeUMg6OCaJk/UTTqZTp+VSk=", + "lastModified": 1691428956, + "narHash": "sha256-JeZWpcCczEwIw3wX3zUFN0kM/y5cj5PrlO59ckUdGyE=", "owner": "neovim", "repo": "neovim", - "rev": "ef44e597294e4d0d9128ef69b6aa7481a54e17cb", + "rev": "0211f889b9538f7df5fbcb06273d273fb071efff", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1691366517, - "narHash": "sha256-I4E1wSaNQZzF24W2cGNu5/6LuQQdHMukdPMUDbGrq/4=", + "lastModified": 1691453062, + "narHash": "sha256-KwK9hkjAsvnKeYeYC+DBlJoLRhMHqCUTtIilFLvPnc0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "594298686219c0083c6d64b9ad76e77b33ca7139", + "rev": "d1838961af1085a186221f4ff96073da46adbcd4", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1691391799, - "narHash": "sha256-B7N8WPgRl1yBhfK4cQByTbDamxYM4mPREWNmwRG2w/8=", + "lastModified": 1691475599, + "narHash": "sha256-O56+bd4/Xem69A7DSB0WTfdatBBpjM2QQ8D6HCqAVdc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "675b2be7f487c6ba63cc8cbcc332f3f7a516e06e", + "rev": "8d8822b4d8081228212d1e9f213ce2dcb00dbcd8", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1691342804, - "narHash": "sha256-jRvAZj8/8rHItyceMrY2R37EABJH6RVRdHYCBLKdpIE=", + "lastModified": 1691403902, + "narHash": "sha256-J74y4xWtKPDPyVtF4arzrwuSOGznlFlJ+uB9RwNNnbo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e133d401e664303611d635ea62f15cfee9b4f7ae", + "rev": "c91024273f020df2dcb209cc133461ca17848026", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1691328192, - "narHash": "sha256-w59N1zyDQ7SupfMJLFvtms/SIVbdryqlw5AS4+DiH+Y=", + "lastModified": 1691421349, + "narHash": "sha256-RRJyX0CUrs4uW4gMhd/X4rcDG8PTgaaCQM5rXEJOx6g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "61676e4dcfeeb058f255294bcb08ea7f3bc3ce56", + "rev": "011567f35433879aae5024fc6ec53f2a0568a6c4", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1691410813, - "narHash": "sha256-khyrWULs4+wHc3c545yHchsK/p8Ej4vAx7Tflgeq1oE=", + "lastModified": 1691498565, + "narHash": "sha256-WRlPL2/ijhI/reXlP//XpxDu0x9PJTR2aksP0TBSgsw=", "owner": "nix-community", "repo": "NUR", - "rev": "7038553b4660dbac2a11f24ceb9f7282b1ece316", + "rev": "28934e7a1acd70af1c15d377a05d3fd3bb2348a3", "type": "github" }, "original": { From b14ce03e6e39da0406e09e37c642982cb6b5f269 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Aug 2023 08:06:57 +0200 Subject: [PATCH 1445/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/d1838961af1085a186221f4ff96073da46adbcd4' (2023-08-08) → 'github:nix-community/neovim-nightly-overlay/758671e9f8f78cb1cff12f76c6e3e4431d7f04a0' (2023-08-09) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/0211f889b9538f7df5fbcb06273d273fb071efff?dir=contrib' (2023-08-07) → 'github:neovim/neovim/fdb11888f5506fc110247efe789ebe429b3deaaf?dir=contrib' (2023-08-08) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/c91024273f020df2dcb209cc133461ca17848026' (2023-08-07) → 'github:NixOS/nixpkgs/844ffa82bbe2a2779c86ab3a72ff1b4176cec467' (2023-08-08) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/5a8e9243812ba528000995b294292d3b5e120947' (2023-08-07) → 'github:nixos/nixpkgs/41c7605718399dcfa53dd7083793b6ae3bc969ff' (2023-08-08) • Updated input 'nur': 'github:nix-community/NUR/28934e7a1acd70af1c15d377a05d3fd3bb2348a3' (2023-08-08) → 'github:nix-community/NUR/c987eac4f579d9e989d5a0cde93d688592bda990' (2023-08-09) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 625f8034..15db42c3 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1691428956, - "narHash": "sha256-JeZWpcCczEwIw3wX3zUFN0kM/y5cj5PrlO59ckUdGyE=", + "lastModified": 1691532443, + "narHash": "sha256-1jF7vuB/c0dHuR+8AdoV8cS1AqAgUWvwpHZXpzRnI3Y=", "owner": "neovim", "repo": "neovim", - "rev": "0211f889b9538f7df5fbcb06273d273fb071efff", + "rev": "fdb11888f5506fc110247efe789ebe429b3deaaf", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1691453062, - "narHash": "sha256-KwK9hkjAsvnKeYeYC+DBlJoLRhMHqCUTtIilFLvPnc0=", + "lastModified": 1691539516, + "narHash": "sha256-LN+f0NgzZ4cNkIxe4r9obo7qTY3XS+vplGBC+qD2g10=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d1838961af1085a186221f4ff96073da46adbcd4", + "rev": "758671e9f8f78cb1cff12f76c6e3e4431d7f04a0", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1691368598, - "narHash": "sha256-ia7li22keBBbj02tEdqjVeLtc7ZlSBuhUk+7XTUFr14=", + "lastModified": 1691472822, + "narHash": "sha256-XVfYZ2oB3lNPVq6sHCY9WkdQ8lHoIDzzbpg8bB6oBxA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5a8e9243812ba528000995b294292d3b5e120947", + "rev": "41c7605718399dcfa53dd7083793b6ae3bc969ff", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1691403902, - "narHash": "sha256-J74y4xWtKPDPyVtF4arzrwuSOGznlFlJ+uB9RwNNnbo=", + "lastModified": 1691464053, + "narHash": "sha256-D21ctOBjr2Y3vOFRXKRoFr6uNBvE8q5jC4RrMxRZXTM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c91024273f020df2dcb209cc133461ca17848026", + "rev": "844ffa82bbe2a2779c86ab3a72ff1b4176cec467", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1691498565, - "narHash": "sha256-WRlPL2/ijhI/reXlP//XpxDu0x9PJTR2aksP0TBSgsw=", + "lastModified": 1691559855, + "narHash": "sha256-UkXcNHsasO0sr8W8X8wGeM1bBuLC5tHEueryGSLaE+E=", "owner": "nix-community", "repo": "NUR", - "rev": "28934e7a1acd70af1c15d377a05d3fd3bb2348a3", + "rev": "c987eac4f579d9e989d5a0cde93d688592bda990", "type": "github" }, "original": { From be8492d8c4567971196b0de9d16e153a3bdd6843 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Aug 2023 11:44:37 +0200 Subject: [PATCH 1446/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/c987eac4f579d9e989d5a0cde93d688592bda990' (2023-08-09) → 'github:nix-community/NUR/e6dbae536ff9479c7277965043763df455124fa7' (2023-08-09) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 15db42c3..edd20200 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1691559855, - "narHash": "sha256-UkXcNHsasO0sr8W8X8wGeM1bBuLC5tHEueryGSLaE+E=", + "lastModified": 1691573523, + "narHash": "sha256-kKWUdrOaPeRhxs7HKcSUOMlod8p04gUEPDxpJFo4AD8=", "owner": "nix-community", "repo": "NUR", - "rev": "c987eac4f579d9e989d5a0cde93d688592bda990", + "rev": "e6dbae536ff9479c7277965043763df455124fa7", "type": "github" }, "original": { From 1087f235b2c72ccd3cb0fc1ee8469349f13f04ae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Aug 2023 12:32:35 +0200 Subject: [PATCH 1447/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 40594e32..124a7a43 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -18,7 +18,7 @@ "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, "flash.nvim": { "branch": "main", "commit": "967117690bd677cb7b6a87f0bc0077d2c0be3a27" }, "friendly-snippets": { "branch": "main", "commit": "bc38057e513458cb2486b6cd82d365fa294ee398" }, - "gitsigns.nvim": { "branch": "main", "commit": "287fffb410ce82d19da2d503a1f1570adf7b7874" }, + "gitsigns.nvim": { "branch": "main", "commit": "bae45ef449d8811061cc940459e70e883a3aa83a" }, "gx.nvim": { "branch": "main", "commit": "23baf6f9017cc6dee587ae89d1457ead521d0aee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "c135bd7b4855dfb787f8e98caaf0a73679555be1" }, @@ -27,7 +27,7 @@ "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e86a4c84ff35240639643ffed56ee1c4d55f538e" }, - "mason.nvim": { "branch": "main", "commit": "fe9e34a9ab4d64321cdc3ecab4ea1809239bb73f" }, + "mason.nvim": { "branch": "main", "commit": "74eac861b013786bf231b204b4ba9a7d380f4bd9" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "5218ea75e635df78a807bc9d5a7162594fb76d02" }, "mini.animate": { "branch": "main", "commit": "b0978ee3dd0dafd644d0bc6c37c396dbe8658342" }, @@ -71,7 +71,7 @@ "refactoring.nvim": { "branch": "master", "commit": "5359e74291164fcaeaaecdea9ba753ad54eb53d0" }, "semshi": { "branch": "master", "commit": "8047086306b1951e741f519f53d293d8b4b37f1a" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, - "ssr.nvim": { "branch": "main", "commit": "e5768511518a397fa712f26389ba30d0404990de" }, + "ssr.nvim": { "branch": "main", "commit": "bc9c0d2dd765dafc1b8fecb28d0a317e7913b81f" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, From b0f620fd05e09278d64b0fd73b4c1e5dd5ddf25c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Aug 2023 12:32:40 +0200 Subject: [PATCH 1448/2080] lazy: disable semshi that is currently breaking python file edition --- lazyvim/nvim/lua/config/lazy.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index b598ec25..6b3057f5 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -18,7 +18,8 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.lang.python" }, -- Semantic highlighting for python - { import = "lazyvim.plugins.extras.lang.python-semshi" }, + -- XXX: breaking when opening python files? + -- { import = "lazyvim.plugins.extras.lang.python-semshi" }, { import = "lazyvim.plugins.extras.lang.terraform" }, -- Animate common Neovim actions (cursor movement, scrolling...) { import = "lazyvim.plugins.extras.ui.mini-animate" }, From 7deb91d90f31f7efd34a4d130bbef00f15f70004 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Aug 2023 12:33:38 +0200 Subject: [PATCH 1449/2080] nix-darwin: install flake8 from homebrew --- machines/Baptistes-MBP/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index baeadbd2..b1781091 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -26,6 +26,7 @@ "fetch-crl" "perltidy" "pyenv" + "flake8" ]; casks = [ # app launcher, file searcher From 1eb3e8f6331e39e75fb6a8852d53c26696fde3a8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Aug 2023 16:16:46 +0200 Subject: [PATCH 1450/2080] lazyvim: re-enable python3 provider to debug using python semshi. --- lazyvim/nvim/lua/config/options.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index 0be5f6c8..e595cad8 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -35,7 +35,8 @@ vim.g.mapleader = " " vim.g.maplocalleader = "\\" -- Disable python, perl, ruby and node support -vim.g.loaded_python3_provider = 0 +-- XXX: re-enabled for testing semshi, cf https://github.com/numirias/semshi/issues/74 +-- vim.g.loaded_python3_provider = 0 vim.g.loaded_perl_provider = 0 vim.g.loaded_ruby_provider = 0 vim.g.loaded_node_provider = 0 From bbaf406ba61a7c9276e0bd56be587d6f1a959cbe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Aug 2023 16:17:55 +0200 Subject: [PATCH 1451/2080] lazy: re-enable python-semshi, document workaround --- lazyvim/nvim/lua/config/lazy.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 6b3057f5..9ea021bd 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -18,8 +18,10 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.lang.python" }, -- Semantic highlighting for python - -- XXX: breaking when opening python files? - -- { import = "lazyvim.plugins.extras.lang.python-semshi" }, + -- XXX: breaking when opening python files + -- See https://github.com/numirias/semshi/issues/120 + -- Had to run :UpdateRemotePlugins manually + { import = "lazyvim.plugins.extras.lang.python-semshi" }, { import = "lazyvim.plugins.extras.lang.terraform" }, -- Animate common Neovim actions (cursor movement, scrolling...) { import = "lazyvim.plugins.extras.ui.mini-animate" }, From df6ff23afe0adf0e6d62d4fd27c677e19d6ab4a9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 9 Aug 2023 16:18:25 +0200 Subject: [PATCH 1452/2080] nvim lsp: disable custom python config, rely on the LazyVim extra for now --- lazyvim/nvim/lua/plugins/lsp.lua | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index aa28f33c..9a84c09c 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -185,13 +185,13 @@ return { local root = utils.get_root() local flake8_conf = root .. "/.github/linters/.flake8" -- Load configuration file from super-liner, if any - if vim.loop.fs_stat(flake8_conf) then - flake8_extra_args = { "--config", flake8_conf } - else - -- Align with black - -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 - flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } - end + -- if vim.loop.fs_stat(flake8_conf) then + -- flake8_extra_args = { "--config", flake8_conf } + -- else + -- -- Align with black + -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 + -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } + -- end -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md opts.sources = { -- fish @@ -209,13 +209,14 @@ return { -- perl nls.builtins.formatting.perltidy, -- python - nls.builtins.formatting.isort.with({ - extra_args = { "--profile", "black" }, - }), - nls.builtins.formatting.black, - nls.builtins.diagnostics.flake8.with({ - extra_args = flake8_extra_args, - }), + -- XXX: testing lazyvim.plugins.extras.lang.python + -- nls.builtins.formatting.isort.with({ + -- extra_args = { "--profile", "black" }, + -- }), + -- nls.builtins.formatting.black, + -- nls.builtins.diagnostics.flake8.with({ + -- extra_args = flake8_extra_args, + -- }), -- Injects code actions for Git operations at the current cursor position nls.builtins.code_actions.gitsigns, -- markdown From c7a44a99a1d2a452153c052bc8d6e4420bc6d569 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 10 Aug 2023 09:15:11 +0200 Subject: [PATCH 1453/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/829041cf10c4f6751a53c0a11ca2fd22ff0918d6' (2023-08-05) → 'github:lnl7/nix-darwin/426d38710b656b0a31f8eaae6e0002206a3b96d7' (2023-08-10) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/758671e9f8f78cb1cff12f76c6e3e4431d7f04a0' (2023-08-09) → 'github:nix-community/neovim-nightly-overlay/a8c6bccc062389f546e408f36753b528f4f9695a' (2023-08-10) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/fdb11888f5506fc110247efe789ebe429b3deaaf?dir=contrib' (2023-08-08) → 'github:neovim/neovim/72e619ca92b527140e1323f4e281b7f3ad35f380?dir=contrib' (2023-08-09) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/011567f35433879aae5024fc6ec53f2a0568a6c4' (2023-08-07) → 'github:NixOS/nixpkgs/78287547942dd8e8afff0ae47fb8e2553db79d7e' (2023-08-08) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/8d8822b4d8081228212d1e9f213ce2dcb00dbcd8' (2023-08-08) → 'github:nixos/nixpkgs/3fbf60034e98b9f065f2af9f0d4669dcd5893c0d' (2023-08-09) • Updated input 'nur': 'github:nix-community/NUR/e6dbae536ff9479c7277965043763df455124fa7' (2023-08-09) → 'github:nix-community/NUR/b45bf70d09a6c16b0e0328ed8077d31de1d04b82' (2023-08-10) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index edd20200..50faef5c 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1691275315, - "narHash": "sha256-9WN0IA0vNZSNxKHpy/bYvPnCw4VH/nr5iBv7c+7KUts=", + "lastModified": 1691640097, + "narHash": "sha256-6vPsJYjtt2hs4mkiR46yt8c/Spdm/UiUKoSCIlc7iJw=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "829041cf10c4f6751a53c0a11ca2fd22ff0918d6", + "rev": "426d38710b656b0a31f8eaae6e0002206a3b96d7", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1691532443, - "narHash": "sha256-1jF7vuB/c0dHuR+8AdoV8cS1AqAgUWvwpHZXpzRnI3Y=", + "lastModified": 1691622803, + "narHash": "sha256-RYYv/Zxtege7a3RJGLHdTCYSxS/dZAbfg9Al+IXjbBE=", "owner": "neovim", "repo": "neovim", - "rev": "fdb11888f5506fc110247efe789ebe429b3deaaf", + "rev": "72e619ca92b527140e1323f4e281b7f3ad35f380", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1691539516, - "narHash": "sha256-LN+f0NgzZ4cNkIxe4r9obo7qTY3XS+vplGBC+qD2g10=", + "lastModified": 1691625867, + "narHash": "sha256-IpEbn2oTa4K9xZnlB3SlfcFot1EoNb9pjJOXP7EEfQc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "758671e9f8f78cb1cff12f76c6e3e4431d7f04a0", + "rev": "a8c6bccc062389f546e408f36753b528f4f9695a", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1691475599, - "narHash": "sha256-O56+bd4/Xem69A7DSB0WTfdatBBpjM2QQ8D6HCqAVdc=", + "lastModified": 1691547986, + "narHash": "sha256-wP9a4GeMRrDOlwVmxMG+vFCXBjIZPmu3PiWd2XSZcgA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8d8822b4d8081228212d1e9f213ce2dcb00dbcd8", + "rev": "3fbf60034e98b9f065f2af9f0d4669dcd5893c0d", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1691421349, - "narHash": "sha256-RRJyX0CUrs4uW4gMhd/X4rcDG8PTgaaCQM5rXEJOx6g=", + "lastModified": 1691522891, + "narHash": "sha256-xqQqVryXKJoFQ/+RL0A7DihkLkev8dk6afM7B04TilU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "011567f35433879aae5024fc6ec53f2a0568a6c4", + "rev": "78287547942dd8e8afff0ae47fb8e2553db79d7e", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1691573523, - "narHash": "sha256-kKWUdrOaPeRhxs7HKcSUOMlod8p04gUEPDxpJFo4AD8=", + "lastModified": 1691649780, + "narHash": "sha256-qnfMKEHfr0gVuTHqXiGXKNx21tHCOSIbWG+KdeyMUvs=", "owner": "nix-community", "repo": "NUR", - "rev": "e6dbae536ff9479c7277965043763df455124fa7", + "rev": "b45bf70d09a6c16b0e0328ed8077d31de1d04b82", "type": "github" }, "original": { From cec2433347538ff0bffa7b38a4379460b79b118c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 10 Aug 2023 17:00:18 +0200 Subject: [PATCH 1454/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/78287547942dd8e8afff0ae47fb8e2553db79d7e' (2023-08-08) → 'github:NixOS/nixpkgs/9034b46dc4c7596a87ab837bb8a07ef2d887e8c7' (2023-08-09) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/3fbf60034e98b9f065f2af9f0d4669dcd5893c0d' (2023-08-09) → 'github:nixos/nixpkgs/8c749529f9feed570bbc2d8f855f874cafaa5804' (2023-08-10) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/41c7605718399dcfa53dd7083793b6ae3bc969ff' (2023-08-08) → 'github:nixos/nixpkgs/e528fa15d5f740a25b5f536c33932db64cb10fc8' (2023-08-09) • Updated input 'nur': 'github:nix-community/NUR/b45bf70d09a6c16b0e0328ed8077d31de1d04b82' (2023-08-10) → 'github:nix-community/NUR/5f772683d0285de70a9e97706cc26a08ab91ae86' (2023-08-10) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 50faef5c..9e629361 100644 --- a/flake.lock +++ b/flake.lock @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1691547986, - "narHash": "sha256-wP9a4GeMRrDOlwVmxMG+vFCXBjIZPmu3PiWd2XSZcgA=", + "lastModified": 1691663337, + "narHash": "sha256-Q2FPQ3a2eyJFHZ/mv+d7+b5MEr4TLi+bgUY9WWu8CSI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3fbf60034e98b9f065f2af9f0d4669dcd5893c0d", + "rev": "8c749529f9feed570bbc2d8f855f874cafaa5804", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1691472822, - "narHash": "sha256-XVfYZ2oB3lNPVq6sHCY9WkdQ8lHoIDzzbpg8bB6oBxA=", + "lastModified": 1691565530, + "narHash": "sha256-qZZ6DxvS1X/tjxXNUwJrPiaIWLZyWUDM2gkJCi5uZpE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "41c7605718399dcfa53dd7083793b6ae3bc969ff", + "rev": "e528fa15d5f740a25b5f536c33932db64cb10fc8", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1691522891, - "narHash": "sha256-xqQqVryXKJoFQ/+RL0A7DihkLkev8dk6afM7B04TilU=", + "lastModified": 1691592289, + "narHash": "sha256-Lqpw7lrXlLkYra33tp57ms8tZ0StWhbcl80vk4D90F8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "78287547942dd8e8afff0ae47fb8e2553db79d7e", + "rev": "9034b46dc4c7596a87ab837bb8a07ef2d887e8c7", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1691649780, - "narHash": "sha256-qnfMKEHfr0gVuTHqXiGXKNx21tHCOSIbWG+KdeyMUvs=", + "lastModified": 1691678575, + "narHash": "sha256-yU6RXOC/NXZuP8TB3Z9y5bfg/w7nuZAuLFv6smS9cww=", "owner": "nix-community", "repo": "NUR", - "rev": "b45bf70d09a6c16b0e0328ed8077d31de1d04b82", + "rev": "5f772683d0285de70a9e97706cc26a08ab91ae86", "type": "github" }, "original": { From ee95756306d32402a51288e82a994911c566acc1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 10 Aug 2023 17:21:35 +0200 Subject: [PATCH 1455/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 124a7a43..ae43c766 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -60,7 +60,7 @@ "nvim-treesitter-textobjects": { "branch": "master", "commit": "9e519b6146512c8e2e702faf8ac48420f4f5deec" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "e9062e2dfb9854e6a927370f2d720de354c88524" }, "nvim-ufo": { "branch": "main", "commit": "5be5b800b4f3512bca128f345e9c98574b5637c0" }, - "nvim-web-devicons": { "branch": "master", "commit": "eb8f80f30fd5e9a6176dee5c46661ebd7437ac46" }, + "nvim-web-devicons": { "branch": "master", "commit": "ab899311f8ae00a47eae8e0879506cead8eb1561" }, "octo.nvim": { "branch": "master", "commit": "22328c578bc013fa4b0cef3d00af35efe0c0f256" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, @@ -75,7 +75,7 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "dc192faceb2db64231ead71539761e055df66d73" }, + "telescope.nvim": { "branch": "master", "commit": "2d92125620417fbea82ec30303823e3cd69e90e8" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, "trouble.nvim": { "branch": "main", "commit": "40aad004f53ae1d1ba91bcc5c29d59f07c5f01d3" }, From 093fe633aeab01f00ffa2bcdcb71f353862049a1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 15 Aug 2023 07:49:31 +0200 Subject: [PATCH 1456/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/426d38710b656b0a31f8eaae6e0002206a3b96d7' (2023-08-10) → 'github:lnl7/nix-darwin/3fcd83783a1e2ddad0f14821da4186a95bc76c50' (2023-08-13) • Updated input 'home-manager': 'github:nix-community/home-manager/07c347bb50994691d7b0095f45ebd8838cf6bc38' (2023-06-27) → 'github:nix-community/home-manager/7f351e2993ed170dd9b8521a9e41f4d91d9b9c5d' (2023-08-13) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/a8c6bccc062389f546e408f36753b528f4f9695a' (2023-08-10) → 'github:nix-community/neovim-nightly-overlay/87f38ef40bde21d4daf4eeca1233fc53844a9606' (2023-08-15) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/72e619ca92b527140e1323f4e281b7f3ad35f380?dir=contrib' (2023-08-09) → 'github:neovim/neovim/6d93bdd458a03bd07b1797e43bb11e3be560d340?dir=contrib' (2023-08-14) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/844ffa82bbe2a2779c86ab3a72ff1b4176cec467' (2023-08-08) → 'github:NixOS/nixpkgs/de2b8ddf94d6cc6161b7659649594c79bd66c13b' (2023-08-14) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9034b46dc4c7596a87ab837bb8a07ef2d887e8c7' (2023-08-09) → 'github:NixOS/nixpkgs/720e61ed8de116eec48d6baea1d54469b536b985' (2023-08-13) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/8c749529f9feed570bbc2d8f855f874cafaa5804' (2023-08-10) → 'github:nixos/nixpkgs/79947b703cc6937356ae1a9fdbca9d906e035ee1' (2023-08-15) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e528fa15d5f740a25b5f536c33932db64cb10fc8' (2023-08-09) → 'github:nixos/nixpkgs/6e287913f7b1ef537c97aa301b67c34ea46b640f' (2023-08-14) • Updated input 'nur': 'github:nix-community/NUR/5f772683d0285de70a9e97706cc26a08ab91ae86' (2023-08-10) → 'github:nix-community/NUR/f3f54c4f66c717b28fe267f73dc8cd238bfbd6fc' (2023-08-15) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 9e629361..c96d272f 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1691640097, - "narHash": "sha256-6vPsJYjtt2hs4mkiR46yt8c/Spdm/UiUKoSCIlc7iJw=", + "lastModified": 1691963303, + "narHash": "sha256-zqvt4N4Ic06BrGo02itCIPTEKzVnGT0BtGbIr+aUGqE=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "426d38710b656b0a31f8eaae6e0002206a3b96d7", + "rev": "3fcd83783a1e2ddad0f14821da4186a95bc76c50", "type": "github" }, "original": { @@ -181,11 +181,11 @@ ] }, "locked": { - "lastModified": 1687871164, - "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=", + "lastModified": 1691963086, + "narHash": "sha256-OHpCjDC9jsMDzyNJslJUeONaNkSDQA5t7qGpurVsVww=", "owner": "nix-community", "repo": "home-manager", - "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38", + "rev": "7f351e2993ed170dd9b8521a9e41f4d91d9b9c5d", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1691622803, - "narHash": "sha256-RYYv/Zxtege7a3RJGLHdTCYSxS/dZAbfg9Al+IXjbBE=", + "lastModified": 1691999605, + "narHash": "sha256-4j4ieCrgjNxaPrshyPSquEpDzhJMOX93MBlyBuNOHnA=", "owner": "neovim", "repo": "neovim", - "rev": "72e619ca92b527140e1323f4e281b7f3ad35f380", + "rev": "6d93bdd458a03bd07b1797e43bb11e3be560d340", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1691625867, - "narHash": "sha256-IpEbn2oTa4K9xZnlB3SlfcFot1EoNb9pjJOXP7EEfQc=", + "lastModified": 1692057946, + "narHash": "sha256-zm+7dZtBkAJQ3XyijoCISsFKm+nLBXjaoqLNdLu14+Q=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a8c6bccc062389f546e408f36753b528f4f9695a", + "rev": "87f38ef40bde21d4daf4eeca1233fc53844a9606", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1691663337, - "narHash": "sha256-Q2FPQ3a2eyJFHZ/mv+d7+b5MEr4TLi+bgUY9WWu8CSI=", + "lastModified": 1692061535, + "narHash": "sha256-TiB45X3K7USHS2iq+3iLvEi+l4zDhQ/T+/aoW5cwTeY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8c749529f9feed570bbc2d8f855f874cafaa5804", + "rev": "79947b703cc6937356ae1a9fdbca9d906e035ee1", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1691565530, - "narHash": "sha256-qZZ6DxvS1X/tjxXNUwJrPiaIWLZyWUDM2gkJCi5uZpE=", + "lastModified": 1691990649, + "narHash": "sha256-gMbKOiX1HwClRP9lADaaV/lnZr93NEaOFe4ApDx/zd8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e528fa15d5f740a25b5f536c33932db64cb10fc8", + "rev": "6e287913f7b1ef537c97aa301b67c34ea46b640f", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1691464053, - "narHash": "sha256-D21ctOBjr2Y3vOFRXKRoFr6uNBvE8q5jC4RrMxRZXTM=", + "lastModified": 1692007866, + "narHash": "sha256-X8w0vPZjZxMm68VCwh/BHDoKRGp+BgzQ6w7Nkif6IVM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "844ffa82bbe2a2779c86ab3a72ff1b4176cec467", + "rev": "de2b8ddf94d6cc6161b7659649594c79bd66c13b", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1691592289, - "narHash": "sha256-Lqpw7lrXlLkYra33tp57ms8tZ0StWhbcl80vk4D90F8=", + "lastModified": 1691950488, + "narHash": "sha256-iUNEeudc4dGjx+HsHccnGiuZUVE/nhjXuQ1DVCsHIUY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9034b46dc4c7596a87ab837bb8a07ef2d887e8c7", + "rev": "720e61ed8de116eec48d6baea1d54469b536b985", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1691678575, - "narHash": "sha256-yU6RXOC/NXZuP8TB3Z9y5bfg/w7nuZAuLFv6smS9cww=", + "lastModified": 1692078328, + "narHash": "sha256-4VSBlkadpZinUvCrwxY4UPF+6lpHl+IhHI90qNYIkK0=", "owner": "nix-community", "repo": "NUR", - "rev": "5f772683d0285de70a9e97706cc26a08ab91ae86", + "rev": "f3f54c4f66c717b28fe267f73dc8cd238bfbd6fc", "type": "github" }, "original": { From e0155235a8151b2178c74fda9030bfdffe8c0b6d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 15 Aug 2023 08:00:56 +0200 Subject: [PATCH 1457/2080] i3: disable network manager applet --- modules/home/wm/i3.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/home/wm/i3.nix b/modules/home/wm/i3.nix index 9575d1a1..ee268ca8 100644 --- a/modules/home/wm/i3.nix +++ b/modules/home/wm/i3.nix @@ -208,11 +208,11 @@ in { {block = "load";} {block = "cpu";} {block = "net";} - { - block = "networkmanager"; - device_format = "{icon}{ap}{ips}"; - on_click = "${pkgs.kitty}/bin/kitty -e nmtui"; - } + # { + # block = "networkmanager"; + # device_format = "{icon}{ap}{ips}"; + # on_click = "${pkgs.kitty}/bin/kitty -e nmtui"; + # } { block = "time"; format = "%F %A %R"; From f7ddfb2d309a740a7f7af8af93c6ccf592a0cfb2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 15 Aug 2023 08:01:26 +0200 Subject: [PATCH 1458/2080] nvim lsp: disable some unused LSP servers --- lazyvim/nvim/lua/plugins/lsp.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 9a84c09c..b73d8538 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -24,7 +24,7 @@ return { ansiblels = {}, bashls = {}, -- dockerls = {}, - html = {}, + -- html = {}, -- use LanguageTool via ltex for spell checking -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html -- TODO: have cmp do completion using words from the dictionaries @@ -149,7 +149,7 @@ return { }, }, }, - vimls = {}, + -- vimls = {}, }, setup = { -- integrate ltex_extra with lazyvim From 9b019a95f37de4d6372f7c82d2f6208adb8b27e6 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 21 Aug 2023 08:54:10 +0200 Subject: [PATCH 1459/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/3fcd83783a1e2ddad0f14821da4186a95bc76c50' (2023-08-13) → 'github:lnl7/nix-darwin/511177ffe8226c78c9cf6a92a7b5f2df3684956b' (2023-08-17) • Updated input 'home-manager': 'github:nix-community/home-manager/7f351e2993ed170dd9b8521a9e41f4d91d9b9c5d' (2023-08-13) → 'github:nix-community/home-manager/2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f' (2023-08-15) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/87f38ef40bde21d4daf4eeca1233fc53844a9606' (2023-08-15) → 'github:nix-community/neovim-nightly-overlay/76577f17abb193cb77d786a932aa1f78a8dcfa5a' (2023-08-21) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/6d93bdd458a03bd07b1797e43bb11e3be560d340?dir=contrib' (2023-08-14) → 'github:neovim/neovim/694814cdd54ac245d1f4d2c28dce7e9132fcb616?dir=contrib' (2023-08-20) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/de2b8ddf94d6cc6161b7659649594c79bd66c13b' (2023-08-14) → 'github:NixOS/nixpkgs/3476a10478587dec90acb14ec6bde0966c545cc0' (2023-08-20) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/720e61ed8de116eec48d6baea1d54469b536b985' (2023-08-13) → 'github:NixOS/nixpkgs/4cdad15f34e6321a2f789b99d42815b9142ac2ba' (2023-08-19) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/79947b703cc6937356ae1a9fdbca9d906e035ee1' (2023-08-15) → 'github:nixos/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/6e287913f7b1ef537c97aa301b67c34ea46b640f' (2023-08-14) → 'github:nixos/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19) • Updated input 'nur': 'github:nix-community/NUR/f3f54c4f66c717b28fe267f73dc8cd238bfbd6fc' (2023-08-15) → 'github:nix-community/NUR/411aca0839e7db69f8c5b6822a761a3839f792df' (2023-08-21) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index c96d272f..cca5b58d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1691963303, - "narHash": "sha256-zqvt4N4Ic06BrGo02itCIPTEKzVnGT0BtGbIr+aUGqE=", + "lastModified": 1692248770, + "narHash": "sha256-tZeFpETKQGbgnaSIO1AGWD27IyTcBm4D+A9d7ulQ4NM=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "3fcd83783a1e2ddad0f14821da4186a95bc76c50", + "rev": "511177ffe8226c78c9cf6a92a7b5f2df3684956b", "type": "github" }, "original": { @@ -181,11 +181,11 @@ ] }, "locked": { - "lastModified": 1691963086, - "narHash": "sha256-OHpCjDC9jsMDzyNJslJUeONaNkSDQA5t7qGpurVsVww=", + "lastModified": 1692099905, + "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", "owner": "nix-community", "repo": "home-manager", - "rev": "7f351e2993ed170dd9b8521a9e41f4d91d9b9c5d", + "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1691999605, - "narHash": "sha256-4j4ieCrgjNxaPrshyPSquEpDzhJMOX93MBlyBuNOHnA=", + "lastModified": 1692574189, + "narHash": "sha256-bPiITKG5fFB5vzx28sC9cfcz+BkfJGe2W5ZoiFiRUtA=", "owner": "neovim", "repo": "neovim", - "rev": "6d93bdd458a03bd07b1797e43bb11e3be560d340", + "rev": "694814cdd54ac245d1f4d2c28dce7e9132fcb616", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1692057946, - "narHash": "sha256-zm+7dZtBkAJQ3XyijoCISsFKm+nLBXjaoqLNdLu14+Q=", + "lastModified": 1692576342, + "narHash": "sha256-eIJqMmicuB93qQd38YIRW2v/0GczYzNN57Xf/rNZJTY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "87f38ef40bde21d4daf4eeca1233fc53844a9606", + "rev": "76577f17abb193cb77d786a932aa1f78a8dcfa5a", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1692061535, - "narHash": "sha256-TiB45X3K7USHS2iq+3iLvEi+l4zDhQ/T+/aoW5cwTeY=", + "lastModified": 1692492726, + "narHash": "sha256-rld5qm2B4oRkDwcPD+yOSyTrZQdfCR6mzJGGkecjvTs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "79947b703cc6937356ae1a9fdbca9d906e035ee1", + "rev": "5e63e8bbc46bc4fc22254da1edaf42fc7549c18a", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1691990649, - "narHash": "sha256-gMbKOiX1HwClRP9lADaaV/lnZr93NEaOFe4ApDx/zd8=", + "lastModified": 1692447944, + "narHash": "sha256-fkJGNjEmTPvqBs215EQU4r9ivecV5Qge5cF/QDLVn3U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6e287913f7b1ef537c97aa301b67c34ea46b640f", + "rev": "d680ded26da5cf104dd2735a51e88d2d8f487b4d", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692007866, - "narHash": "sha256-X8w0vPZjZxMm68VCwh/BHDoKRGp+BgzQ6w7Nkif6IVM=", + "lastModified": 1692494774, + "narHash": "sha256-noGVoOTyZ2Kr5OFglzKYOX48cx3hggdCPbXrYMG2FDw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "de2b8ddf94d6cc6161b7659649594c79bd66c13b", + "rev": "3476a10478587dec90acb14ec6bde0966c545cc0", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1691950488, - "narHash": "sha256-iUNEeudc4dGjx+HsHccnGiuZUVE/nhjXuQ1DVCsHIUY=", + "lastModified": 1692414505, + "narHash": "sha256-sSTuyR9JYSxmUcYcj0Jvw1hIq1tz/Canw9mK0hEJvnE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "720e61ed8de116eec48d6baea1d54469b536b985", + "rev": "4cdad15f34e6321a2f789b99d42815b9142ac2ba", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1692078328, - "narHash": "sha256-4VSBlkadpZinUvCrwxY4UPF+6lpHl+IhHI90qNYIkK0=", + "lastModified": 1692598479, + "narHash": "sha256-8bLYtaBVAt0BTVExy0AvajRkeWoHNz0BxfgQMtsUF5M=", "owner": "nix-community", "repo": "NUR", - "rev": "f3f54c4f66c717b28fe267f73dc8cd238bfbd6fc", + "rev": "411aca0839e7db69f8c5b6822a761a3839f792df", "type": "github" }, "original": { From 46c8ea3a83eb8cae03779c162827a898e14e1016 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 25 Aug 2023 10:37:13 +0200 Subject: [PATCH 1460/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/76577f17abb193cb77d786a932aa1f78a8dcfa5a' (2023-08-21) → 'github:nix-community/neovim-nightly-overlay/83d68ba72f3308b5c90b12fb40044c870903e6ee' (2023-08-23) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/694814cdd54ac245d1f4d2c28dce7e9132fcb616?dir=contrib' (2023-08-20) → 'github:neovim/neovim/6462ee1c10f9f1aa66ffc4d4fe1b7b3d9f0f91af?dir=contrib' (2023-08-22) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/3476a10478587dec90acb14ec6bde0966c545cc0' (2023-08-20) → 'github:NixOS/nixpkgs/0b07d4957ee1bd7fd3bdfd12db5f361bd70175a6' (2023-08-20) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/4cdad15f34e6321a2f789b99d42815b9142ac2ba' (2023-08-19) → 'github:NixOS/nixpkgs/fc944919f743bb22379dddf18dcb72db6cff84aa' (2023-08-23) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20) → 'github:nixos/nixpkgs/d540c6348227dff41a708db5c0b70cc3018080ea' (2023-08-24) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19) → 'github:nixos/nixpkgs/b85ed9dcbf187b909ef7964774f8847d554fab3b' (2023-08-22) • Updated input 'nur': 'github:nix-community/NUR/411aca0839e7db69f8c5b6822a761a3839f792df' (2023-08-21) → 'github:nix-community/NUR/ae1d1eddea079e549d2cb3b408090879feb17dec' (2023-08-25) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index cca5b58d..3188cc1d 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1692574189, - "narHash": "sha256-bPiITKG5fFB5vzx28sC9cfcz+BkfJGe2W5ZoiFiRUtA=", + "lastModified": 1692744130, + "narHash": "sha256-Iod6+KGeWnX1SV4owXpSoC17iImCJjTq2iqEp6IRBZc=", "owner": "neovim", "repo": "neovim", - "rev": "694814cdd54ac245d1f4d2c28dce7e9132fcb616", + "rev": "6462ee1c10f9f1aa66ffc4d4fe1b7b3d9f0f91af", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1692576342, - "narHash": "sha256-eIJqMmicuB93qQd38YIRW2v/0GczYzNN57Xf/rNZJTY=", + "lastModified": 1692749096, + "narHash": "sha256-XyFSBw3WMf5cTG9ImL6S/v9Aoawr38h/Fr1XIi7peEs=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "76577f17abb193cb77d786a932aa1f78a8dcfa5a", + "rev": "83d68ba72f3308b5c90b12fb40044c870903e6ee", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1692492726, - "narHash": "sha256-rld5qm2B4oRkDwcPD+yOSyTrZQdfCR6mzJGGkecjvTs=", + "lastModified": 1692873956, + "narHash": "sha256-iSv/8qZhUKviiWKKfOXKtyA6CmzA2Ln/cH3PZLBCZIA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e63e8bbc46bc4fc22254da1edaf42fc7549c18a", + "rev": "d540c6348227dff41a708db5c0b70cc3018080ea", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1692447944, - "narHash": "sha256-fkJGNjEmTPvqBs215EQU4r9ivecV5Qge5cF/QDLVn3U=", + "lastModified": 1692734709, + "narHash": "sha256-SCFnyHCyYjwEmgUsHDDuU0TsbVMKeU1vwkR+r7uS2Rg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d680ded26da5cf104dd2735a51e88d2d8f487b4d", + "rev": "b85ed9dcbf187b909ef7964774f8847d554fab3b", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692494774, - "narHash": "sha256-noGVoOTyZ2Kr5OFglzKYOX48cx3hggdCPbXrYMG2FDw=", + "lastModified": 1692557222, + "narHash": "sha256-TCOtZaioLf/jTEgfa+nyg0Nwq5Uc610Z+OFV75yUgGw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3476a10478587dec90acb14ec6bde0966c545cc0", + "rev": "0b07d4957ee1bd7fd3bdfd12db5f361bd70175a6", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1692414505, - "narHash": "sha256-sSTuyR9JYSxmUcYcj0Jvw1hIq1tz/Canw9mK0hEJvnE=", + "lastModified": 1692794066, + "narHash": "sha256-H0aG8r16dj0x/Wz6wQhQxc9V7AsObOiHPaKxQgH6Y08=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4cdad15f34e6321a2f789b99d42815b9142ac2ba", + "rev": "fc944919f743bb22379dddf18dcb72db6cff84aa", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1692598479, - "narHash": "sha256-8bLYtaBVAt0BTVExy0AvajRkeWoHNz0BxfgQMtsUF5M=", + "lastModified": 1692949103, + "narHash": "sha256-kxHsJo/1MN6sdBCcFQu3J0Dtjpb54cRBBEByK5DXG5s=", "owner": "nix-community", "repo": "NUR", - "rev": "411aca0839e7db69f8c5b6822a761a3839f792df", + "rev": "ae1d1eddea079e549d2cb3b408090879feb17dec", "type": "github" }, "original": { From e654481ffc819063acc11a797a768bab8d1cbd67 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 25 Aug 2023 10:42:11 +0200 Subject: [PATCH 1461/2080] nix: install gcc everywhere --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 418a7d90..801421d8 100644 --- a/home/main.nix +++ b/home/main.nix @@ -18,6 +18,7 @@ # https://github.com/malob/nixpkgs/blob/d930a2e7749248a0b0af7d025d667030011fa7b8/home/packages.nix # some basics curl + gcc wget # Cool stuff From e1f8b2200dad5d1d4250523b774c4d73e0308f36 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 25 Aug 2023 10:42:38 +0200 Subject: [PATCH 1462/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index ae43c766..e1243db1 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -17,19 +17,19 @@ "dressing.nvim": { "branch": "master", "commit": "829bc80400651aea31b03d8fc9a99135512fe67a" }, "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, "flash.nvim": { "branch": "main", "commit": "967117690bd677cb7b6a87f0bc0077d2c0be3a27" }, - "friendly-snippets": { "branch": "main", "commit": "bc38057e513458cb2486b6cd82d365fa294ee398" }, - "gitsigns.nvim": { "branch": "main", "commit": "bae45ef449d8811061cc940459e70e883a3aa83a" }, - "gx.nvim": { "branch": "main", "commit": "23baf6f9017cc6dee587ae89d1457ead521d0aee" }, + "friendly-snippets": { "branch": "main", "commit": "377d45475b49e37460a902d6d569d2093d4037d0" }, + "gitsigns.nvim": { "branch": "main", "commit": "749267aaa863c30d721c9913699c5d94e0c07dd3" }, + "gx.nvim": { "branch": "main", "commit": "b78478ce851f3e8bfaf828421316122e88d12cee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "c135bd7b4855dfb787f8e98caaf0a73679555be1" }, - "indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" }, + "indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "e86a4c84ff35240639643ffed56ee1c4d55f538e" }, - "mason.nvim": { "branch": "main", "commit": "74eac861b013786bf231b204b4ba9a7d380f4bd9" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "2997f467881ac4faa6f8c5e7065e3a672297c8ad" }, + "mason.nvim": { "branch": "main", "commit": "a51c2d063c5377ee9e58c5f9cda7c7436787be72" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "5218ea75e635df78a807bc9d5a7162594fb76d02" }, + "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, "mini.animate": { "branch": "main", "commit": "b0978ee3dd0dafd644d0bc6c37c396dbe8658342" }, "mini.bracketed": { "branch": "main", "commit": "ac93e3d6df596c750200aa8529fd352ec91bbad2" }, "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, @@ -38,7 +38,7 @@ "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, "mini.starter": { "branch": "main", "commit": "c7e027558477838eac7109d8576ff1f2d9804845" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "7951701fd21291ac473ea92d3fd57ec5c8bf10bb" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "e62babc62c7f8de579ad69d0a5d2613bff864126" }, "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, "neodev.nvim": { "branch": "main", "commit": "c2546d7456071308accc30e59fab24b1065ae4f6" }, "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, @@ -52,7 +52,7 @@ "nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "5b39919a2947b1266b3aa34d0b0b14c35523bc69" }, + "nvim-spectre": { "branch": "master", "commit": "411cee67fe3f8242023eb8d9edafefbbfb2d06f1" }, "nvim-spider": { "branch": "main", "commit": "2762267825b575bcd27a50560e1098679f120007" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, "nvim-treesitter": { "branch": "master", "commit": "1e5576fa0165a222529777731a3257343047f916" }, @@ -65,13 +65,13 @@ "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, - "plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" }, + "plenary.nvim": { "branch": "master", "commit": "0dbe561ae023f02c2fb772b879e905055b939ce3" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "5359e74291164fcaeaaecdea9ba753ad54eb53d0" }, + "refactoring.nvim": { "branch": "master", "commit": "2cfd6ddb0acece95d9658560ae9740b98ef70dbb" }, "semshi": { "branch": "master", "commit": "8047086306b1951e741f519f53d293d8b4b37f1a" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, - "ssr.nvim": { "branch": "main", "commit": "bc9c0d2dd765dafc1b8fecb28d0a317e7913b81f" }, + "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, @@ -80,8 +80,8 @@ "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, "trouble.nvim": { "branch": "main", "commit": "40aad004f53ae1d1ba91bcc5c29d59f07c5f01d3" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, - "venv-selector.nvim": { "branch": "main", "commit": "cc312074371aff5b0d8d481b80c9c4de2a5287d7" }, - "vim-illuminate": { "branch": "master", "commit": "5ed17582a8e97bf0a0c617c3cf762e98f87b9859" }, + "venv-selector.nvim": { "branch": "main", "commit": "3e6eac9a883654157fdc11dcb65db48db4194127" }, + "vim-illuminate": { "branch": "master", "commit": "76f28e858f1caae87bfa45fb4fd09e4b053fc45b" }, "vim-matchup": { "branch": "master", "commit": "582cbc8c2dc311deb7a03f7d505d52544c36d4b6" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, From 0bf70aa49d5c8a01b45292b17cb8efa2bddc327e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 25 Aug 2023 10:42:42 +0200 Subject: [PATCH 1463/2080] Tune i3status-rs --- modules/home/wm/i3.nix | 167 +++++++++++++++++++++-------------------- 1 file changed, 84 insertions(+), 83 deletions(-) diff --git a/modules/home/wm/i3.nix b/modules/home/wm/i3.nix index ee268ca8..4ce36763 100644 --- a/modules/home/wm/i3.nix +++ b/modules/home/wm/i3.nix @@ -2,7 +2,8 @@ let mod = "Mod1"; -in { +in +{ # https://github.com/srid/nix-config/blob/705a70c094da53aa50cf560179b973529617eb31/nix/home/i3.nix#L11 # https://nix-community.github.io/home-manager/options.html#opt-xsession.windowManager.i3.config xsession.windowManager.i3 = { @@ -24,7 +25,7 @@ in { # }; window.titlebar = false; fonts = { - names = ["JetBrainsMono Nerd Font"]; + names = [ "JetBrainsMono Nerd Font" ]; size = 12.0; }; # press two times the same workspace change to go back @@ -111,43 +112,43 @@ in { }; }; bars = [{ - colors = { - background = "#282A36"; - statusline = "#F8F8F2"; - separator = "#44475A"; - focusedWorkspace = { - background = "#44475A"; - border = "#44475A"; - text = "#F8F8F2"; - }; - activeWorkspace = { - background = "#44475A"; - border = "#282A36"; - text = "#F8F8F2"; - }; - inactiveWorkspace = { - background = "#282A36"; - border = "#282A36"; - text = "#BFBFBF"; - }; - urgentWorkspace = { - background = "#FF5555"; - border = "#FF5555"; - text = "#F8F8F2"; - }; - bindingMode = { - background = "#FF5555"; - border = "#FF5555"; - text = "#F8F8F2"; - }; - }; - fonts = { - names = ["JetBrainsMono Nerd Font"]; - size = 12.0; + colors = { + background = "#282A36"; + statusline = "#F8F8F2"; + separator = "#44475A"; + focusedWorkspace = { + background = "#44475A"; + border = "#44475A"; + text = "#F8F8F2"; + }; + activeWorkspace = { + background = "#44475A"; + border = "#282A36"; + text = "#F8F8F2"; + }; + inactiveWorkspace = { + background = "#282A36"; + border = "#282A36"; + text = "#BFBFBF"; + }; + urgentWorkspace = { + background = "#FF5555"; + border = "#FF5555"; + text = "#F8F8F2"; + }; + bindingMode = { + background = "#FF5555"; + border = "#FF5555"; + text = "#F8F8F2"; }; - position = "bottom"; - statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-bottom.toml"; - }]; + }; + fonts = { + names = [ "JetBrainsMono Nerd Font" ]; + size = 12.0; + }; + position = "bottom"; + statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-bottom.toml"; + }]; }; extraConfig = '' # FIXME workspace naming does not work @@ -177,51 +178,51 @@ in { # https://github.com/greshake/i3status-rust programs.i3status-rust = { - enable = true; - bars = { - bottom = { - theme = "dracula"; - icons = "awesome5"; - blocks = [ - { - block = "custom"; - command = "echo $(uname) $(uname -r)"; - interval = "once"; - } - { - block = "temperature"; - collapsed = false; - chip = "k10temp-pci-00c3"; - format = "CPU: {average} avg, {max} max"; - interval = 10; - } - { - block = "custom"; - command = "echo $(liquidctl --match 'D5 Next' status | grep -e speed -e temp | awk '{printf \"%s \", substr($0, 28,4)}' | awk '{printf \" %s %s\", substr($0,0,4), substr($0,5,5)}')"; - interval = 5; - } - {block = "memory";} - { - block = "disk_space"; - format = "{icon} {used}/{total} ({available} free)"; - } - {block = "load";} - {block = "cpu";} - {block = "net";} - # { - # block = "networkmanager"; - # device_format = "{icon}{ap}{ips}"; - # on_click = "${pkgs.kitty}/bin/kitty -e nmtui"; - # } - { - block = "time"; - format = "%F %A %R"; - timezone = "Europe/Paris"; - locale = "fr_FR"; - } - ]; - }; - }; + enable = true; + bars = { + bottom = { + theme = "dracula"; + icons = "awesome5"; + blocks = [ + { + block = "custom"; + command = "echo $(uname) $(uname -r)"; + interval = "once"; + } + { + block = "temperature"; + #collapsed = false; + chip = "k10temp-pci-00c3"; + format = "CPU: {average} avg, {max} max"; + interval = 10; + } + { + block = "custom"; + command = "echo $(liquidctl --match 'D5 Next' status | grep -e speed -e temp | awk '{printf \"%s \", substr($0, 28,4)}' | awk '{printf \" %s %s\", substr($0,0,4), substr($0,5,5)}')"; + interval = 5; + } + { block = "memory"; } + { + block = "disk_space"; + format = "{icon} {used}/{total} ({available} free)"; + } + { block = "load"; } + { block = "cpu"; } + { block = "net"; } + # { + # block = "networkmanager"; + # device_format = "{icon}{ap}{ips}"; + # on_click = "${pkgs.kitty}/bin/kitty -e nmtui"; + # } + { + block = "time"; + format = "%F %A %R"; + timezone = "Europe/Paris"; + # locale = "fr_FR"; + } + ]; + }; + }; }; # Install rofi launcher From 43d9b13eb9cb7c4ca16ca08df69ced50e7389f4a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 25 Aug 2023 10:43:12 +0200 Subject: [PATCH 1464/2080] lazyvim: disable docker extra --- lazyvim/nvim/lua/config/lazy.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 9ea021bd..ab444b3a 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -14,7 +14,7 @@ require("lazy").setup({ -- better copy/paste { import = "lazyvim.plugins.extras.coding.yanky" }, -- support more languages - { import = "lazyvim.plugins.extras.lang.docker" }, + -- { import = "lazyvim.plugins.extras.lang.docker" }, { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.lang.python" }, -- Semantic highlighting for python From e241fa5f98913ef776f83935d72fb88f7adca85c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 25 Aug 2023 11:08:05 +0200 Subject: [PATCH 1465/2080] neovim: add more requirements --- home/main.nix | 1 - home/neovim-nightly.nix | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 801421d8..418a7d90 100644 --- a/home/main.nix +++ b/home/main.nix @@ -18,7 +18,6 @@ # https://github.com/malob/nixpkgs/blob/d930a2e7749248a0b0af7d025d667030011fa7b8/home/packages.nix # some basics curl - gcc wget # Cool stuff diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index 0dabb388..cc9a893a 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -48,6 +48,10 @@ in pylint qemu stylua + # building treesitter stuff in nvim + gcc + # yanky sqlite support in nvim + sqlite # LSP servers that are installed globally nodePackages.yaml-language-server From a786a5ed2c0f01036a2e70b1b02aa51ccef33858 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 25 Aug 2023 11:08:30 +0200 Subject: [PATCH 1466/2080] i3: remove some broken customisation --- modules/home/wm/i3.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/home/wm/i3.nix b/modules/home/wm/i3.nix index 4ce36763..5372c4c7 100644 --- a/modules/home/wm/i3.nix +++ b/modules/home/wm/i3.nix @@ -193,7 +193,7 @@ in block = "temperature"; #collapsed = false; chip = "k10temp-pci-00c3"; - format = "CPU: {average} avg, {max} max"; + # format = "CPU: {average} avg, {max} max"; interval = 10; } { @@ -204,7 +204,7 @@ in { block = "memory"; } { block = "disk_space"; - format = "{icon} {used}/{total} ({available} free)"; + # format = "\${icon} \${used}/\${total} (\${available} free)"; } { block = "load"; } { block = "cpu"; } @@ -216,7 +216,7 @@ in # } { block = "time"; - format = "%F %A %R"; + # format = "%F %A %R"; timezone = "Europe/Paris"; # locale = "fr_FR"; } From c69f8725ee7daf21f64dd6acaa291696287e016c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 25 Aug 2023 11:17:41 +0200 Subject: [PATCH 1467/2080] neovim: sqlite for yanky is still broken --- home/neovim-nightly.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix index cc9a893a..c66fc016 100644 --- a/home/neovim-nightly.nix +++ b/home/neovim-nightly.nix @@ -17,6 +17,14 @@ in vimAlias = true; vimdiffAlias = true; viAlias = true; + # XXX: only for nixos, for https://github.com/kkharji/sqlite.lua + # FIXME: breaking using non managed lazyvim setup + # plugins = [ + # { + # plugin = pkgs.vimPlugins.sqlite-lua; + # config = "let g:sqlite_clib_path = '${pkgs.sqlite.out}/lib/libsqlite3.so'"; + # } + # ]; }; home.packages = with pkgs; [ luajit From 5a2682bcc494edc0f203320e54572e793df73a91 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 4 Sep 2023 09:35:30 +0200 Subject: [PATCH 1468/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f' (2023-08-15) → 'github:nix-community/home-manager/5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c' (2023-08-28) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/83d68ba72f3308b5c90b12fb40044c870903e6ee' (2023-08-23) → 'github:nix-community/neovim-nightly-overlay/2c5e3681c5d112673c7be84fffcaedae0b21b4fc' (2023-09-04) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) → 'github:hercules-ci/flake-parts/7f53fdb7bdc5bb237da7fefef12d099e4fd611ca' (2023-09-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/6462ee1c10f9f1aa66ffc4d4fe1b7b3d9f0f91af?dir=contrib' (2023-08-22) → 'github:neovim/neovim/c50951a4d0cf480aa138a2ed2bd2deedebeb0dec?dir=contrib' (2023-09-03) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/0b07d4957ee1bd7fd3bdfd12db5f361bd70175a6' (2023-08-20) → 'github:NixOS/nixpkgs/d816b5ab44187a2dd84806630ce77a733724f95f' (2023-09-03) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/fc944919f743bb22379dddf18dcb72db6cff84aa' (2023-08-23) → 'github:NixOS/nixpkgs/9075cba53e86dc318d159aee55dc9a7c9a4829c1' (2023-09-02) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/d540c6348227dff41a708db5c0b70cc3018080ea' (2023-08-24) → 'github:nixos/nixpkgs/00cc1bbf20f8eb85b537f9f10b41a311f0e01e3e' (2023-09-03) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/b85ed9dcbf187b909ef7964774f8847d554fab3b' (2023-08-22) → 'github:nixos/nixpkgs/e56990880811a451abd32515698c712788be5720' (2023-09-02) • Updated input 'nur': 'github:nix-community/NUR/ae1d1eddea079e549d2cb3b408090879feb17dec' (2023-08-25) → 'github:nix-community/NUR/e73f99265813fec5e5211d10059e2352e4dfee93' (2023-09-04) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 3188cc1d..608cccca 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1690933134, - "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", + "lastModified": 1693611461, + "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", + "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", "type": "github" }, "original": { @@ -181,11 +181,11 @@ ] }, "locked": { - "lastModified": 1692099905, - "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", + "lastModified": 1693208669, + "narHash": "sha256-hHFaaUsZ860wvppPeiu7nJn/nXZjJfnqAQEu9SPFE9I=", "owner": "nix-community", "repo": "home-manager", - "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", + "rev": "5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1692744130, - "narHash": "sha256-Iod6+KGeWnX1SV4owXpSoC17iImCJjTq2iqEp6IRBZc=", + "lastModified": 1693778426, + "narHash": "sha256-Z8bQlIC/t3X+6T46SywO7XZY6nS1R4/Gg0wvwIu1rA0=", "owner": "neovim", "repo": "neovim", - "rev": "6462ee1c10f9f1aa66ffc4d4fe1b7b3d9f0f91af", + "rev": "c50951a4d0cf480aa138a2ed2bd2deedebeb0dec", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1692749096, - "narHash": "sha256-XyFSBw3WMf5cTG9ImL6S/v9Aoawr38h/Fr1XIi7peEs=", + "lastModified": 1693785859, + "narHash": "sha256-VUJWICqQ1BqW0rXXMTipsEtfEHdg5D30fI/0NigwXqw=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "83d68ba72f3308b5c90b12fb40044c870903e6ee", + "rev": "2c5e3681c5d112673c7be84fffcaedae0b21b4fc", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1692873956, - "narHash": "sha256-iSv/8qZhUKviiWKKfOXKtyA6CmzA2Ln/cH3PZLBCZIA=", + "lastModified": 1693725722, + "narHash": "sha256-PJFNgOpNqrsafMgNuca8olo6ugxIFeQOBBiNtyq2FXA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d540c6348227dff41a708db5c0b70cc3018080ea", + "rev": "00cc1bbf20f8eb85b537f9f10b41a311f0e01e3e", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1692734709, - "narHash": "sha256-SCFnyHCyYjwEmgUsHDDuU0TsbVMKeU1vwkR+r7uS2Rg=", + "lastModified": 1693663421, + "narHash": "sha256-ImMIlWE/idjcZAfxKK8sQA7A1Gi/O58u5/CJA+mxvl8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b85ed9dcbf187b909ef7964774f8847d554fab3b", + "rev": "e56990880811a451abd32515698c712788be5720", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692557222, - "narHash": "sha256-TCOtZaioLf/jTEgfa+nyg0Nwq5Uc610Z+OFV75yUgGw=", + "lastModified": 1693714546, + "narHash": "sha256-3EMJZeGSZT6pD1eNwI/6Yc0R4rxklNvJ2SDFcsCnjpM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0b07d4957ee1bd7fd3bdfd12db5f361bd70175a6", + "rev": "d816b5ab44187a2dd84806630ce77a733724f95f", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1692794066, - "narHash": "sha256-H0aG8r16dj0x/Wz6wQhQxc9V7AsObOiHPaKxQgH6Y08=", + "lastModified": 1693636127, + "narHash": "sha256-ZlS/lFGzK7BJXX2YVGnP3yZi3T9OLOEtBCyMJsb91U8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc944919f743bb22379dddf18dcb72db6cff84aa", + "rev": "9075cba53e86dc318d159aee55dc9a7c9a4829c1", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1692949103, - "narHash": "sha256-kxHsJo/1MN6sdBCcFQu3J0Dtjpb54cRBBEByK5DXG5s=", + "lastModified": 1693810608, + "narHash": "sha256-Ws51RoLQFnX4BaWsW8ixstOfFq/Hp0c9KSUAHS2GPaY=", "owner": "nix-community", "repo": "NUR", - "rev": "ae1d1eddea079e549d2cb3b408090879feb17dec", + "rev": "e73f99265813fec5e5211d10059e2352e4dfee93", "type": "github" }, "original": { From 1c39a91449624441167b4249801dbb63ae045014 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 5 Sep 2023 17:23:18 +0200 Subject: [PATCH 1469/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/2c5e3681c5d112673c7be84fffcaedae0b21b4fc' (2023-09-04) → 'github:nix-community/neovim-nightly-overlay/ca9360374c9b7aa1fb03bee178ac1a0e57b059dd' (2023-09-05) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/c50951a4d0cf480aa138a2ed2bd2deedebeb0dec?dir=contrib' (2023-09-03) → 'github:neovim/neovim/65d3378009cf2b94e4a240d2c5c3d4d19fa7fc92?dir=contrib' (2023-09-04) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/d816b5ab44187a2dd84806630ce77a733724f95f' (2023-09-03) → 'github:NixOS/nixpkgs/3c15feef7770eb5500a4b8792623e2d6f598c9c1' (2023-09-04) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9075cba53e86dc318d159aee55dc9a7c9a4829c1' (2023-09-02) → 'github:NixOS/nixpkgs/da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc' (2023-09-03) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/00cc1bbf20f8eb85b537f9f10b41a311f0e01e3e' (2023-09-03) → 'github:nixos/nixpkgs/1e409aeb5a9798a36e1cca227b7f8b8f3176e04d' (2023-09-04) • Updated input 'nur': 'github:nix-community/NUR/e73f99265813fec5e5211d10059e2352e4dfee93' (2023-09-04) → 'github:nix-community/NUR/fc17dbe52350a3c4756a630a0d2dce0bc94de1a8' (2023-09-05) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 608cccca..52af898b 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1693778426, - "narHash": "sha256-Z8bQlIC/t3X+6T46SywO7XZY6nS1R4/Gg0wvwIu1rA0=", + "lastModified": 1693866351, + "narHash": "sha256-WHiGHAcjk05HFh5G73W2PIHqQn/uML+5sQ85aZaxBFI=", "owner": "neovim", "repo": "neovim", - "rev": "c50951a4d0cf480aa138a2ed2bd2deedebeb0dec", + "rev": "65d3378009cf2b94e4a240d2c5c3d4d19fa7fc92", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1693785859, - "narHash": "sha256-VUJWICqQ1BqW0rXXMTipsEtfEHdg5D30fI/0NigwXqw=", + "lastModified": 1693872576, + "narHash": "sha256-l7aLqDcKwLi+BrKGC2s7qRdfXtN4QRgSlGtR2duZYOw=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "2c5e3681c5d112673c7be84fffcaedae0b21b4fc", + "rev": "ca9360374c9b7aa1fb03bee178ac1a0e57b059dd", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1693725722, - "narHash": "sha256-PJFNgOpNqrsafMgNuca8olo6ugxIFeQOBBiNtyq2FXA=", + "lastModified": 1693815579, + "narHash": "sha256-fPnIQlr0DoH9Z1C3v7IL3OpzMsvODC3k3oGu69r38+Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "00cc1bbf20f8eb85b537f9f10b41a311f0e01e3e", + "rev": "1e409aeb5a9798a36e1cca227b7f8b8f3176e04d", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1693714546, - "narHash": "sha256-3EMJZeGSZT6pD1eNwI/6Yc0R4rxklNvJ2SDFcsCnjpM=", + "lastModified": 1693844670, + "narHash": "sha256-t69F2nBB8DNQUWHD809oJZJVE+23XBrth4QZuVd6IE0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d816b5ab44187a2dd84806630ce77a733724f95f", + "rev": "3c15feef7770eb5500a4b8792623e2d6f598c9c1", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1693636127, - "narHash": "sha256-ZlS/lFGzK7BJXX2YVGnP3yZi3T9OLOEtBCyMJsb91U8=", + "lastModified": 1693771906, + "narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9075cba53e86dc318d159aee55dc9a7c9a4829c1", + "rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1693810608, - "narHash": "sha256-Ws51RoLQFnX4BaWsW8ixstOfFq/Hp0c9KSUAHS2GPaY=", + "lastModified": 1693924894, + "narHash": "sha256-QPofGmNhIsdmt/GjvTnJWKJHYF3fShItFKe9GUhn1ak=", "owner": "nix-community", "repo": "NUR", - "rev": "e73f99265813fec5e5211d10059e2352e4dfee93", + "rev": "fc17dbe52350a3c4756a630a0d2dce0bc94de1a8", "type": "github" }, "original": { From 484a49b5fcc890d5cb4097dce183b956995c5e57 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 5 Sep 2023 17:26:43 +0200 Subject: [PATCH 1470/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e1243db1..2774f95f 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -16,21 +16,21 @@ "diffview.nvim": { "branch": "main", "commit": "e91110d2a7f8e2f667666aba6ea089ff823f8748" }, "dressing.nvim": { "branch": "master", "commit": "829bc80400651aea31b03d8fc9a99135512fe67a" }, "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, - "flash.nvim": { "branch": "main", "commit": "967117690bd677cb7b6a87f0bc0077d2c0be3a27" }, - "friendly-snippets": { "branch": "main", "commit": "377d45475b49e37460a902d6d569d2093d4037d0" }, - "gitsigns.nvim": { "branch": "main", "commit": "749267aaa863c30d721c9913699c5d94e0c07dd3" }, + "flash.nvim": { "branch": "main", "commit": "8a8e74922a383c253b7f92e042b749150140c8d1" }, + "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, + "gitsigns.nvim": { "branch": "main", "commit": "d927caa075df63bf301d92f874efb72fd22fd3b4" }, "gx.nvim": { "branch": "main", "commit": "b78478ce851f3e8bfaf828421316122e88d12cee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, - "incline.nvim": { "branch": "main", "commit": "c135bd7b4855dfb787f8e98caaf0a73679555be1" }, + "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, "indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "2997f467881ac4faa6f8c5e7065e3a672297c8ad" }, - "mason.nvim": { "branch": "main", "commit": "a51c2d063c5377ee9e58c5f9cda7c7436787be72" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "dfdd771b792fbb4bad8e057d72558255695aa1a7" }, + "mason.nvim": { "branch": "main", "commit": "ee6a7f179ebf8aa9da9d53b1cf1b57d292ea0182" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, - "mini.animate": { "branch": "main", "commit": "b0978ee3dd0dafd644d0bc6c37c396dbe8658342" }, + "mini.animate": { "branch": "main", "commit": "230140aa0b06af87c9d345573aab1aaf50d8b539" }, "mini.bracketed": { "branch": "main", "commit": "ac93e3d6df596c750200aa8529fd352ec91bbad2" }, "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, @@ -64,29 +64,29 @@ "octo.nvim": { "branch": "master", "commit": "22328c578bc013fa4b0cef3d00af35efe0c0f256" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, - "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, + "playground": { "branch": "master", "commit": "429f3e76cbb1c59fe000b690f7a5bea617b890c0" }, "plenary.nvim": { "branch": "master", "commit": "0dbe561ae023f02c2fb772b879e905055b939ce3" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "2cfd6ddb0acece95d9658560ae9740b98ef70dbb" }, + "refactoring.nvim": { "branch": "master", "commit": "2ec9bc0fb5f3c8c6a0f776f0159dd2a3b1663554" }, "semshi": { "branch": "master", "commit": "8047086306b1951e741f519f53d293d8b4b37f1a" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "2d92125620417fbea82ec30303823e3cd69e90e8" }, + "telescope.nvim": { "branch": "master", "commit": "20a37e43bb43c74c6091f9fea6551af0964ad45a" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, - "trouble.nvim": { "branch": "main", "commit": "40aad004f53ae1d1ba91bcc5c29d59f07c5f01d3" }, + "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, + "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, - "venv-selector.nvim": { "branch": "main", "commit": "3e6eac9a883654157fdc11dcb65db48db4194127" }, + "venv-selector.nvim": { "branch": "main", "commit": "89a40a7145347fba00604e5ca4b4f75a7ca4397a" }, "vim-illuminate": { "branch": "master", "commit": "76f28e858f1caae87bfa45fb4fd09e4b053fc45b" }, - "vim-matchup": { "branch": "master", "commit": "582cbc8c2dc311deb7a03f7d505d52544c36d4b6" }, + "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "95c2f006ea6eaed2b2d8b8b4943b8fcf13faf03f" }, + "yanky.nvim": { "branch": "main", "commit": "ef70e4e44095a17ab8611cb6630b727ccee0a271" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } From 1d27229ec6b46c213628122bffcc2c639f2f9844 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 6 Sep 2023 09:25:03 +0200 Subject: [PATCH 1471/2080] lazyvim keymap: gw remap got removed --- lazyvim/nvim/lua/config/keymaps.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/lazyvim/nvim/lua/config/keymaps.lua b/lazyvim/nvim/lua/config/keymaps.lua index 0395d9a7..26be0170 100644 --- a/lazyvim/nvim/lua/config/keymaps.lua +++ b/lazyvim/nvim/lua/config/keymaps.lua @@ -16,6 +16,3 @@ keymap.set("c", "<C-E>", "<END>") -- Commenting is done using https://github.com/echasnovski/mini.comment -- use gc in normal/visual mode -- use gcc to toggle current line - --- Restore 'gw' to default behavior. -keymap.del({ "n", "x" }, "gw") From 44b3d0356f05541d770deaa0f0b344e61315228b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 6 Sep 2023 09:25:23 +0200 Subject: [PATCH 1472/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/ca9360374c9b7aa1fb03bee178ac1a0e57b059dd' (2023-09-05) → 'github:nix-community/neovim-nightly-overlay/14defe836200c45acf14f3616d7ba20959028cf8' (2023-09-06) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/65d3378009cf2b94e4a240d2c5c3d4d19fa7fc92?dir=contrib' (2023-09-04) → 'github:neovim/neovim/2ef7b6a433c61837bcef0fca297a665551835423?dir=contrib' (2023-09-05) • Updated input 'nur': 'github:nix-community/NUR/fc17dbe52350a3c4756a630a0d2dce0bc94de1a8' (2023-09-05) → 'github:nix-community/NUR/ec654ca68cb8f588e6a8e02e007e70ba325a6fd9' (2023-09-06) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 52af898b..cbcf508b 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1693866351, - "narHash": "sha256-WHiGHAcjk05HFh5G73W2PIHqQn/uML+5sQ85aZaxBFI=", + "lastModified": 1693954768, + "narHash": "sha256-DIyHgdfhmftTN2aHVEmJ1q/W2o0Slild0McAf4sEa8U=", "owner": "neovim", "repo": "neovim", - "rev": "65d3378009cf2b94e4a240d2c5c3d4d19fa7fc92", + "rev": "2ef7b6a433c61837bcef0fca297a665551835423", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1693872576, - "narHash": "sha256-l7aLqDcKwLi+BrKGC2s7qRdfXtN4QRgSlGtR2duZYOw=", + "lastModified": 1693958686, + "narHash": "sha256-UgdB+EXYbi90vm2fam4tYgY9hYGwxSk0sxG96jIyeg4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ca9360374c9b7aa1fb03bee178ac1a0e57b059dd", + "rev": "14defe836200c45acf14f3616d7ba20959028cf8", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1693924894, - "narHash": "sha256-QPofGmNhIsdmt/GjvTnJWKJHYF3fShItFKe9GUhn1ak=", + "lastModified": 1693982009, + "narHash": "sha256-VgIXvE2bDqkpyuMIwlA2dJwLvSbEONsix5Btj52K1uU=", "owner": "nix-community", "repo": "NUR", - "rev": "fc17dbe52350a3c4756a630a0d2dce0bc94de1a8", + "rev": "ec654ca68cb8f588e6a8e02e007e70ba325a6fd9", "type": "github" }, "original": { From 59e069596c80f640bb4d5806860ff46c524b3b84 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 6 Sep 2023 09:27:47 +0200 Subject: [PATCH 1473/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 2774f95f..87164c87 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -80,7 +80,7 @@ "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, - "venv-selector.nvim": { "branch": "main", "commit": "89a40a7145347fba00604e5ca4b4f75a7ca4397a" }, + "venv-selector.nvim": { "branch": "main", "commit": "343058bcec7e47f27a08755f6185d6f805a2c64b" }, "vim-illuminate": { "branch": "master", "commit": "76f28e858f1caae87bfa45fb4fd09e4b053fc45b" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From cfe4f20087da34e2cbca4ac424d5ec87304c7899 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 6 Sep 2023 09:40:28 +0200 Subject: [PATCH 1474/2080] Joplin desktop broke on macOS, back to using homebrew --- home/main.nix | 2 +- machines/Baptistes-MBP/default.nix | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 418a7d90..115d0aa7 100644 --- a/home/main.nix +++ b/home/main.nix @@ -46,7 +46,6 @@ # joplin # nodePackages.joplin # nodePackages_latest.joplin - joplin-desktop # Useful nix related tools # cachix # adding/managing alternative binary caches hosted by Cachix @@ -61,6 +60,7 @@ gparted # Mail khal + joplin-desktop liquidctl llvm lm_sensors diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index b1781091..ab669bd3 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -33,6 +33,7 @@ "alfred" # XXX: install from pkgs does not work "drawio" + "joplin" # Clipboard manager "maccy" "mumble" From 10a624f90203f3d40d26f5ac12bd0b55740721cb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 6 Sep 2023 11:11:37 +0200 Subject: [PATCH 1475/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/ec654ca68cb8f588e6a8e02e007e70ba325a6fd9' (2023-09-06) → 'github:nix-community/NUR/179595aa7aff94fa1954d51b0af3cd3f2499d74e' (2023-09-06) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index cbcf508b..84f89cbb 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1693982009, - "narHash": "sha256-VgIXvE2bDqkpyuMIwlA2dJwLvSbEONsix5Btj52K1uU=", + "lastModified": 1693990099, + "narHash": "sha256-//4VDyKOXGb8vDHqINPBYdkYBGlpvY1D6C9wdu4Vy74=", "owner": "nix-community", "repo": "NUR", - "rev": "ec654ca68cb8f588e6a8e02e007e70ba325a6fd9", + "rev": "179595aa7aff94fa1954d51b0af3cd3f2499d74e", "type": "github" }, "original": { From aeb498408b55b72568f7729fdf6d7fbc4ce54a80 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 6 Sep 2023 15:31:33 +0200 Subject: [PATCH 1476/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/1e409aeb5a9798a36e1cca227b7f8b8f3176e04d' (2023-09-04) → 'github:nixos/nixpkgs/4077a0e4ac3356222bc1f0a070af7939c3098535' (2023-09-05) • Updated input 'nur': 'github:nix-community/NUR/179595aa7aff94fa1954d51b0af3cd3f2499d74e' (2023-09-06) → 'github:nix-community/NUR/aea25d13f8b3e93ca513c87adc4b89d715774146' (2023-09-06) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 84f89cbb..94b2f2fd 100644 --- a/flake.lock +++ b/flake.lock @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1693815579, - "narHash": "sha256-fPnIQlr0DoH9Z1C3v7IL3OpzMsvODC3k3oGu69r38+Y=", + "lastModified": 1693953029, + "narHash": "sha256-1+28KQl4YC4IBzKo/epvEyK5KH4MlgoYueJ8YwLGbOc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1e409aeb5a9798a36e1cca227b7f8b8f3176e04d", + "rev": "4077a0e4ac3356222bc1f0a070af7939c3098535", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1693990099, - "narHash": "sha256-//4VDyKOXGb8vDHqINPBYdkYBGlpvY1D6C9wdu4Vy74=", + "lastModified": 1694000701, + "narHash": "sha256-BId39YNl6kF3OBJfY8hSxfYw/cWEEdn2c0JwvZVafdo=", "owner": "nix-community", "repo": "NUR", - "rev": "179595aa7aff94fa1954d51b0af3cd3f2499d74e", + "rev": "aea25d13f8b3e93ca513c87adc4b89d715774146", "type": "github" }, "original": { From a02d01176dfbdcb9b9917c79fef04fd594ce1359 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 7 Sep 2023 09:53:22 +0200 Subject: [PATCH 1477/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/14defe836200c45acf14f3616d7ba20959028cf8' (2023-09-06) → 'github:nix-community/neovim-nightly-overlay/905095655893be07ce9ab90d5df83f2c1bc4e610' (2023-09-07) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/2ef7b6a433c61837bcef0fca297a665551835423?dir=contrib' (2023-09-05) → 'github:neovim/neovim/d27214331815324ea5762b5aa22996b9019085c6?dir=contrib' (2023-09-06) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc' (2023-09-03) → 'github:NixOS/nixpkgs/4077a0e4ac3356222bc1f0a070af7939c3098535' (2023-09-05) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/4077a0e4ac3356222bc1f0a070af7939c3098535' (2023-09-05) → 'github:nixos/nixpkgs/28579db3cab226d5499410147a7df571d7aa65b8' (2023-09-06) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e56990880811a451abd32515698c712788be5720' (2023-09-02) → 'github:nixos/nixpkgs/3c15feef7770eb5500a4b8792623e2d6f598c9c1' (2023-09-04) • Updated input 'nur': 'github:nix-community/NUR/aea25d13f8b3e93ca513c87adc4b89d715774146' (2023-09-06) → 'github:nix-community/NUR/31f7e623eae3f6dd1ae06c8a3bba6c51f9898133' (2023-09-07) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 94b2f2fd..e3ba262f 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1693954768, - "narHash": "sha256-DIyHgdfhmftTN2aHVEmJ1q/W2o0Slild0McAf4sEa8U=", + "lastModified": 1694022858, + "narHash": "sha256-y9AWJIDVGx9Q44Hd38k0Ta+RzHTwgcObYhCUqLdhxoI=", "owner": "neovim", "repo": "neovim", - "rev": "2ef7b6a433c61837bcef0fca297a665551835423", + "rev": "d27214331815324ea5762b5aa22996b9019085c6", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1693958686, - "narHash": "sha256-UgdB+EXYbi90vm2fam4tYgY9hYGwxSk0sxG96jIyeg4=", + "lastModified": 1694045044, + "narHash": "sha256-yUInc/OWpGlVDYYOMBRH1h8eRbqNnBUZHHp/3rgJg6E=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "14defe836200c45acf14f3616d7ba20959028cf8", + "rev": "905095655893be07ce9ab90d5df83f2c1bc4e610", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1693953029, - "narHash": "sha256-1+28KQl4YC4IBzKo/epvEyK5KH4MlgoYueJ8YwLGbOc=", + "lastModified": 1694022823, + "narHash": "sha256-Zc3UNZMVs0EEIL1yiZS4Xftbv9vg/fQCf2CobaYFLQg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4077a0e4ac3356222bc1f0a070af7939c3098535", + "rev": "28579db3cab226d5499410147a7df571d7aa65b8", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1693663421, - "narHash": "sha256-ImMIlWE/idjcZAfxKK8sQA7A1Gi/O58u5/CJA+mxvl8=", + "lastModified": 1693844670, + "narHash": "sha256-t69F2nBB8DNQUWHD809oJZJVE+23XBrth4QZuVd6IE0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e56990880811a451abd32515698c712788be5720", + "rev": "3c15feef7770eb5500a4b8792623e2d6f598c9c1", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1693771906, - "narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=", + "lastModified": 1693953029, + "narHash": "sha256-1+28KQl4YC4IBzKo/epvEyK5KH4MlgoYueJ8YwLGbOc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc", + "rev": "4077a0e4ac3356222bc1f0a070af7939c3098535", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694000701, - "narHash": "sha256-BId39YNl6kF3OBJfY8hSxfYw/cWEEdn2c0JwvZVafdo=", + "lastModified": 1694072270, + "narHash": "sha256-dITRX5yO0Q7rzHpCey1PI16+TyDuILUC9iofmcFatUs=", "owner": "nix-community", "repo": "NUR", - "rev": "aea25d13f8b3e93ca513c87adc4b89d715774146", + "rev": "31f7e623eae3f6dd1ae06c8a3bba6c51f9898133", "type": "github" }, "original": { From e0618b0d38ca65e3e2275277d6f6b3df64d7a435 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 7 Sep 2023 11:35:37 +0200 Subject: [PATCH 1478/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/31f7e623eae3f6dd1ae06c8a3bba6c51f9898133' (2023-09-07) → 'github:nix-community/NUR/2fc4b5686f999a7f44389a9ae0939843dce0d5de' (2023-09-07) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e3ba262f..b8ef5177 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694072270, - "narHash": "sha256-dITRX5yO0Q7rzHpCey1PI16+TyDuILUC9iofmcFatUs=", + "lastModified": 1694078736, + "narHash": "sha256-f0u8g8SOx3i0Gy6gcleEvCpO6LefK0PVUtJUXai3Fw4=", "owner": "nix-community", "repo": "NUR", - "rev": "31f7e623eae3f6dd1ae06c8a3bba6c51f9898133", + "rev": "2fc4b5686f999a7f44389a9ae0939843dce0d5de", "type": "github" }, "original": { From 39d8ff8c92c51bf27f2ef4ecdefcd00818bbccf6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 8 Sep 2023 15:11:39 +0200 Subject: [PATCH 1479/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/905095655893be07ce9ab90d5df83f2c1bc4e610' (2023-09-07) → 'github:nix-community/neovim-nightly-overlay/44cd51775a48189188769e98738630a9d7b306c7' (2023-09-08) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/d27214331815324ea5762b5aa22996b9019085c6?dir=contrib' (2023-09-06) → 'github:neovim/neovim/6a8b48e24cbe070846dd1d234553b3fdeb19460e?dir=contrib' (2023-09-07) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/3c15feef7770eb5500a4b8792623e2d6f598c9c1' (2023-09-04) → 'github:NixOS/nixpkgs/efd23a1c9ae8c574e2ca923c2b2dc336797f4cc4' (2023-09-06) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/4077a0e4ac3356222bc1f0a070af7939c3098535' (2023-09-05) → 'github:NixOS/nixpkgs/4f77ea639305f1de0a14d9d41eef83313360638c' (2023-09-07) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/28579db3cab226d5499410147a7df571d7aa65b8' (2023-09-06) → 'github:nixos/nixpkgs/9cf7c3ac863cca017dd4de65f41e1bdc297fa1fb' (2023-09-07) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/3c15feef7770eb5500a4b8792623e2d6f598c9c1' (2023-09-04) → 'github:nixos/nixpkgs/0bffda19b8af722f8069d09d8b6a24594c80b352' (2023-09-06) • Updated input 'nur': 'github:nix-community/NUR/2fc4b5686f999a7f44389a9ae0939843dce0d5de' (2023-09-07) → 'github:nix-community/NUR/f98e29d5f2406c4bfeca4d1003d4a95bca0b8ed8' (2023-09-08) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index b8ef5177..e9f22253 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1694022858, - "narHash": "sha256-y9AWJIDVGx9Q44Hd38k0Ta+RzHTwgcObYhCUqLdhxoI=", + "lastModified": 1694130713, + "narHash": "sha256-jZae7bEHY0a4QTEDY5EA4nfhSOsZ3G5a+9xO9IWFbhM=", "owner": "neovim", "repo": "neovim", - "rev": "d27214331815324ea5762b5aa22996b9019085c6", + "rev": "6a8b48e24cbe070846dd1d234553b3fdeb19460e", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1694045044, - "narHash": "sha256-yUInc/OWpGlVDYYOMBRH1h8eRbqNnBUZHHp/3rgJg6E=", + "lastModified": 1694131520, + "narHash": "sha256-3jOQRBp5hmAadITkmOo+ac8iBw5QdlX/+NOzyzMiiFc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "905095655893be07ce9ab90d5df83f2c1bc4e610", + "rev": "44cd51775a48189188769e98738630a9d7b306c7", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1694022823, - "narHash": "sha256-Zc3UNZMVs0EEIL1yiZS4Xftbv9vg/fQCf2CobaYFLQg=", + "lastModified": 1694060688, + "narHash": "sha256-z7GfMwbsxxrqgbph48rBPdqxlSchLiRQ5YX0uQCkCb0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "28579db3cab226d5499410147a7df571d7aa65b8", + "rev": "9cf7c3ac863cca017dd4de65f41e1bdc297fa1fb", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1693844670, - "narHash": "sha256-t69F2nBB8DNQUWHD809oJZJVE+23XBrth4QZuVd6IE0=", + "lastModified": 1693985761, + "narHash": "sha256-K5b+7j7Tt3+AqbWkcw+wMeqOAWyCD1MH26FPZyWXpdo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3c15feef7770eb5500a4b8792623e2d6f598c9c1", + "rev": "0bffda19b8af722f8069d09d8b6a24594c80b352", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1693844670, - "narHash": "sha256-t69F2nBB8DNQUWHD809oJZJVE+23XBrth4QZuVd6IE0=", + "lastModified": 1694032533, + "narHash": "sha256-I8cfCV/4JNJJ8KHOTxTU1EphKT8ARSb4s9pq99prYV0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3c15feef7770eb5500a4b8792623e2d6f598c9c1", + "rev": "efd23a1c9ae8c574e2ca923c2b2dc336797f4cc4", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1693953029, - "narHash": "sha256-1+28KQl4YC4IBzKo/epvEyK5KH4MlgoYueJ8YwLGbOc=", + "lastModified": 1694048570, + "narHash": "sha256-PEQptwFCVaJ+jLFJgrZll2shQ9VI/7xVhrCYkJo8iIw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4077a0e4ac3356222bc1f0a070af7939c3098535", + "rev": "4f77ea639305f1de0a14d9d41eef83313360638c", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694078736, - "narHash": "sha256-f0u8g8SOx3i0Gy6gcleEvCpO6LefK0PVUtJUXai3Fw4=", + "lastModified": 1694173527, + "narHash": "sha256-wfu/rPjyapZLe3afW6Zey/d2e0wqCHwYtyP8vWTNHrk=", "owner": "nix-community", "repo": "NUR", - "rev": "2fc4b5686f999a7f44389a9ae0939843dce0d5de", + "rev": "f98e29d5f2406c4bfeca4d1003d4a95bca0b8ed8", "type": "github" }, "original": { From e4a288b749984c80e098452ebe58316a42e7ca8a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 8 Sep 2023 17:42:03 +0200 Subject: [PATCH 1480/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 87164c87..86de8953 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -18,7 +18,7 @@ "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, "flash.nvim": { "branch": "main", "commit": "8a8e74922a383c253b7f92e042b749150140c8d1" }, "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, - "gitsigns.nvim": { "branch": "main", "commit": "d927caa075df63bf301d92f874efb72fd22fd3b4" }, + "gitsigns.nvim": { "branch": "main", "commit": "983f1a216cca1a079399ba050bc4b9ce130de83a" }, "gx.nvim": { "branch": "main", "commit": "b78478ce851f3e8bfaf828421316122e88d12cee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, @@ -65,7 +65,7 @@ "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "429f3e76cbb1c59fe000b690f7a5bea617b890c0" }, - "plenary.nvim": { "branch": "master", "commit": "0dbe561ae023f02c2fb772b879e905055b939ce3" }, + "plenary.nvim": { "branch": "master", "commit": "a56bf0071bf63d35274fdc4738bb1e8821cfd2ea" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "2ec9bc0fb5f3c8c6a0f776f0159dd2a3b1663554" }, @@ -75,12 +75,12 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "20a37e43bb43c74c6091f9fea6551af0964ad45a" }, + "telescope.nvim": { "branch": "master", "commit": "18f10f28007cb8b4d50324217349c3f568684be2" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, - "venv-selector.nvim": { "branch": "main", "commit": "343058bcec7e47f27a08755f6185d6f805a2c64b" }, + "venv-selector.nvim": { "branch": "main", "commit": "14d6e866070f759e9014a8053954f835294f56f9" }, "vim-illuminate": { "branch": "master", "commit": "76f28e858f1caae87bfa45fb4fd09e4b053fc45b" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From d6959b032093120aec4f890c1fed278ce9a5920f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 8 Sep 2023 17:42:18 +0200 Subject: [PATCH 1481/2080] vim: lower test width --- lazyvim/nvim/lua/config/options.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index e595cad8..623d85f2 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -24,8 +24,8 @@ opt.autoindent = false opt.wrap = true -- Set max line length and display column to show light length -opt.textwidth = 90 -opt.colorcolumn = "90" +opt.textwidth = 78 +opt.colorcolumn = "80" -- Disable mouse opt.mouse = "" From fb0cddb4b8d53bcf7dbcaf3c2db60114173fd6fa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 8 Sep 2023 17:42:26 +0200 Subject: [PATCH 1482/2080] macos: install ldapvi --- machines/Baptistes-MBP/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index ab669bd3..d894c953 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -24,6 +24,7 @@ "bitwarden-cli" "fetch-crl" + "ldapvi" "perltidy" "pyenv" "flake8" From 78bbec9df9b04a95b3bdfa403c1e3d43042fc1b8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 11 Sep 2023 09:42:10 +0200 Subject: [PATCH 1483/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/44cd51775a48189188769e98738630a9d7b306c7' (2023-09-08) → 'github:nix-community/neovim-nightly-overlay/92b2c211731505d9d80b0d0419ad2abbe274103a' (2023-09-11) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/6a8b48e24cbe070846dd1d234553b3fdeb19460e?dir=contrib' (2023-09-07) → 'github:neovim/neovim/af0684f0d578631dae7d857cd065d81288be3cf2?dir=contrib' (2023-09-10) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/efd23a1c9ae8c574e2ca923c2b2dc336797f4cc4' (2023-09-06) → 'github:NixOS/nixpkgs/78058d810644f5ed276804ce7ea9e82d92bee293' (2023-09-10) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/4f77ea639305f1de0a14d9d41eef83313360638c' (2023-09-07) → 'github:NixOS/nixpkgs/4c8cf44c5b9481a4f093f1df3b8b7ba997a7c760' (2023-09-10) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/9cf7c3ac863cca017dd4de65f41e1bdc297fa1fb' (2023-09-07) → 'github:nixos/nixpkgs/e20410d4224c6d5ae4acc9d492b4f5b443e90b86' (2023-09-10) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/0bffda19b8af722f8069d09d8b6a24594c80b352' (2023-09-06) → 'github:nixos/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08) • Updated input 'nur': 'github:nix-community/NUR/f98e29d5f2406c4bfeca4d1003d4a95bca0b8ed8' (2023-09-08) → 'github:nix-community/NUR/9fe1516cee70b95098a25f94bfb58f606180afa1' (2023-09-11) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index e9f22253..6cfe5221 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1694130713, - "narHash": "sha256-jZae7bEHY0a4QTEDY5EA4nfhSOsZ3G5a+9xO9IWFbhM=", + "lastModified": 1694382785, + "narHash": "sha256-h1zjxMn9DdBybhLHjiqqsxqfiwkFJiu8mk9L2NUValY=", "owner": "neovim", "repo": "neovim", - "rev": "6a8b48e24cbe070846dd1d234553b3fdeb19460e", + "rev": "af0684f0d578631dae7d857cd065d81288be3cf2", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1694131520, - "narHash": "sha256-3jOQRBp5hmAadITkmOo+ac8iBw5QdlX/+NOzyzMiiFc=", + "lastModified": 1694390640, + "narHash": "sha256-CbAWf1H3Yc5TIJ5rqud2+cK9H5ATIZlXxe3aJelhNqI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "44cd51775a48189188769e98738630a9d7b306c7", + "rev": "92b2c211731505d9d80b0d0419ad2abbe274103a", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1694060688, - "narHash": "sha256-z7GfMwbsxxrqgbph48rBPdqxlSchLiRQ5YX0uQCkCb0=", + "lastModified": 1694354325, + "narHash": "sha256-eBJfVzRio/YHoyk7PyYOntuFtRJXglW2hyeij6WUYKQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9cf7c3ac863cca017dd4de65f41e1bdc297fa1fb", + "rev": "e20410d4224c6d5ae4acc9d492b4f5b443e90b86", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1693985761, - "narHash": "sha256-K5b+7j7Tt3+AqbWkcw+wMeqOAWyCD1MH26FPZyWXpdo=", + "lastModified": 1694183432, + "narHash": "sha256-YyPGNapgZNNj51ylQMw9lAgvxtM2ai1HZVUu3GS8Fng=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0bffda19b8af722f8069d09d8b6a24594c80b352", + "rev": "db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1694032533, - "narHash": "sha256-I8cfCV/4JNJJ8KHOTxTU1EphKT8ARSb4s9pq99prYV0=", + "lastModified": 1694343207, + "narHash": "sha256-jWi7OwFxU5Owi4k2JmiL1sa/OuBCQtpaAesuj5LXC8w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "efd23a1c9ae8c574e2ca923c2b2dc336797f4cc4", + "rev": "78058d810644f5ed276804ce7ea9e82d92bee293", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1694048570, - "narHash": "sha256-PEQptwFCVaJ+jLFJgrZll2shQ9VI/7xVhrCYkJo8iIw=", + "lastModified": 1694304580, + "narHash": "sha256-5tIpNodDpEKT8mM/F5zCzWEAnidOg8eb1/x3SRaaBLs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4f77ea639305f1de0a14d9d41eef83313360638c", + "rev": "4c8cf44c5b9481a4f093f1df3b8b7ba997a7c760", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694173527, - "narHash": "sha256-wfu/rPjyapZLe3afW6Zey/d2e0wqCHwYtyP8vWTNHrk=", + "lastModified": 1694415188, + "narHash": "sha256-aYIEZ+83sDEDJJqhkJvAP6Wh0BRwQauZ08JVnbHPb1E=", "owner": "nix-community", "repo": "NUR", - "rev": "f98e29d5f2406c4bfeca4d1003d4a95bca0b8ed8", + "rev": "9fe1516cee70b95098a25f94bfb58f606180afa1", "type": "github" }, "original": { From 4e2f6b19113e0b3d3423caf769a97529939178f3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 11 Sep 2023 10:13:21 +0200 Subject: [PATCH 1484/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 86de8953..1edf95f4 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -18,7 +18,7 @@ "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, "flash.nvim": { "branch": "main", "commit": "8a8e74922a383c253b7f92e042b749150140c8d1" }, "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, - "gitsigns.nvim": { "branch": "main", "commit": "983f1a216cca1a079399ba050bc4b9ce130de83a" }, + "gitsigns.nvim": { "branch": "main", "commit": "fef5d90953f0a730483b44745fae5938ba8227f8" }, "gx.nvim": { "branch": "main", "commit": "b78478ce851f3e8bfaf828421316122e88d12cee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, @@ -26,8 +26,8 @@ "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "dfdd771b792fbb4bad8e057d72558255695aa1a7" }, - "mason.nvim": { "branch": "main", "commit": "ee6a7f179ebf8aa9da9d53b1cf1b57d292ea0182" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "20fd7f50f34b59031a7c3bbc2c207f4f60037628" }, + "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, "mini.animate": { "branch": "main", "commit": "230140aa0b06af87c9d345573aab1aaf50d8b539" }, @@ -50,7 +50,7 @@ "nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" }, "nvim-lspconfig": { "branch": "master", "commit": "a59d74e12340242c0735666fb2e91afdbe6f2496" }, "nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, - "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, + "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "411cee67fe3f8242023eb8d9edafefbbfb2d06f1" }, "nvim-spider": { "branch": "main", "commit": "2762267825b575bcd27a50560e1098679f120007" }, @@ -65,7 +65,7 @@ "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "429f3e76cbb1c59fe000b690f7a5bea617b890c0" }, - "plenary.nvim": { "branch": "master", "commit": "a56bf0071bf63d35274fdc4738bb1e8821cfd2ea" }, + "plenary.nvim": { "branch": "master", "commit": "0232372b906f275f76ac42029eba25eaf95e76b9" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "2ec9bc0fb5f3c8c6a0f776f0159dd2a3b1663554" }, @@ -74,8 +74,8 @@ "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, - "telescope.nvim": { "branch": "master", "commit": "18f10f28007cb8b4d50324217349c3f568684be2" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, + "telescope.nvim": { "branch": "master", "commit": "a19770625aed49ad2a9f591a5e3946707f7359f6" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, From ef385a112a0e305913248daba0a95f5eabe3bbb9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 12 Sep 2023 09:21:26 +0200 Subject: [PATCH 1485/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/511177ffe8226c78c9cf6a92a7b5f2df3684956b' (2023-08-17) → 'github:lnl7/nix-darwin/4496ab26628c5f43d2a5c577a06683c753e32fe2' (2023-09-12) • Updated input 'home-manager': 'github:nix-community/home-manager/5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c' (2023-08-28) → 'github:nix-community/home-manager/9787dffff5d315c9593d3f9fb0f9bf2097e1b57b' (2023-09-11) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/92b2c211731505d9d80b0d0419ad2abbe274103a' (2023-09-11) → 'github:nix-community/neovim-nightly-overlay/d68c4f9302b2a7fb5c9dedc3cfa3ac9bd33fb0c6' (2023-09-12) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/af0684f0d578631dae7d857cd065d81288be3cf2?dir=contrib' (2023-09-10) → 'github:neovim/neovim/aab06edc63c3dfbd99e0c803c6834bf771318c42?dir=contrib' (2023-09-11) • Updated input 'nur': 'github:nix-community/NUR/9fe1516cee70b95098a25f94bfb58f606180afa1' (2023-09-11) → 'github:nix-community/NUR/975c2d27812c8e91f23c3ba00002f3ac8963b844' (2023-09-12) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 6cfe5221..fb59b02f 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1692248770, - "narHash": "sha256-tZeFpETKQGbgnaSIO1AGWD27IyTcBm4D+A9d7ulQ4NM=", + "lastModified": 1694497842, + "narHash": "sha256-z03v/m0OwcLBok97KcUgMl8ZFw5Xwsi2z+n6nL7JdXY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "511177ffe8226c78c9cf6a92a7b5f2df3684956b", + "rev": "4496ab26628c5f43d2a5c577a06683c753e32fe2", "type": "github" }, "original": { @@ -181,11 +181,11 @@ ] }, "locked": { - "lastModified": 1693208669, - "narHash": "sha256-hHFaaUsZ860wvppPeiu7nJn/nXZjJfnqAQEu9SPFE9I=", + "lastModified": 1694465129, + "narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=", "owner": "nix-community", "repo": "home-manager", - "rev": "5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c", + "rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1694382785, - "narHash": "sha256-h1zjxMn9DdBybhLHjiqqsxqfiwkFJiu8mk9L2NUValY=", + "lastModified": 1694476120, + "narHash": "sha256-4bBsnmhCWb9Z4V4ZUIcsrx9iyo4grIGTbY3q2HnG1X8=", "owner": "neovim", "repo": "neovim", - "rev": "af0684f0d578631dae7d857cd065d81288be3cf2", + "rev": "aab06edc63c3dfbd99e0c803c6834bf771318c42", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1694390640, - "narHash": "sha256-CbAWf1H3Yc5TIJ5rqud2+cK9H5ATIZlXxe3aJelhNqI=", + "lastModified": 1694477020, + "narHash": "sha256-NncWOD+5bW4wCxO22K2npYNqOYvOSpye837gMB/UjpI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "92b2c211731505d9d80b0d0419ad2abbe274103a", + "rev": "d68c4f9302b2a7fb5c9dedc3cfa3ac9bd33fb0c6", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694415188, - "narHash": "sha256-aYIEZ+83sDEDJJqhkJvAP6Wh0BRwQauZ08JVnbHPb1E=", + "lastModified": 1694502934, + "narHash": "sha256-zbjFZ1gDLwwy2Y/9eKan7aL0ux1f0sVozt90rNH0PvY=", "owner": "nix-community", "repo": "NUR", - "rev": "9fe1516cee70b95098a25f94bfb58f606180afa1", + "rev": "975c2d27812c8e91f23c3ba00002f3ac8963b844", "type": "github" }, "original": { From 7c6c3d1922787734c27ba1d7a5806cc05f7e3233 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 12 Sep 2023 16:19:04 +0200 Subject: [PATCH 1486/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/4c8cf44c5b9481a4f093f1df3b8b7ba997a7c760' (2023-09-10) → 'github:NixOS/nixpkgs/9a74ffb2ca1fc91c6ccc48bd3f8cbc1501bf7b8a' (2023-09-11) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/e20410d4224c6d5ae4acc9d492b4f5b443e90b86' (2023-09-10) → 'github:nixos/nixpkgs/4610292e25a414c2b111a7d99075cf1683e5a359' (2023-09-11) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08) → 'github:nixos/nixpkgs/3a2786eea085f040a66ecde1bc3ddc7099f6dbeb' (2023-09-11) • Updated input 'nur': 'github:nix-community/NUR/975c2d27812c8e91f23c3ba00002f3ac8963b844' (2023-09-12) → 'github:nix-community/NUR/362a0729ce80a624b3a0a215ac24c7506db0564f' (2023-09-12) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index fb59b02f..fcdc57c8 100644 --- a/flake.lock +++ b/flake.lock @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1694354325, - "narHash": "sha256-eBJfVzRio/YHoyk7PyYOntuFtRJXglW2hyeij6WUYKQ=", + "lastModified": 1694441845, + "narHash": "sha256-ddMK+MKncPuPgMzsR72ndx4VObAjnM+R73+F6wL0aPs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e20410d4224c6d5ae4acc9d492b4f5b443e90b86", + "rev": "4610292e25a414c2b111a7d99075cf1683e5a359", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1694183432, - "narHash": "sha256-YyPGNapgZNNj51ylQMw9lAgvxtM2ai1HZVUu3GS8Fng=", + "lastModified": 1694422566, + "narHash": "sha256-lHJ+A9esOz9vln/3CJG23FV6Wd2OoOFbDeEs4cMGMqc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b", + "rev": "3a2786eea085f040a66ecde1bc3ddc7099f6dbeb", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1694304580, - "narHash": "sha256-5tIpNodDpEKT8mM/F5zCzWEAnidOg8eb1/x3SRaaBLs=", + "lastModified": 1694426803, + "narHash": "sha256-osusXQo0zkEqs502SNMffsKp1O9evpDM54A37MuyT2Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4c8cf44c5b9481a4f093f1df3b8b7ba997a7c760", + "rev": "9a74ffb2ca1fc91c6ccc48bd3f8cbc1501bf7b8a", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694502934, - "narHash": "sha256-zbjFZ1gDLwwy2Y/9eKan7aL0ux1f0sVozt90rNH0PvY=", + "lastModified": 1694515588, + "narHash": "sha256-6zRUU7L3xhkKim91m0aaSld5eoiF2j1PyUagcw0DoDI=", "owner": "nix-community", "repo": "NUR", - "rev": "975c2d27812c8e91f23c3ba00002f3ac8963b844", + "rev": "362a0729ce80a624b3a0a215ac24c7506db0564f", "type": "github" }, "original": { From 6f681b37af5fd0eefb59cd35cba50efe0f8d1f0a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 13 Sep 2023 11:22:54 +0200 Subject: [PATCH 1487/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/d68c4f9302b2a7fb5c9dedc3cfa3ac9bd33fb0c6' (2023-09-12) → 'github:nix-community/neovim-nightly-overlay/e66f37fcd1e013c7925b26aed7cf019294edcb27' (2023-09-13) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/aab06edc63c3dfbd99e0c803c6834bf771318c42?dir=contrib' (2023-09-11) → 'github:neovim/neovim/1f551e068f728ff38bd7fdcfa3a6daf362bab9da?dir=contrib' (2023-09-12) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/78058d810644f5ed276804ce7ea9e82d92bee293' (2023-09-10) → 'github:NixOS/nixpkgs/1ee50a29288f768c55211963be8040671814986d' (2023-09-12) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9a74ffb2ca1fc91c6ccc48bd3f8cbc1501bf7b8a' (2023-09-11) → 'github:NixOS/nixpkgs/e5f018cf150e29aac26c61dac0790ea023c46b24' (2023-09-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/4610292e25a414c2b111a7d99075cf1683e5a359' (2023-09-11) → 'github:nixos/nixpkgs/97b8d3eeb052824f240c19632824b5260a0e705a' (2023-09-12) • Updated input 'nur': 'github:nix-community/NUR/362a0729ce80a624b3a0a215ac24c7506db0564f' (2023-09-12) → 'github:nix-community/NUR/f939facb676b8552d11db25a70dd89d48cd8409f' (2023-09-13) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index fcdc57c8..1b4ef26b 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1694476120, - "narHash": "sha256-4bBsnmhCWb9Z4V4ZUIcsrx9iyo4grIGTbY3q2HnG1X8=", + "lastModified": 1694530540, + "narHash": "sha256-vDK+iO1nZjKE3xzAfeDBr2zKa3nBGvXrb4VfFxRFpLk=", "owner": "neovim", "repo": "neovim", - "rev": "aab06edc63c3dfbd99e0c803c6834bf771318c42", + "rev": "1f551e068f728ff38bd7fdcfa3a6daf362bab9da", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1694477020, - "narHash": "sha256-NncWOD+5bW4wCxO22K2npYNqOYvOSpye837gMB/UjpI=", + "lastModified": 1694563461, + "narHash": "sha256-ILJ9RnF0h3Lt7CZwxggfUB+enadTt24JNDyDHSwpvz0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d68c4f9302b2a7fb5c9dedc3cfa3ac9bd33fb0c6", + "rev": "e66f37fcd1e013c7925b26aed7cf019294edcb27", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1694441845, - "narHash": "sha256-ddMK+MKncPuPgMzsR72ndx4VObAjnM+R73+F6wL0aPs=", + "lastModified": 1694561237, + "narHash": "sha256-PkzDXGtJwYcgJTlGlTSTQ5i5EBCCd3B2K46EXT7sjVY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4610292e25a414c2b111a7d99075cf1683e5a359", + "rev": "97b8d3eeb052824f240c19632824b5260a0e705a", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1694343207, - "narHash": "sha256-jWi7OwFxU5Owi4k2JmiL1sa/OuBCQtpaAesuj5LXC8w=", + "lastModified": 1694501121, + "narHash": "sha256-uj7YWhs7FTv1slqb9Sj1+Q0dYtwQDC4URfOXB9XWKjs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "78058d810644f5ed276804ce7ea9e82d92bee293", + "rev": "1ee50a29288f768c55211963be8040671814986d", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1694426803, - "narHash": "sha256-osusXQo0zkEqs502SNMffsKp1O9evpDM54A37MuyT2Q=", + "lastModified": 1694499547, + "narHash": "sha256-R7xMz1Iia6JthWRHDn36s/E248WB1/je62ovC/dUVKI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9a74ffb2ca1fc91c6ccc48bd3f8cbc1501bf7b8a", + "rev": "e5f018cf150e29aac26c61dac0790ea023c46b24", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694515588, - "narHash": "sha256-6zRUU7L3xhkKim91m0aaSld5eoiF2j1PyUagcw0DoDI=", + "lastModified": 1694589145, + "narHash": "sha256-zmmWfCQvs3cltM3a18GV39ur0fanjknNJCI8zlAiby8=", "owner": "nix-community", "repo": "NUR", - "rev": "362a0729ce80a624b3a0a215ac24c7506db0564f", + "rev": "f939facb676b8552d11db25a70dd89d48cd8409f", "type": "github" }, "original": { From f868711987cb6bcfa1466056d2a5a3f372f525a0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 13 Sep 2023 12:34:38 +0200 Subject: [PATCH 1488/2080] Install rbw on Darwin --- home/main.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/main.nix b/home/main.nix index 115d0aa7..dfe6066f 100644 --- a/home/main.nix +++ b/home/main.nix @@ -24,6 +24,9 @@ black doggo du-dust + # FIXME: exa is no more maintained and should be replaced by eza + # https://github.com/ogham/exa#exa-is-unmaintained-use-the-fork-eza-instead + # https://github.com/eza-community/eza exa fd fortune @@ -90,6 +93,7 @@ isync msmtp notmuch + rbw ]; programs.tealdeer = { enable = true; From 6dede162090ab6da25b50b23de6db9902e463cae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 13 Sep 2023 12:34:43 +0200 Subject: [PATCH 1489/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 1edf95f4..cae7b92d 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -18,7 +18,7 @@ "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, "flash.nvim": { "branch": "main", "commit": "8a8e74922a383c253b7f92e042b749150140c8d1" }, "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, - "gitsigns.nvim": { "branch": "main", "commit": "fef5d90953f0a730483b44745fae5938ba8227f8" }, + "gitsigns.nvim": { "branch": "main", "commit": "907ae8636016aab2f283576fc60d46ca3427e579" }, "gx.nvim": { "branch": "main", "commit": "b78478ce851f3e8bfaf828421316122e88d12cee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, @@ -26,7 +26,7 @@ "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "20fd7f50f34b59031a7c3bbc2c207f4f60037628" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "01b4b6724ebcf5b43fc021486f6a260f1d09311e" }, "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, @@ -52,7 +52,7 @@ "nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "411cee67fe3f8242023eb8d9edafefbbfb2d06f1" }, + "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, "nvim-spider": { "branch": "main", "commit": "2762267825b575bcd27a50560e1098679f120007" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, "nvim-treesitter": { "branch": "master", "commit": "1e5576fa0165a222529777731a3257343047f916" }, @@ -65,7 +65,7 @@ "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "429f3e76cbb1c59fe000b690f7a5bea617b890c0" }, - "plenary.nvim": { "branch": "master", "commit": "0232372b906f275f76ac42029eba25eaf95e76b9" }, + "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "2ec9bc0fb5f3c8c6a0f776f0159dd2a3b1663554" }, @@ -81,12 +81,12 @@ "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, "venv-selector.nvim": { "branch": "main", "commit": "14d6e866070f759e9014a8053954f835294f56f9" }, - "vim-illuminate": { "branch": "master", "commit": "76f28e858f1caae87bfa45fb4fd09e4b053fc45b" }, + "vim-illuminate": { "branch": "master", "commit": "8c910b2f84ae6acd9b4b17330bb94dd783c0c11a" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "ef70e4e44095a17ab8611cb6630b727ccee0a271" }, + "yanky.nvim": { "branch": "main", "commit": "4c85d8d6808d9859e72f8bd6c25302199e6a5eac" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } From 3e31ef067715ba75d4dcf165f841c64443cbc1f1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 13 Sep 2023 12:34:50 +0200 Subject: [PATCH 1490/2080] vim: typo --- lazyvim/nvim/lua/config/options.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/config/options.lua b/lazyvim/nvim/lua/config/options.lua index 623d85f2..102c7116 100644 --- a/lazyvim/nvim/lua/config/options.lua +++ b/lazyvim/nvim/lua/config/options.lua @@ -23,7 +23,7 @@ opt.autoindent = false -- Wrap long lines opt.wrap = true --- Set max line length and display column to show light length +-- Set max line length and display column to show line length opt.textwidth = 78 opt.colorcolumn = "80" From c972f78b972f529efc83a2c1c9b44d5bf9bd14c7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 13 Sep 2023 17:07:33 +0200 Subject: [PATCH 1491/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/f939facb676b8552d11db25a70dd89d48cd8409f' (2023-09-13) → 'github:nix-community/NUR/e8adba4e1f0f539c255d796950a099c2bf2b5ae6' (2023-09-13) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 1b4ef26b..19b73c1c 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694589145, - "narHash": "sha256-zmmWfCQvs3cltM3a18GV39ur0fanjknNJCI8zlAiby8=", + "lastModified": 1694612760, + "narHash": "sha256-X732k7EXd/K9YKY/ub5yBrPFHkrKsK6syt1HpptigTA=", "owner": "nix-community", "repo": "NUR", - "rev": "f939facb676b8552d11db25a70dd89d48cd8409f", + "rev": "e8adba4e1f0f539c255d796950a099c2bf2b5ae6", "type": "github" }, "original": { From f1d27c8286bd26f888c4ad92c840934d45141c26 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 14 Sep 2023 11:10:48 +0200 Subject: [PATCH 1492/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/e66f37fcd1e013c7925b26aed7cf019294edcb27' (2023-09-13) → 'github:nix-community/neovim-nightly-overlay/a0f501276e820da3ff4599922df96154e86d8603' (2023-09-14) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/1f551e068f728ff38bd7fdcfa3a6daf362bab9da?dir=contrib' (2023-09-12) → 'github:neovim/neovim/f5953edbac14febce9d4f8a3c35bdec1eae26fbe?dir=contrib' (2023-09-13) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/1ee50a29288f768c55211963be8040671814986d' (2023-09-12) → 'github:NixOS/nixpkgs/1697b7d480449b01111e352021f46e5879e47643' (2023-09-13) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/97b8d3eeb052824f240c19632824b5260a0e705a' (2023-09-12) → 'github:nixos/nixpkgs/e27ca312d56522b907b998c2ff99169bf12639f2' (2023-09-13) • Updated input 'nur': 'github:nix-community/NUR/e8adba4e1f0f539c255d796950a099c2bf2b5ae6' (2023-09-13) → 'github:nix-community/NUR/6ebb358b238e414cbe677c3563fbd4f8b4f56330' (2023-09-14) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 19b73c1c..b5620404 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1694530540, - "narHash": "sha256-vDK+iO1nZjKE3xzAfeDBr2zKa3nBGvXrb4VfFxRFpLk=", + "lastModified": 1694648542, + "narHash": "sha256-ktzCb7bmhW7DWtBuqQaZN32mGtNiXsydd1TrVkmxS+g=", "owner": "neovim", "repo": "neovim", - "rev": "1f551e068f728ff38bd7fdcfa3a6daf362bab9da", + "rev": "f5953edbac14febce9d4f8a3c35bdec1eae26fbe", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1694563461, - "narHash": "sha256-ILJ9RnF0h3Lt7CZwxggfUB+enadTt24JNDyDHSwpvz0=", + "lastModified": 1694649852, + "narHash": "sha256-MYlZt8ywoeV/lk4Az+ctLvQRhbc4hCkBwc+4MAr6DAc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "e66f37fcd1e013c7925b26aed7cf019294edcb27", + "rev": "a0f501276e820da3ff4599922df96154e86d8603", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1694561237, - "narHash": "sha256-PkzDXGtJwYcgJTlGlTSTQ5i5EBCCd3B2K46EXT7sjVY=", + "lastModified": 1694618689, + "narHash": "sha256-UQiOf8CTokDuyQgY6NpeXDL1fkeDHyNI5rfJ+wy9rg8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "97b8d3eeb052824f240c19632824b5260a0e705a", + "rev": "e27ca312d56522b907b998c2ff99169bf12639f2", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1694501121, - "narHash": "sha256-uj7YWhs7FTv1slqb9Sj1+Q0dYtwQDC4URfOXB9XWKjs=", + "lastModified": 1694593561, + "narHash": "sha256-WSaIQZ5s9N9bDFkEMTw6P9eaZ9bv39ZhsiW12GtTNM0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1ee50a29288f768c55211963be8040671814986d", + "rev": "1697b7d480449b01111e352021f46e5879e47643", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694612760, - "narHash": "sha256-X732k7EXd/K9YKY/ub5yBrPFHkrKsK6syt1HpptigTA=", + "lastModified": 1694671253, + "narHash": "sha256-VbYTkpKKTWU24DwrwBT27E7MliA0Wa1o6+J8nOZPSFw=", "owner": "nix-community", "repo": "NUR", - "rev": "e8adba4e1f0f539c255d796950a099c2bf2b5ae6", + "rev": "6ebb358b238e414cbe677c3563fbd4f8b4f56330", "type": "github" }, "original": { From eff624a5c2c29519518f457c592ca66fb1b8ca22 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 14 Sep 2023 16:07:08 +0200 Subject: [PATCH 1493/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/6ebb358b238e414cbe677c3563fbd4f8b4f56330' (2023-09-14) → 'github:nix-community/NUR/b662b29936b2461d08272623519e275d9f0d2b73' (2023-09-14) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index b5620404..5f83cb25 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694671253, - "narHash": "sha256-VbYTkpKKTWU24DwrwBT27E7MliA0Wa1o6+J8nOZPSFw=", + "lastModified": 1694691985, + "narHash": "sha256-7LqdxQhbEFbFUgSAMUgtYWNzCvf6V/fue2NjhQu+ZUI=", "owner": "nix-community", "repo": "NUR", - "rev": "6ebb358b238e414cbe677c3563fbd4f8b4f56330", + "rev": "b662b29936b2461d08272623519e275d9f0d2b73", "type": "github" }, "original": { From 33ec528b7c1dd5cc6f08e39ace2c3a864b828c3e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 15 Sep 2023 09:50:16 +0200 Subject: [PATCH 1494/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/a0f501276e820da3ff4599922df96154e86d8603' (2023-09-14) → 'github:nix-community/neovim-nightly-overlay/20d71ff43e4ef1e0f0809aec94cd2982ba7febe8' (2023-09-15) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/f5953edbac14febce9d4f8a3c35bdec1eae26fbe?dir=contrib' (2023-09-13) → 'github:neovim/neovim/9ec0ecb222a0454c2afaf1afae72fe1ad7ccb2c8?dir=contrib' (2023-09-14) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/3a2786eea085f040a66ecde1bc3ddc7099f6dbeb' (2023-09-11) → 'github:nixos/nixpkgs/f2ea252d23ebc9a5336bf6a61e0644921f64e67c' (2023-09-14) • Updated input 'nur': 'github:nix-community/NUR/b662b29936b2461d08272623519e275d9f0d2b73' (2023-09-14) → 'github:nix-community/NUR/555f9771bbff7e67e31199f2964c9c8f82fa8197' (2023-09-15) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 5f83cb25..8fa69090 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1694648542, - "narHash": "sha256-ktzCb7bmhW7DWtBuqQaZN32mGtNiXsydd1TrVkmxS+g=", + "lastModified": 1694733433, + "narHash": "sha256-E9XJzART/TYxPuZE2EPEfnqrUQznVhZ0oeDYphqySFY=", "owner": "neovim", "repo": "neovim", - "rev": "f5953edbac14febce9d4f8a3c35bdec1eae26fbe", + "rev": "9ec0ecb222a0454c2afaf1afae72fe1ad7ccb2c8", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1694649852, - "narHash": "sha256-MYlZt8ywoeV/lk4Az+ctLvQRhbc4hCkBwc+4MAr6DAc=", + "lastModified": 1694736249, + "narHash": "sha256-SfYswsdpki29mGnRYoSqP3jRu6E3q4J1lJu2INpWYj0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a0f501276e820da3ff4599922df96154e86d8603", + "rev": "20d71ff43e4ef1e0f0809aec94cd2982ba7febe8", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1694422566, - "narHash": "sha256-lHJ+A9esOz9vln/3CJG23FV6Wd2OoOFbDeEs4cMGMqc=", + "lastModified": 1694669921, + "narHash": "sha256-6ESpJ6FsftHV96JO/zn6je07tyV2dlLR7SdLsmkegTY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3a2786eea085f040a66ecde1bc3ddc7099f6dbeb", + "rev": "f2ea252d23ebc9a5336bf6a61e0644921f64e67c", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694691985, - "narHash": "sha256-7LqdxQhbEFbFUgSAMUgtYWNzCvf6V/fue2NjhQu+ZUI=", + "lastModified": 1694759692, + "narHash": "sha256-g2cvqz8sDGt/dG0qr5sezzxaXyXMRJBHIOjlkF3x23g=", "owner": "nix-community", "repo": "NUR", - "rev": "b662b29936b2461d08272623519e275d9f0d2b73", + "rev": "555f9771bbff7e67e31199f2964c9c8f82fa8197", "type": "github" }, "original": { From b7103334d051a8fd23b3d60019756e565efedbb6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 18 Sep 2023 09:18:34 +0200 Subject: [PATCH 1495/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/4496ab26628c5f43d2a5c577a06683c753e32fe2' (2023-09-12) → 'github:lnl7/nix-darwin/80bb201f4925cdda5a7a3c7b1900fb26bb2af2e8' (2023-09-15) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/20d71ff43e4ef1e0f0809aec94cd2982ba7febe8' (2023-09-15) → 'github:nix-community/neovim-nightly-overlay/40cac209b21ba559d1d0c8bdb33a7c9413f16d87' (2023-09-16) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/9ec0ecb222a0454c2afaf1afae72fe1ad7ccb2c8?dir=contrib' (2023-09-14) → 'github:neovim/neovim/be10d65bfafe056025ffffa2c1131712b9a493a5?dir=contrib' (2023-09-15) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/1697b7d480449b01111e352021f46e5879e47643' (2023-09-13) → 'github:NixOS/nixpkgs/46688f8eb5cd6f1298d873d4d2b9cf245e09e88e' (2023-09-15) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/e5f018cf150e29aac26c61dac0790ea023c46b24' (2023-09-12) → 'github:NixOS/nixpkgs/5d017a8822e0907fb96f7700a319f9fe2434de02' (2023-09-17) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/e27ca312d56522b907b998c2ff99169bf12639f2' (2023-09-13) → 'github:nixos/nixpkgs/596611941a74be176b98aeba9328aa9d01b8b322' (2023-09-16) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/f2ea252d23ebc9a5336bf6a61e0644921f64e67c' (2023-09-14) → 'github:nixos/nixpkgs/ace5093e36ab1e95cb9463863491bee90d5a4183' (2023-09-15) • Updated input 'nur': 'github:nix-community/NUR/555f9771bbff7e67e31199f2964c9c8f82fa8197' (2023-09-15) → 'github:nix-community/NUR/24d56867c7eb8ac00a5705b81dd64da3a4517701' (2023-09-18) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 8fa69090..d94c0120 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1694497842, - "narHash": "sha256-z03v/m0OwcLBok97KcUgMl8ZFw5Xwsi2z+n6nL7JdXY=", + "lastModified": 1694810318, + "narHash": "sha256-LuvrVj2oj9TzdnnwtQUClqcXjpgwCP01FFVBM7azGV8=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "4496ab26628c5f43d2a5c577a06683c753e32fe2", + "rev": "80bb201f4925cdda5a7a3c7b1900fb26bb2af2e8", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1694733433, - "narHash": "sha256-E9XJzART/TYxPuZE2EPEfnqrUQznVhZ0oeDYphqySFY=", + "lastModified": 1694815276, + "narHash": "sha256-9q0AqoOJUZ6pqayUFuyjpD3DhbnqUIF93jixLSlnYxw=", "owner": "neovim", "repo": "neovim", - "rev": "9ec0ecb222a0454c2afaf1afae72fe1ad7ccb2c8", + "rev": "be10d65bfafe056025ffffa2c1131712b9a493a5", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1694736249, - "narHash": "sha256-SfYswsdpki29mGnRYoSqP3jRu6E3q4J1lJu2INpWYj0=", + "lastModified": 1694823282, + "narHash": "sha256-pGkJfGBjUkE+oOKg1okTPBFWomDeMzEfrJZcpFaGaPk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "20d71ff43e4ef1e0f0809aec94cd2982ba7febe8", + "rev": "40cac209b21ba559d1d0c8bdb33a7c9413f16d87", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1694618689, - "narHash": "sha256-UQiOf8CTokDuyQgY6NpeXDL1fkeDHyNI5rfJ+wy9rg8=", + "lastModified": 1694908564, + "narHash": "sha256-ducA98AuWWJu5oUElIzN24Q22WlO8bOfixGzBgzYdVc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e27ca312d56522b907b998c2ff99169bf12639f2", + "rev": "596611941a74be176b98aeba9328aa9d01b8b322", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1694669921, - "narHash": "sha256-6ESpJ6FsftHV96JO/zn6je07tyV2dlLR7SdLsmkegTY=", + "lastModified": 1694767346, + "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f2ea252d23ebc9a5336bf6a61e0644921f64e67c", + "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1694593561, - "narHash": "sha256-WSaIQZ5s9N9bDFkEMTw6P9eaZ9bv39ZhsiW12GtTNM0=", + "lastModified": 1694760568, + "narHash": "sha256-3G07BiXrp2YQKxdcdms22MUx6spc6A++MSePtatCYuI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1697b7d480449b01111e352021f46e5879e47643", + "rev": "46688f8eb5cd6f1298d873d4d2b9cf245e09e88e", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1694499547, - "narHash": "sha256-R7xMz1Iia6JthWRHDn36s/E248WB1/je62ovC/dUVKI=", + "lastModified": 1694937365, + "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e5f018cf150e29aac26c61dac0790ea023c46b24", + "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1694759692, - "narHash": "sha256-g2cvqz8sDGt/dG0qr5sezzxaXyXMRJBHIOjlkF3x23g=", + "lastModified": 1695010275, + "narHash": "sha256-FJhczP6MFRGsynxWf3LBJg1CKyMDq+SEuSEHDBKkQG8=", "owner": "nix-community", "repo": "NUR", - "rev": "555f9771bbff7e67e31199f2964c9c8f82fa8197", + "rev": "24d56867c7eb8ac00a5705b81dd64da3a4517701", "type": "github" }, "original": { From 58c1d394c32b57d538eafdba01ce5f2d2552ef83 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 18 Sep 2023 09:40:51 +0200 Subject: [PATCH 1496/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index cae7b92d..df7254b5 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -18,7 +18,7 @@ "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, "flash.nvim": { "branch": "main", "commit": "8a8e74922a383c253b7f92e042b749150140c8d1" }, "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, - "gitsigns.nvim": { "branch": "main", "commit": "907ae8636016aab2f283576fc60d46ca3427e579" }, + "gitsigns.nvim": { "branch": "main", "commit": "bce4576a9047085a528c479a7fe1e2f6b787b6c1" }, "gx.nvim": { "branch": "main", "commit": "b78478ce851f3e8bfaf828421316122e88d12cee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, @@ -26,7 +26,7 @@ "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "01b4b6724ebcf5b43fc021486f6a260f1d09311e" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "f014db32437aa61c86fc0ef1067cd2bc6a37205c" }, "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, @@ -53,7 +53,7 @@ "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, - "nvim-spider": { "branch": "main", "commit": "2762267825b575bcd27a50560e1098679f120007" }, + "nvim-spider": { "branch": "main", "commit": "be7273858d75673a0ae594552742eb8769f35d6a" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, "nvim-treesitter": { "branch": "master", "commit": "1e5576fa0165a222529777731a3257343047f916" }, "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, @@ -64,18 +64,18 @@ "octo.nvim": { "branch": "master", "commit": "22328c578bc013fa4b0cef3d00af35efe0c0f256" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, - "playground": { "branch": "master", "commit": "429f3e76cbb1c59fe000b690f7a5bea617b890c0" }, + "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "2ec9bc0fb5f3c8c6a0f776f0159dd2a3b1663554" }, - "semshi": { "branch": "master", "commit": "8047086306b1951e741f519f53d293d8b4b37f1a" }, + "semshi": { "branch": "master", "commit": "dbb08610644a902665a343b899457877981099b8" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "a19770625aed49ad2a9f591a5e3946707f7359f6" }, + "telescope.nvim": { "branch": "master", "commit": "b543aaa2c9cf8123ed2fe7dbb6c211a9cd415124" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, From bcb64428e70297058e866e0f49b8bcab110a9225 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 18 Sep 2023 09:41:08 +0200 Subject: [PATCH 1497/2080] fish: play with starship configuration --- home/starship.nix | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/home/starship.nix b/home/starship.nix index b9d3e081..b6306ae0 100644 --- a/home/starship.nix +++ b/home/starship.nix @@ -2,16 +2,31 @@ # Starship Prompt # https://rycee.gitlab.io/home-manager/options.html#opt-programs.starship.enable programs.starship.enable = true; + # Transient prompt + # XXX: not recognised? + # programs.starship.enableTransience = true; + # Disable support for other shells + programs.starship.enableZshIntegration = false; + programs.starship.enableNushellIntegration = false; programs.starship.settings = { # See docs here: https://starship.rs/config/ # Symbols config configured ./starship-symbols.nix. - directory.fish_style_pwd_dir_length = 1; # turn on fish directory truncation - directory.truncation_length = 2; # number of directories not to truncate - gcloud.disabled = true; # annoying to always have on - hostname.style = "bold green"; # don't like the default - memory_usage.disabled = true; # because it includes cached memory it's reported as full a lot + # cmd_duration.min_time = "2_000"; + cmd_duration.format = " ⏲ $duration($style) "; + cmd_duration.style = "bold italic #87A752"; + # turn on fish directory truncation + directory.fish_style_pwd_dir_length = 1; + # number of directories not to truncate + directory.truncation_length = 2; + # annoying to always have on + gcloud.disabled = true; + # hostname.style = "bold green"; + # because it includes cached memory it's reported as full a lot + memory_usage.disabled = true; + # Wait 10 milliseconds for starship to check files under the current directory. + scan_timeout = 10; shlvl.disabled = false; username.style_user = "bold blue"; # don't like the default }; From df71af28f12446c2ef22379944298f28e7865e8d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 18 Sep 2023 09:41:18 +0200 Subject: [PATCH 1498/2080] nix bootstrap: no more include zsh by default. --- modules/system/bootstrap.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/system/bootstrap.nix b/modules/system/bootstrap.nix index ef76d700..751e8edc 100644 --- a/modules/system/bootstrap.nix +++ b/modules/system/bootstrap.nix @@ -35,7 +35,6 @@ environment.shells = with pkgs; [ bashInteractive fish - zsh ]; # Make Fish the default shell @@ -53,9 +52,6 @@ ''; environment.variables.SHELL = "${pkgs.fish}/bin/fish"; - # Install and setup ZSH to work with nix(-darwin) as well - programs.zsh.enable = true; - # Used for backwards compatibility, please read the changelog before changing. # $ darwin-rebuild changelog system.stateVersion = 4; From fee31103f74490a71f765e43667b747bf09bdfdf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 18 Sep 2023 09:41:42 +0200 Subject: [PATCH 1499/2080] macos: install vagrant and virtualbox from homebrew. --- machines/Baptistes-MBP/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index d894c953..8a6881a5 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -43,6 +43,8 @@ "slack" "stretchly" "teamviewer" + "vagrant" + "virtualbox" "vlc" ]; }; From 8803c2cfbfa40c4c2d4f27ae9c9a0036ae554bd5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 18 Sep 2023 09:42:00 +0200 Subject: [PATCH 1500/2080] mbsync: speareate error and std output. --- machines/Baptistes-MBP/configuration.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 289b9147..f99d3503 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -129,15 +129,16 @@ # echo "ok" # ""; + # https://github.com/elobdog/mailhelp/blob/master/homebrew.mxcl.isync.plist # Mail configuration # XXX move to home-manager launchd.user.agents.mbsync = { # XXX not yet deployed/managed via nix serviceConfig.Program = "/Users/baptiste/.config/neomutt/sync"; serviceConfig.RunAtLoad = true; - serviceConfig.StartInterval = 180; - serviceConfig.StandardErrorPath = "/Users/baptiste/Mail/.mailsync.log"; - serviceConfig.StandardOutPath = "/Users/baptiste/Mail/.mailsync.log"; + serviceConfig.StartInterval = 300; + serviceConfig.StandardErrorPath = "/Users/baptiste/Mail/.mailsync_error.log"; + serviceConfig.StandardOutPath = "/Users/baptiste/Mail/.mailsync_out.log"; serviceConfig.ProcessType = "Background"; }; # Sync of contacts From 8b78b7859576e5f989cad920d78529dd1dbad73b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 20 Sep 2023 09:42:51 +0200 Subject: [PATCH 1501/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/80bb201f4925cdda5a7a3c7b1900fb26bb2af2e8' (2023-09-15) → 'github:lnl7/nix-darwin/afeddc412b3a3b0e7c9ef7ea5fbdf2186781d102' (2023-09-19) • Updated input 'home-manager': 'github:nix-community/home-manager/9787dffff5d315c9593d3f9fb0f9bf2097e1b57b' (2023-09-11) → 'github:nix-community/home-manager/07682fff75d41f18327a871088d20af2710d4744' (2023-09-19) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/596611941a74be176b98aeba9328aa9d01b8b322' (2023-09-16) → 'github:nixos/nixpkgs/53d337b63c8f9d7e0f8709cae0008a9655bee33e' (2023-09-19) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/ace5093e36ab1e95cb9463863491bee90d5a4183' (2023-09-15) → 'github:nixos/nixpkgs/970a59bd19eff3752ce552935687100c46e820a5' (2023-09-17) • Updated input 'nur': 'github:nix-community/NUR/24d56867c7eb8ac00a5705b81dd64da3a4517701' (2023-09-18) → 'github:nix-community/NUR/878ddf6b42ea6cb719159eb47765dd9223099016' (2023-09-20) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index d94c0120..1fed2208 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1694810318, - "narHash": "sha256-LuvrVj2oj9TzdnnwtQUClqcXjpgwCP01FFVBM7azGV8=", + "lastModified": 1695114819, + "narHash": "sha256-/aIfbZxP39QZ8m7qX2RzQTy5PWzz2e22cCcZ+AOO7lA=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "80bb201f4925cdda5a7a3c7b1900fb26bb2af2e8", + "rev": "afeddc412b3a3b0e7c9ef7ea5fbdf2186781d102", "type": "github" }, "original": { @@ -181,11 +181,11 @@ ] }, "locked": { - "lastModified": 1694465129, - "narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=", + "lastModified": 1695108154, + "narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=", "owner": "nix-community", "repo": "home-manager", - "rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b", + "rev": "07682fff75d41f18327a871088d20af2710d4744", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1694908564, - "narHash": "sha256-ducA98AuWWJu5oUElIzN24Q22WlO8bOfixGzBgzYdVc=", + "lastModified": 1695106126, + "narHash": "sha256-5BDOEo5miK+46ByqhooW32viYzDUmHrw++UK8zkMbPg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "596611941a74be176b98aeba9328aa9d01b8b322", + "rev": "53d337b63c8f9d7e0f8709cae0008a9655bee33e", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1694767346, - "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", + "lastModified": 1694959747, + "narHash": "sha256-CXQ2MuledDVlVM5dLC4pB41cFlBWxRw4tCBsFrq3cRk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", + "rev": "970a59bd19eff3752ce552935687100c46e820a5", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1695010275, - "narHash": "sha256-FJhczP6MFRGsynxWf3LBJg1CKyMDq+SEuSEHDBKkQG8=", + "lastModified": 1695184421, + "narHash": "sha256-z9fFPTkq1rRoDtUuH/PXV9aw6p0v8PptRtNzO7lW+fs=", "owner": "nix-community", "repo": "NUR", - "rev": "24d56867c7eb8ac00a5705b81dd64da3a4517701", + "rev": "878ddf6b42ea6cb719159eb47765dd9223099016", "type": "github" }, "original": { From 448a00d6e59913e002bc56c7821ca7e13827a8dd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 20 Sep 2023 15:30:31 +0200 Subject: [PATCH 1502/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index df7254b5..cf118429 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -16,7 +16,7 @@ "diffview.nvim": { "branch": "main", "commit": "e91110d2a7f8e2f667666aba6ea089ff823f8748" }, "dressing.nvim": { "branch": "master", "commit": "829bc80400651aea31b03d8fc9a99135512fe67a" }, "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, - "flash.nvim": { "branch": "main", "commit": "8a8e74922a383c253b7f92e042b749150140c8d1" }, + "flash.nvim": { "branch": "main", "commit": "cc8c7e03987134997d74ee87e55a5717279f2d05" }, "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, "gitsigns.nvim": { "branch": "main", "commit": "bce4576a9047085a528c479a7fe1e2f6b787b6c1" }, "gx.nvim": { "branch": "main", "commit": "b78478ce851f3e8bfaf828421316122e88d12cee" }, @@ -26,7 +26,7 @@ "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "f014db32437aa61c86fc0ef1067cd2bc6a37205c" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "2451adb9bdb0fd32140bf3aa8dbc17ff60050db3" }, "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, @@ -68,14 +68,14 @@ "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "2ec9bc0fb5f3c8c6a0f776f0159dd2a3b1663554" }, + "refactoring.nvim": { "branch": "master", "commit": "be6505be8bdd306646bb81399312c02927a60a51" }, "semshi": { "branch": "master", "commit": "dbb08610644a902665a343b899457877981099b8" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "b543aaa2c9cf8123ed2fe7dbb6c211a9cd415124" }, + "telescope.nvim": { "branch": "master", "commit": "40c8d2fc2b729dd442eda093cf8c9496d6e23732" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, @@ -88,5 +88,5 @@ "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "4c85d8d6808d9859e72f8bd6c25302199e6a5eac" }, + "yanky.nvim": { "branch": "main", "commit": "4f5f15829fbad15ed703e7cb072cdf2a488cf5e7" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } From d1b6a1db087ad3f14860a12b3c0f1e51f7f26a67 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 21 Sep 2023 09:33:33 +0200 Subject: [PATCH 1503/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/878ddf6b42ea6cb719159eb47765dd9223099016' (2023-09-20) → 'github:nix-community/NUR/388f58929d4caa7c047c068c1e456266b28d8225' (2023-09-21) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 1fed2208..870f020b 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1695184421, - "narHash": "sha256-z9fFPTkq1rRoDtUuH/PXV9aw6p0v8PptRtNzO7lW+fs=", + "lastModified": 1695271288, + "narHash": "sha256-iU3j8VlkNZgEkhMNgDJumDHU/imjcZ20r38pgG78zwE=", "owner": "nix-community", "repo": "NUR", - "rev": "878ddf6b42ea6cb719159eb47765dd9223099016", + "rev": "388f58929d4caa7c047c068c1e456266b28d8225", "type": "github" }, "original": { From 5cea151bc4f9f22c01b2c4cfe07ddaec10ab6039 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 25 Sep 2023 09:42:32 +0200 Subject: [PATCH 1504/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/afeddc412b3a3b0e7c9ef7ea5fbdf2186781d102' (2023-09-19) → 'github:lnl7/nix-darwin/c286b23c7fd7f0622bc4af898c91f58b8d304ff1' (2023-09-22) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/40cac209b21ba559d1d0c8bdb33a7c9413f16d87' (2023-09-16) → 'github:nix-community/neovim-nightly-overlay/07c3b00574cb6645d92786c5a5531cb20426785d' (2023-09-24) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/be10d65bfafe056025ffffa2c1131712b9a493a5?dir=contrib' (2023-09-15) → 'github:neovim/neovim/bc0bf9d030bbcb01db69c44cf88b95ca41dd3065?dir=contrib' (2023-09-23) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/46688f8eb5cd6f1298d873d4d2b9cf245e09e88e' (2023-09-15) → 'github:NixOS/nixpkgs/e12483116b3b51a185a33a272bf351e357ba9a99' (2023-09-21) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5d017a8822e0907fb96f7700a319f9fe2434de02' (2023-09-17) → 'github:NixOS/nixpkgs/715d72e967ec1dd5ecc71290ee072bcaf5181ed6' (2023-09-22) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/53d337b63c8f9d7e0f8709cae0008a9655bee33e' (2023-09-19) → 'github:nixos/nixpkgs/65d58a8f11730156feebda4f02ed7ea21a6a359f' (2023-09-24) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/970a59bd19eff3752ce552935687100c46e820a5' (2023-09-17) → 'github:nixos/nixpkgs/e35dcc04a3853da485a396bdd332217d0ac9054f' (2023-09-22) • Updated input 'nur': 'github:nix-community/NUR/388f58929d4caa7c047c068c1e456266b28d8225' (2023-09-21) → 'github:nix-community/NUR/7e08f1b5f037a36e78dd8d7fa1def628fd727ad8' (2023-09-25) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 870f020b..087e1629 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1695114819, - "narHash": "sha256-/aIfbZxP39QZ8m7qX2RzQTy5PWzz2e22cCcZ+AOO7lA=", + "lastModified": 1695424346, + "narHash": "sha256-jkjKhxaBpS7p//l90uz9lNdVK5imVe9eo+XH6zbfrJU=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "afeddc412b3a3b0e7c9ef7ea5fbdf2186781d102", + "rev": "c286b23c7fd7f0622bc4af898c91f58b8d304ff1", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1694815276, - "narHash": "sha256-9q0AqoOJUZ6pqayUFuyjpD3DhbnqUIF93jixLSlnYxw=", + "lastModified": 1695509205, + "narHash": "sha256-nV3opNLzLMfzL0yI+xnIeNIOnvOI467CiABxHTQUrwY=", "owner": "neovim", "repo": "neovim", - "rev": "be10d65bfafe056025ffffa2c1131712b9a493a5", + "rev": "bc0bf9d030bbcb01db69c44cf88b95ca41dd3065", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1694823282, - "narHash": "sha256-pGkJfGBjUkE+oOKg1okTPBFWomDeMzEfrJZcpFaGaPk=", + "lastModified": 1695513850, + "narHash": "sha256-tzhm05TH22eI+ePzuPHrMgq2sjLkEW1q1E515+VRVuw=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "40cac209b21ba559d1d0c8bdb33a7c9413f16d87", + "rev": "07c3b00574cb6645d92786c5a5531cb20426785d", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1695106126, - "narHash": "sha256-5BDOEo5miK+46ByqhooW32viYzDUmHrw++UK8zkMbPg=", + "lastModified": 1695587564, + "narHash": "sha256-WQPLy6hphUf+G+ODQZbffayNBIYRB4gwFAViYOADk+c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "53d337b63c8f9d7e0f8709cae0008a9655bee33e", + "rev": "65d58a8f11730156feebda4f02ed7ea21a6a359f", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1694959747, - "narHash": "sha256-CXQ2MuledDVlVM5dLC4pB41cFlBWxRw4tCBsFrq3cRk=", + "lastModified": 1695360818, + "narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "970a59bd19eff3752ce552935687100c46e820a5", + "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1694760568, - "narHash": "sha256-3G07BiXrp2YQKxdcdms22MUx6spc6A++MSePtatCYuI=", + "lastModified": 1695318763, + "narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "46688f8eb5cd6f1298d873d4d2b9cf245e09e88e", + "rev": "e12483116b3b51a185a33a272bf351e357ba9a99", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1694937365, - "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", + "lastModified": 1695416179, + "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", + "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1695271288, - "narHash": "sha256-iU3j8VlkNZgEkhMNgDJumDHU/imjcZ20r38pgG78zwE=", + "lastModified": 1695616889, + "narHash": "sha256-n3O8M42Jgg891pVXGgCxxGZbjU/xLPu+obZb4THIbnk=", "owner": "nix-community", "repo": "NUR", - "rev": "388f58929d4caa7c047c068c1e456266b28d8225", + "rev": "7e08f1b5f037a36e78dd8d7fa1def628fd727ad8", "type": "github" }, "original": { From 75ae14105fd315087cdcef2e28ea6e19fe83c76b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 25 Sep 2023 15:56:22 +0200 Subject: [PATCH 1505/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index cf118429..0ddbef04 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -18,7 +18,7 @@ "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, "flash.nvim": { "branch": "main", "commit": "cc8c7e03987134997d74ee87e55a5717279f2d05" }, "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, - "gitsigns.nvim": { "branch": "main", "commit": "bce4576a9047085a528c479a7fe1e2f6b787b6c1" }, + "gitsigns.nvim": { "branch": "main", "commit": "bdeba1cec3faddd89146690c10b9a87949c0ee66" }, "gx.nvim": { "branch": "main", "commit": "b78478ce851f3e8bfaf828421316122e88d12cee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, @@ -30,7 +30,7 @@ "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, - "mini.animate": { "branch": "main", "commit": "230140aa0b06af87c9d345573aab1aaf50d8b539" }, + "mini.animate": { "branch": "main", "commit": "989ac014933ab5cd14ab83f2fce4b9a08ca6d81e" }, "mini.bracketed": { "branch": "main", "commit": "ac93e3d6df596c750200aa8529fd352ec91bbad2" }, "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, @@ -75,18 +75,18 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "40c8d2fc2b729dd442eda093cf8c9496d6e23732" }, + "telescope.nvim": { "branch": "master", "commit": "ed9574dd6dde143d009b2528ea6d79bd34bbe6c8" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, "venv-selector.nvim": { "branch": "main", "commit": "14d6e866070f759e9014a8053954f835294f56f9" }, - "vim-illuminate": { "branch": "master", "commit": "8c910b2f84ae6acd9b4b17330bb94dd783c0c11a" }, + "vim-illuminate": { "branch": "master", "commit": "6acf7d4a18255a3ddc43770866c8e148fe85af7b" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "4f5f15829fbad15ed703e7cb072cdf2a488cf5e7" }, + "yanky.nvim": { "branch": "main", "commit": "51dfc7721cfa4bb5b1baf5f365b8a39394d89eb2" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } From cb2f32472b2330e04df11252a178afa551fdf107 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 25 Sep 2023 15:57:24 +0200 Subject: [PATCH 1506/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/715d72e967ec1dd5ecc71290ee072bcaf5181ed6' (2023-09-22) → 'github:NixOS/nixpkgs/261abe8a44a7e8392598d038d2e01f7b33cf26d0' (2023-09-24) • Updated input 'nur': 'github:nix-community/NUR/7e08f1b5f037a36e78dd8d7fa1def628fd727ad8' (2023-09-25) → 'github:nix-community/NUR/27bfa3d03fb70a87489c19c509cc751a71a02301' (2023-09-25) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 087e1629..0340aa19 100644 --- a/flake.lock +++ b/flake.lock @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1695416179, - "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", + "lastModified": 1695559356, + "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", + "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1695616889, - "narHash": "sha256-n3O8M42Jgg891pVXGgCxxGZbjU/xLPu+obZb4THIbnk=", + "lastModified": 1695649975, + "narHash": "sha256-v+nAEkX3Xqd7NADy7PETKWAOoL1FQzxi07Diy8gEAmw=", "owner": "nix-community", "repo": "NUR", - "rev": "7e08f1b5f037a36e78dd8d7fa1def628fd727ad8", + "rev": "27bfa3d03fb70a87489c19c509cc751a71a02301", "type": "github" }, "original": { From 7bd66b5fc1049b05b0ac0bf81c103dfd6b37f87e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 26 Sep 2023 09:15:46 +0200 Subject: [PATCH 1507/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/c286b23c7fd7f0622bc4af898c91f58b8d304ff1' (2023-09-22) → 'github:lnl7/nix-darwin/e236a1e598a9a59265897948ac9874c364b9555f' (2023-09-26) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/07c3b00574cb6645d92786c5a5531cb20426785d' (2023-09-24) → 'github:nix-community/neovim-nightly-overlay/d42145981b7fd8ad107f8293015b26cb254c2993' (2023-09-26) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/0a63bfa3f00a3775ea3a6722b247880f1ffe91ce' (2023-07-15) → 'github:hercules-ci/hercules-ci-effects/91fae5824f5f1199f61693c6590b4a89abaed9d7' (2023-09-25) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/bc0bf9d030bbcb01db69c44cf88b95ca41dd3065?dir=contrib' (2023-09-23) → 'github:neovim/neovim/3387dc4a463c80a01702cdd069dde3d505a4e805?dir=contrib' (2023-09-25) • Updated input 'nur': 'github:nix-community/NUR/27bfa3d03fb70a87489c19c509cc751a71a02301' (2023-09-25) → 'github:nix-community/NUR/83a8f24d134cdf8a4883f3f37954aa6bb12f9b5f' (2023-09-26) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 0340aa19..bd1e88f6 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1695424346, - "narHash": "sha256-jkjKhxaBpS7p//l90uz9lNdVK5imVe9eo+XH6zbfrJU=", + "lastModified": 1695686713, + "narHash": "sha256-rJATx5B/nwlBpt7CJUf85LV27qWPbul5UVV8fu6ABPg=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "c286b23c7fd7f0622bc4af898c91f58b8d304ff1", + "rev": "e236a1e598a9a59265897948ac9874c364b9555f", "type": "github" }, "original": { @@ -161,11 +161,11 @@ ] }, "locked": { - "lastModified": 1689397210, - "narHash": "sha256-fVxZnqxMbsDkB4GzGAs/B41K0wt/e+B/fLxmTFF/S20=", + "lastModified": 1695684520, + "narHash": "sha256-yORqGB0i1OtEf9MOCCT2BIbOd8txPZn216CM+ylMmhY=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0a63bfa3f00a3775ea3a6722b247880f1ffe91ce", + "rev": "91fae5824f5f1199f61693c6590b4a89abaed9d7", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1695509205, - "narHash": "sha256-nV3opNLzLMfzL0yI+xnIeNIOnvOI467CiABxHTQUrwY=", + "lastModified": 1695680038, + "narHash": "sha256-B17AdqHUjU1B+mR2qmk5piq1+fxl0bt9y0wh6rGSUM8=", "owner": "neovim", "repo": "neovim", - "rev": "bc0bf9d030bbcb01db69c44cf88b95ca41dd3065", + "rev": "3387dc4a463c80a01702cdd069dde3d505a4e805", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1695513850, - "narHash": "sha256-tzhm05TH22eI+ePzuPHrMgq2sjLkEW1q1E515+VRVuw=", + "lastModified": 1695686651, + "narHash": "sha256-J9Hz7y/a6sk+18Owu7SKWOa4cjo+xZjwBrZBQpA/9Fg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "07c3b00574cb6645d92786c5a5531cb20426785d", + "rev": "d42145981b7fd8ad107f8293015b26cb254c2993", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1695649975, - "narHash": "sha256-v+nAEkX3Xqd7NADy7PETKWAOoL1FQzxi07Diy8gEAmw=", + "lastModified": 1695711287, + "narHash": "sha256-HRumfZ+r6l1P46l64CEhN5l1h2Y+USKyFyyPLriB0bQ=", "owner": "nix-community", "repo": "NUR", - "rev": "27bfa3d03fb70a87489c19c509cc751a71a02301", + "rev": "83a8f24d134cdf8a4883f3f37954aa6bb12f9b5f", "type": "github" }, "original": { From 2a3e6932caea1e7907775188d2ed51a614653920 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 27 Sep 2023 09:24:36 +0200 Subject: [PATCH 1508/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/d42145981b7fd8ad107f8293015b26cb254c2993' (2023-09-26) → 'github:nix-community/neovim-nightly-overlay/29e28071b756b7377510d6cee5e9177e0de81c54' (2023-09-27) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/3387dc4a463c80a01702cdd069dde3d505a4e805?dir=contrib' (2023-09-25) → 'github:neovim/neovim/de9348978999aa78f8351b5f55930bb109e742f7?dir=contrib' (2023-09-26) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/65d58a8f11730156feebda4f02ed7ea21a6a359f' (2023-09-24) → 'github:nixos/nixpkgs/6e534f047ec8e8a3832e1007e9a658e31c3f2aee' (2023-09-26) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e35dcc04a3853da485a396bdd332217d0ac9054f' (2023-09-22) → 'github:nixos/nixpkgs/6500b4580c2a1f3d0f980d32d285739d8e156d92' (2023-09-25) • Updated input 'nur': 'github:nix-community/NUR/83a8f24d134cdf8a4883f3f37954aa6bb12f9b5f' (2023-09-26) → 'github:nix-community/NUR/4e03c60740b94d8e683da3a9d323c2377c556316' (2023-09-27) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index bd1e88f6..4d2ef528 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1695680038, - "narHash": "sha256-B17AdqHUjU1B+mR2qmk5piq1+fxl0bt9y0wh6rGSUM8=", + "lastModified": 1695735713, + "narHash": "sha256-9G5afPj/VACtCogn8S0tTMIX0bfIVK5vHUTN5oPK34U=", "owner": "neovim", "repo": "neovim", - "rev": "3387dc4a463c80a01702cdd069dde3d505a4e805", + "rev": "de9348978999aa78f8351b5f55930bb109e742f7", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1695686651, - "narHash": "sha256-J9Hz7y/a6sk+18Owu7SKWOa4cjo+xZjwBrZBQpA/9Fg=", + "lastModified": 1695773024, + "narHash": "sha256-QXBceL4Fjq8byTxhLsDmk0FIqnC6HBU/S5DfvI68jG8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d42145981b7fd8ad107f8293015b26cb254c2993", + "rev": "29e28071b756b7377510d6cee5e9177e0de81c54", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1695587564, - "narHash": "sha256-WQPLy6hphUf+G+ODQZbffayNBIYRB4gwFAViYOADk+c=", + "lastModified": 1695744874, + "narHash": "sha256-4cwgS3cBpzZxYV61cXav3ip32+okQD48bqBAF3Gb83g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "65d58a8f11730156feebda4f02ed7ea21a6a359f", + "rev": "6e534f047ec8e8a3832e1007e9a658e31c3f2aee", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1695360818, - "narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=", + "lastModified": 1695644571, + "narHash": "sha256-asS9dCCdlt1lPq0DLwkVBbVoEKuEuz+Zi3DG7pR/RxA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f", + "rev": "6500b4580c2a1f3d0f980d32d285739d8e156d92", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1695711287, - "narHash": "sha256-HRumfZ+r6l1P46l64CEhN5l1h2Y+USKyFyyPLriB0bQ=", + "lastModified": 1695796495, + "narHash": "sha256-uK3YiSgG+kVtz7f7ExrFwnjyNh89PjcUooKu6IWdvPA=", "owner": "nix-community", "repo": "NUR", - "rev": "83a8f24d134cdf8a4883f3f37954aa6bb12f9b5f", + "rev": "4e03c60740b94d8e683da3a9d323c2377c556316", "type": "github" }, "original": { From a38ee49058b103d4df2ce509cd5599b854d5b4d1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 27 Sep 2023 14:27:54 +0200 Subject: [PATCH 1509/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/6e534f047ec8e8a3832e1007e9a658e31c3f2aee' (2023-09-26) → 'github:nixos/nixpkgs/b988d01a2fbd9cc600b21ebe8e5d6317206e7171' (2023-09-27) • Updated input 'nur': 'github:nix-community/NUR/4e03c60740b94d8e683da3a9d323c2377c556316' (2023-09-27) → 'github:nix-community/NUR/e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd' (2023-09-27) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 4d2ef528..36d2f254 100644 --- a/flake.lock +++ b/flake.lock @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1695744874, - "narHash": "sha256-4cwgS3cBpzZxYV61cXav3ip32+okQD48bqBAF3Gb83g=", + "lastModified": 1695781655, + "narHash": "sha256-p3gWPvkOddfQ88PzWubrB53TwT8OXW/oxRQkzJVCjJ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6e534f047ec8e8a3832e1007e9a658e31c3f2aee", + "rev": "b988d01a2fbd9cc600b21ebe8e5d6317206e7171", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1695796495, - "narHash": "sha256-uK3YiSgG+kVtz7f7ExrFwnjyNh89PjcUooKu6IWdvPA=", + "lastModified": 1695807947, + "narHash": "sha256-p0Hp6F/Fy6khf6buWajmyzw92cVRjbWpfxLZI78NxbM=", "owner": "nix-community", "repo": "NUR", - "rev": "4e03c60740b94d8e683da3a9d323c2377c556316", + "rev": "e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd", "type": "github" }, "original": { From fe6ffa076a59cd6ed95fd2ec72c35ea5dbaf318f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 27 Sep 2023 15:00:33 +0200 Subject: [PATCH 1510/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd' (2023-09-27) → 'github:nix-community/NUR/64e08216814260edd569d04f69f15ad7675d6880' (2023-09-27) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 36d2f254..878bbe5d 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1695807947, - "narHash": "sha256-p0Hp6F/Fy6khf6buWajmyzw92cVRjbWpfxLZI78NxbM=", + "lastModified": 1695819526, + "narHash": "sha256-IH+acb0jUCZ7JRhEPvHvPmrc5LRQdRuQIyf/0zMPNLo=", "owner": "nix-community", "repo": "NUR", - "rev": "e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd", + "rev": "64e08216814260edd569d04f69f15ad7675d6880", "type": "github" }, "original": { From 579b3aa2b3d895ce729c408f2d8f9d4111328c7c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 27 Sep 2023 17:18:17 +0200 Subject: [PATCH 1511/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 0ddbef04..00704d58 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -69,7 +69,7 @@ "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "be6505be8bdd306646bb81399312c02927a60a51" }, - "semshi": { "branch": "master", "commit": "dbb08610644a902665a343b899457877981099b8" }, + "semshi": { "branch": "master", "commit": "cc40bb91e6d85ca42e6280c24c19f62ce9e30b95" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, @@ -77,9 +77,9 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, "telescope.nvim": { "branch": "master", "commit": "ed9574dd6dde143d009b2528ea6d79bd34bbe6c8" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, + "tokyonight.nvim": { "branch": "main", "commit": "8e670218651eaf02bf61c68ecdfdaa572bc14b47" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, - "twilight.nvim": { "branch": "main", "commit": "a4843e6e67092a1e6fa9666f02bf0ab59174c1df" }, + "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "14d6e866070f759e9014a8053954f835294f56f9" }, "vim-illuminate": { "branch": "master", "commit": "6acf7d4a18255a3ddc43770866c8e148fe85af7b" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, From 55aa96549978be5a4ce76cf138d0f4e4499bd537 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 28 Sep 2023 09:06:07 +0200 Subject: [PATCH 1512/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/29e28071b756b7377510d6cee5e9177e0de81c54' (2023-09-27) → 'github:nix-community/neovim-nightly-overlay/affd3257b7a0d995316a4cdf9a073adb94a99379' (2023-09-28) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/de9348978999aa78f8351b5f55930bb109e742f7?dir=contrib' (2023-09-26) → 'github:neovim/neovim/e46f5aab895f333d23d6adf490e13177c8d3c1d8?dir=contrib' (2023-09-27) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/e12483116b3b51a185a33a272bf351e357ba9a99' (2023-09-21) → 'github:NixOS/nixpkgs/f3dab3509afca932f3f4fd0908957709bb1c1f57' (2023-09-27) • Updated input 'nur': 'github:nix-community/NUR/64e08216814260edd569d04f69f15ad7675d6880' (2023-09-27) → 'github:nix-community/NUR/9d9912af0ad45feb86d1358b408a9864e3e8fffb' (2023-09-28) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 878bbe5d..68f1e95b 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1695735713, - "narHash": "sha256-9G5afPj/VACtCogn8S0tTMIX0bfIVK5vHUTN5oPK34U=", + "lastModified": 1695851387, + "narHash": "sha256-/uRO8zW0ZdEFMQ2s2GJ7kFaaympVtvThCHEFeXZpVJM=", "owner": "neovim", "repo": "neovim", - "rev": "de9348978999aa78f8351b5f55930bb109e742f7", + "rev": "e46f5aab895f333d23d6adf490e13177c8d3c1d8", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1695773024, - "narHash": "sha256-QXBceL4Fjq8byTxhLsDmk0FIqnC6HBU/S5DfvI68jG8=", + "lastModified": 1695859667, + "narHash": "sha256-T3Do1ynTQ3EKLiTsN6NLGdsk5jI2zSBSSrQQ4CxY0bo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "29e28071b756b7377510d6cee5e9177e0de81c54", + "rev": "affd3257b7a0d995316a4cdf9a073adb94a99379", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1695318763, - "narHash": "sha256-FHVPDRP2AfvsxAdc+AsgFJevMz5VBmnZglFUMlxBkcY=", + "lastModified": 1695806987, + "narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e12483116b3b51a185a33a272bf351e357ba9a99", + "rev": "f3dab3509afca932f3f4fd0908957709bb1c1f57", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1695819526, - "narHash": "sha256-IH+acb0jUCZ7JRhEPvHvPmrc5LRQdRuQIyf/0zMPNLo=", + "lastModified": 1695873864, + "narHash": "sha256-S4kHcByAmxHZtQSOMOBMBgiC1fXklQAltFCMZ7hVAtM=", "owner": "nix-community", "repo": "NUR", - "rev": "64e08216814260edd569d04f69f15ad7675d6880", + "rev": "9d9912af0ad45feb86d1358b408a9864e3e8fffb", "type": "github" }, "original": { From 731cfcb9ca17bd8b8eef3eff36481bb1b1a7463d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 09:09:01 +0200 Subject: [PATCH 1513/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/e236a1e598a9a59265897948ac9874c364b9555f' (2023-09-26) → 'github:lnl7/nix-darwin/792c2e01347cb1b2e7ec84a1ef73453ca86537d8' (2023-09-30) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/affd3257b7a0d995316a4cdf9a073adb94a99379' (2023-09-28) → 'github:nix-community/neovim-nightly-overlay/de6f29f963bdc8476981f5327b24d441cb2f49eb' (2023-10-02) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/7f53fdb7bdc5bb237da7fefef12d099e4fd611ca' (2023-09-01) → 'github:hercules-ci/flake-parts/21928e6758af0a258002647d14363d5ffc85545b' (2023-10-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/e46f5aab895f333d23d6adf490e13177c8d3c1d8?dir=contrib' (2023-09-27) → 'github:neovim/neovim/9ce1623837a817c3f4f5deff9c8ba862578b6009?dir=contrib' (2023-10-01) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/f3dab3509afca932f3f4fd0908957709bb1c1f57' (2023-09-27) → 'github:NixOS/nixpkgs/c182df2e68bd97deb32c7e4765adfbbbcaf75b60' (2023-09-29) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/261abe8a44a7e8392598d038d2e01f7b33cf26d0' (2023-09-24) → 'github:NixOS/nixpkgs/32dcb45f66c0487e92db8303a798ebc548cadedc' (2023-09-30) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/b988d01a2fbd9cc600b21ebe8e5d6317206e7171' (2023-09-27) → 'github:nixos/nixpkgs/96c84127d72c3b9f002cc072629ab96bc5531717' (2023-10-01) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/6500b4580c2a1f3d0f980d32d285739d8e156d92' (2023-09-25) → 'github:nixos/nixpkgs/f5892ddac112a1e9b3612c39af1b72987ee5783a' (2023-09-29) • Updated input 'nur': 'github:nix-community/NUR/9d9912af0ad45feb86d1358b408a9864e3e8fffb' (2023-09-28) → 'github:nix-community/NUR/8898a0d0b3f80822e24d92607169b287d292c31c' (2023-10-02) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 68f1e95b..2eef91b0 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1695686713, - "narHash": "sha256-rJATx5B/nwlBpt7CJUf85LV27qWPbul5UVV8fu6ABPg=", + "lastModified": 1696043447, + "narHash": "sha256-VbJ1dY5pVH2fX1bS+cT2+4+BYEk4lMHRP0+udu9G6tk=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "e236a1e598a9a59265897948ac9874c364b9555f", + "rev": "792c2e01347cb1b2e7ec84a1ef73453ca86537d8", "type": "github" }, "original": { @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "lastModified": 1696203690, + "narHash": "sha256-774XMEL7VHSTLDYVkqrbl5GCdmkVKsjMs+KLM4N4t7k=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "rev": "21928e6758af0a258002647d14363d5ffc85545b", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1695851387, - "narHash": "sha256-/uRO8zW0ZdEFMQ2s2GJ7kFaaympVtvThCHEFeXZpVJM=", + "lastModified": 1696187451, + "narHash": "sha256-AiGMtsPP6DiCgBjHJSPlr49+Oov2WdTDPd+ffZgkT5o=", "owner": "neovim", "repo": "neovim", - "rev": "e46f5aab895f333d23d6adf490e13177c8d3c1d8", + "rev": "9ce1623837a817c3f4f5deff9c8ba862578b6009", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1695859667, - "narHash": "sha256-T3Do1ynTQ3EKLiTsN6NLGdsk5jI2zSBSSrQQ4CxY0bo=", + "lastModified": 1696205061, + "narHash": "sha256-HXUmII41X0fDSQouFa86KWnvGmdipNmF5hIx9hEH9EU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "affd3257b7a0d995316a4cdf9a073adb94a99379", + "rev": "de6f29f963bdc8476981f5327b24d441cb2f49eb", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1695781655, - "narHash": "sha256-p3gWPvkOddfQ88PzWubrB53TwT8OXW/oxRQkzJVCjJ0=", + "lastModified": 1696148245, + "narHash": "sha256-WhUH+ya0x4JUn8T7x3IvKNU+zs1B8LRqr4LCA70n2+k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b988d01a2fbd9cc600b21ebe8e5d6317206e7171", + "rev": "96c84127d72c3b9f002cc072629ab96bc5531717", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1695644571, - "narHash": "sha256-asS9dCCdlt1lPq0DLwkVBbVoEKuEuz+Zi3DG7pR/RxA=", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6500b4580c2a1f3d0f980d32d285739d8e156d92", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1695806987, - "narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=", + "lastModified": 1696009558, + "narHash": "sha256-/1nNL8lCF0gn38XaFyu2ufpWcBFwCDZyYUxdZkM6GxU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f3dab3509afca932f3f4fd0908957709bb1c1f57", + "rev": "c182df2e68bd97deb32c7e4765adfbbbcaf75b60", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1695559356, - "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", + "lastModified": 1696039360, + "narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", + "rev": "32dcb45f66c0487e92db8303a798ebc548cadedc", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1695873864, - "narHash": "sha256-S4kHcByAmxHZtQSOMOBMBgiC1fXklQAltFCMZ7hVAtM=", + "lastModified": 1696230189, + "narHash": "sha256-u8Jd0G+BQM184V15gTUc9E5UktRcdvSvk7tLSBxyfrs=", "owner": "nix-community", "repo": "NUR", - "rev": "9d9912af0ad45feb86d1358b408a9864e3e8fffb", + "rev": "8898a0d0b3f80822e24d92607169b287d292c31c", "type": "github" }, "original": { From 0e895a755b3ffbecfb2c353a7e0f3fb32fd24adf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 09:17:47 +0200 Subject: [PATCH 1514/2080] Cleanup neovim setup --- flake.nix | 12 +- home/neovim.nix | 539 +++--------------------- modules/home/programs/neovim/extras.nix | 185 -------- 3 files changed, 71 insertions(+), 665 deletions(-) delete mode 100644 modules/home/programs/neovim/extras.nix diff --git a/flake.nix b/flake.nix index 12f58f38..50235c02 100644 --- a/flake.nix +++ b/flake.nix @@ -67,7 +67,8 @@ tmux = import ./modules/home/tmux; lbdb = import ./modules/home/lbdb; main = import ./home/main.nix; - neovim = import ./home/neovim-nightly.nix; + # Neovim: no conf, relying on using vim-managed config + neovim = import ./home/neovim.nix; # emacs = import ./modules/home/emacs; home-user-info = { lib, ... }: { # XXX figure what this does @@ -77,13 +78,8 @@ homeManagerLinuxModules = { # only for GNU/Linux mail = import ./modules/home/mail; - # Custom configuration manage in nix - # neovim = import ./home/neovim.nix; - # Only nightly, no conf, relying on using vim-managed config - neovim = import ./home/neovim-nightly.nix; - # malob configuration - # neovim = import ./home/neovim-malob.nix; - # programs-neovim-extras = import ./modules/home/programs/neovim/extras.nix; + # Neovim: no conf, relying on using vim-managed config + neovim = import ./home/neovim.nix; keybase = import ./home/keybase.nix; firefox = import ./home/firefox.nix; wm = import ./modules/home/wm; diff --git a/home/neovim.nix b/home/neovim.nix index 30ae23b7..fe19f779 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -1,486 +1,81 @@ # https://srid.ca/cli/neovim/install -# TODO -# - fix automatic indentation when creating block like {}: last } is not porperly aligned -# - also indent # commented lines when doing > -# - completion from other buffers -{ pkgs, inputs, pkgs-unstable, ... }: +{ config, pkgs, inputs, pkgs-unstable, lib, ... }: -{ - imports = [ - ./lsp.nix - ]; +let + neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; +in +{ programs.neovim = { enable = true; + # package = neovim-unwrapped; package = pkgs-unstable.neovim-unwrapped; + # XXX: nightly version disabled for now, temporary issues arriving too often + # package = neovim-nightly; # use nvim by default vimAlias = true; vimdiffAlias = true; viAlias = true; - - plugins = with pkgs.vimPlugins; [ - plenary-nvim - popup-nvim - nvim-web-devicons - vim-numbertoggle - { - plugin = tokyonight-nvim; - config = '' - set background=dark - colorscheme tokyonight - ''; - } - { - plugin = lessspace-vim; - config = "let g:lessspace_blacklist = ['diff', 'mail']"; - } - { - plugin = nvim-autopairs; - type = "lua"; - config = '' - require("nvim-autopairs").setup({}) - ''; - } - { - plugin = lualine-nvim; - type = "lua"; - config = '' - require("lualine").setup({ - options = { - theme = "tokyonight", - }, - sections = { - lualine_c = { - "filename", - "lsp_progress" - }, - lualine_x = { - "encoding", - "fileformat", - "filetype" - } - } - }) - ''; - } - { - plugin = bufferline-nvim; - type = "lua"; - # XXX find a way to specify a specific plugin version - # tag = "v3.*"; - config = '' - require("bufferline").setup({ - options = { - show_close_icon = false, - custom_filter = function(buf, buf_nums) - -- Hide quickfix lists from bufferline - return vim.bo[buf].buftype ~= "quickfix" - end, - offsets = { - { - filetype = "NvimTree", - text = vim.fn.getcwd - } - } - } - }) - -- Navigate buffers - local opts = { noremap = true, silent = true } - vim.keymap.set("n", "<S-l>", ":bnext<CR>", opts) - vim.keymap.set("n", "<S-h>", ":bprevious<CR>", opts) - ''; - } - { - plugin = wilder-nvim; - config = "call wilder#setup({'modes': [':', '/', '?']})"; - } - { - plugin = alpha-nvim; - type = "lua"; - config = '' - local alpha = require("alpha") - local dashboard = require("alpha.themes.dashboard") - dashboard.section.buttons.val = { - dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"), - dashboard.button("q", " Quit NVIM", ":qa<CR>"), - dashboard.button("SPC s f", " Find file"), - dashboard.button("SPC s r", " Recently opened files"), - dashboard.button("SPC s t", " Find text"), - dashboard.button("SPC s p", " Jump to project"), - dashboard.button("SPC s s", " Find old sessions"), - } - local handle = io.popen("fortune") - local fortune = handle:read("*a") - handle:close() - dashboard.section.footer.val = fortune - dashboard.config.opts.noautocmd = true - vim.cmd([[autocmd User AlphaReady echo 'ready']]) - alpha.setup(dashboard.config) - ''; - } - { - plugin = neoscroll-nvim; - type = "lua"; - config = ''require("neoscroll").setup({})''; - } - editorconfig-nvim - vim-sleuth - { - plugin = camelcasemotion; - config = "let g:camelcasemotion_key = '\\'"; - } - { - plugin = suda-vim; - config = "let g:suda_smart_edit = 1"; - } - nvim-ts-rainbow - { - plugin = nvim-treesitter.withPlugins (p: pkgs.tree-sitter.allGrammars); - type = "lua"; - config = '' - require("nvim-treesitter.configs").setup({ - highlight = { - enable = true, - disable = { "latex" }, - }, - incremental_selection = { enable = true }, - indentation = { enable = true }, - folding = { enable = true }, - -- rainbow parenthesis match - rainbow = { - enable = true, - extended_mode = true, -- Also highlight non-bracket delimiters - max_file_lines = nil - } - }) - ''; - } - { - plugin = nvim-colorizer-lua; - type = "lua"; - config = ''require("colorizer").setup({})''; - } - # Manage undo - undotree - # Comment - { - plugin = pkgs.nur.repos.m15a.vimExtraPlugins.Comment-nvim; - type = "lua"; - config = ''require("Comment").setup({})''; - } - # vim-mundo - telescope-file-browser-nvim - telescope-fzf-native-nvim - telescope-symbols-nvim - # telescope-termfinder - { - plugin = telescope-nvim; - type = "lua"; - config = '' - local telescope = require("telescope") - telescope.load_extension("file_browser") - telescope.load_extension("projects") - telescope.load_extension("fzf") - -- telescope.load_extension("termfinder") - ''; - } - { - plugin = gitsigns-nvim; - type = "lua"; - config = ''require("gitsigns").setup({})''; - } - # open last position in file - vim-lastplace - { - plugin = project-nvim; - type = "lua"; - config = '' - require("project_nvim").setup({ - -- :ProjectRoot is required to switch project - manual_mode = true, - silent_chdir = false, - }) - ''; - } - { - # Catalyze Fenced Markdown Code-block editing! - plugin = pkgs.nur.repos.m15a.vimExtraPlugins.nvim-FeMaco-lua; - type = "lua"; - config = ''require("femaco").setup({})''; - } - lualine-lsp-progress - { - plugin = fidget-nvim; - type = "lua"; - config = ''require("fidget").setup({})''; - } - { - plugin = which-key-nvim; - type = "lua"; - config = '' - local wk = require("which-key") - wk.setup { - spelling = { - enabled = true, - suggestions = 10 - }, - window = { - margin = {0, 0, 0, 0}, - padding = {1, 0, 1, 0,} - } - } - local map = function (from, to, ...) - return { - from, to, ..., - noremap = true, - silent = true - } - end - wk.register ( - { - f = { - name = "Find", - r = map ("<cmd>Telescope resume<cr>", "Resume saerch"), - f = map ("<cmd>Telescope find_files<cr>", "Files"), - g = map ("<cmd>Telescope live_grep<cr>", "Grep"), - b = map ("<cmd>Telescope buffers<cr>", "Buffers"), - h = map ("<cmd>Telescope help_tags<cr>", "Help"), - p = map ("<cmd>Telescope projects<cr>", "Projects"), - e = map ("<cmd>Telescope file_browser<cr>", "Explore"), - t = map ("<cmd>NvimTreeToggle<cr>", "File tree"), - -- ["\\"] = map ("<cmd>Telescope termfinder find<cr>", "Terminals"), - [":"] = map ("<cmd>Telescope commands<cr>", "Commands"), - a = map ("<cmd>Telescope<cr>", "All telescopes"), - }, - c = { - name = "Code", - e = map ("<cmd>FeMaco<cr>", "Edit fenced block"), - }, - g = { - name = "Git", - g = map ("<cmd>Lazygit<cr>", "Lazygit"), - }, - r = { - name = "Reload", - r = map ("<cmd>e<cr>", "File"), - c = map ("<cmd>source ~/.config/nvim/init.vim<cr>", "Config"), - }, - t = { - name = "Table", - m = "Toggle table mode", - t = "To table" - }, - u = map ("<cmd>UndotreeToggle<cr>", "Undo tree"), - }, - { prefix = "<leader>" } - ) - wk.register { - ["]b"] = map ("<cmd>BufferLineCycleNext<cr>", "Next buffer"), - ["]B"] = map ("<cmd>BufferLineMoveNext<cr>", "Move buffer right"), - ["[b"] = map ("<cmd>BufferLineCyclePrev<cr>", "Previous buffer"), - ["[B"] = map ("<cmd>BufferLineMovePrev<cr>", "Move buffer left"), - gb = map ("<cmd>BufferLinePick<cr>", "Go to buffer"), - gB = map ("<cmd>BufferLinePickClose<cr>", "Close picked buffer"), - } - ''; - } - { - plugin = nvim-tree-lua; - type = "lua"; - # tag = "nightly"; - config = '' - require("nvim-tree").setup({}) - vim.keymap.set("n", "<leader>T", "<cmd>NvimTreeToggle<cr>", { silent = true, noremap = true }) - ''; - } - { - plugin = lsp_signature-nvim; - type = "lua"; - config = ''require"lsp_signature".setup({})''; - } - nvim-cmp - cmp-nvim-lsp - cmp-nvim-lua - cmp-path - cmp-buffer - cmp-cmdline - cmp-emoji - cmp_luasnip - # { - # plugin = (pkgs.vimUtils.buildVimPlugin { - # # Neovim completion library for sumneko/lua-language-server - # name = "emmylua-nvim"; - # src = pkgs.fetchFromGitHub { - # owner = "ii14"; - # repo = "emmylua-nvim"; - # rev = "a220650fd6ef6490a787eb7efcab24b4bf13dab8"; - # # sha256 = "J/j7pyvqdSfQUkcXw0krvw303N+FlgDN+wH0bAefOYw="; - # }; - # }); - # } - friendly-snippets - { - plugin = pkgs.nur.repos.m15a.vimExtraPlugins.lspkind-nvim; - } - { - plugin = pkgs.nur.repos.m15a.vimExtraPlugins.LuaSnip; - } - { - plugin = nvim-lspconfig; - type = "lua"; - config = '' - local cmp = require("cmp") - local luasnip = require("luasnip") - cmp.setup { - snippet = { - expand = function (args) - luasnip.lsp_expand(args.body) - end - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - mapping = { - ["<C-p>"] = cmp.mapping.select_prev_item(), - ["<C-n>"] = cmp.mapping.select_next_item(), - ["<C-u>"] = cmp.mapping.scroll_docs(-4), - ["<C-d>"] = cmp.mapping.scroll_docs(4), - ["<C-Space>"] = cmp.mapping.complete(), - ["<C-e>"] = cmp.mapping.close(), - ["<CR>"] = cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Replace, - select = true - }, - ["<Tab>"] = function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-expand-or-jump", true, true, true), "") - else - fallback() - end - end, - ["<S-Tab>"] = function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-jump-prev", true, true, true), "") - else - fallback() - end - end - }, - sources = { - { name = "luasnip" }, - { - name = "buffer", - option = { - get_bufnrs = function() - return vim.api.nvim_list_bufs() - end, - }, - }, - { name = "path" }, - { name = "emoji", insert = true }, - { name = "nvim_lsp" }, - } - } - ''; - } - ]; - - extraConfig = '' - set termguicolors " Enable gui colors - set cursorline " Enable highlighting of the current line - set signcolumn=yes " Always show signcolumn or it would frequently shift - set pumheight=10 " Make popup menu smaller - set cmdheight=0 " Automatically hide command line - set colorcolumn=+1 " Draw colored column one step to the right of desired maximum width - set linebreak " Wrap long lines at 'breakat' (if 'wrap' is set) - set scrolloff=2 " Show more lines on top and bottom - set title " Enable window title - set list " Show tabs and trailing spaces - set number " Show line numbers - set relativenumber " Show relative line numbers - set numberwidth=1 " Minimum number width - set noshowmode - set whichwrap=b,s,h,l,<,>,[,] " Allow moving along lines when the start/end is reached - set clipboard=unnamedplus " Sync yank register with system clipboard - set expandtab " Convert tabs to spaces - set tabstop=2 " Display 2 spaces for a tab - set shiftwidth=2 " Use this number of spaces for indentation - " XXX breaking indentation of new comments - " https://unix.stackexchange.com/a/543571 - " set smartindent " Make indenting smart - " set autoindent " Use auto indent - set breakindent " Indent wrapped lines to match line start - set cindent cinkeys-=0# " Configure indentation - set virtualedit=block - set formatlistpat=^\\s*\\w\\+[.\)]\\s\\+\\\\|^\\s*[\\-\\+\\*]\\+\\s\\+ - set foldmethod=indent " Set 'indent' folding method - set nofoldenable " Start with folds opened - let g:mapleader = ' ' - let g:maplocalleader = '\\' " Avoid clashes between local and global mappings - " use return to enter command mode - nnoremap <cr> : - vnoremap <cr> : - set mouse= " Disable mouse - set lazyredraw " Use lazy redraw - set undofile " Enable persistent undo - set hidden " Allow buffers in background - set ignorecase " Enable case insensitive search - set smartcase " when using uppercase make case sensitive - set incsearch " Show search results while typing - " let $GIT_EDITOR = 'nvr -cc split --remote-wait' - autocmd FileType gitcommit,gitrebase,gitconfig set bufhidden=delete - " disable spell by default - set nospell - set spelllang=en,fr " Define spelling dictionaries - set complete+=kspell " Add spellcheck options for autocomplete - set spelloptions=camel " Treat parts of camelCase words as separate words - set completeopt=menu,menuone,noselect - " XXX when adding a quote there, it's autopaired, which is useless as we are in vimscript, and it's the comment - " Highlight problematic whitespace - set list - set listchars="tab:>.,trial:.,exteands:#,nbsp:." - " Create new window below current one, and on the right - set splitbelow - set splitright - vnoremap j gj - vnoremap k gk - nnoremap j gj - nnoremap k gk - ''; + # XXX: only for nixos, for https://github.com/kkharji/sqlite.lua + # FIXME: breaking using non managed lazyvim setup + # plugins = [ + # { + # plugin = pkgs.vimPlugins.sqlite-lua; + # config = "let g:sqlite_clib_path = '${pkgs.sqlite.out}/lib/libsqlite3.so'"; + # } + # ]; }; + home.packages = with pkgs; [ + luajit + luajitPackages.luarocks + # For LuaSnip + luajitPackages.jsregexp - # Load LSP servers - nvimLSP.rnix = rec { - package = pkgs.rnix-lsp; - }; - nvimLSP.yamlls = rec { - package = pkgs.nodePackages.yaml-language-server; - }; - nvimLSP.pyright = pkgs.nodePackages.pyright; - nvimLSP.sumneko_lua = rec { - package = pkgs.sumneko-lua-language-server; - config = { - settings = { - Lua = { - runtime = { - version = "LuaJIT"; - }; - diagnostics = { - # Get the language server to recognize the `vim` global - globals = [ "vim" ]; - }; - telemetry = { - enable = false; - }; - }; - }; - }; - }; -} + # Dev stuff + # XXX maybe to be moved to project-specific envs + actionlint + ansible-lint + beautysh + black + cargo + deno + gnumake + go + isort + jq + nodePackages.alex + nodePackages.markdownlint-cli + nodePackages.prettier + gnumake + # XXX textlint doesn't foudn the terminology rule + # pkgs-unstable.nodePackages.textlint + # pkgs-unstable.nodePackages.textlint-rule-terminology + nodejs + # podman + pylint + qemu + stylua + # building treesitter stuff in nvim + gcc + # yanky sqlite support in nvim + sqlite + # LSP servers that are installed globally + nodePackages.yaml-language-server + pkgs-unstable.ansible-language-server + pyright + rnix-lsp + sumneko-lua-language-server + # Required for ltex-ls usage in neovim + jdk11 + nodePackages.bash-language-server + nodePackages.vim-language-server + pkgs-unstable.nodePackages.vscode-json-languageserver + # Not yet in nixpkgs: https://github.com/NixOS/nixpkgs/pull/193682 + nodePackages.write-good + pkgs-unstable.marksman + ] ++ lib.optionals stdenv.isLinux [ + checkmake + ]; +} diff --git a/modules/home/programs/neovim/extras.nix b/modules/home/programs/neovim/extras.nix deleted file mode 100644 index 9a73c7e8..00000000 --- a/modules/home/programs/neovim/extras.nix +++ /dev/null @@ -1,185 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - inherit (lib) mkIf mkOption optionalString types; - - cfg = config.programs.neovim.extras; - nvr = "${pkgs.neovim-remote}/bin/nvr"; - - shellConfig = with cfg.nvrAliases; '' - # START programs.neovim.extras config ---------------------------------------------------------- - - '' + optionalString cfg.termBufferAutoChangeDir '' - # If shell is running in a Neovim terminal buffer, set the PWD of the buffer to `$PWD`. - if test -n "$NVIM"; nvim-sync-term-buffer-pwd; end - - '' + optionalString cfg.nvrAliases.enable '' - # Neovim Remote aliases - if test -n "$NVIM" - alias ${edit} "${nvr}" - alias ${split} "${nvr} -o" - alias ${vsplit} "${nvr} -O" - alias ${tabedit} "${nvr} --remote-tab" - alias ${nvim} "command nvim" - alias nvim "echo 'This shell is running in a Neovim termainal buffer. Use \'${nvim}\' to a nested instance of Neovim, otherwise use ${edit}, ${split}, ${vsplit}, or ${tabedit} to open files in the this Neovim instance.'" - else - alias ${edit} "nvim" - end - - '' + '' - # END programs.neovim.extras config ------------------------------------------------------------ - ''; -in -{ - options.programs.neovim.extras = { - termBufferAutoChangeDir = mkOption { - type = types.bool; - default = false; - description = '' - When enabled, the <literal>pwd</literal> of terminal buffers in Neovim are automatically - updated to match <literal>$PWD</literal> of the shell running inside them. - - Note that you cannot use this option if you are using - <option>programs.neovim.configure</option>, use <option>programs.neovim.extraConfig</option> - and <option>programs.neovim.plugins</option> instead. - - (Currently only works with Fish shell.) - ''; - }; - - nvrAliases = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - When enabled, shell aliases for helpful Neovim Remote commands are created if the shell is - running inside a Neovim terminal buffer. Additionally, running <command>nvim</command> - won't open a nested Neovim instance but instead print a message listing the available - <command>nvr</command> aliases, as well as the command to run if you actually want to open - a nested Neovim instance. - - Note that you cannot use this option if you are using - <option>programs.neovim.configure</option>, use - <option>programs.neovim.extraConfig</option> and <option>programs.neovim.plugins</option> - instead. - - (Currently only works with Fish shell.) - ''; - }; - - edit = mkOption { - type = types.str; - default = "n"; - description = '' - Equivalent to Neovim's <command>:edit</command> command, i.e., running - <command>n [file]</command> will open the file in the current window. - - When not in Neovim this also acts as an alias for <command>nvim</command>. - - (Alias for <command>nvr</command>.) - ''; - }; - - split = mkOption { - type = types.str; - default = "ns"; - description = '' - Equivalent to Neovim's <command>:split/command> command. - - (Alias for <command>nvr -o</command>.) - ''; - }; - - vsplit = mkOption { - type = types.str; - default = "nv"; - description = '' - Equivalent to Neovim's <command>:vsplit/command> command. - - (Alias for <command>nvr -O</command>.) - ''; - }; - - tabedit = mkOption { - type = types.str; - default = "nt"; - description = '' - Equivalent to Neovim's <command>:tabedit</command> command. - - (Alias for <command>nvr --remote-tab</command>.) - ''; - }; - - nvim = mkOption { - type = types.str; - default = "neovim"; - description = '' - Opens a nested Neovim instance. - ''; - }; - }; - - defaultEditor = mkOption { - type = types.bool; - default = false; - description = '' - When enabled, the <literal>EDITOR</literal> and <literal>VISUAL</literal> environment - variable are set to <command>nvr --remote-wait-silent</command>, and - <command>${nvr} -cc split --remote-wait +'set bufhidden=delete'</command> if the shell is - running inside a Neovim. - ''; - }; - }; - - config = mkIf config.programs.neovim.enable { - home.sessionVariables = mkIf cfg.defaultEditor { - EDITOR = "${nvr} --remote-wait-silent"; - VISUAL = "${nvr} --remote-wait-silent"; - }; - - programs.fish.functions.nvim-sync-term-buffer-pwd = mkIf cfg.termBufferAutoChangeDir { - body = '' - if test -n "$NVIM" - ${nvr} -c "let g:term_buffer_pwds.$fish_pid = '$PWD' | call Set_term_buffer_pwd() " - end - ''; - onVariable = "PWD"; - }; - - programs.neovim.extraConfig = mkIf (cfg.termBufferAutoChangeDir || cfg.defaultEditor) ( - optionalString cfg.termBufferAutoChangeDir '' - " START programs.neovim.extras.termBufferAutoChangeDir config ------------------------------ - - " Dictionary used to track the PWD of terminal buffers. Keys should be PIDs and values are - " is PWD of the shell with that PID. These values are updated from the shell using `nvr`. - let g:term_buffer_pwds = {} - - " Function to call to update the PWD of the current terminal buffer. - function Set_term_buffer_pwd() abort - if &buftype == 'terminal' && exists('g:term_buffer_pwds[b:terminal_job_pid]') - execute 'lchd ' . g:term_buffer_pwds[b:terminal_job_pid] - endif - endfunction - - " Sometimes the PWD the shell in a terminal buffer will change when in another buffer, so - " when entering a terminal buffer we update try to update it's PWD. - augroup NvimTermPwd - au! - au BufEnter * if &buftype == 'terminal' | call Set_term_buffer_pwd() | endif - augroup END - - " END programs.neovim.extras.termBufferAutoChangeDir config -------------------------------- - '' + optionalString cfg.defaultEditor '' - " START programs.neovim.extras.defaultEditor config ---------------------------------------- - - let $EDITOR = '${nvr} -cc split -c "set bufhidden=delete" --remote-wait' - let $VISUAL = $EDITOR - - " END programs.neovim.extras.defaultEditor config ------------------------------------------ - '' - ); - - programs.fish.interactiveShellInit = - mkIf (cfg.termBufferAutoChangeDir || cfg.nvrAliases.enable) shellConfig; - }; -} From 8d8fe36038df9db0b4428947536550e414021131 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 09:17:54 +0200 Subject: [PATCH 1515/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 00704d58..214a027b 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -22,11 +22,11 @@ "gx.nvim": { "branch": "main", "commit": "b78478ce851f3e8bfaf828421316122e88d12cee" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, - "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, + "indent-blankline.nvim": { "branch": "master", "commit": "2424b9956fc46731152c8326e3547d9ca6c903a9" }, + "lazy.nvim": { "branch": "main", "commit": "59335c5b9d116f5d3948f833288a89e2a829a005" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "2451adb9bdb0fd32140bf3aa8dbc17ff60050db3" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "48025d62f45af52ba47e4193b854864839392e4c" }, "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, @@ -69,24 +69,24 @@ "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "be6505be8bdd306646bb81399312c02927a60a51" }, - "semshi": { "branch": "master", "commit": "cc40bb91e6d85ca42e6280c24c19f62ce9e30b95" }, + "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "ed9574dd6dde143d009b2528ea6d79bd34bbe6c8" }, + "telescope.nvim": { "branch": "master", "commit": "7d51950854a3f8853c5c0d570757095e9a5af313" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "8e670218651eaf02bf61c68ecdfdaa572bc14b47" }, + "tokyonight.nvim": { "branch": "main", "commit": "e89caa3ad6d8da9d0dd981ec74a82c55adc61ffd" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "14d6e866070f759e9014a8053954f835294f56f9" }, - "vim-illuminate": { "branch": "master", "commit": "6acf7d4a18255a3ddc43770866c8e148fe85af7b" }, + "vim-illuminate": { "branch": "master", "commit": "1b5d70332a51a1de05f281069851865a2bb1e6d7" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "51dfc7721cfa4bb5b1baf5f365b8a39394d89eb2" }, + "yanky.nvim": { "branch": "main", "commit": "590a713b0372485f595eea36e7e3ab2069946794" }, "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } From cce0ec2dba5f32938fb2c82f23ae99495684e9c8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 09:18:28 +0200 Subject: [PATCH 1516/2080] nvim lsp: switch to none-ls. See https://github.com/LazyVim/LazyVim/discussions/1522 --- lazyvim/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index b73d8538..70062b89 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -177,7 +177,7 @@ return { -- customise null-ls { - "jose-elias-alvarez/null-ls.nvim", + "nvimtools/none-ls.nvim", opts = function(_, opts) local nls = require("null-ls") local utils = require("null-ls.utils") From e4c23dbf8778de750627cac335f01b60534e5c94 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 09:18:40 +0200 Subject: [PATCH 1517/2080] Clean unused neovim conf up --- home/neovim-malob.nix | 220 ---------------------------------------- home/neovim-nightly.nix | 81 --------------- 2 files changed, 301 deletions(-) delete mode 100644 home/neovim-malob.nix delete mode 100644 home/neovim-nightly.nix diff --git a/home/neovim-malob.nix b/home/neovim-malob.nix deleted file mode 100644 index 603ca059..00000000 --- a/home/neovim-malob.nix +++ /dev/null @@ -1,220 +0,0 @@ -{ config, pkgs, lib, ... }: -# Let-In ----------------------------------------------------------------------------------------{{{ -let - inherit (lib) concatStringsSep optional; - inherit (config.lib.file) mkOutOfStoreSymlink; - inherit (config.home.user-info) nixConfigDirectory; - - mkLuaTableFromList = x: "{" + lib.concatMapStringsSep "," (y: "'${y}'") x + "}"; - mkNeovimAutocmd = { event, pattern, callback ? "" }: '' - vim.api.nvim_create_autocmd(${mkLuaTableFromList event}, { - pattern = ${mkLuaTableFromList pattern}, - callback = ${callback}, - })''; - requireConf = p: "require 'malo.${builtins.replaceStrings [ "." ] [ "-" ] p.pname}'"; - - # Function to create `programs.neovim.plugins` entries inspired by `packer.nvim`. - packer = - { use - # Plugins that this plugin depends on. - , deps ? [ ] - # Used to manually specify that the plugin shouldn't be loaded at start up. - , opt ? false - # Whether to load the plugin when using VS Code with `vscode-neovim`. - , vscode ? false - # Code to run before the plugin is loaded. - , setup ? "" - # Code to run after the plugin is loaded. - , config ? "" - # The following all imply lazy-loading and imply `opt = true`. - # `FileType`s which load the plugin. - , ft ? [ ] - # Autocommand events which load the plugin. - , event ? [ ] - }: - let - loadFunctionName = "load_${builtins.replaceStrings [ "." "-" ] [ "_" "_" ] use.pname}"; - autoload = !opt && vscode && ft == [ ] && event == [ ]; - configFinal = - concatStringsSep "\n" ( - optional (!autoload && !opt) "vim.cmd 'packadd ${use.pname}'" - ++ optional (config != "") config - ); - in - { - plugin = use.overrideAttrs (old: { - dependencies = lib.unique (old.dependencies or [ ] ++ deps); - }); - optional = !autoload; - type = "lua"; - config = if (setup == "" && configFinal == "") then null else - ( - concatStringsSep "\n" - ( - [ "\n-- ${use.pname or use.name}" ] - ++ optional (setup != "") setup - - # If the plugin isn't always loaded at startup - ++ optional (!autoload) (concatStringsSep "\n" ( - [ "local ${loadFunctionName} = function()" ] - ++ optional (!vscode) "if vim.g.vscode == nil then" - ++ [ configFinal ] - ++ optional (!vscode) "end" - ++ [ "end" ] - ++ optional (ft == [ ] && event == [ ]) "${loadFunctionName}()" - ++ optional (ft != [ ]) (mkNeovimAutocmd { - event = [ "FileType" ]; - pattern = ft; - callback = loadFunctionName; - }) - ++ optional (event != [ ]) (mkNeovimAutocmd { - inherit event; - pattern = [ "*" ]; - callback = loadFunctionName; - }) - )) - - # If the plugin is always loaded at startup - ++ optional (autoload && configFinal != "") configFinal - ) - ); - }; -in -# }}} -{ - # Neovim - # https://rycee.gitlab.io/home-manager/options.html#opt-programs.neovim.enable - programs.neovim.enable = true; - - # Config and plugins ------------------------------------------------------------------------- {{{ - - # Put neovim configuration located in this repository into place in a way that edits to the - # configuration don't require rebuilding the `home-manager` environment to take effect. - xdg.configFile."nvim/lua".source = mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/lua"; - # xdg.configFile."nvim/lua".source = mkOutOfStoreSymlink "${nixConfigDirectory}/.config/nvim/lua"; - # xdg.configFile."nvim/colors".source = - # mkOutOfStoreSymlink "${nixConfigDirectory}/configs/nvim/colors"; - - # Load the `init` module from the above configs - programs.neovim.extraConfig = "lua require('init')"; - - # Add NodeJs since it's required by some plugins I use. - programs.neovim.withNodeJs = true; - # Add `penlight` Lua module package since I used in the above configs - programs.neovim.extraLuaPackages = [ pkgs.lua51Packages.penlight ]; - - # Add plugins using my `packer` function. - programs.neovim.plugins = with pkgs.vimPlugins; map packer [ - # Apperance, interface, UI, etc. - { - use = bufferline-nvim; - deps = [ nvim-web-devicons scope-nvim ]; - config = requireConf bufferline-nvim; - } - { use = lualine-nvim; deps = [ nvim-web-devicons tokyonight-nvim ]; config = requireConf tokyonight-nvim; opt = true; } - { use = gitsigns-nvim; config = requireConf gitsigns-nvim; } - { use = goyo-vim; } - { use = indent-blankline-nvim; config = requireConf indent-blankline-nvim; } - { use = lush-nvim; vscode = true; } - { - use = telescope-nvim; - config = requireConf telescope-nvim; - deps = [ - nvim-web-devicons - telescope-file-browser-nvim - telescope-fzf-native-nvim - telescope_hoogle - telescope-symbols-nvim - telescope-zoxide - ]; - } - { use = toggleterm-nvim; config = requireConf toggleterm-nvim; } - { use = zoomwintab-vim; opt = true; } - - # Completions - { use = copilot-vim; } - { use = coq_nvim; opt = true; deps = [ coq-artifacts coq-thirdparty ]; config = requireConf coq_nvim; } - - # Language servers, linters, etc. - { - use = lsp_lines-nvim; - config = '' - require'lsp_lines'.setup() - vim.diagnostic.config({ virtual_lines = { only_current_line = true } })''; - } - { use = lspsaga-nvim; config = requireConf lspsaga-nvim; } - { use = null-ls-nvim; config = requireConf null-ls-nvim; } - { use = nvim-lspconfig; deps = [ neodev-nvim ]; config = requireConf nvim-lspconfig; } - - # Language support/utilities - { - use = nvim-treesitter.withAllGrammars; - config = requireConf nvim-treesitter; - } - { use = vim-polyglot; config = requireConf vim-polyglot; } - - # Editor behavior - # Apparently broken - # { use = comment-nvim; config = "require'comment'.setup()"; } - { use = editorconfig-vim; setup = "vim.g.EditorConfig_exclude_patterns = { 'fugitive://.*' }"; } - { use = tabular; vscode = true; } - { use = vim-surround; vscode = true; } - { use = nvim-lastplace; config = "require'nvim-lastplace'.setup()"; } - { - use = vim-pencil; - setup = "vim.g['pencil#wrapModeDefault'] = 'soft'"; - config = "vim.fn['pencil#init'](); vim.wo.spell = true"; - ft = [ "markdown" "text" ]; - } - - # Misc - { use = direnv-vim; } - { use = vim-eunuch; vscode = true; } - { use = vim-fugitive; } - { use = which-key-nvim; opt = true; } - ]; - - # From personal addon module `../modules/home/programs/neovim/extras.nix` - programs.neovim.extras.termBufferAutoChangeDir = true; - programs.neovim.extras.nvrAliases.enable = true; - programs.neovim.extras.defaultEditor = true; - - # }}} - - # Required packages -------------------------------------------------------------------------- {{{ - - programs.neovim.extraPackages = with pkgs; [ - neovim-remote - - # Language servers, linters, etc. - # See `../configs/nvim/lua/malo/nvim-lspconfig.lua` and - # `../configs/nvim/lua/malo/null-ls-nvim.lua` for configuration. - - # C/C++/Objective-C - ccls - - # Bash - nodePackages.bash-language-server - shellcheck - - # Javascript/Typescript - nodePackages.typescript-language-server - - # Nix - deadnix - statix - nil - nixpkgs-fmt - - # Vim - nodePackages.vim-language-server - - #Other - nodePackages.vscode-langservers-extracted - nodePackages.yaml-language-server - proselint - sumneko-lua-language-server - ]; - # }}} -} -# vim: foldmethod=marker diff --git a/home/neovim-nightly.nix b/home/neovim-nightly.nix deleted file mode 100644 index c66fc016..00000000 --- a/home/neovim-nightly.nix +++ /dev/null @@ -1,81 +0,0 @@ -# https://srid.ca/cli/neovim/install -{ config, pkgs, inputs, pkgs-unstable, lib, ... }: - -let - neovim-nightly = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim; -in - -{ - programs.neovim = { - enable = true; - # package = neovim-unwrapped; - package = pkgs-unstable.neovim-unwrapped; - # XXX: disabled for now, temporary issues arriving too often - # package = neovim-nightly; - - # use nvim by default - vimAlias = true; - vimdiffAlias = true; - viAlias = true; - # XXX: only for nixos, for https://github.com/kkharji/sqlite.lua - # FIXME: breaking using non managed lazyvim setup - # plugins = [ - # { - # plugin = pkgs.vimPlugins.sqlite-lua; - # config = "let g:sqlite_clib_path = '${pkgs.sqlite.out}/lib/libsqlite3.so'"; - # } - # ]; - }; - home.packages = with pkgs; [ - luajit - luajitPackages.luarocks - # For LuaSnip - luajitPackages.jsregexp - - # Dev stuff - # XXX maybe to be moved to project-specific envs - actionlint - ansible-lint - beautysh - black - cargo - deno - gnumake - go - isort - jq - nodePackages.alex - nodePackages.markdownlint-cli - nodePackages.prettier - gnumake - # XXX textlint doesn't foudn the terminology rule - # pkgs-unstable.nodePackages.textlint - # pkgs-unstable.nodePackages.textlint-rule-terminology - nodejs - # podman - pylint - qemu - stylua - # building treesitter stuff in nvim - gcc - # yanky sqlite support in nvim - sqlite - - # LSP servers that are installed globally - nodePackages.yaml-language-server - pkgs-unstable.ansible-language-server - pyright - rnix-lsp - sumneko-lua-language-server - # Required for ltex-ls usage in neovim - jdk11 - nodePackages.bash-language-server - nodePackages.vim-language-server - pkgs-unstable.nodePackages.vscode-json-languageserver - # Not yet in nixpkgs: https://github.com/NixOS/nixpkgs/pull/193682 - nodePackages.write-good - pkgs-unstable.marksman - ] ++ lib.optionals stdenv.isLinux [ - checkmake - ]; -} From 64ff5cb5b6a1e1af32f58be85f30b3d2db92d38f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 09:27:06 +0200 Subject: [PATCH 1518/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/8898a0d0b3f80822e24d92607169b287d292c31c' (2023-10-02) → 'github:nix-community/NUR/b1b20ec2f1597b202ca529c332291d97cb3aa8d1' (2023-10-02) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 2eef91b0..a6f3d39c 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696230189, - "narHash": "sha256-u8Jd0G+BQM184V15gTUc9E5UktRcdvSvk7tLSBxyfrs=", + "lastModified": 1696231541, + "narHash": "sha256-1S0FAsqs0LVSgB2OxvMeu/JkA7HbWXZdOEoEt0jJfPw=", "owner": "nix-community", "repo": "NUR", - "rev": "8898a0d0b3f80822e24d92607169b287d292c31c", + "rev": "b1b20ec2f1597b202ca529c332291d97cb3aa8d1", "type": "github" }, "original": { From fdb92508bb54ba5aba33995256493d7c81e6f39d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 09:28:07 +0200 Subject: [PATCH 1519/2080] lazyvim: drop zen mode, unused. --- lazyvim/nvim/lua/plugins/ui.lua | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index 96f00cb3..9900920d 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -157,20 +157,6 @@ return { -- dims inactive portions of the code { "folke/twilight.nvim" }, - -- Zen mode for focusing on editing code - { - "folke/zen-mode.nvim", - cmd = "ZenMode", - opts = { - plugins = { - gitsigns = true, - tmux = true, - kitty = { enabled = false, font = "+2" }, - }, - }, - keys = { { "<leader>z", "<cmd>ZenMode<cr>", desc = "Zen Mode" } }, - }, - -- Fold management { "kevinhwang91/nvim-ufo", From 9cedf143fcaf967a9ff88d8772b4db97e3919aa2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 09:30:54 +0200 Subject: [PATCH 1520/2080] lazyvim: drop commented code. --- lazyvim/nvim/lua/plugins/ui.lua | 9 --------- 1 file changed, 9 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index 9900920d..7470405d 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -38,15 +38,6 @@ return { hl.LineNr = { bold = true } hl.LineNrAbove = { fg = c.fg_gutter } hl.LineNrBelow = { fg = c.fg_gutter } - -- XXX: disabled to test vanilla configuration - -- local prompt = "#2d3149" - -- hl.TelescopeNormal = { bg = c.bg_dark, fg = c.fg_dark } - -- hl.TelescopeBorder = { bg = c.bg_dark, fg = c.bg_dark } - -- hl.TelescopePromptNormal = { bg = prompt } - -- hl.TelescopePromptBorder = { bg = prompt, fg = prompt } - -- hl.TelescopePromptTitle = { bg = c.fg_gutter, fg = c.orange } - -- hl.TelescopePreviewTitle = { bg = c.bg_dark, fg = c.bg_dark } - -- hl.TelescopeResultsTitle = { bg = c.bg_dark, fg = c.bg_dark } hl.WinSeparator = { fg = c.blue } end, } From 13eef2092a3769b0c87333ae511619bcb24072d0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 09:31:24 +0200 Subject: [PATCH 1521/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 214a027b..d5dd4f18 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -88,5 +88,5 @@ "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "590a713b0372485f595eea36e7e3ab2069946794" }, - "zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" } + "yanky.nvim": { "branch": "main", "commit": "590a713b0372485f595eea36e7e3ab2069946794" } +} From a0246ae6b6c231cc5ba071ce136877b74fc537be Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 09:45:01 +0200 Subject: [PATCH 1522/2080] lazyvim: test replacing none-ls by comfort and nvim-lint --- lazyvim/nvim/lazy-lock.json | 43 ++++++++++++++++---------------- lazyvim/nvim/lua/config/lazy.lua | 4 +++ lazyvim/nvim/lua/plugins/lsp.lua | 10 ++++++-- 3 files changed, 34 insertions(+), 23 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index d5dd4f18..1fe5e9b8 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -12,14 +12,15 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "dial.nvim": { "branch": "master", "commit": "c6657df5453a6cbe4e8356e1675e9652cadc332f" }, - "diffview.nvim": { "branch": "main", "commit": "e91110d2a7f8e2f667666aba6ea089ff823f8748" }, - "dressing.nvim": { "branch": "master", "commit": "829bc80400651aea31b03d8fc9a99135512fe67a" }, - "edgy.nvim": { "branch": "main", "commit": "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4" }, - "flash.nvim": { "branch": "main", "commit": "cc8c7e03987134997d74ee87e55a5717279f2d05" }, - "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, - "gitsigns.nvim": { "branch": "main", "commit": "bdeba1cec3faddd89146690c10b9a87949c0ee66" }, - "gx.nvim": { "branch": "main", "commit": "b78478ce851f3e8bfaf828421316122e88d12cee" }, + "conform.nvim": { "branch": "master", "commit": "37d036704a100ef6e6457be45b4dfc2f8e429572" }, + "dial.nvim": { "branch": "master", "commit": "611cf5e84f655c96318b803785f89e3146d8e48f" }, + "diffview.nvim": { "branch": "main", "commit": "a111d19ccceac6530448d329c63f998f77b5626e" }, + "dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" }, + "edgy.nvim": { "branch": "main", "commit": "70e334c9cd7915aedde3255ade01ceeebe735b53" }, + "flash.nvim": { "branch": "main", "commit": "79e79ae45c3512ff1edc5da55f38ca8ee8d857b9" }, + "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, + "gitsigns.nvim": { "branch": "main", "commit": "e32efa6d6acb4a2e2e270f329df6a65080702066" }, + "gx.nvim": { "branch": "main", "commit": "b967c7ace36372d938cc33ab1612dc39f3694e42" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, "indent-blankline.nvim": { "branch": "master", "commit": "2424b9956fc46731152c8326e3547d9ca6c903a9" }, @@ -38,19 +39,19 @@ "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, "mini.starter": { "branch": "main", "commit": "c7e027558477838eac7109d8576ff1f2d9804845" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "e62babc62c7f8de579ad69d0a5d2613bff864126" }, - "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, - "neodev.nvim": { "branch": "main", "commit": "c2546d7456071308accc30e59fab24b1065ae4f6" }, - "neogen": { "branch": "main", "commit": "1dd0319ccf41b2498f45a3c7607f2ee325ffc6a0" }, - "neogit": { "branch": "master", "commit": "e3bb86665b781cc6ec3534fbe099e0939fe127e9" }, - "neorg": { "branch": "main", "commit": "1c41592ec975189c79987aa32228778c111eb67f" }, - "noice.nvim": { "branch": "main", "commit": "894db25ec726d32047799d4d0a982b701bec453b" }, - "nui.nvim": { "branch": "main", "commit": "9e3916e784660f55f47daa6f26053ad044db5d6a" }, - "null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" }, - "nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" }, - "nvim-lspconfig": { "branch": "master", "commit": "a59d74e12340242c0735666fb2e91afdbe6f2496" }, - "nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, - "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, + "neoconf.nvim": { "branch": "main", "commit": "466ba6f645f63f91ac84d3dd986acede5d107f39" }, + "neodev.nvim": { "branch": "main", "commit": "5147640bc8435ca3557a105ebd1143bc20420b60" }, + "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, + "neogit": { "branch": "master", "commit": "8b06f91ae973fd68fde074f15a887f9a3a3411cb" }, + "neorg": { "branch": "main", "commit": "745715c873395840a5127413d1ef30a42735605e" }, + "noice.nvim": { "branch": "main", "commit": "396f9146529130904e07c45e90ecdbfa607534f3" }, + "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, + "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, + "nvim-lint": { "branch": "master", "commit": "1065763f115a7765ef237347ad676ba348d7193a" }, + "nvim-lspconfig": { "branch": "master", "commit": "ac478757efcde1ac346f7044ab774e7cbb482533" }, + "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, + "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, "nvim-spider": { "branch": "main", "commit": "be7273858d75673a0ae594552742eb8769f35d6a" }, diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index ab444b3a..4cf5ce2b 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -33,6 +33,10 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.util.project" }, -- copilot disabled until there is an easy way to opt in -- { import = "lazyvim.plugins.extras.coding.copilot" }, + -- Extra for formatting, replacing none-ls + { import = "lazyvim.plugins.extras.formatting.conform" }, + -- Extra for linting, replacing none-ls + { import = "lazyvim.plugins.extras.linting.nvim-lint" }, -- import/override with your plugins { import = "plugins" }, }, diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 70062b89..fb12008e 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -178,12 +178,18 @@ return { -- customise null-ls { "nvimtools/none-ls.nvim", + -- XXX: disable to test conform and nvim-lint + -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 + enabled = false, opts = function(_, opts) + ---@diagnostic disable-next-line: no-unknown local nls = require("null-ls") + ---@diagnostic disable-next-line: no-unknown local utils = require("null-ls.utils") - local flake8_extra_args = {} + -- local flake8_extra_args = {} + ---@diagnostic disable-next-line: no-unknown local root = utils.get_root() - local flake8_conf = root .. "/.github/linters/.flake8" + -- local flake8_conf = root .. "/.github/linters/.flake8" -- Load configuration file from super-liner, if any -- if vim.loop.fs_stat(flake8_conf) then -- flake8_extra_args = { "--config", flake8_conf } From ce3e7dbe85a62ff5d87501c18034f4f74c1d623b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 14:30:55 +0200 Subject: [PATCH 1523/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/96c84127d72c3b9f002cc072629ab96bc5531717' (2023-10-01) → 'github:nixos/nixpkgs/e74884a0d3c4f61fc05c67ab7aaf6832a0f932c8' (2023-10-02) • Updated input 'nur': 'github:nix-community/NUR/b1b20ec2f1597b202ca529c332291d97cb3aa8d1' (2023-10-02) → 'github:nix-community/NUR/10cb4e7f43730216163dd7e025ab37ff560cf4bc' (2023-10-02) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index a6f3d39c..2e7faf69 100644 --- a/flake.lock +++ b/flake.lock @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1696148245, - "narHash": "sha256-WhUH+ya0x4JUn8T7x3IvKNU+zs1B8LRqr4LCA70n2+k=", + "lastModified": 1696206411, + "narHash": "sha256-anYBX6LsEki7MkdcC1OylWPYTut/6TNqjFSDIk3nwBA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "96c84127d72c3b9f002cc072629ab96bc5531717", + "rev": "e74884a0d3c4f61fc05c67ab7aaf6832a0f932c8", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696231541, - "narHash": "sha256-1S0FAsqs0LVSgB2OxvMeu/JkA7HbWXZdOEoEt0jJfPw=", + "lastModified": 1696238864, + "narHash": "sha256-PUDfk2wxGc0czhwjmoRe9RnivO8cRPnBbiGyBWxUkMQ=", "owner": "nix-community", "repo": "NUR", - "rev": "b1b20ec2f1597b202ca529c332291d97cb3aa8d1", + "rev": "10cb4e7f43730216163dd7e025ab37ff560cf4bc", "type": "github" }, "original": { From d8ace12d732e8fa2532035198b35e73a41731147 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 15:26:35 +0200 Subject: [PATCH 1524/2080] fish: replace pydf by duf, replace exa by lsd --- home/main.nix | 10 +++++----- modules/home/fish/default.nix | 13 +++++++------ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/home/main.nix b/home/main.nix index dfe6066f..37d50457 100644 --- a/home/main.nix +++ b/home/main.nix @@ -23,11 +23,12 @@ # Cool stuff black doggo + # Disk usage du-dust - # FIXME: exa is no more maintained and should be replaced by eza - # https://github.com/ogham/exa#exa-is-unmaintained-use-the-fork-eza-instead - # https://github.com/eza-community/eza - exa + # df replacement + duf + # ls replacement + lsd fd fortune gh @@ -35,7 +36,6 @@ httpie inetutils mutt - pydf ripgrep silver-searcher thefuck diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index 798f8551..ab5e8b17 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -62,13 +62,14 @@ in more = "${pkgs.bat}/bin/bat"; less = "${pkgs.bat}/bin/bat"; du = "${pkgs.du-dust}/bin/dust"; + df = "${pkgs.duf}/bin/duf"; g = "${pkgs.git}/bin/git"; - ls = "${pkgs.exa}/bin/exa"; - lsd = "${pkgs.exa}/bin/exa -D"; - ll = "ls -l --time-style long-iso --icons"; - la = "ll -a"; - l = "ls -l --time-style long-iso --icons"; - df = "${pkgs.pydf}/bin/pydf"; + ls = "${pkgs.lsd}/bin/lsd --group-directories-first"; + l = "${pkgs.lsd}/bin/lsd --group-directories-first --long --date '+%F %T'"; + ll = "${pkgs.lsd}/bin/lsd --group-directories-first --long --date '+%F %T'"; + la = "${pkgs.lsd}/bin/lsd --group-directories-first --long --date '+%F %T' --almost-all"; + # Only display directories + ld = "${pkgs.fd}/bin/fd . --type d --max-depth 1 --strip-cwd-prefix --exec-batch ${pkgs.lsd}/bin/lsd --directory-only"; # Be conservative with files # --preserver-root is for GNU versions From e858df30eb70f406897e027d06c9da82ea87d8e3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 15:32:08 +0200 Subject: [PATCH 1525/2080] Drop legacy neovim config --- configs/nvim/lua/init.lua | 278 ------------------ configs/nvim/lua/malo/bufferline-nvim.lua | 23 -- configs/nvim/lua/malo/coq_nvim.lua | 30 -- configs/nvim/lua/malo/galaxyline-nvim.lua | 152 ---------- configs/nvim/lua/malo/gitsigns-nvim.lua | 21 -- .../nvim/lua/malo/indent-blankline-nvim.lua | 15 - configs/nvim/lua/malo/lspsaga-nvim.lua | 39 --- configs/nvim/lua/malo/null-ls-nvim.lua | 28 -- configs/nvim/lua/malo/nvim-lspconfig.lua | 112 ------- configs/nvim/lua/malo/nvim-treesitter.lua | 9 - configs/nvim/lua/malo/telescope-nvim.lua | 52 ---- configs/nvim/lua/malo/toggleterm-nvim.lua | 22 -- configs/nvim/lua/malo/tokyonight-nvim.lua | 11 - configs/nvim/lua/malo/utils.lua | 58 ---- configs/nvim/lua/malo/vim-polyglot.lua | 42 --- .../_extensions/builtin_extensions.lua | 26 -- 16 files changed, 918 deletions(-) delete mode 100644 configs/nvim/lua/init.lua delete mode 100644 configs/nvim/lua/malo/bufferline-nvim.lua delete mode 100644 configs/nvim/lua/malo/coq_nvim.lua delete mode 100644 configs/nvim/lua/malo/galaxyline-nvim.lua delete mode 100644 configs/nvim/lua/malo/gitsigns-nvim.lua delete mode 100644 configs/nvim/lua/malo/indent-blankline-nvim.lua delete mode 100644 configs/nvim/lua/malo/lspsaga-nvim.lua delete mode 100644 configs/nvim/lua/malo/null-ls-nvim.lua delete mode 100644 configs/nvim/lua/malo/nvim-lspconfig.lua delete mode 100644 configs/nvim/lua/malo/nvim-treesitter.lua delete mode 100644 configs/nvim/lua/malo/telescope-nvim.lua delete mode 100644 configs/nvim/lua/malo/toggleterm-nvim.lua delete mode 100644 configs/nvim/lua/malo/tokyonight-nvim.lua delete mode 100644 configs/nvim/lua/malo/utils.lua delete mode 100644 configs/nvim/lua/malo/vim-polyglot.lua delete mode 100644 configs/nvim/lua/telescope/_extensions/builtin_extensions.lua diff --git a/configs/nvim/lua/init.lua b/configs/nvim/lua/init.lua deleted file mode 100644 index 9fe3139f..00000000 --- a/configs/nvim/lua/init.lua +++ /dev/null @@ -1,278 +0,0 @@ -local utils = require 'malo.utils' -local augroup = utils.augroup -local keymaps = utils.keymaps - --- Add some aliases for Neovim Lua API -local o = vim.o -local wo = vim.wo -local g = vim.g -local cmd = vim.cmd - --- TODO -------------------------------------------------------------------------------------------- - --- - Flesh out custom colorscheme --- - Revisit Pmenu highlights: --- - Experiment with `Diff` highlights to look more like `delta`'s output. --- - Decide on whether I want to include a bunch of language specific highlights --- - Figure out what to do with `tree-sitter` highlights. --- - Stretch --- - Add more highlights for plugins I use, and other popular plugins. --- - Create monotone variant, where one base color is supplied, and all colors are generate --- based on transformations of that colors. --- - Make tweaks to custom status line --- - Find a way to dynamically display current LSP status/progress/messages. --- - See if there's an easy way to show show Git sections when in terminal buffer. --- - Revamp conditions for when segments are displayed --- - A bunch of other small tweaks. --- - List searching with telescope.nvim. --- - Improve workspace folder detection on my telescope.nvim extensions --- - Other --- - Figure out how to get Lua LSP to be aware Nvim plugins. Why aren't they on `package.path`? --- - Play around with `tree-sitter`. - --- Basic Vim Config -------------------------------------------------------------------------------- - -o.scrolloff = 10 -- start scrolling when cursor is within 5 lines of the ledge -o.linebreak = true -- soft wraps on words not individual chars -o.mouse = 'a' -- enable mouse support in all modes -o.updatetime = 300 -o.autochdir = true -o.exrc = true -- allow project specific config in .nvimrc or .exrc files - --- Search and replace -o.ignorecase = true -- make searches with lower case characters case insensative -o.smartcase = true -- search is case sensitive only if it contains uppercase chars -o.inccommand = 'nosplit' -- show preview in buffer while doing find and replace - --- Tab key behavior -o.expandtab = true -- Convert tabs to spaces -o.tabstop = 2 -- Width of tab character -o.shiftwidth = o.tabstop -- Width of auto-indents - --- Set where splits open -o.splitbelow = true -- open horizontal splits below instead of above which is the default -o.splitright = true -- open vertical splits to the right instead of the left with is the default - --- Some basic autocommands -if g.vscode == nil then - augroup { name = 'MaloVimBasics', cmds = { - {{ 'BufEnter', 'FocusGained', 'CursorHold', 'CursorHoldI' }, { - pattern = '*', - desc = 'Check if file has changed on disk, if it has and buffer has no changes, reload it.', - command = 'checktime', - }}, - { 'BufWritePre' , { - pattern = '*', - desc = 'Remove trailing whitespace before write.', - command = [[%s/\s\+$//e]], - }}, - { 'TextYankPost', { - pattern = '*', - desc = 'Highlight yanked text.', - callback = function() vim.highlight.on_yank { higroup='Search', timeout=150 } end, - }}, - }} -end - - --- UI ---------------------------------------------------------------------------------------------- - --- Set UI related options -o.termguicolors = true -o.showmode = false -- don't show -- INSERT -- etc. -wo.colorcolumn = '100' -- show column boarder -wo.number = true -- display numberline -wo.relativenumber = true -- relative line numbers -wo.cursorline = true -- highlight current line -wo.cursorlineopt = 'number' -- only highlight the number of the cursorline -wo.signcolumn = 'yes' -- always have signcolumn open to avoid thing shifting around all the time -o.fillchars = 'stl: ,stlnc: ,vert:·,eob: ' -- No '~' on lines after end of file, other stuff - --- Set colorscheme -if g.vscode == nil then - -- require'malo.theme'.extraLushSpecs = { - -- 'lush_theme.malo.bufferline-nvim', - -- 'lush_theme.malo.statusline', - -- 'lush_theme.malo.telescope-nvim', - -- } - -- cmd 'colorscheme tokyonight' -end - - --- Terminal ---------------------------------------------------------------------------------------- - -augroup { name = 'MaloNeovimTerm', cmds = { - { 'TermOpen', { - pattern = '*', - desc = 'Set options for terminal buffers.', - command = 'setlocal nonumber | setlocal norelativenumber | setlocal signcolumn=no', - }}, -}} - -keymaps { modes = 't', opts = { silent = true }, maps = { - -- Enter normal mode in terminal using `<ESC>` like everywhere else. - { '<ESC>', [[<C-\><C-n>]] }, - -- Sometimes you want to send `<ESC>` to the terminal though. - { ' <ESC>', '<ESC>' }, -}} - --- WhichKey maps ----------------------------------------------------------------------------------- - --- Define all `<Space>` prefixed keymaps with which-key.nvim --- https://github.com/folke/which-key.nvim -cmd 'packadd which-key.nvim' -cmd 'packadd! gitsigns.nvim' -- needed for some mappings -local wk = require 'which-key' -wk.setup { plugins = { spelling = { enabled = true } } } - --- Spaced prefiexd in Normal mode -wk.register ({ - [' '] = { '<Cmd>exe v:count1 . "ToggleTerm"<CR>', 'Toggle floating terminal' }, - - -- Tabs - t = { - name = '+Tabs', - n = { '<Cmd>tabnew +term<CR>' , 'New with terminal' }, - o = { '<Cmd>tabonly<CR>' , 'Close all other' }, - q = { '<Cmd>tabclose<CR>' , 'Close' }, - l = { '<Cmd>tabnext<CR>' , 'Next' }, - h = { '<Cmd>tabprevious<CR>' , 'Previous' }, - }, - - -- Windows/splits - ['-'] = { '<Cmd>new +term<CR>' , 'New terminal below' }, - ['_'] = { '<Cmd>botright new +term<CR>' , 'New termimal below (full-width)' }, - ['\\'] = { '<Cmd>vnew +term<CR>' , 'New terminal right' }, - ['|'] = { '<Cmd>botright vnew +term<CR>' , 'New termimal right (full-height)' }, - w = { - name = '+Windows', - -- Split creation - s = { '<Cmd>split<CR>' , 'Split below' }, - v = { '<Cmd>vsplit<CR>' , 'Split right' }, - q = { '<Cmd>q<CR>' , 'Close' }, - o = { '<Cmd>only<CR>' , 'Close all other' }, - -- Navigation - k = { '<Cmd>wincmd k<CR>' , 'Go up' }, - j = { '<Cmd>wincmd j<CR>' , 'Go down' }, - h = { '<Cmd>wincmd h<CR>' , 'Go left' }, - l = { '<Cmd>wincmd l<CR>' , 'Go right' }, - w = { '<Cmd>wincmd w<CR>' , 'Go down/right' }, - W = { '<Cmd>wincmd W<CR>' , 'Go up/left' }, - t = { '<Cmd>wincmd t<CR>' , 'Go top-left' }, - b = { '<Cmd>wincmd b<CR>' , 'Go bottom-right' }, - p = { '<Cmd>wincmd p<CR>' , 'Go to previous' }, - -- Movement - K = { '<Cmd>wincmd k<CR>' , 'Move to top' }, - J = { '<Cmd>wincmd J<CR>' , 'Move to bottom' }, - H = { '<Cmd>wincmd H<CR>' , 'Move to left' }, - L = { '<Cmd>wincmd L<CR>' , 'Move to right' }, - T = { '<Cmd>wincmd T<CR>' , 'Move to new tab' }, - r = { '<Cmd>wincmd r<CR>' , 'Rotate clockwise' }, - R = { '<Cmd>wincmd R<CR>' , 'Rotate counter-clockwise' }, - z = { '<Cmd>packadd zoomwintab.vim | ZoomWinTabToggle<CR>', 'Toggle zoom' }, - -- Resize - ['='] = { '<Cmd>wincmd =<CR>' , 'All equal size' }, - ['-'] = { '<Cmd>resize -5<CR>' , 'Decrease height' }, - ['+'] = { '<Cmd>resize +5<CR>' , 'Increase height' }, - ['<'] = { '<Cmd><C-w>5<<CR>' , 'Decrease width' }, - ['>'] = { '<Cmd><C-w>5><CR>' , 'Increase width' }, - ['|'] = { '<Cmd>vertical resize 106<CR>' , 'Full line-lenght' }, - }, - - -- Git - g = { - name = '+Git', - -- vim-fugitive - b = { '<Cmd>Gblame<CR>' , 'Blame' }, - s = { '<Cmd>Git<CR>' , 'Status' }, - d = { - name = '+Diff', - s = { '<Cmd>Ghdiffsplit<CR>' , 'Split horizontal' }, - v = { '<Cmd>Gvdiffsplit<CR>' , 'Split vertical' }, - }, - -- gitsigns.nvim - h = { - name = '+Hunks', - s = { require'gitsigns'.stage_hunk , 'Stage' }, - u = { require'gitsigns'.undo_stage_hunk , 'Undo stage' }, - r = { require'gitsigns'.reset_hunk , 'Reset' }, - n = { require'gitsigns'.next_hunk , 'Go to next' }, - N = { require'gitsigns'.prev_hunk , 'Go to prev' }, - p = { require'gitsigns'.preview_hunk , 'Preview' }, - }, - -- telescope.nvim lists - l = { - name = '+Lists', - s = { '<Cmd>Telescope git_status<CR>' , 'Status' }, - c = { '<Cmd>Telescope git_commits<CR>' , 'Commits' }, - C = { '<Cmd>Telescope git_commits<CR>' , 'Buffer commits' }, - b = { '<Cmd>Telescope git_branches<CR>' , 'Branches' }, - }, - -- Other - v = { '<Cmd>!gh repo view --web<CR>' , 'View on GitHub' }, - }, - - -- Language server - l = { - name = '+LSP', - h = { '<Cmd>Lspsaga hover_doc<CR>' , 'Hover' }, - d = { vim.lsp.buf.definition , 'Jump to definition' }, - D = { vim.lsp.buf.declaration , 'Jump to declaration' }, - a = { '<Cmd>Lspsaga code_action<CR>' , 'Code action' }, - f = { vim.lsp.buf.format , 'Format' }, - r = { '<Cmd>Lspsaga rename<CR>' , 'Rename' }, - t = { vim.lsp.buf.type_definition , 'Jump to type definition' }, - n = { function() vim.diagnostic.goto_next({float = false}) end, 'Jump to next diagnostic' }, - N = { function() vim.diagnostic.goto_prev({float = false}) end, 'Jump to next diagnostic' }, - l = { - name = '+Lists', - a = { '<Cmd>Telescope lsp_code_actions<CR>' , 'Code actions' }, - A = { '<Cmd>Telescope lsp_range_code_actions<CR>' , 'Code actions (range)' }, - r = { '<Cmd>Telescope lsp_references<CR>' , 'References' }, - s = { '<Cmd>Telescope lsp_document_symbols<CR>' , 'Documents symbols' }, - S = { '<Cmd>Telescope lsp_workspace_symbols<CR>' , 'Workspace symbols' }, - }, - }, - - -- Seaching with telescope.nvim - s = { - name = '+Search', - b = { '<Cmd>Telescope file_browser<CR>' , 'File Browser' }, - f = { '<Cmd>Telescope find_files_workspace<CR>' , 'Files in workspace' }, - F = { '<Cmd>Telescope find_files<CR>' , 'Files in cwd' }, - g = { '<Cmd>Telescope live_grep_workspace<CR>' , 'Grep in workspace' }, - G = { '<Cmd>Telescope live_grep<CR>' , 'Grep in cwd' }, - l = { '<Cmd>Telescope current_buffer_fuzzy_find<CR>' , 'Buffer lines' }, - o = { '<Cmd>Telescope oldfiles<CR>' , 'Old files' }, - t = { '<Cmd>Telescope builtin<CR>' , 'Telescope lists' }, - w = { '<Cmd>Telescope grep_string_workspace<CR>' , 'Grep word in workspace' }, - W = { '<Cmd>Telescope grep_string<CR>' , 'Grep word in cwd' }, - v = { - name = '+Vim', - a = { '<Cmd>Telescope autocommands<CR>' , 'Autocommands' }, - b = { '<Cmd>Telescope buffers<CR>' , 'Buffers' }, - c = { '<Cmd>Telescope commands<CR>' , 'Commands' }, - C = { '<Cmd>Telescope command_history<CR>' , 'Command history' }, - h = { '<Cmd>Telescope highlights<CR>' , 'Highlights' }, - q = { '<Cmd>Telescope quickfix<CR>' , 'Quickfix list' }, - l = { '<Cmd>Telescope loclist<CR>' , 'Location list' }, - m = { '<Cmd>Telescope keymaps<CR>' , 'Keymaps' }, - s = { '<Cmd>Telescope spell_suggest<CR>' , 'Spell suggest' }, - o = { '<Cmd>Telescope vim_options<CR>' , 'Options' }, - r = { '<Cmd>Telescope registers<CR>' , 'Registers' }, - t = { '<Cmd>Telescope filetypes<CR>' , 'Filetypes' }, - }, - s = { function() require'telescope.builtin'.symbols(require'telescope.themes'.get_dropdown({sources = {'emoji', 'math'}})) end, 'Symbols' }, - z = { '<Cmd>Telescope zoxide list<CR>', 'Z' }, - ['?'] = { '<Cmd>Telescope help_tags<CR>', 'Vim help' }, - } - -}, { prefix = ' ' }) - --- Spaced prefiexd in mode Visual mode -wk.register ({ - l = { - name = '+LSP', - a = { ':<C-U>Lspsaga range_code_action<CR>' , 'Code action (range)' , mode = 'v' }, - }, -}, { prefix = ' ' }) diff --git a/configs/nvim/lua/malo/bufferline-nvim.lua b/configs/nvim/lua/malo/bufferline-nvim.lua deleted file mode 100644 index 3c06f26a..00000000 --- a/configs/nvim/lua/malo/bufferline-nvim.lua +++ /dev/null @@ -1,23 +0,0 @@ -local s = require'malo.utils'.symbols --- Tabline --- bufferline.nvim --- https://github.com/akinsho/bufferline.nvim -vim.cmd 'packadd bufferline.nvim' - -require 'scope'.setup() -require 'bufferline'.setup { - options = { - -- themable = true, - -- view = 'multiwindow', - -- separator_style = 'slant', - diagnostics = 'nvim_lsp', - diagnostics_indicator = function(_, level) - return ' ' .. ( - (level:match('error') and s.errorShape) or - (level:match('warning') and s.warningShape) or - s.infoShape - ) - end, - custom_areas = { right = function() return { { text = ' ' .. os.date('%H:%M') } } end } - }, -} diff --git a/configs/nvim/lua/malo/coq_nvim.lua b/configs/nvim/lua/malo/coq_nvim.lua deleted file mode 100644 index 6045803e..00000000 --- a/configs/nvim/lua/malo/coq_nvim.lua +++ /dev/null @@ -1,30 +0,0 @@ --- coq_nvim --- https://github.com/ms-jpq/coq_nvim - -vim.g.coq_settings = { - auto_start = 'shut-up', - xdg = true, - - clients = { - tabnine = { - enabled = false - }, - }, - display = { - preview = { - border = 'shadow', - }, - }, - limits = { - completion_auto_timeout = 0.5, - }, - match = { - max_results = 100, - }, -} - -vim.cmd 'packadd coq_nvim' - -require 'coq_3p' { - { src = 'copilot', short_name = 'COP', accept_key = '<c-f>' } -} diff --git a/configs/nvim/lua/malo/galaxyline-nvim.lua b/configs/nvim/lua/malo/galaxyline-nvim.lua deleted file mode 100644 index e2b075c6..00000000 --- a/configs/nvim/lua/malo/galaxyline-nvim.lua +++ /dev/null @@ -1,152 +0,0 @@ -local utils = require 'malo.utils' -local const = utils.const -local s = utils.symbols - --- galaxyline.nvim (fork) --- https://github.com/NTBBloodbath/galaxyline.nvim -vim.cmd 'packadd galaxyline.nvim' - -local gl = require 'galaxyline' -local condition = require 'galaxyline.condition' - -gl.short_line_list = { 'floaterm' } - -gl.section.left = { - { - Mode = { - provider = function() - local alias = { - c = s.term, - i = s.pencil, - n = s.vim, - R = '', - t = s.term, - v = s.ibar, - V = s.ibar, - [''] = s.ibar, - } - return ' ' .. alias[vim.fn.mode()] .. ' ' - end, - highlight = 'StatusLineMode', - separator = s.sepRoundRight .. ' ', - separator_highlight = 'StatusLineModeSep', - } - }, - { - FileIcon = { - condition = condition.buffer_not_empty, - provider = function () - vim.cmd('hi GalaxyFileIcon guifg='..require'galaxyline.providers.fileinfo'.get_file_icon_color()..' guibg=#1f2335') - return require'galaxyline.providers.fileinfo'.get_file_icon() .. ' ' - end, - highlight = {}, - } - }, - { - FileName = { - condition = condition.buffer_not_empty, - provider = 'FileName', - highlight = 'StatusLineFileName', - } - }, - { - GitBranch = { - condition = condition.buffer_not_empty, - icon = ' ' .. s.gitBranch .. ' ', - provider = 'GitBranch', - highlight = 'StatusLineGitBranch', - } - }, - { - DiffAdd = { - condition = condition.hide_in_width, - icon = ' ', - provider = 'DiffAdd', - highlight = 'StatusLineDiffAdd', - } - }, - { - DiffModified = { - condition = condition.hide_in_width, - icon = ' ', - provider = 'DiffModified', - highlight = 'StatusLineDiffModified', - } - }, - { - DiffRemove = { - condition = condition.hide_in_width, - icon = ' ', - provider = 'DiffRemove', - highlight = 'StatusLineDiffRemove', - } - }, -} - -gl.section.right = { - { - LspClient = { - condition = condition.check_active_lsp, - provider = { 'GetLspClient', const(' ') }, - highlight = 'StatusLineLspClient', - } - }, - { - DiagnosticError = { - condition = condition.check_active_lsp, - icon = ' ' .. s.errorShape .. ' ', - provider = 'DiagnosticError', - highlight = 'StatusLineDiagnosticError', - } - }, - { - DiagnosticWarn = { - condition = condition.check_active_lsp, - icon = ' ' .. s.warningShape .. ' ', - provider = 'DiagnosticWarn', - highlight = 'StatusLineDiagnosticWarn', - } - }, - { - DiagnosticInfo = { - condition = condition.check_active_lsp, - icon = ' ' .. s.infoShape .. ' ', - provider = 'DiagnosticInfo', - highlight = 'StatusLineDiagnosticInfo', - } - }, - { - DiagnosticHint = { - condition = condition.check_active_lsp, - icon = ' ' .. s.questionShape .. ' ', - provider = 'DiagnosticHint', - highlight = 'StatusLineDiagnosticHint', - } - }, - { - LineInfo = { - separator = ' ' .. s.sepRoundLeft, - separator_highlight = 'StatusLineModeSep', - icon = ' ', - provider = 'LineColumn', - highlight = 'StatusLineLineInfo', - } - }, - { - FilePosition = { - separator = ' ', - separator_highlight = 'StatusLineFilePositionSep', - provider = { 'LinePercent', 'ScrollBar' }, - highlight = 'StatusLineFilePosition', - } - }, -} - -gl.section.short_line_left = { - { - ShortStatusLine = { - provider = { const(' '), 'FileIcon', const(' '), 'FileName' }, - highlight = 'StatusLineSortStatusLine', - } - }, -} diff --git a/configs/nvim/lua/malo/gitsigns-nvim.lua b/configs/nvim/lua/malo/gitsigns-nvim.lua deleted file mode 100644 index f03da6e0..00000000 --- a/configs/nvim/lua/malo/gitsigns-nvim.lua +++ /dev/null @@ -1,21 +0,0 @@ --- Git signs --- gitsigns.nvim --- https://github.com/lewis6991/gitsigns.nvim -vim.cmd 'packadd gitsigns.nvim' - -require'gitsigns'.setup { - signs = { - add = { hl = 'AddText' , text = '┃' , numhl='' }, - change = { hl = 'ChangeText' , text = '┃' , numhl='' }, - delete = { hl = 'DeleteText' , text = '_' , numhl='' }, - topdelete = { hl = 'DeleteText' , text = '‾' , numhl='' }, - changedelete = { hl = 'ChangeDeleteText' , text = '≃' , numhl='' }, - }, - numhl = false, - keymaps = {}, - watch_gitdir = { - interval = 1000 - }, - sign_priority = 6, - status_formatter = nil, -- Use default -} diff --git a/configs/nvim/lua/malo/indent-blankline-nvim.lua b/configs/nvim/lua/malo/indent-blankline-nvim.lua deleted file mode 100644 index 53cd44dc..00000000 --- a/configs/nvim/lua/malo/indent-blankline-nvim.lua +++ /dev/null @@ -1,15 +0,0 @@ --- ident-blankline.nvim --- https://github.com/lukas-reineke/indent-blankline.nvim -vim.cmd 'packadd indent-blankline.nvim' - -require'indent_blankline'.setup { - char = '│', - show_trailing_blankline_indent = false, - buftype_exclude = { 'terminal' }, - filetype_exclude = { 'help', 'markdown' }, - - use_treesitter = true, - show_current_context = true, - context_char = '┃', -} - diff --git a/configs/nvim/lua/malo/lspsaga-nvim.lua b/configs/nvim/lua/malo/lspsaga-nvim.lua deleted file mode 100644 index 531f3358..00000000 --- a/configs/nvim/lua/malo/lspsaga-nvim.lua +++ /dev/null @@ -1,39 +0,0 @@ -local utils = require 'malo.utils' -local s = utils.symbols - --- lspsaga.nvim (fork) --- A light-weight lsp plugin based on neovim built-in lsp with highly a performant UI. --- https://github.com/tami5/lspsaga.nvim -vim.cmd 'packadd lspsaga.nvim' - -require'lspsaga'.init_lsp_saga { - use_saga_diagnostic_sign = true, - error_sign = s.error, - warn_sign = s.warning, - infor_sign = s.info, - hint_sign = s.question, - diagnostic_header_icon = ' ', - use_diagnostic_virtual_text = false, - code_action_icon = ' ', - code_action_prompt = { - enable = true, - sign = false, - sign_priority = 20, - virtual_text = true, - }, - -- finder_definition_icon = ' ', - -- finder_reference_icon = ' ', - -- max_preview_lines = 10, -- preview lines of lsp_finder and definition preview - -- finder_action_keys = { - -- open = 'o', vsplit = 's',split = 'i',quit = 'q',scroll_down = '<C-f>', scroll_up = '<C-b>' -- quit can be a table - -- }, - code_action_keys = { - quit = '<ESC>', exec = '<CR>' - }, - rename_action_keys = { - quit = '<ESC>', exec = '<CR>' - }, - -- definition_preview_icon = ' ' - -- border_style = "round" -- "single" "double" "round" "plus" - rename_prompt_prefix = '❯', -} diff --git a/configs/nvim/lua/malo/null-ls-nvim.lua b/configs/nvim/lua/malo/null-ls-nvim.lua deleted file mode 100644 index 25ed6a9f..00000000 --- a/configs/nvim/lua/malo/null-ls-nvim.lua +++ /dev/null @@ -1,28 +0,0 @@ --- null-ls.nvim --- https://github.com/jose-elias-alvarez/null-ls.nvim -vim.cmd 'packadd null-ls.nvim' - -local null_ls = require'null-ls' -local code_actions = null_ls.builtins.code_actions -local diagnostics = null_ls.builtins.diagnostics -local formatting = null_ls.builtins.formatting - -null_ls.setup { - sources = { - -- Shell scripts - code_actions.shellcheck, - diagnostics.shellcheck, - -- Markdown - code_actions.proselint, - diagnostics.proselint, - -- Nix - diagnostics.deadnix, - diagnostics.statix, - code_actions.statix, - -- Python - diagnostics.pylint, - diagnostics.vulture, - formatting.black, - formatting.isort, - } -} diff --git a/configs/nvim/lua/malo/nvim-lspconfig.lua b/configs/nvim/lua/malo/nvim-lspconfig.lua deleted file mode 100644 index 6816ca02..00000000 --- a/configs/nvim/lua/malo/nvim-lspconfig.lua +++ /dev/null @@ -1,112 +0,0 @@ --- nvim-lspconfig --- Configure available LSPs --- https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md --- --- Note that all languag e servers aside from `sumneko_lua` are installed via Nix. See: --- `../../../../home/neovim.nix`. -local foreach = require 'pl.tablex'.foreach -local augroup = require 'malo.utils'.augroup - --- Configures `sumneko_lua` properly for Neovim config editing when it makes sense. -require 'neodev'.setup { - override = function(root_dir, library) - if require 'neodev.util'.has_file(root_dir, "~/.config/nixpkgs/configs/nvim") then - library.enabled = true - library.runtime = true - library.types = true - library.plugins = true - end - end -} - -local lspconf = require 'lspconfig' - -local function on_attach(client, bufnr) - if client.server_capabilities.documentHighlightProvider then - augroup { name = 'MaloLspDocumentHighlights' .. bufnr, cmds = { - {{ 'CursorHold', 'CursorHoldI' }, { - buffer = bufnr, - desc = "Create LSP document highlights", - callback = vim.lsp.buf.document_highlight, - }}, - {{ 'CursorMoved' }, { - buffer = bufnr, - desc = "Clear LSP document highlights", - callback = vim.lsp.buf.clear_references, - }}, - }} - end -end - -local servers_config = { - bashls = {}, - ccls = {}, - hls = {}, - jsonls = {}, - - nil_ls = { - settings ={ - ['nil'] = { - formatting = { - command = { 'nixpkgs-fmt' }, - }, - }, - }, - }, - - pyright = {}, - sourcekit = {}, - - sumneko_lua = { - settings = { - Lua = { - telemetry = { - enable = false, - }, - }, - }, - }, - - tsserver = {}, - - vimls = { - init_options = { - iskeyword = '@,48-57,_,192-255,-#', - vimruntime = vim.env.VIMRUNTIME, - runtimepath = vim.o.runtimepath, - diagnostic = { - enable = true, - }, - indexes = { - runtimepath = true, - gap = 100, - count = 8, - projectRootPatterns = { "runtime", "nvim", ".git", "autoload", "plugin" }, - }, - suggest = { - fromRuntimepath = true, - fromVimruntime = true - }, - } - }, - - yamlls = { - settings = { - yaml = { - format = { - printWidth = 100, - singleQuote = true, - }, - }, - }, - }, -} - -local coq = require 'coq' - -foreach(servers_config, function(v, k) - lspconf[k].setup(coq.lsp_ensure_capabilities( - vim.tbl_extend('error', v, { on_attach = on_attach }) - )) -end) - diff --git a/configs/nvim/lua/malo/nvim-treesitter.lua b/configs/nvim/lua/malo/nvim-treesitter.lua deleted file mode 100644 index 0a005e30..00000000 --- a/configs/nvim/lua/malo/nvim-treesitter.lua +++ /dev/null @@ -1,9 +0,0 @@ --- nvim-treesitter --- https://github.com/nvim-treesitter/nvim-treesitter -vim.cmd 'packadd nvim-treesitter' - -require'nvim-treesitter.configs'.setup { - highlight = { enable = true }, - incremental_selection = { enable = true }, - indent = { enable = true }, -} diff --git a/configs/nvim/lua/malo/telescope-nvim.lua b/configs/nvim/lua/malo/telescope-nvim.lua deleted file mode 100644 index 99cc4819..00000000 --- a/configs/nvim/lua/malo/telescope-nvim.lua +++ /dev/null @@ -1,52 +0,0 @@ --- telescope.nvim --- https://github.com/nvim-telescope/telescope.nvim - -local telescope = require 'telescope' -local actions = require 'telescope.actions' -local previewers = require 'telescope.previewers' - -telescope.setup { - defaults = { - prompt_prefix = '❯ ', - selection_caret = '❯ ', - color_devicons = true, - file_previewer = previewers.vim_buffer_cat.new, - grep_previewer = previewers.vim_buffer_vimgrep.new, - qflist_previewer = previewers.vim_buffer_qflist.new, - winblend = 10, - mappings = { - n = { - ['<CR>'] = actions.select_default + actions.center, - s = actions.select_horizontal, - v = actions.select_vertical, - t = actions.select_tab, - j = actions.move_selection_next, - k = actions.move_selection_previous, - u = actions.preview_scrolling_up, - d = actions.preview_scrolling_down, - }, - }, - }, - extensions = { - file_browser = { - hijack_netrw = true, - }, - }, -} - -telescope.load_extension 'builtin_extensions' -telescope.load_extension 'file_browser' -telescope.load_extension 'fzf' -telescope.load_extension 'hoogle' -telescope.load_extension 'zoxide' - -require'telescope._extensions.zoxide.config'.setup { - mappings = { - ['<CR>'] = { - keepinsert = true, - action = function(selection) - telescope.extensions.file_browser.file_browser { cwb = selection.path } - end - }, - }, -} diff --git a/configs/nvim/lua/malo/toggleterm-nvim.lua b/configs/nvim/lua/malo/toggleterm-nvim.lua deleted file mode 100644 index 11531ba2..00000000 --- a/configs/nvim/lua/malo/toggleterm-nvim.lua +++ /dev/null @@ -1,22 +0,0 @@ -local utils = require'malo.utils' - --- toggleterm.nvim --- https://github.com/akinsho/toggleterm.nvim -vim.cmd 'packadd toggleterm.nvim' -require'toggleterm'.setup { - shade_terminals = false, - float_opts = { - border = 'curved', - }, -} -utils.augroup { name = 'MaloToggleTermKeymaps', cmds = { - { 'FileType', { - pattern = 'toggleterm', - desc = 'Load floating terminal keymaps.', - callback = function () - utils.keymaps { modes = '', opts = { buffer = true, silent = true }, maps = { - { '<ESC>', '<Cmd>ToggleTerm<CR>' }, - }} - end - }}, -}} diff --git a/configs/nvim/lua/malo/tokyonight-nvim.lua b/configs/nvim/lua/malo/tokyonight-nvim.lua deleted file mode 100644 index b993ff74..00000000 --- a/configs/nvim/lua/malo/tokyonight-nvim.lua +++ /dev/null @@ -1,11 +0,0 @@ -local utils = require'malo.utils' - --- tokyonight.nvim --- https://github.com/folke/tokyonight.nvim -vim.cmd 'packadd tokyonight.nvim' -vim.cmd([[colorscheme tokyonight]]) --- https://github.com/nvim-lualine/lualine.nvim -vim.cmd 'packadd lualine.nvim' -require("lualine").setup({ - options = { theme = "tokyonight" }, -}) diff --git a/configs/nvim/lua/malo/utils.lua b/configs/nvim/lua/malo/utils.lua deleted file mode 100644 index 23bc8d7b..00000000 --- a/configs/nvim/lua/malo/utils.lua +++ /dev/null @@ -1,58 +0,0 @@ --- Setup Environment ------------------------------------------------------------------------------- - --- Create locals for all needed globals so we have access to them -local unpack = unpack -local vim = vim -local import = require'pl.utils'.import -local seq = require 'pl.seq' -import 'pl.func' - --- Clear environment -local _ENV = {} - --- Init module -local M = {} - --- Main functions ---------------------------------------------------------------------------------- - -function M.spread(f) return function(t) f(unpack(t)) end end - -function M.const(f) return function() return f end end - -function M.keymaps(t) - seq(t.maps):foreach( M.spread(bind(vim.keymap.set, t.modes, _1, _2, t.opts)) ) -end - -function M.augroup(t) - vim.api.nvim_create_augroup(t.name, {}) - seq(t.cmds):foreach(function(cmd) - cmd[2].group = t.name - vim.api.nvim_create_autocmd(cmd[1], cmd[2]) - end) -end - --- Other handy stuff ------------------------------------------------------------------------------- - -M.symbols = { - error = '', - errorShape = '', - gitBranch = '', - ibar = '', - info = '', - infoShape = '', - list = '', - lock = '', - pencil = '', - question = '', - questionShape = '', - sepRoundLeft = '', - sepRoundRight = '', - spinner = '', - term = '', - vim = '', - wand = '', - warning = '', - warningShape = '', -} - -return M diff --git a/configs/nvim/lua/malo/vim-polyglot.lua b/configs/nvim/lua/malo/vim-polyglot.lua deleted file mode 100644 index fee2e68b..00000000 --- a/configs/nvim/lua/malo/vim-polyglot.lua +++ /dev/null @@ -1,42 +0,0 @@ -local g = vim.g -local o = vim.o - --- Most filetypes --- vim-polyglot --- A solid language pack for Vim --- https://github.com/sheerun/vim-polyglot -vim.cmd 'packadd vim-polyglot' - --- Haskell --- haskell-vim (comes in vim-polyglot) --- https://github.com/neovimhaskell/haskell-vim.git --- indenting options -g.haskell_indent_if = 3 -g.haskell_indent_case = 2 -g.haskell_indent_let = 4 -g.haskell_indent_where = 6 -g.haskell_indent_before_where = 2 -g.haskell_indent_after_bare_where = 2 -g.haskell_indent_do = 3 -g.haskell_indent_in = 1 -g.haskell_indent_guard = 2 --- turn on extra highlighting -g.haskell_backpack = 1 -g.haskell_enable_arrowsyntax = 1 -g.haskell_enable_quantification = 1 -g.haskell_enable_recursivedo = 1 -g.haskell_enable_pattern_synonyms = 1 -g.haskell_enable_static_pointers = 1 -g.haskell_enable_typeroles = 1 - --- Javascript --- vim-javascript (comes in vim-polyglot) --- https://github.com/pangloss/vim-javascript -g.javascript_plugin_jsdoc = 1 - --- Markdown --- vim-markdown (comes in vim-polyglot) --- https://github.com/plasticboy/vim-markdown -g.vim_markdown_folding_disabled = 1 -g.vim_markdown_new_list_item_indent = 2 -o.conceallevel = 2 \ No newline at end of file diff --git a/configs/nvim/lua/telescope/_extensions/builtin_extensions.lua b/configs/nvim/lua/telescope/_extensions/builtin_extensions.lua deleted file mode 100644 index 71b7346a..00000000 --- a/configs/nvim/lua/telescope/_extensions/builtin_extensions.lua +++ /dev/null @@ -1,26 +0,0 @@ -local builtin = require('telescope.builtin') - -local function get_workspace_folder () - return vim.lsp.buf.list_workspace_folders()[1] or vim.fn.systemlist('git rev-parse --show-toplevel')[1] -end - -return require('telescope').register_extension { - setup = function() - - builtin.live_grep_workspace = function(opts) - opts.cwd = get_workspace_folder() - builtin.live_grep(opts) - end - - builtin.find_files_workspace = function(opts) - opts.cwd = get_workspace_folder() - builtin.find_files(opts) - end - - builtin.grep_string_workspace = function(opts) - opts.cwd = get_workspace_folder() - builtin.grep_string(opts) - end - - end; -} From 8351133c35d4dba88b59b599d9371f49ecd0fb9c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 15:34:00 +0200 Subject: [PATCH 1526/2080] Drop legacy neovim config --- .config/nvim/.markdownlint.json | 15 - .config/nvim/.python-version | 1 - .config/nvim/.ruby-gemset | 1 - .config/nvim/.ruby-version | 1 - .config/nvim/README.md | 3 - .config/nvim/ginit.vim | 41 -- .config/nvim/init.lua | 212 --------- .config/nvim/lua/config/lsp.lua | 318 -------------- .config/nvim/lua/config/mail.lua | 53 --- .config/nvim/lua/config/mason.lua | 47 -- .config/nvim/lua/config/nvim-cmp.lua | 143 ------- .config/nvim/lua/config/theme.lua | 11 - .config/nvim/lua/config/treesitter.lua | 78 ---- .config/nvim/lua/config/which-key.lua | 221 ---------- .config/nvim/lua/plugins.lua | 568 ------------------------- .config/nvim/lua/utils.lua | 14 - 16 files changed, 1727 deletions(-) delete mode 100644 .config/nvim/.markdownlint.json delete mode 100644 .config/nvim/.python-version delete mode 100644 .config/nvim/.ruby-gemset delete mode 100644 .config/nvim/.ruby-version delete mode 100644 .config/nvim/README.md delete mode 100644 .config/nvim/ginit.vim delete mode 100644 .config/nvim/init.lua delete mode 100644 .config/nvim/lua/config/lsp.lua delete mode 100644 .config/nvim/lua/config/mail.lua delete mode 100644 .config/nvim/lua/config/mason.lua delete mode 100644 .config/nvim/lua/config/nvim-cmp.lua delete mode 100644 .config/nvim/lua/config/theme.lua delete mode 100644 .config/nvim/lua/config/treesitter.lua delete mode 100644 .config/nvim/lua/config/which-key.lua delete mode 100644 .config/nvim/lua/plugins.lua delete mode 100644 .config/nvim/lua/utils.lua diff --git a/.config/nvim/.markdownlint.json b/.config/nvim/.markdownlint.json deleted file mode 100644 index 01de0495..00000000 --- a/.config/nvim/.markdownlint.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "MD013": { - "line_length": 120, - "code_blocks": false, - "tables": false - }, - "MD014": false, - "MD024": false, - "MD026": { - "punctuation": ".,:;!" - }, - { - "MD041": false - } -} diff --git a/.config/nvim/.python-version b/.config/nvim/.python-version deleted file mode 100644 index 36435ac6..00000000 --- a/.config/nvim/.python-version +++ /dev/null @@ -1 +0,0 @@ -3.10.8 diff --git a/.config/nvim/.ruby-gemset b/.config/nvim/.ruby-gemset deleted file mode 100644 index d8ef3de5..00000000 --- a/.config/nvim/.ruby-gemset +++ /dev/null @@ -1 +0,0 @@ -neovim diff --git a/.config/nvim/.ruby-version b/.config/nvim/.ruby-version deleted file mode 100644 index ef538c28..00000000 --- a/.config/nvim/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -3.1.2 diff --git a/.config/nvim/README.md b/.config/nvim/README.md deleted file mode 100644 index a18d868c..00000000 --- a/.config/nvim/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# neovim configuration based on lua - -This configuraiton is fully done in lua. diff --git a/.config/nvim/ginit.vim b/.config/nvim/ginit.vim deleted file mode 100644 index 3b8462d6..00000000 --- a/.config/nvim/ginit.vim +++ /dev/null @@ -1,41 +0,0 @@ -" Enable Mouse -set mouse=a - -" Paste with middle mouse click -vmap <LeftRelease> "*ygv - -" Paste with <Shift> + <Insert> -imap <S-Insert> <C-R>* - -" Set Editor Font -if exists(':GuiFont') - " Use GuiFont! to ignore font errors - GuiFont Hack Nerd Font:h18 -endif - -" Disable GUI Tabline -if exists(':GuiTabline') - GuiTabline 0 -endif - -" Disable GUI Popupmenu -if exists(':GuiPopupmenu') - GuiPopupmenu 0 -endif - -" Enable GUI ScrollBar -if exists(':GuiScrollBar') - GuiScrollBar 1 -endif - -" Right Click Context Menu (Copy-Cut-Paste) -nnoremap <silent><RightMouse> :call GuiShowContextMenu()<CR> -inoremap <silent><RightMouse> <Esc>:call GuiShowContextMenu()<CR> -xnoremap <silent><RightMouse> :call GuiShowContextMenu()<CR>gv -snoremap <silent><RightMouse> <C-G>:call GuiShowContextMenu()<CR>gv - -let OS=substitute(system('uname -s'),"\n","","") -if (OS == "Darwin") - " Get binding for copy paste working - source $VIMRUNTIME/macmap.vim -endif diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua deleted file mode 100644 index e7770a78..00000000 --- a/.config/nvim/init.lua +++ /dev/null @@ -1,212 +0,0 @@ --- https://github.com/jdhao/nvim-config --- https://github.com/LunarVim/LunarVim/ --- https://github.com/wbthomason/dotfiles/blob/main/dot_config/nvim/init.lua --- https://git.vigoux.giize.com/nvim-config/blob/master/lua/plugins.lua --- https://github.com/devinschulz/dotfiles/tree/master/nvim --- https://github.com/rockerBOO/awesome-neovim --- https://github.com/nanotee/nvim-lua-guide --- Requirements --- GNU/Linux: xsel - -local api = vim.api -local g = vim.g -local keymap = vim.keymap -local opt = vim.opt - --- Missing {{{ --- * Keymaps: Fix all duplicated keymaps --- * Test Neorg: https://github.com/nvim-neorg/neorg --- * mutt/mail setup: --- * Completion from address from khard --- * https://opensource.com/article/20/1/vim-email-calendar --- * https://github.com/soywod/himalaya --- * https://git.sr.ht/~soywod/himalaya-vim --- * ensure flake8 isn't run twice (from pyright and null-ls) --- * Fix highlight of yaml.ansible using ansible-language-server --- }}} - --- Speed up startup -local i_installed, impatient = pcall(require, "impatient") -if i_installed then - -- See results with :LuaCacheProfile - impatient.enable_profile() -end - --- Use rcarriga/nvim-notify as default notification manager -local n_installed, notify = pcall(require, "notify") -if n_installed then - vim.notify = notify -end - --- Set some globals settings {{{ - --- Skip some remote provider loading -g.loaded_python3_provider = 0 -g.loaded_node_provider = 0 -g.loaded_perl_provider = 0 -g.loaded_ruby_provider = 0 - --- Enable highlighting for lua, Python and Ruby HERE doc inside script -g.vimsyn_embed = "lPr" - --- Use English as main language -vim.cmd("language en_GB.UTF-8") --- }}} - --- Set default options {{{ --- Sensible defaults settings: https://github.com/tpope/vim-sensible --- Check value of an option: --- :verbose set showcmd? - --- swap -opt.swapfile = true -opt.directory = vim.fn.expand("~/.local/share/nvim/swapfile") - --- backup -opt.backup = true -opt.writebackup = true -opt.backupdir = vim.fn.expand("~/.local/share/nvim/backup") -opt.backupskip = { "/tmp/*" } - --- Do not unload buffers on abandon (opening a new file un current buffer) --- Use Ctrl-o to switch back to location save in jumplist -opt.hidden = true - --- completion -opt.completeopt = { "menu", "menuone", "noselect" } - --- Disable mouse -opt.mouse = "" - --- Highlight current line -opt.cursorline = true -opt.colorcolumn = "80" - --- Default indentation: 2 spaces -opt.expandtab = true -opt.shiftwidth = 2 -opt.tabstop = 2 -opt.softtabstop = 2 --- XXX breaking indentation of new comments --- https://unix.stackexchange.com/a/543571 -opt.smartindent = false -opt.autoindent = false --- Indent wrapped lines to match line start -opt.breakindent = true -opt.cindent = true --- Fix indentation of new comments -opt.cinkeys:remove({ "0#" }) - --- For devicons on vim -opt.encoding = "UTF-8" - --- Show line number -opt.number = true -opt.relativenumber = true - --- Create new window below current one, and on the right -opt.splitbelow = true -opt.splitright = true - --- Highlight problematic whitespace -opt.list = true -opt.listchars = { - tab = ">.", - trail = ".", - extends = "#", - nbsp = ".", -} - --- spell - used by ltex-ls too -opt.spelllang = { "en", "fr" } -opt.spellfile = table.concat(api.nvim_get_runtime_file("spell/*.add", true) or {}, ",") -opt.spelloptions = { "noplainbuffer" } - --- Search configuration -opt.ignorecase = true - --- Undo management -opt.undofile = true -opt.undodir = vim.fn.expand("~/.local/share/nvim/undodir") - --- Folding with markers --- opt.foldmethod = "indent" -opt.foldmethod = "expr" --- https://www.jmaguire.tech/posts/treesitter_folding/ -opt.foldexpr = "nvim_treesitter#foldexpr()" -opt.foldcolumn = "1" -opt.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value -opt.foldlevelstart = 99 -opt.foldenable = true - --- Theme -opt.termguicolors = true -opt.background = "dark" --- }}} - --- Key mappings {{{ --- https://github.com/LunarVim/LunarVim/blob/master/lua/lvim/keymappings.lua --- Modes --- normal_mode = "n", --- insert_mode = "i", --- visual_mode = "v", --- visual_block_mode = "x", --- term_mode = "t", --- command_mode = "c", -local opts = { noremap = true, silent = true } -local term_opts = { silent = true } --- Custom mapping <leader> (see `:h mapleader` for more info) --- Clean mappings that may already be on <space> -keymap.set("", "<Space>", "<Nop>", opts) -g.mapleader = " " -g.maplocalleader = " " --- Use jk as ESC for leaving insert mode -keymap.set("i", "jk", "<Esc>") --- Use jk-movement between rows when soft wrapping -keymap.set({ "n", "v" }, "j", "gj", opts) -keymap.set({ "n", "v" }, "k", "gk", opts) --- Turn the word under cursor to upper case -keymap.set("i", "<c-u>", "<Esc>viwUea") --- Turn the current word into title case -keymap.set("i", "<c-t>", "<Esc>b~lea") --- Go to the beginning and end of current line in insert mode -keymap.set("i", "<C-A>", "<HOME>") -keymap.set("i", "<C-E>", "<END>") --- Go to beginning and ebd of of command in command-line mode -keymap.set("c", "<C-A>", "<HOME>") -keymap.set("c", "<C-E>", "<END>") --- Navigate buffers -keymap.set("n", "<S-l>", ":bnext<CR>", opts) -keymap.set("n", "<S-h>", ":bprevious<CR>", opts) --- Better terminal navigation -keymap.set("t", "<C-h>", "<C-\\><C-N><C-w>h", term_opts) -keymap.set("t", "<C-j>", "<C-\\><C-N><C-w>j", term_opts) -keymap.set("t", "<C-k>", "<C-\\><C-N><C-w>k", term_opts) -keymap.set("t", "<C-l>", "<C-\\><C-N><C-w>l", term_opts) --- }}} - --- Autocommand that update file type for ansible files --- vim.cmd([[ --- augroup set_ansible_ft --- autocmd! --- autocmd BufRead,BufNewFile *.yml, *.yaml if search('ansible\.\|roles:\|hosts:\|tasks:', 'nw') | set ft=yaml.ansible | endif --- augroup end --- ]]) -local set_as_ansible = function(bufnr) - bufnr = bufnr or vim.api.nvim_get_current_buf() - local buffer_lines = api.nvim_buf_get_lines(bufnr, 0, -1, true) - for _, buffer_line in pairs(buffer_lines) do - if string.find(buffer_line, "ansible%..+:") then - opt.filetype = "yaml.ansible" - end - end -end -api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { - pattern = { "*.yaml", "*.yml" }, - callback = function() - set_as_ansible() - end, -}) - --- Bootstrap packer and install plugins -require("plugins") diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua deleted file mode 100644 index c5542559..00000000 --- a/.config/nvim/lua/config/lsp.lua +++ /dev/null @@ -1,318 +0,0 @@ --- https://github.com/neovim/nvim-lspconfig - -local api = vim.api -local diagnostic = vim.diagnostic -local fn = vim.fn -local keymap = vim.keymap -local lsp = vim.lsp -local lspconfig = require("lspconfig") -local null_ls = require("null-ls") - --- Show LSP server status -require("fidget").setup({}) - --- global config for diagnostic -diagnostic.config({ - underline = true, - virtual_text = true, - signs = true, - severity_sort = true, -}) - --- Change diagnostic signs. -fn.sign_define("DiagnosticSignError", { text = "✗", texthl = "DiagnosticSignError" }) -fn.sign_define("DiagnosticSignWarn", { text = "!", texthl = "DiagnosticSignWarn" }) -fn.sign_define("DiagnosticSignInformation", { text = "", texthl = "DiagnosticSignInfo" }) -fn.sign_define("DiagnosticSignHint", { text = "", texthl = "DiagnosticSignHint" }) - --- Change border of documentation hover window, See https://github.com/neovim/neovim/pull/13998. -lsp.handlers["textDocument/hover"] = lsp.with(vim.lsp.handlers.hover, { - border = "rounded", -}) - -lsp.handlers["textDocument/publishDiagnostics"] = lsp.with(lsp.diagnostic.on_publish_diagnostics, { - underline = true, - virtual_text = false, - signs = true, - update_in_insert = true, -}) - -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) - --- To be used to display LSP diagnostic window details when on an error -local on_attach = function(client, bufnr) - -- wrapper for creating mappings - local map = function(mode, l, r, opts) - opts = opts or {} - opts.silent = true - opts.buffer = bufnr - keymap.set(mode, l, r, opts) - end - - -- turn off formatting for some lsp, to use the ones from null-ls - if client.name == "pyright" or client.name == "jsonls" then - client.server_capabilities.document_formatting = false - client.server_capabilities.document_range_formatting = false - end - - -- XXX disabled due to some issues with default conf for yaml/ansible formatting - -- format file on save - -- if client.supports_method("textDocument/formatting") then - -- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - -- vim.api.nvim_create_autocmd("BufWritePre", { - -- group = augroup, - -- buffer = bufnr, - -- callback = function() - -- -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead - -- vim.lsp.buf.format({ bufnr = bufnr }) - -- end, - -- }) - -- end - - -- Enable completion triggered by <c-x><c-o> - vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") - - -- Mappings. - - -- See `:help vim.diagnostic.*` for documentation on any of the below functions - map("n", "K", lsp.buf.hover, { desc = "Hover" }) - map("n", "[d", diagnostic.goto_prev, { desc = "previous diagnostic" }) - map("n", "]d", diagnostic.goto_next, { desc = "next diagnostic" }) - map("n", "gd", lsp.buf.definition, { desc = "go to definition" }) - map("n", "gr", lsp.buf.references, { desc = "show references" }) - - api.nvim_create_autocmd("CursorHold", { - buffer = bufnr, - callback = function() - local float_opts = { - focusable = false, - close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" }, - border = "rounded", - source = "always", -- show source in diagnostic popup window - prefix = " ", - } - - if not vim.b.diagnostics_pos then - vim.b.diagnostics_pos = { nil, nil } - end - - local cursor_pos = api.nvim_win_get_cursor(0) - if - (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) - and #diagnostic.get() > 0 - then - diagnostic.open_float(nil, float_opts) - end - - vim.b.diagnostics_pos = cursor_pos - end, - }) - - -- The blow command will highlight the current variable and its usages in the buffer. - if client.server_capabilities.documentHighlightProvider then - vim.cmd([[ - hi! link LspReferenceRead Visual - hi! link LspReferenceText Visual - hi! link LspReferenceWrite Visual - ]]) - - local gid = api.nvim_create_augroup("lsp_document_highlight", { clear = true }) - api.nvim_create_autocmd("CursorHold", { - group = gid, - buffer = bufnr, - callback = function() - lsp.buf.document_highlight() - end, - }) - - api.nvim_create_autocmd("CursorMoved", { - group = gid, - buffer = bufnr, - callback = function() - lsp.buf.clear_references() - end, - }) - end - - if vim.g.logging_level == "debug" then - local msg = string.format("Language server %s started!", client.name) - vim.notify(msg, vim.log.levels.DEBUG, { title = "Nvim-config" }) - end -end - --- Inform LSP server about all the capabilities we have --- https://vonheikemen.github.io/devlog/tools/setup-nvim-lspconfig-plus-nvim-cmp/ --- merge the defaults lspconfig provides with the capabilities nvim-cmp adds -local lsp_defaults = lspconfig.util.default_config -lsp_defaults.capabilities = - vim.tbl_deep_extend("force", lsp_defaults.capabilities, require("cmp_nvim_lsp").default_capabilities()) - -local lsp_flags = { - -- This is the default in Nvim 0.7+ - -- debounce_text_changes = 150, - -- debounce_text_changes = 500, -} - --- LSP servers with default configuration -local servers = { "bashls", "marksman", "jsonls", "rnix", "vimls", "yamlls" } -for _, lsp_server in ipairs(servers) do - lspconfig[lsp_server].setup({ - on_attach = on_attach, - flags = lsp_flags, - }) -end - --- ltex-ls --- https://git.vigoux.giize.com/nvim-config/blob/master/lua/lsp_config.lua -require("ltex-ls").setup({ - on_attach = on_attach, - use_spellfile = true, - filetypes = { "latex", "tex", "bib", "markdown", "gitcommit", "text", "mail", "norg" }, - settings = { - ltex = { - checkFrequency = "save", - enabled = { "latex", "tex", "bib", "markdown" }, - language = "en-GB", - diagnosticSeverity = "information", - additionalRules = { - enablePickyRules = true, - motherTongue = "fr", - }, - disabledRules = { - en = { "TOO_LONG_SENTENCE" }, - ["en-GB"] = { "TOO_LONG_SENTENCE", "OXFORD_SPELLING_Z_NOT_S" }, - fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, - }, - dictionary = { ["en-GB"] = { ":" .. fn.stdpath("config") .. "/words.txt" } }, - }, - }, -}) - --- Ansible language server, complemented by null-ls --- https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/server_configurations/ansiblels.lua -lspconfig.ansiblels.setup({ - on_attach = on_attach, - flags = lsp_flags, - -- use ansible-lint only via null-ls - settings = { - ansible = { - ansibleLint = { - enabled = false, - }, - }, - }, -}) - --- clang server for C and C++ -lspconfig.clangd.setup({ - on_attach = on_attach, - filetypes = { "c", "cpp", "cc" }, - flags = lsp_flags, -}) - --- lua LSP server, needed at least for neovim configuration -lspconfig["sumneko_lua"].setup({ - single_file_support = true, - on_attach = on_attach, - flags = lsp_flags, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim" }, - }, - workspace = { - -- Make the server aware of Neovim runtime files, - -- see also https://github.com/sumneko/lua-language-server/wiki/Libraries#link-to-workspace . - -- Lua-dev.nvim also has similar settings for sumneko lua, https://github.com/folke/lua-dev.nvim/blob/main/lua/lua-dev/sumneko.lua . - library = { - fn.stdpath("data") .. "/site/pack/packer/opt/emmylua-nvim", - fn.stdpath("config"), - }, - maxPreload = 2000, - preloadFileSize = 50000, - }, - }, - }, -}) - --- Python LSP, complemented by null_ls -lspconfig["pyright"].setup({ - on_attach = on_attach, - flags = lsp_flags, - settings = { - python = { - analysis = { - autoSearchPaths = true, - diagnosticMode = "workspace", - useLibraryCodeForTypes = true, - }, - }, - }, -}) - --- null_ls, special language server allowing to use many tools --- https://smarttech101.com/nvim-lsp-set-up-null-ls-for-beginners/ --- https://github.com/Clumsy-Coder/dotfiles/commit/e81edc159f3fc9ef189e0300d280461e75732a4b --- Available builtins: https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md --- XXX gq is broken for markdown files. gw is working --- prettier is not able to do range formatting with markdown --- https://github.com/jose-elias-alvarez/null-ls.nvim/issues/1131 -null_ls.setup({ - on_attach = on_attach, - flags = lsp_flags, - sources = { - -- code actions - null_ls.builtins.code_actions.gitsigns, - null_ls.builtins.code_actions.shellcheck, - -- formatters - null_ls.builtins.formatting.isort, - null_ls.builtins.formatting.black, - null_ls.builtins.formatting.prettier.with({ - extra_args = { - "--print-width", - "80", - "--prose-wrap", - "always", - "--tab-width", - "2", - }, - }), - null_ls.builtins.formatting.shfmt, - null_ls.builtins.formatting.beautysh, - null_ls.builtins.formatting.stylua.with({ - extra_args = { - "--indent-type", - "Spaces", - "--indent-width", - "2", - }, - }), - -- diagnostics - null_ls.builtins.diagnostics.actionlint, - null_ls.builtins.diagnostics.flake8.with({ - -- Align with black - -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 - extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" }, - }), - null_ls.builtins.diagnostics.alex, - null_ls.builtins.diagnostics.markdownlint.with({ - extra_args = { "--config", vim.fn.expand("~/.config/nvim/.markdownlint.json") }, - }), - null_ls.builtins.diagnostics.shellcheck, - null_ls.builtins.diagnostics.ansiblelint, - null_ls.builtins.diagnostics.zsh, - -- null_ls.builtins.diagnostics.checkmake, - -- null_ls.builtins.diagnostics.write_good, - -- completion - -- XXX spell is disabled - -- null_ls.builtins.completion.spell, - -- hover - null_ls.builtins.hover.dictionary, -- dictionary - }, - diagnostics_format = "[#{c}] #{m} (#{s})", -}) diff --git a/.config/nvim/lua/config/mail.lua b/.config/nvim/lua/config/mail.lua deleted file mode 100644 index d1eebef3..00000000 --- a/.config/nvim/lua/config/mail.lua +++ /dev/null @@ -1,53 +0,0 @@ --- Setup to write mails with vim - --- Enable spell checks using native spell checker --- setlocal spell --- No indentation when copying --- set nocopyindent - --- Automatic line wrap --- max line length --- :help fo-table --- set formatoptions=nawrjtcq -vim.opt.formatoptions = "tcqwan" --- set comments+=n:\| -- '|' is a quote char. --- set comments+=n:% -- '%' as well. - --- vim-mail --- https://github.com/dbeniamine/vim-mail/ --- Use khard as a contact provider -vim.g.VimMailContactsProvider = "khard" --- Do not add custom keymaps --- XXX some are nice to move inside the file -vim.g.VimMailDoNotMap = 1 -vim.g.VimMailDoNotFold = 1 --- let g:VimMailSpellLangs=['en_gb', 'fr'] --- Complete emails address in every files -vim.opt.completefunc = "vimmail#contacts#CompleteAddr" --- Choose where to put cursor --- Remove quoted signature is killing mine due to flow automatic formatting --- b: bottom after last message --- o: add new line after cursor --- i: insert mode --- r: remove quoted signature from reply -vim.g.VimMailStartFlags = { - reply = "boi" -} --- let g:VimMailStartFlags={'reply' :"boir" } --- let g:VimMailStartFlags={ --- \'blank': 'TAi', --- \'nosubject': 'SAi', --- \'default' : 'bOi'} --- Use mu --- let g:VimMailContactsCommands={'mu' : --- \{ 'query' : "mu cfind", - --- \'sync': "mu index", --- \'config': { --- \'default': { --- \'home': '$HOME/.mu', --- \'maildir': '$HOME/Mail', --- \} --- \} --- \} --- \} diff --git a/.config/nvim/lua/config/mason.lua b/.config/nvim/lua/config/mason.lua deleted file mode 100644 index 1dda252e..00000000 --- a/.config/nvim/lua/config/mason.lua +++ /dev/null @@ -1,47 +0,0 @@ -require("mason").setup() - -require("mason-tool-installer").setup({ - ensure_installed = { - -- XXX now installed via nix - -- "alex", - -- "actionlint", - -- "black", - -- "beautysh", - -- "isort", - -- "jedi-language-server", - -- "stylua", - -- "markdownlint", - -- "pylint", - -- "prettier", - -- "shellcheck", - -- "shfmt", - }, - auto_update = false, - run_on_start = false, - tart_delay = 3000, -- 3 second delay -}) - -require("mason-lspconfig").setup({ - ensure_installed = { - -- XXX now installed via nix - -- "ansiblels", - -- "bashls", - -- "grammarly", - -- "html", - -- "jsonls", - -- "lemminx", - -- "ltex", - -- "marksman", - -- "prosemd_lsp", - -- Struggling with plugins and pylint - -- https://github.com/williamboman/mason-lspconfig.nvim/blob/main/lua/mason-lspconfig/server_configurations/pylsp/README.md - -- "pylsp", - -- "pyright", - -- "rnix", - -- "ruby_ls", - -- "sumneko_lua", - -- "vimls", - -- "yamlls", - }, - automatic_installation = false, -}) diff --git a/.config/nvim/lua/config/nvim-cmp.lua b/.config/nvim/lua/config/nvim-cmp.lua deleted file mode 100644 index 1cb454aa..00000000 --- a/.config/nvim/lua/config/nvim-cmp.lua +++ /dev/null @@ -1,143 +0,0 @@ --- Set up nvim-cmp. -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end - --- https://sbulav.github.io/vim/neovim-setting-up-luasnip/ -local snip_status_ok, luasnip = pcall(require, "luasnip") -if not snip_status_ok then - return -end - -local lspkind_status_ok, lspkind = pcall(require, "lspkind") -if not lspkind_status_ok then - return -end - --- Load vs-code style snippets from plugins -require("luasnip/loaders/from_vscode").lazy_load() - --- Custom snippets --- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua --- XXX move this to a dedicated file -local s = luasnip.snippet -local i = luasnip.insert_node -local t = luasnip.text_node -luasnip.add_snippets("all", { - s("ternary", { - -- equivalent to "${1:cond} ? ${2:then} : ${3:else}" - i(1, "cond"), t(" ? "), i(2, "then"), t(" : "), i(3, "else") - }), - s("brb", { t({ "Best regards,", "Baptiste" })}), - s("cb", { t({ "Cheers,", "Baptiste" })}), -}) - -cmp.setup({ - snippet = { - -- REQUIRED - you must specify a snippet engine - expand = function(args) - luasnip.lsp_expand(args.body) -- For `luasnip` users. - end, - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - -- Display vscode-like pictograms - formatting = { - format = lspkind.cmp_format({ - mode = "symbol_text", - menu = { - nvim_lsp = "[LSP]", - ultisnips = "[US]", - nvim_lua = "[Lua]", - path = "[Path]", - buffer = "[Buffer]", - emoji = "[Emoji]", - omni = "[Omni]", - }, - }), - }, - mapping = cmp.mapping.preset.insert({ - ["<C-b>"] = cmp.mapping.scroll_docs(-4), - ["<C-f>"] = cmp.mapping.scroll_docs(4), - ["<C-Space>"] = cmp.mapping.complete(), - ["<C-e>"] = cmp.mapping.abort(), - ["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - ["<Tab>"] = function(fallback) - if cmp.visible() then - cmp.select_next_item() - else - fallback() - end - end, - ["<S-Tab>"] = function(fallback) - if cmp.visible() then - cmp.select_prev_item() - else - fallback() - end - end, - }), - sources = cmp.config.sources({ - -- order matters - { name = "luasnip" }, - { - name = "buffer", - option = { - get_bufnrs = function() - return vim.api.nvim_list_bufs() - end, - }, - }, - { name = "path" }, - { name = "emoji", insert = true }, - -- XXX email address completion only working automatically for first entry - -- { name = "omni" }, - -- { name = "nvim_lsp_signature_help" }, - { name = "nvim_lsp" }, - }), -}) - --- Set configuration for specific filetype. -cmp.setup.filetype("gitcommit", { - sources = cmp.config.sources({ - { name = "cmp_git" }, -- You can specify the `cmp_git` source if you were installed it. - }, { - { - name = "buffer", - option = { - get_bufnrs = function() - return vim.api.nvim_list_bufs() - end, - }, - }, - { name = "path" }, - }), -}) - --- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). -cmp.setup.cmdline({ "/", "?" }, { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { - name = "buffer", - option = { - get_bufnrs = function() - return vim.api.nvim_list_bufs() - end, - }, - }, - }, -}) - --- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). -cmp.setup.cmdline(":", { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { name = "path" }, - }, { - { name = "cmdline" }, - }), -}) diff --git a/.config/nvim/lua/config/theme.lua b/.config/nvim/lua/config/theme.lua deleted file mode 100644 index 4d89c32d..00000000 --- a/.config/nvim/lua/config/theme.lua +++ /dev/null @@ -1,11 +0,0 @@ --- For dracula theme --- require("dracula").setup({ --- -- show the '~' characters after the end of buffers --- show_end_of_buffer = true, -- default false --- -- set italic comment --- italic_comment = false, -- default false --- }) -require("lualine").setup({ - options = { theme = "tokyonight" }, -}) -vim.cmd([[colorscheme tokyonight]]) diff --git a/.config/nvim/lua/config/treesitter.lua b/.config/nvim/lua/config/treesitter.lua deleted file mode 100644 index 7661b2ab..00000000 --- a/.config/nvim/lua/config/treesitter.lua +++ /dev/null @@ -1,78 +0,0 @@ --- https://github.com/devinschulz/dotfiles/blob/master/nvim/.config/nvim/lua/config/treesitter.lua -local status_ok, ts_configs = pcall(require, "nvim-treesitter.configs") -if not status_ok then - return -end - --- Use clang and llvm -require("nvim-treesitter.install").compilers = { "clang" } - -ts_configs.setup({ - -- A list of parser names, or "all" - -- ensure_installed = "all", - ensure_installed = { - "bash", - "c", - "cmake", - "comment", - "css", - "diff", - "dockerfile", - "gitcommit", - "git_rebase", - "gitignore", - "help", - "html", - "http", - "javascript", - "json", - "latex", - "lua", - "make", - "markdown", - "markdown_inline", - "norg", - "python", - "regex", - "sql", - "toml", - "vim", - "yaml", - }, - -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = false, - -- Automatically install missing parsers when entering buffer - -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally - auto_install = true, - highlight = { - -- `false` will disable the whole extension - enable = true, - }, - -- Use treesitter to autoclose and autorename html tag - autotag = { - enable = true, - }, - -- Set commentstring option based on the cursor location in the file - context_commentstring = { - enable = false, - }, - -- View treesitter information directly in Neovim! - playground = { - enable = true, - }, - -- Rainbow parentheses for neovim using tree-sitter. - rainbow = { - enable = true, - -- disable = { "jsx", "cpp" }, list of languages you want to disable the plugin for - extended_mode = true, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean - max_file_lines = nil, -- Do not enable for files with more than n lines, int - -- colors = {}, -- table of hex strings - -- termcolors = {} -- table of colour name strings - }, - -- Setting this to true will run `:h syntax` and tree-sitter at the same time. - -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). - -- Using this option may slow down your editor, and you may see some duplicate highlights. - -- Instead of true it can also be a list of languages - additional_vim_regex_highlighting = false, - -- enable comment string -}) diff --git a/.config/nvim/lua/config/which-key.lua b/.config/nvim/lua/config/which-key.lua deleted file mode 100644 index 4859370a..00000000 --- a/.config/nvim/lua/config/which-key.lua +++ /dev/null @@ -1,221 +0,0 @@ --- see https://neovim.io/doc/user/map.html -local which_key = require("which-key") - -which_key.setup({ - window = { - border = "single", -- none, single, double, shadow - }, -}) - --- Mapping for normal mode -local opts = { - mode = "n", -- NORMAL mode - prefix = "<leader>", - buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings - silent = true, -- use `silent` when creating keymaps - noremap = true, -- use `noremap` when creating keymaps - nowait = true, -- use `nowait` when creating keymaps -} -local mappings = { - [";"] = { "<cmd>Alpha<CR>", "Dashboard" }, - ["w"] = { "<cmd>w!<CR>", "Save" }, - ["/"] = { "<Plug>(comment_toggle_linewise_current)", "Comment toggle current line" }, - ["c"] = { "<cmd>BufferKill<CR>", "Close Buffer" }, - -- ["f"] = { require("lvim.core.telescope.custom-finders").find_project_files, "Find File" }, - ["h"] = { "<cmd>nohlsearch<CR>", "No Highlight" }, - ["e"] = { "<cmd>NvimTreeToggle<CR>", "Explorer" }, - b = { - name = "Buffers", - j = { "<cmd>BufferLinePick<cr>", "Jump" }, - f = { "<cmd>Telescope buffers<cr>", "Find" }, - b = { "<cmd>BufferLineCyclePrev<cr>", "Previous" }, - n = { "<cmd>BufferLineCycleNext<cr>", "Next" }, - -- w = { "<cmd>BufferWipeout<cr>", "Wipeout" }, -- TODO: implement this for bufferline - e = { - "<cmd>BufferLinePickClose<cr>", - "Pick which buffer to close", - }, - h = { "<cmd>BufferLineCloseLeft<cr>", "Close all to the left" }, - l = { - "<cmd>BufferLineCloseRight<cr>", - "Close all to the right", - }, - D = { - "<cmd>BufferLineSortByDirectory<cr>", - "Sort by directory", - }, - L = { - "<cmd>BufferLineSortByExtension<cr>", - "Sort by language", - }, - }, - -- " Available Debug Adapters: - -- " https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/ - -- " Adapter configuration and installation instructions: - -- " https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation - -- " Debug Adapter protocol: - -- " https://microsoft.github.io/debug-adapter-protocol/ - -- " Debugging - d = { - name = "Debug", - t = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Toggle Breakpoint" }, - b = { "<cmd>lua require'dap'.step_back()<cr>", "Step Back" }, - c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" }, - C = { "<cmd>lua require'dap'.run_to_cursor()<cr>", "Run To Cursor" }, - d = { "<cmd>lua require'dap'.disconnect()<cr>", "Disconnect" }, - g = { "<cmd>lua require'dap'.session()<cr>", "Get Session" }, - i = { "<cmd>lua require'dap'.step_into()<cr>", "Step Into" }, - o = { "<cmd>lua require'dap'.step_over()<cr>", "Step Over" }, - u = { "<cmd>lua require'dap'.step_out()<cr>", "Step Out" }, - p = { "<cmd>lua require'dap'.pause()<cr>", "Pause" }, - r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Toggle Repl" }, - s = { "<cmd>lua require'dap'.continue()<cr>", "Start" }, - q = { "<cmd>lua require'dap'.close()<cr>", "Quit" }, - U = { "<cmd>lua require'dapui'.toggle()<cr>", "Toggle UI" }, - }, - -- Git - g = { - name = "Git", - -- g = { "<cmd>lua require 'lvim.core.terminal'.lazygit_toggle()<cr>", "Lazygit" }, - j = { "<cmd>lua require 'gitsigns'.next_hunk({navigation_message = false})<cr>", "Next Hunk" }, - k = { "<cmd>lua require 'gitsigns'.prev_hunk({navigation_message = false})<cr>", "Prev Hunk" }, - l = { "<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame" }, - p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" }, - r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" }, - R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" }, - s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" }, - u = { - "<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>", - "Undo Stage Hunk", - }, - o = { "<cmd>Telescope git_status<cr>", "Open changed file" }, - -- XXX conflicts with <Plug>(comment_toggle_blockwise) - -- b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, - -- XXX conflicts with <Plug>(comment_toggle_linewise) - -- c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" }, - C = { - -- Need to add something for trouble - "<cmd>Telescope git_bcommits<cr>", - "Checkout commit(for current file)", - }, - d = { - "<cmd>Gitsigns diffthis HEAD<cr>", - "Git Diff", - }, - }, - -- LSP - l = { - name = "LSP", - -- map("n", "<space>e", vim.diagnostic.open_float, { desc = "Open diagnostic"}) - -- map("n", "<space>wa", lsp.buf.add_workspace_folder, { desc = "add workspace folder" }) - -- map("n", "<space>wl", function() vim.inspect(lsp.buf.list_workspace_folders()) end, { desc = "list workspace folder" }) - -- map("n", "<space>wr", lsp.buf.remove_workspace_folder, { desc = "remove workspace folder" }) - a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" }, - d = { "<cmd>Telescope diagnostics bufnr=0 theme=get_ivy<cr>", "Buffer Diagnostics" }, - e = { "<cmd>Telescope quickfix<cr>", "Telescope Quickfix" }, - f = { "<cmd>lua vim.lsp.buf.format({ timeout_ms = 2000})<cr>", "Format" }, - F = { "<cmd>lua vim.lsp.buf.range_formating()<cr>", "Format selection" }, - h = { vim.lsp.buf.signature_help, "Signature help" }, - i = { "<cmd>LspInfo<cr>", "Info" }, - I = { "<cmd>Mason<cr>", "Mason Info" }, - j = { vim.diagnostic.goto_next, "Next Diagnostic" }, - k = { vim.diagnostic.goto_prev, "Prev Diagnostic" }, - l = { vim.lsp.codelens.run, "CodeLens Action" }, - q = { vim.diagnostic.setloclist, "Quickfix" }, - r = { vim.lsp.buf.rename, "Rename" }, - s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" }, - -- XXX Conflicting keymap - -- S = { - -- "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", - -- "Workspace Symbols", - -- w = { "<cmd>Telescope diagnostics<cr>", "Diagnostics" }, - -- }, - }, - -- Logs - L = { - name = "Logs", - d = { - "<cmd>lua require('lvim.core.terminal').toggle_log_view(require('lvim.core.log').get_path())<cr>", - "view default log", - }, - D = { - "<cmd>lua vim.fn.execute('edit ' .. require('lvim.core.log').get_path())<cr>", - "Open the default logfile", - }, - l = { - "<cmd>lua require('lvim.core.terminal').toggle_log_view(vim.lsp.get_log_path())<cr>", - "view lsp log", - }, - L = { "<cmd>lua vim.fn.execute('edit ' .. vim.lsp.get_log_path())<cr>", "Open the LSP logfile" }, - n = { - "<cmd>lua require('lvim.core.terminal').toggle_log_view(os.getenv('NVIM_LOG_FILE'))<cr>", - "view neovim log", - }, - N = { "<cmd>edit $NVIM_LOG_FILE<cr>", "Open the Neovim logfile" }, - p = { - "<cmd>lua require('lvim.core.terminal').toggle_log_view(get_cache_dir() .. '/packer.nvim.log')<cr>", - "view packer log", - }, - P = { "<cmd>edit $LUNARVIM_CACHE_DIR/packer.nvim.log<cr>", "Open the Packer logfile" }, - }, - -- Packer - p = { - name = "Packer", - c = { "<cmd>PackerCompile<cr>", "Compile" }, - i = { "<cmd>PackerInstall<cr>", "Install" }, - -- r = { "<cmd>lua require('lvim.plugin-loader').recompile()<cr>", "Re-compile" }, - s = { "<cmd>PackerSync<cr>", "Sync" }, - S = { "<cmd>PackerStatus<cr>", "Status" }, - u = { "<cmd>PackerUpdate<cr>", "Update" }, - }, - -- Search with Telescope - s = { - name = "Search", - b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" }, - c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" }, - f = { "<cmd>Telescope find_files<cr>", "Find File" }, - h = { "<cmd>Telescope help_tags<cr>", "Find Help" }, - H = { "<cmd>Telescope highlights<cr>", "Find highlight groups" }, - M = { "<cmd>Telescope man_pages<cr>", "Man Pages" }, - p = { "<cmd>Telescope projects<cr>", "Projects" }, - r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" }, - R = { "<cmd>Telescope registers<cr>", "Registers" }, - s = { "<cmd>SessionManager load_session<cr>", "Sessions" }, - t = { "<cmd>Telescope live_grep<cr>", "Text" }, - k = { "<cmd>Telescope keymaps<cr>", "Keymaps" }, - C = { "<cmd>Telescope commands<cr>", "Commands" }, - P = { - "<cmd>lua require('telescope.builtin').colorscheme({enable_preview = true})<cr>", - "Colorscheme with Preview", - }, - y = { "<cmd>Telescope yank_history<cr>", "Yank history" }, - }, - -- Trouble + treesitter to avoid conflicting keymap on T - t = { - name = "Troubleshoot document", - d = { "<cmd>TroubleToggle document_diagnostics<cr>", "Document diagnostics" }, - i = { "<cmd>TSConfigInfo<cr>", "Info about Treesitter" }, - l = { "<cmd>TroubleToggle loclist<cr>", "Toogle loclist" }, - o = { "<cmd>TroubleToggle<cr>", "Toogle Trouble" }, - p = { "<cmd>TSConfigInfo<cr>", "Treesitter Playground" }, - q = { "<cmd>TroubleToggle quickfix<cr>", "Toogle quickfix" }, - t = { "<cmd>TroubleToggle lsp_references<cr>", "Toogle LSP references" }, - w = { "<cmd>TroubleToggle workspace_diagnostics<cr>", "Workspace diagnostics" }, - }, -} - --- Mapping for visual mode -local vopts = { - mode = "v", -- VISUAL mode - prefix = "<leader>", - buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings - silent = true, -- use `silent` when creating keymaps - noremap = true, -- use `noremap` when creating keymaps - nowait = true, -- use `nowait` when creating keymaps -} -local vmappings = { - ["/"] = { "<Plug>(comment_toggle_linewise_visual)", "Comment toggle linewise (visual)" }, -} - -which_key.register(mappings, opts) -which_key.register(vmappings, vopts) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua deleted file mode 100644 index c3d834be..00000000 --- a/.config/nvim/lua/plugins.lua +++ /dev/null @@ -1,568 +0,0 @@ --- https://github.com/wbthomason/packer.nvim --- https://www.chiarulli.me/Neovim-2/03-plugins/ - -local utils = require("utils") - --- Bootstrap packer -local ensure_packer = function() - local fn = vim.fn - local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" - if fn.empty(fn.glob(install_path)) > 0 then - fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path }) - vim.cmd("packadd packer.nvim") - return true - end - return false -end - -local packer_bootstrap = ensure_packer() - --- Autocommand that reloads neovim whenever you save the plugins.lua file -vim.cmd([[ - augroup packer_user_config - autocmd! - autocmd BufWritePost plugins.lua source <afile> | PackerCompile - augroup end -]]) - --- Use a protected call so we don't error out on first use -local status_ok, packer = pcall(require, "packer") -if not status_ok then - return -end - --- Have packer use a popup window -packer.init({ - display = { - open_fn = function() - return require("packer.util").float({ border = "single" }) - end, - }, - git = { - subcommands = { - -- XXX potentil fix for https://github.com/wbthomason/packer.nvim/issues/1100, - -- which blocks updating the nvim-tree nightly tag - -- update = 'pull --ff-only --progress --rebase=false --force', - -- fetch = 'fetch --depth 999999 --progress --force', - } - }, -}) - -return require("packer").startup(function(use) - -- Packer can manage itself - use("wbthomason/packer.nvim") - - use("lewis6991/impatient.nvim") - - use("nvim-lua/popup.nvim") -- An implementation of the Popup API from vim in Neovim - use("nvim-lua/plenary.nvim") -- Useful lua functions used by lots of plugins - - -- Completion - -- https://github.com/topics/nvim-cmp - use({ - "hrsh7th/nvim-cmp", - config = function() - require("config.nvim-cmp") - end, - requires = { - -- Snippet engine - "L3MON4D3/LuaSnip", - -- Add vscode-like pictograms to neovim lsp - "onsails/lspkind.nvim", - -- Snippets - "rafamadriz/friendly-snippets", - }, - }) - use({ "L3MON4D3/LuaSnip", tag = "v1.*" }) - - -- nvim-cmp completion sources - -- https://github.com/uga-rosa/cmp-dictionary - -- https://github.com/lukas-reineke/cmp-rg - use({ - -- Complete from LSP client - "hrsh7th/cmp-nvim-lsp", - -- Complete neovim's Lua runtime API such vim.lsp - "hrsh7th/cmp-nvim-lua", - "hrsh7th/cmp-path", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-cmdline", - "hrsh7th/cmp-emoji", - -- Complete from lusasnp - "saadparwaiz1/cmp_luasnip", - -- Expecting to be able to get vimmail completion via omnifunc - -- XXX addresses are shown, but slowwing and parasiting too much mail editing - -- "hrsh7th/cmp-omni", - }) - -- Neovim completion library for sumneko/lua-language-server - use({ "ii14/emmylua-nvim", ft = "lua" }) - -- use { - -- "petertriho/cmp-git", - -- requires = "nvim-lua/plenary.nvim", - -- config = function() require('cmp_git').setup() end - -- } - -- nvim-lsp configuration - use({ - "neovim/nvim-lspconfig", - config = function() - -- Install packages - require("config.mason") - -- Manage LSP servers, DAP servers, linters, and formatters. - require("config.lsp") - end, - after = { "cmp-nvim-lsp" }, - requires = { - "williamboman/mason.nvim", - "nvim-lspconfig", - "WhoIsSethDaniel/mason-tool-installer.nvim", - "williamboman/mason-lspconfig.nvim", - -- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. - -- Use different binaries as sources, like prettier - -- XXX null-ls is breaking gq mapping - -- https://github.com/jose-elias-alvarez/null-ls.nvim/issues/1131 - "jose-elias-alvarez/null-ls.nvim", - -- Using ltex-ls for spellchecking - "vigoux/ltex-ls.nvim", - -- Show LSP server status - "j-hui/fidget.nvim", - }, - }) - - -- mail helper, mainly for searching for contacts - use({ - "https://gitlab.com/dbeniamine/vim-mail", - config = function() - require("config.mail") - end, - ft = "mail", - }) - - -- Clean spaces at EOL for lines that are edited - -- XXX try to find a lua-powered alternative - use({ - "thirtythreeforty/lessspace.vim", - config = function() - vim.g.lessspace_blacklist = { "diff", "mail" } - end, - }) - - -- Autopairs characters - use({ - "windwp/nvim-autopairs", - event = "InsertEnter", - config = function() - require("nvim-autopairs").setup({}) - end, - }) - - -- Easy change of surrounding stuff (tags, quotes...) - -- :h nvim-surround.usage - -- Alternative to vim-sandwich to get which-key working - -- ys: You Surround + text object + text - -- ysiw(: surround with () with spaces - -- ysiw): surround with () with no spaces - -- ds: Delete Surround - -- ds) - -- cs: Change Surround - -- cs'": change quotes around a text - use({ - "kylechui/nvim-surround", - tag = "*", -- Use for stability; omit to use `main` branch for the latest features - config = function() - require("nvim-surround").setup({}) - end, - }) - - use({ "michaeljsmith/vim-indent-object", event = "VimEnter" }) - - if utils.executable("tmux") then - -- .tmux.conf syntax highlighting and setting check - use({ "tmux-plugins/vim-tmux", ft = { "tmux" } }) - end - - -- Use :Telescope - -- https://alpha2phi.medium.com/neovim-for-beginners-fuzzy-file-search-part-2-2aab95fe8cfe - -- XXX Consider https://github.com/nvim-telescope/telescope-frecency.nvim - use({ - "nvim-telescope/telescope.nvim", - config = function() - require("telescope.actions") - local trouble = require("trouble.providers.telescope") - local telescope = require("telescope") - telescope.setup({ - defaults = { - mappings = { - -- XXX to be removed if not used - i = { ["<c-t>"] = trouble.open_with_trouble }, - n = { ["<c-t>"] = trouble.open_with_trouble }, - }, - }, - pickers = { - find_files = { - theme = "dropdown", - }, - live_grep = { - theme = "dropdown", - }, - oldfiles = { - theme = "dropdown", - }, - }, - extensions = { - yank_history = { - layout_strategy = "vertical", - }, - }, - }) - telescope.load_extension("yank_history") - end, - }) - -- pretty list for showing diagnostics, references, telescope results, quickfix and location lists - -- https://github.com/folke/trouble.nvim - use({ - "folke/trouble.nvim", - requires = "kyazdani42/nvim-web-devicons", - config = function() - require("trouble").setup({ - -- XXX currently disabled, causing too many errors - auto_open = false, -- automatically open the list when you have diagnostics - auto_close = false, -- automatically close the list when you have no diagnostics - }) - vim.keymap.set("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", { silent = true, noremap = true }) - end, - }) - - -- highlight, navigate, and operate on sets of matching text - -- https://github.com/andymass/vim-matchup - use({ - "andymass/vim-matchup", - setup = function() - -- may set any options here - vim.g.matchup_matchparen_offscreen = { method = "popup" } - end, - event = "VimEnter", - }) - - -- fold management - use({ - -- XXX to see if really needed - "kevinhwang91/nvim-ufo", - requires = "kevinhwang91/promise-async", - config = function() - require("ufo").setup({ - provider_selector = function() - return { "treesitter", "indent" } - end, - }) - -- Using ufo provider need remap `zR` and `zM`. - -- once zM got run it's possible to use other commands - vim.keymap.set("n", "zR", require("ufo").openAllFolds) - vim.keymap.set("n", "zM", require("ufo").closeAllFolds) - end, - }) - - -- Treesitter configurations and abstraction layer for Neovim. - use({ - -- Tree-sitter is a parser generator tool and an incremental parsing library. - "nvim-treesitter/nvim-treesitter", - config = function() - require("config.treesitter") - end, - run = function() - local ts_update = require("nvim-treesitter.install").update({ with_sync = true }) - ts_update() - end, - requires = { - -- Syntax aware text-objects, select, move, swap, and peek support. - { "nvim-treesitter/nvim-treesitter-textobjects", event = "BufRead" }, - -- Rainbow parentheses for neovim using tree-sitter. - { "p00f/nvim-ts-rainbow", event = "BufRead" }, - -- View treesitter information directly in Neovim! - { "nvim-treesitter/playground", cmd = "TSPlaygroundToggle" }, - -- -- Set commentstring option based on the cursor location in the file - "JoosepAlviste/nvim-ts-context-commentstring", - -- Use treesitter to autoclose and autorename html tag - { "windwp/nvim-ts-autotag" }, - }, - }) - - -- open last position in file - use("farmergreg/vim-lastplace") - - -- Manage undo - use("simnalamburt/vim-mundo") - - -- netrw replacement - use({ - "kyazdani42/nvim-tree.lua", - tag = "nightly", - config = function() - require("nvim-tree").setup({}) - vim.keymap.set("n", "<leader>T", "<cmd>NvimTreeToggle<cr>", { silent = true, noremap = true }) - end, - requires = { - "nvim-tree/nvim-web-devicons", - }, - }) - - -- Comment management - use({ - "numToStr/Comment.nvim", - config = function() - require("Comment").setup({}) - end, - }) - - -- project management - use({ - "ahmedkhalf/project.nvim", - config = function() - require("project_nvim").setup({ - -- :ProjectRoot is required to switch project - manual_mode = true, - silent_chdir = false, - }) - require("telescope").load_extension("projects") - vim.keymap.set("n", "<c-p>", "<cmd>:lua require('telescope').extensions.projects.projects{}<cr>", {}) - end, - }) - - -- org-mode like - -- https://github.com/nvim-neorg/neorg - use({ - "nvim-neorg/neorg", - -- tag = "*", - ft = "norg", - after = "nvim-treesitter", -- You may want to specify Telescope here as well - run = ":Neorg sync-parsers", - config = function() - require("neorg").setup({ - load = { - -- Load everything - ["core.defaults"] = {}, - ["core.norg.completion"] = { - config = { - engine = "nvim-cmp", - }, - }, - ["core.norg.concealer"] = {}, - ["core.norg.journal"] = {}, - ["core.norg.qol.toc"] = {}, - ["core.norg.dirman"] = { - config = { - workspaces = { - work = "~/Documents/notes/work", - home = "~/Documents/notes/home", - -- gtd = "~/Documents/notes/gtd", - }, - }, - }, - -- XXX https://github.com/nvim-neorg/neorg/issues/695 - -- ["core.gtd.base"] = { - -- config = { - -- workspace = "gtd", - -- }, - -- }, - ["core.integrations.telescope"] = {}, - -- ["external.kanban"] = {}, - }, - }) - end, - requires = { - "nvim-neorg/neorg-telescope", - -- Relevant to GTD that is no more supported - -- "max397574/neorg-kanban", - }, - }) - - -- Better yank management - use({ - "gbprod/yanky.nvim", - config = function() - require("yanky").setup({}) - vim.keymap.set({ "n", "x" }, "p", "<Plug>(YankyPutAfter)") - vim.keymap.set({ "n", "x" }, "P", "<Plug>(YankyPutBefore)") - vim.keymap.set({ "n", "x" }, "gp", "<Plug>(YankyGPutAfter)") - vim.keymap.set({ "n", "x" }, "gP", "<Plug>(YankyGPutBefore)") - vim.keymap.set("n", "<c-n>", "<Plug>(YankyCycleForward)") - vim.keymap.set("n", "<c-p>", "<Plug>(YankyCycleBackward)") - end, - }) - - -- Automatically create missing directories on saving a file - use({ - "jghauser/mkdir.nvim", - }) - - -- Session manager - use({ - "Shatur/neovim-session-manager", - config = function() - require("session_manager").setup({ - -- Do not autoload previous session - autoload_mode = require("session_manager.config").AutoloadMode.Disabled, - }) - local config_group = vim.api.nvim_create_augroup("MyConfigGroup", {}) -- A global group for all your config autocommands - - vim.api.nvim_create_autocmd({ "User" }, { - pattern = "SessionLoadPost", - group = config_group, - callback = function() - require("nvim-tree").toggle(false, true) - end, - }) - end, - }) - - -- list and switch between buffers - use({ - "akinsho/bufferline.nvim", - tag = "v3.*", - config = function() - require("bufferline").setup({}) - end, - }) - - -- Git support - use({ - "lewis6991/gitsigns.nvim", - config = function() - require("gitsigns").setup({ - yadm = { - enable = false, - }, - }) - end, - tag = "v*", - requires = { "nvim-lua/plenary.nvim" }, - event = "BufRead", - }) - - -- UI, UX, look and fgeel good - - -- displays a popup with possible key bindings - -- https://github.com/LunarVim/LunarVim/blob/master/lua/lvim/core/which-key.lua - use({ - "folke/which-key.nvim", - config = function() - require("config.which-key") - end, - }) - - use({ - -- status line - "nvim-lualine/lualine.nvim", - config = function() - require("config.theme") - end, - requires = { - -- theme - -- XXX matching keywords and {[], are underlined, not very nice - -- "Mofiqul/dracula.nvim", - -- "rafamadriz/neon", - "folke/tokyonight.nvim", - -- "andersevenrud/nordic.nvim", - -- "shaunsingh/nord.nvim", - -- "Th3Whit3Wolf/one-nvim", - -- "marko-cerovac/material.nvim", - -- 'navarasu/onedark.nvim', - -- {'embark-theme/vim', as = 'embark'}, - -- icons - "kyazdani42/nvim-web-devicons", - opt = true, - }, - }) - - -- Add indentation guides to all lines - use({ "lukas-reineke/indent-blankline.nvim" }) - -- Neovim plugin to improve the default vim.ui interfaces - use({ - "stevearc/dressing.nvim", - config = function() - require("dressing").setup({}) - end, - }) - - -- Notifications, Messages, cmdline, pop up menu - use({ - "folke/noice.nvim", - tag = "v1.*", - config = function() - require("noice").setup({ - lsp = { - -- override markdown rendering so that **cmp** and other plugins use **Treesitter** - override = { - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - ["vim.lsp.util.stylize_markdown"] = true, - ["cmp.entry.get_documentation"] = true, - }, - }, - -- you can enable a preset for easier configuration - presets = { - bottom_search = true, -- use a classic bottom cmdline for search - command_palette = true, -- position the cmdline and popupmenu together - long_message_to_split = true, -- long messages will be sent to a split - inc_rename = false, -- enables an input dialog for inc-rename.nvim - lsp_doc_border = false, -- add a border to hover docs and signature help - }, - }) - end, - requires = { - -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries - "MunifTanjim/nui.nvim", - "rcarriga/nvim-notify", - }, - }) - use({ - "rcarriga/nvim-notify", - tag = "v3.*", - }) - - -- a fast and fully programmable greeter for neovim. - use({ - "goolord/alpha-nvim", - requires = { "kyazdani42/nvim-web-devicons" }, - config = function() - local alpha = require("alpha") - local dashboard = require("alpha.themes.dashboard") - dashboard.section.buttons.val = { - dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"), - dashboard.button("q", " Quit NVIM", ":qa<CR>"), - dashboard.button("SPC s f", " Find file"), - dashboard.button("SPC s r", " Recently opened files"), - dashboard.button("SPC s t", " Find text"), - dashboard.button("SPC s p", " Jump to project"), - dashboard.button("SPC s s", " Find old sessions"), - } - local handle = io.popen("fortune") - local fortune = handle:read("*a") - handle:close() - dashboard.section.footer.val = fortune - dashboard.config.opts.noautocmd = true - vim.cmd([[autocmd User AlphaReady echo 'ready']]) - alpha.setup(dashboard.config) - end, - }) - - -- Use neovim to edit textarea in browsers - use({ - "glacambre/firenvim", - run = function() - vim.fn["firenvim#install"](0) - end, - }) - - -- Spaw terminals - use({ - "akinsho/toggleterm.nvim", - tag = "*", - config = function() - require("toggleterm").setup() - end, - }) - - -- Automatically set up your configuration after cloning packer.nvim - -- Put this at the end after all plugins - if packer_bootstrap then - require("packer").sync() - end -end) diff --git a/.config/nvim/lua/utils.lua b/.config/nvim/lua/utils.lua deleted file mode 100644 index b7cbdb0a..00000000 --- a/.config/nvim/lua/utils.lua +++ /dev/null @@ -1,14 +0,0 @@ --- https://github.com/jdhao/nvim-config/blob/master/lua/utils.lua -local fn = vim.fn - -local M = {} - -function M.executable(name) - if fn.executable(name) > 0 then - return true - end - - return false -end - -return M From 895f4bfe2fbcfc07f5b3984517f5ef36b8ce342c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 15:40:40 +0200 Subject: [PATCH 1527/2080] fish: clean ls/lsd aliases --- modules/home/fish/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index ab5e8b17..c86217d9 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -65,8 +65,8 @@ in df = "${pkgs.duf}/bin/duf"; g = "${pkgs.git}/bin/git"; ls = "${pkgs.lsd}/bin/lsd --group-directories-first"; + lsa = "${pkgs.lsd}/bin/lsd --group-directories-first --almost-all"; l = "${pkgs.lsd}/bin/lsd --group-directories-first --long --date '+%F %T'"; - ll = "${pkgs.lsd}/bin/lsd --group-directories-first --long --date '+%F %T'"; la = "${pkgs.lsd}/bin/lsd --group-directories-first --long --date '+%F %T' --almost-all"; # Only display directories ld = "${pkgs.fd}/bin/fd . --type d --max-depth 1 --strip-cwd-prefix --exec-batch ${pkgs.lsd}/bin/lsd --directory-only"; From 544b2f57a9e03a8591dba822b818b741cff46d9d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 17:08:53 +0200 Subject: [PATCH 1528/2080] lazyvim: setup conform.nvim and nvim-lint. --- lazyvim/nvim/lua/plugins/lsp.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index fb12008e..02d3aad5 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -175,10 +175,32 @@ return { }, }, + -- Replacement for formatting via null-ls/none-ls + { + "stevearc/conform.nvim", + opts = { + formatters_by_ft = { + markdown = { "prettierd" }, + yaml = { "prettierd" }, + }, + }, + }, + -- Replacement for linting via null-ls/none-ls + { + "mfussenegger/nvim-lint", + opts = { + linters_by_ft = { + -- lua = { "selene", "luacheck" }, + markdown = { "markdownlint" }, + }, + }, + }, + -- customise null-ls { "nvimtools/none-ls.nvim", -- XXX: disable to test conform and nvim-lint + -- XXX: to be dropped if adopting conform.nvim and nvim-lint -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 enabled = false, opts = function(_, opts) From ebb938c3140224c43d8d78c3d21397ff6330fb8b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 2 Oct 2023 17:09:51 +0200 Subject: [PATCH 1529/2080] lazyvim: update lazy-lock.json. --- lazyvim/nvim/lazy-lock.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 1fe5e9b8..edc9fbe7 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "aa1cccf230a01bd85d5173f7d87f782fd83caa88" }, - "LuaSnip": { "branch": "master", "commit": "e81cbe6004051c390721d8570a4a0541ceb0df10" }, - "SchemaStore.nvim": { "branch": "main", "commit": "787ffac7dff081f51b4fdcb5f6a85ec7d385504e" }, - "bufferline.nvim": { "branch": "main", "commit": "99f0932365b34e22549ff58e1bea388465d15e99" }, - "catppuccin": { "branch": "main", "commit": "371430f32f2637d2dd5796399b3982d4cada61d8" }, + "LazyVim": { "branch": "main", "commit": "ecac59c9823c86ac4c916a4cc1aa761f43e040ec" }, + "LuaSnip": { "branch": "master", "commit": "480b032f6708573334f4437d3f83307d143f1a72" }, + "SchemaStore.nvim": { "branch": "main", "commit": "08ab25507a92e22cec433f6750bb4a56a8cec22d" }, + "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, + "catppuccin": { "branch": "main", "commit": "7a4bcdadafc59a5bedbd866c643fa486d8cca4a1" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -19,15 +19,15 @@ "edgy.nvim": { "branch": "main", "commit": "70e334c9cd7915aedde3255ade01ceeebe735b53" }, "flash.nvim": { "branch": "main", "commit": "79e79ae45c3512ff1edc5da55f38ca8ee8d857b9" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "e32efa6d6acb4a2e2e270f329df6a65080702066" }, - "gx.nvim": { "branch": "main", "commit": "b967c7ace36372d938cc33ab1612dc39f3694e42" }, + "gitsigns.nvim": { "branch": "main", "commit": "550e251986ead5cbd1191307c28c6b7dbd453d10" }, + "gx.nvim": { "branch": "main", "commit": "0693bfa11fc045b1cabb6fdb7e6724efd7271565" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "2424b9956fc46731152c8326e3547d9ca6c903a9" }, + "indent-blankline.nvim": { "branch": "master", "commit": "ce2e8e410bc8b46a6938bfa3520bc6b85ca8a743" }, "lazy.nvim": { "branch": "main", "commit": "59335c5b9d116f5d3948f833288a89e2a829a005" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "48025d62f45af52ba47e4193b854864839392e4c" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, @@ -56,13 +56,13 @@ "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, "nvim-spider": { "branch": "main", "commit": "be7273858d75673a0ae594552742eb8769f35d6a" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "1e5576fa0165a222529777731a3257343047f916" }, - "nvim-treesitter-context": { "branch": "master", "commit": "6f8f788738b968f24a108ee599c5be0031f94f06" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "9e519b6146512c8e2e702faf8ac48420f4f5deec" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "e9062e2dfb9854e6a927370f2d720de354c88524" }, - "nvim-ufo": { "branch": "main", "commit": "5be5b800b4f3512bca128f345e9c98574b5637c0" }, - "nvim-web-devicons": { "branch": "master", "commit": "ab899311f8ae00a47eae8e0879506cead8eb1561" }, - "octo.nvim": { "branch": "master", "commit": "22328c578bc013fa4b0cef3d00af35efe0c0f256" }, + "nvim-treesitter": { "branch": "master", "commit": "d96c216c54cc2d48d3c66ba7f0fc3c7c5b71b3b1" }, + "nvim-treesitter-context": { "branch": "master", "commit": "bc19b78e9c705d67be98d56e9fab96470af45f33" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "0c136439fb93fd94db9106250ff6f6858101422b" }, + "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, + "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, + "octo.nvim": { "branch": "master", "commit": "04334f0602b351e4995f352b6fed3d6f91f64610" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, From 14d6ca6f01dafdfd095c2169ecab49f894fcd367 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 4 Oct 2023 09:05:11 +0200 Subject: [PATCH 1530/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/792c2e01347cb1b2e7ec84a1ef73453ca86537d8' (2023-09-30) → 'github:lnl7/nix-darwin/8b6ea26d5d2e8359d06278364f41fbc4b903b28a' (2023-10-03) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/de6f29f963bdc8476981f5327b24d441cb2f49eb' (2023-10-02) → 'github:nix-community/neovim-nightly-overlay/7788550cce42f8f9e0bdfb5727bab3ae59b35bc6' (2023-10-04) • Updated input 'neovim-nightly-overlay/flake-compat': 'github:edolstra/flake-compat/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9' (2023-01-17) → 'github:edolstra/flake-compat/4f910c9827911b1ec2bf26b5a062cd09f8d89f85' (2023-10-02) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/21928e6758af0a258002647d14363d5ffc85545b' (2023-10-01) → 'github:hercules-ci/flake-parts/c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4' (2023-10-03) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/9ce1623837a817c3f4f5deff9c8ba862578b6009?dir=contrib' (2023-10-01) → 'github:neovim/neovim/1e7e9ee91f73c62b8c5ba9dbdabba3a3b6dc0130?dir=contrib' (2023-10-03) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/c182df2e68bd97deb32c7e4765adfbbbcaf75b60' (2023-09-29) → 'github:NixOS/nixpkgs/0c7ffbc66e6d78c50c38e717ec91a2a14e0622fb' (2023-10-02) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/32dcb45f66c0487e92db8303a798ebc548cadedc' (2023-09-30) → 'github:NixOS/nixpkgs/3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58' (2023-10-03) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/e74884a0d3c4f61fc05c67ab7aaf6832a0f932c8' (2023-10-02) → 'github:nixos/nixpkgs/3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58' (2023-10-03) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/f5892ddac112a1e9b3612c39af1b72987ee5783a' (2023-09-29) → 'github:nixos/nixpkgs/fdd898f8f79e8d2f99ed2ab6b3751811ef683242' (2023-10-01) • Updated input 'nur': 'github:nix-community/NUR/10cb4e7f43730216163dd7e025ab37ff560cf4bc' (2023-10-02) → 'github:nix-community/NUR/872c5c231d45f091dfcec95b47d4bb6d80f0b864' (2023-10-04) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 2e7faf69..1122f50d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1696043447, - "narHash": "sha256-VbJ1dY5pVH2fX1bS+cT2+4+BYEk4lMHRP0+udu9G6tk=", + "lastModified": 1696360011, + "narHash": "sha256-HpPv27qMuPou4acXcZ8Klm7Zt0Elv9dgDvSJaomWb9Y=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "792c2e01347cb1b2e7ec84a1ef73453ca86537d8", + "rev": "8b6ea26d5d2e8359d06278364f41fbc4b903b28a", "type": "github" }, "original": { @@ -24,11 +24,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696267196, + "narHash": "sha256-AAQ/2sD+0D18bb8hKuEEVpHUYD1GmO2Uh/taFamn6XQ=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "4f910c9827911b1ec2bf26b5a062cd09f8d89f85", "type": "github" }, "original": { @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1696203690, - "narHash": "sha256-774XMEL7VHSTLDYVkqrbl5GCdmkVKsjMs+KLM4N4t7k=", + "lastModified": 1696343447, + "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "21928e6758af0a258002647d14363d5ffc85545b", + "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1696187451, - "narHash": "sha256-AiGMtsPP6DiCgBjHJSPlr49+Oov2WdTDPd+ffZgkT5o=", + "lastModified": 1696370659, + "narHash": "sha256-gLnzy6safyn+XVY8fnzxU16h2CKPDRF2yshoPh95B+A=", "owner": "neovim", "repo": "neovim", - "rev": "9ce1623837a817c3f4f5deff9c8ba862578b6009", + "rev": "1e7e9ee91f73c62b8c5ba9dbdabba3a3b6dc0130", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1696205061, - "narHash": "sha256-HXUmII41X0fDSQouFa86KWnvGmdipNmF5hIx9hEH9EU=", + "lastModified": 1696377831, + "narHash": "sha256-Rr6jsPy7YyMeUrVZe3Do8gkqjPbQL2EozC0YwnlaDCg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "de6f29f963bdc8476981f5327b24d441cb2f49eb", + "rev": "7788550cce42f8f9e0bdfb5727bab3ae59b35bc6", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1696206411, - "narHash": "sha256-anYBX6LsEki7MkdcC1OylWPYTut/6TNqjFSDIk3nwBA=", + "lastModified": 1696323343, + "narHash": "sha256-u7WLUrh5eb+6SBYwtkaGL2ryHpLcHzmLml+a+VqKJWE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e74884a0d3c4f61fc05c67ab7aaf6832a0f932c8", + "rev": "3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", + "lastModified": 1696193975, + "narHash": "sha256-mnQjUcYgp9Guu3RNVAB2Srr1TqKcPpRXmJf4LJk6KRY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", + "rev": "fdd898f8f79e8d2f99ed2ab6b3751811ef683242", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696009558, - "narHash": "sha256-/1nNL8lCF0gn38XaFyu2ufpWcBFwCDZyYUxdZkM6GxU=", + "lastModified": 1696261572, + "narHash": "sha256-s8TtSYJ1LBpuITXjbPLUPyxzAKw35LhETcajJjCS5f0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c182df2e68bd97deb32c7e4765adfbbbcaf75b60", + "rev": "0c7ffbc66e6d78c50c38e717ec91a2a14e0622fb", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1696039360, - "narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=", + "lastModified": 1696323343, + "narHash": "sha256-u7WLUrh5eb+6SBYwtkaGL2ryHpLcHzmLml+a+VqKJWE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "32dcb45f66c0487e92db8303a798ebc548cadedc", + "rev": "3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696238864, - "narHash": "sha256-PUDfk2wxGc0czhwjmoRe9RnivO8cRPnBbiGyBWxUkMQ=", + "lastModified": 1696400324, + "narHash": "sha256-0S3Z5RoD1eImk672Ta+cqVmz/0Fkaeq+7A4iCsYoaug=", "owner": "nix-community", "repo": "NUR", - "rev": "10cb4e7f43730216163dd7e025ab37ff560cf4bc", + "rev": "872c5c231d45f091dfcec95b47d4bb6d80f0b864", "type": "github" }, "original": { From 5248587af179b0914da2d57c338e44a660c4a7b7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 4 Oct 2023 11:11:09 +0200 Subject: [PATCH 1531/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/872c5c231d45f091dfcec95b47d4bb6d80f0b864' (2023-10-04) → 'github:nix-community/NUR/42ba1d130eec469ea490de46f82193d48889ca16' (2023-10-04) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 1122f50d..1d6d62fb 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696400324, - "narHash": "sha256-0S3Z5RoD1eImk672Ta+cqVmz/0Fkaeq+7A4iCsYoaug=", + "lastModified": 1696410550, + "narHash": "sha256-1I/bIf1NFeGcjvSGpGeGAaxA0vG24uDn37wfxCXbA3M=", "owner": "nix-community", "repo": "NUR", - "rev": "872c5c231d45f091dfcec95b47d4bb6d80f0b864", + "rev": "42ba1d130eec469ea490de46f82193d48889ca16", "type": "github" }, "original": { From 8bf375fe764f7a66d34feab1eb09b6ac0452a8a2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Oct 2023 09:30:30 +0200 Subject: [PATCH 1532/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/7788550cce42f8f9e0bdfb5727bab3ae59b35bc6' (2023-10-04) → 'github:nix-community/neovim-nightly-overlay/1294c96baead66a8e3b051172f113069c8c19d1a' (2023-10-04) • Updated input 'neovim-nightly-overlay/flake-compat': 'github:edolstra/flake-compat/4f910c9827911b1ec2bf26b5a062cd09f8d89f85' (2023-10-02) → 'github:edolstra/flake-compat/5a16547d46553d7bdd1dfc2cf418f5f7d236f6ad' (2023-10-04) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/0c7ffbc66e6d78c50c38e717ec91a2a14e0622fb' (2023-10-02) → 'github:NixOS/nixpkgs/f227f12d246b1e7916993c1e4c66f9f185d94586' (2023-10-03) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58' (2023-10-03) → 'github:NixOS/nixpkgs/8a4c17493e5c39769f79117937c79e1c88de6729' (2023-10-03) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58' (2023-10-03) → 'github:nixos/nixpkgs/e49c28b3baa3a93bdadb8966dd128f9985ea0a09' (2023-10-04) • Updated input 'nur': 'github:nix-community/NUR/42ba1d130eec469ea490de46f82193d48889ca16' (2023-10-04) → 'github:nix-community/NUR/87afa198d7dde7d6a1df02fbfe82d0a86313a6e3' (2023-10-05) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 1d6d62fb..d8cb9bb7 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696267196, - "narHash": "sha256-AAQ/2sD+0D18bb8hKuEEVpHUYD1GmO2Uh/taFamn6XQ=", + "lastModified": 1696416586, + "narHash": "sha256-Dk1zfIAQeVBzBtI2LdkFJDj9Z4e3Xb6Fy0gTRy6uAIE=", "owner": "edolstra", "repo": "flake-compat", - "rev": "4f910c9827911b1ec2bf26b5a062cd09f8d89f85", + "rev": "5a16547d46553d7bdd1dfc2cf418f5f7d236f6ad", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1696377831, - "narHash": "sha256-Rr6jsPy7YyMeUrVZe3Do8gkqjPbQL2EozC0YwnlaDCg=", + "lastModified": 1696421174, + "narHash": "sha256-hU7eRD+NI7Ld0eRnCWwI7JrbV08rZ0XVZEI8ZX+v6A4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7788550cce42f8f9e0bdfb5727bab3ae59b35bc6", + "rev": "1294c96baead66a8e3b051172f113069c8c19d1a", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1696323343, - "narHash": "sha256-u7WLUrh5eb+6SBYwtkaGL2ryHpLcHzmLml+a+VqKJWE=", + "lastModified": 1696435587, + "narHash": "sha256-otsVJPs+YMXjTJFEJ3ZzvaJ1e3Q74aStE2MSb2dxuZM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58", + "rev": "e49c28b3baa3a93bdadb8966dd128f9985ea0a09", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696261572, - "narHash": "sha256-s8TtSYJ1LBpuITXjbPLUPyxzAKw35LhETcajJjCS5f0=", + "lastModified": 1696356164, + "narHash": "sha256-5jGwl4z0K/nDjeYqR29lEe7Mg7hPDoCBlb17fqZQgxo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0c7ffbc66e6d78c50c38e717ec91a2a14e0622fb", + "rev": "f227f12d246b1e7916993c1e4c66f9f185d94586", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1696323343, - "narHash": "sha256-u7WLUrh5eb+6SBYwtkaGL2ryHpLcHzmLml+a+VqKJWE=", + "lastModified": 1696374741, + "narHash": "sha256-gt8B3G0ryizT9HSB4cCO8QoxdbsHnrQH+/BdKxOwqF0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58", + "rev": "8a4c17493e5c39769f79117937c79e1c88de6729", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696410550, - "narHash": "sha256-1I/bIf1NFeGcjvSGpGeGAaxA0vG24uDn37wfxCXbA3M=", + "lastModified": 1696487582, + "narHash": "sha256-P4geP6VRcOaiqkDjZmRwUgKKxUClsu7zw6R6Ku/JaQ0=", "owner": "nix-community", "repo": "NUR", - "rev": "42ba1d130eec469ea490de46f82193d48889ca16", + "rev": "87afa198d7dde7d6a1df02fbfe82d0a86313a6e3", "type": "github" }, "original": { From b08d893f0b15e16f280b57d27034ca1dc17dfbee Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Oct 2023 10:43:48 +0200 Subject: [PATCH 1533/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index edc9fbe7..79020441 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,8 @@ { - "LazyVim": { "branch": "main", "commit": "ecac59c9823c86ac4c916a4cc1aa761f43e040ec" }, - "LuaSnip": { "branch": "master", "commit": "480b032f6708573334f4437d3f83307d143f1a72" }, + "LazyVim": { "branch": "main", "commit": "49b91b6b1fe8a9bc55f643b390a346919f629948" }, + "LuaSnip": { "branch": "master", "commit": "2c3a3a3e4fb503bf39efb61290ecfa8aae95f5eb" }, "SchemaStore.nvim": { "branch": "main", "commit": "08ab25507a92e22cec433f6750bb4a56a8cec22d" }, + "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "7a4bcdadafc59a5bedbd866c643fa486d8cca4a1" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -12,19 +13,19 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "conform.nvim": { "branch": "master", "commit": "37d036704a100ef6e6457be45b4dfc2f8e429572" }, + "conform.nvim": { "branch": "master", "commit": "7ad988c2509ff1869c26ecdabebadc7943e78f6f" }, "dial.nvim": { "branch": "master", "commit": "611cf5e84f655c96318b803785f89e3146d8e48f" }, "diffview.nvim": { "branch": "main", "commit": "a111d19ccceac6530448d329c63f998f77b5626e" }, "dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" }, "edgy.nvim": { "branch": "main", "commit": "70e334c9cd7915aedde3255ade01ceeebe735b53" }, "flash.nvim": { "branch": "main", "commit": "79e79ae45c3512ff1edc5da55f38ca8ee8d857b9" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "550e251986ead5cbd1191307c28c6b7dbd453d10" }, + "gitsigns.nvim": { "branch": "main", "commit": "7f6f1565ac0d9f4e26d87135c6cbe0b9fdcf70b3" }, "gx.nvim": { "branch": "main", "commit": "0693bfa11fc045b1cabb6fdb7e6724efd7271565" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "ce2e8e410bc8b46a6938bfa3520bc6b85ca8a743" }, - "lazy.nvim": { "branch": "main", "commit": "59335c5b9d116f5d3948f833288a89e2a829a005" }, + "indent-blankline.nvim": { "branch": "master", "commit": "da789082a43e2bb8930c7be0e265ce37768394d8" }, + "lazy.nvim": { "branch": "main", "commit": "64cb9b16f6d4f1c395de4ec672d9d79fffb5c3b4" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, @@ -37,32 +38,31 @@ "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, - "mini.starter": { "branch": "main", "commit": "c7e027558477838eac7109d8576ff1f2d9804845" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, - "neoconf.nvim": { "branch": "main", "commit": "466ba6f645f63f91ac84d3dd986acede5d107f39" }, - "neodev.nvim": { "branch": "main", "commit": "5147640bc8435ca3557a105ebd1143bc20420b60" }, + "neoconf.nvim": { "branch": "main", "commit": "64a4f814f598717ed1e56da4e175b2513bd7c3fd" }, + "neodev.nvim": { "branch": "main", "commit": "ee960afffdb95472f719a72a1edb494ffea09c92" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "8b06f91ae973fd68fde074f15a887f9a3a3411cb" }, - "neorg": { "branch": "main", "commit": "745715c873395840a5127413d1ef30a42735605e" }, - "noice.nvim": { "branch": "main", "commit": "396f9146529130904e07c45e90ecdbfa607534f3" }, + "neogit": { "branch": "master", "commit": "ed99c59d7fda3ba5e2ce9a3adc0a8eb5ebfa6c8f" }, + "neorg": { "branch": "main", "commit": "24e1d4e067aaeed9a2aaae8b65c77ac8c00a0324" }, + "noice.nvim": { "branch": "main", "commit": "f77689c9b2436bcd70741a20311496233acb4fb9" }, "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, "nvim-lint": { "branch": "master", "commit": "1065763f115a7765ef237347ad676ba348d7193a" }, - "nvim-lspconfig": { "branch": "master", "commit": "ac478757efcde1ac346f7044ab774e7cbb482533" }, + "nvim-lspconfig": { "branch": "master", "commit": "71b39616b14c152da34fcc787fa27f09bf280e72" }, "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, "nvim-spider": { "branch": "main", "commit": "be7273858d75673a0ae594552742eb8769f35d6a" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "d96c216c54cc2d48d3c66ba7f0fc3c7c5b71b3b1" }, - "nvim-treesitter-context": { "branch": "master", "commit": "bc19b78e9c705d67be98d56e9fab96470af45f33" }, + "nvim-treesitter": { "branch": "master", "commit": "dd72cfadec27c13e93df202c7f9a6d8bb9d51826" }, + "nvim-treesitter-context": { "branch": "master", "commit": "2095f231dfe796d228eedea96fdaa31f2e343fb2" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "0c136439fb93fd94db9106250ff6f6858101422b" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, - "octo.nvim": { "branch": "master", "commit": "04334f0602b351e4995f352b6fed3d6f91f64610" }, + "octo.nvim": { "branch": "master", "commit": "e75f159b7bafb7cb3b8c646305dd97d5058375ca" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, @@ -76,12 +76,12 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "7d51950854a3f8853c5c0d570757095e9a5af313" }, + "telescope.nvim": { "branch": "master", "commit": "8c69f58427f98b2ca39a90a36db830c06e30351c" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "e89caa3ad6d8da9d0dd981ec74a82c55adc61ffd" }, + "tokyonight.nvim": { "branch": "main", "commit": "4412dafadf920deb9e08d4b9c1c11b2cf65ca1ca" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "14d6e866070f759e9014a8053954f835294f56f9" }, + "venv-selector.nvim": { "branch": "main", "commit": "73b1d2f546b0f6022b4c1d98471f8ec257c9e1ef" }, "vim-illuminate": { "branch": "master", "commit": "1b5d70332a51a1de05f281069851865a2bb1e6d7" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, @@ -89,5 +89,5 @@ "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "590a713b0372485f595eea36e7e3ab2069946794" } + "yanky.nvim": { "branch": "main", "commit": "538af19b7fafcdb295a943b8b84bae8bb8fc9bb7" } } From 61a72efb617c52cead8a6049fe21a0ddeba147e4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Oct 2023 10:44:01 +0200 Subject: [PATCH 1534/2080] lazyvim: back to default dashboard. Document how netrw is replaced. --- lazyvim/nvim/lua/config/lazy.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 4cf5ce2b..df3fcc81 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -25,8 +25,6 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.lang.terraform" }, -- Animate common Neovim actions (cursor movement, scrolling...) { import = "lazyvim.plugins.extras.ui.mini-animate" }, - -- Alternative startup screen/dashboard - { import = "lazyvim.plugins.extras.ui.mini-starter" }, -- create and manage predefined window layouts { import = "lazyvim.plugins.extras.ui.edgy" }, -- project management @@ -65,6 +63,7 @@ require("lazy").setup({ "gzip", -- "matchit", -- "matchparen", + -- Replaced by https://github.com/nvim-neo-tree/neo-tree.nvim "netrwPlugin", "tarPlugin", "tohtml", From 1220955422f857f3e21013c5bba34f6803010d02 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Oct 2023 10:44:54 +0200 Subject: [PATCH 1535/2080] LazyVim: tune neo-tree configuration --- lazyvim/nvim/lua/plugins/tools.lua | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 8341b0d4..fec70772 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -16,6 +16,40 @@ return { }, }, + { + "nvim-neo-tree/neo-tree.nvim", + -- Required: https://github.com/folke/lazy.nvim/issues/688 + lazy = false, + opts = { + window = { + position = "left", + }, + filesystem = { + filtered_items = { + visible = true, + hide_dotfiles = false, + hide_gitignored = true, + never_show = { ".git", ".DS_Store" }, + }, + follow_current_file = { + enabled = true, + }, + group_empty_dirs = true, + hijack_netrw_behavior = "open_default", + use_libuv_file_watcher = true, + }, + event_handlers = { + { + -- auto close when a file got selected + event = "file_opened", + handler = function(file_path) + require("neo-tree").close_all() + end, + }, + }, + }, + }, + -- markdown preview { "toppair/peek.nvim", From b97f5369c7738dc15523221658ae6f4e378b941d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Oct 2023 10:45:32 +0200 Subject: [PATCH 1536/2080] LazyVim: try to follow what project.nvim is doing --- lazyvim/nvim/lua/plugins/tools.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index fec70772..ec9fc1da 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -79,6 +79,15 @@ return { keys = { { "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "DiffView" } }, }, + -- Explicit project switch + { + "ahmedkhalf/project.nvim", + opts = { + silent_chdir = false, + scope_chdir = "tab", + }, + }, + -- ChatGPT client -- { -- "jackMort/ChatGPT.nvim", From ba6bc050b5e80be86bf788bc9d3d85023f8f3fb0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Oct 2023 10:55:12 +0200 Subject: [PATCH 1537/2080] LazyVim: drop neo-tree settings already in neo-tree or LazyVim defaults --- lazyvim/nvim/lua/plugins/tools.lua | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index ec9fc1da..1dbc4ee3 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -21,29 +21,20 @@ return { -- Required: https://github.com/folke/lazy.nvim/issues/688 lazy = false, opts = { - window = { - position = "left", - }, filesystem = { filtered_items = { visible = true, hide_dotfiles = false, - hide_gitignored = true, never_show = { ".git", ".DS_Store" }, }, - follow_current_file = { - enabled = true, - }, group_empty_dirs = true, - hijack_netrw_behavior = "open_default", - use_libuv_file_watcher = true, }, event_handlers = { { -- auto close when a file got selected event = "file_opened", - handler = function(file_path) - require("neo-tree").close_all() + handler = function(_) + require("neo-tree.command").execute({ action = "close" }) end, }, }, From d20bb4bf506fb9aac942bd3f88815b4d1bc9f369 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Oct 2023 10:55:38 +0200 Subject: [PATCH 1538/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/87afa198d7dde7d6a1df02fbfe82d0a86313a6e3' (2023-10-05) → 'github:nix-community/NUR/4b19839dfdfec497f51fd2f293a7d958dae4c9d7' (2023-10-05) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index d8cb9bb7..47ca718b 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696487582, - "narHash": "sha256-P4geP6VRcOaiqkDjZmRwUgKKxUClsu7zw6R6Ku/JaQ0=", + "lastModified": 1696495515, + "narHash": "sha256-GvsTIi+bvQ79SixCgSm0cWbUlePWswn7fDKls/bialA=", "owner": "nix-community", "repo": "NUR", - "rev": "87afa198d7dde7d6a1df02fbfe82d0a86313a6e3", + "rev": "4b19839dfdfec497f51fd2f293a7d958dae4c9d7", "type": "github" }, "original": { From 2fbd7324dcf8cc81d62d411737b814206c1daadb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 6 Oct 2023 09:35:41 +0200 Subject: [PATCH 1539/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/1294c96baead66a8e3b051172f113069c8c19d1a' (2023-10-04) → 'github:nix-community/neovim-nightly-overlay/5732f5376c14dc268d3c82c2c8c2586bc3d2514f' (2023-10-05) • Updated input 'neovim-nightly-overlay/flake-compat': 'github:edolstra/flake-compat/5a16547d46553d7bdd1dfc2cf418f5f7d236f6ad' (2023-10-04) → 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/1e7e9ee91f73c62b8c5ba9dbdabba3a3b6dc0130?dir=contrib' (2023-10-03) → 'github:neovim/neovim/f67517bba30b6233bea85e1f6a8505171142d4ca?dir=contrib' (2023-10-05) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/f227f12d246b1e7916993c1e4c66f9f185d94586' (2023-10-03) → 'github:NixOS/nixpkgs/7131f3c223a2d799568e4b278380cd9dac2b8579' (2023-10-04) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/e49c28b3baa3a93bdadb8966dd128f9985ea0a09' (2023-10-04) → 'github:nixos/nixpkgs/ef8e9997fcb37d5c8372dc1349185bd0d31752a6' (2023-10-05) • Updated input 'nur': 'github:nix-community/NUR/4b19839dfdfec497f51fd2f293a7d958dae4c9d7' (2023-10-05) → 'github:nix-community/NUR/0dc444360b3b5f675a17397ab3146ec94fdb40eb' (2023-10-06) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 47ca718b..4bc56416 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696416586, - "narHash": "sha256-Dk1zfIAQeVBzBtI2LdkFJDj9Z4e3Xb6Fy0gTRy6uAIE=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "5a16547d46553d7bdd1dfc2cf418f5f7d236f6ad", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1696370659, - "narHash": "sha256-gLnzy6safyn+XVY8fnzxU16h2CKPDRF2yshoPh95B+A=", + "lastModified": 1696505474, + "narHash": "sha256-i+uB553ud0rWZoNqZ/D1DI8PI+LdMWAAqYG5bZt4j9Q=", "owner": "neovim", "repo": "neovim", - "rev": "1e7e9ee91f73c62b8c5ba9dbdabba3a3b6dc0130", + "rev": "f67517bba30b6233bea85e1f6a8505171142d4ca", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1696421174, - "narHash": "sha256-hU7eRD+NI7Ld0eRnCWwI7JrbV08rZ0XVZEI8ZX+v6A4=", + "lastModified": 1696519180, + "narHash": "sha256-KSE88c2OZRyosxrL+ump3GTHBi7Erf7jXPTL1ick/1w=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "1294c96baead66a8e3b051172f113069c8c19d1a", + "rev": "5732f5376c14dc268d3c82c2c8c2586bc3d2514f", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1696435587, - "narHash": "sha256-otsVJPs+YMXjTJFEJ3ZzvaJ1e3Q74aStE2MSb2dxuZM=", + "lastModified": 1696524703, + "narHash": "sha256-KqzFNzhq0GpT09h1w2r2h7NxYvxDnzU3qOWYbfbAqyw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e49c28b3baa3a93bdadb8966dd128f9985ea0a09", + "rev": "ef8e9997fcb37d5c8372dc1349185bd0d31752a6", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696356164, - "narHash": "sha256-5jGwl4z0K/nDjeYqR29lEe7Mg7hPDoCBlb17fqZQgxo=", + "lastModified": 1696419054, + "narHash": "sha256-EdR+dIKCfqL3voZUDYwcvgRDOektQB9KbhBVcE0/3Mo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f227f12d246b1e7916993c1e4c66f9f185d94586", + "rev": "7131f3c223a2d799568e4b278380cd9dac2b8579", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696495515, - "narHash": "sha256-GvsTIi+bvQ79SixCgSm0cWbUlePWswn7fDKls/bialA=", + "lastModified": 1696577154, + "narHash": "sha256-ENtmm9PhreL2+E5f2JuMMOmva0xluZelMs44EEbroag=", "owner": "nix-community", "repo": "NUR", - "rev": "4b19839dfdfec497f51fd2f293a7d958dae4c9d7", + "rev": "0dc444360b3b5f675a17397ab3146ec94fdb40eb", "type": "github" }, "original": { From 3b340df9d6109c6c4f24d7b7f61a513824557307 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 6 Oct 2023 15:47:15 +0200 Subject: [PATCH 1540/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 38 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 79020441..a4008288 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,10 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "49b91b6b1fe8a9bc55f643b390a346919f629948" }, + "LazyVim": { "branch": "main", "commit": "cce46cd6401239f04c6ce98113a3410677c1a82f" }, "LuaSnip": { "branch": "master", "commit": "2c3a3a3e4fb503bf39efb61290ecfa8aae95f5eb" }, "SchemaStore.nvim": { "branch": "main", "commit": "08ab25507a92e22cec433f6750bb4a56a8cec22d" }, - "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, - "catppuccin": { "branch": "main", "commit": "7a4bcdadafc59a5bedbd866c643fa486d8cca4a1" }, + "catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -13,19 +12,19 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "conform.nvim": { "branch": "master", "commit": "7ad988c2509ff1869c26ecdabebadc7943e78f6f" }, - "dial.nvim": { "branch": "master", "commit": "611cf5e84f655c96318b803785f89e3146d8e48f" }, - "diffview.nvim": { "branch": "main", "commit": "a111d19ccceac6530448d329c63f998f77b5626e" }, + "conform.nvim": { "branch": "master", "commit": "ba1ca20bb5f89a8bdd94b268411263275550843a" }, + "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, + "diffview.nvim": { "branch": "main", "commit": "0437ef8bfdd67156d87140d692840a3c2824fa20" }, "dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" }, "edgy.nvim": { "branch": "main", "commit": "70e334c9cd7915aedde3255ade01ceeebe735b53" }, - "flash.nvim": { "branch": "main", "commit": "79e79ae45c3512ff1edc5da55f38ca8ee8d857b9" }, + "flash.nvim": { "branch": "main", "commit": "6d76c5dee65181ab55cbdfb0760260e800d643f4" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "7f6f1565ac0d9f4e26d87135c6cbe0b9fdcf70b3" }, - "gx.nvim": { "branch": "main", "commit": "0693bfa11fc045b1cabb6fdb7e6724efd7271565" }, + "gitsigns.nvim": { "branch": "main", "commit": "ff01d34daaed72f271a8ffa088a7e839a60c640f" }, + "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "da789082a43e2bb8930c7be0e265ce37768394d8" }, - "lazy.nvim": { "branch": "main", "commit": "64cb9b16f6d4f1c395de4ec672d9d79fffb5c3b4" }, + "indent-blankline.nvim": { "branch": "master", "commit": "877c1db2bf957300097dd5348a665666a4d900cb" }, + "lazy.nvim": { "branch": "main", "commit": "6b6f0a451200bb6abde85978c577c73ea1577758" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, @@ -38,6 +37,7 @@ "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, + "mini.starter": { "branch": "main", "commit": "c7e027558477838eac7109d8576ff1f2d9804845" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, "neoconf.nvim": { "branch": "main", "commit": "64a4f814f598717ed1e56da4e175b2513bd7c3fd" }, @@ -45,24 +45,24 @@ "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "ed99c59d7fda3ba5e2ce9a3adc0a8eb5ebfa6c8f" }, "neorg": { "branch": "main", "commit": "24e1d4e067aaeed9a2aaae8b65c77ac8c00a0324" }, - "noice.nvim": { "branch": "main", "commit": "f77689c9b2436bcd70741a20311496233acb4fb9" }, + "noice.nvim": { "branch": "main", "commit": "7cf858c30841c9c41601ce58e5bc2023228037ef" }, "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lint": { "branch": "master", "commit": "1065763f115a7765ef237347ad676ba348d7193a" }, - "nvim-lspconfig": { "branch": "master", "commit": "71b39616b14c152da34fcc787fa27f09bf280e72" }, + "nvim-lint": { "branch": "master", "commit": "edb0a845bcc04e4f0c99950a360314df9111822d" }, + "nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" }, "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, "nvim-spider": { "branch": "main", "commit": "be7273858d75673a0ae594552742eb8769f35d6a" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "dd72cfadec27c13e93df202c7f9a6d8bb9d51826" }, + "nvim-treesitter": { "branch": "master", "commit": "10bfa4826f2235c600c073a82e0d78718aa7240e" }, "nvim-treesitter-context": { "branch": "master", "commit": "2095f231dfe796d228eedea96fdaa31f2e343fb2" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "4724694bc03ce1148860a46d9d77c3664d8188ab" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, - "octo.nvim": { "branch": "master", "commit": "e75f159b7bafb7cb3b8c646305dd97d5058375ca" }, + "octo.nvim": { "branch": "master", "commit": "22a231fc621346734464c3cbca0be467b292b343" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, @@ -76,7 +76,7 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "8c69f58427f98b2ca39a90a36db830c06e30351c" }, + "telescope.nvim": { "branch": "master", "commit": "205f469244916716c49cc2b9026566749425c5ba" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "4412dafadf920deb9e08d4b9c1c11b2cf65ca1ca" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, @@ -89,5 +89,5 @@ "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "538af19b7fafcdb295a943b8b84bae8bb8fc9bb7" } + "yanky.nvim": { "branch": "main", "commit": "636632d70ac00c45bdc1751d7b35c83d47081f36" } } From 02d7decd9bf14c2e70ea947771aaca50a8ab3cff Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 7 Oct 2023 13:25:25 +0200 Subject: [PATCH 1541/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index a4008288..8fc0c8b2 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,8 @@ { - "LazyVim": { "branch": "main", "commit": "cce46cd6401239f04c6ce98113a3410677c1a82f" }, - "LuaSnip": { "branch": "master", "commit": "2c3a3a3e4fb503bf39efb61290ecfa8aae95f5eb" }, - "SchemaStore.nvim": { "branch": "main", "commit": "08ab25507a92e22cec433f6750bb4a56a8cec22d" }, + "LazyVim": { "branch": "main", "commit": "8bcc241b720517d4e61fcdd2021d1e39008f5415" }, + "LuaSnip": { "branch": "master", "commit": "cdbf6f41381e5ee4810b4b09284b603d8f18365d" }, + "SchemaStore.nvim": { "branch": "main", "commit": "9b8e2b34ff007f49884b3b910e4ccba168a2d505" }, + "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -12,7 +13,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "conform.nvim": { "branch": "master", "commit": "ba1ca20bb5f89a8bdd94b268411263275550843a" }, + "conform.nvim": { "branch": "master", "commit": "e75819642c36810a55a7235b6b5e16a5ce896ed3" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "0437ef8bfdd67156d87140d692840a3c2824fa20" }, "dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" }, @@ -24,7 +25,7 @@ "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, "indent-blankline.nvim": { "branch": "master", "commit": "877c1db2bf957300097dd5348a665666a4d900cb" }, - "lazy.nvim": { "branch": "main", "commit": "6b6f0a451200bb6abde85978c577c73ea1577758" }, + "lazy.nvim": { "branch": "main", "commit": "5aaafcb3019e04dd38a011b3d4c8a0f130c422ef" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, @@ -37,10 +38,9 @@ "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, - "mini.starter": { "branch": "main", "commit": "c7e027558477838eac7109d8576ff1f2d9804845" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, - "neoconf.nvim": { "branch": "main", "commit": "64a4f814f598717ed1e56da4e175b2513bd7c3fd" }, + "neoconf.nvim": { "branch": "main", "commit": "f2f29dfb94890abfe64a0915fa3b31ec2aea85e6" }, "neodev.nvim": { "branch": "main", "commit": "ee960afffdb95472f719a72a1edb494ffea09c92" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "ed99c59d7fda3ba5e2ce9a3adc0a8eb5ebfa6c8f" }, @@ -54,22 +54,22 @@ "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, - "nvim-spider": { "branch": "main", "commit": "be7273858d75673a0ae594552742eb8769f35d6a" }, + "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "10bfa4826f2235c600c073a82e0d78718aa7240e" }, + "nvim-treesitter": { "branch": "master", "commit": "957f3f8c15a88ef0f0c77ecd13edf2e2578f176e" }, "nvim-treesitter-context": { "branch": "master", "commit": "2095f231dfe796d228eedea96fdaa31f2e343fb2" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "4724694bc03ce1148860a46d9d77c3664d8188ab" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, - "octo.nvim": { "branch": "master", "commit": "22a231fc621346734464c3cbca0be467b292b343" }, + "octo.nvim": { "branch": "master", "commit": "34101750cd7204ab8750af985f0ac911be8d1cd9" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "be6505be8bdd306646bb81399312c02927a60a51" }, + "refactoring.nvim": { "branch": "master", "commit": "bebfcfcc4b604d3647fcce2f4aeb02a95d139c49" }, "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, @@ -79,10 +79,10 @@ "telescope.nvim": { "branch": "master", "commit": "205f469244916716c49cc2b9026566749425c5ba" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "4412dafadf920deb9e08d4b9c1c11b2cf65ca1ca" }, - "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, + "trouble.nvim": { "branch": "main", "commit": "2ea761f697a00954956da9be1b591649d87e9631" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "73b1d2f546b0f6022b4c1d98471f8ec257c9e1ef" }, - "vim-illuminate": { "branch": "master", "commit": "1b5d70332a51a1de05f281069851865a2bb1e6d7" }, + "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, From 220ac4d150ed94952b5bc5f36e6623afb6539359 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 7 Oct 2023 13:25:32 +0200 Subject: [PATCH 1542/2080] Back to gnome --- machines/brutal/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index babf93cd..533b0854 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -40,9 +40,9 @@ # Lightweight system services.xserver.displayManager.lightdm.enable = false; services.xserver.windowManager.i3.enable = true; - services.xserver.displayManager.defaultSession = "none+i3"; + # services.xserver.displayManager.defaultSession = "none+i3"; # GDM and Gnome - # services.xserver.displayManager.defaultSession = "gnome"; + services.xserver.displayManager.defaultSession = "gnome"; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; From 7fa022fd7b7ed0c0eeb723ede12ea8bd61d6e7ab Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 7 Oct 2023 13:27:40 +0200 Subject: [PATCH 1543/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5732f5376c14dc268d3c82c2c8c2586bc3d2514f' (2023-10-05) → 'github:nix-community/neovim-nightly-overlay/439e87235a381df11ecf61bf1c107f1ff10bb30b' (2023-10-07) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/f67517bba30b6233bea85e1f6a8505171142d4ca?dir=contrib' (2023-10-05) → 'github:neovim/neovim/7e9407490c51da5e677e5aea5eb48200600effbc?dir=contrib' (2023-10-06) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/7131f3c223a2d799568e4b278380cd9dac2b8579' (2023-10-04) → 'github:NixOS/nixpkgs/a2eb207f45e4a14a1e3019d9e3863d1e208e2295' (2023-10-06) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/ef8e9997fcb37d5c8372dc1349185bd0d31752a6' (2023-10-05) → 'github:nixos/nixpkgs/a8b21f03648692feec095ed41cc695cd226d4aea' (2023-10-07) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/fdd898f8f79e8d2f99ed2ab6b3751811ef683242' (2023-10-01) → 'github:nixos/nixpkgs/81e8f48ebdecf07aab321182011b067aafc78896' (2023-10-03) • Updated input 'nur': 'github:nix-community/NUR/0dc444360b3b5f675a17397ab3146ec94fdb40eb' (2023-10-06) → 'github:nix-community/NUR/7937600a713871f5a3e6308f9312a2994b20993f' (2023-10-07) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 4bc56416..aed3b32e 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1696505474, - "narHash": "sha256-i+uB553ud0rWZoNqZ/D1DI8PI+LdMWAAqYG5bZt4j9Q=", + "lastModified": 1696633315, + "narHash": "sha256-7Wy+9vI1JroBBewK9aOK4lg7rP9cUOQKf1tLJJeG4CQ=", "owner": "neovim", "repo": "neovim", - "rev": "f67517bba30b6233bea85e1f6a8505171142d4ca", + "rev": "7e9407490c51da5e677e5aea5eb48200600effbc", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1696519180, - "narHash": "sha256-KSE88c2OZRyosxrL+ump3GTHBi7Erf7jXPTL1ick/1w=", + "lastModified": 1696636891, + "narHash": "sha256-vg2+p1HSJVBMHC+KYlgsHWWfa6am259IMZ5X5XYDFa4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5732f5376c14dc268d3c82c2c8c2586bc3d2514f", + "rev": "439e87235a381df11ecf61bf1c107f1ff10bb30b", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1696524703, - "narHash": "sha256-KqzFNzhq0GpT09h1w2r2h7NxYvxDnzU3qOWYbfbAqyw=", + "lastModified": 1696659945, + "narHash": "sha256-EV3ACS0dc8kvGm2ZFHW8bmjby1MyQj8ANm4yZDJkCjM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ef8e9997fcb37d5c8372dc1349185bd0d31752a6", + "rev": "a8b21f03648692feec095ed41cc695cd226d4aea", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1696193975, - "narHash": "sha256-mnQjUcYgp9Guu3RNVAB2Srr1TqKcPpRXmJf4LJk6KRY=", + "lastModified": 1696375444, + "narHash": "sha256-Sv0ICt/pXfpnFhTGYTsX6lUr1SljnuXWejYTI2ZqHa4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fdd898f8f79e8d2f99ed2ab6b3751811ef683242", + "rev": "81e8f48ebdecf07aab321182011b067aafc78896", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696419054, - "narHash": "sha256-EdR+dIKCfqL3voZUDYwcvgRDOektQB9KbhBVcE0/3Mo=", + "lastModified": 1696577711, + "narHash": "sha256-94VRjvClIKDym1QRqPkX5LTQoAwZ1E6QE/3dWtOXSIQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7131f3c223a2d799568e4b278380cd9dac2b8579", + "rev": "a2eb207f45e4a14a1e3019d9e3863d1e208e2295", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696577154, - "narHash": "sha256-ENtmm9PhreL2+E5f2JuMMOmva0xluZelMs44EEbroag=", + "lastModified": 1696670908, + "narHash": "sha256-cbvdxJ0lSMG2a+VgDDvhUTq860oMAtI7WmSsOR+upQ8=", "owner": "nix-community", "repo": "NUR", - "rev": "0dc444360b3b5f675a17397ab3146ec94fdb40eb", + "rev": "7937600a713871f5a3e6308f9312a2994b20993f", "type": "github" }, "original": { From e368502697c3997fc01ea1cefebcac9dbcbdf5f5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Oct 2023 10:12:37 +0200 Subject: [PATCH 1544/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/439e87235a381df11ecf61bf1c107f1ff10bb30b' (2023-10-07) → 'github:nix-community/neovim-nightly-overlay/2dc429bba6bde69698b5e5fe865b13accc58b88a' (2023-10-09) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/7e9407490c51da5e677e5aea5eb48200600effbc?dir=contrib' (2023-10-06) → 'github:neovim/neovim/61f1e992ce984371a8d570c4dbb34ff759f5751a?dir=contrib' (2023-10-08) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/a2eb207f45e4a14a1e3019d9e3863d1e208e2295' (2023-10-06) → 'github:NixOS/nixpkgs/5aabb5780a11c500981993d49ee93cfa6df9307b' (2023-10-08) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/8a4c17493e5c39769f79117937c79e1c88de6729' (2023-10-03) → 'github:NixOS/nixpkgs/5a237aecb57296f67276ac9ab296a41c23981f56' (2023-10-07) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/a8b21f03648692feec095ed41cc695cd226d4aea' (2023-10-07) → 'github:nixos/nixpkgs/6526bdac73700a3302df66685375db12c0ed6c46' (2023-10-08) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/81e8f48ebdecf07aab321182011b067aafc78896' (2023-10-03) → 'github:nixos/nixpkgs/87828a0e03d1418e848d3dd3f3014a632e4a4f64' (2023-10-06) • Updated input 'nur': 'github:nix-community/NUR/7937600a713871f5a3e6308f9312a2994b20993f' (2023-10-07) → 'github:nix-community/NUR/8c156f51dfba4df8973393e5adb71809195d830f' (2023-10-09) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index aed3b32e..8a792d6c 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1696633315, - "narHash": "sha256-7Wy+9vI1JroBBewK9aOK4lg7rP9cUOQKf1tLJJeG4CQ=", + "lastModified": 1696800744, + "narHash": "sha256-ZLCpZDeVmOZ8lbhLzq9LBO0PP05RSjbzVd6PDQg1tjw=", "owner": "neovim", "repo": "neovim", - "rev": "7e9407490c51da5e677e5aea5eb48200600effbc", + "rev": "61f1e992ce984371a8d570c4dbb34ff759f5751a", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1696636891, - "narHash": "sha256-vg2+p1HSJVBMHC+KYlgsHWWfa6am259IMZ5X5XYDFa4=", + "lastModified": 1696809678, + "narHash": "sha256-aLbr8p3knX8FS2soOhTvrfpdfmhsQSFHYfxf49M9dC0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "439e87235a381df11ecf61bf1c107f1ff10bb30b", + "rev": "2dc429bba6bde69698b5e5fe865b13accc58b88a", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1696659945, - "narHash": "sha256-EV3ACS0dc8kvGm2ZFHW8bmjby1MyQj8ANm4yZDJkCjM=", + "lastModified": 1696755684, + "narHash": "sha256-ySzlC3YxGIUAFWXtSons7NVLpan6nrGGfGkkq14TPBU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a8b21f03648692feec095ed41cc695cd226d4aea", + "rev": "6526bdac73700a3302df66685375db12c0ed6c46", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1696375444, - "narHash": "sha256-Sv0ICt/pXfpnFhTGYTsX6lUr1SljnuXWejYTI2ZqHa4=", + "lastModified": 1696604326, + "narHash": "sha256-YXUNI0kLEcI5g8lqGMb0nh67fY9f2YoJsILafh6zlMo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "81e8f48ebdecf07aab321182011b067aafc78896", + "rev": "87828a0e03d1418e848d3dd3f3014a632e4a4f64", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696577711, - "narHash": "sha256-94VRjvClIKDym1QRqPkX5LTQoAwZ1E6QE/3dWtOXSIQ=", + "lastModified": 1696725822, + "narHash": "sha256-B7uAOS7TkLlOg1aX01rQlYbydcyB6ZnLJSfaYbKVww8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a2eb207f45e4a14a1e3019d9e3863d1e208e2295", + "rev": "5aabb5780a11c500981993d49ee93cfa6df9307b", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1696374741, - "narHash": "sha256-gt8B3G0ryizT9HSB4cCO8QoxdbsHnrQH+/BdKxOwqF0=", + "lastModified": 1696697597, + "narHash": "sha256-q26Qv4DQ+h6IeozF2o1secyQG0jt2VUT3V0K58jr3pg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8a4c17493e5c39769f79117937c79e1c88de6729", + "rev": "5a237aecb57296f67276ac9ab296a41c23981f56", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696670908, - "narHash": "sha256-cbvdxJ0lSMG2a+VgDDvhUTq860oMAtI7WmSsOR+upQ8=", + "lastModified": 1696838703, + "narHash": "sha256-qAKW0iIq8kAaI+8O131s1nPZj737vq5thtif9QKpmsU=", "owner": "nix-community", "repo": "NUR", - "rev": "7937600a713871f5a3e6308f9312a2994b20993f", + "rev": "8c156f51dfba4df8973393e5adb71809195d830f", "type": "github" }, "original": { From f30c076f71ce2ba81fd5572d9a11835c7be4316a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Oct 2023 10:22:03 +0200 Subject: [PATCH 1545/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 52 ++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 8fc0c8b2..33c5c34d 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { - "LazyVim": { "branch": "main", "commit": "8bcc241b720517d4e61fcdd2021d1e39008f5415" }, + "LazyVim": { "branch": "main", "commit": "efbe4e57937f8540f0cc69bab0bdffec18338e02" }, "LuaSnip": { "branch": "master", "commit": "cdbf6f41381e5ee4810b4b09284b603d8f18365d" }, - "SchemaStore.nvim": { "branch": "main", "commit": "9b8e2b34ff007f49884b3b910e4ccba168a2d505" }, + "SchemaStore.nvim": { "branch": "main", "commit": "db7ed57344f000235761fd976140d2636da70280" }, "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" }, @@ -13,10 +13,10 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "conform.nvim": { "branch": "master", "commit": "e75819642c36810a55a7235b6b5e16a5ce896ed3" }, + "conform.nvim": { "branch": "master", "commit": "38da505fb0339f68734b659460ad49d4a60ecf34" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "0437ef8bfdd67156d87140d692840a3c2824fa20" }, - "dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" }, + "dressing.nvim": { "branch": "master", "commit": "34e52d58a2a8a9e54b918cb4d917c0cf9fcc472d" }, "edgy.nvim": { "branch": "main", "commit": "70e334c9cd7915aedde3255ade01ceeebe735b53" }, "flash.nvim": { "branch": "main", "commit": "6d76c5dee65181ab55cbdfb0760260e800d643f4" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, @@ -25,28 +25,28 @@ "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, "indent-blankline.nvim": { "branch": "master", "commit": "877c1db2bf957300097dd5348a665666a4d900cb" }, - "lazy.nvim": { "branch": "main", "commit": "5aaafcb3019e04dd38a011b3d4c8a0f130c422ef" }, + "lazy.nvim": { "branch": "main", "commit": "0a07fa6cd74db668e4859896d30f8f6ed2b60b13" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, - "mini.animate": { "branch": "main", "commit": "989ac014933ab5cd14ab83f2fce4b9a08ca6d81e" }, - "mini.bracketed": { "branch": "main", "commit": "ac93e3d6df596c750200aa8529fd352ec91bbad2" }, - "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, - "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, - "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, - "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, - "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, - "neoconf.nvim": { "branch": "main", "commit": "f2f29dfb94890abfe64a0915fa3b31ec2aea85e6" }, - "neodev.nvim": { "branch": "main", "commit": "ee960afffdb95472f719a72a1edb494ffea09c92" }, + "mini.ai": { "branch": "main", "commit": "10ad2ed049fb681a829b44aeb23443c0a9c910ae" }, + "mini.animate": { "branch": "main", "commit": "6e6f2ee99fec91985d3817bfc74fbb4a0aff1c44" }, + "mini.bracketed": { "branch": "main", "commit": "d99f8f6c93e2a4cff1ebc27072d74ba400c8d241" }, + "mini.bufremove": { "branch": "main", "commit": "75be0b153b0cd2499c031e57d44cde8dad4766e4" }, + "mini.comment": { "branch": "main", "commit": "2c7a512dad27e34a26d0f7d5d5bc2579f88167dc" }, + "mini.indentscope": { "branch": "main", "commit": "cbc07203ca8faae952ca373c1f6cc5881ce97af0" }, + "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, + "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "6f8c49956c89e9fefae6acdfe1d57c6293b0a03d" }, + "neoconf.nvim": { "branch": "main", "commit": "40463008ef02872db77f5a59042d8d25e85baf68" }, + "neodev.nvim": { "branch": "main", "commit": "f8592cc143a5512b98a2c3683aa43c73f98e34f7" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "ed99c59d7fda3ba5e2ce9a3adc0a8eb5ebfa6c8f" }, + "neogit": { "branch": "master", "commit": "5b109bf06bbfbf1b02cd8e715dc96455a86b4691" }, "neorg": { "branch": "main", "commit": "24e1d4e067aaeed9a2aaae8b65c77ac8c00a0324" }, - "noice.nvim": { "branch": "main", "commit": "7cf858c30841c9c41601ce58e5bc2023228037ef" }, - "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, + "noice.nvim": { "branch": "main", "commit": "fcd01710ff6918d4d3ef90c8e36f3addacba13bf" }, + "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, "nvim-lint": { "branch": "master", "commit": "edb0a845bcc04e4f0c99950a360314df9111822d" }, "nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" }, @@ -56,12 +56,12 @@ "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "957f3f8c15a88ef0f0c77ecd13edf2e2578f176e" }, + "nvim-treesitter": { "branch": "master", "commit": "51372f1d4e728539c6243e96c6b657f633e81e29" }, "nvim-treesitter-context": { "branch": "master", "commit": "2095f231dfe796d228eedea96fdaa31f2e343fb2" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "4724694bc03ce1148860a46d9d77c3664d8188ab" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "76c7a89b41de77a4f83fb77fa072c5ad7605fe3b" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, - "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, + "nvim-web-devicons": { "branch": "master", "commit": "a1e6268779411048a87f767a27380089362a0ce2" }, "octo.nvim": { "branch": "master", "commit": "34101750cd7204ab8750af985f0ac911be8d1cd9" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, @@ -76,12 +76,12 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "205f469244916716c49cc2b9026566749425c5ba" }, + "telescope.nvim": { "branch": "master", "commit": "5a747a9587e4bfc4ae086a38cc679fe54f983b69" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "4412dafadf920deb9e08d4b9c1c11b2cf65ca1ca" }, - "trouble.nvim": { "branch": "main", "commit": "2ea761f697a00954956da9be1b591649d87e9631" }, + "tokyonight.nvim": { "branch": "main", "commit": "a22472253249cd9a7b53e7d53fca7af6b988458f" }, + "trouble.nvim": { "branch": "main", "commit": "a97c24c311e08365a69b092b2f6f3d31559f92e2" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "73b1d2f546b0f6022b4c1d98471f8ec257c9e1ef" }, + "venv-selector.nvim": { "branch": "main", "commit": "6ef90a217299500edfd86a322b9a195fb1b07013" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From ef7df7403ae8d80fde3a9219a9c70e2d9bf6be6f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Oct 2023 10:22:26 +0200 Subject: [PATCH 1546/2080] lazy: enable extras for black and prettier --- lazyvim/nvim/lua/config/lazy.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index df3fcc81..fcf00393 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -33,6 +33,8 @@ require("lazy").setup({ -- { import = "lazyvim.plugins.extras.coding.copilot" }, -- Extra for formatting, replacing none-ls { import = "lazyvim.plugins.extras.formatting.conform" }, + { import = "lazyvim.plugins.extras.formatting.black" }, + { import = "lazyvim.plugins.extras.formatting.prettier" }, -- Extra for linting, replacing none-ls { import = "lazyvim.plugins.extras.linting.nvim-lint" }, -- import/override with your plugins From 7403816df80f2e0c0237b60a89ea8ea3bb22a11e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Oct 2023 14:25:35 +0200 Subject: [PATCH 1547/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/6526bdac73700a3302df66685375db12c0ed6c46' (2023-10-08) → 'github:nixos/nixpkgs/aca9a453afe59a291298957090b79398deaccb2b' (2023-10-08) • Updated input 'nur': 'github:nix-community/NUR/8c156f51dfba4df8973393e5adb71809195d830f' (2023-10-09) → 'github:nix-community/NUR/50139018c48dd130a9b4fbd0756984cfe0dc88b7' (2023-10-09) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 8a792d6c..ee649bdb 100644 --- a/flake.lock +++ b/flake.lock @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1696755684, - "narHash": "sha256-ySzlC3YxGIUAFWXtSons7NVLpan6nrGGfGkkq14TPBU=", + "lastModified": 1696788931, + "narHash": "sha256-E19130KVEQaWgP7Wcg/npw/Sd9H+jN0lCP97nn0JNUo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6526bdac73700a3302df66685375db12c0ed6c46", + "rev": "aca9a453afe59a291298957090b79398deaccb2b", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696838703, - "narHash": "sha256-qAKW0iIq8kAaI+8O131s1nPZj737vq5thtif9QKpmsU=", + "lastModified": 1696853627, + "narHash": "sha256-ELtKIGYJ/+xaCkMGkNktpyKuQz4UJj6jDWpjlFxnYiU=", "owner": "nix-community", "repo": "NUR", - "rev": "8c156f51dfba4df8973393e5adb71809195d830f", + "rev": "50139018c48dd130a9b4fbd0756984cfe0dc88b7", "type": "github" }, "original": { From 48637dfc2b821ceada6c6232c014067243250851 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 10 Oct 2023 09:30:52 +0200 Subject: [PATCH 1548/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/2dc429bba6bde69698b5e5fe865b13accc58b88a' (2023-10-09) → 'github:nix-community/neovim-nightly-overlay/4ea129658fe3e7ecaebe574093ed3fe9673b5f6c' (2023-10-10) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/61f1e992ce984371a8d570c4dbb34ff759f5751a?dir=contrib' (2023-10-08) → 'github:neovim/neovim/43f22853fecf312713deed983b9cde1a6bda6ebd?dir=contrib' (2023-10-09) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/5aabb5780a11c500981993d49ee93cfa6df9307b' (2023-10-08) → 'github:NixOS/nixpkgs/2646b294a146df2781b1ca49092450e8a32814e1' (2023-10-08) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/aca9a453afe59a291298957090b79398deaccb2b' (2023-10-08) → 'github:nixos/nixpkgs/22723a1d7deab53e5c1022906089e4247a5d3e77' (2023-10-09) • Updated input 'nur': 'github:nix-community/NUR/50139018c48dd130a9b4fbd0756984cfe0dc88b7' (2023-10-09) → 'github:nix-community/NUR/e41f206dbfdaa2810db908f122e3f6a028b6e534' (2023-10-10) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index ee649bdb..1f175751 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1696800744, - "narHash": "sha256-ZLCpZDeVmOZ8lbhLzq9LBO0PP05RSjbzVd6PDQg1tjw=", + "lastModified": 1696892794, + "narHash": "sha256-KQ1X1CLjabnnLItHb2zlrSZzj4lQNkdZMx84QWcU9qA=", "owner": "neovim", "repo": "neovim", - "rev": "61f1e992ce984371a8d570c4dbb34ff759f5751a", + "rev": "43f22853fecf312713deed983b9cde1a6bda6ebd", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1696809678, - "narHash": "sha256-aLbr8p3knX8FS2soOhTvrfpdfmhsQSFHYfxf49M9dC0=", + "lastModified": 1696896059, + "narHash": "sha256-GLJJRb2PSI9Hq1J4D0YVMV6lxHPP2QilEAWeIrEQSEI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "2dc429bba6bde69698b5e5fe865b13accc58b88a", + "rev": "4ea129658fe3e7ecaebe574093ed3fe9673b5f6c", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1696788931, - "narHash": "sha256-E19130KVEQaWgP7Wcg/npw/Sd9H+jN0lCP97nn0JNUo=", + "lastModified": 1696874073, + "narHash": "sha256-HNcQddEVmBVbMeH0I4LUEKFyZNvGfIYeXvyMYBvXjZ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "aca9a453afe59a291298957090b79398deaccb2b", + "rev": "22723a1d7deab53e5c1022906089e4247a5d3e77", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696725822, - "narHash": "sha256-B7uAOS7TkLlOg1aX01rQlYbydcyB6ZnLJSfaYbKVww8=", + "lastModified": 1696757521, + "narHash": "sha256-cfgtLNCBLFx2qOzRLI6DHfqTdfWI+UbvsKYa3b3fvaA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5aabb5780a11c500981993d49ee93cfa6df9307b", + "rev": "2646b294a146df2781b1ca49092450e8a32814e1", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696853627, - "narHash": "sha256-ELtKIGYJ/+xaCkMGkNktpyKuQz4UJj6jDWpjlFxnYiU=", + "lastModified": 1696916332, + "narHash": "sha256-GLuV+Dqq/1gxdoyLhpaNSVvPMDq7OQa34olXIa2ZBik=", "owner": "nix-community", "repo": "NUR", - "rev": "50139018c48dd130a9b4fbd0756984cfe0dc88b7", + "rev": "e41f206dbfdaa2810db908f122e3f6a028b6e534", "type": "github" }, "original": { From 724f646f002211424ee716a21cac5554418f54bd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 10 Oct 2023 09:42:22 +0200 Subject: [PATCH 1549/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 33c5c34d..69dae83c 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { - "LazyVim": { "branch": "main", "commit": "efbe4e57937f8540f0cc69bab0bdffec18338e02" }, + "LazyVim": { "branch": "main", "commit": "23a0004a86071164e66b76c32459c9b45b0d1e3e" }, "LuaSnip": { "branch": "master", "commit": "cdbf6f41381e5ee4810b4b09284b603d8f18365d" }, - "SchemaStore.nvim": { "branch": "main", "commit": "db7ed57344f000235761fd976140d2636da70280" }, + "SchemaStore.nvim": { "branch": "main", "commit": "3b9476131daa2a229466bc7393fd0b96480c6435" }, "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" }, @@ -12,8 +12,8 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "conform.nvim": { "branch": "master", "commit": "38da505fb0339f68734b659460ad49d4a60ecf34" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, + "conform.nvim": { "branch": "master", "commit": "fcd272ca731db1813c8da0a88b86db134e642fd3" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "0437ef8bfdd67156d87140d692840a3c2824fa20" }, "dressing.nvim": { "branch": "master", "commit": "34e52d58a2a8a9e54b918cb4d917c0cf9fcc472d" }, @@ -24,8 +24,8 @@ "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "877c1db2bf957300097dd5348a665666a4d900cb" }, - "lazy.nvim": { "branch": "main", "commit": "0a07fa6cd74db668e4859896d30f8f6ed2b60b13" }, + "indent-blankline.nvim": { "branch": "master", "commit": "b808248f6a93ff4a2ed2932d68c6833ae167ecfc" }, + "lazy.nvim": { "branch": "main", "commit": "0d9989d46cd2ae624858b94e529ee3e9d07773fd" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, @@ -40,15 +40,15 @@ "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "6f8c49956c89e9fefae6acdfe1d57c6293b0a03d" }, - "neoconf.nvim": { "branch": "main", "commit": "40463008ef02872db77f5a59042d8d25e85baf68" }, - "neodev.nvim": { "branch": "main", "commit": "f8592cc143a5512b98a2c3683aa43c73f98e34f7" }, + "neoconf.nvim": { "branch": "main", "commit": "89fdbc02266d714413b805084a1b44d3cc8ce103" }, + "neodev.nvim": { "branch": "main", "commit": "11329ba9c0c03d3e976ba4e833d42164737bd402" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "5b109bf06bbfbf1b02cd8e715dc96455a86b4691" }, - "neorg": { "branch": "main", "commit": "24e1d4e067aaeed9a2aaae8b65c77ac8c00a0324" }, + "neogit": { "branch": "master", "commit": "3f6e559cc9c8a708f8b883ad9987c0a12aa1b3fa" }, + "neorg": { "branch": "main", "commit": "7d507d4fdd1c4a3cb8a8299a469d22190ebaf7f0" }, "noice.nvim": { "branch": "main", "commit": "fcd01710ff6918d4d3ef90c8e36f3addacba13bf" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lint": { "branch": "master", "commit": "edb0a845bcc04e4f0c99950a360314df9111822d" }, + "nvim-lint": { "branch": "master", "commit": "79ffe0f63d1e7545157f246e7eaa74e07fea1612" }, "nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" }, "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, @@ -56,13 +56,13 @@ "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "51372f1d4e728539c6243e96c6b657f633e81e29" }, - "nvim-treesitter-context": { "branch": "master", "commit": "2095f231dfe796d228eedea96fdaa31f2e343fb2" }, + "nvim-treesitter": { "branch": "master", "commit": "34e6ace726fb7dfeb9e8e2d260111b7d2b616778" }, + "nvim-treesitter-context": { "branch": "master", "commit": "4cf64264c049c55f256550ad247b606f3e53bc77" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "76c7a89b41de77a4f83fb77fa072c5ad7605fe3b" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, "nvim-web-devicons": { "branch": "master", "commit": "a1e6268779411048a87f767a27380089362a0ce2" }, - "octo.nvim": { "branch": "master", "commit": "34101750cd7204ab8750af985f0ac911be8d1cd9" }, + "octo.nvim": { "branch": "master", "commit": "15e1c949bdc6f77b1296977a6a7dde5d06c6c004" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, @@ -78,8 +78,8 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, "telescope.nvim": { "branch": "master", "commit": "5a747a9587e4bfc4ae086a38cc679fe54f983b69" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "a22472253249cd9a7b53e7d53fca7af6b988458f" }, - "trouble.nvim": { "branch": "main", "commit": "a97c24c311e08365a69b092b2f6f3d31559f92e2" }, + "tokyonight.nvim": { "branch": "main", "commit": "6aaf3459c3a023eae6d340d31004400428ea61b2" }, + "trouble.nvim": { "branch": "main", "commit": "02219b557d4726a789be58c5d6bd6e139c46a9fe" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "6ef90a217299500edfd86a322b9a195fb1b07013" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, From a0facd6005f7c8d78a7290c59e042740fe954a3e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 10 Oct 2023 09:42:48 +0200 Subject: [PATCH 1550/2080] nvim: cleanup tree sitter default --- lazyvim/nvim/lua/plugins/treesitter.lua | 43 ------------------------- 1 file changed, 43 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/treesitter.lua b/lazyvim/nvim/lua/plugins/treesitter.lua index a7ce3e67..8710c40a 100644 --- a/lazyvim/nvim/lua/plugins/treesitter.lua +++ b/lazyvim/nvim/lua/plugins/treesitter.lua @@ -29,71 +29,28 @@ return { cond = not vim.opt.diff:get(), opts = { ensure_installed = { - "bash", - "c", - "cmake", - -- "comment", -- comments are slowing down TS bigtime, so disable for now - "cpp", "css", - "diff", "fish", "gitignore", "go", "graphql", - "html", "http", "java", - "javascript", - "jsdoc", - "jsonc", "latex", - "lua", - "markdown", - "markdown_inline", "meson", "nix", "norg", "org", "php", - "python", - "query", - "regex", "rust", "scss", "sql", - "toml", - "vim", - "vimdoc", - "yaml", - "json", }, - matchup = { - enable = true, - }, - highlight = { enable = true }, query_linter = { enable = true, use_virtual_text = true, lint_events = { "BufWrite", "CursorHold" }, }, - playground = { - enable = true, - disable = {}, - updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code - persist_queries = true, -- Whether the query persists across vim sessions - keybindings = { - toggle_query_editor = "o", - toggle_hl_groups = "i", - toggle_injected_languages = "t", - toggle_anonymous_nodes = "a", - toggle_language_display = "I", - focus_language = "f", - unfocus_language = "F", - update = "R", - goto_node = "<cr>", - show_help = "?", - }, - }, }, }, } From edc62c843167a7c5623bf5ee139f8ac435fdbd93 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 10 Oct 2023 10:27:51 +0200 Subject: [PATCH 1551/2080] lazy: enable extra for expanding treesitter conf --- lazyvim/nvim/lua/config/lazy.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index fcf00393..d5810f13 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -29,6 +29,8 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.ui.edgy" }, -- project management { import = "lazyvim.plugins.extras.util.project" }, + -- Update conf for treesitter based on what is installed + { import = "lazyvim.plugins.extras.util.dot" }, -- copilot disabled until there is an easy way to opt in -- { import = "lazyvim.plugins.extras.coding.copilot" }, -- Extra for formatting, replacing none-ls From 950260dc3eee6016dca7cced650832e215268d5a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 10 Oct 2023 18:13:18 +0200 Subject: [PATCH 1552/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 69dae83c..c245e42b 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -79,6 +79,7 @@ "telescope.nvim": { "branch": "master", "commit": "5a747a9587e4bfc4ae086a38cc679fe54f983b69" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "6aaf3459c3a023eae6d340d31004400428ea61b2" }, + "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "02219b557d4726a789be58c5d6bd6e139c46a9fe" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "6ef90a217299500edfd86a322b9a195fb1b07013" }, From 0290a065bbe6d8232abfd383bdaa873f09b40eed Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Oct 2023 10:05:06 +0200 Subject: [PATCH 1553/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/4ea129658fe3e7ecaebe574093ed3fe9673b5f6c' (2023-10-10) → 'github:nix-community/neovim-nightly-overlay/b73878077a9fea624f9d0331fefdd967a6982b17' (2023-10-11) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/43f22853fecf312713deed983b9cde1a6bda6ebd?dir=contrib' (2023-10-09) → 'github:neovim/neovim/4eea60939f9c079d4e1652e0ed1724c4f2ab6eda?dir=contrib' (2023-10-10) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/22723a1d7deab53e5c1022906089e4247a5d3e77' (2023-10-09) → 'github:nixos/nixpkgs/bd1cde45c77891214131cbbea5b1203e485a9d51' (2023-10-11) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/87828a0e03d1418e848d3dd3f3014a632e4a4f64' (2023-10-06) → 'github:nixos/nixpkgs/f99e5f03cc0aa231ab5950a15ed02afec45ed51a' (2023-10-09) • Updated input 'nur': 'github:nix-community/NUR/e41f206dbfdaa2810db908f122e3f6a028b6e534' (2023-10-10) → 'github:nix-community/NUR/3bb05ad4e68359ec3a8ec27d175eb15a6efd4e36' (2023-10-11) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 1f175751..e56bb2d2 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1696892794, - "narHash": "sha256-KQ1X1CLjabnnLItHb2zlrSZzj4lQNkdZMx84QWcU9qA=", + "lastModified": 1696980277, + "narHash": "sha256-JevNSElWjqzcdBwDp46Sa1L5v5fcuB3yrDMG6AwJSDI=", "owner": "neovim", "repo": "neovim", - "rev": "43f22853fecf312713deed983b9cde1a6bda6ebd", + "rev": "4eea60939f9c079d4e1652e0ed1724c4f2ab6eda", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1696896059, - "narHash": "sha256-GLJJRb2PSI9Hq1J4D0YVMV6lxHPP2QilEAWeIrEQSEI=", + "lastModified": 1696982445, + "narHash": "sha256-KZyvOOAnNRlH6UjRNxSaKQz1jMZ9j57TcSFEuTbYuzo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4ea129658fe3e7ecaebe574093ed3fe9673b5f6c", + "rev": "b73878077a9fea624f9d0331fefdd967a6982b17", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1696874073, - "narHash": "sha256-HNcQddEVmBVbMeH0I4LUEKFyZNvGfIYeXvyMYBvXjZ0=", + "lastModified": 1696983906, + "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "22723a1d7deab53e5c1022906089e4247a5d3e77", + "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1696604326, - "narHash": "sha256-YXUNI0kLEcI5g8lqGMb0nh67fY9f2YoJsILafh6zlMo=", + "lastModified": 1696879762, + "narHash": "sha256-Ud6bH4DMcYHUDKavNMxAhcIpDGgHMyL/yaDEAVSImQY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "87828a0e03d1418e848d3dd3f3014a632e4a4f64", + "rev": "f99e5f03cc0aa231ab5950a15ed02afec45ed51a", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1696916332, - "narHash": "sha256-GLuV+Dqq/1gxdoyLhpaNSVvPMDq7OQa34olXIa2ZBik=", + "lastModified": 1697002919, + "narHash": "sha256-ttPMr72UghfpBaKpm1tdCXlcBJ/1h1yPuv+AoCFVWeI=", "owner": "nix-community", "repo": "NUR", - "rev": "e41f206dbfdaa2810db908f122e3f6a028b6e534", + "rev": "3bb05ad4e68359ec3a8ec27d175eb15a6efd4e36", "type": "github" }, "original": { From 7f9dea309e5d040e338e0722e080905158a76d1a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Oct 2023 11:00:57 +0200 Subject: [PATCH 1554/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index c245e42b..9189b25e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "23a0004a86071164e66b76c32459c9b45b0d1e3e" }, "LuaSnip": { "branch": "master", "commit": "cdbf6f41381e5ee4810b4b09284b603d8f18365d" }, - "SchemaStore.nvim": { "branch": "main", "commit": "3b9476131daa2a229466bc7393fd0b96480c6435" }, + "SchemaStore.nvim": { "branch": "main", "commit": "854b38820036d81c5e6af1cae8797776ae5df56a" }, "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" }, @@ -13,10 +13,10 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "fcd272ca731db1813c8da0a88b86db134e642fd3" }, + "conform.nvim": { "branch": "master", "commit": "80f2f70740431b07d725cc66f63abbfd66aaae6d" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "0437ef8bfdd67156d87140d692840a3c2824fa20" }, - "dressing.nvim": { "branch": "master", "commit": "34e52d58a2a8a9e54b918cb4d917c0cf9fcc472d" }, + "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, "edgy.nvim": { "branch": "main", "commit": "70e334c9cd7915aedde3255ade01ceeebe735b53" }, "flash.nvim": { "branch": "main", "commit": "6d76c5dee65181ab55cbdfb0760260e800d643f4" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, @@ -24,12 +24,12 @@ "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "b808248f6a93ff4a2ed2932d68c6833ae167ecfc" }, - "lazy.nvim": { "branch": "main", "commit": "0d9989d46cd2ae624858b94e529ee3e9d07773fd" }, + "indent-blankline.nvim": { "branch": "master", "commit": "1bee85e1789f61e5ee54e5a18f8fa193099dca99" }, + "lazy.nvim": { "branch": "main", "commit": "73fbf5ccabd0233653bdeb4bb2b07fcfa97b57e0" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, - "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "ddefe5ab051e7ca6a7b374754f0920c44668b54f" }, + "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "10ad2ed049fb681a829b44aeb23443c0a9c910ae" }, "mini.animate": { "branch": "main", "commit": "6e6f2ee99fec91985d3817bfc74fbb4a0aff1c44" }, @@ -41,22 +41,22 @@ "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "6f8c49956c89e9fefae6acdfe1d57c6293b0a03d" }, "neoconf.nvim": { "branch": "main", "commit": "89fdbc02266d714413b805084a1b44d3cc8ce103" }, - "neodev.nvim": { "branch": "main", "commit": "11329ba9c0c03d3e976ba4e833d42164737bd402" }, + "neodev.nvim": { "branch": "main", "commit": "a4b6e7ca11ff5be2264d5c169fcedd97d8699ec4" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "3f6e559cc9c8a708f8b883ad9987c0a12aa1b3fa" }, + "neogit": { "branch": "master", "commit": "76182ae5c6501b6238a7cd9971e3a607c7122cd7" }, "neorg": { "branch": "main", "commit": "7d507d4fdd1c4a3cb8a8299a469d22190ebaf7f0" }, "noice.nvim": { "branch": "main", "commit": "fcd01710ff6918d4d3ef90c8e36f3addacba13bf" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lint": { "branch": "master", "commit": "79ffe0f63d1e7545157f246e7eaa74e07fea1612" }, + "nvim-lint": { "branch": "master", "commit": "7d273c3963c923a194bfd31ab498dfd6c0b2cae8" }, "nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" }, "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, + "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "34e6ace726fb7dfeb9e8e2d260111b7d2b616778" }, + "nvim-treesitter": { "branch": "master", "commit": "e5198778dbefa14823099dd6d8fba3819a5e7b8a" }, "nvim-treesitter-context": { "branch": "master", "commit": "4cf64264c049c55f256550ad247b606f3e53bc77" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "76c7a89b41de77a4f83fb77fa072c5ad7605fe3b" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, @@ -76,9 +76,9 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "5a747a9587e4bfc4ae086a38cc679fe54f983b69" }, + "telescope.nvim": { "branch": "master", "commit": "550055e640fd6eea88430ba5da3a3bc08679cf94" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "6aaf3459c3a023eae6d340d31004400428ea61b2" }, + "tokyonight.nvim": { "branch": "main", "commit": "76a5283b8612d5e7db48db4f341ea0c189b07295" }, "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "02219b557d4726a789be58c5d6bd6e139c46a9fe" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, From 6142741efc34b2d3971af6df13a87a5715a0a8c7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Oct 2023 11:01:48 +0200 Subject: [PATCH 1555/2080] nvim: show only tabpages in bufferline --- lazyvim/nvim/lua/plugins/ui.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index 7470405d..744a156d 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -10,6 +10,15 @@ return { -- { "Mofiqul/dracula.nvim" }, -- { "bluz71/vim-nightfly-colors" }, + { + "akinsho/bufferline.nvim", + opts = { + options = { + mode = "tabs", + }, + }, + }, + { "tokyonight.nvim", lazy = false, From f63805e9864f1a2842449d6de4f407a7a95c5eae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Oct 2023 14:50:18 +0200 Subject: [PATCH 1556/2080] nvim: add an autocommand for setting up filetype for ansiblels --- lazyvim/nvim/lua/config/autocmds.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lazyvim/nvim/lua/config/autocmds.lua b/lazyvim/nvim/lua/config/autocmds.lua index 06136864..b7c39813 100644 --- a/lazyvim/nvim/lua/config/autocmds.lua +++ b/lazyvim/nvim/lua/config/autocmds.lua @@ -47,3 +47,17 @@ vim.api.nvim_create_autocmd("CursorHold", { vim.diagnostic.open_float(nil, opts) end, }) + +-- Set yaml.ansible filetype when we are in an ansible role +vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { + pattern = { + "*{group,host}_vars/*.{yaml,yml}", + "{playbook*,site,requirements}.{yaml,yml}", + "*{roles,tasks,handlers}/*.{yaml,yml}", + "ansible*/*.{yaml,yml}", + }, + command = "setlocal filetype=yaml.ansible", +}) +-- TODO: add an autocommand setting filetypes for jinja template +-- like *.rb.j2 => 'setlocal filetype=ruby' +-- See https://github.com/pearofducks/ansible-vim/blob/master/ftdetect/ansible.vim From de6a3678f0ff423bf50713d2fb15193773bd45f1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 12 Oct 2023 09:23:34 +0200 Subject: [PATCH 1557/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/b73878077a9fea624f9d0331fefdd967a6982b17' (2023-10-11) → 'github:nix-community/neovim-nightly-overlay/890da9720383f47e00f8a4592cb987d6efccb3db' (2023-10-12) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/91fae5824f5f1199f61693c6590b4a89abaed9d7' (2023-09-25) → 'github:hercules-ci/hercules-ci-effects/178b36dc3a75c96efc25477d45eafc37ba1fafc3' (2023-10-11) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/4eea60939f9c079d4e1652e0ed1724c4f2ab6eda?dir=contrib' (2023-10-10) → 'github:neovim/neovim/3cbb02ce77087a820decd1a724a6e8b666e0ca36?dir=contrib' (2023-10-11) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/2646b294a146df2781b1ca49092450e8a32814e1' (2023-10-08) → 'github:NixOS/nixpkgs/01441e14af5e29c9d27ace398e6dd0b293e25a54' (2023-10-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5a237aecb57296f67276ac9ab296a41c23981f56' (2023-10-07) → 'github:NixOS/nixpkgs/bd1cde45c77891214131cbbea5b1203e485a9d51' (2023-10-11) • Updated input 'nur': 'github:nix-community/NUR/3bb05ad4e68359ec3a8ec27d175eb15a6efd4e36' (2023-10-11) → 'github:nix-community/NUR/1be6513b79951155d2e7ce27d76fc1d34341340c' (2023-10-12) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index e56bb2d2..d6be9435 100644 --- a/flake.lock +++ b/flake.lock @@ -161,11 +161,11 @@ ] }, "locked": { - "lastModified": 1695684520, - "narHash": "sha256-yORqGB0i1OtEf9MOCCT2BIbOd8txPZn216CM+ylMmhY=", + "lastModified": 1697031886, + "narHash": "sha256-oTMPX8dGC7yxSwrbF4NuPNQsUEcHB1dusW2yEbFD5zg=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "91fae5824f5f1199f61693c6590b4a89abaed9d7", + "rev": "178b36dc3a75c96efc25477d45eafc37ba1fafc3", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1696980277, - "narHash": "sha256-JevNSElWjqzcdBwDp46Sa1L5v5fcuB3yrDMG6AwJSDI=", + "lastModified": 1697067536, + "narHash": "sha256-dR96w6wAl5UgMO5/AOhM5S2KcelEAxDM66QVsnjv9KY=", "owner": "neovim", "repo": "neovim", - "rev": "4eea60939f9c079d4e1652e0ed1724c4f2ab6eda", + "rev": "3cbb02ce77087a820decd1a724a6e8b666e0ca36", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1696982445, - "narHash": "sha256-KZyvOOAnNRlH6UjRNxSaKQz1jMZ9j57TcSFEuTbYuzo=", + "lastModified": 1697069012, + "narHash": "sha256-eP0XhTAy5bVCmP5ZQ1LU3Nwh9CjRcx18kHSmhHd+GBE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b73878077a9fea624f9d0331fefdd967a6982b17", + "rev": "890da9720383f47e00f8a4592cb987d6efccb3db", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696757521, - "narHash": "sha256-cfgtLNCBLFx2qOzRLI6DHfqTdfWI+UbvsKYa3b3fvaA=", + "lastModified": 1697009197, + "narHash": "sha256-viVRhBTFT8fPJTb1N3brQIpFZnttmwo3JVKNuWRVc3s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2646b294a146df2781b1ca49092450e8a32814e1", + "rev": "01441e14af5e29c9d27ace398e6dd0b293e25a54", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1696697597, - "narHash": "sha256-q26Qv4DQ+h6IeozF2o1secyQG0jt2VUT3V0K58jr3pg=", + "lastModified": 1696983906, + "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5a237aecb57296f67276ac9ab296a41c23981f56", + "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697002919, - "narHash": "sha256-ttPMr72UghfpBaKpm1tdCXlcBJ/1h1yPuv+AoCFVWeI=", + "lastModified": 1697094816, + "narHash": "sha256-TjGwZUyu7zpRJiOlxL2UhJG5ncuEx6hCqqu7i1mDWOw=", "owner": "nix-community", "repo": "NUR", - "rev": "3bb05ad4e68359ec3a8ec27d175eb15a6efd4e36", + "rev": "1be6513b79951155d2e7ce27d76fc1d34341340c", "type": "github" }, "original": { From e2e18fb4dbd0e4517c6aaf10f2a27f7aef3d8588 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 12 Oct 2023 10:54:12 +0200 Subject: [PATCH 1558/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/1be6513b79951155d2e7ce27d76fc1d34341340c' (2023-10-12) → 'github:nix-community/NUR/c324f1bd5ad41d63a4721f08760480e346fbff0c' (2023-10-12) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index d6be9435..5fbb9dc9 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697094816, - "narHash": "sha256-TjGwZUyu7zpRJiOlxL2UhJG5ncuEx6hCqqu7i1mDWOw=", + "lastModified": 1697099613, + "narHash": "sha256-9t4kNpPiCOW/SInqCik7HsKgCz+eoCbNNrIxqAN21GA=", "owner": "nix-community", "repo": "NUR", - "rev": "1be6513b79951155d2e7ce27d76fc1d34341340c", + "rev": "c324f1bd5ad41d63a4721f08760480e346fbff0c", "type": "github" }, "original": { From cdf82ba10a8fc7989262370fb1bc4545df3a5f35 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 12 Oct 2023 11:04:47 +0200 Subject: [PATCH 1559/2080] Install gh unstable version --- home/main.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 37d50457..43f996ce 100644 --- a/home/main.nix +++ b/home/main.nix @@ -31,7 +31,7 @@ lsd fd fortune - gh + pkgs-unstable.gh gnupg httpie inetutils From eb37bb81ddec36dc20c2066abae9bd398031d359 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 12 Oct 2023 15:43:39 +0200 Subject: [PATCH 1560/2080] LazyVim: no more show switched from project.nvim --- lazyvim/nvim/lua/plugins/tools.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 1dbc4ee3..7d5ca94b 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -74,7 +74,7 @@ return { { "ahmedkhalf/project.nvim", opts = { - silent_chdir = false, + silent_chdir = true, scope_chdir = "tab", }, }, From dfd3c69a5526e259b2eb2bc10794cbc2c3567720 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 12 Oct 2023 15:43:45 +0200 Subject: [PATCH 1561/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 9189b25e..462428d4 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,6 +1,6 @@ { - "LazyVim": { "branch": "main", "commit": "23a0004a86071164e66b76c32459c9b45b0d1e3e" }, - "LuaSnip": { "branch": "master", "commit": "cdbf6f41381e5ee4810b4b09284b603d8f18365d" }, + "LazyVim": { "branch": "main", "commit": "61f1c308bf6b87c51a2b49c314c7c7379f19a27e" }, + "LuaSnip": { "branch": "master", "commit": "0df29db3543837f8b41597f2640397c5ec792b7b" }, "SchemaStore.nvim": { "branch": "main", "commit": "854b38820036d81c5e6af1cae8797776ae5df56a" }, "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, @@ -13,9 +13,9 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "80f2f70740431b07d725cc66f63abbfd66aaae6d" }, + "conform.nvim": { "branch": "master", "commit": "4db76a68b47aa6e9777e4da4aed16f0fff74920e" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, - "diffview.nvim": { "branch": "main", "commit": "0437ef8bfdd67156d87140d692840a3c2824fa20" }, + "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, "edgy.nvim": { "branch": "main", "commit": "70e334c9cd7915aedde3255ade01ceeebe735b53" }, "flash.nvim": { "branch": "main", "commit": "6d76c5dee65181ab55cbdfb0760260e800d643f4" }, @@ -24,11 +24,11 @@ "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "1bee85e1789f61e5ee54e5a18f8fa193099dca99" }, - "lazy.nvim": { "branch": "main", "commit": "73fbf5ccabd0233653bdeb4bb2b07fcfa97b57e0" }, + "indent-blankline.nvim": { "branch": "master", "commit": "0fe34b4c1b926e106d105d3ae88ef6cbf6743572" }, + "lazy.nvim": { "branch": "main", "commit": "906ff8e569872d9081cfc9246d917011c22b5e61" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "ddefe5ab051e7ca6a7b374754f0920c44668b54f" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "397273083f988c1a17acf3816947cd198338e700" }, "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "10ad2ed049fb681a829b44aeb23443c0a9c910ae" }, @@ -40,33 +40,33 @@ "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "6f8c49956c89e9fefae6acdfe1d57c6293b0a03d" }, - "neoconf.nvim": { "branch": "main", "commit": "89fdbc02266d714413b805084a1b44d3cc8ce103" }, + "neoconf.nvim": { "branch": "main", "commit": "393d37abd9d82adcac627309a41758ae8e140d9e" }, "neodev.nvim": { "branch": "main", "commit": "a4b6e7ca11ff5be2264d5c169fcedd97d8699ec4" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "76182ae5c6501b6238a7cd9971e3a607c7122cd7" }, + "neogit": { "branch": "master", "commit": "d3fbf8b48f4f8bc406eb23f8b06eb912776f8cb0" }, "neorg": { "branch": "main", "commit": "7d507d4fdd1c4a3cb8a8299a469d22190ebaf7f0" }, "noice.nvim": { "branch": "main", "commit": "fcd01710ff6918d4d3ef90c8e36f3addacba13bf" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lint": { "branch": "master", "commit": "7d273c3963c923a194bfd31ab498dfd6c0b2cae8" }, - "nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" }, + "nvim-lint": { "branch": "master", "commit": "0f54481d7537a6872f7bb021575366657e123474" }, + "nvim-lspconfig": { "branch": "master", "commit": "60e7d993849cb8161cb1ffbedbb47a0c947e76be" }, "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "e5198778dbefa14823099dd6d8fba3819a5e7b8a" }, + "nvim-treesitter": { "branch": "master", "commit": "49f7194e4c4d3c9ed891b0968798c062e8ac5a3d" }, "nvim-treesitter-context": { "branch": "master", "commit": "4cf64264c049c55f256550ad247b606f3e53bc77" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "76c7a89b41de77a4f83fb77fa072c5ad7605fe3b" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, - "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, + "nvim-ufo": { "branch": "main", "commit": "f7eea53e88456403212df074b9aa3148a3908435" }, "nvim-web-devicons": { "branch": "master", "commit": "a1e6268779411048a87f767a27380089362a0ce2" }, "octo.nvim": { "branch": "master", "commit": "15e1c949bdc6f77b1296977a6a7dde5d06c6c004" }, "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, - "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, + "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "bebfcfcc4b604d3647fcce2f4aeb02a95d139c49" }, @@ -76,7 +76,7 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "550055e640fd6eea88430ba5da3a3bc08679cf94" }, + "telescope.nvim": { "branch": "master", "commit": "74ce793a60759e3db0d265174f137fb627430355" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "76a5283b8612d5e7db48db4f341ea0c189b07295" }, "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, @@ -90,5 +90,5 @@ "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "636632d70ac00c45bdc1751d7b35c83d47081f36" } + "yanky.nvim": { "branch": "main", "commit": "cc3fc03c780a14f189290edcf1c47dc1306626d4" } } From 2e0024048dfa0d9155ba7ac20342d5254c219ae1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 12 Oct 2023 16:04:38 +0200 Subject: [PATCH 1562/2080] LazyVim: update to 10.0 --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- lazyvim/nvim/lua/config/lazy.lua | 4 ---- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 462428d4..ca043c99 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,8 +1,7 @@ { - "LazyVim": { "branch": "main", "commit": "61f1c308bf6b87c51a2b49c314c7c7379f19a27e" }, + "LazyVim": { "branch": "main", "commit": "763c0fd9f296ec31119c0e7109b9b73d15553fff" }, "LuaSnip": { "branch": "master", "commit": "0df29db3543837f8b41597f2640397c5ec792b7b" }, "SchemaStore.nvim": { "branch": "main", "commit": "854b38820036d81c5e6af1cae8797776ae5df56a" }, - "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -14,10 +13,11 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "conform.nvim": { "branch": "master", "commit": "4db76a68b47aa6e9777e4da4aed16f0fff74920e" }, + "dashboard-nvim": { "branch": "master", "commit": "8721edccead31c07c2cda0bc5ac75b0491b5adcd" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, - "edgy.nvim": { "branch": "main", "commit": "70e334c9cd7915aedde3255ade01ceeebe735b53" }, + "edgy.nvim": { "branch": "main", "commit": "4a4bab427e31eb37678bae3e478f166aae9deff3" }, "flash.nvim": { "branch": "main", "commit": "6d76c5dee65181ab55cbdfb0760260e800d643f4" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, "gitsigns.nvim": { "branch": "main", "commit": "ff01d34daaed72f271a8ffa088a7e839a60c640f" }, @@ -25,7 +25,7 @@ "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, "indent-blankline.nvim": { "branch": "master", "commit": "0fe34b4c1b926e106d105d3ae88ef6cbf6743572" }, - "lazy.nvim": { "branch": "main", "commit": "906ff8e569872d9081cfc9246d917011c22b5e61" }, + "lazy.nvim": { "branch": "main", "commit": "33c447b96e1cb1a5a2be87982d5d32bb5054079d" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "397273083f988c1a17acf3816947cd198338e700" }, @@ -49,8 +49,7 @@ "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, "nvim-lint": { "branch": "master", "commit": "0f54481d7537a6872f7bb021575366657e123474" }, - "nvim-lspconfig": { "branch": "master", "commit": "60e7d993849cb8161cb1ffbedbb47a0c947e76be" }, - "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, + "nvim-lspconfig": { "branch": "master", "commit": "cab7233cd6a89ec952dfd40c4b74341b1165830e" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, @@ -59,6 +58,7 @@ "nvim-treesitter": { "branch": "master", "commit": "49f7194e4c4d3c9ed891b0968798c062e8ac5a3d" }, "nvim-treesitter-context": { "branch": "master", "commit": "4cf64264c049c55f256550ad247b606f3e53bc77" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "76c7a89b41de77a4f83fb77fa072c5ad7605fe3b" }, + "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, "nvim-ufo": { "branch": "main", "commit": "f7eea53e88456403212df074b9aa3148a3908435" }, "nvim-web-devicons": { "branch": "master", "commit": "a1e6268779411048a87f767a27380089362a0ce2" }, @@ -78,7 +78,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, "telescope.nvim": { "branch": "master", "commit": "74ce793a60759e3db0d265174f137fb627430355" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "76a5283b8612d5e7db48db4f341ea0c189b07295" }, + "tokyonight.nvim": { "branch": "main", "commit": "dce0ab49ae751f4f3617ab42d6f20c72369c7cb1" }, "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "02219b557d4726a789be58c5d6bd6e139c46a9fe" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index d5810f13..9aba095c 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -33,12 +33,8 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.util.dot" }, -- copilot disabled until there is an easy way to opt in -- { import = "lazyvim.plugins.extras.coding.copilot" }, - -- Extra for formatting, replacing none-ls - { import = "lazyvim.plugins.extras.formatting.conform" }, { import = "lazyvim.plugins.extras.formatting.black" }, { import = "lazyvim.plugins.extras.formatting.prettier" }, - -- Extra for linting, replacing none-ls - { import = "lazyvim.plugins.extras.linting.nvim-lint" }, -- import/override with your plugins { import = "plugins" }, }, From 67c7ea831b64fad0fe74c7e4bab0d144fe91d7a8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 13 Oct 2023 09:30:43 +0200 Subject: [PATCH 1563/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/890da9720383f47e00f8a4592cb987d6efccb3db' (2023-10-12) → 'github:nix-community/neovim-nightly-overlay/185a47b09d95c430187a16d89b1ec32391698e07' (2023-10-13) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/3cbb02ce77087a820decd1a724a6e8b666e0ca36?dir=contrib' (2023-10-11) → 'github:neovim/neovim/ebe489d8f0edbb3538a59733289d8969d1ffea22?dir=contrib' (2023-10-12) • Updated input 'nur': 'github:nix-community/NUR/c324f1bd5ad41d63a4721f08760480e346fbff0c' (2023-10-12) → 'github:nix-community/NUR/b9f5f255243b6bf53a39aaea62356b287ba7a3fc' (2023-10-13) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 5fbb9dc9..9345de4a 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1697067536, - "narHash": "sha256-dR96w6wAl5UgMO5/AOhM5S2KcelEAxDM66QVsnjv9KY=", + "lastModified": 1697153265, + "narHash": "sha256-ZE2ViIiNqqsu72vd/VLx+sB0hWbUZtdUG4gb5UPjmtw=", "owner": "neovim", "repo": "neovim", - "rev": "3cbb02ce77087a820decd1a724a6e8b666e0ca36", + "rev": "ebe489d8f0edbb3538a59733289d8969d1ffea22", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1697069012, - "narHash": "sha256-eP0XhTAy5bVCmP5ZQ1LU3Nwh9CjRcx18kHSmhHd+GBE=", + "lastModified": 1697155251, + "narHash": "sha256-gKNcjjGOSt6VnUaURlrHjaweQdnG30gXXl7itqnjV/I=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "890da9720383f47e00f8a4592cb987d6efccb3db", + "rev": "185a47b09d95c430187a16d89b1ec32391698e07", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697099613, - "narHash": "sha256-9t4kNpPiCOW/SInqCik7HsKgCz+eoCbNNrIxqAN21GA=", + "lastModified": 1697176031, + "narHash": "sha256-iKJJpn5v2JvmN9c1KoH7QI3MC0/I+JBKyCf91VVDLs4=", "owner": "nix-community", "repo": "NUR", - "rev": "c324f1bd5ad41d63a4721f08760480e346fbff0c", + "rev": "b9f5f255243b6bf53a39aaea62356b287ba7a3fc", "type": "github" }, "original": { From ca11b8bc92150581294080dcb5eb8e6dfb04f81a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 16 Oct 2023 09:54:55 +0200 Subject: [PATCH 1564/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/185a47b09d95c430187a16d89b1ec32391698e07' (2023-10-13) → 'github:nix-community/neovim-nightly-overlay/5a05c0097f83a4e1bb1f7ac95b773a7451143389' (2023-10-16) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/ebe489d8f0edbb3538a59733289d8969d1ffea22?dir=contrib' (2023-10-12) → 'github:neovim/neovim/0a3505eb9df8d57a9a0bcecf02bb3dda1c8edd29?dir=contrib' (2023-10-15) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/bd1cde45c77891214131cbbea5b1203e485a9d51' (2023-10-11) → 'github:NixOS/nixpkgs/898cb2064b6e98b8c5499f37e81adbdf2925f7c5' (2023-10-13) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/bd1cde45c77891214131cbbea5b1203e485a9d51' (2023-10-11) → 'github:nixos/nixpkgs/0e1cff585c1a85aeab059d3109f66134a8f76935' (2023-10-15) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/f99e5f03cc0aa231ab5950a15ed02afec45ed51a' (2023-10-09) → 'github:nixos/nixpkgs/5e4c2ada4fcd54b99d56d7bd62f384511a7e2593' (2023-10-11) • Updated input 'nur': 'github:nix-community/NUR/b9f5f255243b6bf53a39aaea62356b287ba7a3fc' (2023-10-13) → 'github:nix-community/NUR/07212bd556c29b2c87559c706384a861a9856bb8' (2023-10-16) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 9345de4a..f06e2e61 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1697153265, - "narHash": "sha256-ZE2ViIiNqqsu72vd/VLx+sB0hWbUZtdUG4gb5UPjmtw=", + "lastModified": 1697388502, + "narHash": "sha256-bvw/E+u+F6caIrxOIqNd7hu5Zd+GFvzL4+dgG+S8dPE=", "owner": "neovim", "repo": "neovim", - "rev": "ebe489d8f0edbb3538a59733289d8969d1ffea22", + "rev": "0a3505eb9df8d57a9a0bcecf02bb3dda1c8edd29", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1697155251, - "narHash": "sha256-gKNcjjGOSt6VnUaURlrHjaweQdnG30gXXl7itqnjV/I=", + "lastModified": 1697414471, + "narHash": "sha256-AvLSTR4YZg6W1/v4g9GcwCN7XnMjwctoyIFou1uDLYM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "185a47b09d95c430187a16d89b1ec32391698e07", + "rev": "5a05c0097f83a4e1bb1f7ac95b773a7451143389", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1696983906, - "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", + "lastModified": 1697332183, + "narHash": "sha256-ACYvYsgLETfEI2xM1jjp8ZLVNGGC0onoCGe+69VJGGE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", + "rev": "0e1cff585c1a85aeab059d3109f66134a8f76935", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1696879762, - "narHash": "sha256-Ud6bH4DMcYHUDKavNMxAhcIpDGgHMyL/yaDEAVSImQY=", + "lastModified": 1697059129, + "narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f99e5f03cc0aa231ab5950a15ed02afec45ed51a", + "rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1696983906, - "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", + "lastModified": 1697226376, + "narHash": "sha256-cumLLb1QOUtWieUnLGqo+ylNt3+fU8Lcv5Zl+tYbRUE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", + "rev": "898cb2064b6e98b8c5499f37e81adbdf2925f7c5", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697176031, - "narHash": "sha256-iKJJpn5v2JvmN9c1KoH7QI3MC0/I+JBKyCf91VVDLs4=", + "lastModified": 1697442690, + "narHash": "sha256-irZQUCQD1Fpsg/PapEYd9JU+8mAWspFwkgyWEch0lO8=", "owner": "nix-community", "repo": "NUR", - "rev": "b9f5f255243b6bf53a39aaea62356b287ba7a3fc", + "rev": "07212bd556c29b2c87559c706384a861a9856bb8", "type": "github" }, "original": { From 4655d9362ece7da88746b95feed49b51782cd5de Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 16 Oct 2023 10:07:24 +0200 Subject: [PATCH 1565/2080] main: drop deno --- home/neovim.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home/neovim.nix b/home/neovim.nix index fe19f779..7d5be943 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -39,7 +39,6 @@ in beautysh black cargo - deno gnumake go isort From 1707992220a5388ab0c365cba5ab123f107f3676 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 16 Oct 2023 10:07:39 +0200 Subject: [PATCH 1566/2080] lazyvim: switch to extra for markdown configuration. --- lazyvim/nvim/lua/config/lazy.lua | 1 + lazyvim/nvim/lua/plugins/tools.lua | 21 --------------------- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 9aba095c..36e63122 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -16,6 +16,7 @@ require("lazy").setup({ -- support more languages -- { import = "lazyvim.plugins.extras.lang.docker" }, { import = "lazyvim.plugins.extras.lang.json" }, + { import = "lazyvim.plugins.extras.lang.markdown" }, { import = "lazyvim.plugins.extras.lang.python" }, -- Semantic highlighting for python -- XXX: breaking when opening python files diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 7d5ca94b..2c4b11f6 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -41,27 +41,6 @@ return { }, }, - -- markdown preview - { - "toppair/peek.nvim", - build = "deno task --quiet build:fast", - keys = { - { - "<leader>op", - function() - local peek = require("peek") - if peek.is_open() then - peek.close() - else - peek.open() - end - end, - desc = "Peek (Markdown Preview)", - }, - }, - opts = { theme = "light", app = "browser" }, - }, - -- better diffing { "sindrets/diffview.nvim", From 4204b0cb764a46c2a42883d6b4546303cefed854 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 17 Oct 2023 09:53:41 +0200 Subject: [PATCH 1567/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5a05c0097f83a4e1bb1f7ac95b773a7451143389' (2023-10-16) → 'github:nix-community/neovim-nightly-overlay/a9e95d82084980df9055501520b19cb5da26cec5' (2023-10-17) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/0a3505eb9df8d57a9a0bcecf02bb3dda1c8edd29?dir=contrib' (2023-10-15) → 'github:neovim/neovim/a63c67005b9ea17214d86391e2fd649658c1bdec?dir=contrib' (2023-10-16) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/01441e14af5e29c9d27ace398e6dd0b293e25a54' (2023-10-11) → 'github:NixOS/nixpkgs/12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d' (2023-10-15) • Updated input 'nur': 'github:nix-community/NUR/07212bd556c29b2c87559c706384a861a9856bb8' (2023-10-16) → 'github:nix-community/NUR/c5827583bc4d716482ad3a5c1aae2a3900757ab1' (2023-10-17) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index f06e2e61..bafeae1a 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1697388502, - "narHash": "sha256-bvw/E+u+F6caIrxOIqNd7hu5Zd+GFvzL4+dgG+S8dPE=", + "lastModified": 1697481695, + "narHash": "sha256-BLlCecLvZzjYEHrhKfPLieeR81vN0lSca8U3B2LOpjQ=", "owner": "neovim", "repo": "neovim", - "rev": "0a3505eb9df8d57a9a0bcecf02bb3dda1c8edd29", + "rev": "a63c67005b9ea17214d86391e2fd649658c1bdec", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1697414471, - "narHash": "sha256-AvLSTR4YZg6W1/v4g9GcwCN7XnMjwctoyIFou1uDLYM=", + "lastModified": 1697500878, + "narHash": "sha256-Pck1H0xNMKdTym6y6104xZSVpzfAl+4JK8fYgXkIEN0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5a05c0097f83a4e1bb1f7ac95b773a7451143389", + "rev": "a9e95d82084980df9055501520b19cb5da26cec5", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1697009197, - "narHash": "sha256-viVRhBTFT8fPJTb1N3brQIpFZnttmwo3JVKNuWRVc3s=", + "lastModified": 1697379843, + "narHash": "sha256-RcnGuJgC2K/UpTy+d32piEoBXq2M+nVFzM3ah/ZdJzg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "01441e14af5e29c9d27ace398e6dd0b293e25a54", + "rev": "12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697442690, - "narHash": "sha256-irZQUCQD1Fpsg/PapEYd9JU+8mAWspFwkgyWEch0lO8=", + "lastModified": 1697525609, + "narHash": "sha256-SHoFCpr8oUM1HHTcgkoQTQmlgMreIEJ+cQLojUAETJs=", "owner": "nix-community", "repo": "NUR", - "rev": "07212bd556c29b2c87559c706384a861a9856bb8", + "rev": "c5827583bc4d716482ad3a5c1aae2a3900757ab1", "type": "github" }, "original": { From 1bb6558fd51c268d1dbebfebe3b0757f08670de9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 17 Oct 2023 15:53:28 +0200 Subject: [PATCH 1568/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 59 +++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index ca043c99..9b58c57b 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "763c0fd9f296ec31119c0e7109b9b73d15553fff" }, + "LazyVim": { "branch": "main", "commit": "c711309a673a755652a90a080fd23dbab5dd61d5" }, "LuaSnip": { "branch": "master", "commit": "0df29db3543837f8b41597f2640397c5ec792b7b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "854b38820036d81c5e6af1cae8797776ae5df56a" }, + "SchemaStore.nvim": { "branch": "main", "commit": "f714bc7c4c94972a7d2d05a198e50370f0b5f026" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, - "catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" }, + "catppuccin": { "branch": "main", "commit": "dcef0a062de380885193fb0f919217d58b979753" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -12,23 +12,25 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "4db76a68b47aa6e9777e4da4aed16f0fff74920e" }, - "dashboard-nvim": { "branch": "master", "commit": "8721edccead31c07c2cda0bc5ac75b0491b5adcd" }, + "conform.nvim": { "branch": "master", "commit": "1281e26948fc06994e0e0cdcaafdd9bbd28929e7" }, + "dashboard-nvim": { "branch": "master", "commit": "fd68b9d05aedc57e5d97a6b66a4e3db877872f64" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, - "edgy.nvim": { "branch": "main", "commit": "4a4bab427e31eb37678bae3e478f166aae9deff3" }, - "flash.nvim": { "branch": "main", "commit": "6d76c5dee65181ab55cbdfb0760260e800d643f4" }, + "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, + "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, "gitsigns.nvim": { "branch": "main", "commit": "ff01d34daaed72f271a8ffa088a7e839a60c640f" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, + "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "0fe34b4c1b926e106d105d3ae88ef6cbf6743572" }, - "lazy.nvim": { "branch": "main", "commit": "33c447b96e1cb1a5a2be87982d5d32bb5054079d" }, + "indent-blankline.nvim": { "branch": "master", "commit": "9301e434dd41154ffe5c3d5b8a5c9acd075ebeff" }, + "lazy.nvim": { "branch": "main", "commit": "c7298a10db9b9ef975472827e5898b0c494b70bd" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "397273083f988c1a17acf3816947cd198338e700" }, + "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "e7b64c11035aa924f87385b72145e0ccf68a7e0a" }, "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "10ad2ed049fb681a829b44aeb23443c0a9c910ae" }, @@ -40,31 +42,30 @@ "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "6f8c49956c89e9fefae6acdfe1d57c6293b0a03d" }, - "neoconf.nvim": { "branch": "main", "commit": "393d37abd9d82adcac627309a41758ae8e140d9e" }, - "neodev.nvim": { "branch": "main", "commit": "a4b6e7ca11ff5be2264d5c169fcedd97d8699ec4" }, + "neoconf.nvim": { "branch": "main", "commit": "c87c862a14a4c8c0e2bc823d304e4da472fd7180" }, + "neodev.nvim": { "branch": "main", "commit": "24b403eabde652904077f84fd55441744e77a109" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "d3fbf8b48f4f8bc406eb23f8b06eb912776f8cb0" }, - "neorg": { "branch": "main", "commit": "7d507d4fdd1c4a3cb8a8299a469d22190ebaf7f0" }, - "noice.nvim": { "branch": "main", "commit": "fcd01710ff6918d4d3ef90c8e36f3addacba13bf" }, + "neogit": { "branch": "master", "commit": "9ef72fd47489afb2b1b634140cee97febbd03261" }, + "neorg": { "branch": "main", "commit": "7c4e09d39d6be4494e8c2980a55837d982c8ef4b" }, + "noice.nvim": { "branch": "main", "commit": "e50fc6de68333633fa9eaaa54cb4cdfe7de5f25a" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lint": { "branch": "master", "commit": "0f54481d7537a6872f7bb021575366657e123474" }, - "nvim-lspconfig": { "branch": "master", "commit": "cab7233cd6a89ec952dfd40c4b74341b1165830e" }, + "nvim-lint": { "branch": "master", "commit": "6d596b87862909370f4d1e6535cc9fad80c89fe6" }, + "nvim-lspconfig": { "branch": "master", "commit": "e49b1e90c1781ce372013de3fa93a91ea29fc34a" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "49f7194e4c4d3c9ed891b0968798c062e8ac5a3d" }, - "nvim-treesitter-context": { "branch": "master", "commit": "4cf64264c049c55f256550ad247b606f3e53bc77" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "76c7a89b41de77a4f83fb77fa072c5ad7605fe3b" }, + "nvim-treesitter": { "branch": "master", "commit": "9c4fc86b67c1d68141cef57846d24cbee9b74fb0" }, + "nvim-treesitter-context": { "branch": "master", "commit": "82c695951612911421e8e21068ba5fc2c2e2c212" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "78c49ca7d2f7ccba2115c11422c037713c978ad1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, "nvim-ufo": { "branch": "main", "commit": "f7eea53e88456403212df074b9aa3148a3908435" }, - "nvim-web-devicons": { "branch": "master", "commit": "a1e6268779411048a87f767a27380089362a0ce2" }, - "octo.nvim": { "branch": "master", "commit": "15e1c949bdc6f77b1296977a6a7dde5d06c6c004" }, - "peek.nvim": { "branch": "master", "commit": "67752e7581f88da6899838985a05705b008e4185" }, - "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, + "nvim-web-devicons": { "branch": "master", "commit": "3af745113ea537f58c4b1573b64a429fefad9e07" }, + "octo.nvim": { "branch": "master", "commit": "545b9b7cdc204ba44051d3381d7ff1f58564c8ff" }, + "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, @@ -72,23 +73,23 @@ "refactoring.nvim": { "branch": "master", "commit": "bebfcfcc4b604d3647fcce2f4aeb02a95d139c49" }, "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, - "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, + "ssr.nvim": { "branch": "main", "commit": "10d51ddaaba0cd03ccf9ae51620d6e8cad27f1e4" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, "telescope.nvim": { "branch": "master", "commit": "74ce793a60759e3db0d265174f137fb627430355" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "dce0ab49ae751f4f3617ab42d6f20c72369c7cb1" }, + "tokyonight.nvim": { "branch": "main", "commit": "633039585dff7fd2b9b62fb190bf768702609d95" }, "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "02219b557d4726a789be58c5d6bd6e139c46a9fe" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "6ef90a217299500edfd86a322b9a195fb1b07013" }, + "venv-selector.nvim": { "branch": "main", "commit": "ff3342d4ae8723fab38fed8969b0a1e2c8b6281a" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, - "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, + "which-key.nvim": { "branch": "main", "commit": "6962dae3565369363b59dd51fb206051555fcb4d" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "yanky.nvim": { "branch": "main", "commit": "cc3fc03c780a14f189290edcf1c47dc1306626d4" } } From 15ae418733ba5570b0ae9a38a8b65888074bf722 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 17 Oct 2023 15:53:45 +0200 Subject: [PATCH 1569/2080] Import lazyvim/nvim/lazyvim.json --- lazyvim/nvim/lazyvim.json | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 lazyvim/nvim/lazyvim.json diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json new file mode 100644 index 00000000..ff6a1393 --- /dev/null +++ b/lazyvim/nvim/lazyvim.json @@ -0,0 +1,9 @@ +{ + "extras": [ + + ], + "news": { + "NEWS.md": "2123" + }, + "version": 2 +} \ No newline at end of file From 7bc6406184910e1f87a83d84ee4fe30bb657be9d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 17 Oct 2023 15:54:01 +0200 Subject: [PATCH 1570/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/c5827583bc4d716482ad3a5c1aae2a3900757ab1' (2023-10-17) → 'github:nix-community/NUR/564f727a32998fe4b2959843e86481a5fef523c9' (2023-10-17) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index bafeae1a..7cece50a 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697525609, - "narHash": "sha256-SHoFCpr8oUM1HHTcgkoQTQmlgMreIEJ+cQLojUAETJs=", + "lastModified": 1697544658, + "narHash": "sha256-WehJ7I1lis82yKZVEIzKxnmzbwQXh3+14HAWvIMofQQ=", "owner": "nix-community", "repo": "NUR", - "rev": "c5827583bc4d716482ad3a5c1aae2a3900757ab1", + "rev": "564f727a32998fe4b2959843e86481a5fef523c9", "type": "github" }, "original": { From ef9a01ea8d7dbcde58ec4e7f56d98b897409a532 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 17 Oct 2023 17:51:22 +0200 Subject: [PATCH 1571/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 9b58c57b..61cc39c8 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "c711309a673a755652a90a080fd23dbab5dd61d5" }, "LuaSnip": { "branch": "master", "commit": "0df29db3543837f8b41597f2640397c5ec792b7b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "f714bc7c4c94972a7d2d05a198e50370f0b5f026" }, + "SchemaStore.nvim": { "branch": "main", "commit": "847f69b4bd50ad09c7d66943bc690682a3e35573" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "dcef0a062de380885193fb0f919217d58b979753" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "1281e26948fc06994e0e0cdcaafdd9bbd28929e7" }, + "conform.nvim": { "branch": "master", "commit": "2e8b826cb4af5cf36b5febc5e7a71d3284f161f2" }, "dashboard-nvim": { "branch": "master", "commit": "fd68b9d05aedc57e5d97a6b66a4e3db877872f64" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, @@ -20,7 +20,7 @@ "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "ff01d34daaed72f271a8ffa088a7e839a60c640f" }, + "gitsigns.nvim": { "branch": "main", "commit": "5a9a6ac29a7805c4783cda21b80a1e361964b3f2" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, @@ -28,7 +28,7 @@ "indent-blankline.nvim": { "branch": "master", "commit": "9301e434dd41154ffe5c3d5b8a5c9acd075ebeff" }, "lazy.nvim": { "branch": "main", "commit": "c7298a10db9b9ef975472827e5898b0c494b70bd" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, - "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, + "lualine.nvim": { "branch": "master", "commit": "1a3f6bba410aff5a51bf8c84287aaa3a8ba30d0d" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e7b64c11035aa924f87385b72145e0ccf68a7e0a" }, "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, @@ -45,7 +45,7 @@ "neoconf.nvim": { "branch": "main", "commit": "c87c862a14a4c8c0e2bc823d304e4da472fd7180" }, "neodev.nvim": { "branch": "main", "commit": "24b403eabde652904077f84fd55441744e77a109" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "9ef72fd47489afb2b1b634140cee97febbd03261" }, + "neogit": { "branch": "master", "commit": "eb9d6b8f0840e4f2fa775bca7ec4a5df8b42ed6d" }, "neorg": { "branch": "main", "commit": "7c4e09d39d6be4494e8c2980a55837d982c8ef4b" }, "noice.nvim": { "branch": "main", "commit": "e50fc6de68333633fa9eaaa54cb4cdfe7de5f25a" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, @@ -64,11 +64,10 @@ "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, "nvim-ufo": { "branch": "main", "commit": "f7eea53e88456403212df074b9aa3148a3908435" }, "nvim-web-devicons": { "branch": "master", "commit": "3af745113ea537f58c4b1573b64a429fefad9e07" }, - "octo.nvim": { "branch": "master", "commit": "545b9b7cdc204ba44051d3381d7ff1f58564c8ff" }, + "octo.nvim": { "branch": "master", "commit": "e933611c74cb735c00d0db8ca94533bec1444bf0" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, - "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "bebfcfcc4b604d3647fcce2f4aeb02a95d139c49" }, "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, @@ -91,5 +90,5 @@ "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "6962dae3565369363b59dd51fb206051555fcb4d" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "cc3fc03c780a14f189290edcf1c47dc1306626d4" } + "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } } From af50c1be16074c77ff8679d987ba75f36e03286e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 17 Oct 2023 17:51:38 +0200 Subject: [PATCH 1572/2080] LazyVim: disable project management for now --- lazyvim/nvim/lua/config/lazy.lua | 2 +- lazyvim/nvim/lua/plugins/tools.lua | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 36e63122..905f9908 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -29,7 +29,7 @@ require("lazy").setup({ -- create and manage predefined window layouts { import = "lazyvim.plugins.extras.ui.edgy" }, -- project management - { import = "lazyvim.plugins.extras.util.project" }, + -- { import = "lazyvim.plugins.extras.util.project" }, -- Update conf for treesitter based on what is installed { import = "lazyvim.plugins.extras.util.dot" }, -- copilot disabled until there is an easy way to opt in diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 2c4b11f6..dc962c44 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -50,13 +50,13 @@ return { }, -- Explicit project switch - { - "ahmedkhalf/project.nvim", - opts = { - silent_chdir = true, - scope_chdir = "tab", - }, - }, + -- { + -- "ahmedkhalf/project.nvim", + -- opts = { + -- silent_chdir = true, + -- scope_chdir = "tab", + -- }, + -- }, -- ChatGPT client -- { From ced1f5f9987e6714154282ae738106376f35621f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 18 Oct 2023 09:31:14 +0200 Subject: [PATCH 1573/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/a9e95d82084980df9055501520b19cb5da26cec5' (2023-10-17) → 'github:nix-community/neovim-nightly-overlay/11a5f7738d1f3c19b6f01aecca66664116cc6f23' (2023-10-18) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/a63c67005b9ea17214d86391e2fd649658c1bdec?dir=contrib' (2023-10-16) → 'github:neovim/neovim/bbc74d51ad791edad1948178736589cb181236e8?dir=contrib' (2023-10-17) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/5e4c2ada4fcd54b99d56d7bd62f384511a7e2593' (2023-10-11) → 'github:nixos/nixpkgs/ca012a02bf8327be9e488546faecae5e05d7d749' (2023-10-16) • Updated input 'nur': 'github:nix-community/NUR/564f727a32998fe4b2959843e86481a5fef523c9' (2023-10-17) → 'github:nix-community/NUR/ae7f13d0f26f66257ef6e0500e186ad8d2749cbf' (2023-10-18) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 7cece50a..9b3cbf95 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1697481695, - "narHash": "sha256-BLlCecLvZzjYEHrhKfPLieeR81vN0lSca8U3B2LOpjQ=", + "lastModified": 1697584769, + "narHash": "sha256-e6qif/ALKMLPHOETAZqRjQFKULo26nNe4qviwOhPHNQ=", "owner": "neovim", "repo": "neovim", - "rev": "a63c67005b9ea17214d86391e2fd649658c1bdec", + "rev": "bbc74d51ad791edad1948178736589cb181236e8", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1697500878, - "narHash": "sha256-Pck1H0xNMKdTym6y6104xZSVpzfAl+4JK8fYgXkIEN0=", + "lastModified": 1697587261, + "narHash": "sha256-csLOMUlWFVVn7i4QeazkjM6suaMpCCW6lT1ILb78d9w=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a9e95d82084980df9055501520b19cb5da26cec5", + "rev": "11a5f7738d1f3c19b6f01aecca66664116cc6f23", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1697059129, - "narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", + "lastModified": 1697456312, + "narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", + "rev": "ca012a02bf8327be9e488546faecae5e05d7d749", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697544658, - "narHash": "sha256-WehJ7I1lis82yKZVEIzKxnmzbwQXh3+14HAWvIMofQQ=", + "lastModified": 1697613218, + "narHash": "sha256-sHdcqV0KSfNkmaDvmsoNcvhDPXCSCdp5C6tsTDVD09c=", "owner": "nix-community", "repo": "NUR", - "rev": "564f727a32998fe4b2959843e86481a5fef523c9", + "rev": "ae7f13d0f26f66257ef6e0500e186ad8d2749cbf", "type": "github" }, "original": { From dc26b36bb26a71226c1654291d610b55ea015801 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 18 Oct 2023 12:21:17 +0200 Subject: [PATCH 1574/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/ae7f13d0f26f66257ef6e0500e186ad8d2749cbf' (2023-10-18) → 'github:nix-community/NUR/51314cbd9e37c1ed544e336b60a0ac73e1709a13' (2023-10-18) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 9b3cbf95..3de6f079 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697613218, - "narHash": "sha256-sHdcqV0KSfNkmaDvmsoNcvhDPXCSCdp5C6tsTDVD09c=", + "lastModified": 1697620530, + "narHash": "sha256-yP1UqYQXHrA7QmXUHqlx9lVEBjzmtLPOJwmEk8fyUeY=", "owner": "nix-community", "repo": "NUR", - "rev": "ae7f13d0f26f66257ef6e0500e186ad8d2749cbf", + "rev": "51314cbd9e37c1ed544e336b60a0ac73e1709a13", "type": "github" }, "original": { From f61110a0de40351830aca0e88a1d875412ef374f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 18 Oct 2023 19:02:46 +0200 Subject: [PATCH 1575/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 61cc39c8..897d7af6 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { - "LazyVim": { "branch": "main", "commit": "c711309a673a755652a90a080fd23dbab5dd61d5" }, - "LuaSnip": { "branch": "master", "commit": "0df29db3543837f8b41597f2640397c5ec792b7b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "847f69b4bd50ad09c7d66943bc690682a3e35573" }, + "LazyVim": { "branch": "main", "commit": "ae77bfda89067c36291365c0e2b4d4db7bbc3aac" }, + "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, + "SchemaStore.nvim": { "branch": "main", "commit": "a8fa6a36f09f00d32577fae0b3cee2f25ffc5c74" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "dcef0a062de380885193fb0f919217d58b979753" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -13,7 +13,7 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "conform.nvim": { "branch": "master", "commit": "2e8b826cb4af5cf36b5febc5e7a71d3284f161f2" }, - "dashboard-nvim": { "branch": "master", "commit": "fd68b9d05aedc57e5d97a6b66a4e3db877872f64" }, + "dashboard-nvim": { "branch": "master", "commit": "416f12e6f3a9e2f9736f81d641efc8b7c80e33bc" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, @@ -26,9 +26,9 @@ "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, "indent-blankline.nvim": { "branch": "master", "commit": "9301e434dd41154ffe5c3d5b8a5c9acd075ebeff" }, - "lazy.nvim": { "branch": "main", "commit": "c7298a10db9b9ef975472827e5898b0c494b70bd" }, + "lazy.nvim": { "branch": "main", "commit": "4c75c8eeb957a99aa44ce8e526c04340ab358c5e" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, - "lualine.nvim": { "branch": "master", "commit": "1a3f6bba410aff5a51bf8c84287aaa3a8ba30d0d" }, + "lualine.nvim": { "branch": "master", "commit": "7533b0ead663d80452210c0c089e5105089697e5" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e7b64c11035aa924f87385b72145e0ccf68a7e0a" }, "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, @@ -43,31 +43,32 @@ "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "6f8c49956c89e9fefae6acdfe1d57c6293b0a03d" }, "neoconf.nvim": { "branch": "main", "commit": "c87c862a14a4c8c0e2bc823d304e4da472fd7180" }, - "neodev.nvim": { "branch": "main", "commit": "24b403eabde652904077f84fd55441744e77a109" }, + "neodev.nvim": { "branch": "main", "commit": "b094a663ccb71733543d8254b988e6bebdbdaca4" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "eb9d6b8f0840e4f2fa775bca7ec4a5df8b42ed6d" }, - "neorg": { "branch": "main", "commit": "7c4e09d39d6be4494e8c2980a55837d982c8ef4b" }, + "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, "noice.nvim": { "branch": "main", "commit": "e50fc6de68333633fa9eaaa54cb4cdfe7de5f25a" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, - "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lint": { "branch": "master", "commit": "6d596b87862909370f4d1e6535cc9fad80c89fe6" }, + "nvim-cmp": { "branch": "main", "commit": "d3a3056204e1a9dbb7c7fe36c114dc43b681768c" }, + "nvim-lint": { "branch": "master", "commit": "c232cbfbe759b448a8c4a3eca5bde17de8c5ca00" }, "nvim-lspconfig": { "branch": "master", "commit": "e49b1e90c1781ce372013de3fa93a91ea29fc34a" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "9c4fc86b67c1d68141cef57846d24cbee9b74fb0" }, - "nvim-treesitter-context": { "branch": "master", "commit": "82c695951612911421e8e21068ba5fc2c2e2c212" }, + "nvim-treesitter": { "branch": "master", "commit": "afa103385a2b5ef060596ed822ef63276ae88016" }, + "nvim-treesitter-context": { "branch": "master", "commit": "7227dca17316384e9b62bd6fc6b4d892572d6d4e" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "78c49ca7d2f7ccba2115c11422c037713c978ad1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, - "nvim-ufo": { "branch": "main", "commit": "f7eea53e88456403212df074b9aa3148a3908435" }, + "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, "nvim-web-devicons": { "branch": "master", "commit": "3af745113ea537f58c4b1573b64a429fefad9e07" }, "octo.nvim": { "branch": "master", "commit": "e933611c74cb735c00d0db8ca94533bec1444bf0" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, + "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "bebfcfcc4b604d3647fcce2f4aeb02a95d139c49" }, "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, @@ -80,7 +81,7 @@ "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "633039585dff7fd2b9b62fb190bf768702609d95" }, "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, - "trouble.nvim": { "branch": "main", "commit": "02219b557d4726a789be58c5d6bd6e139c46a9fe" }, + "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "ff3342d4ae8723fab38fed8969b0a1e2c8b6281a" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, @@ -88,7 +89,7 @@ "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, - "which-key.nvim": { "branch": "main", "commit": "6962dae3565369363b59dd51fb206051555fcb4d" }, + "which-key.nvim": { "branch": "main", "commit": "ce741eb559c924d72e3a67d2189ad3771a231414" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } } From 6f2531a6fd178c2518c7c995eefe81cf1c54dee3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 18 Oct 2023 19:03:01 +0200 Subject: [PATCH 1576/2080] LazyVim: re-enable project management --- lazyvim/nvim/lua/config/lazy.lua | 2 +- lazyvim/nvim/lua/plugins/tools.lua | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 905f9908..36e63122 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -29,7 +29,7 @@ require("lazy").setup({ -- create and manage predefined window layouts { import = "lazyvim.plugins.extras.ui.edgy" }, -- project management - -- { import = "lazyvim.plugins.extras.util.project" }, + { import = "lazyvim.plugins.extras.util.project" }, -- Update conf for treesitter based on what is installed { import = "lazyvim.plugins.extras.util.dot" }, -- copilot disabled until there is an easy way to opt in diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index dc962c44..5ef2e36a 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -49,15 +49,6 @@ return { keys = { { "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "DiffView" } }, }, - -- Explicit project switch - -- { - -- "ahmedkhalf/project.nvim", - -- opts = { - -- silent_chdir = true, - -- scope_chdir = "tab", - -- }, - -- }, - -- ChatGPT client -- { -- "jackMort/ChatGPT.nvim", From c50074538aae1f49577c5c819743418d9cd5c8be Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 19 Oct 2023 09:22:52 +0200 Subject: [PATCH 1577/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/11a5f7738d1f3c19b6f01aecca66664116cc6f23' (2023-10-18) → 'github:nix-community/neovim-nightly-overlay/1ddf097ce80bfa517cf6475a09bacdc39699496e' (2023-10-19) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/bbc74d51ad791edad1948178736589cb181236e8?dir=contrib' (2023-10-17) → 'github:neovim/neovim/a8fc94a2fdd07edf0679d34f2deaacb25b3fa69f?dir=contrib' (2023-10-18) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/898cb2064b6e98b8c5499f37e81adbdf2925f7c5' (2023-10-13) → 'github:NixOS/nixpkgs/b5f8ec6be261dfc44c3b56b220e2793d1b61512b' (2023-10-17) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/0e1cff585c1a85aeab059d3109f66134a8f76935' (2023-10-15) → 'github:nixos/nixpkgs/80c1aab725151632ddc2a20caeb914e76dd0673c' (2023-10-18) • Updated input 'nur': 'github:nix-community/NUR/51314cbd9e37c1ed544e336b60a0ac73e1709a13' (2023-10-18) → 'github:nix-community/NUR/6039f2c74dcec85d15850b06b44922c7f9f5f7ba' (2023-10-19) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 3de6f079..c7e03f10 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1697584769, - "narHash": "sha256-e6qif/ALKMLPHOETAZqRjQFKULo26nNe4qviwOhPHNQ=", + "lastModified": 1697665640, + "narHash": "sha256-dodNEzwAW7MxaHy7BXA8olSZFGna6uB6RBMrf6UD7Sw=", "owner": "neovim", "repo": "neovim", - "rev": "bbc74d51ad791edad1948178736589cb181236e8", + "rev": "a8fc94a2fdd07edf0679d34f2deaacb25b3fa69f", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1697587261, - "narHash": "sha256-csLOMUlWFVVn7i4QeazkjM6suaMpCCW6lT1ILb78d9w=", + "lastModified": 1697673677, + "narHash": "sha256-XmHoKwDhhDRPRWPqaYFEkms5Dr34K7/sYmiOwxJv+Pg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "11a5f7738d1f3c19b6f01aecca66664116cc6f23", + "rev": "1ddf097ce80bfa517cf6475a09bacdc39699496e", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1697332183, - "narHash": "sha256-ACYvYsgLETfEI2xM1jjp8ZLVNGGC0onoCGe+69VJGGE=", + "lastModified": 1697655685, + "narHash": "sha256-79Kuv+QdgsVc+rkibuAgWHnh8IXrLBTOKg5nM0Qvux0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0e1cff585c1a85aeab059d3109f66134a8f76935", + "rev": "80c1aab725151632ddc2a20caeb914e76dd0673c", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1697226376, - "narHash": "sha256-cumLLb1QOUtWieUnLGqo+ylNt3+fU8Lcv5Zl+tYbRUE=", + "lastModified": 1697583813, + "narHash": "sha256-SRXK2EBMZHlOAs/5bjphhX9XnIKR6peTV6i7yoL6/Lg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "898cb2064b6e98b8c5499f37e81adbdf2925f7c5", + "rev": "b5f8ec6be261dfc44c3b56b220e2793d1b61512b", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697620530, - "narHash": "sha256-yP1UqYQXHrA7QmXUHqlx9lVEBjzmtLPOJwmEk8fyUeY=", + "lastModified": 1697694100, + "narHash": "sha256-D+rwVQ+rqRgdE3WEJcbBgx/fwW5JTKdw5a8+NA+ne10=", "owner": "nix-community", "repo": "NUR", - "rev": "51314cbd9e37c1ed544e336b60a0ac73e1709a13", + "rev": "6039f2c74dcec85d15850b06b44922c7f9f5f7ba", "type": "github" }, "original": { From 8f5df6ab48fab3067c2ab9ca732e29b0d997f1c6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 19 Oct 2023 09:27:45 +0200 Subject: [PATCH 1578/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 897d7af6..dd52315c 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "ae77bfda89067c36291365c0e2b4d4db7bbc3aac" }, "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "a8fa6a36f09f00d32577fae0b3cee2f25ffc5c74" }, + "SchemaStore.nvim": { "branch": "main", "commit": "f4915aef564f695a2c1e6e65e3c41f8f8ee16af4" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "dcef0a062de380885193fb0f919217d58b979753" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -13,7 +13,7 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "conform.nvim": { "branch": "master", "commit": "2e8b826cb4af5cf36b5febc5e7a71d3284f161f2" }, - "dashboard-nvim": { "branch": "master", "commit": "416f12e6f3a9e2f9736f81d641efc8b7c80e33bc" }, + "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, @@ -25,7 +25,7 @@ "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "9301e434dd41154ffe5c3d5b8a5c9acd075ebeff" }, + "indent-blankline.nvim": { "branch": "master", "commit": "8a7b48f5823cc924f815129192288ec2e2b9288f" }, "lazy.nvim": { "branch": "main", "commit": "4c75c8eeb957a99aa44ce8e526c04340ab358c5e" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "7533b0ead663d80452210c0c089e5105089697e5" }, @@ -42,7 +42,7 @@ "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "6f8c49956c89e9fefae6acdfe1d57c6293b0a03d" }, - "neoconf.nvim": { "branch": "main", "commit": "c87c862a14a4c8c0e2bc823d304e4da472fd7180" }, + "neoconf.nvim": { "branch": "main", "commit": "a043beb8ad94b2c8db2e9b7085d20f7bcdcb6adf" }, "neodev.nvim": { "branch": "main", "commit": "b094a663ccb71733543d8254b988e6bebdbdaca4" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "eb9d6b8f0840e4f2fa775bca7ec4a5df8b42ed6d" }, @@ -50,7 +50,7 @@ "noice.nvim": { "branch": "main", "commit": "e50fc6de68333633fa9eaaa54cb4cdfe7de5f25a" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "d3a3056204e1a9dbb7c7fe36c114dc43b681768c" }, - "nvim-lint": { "branch": "master", "commit": "c232cbfbe759b448a8c4a3eca5bde17de8c5ca00" }, + "nvim-lint": { "branch": "master", "commit": "7c8b50a2bb62b544eb91434fd008a34c4b51fd6d" }, "nvim-lspconfig": { "branch": "master", "commit": "e49b1e90c1781ce372013de3fa93a91ea29fc34a" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, @@ -79,7 +79,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, "telescope.nvim": { "branch": "master", "commit": "74ce793a60759e3db0d265174f137fb627430355" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "633039585dff7fd2b9b62fb190bf768702609d95" }, + "tokyonight.nvim": { "branch": "main", "commit": "531b04704fc9ff994d8b9c0720428fdc3c7d49d1" }, "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, From 0a7bfd45931c7b937b840fc8d7c5e841c23288d9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 19 Oct 2023 09:28:14 +0200 Subject: [PATCH 1579/2080] LaxyVim: switch to managing extras with LazyExtra --- lazyvim/nvim/lazyvim.json | 15 ++++++++++++++- lazyvim/nvim/lua/config/lazy.lua | 22 ++-------------------- 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index ff6a1393..0ffd39a7 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -1,6 +1,19 @@ { "extras": [ - + "lazyvim.plugins.extras.coding.yanky", + "lazyvim.plugins.extras.formatting.black", + "lazyvim.plugins.extras.formatting.prettier", + "lazyvim.plugins.extras.lang.docker", + "lazyvim.plugins.extras.lang.json", + "lazyvim.plugins.extras.lang.markdown", + "lazyvim.plugins.extras.lang.python", + "lazyvim.plugins.extras.lang.python-semshi", + "lazyvim.plugins.extras.lang.terraform", + "lazyvim.plugins.extras.lang.yaml", + "lazyvim.plugins.extras.ui.edgy", + "lazyvim.plugins.extras.ui.mini-animate", + "lazyvim.plugins.extras.util.dot", + "lazyvim.plugins.extras.util.project" ], "news": { "NEWS.md": "2123" diff --git a/lazyvim/nvim/lua/config/lazy.lua b/lazyvim/nvim/lua/config/lazy.lua index 36e63122..d0ab354e 100644 --- a/lazyvim/nvim/lua/config/lazy.lua +++ b/lazyvim/nvim/lua/config/lazy.lua @@ -11,31 +11,13 @@ require("lazy").setup({ -- import LazyVim plugins { "LazyVim/LazyVim", import = "lazyvim.plugins" }, -- import extras LazyVim modules - -- better copy/paste - { import = "lazyvim.plugins.extras.coding.yanky" }, - -- support more languages - -- { import = "lazyvim.plugins.extras.lang.docker" }, - { import = "lazyvim.plugins.extras.lang.json" }, - { import = "lazyvim.plugins.extras.lang.markdown" }, - { import = "lazyvim.plugins.extras.lang.python" }, -- Semantic highlighting for python -- XXX: breaking when opening python files -- See https://github.com/numirias/semshi/issues/120 -- Had to run :UpdateRemotePlugins manually - { import = "lazyvim.plugins.extras.lang.python-semshi" }, - { import = "lazyvim.plugins.extras.lang.terraform" }, - -- Animate common Neovim actions (cursor movement, scrolling...) - { import = "lazyvim.plugins.extras.ui.mini-animate" }, - -- create and manage predefined window layouts - { import = "lazyvim.plugins.extras.ui.edgy" }, - -- project management - { import = "lazyvim.plugins.extras.util.project" }, - -- Update conf for treesitter based on what is installed - { import = "lazyvim.plugins.extras.util.dot" }, - -- copilot disabled until there is an easy way to opt in + -- { import = "lazyvim.plugins.extras.lang.python-semshi" }, + -- copilot disabled until there is an easy way to choose when to use it -- { import = "lazyvim.plugins.extras.coding.copilot" }, - { import = "lazyvim.plugins.extras.formatting.black" }, - { import = "lazyvim.plugins.extras.formatting.prettier" }, -- import/override with your plugins { import = "plugins" }, }, From b12b4ff20affab274557b3462dceba65c9ddb9da Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 19 Oct 2023 09:45:07 +0200 Subject: [PATCH 1580/2080] LaxyVim: remove legacy and unused bits --- lazyvim/nvim/lazy-lock.json | 3 +- lazyvim/nvim/lazyvim.json | 1 + lazyvim/nvim/lua/plugins/coding.lua | 90 +--------------- lazyvim/nvim/lua/plugins/lsp.lua | 131 ++++++++++-------------- lazyvim/nvim/lua/plugins/telescope.lua | 62 +++++------ lazyvim/nvim/lua/plugins/treesitter.lua | 10 -- lazyvim/nvim/lua/plugins/ui.lua | 78 ++++++-------- 7 files changed, 123 insertions(+), 252 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index dd52315c..5b849249 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -57,7 +57,7 @@ "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "afa103385a2b5ef060596ed822ef63276ae88016" }, + "nvim-treesitter": { "branch": "master", "commit": "eb3faef3a44641e5875581e901b0a8df8da2bde4" }, "nvim-treesitter-context": { "branch": "master", "commit": "7227dca17316384e9b62bd6fc6b4d892572d6d4e" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "78c49ca7d2f7ccba2115c11422c037713c978ad1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, @@ -66,7 +66,6 @@ "nvim-web-devicons": { "branch": "master", "commit": "3af745113ea537f58c4b1573b64a429fefad9e07" }, "octo.nvim": { "branch": "master", "commit": "e933611c74cb735c00d0db8ca94533bec1444bf0" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, - "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 0ffd39a7..71aa7864 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -1,6 +1,7 @@ { "extras": [ "lazyvim.plugins.extras.coding.yanky", + "lazyvim.plugins.extras.editor.symbols-outline", "lazyvim.plugins.extras.formatting.black", "lazyvim.plugins.extras.formatting.prettier", "lazyvim.plugins.extras.lang.docker", diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index e7320a7a..81ee3277 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -7,76 +7,6 @@ return { -- TODO: check if useful and incorporate if needed -- https://github.com/AckslD/nvim-FeMaco.lua - -- XXX tools are managed via nix - -- add any tools you want to have installed below - -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua - -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/extras/formatting/prettier.lua - { - "williamboman/mason.nvim", - opts = { - ensure_installed = { - "prettierd", - }, - }, - }, - - -- better text objects - { - "echasnovski/mini.ai", - keys = { { "[f", desc = "Prev function" }, { "]f", desc = "Next function" } }, - opts = function() - -- add treesitter jumping - ---@param capture string - ---@param start boolean - ---@param down boolean - local function jump(capture, start, down) - local rhs = function() - local parser = vim.treesitter.get_parser() - if not parser then - return vim.notify("No treesitter parser for the current buffer", vim.log.levels.ERROR) - end - - ---@diagnostic disable-next-line: undefined-field - local query = vim.treesitter.get_query(vim.bo.filetype, "textobjects") - if not query then - return vim.notify("No textobjects query for the current buffer", vim.log.levels.ERROR) - end - - local cursor = vim.api.nvim_win_get_cursor(0) - - ---@type {[1]:number, [2]:number}[] - local locs = {} - for _, tree in ipairs(parser:trees()) do - for capture_id, node, _ in query:iter_captures(tree:root(), 0) do - if query.captures[capture_id] == capture then - local range = { node:range() } ---@type number[] - local row = (start and range[1] or range[3]) + 1 - local col = (start and range[2] or range[4]) + 1 - if down and row > cursor[1] or (not down) and row < cursor[1] then - table.insert(locs, { row, col }) - end - end - end - end - return pcall(vim.api.nvim_win_set_cursor, 0, down and locs[1] or locs[#locs]) - end - - local c = capture:sub(1, 1):lower() - local lhs = (down and "]" or "[") .. (start and c or c:upper()) - local desc = (down and "Next " or "Prev ") .. (start and "start" or "end") .. " of " .. capture:gsub("%..*", "") - vim.keymap.set("n", lhs, rhs, { desc = desc }) - end - - for _, capture in ipairs({ "function.outer", "class.outer" }) do - for _, start in ipairs({ true, false }) do - for _, down in ipairs({ true, false }) do - jump(capture, start, down) - end - end - end - end, - }, - -- Go forward/backward with square brackets { "echasnovski/mini.bracketed", @@ -213,13 +143,6 @@ return { end, }, - -- A tree like view for symbols using LSP - { - "simrat39/symbols-outline.nvim", - keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, - config = true, - }, - -- Use <tab> for completion and snippets (supertab). { "L3MON4D3/LuaSnip", @@ -389,17 +312,8 @@ return { }, -- supercharged . - { "tpope/vim-repeat" }, - - -- Split/join blocks of code - -- { - -- "Wansmer/treesj", - -- keys: <space>m - toggle, <space>j - join, <space>s - split - -- keys = { - -- { "J", "<cmd>TSJToggle<cr>", desc = "Join Toggle" }, - -- }, - -- opts = { use_default_keymaps = false, max_join_length = 150 }, - -- }, + -- makes some plugins dot-repeatable + { "tpope/vim-repeat", event = "VeryLazy" }, -- Use the w, e, b motions like a spider. Considers camelCase and skips insignificant punctuation. { diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 02d3aad5..ad828c01 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -175,81 +175,60 @@ return { }, }, - -- Replacement for formatting via null-ls/none-ls - { - "stevearc/conform.nvim", - opts = { - formatters_by_ft = { - markdown = { "prettierd" }, - yaml = { "prettierd" }, - }, - }, - }, - -- Replacement for linting via null-ls/none-ls - { - "mfussenegger/nvim-lint", - opts = { - linters_by_ft = { - -- lua = { "selene", "luacheck" }, - markdown = { "markdownlint" }, - }, - }, - }, - -- customise null-ls - { - "nvimtools/none-ls.nvim", - -- XXX: disable to test conform and nvim-lint - -- XXX: to be dropped if adopting conform.nvim and nvim-lint - -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 - enabled = false, - opts = function(_, opts) - ---@diagnostic disable-next-line: no-unknown - local nls = require("null-ls") - ---@diagnostic disable-next-line: no-unknown - local utils = require("null-ls.utils") - -- local flake8_extra_args = {} - ---@diagnostic disable-next-line: no-unknown - local root = utils.get_root() - -- local flake8_conf = root .. "/.github/linters/.flake8" - -- Load configuration file from super-liner, if any - -- if vim.loop.fs_stat(flake8_conf) then - -- flake8_extra_args = { "--config", flake8_conf } - -- else - -- -- Align with black - -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 - -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } - -- end - -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md - opts.sources = { - -- fish - nls.builtins.diagnostics.fish, - nls.builtins.formatting.fish_indent, - -- Shell - nls.builtins.formatting.shfmt, - -- text - nls.builtins.diagnostics.alex, - nls.builtins.hover.dictionary, - nls.builtins.diagnostics.checkmake, - nls.builtins.diagnostics.write_good, - -- lua - nls.builtins.formatting.stylua, - -- perl - nls.builtins.formatting.perltidy, - -- python - -- XXX: testing lazyvim.plugins.extras.lang.python - -- nls.builtins.formatting.isort.with({ - -- extra_args = { "--profile", "black" }, - -- }), - -- nls.builtins.formatting.black, - -- nls.builtins.diagnostics.flake8.with({ - -- extra_args = flake8_extra_args, - -- }), - -- Injects code actions for Git operations at the current cursor position - nls.builtins.code_actions.gitsigns, - -- markdown - nls.builtins.formatting.prettierd, - } - end, - }, + -- { + -- "nvimtools/none-ls.nvim", + -- -- XXX: disable to test conform and nvim-lint + -- -- XXX: to be dropped if adopting conform.nvim and nvim-lint + -- -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 + -- enabled = false, + -- opts = function(_, opts) + -- ---@diagnostic disable-next-line: no-unknown + -- local nls = require("null-ls") + -- ---@diagnostic disable-next-line: no-unknown + -- local utils = require("null-ls.utils") + -- -- local flake8_extra_args = {} + -- ---@diagnostic disable-next-line: no-unknown + -- local root = utils.get_root() + -- -- local flake8_conf = root .. "/.github/linters/.flake8" + -- -- Load configuration file from super-liner, if any + -- -- if vim.loop.fs_stat(flake8_conf) then + -- -- flake8_extra_args = { "--config", flake8_conf } + -- -- else + -- -- -- Align with black + -- -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 + -- -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } + -- -- end + -- -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md + -- opts.sources = { + -- -- fish + -- nls.builtins.diagnostics.fish, + -- nls.builtins.formatting.fish_indent, + -- -- Shell + -- nls.builtins.formatting.shfmt, + -- -- text + -- nls.builtins.diagnostics.alex, + -- nls.builtins.hover.dictionary, + -- nls.builtins.diagnostics.checkmake, + -- nls.builtins.diagnostics.write_good, + -- -- lua + -- nls.builtins.formatting.stylua, + -- -- perl + -- nls.builtins.formatting.perltidy, + -- -- python + -- -- XXX: testing lazyvim.plugins.extras.lang.python + -- -- nls.builtins.formatting.isort.with({ + -- -- extra_args = { "--profile", "black" }, + -- -- }), + -- -- nls.builtins.formatting.black, + -- -- nls.builtins.diagnostics.flake8.with({ + -- -- extra_args = flake8_extra_args, + -- -- }), + -- -- Injects code actions for Git operations at the current cursor position + -- nls.builtins.code_actions.gitsigns, + -- -- markdown + -- nls.builtins.formatting.prettierd, + -- } + -- end, + -- }, } diff --git a/lazyvim/nvim/lua/plugins/telescope.lua b/lazyvim/nvim/lua/plugins/telescope.lua index 9bc4f274..e3b249c1 100644 --- a/lazyvim/nvim/lua/plugins/telescope.lua +++ b/lazyvim/nvim/lua/plugins/telescope.lua @@ -1,35 +1,35 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/telescope.lua -- change some telescope options and a keymap to browse plugin files return { - { - -- add telescope-fzf-native - "telescope.nvim", - dependencies = { - "nvim-telescope/telescope-fzf-native.nvim", - build = "make", - config = function() - require("telescope").load_extension("fzf") - end, - }, - keys = { - { - -- add a keymap to browse plugin files - "<leader>fp", - function() - require("telescope.builtin").find_files({ - cwd = require("lazy.core.config").options.root, - }) - end, - desc = "Find Plugin File", - }, - }, - opts = { - defaults = { - layout_strategy = "horizontal", - layout_config = { prompt_position = "top" }, - sorting_strategy = "ascending", - winblend = 0, - }, - }, - }, + -- { + -- -- add telescope-fzf-native + -- "telescope.nvim", + -- dependencies = { + -- "nvim-telescope/telescope-fzf-native.nvim", + -- build = "make", + -- config = function() + -- require("telescope").load_extension("fzf") + -- end, + -- }, + -- keys = { + -- { + -- -- add a keymap to browse plugin files + -- "<leader>fP", + -- function() + -- require("telescope.builtin").find_files({ + -- cwd = require("lazy.core.config").options.root, + -- }) + -- end, + -- desc = "Find Plugin File", + -- }, + -- }, + -- opts = { + -- defaults = { + -- layout_strategy = "horizontal", + -- layout_config = { prompt_position = "top" }, + -- sorting_strategy = "ascending", + -- winblend = 0, + -- }, + -- }, + -- }, } diff --git a/lazyvim/nvim/lua/plugins/treesitter.lua b/lazyvim/nvim/lua/plugins/treesitter.lua index 8710c40a..abec261a 100644 --- a/lazyvim/nvim/lua/plugins/treesitter.lua +++ b/lazyvim/nvim/lua/plugins/treesitter.lua @@ -1,7 +1,5 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/treesitter.lua return { - { "nvim-treesitter/playground", cmd = "TSPlaygroundToggle" }, - { "mfussenegger/nvim-treehopper", keys = { { "m", mode = { "o", "x" } } }, @@ -15,14 +13,6 @@ return { end, }, - { - "nvim-treesitter/nvim-treesitter-context", - event = "BufReadPre", - config = true, - -- Disable context when doing a file diff - cond = not vim.opt.diff:get(), - }, - { "nvim-treesitter/nvim-treesitter", -- Disable when doing a file diff diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/lazyvim/nvim/lua/plugins/ui.lua index 744a156d..c967403f 100644 --- a/lazyvim/nvim/lua/plugins/ui.lua +++ b/lazyvim/nvim/lua/plugins/ui.lua @@ -19,39 +19,39 @@ return { }, }, - { - "tokyonight.nvim", - lazy = false, - priority = 1000, - opts = function() - return { - sidebars = { - "qf", - "vista_kind", - "terminal", - "spectre_panel", - "startuptime", - "Outline", - }, - styles = { - sidebars = "normal", - floats = "normal", - }, - dim_inactive = true, - -- When `true`, section headers in the lualine theme will be bold - lualine_bold = true, - ---@param hl Highlights - ---@param c ColorScheme - on_highlights = function(hl, c) - hl.CursorLineNr = { fg = c.orange, bold = true } - hl.LineNr = { bold = true } - hl.LineNrAbove = { fg = c.fg_gutter } - hl.LineNrBelow = { fg = c.fg_gutter } - hl.WinSeparator = { fg = c.blue } - end, - } - end, - }, + -- { + -- "tokyonight.nvim", + -- lazy = false, + -- priority = 1000, + -- opts = function() + -- return { + -- sidebars = { + -- "qf", + -- "vista_kind", + -- "terminal", + -- "spectre_panel", + -- "startuptime", + -- "Outline", + -- }, + -- styles = { + -- sidebars = "normal", + -- floats = "normal", + -- }, + -- dim_inactive = true, + -- -- When `true`, section headers in the lualine theme will be bold + -- lualine_bold = true, + -- ---@param hl Highlights + -- ---@param c ColorScheme + -- on_highlights = function(hl, c) + -- hl.CursorLineNr = { fg = c.orange, bold = true } + -- hl.LineNr = { bold = true } + -- hl.LineNrAbove = { fg = c.fg_gutter } + -- hl.LineNrBelow = { fg = c.fg_gutter } + -- hl.WinSeparator = { fg = c.blue } + -- end, + -- } + -- end, + -- }, -- Override LazyVim configuration to select colorscheme { @@ -124,18 +124,6 @@ return { end, }, - -- lualine - { - "nvim-lualine/lualine.nvim", - opts = function(_, opts) - table.insert(opts.sections.lualine_x, { - function() - return require("util.dashboard").status() - end, - }) - end, - }, - -- auto-resize windows { "anuvyklack/windows.nvim", From de986c3b836c52c30f80e6964a05c7bf55858f3e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 19 Oct 2023 09:45:25 +0200 Subject: [PATCH 1581/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/6039f2c74dcec85d15850b06b44922c7f9f5f7ba' (2023-10-19) → 'github:nix-community/NUR/f005c55b5a4793506c59c51b4461a195901384e1' (2023-10-19) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index c7e03f10..80187a52 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697694100, - "narHash": "sha256-D+rwVQ+rqRgdE3WEJcbBgx/fwW5JTKdw5a8+NA+ne10=", + "lastModified": 1697701176, + "narHash": "sha256-1Ypcr9vIEtbN4SQxKwNlJpruvbgn/Gi6q4O3gTmu7wc=", "owner": "nix-community", "repo": "NUR", - "rev": "6039f2c74dcec85d15850b06b44922c7f9f5f7ba", + "rev": "f005c55b5a4793506c59c51b4461a195901384e1", "type": "github" }, "original": { From 582da083770ce6d98faf19cfee0eb0c6bcc08917 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 19 Oct 2023 19:04:41 +0200 Subject: [PATCH 1582/2080] Update notes --- lazyvim/nvim/lazy-lock.json | 12 ++++++------ lazyvim/nvim/lua/plugins/lsp.lua | 25 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 5b849249..e1b136af 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "ae77bfda89067c36291365c0e2b4d4db7bbc3aac" }, "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "f4915aef564f695a2c1e6e65e3c41f8f8ee16af4" }, + "SchemaStore.nvim": { "branch": "main", "commit": "3b7a503fff31643954ebf7b68463b653262d78f1" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "dcef0a062de380885193fb0f919217d58b979753" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -37,20 +37,20 @@ "mini.animate": { "branch": "main", "commit": "6e6f2ee99fec91985d3817bfc74fbb4a0aff1c44" }, "mini.bracketed": { "branch": "main", "commit": "d99f8f6c93e2a4cff1ebc27072d74ba400c8d241" }, "mini.bufremove": { "branch": "main", "commit": "75be0b153b0cd2499c031e57d44cde8dad4766e4" }, - "mini.comment": { "branch": "main", "commit": "2c7a512dad27e34a26d0f7d5d5bc2579f88167dc" }, + "mini.comment": { "branch": "main", "commit": "a27b9115e40519ef23991af9564f43ec14a41fe2" }, "mini.indentscope": { "branch": "main", "commit": "cbc07203ca8faae952ca373c1f6cc5881ce97af0" }, "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "6f8c49956c89e9fefae6acdfe1d57c6293b0a03d" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "63ebe879ad4798b66d29c0b2c8d04942389d438e" }, "neoconf.nvim": { "branch": "main", "commit": "a043beb8ad94b2c8db2e9b7085d20f7bcdcb6adf" }, "neodev.nvim": { "branch": "main", "commit": "b094a663ccb71733543d8254b988e6bebdbdaca4" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "eb9d6b8f0840e4f2fa775bca7ec4a5df8b42ed6d" }, + "neogit": { "branch": "master", "commit": "159c545f92d5133b93d4283675ee727eeb33532e" }, "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, "noice.nvim": { "branch": "main", "commit": "e50fc6de68333633fa9eaaa54cb4cdfe7de5f25a" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "d3a3056204e1a9dbb7c7fe36c114dc43b681768c" }, - "nvim-lint": { "branch": "master", "commit": "7c8b50a2bb62b544eb91434fd008a34c4b51fd6d" }, + "nvim-lint": { "branch": "master", "commit": "e366dc5ed4002d3489d03200c0b132ce2b1ba532" }, "nvim-lspconfig": { "branch": "master", "commit": "e49b1e90c1781ce372013de3fa93a91ea29fc34a" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, @@ -59,7 +59,7 @@ "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, "nvim-treesitter": { "branch": "master", "commit": "eb3faef3a44641e5875581e901b0a8df8da2bde4" }, "nvim-treesitter-context": { "branch": "master", "commit": "7227dca17316384e9b62bd6fc6b4d892572d6d4e" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "78c49ca7d2f7ccba2115c11422c037713c978ad1" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "23f3840b7520e009121b3175f528178136dd9834" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index ad828c01..ca3fc117 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -146,6 +146,9 @@ return { settings = { yaml = { keyOrdering = false, + -- XXX: not working/not needed? + -- format = { enable = true }, + -- validate = true, }, }, }, @@ -175,6 +178,28 @@ return { }, }, + -- Replacement for formatting via null-ls/none-ls + { + -- XXX: auto format not working with prettier but only with prettier?! + "stevearc/conform.nvim", + opts = { + formatters_by_ft = { + markdown = { "prettierd" }, + yaml = { "prettierd" }, + }, + }, + }, + -- Replacement for linting via null-ls/none-ls + -- { + -- "mfussenegger/nvim-lint", + -- opts = { + -- linters_by_ft = { + -- -- lua = { "selene", "luacheck" }, + -- markdown = { "markdownlint" }, + -- }, + -- }, + -- }, + -- customise null-ls -- { -- "nvimtools/none-ls.nvim", From daad43b1c9ac9ec86545344535418e7fed7d1842 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 20 Oct 2023 09:33:40 +0200 Subject: [PATCH 1583/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/8b6ea26d5d2e8359d06278364f41fbc4b903b28a' (2023-10-03) → 'github:lnl7/nix-darwin/19f75c2b45fbfc307ecfeb9dadc41a4c1e4fb980' (2023-10-19) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/b5f8ec6be261dfc44c3b56b220e2793d1b61512b' (2023-10-17) → 'github:NixOS/nixpkgs/80c1aab725151632ddc2a20caeb914e76dd0673c' (2023-10-18) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/80c1aab725151632ddc2a20caeb914e76dd0673c' (2023-10-18) → 'github:nixos/nixpkgs/34000951675a28f770ccbbe8613725fe7f5eb50b' (2023-10-19) • Updated input 'nur': 'github:nix-community/NUR/f005c55b5a4793506c59c51b4461a195901384e1' (2023-10-19) → 'github:nix-community/NUR/27567f01cef0939e5c9c096fc5ea8a27937193d3' (2023-10-20) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 80187a52..f7d5adc0 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1696360011, - "narHash": "sha256-HpPv27qMuPou4acXcZ8Klm7Zt0Elv9dgDvSJaomWb9Y=", + "lastModified": 1697723594, + "narHash": "sha256-W7lTC+kHGS1YCOutGpxUHF0cK66iY/GYr3INaTyVa/I=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "8b6ea26d5d2e8359d06278364f41fbc4b903b28a", + "rev": "19f75c2b45fbfc307ecfeb9dadc41a4c1e4fb980", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1697655685, - "narHash": "sha256-79Kuv+QdgsVc+rkibuAgWHnh8IXrLBTOKg5nM0Qvux0=", + "lastModified": 1697756037, + "narHash": "sha256-Wt0Jm4xrYtWBWfwa05WPPo7GrxE/gT3NwJb02K88+EY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "80c1aab725151632ddc2a20caeb914e76dd0673c", + "rev": "34000951675a28f770ccbbe8613725fe7f5eb50b", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1697583813, - "narHash": "sha256-SRXK2EBMZHlOAs/5bjphhX9XnIKR6peTV6i7yoL6/Lg=", + "lastModified": 1697655685, + "narHash": "sha256-79Kuv+QdgsVc+rkibuAgWHnh8IXrLBTOKg5nM0Qvux0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b5f8ec6be261dfc44c3b56b220e2793d1b61512b", + "rev": "80c1aab725151632ddc2a20caeb914e76dd0673c", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697701176, - "narHash": "sha256-1Ypcr9vIEtbN4SQxKwNlJpruvbgn/Gi6q4O3gTmu7wc=", + "lastModified": 1697784347, + "narHash": "sha256-jVo0tTpeEgNwIWBuu14RnOD+eFK/ROsJz9+FuwwXcuk=", "owner": "nix-community", "repo": "NUR", - "rev": "f005c55b5a4793506c59c51b4461a195901384e1", + "rev": "27567f01cef0939e5c9c096fc5ea8a27937193d3", "type": "github" }, "original": { From cc64f1d0b37f8d8f0637e183110820991c04a2c9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 20 Oct 2023 14:04:33 +0200 Subject: [PATCH 1584/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e1b136af..5f0ab7a8 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { - "LazyVim": { "branch": "main", "commit": "ae77bfda89067c36291365c0e2b4d4db7bbc3aac" }, + "LazyVim": { "branch": "main", "commit": "e996eed750aabdfaa976357450f9ccbcd333a785" }, "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "3b7a503fff31643954ebf7b68463b653262d78f1" }, + "SchemaStore.nvim": { "branch": "main", "commit": "e0268efbb748bc12c024311540acb91d7ed1148e" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "dcef0a062de380885193fb0f919217d58b979753" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "2e8b826cb4af5cf36b5febc5e7a71d3284f161f2" }, + "conform.nvim": { "branch": "master", "commit": "55abaaa9ed4684cd9ba8f0c062379be6cf41b8f3" }, "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, @@ -28,7 +28,7 @@ "indent-blankline.nvim": { "branch": "master", "commit": "8a7b48f5823cc924f815129192288ec2e2b9288f" }, "lazy.nvim": { "branch": "main", "commit": "4c75c8eeb957a99aa44ce8e526c04340ab358c5e" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, - "lualine.nvim": { "branch": "master", "commit": "7533b0ead663d80452210c0c089e5105089697e5" }, + "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e7b64c11035aa924f87385b72145e0ccf68a7e0a" }, "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, @@ -42,16 +42,16 @@ "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "63ebe879ad4798b66d29c0b2c8d04942389d438e" }, - "neoconf.nvim": { "branch": "main", "commit": "a043beb8ad94b2c8db2e9b7085d20f7bcdcb6adf" }, + "neoconf.nvim": { "branch": "main", "commit": "0e6b0a9fd9030ec6f13bf98c4b0ed87230e42928" }, "neodev.nvim": { "branch": "main", "commit": "b094a663ccb71733543d8254b988e6bebdbdaca4" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "159c545f92d5133b93d4283675ee727eeb33532e" }, "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, - "noice.nvim": { "branch": "main", "commit": "e50fc6de68333633fa9eaaa54cb4cdfe7de5f25a" }, + "noice.nvim": { "branch": "main", "commit": "8f1b53ab85f83e0687d0f267085ad781ec240432" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "d3a3056204e1a9dbb7c7fe36c114dc43b681768c" }, "nvim-lint": { "branch": "master", "commit": "e366dc5ed4002d3489d03200c0b132ce2b1ba532" }, - "nvim-lspconfig": { "branch": "master", "commit": "e49b1e90c1781ce372013de3fa93a91ea29fc34a" }, + "nvim-lspconfig": { "branch": "master", "commit": "38da5bbe1eaab2394056109e48c7e195bdb8fdfe" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, From da53ef99e5c309dba5ab4a2ff975a1756e81ef40 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 20 Oct 2023 14:04:48 +0200 Subject: [PATCH 1585/2080] nvim lsp: enable groovy LSP --- lazyvim/nvim/lua/plugins/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index ca3fc117..b5ae09e2 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -25,6 +25,7 @@ return { bashls = {}, -- dockerls = {}, -- html = {}, + groovyls = {}, -- use LanguageTool via ltex for spell checking -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html -- TODO: have cmp do completion using words from the dictionaries From 0d0906c9232b4c1eb3d23cddb3e5120ff30f6c18 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 20 Oct 2023 15:48:31 +0200 Subject: [PATCH 1586/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/1ddf097ce80bfa517cf6475a09bacdc39699496e' (2023-10-19) → 'github:nix-community/neovim-nightly-overlay/29b5f1c2aef88e2b6f41a9d529e50b24802fdb7d' (2023-10-20) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/a8fc94a2fdd07edf0679d34f2deaacb25b3fa69f?dir=contrib' (2023-10-18) → 'github:neovim/neovim/6c87d3e0fbf88ae693be11a3ede3a1ec6ec0e30e?dir=contrib' (2023-10-20) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d' (2023-10-15) → 'github:NixOS/nixpkgs/ff0a5a776b56e0ca32d47a4a47695452ec7f7d80' (2023-10-19) • Updated input 'nur': 'github:nix-community/NUR/27567f01cef0939e5c9c096fc5ea8a27937193d3' (2023-10-20) → 'github:nix-community/NUR/d531cd7ef0001eaba84743d6666726df3c3b5620' (2023-10-20) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index f7d5adc0..cac3c2dd 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1697665640, - "narHash": "sha256-dodNEzwAW7MxaHy7BXA8olSZFGna6uB6RBMrf6UD7Sw=", + "lastModified": 1697805347, + "narHash": "sha256-81F8SDf8T2UafVLSi1dZaFRTdQpjN95drIhJANYo1sA=", "owner": "neovim", "repo": "neovim", - "rev": "a8fc94a2fdd07edf0679d34f2deaacb25b3fa69f", + "rev": "6c87d3e0fbf88ae693be11a3ede3a1ec6ec0e30e", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1697673677, - "narHash": "sha256-XmHoKwDhhDRPRWPqaYFEkms5Dr34K7/sYmiOwxJv+Pg=", + "lastModified": 1697807109, + "narHash": "sha256-A/JemGssm4pfPlqCSLuJRYHvX9Dp4drJnLuBwPeAi+k=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "1ddf097ce80bfa517cf6475a09bacdc39699496e", + "rev": "29b5f1c2aef88e2b6f41a9d529e50b24802fdb7d", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1697379843, - "narHash": "sha256-RcnGuJgC2K/UpTy+d32piEoBXq2M+nVFzM3ah/ZdJzg=", + "lastModified": 1697730408, + "narHash": "sha256-Ww//zzukdTrwTrCUkaJA/NsaLEfUfQpWZXBdXBYfhak=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12bdeb01ff9e2d3917e6a44037ed7df6e6c3df9d", + "rev": "ff0a5a776b56e0ca32d47a4a47695452ec7f7d80", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697784347, - "narHash": "sha256-jVo0tTpeEgNwIWBuu14RnOD+eFK/ROsJz9+FuwwXcuk=", + "lastModified": 1697793907, + "narHash": "sha256-V2nTR/bN1GwozE2+Wz/YuuRq2uZhGo8HUSKCteJGQFs=", "owner": "nix-community", "repo": "NUR", - "rev": "27567f01cef0939e5c9c096fc5ea8a27937193d3", + "rev": "d531cd7ef0001eaba84743d6666726df3c3b5620", "type": "github" }, "original": { From dc86d9d643c962e621b84d54fec56225c0783f4e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 23 Oct 2023 12:23:04 +0200 Subject: [PATCH 1587/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/29b5f1c2aef88e2b6f41a9d529e50b24802fdb7d' (2023-10-20) → 'github:nix-community/neovim-nightly-overlay/16f7aa104addab4db2772072ca3428b0e941d8ce' (2023-10-23) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/178b36dc3a75c96efc25477d45eafc37ba1fafc3' (2023-10-11) → 'github:hercules-ci/hercules-ci-effects/f925e00919fbf248aef3d1e89781b72dd89a6eb0' (2023-10-21) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/6c87d3e0fbf88ae693be11a3ede3a1ec6ec0e30e?dir=contrib' (2023-10-20) → 'github:neovim/neovim/bc850ba2a090a9a4733a82a7555a5a70264ce1ac?dir=contrib' (2023-10-22) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/ff0a5a776b56e0ca32d47a4a47695452ec7f7d80' (2023-10-19) → 'github:NixOS/nixpkgs/51d906d2341c9e866e48c2efcaac0f2d70bfd43e' (2023-10-21) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/80c1aab725151632ddc2a20caeb914e76dd0673c' (2023-10-18) → 'github:NixOS/nixpkgs/5550a85a087c04ddcace7f892b0bdc9d8bb080c8' (2023-10-21) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/34000951675a28f770ccbbe8613725fe7f5eb50b' (2023-10-19) → 'github:nixos/nixpkgs/2281c1ca636ae9164b00e33f01190a01895282fc' (2023-10-21) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/ca012a02bf8327be9e488546faecae5e05d7d749' (2023-10-16) → 'github:nixos/nixpkgs/7c9cc5a6e5d38010801741ac830a3f8fd667a7a0' (2023-10-19) • Updated input 'nur': 'github:nix-community/NUR/d531cd7ef0001eaba84743d6666726df3c3b5620' (2023-10-20) → 'github:nix-community/NUR/e0e407ad6815d4dba8daea4e1b4e47749ef140f6' (2023-10-23) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index cac3c2dd..0566c437 100644 --- a/flake.lock +++ b/flake.lock @@ -161,11 +161,11 @@ ] }, "locked": { - "lastModified": 1697031886, - "narHash": "sha256-oTMPX8dGC7yxSwrbF4NuPNQsUEcHB1dusW2yEbFD5zg=", + "lastModified": 1697898004, + "narHash": "sha256-xjGFwLQBVnumMZT9qSLndJViKh5M9tIKZAVCUiveiwQ=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "178b36dc3a75c96efc25477d45eafc37ba1fafc3", + "rev": "f925e00919fbf248aef3d1e89781b72dd89a6eb0", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1697805347, - "narHash": "sha256-81F8SDf8T2UafVLSi1dZaFRTdQpjN95drIhJANYo1sA=", + "lastModified": 1697984014, + "narHash": "sha256-fMlw0rw3sO5GsjQVowSo79fSnZQAMT+w1gAkuKuNxw0=", "owner": "neovim", "repo": "neovim", - "rev": "6c87d3e0fbf88ae693be11a3ede3a1ec6ec0e30e", + "rev": "bc850ba2a090a9a4733a82a7555a5a70264ce1ac", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1697807109, - "narHash": "sha256-A/JemGssm4pfPlqCSLuJRYHvX9Dp4drJnLuBwPeAi+k=", + "lastModified": 1698019298, + "narHash": "sha256-0mI7Hmmy4i66FJur5oVS3JA/mh05Y9Uhd7dd3poHJm8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "29b5f1c2aef88e2b6f41a9d529e50b24802fdb7d", + "rev": "16f7aa104addab4db2772072ca3428b0e941d8ce", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1697756037, - "narHash": "sha256-Wt0Jm4xrYtWBWfwa05WPPo7GrxE/gT3NwJb02K88+EY=", + "lastModified": 1697887243, + "narHash": "sha256-E+hWj71ZlJMw6WbRiLd7wdxChqJ46XN5TDj0TvCg5FI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "34000951675a28f770ccbbe8613725fe7f5eb50b", + "rev": "2281c1ca636ae9164b00e33f01190a01895282fc", "type": "github" }, "original": { @@ -308,11 +308,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1697456312, - "narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=", + "lastModified": 1697723726, + "narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ca012a02bf8327be9e488546faecae5e05d7d749", + "rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0", "type": "github" }, "original": { @@ -324,11 +324,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1697730408, - "narHash": "sha256-Ww//zzukdTrwTrCUkaJA/NsaLEfUfQpWZXBdXBYfhak=", + "lastModified": 1697915759, + "narHash": "sha256-WyMj5jGcecD+KC8gEs+wFth1J1wjisZf8kVZH13f1Zo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ff0a5a776b56e0ca32d47a4a47695452ec7f7d80", + "rev": "51d906d2341c9e866e48c2efcaac0f2d70bfd43e", "type": "github" }, "original": { @@ -340,11 +340,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1697655685, - "narHash": "sha256-79Kuv+QdgsVc+rkibuAgWHnh8IXrLBTOKg5nM0Qvux0=", + "lastModified": 1697851979, + "narHash": "sha256-lJ8k4qkkwdvi+t/Xc6Fn74kUuobpu9ynPGxNZR6OwoA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "80c1aab725151632ddc2a20caeb914e76dd0673c", + "rev": "5550a85a087c04ddcace7f892b0bdc9d8bb080c8", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1697793907, - "narHash": "sha256-V2nTR/bN1GwozE2+Wz/YuuRq2uZhGo8HUSKCteJGQFs=", + "lastModified": 1698050421, + "narHash": "sha256-3wVoW+uYh9EhsSP0pbJXw+1L0z99XmZ0nLAXxJePrZo=", "owner": "nix-community", "repo": "NUR", - "rev": "d531cd7ef0001eaba84743d6666726df3c3b5620", + "rev": "e0e407ad6815d4dba8daea4e1b4e47749ef140f6", "type": "github" }, "original": { From cb531af855d4c3b4d1f53c2d9fc6a39b311dedf2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 24 Oct 2023 09:06:28 +0200 Subject: [PATCH 1588/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/16f7aa104addab4db2772072ca3428b0e941d8ce' (2023-10-23) → 'github:nix-community/neovim-nightly-overlay/1202e09b19e0c48e747ea204a4c915f7d005ac13' (2023-10-24) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/bc850ba2a090a9a4733a82a7555a5a70264ce1ac?dir=contrib' (2023-10-22) → 'github:neovim/neovim/25cfe3fd432d77689446fe5a0bb972479298387c?dir=contrib' (2023-10-23) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/2281c1ca636ae9164b00e33f01190a01895282fc' (2023-10-21) → 'github:nixos/nixpkgs/31b322916ae1683d02fd3f4333e66e51f95181ae' (2023-10-23) • Updated input 'nur': 'github:nix-community/NUR/e0e407ad6815d4dba8daea4e1b4e47749ef140f6' (2023-10-23) → 'github:nix-community/NUR/2a45ebe7968a578c2a619a8df0cd6ca82c74013f' (2023-10-24) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 0566c437..17a0c243 100644 --- a/flake.lock +++ b/flake.lock @@ -205,11 +205,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1697984014, - "narHash": "sha256-fMlw0rw3sO5GsjQVowSo79fSnZQAMT+w1gAkuKuNxw0=", + "lastModified": 1698090486, + "narHash": "sha256-MEtswTlBJ4DTXmAflsyN9B3saGnBoMM/YDsC+roAEGA=", "owner": "neovim", "repo": "neovim", - "rev": "bc850ba2a090a9a4733a82a7555a5a70264ce1ac", + "rev": "25cfe3fd432d77689446fe5a0bb972479298387c", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1698019298, - "narHash": "sha256-0mI7Hmmy4i66FJur5oVS3JA/mh05Y9Uhd7dd3poHJm8=", + "lastModified": 1698105671, + "narHash": "sha256-7GekPCKYmVb6jK0IuYVg4R6jDzUbyO9gzVundQC+AHc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "16f7aa104addab4db2772072ca3428b0e941d8ce", + "rev": "1202e09b19e0c48e747ea204a4c915f7d005ac13", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1697887243, - "narHash": "sha256-E+hWj71ZlJMw6WbRiLd7wdxChqJ46XN5TDj0TvCg5FI=", + "lastModified": 1698020916, + "narHash": "sha256-ZWHku+I0fGpBFfXRIiL+F7a7tSfKcS/tE5fRbOJXdm8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2281c1ca636ae9164b00e33f01190a01895282fc", + "rev": "31b322916ae1683d02fd3f4333e66e51f95181ae", "type": "github" }, "original": { @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1698050421, - "narHash": "sha256-3wVoW+uYh9EhsSP0pbJXw+1L0z99XmZ0nLAXxJePrZo=", + "lastModified": 1698129813, + "narHash": "sha256-QisGsA0xU+b6T/75qxsriMzyeudcLLHYudnhF7ZCDrU=", "owner": "nix-community", "repo": "NUR", - "rev": "e0e407ad6815d4dba8daea4e1b4e47749ef140f6", + "rev": "2a45ebe7968a578c2a619a8df0cd6ca82c74013f", "type": "github" }, "original": { From bfff7003dce2752736109c67ce20f8241fcb687f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 24 Oct 2023 09:15:20 +0200 Subject: [PATCH 1589/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 38 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 5f0ab7a8..2dfc8078 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -3,7 +3,7 @@ "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, "SchemaStore.nvim": { "branch": "main", "commit": "e0268efbb748bc12c024311540acb91d7ed1148e" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, - "catppuccin": { "branch": "main", "commit": "dcef0a062de380885193fb0f919217d58b979753" }, + "catppuccin": { "branch": "main", "commit": "ea52fe8a0b1e4a820df0d0cf9a6a5a0e18c3eaa0" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "55abaaa9ed4684cd9ba8f0c062379be6cf41b8f3" }, + "conform.nvim": { "branch": "master", "commit": "e4ecb6e8ed3163c86d7e647f1dc3d94de77ca687" }, "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, @@ -25,58 +25,58 @@ "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "8a7b48f5823cc924f815129192288ec2e2b9288f" }, + "indent-blankline.nvim": { "branch": "master", "commit": "2546441840172cc41e70f67c52e205cc7aa3e6ed" }, "lazy.nvim": { "branch": "main", "commit": "4c75c8eeb957a99aa44ce8e526c04340ab358c5e" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "e7b64c11035aa924f87385b72145e0ccf68a7e0a" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "09be3766669bfbabbe2863c624749d8da392c916" }, "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "10ad2ed049fb681a829b44aeb23443c0a9c910ae" }, "mini.animate": { "branch": "main", "commit": "6e6f2ee99fec91985d3817bfc74fbb4a0aff1c44" }, "mini.bracketed": { "branch": "main", "commit": "d99f8f6c93e2a4cff1ebc27072d74ba400c8d241" }, - "mini.bufremove": { "branch": "main", "commit": "75be0b153b0cd2499c031e57d44cde8dad4766e4" }, - "mini.comment": { "branch": "main", "commit": "a27b9115e40519ef23991af9564f43ec14a41fe2" }, + "mini.bufremove": { "branch": "main", "commit": "f53c7f27e36009fe61563c11cde154b94a0e5b94" }, + "mini.comment": { "branch": "main", "commit": "e4320af992cd053a7da2f33d9f63a86c2ab6ce59" }, "mini.indentscope": { "branch": "main", "commit": "cbc07203ca8faae952ca373c1f6cc5881ce97af0" }, "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "63ebe879ad4798b66d29c0b2c8d04942389d438e" }, - "neoconf.nvim": { "branch": "main", "commit": "0e6b0a9fd9030ec6f13bf98c4b0ed87230e42928" }, - "neodev.nvim": { "branch": "main", "commit": "b094a663ccb71733543d8254b988e6bebdbdaca4" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "0b9a83e6dc47513a81fd9086440d5638683f4f17" }, + "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, + "neodev.nvim": { "branch": "main", "commit": "d617d9eb27e73e701e446874c6ea2cb528719260" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "159c545f92d5133b93d4283675ee727eeb33532e" }, + "neogit": { "branch": "master", "commit": "e2cfea5e48dbbe98277a6c8337b550fa1e5def2a" }, "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, "noice.nvim": { "branch": "main", "commit": "8f1b53ab85f83e0687d0f267085ad781ec240432" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "d3a3056204e1a9dbb7c7fe36c114dc43b681768c" }, - "nvim-lint": { "branch": "master", "commit": "e366dc5ed4002d3489d03200c0b132ce2b1ba532" }, - "nvim-lspconfig": { "branch": "master", "commit": "38da5bbe1eaab2394056109e48c7e195bdb8fdfe" }, + "nvim-lint": { "branch": "master", "commit": "158232735a7f7d9c5de2aadb8bde4d5d67724f13" }, + "nvim-lspconfig": { "branch": "master", "commit": "6428fcab6f3c09e934bc016c329806314384a41e" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "eb3faef3a44641e5875581e901b0a8df8da2bde4" }, - "nvim-treesitter-context": { "branch": "master", "commit": "7227dca17316384e9b62bd6fc6b4d892572d6d4e" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "23f3840b7520e009121b3175f528178136dd9834" }, + "nvim-treesitter": { "branch": "master", "commit": "74ea25f95db4dcc61b4311aac02461a075db9c61" }, + "nvim-treesitter-context": { "branch": "master", "commit": "8aa32aa6b84dda357849dbc0f775e69f2e04c041" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "eb208bfdfcf76efea0424747e23e44641e13aaa6" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, - "nvim-web-devicons": { "branch": "master", "commit": "3af745113ea537f58c4b1573b64a429fefad9e07" }, + "nvim-web-devicons": { "branch": "master", "commit": "f0267921c845c42685968401bc49aa65e18d3e09" }, "octo.nvim": { "branch": "master", "commit": "e933611c74cb735c00d0db8ca94533bec1444bf0" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "bebfcfcc4b604d3647fcce2f4aeb02a95d139c49" }, + "refactoring.nvim": { "branch": "master", "commit": "5831194debd23920a32abd9fefd5dddba44e34fc" }, "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "10d51ddaaba0cd03ccf9ae51620d6e8cad27f1e4" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "74ce793a60759e3db0d265174f137fb627430355" }, + "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "531b04704fc9ff994d8b9c0720428fdc3c7d49d1" }, "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, @@ -88,7 +88,7 @@ "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, - "which-key.nvim": { "branch": "main", "commit": "ce741eb559c924d72e3a67d2189ad3771a231414" }, + "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } } From 6e10b844def65d18e10a23b6927776b3e150f470 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 24 Oct 2023 09:16:53 +0200 Subject: [PATCH 1590/2080] confirom only formats with prettierd :/ --- lazyvim/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index b5ae09e2..43805da8 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -181,7 +181,7 @@ return { -- Replacement for formatting via null-ls/none-ls { - -- XXX: auto format not working with prettier but only with prettier?! + -- XXX: auto format not working with prettier but only with prettierd?! "stevearc/conform.nvim", opts = { formatters_by_ft = { From f3adc0fab739d343b9e7b3e3df561a027b910505 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 24 Oct 2023 15:41:44 +0200 Subject: [PATCH 1591/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/2a45ebe7968a578c2a619a8df0cd6ca82c74013f' (2023-10-24) → 'github:nix-community/NUR/6dd60dc1506157aaf5ba4b8de3361f682d3a5dd7' (2023-10-24) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 17a0c243..df271e62 100644 --- a/flake.lock +++ b/flake.lock @@ -356,11 +356,11 @@ }, "nur": { "locked": { - "lastModified": 1698129813, - "narHash": "sha256-QisGsA0xU+b6T/75qxsriMzyeudcLLHYudnhF7ZCDrU=", + "lastModified": 1698154480, + "narHash": "sha256-pXx1qIfkJoe25P0goRcdGul06tckgwtsQAA45pygGzw=", "owner": "nix-community", "repo": "NUR", - "rev": "2a45ebe7968a578c2a619a8df0cd6ca82c74013f", + "rev": "6dd60dc1506157aaf5ba4b8de3361f682d3a5dd7", "type": "github" }, "original": { From d453c2b7c8807527686ab727ee0db89878eabe6d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 25 Oct 2023 12:19:58 +0200 Subject: [PATCH 1592/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/1202e09b19e0c48e747ea204a4c915f7d005ac13' (2023-10-24) → 'github:nix-community/neovim-nightly-overlay/d3ea1553487b52fe7603c830994475f51cd619db' (2023-10-25) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/f925e00919fbf248aef3d1e89781b72dd89a6eb0' (2023-10-21) → 'github:hercules-ci/hercules-ci-effects/300e0af24a1bbe32d115beb182efb01785582c45' (2023-10-24) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/8e8d955c22df93dbe24f19ea04f47a74adbdc5ec' (2023-07-04) → 'github:hercules-ci/flake-parts/c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4' (2023-10-03) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/4bc72cae107788bf3f24f30db2e2f685c9298dc9?dir=lib' (2023-06-29) → follows 'neovim-nightly-overlay/hercules-ci-effects/nixpkgs' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/flake-parts' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/flake-parts/nixpkgs-lib' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/haskell-flake' • Removed input 'neovim-nightly-overlay/hercules-ci-effects/hercules-ci-agent/nixpkgs' • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/25cfe3fd432d77689446fe5a0bb972479298387c?dir=contrib' (2023-10-23) → 'github:neovim/neovim/1094d0c0dbd0f37ccc0f1d18c73c6066e5690664?dir=contrib' (2023-10-24) • Updated input 'nur': 'github:nix-community/NUR/6dd60dc1506157aaf5ba4b8de3361f682d3a5dd7' (2023-10-24) → 'github:nix-community/NUR/db4878a5e2520c5192738dddd60abbad705e2533' (2023-10-25) --- flake.lock | 135 +++++++++-------------------------------------------- 1 file changed, 23 insertions(+), 112 deletions(-) diff --git a/flake.lock b/flake.lock index df271e62..401e5b97 100644 --- a/flake.lock +++ b/flake.lock @@ -59,43 +59,24 @@ } }, "flake-parts_2": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", - "type": "github" - }, - "original": { - "id": "flake-parts", - "type": "indirect" - } - }, - "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "neovim-nightly-overlay", "hercules-ci-effects", - "hercules-ci-agent", "nixpkgs" ] }, "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", + "lastModified": 1696343447, + "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", + "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" + "id": "flake-parts", + "type": "indirect" } }, "flake-utils": { @@ -116,56 +97,20 @@ "type": "github" } }, - "haskell-flake": { - "locked": { - "lastModified": 1684780604, - "narHash": "sha256-2uMZsewmRn7rRtAnnQNw1lj0uZBMh4m6Cs/7dV5YF08=", - "owner": "srid", - "repo": "haskell-flake", - "rev": "74210fa80a49f1b6f67223debdbf1494596ff9f2", - "type": "github" - }, - "original": { - "owner": "srid", - "ref": "0.3.0", - "repo": "haskell-flake", - "type": "github" - } - }, - "hercules-ci-agent": { - "inputs": { - "flake-parts": "flake-parts_3", - "haskell-flake": "haskell-flake", - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1688568579, - "narHash": "sha256-ON0M56wtY/TIIGPkXDlJboAmuYwc73Hi8X9iJGtxOhM=", - "owner": "hercules-ci", - "repo": "hercules-ci-agent", - "rev": "367dd8cd649b57009a6502e878005a1e54ad78c5", - "type": "github" - }, - "original": { - "id": "hercules-ci-agent", - "type": "indirect" - } - }, "hercules-ci-effects": { "inputs": { "flake-parts": "flake-parts_2", - "hercules-ci-agent": "hercules-ci-agent", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" ] }, "locked": { - "lastModified": 1697898004, - "narHash": "sha256-xjGFwLQBVnumMZT9qSLndJViKh5M9tIKZAVCUiveiwQ=", + "lastModified": 1698165573, + "narHash": "sha256-cnMTgCDnZiQKsf+wVzigpexskqRCFTKgS58Wx2rNU1c=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "f925e00919fbf248aef3d1e89781b72dd89a6eb0", + "rev": "300e0af24a1bbe32d115beb182efb01785582c45", "type": "github" }, "original": { @@ -205,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698090486, - "narHash": "sha256-MEtswTlBJ4DTXmAflsyN9B3saGnBoMM/YDsC+roAEGA=", + "lastModified": 1698138555, + "narHash": "sha256-HOzLvbRnHtpNQJJN52JYKnTm0d9K508QKsEFLbxjRHk=", "owner": "neovim", "repo": "neovim", - "rev": "25cfe3fd432d77689446fe5a0bb972479298387c", + "rev": "1094d0c0dbd0f37ccc0f1d18c73c6066e5690664", "type": "github" }, "original": { @@ -225,14 +170,14 @@ "flake-parts": "flake-parts", "hercules-ci-effects": "hercules-ci-effects", "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1698105671, - "narHash": "sha256-7GekPCKYmVb6jK0IuYVg4R6jDzUbyO9gzVundQC+AHc=", + "lastModified": 1698192055, + "narHash": "sha256-YC5IWqMTwdFxrIWYfdhW3SWmb356VtzcXt8fc49PCos=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "1202e09b19e0c48e747ea204a4c915f7d005ac13", + "rev": "d3ea1553487b52fe7603c830994475f51cd619db", "type": "github" }, "original": { @@ -258,16 +203,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1688322751, - "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", + "lastModified": 1697915759, + "narHash": "sha256-WyMj5jGcecD+KC8gEs+wFth1J1wjisZf8kVZH13f1Zo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", + "rev": "51d906d2341c9e866e48c2efcaac0f2d70bfd43e", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -288,24 +233,6 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "dir": "lib", - "lastModified": 1688049487, - "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", - "type": "github" - }, - "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-unstable": { "locked": { "lastModified": 1697723726, @@ -323,22 +250,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1697915759, - "narHash": "sha256-WyMj5jGcecD+KC8gEs+wFth1J1wjisZf8kVZH13f1Zo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "51d906d2341c9e866e48c2efcaac0f2d70bfd43e", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1697851979, "narHash": "sha256-lJ8k4qkkwdvi+t/Xc6Fn74kUuobpu9ynPGxNZR6OwoA=", @@ -356,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698154480, - "narHash": "sha256-pXx1qIfkJoe25P0goRcdGul06tckgwtsQAA45pygGzw=", + "lastModified": 1698226932, + "narHash": "sha256-fUzAb0kz26/dKkinduJNyWB/H5vYmto4pKInSBtjErM=", "owner": "nix-community", "repo": "NUR", - "rev": "6dd60dc1506157aaf5ba4b8de3361f682d3a5dd7", + "rev": "db4878a5e2520c5192738dddd60abbad705e2533", "type": "github" }, "original": { @@ -375,7 +286,7 @@ "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix2lua": "nix2lua", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "nixpkgs-darwin-stable": "nixpkgs-darwin-stable", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" From 67399518acd0451f8714079103f1a2ba70a33038 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 25 Oct 2023 14:04:43 +0200 Subject: [PATCH 1593/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 2dfc8078..0cf1a045 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "e996eed750aabdfaa976357450f9ccbcd333a785" }, "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "e0268efbb748bc12c024311540acb91d7ed1148e" }, + "SchemaStore.nvim": { "branch": "main", "commit": "e0884542c973b92a193274eaebedd8d2ae05ceb5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, "catppuccin": { "branch": "main", "commit": "ea52fe8a0b1e4a820df0d0cf9a6a5a0e18c3eaa0" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -25,7 +25,7 @@ "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "2546441840172cc41e70f67c52e205cc7aa3e6ed" }, + "indent-blankline.nvim": { "branch": "master", "commit": "046e2cf04e08ece927bacbfb87c5b35c0b636546" }, "lazy.nvim": { "branch": "main", "commit": "4c75c8eeb957a99aa44ce8e526c04340ab358c5e" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, @@ -41,29 +41,29 @@ "mini.indentscope": { "branch": "main", "commit": "cbc07203ca8faae952ca373c1f6cc5881ce97af0" }, "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "0b9a83e6dc47513a81fd9086440d5638683f4f17" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, "neodev.nvim": { "branch": "main", "commit": "d617d9eb27e73e701e446874c6ea2cb528719260" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "e2cfea5e48dbbe98277a6c8337b550fa1e5def2a" }, + "neogit": { "branch": "master", "commit": "01dc0a7e237a4d6d053cea2503f5dd1a81c1e310" }, "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, - "noice.nvim": { "branch": "main", "commit": "8f1b53ab85f83e0687d0f267085ad781ec240432" }, + "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, - "nvim-cmp": { "branch": "main", "commit": "d3a3056204e1a9dbb7c7fe36c114dc43b681768c" }, - "nvim-lint": { "branch": "master", "commit": "158232735a7f7d9c5de2aadb8bde4d5d67724f13" }, + "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, + "nvim-lint": { "branch": "master", "commit": "962a76877a4479a535b935bd7ef35ad41ba308b2" }, "nvim-lspconfig": { "branch": "master", "commit": "6428fcab6f3c09e934bc016c329806314384a41e" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "74ea25f95db4dcc61b4311aac02461a075db9c61" }, + "nvim-treesitter": { "branch": "master", "commit": "44762abc90725e279f3b9cfbe4cafb41ea72f09b" }, "nvim-treesitter-context": { "branch": "master", "commit": "8aa32aa6b84dda357849dbc0f775e69f2e04c041" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "eb208bfdfcf76efea0424747e23e44641e13aaa6" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, - "nvim-web-devicons": { "branch": "master", "commit": "f0267921c845c42685968401bc49aa65e18d3e09" }, + "nvim-web-devicons": { "branch": "master", "commit": "5de460ca7595806044eced31e3c36c159a493857" }, "octo.nvim": { "branch": "master", "commit": "e933611c74cb735c00d0db8ca94533bec1444bf0" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, @@ -78,7 +78,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "531b04704fc9ff994d8b9c0720428fdc3c7d49d1" }, + "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, From a596f54c3f25dca43c509c52078e06fa9a2bad5f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 26 Oct 2023 09:52:21 +0200 Subject: [PATCH 1594/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/d3ea1553487b52fe7603c830994475f51cd619db' (2023-10-25) → 'github:nix-community/neovim-nightly-overlay/11e493ce9fdab9bf7462c5a343a940858387b35a' (2023-10-26) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/1094d0c0dbd0f37ccc0f1d18c73c6066e5690664?dir=contrib' (2023-10-24) → 'github:neovim/neovim/f2fc44550fbe5b7ebfedc2b155dc41e93f49aedb?dir=contrib' (2023-10-25) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5550a85a087c04ddcace7f892b0bdc9d8bb080c8' (2023-10-21) → 'github:NixOS/nixpkgs/04f431fe64a5ba8ff129cbbbfec489cfe903982c' (2023-10-24) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/31b322916ae1683d02fd3f4333e66e51f95181ae' (2023-10-23) → 'github:nixos/nixpkgs/39506d70cbdcf23b4d91f99a3a44f11ea113a9e7' (2023-10-25) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/7c9cc5a6e5d38010801741ac830a3f8fd667a7a0' (2023-10-19) → 'github:nixos/nixpkgs/8efd5d1e283604f75a808a20e6cde0ef313d07d4' (2023-10-24) • Updated input 'nur': 'github:nix-community/NUR/db4878a5e2520c5192738dddd60abbad705e2533' (2023-10-25) → 'github:nix-community/NUR/985450f07ced08b5dc248d7382d80b2defd42083' (2023-10-26) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 401e5b97..a6d923f4 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698138555, - "narHash": "sha256-HOzLvbRnHtpNQJJN52JYKnTm0d9K508QKsEFLbxjRHk=", + "lastModified": 1698277349, + "narHash": "sha256-uEBZSQEn4mDowhdH0QIDGORFtzqY7y4K+bZpiSRc6x0=", "owner": "neovim", "repo": "neovim", - "rev": "1094d0c0dbd0f37ccc0f1d18c73c6066e5690664", + "rev": "f2fc44550fbe5b7ebfedc2b155dc41e93f49aedb", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1698192055, - "narHash": "sha256-YC5IWqMTwdFxrIWYfdhW3SWmb356VtzcXt8fc49PCos=", + "lastModified": 1698278488, + "narHash": "sha256-wIAyepCJao8wqKi1Pi9014r7rc7dHxkwdlfE92XFMjM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d3ea1553487b52fe7603c830994475f51cd619db", + "rev": "11e493ce9fdab9bf7462c5a343a940858387b35a", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1698020916, - "narHash": "sha256-ZWHku+I0fGpBFfXRIiL+F7a7tSfKcS/tE5fRbOJXdm8=", + "lastModified": 1698241087, + "narHash": "sha256-UNZddguvSBOGxY1ta91YvFogJ65B/cbLNhKBXsN9rOo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "31b322916ae1683d02fd3f4333e66e51f95181ae", + "rev": "39506d70cbdcf23b4d91f99a3a44f11ea113a9e7", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1697723726, - "narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=", + "lastModified": 1698134075, + "narHash": "sha256-foCD+nuKzfh49bIoiCBur4+Fx1nozo+4C/6k8BYk4sg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0", + "rev": "8efd5d1e283604f75a808a20e6cde0ef313d07d4", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1697851979, - "narHash": "sha256-lJ8k4qkkwdvi+t/Xc6Fn74kUuobpu9ynPGxNZR6OwoA=", + "lastModified": 1698160471, + "narHash": "sha256-lH7ZEItqQOWi21St9JyE6t3yyFNYGoQqSEcS90WMnBY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5550a85a087c04ddcace7f892b0bdc9d8bb080c8", + "rev": "04f431fe64a5ba8ff129cbbbfec489cfe903982c", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698226932, - "narHash": "sha256-fUzAb0kz26/dKkinduJNyWB/H5vYmto4pKInSBtjErM=", + "lastModified": 1698301517, + "narHash": "sha256-omZUrQefrUoluVlpRi2Ne06rA6bLyxZ/7nOH7vqwL0s=", "owner": "nix-community", "repo": "NUR", - "rev": "db4878a5e2520c5192738dddd60abbad705e2533", + "rev": "985450f07ced08b5dc248d7382d80b2defd42083", "type": "github" }, "original": { From a7311213afdf1a06f622e5fb88f1366018b7a846 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 26 Oct 2023 12:17:19 +0200 Subject: [PATCH 1595/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/985450f07ced08b5dc248d7382d80b2defd42083' (2023-10-26) → 'github:nix-community/NUR/9d204b0295491c5a1f3d552499e10b7be6934edb' (2023-10-26) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index a6d923f4..e3ba2a9e 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698301517, - "narHash": "sha256-omZUrQefrUoluVlpRi2Ne06rA6bLyxZ/7nOH7vqwL0s=", + "lastModified": 1698314022, + "narHash": "sha256-WqUhlOkeUyFqUTVDfAPbJavBXxPSnDbNOB1SOPyCOOE=", "owner": "nix-community", "repo": "NUR", - "rev": "985450f07ced08b5dc248d7382d80b2defd42083", + "rev": "9d204b0295491c5a1f3d552499e10b7be6934edb", "type": "github" }, "original": { From f78860e51621b401ac784b4131aa8b5d012e2bdd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 26 Oct 2023 16:57:31 +0200 Subject: [PATCH 1596/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/9d204b0295491c5a1f3d552499e10b7be6934edb' (2023-10-26) → 'github:nix-community/NUR/6fa9c6ce2fe0d9825a05070bc33b6578158a77ff' (2023-10-26) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e3ba2a9e..df3b50e3 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698314022, - "narHash": "sha256-WqUhlOkeUyFqUTVDfAPbJavBXxPSnDbNOB1SOPyCOOE=", + "lastModified": 1698331308, + "narHash": "sha256-fcYGMTHn4DCM5osL4EDshxNnx5RZr4+B/ZpDwSjYAh0=", "owner": "nix-community", "repo": "NUR", - "rev": "9d204b0295491c5a1f3d552499e10b7be6934edb", + "rev": "6fa9c6ce2fe0d9825a05070bc33b6578158a77ff", "type": "github" }, "original": { From 3be85f83c34157b135b30807c734a4b997da8ddc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 27 Oct 2023 18:15:59 +0200 Subject: [PATCH 1597/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 0cf1a045..778252d0 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "e996eed750aabdfaa976357450f9ccbcd333a785" }, + "LazyVim": { "branch": "main", "commit": "9a6b0f8928ad2e802cae36c6b05b94cd9a73451f" }, "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "e0884542c973b92a193274eaebedd8d2ae05ceb5" }, + "SchemaStore.nvim": { "branch": "main", "commit": "976e7e3e9c400b99f1cb337b2ce804a9652571ec" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, - "catppuccin": { "branch": "main", "commit": "ea52fe8a0b1e4a820df0d0cf9a6a5a0e18c3eaa0" }, + "catppuccin": { "branch": "main", "commit": "b359f3eec32dcc6b7c9a26901dc235bbb6cd8a0b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -26,11 +26,11 @@ "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, "indent-blankline.nvim": { "branch": "master", "commit": "046e2cf04e08ece927bacbfb87c5b35c0b636546" }, - "lazy.nvim": { "branch": "main", "commit": "4c75c8eeb957a99aa44ce8e526c04340ab358c5e" }, + "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "09be3766669bfbabbe2863c624749d8da392c916" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "bbc7d7709ea6aa85add78b745b2439f18b0bc240" }, "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "10ad2ed049fb681a829b44aeb23443c0a9c910ae" }, @@ -43,7 +43,7 @@ "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, - "neodev.nvim": { "branch": "main", "commit": "d617d9eb27e73e701e446874c6ea2cb528719260" }, + "neodev.nvim": { "branch": "main", "commit": "7b46fd0f81c9c9ef5d5898879e86ae271152c79f" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "01dc0a7e237a4d6d053cea2503f5dd1a81c1e310" }, "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, @@ -57,7 +57,7 @@ "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "44762abc90725e279f3b9cfbe4cafb41ea72f09b" }, + "nvim-treesitter": { "branch": "master", "commit": "107e61afb7129d637ea6c3c68b97a22194b0bf16" }, "nvim-treesitter-context": { "branch": "master", "commit": "8aa32aa6b84dda357849dbc0f775e69f2e04c041" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "eb208bfdfcf76efea0424747e23e44641e13aaa6" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, @@ -77,7 +77,7 @@ "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" }, - "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, + "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, From ebeded90d501028e89f55ee2ae9efc7d6b677c00 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 27 Oct 2023 18:16:10 +0200 Subject: [PATCH 1598/2080] tmux: disable continous saving --- modules/home/tmux/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index 9b3268f7..970c5e94 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -41,7 +41,8 @@ plugin = continuum; extraConfig = '' set -g @continuum-restore 'on' - set -g @continuum-save-interval '60' # minutes + # disable automatic session backup + set -g @continuum-save-interval '0' ''; } ]; From de1e355afac8e2f683ced896f2ea7b15e9d7017b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 28 Oct 2023 10:30:19 +0200 Subject: [PATCH 1599/2080] Merge changes --- home/main.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/main.nix b/home/main.nix index 43f996ce..2765af2d 100644 --- a/home/main.nix +++ b/home/main.nix @@ -57,6 +57,7 @@ nodePackages.node2nix ] ++ lib.optionals stdenv.isLinux [ arch-install-scripts + boxes checkmake dracula-theme drawio @@ -81,6 +82,7 @@ shfmt tree-sitter xclip + xkill ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 4ff7e9f7916a1393a9b741c92e24f3d62356c025 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 28 Oct 2023 10:32:55 +0200 Subject: [PATCH 1600/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/19f75c2b45fbfc307ecfeb9dadc41a4c1e4fb980' (2023-10-19) → 'github:lnl7/nix-darwin/afe83cbc2e673b1f08d32dd0f70df599678ff1e7' (2023-10-27) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/11e493ce9fdab9bf7462c5a343a940858387b35a' (2023-10-26) → 'github:nix-community/neovim-nightly-overlay/5240f631102f4aba8c498f07b3996355edbe62fa' (2023-10-28) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/f2fc44550fbe5b7ebfedc2b155dc41e93f49aedb?dir=contrib' (2023-10-25) → 'github:neovim/neovim/d2e7cc68e99019587a4c5184a47677a6837bbee9?dir=contrib' (2023-10-27) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/51d906d2341c9e866e48c2efcaac0f2d70bfd43e' (2023-10-21) → 'github:NixOS/nixpkgs/808c0d8c53c7ae50f82aca8e7df263225cf235bf' (2023-10-26) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/04f431fe64a5ba8ff129cbbbfec489cfe903982c' (2023-10-24) → 'github:NixOS/nixpkgs/60b9db998f71ea49e1a9c41824d09aa274be1344' (2023-10-26) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/39506d70cbdcf23b4d91f99a3a44f11ea113a9e7' (2023-10-25) → 'github:nixos/nixpkgs/dd5e0f5697d1fe7c86de787f457c86b9d2c4b866' (2023-10-26) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/8efd5d1e283604f75a808a20e6cde0ef313d07d4' (2023-10-24) → 'github:nixos/nixpkgs/63678e9f3d3afecfeafa0acead6239cdb447574c' (2023-10-26) • Updated input 'nur': 'github:nix-community/NUR/6fa9c6ce2fe0d9825a05070bc33b6578158a77ff' (2023-10-26) → 'github:nix-community/NUR/9700207021a6611091001f53cfed2435cf2f48b9' (2023-10-28) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index df3b50e3..34055c46 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1697723594, - "narHash": "sha256-W7lTC+kHGS1YCOutGpxUHF0cK66iY/GYr3INaTyVa/I=", + "lastModified": 1698429334, + "narHash": "sha256-Gq3+QabboczSu7RMpcy79RSLMSqnySO3wsnHQk4DfbE=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "19f75c2b45fbfc307ecfeb9dadc41a4c1e4fb980", + "rev": "afe83cbc2e673b1f08d32dd0f70df599678ff1e7", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698277349, - "narHash": "sha256-uEBZSQEn4mDowhdH0QIDGORFtzqY7y4K+bZpiSRc6x0=", + "lastModified": 1698446648, + "narHash": "sha256-MaTLlpuHghjtPEa2j8v3Mng/rs6PE45MrHDwCY+662Q=", "owner": "neovim", "repo": "neovim", - "rev": "f2fc44550fbe5b7ebfedc2b155dc41e93f49aedb", + "rev": "d2e7cc68e99019587a4c5184a47677a6837bbee9", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1698278488, - "narHash": "sha256-wIAyepCJao8wqKi1Pi9014r7rc7dHxkwdlfE92XFMjM=", + "lastModified": 1698451297, + "narHash": "sha256-0GRhzCAmWJNZpbsFhSQfh2MMrN52KfklpeiU6NW3tJU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "11e493ce9fdab9bf7462c5a343a940858387b35a", + "rev": "5240f631102f4aba8c498f07b3996355edbe62fa", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1697915759, - "narHash": "sha256-WyMj5jGcecD+KC8gEs+wFth1J1wjisZf8kVZH13f1Zo=", + "lastModified": 1698336494, + "narHash": "sha256-sO72WDBKyijYD1GcKPlGsycKbMBiTJMBCnmOxLAs880=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "51d906d2341c9e866e48c2efcaac0f2d70bfd43e", + "rev": "808c0d8c53c7ae50f82aca8e7df263225cf235bf", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1698241087, - "narHash": "sha256-UNZddguvSBOGxY1ta91YvFogJ65B/cbLNhKBXsN9rOo=", + "lastModified": 1698300480, + "narHash": "sha256-s7EmRTsmoRs0z4kV1Z27DFhzXRC+iOFCI3gFkyvgn+8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "39506d70cbdcf23b4d91f99a3a44f11ea113a9e7", + "rev": "dd5e0f5697d1fe7c86de787f457c86b9d2c4b866", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1698134075, - "narHash": "sha256-foCD+nuKzfh49bIoiCBur4+Fx1nozo+4C/6k8BYk4sg=", + "lastModified": 1698318101, + "narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8efd5d1e283604f75a808a20e6cde0ef313d07d4", + "rev": "63678e9f3d3afecfeafa0acead6239cdb447574c", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1698160471, - "narHash": "sha256-lH7ZEItqQOWi21St9JyE6t3yyFNYGoQqSEcS90WMnBY=", + "lastModified": 1698288402, + "narHash": "sha256-jIIjApPdm+4yt8PglX8pUOexAdEiAax/DXW3S/Mb21E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "04f431fe64a5ba8ff129cbbbfec489cfe903982c", + "rev": "60b9db998f71ea49e1a9c41824d09aa274be1344", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698331308, - "narHash": "sha256-fcYGMTHn4DCM5osL4EDshxNnx5RZr4+B/ZpDwSjYAh0=", + "lastModified": 1698479881, + "narHash": "sha256-1tECyhfEe7KPs47DjP2vLD4uqkq5iIPGo2elpyrecPs=", "owner": "nix-community", "repo": "NUR", - "rev": "6fa9c6ce2fe0d9825a05070bc33b6578158a77ff", + "rev": "9700207021a6611091001f53cfed2435cf2f48b9", "type": "github" }, "original": { From 3b2dc08f26f1134eaa4bd87dd1a0c7294dbd1083 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 28 Oct 2023 11:14:56 +0200 Subject: [PATCH 1601/2080] Fix xkill package name. --- home/main.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 2765af2d..8983ebf9 100644 --- a/home/main.nix +++ b/home/main.nix @@ -82,7 +82,7 @@ shfmt tree-sitter xclip - xkill + xorg.xkill ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 8d765e6efbaafade4612b52cf229d6ea3114903f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 28 Oct 2023 11:15:09 +0200 Subject: [PATCH 1602/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 114 ++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 64 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 778252d0..50de60f4 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "9a6b0f8928ad2e802cae36c6b05b94cd9a73451f" }, - "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "976e7e3e9c400b99f1cb337b2ce804a9652571ec" }, + "LazyVim": { "branch": "main", "commit": "8bcc241b720517d4e61fcdd2021d1e39008f5415" }, + "LuaSnip": { "branch": "master", "commit": "cdbf6f41381e5ee4810b4b09284b603d8f18365d" }, + "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, - "catppuccin": { "branch": "main", "commit": "b359f3eec32dcc6b7c9a26901dc235bbb6cd8a0b" }, + "catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -11,84 +11,70 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "e4ecb6e8ed3163c86d7e647f1dc3d94de77ca687" }, - "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, + "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "conform.nvim": { "branch": "master", "commit": "e75819642c36810a55a7235b6b5e16a5ce896ed3" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, - "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, - "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, - "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, - "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, + "diffview.nvim": { "branch": "main", "commit": "0437ef8bfdd67156d87140d692840a3c2824fa20" }, + "dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" }, + "flash.nvim": { "branch": "main", "commit": "6d76c5dee65181ab55cbdfb0760260e800d643f4" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "5a9a6ac29a7805c4783cda21b80a1e361964b3f2" }, + "gitsigns.nvim": { "branch": "main", "commit": "ff01d34daaed72f271a8ffa088a7e839a60c640f" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, - "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "046e2cf04e08ece927bacbfb87c5b35c0b636546" }, - "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, + "indent-blankline.nvim": { "branch": "master", "commit": "877c1db2bf957300097dd5348a665666a4d900cb" }, + "lazy.nvim": { "branch": "main", "commit": "5aaafcb3019e04dd38a011b3d4c8a0f130c422ef" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, - "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, - "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "bbc7d7709ea6aa85add78b745b2439f18b0bc240" }, - "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, + "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, + "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "10ad2ed049fb681a829b44aeb23443c0a9c910ae" }, - "mini.animate": { "branch": "main", "commit": "6e6f2ee99fec91985d3817bfc74fbb4a0aff1c44" }, - "mini.bracketed": { "branch": "main", "commit": "d99f8f6c93e2a4cff1ebc27072d74ba400c8d241" }, - "mini.bufremove": { "branch": "main", "commit": "f53c7f27e36009fe61563c11cde154b94a0e5b94" }, - "mini.comment": { "branch": "main", "commit": "e4320af992cd053a7da2f33d9f63a86c2ab6ce59" }, - "mini.indentscope": { "branch": "main", "commit": "cbc07203ca8faae952ca373c1f6cc5881ce97af0" }, - "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, - "mini.surround": { "branch": "main", "commit": "68ce058ef9716d7d955b79363845d2dd003d6500" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, - "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, - "neodev.nvim": { "branch": "main", "commit": "7b46fd0f81c9c9ef5d5898879e86ae271152c79f" }, + "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, + "mini.bracketed": { "branch": "main", "commit": "ac93e3d6df596c750200aa8529fd352ec91bbad2" }, + "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, + "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, + "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, + "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, + "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, + "neoconf.nvim": { "branch": "main", "commit": "f2f29dfb94890abfe64a0915fa3b31ec2aea85e6" }, + "neodev.nvim": { "branch": "main", "commit": "ee960afffdb95472f719a72a1edb494ffea09c92" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "01dc0a7e237a4d6d053cea2503f5dd1a81c1e310" }, - "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, - "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, - "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, - "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, - "nvim-lint": { "branch": "master", "commit": "962a76877a4479a535b935bd7ef35ad41ba308b2" }, - "nvim-lspconfig": { "branch": "master", "commit": "6428fcab6f3c09e934bc016c329806314384a41e" }, + "neogit": { "branch": "master", "commit": "ed99c59d7fda3ba5e2ce9a3adc0a8eb5ebfa6c8f" }, + "neorg": { "branch": "main", "commit": "24e1d4e067aaeed9a2aaae8b65c77ac8c00a0324" }, + "noice.nvim": { "branch": "main", "commit": "7cf858c30841c9c41601ce58e5bc2023228037ef" }, + "none-ls.nvim": { "branch": "main", "commit": "b8fd44ee1616e6a9c995ed5f94ad9f1721d303ef" }, + "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, + "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, + "nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" }, + "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, + "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "107e61afb7129d637ea6c3c68b97a22194b0bf16" }, - "nvim-treesitter-context": { "branch": "master", "commit": "8aa32aa6b84dda357849dbc0f775e69f2e04c041" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "eb208bfdfcf76efea0424747e23e44641e13aaa6" }, - "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, - "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, - "nvim-web-devicons": { "branch": "master", "commit": "5de460ca7595806044eced31e3c36c159a493857" }, - "octo.nvim": { "branch": "master", "commit": "e933611c74cb735c00d0db8ca94533bec1444bf0" }, - "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, - "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, - "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, + "nvim-treesitter": { "branch": "master", "commit": "957f3f8c15a88ef0f0c77ecd13edf2e2578f176e" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "4724694bc03ce1148860a46d9d77c3664d8188ab" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, + "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, + "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, + "octo.nvim": { "branch": "master", "commit": "34101750cd7204ab8750af985f0ac911be8d1cd9" }, + "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, + "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "5831194debd23920a32abd9fefd5dddba44e34fc" }, - "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, - "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, - "ssr.nvim": { "branch": "main", "commit": "10d51ddaaba0cd03ccf9ae51620d6e8cad27f1e4" }, + "refactoring.nvim": { "branch": "master", "commit": "bebfcfcc4b604d3647fcce2f4aeb02a95d139c49" }, + "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, - "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" }, - "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, - "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, - "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, - "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, + "telescope.nvim": { "branch": "master", "commit": "205f469244916716c49cc2b9026566749425c5ba" }, + "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, + "tokyonight.nvim": { "branch": "main", "commit": "4412dafadf920deb9e08d4b9c1c11b2cf65ca1ca" }, + "trouble.nvim": { "branch": "main", "commit": "2ea761f697a00954956da9be1b591649d87e9631" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "ff3342d4ae8723fab38fed8969b0a1e2c8b6281a" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, - "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, - "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } + "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, + "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" } } From b7e3934ac038c2aa736d466f964d0b97ba68b9c9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 28 Oct 2023 11:15:48 +0200 Subject: [PATCH 1603/2080] mail: install bitwarden from unstable, lint. --- modules/home/mail/default.nix | 189 +++++++++++++++++----------------- 1 file changed, 95 insertions(+), 94 deletions(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 20c98e26..5760a7ee 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -1,5 +1,5 @@ # https://github.com/ShadowRZ/flakes/blob/master/nixos/configuration.nix -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, pkgs-unstable, ... }: let inherit (config.home.user-info) username; @@ -8,7 +8,8 @@ let in { home.packages = with pkgs; [ - bitwarden + # XXX: broken on NixOS 2023-10-28 + pkgs-unstable.bitwarden bitwarden-cli # rbw # pinentry-gtk2 @@ -173,97 +174,97 @@ in # interfers with some manually configured bindings vimKeys = false; binds = [ - { - action = "complete-query"; - key = "<Tab>"; - map = [ "editor" ]; - } - { - action = "group-reply"; - key = "R"; - map = [ "pager" ]; - } - { - action = "flag-message"; - key = "F"; - map = [ "index" "pager" ]; - } - { - action = "half-down"; - key = "\\Cd"; - map = [ "pager" ]; - } - { - action = "half-down"; - key = "\\Cn"; - map = [ "pager" ]; - } - { - action = "half-up"; - key = "\\Cp"; - map = [ "pager" ]; - } - { - action = "half-up"; - key = "\\Cu"; - map = [ "pager" ]; - } - { - # unbind g to get gg working - action = "noop"; - key = "g"; - map = [ "attach" "browser" "index" "pager" ]; - } - { - action = "first-entry"; - key = "gg"; - map = [ "index" ]; - } - { - action = "top"; - key = "gg"; - map = [ "pager" ]; - } - { - action = "bottom"; - key = "G"; - map = [ "pager" ]; - } - { - action = "last-entry"; - key = "G"; - map = [ "index" ]; - } - { - action = "current-top"; - key = "zt"; - map = [ "index" ]; - } - { - action = "current-middle"; - key = "zz"; - map = [ "index" ]; - } - { - action = "current-bottom"; - key = "zb"; - map = [ "index" ]; - } - { - action = "toggle-new"; - key = "N"; - map = [ "index" ]; - } - { - action = "previous-line"; - key = "k"; - map = [ "pager" ]; - } - { - action = "next-line"; - key = "j"; - map = [ "pager" ]; - } + { + action = "complete-query"; + key = "<Tab>"; + map = [ "editor" ]; + } + { + action = "group-reply"; + key = "R"; + map = [ "pager" ]; + } + { + action = "flag-message"; + key = "F"; + map = [ "index" "pager" ]; + } + { + action = "half-down"; + key = "\\Cd"; + map = [ "pager" ]; + } + { + action = "half-down"; + key = "\\Cn"; + map = [ "pager" ]; + } + { + action = "half-up"; + key = "\\Cp"; + map = [ "pager" ]; + } + { + action = "half-up"; + key = "\\Cu"; + map = [ "pager" ]; + } + { + # unbind g to get gg working + action = "noop"; + key = "g"; + map = [ "attach" "browser" "index" "pager" ]; + } + { + action = "first-entry"; + key = "gg"; + map = [ "index" ]; + } + { + action = "top"; + key = "gg"; + map = [ "pager" ]; + } + { + action = "bottom"; + key = "G"; + map = [ "pager" ]; + } + { + action = "last-entry"; + key = "G"; + map = [ "index" ]; + } + { + action = "current-top"; + key = "zt"; + map = [ "index" ]; + } + { + action = "current-middle"; + key = "zz"; + map = [ "index" ]; + } + { + action = "current-bottom"; + key = "zb"; + map = [ "index" ]; + } + { + action = "toggle-new"; + key = "N"; + map = [ "index" ]; + } + { + action = "previous-line"; + key = "k"; + map = [ "pager" ]; + } + { + action = "next-line"; + key = "j"; + map = [ "pager" ]; + } ]; macros = [ { @@ -413,7 +414,7 @@ in enable = true; extraConfig = { logfile = "~/.msmtp.log"; - }; + }; }; # Configure some clients aerc.enable = false; From 0c254c8109616aa21fe7a1d224051ac5d3e5f1b1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 28 Oct 2023 11:19:42 +0200 Subject: [PATCH 1604/2080] main: install Joplin from unstable. --- home/main.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 8983ebf9..b79606d6 100644 --- a/home/main.nix +++ b/home/main.nix @@ -64,7 +64,7 @@ gparted # Mail khal - joplin-desktop + pkgs-unstable.joplin-desktop liquidctl llvm lm_sensors From 360d1653fb8011612f5d654ee715208c42911d60 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 28 Oct 2023 13:40:43 +0200 Subject: [PATCH 1605/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 113 ++++++++++++++++++++---------------- 1 file changed, 63 insertions(+), 50 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 50de60f4..a79e4a90 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "8bcc241b720517d4e61fcdd2021d1e39008f5415" }, - "LuaSnip": { "branch": "master", "commit": "cdbf6f41381e5ee4810b4b09284b603d8f18365d" }, - "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, + "LazyVim": { "branch": "main", "commit": "9a6b0f8928ad2e802cae36c6b05b94cd9a73451f" }, + "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, + "SchemaStore.nvim": { "branch": "main", "commit": "976e7e3e9c400b99f1cb337b2ce804a9652571ec" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, - "catppuccin": { "branch": "main", "commit": "fc537040147f0374a22b88142a20eb6781141f0b" }, + "catppuccin": { "branch": "main", "commit": "b359f3eec32dcc6b7c9a26901dc235bbb6cd8a0b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -11,70 +11,83 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "conform.nvim": { "branch": "master", "commit": "e75819642c36810a55a7235b6b5e16a5ce896ed3" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, + "conform.nvim": { "branch": "master", "commit": "253878436e2b6d73dfd91ccf0ac12d04cc683d34" }, + "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, - "diffview.nvim": { "branch": "main", "commit": "0437ef8bfdd67156d87140d692840a3c2824fa20" }, - "dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" }, - "flash.nvim": { "branch": "main", "commit": "6d76c5dee65181ab55cbdfb0760260e800d643f4" }, + "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, + "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, + "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, + "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "ff01d34daaed72f271a8ffa088a7e839a60c640f" }, + "gitsigns.nvim": { "branch": "main", "commit": "af0f583cd35286dd6f0e3ed52622728703237e50" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, + "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "877c1db2bf957300097dd5348a665666a4d900cb" }, - "lazy.nvim": { "branch": "main", "commit": "5aaafcb3019e04dd38a011b3d4c8a0f130c422ef" }, + "indent-blankline.nvim": { "branch": "master", "commit": "64fdadb3ada61c4297452f7662789b01ee82ffcb" }, + "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, - "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, - "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, + "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, + "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "40301e1c74bc0946eece13edf2b1c561cc497491" }, + "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, - "mini.bracketed": { "branch": "main", "commit": "ac93e3d6df596c750200aa8529fd352ec91bbad2" }, - "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, - "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, - "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, - "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, - "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, - "neoconf.nvim": { "branch": "main", "commit": "f2f29dfb94890abfe64a0915fa3b31ec2aea85e6" }, - "neodev.nvim": { "branch": "main", "commit": "ee960afffdb95472f719a72a1edb494ffea09c92" }, + "mini.ai": { "branch": "main", "commit": "fc9ce93eb8d58ce1a39101928fb5ea8f8b97844c" }, + "mini.animate": { "branch": "main", "commit": "6e6f2ee99fec91985d3817bfc74fbb4a0aff1c44" }, + "mini.bracketed": { "branch": "main", "commit": "d99f8f6c93e2a4cff1ebc27072d74ba400c8d241" }, + "mini.bufremove": { "branch": "main", "commit": "f53c7f27e36009fe61563c11cde154b94a0e5b94" }, + "mini.comment": { "branch": "main", "commit": "e4320af992cd053a7da2f33d9f63a86c2ab6ce59" }, + "mini.indentscope": { "branch": "main", "commit": "cbc07203ca8faae952ca373c1f6cc5881ce97af0" }, + "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, + "mini.surround": { "branch": "main", "commit": "862cfaef72d789d320625ec34e2488a5cc8fd423" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, + "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, + "neodev.nvim": { "branch": "main", "commit": "7b46fd0f81c9c9ef5d5898879e86ae271152c79f" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "ed99c59d7fda3ba5e2ce9a3adc0a8eb5ebfa6c8f" }, - "neorg": { "branch": "main", "commit": "24e1d4e067aaeed9a2aaae8b65c77ac8c00a0324" }, - "noice.nvim": { "branch": "main", "commit": "7cf858c30841c9c41601ce58e5bc2023228037ef" }, - "none-ls.nvim": { "branch": "main", "commit": "b8fd44ee1616e6a9c995ed5f94ad9f1721d303ef" }, - "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, - "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" }, - "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, + "neogit": { "branch": "master", "commit": "05899be06d611c485cfb6e17ef6e3b695de67b62" }, + "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, + "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, + "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, + "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, + "nvim-lint": { "branch": "master", "commit": "962a76877a4479a535b935bd7ef35ad41ba308b2" }, + "nvim-lspconfig": { "branch": "master", "commit": "cb49a4cd622d7ed775c31561bb8aa6a50712d6b9" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, + "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "957f3f8c15a88ef0f0c77ecd13edf2e2578f176e" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "4724694bc03ce1148860a46d9d77c3664d8188ab" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "7241635869b7a8115893ffa67bab3907756caf4f" }, - "nvim-ufo": { "branch": "main", "commit": "6f2ccdf2da390d62f8f9e15fc5ddbcbd312e1e66" }, - "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, - "octo.nvim": { "branch": "master", "commit": "34101750cd7204ab8750af985f0ac911be8d1cd9" }, - "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, - "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, + "nvim-treesitter": { "branch": "master", "commit": "bf0a96568a54618138ac42c84758945cdafef86b" }, + "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, + "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, + "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, + "nvim-web-devicons": { "branch": "master", "commit": "5de460ca7595806044eced31e3c36c159a493857" }, + "octo.nvim": { "branch": "master", "commit": "e933611c74cb735c00d0db8ca94533bec1444bf0" }, + "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, + "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, + "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "bebfcfcc4b604d3647fcce2f4aeb02a95d139c49" }, - "ssr.nvim": { "branch": "main", "commit": "b2f35df231c6b090f6eb023ddf2ad0cb88d90eb4" }, + "refactoring.nvim": { "branch": "master", "commit": "5831194debd23920a32abd9fefd5dddba44e34fc" }, + "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, + "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, + "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, - "telescope.nvim": { "branch": "master", "commit": "205f469244916716c49cc2b9026566749425c5ba" }, - "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "4412dafadf920deb9e08d4b9c1c11b2cf65ca1ca" }, - "trouble.nvim": { "branch": "main", "commit": "2ea761f697a00954956da9be1b591649d87e9631" }, + "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, + "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" }, + "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, + "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, + "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, + "venv-selector.nvim": { "branch": "main", "commit": "ff3342d4ae8723fab38fed8969b0a1e2c8b6281a" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, - "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, - "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" } + "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, + "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, + "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } } From 57befdea3909bf0b72baf4c9bdc02a75a10324f2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 28 Oct 2023 13:40:52 +0200 Subject: [PATCH 1606/2080] Install gnome tweaks --- machines/brutal/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 533b0854..349c70a3 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -170,6 +170,8 @@ git vim wget + # For gnome + gnome.gnome-tweaks ]; # Fonts From 1893311fb806be102fe577a21122ca8138f849f8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 28 Oct 2023 14:19:35 +0200 Subject: [PATCH 1607/2080] mail: we want to print to the browser --- modules/home/mail/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 5760a7ee..cc4285e2 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -434,6 +434,9 @@ in set mime_forward = ask-yes set mime_forward_rest = ask-yes + # print is used to show html emails in browser + set print = ask-yes + # Bindings # Fetching mail # Some vim-like keys From 662a237ee14f732f22c01840e87c8b815a6e365c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 28 Oct 2023 14:20:04 +0200 Subject: [PATCH 1608/2080] Bye bye zsh --- modules/home/mail/mailcap-linux | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/home/mail/mailcap-linux b/modules/home/mail/mailcap-linux index 60a6dba0..e2b26e43 100644 --- a/modules/home/mail/mailcap-linux +++ b/modules/home/mail/mailcap-linux @@ -70,10 +70,10 @@ application/pgp-signature ; cat %s application/vnd.ms-excel ; mutt_bgrun localc %s ; test=test -n "$DISPLAY" > /dev/null application/vnd.oasis.opendocument.spreadsheet ; mutt_bgrun scalc %s ; test=test -n "$DISPLAY" > /dev/null application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; mutt_bgrun localc %s ; test=test -n "$DISPLAY" > /dev/null -application/msword ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null -application/wps-office.docx ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null -application/vnd.openxmlformats-officedocument.wordprocessingml.document ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null -application/vnd.openxmlformats-officedocument.wordprocessingml.documen ; mutt_bgrun lowriter %s ; test=zsh -c "export | egrep '^DISPLAY='" > /dev/null +application/msword ; mutt_bgrun lowriter %s ; test=bash -c "export | egrep '^DISPLAY='" > /dev/null +application/wps-office.docx ; mutt_bgrun lowriter %s ; test=bash -c "export | egrep '^DISPLAY='" > /dev/null +application/vnd.openxmlformats-officedocument.wordprocessingml.document ; mutt_bgrun lowriter %s ; test=bash -c "export | egrep '^DISPLAY='" > /dev/null +application/vnd.openxmlformats-officedocument.wordprocessingml.documen ; mutt_bgrun lowriter %s ; test=bash -c "export | egrep '^DISPLAY='" > /dev/null application/msword ; antiword %s ; copiousoutput application/x-msword ; antiword %s ; copiousoutput #application/vnd.oasis.opendocument.text ; odt2txt %s ; copiousoutput From 1ae79dd753163854cffee3a30a72e95d586168b4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 29 Oct 2023 09:48:42 +0100 Subject: [PATCH 1609/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5240f631102f4aba8c498f07b3996355edbe62fa' (2023-10-28) → 'github:nix-community/neovim-nightly-overlay/49b3f3a92dbe372734fd2d38689b5162b223e375' (2023-10-29) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/d2e7cc68e99019587a4c5184a47677a6837bbee9?dir=contrib' (2023-10-27) → 'github:neovim/neovim/a5629abce29668e9781768986f7e799ba429f017?dir=contrib' (2023-10-28) • Updated input 'nur': 'github:nix-community/NUR/9700207021a6611091001f53cfed2435cf2f48b9' (2023-10-28) → 'github:nix-community/NUR/27a5954c465244f1e8be091a7fc0728bcc2d9f14' (2023-10-29) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 34055c46..59307464 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698446648, - "narHash": "sha256-MaTLlpuHghjtPEa2j8v3Mng/rs6PE45MrHDwCY+662Q=", + "lastModified": 1698536227, + "narHash": "sha256-xHourV9W1QtdQnVyUCrqDSbbAYOxG9aYe15tplMR6uY=", "owner": "neovim", "repo": "neovim", - "rev": "d2e7cc68e99019587a4c5184a47677a6837bbee9", + "rev": "a5629abce29668e9781768986f7e799ba429f017", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1698451297, - "narHash": "sha256-0GRhzCAmWJNZpbsFhSQfh2MMrN52KfklpeiU6NW3tJU=", + "lastModified": 1698537676, + "narHash": "sha256-jgpXjMF3GO7bnbpkLiEdd4uEE51Me9Wbzqw8XXafj3s=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5240f631102f4aba8c498f07b3996355edbe62fa", + "rev": "49b3f3a92dbe372734fd2d38689b5162b223e375", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698479881, - "narHash": "sha256-1tECyhfEe7KPs47DjP2vLD4uqkq5iIPGo2elpyrecPs=", + "lastModified": 1698566424, + "narHash": "sha256-CYLEcLo34Nc2XD+jabwwP33ep6XVeYx4UT+Fn1pcFSg=", "owner": "nix-community", "repo": "NUR", - "rev": "9700207021a6611091001f53cfed2435cf2f48b9", + "rev": "27a5954c465244f1e8be091a7fc0728bcc2d9f14", "type": "github" }, "original": { From 5e0643821e8a08b0a2cc5c11d2edc5481939e10f Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 29 Oct 2023 09:51:58 +0100 Subject: [PATCH 1610/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index a79e4a90..9ca06291 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "253878436e2b6d73dfd91ccf0ac12d04cc683d34" }, + "conform.nvim": { "branch": "master", "commit": "3d639d6155a63e3143920b739cee02f3faa1b4db" }, "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, @@ -43,7 +43,7 @@ "mini.surround": { "branch": "main", "commit": "862cfaef72d789d320625ec34e2488a5cc8fd423" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, - "neodev.nvim": { "branch": "main", "commit": "7b46fd0f81c9c9ef5d5898879e86ae271152c79f" }, + "neodev.nvim": { "branch": "main", "commit": "f3f5d756f4043180523bb69072a104f7216b5f42" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "05899be06d611c485cfb6e17ef6e3b695de67b62" }, "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, @@ -51,13 +51,13 @@ "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, "nvim-lint": { "branch": "master", "commit": "962a76877a4479a535b935bd7ef35ad41ba308b2" }, - "nvim-lspconfig": { "branch": "master", "commit": "cb49a4cd622d7ed775c31561bb8aa6a50712d6b9" }, + "nvim-lspconfig": { "branch": "master", "commit": "d0467b9574b48429debf83f8248d8cee79562586" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "bf0a96568a54618138ac42c84758945cdafef86b" }, + "nvim-treesitter": { "branch": "master", "commit": "d2fe87062dde25e7fdadac061f6ca04541275e31" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, From 9aed4e406716680bd19ff89f175c23170c3a15db Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 30 Oct 2023 08:51:39 +0100 Subject: [PATCH 1611/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/19f75c2b45fbfc307ecfeb9dadc41a4c1e4fb980' (2023-10-19) → 'github:lnl7/nix-darwin/afe83cbc2e673b1f08d32dd0f70df599678ff1e7' (2023-10-27) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/11e493ce9fdab9bf7462c5a343a940858387b35a' (2023-10-26) → 'github:nix-community/neovim-nightly-overlay/06a5aedc5a6da00f5340deff07a41dd9b4b6e31b' (2023-10-30) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4' (2023-10-03) → 'github:hercules-ci/flake-parts/f76e870d64779109e41370848074ac4eaa1606ec' (2023-10-29) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/f2fc44550fbe5b7ebfedc2b155dc41e93f49aedb?dir=contrib' (2023-10-25) → 'github:neovim/neovim/8405649f92a8a8eb254944eca15e8b0169cbb6fb?dir=contrib' (2023-10-29) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/51d906d2341c9e866e48c2efcaac0f2d70bfd43e' (2023-10-21) → 'github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035' (2023-10-29) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/04f431fe64a5ba8ff129cbbbfec489cfe903982c' (2023-10-24) → 'github:NixOS/nixpkgs/1a3c95e3b23b3cdb26750621c08cc2f1560cb883' (2023-10-27) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/39506d70cbdcf23b4d91f99a3a44f11ea113a9e7' (2023-10-25) → 'github:nixos/nixpkgs/3e10c80821dedb93592682379f476745f370a58e' (2023-10-29) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/8efd5d1e283604f75a808a20e6cde0ef313d07d4' (2023-10-24) → 'github:nixos/nixpkgs/63678e9f3d3afecfeafa0acead6239cdb447574c' (2023-10-26) • Updated input 'nur': 'github:nix-community/NUR/6fa9c6ce2fe0d9825a05070bc33b6578158a77ff' (2023-10-26) → 'github:nix-community/NUR/c75f9ae97b7102b5ed28d7cba7e73f3e1c478f7d' (2023-10-30) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 59307464..9d8b261c 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1698579227, + "narHash": "sha256-KVWjFZky+gRuWennKsbo6cWyo7c/z/VgCte5pR9pEKg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "f76e870d64779109e41370848074ac4eaa1606ec", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698536227, - "narHash": "sha256-xHourV9W1QtdQnVyUCrqDSbbAYOxG9aYe15tplMR6uY=", + "lastModified": 1698578059, + "narHash": "sha256-ag1gtyLgdz42ytzv3X+6T8ir1Ul1fiPTg5NCf8RWs/s=", "owner": "neovim", "repo": "neovim", - "rev": "a5629abce29668e9781768986f7e799ba429f017", + "rev": "8405649f92a8a8eb254944eca15e8b0169cbb6fb", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1698537676, - "narHash": "sha256-jgpXjMF3GO7bnbpkLiEdd4uEE51Me9Wbzqw8XXafj3s=", + "lastModified": 1698624085, + "narHash": "sha256-n3Qy+j0Y3Tiw/JtxnDdWLiReTodikcxzvAr2CgvqMwM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "49b3f3a92dbe372734fd2d38689b5162b223e375", + "rev": "06a5aedc5a6da00f5340deff07a41dd9b4b6e31b", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1698336494, - "narHash": "sha256-sO72WDBKyijYD1GcKPlGsycKbMBiTJMBCnmOxLAs880=", + "lastModified": 1698553279, + "narHash": "sha256-T/9P8yBSLcqo/v+FTOBK+0rjzjPMctVymZydbvR/Fak=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "808c0d8c53c7ae50f82aca8e7df263225cf235bf", + "rev": "90e85bc7c1a6fc0760a94ace129d3a1c61c3d035", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1698300480, - "narHash": "sha256-s7EmRTsmoRs0z4kV1Z27DFhzXRC+iOFCI3gFkyvgn+8=", + "lastModified": 1698562188, + "narHash": "sha256-9nkxGnA/T+jLhHAMFRW157Qi/zfbf5dF1q7HfKROl3o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dd5e0f5697d1fe7c86de787f457c86b9d2c4b866", + "rev": "3e10c80821dedb93592682379f476745f370a58e", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1698288402, - "narHash": "sha256-jIIjApPdm+4yt8PglX8pUOexAdEiAax/DXW3S/Mb21E=", + "lastModified": 1698434055, + "narHash": "sha256-Phxi5mUKSoL7A0IYUiYtkI9e8NcGaaV5PJEaJApU1Ko=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "60b9db998f71ea49e1a9c41824d09aa274be1344", + "rev": "1a3c95e3b23b3cdb26750621c08cc2f1560cb883", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698566424, - "narHash": "sha256-CYLEcLo34Nc2XD+jabwwP33ep6XVeYx4UT+Fn1pcFSg=", + "lastModified": 1698651264, + "narHash": "sha256-9BYnd0nSdIGdNb9iTxexfJJO+uQEVV1DxVODd5MIcO0=", "owner": "nix-community", "repo": "NUR", - "rev": "27a5954c465244f1e8be091a7fc0728bcc2d9f14", + "rev": "c75f9ae97b7102b5ed28d7cba7e73f3e1c478f7d", "type": "github" }, "original": { From 77d63e8a9d0137709a33d50b4563abfd446e97d2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 30 Oct 2023 09:26:03 +0100 Subject: [PATCH 1612/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/c75f9ae97b7102b5ed28d7cba7e73f3e1c478f7d' (2023-10-30) → 'github:nix-community/NUR/d5966817a266600eceaab06b697c71b68d7df08a' (2023-10-30) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 9d8b261c..5abb989b 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698651264, - "narHash": "sha256-9BYnd0nSdIGdNb9iTxexfJJO+uQEVV1DxVODd5MIcO0=", + "lastModified": 1698653226, + "narHash": "sha256-CJsMfmhjeNlFL0dqYRiScgmQaErKpolDEysKi+9AuKc=", "owner": "nix-community", "repo": "NUR", - "rev": "c75f9ae97b7102b5ed28d7cba7e73f3e1c478f7d", + "rev": "d5966817a266600eceaab06b697c71b68d7df08a", "type": "github" }, "original": { From ddc77e2b4c1c7c483ba4fe14730dfdb803be5e8c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 30 Oct 2023 10:17:50 +0100 Subject: [PATCH 1613/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 9ca06291..8af17141 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -25,7 +25,7 @@ "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "64fdadb3ada61c4297452f7662789b01ee82ffcb" }, + "indent-blankline.nvim": { "branch": "master", "commit": "6c107f6dc8a191e2045b9697d17e30b6bc67f1a0" }, "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, @@ -43,10 +43,10 @@ "mini.surround": { "branch": "main", "commit": "862cfaef72d789d320625ec34e2488a5cc8fd423" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, - "neodev.nvim": { "branch": "main", "commit": "f3f5d756f4043180523bb69072a104f7216b5f42" }, + "neodev.nvim": { "branch": "main", "commit": "0491a9c7a1775fa5380ecf38d79de1a32f68cc52" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "05899be06d611c485cfb6e17ef6e3b695de67b62" }, - "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, + "neorg": { "branch": "main", "commit": "9ffc5ac49dbb5ea6f008b6fbc6e3c1e85e66911c" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, @@ -57,7 +57,7 @@ "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "d2fe87062dde25e7fdadac061f6ca04541275e31" }, + "nvim-treesitter": { "branch": "master", "commit": "c36681bb496ebce2946867459ed08774cb61788c" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, From b7205160a04bacb8cfd5de2dbd979dc92728ee48 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 30 Oct 2023 10:18:57 +0100 Subject: [PATCH 1614/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 8af17141..f489efd3 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -57,7 +57,7 @@ "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "c36681bb496ebce2946867459ed08774cb61788c" }, + "nvim-treesitter": { "branch": "master", "commit": "6f8387f05d2cbb357fededf35ea4311703104a11" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, From 9ad66047cce81d3ac969ea37747a5e25a075c04c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 30 Oct 2023 10:35:30 +0100 Subject: [PATCH 1615/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/d5966817a266600eceaab06b697c71b68d7df08a' (2023-10-30) → 'github:nix-community/NUR/342388a75e84671977fc45e1b1b8a9d83c695d69' (2023-10-30) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 5abb989b..fe58f540 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698653226, - "narHash": "sha256-CJsMfmhjeNlFL0dqYRiScgmQaErKpolDEysKi+9AuKc=", + "lastModified": 1698655860, + "narHash": "sha256-DzJIwLKgUanY17tLTF1DaZFzaDgEB71n8H/OmKHrX3U=", "owner": "nix-community", "repo": "NUR", - "rev": "d5966817a266600eceaab06b697c71b68d7df08a", + "rev": "342388a75e84671977fc45e1b1b8a9d83c695d69", "type": "github" }, "original": { From 11cc70e6793b95bc9712e754bd8bee4c2c434bd3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 31 Oct 2023 13:47:34 +0100 Subject: [PATCH 1616/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/06a5aedc5a6da00f5340deff07a41dd9b4b6e31b' (2023-10-30) → 'github:nix-community/neovim-nightly-overlay/18b6246179670aa3fd4fe983610e56c419191f0d' (2023-10-31) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/8405649f92a8a8eb254944eca15e8b0169cbb6fb?dir=contrib' (2023-10-29) → 'github:neovim/neovim/6d1a2f2c3c51560555ea6f7867273635d07eb287?dir=contrib' (2023-10-30) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/1a3c95e3b23b3cdb26750621c08cc2f1560cb883' (2023-10-27) → 'github:NixOS/nixpkgs/3e10c80821dedb93592682379f476745f370a58e' (2023-10-29) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/3e10c80821dedb93592682379f476745f370a58e' (2023-10-29) → 'github:nixos/nixpkgs/5896110a4e861bf2e675a3c3d8a171793fce2599' (2023-10-29) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/63678e9f3d3afecfeafa0acead6239cdb447574c' (2023-10-26) → 'github:nixos/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735' (2023-10-29) • Updated input 'nur': 'github:nix-community/NUR/342388a75e84671977fc45e1b1b8a9d83c695d69' (2023-10-30) → 'github:nix-community/NUR/33b858fd05836bfedd67bafaffa654ee4fcaf103' (2023-10-31) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index fe58f540..0f9d43a8 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698578059, - "narHash": "sha256-ag1gtyLgdz42ytzv3X+6T8ir1Ul1fiPTg5NCf8RWs/s=", + "lastModified": 1698692817, + "narHash": "sha256-MDsFv1QQmNg9qDEQZB3Q/2g/Cru4ryNmmbTj7/DSZLo=", "owner": "neovim", "repo": "neovim", - "rev": "8405649f92a8a8eb254944eca15e8b0169cbb6fb", + "rev": "6d1a2f2c3c51560555ea6f7867273635d07eb287", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1698624085, - "narHash": "sha256-n3Qy+j0Y3Tiw/JtxnDdWLiReTodikcxzvAr2CgvqMwM=", + "lastModified": 1698710448, + "narHash": "sha256-uMyGinUm0OzVQCCl/RjVL1gG/a+yR7ufNo6a9KAhp8g=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "06a5aedc5a6da00f5340deff07a41dd9b4b6e31b", + "rev": "18b6246179670aa3fd4fe983610e56c419191f0d", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1698562188, - "narHash": "sha256-9nkxGnA/T+jLhHAMFRW157Qi/zfbf5dF1q7HfKROl3o=", + "lastModified": 1698607745, + "narHash": "sha256-J5QPuWxE17nO/UZJKEbupEM6Zx1wXIo/C+iP+44Hvl0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e10c80821dedb93592682379f476745f370a58e", + "rev": "5896110a4e861bf2e675a3c3d8a171793fce2599", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1698318101, - "narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "63678e9f3d3afecfeafa0acead6239cdb447574c", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1698434055, - "narHash": "sha256-Phxi5mUKSoL7A0IYUiYtkI9e8NcGaaV5PJEaJApU1Ko=", + "lastModified": 1698562188, + "narHash": "sha256-9nkxGnA/T+jLhHAMFRW157Qi/zfbf5dF1q7HfKROl3o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1a3c95e3b23b3cdb26750621c08cc2f1560cb883", + "rev": "3e10c80821dedb93592682379f476745f370a58e", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698655860, - "narHash": "sha256-DzJIwLKgUanY17tLTF1DaZFzaDgEB71n8H/OmKHrX3U=", + "lastModified": 1698755639, + "narHash": "sha256-MeFyrG38qHTc567KQAxDuXAUv2IE8J6xtMANBBGkmIY=", "owner": "nix-community", "repo": "NUR", - "rev": "342388a75e84671977fc45e1b1b8a9d83c695d69", + "rev": "33b858fd05836bfedd67bafaffa654ee4fcaf103", "type": "github" }, "original": { From 57c409971ee8d6ab7500d09499609f8ee5452a81 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 1 Nov 2023 12:58:08 +0100 Subject: [PATCH 1617/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/18b6246179670aa3fd4fe983610e56c419191f0d' (2023-10-31) → 'github:nix-community/neovim-nightly-overlay/234cabb19dee74f1c6e7df3d52798c755e313392' (2023-11-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/6d1a2f2c3c51560555ea6f7867273635d07eb287?dir=contrib' (2023-10-30) → 'github:neovim/neovim/746a153bc1a1bc1433a1246fcf454eeb058b9de1?dir=contrib' (2023-10-31) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/3e10c80821dedb93592682379f476745f370a58e' (2023-10-29) → 'github:NixOS/nixpkgs/017ef2132a5bda50bd713aeabce8f918502d4ec1' (2023-10-30) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/5896110a4e861bf2e675a3c3d8a171793fce2599' (2023-10-29) → 'github:nixos/nixpkgs/fe74d948b59f71ac2c535d795b0d56b0dec0d0ff' (2023-10-31) • Updated input 'nur': 'github:nix-community/NUR/33b858fd05836bfedd67bafaffa654ee4fcaf103' (2023-10-31) → 'github:nix-community/NUR/75d9951ea73cd0101fcfab9bc30e92be95d384a2' (2023-11-01) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 0f9d43a8..ada77c22 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698692817, - "narHash": "sha256-MDsFv1QQmNg9qDEQZB3Q/2g/Cru4ryNmmbTj7/DSZLo=", + "lastModified": 1698765225, + "narHash": "sha256-K30xCGRbmKYj+NY7O0lvsPGctVp6shfQs61BAVq0Plc=", "owner": "neovim", "repo": "neovim", - "rev": "6d1a2f2c3c51560555ea6f7867273635d07eb287", + "rev": "746a153bc1a1bc1433a1246fcf454eeb058b9de1", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1698710448, - "narHash": "sha256-uMyGinUm0OzVQCCl/RjVL1gG/a+yR7ufNo6a9KAhp8g=", + "lastModified": 1698796878, + "narHash": "sha256-PYJ3JhhiAfGMODUDJ7HAB0BWJuHPZXLb/Zxo1OQDStA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "18b6246179670aa3fd4fe983610e56c419191f0d", + "rev": "234cabb19dee74f1c6e7df3d52798c755e313392", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1698607745, - "narHash": "sha256-J5QPuWxE17nO/UZJKEbupEM6Zx1wXIo/C+iP+44Hvl0=", + "lastModified": 1698756658, + "narHash": "sha256-+8PVTKQx7wRVDWYfTGgUGCuymXpLjla0Hy3uvHKndaA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5896110a4e861bf2e675a3c3d8a171793fce2599", + "rev": "fe74d948b59f71ac2c535d795b0d56b0dec0d0ff", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1698562188, - "narHash": "sha256-9nkxGnA/T+jLhHAMFRW157Qi/zfbf5dF1q7HfKROl3o=", + "lastModified": 1698696950, + "narHash": "sha256-FHFL58t6lMumvWqwundC8fDDDLOIvc+JJBNIAlPjrDY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e10c80821dedb93592682379f476745f370a58e", + "rev": "017ef2132a5bda50bd713aeabce8f918502d4ec1", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698755639, - "narHash": "sha256-MeFyrG38qHTc567KQAxDuXAUv2IE8J6xtMANBBGkmIY=", + "lastModified": 1698839260, + "narHash": "sha256-umE4k9Sb6EEBAVTTRU73kuFRyioqb/MCzSLAxmEtWvY=", "owner": "nix-community", "repo": "NUR", - "rev": "33b858fd05836bfedd67bafaffa654ee4fcaf103", + "rev": "75d9951ea73cd0101fcfab9bc30e92be95d384a2", "type": "github" }, "original": { From 601ddd02ef0a42ab38a890e7571a1b86e4cc56b6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 1 Nov 2023 13:16:53 +0100 Subject: [PATCH 1618/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/fe74d948b59f71ac2c535d795b0d56b0dec0d0ff' (2023-10-31) → 'github:nixos/nixpkgs/864814c092a7b9965104ce0b6639dc986350050b' (2023-10-31) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index ada77c22..61312348 100644 --- a/flake.lock +++ b/flake.lock @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1698756658, - "narHash": "sha256-+8PVTKQx7wRVDWYfTGgUGCuymXpLjla0Hy3uvHKndaA=", + "lastModified": 1698795814, + "narHash": "sha256-HFjjlZY62hUdWYjnyRdAy7OoNChpC0zqiqVXAIcQFCw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fe74d948b59f71ac2c535d795b0d56b0dec0d0ff", + "rev": "864814c092a7b9965104ce0b6639dc986350050b", "type": "github" }, "original": { From 68f16f58a6940c930f276fcc96f9bd0a780898ae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 1 Nov 2023 22:12:09 +0100 Subject: [PATCH 1619/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/234cabb19dee74f1c6e7df3d52798c755e313392' (2023-11-01) → 'github:nix-community/neovim-nightly-overlay/3e1be25cc29a7d2311d49d9b2cc116cc77c02a9e' (2023-11-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/746a153bc1a1bc1433a1246fcf454eeb058b9de1?dir=contrib' (2023-10-31) → 'github:neovim/neovim/20dd9f3a26e45a1b4c95ba33d6c9f300184fc361?dir=contrib' (2023-11-01) • Updated input 'nur': 'github:nix-community/NUR/75d9951ea73cd0101fcfab9bc30e92be95d384a2' (2023-11-01) → 'github:nix-community/NUR/0c98bbfd083eabf927ff00298ed976377b224ab9' (2023-11-01) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 61312348..522e28f2 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698765225, - "narHash": "sha256-K30xCGRbmKYj+NY7O0lvsPGctVp6shfQs61BAVq0Plc=", + "lastModified": 1698833855, + "narHash": "sha256-J7Nvy+RmhBKx+d2XOzePVmVo6qXARoxe730J4UV1RV0=", "owner": "neovim", "repo": "neovim", - "rev": "746a153bc1a1bc1433a1246fcf454eeb058b9de1", + "rev": "20dd9f3a26e45a1b4c95ba33d6c9f300184fc361", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1698796878, - "narHash": "sha256-PYJ3JhhiAfGMODUDJ7HAB0BWJuHPZXLb/Zxo1OQDStA=", + "lastModified": 1698849803, + "narHash": "sha256-6bBKsRbMpQzC4dxzgov1XnwzNYaUAMYFaU153oTk1eo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "234cabb19dee74f1c6e7df3d52798c755e313392", + "rev": "3e1be25cc29a7d2311d49d9b2cc116cc77c02a9e", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698839260, - "narHash": "sha256-umE4k9Sb6EEBAVTTRU73kuFRyioqb/MCzSLAxmEtWvY=", + "lastModified": 1698872697, + "narHash": "sha256-fPI99YWpufYaFYwLIGY8ewR1Z868FeGeyTBGEu1PPB4=", "owner": "nix-community", "repo": "NUR", - "rev": "75d9951ea73cd0101fcfab9bc30e92be95d384a2", + "rev": "0c98bbfd083eabf927ff00298ed976377b224ab9", "type": "github" }, "original": { From d61528f1c89622ed601b3f8456c957520925e9da Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 2 Nov 2023 09:29:08 +0100 Subject: [PATCH 1620/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/017ef2132a5bda50bd713aeabce8f918502d4ec1' (2023-10-30) → 'github:NixOS/nixpkgs/34bdaaf1f0b7fb6d9091472edc968ff10a8c2857' (2023-11-01) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/864814c092a7b9965104ce0b6639dc986350050b' (2023-10-31) → 'github:nixos/nixpkgs/01c8900eba0d189c3463b2825b534baa616bec39' (2023-11-01) • Updated input 'nur': 'github:nix-community/NUR/0c98bbfd083eabf927ff00298ed976377b224ab9' (2023-11-01) → 'github:nix-community/NUR/9657803c2d7c60bd4fcf30ef99fc282cc757511c' (2023-11-02) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 522e28f2..cf05e229 100644 --- a/flake.lock +++ b/flake.lock @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1698795814, - "narHash": "sha256-HFjjlZY62hUdWYjnyRdAy7OoNChpC0zqiqVXAIcQFCw=", + "lastModified": 1698846972, + "narHash": "sha256-sNyRLKptt7nsr3u44vChvwpJ/G1xWQVBPoIAa9jpDbw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "864814c092a7b9965104ce0b6639dc986350050b", + "rev": "01c8900eba0d189c3463b2825b534baa616bec39", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1698696950, - "narHash": "sha256-FHFL58t6lMumvWqwundC8fDDDLOIvc+JJBNIAlPjrDY=", + "lastModified": 1698846319, + "narHash": "sha256-4jyW/dqFBVpWFnhl0nvP6EN4lP7/ZqPxYRjl6var0Oc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "017ef2132a5bda50bd713aeabce8f918502d4ec1", + "rev": "34bdaaf1f0b7fb6d9091472edc968ff10a8c2857", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698872697, - "narHash": "sha256-fPI99YWpufYaFYwLIGY8ewR1Z868FeGeyTBGEu1PPB4=", + "lastModified": 1698912004, + "narHash": "sha256-1231gzJoh5Ix03uAfZuIVTs+eT00E+EvCHdpmce8zaU=", "owner": "nix-community", "repo": "NUR", - "rev": "0c98bbfd083eabf927ff00298ed976377b224ab9", + "rev": "9657803c2d7c60bd4fcf30ef99fc282cc757511c", "type": "github" }, "original": { From c8fa028d214f39c2835e1f7b4d606fad7f08c34e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 3 Nov 2023 11:15:03 +0100 Subject: [PATCH 1621/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/3e1be25cc29a7d2311d49d9b2cc116cc77c02a9e' (2023-11-01) → 'github:nix-community/neovim-nightly-overlay/99bd5e05c0f964369a8cb1e157841f7ea3d975b2' (2023-11-02) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/f76e870d64779109e41370848074ac4eaa1606ec' (2023-10-29) → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/20dd9f3a26e45a1b4c95ba33d6c9f300184fc361?dir=contrib' (2023-11-01) → 'github:neovim/neovim/363e029e7ae295d2f9c711b9387da43aaf692b9a?dir=contrib' (2023-11-02) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035' (2023-10-29) → 'github:NixOS/nixpkgs/c082856b850ec60cda9f0a0db2bc7bd8900d708c' (2023-11-02) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/01c8900eba0d189c3463b2825b534baa616bec39' (2023-11-01) → 'github:nixos/nixpkgs/621f51253edffa1d6f08d5fce4f08614c852d17e' (2023-11-02) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735' (2023-10-29) → 'github:nixos/nixpkgs/fa804edfb7869c9fb230e174182a8a1a7e512c40' (2023-11-02) • Updated input 'nur': 'github:nix-community/NUR/9657803c2d7c60bd4fcf30ef99fc282cc757511c' (2023-11-02) → 'github:nix-community/NUR/77be844f9f98a9abd055dca953f60a15f4f457e3' (2023-11-03) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index cf05e229..42835ca6 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1698579227, - "narHash": "sha256-KVWjFZky+gRuWennKsbo6cWyo7c/z/VgCte5pR9pEKg=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f76e870d64779109e41370848074ac4eaa1606ec", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698833855, - "narHash": "sha256-J7Nvy+RmhBKx+d2XOzePVmVo6qXARoxe730J4UV1RV0=", + "lastModified": 1698918956, + "narHash": "sha256-MHzTGarPtreBBT4gz+k45oneJxs2auwybvAC1Q5+9pc=", "owner": "neovim", "repo": "neovim", - "rev": "20dd9f3a26e45a1b4c95ba33d6c9f300184fc361", + "rev": "363e029e7ae295d2f9c711b9387da43aaf692b9a", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1698849803, - "narHash": "sha256-6bBKsRbMpQzC4dxzgov1XnwzNYaUAMYFaU153oTk1eo=", + "lastModified": 1698927459, + "narHash": "sha256-lV6Emn3K/PGo+7RDlqc4VNRyndZI8K1pXgyNIAv/uNg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3e1be25cc29a7d2311d49d9b2cc116cc77c02a9e", + "rev": "99bd5e05c0f964369a8cb1e157841f7ea3d975b2", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1698553279, - "narHash": "sha256-T/9P8yBSLcqo/v+FTOBK+0rjzjPMctVymZydbvR/Fak=", + "lastModified": 1698890957, + "narHash": "sha256-DJ+SppjpPBoJr0Aro9TAcP3sxApCSieY6BYBCoWGUX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "90e85bc7c1a6fc0760a94ace129d3a1c61c3d035", + "rev": "c082856b850ec60cda9f0a0db2bc7bd8900d708c", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1698846972, - "narHash": "sha256-sNyRLKptt7nsr3u44vChvwpJ/G1xWQVBPoIAa9jpDbw=", + "lastModified": 1698942558, + "narHash": "sha256-/UmnB+mEd6Eg3mJBrAgqRcyZX//RSjHphcCO7Ig9Bpk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "01c8900eba0d189c3463b2825b534baa616bec39", + "rev": "621f51253edffa1d6f08d5fce4f08614c852d17e", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1698611440, - "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", + "lastModified": 1698924604, + "narHash": "sha256-GCFbkl2tj8fEZBZCw3Tc0AkGo0v+YrQlohhEGJ/X4s0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", + "rev": "fa804edfb7869c9fb230e174182a8a1a7e512c40", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698912004, - "narHash": "sha256-1231gzJoh5Ix03uAfZuIVTs+eT00E+EvCHdpmce8zaU=", + "lastModified": 1698998629, + "narHash": "sha256-GTtpmmkfmNXLnyNfMN+g1kz1KAzaAABG5WJbywSM7yI=", "owner": "nix-community", "repo": "NUR", - "rev": "9657803c2d7c60bd4fcf30ef99fc282cc757511c", + "rev": "77be844f9f98a9abd055dca953f60a15f4f457e3", "type": "github" }, "original": { From 152f4d7a4b9548973478476cb6af63181e2fd033 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 3 Nov 2023 15:08:51 +0100 Subject: [PATCH 1622/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/77be844f9f98a9abd055dca953f60a15f4f457e3' (2023-11-03) → 'github:nix-community/NUR/61188926d449a41414cd0709084d4aad03829386' (2023-11-03) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 42835ca6..9ef166c2 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1698998629, - "narHash": "sha256-GTtpmmkfmNXLnyNfMN+g1kz1KAzaAABG5WJbywSM7yI=", + "lastModified": 1699019213, + "narHash": "sha256-QxQsO88lV2s/zr8hEksriNyemzSZPQsO44sXDK89UNE=", "owner": "nix-community", "repo": "NUR", - "rev": "77be844f9f98a9abd055dca953f60a15f4f457e3", + "rev": "61188926d449a41414cd0709084d4aad03829386", "type": "github" }, "original": { From 458236b56ea7437c8cdd47e27d17ef1c38f77c0c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Sat, 4 Nov 2023 10:03:30 +0100 Subject: [PATCH 1623/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index f489efd3..b180c514 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "9a6b0f8928ad2e802cae36c6b05b94cd9a73451f" }, "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "976e7e3e9c400b99f1cb337b2ce804a9652571ec" }, - "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, - "catppuccin": { "branch": "main", "commit": "b359f3eec32dcc6b7c9a26901dc235bbb6cd8a0b" }, + "SchemaStore.nvim": { "branch": "main", "commit": "98afa085f8bee6a7d4ffb1b025248e4d0555a14b" }, + "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, + "catppuccin": { "branch": "main", "commit": "40dc9f0621c55bd40da4ad0731fac44d15bb393a" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "3d639d6155a63e3143920b739cee02f3faa1b4db" }, + "conform.nvim": { "branch": "master", "commit": "2c1e852fbf723b7d89b14fd28089472d92edeeb9" }, "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, @@ -25,13 +25,13 @@ "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "6c107f6dc8a191e2045b9697d17e30b6bc67f1a0" }, + "indent-blankline.nvim": { "branch": "master", "commit": "29be0919b91fb59eca9e90690d76014233392bef" }, "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "40301e1c74bc0946eece13edf2b1c561cc497491" }, - "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, + "mason.nvim": { "branch": "main", "commit": "eabf6d347fdb75be360d4c0ced1145670a171453" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fc9ce93eb8d58ce1a39101928fb5ea8f8b97844c" }, "mini.animate": { "branch": "main", "commit": "6e6f2ee99fec91985d3817bfc74fbb4a0aff1c44" }, @@ -43,21 +43,24 @@ "mini.surround": { "branch": "main", "commit": "862cfaef72d789d320625ec34e2488a5cc8fd423" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, - "neodev.nvim": { "branch": "main", "commit": "0491a9c7a1775fa5380ecf38d79de1a32f68cc52" }, + "neodev.nvim": { "branch": "main", "commit": "80487e4f7bfa11c2ef2a1b461963db019aad6a73" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "05899be06d611c485cfb6e17ef6e3b695de67b62" }, + "neogit": { "branch": "master", "commit": "5a2d4688a80d67dc224375c78e62ffd7dc1e79e6" }, "neorg": { "branch": "main", "commit": "9ffc5ac49dbb5ea6f008b6fbc6e3c1e85e66911c" }, + "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, + "neorg-telescope": { "branch": "main", "commit": "c3d25cc46145fba82c410245fb5bea66945eb1de" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" }, "nvim-lint": { "branch": "master", "commit": "962a76877a4479a535b935bd7ef35ad41ba308b2" }, "nvim-lspconfig": { "branch": "master", "commit": "d0467b9574b48429debf83f8248d8cee79562586" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, - "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, + "nvim-spectre": { "branch": "master", "commit": "5c3474fbe1028844cfe5a9c238366da04c2e7551" }, + "nvim-spider": { "branch": "main", "commit": "86236bfc573ae45193bf0eb663be8a7184458281" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "6f8387f05d2cbb357fededf35ea4311703104a11" }, + "nvim-treesitter": { "branch": "master", "commit": "1920285ec11654072f14d07258e73ef792ac9005" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, @@ -70,7 +73,7 @@ "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "5831194debd23920a32abd9fefd5dddba44e34fc" }, - "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, + "semshi": { "branch": "master", "commit": "eddc5304d7aa99e140c89f40393c9f109f4e9115" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, @@ -79,9 +82,10 @@ "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, + "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "ff3342d4ae8723fab38fed8969b0a1e2c8b6281a" }, + "venv-selector.nvim": { "branch": "main", "commit": "48c9cd0dbc0ce3cc02fd6164e4f665dba338a3ec" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From 6314d48d3673176ac4407b5ba6976f7121b78426 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Sat, 4 Nov 2023 10:03:36 +0100 Subject: [PATCH 1624/2080] lazyvim: some more telescope for neorg + colorizer. --- lazyvim/nvim/lua/plugins/neorg.lua | 7 ++++++- lazyvim/nvim/lua/plugins/tools.lua | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/neorg.lua b/lazyvim/nvim/lua/plugins/neorg.lua index 646d545c..cc6bbb93 100644 --- a/lazyvim/nvim/lua/plugins/neorg.lua +++ b/lazyvim/nvim/lua/plugins/neorg.lua @@ -10,7 +10,7 @@ return { ft = "norg", build = ":Neorg sync-parsers", cmd = "Neorg", - dependencies = { "nvim-lua/plenary.nvim" }, + dependencies = { "nvim-lua/plenary.nvim", "max397574/neorg-contexts", "nvim-neorg/neorg-telescope" }, opts = { load = { -- Load default modules @@ -28,6 +28,11 @@ return { }, }, }, + ["core.summary"] = {}, + -- Neovim 0.10.0+ required for core.tempus module + -- ["core.ui.calendar"] = {}, + ["core.integrations.telescope"] = {}, + ["external.context"] = {}, }, }, }, diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 5ef2e36a..ac54fcfd 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -49,6 +49,11 @@ return { keys = { { "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "DiffView" } }, }, + -- Color hex/rgb color codes + { + "norcalli/nvim-colorizer.lua", + }, + -- ChatGPT client -- { -- "jackMort/ChatGPT.nvim", From 4d31f62933cc58b2730b45182bffcfd6877a5774 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Sat, 4 Nov 2023 10:04:11 +0100 Subject: [PATCH 1625/2080] flake.nix: clean dead code --- flake.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/flake.nix b/flake.nix index 50235c02..93d30cab 100644 --- a/flake.nix +++ b/flake.nix @@ -31,9 +31,6 @@ outputs = { self, darwin, nixpkgs, nixpkgs-unstable, nixpkgs-darwin-stable, home-manager, ... }@inputs: let inherit (nixpkgs.lib) attrValues; - # XXX not working, find how to install a iven package from unstable - # pkgs-unstable = nixpkgs-unstable.legacyPackages.${builtins.currentSystem}; - homeStateVersion = "23.05"; # Configuration for `nixpkgs` From 3c744b477d63002de39bfe4c88a64227f0fbe2ec Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Sat, 4 Nov 2023 10:04:54 +0100 Subject: [PATCH 1626/2080] Install aerc and friends on macos --- home/main.nix | 1 + machines/Baptistes-MBP/default.nix | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index b79606d6..c13353fb 100644 --- a/home/main.nix +++ b/home/main.nix @@ -89,6 +89,7 @@ ncurses # Mail # XXX: missing full mail stack configuration + pkgs-unstable.aerc mutt gnupg gpgme diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 8a6881a5..1911560b 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -11,7 +11,10 @@ # can make darwin-rebuild much slower onActivation.upgrade = true; brews = [ - "terminal-notifier" + # For aerc, to replace mutt? + "lolcat" + "pandoc" + "dante" # XXX: for building norg-treesitter on macOS # https://github.com/nvim-neorg/tree-sitter-norg/issues/7 @@ -28,6 +31,10 @@ "perltidy" "pyenv" "flake8" + # https://dev.languagetool.org/http-server + "languagetool" + + "terminal-notifier" ]; casks = [ # app launcher, file searcher From 979a6783d0588c198eec423c580492410bc4caff Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 4 Nov 2023 10:07:47 +0100 Subject: [PATCH 1627/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/99bd5e05c0f964369a8cb1e157841f7ea3d975b2' (2023-11-02) → 'github:nix-community/neovim-nightly-overlay/d86c4e96ddf16e775c25184abdce46f96a52156d' (2023-11-03) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) → 'github:hercules-ci/flake-parts/f76e870d64779109e41370848074ac4eaa1606ec' (2023-10-29) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/363e029e7ae295d2f9c711b9387da43aaf692b9a?dir=contrib' (2023-11-02) → 'github:neovim/neovim/746a153bc1a1bc1433a1246fcf454eeb058b9de1?dir=contrib' (2023-10-31) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/c082856b850ec60cda9f0a0db2bc7bd8900d708c' (2023-11-02) → 'github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035' (2023-10-29) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/34bdaaf1f0b7fb6d9091472edc968ff10a8c2857' (2023-11-01) → 'github:NixOS/nixpkgs/621f51253edffa1d6f08d5fce4f08614c852d17e' (2023-11-02) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/621f51253edffa1d6f08d5fce4f08614c852d17e' (2023-11-02) → 'github:nixos/nixpkgs/556a75f6a1302b6718fecd3ca8cbd109eb6cb067' (2023-11-03) • Updated input 'nur': 'github:nix-community/NUR/61188926d449a41414cd0709084d4aad03829386' (2023-11-03) → 'github:nix-community/NUR/217e62597f064fa4b53251ff9f5a6d1d97432dae' (2023-11-04) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 9ef166c2..d3382d19 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1698882062, - "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "lastModified": 1698579227, + "narHash": "sha256-KVWjFZky+gRuWennKsbo6cWyo7c/z/VgCte5pR9pEKg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "rev": "f76e870d64779109e41370848074ac4eaa1606ec", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698918956, - "narHash": "sha256-MHzTGarPtreBBT4gz+k45oneJxs2auwybvAC1Q5+9pc=", + "lastModified": 1698765225, + "narHash": "sha256-K30xCGRbmKYj+NY7O0lvsPGctVp6shfQs61BAVq0Plc=", "owner": "neovim", "repo": "neovim", - "rev": "363e029e7ae295d2f9c711b9387da43aaf692b9a", + "rev": "746a153bc1a1bc1433a1246fcf454eeb058b9de1", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1698927459, - "narHash": "sha256-lV6Emn3K/PGo+7RDlqc4VNRyndZI8K1pXgyNIAv/uNg=", + "lastModified": 1699044255, + "narHash": "sha256-D54rt1Ot4zq1As218CBUqeNMtsVwNdJdQTxDRPbKPOY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "99bd5e05c0f964369a8cb1e157841f7ea3d975b2", + "rev": "d86c4e96ddf16e775c25184abdce46f96a52156d", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1698890957, - "narHash": "sha256-DJ+SppjpPBoJr0Aro9TAcP3sxApCSieY6BYBCoWGUX8=", + "lastModified": 1698553279, + "narHash": "sha256-T/9P8yBSLcqo/v+FTOBK+0rjzjPMctVymZydbvR/Fak=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c082856b850ec60cda9f0a0db2bc7bd8900d708c", + "rev": "90e85bc7c1a6fc0760a94ace129d3a1c61c3d035", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1698942558, - "narHash": "sha256-/UmnB+mEd6Eg3mJBrAgqRcyZX//RSjHphcCO7Ig9Bpk=", + "lastModified": 1699024625, + "narHash": "sha256-abDyXs00jZtQcTrujB/a9MaIp7VY5v1VDVCF4zhXVYE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "621f51253edffa1d6f08d5fce4f08614c852d17e", + "rev": "556a75f6a1302b6718fecd3ca8cbd109eb6cb067", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1698846319, - "narHash": "sha256-4jyW/dqFBVpWFnhl0nvP6EN4lP7/ZqPxYRjl6var0Oc=", + "lastModified": 1698942558, + "narHash": "sha256-/UmnB+mEd6Eg3mJBrAgqRcyZX//RSjHphcCO7Ig9Bpk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "34bdaaf1f0b7fb6d9091472edc968ff10a8c2857", + "rev": "621f51253edffa1d6f08d5fce4f08614c852d17e", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699019213, - "narHash": "sha256-QxQsO88lV2s/zr8hEksriNyemzSZPQsO44sXDK89UNE=", + "lastModified": 1699085705, + "narHash": "sha256-264YHR0Q6rjatEB76TVGoIX8YERpBJDN0fhnZedukrA=", "owner": "nix-community", "repo": "NUR", - "rev": "61188926d449a41414cd0709084d4aad03829386", + "rev": "217e62597f064fa4b53251ff9f5a6d1d97432dae", "type": "github" }, "original": { From b85f9087b268df6ec32038cc3668fece16269e1a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 4 Nov 2023 11:58:35 +0100 Subject: [PATCH 1628/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/d86c4e96ddf16e775c25184abdce46f96a52156d' (2023-11-03) → 'github:nix-community/neovim-nightly-overlay/b5ff9674a876bb217310721b94a80463564ea0b5' (2023-11-04) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/f76e870d64779109e41370848074ac4eaa1606ec' (2023-10-29) → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/746a153bc1a1bc1433a1246fcf454eeb058b9de1?dir=contrib' (2023-10-31) → 'github:neovim/neovim/9281edb334a374e7753d4a6b7a05e31120e39772?dir=contrib' (2023-11-04) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/90e85bc7c1a6fc0760a94ace129d3a1c61c3d035' (2023-10-29) → 'github:NixOS/nixpkgs/8ab9c53eee434651ce170dee1d9727b974e9a6b6' (2023-11-04) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index d3382d19..dd0dbfb5 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1698579227, - "narHash": "sha256-KVWjFZky+gRuWennKsbo6cWyo7c/z/VgCte5pR9pEKg=", + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f76e870d64779109e41370848074ac4eaa1606ec", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1698765225, - "narHash": "sha256-K30xCGRbmKYj+NY7O0lvsPGctVp6shfQs61BAVq0Plc=", + "lastModified": 1699082262, + "narHash": "sha256-Bzl51jxWdO3yYpnD7v/LZ9ea0T/R3cCOLVWd1BEwK7c=", "owner": "neovim", "repo": "neovim", - "rev": "746a153bc1a1bc1433a1246fcf454eeb058b9de1", + "rev": "9281edb334a374e7753d4a6b7a05e31120e39772", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1699044255, - "narHash": "sha256-D54rt1Ot4zq1As218CBUqeNMtsVwNdJdQTxDRPbKPOY=", + "lastModified": 1699092719, + "narHash": "sha256-zIpHhQQGYSgqza1bTgjhzr/DcgCDlD8RDzJn8ITd9aw=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d86c4e96ddf16e775c25184abdce46f96a52156d", + "rev": "b5ff9674a876bb217310721b94a80463564ea0b5", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1698553279, - "narHash": "sha256-T/9P8yBSLcqo/v+FTOBK+0rjzjPMctVymZydbvR/Fak=", + "lastModified": 1699065553, + "narHash": "sha256-j8UmH8fqXcOgL6WrlMcvV2m2XQ6OzU0IBucyuJ0vnyQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "90e85bc7c1a6fc0760a94ace129d3a1c61c3d035", + "rev": "8ab9c53eee434651ce170dee1d9727b974e9a6b6", "type": "github" }, "original": { From cad576fd67def53ba23a4eea4799f825f35199d8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 5 Nov 2023 09:20:50 +0100 Subject: [PATCH 1629/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index b180c514..3dfcad76 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "9a6b0f8928ad2e802cae36c6b05b94cd9a73451f" }, "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "98afa085f8bee6a7d4ffb1b025248e4d0555a14b" }, - "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, - "catppuccin": { "branch": "main", "commit": "40dc9f0621c55bd40da4ad0731fac44d15bb393a" }, + "SchemaStore.nvim": { "branch": "main", "commit": "976e7e3e9c400b99f1cb337b2ce804a9652571ec" }, + "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, + "catppuccin": { "branch": "main", "commit": "b359f3eec32dcc6b7c9a26901dc235bbb6cd8a0b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "2c1e852fbf723b7d89b14fd28089472d92edeeb9" }, + "conform.nvim": { "branch": "master", "commit": "3d639d6155a63e3143920b739cee02f3faa1b4db" }, "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, @@ -25,13 +25,13 @@ "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "29be0919b91fb59eca9e90690d76014233392bef" }, + "indent-blankline.nvim": { "branch": "master", "commit": "64fdadb3ada61c4297452f7662789b01ee82ffcb" }, "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "40301e1c74bc0946eece13edf2b1c561cc497491" }, - "mason.nvim": { "branch": "main", "commit": "eabf6d347fdb75be360d4c0ced1145670a171453" }, + "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "fc9ce93eb8d58ce1a39101928fb5ea8f8b97844c" }, "mini.animate": { "branch": "main", "commit": "6e6f2ee99fec91985d3817bfc74fbb4a0aff1c44" }, @@ -43,10 +43,10 @@ "mini.surround": { "branch": "main", "commit": "862cfaef72d789d320625ec34e2488a5cc8fd423" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, - "neodev.nvim": { "branch": "main", "commit": "80487e4f7bfa11c2ef2a1b461963db019aad6a73" }, + "neodev.nvim": { "branch": "main", "commit": "f3f5d756f4043180523bb69072a104f7216b5f42" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "5a2d4688a80d67dc224375c78e62ffd7dc1e79e6" }, - "neorg": { "branch": "main", "commit": "9ffc5ac49dbb5ea6f008b6fbc6e3c1e85e66911c" }, + "neogit": { "branch": "master", "commit": "05899be06d611c485cfb6e17ef6e3b695de67b62" }, + "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "c3d25cc46145fba82c410245fb5bea66945eb1de" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, @@ -57,10 +57,10 @@ "nvim-lspconfig": { "branch": "master", "commit": "d0467b9574b48429debf83f8248d8cee79562586" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "5c3474fbe1028844cfe5a9c238366da04c2e7551" }, - "nvim-spider": { "branch": "main", "commit": "86236bfc573ae45193bf0eb663be8a7184458281" }, + "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, + "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "1920285ec11654072f14d07258e73ef792ac9005" }, + "nvim-treesitter": { "branch": "master", "commit": "d2fe87062dde25e7fdadac061f6ca04541275e31" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, @@ -73,7 +73,7 @@ "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "5831194debd23920a32abd9fefd5dddba44e34fc" }, - "semshi": { "branch": "master", "commit": "eddc5304d7aa99e140c89f40393c9f109f4e9115" }, + "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, @@ -82,10 +82,9 @@ "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, - "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "48c9cd0dbc0ce3cc02fd6164e4f665dba338a3ec" }, + "venv-selector.nvim": { "branch": "main", "commit": "ff3342d4ae8723fab38fed8969b0a1e2c8b6281a" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From 316c3893d72cc2c3eb109fa9b75229fe26939cd4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 5 Nov 2023 10:13:25 +0100 Subject: [PATCH 1630/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/621f51253edffa1d6f08d5fce4f08614c852d17e' (2023-11-02) → 'github:NixOS/nixpkgs/78f3a4ae19f0e99d5323dd2e3853916b8ee4afee' (2023-11-04) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/556a75f6a1302b6718fecd3ca8cbd109eb6cb067' (2023-11-03) → 'github:nixos/nixpkgs/78f3a4ae19f0e99d5323dd2e3853916b8ee4afee' (2023-11-04) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/fa804edfb7869c9fb230e174182a8a1a7e512c40' (2023-11-02) → 'github:nixos/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04) • Updated input 'nur': 'github:nix-community/NUR/217e62597f064fa4b53251ff9f5a6d1d97432dae' (2023-11-04) → 'github:nix-community/NUR/9d4f93294abb6017f139d8986d91bd4f9db8c083' (2023-11-05) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index dd0dbfb5..666b3b3f 100644 --- a/flake.lock +++ b/flake.lock @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1699024625, - "narHash": "sha256-abDyXs00jZtQcTrujB/a9MaIp7VY5v1VDVCF4zhXVYE=", + "lastModified": 1699110214, + "narHash": "sha256-L2TU4RgtiqF69W8Gacg2jEkEYJrW+Kp0Mp4plwQh5b8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "556a75f6a1302b6718fecd3ca8cbd109eb6cb067", + "rev": "78f3a4ae19f0e99d5323dd2e3853916b8ee4afee", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1698924604, - "narHash": "sha256-GCFbkl2tj8fEZBZCw3Tc0AkGo0v+YrQlohhEGJ/X4s0=", + "lastModified": 1699099776, + "narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fa804edfb7869c9fb230e174182a8a1a7e512c40", + "rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1698942558, - "narHash": "sha256-/UmnB+mEd6Eg3mJBrAgqRcyZX//RSjHphcCO7Ig9Bpk=", + "lastModified": 1699110214, + "narHash": "sha256-L2TU4RgtiqF69W8Gacg2jEkEYJrW+Kp0Mp4plwQh5b8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "621f51253edffa1d6f08d5fce4f08614c852d17e", + "rev": "78f3a4ae19f0e99d5323dd2e3853916b8ee4afee", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699085705, - "narHash": "sha256-264YHR0Q6rjatEB76TVGoIX8YERpBJDN0fhnZedukrA=", + "lastModified": 1699174032, + "narHash": "sha256-OSiNVBhNeleAfMZ4mMMF1h4l95tGfAhWE4OzYtMU3tI=", "owner": "nix-community", "repo": "NUR", - "rev": "217e62597f064fa4b53251ff9f5a6d1d97432dae", + "rev": "9d4f93294abb6017f139d8986d91bd4f9db8c083", "type": "github" }, "original": { From f3ace0efa007fa8d824f18d2ea7d52497ee46f86 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 5 Nov 2023 10:38:06 +0100 Subject: [PATCH 1631/2080] Install mqttui --- home/main.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/main.nix b/home/main.nix index c13353fb..df84f5d0 100644 --- a/home/main.nix +++ b/home/main.nix @@ -83,6 +83,8 @@ tree-sitter xclip xorg.xkill + # For home assistant + mqttui ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 3efb3969b3c4e8d7b59e9d8a1c1e1af3bb2cdba1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 5 Nov 2023 10:38:51 +0100 Subject: [PATCH 1632/2080] mail: install rbw, unstable aerc and himalaya. --- modules/home/mail/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index cc4285e2..1eeb2051 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -11,10 +11,10 @@ in # XXX: broken on NixOS 2023-10-28 pkgs-unstable.bitwarden bitwarden-cli - # rbw + pkgs-unstable.rbw # pinentry-gtk2 - #aerc - #himalaya + pkgs-unstable.himalaya + pkgs-unstable.aerc #vimPlugins.himalaya-vim mutt neomutt @@ -97,6 +97,7 @@ in # aerc: basic features working aerc = { + # XXX: installed from unstable with home-manager enable = false; extraBinds = { global = { @@ -417,8 +418,8 @@ in }; }; # Configure some clients - aerc.enable = false; - himalaya.enable = false; + aerc.enable = true; + himalaya.enable = true; thunderbird = { enable = false; profiles = [ "Perso" ]; @@ -520,7 +521,6 @@ in source ~/.config/neomutt/colors ''; }; - }; }; } From 70d6f5b179502180b69cf86e1b9ffcf08b4a779b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 5 Nov 2023 23:19:58 +0100 Subject: [PATCH 1633/2080] Install tigervnc --- home/main.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/main.nix b/home/main.nix index df84f5d0..6beedc94 100644 --- a/home/main.nix +++ b/home/main.nix @@ -85,6 +85,8 @@ xorg.xkill # For home assistant mqttui + # For FreeBSD bhyve VMs + tigervnc ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 4fe2ce7d4c6afda3f32a73278e11c1168379f2a6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Nov 2023 09:53:55 +0100 Subject: [PATCH 1634/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/b5ff9674a876bb217310721b94a80463564ea0b5' (2023-11-04) → 'github:nix-community/neovim-nightly-overlay/37e61e20474276f7192cbc2471574291282ee534' (2023-11-06) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/300e0af24a1bbe32d115beb182efb01785582c45' (2023-10-24) → 'github:hercules-ci/hercules-ci-effects/82a40e14dce72bcb6718f473756c9cc9ad2e87cf' (2023-11-05) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/9281edb334a374e7753d4a6b7a05e31120e39772?dir=contrib' (2023-11-04) → 'github:neovim/neovim/324fad1e88ba38c87db446418a96fd3170b7f392?dir=contrib' (2023-11-05) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/8ab9c53eee434651ce170dee1d9727b974e9a6b6' (2023-11-04) → 'github:NixOS/nixpkgs/a0b3b06b7a82c965ae0bb1d59f6e386fe755001d' (2023-11-05) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/78f3a4ae19f0e99d5323dd2e3853916b8ee4afee' (2023-11-04) → 'github:NixOS/nixpkgs/aeefe2054617cae501809b82b44a8e8f7be7cc4b' (2023-11-05) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/78f3a4ae19f0e99d5323dd2e3853916b8ee4afee' (2023-11-04) → 'github:nixos/nixpkgs/aeefe2054617cae501809b82b44a8e8f7be7cc4b' (2023-11-05) • Updated input 'nur': 'github:nix-community/NUR/9d4f93294abb6017f139d8986d91bd4f9db8c083' (2023-11-05) → 'github:nix-community/NUR/d5aefa5241773918fa0f086119f96f90963109a0' (2023-11-06) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 666b3b3f..1dcd6a40 100644 --- a/flake.lock +++ b/flake.lock @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1698165573, - "narHash": "sha256-cnMTgCDnZiQKsf+wVzigpexskqRCFTKgS58Wx2rNU1c=", + "lastModified": 1699216084, + "narHash": "sha256-IjuxIYOigZGTmnbqcsWgKjl5wlYyiStp0MyPMx+FKBw=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "300e0af24a1bbe32d115beb182efb01785582c45", + "rev": "82a40e14dce72bcb6718f473756c9cc9ad2e87cf", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1699082262, - "narHash": "sha256-Bzl51jxWdO3yYpnD7v/LZ9ea0T/R3cCOLVWd1BEwK7c=", + "lastModified": 1699217816, + "narHash": "sha256-Gdvm2WtJMhNEblOcnurydjWXbSJLHyxTJbpCdQO4Zgk=", "owner": "neovim", "repo": "neovim", - "rev": "9281edb334a374e7753d4a6b7a05e31120e39772", + "rev": "324fad1e88ba38c87db446418a96fd3170b7f392", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1699092719, - "narHash": "sha256-zIpHhQQGYSgqza1bTgjhzr/DcgCDlD8RDzJn8ITd9aw=", + "lastModified": 1699229170, + "narHash": "sha256-f0pDyxvwI7LP7oQHJzPc8d55vEXJm/OX9ZK9jGIiMeM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b5ff9674a876bb217310721b94a80463564ea0b5", + "rev": "37e61e20474276f7192cbc2471574291282ee534", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1699065553, - "narHash": "sha256-j8UmH8fqXcOgL6WrlMcvV2m2XQ6OzU0IBucyuJ0vnyQ=", + "lastModified": 1699186365, + "narHash": "sha256-Pxrw5U8mBsL3NlrJ6q1KK1crzvSUcdfwb9083sKDrcU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8ab9c53eee434651ce170dee1d9727b974e9a6b6", + "rev": "a0b3b06b7a82c965ae0bb1d59f6e386fe755001d", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1699110214, - "narHash": "sha256-L2TU4RgtiqF69W8Gacg2jEkEYJrW+Kp0Mp4plwQh5b8=", + "lastModified": 1699169573, + "narHash": "sha256-cvUb1xZkvOp3W2SzylStrTirhVd9zCeo5utJl9nSIhw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "78f3a4ae19f0e99d5323dd2e3853916b8ee4afee", + "rev": "aeefe2054617cae501809b82b44a8e8f7be7cc4b", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1699110214, - "narHash": "sha256-L2TU4RgtiqF69W8Gacg2jEkEYJrW+Kp0Mp4plwQh5b8=", + "lastModified": 1699169573, + "narHash": "sha256-cvUb1xZkvOp3W2SzylStrTirhVd9zCeo5utJl9nSIhw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "78f3a4ae19f0e99d5323dd2e3853916b8ee4afee", + "rev": "aeefe2054617cae501809b82b44a8e8f7be7cc4b", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699174032, - "narHash": "sha256-OSiNVBhNeleAfMZ4mMMF1h4l95tGfAhWE4OzYtMU3tI=", + "lastModified": 1699257631, + "narHash": "sha256-YUQkmB89uI3zpMuuxUxfXe93Wgl7uE7atxBXQYwlwvY=", "owner": "nix-community", "repo": "NUR", - "rev": "9d4f93294abb6017f139d8986d91bd4f9db8c083", + "rev": "d5aefa5241773918fa0f086119f96f90963109a0", "type": "github" }, "original": { From 2e471550aa6fde13c8c115df191820e0135031af Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Nov 2023 10:59:31 +0100 Subject: [PATCH 1635/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 61 +++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 3dfcad76..dc289dd6 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "9a6b0f8928ad2e802cae36c6b05b94cd9a73451f" }, - "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "976e7e3e9c400b99f1cb337b2ce804a9652571ec" }, - "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, - "catppuccin": { "branch": "main", "commit": "b359f3eec32dcc6b7c9a26901dc235bbb6cd8a0b" }, + "LazyVim": { "branch": "main", "commit": "68ff818a5bb7549f90b05e412b76fe448f605ffb" }, + "LuaSnip": { "branch": "master", "commit": "a4de64570b9620875c8ea04175cd07ed8e32ac99" }, + "SchemaStore.nvim": { "branch": "main", "commit": "686687585c040529f7efa68aa433282068c9d78b" }, + "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, + "catppuccin": { "branch": "main", "commit": "d7521f6050b94cb0e23067f63829d86886f870fe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "3d639d6155a63e3143920b739cee02f3faa1b4db" }, + "conform.nvim": { "branch": "master", "commit": "0d43691a092bd8c81f617a99519dde4b2f19fdf2" }, "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, @@ -25,68 +25,69 @@ "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "64fdadb3ada61c4297452f7662789b01ee82ffcb" }, - "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, + "indent-blankline.nvim": { "branch": "master", "commit": "29be0919b91fb59eca9e90690d76014233392bef" }, + "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "40301e1c74bc0946eece13edf2b1c561cc497491" }, - "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, + "mason.nvim": { "branch": "main", "commit": "eabf6d347fdb75be360d4c0ced1145670a171453" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "fc9ce93eb8d58ce1a39101928fb5ea8f8b97844c" }, - "mini.animate": { "branch": "main", "commit": "6e6f2ee99fec91985d3817bfc74fbb4a0aff1c44" }, - "mini.bracketed": { "branch": "main", "commit": "d99f8f6c93e2a4cff1ebc27072d74ba400c8d241" }, + "mini.ai": { "branch": "main", "commit": "4a2e387b121352dfb478f440c9a5313a9d97006c" }, + "mini.animate": { "branch": "main", "commit": "626c51eba5d344572d6da0938044a73369de8b8b" }, + "mini.bracketed": { "branch": "main", "commit": "944e81e192cf054bb879cb64231e9b1cfb3c8145" }, "mini.bufremove": { "branch": "main", "commit": "f53c7f27e36009fe61563c11cde154b94a0e5b94" }, - "mini.comment": { "branch": "main", "commit": "e4320af992cd053a7da2f33d9f63a86c2ab6ce59" }, - "mini.indentscope": { "branch": "main", "commit": "cbc07203ca8faae952ca373c1f6cc5881ce97af0" }, - "mini.pairs": { "branch": "main", "commit": "6f6bd7ed5757b40bc29c73dac0d743e4e6978124" }, - "mini.surround": { "branch": "main", "commit": "862cfaef72d789d320625ec34e2488a5cc8fd423" }, + "mini.comment": { "branch": "main", "commit": "3d9c8009615857e982f09bc5357fc95f2a2175f3" }, + "mini.indentscope": { "branch": "main", "commit": "c8fdafa7bf603d758986a27eb546c55a5c73b1a3" }, + "mini.pairs": { "branch": "main", "commit": "71f117fd57f930da6ef4126b24f594dd398bac26" }, + "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, - "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, - "neodev.nvim": { "branch": "main", "commit": "f3f5d756f4043180523bb69072a104f7216b5f42" }, + "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, + "neodev.nvim": { "branch": "main", "commit": "80487e4f7bfa11c2ef2a1b461963db019aad6a73" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "05899be06d611c485cfb6e17ef6e3b695de67b62" }, - "neorg": { "branch": "main", "commit": "073f04cdc5dc291f069935e36cdcd60927f67d5d" }, + "neogit": { "branch": "master", "commit": "10118ec61d9ed6dd3416ba47e8958cf446392241" }, + "neorg": { "branch": "main", "commit": "98f390d8b0c42e40196ea4d831b42b3908137bc3" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "c3d25cc46145fba82c410245fb5bea66945eb1de" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, "nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" }, - "nvim-lint": { "branch": "master", "commit": "962a76877a4479a535b935bd7ef35ad41ba308b2" }, - "nvim-lspconfig": { "branch": "master", "commit": "d0467b9574b48429debf83f8248d8cee79562586" }, + "nvim-lint": { "branch": "master", "commit": "7746f952827dabfb70194518c99c93d5651b8f19" }, + "nvim-lspconfig": { "branch": "master", "commit": "b44737605807023d32e6310b87ba69f4dbf10e0e" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, - "nvim-spider": { "branch": "main", "commit": "28ea1139b3b566187813684a4d37e3da0ce2b888" }, + "nvim-spectre": { "branch": "master", "commit": "5c3474fbe1028844cfe5a9c238366da04c2e7551" }, + "nvim-spider": { "branch": "main", "commit": "a12b9e8189d09f1670e6b58b0eecf1cecb97e41c" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "d2fe87062dde25e7fdadac061f6ca04541275e31" }, + "nvim-treesitter": { "branch": "master", "commit": "96f55f304332ca6ea1b7dde32d3ec04b5298c316" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, "nvim-web-devicons": { "branch": "master", "commit": "5de460ca7595806044eced31e3c36c159a493857" }, - "octo.nvim": { "branch": "master", "commit": "e933611c74cb735c00d0db8ca94533bec1444bf0" }, + "octo.nvim": { "branch": "master", "commit": "27d1c6613d6f5047d874c2418939100ee8491626" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, "refactoring.nvim": { "branch": "master", "commit": "5831194debd23920a32abd9fefd5dddba44e34fc" }, - "semshi": { "branch": "master", "commit": "50f9d74ee160e539c5662cbde5c3b0ccd4e27fb3" }, + "semshi": { "branch": "master", "commit": "eddc5304d7aa99e140c89f40393c9f109f4e9115" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" }, + "telescope.nvim": { "branch": "master", "commit": "20bf20500c95208c3ac0ef07245065bf94dcab15" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, + "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "ff3342d4ae8723fab38fed8969b0a1e2c8b6281a" }, + "venv-selector.nvim": { "branch": "main", "commit": "48c9cd0dbc0ce3cc02fd6164e4f665dba338a3ec" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, - "vim-matchup": { "branch": "master", "commit": "6dbe108230c7dbbf00555b7d4d9f6a891837ef07" }, + "vim-matchup": { "branch": "master", "commit": "d30b72d20f01478a8486f15a57c89fe3177373db" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, From 84e936b820756c15e9cd8aa68033fefc98abaf8d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Nov 2023 10:59:44 +0100 Subject: [PATCH 1636/2080] nvim lsp: clean some dead conf --- lazyvim/nvim/lua/plugins/lsp.lua | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 43805da8..fd947596 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -190,22 +190,10 @@ return { }, }, }, - -- Replacement for linting via null-ls/none-ls - -- { - -- "mfussenegger/nvim-lint", - -- opts = { - -- linters_by_ft = { - -- -- lua = { "selene", "luacheck" }, - -- markdown = { "markdownlint" }, - -- }, - -- }, - -- }, - -- customise null-ls -- { + -- FIXME: to be dropped once incorporated in my conform.nvim and nvim-lint setup -- "nvimtools/none-ls.nvim", - -- -- XXX: disable to test conform and nvim-lint - -- -- XXX: to be dropped if adopting conform.nvim and nvim-lint -- -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 -- enabled = false, -- opts = function(_, opts) @@ -227,9 +215,6 @@ return { -- -- end -- -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md -- opts.sources = { - -- -- fish - -- nls.builtins.diagnostics.fish, - -- nls.builtins.formatting.fish_indent, -- -- Shell -- nls.builtins.formatting.shfmt, -- -- text @@ -237,12 +222,9 @@ return { -- nls.builtins.hover.dictionary, -- nls.builtins.diagnostics.checkmake, -- nls.builtins.diagnostics.write_good, - -- -- lua - -- nls.builtins.formatting.stylua, -- -- perl -- nls.builtins.formatting.perltidy, -- -- python - -- -- XXX: testing lazyvim.plugins.extras.lang.python -- -- nls.builtins.formatting.isort.with({ -- -- extra_args = { "--profile", "black" }, -- -- }), @@ -250,10 +232,6 @@ return { -- -- nls.builtins.diagnostics.flake8.with({ -- -- extra_args = flake8_extra_args, -- -- }), - -- -- Injects code actions for Git operations at the current cursor position - -- nls.builtins.code_actions.gitsigns, - -- -- markdown - -- nls.builtins.formatting.prettierd, -- } -- end, -- }, From 3e64c9db3d804b2ed393278e916e0bdc53450cce Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Nov 2023 10:59:55 +0100 Subject: [PATCH 1637/2080] macos: install gnu-sed with brew --- machines/Baptistes-MBP/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 1911560b..a68b2048 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -25,6 +25,8 @@ "khal" "joplin-cli" + "gnu-sed" + "bitwarden-cli" "fetch-crl" "ldapvi" From 03baba340919c1cec3312b0873de7161bdce792e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Nov 2023 13:59:46 +0100 Subject: [PATCH 1638/2080] LazyVim: drop octo.nvim (unused) --- lazyvim/nvim/lua/plugins/tools.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index ac54fcfd..3f7f3da5 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -1,8 +1,5 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/tools.lua return { - -- Edit and review GitHub issues and pull requests - { "pwntester/octo.nvim", opts = {}, cmd = "Octo" }, - -- git integration :Neogit -- LazyGit and Gitsigns are installed by default { From 039a005453623b2466375312219ecd931b0f219d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Nov 2023 13:59:53 +0100 Subject: [PATCH 1639/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index dc289dd6..d67d5c7f 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -51,7 +51,7 @@ "neorg-telescope": { "branch": "main", "commit": "c3d25cc46145fba82c410245fb5bea66945eb1de" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, - "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, + "nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" }, "nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" }, "nvim-lint": { "branch": "master", "commit": "7746f952827dabfb70194518c99c93d5651b8f19" }, "nvim-lspconfig": { "branch": "master", "commit": "b44737605807023d32e6310b87ba69f4dbf10e0e" }, @@ -67,7 +67,6 @@ "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, "nvim-web-devicons": { "branch": "master", "commit": "5de460ca7595806044eced31e3c36c159a493857" }, - "octo.nvim": { "branch": "master", "commit": "27d1c6613d6f5047d874c2418939100ee8491626" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, From 7ae903eb7bc39c4d02615f7486d0381a6b0f0937 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Nov 2023 14:00:07 +0100 Subject: [PATCH 1640/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/d5aefa5241773918fa0f086119f96f90963109a0' (2023-11-06) → 'github:nix-community/NUR/fabd09269879db3fb52c762c0df6eff20ad88ed1' (2023-11-06) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 1dcd6a40..b13f9a2c 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699257631, - "narHash": "sha256-YUQkmB89uI3zpMuuxUxfXe93Wgl7uE7atxBXQYwlwvY=", + "lastModified": 1699272556, + "narHash": "sha256-xpwl5y0701QK9A/h2lWpiJ5LiPgq/48gSSzoMEZfSgk=", "owner": "nix-community", "repo": "NUR", - "rev": "d5aefa5241773918fa0f086119f96f90963109a0", + "rev": "fabd09269879db3fb52c762c0df6eff20ad88ed1", "type": "github" }, "original": { From 125ddda870b0aa74ef632f402da286ebf85d579d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Nov 2023 14:02:41 +0100 Subject: [PATCH 1641/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index d67d5c7f..bee866f5 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -45,7 +45,7 @@ "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, "neodev.nvim": { "branch": "main", "commit": "80487e4f7bfa11c2ef2a1b461963db019aad6a73" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "10118ec61d9ed6dd3416ba47e8958cf446392241" }, + "neogit": { "branch": "master", "commit": "cd5c142215a4f39eff27b9f27b67de85a659e52f" }, "neorg": { "branch": "main", "commit": "98f390d8b0c42e40196ea4d831b42b3908137bc3" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "c3d25cc46145fba82c410245fb5bea66945eb1de" }, @@ -54,7 +54,7 @@ "nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" }, "nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" }, "nvim-lint": { "branch": "master", "commit": "7746f952827dabfb70194518c99c93d5651b8f19" }, - "nvim-lspconfig": { "branch": "master", "commit": "b44737605807023d32e6310b87ba69f4dbf10e0e" }, + "nvim-lspconfig": { "branch": "master", "commit": "37457f268af5cd6765e589b0dcd7cbd192d8da00" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "5c3474fbe1028844cfe5a9c238366da04c2e7551" }, From 364363989cf7fa0a6a0150235e63d1a039824738 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 Nov 2023 15:57:07 +0100 Subject: [PATCH 1642/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/fabd09269879db3fb52c762c0df6eff20ad88ed1' (2023-11-06) → 'github:nix-community/NUR/9197ae18cb610996171a0620009ef00f9b19a553' (2023-11-06) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index b13f9a2c..4477ba49 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699272556, - "narHash": "sha256-xpwl5y0701QK9A/h2lWpiJ5LiPgq/48gSSzoMEZfSgk=", + "lastModified": 1699281661, + "narHash": "sha256-/b0nkGLG2LSwoLwDQh9cek6mOeV8UC18OH6KokfM0vQ=", "owner": "nix-community", "repo": "NUR", - "rev": "fabd09269879db3fb52c762c0df6eff20ad88ed1", + "rev": "9197ae18cb610996171a0620009ef00f9b19a553", "type": "github" }, "original": { From a681e28ca45d6d73fb18a501626ee3916c7e68de Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Nov 2023 13:48:26 +0100 Subject: [PATCH 1643/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/37e61e20474276f7192cbc2471574291282ee534' (2023-11-06) → 'github:nix-community/neovim-nightly-overlay/032f69bd4199e65cff8f1fa9a7fffdaf0dc6717d' (2023-11-07) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/324fad1e88ba38c87db446418a96fd3170b7f392?dir=contrib' (2023-11-05) → 'github:neovim/neovim/88ed9ffcd1c022811ebc8818e153fe94e4741671?dir=contrib' (2023-11-06) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/aeefe2054617cae501809b82b44a8e8f7be7cc4b' (2023-11-05) → 'github:nixos/nixpkgs/2ce12aca0a951dd8cdfd3badff838eb1b1b8599a' (2023-11-06) • Updated input 'nur': 'github:nix-community/NUR/9197ae18cb610996171a0620009ef00f9b19a553' (2023-11-06) → 'github:nix-community/NUR/1a48171960608a6ff4e7f73a3e381bf005b625d7' (2023-11-07) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 4477ba49..17a0c844 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1699217816, - "narHash": "sha256-Gdvm2WtJMhNEblOcnurydjWXbSJLHyxTJbpCdQO4Zgk=", + "lastModified": 1699308395, + "narHash": "sha256-0kX1y+3oc+vGUTS8qk7sycu2NFJAw+ZnB3i/oOWO2dI=", "owner": "neovim", "repo": "neovim", - "rev": "324fad1e88ba38c87db446418a96fd3170b7f392", + "rev": "88ed9ffcd1c022811ebc8818e153fe94e4741671", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1699229170, - "narHash": "sha256-f0pDyxvwI7LP7oQHJzPc8d55vEXJm/OX9ZK9jGIiMeM=", + "lastModified": 1699315446, + "narHash": "sha256-yG+bfOFcxFWsgxTCDogNmvcsmBbMVqsbGw7Nb/LSE+M=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "37e61e20474276f7192cbc2471574291282ee534", + "rev": "032f69bd4199e65cff8f1fa9a7fffdaf0dc6717d", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1699169573, - "narHash": "sha256-cvUb1xZkvOp3W2SzylStrTirhVd9zCeo5utJl9nSIhw=", + "lastModified": 1699259750, + "narHash": "sha256-yjse4chDx9+IXOivWBCA8q6QP4Cv5u6HrmzeV61+xOQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "aeefe2054617cae501809b82b44a8e8f7be7cc4b", + "rev": "2ce12aca0a951dd8cdfd3badff838eb1b1b8599a", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699281661, - "narHash": "sha256-/b0nkGLG2LSwoLwDQh9cek6mOeV8UC18OH6KokfM0vQ=", + "lastModified": 1699345929, + "narHash": "sha256-MBW4V6UPs+KEMQI3BDFOOaSCR+DmtsoBJRF2ppgFBIk=", "owner": "nix-community", "repo": "NUR", - "rev": "9197ae18cb610996171a0620009ef00f9b19a553", + "rev": "1a48171960608a6ff4e7f73a3e381bf005b625d7", "type": "github" }, "original": { From af16e5fc0e5161aa1de13dd0213d4c40d0a0b83a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 7 Nov 2023 14:44:14 +0100 Subject: [PATCH 1644/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index bee866f5..f404fdd1 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "68ff818a5bb7549f90b05e412b76fe448f605ffb" }, "LuaSnip": { "branch": "master", "commit": "a4de64570b9620875c8ea04175cd07ed8e32ac99" }, - "SchemaStore.nvim": { "branch": "main", "commit": "686687585c040529f7efa68aa433282068c9d78b" }, + "SchemaStore.nvim": { "branch": "main", "commit": "d7c3d872fc19741148a5e324197f086423680277" }, "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, "catppuccin": { "branch": "main", "commit": "d7521f6050b94cb0e23067f63829d86886f870fe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -12,11 +12,11 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "0d43691a092bd8c81f617a99519dde4b2f19fdf2" }, + "conform.nvim": { "branch": "master", "commit": "161d95bfbb1ad1a2b89ba2ea75ca1b5e012a111e" }, "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, - "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, + "dressing.nvim": { "branch": "master", "commit": "fe3071330a0720ce3695ac915820c8134b22d1b0" }, "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, @@ -41,11 +41,11 @@ "mini.indentscope": { "branch": "main", "commit": "c8fdafa7bf603d758986a27eb546c55a5c73b1a3" }, "mini.pairs": { "branch": "main", "commit": "71f117fd57f930da6ef4126b24f594dd398bac26" }, "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "f053f09962819c1558cd93639aa80edf7c314c17" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, "neodev.nvim": { "branch": "main", "commit": "80487e4f7bfa11c2ef2a1b461963db019aad6a73" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "cd5c142215a4f39eff27b9f27b67de85a659e52f" }, + "neogit": { "branch": "master", "commit": "29583c2bd0c4b552fbb16e93bf4f26febbe4a3c2" }, "neorg": { "branch": "main", "commit": "98f390d8b0c42e40196ea4d831b42b3908137bc3" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "c3d25cc46145fba82c410245fb5bea66945eb1de" }, @@ -57,10 +57,10 @@ "nvim-lspconfig": { "branch": "master", "commit": "37457f268af5cd6765e589b0dcd7cbd192d8da00" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "5c3474fbe1028844cfe5a9c238366da04c2e7551" }, + "nvim-spectre": { "branch": "master", "commit": "37c3c04a5fbab09c64b6c66dd9a93c92039e93fd" }, "nvim-spider": { "branch": "main", "commit": "a12b9e8189d09f1670e6b58b0eecf1cecb97e41c" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "96f55f304332ca6ea1b7dde32d3ec04b5298c316" }, + "nvim-treesitter": { "branch": "master", "commit": "9a746b4b6a1ef215943f07e6aa2ec35fb14097d4" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, @@ -84,7 +84,7 @@ "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "48c9cd0dbc0ce3cc02fd6164e4f665dba338a3ec" }, + "venv-selector.nvim": { "branch": "main", "commit": "d5f6602d2d3f4089116a7eb04475b6a295f72419" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "d30b72d20f01478a8486f15a57c89fe3177373db" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From 930ffba00512c097198caf65c1f1e6b66bdbee2f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 8 Nov 2023 09:25:11 +0100 Subject: [PATCH 1645/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/032f69bd4199e65cff8f1fa9a7fffdaf0dc6717d' (2023-11-07) → 'github:nix-community/neovim-nightly-overlay/100a4df311f50bf5fa6a19fedde51a69f7f3ade1' (2023-11-08) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/82a40e14dce72bcb6718f473756c9cc9ad2e87cf' (2023-11-05) → 'github:hercules-ci/hercules-ci-effects/0bd99f5ab7ec7a74c11238bd02bb29e709c14328' (2023-11-07) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/88ed9ffcd1c022811ebc8818e153fe94e4741671?dir=contrib' (2023-11-06) → 'github:neovim/neovim/1c71c32b29100b3e2989447da9d94b97b2c9959e?dir=contrib' (2023-11-07) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/a0b3b06b7a82c965ae0bb1d59f6e386fe755001d' (2023-11-05) → 'github:NixOS/nixpkgs/ec750fd01963ab6b20ee1f0cb488754e8036d89d' (2023-11-07) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/aeefe2054617cae501809b82b44a8e8f7be7cc4b' (2023-11-05) → 'github:NixOS/nixpkgs/41de143fda10e33be0f47eab2bfe08a50f234267' (2023-11-06) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/2ce12aca0a951dd8cdfd3badff838eb1b1b8599a' (2023-11-06) → 'github:nixos/nixpkgs/bceb3bff2ee78424c1073d0b4676858265f926d1' (2023-11-07) • Updated input 'nur': 'github:nix-community/NUR/1a48171960608a6ff4e7f73a3e381bf005b625d7' (2023-11-07) → 'github:nix-community/NUR/aa435f27b4a4f58c8acf5e0c4f9e3cf72aac2834' (2023-11-08) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 17a0c844..8f8724ff 100644 --- a/flake.lock +++ b/flake.lock @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1699216084, - "narHash": "sha256-IjuxIYOigZGTmnbqcsWgKjl5wlYyiStp0MyPMx+FKBw=", + "lastModified": 1699381651, + "narHash": "sha256-mZlQ54xJs3j5+SJrLhzePPMXzS+Czbx7gNyOnOAQrHA=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "82a40e14dce72bcb6718f473756c9cc9ad2e87cf", + "rev": "0bd99f5ab7ec7a74c11238bd02bb29e709c14328", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1699308395, - "narHash": "sha256-0kX1y+3oc+vGUTS8qk7sycu2NFJAw+ZnB3i/oOWO2dI=", + "lastModified": 1699396198, + "narHash": "sha256-+fYD6b5ty9yYP8mdZwwtmCUuUV8kIIcpBEpi31NSOIg=", "owner": "neovim", "repo": "neovim", - "rev": "88ed9ffcd1c022811ebc8818e153fe94e4741671", + "rev": "1c71c32b29100b3e2989447da9d94b97b2c9959e", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1699315446, - "narHash": "sha256-yG+bfOFcxFWsgxTCDogNmvcsmBbMVqsbGw7Nb/LSE+M=", + "lastModified": 1699401982, + "narHash": "sha256-TpuSsI2ZizxDVdcx1LF04jnfu1TCpWebqDK2fiui0Dg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "032f69bd4199e65cff8f1fa9a7fffdaf0dc6717d", + "rev": "100a4df311f50bf5fa6a19fedde51a69f7f3ade1", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1699186365, - "narHash": "sha256-Pxrw5U8mBsL3NlrJ6q1KK1crzvSUcdfwb9083sKDrcU=", + "lastModified": 1699343069, + "narHash": "sha256-s7BBhyLA6MI6FuJgs4F/SgpntHBzz40/qV0xLPW6A1Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a0b3b06b7a82c965ae0bb1d59f6e386fe755001d", + "rev": "ec750fd01963ab6b20ee1f0cb488754e8036d89d", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1699259750, - "narHash": "sha256-yjse4chDx9+IXOivWBCA8q6QP4Cv5u6HrmzeV61+xOQ=", + "lastModified": 1699375123, + "narHash": "sha256-ny0+k0LQPVAhntYZo/FMVFxUlejpn4pIQVOo5Vdek/I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2ce12aca0a951dd8cdfd3badff838eb1b1b8599a", + "rev": "bceb3bff2ee78424c1073d0b4676858265f926d1", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1699169573, - "narHash": "sha256-cvUb1xZkvOp3W2SzylStrTirhVd9zCeo5utJl9nSIhw=", + "lastModified": 1699291058, + "narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aeefe2054617cae501809b82b44a8e8f7be7cc4b", + "rev": "41de143fda10e33be0f47eab2bfe08a50f234267", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699345929, - "narHash": "sha256-MBW4V6UPs+KEMQI3BDFOOaSCR+DmtsoBJRF2ppgFBIk=", + "lastModified": 1699430897, + "narHash": "sha256-/9fkDvkl16UReQs08KlHk7888SXfBEM89fl3buvSAVg=", "owner": "nix-community", "repo": "NUR", - "rev": "1a48171960608a6ff4e7f73a3e381bf005b625d7", + "rev": "aa435f27b4a4f58c8acf5e0c4f9e3cf72aac2834", "type": "github" }, "original": { From 38a2b4e0860dadf91e1df35e3262e21f9286342e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 8 Nov 2023 10:58:26 +0100 Subject: [PATCH 1646/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/aa435f27b4a4f58c8acf5e0c4f9e3cf72aac2834' (2023-11-08) → 'github:nix-community/NUR/9249f2baa49a8ba139eb084128e092073ed88c4e' (2023-11-08) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 8f8724ff..18e3c5c8 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699430897, - "narHash": "sha256-/9fkDvkl16UReQs08KlHk7888SXfBEM89fl3buvSAVg=", + "lastModified": 1699435759, + "narHash": "sha256-K1G+UfpvvWFSbHdWtCOTI1MCK4ivQpu/bz9DWB66SJc=", "owner": "nix-community", "repo": "NUR", - "rev": "aa435f27b4a4f58c8acf5e0c4f9e3cf72aac2834", + "rev": "9249f2baa49a8ba139eb084128e092073ed88c4e", "type": "github" }, "original": { From 55957023e4f9909bdcfdb86d0eb7ffd607f04bd3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Nov 2023 10:55:20 +0100 Subject: [PATCH 1647/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/afe83cbc2e673b1f08d32dd0f70df599678ff1e7' (2023-10-27) → 'github:lnl7/nix-darwin/eb2b9b64238349bd351561e32e260cac15db6f9a' (2023-11-08) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/100a4df311f50bf5fa6a19fedde51a69f7f3ade1' (2023-11-08) → 'github:nix-community/neovim-nightly-overlay/fa7175414af333bbb9ea4546cf8f7d037b504ded' (2023-11-09) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/1c71c32b29100b3e2989447da9d94b97b2c9959e?dir=contrib' (2023-11-07) → 'github:neovim/neovim/04187d1cb58a46dff3b490115f38f9120e13d598?dir=contrib' (2023-11-08) • Updated input 'nur': 'github:nix-community/NUR/9249f2baa49a8ba139eb084128e092073ed88c4e' (2023-11-08) → 'github:nix-community/NUR/9e212abf199b189550448cd2e1c296d328ea2332' (2023-11-09) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 18e3c5c8..65db31fe 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1698429334, - "narHash": "sha256-Gq3+QabboczSu7RMpcy79RSLMSqnySO3wsnHQk4DfbE=", + "lastModified": 1699437533, + "narHash": "sha256-lMoPz9c89CpPVuJ95OFFesM9JagCF0soGbQatj3ZhqM=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "afe83cbc2e673b1f08d32dd0f70df599678ff1e7", + "rev": "eb2b9b64238349bd351561e32e260cac15db6f9a", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1699396198, - "narHash": "sha256-+fYD6b5ty9yYP8mdZwwtmCUuUV8kIIcpBEpi31NSOIg=", + "lastModified": 1699486685, + "narHash": "sha256-pb4O9I8nkIPyvdWS33FPUgGIA4Y24pCLlxvqWmKxRik=", "owner": "neovim", "repo": "neovim", - "rev": "1c71c32b29100b3e2989447da9d94b97b2c9959e", + "rev": "04187d1cb58a46dff3b490115f38f9120e13d598", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1699401982, - "narHash": "sha256-TpuSsI2ZizxDVdcx1LF04jnfu1TCpWebqDK2fiui0Dg=", + "lastModified": 1699488661, + "narHash": "sha256-rJZNJexm3CGs86m0xrQ1pr2LCJ5E2BALwD4n3ePycFU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "100a4df311f50bf5fa6a19fedde51a69f7f3ade1", + "rev": "fa7175414af333bbb9ea4546cf8f7d037b504ded", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699435759, - "narHash": "sha256-K1G+UfpvvWFSbHdWtCOTI1MCK4ivQpu/bz9DWB66SJc=", + "lastModified": 1699522024, + "narHash": "sha256-+6oCJpVbtckTxU6jZbSbkXFWoWBXFVCSaHznumHdIok=", "owner": "nix-community", "repo": "NUR", - "rev": "9249f2baa49a8ba139eb084128e092073ed88c4e", + "rev": "9e212abf199b189550448cd2e1c296d328ea2332", "type": "github" }, "original": { From 549b76bf36de2910a8da5fa1690ec7c50c5a7195 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Nov 2023 15:13:02 +0100 Subject: [PATCH 1648/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/bceb3bff2ee78424c1073d0b4676858265f926d1' (2023-11-07) → 'github:nixos/nixpkgs/14d17e6b1f9fbee8ffa624277e241fb7b04440db' (2023-11-08) • Updated input 'nur': 'github:nix-community/NUR/9e212abf199b189550448cd2e1c296d328ea2332' (2023-11-09) → 'github:nix-community/NUR/71d46644e40610ea90c7e97ba32667de90c5f1a5' (2023-11-09) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 65db31fe..6ca8a944 100644 --- a/flake.lock +++ b/flake.lock @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1699375123, - "narHash": "sha256-ny0+k0LQPVAhntYZo/FMVFxUlejpn4pIQVOo5Vdek/I=", + "lastModified": 1699403077, + "narHash": "sha256-48OxQRx3tVaQhGmrFDxtzr8uzmhJjll8mImWhLiDBxM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bceb3bff2ee78424c1073d0b4676858265f926d1", + "rev": "14d17e6b1f9fbee8ffa624277e241fb7b04440db", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699522024, - "narHash": "sha256-+6oCJpVbtckTxU6jZbSbkXFWoWBXFVCSaHznumHdIok=", + "lastModified": 1699536582, + "narHash": "sha256-xW16bouhkI9fx6wMLy8002cbLvB3UK4B3J10+Anq9BU=", "owner": "nix-community", "repo": "NUR", - "rev": "9e212abf199b189550448cd2e1c296d328ea2332", + "rev": "71d46644e40610ea90c7e97ba32667de90c5f1a5", "type": "github" }, "original": { From 3959040cb74f72906cb766958c3963dce64bb18e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Nov 2023 16:39:24 +0100 Subject: [PATCH 1649/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index f404fdd1..df5494f4 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "68ff818a5bb7549f90b05e412b76fe448f605ffb" }, "LuaSnip": { "branch": "master", "commit": "a4de64570b9620875c8ea04175cd07ed8e32ac99" }, - "SchemaStore.nvim": { "branch": "main", "commit": "d7c3d872fc19741148a5e324197f086423680277" }, + "SchemaStore.nvim": { "branch": "main", "commit": "f934fbbf417cf05da7f1576c67655ab25f7b702d" }, "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, "catppuccin": { "branch": "main", "commit": "d7521f6050b94cb0e23067f63829d86886f870fe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -45,24 +45,24 @@ "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, "neodev.nvim": { "branch": "main", "commit": "80487e4f7bfa11c2ef2a1b461963db019aad6a73" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "29583c2bd0c4b552fbb16e93bf4f26febbe4a3c2" }, - "neorg": { "branch": "main", "commit": "98f390d8b0c42e40196ea4d831b42b3908137bc3" }, + "neogit": { "branch": "master", "commit": "d3c5687a78cffc25026ff31d2fcbd61a2a3e067f" }, + "neorg": { "branch": "main", "commit": "55090798a2eed2dd00fc1b2774bc6bf309a3bd0b" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "c3d25cc46145fba82c410245fb5bea66945eb1de" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" }, - "nvim-lint": { "branch": "master", "commit": "7746f952827dabfb70194518c99c93d5651b8f19" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, + "nvim-lint": { "branch": "master", "commit": "06e4bb431f3408b75466ede4234490ae7fcf17cb" }, "nvim-lspconfig": { "branch": "master", "commit": "37457f268af5cd6765e589b0dcd7cbd192d8da00" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "37c3c04a5fbab09c64b6c66dd9a93c92039e93fd" }, - "nvim-spider": { "branch": "main", "commit": "a12b9e8189d09f1670e6b58b0eecf1cecb97e41c" }, + "nvim-spectre": { "branch": "master", "commit": "7cce250609f6d8163301ccb69075418622e193d3" }, + "nvim-spider": { "branch": "main", "commit": "e0eeac5480704cc3fdd5bdadd4901ca5409d7838" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "9a746b4b6a1ef215943f07e6aa2ec35fb14097d4" }, + "nvim-treesitter": { "branch": "master", "commit": "44d1684db35d4e2ee7c254fc06251035252006c9" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "e1e670a86274d5cb681e475d4891ea1afe605ced" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, From 86ef1fe96ea2cfeb7d5f724c1a04b27a038d2156 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Nov 2023 16:39:29 +0100 Subject: [PATCH 1650/2080] main: install more terms --- home/main.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 6beedc94..ff820e65 100644 --- a/home/main.nix +++ b/home/main.nix @@ -21,6 +21,8 @@ wget # Cool stuff + alacritty + ueberzugpp black doggo # Disk usage @@ -31,18 +33,22 @@ lsd fd fortune + fzf pkgs-unstable.gh gnupg httpie inetutils mutt + notmuch + notmuch-mutt ripgrep silver-searcher + tailspin thefuck tree - xz unzip vdirsyncer + xz # Graphical tools # XXX joplin-cli build failing on macOS @@ -87,6 +93,7 @@ mqttui # For FreeBSD bhyve VMs tigervnc + pkgs-unstable.wezterm ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 757fdef2962cdd06ff1fe2af85fd8c1b2dfeec00 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Nov 2023 16:39:49 +0100 Subject: [PATCH 1651/2080] LazyVim: switch to NvChad/nvim-colorizer.lua. --- lazyvim/nvim/lua/plugins/tools.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 3f7f3da5..94398bbb 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -48,7 +48,10 @@ return { -- Color hex/rgb color codes { - "norcalli/nvim-colorizer.lua", + "NvChad/nvim-colorizer.lua", + config = function() + require("colorizer").setup({ filetypes = { "*" } }) + end, }, -- ChatGPT client From 4b8ca7ded2e368dca05542ec246e8a8f30df39e3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Nov 2023 16:40:19 +0100 Subject: [PATCH 1652/2080] tmux: disable continuum and resurrect. Test setup for yazi. --- modules/home/tmux/default.nix | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index 970c5e94..f7086464 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -31,24 +31,11 @@ # set -g @dracula-border-contrast true ''; } - { - plugin = resurrect; - # extraConfig = '' - # set -g @resurrect-strategy-nvim "session" - # ''; - } - { - plugin = continuum; - extraConfig = '' - set -g @continuum-restore 'on' - # disable automatic session backup - set -g @continuum-save-interval '0' - ''; - } ]; # XXX: required to get italics: tmux-256color or xterm-kitty # tmux-256color not working fine with delta - terminal = "xterm-kitty"; + # terminal = "xterm-kitty"; + terminal = "tmux-256color"; extraConfig = '' # Allow nested tmux sessions by making "C-b b" possible for sending a control # sequence to a nested session @@ -116,6 +103,15 @@ # Send pane next to another one bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" + + # For yazi + # https://github.com/sxyazi/yazi/wiki/Image-preview-within-tmux + # FIXME: not working with kitty in tmux + set -g allow-passthrough on + # set -ga update-environment TERM + # set -ga update-environment TERM_PROGRAM + set -ga update-environment TERM + set -ga update-environment TERM_PROGRAM ''; }; } From a3386272c7a25f92fc61371652812423f4a51b73 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 9 Nov 2023 16:40:57 +0100 Subject: [PATCH 1653/2080] macos: install yazi and wezterm --- machines/Baptistes-MBP/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index a68b2048..35850597 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -37,6 +37,9 @@ "languagetool" "terminal-notifier" + + # Terminal file manager + "yazi" ]; casks = [ # app launcher, file searcher @@ -55,6 +58,7 @@ "vagrant" "virtualbox" "vlc" + "wezterm" ]; }; } From 1fce61d28c291be3790bf4cc7e3a709384b203fc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Nov 2023 09:22:43 +0100 Subject: [PATCH 1654/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index df5494f4..3ddda347 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -30,8 +30,8 @@ "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "40301e1c74bc0946eece13edf2b1c561cc497491" }, - "mason.nvim": { "branch": "main", "commit": "eabf6d347fdb75be360d4c0ced1145670a171453" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "6eb8cae80f2e4322ec82cd9f8fa423f6d1eb02c3" }, + "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "4a2e387b121352dfb478f440c9a5313a9d97006c" }, "mini.animate": { "branch": "main", "commit": "626c51eba5d344572d6da0938044a73369de8b8b" }, @@ -43,7 +43,7 @@ "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "f053f09962819c1558cd93639aa80edf7c314c17" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "80487e4f7bfa11c2ef2a1b461963db019aad6a73" }, + "neodev.nvim": { "branch": "main", "commit": "b90ec1b35dc67902bd3c4fbd80ab11993c1af8cc" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "d3c5687a78cffc25026ff31d2fcbd61a2a3e067f" }, "neorg": { "branch": "main", "commit": "55090798a2eed2dd00fc1b2774bc6bf309a3bd0b" }, @@ -53,25 +53,25 @@ "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lint": { "branch": "master", "commit": "06e4bb431f3408b75466ede4234490ae7fcf17cb" }, - "nvim-lspconfig": { "branch": "master", "commit": "37457f268af5cd6765e589b0dcd7cbd192d8da00" }, + "nvim-lint": { "branch": "master", "commit": "bd9bcc0937614cd94c5bde56f110ddc15a76c08c" }, + "nvim-lspconfig": { "branch": "master", "commit": "36e4ffec0a9e373ac9dbf7949d3567c8f04ca3df" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "7cce250609f6d8163301ccb69075418622e193d3" }, "nvim-spider": { "branch": "main", "commit": "e0eeac5480704cc3fdd5bdadd4901ca5409d7838" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "44d1684db35d4e2ee7c254fc06251035252006c9" }, + "nvim-treesitter": { "branch": "master", "commit": "8996612bfbebe1657e1bb55a95201c96cab945c6" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "e1e670a86274d5cb681e475d4891ea1afe605ced" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, - "nvim-web-devicons": { "branch": "master", "commit": "5de460ca7595806044eced31e3c36c159a493857" }, + "nvim-web-devicons": { "branch": "master", "commit": "47103b80c38c59f7a1b5408c232b92bf5d018651" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, - "refactoring.nvim": { "branch": "master", "commit": "5831194debd23920a32abd9fefd5dddba44e34fc" }, + "refactoring.nvim": { "branch": "master", "commit": "156532476deb10b1b2a32cb38e1078b3f9951c42" }, "semshi": { "branch": "master", "commit": "eddc5304d7aa99e140c89f40393c9f109f4e9115" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, From d721a08407afa713cd5b3ca79258316d5c048fa7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Nov 2023 09:24:53 +0100 Subject: [PATCH 1655/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/eb2b9b64238349bd351561e32e260cac15db6f9a' (2023-11-08) → 'github:lnl7/nix-darwin/c8f385766ba076a096caa794309c40f89894d88a' (2023-11-09) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/fa7175414af333bbb9ea4546cf8f7d037b504ded' (2023-11-09) → 'github:nix-community/neovim-nightly-overlay/0542d71d5decc351f752b864669f8bdc71898942' (2023-11-10) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/04187d1cb58a46dff3b490115f38f9120e13d598?dir=contrib' (2023-11-08) → 'github:neovim/neovim/ae8ca79920a8d0e928ac1502a10d1d063a06cae5?dir=contrib' (2023-11-09) • Updated input 'nur': 'github:nix-community/NUR/71d46644e40610ea90c7e97ba32667de90c5f1a5' (2023-11-09) → 'github:nix-community/NUR/cbc22a4baf87dcb663340036d626abef225fcdfc' (2023-11-10) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 6ca8a944..eebd8554 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1699437533, - "narHash": "sha256-lMoPz9c89CpPVuJ95OFFesM9JagCF0soGbQatj3ZhqM=", + "lastModified": 1699569089, + "narHash": "sha256-MdOnyXrmMdVU9o7GpcbWKgehoK9L76ihp8rTikPcC1k=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "eb2b9b64238349bd351561e32e260cac15db6f9a", + "rev": "c8f385766ba076a096caa794309c40f89894d88a", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1699486685, - "narHash": "sha256-pb4O9I8nkIPyvdWS33FPUgGIA4Y24pCLlxvqWmKxRik=", + "lastModified": 1699553831, + "narHash": "sha256-EFBYtKE0U14Y5hXc6iXGhUxTzOrYYbOTtwbYWyj53Wc=", "owner": "neovim", "repo": "neovim", - "rev": "04187d1cb58a46dff3b490115f38f9120e13d598", + "rev": "ae8ca79920a8d0e928ac1502a10d1d063a06cae5", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1699488661, - "narHash": "sha256-rJZNJexm3CGs86m0xrQ1pr2LCJ5E2BALwD4n3ePycFU=", + "lastModified": 1699574693, + "narHash": "sha256-WjCaT/PtmhAQncXNhaOF5oYi/8A8S5qmYL3cZ7rUfE4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "fa7175414af333bbb9ea4546cf8f7d037b504ded", + "rev": "0542d71d5decc351f752b864669f8bdc71898942", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699536582, - "narHash": "sha256-xW16bouhkI9fx6wMLy8002cbLvB3UK4B3J10+Anq9BU=", + "lastModified": 1699598741, + "narHash": "sha256-gv+xNyutyfWIqea7nl/jgodsl5VIgWn1/R8ZE1ZsFh8=", "owner": "nix-community", "repo": "NUR", - "rev": "71d46644e40610ea90c7e97ba32667de90c5f1a5", + "rev": "cbc22a4baf87dcb663340036d626abef225fcdfc", "type": "github" }, "original": { From f9aeb9b2129306c14d22babdfada40ad44f5a8e4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Nov 2023 17:54:17 +0100 Subject: [PATCH 1656/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 3ddda347..11115104 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -12,8 +12,8 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "161d95bfbb1ad1a2b89ba2ea75ca1b5e012a111e" }, - "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, + "conform.nvim": { "branch": "master", "commit": "c3447c0080f4d6a94917b6eefa2dbdcac63dbfcc" }, + "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, "dressing.nvim": { "branch": "master", "commit": "fe3071330a0720ce3695ac915820c8134b22d1b0" }, @@ -43,7 +43,7 @@ "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "f053f09962819c1558cd93639aa80edf7c314c17" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "b90ec1b35dc67902bd3c4fbd80ab11993c1af8cc" }, + "neodev.nvim": { "branch": "main", "commit": "20f1e5d3c143333bdf5ea48729f7b50660135cb3" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "d3c5687a78cffc25026ff31d2fcbd61a2a3e067f" }, "neorg": { "branch": "main", "commit": "55090798a2eed2dd00fc1b2774bc6bf309a3bd0b" }, @@ -53,16 +53,16 @@ "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lint": { "branch": "master", "commit": "bd9bcc0937614cd94c5bde56f110ddc15a76c08c" }, - "nvim-lspconfig": { "branch": "master", "commit": "36e4ffec0a9e373ac9dbf7949d3567c8f04ca3df" }, + "nvim-lint": { "branch": "master", "commit": "775ae0e5a451dd6c5d15de7a828ea72d2c54e8cf" }, + "nvim-lspconfig": { "branch": "master", "commit": "b0852218bc5fa6514a71a9da6d5cfa63a263c83d" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "7cce250609f6d8163301ccb69075418622e193d3" }, + "nvim-spectre": { "branch": "master", "commit": "3eb207fcafb6522e1ed531d760af3ef896cce030" }, "nvim-spider": { "branch": "main", "commit": "e0eeac5480704cc3fdd5bdadd4901ca5409d7838" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "8996612bfbebe1657e1bb55a95201c96cab945c6" }, + "nvim-treesitter": { "branch": "master", "commit": "208504c7072ca81e8bf9fa2e666cf3436dfc0ef5" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "e1e670a86274d5cb681e475d4891ea1afe605ced" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "dbcd9388e3b119a87c785e10a00d62876077d23d" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, From efbb3d55c3396edd8f6774881569f7a8a4f2bda6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 10 Nov 2023 17:54:28 +0100 Subject: [PATCH 1657/2080] fish: clean no cows in ansible --- modules/home/fish/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index c86217d9..d71dfba8 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -98,6 +98,9 @@ in set -gx SYSTEMD_PAGER "${pkgs.bat}/bin/bat" set -gx MANPAGER "nvim +Man!" + # Disable cowsay for Ansible + set -gx ANSIBLE_NOCOWS 1 + if test (uname) = Darwin # Add path mainly used by brew fish_add_path "/usr/local/bin" From c96396cd2c7811a8b3f1381b9cf6a1a4f320d021 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 13 Nov 2023 12:54:47 +0100 Subject: [PATCH 1658/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/c8f385766ba076a096caa794309c40f89894d88a' (2023-11-09) → 'github:lnl7/nix-darwin/e67f2bf515343da378c3f82f098df8ca01bccc5f' (2023-11-13) • Updated input 'home-manager': 'github:nix-community/home-manager/07682fff75d41f18327a871088d20af2710d4744' (2023-09-19) → 'github:nix-community/home-manager/04bac349d585c9df38d78e0285b780a140dc74a4' (2023-11-12) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0542d71d5decc351f752b864669f8bdc71898942' (2023-11-10) → 'github:nix-community/neovim-nightly-overlay/c7a539280a90f5f3dccf9ecd740bcabb3c06e861' (2023-11-13) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/ae8ca79920a8d0e928ac1502a10d1d063a06cae5?dir=contrib' (2023-11-09) → 'github:neovim/neovim/d2983dcdb1ca003b5fd42d7d99fd98310aa1cd56?dir=contrib' (2023-11-12) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/ec750fd01963ab6b20ee1f0cb488754e8036d89d' (2023-11-07) → 'github:NixOS/nixpkgs/911ad1e67f458b6bcf0278fa85e33bb9924fed7e' (2023-11-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/41de143fda10e33be0f47eab2bfe08a50f234267' (2023-11-06) → 'github:NixOS/nixpkgs/da4024d0ead5d7820f6bd15147d3fe2a0c0cec73' (2023-11-10) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/14d17e6b1f9fbee8ffa624277e241fb7b04440db' (2023-11-08) → 'github:nixos/nixpkgs/971ac8319468c5cfa05653f6b95d7174614720f9' (2023-11-12) • Updated input 'nur': 'github:nix-community/NUR/cbc22a4baf87dcb663340036d626abef225fcdfc' (2023-11-10) → 'github:nix-community/NUR/4e1076378e9d07595c357eab971436b6d57888fa' (2023-11-13) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index eebd8554..f5071664 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1699569089, - "narHash": "sha256-MdOnyXrmMdVU9o7GpcbWKgehoK9L76ihp8rTikPcC1k=", + "lastModified": 1699867978, + "narHash": "sha256-+arl45HUOcBdKiRGrKXZYXDyBQ6MQGkYPZa/28f6Yzo=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "c8f385766ba076a096caa794309c40f89894d88a", + "rev": "e67f2bf515343da378c3f82f098df8ca01bccc5f", "type": "github" }, "original": { @@ -126,11 +126,11 @@ ] }, "locked": { - "lastModified": 1695108154, - "narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=", + "lastModified": 1699748081, + "narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=", "owner": "nix-community", "repo": "home-manager", - "rev": "07682fff75d41f18327a871088d20af2710d4744", + "rev": "04bac349d585c9df38d78e0285b780a140dc74a4", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1699553831, - "narHash": "sha256-EFBYtKE0U14Y5hXc6iXGhUxTzOrYYbOTtwbYWyj53Wc=", + "lastModified": 1699831665, + "narHash": "sha256-hfFVGgLYIIht1MAJb/P8PCOnnJLy2GkOWh22z0wAF5U=", "owner": "neovim", "repo": "neovim", - "rev": "ae8ca79920a8d0e928ac1502a10d1d063a06cae5", + "rev": "d2983dcdb1ca003b5fd42d7d99fd98310aa1cd56", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1699574693, - "narHash": "sha256-WjCaT/PtmhAQncXNhaOF5oYi/8A8S5qmYL3cZ7rUfE4=", + "lastModified": 1699834167, + "narHash": "sha256-T9SxEnpx2u6abMC4mBLk3sCHsJOUbjJtKeYprF+BHis=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0542d71d5decc351f752b864669f8bdc71898942", + "rev": "c7a539280a90f5f3dccf9ecd740bcabb3c06e861", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1699343069, - "narHash": "sha256-s7BBhyLA6MI6FuJgs4F/SgpntHBzz40/qV0xLPW6A1Q=", + "lastModified": 1699725108, + "narHash": "sha256-NTiPW4jRC+9puakU4Vi8WpFEirhp92kTOSThuZke+FA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ec750fd01963ab6b20ee1f0cb488754e8036d89d", + "rev": "911ad1e67f458b6bcf0278fa85e33bb9924fed7e", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1699403077, - "narHash": "sha256-48OxQRx3tVaQhGmrFDxtzr8uzmhJjll8mImWhLiDBxM=", + "lastModified": 1699785518, + "narHash": "sha256-QywAQ3A4dMHt1NTbHIFMXZ+bknza+JJpjxbDi5ud2+Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "14d17e6b1f9fbee8ffa624277e241fb7b04440db", + "rev": "971ac8319468c5cfa05653f6b95d7174614720f9", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1699291058, - "narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=", + "lastModified": 1699596684, + "narHash": "sha256-XSXP8zjBZJBVvpNb2WmY0eW8O2ce+sVyj1T0/iBRIvg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "41de143fda10e33be0f47eab2bfe08a50f234267", + "rev": "da4024d0ead5d7820f6bd15147d3fe2a0c0cec73", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699598741, - "narHash": "sha256-gv+xNyutyfWIqea7nl/jgodsl5VIgWn1/R8ZE1ZsFh8=", + "lastModified": 1699875909, + "narHash": "sha256-rHqP8ipSyMcKNDA0OxoWJRxalfSxn7weKZlwpp0daF0=", "owner": "nix-community", "repo": "NUR", - "rev": "cbc22a4baf87dcb663340036d626abef225fcdfc", + "rev": "4e1076378e9d07595c357eab971436b6d57888fa", "type": "github" }, "original": { From a62f4e31c8304c9bf12d31cf63da34303c622c5a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 13 Nov 2023 15:30:11 +0100 Subject: [PATCH 1659/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/4e1076378e9d07595c357eab971436b6d57888fa' (2023-11-13) → 'github:nix-community/NUR/9c4835e5bcb05f0c40f4d54ccec7199f9050fde3' (2023-11-13) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index f5071664..ded80906 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699875909, - "narHash": "sha256-rHqP8ipSyMcKNDA0OxoWJRxalfSxn7weKZlwpp0daF0=", + "lastModified": 1699880405, + "narHash": "sha256-245U6zatNdFsPOkh4K047I9lTRMmeVvAU5NwrU8mBDs=", "owner": "nix-community", "repo": "NUR", - "rev": "4e1076378e9d07595c357eab971436b6d57888fa", + "rev": "9c4835e5bcb05f0c40f4d54ccec7199f9050fde3", "type": "github" }, "original": { From 71bb9b252d41bdcd1ee76ecaab9f72782fc09d48 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 13 Nov 2023 16:49:25 +0100 Subject: [PATCH 1660/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 11115104..d40b625c 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "68ff818a5bb7549f90b05e412b76fe448f605ffb" }, - "LuaSnip": { "branch": "master", "commit": "a4de64570b9620875c8ea04175cd07ed8e32ac99" }, - "SchemaStore.nvim": { "branch": "main", "commit": "f934fbbf417cf05da7f1576c67655ab25f7b702d" }, + "LuaSnip": { "branch": "master", "commit": "1f4ad8bb72bdeb60975e98652636b991a9b7475d" }, + "SchemaStore.nvim": { "branch": "main", "commit": "fe2ab14cf777a041b7c62af37346f7849400a754" }, "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, - "catppuccin": { "branch": "main", "commit": "d7521f6050b94cb0e23067f63829d86886f870fe" }, + "catppuccin": { "branch": "main", "commit": "f90c7c0c467722dc7acacbae3c3904720e09efb6" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "c3447c0080f4d6a94917b6eefa2dbdcac63dbfcc" }, + "conform.nvim": { "branch": "master", "commit": "ca3dfba94600aa62bfc88ae37cbd4f17eaea2553" }, "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, @@ -22,7 +22,7 @@ "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, "gitsigns.nvim": { "branch": "main", "commit": "af0f583cd35286dd6f0e3ed52622728703237e50" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, - "headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" }, + "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, "indent-blankline.nvim": { "branch": "master", "commit": "29be0919b91fb59eca9e90690d76014233392bef" }, @@ -43,30 +43,30 @@ "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "f053f09962819c1558cd93639aa80edf7c314c17" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "20f1e5d3c143333bdf5ea48729f7b50660135cb3" }, + "neodev.nvim": { "branch": "main", "commit": "1fc168ee385441994d7e9397e854cb20f5c7e324" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neogit": { "branch": "master", "commit": "d3c5687a78cffc25026ff31d2fcbd61a2a3e067f" }, - "neorg": { "branch": "main", "commit": "55090798a2eed2dd00fc1b2774bc6bf309a3bd0b" }, + "neorg": { "branch": "main", "commit": "81ddcfe57719601027ebab85e8613331954388bd" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, - "neorg-telescope": { "branch": "main", "commit": "c3d25cc46145fba82c410245fb5bea66945eb1de" }, + "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lint": { "branch": "master", "commit": "775ae0e5a451dd6c5d15de7a828ea72d2c54e8cf" }, - "nvim-lspconfig": { "branch": "master", "commit": "b0852218bc5fa6514a71a9da6d5cfa63a263c83d" }, + "nvim-lspconfig": { "branch": "master", "commit": "90a28fd7637b66e055af62387ecee06f7cbd3173" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "3eb207fcafb6522e1ed531d760af3ef896cce030" }, + "nvim-spectre": { "branch": "master", "commit": "07201e6bd3b43a193d891cec844dfd1f23e775d1" }, "nvim-spider": { "branch": "main", "commit": "e0eeac5480704cc3fdd5bdadd4901ca5409d7838" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "208504c7072ca81e8bf9fa2e666cf3436dfc0ef5" }, - "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, + "nvim-treesitter": { "branch": "master", "commit": "075a64addc33390028ea124a1046a43497f05cd1" }, + "nvim-treesitter-context": { "branch": "master", "commit": "c03f8aab1e6649036d69ba7e3af4d09cb7e4d977" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "dbcd9388e3b119a87c785e10a00d62876077d23d" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, - "nvim-ufo": { "branch": "main", "commit": "ebbab711d909d5f675e38ad489765bd22bd2c6b3" }, - "nvim-web-devicons": { "branch": "master", "commit": "47103b80c38c59f7a1b5408c232b92bf5d018651" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "6c30f3c8915d7b31c3decdfe6c7672432da1809d" }, + "nvim-ufo": { "branch": "main", "commit": "9a14b104e7aedd492fd0613c0325a390adf4e23c" }, + "nvim-web-devicons": { "branch": "master", "commit": "71cf9bfd1b2d36c6942ba80f24c382d057e6b567" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, From c1d55cac8a8738445ac1e2443d2305b0784aba83 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 13 Nov 2023 16:50:20 +0100 Subject: [PATCH 1661/2080] LazyVim Neorg: set default workspace for the journal. --- lazyvim/nvim/lua/plugins/neorg.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/neorg.lua b/lazyvim/nvim/lua/plugins/neorg.lua index cc6bbb93..469e7d3e 100644 --- a/lazyvim/nvim/lua/plugins/neorg.lua +++ b/lazyvim/nvim/lua/plugins/neorg.lua @@ -28,6 +28,12 @@ return { }, }, }, + -- https://github.com/nvim-neorg/neorg/wiki/Journal + ["core.journal"] = { + config = { + workspace = "work", + }, + }, ["core.summary"] = {}, -- Neovim 0.10.0+ required for core.tempus module -- ["core.ui.calendar"] = {}, From e6c4cd52a7b3d35838a1967d923fcdcc314fada5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 13 Nov 2023 16:51:00 +0100 Subject: [PATCH 1662/2080] fish: add aliases for Neorg journal. --- modules/home/fish/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/home/fish/default.nix b/modules/home/fish/default.nix index d71dfba8..7c51e32e 100644 --- a/modules/home/fish/default.nix +++ b/modules/home/fish/default.nix @@ -55,6 +55,12 @@ in nr = "nix run"; ns = "nix search"; + # For Neorg journal + # https://github.com/nvim-neorg/neorg/wiki/Journal + weekly = "nvim +\":Neorg journal custom $(date -d 'monday' +'%Y-%m-%d')\""; + weekly_last = "nvim +\":Neorg journal custom $(date -d 'last monday' +'%Y-%m-%d')\""; + weekly_next = "nvim +\":Neorg journal custom $(date -d 'next monday' +'%Y-%m-%d')\""; + # Other ".." = "cd .."; ":q" = "exit"; From 0618750dc73a4343e88bae71cdabcccb2f94cb1e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 13 Nov 2023 16:51:31 +0100 Subject: [PATCH 1663/2080] LazyVim coding: more stylua exceptions. --- lazyvim/nvim/lua/plugins/coding.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 81ee3277..52bd8ba6 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -234,6 +234,7 @@ return { -- }) -- only load lbdb completion for emails + ---@diagnostic disable-next-line: missing-fields cmp.setup.filetype("mail", { ---@diagnostic disable-next-line: missing-parameter sources = cmp.config.sources({ @@ -255,6 +256,7 @@ return { }) -- Add neorg + ---@diagnostic disable-next-line: missing-fields cmp.setup.filetype("norg", { sources = cmp.config.sources({ { name = "nvim_lsp" }, @@ -274,6 +276,7 @@ return { }) -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). + ---@diagnostic disable-next-line: missing-fields cmp.setup.cmdline(":", { mapping = cmp.mapping.preset.cmdline(), sources = cmp.config.sources({ @@ -284,6 +287,7 @@ return { }) -- `/` cmdline setup. + ---@diagnostic disable-next-line: missing-fields cmp.setup.cmdline("/", { mapping = cmp.mapping.preset.cmdline(), sources = { @@ -293,8 +297,11 @@ return { -- Custom snippets -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua + ---@diagnostic disable-next-line: no-unknown local s = luasnip.snippet + ---@diagnostic disable-next-line: no-unknown local i = luasnip.insert_node + ---@diagnostic disable-next-line: no-unknown local t = luasnip.text_node luasnip.add_snippets("all", { s("ternary", { From 805ff5ab9fdc730c1da5bbb8c7d31957cf853ebb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 13 Nov 2023 16:53:16 +0100 Subject: [PATCH 1664/2080] neorg: woudl need to look into journal templates --- lazyvim/nvim/lua/plugins/neorg.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lua/plugins/neorg.lua b/lazyvim/nvim/lua/plugins/neorg.lua index 469e7d3e..aa753af8 100644 --- a/lazyvim/nvim/lua/plugins/neorg.lua +++ b/lazyvim/nvim/lua/plugins/neorg.lua @@ -29,6 +29,7 @@ return { }, }, -- https://github.com/nvim-neorg/neorg/wiki/Journal + -- TODO: https://github.com/pysan3/neorg-templates ["core.journal"] = { config = { workspace = "work", From e241a23ec171316152977268305451db344f8a42 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 14 Nov 2023 12:55:23 +0100 Subject: [PATCH 1665/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/971ac8319468c5cfa05653f6b95d7174614720f9' (2023-11-12) → 'github:nixos/nixpkgs/5e68ba52abc572bd570b80503cdca5b137b5a594' (2023-11-13) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04) → 'github:nixos/nixpkgs/e44462d6021bfe23dfb24b775cc7c390844f773d' (2023-11-12) • Updated input 'nur': 'github:nix-community/NUR/9c4835e5bcb05f0c40f4d54ccec7199f9050fde3' (2023-11-13) → 'github:nix-community/NUR/34dadf63b2715951bec44a3ba01c4e72e07900dc' (2023-11-14) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index ded80906..5b5e1bef 100644 --- a/flake.lock +++ b/flake.lock @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1699785518, - "narHash": "sha256-QywAQ3A4dMHt1NTbHIFMXZ+bknza+JJpjxbDi5ud2+Y=", + "lastModified": 1699882182, + "narHash": "sha256-6RVUYyMPdKFrNFHTDfzH6p90+8mG5dXIavlF95pl7A4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "971ac8319468c5cfa05653f6b95d7174614720f9", + "rev": "5e68ba52abc572bd570b80503cdca5b137b5a594", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1699099776, - "narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=", + "lastModified": 1699781429, + "narHash": "sha256-UYefjidASiLORAjIvVsUHG6WBtRhM67kTjEY4XfZOFs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb", + "rev": "e44462d6021bfe23dfb24b775cc7c390844f773d", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699880405, - "narHash": "sha256-245U6zatNdFsPOkh4K047I9lTRMmeVvAU5NwrU8mBDs=", + "lastModified": 1699957785, + "narHash": "sha256-N7XJ+Otvn5GERktkIxw6K757JsmfvyO7I95VPgk38Z8=", "owner": "nix-community", "repo": "NUR", - "rev": "9c4835e5bcb05f0c40f4d54ccec7199f9050fde3", + "rev": "34dadf63b2715951bec44a3ba01c4e72e07900dc", "type": "github" }, "original": { From 8e420fab69c90d2ab86f01827b3206c77ca87e2d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 11 Nov 2023 12:31:16 +0100 Subject: [PATCH 1666/2080] main: install calaos_installer from unstable. --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index ff820e65..728c93ec 100644 --- a/home/main.nix +++ b/home/main.nix @@ -65,6 +65,7 @@ arch-install-scripts boxes checkmake + pkgs-unstable.calaos_installer dracula-theme drawio gparted From b2f2ca3055e6dcd8dbebfea5828ab81ccc4bfa3c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 17 Nov 2023 12:35:22 +0100 Subject: [PATCH 1667/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/c7a539280a90f5f3dccf9ecd740bcabb3c06e861' (2023-11-13) → 'github:nix-community/neovim-nightly-overlay/b4eb6912388de7e8952383c0764e5ef8fa66f48a' (2023-11-15) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/d2983dcdb1ca003b5fd42d7d99fd98310aa1cd56?dir=contrib' (2023-11-12) → 'github:neovim/neovim/d92dd2a0c05148154c353f0e7cd2099b2427308a?dir=contrib' (2023-11-15) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/911ad1e67f458b6bcf0278fa85e33bb9924fed7e' (2023-11-11) → 'github:NixOS/nixpkgs/592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3' (2023-11-15) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/da4024d0ead5d7820f6bd15147d3fe2a0c0cec73' (2023-11-10) → 'github:NixOS/nixpkgs/9fb122519e9cd465d532f736a98c1e1eb541ef6f' (2023-11-16) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/5e68ba52abc572bd570b80503cdca5b137b5a594' (2023-11-13) → 'github:nixos/nixpkgs/9fb122519e9cd465d532f736a98c1e1eb541ef6f' (2023-11-16) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e44462d6021bfe23dfb24b775cc7c390844f773d' (2023-11-12) → 'github:nixos/nixpkgs/bf744fe90419885eefced41b3e5ae442d732712d' (2023-11-14) • Updated input 'nur': 'github:nix-community/NUR/34dadf63b2715951bec44a3ba01c4e72e07900dc' (2023-11-14) → 'github:nix-community/NUR/979cb01e94dd8312cfad34275a6c1a6deace2382' (2023-11-17) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 5b5e1bef..ffdb0aae 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1699831665, - "narHash": "sha256-hfFVGgLYIIht1MAJb/P8PCOnnJLy2GkOWh22z0wAF5U=", + "lastModified": 1700037583, + "narHash": "sha256-PR0CTwi1G23MrPUR6dT8U8hL6U6YogQPnfGTFDoBGbs=", "owner": "neovim", "repo": "neovim", - "rev": "d2983dcdb1ca003b5fd42d7d99fd98310aa1cd56", + "rev": "d92dd2a0c05148154c353f0e7cd2099b2427308a", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1699834167, - "narHash": "sha256-T9SxEnpx2u6abMC4mBLk3sCHsJOUbjJtKeYprF+BHis=", + "lastModified": 1700069490, + "narHash": "sha256-lzFqp58RQofM2zXKMPGHt3AH7uPmJy49CCJnn/dsTdI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c7a539280a90f5f3dccf9ecd740bcabb3c06e861", + "rev": "b4eb6912388de7e8952383c0764e5ef8fa66f48a", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1699725108, - "narHash": "sha256-NTiPW4jRC+9puakU4Vi8WpFEirhp92kTOSThuZke+FA=", + "lastModified": 1700014976, + "narHash": "sha256-dSGpS2YeJrXW5aH9y7Abd235gGufY3RuZFth6vuyVtU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "911ad1e67f458b6bcf0278fa85e33bb9924fed7e", + "rev": "592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1699882182, - "narHash": "sha256-6RVUYyMPdKFrNFHTDfzH6p90+8mG5dXIavlF95pl7A4=", + "lastModified": 1700097215, + "narHash": "sha256-ODQ3gBTv1iHd7lG21H+ErVISB5wVeOhd/dEogOqHs/I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e68ba52abc572bd570b80503cdca5b137b5a594", + "rev": "9fb122519e9cd465d532f736a98c1e1eb541ef6f", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1699781429, - "narHash": "sha256-UYefjidASiLORAjIvVsUHG6WBtRhM67kTjEY4XfZOFs=", + "lastModified": 1699963925, + "narHash": "sha256-LE7OV/SwkIBsCpAlIPiFhch/J+jBDGEZjNfdnzCnCrY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e44462d6021bfe23dfb24b775cc7c390844f773d", + "rev": "bf744fe90419885eefced41b3e5ae442d732712d", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1699596684, - "narHash": "sha256-XSXP8zjBZJBVvpNb2WmY0eW8O2ce+sVyj1T0/iBRIvg=", + "lastModified": 1700097215, + "narHash": "sha256-ODQ3gBTv1iHd7lG21H+ErVISB5wVeOhd/dEogOqHs/I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "da4024d0ead5d7820f6bd15147d3fe2a0c0cec73", + "rev": "9fb122519e9cd465d532f736a98c1e1eb541ef6f", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1699957785, - "narHash": "sha256-N7XJ+Otvn5GERktkIxw6K757JsmfvyO7I95VPgk38Z8=", + "lastModified": 1700214441, + "narHash": "sha256-XxlEZnScK5p4rwH8JE7pnMWUwx2TeMPTpgIDmPAFpSw=", "owner": "nix-community", "repo": "NUR", - "rev": "34dadf63b2715951bec44a3ba01c4e72e07900dc", + "rev": "979cb01e94dd8312cfad34275a6c1a6deace2382", "type": "github" }, "original": { From f693099cd15ce04882583cc1f1f399f68631e0f1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 19 Nov 2023 18:24:31 +0100 Subject: [PATCH 1668/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/04bac349d585c9df38d78e0285b780a140dc74a4' (2023-11-12) → 'github:nix-community/home-manager/28535c3a34d79071f2ccb68671971ce0c0984d7e' (2023-11-19) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/b4eb6912388de7e8952383c0764e5ef8fa66f48a' (2023-11-15) → 'github:nix-community/neovim-nightly-overlay/dceb55381308fab5261273b4a8f6e33184c43b00' (2023-11-19) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/d92dd2a0c05148154c353f0e7cd2099b2427308a?dir=contrib' (2023-11-15) → 'github:neovim/neovim/a84b454ebe661981f292ee8fc73be4f9cd3a5884?dir=contrib' (2023-11-18) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3' (2023-11-15) → 'github:NixOS/nixpkgs/7414e9ee0b3e9903c24d3379f577a417f0aae5f1' (2023-11-16) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9fb122519e9cd465d532f736a98c1e1eb541ef6f' (2023-11-16) → 'github:NixOS/nixpkgs/8e5e424b1c059e9ccf5db6a652458e30de05fa3a' (2023-11-18) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/9fb122519e9cd465d532f736a98c1e1eb541ef6f' (2023-11-16) → 'github:nixos/nixpkgs/decdf666c833a325cb4417041a90681499e06a41' (2023-11-18) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/bf744fe90419885eefced41b3e5ae442d732712d' (2023-11-14) → 'github:nixos/nixpkgs/c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad' (2023-11-17) • Updated input 'nur': 'github:nix-community/NUR/979cb01e94dd8312cfad34275a6c1a6deace2382' (2023-11-17) → 'github:nix-community/NUR/45d3fff4006ebb02c681e79dca6fcfdcc9c4b7d8' (2023-11-19) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index ffdb0aae..d79465ba 100644 --- a/flake.lock +++ b/flake.lock @@ -126,11 +126,11 @@ ] }, "locked": { - "lastModified": 1699748081, - "narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=", + "lastModified": 1700392168, + "narHash": "sha256-v5LprEFx3u4+1vmds9K0/i7sHjT0IYGs7u9v54iz/OA=", "owner": "nix-community", "repo": "home-manager", - "rev": "04bac349d585c9df38d78e0285b780a140dc74a4", + "rev": "28535c3a34d79071f2ccb68671971ce0c0984d7e", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1700037583, - "narHash": "sha256-PR0CTwi1G23MrPUR6dT8U8hL6U6YogQPnfGTFDoBGbs=", + "lastModified": 1700351913, + "narHash": "sha256-HfGmH8T+HsHXAbLwDjIWEFEYvIVBIQWXdeZU/YqbE6w=", "owner": "neovim", "repo": "neovim", - "rev": "d92dd2a0c05148154c353f0e7cd2099b2427308a", + "rev": "a84b454ebe661981f292ee8fc73be4f9cd3a5884", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1700069490, - "narHash": "sha256-lzFqp58RQofM2zXKMPGHt3AH7uPmJy49CCJnn/dsTdI=", + "lastModified": 1700352350, + "narHash": "sha256-qe9jFx4xxVFyOkQHaFWwLNRMl9JXweZqJsdTK+adU98=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b4eb6912388de7e8952383c0764e5ef8fa66f48a", + "rev": "dceb55381308fab5261273b4a8f6e33184c43b00", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1700014976, - "narHash": "sha256-dSGpS2YeJrXW5aH9y7Abd235gGufY3RuZFth6vuyVtU=", + "lastModified": 1700108881, + "narHash": "sha256-+Lqybl8kj0+nD/IlAWPPG/RDTa47gff9nbei0u7BntE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3", + "rev": "7414e9ee0b3e9903c24d3379f577a417f0aae5f1", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1700097215, - "narHash": "sha256-ODQ3gBTv1iHd7lG21H+ErVISB5wVeOhd/dEogOqHs/I=", + "lastModified": 1700342017, + "narHash": "sha256-HaibwlWH5LuqsaibW3sIVjZQtEM/jWtOHX4Nk93abGE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9fb122519e9cd465d532f736a98c1e1eb541ef6f", + "rev": "decdf666c833a325cb4417041a90681499e06a41", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1699963925, - "narHash": "sha256-LE7OV/SwkIBsCpAlIPiFhch/J+jBDGEZjNfdnzCnCrY=", + "lastModified": 1700204040, + "narHash": "sha256-xSVcS5HBYnD3LTer7Y2K8ZQCDCXMa3QUD1MzRjHzuhI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bf744fe90419885eefced41b3e5ae442d732712d", + "rev": "c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1700097215, - "narHash": "sha256-ODQ3gBTv1iHd7lG21H+ErVISB5wVeOhd/dEogOqHs/I=", + "lastModified": 1700272409, + "narHash": "sha256-Mge6iOvomplBsvQ47sIeVAwAUGSVXH4qCW4pLUt/qMI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9fb122519e9cd465d532f736a98c1e1eb541ef6f", + "rev": "8e5e424b1c059e9ccf5db6a652458e30de05fa3a", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1700214441, - "narHash": "sha256-XxlEZnScK5p4rwH8JE7pnMWUwx2TeMPTpgIDmPAFpSw=", + "lastModified": 1700411019, + "narHash": "sha256-9swk2mTTeXUTNQIS6u82uNUoASHRr6GttUtAnMepLys=", "owner": "nix-community", "repo": "NUR", - "rev": "979cb01e94dd8312cfad34275a6c1a6deace2382", + "rev": "45d3fff4006ebb02c681e79dca6fcfdcc9c4b7d8", "type": "github" }, "original": { From 604587a86aa7b3191f95e2d16c5768d1ced1b8b8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 19 Nov 2023 19:05:07 +0100 Subject: [PATCH 1669/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 39 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index d40b625c..d02561e4 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "68ff818a5bb7549f90b05e412b76fe448f605ffb" }, "LuaSnip": { "branch": "master", "commit": "1f4ad8bb72bdeb60975e98652636b991a9b7475d" }, - "SchemaStore.nvim": { "branch": "main", "commit": "fe2ab14cf777a041b7c62af37346f7849400a754" }, + "SchemaStore.nvim": { "branch": "main", "commit": "9fb873af43568464f9a1936fc334dfa3d7a59418" }, "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, - "catppuccin": { "branch": "main", "commit": "f90c7c0c467722dc7acacbae3c3904720e09efb6" }, + "catppuccin": { "branch": "main", "commit": "a8dfb969e76d1a0752d98b5347be9ffb9bca9592" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "ca3dfba94600aa62bfc88ae37cbd4f17eaea2553" }, + "conform.nvim": { "branch": "master", "commit": "a36c68d2cd551e49883ddb2492c178d915567f58" }, "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, @@ -20,7 +20,7 @@ "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "af0f583cd35286dd6f0e3ed52622728703237e50" }, + "gitsigns.nvim": { "branch": "main", "commit": "0ccd5fb2316b3f8d8b2f775bc31cae7bc6a77a55" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, @@ -30,7 +30,7 @@ "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "6eb8cae80f2e4322ec82cd9f8fa423f6d1eb02c3" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "ab640b38ca9fa50d25d2d249b6606b9456b628d5" }, "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "4a2e387b121352dfb478f440c9a5313a9d97006c" }, @@ -41,32 +41,32 @@ "mini.indentscope": { "branch": "main", "commit": "c8fdafa7bf603d758986a27eb546c55a5c73b1a3" }, "mini.pairs": { "branch": "main", "commit": "71f117fd57f930da6ef4126b24f594dd398bac26" }, "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "f053f09962819c1558cd93639aa80edf7c314c17" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "230ff118613fa07138ba579b89d13ec2201530b9" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "1fc168ee385441994d7e9397e854cb20f5c7e324" }, + "neodev.nvim": { "branch": "main", "commit": "627b5b543f4df551fcddb99c17a8e260c453400d" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "d3c5687a78cffc25026ff31d2fcbd61a2a3e067f" }, - "neorg": { "branch": "main", "commit": "81ddcfe57719601027ebab85e8613331954388bd" }, + "neogit": { "branch": "master", "commit": "987e415247547a372d0356f76444cf402436c727" }, + "neorg": { "branch": "main", "commit": "3f4b279d7505ac854fcd31d1aad24991542ea5d8" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lint": { "branch": "master", "commit": "775ae0e5a451dd6c5d15de7a828ea72d2c54e8cf" }, - "nvim-lspconfig": { "branch": "master", "commit": "90a28fd7637b66e055af62387ecee06f7cbd3173" }, + "nvim-lint": { "branch": "master", "commit": "15fcab91e6a4e2a3e41dc55c5b3471f66c11ce39" }, + "nvim-lspconfig": { "branch": "master", "commit": "6516abf5ac7d017480c8c8e08c0d24066bcb8d43" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "07201e6bd3b43a193d891cec844dfd1f23e775d1" }, + "nvim-spectre": { "branch": "master", "commit": "a18a58015b46f02b4fe537ebfffd82e46110ff24" }, "nvim-spider": { "branch": "main", "commit": "e0eeac5480704cc3fdd5bdadd4901ca5409d7838" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "075a64addc33390028ea124a1046a43497f05cd1" }, - "nvim-treesitter-context": { "branch": "master", "commit": "c03f8aab1e6649036d69ba7e3af4d09cb7e4d977" }, + "nvim-treesitter": { "branch": "master", "commit": "d87629647614b779fb2aad8f0042fe2864253ea6" }, + "nvim-treesitter-context": { "branch": "master", "commit": "f3ec0d8a1b4e07d7ed2da6b9a9f10864a83c4be4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "dbcd9388e3b119a87c785e10a00d62876077d23d" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "6c30f3c8915d7b31c3decdfe6c7672432da1809d" }, - "nvim-ufo": { "branch": "main", "commit": "9a14b104e7aedd492fd0613c0325a390adf4e23c" }, - "nvim-web-devicons": { "branch": "master", "commit": "71cf9bfd1b2d36c6942ba80f24c382d057e6b567" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "ead792ccdace6a9d64a8119909af243ed0105465" }, + "nvim-ufo": { "branch": "main", "commit": "a6132d058f23d15686f07b8e1ca252e060a0e0ce" }, + "nvim-web-devicons": { "branch": "master", "commit": "e2f6e0e299e193d7e9c48634d355f7a6eb3020b4" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, @@ -78,13 +78,12 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "20bf20500c95208c3ac0ef07245065bf94dcab15" }, + "telescope.nvim": { "branch": "master", "commit": "18774ec7929c8a8003a91e9e1f69f6c32258bbfe" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, - "tree-sitter-hypr": { "branch": "master", "commit": "90b3ddf8a85b5ea3d9dc4920fddb16182a192e14" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "d5f6602d2d3f4089116a7eb04475b6a295f72419" }, + "venv-selector.nvim": { "branch": "main", "commit": "c259dacb20a00fb84ec6006e9a24b4085b27120a" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "d30b72d20f01478a8486f15a57c89fe3177373db" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From 42d0633d28a9019fe2de2ea56b96bd63096947d4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 19 Nov 2023 19:05:28 +0100 Subject: [PATCH 1670/2080] LazyVim: disable sqlite for yanky.nvim --- lazyvim/nvim/lua/plugins/tools.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 94398bbb..81633db8 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -1,5 +1,12 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/tools.lua return { + { + "gbprod/yanky.nvim", + opts = { + -- FIXME: not finding sqlite3 on NixOS + ring = { storage = (jit.os:find("Windows") or jit.os:find("Linux")) and "shada" or "sqlite" }, + }, + }, -- git integration :Neogit -- LazyGit and Gitsigns are installed by default { From 8c02b790b1cc6b70c031554cd0cd72ea38faa73a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 28 Nov 2023 13:36:21 +0100 Subject: [PATCH 1671/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/e67f2bf515343da378c3f82f098df8ca01bccc5f' (2023-11-13) → 'github:lnl7/nix-darwin/4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d' (2023-11-24) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/dceb55381308fab5261273b4a8f6e33184c43b00' (2023-11-19) → 'github:nix-community/neovim-nightly-overlay/e8b2276946b372057d6c425fe259c1351fdf2c67' (2023-11-28) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/0bd99f5ab7ec7a74c11238bd02bb29e709c14328' (2023-11-07) → 'github:hercules-ci/hercules-ci-effects/31b6cd7569191bfcd0a548575b0e2ef953ed7d09' (2023-11-26) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/a84b454ebe661981f292ee8fc73be4f9cd3a5884?dir=contrib' (2023-11-18) → 'github:neovim/neovim/3a3474371b6b87e630e7aa217e7860e9154cd563?dir=contrib' (2023-11-28) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/7414e9ee0b3e9903c24d3379f577a417f0aae5f1' (2023-11-16) → 'github:NixOS/nixpkgs/45827faa2132b8eade424f6bdd48d8828754341a' (2023-11-26) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/8e5e424b1c059e9ccf5db6a652458e30de05fa3a' (2023-11-18) → 'github:NixOS/nixpkgs/5b528f99f73c4fad127118a8c1126b5e003b01a9' (2023-11-27) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/decdf666c833a325cb4417041a90681499e06a41' (2023-11-18) → 'github:nixos/nixpkgs/5b528f99f73c4fad127118a8c1126b5e003b01a9' (2023-11-27) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad' (2023-11-17) → 'github:nixos/nixpkgs/5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8' (2023-11-24) • Updated input 'nur': 'github:nix-community/NUR/45d3fff4006ebb02c681e79dca6fcfdcc9c4b7d8' (2023-11-19) → 'github:nix-community/NUR/fe19b4c06d0996e666887230a01f9018c174529d' (2023-11-28) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index d79465ba..275bdfa3 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1699867978, - "narHash": "sha256-+arl45HUOcBdKiRGrKXZYXDyBQ6MQGkYPZa/28f6Yzo=", + "lastModified": 1700795494, + "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "e67f2bf515343da378c3f82f098df8ca01bccc5f", + "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", "type": "github" }, "original": { @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1699381651, - "narHash": "sha256-mZlQ54xJs3j5+SJrLhzePPMXzS+Czbx7gNyOnOAQrHA=", + "lastModified": 1701009247, + "narHash": "sha256-GuX16rzRze2y7CsewJLTV6qXkXWyEwp6VCZXi8HLruU=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0bd99f5ab7ec7a74c11238bd02bb29e709c14328", + "rev": "31b6cd7569191bfcd0a548575b0e2ef953ed7d09", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1700351913, - "narHash": "sha256-HfGmH8T+HsHXAbLwDjIWEFEYvIVBIQWXdeZU/YqbE6w=", + "lastModified": 1701130526, + "narHash": "sha256-+TPrkfN6jG5ZlRBG4d+6vS8tRIVWMNsVFECb3gbjI9E=", "owner": "neovim", "repo": "neovim", - "rev": "a84b454ebe661981f292ee8fc73be4f9cd3a5884", + "rev": "3a3474371b6b87e630e7aa217e7860e9154cd563", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1700352350, - "narHash": "sha256-qe9jFx4xxVFyOkQHaFWwLNRMl9JXweZqJsdTK+adU98=", + "lastModified": 1701137963, + "narHash": "sha256-ihXnCLR42qO9Mc+fLT/vtp+EW8CZHJwgdKMhc/+y76I=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "dceb55381308fab5261273b4a8f6e33184c43b00", + "rev": "e8b2276946b372057d6c425fe259c1351fdf2c67", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1700108881, - "narHash": "sha256-+Lqybl8kj0+nD/IlAWPPG/RDTa47gff9nbei0u7BntE=", + "lastModified": 1701040486, + "narHash": "sha256-vawYwoHA5CwvjfqaT3A5CT9V36Eq43gxdwpux32Qkjw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7414e9ee0b3e9903c24d3379f577a417f0aae5f1", + "rev": "45827faa2132b8eade424f6bdd48d8828754341a", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1700342017, - "narHash": "sha256-HaibwlWH5LuqsaibW3sIVjZQtEM/jWtOHX4Nk93abGE=", + "lastModified": 1701053011, + "narHash": "sha256-8QQ7rFbKFqgKgLoaXVJRh7Ik5LtI3pyBBCfOnNOGkF0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "decdf666c833a325cb4417041a90681499e06a41", + "rev": "5b528f99f73c4fad127118a8c1126b5e003b01a9", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1700204040, - "narHash": "sha256-xSVcS5HBYnD3LTer7Y2K8ZQCDCXMa3QUD1MzRjHzuhI=", + "lastModified": 1700794826, + "narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad", + "rev": "5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1700272409, - "narHash": "sha256-Mge6iOvomplBsvQ47sIeVAwAUGSVXH4qCW4pLUt/qMI=", + "lastModified": 1701053011, + "narHash": "sha256-8QQ7rFbKFqgKgLoaXVJRh7Ik5LtI3pyBBCfOnNOGkF0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8e5e424b1c059e9ccf5db6a652458e30de05fa3a", + "rev": "5b528f99f73c4fad127118a8c1126b5e003b01a9", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1700411019, - "narHash": "sha256-9swk2mTTeXUTNQIS6u82uNUoASHRr6GttUtAnMepLys=", + "lastModified": 1701174900, + "narHash": "sha256-yGFI0lSPmCdPdLL5g1zam68ODcxAJ+WTwL97+tOy+5Y=", "owner": "nix-community", "repo": "NUR", - "rev": "45d3fff4006ebb02c681e79dca6fcfdcc9c4b7d8", + "rev": "fe19b4c06d0996e666887230a01f9018c174529d", "type": "github" }, "original": { From 732df8409d22e72821ef13d1229828818ef45b28 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 28 Nov 2023 13:46:44 +0100 Subject: [PATCH 1672/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 48 ++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index d02561e4..63adcd55 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "68ff818a5bb7549f90b05e412b76fe448f605ffb" }, - "LuaSnip": { "branch": "master", "commit": "1f4ad8bb72bdeb60975e98652636b991a9b7475d" }, - "SchemaStore.nvim": { "branch": "main", "commit": "9fb873af43568464f9a1936fc334dfa3d7a59418" }, + "LuaSnip": { "branch": "master", "commit": "df58ee1664cfda71479cd2bbd56114f56599eba6" }, + "SchemaStore.nvim": { "branch": "main", "commit": "54a4ea14b70cd3fc9db8217bb4ac9e1f78bfa390" }, "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, - "catppuccin": { "branch": "main", "commit": "a8dfb969e76d1a0752d98b5347be9ffb9bca9592" }, + "catppuccin": { "branch": "main", "commit": "a2107df4379d66e72a36a89792603151cebec1bf" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -12,25 +12,25 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "a36c68d2cd551e49883ddb2492c178d915567f58" }, + "conform.nvim": { "branch": "master", "commit": "eddd6431370814caacec1d1e3c7d6d95d41b133d" }, "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, - "diffview.nvim": { "branch": "main", "commit": "d38c1b5266850f77f75e006bcc26213684e1e141" }, + "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, "dressing.nvim": { "branch": "master", "commit": "fe3071330a0720ce3695ac915820c8134b22d1b0" }, "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, - "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "0ccd5fb2316b3f8d8b2f775bc31cae7bc6a77a55" }, + "friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" }, + "gitsigns.nvim": { "branch": "main", "commit": "175e74f87d3d2e4d20952d390af5f2a794f5ed7e" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, - "inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" }, + "inc-rename.nvim": { "branch": "main", "commit": "14922a84777702244a499b43134b9d04e640cbcd" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, "indent-blankline.nvim": { "branch": "master", "commit": "29be0919b91fb59eca9e90690d76014233392bef" }, "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "ab640b38ca9fa50d25d2d249b6606b9456b628d5" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "41674c9d50f23cfa3e11f0ca964eb9100c2a8922" }, "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "4a2e387b121352dfb478f440c9a5313a9d97006c" }, @@ -43,34 +43,34 @@ "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "230ff118613fa07138ba579b89d13ec2201530b9" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "627b5b543f4df551fcddb99c17a8e260c453400d" }, + "neodev.nvim": { "branch": "main", "commit": "e375edf6cf574639dc4b88cdfa306e4588987202" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "987e415247547a372d0356f76444cf402436c727" }, - "neorg": { "branch": "main", "commit": "3f4b279d7505ac854fcd31d1aad24991542ea5d8" }, + "neogit": { "branch": "master", "commit": "76a400aefa3ebed502872fd8049c9ace57b896e9" }, + "neorg": { "branch": "main", "commit": "7115898688f8fdac4d421ba3225532eb46f8b7bc" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, - "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, + "nui.nvim": { "branch": "main", "commit": "257dccc43b4badc735978f0791d216f7d665b75a" }, "nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lint": { "branch": "master", "commit": "15fcab91e6a4e2a3e41dc55c5b3471f66c11ce39" }, - "nvim-lspconfig": { "branch": "master", "commit": "6516abf5ac7d017480c8c8e08c0d24066bcb8d43" }, + "nvim-lint": { "branch": "master", "commit": "3a7c15331a57ba40a56f00f29173700af853fa03" }, + "nvim-lspconfig": { "branch": "master", "commit": "39546f730bdff8eccf7cec344cfce694f19ac908" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "a18a58015b46f02b4fe537ebfffd82e46110ff24" }, "nvim-spider": { "branch": "main", "commit": "e0eeac5480704cc3fdd5bdadd4901ca5409d7838" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "d87629647614b779fb2aad8f0042fe2864253ea6" }, - "nvim-treesitter-context": { "branch": "master", "commit": "f3ec0d8a1b4e07d7ed2da6b9a9f10864a83c4be4" }, + "nvim-treesitter": { "branch": "master", "commit": "582a92ee120532a603b75239f40cba06b9a5ec07" }, + "nvim-treesitter-context": { "branch": "master", "commit": "bf4d15ee4e96ff5201f16a4ed14443670662eb90" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "dbcd9388e3b119a87c785e10a00d62876077d23d" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "ead792ccdace6a9d64a8119909af243ed0105465" }, - "nvim-ufo": { "branch": "main", "commit": "a6132d058f23d15686f07b8e1ca252e060a0e0ce" }, - "nvim-web-devicons": { "branch": "master", "commit": "e2f6e0e299e193d7e9c48634d355f7a6eb3020b4" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "b8ff464f2afc2000f6c72fa331a8fc090cb46b39" }, + "nvim-ufo": { "branch": "main", "commit": "c1e75fb93a5413c73221e23d549cc9f208d592fb" }, + "nvim-web-devicons": { "branch": "master", "commit": "5efb8bd06841f91f97c90e16de85e96d57e9c862" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, - "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, + "plenary.nvim": { "branch": "master", "commit": "366b0837486f60ae0e7550c15de8ff66d057c4cd" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, - "promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" }, + "promise-async": { "branch": "main", "commit": "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6" }, "refactoring.nvim": { "branch": "master", "commit": "156532476deb10b1b2a32cb38e1078b3f9951c42" }, "semshi": { "branch": "master", "commit": "eddc5304d7aa99e140c89f40393c9f109f4e9115" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, @@ -78,14 +78,14 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "18774ec7929c8a8003a91e9e1f69f6c32258bbfe" }, + "telescope.nvim": { "branch": "master", "commit": "84c5a71d825b6687a55aed6f41e98b92fd8e5454" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "c259dacb20a00fb84ec6006e9a24b4085b27120a" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, - "vim-matchup": { "branch": "master", "commit": "d30b72d20f01478a8486f15a57c89fe3177373db" }, + "vim-matchup": { "branch": "master", "commit": "269f9bea87e20a01438085eb13df539929a12727" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, From a94dd9f84dc92e94b4fb2ed6bf32bd39b822190e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 30 Nov 2023 17:26:46 +0100 Subject: [PATCH 1673/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/e8b2276946b372057d6c425fe259c1351fdf2c67' (2023-11-28) → 'github:nix-community/neovim-nightly-overlay/3d00c9fc954c278f0aa76d16faef983bf450af8e' (2023-11-30) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/3a3474371b6b87e630e7aa217e7860e9154cd563?dir=contrib' (2023-11-28) → 'github:neovim/neovim/463b577afb78ad864cd09ac2c51f77653ab4ce48?dir=contrib' (2023-11-29) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/45827faa2132b8eade424f6bdd48d8828754341a' (2023-11-26) → 'github:NixOS/nixpkgs/010c7296f3b19a58b206fdf7d68d75a5b0a09e9e' (2023-11-28) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/5b528f99f73c4fad127118a8c1126b5e003b01a9' (2023-11-27) → 'github:nixos/nixpkgs/e922e146779e250fae512da343cfb798c758509d' (2023-11-28) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8' (2023-11-24) → 'github:nixos/nixpkgs/8cfef6986adfb599ba379ae53c9f5631ecd2fd9c' (2023-11-27) • Updated input 'nur': 'github:nix-community/NUR/fe19b4c06d0996e666887230a01f9018c174529d' (2023-11-28) → 'github:nix-community/NUR/6b077c8e58ecd06f156a1add6ac0bd88165c9aab' (2023-11-30) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 275bdfa3..c0071ee4 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1701130526, - "narHash": "sha256-+TPrkfN6jG5ZlRBG4d+6vS8tRIVWMNsVFECb3gbjI9E=", + "lastModified": 1701302207, + "narHash": "sha256-DQ7nF2k2dwQDHhh2ohTEmj6Gn2+ow2OFBwCgpBt0nn4=", "owner": "neovim", "repo": "neovim", - "rev": "3a3474371b6b87e630e7aa217e7860e9154cd563", + "rev": "463b577afb78ad864cd09ac2c51f77653ab4ce48", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1701137963, - "narHash": "sha256-ihXnCLR42qO9Mc+fLT/vtp+EW8CZHJwgdKMhc/+y76I=", + "lastModified": 1701302639, + "narHash": "sha256-wvFGpQl39xgUikFAN99E2AcmdyYWNbSM8MUXCcdrnWo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "e8b2276946b372057d6c425fe259c1351fdf2c67", + "rev": "3d00c9fc954c278f0aa76d16faef983bf450af8e", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1701040486, - "narHash": "sha256-vawYwoHA5CwvjfqaT3A5CT9V36Eq43gxdwpux32Qkjw=", + "lastModified": 1701174899, + "narHash": "sha256-1W+FMe8mWsJKXoBc+QgKmEeRj33kTFnPq7XCjU+bfnA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "45827faa2132b8eade424f6bdd48d8828754341a", + "rev": "010c7296f3b19a58b206fdf7d68d75a5b0a09e9e", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1701053011, - "narHash": "sha256-8QQ7rFbKFqgKgLoaXVJRh7Ik5LtI3pyBBCfOnNOGkF0=", + "lastModified": 1701184375, + "narHash": "sha256-E8PLzcEMf/1VtRcu+SeJZHtlNrXveBhGoN4AGYxScRE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5b528f99f73c4fad127118a8c1126b5e003b01a9", + "rev": "e922e146779e250fae512da343cfb798c758509d", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1700794826, - "narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=", + "lastModified": 1701068326, + "narHash": "sha256-vmMceA+q6hG1yrjb+MP8T0YFDQIrW3bl45e7z24IEts=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8", + "rev": "8cfef6986adfb599ba379ae53c9f5631ecd2fd9c", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1701174900, - "narHash": "sha256-yGFI0lSPmCdPdLL5g1zam68ODcxAJ+WTwL97+tOy+5Y=", + "lastModified": 1701359478, + "narHash": "sha256-CsMkvlne20bT1MEBMCupQAasml/ffcjTNp8GO88F1wU=", "owner": "nix-community", "repo": "NUR", - "rev": "fe19b4c06d0996e666887230a01f9018c174529d", + "rev": "6b077c8e58ecd06f156a1add6ac0bd88165c9aab", "type": "github" }, "original": { From eb686e1e3cdc2fa5f87e3011e2c173f37349ea31 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Mon, 11 Dec 2023 08:56:18 +0100 Subject: [PATCH 1674/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/28535c3a34d79071f2ccb68671971ce0c0984d7e' (2023-11-19) → 'github:nix-community/home-manager/33110fb3c7fe6a94b98b641866a5eddb64b7c23f' (2023-12-10) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/3d00c9fc954c278f0aa76d16faef983bf450af8e' (2023-11-30) → 'github:nix-community/neovim-nightly-overlay/5f1504543086666d59c1bb65245d681777719e2d' (2023-12-11) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) → 'github:hercules-ci/flake-parts/34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5' (2023-12-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/463b577afb78ad864cd09ac2c51f77653ab4ce48?dir=contrib' (2023-11-29) → 'github:neovim/neovim/529498685bbcd4783bc0e816d6247118c9ffb9a7?dir=contrib' (2023-12-10) • Updated input 'neovim-nightly-overlay/neovim-flake/flake-utils': 'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31) → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/010c7296f3b19a58b206fdf7d68d75a5b0a09e9e' (2023-11-28) → 'github:NixOS/nixpkgs/29d6c96900b9b576c2fb89491452f283aa979819' (2023-12-10) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5b528f99f73c4fad127118a8c1126b5e003b01a9' (2023-11-27) → 'github:NixOS/nixpkgs/0561103cedb11e7554cf34cea81e5f5d578a4753' (2023-12-05) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/e922e146779e250fae512da343cfb798c758509d' (2023-11-28) → 'github:nixos/nixpkgs/c2786e7084cbad90b4f9472d5b5e35ecb57958af' (2023-12-10) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/8cfef6986adfb599ba379ae53c9f5631ecd2fd9c' (2023-11-27) → 'github:nixos/nixpkgs/666fc80e7b2afb570462423cb0e1cf1a3a34fedd' (2023-12-09) • Updated input 'nur': 'github:nix-community/NUR/6b077c8e58ecd06f156a1add6ac0bd88165c9aab' (2023-11-30) → 'github:nix-community/NUR/170baf7bf29d02aa4af4abc72848c8203a3603d7' (2023-12-11) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index c0071ee4..94f6a453 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1698882062, - "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "lastModified": 1701473968, + "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", "type": "github" }, "original": { @@ -84,11 +84,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "owner": "numtide", "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { @@ -126,11 +126,11 @@ ] }, "locked": { - "lastModified": 1700392168, - "narHash": "sha256-v5LprEFx3u4+1vmds9K0/i7sHjT0IYGs7u9v54iz/OA=", + "lastModified": 1702195668, + "narHash": "sha256-Lxmjez0nfNBptdqV5GsXKm7Bb7swjGsrxiLxWJu0tL8=", "owner": "nix-community", "repo": "home-manager", - "rev": "28535c3a34d79071f2ccb68671971ce0c0984d7e", + "rev": "33110fb3c7fe6a94b98b641866a5eddb64b7c23f", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1701302207, - "narHash": "sha256-DQ7nF2k2dwQDHhh2ohTEmj6Gn2+ow2OFBwCgpBt0nn4=", + "lastModified": 1702221968, + "narHash": "sha256-JARCpyZ1ZkgTz/d790v8NrnYSrESAj1hJUWbm5bIZD4=", "owner": "neovim", "repo": "neovim", - "rev": "463b577afb78ad864cd09ac2c51f77653ab4ce48", + "rev": "529498685bbcd4783bc0e816d6247118c9ffb9a7", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1701302639, - "narHash": "sha256-wvFGpQl39xgUikFAN99E2AcmdyYWNbSM8MUXCcdrnWo=", + "lastModified": 1702253086, + "narHash": "sha256-8pfBJZmLTvdp18IzNo0fWa0wuijCKLpWbVSPzz/uQ4E=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3d00c9fc954c278f0aa76d16faef983bf450af8e", + "rev": "5f1504543086666d59c1bb65245d681777719e2d", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1701174899, - "narHash": "sha256-1W+FMe8mWsJKXoBc+QgKmEeRj33kTFnPq7XCjU+bfnA=", + "lastModified": 1702206697, + "narHash": "sha256-vE9oEx3Y8TO5MnWwFlmopjHd1JoEBno+EhsfUCq5iR8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "010c7296f3b19a58b206fdf7d68d75a5b0a09e9e", + "rev": "29d6c96900b9b576c2fb89491452f283aa979819", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1701184375, - "narHash": "sha256-E8PLzcEMf/1VtRcu+SeJZHtlNrXveBhGoN4AGYxScRE=", + "lastModified": 1702221085, + "narHash": "sha256-Br3GCSkkvkmw46cT6wCz6ro2H1WgDMWbKE0qctbdtL0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e922e146779e250fae512da343cfb798c758509d", + "rev": "c2786e7084cbad90b4f9472d5b5e35ecb57958af", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1701068326, - "narHash": "sha256-vmMceA+q6hG1yrjb+MP8T0YFDQIrW3bl45e7z24IEts=", + "lastModified": 1702151865, + "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8cfef6986adfb599ba379ae53c9f5631ecd2fd9c", + "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1701053011, - "narHash": "sha256-8QQ7rFbKFqgKgLoaXVJRh7Ik5LtI3pyBBCfOnNOGkF0=", + "lastModified": 1701805708, + "narHash": "sha256-hh0S14E816Img0tPaNQSEKFvSscSIrvu1ypubtfh6M4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5b528f99f73c4fad127118a8c1126b5e003b01a9", + "rev": "0561103cedb11e7554cf34cea81e5f5d578a4753", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1701359478, - "narHash": "sha256-CsMkvlne20bT1MEBMCupQAasml/ffcjTNp8GO88F1wU=", + "lastModified": 1702280702, + "narHash": "sha256-a3CjVXbM3xyaXllAZ7c2XEfL+IPvGEa9OzvZ++ru+A8=", "owner": "nix-community", "repo": "NUR", - "rev": "6b077c8e58ecd06f156a1add6ac0bd88165c9aab", + "rev": "170baf7bf29d02aa4af4abc72848c8203a3603d7", "type": "github" }, "original": { From 9357c1a2178525072d6d50677b9e17d46d335a7d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 11 Dec 2023 11:20:34 +0100 Subject: [PATCH 1675/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/170baf7bf29d02aa4af4abc72848c8203a3603d7' (2023-12-11) → 'github:nix-community/NUR/6f5d3e909a700d7db205ea7115e9661a15bee445' (2023-12-11) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 94f6a453..f5231c58 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1702280702, - "narHash": "sha256-a3CjVXbM3xyaXllAZ7c2XEfL+IPvGEa9OzvZ++ru+A8=", + "lastModified": 1702286544, + "narHash": "sha256-40eyoDy0m02fVdyZnuDMN63alMTOTr+pmdMzlT2TNl0=", "owner": "nix-community", "repo": "NUR", - "rev": "170baf7bf29d02aa4af4abc72848c8203a3603d7", + "rev": "6f5d3e909a700d7db205ea7115e9661a15bee445", "type": "github" }, "original": { From f8bee85638bc4b751c42795b6346e88b4c9df080 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 11 Dec 2023 12:20:13 +0100 Subject: [PATCH 1676/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 69 +++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 63adcd55..6ddfc46e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,89 +1,90 @@ { - "LazyVim": { "branch": "main", "commit": "68ff818a5bb7549f90b05e412b76fe448f605ffb" }, - "LuaSnip": { "branch": "master", "commit": "df58ee1664cfda71479cd2bbd56114f56599eba6" }, - "SchemaStore.nvim": { "branch": "main", "commit": "54a4ea14b70cd3fc9db8217bb4ac9e1f78bfa390" }, - "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, - "catppuccin": { "branch": "main", "commit": "a2107df4379d66e72a36a89792603151cebec1bf" }, + "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, + "LuaSnip": { "branch": "master", "commit": "954c81b53989097faaff0fabc11c29575288c3e1" }, + "SchemaStore.nvim": { "branch": "main", "commit": "177cae4f44ddf7c166ef263956378ae308ff77ff" }, + "bufferline.nvim": { "branch": "main", "commit": "ac788fbc493839c1e76daa8d119934b715fdb90e" }, + "catppuccin": { "branch": "main", "commit": "64dc309bc157779691be38bbfc5123584e0a4a85" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "eddd6431370814caacec1d1e3c7d6d95d41b133d" }, + "conform.nvim": { "branch": "master", "commit": "fb9b0500270ba05b89cc27cd8b7762443bcfae22" }, "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, - "dial.nvim": { "branch": "master", "commit": "019bbe9daea397c93a99adc747f8f071379fee5c" }, + "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, - "dressing.nvim": { "branch": "master", "commit": "fe3071330a0720ce3695ac915820c8134b22d1b0" }, + "dressing.nvim": { "branch": "master", "commit": "8b7ae53d7f04f33be3439a441db8071c96092d19" }, "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" }, - "gitsigns.nvim": { "branch": "main", "commit": "175e74f87d3d2e4d20952d390af5f2a794f5ed7e" }, + "gitsigns.nvim": { "branch": "main", "commit": "6e05045fb1a4845fe44f5c54aafe024444c422ba" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, - "inc-rename.nvim": { "branch": "main", "commit": "14922a84777702244a499b43134b9d04e640cbcd" }, + "inc-rename.nvim": { "branch": "main", "commit": "a48c7cec5c4f00d7438dce5fadb55f4d715ef9f2" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "29be0919b91fb59eca9e90690d76014233392bef" }, + "indent-blankline.nvim": { "branch": "master", "commit": "7206c77cb931f79885fc47f88ae18f99148392eb" }, "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "41674c9d50f23cfa3e11f0ca964eb9100c2a8922" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "9453e3d6cd2ca45d96e20f343e8f1b927364b630" }, "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "4a2e387b121352dfb478f440c9a5313a9d97006c" }, - "mini.animate": { "branch": "main", "commit": "626c51eba5d344572d6da0938044a73369de8b8b" }, + "mini.ai": { "branch": "main", "commit": "c28f7d7348f27425a180b1b7dcaa77651f8b71ee" }, + "mini.animate": { "branch": "main", "commit": "507c43c4402c7d7a2101bc72bece6e2202152afa" }, "mini.bracketed": { "branch": "main", "commit": "944e81e192cf054bb879cb64231e9b1cfb3c8145" }, "mini.bufremove": { "branch": "main", "commit": "f53c7f27e36009fe61563c11cde154b94a0e5b94" }, "mini.comment": { "branch": "main", "commit": "3d9c8009615857e982f09bc5357fc95f2a2175f3" }, - "mini.indentscope": { "branch": "main", "commit": "c8fdafa7bf603d758986a27eb546c55a5c73b1a3" }, + "mini.indentscope": { "branch": "main", "commit": "dc26fa1a6c8976f42930c9f53da88d3d441bb13f" }, "mini.pairs": { "branch": "main", "commit": "71f117fd57f930da6ef4126b24f594dd398bac26" }, "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "230ff118613fa07138ba579b89d13ec2201530b9" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "e375edf6cf574639dc4b88cdfa306e4588987202" }, + "neodev.nvim": { "branch": "main", "commit": "c4ce017bd4bacf60bf59330cec9e93c5d5e104a6" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "76a400aefa3ebed502872fd8049c9ace57b896e9" }, - "neorg": { "branch": "main", "commit": "7115898688f8fdac4d421ba3225532eb46f8b7bc" }, + "neogit": { "branch": "master", "commit": "cebebcde2af56522249199f375513cc1d74430ac" }, + "neorg": { "branch": "main", "commit": "baaf13a3145534144b795ad37db22bfffd2ad343" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, - "nui.nvim": { "branch": "main", "commit": "257dccc43b4badc735978f0791d216f7d665b75a" }, - "nvim-cmp": { "branch": "main", "commit": "0b751f6beef40fd47375eaf53d3057e0bfa317e4" }, + "nui.nvim": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" }, + "nvim-cmp": { "branch": "main", "commit": "41d7633e4146dce1072de32cea31ee31b056a131" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lint": { "branch": "master", "commit": "3a7c15331a57ba40a56f00f29173700af853fa03" }, - "nvim-lspconfig": { "branch": "master", "commit": "39546f730bdff8eccf7cec344cfce694f19ac908" }, + "nvim-lint": { "branch": "master", "commit": "849ccb610de3f6ce1a239ea1e68568ef1a53d5df" }, + "nvim-lspconfig": { "branch": "master", "commit": "bd405e45c5fb122c16af8f87fa2dd7ab1981b243" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "a18a58015b46f02b4fe537ebfffd82e46110ff24" }, "nvim-spider": { "branch": "main", "commit": "e0eeac5480704cc3fdd5bdadd4901ca5409d7838" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "582a92ee120532a603b75239f40cba06b9a5ec07" }, - "nvim-treesitter-context": { "branch": "master", "commit": "bf4d15ee4e96ff5201f16a4ed14443670662eb90" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "dbcd9388e3b119a87c785e10a00d62876077d23d" }, - "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "b8ff464f2afc2000f6c72fa331a8fc090cb46b39" }, - "nvim-ufo": { "branch": "main", "commit": "c1e75fb93a5413c73221e23d549cc9f208d592fb" }, - "nvim-web-devicons": { "branch": "master", "commit": "5efb8bd06841f91f97c90e16de85e96d57e9c862" }, + "nvim-treesitter": { "branch": "master", "commit": "a6c655629cad421e432aa84af32cbfe35375113a" }, + "nvim-treesitter-context": { "branch": "master", "commit": "cfa8ee19ac9bae9b7fb2958eabe2b45b70c56ccb" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "ec1c5bdb3d87ac971749fa6c7dbc2b14884f1f6a" }, + "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, + "nvim-ufo": { "branch": "main", "commit": "9fa77fb7e4365a053a5303b773aaf5eaf806d1f4" }, + "nvim-web-devicons": { "branch": "master", "commit": "8b2e5ef9eb8a717221bd96cb8422686d65a09ed5" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, - "plenary.nvim": { "branch": "master", "commit": "366b0837486f60ae0e7550c15de8ff66d057c4cd" }, + "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6" }, "refactoring.nvim": { "branch": "master", "commit": "156532476deb10b1b2a32cb38e1078b3f9951c42" }, - "semshi": { "branch": "master", "commit": "eddc5304d7aa99e140c89f40393c9f109f4e9115" }, + "semshi": { "branch": "master", "commit": "482b300308f71586c22b31d55fd35dfbe2aa5dc5" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "84c5a71d825b6687a55aed6f41e98b92fd8e5454" }, + "telescope.nvim": { "branch": "master", "commit": "6213322ab56eb27356fdc09a5078e41e3ea7f3bc" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, + "tree-sitter-hypr": { "branch": "master", "commit": "da3c1d780c8e04446722ece04beadb6a44eb442d" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "c259dacb20a00fb84ec6006e9a24b4085b27120a" }, + "venv-selector.nvim": { "branch": "main", "commit": "e119a6a15c99ec54fb6c19c145d9cd859bfdcf77" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "269f9bea87e20a01438085eb13df539929a12727" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From e651e017a9969a9c5e348d15de437cfc4e583fa8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 11 Dec 2023 12:20:33 +0100 Subject: [PATCH 1677/2080] Groovy? --- lazyvim/nvim/lua/plugins/lsp.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index fd947596..da99ba5b 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -187,6 +187,21 @@ return { formatters_by_ft = { markdown = { "prettierd" }, yaml = { "prettierd" }, + groovy = { "npm_groovy_lint" }, + }, + formatters = { + -- FIXME: too slow, the formatter should be installed locally + -- npm_groovy_lint = { + -- -- command = "npm-groovy-lint", + -- command = "docker", + -- -- FIXME: latest version is currently broken 2023-11-15 + -- -- https://github.com/nvuillam/npm-groovy-lint/issues/319 + -- args = { "run", "--rm", "nvuillam/npm-groovy-lint:11.1.1", "--format", "--files", "$FILENAME" }, + -- stdin = false, + -- condition = function(ctx) + -- return vim.fs.basename(ctx.filename) == "Jenkinsfile" + -- end, + -- }, }, }, }, From fe3d35fde2c1c732c6de96c1393f1a0fc669b177 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 11 Dec 2023 12:23:08 +0100 Subject: [PATCH 1678/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 6ddfc46e..adb16a6c 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -84,7 +84,7 @@ "tree-sitter-hypr": { "branch": "master", "commit": "da3c1d780c8e04446722ece04beadb6a44eb442d" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "e119a6a15c99ec54fb6c19c145d9cd859bfdcf77" }, + "venv-selector.nvim": { "branch": "main", "commit": "17a2146503c3be0184f751b29ed07db4b05fd114" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "269f9bea87e20a01438085eb13df539929a12727" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From 77b7fdefbe12a19497f63320bb6ee9a8688b09c0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 12 Dec 2023 14:47:43 +0100 Subject: [PATCH 1679/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5f1504543086666d59c1bb65245d681777719e2d' (2023-12-11) → 'github:nix-community/neovim-nightly-overlay/9a5be2169fb02ab226f6f4d3a0d867e1e1f4387e' (2023-12-12) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/529498685bbcd4783bc0e816d6247118c9ffb9a7?dir=contrib' (2023-12-10) → 'github:neovim/neovim/8097b4a7252ec37dbf14bcc1b7c50c12343e54c4?dir=contrib' (2023-12-11) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/29d6c96900b9b576c2fb89491452f283aa979819' (2023-12-10) → 'github:NixOS/nixpkgs/e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d' (2023-12-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/0561103cedb11e7554cf34cea81e5f5d578a4753' (2023-12-05) → 'github:NixOS/nixpkgs/c2786e7084cbad90b4f9472d5b5e35ecb57958af' (2023-12-10) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/c2786e7084cbad90b4f9472d5b5e35ecb57958af' (2023-12-10) → 'github:nixos/nixpkgs/f3a9ecde534fa67c6fd5426083304463218875b6' (2023-12-11) • Updated input 'nur': 'github:nix-community/NUR/6f5d3e909a700d7db205ea7115e9661a15bee445' (2023-12-11) → 'github:nix-community/NUR/0a351b87ccbd0aaf0e33e735d50d338293f63853' (2023-12-12) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f5231c58..7d2629b5 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1702221968, - "narHash": "sha256-JARCpyZ1ZkgTz/d790v8NrnYSrESAj1hJUWbm5bIZD4=", + "lastModified": 1702323053, + "narHash": "sha256-d2ZF9nXKbgqoPSKRBulNM8D0PHAIlKf8Pu+WywGwurE=", "owner": "neovim", "repo": "neovim", - "rev": "529498685bbcd4783bc0e816d6247118c9ffb9a7", + "rev": "8097b4a7252ec37dbf14bcc1b7c50c12343e54c4", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1702253086, - "narHash": "sha256-8pfBJZmLTvdp18IzNo0fWa0wuijCKLpWbVSPzz/uQ4E=", + "lastModified": 1702339467, + "narHash": "sha256-XRa5gCKoUz2XlNlrxCG163BMAsrnbh833s/ndCF/WMo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5f1504543086666d59c1bb65245d681777719e2d", + "rev": "9a5be2169fb02ab226f6f4d3a0d867e1e1f4387e", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1702206697, - "narHash": "sha256-vE9oEx3Y8TO5MnWwFlmopjHd1JoEBno+EhsfUCq5iR8=", + "lastModified": 1702272962, + "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "29d6c96900b9b576c2fb89491452f283aa979819", + "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1702221085, - "narHash": "sha256-Br3GCSkkvkmw46cT6wCz6ro2H1WgDMWbKE0qctbdtL0=", + "lastModified": 1702278230, + "narHash": "sha256-9kiZPvAw5zQfKu5ozmIRlgpVAfC16xlMADuXNvklPF4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c2786e7084cbad90b4f9472d5b5e35ecb57958af", + "rev": "f3a9ecde534fa67c6fd5426083304463218875b6", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1701805708, - "narHash": "sha256-hh0S14E816Img0tPaNQSEKFvSscSIrvu1ypubtfh6M4=", + "lastModified": 1702221085, + "narHash": "sha256-Br3GCSkkvkmw46cT6wCz6ro2H1WgDMWbKE0qctbdtL0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0561103cedb11e7554cf34cea81e5f5d578a4753", + "rev": "c2786e7084cbad90b4f9472d5b5e35ecb57958af", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1702286544, - "narHash": "sha256-40eyoDy0m02fVdyZnuDMN63alMTOTr+pmdMzlT2TNl0=", + "lastModified": 1702382092, + "narHash": "sha256-iYIU6ZqdDZ97/7G7ZZk95DxBx3uNT0h3+KT/aDxr/eY=", "owner": "nix-community", "repo": "NUR", - "rev": "6f5d3e909a700d7db205ea7115e9661a15bee445", + "rev": "0a351b87ccbd0aaf0e33e735d50d338293f63853", "type": "github" }, "original": { From e3c0f0521354186f973f42eee2fa13c13cb123aa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 12 Dec 2023 14:58:59 +0100 Subject: [PATCH 1680/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index adb16a6c..e71f2a6a 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "fb9b0500270ba05b89cc27cd8b7762443bcfae22" }, + "conform.nvim": { "branch": "master", "commit": "8b407bb6175846cdc4c499e2a8d28109615a2089" }, "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, @@ -20,7 +20,7 @@ "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" }, - "gitsigns.nvim": { "branch": "main", "commit": "6e05045fb1a4845fe44f5c54aafe024444c422ba" }, + "gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, "inc-rename.nvim": { "branch": "main", "commit": "a48c7cec5c4f00d7438dce5fadb55f4d715ef9f2" }, @@ -45,7 +45,7 @@ "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, "neodev.nvim": { "branch": "main", "commit": "c4ce017bd4bacf60bf59330cec9e93c5d5e104a6" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "cebebcde2af56522249199f375513cc1d74430ac" }, + "neogit": { "branch": "master", "commit": "0cdc73e625322c491862b95aece148854fd57f68" }, "neorg": { "branch": "main", "commit": "baaf13a3145534144b795ad37db22bfffd2ad343" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, @@ -54,13 +54,13 @@ "nvim-cmp": { "branch": "main", "commit": "41d7633e4146dce1072de32cea31ee31b056a131" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lint": { "branch": "master", "commit": "849ccb610de3f6ce1a239ea1e68568ef1a53d5df" }, - "nvim-lspconfig": { "branch": "master", "commit": "bd405e45c5fb122c16af8f87fa2dd7ab1981b243" }, + "nvim-lspconfig": { "branch": "master", "commit": "f451052bd6804e9e5ccd0ac874d7df8d3d4c55b9" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "a18a58015b46f02b4fe537ebfffd82e46110ff24" }, - "nvim-spider": { "branch": "main", "commit": "e0eeac5480704cc3fdd5bdadd4901ca5409d7838" }, + "nvim-spider": { "branch": "main", "commit": "431b66e8fa711fb243114d3c7014f4ecb2061a46" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "a6c655629cad421e432aa84af32cbfe35375113a" }, + "nvim-treesitter": { "branch": "master", "commit": "78d75bce03f218ee30aedb6e24e3ec1189a3e9ff" }, "nvim-treesitter-context": { "branch": "master", "commit": "cfa8ee19ac9bae9b7fb2958eabe2b45b70c56ccb" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "ec1c5bdb3d87ac971749fa6c7dbc2b14884f1f6a" }, "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, @@ -84,7 +84,7 @@ "tree-sitter-hypr": { "branch": "master", "commit": "da3c1d780c8e04446722ece04beadb6a44eb442d" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "17a2146503c3be0184f751b29ed07db4b05fd114" }, + "venv-selector.nvim": { "branch": "main", "commit": "9aff7cbfee5313169ee54d68a10a4c73afef98ba" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "269f9bea87e20a01438085eb13df539929a12727" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From 86ea5577267124c33457e66dd2ae15cd89c06491 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 12 Dec 2023 14:59:15 +0100 Subject: [PATCH 1681/2080] nvim: rely on defaults for treesitter --- lazyvim/nvim/lua/plugins/treesitter.lua | 31 ------------------------- 1 file changed, 31 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/treesitter.lua b/lazyvim/nvim/lua/plugins/treesitter.lua index abec261a..1c2f9e3a 100644 --- a/lazyvim/nvim/lua/plugins/treesitter.lua +++ b/lazyvim/nvim/lua/plugins/treesitter.lua @@ -12,35 +12,4 @@ return { ]]) end, }, - - { - "nvim-treesitter/nvim-treesitter", - -- Disable when doing a file diff - cond = not vim.opt.diff:get(), - opts = { - ensure_installed = { - "css", - "fish", - "gitignore", - "go", - "graphql", - "http", - "java", - "latex", - "meson", - "nix", - "norg", - "org", - "php", - "rust", - "scss", - "sql", - }, - query_linter = { - enable = true, - use_virtual_text = true, - lint_events = { "BufWrite", "CursorHold" }, - }, - }, - }, } From b75071234e585426f16b51e562b24cc10737729b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 12 Dec 2023 17:54:51 +0100 Subject: [PATCH 1682/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e71f2a6a..3e329eea 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -58,7 +58,7 @@ "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "a18a58015b46f02b4fe537ebfffd82e46110ff24" }, - "nvim-spider": { "branch": "main", "commit": "431b66e8fa711fb243114d3c7014f4ecb2061a46" }, + "nvim-spider": { "branch": "main", "commit": "4ce4fd4af6f527e6c9345706549517b74e16d1a4" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, "nvim-treesitter": { "branch": "master", "commit": "78d75bce03f218ee30aedb6e24e3ec1189a3e9ff" }, "nvim-treesitter-context": { "branch": "master", "commit": "cfa8ee19ac9bae9b7fb2958eabe2b45b70c56ccb" }, From 92cd286d280e8af54d3cfc3d109a4ac9615c3c72 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 13 Dec 2023 09:17:48 +0100 Subject: [PATCH 1683/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/9a5be2169fb02ab226f6f4d3a0d867e1e1f4387e' (2023-12-12) → 'github:nix-community/neovim-nightly-overlay/331bf7d82d0fd66c118dfff92e8400217ce64515' (2023-12-13) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/8097b4a7252ec37dbf14bcc1b7c50c12343e54c4?dir=contrib' (2023-12-11) → 'github:neovim/neovim/d65c6a0bafada059e87a11a4bcd129afc16d2e5d?dir=contrib' (2023-12-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/f3a9ecde534fa67c6fd5426083304463218875b6' (2023-12-11) → 'github:nixos/nixpkgs/fecdbce27a28ca6a434b6065e2a54dd87d1e44b8' (2023-12-11) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/666fc80e7b2afb570462423cb0e1cf1a3a34fedd' (2023-12-09) → 'github:nixos/nixpkgs/a9bf124c46ef298113270b1f84a164865987a91c' (2023-12-11) • Updated input 'nur': 'github:nix-community/NUR/0a351b87ccbd0aaf0e33e735d50d338293f63853' (2023-12-12) → 'github:nix-community/NUR/0ee220eb9acd37aaee74edbf9c926734d0ec4c9d' (2023-12-13) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 7d2629b5..5661fa1b 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1702323053, - "narHash": "sha256-d2ZF9nXKbgqoPSKRBulNM8D0PHAIlKf8Pu+WywGwurE=", + "lastModified": 1702419470, + "narHash": "sha256-R5Ce+MY0VIM8ZU1Zswy7Ir+QWvCj9nI8zckw2f/s3mU=", "owner": "neovim", "repo": "neovim", - "rev": "8097b4a7252ec37dbf14bcc1b7c50c12343e54c4", + "rev": "d65c6a0bafada059e87a11a4bcd129afc16d2e5d", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1702339467, - "narHash": "sha256-XRa5gCKoUz2XlNlrxCG163BMAsrnbh833s/ndCF/WMo=", + "lastModified": 1702425860, + "narHash": "sha256-OSnsE8Po3f/iGYhtaMLAZbzTXIfkYl6lOEDj9SGHNdE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "9a5be2169fb02ab226f6f4d3a0d867e1e1f4387e", + "rev": "331bf7d82d0fd66c118dfff92e8400217ce64515", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1702278230, - "narHash": "sha256-9kiZPvAw5zQfKu5ozmIRlgpVAfC16xlMADuXNvklPF4=", + "lastModified": 1702296239, + "narHash": "sha256-9OPu0MMa+iVf6I3nqZsJ0ssLUvK6dVqueuJldlwdqgQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f3a9ecde534fa67c6fd5426083304463218875b6", + "rev": "fecdbce27a28ca6a434b6065e2a54dd87d1e44b8", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1702151865, - "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", + "lastModified": 1702312524, + "narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", + "rev": "a9bf124c46ef298113270b1f84a164865987a91c", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1702382092, - "narHash": "sha256-iYIU6ZqdDZ97/7G7ZZk95DxBx3uNT0h3+KT/aDxr/eY=", + "lastModified": 1702454752, + "narHash": "sha256-CAKE1L6T2fdiy0wr9ATBaBZTg+8Qkf3HGdYwfwZC9fM=", "owner": "nix-community", "repo": "NUR", - "rev": "0a351b87ccbd0aaf0e33e735d50d338293f63853", + "rev": "0ee220eb9acd37aaee74edbf9c926734d0ec4c9d", "type": "github" }, "original": { From 4efc0285c872e4097aa5a6a64993372243b7e851 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 13 Dec 2023 10:34:55 +0100 Subject: [PATCH 1684/2080] Install kitty from brew on macOS --- machines/Baptistes-MBP/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 35850597..f86240f5 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -47,6 +47,8 @@ # XXX: install from pkgs does not work "drawio" "joplin" + # XXX: app not showing in dash, safer to install from brew + "kitty" # Clipboard manager "maccy" "mumble" From b40a706f90e4f49e4b846d803899b67cacc99e56 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 13 Dec 2023 10:45:29 +0100 Subject: [PATCH 1685/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 3e329eea..5b083ff8 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -45,7 +45,7 @@ "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, "neodev.nvim": { "branch": "main", "commit": "c4ce017bd4bacf60bf59330cec9e93c5d5e104a6" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "0cdc73e625322c491862b95aece148854fd57f68" }, + "neogit": { "branch": "master", "commit": "a2361d2c6caaecbe2565836f94e7945df22963ab" }, "neorg": { "branch": "main", "commit": "baaf13a3145534144b795ad37db22bfffd2ad343" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, @@ -58,9 +58,9 @@ "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "a18a58015b46f02b4fe537ebfffd82e46110ff24" }, - "nvim-spider": { "branch": "main", "commit": "4ce4fd4af6f527e6c9345706549517b74e16d1a4" }, + "nvim-spider": { "branch": "main", "commit": "c11e469cc1a6d099bcac7e15a7bfc0720b8e96b5" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "78d75bce03f218ee30aedb6e24e3ec1189a3e9ff" }, + "nvim-treesitter": { "branch": "master", "commit": "42381aae7c1f785e4658cdb34a750be9851ba9af" }, "nvim-treesitter-context": { "branch": "master", "commit": "cfa8ee19ac9bae9b7fb2958eabe2b45b70c56ccb" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "ec1c5bdb3d87ac971749fa6c7dbc2b14884f1f6a" }, "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, From d448089be4d670e25992988a59732d9127aec400 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 15 Dec 2023 09:31:26 +0100 Subject: [PATCH 1686/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/331bf7d82d0fd66c118dfff92e8400217ce64515' (2023-12-13) → 'github:nix-community/neovim-nightly-overlay/21a2bc2a9f18c49d4c9ba811ab6c6746b8d62580' (2023-12-15) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/d65c6a0bafada059e87a11a4bcd129afc16d2e5d?dir=contrib' (2023-12-12) → 'github:neovim/neovim/f31f260f0c6449dba4c84071be6bfe91d3cb4993?dir=contrib' (2023-12-14) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/c2786e7084cbad90b4f9472d5b5e35ecb57958af' (2023-12-10) → 'github:NixOS/nixpkgs/9463103069725474698139ab10f17a9d125da859' (2023-12-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/fecdbce27a28ca6a434b6065e2a54dd87d1e44b8' (2023-12-11) → 'github:nixos/nixpkgs/879e5b966a21be8a6232f0b290a30504b883f729' (2023-12-12) • Updated input 'nur': 'github:nix-community/NUR/0ee220eb9acd37aaee74edbf9c926734d0ec4c9d' (2023-12-13) → 'github:nix-community/NUR/fb46a85c803d2260bf573c214e176cdc768782cf' (2023-12-15) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 5661fa1b..d2b3dedb 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1702419470, - "narHash": "sha256-R5Ce+MY0VIM8ZU1Zswy7Ir+QWvCj9nI8zckw2f/s3mU=", + "lastModified": 1702595978, + "narHash": "sha256-PvcPk+f9ENeY5Jq1nvWpkL12KWeVQFhqQ2a8PLNfP/k=", "owner": "neovim", "repo": "neovim", - "rev": "d65c6a0bafada059e87a11a4bcd129afc16d2e5d", + "rev": "f31f260f0c6449dba4c84071be6bfe91d3cb4993", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1702425860, - "narHash": "sha256-OSnsE8Po3f/iGYhtaMLAZbzTXIfkYl6lOEDj9SGHNdE=", + "lastModified": 1702598962, + "narHash": "sha256-uh0Tw7og6xswrrQ9PxEFOCLQXcwQHUynO4bL1fkUJO8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "331bf7d82d0fd66c118dfff92e8400217ce64515", + "rev": "21a2bc2a9f18c49d4c9ba811ab6c6746b8d62580", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1702296239, - "narHash": "sha256-9OPu0MMa+iVf6I3nqZsJ0ssLUvK6dVqueuJldlwdqgQ=", + "lastModified": 1702418045, + "narHash": "sha256-N6Ru9/VcWH+L9l9KnoODv3WxZnPbK1L7x1Y+Vy+I6nw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fecdbce27a28ca6a434b6065e2a54dd87d1e44b8", + "rev": "879e5b966a21be8a6232f0b290a30504b883f729", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1702221085, - "narHash": "sha256-Br3GCSkkvkmw46cT6wCz6ro2H1WgDMWbKE0qctbdtL0=", + "lastModified": 1702350026, + "narHash": "sha256-A+GNZFZdfl4JdDphYKBJ5Ef1HOiFsP18vQe9mqjmUis=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c2786e7084cbad90b4f9472d5b5e35ecb57958af", + "rev": "9463103069725474698139ab10f17a9d125da859", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1702454752, - "narHash": "sha256-CAKE1L6T2fdiy0wr9ATBaBZTg+8Qkf3HGdYwfwZC9fM=", + "lastModified": 1702628238, + "narHash": "sha256-TxK93+Q61XZofl8Iwd1qL3mUEJK/P+CYjP9DoBqHPf0=", "owner": "nix-community", "repo": "NUR", - "rev": "0ee220eb9acd37aaee74edbf9c926734d0ec4c9d", + "rev": "fb46a85c803d2260bf573c214e176cdc768782cf", "type": "github" }, "original": { From 7c1c8bb7254c01835c033a94994a6f5755154e3e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 18 Dec 2023 09:48:19 +0100 Subject: [PATCH 1687/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/21a2bc2a9f18c49d4c9ba811ab6c6746b8d62580' (2023-12-15) → 'github:nix-community/neovim-nightly-overlay/5e2861c2d191550d73a5549ad1998307fa9d51a8' (2023-12-18) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/f31f260f0c6449dba4c84071be6bfe91d3cb4993?dir=contrib' (2023-12-14) → 'github:neovim/neovim/75b8f4c8cbe595ff868c1a0c59edbdf9658e46b0?dir=contrib' (2023-12-17) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d' (2023-12-11) → 'github:NixOS/nixpkgs/aa9d4729cbc99dabacb50e3994dcefb3ea0f7447' (2023-12-14) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9463103069725474698139ab10f17a9d125da859' (2023-12-12) → 'github:NixOS/nixpkgs/b2566f4f897ac6224e094b167d9488d03e157f28' (2023-12-16) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/879e5b966a21be8a6232f0b290a30504b883f729' (2023-12-12) → 'github:nixos/nixpkgs/a19a71d1ee93226fd71984359552affbc1cd3dc3' (2023-12-17) • Updated input 'nur': 'github:nix-community/NUR/fb46a85c803d2260bf573c214e176cdc768782cf' (2023-12-15) → 'github:nix-community/NUR/5eb36fd2d32f43177896e8dd5a7ba134d3d5e949' (2023-12-18) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index d2b3dedb..902e153b 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1702595978, - "narHash": "sha256-PvcPk+f9ENeY5Jq1nvWpkL12KWeVQFhqQ2a8PLNfP/k=", + "lastModified": 1702854572, + "narHash": "sha256-RUw9N6wjMEB1zrlu5GOcpd/aWym07U/FvJVLXba0PNc=", "owner": "neovim", "repo": "neovim", - "rev": "f31f260f0c6449dba4c84071be6bfe91d3cb4993", + "rev": "75b8f4c8cbe595ff868c1a0c59edbdf9658e46b0", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1702598962, - "narHash": "sha256-uh0Tw7og6xswrrQ9PxEFOCLQXcwQHUynO4bL1fkUJO8=", + "lastModified": 1702857837, + "narHash": "sha256-JsEeQ6JPeuU2wYaT8S8NPM5GxsT8JcRZkb6qXVIm4h0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "21a2bc2a9f18c49d4c9ba811ab6c6746b8d62580", + "rev": "5e2861c2d191550d73a5549ad1998307fa9d51a8", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1702272962, - "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", + "lastModified": 1702539185, + "narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", + "rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1702418045, - "narHash": "sha256-N6Ru9/VcWH+L9l9KnoODv3WxZnPbK1L7x1Y+Vy+I6nw=", + "lastModified": 1702777222, + "narHash": "sha256-/SYmqgxTYzqZnQEfbOCHCN4GzqB9uAIsR9IWLzo0/8I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "879e5b966a21be8a6232f0b290a30504b883f729", + "rev": "a19a71d1ee93226fd71984359552affbc1cd3dc3", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1702350026, - "narHash": "sha256-A+GNZFZdfl4JdDphYKBJ5Ef1HOiFsP18vQe9mqjmUis=", + "lastModified": 1702759837, + "narHash": "sha256-u3XeJVRe/Q975nwFE+6ALEwypMKJEELMJKDAhSKyq3M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9463103069725474698139ab10f17a9d125da859", + "rev": "b2566f4f897ac6224e094b167d9488d03e157f28", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1702628238, - "narHash": "sha256-TxK93+Q61XZofl8Iwd1qL3mUEJK/P+CYjP9DoBqHPf0=", + "lastModified": 1702889123, + "narHash": "sha256-hgdt5ZE76rBbOXVgaBfTY5pT8VezeAeeYomyofrs9RY=", "owner": "nix-community", "repo": "NUR", - "rev": "fb46a85c803d2260bf573c214e176cdc768782cf", + "rev": "5eb36fd2d32f43177896e8dd5a7ba134d3d5e949", "type": "github" }, "original": { From de6f8193a26ea0fc7a2c0b0708326883e91f5445 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 18 Dec 2023 17:13:30 +0100 Subject: [PATCH 1688/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 52 ++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 5b083ff8..23508456 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, - "LuaSnip": { "branch": "master", "commit": "954c81b53989097faaff0fabc11c29575288c3e1" }, - "SchemaStore.nvim": { "branch": "main", "commit": "177cae4f44ddf7c166ef263956378ae308ff77ff" }, - "bufferline.nvim": { "branch": "main", "commit": "ac788fbc493839c1e76daa8d119934b715fdb90e" }, - "catppuccin": { "branch": "main", "commit": "64dc309bc157779691be38bbfc5123584e0a4a85" }, + "LuaSnip": { "branch": "master", "commit": "57c9f5c31b3d712376c704673eac8e948c82e9c1" }, + "SchemaStore.nvim": { "branch": "main", "commit": "de7a5763edab2075e1925869af827ca38109ebfa" }, + "bufferline.nvim": { "branch": "main", "commit": "e48ce1805697e4bb97bc171c081e849a65859244" }, + "catppuccin": { "branch": "main", "commit": "079500a625f3ae5aa6efb758f1a17fe4c7a57e52" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -23,9 +23,9 @@ "gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, - "inc-rename.nvim": { "branch": "main", "commit": "a48c7cec5c4f00d7438dce5fadb55f4d715ef9f2" }, + "inc-rename.nvim": { "branch": "main", "commit": "e346532860e1896b1085815e854ed14e2f066a2c" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "7206c77cb931f79885fc47f88ae18f99148392eb" }, + "indent-blankline.nvim": { "branch": "master", "commit": "d4c718467d35bc93714425a7102d82e7e5065280" }, "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, @@ -33,46 +33,46 @@ "mason-lspconfig.nvim": { "branch": "main", "commit": "9453e3d6cd2ca45d96e20f343e8f1b927364b630" }, "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "c28f7d7348f27425a180b1b7dcaa77651f8b71ee" }, - "mini.animate": { "branch": "main", "commit": "507c43c4402c7d7a2101bc72bece6e2202152afa" }, - "mini.bracketed": { "branch": "main", "commit": "944e81e192cf054bb879cb64231e9b1cfb3c8145" }, - "mini.bufremove": { "branch": "main", "commit": "f53c7f27e36009fe61563c11cde154b94a0e5b94" }, - "mini.comment": { "branch": "main", "commit": "3d9c8009615857e982f09bc5357fc95f2a2175f3" }, - "mini.indentscope": { "branch": "main", "commit": "dc26fa1a6c8976f42930c9f53da88d3d441bb13f" }, - "mini.pairs": { "branch": "main", "commit": "71f117fd57f930da6ef4126b24f594dd398bac26" }, - "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, + "mini.ai": { "branch": "main", "commit": "f7787cff9cc42004f722ca1e64e6af4e64e34177" }, + "mini.animate": { "branch": "main", "commit": "6cec625114007527ff8a82316dba858046f9746f" }, + "mini.bracketed": { "branch": "main", "commit": "f1aa8e5b3dd48e27576a3e1f70a8f10e9538f756" }, + "mini.bufremove": { "branch": "main", "commit": "020243bfed8c8b941f2c20626faf3ea39c0c0e1b" }, + "mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" }, + "mini.indentscope": { "branch": "main", "commit": "5a8369475cd7cd6f207a4d288406d03b0fc48bdb" }, + "mini.pairs": { "branch": "main", "commit": "552062017ff207e1f35f7028bfb3f27c7421d22d" }, + "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "230ff118613fa07138ba579b89d13ec2201530b9" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "c4ce017bd4bacf60bf59330cec9e93c5d5e104a6" }, + "neodev.nvim": { "branch": "main", "commit": "be6bf4f5d2d3b173c9291f074130a3d29e1af78a" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "a2361d2c6caaecbe2565836f94e7945df22963ab" }, + "neogit": { "branch": "master", "commit": "31c17e638595ba4c1fbe6544a16460bc2ff4e5ac" }, "neorg": { "branch": "main", "commit": "baaf13a3145534144b795ad37db22bfffd2ad343" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" }, - "nvim-cmp": { "branch": "main", "commit": "41d7633e4146dce1072de32cea31ee31b056a131" }, + "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lint": { "branch": "master", "commit": "849ccb610de3f6ce1a239ea1e68568ef1a53d5df" }, - "nvim-lspconfig": { "branch": "master", "commit": "f451052bd6804e9e5ccd0ac874d7df8d3d4c55b9" }, + "nvim-lint": { "branch": "master", "commit": "32f98300881f38f4e022391f240188fec42f74db" }, + "nvim-lspconfig": { "branch": "master", "commit": "eb81c7ea08d6f01d5fa4cf09e58c708efadf9b2f" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "a18a58015b46f02b4fe537ebfffd82e46110ff24" }, - "nvim-spider": { "branch": "main", "commit": "c11e469cc1a6d099bcac7e15a7bfc0720b8e96b5" }, + "nvim-spider": { "branch": "main", "commit": "3e0bfc91ff353c6ef89b6b9410e63c9afb64eda0" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "42381aae7c1f785e4658cdb34a750be9851ba9af" }, - "nvim-treesitter-context": { "branch": "master", "commit": "cfa8ee19ac9bae9b7fb2958eabe2b45b70c56ccb" }, + "nvim-treesitter": { "branch": "master", "commit": "25ddfde8d7167d7d81403d6809242439037d2b68" }, + "nvim-treesitter-context": { "branch": "master", "commit": "c9f2b429a1d63023f7a33b5404616f4cd2a109c5" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "ec1c5bdb3d87ac971749fa6c7dbc2b14884f1f6a" }, "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, - "nvim-ufo": { "branch": "main", "commit": "9fa77fb7e4365a053a5303b773aaf5eaf806d1f4" }, - "nvim-web-devicons": { "branch": "master", "commit": "8b2e5ef9eb8a717221bd96cb8422686d65a09ed5" }, + "nvim-ufo": { "branch": "main", "commit": "a15944ff8e3d570f504f743d55209275ed1169c4" }, + "nvim-web-devicons": { "branch": "master", "commit": "a1425903ab52a0a0460622519e827f224e5b4fee" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6" }, "refactoring.nvim": { "branch": "master", "commit": "156532476deb10b1b2a32cb38e1078b3f9951c42" }, - "semshi": { "branch": "master", "commit": "482b300308f71586c22b31d55fd35dfbe2aa5dc5" }, + "semshi": { "branch": "master", "commit": "0b9d1644d1cdb37f5f20ffc198889139c36df4db" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, @@ -84,7 +84,7 @@ "tree-sitter-hypr": { "branch": "master", "commit": "da3c1d780c8e04446722ece04beadb6a44eb442d" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "9aff7cbfee5313169ee54d68a10a4c73afef98ba" }, + "venv-selector.nvim": { "branch": "main", "commit": "79709f8ad99ac2082d99a713985f3da0c924f4a2" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "269f9bea87e20a01438085eb13df539929a12727" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, From db38502d2e15a9502143e8bb26feb6fdbc06a79d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 20 Dec 2023 11:37:11 +0100 Subject: [PATCH 1689/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5e2861c2d191550d73a5549ad1998307fa9d51a8' (2023-12-18) → 'github:nix-community/neovim-nightly-overlay/5cf6dd3c7b38b20271ad6f592a6f3f7facb850d0' (2023-12-20) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/75b8f4c8cbe595ff868c1a0c59edbdf9658e46b0?dir=contrib' (2023-12-17) → 'github:neovim/neovim/184f8423492f62b67b499efc53582dad4917ca5a?dir=contrib' (2023-12-19) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/aa9d4729cbc99dabacb50e3994dcefb3ea0f7447' (2023-12-14) → 'github:NixOS/nixpkgs/886c9aee6ca9324e127f9c2c4e6f68c2641c8256' (2023-12-18) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/a19a71d1ee93226fd71984359552affbc1cd3dc3' (2023-12-17) → 'github:nixos/nixpkgs/25fef6e30d8ad48f47a8411ccfe986d8baed8a15' (2023-12-18) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/a9bf124c46ef298113270b1f84a164865987a91c' (2023-12-11) → 'github:nixos/nixpkgs/91a00709aebb3602f172a0bf47ba1ef013e34835' (2023-12-17) • Updated input 'nur': 'github:nix-community/NUR/5eb36fd2d32f43177896e8dd5a7ba134d3d5e949' (2023-12-18) → 'github:nix-community/NUR/5553baf4adcbbd2ff21acb81627799a33be3d05e' (2023-12-20) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 902e153b..101ea674 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1702854572, - "narHash": "sha256-RUw9N6wjMEB1zrlu5GOcpd/aWym07U/FvJVLXba0PNc=", + "lastModified": 1703026968, + "narHash": "sha256-o2IuVglUWDtBueruXIxsL5/JYXceMgptKU8LvGZMkNw=", "owner": "neovim", "repo": "neovim", - "rev": "75b8f4c8cbe595ff868c1a0c59edbdf9658e46b0", + "rev": "184f8423492f62b67b499efc53582dad4917ca5a", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1702857837, - "narHash": "sha256-JsEeQ6JPeuU2wYaT8S8NPM5GxsT8JcRZkb6qXVIm4h0=", + "lastModified": 1703030927, + "narHash": "sha256-esolCDKHGlBVVWGPCxsM5asXsM6No4a/cz5H/l0KrLs=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5e2861c2d191550d73a5549ad1998307fa9d51a8", + "rev": "5cf6dd3c7b38b20271ad6f592a6f3f7facb850d0", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1702539185, - "narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=", + "lastModified": 1702900294, + "narHash": "sha256-pt7sSoJYNw3n8YtXw0Z/Nnr6/PfY2YrjDvqboErXnRM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447", + "rev": "886c9aee6ca9324e127f9c2c4e6f68c2641c8256", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1702777222, - "narHash": "sha256-/SYmqgxTYzqZnQEfbOCHCN4GzqB9uAIsR9IWLzo0/8I=", + "lastModified": 1702882221, + "narHash": "sha256-L/uOrBqkGsa45EvQk4DLq/aR6JeomW+7Mwe0mC/dVUM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a19a71d1ee93226fd71984359552affbc1cd3dc3", + "rev": "25fef6e30d8ad48f47a8411ccfe986d8baed8a15", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1702312524, - "narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", + "lastModified": 1702830618, + "narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a9bf124c46ef298113270b1f84a164865987a91c", + "rev": "91a00709aebb3602f172a0bf47ba1ef013e34835", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1702889123, - "narHash": "sha256-hgdt5ZE76rBbOXVgaBfTY5pT8VezeAeeYomyofrs9RY=", + "lastModified": 1703065816, + "narHash": "sha256-enPnF3+pWamipXcYNKUOjxcY1ONWccRR5uM3MB0/qbM=", "owner": "nix-community", "repo": "NUR", - "rev": "5eb36fd2d32f43177896e8dd5a7ba134d3d5e949", + "rev": "5553baf4adcbbd2ff21acb81627799a33be3d05e", "type": "github" }, "original": { From 651523850cbd611227ac166f6a4c7b2182692a20 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 20 Dec 2023 12:31:20 +0100 Subject: [PATCH 1690/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 23508456..3c2561bf 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, "LuaSnip": { "branch": "master", "commit": "57c9f5c31b3d712376c704673eac8e948c82e9c1" }, - "SchemaStore.nvim": { "branch": "main", "commit": "de7a5763edab2075e1925869af827ca38109ebfa" }, + "SchemaStore.nvim": { "branch": "main", "commit": "c23407de1f76df30ca197b69d78a11be5ce26009" }, "bufferline.nvim": { "branch": "main", "commit": "e48ce1805697e4bb97bc171c081e849a65859244" }, "catppuccin": { "branch": "main", "commit": "079500a625f3ae5aa6efb758f1a17fe4c7a57e52" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -25,7 +25,7 @@ "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, "inc-rename.nvim": { "branch": "main", "commit": "e346532860e1896b1085815e854ed14e2f066a2c" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "d4c718467d35bc93714425a7102d82e7e5065280" }, + "indent-blankline.nvim": { "branch": "master", "commit": "f3eb33c04c3c5028b4efa7dbf8f68abdb6ab50ed" }, "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, @@ -41,11 +41,10 @@ "mini.indentscope": { "branch": "main", "commit": "5a8369475cd7cd6f207a4d288406d03b0fc48bdb" }, "mini.pairs": { "branch": "main", "commit": "552062017ff207e1f35f7028bfb3f27c7421d22d" }, "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "230ff118613fa07138ba579b89d13ec2201530b9" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "be6bf4f5d2d3b173c9291f074130a3d29e1af78a" }, + "neodev.nvim": { "branch": "main", "commit": "93ab59d5d436b36698c14d0374150a7e5e7bccb6" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neogit": { "branch": "master", "commit": "31c17e638595ba4c1fbe6544a16460bc2ff4e5ac" }, "neorg": { "branch": "main", "commit": "baaf13a3145534144b795ad37db22bfffd2ad343" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, @@ -54,13 +53,13 @@ "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lint": { "branch": "master", "commit": "32f98300881f38f4e022391f240188fec42f74db" }, - "nvim-lspconfig": { "branch": "master", "commit": "eb81c7ea08d6f01d5fa4cf09e58c708efadf9b2f" }, + "nvim-lspconfig": { "branch": "master", "commit": "a2e84ddef8d17a71dc8115f72e264c97328f5d33" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "a18a58015b46f02b4fe537ebfffd82e46110ff24" }, - "nvim-spider": { "branch": "main", "commit": "3e0bfc91ff353c6ef89b6b9410e63c9afb64eda0" }, + "nvim-spectre": { "branch": "master", "commit": "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc" }, + "nvim-spider": { "branch": "main", "commit": "9ac46b44f7213aa59365e5cccbfbb5f514fb0e03" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "25ddfde8d7167d7d81403d6809242439037d2b68" }, + "nvim-treesitter": { "branch": "master", "commit": "cdb2ec999c1fb173500e2f9ab4dcd9aa62506c72" }, "nvim-treesitter-context": { "branch": "master", "commit": "c9f2b429a1d63023f7a33b5404616f4cd2a109c5" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "ec1c5bdb3d87ac971749fa6c7dbc2b14884f1f6a" }, "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, @@ -78,7 +77,7 @@ "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "6213322ab56eb27356fdc09a5078e41e3ea7f3bc" }, + "telescope.nvim": { "branch": "master", "commit": "f336f8cfab38a82f9f00df380d28f0c2a572f862" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, "tree-sitter-hypr": { "branch": "master", "commit": "da3c1d780c8e04446722ece04beadb6a44eb442d" }, @@ -86,7 +85,7 @@ "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "79709f8ad99ac2082d99a713985f3da0c924f4a2" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, - "vim-matchup": { "branch": "master", "commit": "269f9bea87e20a01438085eb13df539929a12727" }, + "vim-matchup": { "branch": "master", "commit": "2550178c43464134ce65328da458905f70dbe041" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, From 362c4d587698cd3fefe7ae528d832a6d01807cb0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 20 Dec 2023 12:31:32 +0100 Subject: [PATCH 1691/2080] LazyVim: drop neogit (unused) --- lazyvim/nvim/lua/plugins/tools.lua | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 81633db8..d7255e3f 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -1,24 +1,12 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/tools.lua return { { - "gbprod/yanky.nvim", + "gbprod/yanky.nvim", opts = { -- FIXME: not finding sqlite3 on NixOS ring = { storage = (jit.os:find("Windows") or jit.os:find("Linux")) and "shada" or "sqlite" }, }, }, - -- git integration :Neogit - -- LazyGit and Gitsigns are installed by default - { - "TimUntersberger/neogit", - keys = { { "<leader>gg", "<cmd>Neogit<cr>", desc = "Launch Neogit" } }, - opts = { - integrations = { - diffview = true, - }, - disable_commit_confirmation = true, - }, - }, { "nvim-neo-tree/neo-tree.nvim", From d9e9c02d2d38b3e87e1860e08648719215517afd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 21 Dec 2023 12:31:15 +0100 Subject: [PATCH 1692/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5cf6dd3c7b38b20271ad6f592a6f3f7facb850d0' (2023-12-20) → 'github:nix-community/neovim-nightly-overlay/5c08a5966b296b2f208a4050fbe22509d56ce669' (2023-12-21) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/184f8423492f62b67b499efc53582dad4917ca5a?dir=contrib' (2023-12-19) → 'github:neovim/neovim/0c120307ca1ab613e63865c634d7e10ad67fb0ba?dir=contrib' (2023-12-20) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/886c9aee6ca9324e127f9c2c4e6f68c2641c8256' (2023-12-18) → 'github:NixOS/nixpkgs/7c33cd6bf01cf09f77bfdf6741cddfffa2cd5640' (2023-12-20) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/b2566f4f897ac6224e094b167d9488d03e157f28' (2023-12-16) → 'github:NixOS/nixpkgs/312ab59e8ade69e6083017bd9b98a2919f1fb86a' (2023-12-20) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/25fef6e30d8ad48f47a8411ccfe986d8baed8a15' (2023-12-18) → 'github:nixos/nixpkgs/312ab59e8ade69e6083017bd9b98a2919f1fb86a' (2023-12-20) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/91a00709aebb3602f172a0bf47ba1ef013e34835' (2023-12-17) → 'github:nixos/nixpkgs/54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6' (2023-12-19) • Updated input 'nur': 'github:nix-community/NUR/5553baf4adcbbd2ff21acb81627799a33be3d05e' (2023-12-20) → 'github:nix-community/NUR/bdaabf5464db4a581778c5f3b58cf82980d2204a' (2023-12-21) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 101ea674..ea8d919b 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1703026968, - "narHash": "sha256-o2IuVglUWDtBueruXIxsL5/JYXceMgptKU8LvGZMkNw=", + "lastModified": 1703098322, + "narHash": "sha256-atHwBC/dzCWR7tc5B0mpmiKEkGNJhp39eteQlfzerTg=", "owner": "neovim", "repo": "neovim", - "rev": "184f8423492f62b67b499efc53582dad4917ca5a", + "rev": "0c120307ca1ab613e63865c634d7e10ad67fb0ba", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1703030927, - "narHash": "sha256-esolCDKHGlBVVWGPCxsM5asXsM6No4a/cz5H/l0KrLs=", + "lastModified": 1703117360, + "narHash": "sha256-hny5sw/gmO3Rl1I+8sCIgKY1hRLg/L68cVCZVndug24=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5cf6dd3c7b38b20271ad6f592a6f3f7facb850d0", + "rev": "5c08a5966b296b2f208a4050fbe22509d56ce669", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1702900294, - "narHash": "sha256-pt7sSoJYNw3n8YtXw0Z/Nnr6/PfY2YrjDvqboErXnRM=", + "lastModified": 1703063446, + "narHash": "sha256-e59l84kPNX+clUJUvHJ6+0C3Tw+gYeJn/QaH1dr/3kg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "886c9aee6ca9324e127f9c2c4e6f68c2641c8256", + "rev": "7c33cd6bf01cf09f77bfdf6741cddfffa2cd5640", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1702882221, - "narHash": "sha256-L/uOrBqkGsa45EvQk4DLq/aR6JeomW+7Mwe0mC/dVUM=", + "lastModified": 1703034876, + "narHash": "sha256-4bMPFv/bs5g1nEsXQwXlrAGJgjv1Ilr0ejdaTkBwQLs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "25fef6e30d8ad48f47a8411ccfe986d8baed8a15", + "rev": "312ab59e8ade69e6083017bd9b98a2919f1fb86a", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1702830618, - "narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=", + "lastModified": 1703013332, + "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "91a00709aebb3602f172a0bf47ba1ef013e34835", + "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1702759837, - "narHash": "sha256-u3XeJVRe/Q975nwFE+6ALEwypMKJEELMJKDAhSKyq3M=", + "lastModified": 1703034876, + "narHash": "sha256-4bMPFv/bs5g1nEsXQwXlrAGJgjv1Ilr0ejdaTkBwQLs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b2566f4f897ac6224e094b167d9488d03e157f28", + "rev": "312ab59e8ade69e6083017bd9b98a2919f1fb86a", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1703065816, - "narHash": "sha256-enPnF3+pWamipXcYNKUOjxcY1ONWccRR5uM3MB0/qbM=", + "lastModified": 1703155448, + "narHash": "sha256-6t8M8v9fpm9rKwfh7daxlMWn5pi8sCnm05kWfI0MI80=", "owner": "nix-community", "repo": "NUR", - "rev": "5553baf4adcbbd2ff21acb81627799a33be3d05e", + "rev": "bdaabf5464db4a581778c5f3b58cf82980d2204a", "type": "github" }, "original": { From 70c6abaae06ed296de3466b46418f0fc23c76236 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 21 Dec 2023 17:00:39 +0100 Subject: [PATCH 1693/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/bdaabf5464db4a581778c5f3b58cf82980d2204a' (2023-12-21) → 'github:nix-community/NUR/9d8efc67dd6dab8a6a72cd62d4e33fdb36ab9b44' (2023-12-21) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index ea8d919b..d350a92c 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1703155448, - "narHash": "sha256-6t8M8v9fpm9rKwfh7daxlMWn5pi8sCnm05kWfI0MI80=", + "lastModified": 1703168700, + "narHash": "sha256-93yWlR7woX9FC+Q5yc8TjWVlNPtJBhkmYATMdUT0Rzo=", "owner": "nix-community", "repo": "NUR", - "rev": "bdaabf5464db4a581778c5f3b58cf82980d2204a", + "rev": "9d8efc67dd6dab8a6a72cd62d4e33fdb36ab9b44", "type": "github" }, "original": { From 269134e2c855935dcc55e95788a7a9a66d2e58a5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 22 Dec 2023 09:57:06 +0100 Subject: [PATCH 1694/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5c08a5966b296b2f208a4050fbe22509d56ce669' (2023-12-21) → 'github:nix-community/neovim-nightly-overlay/385011d45745682c382a5fd92300e8a50123c19d' (2023-12-22) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/0c120307ca1ab613e63865c634d7e10ad67fb0ba?dir=contrib' (2023-12-20) → 'github:neovim/neovim/af93a74a0f4afa9a3a4f55ffdf28141eaf776d22?dir=contrib' (2023-12-21) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/7c33cd6bf01cf09f77bfdf6741cddfffa2cd5640' (2023-12-20) → 'github:NixOS/nixpkgs/d6863cbcbbb80e71cecfc03356db1cda38919523' (2023-12-21) • Updated input 'nur': 'github:nix-community/NUR/9d8efc67dd6dab8a6a72cd62d4e33fdb36ab9b44' (2023-12-21) → 'github:nix-community/NUR/4af4073bd616e883c295c6dd981b87b2c892e5ec' (2023-12-22) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index d350a92c..3cd82db2 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1703098322, - "narHash": "sha256-atHwBC/dzCWR7tc5B0mpmiKEkGNJhp39eteQlfzerTg=", + "lastModified": 1703176722, + "narHash": "sha256-jJ5oTCI/vG/IFM6D/gktjXkKF1cI1VOwYb6uQcrB4XE=", "owner": "neovim", "repo": "neovim", - "rev": "0c120307ca1ab613e63865c634d7e10ad67fb0ba", + "rev": "af93a74a0f4afa9a3a4f55ffdf28141eaf776d22", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1703117360, - "narHash": "sha256-hny5sw/gmO3Rl1I+8sCIgKY1hRLg/L68cVCZVndug24=", + "lastModified": 1703203422, + "narHash": "sha256-bIikC6bL0E7ucPAa8gEMcb0OOsvgccNUgw0qgxlPc8s=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5c08a5966b296b2f208a4050fbe22509d56ce669", + "rev": "385011d45745682c382a5fd92300e8a50123c19d", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1703063446, - "narHash": "sha256-e59l84kPNX+clUJUvHJ6+0C3Tw+gYeJn/QaH1dr/3kg=", + "lastModified": 1703134684, + "narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7c33cd6bf01cf09f77bfdf6741cddfffa2cd5640", + "rev": "d6863cbcbbb80e71cecfc03356db1cda38919523", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1703168700, - "narHash": "sha256-93yWlR7woX9FC+Q5yc8TjWVlNPtJBhkmYATMdUT0Rzo=", + "lastModified": 1703234411, + "narHash": "sha256-Fh3+ze3tHTHT2+qZXGtK8zv63NkUHZBhnblCu3771F8=", "owner": "nix-community", "repo": "NUR", - "rev": "9d8efc67dd6dab8a6a72cd62d4e33fdb36ab9b44", + "rev": "4af4073bd616e883c295c6dd981b87b2c892e5ec", "type": "github" }, "original": { From 0c3ffb05ceaf9864286b4ed159f7f850c6b9cbd4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 22 Dec 2023 13:35:44 +0100 Subject: [PATCH 1695/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 3c2561bf..3e675b82 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, "LuaSnip": { "branch": "master", "commit": "57c9f5c31b3d712376c704673eac8e948c82e9c1" }, - "SchemaStore.nvim": { "branch": "main", "commit": "c23407de1f76df30ca197b69d78a11be5ce26009" }, + "SchemaStore.nvim": { "branch": "main", "commit": "84f22450913d05da3e7c5488a9761e1034fb43b6" }, "bufferline.nvim": { "branch": "main", "commit": "e48ce1805697e4bb97bc171c081e849a65859244" }, - "catppuccin": { "branch": "main", "commit": "079500a625f3ae5aa6efb758f1a17fe4c7a57e52" }, + "catppuccin": { "branch": "main", "commit": "4fbab1f01488718c3d54034a473d0346346b90e3" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -25,12 +25,12 @@ "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, "inc-rename.nvim": { "branch": "main", "commit": "e346532860e1896b1085815e854ed14e2f066a2c" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "f3eb33c04c3c5028b4efa7dbf8f68abdb6ab50ed" }, + "indent-blankline.nvim": { "branch": "master", "commit": "3084950d1b66426d207064a509477cbfa96362c6" }, "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "9453e3d6cd2ca45d96e20f343e8f1b927364b630" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "56e435e09f8729af2d41973e81a0db440f8fe9c9" }, "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "f7787cff9cc42004f722ca1e64e6af4e64e34177" }, @@ -43,7 +43,7 @@ "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "93ab59d5d436b36698c14d0374150a7e5e7bccb6" }, + "neodev.nvim": { "branch": "main", "commit": "0afdcb703f265c3079a47857bda01e3ccf884558" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, "neorg": { "branch": "main", "commit": "baaf13a3145534144b795ad37db22bfffd2ad343" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, @@ -53,19 +53,19 @@ "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, "nvim-lint": { "branch": "master", "commit": "32f98300881f38f4e022391f240188fec42f74db" }, - "nvim-lspconfig": { "branch": "master", "commit": "a2e84ddef8d17a71dc8115f72e264c97328f5d33" }, - "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, + "nvim-lspconfig": { "branch": "master", "commit": "9099871a7c7e1c16122e00d70208a2cd02078d80" }, + "nvim-notify": { "branch": "master", "commit": "ba1f59dccc584dddd138da870d0ee99b3f04ce54" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc" }, - "nvim-spider": { "branch": "main", "commit": "9ac46b44f7213aa59365e5cccbfbb5f514fb0e03" }, + "nvim-spider": { "branch": "main", "commit": "f54cacbbf3b66cee83da6a75f17deaa53a8fbb8f" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "cdb2ec999c1fb173500e2f9ab4dcd9aa62506c72" }, + "nvim-treesitter": { "branch": "master", "commit": "454c3a9ba86f841dc3b5bb17d150a873a16b77b4" }, "nvim-treesitter-context": { "branch": "master", "commit": "c9f2b429a1d63023f7a33b5404616f4cd2a109c5" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "ec1c5bdb3d87ac971749fa6c7dbc2b14884f1f6a" }, "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, "nvim-ufo": { "branch": "main", "commit": "a15944ff8e3d570f504f743d55209275ed1169c4" }, - "nvim-web-devicons": { "branch": "master", "commit": "a1425903ab52a0a0460622519e827f224e5b4fee" }, + "nvim-web-devicons": { "branch": "master", "commit": "aff5f50b34754335a312c9b3dc5b245f605ce437" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, From b2e6c64ca3bdf6260f87215a40a55870fcc475fa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 8 Jan 2024 09:08:20 +0100 Subject: [PATCH 1696/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d' (2023-11-24) → 'github:lnl7/nix-darwin/0dd382b70c351f528561f71a0a7df82c9d2be9a4' (2024-01-03) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/385011d45745682c382a5fd92300e8a50123c19d' (2023-12-22) → 'github:nix-community/neovim-nightly-overlay/688360dd650feff8fef1d5a539eede840ec07d14' (2024-01-08) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5' (2023-12-01) → 'github:hercules-ci/flake-parts/88a2cd8166694ba0b6cb374700799cec53aef527' (2024-01-01) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/31b6cd7569191bfcd0a548575b0e2ef953ed7d09' (2023-11-26) → 'github:hercules-ci/hercules-ci-effects/d5cbf433a6ae9cae05400189a8dbc6412a03ba16' (2023-12-31) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4' (2023-10-03) → 'github:hercules-ci/flake-parts/34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5' (2023-12-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/af93a74a0f4afa9a3a4f55ffdf28141eaf776d22?dir=contrib' (2023-12-21) → 'github:neovim/neovim/367e52cc79a786bbee4456b30f9ec5db7e28d6a5?dir=contrib' (2024-01-07) • Updated input 'neovim-nightly-overlay/neovim-flake/flake-utils': 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12) → 'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/d6863cbcbbb80e71cecfc03356db1cda38919523' (2023-12-21) → 'github:NixOS/nixpkgs/63143ac2c9186be6d9da6035fa22620018c85932' (2024-01-02) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/312ab59e8ade69e6083017bd9b98a2919f1fb86a' (2023-12-20) → 'github:NixOS/nixpkgs/70bdadeb94ffc8806c0570eb5c2695ad29f0e421' (2024-01-03) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/312ab59e8ade69e6083017bd9b98a2919f1fb86a' (2023-12-20) → 'github:nixos/nixpkgs/70bdadeb94ffc8806c0570eb5c2695ad29f0e421' (2024-01-03) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6' (2023-12-19) → 'github:nixos/nixpkgs/46ae0210ce163b3cba6c7da08840c1d63de9c701' (2024-01-06) • Updated input 'nur': 'github:nix-community/NUR/4af4073bd616e883c295c6dd981b87b2c892e5ec' (2023-12-22) → 'github:nix-community/NUR/e9bf801b54e57f9297040831d819b8db9b2e3c7e' (2024-01-08) --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 3cd82db2..c8fad3a6 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1700795494, - "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "lastModified": 1704277720, + "narHash": "sha256-meAKNgmh3goankLGWqqpw73pm9IvXjEENJloF0coskE=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "rev": "0dd382b70c351f528561f71a0a7df82c9d2be9a4", "type": "github" }, "original": { @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1701473968, - "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", + "lastModified": 1704152458, + "narHash": "sha256-DS+dGw7SKygIWf9w4eNBUZsK+4Ug27NwEWmn2tnbycg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", + "rev": "88a2cd8166694ba0b6cb374700799cec53aef527", "type": "github" }, "original": { @@ -67,11 +67,11 @@ ] }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1701473968, + "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", "type": "github" }, "original": { @@ -84,11 +84,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1701009247, - "narHash": "sha256-GuX16rzRze2y7CsewJLTV6qXkXWyEwp6VCZXi8HLruU=", + "lastModified": 1704029560, + "narHash": "sha256-a4Iu7x1OP+uSYpqadOu8VCPY+MPF3+f6KIi+MAxlgyw=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "31b6cd7569191bfcd0a548575b0e2ef953ed7d09", + "rev": "d5cbf433a6ae9cae05400189a8dbc6412a03ba16", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1703176722, - "narHash": "sha256-jJ5oTCI/vG/IFM6D/gktjXkKF1cI1VOwYb6uQcrB4XE=", + "lastModified": 1704648325, + "narHash": "sha256-8DxfLibKTkbPc/ct9eApn+ET7dbY3Z2Du46U0KK0zL4=", "owner": "neovim", "repo": "neovim", - "rev": "af93a74a0f4afa9a3a4f55ffdf28141eaf776d22", + "rev": "367e52cc79a786bbee4456b30f9ec5db7e28d6a5", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1703203422, - "narHash": "sha256-bIikC6bL0E7ucPAa8gEMcb0OOsvgccNUgw0qgxlPc8s=", + "lastModified": 1704672222, + "narHash": "sha256-GkwxrG62hqDXLAdW17bulA6ckI8JuVuwythPqOiMoHs=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "385011d45745682c382a5fd92300e8a50123c19d", + "rev": "688360dd650feff8fef1d5a539eede840ec07d14", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1703134684, - "narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=", + "lastModified": 1704161960, + "narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d6863cbcbbb80e71cecfc03356db1cda38919523", + "rev": "63143ac2c9186be6d9da6035fa22620018c85932", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1703034876, - "narHash": "sha256-4bMPFv/bs5g1nEsXQwXlrAGJgjv1Ilr0ejdaTkBwQLs=", + "lastModified": 1704290814, + "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "312ab59e8ade69e6083017bd9b98a2919f1fb86a", + "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1703013332, - "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", + "lastModified": 1704538339, + "narHash": "sha256-1734d3mQuux9ySvwf6axRWZRBhtcZA9Q8eftD6EZg6U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", + "rev": "46ae0210ce163b3cba6c7da08840c1d63de9c701", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1703034876, - "narHash": "sha256-4bMPFv/bs5g1nEsXQwXlrAGJgjv1Ilr0ejdaTkBwQLs=", + "lastModified": 1704290814, + "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "312ab59e8ade69e6083017bd9b98a2919f1fb86a", + "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1703234411, - "narHash": "sha256-Fh3+ze3tHTHT2+qZXGtK8zv63NkUHZBhnblCu3771F8=", + "lastModified": 1704695916, + "narHash": "sha256-lp3h0NBa+VMQ6rRLzWzWl664ayJrHNhwiy3NEGN9CKk=", "owner": "nix-community", "repo": "NUR", - "rev": "4af4073bd616e883c295c6dd981b87b2c892e5ec", + "rev": "e9bf801b54e57f9297040831d819b8db9b2e3c7e", "type": "github" }, "original": { From 90b6f77fe5a6fb87be4c7d3eaf44c8590052746e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 8 Jan 2024 10:06:32 +0100 Subject: [PATCH 1697/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 62 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 3e675b82..929ebc5a 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, - "LuaSnip": { "branch": "master", "commit": "57c9f5c31b3d712376c704673eac8e948c82e9c1" }, - "SchemaStore.nvim": { "branch": "main", "commit": "84f22450913d05da3e7c5488a9761e1034fb43b6" }, + "LuaSnip": { "branch": "master", "commit": "2f0db89fcb22d27b908b3609d2441c02798106ab" }, + "SchemaStore.nvim": { "branch": "main", "commit": "958d16c554a4a7dba8332707cded68f791b75d89" }, "bufferline.nvim": { "branch": "main", "commit": "e48ce1805697e4bb97bc171c081e849a65859244" }, - "catppuccin": { "branch": "main", "commit": "4fbab1f01488718c3d54034a473d0346346b90e3" }, + "catppuccin": { "branch": "main", "commit": "5e36ca599f4aa41bdd87fbf2c5aae4397ac55074" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -12,26 +12,26 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "8b407bb6175846cdc4c499e2a8d28109615a2089" }, + "conform.nvim": { "branch": "master", "commit": "0e61fc88f725b4411e63b43470a397c6102534c7" }, "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, - "dressing.nvim": { "branch": "master", "commit": "8b7ae53d7f04f33be3439a441db8071c96092d19" }, + "dressing.nvim": { "branch": "master", "commit": "94b0d24483d56f3777ee0c8dc51675f21709318c" }, "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, - "friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" }, - "gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" }, + "friendly-snippets": { "branch": "main", "commit": "69a2c1675b66e002799f5eef803b87a12f593049" }, + "gitsigns.nvim": { "branch": "main", "commit": "3e6e91b09f0468c32d3b96dcacf4b947f037ce25" }, "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, - "inc-rename.nvim": { "branch": "main", "commit": "e346532860e1896b1085815e854ed14e2f066a2c" }, + "inc-rename.nvim": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" }, "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "3084950d1b66426d207064a509477cbfa96362c6" }, + "indent-blankline.nvim": { "branch": "master", "commit": "3c8a185da4b8ab7aef487219f5e001b11d4b6aaf" }, "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, - "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, + "lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "56e435e09f8729af2d41973e81a0db440f8fe9c9" }, - "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "0989bdf4fdf7b5aa4c74131d7ffccc3f399ac788" }, + "mason.nvim": { "branch": "main", "commit": "e110bc3be1a7309617cecd77bfe4bf86ba1b8134" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "f7787cff9cc42004f722ca1e64e6af4e64e34177" }, "mini.animate": { "branch": "main", "commit": "6cec625114007527ff8a82316dba858046f9746f" }, @@ -43,49 +43,49 @@ "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "0afdcb703f265c3079a47857bda01e3ccf884558" }, + "neodev.nvim": { "branch": "main", "commit": "be8d4d4cab6c13c6a572269c9d6a63774baba9a0" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neorg": { "branch": "main", "commit": "baaf13a3145534144b795ad37db22bfffd2ad343" }, + "neorg": { "branch": "main", "commit": "5432be2500f52d32a0a5a63ee4557ce592a6aecf" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, - "nui.nvim": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" }, + "nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" }, "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" }, - "nvim-lint": { "branch": "master", "commit": "32f98300881f38f4e022391f240188fec42f74db" }, - "nvim-lspconfig": { "branch": "master", "commit": "9099871a7c7e1c16122e00d70208a2cd02078d80" }, - "nvim-notify": { "branch": "master", "commit": "ba1f59dccc584dddd138da870d0ee99b3f04ce54" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, + "nvim-lint": { "branch": "master", "commit": "8df53b5dde8ea80f0a039775777eae6648a10229" }, + "nvim-lspconfig": { "branch": "master", "commit": "796394fd19fb878e8dbc4fd1e9c9c186ed07a5f4" }, + "nvim-notify": { "branch": "master", "commit": "1576123bff3bed67bc673a3076e591abfe5d8ca9" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc" }, - "nvim-spider": { "branch": "main", "commit": "f54cacbbf3b66cee83da6a75f17deaa53a8fbb8f" }, + "nvim-spider": { "branch": "main", "commit": "dc371a116041c49ae6d3813f6e1722c2dcdabdcf" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "454c3a9ba86f841dc3b5bb17d150a873a16b77b4" }, - "nvim-treesitter-context": { "branch": "master", "commit": "c9f2b429a1d63023f7a33b5404616f4cd2a109c5" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "ec1c5bdb3d87ac971749fa6c7dbc2b14884f1f6a" }, + "nvim-treesitter": { "branch": "master", "commit": "8cd2b230174efbf7b5d9f49fe2f90bda6b5eb16e" }, + "nvim-treesitter-context": { "branch": "master", "commit": "652ec514d6ba8bc4a3c2de76c855fe668e2c7196" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "85b9d0cbd4ff901abcda862b50dbb34e0901848b" }, "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, - "nvim-ufo": { "branch": "main", "commit": "a15944ff8e3d570f504f743d55209275ed1169c4" }, - "nvim-web-devicons": { "branch": "master", "commit": "aff5f50b34754335a312c9b3dc5b245f605ce437" }, + "nvim-ufo": { "branch": "main", "commit": "c6d88523f574024b788f1c3400c5d5b9bb1a0407" }, + "nvim-web-devicons": { "branch": "master", "commit": "db0c864375c198cacc171ff373e76bfce2a85045" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6" }, - "refactoring.nvim": { "branch": "master", "commit": "156532476deb10b1b2a32cb38e1078b3f9951c42" }, - "semshi": { "branch": "master", "commit": "0b9d1644d1cdb37f5f20ffc198889139c36df4db" }, + "refactoring.nvim": { "branch": "master", "commit": "28c5a33a0c489eb559396d9424b042ccfdb03b14" }, + "semshi": { "branch": "master", "commit": "0182447e2ff4dfa04cd2dfe5f189e012c581ca45" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, - "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, + "symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "f336f8cfab38a82f9f00df380d28f0c2a572f862" }, + "telescope.nvim": { "branch": "master", "commit": "87e92ea31b2b61d45ad044cf7b2d9b66dad2a618" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, - "tree-sitter-hypr": { "branch": "master", "commit": "da3c1d780c8e04446722ece04beadb6a44eb442d" }, + "tree-sitter-hypr": { "branch": "master", "commit": "9bd008f08ffbfb94146ce9d4f31002de66f0e627" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "79709f8ad99ac2082d99a713985f3da0c924f4a2" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, - "vim-matchup": { "branch": "master", "commit": "2550178c43464134ce65328da458905f70dbe041" }, + "vim-matchup": { "branch": "master", "commit": "e2cca1747ab175b8d839a5d28679427564643a57" }, "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, From dc62235bd49c503b6c6436d8fa980f767c8c3219 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 9 Jan 2024 10:00:56 +0100 Subject: [PATCH 1698/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/688360dd650feff8fef1d5a539eede840ec07d14' (2024-01-08) → 'github:nix-community/neovim-nightly-overlay/96c2187acf3fa780f26b317559cef3e13f989365' (2024-01-09) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/367e52cc79a786bbee4456b30f9ec5db7e28d6a5?dir=contrib' (2024-01-07) → 'github:neovim/neovim/ee3d4f6b90d0902aa17936d1f0944755516569a1?dir=contrib' (2024-01-08) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/63143ac2c9186be6d9da6035fa22620018c85932' (2024-01-02) → 'github:NixOS/nixpkgs/24fe8bb4f552ad3926274d29e083b79d84707da6' (2024-01-07) • Updated input 'nur': 'github:nix-community/NUR/e9bf801b54e57f9297040831d819b8db9b2e3c7e' (2024-01-08) → 'github:nix-community/NUR/eec7fbb7e90121aaeac4b5fcdcf7b316d2a29288' (2024-01-09) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index c8fad3a6..bf7dbc92 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1704648325, - "narHash": "sha256-8DxfLibKTkbPc/ct9eApn+ET7dbY3Z2Du46U0KK0zL4=", + "lastModified": 1704749828, + "narHash": "sha256-cNeiEvwH0AGFwApOKKH7itDcII0sVBydg7hORjsyEo0=", "owner": "neovim", "repo": "neovim", - "rev": "367e52cc79a786bbee4456b30f9ec5db7e28d6a5", + "rev": "ee3d4f6b90d0902aa17936d1f0944755516569a1", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1704672222, - "narHash": "sha256-GkwxrG62hqDXLAdW17bulA6ckI8JuVuwythPqOiMoHs=", + "lastModified": 1704758606, + "narHash": "sha256-pxizvjajSoG/bKUD9De9V33yXxg6MhYLtoa/TiPa24U=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "688360dd650feff8fef1d5a539eede840ec07d14", + "rev": "96c2187acf3fa780f26b317559cef3e13f989365", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1704161960, - "narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=", + "lastModified": 1704626572, + "narHash": "sha256-VwRTEKzK4wSSv64G+g3RLF3t6yBHrhR2VK3kZ5UWisU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "63143ac2c9186be6d9da6035fa22620018c85932", + "rev": "24fe8bb4f552ad3926274d29e083b79d84707da6", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1704695916, - "narHash": "sha256-lp3h0NBa+VMQ6rRLzWzWl664ayJrHNhwiy3NEGN9CKk=", + "lastModified": 1704789928, + "narHash": "sha256-HHfQVcDfzDwkOSr30QCKWD6tOvnXxvDqXo5eIOmqq6Q=", "owner": "nix-community", "repo": "NUR", - "rev": "e9bf801b54e57f9297040831d819b8db9b2e3c7e", + "rev": "eec7fbb7e90121aaeac4b5fcdcf7b316d2a29288", "type": "github" }, "original": { From 6baedeeeb325cd8f19408803e2a6a522ec18e272 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 11 Jan 2024 15:43:09 +0100 Subject: [PATCH 1699/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/96c2187acf3fa780f26b317559cef3e13f989365' (2024-01-09) → 'github:nix-community/neovim-nightly-overlay/4a41db15e2d2119a97dab30e9292da95c52dac1f' (2024-01-11) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/ee3d4f6b90d0902aa17936d1f0944755516569a1?dir=contrib' (2024-01-08) → 'github:neovim/neovim/a7550a20e0c3084eacd2b4ede1e6a94f282c2fb8?dir=contrib' (2024-01-10) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/24fe8bb4f552ad3926274d29e083b79d84707da6' (2024-01-07) → 'github:NixOS/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/46ae0210ce163b3cba6c7da08840c1d63de9c701' (2024-01-06) → 'github:nixos/nixpkgs/317484b1ead87b9c1b8ac5261a8d2dd748a0492d' (2024-01-08) • Updated input 'nur': 'github:nix-community/NUR/eec7fbb7e90121aaeac4b5fcdcf7b316d2a29288' (2024-01-09) → 'github:nix-community/NUR/7970185d9e3fd1eed750ca2953469335467ed05b' (2024-01-11) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index bf7dbc92..3eea2008 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1704749828, - "narHash": "sha256-cNeiEvwH0AGFwApOKKH7itDcII0sVBydg7hORjsyEo0=", + "lastModified": 1704862603, + "narHash": "sha256-l4sVnyO6C/6AzbeIZZWM6rKu168xVHD1SZaqyo1FHCM=", "owner": "neovim", "repo": "neovim", - "rev": "ee3d4f6b90d0902aa17936d1f0944755516569a1", + "rev": "a7550a20e0c3084eacd2b4ede1e6a94f282c2fb8", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1704758606, - "narHash": "sha256-pxizvjajSoG/bKUD9De9V33yXxg6MhYLtoa/TiPa24U=", + "lastModified": 1704931438, + "narHash": "sha256-11xyZu+f9VinivwI9gBQ1dRUtsNlmtdZODMki+fWA14=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "96c2187acf3fa780f26b317559cef3e13f989365", + "rev": "4a41db15e2d2119a97dab30e9292da95c52dac1f", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1704626572, - "narHash": "sha256-VwRTEKzK4wSSv64G+g3RLF3t6yBHrhR2VK3kZ5UWisU=", + "lastModified": 1704842529, + "narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "24fe8bb4f552ad3926274d29e083b79d84707da6", + "rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1704538339, - "narHash": "sha256-1734d3mQuux9ySvwf6axRWZRBhtcZA9Q8eftD6EZg6U=", + "lastModified": 1704722960, + "narHash": "sha256-mKGJ3sPsT6//s+Knglai5YflJUF2DGj7Ai6Ynopz0kI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "46ae0210ce163b3cba6c7da08840c1d63de9c701", + "rev": "317484b1ead87b9c1b8ac5261a8d2dd748a0492d", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1704789928, - "narHash": "sha256-HHfQVcDfzDwkOSr30QCKWD6tOvnXxvDqXo5eIOmqq6Q=", + "lastModified": 1704981644, + "narHash": "sha256-JDkDK1+CsOf3X6BYCau9QaS+mnI3NkwnC7r+xFRYGHw=", "owner": "nix-community", "repo": "NUR", - "rev": "eec7fbb7e90121aaeac4b5fcdcf7b316d2a29288", + "rev": "7970185d9e3fd1eed750ca2953469335467ed05b", "type": "github" }, "original": { From 280a9ce567ed5fff585b3342464af79bebab54b0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 15 Jan 2024 10:11:49 +0100 Subject: [PATCH 1700/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/4a41db15e2d2119a97dab30e9292da95c52dac1f' (2024-01-11) → 'github:nix-community/neovim-nightly-overlay/0b0c6a4cadc8eac472fe4c0512639331c930424e' (2024-01-15) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/88a2cd8166694ba0b6cb374700799cec53aef527' (2024-01-01) → 'github:hercules-ci/flake-parts/07f6395285469419cf9d078f59b5b49993198c00' (2024-01-11) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/a7550a20e0c3084eacd2b4ede1e6a94f282c2fb8?dir=contrib' (2024-01-10) → 'github:neovim/neovim/965dbd0e019ab2e2d7db1af57f406d7cf57716d7?dir=contrib' (2024-01-14) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09) → 'github:NixOS/nixpkgs/dd5621df6dcb90122b50da5ec31c411a0de3e538' (2024-01-14) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/70bdadeb94ffc8806c0570eb5c2695ad29f0e421' (2024-01-03) → 'github:nixos/nixpkgs/a1982c92d8980a0114372973cbdfe0a307f1bdea' (2024-01-12) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/317484b1ead87b9c1b8ac5261a8d2dd748a0492d' (2024-01-08) → 'github:nixos/nixpkgs/9b19f5e77dd906cb52dade0b7bd280339d2a1f3d' (2024-01-13) • Updated input 'nur': 'github:nix-community/NUR/7970185d9e3fd1eed750ca2953469335467ed05b' (2024-01-11) → 'github:nix-community/NUR/64cb7f2ca16c997e86ebbdf2559e210acecf0014' (2024-01-15) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 3eea2008..fd7bab06 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1704152458, - "narHash": "sha256-DS+dGw7SKygIWf9w4eNBUZsK+4Ug27NwEWmn2tnbycg=", + "lastModified": 1704982712, + "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "88a2cd8166694ba0b6cb374700799cec53aef527", + "rev": "07f6395285469419cf9d078f59b5b49993198c00", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1704862603, - "narHash": "sha256-l4sVnyO6C/6AzbeIZZWM6rKu168xVHD1SZaqyo1FHCM=", + "lastModified": 1705270600, + "narHash": "sha256-1g9PtEgfZzFdNJTFkok0o6J4Mr0ZlLwxR6bcHlNwAtU=", "owner": "neovim", "repo": "neovim", - "rev": "a7550a20e0c3084eacd2b4ede1e6a94f282c2fb8", + "rev": "965dbd0e019ab2e2d7db1af57f406d7cf57716d7", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1704931438, - "narHash": "sha256-11xyZu+f9VinivwI9gBQ1dRUtsNlmtdZODMki+fWA14=", + "lastModified": 1705277129, + "narHash": "sha256-ttL+nVz7ndgK+I+jRWl8KXcqxCYXyqKlfL/iWzPYbds=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4a41db15e2d2119a97dab30e9292da95c52dac1f", + "rev": "0b0c6a4cadc8eac472fe4c0512639331c930424e", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1704842529, - "narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=", + "lastModified": 1705204527, + "narHash": "sha256-WVz9WdaFBhAwO/7A+HlW8HPJ4VQ8QnpCD1WZAcAPneo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5", + "rev": "dd5621df6dcb90122b50da5ec31c411a0de3e538", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1704290814, - "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1704722960, - "narHash": "sha256-mKGJ3sPsT6//s+Knglai5YflJUF2DGj7Ai6Ynopz0kI=", + "lastModified": 1705133751, + "narHash": "sha256-rCIsyE80jgiOU78gCWN3A0wE0tR2GI5nH6MlS+HaaSQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "317484b1ead87b9c1b8ac5261a8d2dd748a0492d", + "rev": "9b19f5e77dd906cb52dade0b7bd280339d2a1f3d", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1704981644, - "narHash": "sha256-JDkDK1+CsOf3X6BYCau9QaS+mnI3NkwnC7r+xFRYGHw=", + "lastModified": 1705309244, + "narHash": "sha256-Ze1o4Rvtwh/89FWvxKDkQiJX0+LWAyDGE137n2dyu6k=", "owner": "nix-community", "repo": "NUR", - "rev": "7970185d9e3fd1eed750ca2953469335467ed05b", + "rev": "64cb7f2ca16c997e86ebbdf2559e210acecf0014", "type": "github" }, "original": { From 76b3d287c476c077f460f998f444e88faaf4802d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 16 Jan 2024 08:48:45 +0100 Subject: [PATCH 1701/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/0dd382b70c351f528561f71a0a7df82c9d2be9a4' (2024-01-03) → 'github:lnl7/nix-darwin/44a6ec1faeff61a6404c25ef1a263fc2d98d081b' (2024-01-15) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0b0c6a4cadc8eac472fe4c0512639331c930424e' (2024-01-15) → 'github:nix-community/neovim-nightly-overlay/9fda35eaebeb3a6502279337aad1830eac39a5c4' (2024-01-16) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/965dbd0e019ab2e2d7db1af57f406d7cf57716d7?dir=contrib' (2024-01-14) → 'github:neovim/neovim/73e1942abe7a96d63ce3749af4187f2cdff87e69?dir=contrib' (2024-01-16) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/dd5621df6dcb90122b50da5ec31c411a0de3e538' (2024-01-14) → 'github:NixOS/nixpkgs/e0629618b4b419a47e2c8a3cab223e2a7f3a8f97' (2024-01-15) • Updated input 'nur': 'github:nix-community/NUR/64cb7f2ca16c997e86ebbdf2559e210acecf0014' (2024-01-15) → 'github:nix-community/NUR/67bde509383c2db1c1e9a3906f3b78234e2edf7b' (2024-01-16) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index fd7bab06..af25c0a6 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1704277720, - "narHash": "sha256-meAKNgmh3goankLGWqqpw73pm9IvXjEENJloF0coskE=", + "lastModified": 1705356404, + "narHash": "sha256-0/WnHU5S9GXOJD2HGe/mFNmGGE+8UGnhwofsyJQVoDA=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "0dd382b70c351f528561f71a0a7df82c9d2be9a4", + "rev": "44a6ec1faeff61a6404c25ef1a263fc2d98d081b", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1705270600, - "narHash": "sha256-1g9PtEgfZzFdNJTFkok0o6J4Mr0ZlLwxR6bcHlNwAtU=", + "lastModified": 1705363208, + "narHash": "sha256-60LQ2ttMtR02pEZbYNYOACSyJ9Lftq1/J8NZ7niQwYI=", "owner": "neovim", "repo": "neovim", - "rev": "965dbd0e019ab2e2d7db1af57f406d7cf57716d7", + "rev": "73e1942abe7a96d63ce3749af4187f2cdff87e69", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1705277129, - "narHash": "sha256-ttL+nVz7ndgK+I+jRWl8KXcqxCYXyqKlfL/iWzPYbds=", + "lastModified": 1705364033, + "narHash": "sha256-+dI40XOyR2Eh2VpVOXyRCuhzw0IKZITsHlnuyCoQ9BQ=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0b0c6a4cadc8eac472fe4c0512639331c930424e", + "rev": "9fda35eaebeb3a6502279337aad1830eac39a5c4", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705204527, - "narHash": "sha256-WVz9WdaFBhAwO/7A+HlW8HPJ4VQ8QnpCD1WZAcAPneo=", + "lastModified": 1705303754, + "narHash": "sha256-loWkd7lUzSvGBU9xnva37iPB2rr5ulq1qBLT44KjzGA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dd5621df6dcb90122b50da5ec31c411a0de3e538", + "rev": "e0629618b4b419a47e2c8a3cab223e2a7f3a8f97", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1705309244, - "narHash": "sha256-Ze1o4Rvtwh/89FWvxKDkQiJX0+LWAyDGE137n2dyu6k=", + "lastModified": 1705388041, + "narHash": "sha256-cUMNm50nMPxDum03IQwkYhvzVflZFIiWk+Um4lxKs0Q=", "owner": "nix-community", "repo": "NUR", - "rev": "64cb7f2ca16c997e86ebbdf2559e210acecf0014", + "rev": "67bde509383c2db1c1e9a3906f3b78234e2edf7b", "type": "github" }, "original": { From 5bdc3602e586b851bf3382a19e2ad4fd72ee99db Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 22 Jan 2024 09:14:06 +0100 Subject: [PATCH 1702/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/44a6ec1faeff61a6404c25ef1a263fc2d98d081b' (2024-01-15) → 'github:lnl7/nix-darwin/91c19ab206b4b8af72f3f34a947969964ad45908' (2024-01-21) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/9fda35eaebeb3a6502279337aad1830eac39a5c4' (2024-01-16) → 'github:nix-community/neovim-nightly-overlay/45e929aad54296c766685b8eb0ebfc051b49acc3' (2024-01-22) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/73e1942abe7a96d63ce3749af4187f2cdff87e69?dir=contrib' (2024-01-16) → 'github:neovim/neovim/4d4092ac9e98f04ae949c605aa6e2b55ca605a1f?dir=contrib' (2024-01-21) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/e0629618b4b419a47e2c8a3cab223e2a7f3a8f97' (2024-01-15) → 'github:NixOS/nixpkgs/e5d1c87f5813afde2dda384ac807c57a105721cc' (2024-01-19) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/9b19f5e77dd906cb52dade0b7bd280339d2a1f3d' (2024-01-13) → 'github:nixos/nixpkgs/bbe7d8f876fbbe7c959c90ba2ae2852220573261' (2024-01-19) • Updated input 'nur': 'github:nix-community/NUR/67bde509383c2db1c1e9a3906f3b78234e2edf7b' (2024-01-16) → 'github:nix-community/NUR/d1821b6a0206e931d42c22da4654162abebcf4d9' (2024-01-22) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index af25c0a6..14c0d17f 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1705356404, - "narHash": "sha256-0/WnHU5S9GXOJD2HGe/mFNmGGE+8UGnhwofsyJQVoDA=", + "lastModified": 1705833550, + "narHash": "sha256-CyzbM1mw5xUG4rV5G6FIRM44EvdOgRdWR3joqswyuIU=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "44a6ec1faeff61a6404c25ef1a263fc2d98d081b", + "rev": "91c19ab206b4b8af72f3f34a947969964ad45908", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1705363208, - "narHash": "sha256-60LQ2ttMtR02pEZbYNYOACSyJ9Lftq1/J8NZ7niQwYI=", + "lastModified": 1705880578, + "narHash": "sha256-y3kp6N82eOT7HsBLT84TVps8RPA0XSRK9fWkUuPfT2g=", "owner": "neovim", "repo": "neovim", - "rev": "73e1942abe7a96d63ce3749af4187f2cdff87e69", + "rev": "4d4092ac9e98f04ae949c605aa6e2b55ca605a1f", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1705364033, - "narHash": "sha256-+dI40XOyR2Eh2VpVOXyRCuhzw0IKZITsHlnuyCoQ9BQ=", + "lastModified": 1705881839, + "narHash": "sha256-SqyAn/X7HpDNFPv3TMkFprUfkzrjTPhjPWJ7ObC8PvM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "9fda35eaebeb3a6502279337aad1830eac39a5c4", + "rev": "45e929aad54296c766685b8eb0ebfc051b49acc3", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705303754, - "narHash": "sha256-loWkd7lUzSvGBU9xnva37iPB2rr5ulq1qBLT44KjzGA=", + "lastModified": 1705697961, + "narHash": "sha256-XepT3WS516evSFYkme3GrcI3+7uwXHqtHbip+t24J7E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e0629618b4b419a47e2c8a3cab223e2a7f3a8f97", + "rev": "e5d1c87f5813afde2dda384ac807c57a105721cc", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1705133751, - "narHash": "sha256-rCIsyE80jgiOU78gCWN3A0wE0tR2GI5nH6MlS+HaaSQ=", + "lastModified": 1705677747, + "narHash": "sha256-eyM3okYtMgYDgmYukoUzrmuoY4xl4FUujnsv/P6I/zI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9b19f5e77dd906cb52dade0b7bd280339d2a1f3d", + "rev": "bbe7d8f876fbbe7c959c90ba2ae2852220573261", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1705388041, - "narHash": "sha256-cUMNm50nMPxDum03IQwkYhvzVflZFIiWk+Um4lxKs0Q=", + "lastModified": 1705896442, + "narHash": "sha256-ex7B7+C8DBwgqStxJvu8XmWTXZhSbRV4eLnAIO6XGso=", "owner": "nix-community", "repo": "NUR", - "rev": "67bde509383c2db1c1e9a3906f3b78234e2edf7b", + "rev": "d1821b6a0206e931d42c22da4654162abebcf4d9", "type": "github" }, "original": { From e329ea701dd4127218f60b8cdfadbc1d1d448211 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 25 Jan 2024 13:36:39 +0100 Subject: [PATCH 1703/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/91c19ab206b4b8af72f3f34a947969964ad45908' (2024-01-21) → 'github:lnl7/nix-darwin/1e706ef323de76236eb183d7784f3bd57255ec0b' (2024-01-22) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/45e929aad54296c766685b8eb0ebfc051b49acc3' (2024-01-22) → 'github:nix-community/neovim-nightly-overlay/1da2e054a16309d7d7f7669438c8b9a5ef1b4642' (2024-01-25) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/4d4092ac9e98f04ae949c605aa6e2b55ca605a1f?dir=contrib' (2024-01-21) → 'github:neovim/neovim/4e59422e1d4950a3042bad41a7b81c8db4f8b648?dir=contrib' (2024-01-24) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/e5d1c87f5813afde2dda384ac807c57a105721cc' (2024-01-19) → 'github:NixOS/nixpkgs/b43bb235efeab5324c5e486882ef46749188eee2' (2024-01-23) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/bbe7d8f876fbbe7c959c90ba2ae2852220573261' (2024-01-19) → 'github:nixos/nixpkgs/612f97239e2cc474c13c9dafa0df378058c5ad8d' (2024-01-21) • Updated input 'nur': 'github:nix-community/NUR/d1821b6a0206e931d42c22da4654162abebcf4d9' (2024-01-22) → 'github:nix-community/NUR/20f64c7125413fc19372f11b45db99363bea7c1f' (2024-01-25) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 14c0d17f..8e0df3ee 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1705833550, - "narHash": "sha256-CyzbM1mw5xUG4rV5G6FIRM44EvdOgRdWR3joqswyuIU=", + "lastModified": 1705915768, + "narHash": "sha256-+Jlz8OAqkOwJlioac9wtpsCnjgGYUhvLpgJR/5tP9po=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "91c19ab206b4b8af72f3f34a947969964ad45908", + "rev": "1e706ef323de76236eb183d7784f3bd57255ec0b", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1705880578, - "narHash": "sha256-y3kp6N82eOT7HsBLT84TVps8RPA0XSRK9fWkUuPfT2g=", + "lastModified": 1706140641, + "narHash": "sha256-H1qHhkf7sF7yrG2rb9Ks1Y4EtLY3cXGp16KCGveJWY4=", "owner": "neovim", "repo": "neovim", - "rev": "4d4092ac9e98f04ae949c605aa6e2b55ca605a1f", + "rev": "4e59422e1d4950a3042bad41a7b81c8db4f8b648", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1705881839, - "narHash": "sha256-SqyAn/X7HpDNFPv3TMkFprUfkzrjTPhjPWJ7ObC8PvM=", + "lastModified": 1706141075, + "narHash": "sha256-o66/XFTXmcJSpEcO508V5r765HtgT8qtr+H4LRIB9BY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "45e929aad54296c766685b8eb0ebfc051b49acc3", + "rev": "1da2e054a16309d7d7f7669438c8b9a5ef1b4642", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705697961, - "narHash": "sha256-XepT3WS516evSFYkme3GrcI3+7uwXHqtHbip+t24J7E=", + "lastModified": 1706006310, + "narHash": "sha256-nDPz0fj0IFcDhSTlXBU2aixcnGs2Jm4Zcuoj0QtmiXQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e5d1c87f5813afde2dda384ac807c57a105721cc", + "rev": "b43bb235efeab5324c5e486882ef46749188eee2", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1705677747, - "narHash": "sha256-eyM3okYtMgYDgmYukoUzrmuoY4xl4FUujnsv/P6I/zI=", + "lastModified": 1705856552, + "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bbe7d8f876fbbe7c959c90ba2ae2852220573261", + "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1705896442, - "narHash": "sha256-ex7B7+C8DBwgqStxJvu8XmWTXZhSbRV4eLnAIO6XGso=", + "lastModified": 1706174248, + "narHash": "sha256-VNN7md+kJhBvl5bINEXybSG4jHavrQIlXdywpcaEEwc=", "owner": "nix-community", "repo": "NUR", - "rev": "d1821b6a0206e931d42c22da4654162abebcf4d9", + "rev": "20f64c7125413fc19372f11b45db99363bea7c1f", "type": "github" }, "original": { From 690f909ef852170d6fbe66c1e6c3c0827ada95e7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 25 Jan 2024 13:54:54 +0100 Subject: [PATCH 1704/2080] lazyvim: switch back to upstream cmp-lbdb as my PR got merged. --- lazyvim/nvim/lua/plugins/coding.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 52bd8ba6..e589aa53 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -156,9 +156,7 @@ return { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji", - -- Use forked version due to https://github.com/codybuell/cmp-lbdb/pull/3/ - -- { "codybuell/cmp-lbdb", lazy = true, ft = "mail" }, - { "gwarf/cmp-lbdb", branch = "fix_nil_meta_raw", lazy = true, ft = "mail" }, + { "codybuell/cmp-lbdb", lazy = true, ft = "mail" }, { "hrsh7th/cmp-nvim-lua" }, { "hrsh7th/cmp-cmdline" }, }, From 455a1b58d1c68d9e938d87c2572f21a3fe385838 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 25 Jan 2024 13:56:36 +0100 Subject: [PATCH 1705/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 88 ++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 929ebc5a..52da29a5 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,92 +1,92 @@ { - "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, - "LuaSnip": { "branch": "master", "commit": "2f0db89fcb22d27b908b3609d2441c02798106ab" }, - "SchemaStore.nvim": { "branch": "main", "commit": "958d16c554a4a7dba8332707cded68f791b75d89" }, - "bufferline.nvim": { "branch": "main", "commit": "e48ce1805697e4bb97bc171c081e849a65859244" }, - "catppuccin": { "branch": "main", "commit": "5e36ca599f4aa41bdd87fbf2c5aae4397ac55074" }, + "LazyVim": { "branch": "main", "commit": "c433ea7aa842c446edc2b1570998bf5440c68188" }, + "LuaSnip": { "branch": "master", "commit": "2dbef19461198630b3d7c39f414d09fb07d1fdd2" }, + "SchemaStore.nvim": { "branch": "main", "commit": "0550c6d5754dd2a183efc9c238f5524b68860e21" }, + "bufferline.nvim": { "branch": "main", "commit": "d6cb9b7cac52887bcac65f8698e67479553c0748" }, + "catppuccin": { "branch": "main", "commit": "bc1f2151f23227ba02ac203c2c59ad693352a741" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, - "cmp-lbdb": { "branch": "fix_nil_meta_raw", "commit": "603b9dcc4d63272233fb4143b058272f2edd81c2" }, + "cmp-lbdb": { "branch": "master", "commit": "3e7a816c16dd4045c3434ee9ad79de3417f6dbe7" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "0e61fc88f725b4411e63b43470a397c6102534c7" }, + "conform.nvim": { "branch": "master", "commit": "d99b75b4aedf0e912f41c5740a7267de739cddac" }, "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, - "dressing.nvim": { "branch": "master", "commit": "94b0d24483d56f3777ee0c8dc51675f21709318c" }, - "edgy.nvim": { "branch": "main", "commit": "8355be45610afdf79a0bab32b91ee297997455b4" }, + "dressing.nvim": { "branch": "master", "commit": "42d767b04c50a6966c9633e3968bc65c0c2f2bfc" }, + "edgy.nvim": { "branch": "main", "commit": "0b35dc6da4cae6cc2f724bc610eadf955cd2319b" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, - "friendly-snippets": { "branch": "main", "commit": "69a2c1675b66e002799f5eef803b87a12f593049" }, - "gitsigns.nvim": { "branch": "main", "commit": "3e6e91b09f0468c32d3b96dcacf4b947f037ce25" }, - "gx.nvim": { "branch": "main", "commit": "38d776a0b35b9daee5020bf3336564571dc785af" }, + "friendly-snippets": { "branch": "main", "commit": "aced40b66b7bae9bc2c37fd7b11841d54727a7b0" }, + "gitsigns.nvim": { "branch": "main", "commit": "300a306da9973e81c2c06460f71fd7a079df1f36" }, + "gx.nvim": { "branch": "main", "commit": "eba0eef8143060428c9baf9b14bda6f76b5547b3" }, "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, "inc-rename.nvim": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" }, - "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, - "indent-blankline.nvim": { "branch": "master", "commit": "3c8a185da4b8ab7aef487219f5e001b11d4b6aaf" }, - "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, + "incline.nvim": { "branch": "main", "commit": "84344c45a0b9b42e294a97966164bca379c86f4c" }, + "indent-blankline.nvim": { "branch": "master", "commit": "12e92044d313c54c438bd786d11684c88f6f78cd" }, + "lazy.nvim": { "branch": "main", "commit": "28126922c9b54e35a192ac415788f202c3944c9f" }, "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, - "lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" }, + "lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "0989bdf4fdf7b5aa4c74131d7ffccc3f399ac788" }, - "mason.nvim": { "branch": "main", "commit": "e110bc3be1a7309617cecd77bfe4bf86ba1b8134" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "b9084b1f42f790d6230dc66dbcb6bcc35b148552" }, + "mason.nvim": { "branch": "main", "commit": "9c9416817c9f4e6f333c749327a1ed5355cfab61" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "f7787cff9cc42004f722ca1e64e6af4e64e34177" }, + "mini.ai": { "branch": "main", "commit": "13a9074677e725e9ed230f860126db624b690dfc" }, "mini.animate": { "branch": "main", "commit": "6cec625114007527ff8a82316dba858046f9746f" }, "mini.bracketed": { "branch": "main", "commit": "f1aa8e5b3dd48e27576a3e1f70a8f10e9538f756" }, "mini.bufremove": { "branch": "main", "commit": "020243bfed8c8b941f2c20626faf3ea39c0c0e1b" }, "mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" }, "mini.indentscope": { "branch": "main", "commit": "5a8369475cd7cd6f207a4d288406d03b0fc48bdb" }, "mini.pairs": { "branch": "main", "commit": "552062017ff207e1f35f7028bfb3f27c7421d22d" }, - "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" }, - "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "be8d4d4cab6c13c6a572269c9d6a63774baba9a0" }, + "mini.surround": { "branch": "main", "commit": "3c98c6be8028139a114081e06d2a9f1ac3f4b7fc" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "2f2d08894bbc679d4d181604c16bb7079f646384" }, + "neoconf.nvim": { "branch": "main", "commit": "cfc29315288515849aa54c05828d49f01f033b66" }, + "neodev.nvim": { "branch": "main", "commit": "3408a4daeca5ff8f41cb2c668b6d8fcc665f793a" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neorg": { "branch": "main", "commit": "5432be2500f52d32a0a5a63ee4557ce592a6aecf" }, + "neorg": { "branch": "main", "commit": "28cbafbc0cde316d8e2618ff26377200225e9393" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, - "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, + "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, "nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" }, "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-lint": { "branch": "master", "commit": "8df53b5dde8ea80f0a039775777eae6648a10229" }, - "nvim-lspconfig": { "branch": "master", "commit": "796394fd19fb878e8dbc4fd1e9c9c186ed07a5f4" }, - "nvim-notify": { "branch": "master", "commit": "1576123bff3bed67bc673a3076e591abfe5d8ca9" }, + "nvim-lint": { "branch": "master", "commit": "8e5920f9ce9f24c283a2e64be5fe58d1d37d1744" }, + "nvim-lspconfig": { "branch": "master", "commit": "8917d2c830e04bf944a699b8c41f097621283828" }, + "nvim-notify": { "branch": "master", "commit": "80b67b265530632505193553d05127ae7fe09ddd" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc" }, "nvim-spider": { "branch": "main", "commit": "dc371a116041c49ae6d3813f6e1722c2dcdabdcf" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "8cd2b230174efbf7b5d9f49fe2f90bda6b5eb16e" }, - "nvim-treesitter-context": { "branch": "master", "commit": "652ec514d6ba8bc4a3c2de76c855fe668e2c7196" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "85b9d0cbd4ff901abcda862b50dbb34e0901848b" }, - "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, + "nvim-treesitter": { "branch": "master", "commit": "cc908cfcd7258b2e5c1a9c583e2f3feda0caf23b" }, + "nvim-treesitter-context": { "branch": "master", "commit": "2972717355a18d5599e9162f48d6e3e584068bf9" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "19a91a38b02c1c28c14e0ba468d20ae1423c39b2" }, + "nvim-ts-autotag": { "branch": "main", "commit": "a65b202cfd08e0e69e531eab737205ff5bc082a4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, - "nvim-ufo": { "branch": "main", "commit": "c6d88523f574024b788f1c3400c5d5b9bb1a0407" }, - "nvim-web-devicons": { "branch": "master", "commit": "db0c864375c198cacc171ff373e76bfce2a85045" }, - "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, - "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, + "nvim-ufo": { "branch": "main", "commit": "b0741a647efd98d9abb6cb653e056d24a07e4581" }, + "nvim-web-devicons": { "branch": "master", "commit": "b427ac5f9dff494f839e81441fb3f04a58cbcfbc" }, + "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, + "plenary.nvim": { "branch": "master", "commit": "663246936325062427597964d81d30eaa42ab1e4" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6" }, - "refactoring.nvim": { "branch": "master", "commit": "28c5a33a0c489eb559396d9424b042ccfdb03b14" }, + "refactoring.nvim": { "branch": "master", "commit": "f4546284059f7dc01f65be93d03f6c850fd2aba1" }, "semshi": { "branch": "master", "commit": "0182447e2ff4dfa04cd2dfe5f189e012c581ca45" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, - "styler.nvim": { "branch": "main", "commit": "d5b7e43af4fdaa06e4175c84f4f57b633ae7e6ff" }, + "styler.nvim": { "branch": "main", "commit": "2cd29996d08cec8b31270c6de64465f716ef9d71" }, "symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "87e92ea31b2b61d45ad044cf7b2d9b66dad2a618" }, - "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, - "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, - "tree-sitter-hypr": { "branch": "master", "commit": "9bd008f08ffbfb94146ce9d4f31002de66f0e627" }, + "telescope.nvim": { "branch": "master", "commit": "1bfbb1fb5c56d2dbe33216fcb2ebe82e499aa06c" }, + "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, + "tokyonight.nvim": { "branch": "main", "commit": "e3301873c1e96903daebb98cc9b5926810bf73dd" }, + "tree-sitter-hyprlang": { "branch": "master", "commit": "e60fc858e6327a15c0b26f99ec96945fecd1e4ee" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "79709f8ad99ac2082d99a713985f3da0c924f4a2" }, + "venv-selector.nvim": { "branch": "main", "commit": "fcb30164f2c4f8a34a305ead3247954a1fd8634f" }, "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-matchup": { "branch": "master", "commit": "e2cca1747ab175b8d839a5d28679427564643a57" }, - "vim-nix": { "branch": "master", "commit": "1e8d3cc4d74f40fb384cd1739739543fe117ff61" }, + "vim-nix": { "branch": "master", "commit": "048c71f1ed2c679cd55acd2c807c2c96aea82e65" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, From 448d3100840d94b50b10593b9068ea8d6c489d4b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 26 Jan 2024 09:10:47 +0100 Subject: [PATCH 1706/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/20f64c7125413fc19372f11b45db99363bea7c1f' (2024-01-25) → 'github:nix-community/NUR/1e00872abadba03e57c74975b05527e418620986' (2024-01-26) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 8e0df3ee..4f844d4d 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1706174248, - "narHash": "sha256-VNN7md+kJhBvl5bINEXybSG4jHavrQIlXdywpcaEEwc=", + "lastModified": 1706251467, + "narHash": "sha256-uR6TEvf0PNFgIKLTImc4mt00qS7H5op9r7B++vdj2Io=", "owner": "nix-community", "repo": "NUR", - "rev": "20f64c7125413fc19372f11b45db99363bea7c1f", + "rev": "1e00872abadba03e57c74975b05527e418620986", "type": "github" }, "original": { From 5fd0806f19c460c03ea4f2be05290dd68e423a8b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jan 2024 09:30:15 +0100 Subject: [PATCH 1707/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/1e706ef323de76236eb183d7784f3bd57255ec0b' (2024-01-22) → 'github:lnl7/nix-darwin/00538eecf2d1a8f98a53a71c9c84f913003ec5e8' (2024-01-29) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/612f97239e2cc474c13c9dafa0df378058c5ad8d' (2024-01-21) → 'github:nixos/nixpkgs/ae5c332cbb5827f6b1f02572496b141021de335f' (2024-01-25) • Updated input 'nur': 'github:nix-community/NUR/1e00872abadba03e57c74975b05527e418620986' (2024-01-26) → 'github:nix-community/NUR/0416c8902949ad6fcfe91af8d9f9efa66bce8bef' (2024-01-29) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 4f844d4d..3ff0f09a 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1705915768, - "narHash": "sha256-+Jlz8OAqkOwJlioac9wtpsCnjgGYUhvLpgJR/5tP9po=", + "lastModified": 1706497381, + "narHash": "sha256-VzzLBvm4ejehe42yKlCUjG3op3NLXq78MKS8u/W3NLQ=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "1e706ef323de76236eb183d7784f3bd57255ec0b", + "rev": "00538eecf2d1a8f98a53a71c9c84f913003ec5e8", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1705856552, - "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", + "lastModified": 1706191920, + "narHash": "sha256-eLihrZAPZX0R6RyM5fYAWeKVNuQPYjAkCUBr+JNvtdE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", + "rev": "ae5c332cbb5827f6b1f02572496b141021de335f", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1706251467, - "narHash": "sha256-uR6TEvf0PNFgIKLTImc4mt00qS7H5op9r7B++vdj2Io=", + "lastModified": 1706515086, + "narHash": "sha256-tjWRh6hv2kNGFRV8ESjg3TZDuA6B4Ls1fnru5z89SNA=", "owner": "nix-community", "repo": "NUR", - "rev": "1e00872abadba03e57c74975b05527e418620986", + "rev": "0416c8902949ad6fcfe91af8d9f9efa66bce8bef", "type": "github" }, "original": { From c8a897230869e9c0ae79136e1c059352f418d382 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jan 2024 11:23:16 +0100 Subject: [PATCH 1708/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/0416c8902949ad6fcfe91af8d9f9efa66bce8bef' (2024-01-29) → 'github:nix-community/NUR/aad9d1d5df0ba43a33b2b931ea11a7d98fb11927' (2024-01-29) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 3ff0f09a..1aebf5c9 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1706515086, - "narHash": "sha256-tjWRh6hv2kNGFRV8ESjg3TZDuA6B4Ls1fnru5z89SNA=", + "lastModified": 1706519669, + "narHash": "sha256-THY4ByWR7FWNp+egOXq9Gg6Kd6rwcjQ3TubeBTJaVOM=", "owner": "nix-community", "repo": "NUR", - "rev": "0416c8902949ad6fcfe91af8d9f9efa66bce8bef", + "rev": "aad9d1d5df0ba43a33b2b931ea11a7d98fb11927", "type": "github" }, "original": { From ebdcdc18e291ba3c4e1471970b70205368a868a8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 30 Jan 2024 09:49:33 +0100 Subject: [PATCH 1709/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/00538eecf2d1a8f98a53a71c9c84f913003ec5e8' (2024-01-29) → 'github:lnl7/nix-darwin/91b9daf672c957ef95a05491a75f62e6a01d5aaf' (2024-01-30) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/ae5c332cbb5827f6b1f02572496b141021de335f' (2024-01-25) → 'github:nixos/nixpkgs/c002c6aa977ad22c60398daaa9be52f2203d0006' (2024-01-27) • Updated input 'nur': 'github:nix-community/NUR/aad9d1d5df0ba43a33b2b931ea11a7d98fb11927' (2024-01-29) → 'github:nix-community/NUR/6ece651b79e370a0f872c0c9628b84a790d73f88' (2024-01-30) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 1aebf5c9..3495bcc1 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1706497381, - "narHash": "sha256-VzzLBvm4ejehe42yKlCUjG3op3NLXq78MKS8u/W3NLQ=", + "lastModified": 1706581965, + "narHash": "sha256-1H7dRdK9LJ7+2X1XQtbwXr+QMqtVVo/ZF0/LIvkjdK8=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "00538eecf2d1a8f98a53a71c9c84f913003ec5e8", + "rev": "91b9daf672c957ef95a05491a75f62e6a01d5aaf", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1706191920, - "narHash": "sha256-eLihrZAPZX0R6RyM5fYAWeKVNuQPYjAkCUBr+JNvtdE=", + "lastModified": 1706371002, + "narHash": "sha256-dwuorKimqSYgyu8Cw6ncKhyQjUDOyuXoxDTVmAXq88s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ae5c332cbb5827f6b1f02572496b141021de335f", + "rev": "c002c6aa977ad22c60398daaa9be52f2203d0006", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1706519669, - "narHash": "sha256-THY4ByWR7FWNp+egOXq9Gg6Kd6rwcjQ3TubeBTJaVOM=", + "lastModified": 1706600668, + "narHash": "sha256-AlTzxgQ4noQ6VQbbqSx4Q/IMLCukRi3A95O20tW4EmQ=", "owner": "nix-community", "repo": "NUR", - "rev": "aad9d1d5df0ba43a33b2b931ea11a7d98fb11927", + "rev": "6ece651b79e370a0f872c0c9628b84a790d73f88", "type": "github" }, "original": { From 9b11564c854a81b3b57dc6dc44b18ac7fd10967b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 31 Jan 2024 13:00:36 +0100 Subject: [PATCH 1710/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/c002c6aa977ad22c60398daaa9be52f2203d0006' (2024-01-27) → 'github:nixos/nixpkgs/97b17f32362e475016f942bbdfda4a4a72a8a652' (2024-01-29) • Updated input 'nur': 'github:nix-community/NUR/6ece651b79e370a0f872c0c9628b84a790d73f88' (2024-01-30) → 'github:nix-community/NUR/9be129c15b400bae1ba97abc14d62c718c660fc2' (2024-01-31) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 3495bcc1..f2b98029 100644 --- a/flake.lock +++ b/flake.lock @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1706371002, - "narHash": "sha256-dwuorKimqSYgyu8Cw6ncKhyQjUDOyuXoxDTVmAXq88s=", + "lastModified": 1706550542, + "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c002c6aa977ad22c60398daaa9be52f2203d0006", + "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1706600668, - "narHash": "sha256-AlTzxgQ4noQ6VQbbqSx4Q/IMLCukRi3A95O20tW4EmQ=", + "lastModified": 1706702331, + "narHash": "sha256-ajFdyILjnwe69HEiI2EFVC10o8xzJhJfQsK7p3lEs+I=", "owner": "nix-community", "repo": "NUR", - "rev": "6ece651b79e370a0f872c0c9628b84a790d73f88", + "rev": "9be129c15b400bae1ba97abc14d62c718c660fc2", "type": "github" }, "original": { From 6311cfab1563df84386000040efed9a03679dbd0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 31 Jan 2024 14:35:50 +0100 Subject: [PATCH 1711/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/9be129c15b400bae1ba97abc14d62c718c660fc2' (2024-01-31) → 'github:nix-community/NUR/c462af68ad7740ed50079d2b6be2dadfaf0e211c' (2024-01-31) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index f2b98029..6509ed80 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1706702331, - "narHash": "sha256-ajFdyILjnwe69HEiI2EFVC10o8xzJhJfQsK7p3lEs+I=", + "lastModified": 1706702864, + "narHash": "sha256-KEPCWJFaaUUnU92C36QMlXYHqTrBnh687ctwgsSSsSA=", "owner": "nix-community", "repo": "NUR", - "rev": "9be129c15b400bae1ba97abc14d62c718c660fc2", + "rev": "c462af68ad7740ed50079d2b6be2dadfaf0e211c", "type": "github" }, "original": { From 64bf86c25cff1c287db2835122c5ea169ddd657a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 1 Feb 2024 17:03:53 +0100 Subject: [PATCH 1712/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/c462af68ad7740ed50079d2b6be2dadfaf0e211c' (2024-01-31) → 'github:nix-community/NUR/c0285ab2aea80da369c0d2f56ebdbcd95fce9f9a' (2024-02-01) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 6509ed80..9cf32079 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1706702864, - "narHash": "sha256-KEPCWJFaaUUnU92C36QMlXYHqTrBnh687ctwgsSSsSA=", + "lastModified": 1706803130, + "narHash": "sha256-BDemrVSiKE0aWGwAa2R0/S9XjfyxlR5oDlYv9XKsk2Y=", "owner": "nix-community", "repo": "NUR", - "rev": "c462af68ad7740ed50079d2b6be2dadfaf0e211c", + "rev": "c0285ab2aea80da369c0d2f56ebdbcd95fce9f9a", "type": "github" }, "original": { From ef48b66dcda573e69ae37a11d4b55e8f3651d020 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 2 Feb 2024 09:49:28 +0100 Subject: [PATCH 1713/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/91b9daf672c957ef95a05491a75f62e6a01d5aaf' (2024-01-30) → 'github:lnl7/nix-darwin/bdbae6ecff8fcc322bf6b9053c0b984912378af7' (2024-02-02) • Updated input 'nur': 'github:nix-community/NUR/c0285ab2aea80da369c0d2f56ebdbcd95fce9f9a' (2024-02-01) → 'github:nix-community/NUR/bfb80b4b69abcdab9f09e83637fb88de3c5c890c' (2024-02-02) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9cf32079..1a76ef63 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1706581965, - "narHash": "sha256-1H7dRdK9LJ7+2X1XQtbwXr+QMqtVVo/ZF0/LIvkjdK8=", + "lastModified": 1706833576, + "narHash": "sha256-w7BL0EWRts+nD1lbLECIuz6fRzmmV+z8oWwoY7womR0=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "91b9daf672c957ef95a05491a75f62e6a01d5aaf", + "rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1706803130, - "narHash": "sha256-BDemrVSiKE0aWGwAa2R0/S9XjfyxlR5oDlYv9XKsk2Y=", + "lastModified": 1706863127, + "narHash": "sha256-GYAHiJ6Q/aJKJt2UbPh5/l+Zpmj+ofjckmGcMl/6t2w=", "owner": "nix-community", "repo": "NUR", - "rev": "c0285ab2aea80da369c0d2f56ebdbcd95fce9f9a", + "rev": "bfb80b4b69abcdab9f09e83637fb88de3c5c890c", "type": "github" }, "original": { From 09c0ebd290e1e30257c319ee984ffdf4d5807bd9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 5 Feb 2024 09:40:43 +0100 Subject: [PATCH 1714/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/97b17f32362e475016f942bbdfda4a4a72a8a652' (2024-01-29) → 'github:nixos/nixpkgs/e92b6015881907e698782c77641aa49298330223' (2024-02-02) • Updated input 'nur': 'github:nix-community/NUR/bfb80b4b69abcdab9f09e83637fb88de3c5c890c' (2024-02-02) → 'github:nix-community/NUR/7da4a8a9a76d5b62aba41fe9063341829f7e5707' (2024-02-05) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 1a76ef63..7f438688 100644 --- a/flake.lock +++ b/flake.lock @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "lastModified": 1706913249, + "narHash": "sha256-x3M7iV++CsvRXI1fpyFPduGELUckZEhSv0XWnUopAG8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "rev": "e92b6015881907e698782c77641aa49298330223", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1706863127, - "narHash": "sha256-GYAHiJ6Q/aJKJt2UbPh5/l+Zpmj+ofjckmGcMl/6t2w=", + "lastModified": 1707121924, + "narHash": "sha256-eeFSNid3MuGouOM3OgxtiZEtxOpX0Ckln80AhTk93Yo=", "owner": "nix-community", "repo": "NUR", - "rev": "bfb80b4b69abcdab9f09e83637fb88de3c5c890c", + "rev": "7da4a8a9a76d5b62aba41fe9063341829f7e5707", "type": "github" }, "original": { From b9ac843c68da035fe777837c8c28203e4ecc3f67 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Feb 2024 09:59:04 +0100 Subject: [PATCH 1715/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 74 ++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 52da29a5..d795409e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,91 +1,91 @@ { "LazyVim": { "branch": "main", "commit": "c433ea7aa842c446edc2b1570998bf5440c68188" }, "LuaSnip": { "branch": "master", "commit": "2dbef19461198630b3d7c39f414d09fb07d1fdd2" }, - "SchemaStore.nvim": { "branch": "main", "commit": "0550c6d5754dd2a183efc9c238f5524b68860e21" }, - "bufferline.nvim": { "branch": "main", "commit": "d6cb9b7cac52887bcac65f8698e67479553c0748" }, - "catppuccin": { "branch": "main", "commit": "bc1f2151f23227ba02ac203c2c59ad693352a741" }, + "SchemaStore.nvim": { "branch": "main", "commit": "17de2914bad410d391f184bb14f2a7327777ca38" }, + "bufferline.nvim": { "branch": "main", "commit": "b15c6daf5a64426c69732b31a951f4e438cb6590" }, + "catppuccin": { "branch": "main", "commit": "c2034f7b549152e5cc757820426341ea5000bc7a" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, - "cmp-lbdb": { "branch": "master", "commit": "3e7a816c16dd4045c3434ee9ad79de3417f6dbe7" }, + "cmp-lbdb": { "branch": "master", "commit": "a2f3c43c734165e64a9d413f15a2e0131e08b054" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "d99b75b4aedf0e912f41c5740a7267de739cddac" }, - "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, + "conform.nvim": { "branch": "master", "commit": "c0e0e80f0c233cb3a249f719a44324c660163a3f" }, + "dashboard-nvim": { "branch": "master", "commit": "c045eb24334324fb39ad5ede0b5d15a74a5d229e" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, - "dressing.nvim": { "branch": "master", "commit": "42d767b04c50a6966c9633e3968bc65c0c2f2bfc" }, + "dressing.nvim": { "branch": "master", "commit": "6f212262061a2120e42da0d1e87326e8a41c0478" }, "edgy.nvim": { "branch": "main", "commit": "0b35dc6da4cae6cc2f724bc610eadf955cd2319b" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, - "friendly-snippets": { "branch": "main", "commit": "aced40b66b7bae9bc2c37fd7b11841d54727a7b0" }, - "gitsigns.nvim": { "branch": "main", "commit": "300a306da9973e81c2c06460f71fd7a079df1f36" }, - "gx.nvim": { "branch": "main", "commit": "eba0eef8143060428c9baf9b14bda6f76b5547b3" }, + "friendly-snippets": { "branch": "main", "commit": "b8fae73a479ae0a1c54f5c98fa687ae8a0addc53" }, + "gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, + "gx.nvim": { "branch": "main", "commit": "78070bbd8e7e15a1623cdd6832a9529d2ee63e0c" }, "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, "inc-rename.nvim": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" }, - "incline.nvim": { "branch": "main", "commit": "84344c45a0b9b42e294a97966164bca379c86f4c" }, + "incline.nvim": { "branch": "main", "commit": "e3a1b3c87a98c0dbdeb63ca9a17003127f600d7e" }, "indent-blankline.nvim": { "branch": "master", "commit": "12e92044d313c54c438bd786d11684c88f6f78cd" }, "lazy.nvim": { "branch": "main", "commit": "28126922c9b54e35a192ac415788f202c3944c9f" }, - "ltex_extra.nvim": { "branch": "master", "commit": "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13" }, + "ltex_extra.nvim": { "branch": "master", "commit": "42dd3572cb09b52a137e91e515f2dff5eb631b1e" }, "lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "b9084b1f42f790d6230dc66dbcb6bcc35b148552" }, - "mason.nvim": { "branch": "main", "commit": "9c9416817c9f4e6f333c749327a1ed5355cfab61" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "0954d7730e749d606ddf8d7ae8846848be435d53" }, + "mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "13a9074677e725e9ed230f860126db624b690dfc" }, + "mini.ai": { "branch": "main", "commit": "3ad9d455a91b8bf3c24d4e50518d9a6b9dddb42c" }, "mini.animate": { "branch": "main", "commit": "6cec625114007527ff8a82316dba858046f9746f" }, "mini.bracketed": { "branch": "main", "commit": "f1aa8e5b3dd48e27576a3e1f70a8f10e9538f756" }, "mini.bufremove": { "branch": "main", "commit": "020243bfed8c8b941f2c20626faf3ea39c0c0e1b" }, - "mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" }, - "mini.indentscope": { "branch": "main", "commit": "5a8369475cd7cd6f207a4d288406d03b0fc48bdb" }, + "mini.comment": { "branch": "main", "commit": "b0b359ada4293cdcea7ab4072dfd5b031aac3f8e" }, + "mini.indentscope": { "branch": "main", "commit": "ca129b71edb672d30b8d7ec3138106db1b1f6a8b" }, "mini.pairs": { "branch": "main", "commit": "552062017ff207e1f35f7028bfb3f27c7421d22d" }, - "mini.surround": { "branch": "main", "commit": "3c98c6be8028139a114081e06d2a9f1ac3f4b7fc" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "2f2d08894bbc679d4d181604c16bb7079f646384" }, - "neoconf.nvim": { "branch": "main", "commit": "cfc29315288515849aa54c05828d49f01f033b66" }, - "neodev.nvim": { "branch": "main", "commit": "3408a4daeca5ff8f41cb2c668b6d8fcc665f793a" }, + "mini.surround": { "branch": "main", "commit": "5ceb6a12d3761bc719fbdad5432c89333deb1498" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "e578fe7a5832421b0d2c5b3c0a7a1e40e0f6a47a" }, + "neoconf.nvim": { "branch": "main", "commit": "435d70c1bc5a5bd21ecb98163baa8262480c4019" }, + "neodev.nvim": { "branch": "main", "commit": "0ee95ecefc8ea45898a0383364f736e098c8703f" }, "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neorg": { "branch": "main", "commit": "28cbafbc0cde316d8e2618ff26377200225e9393" }, + "neorg": { "branch": "main", "commit": "7cf5382821f661aee958bcaf7bc4111c11e6863a" }, "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, "nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" }, - "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, + "nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-lint": { "branch": "master", "commit": "8e5920f9ce9f24c283a2e64be5fe58d1d37d1744" }, - "nvim-lspconfig": { "branch": "master", "commit": "8917d2c830e04bf944a699b8c41f097621283828" }, + "nvim-lint": { "branch": "master", "commit": "76af3422e3c82ea40adf9ade1ccf1dc1eb361789" }, + "nvim-lspconfig": { "branch": "master", "commit": "d12140c5687a1186b95b3f42dbc6cc769df0cf0d" }, "nvim-notify": { "branch": "master", "commit": "80b67b265530632505193553d05127ae7fe09ddd" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc" }, + "nvim-spectre": { "branch": "master", "commit": "81cb3999e5db37e97f6336b39c077aea5bb32062" }, "nvim-spider": { "branch": "main", "commit": "dc371a116041c49ae6d3813f6e1722c2dcdabdcf" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "cc908cfcd7258b2e5c1a9c583e2f3feda0caf23b" }, - "nvim-treesitter-context": { "branch": "master", "commit": "2972717355a18d5599e9162f48d6e3e584068bf9" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "19a91a38b02c1c28c14e0ba468d20ae1423c39b2" }, + "nvim-treesitter": { "branch": "master", "commit": "4fbf150a1621d52f17b099506e1a32f107079210" }, + "nvim-treesitter-context": { "branch": "master", "commit": "9c06b115abc57c99cf0aa81dc29490f5001f57a1" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "8edd5a6d96936bdff23333d3bc177481388839e5" }, "nvim-ts-autotag": { "branch": "main", "commit": "a65b202cfd08e0e69e531eab737205ff5bc082a4" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, "nvim-ufo": { "branch": "main", "commit": "b0741a647efd98d9abb6cb653e056d24a07e4581" }, - "nvim-web-devicons": { "branch": "master", "commit": "b427ac5f9dff494f839e81441fb3f04a58cbcfbc" }, + "nvim-web-devicons": { "branch": "master", "commit": "313d9e7193354c5de7cdb1724f9e2d3f442780b0" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, - "plenary.nvim": { "branch": "master", "commit": "663246936325062427597964d81d30eaa42ab1e4" }, + "plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6" }, - "refactoring.nvim": { "branch": "master", "commit": "f4546284059f7dc01f65be93d03f6c850fd2aba1" }, + "refactoring.nvim": { "branch": "master", "commit": "aff2e21e2f1a19d302adceb4e7d0fafbb3ae59a9" }, "semshi": { "branch": "master", "commit": "0182447e2ff4dfa04cd2dfe5f189e012c581ca45" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "2cd29996d08cec8b31270c6de64465f716ef9d71" }, "symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "1bfbb1fb5c56d2dbe33216fcb2ebe82e499aa06c" }, + "telescope.nvim": { "branch": "master", "commit": "236083884cfe6c874e03e6cb4e7cb08809c1333c" }, "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, - "tokyonight.nvim": { "branch": "main", "commit": "e3301873c1e96903daebb98cc9b5926810bf73dd" }, + "tokyonight.nvim": { "branch": "main", "commit": "610179f7f12db3d08540b6cc61434db2eaecbcff" }, "tree-sitter-hyprlang": { "branch": "master", "commit": "e60fc858e6327a15c0b26f99ec96945fecd1e4ee" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "fcb30164f2c4f8a34a305ead3247954a1fd8634f" }, - "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, - "vim-matchup": { "branch": "master", "commit": "e2cca1747ab175b8d839a5d28679427564643a57" }, + "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, + "vim-matchup": { "branch": "master", "commit": "7f81ae12542b2a35819f0324895df9bd8626c8ba" }, "vim-nix": { "branch": "master", "commit": "048c71f1ed2c679cd55acd2c807c2c96aea82e65" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, From 20be99cad94e7c9d8d9a81eeda3751a2a3beb517 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 6 Feb 2024 09:59:23 +0100 Subject: [PATCH 1716/2080] lazyvim: try to blacklist some addresses in lbdb. --- lazyvim/nvim/lua/plugins/coding.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index e589aa53..57d955fb 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -237,7 +237,7 @@ return { ---@diagnostic disable-next-line: missing-parameter sources = cmp.config.sources({ -- would be useful to be able to use this only when completing headers - { name = "lbdb" }, + { name = "lbdb", blacklist = { ".*noreply.*" } }, { name = "nvim_lsp" }, { name = "luasnip" }, { name = "path" }, From 30f019f07e816937c06ec49dd85b50d1332d12bd Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 12 Mar 2024 08:52:14 +0100 Subject: [PATCH 1717/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/bdbae6ecff8fcc322bf6b9053c0b984912378af7' (2024-02-02) → 'github:lnl7/nix-darwin/550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6' (2024-03-07) • Updated input 'home-manager': 'github:nix-community/home-manager/33110fb3c7fe6a94b98b641866a5eddb64b7c23f' (2023-12-10) → 'github:nix-community/home-manager/219f4bef6d22bc67cddefbba69aadb748d79c49d' (2024-03-04) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/1da2e054a16309d7d7f7669438c8b9a5ef1b4642' (2024-01-25) → 'github:nix-community/neovim-nightly-overlay/a6185e08ac09b6528b7120cd2886610eaffd68de' (2024-03-12) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/07f6395285469419cf9d078f59b5b49993198c00' (2024-01-11) → 'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/d5cbf433a6ae9cae05400189a8dbc6412a03ba16' (2023-12-31) → 'github:hercules-ci/hercules-ci-effects/0ca27bd58e4d5be3135a4bef66b582e57abe8f4a' (2024-02-21) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/4e59422e1d4950a3042bad41a7b81c8db4f8b648?dir=contrib' (2024-01-24) → 'github:neovim/neovim/b02a4d8ac39bafdbfd490bfbab35e3202e6f709c?dir=contrib' (2024-03-11) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/b43bb235efeab5324c5e486882ef46749188eee2' (2024-01-23) → 'github:NixOS/nixpkgs/0fbcc4b2e8571f4af39be41752581ea09dd9ab06' (2024-03-11) • Updated input 'nix2lua': 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=32b5ab313597df18a81a85af67c5e1380fd4f688' (2022-11-22) → 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=e42d73e3ff8250c5c35e1d398ac7076ce682b9d3' (2024-02-28) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e92b6015881907e698782c77641aa49298330223' (2024-02-02) → 'github:nixos/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09) • Updated input 'nur': 'github:nix-community/NUR/7da4a8a9a76d5b62aba41fe9063341829f7e5707' (2024-02-05) → 'github:nix-community/NUR/f04e69a9b0db813470e493f77937a947906e0423' (2024-03-12) --- flake.lock | 62 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index 7f438688..0ac3928e 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1706833576, - "narHash": "sha256-w7BL0EWRts+nD1lbLECIuz6fRzmmV+z8oWwoY7womR0=", + "lastModified": 1709771483, + "narHash": "sha256-Hjzu9nCknHLQvhdaRFfCEprH0o15KcaNu1QDr3J88DI=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7", + "rev": "550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6", "type": "github" }, "original": { @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1704982712, - "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "07f6395285469419cf9d078f59b5b49993198c00", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1704029560, - "narHash": "sha256-a4Iu7x1OP+uSYpqadOu8VCPY+MPF3+f6KIi+MAxlgyw=", + "lastModified": 1708547820, + "narHash": "sha256-xU/KC1PWqq5zL9dQ9wYhcdgxAwdeF/dJCLPH3PNZEBg=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "d5cbf433a6ae9cae05400189a8dbc6412a03ba16", + "rev": "0ca27bd58e4d5be3135a4bef66b582e57abe8f4a", "type": "github" }, "original": { @@ -126,11 +126,11 @@ ] }, "locked": { - "lastModified": 1702195668, - "narHash": "sha256-Lxmjez0nfNBptdqV5GsXKm7Bb7swjGsrxiLxWJu0tL8=", + "lastModified": 1709578214, + "narHash": "sha256-jSCHB1+9eA0S2h7G8Aju8XARK0vbDuOR7uFFvCEsKhk=", "owner": "nix-community", "repo": "home-manager", - "rev": "33110fb3c7fe6a94b98b641866a5eddb64b7c23f", + "rev": "219f4bef6d22bc67cddefbba69aadb748d79c49d", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1706140641, - "narHash": "sha256-H1qHhkf7sF7yrG2rb9Ks1Y4EtLY3cXGp16KCGveJWY4=", + "lastModified": 1710199222, + "narHash": "sha256-iZ8v1gkzUVVI9t5BKHAxRHgMpUjJq/yJgB7VyCUMTag=", "owner": "neovim", "repo": "neovim", - "rev": "4e59422e1d4950a3042bad41a7b81c8db4f8b648", + "rev": "b02a4d8ac39bafdbfd490bfbab35e3202e6f709c", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1706141075, - "narHash": "sha256-o66/XFTXmcJSpEcO508V5r765HtgT8qtr+H4LRIB9BY=", + "lastModified": 1710201806, + "narHash": "sha256-ySFpQv1cVsm1uGr/cbtfvWht6Kszfy/aP3TjiLQ8h0w=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "1da2e054a16309d7d7f7669438c8b9a5ef1b4642", + "rev": "a6185e08ac09b6528b7120cd2886610eaffd68de", "type": "github" }, "original": { @@ -188,11 +188,11 @@ }, "nix2lua": { "locked": { - "lastModified": 1669103494, - "narHash": "sha256-jEu9VyOfTMbSITGiG329vEC6K7ZNppfhd0LojxMhzK8=", + "lastModified": 1709152847, + "narHash": "sha256-r399Qnybnv/fbU/AqU+Gq5sz5t5dt+7nS9edaTZQ2kU=", "ref": "refs/heads/main", - "rev": "32b5ab313597df18a81a85af67c5e1380fd4f688", - "revCount": 13, + "rev": "e42d73e3ff8250c5c35e1d398ac7076ce682b9d3", + "revCount": 19, "type": "git", "url": "https://git.pleshevski.ru/mynix/nix2lua" }, @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1706006310, - "narHash": "sha256-nDPz0fj0IFcDhSTlXBU2aixcnGs2Jm4Zcuoj0QtmiXQ=", + "lastModified": 1710159071, + "narHash": "sha256-CT0WKgcmlcWZPZL/sSSICN/Vbm4Of0ZDgxc0GFf6sYU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b43bb235efeab5324c5e486882ef46749188eee2", + "rev": "0fbcc4b2e8571f4af39be41752581ea09dd9ab06", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1706913249, - "narHash": "sha256-x3M7iV++CsvRXI1fpyFPduGELUckZEhSv0XWnUopAG8=", + "lastModified": 1709961763, + "narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e92b6015881907e698782c77641aa49298330223", + "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1707121924, - "narHash": "sha256-eeFSNid3MuGouOM3OgxtiZEtxOpX0Ckln80AhTk93Yo=", + "lastModified": 1710220345, + "narHash": "sha256-4fUAhLmToKgCVoIbd9c6wj0LLBtDypNAOKjkB3WWpfQ=", "owner": "nix-community", "repo": "NUR", - "rev": "7da4a8a9a76d5b62aba41fe9063341829f7e5707", + "rev": "f04e69a9b0db813470e493f77937a947906e0423", "type": "github" }, "original": { From d2e96612cb3ab67db1ccf32e8d7a42cca20bf072 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 12 Mar 2024 09:00:39 +0100 Subject: [PATCH 1718/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/f04e69a9b0db813470e493f77937a947906e0423' (2024-03-12) → 'github:nix-community/NUR/4bb4d7c96eb12e7d107737ed77576c119d99b73d' (2024-03-12) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 0ac3928e..d6c6332d 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1710220345, - "narHash": "sha256-4fUAhLmToKgCVoIbd9c6wj0LLBtDypNAOKjkB3WWpfQ=", + "lastModified": 1710230162, + "narHash": "sha256-LpJB6eSTqfzFuaCYFiXRzsQ5V/Ji7L7LTToHiCKTcwM=", "owner": "nix-community", "repo": "NUR", - "rev": "f04e69a9b0db813470e493f77937a947906e0423", + "rev": "4bb4d7c96eb12e7d107737ed77576c119d99b73d", "type": "github" }, "original": { From 42bb8a8287ce56984c5a19fd236d7b4b93a996b0 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 12 Mar 2024 09:05:22 +0100 Subject: [PATCH 1719/2080] Bump to 23.11 --- flake.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index 93d30cab..e3ea027b 100644 --- a/flake.nix +++ b/flake.nix @@ -4,9 +4,9 @@ inputs = { # Package sets - nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-23.05-darwin"; + nixpkgs-darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-23.11-darwin"; # macOS system configuration darwin = { @@ -16,7 +16,7 @@ # home-manager home-manager = { - url = "github:nix-community/home-manager/release-23.05"; + url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -31,7 +31,7 @@ outputs = { self, darwin, nixpkgs, nixpkgs-unstable, nixpkgs-darwin-stable, home-manager, ... }@inputs: let inherit (nixpkgs.lib) attrValues; - homeStateVersion = "23.05"; + homeStateVersion = "23.11"; # Configuration for `nixpkgs` nixpkgsConfig = { From ef1c3381a0c10c2dbfdd6a446ef926a9c7740f2d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 12 Mar 2024 09:05:31 +0100 Subject: [PATCH 1720/2080] Update lazyvim --- lazyvim/nvim/lazy-lock.json | 113 ++++++++++++++++++------------------ lazyvim/nvim/lazyvim.json | 4 +- 2 files changed, 59 insertions(+), 58 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index d795409e..daea2769 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,94 +1,95 @@ { - "LazyVim": { "branch": "main", "commit": "c433ea7aa842c446edc2b1570998bf5440c68188" }, - "LuaSnip": { "branch": "master", "commit": "2dbef19461198630b3d7c39f414d09fb07d1fdd2" }, - "SchemaStore.nvim": { "branch": "main", "commit": "17de2914bad410d391f184bb14f2a7327777ca38" }, - "bufferline.nvim": { "branch": "main", "commit": "b15c6daf5a64426c69732b31a951f4e438cb6590" }, - "catppuccin": { "branch": "main", "commit": "c2034f7b549152e5cc757820426341ea5000bc7a" }, + "LazyVim": { "branch": "main", "commit": "e3bfcb9bf74292dc846f5d1710fbb2e8f36a687a" }, + "LuaSnip": { "branch": "master", "commit": "df58ee1664cfda71479cd2bbd56114f56599eba6" }, + "SchemaStore.nvim": { "branch": "main", "commit": "b788bde023f9fbc2eb86e89d32c0bf98a60ae406" }, + "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, + "catppuccin": { "branch": "main", "commit": "045e3499d9ec8d84635fb08877ae44fd33f6a38d" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, - "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, + "cmp-emoji": { "branch": "main", "commit": "0acd702358230abeb6576769f7116e766bca28a0" }, "cmp-lbdb": { "branch": "master", "commit": "a2f3c43c734165e64a9d413f15a2e0131e08b054" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "c0e0e80f0c233cb3a249f719a44324c660163a3f" }, - "dashboard-nvim": { "branch": "master", "commit": "c045eb24334324fb39ad5ede0b5d15a74a5d229e" }, + "conform.nvim": { "branch": "master", "commit": "db2c697fe8302f0328b50b480204be1b577a1e2f" }, + "dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, "dressing.nvim": { "branch": "master", "commit": "6f212262061a2120e42da0d1e87326e8a41c0478" }, "edgy.nvim": { "branch": "main", "commit": "0b35dc6da4cae6cc2f724bc610eadf955cd2319b" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, - "friendly-snippets": { "branch": "main", "commit": "b8fae73a479ae0a1c54f5c98fa687ae8a0addc53" }, + "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, "gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, "gx.nvim": { "branch": "main", "commit": "78070bbd8e7e15a1623cdd6832a9529d2ee63e0c" }, - "headlines.nvim": { "branch": "master", "commit": "e3d7bfdf40e41a020d966d35f8b48d75b90367d2" }, + "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "inc-rename.nvim": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" }, - "incline.nvim": { "branch": "main", "commit": "e3a1b3c87a98c0dbdeb63ca9a17003127f600d7e" }, - "indent-blankline.nvim": { "branch": "master", "commit": "12e92044d313c54c438bd786d11684c88f6f78cd" }, - "lazy.nvim": { "branch": "main", "commit": "28126922c9b54e35a192ac415788f202c3944c9f" }, + "incline.nvim": { "branch": "main", "commit": "a3df527789289016b561c4ad3c891490169d1d6b" }, + "indent-blankline.nvim": { "branch": "master", "commit": "821a7acd88587d966f7e464b0b3031dfe7f5680c" }, + "lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" }, "ltex_extra.nvim": { "branch": "master", "commit": "42dd3572cb09b52a137e91e515f2dff5eb631b1e" }, - "lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" }, + "lualine.nvim": { "branch": "master", "commit": "3c55675a7bc170d21d7ea70874ae66fbf5cfb0dc" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "0954d7730e749d606ddf8d7ae8846848be435d53" }, - "mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "55716a879568a498fa236593c8119789054a3b8e" }, + "mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "3ad9d455a91b8bf3c24d4e50518d9a6b9dddb42c" }, - "mini.animate": { "branch": "main", "commit": "6cec625114007527ff8a82316dba858046f9746f" }, - "mini.bracketed": { "branch": "main", "commit": "f1aa8e5b3dd48e27576a3e1f70a8f10e9538f756" }, - "mini.bufremove": { "branch": "main", "commit": "020243bfed8c8b941f2c20626faf3ea39c0c0e1b" }, - "mini.comment": { "branch": "main", "commit": "b0b359ada4293cdcea7ab4072dfd5b031aac3f8e" }, - "mini.indentscope": { "branch": "main", "commit": "ca129b71edb672d30b8d7ec3138106db1b1f6a8b" }, - "mini.pairs": { "branch": "main", "commit": "552062017ff207e1f35f7028bfb3f27c7421d22d" }, - "mini.surround": { "branch": "main", "commit": "5ceb6a12d3761bc719fbdad5432c89333deb1498" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "e578fe7a5832421b0d2c5b3c0a7a1e40e0f6a47a" }, - "neoconf.nvim": { "branch": "main", "commit": "435d70c1bc5a5bd21ecb98163baa8262480c4019" }, - "neodev.nvim": { "branch": "main", "commit": "0ee95ecefc8ea45898a0383364f736e098c8703f" }, - "neogen": { "branch": "main", "commit": "70127baaff25611deaf1a29d801fc054ad9d2dc1" }, - "neorg": { "branch": "main", "commit": "7cf5382821f661aee958bcaf7bc4111c11e6863a" }, - "neorg-contexts": { "branch": "master", "commit": "2f827f44c3956fec430ad5aa1639cb31a3f01548" }, - "neorg-telescope": { "branch": "main", "commit": "6a7a677c40fa3c348924a4e2a06a513e0b34c056" }, + "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, + "mini.animate": { "branch": "main", "commit": "82519630b2760ffc516ebc387bef632f9c07b9f5" }, + "mini.bracketed": { "branch": "main", "commit": "65c7dfb51e832de9e279e5d5b0741e7af6755ab5" }, + "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, + "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, + "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, + "mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, + "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "7f2ebdef3b55374390714ac7c0a7fe6b0dae498a" }, + "neoconf.nvim": { "branch": "main", "commit": "cc846d17b034957b7cf49df98632ffa8b9e6a889" }, + "neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" }, + "neogen": { "branch": "main", "commit": "b95347a588401a755eadd17482edc1662876bd58" }, + "neorg": { "branch": "main", "commit": "086891d396ac9fccd91faf1520f563b6eb9eb942" }, + "neorg-contexts": { "branch": "master", "commit": "8ae58b646700b8bc2d3bc1346c96835ceb71d884" }, + "neorg-telescope": { "branch": "main", "commit": "418f8fd4bd7360d954613a2322b4eb2888ac3ad9" }, "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, - "nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" }, + "nui.nvim": { "branch": "main", "commit": "3dc46d725f7b94bee5117c0a699b57b1902b5d65" }, "nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-lint": { "branch": "master", "commit": "76af3422e3c82ea40adf9ade1ccf1dc1eb361789" }, - "nvim-lspconfig": { "branch": "master", "commit": "d12140c5687a1186b95b3f42dbc6cc769df0cf0d" }, - "nvim-notify": { "branch": "master", "commit": "80b67b265530632505193553d05127ae7fe09ddd" }, + "nvim-lint": { "branch": "master", "commit": "e824adb9bc01647f71e55457353a68f0f37f9931" }, + "nvim-lspconfig": { "branch": "master", "commit": "4bdd3800b4148f670c6cf55ef65f490148eeb550" }, + "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "81cb3999e5db37e97f6336b39c077aea5bb32062" }, - "nvim-spider": { "branch": "main", "commit": "dc371a116041c49ae6d3813f6e1722c2dcdabdcf" }, + "nvim-spectre": { "branch": "master", "commit": "3712ff0cdf4f9f877d9ca708d835a877d9a0abaf" }, + "nvim-spider": { "branch": "main", "commit": "b369f24ac107b903cd73f9f0f5f326d8629bde28" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "4fbf150a1621d52f17b099506e1a32f107079210" }, - "nvim-treesitter-context": { "branch": "master", "commit": "9c06b115abc57c99cf0aa81dc29490f5001f57a1" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "8edd5a6d96936bdff23333d3bc177481388839e5" }, - "nvim-ts-autotag": { "branch": "main", "commit": "a65b202cfd08e0e69e531eab737205ff5bc082a4" }, + "nvim-treesitter": { "branch": "master", "commit": "8d3176cfbc0e3c5b8eadf4dfc20681878529c3af" }, + "nvim-treesitter-context": { "branch": "master", "commit": "b8b7e52c1517d401d7c519787d5dc4528c41291a" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "b7a0bfa3e93697ca5b61b15df633404bf8f45883" }, + "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, - "nvim-ufo": { "branch": "main", "commit": "b0741a647efd98d9abb6cb653e056d24a07e4581" }, - "nvim-web-devicons": { "branch": "master", "commit": "313d9e7193354c5de7cdb1724f9e2d3f442780b0" }, + "nvim-ufo": { "branch": "main", "commit": "239ae620d818ffa1319ca3056546df71906d4bfb" }, + "nvim-web-devicons": { "branch": "master", "commit": "75df79feb02d5e0ec114e447453775d4d291ea03" }, + "outline.nvim": { "branch": "main", "commit": "a8d40aecb799196303ff3521c0e31c87bba57198" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, - "plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" }, + "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, - "promise-async": { "branch": "main", "commit": "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6" }, - "refactoring.nvim": { "branch": "master", "commit": "aff2e21e2f1a19d302adceb4e7d0fafbb3ae59a9" }, + "promise-async": { "branch": "main", "commit": "93540c168c5ed2b030ec3e6c40ab8bbb85e36355" }, + "refactoring.nvim": { "branch": "master", "commit": "93d69cce9f0cbee8afae5b2380b296323792645f" }, "semshi": { "branch": "master", "commit": "0182447e2ff4dfa04cd2dfe5f189e012c581ca45" }, - "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, + "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "2cd29996d08cec8b31270c6de64465f716ef9d71" }, - "symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "236083884cfe6c874e03e6cb4e7cb08809c1333c" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, + "telescope-terraform-doc.nvim": { "branch": "main", "commit": "e09181f76acefaf66d2b55149bebe939828234b4" }, + "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, + "telescope.nvim": { "branch": "master", "commit": "7472420f8734c710bd7009081cef9b97f08a3821" }, "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, - "tokyonight.nvim": { "branch": "main", "commit": "610179f7f12db3d08540b6cc61434db2eaecbcff" }, - "tree-sitter-hyprlang": { "branch": "master", "commit": "e60fc858e6327a15c0b26f99ec96945fecd1e4ee" }, + "tokyonight.nvim": { "branch": "main", "commit": "c025baf23b62f044eff1f4ef561c45de636f0e32" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "fcb30164f2c4f8a34a305ead3247954a1fd8634f" }, + "venv-selector.nvim": { "branch": "main", "commit": "2ad34f36d498ff5193ea10f79c87688bd5284172" }, "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, - "vim-matchup": { "branch": "master", "commit": "7f81ae12542b2a35819f0324895df9bd8626c8ba" }, - "vim-nix": { "branch": "master", "commit": "048c71f1ed2c679cd55acd2c807c2c96aea82e65" }, + "vim-matchup": { "branch": "master", "commit": "2d660e4aa7c566014c667af2cda0458043527902" }, + "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, + "vim-startuptime": { "branch": "master", "commit": "308b0088a864c4711a96e45b6734cf9294074f65" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 71aa7864..83e4a6b9 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -1,7 +1,7 @@ { "extras": [ "lazyvim.plugins.extras.coding.yanky", - "lazyvim.plugins.extras.editor.symbols-outline", + "lazyvim.plugins.extras.editor.outline", "lazyvim.plugins.extras.formatting.black", "lazyvim.plugins.extras.formatting.prettier", "lazyvim.plugins.extras.lang.docker", @@ -19,5 +19,5 @@ "news": { "NEWS.md": "2123" }, - "version": 2 + "version": 3 } \ No newline at end of file From 0b5e4fb5ef50272c6abf50ed00ba5da40844cce8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 12 Mar 2024 09:07:10 +0100 Subject: [PATCH 1721/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/219f4bef6d22bc67cddefbba69aadb748d79c49d' (2024-03-04) → 'github:nix-community/home-manager/652fda4ca6dafeb090943422c34ae9145787af37' (2024-02-03) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/70bdadeb94ffc8806c0570eb5c2695ad29f0e421' (2024-01-03) → 'github:NixOS/nixpkgs/ddcd7598b2184008c97e6c9c6a21c5f37590b8d2' (2024-03-11) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/a1982c92d8980a0114372973cbdfe0a307f1bdea' (2024-01-12) → 'github:nixos/nixpkgs/c1d04f1fd49dd7e4c3f861b42a13e95d315f878b' (2024-03-12) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index d6c6332d..af99e48e 100644 --- a/flake.lock +++ b/flake.lock @@ -126,16 +126,16 @@ ] }, "locked": { - "lastModified": 1709578214, - "narHash": "sha256-jSCHB1+9eA0S2h7G8Aju8XARK0vbDuOR7uFFvCEsKhk=", + "lastModified": 1706981411, + "narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "219f4bef6d22bc67cddefbba69aadb748d79c49d", + "rev": "652fda4ca6dafeb090943422c34ae9145787af37", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.05", + "ref": "release-23.11", "repo": "home-manager", "type": "github" } @@ -219,16 +219,16 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1705033721, - "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", + "lastModified": 1710207699, + "narHash": "sha256-kbXBUHKaHTQ5wTKSSKGhRZ5f8L+FbgPzqQNYf/HeJSE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", + "rev": "c1d04f1fd49dd7e4c3f861b42a13e95d315f878b", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-23.05-darwin", + "ref": "nixpkgs-23.11-darwin", "repo": "nixpkgs", "type": "github" } @@ -251,16 +251,16 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1704290814, - "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", + "lastModified": 1710162809, + "narHash": "sha256-i2R2bcnQp+85de67yjgZVvJhd6rRnJbSYNpGmB6Leb8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", + "rev": "ddcd7598b2184008c97e6c9c6a21c5f37590b8d2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.05", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } From 7535141e205c17de85dd5b3da548789c77d50956 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 12 Mar 2024 09:18:50 +0100 Subject: [PATCH 1722/2080] rnix-lsp is archived. nixd should be used, but is not OK for now. --- home/neovim.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/home/neovim.nix b/home/neovim.nix index 7d5be943..52cff3bc 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -64,7 +64,10 @@ in nodePackages.yaml-language-server pkgs-unstable.ansible-language-server pyright - rnix-lsp + # XXX: https://discourse.nixos.org/t/nixos-need-help-finding-out-what-is-pulling-in-nix-2-15-3-in-my-config/41103 + # https://github.com/nix-community/rnix-lsp + # rnix-lsp + # nixd sumneko-lua-language-server # Required for ltex-ls usage in neovim jdk11 From 81b7d730265a1d59b0aa74dcd6c6ed4dee5d07f8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 12 Mar 2024 09:19:22 +0100 Subject: [PATCH 1723/2080] Fix deprecation warning. --- machines/brutal/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index 349c70a3..aad0e9f3 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -180,7 +180,7 @@ # https://github.com/lightdiscord/nix-nerd-fonts-overlay # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 # https://github.com/JonathanReeve/dotfiles/blob/master/dotfiles/configuration.nix#L61 - fonts.fonts = with pkgs; [ + fonts.packages = with pkgs; [ # Only pick selected fonts (nerdfonts.override { fonts = [ "CascadiaCode" "JetBrainsMono" ]; }) fantasque-sans-mono From 95ff01736da90c4488573d26733d0ec18eebf7e5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 12 Mar 2024 09:20:08 +0100 Subject: [PATCH 1724/2080] Fix types.string deprecation https://github.com/NixOS/nixpkgs/pull/66346 --- modules/system/bootstrap.nix | 2 +- modules/system/users.nix | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/system/bootstrap.nix b/modules/system/bootstrap.nix index 751e8edc..3710104b 100644 --- a/modules/system/bootstrap.nix +++ b/modules/system/bootstrap.nix @@ -44,7 +44,7 @@ # Needed to address bug where $PATH is not properly set for fish: # https://github.com/LnL7/nix-darwin/issues/122 programs.fish.shellInit = '' - for p in (string split : ${config.environment.systemPath}) + for p in (str split : ${config.environment.systemPath}) if not contains $p $fish_user_paths set -g fish_user_paths $fish_user_paths $p end diff --git a/modules/system/users.nix b/modules/system/users.nix index 9ff8ff3a..9a27e6bc 100644 --- a/modules/system/users.nix +++ b/modules/system/users.nix @@ -7,19 +7,19 @@ in { options.users.primaryUser = { username = mkOption { - type = with types; nullOr string; + type = with types; nullOr str; default = null; }; fullName = mkOption { - type = with types; nullOr string; + type = with types; nullOr str; default = null; }; email = mkOption { - type = with types; nullOr string; + type = with types; nullOr str; default = null; }; nixConfigDirectory = mkOption { - type = with types; nullOr string; + type = with types; nullOr str; default = null; }; }; From d29d8822ff6a1dada6972dcd67e9c4ce533d49a8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 25 Mar 2024 09:20:01 +0100 Subject: [PATCH 1725/2080] Merge changes --- lazyvim/nvim/lazyvim.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 83e4a6b9..4580ea13 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -19,5 +19,5 @@ "news": { "NEWS.md": "2123" }, - "version": 3 + "version": 2 } \ No newline at end of file From 1a9eece80214ff968f5b2e4d7f7c112c9bf91ae9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 9 Feb 2024 09:28:28 +0100 Subject: [PATCH 1726/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/faf912b086576fd1a15fca610166c98d47bc667e' (2024-02-05) → 'github:nixos/nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1' (2024-02-07) • Updated input 'nur': 'github:nix-community/NUR/6cb13d15dd9b2b9ffb10e9d570233d3dcc36a71e' (2024-02-08) → 'github:nix-community/NUR/7bba799fc1b49a73d24e92b7ac559de9d34929e4' (2024-02-09) --- flake.lock | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index af99e48e..3e93c65b 100644 --- a/flake.lock +++ b/flake.lock @@ -2,9 +2,7 @@ "nodes": { "darwin": { "inputs": { - "nixpkgs": [ - "nixpkgs-darwin-stable" - ] + "nixpkgs": ["nixpkgs-darwin-stable"] }, "locked": { "lastModified": 1709771483, @@ -39,10 +37,7 @@ }, "flake-parts": { "inputs": { - "nixpkgs-lib": [ - "neovim-nightly-overlay", - "nixpkgs" - ] + "nixpkgs-lib": ["neovim-nightly-overlay", "nixpkgs"] }, "locked": { "lastModified": 1709336216, @@ -100,10 +95,7 @@ "hercules-ci-effects": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ] + "nixpkgs": ["neovim-nightly-overlay", "nixpkgs"] }, "locked": { "lastModified": 1708547820, @@ -121,9 +113,7 @@ }, "home-manager": { "inputs": { - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": ["nixpkgs"] }, "locked": { "lastModified": 1706981411, @@ -143,10 +133,7 @@ "neovim-flake": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ] + "nixpkgs": ["neovim-nightly-overlay", "nixpkgs"] }, "locked": { "dir": "contrib", From cf747e4c34108fda9d87d3c7bc799d4529ec9655 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 19 Feb 2024 09:06:44 +0100 Subject: [PATCH 1727/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/bdbae6ecff8fcc322bf6b9053c0b984912378af7' (2024-02-02) → 'github:lnl7/nix-darwin/0e6857fa1d632637488666c08e7b02c08e3178f8' (2024-02-18) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/1da2e054a16309d7d7f7669438c8b9a5ef1b4642' (2024-01-25) → 'github:nix-community/neovim-nightly-overlay/886e4196fbf3eaaf292435deaffdc22f1aa1a3a0' (2024-02-19) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/07f6395285469419cf9d078f59b5b49993198c00' (2024-01-11) → 'github:hercules-ci/flake-parts/b253292d9c0a5ead9bc98c4e9a26c6312e27d69f' (2024-02-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/4e59422e1d4950a3042bad41a7b81c8db4f8b648?dir=contrib' (2024-01-24) → 'github:neovim/neovim/8f1f2a1d9f6af56ae928f6cdc29055a0ba13baea?dir=contrib' (2024-02-18) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/b43bb235efeab5324c5e486882ef46749188eee2' (2024-01-23) → 'github:NixOS/nixpkgs/045b51a3ae66f673ed44b5bbd1f4a341d96703bf' (2024-02-18) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1' (2024-02-07) → 'github:nixos/nixpkgs/5863c27340ba4de8f83e7e3c023b9599c3cb3c80' (2024-02-16) • Updated input 'nur': 'github:nix-community/NUR/d57ddfebbc4a97ff6b054f06d066020a4455f7e9' (2024-02-10) → 'github:nix-community/NUR/e17ac139d5903c021aff79b52d659bf90145cbb2' (2024-02-19) --- flake.lock | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index 3e93c65b..f025cd45 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,19 @@ "nixpkgs": ["nixpkgs-darwin-stable"] }, "locked": { +<<<<<<< HEAD "lastModified": 1709771483, "narHash": "sha256-Hjzu9nCknHLQvhdaRFfCEprH0o15KcaNu1QDr3J88DI=", "owner": "lnl7", "repo": "nix-darwin", "rev": "550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6", +======= + "lastModified": 1708231718, + "narHash": "sha256-IZdieFWvhBkxoOFMDejqLUYqD94WN6k0YSpw0DFy+4g=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "0e6857fa1d632637488666c08e7b02c08e3178f8", +>>>>>>> c210b20 (flake.lock: Update) "type": "github" }, "original": { @@ -40,11 +48,19 @@ "nixpkgs-lib": ["neovim-nightly-overlay", "nixpkgs"] }, "locked": { +<<<<<<< HEAD "lastModified": 1709336216, "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", +======= + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", +>>>>>>> c210b20 (flake.lock: Update) "type": "github" }, "original": { @@ -137,11 +153,19 @@ }, "locked": { "dir": "contrib", +<<<<<<< HEAD "lastModified": 1710199222, "narHash": "sha256-iZ8v1gkzUVVI9t5BKHAxRHgMpUjJq/yJgB7VyCUMTag=", "owner": "neovim", "repo": "neovim", "rev": "b02a4d8ac39bafdbfd490bfbab35e3202e6f709c", +======= + "lastModified": 1708296793, + "narHash": "sha256-DrofSD0lq2NOyrrLIUyJ4gSx2ZFMPuaMZyrRIjy9+Qc=", + "owner": "neovim", + "repo": "neovim", + "rev": "8f1f2a1d9f6af56ae928f6cdc29055a0ba13baea", +>>>>>>> c210b20 (flake.lock: Update) "type": "github" }, "original": { @@ -160,11 +184,19 @@ "nixpkgs": "nixpkgs" }, "locked": { +<<<<<<< HEAD "lastModified": 1710201806, "narHash": "sha256-ySFpQv1cVsm1uGr/cbtfvWht6Kszfy/aP3TjiLQ8h0w=", "owner": "nix-community", "repo": "neovim-nightly-overlay", "rev": "a6185e08ac09b6528b7120cd2886610eaffd68de", +======= + "lastModified": 1708301015, + "narHash": "sha256-VOOJ1IDUxiyXt+jfu3s1rXl3ieq5oaanJAyY4giRRIY=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "886e4196fbf3eaaf292435deaffdc22f1aa1a3a0", +>>>>>>> c210b20 (flake.lock: Update) "type": "github" }, "original": { @@ -190,11 +222,19 @@ }, "nixpkgs": { "locked": { +<<<<<<< HEAD "lastModified": 1710159071, "narHash": "sha256-CT0WKgcmlcWZPZL/sSSICN/Vbm4Of0ZDgxc0GFf6sYU=", "owner": "NixOS", "repo": "nixpkgs", "rev": "0fbcc4b2e8571f4af39be41752581ea09dd9ab06", +======= + "lastModified": 1708247094, + "narHash": "sha256-H2VS7VwesetGDtIaaz4AMsRkPoSLEVzL/Ika8gnbUnE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "045b51a3ae66f673ed44b5bbd1f4a341d96703bf", +>>>>>>> c210b20 (flake.lock: Update) "type": "github" }, "original": { @@ -259,7 +299,7 @@ "owner": "nix-community", "repo": "NUR", "rev": "4bb4d7c96eb12e7d107737ed77576c119d99b73d", - "type": "github" + "type": "github" }, "original": { "owner": "nix-community", From b2e8db02727269c67b220ac4827d77de63669ff7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 21 Feb 2024 10:34:59 +0100 Subject: [PATCH 1728/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/886e4196fbf3eaaf292435deaffdc22f1aa1a3a0' (2024-02-19) → 'github:nix-community/neovim-nightly-overlay/d31cab682637cc681c6aded7817dea49962d63f7' (2024-02-21) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/8f1f2a1d9f6af56ae928f6cdc29055a0ba13baea?dir=contrib' (2024-02-18) → 'github:neovim/neovim/9bb046d1be5aa9ba0482b2cad050b286d4b78978?dir=contrib' (2024-02-20) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/045b51a3ae66f673ed44b5bbd1f4a341d96703bf' (2024-02-18) → 'github:NixOS/nixpkgs/f33dd27a47ebdf11dc8a5eb05e7c8fbdaf89e73f' (2024-02-20) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/5863c27340ba4de8f83e7e3c023b9599c3cb3c80' (2024-02-16) → 'github:nixos/nixpkgs/b98a4e1746acceb92c509bc496ef3d0e5ad8d4aa' (2024-02-18) • Updated input 'nur': 'github:nix-community/NUR/e17ac139d5903c021aff79b52d659bf90145cbb2' (2024-02-19) → 'github:nix-community/NUR/536a4578760fff9a34274190a19f896087cec1b5' (2024-02-21) --- flake.lock | 42 +----------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/flake.lock b/flake.lock index f025cd45..3e93c65b 100644 --- a/flake.lock +++ b/flake.lock @@ -5,19 +5,11 @@ "nixpkgs": ["nixpkgs-darwin-stable"] }, "locked": { -<<<<<<< HEAD "lastModified": 1709771483, "narHash": "sha256-Hjzu9nCknHLQvhdaRFfCEprH0o15KcaNu1QDr3J88DI=", "owner": "lnl7", "repo": "nix-darwin", "rev": "550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6", -======= - "lastModified": 1708231718, - "narHash": "sha256-IZdieFWvhBkxoOFMDejqLUYqD94WN6k0YSpw0DFy+4g=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "0e6857fa1d632637488666c08e7b02c08e3178f8", ->>>>>>> c210b20 (flake.lock: Update) "type": "github" }, "original": { @@ -48,19 +40,11 @@ "nixpkgs-lib": ["neovim-nightly-overlay", "nixpkgs"] }, "locked": { -<<<<<<< HEAD "lastModified": 1709336216, "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", -======= - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", ->>>>>>> c210b20 (flake.lock: Update) "type": "github" }, "original": { @@ -153,19 +137,11 @@ }, "locked": { "dir": "contrib", -<<<<<<< HEAD "lastModified": 1710199222, "narHash": "sha256-iZ8v1gkzUVVI9t5BKHAxRHgMpUjJq/yJgB7VyCUMTag=", "owner": "neovim", "repo": "neovim", "rev": "b02a4d8ac39bafdbfd490bfbab35e3202e6f709c", -======= - "lastModified": 1708296793, - "narHash": "sha256-DrofSD0lq2NOyrrLIUyJ4gSx2ZFMPuaMZyrRIjy9+Qc=", - "owner": "neovim", - "repo": "neovim", - "rev": "8f1f2a1d9f6af56ae928f6cdc29055a0ba13baea", ->>>>>>> c210b20 (flake.lock: Update) "type": "github" }, "original": { @@ -184,19 +160,11 @@ "nixpkgs": "nixpkgs" }, "locked": { -<<<<<<< HEAD "lastModified": 1710201806, "narHash": "sha256-ySFpQv1cVsm1uGr/cbtfvWht6Kszfy/aP3TjiLQ8h0w=", "owner": "nix-community", "repo": "neovim-nightly-overlay", "rev": "a6185e08ac09b6528b7120cd2886610eaffd68de", -======= - "lastModified": 1708301015, - "narHash": "sha256-VOOJ1IDUxiyXt+jfu3s1rXl3ieq5oaanJAyY4giRRIY=", - "owner": "nix-community", - "repo": "neovim-nightly-overlay", - "rev": "886e4196fbf3eaaf292435deaffdc22f1aa1a3a0", ->>>>>>> c210b20 (flake.lock: Update) "type": "github" }, "original": { @@ -222,19 +190,11 @@ }, "nixpkgs": { "locked": { -<<<<<<< HEAD "lastModified": 1710159071, "narHash": "sha256-CT0WKgcmlcWZPZL/sSSICN/Vbm4Of0ZDgxc0GFf6sYU=", "owner": "NixOS", "repo": "nixpkgs", "rev": "0fbcc4b2e8571f4af39be41752581ea09dd9ab06", -======= - "lastModified": 1708247094, - "narHash": "sha256-H2VS7VwesetGDtIaaz4AMsRkPoSLEVzL/Ika8gnbUnE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "045b51a3ae66f673ed44b5bbd1f4a341d96703bf", ->>>>>>> c210b20 (flake.lock: Update) "type": "github" }, "original": { @@ -299,7 +259,7 @@ "owner": "nix-community", "repo": "NUR", "rev": "4bb4d7c96eb12e7d107737ed77576c119d99b73d", - "type": "github" + "type": "github" }, "original": { "owner": "nix-community", From 5dbfa5db1217274ec38e5559c211a1d1c661e385 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 25 Mar 2024 09:27:55 +0100 Subject: [PATCH 1729/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6' (2024-03-07) → 'github:lnl7/nix-darwin/bcc8afd06e237df060c85bad6af7128e05fd61a3' (2024-03-17) • Updated input 'home-manager': 'github:nix-community/home-manager/652fda4ca6dafeb090943422c34ae9145787af37' (2024-02-03) → 'github:nix-community/home-manager/f33900124c23c4eca5831b9b5eb32ea5894375ce' (2024-03-19) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/a6185e08ac09b6528b7120cd2886610eaffd68de' (2024-03-12) → 'github:nix-community/neovim-nightly-overlay/119bbc295f56b531cb87502f5d2fff13dcc35a35' (2024-03-25) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/0ca27bd58e4d5be3135a4bef66b582e57abe8f4a' (2024-02-21) → 'github:hercules-ci/hercules-ci-effects/64e7763d72c1e4c1e5e6472640615b6ae2d40fbf' (2024-03-15) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5' (2023-12-01) → 'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/b02a4d8ac39bafdbfd490bfbab35e3202e6f709c?dir=contrib' (2024-03-11) → 'github:neovim/neovim/02d00cf3eed6681c6dde40585551c8243d7c003f?dir=contrib' (2024-03-24) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/0fbcc4b2e8571f4af39be41752581ea09dd9ab06' (2024-03-11) → 'github:NixOS/nixpkgs/e1d501922fd7351da4200e1275dfcf5faaad1220' (2024-03-23) • Updated input 'nix2lua': 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=e42d73e3ff8250c5c35e1d398ac7076ce682b9d3' (2024-02-28) → 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=0102c7e7ab8b7c36a31b5a513f41bf0187985279' (2024-03-12) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/ddcd7598b2184008c97e6c9c6a21c5f37590b8d2' (2024-03-11) → 'github:NixOS/nixpkgs/56528ee42526794d413d6f244648aaee4a7b56c0' (2024-03-22) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/c1d04f1fd49dd7e4c3f861b42a13e95d315f878b' (2024-03-12) → 'github:nixos/nixpkgs/ebbe1c1299faf63fffdf1e2a6ebfe43c56b2e691' (2024-03-23) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09) → 'github:nixos/nixpkgs/44d0940ea560dee511026a53f0e2e2cde489b4d4' (2024-03-23) • Updated input 'nur': 'github:nix-community/NUR/4bb4d7c96eb12e7d107737ed77576c119d99b73d' (2024-03-12) → 'github:nix-community/NUR/2796d4664e8da2e094738766c36d81896ca85fed' (2024-03-25) --- flake.lock | 97 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 55 insertions(+), 42 deletions(-) diff --git a/flake.lock b/flake.lock index 3e93c65b..785506f9 100644 --- a/flake.lock +++ b/flake.lock @@ -2,14 +2,16 @@ "nodes": { "darwin": { "inputs": { - "nixpkgs": ["nixpkgs-darwin-stable"] + "nixpkgs": [ + "nixpkgs-darwin-stable" + ] }, "locked": { - "lastModified": 1709771483, - "narHash": "sha256-Hjzu9nCknHLQvhdaRFfCEprH0o15KcaNu1QDr3J88DI=", + "lastModified": 1710717205, + "narHash": "sha256-Wf3gHh5uV6W1TV/A8X8QJf99a5ypDSugY4sNtdJDe0A=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6", + "rev": "bcc8afd06e237df060c85bad6af7128e05fd61a3", "type": "github" }, "original": { @@ -37,7 +39,10 @@ }, "flake-parts": { "inputs": { - "nixpkgs-lib": ["neovim-nightly-overlay", "nixpkgs"] + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "nixpkgs" + ] }, "locked": { "lastModified": 1709336216, @@ -62,11 +67,11 @@ ] }, "locked": { - "lastModified": 1701473968, - "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -95,14 +100,17 @@ "hercules-ci-effects": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": ["neovim-nightly-overlay", "nixpkgs"] + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] }, "locked": { - "lastModified": 1708547820, - "narHash": "sha256-xU/KC1PWqq5zL9dQ9wYhcdgxAwdeF/dJCLPH3PNZEBg=", + "lastModified": 1710478346, + "narHash": "sha256-Xjf8BdnQG0tLhPMlqQdwCIjOp7Teox0DP3N/jjyiGM4=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0ca27bd58e4d5be3135a4bef66b582e57abe8f4a", + "rev": "64e7763d72c1e4c1e5e6472640615b6ae2d40fbf", "type": "github" }, "original": { @@ -113,14 +121,16 @@ }, "home-manager": { "inputs": { - "nixpkgs": ["nixpkgs"] + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { - "lastModified": 1706981411, - "narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=", + "lastModified": 1710888565, + "narHash": "sha256-s9Hi4RHhc6yut4EcYD50sZWRDKsugBJHSbON8KFwoTw=", "owner": "nix-community", "repo": "home-manager", - "rev": "652fda4ca6dafeb090943422c34ae9145787af37", + "rev": "f33900124c23c4eca5831b9b5eb32ea5894375ce", "type": "github" }, "original": { @@ -133,15 +143,18 @@ "neovim-flake": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": ["neovim-nightly-overlay", "nixpkgs"] + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] }, "locked": { "dir": "contrib", - "lastModified": 1710199222, - "narHash": "sha256-iZ8v1gkzUVVI9t5BKHAxRHgMpUjJq/yJgB7VyCUMTag=", + "lastModified": 1711323947, + "narHash": "sha256-Vc478rxwJkMuOcgBXm+brraWk9lbFqrGEdXVuST2l/A=", "owner": "neovim", "repo": "neovim", - "rev": "b02a4d8ac39bafdbfd490bfbab35e3202e6f709c", + "rev": "02d00cf3eed6681c6dde40585551c8243d7c003f", "type": "github" }, "original": { @@ -160,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1710201806, - "narHash": "sha256-ySFpQv1cVsm1uGr/cbtfvWht6Kszfy/aP3TjiLQ8h0w=", + "lastModified": 1711325009, + "narHash": "sha256-c5OJdyuXYzTP+k+PN73X+0pvgXR1yYMYok+72x4SLVg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a6185e08ac09b6528b7120cd2886610eaffd68de", + "rev": "119bbc295f56b531cb87502f5d2fff13dcc35a35", "type": "github" }, "original": { @@ -175,11 +188,11 @@ }, "nix2lua": { "locked": { - "lastModified": 1709152847, - "narHash": "sha256-r399Qnybnv/fbU/AqU+Gq5sz5t5dt+7nS9edaTZQ2kU=", + "lastModified": 1710277808, + "narHash": "sha256-VTHZEKXVcThZr7wsnV+8Ewg2BExMZMfuZzjQbRc8njQ=", "ref": "refs/heads/main", - "rev": "e42d73e3ff8250c5c35e1d398ac7076ce682b9d3", - "revCount": 19, + "rev": "0102c7e7ab8b7c36a31b5a513f41bf0187985279", + "revCount": 20, "type": "git", "url": "https://git.pleshevski.ru/mynix/nix2lua" }, @@ -190,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1710159071, - "narHash": "sha256-CT0WKgcmlcWZPZL/sSSICN/Vbm4Of0ZDgxc0GFf6sYU=", + "lastModified": 1711231723, + "narHash": "sha256-dARJQ8AJOv6U+sdRePkbcVyVbXJTi1tReCrkkOeusiA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0fbcc4b2e8571f4af39be41752581ea09dd9ab06", + "rev": "e1d501922fd7351da4200e1275dfcf5faaad1220", "type": "github" }, "original": { @@ -206,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1710207699, - "narHash": "sha256-kbXBUHKaHTQ5wTKSSKGhRZ5f8L+FbgPzqQNYf/HeJSE=", + "lastModified": 1711217620, + "narHash": "sha256-GGHuUQoSsGN/BJYEu7fY+Qzipwq3NqChjlUtT3eg33s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c1d04f1fd49dd7e4c3f861b42a13e95d315f878b", + "rev": "ebbe1c1299faf63fffdf1e2a6ebfe43c56b2e691", "type": "github" }, "original": { @@ -222,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1709961763, - "narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=", + "lastModified": 1711163522, + "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34", + "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4", "type": "github" }, "original": { @@ -238,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1710162809, - "narHash": "sha256-i2R2bcnQp+85de67yjgZVvJhd6rRnJbSYNpGmB6Leb8=", + "lastModified": 1711124224, + "narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ddcd7598b2184008c97e6c9c6a21c5f37590b8d2", + "rev": "56528ee42526794d413d6f244648aaee4a7b56c0", "type": "github" }, "original": { @@ -254,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1710230162, - "narHash": "sha256-LpJB6eSTqfzFuaCYFiXRzsQ5V/Ji7L7LTToHiCKTcwM=", + "lastModified": 1711355249, + "narHash": "sha256-7KdwA8JtfoGlxf5w7/XOxjjlOM7OirJPwyjvlzN8u9U=", "owner": "nix-community", "repo": "NUR", - "rev": "4bb4d7c96eb12e7d107737ed77576c119d99b73d", + "rev": "2796d4664e8da2e094738766c36d81896ca85fed", "type": "github" }, "original": { From 3b873f74b0e461c65ef7e7e56c3a3f3c022f5eb4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 26 Mar 2024 12:27:33 +0100 Subject: [PATCH 1730/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 82 ++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index daea2769..bf0db572 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,37 +1,37 @@ { - "LazyVim": { "branch": "main", "commit": "e3bfcb9bf74292dc846f5d1710fbb2e8f36a687a" }, - "LuaSnip": { "branch": "master", "commit": "df58ee1664cfda71479cd2bbd56114f56599eba6" }, - "SchemaStore.nvim": { "branch": "main", "commit": "b788bde023f9fbc2eb86e89d32c0bf98a60ae406" }, + "LazyVim": { "branch": "main", "commit": "c91982a8bca120857f24f0eb0dd9bdcc7d574f50" }, + "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, + "SchemaStore.nvim": { "branch": "main", "commit": "290e692d568e55be475f6af4579fea434e20ba0c" }, "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, - "catppuccin": { "branch": "main", "commit": "045e3499d9ec8d84635fb08877ae44fd33f6a38d" }, + "catppuccin": { "branch": "main", "commit": "196f301de06090c40d7f98297675ac38ae7d6675" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, - "cmp-emoji": { "branch": "main", "commit": "0acd702358230abeb6576769f7116e766bca28a0" }, + "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, + "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-lbdb": { "branch": "master", "commit": "a2f3c43c734165e64a9d413f15a2e0131e08b054" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "db2c697fe8302f0328b50b480204be1b577a1e2f" }, - "dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" }, + "conform.nvim": { "branch": "master", "commit": "bf109f061fc3cd75394b7823923187ae045cbf22" }, + "dashboard-nvim": { "branch": "master", "commit": "354e7bd0ad62f6e8b5ab9394b1ec7dbcaaa1470c" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, - "dressing.nvim": { "branch": "master", "commit": "6f212262061a2120e42da0d1e87326e8a41c0478" }, + "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, "edgy.nvim": { "branch": "main", "commit": "0b35dc6da4cae6cc2f724bc610eadf955cd2319b" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, - "gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, - "gx.nvim": { "branch": "main", "commit": "78070bbd8e7e15a1623cdd6832a9529d2ee63e0c" }, + "gitsigns.nvim": { "branch": "main", "commit": "078041e9d060a386b0c9d3a8c7a7b019a35d3fb0" }, + "gx.nvim": { "branch": "main", "commit": "ea4cc715326a8bd060a450c24c3c9831cdee2f59" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "inc-rename.nvim": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" }, - "incline.nvim": { "branch": "main", "commit": "a3df527789289016b561c4ad3c891490169d1d6b" }, - "indent-blankline.nvim": { "branch": "master", "commit": "821a7acd88587d966f7e464b0b3031dfe7f5680c" }, - "lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" }, + "incline.nvim": { "branch": "main", "commit": "a03020c920a55b75d82ac54c9da18cbf52e8c4d8" }, + "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, + "lazy.nvim": { "branch": "main", "commit": "af6afefbb46ab29a8a1db69536b04290a9403876" }, "ltex_extra.nvim": { "branch": "master", "commit": "42dd3572cb09b52a137e91e515f2dff5eb631b1e" }, - "lualine.nvim": { "branch": "master", "commit": "3c55675a7bc170d21d7ea70874ae66fbf5cfb0dc" }, + "lualine.nvim": { "branch": "master", "commit": "b5e8bb642138f787a2c1c5aedc2a78cb2cebbd67" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "55716a879568a498fa236593c8119789054a3b8e" }, - "mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "9dfcf2036c223920826140f0151d929a43f9eceb" }, + "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, "mini.animate": { "branch": "main", "commit": "82519630b2760ffc516ebc387bef632f9c07b9f5" }, @@ -41,37 +41,37 @@ "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "7f2ebdef3b55374390714ac7c0a7fe6b0dae498a" }, - "neoconf.nvim": { "branch": "main", "commit": "cc846d17b034957b7cf49df98632ffa8b9e6a889" }, - "neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" }, - "neogen": { "branch": "main", "commit": "b95347a588401a755eadd17482edc1662876bd58" }, - "neorg": { "branch": "main", "commit": "086891d396ac9fccd91faf1520f563b6eb9eb942" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "8afbb06081ce1e4beb5b18945d14a608b10babeb" }, + "neoconf.nvim": { "branch": "main", "commit": "9a419c4fa772c4c61839a8f7fdd8e863679a8c94" }, + "neodev.nvim": { "branch": "main", "commit": "6a533ed9d3435dcaa456380d833ea04da37ea2ed" }, + "neogen": { "branch": "main", "commit": "0daffcec249bf42275e322361fe55b89a05ff278" }, + "neorg": { "branch": "main", "commit": "486a148d1bf5b7fd14f52a771a0dacc1e6839174" }, "neorg-contexts": { "branch": "master", "commit": "8ae58b646700b8bc2d3bc1346c96835ceb71d884" }, "neorg-telescope": { "branch": "main", "commit": "418f8fd4bd7360d954613a2322b4eb2888ac3ad9" }, - "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, - "nui.nvim": { "branch": "main", "commit": "3dc46d725f7b94bee5117c0a699b57b1902b5d65" }, - "nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, + "noice.nvim": { "branch": "main", "commit": "d29b26c329558ee4bb2e7f3cc25078929ef89b2f" }, + "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, + "nvim-cmp": { "branch": "main", "commit": "97dc716fc914c46577a4f254035ebef1aa72558a" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-lint": { "branch": "master", "commit": "e824adb9bc01647f71e55457353a68f0f37f9931" }, - "nvim-lspconfig": { "branch": "master", "commit": "4bdd3800b4148f670c6cf55ef65f490148eeb550" }, + "nvim-lint": { "branch": "master", "commit": "2669aabb8362fdc36aced5ba864b7135636ea863" }, + "nvim-lspconfig": { "branch": "master", "commit": "6e5c78ebc9936ca74add66bda22c566f951b6ee5" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "3712ff0cdf4f9f877d9ca708d835a877d9a0abaf" }, - "nvim-spider": { "branch": "main", "commit": "b369f24ac107b903cd73f9f0f5f326d8629bde28" }, + "nvim-spectre": { "branch": "master", "commit": "31f62d7fc30257b2a5c5327ff7b47719da37a1b4" }, + "nvim-spider": { "branch": "main", "commit": "bcc9fa38a62637491b75b02e364191553fd858a2" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "8d3176cfbc0e3c5b8eadf4dfc20681878529c3af" }, - "nvim-treesitter-context": { "branch": "master", "commit": "b8b7e52c1517d401d7c519787d5dc4528c41291a" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "b7a0bfa3e93697ca5b61b15df633404bf8f45883" }, + "nvim-treesitter": { "branch": "master", "commit": "20042941df6c014f611e948cd656afd482823d81" }, + "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, - "nvim-ufo": { "branch": "main", "commit": "239ae620d818ffa1319ca3056546df71906d4bfb" }, - "nvim-web-devicons": { "branch": "master", "commit": "75df79feb02d5e0ec114e447453775d4d291ea03" }, - "outline.nvim": { "branch": "main", "commit": "a8d40aecb799196303ff3521c0e31c87bba57198" }, + "nvim-ufo": { "branch": "main", "commit": "458aa4451b98614cfab6b3d7beddc8caff5e3052" }, + "nvim-web-devicons": { "branch": "master", "commit": "6662f059bf78e6092ba90cd1929599625f448f55" }, + "outline.nvim": { "branch": "main", "commit": "bdfd2da90e9a7686d00e55afa9f772c4b6809413" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, - "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, + "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "93540c168c5ed2b030ec3e6c40ab8bbb85e36355" }, - "refactoring.nvim": { "branch": "master", "commit": "93d69cce9f0cbee8afae5b2380b296323792645f" }, + "refactoring.nvim": { "branch": "master", "commit": "d2786877c91aa409c824f27b4ce8a9f560dda60a" }, "semshi": { "branch": "master", "commit": "0182447e2ff4dfa04cd2dfe5f189e012c581ca45" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, @@ -79,17 +79,17 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-terraform-doc.nvim": { "branch": "main", "commit": "e09181f76acefaf66d2b55149bebe939828234b4" }, "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, - "telescope.nvim": { "branch": "master", "commit": "7472420f8734c710bd7009081cef9b97f08a3821" }, + "telescope.nvim": { "branch": "master", "commit": "c2b8311dfacd08b3056b8f0249025d633a4e71a8" }, "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, - "tokyonight.nvim": { "branch": "main", "commit": "c025baf23b62f044eff1f4ef561c45de636f0e32" }, + "tokyonight.nvim": { "branch": "main", "commit": "623c3cd60a8081b68edcaf544856c053249a659e" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "2ad34f36d498ff5193ea10f79c87688bd5284172" }, + "venv-selector.nvim": { "branch": "main", "commit": "27adc94240b5b61756c20d7187700610f0ac6995" }, "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, "vim-matchup": { "branch": "master", "commit": "2d660e4aa7c566014c667af2cda0458043527902" }, "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "308b0088a864c4711a96e45b6734cf9294074f65" }, + "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } From 51afd89b9f10d5bd32b0c84b9d2fcc5e6c1e7ac5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 26 Mar 2024 12:28:07 +0100 Subject: [PATCH 1731/2080] Bump version --- lazyvim/nvim/lazyvim.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 4580ea13..83e4a6b9 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -19,5 +19,5 @@ "news": { "NEWS.md": "2123" }, - "version": 2 + "version": 3 } \ No newline at end of file From d04251d24e6a187ae2df2f25610c76fe2a417470 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 26 Mar 2024 13:55:26 +0100 Subject: [PATCH 1732/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/119bbc295f56b531cb87502f5d2fff13dcc35a35' (2024-03-25) → 'github:nix-community/neovim-nightly-overlay/73b284862eb33c198207ca11f8e1eb99fe086653' (2024-03-26) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/02d00cf3eed6681c6dde40585551c8243d7c003f?dir=contrib' (2024-03-24) → 'github:neovim/neovim/00e71d3da3464df2b4c4f33bfd5fac6d88e7c867?dir=contrib' (2024-03-25) • Updated input 'nur': 'github:nix-community/NUR/2796d4664e8da2e094738766c36d81896ca85fed' (2024-03-25) → 'github:nix-community/NUR/562ebfd91a464029a2c3968f444a913f28b7e701' (2024-03-26) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 785506f9..6dc78d9d 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1711323947, - "narHash": "sha256-Vc478rxwJkMuOcgBXm+brraWk9lbFqrGEdXVuST2l/A=", + "lastModified": 1711405268, + "narHash": "sha256-ixaLbLdtiUBy03xG7jg8hgGsvZdjgiTLoPa+/S6nqXA=", "owner": "neovim", "repo": "neovim", - "rev": "02d00cf3eed6681c6dde40585551c8243d7c003f", + "rev": "00e71d3da3464df2b4c4f33bfd5fac6d88e7c867", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1711325009, - "narHash": "sha256-c5OJdyuXYzTP+k+PN73X+0pvgXR1yYMYok+72x4SLVg=", + "lastModified": 1711411421, + "narHash": "sha256-4sp4EIymCtkaBI37L0pYnasSxLJ7EWmedzNxXuEpIoI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "119bbc295f56b531cb87502f5d2fff13dcc35a35", + "rev": "73b284862eb33c198207ca11f8e1eb99fe086653", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1711355249, - "narHash": "sha256-7KdwA8JtfoGlxf5w7/XOxjjlOM7OirJPwyjvlzN8u9U=", + "lastModified": 1711454917, + "narHash": "sha256-ftsufDtpDYgsAfe52qSWAv+mdf03Xv2Rnr3E3WodLqQ=", "owner": "nix-community", "repo": "NUR", - "rev": "2796d4664e8da2e094738766c36d81896ca85fed", + "rev": "562ebfd91a464029a2c3968f444a913f28b7e701", "type": "github" }, "original": { From f6e103cfd43a3a484a666ddd665183405b15bf77 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 27 Mar 2024 08:50:30 +0100 Subject: [PATCH 1733/2080] nix-darwin: preapre for fonts.fonts renaming. --- machines/Baptistes-MBP/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index f99d3503..28895d27 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -51,6 +51,8 @@ # https://github.com/lightdiscord/nix-nerd-fonts-overlay # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 # https://github.com/JonathanReeve/dotfiles/blob/master/dotfiles/configuration.nix#L61 + # XXX: 2024-03-26 not working yet on Darwin? + # fonts.packages = with pkgs; [ fonts.fonts = with pkgs; [ fantasque-sans-mono font-awesome_5 From e856fe8681806285c1f39d5b5a7936a1c36a31b5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 27 Mar 2024 08:59:56 +0100 Subject: [PATCH 1734/2080] Disable neorg for now. --- lazyvim/nvim/lazy-lock.json | 33 +++++------ lazyvim/nvim/lazyvim.json | 6 +- lazyvim/nvim/lua/plugins/neorg.lua | 93 ++++++++++++++++-------------- 3 files changed, 67 insertions(+), 65 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index bf0db572..5580d283 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "c91982a8bca120857f24f0eb0dd9bdcc7d574f50" }, + "LazyVim": { "branch": "main", "commit": "1de90e7e4c94f51b187c4cd4fcfb6480f4303c46" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "290e692d568e55be475f6af4579fea434e20ba0c" }, + "SchemaStore.nvim": { "branch": "main", "commit": "4ce271f0db8b5224b4d69a43a75c13f5b4dcba43" }, "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, - "catppuccin": { "branch": "main", "commit": "196f301de06090c40d7f98297675ac38ae7d6675" }, + "catppuccin": { "branch": "main", "commit": "07679af1af4f446655682ee2557b5840ac551504" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, @@ -12,12 +12,12 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "bf109f061fc3cd75394b7823923187ae045cbf22" }, - "dashboard-nvim": { "branch": "master", "commit": "354e7bd0ad62f6e8b5ab9394b1ec7dbcaaa1470c" }, + "conform.nvim": { "branch": "master", "commit": "f9523f75134614fc0eff29c2377ed36603a1b0aa" }, + "dashboard-nvim": { "branch": "master", "commit": "39f308a0b845b8da46f83c8a2d69f0191d4b7a8f" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, - "edgy.nvim": { "branch": "main", "commit": "0b35dc6da4cae6cc2f724bc610eadf955cd2319b" }, + "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, "gitsigns.nvim": { "branch": "main", "commit": "078041e9d060a386b0c9d3a8c7a7b019a35d3fb0" }, @@ -26,7 +26,7 @@ "inc-rename.nvim": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" }, "incline.nvim": { "branch": "main", "commit": "a03020c920a55b75d82ac54c9da18cbf52e8c4d8" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, - "lazy.nvim": { "branch": "main", "commit": "af6afefbb46ab29a8a1db69536b04290a9403876" }, + "lazy.nvim": { "branch": "main", "commit": "65887ea871d44822bff47504202b3643f29d614e" }, "ltex_extra.nvim": { "branch": "master", "commit": "42dd3572cb09b52a137e91e515f2dff5eb631b1e" }, "lualine.nvim": { "branch": "master", "commit": "b5e8bb642138f787a2c1c5aedc2a78cb2cebbd67" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, @@ -41,14 +41,11 @@ "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "8afbb06081ce1e4beb5b18945d14a608b10babeb" }, - "neoconf.nvim": { "branch": "main", "commit": "9a419c4fa772c4c61839a8f7fdd8e863679a8c94" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" }, + "neoconf.nvim": { "branch": "main", "commit": "ef304c29977b85c99382fcba821b3f710e144a74" }, "neodev.nvim": { "branch": "main", "commit": "6a533ed9d3435dcaa456380d833ea04da37ea2ed" }, "neogen": { "branch": "main", "commit": "0daffcec249bf42275e322361fe55b89a05ff278" }, - "neorg": { "branch": "main", "commit": "486a148d1bf5b7fd14f52a771a0dacc1e6839174" }, - "neorg-contexts": { "branch": "master", "commit": "8ae58b646700b8bc2d3bc1346c96835ceb71d884" }, - "neorg-telescope": { "branch": "main", "commit": "418f8fd4bd7360d954613a2322b4eb2888ac3ad9" }, - "noice.nvim": { "branch": "main", "commit": "d29b26c329558ee4bb2e7f3cc25078929ef89b2f" }, + "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, "nvim-cmp": { "branch": "main", "commit": "97dc716fc914c46577a4f254035ebef1aa72558a" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, @@ -56,16 +53,16 @@ "nvim-lspconfig": { "branch": "master", "commit": "6e5c78ebc9936ca74add66bda22c566f951b6ee5" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "31f62d7fc30257b2a5c5327ff7b47719da37a1b4" }, + "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, "nvim-spider": { "branch": "main", "commit": "bcc9fa38a62637491b75b02e364191553fd858a2" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "20042941df6c014f611e948cd656afd482823d81" }, + "nvim-treesitter": { "branch": "master", "commit": "aa8d8bc600e00f84d11b9d40c6900d72d0f68fa3" }, "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, "nvim-ufo": { "branch": "main", "commit": "458aa4451b98614cfab6b3d7beddc8caff5e3052" }, - "nvim-web-devicons": { "branch": "master", "commit": "6662f059bf78e6092ba90cd1929599625f448f55" }, + "nvim-web-devicons": { "branch": "master", "commit": "3ee60deaa539360518eaab93a6c701fe9f4d82ef" }, "outline.nvim": { "branch": "main", "commit": "bdfd2da90e9a7686d00e55afa9f772c4b6809413" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, @@ -81,10 +78,10 @@ "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, "telescope.nvim": { "branch": "master", "commit": "c2b8311dfacd08b3056b8f0249025d633a4e71a8" }, "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, - "tokyonight.nvim": { "branch": "main", "commit": "623c3cd60a8081b68edcaf544856c053249a659e" }, + "tokyonight.nvim": { "branch": "main", "commit": "f4b415bfbce390866a83277db42cf6aa94230728" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "27adc94240b5b61756c20d7187700610f0ac6995" }, + "venv-selector.nvim": { "branch": "main", "commit": "3c57922256e7e26205a25f5a42ecf7104d9f2c78" }, "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, "vim-matchup": { "branch": "master", "commit": "2d660e4aa7c566014c667af2cda0458043527902" }, "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 83e4a6b9..70691716 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -1,7 +1,6 @@ { "extras": [ "lazyvim.plugins.extras.coding.yanky", - "lazyvim.plugins.extras.editor.outline", "lazyvim.plugins.extras.formatting.black", "lazyvim.plugins.extras.formatting.prettier", "lazyvim.plugins.extras.lang.docker", @@ -14,10 +13,11 @@ "lazyvim.plugins.extras.ui.edgy", "lazyvim.plugins.extras.ui.mini-animate", "lazyvim.plugins.extras.util.dot", - "lazyvim.plugins.extras.util.project" + "lazyvim.plugins.extras.util.project", + "lazyvim.plugins.extras.editor.outline" ], "news": { - "NEWS.md": "2123" + "NEWS.md": "2850" }, "version": 3 } \ No newline at end of file diff --git a/lazyvim/nvim/lua/plugins/neorg.lua b/lazyvim/nvim/lua/plugins/neorg.lua index aa753af8..e5bfe8b9 100644 --- a/lazyvim/nvim/lua/plugins/neorg.lua +++ b/lazyvim/nvim/lua/plugins/neorg.lua @@ -1,46 +1,51 @@ return { - -- neorg, org-mode like - -- https://github.com/nvim-neorg/neorg - -- Bindings mapped via localleader (\) - -- ~/.local/share/nvim/lazy/neorg/lua/neorg/modules/core/keybinds/keybinds.lua - { - "nvim-neorg/neorg", - -- lazy-load on filetype - enabled = true, - ft = "norg", - build = ":Neorg sync-parsers", - cmd = "Neorg", - dependencies = { "nvim-lua/plenary.nvim", "max397574/neorg-contexts", "nvim-neorg/neorg-telescope" }, - opts = { - load = { - -- Load default modules - ["core.defaults"] = {}, - ["core.concealer"] = {}, - ["core.completion"] = { - config = { engine = "nvim-cmp" }, - }, - ["core.integrations.nvim-cmp"] = {}, - ["core.dirman"] = { - config = { - workspaces = { - work = "~/Documents/notes/work", - home = "~/Documents/notes/home", - }, - }, - }, - -- https://github.com/nvim-neorg/neorg/wiki/Journal - -- TODO: https://github.com/pysan3/neorg-templates - ["core.journal"] = { - config = { - workspace = "work", - }, - }, - ["core.summary"] = {}, - -- Neovim 0.10.0+ required for core.tempus module - -- ["core.ui.calendar"] = {}, - ["core.integrations.telescope"] = {}, - ["external.context"] = {}, - }, - }, - }, + -- { + -- "vhyrro/luarocks.nvim", + -- priority = 1000, -- We'd like this plugin to load first out of the rest + -- config = true, -- This automatically runs `require("luarocks-nvim").setup()` + -- }, + -- -- neorg, org-mode like + -- -- https://github.com/nvim-neorg/neorg + -- -- Bindings mapped via localleader (\) + -- -- ~/.local/share/nvim/lazy/neorg/lua/neorg/modules/core/keybinds/keybinds.lua + -- { + -- "nvim-neorg/neorg", + -- -- lazy-load on filetype + -- enabled = true, + -- ft = "norg", + -- -- build = ":Neorg sync-parsers", + -- cmd = "Neorg", + -- dependencies = { "luarocks.nvim", "max397574/neorg-contexts", "nvim-neorg/neorg-telescope" }, + -- opts = { + -- load = { + -- -- Load default modules + -- ["core.defaults"] = {}, + -- ["core.concealer"] = {}, + -- ["core.completion"] = { + -- config = { engine = "nvim-cmp" }, + -- }, + -- ["core.integrations.nvim-cmp"] = {}, + -- ["core.dirman"] = { + -- config = { + -- workspaces = { + -- work = "~/Documents/notes/work", + -- home = "~/Documents/notes/home", + -- }, + -- }, + -- }, + -- -- https://github.com/nvim-neorg/neorg/wiki/Journal + -- -- TODO: https://github.com/pysan3/neorg-templates + -- ["core.journal"] = { + -- config = { + -- workspace = "work", + -- }, + -- }, + -- ["core.summary"] = {}, + -- -- Neovim 0.10.0+ required for core.tempus module + -- -- ["core.ui.calendar"] = {}, + -- ["core.integrations.telescope"] = {}, + -- ["external.context"] = {}, + -- }, + -- }, + -- }, } From 268f2c1315a9f1179236ddb95fd31407df3861c6 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 30 Mar 2024 10:13:15 +0100 Subject: [PATCH 1735/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/bcc8afd06e237df060c85bad6af7128e05fd61a3' (2024-03-17) → 'github:lnl7/nix-darwin/36524adc31566655f2f4d55ad6b875fb5c1a4083' (2024-03-30) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/73b284862eb33c198207ca11f8e1eb99fe086653' (2024-03-26) → 'github:nix-community/neovim-nightly-overlay/8c9dcf6816db1b976046e491dfb61eef8c15a202' (2024-03-30) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/00e71d3da3464df2b4c4f33bfd5fac6d88e7c867?dir=contrib' (2024-03-25) → 'github:neovim/neovim/2424c3e6967ef953222cf48564629ffe5812d415?dir=contrib' (2024-03-29) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/e1d501922fd7351da4200e1275dfcf5faaad1220' (2024-03-23) → 'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/56528ee42526794d413d6f244648aaee4a7b56c0' (2024-03-22) → 'github:NixOS/nixpkgs/219951b495fc2eac67b1456824cc1ec1fd2ee659' (2024-03-28) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/ebbe1c1299faf63fffdf1e2a6ebfe43c56b2e691' (2024-03-23) → 'github:nixos/nixpkgs/fb003bf6332198a6134312ae138182de9242a1e6' (2024-03-29) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/44d0940ea560dee511026a53f0e2e2cde489b4d4' (2024-03-23) → 'github:nixos/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089' (2024-03-29) • Updated input 'nur': 'github:nix-community/NUR/562ebfd91a464029a2c3968f444a913f28b7e701' (2024-03-26) → 'github:nix-community/NUR/9c84c5419c332d79fbd2b3644c62f978beccfff9' (2024-03-30) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 6dc78d9d..448ddcbd 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1710717205, - "narHash": "sha256-Wf3gHh5uV6W1TV/A8X8QJf99a5ypDSugY4sNtdJDe0A=", + "lastModified": 1711763326, + "narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "bcc8afd06e237df060c85bad6af7128e05fd61a3", + "rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1711405268, - "narHash": "sha256-ixaLbLdtiUBy03xG7jg8hgGsvZdjgiTLoPa+/S6nqXA=", + "lastModified": 1711756269, + "narHash": "sha256-3e0j/bvXCI1eOxt6x/ENGkhlDRD3nxLhDU0Q8JViiw0=", "owner": "neovim", "repo": "neovim", - "rev": "00e71d3da3464df2b4c4f33bfd5fac6d88e7c867", + "rev": "2424c3e6967ef953222cf48564629ffe5812d415", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1711411421, - "narHash": "sha256-4sp4EIymCtkaBI37L0pYnasSxLJ7EWmedzNxXuEpIoI=", + "lastModified": 1711757045, + "narHash": "sha256-+85QI5/ABsk3ObUS2/uPkShQQuHbaq4bgzVBE5zAY94=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "73b284862eb33c198207ca11f8e1eb99fe086653", + "rev": "8c9dcf6816db1b976046e491dfb61eef8c15a202", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1711231723, - "narHash": "sha256-dARJQ8AJOv6U+sdRePkbcVyVbXJTi1tReCrkkOeusiA=", + "lastModified": 1711715736, + "narHash": "sha256-9slQ609YqT9bT/MNX9+5k5jltL9zgpn36DpFB7TkttM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e1d501922fd7351da4200e1275dfcf5faaad1220", + "rev": "807c549feabce7eddbf259dbdcec9e0600a0660d", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1711217620, - "narHash": "sha256-GGHuUQoSsGN/BJYEu7fY+Qzipwq3NqChjlUtT3eg33s=", + "lastModified": 1711707400, + "narHash": "sha256-ggjKcR3OEmPnaYYB8f7PNXoe9f6NwtHpk/PZID42Hc8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ebbe1c1299faf63fffdf1e2a6ebfe43c56b2e691", + "rev": "fb003bf6332198a6134312ae138182de9242a1e6", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1711163522, - "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", + "lastModified": 1711703276, + "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4", + "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1711124224, - "narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=", + "lastModified": 1711668574, + "narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "56528ee42526794d413d6f244648aaee4a7b56c0", + "rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1711454917, - "narHash": "sha256-ftsufDtpDYgsAfe52qSWAv+mdf03Xv2Rnr3E3WodLqQ=", + "lastModified": 1711789378, + "narHash": "sha256-aFHVJ0j7p54FyjpfJ2nVMv5MDXrP4ttL8efcWu1lxf0=", "owner": "nix-community", "repo": "NUR", - "rev": "562ebfd91a464029a2c3968f444a913f28b7e701", + "rev": "9c84c5419c332d79fbd2b3644c62f978beccfff9", "type": "github" }, "original": { From 2a3c50f6ff6d8b692871a68b75f9462dedecf8b9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 30 Mar 2024 10:29:24 +0100 Subject: [PATCH 1736/2080] Update lazyvim --- lazyvim/nvim/lazy-lock.json | 30 +++++++++++++++--------------- lazyvim/nvim/lazyvim.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 5580d283..43e4e048 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "1de90e7e4c94f51b187c4cd4fcfb6480f4303c46" }, + "LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, "SchemaStore.nvim": { "branch": "main", "commit": "4ce271f0db8b5224b4d69a43a75c13f5b4dcba43" }, "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, - "catppuccin": { "branch": "main", "commit": "07679af1af4f446655682ee2557b5840ac551504" }, + "catppuccin": { "branch": "main", "commit": "aebe43db9cb26e1c70fc5b2fd4158169c405e720" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "f9523f75134614fc0eff29c2377ed36603a1b0aa" }, + "conform.nvim": { "branch": "master", "commit": "9d5ba06d6ee7418c674f498634617416d15b6239" }, "dashboard-nvim": { "branch": "master", "commit": "39f308a0b845b8da46f83c8a2d69f0191d4b7a8f" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, @@ -20,13 +20,13 @@ "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, - "gitsigns.nvim": { "branch": "main", "commit": "078041e9d060a386b0c9d3a8c7a7b019a35d3fb0" }, + "gitsigns.nvim": { "branch": "main", "commit": "70584ff9aae8078b64430c574079d79620b8f06d" }, "gx.nvim": { "branch": "main", "commit": "ea4cc715326a8bd060a450c24c3c9831cdee2f59" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "inc-rename.nvim": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" }, "incline.nvim": { "branch": "main", "commit": "a03020c920a55b75d82ac54c9da18cbf52e8c4d8" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, - "lazy.nvim": { "branch": "main", "commit": "65887ea871d44822bff47504202b3643f29d614e" }, + "lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, "ltex_extra.nvim": { "branch": "master", "commit": "42dd3572cb09b52a137e91e515f2dff5eb631b1e" }, "lualine.nvim": { "branch": "master", "commit": "b5e8bb642138f787a2c1c5aedc2a78cb2cebbd67" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, @@ -40,27 +40,27 @@ "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, - "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" }, + "mini.surround": { "branch": "main", "commit": "49e0364b8c9a3258b485c5ece40bb0f3a5e94b1c" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "80dc74d081823649809f78370fa5b204aa9a853a" }, "neoconf.nvim": { "branch": "main", "commit": "ef304c29977b85c99382fcba821b3f710e144a74" }, - "neodev.nvim": { "branch": "main", "commit": "6a533ed9d3435dcaa456380d833ea04da37ea2ed" }, + "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "neogen": { "branch": "main", "commit": "0daffcec249bf42275e322361fe55b89a05ff278" }, "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, "nvim-cmp": { "branch": "main", "commit": "97dc716fc914c46577a4f254035ebef1aa72558a" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, "nvim-lint": { "branch": "master", "commit": "2669aabb8362fdc36aced5ba864b7135636ea863" }, - "nvim-lspconfig": { "branch": "master", "commit": "6e5c78ebc9936ca74add66bda22c566f951b6ee5" }, + "nvim-lspconfig": { "branch": "master", "commit": "f4619ab31fc4676001ea05ae8200846e6e7700c7" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, "nvim-spider": { "branch": "main", "commit": "bcc9fa38a62637491b75b02e364191553fd858a2" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "aa8d8bc600e00f84d11b9d40c6900d72d0f68fa3" }, + "nvim-treesitter": { "branch": "master", "commit": "c65413f2ac20d1d4b91fe4eb32d9d25525b34b83" }, "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "734ebad31c81c6198dfe102aa23280937c937c42" }, "nvim-ufo": { "branch": "main", "commit": "458aa4451b98614cfab6b3d7beddc8caff5e3052" }, "nvim-web-devicons": { "branch": "master", "commit": "3ee60deaa539360518eaab93a6c701fe9f4d82ef" }, "outline.nvim": { "branch": "main", "commit": "bdfd2da90e9a7686d00e55afa9f772c4b6809413" }, @@ -76,10 +76,10 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-terraform-doc.nvim": { "branch": "main", "commit": "e09181f76acefaf66d2b55149bebe939828234b4" }, "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, - "telescope.nvim": { "branch": "master", "commit": "c2b8311dfacd08b3056b8f0249025d633a4e71a8" }, - "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, - "tokyonight.nvim": { "branch": "main", "commit": "f4b415bfbce390866a83277db42cf6aa94230728" }, - "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, + "telescope.nvim": { "branch": "master", "commit": "1bb28df3cfc241b961331f00dcb8d5b45fe3e4f0" }, + "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, + "tokyonight.nvim": { "branch": "main", "commit": "9bf9ec53d5e87b025e2404069b71e7ebdc3a13e5" }, + "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "3c57922256e7e26205a25f5a42ecf7104d9f2c78" }, "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 70691716..978222c6 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -17,7 +17,7 @@ "lazyvim.plugins.extras.editor.outline" ], "news": { - "NEWS.md": "2850" + "NEWS.md": "3314" }, "version": 3 } \ No newline at end of file From 02b191adcb095fffb02431dbd956fdc6f40f0c9e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 2 Apr 2024 09:28:48 +0200 Subject: [PATCH 1737/2080] Merge changes --- lazyvim/nvim/lazyvim.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 978222c6..70691716 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -17,7 +17,7 @@ "lazyvim.plugins.extras.editor.outline" ], "news": { - "NEWS.md": "3314" + "NEWS.md": "2850" }, "version": 3 } \ No newline at end of file From 769a9576bf6124db2e95f41f34013fe1a3c2a69b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 2 Apr 2024 09:31:45 +0200 Subject: [PATCH 1738/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/8c9dcf6816db1b976046e491dfb61eef8c15a202' (2024-03-30) → 'github:nix-community/neovim-nightly-overlay/09024a489682a921a76c0e881cccd7a3d91e854a' (2024-04-02) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01) → 'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d' (2024-04-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/2424c3e6967ef953222cf48564629ffe5812d415?dir=contrib' (2024-03-29) → 'github:neovim/neovim/feaab21c71b9c47e20ed88649bdd79b69c3806da?dir=contrib' (2024-04-01) • Updated input 'nur': 'github:nix-community/NUR/9c84c5419c332d79fbd2b3644c62f978beccfff9' (2024-03-30) → 'github:nix-community/NUR/329cd2917d26fd295f750845bb8ebf5c775da3d6' (2024-04-02) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 448ddcbd..6faac495 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1711756269, - "narHash": "sha256-3e0j/bvXCI1eOxt6x/ENGkhlDRD3nxLhDU0Q8JViiw0=", + "lastModified": 1711979546, + "narHash": "sha256-uJGUkszvfapgjWMxFYPBaAEWEPgD8rm4RNLuy/U4dmc=", "owner": "neovim", "repo": "neovim", - "rev": "2424c3e6967ef953222cf48564629ffe5812d415", + "rev": "feaab21c71b9c47e20ed88649bdd79b69c3806da", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1711757045, - "narHash": "sha256-+85QI5/ABsk3ObUS2/uPkShQQuHbaq4bgzVBE5zAY94=", + "lastModified": 1712016599, + "narHash": "sha256-PUe/RiQsB11yKO8edtNKbMEUhcxgSxWgYLHhNbALgzA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "8c9dcf6816db1b976046e491dfb61eef8c15a202", + "rev": "09024a489682a921a76c0e881cccd7a3d91e854a", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1711789378, - "narHash": "sha256-aFHVJ0j7p54FyjpfJ2nVMv5MDXrP4ttL8efcWu1lxf0=", + "lastModified": 1712042687, + "narHash": "sha256-99mV4B1J8DnI823jR2fsE9mFt+PYfyFcmDK5WgL5juk=", "owner": "nix-community", "repo": "NUR", - "rev": "9c84c5419c332d79fbd2b3644c62f978beccfff9", + "rev": "329cd2917d26fd295f750845bb8ebf5c775da3d6", "type": "github" }, "original": { From 9b8d0156a6dbfe1423dd84c632b013423ab1dd3e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 Apr 2024 15:32:36 +0200 Subject: [PATCH 1739/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/09024a489682a921a76c0e881cccd7a3d91e854a' (2024-04-02) → 'github:nix-community/neovim-nightly-overlay/ac4688639210430a98bfbf03ef35cba7ab94cc05' (2024-04-03) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/feaab21c71b9c47e20ed88649bdd79b69c3806da?dir=contrib' (2024-04-01) → 'github:neovim/neovim/30b94ae4942b4e82030bc079368dd7fcb5481456?dir=contrib' (2024-04-02) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/fb003bf6332198a6134312ae138182de9242a1e6' (2024-03-29) → 'github:nixos/nixpkgs/cf8af60ce6b44bb88e4d0608f11b82db4769a2b6' (2024-04-02) • Updated input 'nur': 'github:nix-community/NUR/329cd2917d26fd295f750845bb8ebf5c775da3d6' (2024-04-02) → 'github:nix-community/NUR/832d3fe6d9dd4dfcad0ed6d886372beed72818dc' (2024-04-03) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 6faac495..f83776ba 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1711979546, - "narHash": "sha256-uJGUkszvfapgjWMxFYPBaAEWEPgD8rm4RNLuy/U4dmc=", + "lastModified": 1712096131, + "narHash": "sha256-0t7y/Ee8kQTImHKVmKIvduOYlXS5lbmJVgzNAuQI0P8=", "owner": "neovim", "repo": "neovim", - "rev": "feaab21c71b9c47e20ed88649bdd79b69c3806da", + "rev": "30b94ae4942b4e82030bc079368dd7fcb5481456", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1712016599, - "narHash": "sha256-PUe/RiQsB11yKO8edtNKbMEUhcxgSxWgYLHhNbALgzA=", + "lastModified": 1712102628, + "narHash": "sha256-iVlbIXlG5A8uAV2lcCxRCKVGKlFzAB0jGbmbbc4Jeo8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "09024a489682a921a76c0e881cccd7a3d91e854a", + "rev": "ac4688639210430a98bfbf03ef35cba7ab94cc05", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1711707400, - "narHash": "sha256-ggjKcR3OEmPnaYYB8f7PNXoe9f6NwtHpk/PZID42Hc8=", + "lastModified": 1712069209, + "narHash": "sha256-GLIuAjkJgdMe3shzk23V3pYnwrHfu61eJ+bUeZdT0d4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fb003bf6332198a6134312ae138182de9242a1e6", + "rev": "cf8af60ce6b44bb88e4d0608f11b82db4769a2b6", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1712042687, - "narHash": "sha256-99mV4B1J8DnI823jR2fsE9mFt+PYfyFcmDK5WgL5juk=", + "lastModified": 1712149118, + "narHash": "sha256-DKzOREeEEVl/fR1OwTns6wFZ43/OXBKZob6+bJ+n5CM=", "owner": "nix-community", "repo": "NUR", - "rev": "329cd2917d26fd295f750845bb8ebf5c775da3d6", + "rev": "832d3fe6d9dd4dfcad0ed6d886372beed72818dc", "type": "github" }, "original": { From e9542b745619a68fc6c2d1deb905335abc046454 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 4 Apr 2024 12:08:54 +0200 Subject: [PATCH 1740/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/ac4688639210430a98bfbf03ef35cba7ab94cc05' (2024-04-03) → 'github:nix-community/neovim-nightly-overlay/4ceea3d5d9bf98fc92608cb05a83b3696a9fd5b9' (2024-04-04) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/30b94ae4942b4e82030bc079368dd7fcb5481456?dir=contrib' (2024-04-02) → 'github:neovim/neovim/15a2dd9e963784123273ec830e82e24ecea4ad0b?dir=contrib' (2024-04-03) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29) → 'github:NixOS/nixpkgs/e976fa8f49c35cf28496301a1ef2aa23ad576b56' (2024-04-02) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/cf8af60ce6b44bb88e4d0608f11b82db4769a2b6' (2024-04-02) → 'github:nixos/nixpkgs/1487bdea619e4a7a53a4590c475deabb5a9d1bfb' (2024-04-03) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089' (2024-03-29) → 'github:nixos/nixpkgs/08b9151ed40350725eb40b1fe96b0b86304a654b' (2024-04-03) • Updated input 'nur': 'github:nix-community/NUR/832d3fe6d9dd4dfcad0ed6d886372beed72818dc' (2024-04-03) → 'github:nix-community/NUR/ded87e3d2f1ffbcb7505991f3b27f3436dafdc3e' (2024-04-04) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f83776ba..75ee0c3a 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1712096131, - "narHash": "sha256-0t7y/Ee8kQTImHKVmKIvduOYlXS5lbmJVgzNAuQI0P8=", + "lastModified": 1712182753, + "narHash": "sha256-caVBdu8BidMeFbcgtqD9mH2xVDEyWtaqG9RA3Louop0=", "owner": "neovim", "repo": "neovim", - "rev": "30b94ae4942b4e82030bc079368dd7fcb5481456", + "rev": "15a2dd9e963784123273ec830e82e24ecea4ad0b", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1712102628, - "narHash": "sha256-iVlbIXlG5A8uAV2lcCxRCKVGKlFzAB0jGbmbbc4Jeo8=", + "lastModified": 1712189767, + "narHash": "sha256-/BaenG1OKNLRY2k9EOfBxemAYTICV7gRpzeF59srz6o=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ac4688639210430a98bfbf03ef35cba7ab94cc05", + "rev": "4ceea3d5d9bf98fc92608cb05a83b3696a9fd5b9", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1711715736, - "narHash": "sha256-9slQ609YqT9bT/MNX9+5k5jltL9zgpn36DpFB7TkttM=", + "lastModified": 1712090461, + "narHash": "sha256-PAfFp+YEKpkzwz6ruXQMvTa1puO4ySSu2G4Sp/jkCc8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "807c549feabce7eddbf259dbdcec9e0600a0660d", + "rev": "e976fa8f49c35cf28496301a1ef2aa23ad576b56", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1712069209, - "narHash": "sha256-GLIuAjkJgdMe3shzk23V3pYnwrHfu61eJ+bUeZdT0d4=", + "lastModified": 1712168706, + "narHash": "sha256-XP24tOobf6GGElMd0ux90FEBalUtw6NkBSVh/RlA6ik=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cf8af60ce6b44bb88e4d0608f11b82db4769a2b6", + "rev": "1487bdea619e4a7a53a4590c475deabb5a9d1bfb", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", + "lastModified": 1712122226, + "narHash": "sha256-pmgwKs8Thu1WETMqCrWUm0CkN1nmCKX3b51+EXsAZyY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", + "rev": "08b9151ed40350725eb40b1fe96b0b86304a654b", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1712149118, - "narHash": "sha256-DKzOREeEEVl/fR1OwTns6wFZ43/OXBKZob6+bJ+n5CM=", + "lastModified": 1712215405, + "narHash": "sha256-WqQKP0zifFgUIW1ZLEsyJTcfh0TojQjpnUZRQA7+W2A=", "owner": "nix-community", "repo": "NUR", - "rev": "832d3fe6d9dd4dfcad0ed6d886372beed72818dc", + "rev": "ded87e3d2f1ffbcb7505991f3b27f3436dafdc3e", "type": "github" }, "original": { From a60eb172426e5d8af4de1af8d6b65ac5cbc17119 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 11 Apr 2024 10:29:52 +0200 Subject: [PATCH 1741/2080] Bump version --- lazyvim/nvim/lazyvim.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 70691716..978222c6 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -17,7 +17,7 @@ "lazyvim.plugins.extras.editor.outline" ], "news": { - "NEWS.md": "2850" + "NEWS.md": "3314" }, "version": 3 } \ No newline at end of file From d3066b907666b02cdb2020995ec05ccc7c3df183 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 11 Apr 2024 10:29:58 +0200 Subject: [PATCH 1742/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 43e4e048..e5f07b35 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, - "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "4ce271f0db8b5224b4d69a43a75c13f5b4dcba43" }, + "LuaSnip": { "branch": "master", "commit": "825a61bad1d60d917a7962d73cf3c683f4e0407e" }, + "SchemaStore.nvim": { "branch": "main", "commit": "32e3a9654693f513a2cbb76ba99cbc9947b1352d" }, "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, "catppuccin": { "branch": "main", "commit": "aebe43db9cb26e1c70fc5b2fd4158169c405e720" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -13,55 +13,52 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "conform.nvim": { "branch": "master", "commit": "9d5ba06d6ee7418c674f498634617416d15b6239" }, - "dashboard-nvim": { "branch": "master", "commit": "39f308a0b845b8da46f83c8a2d69f0191d4b7a8f" }, + "dashboard-nvim": { "branch": "master", "commit": "681300934baf36f6184ca41f0b26aed22056d4ee" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, - "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, - "gitsigns.nvim": { "branch": "main", "commit": "70584ff9aae8078b64430c574079d79620b8f06d" }, + "friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" }, + "gitsigns.nvim": { "branch": "main", "commit": "f0733b793a5e2663fd6d101de5beda68eec33967" }, "gx.nvim": { "branch": "main", "commit": "ea4cc715326a8bd060a450c24c3c9831cdee2f59" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, - "inc-rename.nvim": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" }, - "incline.nvim": { "branch": "main", "commit": "a03020c920a55b75d82ac54c9da18cbf52e8c4d8" }, + "inc-rename.nvim": { "branch": "main", "commit": "5e03e986625961d1fac296d1bf332a6510c3add6" }, + "incline.nvim": { "branch": "main", "commit": "385e541b9a13bcc6cd387501fb9d9af86fb3173e" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, "ltex_extra.nvim": { "branch": "master", "commit": "42dd3572cb09b52a137e91e515f2dff5eb631b1e" }, "lualine.nvim": { "branch": "master", "commit": "b5e8bb642138f787a2c1c5aedc2a78cb2cebbd67" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "9dfcf2036c223920826140f0151d929a43f9eceb" }, "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, "mini.animate": { "branch": "main", "commit": "82519630b2760ffc516ebc387bef632f9c07b9f5" }, "mini.bracketed": { "branch": "main", "commit": "65c7dfb51e832de9e279e5d5b0741e7af6755ab5" }, "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, - "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, + "mini.comment": { "branch": "main", "commit": "75261c2f5945cca0c8358d88c52714c6bcdc9981" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, "mini.surround": { "branch": "main", "commit": "49e0364b8c9a3258b485c5ece40bb0f3a5e94b1c" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "80dc74d081823649809f78370fa5b204aa9a853a" }, - "neoconf.nvim": { "branch": "main", "commit": "ef304c29977b85c99382fcba821b3f710e144a74" }, - "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" }, "neogen": { "branch": "main", "commit": "0daffcec249bf42275e322361fe55b89a05ff278" }, "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, - "nvim-cmp": { "branch": "main", "commit": "97dc716fc914c46577a4f254035ebef1aa72558a" }, + "nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-lint": { "branch": "master", "commit": "2669aabb8362fdc36aced5ba864b7135636ea863" }, - "nvim-lspconfig": { "branch": "master", "commit": "f4619ab31fc4676001ea05ae8200846e6e7700c7" }, + "nvim-lint": { "branch": "master", "commit": "ffa213532e7a921f03262004b87d93e50c5b5275" }, + "nvim-lspconfig": { "branch": "master", "commit": "96e5711040df23583591391ce49e556b8cd248d8" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, - "nvim-spider": { "branch": "main", "commit": "bcc9fa38a62637491b75b02e364191553fd858a2" }, + "nvim-spider": { "branch": "main", "commit": "828444de406bc7df3b30c8e000ce6f54f0754499" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "c65413f2ac20d1d4b91fe4eb32d9d25525b34b83" }, + "nvim-treesitter": { "branch": "master", "commit": "8f444c9fcb7f9610184a34b44e922fa30989c96f" }, "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "f5183cea0fda26126e22e789382c208e7b1120f4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "734ebad31c81c6198dfe102aa23280937c937c42" }, - "nvim-ufo": { "branch": "main", "commit": "458aa4451b98614cfab6b3d7beddc8caff5e3052" }, + "nvim-ufo": { "branch": "main", "commit": "a5390706f510d39951dd581f6d2a972741b3fa26" }, "nvim-web-devicons": { "branch": "master", "commit": "3ee60deaa539360518eaab93a6c701fe9f4d82ef" }, "outline.nvim": { "branch": "main", "commit": "bdfd2da90e9a7686d00e55afa9f772c4b6809413" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, @@ -76,7 +73,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-terraform-doc.nvim": { "branch": "main", "commit": "e09181f76acefaf66d2b55149bebe939828234b4" }, "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, - "telescope.nvim": { "branch": "master", "commit": "1bb28df3cfc241b961331f00dcb8d5b45fe3e4f0" }, + "telescope.nvim": { "branch": "master", "commit": "4626aaa2bcfdacf55fd6d44b430e2df81b2403ff" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, "tokyonight.nvim": { "branch": "main", "commit": "9bf9ec53d5e87b025e2404069b71e7ebdc3a13e5" }, "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, From 8811397798fe2671fd3a5b98425ae37a62d8635c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 11 Apr 2024 10:33:43 +0200 Subject: [PATCH 1743/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/f33900124c23c4eca5831b9b5eb32ea5894375ce' (2024-03-19) → 'github:nix-community/home-manager/d6bb9f934f2870e5cbc5b94c79e9db22246141ff' (2024-04-06) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/4ceea3d5d9bf98fc92608cb05a83b3696a9fd5b9' (2024-04-04) → 'github:nix-community/neovim-nightly-overlay/7b7f250e20797291aa46bddd3cd80b4eb080defc' (2024-04-11) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/15a2dd9e963784123273ec830e82e24ecea4ad0b?dir=contrib' (2024-04-03) → 'github:neovim/neovim/509c053161c0495ac41cf12343089059afb4e813?dir=contrib' (2024-04-10) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/e976fa8f49c35cf28496301a1ef2aa23ad576b56' (2024-04-02) → 'github:NixOS/nixpkgs/062fc6cf99d809921ecef47317752fc92468e6ae' (2024-04-09) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/219951b495fc2eac67b1456824cc1ec1fd2ee659' (2024-03-28) → 'github:NixOS/nixpkgs/d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167' (2024-04-08) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/1487bdea619e4a7a53a4590c475deabb5a9d1bfb' (2024-04-03) → 'github:nixos/nixpkgs/053ca46068a9a092c8909dd4daa7a099b16e4d91' (2024-04-07) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/08b9151ed40350725eb40b1fe96b0b86304a654b' (2024-04-03) → 'github:nixos/nixpkgs/4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6' (2024-04-08) • Updated input 'nur': 'github:nix-community/NUR/ded87e3d2f1ffbcb7505991f3b27f3436dafdc3e' (2024-04-04) → 'github:nix-community/NUR/3a62196ec03b5ef2bc491437780d7eddd8854e96' (2024-04-11) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 75ee0c3a..35aa241b 100644 --- a/flake.lock +++ b/flake.lock @@ -126,11 +126,11 @@ ] }, "locked": { - "lastModified": 1710888565, - "narHash": "sha256-s9Hi4RHhc6yut4EcYD50sZWRDKsugBJHSbON8KFwoTw=", + "lastModified": 1712386041, + "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "f33900124c23c4eca5831b9b5eb32ea5894375ce", + "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1712182753, - "narHash": "sha256-caVBdu8BidMeFbcgtqD9mH2xVDEyWtaqG9RA3Louop0=", + "lastModified": 1712793085, + "narHash": "sha256-vHOa0eZOksLCdXKe2fG2+bRpov9kUi0/ER3vo4Cb+Ls=", "owner": "neovim", "repo": "neovim", - "rev": "15a2dd9e963784123273ec830e82e24ecea4ad0b", + "rev": "509c053161c0495ac41cf12343089059afb4e813", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1712189767, - "narHash": "sha256-/BaenG1OKNLRY2k9EOfBxemAYTICV7gRpzeF59srz6o=", + "lastModified": 1712793829, + "narHash": "sha256-HCMRXdMc1oGQt99o42DPJRCGzQSY5468HQ+wd8F1q+E=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4ceea3d5d9bf98fc92608cb05a83b3696a9fd5b9", + "rev": "7b7f250e20797291aa46bddd3cd80b4eb080defc", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712090461, - "narHash": "sha256-PAfFp+YEKpkzwz6ruXQMvTa1puO4ySSu2G4Sp/jkCc8=", + "lastModified": 1712696601, + "narHash": "sha256-puFPFSa/RC83JilUgB48/VL387eu2QN066Jv6X971LY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e976fa8f49c35cf28496301a1ef2aa23ad576b56", + "rev": "062fc6cf99d809921ecef47317752fc92468e6ae", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1712168706, - "narHash": "sha256-XP24tOobf6GGElMd0ux90FEBalUtw6NkBSVh/RlA6ik=", + "lastModified": 1712530949, + "narHash": "sha256-RX4hgMACjrgVjnfrazIHApzz2KeIB5FibGeCSSpiHxo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1487bdea619e4a7a53a4590c475deabb5a9d1bfb", + "rev": "053ca46068a9a092c8909dd4daa7a099b16e4d91", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1712122226, - "narHash": "sha256-pmgwKs8Thu1WETMqCrWUm0CkN1nmCKX3b51+EXsAZyY=", + "lastModified": 1712608508, + "narHash": "sha256-vMZ5603yU0wxgyQeHJryOI+O61yrX2AHwY6LOFyV1gM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "08b9151ed40350725eb40b1fe96b0b86304a654b", + "rev": "4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1711668574, - "narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=", + "lastModified": 1712588820, + "narHash": "sha256-y31s5idk3jMJMAVE4Ud9AdI7HT3CgTAeMTJ0StqKN7Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659", + "rev": "d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1712215405, - "narHash": "sha256-WqQKP0zifFgUIW1ZLEsyJTcfh0TojQjpnUZRQA7+W2A=", + "lastModified": 1712808728, + "narHash": "sha256-r19rlK+CeecbCcerF0qEfme0AFYihqnmkQ0UL2Xf5jI=", "owner": "nix-community", "repo": "NUR", - "rev": "ded87e3d2f1ffbcb7505991f3b27f3436dafdc3e", + "rev": "3a62196ec03b5ef2bc491437780d7eddd8854e96", "type": "github" }, "original": { From 63cf99486294dd164ec90eda462318be3835777e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 15 Apr 2024 08:47:10 +0200 Subject: [PATCH 1744/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/7b7f250e20797291aa46bddd3cd80b4eb080defc' (2024-04-11) → 'github:nix-community/neovim-nightly-overlay/320661405475a889e702f8bcb65807d200f75075' (2024-04-15) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/509c053161c0495ac41cf12343089059afb4e813?dir=contrib' (2024-04-10) → 'github:neovim/neovim/0f5c94c04b95a2d942b380be48708d3cf097de0c?dir=contrib' (2024-04-14) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/062fc6cf99d809921ecef47317752fc92468e6ae' (2024-04-09) → 'github:NixOS/nixpkgs/692ceb334b4fd60d61798dde895f6f122110f5fe' (2024-04-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167' (2024-04-08) → 'github:NixOS/nixpkgs/90055d5e616bd943795d38808c94dbf0dd35abe8' (2024-04-13) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/053ca46068a9a092c8909dd4daa7a099b16e4d91' (2024-04-07) → 'github:nixos/nixpkgs/82829f5324143e069d48f52e8af4fd8603609441' (2024-04-14) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6' (2024-04-08) → 'github:nixos/nixpkgs/cfd6b5fc90b15709b780a5a1619695a88505a176' (2024-04-12) • Updated input 'nur': 'github:nix-community/NUR/3a62196ec03b5ef2bc491437780d7eddd8854e96' (2024-04-11) → 'github:nix-community/NUR/bd73240bff825d7fa7001eda864265399c6486b1' (2024-04-15) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 35aa241b..b4314eb2 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1712793085, - "narHash": "sha256-vHOa0eZOksLCdXKe2fG2+bRpov9kUi0/ER3vo4Cb+Ls=", + "lastModified": 1713138374, + "narHash": "sha256-YBgTm3a9lBch8AYo6k6qzyE1r/xMBAEObXAck3uu8t8=", "owner": "neovim", "repo": "neovim", - "rev": "509c053161c0495ac41cf12343089059afb4e813", + "rev": "0f5c94c04b95a2d942b380be48708d3cf097de0c", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1712793829, - "narHash": "sha256-HCMRXdMc1oGQt99o42DPJRCGzQSY5468HQ+wd8F1q+E=", + "lastModified": 1713139466, + "narHash": "sha256-wxrLcto3oOVlTEA3Kodd1qUiREQcWkuF49TsNBI9DoI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7b7f250e20797291aa46bddd3cd80b4eb080defc", + "rev": "320661405475a889e702f8bcb65807d200f75075", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712696601, - "narHash": "sha256-puFPFSa/RC83JilUgB48/VL387eu2QN066Jv6X971LY=", + "lastModified": 1713006710, + "narHash": "sha256-u7vpSVm2eCycRuOzSWKic/aaRUK4c8hPo3gETlDfm0A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "062fc6cf99d809921ecef47317752fc92468e6ae", + "rev": "692ceb334b4fd60d61798dde895f6f122110f5fe", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1712530949, - "narHash": "sha256-RX4hgMACjrgVjnfrazIHApzz2KeIB5FibGeCSSpiHxo=", + "lastModified": 1713108859, + "narHash": "sha256-TWDJIFbDXQCjuXhdE71o3pzfihpKsF30zIuCzNDDnII=", "owner": "nixos", "repo": "nixpkgs", - "rev": "053ca46068a9a092c8909dd4daa7a099b16e4d91", + "rev": "82829f5324143e069d48f52e8af4fd8603609441", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1712608508, - "narHash": "sha256-vMZ5603yU0wxgyQeHJryOI+O61yrX2AHwY6LOFyV1gM=", + "lastModified": 1712963716, + "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6", + "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1712588820, - "narHash": "sha256-y31s5idk3jMJMAVE4Ud9AdI7HT3CgTAeMTJ0StqKN7Y=", + "lastModified": 1713013257, + "narHash": "sha256-ZEfGB3YCBVggvk0BQIqVY7J8XF/9jxQ68fCca6nib+8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167", + "rev": "90055d5e616bd943795d38808c94dbf0dd35abe8", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1712808728, - "narHash": "sha256-r19rlK+CeecbCcerF0qEfme0AFYihqnmkQ0UL2Xf5jI=", + "lastModified": 1713161802, + "narHash": "sha256-jn3liafRwxUlqeimoof+Vz0NPLpUfhMmr+dQSA/lh0U=", "owner": "nix-community", "repo": "NUR", - "rev": "3a62196ec03b5ef2bc491437780d7eddd8854e96", + "rev": "bd73240bff825d7fa7001eda864265399c6486b1", "type": "github" }, "original": { From 9666d46104e936c3f0399947a5dfcaf841be228d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 16 Apr 2024 16:30:51 +0200 Subject: [PATCH 1745/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/320661405475a889e702f8bcb65807d200f75075' (2024-04-15) → 'github:nix-community/neovim-nightly-overlay/20f618e5c0cf105e476fb813538ce054d914e5ee' (2024-04-16) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/0f5c94c04b95a2d942b380be48708d3cf097de0c?dir=contrib' (2024-04-14) → 'github:neovim/neovim/8c970d34034c874ab12b924a5e057997797868f4?dir=contrib' (2024-04-15) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/692ceb334b4fd60d61798dde895f6f122110f5fe' (2024-04-13) → 'github:NixOS/nixpkgs/2748d22b45a99fb2deafa5f11c7531c212b2cefa' (2024-04-14) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/90055d5e616bd943795d38808c94dbf0dd35abe8' (2024-04-13) → 'github:NixOS/nixpkgs/53a2c32bc66f5ae41a28d7a9a49d321172af621e' (2024-04-15) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/82829f5324143e069d48f52e8af4fd8603609441' (2024-04-14) → 'github:nixos/nixpkgs/69be1d097dd9a8422cfc4e89811304fb40f22626' (2024-04-15) • Updated input 'nur': 'github:nix-community/NUR/bd73240bff825d7fa7001eda864265399c6486b1' (2024-04-15) → 'github:nix-community/NUR/af731823f6b440f86e4229ecbaedb887db53a1d8' (2024-04-16) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index b4314eb2..c769d4c0 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1713138374, - "narHash": "sha256-YBgTm3a9lBch8AYo6k6qzyE1r/xMBAEObXAck3uu8t8=", + "lastModified": 1713224895, + "narHash": "sha256-zu0iktDPgweB4KRRYc4Qmqi86u6UggJsctx2b+LObYo=", "owner": "neovim", "repo": "neovim", - "rev": "0f5c94c04b95a2d942b380be48708d3cf097de0c", + "rev": "8c970d34034c874ab12b924a5e057997797868f4", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1713139466, - "narHash": "sha256-wxrLcto3oOVlTEA3Kodd1qUiREQcWkuF49TsNBI9DoI=", + "lastModified": 1713225809, + "narHash": "sha256-sTQmsPydtcomXMgVf0ipvfgjt3XEBDjg8oDBjonc6tY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "320661405475a889e702f8bcb65807d200f75075", + "rev": "20f618e5c0cf105e476fb813538ce054d914e5ee", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713006710, - "narHash": "sha256-u7vpSVm2eCycRuOzSWKic/aaRUK4c8hPo3gETlDfm0A=", + "lastModified": 1713128889, + "narHash": "sha256-aB90ZqzosyRDpBh+rILIcyP5lao8SKz8Sr2PSWvZrzk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "692ceb334b4fd60d61798dde895f6f122110f5fe", + "rev": "2748d22b45a99fb2deafa5f11c7531c212b2cefa", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1713108859, - "narHash": "sha256-TWDJIFbDXQCjuXhdE71o3pzfihpKsF30zIuCzNDDnII=", + "lastModified": 1713212762, + "narHash": "sha256-UQwudEVEWUVjCWvGDVyq/FXo4I92hH8QFgmRqOgPN2s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "82829f5324143e069d48f52e8af4fd8603609441", + "rev": "69be1d097dd9a8422cfc4e89811304fb40f22626", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1713013257, - "narHash": "sha256-ZEfGB3YCBVggvk0BQIqVY7J8XF/9jxQ68fCca6nib+8=", + "lastModified": 1713145326, + "narHash": "sha256-m7+IWM6mkWOg22EC5kRUFCycXsXLSU7hWmHdmBfmC3s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "90055d5e616bd943795d38808c94dbf0dd35abe8", + "rev": "53a2c32bc66f5ae41a28d7a9a49d321172af621e", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1713161802, - "narHash": "sha256-jn3liafRwxUlqeimoof+Vz0NPLpUfhMmr+dQSA/lh0U=", + "lastModified": 1713274099, + "narHash": "sha256-7Y/0iVsaswxW4YTn8s5kuIQzuPq7Q/JWiQJbonW3CpA=", "owner": "nix-community", "repo": "NUR", - "rev": "bd73240bff825d7fa7001eda864265399c6486b1", + "rev": "af731823f6b440f86e4229ecbaedb887db53a1d8", "type": "github" }, "original": { From b6b9b06f0ae2fd3061fa0f5e2d0fb9b7eda6a949 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 16 Apr 2024 17:58:06 +0200 Subject: [PATCH 1746/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 41 ++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e5f07b35..dc452115 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, - "LuaSnip": { "branch": "master", "commit": "825a61bad1d60d917a7962d73cf3c683f4e0407e" }, - "SchemaStore.nvim": { "branch": "main", "commit": "32e3a9654693f513a2cbb76ba99cbc9947b1352d" }, + "LuaSnip": { "branch": "master", "commit": "1d67ba34e93f74eefffc92a15d148a1bc736190e" }, + "SchemaStore.nvim": { "branch": "main", "commit": "cf82be744f4dba56d5d0c13d7fe429dd1d4c02e7" }, "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, - "catppuccin": { "branch": "main", "commit": "aebe43db9cb26e1c70fc5b2fd4158169c405e720" }, + "catppuccin": { "branch": "main", "commit": "a1439ad7c584efb3d0ce14ccb835967f030450fe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "9d5ba06d6ee7418c674f498634617416d15b6239" }, + "conform.nvim": { "branch": "master", "commit": "820eec990d5f332d30cf939954c8672a43a0459e" }, "dashboard-nvim": { "branch": "master", "commit": "681300934baf36f6184ca41f0b26aed22056d4ee" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, @@ -20,46 +20,49 @@ "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" }, - "gitsigns.nvim": { "branch": "main", "commit": "f0733b793a5e2663fd6d101de5beda68eec33967" }, + "gitsigns.nvim": { "branch": "main", "commit": "d96ef3bbff0bdbc3916a220f5c74a04c4db033f2" }, "gx.nvim": { "branch": "main", "commit": "ea4cc715326a8bd060a450c24c3c9831cdee2f59" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "inc-rename.nvim": { "branch": "main", "commit": "5e03e986625961d1fac296d1bf332a6510c3add6" }, - "incline.nvim": { "branch": "main", "commit": "385e541b9a13bcc6cd387501fb9d9af86fb3173e" }, + "incline.nvim": { "branch": "main", "commit": "3e8edbc457daab8dba087dbba319865a912be7f9" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, - "ltex_extra.nvim": { "branch": "master", "commit": "42dd3572cb09b52a137e91e515f2dff5eb631b1e" }, - "lualine.nvim": { "branch": "master", "commit": "b5e8bb642138f787a2c1c5aedc2a78cb2cebbd67" }, + "ltex_extra.nvim": { "branch": "master", "commit": "4296c2c7aefbca721d02a011366a1de30598046c" }, + "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "44509689b9bf3984d729cc264aacb31cb7f41668" }, "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, "mini.animate": { "branch": "main", "commit": "82519630b2760ffc516ebc387bef632f9c07b9f5" }, "mini.bracketed": { "branch": "main", "commit": "65c7dfb51e832de9e279e5d5b0741e7af6755ab5" }, "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, - "mini.comment": { "branch": "main", "commit": "75261c2f5945cca0c8358d88c52714c6bcdc9981" }, - "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, + "mini.comment": { "branch": "main", "commit": "f9f1a646fd3d9df7397aa1b9550a875fe8189eb0" }, + "mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" }, "mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, - "mini.surround": { "branch": "main", "commit": "49e0364b8c9a3258b485c5ece40bb0f3a5e94b1c" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" }, + "mini.surround": { "branch": "main", "commit": "d035934958e2605048ee1378ce47cf799f7071d4" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, + "neoconf.nvim": { "branch": "main", "commit": "a21eeb899f8303d01e7f3307db564caef52ea73e" }, + "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "neogen": { "branch": "main", "commit": "0daffcec249bf42275e322361fe55b89a05ff278" }, "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, "nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-lint": { "branch": "master", "commit": "ffa213532e7a921f03262004b87d93e50c5b5275" }, - "nvim-lspconfig": { "branch": "master", "commit": "96e5711040df23583591391ce49e556b8cd248d8" }, + "nvim-lint": { "branch": "master", "commit": "4055dc856d5ac8f6b85748006fd8fa6457e086e8" }, + "nvim-lspconfig": { "branch": "master", "commit": "9266dc26862d8f3556c2ca77602e811472b4c5b8" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, "nvim-spider": { "branch": "main", "commit": "828444de406bc7df3b30c8e000ce6f54f0754499" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "8f444c9fcb7f9610184a34b44e922fa30989c96f" }, - "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "f5183cea0fda26126e22e789382c208e7b1120f4" }, + "nvim-treesitter": { "branch": "master", "commit": "7099c9e5310ec3ef70f99e8c935c061ae9990cdd" }, + "nvim-treesitter-context": { "branch": "master", "commit": "c24a7a6dc5fde325af844d165323aa6f7082866e" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "734ebad31c81c6198dfe102aa23280937c937c42" }, "nvim-ufo": { "branch": "main", "commit": "a5390706f510d39951dd581f6d2a972741b3fa26" }, - "nvim-web-devicons": { "branch": "master", "commit": "3ee60deaa539360518eaab93a6c701fe9f4d82ef" }, + "nvim-web-devicons": { "branch": "master", "commit": "b3468391470034353f0e5110c70babb5c62967d3" }, "outline.nvim": { "branch": "main", "commit": "bdfd2da90e9a7686d00e55afa9f772c4b6809413" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, @@ -73,7 +76,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-terraform-doc.nvim": { "branch": "main", "commit": "e09181f76acefaf66d2b55149bebe939828234b4" }, "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, - "telescope.nvim": { "branch": "master", "commit": "4626aaa2bcfdacf55fd6d44b430e2df81b2403ff" }, + "telescope.nvim": { "branch": "master", "commit": "d00d9df48c00d8682c14c2b5da78bda7ef06b939" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, "tokyonight.nvim": { "branch": "main", "commit": "9bf9ec53d5e87b025e2404069b71e7ebdc3a13e5" }, "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, From 83f787ffc00c6853627b2293d58a15d18473f38a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 17 Apr 2024 09:23:25 +0200 Subject: [PATCH 1747/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/20f618e5c0cf105e476fb813538ce054d914e5ee' (2024-04-16) → 'github:nix-community/neovim-nightly-overlay/542a3c18b471dbaaf8ffda27a65d3aa8e829a5e2' (2024-04-17) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/8c970d34034c874ab12b924a5e057997797868f4?dir=contrib' (2024-04-15) → 'github:neovim/neovim/2f371ad7d0294072d407bb05816425b5694d1935?dir=contrib' (2024-04-16) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/2748d22b45a99fb2deafa5f11c7531c212b2cefa' (2024-04-14) → 'github:NixOS/nixpkgs/2fd19c8be2551a61c1ddc3d9f86d748f4db94f00' (2024-04-16) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/cfd6b5fc90b15709b780a5a1619695a88505a176' (2024-04-12) → 'github:nixos/nixpkgs/5672bc9dbf9d88246ddab5ac454e82318d094bb8' (2024-04-16) • Updated input 'nur': 'github:nix-community/NUR/af731823f6b440f86e4229ecbaedb887db53a1d8' (2024-04-16) → 'github:nix-community/NUR/cfccac54c56fc93361c36804b340364700a66def' (2024-04-17) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index c769d4c0..15071d30 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1713224895, - "narHash": "sha256-zu0iktDPgweB4KRRYc4Qmqi86u6UggJsctx2b+LObYo=", + "lastModified": 1713307949, + "narHash": "sha256-hfiUG/nGWaPnYdiDXVHagVLoezxflWHdKiAtghkIHYc=", "owner": "neovim", "repo": "neovim", - "rev": "8c970d34034c874ab12b924a5e057997797868f4", + "rev": "2f371ad7d0294072d407bb05816425b5694d1935", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1713225809, - "narHash": "sha256-sTQmsPydtcomXMgVf0ipvfgjt3XEBDjg8oDBjonc6tY=", + "lastModified": 1713312222, + "narHash": "sha256-81xZFNHBLV8+oD3Q3SkesXFLh2U1UFeGQBLw75moOh4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "20f618e5c0cf105e476fb813538ce054d914e5ee", + "rev": "542a3c18b471dbaaf8ffda27a65d3aa8e829a5e2", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713128889, - "narHash": "sha256-aB90ZqzosyRDpBh+rILIcyP5lao8SKz8Sr2PSWvZrzk=", + "lastModified": 1713254108, + "narHash": "sha256-0TZIsfDbHG5zibtlw6x0yOp3jkInIGaJ35B7Y4G8Pec=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2748d22b45a99fb2deafa5f11c7531c212b2cefa", + "rev": "2fd19c8be2551a61c1ddc3d9f86d748f4db94f00", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1712963716, - "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", + "lastModified": 1713248628, + "narHash": "sha256-NLznXB5AOnniUtZsyy/aPWOk8ussTuePp2acb9U+ISA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", + "rev": "5672bc9dbf9d88246ddab5ac454e82318d094bb8", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1713274099, - "narHash": "sha256-7Y/0iVsaswxW4YTn8s5kuIQzuPq7Q/JWiQJbonW3CpA=", + "lastModified": 1713335389, + "narHash": "sha256-7jj1/fiH2+gFEmKzOXpvCsw9KPoNjTHlmX5Vl00cHmg=", "owner": "nix-community", "repo": "NUR", - "rev": "af731823f6b440f86e4229ecbaedb887db53a1d8", + "rev": "cfccac54c56fc93361c36804b340364700a66def", "type": "github" }, "original": { From cb6100a51182545eed7e9d3382c19b576c61e74c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 17 Apr 2024 16:48:29 +0200 Subject: [PATCH 1748/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index dc452115..0884da89 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, - "LuaSnip": { "branch": "master", "commit": "1d67ba34e93f74eefffc92a15d148a1bc736190e" }, - "SchemaStore.nvim": { "branch": "main", "commit": "cf82be744f4dba56d5d0c13d7fe429dd1d4c02e7" }, + "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, + "SchemaStore.nvim": { "branch": "main", "commit": "f660f74bcaae950a77c69dda91270063c8cbd692" }, "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, "catppuccin": { "branch": "main", "commit": "a1439ad7c584efb3d0ce14ccb835967f030450fe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -20,7 +20,7 @@ "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" }, - "gitsigns.nvim": { "branch": "main", "commit": "d96ef3bbff0bdbc3916a220f5c74a04c4db033f2" }, + "gitsigns.nvim": { "branch": "main", "commit": "cd6c831a3ab7325fc75c3c491fdee3983774309d" }, "gx.nvim": { "branch": "main", "commit": "ea4cc715326a8bd060a450c24c3c9831cdee2f59" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "inc-rename.nvim": { "branch": "main", "commit": "5e03e986625961d1fac296d1bf332a6510c3add6" }, @@ -42,25 +42,25 @@ "mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, "mini.surround": { "branch": "main", "commit": "d035934958e2605048ee1378ce47cf799f7071d4" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, - "neoconf.nvim": { "branch": "main", "commit": "a21eeb899f8303d01e7f3307db564caef52ea73e" }, + "neoconf.nvim": { "branch": "main", "commit": "a7da418753379af428f5d26ac91aa6fc18baf86e" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "neogen": { "branch": "main", "commit": "0daffcec249bf42275e322361fe55b89a05ff278" }, "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, "nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-lint": { "branch": "master", "commit": "4055dc856d5ac8f6b85748006fd8fa6457e086e8" }, + "nvim-lint": { "branch": "master", "commit": "f098232d70cebe90e27404928c9bc19ca7a5a7b5" }, "nvim-lspconfig": { "branch": "master", "commit": "9266dc26862d8f3556c2ca77602e811472b4c5b8" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, "nvim-spider": { "branch": "main", "commit": "828444de406bc7df3b30c8e000ce6f54f0754499" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "7099c9e5310ec3ef70f99e8c935c061ae9990cdd" }, + "nvim-treesitter": { "branch": "master", "commit": "b350369740e885c85f0f62dd8fe645c6f887ddc6" }, "nvim-treesitter-context": { "branch": "master", "commit": "c24a7a6dc5fde325af844d165323aa6f7082866e" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "734ebad31c81c6198dfe102aa23280937c937c42" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "a6382f744f584bbf71d0a563af789af7190aabda" }, "nvim-ufo": { "branch": "main", "commit": "a5390706f510d39951dd581f6d2a972741b3fa26" }, "nvim-web-devicons": { "branch": "master", "commit": "b3468391470034353f0e5110c70babb5c62967d3" }, "outline.nvim": { "branch": "main", "commit": "bdfd2da90e9a7686d00e55afa9f772c4b6809413" }, From a722a52091e5adcb9808d8adf86b1ded78d0a3de Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 18 Apr 2024 08:51:09 +0200 Subject: [PATCH 1749/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/542a3c18b471dbaaf8ffda27a65d3aa8e829a5e2' (2024-04-17) → 'github:nix-community/neovim-nightly-overlay/0357dd0ccc62d66bf3b916fb5c7409c92b5dbec7' (2024-04-18) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/2f371ad7d0294072d407bb05816425b5694d1935?dir=contrib' (2024-04-16) → 'github:neovim/neovim/562719033ec8bec9f6d56c166b9aef13f8a50a96?dir=contrib' (2024-04-17) • Updated input 'nix2lua': 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=0102c7e7ab8b7c36a31b5a513f41bf0187985279' (2024-03-12) → 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=98eaf7a9c2a7e608387debeca8f403885fbec0e4' (2024-04-17) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/69be1d097dd9a8422cfc4e89811304fb40f22626' (2024-04-15) → 'github:nixos/nixpkgs/429d6735f20e1741e096aa1c72ffa3d0127cf78e' (2024-04-17) • Updated input 'nur': 'github:nix-community/NUR/cfccac54c56fc93361c36804b340364700a66def' (2024-04-17) → 'github:nix-community/NUR/3e25043f372e21c2d0f8ee9b0e0b1b6c6b5bfe0b' (2024-04-18) --- flake.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index 15071d30..ccdcc74e 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1713307949, - "narHash": "sha256-hfiUG/nGWaPnYdiDXVHagVLoezxflWHdKiAtghkIHYc=", + "lastModified": 1713392591, + "narHash": "sha256-k7d4HX+HZgRGy6bGtZ5VjuhCrrBd3PoYvdwbeT34Mrs=", "owner": "neovim", "repo": "neovim", - "rev": "2f371ad7d0294072d407bb05816425b5694d1935", + "rev": "562719033ec8bec9f6d56c166b9aef13f8a50a96", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1713312222, - "narHash": "sha256-81xZFNHBLV8+oD3Q3SkesXFLh2U1UFeGQBLw75moOh4=", + "lastModified": 1713398630, + "narHash": "sha256-mTW1HDy3630zZU/1TiKRmDi/TjiVLtg3BQlQD3hukJQ=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "542a3c18b471dbaaf8ffda27a65d3aa8e829a5e2", + "rev": "0357dd0ccc62d66bf3b916fb5c7409c92b5dbec7", "type": "github" }, "original": { @@ -188,11 +188,11 @@ }, "nix2lua": { "locked": { - "lastModified": 1710277808, - "narHash": "sha256-VTHZEKXVcThZr7wsnV+8Ewg2BExMZMfuZzjQbRc8njQ=", + "lastModified": 1713368896, + "narHash": "sha256-ivvxVxSpuri8rYP3FVdcxSRrabejAz6iAQvXqdzEGLc=", "ref": "refs/heads/main", - "rev": "0102c7e7ab8b7c36a31b5a513f41bf0187985279", - "revCount": 20, + "rev": "98eaf7a9c2a7e608387debeca8f403885fbec0e4", + "revCount": 29, "type": "git", "url": "https://git.pleshevski.ru/mynix/nix2lua" }, @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1713212762, - "narHash": "sha256-UQwudEVEWUVjCWvGDVyq/FXo4I92hH8QFgmRqOgPN2s=", + "lastModified": 1713384257, + "narHash": "sha256-p02PQxiyp4FjuoQLpqBcC3WMV1/GiNwMWJ2f9Iq43g4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "69be1d097dd9a8422cfc4e89811304fb40f22626", + "rev": "429d6735f20e1741e096aa1c72ffa3d0127cf78e", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1713335389, - "narHash": "sha256-7jj1/fiH2+gFEmKzOXpvCsw9KPoNjTHlmX5Vl00cHmg=", + "lastModified": 1713422661, + "narHash": "sha256-heHi22mpgH+WEpfZHsY2UTxgc7ktNSCDwxaOoQj9JoU=", "owner": "nix-community", "repo": "NUR", - "rev": "cfccac54c56fc93361c36804b340364700a66def", + "rev": "3e25043f372e21c2d0f8ee9b0e0b1b6c6b5bfe0b", "type": "github" }, "original": { From 1a441e979af2663b93a358eb59257c2677332273 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 18 Apr 2024 09:57:56 +0200 Subject: [PATCH 1750/2080] Install tig --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 728c93ec..4d06ade9 100644 --- a/home/main.nix +++ b/home/main.nix @@ -45,6 +45,7 @@ silver-searcher tailspin thefuck + tig tree unzip vdirsyncer From 696c62ea9581681a9da7521124ad7fb3607c5d3f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 18 Apr 2024 10:01:28 +0200 Subject: [PATCH 1751/2080] macos: no more install kitty from brew. --- machines/Baptistes-MBP/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index f86240f5..35850597 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -47,8 +47,6 @@ # XXX: install from pkgs does not work "drawio" "joplin" - # XXX: app not showing in dash, safer to install from brew - "kitty" # Clipboard manager "maccy" "mumble" From 35cf15fe3d335914c32695f7a67cbeb974394d92 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 18 Apr 2024 10:38:43 +0200 Subject: [PATCH 1752/2080] LazyVim: use default diffview configuration --- lazyvim/nvim/lua/plugins/tools.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index d7255e3f..acca2ac5 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -36,9 +36,6 @@ return { -- better diffing { "sindrets/diffview.nvim", - cmd = { "DiffviewOpen", "DiffviewClose", "DiffviewToggleFiles", "DiffviewFocusFiles" }, - config = true, - keys = { { "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "DiffView" } }, }, -- Color hex/rgb color codes From 800b51f7169cb25a305c4c4530a4cd8c97a83add Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 18 Apr 2024 10:39:09 +0200 Subject: [PATCH 1753/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 0884da89..e1872cc3 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, - "SchemaStore.nvim": { "branch": "main", "commit": "f660f74bcaae950a77c69dda91270063c8cbd692" }, + "SchemaStore.nvim": { "branch": "main", "commit": "4ace5d886d826452abee415ff92bda986e2c01c6" }, "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, "catppuccin": { "branch": "main", "commit": "a1439ad7c584efb3d0ce14ccb835967f030450fe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -12,15 +12,15 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "820eec990d5f332d30cf939954c8672a43a0459e" }, - "dashboard-nvim": { "branch": "master", "commit": "681300934baf36f6184ca41f0b26aed22056d4ee" }, + "conform.nvim": { "branch": "master", "commit": "a6965ac128eba75537ec2bc5ddd5d5e357062bdc" }, + "dashboard-nvim": { "branch": "master", "commit": "6d06924b562de6f0bb136edf1bf549afbf6b7d00" }, "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" }, - "gitsigns.nvim": { "branch": "main", "commit": "cd6c831a3ab7325fc75c3c491fdee3983774309d" }, + "gitsigns.nvim": { "branch": "main", "commit": "52f8da33cc0cadbf1164c4a91c8bfd6895533d67" }, "gx.nvim": { "branch": "main", "commit": "ea4cc715326a8bd060a450c24c3c9831cdee2f59" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "inc-rename.nvim": { "branch": "main", "commit": "5e03e986625961d1fac296d1bf332a6510c3add6" }, @@ -50,13 +50,13 @@ "nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, "nvim-lint": { "branch": "master", "commit": "f098232d70cebe90e27404928c9bc19ca7a5a7b5" }, - "nvim-lspconfig": { "branch": "master", "commit": "9266dc26862d8f3556c2ca77602e811472b4c5b8" }, + "nvim-lspconfig": { "branch": "master", "commit": "9eb6d866840df0f3fb1d2e8f34a7e0cfdf80f980" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, + "nvim-spectre": { "branch": "master", "commit": "9653847cf2f225648967f6e9363643e327387579" }, "nvim-spider": { "branch": "main", "commit": "828444de406bc7df3b30c8e000ce6f54f0754499" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "b350369740e885c85f0f62dd8fe645c6f887ddc6" }, + "nvim-treesitter": { "branch": "master", "commit": "208d504421e4ac53f4230a34cd4b831e8e76cb69" }, "nvim-treesitter-context": { "branch": "master", "commit": "c24a7a6dc5fde325af844d165323aa6f7082866e" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, From 04bd57d1cb7e180996337a8ab9549746c93916d9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 18 Apr 2024 10:39:21 +0200 Subject: [PATCH 1754/2080] kitty: use nixpkg unstable version, tamper with fonts config. --- modules/home/kitty/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index bf642fbf..41aecfd3 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -1,10 +1,11 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, pkgs-unstable, ... }: { # Kitty terminal # https://sw.kovidgoyal.net/kitty/conf.html - # https://rycee.gitlab.io/home-manager/options.html#opt-programs.kitty.enable + # https://nix-community.github.io/home-manager/options.xhtml#opt-programs.kitty.enable programs.kitty.enable = true; + programs.kitty.package = pkgs-unstable.kitty; # Use a static configuration file for colors home.file.".config/kitty/tokyonight_storm.conf".source = ./tokyonight_storm.conf; @@ -14,7 +15,9 @@ # General config # https://sw.kovidgoyal.net/kitty/conf/ programs.kitty.settings = { - font_family = "Cascadia Code PL"; + font_family = "JetBrainsMono"; + # font_family = "Cascadia Code PL"; + # font_family = "Menlo"; font_size = "16.0"; adjust_line_height = "140%"; disable_ligatures = "cursor"; # disable ligatures when cursor is on them @@ -47,6 +50,7 @@ # https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D JetBrainsMono Nerd Font"; + # symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D Menlo"; ''; } From 7f8b6b82a6bcba49dd4f4576246a9577e5f72dfe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 18 Apr 2024 10:40:23 +0200 Subject: [PATCH 1755/2080] nvim lsp: disable rnix that got archived --- lazyvim/nvim/lua/plugins/lsp.lua | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index da99ba5b..2fe18b12 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -134,10 +134,11 @@ return { -- }, }, pyright = {}, - rnix = { - -- rnix-lsp is installed using nix - mason = false, - }, + -- FIXME: deprecated + -- rnix = { + -- -- rnix-lsp is installed using nix + -- mason = false, + -- }, texlab = {}, -- XXX: disabled as it's to beinstalled manually -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp From b10d6b94915553c3b6b82927576f9943ad388a10 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 22 Apr 2024 11:42:39 +0200 Subject: [PATCH 1756/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/36524adc31566655f2f4d55ad6b875fb5c1a4083' (2024-03-30) → 'github:lnl7/nix-darwin/9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed' (2024-04-19) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0357dd0ccc62d66bf3b916fb5c7409c92b5dbec7' (2024-04-18) → 'github:nix-community/neovim-nightly-overlay/cd9edee4273760731d7fe7efa44a706bd5c87c93' (2024-04-22) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/64e7763d72c1e4c1e5e6472640615b6ae2d40fbf' (2024-03-15) → 'github:hercules-ci/hercules-ci-effects/4615d28841e93f6f549fde9188caf493b3822668' (2024-04-21) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/562719033ec8bec9f6d56c166b9aef13f8a50a96?dir=contrib' (2024-04-17) → 'github:neovim/neovim/35e38833c54565b05a0c33ba44694fc1077dce97?dir=contrib' (2024-04-21) • Updated input 'neovim-nightly-overlay/neovim-flake/flake-utils': 'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04) → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/2fd19c8be2551a61c1ddc3d9f86d748f4db94f00' (2024-04-16) → 'github:NixOS/nixpkgs/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c' (2024-04-21) • Updated input 'nix2lua': 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=98eaf7a9c2a7e608387debeca8f403885fbec0e4' (2024-04-17) → 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=3c08fa87d14704db1c1648b2486ed49e721dfe18' (2024-04-20) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/53a2c32bc66f5ae41a28d7a9a49d321172af621e' (2024-04-15) → 'github:NixOS/nixpkgs/a5e4bbcb4780c63c79c87d29ea409abf097de3f7' (2024-04-21) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/429d6735f20e1741e096aa1c72ffa3d0127cf78e' (2024-04-17) → 'github:nixos/nixpkgs/9547e21b2e445e063268489ff4a1c2b9e8ce9cc6' (2024-04-21) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/5672bc9dbf9d88246ddab5ac454e82318d094bb8' (2024-04-16) → 'github:nixos/nixpkgs/5c24cf2f0a12ad855f444c30b2421d044120c66f' (2024-04-19) • Updated input 'nur': 'github:nix-community/NUR/3e25043f372e21c2d0f8ee9b0e0b1b6c6b5bfe0b' (2024-04-18) → 'github:nix-community/NUR/a9d8891ee925e450f1e94cdf0f8004ea2aa698a9' (2024-04-22) --- flake.lock | 68 +++++++++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index ccdcc74e..74754924 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1711763326, - "narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=", + "lastModified": 1713543876, + "narHash": "sha256-olEWxacm1xZhAtpq+ZkEyQgR4zgfE7ddpNtZNvubi3g=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083", + "rev": "9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed", "type": "github" }, "original": { @@ -84,11 +84,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1710478346, - "narHash": "sha256-Xjf8BdnQG0tLhPMlqQdwCIjOp7Teox0DP3N/jjyiGM4=", + "lastModified": 1713722610, + "narHash": "sha256-kcZsbH1PQTG+sS22u/igLq2SaBEHJgmU5hoKzrT2ukI=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "64e7763d72c1e4c1e5e6472640615b6ae2d40fbf", + "rev": "4615d28841e93f6f549fde9188caf493b3822668", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1713392591, - "narHash": "sha256-k7d4HX+HZgRGy6bGtZ5VjuhCrrBd3PoYvdwbeT34Mrs=", + "lastModified": 1713738262, + "narHash": "sha256-DAO/QGWvkFgtr4T3N846+RD3r2y28FT1euxBrksF81Q=", "owner": "neovim", "repo": "neovim", - "rev": "562719033ec8bec9f6d56c166b9aef13f8a50a96", + "rev": "35e38833c54565b05a0c33ba44694fc1077dce97", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1713398630, - "narHash": "sha256-mTW1HDy3630zZU/1TiKRmDi/TjiVLtg3BQlQD3hukJQ=", + "lastModified": 1713744246, + "narHash": "sha256-yiA1w/cDsDImpysY3laG0LME5gObhpkt9wGAEjYS5zU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0357dd0ccc62d66bf3b916fb5c7409c92b5dbec7", + "rev": "cd9edee4273760731d7fe7efa44a706bd5c87c93", "type": "github" }, "original": { @@ -188,11 +188,11 @@ }, "nix2lua": { "locked": { - "lastModified": 1713368896, - "narHash": "sha256-ivvxVxSpuri8rYP3FVdcxSRrabejAz6iAQvXqdzEGLc=", + "lastModified": 1713645801, + "narHash": "sha256-pev5YkdskHDS4OpGdYb5F/44hKrFmqzCwNGs0vSzqM8=", "ref": "refs/heads/main", - "rev": "98eaf7a9c2a7e608387debeca8f403885fbec0e4", - "revCount": 29, + "rev": "3c08fa87d14704db1c1648b2486ed49e721dfe18", + "revCount": 37, "type": "git", "url": "https://git.pleshevski.ru/mynix/nix2lua" }, @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713254108, - "narHash": "sha256-0TZIsfDbHG5zibtlw6x0yOp3jkInIGaJ35B7Y4G8Pec=", + "lastModified": 1713687659, + "narHash": "sha256-Yd8KuOBpZ0Slau/NxFhMPJI0gBxeax0vq/FD0rqKwuQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2fd19c8be2551a61c1ddc3d9f86d748f4db94f00", + "rev": "f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1713384257, - "narHash": "sha256-p02PQxiyp4FjuoQLpqBcC3WMV1/GiNwMWJ2f9Iq43g4=", + "lastModified": 1713728923, + "narHash": "sha256-D/hNhTWa6pkaR2yDdhTqkDXTaNxXraETsdIKt/7KtWs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "429d6735f20e1741e096aa1c72ffa3d0127cf78e", + "rev": "9547e21b2e445e063268489ff4a1c2b9e8ce9cc6", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1713248628, - "narHash": "sha256-NLznXB5AOnniUtZsyy/aPWOk8ussTuePp2acb9U+ISA=", + "lastModified": 1713537308, + "narHash": "sha256-XtTSSIB2DA6tOv+l0FhvfDMiyCmhoRbNB+0SeInZkbk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5672bc9dbf9d88246ddab5ac454e82318d094bb8", + "rev": "5c24cf2f0a12ad855f444c30b2421d044120c66f", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1713145326, - "narHash": "sha256-m7+IWM6mkWOg22EC5kRUFCycXsXLSU7hWmHdmBfmC3s=", + "lastModified": 1713725259, + "narHash": "sha256-9ZR/Rbx5/Z/JZf5ehVNMoz/s5xjpP0a22tL6qNvLt5E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "53a2c32bc66f5ae41a28d7a9a49d321172af621e", + "rev": "a5e4bbcb4780c63c79c87d29ea409abf097de3f7", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1713422661, - "narHash": "sha256-heHi22mpgH+WEpfZHsY2UTxgc7ktNSCDwxaOoQj9JoU=", + "lastModified": 1713774295, + "narHash": "sha256-Z/evp2msYDi0mul2km7femF11ilgKOWT1u0neNIGcZ0=", "owner": "nix-community", "repo": "NUR", - "rev": "3e25043f372e21c2d0f8ee9b0e0b1b6c6b5bfe0b", + "rev": "a9d8891ee925e450f1e94cdf0f8004ea2aa698a9", "type": "github" }, "original": { From d3b4ae7efecca1bcc49d53e100d629bb62c04636 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 23 Apr 2024 09:43:47 +0200 Subject: [PATCH 1757/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/cd9edee4273760731d7fe7efa44a706bd5c87c93' (2024-04-22) → 'github:nix-community/neovim-nightly-overlay/7b0a51e51c4c116e540ed01e668d17023900b518' (2024-04-23) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/35e38833c54565b05a0c33ba44694fc1077dce97?dir=contrib' (2024-04-21) → 'github:neovim/neovim/39fc340276a4fdbe1f1bb4bfbe7328267ad7f9d6?dir=contrib' (2024-04-22) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c' (2024-04-21) → 'github:NixOS/nixpkgs/69ee1d82f1fa4c70a3dc9a64111e7eef3b8e4527' (2024-04-21) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/9547e21b2e445e063268489ff4a1c2b9e8ce9cc6' (2024-04-21) → 'github:nixos/nixpkgs/d4df7c26d03e94dbdabbd350cb89c9565cae07bb' (2024-04-22) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/5c24cf2f0a12ad855f444c30b2421d044120c66f' (2024-04-19) → 'github:nixos/nixpkgs/6143fc5eeb9c4f00163267708e26191d1e918932' (2024-04-21) • Updated input 'nur': 'github:nix-community/NUR/a9d8891ee925e450f1e94cdf0f8004ea2aa698a9' (2024-04-22) → 'github:nix-community/NUR/25cca1001d9e88bd12cdadc36d07142b9fa25f16' (2024-04-23) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 74754924..babecd4d 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1713738262, - "narHash": "sha256-DAO/QGWvkFgtr4T3N846+RD3r2y28FT1euxBrksF81Q=", + "lastModified": 1713809929, + "narHash": "sha256-0GB//RpezlOsI9+1/oT8PkEIO8I4DGfAfw3KotTSnzQ=", "owner": "neovim", "repo": "neovim", - "rev": "35e38833c54565b05a0c33ba44694fc1077dce97", + "rev": "39fc340276a4fdbe1f1bb4bfbe7328267ad7f9d6", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1713744246, - "narHash": "sha256-yiA1w/cDsDImpysY3laG0LME5gObhpkt9wGAEjYS5zU=", + "lastModified": 1713830781, + "narHash": "sha256-Xizkp8EgHpLlUZOhN4PpwRlMaL0xcVxdQORS4eGaKmg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "cd9edee4273760731d7fe7efa44a706bd5c87c93", + "rev": "7b0a51e51c4c116e540ed01e668d17023900b518", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713687659, - "narHash": "sha256-Yd8KuOBpZ0Slau/NxFhMPJI0gBxeax0vq/FD0rqKwuQ=", + "lastModified": 1713714268, + "narHash": "sha256-ZJGnom7YthvNxUZLdUzy5VePTwYgDYcnnPpyHT4n9lY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c", + "rev": "69ee1d82f1fa4c70a3dc9a64111e7eef3b8e4527", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1713728923, - "narHash": "sha256-D/hNhTWa6pkaR2yDdhTqkDXTaNxXraETsdIKt/7KtWs=", + "lastModified": 1713787398, + "narHash": "sha256-TFRzgAjRgwXpDucaPZfVz9mRyH2wGM6oYABe1q/20iI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9547e21b2e445e063268489ff4a1c2b9e8ce9cc6", + "rev": "d4df7c26d03e94dbdabbd350cb89c9565cae07bb", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1713537308, - "narHash": "sha256-XtTSSIB2DA6tOv+l0FhvfDMiyCmhoRbNB+0SeInZkbk=", + "lastModified": 1713714899, + "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5c24cf2f0a12ad855f444c30b2421d044120c66f", + "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1713774295, - "narHash": "sha256-Z/evp2msYDi0mul2km7femF11ilgKOWT1u0neNIGcZ0=", + "lastModified": 1713854073, + "narHash": "sha256-r7r01yd6/oZ18XvtCy9dvonH7aRKEcW+t24iqUUblnw=", "owner": "nix-community", "repo": "NUR", - "rev": "a9d8891ee925e450f1e94cdf0f8004ea2aa698a9", + "rev": "25cca1001d9e88bd12cdadc36d07142b9fa25f16", "type": "github" }, "original": { From 4898d8c34138cbea7b97929cc143866b361fb10e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 24 Apr 2024 09:57:55 +0200 Subject: [PATCH 1758/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/7b0a51e51c4c116e540ed01e668d17023900b518' (2024-04-23) → 'github:nix-community/neovim-nightly-overlay/36ebd81eec6aa60234a031ab012dd704329d29f0' (2024-04-24) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/4615d28841e93f6f549fde9188caf493b3822668' (2024-04-21) → 'github:hercules-ci/hercules-ci-effects/c0302ec12d569532a6b6bd218f698bc402e93adc' (2024-04-23) • Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01) → 'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d' (2024-04-01) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/39fc340276a4fdbe1f1bb4bfbe7328267ad7f9d6?dir=contrib' (2024-04-22) → 'github:neovim/neovim/c81b7849a0f677164c01cf84ecfb25c1f47acf21?dir=contrib' (2024-04-23) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/69ee1d82f1fa4c70a3dc9a64111e7eef3b8e4527' (2024-04-21) → 'github:NixOS/nixpkgs/1e1dc66fe68972a76679644a5577828b6a7e8be4' (2024-04-22) • Updated input 'nur': 'github:nix-community/NUR/25cca1001d9e88bd12cdadc36d07142b9fa25f16' (2024-04-23) → 'github:nix-community/NUR/de3c855e311a08954a18a43ea8f8bbae10ff7ac7' (2024-04-24) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index babecd4d..8c7c64fe 100644 --- a/flake.lock +++ b/flake.lock @@ -67,11 +67,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1713722610, - "narHash": "sha256-kcZsbH1PQTG+sS22u/igLq2SaBEHJgmU5hoKzrT2ukI=", + "lastModified": 1713898448, + "narHash": "sha256-6q6ojsp/Z9P2goqnxyfCSzFOD92T3Uobmj8oVAicUOs=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "4615d28841e93f6f549fde9188caf493b3822668", + "rev": "c0302ec12d569532a6b6bd218f698bc402e93adc", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1713809929, - "narHash": "sha256-0GB//RpezlOsI9+1/oT8PkEIO8I4DGfAfw3KotTSnzQ=", + "lastModified": 1713891901, + "narHash": "sha256-pL11HPJJQ9U5Lq/I5jfHPZGBcjIgm06pvcX+jF7dQrM=", "owner": "neovim", "repo": "neovim", - "rev": "39fc340276a4fdbe1f1bb4bfbe7328267ad7f9d6", + "rev": "c81b7849a0f677164c01cf84ecfb25c1f47acf21", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1713830781, - "narHash": "sha256-Xizkp8EgHpLlUZOhN4PpwRlMaL0xcVxdQORS4eGaKmg=", + "lastModified": 1713917052, + "narHash": "sha256-gFeBWAE5ju8na9C2PHOY1ivFQLON8ptZShC0yVAAf+0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7b0a51e51c4c116e540ed01e668d17023900b518", + "rev": "36ebd81eec6aa60234a031ab012dd704329d29f0", "type": "github" }, "original": { @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713714268, - "narHash": "sha256-ZJGnom7YthvNxUZLdUzy5VePTwYgDYcnnPpyHT4n9lY=", + "lastModified": 1713805509, + "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "69ee1d82f1fa4c70a3dc9a64111e7eef3b8e4527", + "rev": "1e1dc66fe68972a76679644a5577828b6a7e8be4", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1713854073, - "narHash": "sha256-r7r01yd6/oZ18XvtCy9dvonH7aRKEcW+t24iqUUblnw=", + "lastModified": 1713943539, + "narHash": "sha256-tBPVftsdffsy8D3ksn8TMuSOMI2y0pgEQ6sDT7cw4no=", "owner": "nix-community", "repo": "NUR", - "rev": "25cca1001d9e88bd12cdadc36d07142b9fa25f16", + "rev": "de3c855e311a08954a18a43ea8f8bbae10ff7ac7", "type": "github" }, "original": { From 9d75ba0a87c79f838c56b038e0dc26212c64db1e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Apr 2024 12:06:16 +0200 Subject: [PATCH 1759/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed' (2024-04-19) → 'github:lnl7/nix-darwin/230a197063de9287128e2c68a7a4b0cd7d0b50a7' (2024-04-24) • Updated input 'home-manager': 'github:nix-community/home-manager/d6bb9f934f2870e5cbc5b94c79e9db22246141ff' (2024-04-06) → 'github:nix-community/home-manager/86853e31dc1b62c6eeed11c667e8cdd0285d4411' (2024-04-25) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/36ebd81eec6aa60234a031ab012dd704329d29f0' (2024-04-24) → 'github:nix-community/neovim-nightly-overlay/506cc1bdf88d225bbb81fbf1ebe2fc26e24e1de4' (2024-04-29) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/c81b7849a0f677164c01cf84ecfb25c1f47acf21?dir=contrib' (2024-04-23) → 'github:neovim/neovim/05be00a2d172b390a2c49828eb8933492cc8345a?dir=contrib' (2024-04-28) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/1e1dc66fe68972a76679644a5577828b6a7e8be4' (2024-04-22) → 'github:NixOS/nixpkgs/2b1f64b358f2cab62617f26b3870fd0ee375d848' (2024-04-27) • Updated input 'nix2lua': 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=3c08fa87d14704db1c1648b2486ed49e721dfe18' (2024-04-20) → 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=dc43d7ceda246e634547cbb2227dd16c56b52a2b' (2024-04-24) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a5e4bbcb4780c63c79c87d29ea409abf097de3f7' (2024-04-21) → 'github:NixOS/nixpkgs/12430e43bd9b81a6b4e79e64f87c624ade701eaf' (2024-04-28) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/d4df7c26d03e94dbdabbd350cb89c9565cae07bb' (2024-04-22) → 'github:nixos/nixpkgs/06347bf1e5b9b540c5159230e1bc189fe342b0ae' (2024-04-28) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/6143fc5eeb9c4f00163267708e26191d1e918932' (2024-04-21) → 'github:nixos/nixpkgs/58a1abdbae3217ca6b702f03d3b35125d88a2994' (2024-04-27) • Updated input 'nur': 'github:nix-community/NUR/de3c855e311a08954a18a43ea8f8bbae10ff7ac7' (2024-04-24) → 'github:nix-community/NUR/25549d720af8d5ff6c7e76c09e8bdbcb8a383b03' (2024-04-29) --- flake.lock | 62 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index 8c7c64fe..77ee960a 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1713543876, - "narHash": "sha256-olEWxacm1xZhAtpq+ZkEyQgR4zgfE7ddpNtZNvubi3g=", + "lastModified": 1713946171, + "narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed", + "rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7", "type": "github" }, "original": { @@ -126,11 +126,11 @@ ] }, "locked": { - "lastModified": 1712386041, - "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=", + "lastModified": 1714043624, + "narHash": "sha256-Xn2r0Jv95TswvPlvamCC46wwNo8ALjRCMBJbGykdhcM=", "owner": "nix-community", "repo": "home-manager", - "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff", + "rev": "86853e31dc1b62c6eeed11c667e8cdd0285d4411", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1713891901, - "narHash": "sha256-pL11HPJJQ9U5Lq/I5jfHPZGBcjIgm06pvcX+jF7dQrM=", + "lastModified": 1714342203, + "narHash": "sha256-23sV1/Idz81+fwCzOcAsZwdje0ILVgFlgEjW9lUY7AQ=", "owner": "neovim", "repo": "neovim", - "rev": "c81b7849a0f677164c01cf84ecfb25c1f47acf21", + "rev": "05be00a2d172b390a2c49828eb8933492cc8345a", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1713917052, - "narHash": "sha256-gFeBWAE5ju8na9C2PHOY1ivFQLON8ptZShC0yVAAf+0=", + "lastModified": 1714349065, + "narHash": "sha256-xJlsB8djBw//ZrNBLm5qXCdEexj75iyVBq0v6D9UAjU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "36ebd81eec6aa60234a031ab012dd704329d29f0", + "rev": "506cc1bdf88d225bbb81fbf1ebe2fc26e24e1de4", "type": "github" }, "original": { @@ -188,11 +188,11 @@ }, "nix2lua": { "locked": { - "lastModified": 1713645801, - "narHash": "sha256-pev5YkdskHDS4OpGdYb5F/44hKrFmqzCwNGs0vSzqM8=", + "lastModified": 1713973306, + "narHash": "sha256-eZco7L3r60+hLjfrBYWZ25Gszq3w2JV2f4xPL8WNDWk=", "ref": "refs/heads/main", - "rev": "3c08fa87d14704db1c1648b2486ed49e721dfe18", - "revCount": 37, + "rev": "dc43d7ceda246e634547cbb2227dd16c56b52a2b", + "revCount": 39, "type": "git", "url": "https://git.pleshevski.ru/mynix/nix2lua" }, @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713805509, - "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=", + "lastModified": 1714245158, + "narHash": "sha256-9P2M0+tf1TE7Z5PwDVwhheuD2mFf6/phPr0Jvl7cxcc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1e1dc66fe68972a76679644a5577828b6a7e8be4", + "rev": "2b1f64b358f2cab62617f26b3870fd0ee375d848", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1713787398, - "narHash": "sha256-TFRzgAjRgwXpDucaPZfVz9mRyH2wGM6oYABe1q/20iI=", + "lastModified": 1714324733, + "narHash": "sha256-RrLThjnSTeKQqgLO/4nZFkMz/Fx1b++d8QIUrCgxgVo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d4df7c26d03e94dbdabbd350cb89c9565cae07bb", + "rev": "06347bf1e5b9b540c5159230e1bc189fe342b0ae", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1713714899, - "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", + "lastModified": 1714253743, + "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", + "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1713725259, - "narHash": "sha256-9ZR/Rbx5/Z/JZf5ehVNMoz/s5xjpP0a22tL6qNvLt5E=", + "lastModified": 1714272655, + "narHash": "sha256-3/ghIWCve93ngkx5eNPdHIKJP/pMzSr5Wc4rNKE1wOc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a5e4bbcb4780c63c79c87d29ea409abf097de3f7", + "rev": "12430e43bd9b81a6b4e79e64f87c624ade701eaf", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1713943539, - "narHash": "sha256-tBPVftsdffsy8D3ksn8TMuSOMI2y0pgEQ6sDT7cw4no=", + "lastModified": 1714383054, + "narHash": "sha256-zUDP3ykEnDpvqeDOwqZxjufjeMgzkbf0DLwHBeSNZbA=", "owner": "nix-community", "repo": "NUR", - "rev": "de3c855e311a08954a18a43ea8f8bbae10ff7ac7", + "rev": "25549d720af8d5ff6c7e76c09e8bdbcb8a383b03", "type": "github" }, "original": { From 7d3f3b14058bad28748ba4f94819123e1aca8b85 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Apr 2024 14:48:39 +0200 Subject: [PATCH 1760/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/25549d720af8d5ff6c7e76c09e8bdbcb8a383b03' (2024-04-29) → 'github:nix-community/NUR/a16bed921e49adac4f59bbaa4d2a28c69dafdf80' (2024-04-29) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 77ee960a..a2903572 100644 --- a/flake.lock +++ b/flake.lock @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1714383054, - "narHash": "sha256-zUDP3ykEnDpvqeDOwqZxjufjeMgzkbf0DLwHBeSNZbA=", + "lastModified": 1714387460, + "narHash": "sha256-p2WP/Mr7hh9QVXCbtlqf9bj62JOIqaP+C3/09DpCoaY=", "owner": "nix-community", "repo": "NUR", - "rev": "25549d720af8d5ff6c7e76c09e8bdbcb8a383b03", + "rev": "a16bed921e49adac4f59bbaa4d2a28c69dafdf80", "type": "github" }, "original": { From 5e68a072ec9b155123892b2b4ff6d2a2215a7629 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 6 May 2024 08:55:20 +0200 Subject: [PATCH 1761/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/506cc1bdf88d225bbb81fbf1ebe2fc26e24e1de4' (2024-04-29) → 'github:nix-community/neovim-nightly-overlay/cf6844d105415e19d124f66f1e794ac08a3610c3' (2024-05-06) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d' (2024-04-01) → 'github:hercules-ci/flake-parts/e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e' (2024-05-02) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/05be00a2d172b390a2c49828eb8933492cc8345a?dir=contrib' (2024-04-28) → 'github:neovim/neovim/b024643ca7571cffb3dcc79c21dbccfe14aa3a6f?dir=contrib' (2024-05-05) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/2b1f64b358f2cab62617f26b3870fd0ee375d848' (2024-04-27) → 'github:NixOS/nixpkgs/ee4a6e0f566fe5ec79968c57a9c2c3c25f2cf41d' (2024-05-05) • Updated input 'nix2lua': 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=dc43d7ceda246e634547cbb2227dd16c56b52a2b' (2024-04-24) → 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=65d4a061a42dbbb2cc326a4554dc8bac350999b0' (2024-05-05) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/12430e43bd9b81a6b4e79e64f87c624ade701eaf' (2024-04-28) → 'github:NixOS/nixpkgs/651b4702e27a388f0f18e1b970534162dec09aff' (2024-05-04) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/06347bf1e5b9b540c5159230e1bc189fe342b0ae' (2024-04-28) → 'github:nixos/nixpkgs/d2a91fbf05f9c01ff61ea29046c5f85f12ca71de' (2024-05-05) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/58a1abdbae3217ca6b702f03d3b35125d88a2994' (2024-04-27) → 'github:nixos/nixpkgs/25865a40d14b3f9cf19f19b924e2ab4069b09588' (2024-05-05) • Updated input 'nur': 'github:nix-community/NUR/a16bed921e49adac4f59bbaa4d2a28c69dafdf80' (2024-04-29) → 'github:nix-community/NUR/b67f5a5c3989f2a875c0294f5b8620a5dbedf721' (2024-05-06) --- flake.lock | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/flake.lock b/flake.lock index a2903572..85ad695e 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1714641030, + "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1714342203, - "narHash": "sha256-23sV1/Idz81+fwCzOcAsZwdje0ILVgFlgEjW9lUY7AQ=", + "lastModified": 1714948981, + "narHash": "sha256-oBN706nJUijfxWjfzdF3JE5xyFAyuo6IoAl3uIuNGlM=", "owner": "neovim", "repo": "neovim", - "rev": "05be00a2d172b390a2c49828eb8933492cc8345a", + "rev": "b024643ca7571cffb3dcc79c21dbccfe14aa3a6f", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1714349065, - "narHash": "sha256-xJlsB8djBw//ZrNBLm5qXCdEexj75iyVBq0v6D9UAjU=", + "lastModified": 1714953847, + "narHash": "sha256-jhtlABXGvOvJBGrV4JV5Ublo45TGhFx5ig3f5rO8Qss=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "506cc1bdf88d225bbb81fbf1ebe2fc26e24e1de4", + "rev": "cf6844d105415e19d124f66f1e794ac08a3610c3", "type": "github" }, "original": { @@ -188,11 +188,11 @@ }, "nix2lua": { "locked": { - "lastModified": 1713973306, - "narHash": "sha256-eZco7L3r60+hLjfrBYWZ25Gszq3w2JV2f4xPL8WNDWk=", + "lastModified": 1714950962, + "narHash": "sha256-BFXPReb658A4OmuPMMkGN77sTDmXDMnii4IC997ZPvo=", "ref": "refs/heads/main", - "rev": "dc43d7ceda246e634547cbb2227dd16c56b52a2b", - "revCount": 39, + "rev": "65d4a061a42dbbb2cc326a4554dc8bac350999b0", + "revCount": 40, "type": "git", "url": "https://git.pleshevski.ru/mynix/nix2lua" }, @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714245158, - "narHash": "sha256-9P2M0+tf1TE7Z5PwDVwhheuD2mFf6/phPr0Jvl7cxcc=", + "lastModified": 1714912032, + "narHash": "sha256-clkcOIkg8G4xuJh+1onLG4HPMpbtzdLv4rHxFzgsH9c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2b1f64b358f2cab62617f26b3870fd0ee375d848", + "rev": "ee4a6e0f566fe5ec79968c57a9c2c3c25f2cf41d", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1714324733, - "narHash": "sha256-RrLThjnSTeKQqgLO/4nZFkMz/Fx1b++d8QIUrCgxgVo=", + "lastModified": 1714939340, + "narHash": "sha256-tNqXb2x5+Ap+p3QhsffdyPKioPz42ndsszu+qcb1e1M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "06347bf1e5b9b540c5159230e1bc189fe342b0ae", + "rev": "d2a91fbf05f9c01ff61ea29046c5f85f12ca71de", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1714253743, - "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", + "lastModified": 1714906307, + "narHash": "sha256-UlRZtrCnhPFSJlDQE7M0eyhgvuuHBTe1eJ9N9AQlJQ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", + "rev": "25865a40d14b3f9cf19f19b924e2ab4069b09588", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1714272655, - "narHash": "sha256-3/ghIWCve93ngkx5eNPdHIKJP/pMzSr5Wc4rNKE1wOc=", + "lastModified": 1714782413, + "narHash": "sha256-tbg0MEuKaPcUrnmGCu4xiY5F+7LW2+ECPKVAJd2HLwM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12430e43bd9b81a6b4e79e64f87c624ade701eaf", + "rev": "651b4702e27a388f0f18e1b970534162dec09aff", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1714387460, - "narHash": "sha256-p2WP/Mr7hh9QVXCbtlqf9bj62JOIqaP+C3/09DpCoaY=", + "lastModified": 1714976822, + "narHash": "sha256-DoSDuNNZDvhP6irtsoHyCcIOZzY+Sp/7Q6PXIvI900Y=", "owner": "nix-community", "repo": "NUR", - "rev": "a16bed921e49adac4f59bbaa4d2a28c69dafdf80", + "rev": "b67f5a5c3989f2a875c0294f5b8620a5dbedf721", "type": "github" }, "original": { From 9e5b39b1fe3d0350ba3206f4b0fec67fb0e59a7e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 15 May 2024 12:16:36 +0200 Subject: [PATCH 1762/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/230a197063de9287128e2c68a7a4b0cd7d0b50a7' (2024-04-24) → 'github:lnl7/nix-darwin/de8b0d60d6fd34f35abffc46adc94ebaa6996ce2' (2024-05-14) • Updated input 'home-manager': 'github:nix-community/home-manager/86853e31dc1b62c6eeed11c667e8cdd0285d4411' (2024-04-25) → 'github:nix-community/home-manager/ab5542e9dbd13d0100f8baae2bc2d68af901f4b4' (2024-05-10) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/cf6844d105415e19d124f66f1e794ac08a3610c3' (2024-05-06) → 'github:nix-community/neovim-nightly-overlay/5c17e8ef097ee948586858a25e05bc48145a2956' (2024-05-15) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/b024643ca7571cffb3dcc79c21dbccfe14aa3a6f?dir=contrib' (2024-05-05) → 'github:neovim/neovim/7acf39ddab8ebdb63ebf78ec980149d20783fd4b?dir=contrib' (2024-05-14) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/ee4a6e0f566fe5ec79968c57a9c2c3c25f2cf41d' (2024-05-05) → 'github:NixOS/nixpkgs/abd6d48f8c77bea7dc51beb2adfa6ed3950d2585' (2024-05-14) • Updated input 'nix2lua': 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=65d4a061a42dbbb2cc326a4554dc8bac350999b0' (2024-05-05) → 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=6a096bf9a22903c92f0065ba3316d3821ddd8b72' (2024-05-10) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/651b4702e27a388f0f18e1b970534162dec09aff' (2024-05-04) → 'github:NixOS/nixpkgs/44072e24566c5bcc0b7aa9178a0104f4cfffab19' (2024-05-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/d2a91fbf05f9c01ff61ea29046c5f85f12ca71de' (2024-05-05) → 'github:nixos/nixpkgs/8a4282c38b6cbea9f0989c0eafc6ce1837a26442' (2024-05-13) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/25865a40d14b3f9cf19f19b924e2ab4069b09588' (2024-05-05) → 'github:nixos/nixpkgs/2057814051972fa1453ddfb0d98badbea9b83c06' (2024-05-12) • Updated input 'nur': 'github:nix-community/NUR/b67f5a5c3989f2a875c0294f5b8620a5dbedf721' (2024-05-06) → 'github:nix-community/NUR/0d127bc7b3b780ea0a081ec3b5c72ce62908a160' (2024-05-15) --- flake.lock | 62 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index 85ad695e..4692a407 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1713946171, - "narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=", + "lastModified": 1715653378, + "narHash": "sha256-6kbg/PI3+SBP17f4T0js3CBsMLVtlD0JqJhDKgzk1mQ=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7", + "rev": "de8b0d60d6fd34f35abffc46adc94ebaa6996ce2", "type": "github" }, "original": { @@ -126,11 +126,11 @@ ] }, "locked": { - "lastModified": 1714043624, - "narHash": "sha256-Xn2r0Jv95TswvPlvamCC46wwNo8ALjRCMBJbGykdhcM=", + "lastModified": 1715381426, + "narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=", "owner": "nix-community", "repo": "home-manager", - "rev": "86853e31dc1b62c6eeed11c667e8cdd0285d4411", + "rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1714948981, - "narHash": "sha256-oBN706nJUijfxWjfzdF3JE5xyFAyuo6IoAl3uIuNGlM=", + "lastModified": 1715728713, + "narHash": "sha256-DmODP02EhM3+O2hHKB+AVJc+5qykxDh8nz7POO6zGrI=", "owner": "neovim", "repo": "neovim", - "rev": "b024643ca7571cffb3dcc79c21dbccfe14aa3a6f", + "rev": "7acf39ddab8ebdb63ebf78ec980149d20783fd4b", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1714953847, - "narHash": "sha256-jhtlABXGvOvJBGrV4JV5Ublo45TGhFx5ig3f5rO8Qss=", + "lastModified": 1715731444, + "narHash": "sha256-Mdj0NXU5yZCyX8LWigox+ab67RQGcYpmbuw3NQr6L9E=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "cf6844d105415e19d124f66f1e794ac08a3610c3", + "rev": "5c17e8ef097ee948586858a25e05bc48145a2956", "type": "github" }, "original": { @@ -188,11 +188,11 @@ }, "nix2lua": { "locked": { - "lastModified": 1714950962, - "narHash": "sha256-BFXPReb658A4OmuPMMkGN77sTDmXDMnii4IC997ZPvo=", + "lastModified": 1715344083, + "narHash": "sha256-7UehRa7etk0oqSH4ty0nUsmeO3Z+Y1dbKwrGSlgaMIc=", "ref": "refs/heads/main", - "rev": "65d4a061a42dbbb2cc326a4554dc8bac350999b0", - "revCount": 40, + "rev": "6a096bf9a22903c92f0065ba3316d3821ddd8b72", + "revCount": 41, "type": "git", "url": "https://git.pleshevski.ru/mynix/nix2lua" }, @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714912032, - "narHash": "sha256-clkcOIkg8G4xuJh+1onLG4HPMpbtzdLv4rHxFzgsH9c=", + "lastModified": 1715653339, + "narHash": "sha256-7lR9tpVXviSccl07GXI0+ve/natd24HAkuy1sQp0OlI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ee4a6e0f566fe5ec79968c57a9c2c3c25f2cf41d", + "rev": "abd6d48f8c77bea7dc51beb2adfa6ed3950d2585", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1714939340, - "narHash": "sha256-tNqXb2x5+Ap+p3QhsffdyPKioPz42ndsszu+qcb1e1M=", + "lastModified": 1715615524, + "narHash": "sha256-t1t39+9F0NSrUQQsvrQ0Ym/BfnOtjgXnJVn8daI3968=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d2a91fbf05f9c01ff61ea29046c5f85f12ca71de", + "rev": "8a4282c38b6cbea9f0989c0eafc6ce1837a26442", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1714906307, - "narHash": "sha256-UlRZtrCnhPFSJlDQE7M0eyhgvuuHBTe1eJ9N9AQlJQ0=", + "lastModified": 1715534503, + "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "25865a40d14b3f9cf19f19b924e2ab4069b09588", + "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1714782413, - "narHash": "sha256-tbg0MEuKaPcUrnmGCu4xiY5F+7LW2+ECPKVAJd2HLwM=", + "lastModified": 1715542476, + "narHash": "sha256-FF593AtlzQqa8JpzrXyRws4CeKbc5W86o8tHt4nRfIg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "651b4702e27a388f0f18e1b970534162dec09aff", + "rev": "44072e24566c5bcc0b7aa9178a0104f4cfffab19", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1714976822, - "narHash": "sha256-DoSDuNNZDvhP6irtsoHyCcIOZzY+Sp/7Q6PXIvI900Y=", + "lastModified": 1715763397, + "narHash": "sha256-ddCsvmPylwjzJjbe4NTMqZ864HRLYA9iA0zoHGL42rE=", "owner": "nix-community", "repo": "NUR", - "rev": "b67f5a5c3989f2a875c0294f5b8620a5dbedf721", + "rev": "0d127bc7b3b780ea0a081ec3b5c72ce62908a160", "type": "github" }, "original": { From beddca56030846ea1c0634e858b9c0818da1ae5f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 15 May 2024 14:18:35 +0200 Subject: [PATCH 1763/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/44072e24566c5bcc0b7aa9178a0104f4cfffab19' (2024-05-12) → 'github:NixOS/nixpkgs/9ddcaffecdf098822d944d4147dd8da30b4e6843' (2024-05-14) • Updated input 'nur': 'github:nix-community/NUR/0d127bc7b3b780ea0a081ec3b5c72ce62908a160' (2024-05-15) → 'github:nix-community/NUR/b31fdb7ea530ed59c09de8d49737beea9c3e8a73' (2024-05-15) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 4692a407..58b65261 100644 --- a/flake.lock +++ b/flake.lock @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1715542476, - "narHash": "sha256-FF593AtlzQqa8JpzrXyRws4CeKbc5W86o8tHt4nRfIg=", + "lastModified": 1715668745, + "narHash": "sha256-xp62OkRkbUDNUc6VSqH02jB0FbOS+MsfMb7wL1RJOfA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "44072e24566c5bcc0b7aa9178a0104f4cfffab19", + "rev": "9ddcaffecdf098822d944d4147dd8da30b4e6843", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1715763397, - "narHash": "sha256-ddCsvmPylwjzJjbe4NTMqZ864HRLYA9iA0zoHGL42rE=", + "lastModified": 1715771758, + "narHash": "sha256-Y7LzqMlyF7yccVzT6vL0T4UQYEkFyNkRatECG8m2hSg=", "owner": "nix-community", "repo": "NUR", - "rev": "0d127bc7b3b780ea0a081ec3b5c72ce62908a160", + "rev": "b31fdb7ea530ed59c09de8d49737beea9c3e8a73", "type": "github" }, "original": { From e47eef05569a7d513e7f28c4f47a9d5553e70d01 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 May 2024 09:14:26 +0200 Subject: [PATCH 1764/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/de8b0d60d6fd34f35abffc46adc94ebaa6996ce2' (2024-05-14) → 'github:lnl7/nix-darwin/8bf083c992e2bc0a8c07f5860d3866739b698883' (2024-05-20) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5c17e8ef097ee948586858a25e05bc48145a2956' (2024-05-15) → 'github:nix-community/neovim-nightly-overlay/7b5ca2486bba58cac80b9229209239740b67cf90' (2024-05-16) • Updated input 'neovim-nightly-overlay/neovim-flake': 'github:neovim/neovim/7acf39ddab8ebdb63ebf78ec980149d20783fd4b?dir=contrib' (2024-05-14) → 'github:neovim/neovim/9ca81b025990911c2a0dbda92af39ba84983bac3?dir=contrib' (2024-05-15) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/abd6d48f8c77bea7dc51beb2adfa6ed3950d2585' (2024-05-14) → 'github:NixOS/nixpkgs/b3fcfcfabd01b947a1e4f36622bbffa3985bdac6' (2024-05-15) • Updated input 'nix2lua': 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=6a096bf9a22903c92f0065ba3316d3821ddd8b72' (2024-05-10) → 'git+https://git.pleshevski.ru/mynix/nix2lua?ref=refs%2fheads%2fmain&rev=4d3ae67617c2c1301a1a90601e20e15614d20319' (2024-05-20) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9ddcaffecdf098822d944d4147dd8da30b4e6843' (2024-05-14) → 'github:NixOS/nixpkgs/a8695cbd09a7ecf3376bd62c798b9864d20f86ee' (2024-05-20) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/8a4282c38b6cbea9f0989c0eafc6ce1837a26442' (2024-05-13) → 'github:nixos/nixpkgs/f88df4bf25b729d78712c441fb0910f7085e9395' (2024-05-20) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/2057814051972fa1453ddfb0d98badbea9b83c06' (2024-05-12) → 'github:nixos/nixpkgs/6c0b7a92c30122196a761b440ac0d46d3d9954f1' (2024-05-19) • Updated input 'nur': 'github:nix-community/NUR/b31fdb7ea530ed59c09de8d49737beea9c3e8a73' (2024-05-15) → 'github:nix-community/NUR/0c730b3799d45fe7966a830157a274a9792f9708' (2024-05-21) --- flake.lock | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/flake.lock b/flake.lock index 58b65261..6fb30ade 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1715653378, - "narHash": "sha256-6kbg/PI3+SBP17f4T0js3CBsMLVtlD0JqJhDKgzk1mQ=", + "lastModified": 1716240091, + "narHash": "sha256-++gJuNv0X8naF1VkaO2sAiM3T4wLx1NtdfubEsRzX7U=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "de8b0d60d6fd34f35abffc46adc94ebaa6996ce2", + "rev": "8bf083c992e2bc0a8c07f5860d3866739b698883", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1715728713, - "narHash": "sha256-DmODP02EhM3+O2hHKB+AVJc+5qykxDh8nz7POO6zGrI=", + "lastModified": 1715815279, + "narHash": "sha256-Pf7ZlqPnr195NZb5ADzMVsXurPMjRZ+JMXf6JxvXArE=", "owner": "neovim", "repo": "neovim", - "rev": "7acf39ddab8ebdb63ebf78ec980149d20783fd4b", + "rev": "9ca81b025990911c2a0dbda92af39ba84983bac3", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1715731444, - "narHash": "sha256-Mdj0NXU5yZCyX8LWigox+ab67RQGcYpmbuw3NQr6L9E=", + "lastModified": 1715817852, + "narHash": "sha256-UH5o7hT72oAavJTG2NxlpMyQe3BQMniQAsgTugWtlc4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5c17e8ef097ee948586858a25e05bc48145a2956", + "rev": "7b5ca2486bba58cac80b9229209239740b67cf90", "type": "github" }, "original": { @@ -188,11 +188,11 @@ }, "nix2lua": { "locked": { - "lastModified": 1715344083, - "narHash": "sha256-7UehRa7etk0oqSH4ty0nUsmeO3Z+Y1dbKwrGSlgaMIc=", + "lastModified": 1716215210, + "narHash": "sha256-GjwpjhNGdrGH0dElAvcKSFY3nbRw4JYOKtKMmhMsEWw=", "ref": "refs/heads/main", - "rev": "6a096bf9a22903c92f0065ba3316d3821ddd8b72", - "revCount": 41, + "rev": "4d3ae67617c2c1301a1a90601e20e15614d20319", + "revCount": 52, "type": "git", "url": "https://git.pleshevski.ru/mynix/nix2lua" }, @@ -203,11 +203,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1715653339, - "narHash": "sha256-7lR9tpVXviSccl07GXI0+ve/natd24HAkuy1sQp0OlI=", + "lastModified": 1715774670, + "narHash": "sha256-iJYnKMtLi5u6hZhJm94cRNSDG5Rz6ZzIkGbhPFtDRm0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "abd6d48f8c77bea7dc51beb2adfa6ed3950d2585", + "rev": "b3fcfcfabd01b947a1e4f36622bbffa3985bdac6", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1715615524, - "narHash": "sha256-t1t39+9F0NSrUQQsvrQ0Ym/BfnOtjgXnJVn8daI3968=", + "lastModified": 1716239187, + "narHash": "sha256-5oyOV5ZlqXYQ8RB6lvVrKxVBeBPE/ZsLY+qQKqSJLZM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8a4282c38b6cbea9f0989c0eafc6ce1837a26442", + "rev": "f88df4bf25b729d78712c441fb0910f7085e9395", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1715534503, - "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", + "lastModified": 1716137900, + "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", + "rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1715668745, - "narHash": "sha256-xp62OkRkbUDNUc6VSqH02jB0FbOS+MsfMb7wL1RJOfA=", + "lastModified": 1716218643, + "narHash": "sha256-i/E7gzQybvcGAYDRGDl39WL6yVk30Je/NXypBz6/nmM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9ddcaffecdf098822d944d4147dd8da30b4e6843", + "rev": "a8695cbd09a7ecf3376bd62c798b9864d20f86ee", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1715771758, - "narHash": "sha256-Y7LzqMlyF7yccVzT6vL0T4UQYEkFyNkRatECG8m2hSg=", + "lastModified": 1716272836, + "narHash": "sha256-zcSBq9Zunyo4yVoHhUaU74uu8pNO0NDdctVH7XHKFsg=", "owner": "nix-community", "repo": "NUR", - "rev": "b31fdb7ea530ed59c09de8d49737beea9c3e8a73", + "rev": "0c730b3799d45fe7966a830157a274a9792f9708", "type": "github" }, "original": { From e0f62d4e535b5ef14297a3eb0ec7df5c5613400f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 May 2024 17:48:58 +0200 Subject: [PATCH 1765/2080] Update nvim-colorizer conf --- lazyvim/nvim/lua/plugins/tools.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index acca2ac5..6a6b3000 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -42,7 +42,15 @@ return { { "NvChad/nvim-colorizer.lua", config = function() - require("colorizer").setup({ filetypes = { "*" } }) + require("colorizer").setup({ + filetypes = { "*" }, + cmp_docs = { + always_update = true, + }, + cmp_menu = { + always_update = true, + }, + }) end, }, From 5bf849980af3bfe65bcb5d4f42860bbcf63d54c1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 May 2024 17:55:50 +0200 Subject: [PATCH 1766/2080] yanky.nvim: disable sqlite as currently broken on (my) nix-darwin too. --- lazyvim/nvim/lua/plugins/tools.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index 6a6b3000..bdec8448 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -3,8 +3,8 @@ return { { "gbprod/yanky.nvim", opts = { - -- FIXME: not finding sqlite3 on NixOS - ring = { storage = (jit.os:find("Windows") or jit.os:find("Linux")) and "shada" or "sqlite" }, + -- FIXME: not finding sqlite3 on NixOS and now on nix-darwin + -- ring = { storage = (jit.os:find("Windows") or jit.os:find("Linux")) and "shada" or "sqlite" }, }, }, From eb4b9f8b5613106a48af2bac27df8dc7af9669b6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 May 2024 17:59:56 +0200 Subject: [PATCH 1767/2080] lazyvim: drop dial.nvim manual conf as now there is an extra --- lazyvim/nvim/lua/plugins/coding.lua | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 57d955fb..d3fec494 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -119,30 +119,6 @@ return { opts = {}, }, - -- better increase/descrease - { - "monaqa/dial.nvim", - -- stylua: ignore - keys = { - { "<C-a>", function() return require("dial.map").inc_normal() end, expr = true, desc = "Increment" }, - { "<C-x>", function() return require("dial.map").dec_normal() end, expr = true, desc = "Decrement" }, - }, - config = function() - local augend = require("dial.augend") - require("dial.config").augends:register_group({ - default = { - augend.integer.alias.decimal, - augend.integer.alias.hex, - ---@diagnostic disable-next-line: assign-type-mismatch - augend.date.alias["%Y/%m/%d"], - ---@diagnostic disable-next-line: assign-type-mismatch - augend.constant.alias.bool, - augend.semver.alias.semver, - }, - }) - end, - }, - -- Use <tab> for completion and snippets (supertab). { "L3MON4D3/LuaSnip", From c088330172c5caddbab3c4d3fccca0ff59234310 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 21 May 2024 18:08:41 +0200 Subject: [PATCH 1768/2080] lazyvim: use new extras, clean up old conf --- lazyvim/nvim/lazy-lock.json | 112 ++++++++++++++++++------------------ lazyvim/nvim/lazyvim.json | 15 +++-- 2 files changed, 68 insertions(+), 59 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e1872cc3..769d4da9 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,92 +1,94 @@ { - "LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, - "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, - "SchemaStore.nvim": { "branch": "main", "commit": "4ace5d886d826452abee415ff92bda986e2c01c6" }, - "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, - "catppuccin": { "branch": "main", "commit": "a1439ad7c584efb3d0ce14ccb835967f030450fe" }, + "LazyVim": { "branch": "main", "commit": "6aae99e76df387507dadcaaa93af97191aace714" }, + "LuaSnip": { "branch": "master", "commit": "de1a287c9cb525ae52bc846e8f6207e5ef1da5ac" }, + "SchemaStore.nvim": { "branch": "main", "commit": "4d30877ccb3499e74d3a835956258e51501785ff" }, + "bufferline.nvim": { "branch": "main", "commit": "0dfc19b7a15a3bc47b975fcffde03859c46dd097" }, + "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-lbdb": { "branch": "master", "commit": "a2f3c43c734165e64a9d413f15a2e0131e08b054" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "a6965ac128eba75537ec2bc5ddd5d5e357062bdc" }, - "dashboard-nvim": { "branch": "master", "commit": "6d06924b562de6f0bb136edf1bf549afbf6b7d00" }, - "dial.nvim": { "branch": "master", "commit": "27eb570085db2ef44bff4f620d3806039184651c" }, - "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, - "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, + "conform.nvim": { "branch": "master", "commit": "00f9d91391b04b1935e2f15948bd96cc111e7d3a" }, + "dashboard-nvim": { "branch": "master", "commit": "5182c09ac8085dc73b78ad0ea9f5479c9a866fc4" }, + "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, + "diffview.nvim": { "branch": "main", "commit": "ad03c42b2899117ff039d84ac24860a77116204b" }, + "dressing.nvim": { "branch": "master", "commit": "572314728cb1ce012e825fd66331f52c94acac12" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, - "flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, - "friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" }, - "gitsigns.nvim": { "branch": "main", "commit": "52f8da33cc0cadbf1164c4a91c8bfd6895533d67" }, - "gx.nvim": { "branch": "main", "commit": "ea4cc715326a8bd060a450c24c3c9831cdee2f59" }, + "flash.nvim": { "branch": "main", "commit": "11a2e667d19d8f48c93c6ed2e2e525ac6b1b79be" }, + "friendly-snippets": { "branch": "main", "commit": "dd2fd1281d4b22e7b4a5bfafa3e142d958e251f2" }, + "gitsigns.nvim": { "branch": "main", "commit": "805610a9393fa231f2c2b49cb521bfa413fadb3d" }, + "gx.nvim": { "branch": "main", "commit": "cf6ed6ba86ffe4e3f51a898c03a05023b7a2fe48" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, - "inc-rename.nvim": { "branch": "main", "commit": "5e03e986625961d1fac296d1bf332a6510c3add6" }, - "incline.nvim": { "branch": "main", "commit": "3e8edbc457daab8dba087dbba319865a912be7f9" }, - "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, - "lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, + "inc-rename.nvim": { "branch": "main", "commit": "7c6125b1ee476b56708a6518a37b2a3357f57bfc" }, + "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, + "indent-blankline.nvim": { "branch": "master", "commit": "ece00d5fb44d196680a81fd2761062d2fa44663b" }, + "lazy.nvim": { "branch": "main", "commit": "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86" }, "ltex_extra.nvim": { "branch": "master", "commit": "4296c2c7aefbca721d02a011366a1de30598046c" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "44509689b9bf3984d729cc264aacb31cb7f41668" }, - "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "a4caa0d083aab56f6cd5acf2d42331b74614a585" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, + "mason.nvim": { "branch": "main", "commit": "49ff59aded1047a773670651cfa40e76e63c6377" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, + "mini.ai": { "branch": "main", "commit": "a0262e61f79dfc7bb940d1719c00b0ede042ddd7" }, "mini.animate": { "branch": "main", "commit": "82519630b2760ffc516ebc387bef632f9c07b9f5" }, "mini.bracketed": { "branch": "main", "commit": "65c7dfb51e832de9e279e5d5b0741e7af6755ab5" }, - "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, - "mini.comment": { "branch": "main", "commit": "f9f1a646fd3d9df7397aa1b9550a875fe8189eb0" }, - "mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" }, - "mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, - "mini.surround": { "branch": "main", "commit": "d035934958e2605048ee1378ce47cf799f7071d4" }, + "mini.comment": { "branch": "main", "commit": "6b6da2c272545ac6a201fb45af3aba66ef96d052" }, + "mini.hipatterns": { "branch": "main", "commit": "088bbfef23e17934080f125751a94a2758ba7fdf" }, + "mini.pairs": { "branch": "main", "commit": "5c975d8f68dc1e11bf4b20ced71e7987ed782513" }, + "mini.surround": { "branch": "main", "commit": "c52aa751daf62d4a9e6ee24c4a91882ef6842f99" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, - "neoconf.nvim": { "branch": "main", "commit": "a7da418753379af428f5d26ac91aa6fc18baf86e" }, + "neoconf.nvim": { "branch": "main", "commit": "9092129e9a42ae26375001bd2e6118f8d57c7f2a" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, - "neogen": { "branch": "main", "commit": "0daffcec249bf42275e322361fe55b89a05ff278" }, - "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, - "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, - "nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" }, + "neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" }, + "noice.nvim": { "branch": "main", "commit": "9f6f6ba74f8bfbf7e43d6302cf86b070362f6203" }, + "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" }, + "nvim-ansible": { "branch": "main", "commit": "cb5d0cc79c1864b72d5ae40a926a1176b18f1b65" }, + "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-lint": { "branch": "master", "commit": "f098232d70cebe90e27404928c9bc19ca7a5a7b5" }, - "nvim-lspconfig": { "branch": "master", "commit": "9eb6d866840df0f3fb1d2e8f34a7e0cfdf80f980" }, - "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, + "nvim-dap": { "branch": "master", "commit": "5a2f7121869394502521c52b2bc581ab22c69447" }, + "nvim-dap-python": { "branch": "master", "commit": "3dffa58541d1f52c121fe58ced046268c838d802" }, + "nvim-dap-ui": { "branch": "master", "commit": "334cf3038c4756e6ab999cbac67c847fb654c190" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "3e8e207513e6ef520894950acd76b79902714103" }, + "nvim-lint": { "branch": "master", "commit": "1f98d6c863f91706369d74aeb2eb3f02b2e96861" }, + "nvim-lspconfig": { "branch": "master", "commit": "0b8165cf95806bc4bb8f745bb0c92021b2ed4b98" }, + "nvim-nio": { "branch": "master", "commit": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90" }, + "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-spectre": { "branch": "master", "commit": "9653847cf2f225648967f6e9363643e327387579" }, - "nvim-spider": { "branch": "main", "commit": "828444de406bc7df3b30c8e000ce6f54f0754499" }, + "nvim-snippets": { "branch": "main", "commit": "f394d17b9a83820714957a06c6ed8e12223f3034" }, + "nvim-spectre": { "branch": "master", "commit": "50e96602153f14c913e1969aaf9720e080394eb3" }, + "nvim-spider": { "branch": "main", "commit": "b2f2af0563bb631864cab262d483118f3610e662" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "208d504421e4ac53f4230a34cd4b831e8e76cb69" }, - "nvim-treesitter-context": { "branch": "master", "commit": "c24a7a6dc5fde325af844d165323aa6f7082866e" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c" }, - "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "a6382f744f584bbf71d0a563af789af7190aabda" }, - "nvim-ufo": { "branch": "main", "commit": "a5390706f510d39951dd581f6d2a972741b3fa26" }, - "nvim-web-devicons": { "branch": "master", "commit": "b3468391470034353f0e5110c70babb5c62967d3" }, - "outline.nvim": { "branch": "main", "commit": "bdfd2da90e9a7686d00e55afa9f772c4b6809413" }, - "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, - "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, + "nvim-treesitter": { "branch": "master", "commit": "73fb37ed77b18ac357ca8e6e35835a8db6602332" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "5f9bf4b1ead7707e4e74e5319ee56bdc81fb73db" }, + "nvim-ts-autotag": { "branch": "main", "commit": "6f38e4231c34497259121a007c61a0fd2f16403e" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "cbab9ad88036915beebd13b47e100743ff2ed2d5" }, + "nvim-ufo": { "branch": "main", "commit": "65dda6360879f6ffe0278163b9192a573a0d2a08" }, + "nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" }, + "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, + "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "93540c168c5ed2b030ec3e6c40ab8bbb85e36355" }, "refactoring.nvim": { "branch": "master", "commit": "d2786877c91aa409c824f27b4ce8a9f560dda60a" }, "semshi": { "branch": "master", "commit": "0182447e2ff4dfa04cd2dfe5f189e012c581ca45" }, - "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "2cd29996d08cec8b31270c6de64465f716ef9d71" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-terraform-doc.nvim": { "branch": "main", "commit": "e09181f76acefaf66d2b55149bebe939828234b4" }, "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, - "telescope.nvim": { "branch": "master", "commit": "d00d9df48c00d8682c14c2b5da78bda7ef06b939" }, + "telescope.nvim": { "branch": "master", "commit": "4aed63995a69e343b068c7469491a8d1592c339f" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, - "tokyonight.nvim": { "branch": "main", "commit": "9bf9ec53d5e87b025e2404069b71e7ebdc3a13e5" }, - "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, + "tokyonight.nvim": { "branch": "main", "commit": "7fc18e82575f5b482b758b6dddfe97b606819a20" }, + "trouble.nvim": { "branch": "dev", "commit": "e2185bf6e63ef9bd75f1819f43846e2b0f10953b" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "3c57922256e7e26205a25f5a42ecf7104d9f2c78" }, - "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, - "vim-matchup": { "branch": "master", "commit": "2d660e4aa7c566014c667af2cda0458043527902" }, + "venv-selector.nvim": { "branch": "main", "commit": "6a1b15eb35bbb827b6db428055087e2dbf32838f" }, + "vim-matchup": { "branch": "master", "commit": "ff3bea611696f5cfdfe61a939149daadff41f2af" }, "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 978222c6..63c1eca2 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -1,8 +1,15 @@ { "extras": [ + "lazyvim.plugins.extras.coding.luasnip", + "lazyvim.plugins.extras.coding.mini-comment", + "lazyvim.plugins.extras.coding.mini-surround", "lazyvim.plugins.extras.coding.yanky", + "lazyvim.plugins.extras.dap.core", + "lazyvim.plugins.extras.editor.dial", + "lazyvim.plugins.extras.editor.trouble-v3", "lazyvim.plugins.extras.formatting.black", "lazyvim.plugins.extras.formatting.prettier", + "lazyvim.plugins.extras.lang.ansible", "lazyvim.plugins.extras.lang.docker", "lazyvim.plugins.extras.lang.json", "lazyvim.plugins.extras.lang.markdown", @@ -13,11 +20,11 @@ "lazyvim.plugins.extras.ui.edgy", "lazyvim.plugins.extras.ui.mini-animate", "lazyvim.plugins.extras.util.dot", - "lazyvim.plugins.extras.util.project", - "lazyvim.plugins.extras.editor.outline" + "lazyvim.plugins.extras.util.mini-hipatterns", + "lazyvim.plugins.extras.util.project" ], "news": { - "NEWS.md": "3314" + "NEWS.md": "4964" }, - "version": 3 + "version": 4 } \ No newline at end of file From 78f2ffef6b572cbed3d6b90f2c6236350c0afe4f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 May 2024 15:33:33 +0200 Subject: [PATCH 1769/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 769d4da9..4906914e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,8 +1,8 @@ { - "LazyVim": { "branch": "main", "commit": "6aae99e76df387507dadcaaa93af97191aace714" }, + "LazyVim": { "branch": "main", "commit": "3ebe30685d8b5c6e3c0723b532c73b64771f1ec7" }, "LuaSnip": { "branch": "master", "commit": "de1a287c9cb525ae52bc846e8f6207e5ef1da5ac" }, - "SchemaStore.nvim": { "branch": "main", "commit": "4d30877ccb3499e74d3a835956258e51501785ff" }, - "bufferline.nvim": { "branch": "main", "commit": "0dfc19b7a15a3bc47b975fcffde03859c46dd097" }, + "SchemaStore.nvim": { "branch": "main", "commit": "9a5992a881583d886bfbb46631a09f736f0fae50" }, + "bufferline.nvim": { "branch": "main", "commit": "73edc1f2732678e7a681e3d3be49782610914f6b" }, "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, @@ -12,7 +12,7 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "00f9d91391b04b1935e2f15948bd96cc111e7d3a" }, + "conform.nvim": { "branch": "master", "commit": "55619bcb306a1a37d487ed31b360a41c343ee74a" }, "dashboard-nvim": { "branch": "master", "commit": "5182c09ac8085dc73b78ad0ea9f5479c9a866fc4" }, "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, "diffview.nvim": { "branch": "main", "commit": "ad03c42b2899117ff039d84ac24860a77116204b" }, @@ -26,7 +26,7 @@ "inc-rename.nvim": { "branch": "main", "commit": "7c6125b1ee476b56708a6518a37b2a3357f57bfc" }, "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, "indent-blankline.nvim": { "branch": "master", "commit": "ece00d5fb44d196680a81fd2761062d2fa44663b" }, - "lazy.nvim": { "branch": "main", "commit": "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86" }, + "lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" }, "ltex_extra.nvim": { "branch": "master", "commit": "4296c2c7aefbca721d02a011366a1de30598046c" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, @@ -54,19 +54,19 @@ "nvim-dap-python": { "branch": "master", "commit": "3dffa58541d1f52c121fe58ced046268c838d802" }, "nvim-dap-ui": { "branch": "master", "commit": "334cf3038c4756e6ab999cbac67c847fb654c190" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "3e8e207513e6ef520894950acd76b79902714103" }, - "nvim-lint": { "branch": "master", "commit": "1f98d6c863f91706369d74aeb2eb3f02b2e96861" }, - "nvim-lspconfig": { "branch": "master", "commit": "0b8165cf95806bc4bb8f745bb0c92021b2ed4b98" }, + "nvim-lint": { "branch": "master", "commit": "5697e6cb9588b70e260e4cc1f833ebb0bdc07617" }, + "nvim-lspconfig": { "branch": "master", "commit": "eadcee1573ca9d0e0cd36a49f620186a8dfdc607" }, "nvim-nio": { "branch": "master", "commit": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-snippets": { "branch": "main", "commit": "f394d17b9a83820714957a06c6ed8e12223f3034" }, + "nvim-snippets": { "branch": "main", "commit": "8810c044f76c7ab5fdf9e258090f1f5dac8b1c5d" }, "nvim-spectre": { "branch": "master", "commit": "50e96602153f14c913e1969aaf9720e080394eb3" }, "nvim-spider": { "branch": "main", "commit": "b2f2af0563bb631864cab262d483118f3610e662" }, "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "73fb37ed77b18ac357ca8e6e35835a8db6602332" }, + "nvim-treesitter": { "branch": "master", "commit": "30de5e7e9486fb1b1b8c2a1e71052b13f94f1cb0" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "5f9bf4b1ead7707e4e74e5319ee56bdc81fb73db" }, - "nvim-ts-autotag": { "branch": "main", "commit": "6f38e4231c34497259121a007c61a0fd2f16403e" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "cbab9ad88036915beebd13b47e100743ff2ed2d5" }, + "nvim-ts-autotag": { "branch": "main", "commit": "62db4b3054ec6847e5cb189b4dea452ce0c7ad7f" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, "nvim-ufo": { "branch": "main", "commit": "65dda6360879f6ffe0278163b9192a573a0d2a08" }, "nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" }, "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, @@ -82,8 +82,9 @@ "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, "telescope.nvim": { "branch": "master", "commit": "4aed63995a69e343b068c7469491a8d1592c339f" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, - "tokyonight.nvim": { "branch": "main", "commit": "7fc18e82575f5b482b758b6dddfe97b606819a20" }, + "tokyonight.nvim": { "branch": "main", "commit": "b9b494fa7f7bbf2fe0747b47fa290fb7a4eddcc7" }, "trouble.nvim": { "branch": "dev", "commit": "e2185bf6e63ef9bd75f1819f43846e2b0f10953b" }, + "ts-comments.nvim": { "branch": "main", "commit": "b03751c365ffd52ec63846df23a7035cc394cf58" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "6a1b15eb35bbb827b6db428055087e2dbf32838f" }, "vim-matchup": { "branch": "master", "commit": "ff3bea611696f5cfdfe61a939149daadff41f2af" }, From 35819baa4a87df518015219de07fd3bfc967ac60 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 22 May 2024 15:36:27 +0200 Subject: [PATCH 1770/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/8bf083c992e2bc0a8c07f5860d3866739b698883' (2024-05-20) → 'github:lnl7/nix-darwin/eac4f25028c1975a939c8f8fba95c12f8a25e01c' (2024-05-21) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/f88df4bf25b729d78712c441fb0910f7085e9395' (2024-05-20) → 'github:nixos/nixpkgs/8fcbc5106945623794244cae1b4add3e3469a0db' (2024-05-21) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/6c0b7a92c30122196a761b440ac0d46d3d9954f1' (2024-05-19) → 'github:nixos/nixpkgs/3eaeaeb6b1e08a016380c279f8846e0bd8808916' (2024-05-21) • Updated input 'nur': 'github:nix-community/NUR/0c730b3799d45fe7966a830157a274a9792f9708' (2024-05-21) → 'github:nix-community/NUR/2accd435c68b16a8c4076cf0de627d6d731b98f1' (2024-05-22) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 6fb30ade..380f6367 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1716240091, - "narHash": "sha256-++gJuNv0X8naF1VkaO2sAiM3T4wLx1NtdfubEsRzX7U=", + "lastModified": 1716329735, + "narHash": "sha256-ap51w+VqG21vuzyQ04WrhI2YbWHd3UGz0e7dc/QQmoA=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "8bf083c992e2bc0a8c07f5860d3866739b698883", + "rev": "eac4f25028c1975a939c8f8fba95c12f8a25e01c", "type": "github" }, "original": { @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1716239187, - "narHash": "sha256-5oyOV5ZlqXYQ8RB6lvVrKxVBeBPE/ZsLY+qQKqSJLZM=", + "lastModified": 1716292277, + "narHash": "sha256-248jDA6qGlyKvNWf8ar44xQRNxc/FmEibBTfoYeTH5Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f88df4bf25b729d78712c441fb0910f7085e9395", + "rev": "8fcbc5106945623794244cae1b4add3e3469a0db", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1716137900, - "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", + "lastModified": 1716293225, + "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1", + "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1716272836, - "narHash": "sha256-zcSBq9Zunyo4yVoHhUaU74uu8pNO0NDdctVH7XHKFsg=", + "lastModified": 1716381793, + "narHash": "sha256-MEEVJpZBf5qczuGeVOs5gqY2foZSoljgPPJ/WH+Gino=", "owner": "nix-community", "repo": "NUR", - "rev": "0c730b3799d45fe7966a830157a274a9792f9708", + "rev": "2accd435c68b16a8c4076cf0de627d6d731b98f1", "type": "github" }, "original": { From c74857c6907993c73e75c1be5e449ac576e54e68 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 23 May 2024 09:13:57 +0200 Subject: [PATCH 1771/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a8695cbd09a7ecf3376bd62c798b9864d20f86ee' (2024-05-20) → 'github:NixOS/nixpkgs/46397778ef1f73414b03ed553a3368f0e7e33c2f' (2024-05-22) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/8fcbc5106945623794244cae1b4add3e3469a0db' (2024-05-21) → 'github:nixos/nixpkgs/a520272adde270fd7b0d0d28fc30c91b90f17c86' (2024-05-23) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/3eaeaeb6b1e08a016380c279f8846e0bd8808916' (2024-05-21) → 'github:nixos/nixpkgs/5710852ba686cc1fd0d3b8e22b3117d43ba374c2' (2024-05-21) • Updated input 'nur': 'github:nix-community/NUR/2accd435c68b16a8c4076cf0de627d6d731b98f1' (2024-05-22) → 'github:nix-community/NUR/ea7dee62009297354c43fce51ecc4a07f52a9ada' (2024-05-23) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 380f6367..2d9db5d1 100644 --- a/flake.lock +++ b/flake.lock @@ -219,11 +219,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1716292277, - "narHash": "sha256-248jDA6qGlyKvNWf8ar44xQRNxc/FmEibBTfoYeTH5Y=", + "lastModified": 1716425819, + "narHash": "sha256-KV3uHxF0mKUMK7v8wsiH7r/TVdFkHHTB07h7DXkSgdI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8fcbc5106945623794244cae1b4add3e3469a0db", + "rev": "a520272adde270fd7b0d0d28fc30c91b90f17c86", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1716293225, - "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", + "lastModified": 1716330097, + "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", + "rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1716218643, - "narHash": "sha256-i/E7gzQybvcGAYDRGDl39WL6yVk30Je/NXypBz6/nmM=", + "lastModified": 1716361217, + "narHash": "sha256-mzZDr00WUiUXVm1ujBVv6A0qRd8okaITyUp4ezYRgc4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a8695cbd09a7ecf3376bd62c798b9864d20f86ee", + "rev": "46397778ef1f73414b03ed553a3368f0e7e33c2f", "type": "github" }, "original": { @@ -267,11 +267,11 @@ }, "nur": { "locked": { - "lastModified": 1716381793, - "narHash": "sha256-MEEVJpZBf5qczuGeVOs5gqY2foZSoljgPPJ/WH+Gino=", + "lastModified": 1716446227, + "narHash": "sha256-PrajIED3L3lBk2ooooE8TPNDtOdKb4wKXBGIJXwnb7s=", "owner": "nix-community", "repo": "NUR", - "rev": "2accd435c68b16a8c4076cf0de627d6d731b98f1", + "rev": "ea7dee62009297354c43fce51ecc4a07f52a9ada", "type": "github" }, "original": { From 9463f724c2bf5400ad0d23f000146027cf5e7073 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 May 2024 09:10:21 +0200 Subject: [PATCH 1772/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/eac4f25028c1975a939c8f8fba95c12f8a25e01c' (2024-05-21) → 'github:lnl7/nix-darwin/0bea8222f6e83247dd13b055d83e64bce02ee532' (2024-05-24) • Updated input 'home-manager': 'github:nix-community/home-manager/ab5542e9dbd13d0100f8baae2bc2d68af901f4b4' (2024-05-10) → 'github:nix-community/home-manager/2c78a57c544dd19b07442350727ced097e1aa6e6' (2024-05-26) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/7b5ca2486bba58cac80b9229209239740b67cf90' (2024-05-16) → 'github:nix-community/neovim-nightly-overlay/0c1fc48841eda5e35402327b1a71f4bb034a012c' (2024-05-26) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e' (2024-05-02) → 'github:hercules-ci/flake-parts/8dc45382d5206bd292f9c2768b8058a8fd8311d9' (2024-05-16) • Removed input 'neovim-nightly-overlay/neovim-flake' • Removed input 'neovim-nightly-overlay/neovim-flake/flake-utils' • Removed input 'neovim-nightly-overlay/neovim-flake/flake-utils/systems' • Removed input 'neovim-nightly-overlay/neovim-flake/nixpkgs' • Added input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/52389e724366ebb2fb58f08c657f580900dd09ee' (2024-05-25) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/b3fcfcfabd01b947a1e4f36622bbffa3985bdac6' (2024-05-15) → 'github:NixOS/nixpkgs/1a9df4f74273f90d04e621e8516777efcec2802a' (2024-05-24) • Added input 'neovim-nightly-overlay/pre-commit-hooks': 'github:cachix/git-hooks.nix/0e8fcc54b842ad8428c9e705cb5994eaf05c26a0' (2024-05-20) • Added input 'neovim-nightly-overlay/pre-commit-hooks/flake-compat': 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04) • Added input 'neovim-nightly-overlay/pre-commit-hooks/gitignore': 'github:hercules-ci/gitignore.nix/637db329424fd7e46cf4185293b9cc8c88c95394' (2024-02-28) • Added input 'neovim-nightly-overlay/pre-commit-hooks/gitignore/nixpkgs': follows 'neovim-nightly-overlay/pre-commit-hooks/nixpkgs' • Added input 'neovim-nightly-overlay/pre-commit-hooks/nixpkgs': follows 'neovim-nightly-overlay/nixpkgs' • Added input 'neovim-nightly-overlay/pre-commit-hooks/nixpkgs-stable': follows 'neovim-nightly-overlay/nixpkgs' • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/46397778ef1f73414b03ed553a3368f0e7e33c2f' (2024-05-22) → 'github:NixOS/nixpkgs/9d29cd266cebf80234c98dd0b87256b6be0af44e' (2024-05-25) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/a520272adde270fd7b0d0d28fc30c91b90f17c86' (2024-05-23) → 'github:nixos/nixpkgs/8ed72179617b1b4dbd15134371daf4e9c4c039ee' (2024-05-26) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/5710852ba686cc1fd0d3b8e22b3117d43ba374c2' (2024-05-21) → 'github:nixos/nixpkgs/bfb7a882678e518398ce9a31a881538679f6f092' (2024-05-24) • Updated input 'nur': 'github:nix-community/NUR/ea7dee62009297354c43fce51ecc4a07f52a9ada' (2024-05-23) → 'github:nix-community/NUR/0bd8e1173da9dcd1efbee68212d62c18dd15e247' (2024-05-27) --- flake.lock | 179 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 102 insertions(+), 77 deletions(-) diff --git a/flake.lock b/flake.lock index 2d9db5d1..174a2aec 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1716329735, - "narHash": "sha256-ap51w+VqG21vuzyQ04WrhI2YbWHd3UGz0e7dc/QQmoA=", + "lastModified": 1716511055, + "narHash": "sha256-5Fe/DGgvMhPEMl9VdVxv3zvwRcwNDmW5eRJ0gk72w7U=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "eac4f25028c1975a939c8f8fba95c12f8a25e01c", + "rev": "0bea8222f6e83247dd13b055d83e64bce02ee532", "type": "github" }, "original": { @@ -37,6 +37,22 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -45,11 +61,11 @@ ] }, "locked": { - "lastModified": 1714641030, - "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", + "lastModified": 1715865404, + "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", + "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", "type": "github" }, "original": { @@ -79,21 +95,25 @@ "type": "indirect" } }, - "flake-utils": { + "gitignore": { "inputs": { - "systems": "systems" + "nixpkgs": [ + "neovim-nightly-overlay", + "pre-commit-hooks", + "nixpkgs" + ] }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "gitignore.nix", "type": "github" } }, @@ -126,11 +146,11 @@ ] }, "locked": { - "lastModified": 1715381426, - "narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=", + "lastModified": 1716729592, + "narHash": "sha256-Y3bOjoh2cFBqZN0Jw1zUdyr7tjygyxl2bD/QY73GZP0=", "owner": "nix-community", "repo": "home-manager", - "rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4", + "rev": "2c78a57c544dd19b07442350727ced097e1aa6e6", "type": "github" }, "original": { @@ -140,44 +160,21 @@ "type": "github" } }, - "neovim-flake": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ] - }, - "locked": { - "dir": "contrib", - "lastModified": 1715815279, - "narHash": "sha256-Pf7ZlqPnr195NZb5ADzMVsXurPMjRZ+JMXf6JxvXArE=", - "owner": "neovim", - "repo": "neovim", - "rev": "9ca81b025990911c2a0dbda92af39ba84983bac3", - "type": "github" - }, - "original": { - "dir": "contrib", - "owner": "neovim", - "repo": "neovim", - "type": "github" - } - }, "neovim-nightly-overlay": { "inputs": { "flake-compat": "flake-compat", "flake-parts": "flake-parts", "hercules-ci-effects": "hercules-ci-effects", - "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs" + "neovim-src": "neovim-src", + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1715817852, - "narHash": "sha256-UH5o7hT72oAavJTG2NxlpMyQe3BQMniQAsgTugWtlc4=", + "lastModified": 1716760058, + "narHash": "sha256-5fMMNezTARjbc8HgEkvcOazlrsBBzlKSMVp56xTCY2g=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7b5ca2486bba58cac80b9229209239740b67cf90", + "rev": "0c1fc48841eda5e35402327b1a71f4bb034a012c", "type": "github" }, "original": { @@ -186,6 +183,22 @@ "type": "github" } }, + "neovim-src": { + "flake": false, + "locked": { + "lastModified": 1716642936, + "narHash": "sha256-l53vGzYIy6tI1rYBlbxW502sDgpmZ4i/uTdWWtPKPtM=", + "owner": "neovim", + "repo": "neovim", + "rev": "52389e724366ebb2fb58f08c657f580900dd09ee", + "type": "github" + }, + "original": { + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, "nix2lua": { "locked": { "lastModified": 1716215210, @@ -203,11 +216,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1715774670, - "narHash": "sha256-iJYnKMtLi5u6hZhJm94cRNSDG5Rz6ZzIkGbhPFtDRm0=", + "lastModified": 1716588411, + "narHash": "sha256-CdAZ3o459+1mAgILcdJfMBQAwUXupVe2cVTknvxs5kQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b3fcfcfabd01b947a1e4f36622bbffa3985bdac6", + "rev": "1a9df4f74273f90d04e621e8516777efcec2802a", "type": "github" }, "original": { @@ -219,11 +232,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1716425819, - "narHash": "sha256-KV3uHxF0mKUMK7v8wsiH7r/TVdFkHHTB07h7DXkSgdI=", + "lastModified": 1716702362, + "narHash": "sha256-1iExBg0gqYHqSEwALu4LYPOKlJMbUUbsfhsGZf2mi0M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a520272adde270fd7b0d0d28fc30c91b90f17c86", + "rev": "8ed72179617b1b4dbd15134371daf4e9c4c039ee", "type": "github" }, "original": { @@ -235,11 +248,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1716330097, - "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", + "lastModified": 1716509168, + "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", + "rev": "bfb7a882678e518398ce9a31a881538679f6f092", "type": "github" }, "original": { @@ -251,11 +264,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1716361217, - "narHash": "sha256-mzZDr00WUiUXVm1ujBVv6A0qRd8okaITyUp4ezYRgc4=", + "lastModified": 1716633019, + "narHash": "sha256-xim1b5/HZYbWaZKyI7cn9TJCM6ewNVZnesRr00mXeS4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "46397778ef1f73414b03ed553a3368f0e7e33c2f", + "rev": "9d29cd266cebf80234c98dd0b87256b6be0af44e", "type": "github" }, "original": { @@ -267,11 +280,11 @@ }, "nur": { "locked": { - "lastModified": 1716446227, - "narHash": "sha256-PrajIED3L3lBk2ooooE8TPNDtOdKb4wKXBGIJXwnb7s=", + "lastModified": 1716793801, + "narHash": "sha256-DMkPoJJv1RieXVHUci7kr6clNSp+1KBmi854BO9gI4Y=", "owner": "nix-community", "repo": "NUR", - "rev": "ea7dee62009297354c43fce51ecc4a07f52a9ada", + "rev": "0bd8e1173da9dcd1efbee68212d62c18dd15e247", "type": "github" }, "original": { @@ -280,6 +293,33 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ], + "nixpkgs-stable": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716213921, + "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "darwin": "darwin", @@ -291,21 +331,6 @@ "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", From 633f06ce2e0d3024b8c9567a2665f1b05e7e3921 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 27 May 2024 14:50:15 +0200 Subject: [PATCH 1773/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/0bd8e1173da9dcd1efbee68212d62c18dd15e247' (2024-05-27) → 'github:nix-community/NUR/8033337d0222adb3bbd4482f05958c0a334985c8' (2024-05-27) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 174a2aec..bcbfcdf8 100644 --- a/flake.lock +++ b/flake.lock @@ -280,11 +280,11 @@ }, "nur": { "locked": { - "lastModified": 1716793801, - "narHash": "sha256-DMkPoJJv1RieXVHUci7kr6clNSp+1KBmi854BO9gI4Y=", + "lastModified": 1716814210, + "narHash": "sha256-/8p5Gb0B+wP+cvvd3IsyT/MyKjMtdoX+lb9gPwxaPlw=", "owner": "nix-community", "repo": "NUR", - "rev": "0bd8e1173da9dcd1efbee68212d62c18dd15e247", + "rev": "8033337d0222adb3bbd4482f05958c0a334985c8", "type": "github" }, "original": { From f4b11f2052eecbfd5d71ccc2d9846cb1749e57d4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 May 2024 16:09:04 +0200 Subject: [PATCH 1774/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0c1fc48841eda5e35402327b1a71f4bb034a012c' (2024-05-26) → 'github:nix-community/neovim-nightly-overlay/7849e018a09688cd71bde887113954b3ce08739c' (2024-05-27) • Added input 'neovim-nightly-overlay/git-hooks': 'github:cachix/git-hooks.nix/0e8fcc54b842ad8428c9e705cb5994eaf05c26a0' (2024-05-20) • Added input 'neovim-nightly-overlay/git-hooks/flake-compat': 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04) • Added input 'neovim-nightly-overlay/git-hooks/gitignore': 'github:hercules-ci/gitignore.nix/637db329424fd7e46cf4185293b9cc8c88c95394' (2024-02-28) • Added input 'neovim-nightly-overlay/git-hooks/gitignore/nixpkgs': follows 'neovim-nightly-overlay/git-hooks/nixpkgs' • Added input 'neovim-nightly-overlay/git-hooks/nixpkgs': follows 'neovim-nightly-overlay/nixpkgs' • Added input 'neovim-nightly-overlay/git-hooks/nixpkgs-stable': follows 'neovim-nightly-overlay/nixpkgs' • Removed input 'neovim-nightly-overlay/pre-commit-hooks' • Removed input 'neovim-nightly-overlay/pre-commit-hooks/flake-compat' • Removed input 'neovim-nightly-overlay/pre-commit-hooks/gitignore' • Removed input 'neovim-nightly-overlay/pre-commit-hooks/gitignore/nixpkgs' • Removed input 'neovim-nightly-overlay/pre-commit-hooks/nixpkgs' • Removed input 'neovim-nightly-overlay/pre-commit-hooks/nixpkgs-stable' • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/8ed72179617b1b4dbd15134371daf4e9c4c039ee' (2024-05-26) → 'github:nixos/nixpkgs/c7815f2e44dd47202904b56600fcdab2eb9a2065' (2024-05-27) • Updated input 'nur': 'github:nix-community/NUR/8033337d0222adb3bbd4482f05958c0a334985c8' (2024-05-27) → 'github:nix-community/NUR/f90c0edd68fd388dfbaa310789a13bccfd06b005' (2024-05-28) --- flake.lock | 78 +++++++++++++++++++++++++++--------------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/flake.lock b/flake.lock index bcbfcdf8..a1f1612f 100644 --- a/flake.lock +++ b/flake.lock @@ -95,11 +95,38 @@ "type": "indirect" } }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ], + "nixpkgs-stable": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716213921, + "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ "neovim-nightly-overlay", - "pre-commit-hooks", + "git-hooks", "nixpkgs" ] }, @@ -164,17 +191,17 @@ "inputs": { "flake-compat": "flake-compat", "flake-parts": "flake-parts", + "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs", - "pre-commit-hooks": "pre-commit-hooks" + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1716760058, - "narHash": "sha256-5fMMNezTARjbc8HgEkvcOazlrsBBzlKSMVp56xTCY2g=", + "lastModified": 1716827514, + "narHash": "sha256-5qS9Jn3FaEFMGGhS/1mLOUifMFDLPcLczjcdaN7xgyE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0c1fc48841eda5e35402327b1a71f4bb034a012c", + "rev": "7849e018a09688cd71bde887113954b3ce08739c", "type": "github" }, "original": { @@ -232,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1716702362, - "narHash": "sha256-1iExBg0gqYHqSEwALu4LYPOKlJMbUUbsfhsGZf2mi0M=", + "lastModified": 1716831864, + "narHash": "sha256-ixOy0p7GjOBTMj/VHjI/k/8M9PQ2omZebG6ohhFix/Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8ed72179617b1b4dbd15134371daf4e9c4c039ee", + "rev": "c7815f2e44dd47202904b56600fcdab2eb9a2065", "type": "github" }, "original": { @@ -280,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1716814210, - "narHash": "sha256-/8p5Gb0B+wP+cvvd3IsyT/MyKjMtdoX+lb9gPwxaPlw=", + "lastModified": 1716903916, + "narHash": "sha256-kjodJgHDprBBwQ7WHRPaTtJ4cgxHKycquhwO9tlWcjI=", "owner": "nix-community", "repo": "NUR", - "rev": "8033337d0222adb3bbd4482f05958c0a334985c8", + "rev": "f90c0edd68fd388dfbaa310789a13bccfd06b005", "type": "github" }, "original": { @@ -293,33 +320,6 @@ "type": "github" } }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat_2", - "gitignore": "gitignore", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ], - "nixpkgs-stable": [ - "neovim-nightly-overlay", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1716213921, - "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { "darwin": "darwin", From 37982896d504572f4410f7a6809346e1ea2801fe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 28 May 2024 16:44:52 +0200 Subject: [PATCH 1775/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/f90c0edd68fd388dfbaa310789a13bccfd06b005' (2024-05-28) → 'github:nix-community/NUR/71c2220a9cd8209dc19e13243af46f11c54ab87a' (2024-05-28) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index a1f1612f..f22c613b 100644 --- a/flake.lock +++ b/flake.lock @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1716903916, - "narHash": "sha256-kjodJgHDprBBwQ7WHRPaTtJ4cgxHKycquhwO9tlWcjI=", + "lastModified": 1716906865, + "narHash": "sha256-GAeO3BqqP1lAM4xe0Rvuq1VpNvZdM02vmCUv9WK2I/k=", "owner": "nix-community", "repo": "NUR", - "rev": "f90c0edd68fd388dfbaa310789a13bccfd06b005", + "rev": "71c2220a9cd8209dc19e13243af46f11c54ab87a", "type": "github" }, "original": { From 910bce039aac0f5f8c105522f86f240cc64138ac Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 29 May 2024 09:18:33 +0200 Subject: [PATCH 1776/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/c7815f2e44dd47202904b56600fcdab2eb9a2065' (2024-05-27) → 'github:nixos/nixpkgs/b760cb0ef6dfbd4e8a9d5299d6f34f57b18c5a7b' (2024-05-28) • Updated input 'nur': 'github:nix-community/NUR/71c2220a9cd8209dc19e13243af46f11c54ab87a' (2024-05-28) → 'github:nix-community/NUR/bc13045a76a2b6bf7f1dfb1f87e4384be952dfe2' (2024-05-29) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index f22c613b..bd80022e 100644 --- a/flake.lock +++ b/flake.lock @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1716831864, - "narHash": "sha256-ixOy0p7GjOBTMj/VHjI/k/8M9PQ2omZebG6ohhFix/Y=", + "lastModified": 1716923270, + "narHash": "sha256-vX3quEAxKeLu+pxfjzkXPKTMxEdgvGPvvywXw/oDcX0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c7815f2e44dd47202904b56600fcdab2eb9a2065", + "rev": "b760cb0ef6dfbd4e8a9d5299d6f34f57b18c5a7b", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1716906865, - "narHash": "sha256-GAeO3BqqP1lAM4xe0Rvuq1VpNvZdM02vmCUv9WK2I/k=", + "lastModified": 1716966113, + "narHash": "sha256-MwMfecAUpVB4c+Wow1lrUlONdR+25yme02a+CO65f2o=", "owner": "nix-community", "repo": "NUR", - "rev": "71c2220a9cd8209dc19e13243af46f11c54ab87a", + "rev": "bc13045a76a2b6bf7f1dfb1f87e4384be952dfe2", "type": "github" }, "original": { From 298f5ac65170358e470e0f8895e3d1aef475199f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 29 May 2024 10:11:06 +0200 Subject: [PATCH 1777/2080] nvim: switch from LuaSnip to nvim-snippets --- lazyvim/nvim/lua/plugins/coding.lua | 132 ++++++++------------------- lazyvim/nvim/snippets/mail/mail.json | 12 +++ 2 files changed, 50 insertions(+), 94 deletions(-) create mode 100644 lazyvim/nvim/snippets/mail/mail.json diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index d3fec494..42389f77 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -76,7 +76,7 @@ return { desc = "Neogen Comment", }, }, - opts = { snippet_engine = "luasnip" }, + -- opts = { snippet_engine = "luasnip" }, }, -- Incremental LSP renaming @@ -120,12 +120,12 @@ return { }, -- Use <tab> for completion and snippets (supertab). - { - "L3MON4D3/LuaSnip", - keys = function() - return {} - end, - }, + -- { + -- "L3MON4D3/LuaSnip", + -- keys = function() + -- return {} + -- end, + -- }, -- see ~/.local/share/nvim/lazy/LazyVim/lua/lazyvim/plugins/coding.lua { @@ -138,39 +138,38 @@ return { }, ---@param opts cmp.ConfigSchema opts = function(_, opts) - local has_words_before = function() - unpack = unpack or table.unpack - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil - end + -- local has_words_before = function() + -- unpack = unpack or table.unpack + -- local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + -- return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + -- end - local luasnip = require("luasnip") local cmp = require("cmp") - opts.mapping = vim.tbl_extend("force", opts.mapping, { - ["<Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() - -- they way you will only jump inside the snippet region - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end, { "i", "s" }), - ["<S-Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - }) + -- opts.mapping = vim.tbl_extend("force", opts.mapping, { + -- ["<Tab>"] = cmp.mapping(function(fallback) + -- if cmp.visible() then + -- cmp.select_next_item() + -- -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() + -- -- they way you will only jump inside the snippet region + -- elseif luasnip.expand_or_jumpable() then + -- luasnip.expand_or_jump() + -- elseif has_words_before() then + -- cmp.complete() + -- else + -- fallback() + -- end + -- end, { "i", "s" }), + -- ["<S-Tab>"] = cmp.mapping(function(fallback) + -- if cmp.visible() then + -- cmp.select_prev_item() + -- elseif luasnip.jumpable(-1) then + -- luasnip.jump(-1) + -- else + -- fallback() + -- end + -- end, { "i", "s" }), + -- }) ---@diagnostic disable-next-line: missing-parameter -- FIXME: only add emoji and overwrite buffer configuration instead of replicating @@ -178,7 +177,7 @@ return { opts.sources = cmp.config.sources({ { name = "nvim_lsp" }, { name = "nvim_lua" }, - { name = "luasnip" }, + { name = "snippets" }, { name = "path" }, { name = "emoji" }, -- XXX: disabled until there is a way to opt-in for copilot in special cases @@ -193,20 +192,6 @@ return { }, }) - -- FIXME: not working, causing issues with load of cmp in some cases - -- Filter out copilot from some use cases, like emails to preserve privacy - -- local limited_sources = {} - -- for i = #opts.sources, 1, -1 do - -- if opts.sources[i].name ~= "copilot" then - -- table.insert(limited_sources, opts.sources[i]) - -- end - -- end - -- Do not use copilot in norg and markdown files - -- cmp.setup.filetype({"norg", "markdown}", { - -- ---@diagnostic disable-next-line: missing-parameter - -- sources = cmp.config.sources(limited_sources), - -- }) - -- only load lbdb completion for emails ---@diagnostic disable-next-line: missing-fields cmp.setup.filetype("mail", { @@ -215,27 +200,7 @@ return { -- would be useful to be able to use this only when completing headers { name = "lbdb", blacklist = { ".*noreply.*" } }, { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "path" }, - { name = "emoji" }, - { - name = "buffer", - option = { - get_bufnrs = function() - return vim.api.nvim_list_bufs() - end, - }, - }, - }), - }) - - -- Add neorg - ---@diagnostic disable-next-line: missing-fields - cmp.setup.filetype("norg", { - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "neorg" }, + { name = "snippets" }, { name = "path" }, { name = "emoji" }, { @@ -268,27 +233,6 @@ return { { name = "buffer" }, }, }) - - -- Custom snippets - -- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua - ---@diagnostic disable-next-line: no-unknown - local s = luasnip.snippet - ---@diagnostic disable-next-line: no-unknown - local i = luasnip.insert_node - ---@diagnostic disable-next-line: no-unknown - local t = luasnip.text_node - luasnip.add_snippets("all", { - s("ternary", { - -- equivalent to "${1:cond} ? ${2:then} : ${3:else}" - i(1, "cond"), - t(" ? "), - i(2, "then"), - t(" : "), - i(3, "else"), - }), - s("brb", { t({ "Best regards,", "Baptiste" }) }), - s("cb", { t({ "Cheers,", "Baptiste" }) }), - }) end, }, diff --git a/lazyvim/nvim/snippets/mail/mail.json b/lazyvim/nvim/snippets/mail/mail.json new file mode 100644 index 00000000..95de4cfc --- /dev/null +++ b/lazyvim/nvim/snippets/mail/mail.json @@ -0,0 +1,12 @@ +{ + "cb": { + "prefix": "cb", + "description": "Friendly salutation", + "body": ["Cheers", "Baptiste"] + }, + "brb": { + "prefix": "brb", + "description": "Formal salutation", + "body": ["Best regards", "Baptiste"] + } +} From b22bfc9262bf6bd97e17fe4412c4e3c30c4c8578 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 29 May 2024 10:11:12 +0200 Subject: [PATCH 1778/2080] lazyvim: bump lock file --- lazyvim/nvim/lazy-lock.json | 80 ++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 4906914e..4cfa3c55 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { - "LazyVim": { "branch": "main", "commit": "3ebe30685d8b5c6e3c0723b532c73b64771f1ec7" }, - "LuaSnip": { "branch": "master", "commit": "de1a287c9cb525ae52bc846e8f6207e5ef1da5ac" }, - "SchemaStore.nvim": { "branch": "main", "commit": "9a5992a881583d886bfbb46631a09f736f0fae50" }, - "bufferline.nvim": { "branch": "main", "commit": "73edc1f2732678e7a681e3d3be49782610914f6b" }, - "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, + "LazyVim": { "branch": "main", "commit": "0160851a2503ada6fda329a230a21307b8ef966a" }, + "LuaSnip": { "branch": "master", "commit": "878ace11983444d865a72e1759dbcc331d1ace4c" }, + "SchemaStore.nvim": { "branch": "main", "commit": "931f9f3b7b60ec976159cb01b4a40da3829ac2fd" }, + "bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" }, + "catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, @@ -12,21 +12,21 @@ "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "55619bcb306a1a37d487ed31b360a41c343ee74a" }, + "conform.nvim": { "branch": "master", "commit": "f3b930db4964d60e255c8f9e37b7f2218dfc08cb" }, "dashboard-nvim": { "branch": "master", "commit": "5182c09ac8085dc73b78ad0ea9f5479c9a866fc4" }, "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, - "diffview.nvim": { "branch": "main", "commit": "ad03c42b2899117ff039d84ac24860a77116204b" }, - "dressing.nvim": { "branch": "master", "commit": "572314728cb1ce012e825fd66331f52c94acac12" }, + "diffview.nvim": { "branch": "main", "commit": "1ec7b56b959dab18f7030f541c33ae60e18a6f88" }, + "dressing.nvim": { "branch": "master", "commit": "3c38ac861e1b8d4077ff46a779cde17330b29f3a" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "flash.nvim": { "branch": "main", "commit": "11a2e667d19d8f48c93c6ed2e2e525ac6b1b79be" }, - "friendly-snippets": { "branch": "main", "commit": "dd2fd1281d4b22e7b4a5bfafa3e142d958e251f2" }, - "gitsigns.nvim": { "branch": "main", "commit": "805610a9393fa231f2c2b49cb521bfa413fadb3d" }, + "friendly-snippets": { "branch": "main", "commit": "d0610077b6129cf9f7f78afbe3a1425d60f6e2f1" }, + "gitsigns.nvim": { "branch": "main", "commit": "af3fdad8ddcadbdad835975204f6503310526fd9" }, "gx.nvim": { "branch": "main", "commit": "cf6ed6ba86ffe4e3f51a898c03a05023b7a2fe48" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "inc-rename.nvim": { "branch": "main", "commit": "7c6125b1ee476b56708a6518a37b2a3357f57bfc" }, "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, - "indent-blankline.nvim": { "branch": "master", "commit": "ece00d5fb44d196680a81fd2761062d2fa44663b" }, - "lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" }, + "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, + "lazy.nvim": { "branch": "main", "commit": "24fa2a97085ca8a7220b5b078916f81e316036fd" }, "ltex_extra.nvim": { "branch": "master", "commit": "4296c2c7aefbca721d02a011366a1de30598046c" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, @@ -34,41 +34,41 @@ "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "49ff59aded1047a773670651cfa40e76e63c6377" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "a0262e61f79dfc7bb940d1719c00b0ede042ddd7" }, - "mini.animate": { "branch": "main", "commit": "82519630b2760ffc516ebc387bef632f9c07b9f5" }, - "mini.bracketed": { "branch": "main", "commit": "65c7dfb51e832de9e279e5d5b0741e7af6755ab5" }, - "mini.comment": { "branch": "main", "commit": "6b6da2c272545ac6a201fb45af3aba66ef96d052" }, - "mini.hipatterns": { "branch": "main", "commit": "088bbfef23e17934080f125751a94a2758ba7fdf" }, - "mini.pairs": { "branch": "main", "commit": "5c975d8f68dc1e11bf4b20ced71e7987ed782513" }, - "mini.surround": { "branch": "main", "commit": "c52aa751daf62d4a9e6ee24c4a91882ef6842f99" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, - "neoconf.nvim": { "branch": "main", "commit": "9092129e9a42ae26375001bd2e6118f8d57c7f2a" }, + "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, + "mini.animate": { "branch": "main", "commit": "0a35f6db55cfac04a0999abe3465f7b692dc56a7" }, + "mini.bracketed": { "branch": "main", "commit": "06ad08fc75dc540cba76d3d8de0f2dc9f75b5812" }, + "mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" }, + "mini.hipatterns": { "branch": "main", "commit": "427712c754bfdccd8da7073576cd8e2586c0fe93" }, + "mini.pairs": { "branch": "main", "commit": "40261dfcec7623cd57be3c3beb50fa73f2650cdf" }, + "mini.surround": { "branch": "main", "commit": "27096c1a27324ee8f2044ea2adc77366d8a782de" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, + "neoconf.nvim": { "branch": "main", "commit": "4e204e0d423e70293b81ba1655ed17e1f3c97986" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" }, - "noice.nvim": { "branch": "main", "commit": "9f6f6ba74f8bfbf7e43d6302cf86b070362f6203" }, + "noice.nvim": { "branch": "main", "commit": "f119045f38792ad5311e5f9be7a879e4c1a95fe0" }, "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" }, "nvim-ansible": { "branch": "main", "commit": "cb5d0cc79c1864b72d5ae40a926a1176b18f1b65" }, "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-dap": { "branch": "master", "commit": "5a2f7121869394502521c52b2bc581ab22c69447" }, + "nvim-dap": { "branch": "master", "commit": "abb238f631609ea4be496ba7946f4f3aaec86c6a" }, "nvim-dap-python": { "branch": "master", "commit": "3dffa58541d1f52c121fe58ced046268c838d802" }, - "nvim-dap-ui": { "branch": "master", "commit": "334cf3038c4756e6ab999cbac67c847fb654c190" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "3e8e207513e6ef520894950acd76b79902714103" }, - "nvim-lint": { "branch": "master", "commit": "5697e6cb9588b70e260e4cc1f833ebb0bdc07617" }, - "nvim-lspconfig": { "branch": "master", "commit": "eadcee1573ca9d0e0cd36a49f620186a8dfdc607" }, - "nvim-nio": { "branch": "master", "commit": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90" }, + "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, + "nvim-lint": { "branch": "master", "commit": "e19842a05aae484957ad20710444757bc0a61d63" }, + "nvim-lspconfig": { "branch": "master", "commit": "38de86f82efd9ba0881203767d6a8e1815abca28" }, + "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-snippets": { "branch": "main", "commit": "8810c044f76c7ab5fdf9e258090f1f5dac8b1c5d" }, - "nvim-spectre": { "branch": "master", "commit": "50e96602153f14c913e1969aaf9720e080394eb3" }, + "nvim-snippets": { "branch": "main", "commit": "0b86938397512dad4c0790b4ea4a835ad65dc0f6" }, + "nvim-spectre": { "branch": "master", "commit": "366f46fdd4a1593cc237aea13d5ef113739a472c" }, "nvim-spider": { "branch": "main", "commit": "b2f2af0563bb631864cab262d483118f3610e662" }, - "nvim-treehopper": { "branch": "master", "commit": "5a28bff46c05d28bdb4bcaef67e046eb915a9390" }, - "nvim-treesitter": { "branch": "master", "commit": "30de5e7e9486fb1b1b8c2a1e71052b13f94f1cb0" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "5f9bf4b1ead7707e4e74e5319ee56bdc81fb73db" }, - "nvim-ts-autotag": { "branch": "main", "commit": "62db4b3054ec6847e5cb189b4dea452ce0c7ad7f" }, + "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, + "nvim-treesitter": { "branch": "master", "commit": "b91ae14fc3bb801c7ea69bc283fe860b32b5163d" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "3557e41418b4a6c5b85d5d64abe94c9c50fa9b14" }, + "nvim-ts-autotag": { "branch": "main", "commit": "8ae54b90e36ef1fc5267214b30c2cbff71525fe4" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, "nvim-ufo": { "branch": "main", "commit": "65dda6360879f6ffe0278163b9192a573a0d2a08" }, - "nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" }, + "nvim-web-devicons": { "branch": "master", "commit": "b77921fdc44833c994fdb389d658ccbce5490c16" }, "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, @@ -80,14 +80,14 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-terraform-doc.nvim": { "branch": "main", "commit": "e09181f76acefaf66d2b55149bebe939828234b4" }, "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, - "telescope.nvim": { "branch": "master", "commit": "4aed63995a69e343b068c7469491a8d1592c339f" }, - "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, - "tokyonight.nvim": { "branch": "main", "commit": "b9b494fa7f7bbf2fe0747b47fa290fb7a4eddcc7" }, + "telescope.nvim": { "branch": "master", "commit": "90143d31f20e65179308198940f5c5caf4ecdbdf" }, + "todo-comments.nvim": { "branch": "main", "commit": "e1549807066947818113a7d7ed48f637e49620d3" }, + "tokyonight.nvim": { "branch": "main", "commit": "0fae425aaab04a5f97666bd431b96f2f19c36935" }, "trouble.nvim": { "branch": "dev", "commit": "e2185bf6e63ef9bd75f1819f43846e2b0f10953b" }, - "ts-comments.nvim": { "branch": "main", "commit": "b03751c365ffd52ec63846df23a7035cc394cf58" }, + "ts-comments.nvim": { "branch": "main", "commit": "f7ded340b4c6b317593b867838bf7ace354a67d4" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "main", "commit": "6a1b15eb35bbb827b6db428055087e2dbf32838f" }, - "vim-matchup": { "branch": "master", "commit": "ff3bea611696f5cfdfe61a939149daadff41f2af" }, + "vim-matchup": { "branch": "master", "commit": "1535a769d5dca851fe7d41b0be95f7c7203a4bef" }, "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, From bfb229e83482eff6524f360255b8fcb0a53a2412 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 29 May 2024 15:46:49 +0200 Subject: [PATCH 1779/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/b760cb0ef6dfbd4e8a9d5299d6f34f57b18c5a7b' (2024-05-28) → 'github:nixos/nixpkgs/83f832443c258d751d22f16b0346e593fa1121d5' (2024-05-28) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/bfb7a882678e518398ce9a31a881538679f6f092' (2024-05-24) → 'github:nixos/nixpkgs/9ca3f649614213b2aaf5f1e16ec06952fe4c2632' (2024-05-27) • Updated input 'nur': 'github:nix-community/NUR/bc13045a76a2b6bf7f1dfb1f87e4384be952dfe2' (2024-05-29) → 'github:nix-community/NUR/24894eddf0aab2f3ad0b486f42a57074ae35382a' (2024-05-29) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index bd80022e..9a353f1c 100644 --- a/flake.lock +++ b/flake.lock @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1716923270, - "narHash": "sha256-vX3quEAxKeLu+pxfjzkXPKTMxEdgvGPvvywXw/oDcX0=", + "lastModified": 1716925652, + "narHash": "sha256-Yr7h0CvhVjbaWXTGpxUqudarwmVXCuHXaSLekIwBeFU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b760cb0ef6dfbd4e8a9d5299d6f34f57b18c5a7b", + "rev": "83f832443c258d751d22f16b0346e593fa1121d5", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1716509168, - "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", + "lastModified": 1716769173, + "narHash": "sha256-7EXDb5WBw+d004Agt+JHC/Oyh/KTUglOaQ4MNjBbo5w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bfb7a882678e518398ce9a31a881538679f6f092", + "rev": "9ca3f649614213b2aaf5f1e16ec06952fe4c2632", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1716966113, - "narHash": "sha256-MwMfecAUpVB4c+Wow1lrUlONdR+25yme02a+CO65f2o=", + "lastModified": 1716987531, + "narHash": "sha256-TQvj1LnaDMawNVrwF6ov6d3JRLegvfUZMywEi5XcPc0=", "owner": "nix-community", "repo": "NUR", - "rev": "bc13045a76a2b6bf7f1dfb1f87e4384be952dfe2", + "rev": "24894eddf0aab2f3ad0b486f42a57074ae35382a", "type": "github" }, "original": { From e7379a8f413feb3b29204377b216f980bda15f8c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 30 May 2024 10:07:18 +0200 Subject: [PATCH 1780/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/0bea8222f6e83247dd13b055d83e64bce02ee532' (2024-05-24) → 'github:lnl7/nix-darwin/c0d5b8c54d6828516c97f6be9f2d00c63a363df4' (2024-05-29) • Updated input 'nur': 'github:nix-community/NUR/24894eddf0aab2f3ad0b486f42a57074ae35382a' (2024-05-29) → 'github:nix-community/NUR/a4eff07f9bbcf74522c642c72047ed03c3831501' (2024-05-30) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 9a353f1c..a1b3bfec 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1716511055, - "narHash": "sha256-5Fe/DGgvMhPEMl9VdVxv3zvwRcwNDmW5eRJ0gk72w7U=", + "lastModified": 1716993688, + "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "0bea8222f6e83247dd13b055d83e64bce02ee532", + "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1716987531, - "narHash": "sha256-TQvj1LnaDMawNVrwF6ov6d3JRLegvfUZMywEi5XcPc0=", + "lastModified": 1717054761, + "narHash": "sha256-LBrHEBC0S7C6zjQTsjahAvxxlDH3cbZmEgHiri9o4SM=", "owner": "nix-community", "repo": "NUR", - "rev": "24894eddf0aab2f3ad0b486f42a57074ae35382a", + "rev": "a4eff07f9bbcf74522c642c72047ed03c3831501", "type": "github" }, "original": { From 9713b95359564ee7a0c6aa09f617f1fab0a95c46 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 31 May 2024 09:44:47 +0200 Subject: [PATCH 1781/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/7849e018a09688cd71bde887113954b3ce08739c' (2024-05-27) → 'github:nix-community/neovim-nightly-overlay/fe31f9e863e643327e8a5fffa0f4aae9288fd048' (2024-05-30) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/52389e724366ebb2fb58f08c657f580900dd09ee' (2024-05-25) → 'github:neovim/neovim/5c33815448e11b514678f39cecc74e68131d4628' (2024-05-30) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/1a9df4f74273f90d04e621e8516777efcec2802a' (2024-05-24) → 'github:NixOS/nixpkgs/6c25325ec30a566f5c0446ceee61ada081903872' (2024-05-29) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9d29cd266cebf80234c98dd0b87256b6be0af44e' (2024-05-25) → 'github:NixOS/nixpkgs/25cf937a30bf0801447f6bf544fc7486c6309234' (2024-05-29) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/83f832443c258d751d22f16b0346e593fa1121d5' (2024-05-28) → 'github:nixos/nixpkgs/f05f3698b80b619ebf367190ddf2ccb47c851d7c' (2024-05-30) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/9ca3f649614213b2aaf5f1e16ec06952fe4c2632' (2024-05-27) → 'github:nixos/nixpkgs/ad57eef4ef0659193044870c731987a6df5cf56b' (2024-05-29) • Updated input 'nur': 'github:nix-community/NUR/a4eff07f9bbcf74522c642c72047ed03c3831501' (2024-05-30) → 'github:nix-community/NUR/38d5930b44ca419dd7b2eef798251cf3264095d4' (2024-05-31) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index a1b3bfec..6fb079ba 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1716827514, - "narHash": "sha256-5qS9Jn3FaEFMGGhS/1mLOUifMFDLPcLczjcdaN7xgyE=", + "lastModified": 1717086148, + "narHash": "sha256-rZyQv0MdYX+tYoGhc5mV4iZb+kGqA93+k3R1BIRiwXk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7849e018a09688cd71bde887113954b3ce08739c", + "rev": "fe31f9e863e643327e8a5fffa0f4aae9288fd048", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1716642936, - "narHash": "sha256-l53vGzYIy6tI1rYBlbxW502sDgpmZ4i/uTdWWtPKPtM=", + "lastModified": 1717058786, + "narHash": "sha256-IuoPQ4AMGvSzo8IT4vFVO5rz6l4GMYxO6nLE0CjClzQ=", "owner": "neovim", "repo": "neovim", - "rev": "52389e724366ebb2fb58f08c657f580900dd09ee", + "rev": "5c33815448e11b514678f39cecc74e68131d4628", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1716588411, - "narHash": "sha256-CdAZ3o459+1mAgILcdJfMBQAwUXupVe2cVTknvxs5kQ=", + "lastModified": 1716941088, + "narHash": "sha256-GKSAGfLNocNTux33YT9GbEXwEewxepwFL+ViX1CrMCQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1a9df4f74273f90d04e621e8516777efcec2802a", + "rev": "6c25325ec30a566f5c0446ceee61ada081903872", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1716925652, - "narHash": "sha256-Yr7h0CvhVjbaWXTGpxUqudarwmVXCuHXaSLekIwBeFU=", + "lastModified": 1717090151, + "narHash": "sha256-4UWCIWB01xCZE5EsnZz1d7fJjRw5VVORu8jBM0+rrvY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "83f832443c258d751d22f16b0346e593fa1121d5", + "rev": "f05f3698b80b619ebf367190ddf2ccb47c851d7c", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1716769173, - "narHash": "sha256-7EXDb5WBw+d004Agt+JHC/Oyh/KTUglOaQ4MNjBbo5w=", + "lastModified": 1716948383, + "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9ca3f649614213b2aaf5f1e16ec06952fe4c2632", + "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1716633019, - "narHash": "sha256-xim1b5/HZYbWaZKyI7cn9TJCM6ewNVZnesRr00mXeS4=", + "lastModified": 1716991068, + "narHash": "sha256-Av0UWCCiIGJxsZ6TFc+OiKCJNqwoxMNVYDBChmhjNpo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9d29cd266cebf80234c98dd0b87256b6be0af44e", + "rev": "25cf937a30bf0801447f6bf544fc7486c6309234", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1717054761, - "narHash": "sha256-LBrHEBC0S7C6zjQTsjahAvxxlDH3cbZmEgHiri9o4SM=", + "lastModified": 1717140397, + "narHash": "sha256-X4S8juZRAo/dqISviX8j/45ZxAHDJdTrrP10PYf2bpE=", "owner": "nix-community", "repo": "NUR", - "rev": "a4eff07f9bbcf74522c642c72047ed03c3831501", + "rev": "38d5930b44ca419dd7b2eef798251cf3264095d4", "type": "github" }, "original": { From c21dc883da1d73b145c830ed590a41359ded9eb4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 4 Jun 2024 09:01:14 +0200 Subject: [PATCH 1782/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/2c78a57c544dd19b07442350727ced097e1aa6e6' (2024-05-26) → 'github:nix-community/home-manager/095ef64aa3b2ab4a4f1bf07f29997e21e3a5576a' (2024-06-04) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/fe31f9e863e643327e8a5fffa0f4aae9288fd048' (2024-05-30) → 'github:nix-community/neovim-nightly-overlay/5d7499a492d5c41e943c7521b7d95d561cf1f606' (2024-06-03) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/8dc45382d5206bd292f9c2768b8058a8fd8311d9' (2024-05-16) → 'github:hercules-ci/flake-parts/2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8' (2024-06-01) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/5c33815448e11b514678f39cecc74e68131d4628' (2024-05-30) → 'github:neovim/neovim/3a1515bfee59710b4da9bfdf0fc4ecb5b13a00db' (2024-06-02) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/6c25325ec30a566f5c0446ceee61ada081903872' (2024-05-29) → 'github:NixOS/nixpkgs/6132b0f6e344ce2fe34fc051b72fb46e34f668e0' (2024-05-30) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/25cf937a30bf0801447f6bf544fc7486c6309234' (2024-05-29) → 'github:NixOS/nixpkgs/a62e6edd6d5e1fa0329b8653c801147986f8d446' (2024-05-31) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/f05f3698b80b619ebf367190ddf2ccb47c851d7c' (2024-05-30) → 'github:nixos/nixpkgs/34cd4df4fbbaf4a1eddbc205e59bcae43ada9d46' (2024-05-31) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/ad57eef4ef0659193044870c731987a6df5cf56b' (2024-05-29) → 'github:nixos/nixpkgs/57610d2f8f0937f39dbd72251e9614b1561942d8' (2024-05-31) • Updated input 'nur': 'github:nix-community/NUR/38d5930b44ca419dd7b2eef798251cf3264095d4' (2024-05-31) → 'github:nix-community/NUR/75a188e6783937d48cece42e40de7b9e2c5c4ba5' (2024-06-04) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 6fb079ba..981479de 100644 --- a/flake.lock +++ b/flake.lock @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1715865404, - "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -173,11 +173,11 @@ ] }, "locked": { - "lastModified": 1716729592, - "narHash": "sha256-Y3bOjoh2cFBqZN0Jw1zUdyr7tjygyxl2bD/QY73GZP0=", + "lastModified": 1717476296, + "narHash": "sha256-ScHe38Tr+TxGURC17kby4mIIxOG3aJvZWXzPM79UnEk=", "owner": "nix-community", "repo": "home-manager", - "rev": "2c78a57c544dd19b07442350727ced097e1aa6e6", + "rev": "095ef64aa3b2ab4a4f1bf07f29997e21e3a5576a", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1717086148, - "narHash": "sha256-rZyQv0MdYX+tYoGhc5mV4iZb+kGqA93+k3R1BIRiwXk=", + "lastModified": 1717427132, + "narHash": "sha256-wfywzgALSyKTfn/1fbHeSMg1QK9YHO/zMnVzNBN49uA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "fe31f9e863e643327e8a5fffa0f4aae9288fd048", + "rev": "5d7499a492d5c41e943c7521b7d95d561cf1f606", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1717058786, - "narHash": "sha256-IuoPQ4AMGvSzo8IT4vFVO5rz6l4GMYxO6nLE0CjClzQ=", + "lastModified": 1717364286, + "narHash": "sha256-+Oc54rm7Rx6XQJ1+fz3BF/8srzYCQLc+d24ad+HMVnU=", "owner": "neovim", "repo": "neovim", - "rev": "5c33815448e11b514678f39cecc74e68131d4628", + "rev": "3a1515bfee59710b4da9bfdf0fc4ecb5b13a00db", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1716941088, - "narHash": "sha256-GKSAGfLNocNTux33YT9GbEXwEewxepwFL+ViX1CrMCQ=", + "lastModified": 1717112898, + "narHash": "sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6c25325ec30a566f5c0446ceee61ada081903872", + "rev": "6132b0f6e344ce2fe34fc051b72fb46e34f668e0", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1717090151, - "narHash": "sha256-4UWCIWB01xCZE5EsnZz1d7fJjRw5VVORu8jBM0+rrvY=", + "lastModified": 1717152306, + "narHash": "sha256-RrgGB3ygQnHY1/0SsZiFIfFypJJ43mpSgV4RgfERPoo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f05f3698b80b619ebf367190ddf2ccb47c851d7c", + "rev": "34cd4df4fbbaf4a1eddbc205e59bcae43ada9d46", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1716948383, - "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", + "lastModified": 1717196966, + "narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", + "rev": "57610d2f8f0937f39dbd72251e9614b1561942d8", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1716991068, - "narHash": "sha256-Av0UWCCiIGJxsZ6TFc+OiKCJNqwoxMNVYDBChmhjNpo=", + "lastModified": 1717159533, + "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "25cf937a30bf0801447f6bf544fc7486c6309234", + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1717140397, - "narHash": "sha256-X4S8juZRAo/dqISviX8j/45ZxAHDJdTrrP10PYf2bpE=", + "lastModified": 1717483554, + "narHash": "sha256-0WXmAi/TbIU+iGt2tzDHi2mAj928xyMDE3G7L/5fOX4=", "owner": "nix-community", "repo": "NUR", - "rev": "38d5930b44ca419dd7b2eef798251cf3264095d4", + "rev": "75a188e6783937d48cece42e40de7b9e2c5c4ba5", "type": "github" }, "original": { From ada96562be2c8a9c4786ec3c2f4afbce858a172f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Jun 2024 09:28:30 +0200 Subject: [PATCH 1783/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/5d7499a492d5c41e943c7521b7d95d561cf1f606' (2024-06-03) → 'github:nix-community/neovim-nightly-overlay/ce97d77872d10c363414634b885a02890f5d4a78' (2024-06-06) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/3a1515bfee59710b4da9bfdf0fc4ecb5b13a00db' (2024-06-02) → 'github:neovim/neovim/78d3f4742872f535ebc75500afde4858985c40d8' (2024-06-05) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/6132b0f6e344ce2fe34fc051b72fb46e34f668e0' (2024-05-30) → 'github:NixOS/nixpkgs/3b01abcc24846ae49957b30f4345bab4b3f1d14b' (2024-06-04) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a62e6edd6d5e1fa0329b8653c801147986f8d446' (2024-05-31) → 'github:NixOS/nixpkgs/a2e1d0414259a144ebdc048408a807e69e0565af' (2024-06-04) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/34cd4df4fbbaf4a1eddbc205e59bcae43ada9d46' (2024-05-31) → 'github:nixos/nixpkgs/4fad892a8f64635a55423e4acfefeefb6caf4d0d' (2024-06-03) • Updated input 'nur': 'github:nix-community/NUR/75a188e6783937d48cece42e40de7b9e2c5c4ba5' (2024-06-04) → 'github:nix-community/NUR/e5977bad88accf47917613390ff4bf71e0326120' (2024-06-06) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 981479de..9bc7aa8e 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1717427132, - "narHash": "sha256-wfywzgALSyKTfn/1fbHeSMg1QK9YHO/zMnVzNBN49uA=", + "lastModified": 1717645050, + "narHash": "sha256-+hXiY/3szujQ7kYxvK1lAwi7xRr+fPL3T0hUCTFym6s=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "5d7499a492d5c41e943c7521b7d95d561cf1f606", + "rev": "ce97d77872d10c363414634b885a02890f5d4a78", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1717364286, - "narHash": "sha256-+Oc54rm7Rx6XQJ1+fz3BF/8srzYCQLc+d24ad+HMVnU=", + "lastModified": 1717627211, + "narHash": "sha256-Hyy1FzCHAnYnVPf1Xebwa9P6wicYaemEasgnnHbPAl8=", "owner": "neovim", "repo": "neovim", - "rev": "3a1515bfee59710b4da9bfdf0fc4ecb5b13a00db", + "rev": "78d3f4742872f535ebc75500afde4858985c40d8", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717112898, - "narHash": "sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY=", + "lastModified": 1717459389, + "narHash": "sha256-I8/plBsua4/NZ5bKgj+z7/ThiWuud1YFwLsn1QQ5PgE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6132b0f6e344ce2fe34fc051b72fb46e34f668e0", + "rev": "3b01abcc24846ae49957b30f4345bab4b3f1d14b", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1717152306, - "narHash": "sha256-RrgGB3ygQnHY1/0SsZiFIfFypJJ43mpSgV4RgfERPoo=", + "lastModified": 1717428950, + "narHash": "sha256-Pr3lhu2No1GHJarhjt+Jsfxye1wNLoY12E44p0b3VO0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "34cd4df4fbbaf4a1eddbc205e59bcae43ada9d46", + "rev": "4fad892a8f64635a55423e4acfefeefb6caf4d0d", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1717159533, - "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", + "lastModified": 1717530100, + "narHash": "sha256-b4Dn+PnrZoVZ/BoR9JN2fTxXxplJrAsdSUIePf4Cacs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", + "rev": "a2e1d0414259a144ebdc048408a807e69e0565af", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1717483554, - "narHash": "sha256-0WXmAi/TbIU+iGt2tzDHi2mAj928xyMDE3G7L/5fOX4=", + "lastModified": 1717657737, + "narHash": "sha256-myg6ipTz0xlTpUqLuD4gTlICKZYu0lVzvmZ59qQG+FE=", "owner": "nix-community", "repo": "NUR", - "rev": "75a188e6783937d48cece42e40de7b9e2c5c4ba5", + "rev": "e5977bad88accf47917613390ff4bf71e0326120", "type": "github" }, "original": { From db93705e47feff2a71c636fc90c0ff32b3b100aa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 6 Jun 2024 10:15:19 +0200 Subject: [PATCH 1784/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/e5977bad88accf47917613390ff4bf71e0326120' (2024-06-06) → 'github:nix-community/NUR/5083e028e69ccd63d92db9a5834ebc999692a1b4' (2024-06-06) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 9bc7aa8e..e4c5a43b 100644 --- a/flake.lock +++ b/flake.lock @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1717657737, - "narHash": "sha256-myg6ipTz0xlTpUqLuD4gTlICKZYu0lVzvmZ59qQG+FE=", + "lastModified": 1717661693, + "narHash": "sha256-y9vbjTeDI+T7/Sx/zOS+5AZeAnhUSaekdflF7SgI4SQ=", "owner": "nix-community", "repo": "NUR", - "rev": "e5977bad88accf47917613390ff4bf71e0326120", + "rev": "5083e028e69ccd63d92db9a5834ebc999692a1b4", "type": "github" }, "original": { From 2a231d250fec6bf7fd12301164894bc4b5d6d7db Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 7 Jun 2024 10:36:25 +0200 Subject: [PATCH 1785/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/ce97d77872d10c363414634b885a02890f5d4a78' (2024-06-06) → 'github:nix-community/neovim-nightly-overlay/da7e7da75fab002c8e6c695ddce45c825fbe6444' (2024-06-07) • Updated input 'neovim-nightly-overlay/git-hooks': 'github:cachix/git-hooks.nix/0e8fcc54b842ad8428c9e705cb5994eaf05c26a0' (2024-05-20) → 'github:cachix/git-hooks.nix/cc4d466cb1254af050ff7bdf47f6d404a7c646d1' (2024-06-06) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/78d3f4742872f535ebc75500afde4858985c40d8' (2024-06-05) → 'github:neovim/neovim/d490a7bc5b9d731828f5da16b35a86b4e1270624' (2024-06-06) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/3b01abcc24846ae49957b30f4345bab4b3f1d14b' (2024-06-04) → 'github:NixOS/nixpkgs/818dbe2f96df233d2041739d6079bb616d3e5597' (2024-06-06) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/57610d2f8f0937f39dbd72251e9614b1561942d8' (2024-05-31) → 'github:nixos/nixpkgs/e8057b67ebf307f01bdcc8fba94d94f75039d1f6' (2024-06-05) • Updated input 'nur': 'github:nix-community/NUR/5083e028e69ccd63d92db9a5834ebc999692a1b4' (2024-06-06) → 'github:nix-community/NUR/c1edc05252cacfe23a04c9b7e687bb1dfaac67f9' (2024-06-07) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index e4c5a43b..ede6834b 100644 --- a/flake.lock +++ b/flake.lock @@ -109,11 +109,11 @@ ] }, "locked": { - "lastModified": 1716213921, - "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1717645050, - "narHash": "sha256-+hXiY/3szujQ7kYxvK1lAwi7xRr+fPL3T0hUCTFym6s=", + "lastModified": 1717737574, + "narHash": "sha256-Oc1xZW7pc/cCr+2FpgbFuNz/yBh4ZqjsbmSH7pVADiE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ce97d77872d10c363414634b885a02890f5d4a78", + "rev": "da7e7da75fab002c8e6c695ddce45c825fbe6444", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1717627211, - "narHash": "sha256-Hyy1FzCHAnYnVPf1Xebwa9P6wicYaemEasgnnHbPAl8=", + "lastModified": 1717712276, + "narHash": "sha256-r9mtD17PiNYVKWs+Cc9uIv/vmkRtiwGrG42QRd1K6Os=", "owner": "neovim", "repo": "neovim", - "rev": "78d3f4742872f535ebc75500afde4858985c40d8", + "rev": "d490a7bc5b9d731828f5da16b35a86b4e1270624", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717459389, - "narHash": "sha256-I8/plBsua4/NZ5bKgj+z7/ThiWuud1YFwLsn1QQ5PgE=", + "lastModified": 1717646450, + "narHash": "sha256-KE+UmfSVk5PG8jdKdclPVcMrUB8yVZHbsjo7ZT1Bm3c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3b01abcc24846ae49957b30f4345bab4b3f1d14b", + "rev": "818dbe2f96df233d2041739d6079bb616d3e5597", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1717196966, - "narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=", + "lastModified": 1717602782, + "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "57610d2f8f0937f39dbd72251e9614b1561942d8", + "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1717661693, - "narHash": "sha256-y9vbjTeDI+T7/Sx/zOS+5AZeAnhUSaekdflF7SgI4SQ=", + "lastModified": 1717748219, + "narHash": "sha256-FTHNyCkHGI4F20WzBvIVurkr5J4UGMyZuZCWK6bxDhw=", "owner": "nix-community", "repo": "NUR", - "rev": "5083e028e69ccd63d92db9a5834ebc999692a1b4", + "rev": "c1edc05252cacfe23a04c9b7e687bb1dfaac67f9", "type": "github" }, "original": { From 8cdd554c66179d9c115b79c0e7570504e813333f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 10 Jun 2024 09:09:36 +0200 Subject: [PATCH 1786/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/c0d5b8c54d6828516c97f6be9f2d00c63a363df4' (2024-05-29) → 'github:lnl7/nix-darwin/315aa649ba307704db0b16c92f097a08a65ec955' (2024-06-09) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/da7e7da75fab002c8e6c695ddce45c825fbe6444' (2024-06-07) → 'github:nix-community/neovim-nightly-overlay/8a60d0af103bfc26f6a4e9c023c3f202a5cda549' (2024-06-10) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/d490a7bc5b9d731828f5da16b35a86b4e1270624' (2024-06-06) → 'github:neovim/neovim/40329f32d809302196ffd3f47b4d01a1d67f5a9b' (2024-06-09) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/818dbe2f96df233d2041739d6079bb616d3e5597' (2024-06-06) → 'github:NixOS/nixpkgs/cd18e2ae9ab8e2a0a8d715b60c91b54c0ac35ff9' (2024-06-08) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a2e1d0414259a144ebdc048408a807e69e0565af' (2024-06-04) → 'github:NixOS/nixpkgs/4913a7c3d8b8d00cb9476a6bd730ff57777f740c' (2024-06-08) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/4fad892a8f64635a55423e4acfefeefb6caf4d0d' (2024-06-03) → 'github:nixos/nixpkgs/4913a7c3d8b8d00cb9476a6bd730ff57777f740c' (2024-06-08) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e8057b67ebf307f01bdcc8fba94d94f75039d1f6' (2024-06-05) → 'github:nixos/nixpkgs/051f920625ab5aabe37c920346e3e69d7d34400e' (2024-06-07) • Updated input 'nur': 'github:nix-community/NUR/c1edc05252cacfe23a04c9b7e687bb1dfaac67f9' (2024-06-07) → 'github:nix-community/NUR/3fa21e2eb106febf493eafba31b2933ce622fca4' (2024-06-10) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index ede6834b..c69c2fa6 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1716993688, - "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=", + "lastModified": 1717976995, + "narHash": "sha256-u3HBinyIyUvL1+N816bODpJmSQdgn0Mbb8BprFw7kqo=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4", + "rev": "315aa649ba307704db0b16c92f097a08a65ec955", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1717737574, - "narHash": "sha256-Oc1xZW7pc/cCr+2FpgbFuNz/yBh4ZqjsbmSH7pVADiE=", + "lastModified": 1717998128, + "narHash": "sha256-yHRdkBgDXUuW5RRY0HuoHhnyUgI7RY7E2ceaGEyoOxg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "da7e7da75fab002c8e6c695ddce45c825fbe6444", + "rev": "8a60d0af103bfc26f6a4e9c023c3f202a5cda549", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1717712276, - "narHash": "sha256-r9mtD17PiNYVKWs+Cc9uIv/vmkRtiwGrG42QRd1K6Os=", + "lastModified": 1717973250, + "narHash": "sha256-3SETpW06kTp3K9Up2DIhXdr2kH3Zl9lqzrMv4Qpi6dM=", "owner": "neovim", "repo": "neovim", - "rev": "d490a7bc5b9d731828f5da16b35a86b4e1270624", + "rev": "40329f32d809302196ffd3f47b4d01a1d67f5a9b", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717646450, - "narHash": "sha256-KE+UmfSVk5PG8jdKdclPVcMrUB8yVZHbsjo7ZT1Bm3c=", + "lastModified": 1717868076, + "narHash": "sha256-c83Y9t815Wa34khrux81j8K8ET94ESmCuwORSKm2bQY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "818dbe2f96df233d2041739d6079bb616d3e5597", + "rev": "cd18e2ae9ab8e2a0a8d715b60c91b54c0ac35ff9", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1717428950, - "narHash": "sha256-Pr3lhu2No1GHJarhjt+Jsfxye1wNLoY12E44p0b3VO0=", + "lastModified": 1717880976, + "narHash": "sha256-BRvSCsKtDUr83NEtbGfHLUOdDK0Cgbezj2PtcHnz+sQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4fad892a8f64635a55423e4acfefeefb6caf4d0d", + "rev": "4913a7c3d8b8d00cb9476a6bd730ff57777f740c", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1717602782, - "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", + "lastModified": 1717786204, + "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", + "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1717530100, - "narHash": "sha256-b4Dn+PnrZoVZ/BoR9JN2fTxXxplJrAsdSUIePf4Cacs=", + "lastModified": 1717880976, + "narHash": "sha256-BRvSCsKtDUr83NEtbGfHLUOdDK0Cgbezj2PtcHnz+sQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a2e1d0414259a144ebdc048408a807e69e0565af", + "rev": "4913a7c3d8b8d00cb9476a6bd730ff57777f740c", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1717748219, - "narHash": "sha256-FTHNyCkHGI4F20WzBvIVurkr5J4UGMyZuZCWK6bxDhw=", + "lastModified": 1718002932, + "narHash": "sha256-Yhw3VR0goAkJp97K56KaKTWKnfngf/va5jCy03lqmsk=", "owner": "nix-community", "repo": "NUR", - "rev": "c1edc05252cacfe23a04c9b7e687bb1dfaac67f9", + "rev": "3fa21e2eb106febf493eafba31b2933ce622fca4", "type": "github" }, "original": { From 5bb766b55bdcb3fe2fd3f13f1761c2f87d53d27c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 09:30:22 +0200 Subject: [PATCH 1787/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/8a60d0af103bfc26f6a4e9c023c3f202a5cda549' (2024-06-10) → 'github:nix-community/neovim-nightly-overlay/60a8a1b221308566c51aa9a66e11145a3f141fc8' (2024-06-11) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/c0302ec12d569532a6b6bd218f698bc402e93adc' (2024-04-23) → 'github:hercules-ci/hercules-ci-effects/0ab08b23ce3c3f75fe9a5598756b6fb8bcf0b414' (2024-06-10) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/40329f32d809302196ffd3f47b4d01a1d67f5a9b' (2024-06-09) → 'github:neovim/neovim/37bf4c572a8fa20dc4a8433524ecc8c8d68fe53c' (2024-06-10) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/cd18e2ae9ab8e2a0a8d715b60c91b54c0ac35ff9' (2024-06-08) → 'github:NixOS/nixpkgs/3bcedce9f4de37570242faf16e1e143583407eab' (2024-06-09) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/4913a7c3d8b8d00cb9476a6bd730ff57777f740c' (2024-06-08) → 'github:nixos/nixpkgs/d7a9684369629451f055bdef150053e3ba02c142' (2024-06-09) • Updated input 'nur': 'github:nix-community/NUR/3fa21e2eb106febf493eafba31b2933ce622fca4' (2024-06-10) → 'github:nix-community/NUR/2975c092fc0723e452003030364f869045d02ece' (2024-06-11) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index c69c2fa6..6da74220 100644 --- a/flake.lock +++ b/flake.lock @@ -153,11 +153,11 @@ ] }, "locked": { - "lastModified": 1713898448, - "narHash": "sha256-6q6ojsp/Z9P2goqnxyfCSzFOD92T3Uobmj8oVAicUOs=", + "lastModified": 1718018037, + "narHash": "sha256-03rLBd/lKecgaKz0j5ESUf9lDn5R0SJatZTKLL5unWE=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "c0302ec12d569532a6b6bd218f698bc402e93adc", + "rev": "0ab08b23ce3c3f75fe9a5598756b6fb8bcf0b414", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1717998128, - "narHash": "sha256-yHRdkBgDXUuW5RRY0HuoHhnyUgI7RY7E2ceaGEyoOxg=", + "lastModified": 1718090902, + "narHash": "sha256-XlFgIhunVheMVT5hv+Ov7wkjFldqqOWsRleYQHrgWQY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "8a60d0af103bfc26f6a4e9c023c3f202a5cda549", + "rev": "60a8a1b221308566c51aa9a66e11145a3f141fc8", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1717973250, - "narHash": "sha256-3SETpW06kTp3K9Up2DIhXdr2kH3Zl9lqzrMv4Qpi6dM=", + "lastModified": 1718038388, + "narHash": "sha256-npcA3yWucHF5uKKqcrSLJAy0hk3tTxfVCo/Da/Z4OOM=", "owner": "neovim", "repo": "neovim", - "rev": "40329f32d809302196ffd3f47b4d01a1d67f5a9b", + "rev": "37bf4c572a8fa20dc4a8433524ecc8c8d68fe53c", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717868076, - "narHash": "sha256-c83Y9t815Wa34khrux81j8K8ET94ESmCuwORSKm2bQY=", + "lastModified": 1717893485, + "narHash": "sha256-WMU6ZRZrBgEUDIF0siu2aIyVAXcxfElSwzZtS/mSpN4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cd18e2ae9ab8e2a0a8d715b60c91b54c0ac35ff9", + "rev": "3bcedce9f4de37570242faf16e1e143583407eab", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1717880976, - "narHash": "sha256-BRvSCsKtDUr83NEtbGfHLUOdDK0Cgbezj2PtcHnz+sQ=", + "lastModified": 1717943341, + "narHash": "sha256-yxWsqI5xJD3CxLsxUdwO0j6I3w9tWL7OTPX+an34NeE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4913a7c3d8b8d00cb9476a6bd730ff57777f740c", + "rev": "d7a9684369629451f055bdef150053e3ba02c142", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718002932, - "narHash": "sha256-Yhw3VR0goAkJp97K56KaKTWKnfngf/va5jCy03lqmsk=", + "lastModified": 1718088447, + "narHash": "sha256-edBY0CM3e9HgFaYAoyBWKgOk1CbCMm2vXv5nFG+epF0=", "owner": "nix-community", "repo": "NUR", - "rev": "3fa21e2eb106febf493eafba31b2933ce622fca4", + "rev": "2975c092fc0723e452003030364f869045d02ece", "type": "github" }, "original": { From 0c025280747faddf43ed5993655e43c0bf5de59c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 11:29:12 +0200 Subject: [PATCH 1788/2080] macos: install nmap --- machines/Baptistes-MBP/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 35850597..1412977a 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -40,6 +40,8 @@ # Terminal file manager "yazi" + + "nmap" ]; casks = [ # app launcher, file searcher From 7480f59b33dfb5874dc3e9a1d5c100f202037588 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 11:29:25 +0200 Subject: [PATCH 1789/2080] Update extras --- lazyvim/nvim/lazyvim.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 63c1eca2..c4379e67 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -6,15 +6,16 @@ "lazyvim.plugins.extras.coding.yanky", "lazyvim.plugins.extras.dap.core", "lazyvim.plugins.extras.editor.dial", - "lazyvim.plugins.extras.editor.trouble-v3", + "lazyvim.plugins.extras.editor.inc-rename", "lazyvim.plugins.extras.formatting.black", "lazyvim.plugins.extras.formatting.prettier", "lazyvim.plugins.extras.lang.ansible", "lazyvim.plugins.extras.lang.docker", + "lazyvim.plugins.extras.lang.git", "lazyvim.plugins.extras.lang.json", "lazyvim.plugins.extras.lang.markdown", + "lazyvim.plugins.extras.lang.nix", "lazyvim.plugins.extras.lang.python", - "lazyvim.plugins.extras.lang.python-semshi", "lazyvim.plugins.extras.lang.terraform", "lazyvim.plugins.extras.lang.yaml", "lazyvim.plugins.extras.ui.edgy", @@ -24,7 +25,7 @@ "lazyvim.plugins.extras.util.project" ], "news": { - "NEWS.md": "4964" + "NEWS.md": "6077" }, - "version": 4 + "version": 6 } \ No newline at end of file From 36c4e8eb1dc9b60093c9d85143839f3afea51072 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 11:29:38 +0200 Subject: [PATCH 1790/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/051f920625ab5aabe37c920346e3e69d7d34400e' (2024-06-07) → 'github:nixos/nixpkgs/c7b821ba2e1e635ba5a76d299af62821cbcb09f3' (2024-06-09) • Updated input 'nur': 'github:nix-community/NUR/2975c092fc0723e452003030364f869045d02ece' (2024-06-11) → 'github:nix-community/NUR/5072ee4e6961b0d056755011416cd76e20a2005d' (2024-06-11) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 6da74220..e5392bc8 100644 --- a/flake.lock +++ b/flake.lock @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1717786204, - "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", + "lastModified": 1717974879, + "narHash": "sha256-GTO3C88+5DX171F/gVS3Qga/hOs/eRMxPFpiHq2t+D8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", + "rev": "c7b821ba2e1e635ba5a76d299af62821cbcb09f3", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718088447, - "narHash": "sha256-edBY0CM3e9HgFaYAoyBWKgOk1CbCMm2vXv5nFG+epF0=", + "lastModified": 1718097397, + "narHash": "sha256-2qfwsC7G71wIvx2zyHMmZbQCfBG7zc9LUA7GshID0D0=", "owner": "nix-community", "repo": "NUR", - "rev": "2975c092fc0723e452003030364f869045d02ece", + "rev": "5072ee4e6961b0d056755011416cd76e20a2005d", "type": "github" }, "original": { From dbaa648782c4ecd78192dba2448991f90d0a1b74 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 11:29:38 +0200 Subject: [PATCH 1791/2080] lazyvin: bump lock file --- lazyvim/nvim/lazy-lock.json | 93 ++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 47 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 4cfa3c55..fb47d386 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,40 +1,43 @@ { - "LazyVim": { "branch": "main", "commit": "0160851a2503ada6fda329a230a21307b8ef966a" }, - "LuaSnip": { "branch": "master", "commit": "878ace11983444d865a72e1759dbcc331d1ace4c" }, - "SchemaStore.nvim": { "branch": "main", "commit": "931f9f3b7b60ec976159cb01b4a40da3829ac2fd" }, + "LazyVim": { "branch": "main", "commit": "d7c7548e09af1d26db57f10be3c77a58f010b1d5" }, + "LuaSnip": { "branch": "master", "commit": "50fcf17db7c75af80e6b6109acfbfb4504768780" }, + "SchemaStore.nvim": { "branch": "main", "commit": "493250022db69edd8afe8e6d0f17105756a3b721" }, "bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" }, - "catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" }, + "catppuccin": { "branch": "main", "commit": "cc8e290d4c0d572171243087f8541e49be2c8764" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, + "cmp-git": { "branch": "main", "commit": "8dfbc33fb32c33e5c0be9dcc8176a4f4d395f95e" }, "cmp-lbdb": { "branch": "master", "commit": "a2f3c43c734165e64a9d413f15a2e0131e08b054" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "f3b930db4964d60e255c8f9e37b7f2218dfc08cb" }, - "dashboard-nvim": { "branch": "master", "commit": "5182c09ac8085dc73b78ad0ea9f5479c9a866fc4" }, + "conform.nvim": { "branch": "master", "commit": "07d1298739cd7c616cb683bfd848f6b369f93297" }, + "dashboard-nvim": { "branch": "master", "commit": "5346d023afc4bfc7ff63d05c70bcdb0784bb657a" }, "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, - "diffview.nvim": { "branch": "main", "commit": "1ec7b56b959dab18f7030f541c33ae60e18a6f88" }, - "dressing.nvim": { "branch": "master", "commit": "3c38ac861e1b8d4077ff46a779cde17330b29f3a" }, + "diffview.nvim": { "branch": "main", "commit": "3afa6a053f680e9f1329c4a151db988a482306cd" }, + "dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, - "flash.nvim": { "branch": "main", "commit": "11a2e667d19d8f48c93c6ed2e2e525ac6b1b79be" }, - "friendly-snippets": { "branch": "main", "commit": "d0610077b6129cf9f7f78afbe3a1425d60f6e2f1" }, - "gitsigns.nvim": { "branch": "main", "commit": "af3fdad8ddcadbdad835975204f6503310526fd9" }, + "flash.nvim": { "branch": "main", "commit": "43f67935d388fbb540f8b40e8cbfd80de54f978a" }, + "friendly-snippets": { "branch": "main", "commit": "700c4a25caacbb4648c9a27972c2fe203948e0c2" }, + "gitsigns.nvim": { "branch": "main", "commit": "4a143f13e122ab91abdc88f89eefbe70a4858a56" }, "gx.nvim": { "branch": "main", "commit": "cf6ed6ba86ffe4e3f51a898c03a05023b7a2fe48" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, - "inc-rename.nvim": { "branch": "main", "commit": "7c6125b1ee476b56708a6518a37b2a3357f57bfc" }, + "inc-rename.nvim": { "branch": "main", "commit": "535b508c0cb14d00c1836ad901b3c531cb1152bb" }, "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, - "lazy.nvim": { "branch": "main", "commit": "24fa2a97085ca8a7220b5b078916f81e316036fd" }, - "ltex_extra.nvim": { "branch": "master", "commit": "4296c2c7aefbca721d02a011366a1de30598046c" }, + "lazy.nvim": { "branch": "main", "commit": "fafe1f7c640aed75e70a10e6649612cd96f39149" }, + "lazydev.nvim": { "branch": "main", "commit": "7cbb524c85f87017df9c1ea2377a1d840ad8ed51" }, + "ltex_extra.nvim": { "branch": "master", "commit": "3ee08af31bf826c6ae2ca2a294b79f688306c0be" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, + "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a4caa0d083aab56f6cd5acf2d42331b74614a585" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, - "mason.nvim": { "branch": "main", "commit": "49ff59aded1047a773670651cfa40e76e63c6377" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "f5425eb1d0d794f0305d5eeebddabb74614683ff" }, + "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, + "mini.ai": { "branch": "main", "commit": "a7e90f110e6274262616311b93cef12cd2667a2d" }, "mini.animate": { "branch": "main", "commit": "0a35f6db55cfac04a0999abe3465f7b692dc56a7" }, "mini.bracketed": { "branch": "main", "commit": "06ad08fc75dc540cba76d3d8de0f2dc9f75b5812" }, "mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" }, @@ -42,55 +45,51 @@ "mini.pairs": { "branch": "main", "commit": "40261dfcec7623cd57be3c3beb50fa73f2650cdf" }, "mini.surround": { "branch": "main", "commit": "27096c1a27324ee8f2044ea2adc77366d8a782de" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, - "neoconf.nvim": { "branch": "main", "commit": "4e204e0d423e70293b81ba1655ed17e1f3c97986" }, - "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" }, - "noice.nvim": { "branch": "main", "commit": "f119045f38792ad5311e5f9be7a879e4c1a95fe0" }, - "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" }, + "noice.nvim": { "branch": "main", "commit": "e5cb20c6e14305d24025ecb77d7d4dd9d61f1a64" }, + "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, "nvim-ansible": { "branch": "main", "commit": "cb5d0cc79c1864b72d5ae40a926a1176b18f1b65" }, - "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, + "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-dap": { "branch": "master", "commit": "abb238f631609ea4be496ba7946f4f3aaec86c6a" }, - "nvim-dap-python": { "branch": "master", "commit": "3dffa58541d1f52c121fe58ced046268c838d802" }, + "nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, + "nvim-dap-python": { "branch": "master", "commit": "ae0225d0d4a46e18e6057ab3701ef87bbbd6aaad" }, "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, - "nvim-lint": { "branch": "master", "commit": "e19842a05aae484957ad20710444757bc0a61d63" }, - "nvim-lspconfig": { "branch": "master", "commit": "38de86f82efd9ba0881203767d6a8e1815abca28" }, - "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, + "nvim-lint": { "branch": "master", "commit": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce" }, + "nvim-lspconfig": { "branch": "master", "commit": "4d38bece98300e3e5cd24a9aa0d0ebfea4951c16" }, + "nvim-nio": { "branch": "master", "commit": "7969e0a8ffabdf210edd7978ec954a47a737bbcc" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, - "nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" }, - "nvim-snippets": { "branch": "main", "commit": "0b86938397512dad4c0790b4ea4a835ad65dc0f6" }, - "nvim-spectre": { "branch": "master", "commit": "366f46fdd4a1593cc237aea13d5ef113739a472c" }, - "nvim-spider": { "branch": "main", "commit": "b2f2af0563bb631864cab262d483118f3610e662" }, + "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, + "nvim-spectre": { "branch": "master", "commit": "ec67d4b5370094b923dfcf6b09b39142f2964861" }, + "nvim-spider": { "branch": "main", "commit": "b17d85c086d963852b7e3f543e0cd187b5112bc5" }, "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, - "nvim-treesitter": { "branch": "master", "commit": "b91ae14fc3bb801c7ea69bc283fe860b32b5163d" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "3557e41418b4a6c5b85d5d64abe94c9c50fa9b14" }, - "nvim-ts-autotag": { "branch": "main", "commit": "8ae54b90e36ef1fc5267214b30c2cbff71525fe4" }, + "nvim-treesitter": { "branch": "master", "commit": "9a7ad2ff7a7ea81016aca2fc89c9b2c1a5365421" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, + "nvim-ts-autotag": { "branch": "main", "commit": "2692808eca8a4ac3311516a1c4a14bb97ecc6482" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, - "nvim-ufo": { "branch": "main", "commit": "65dda6360879f6ffe0278163b9192a573a0d2a08" }, - "nvim-web-devicons": { "branch": "master", "commit": "b77921fdc44833c994fdb389d658ccbce5490c16" }, + "nvim-ufo": { "branch": "main", "commit": "aa2e676af592b4e99c105d80d6eafd1afc215d99" }, + "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, - "promise-async": { "branch": "main", "commit": "93540c168c5ed2b030ec3e6c40ab8bbb85e36355" }, + "promise-async": { "branch": "main", "commit": "28c1d5a295eb5310afa2523d4ae9aa41ec5a9de2" }, "refactoring.nvim": { "branch": "master", "commit": "d2786877c91aa409c824f27b4ce8a9f560dda60a" }, - "semshi": { "branch": "master", "commit": "0182447e2ff4dfa04cd2dfe5f189e012c581ca45" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "2cd29996d08cec8b31270c6de64465f716ef9d71" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope-terraform-doc.nvim": { "branch": "main", "commit": "e09181f76acefaf66d2b55149bebe939828234b4" }, + "telescope-terraform-doc.nvim": { "branch": "main", "commit": "7272e5339f88af036887085d784504092a1ff5fd" }, "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, - "telescope.nvim": { "branch": "master", "commit": "90143d31f20e65179308198940f5c5caf4ecdbdf" }, - "todo-comments.nvim": { "branch": "main", "commit": "e1549807066947818113a7d7ed48f637e49620d3" }, - "tokyonight.nvim": { "branch": "main", "commit": "0fae425aaab04a5f97666bd431b96f2f19c36935" }, - "trouble.nvim": { "branch": "dev", "commit": "e2185bf6e63ef9bd75f1819f43846e2b0f10953b" }, - "ts-comments.nvim": { "branch": "main", "commit": "f7ded340b4c6b317593b867838bf7ace354a67d4" }, + "telescope.nvim": { "branch": "master", "commit": "f12b15e1b3a33524eb06a1ae7bc852fb1fd92197" }, + "todo-comments.nvim": { "branch": "main", "commit": "9c104cf7868f1c739b43a07e5593666cc9de2d67" }, + "tokyonight.nvim": { "branch": "main", "commit": "0283787031ef9878a2b80300de0d22e938771998" }, + "trouble.nvim": { "branch": "main", "commit": "483eb2d7590b3b87cf159e3bdf96170eaaa361e8" }, + "ts-comments.nvim": { "branch": "main", "commit": "c075b4ee00f6e111b44bf99a8cfd5a4cfce9258a" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "main", "commit": "6a1b15eb35bbb827b6db428055087e2dbf32838f" }, + "venv-selector.nvim": { "branch": "regexp", "commit": "d946b1e86212f38ff9c42e3b622a8178bbc93461" }, "vim-matchup": { "branch": "master", "commit": "1535a769d5dca851fe7d41b0be95f7c7203a4bef" }, "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, + "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } } From 556b65ab04bc51788050a8c1e48ae22c80d47aeb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 11:44:07 +0200 Subject: [PATCH 1792/2080] Disable luansnip --- lazyvim/nvim/lazyvim.json | 1 - 1 file changed, 1 deletion(-) diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index c4379e67..33a75b89 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -1,6 +1,5 @@ { "extras": [ - "lazyvim.plugins.extras.coding.luasnip", "lazyvim.plugins.extras.coding.mini-comment", "lazyvim.plugins.extras.coding.mini-surround", "lazyvim.plugins.extras.coding.yanky", From 339db72abf8b5939548eb934e5e42fce3458dd71 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 11:44:28 +0200 Subject: [PATCH 1793/2080] lazyvim: drop neogen and inc-rename manual configuration --- lazyvim/nvim/lua/plugins/coding.lua | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 42389f77..05d855c8 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -64,28 +64,6 @@ return { end, }, - -- A better annotation generator - { - "danymat/neogen", - keys = { - { - "<leader>cc", - function() - require("neogen").generate({}) - end, - desc = "Neogen Comment", - }, - }, - -- opts = { snippet_engine = "luasnip" }, - }, - - -- Incremental LSP renaming - { - "smjonas/inc-rename.nvim", - cmd = "IncRename", - config = true, - }, - -- Structural search and replace { "cshuaimin/ssr.nvim", From 237bd95da7433c563a7d4289710fa655189ad557 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 11:45:04 +0200 Subject: [PATCH 1794/2080] --amend --- lazyvim/nvim/lazyvim.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index 33a75b89..f8e91485 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -2,6 +2,7 @@ "extras": [ "lazyvim.plugins.extras.coding.mini-comment", "lazyvim.plugins.extras.coding.mini-surround", + "lazyvim.plugins.extras.coding.neogen", "lazyvim.plugins.extras.coding.yanky", "lazyvim.plugins.extras.dap.core", "lazyvim.plugins.extras.editor.dial", From e10f8db13824d6e0a3c3ba342db3265412aa48d9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 12:43:34 +0200 Subject: [PATCH 1795/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/d7a9684369629451f055bdef150053e3ba02c142' (2024-06-09) → 'github:nixos/nixpkgs/a17d432f8169345699ab8676dbec2ba0147832db' (2024-06-11) • Updated input 'nur': 'github:nix-community/NUR/5072ee4e6961b0d056755011416cd76e20a2005d' (2024-06-11) → 'github:nix-community/NUR/b2adfc00254cf5bca52f1951955e801534130d63' (2024-06-11) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e5392bc8..87d64668 100644 --- a/flake.lock +++ b/flake.lock @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1717943341, - "narHash": "sha256-yxWsqI5xJD3CxLsxUdwO0j6I3w9tWL7OTPX+an34NeE=", + "lastModified": 1718092965, + "narHash": "sha256-bn1jzGgHkXoYIPr4RR0KYNr3K6SzlCQJlgA6kN/9E20=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7a9684369629451f055bdef150053e3ba02c142", + "rev": "a17d432f8169345699ab8676dbec2ba0147832db", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718097397, - "narHash": "sha256-2qfwsC7G71wIvx2zyHMmZbQCfBG7zc9LUA7GshID0D0=", + "lastModified": 1718102237, + "narHash": "sha256-5cUm1abWTdXdkP5jWGyUY6IgihpIpbSqem4M/2xwtzc=", "owner": "nix-community", "repo": "NUR", - "rev": "5072ee4e6961b0d056755011416cd76e20a2005d", + "rev": "b2adfc00254cf5bca52f1951955e801534130d63", "type": "github" }, "original": { From a5ca6c0c90ce6aa8fe9dc0de8b71b398341f7cc4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 16:06:23 +0200 Subject: [PATCH 1796/2080] nvim lsp: drop deprecated rnix --- lazyvim/nvim/lua/plugins/lsp.lua | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 2fe18b12..88c9e5c0 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -134,11 +134,6 @@ return { -- }, }, pyright = {}, - -- FIXME: deprecated - -- rnix = { - -- -- rnix-lsp is installed using nix - -- mason = false, - -- }, texlab = {}, -- XXX: disabled as it's to beinstalled manually -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp From 4afacb175f0b78502b839683b70b7f892fbe29cd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 11 Jun 2024 16:06:48 +0200 Subject: [PATCH 1797/2080] Bump lazyvim lock --- lazyvim/nvim/lazy-lock.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index fb47d386..52e7825a 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,6 +1,5 @@ { - "LazyVim": { "branch": "main", "commit": "d7c7548e09af1d26db57f10be3c77a58f010b1d5" }, - "LuaSnip": { "branch": "master", "commit": "50fcf17db7c75af80e6b6109acfbfb4504768780" }, + "LazyVim": { "branch": "main", "commit": "26e3e39f2eb1251841f5574f29c7eecb55fef816" }, "SchemaStore.nvim": { "branch": "main", "commit": "493250022db69edd8afe8e6d0f17105756a3b721" }, "bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" }, "catppuccin": { "branch": "main", "commit": "cc8e290d4c0d572171243087f8541e49be2c8764" }, @@ -12,13 +11,12 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "conform.nvim": { "branch": "master", "commit": "07d1298739cd7c616cb683bfd848f6b369f93297" }, "dashboard-nvim": { "branch": "master", "commit": "5346d023afc4bfc7ff63d05c70bcdb0784bb657a" }, "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, "diffview.nvim": { "branch": "main", "commit": "3afa6a053f680e9f1329c4a151db988a482306cd" }, "dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, - "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, + "edgy.nvim": { "branch": "main", "commit": "ab3f7121bd3da3c61166986fecc27c25b9469a09" }, "flash.nvim": { "branch": "main", "commit": "43f67935d388fbb540f8b40e8cbfd80de54f978a" }, "friendly-snippets": { "branch": "main", "commit": "700c4a25caacbb4648c9a27972c2fe203948e0c2" }, "gitsigns.nvim": { "branch": "main", "commit": "4a143f13e122ab91abdc88f89eefbe70a4858a56" }, @@ -60,6 +58,7 @@ "nvim-nio": { "branch": "master", "commit": "7969e0a8ffabdf210edd7978ec954a47a737bbcc" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, + "nvim-snippets": { "branch": "main", "commit": "5c978b3ba0c504dc9f94ca93d17029f26064d229" }, "nvim-spectre": { "branch": "master", "commit": "ec67d4b5370094b923dfcf6b09b39142f2964861" }, "nvim-spider": { "branch": "main", "commit": "b17d85c086d963852b7e3f543e0cd187b5112bc5" }, "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, @@ -82,7 +81,7 @@ "telescope.nvim": { "branch": "master", "commit": "f12b15e1b3a33524eb06a1ae7bc852fb1fd92197" }, "todo-comments.nvim": { "branch": "main", "commit": "9c104cf7868f1c739b43a07e5593666cc9de2d67" }, "tokyonight.nvim": { "branch": "main", "commit": "0283787031ef9878a2b80300de0d22e938771998" }, - "trouble.nvim": { "branch": "main", "commit": "483eb2d7590b3b87cf159e3bdf96170eaaa361e8" }, + "trouble.nvim": { "branch": "main", "commit": "5e45bb78f8da3444d35616934c180fce3742c439" }, "ts-comments.nvim": { "branch": "main", "commit": "c075b4ee00f6e111b44bf99a8cfd5a4cfce9258a" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "venv-selector.nvim": { "branch": "regexp", "commit": "d946b1e86212f38ff9c42e3b622a8178bbc93461" }, From 48291c414fa2f264b3d41d7c447f96fcc287e172 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 12 Jun 2024 08:53:55 +0200 Subject: [PATCH 1798/2080] Drop telescope.lua --- lazyvim/nvim/lua/plugins/telescope.lua | 35 -------------------------- 1 file changed, 35 deletions(-) delete mode 100644 lazyvim/nvim/lua/plugins/telescope.lua diff --git a/lazyvim/nvim/lua/plugins/telescope.lua b/lazyvim/nvim/lua/plugins/telescope.lua deleted file mode 100644 index e3b249c1..00000000 --- a/lazyvim/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,35 +0,0 @@ --- https://github.com/folke/dot/blob/master/nvim/lua/plugins/telescope.lua --- change some telescope options and a keymap to browse plugin files -return { - -- { - -- -- add telescope-fzf-native - -- "telescope.nvim", - -- dependencies = { - -- "nvim-telescope/telescope-fzf-native.nvim", - -- build = "make", - -- config = function() - -- require("telescope").load_extension("fzf") - -- end, - -- }, - -- keys = { - -- { - -- -- add a keymap to browse plugin files - -- "<leader>fP", - -- function() - -- require("telescope.builtin").find_files({ - -- cwd = require("lazy.core.config").options.root, - -- }) - -- end, - -- desc = "Find Plugin File", - -- }, - -- }, - -- opts = { - -- defaults = { - -- layout_strategy = "horizontal", - -- layout_config = { prompt_position = "top" }, - -- sorting_strategy = "ascending", - -- winblend = 0, - -- }, - -- }, - -- }, -} From f95f647e59b133514d9276e2e52c90100ab22831 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jun 2024 09:32:03 +0200 Subject: [PATCH 1799/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/315aa649ba307704db0b16c92f097a08a65ec955' (2024-06-09) → 'github:lnl7/nix-darwin/58b905ea87674592aa84c37873e6c07bc3807aba' (2024-06-15) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/60a8a1b221308566c51aa9a66e11145a3f141fc8' (2024-06-11) → 'github:nix-community/neovim-nightly-overlay/c1e57fe1d1172672adae8633286d5d7713309ccf' (2024-06-16) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/37bf4c572a8fa20dc4a8433524ecc8c8d68fe53c' (2024-06-10) → 'github:neovim/neovim/aa319da4024a77b0f7c40e08c6f5d5b512a7f899' (2024-06-15) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/3bcedce9f4de37570242faf16e1e143583407eab' (2024-06-09) → 'github:NixOS/nixpkgs/3f84a279f1a6290ce154c5531378acc827836fbb' (2024-06-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/4913a7c3d8b8d00cb9476a6bd730ff57777f740c' (2024-06-08) → 'github:NixOS/nixpkgs/5c2ec3a5c2ee9909904f860dadc19bc12cd9cc44' (2024-06-12) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/a17d432f8169345699ab8676dbec2ba0147832db' (2024-06-11) → 'github:nixos/nixpkgs/0fc70ac44ab22b4a6bb434dadc5bb34e30bdb327' (2024-06-13) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/c7b821ba2e1e635ba5a76d299af62821cbcb09f3' (2024-06-09) → 'github:nixos/nixpkgs/e9ee548d90ff586a6471b4ae80ae9cfcbceb3420' (2024-06-13) • Updated input 'nur': 'github:nix-community/NUR/b2adfc00254cf5bca52f1951955e801534130d63' (2024-06-11) → 'github:nix-community/NUR/6af362f6660ce325faacb9e180e3c2e8d2af3fdd' (2024-06-17) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 87d64668..b5a51b30 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1717976995, - "narHash": "sha256-u3HBinyIyUvL1+N816bODpJmSQdgn0Mbb8BprFw7kqo=", + "lastModified": 1718440858, + "narHash": "sha256-iMVwdob8F6P6Ib+pnhMZqyvYI10ZxmvA885jjnEaO54=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "315aa649ba307704db0b16c92f097a08a65ec955", + "rev": "58b905ea87674592aa84c37873e6c07bc3807aba", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1718090902, - "narHash": "sha256-XlFgIhunVheMVT5hv+Ov7wkjFldqqOWsRleYQHrgWQY=", + "lastModified": 1718512978, + "narHash": "sha256-roENt8tYPxBXcaluvburPG9PeKhr4BgoYup2LR66wvA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "60a8a1b221308566c51aa9a66e11145a3f141fc8", + "rev": "c1e57fe1d1172672adae8633286d5d7713309ccf", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1718038388, - "narHash": "sha256-npcA3yWucHF5uKKqcrSLJAy0hk3tTxfVCo/Da/Z4OOM=", + "lastModified": 1718492826, + "narHash": "sha256-YaZyuhBSZFnwoMwe790NjzUyff/Ml93jJ6wxj4dCFdc=", "owner": "neovim", "repo": "neovim", - "rev": "37bf4c572a8fa20dc4a8433524ecc8c8d68fe53c", + "rev": "aa319da4024a77b0f7c40e08c6f5d5b512a7f899", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717893485, - "narHash": "sha256-WMU6ZRZrBgEUDIF0siu2aIyVAXcxfElSwzZtS/mSpN4=", + "lastModified": 1718276985, + "narHash": "sha256-u1fA0DYQYdeG+5kDm1bOoGcHtX0rtC7qs2YA2N1X++I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3bcedce9f4de37570242faf16e1e143583407eab", + "rev": "3f84a279f1a6290ce154c5531378acc827836fbb", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1718092965, - "narHash": "sha256-bn1jzGgHkXoYIPr4RR0KYNr3K6SzlCQJlgA6kN/9E20=", + "lastModified": 1718308197, + "narHash": "sha256-61KJ0bnNXxbQ0CbOOKFHbB9BWrqCzVhLGhYRZFfJXv0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a17d432f8169345699ab8676dbec2ba0147832db", + "rev": "0fc70ac44ab22b4a6bb434dadc5bb34e30bdb327", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1717974879, - "narHash": "sha256-GTO3C88+5DX171F/gVS3Qga/hOs/eRMxPFpiHq2t+D8=", + "lastModified": 1718318537, + "narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c7b821ba2e1e635ba5a76d299af62821cbcb09f3", + "rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1717880976, - "narHash": "sha256-BRvSCsKtDUr83NEtbGfHLUOdDK0Cgbezj2PtcHnz+sQ=", + "lastModified": 1718229064, + "narHash": "sha256-ZFav8A9zPNfjZg/wrxh1uZeMJHELRfRgFP+meq01XYk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4913a7c3d8b8d00cb9476a6bd730ff57777f740c", + "rev": "5c2ec3a5c2ee9909904f860dadc19bc12cd9cc44", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718102237, - "narHash": "sha256-5cUm1abWTdXdkP5jWGyUY6IgihpIpbSqem4M/2xwtzc=", + "lastModified": 1718606072, + "narHash": "sha256-+BKOI7p2YoNwNQgfdIldS0hmihEjBBLWPOek624sgeg=", "owner": "nix-community", "repo": "NUR", - "rev": "b2adfc00254cf5bca52f1951955e801534130d63", + "rev": "6af362f6660ce325faacb9e180e3c2e8d2af3fdd", "type": "github" }, "original": { From 1b9c4978e8975b1fb550be1e5558b64ad00121d2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jun 2024 10:27:09 +0200 Subject: [PATCH 1800/2080] nix-darwin: implement fonts.fonts renaming. --- machines/Baptistes-MBP/configuration.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/machines/Baptistes-MBP/configuration.nix b/machines/Baptistes-MBP/configuration.nix index 28895d27..5b3dc63f 100644 --- a/machines/Baptistes-MBP/configuration.nix +++ b/machines/Baptistes-MBP/configuration.nix @@ -46,14 +46,11 @@ ]; # Fonts - fonts.fontDir.enable = true; # XXX: try to move to home/main.nix # https://github.com/lightdiscord/nix-nerd-fonts-overlay # https://github.com/NixOS/nixpkgs/blob/6ba3207643fd27ffa25a172911e3d6825814d155/pkgs/data/fonts/nerdfonts/shas.nix#L2-L51 # https://github.com/JonathanReeve/dotfiles/blob/master/dotfiles/configuration.nix#L61 - # XXX: 2024-03-26 not working yet on Darwin? - # fonts.packages = with pkgs; [ - fonts.fonts = with pkgs; [ + fonts.packages = with pkgs; [ fantasque-sans-mono font-awesome_5 # Only pick selected fonts From ec4082df314d8c2766a6cda576110a8dac832047 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jun 2024 10:27:16 +0200 Subject: [PATCH 1801/2080] Bump lazyvim lock --- lazyvim/nvim/lazy-lock.json | 55 +++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 52e7825a..62652b59 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,8 +1,8 @@ { - "LazyVim": { "branch": "main", "commit": "26e3e39f2eb1251841f5574f29c7eecb55fef816" }, - "SchemaStore.nvim": { "branch": "main", "commit": "493250022db69edd8afe8e6d0f17105756a3b721" }, + "LazyVim": { "branch": "main", "commit": "32b2574c1be21176b604a9210a77d3b5b446f0e0" }, + "SchemaStore.nvim": { "branch": "main", "commit": "35f36c50b9f1e1e916d0e3f004cb48dffd2bf737" }, "bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" }, - "catppuccin": { "branch": "main", "commit": "cc8e290d4c0d572171243087f8541e49be2c8764" }, + "catppuccin": { "branch": "main", "commit": "c0bea773a09e49e123136b099bce9ddc1bf395d2" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, @@ -11,40 +11,40 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "conform.nvim": { "branch": "master", "commit": "07d1298739cd7c616cb683bfd848f6b369f93297" }, - "dashboard-nvim": { "branch": "master", "commit": "5346d023afc4bfc7ff63d05c70bcdb0784bb657a" }, + "conform.nvim": { "branch": "master", "commit": "6e5d476e97dbd251cc2233d42fd238c810404701" }, + "dashboard-nvim": { "branch": "master", "commit": "b88c997f468a1bacb1e9b13ff3b567638caa06e6" }, "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, - "diffview.nvim": { "branch": "main", "commit": "3afa6a053f680e9f1329c4a151db988a482306cd" }, - "dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, - "edgy.nvim": { "branch": "main", "commit": "ab3f7121bd3da3c61166986fecc27c25b9469a09" }, + "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, + "edgy.nvim": { "branch": "main", "commit": "a8bc1d24798c80a391f1a5d898a50c41a7f93883" }, "flash.nvim": { "branch": "main", "commit": "43f67935d388fbb540f8b40e8cbfd80de54f978a" }, - "friendly-snippets": { "branch": "main", "commit": "700c4a25caacbb4648c9a27972c2fe203948e0c2" }, - "gitsigns.nvim": { "branch": "main", "commit": "4a143f13e122ab91abdc88f89eefbe70a4858a56" }, + "friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, + "fzf-lua": { "branch": "main", "commit": "b59bb9a205547a4d57987ab939845d9b35833466" }, + "gitsigns.nvim": { "branch": "main", "commit": "47c8e3e571376b24de62408fd0c9d12f0a9fc0a3" }, "gx.nvim": { "branch": "main", "commit": "cf6ed6ba86ffe4e3f51a898c03a05023b7a2fe48" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "inc-rename.nvim": { "branch": "main", "commit": "535b508c0cb14d00c1836ad901b3c531cb1152bb" }, "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, - "lazy.nvim": { "branch": "main", "commit": "fafe1f7c640aed75e70a10e6649612cd96f39149" }, - "lazydev.nvim": { "branch": "main", "commit": "7cbb524c85f87017df9c1ea2377a1d840ad8ed51" }, - "ltex_extra.nvim": { "branch": "master", "commit": "3ee08af31bf826c6ae2ca2a294b79f688306c0be" }, + "lazy.nvim": { "branch": "main", "commit": "c501b429cf995c645454539b924aaefae45bb9eb" }, + "lazydev.nvim": { "branch": "main", "commit": "6184ebbbc8045d70077659b7d30c705a588dc62f" }, + "ltex_extra.nvim": { "branch": "master", "commit": "24acd044ce7a26b3cdb537cbd094de37c3e1ac45" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "f5425eb1d0d794f0305d5eeebddabb74614683ff" }, "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "a7e90f110e6274262616311b93cef12cd2667a2d" }, + "mini.ai": { "branch": "main", "commit": "9fef1097bca44616133cde6a6769e7aa07d12d7d" }, "mini.animate": { "branch": "main", "commit": "0a35f6db55cfac04a0999abe3465f7b692dc56a7" }, "mini.bracketed": { "branch": "main", "commit": "06ad08fc75dc540cba76d3d8de0f2dc9f75b5812" }, "mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" }, "mini.hipatterns": { "branch": "main", "commit": "427712c754bfdccd8da7073576cd8e2586c0fe93" }, "mini.pairs": { "branch": "main", "commit": "40261dfcec7623cd57be3c3beb50fa73f2650cdf" }, - "mini.surround": { "branch": "main", "commit": "27096c1a27324ee8f2044ea2adc77366d8a782de" }, + "mini.surround": { "branch": "main", "commit": "dad4ee9846fed670f221feb4d32203912be8804b" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, "neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" }, - "noice.nvim": { "branch": "main", "commit": "e5cb20c6e14305d24025ecb77d7d4dd9d61f1a64" }, + "noice.nvim": { "branch": "main", "commit": "8bccd26e912a439f45829bd1fe83e77c4dc263ad" }, "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, "nvim-ansible": { "branch": "main", "commit": "cb5d0cc79c1864b72d5ae40a926a1176b18f1b65" }, "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, @@ -54,7 +54,7 @@ "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, "nvim-lint": { "branch": "master", "commit": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce" }, - "nvim-lspconfig": { "branch": "master", "commit": "4d38bece98300e3e5cd24a9aa0d0ebfea4951c16" }, + "nvim-lspconfig": { "branch": "master", "commit": "bd7c76375a511994c9ca8d69441f134dc10ae3bd" }, "nvim-nio": { "branch": "master", "commit": "7969e0a8ffabdf210edd7978ec954a47a737bbcc" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, @@ -62,29 +62,24 @@ "nvim-spectre": { "branch": "master", "commit": "ec67d4b5370094b923dfcf6b09b39142f2964861" }, "nvim-spider": { "branch": "main", "commit": "b17d85c086d963852b7e3f543e0cd187b5112bc5" }, "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, - "nvim-treesitter": { "branch": "master", "commit": "9a7ad2ff7a7ea81016aca2fc89c9b2c1a5365421" }, + "nvim-treesitter": { "branch": "master", "commit": "382c80b5759e909ff22b0e8ceab1f68564e38971" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, - "nvim-ts-autotag": { "branch": "main", "commit": "2692808eca8a4ac3311516a1c4a14bb97ecc6482" }, + "nvim-ts-autotag": { "branch": "main", "commit": "06fe07d7523ba8c755fac7c913fceba43b1720ee" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, "nvim-ufo": { "branch": "main", "commit": "aa2e676af592b4e99c105d80d6eafd1afc215d99" }, "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, - "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, + "persistence.nvim": { "branch": "main", "commit": "95d03ad5450389ad7dc2a0fab14ebb3d46bc2c96" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "28c1d5a295eb5310afa2523d4ae9aa41ec5a9de2" }, - "refactoring.nvim": { "branch": "master", "commit": "d2786877c91aa409c824f27b4ce8a9f560dda60a" }, + "refactoring.nvim": { "branch": "master", "commit": "e6b10b2346bd7e469a5f17099775ad906da153ae" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "2cd29996d08cec8b31270c6de64465f716ef9d71" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope-terraform-doc.nvim": { "branch": "main", "commit": "7272e5339f88af036887085d784504092a1ff5fd" }, - "telescope-terraform.nvim": { "branch": "main", "commit": "072c97023797ca1a874668aaa6ae0b74425335df" }, - "telescope.nvim": { "branch": "master", "commit": "f12b15e1b3a33524eb06a1ae7bc852fb1fd92197" }, - "todo-comments.nvim": { "branch": "main", "commit": "9c104cf7868f1c739b43a07e5593666cc9de2d67" }, - "tokyonight.nvim": { "branch": "main", "commit": "0283787031ef9878a2b80300de0d22e938771998" }, - "trouble.nvim": { "branch": "main", "commit": "5e45bb78f8da3444d35616934c180fce3742c439" }, + "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, + "tokyonight.nvim": { "branch": "main", "commit": "81c867c5f638597a82c82094dcb90ed42444dabc" }, + "trouble.nvim": { "branch": "main", "commit": "58a3acfc6d8d819324dab4c87068596319032e64" }, "ts-comments.nvim": { "branch": "main", "commit": "c075b4ee00f6e111b44bf99a8cfd5a4cfce9258a" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "venv-selector.nvim": { "branch": "regexp", "commit": "d946b1e86212f38ff9c42e3b622a8178bbc93461" }, "vim-matchup": { "branch": "master", "commit": "1535a769d5dca851fe7d41b0be95f7c7203a4bef" }, "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, From 7a4c7a453bbd0918d85c38c28da18ecd9ea134d7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jun 2024 10:27:21 +0200 Subject: [PATCH 1802/2080] LazyVim: Enable fzf. --- lazyvim/nvim/lazyvim.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index f8e91485..f5261f89 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -6,6 +6,7 @@ "lazyvim.plugins.extras.coding.yanky", "lazyvim.plugins.extras.dap.core", "lazyvim.plugins.extras.editor.dial", + "lazyvim.plugins.extras.editor.fzf", "lazyvim.plugins.extras.editor.inc-rename", "lazyvim.plugins.extras.formatting.black", "lazyvim.plugins.extras.formatting.prettier", From b49f31efaa8b4bfbcf5c3b4b94895b0e6b9f4f5f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 17 Jun 2024 16:50:36 +0200 Subject: [PATCH 1803/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5c2ec3a5c2ee9909904f860dadc19bc12cd9cc44' (2024-06-12) → 'github:NixOS/nixpkgs/842253bf992c3a7157b67600c2857193f126563a' (2024-06-15) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/0fc70ac44ab22b4a6bb434dadc5bb34e30bdb327' (2024-06-13) → 'github:nixos/nixpkgs/4bb69bd7b99ca5cb7db5b1d63db0d267f4ba682e' (2024-06-15) • Updated input 'nur': 'github:nix-community/NUR/6af362f6660ce325faacb9e180e3c2e8d2af3fdd' (2024-06-17) → 'github:nix-community/NUR/7997a84140b87e7651a0a7e44b59de0f5ebb4dea' (2024-06-17) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index b5a51b30..af35c9d9 100644 --- a/flake.lock +++ b/flake.lock @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1718308197, - "narHash": "sha256-61KJ0bnNXxbQ0CbOOKFHbB9BWrqCzVhLGhYRZFfJXv0=", + "lastModified": 1718459580, + "narHash": "sha256-5zTk0p7EEclF8GFqevtgYJwEPtykkznsEp/JhmvVamw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0fc70ac44ab22b4a6bb434dadc5bb34e30bdb327", + "rev": "4bb69bd7b99ca5cb7db5b1d63db0d267f4ba682e", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1718229064, - "narHash": "sha256-ZFav8A9zPNfjZg/wrxh1uZeMJHELRfRgFP+meq01XYk=", + "lastModified": 1718447546, + "narHash": "sha256-JHuXsrC9pr4kA4n7LuuPfWFJUVlDBVJ1TXDVpHEuUgM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5c2ec3a5c2ee9909904f860dadc19bc12cd9cc44", + "rev": "842253bf992c3a7157b67600c2857193f126563a", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718606072, - "narHash": "sha256-+BKOI7p2YoNwNQgfdIldS0hmihEjBBLWPOek624sgeg=", + "lastModified": 1718634524, + "narHash": "sha256-H0PjgSfbONph/61XczRr9JLwzn+1tRFAyph3x3Sj8MI=", "owner": "nix-community", "repo": "NUR", - "rev": "6af362f6660ce325faacb9e180e3c2e8d2af3fdd", + "rev": "7997a84140b87e7651a0a7e44b59de0f5ebb4dea", "type": "github" }, "original": { From 8fbd942b9ce1e5ac3fea7a2f8df140388010bb10 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Jun 2024 08:57:29 +0200 Subject: [PATCH 1804/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/58b905ea87674592aa84c37873e6c07bc3807aba' (2024-06-15) → 'github:lnl7/nix-darwin/29b3096a6e283d7e6779187244cb2a3942239fdf' (2024-06-17) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/c1e57fe1d1172672adae8633286d5d7713309ccf' (2024-06-16) → 'github:nix-community/neovim-nightly-overlay/71d3564befbbaecf4eaf1b648a4f38f6a98e0edc' (2024-06-18) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/aa319da4024a77b0f7c40e08c6f5d5b512a7f899' (2024-06-15) → 'github:neovim/neovim/9d200c78a5e97720ba8a697c4cc0990fdafbc39f' (2024-06-17) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/3f84a279f1a6290ce154c5531378acc827836fbb' (2024-06-13) → 'github:NixOS/nixpkgs/e6cea36f83499eb4e9cd184c8a8e823296b50ad5' (2024-06-15) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/4bb69bd7b99ca5cb7db5b1d63db0d267f4ba682e' (2024-06-15) → 'github:nixos/nixpkgs/d0be1ba53aa53d48873c5334b0d473aed765fff0' (2024-06-17) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/e9ee548d90ff586a6471b4ae80ae9cfcbceb3420' (2024-06-13) → 'github:nixos/nixpkgs/b60ebf54c15553b393d144357375ea956f89e9a9' (2024-06-16) • Updated input 'nur': 'github:nix-community/NUR/7997a84140b87e7651a0a7e44b59de0f5ebb4dea' (2024-06-17) → 'github:nix-community/NUR/6ccc930853f8ceaff6a1825e5d9fe239a9b1bc4c' (2024-06-18) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index af35c9d9..069f29f3 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1718440858, - "narHash": "sha256-iMVwdob8F6P6Ib+pnhMZqyvYI10ZxmvA885jjnEaO54=", + "lastModified": 1718662658, + "narHash": "sha256-AKG7BsqtVWDlefgzyKz7vjaKTLi4+bmTSBhowbQoZtM=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "58b905ea87674592aa84c37873e6c07bc3807aba", + "rev": "29b3096a6e283d7e6779187244cb2a3942239fdf", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1718512978, - "narHash": "sha256-roENt8tYPxBXcaluvburPG9PeKhr4BgoYup2LR66wvA=", + "lastModified": 1718687251, + "narHash": "sha256-sU8bbHd+qKW83Wt0QjXkzZcofZbaHQCPD1ED1wv3vEE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c1e57fe1d1172672adae8633286d5d7713309ccf", + "rev": "71d3564befbbaecf4eaf1b648a4f38f6a98e0edc", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1718492826, - "narHash": "sha256-YaZyuhBSZFnwoMwe790NjzUyff/Ml93jJ6wxj4dCFdc=", + "lastModified": 1718665877, + "narHash": "sha256-mpPuCdjNI1seuQIWTxDn5dOx4akS4tTr0dBATz1gaTk=", "owner": "neovim", "repo": "neovim", - "rev": "aa319da4024a77b0f7c40e08c6f5d5b512a7f899", + "rev": "9d200c78a5e97720ba8a697c4cc0990fdafbc39f", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1718276985, - "narHash": "sha256-u1fA0DYQYdeG+5kDm1bOoGcHtX0rtC7qs2YA2N1X++I=", + "lastModified": 1718428119, + "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3f84a279f1a6290ce154c5531378acc827836fbb", + "rev": "e6cea36f83499eb4e9cd184c8a8e823296b50ad5", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1718459580, - "narHash": "sha256-5zTk0p7EEclF8GFqevtgYJwEPtykkznsEp/JhmvVamw=", + "lastModified": 1718604973, + "narHash": "sha256-KPEI4g/9oGm/ZFGAryI4FzekFtUaj/fm8KkbIVAAGv8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4bb69bd7b99ca5cb7db5b1d63db0d267f4ba682e", + "rev": "d0be1ba53aa53d48873c5334b0d473aed765fff0", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1718318537, - "narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=", + "lastModified": 1718530797, + "narHash": "sha256-pup6cYwtgvzDpvpSCFh1TEUjw2zkNpk8iolbKnyFmmU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420", + "rev": "b60ebf54c15553b393d144357375ea956f89e9a9", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718634524, - "narHash": "sha256-H0PjgSfbONph/61XczRr9JLwzn+1tRFAyph3x3Sj8MI=", + "lastModified": 1718690133, + "narHash": "sha256-WW/3sFg/fKF/ThspcV55SvqC9tLBGn+7qIrAAbBWtUk=", "owner": "nix-community", "repo": "NUR", - "rev": "7997a84140b87e7651a0a7e44b59de0f5ebb4dea", + "rev": "6ccc930853f8ceaff6a1825e5d9fe239a9b1bc4c", "type": "github" }, "original": { From 08ebc91fb8f36e161bf60e7dc4484c70d162400c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Jun 2024 11:28:59 +0200 Subject: [PATCH 1805/2080] Bump lazyvim lock --- lazyvim/nvim/lazy-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 62652b59..e372f935 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -11,7 +11,7 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "conform.nvim": { "branch": "master", "commit": "6e5d476e97dbd251cc2233d42fd238c810404701" }, + "conform.nvim": { "branch": "master", "commit": "0d12c3781384d63909431297ed1a0f383008bb8f" }, "dashboard-nvim": { "branch": "master", "commit": "b88c997f468a1bacb1e9b13ff3b567638caa06e6" }, "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, @@ -44,7 +44,7 @@ "mini.surround": { "branch": "main", "commit": "dad4ee9846fed670f221feb4d32203912be8804b" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, "neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" }, - "noice.nvim": { "branch": "main", "commit": "8bccd26e912a439f45829bd1fe83e77c4dc263ad" }, + "noice.nvim": { "branch": "main", "commit": "7ee3649b9b5f4df5b44ae63ed85b2c9fc834a124" }, "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, "nvim-ansible": { "branch": "main", "commit": "cb5d0cc79c1864b72d5ae40a926a1176b18f1b65" }, "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, @@ -62,7 +62,7 @@ "nvim-spectre": { "branch": "master", "commit": "ec67d4b5370094b923dfcf6b09b39142f2964861" }, "nvim-spider": { "branch": "main", "commit": "b17d85c086d963852b7e3f543e0cd187b5112bc5" }, "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, - "nvim-treesitter": { "branch": "master", "commit": "382c80b5759e909ff22b0e8ceab1f68564e38971" }, + "nvim-treesitter": { "branch": "master", "commit": "2e9c346aefda680bd14ebf40a50c2897fd637bc2" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-ts-autotag": { "branch": "main", "commit": "06fe07d7523ba8c755fac7c913fceba43b1720ee" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, From 830ffd98ff04e2e2bb808bdc6468bc8f7c0cfac1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Jun 2024 11:29:39 +0200 Subject: [PATCH 1806/2080] nvim lsp: disable role-name[path] error in ansiblels --- lazyvim/nvim/lua/plugins/lsp.lua | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 88c9e5c0..89f78b72 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -21,7 +21,17 @@ return { }, -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md servers = { - ansiblels = {}, + ansiblels = { + settings = { + ansible = { + validation = { + lint = { + arguments = "--warn-list role-name[path]", + }, + }, + }, + }, + }, bashls = {}, -- dockerls = {}, -- html = {}, @@ -126,6 +136,10 @@ return { }, }, marksman = {}, + -- Do not install nil_ls with Mason + nil_ls = { + mason = false, + }, perlnavigator = { -- settings = { -- perlnavigator = { From de9bde5b0882a63666eacb29785fec373bc4c4a6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Jun 2024 11:30:27 +0200 Subject: [PATCH 1807/2080] lazyvim tools: commented code to debug Mason --- lazyvim/nvim/lua/plugins/tools.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/lazyvim/nvim/lua/plugins/tools.lua index bdec8448..d3461353 100644 --- a/lazyvim/nvim/lua/plugins/tools.lua +++ b/lazyvim/nvim/lua/plugins/tools.lua @@ -1,5 +1,15 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/tools.lua return { + + -- { + -- "williamboman/mason.nvim", + -- opts = { + -- --- Debug for MasonInstall issues + -- --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration + -- log_level = vim.log.levels.DEBUG, + -- }, + -- }, + -- { "gbprod/yanky.nvim", opts = { From 322fcd176efc583310807cdb90de4bf02f058340 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 18 Jun 2024 11:30:45 +0200 Subject: [PATCH 1808/2080] neovim: install nil with nix --- home/neovim.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/home/neovim.nix b/home/neovim.nix index 52cff3bc..3c27a9b3 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -64,10 +64,7 @@ in nodePackages.yaml-language-server pkgs-unstable.ansible-language-server pyright - # XXX: https://discourse.nixos.org/t/nixos-need-help-finding-out-what-is-pulling-in-nix-2-15-3-in-my-config/41103 - # https://github.com/nix-community/rnix-lsp - # rnix-lsp - # nixd + nil sumneko-lua-language-server # Required for ltex-ls usage in neovim jdk11 From 5fa83cd75f06e4ff775ccb020c13dec1a0ea6247 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 19 Jun 2024 09:57:39 +0200 Subject: [PATCH 1809/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/71d3564befbbaecf4eaf1b648a4f38f6a98e0edc' (2024-06-18) → 'github:nix-community/neovim-nightly-overlay/42261b7220526fb7fd72912ab3e647019e1d1148' (2024-06-19) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/9d200c78a5e97720ba8a697c4cc0990fdafbc39f' (2024-06-17) → 'github:neovim/neovim/a2d510e1015d57f28ab20c5d2897527cae15b9c4' (2024-06-18) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/e6cea36f83499eb4e9cd184c8a8e823296b50ad5' (2024-06-15) → 'github:NixOS/nixpkgs/38d3352a65ac9d621b0cd3074d3bef27199ff78f' (2024-06-17) • Updated input 'nur': 'github:nix-community/NUR/6ccc930853f8ceaff6a1825e5d9fe239a9b1bc4c' (2024-06-18) → 'github:nix-community/NUR/801a327fae0e737a39655e816dce74628b589b40' (2024-06-19) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 069f29f3..fae6d8b7 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1718687251, - "narHash": "sha256-sU8bbHd+qKW83Wt0QjXkzZcofZbaHQCPD1ED1wv3vEE=", + "lastModified": 1718775905, + "narHash": "sha256-1o1A/esIIRAkXfd20TmYU6jJTF3YHUlcAUNezQnizM4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "71d3564befbbaecf4eaf1b648a4f38f6a98e0edc", + "rev": "42261b7220526fb7fd72912ab3e647019e1d1148", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1718665877, - "narHash": "sha256-mpPuCdjNI1seuQIWTxDn5dOx4akS4tTr0dBATz1gaTk=", + "lastModified": 1718749922, + "narHash": "sha256-DAx1WRYBHL9AkPKrJP0aBEtvoH3VgAXJTfALRlkD8ds=", "owner": "neovim", "repo": "neovim", - "rev": "9d200c78a5e97720ba8a697c4cc0990fdafbc39f", + "rev": "a2d510e1015d57f28ab20c5d2897527cae15b9c4", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1718428119, - "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=", + "lastModified": 1718606988, + "narHash": "sha256-pmjP5ePc1jz+Okona3HxD7AYT0wbrCwm9bXAlj08nDM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e6cea36f83499eb4e9cd184c8a8e823296b50ad5", + "rev": "38d3352a65ac9d621b0cd3074d3bef27199ff78f", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718690133, - "narHash": "sha256-WW/3sFg/fKF/ThspcV55SvqC9tLBGn+7qIrAAbBWtUk=", + "lastModified": 1718782750, + "narHash": "sha256-6uYXrDzLMMgj7qnLPqbOyRHwXwKAzikpjxpxUhKGr3Y=", "owner": "nix-community", "repo": "NUR", - "rev": "6ccc930853f8ceaff6a1825e5d9fe239a9b1bc4c", + "rev": "801a327fae0e737a39655e816dce74628b589b40", "type": "github" }, "original": { From cd8b3a2e23dc70372804d1986bb0a6e93c65ae7e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jun 2024 10:16:23 +0200 Subject: [PATCH 1810/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/42261b7220526fb7fd72912ab3e647019e1d1148' (2024-06-19) → 'github:nix-community/neovim-nightly-overlay/8cfca4b299e28d6167aacbd1bf71faee5cf857d2' (2024-06-20) • Updated input 'neovim-nightly-overlay/git-hooks': 'github:cachix/git-hooks.nix/cc4d466cb1254af050ff7bdf47f6d404a7c646d1' (2024-06-06) → 'github:cachix/git-hooks.nix/97c0dc865fe9a062c5970f4bcf55bb9e6028bcf5' (2024-06-19) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/a2d510e1015d57f28ab20c5d2897527cae15b9c4' (2024-06-18) → 'github:neovim/neovim/38a1d41ac08d1fe5688cdcac1e1e181f0cd82a5f' (2024-06-19) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/d0be1ba53aa53d48873c5334b0d473aed765fff0' (2024-06-17) → 'github:nixos/nixpkgs/4ecf8a7f1b20bf0bbe29140815d929d3cf644277' (2024-06-19) • Updated input 'nur': 'github:nix-community/NUR/801a327fae0e737a39655e816dce74628b589b40' (2024-06-19) → 'github:nix-community/NUR/17503a380c2f2f05ae457c908b819d9b94ce4269' (2024-06-20) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index fae6d8b7..9f62e6b3 100644 --- a/flake.lock +++ b/flake.lock @@ -109,11 +109,11 @@ ] }, "locked": { - "lastModified": 1717664902, - "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "lastModified": 1718825512, + "narHash": "sha256-nz7idS/SZWcTUGJ+lOFL+eJayrL/LpkUiy7+FxThAh4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "rev": "97c0dc865fe9a062c5970f4bcf55bb9e6028bcf5", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1718775905, - "narHash": "sha256-1o1A/esIIRAkXfd20TmYU6jJTF3YHUlcAUNezQnizM4=", + "lastModified": 1718862900, + "narHash": "sha256-PfgT1eJm0EXcUuZk/Jz0zRDDW8WC7AfFuV/BmAu1AzE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "42261b7220526fb7fd72912ab3e647019e1d1148", + "rev": "8cfca4b299e28d6167aacbd1bf71faee5cf857d2", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1718749922, - "narHash": "sha256-DAx1WRYBHL9AkPKrJP0aBEtvoH3VgAXJTfALRlkD8ds=", + "lastModified": 1718830254, + "narHash": "sha256-i9gT2EotCactVygg9lRwVajYGN0yVxSAVFoYV0O+Q18=", "owner": "neovim", "repo": "neovim", - "rev": "a2d510e1015d57f28ab20c5d2897527cae15b9c4", + "rev": "38a1d41ac08d1fe5688cdcac1e1e181f0cd82a5f", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1718604973, - "narHash": "sha256-KPEI4g/9oGm/ZFGAryI4FzekFtUaj/fm8KkbIVAAGv8=", + "lastModified": 1718823751, + "narHash": "sha256-cyjlke42hpVvFceioIPBXrsDAbPT5O60t2xj92KYJvQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d0be1ba53aa53d48873c5334b0d473aed765fff0", + "rev": "4ecf8a7f1b20bf0bbe29140815d929d3cf644277", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718782750, - "narHash": "sha256-6uYXrDzLMMgj7qnLPqbOyRHwXwKAzikpjxpxUhKGr3Y=", + "lastModified": 1718867920, + "narHash": "sha256-tEQrb5MjDJczZ8rmfhjIec+DarPvQvamIf3k3X1URmk=", "owner": "nix-community", "repo": "NUR", - "rev": "801a327fae0e737a39655e816dce74628b589b40", + "rev": "17503a380c2f2f05ae457c908b819d9b94ce4269", "type": "github" }, "original": { From 5aa8e1c1ebf5cf0b2a2abd9444d27b0e497bc7eb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jun 2024 11:28:41 +0200 Subject: [PATCH 1811/2080] Bump lazyvim lock --- lazyvim/nvim/lazy-lock.json | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index e372f935..cf0a8892 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,6 +1,6 @@ { - "LazyVim": { "branch": "main", "commit": "32b2574c1be21176b604a9210a77d3b5b446f0e0" }, - "SchemaStore.nvim": { "branch": "main", "commit": "35f36c50b9f1e1e916d0e3f004cb48dffd2bf737" }, + "LazyVim": { "branch": "main", "commit": "dde4a9dcdf49719c67642d09847dbaf7f9c7a156" }, + "SchemaStore.nvim": { "branch": "main", "commit": "d733b0051a4a5ac72b863acc1ee0841bc4f7249e" }, "bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" }, "catppuccin": { "branch": "main", "commit": "c0bea773a09e49e123136b099bce9ddc1bf395d2" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -11,15 +11,15 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "conform.nvim": { "branch": "master", "commit": "0d12c3781384d63909431297ed1a0f383008bb8f" }, + "conform.nvim": { "branch": "master", "commit": "9a06e83527407a7600a2fe4e0d10adf432b6215e" }, "dashboard-nvim": { "branch": "master", "commit": "b88c997f468a1bacb1e9b13ff3b567638caa06e6" }, "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "edgy.nvim": { "branch": "main", "commit": "a8bc1d24798c80a391f1a5d898a50c41a7f93883" }, "flash.nvim": { "branch": "main", "commit": "43f67935d388fbb540f8b40e8cbfd80de54f978a" }, "friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, - "fzf-lua": { "branch": "main", "commit": "b59bb9a205547a4d57987ab939845d9b35833466" }, - "gitsigns.nvim": { "branch": "main", "commit": "47c8e3e571376b24de62408fd0c9d12f0a9fc0a3" }, + "fzf-lua": { "branch": "main", "commit": "c56717d6833166adadd11cad05d979b1fb370c57" }, + "gitsigns.nvim": { "branch": "main", "commit": "89a4dce7c94c40c89774d3cb3a7788a9ecf412c0" }, "gx.nvim": { "branch": "main", "commit": "cf6ed6ba86ffe4e3f51a898c03a05023b7a2fe48" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "inc-rename.nvim": { "branch": "main", "commit": "535b508c0cb14d00c1836ad901b3c531cb1152bb" }, @@ -41,10 +41,10 @@ "mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" }, "mini.hipatterns": { "branch": "main", "commit": "427712c754bfdccd8da7073576cd8e2586c0fe93" }, "mini.pairs": { "branch": "main", "commit": "40261dfcec7623cd57be3c3beb50fa73f2650cdf" }, - "mini.surround": { "branch": "main", "commit": "dad4ee9846fed670f221feb4d32203912be8804b" }, + "mini.surround": { "branch": "main", "commit": "c40ac9c0060467a82430fab12d30395c5768b5e4" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, "neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" }, - "noice.nvim": { "branch": "main", "commit": "7ee3649b9b5f4df5b44ae63ed85b2c9fc834a124" }, + "noice.nvim": { "branch": "main", "commit": "88ac36864b5976a64b14a8f156c616f41b32f228" }, "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, "nvim-ansible": { "branch": "main", "commit": "cb5d0cc79c1864b72d5ae40a926a1176b18f1b65" }, "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, @@ -54,7 +54,7 @@ "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, "nvim-lint": { "branch": "master", "commit": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce" }, - "nvim-lspconfig": { "branch": "master", "commit": "bd7c76375a511994c9ca8d69441f134dc10ae3bd" }, + "nvim-lspconfig": { "branch": "master", "commit": "6806370929cf6a35be6e5e0e74588515a4356e4d" }, "nvim-nio": { "branch": "master", "commit": "7969e0a8ffabdf210edd7978ec954a47a737bbcc" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, @@ -62,7 +62,7 @@ "nvim-spectre": { "branch": "master", "commit": "ec67d4b5370094b923dfcf6b09b39142f2964861" }, "nvim-spider": { "branch": "main", "commit": "b17d85c086d963852b7e3f543e0cd187b5112bc5" }, "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, - "nvim-treesitter": { "branch": "master", "commit": "2e9c346aefda680bd14ebf40a50c2897fd637bc2" }, + "nvim-treesitter": { "branch": "master", "commit": "7b04b398f868563cac37ae90baffd7c3dca513fe" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-ts-autotag": { "branch": "main", "commit": "06fe07d7523ba8c755fac7c913fceba43b1720ee" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, @@ -70,14 +70,13 @@ "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, "persistence.nvim": { "branch": "main", "commit": "95d03ad5450389ad7dc2a0fab14ebb3d46bc2c96" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "28c1d5a295eb5310afa2523d4ae9aa41ec5a9de2" }, "refactoring.nvim": { "branch": "master", "commit": "e6b10b2346bd7e469a5f17099775ad906da153ae" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "2cd29996d08cec8b31270c6de64465f716ef9d71" }, "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, "tokyonight.nvim": { "branch": "main", "commit": "81c867c5f638597a82c82094dcb90ed42444dabc" }, - "trouble.nvim": { "branch": "main", "commit": "58a3acfc6d8d819324dab4c87068596319032e64" }, + "trouble.nvim": { "branch": "main", "commit": "2d8610a07033f2b367e71230ab128f8b89c2639d" }, "ts-comments.nvim": { "branch": "main", "commit": "c075b4ee00f6e111b44bf99a8cfd5a4cfce9258a" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "vim-matchup": { "branch": "master", "commit": "1535a769d5dca851fe7d41b0be95f7c7203a4bef" }, From 0260ecad73468d2951b3fbfa6a0ae00474568d66 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jun 2024 11:29:13 +0200 Subject: [PATCH 1812/2080] Bump lazyvim lock --- lazyvim/nvim/lazy-lock.json | 1 + 1 file changed, 1 insertion(+) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index cf0a8892..93b2bb08 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -70,6 +70,7 @@ "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, "persistence.nvim": { "branch": "main", "commit": "95d03ad5450389ad7dc2a0fab14ebb3d46bc2c96" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "28c1d5a295eb5310afa2523d4ae9aa41ec5a9de2" }, "refactoring.nvim": { "branch": "master", "commit": "e6b10b2346bd7e469a5f17099775ad906da153ae" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, From 2eb9ea605c9879ab5964556f1160faa42cd96060 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jun 2024 14:01:35 +0200 Subject: [PATCH 1813/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/17503a380c2f2f05ae457c908b819d9b94ce4269' (2024-06-20) → 'github:nix-community/NUR/859d801541585ce1b5c41879d7e95adcaea023a1' (2024-06-20) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 9f62e6b3..fe2d7f44 100644 --- a/flake.lock +++ b/flake.lock @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718867920, - "narHash": "sha256-tEQrb5MjDJczZ8rmfhjIec+DarPvQvamIf3k3X1URmk=", + "lastModified": 1718880373, + "narHash": "sha256-1XtP7ZMyikzVWj5xVjFaS4YL1RSv1yOaZ8VbIAHaslQ=", "owner": "nix-community", "repo": "NUR", - "rev": "17503a380c2f2f05ae457c908b819d9b94ce4269", + "rev": "859d801541585ce1b5c41879d7e95adcaea023a1", "type": "github" }, "original": { From 2461269ca9bb9a1e5d180d688ac5fb55f8ab5b6a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 20 Jun 2024 16:41:01 +0200 Subject: [PATCH 1814/2080] LazyVim: try to be smarter to identify root_dir for Ansible Language Server --- lazyvim/nvim/lua/plugins/lsp.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/lazyvim/nvim/lua/plugins/lsp.lua index 89f78b72..78627d46 100644 --- a/lazyvim/nvim/lua/plugins/lsp.lua +++ b/lazyvim/nvim/lua/plugins/lsp.lua @@ -22,6 +22,11 @@ return { -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md servers = { ansiblels = { + root_dir = function(fname) + return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) + or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) + or require("lspconfig.util").find_git_ancestor(fname) + end, settings = { ansible = { validation = { From 8d1a2d256a9fa2a413cc8ec3781d4707b415e963 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 21 Jun 2024 09:10:08 +0200 Subject: [PATCH 1815/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/8cfca4b299e28d6167aacbd1bf71faee5cf857d2' (2024-06-20) → 'github:nix-community/neovim-nightly-overlay/cc2d148e283e05cce751c5cc50ce38bbc0589f61' (2024-06-21) • Updated input 'neovim-nightly-overlay/git-hooks': 'github:cachix/git-hooks.nix/97c0dc865fe9a062c5970f4bcf55bb9e6028bcf5' (2024-06-19) → 'github:cachix/git-hooks.nix/8cd35b9496d21a6c55164d8547d9d5280162b07a' (2024-06-20) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/38a1d41ac08d1fe5688cdcac1e1e181f0cd82a5f' (2024-06-19) → 'github:neovim/neovim/0e3e1e6b6d8370f1fcc9887d5cb931b131450a1c' (2024-06-20) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/38d3352a65ac9d621b0cd3074d3bef27199ff78f' (2024-06-17) → 'github:NixOS/nixpkgs/9b10b8f00cb5494795e5f51b39210fed4d2b0748' (2024-06-20) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/842253bf992c3a7157b67600c2857193f126563a' (2024-06-15) → 'github:NixOS/nixpkgs/03d771e513ce90147b65fe922d87d3a0356fc125' (2024-06-19) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/b60ebf54c15553b393d144357375ea956f89e9a9' (2024-06-16) → 'github:nixos/nixpkgs/c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e' (2024-06-18) • Updated input 'nur': 'github:nix-community/NUR/859d801541585ce1b5c41879d7e95adcaea023a1' (2024-06-20) → 'github:nix-community/NUR/40ec90c0a00ec7cb07a727e4546dc618475175a5' (2024-06-21) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index fe2d7f44..a640fc73 100644 --- a/flake.lock +++ b/flake.lock @@ -109,11 +109,11 @@ ] }, "locked": { - "lastModified": 1718825512, - "narHash": "sha256-nz7idS/SZWcTUGJ+lOFL+eJayrL/LpkUiy7+FxThAh4=", + "lastModified": 1718879355, + "narHash": "sha256-RTyqP4fBX2MdhNuMP+fnR3lIwbdtXhyj7w7fwtvgspc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "97c0dc865fe9a062c5970f4bcf55bb9e6028bcf5", + "rev": "8cd35b9496d21a6c55164d8547d9d5280162b07a", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1718862900, - "narHash": "sha256-PfgT1eJm0EXcUuZk/Jz0zRDDW8WC7AfFuV/BmAu1AzE=", + "lastModified": 1718935491, + "narHash": "sha256-Dk+ZTVu3CuVv4UPbif3GmR7eT3zAE/mQ+3UUvFHknKE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "8cfca4b299e28d6167aacbd1bf71faee5cf857d2", + "rev": "cc2d148e283e05cce751c5cc50ce38bbc0589f61", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1718830254, - "narHash": "sha256-i9gT2EotCactVygg9lRwVajYGN0yVxSAVFoYV0O+Q18=", + "lastModified": 1718890629, + "narHash": "sha256-TLJ8xTHKgnbsMnlmfQ7eF5+aafjo5PlFQFF3mkrIsBs=", "owner": "neovim", "repo": "neovim", - "rev": "38a1d41ac08d1fe5688cdcac1e1e181f0cd82a5f", + "rev": "0e3e1e6b6d8370f1fcc9887d5cb931b131450a1c", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1718606988, - "narHash": "sha256-pmjP5ePc1jz+Okona3HxD7AYT0wbrCwm9bXAlj08nDM=", + "lastModified": 1718870667, + "narHash": "sha256-jab3Kpc8O1z3qxwVsCMHL4+18n5Wy/HHKyu1fcsF7gs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "38d3352a65ac9d621b0cd3074d3bef27199ff78f", + "rev": "9b10b8f00cb5494795e5f51b39210fed4d2b0748", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1718530797, - "narHash": "sha256-pup6cYwtgvzDpvpSCFh1TEUjw2zkNpk8iolbKnyFmmU=", + "lastModified": 1718714799, + "narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b60ebf54c15553b393d144357375ea956f89e9a9", + "rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1718447546, - "narHash": "sha256-JHuXsrC9pr4kA4n7LuuPfWFJUVlDBVJ1TXDVpHEuUgM=", + "lastModified": 1718811006, + "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "842253bf992c3a7157b67600c2857193f126563a", + "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718880373, - "narHash": "sha256-1XtP7ZMyikzVWj5xVjFaS4YL1RSv1yOaZ8VbIAHaslQ=", + "lastModified": 1718951848, + "narHash": "sha256-DEgPRkQkTl/DlYDzOtLx6O6Lawj0Xb92iKUam1wJuAU=", "owner": "nix-community", "repo": "NUR", - "rev": "859d801541585ce1b5c41879d7e95adcaea023a1", + "rev": "40ec90c0a00ec7cb07a727e4546dc618475175a5", "type": "github" }, "original": { From 89ada531508855a611b49b90216baa803d170fbf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 21 Jun 2024 10:40:31 +0200 Subject: [PATCH 1816/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/40ec90c0a00ec7cb07a727e4546dc618475175a5' (2024-06-21) → 'github:nix-community/NUR/349c49cff7c033df7c7025cb641fdab58f4379fe' (2024-06-21) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index a640fc73..69581fd4 100644 --- a/flake.lock +++ b/flake.lock @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718951848, - "narHash": "sha256-DEgPRkQkTl/DlYDzOtLx6O6Lawj0Xb92iKUam1wJuAU=", + "lastModified": 1718958241, + "narHash": "sha256-FD86vbFjLSwBGLm9oixkurnoHh3g0Zax53+PhMsWqbc=", "owner": "nix-community", "repo": "NUR", - "rev": "40ec90c0a00ec7cb07a727e4546dc618475175a5", + "rev": "349c49cff7c033df7c7025cb641fdab58f4379fe", "type": "github" }, "original": { From e36c5f2439ed2ca1193625ddd44aa480c513c5f2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 10:14:49 +0200 Subject: [PATCH 1817/2080] main: install obsidian from unstable. --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 4d06ade9..9d8ef328 100644 --- a/home/main.nix +++ b/home/main.nix @@ -41,6 +41,7 @@ mutt notmuch notmuch-mutt + pkgs-unstable.obsidian ripgrep silver-searcher tailspin From c139ccc26b40fa5aebd4a7ceb1d6368d7d8e2fdd Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 10:18:15 +0200 Subject: [PATCH 1818/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 93b2bb08..f551b05e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,8 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "dde4a9dcdf49719c67642d09847dbaf7f9c7a156" }, - "SchemaStore.nvim": { "branch": "main", "commit": "d733b0051a4a5ac72b863acc1ee0841bc4f7249e" }, + "LuaSnip": { "branch": "master", "commit": "50fcf17db7c75af80e6b6109acfbfb4504768780" }, + "SchemaStore.nvim": { "branch": "main", "commit": "e33d8db3fdc0ac7be4ba5312feb4fc1972087eee" }, "bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" }, - "catppuccin": { "branch": "main", "commit": "c0bea773a09e49e123136b099bce9ddc1bf395d2" }, + "catppuccin": { "branch": "main", "commit": "67565cd353fa543fa30cb738570c2e4c87da3e9c" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, @@ -11,6 +12,7 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "conform.nvim": { "branch": "master", "commit": "9a06e83527407a7600a2fe4e0d10adf432b6215e" }, "dashboard-nvim": { "branch": "master", "commit": "b88c997f468a1bacb1e9b13ff3b567638caa06e6" }, "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, @@ -18,8 +20,8 @@ "edgy.nvim": { "branch": "main", "commit": "a8bc1d24798c80a391f1a5d898a50c41a7f93883" }, "flash.nvim": { "branch": "main", "commit": "43f67935d388fbb540f8b40e8cbfd80de54f978a" }, "friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, - "fzf-lua": { "branch": "main", "commit": "c56717d6833166adadd11cad05d979b1fb370c57" }, - "gitsigns.nvim": { "branch": "main", "commit": "89a4dce7c94c40c89774d3cb3a7788a9ecf412c0" }, + "fzf-lua": { "branch": "main", "commit": "1ec6eeda11c3a3dcd544e1c61ad4b8c9b49903c4" }, + "gitsigns.nvim": { "branch": "main", "commit": "8df63f2ddc615feb71fd4aee45a4cee022876df1" }, "gx.nvim": { "branch": "main", "commit": "cf6ed6ba86ffe4e3f51a898c03a05023b7a2fe48" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "inc-rename.nvim": { "branch": "main", "commit": "535b508c0cb14d00c1836ad901b3c531cb1152bb" }, @@ -43,6 +45,7 @@ "mini.pairs": { "branch": "main", "commit": "40261dfcec7623cd57be3c3beb50fa73f2650cdf" }, "mini.surround": { "branch": "main", "commit": "c40ac9c0060467a82430fab12d30395c5768b5e4" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, + "neodev.nvim": { "branch": "main", "commit": "02893eeb9d6e8503817bd52385e111cba9a90500" }, "neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" }, "noice.nvim": { "branch": "main", "commit": "88ac36864b5976a64b14a8f156c616f41b32f228" }, "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, @@ -54,17 +57,16 @@ "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, "nvim-lint": { "branch": "master", "commit": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce" }, - "nvim-lspconfig": { "branch": "master", "commit": "6806370929cf6a35be6e5e0e74588515a4356e4d" }, + "nvim-lspconfig": { "branch": "master", "commit": "3c8346db23033fa49ce0eef2e89dbe91cfd54f21" }, "nvim-nio": { "branch": "master", "commit": "7969e0a8ffabdf210edd7978ec954a47a737bbcc" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, - "nvim-snippets": { "branch": "main", "commit": "5c978b3ba0c504dc9f94ca93d17029f26064d229" }, "nvim-spectre": { "branch": "master", "commit": "ec67d4b5370094b923dfcf6b09b39142f2964861" }, "nvim-spider": { "branch": "main", "commit": "b17d85c086d963852b7e3f543e0cd187b5112bc5" }, "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, - "nvim-treesitter": { "branch": "master", "commit": "7b04b398f868563cac37ae90baffd7c3dca513fe" }, + "nvim-treesitter": { "branch": "master", "commit": "b967bbc27b564001c3d3b8ea93444cf6d0b21d23" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, - "nvim-ts-autotag": { "branch": "main", "commit": "06fe07d7523ba8c755fac7c913fceba43b1720ee" }, + "nvim-ts-autotag": { "branch": "main", "commit": "ddfccbf0df1b9349c2b9e9b17f4afa8f9b6c1ed1" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, "nvim-ufo": { "branch": "main", "commit": "aa2e676af592b4e99c105d80d6eafd1afc215d99" }, "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, @@ -72,13 +74,12 @@ "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "28c1d5a295eb5310afa2523d4ae9aa41ec5a9de2" }, - "refactoring.nvim": { "branch": "master", "commit": "e6b10b2346bd7e469a5f17099775ad906da153ae" }, + "refactoring.nvim": { "branch": "master", "commit": "c9c1a0995b7d9a534f3b9a4df7fd55240127eeb4" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "2cd29996d08cec8b31270c6de64465f716ef9d71" }, "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, "tokyonight.nvim": { "branch": "main", "commit": "81c867c5f638597a82c82094dcb90ed42444dabc" }, "trouble.nvim": { "branch": "main", "commit": "2d8610a07033f2b367e71230ab128f8b89c2639d" }, - "ts-comments.nvim": { "branch": "main", "commit": "c075b4ee00f6e111b44bf99a8cfd5a4cfce9258a" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "vim-matchup": { "branch": "master", "commit": "1535a769d5dca851fe7d41b0be95f7c7203a4bef" }, "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, From e5bd5547e4b18c94a26486617ec09fd3d6131051 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 10:18:26 +0200 Subject: [PATCH 1819/2080] Reorder --- lazyvim/nvim/lazyvim.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazyvim.json b/lazyvim/nvim/lazyvim.json index f5261f89..338ba412 100644 --- a/lazyvim/nvim/lazyvim.json +++ b/lazyvim/nvim/lazyvim.json @@ -1,10 +1,10 @@ { "extras": [ + "lazyvim.plugins.extras.dap.core", "lazyvim.plugins.extras.coding.mini-comment", "lazyvim.plugins.extras.coding.mini-surround", "lazyvim.plugins.extras.coding.neogen", "lazyvim.plugins.extras.coding.yanky", - "lazyvim.plugins.extras.dap.core", "lazyvim.plugins.extras.editor.dial", "lazyvim.plugins.extras.editor.fzf", "lazyvim.plugins.extras.editor.inc-rename", From 4781d92ef07f492a8d042807d0a863b4168bfb01 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 10:21:25 +0200 Subject: [PATCH 1820/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/4ecf8a7f1b20bf0bbe29140815d929d3cf644277' (2024-06-19) → 'github:nixos/nixpkgs/8800065598d62909d4ae195b9a87bf81430e022c' (2024-06-20) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e' (2024-06-18) → 'github:nixos/nixpkgs/d603719ec6e294f034936c0d0dc06f689d91b6c3' (2024-06-20) • Updated input 'nur': 'github:nix-community/NUR/349c49cff7c033df7c7025cb641fdab58f4379fe' (2024-06-21) → 'github:nix-community/NUR/8c0265fb87a59efd0831b8645c8a2db9f8a06941' (2024-06-22) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 69581fd4..faea4e52 100644 --- a/flake.lock +++ b/flake.lock @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1718823751, - "narHash": "sha256-cyjlke42hpVvFceioIPBXrsDAbPT5O60t2xj92KYJvQ=", + "lastModified": 1718895960, + "narHash": "sha256-ryLdxsICcxjs8Y0XnJlKuXBETmGCYJAlIVqVYKMI8CU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4ecf8a7f1b20bf0bbe29140815d929d3cf644277", + "rev": "8800065598d62909d4ae195b9a87bf81430e022c", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1718714799, - "narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=", + "lastModified": 1718895438, + "narHash": "sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw+0Bwe5DLU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e", + "rev": "d603719ec6e294f034936c0d0dc06f689d91b6c3", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1718958241, - "narHash": "sha256-FD86vbFjLSwBGLm9oixkurnoHh3g0Zax53+PhMsWqbc=", + "lastModified": 1719040453, + "narHash": "sha256-ZwXA9h2ObtmeXHLnxpshsZjZ48TEf4yKeFT8PScORe8=", "owner": "nix-community", "repo": "NUR", - "rev": "349c49cff7c033df7c7025cb641fdab58f4379fe", + "rev": "8c0265fb87a59efd0831b8645c8a2db9f8a06941", "type": "github" }, "original": { From 3be30640042f420d868608652326b93e8408f069 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 11:11:43 +0200 Subject: [PATCH 1821/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/095ef64aa3b2ab4a4f1bf07f29997e21e3a5576a' (2024-06-04) → 'github:nix-community/home-manager/a1fddf0967c33754271761d91a3d921772b30d0e' (2024-06-16) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/03d771e513ce90147b65fe922d87d3a0356fc125' (2024-06-19) → 'github:NixOS/nixpkgs/dd457de7e08c6d06789b1f5b88fc9327f4d96309' (2024-06-19) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/8800065598d62909d4ae195b9a87bf81430e022c' (2024-06-20) → 'github:nixos/nixpkgs/201ed88e66f7f34d5c74e46d2e4399cc4bea1501' (2024-06-21) • Updated input 'nur': 'github:nix-community/NUR/8c0265fb87a59efd0831b8645c8a2db9f8a06941' (2024-06-22) → 'github:nix-community/NUR/04a7f7a16373c03f9a874683f6b6692c5cc792f6' (2024-06-22) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index faea4e52..a9ab07c8 100644 --- a/flake.lock +++ b/flake.lock @@ -173,16 +173,16 @@ ] }, "locked": { - "lastModified": 1717476296, - "narHash": "sha256-ScHe38Tr+TxGURC17kby4mIIxOG3aJvZWXzPM79UnEk=", + "lastModified": 1718530513, + "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", "owner": "nix-community", "repo": "home-manager", - "rev": "095ef64aa3b2ab4a4f1bf07f29997e21e3a5576a", + "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.11", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } @@ -259,16 +259,16 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1718895960, - "narHash": "sha256-ryLdxsICcxjs8Y0XnJlKuXBETmGCYJAlIVqVYKMI8CU=", + "lastModified": 1718955215, + "narHash": "sha256-3vNXv4zrblZFobrxz1P3RwLpHl6X3/GzfArdTxq0+nI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8800065598d62909d4ae195b9a87bf81430e022c", + "rev": "201ed88e66f7f34d5c74e46d2e4399cc4bea1501", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-23.11-darwin", + "ref": "nixpkgs-24.05-darwin", "repo": "nixpkgs", "type": "github" } @@ -291,27 +291,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1718811006, - "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", + "lastModified": 1718835956, + "narHash": "sha256-wM9v2yIxClRYsGHut5vHICZTK7xdrUGfrLkXvSuv6s4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", + "rev": "dd457de7e08c6d06789b1f5b88fc9327f4d96309", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, "nur": { "locked": { - "lastModified": 1719040453, - "narHash": "sha256-ZwXA9h2ObtmeXHLnxpshsZjZ48TEf4yKeFT8PScORe8=", + "lastModified": 1719045039, + "narHash": "sha256-Tb5UXak/71U3DQV+2Q/lpiXQ2ZzSyXdTmO3Koq16IYw=", "owner": "nix-community", "repo": "NUR", - "rev": "8c0265fb87a59efd0831b8645c8a2db9f8a06941", + "rev": "04a7f7a16373c03f9a874683f6b6692c5cc792f6", "type": "github" }, "original": { From 53e98cef96ce729a795c33cbd258975bba9f2245 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 13:38:50 +0200 Subject: [PATCH 1822/2080] Bump to 24.05 --- flake.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index e3ea027b..6397ce1c 100644 --- a/flake.nix +++ b/flake.nix @@ -4,9 +4,9 @@ inputs = { # Package sets - nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-23.11-darwin"; + nixpkgs-darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-24.05-darwin"; # macOS system configuration darwin = { @@ -16,7 +16,7 @@ # home-manager home-manager = { - url = "github:nix-community/home-manager/release-23.11"; + url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -31,7 +31,7 @@ outputs = { self, darwin, nixpkgs, nixpkgs-unstable, nixpkgs-darwin-stable, home-manager, ... }@inputs: let inherit (nixpkgs.lib) attrValues; - homeStateVersion = "23.11"; + homeStateVersion = "24.05"; # Configuration for `nixpkgs` nixpkgsConfig = { From 0eccfed3325f0a9440bf74104e100d4f11646553 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 13:39:21 +0200 Subject: [PATCH 1823/2080] Update for 24.05 --- machines/brutal/configuration.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/machines/brutal/configuration.nix b/machines/brutal/configuration.nix index aad0e9f3..92b06760 100644 --- a/machines/brutal/configuration.nix +++ b/machines/brutal/configuration.nix @@ -42,13 +42,13 @@ services.xserver.windowManager.i3.enable = true; # services.xserver.displayManager.defaultSession = "none+i3"; # GDM and Gnome - services.xserver.displayManager.defaultSession = "gnome"; + services.displayManager.defaultSession = "gnome"; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; # Configure keymap in X11 - services.xserver.layout = "us"; - services.xserver.xkbOptions = "caps:escape"; # map caps to escape. + services.xserver.xkb.layout = "us"; + services.xserver.xkb.options = "caps:escape"; # map caps to escape. # "eurosign:e"; # map caps to escape. # Enable CUPS to print documents. @@ -59,7 +59,7 @@ # Help with printer auto discovery services.avahi = { enable = true; - nssmdns = true; + nssmdns4 = true; }; # Allow access to watercooling devices From 9b9f61a41d82734f13e87fafd6ec038bed7fba5b Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 13:39:41 +0200 Subject: [PATCH 1824/2080] mail: urlview got dropped. --- modules/home/mail/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/home/mail/default.nix b/modules/home/mail/default.nix index 1eeb2051..5f390ab7 100644 --- a/modules/home/mail/default.nix +++ b/modules/home/mail/default.nix @@ -21,7 +21,9 @@ in msmtp isync w3m - urlview + # XXX: 2024006022: deprecated, replace by extract_url urlscan + # urlview + extract_url ]; # Enable static configuration files From 05a274e1d1eddc66d6ea0a7e3f47dd8be8608785 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 13:40:39 +0200 Subject: [PATCH 1825/2080] wm: fix package name --- modules/home/wm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/wm/default.nix b/modules/home/wm/default.nix index 48d90f40..966b16a4 100644 --- a/modules/home/wm/default.nix +++ b/modules/home/wm/default.nix @@ -11,7 +11,7 @@ gnome3.gnome-keyring gnome.seahorse gnome.gnome-keyring - pinentry-gnome + pinentry-gnome3 libsecret ]; From f9a773e0ffdd74b5984a24a6a3720c23327098bb Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 13:41:32 +0200 Subject: [PATCH 1826/2080] main: disable libreoffice to save space. Drop wezterm --- home/main.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/main.nix b/home/main.nix index 9d8ef328..9549058a 100644 --- a/home/main.nix +++ b/home/main.nix @@ -82,7 +82,8 @@ # XXX not working # nixpkgs-unstable.pynitrokey dict - libreoffice-still + # XXX: 2024-06-22: too big + # libreoffice-still perl perlPackages.PerlTidy vlc @@ -96,7 +97,6 @@ mqttui # For FreeBSD bhyve VMs tigervnc - pkgs-unstable.wezterm ] ++ lib.optionals stdenv.isDarwin [ coreutils m-cli # useful macOS CLI commands From 66e55fbcd9f49b23ce09c2dc4672c29889f71971 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 14:10:28 +0200 Subject: [PATCH 1827/2080] Re-enable LibreOffice --- home/main.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/main.nix b/home/main.nix index 9549058a..f485bc30 100644 --- a/home/main.nix +++ b/home/main.nix @@ -82,8 +82,8 @@ # XXX not working # nixpkgs-unstable.pynitrokey dict - # XXX: 2024-06-22: too big - # libreoffice-still + # XXX: comment if having space issues + libreoffice-still perl perlPackages.PerlTidy vlc From 0f4ff03a80c9e514adc5f04c4319eb8b86758609 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 22 Jun 2024 14:12:21 +0200 Subject: [PATCH 1828/2080] Bump lazyvim lock file --- lazyvim/nvim/lazy-lock.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index f551b05e..c170a0ee 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -1,6 +1,5 @@ { "LazyVim": { "branch": "main", "commit": "dde4a9dcdf49719c67642d09847dbaf7f9c7a156" }, - "LuaSnip": { "branch": "master", "commit": "50fcf17db7c75af80e6b6109acfbfb4504768780" }, "SchemaStore.nvim": { "branch": "main", "commit": "e33d8db3fdc0ac7be4ba5312feb4fc1972087eee" }, "bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" }, "catppuccin": { "branch": "main", "commit": "67565cd353fa543fa30cb738570c2e4c87da3e9c" }, @@ -12,7 +11,6 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "conform.nvim": { "branch": "master", "commit": "9a06e83527407a7600a2fe4e0d10adf432b6215e" }, "dashboard-nvim": { "branch": "master", "commit": "b88c997f468a1bacb1e9b13ff3b567638caa06e6" }, "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, @@ -45,7 +43,6 @@ "mini.pairs": { "branch": "main", "commit": "40261dfcec7623cd57be3c3beb50fa73f2650cdf" }, "mini.surround": { "branch": "main", "commit": "c40ac9c0060467a82430fab12d30395c5768b5e4" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, - "neodev.nvim": { "branch": "main", "commit": "02893eeb9d6e8503817bd52385e111cba9a90500" }, "neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" }, "noice.nvim": { "branch": "main", "commit": "88ac36864b5976a64b14a8f156c616f41b32f228" }, "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, @@ -61,10 +58,11 @@ "nvim-nio": { "branch": "master", "commit": "7969e0a8ffabdf210edd7978ec954a47a737bbcc" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, + "nvim-snippets": { "branch": "main", "commit": "5c978b3ba0c504dc9f94ca93d17029f26064d229" }, "nvim-spectre": { "branch": "master", "commit": "ec67d4b5370094b923dfcf6b09b39142f2964861" }, "nvim-spider": { "branch": "main", "commit": "b17d85c086d963852b7e3f543e0cd187b5112bc5" }, "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, - "nvim-treesitter": { "branch": "master", "commit": "b967bbc27b564001c3d3b8ea93444cf6d0b21d23" }, + "nvim-treesitter": { "branch": "master", "commit": "122b4d3db1616c1f1305b847c5ed2217c4c329f1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-ts-autotag": { "branch": "main", "commit": "ddfccbf0df1b9349c2b9e9b17f4afa8f9b6c1ed1" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, @@ -80,6 +78,7 @@ "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, "tokyonight.nvim": { "branch": "main", "commit": "81c867c5f638597a82c82094dcb90ed42444dabc" }, "trouble.nvim": { "branch": "main", "commit": "2d8610a07033f2b367e71230ab128f8b89c2639d" }, + "ts-comments.nvim": { "branch": "main", "commit": "c075b4ee00f6e111b44bf99a8cfd5a4cfce9258a" }, "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "vim-matchup": { "branch": "master", "commit": "1535a769d5dca851fe7d41b0be95f7c7203a4bef" }, "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, From 34888fc5b08e4749979bc573411abf68c5efe248 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 24 Jun 2024 10:20:22 +0200 Subject: [PATCH 1829/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/29b3096a6e283d7e6779187244cb2a3942239fdf' (2024-06-17) → 'github:lnl7/nix-darwin/50581970f37f06a4719001735828519925ef8310' (2024-06-23) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/cc2d148e283e05cce751c5cc50ce38bbc0589f61' (2024-06-21) → 'github:nix-community/neovim-nightly-overlay/820da0e6b6127df9ad05ef3af40d767577e21ba1' (2024-06-24) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/0e3e1e6b6d8370f1fcc9887d5cb931b131450a1c' (2024-06-20) → 'github:neovim/neovim/be999e6a0e5b251b2b37500d06636d4167334c6e' (2024-06-23) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/9b10b8f00cb5494795e5f51b39210fed4d2b0748' (2024-06-20) → 'github:NixOS/nixpkgs/9693852a2070b398ee123a329e68f0dab5526681' (2024-06-22) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/4ecf8a7f1b20bf0bbe29140815d929d3cf644277' (2024-06-19) → 'github:nixos/nixpkgs/bc77c5a9572aeba01d2949f02a0b85c71f35bbd3' (2024-06-22) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e' (2024-06-18) → 'github:nixos/nixpkgs/a71e967ef3694799d0c418c98332f7ff4cc5f6af' (2024-06-22) • Updated input 'nur': 'github:nix-community/NUR/349c49cff7c033df7c7025cb641fdab58f4379fe' (2024-06-21) → 'github:nix-community/NUR/e206985635efb6df38159c2c2075cffad7664135' (2024-06-24) --- flake.lock | 76 ++++++++++++++++++++---------------------------------- 1 file changed, 28 insertions(+), 48 deletions(-) diff --git a/flake.lock b/flake.lock index a9ab07c8..4d806239 100644 --- a/flake.lock +++ b/flake.lock @@ -2,16 +2,14 @@ "nodes": { "darwin": { "inputs": { - "nixpkgs": [ - "nixpkgs-darwin-stable" - ] + "nixpkgs": ["nixpkgs-darwin-stable"] }, "locked": { - "lastModified": 1718662658, - "narHash": "sha256-AKG7BsqtVWDlefgzyKz7vjaKTLi4+bmTSBhowbQoZtM=", + "lastModified": 1719128254, + "narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "29b3096a6e283d7e6779187244cb2a3942239fdf", + "rev": "50581970f37f06a4719001735828519925ef8310", "type": "github" }, "original": { @@ -55,10 +53,7 @@ }, "flake-parts": { "inputs": { - "nixpkgs-lib": [ - "neovim-nightly-overlay", - "nixpkgs" - ] + "nixpkgs-lib": ["neovim-nightly-overlay", "nixpkgs"] }, "locked": { "lastModified": 1717285511, @@ -99,14 +94,8 @@ "inputs": { "flake-compat": "flake-compat_2", "gitignore": "gitignore", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ], - "nixpkgs-stable": [ - "neovim-nightly-overlay", - "nixpkgs" - ] + "nixpkgs": ["neovim-nightly-overlay", "nixpkgs"], + "nixpkgs-stable": ["neovim-nightly-overlay", "nixpkgs"] }, "locked": { "lastModified": 1718879355, @@ -124,11 +113,7 @@ }, "gitignore": { "inputs": { - "nixpkgs": [ - "neovim-nightly-overlay", - "git-hooks", - "nixpkgs" - ] + "nixpkgs": ["neovim-nightly-overlay", "git-hooks", "nixpkgs"] }, "locked": { "lastModified": 1709087332, @@ -147,10 +132,7 @@ "hercules-ci-effects": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": [ - "neovim-nightly-overlay", - "nixpkgs" - ] + "nixpkgs": ["neovim-nightly-overlay", "nixpkgs"] }, "locked": { "lastModified": 1718018037, @@ -168,9 +150,7 @@ }, "home-manager": { "inputs": { - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": ["nixpkgs"] }, "locked": { "lastModified": 1718530513, @@ -197,11 +177,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1718935491, - "narHash": "sha256-Dk+ZTVu3CuVv4UPbif3GmR7eT3zAE/mQ+3UUvFHknKE=", + "lastModified": 1719211247, + "narHash": "sha256-GaEckCf2RaHzoEDj/j07BIV6eyDOT5wCFVSdbbkZ87U=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "cc2d148e283e05cce751c5cc50ce38bbc0589f61", + "rev": "820da0e6b6127df9ad05ef3af40d767577e21ba1", "type": "github" }, "original": { @@ -213,11 +193,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1718890629, - "narHash": "sha256-TLJ8xTHKgnbsMnlmfQ7eF5+aafjo5PlFQFF3mkrIsBs=", + "lastModified": 1719138008, + "narHash": "sha256-+rM0RjvuW6/vzxdJxEU6KvQEF159NXrgB+irtS044Cc=", "owner": "neovim", "repo": "neovim", - "rev": "0e3e1e6b6d8370f1fcc9887d5cb931b131450a1c", + "rev": "be999e6a0e5b251b2b37500d06636d4167334c6e", "type": "github" }, "original": { @@ -243,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1718870667, - "narHash": "sha256-jab3Kpc8O1z3qxwVsCMHL4+18n5Wy/HHKyu1fcsF7gs=", + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9b10b8f00cb5494795e5f51b39210fed4d2b0748", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", "type": "github" }, "original": { @@ -259,11 +239,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1718955215, - "narHash": "sha256-3vNXv4zrblZFobrxz1P3RwLpHl6X3/GzfArdTxq0+nI=", + "lastModified": 1719037044, + "narHash": "sha256-hARSOIznABQsUmamVVjJWdOuzbwYzCMHXTJGsAKPNHc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "201ed88e66f7f34d5c74e46d2e4399cc4bea1501", + "rev": "bc77c5a9572aeba01d2949f02a0b85c71f35bbd3", "type": "github" }, "original": { @@ -275,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1718895438, - "narHash": "sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw+0Bwe5DLU=", + "lastModified": 1719075281, + "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d603719ec6e294f034936c0d0dc06f689d91b6c3", + "rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af", "type": "github" }, "original": { @@ -307,11 +287,11 @@ }, "nur": { "locked": { - "lastModified": 1719045039, - "narHash": "sha256-Tb5UXak/71U3DQV+2Q/lpiXQ2ZzSyXdTmO3Koq16IYw=", + "lastModified": 1719216607, + "narHash": "sha256-b6rbWYd3BjjFL0UMlmB2oURqFJ/R7gP3lsn1Ux1UC8A=", "owner": "nix-community", "repo": "NUR", - "rev": "04a7f7a16373c03f9a874683f6b6692c5cc792f6", + "rev": "e206985635efb6df38159c2c2075cffad7664135", "type": "github" }, "original": { From 19292eb73bed0de5dabc1058f80764d7fe9d6af6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 24 Jun 2024 12:44:54 +0200 Subject: [PATCH 1830/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/bc77c5a9572aeba01d2949f02a0b85c71f35bbd3' (2024-06-22) → 'github:nixos/nixpkgs/74b529ef56db2bc5ac41b40dca2e57e222964e3a' (2024-06-23) • Updated input 'nur': 'github:nix-community/NUR/e206985635efb6df38159c2c2075cffad7664135' (2024-06-24) → 'github:nix-community/NUR/a7db791fd44e4d2e60b3891d08fa1aafd1ee37fd' (2024-06-24) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 4d806239..c1f62c84 100644 --- a/flake.lock +++ b/flake.lock @@ -239,11 +239,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1719037044, - "narHash": "sha256-hARSOIznABQsUmamVVjJWdOuzbwYzCMHXTJGsAKPNHc=", + "lastModified": 1719160247, + "narHash": "sha256-mWvCCJFG7RFMFXyQHdxDX56RKYdzXmQ25sy69uRQ8BI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bc77c5a9572aeba01d2949f02a0b85c71f35bbd3", + "rev": "74b529ef56db2bc5ac41b40dca2e57e222964e3a", "type": "github" }, "original": { @@ -287,11 +287,11 @@ }, "nur": { "locked": { - "lastModified": 1719216607, - "narHash": "sha256-b6rbWYd3BjjFL0UMlmB2oURqFJ/R7gP3lsn1Ux1UC8A=", + "lastModified": 1719218810, + "narHash": "sha256-PZWoNk7pAPFGOPNcnx0Zc5YcH0NMZR9cnIa7oSazDjc=", "owner": "nix-community", "repo": "NUR", - "rev": "e206985635efb6df38159c2c2075cffad7664135", + "rev": "a7db791fd44e4d2e60b3891d08fa1aafd1ee37fd", "type": "github" }, "original": { From 8c16f13de2e90e36ef7c741c0553a897771551e5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 25 Jun 2024 08:48:47 +0200 Subject: [PATCH 1831/2080] lazyvim: only trigger lbdb completion in headers for ft=mail --- lazyvim/nvim/lua/plugins/coding.lua | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 05d855c8..595a4c7d 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -110,7 +110,12 @@ return { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji", - { "codybuell/cmp-lbdb", lazy = true, ft = "mail" }, + { + "codybuell/cmp-lbdb", + lazy = true, + ft = "mail", + branch = "mail-header-only-option", + }, { "hrsh7th/cmp-nvim-lua" }, { "hrsh7th/cmp-cmdline" }, }, @@ -152,6 +157,7 @@ return { ---@diagnostic disable-next-line: missing-parameter -- FIXME: only add emoji and overwrite buffer configuration instead of replicating -- configuration + opts.sources = cmp.config.sources({ { name = "nvim_lsp" }, { name = "nvim_lua" }, @@ -176,7 +182,12 @@ return { ---@diagnostic disable-next-line: missing-parameter sources = cmp.config.sources({ -- would be useful to be able to use this only when completing headers - { name = "lbdb", blacklist = { ".*noreply.*" } }, + { + name = "lbdb", + option = { + mail_header_only = true, + }, + }, { name = "nvim_lsp" }, { name = "snippets" }, { name = "path" }, From 0520f66cd8349b94f990f58f07290559ae57f44b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 25 Jun 2024 12:02:52 +0200 Subject: [PATCH 1832/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/dd457de7e08c6d06789b1f5b88fc9327f4d96309' (2024-06-19) → 'github:NixOS/nixpkgs/e4509b3a560c87a8d4cb6f9992b8915abf9e36d8' (2024-06-23) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/74b529ef56db2bc5ac41b40dca2e57e222964e3a' (2024-06-23) → 'github:nixos/nixpkgs/fc07dc3bdf2956ddd64f24612ea7fc894933eb2e' (2024-06-24) • Updated input 'nur': 'github:nix-community/NUR/a7db791fd44e4d2e60b3891d08fa1aafd1ee37fd' (2024-06-24) → 'github:nix-community/NUR/d76c0154e524f26a0e4a8e83db97e1844b5028b8' (2024-06-25) --- flake.lock | 52 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index c1f62c84..7092b821 100644 --- a/flake.lock +++ b/flake.lock @@ -2,7 +2,9 @@ "nodes": { "darwin": { "inputs": { - "nixpkgs": ["nixpkgs-darwin-stable"] + "nixpkgs": [ + "nixpkgs-darwin-stable" + ] }, "locked": { "lastModified": 1719128254, @@ -53,7 +55,10 @@ }, "flake-parts": { "inputs": { - "nixpkgs-lib": ["neovim-nightly-overlay", "nixpkgs"] + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "nixpkgs" + ] }, "locked": { "lastModified": 1717285511, @@ -94,8 +99,14 @@ "inputs": { "flake-compat": "flake-compat_2", "gitignore": "gitignore", - "nixpkgs": ["neovim-nightly-overlay", "nixpkgs"], - "nixpkgs-stable": ["neovim-nightly-overlay", "nixpkgs"] + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ], + "nixpkgs-stable": [ + "neovim-nightly-overlay", + "nixpkgs" + ] }, "locked": { "lastModified": 1718879355, @@ -113,7 +124,11 @@ }, "gitignore": { "inputs": { - "nixpkgs": ["neovim-nightly-overlay", "git-hooks", "nixpkgs"] + "nixpkgs": [ + "neovim-nightly-overlay", + "git-hooks", + "nixpkgs" + ] }, "locked": { "lastModified": 1709087332, @@ -132,7 +147,10 @@ "hercules-ci-effects": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": ["neovim-nightly-overlay", "nixpkgs"] + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] }, "locked": { "lastModified": 1718018037, @@ -150,7 +168,9 @@ }, "home-manager": { "inputs": { - "nixpkgs": ["nixpkgs"] + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1718530513, @@ -239,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1719160247, - "narHash": "sha256-mWvCCJFG7RFMFXyQHdxDX56RKYdzXmQ25sy69uRQ8BI=", + "lastModified": 1719253556, + "narHash": "sha256-A/76RFUVxZ/7Y8+OMVL1Lc8LRhBxZ8ZE2bpMnvZ1VpY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "74b529ef56db2bc5ac41b40dca2e57e222964e3a", + "rev": "fc07dc3bdf2956ddd64f24612ea7fc894933eb2e", "type": "github" }, "original": { @@ -271,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1718835956, - "narHash": "sha256-wM9v2yIxClRYsGHut5vHICZTK7xdrUGfrLkXvSuv6s4=", + "lastModified": 1719145550, + "narHash": "sha256-K0i/coxxTEl30tgt4oALaylQfxqbotTSNb1/+g+mKMQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dd457de7e08c6d06789b1f5b88fc9327f4d96309", + "rev": "e4509b3a560c87a8d4cb6f9992b8915abf9e36d8", "type": "github" }, "original": { @@ -287,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719218810, - "narHash": "sha256-PZWoNk7pAPFGOPNcnx0Zc5YcH0NMZR9cnIa7oSazDjc=", + "lastModified": 1719308707, + "narHash": "sha256-NKS3AO5mTJvbzfnGwyEPeIFhHC6HK8Q2aLImNNBHYNM=", "owner": "nix-community", "repo": "NUR", - "rev": "a7db791fd44e4d2e60b3891d08fa1aafd1ee37fd", + "rev": "d76c0154e524f26a0e4a8e83db97e1844b5028b8", "type": "github" }, "original": { From 2db964d1c566966ff4bc68e12a52bd376e730e20 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 25 Jun 2024 17:00:07 +0200 Subject: [PATCH 1833/2080] Bump lazyvim lock --- lazyvim/nvim/lazy-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index c170a0ee..c2e6537e 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -59,7 +59,7 @@ "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, "nvim-snippets": { "branch": "main", "commit": "5c978b3ba0c504dc9f94ca93d17029f26064d229" }, - "nvim-spectre": { "branch": "master", "commit": "ec67d4b5370094b923dfcf6b09b39142f2964861" }, + "nvim-spectre": { "branch": "master", "commit": "49fae98ef2bfa8342522b337892992e3495065d5" }, "nvim-spider": { "branch": "main", "commit": "b17d85c086d963852b7e3f543e0cd187b5112bc5" }, "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, "nvim-treesitter": { "branch": "master", "commit": "122b4d3db1616c1f1305b847c5ed2217c4c329f1" }, From 51df699b9806c59b7e09a730f6f52ca260995225 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 25 Jun 2024 17:15:15 +0200 Subject: [PATCH 1834/2080] Back to main branch for cmp-lbdb --- lazyvim/nvim/lua/plugins/coding.lua | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/lazyvim/nvim/lua/plugins/coding.lua index 595a4c7d..db2e6504 100644 --- a/lazyvim/nvim/lua/plugins/coding.lua +++ b/lazyvim/nvim/lua/plugins/coding.lua @@ -110,12 +110,7 @@ return { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji", - { - "codybuell/cmp-lbdb", - lazy = true, - ft = "mail", - branch = "mail-header-only-option", - }, + { "codybuell/cmp-lbdb", lazy = true, ft = "mail" }, { "hrsh7th/cmp-nvim-lua" }, { "hrsh7th/cmp-cmdline" }, }, From 3b104a9564b57213441d7a0a884007757b083c2f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 26 Jun 2024 09:18:48 +0200 Subject: [PATCH 1835/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/e4509b3a560c87a8d4cb6f9992b8915abf9e36d8' (2024-06-23) → 'github:NixOS/nixpkgs/fc07dc3bdf2956ddd64f24612ea7fc894933eb2e' (2024-06-24) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/a71e967ef3694799d0c418c98332f7ff4cc5f6af' (2024-06-22) → 'github:nixos/nixpkgs/2893f56de08021cffd9b6b6dfc70fd9ccd51eb60' (2024-06-24) • Updated input 'nur': 'github:nix-community/NUR/d76c0154e524f26a0e4a8e83db97e1844b5028b8' (2024-06-25) → 'github:nix-community/NUR/c85367517f0d61c87adec42e291049d57d9a3103' (2024-06-26) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7092b821..e21fb93c 100644 --- a/flake.lock +++ b/flake.lock @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1719075281, - "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=", + "lastModified": 1719254875, + "narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af", + "rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1719145550, - "narHash": "sha256-K0i/coxxTEl30tgt4oALaylQfxqbotTSNb1/+g+mKMQ=", + "lastModified": 1719253556, + "narHash": "sha256-A/76RFUVxZ/7Y8+OMVL1Lc8LRhBxZ8ZE2bpMnvZ1VpY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e4509b3a560c87a8d4cb6f9992b8915abf9e36d8", + "rev": "fc07dc3bdf2956ddd64f24612ea7fc894933eb2e", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719308707, - "narHash": "sha256-NKS3AO5mTJvbzfnGwyEPeIFhHC6HK8Q2aLImNNBHYNM=", + "lastModified": 1719383903, + "narHash": "sha256-F0xie4qCdmYlG2R72nekEpLNVaLEPV7e8QeV0I4tVT4=", "owner": "nix-community", "repo": "NUR", - "rev": "d76c0154e524f26a0e4a8e83db97e1844b5028b8", + "rev": "c85367517f0d61c87adec42e291049d57d9a3103", "type": "github" }, "original": { From a34ebdec88b06cfdca5e613c0c77fdbe6b13575d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 27 Jun 2024 09:21:08 +0200 Subject: [PATCH 1836/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/820da0e6b6127df9ad05ef3af40d767577e21ba1' (2024-06-24) → 'github:nix-community/neovim-nightly-overlay/bb6bea003dc464a4248a173e71a007d368691092' (2024-06-27) • Updated input 'neovim-nightly-overlay/git-hooks': 'github:cachix/git-hooks.nix/8cd35b9496d21a6c55164d8547d9d5280162b07a' (2024-06-20) → 'github:cachix/git-hooks.nix/0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07' (2024-06-24) • Updated input 'neovim-nightly-overlay/hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/0ab08b23ce3c3f75fe9a5598756b6fb8bcf0b414' (2024-06-10) → 'github:hercules-ci/hercules-ci-effects/11e4b8dc112e2f485d7c97e1cee77f9958f498f5' (2024-06-24) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/be999e6a0e5b251b2b37500d06636d4167334c6e' (2024-06-23) → 'github:neovim/neovim/fc9b70826ec88ca2e6c0624c522b872e87aa7ac1' (2024-06-26) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/9693852a2070b398ee123a329e68f0dab5526681' (2024-06-22) → 'github:NixOS/nixpkgs/b3f3c1b13fb08f3828442ee86630362e81136bbc' (2024-06-26) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/fc07dc3bdf2956ddd64f24612ea7fc894933eb2e' (2024-06-24) → 'github:NixOS/nixpkgs/89c49874fb15f4124bf71ca5f42a04f2ee5825fd' (2024-06-26) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/fc07dc3bdf2956ddd64f24612ea7fc894933eb2e' (2024-06-24) → 'github:nixos/nixpkgs/66f253e5b2d6b03a67dfbf68a3b3be99db5f517f' (2024-06-26) • Updated input 'nur': 'github:nix-community/NUR/c85367517f0d61c87adec42e291049d57d9a3103' (2024-06-26) → 'github:nix-community/NUR/56f8d13e1b06406fb4654e9fc025f16037ba9bed' (2024-06-27) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index e21fb93c..963a3841 100644 --- a/flake.lock +++ b/flake.lock @@ -109,11 +109,11 @@ ] }, "locked": { - "lastModified": 1718879355, - "narHash": "sha256-RTyqP4fBX2MdhNuMP+fnR3lIwbdtXhyj7w7fwtvgspc=", + "lastModified": 1719259945, + "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "8cd35b9496d21a6c55164d8547d9d5280162b07a", + "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", "type": "github" }, "original": { @@ -153,11 +153,11 @@ ] }, "locked": { - "lastModified": 1718018037, - "narHash": "sha256-03rLBd/lKecgaKz0j5ESUf9lDn5R0SJatZTKLL5unWE=", + "lastModified": 1719226092, + "narHash": "sha256-YNkUMcCUCpnULp40g+svYsaH1RbSEj6s4WdZY/SHe38=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0ab08b23ce3c3f75fe9a5598756b6fb8bcf0b414", + "rev": "11e4b8dc112e2f485d7c97e1cee77f9958f498f5", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1719211247, - "narHash": "sha256-GaEckCf2RaHzoEDj/j07BIV6eyDOT5wCFVSdbbkZ87U=", + "lastModified": 1719467057, + "narHash": "sha256-8gQ0txwuLoBpBeIhTAkl+/7Hi/AD4KE5m4YhOn1OA3E=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "820da0e6b6127df9ad05ef3af40d767577e21ba1", + "rev": "bb6bea003dc464a4248a173e71a007d368691092", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1719138008, - "narHash": "sha256-+rM0RjvuW6/vzxdJxEU6KvQEF159NXrgB+irtS044Cc=", + "lastModified": 1719414226, + "narHash": "sha256-h/qJ+1R+BtY+mX02UsqYW82hEl78mrHTGAs9yjpFEzU=", "owner": "neovim", "repo": "neovim", - "rev": "be999e6a0e5b251b2b37500d06636d4167334c6e", + "rev": "fc9b70826ec88ca2e6c0624c522b872e87aa7ac1", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719082008, - "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "lastModified": 1719379843, + "narHash": "sha256-u+D+IOAMMl70+CJ9NKB+RMrASjInuIWMHzjLWQjPZ6c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "rev": "b3f3c1b13fb08f3828442ee86630362e81136bbc", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1719253556, - "narHash": "sha256-A/76RFUVxZ/7Y8+OMVL1Lc8LRhBxZ8ZE2bpMnvZ1VpY=", + "lastModified": 1719427942, + "narHash": "sha256-4CgRCP45WNisjKNOduxcdAQUnNCZ9zgPgsMtDFtC/yM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fc07dc3bdf2956ddd64f24612ea7fc894933eb2e", + "rev": "66f253e5b2d6b03a67dfbf68a3b3be99db5f517f", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1719253556, - "narHash": "sha256-A/76RFUVxZ/7Y8+OMVL1Lc8LRhBxZ8ZE2bpMnvZ1VpY=", + "lastModified": 1719426051, + "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc07dc3bdf2956ddd64f24612ea7fc894933eb2e", + "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719383903, - "narHash": "sha256-F0xie4qCdmYlG2R72nekEpLNVaLEPV7e8QeV0I4tVT4=", + "lastModified": 1719470785, + "narHash": "sha256-EUzEqB9dKH5J8s0VIqc54ycsI6zZ+yTLP2ePr21TCnU=", "owner": "nix-community", "repo": "NUR", - "rev": "c85367517f0d61c87adec42e291049d57d9a3103", + "rev": "56f8d13e1b06406fb4654e9fc025f16037ba9bed", "type": "github" }, "original": { From 7fef31ee8eb846431774c745da3fcfc87956d09e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 28 Jun 2024 08:31:51 +0200 Subject: [PATCH 1837/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/56f8d13e1b06406fb4654e9fc025f16037ba9bed' (2024-06-27) → 'github:nix-community/NUR/7c4abedf3993f6e2b9862144c2c6311ab035c6ed' (2024-06-28) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 963a3841..de7a70ee 100644 --- a/flake.lock +++ b/flake.lock @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719470785, - "narHash": "sha256-EUzEqB9dKH5J8s0VIqc54ycsI6zZ+yTLP2ePr21TCnU=", + "lastModified": 1719554817, + "narHash": "sha256-LdDYnd2PfcMy/yZKVJ7ujkLA7f/hKM+jSVXxrCAecfs=", "owner": "nix-community", "repo": "NUR", - "rev": "56f8d13e1b06406fb4654e9fc025f16037ba9bed", + "rev": "7c4abedf3993f6e2b9862144c2c6311ab035c6ed", "type": "github" }, "original": { From 02ce9be7a6e37f4e845fbd2e3d5be06fa911c8de Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 28 Jun 2024 14:42:27 +0200 Subject: [PATCH 1838/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/7c4abedf3993f6e2b9862144c2c6311ab035c6ed' (2024-06-28) → 'github:nix-community/NUR/a957a02b97b3d81f7d2b260d28f18fab2f2118fb' (2024-06-28) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index de7a70ee..ee70b1d0 100644 --- a/flake.lock +++ b/flake.lock @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719554817, - "narHash": "sha256-LdDYnd2PfcMy/yZKVJ7ujkLA7f/hKM+jSVXxrCAecfs=", + "lastModified": 1719571501, + "narHash": "sha256-uLF4TVCjtfyolWmZ7rZ976+jlm+WFtkSbnW6dtf13Zw=", "owner": "nix-community", "repo": "NUR", - "rev": "7c4abedf3993f6e2b9862144c2c6311ab035c6ed", + "rev": "a957a02b97b3d81f7d2b260d28f18fab2f2118fb", "type": "github" }, "original": { From ac85df50d5223fbba4a9346270f70c8795041cfc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 28 Jun 2024 17:22:33 +0200 Subject: [PATCH 1839/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/a957a02b97b3d81f7d2b260d28f18fab2f2118fb' (2024-06-28) → 'github:nix-community/NUR/d06168ffaa627c12e0d0ea2f993387b715934e1a' (2024-06-28) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index ee70b1d0..b381ccea 100644 --- a/flake.lock +++ b/flake.lock @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719571501, - "narHash": "sha256-uLF4TVCjtfyolWmZ7rZ976+jlm+WFtkSbnW6dtf13Zw=", + "lastModified": 1719584730, + "narHash": "sha256-O24Ms0iM0JE+duoXGlouxbzfaHRSXWUu0NKFKdveQ4c=", "owner": "nix-community", "repo": "NUR", - "rev": "a957a02b97b3d81f7d2b260d28f18fab2f2118fb", + "rev": "d06168ffaa627c12e0d0ea2f993387b715934e1a", "type": "github" }, "original": { From e3d09fe2245299833fd3fbd8deb4aa6f304ac6b3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 28 Jun 2024 17:22:40 +0200 Subject: [PATCH 1840/2080] Install fzf from unstable --- home/main.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index f485bc30..77accbcf 100644 --- a/home/main.nix +++ b/home/main.nix @@ -33,7 +33,7 @@ lsd fd fortune - fzf + pkgs-unstable.fzf pkgs-unstable.gh gnupg httpie From e0e21b76d3fb3d5262e5b4d8581e7aec678775af Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 28 Jun 2024 19:34:23 +0200 Subject: [PATCH 1841/2080] Bump lazyvim lock --- lazyvim/nvim/lazy-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index c2e6537e..91b9d4ef 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -50,7 +50,7 @@ "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, "nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, - "nvim-dap-python": { "branch": "master", "commit": "ae0225d0d4a46e18e6057ab3701ef87bbbd6aaad" }, + "nvim-dap-python": { "branch": "master", "commit": "d777c2b32ed39f61209c09bede28d7491621a631" }, "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, "nvim-lint": { "branch": "master", "commit": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce" }, From 55be962920f58e8c30a60b056f23ace20e269d9c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 28 Jun 2024 19:34:27 +0200 Subject: [PATCH 1842/2080] Install nmap --- home/main.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/main.nix b/home/main.nix index 77accbcf..6e22af9f 100644 --- a/home/main.nix +++ b/home/main.nix @@ -39,6 +39,7 @@ httpie inetutils mutt + nmap notmuch notmuch-mutt pkgs-unstable.obsidian From 381e3c3855c09af20c8371f0f0d992bb72e5ff35 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 28 Jun 2024 19:34:50 +0200 Subject: [PATCH 1843/2080] neovim: install tree-sitter --- home/neovim.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/neovim.nix b/home/neovim.nix index 3c27a9b3..a97d9759 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -29,9 +29,13 @@ in home.packages = with pkgs; [ luajit luajitPackages.luarocks + # XXX: trying to address issues with checkhealth + # lua51Packages.luarocks # For LuaSnip luajitPackages.jsregexp + tree-sitter + # Dev stuff # XXX maybe to be moved to project-specific envs actionlint From 764e872afb368b773162a7b5b0ab868d30b7c0fa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 28 Jun 2024 19:35:00 +0200 Subject: [PATCH 1844/2080] macos: drop nmap --- machines/Baptistes-MBP/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 1412977a..35850597 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -40,8 +40,6 @@ # Terminal file manager "yazi" - - "nmap" ]; casks = [ # app launcher, file searcher From 2e3d2b324d78e9ac678accb24d6fe18fdee5174a Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 29 Jun 2024 09:58:44 +0200 Subject: [PATCH 1845/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nur': 'github:nix-community/NUR/d06168ffaa627c12e0d0ea2f993387b715934e1a' (2024-06-28) → 'github:nix-community/NUR/0fb65e070b581604c93d21b74c6cd2f7fcc25bac' (2024-06-29) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index b381ccea..4de6cea4 100644 --- a/flake.lock +++ b/flake.lock @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719584730, - "narHash": "sha256-O24Ms0iM0JE+duoXGlouxbzfaHRSXWUu0NKFKdveQ4c=", + "lastModified": 1719645428, + "narHash": "sha256-DnSiED9cFDF+E2uekxXz5dSXOvb3IbVc0Kv8hixi9QE=", "owner": "nix-community", "repo": "NUR", - "rev": "d06168ffaa627c12e0d0ea2f993387b715934e1a", + "rev": "0fb65e070b581604c93d21b74c6cd2f7fcc25bac", "type": "github" }, "original": { From 81fbf21cdf7ec9312b321618a483f89bf791c5f9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 30 Jun 2024 14:30:49 +0200 Subject: [PATCH 1846/2080] Disable libreoffice-still --- home/main.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/main.nix b/home/main.nix index 6e22af9f..e36da0c3 100644 --- a/home/main.nix +++ b/home/main.nix @@ -84,7 +84,7 @@ # nixpkgs-unstable.pynitrokey dict # XXX: comment if having space issues - libreoffice-still + # libreoffice-still perl perlPackages.PerlTidy vlc From 38ddbf4d276de2ee92949c8229df9a1e770dedc1 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 30 Jun 2024 14:31:12 +0200 Subject: [PATCH 1847/2080] Disable symbol_map for now --- modules/home/kitty/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/home/kitty/default.nix b/modules/home/kitty/default.nix index 41aecfd3..6c7cdce7 100644 --- a/modules/home/kitty/default.nix +++ b/modules/home/kitty/default.nix @@ -49,7 +49,8 @@ modify_font underline_position 2 # https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points - symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D JetBrainsMono Nerd Font"; + # XXX: 34:= is not a unicode codepoint of the form U+number in line + # symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D JetBrainsMono Nerd Font"; # symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D Menlo"; ''; } From 38345a303a0dafd0f66f6e98a15b4523f8e79ac3 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 30 Jun 2024 14:32:52 +0200 Subject: [PATCH 1848/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/bb6bea003dc464a4248a173e71a007d368691092' (2024-06-27) → 'github:nix-community/neovim-nightly-overlay/dace98a9b5ee51971cab74f7a00955b8b8089536' (2024-06-30) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/fc9b70826ec88ca2e6c0624c522b872e87aa7ac1' (2024-06-26) → 'github:neovim/neovim/435d0182d293e70b14a5655c976c3c6daa6ea765' (2024-06-29) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/b3f3c1b13fb08f3828442ee86630362e81136bbc' (2024-06-26) → 'github:NixOS/nixpkgs/1e3deb3d8a86a870d925760db1a5adecc64d329d' (2024-06-27) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/2893f56de08021cffd9b6b6dfc70fd9ccd51eb60' (2024-06-24) → 'github:nixos/nixpkgs/b2852eb9365c6de48ffb0dc2c9562591f652242a' (2024-06-27) • Updated input 'nur': 'github:nix-community/NUR/0fb65e070b581604c93d21b74c6cd2f7fcc25bac' (2024-06-29) → 'github:nix-community/NUR/30e25d8c61ab623ff7811aaf283b037309e31db0' (2024-06-30) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 4de6cea4..b04230eb 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1719467057, - "narHash": "sha256-8gQ0txwuLoBpBeIhTAkl+/7Hi/AD4KE5m4YhOn1OA3E=", + "lastModified": 1719733038, + "narHash": "sha256-kUG94JixUcSgkkJ0I1xo2rtXfSOmUJNbq+PKs9kDWWI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "bb6bea003dc464a4248a173e71a007d368691092", + "rev": "dace98a9b5ee51971cab74f7a00955b8b8089536", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1719414226, - "narHash": "sha256-h/qJ+1R+BtY+mX02UsqYW82hEl78mrHTGAs9yjpFEzU=", + "lastModified": 1719676676, + "narHash": "sha256-97hP/z7sH4GUBBVi2Z7QiJsgIOO6a+AFYf4MvTU2p0Y=", "owner": "neovim", "repo": "neovim", - "rev": "fc9b70826ec88ca2e6c0624c522b872e87aa7ac1", + "rev": "435d0182d293e70b14a5655c976c3c6daa6ea765", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719379843, - "narHash": "sha256-u+D+IOAMMl70+CJ9NKB+RMrASjInuIWMHzjLWQjPZ6c=", + "lastModified": 1719468428, + "narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b3f3c1b13fb08f3828442ee86630362e81136bbc", + "rev": "1e3deb3d8a86a870d925760db1a5adecc64d329d", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1719254875, - "narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=", + "lastModified": 1719506693, + "narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60", + "rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719645428, - "narHash": "sha256-DnSiED9cFDF+E2uekxXz5dSXOvb3IbVc0Kv8hixi9QE=", + "lastModified": 1719750039, + "narHash": "sha256-dQNyWW3sz4Fbtu97yTvLolfJy0PTQLHDWq4/0EEo1ZE=", "owner": "nix-community", "repo": "NUR", - "rev": "0fb65e070b581604c93d21b74c6cd2f7fcc25bac", + "rev": "30e25d8c61ab623ff7811aaf283b037309e31db0", "type": "github" }, "original": { From a24997650c5e6588372314f771e287b2e03e2ba7 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sun, 30 Jun 2024 14:44:13 +0200 Subject: [PATCH 1849/2080] Disable some apps to save build space --- home/main.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/main.nix b/home/main.nix index e36da0c3..c175ddb5 100644 --- a/home/main.nix +++ b/home/main.nix @@ -46,7 +46,7 @@ ripgrep silver-searcher tailspin - thefuck + # thefuck tig tree unzip @@ -74,7 +74,7 @@ gparted # Mail khal - pkgs-unstable.joplin-desktop + # pkgs-unstable.joplin-desktop liquidctl llvm lm_sensors From eda7618510ed0267bed8b0ae1873f3e8ff5712b4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 1 Jul 2024 14:45:36 +0200 Subject: [PATCH 1850/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/a1fddf0967c33754271761d91a3d921772b30d0e' (2024-06-16) → 'github:nix-community/home-manager/391ca6e950c2525b4f853cbe29922452c14eda82' (2024-07-01) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/bb6bea003dc464a4248a173e71a007d368691092' (2024-06-27) → 'github:nix-community/neovim-nightly-overlay/643ec69ac0cfcc1cd26523c3816fb111e5bb3a41' (2024-06-30) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/fc9b70826ec88ca2e6c0624c522b872e87aa7ac1' (2024-06-26) → 'github:neovim/neovim/e7020306a19a5211c834966ec067fff3b981bdb9' (2024-06-29) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/b3f3c1b13fb08f3828442ee86630362e81136bbc' (2024-06-26) → 'github:NixOS/nixpkgs/1e3deb3d8a86a870d925760db1a5adecc64d329d' (2024-06-27) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/89c49874fb15f4124bf71ca5f42a04f2ee5825fd' (2024-06-26) → 'github:NixOS/nixpkgs/7dca15289a1c2990efbe4680f0923ce14139b042' (2024-06-30) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/66f253e5b2d6b03a67dfbf68a3b3be99db5f517f' (2024-06-26) → 'github:nixos/nixpkgs/7dca15289a1c2990efbe4680f0923ce14139b042' (2024-06-30) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/2893f56de08021cffd9b6b6dfc70fd9ccd51eb60' (2024-06-24) → 'github:nixos/nixpkgs/2741b4b489b55df32afac57bc4bfd220e8bf617e' (2024-06-29) • Updated input 'nur': 'github:nix-community/NUR/d06168ffaa627c12e0d0ea2f993387b715934e1a' (2024-06-28) → 'github:nix-community/NUR/0575d7fb334ea662a0a03620780c87df0612eb9a' (2024-07-01) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index b04230eb..aeaacec8 100644 --- a/flake.lock +++ b/flake.lock @@ -173,11 +173,11 @@ ] }, "locked": { - "lastModified": 1718530513, - "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", + "lastModified": 1719827385, + "narHash": "sha256-qs+nU20Sm8czHg3bhGCqiH+8e13BJyRrKONW34g3i50=", "owner": "nix-community", "repo": "home-manager", - "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", + "rev": "391ca6e950c2525b4f853cbe29922452c14eda82", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1719733038, - "narHash": "sha256-kUG94JixUcSgkkJ0I1xo2rtXfSOmUJNbq+PKs9kDWWI=", + "lastModified": 1719764240, + "narHash": "sha256-bsZDPD08s8FKCGyy1OMMuM+cOjO1M8vPREkhgyqkRQM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "dace98a9b5ee51971cab74f7a00955b8b8089536", + "rev": "643ec69ac0cfcc1cd26523c3816fb111e5bb3a41", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1719676676, - "narHash": "sha256-97hP/z7sH4GUBBVi2Z7QiJsgIOO6a+AFYf4MvTU2p0Y=", + "lastModified": 1719700831, + "narHash": "sha256-d89hDFBBtuQ7rwS/Q3lKYyfE0ekVCwubMN9q1qCZ3m0=", "owner": "neovim", "repo": "neovim", - "rev": "435d0182d293e70b14a5655c976c3c6daa6ea765", + "rev": "e7020306a19a5211c834966ec067fff3b981bdb9", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1719427942, - "narHash": "sha256-4CgRCP45WNisjKNOduxcdAQUnNCZ9zgPgsMtDFtC/yM=", + "lastModified": 1719707984, + "narHash": "sha256-RoxIr/fbndtuKqulGvNCcuzC6KdAib85Q8gXnjzA1dw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "66f253e5b2d6b03a67dfbf68a3b3be99db5f517f", + "rev": "7dca15289a1c2990efbe4680f0923ce14139b042", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1719506693, - "narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=", + "lastModified": 1719690277, + "narHash": "sha256-0xSej1g7eP2kaUF+JQp8jdyNmpmCJKRpO12mKl/36Kc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a", + "rev": "2741b4b489b55df32afac57bc4bfd220e8bf617e", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1719426051, - "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=", + "lastModified": 1719707984, + "narHash": "sha256-RoxIr/fbndtuKqulGvNCcuzC6KdAib85Q8gXnjzA1dw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd", + "rev": "7dca15289a1c2990efbe4680f0923ce14139b042", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719750039, - "narHash": "sha256-dQNyWW3sz4Fbtu97yTvLolfJy0PTQLHDWq4/0EEo1ZE=", + "lastModified": 1719837916, + "narHash": "sha256-dV1URYa5SezYyz/1IDb1BHmIZ4tM0WtpPfVkFGH8xfY=", "owner": "nix-community", "repo": "NUR", - "rev": "30e25d8c61ab623ff7811aaf283b037309e31db0", + "rev": "0575d7fb334ea662a0a03620780c87df0612eb9a", "type": "github" }, "original": { From 67641d38ca0a3d43fd90b9fd1c37a6b088df01c0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 2 Jul 2024 17:25:05 +0200 Subject: [PATCH 1851/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'darwin': 'github:lnl7/nix-darwin/50581970f37f06a4719001735828519925ef8310' (2024-06-23) → 'github:lnl7/nix-darwin/ec12b88104d6c117871fad55e931addac4626756' (2024-07-01) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/643ec69ac0cfcc1cd26523c3816fb111e5bb3a41' (2024-06-30) → 'github:nix-community/neovim-nightly-overlay/0289cf03e294270c84f20bc09cd527fd7f3d4b72' (2024-07-02) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8' (2024-06-01) → 'github:hercules-ci/flake-parts/4e3583423212f9303aa1a6337f8dffb415920e4f' (2024-07-01) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/e7020306a19a5211c834966ec067fff3b981bdb9' (2024-06-29) → 'github:neovim/neovim/8f5e90811025bcc652146168d5116f8d73fe8f81' (2024-07-01) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/1e3deb3d8a86a870d925760db1a5adecc64d329d' (2024-06-27) → 'github:NixOS/nixpkgs/b9014df496d5b68bf7c0145d0e9b0f529ce4f2a8' (2024-07-01) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/7dca15289a1c2990efbe4680f0923ce14139b042' (2024-06-30) → 'github:NixOS/nixpkgs/d032c1a6dfad4eedec7e35e91986becc699d7d69' (2024-07-01) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/7dca15289a1c2990efbe4680f0923ce14139b042' (2024-06-30) → 'github:nixos/nixpkgs/b15223af719490fb80c7555a91c47ad844a7b771' (2024-07-02) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/2741b4b489b55df32afac57bc4bfd220e8bf617e' (2024-06-29) → 'github:nixos/nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8' (2024-07-01) • Updated input 'nur': 'github:nix-community/NUR/0575d7fb334ea662a0a03620780c87df0612eb9a' (2024-07-01) → 'github:nix-community/NUR/574405811547dcec59e912c5e82bfd224648bd5e' (2024-07-02) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index aeaacec8..8ba88086 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1719128254, - "narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=", + "lastModified": 1719845423, + "narHash": "sha256-ZLHDmWAsHQQKnmfyhYSHJDlt8Wfjv6SQhl2qek42O7A=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "50581970f37f06a4719001735828519925ef8310", + "rev": "ec12b88104d6c117871fad55e931addac4626756", "type": "github" }, "original": { @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1719877454, + "narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "4e3583423212f9303aa1a6337f8dffb415920e4f", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1719764240, - "narHash": "sha256-bsZDPD08s8FKCGyy1OMMuM+cOjO1M8vPREkhgyqkRQM=", + "lastModified": 1719913883, + "narHash": "sha256-GHB5lizmXGlglKYAKIvY9bkPcXvbrmEzh4d264omYYo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "643ec69ac0cfcc1cd26523c3816fb111e5bb3a41", + "rev": "0289cf03e294270c84f20bc09cd527fd7f3d4b72", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1719700831, - "narHash": "sha256-d89hDFBBtuQ7rwS/Q3lKYyfE0ekVCwubMN9q1qCZ3m0=", + "lastModified": 1719827289, + "narHash": "sha256-0IcxmkzmNY4el9yx7wGjZ+VDLGV+3XlI6AW9WfCbzAM=", "owner": "neovim", "repo": "neovim", - "rev": "e7020306a19a5211c834966ec067fff3b981bdb9", + "rev": "8f5e90811025bcc652146168d5116f8d73fe8f81", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719468428, - "narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=", + "lastModified": 1719826879, + "narHash": "sha256-xs7PlULe8O1SAcs/9e/HOjeUjBrU5FNtkAF/bSEcFto=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1e3deb3d8a86a870d925760db1a5adecc64d329d", + "rev": "b9014df496d5b68bf7c0145d0e9b0f529ce4f2a8", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1719707984, - "narHash": "sha256-RoxIr/fbndtuKqulGvNCcuzC6KdAib85Q8gXnjzA1dw=", + "lastModified": 1719902123, + "narHash": "sha256-R1lgsPE6Y6jBNwXi2gC4fcU3Ya8crhQR7XcL6IHhhyY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7dca15289a1c2990efbe4680f0923ce14139b042", + "rev": "b15223af719490fb80c7555a91c47ad844a7b771", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1719690277, - "narHash": "sha256-0xSej1g7eP2kaUF+JQp8jdyNmpmCJKRpO12mKl/36Kc=", + "lastModified": 1719848872, + "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2741b4b489b55df32afac57bc4bfd220e8bf617e", + "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1719707984, - "narHash": "sha256-RoxIr/fbndtuKqulGvNCcuzC6KdAib85Q8gXnjzA1dw=", + "lastModified": 1719838683, + "narHash": "sha256-Zw9rQjHz1ilNIimEXFeVa1ERNRBF8DoXDhLAZq5B4pE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7dca15289a1c2990efbe4680f0923ce14139b042", + "rev": "d032c1a6dfad4eedec7e35e91986becc699d7d69", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719837916, - "narHash": "sha256-dV1URYa5SezYyz/1IDb1BHmIZ4tM0WtpPfVkFGH8xfY=", + "lastModified": 1719925604, + "narHash": "sha256-cLmqi+P1sn+7497GS4fNWayoTDa0ZiJecjmEM4iQN9U=", "owner": "nix-community", "repo": "NUR", - "rev": "0575d7fb334ea662a0a03620780c87df0612eb9a", + "rev": "574405811547dcec59e912c5e82bfd224648bd5e", "type": "github" }, "original": { From d93c48f6ae440e2b6dcbc76971224ec34a4cc319 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 Jul 2024 08:58:28 +0200 Subject: [PATCH 1852/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/0289cf03e294270c84f20bc09cd527fd7f3d4b72' (2024-07-02) → 'github:nix-community/neovim-nightly-overlay/97bbe0cc1dc3d8962a9d15404a3c41da0ad2a3b3' (2024-07-03) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/8f5e90811025bcc652146168d5116f8d73fe8f81' (2024-07-01) → 'github:neovim/neovim/d413038b4fd71b7a335b6653aa64d2cb6daeac7b' (2024-07-02) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/b9014df496d5b68bf7c0145d0e9b0f529ce4f2a8' (2024-07-01) → 'github:NixOS/nixpkgs/0f56e3221392452f2c38e3ddf2eba03abda6bf47' (2024-07-02) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/b15223af719490fb80c7555a91c47ad844a7b771' (2024-07-02) → 'github:nixos/nixpkgs/7b254600a3121d0845b6b3b40816a7e5c2e7143d' (2024-07-02) • Updated input 'nur': 'github:nix-community/NUR/574405811547dcec59e912c5e82bfd224648bd5e' (2024-07-02) → 'github:nix-community/NUR/bf46629348af94058363c5b265431e548b4a81e6' (2024-07-03) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 8ba88086..12428c1b 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1719913883, - "narHash": "sha256-GHB5lizmXGlglKYAKIvY9bkPcXvbrmEzh4d264omYYo=", + "lastModified": 1719971132, + "narHash": "sha256-/u/dRd43l8WHW8WIEAtMf4KnayefCLpB3VpLF2FBEno=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0289cf03e294270c84f20bc09cd527fd7f3d4b72", + "rev": "97bbe0cc1dc3d8962a9d15404a3c41da0ad2a3b3", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1719827289, - "narHash": "sha256-0IcxmkzmNY4el9yx7wGjZ+VDLGV+3XlI6AW9WfCbzAM=", + "lastModified": 1719963642, + "narHash": "sha256-2+K/i8t4FkGCHEanISE8Q/SbLmWKp1dtpGlf44/x4m0=", "owner": "neovim", "repo": "neovim", - "rev": "8f5e90811025bcc652146168d5116f8d73fe8f81", + "rev": "d413038b4fd71b7a335b6653aa64d2cb6daeac7b", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719826879, - "narHash": "sha256-xs7PlULe8O1SAcs/9e/HOjeUjBrU5FNtkAF/bSEcFto=", + "lastModified": 1719900233, + "narHash": "sha256-n0r/+L73jFW4Y+sCUerulR7VcVADnfcXdzRs7PaiIqw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b9014df496d5b68bf7c0145d0e9b0f529ce4f2a8", + "rev": "0f56e3221392452f2c38e3ddf2eba03abda6bf47", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1719902123, - "narHash": "sha256-R1lgsPE6Y6jBNwXi2gC4fcU3Ya8crhQR7XcL6IHhhyY=", + "lastModified": 1719946774, + "narHash": "sha256-WO/zqpevcLHnp9KIbOvKEZoTsxYP4G+Rzbiv5jr0+rw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b15223af719490fb80c7555a91c47ad844a7b771", + "rev": "7b254600a3121d0845b6b3b40816a7e5c2e7143d", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719925604, - "narHash": "sha256-cLmqi+P1sn+7497GS4fNWayoTDa0ZiJecjmEM4iQN9U=", + "lastModified": 1719988422, + "narHash": "sha256-CIaf8/BcZpWxeTPboW2yJK0MoAsliGeev42fL44PpEU=", "owner": "nix-community", "repo": "NUR", - "rev": "574405811547dcec59e912c5e82bfd224648bd5e", + "rev": "bf46629348af94058363c5b265431e548b4a81e6", "type": "github" }, "original": { From fa21a0d7f0cc5cf617f5417bd57ed873af3f5615 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 Jul 2024 17:39:42 +0200 Subject: [PATCH 1853/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/7b254600a3121d0845b6b3b40816a7e5c2e7143d' (2024-07-02) → 'github:nixos/nixpkgs/0612b2b3e858821b005903f895b12da51b28502a' (2024-07-03) • Updated input 'nur': 'github:nix-community/NUR/bf46629348af94058363c5b265431e548b4a81e6' (2024-07-03) → 'github:nix-community/NUR/642b5070e3fa9f0be118fd46c741a4313231be22' (2024-07-03) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 12428c1b..55f1ee08 100644 --- a/flake.lock +++ b/flake.lock @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1719946774, - "narHash": "sha256-WO/zqpevcLHnp9KIbOvKEZoTsxYP4G+Rzbiv5jr0+rw=", + "lastModified": 1719986809, + "narHash": "sha256-0tgZ2y9V3iz/td91C8tpFerOdIFUf1ogs9NNjcfLNrQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7b254600a3121d0845b6b3b40816a7e5c2e7143d", + "rev": "0612b2b3e858821b005903f895b12da51b28502a", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1719988422, - "narHash": "sha256-CIaf8/BcZpWxeTPboW2yJK0MoAsliGeev42fL44PpEU=", + "lastModified": 1720010855, + "narHash": "sha256-tF36DiquJP8Ow9QwphDYEjZtBfhkiZOKybUSMnM47wg=", "owner": "nix-community", "repo": "NUR", - "rev": "bf46629348af94058363c5b265431e548b4a81e6", + "rev": "642b5070e3fa9f0be118fd46c741a4313231be22", "type": "github" }, "original": { From faf9280e2db0e2a8924e910bbd45b47d747c85a6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 Jul 2024 18:40:44 +0200 Subject: [PATCH 1854/2080] Disable joplin --- machines/Baptistes-MBP/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/machines/Baptistes-MBP/default.nix b/machines/Baptistes-MBP/default.nix index 35850597..c4c9f30e 100644 --- a/machines/Baptistes-MBP/default.nix +++ b/machines/Baptistes-MBP/default.nix @@ -23,7 +23,7 @@ # XXX: install from pkgs does not work "checkmake" "khal" - "joplin-cli" + # "joplin-cli" "gnu-sed" @@ -46,7 +46,7 @@ "alfred" # XXX: install from pkgs does not work "drawio" - "joplin" + # "joplin" # Clipboard manager "maccy" "mumble" From 741d8829f5fa6e210d9c0a79e37e652f3dcd7843 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 3 Jul 2024 18:43:01 +0200 Subject: [PATCH 1855/2080] README: log using more standard command --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3532219a..496f3442 100644 --- a/README.md +++ b/README.md @@ -120,8 +120,10 @@ nix build ".#nixosConfigurations.brutal.config.system.build.toplevel" sudo result/bin/switch-to-configuration switch # Build and siwtch to the new conf, updating boot menu sudo nixos-rebuild switch --flake . +# On macOS +darwin-rebuild switch --flake . # In case the hostname changed (like on a VPN), it can be specified like this -./result/sw/bin/darwin-rebuild switch --flake '.#Baptistes-MBP' +./result/sw/bin/darwin-rebuild switch --flake . -p 'darwinConfigurations.Baptistes-MBP.system' ``` ##### Updating From ee0c31a017ea1f3879f0a6feedb557a7bac4503a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 4 Jul 2024 09:29:59 +0200 Subject: [PATCH 1856/2080] More darwin stuff --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 496f3442..fac4817b 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,7 @@ sudo result/bin/switch-to-configuration switch # Build and siwtch to the new conf, updating boot menu sudo nixos-rebuild switch --flake . # On macOS +nix flake update --commit-lock-file darwin-rebuild switch --flake . # In case the hostname changed (like on a VPN), it can be specified like this ./result/sw/bin/darwin-rebuild switch --flake . -p 'darwinConfigurations.Baptistes-MBP.system' @@ -137,6 +138,9 @@ sudo nixos-rebuild switch --flake . # upgrade nixpkgs **only** and rebuild flake-managed system sudo nixos-rebuild switch --upgrade --update-input nixpkgs \ --commit-lock-file --flake ~/repos/dotfiles +# On macOS +nix flake update --commit-lock-file +darwin-rebuild switch --flake . ``` ##### Cleaning old generations From 147e9ce40d7b9e35604f082c7aa000c6ed1a4699 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 4 Jul 2024 09:32:09 +0200 Subject: [PATCH 1857/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/391ca6e950c2525b4f853cbe29922452c14eda82' (2024-07-01) → 'github:nix-community/home-manager/e1391fb22e18a36f57e6999c7a9f966dc80ac073' (2024-07-03) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d032c1a6dfad4eedec7e35e91986becc699d7d69' (2024-07-01) → 'github:NixOS/nixpkgs/706eef542dec88cc0ed25b9075d3037564b2d164' (2024-07-02) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/0612b2b3e858821b005903f895b12da51b28502a' (2024-07-03) → 'github:nixos/nixpkgs/2ccc79cca053f714e9462f356fe80ba3469ab50b' (2024-07-03) • Updated input 'nur': 'github:nix-community/NUR/642b5070e3fa9f0be118fd46c741a4313231be22' (2024-07-03) → 'github:nix-community/NUR/dd332d4c8247a452e5112af85d183340bd88640a' (2024-07-04) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 55f1ee08..17f2d3c1 100644 --- a/flake.lock +++ b/flake.lock @@ -173,11 +173,11 @@ ] }, "locked": { - "lastModified": 1719827385, - "narHash": "sha256-qs+nU20Sm8czHg3bhGCqiH+8e13BJyRrKONW34g3i50=", + "lastModified": 1720042825, + "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=", "owner": "nix-community", "repo": "home-manager", - "rev": "391ca6e950c2525b4f853cbe29922452c14eda82", + "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1719986809, - "narHash": "sha256-0tgZ2y9V3iz/td91C8tpFerOdIFUf1ogs9NNjcfLNrQ=", + "lastModified": 1720030474, + "narHash": "sha256-vN0J+gVQdrY58wbPyROcuU599R8YRBVOrnyBHwXTy4k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0612b2b3e858821b005903f895b12da51b28502a", + "rev": "2ccc79cca053f714e9462f356fe80ba3469ab50b", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1719838683, - "narHash": "sha256-Zw9rQjHz1ilNIimEXFeVa1ERNRBF8DoXDhLAZq5B4pE=", + "lastModified": 1719956923, + "narHash": "sha256-nNJHJ9kfPdzYsCOlHOnbiiyKjZUW5sWbwx3cakg3/C4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d032c1a6dfad4eedec7e35e91986becc699d7d69", + "rev": "706eef542dec88cc0ed25b9075d3037564b2d164", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1720010855, - "narHash": "sha256-tF36DiquJP8Ow9QwphDYEjZtBfhkiZOKybUSMnM47wg=", + "lastModified": 1720074587, + "narHash": "sha256-pjCjVfNmj38856QqK0PgBjqQvTps5JBX1vVB3rs8qBw=", "owner": "nix-community", "repo": "NUR", - "rev": "642b5070e3fa9f0be118fd46c741a4313231be22", + "rev": "dd332d4c8247a452e5112af85d183340bd88640a", "type": "github" }, "original": { From 3b2f097a8ebf192b5b05c3a872ecd5118face273 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 4 Jul 2024 18:03:17 +0200 Subject: [PATCH 1858/2080] Bump lazyvim lock --- lazyvim/nvim/lazy-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lazyvim/nvim/lazy-lock.json b/lazyvim/nvim/lazy-lock.json index 91b9d4ef..bd633c28 100644 --- a/lazyvim/nvim/lazy-lock.json +++ b/lazyvim/nvim/lazy-lock.json @@ -22,7 +22,7 @@ "gitsigns.nvim": { "branch": "main", "commit": "8df63f2ddc615feb71fd4aee45a4cee022876df1" }, "gx.nvim": { "branch": "main", "commit": "cf6ed6ba86ffe4e3f51a898c03a05023b7a2fe48" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, - "inc-rename.nvim": { "branch": "main", "commit": "535b508c0cb14d00c1836ad901b3c531cb1152bb" }, + "inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" }, "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, "lazy.nvim": { "branch": "main", "commit": "c501b429cf995c645454539b924aaefae45bb9eb" }, @@ -32,7 +32,7 @@ "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "f5425eb1d0d794f0305d5eeebddabb74614683ff" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "4ba55f9755ebe8297d92c419b90a946123292ae6" }, "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "9fef1097bca44616133cde6a6769e7aa07d12d7d" }, @@ -65,7 +65,7 @@ "nvim-treesitter": { "branch": "master", "commit": "122b4d3db1616c1f1305b847c5ed2217c4c329f1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-ts-autotag": { "branch": "main", "commit": "ddfccbf0df1b9349c2b9e9b17f4afa8f9b6c1ed1" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "2b7dcf6aab0947b9c4195f1d8aa592cdcd944ffe" }, "nvim-ufo": { "branch": "main", "commit": "aa2e676af592b4e99c105d80d6eafd1afc215d99" }, "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, "persistence.nvim": { "branch": "main", "commit": "95d03ad5450389ad7dc2a0fab14ebb3d46bc2c96" }, From bb1a5005ceb131f562eaa81a673a625ddccba6dc Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Sat, 6 Jul 2024 12:32:34 +0200 Subject: [PATCH 1859/2080] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/97bbe0cc1dc3d8962a9d15404a3c41da0ad2a3b3' (2024-07-03) → 'github:nix-community/neovim-nightly-overlay/9822e0611d49ae70278ac20c9d7b68e4797b2fab' (2024-07-06) • Updated input 'neovim-nightly-overlay/flake-parts': 'github:hercules-ci/flake-parts/4e3583423212f9303aa1a6337f8dffb415920e4f' (2024-07-01) → 'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7' (2024-07-03) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/d413038b4fd71b7a335b6653aa64d2cb6daeac7b' (2024-07-02) → 'github:neovim/neovim/3c53e8f78511d6db9a6c804e5a479ba38c33102d' (2024-07-05) • Updated input 'neovim-nightly-overlay/nixpkgs': 'github:NixOS/nixpkgs/0f56e3221392452f2c38e3ddf2eba03abda6bf47' (2024-07-02) → 'github:NixOS/nixpkgs/4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb' (2024-07-05) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/706eef542dec88cc0ed25b9075d3037564b2d164' (2024-07-02) → 'github:NixOS/nixpkgs/c0d0be00d4ecc4b51d2d6948e37466194c1e6c51' (2024-07-04) • Updated input 'nixpkgs-darwin-stable': 'github:nixos/nixpkgs/2ccc79cca053f714e9462f356fe80ba3469ab50b' (2024-07-03) → 'github:nixos/nixpkgs/835cf2d3f37989c5db6585a28de967a667a75fb1' (2024-07-04) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8' (2024-07-01) → 'github:nixos/nixpkgs/9f4128e00b0ae8ec65918efeba59db998750ead6' (2024-07-03) • Updated input 'nur': 'github:nix-community/NUR/dd332d4c8247a452e5112af85d183340bd88640a' (2024-07-04) → 'github:nix-community/NUR/0d585f9538f47c1b574831a35b2097aa1a707707' (2024-07-06) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 17f2d3c1..1c90f7b2 100644 --- a/flake.lock +++ b/flake.lock @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1719877454, - "narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4e3583423212f9303aa1a6337f8dffb415920e4f", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -197,11 +197,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1719971132, - "narHash": "sha256-/u/dRd43l8WHW8WIEAtMf4KnayefCLpB3VpLF2FBEno=", + "lastModified": 1720256686, + "narHash": "sha256-ihHXj+fp/BVpc86rCNN+Qbnpg6OrbeI+jxz6VRyzcy0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "97bbe0cc1dc3d8962a9d15404a3c41da0ad2a3b3", + "rev": "9822e0611d49ae70278ac20c9d7b68e4797b2fab", "type": "github" }, "original": { @@ -213,11 +213,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1719963642, - "narHash": "sha256-2+K/i8t4FkGCHEanISE8Q/SbLmWKp1dtpGlf44/x4m0=", + "lastModified": 1720175946, + "narHash": "sha256-9tiW0rkQZGhnNaIP6gWj7N/iTlCLFdD5r37R1jVOs3s=", "owner": "neovim", "repo": "neovim", - "rev": "d413038b4fd71b7a335b6653aa64d2cb6daeac7b", + "rev": "3c53e8f78511d6db9a6c804e5a479ba38c33102d", "type": "github" }, "original": { @@ -243,11 +243,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719900233, - "narHash": "sha256-n0r/+L73jFW4Y+sCUerulR7VcVADnfcXdzRs7PaiIqw=", + "lastModified": 1720181791, + "narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0f56e3221392452f2c38e3ddf2eba03abda6bf47", + "rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb", "type": "github" }, "original": { @@ -259,11 +259,11 @@ }, "nixpkgs-darwin-stable": { "locked": { - "lastModified": 1720030474, - "narHash": "sha256-vN0J+gVQdrY58wbPyROcuU599R8YRBVOrnyBHwXTy4k=", + "lastModified": 1720122915, + "narHash": "sha256-Nby8WWxj0elBu1xuRaUcRjPi/rU3xVbkAt2kj4QwX2U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2ccc79cca053f714e9462f356fe80ba3469ab50b", + "rev": "835cf2d3f37989c5db6585a28de967a667a75fb1", "type": "github" }, "original": { @@ -275,11 +275,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1719848872, - "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=", + "lastModified": 1720031269, + "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1719956923, - "narHash": "sha256-nNJHJ9kfPdzYsCOlHOnbiiyKjZUW5sWbwx3cakg3/C4=", + "lastModified": 1720110830, + "narHash": "sha256-E5dN9GDV4LwMEduhBLSkyEz51zM17XkWZ3/9luvNOPs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "706eef542dec88cc0ed25b9075d3037564b2d164", + "rev": "c0d0be00d4ecc4b51d2d6948e37466194c1e6c51", "type": "github" }, "original": { @@ -307,11 +307,11 @@ }, "nur": { "locked": { - "lastModified": 1720074587, - "narHash": "sha256-pjCjVfNmj38856QqK0PgBjqQvTps5JBX1vVB3rs8qBw=", + "lastModified": 1720246927, + "narHash": "sha256-eiorA41XDKK+fbMxK2ZmHG1FP7tSWpiifA5uL6Tx0Ug=", "owner": "nix-community", "repo": "NUR", - "rev": "dd332d4c8247a452e5112af85d183340bd88640a", + "rev": "0d585f9538f47c1b574831a35b2097aa1a707707", "type": "github" }, "original": { From 0762a93a88ad74043fa4e6e48962496766244861 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 9 Jul 2024 22:36:35 +0200 Subject: [PATCH 1860/2080] Create .chezmoiroot --- .chezmoiroot | 1 + 1 file changed, 1 insertion(+) create mode 100644 .chezmoiroot diff --git a/.chezmoiroot b/.chezmoiroot new file mode 100644 index 00000000..5e72f75c --- /dev/null +++ b/.chezmoiroot @@ -0,0 +1 @@ +home From 15f976b27071162e67bd30d9eed26b86728c3a33 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 9 Jul 2024 22:39:40 +0200 Subject: [PATCH 1861/2080] Create .chezmoiignore --- .chezmoiignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .chezmoiignore diff --git a/.chezmoiignore b/.chezmoiignore new file mode 100644 index 00000000..82368a4b --- /dev/null +++ b/.chezmoiignore @@ -0,0 +1 @@ +*.nix From 514cac09ed845e90262ab305f061a5860138578f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 9 Jul 2024 22:42:53 +0200 Subject: [PATCH 1862/2080] Rename .chezmoiroot to home/.chezmoiroot --- .chezmoiroot => home/.chezmoiroot | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .chezmoiroot => home/.chezmoiroot (100%) diff --git a/.chezmoiroot b/home/.chezmoiroot similarity index 100% rename from .chezmoiroot rename to home/.chezmoiroot From 2f6b3bb40f014a368b35e45af0421fc778ba681e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 9 Jul 2024 22:44:02 +0200 Subject: [PATCH 1863/2080] Rename .chezmoiignore to home/.chezmoiignore --- .chezmoiignore => home/.chezmoiignore | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .chezmoiignore => home/.chezmoiignore (100%) diff --git a/.chezmoiignore b/home/.chezmoiignore similarity index 100% rename from .chezmoiignore rename to home/.chezmoiignore From 5245bd74f88b5abb72b11267bc900b26e9af2a98 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 9 Jul 2024 22:44:20 +0200 Subject: [PATCH 1864/2080] Rename home/.chezmoiroot to .chezmoiroot --- home/.chezmoiroot => .chezmoiroot | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename home/.chezmoiroot => .chezmoiroot (100%) diff --git a/home/.chezmoiroot b/.chezmoiroot similarity index 100% rename from home/.chezmoiroot rename to .chezmoiroot From 0ad300742e097668a53fb63626430b48abda8220 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 9 Jul 2024 22:45:02 +0200 Subject: [PATCH 1865/2080] Rename .gitconfig to home/.gitconfig --- .gitconfig => home/.gitconfig | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .gitconfig => home/.gitconfig (100%) diff --git a/.gitconfig b/home/.gitconfig similarity index 100% rename from .gitconfig rename to home/.gitconfig From aeb87781fd16eb939a5a22063d16a35bec8c0553 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 9 Jul 2024 22:50:03 +0200 Subject: [PATCH 1866/2080] Rename .gitconfig to dot_gitconfig --- home/{.gitconfig => dot_gitconfig} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename home/{.gitconfig => dot_gitconfig} (100%) diff --git a/home/.gitconfig b/home/dot_gitconfig similarity index 100% rename from home/.gitconfig rename to home/dot_gitconfig From d5a987a4fc54972c8e6c8aa7a90178352ae510d2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 9 Jul 2024 22:56:43 +0200 Subject: [PATCH 1867/2080] Import .gitconfig.user --- home/dot_gitconfig.user | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 home/dot_gitconfig.user diff --git a/home/dot_gitconfig.user b/home/dot_gitconfig.user new file mode 100644 index 00000000..b94db588 --- /dev/null +++ b/home/dot_gitconfig.user @@ -0,0 +1,3 @@ +[user] +name = "gwarf" +email = "baptiste@bapt.name" From 46ffacb5ccb05e144f3ac86095d11a0abff1b86d Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 9 Jul 2024 23:14:36 +0200 Subject: [PATCH 1868/2080] Mention migration to chezmoi. --- README.md | 75 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 48 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index fac4817b..8c41f18e 100644 --- a/README.md +++ b/README.md @@ -2,37 +2,58 @@ My messy **dotfiles** for GNU/Linux and macOS. WIP :) +## Chezmoi + Some files or configuration parts are for GNU/Linux (Archlinux and NixOS) and some others are for macOS. -> **WIP++** I'm converting this repository from -> [yadm](https://github.com/TheLocehiliosan/yadm) to management using [nix](#nix) and -> [home-manager](https://nix-community.github.io/home-manager/). +> **WIP++** I'm converting this repository from using [nix](https://nixos.org/) +> and [home-manager](https://nix-community.github.io/home-manager/) to +> [chezmoi](https://www.chezmoi.io). + +### Why moving to chezmoi? + +Using NixOS and Homemanager on macOS was fun and quite efficient, but remained +too complex on some aspects, thus I decided to move to something simpler. In +addition to this, there were recently some issues in the nix community and +various points from those people made sense to me: +- [Solene: What is going on in Nix community?](https://dataswamp.org/~solene/2024-04-27-nix-internal-crisis.html) +- [Xe: Much ado about "nothing"](https://xeiaso.net/blog/2024/much-ado-about-nothing/) +- [maintainers: remove marsam](https://github.com/NixOS/nixpkgs/pull/306702) + +### Initialising + +```shell +chezmoi init gwarf +chezmoi diff +chezmoi apply +``` + +### Pulling changes -## Nix - -This is mainly random notes and pointers to source of inspiration. - -This is work-in-progress, some important tasks are pending: - -- [ ] Read [Practical Nix Flakes](https://serokell.io/blog/practical-nix-flakes) -- [ ] Finalise mail configuration -- [ ] Finalise neovim configuration -- [ ] Finalise neomutt/mutt configuration -- [ ] Unlock gnome keyring on login -- [ ] Check https://nixos.org/guides/nix-pills/ -- [ ] Read - https://www.reddit.com/r/NixOS/comments/xtq2tb/best_way_to_manage_multiple_home_manager_configs/ -- [ ] Clean packages sets in inputs. -- [ ] Disable/clean/remove `/etc/nixos/configuration.nix`, finalise switch to - flakes. Unless it makes sense to keep this to do system configuration? -- [ ] Consolidation of macOS and NixOS configuration. -- [ ] Look into https://github.com/gvolpe/neovim-flake. -- [ ] Support home-manager configuration on non-NixOS GNU/Linux systems. -- [ ] Test and document bootstrap in clean NixOS. -- [ ] Test and document bootstrap in clean macOS. -- [ ] Look into GitHub actions. -- [ ] Clean static config files. +```shell +# Pull changes and review them +chezmoi git pull -- --autostash --rebase && chezmoi diff +# Apply them +chezmoi apply +# Pull and apply all at once +chezmoi update +``` + +### Pushing changes + +```shell +chezmoi cd +git status +git commit -a +git push +``` + +## Nix (Legacy) + +> The nix setup got converted from +> [yadm](https://github.com/TheLocehiliosan/yadm) to using [nix](#nix) and +> [home-manager](https://nix-community.github.io/home-manager/). ### Searching for a Nix package, an option, … From ee890482e44cb316db92e8107d61b5a664ec78c2 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 9 Jul 2024 23:22:55 +0200 Subject: [PATCH 1869/2080] Move LazyVim to chezmoi --- home/.chezmoiignore | 2 ++ {lazyvim => home/private_dot_config}/nvim/LICENSE | 0 {lazyvim => home/private_dot_config}/nvim/README.md | 0 .../private_dot_config/nvim/dot_neoconf.json | 0 {lazyvim => home/private_dot_config}/nvim/init.lua | 0 .../private_dot_config}/nvim/lazy-lock.json | 0 {lazyvim => home/private_dot_config}/nvim/lazyvim.json | 0 .../private_dot_config}/nvim/lua/config/autocmds.lua | 0 .../private_dot_config}/nvim/lua/config/keymaps.lua | 0 .../private_dot_config}/nvim/lua/config/lazy.lua | 0 .../private_dot_config}/nvim/lua/config/options.lua | 0 .../private_dot_config}/nvim/lua/plugins/coding.lua | 0 .../private_dot_config}/nvim/lua/plugins/lsp.lua | 0 .../private_dot_config}/nvim/lua/plugins/neorg.lua | 0 .../private_dot_config}/nvim/lua/plugins/tools.lua | 0 .../nvim/lua/plugins/treesitter.lua | 0 .../private_dot_config}/nvim/lua/plugins/ui.lua | 0 .../private_dot_config}/nvim/snippets/mail/mail.json | 0 {lazyvim => home/private_dot_config}/nvim/stylua.toml | 0 lazyvim/nvim/.gitignore | 10 ---------- 20 files changed, 2 insertions(+), 10 deletions(-) rename {lazyvim => home/private_dot_config}/nvim/LICENSE (100%) rename {lazyvim => home/private_dot_config}/nvim/README.md (100%) rename lazyvim/nvim/.neoconf.json => home/private_dot_config/nvim/dot_neoconf.json (100%) rename {lazyvim => home/private_dot_config}/nvim/init.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/lazy-lock.json (100%) rename {lazyvim => home/private_dot_config}/nvim/lazyvim.json (100%) rename {lazyvim => home/private_dot_config}/nvim/lua/config/autocmds.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/lua/config/keymaps.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/lua/config/lazy.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/lua/config/options.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/lua/plugins/coding.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/lua/plugins/lsp.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/lua/plugins/neorg.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/lua/plugins/tools.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/lua/plugins/treesitter.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/lua/plugins/ui.lua (100%) rename {lazyvim => home/private_dot_config}/nvim/snippets/mail/mail.json (100%) rename {lazyvim => home/private_dot_config}/nvim/stylua.toml (100%) delete mode 100644 lazyvim/nvim/.gitignore diff --git a/home/.chezmoiignore b/home/.chezmoiignore index 82368a4b..01ec0383 100644 --- a/home/.chezmoiignore +++ b/home/.chezmoiignore @@ -1 +1,3 @@ *.nix +private_dot_config/nvim/spell/en.utf-8.add.spl +private_dot_config/nvim/spell/en.utf-8.add diff --git a/lazyvim/nvim/LICENSE b/home/private_dot_config/nvim/LICENSE similarity index 100% rename from lazyvim/nvim/LICENSE rename to home/private_dot_config/nvim/LICENSE diff --git a/lazyvim/nvim/README.md b/home/private_dot_config/nvim/README.md similarity index 100% rename from lazyvim/nvim/README.md rename to home/private_dot_config/nvim/README.md diff --git a/lazyvim/nvim/.neoconf.json b/home/private_dot_config/nvim/dot_neoconf.json similarity index 100% rename from lazyvim/nvim/.neoconf.json rename to home/private_dot_config/nvim/dot_neoconf.json diff --git a/lazyvim/nvim/init.lua b/home/private_dot_config/nvim/init.lua similarity index 100% rename from lazyvim/nvim/init.lua rename to home/private_dot_config/nvim/init.lua diff --git a/lazyvim/nvim/lazy-lock.json b/home/private_dot_config/nvim/lazy-lock.json similarity index 100% rename from lazyvim/nvim/lazy-lock.json rename to home/private_dot_config/nvim/lazy-lock.json diff --git a/lazyvim/nvim/lazyvim.json b/home/private_dot_config/nvim/lazyvim.json similarity index 100% rename from lazyvim/nvim/lazyvim.json rename to home/private_dot_config/nvim/lazyvim.json diff --git a/lazyvim/nvim/lua/config/autocmds.lua b/home/private_dot_config/nvim/lua/config/autocmds.lua similarity index 100% rename from lazyvim/nvim/lua/config/autocmds.lua rename to home/private_dot_config/nvim/lua/config/autocmds.lua diff --git a/lazyvim/nvim/lua/config/keymaps.lua b/home/private_dot_config/nvim/lua/config/keymaps.lua similarity index 100% rename from lazyvim/nvim/lua/config/keymaps.lua rename to home/private_dot_config/nvim/lua/config/keymaps.lua diff --git a/lazyvim/nvim/lua/config/lazy.lua b/home/private_dot_config/nvim/lua/config/lazy.lua similarity index 100% rename from lazyvim/nvim/lua/config/lazy.lua rename to home/private_dot_config/nvim/lua/config/lazy.lua diff --git a/lazyvim/nvim/lua/config/options.lua b/home/private_dot_config/nvim/lua/config/options.lua similarity index 100% rename from lazyvim/nvim/lua/config/options.lua rename to home/private_dot_config/nvim/lua/config/options.lua diff --git a/lazyvim/nvim/lua/plugins/coding.lua b/home/private_dot_config/nvim/lua/plugins/coding.lua similarity index 100% rename from lazyvim/nvim/lua/plugins/coding.lua rename to home/private_dot_config/nvim/lua/plugins/coding.lua diff --git a/lazyvim/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua similarity index 100% rename from lazyvim/nvim/lua/plugins/lsp.lua rename to home/private_dot_config/nvim/lua/plugins/lsp.lua diff --git a/lazyvim/nvim/lua/plugins/neorg.lua b/home/private_dot_config/nvim/lua/plugins/neorg.lua similarity index 100% rename from lazyvim/nvim/lua/plugins/neorg.lua rename to home/private_dot_config/nvim/lua/plugins/neorg.lua diff --git a/lazyvim/nvim/lua/plugins/tools.lua b/home/private_dot_config/nvim/lua/plugins/tools.lua similarity index 100% rename from lazyvim/nvim/lua/plugins/tools.lua rename to home/private_dot_config/nvim/lua/plugins/tools.lua diff --git a/lazyvim/nvim/lua/plugins/treesitter.lua b/home/private_dot_config/nvim/lua/plugins/treesitter.lua similarity index 100% rename from lazyvim/nvim/lua/plugins/treesitter.lua rename to home/private_dot_config/nvim/lua/plugins/treesitter.lua diff --git a/lazyvim/nvim/lua/plugins/ui.lua b/home/private_dot_config/nvim/lua/plugins/ui.lua similarity index 100% rename from lazyvim/nvim/lua/plugins/ui.lua rename to home/private_dot_config/nvim/lua/plugins/ui.lua diff --git a/lazyvim/nvim/snippets/mail/mail.json b/home/private_dot_config/nvim/snippets/mail/mail.json similarity index 100% rename from lazyvim/nvim/snippets/mail/mail.json rename to home/private_dot_config/nvim/snippets/mail/mail.json diff --git a/lazyvim/nvim/stylua.toml b/home/private_dot_config/nvim/stylua.toml similarity index 100% rename from lazyvim/nvim/stylua.toml rename to home/private_dot_config/nvim/stylua.toml diff --git a/lazyvim/nvim/.gitignore b/lazyvim/nvim/.gitignore deleted file mode 100644 index 062ea2c4..00000000 --- a/lazyvim/nvim/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -tt.* -.tests -doc/tags -debug -.repro -foo.* -*.log -data -spell/en.utf-8.add.spl -spell/en.utf-8.add From efc42dd7756453fb52f3b6ba0dd308d11e3e9dca Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 9 Jul 2024 23:45:22 +0200 Subject: [PATCH 1870/2080] Drop leftover --- home/private_dot_config/nvim/LICENSE | 201 --------------------------- 1 file changed, 201 deletions(-) delete mode 100644 home/private_dot_config/nvim/LICENSE diff --git a/home/private_dot_config/nvim/LICENSE b/home/private_dot_config/nvim/LICENSE deleted file mode 100644 index 261eeb9e..00000000 --- a/home/private_dot_config/nvim/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. From 5ad52beec4fb3837c5b8628bc5ebdd0b162d76f6 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Tue, 9 Jul 2024 23:46:29 +0200 Subject: [PATCH 1871/2080] chezmoi: look into installing packages. --- home/.chezmoidata/packages.yaml | 26 ++++++++++++++++++++++ home/run_onchange_install-packages.sh.tmpl | 16 +++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 home/.chezmoidata/packages.yaml create mode 100644 home/run_onchange_install-packages.sh.tmpl diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml new file mode 100644 index 00000000..fa8549b4 --- /dev/null +++ b/home/.chezmoidata/packages.yaml @@ -0,0 +1,26 @@ +packages: + darwin: + brews: + - 'git' + - 'khal' + - 'gnu-sed' + - 'bitwarden-cli' + - "fetch-crl" + - "ldapvi" + - "languagetool" + casks: + - 'alfred' + - "drawio" + - "maccy" + - "rectangle" + - "slack" + - "stretchly" + - "teamviewer" + - "vagrant" + - "virtualbox" + - "vlc" + freebsd: + - 'git' + - 'bash' + - 'neovim' + linux: diff --git a/home/run_onchange_install-packages.sh.tmpl b/home/run_onchange_install-packages.sh.tmpl new file mode 100644 index 00000000..b3a5a889 --- /dev/null +++ b/home/run_onchange_install-packages.sh.tmpl @@ -0,0 +1,16 @@ +{{ if eq .chezmoi.os "freebsd" -}} +#!/bin/sh +pkg install {{ range .packages.freebsd }} +{{ end -}} +{{ else if eq .chezmoi.os "darwin" -}} +#!/bin/bash + +brew bundle --no-lock --file=/dev/stdin <<EOF +{{ range .packages.darwin.brews -}} +brew {{ . | quote }} +{{ end -}} +{{ range .packages.darwin.casks -}} +cask {{ . | quote }} +{{ end -}} +EOF +{{ end -}} From 11f76e23c31ed3f833243ed3ad42fce3b3e379fc Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 00:12:23 +0200 Subject: [PATCH 1872/2080] Bump lockfile --- home/private_dot_config/nvim/lazy-lock.json | 23 ++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/home/private_dot_config/nvim/lazy-lock.json b/home/private_dot_config/nvim/lazy-lock.json index bd633c28..217ad811 100644 --- a/home/private_dot_config/nvim/lazy-lock.json +++ b/home/private_dot_config/nvim/lazy-lock.json @@ -28,12 +28,12 @@ "lazy.nvim": { "branch": "main", "commit": "c501b429cf995c645454539b924aaefae45bb9eb" }, "lazydev.nvim": { "branch": "main", "commit": "6184ebbbc8045d70077659b7d30c705a588dc62f" }, "ltex_extra.nvim": { "branch": "master", "commit": "24acd044ce7a26b3cdb537cbd094de37c3e1ac45" }, - "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, + "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "4ba55f9755ebe8297d92c419b90a946123292ae6" }, - "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, + "mason.nvim": { "branch": "main", "commit": "f96a31855fa8aea55599cea412fe611b85a874ed" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, "mini.ai": { "branch": "main", "commit": "9fef1097bca44616133cde6a6769e7aa07d12d7d" }, "mini.animate": { "branch": "main", "commit": "0a35f6db55cfac04a0999abe3465f7b692dc56a7" }, @@ -59,20 +59,19 @@ "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, "nvim-snippets": { "branch": "main", "commit": "5c978b3ba0c504dc9f94ca93d17029f26064d229" }, - "nvim-spectre": { "branch": "master", "commit": "49fae98ef2bfa8342522b337892992e3495065d5" }, - "nvim-spider": { "branch": "main", "commit": "b17d85c086d963852b7e3f543e0cd187b5112bc5" }, + "nvim-spectre": { "branch": "master", "commit": "9a28f926d3371b7ef02243cbbb653a0478d06e31" }, + "nvim-spider": { "branch": "main", "commit": "c0f757f63da340636ff2be53e39eabc42f5fa727" }, "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, "nvim-treesitter": { "branch": "master", "commit": "122b4d3db1616c1f1305b847c5ed2217c4c329f1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, - "nvim-ts-autotag": { "branch": "main", "commit": "ddfccbf0df1b9349c2b9e9b17f4afa8f9b6c1ed1" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "2b7dcf6aab0947b9c4195f1d8aa592cdcd944ffe" }, - "nvim-ufo": { "branch": "main", "commit": "aa2e676af592b4e99c105d80d6eafd1afc215d99" }, - "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, - "persistence.nvim": { "branch": "main", "commit": "95d03ad5450389ad7dc2a0fab14ebb3d46bc2c96" }, + "nvim-ts-autotag": { "branch": "main", "commit": "323a3e16ed603e2e17b26b1c836d1e86c279f726" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "f1905136b99b5d706858d4c9274a3b152b4359ed" }, + "nvim-ufo": { "branch": "main", "commit": "a57e088487f099197246fd24be7423c6c4dedcef" }, + "persistence.nvim": { "branch": "main", "commit": "c45ff862b53ce07a853a753fb0b33e148dbb99d2" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "promise-async": { "branch": "main", "commit": "28c1d5a295eb5310afa2523d4ae9aa41ec5a9de2" }, - "refactoring.nvim": { "branch": "master", "commit": "c9c1a0995b7d9a534f3b9a4df7fd55240127eeb4" }, + "refactoring.nvim": { "branch": "master", "commit": "d07218748c48e756c27aa6859bfa6e62a3d271af" }, "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, "styler.nvim": { "branch": "main", "commit": "2cd29996d08cec8b31270c6de64465f716ef9d71" }, "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, @@ -82,8 +81,8 @@ "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, "vim-matchup": { "branch": "master", "commit": "1535a769d5dca851fe7d41b0be95f7c7203a4bef" }, "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, - "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, - "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" }, + "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, + "which-key.nvim": { "branch": "main", "commit": "af4ded85542d40e190014c732fa051bdbf88be3d" }, "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } } From c8c45fd3f0b612cdefda1413a27a24c65e72c746 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 00:12:35 +0200 Subject: [PATCH 1873/2080] Fix packages installation --- home/.chezmoidata/packages.yaml | 4 ++++ home/run_onchange_install-packages.sh.tmpl | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index fa8549b4..cfe8e189 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -2,6 +2,7 @@ packages: darwin: brews: - 'git' + - 'delta' - 'khal' - 'gnu-sed' - 'bitwarden-cli' @@ -20,7 +21,10 @@ packages: - "virtualbox" - "vlc" freebsd: + pkgs: - 'git' - 'bash' + - 'git-delta' - 'neovim' + ports: linux: diff --git a/home/run_onchange_install-packages.sh.tmpl b/home/run_onchange_install-packages.sh.tmpl index b3a5a889..d9b31446 100644 --- a/home/run_onchange_install-packages.sh.tmpl +++ b/home/run_onchange_install-packages.sh.tmpl @@ -1,6 +1,8 @@ {{ if eq .chezmoi.os "freebsd" -}} #!/bin/sh -pkg install {{ range .packages.freebsd }} + +{{ range .packages.freebsd.pkgs -}} +doas pkg install {{ . | quote }} {{ end -}} {{ else if eq .chezmoi.os "darwin" -}} #!/bin/bash From c9a19ec3c5b0c551c8b4c4bb00130644422570eb Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 00:34:26 +0200 Subject: [PATCH 1874/2080] Fish configuration --- home/private_dot_config/private_fish/config.fish | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 home/private_dot_config/private_fish/config.fish diff --git a/home/private_dot_config/private_fish/config.fish b/home/private_dot_config/private_fish/config.fish new file mode 100644 index 00000000..d714361f --- /dev/null +++ b/home/private_dot_config/private_fish/config.fish @@ -0,0 +1,3 @@ +if status is-interactive + # Commands to run in interactive sessions can go here +end From 434a41f7ec05565ee597971b4ad634c038478c43 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 00:53:17 +0200 Subject: [PATCH 1875/2080] More fish. --- home/.chezmoidata/packages.yaml | 58 +++++---- .../private_fish/config.fish | 116 ++++++++++++++++++ 2 files changed, 152 insertions(+), 22 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index cfe8e189..b00016cd 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -1,30 +1,44 @@ packages: darwin: brews: - - 'git' - - 'delta' - - 'khal' - - 'gnu-sed' - - 'bitwarden-cli' - - "fetch-crl" - - "ldapvi" - - "languagetool" + - "git" + - "delta" + - "khal" + - "gnu-sed" + - "bitwarden-cli" + - "fetch-crl" + - "ldapvi" + - "languagetool" casks: - - 'alfred' - - "drawio" - - "maccy" - - "rectangle" - - "slack" - - "stretchly" - - "teamviewer" - - "vagrant" - - "virtualbox" - - "vlc" + - "alfred" + - "drawio" + - "maccy" + - "rectangle" + - "slack" + - "stretchly" + - "teamviewer" + - "vagrant" + - "virtualbox" + - "vlc" freebsd: pkgs: - - 'git' - - 'bash' - - 'git-delta' - - 'neovim' + - "bash" + - "bat" + - "direnv" + - "dust" + - "fd-find" + - "fish" + - "git" + - "git-delta" + - "kitty" + - "lsd" + - "neovim" + - "python" + - "ripgrep-all" + - "shfmt" + - "starship" + - "stylua" + - "vivid" + - "zoxide" ports: linux: diff --git a/home/private_dot_config/private_fish/config.fish b/home/private_dot_config/private_fish/config.fish index d714361f..0ef92fb8 100644 --- a/home/private_dot_config/private_fish/config.fish +++ b/home/private_dot_config/private_fish/config.fish @@ -1,3 +1,119 @@ if status is-interactive # Commands to run in interactive sessions can go here + + # Use bat as pager + set -gx PAGER bat + # https://unix.stackexchange.com/questions/343168/can-i-prevent-service-foo-status-from-paging-its-output-through-less + set -gx SYSTEMD_PAGER bat + set -gx MANPAGER "nvim +Man!" + + # Disable cowsay for Ansible + set -gx ANSIBLE_NOCOWS 1 + + if test (uname) = Darwin + # Add path mainly used by brew + fish_add_path /usr/local/bin + + # Add nix directories to path missing in current kitty config + fish_add_path "~/.nix-profile/bin" + fish_add_path "/etc/profiles/per-user/$USER/bin" + fish_add_path /run/current-system/sw/bin + fish_add_path /nix/var/nix/profiles/default/bin + + # https://spicetify.app + if test -e ~/.spicetify + fish_add_path ~/.spicetify/ + end + + if test -e ~/perl5/perlbrew/etc/perlbrew.fish + . ~/perl5/perlbrew/etc/perlbrew.fish + end + + # XXX: disabled + # Favor using llvm stuff from homebrew + # clang-15: unknown argument -02 + # set -gx CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + # set -gx CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + # set -gx CPPFLAGS "-I/usr/local/opt/llvm/include" + # set -gx LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" + # fish_add_path "/usr/local/opt/llvm/bin" + + # FIXME: not working for getting norg-treesitter to build + # Use clang/llvm as main compiler + # set -gx CC clang + # set -gx CXX clang++ + # set -gx COMPILER clang++ + + # Use gcc12 from homebrew to build neorg treesitter + # set -gx CC /usr/local/bin/gcc-12 + + # XXX: not working + # Use clang++ from system with recent C++ version to build neorg treesitter + # set -gx CC "/usr/bin/clang++ -std=c++17" + + # XXX: not working + # Use clang++ from system with recent C++ version to build neorg treesitter + # function nvim + # env CC="/usr/bin/clang++ -std=c++17" /etc/profiles/per-user/$USER/bin/nvim $argv + # end + + # XXX: not working + # function vim + # env CC="/usr/bin/clang++ -std=c++17" /etc/profiles/per-user/$USER/bin/nvim $argv + # end + + # Load pyenv + # https://github.com/pyenv/pyenv/wiki/Common-build-problems + set -x PYENV_ROOT $HOME/.pyenv + fish_add_path $PYENV_ROOT/bin + pyenv init - | source + + # Load custon pytyon3 venv for mutt + ical + function mutt + source ~/.config/neomutt/.venv/bin/activate.fish + /etc/profiles/per-user/baptiste/bin/mutt + end + + # Start oidc-agent + if type -q oidc-agent-service + eval (oidc-agent-service use | awk '/^OIDC.*export/ {print $1}' | tr -d \; | awk -F'=' '{print "set -gx "$1" "$2";" }') + # for fedcloudclient, once egi account got created + # export OIDC_AGENT_ACCOUNT=egi + end + end + + # nvim! + set EDITOR nvim + fish_vi_key_bindings + + # Set color variables + set emphasized_text brcyan # base1 + set normal_text brblue # base0 + set secondary_text brgreen # base01 + set background_light black # base02 + set background brblack # base03 + set -g fish_color_quote cyan # color of commands + set -g fish_color_redirection brmagenta # color of IO redirections + set -g fish_color_end blue # color of process separators like ';' and '&' + set -g fish_color_error red # color of potential errors + set -g fish_color_match --reverse # color of highlighted matching parenthesis + set -g fish_color_search_match --background=yellow + set -g fish_color_selection --reverse # color of selected text (vi mode) + set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' + set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' + set -g fish_color_cancel red # color of the '^C' indicator on a canceled command + set -g fish_color_command $emphasized_text --bold # color of commands + set -g fish_color_param $normal_text # color of regular command parameters + set -g fish_color_comment $secondary_text # color of comments + set -g fish_color_autosuggestion $secondary_text # color of autosuggestions + set -g fish_pager_color_prefix $emphasized_text --bold # color of the pager prefix string + set -g fish_pager_color_description $selection_text # color of the completion description + set -g fish_pager_color_selected_prefix $background + set -g fish_pager_color_selected_completion $background + set -g fish_pager_color_selected_description $background + + # Set LS_COLORS + set -xg LS_COLORS (vivid generate dracula) + + [ -e $HOME/.fish.env ]; and source $HOME/.fish.env end From c1753ae4c781b0262a3e87ad1466726ed7710ddb Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 01:05:54 +0200 Subject: [PATCH 1876/2080] Update for Fish configuration. --- home/.chezmoidata/packages.yaml | 1 + .../private_fish/config.fish | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index b00016cd..e4f132f8 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -38,6 +38,7 @@ packages: - "shfmt" - "starship" - "stylua" + - "tree" - "vivid" - "zoxide" ports: diff --git a/home/private_dot_config/private_fish/config.fish b/home/private_dot_config/private_fish/config.fish index 0ef92fb8..a41941e7 100644 --- a/home/private_dot_config/private_fish/config.fish +++ b/home/private_dot_config/private_fish/config.fish @@ -1,3 +1,5 @@ +set -U fish_term24bit 1 + if status is-interactive # Commands to run in interactive sessions can go here @@ -10,6 +12,25 @@ if status is-interactive # Disable cowsay for Ansible set -gx ANSIBLE_NOCOWS 1 + # Abbreviations + abbr -a :q exit + abbr -a g git + + # Aliases + alias cat="bat --paging=never" + alias ls="lsd --group-directories-first" + alias lsa="lsd --group-directories-first --almost-all" + alias l="lsd --group-directories-first --long --date '+%F %T'" + alias la="lsd --group-directories-first --long --date '+%F %T' --almost-all" + alias ld="fd . --type d --max-depth 1 --strip-cwd-prefix --exec-batch lsd --directory-only" + alias ..="cd .." + alias rm="rm -i --preserve-root" + alias mv="mv -i" + alias cp="cp -i" + alias chown="chown --preserve-root" + alias chmod="chmod --preserve-root" + alias chgrp="chgrp --preserve-root" + if test (uname) = Darwin # Add path mainly used by brew fish_add_path /usr/local/bin From ca63590f98c655419539a3d4041afe2c02192bc7 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 14:36:26 +0200 Subject: [PATCH 1877/2080] chezmoi: kitty, bat, fish. --- home/.chezmoidata/packages.yaml | 1 + home/private_dot_config/bat/config | 2 + home/private_dot_config/kitty/kitty.conf | 32 +++++++++ .../kitty/readonly_dracula.conf | 66 +++++++++++++++++++ .../kitty/readonly_tokyonight_moon.conf | 50 ++++++++++++++ .../kitty/readonly_tokyonight_storm.conf | 50 ++++++++++++++ .../private_fish/config.fish | 18 +++++ home/private_dot_config/starship.toml | 10 +++ 8 files changed, 229 insertions(+) create mode 100644 home/private_dot_config/bat/config create mode 100644 home/private_dot_config/kitty/kitty.conf create mode 100644 home/private_dot_config/kitty/readonly_dracula.conf create mode 100644 home/private_dot_config/kitty/readonly_tokyonight_moon.conf create mode 100644 home/private_dot_config/kitty/readonly_tokyonight_storm.conf create mode 100644 home/private_dot_config/starship.toml diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index e4f132f8..31df0dff 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -38,6 +38,7 @@ packages: - "shfmt" - "starship" - "stylua" + - "tmux" - "tree" - "vivid" - "zoxide" diff --git a/home/private_dot_config/bat/config b/home/private_dot_config/bat/config new file mode 100644 index 00000000..c12f30c3 --- /dev/null +++ b/home/private_dot_config/bat/config @@ -0,0 +1,2 @@ +--theme="Dracula" +--style="plain" diff --git a/home/private_dot_config/kitty/kitty.conf b/home/private_dot_config/kitty/kitty.conf new file mode 100644 index 00000000..9284eec5 --- /dev/null +++ b/home/private_dot_config/kitty/kitty.conf @@ -0,0 +1,32 @@ +# See https://sw.kovidgoyal.net/kitty/conf.html + +# Shell integration is sourced and configured manually +shell_integration no-rc + +active_tab_font_style bold +adjust_line_height 140% +disable_ligatures cursor +font_family JetBrainsMono +font_size 16.0 +hide_window_decorations no +inactive_tab_font_style normal +shell fish --interactive --login +tab_activity_symbol  +tab_bar_edge top +tab_bar_style powerline +tab_title_template Tab {index}: {title} +window_padding_width 10 + +# Load theme +include tokyonight_storm.conf +# include tokyonight_moon.conf +# include dracula.conf + +# Change the style of italic font variants +modify_font underline_thickness 400% +modify_font underline_position 2 + +# https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points +# symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D JetBrainsMono Nerd Font"; +# symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D Menlo"; + diff --git a/home/private_dot_config/kitty/readonly_dracula.conf b/home/private_dot_config/kitty/readonly_dracula.conf new file mode 100644 index 00000000..8f05c52a --- /dev/null +++ b/home/private_dot_config/kitty/readonly_dracula.conf @@ -0,0 +1,66 @@ +# https://draculatheme.com/kitty +# +# Installation instructions: +# +# cp dracula.conf ~/.config/kitty/ +# echo "include dracula.conf" >> ~/.config/kitty/kitty.conf +# +# Then reload kitty for the config to take affect. +# Alternatively copy paste below directly into kitty.conf + +foreground #f8f8f2 +background #282a36 +selection_foreground #ffffff +selection_background #44475a + +url_color #8be9fd + +# black +color0 #21222c +color8 #6272a4 + +# red +color1 #ff5555 +color9 #ff6e6e + +# green +color2 #50fa7b +color10 #69ff94 + +# yellow +color3 #f1fa8c +color11 #ffffa5 + +# blue +color4 #bd93f9 +color12 #d6acff + +# magenta +color5 #ff79c6 +color13 #ff92df + +# cyan +color6 #8be9fd +color14 #a4ffff + +# white +color7 #f8f8f2 +color15 #ffffff + +# Cursor colors +cursor #f8f8f2 +cursor_text_color background + +# Tab bar colors +active_tab_foreground #282a36 +active_tab_background #f8f8f2 +inactive_tab_foreground #282a36 +inactive_tab_background #6272a4 + +# Marks +mark1_foreground #282a36 +mark1_background #ff5555 + +# Splits/Windows +active_border_color #f8f8f2 +inactive_border_color #6272a4 diff --git a/home/private_dot_config/kitty/readonly_tokyonight_moon.conf b/home/private_dot_config/kitty/readonly_tokyonight_moon.conf new file mode 100644 index 00000000..4ad511a5 --- /dev/null +++ b/home/private_dot_config/kitty/readonly_tokyonight_moon.conf @@ -0,0 +1,50 @@ +# vim:ft=kitty + +## name: Tokyo Night Moon +## license: MIT +## author: Folke Lemaitre +## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_moon.conf + + +background #222436 +foreground #c8d3f5 +selection_background #3654a7 +selection_foreground #c8d3f5 +url_color #4fd6be +cursor #c8d3f5 +cursor_text_color #222436 + +# Tabs +active_tab_background #82aaff +active_tab_foreground #1e2030 +inactive_tab_background #2f334d +inactive_tab_foreground #545c7e +#tab_bar_background #1b1d2b + +# Windows +active_border_color #82aaff +inactive_border_color #2f334d + +# normal +color0 #1b1d2b +color1 #ff757f +color2 #c3e88d +color3 #ffc777 +color4 #82aaff +color5 #c099ff +color6 #86e1fc +color7 #828bb8 + +# bright +color8 #444a73 +color9 #ff757f +color10 #c3e88d +color11 #ffc777 +color12 #82aaff +color13 #c099ff +color14 #86e1fc +color15 #c8d3f5 + +# extended colors +color16 #ff966c +color17 #c53b53 diff --git a/home/private_dot_config/kitty/readonly_tokyonight_storm.conf b/home/private_dot_config/kitty/readonly_tokyonight_storm.conf new file mode 100644 index 00000000..53c00969 --- /dev/null +++ b/home/private_dot_config/kitty/readonly_tokyonight_storm.conf @@ -0,0 +1,50 @@ +# vim:ft=kitty + +## name: Tokyo Night Storm +## license: MIT +## author: Folke Lemaitre +## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_storm.conf + + +background #24283b +foreground #c0caf5 +selection_background #364a82 +selection_foreground #c0caf5 +url_color #73daca +cursor #c0caf5 +cursor_text_color #24283b + +# Tabs +active_tab_background #7aa2f7 +active_tab_foreground #1f2335 +inactive_tab_background #292e42 +inactive_tab_foreground #545c7e +#tab_bar_background #1d202f + +# Windows +active_border_color #7aa2f7 +inactive_border_color #292e42 + +# normal +color0 #1d202f +color1 #f7768e +color2 #9ece6a +color3 #e0af68 +color4 #7aa2f7 +color5 #bb9af7 +color6 #7dcfff +color7 #a9b1d6 + +# bright +color8 #414868 +color9 #f7768e +color10 #9ece6a +color11 #e0af68 +color12 #7aa2f7 +color13 #bb9af7 +color14 #7dcfff +color15 #c0caf5 + +# extended colors +color16 #ff9e64 +color17 #db4b4b diff --git a/home/private_dot_config/private_fish/config.fish b/home/private_dot_config/private_fish/config.fish index a41941e7..f4cf28d3 100644 --- a/home/private_dot_config/private_fish/config.fish +++ b/home/private_dot_config/private_fish/config.fish @@ -1,8 +1,20 @@ +# Only execute this file once per shell. +set -q __fish_home_manager_config_sourced; and exit +set -g __fish_home_manager_config_sourced 1 + set -U fish_term24bit 1 +# if status is-login; and begin +# Login shell initialisation +# end + if status is-interactive # Commands to run in interactive sessions can go here + set -g fish_greeting "" + # XXX: to be checked + # thefuck --alias | source + # Use bat as pager set -gx PAGER bat # https://unix.stackexchange.com/questions/343168/can-i-prevent-service-foo-status-from-paging-its-output-through-less @@ -137,4 +149,10 @@ if status is-interactive set -xg LS_COLORS (vivid generate dracula) [ -e $HOME/.fish.env ]; and source $HOME/.fish.env + + if test "$TERM" != dumb + starship init fish | source + end + zoxide init fish | source + direnv hook fish | source end diff --git a/home/private_dot_config/starship.toml b/home/private_dot_config/starship.toml new file mode 100644 index 00000000..cfecb81a --- /dev/null +++ b/home/private_dot_config/starship.toml @@ -0,0 +1,10 @@ +scan_timeout = 10 + +[cmd_duration] +format = " ⏲ $duration($style) " +style = "bold italic #87A752" + +[directory] +fish_style_pwd_dir_length = 1 +read_only = " " +truncation_length = 2 From 3a02a744d0f8f463faaec7389cdc9b324998cfbf Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 15:30:34 +0200 Subject: [PATCH 1878/2080] chezmoi: more fish. --- home/.chezmoidata/packages.yaml | 14 +++++++++----- home/private_dot_config/private_fish/config.fish | 3 ++- home/private_dot_config/starship.toml | 6 +++++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 31df0dff..e4010f7a 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -1,14 +1,14 @@ packages: darwin: brews: - - "git" - - "delta" - - "khal" - - "gnu-sed" - "bitwarden-cli" + - "delta" - "fetch-crl" - - "ldapvi" + - "git" + - "gnu-sed" + - "khal" - "languagetool" + - "ldapvi" casks: - "alfred" - "drawio" @@ -30,9 +30,11 @@ packages: - "fish" - "git" - "git-delta" + - "google-fonts" - "kitty" - "lsd" - "neovim" + - "nerd-fonts" - "python" - "ripgrep-all" - "shfmt" @@ -40,7 +42,9 @@ packages: - "stylua" - "tmux" - "tree" + - "uwrfonts" - "vivid" + - "xsel" - "zoxide" ports: linux: diff --git a/home/private_dot_config/private_fish/config.fish b/home/private_dot_config/private_fish/config.fish index f4cf28d3..ba18caf5 100644 --- a/home/private_dot_config/private_fish/config.fish +++ b/home/private_dot_config/private_fish/config.fish @@ -27,6 +27,7 @@ if status is-interactive # Abbreviations abbr -a :q exit abbr -a g git + abbr -a vim nvim # Aliases alias cat="bat --paging=never" @@ -153,6 +154,6 @@ if status is-interactive if test "$TERM" != dumb starship init fish | source end - zoxide init fish | source + zoxide init --cmd cd fish | source direnv hook fish | source end diff --git a/home/private_dot_config/starship.toml b/home/private_dot_config/starship.toml index cfecb81a..18011bc8 100644 --- a/home/private_dot_config/starship.toml +++ b/home/private_dot_config/starship.toml @@ -1,4 +1,8 @@ -scan_timeout = 10 +# Get editor completions based on the config schema +"$schema" = 'https://starship.rs/config-schema.json' + +scan_timeout = 500 +command_timeout = 3000 [cmd_duration] format = " ⏲ $duration($style) " From 0597746f52db672e50769afc7a134c29cdccdd71 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 15:32:16 +0200 Subject: [PATCH 1879/2080] Add tmux --- home/private_dot_config/tmux/tmux.conf | 116 +++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 home/private_dot_config/tmux/tmux.conf diff --git a/home/private_dot_config/tmux/tmux.conf b/home/private_dot_config/tmux/tmux.conf new file mode 100644 index 00000000..089adbe6 --- /dev/null +++ b/home/private_dot_config/tmux/tmux.conf @@ -0,0 +1,116 @@ +set -g default-terminal "tmux-256color" +set -g base-index 1 +setw -g pane-base-index 1 + +set -g status-keys vi +set -g mode-keys vi + +set -g mouse off +setw -g aggressive-resize on +setw -g clock-mode-style 12 +set -s escape-time 0 +set -g history-limit 2000 + +# Allow nested tmux sessions by making "C-b b" possible for sending a control +# sequence to a nested session +bind-key b send-prefix + +# Use fish as shell +set -g default-command /usr/local/bin/fish +set -g default-shell /usr/local/bin/fish + +# automatically renumber tmux windows +set -g renumber-windows on + +# Disable automatic changes of titles +set -g set-titles on +set-window-option -g automatic-rename on +set-window-option -g allow-rename on + +# status bar at the top of the screen +set-option -g status-position "top" + +# Activity Monitoring +setw -g monitor-activity off +set -g visual-activity off + +# option for terminal colors +set -sa terminal-features ",xterm-kitty:RGB" + +############ Key Bindings ############ + +# reload config file +bind r source-file ~/.config/tmux/tmux.conf \; display "Config Reloaded!" + +# split window and fix path for tmux 1.9 +bind | split-window -h -c "#{pane_current_path}" +bind - split-window -v -c "#{pane_current_path}" + +# synchronize all panes in a window +bind y setw synchronize-panes + +# pane movement shortcuts +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +bind -r C-h select-window -t :- +bind -r C-l select-window -t :+ + +# Resize pane shortcuts +bind -r H resize-pane -L 10 +bind -r J resize-pane -D 10 +bind -r K resize-pane -U 10 +bind -r L resize-pane -R 10 + +# Remap x to avoid confirmation to kill pane +bind-key x kill-pane + +# Move windows +bind-key S-Left swap-window -t -1\; select-window -t -1 +bind-key S-Right swap-window -t +1\; select-window -t +1 + +# Window movement / renumbering like in screen's :number +bind-key m command-prompt -p "move window to:" "swap-window -t '%%'" +bind-key . command-prompt "move-window -r -t '%%'" + +# Send pane next to another one +bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" + +# For yazi +# https://github.com/sxyazi/yazi/wiki/Image-preview-within-tmux +# FIXME: not working with kitty in tmux +set -g allow-passthrough on +# set -ga update-environment TERM +# set -ga update-environment TERM_PROGRAM +set -ga update-environment TERM +set -ga update-environment TERM_PROGRAM + +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' +set -g @plugin 'tmux-plugins/tmux-yank' +set -g @plugin 'tmux-plugins/tmux-pain-control' +# set -g @plugin 'tmux-plugins/tmux-copycat' +set -g @plugin 'tmux-plugins/tmux-prefix-highlight' +set -g @plugin 'tmux-plugins/tmux-logging' +set -g @plugin 'dracula/tmux' + +# tmux plugin dracula +# --------------------- +set -g @dracula-plugins "ssh-session spotify-tui time" +set -g @dracula-show-powerline true +set -g @dracula-show-left-icon 💀 +set -g @dracula-show-left-sep  +set -g @dracula-show-right-sep  +set -g @dracula-show-empty-plugins false +set -g @dracula-time-format "%F %R" +# set -g @dracula-border-contrast true + +# Install tpm if not available +if "test ! -d ~/.tmux/plugins/tpm" \ + "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'" + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' From 76a9069b49bb909112258ccc8a036e95d383b1ae Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 16:31:06 +0200 Subject: [PATCH 1880/2080] chezmoi: kitty, nvim, fish, tmux --- home/.chezmoidata/packages.yaml | 10 +++++++++- home/private_dot_config/kitty/kitty.conf | 2 +- home/private_dot_config/nvim/lua/plugins/coding.lua | 2 +- home/private_dot_config/nvim/lua/plugins/lsp.lua | 2 +- home/private_dot_config/private_fish/config.fish | 5 +++++ home/private_dot_config/tmux/tmux.conf | 2 +- 6 files changed, 18 insertions(+), 5 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index e4010f7a..a00d2569 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -25,17 +25,25 @@ packages: - "bash" - "bat" - "direnv" + - "doggo" + - "duf" - "dust" - "fd-find" - "fish" + - "fzf" - "git" - "git-delta" + - "glances" - "google-fonts" + - "jq" - "kitty" + - "lazygit" - "lsd" + - "mutt" - "neovim" - "nerd-fonts" - "python" + - "ripgrep" - "ripgrep-all" - "shfmt" - "starship" @@ -44,7 +52,7 @@ packages: - "tree" - "uwrfonts" - "vivid" - - "xsel" + - "xsel-conrad" - "zoxide" ports: linux: diff --git a/home/private_dot_config/kitty/kitty.conf b/home/private_dot_config/kitty/kitty.conf index 9284eec5..f51df6fb 100644 --- a/home/private_dot_config/kitty/kitty.conf +++ b/home/private_dot_config/kitty/kitty.conf @@ -7,7 +7,7 @@ active_tab_font_style bold adjust_line_height 140% disable_ligatures cursor font_family JetBrainsMono -font_size 16.0 +font_size 14.0 hide_window_decorations no inactive_tab_font_style normal shell fish --interactive --login diff --git a/home/private_dot_config/nvim/lua/plugins/coding.lua b/home/private_dot_config/nvim/lua/plugins/coding.lua index db2e6504..f1433e77 100644 --- a/home/private_dot_config/nvim/lua/plugins/coding.lua +++ b/home/private_dot_config/nvim/lua/plugins/coding.lua @@ -2,7 +2,7 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/coding.lua return { -- Install support for editing nix files - { "LnL7/vim-nix" }, + -- { "LnL7/vim-nix" }, -- TODO: check if useful and incorporate if needed -- https://github.com/AckslD/nvim-FeMaco.lua diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 78627d46..12906213 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -40,7 +40,7 @@ return { bashls = {}, -- dockerls = {}, -- html = {}, - groovyls = {}, + -- groovyls = {}, -- use LanguageTool via ltex for spell checking -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html -- TODO: have cmp do completion using words from the dictionaries diff --git a/home/private_dot_config/private_fish/config.fish b/home/private_dot_config/private_fish/config.fish index ba18caf5..cb141a59 100644 --- a/home/private_dot_config/private_fish/config.fish +++ b/home/private_dot_config/private_fish/config.fish @@ -30,6 +30,8 @@ if status is-interactive abbr -a vim nvim # Aliases + alias df="duf" + alias du="dust" alias cat="bat --paging=never" alias ls="lsd --group-directories-first" alias lsa="lsd --group-directories-first --almost-all" @@ -156,4 +158,7 @@ if status is-interactive end zoxide init --cmd cd fish | source direnv hook fish | source + # XXX: only valid with fzf >= 0.48.0 + # fzf --fish | source + source /usr/local/share/examples/fzf/shell/key-bindings.fish end diff --git a/home/private_dot_config/tmux/tmux.conf b/home/private_dot_config/tmux/tmux.conf index 089adbe6..3280cd08 100644 --- a/home/private_dot_config/tmux/tmux.conf +++ b/home/private_dot_config/tmux/tmux.conf @@ -101,7 +101,7 @@ set -g @plugin 'dracula/tmux' # --------------------- set -g @dracula-plugins "ssh-session spotify-tui time" set -g @dracula-show-powerline true -set -g @dracula-show-left-icon 💀 +set -g @dracula-show-left-icon 󰚌 set -g @dracula-show-left-sep  set -g @dracula-show-right-sep  set -g @dracula-show-empty-plugins false From f0fceaa700484c58f8f4dd294bbd22165fae0f84 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 16:48:23 +0200 Subject: [PATCH 1881/2080] Move mutt conf to chezmoi --- .muttrc => home/dot_muttrc | 0 {.config => home/private_dot_config}/neomutt/README.md | 0 .../private_dot_config}/neomutt/bgedit-screen-tmux.sh | 0 {.config => home/private_dot_config}/neomutt/bindings | 0 {.config => home/private_dot_config}/neomutt/colors | 0 {.config => home/private_dot_config}/neomutt/colors-custom.muttrc | 0 .../private_dot_config}/neomutt/colors-dracula.muttrc | 0 .../private_dot_config}/neomutt/colors-nord-16.muttrc | 0 {.config => home/private_dot_config}/neomutt/colors-nord.muttrc | 0 {.config => home/private_dot_config}/neomutt/colors-oxubax | 0 .../private_dot_config}/neomutt/colors-solarized-dark-16.muttrc | 0 .../private_dot_config}/neomutt/colors-solarized-dark-256.muttrc | 0 {.config => home/private_dot_config}/neomutt/dracula.muttrc | 0 {.config => home/private_dot_config}/neomutt/dump-ical.py | 0 {.config => home/private_dot_config}/neomutt/forgotten-attachment | 0 {.config => home/private_dot_config}/neomutt/headers | 0 {.config => home/private_dot_config}/neomutt/hooks | 0 {.config => home/private_dot_config}/neomutt/index-color | 0 {.config => home/private_dot_config}/neomutt/iterm.bash | 0 {.config => home/private_dot_config}/neomutt/launch_iterm.sh | 0 {.config => home/private_dot_config}/neomutt/local-date.pl | 0 {.config => home/private_dot_config}/neomutt/mailcap-osx | 0 {.config => home/private_dot_config}/neomutt/maildir | 0 {.config => home/private_dot_config}/neomutt/mime-view | 0 {.config => home/private_dot_config}/neomutt/mime.types | 0 {.config => home/private_dot_config}/neomutt/mu | 0 {.config => home/private_dot_config}/neomutt/mutt-common.rc | 0 {.config => home/private_dot_config}/neomutt/muttrc | 0 {.config => home/private_dot_config}/neomutt/neomuttrc | 0 {.config => home/private_dot_config}/neomutt/notmuch-mutt.rc | 0 {.config => home/private_dot_config}/neomutt/notmuch-neomutt.rc | 0 {.config => home/private_dot_config}/neomutt/profile-imap.perso | 0 {.config => home/private_dot_config}/neomutt/profile-maildir.egi | 0 .../private_dot_config}/neomutt/profile-maildir.perso | 0 {.config => home/private_dot_config}/neomutt/profile-notmuch.egi | 0 {.config => home/private_dot_config}/neomutt/profile.gnubila | 0 {.config => home/private_dot_config}/neomutt/profile.gwarf | 0 {.config => home/private_dot_config}/neomutt/profile.healthgrid | 0 {.config => home/private_dot_config}/neomutt/profile.maat | 0 {.config => home/private_dot_config}/neomutt/profile.perso | 0 {.config => home/private_dot_config}/neomutt/progress-color | 0 {.config => home/private_dot_config}/neomutt/show_certs.sh | 0 {.config => home/private_dot_config}/neomutt/sidebar | 0 {.config => home/private_dot_config}/neomutt/signature-egi | 0 {.config => home/private_dot_config}/neomutt/signature-gnubila | 0 {.config => home/private_dot_config}/neomutt/signature-healthgrid | 0 {.config => home/private_dot_config}/neomutt/signature-maat | 0 {.config => home/private_dot_config}/neomutt/signature-perso | 0 {.config => home/private_dot_config}/neomutt/sync | 0 {.config => home/private_dot_config}/neomutt/view_attachment | 0 50 files changed, 0 insertions(+), 0 deletions(-) rename .muttrc => home/dot_muttrc (100%) rename {.config => home/private_dot_config}/neomutt/README.md (100%) rename {.config => home/private_dot_config}/neomutt/bgedit-screen-tmux.sh (100%) rename {.config => home/private_dot_config}/neomutt/bindings (100%) rename {.config => home/private_dot_config}/neomutt/colors (100%) rename {.config => home/private_dot_config}/neomutt/colors-custom.muttrc (100%) rename {.config => home/private_dot_config}/neomutt/colors-dracula.muttrc (100%) rename {.config => home/private_dot_config}/neomutt/colors-nord-16.muttrc (100%) rename {.config => home/private_dot_config}/neomutt/colors-nord.muttrc (100%) rename {.config => home/private_dot_config}/neomutt/colors-oxubax (100%) rename {.config => home/private_dot_config}/neomutt/colors-solarized-dark-16.muttrc (100%) rename {.config => home/private_dot_config}/neomutt/colors-solarized-dark-256.muttrc (100%) rename {.config => home/private_dot_config}/neomutt/dracula.muttrc (100%) rename {.config => home/private_dot_config}/neomutt/dump-ical.py (100%) rename {.config => home/private_dot_config}/neomutt/forgotten-attachment (100%) rename {.config => home/private_dot_config}/neomutt/headers (100%) rename {.config => home/private_dot_config}/neomutt/hooks (100%) rename {.config => home/private_dot_config}/neomutt/index-color (100%) rename {.config => home/private_dot_config}/neomutt/iterm.bash (100%) rename {.config => home/private_dot_config}/neomutt/launch_iterm.sh (100%) rename {.config => home/private_dot_config}/neomutt/local-date.pl (100%) rename {.config => home/private_dot_config}/neomutt/mailcap-osx (100%) rename {.config => home/private_dot_config}/neomutt/maildir (100%) rename {.config => home/private_dot_config}/neomutt/mime-view (100%) rename {.config => home/private_dot_config}/neomutt/mime.types (100%) rename {.config => home/private_dot_config}/neomutt/mu (100%) rename {.config => home/private_dot_config}/neomutt/mutt-common.rc (100%) rename {.config => home/private_dot_config}/neomutt/muttrc (100%) rename {.config => home/private_dot_config}/neomutt/neomuttrc (100%) rename {.config => home/private_dot_config}/neomutt/notmuch-mutt.rc (100%) rename {.config => home/private_dot_config}/neomutt/notmuch-neomutt.rc (100%) rename {.config => home/private_dot_config}/neomutt/profile-imap.perso (100%) rename {.config => home/private_dot_config}/neomutt/profile-maildir.egi (100%) rename {.config => home/private_dot_config}/neomutt/profile-maildir.perso (100%) rename {.config => home/private_dot_config}/neomutt/profile-notmuch.egi (100%) rename {.config => home/private_dot_config}/neomutt/profile.gnubila (100%) rename {.config => home/private_dot_config}/neomutt/profile.gwarf (100%) rename {.config => home/private_dot_config}/neomutt/profile.healthgrid (100%) rename {.config => home/private_dot_config}/neomutt/profile.maat (100%) rename {.config => home/private_dot_config}/neomutt/profile.perso (100%) rename {.config => home/private_dot_config}/neomutt/progress-color (100%) rename {.config => home/private_dot_config}/neomutt/show_certs.sh (100%) rename {.config => home/private_dot_config}/neomutt/sidebar (100%) rename {.config => home/private_dot_config}/neomutt/signature-egi (100%) rename {.config => home/private_dot_config}/neomutt/signature-gnubila (100%) rename {.config => home/private_dot_config}/neomutt/signature-healthgrid (100%) rename {.config => home/private_dot_config}/neomutt/signature-maat (100%) rename {.config => home/private_dot_config}/neomutt/signature-perso (100%) rename {.config => home/private_dot_config}/neomutt/sync (100%) rename {.config => home/private_dot_config}/neomutt/view_attachment (100%) diff --git a/.muttrc b/home/dot_muttrc similarity index 100% rename from .muttrc rename to home/dot_muttrc diff --git a/.config/neomutt/README.md b/home/private_dot_config/neomutt/README.md similarity index 100% rename from .config/neomutt/README.md rename to home/private_dot_config/neomutt/README.md diff --git a/.config/neomutt/bgedit-screen-tmux.sh b/home/private_dot_config/neomutt/bgedit-screen-tmux.sh similarity index 100% rename from .config/neomutt/bgedit-screen-tmux.sh rename to home/private_dot_config/neomutt/bgedit-screen-tmux.sh diff --git a/.config/neomutt/bindings b/home/private_dot_config/neomutt/bindings similarity index 100% rename from .config/neomutt/bindings rename to home/private_dot_config/neomutt/bindings diff --git a/.config/neomutt/colors b/home/private_dot_config/neomutt/colors similarity index 100% rename from .config/neomutt/colors rename to home/private_dot_config/neomutt/colors diff --git a/.config/neomutt/colors-custom.muttrc b/home/private_dot_config/neomutt/colors-custom.muttrc similarity index 100% rename from .config/neomutt/colors-custom.muttrc rename to home/private_dot_config/neomutt/colors-custom.muttrc diff --git a/.config/neomutt/colors-dracula.muttrc b/home/private_dot_config/neomutt/colors-dracula.muttrc similarity index 100% rename from .config/neomutt/colors-dracula.muttrc rename to home/private_dot_config/neomutt/colors-dracula.muttrc diff --git a/.config/neomutt/colors-nord-16.muttrc b/home/private_dot_config/neomutt/colors-nord-16.muttrc similarity index 100% rename from .config/neomutt/colors-nord-16.muttrc rename to home/private_dot_config/neomutt/colors-nord-16.muttrc diff --git a/.config/neomutt/colors-nord.muttrc b/home/private_dot_config/neomutt/colors-nord.muttrc similarity index 100% rename from .config/neomutt/colors-nord.muttrc rename to home/private_dot_config/neomutt/colors-nord.muttrc diff --git a/.config/neomutt/colors-oxubax b/home/private_dot_config/neomutt/colors-oxubax similarity index 100% rename from .config/neomutt/colors-oxubax rename to home/private_dot_config/neomutt/colors-oxubax diff --git a/.config/neomutt/colors-solarized-dark-16.muttrc b/home/private_dot_config/neomutt/colors-solarized-dark-16.muttrc similarity index 100% rename from .config/neomutt/colors-solarized-dark-16.muttrc rename to home/private_dot_config/neomutt/colors-solarized-dark-16.muttrc diff --git a/.config/neomutt/colors-solarized-dark-256.muttrc b/home/private_dot_config/neomutt/colors-solarized-dark-256.muttrc similarity index 100% rename from .config/neomutt/colors-solarized-dark-256.muttrc rename to home/private_dot_config/neomutt/colors-solarized-dark-256.muttrc diff --git a/.config/neomutt/dracula.muttrc b/home/private_dot_config/neomutt/dracula.muttrc similarity index 100% rename from .config/neomutt/dracula.muttrc rename to home/private_dot_config/neomutt/dracula.muttrc diff --git a/.config/neomutt/dump-ical.py b/home/private_dot_config/neomutt/dump-ical.py similarity index 100% rename from .config/neomutt/dump-ical.py rename to home/private_dot_config/neomutt/dump-ical.py diff --git a/.config/neomutt/forgotten-attachment b/home/private_dot_config/neomutt/forgotten-attachment similarity index 100% rename from .config/neomutt/forgotten-attachment rename to home/private_dot_config/neomutt/forgotten-attachment diff --git a/.config/neomutt/headers b/home/private_dot_config/neomutt/headers similarity index 100% rename from .config/neomutt/headers rename to home/private_dot_config/neomutt/headers diff --git a/.config/neomutt/hooks b/home/private_dot_config/neomutt/hooks similarity index 100% rename from .config/neomutt/hooks rename to home/private_dot_config/neomutt/hooks diff --git a/.config/neomutt/index-color b/home/private_dot_config/neomutt/index-color similarity index 100% rename from .config/neomutt/index-color rename to home/private_dot_config/neomutt/index-color diff --git a/.config/neomutt/iterm.bash b/home/private_dot_config/neomutt/iterm.bash similarity index 100% rename from .config/neomutt/iterm.bash rename to home/private_dot_config/neomutt/iterm.bash diff --git a/.config/neomutt/launch_iterm.sh b/home/private_dot_config/neomutt/launch_iterm.sh similarity index 100% rename from .config/neomutt/launch_iterm.sh rename to home/private_dot_config/neomutt/launch_iterm.sh diff --git a/.config/neomutt/local-date.pl b/home/private_dot_config/neomutt/local-date.pl similarity index 100% rename from .config/neomutt/local-date.pl rename to home/private_dot_config/neomutt/local-date.pl diff --git a/.config/neomutt/mailcap-osx b/home/private_dot_config/neomutt/mailcap-osx similarity index 100% rename from .config/neomutt/mailcap-osx rename to home/private_dot_config/neomutt/mailcap-osx diff --git a/.config/neomutt/maildir b/home/private_dot_config/neomutt/maildir similarity index 100% rename from .config/neomutt/maildir rename to home/private_dot_config/neomutt/maildir diff --git a/.config/neomutt/mime-view b/home/private_dot_config/neomutt/mime-view similarity index 100% rename from .config/neomutt/mime-view rename to home/private_dot_config/neomutt/mime-view diff --git a/.config/neomutt/mime.types b/home/private_dot_config/neomutt/mime.types similarity index 100% rename from .config/neomutt/mime.types rename to home/private_dot_config/neomutt/mime.types diff --git a/.config/neomutt/mu b/home/private_dot_config/neomutt/mu similarity index 100% rename from .config/neomutt/mu rename to home/private_dot_config/neomutt/mu diff --git a/.config/neomutt/mutt-common.rc b/home/private_dot_config/neomutt/mutt-common.rc similarity index 100% rename from .config/neomutt/mutt-common.rc rename to home/private_dot_config/neomutt/mutt-common.rc diff --git a/.config/neomutt/muttrc b/home/private_dot_config/neomutt/muttrc similarity index 100% rename from .config/neomutt/muttrc rename to home/private_dot_config/neomutt/muttrc diff --git a/.config/neomutt/neomuttrc b/home/private_dot_config/neomutt/neomuttrc similarity index 100% rename from .config/neomutt/neomuttrc rename to home/private_dot_config/neomutt/neomuttrc diff --git a/.config/neomutt/notmuch-mutt.rc b/home/private_dot_config/neomutt/notmuch-mutt.rc similarity index 100% rename from .config/neomutt/notmuch-mutt.rc rename to home/private_dot_config/neomutt/notmuch-mutt.rc diff --git a/.config/neomutt/notmuch-neomutt.rc b/home/private_dot_config/neomutt/notmuch-neomutt.rc similarity index 100% rename from .config/neomutt/notmuch-neomutt.rc rename to home/private_dot_config/neomutt/notmuch-neomutt.rc diff --git a/.config/neomutt/profile-imap.perso b/home/private_dot_config/neomutt/profile-imap.perso similarity index 100% rename from .config/neomutt/profile-imap.perso rename to home/private_dot_config/neomutt/profile-imap.perso diff --git a/.config/neomutt/profile-maildir.egi b/home/private_dot_config/neomutt/profile-maildir.egi similarity index 100% rename from .config/neomutt/profile-maildir.egi rename to home/private_dot_config/neomutt/profile-maildir.egi diff --git a/.config/neomutt/profile-maildir.perso b/home/private_dot_config/neomutt/profile-maildir.perso similarity index 100% rename from .config/neomutt/profile-maildir.perso rename to home/private_dot_config/neomutt/profile-maildir.perso diff --git a/.config/neomutt/profile-notmuch.egi b/home/private_dot_config/neomutt/profile-notmuch.egi similarity index 100% rename from .config/neomutt/profile-notmuch.egi rename to home/private_dot_config/neomutt/profile-notmuch.egi diff --git a/.config/neomutt/profile.gnubila b/home/private_dot_config/neomutt/profile.gnubila similarity index 100% rename from .config/neomutt/profile.gnubila rename to home/private_dot_config/neomutt/profile.gnubila diff --git a/.config/neomutt/profile.gwarf b/home/private_dot_config/neomutt/profile.gwarf similarity index 100% rename from .config/neomutt/profile.gwarf rename to home/private_dot_config/neomutt/profile.gwarf diff --git a/.config/neomutt/profile.healthgrid b/home/private_dot_config/neomutt/profile.healthgrid similarity index 100% rename from .config/neomutt/profile.healthgrid rename to home/private_dot_config/neomutt/profile.healthgrid diff --git a/.config/neomutt/profile.maat b/home/private_dot_config/neomutt/profile.maat similarity index 100% rename from .config/neomutt/profile.maat rename to home/private_dot_config/neomutt/profile.maat diff --git a/.config/neomutt/profile.perso b/home/private_dot_config/neomutt/profile.perso similarity index 100% rename from .config/neomutt/profile.perso rename to home/private_dot_config/neomutt/profile.perso diff --git a/.config/neomutt/progress-color b/home/private_dot_config/neomutt/progress-color similarity index 100% rename from .config/neomutt/progress-color rename to home/private_dot_config/neomutt/progress-color diff --git a/.config/neomutt/show_certs.sh b/home/private_dot_config/neomutt/show_certs.sh similarity index 100% rename from .config/neomutt/show_certs.sh rename to home/private_dot_config/neomutt/show_certs.sh diff --git a/.config/neomutt/sidebar b/home/private_dot_config/neomutt/sidebar similarity index 100% rename from .config/neomutt/sidebar rename to home/private_dot_config/neomutt/sidebar diff --git a/.config/neomutt/signature-egi b/home/private_dot_config/neomutt/signature-egi similarity index 100% rename from .config/neomutt/signature-egi rename to home/private_dot_config/neomutt/signature-egi diff --git a/.config/neomutt/signature-gnubila b/home/private_dot_config/neomutt/signature-gnubila similarity index 100% rename from .config/neomutt/signature-gnubila rename to home/private_dot_config/neomutt/signature-gnubila diff --git a/.config/neomutt/signature-healthgrid b/home/private_dot_config/neomutt/signature-healthgrid similarity index 100% rename from .config/neomutt/signature-healthgrid rename to home/private_dot_config/neomutt/signature-healthgrid diff --git a/.config/neomutt/signature-maat b/home/private_dot_config/neomutt/signature-maat similarity index 100% rename from .config/neomutt/signature-maat rename to home/private_dot_config/neomutt/signature-maat diff --git a/.config/neomutt/signature-perso b/home/private_dot_config/neomutt/signature-perso similarity index 100% rename from .config/neomutt/signature-perso rename to home/private_dot_config/neomutt/signature-perso diff --git a/.config/neomutt/sync b/home/private_dot_config/neomutt/sync similarity index 100% rename from .config/neomutt/sync rename to home/private_dot_config/neomutt/sync diff --git a/.config/neomutt/view_attachment b/home/private_dot_config/neomutt/view_attachment similarity index 100% rename from .config/neomutt/view_attachment rename to home/private_dot_config/neomutt/view_attachment From b13d7600eaf9cf91744638de19fc819d86175efe Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Wed, 10 Jul 2024 16:48:58 +0200 Subject: [PATCH 1882/2080] chezmoi: fish and neovim --- .../nvim/lua/plugins/lsp.lua | 20 +++++++++++++++---- .../private_fish/config.fish | 1 + 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 12906213..8e9c915a 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -22,6 +22,7 @@ return { -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md servers = { ansiblels = { + mason = false, root_dir = function(fname) return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) @@ -37,7 +38,9 @@ return { }, }, }, - bashls = {}, + bashls = { + mason = false, + }, -- dockerls = {}, -- html = {}, -- groovyls = {}, @@ -45,6 +48,7 @@ return { -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html -- TODO: have cmp do completion using words from the dictionaries ltex = { + mason = false, filetypes = { "bib", "gitcommit", @@ -78,6 +82,7 @@ return { }, }, lua_ls = { + mason = false, single_file_support = true, settings = { Lua = { @@ -140,7 +145,9 @@ return { }, }, }, - marksman = {}, + marksman = { + mason = false, + }, -- Do not install nil_ls with Mason nil_ls = { mason = false, @@ -152,12 +159,17 @@ return { -- }, -- }, }, - pyright = {}, - texlab = {}, + pyright = { + mason = false, + }, + texlab = { + mason = false, + }, -- XXX: disabled as it's to beinstalled manually -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp -- textlsp = {}, yamlls = { + mason = false, -- https://github.com/redhat-developer/yaml-language-server settings = { yaml = { diff --git a/home/private_dot_config/private_fish/config.fish b/home/private_dot_config/private_fish/config.fish index cb141a59..f500a1d4 100644 --- a/home/private_dot_config/private_fish/config.fish +++ b/home/private_dot_config/private_fish/config.fish @@ -28,6 +28,7 @@ if status is-interactive abbr -a :q exit abbr -a g git abbr -a vim nvim + abbr -a ch chezmoi # Aliases alias df="duf" From 66160d790665c3879daafcc8fc0a116b338a1e87 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 00:16:06 +0200 Subject: [PATCH 1883/2080] chezmoi: Nvim, tmux, packages --- home/.chezmoidata/packages.yaml | 3 +++ home/dot_gitconfig | 2 ++ home/private_dot_config/nvim/lua/plugins/lsp.lua | 2 ++ home/private_dot_config/tmux/tmux.conf | 3 ++- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index a00d2569..78198559 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -35,14 +35,17 @@ packages: - "git-delta" - "glances" - "google-fonts" + - "isync" - "jq" - "kitty" - "lazygit" - "lsd" - "mutt" - "neovim" + - "neomutt" - "nerd-fonts" - "python" + - "portlint" - "ripgrep" - "ripgrep-all" - "shfmt" diff --git a/home/dot_gitconfig b/home/dot_gitconfig index 3e1a5f03..2858a014 100644 --- a/home/dot_gitconfig +++ b/home/dot_gitconfig @@ -146,3 +146,5 @@ line-numbers = true navigate = true # use n and N to move between diff sections theme = Dracula +[safe] + directory = /usr/ports diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 8e9c915a..c89240a1 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -6,6 +6,8 @@ return { dependencies = { "neovim/nvim-lspconfig" }, }, + -- XXX: stop trying to install pacakges + { "williamboman/mason.nvim", enabled = false }, -- add various LSP to lspconfig { "neovim/nvim-lspconfig", diff --git a/home/private_dot_config/tmux/tmux.conf b/home/private_dot_config/tmux/tmux.conf index 3280cd08..9dfeeae3 100644 --- a/home/private_dot_config/tmux/tmux.conf +++ b/home/private_dot_config/tmux/tmux.conf @@ -101,7 +101,8 @@ set -g @plugin 'dracula/tmux' # --------------------- set -g @dracula-plugins "ssh-session spotify-tui time" set -g @dracula-show-powerline true -set -g @dracula-show-left-icon 󰚌 +set -g @dracula-show-left-icon 💀 +# set -g @dracula-show-left-icon 󰚌 set -g @dracula-show-left-sep  set -g @dracula-show-right-sep  set -g @dracula-show-empty-plugins false From d2da40089be869ed1c7f2c169b72ccbf3b6b15ab Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 00:18:35 +0200 Subject: [PATCH 1884/2080] chezmoi: mbsync --- home/readonly_dot_mbsyncrc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 home/readonly_dot_mbsyncrc diff --git a/home/readonly_dot_mbsyncrc b/home/readonly_dot_mbsyncrc new file mode 100644 index 00000000..47f0fb21 --- /dev/null +++ b/home/readonly_dot_mbsyncrc @@ -0,0 +1,23 @@ +IMAPAccount baptiste +# CertificateFile /etc/ssl/certs/ca-certificates.crt +Host mail.bapt.name +PassCmd "rbw get /mail/baptiste@bapt.name" +SSLType STARTTLS +User baptiste@bapt.name + +IMAPStore baptiste-remote +Account baptiste + +MaildirStore baptiste-local +Path ~/Mail/Perso/ +Inbox ~/Mail/Perso/Inbox +SubFolders Verbatim + +Channel baptiste +Create Both +Expunge Both +Far :baptiste-remote: +Near :baptiste-local: +Patterns * +Remove None +SyncState * From f94684dc19f23bf22a46a39b958a4d49002f7d0c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 00:16:37 +0200 Subject: [PATCH 1885/2080] Delete unused file --- .vim | 1 - 1 file changed, 1 deletion(-) delete mode 120000 .vim diff --git a/.vim b/.vim deleted file mode 120000 index 35dbcb15..00000000 --- a/.vim +++ /dev/null @@ -1 +0,0 @@ -.config/nvim \ No newline at end of file From d56bb91c9106a76c705bd1503ddaee4bf9cec96e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 00:17:07 +0200 Subject: [PATCH 1886/2080] Import rbw FreeBSD port --- ports/security/rbw/Makefile | 310 ++++++++++++++++++ ports/security/rbw/distinfo | 591 +++++++++++++++++++++++++++++++++++ ports/security/rbw/pkg-descr | 9 + ports/security/rbw/pkg-plist | 2 + 4 files changed, 912 insertions(+) create mode 100644 ports/security/rbw/Makefile create mode 100644 ports/security/rbw/distinfo create mode 100644 ports/security/rbw/pkg-descr create mode 100644 ports/security/rbw/pkg-plist diff --git a/ports/security/rbw/Makefile b/ports/security/rbw/Makefile new file mode 100644 index 00000000..e258e874 --- /dev/null +++ b/ports/security/rbw/Makefile @@ -0,0 +1,310 @@ +PORTNAME= rbw +DISTVERSION= 1.11.1 +CATEGORIES= security + +MAINTAINER= baptiste@bapt.name +COMMENT= Unofficial Bitwarden cli +WWW= https://github.com/doy/rbw + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= cargo +USE_GITHUB= yes +GH_ACCOUNT= doy +CARGO_CRATES= addr2line-0.22.0 \ + adler-1.0.2 \ + aes-0.8.4 \ + aho-corasick-1.1.3 \ + anstream-0.6.14 \ + anstyle-1.0.7 \ + anstyle-parse-0.2.4 \ + anstyle-query-1.1.0 \ + anstyle-wincon-3.0.3 \ + anyhow-1.0.86 \ + argon2-0.5.3 \ + arrayvec-0.7.4 \ + async-trait-0.1.80 \ + autocfg-1.3.0 \ + axum-0.7.5 \ + axum-core-0.4.3 \ + backtrace-0.3.73 \ + base32-0.5.0 \ + base64-0.22.1 \ + base64ct-1.6.0 \ + bitflags-1.3.2 \ + bitflags-2.6.0 \ + blake2-0.10.6 \ + block-0.1.6 \ + block-buffer-0.10.4 \ + block-padding-0.3.3 \ + bumpalo-3.16.0 \ + byteorder-1.5.0 \ + bytes-1.6.0 \ + calloop-0.12.4 \ + calloop-wayland-source-0.2.0 \ + cbc-0.1.2 \ + cc-1.0.101 \ + cfg-if-1.0.0 \ + cipher-0.4.4 \ + clap-4.5.7 \ + clap_builder-4.5.7 \ + clap_complete-4.5.6 \ + clap_derive-4.5.5 \ + clap_lex-0.7.1 \ + clipboard-win-3.1.1 \ + colorchoice-1.0.1 \ + concurrent-queue-2.5.0 \ + const-oid-0.9.6 \ + copypasta-0.10.1 \ + core-foundation-0.9.4 \ + core-foundation-sys-0.8.6 \ + cpufeatures-0.2.12 \ + crossbeam-utils-0.8.20 \ + crypto-common-0.1.6 \ + cursor-icon-1.1.0 \ + daemonize-0.5.0 \ + data-encoding-2.6.0 \ + der-0.7.9 \ + digest-0.10.7 \ + directories-5.0.0 \ + dirs-sys-0.4.0 \ + dlib-0.5.2 \ + downcast-rs-1.2.1 \ + env_filter-0.1.0 \ + env_logger-0.11.3 \ + errno-0.3.9 \ + fastrand-2.1.0 \ + fnv-1.0.7 \ + form_urlencoded-1.2.1 \ + futures-0.3.30 \ + futures-channel-0.3.30 \ + futures-core-0.3.30 \ + futures-executor-0.3.30 \ + futures-io-0.3.30 \ + futures-macro-0.3.30 \ + futures-sink-0.3.30 \ + futures-task-0.3.30 \ + futures-util-0.3.30 \ + generic-array-0.14.7 \ + gethostname-0.4.3 \ + getrandom-0.2.15 \ + gimli-0.29.0 \ + heck-0.5.0 \ + hermit-abi-0.3.9 \ + hermit-abi-0.4.0 \ + hkdf-0.12.4 \ + hmac-0.12.1 \ + http-1.1.0 \ + http-body-1.0.0 \ + http-body-util-0.1.2 \ + httparse-1.9.4 \ + httpdate-1.0.3 \ + humantime-2.1.0 \ + hyper-1.3.1 \ + hyper-rustls-0.27.2 \ + hyper-util-0.1.5 \ + idna-0.5.0 \ + inout-0.1.3 \ + ipnet-2.9.0 \ + is-docker-0.2.0 \ + is-terminal-0.4.12 \ + is-wsl-0.4.0 \ + is_terminal_polyfill-1.70.0 \ + itoa-1.0.11 \ + js-sys-0.3.69 \ + lazy-bytes-cast-5.0.1 \ + lazy_static-1.5.0 \ + libc-0.2.155 \ + libloading-0.8.4 \ + libm-0.2.8 \ + libredox-0.1.3 \ + linux-raw-sys-0.4.14 \ + lock_api-0.4.12 \ + log-0.4.21 \ + mach2-0.4.2 \ + malloc_buf-0.0.6 \ + matchit-0.7.3 \ + memchr-2.7.4 \ + memmap2-0.9.4 \ + mime-0.3.17 \ + miniz_oxide-0.7.4 \ + mio-0.8.11 \ + num-bigint-dig-0.8.4 \ + num-integer-0.1.46 \ + num-iter-0.1.45 \ + num-traits-0.2.19 \ + num_cpus-1.16.0 \ + objc-0.2.7 \ + objc-foundation-0.1.1 \ + objc_id-0.1.1 \ + object-0.36.0 \ + once_cell-1.19.0 \ + open-5.1.4 \ + openssl-probe-0.1.5 \ + parking_lot-0.12.3 \ + parking_lot_core-0.9.10 \ + password-hash-0.5.0 \ + paste-1.0.15 \ + pathdiff-0.2.1 \ + pbkdf2-0.12.2 \ + pem-rfc7468-0.7.0 \ + percent-encoding-2.3.1 \ + pin-project-1.1.5 \ + pin-project-internal-1.1.5 \ + pin-project-lite-0.2.14 \ + pin-utils-0.1.0 \ + pkcs1-0.7.5 \ + pkcs8-0.10.2 \ + pkg-config-0.3.30 \ + polling-3.7.2 \ + ppv-lite86-0.2.17 \ + proc-macro2-1.0.86 \ + quick-xml-0.31.0 \ + quinn-0.11.2 \ + quinn-proto-0.11.3 \ + quinn-udp-0.5.2 \ + quote-1.0.36 \ + rand-0.8.5 \ + rand_chacha-0.3.1 \ + rand_core-0.6.4 \ + redox_syscall-0.5.2 \ + redox_users-0.4.5 \ + regex-1.10.5 \ + regex-automata-0.4.7 \ + regex-syntax-0.8.4 \ + region-3.0.2 \ + reqwest-0.12.5 \ + ring-0.17.8 \ + rmp-0.8.14 \ + rmpv-1.3.0 \ + rsa-0.9.6 \ + rustc-demangle-0.1.24 \ + rustc-hash-1.1.0 \ + rustix-0.38.34 \ + rustls-0.23.10 \ + rustls-native-certs-0.7.0 \ + rustls-pemfile-2.1.2 \ + rustls-pki-types-1.7.0 \ + rustls-webpki-0.102.4 \ + rustversion-1.0.17 \ + ryu-1.0.18 \ + schannel-0.1.23 \ + scoped-tls-1.0.1 \ + scopeguard-1.2.0 \ + security-framework-2.11.0 \ + security-framework-sys-2.11.0 \ + serde-1.0.203 \ + serde_derive-1.0.203 \ + serde_json-1.0.118 \ + serde_path_to_error-0.1.16 \ + serde_repr-0.1.19 \ + serde_urlencoded-0.7.1 \ + sha1-0.10.6 \ + sha2-0.10.8 \ + signal-hook-registry-1.4.2 \ + signature-2.2.0 \ + slab-0.4.9 \ + smallvec-1.13.2 \ + smawk-0.3.2 \ + smithay-client-toolkit-0.18.1 \ + smithay-clipboard-0.7.1 \ + socket2-0.5.7 \ + spin-0.9.8 \ + spki-0.7.3 \ + strsim-0.11.1 \ + subtle-2.6.1 \ + syn-2.0.68 \ + sync_wrapper-0.1.2 \ + sync_wrapper-1.0.1 \ + tempfile-3.10.1 \ + terminal_size-0.3.0 \ + textwrap-0.16.1 \ + thiserror-1.0.61 \ + thiserror-impl-1.0.61 \ + tinyvec-1.6.1 \ + tinyvec_macros-0.1.1 \ + tokio-1.38.0 \ + tokio-macros-2.3.0 \ + tokio-rustls-0.26.0 \ + tokio-stream-0.1.15 \ + tokio-tungstenite-0.23.1 \ + totp-lite-2.0.1 \ + tower-0.4.13 \ + tower-layer-0.3.2 \ + tower-service-0.3.2 \ + tracing-0.1.40 \ + tracing-attributes-0.1.27 \ + tracing-core-0.1.32 \ + try-lock-0.2.5 \ + tungstenite-0.23.0 \ + typenum-1.17.0 \ + unicode-bidi-0.3.15 \ + unicode-ident-1.0.12 \ + unicode-linebreak-0.1.5 \ + unicode-normalization-0.1.23 \ + unicode-width-0.1.13 \ + untrusted-0.9.0 \ + url-2.5.2 \ + urlencoding-2.1.3 \ + utf-8-0.7.6 \ + utf8parse-0.2.2 \ + uuid-1.9.1 \ + version_check-0.9.4 \ + want-0.3.1 \ + wasi-0.11.0+wasi-snapshot-preview1 \ + wasm-bindgen-0.2.92 \ + wasm-bindgen-backend-0.2.92 \ + wasm-bindgen-futures-0.4.42 \ + wasm-bindgen-macro-0.2.92 \ + wasm-bindgen-macro-support-0.2.92 \ + wasm-bindgen-shared-0.2.92 \ + wayland-backend-0.3.4 \ + wayland-client-0.31.3 \ + wayland-csd-frame-0.3.0 \ + wayland-cursor-0.31.3 \ + wayland-protocols-0.31.2 \ + wayland-protocols-wlr-0.2.0 \ + wayland-scanner-0.31.2 \ + wayland-sys-0.31.2 \ + web-sys-0.3.69 \ + winapi-0.3.9 \ + winapi-i686-pc-windows-gnu-0.4.0 \ + winapi-x86_64-pc-windows-gnu-0.4.0 \ + windows-sys-0.45.0 \ + windows-sys-0.48.0 \ + windows-sys-0.52.0 \ + windows-targets-0.42.2 \ + windows-targets-0.48.5 \ + windows-targets-0.52.5 \ + windows_aarch64_gnullvm-0.42.2 \ + windows_aarch64_gnullvm-0.48.5 \ + windows_aarch64_gnullvm-0.52.5 \ + windows_aarch64_msvc-0.42.2 \ + windows_aarch64_msvc-0.48.5 \ + windows_aarch64_msvc-0.52.5 \ + windows_i686_gnu-0.42.2 \ + windows_i686_gnu-0.48.5 \ + windows_i686_gnu-0.52.5 \ + windows_i686_gnullvm-0.52.5 \ + windows_i686_msvc-0.42.2 \ + windows_i686_msvc-0.48.5 \ + windows_i686_msvc-0.52.5 \ + windows_x86_64_gnu-0.42.2 \ + windows_x86_64_gnu-0.48.5 \ + windows_x86_64_gnu-0.52.5 \ + windows_x86_64_gnullvm-0.42.2 \ + windows_x86_64_gnullvm-0.48.5 \ + windows_x86_64_gnullvm-0.52.5 \ + windows_x86_64_msvc-0.42.2 \ + windows_x86_64_msvc-0.48.5 \ + windows_x86_64_msvc-0.52.5 \ + winreg-0.52.0 \ + x11-clipboard-0.9.2 \ + x11rb-0.13.1 \ + x11rb-protocol-0.13.1 \ + xcursor-0.3.5 \ + xkeysym-0.2.1 \ + zeroize-1.8.1 + +.include <bsd.port.mk> diff --git a/ports/security/rbw/distinfo b/ports/security/rbw/distinfo new file mode 100644 index 00000000..2640314f --- /dev/null +++ b/ports/security/rbw/distinfo @@ -0,0 +1,591 @@ +TIMESTAMP = 1720645439 +SHA256 (rust/crates/addr2line-0.22.0.crate) = 6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678 +SIZE (rust/crates/addr2line-0.22.0.crate) = 39156 +SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe +SIZE (rust/crates/adler-1.0.2.crate) = 12778 +SHA256 (rust/crates/aes-0.8.4.crate) = b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0 +SIZE (rust/crates/aes-0.8.4.crate) = 124812 +SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 +SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311 +SHA256 (rust/crates/anstream-0.6.14.crate) = 418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b +SIZE (rust/crates/anstream-0.6.14.crate) = 29160 +SHA256 (rust/crates/anstyle-1.0.7.crate) = 038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b +SIZE (rust/crates/anstyle-1.0.7.crate) = 15709 +SHA256 (rust/crates/anstyle-parse-0.2.4.crate) = c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4 +SIZE (rust/crates/anstyle-parse-0.2.4.crate) = 23069 +SHA256 (rust/crates/anstyle-query-1.1.0.crate) = ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391 +SIZE (rust/crates/anstyle-query-1.1.0.crate) = 9832 +SHA256 (rust/crates/anstyle-wincon-3.0.3.crate) = 61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19 +SIZE (rust/crates/anstyle-wincon-3.0.3.crate) = 12179 +SHA256 (rust/crates/anyhow-1.0.86.crate) = b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da +SIZE (rust/crates/anyhow-1.0.86.crate) = 46741 +SHA256 (rust/crates/argon2-0.5.3.crate) = 3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072 +SIZE (rust/crates/argon2-0.5.3.crate) = 28795 +SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711 +SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856 +SHA256 (rust/crates/async-trait-0.1.80.crate) = c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca +SIZE (rust/crates/async-trait-0.1.80.crate) = 28775 +SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 +SIZE (rust/crates/autocfg-1.3.0.crate) = 16524 +SHA256 (rust/crates/axum-0.7.5.crate) = 3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf +SIZE (rust/crates/axum-0.7.5.crate) = 151429 +SHA256 (rust/crates/axum-core-0.4.3.crate) = a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3 +SIZE (rust/crates/axum-core-0.4.3.crate) = 21877 +SHA256 (rust/crates/backtrace-0.3.73.crate) = 5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a +SIZE (rust/crates/backtrace-0.3.73.crate) = 87617 +SHA256 (rust/crates/base32-0.5.0.crate) = d1ce0365f4d5fb6646220bb52fe547afd51796d90f914d4063cb0b032ebee088 +SIZE (rust/crates/base32-0.5.0.crate) = 9114 +SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6 +SIZE (rust/crates/base64-0.22.1.crate) = 81597 +SHA256 (rust/crates/base64ct-1.6.0.crate) = 8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b +SIZE (rust/crates/base64ct-1.6.0.crate) = 28870 +SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a +SIZE (rust/crates/bitflags-1.3.2.crate) = 23021 +SHA256 (rust/crates/bitflags-2.6.0.crate) = b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de +SIZE (rust/crates/bitflags-2.6.0.crate) = 45357 +SHA256 (rust/crates/blake2-0.10.6.crate) = 46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe +SIZE (rust/crates/blake2-0.10.6.crate) = 47234 +SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a +SIZE (rust/crates/block-0.1.6.crate) = 4077 +SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71 +SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538 +SHA256 (rust/crates/block-padding-0.3.3.crate) = a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93 +SIZE (rust/crates/block-padding-0.3.3.crate) = 8504 +SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c +SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677 +SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b +SIZE (rust/crates/byteorder-1.5.0.crate) = 23288 +SHA256 (rust/crates/bytes-1.6.0.crate) = 514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9 +SIZE (rust/crates/bytes-1.6.0.crate) = 60605 +SHA256 (rust/crates/calloop-0.12.4.crate) = fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298 +SIZE (rust/crates/calloop-0.12.4.crate) = 69583 +SHA256 (rust/crates/calloop-wayland-source-0.2.0.crate) = 0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02 +SIZE (rust/crates/calloop-wayland-source-0.2.0.crate) = 11304 +SHA256 (rust/crates/cbc-0.1.2.crate) = 26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6 +SIZE (rust/crates/cbc-0.1.2.crate) = 23501 +SHA256 (rust/crates/cc-1.0.101.crate) = ac367972e516d45567c7eafc73d24e1c193dcf200a8d94e9db7b3d38b349572d +SIZE (rust/crates/cc-1.0.101.crate) = 79446 +SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd +SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 +SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad +SIZE (rust/crates/cipher-0.4.4.crate) = 19073 +SHA256 (rust/crates/clap-4.5.7.crate) = 5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f +SIZE (rust/crates/clap-4.5.7.crate) = 56343 +SHA256 (rust/crates/clap_builder-4.5.7.crate) = f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f +SIZE (rust/crates/clap_builder-4.5.7.crate) = 163957 +SHA256 (rust/crates/clap_complete-4.5.6.crate) = fbca90c87c2a04da41e95d1856e8bcd22f159bdbfa147314d2ce5218057b0e58 +SIZE (rust/crates/clap_complete-4.5.6.crate) = 38775 +SHA256 (rust/crates/clap_derive-4.5.5.crate) = c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6 +SIZE (rust/crates/clap_derive-4.5.5.crate) = 30017 +SHA256 (rust/crates/clap_lex-0.7.1.crate) = 4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70 +SIZE (rust/crates/clap_lex-0.7.1.crate) = 12766 +SHA256 (rust/crates/clipboard-win-3.1.1.crate) = 9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342 +SIZE (rust/crates/clipboard-win-3.1.1.crate) = 11964 +SHA256 (rust/crates/colorchoice-1.0.1.crate) = 0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422 +SIZE (rust/crates/colorchoice-1.0.1.crate) = 7895 +SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973 +SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654 +SHA256 (rust/crates/const-oid-0.9.6.crate) = c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8 +SIZE (rust/crates/const-oid-0.9.6.crate) = 45382 +SHA256 (rust/crates/copypasta-0.10.1.crate) = deb85422867ca93da58b7f95fb5c0c10f6183ed6e1ef8841568968a896d3a858 +SIZE (rust/crates/copypasta-0.10.1.crate) = 15053 +SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f +SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743 +SHA256 (rust/crates/core-foundation-sys-0.8.6.crate) = 06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f +SIZE (rust/crates/core-foundation-sys-0.8.6.crate) = 37629 +SHA256 (rust/crates/cpufeatures-0.2.12.crate) = 53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504 +SIZE (rust/crates/cpufeatures-0.2.12.crate) = 12837 +SHA256 (rust/crates/crossbeam-utils-0.8.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80 +SIZE (rust/crates/crossbeam-utils-0.8.20.crate) = 42487 +SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3 +SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760 +SHA256 (rust/crates/cursor-icon-1.1.0.crate) = 96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991 +SIZE (rust/crates/cursor-icon-1.1.0.crate) = 11453 +SHA256 (rust/crates/daemonize-0.5.0.crate) = ab8bfdaacb3c887a54d41bdf48d3af8873b3f5566469f8ba21b92057509f116e +SIZE (rust/crates/daemonize-0.5.0.crate) = 7125 +SHA256 (rust/crates/data-encoding-2.6.0.crate) = e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2 +SIZE (rust/crates/data-encoding-2.6.0.crate) = 20769 +SHA256 (rust/crates/der-0.7.9.crate) = f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0 +SIZE (rust/crates/der-0.7.9.crate) = 85173 +SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292 +SIZE (rust/crates/digest-0.10.7.crate) = 19557 +SHA256 (rust/crates/directories-5.0.0.crate) = 74be3be809c18e089de43bdc504652bb2bc473fca8756131f8689db8cf079ba9 +SIZE (rust/crates/directories-5.0.0.crate) = 16391 +SHA256 (rust/crates/dirs-sys-0.4.0.crate) = 04414300db88f70d74c5ff54e50f9e1d1737d9a5b90f53fcf2e95ca2a9ab554b +SIZE (rust/crates/dirs-sys-0.4.0.crate) = 10509 +SHA256 (rust/crates/dlib-0.5.2.crate) = 330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412 +SIZE (rust/crates/dlib-0.5.2.crate) = 5806 +SHA256 (rust/crates/downcast-rs-1.2.1.crate) = 75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2 +SIZE (rust/crates/downcast-rs-1.2.1.crate) = 11821 +SHA256 (rust/crates/env_filter-0.1.0.crate) = a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea +SIZE (rust/crates/env_filter-0.1.0.crate) = 11553 +SHA256 (rust/crates/env_logger-0.11.3.crate) = 38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9 +SIZE (rust/crates/env_logger-0.11.3.crate) = 29704 +SHA256 (rust/crates/errno-0.3.9.crate) = 534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba +SIZE (rust/crates/errno-0.3.9.crate) = 10690 +SHA256 (rust/crates/fastrand-2.1.0.crate) = 9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a +SIZE (rust/crates/fastrand-2.1.0.crate) = 14907 +SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1 +SIZE (rust/crates/fnv-1.0.7.crate) = 11266 +SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456 +SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969 +SHA256 (rust/crates/futures-0.3.30.crate) = 645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0 +SIZE (rust/crates/futures-0.3.30.crate) = 53828 +SHA256 (rust/crates/futures-channel-0.3.30.crate) = eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78 +SIZE (rust/crates/futures-channel-0.3.30.crate) = 31736 +SHA256 (rust/crates/futures-core-0.3.30.crate) = dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d +SIZE (rust/crates/futures-core-0.3.30.crate) = 14071 +SHA256 (rust/crates/futures-executor-0.3.30.crate) = a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d +SIZE (rust/crates/futures-executor-0.3.30.crate) = 17744 +SHA256 (rust/crates/futures-io-0.3.30.crate) = a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1 +SIZE (rust/crates/futures-io-0.3.30.crate) = 8910 +SHA256 (rust/crates/futures-macro-0.3.30.crate) = 87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac +SIZE (rust/crates/futures-macro-0.3.30.crate) = 11278 +SHA256 (rust/crates/futures-sink-0.3.30.crate) = 9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5 +SIZE (rust/crates/futures-sink-0.3.30.crate) = 7852 +SHA256 (rust/crates/futures-task-0.3.30.crate) = 38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004 +SIZE (rust/crates/futures-task-0.3.30.crate) = 11126 +SHA256 (rust/crates/futures-util-0.3.30.crate) = 3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48 +SIZE (rust/crates/futures-util-0.3.30.crate) = 159977 +SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a +SIZE (rust/crates/generic-array-0.14.7.crate) = 15950 +SHA256 (rust/crates/gethostname-0.4.3.crate) = 0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818 +SIZE (rust/crates/gethostname-0.4.3.crate) = 9336 +SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7 +SIZE (rust/crates/getrandom-0.2.15.crate) = 37163 +SHA256 (rust/crates/gimli-0.29.0.crate) = 40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd +SIZE (rust/crates/gimli-0.29.0.crate) = 275756 +SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea +SIZE (rust/crates/heck-0.5.0.crate) = 11517 +SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024 +SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165 +SHA256 (rust/crates/hermit-abi-0.4.0.crate) = fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc +SIZE (rust/crates/hermit-abi-0.4.0.crate) = 16310 +SHA256 (rust/crates/hkdf-0.12.4.crate) = 7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7 +SIZE (rust/crates/hkdf-0.12.4.crate) = 171163 +SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e +SIZE (rust/crates/hmac-0.12.1.crate) = 42657 +SHA256 (rust/crates/http-1.1.0.crate) = 21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258 +SIZE (rust/crates/http-1.1.0.crate) = 103144 +SHA256 (rust/crates/http-body-1.0.0.crate) = 1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643 +SIZE (rust/crates/http-body-1.0.0.crate) = 5411 +SHA256 (rust/crates/http-body-util-0.1.2.crate) = 793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f +SIZE (rust/crates/http-body-util-0.1.2.crate) = 12821 +SHA256 (rust/crates/httparse-1.9.4.crate) = 0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9 +SIZE (rust/crates/httparse-1.9.4.crate) = 38555 +SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9 +SIZE (rust/crates/httpdate-1.0.3.crate) = 10639 +SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4 +SIZE (rust/crates/humantime-2.1.0.crate) = 16749 +SHA256 (rust/crates/hyper-1.3.1.crate) = fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d +SIZE (rust/crates/hyper-1.3.1.crate) = 148763 +SHA256 (rust/crates/hyper-rustls-0.27.2.crate) = 5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155 +SIZE (rust/crates/hyper-rustls-0.27.2.crate) = 34421 +SHA256 (rust/crates/hyper-util-0.1.5.crate) = 7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56 +SIZE (rust/crates/hyper-util-0.1.5.crate) = 69740 +SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6 +SIZE (rust/crates/idna-0.5.0.crate) = 271940 +SHA256 (rust/crates/inout-0.1.3.crate) = a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5 +SIZE (rust/crates/inout-0.1.3.crate) = 10743 +SHA256 (rust/crates/ipnet-2.9.0.crate) = 8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3 +SIZE (rust/crates/ipnet-2.9.0.crate) = 27627 +SHA256 (rust/crates/is-docker-0.2.0.crate) = 928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3 +SIZE (rust/crates/is-docker-0.2.0.crate) = 2664 +SHA256 (rust/crates/is-terminal-0.4.12.crate) = f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b +SIZE (rust/crates/is-terminal-0.4.12.crate) = 7470 +SHA256 (rust/crates/is-wsl-0.4.0.crate) = 173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5 +SIZE (rust/crates/is-wsl-0.4.0.crate) = 3264 +SHA256 (rust/crates/is_terminal_polyfill-1.70.0.crate) = f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800 +SIZE (rust/crates/is_terminal_polyfill-1.70.0.crate) = 7451 +SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b +SIZE (rust/crates/itoa-1.0.11.crate) = 10563 +SHA256 (rust/crates/js-sys-0.3.69.crate) = 29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d +SIZE (rust/crates/js-sys-0.3.69.crate) = 81083 +SHA256 (rust/crates/lazy-bytes-cast-5.0.1.crate) = 10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b +SIZE (rust/crates/lazy-bytes-cast-5.0.1.crate) = 4354 +SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe +SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025 +SHA256 (rust/crates/libc-0.2.155.crate) = 97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c +SIZE (rust/crates/libc-0.2.155.crate) = 743539 +SHA256 (rust/crates/libloading-0.8.4.crate) = e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d +SIZE (rust/crates/libloading-0.8.4.crate) = 28636 +SHA256 (rust/crates/libm-0.2.8.crate) = 4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058 +SIZE (rust/crates/libm-0.2.8.crate) = 113450 +SHA256 (rust/crates/libredox-0.1.3.crate) = c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d +SIZE (rust/crates/libredox-0.1.3.crate) = 6068 +SHA256 (rust/crates/linux-raw-sys-0.4.14.crate) = 78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89 +SIZE (rust/crates/linux-raw-sys-0.4.14.crate) = 1826665 +SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17 +SIZE (rust/crates/lock_api-0.4.12.crate) = 27591 +SHA256 (rust/crates/log-0.4.21.crate) = 90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c +SIZE (rust/crates/log-0.4.21.crate) = 43442 +SHA256 (rust/crates/mach2-0.4.2.crate) = 19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709 +SIZE (rust/crates/mach2-0.4.2.crate) = 21889 +SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb +SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239 +SHA256 (rust/crates/matchit-0.7.3.crate) = 0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94 +SIZE (rust/crates/matchit-0.7.3.crate) = 30372 +SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3 +SIZE (rust/crates/memchr-2.7.4.crate) = 96670 +SHA256 (rust/crates/memmap2-0.9.4.crate) = fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322 +SIZE (rust/crates/memmap2-0.9.4.crate) = 32752 +SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a +SIZE (rust/crates/mime-0.3.17.crate) = 15712 +SHA256 (rust/crates/miniz_oxide-0.7.4.crate) = b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08 +SIZE (rust/crates/miniz_oxide-0.7.4.crate) = 56119 +SHA256 (rust/crates/mio-0.8.11.crate) = a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c +SIZE (rust/crates/mio-0.8.11.crate) = 102983 +SHA256 (rust/crates/num-bigint-dig-0.8.4.crate) = dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151 +SIZE (rust/crates/num-bigint-dig-0.8.4.crate) = 123825 +SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f +SIZE (rust/crates/num-integer-0.1.46.crate) = 22331 +SHA256 (rust/crates/num-iter-0.1.45.crate) = 1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf +SIZE (rust/crates/num-iter-0.1.45.crate) = 10320 +SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 +SIZE (rust/crates/num-traits-0.2.19.crate) = 51631 +SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43 +SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713 +SHA256 (rust/crates/objc-0.2.7.crate) = 915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1 +SIZE (rust/crates/objc-0.2.7.crate) = 22036 +SHA256 (rust/crates/objc-foundation-0.1.1.crate) = 1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9 +SIZE (rust/crates/objc-foundation-0.1.1.crate) = 9063 +SHA256 (rust/crates/objc_id-0.1.1.crate) = c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b +SIZE (rust/crates/objc_id-0.1.1.crate) = 3258 +SHA256 (rust/crates/object-0.36.0.crate) = 576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434 +SIZE (rust/crates/object-0.36.0.crate) = 321771 +SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 +SIZE (rust/crates/once_cell-1.19.0.crate) = 33046 +SHA256 (rust/crates/open-5.1.4.crate) = b5ca541f22b1c46d4bb9801014f234758ab4297e7870b904b6a8415b980a7388 +SIZE (rust/crates/open-5.1.4.crate) = 24379 +SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf +SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227 +SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27 +SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860 +SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8 +SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406 +SHA256 (rust/crates/password-hash-0.5.0.crate) = 346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166 +SIZE (rust/crates/password-hash-0.5.0.crate) = 26884 +SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a +SIZE (rust/crates/paste-1.0.15.crate) = 18374 +SHA256 (rust/crates/pathdiff-0.2.1.crate) = 8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd +SIZE (rust/crates/pathdiff-0.2.1.crate) = 7142 +SHA256 (rust/crates/pbkdf2-0.12.2.crate) = f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2 +SIZE (rust/crates/pbkdf2-0.12.2.crate) = 13906 +SHA256 (rust/crates/pem-rfc7468-0.7.0.crate) = 88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412 +SIZE (rust/crates/pem-rfc7468-0.7.0.crate) = 24159 +SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e +SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235 +SHA256 (rust/crates/pin-project-1.1.5.crate) = b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3 +SIZE (rust/crates/pin-project-1.1.5.crate) = 54214 +SHA256 (rust/crates/pin-project-internal-1.1.5.crate) = 2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965 +SIZE (rust/crates/pin-project-internal-1.1.5.crate) = 28280 +SHA256 (rust/crates/pin-project-lite-0.2.14.crate) = bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02 +SIZE (rust/crates/pin-project-lite-0.2.14.crate) = 28817 +SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184 +SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580 +SHA256 (rust/crates/pkcs1-0.7.5.crate) = c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f +SIZE (rust/crates/pkcs1-0.7.5.crate) = 35790 +SHA256 (rust/crates/pkcs8-0.10.2.crate) = f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7 +SIZE (rust/crates/pkcs8-0.10.2.crate) = 26360 +SHA256 (rust/crates/pkg-config-0.3.30.crate) = d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec +SIZE (rust/crates/pkg-config-0.3.30.crate) = 20613 +SHA256 (rust/crates/polling-3.7.2.crate) = a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b +SIZE (rust/crates/polling-3.7.2.crate) = 57988 +SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de +SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242 +SHA256 (rust/crates/proc-macro2-1.0.86.crate) = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 +SIZE (rust/crates/proc-macro2-1.0.86.crate) = 48958 +SHA256 (rust/crates/quick-xml-0.31.0.crate) = 1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33 +SIZE (rust/crates/quick-xml-0.31.0.crate) = 172236 +SHA256 (rust/crates/quinn-0.11.2.crate) = e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad +SIZE (rust/crates/quinn-0.11.2.crate) = 73920 +SHA256 (rust/crates/quinn-proto-0.11.3.crate) = ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe +SIZE (rust/crates/quinn-proto-0.11.3.crate) = 202348 +SHA256 (rust/crates/quinn-udp-0.5.2.crate) = 9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46 +SIZE (rust/crates/quinn-udp-0.5.2.crate) = 21918 +SHA256 (rust/crates/quote-1.0.36.crate) = 0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7 +SIZE (rust/crates/quote-1.0.36.crate) = 28507 +SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 +SIZE (rust/crates/rand-0.8.5.crate) = 87113 +SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88 +SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251 +SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c +SIZE (rust/crates/rand_core-0.6.4.crate) = 22666 +SHA256 (rust/crates/redox_syscall-0.5.2.crate) = c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd +SIZE (rust/crates/redox_syscall-0.5.2.crate) = 23957 +SHA256 (rust/crates/redox_users-0.4.5.crate) = bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891 +SIZE (rust/crates/redox_users-0.4.5.crate) = 15514 +SHA256 (rust/crates/regex-1.10.5.crate) = b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f +SIZE (rust/crates/regex-1.10.5.crate) = 253805 +SHA256 (rust/crates/regex-automata-0.4.7.crate) = 38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df +SIZE (rust/crates/regex-automata-0.4.7.crate) = 617582 +SHA256 (rust/crates/regex-syntax-0.8.4.crate) = 7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b +SIZE (rust/crates/regex-syntax-0.8.4.crate) = 347577 +SHA256 (rust/crates/region-3.0.2.crate) = e6b6ebd13bc009aef9cd476c1310d49ac354d36e240cf1bd753290f3dc7199a7 +SIZE (rust/crates/region-3.0.2.crate) = 22388 +SHA256 (rust/crates/reqwest-0.12.5.crate) = c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37 +SIZE (rust/crates/reqwest-0.12.5.crate) = 177108 +SHA256 (rust/crates/ring-0.17.8.crate) = c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d +SIZE (rust/crates/ring-0.17.8.crate) = 4188554 +SHA256 (rust/crates/rmp-0.8.14.crate) = 228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4 +SIZE (rust/crates/rmp-0.8.14.crate) = 29687 +SHA256 (rust/crates/rmpv-1.3.0.crate) = 58450723cd9ee93273ce44a20b6ec4efe17f8ed2e3631474387bfdecf18bb2a9 +SIZE (rust/crates/rmpv-1.3.0.crate) = 28514 +SHA256 (rust/crates/rsa-0.9.6.crate) = 5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc +SIZE (rust/crates/rsa-0.9.6.crate) = 80048 +SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f +SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047 +SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2 +SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331 +SHA256 (rust/crates/rustix-0.38.34.crate) = 70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f +SIZE (rust/crates/rustix-0.38.34.crate) = 365160 +SHA256 (rust/crates/rustls-0.23.10.crate) = 05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402 +SIZE (rust/crates/rustls-0.23.10.crate) = 424689 +SHA256 (rust/crates/rustls-native-certs-0.7.0.crate) = 8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792 +SIZE (rust/crates/rustls-native-certs-0.7.0.crate) = 25071 +SHA256 (rust/crates/rustls-pemfile-2.1.2.crate) = 29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d +SIZE (rust/crates/rustls-pemfile-2.1.2.crate) = 25928 +SHA256 (rust/crates/rustls-pki-types-1.7.0.crate) = 976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d +SIZE (rust/crates/rustls-pki-types-1.7.0.crate) = 29555 +SHA256 (rust/crates/rustls-webpki-0.102.4.crate) = ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e +SIZE (rust/crates/rustls-webpki-0.102.4.crate) = 200657 +SHA256 (rust/crates/rustversion-1.0.17.crate) = 955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6 +SIZE (rust/crates/rustversion-1.0.17.crate) = 17621 +SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f +SIZE (rust/crates/ryu-1.0.18.crate) = 47713 +SHA256 (rust/crates/schannel-0.1.23.crate) = fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534 +SIZE (rust/crates/schannel-0.1.23.crate) = 41667 +SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294 +SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202 +SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 +SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619 +SHA256 (rust/crates/security-framework-2.11.0.crate) = c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0 +SIZE (rust/crates/security-framework-2.11.0.crate) = 80191 +SHA256 (rust/crates/security-framework-sys-2.11.0.crate) = 317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7 +SIZE (rust/crates/security-framework-sys-2.11.0.crate) = 18718 +SHA256 (rust/crates/serde-1.0.203.crate) = 7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094 +SIZE (rust/crates/serde-1.0.203.crate) = 77935 +SHA256 (rust/crates/serde_derive-1.0.203.crate) = 500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba +SIZE (rust/crates/serde_derive-1.0.203.crate) = 55867 +SHA256 (rust/crates/serde_json-1.0.118.crate) = d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4 +SIZE (rust/crates/serde_json-1.0.118.crate) = 146962 +SHA256 (rust/crates/serde_path_to_error-0.1.16.crate) = af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6 +SIZE (rust/crates/serde_path_to_error-0.1.16.crate) = 16657 +SHA256 (rust/crates/serde_repr-0.1.19.crate) = 6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9 +SIZE (rust/crates/serde_repr-0.1.19.crate) = 9997 +SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd +SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822 +SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba +SIZE (rust/crates/sha1-0.10.6.crate) = 13517 +SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8 +SIZE (rust/crates/sha2-0.10.8.crate) = 26357 +SHA256 (rust/crates/signal-hook-registry-1.4.2.crate) = a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1 +SIZE (rust/crates/signal-hook-registry-1.4.2.crate) = 18064 +SHA256 (rust/crates/signature-2.2.0.crate) = 77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de +SIZE (rust/crates/signature-2.2.0.crate) = 15531 +SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67 +SIZE (rust/crates/slab-0.4.9.crate) = 17108 +SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67 +SIZE (rust/crates/smallvec-1.13.2.crate) = 35216 +SHA256 (rust/crates/smawk-0.3.2.crate) = b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c +SIZE (rust/crates/smawk-0.3.2.crate) = 13831 +SHA256 (rust/crates/smithay-client-toolkit-0.18.1.crate) = 922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a +SIZE (rust/crates/smithay-client-toolkit-0.18.1.crate) = 129920 +SHA256 (rust/crates/smithay-clipboard-0.7.1.crate) = c091e7354ea8059d6ad99eace06dd13ddeedbb0ac72d40a9a6e7ff790525882d +SIZE (rust/crates/smithay-clipboard-0.7.1.crate) = 18456 +SHA256 (rust/crates/socket2-0.5.7.crate) = ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c +SIZE (rust/crates/socket2-0.5.7.crate) = 55758 +SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67 +SIZE (rust/crates/spin-0.9.8.crate) = 38958 +SHA256 (rust/crates/spki-0.7.3.crate) = d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d +SIZE (rust/crates/spki-0.7.3.crate) = 16409 +SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f +SIZE (rust/crates/strsim-0.11.1.crate) = 14266 +SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292 +SIZE (rust/crates/subtle-2.6.1.crate) = 14562 +SHA256 (rust/crates/syn-2.0.68.crate) = 901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9 +SIZE (rust/crates/syn-2.0.68.crate) = 265035 +SHA256 (rust/crates/sync_wrapper-0.1.2.crate) = 2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160 +SIZE (rust/crates/sync_wrapper-0.1.2.crate) = 6933 +SHA256 (rust/crates/sync_wrapper-1.0.1.crate) = a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394 +SIZE (rust/crates/sync_wrapper-1.0.1.crate) = 6939 +SHA256 (rust/crates/tempfile-3.10.1.crate) = 85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1 +SIZE (rust/crates/tempfile-3.10.1.crate) = 33653 +SHA256 (rust/crates/terminal_size-0.3.0.crate) = 21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7 +SIZE (rust/crates/terminal_size-0.3.0.crate) = 10096 +SHA256 (rust/crates/textwrap-0.16.1.crate) = 23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9 +SIZE (rust/crates/textwrap-0.16.1.crate) = 56012 +SHA256 (rust/crates/thiserror-1.0.61.crate) = c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709 +SIZE (rust/crates/thiserror-1.0.61.crate) = 21264 +SHA256 (rust/crates/thiserror-impl-1.0.61.crate) = 46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533 +SIZE (rust/crates/thiserror-impl-1.0.61.crate) = 15786 +SHA256 (rust/crates/tinyvec-1.6.1.crate) = c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82 +SIZE (rust/crates/tinyvec-1.6.1.crate) = 46657 +SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 +SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865 +SHA256 (rust/crates/tokio-1.38.0.crate) = ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a +SIZE (rust/crates/tokio-1.38.0.crate) = 774094 +SHA256 (rust/crates/tokio-macros-2.3.0.crate) = 5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a +SIZE (rust/crates/tokio-macros-2.3.0.crate) = 11753 +SHA256 (rust/crates/tokio-rustls-0.26.0.crate) = 0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4 +SIZE (rust/crates/tokio-rustls-0.26.0.crate) = 34253 +SHA256 (rust/crates/tokio-stream-0.1.15.crate) = 267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af +SIZE (rust/crates/tokio-stream-0.1.15.crate) = 36284 +SHA256 (rust/crates/tokio-tungstenite-0.23.1.crate) = c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd +SIZE (rust/crates/tokio-tungstenite-0.23.1.crate) = 28371 +SHA256 (rust/crates/totp-lite-2.0.1.crate) = f8e43134db17199f7f721803383ac5854edd0d3d523cc34dba321d6acfbe76c3 +SIZE (rust/crates/totp-lite-2.0.1.crate) = 8561 +SHA256 (rust/crates/tower-0.4.13.crate) = b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c +SIZE (rust/crates/tower-0.4.13.crate) = 106906 +SHA256 (rust/crates/tower-layer-0.3.2.crate) = c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0 +SIZE (rust/crates/tower-layer-0.3.2.crate) = 6023 +SHA256 (rust/crates/tower-service-0.3.2.crate) = b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52 +SIZE (rust/crates/tower-service-0.3.2.crate) = 6847 +SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef +SIZE (rust/crates/tracing-0.1.40.crate) = 79459 +SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7 +SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241 +SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54 +SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221 +SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b +SIZE (rust/crates/try-lock-0.2.5.crate) = 4314 +SHA256 (rust/crates/tungstenite-0.23.0.crate) = 6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8 +SIZE (rust/crates/tungstenite-0.23.0.crate) = 61196 +SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825 +SIZE (rust/crates/typenum-1.17.0.crate) = 42849 +SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75 +SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811 +SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b +SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168 +SHA256 (rust/crates/unicode-linebreak-0.1.5.crate) = 3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f +SIZE (rust/crates/unicode-linebreak-0.1.5.crate) = 15324 +SHA256 (rust/crates/unicode-normalization-0.1.23.crate) = a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5 +SIZE (rust/crates/unicode-normalization-0.1.23.crate) = 122649 +SHA256 (rust/crates/unicode-width-0.1.13.crate) = 0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d +SIZE (rust/crates/unicode-width-0.1.13.crate) = 457228 +SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1 +SIZE (rust/crates/untrusted-0.9.0.crate) = 14447 +SHA256 (rust/crates/url-2.5.2.crate) = 22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c +SIZE (rust/crates/url-2.5.2.crate) = 79704 +SHA256 (rust/crates/urlencoding-2.1.3.crate) = daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da +SIZE (rust/crates/urlencoding-2.1.3.crate) = 6538 +SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9 +SIZE (rust/crates/utf-8-0.7.6.crate) = 10422 +SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821 +SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499 +SHA256 (rust/crates/uuid-1.9.1.crate) = 5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439 +SIZE (rust/crates/uuid-1.9.1.crate) = 47492 +SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f +SIZE (rust/crates/version_check-0.9.4.crate) = 14895 +SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e +SIZE (rust/crates/want-0.3.1.crate) = 6398 +SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423 +SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131 +SHA256 (rust/crates/wasm-bindgen-0.2.92.crate) = 4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8 +SIZE (rust/crates/wasm-bindgen-0.2.92.crate) = 184119 +SHA256 (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da +SIZE (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 28348 +SHA256 (rust/crates/wasm-bindgen-futures-0.4.42.crate) = 76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0 +SIZE (rust/crates/wasm-bindgen-futures-0.4.42.crate) = 15380 +SHA256 (rust/crates/wasm-bindgen-macro-0.2.92.crate) = a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726 +SIZE (rust/crates/wasm-bindgen-macro-0.2.92.crate) = 13835 +SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7 +SIZE (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = 20092 +SHA256 (rust/crates/wasm-bindgen-shared-0.2.92.crate) = af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96 +SIZE (rust/crates/wasm-bindgen-shared-0.2.92.crate) = 7263 +SHA256 (rust/crates/wayland-backend-0.3.4.crate) = 34e9e6b6d4a2bb4e7e69433e0b35c7923b95d4dc8503a84d25ec917a4bbfdf07 +SIZE (rust/crates/wayland-backend-0.3.4.crate) = 70797 +SHA256 (rust/crates/wayland-client-0.31.3.crate) = 1e63801c85358a431f986cffa74ba9599ff571fc5774ac113ed3b490c19a1133 +SIZE (rust/crates/wayland-client-0.31.3.crate) = 63081 +SHA256 (rust/crates/wayland-csd-frame-0.3.0.crate) = 625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e +SIZE (rust/crates/wayland-csd-frame-0.3.0.crate) = 5696 +SHA256 (rust/crates/wayland-cursor-0.31.3.crate) = a206e8b2b53b1d3fcb9428fec72bc278ce539e2fa81fe2bfc1ab27703d5187b9 +SIZE (rust/crates/wayland-cursor-0.31.3.crate) = 7520 +SHA256 (rust/crates/wayland-protocols-0.31.2.crate) = 8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4 +SIZE (rust/crates/wayland-protocols-0.31.2.crate) = 147062 +SHA256 (rust/crates/wayland-protocols-wlr-0.2.0.crate) = ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6 +SIZE (rust/crates/wayland-protocols-wlr-0.2.0.crate) = 25804 +SHA256 (rust/crates/wayland-scanner-0.31.2.crate) = 67da50b9f80159dec0ea4c11c13e24ef9e7574bd6ce24b01860a175010cea565 +SIZE (rust/crates/wayland-scanner-0.31.2.crate) = 35644 +SHA256 (rust/crates/wayland-sys-0.31.2.crate) = 105b1842da6554f91526c14a2a2172897b7f745a805d62af4ce698706be79c12 +SIZE (rust/crates/wayland-sys-0.31.2.crate) = 8571 +SHA256 (rust/crates/web-sys-0.3.69.crate) = 77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef +SIZE (rust/crates/web-sys-0.3.69.crate) = 728877 +SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 +SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 +SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 +SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 +SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f +SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998 +SHA256 (rust/crates/windows-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0 +SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659 +SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9 +SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884 +SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d +SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877 +SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071 +SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492 +SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c +SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904 +SHA256 (rust/crates/windows-targets-0.52.5.crate) = 6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb +SIZE (rust/crates/windows-targets-0.52.5.crate) = 6376 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8 +SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8 +SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263 +SIZE (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 433266 +SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43 +SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981 +SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc +SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483 +SHA256 (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6 +SIZE (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 827944 +SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f +SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236 +SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e +SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891 +SHA256 (rust/crates/windows_i686_gnu-0.52.5.crate) = 88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670 +SIZE (rust/crates/windows_i686_gnu-0.52.5.crate) = 875699 +SHA256 (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9 +SIZE (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 473064 +SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060 +SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951 +SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406 +SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300 +SHA256 (rust/crates/windows_i686_msvc-0.52.5.crate) = db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf +SIZE (rust/crates/windows_i686_msvc-0.52.5.crate) = 895404 +SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36 +SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373 +SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e +SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619 +SHA256 (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9 +SIZE (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 831539 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3 +SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc +SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596 +SIZE (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 433246 +SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0 +SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936 +SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538 +SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412 +SHA256 (rust/crates/windows_x86_64_msvc-0.52.5.crate) = bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0 +SIZE (rust/crates/windows_x86_64_msvc-0.52.5.crate) = 827905 +SHA256 (rust/crates/winreg-0.52.0.crate) = a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5 +SIZE (rust/crates/winreg-0.52.0.crate) = 30148 +SHA256 (rust/crates/x11-clipboard-0.9.2.crate) = b98785a09322d7446e28a13203d2cae1059a0dd3dfb32cb06d0a225f023d8286 +SIZE (rust/crates/x11-clipboard-0.9.2.crate) = 10334 +SHA256 (rust/crates/x11rb-0.13.1.crate) = 5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12 +SIZE (rust/crates/x11rb-0.13.1.crate) = 223916 +SHA256 (rust/crates/x11rb-protocol-0.13.1.crate) = ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d +SIZE (rust/crates/x11rb-protocol-0.13.1.crate) = 508522 +SHA256 (rust/crates/xcursor-0.3.5.crate) = 6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911 +SIZE (rust/crates/xcursor-0.3.5.crate) = 6256 +SHA256 (rust/crates/xkeysym-0.2.1.crate) = b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56 +SIZE (rust/crates/xkeysym-0.2.1.crate) = 103129 +SHA256 (rust/crates/zeroize-1.8.1.crate) = ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde +SIZE (rust/crates/zeroize-1.8.1.crate) = 20029 +SHA256 (doy-rbw-1.11.1_GH0.tar.gz) = 8fa68b1bda014fdcf087640aaae5db100e2f51f800d8fbac37236ef4e374ba74 +SIZE (doy-rbw-1.11.1_GH0.tar.gz) = 109620 diff --git a/ports/security/rbw/pkg-descr b/ports/security/rbw/pkg-descr new file mode 100644 index 00000000..9acbc64b --- /dev/null +++ b/ports/security/rbw/pkg-descr @@ -0,0 +1,9 @@ +This is an unofficial command line client for Bitwarden. Although it does come +with its own command line client, this client is limited by being stateless - +to use it, you're required to manually lock and unlock the client, and pass +the temporary keys around in environment variables, which makes it very +difficult to use. This client avoids this problem by maintaining a background +process which is able to hold the keys in memory, similar to the way that +ssh-agent or gpg-agent work. This allows the client to be used in a much +simpler way, with the background agent taking care of maintaining the +necessary state. diff --git a/ports/security/rbw/pkg-plist b/ports/security/rbw/pkg-plist new file mode 100644 index 00000000..f1bcabe7 --- /dev/null +++ b/ports/security/rbw/pkg-plist @@ -0,0 +1,2 @@ +bin/rbw +bin/rbw-agent From 3fcc21f62716a84df5cf6b736653f5c2992399b5 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 08:52:25 +0200 Subject: [PATCH 1887/2080] chezmoi: make a template of fish config --- home/.chezmoidata/packages.yaml | 2 ++ .../private_fish/{config.fish => config.fish.tmpl} | 2 ++ 2 files changed, 4 insertions(+) rename home/private_dot_config/private_fish/{config.fish => config.fish.tmpl} (99%) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 78198559..8b0e03a7 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -37,9 +37,11 @@ packages: - "google-fonts" - "isync" - "jq" + - "khard" - "kitty" - "lazygit" - "lsd" + - "msmtp" - "mutt" - "neovim" - "neomutt" diff --git a/home/private_dot_config/private_fish/config.fish b/home/private_dot_config/private_fish/config.fish.tmpl similarity index 99% rename from home/private_dot_config/private_fish/config.fish rename to home/private_dot_config/private_fish/config.fish.tmpl index f500a1d4..bf617ef3 100644 --- a/home/private_dot_config/private_fish/config.fish +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -43,9 +43,11 @@ if status is-interactive alias rm="rm -i --preserve-root" alias mv="mv -i" alias cp="cp -i" + {{ if ne .chezmoi.os "freebsd" -}} alias chown="chown --preserve-root" alias chmod="chmod --preserve-root" alias chgrp="chgrp --preserve-root" + {{ end -}} if test (uname) = Darwin # Add path mainly used by brew From 8b163522d74fb71cf884c42a0f3cee5a8db79ccb Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 08:56:33 +0200 Subject: [PATCH 1888/2080] Fix alias on FreeBSD --- home/private_dot_config/private_fish/config.fish.tmpl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index bf617ef3..61f9908e 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -40,14 +40,16 @@ if status is-interactive alias la="lsd --group-directories-first --long --date '+%F %T' --almost-all" alias ld="fd . --type d --max-depth 1 --strip-cwd-prefix --exec-batch lsd --directory-only" alias ..="cd .." - alias rm="rm -i --preserve-root" - alias mv="mv -i" - alias cp="cp -i" {{ if ne .chezmoi.os "freebsd" -}} alias chown="chown --preserve-root" alias chmod="chmod --preserve-root" alias chgrp="chgrp --preserve-root" + alias rm="rm -i --preserve-root" + {{ else -}} + alias rm="rm -i" {{ end -}} + alias mv="mv -i" + alias cp="cp -i" if test (uname) = Darwin # Add path mainly used by brew From e8b3cc742398d3a285744d78877d739bae7f911e Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 09:01:52 +0200 Subject: [PATCH 1889/2080] mutt: switch to default tmpdir --- home/private_dot_config/neomutt/mutt-common.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/neomutt/mutt-common.rc b/home/private_dot_config/neomutt/mutt-common.rc index db390072..e68dcfb4 100644 --- a/home/private_dot_config/neomutt/mutt-common.rc +++ b/home/private_dot_config/neomutt/mutt-common.rc @@ -6,7 +6,7 @@ set header_cache = ~/.mutt/cache/headers set message_cachedir = ~/.mutt/cache/bodies set certificate_file = ~/.mutt/certificates -set tmpdir = '~/tmp' +# set tmpdir = '~/tmp' set editor = 'nvim' set shell = "/bin/zsh" From 800ed392963944ad3da85ab786f796c701823cd8 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 09:02:41 +0200 Subject: [PATCH 1890/2080] fish: new alias for chezmoi --- home/private_dot_config/private_fish/config.fish.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 61f9908e..3e36dd82 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -29,6 +29,7 @@ if status is-interactive abbr -a g git abbr -a vim nvim abbr -a ch chezmoi + abbr -a che chezmoi edit # Aliases alias df="duf" From 77d3d4778b292fd787f449e1f6bcb1321714b3cc Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 09:05:33 +0200 Subject: [PATCH 1891/2080] mutt: use tools from neomutt dir --- home/private_dot_config/neomutt/profile-maildir.perso | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/neomutt/profile-maildir.perso b/home/private_dot_config/neomutt/profile-maildir.perso index 62c26ac1..19a12b00 100644 --- a/home/private_dot_config/neomutt/profile-maildir.perso +++ b/home/private_dot_config/neomutt/profile-maildir.perso @@ -3,7 +3,7 @@ # http://www.mutt.org/doc/manual/#bgedit # XXX only on mutt set background_edit -set editor = '~/bin/bgedit-screen-tmux.sh nvim' +set editor = '~/.config/neomutt/bgedit-screen-tmux.sh nvim' # set editor = "alacritty -e nvim" # set editor = "kitty -e nvim" From 69fbeaeb1069a5ec383f11f0c77ade3b0d142691 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 09:06:25 +0200 Subject: [PATCH 1892/2080] mutt: disable background edit for now --- home/private_dot_config/neomutt/profile-maildir.perso | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/neomutt/profile-maildir.perso b/home/private_dot_config/neomutt/profile-maildir.perso index 19a12b00..a61f970a 100644 --- a/home/private_dot_config/neomutt/profile-maildir.perso +++ b/home/private_dot_config/neomutt/profile-maildir.perso @@ -2,8 +2,8 @@ # http://www.mutt.org/doc/manual/#bgedit # XXX only on mutt -set background_edit -set editor = '~/.config/neomutt/bgedit-screen-tmux.sh nvim' +# set background_edit +# set editor = '~/.config/neomutt/bgedit-screen-tmux.sh nvim' # set editor = "alacritty -e nvim" # set editor = "kitty -e nvim" From b5f64ebd8a13082f287ccdcf23d9c71dbcd4f477 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 09:07:00 +0200 Subject: [PATCH 1893/2080] fish: add cha abbr --- home/private_dot_config/private_fish/config.fish.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 3e36dd82..03302712 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -30,6 +30,7 @@ if status is-interactive abbr -a vim nvim abbr -a ch chezmoi abbr -a che chezmoi edit + abbr -a cha chezmoi apply # Aliases alias df="duf" From 4980bff4de91e1976102a0f3389a6cf1bedd1a73 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 09:30:07 +0200 Subject: [PATCH 1894/2080] fish: add convenient key bindings --- home/private_dot_config/private_fish/config.fish.tmpl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 03302712..a3d9b5d9 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -128,6 +128,8 @@ if status is-interactive # nvim! set EDITOR nvim fish_vi_key_bindings + bind \ca beginning-of-line + bind \ce end-of-line # Set color variables set emphasized_text brcyan # base1 From 2da96807a8147d351c4d57ca420b422720170649 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 09:35:15 +0200 Subject: [PATCH 1895/2080] fish --- home/private_dot_config/private_fish/config.fish.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index a3d9b5d9..aaef063d 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -127,6 +127,7 @@ if status is-interactive # nvim! set EDITOR nvim + # https://fishshell.com/docs/current/interactive.html#vi-mode fish_vi_key_bindings bind \ca beginning-of-line bind \ce end-of-line From cee33673ff1c496b3211745816ee734f7444dd76 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 09:39:50 +0200 Subject: [PATCH 1896/2080] fish <3 vim --- .../private_fish/config.fish.tmpl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index aaef063d..6b818220 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -53,6 +53,13 @@ if status is-interactive alias mv="mv -i" alias cp="cp -i" + # nvim! + set EDITOR nvim + # https://fishshell.com/docs/current/interactive.html#vi-mode + fish_vi_key_bindings + bind --mode insert \ca beginning-of-line + bind --mode insert \ce end-of-line + if test (uname) = Darwin # Add path mainly used by brew fish_add_path /usr/local/bin @@ -125,13 +132,6 @@ if status is-interactive end end - # nvim! - set EDITOR nvim - # https://fishshell.com/docs/current/interactive.html#vi-mode - fish_vi_key_bindings - bind \ca beginning-of-line - bind \ce end-of-line - # Set color variables set emphasized_text brcyan # base1 set normal_text brblue # base0 From 4019971fa9b13915d82f5e1bfa4580cf377783b9 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 09:42:57 +0200 Subject: [PATCH 1897/2080] Install keybase --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 8b0e03a7..b8905641 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -38,6 +38,7 @@ packages: - "isync" - "jq" - "khard" + - "keybase" - "kitty" - "lazygit" - "lsd" From 43d29ccbae01a05ff11ac7020d465316886efffc Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 09:52:56 +0200 Subject: [PATCH 1898/2080] Install more packages --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index b8905641..57220cef 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -38,6 +38,7 @@ packages: - "isync" - "jq" - "khard" + - "kbfsd" - "keybase" - "kitty" - "lazygit" From 4594171fa7f0b7cb6473acec6955a385aab4c22c Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 16:27:00 +0200 Subject: [PATCH 1899/2080] mutt: disable display filter --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 57220cef..7a656143 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -31,6 +31,7 @@ packages: - "fd-find" - "fish" - "fzf" + - "fuse" - "git" - "git-delta" - "glances" From 3e7f5f0aedd0071ea3c0896325dc2cdd48c60424 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 16:27:23 +0200 Subject: [PATCH 1900/2080] Disable dislpay filter --- home/private_dot_config/neomutt/mutt-common.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/neomutt/mutt-common.rc b/home/private_dot_config/neomutt/mutt-common.rc index e68dcfb4..7852a807 100644 --- a/home/private_dot_config/neomutt/mutt-common.rc +++ b/home/private_dot_config/neomutt/mutt-common.rc @@ -156,7 +156,7 @@ source ~/.config/neomutt/mime-view #set display_filter=/home/baptiste/.mutt/mutt_display_filter #set display_filter=/home/baptiste/.mutt/test_display_filter #set display_filter='par 72gqr' -set display_filter="~/.config/neomutt/local-date.pl" +# set display_filter="~/.config/neomutt/local-date.pl" #set wrapmargin=60 # http://www.neomutt.org/feature/new-mail/ From dc253918a244a15593454ace3fbcfba8891972d4 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Thu, 11 Jul 2024 16:33:37 +0200 Subject: [PATCH 1901/2080] Import mailcap --- home/dot_mailcap | 88 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 home/dot_mailcap diff --git a/home/dot_mailcap b/home/dot_mailcap new file mode 100644 index 00000000..e2b26e43 --- /dev/null +++ b/home/dot_mailcap @@ -0,0 +1,88 @@ +# mailcap file for usage with mutt. + +# Try to use xdg-open for everything +# */*; xdg-open "%s" + +application/octet-stream ; echo "what to do:" %s "can be anything" ; copiousoutput +application/ghostview ; pdftotext -layout %s -; xdg-open %s ; copiousoutput +application/pdf ; pdftotext -layout %s -; print=xdg-open %s ; copiousoutput +application/x-pdf ; pdftotext -layout %s -; print=xdg-open %s ; copiousoutput +application/postscript ; pdftotext -layout %s -; print=xdg-open %s ; copiousoutput +application/x-bzip2 ; bzip2 -dc %s ; copiousoutput +application/x-cpio ; cpio -tvF --quiet %s ; copiousoutput +application/x-csh ; cat %s ; copiousoutput +application/x-gtar ; tar tvf %s ; copiousoutput +application/x-gzip ; tar tfvz %s ; copiousoutput +application/x-gzip-postscript ; zcat %s gv ; copiousoutput +application/x-latex ; cat %s ; copiousoutput +application/x-perl ; cat %s ; copiousoutput +application/x-rar-compressed ; rar v %s ; copiousoutput +application/x-script ; cat %s ; copiousoutput +application/x-shar ; cat %s ; copiousoutput +application/x-shellscript ; cat %s ; copiousoutput +application/x-sh ; cat %s ; copiousoutput +application/x-tar ; tar tvvf %s ; copiousoutput +application/x-tar-gz ; tar tfvz %s ; copiousoutput +application/x-tcl ; cat %s ; copiousoutput +pplication/x-tex ; cat %s ; copiousoutput +application/x-troff ; groff -Tlatin1 %s ; copiousoutput +application/x-troff-man ; man -l %s 2>/dev/null ; copiousoutput +application/x-troff-me ; groff -me -Tlatin1 %s ; copiousoutput +application/x-zip-compressed ; unzip -v %s ; copiousoutput +application/zip ; unzip -v %s ; copiousoutput +# View: display event +# Print: add them to calendar +text/calendar ; mutt-ics; print=add_event %s ; copiousoutput +application/ics ; mutt-ics; print=add_event %s ; copiousoutput +# text/calendar ; mutt-ics ; copiousoutput +audio/basic ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +audio/midi ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +audio/mpegurl ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +audio/mpeg ; mutt_bgrun mplayer %s ; copiousoutput +audio/x-midi ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +audio/x-mod ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +audio/x-pn-realaudio-plugin ; realplay %s ; test=test -n "$DISPLAY" > /dev/null +audio/x-pn-realaudio ; realplay %s ; test=test -n "$DISPLAY" > /dev/null +audio/* ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null +#image/* ; mutt_bgrun sxiv -bf %s \; reset +#image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null +image/x-eps ; gv %s ; test=test -n "$DISPLAY" > /dev/null +image/* ; mutt_bgrun sxiv %s ; test=test -n "$DISPLAY" > /dev/null +#image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null +#image/* ; fbi %s ; copiousoutput + +# XXX Disable backgrouds as it seems that html files is deleted too early +# text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chromium-perso %s +text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = firefox %s + +text/x-diff ; cat %s | colordiff ;copiousoutput +text/x-patch ; cat %s | colordiff ;copiousoutput +text/x-compress-html ; zcat %s lynx -dump -force_html ; copiousoutput +text/x-gzip-html ; zcat %s lynx -dump -force_html ; copiousoutput +text/plain ; cat %s ; copiousoutput +text/richtext ; mutt_bgrun abiword %s ; copiousoutput +text/x-vcard ; ~/mutt/mutt.vcard.filter %s ; copiousoutput +text/* ; edit=vim %s ; copiousoutput +video/* ; mutt_bgrun mplayer %s ; copiousoutput +application/pgp-signature ; cat %s ; copiousoutput +#application/excel ; xls2csv %s | column -s, -tn ; copiousoutput +#application/vnd.ms-excel ; xls2csv %s | column -s, -tn ; copiousoutput +application/vnd.ms-excel ; mutt_bgrun localc %s ; test=test -n "$DISPLAY" > /dev/null +application/vnd.oasis.opendocument.spreadsheet ; mutt_bgrun scalc %s ; test=test -n "$DISPLAY" > /dev/null +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; mutt_bgrun localc %s ; test=test -n "$DISPLAY" > /dev/null +application/msword ; mutt_bgrun lowriter %s ; test=bash -c "export | egrep '^DISPLAY='" > /dev/null +application/wps-office.docx ; mutt_bgrun lowriter %s ; test=bash -c "export | egrep '^DISPLAY='" > /dev/null +application/vnd.openxmlformats-officedocument.wordprocessingml.document ; mutt_bgrun lowriter %s ; test=bash -c "export | egrep '^DISPLAY='" > /dev/null +application/vnd.openxmlformats-officedocument.wordprocessingml.documen ; mutt_bgrun lowriter %s ; test=bash -c "export | egrep '^DISPLAY='" > /dev/null +application/msword ; antiword %s ; copiousoutput +application/x-msword ; antiword %s ; copiousoutput +#application/vnd.oasis.opendocument.text ; odt2txt %s ; copiousoutput +application/vnd.oasis.opendocument.text ; mutt_bgrun lowriter %s ; copiousoutput +application/vnd.ms-powerpoint ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null +application/vnd.oasis.opendocument.presentation ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null +application/vnd.openxmlformats-officedocument.presentationml.slideshow ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null +application/vnd.openxmlformats-officedocument.presentationml.presentation ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null +application/x-pkcs7-signature;openssl pkcs7 -in %s -inform der -noout -print_certs -text | less; needsterminal +application/pkcs7-signature;openssl pkcs7 -in %s -inform der -noout -print_certs -text | less; needsterminal + +# vim: set nowrap: From c22a7abfcba615f16400de4f6ccb8b0659f7e947 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jul 2024 15:18:19 +0200 Subject: [PATCH 1902/2080] LazyVim: bump lock files --- home/private_dot_config/nvim/lazy-lock.json | 3 ++- home/private_dot_config/nvim/lazyvim.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/nvim/lazy-lock.json b/home/private_dot_config/nvim/lazy-lock.json index 217ad811..77b437c9 100644 --- a/home/private_dot_config/nvim/lazy-lock.json +++ b/home/private_dot_config/nvim/lazy-lock.json @@ -31,7 +31,8 @@ "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, + "markdown.nvim": { "branch": "main", "commit": "35f8bd24809e21219c66e2a58f1b9f5d547cc2c3" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "ba9c2f0b93deb48d0a99ae0e8d8dd36f7cc286d6" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "4ba55f9755ebe8297d92c419b90a946123292ae6" }, "mason.nvim": { "branch": "main", "commit": "f96a31855fa8aea55599cea412fe611b85a874ed" }, "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, diff --git a/home/private_dot_config/nvim/lazyvim.json b/home/private_dot_config/nvim/lazyvim.json index 338ba412..83b4200e 100644 --- a/home/private_dot_config/nvim/lazyvim.json +++ b/home/private_dot_config/nvim/lazyvim.json @@ -26,7 +26,7 @@ "lazyvim.plugins.extras.util.project" ], "news": { - "NEWS.md": "6077" + "NEWS.md": "6520" }, "version": 6 } \ No newline at end of file From 2989b2229c8ff6273282cad5366589e1b67ef6ca Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jul 2024 15:39:51 +0200 Subject: [PATCH 1903/2080] chezmoi: merge updates from Darwin --- home/dot_gitconfig | 6 ++- home/dot_gitconfig.user | 11 ++++- home/private_dot_config/neomutt/README.md | 7 +-- home/private_dot_config/neomutt/bindings | 20 ++++---- .../neomutt/colors-custom.muttrc | 14 ++---- home/private_dot_config/neomutt/headers | 13 +++-- home/private_dot_config/neomutt/local-date.pl | 18 ++++--- .../private_dot_config/neomutt/mutt-common.rc | 4 ++ .../neomutt/profile-maildir.egi | 49 +++++++++++++++++-- home/private_dot_config/neomutt/signature-egi | 6 +-- home/private_dot_config/neomutt/sync | 10 ++-- 11 files changed, 111 insertions(+), 47 deletions(-) diff --git a/home/dot_gitconfig b/home/dot_gitconfig index 2858a014..7ae182a3 100644 --- a/home/dot_gitconfig +++ b/home/dot_gitconfig @@ -143,8 +143,12 @@ # https://dandavison.github.io/delta/configuration.html [delta] - line-numbers = true navigate = true # use n and N to move between diff sections theme = Dracula + line-numbers = true [safe] directory = /usr/ports +[status] + submoduleSummary = true +[diff] + submodule = log diff --git a/home/dot_gitconfig.user b/home/dot_gitconfig.user index b94db588..eaaa34b9 100644 --- a/home/dot_gitconfig.user +++ b/home/dot_gitconfig.user @@ -1,3 +1,10 @@ [user] -name = "gwarf" -email = "baptiste@bapt.name" + name = Baptiste Grenier + email = "baptiste@bapt.name" + signingkey = 46BDC6B3DE10CB983B880095022A860ECDA18F02 + +[github] + user = gwarf + +[commit] + gpgsign = true diff --git a/home/private_dot_config/neomutt/README.md b/home/private_dot_config/neomutt/README.md index 9bf3841b..086f672a 100644 --- a/home/private_dot_config/neomutt/README.md +++ b/home/private_dot_config/neomutt/README.md @@ -29,7 +29,7 @@ msmtp ## S/MIME signing -### On Mac OS X using gpgme (simplified conf) +### On Mac OS X using gpgme (simplified configuration) See http://wiki.netbsd.org/users/wiz/mutt-smime/ @@ -40,7 +40,9 @@ $ gpgsm --import baptiste_grenier_until_2021_02.p12 $ gpgsm --list-keys ``` -### On Mac OS X using mutt/neomutt smime_keyes feature +### On Mac OS X using mutt/neomutt smime_keys feature + +> Deprecated Initialize smime store @@ -56,7 +58,6 @@ $ /usr/local/Cellar/neomutt/20180716/libexec/neomutt/smime_keys add_chain userke It's possible to use [perlbrew](https://perlbrew.pl) to manage perl modules. - ```shell # For querying mails using notmuch $ cpanm Mail::Box::Maildir diff --git a/home/private_dot_config/neomutt/bindings b/home/private_dot_config/neomutt/bindings index 6e12a534..b42a0a8e 100644 --- a/home/private_dot_config/neomutt/bindings +++ b/home/private_dot_config/neomutt/bindings @@ -23,7 +23,15 @@ bind pager \cu half-up bind pager N next-unread bind index,pager F flag-message +# XXX: by default g is group-reply # bind index g first-entry +# https://www.neomutt.org/guide/configuration.html#bind-warnings +# XXX: it is possible to disable a key binding to use compounds keys +# bind index,pager g noop +# macro index,pager gl <change-folder>? "Go to 'Label'" +# macro index,pager gi \ +# <change-folder>=INBOX<enter> \ +# "Go to inbox" bind index G last-entry bind index H current-top bind index M current-middle @@ -56,20 +64,14 @@ macro attach s <save-entry><bol>~/Downloads/<eol> # https://gist.github.com/manolomartinez/7082024 macro attach S "<pipe-message>muttsaveattach"<enter> -#macro index,pager I <set-flag>O "Mark as read" #macro index,pager U <clear-flag>O "Mark as unread" - -# https://www.neomutt.org/guide/configuration.html#bind-warnings -bind index,pager g noop -# macro index,pager gl <change-folder>? "Go to 'Label'" -# macro index,pager gi \ -# <change-folder>=INBOX<enter> \ -# "Go to inbox" +#macro index,pager I <set-flag>O "Mark as read" # macros to invoke a profile -macro index <F8> ":source ~/.config/neomutt/default-profile<enter><change-folder>!<enter>" "Load profile: default" +# macro index <F8> ":source ~/.config/neomutt/default-profile<enter><change-folder>!<enter>" "Load profile: default" # macro index <F8> ":source ~/.config/neomutt/profile.egi<enter><change-folder>!<enter>" "Load profile: egi" # macro index <F9> ":source ~/.config/neomutt/profile.perso<enter><change-folder>!<enter>" "Load profile: perso" +# macro index <F9> ":source ~/.config/neomutt/profile-uli<enter><change-folder>!<enter>" "Load profile: uli" # macro compose <F8> "<enter-command>source ~/.config/neomutt/profile.egi<enter><edit-from>\ # <kill-line>Baptiste Grenier <baptiste.grenier@egi.eu><enter><enter-command>\ diff --git a/home/private_dot_config/neomutt/colors-custom.muttrc b/home/private_dot_config/neomutt/colors-custom.muttrc index 27d13475..ced40d62 100644 --- a/home/private_dot_config/neomutt/colors-custom.muttrc +++ b/home/private_dot_config/neomutt/colors-custom.muttrc @@ -11,20 +11,16 @@ # custom body highlights ----------------------------------------------- # highlight my name and other personally relevant strings -color body color136 default "(baptiste|genier|gnubila|healthgrid|egi|boob|bgrenier|gwarf)" +color body color136 default "(baptiste|genier|gnubila|healthgrid|egi|bgrenier|gwarf|security)" + # custom index highlights ---------------------------------------------- # messages which mention my name in the body -#color index color136 default "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" -#color index J_cream color230 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" -#color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" -#color index color136 color125 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" color index color136 default "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" color index color136 color37 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" +# Messages about security or ISM in the subject +color index color136 default "~s security" +color index color136 default "~s ISM" ## messages which are in reference to my mails -#color index color125 default "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" -#color index color125 color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" -#color index color125 color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" -#color index color125 color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" color index color125 default "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" # for background in 16 color terminal, valid background colors include: diff --git a/home/private_dot_config/neomutt/headers b/home/private_dot_config/neomutt/headers index 0d054c3e..8017f1b1 100644 --- a/home/private_dot_config/neomutt/headers +++ b/home/private_dot_config/neomutt/headers @@ -6,12 +6,15 @@ set edit_headers ignore * unignore from date subject to cc reply-to unignore x-url x-resent organization -unignore x-mailing-list list-id list-unsubscribe -unignore user-agent x-agent x-mailer x-newsreader -unignore newsgroups posted-to x-also-posted-to +# XXX: may be just noise +# unignore x-mailing-list list-id list-unsubscribe +unignore list-unsubscribe +unignore user-agent x-agent x-mailer x-newsreader x-editor +unignore newsgroups posted-to x-also-posted-to x-resent followup-to mail-followup-to unignore sender x-original-sender unignore priority importance -unignore mail-followup-to in-reply-to +# XXX: may be just noise +# unignore mail-followup-to in-reply-to unignore priority x-priority importance # useful to debug smtp path but too verbose # unignore references @@ -21,6 +24,6 @@ unignore tags unignore folder unhdr_order * -hdr_order Sender: From: To: Cc: Subject: Date: Reply-To: Organization: Message-Id: User-Agent: X-Editor: X-Mailer: X-Newsreader: X-Agent: X-Resent: Followup-To: Mail-Followup-To: Folder: Tags: +hdr_order from: date: to: cc: subject: reply-to organization message-id user-agent sender x-editor x-mailer x-newsreader x-agent x-resent followup-to mail-followup-to folder tags # vim: set ft=muttrc: diff --git a/home/private_dot_config/neomutt/local-date.pl b/home/private_dot_config/neomutt/local-date.pl index 459fe71d..4d1e0d71 100755 --- a/home/private_dot_config/neomutt/local-date.pl +++ b/home/private_dot_config/neomutt/local-date.pl @@ -1,14 +1,18 @@ #!/usr/bin/env -S perl -n +# FIXME: when showing full headers we shouldn't change them + use Date::Parse; use POSIX; use strict; -if (/^Date: (.*)$/) { - my $datestr = $1; - my $date = strftime ("%a, %d %b %Y %H:%M:%S", - localtime (str2time ($datestr))); - print "Local-Date: $date\n"; +while (<>) { + if (/^Date: (.*)$/) { + my $datestr = $1; + my $date = strftime ("%a, %d %b %Y %H:%M:%S", + localtime (str2time ($datestr))); + print "Date: $date\n"; + } else { + print; + } } - -print; diff --git a/home/private_dot_config/neomutt/mutt-common.rc b/home/private_dot_config/neomutt/mutt-common.rc index 7852a807..4e573e50 100644 --- a/home/private_dot_config/neomutt/mutt-common.rc +++ b/home/private_dot_config/neomutt/mutt-common.rc @@ -156,7 +156,11 @@ source ~/.config/neomutt/mime-view #set display_filter=/home/baptiste/.mutt/mutt_display_filter #set display_filter=/home/baptiste/.mutt/test_display_filter #set display_filter='par 72gqr' +# Display date in local time +# FIXME: when showing full headers we shouldn't change them +# XXX: this may apparently eat up a line in the headers # set display_filter="~/.config/neomutt/local-date.pl" + #set wrapmargin=60 # http://www.neomutt.org/feature/new-mail/ diff --git a/home/private_dot_config/neomutt/profile-maildir.egi b/home/private_dot_config/neomutt/profile-maildir.egi index 50b977d7..7089609d 100644 --- a/home/private_dot_config/neomutt/profile-maildir.egi +++ b/home/private_dot_config/neomutt/profile-maildir.egi @@ -94,7 +94,9 @@ my_hdr OpenPGP: id=CDA18F02\; url=https://keys.bapt.name/pubkey.asc\; preference set smime_is_default set crypt_autosmime = yes # TCS Sectigo ceritificate August 2021 -set smime_sign_as = 0x0EBD819F +# set smime_sign_as = 0x0EBD819F +# TCS Sectigo ceritificate October 2023 +set smime_sign_as = 0xC21D536E # Passphrase expiration set smime_timeout=30000 # Pinentry program is taken from ~/.gnupg/gpg-agent.conf @@ -142,10 +144,51 @@ set query_command= "khard email --parsable %s" # Google-like key bindings macro index,pager A "<save-message>+All<enter>" "move message to the archive" +# Notmuch search +# notmuch and notmuch-mutt coming from Nix +macro index <F8> \ +"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ +<shell-escape>notmuch-mutt -r --prompt search<enter>\ +<change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\ +<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ +"notmuch: search mail" + +macro index <F9> \ +"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ +<pipe-message>notmuch-mutt -r thread<enter>\ +<change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\ +<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ +"notmuch: reconstruct thread" + +macro index <F6> \ +"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ +<pipe-message>notmuch-mutt tag -- -inbox<enter>\ +<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ +"notmuch: remove message from inbox" + +# http://www.mutt.org/doc/manual/#ignore-list-reply-to +set ignore_list_reply_to + # Mailing lists -lists technical-support-cases-c@rt.egi.eu -subscribe operations@egi.eu +# http://www.mutt.org/doc/manual/#lists +# Known +lists .*@mailman.egi.eu +# Subscribed +## EGI Maimlan +subscribe irtf@mailman.egi.eu +subscribe ism@mailman.egi.eu subscribe office@mailman.egi.eu +subscribe operations@mailman.egi.eu +subscribe security-notifications@mailman.egi.eu +subscribe shodan@mailman.egi.eu +subscribe svg-rat@mailman.egi.eu +## EGI Google Workspace +subscribe admin@egi.eu +subscribe it-support@egi.eu +subscribe notifcations-ct@egi.eu +## Third parties +subscribe oss-security@lists.openwall.com subscribe wise@lists.wise-community.org +subscribe refeds@lists.refeds.org # vim: set ft=muttrc: diff --git a/home/private_dot_config/neomutt/signature-egi b/home/private_dot_config/neomutt/signature-egi index 5339dae5..c3cf00e7 100644 --- a/home/private_dot_config/neomutt/signature-egi +++ b/home/private_dot_config/neomutt/signature-egi @@ -1,6 +1,6 @@ Baptiste Grenier | Senior Service Delivery and Information Security Officer -EGI Foundation (Amsterdam, The Netherlands) -Phone: +31 (0) 627 860 852 | Keybase: gwarf | baptiste.grenier@egi.eu +EGI Foundation (Amsterdam, Netherlands) +Phone: +31 (0) 627 860 852 | Keybase: gwarf | Mail: baptiste.grenier@egi.eu EGI: Advanced Computing for Research -The EGI Foundation is ISO 9001:2015 and ISO/IEC 20000-1:2018 certified +EGI.eu is certified ISO 9001:2015, ISO/IEC 20000-1:2018, and ISO/IEC 27001:2017 diff --git a/home/private_dot_config/neomutt/sync b/home/private_dot_config/neomutt/sync index 21b231e3..5579655e 100755 --- a/home/private_dot_config/neomutt/sync +++ b/home/private_dot_config/neomutt/sync @@ -9,16 +9,16 @@ PATH="/usr/local/bin:$PATH" MBSYNC=$(pgrep mbsync) NOTMUCH=$(pgrep notmuch) -if [ -n "$MBSYNC" -o -n "$NOTMUCH" ]; then - echo "Already running one instance of mail-sync. Exiting..." - exit 0 +if [ -n "$MBSYNC" ] || [ -n "$NOTMUCH" ]; then + echo "Already running one instance of mail-sync. Exiting..." + exit 0 fi # Retreive emails -mbsync -aV +mbsync -a # Index them with Notmuch notmuch new # Index them with mu -mu index +# mu index From 9473cd0805921d899f4c77e13b6502be2c2a1535 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jul 2024 15:56:08 +0200 Subject: [PATCH 1904/2080] chezmoi: merge updates from Darwin/work --- ...gitconfig.user => dot_gitconfig.user.tmpl} | 4 + home/{dot_mailcap => dot_mailcap.tmpl} | 20 +++ home/readonly_dot_mbsyncrc | 23 ---- home/readonly_dot_mbsyncrc.tmpl | 129 ++++++++++++++++++ 4 files changed, 153 insertions(+), 23 deletions(-) rename home/{dot_gitconfig.user => dot_gitconfig.user.tmpl} (64%) rename home/{dot_mailcap => dot_mailcap.tmpl} (86%) delete mode 100644 home/readonly_dot_mbsyncrc create mode 100644 home/readonly_dot_mbsyncrc.tmpl diff --git a/home/dot_gitconfig.user b/home/dot_gitconfig.user.tmpl similarity index 64% rename from home/dot_gitconfig.user rename to home/dot_gitconfig.user.tmpl index eaaa34b9..ce738f05 100644 --- a/home/dot_gitconfig.user +++ b/home/dot_gitconfig.user.tmpl @@ -1,6 +1,10 @@ [user] name = Baptiste Grenier +{{- if eq .chezmoi.os "darwin" }} + email = "baptiste.grenier@egi.eu" +{{- else }} email = "baptiste@bapt.name" +{{- end }} signingkey = 46BDC6B3DE10CB983B880095022A860ECDA18F02 [github] diff --git a/home/dot_mailcap b/home/dot_mailcap.tmpl similarity index 86% rename from home/dot_mailcap rename to home/dot_mailcap.tmpl index e2b26e43..90d66ae3 100644 --- a/home/dot_mailcap +++ b/home/dot_mailcap.tmpl @@ -1,5 +1,24 @@ # mailcap file for usage with mutt. +{{- if eq .chezmoi.os "darwin" }} +application/pdf ; pdftotext -layout %s - ; copiousoutput ; print = ~/.config/neomutt/view_attachment %s - +document/pdf ; pdftotext -layout %s - ; copiousoutput ; print = ~/.config/neomutt/view_attachment %s - +# lookup mime tipe in mime.types +mime_lookup application/octet-stream application/octetstream +# XXX Disabled as looking up mime types +# application/octet-stream; ~/.config/neomutt/view_attachment %s - +video/*; ~/.config/neomutt/view_attachment %s - +image/*; ~/.config/neomutt/view_attachment %s - +# View file in W3M, use print to view them in default browser +text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser" %s +text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; +# text/html; ~/.config/neomutt/view_attachment %s html +text/csv ; bat %s ; copiousoutput +application/json ; bat %s; print = open %s +application/x-pkcs7-signature ; openssl smime -pk7out -inform DER | openssl pkcs7 -print_certs -text -noout ; nametemplate=%s.p7s ; copiousoutput +# XXX not sure if used +application/*; ~/.config/neomutt/view_attachment %s - +{{- else }} # Try to use xdg-open for everything # */*; xdg-open "%s" @@ -84,5 +103,6 @@ application/vnd.openxmlformats-officedocument.presentationml.slideshow ; mutt_ application/vnd.openxmlformats-officedocument.presentationml.presentation ; mutt_bgrun loimpress %s ; test=test -n "$DISPLAY" > /dev/null application/x-pkcs7-signature;openssl pkcs7 -in %s -inform der -noout -print_certs -text | less; needsterminal application/pkcs7-signature;openssl pkcs7 -in %s -inform der -noout -print_certs -text | less; needsterminal +{{- end }} # vim: set nowrap: diff --git a/home/readonly_dot_mbsyncrc b/home/readonly_dot_mbsyncrc deleted file mode 100644 index 47f0fb21..00000000 --- a/home/readonly_dot_mbsyncrc +++ /dev/null @@ -1,23 +0,0 @@ -IMAPAccount baptiste -# CertificateFile /etc/ssl/certs/ca-certificates.crt -Host mail.bapt.name -PassCmd "rbw get /mail/baptiste@bapt.name" -SSLType STARTTLS -User baptiste@bapt.name - -IMAPStore baptiste-remote -Account baptiste - -MaildirStore baptiste-local -Path ~/Mail/Perso/ -Inbox ~/Mail/Perso/Inbox -SubFolders Verbatim - -Channel baptiste -Create Both -Expunge Both -Far :baptiste-remote: -Near :baptiste-local: -Patterns * -Remove None -SyncState * diff --git a/home/readonly_dot_mbsyncrc.tmpl b/home/readonly_dot_mbsyncrc.tmpl new file mode 100644 index 00000000..6eede5ea --- /dev/null +++ b/home/readonly_dot_mbsyncrc.tmpl @@ -0,0 +1,129 @@ +{{- if eq .chezmoi.os "darwin" }} +# https://roylez.info/2016-02-10-mutt-multi-imap-accounts/ +# XXX: may be simplified cf https://github.com/elobdog/mailhelp/blob/master/mbsyncrc +# EGI Gmail Account +IMAPAccount EGI +Host imap.gmail.com +User baptiste.grenier@egi.eu +# https://support.google.com/accounts/answer/185833?hl=en +# Set passwod on OSX: security add-generic-password -a baptiste.grenier@egi.eu -s imap.gmail.com -U -w +PassCmd "security find-generic-password -s imap.gmail.com -a baptiste.grenier@egi.eu -w" +SSLType IMAPS +AuthMechs LOGIN +CertificateFile /usr/local/etc/openssl/cert.pem +PipelineDepth 50 + +# Remote EGI IMAP +IMAPStore EGI_gmail +Account EGI + +# Local EGI Maildir +MaildirStore EGI_local +Path ~/Mail/EGI/ +Inbox ~/Mail/EGI/Inbox + +## Connect remote IMAP to local Folders + +Channel EGI-default +Far :EGI_gmail:"INBOX" +Near :EGI_local:Inbox +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-sent +Far :EGI_gmail:"[Gmail]/Sent Mail" +Near :EGI_local:Sent +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-starred +Far :EGI_gmail:"[Gmail]/Starred" +Near :EGI_local:Starred +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-trash +Far :EGI_gmail:"[Gmail]/Bin" +Near :EGI_local:Trash +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-archive +Far :EGI_gmail:"[Gmail]/All Mail" +Near :EGI_local:All +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-drafts +Far :EGI_gmail:"[Gmail]/Drafts" +Near :EGI_local:Drafts +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Channel EGI-spam +Far :EGI_gmail:"[Gmail]/Spam" +Near :EGI_local:Spam +# Automatically create missing mailboxes, both locally and on the server +Create Both +# Save the synchronization state files in the relevant directory +SyncState * +# Automatically delete messages on either side if they are found deleted on the other +Expunge Both + +Group EGI +Channel EGI-default +Channel EGI-sent +Channel EGI-starred +Channel EGI-trash +Channel EGI-archive +Channel EGI-drafts +Channel EGI-spam +{{- else }} +IMAPAccount baptiste +# CertificateFile /etc/ssl/certs/ca-certificates.crt +Host mail.bapt.name +PassCmd "rbw get /mail/baptiste@bapt.name" +SSLType STARTTLS +User baptiste@bapt.name + +IMAPStore baptiste-remote +Account baptiste + +MaildirStore baptiste-local +Path ~/Mail/Perso/ +Inbox ~/Mail/Perso/Inbox +SubFolders Verbatim + +Channel baptiste +Create Both +Expunge Both +Far :baptiste-remote: +Near :baptiste-local: +Patterns * +Remove None +SyncState * +{{- end }} From 6709ca331816707217b8cf02f90bcbc9a28de853 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jul 2024 15:57:53 +0200 Subject: [PATCH 1905/2080] chezmoi: drop lazy-lock.json --- home/private_dot_config/nvim/lazy-lock.json | 89 --------------------- 1 file changed, 89 deletions(-) delete mode 100644 home/private_dot_config/nvim/lazy-lock.json diff --git a/home/private_dot_config/nvim/lazy-lock.json b/home/private_dot_config/nvim/lazy-lock.json deleted file mode 100644 index 77b437c9..00000000 --- a/home/private_dot_config/nvim/lazy-lock.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "LazyVim": { "branch": "main", "commit": "dde4a9dcdf49719c67642d09847dbaf7f9c7a156" }, - "SchemaStore.nvim": { "branch": "main", "commit": "e33d8db3fdc0ac7be4ba5312feb4fc1972087eee" }, - "bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" }, - "catppuccin": { "branch": "main", "commit": "67565cd353fa543fa30cb738570c2e4c87da3e9c" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, - "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, - "cmp-git": { "branch": "main", "commit": "8dfbc33fb32c33e5c0be9dcc8176a4f4d395f95e" }, - "cmp-lbdb": { "branch": "master", "commit": "a2f3c43c734165e64a9d413f15a2e0131e08b054" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, - "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "conform.nvim": { "branch": "master", "commit": "9a06e83527407a7600a2fe4e0d10adf432b6215e" }, - "dashboard-nvim": { "branch": "master", "commit": "b88c997f468a1bacb1e9b13ff3b567638caa06e6" }, - "dial.nvim": { "branch": "master", "commit": "7af2daaaf933b0617ded0f78b49f4d5fc45f9f64" }, - "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, - "edgy.nvim": { "branch": "main", "commit": "a8bc1d24798c80a391f1a5d898a50c41a7f93883" }, - "flash.nvim": { "branch": "main", "commit": "43f67935d388fbb540f8b40e8cbfd80de54f978a" }, - "friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, - "fzf-lua": { "branch": "main", "commit": "1ec6eeda11c3a3dcd544e1c61ad4b8c9b49903c4" }, - "gitsigns.nvim": { "branch": "main", "commit": "8df63f2ddc615feb71fd4aee45a4cee022876df1" }, - "gx.nvim": { "branch": "main", "commit": "cf6ed6ba86ffe4e3f51a898c03a05023b7a2fe48" }, - "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, - "inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" }, - "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, - "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, - "lazy.nvim": { "branch": "main", "commit": "c501b429cf995c645454539b924aaefae45bb9eb" }, - "lazydev.nvim": { "branch": "main", "commit": "6184ebbbc8045d70077659b7d30c705a588dc62f" }, - "ltex_extra.nvim": { "branch": "master", "commit": "24acd044ce7a26b3cdb537cbd094de37c3e1ac45" }, - "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, - "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, - "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "markdown.nvim": { "branch": "main", "commit": "35f8bd24809e21219c66e2a58f1b9f5d547cc2c3" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "ba9c2f0b93deb48d0a99ae0e8d8dd36f7cc286d6" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "4ba55f9755ebe8297d92c419b90a946123292ae6" }, - "mason.nvim": { "branch": "main", "commit": "f96a31855fa8aea55599cea412fe611b85a874ed" }, - "middleclass": { "branch": "master", "commit": "9fab4d5bca67262614960960ca35c4740eb2be2c" }, - "mini.ai": { "branch": "main", "commit": "9fef1097bca44616133cde6a6769e7aa07d12d7d" }, - "mini.animate": { "branch": "main", "commit": "0a35f6db55cfac04a0999abe3465f7b692dc56a7" }, - "mini.bracketed": { "branch": "main", "commit": "06ad08fc75dc540cba76d3d8de0f2dc9f75b5812" }, - "mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" }, - "mini.hipatterns": { "branch": "main", "commit": "427712c754bfdccd8da7073576cd8e2586c0fe93" }, - "mini.pairs": { "branch": "main", "commit": "40261dfcec7623cd57be3c3beb50fa73f2650cdf" }, - "mini.surround": { "branch": "main", "commit": "c40ac9c0060467a82430fab12d30395c5768b5e4" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, - "neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" }, - "noice.nvim": { "branch": "main", "commit": "88ac36864b5976a64b14a8f156c616f41b32f228" }, - "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, - "nvim-ansible": { "branch": "main", "commit": "cb5d0cc79c1864b72d5ae40a926a1176b18f1b65" }, - "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, - "nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, - "nvim-dap-python": { "branch": "master", "commit": "d777c2b32ed39f61209c09bede28d7491621a631" }, - "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, - "nvim-lint": { "branch": "master", "commit": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce" }, - "nvim-lspconfig": { "branch": "master", "commit": "3c8346db23033fa49ce0eef2e89dbe91cfd54f21" }, - "nvim-nio": { "branch": "master", "commit": "7969e0a8ffabdf210edd7978ec954a47a737bbcc" }, - "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, - "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, - "nvim-snippets": { "branch": "main", "commit": "5c978b3ba0c504dc9f94ca93d17029f26064d229" }, - "nvim-spectre": { "branch": "master", "commit": "9a28f926d3371b7ef02243cbbb653a0478d06e31" }, - "nvim-spider": { "branch": "main", "commit": "c0f757f63da340636ff2be53e39eabc42f5fa727" }, - "nvim-treehopper": { "branch": "master", "commit": "13559079e33665a310d9ccf0e43f4e9bb9f337e2" }, - "nvim-treesitter": { "branch": "master", "commit": "122b4d3db1616c1f1305b847c5ed2217c4c329f1" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, - "nvim-ts-autotag": { "branch": "main", "commit": "323a3e16ed603e2e17b26b1c836d1e86c279f726" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "f1905136b99b5d706858d4c9274a3b152b4359ed" }, - "nvim-ufo": { "branch": "main", "commit": "a57e088487f099197246fd24be7423c6c4dedcef" }, - "persistence.nvim": { "branch": "main", "commit": "c45ff862b53ce07a853a753fb0b33e148dbb99d2" }, - "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, - "promise-async": { "branch": "main", "commit": "28c1d5a295eb5310afa2523d4ae9aa41ec5a9de2" }, - "refactoring.nvim": { "branch": "master", "commit": "d07218748c48e756c27aa6859bfa6e62a3d271af" }, - "ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" }, - "styler.nvim": { "branch": "main", "commit": "2cd29996d08cec8b31270c6de64465f716ef9d71" }, - "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, - "tokyonight.nvim": { "branch": "main", "commit": "81c867c5f638597a82c82094dcb90ed42444dabc" }, - "trouble.nvim": { "branch": "main", "commit": "2d8610a07033f2b367e71230ab128f8b89c2639d" }, - "ts-comments.nvim": { "branch": "main", "commit": "c075b4ee00f6e111b44bf99a8cfd5a4cfce9258a" }, - "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, - "vim-matchup": { "branch": "master", "commit": "1535a769d5dca851fe7d41b0be95f7c7203a4bef" }, - "vim-nix": { "branch": "master", "commit": "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0" }, - "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, - "which-key.nvim": { "branch": "main", "commit": "af4ded85542d40e190014c732fa051bdbf88be3d" }, - "windows.nvim": { "branch": "main", "commit": "c7492552b23d0ab30325e90b56066ec51242adc8" }, - "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } -} From 7602c4c0bf55c42cb2b269b8594b40b6de2dfb4f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jul 2024 15:59:57 +0200 Subject: [PATCH 1906/2080] chezmoi: fix pacakge name on darwin --- home/.chezmoidata/packages.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 7a656143..eb8cbe53 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -2,9 +2,9 @@ packages: darwin: brews: - "bitwarden-cli" - - "delta" - "fetch-crl" - "git" + - "git-delta" - "gnu-sed" - "khal" - "languagetool" From a4cee312bcefe92baf834ed53d997f3c1d99c93f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jul 2024 17:09:36 +0200 Subject: [PATCH 1907/2080] More packages for darwin --- home/.chezmoidata/packages.yaml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index eb8cbe53..a7d94344 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -1,17 +1,45 @@ packages: darwin: brews: + - "bat" - "bitwarden-cli" + - "chezmoi" + - "direnv" + - "doggo" + - "duf" + - "dust" + - "fd" - "fetch-crl" + - "fish" + - "fzf" - "git" - "git-delta" + - "glances" - "gnu-sed" + - "isync" + - "jq" - "khal" + - "khard" - "languagetool" + - "lazygit" - "ldapvi" + - "lsd" + - "msmtp" + - "mutt" + - "neovim" + - "oidc-agent" + - "pyenv" + - "ripgrep" + - "ripgrep-all" + - "starship" + - "vivid" + - "zoxide" casks: - "alfred" - "drawio" + - "font-jetbrains-mono-nerd-font" + - "keybase" + - "kitty" - "maccy" - "rectangle" - "slack" From 6a8669f1bb78451d4cfdc16e961cdcb07304e6d9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jul 2024 17:10:05 +0200 Subject: [PATCH 1908/2080] fish: start disabling nix on Darwin --- home/private_dot_config/private_fish/config.fish.tmpl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 6b818220..c3693321 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -64,11 +64,12 @@ if status is-interactive # Add path mainly used by brew fish_add_path /usr/local/bin + # FIXME: to be removed # Add nix directories to path missing in current kitty config - fish_add_path "~/.nix-profile/bin" - fish_add_path "/etc/profiles/per-user/$USER/bin" - fish_add_path /run/current-system/sw/bin - fish_add_path /nix/var/nix/profiles/default/bin + # fish_add_path "~/.nix-profile/bin" + # fish_add_path "/etc/profiles/per-user/$USER/bin" + # fish_add_path /run/current-system/sw/bin + # fish_add_path /nix/var/nix/profiles/default/bin # https://spicetify.app if test -e ~/.spicetify @@ -121,7 +122,7 @@ if status is-interactive # Load custon pytyon3 venv for mutt + ical function mutt source ~/.config/neomutt/.venv/bin/activate.fish - /etc/profiles/per-user/baptiste/bin/mutt + /usr/local/bin/mutt end # Start oidc-agent From 19640ddbc19bae09cf94472e666627ec82962cda Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jul 2024 18:03:27 +0200 Subject: [PATCH 1909/2080] Make us of new --fish featore for fzf when not on FreeBSD --- home/private_dot_config/private_fish/config.fish.tmpl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index c3693321..e6348a5d 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -169,7 +169,10 @@ if status is-interactive end zoxide init --cmd cd fish | source direnv hook fish | source - # XXX: only valid with fzf >= 0.48.0 - # fzf --fish | source + {{ if ne .chezmoi.os "freebsd" -}} + # XXX: fzf--fish is only valid with fzf >= 0.48.0 + fzf --fish | source + {{ else -}} source /usr/local/share/examples/fzf/shell/key-bindings.fish + {{ end -}} end From 3a61db738275f325170a53ec6cb56e030b181fa9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jul 2024 18:26:18 +0200 Subject: [PATCH 1910/2080] Make executable --- home/private_dot_config/neomutt/show_certs.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 home/private_dot_config/neomutt/show_certs.sh diff --git a/home/private_dot_config/neomutt/show_certs.sh b/home/private_dot_config/neomutt/show_certs.sh old mode 100644 new mode 100755 From b44cc2d4d0a489a04cc8f3abd6350e4f4118c42d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 29 Jul 2024 18:29:39 +0200 Subject: [PATCH 1911/2080] Make executable --- .../neomutt/{local-date.pl => executable_local-date.pl} | 0 .../neomutt/{view_attachment => executable_view_attachment} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename home/private_dot_config/neomutt/{local-date.pl => executable_local-date.pl} (100%) rename home/private_dot_config/neomutt/{view_attachment => executable_view_attachment} (100%) diff --git a/home/private_dot_config/neomutt/local-date.pl b/home/private_dot_config/neomutt/executable_local-date.pl similarity index 100% rename from home/private_dot_config/neomutt/local-date.pl rename to home/private_dot_config/neomutt/executable_local-date.pl diff --git a/home/private_dot_config/neomutt/view_attachment b/home/private_dot_config/neomutt/executable_view_attachment similarity index 100% rename from home/private_dot_config/neomutt/view_attachment rename to home/private_dot_config/neomutt/executable_view_attachment From f371f7f6a161066896ca657c391686a2de710db0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 30 Jul 2024 10:17:09 +0200 Subject: [PATCH 1912/2080] Manage launchd scripts on darwin --- home/.chezmoiignore | 3 ++ .../readonly_mbsync.plist | 20 +++++++++++++ .../readonly_vdirsyncer.plist | 29 +++++++++++++++++++ .../neomutt/{sync => executable_sync} | 0 4 files changed, 52 insertions(+) create mode 100644 home/private_Library/private_LaunchAgents/readonly_mbsync.plist create mode 100644 home/private_Library/private_LaunchAgents/readonly_vdirsyncer.plist rename home/private_dot_config/neomutt/{sync => executable_sync} (100%) diff --git a/home/.chezmoiignore b/home/.chezmoiignore index 01ec0383..223dbab1 100644 --- a/home/.chezmoiignore +++ b/home/.chezmoiignore @@ -1,3 +1,6 @@ *.nix private_dot_config/nvim/spell/en.utf-8.add.spl private_dot_config/nvim/spell/en.utf-8.add +{{- if ne .chezmoi.os "darwin" }} +~/Library +{{- end }} diff --git a/home/private_Library/private_LaunchAgents/readonly_mbsync.plist b/home/private_Library/private_LaunchAgents/readonly_mbsync.plist new file mode 100644 index 00000000..26d6949f --- /dev/null +++ b/home/private_Library/private_LaunchAgents/readonly_mbsync.plist @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>Label</key> + <string>mbsync</string> + <key>ProcessType</key> + <string>Background</string> + <key>Program</key> + <string>/Users/baptiste/.config/neomutt/sync</string> + <key>RunAtLoad</key> + <true/> + <key>StandardErrorPath</key> + <string>/Users/baptiste/Mail/.mailsync_error.log</string> + <key>StandardOutPath</key> + <string>/Users/baptiste/Mail/.mailsync_out.log</string> + <key>StartInterval</key> + <integer>300</integer> +</dict> +</plist> diff --git a/home/private_Library/private_LaunchAgents/readonly_vdirsyncer.plist b/home/private_Library/private_LaunchAgents/readonly_vdirsyncer.plist new file mode 100644 index 00000000..58f64222 --- /dev/null +++ b/home/private_Library/private_LaunchAgents/readonly_vdirsyncer.plist @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>Label</key> + <string>vdirsyncer</string> + <key>LowPriorityIO</key> + <true/> + <key>Nice</key> + <integer>-10</integer> + <key>ProcessType</key> + <string>Background</string> + <key>Program</key> + <string>/usr/local/bin/vdirsyncer</string> + <key>ProgramArguments</key> + <array> + <string>--verbosity CRITICAL</string> + <string>sync</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>StandardErrorPath</key> + <string>/Users/baptiste/Mail/.vdirsyncer.log</string> + <key>StandardOutPath</key> + <string>/Users/baptiste/Mail/.vdirsyncer.log</string> + <key>StartInterval</key> + <integer>3600</integer> +</dict> +</plist> diff --git a/home/private_dot_config/neomutt/sync b/home/private_dot_config/neomutt/executable_sync similarity index 100% rename from home/private_dot_config/neomutt/sync rename to home/private_dot_config/neomutt/executable_sync From 481fb9713c08f02f1e596fef389ad705cba742e7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 30 Jul 2024 14:38:38 +0200 Subject: [PATCH 1913/2080] Make executable --- .../neomutt/{dump-ical.py => executable_dump-ical.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename home/private_dot_config/neomutt/{dump-ical.py => executable_dump-ical.py} (100%) diff --git a/home/private_dot_config/neomutt/dump-ical.py b/home/private_dot_config/neomutt/executable_dump-ical.py similarity index 100% rename from home/private_dot_config/neomutt/dump-ical.py rename to home/private_dot_config/neomutt/executable_dump-ical.py From 1f445b076881ec3454a404f928f6423298cac4e4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 31 Jul 2024 11:22:02 +0200 Subject: [PATCH 1914/2080] LazyVim: enable netrw plugin to open remote files via SSH --- home/private_dot_config/nvim/lua/config/lazy.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/nvim/lua/config/lazy.lua b/home/private_dot_config/nvim/lua/config/lazy.lua index d0ab354e..aa8f99be 100644 --- a/home/private_dot_config/nvim/lua/config/lazy.lua +++ b/home/private_dot_config/nvim/lua/config/lazy.lua @@ -46,8 +46,9 @@ require("lazy").setup({ "gzip", -- "matchit", -- "matchparen", + -- XXX: re-enable netrw until a way to open file via SSH is found -- Replaced by https://github.com/nvim-neo-tree/neo-tree.nvim - "netrwPlugin", + -- "netrwPlugin", "tarPlugin", "tohtml", "tutor", From 21f4557b5054b6422261bcd7e41f09b72a01b333 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 31 Jul 2024 15:29:29 +0200 Subject: [PATCH 1915/2080] Update abbreviations for chezmoi --- home/private_dot_config/private_fish/config.fish.tmpl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index e6348a5d..f7ea08d9 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -29,8 +29,10 @@ if status is-interactive abbr -a g git abbr -a vim nvim abbr -a ch chezmoi - abbr -a che chezmoi edit - abbr -a cha chezmoi apply + abbr -a chze chezmoi edit + abbr -a chza chezmoi apply + abbr -a chzd chezmoi diff + abbr -a chzs chezmoi status # Aliases alias df="duf" From ca1dcd1250bf8a651f7d835c8288ad7f3dedfcba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 1 Aug 2024 12:44:00 +0200 Subject: [PATCH 1916/2080] mutt: put custom rules at the end to not overwrite them with the default ones --- .../neomutt/colors-custom.muttrc | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/home/private_dot_config/neomutt/colors-custom.muttrc b/home/private_dot_config/neomutt/colors-custom.muttrc index ced40d62..5ec39338 100644 --- a/home/private_dot_config/neomutt/colors-custom.muttrc +++ b/home/private_dot_config/neomutt/colors-custom.muttrc @@ -9,20 +9,6 @@ # make sure that you are using mutt linked against slang, not ncurses, or # suffer the consequences of weird color issues. use "mutt -v" to check this. -# custom body highlights ----------------------------------------------- -# highlight my name and other personally relevant strings -color body color136 default "(baptiste|genier|gnubila|healthgrid|egi|bgrenier|gwarf|security)" - -# custom index highlights ---------------------------------------------- -# messages which mention my name in the body -color index color136 default "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" -color index color136 color37 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" -# Messages about security or ISM in the subject -color index color136 default "~s security" -color index color136 default "~s ISM" -## messages which are in reference to my mails -color index color125 default "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" - # for background in 16 color terminal, valid background colors include: # base03, bg, black, any of the non brights @@ -161,4 +147,20 @@ color body cyan default "^[\+][^\+]+.*" color body red default "^\-[^\-]+.*" color body brightblue default "^@@ .*" +# custom body highlights ----------------------------------------------- +# highlight my name and other personally relevant strings +color body color136 default "(baptiste|genier|gnubila|healthgrid|egi|bgrenier|gwarf|security)" + +# custom index highlights ---------------------------------------------- +# messages which mention my name in the body +color index color136 default "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" +color index color136 color37 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" +# Messages about security or ISM in the subject +color index color160 default "~s security" +color index color160 default "~s ISM" +# Messages with a TLP code in the subject +color index color160 default "~s TLP" +## messages which are in reference to my mails +color index color125 default "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" + # vim: filetype=muttrc From b7f86323abe95299d2e3a21e8772b413433096fd Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 5 Aug 2024 13:00:20 +0200 Subject: [PATCH 1917/2080] Fix chezmoi ignore --- home/.chezmoiignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/.chezmoiignore b/home/.chezmoiignore index 223dbab1..1c3e9115 100644 --- a/home/.chezmoiignore +++ b/home/.chezmoiignore @@ -2,5 +2,5 @@ private_dot_config/nvim/spell/en.utf-8.add.spl private_dot_config/nvim/spell/en.utf-8.add {{- if ne .chezmoi.os "darwin" }} -~/Library +Library/** {{- end }} From e9ce147ddcdd361f5656e1fba11a648fa1baa491 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 5 Aug 2024 13:00:52 +0200 Subject: [PATCH 1918/2080] nvim: make nvim-cmp buffer complete with non ASCII chars --- home/private_dot_config/nvim/lua/plugins/coding.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/nvim/lua/plugins/coding.lua b/home/private_dot_config/nvim/lua/plugins/coding.lua index f1433e77..dea85ca1 100644 --- a/home/private_dot_config/nvim/lua/plugins/coding.lua +++ b/home/private_dot_config/nvim/lua/plugins/coding.lua @@ -167,6 +167,7 @@ return { get_bufnrs = function() return vim.api.nvim_list_bufs() end, + keyword_pattern = [[\K\k*]], }, }, }) @@ -193,6 +194,7 @@ return { get_bufnrs = function() return vim.api.nvim_list_bufs() end, + keyword_pattern = [[\K\k*]], }, }, }), @@ -214,7 +216,9 @@ return { cmp.setup.cmdline("/", { mapping = cmp.mapping.preset.cmdline(), sources = { - { name = "buffer" }, + { name = "buffer", option = { + keyword_pattern = [[\K\k*]], + } }, }, }) end, From c10595c015239b90d796db53fd7ab81b726513eb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 5 Aug 2024 13:01:15 +0200 Subject: [PATCH 1919/2080] mutt colors: fine tune colors (still far from perfect...) --- home/private_dot_config/neomutt/colors-custom.muttrc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/home/private_dot_config/neomutt/colors-custom.muttrc b/home/private_dot_config/neomutt/colors-custom.muttrc index 5ec39338..6fc99928 100644 --- a/home/private_dot_config/neomutt/colors-custom.muttrc +++ b/home/private_dot_config/neomutt/colors-custom.muttrc @@ -155,11 +155,13 @@ color body color136 default "(baptiste|genier|gnubila|hea # messages which mention my name in the body color index color136 default "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" !~N !~T !~F !~p !~P" color index color136 color37 "~b \"(baptiste\\.grenier\\.egi\\.eu|gwarf\\.gwarf\\.org|baptiste\\.bapt\\.name|baptiste|gwarf|bapt)\" ~T !~F !~p !~P" -# Messages about security or ISM in the subject -color index color160 default "~s security" -color index color160 default "~s ISM" -# Messages with a TLP code in the subject -color index color160 default "~s TLP" +# Messages security or ISM in the subject +color index cyan default "~s \"(security|ISM)\" ~N" +# color index green default "~s \"security|ISM\" !~N" +# Unread messages with a TLP code in the subject +color index cyan default "~s \"TLP\" ~N" +color index green default "~s \"TLP:GREEN\" ~N" +color index red default "~s \"TLP:RED\" ~N" ## messages which are in reference to my mails color index color125 default "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" From 38ddb5cc36decc3ad587ede086ae4bcf0dddf844 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 09:40:12 +0200 Subject: [PATCH 1920/2080] darwin: install prettierd --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index a7d94344..bec30901 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -28,6 +28,7 @@ packages: - "mutt" - "neovim" - "oidc-agent" + - "prettierd" - "pyenv" - "ripgrep" - "ripgrep-all" From 78983d1d4d4a62b4ef1df1035e3f42789ab45b18 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 09:40:26 +0200 Subject: [PATCH 1921/2080] Update mutt colors --- home/private_dot_config/neomutt/colors-custom.muttrc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/home/private_dot_config/neomutt/colors-custom.muttrc b/home/private_dot_config/neomutt/colors-custom.muttrc index 6fc99928..c5f08ef6 100644 --- a/home/private_dot_config/neomutt/colors-custom.muttrc +++ b/home/private_dot_config/neomutt/colors-custom.muttrc @@ -33,7 +33,6 @@ mono error bold # index ---------------------------------------------------------------- -#color index color160 default "~D(!~p|~p)" # deleted #color index color235 default ~F # flagged #color index color166 default ~= # duplicate messages #color index color240 default "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest @@ -57,7 +56,6 @@ color index color160 default "~F~p" # color index color160 default "~N~F" # new flagged messages color index color160 default "~N~F~p" # new flagged messages to me color index color160 default "~U~F~p" # new flagged messages to me -color index color235 color160 "~D" # deleted messages color index color245 default "~v~(!~N)" # collapsed thread with no unread color index color136 default "~v~(~N)" # collapsed thread with some unread color index color64 default "~N~v~(~N)" # collapsed thread with unread parent @@ -112,7 +110,7 @@ color body color241 color160 "^gpg: BAD signature from.*" mono body bold "^gpg: Good signature" mono body bold "^gpg: BAD signature from.*" -# yes, an insance URL regex +# yes, an insane URL regex color body color160 default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" # and a heavy handed email regex color body color160 default "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" @@ -162,7 +160,12 @@ color index cyan default "~s \"(security|ISM)\" ~N" color index cyan default "~s \"TLP\" ~N" color index green default "~s \"TLP:GREEN\" ~N" color index red default "~s \"TLP:RED\" ~N" -## messages which are in reference to my mails + +# messages which are in reference to my mails color index color125 default "~x \"(baptiste\\.grenier\\.egi\\.eu|baptiste\\.bapt\\.name)\" !~N !~T !~F !~p !~P" +# deleted messages +# color index color160 default "~D(!~p|~p)" +color index color235 color160 "~D" + # vim: filetype=muttrc From dc919fcd067c7a0c708b9738398fdf4515d893a1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 09:45:43 +0200 Subject: [PATCH 1922/2080] darwin: install some more formatters for nvim --- home/.chezmoidata/packages.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index bec30901..8930deb4 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -3,6 +3,7 @@ packages: brews: - "bat" - "bitwarden-cli" + - "black" - "chezmoi" - "direnv" - "doggo" @@ -24,15 +25,19 @@ packages: - "lazygit" - "ldapvi" - "lsd" + - "markdownlint-cli2" - "msmtp" - "mutt" - "neovim" - "oidc-agent" + - "prettier" - "prettierd" - "pyenv" - "ripgrep" - "ripgrep-all" + - "shfmt" - "starship" + - "stylua" - "vivid" - "zoxide" casks: From 88e1980276771d2d5343541951dee2362da9bb1e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 09:57:05 +0200 Subject: [PATCH 1923/2080] darwin: install ansible stuff for nvim --- home/.chezmoidata/packages.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 8930deb4..50b2a845 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -1,6 +1,8 @@ packages: darwin: brews: + - "ansible-language-server" + - "ansible-lint" - "bat" - "bitwarden-cli" - "black" From 4cb4687e295dfdbe438062e7ba689f596957a75b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 10:25:31 +0200 Subject: [PATCH 1924/2080] darwin: Install yaml tools for nvim --- home/.chezmoidata/packages.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 50b2a845..c0a54c8e 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -40,6 +40,8 @@ packages: - "shfmt" - "starship" - "stylua" + - "yamllint" + - "yaml-language-server" - "vivid" - "zoxide" casks: From fb9c41476a9f7587199bd824ef8330e1ca28a234 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 10:28:18 +0200 Subject: [PATCH 1925/2080] darwin: Install tree --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index c0a54c8e..aeba89f0 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -40,6 +40,7 @@ packages: - "shfmt" - "starship" - "stylua" + - "tree" - "yamllint" - "yaml-language-server" - "vivid" From 375a4bd29c9bd0bd9158c5d13ee1316aad53d405 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 10:39:17 +0200 Subject: [PATCH 1926/2080] darwin: Install tmux --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index aeba89f0..7a72abfc 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -40,6 +40,7 @@ packages: - "shfmt" - "starship" - "stylua" + - "tmux" - "tree" - "yamllint" - "yaml-language-server" From 3271358615784a66e437b403823776eb08fca932 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 11:47:33 +0200 Subject: [PATCH 1927/2080] More packages for darwin --- home/.chezmoidata/packages.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 7a72abfc..694d1691 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -7,6 +7,7 @@ packages: - "bitwarden-cli" - "black" - "chezmoi" + - "coreutils" - "direnv" - "doggo" - "duf" @@ -35,6 +36,7 @@ packages: - "prettier" - "prettierd" - "pyenv" + - "rbw" - "ripgrep" - "ripgrep-all" - "shfmt" @@ -45,6 +47,7 @@ packages: - "yamllint" - "yaml-language-server" - "vivid" + - "w3m" - "zoxide" casks: - "alfred" From 96aad3110087030634911a603e90944960039aaa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 11:47:51 +0200 Subject: [PATCH 1928/2080] fish: start cleaning nix-darwin stuff --- .../private_fish/config.fish.tmpl | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index f7ea08d9..55a926cb 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -65,13 +65,7 @@ if status is-interactive if test (uname) = Darwin # Add path mainly used by brew fish_add_path /usr/local/bin - - # FIXME: to be removed - # Add nix directories to path missing in current kitty config - # fish_add_path "~/.nix-profile/bin" - # fish_add_path "/etc/profiles/per-user/$USER/bin" - # fish_add_path /run/current-system/sw/bin - # fish_add_path /nix/var/nix/profiles/default/bin + fish_add_path /usr/local/opt/coreutils/libexec/gnubin # https://spicetify.app if test -e ~/.spicetify @@ -104,17 +98,6 @@ if status is-interactive # Use clang++ from system with recent C++ version to build neorg treesitter # set -gx CC "/usr/bin/clang++ -std=c++17" - # XXX: not working - # Use clang++ from system with recent C++ version to build neorg treesitter - # function nvim - # env CC="/usr/bin/clang++ -std=c++17" /etc/profiles/per-user/$USER/bin/nvim $argv - # end - - # XXX: not working - # function vim - # env CC="/usr/bin/clang++ -std=c++17" /etc/profiles/per-user/$USER/bin/nvim $argv - # end - # Load pyenv # https://github.com/pyenv/pyenv/wiki/Common-build-problems set -x PYENV_ROOT $HOME/.pyenv From 49700f729b8eabd33e4534180cfed6c91ddf22dc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 11:50:01 +0200 Subject: [PATCH 1929/2080] Archive some legacy configuration --- .../iTerm2/DynamicProfiles/Perso.json | 0 flake.lock => deprecated/nix/flake.lock | 0 flake.nix => deprecated/nix/flake.nix | 0 .../nix/machines}/Baptistes-MBP/configuration.nix | 0 .../nix/machines}/Baptistes-MBP/default.nix | 0 .../nix/machines}/brutal/configuration.nix | 0 .../nix/machines}/brutal/default.nix | 0 .../nix/machines}/brutal/hardware-configuration.nix | 0 .../nix/modules}/home/emacs/default.nix | 0 .../nix/modules}/home/fish/default.nix | 0 .../nix/modules}/home/kitty/default.nix | 0 .../nix/modules}/home/kitty/dracula.conf | 0 .../nix/modules}/home/kitty/tokyonight_moon.conf | 0 .../nix/modules}/home/kitty/tokyonight_storm.conf | 0 .../nix/modules}/home/lbdb/default.nix | 0 {modules => deprecated/nix/modules}/home/lbdb/lbdbrc | 0 .../home/mail/colors-solarized-dark-256.muttrc | 0 .../nix/modules}/home/mail/default.nix | 0 .../nix/modules}/home/mail/mailcap-darwin | 0 .../nix/modules}/home/mail/mailcap-linux | 0 .../nix/modules}/home/tmux/default.nix | 0 .../nix/modules}/home/wezterm/default.nix | 0 .../nix/modules}/home/wm/default.nix | 0 {modules => deprecated/nix/modules}/home/wm/i3.nix | 0 .../nix/modules}/system/bootstrap.nix | 0 .../nix/modules}/system/postfix/default.nix | 0 {modules => deprecated/nix/modules}/system/users.nix | 0 .../nix/modules}/system/yabai/default.nix | 0 .../nix/modules}/system/yabai/keycodes.nix | 0 lazyvim/README.md | 11 ----------- 30 files changed, 11 deletions(-) rename {Library => deprecated/Library}/Application Support/iTerm2/DynamicProfiles/Perso.json (100%) rename flake.lock => deprecated/nix/flake.lock (100%) rename flake.nix => deprecated/nix/flake.nix (100%) rename {machines => deprecated/nix/machines}/Baptistes-MBP/configuration.nix (100%) rename {machines => deprecated/nix/machines}/Baptistes-MBP/default.nix (100%) rename {machines => deprecated/nix/machines}/brutal/configuration.nix (100%) rename {machines => deprecated/nix/machines}/brutal/default.nix (100%) rename {machines => deprecated/nix/machines}/brutal/hardware-configuration.nix (100%) rename {modules => deprecated/nix/modules}/home/emacs/default.nix (100%) rename {modules => deprecated/nix/modules}/home/fish/default.nix (100%) rename {modules => deprecated/nix/modules}/home/kitty/default.nix (100%) rename {modules => deprecated/nix/modules}/home/kitty/dracula.conf (100%) rename {modules => deprecated/nix/modules}/home/kitty/tokyonight_moon.conf (100%) rename {modules => deprecated/nix/modules}/home/kitty/tokyonight_storm.conf (100%) rename {modules => deprecated/nix/modules}/home/lbdb/default.nix (100%) rename {modules => deprecated/nix/modules}/home/lbdb/lbdbrc (100%) rename {modules => deprecated/nix/modules}/home/mail/colors-solarized-dark-256.muttrc (100%) rename {modules => deprecated/nix/modules}/home/mail/default.nix (100%) rename {modules => deprecated/nix/modules}/home/mail/mailcap-darwin (100%) rename {modules => deprecated/nix/modules}/home/mail/mailcap-linux (100%) rename {modules => deprecated/nix/modules}/home/tmux/default.nix (100%) rename {modules => deprecated/nix/modules}/home/wezterm/default.nix (100%) rename {modules => deprecated/nix/modules}/home/wm/default.nix (100%) rename {modules => deprecated/nix/modules}/home/wm/i3.nix (100%) rename {modules => deprecated/nix/modules}/system/bootstrap.nix (100%) rename {modules => deprecated/nix/modules}/system/postfix/default.nix (100%) rename {modules => deprecated/nix/modules}/system/users.nix (100%) rename {modules => deprecated/nix/modules}/system/yabai/default.nix (100%) rename {modules => deprecated/nix/modules}/system/yabai/keycodes.nix (100%) delete mode 100644 lazyvim/README.md diff --git a/Library/Application Support/iTerm2/DynamicProfiles/Perso.json b/deprecated/Library/Application Support/iTerm2/DynamicProfiles/Perso.json similarity index 100% rename from Library/Application Support/iTerm2/DynamicProfiles/Perso.json rename to deprecated/Library/Application Support/iTerm2/DynamicProfiles/Perso.json diff --git a/flake.lock b/deprecated/nix/flake.lock similarity index 100% rename from flake.lock rename to deprecated/nix/flake.lock diff --git a/flake.nix b/deprecated/nix/flake.nix similarity index 100% rename from flake.nix rename to deprecated/nix/flake.nix diff --git a/machines/Baptistes-MBP/configuration.nix b/deprecated/nix/machines/Baptistes-MBP/configuration.nix similarity index 100% rename from machines/Baptistes-MBP/configuration.nix rename to deprecated/nix/machines/Baptistes-MBP/configuration.nix diff --git a/machines/Baptistes-MBP/default.nix b/deprecated/nix/machines/Baptistes-MBP/default.nix similarity index 100% rename from machines/Baptistes-MBP/default.nix rename to deprecated/nix/machines/Baptistes-MBP/default.nix diff --git a/machines/brutal/configuration.nix b/deprecated/nix/machines/brutal/configuration.nix similarity index 100% rename from machines/brutal/configuration.nix rename to deprecated/nix/machines/brutal/configuration.nix diff --git a/machines/brutal/default.nix b/deprecated/nix/machines/brutal/default.nix similarity index 100% rename from machines/brutal/default.nix rename to deprecated/nix/machines/brutal/default.nix diff --git a/machines/brutal/hardware-configuration.nix b/deprecated/nix/machines/brutal/hardware-configuration.nix similarity index 100% rename from machines/brutal/hardware-configuration.nix rename to deprecated/nix/machines/brutal/hardware-configuration.nix diff --git a/modules/home/emacs/default.nix b/deprecated/nix/modules/home/emacs/default.nix similarity index 100% rename from modules/home/emacs/default.nix rename to deprecated/nix/modules/home/emacs/default.nix diff --git a/modules/home/fish/default.nix b/deprecated/nix/modules/home/fish/default.nix similarity index 100% rename from modules/home/fish/default.nix rename to deprecated/nix/modules/home/fish/default.nix diff --git a/modules/home/kitty/default.nix b/deprecated/nix/modules/home/kitty/default.nix similarity index 100% rename from modules/home/kitty/default.nix rename to deprecated/nix/modules/home/kitty/default.nix diff --git a/modules/home/kitty/dracula.conf b/deprecated/nix/modules/home/kitty/dracula.conf similarity index 100% rename from modules/home/kitty/dracula.conf rename to deprecated/nix/modules/home/kitty/dracula.conf diff --git a/modules/home/kitty/tokyonight_moon.conf b/deprecated/nix/modules/home/kitty/tokyonight_moon.conf similarity index 100% rename from modules/home/kitty/tokyonight_moon.conf rename to deprecated/nix/modules/home/kitty/tokyonight_moon.conf diff --git a/modules/home/kitty/tokyonight_storm.conf b/deprecated/nix/modules/home/kitty/tokyonight_storm.conf similarity index 100% rename from modules/home/kitty/tokyonight_storm.conf rename to deprecated/nix/modules/home/kitty/tokyonight_storm.conf diff --git a/modules/home/lbdb/default.nix b/deprecated/nix/modules/home/lbdb/default.nix similarity index 100% rename from modules/home/lbdb/default.nix rename to deprecated/nix/modules/home/lbdb/default.nix diff --git a/modules/home/lbdb/lbdbrc b/deprecated/nix/modules/home/lbdb/lbdbrc similarity index 100% rename from modules/home/lbdb/lbdbrc rename to deprecated/nix/modules/home/lbdb/lbdbrc diff --git a/modules/home/mail/colors-solarized-dark-256.muttrc b/deprecated/nix/modules/home/mail/colors-solarized-dark-256.muttrc similarity index 100% rename from modules/home/mail/colors-solarized-dark-256.muttrc rename to deprecated/nix/modules/home/mail/colors-solarized-dark-256.muttrc diff --git a/modules/home/mail/default.nix b/deprecated/nix/modules/home/mail/default.nix similarity index 100% rename from modules/home/mail/default.nix rename to deprecated/nix/modules/home/mail/default.nix diff --git a/modules/home/mail/mailcap-darwin b/deprecated/nix/modules/home/mail/mailcap-darwin similarity index 100% rename from modules/home/mail/mailcap-darwin rename to deprecated/nix/modules/home/mail/mailcap-darwin diff --git a/modules/home/mail/mailcap-linux b/deprecated/nix/modules/home/mail/mailcap-linux similarity index 100% rename from modules/home/mail/mailcap-linux rename to deprecated/nix/modules/home/mail/mailcap-linux diff --git a/modules/home/tmux/default.nix b/deprecated/nix/modules/home/tmux/default.nix similarity index 100% rename from modules/home/tmux/default.nix rename to deprecated/nix/modules/home/tmux/default.nix diff --git a/modules/home/wezterm/default.nix b/deprecated/nix/modules/home/wezterm/default.nix similarity index 100% rename from modules/home/wezterm/default.nix rename to deprecated/nix/modules/home/wezterm/default.nix diff --git a/modules/home/wm/default.nix b/deprecated/nix/modules/home/wm/default.nix similarity index 100% rename from modules/home/wm/default.nix rename to deprecated/nix/modules/home/wm/default.nix diff --git a/modules/home/wm/i3.nix b/deprecated/nix/modules/home/wm/i3.nix similarity index 100% rename from modules/home/wm/i3.nix rename to deprecated/nix/modules/home/wm/i3.nix diff --git a/modules/system/bootstrap.nix b/deprecated/nix/modules/system/bootstrap.nix similarity index 100% rename from modules/system/bootstrap.nix rename to deprecated/nix/modules/system/bootstrap.nix diff --git a/modules/system/postfix/default.nix b/deprecated/nix/modules/system/postfix/default.nix similarity index 100% rename from modules/system/postfix/default.nix rename to deprecated/nix/modules/system/postfix/default.nix diff --git a/modules/system/users.nix b/deprecated/nix/modules/system/users.nix similarity index 100% rename from modules/system/users.nix rename to deprecated/nix/modules/system/users.nix diff --git a/modules/system/yabai/default.nix b/deprecated/nix/modules/system/yabai/default.nix similarity index 100% rename from modules/system/yabai/default.nix rename to deprecated/nix/modules/system/yabai/default.nix diff --git a/modules/system/yabai/keycodes.nix b/deprecated/nix/modules/system/yabai/keycodes.nix similarity index 100% rename from modules/system/yabai/keycodes.nix rename to deprecated/nix/modules/system/yabai/keycodes.nix diff --git a/lazyvim/README.md b/lazyvim/README.md deleted file mode 100644 index d0639238..00000000 --- a/lazyvim/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# LazyVim - -neovim configuration based on [LazyVim/LazyVim](https://github.com/LazyVim/LazyVim). - -```shell -# Backup existing configuration -$ mv ~/.config/nvim ~/.config/nvim.bak -$ mv ~/.local/share/nvim ~/.local/share/nvim.bak -# Link new configuration -$ ln -s ~/code/repos/dotfiles/lazyvim/nvim/ ~/.config/nvim -``` From 6b91327121687e0a6027ef269fdd18a4e304e42d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 7 Aug 2024 11:51:16 +0200 Subject: [PATCH 1930/2080] Archive legacy nix configuration --- {home => deprecated/nix/home}/firefox.nix | 0 {home => deprecated/nix/home}/git.nix | 0 {home => deprecated/nix/home}/keybase.nix | 0 {home => deprecated/nix/home}/lsp.nix | 0 {home => deprecated/nix/home}/main.nix | 0 {home => deprecated/nix/home}/neovim.nix | 0 {home => deprecated/nix/home}/starship-symbols.nix | 0 {home => deprecated/nix/home}/starship.nix | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename {home => deprecated/nix/home}/firefox.nix (100%) rename {home => deprecated/nix/home}/git.nix (100%) rename {home => deprecated/nix/home}/keybase.nix (100%) rename {home => deprecated/nix/home}/lsp.nix (100%) rename {home => deprecated/nix/home}/main.nix (100%) rename {home => deprecated/nix/home}/neovim.nix (100%) rename {home => deprecated/nix/home}/starship-symbols.nix (100%) rename {home => deprecated/nix/home}/starship.nix (100%) diff --git a/home/firefox.nix b/deprecated/nix/home/firefox.nix similarity index 100% rename from home/firefox.nix rename to deprecated/nix/home/firefox.nix diff --git a/home/git.nix b/deprecated/nix/home/git.nix similarity index 100% rename from home/git.nix rename to deprecated/nix/home/git.nix diff --git a/home/keybase.nix b/deprecated/nix/home/keybase.nix similarity index 100% rename from home/keybase.nix rename to deprecated/nix/home/keybase.nix diff --git a/home/lsp.nix b/deprecated/nix/home/lsp.nix similarity index 100% rename from home/lsp.nix rename to deprecated/nix/home/lsp.nix diff --git a/home/main.nix b/deprecated/nix/home/main.nix similarity index 100% rename from home/main.nix rename to deprecated/nix/home/main.nix diff --git a/home/neovim.nix b/deprecated/nix/home/neovim.nix similarity index 100% rename from home/neovim.nix rename to deprecated/nix/home/neovim.nix diff --git a/home/starship-symbols.nix b/deprecated/nix/home/starship-symbols.nix similarity index 100% rename from home/starship-symbols.nix rename to deprecated/nix/home/starship-symbols.nix diff --git a/home/starship.nix b/deprecated/nix/home/starship.nix similarity index 100% rename from home/starship.nix rename to deprecated/nix/home/starship.nix From fdbd785562002023d1f32ca005497f72a8848719 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Aug 2024 14:23:43 +0200 Subject: [PATCH 1931/2080] darwin: manage more pacakges with brew --- home/.chezmoidata/packages.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 694d1691..1a65ff70 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -4,6 +4,7 @@ packages: - "ansible-language-server" - "ansible-lint" - "bat" + - "bash" - "bitwarden-cli" - "black" - "chezmoi" @@ -15,11 +16,14 @@ packages: - "fd" - "fetch-crl" - "fish" + - "flake8" - "fzf" - "git" - "git-delta" - "glances" - "gnu-sed" + - "gnupg" + - "gpgme" - "isync" - "jq" - "khal" @@ -33,6 +37,9 @@ packages: - "mutt" - "neovim" - "oidc-agent" + - "pandoc" + - "pinentry" + - "pinentry-mac" - "prettier" - "prettierd" - "pyenv" @@ -46,6 +53,7 @@ packages: - "tree" - "yamllint" - "yaml-language-server" + - "yazi" - "vivid" - "w3m" - "zoxide" From 8226634b9d5404fc8a2402ab630f199c2bad1381 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Aug 2024 14:42:24 +0200 Subject: [PATCH 1932/2080] Import bgedit-screen-tmux.sh --- home/bin/executable_bgedit-screen-tmux.sh | 66 +++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 home/bin/executable_bgedit-screen-tmux.sh diff --git a/home/bin/executable_bgedit-screen-tmux.sh b/home/bin/executable_bgedit-screen-tmux.sh new file mode 100644 index 00000000..5124d957 --- /dev/null +++ b/home/bin/executable_bgedit-screen-tmux.sh @@ -0,0 +1,66 @@ +#!/bin/sh +# +# Copyright (C) 2020 Kevin J. McCarthy <kevin@8t8.us> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Invoke a background edit session in a new GNU Screen or tmux window. +# +# This script is derived from Aaron Schrab's tmuxwait script, posted to +# mutt-dev at +# <http://lists.mutt.org/pipermail/mutt-dev/Week-of-Mon-20200406/000591.html>. +# +# If you run mutt inside screen or tmux, add to your muttrc: +# set background_edit +# set editor = '/path/to/bgedit-screen-tmux.sh [youreditor]' +# +# It may also be useful to modify something like contrib/bgedit-detectgui.sh +# to look for the $STY or $TMUX environment variables and set those +# configuration variables appropriately. +# + +set -e + +if [ "$#" -lt 2 ]; then + echo "Usage: $0 editor tempfile" >&2 + exit 1 +fi + +editor=$1 +shift + +tmpdir=$(mktemp -d) +trap 'rm -rf "$tmpdir"' EXIT INT QUIT +mkfifo "$tmpdir/status" + +cat >"$tmpdir/run" <<END_SCRIPT +exitval=1 +trap 'echo \$exitval > "$tmpdir/status"' EXIT INT QUIT +$editor "\$@" +exitval=\$? +END_SCRIPT + +if test x$STY != x; then + screen -X screen /bin/sh "$tmpdir/run" "$@" +elif test x$TMUX != x; then + tmux neww /bin/sh "$tmpdir/run" "$@" +else + echo "Not running inside a terminal emulator" >&2 + exit 1 +fi + +read exitval <"$tmpdir/status" +exit "$exitval" + From 712cc0bbd436a1fe46b5372818e13339429a184b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Aug 2024 14:42:44 +0200 Subject: [PATCH 1933/2080] Import gnupg conf --- home/private_dot_gnupg/private_dirmngr.conf | 1 + home/private_dot_gnupg/private_gpg-agent.conf.tmpl | 10 ++++++++++ home/private_dot_gnupg/private_gpg.conf | 6 ++++++ 3 files changed, 17 insertions(+) create mode 100644 home/private_dot_gnupg/private_dirmngr.conf create mode 100644 home/private_dot_gnupg/private_gpg-agent.conf.tmpl create mode 100644 home/private_dot_gnupg/private_gpg.conf diff --git a/home/private_dot_gnupg/private_dirmngr.conf b/home/private_dot_gnupg/private_dirmngr.conf new file mode 100644 index 00000000..3cd1a330 --- /dev/null +++ b/home/private_dot_gnupg/private_dirmngr.conf @@ -0,0 +1 @@ +keyserver hkps://hkps.pool.sks-keyservers.net diff --git a/home/private_dot_gnupg/private_gpg-agent.conf.tmpl b/home/private_dot_gnupg/private_gpg-agent.conf.tmpl new file mode 100644 index 00000000..526fb051 --- /dev/null +++ b/home/private_dot_gnupg/private_gpg-agent.conf.tmpl @@ -0,0 +1,10 @@ +{{- if eq .chezmoi.os "darwin" -}} +# use pinentry progam allowing to use keychain +# https://merikan.com/2019/05/how-to-sign-git-commits/ +pinentry-program /usr/local/bin/pinentry-mac +{{- end }} +# pinentry-program /usr/local/bin/pinentry +default-cache-ttl 600 +max-cache-ttl 7200 +default-cache-ttl-ssh 600 +max-cache-ttl-ssh 7200 diff --git a/home/private_dot_gnupg/private_gpg.conf b/home/private_dot_gnupg/private_gpg.conf new file mode 100644 index 00000000..5a1eb6dc --- /dev/null +++ b/home/private_dot_gnupg/private_gpg.conf @@ -0,0 +1,6 @@ +# Old key +# default-key 9011A67E3A73CDF575FA841C7BCC5A972762EBA1 +# New key +default-key 46BDC6B3DE10CB983B880095022A860ECDA18F02 +# batch +no-emit-version From 5e11bafa27942d7b54823e6416e60a520b8d8851 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Aug 2024 14:49:30 +0200 Subject: [PATCH 1934/2080] Move bin files to chezmoi --- bin/bgedit-screen-tmux.sh | 66 ------------------- .../bin/executable_24-bit-color.sh | 0 .../bin/executable_add_contact | 0 .../bin/executable_add_event | 0 .../bin/executable_autostart.sh | 0 .../bin/executable_color-spaces.pl | 0 .../bin/executable_colors.py | 0 .../bin/executable_createsign | 0 .../bin/executable_dual-screen | 0 .../bin/executable_gnomekeyring-helpers.py | 0 .../bin/executable_launch_bar | 0 .../bin/executable_lemonbar.sh | 0 .../bin/executable_mutt_bgrun | 0 .../bin/executable_setup_kinesis_keyboard | 0 .../bin/executable_true-color.sh | 0 15 files changed, 66 deletions(-) delete mode 100755 bin/bgedit-screen-tmux.sh rename bin/24-bit-color.sh => home/bin/executable_24-bit-color.sh (100%) mode change 100755 => 100644 rename bin/add_contact => home/bin/executable_add_contact (100%) mode change 100755 => 100644 rename bin/add_event => home/bin/executable_add_event (100%) mode change 100755 => 100644 rename bin/autostart.sh => home/bin/executable_autostart.sh (100%) mode change 100755 => 100644 rename bin/color-spaces.pl => home/bin/executable_color-spaces.pl (100%) mode change 100755 => 100644 rename bin/colors.py => home/bin/executable_colors.py (100%) mode change 100755 => 100644 rename bin/createsign => home/bin/executable_createsign (100%) mode change 100755 => 100644 rename bin/dual-screen => home/bin/executable_dual-screen (100%) mode change 100755 => 100644 rename bin/gnomekeyring-helpers.py => home/bin/executable_gnomekeyring-helpers.py (100%) mode change 100755 => 100644 rename bin/launch_bar => home/bin/executable_launch_bar (100%) mode change 100755 => 100644 rename bin/lemonbar.sh => home/bin/executable_lemonbar.sh (100%) mode change 100755 => 100644 rename bin/mutt_bgrun => home/bin/executable_mutt_bgrun (100%) mode change 100755 => 100644 rename bin/setup_kinesis_keyboard => home/bin/executable_setup_kinesis_keyboard (100%) mode change 100755 => 100644 rename bin/true-color.sh => home/bin/executable_true-color.sh (100%) mode change 100755 => 100644 diff --git a/bin/bgedit-screen-tmux.sh b/bin/bgedit-screen-tmux.sh deleted file mode 100755 index 5124d957..00000000 --- a/bin/bgedit-screen-tmux.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2020 Kevin J. McCarthy <kevin@8t8.us> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# Invoke a background edit session in a new GNU Screen or tmux window. -# -# This script is derived from Aaron Schrab's tmuxwait script, posted to -# mutt-dev at -# <http://lists.mutt.org/pipermail/mutt-dev/Week-of-Mon-20200406/000591.html>. -# -# If you run mutt inside screen or tmux, add to your muttrc: -# set background_edit -# set editor = '/path/to/bgedit-screen-tmux.sh [youreditor]' -# -# It may also be useful to modify something like contrib/bgedit-detectgui.sh -# to look for the $STY or $TMUX environment variables and set those -# configuration variables appropriately. -# - -set -e - -if [ "$#" -lt 2 ]; then - echo "Usage: $0 editor tempfile" >&2 - exit 1 -fi - -editor=$1 -shift - -tmpdir=$(mktemp -d) -trap 'rm -rf "$tmpdir"' EXIT INT QUIT -mkfifo "$tmpdir/status" - -cat >"$tmpdir/run" <<END_SCRIPT -exitval=1 -trap 'echo \$exitval > "$tmpdir/status"' EXIT INT QUIT -$editor "\$@" -exitval=\$? -END_SCRIPT - -if test x$STY != x; then - screen -X screen /bin/sh "$tmpdir/run" "$@" -elif test x$TMUX != x; then - tmux neww /bin/sh "$tmpdir/run" "$@" -else - echo "Not running inside a terminal emulator" >&2 - exit 1 -fi - -read exitval <"$tmpdir/status" -exit "$exitval" - diff --git a/bin/24-bit-color.sh b/home/bin/executable_24-bit-color.sh old mode 100755 new mode 100644 similarity index 100% rename from bin/24-bit-color.sh rename to home/bin/executable_24-bit-color.sh diff --git a/bin/add_contact b/home/bin/executable_add_contact old mode 100755 new mode 100644 similarity index 100% rename from bin/add_contact rename to home/bin/executable_add_contact diff --git a/bin/add_event b/home/bin/executable_add_event old mode 100755 new mode 100644 similarity index 100% rename from bin/add_event rename to home/bin/executable_add_event diff --git a/bin/autostart.sh b/home/bin/executable_autostart.sh old mode 100755 new mode 100644 similarity index 100% rename from bin/autostart.sh rename to home/bin/executable_autostart.sh diff --git a/bin/color-spaces.pl b/home/bin/executable_color-spaces.pl old mode 100755 new mode 100644 similarity index 100% rename from bin/color-spaces.pl rename to home/bin/executable_color-spaces.pl diff --git a/bin/colors.py b/home/bin/executable_colors.py old mode 100755 new mode 100644 similarity index 100% rename from bin/colors.py rename to home/bin/executable_colors.py diff --git a/bin/createsign b/home/bin/executable_createsign old mode 100755 new mode 100644 similarity index 100% rename from bin/createsign rename to home/bin/executable_createsign diff --git a/bin/dual-screen b/home/bin/executable_dual-screen old mode 100755 new mode 100644 similarity index 100% rename from bin/dual-screen rename to home/bin/executable_dual-screen diff --git a/bin/gnomekeyring-helpers.py b/home/bin/executable_gnomekeyring-helpers.py old mode 100755 new mode 100644 similarity index 100% rename from bin/gnomekeyring-helpers.py rename to home/bin/executable_gnomekeyring-helpers.py diff --git a/bin/launch_bar b/home/bin/executable_launch_bar old mode 100755 new mode 100644 similarity index 100% rename from bin/launch_bar rename to home/bin/executable_launch_bar diff --git a/bin/lemonbar.sh b/home/bin/executable_lemonbar.sh old mode 100755 new mode 100644 similarity index 100% rename from bin/lemonbar.sh rename to home/bin/executable_lemonbar.sh diff --git a/bin/mutt_bgrun b/home/bin/executable_mutt_bgrun old mode 100755 new mode 100644 similarity index 100% rename from bin/mutt_bgrun rename to home/bin/executable_mutt_bgrun diff --git a/bin/setup_kinesis_keyboard b/home/bin/executable_setup_kinesis_keyboard old mode 100755 new mode 100644 similarity index 100% rename from bin/setup_kinesis_keyboard rename to home/bin/executable_setup_kinesis_keyboard diff --git a/bin/true-color.sh b/home/bin/executable_true-color.sh old mode 100755 new mode 100644 similarity index 100% rename from bin/true-color.sh rename to home/bin/executable_true-color.sh From 452e17feda30cd8db3b7dd0977317ddd3d1e6343 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Aug 2024 14:53:05 +0200 Subject: [PATCH 1935/2080] Move notmuch files to chezmoi --- home/.chezmoiignore | 3 +++ .../private_Mail/dot_notmuch/hooks/executable_notmuch-response | 0 .../private_Mail/dot_notmuch/hooks/executable_post-new | 0 3 files changed, 3 insertions(+) rename Mail/.notmuch/hooks/notmuch-response => home/private_Mail/dot_notmuch/hooks/executable_notmuch-response (100%) mode change 100755 => 100644 rename Mail/.notmuch/hooks/post-new##os.Linux => home/private_Mail/dot_notmuch/hooks/executable_post-new (100%) diff --git a/home/.chezmoiignore b/home/.chezmoiignore index 1c3e9115..556b634f 100644 --- a/home/.chezmoiignore +++ b/home/.chezmoiignore @@ -4,3 +4,6 @@ private_dot_config/nvim/spell/en.utf-8.add {{- if ne .chezmoi.os "darwin" }} Library/** {{- end }} +{{- if ne .chezmoi.os "linux" }} +home/private_Mail/dot_notmuch/hooks/executable_post-new +{{- end }} diff --git a/Mail/.notmuch/hooks/notmuch-response b/home/private_Mail/dot_notmuch/hooks/executable_notmuch-response old mode 100755 new mode 100644 similarity index 100% rename from Mail/.notmuch/hooks/notmuch-response rename to home/private_Mail/dot_notmuch/hooks/executable_notmuch-response diff --git a/Mail/.notmuch/hooks/post-new##os.Linux b/home/private_Mail/dot_notmuch/hooks/executable_post-new similarity index 100% rename from Mail/.notmuch/hooks/post-new##os.Linux rename to home/private_Mail/dot_notmuch/hooks/executable_post-new From 782af1b82c67f4884fae617ffdbf84d923436a37 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 8 Aug 2024 14:54:24 +0200 Subject: [PATCH 1936/2080] chezmoi: fix exclusion --- home/.chezmoiignore | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/home/.chezmoiignore b/home/.chezmoiignore index 556b634f..f788360f 100644 --- a/home/.chezmoiignore +++ b/home/.chezmoiignore @@ -1,9 +1,9 @@ *.nix -private_dot_config/nvim/spell/en.utf-8.add.spl -private_dot_config/nvim/spell/en.utf-8.add +.config/nvim/spell/en.utf-8.add.spl +.config/nvim/spell/en.utf-8.add {{- if ne .chezmoi.os "darwin" }} Library/** {{- end }} {{- if ne .chezmoi.os "linux" }} -home/private_Mail/dot_notmuch/hooks/executable_post-new +Mail/.notmuch/hooks/post-new {{- end }} From dd5180268d3eb3ccff5ae5a5352eb1ac08e4d596 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 12 Aug 2024 12:35:23 +0200 Subject: [PATCH 1937/2080] darwin: Install lua-language-server --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 1a65ff70..3813617f 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -32,6 +32,7 @@ packages: - "lazygit" - "ldapvi" - "lsd" + - "lua-language-server" - "markdownlint-cli2" - "msmtp" - "mutt" From 013c682dbc27ddf581b705ab0e5737057e2cf107 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 12 Aug 2024 14:03:27 +0200 Subject: [PATCH 1938/2080] darwin: install ltex-ls --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 3813617f..5d212da0 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -32,6 +32,7 @@ packages: - "lazygit" - "ldapvi" - "lsd" + - "ltex-ls" - "lua-language-server" - "markdownlint-cli2" - "msmtp" From 4416c06906d5fb3694afe7c2d2c97e68ac28b422 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 12 Aug 2024 14:03:42 +0200 Subject: [PATCH 1939/2080] chezmoi: import template for config file --- home/.chezmoi.toml.tmpl | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 home/.chezmoi.toml.tmpl diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl new file mode 100644 index 00000000..ba30dbcb --- /dev/null +++ b/home/.chezmoi.toml.tmpl @@ -0,0 +1,2 @@ +[edit] + command = "nvim" From 924db63d916d7913b76362c6cbcb1fb6756926d9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Aug 2024 09:37:11 +0200 Subject: [PATCH 1940/2080] chezmoi: install more apps on darwin. Sort. --- home/.chezmoidata/packages.yaml | 37 ++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 5d212da0..17952519 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -3,13 +3,14 @@ packages: brews: - "ansible-language-server" - "ansible-lint" - - "bat" - "bash" + - "bat" - "bitwarden-cli" - "black" - "chezmoi" - "coreutils" - "direnv" + - "docker" - "doggo" - "duf" - "dust" @@ -53,26 +54,46 @@ packages: - "stylua" - "tmux" - "tree" - - "yamllint" - - "yaml-language-server" - - "yazi" - "vivid" - "w3m" + - "yaml-language-server" + - "yamllint" + - "yazi" - "zoxide" casks: + - "adobe-acrobat-reader" - "alfred" + - "balenaetcher" + - "bitwarden" + - "brave-browser" - "drawio" + - "firefox" - "font-jetbrains-mono-nerd-font" + - "github" - "keybase" - "kitty" + - "libreoffice" + - "libreoffice-language-pack" - "maccy" + - "obsidian" + - "protonvpn" + - "qflipper" - "rectangle" + - "signal" + - "skyfonts" + - "skype" - "slack" + - "spotify" - "stretchly" + - "sublime-text" - "teamviewer" - "vagrant" - "virtualbox" + - "visual-studio-code" - "vlc" + - "webex" + - "yubico-yubikey-manager" + - "zoom" freebsd: pkgs: - "bash" @@ -83,27 +104,27 @@ packages: - "dust" - "fd-find" - "fish" - - "fzf" - "fuse" + - "fzf" - "git" - "git-delta" - "glances" - "google-fonts" - "isync" - "jq" - - "khard" - "kbfsd" - "keybase" + - "khard" - "kitty" - "lazygit" - "lsd" - "msmtp" - "mutt" - - "neovim" - "neomutt" + - "neovim" - "nerd-fonts" - - "python" - "portlint" + - "python" - "ripgrep" - "ripgrep-all" - "shfmt" From 5432839fd0d206447b597b460d34f88f4fc065ef Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Aug 2024 09:56:24 +0200 Subject: [PATCH 1941/2080] Use mas to install AppStore apps on Darwin --- home/.chezmoidata/packages.yaml | 5 ++++- home/run_onchange_install-packages.sh.tmpl | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 17952519..bdab0708 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -1,4 +1,5 @@ packages: + # XXX: bitwarden browser integration only works for appstore app darwin: brews: - "ansible-language-server" @@ -36,6 +37,7 @@ packages: - "ltex-ls" - "lua-language-server" - "markdownlint-cli2" + - "mas" - "msmtp" - "mutt" - "neovim" @@ -64,7 +66,6 @@ packages: - "adobe-acrobat-reader" - "alfred" - "balenaetcher" - - "bitwarden" - "brave-browser" - "drawio" - "firefox" @@ -94,6 +95,8 @@ packages: - "webex" - "yubico-yubikey-manager" - "zoom" + appstore: + - "bitwarden" freebsd: pkgs: - "bash" diff --git a/home/run_onchange_install-packages.sh.tmpl b/home/run_onchange_install-packages.sh.tmpl index d9b31446..6646798e 100644 --- a/home/run_onchange_install-packages.sh.tmpl +++ b/home/run_onchange_install-packages.sh.tmpl @@ -15,4 +15,7 @@ brew {{ . | quote }} cask {{ . | quote }} {{ end -}} EOF +{{ range .packages.darwin.appstore -}} +mas install {{ . | quote }} +{{ end -}} {{ end -}} From 50cee84274d0491de5ab6e5a57f7c5672adc5065 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Aug 2024 10:04:14 +0200 Subject: [PATCH 1942/2080] Chemoi: add more AppStore packages --- home/.chezmoidata/packages.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index bdab0708..943e6ee6 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -96,7 +96,16 @@ packages: - "yubico-yubikey-manager" - "zoom" appstore: - - "bitwarden" + # Bitwarden + - "1352778147" + # Gorp + - "1480054463" + # WireGuard + - "1451685025" + # eduVPN + - "1317704208" + # Xcode + - "497799835" freebsd: pkgs: - "bash" From b4f62c1da76c9dde955150bfd168e30e903118b1 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Aug 2024 11:21:14 +0200 Subject: [PATCH 1943/2080] chezmoi: install more apps on darwin. --- home/.chezmoidata/packages.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 943e6ee6..7aeade96 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -8,6 +8,7 @@ packages: - "bat" - "bitwarden-cli" - "black" + - "checkmake" - "chezmoi" - "coreutils" - "direnv" @@ -26,6 +27,8 @@ packages: - "gnu-sed" - "gnupg" - "gpgme" + - "hub" + - "isort" - "isync" - "jq" - "khal" @@ -34,12 +37,15 @@ packages: - "lazygit" - "ldapvi" - "lsd" + - "lsusb" - "ltex-ls" - "lua-language-server" + - "luajit" - "markdownlint-cli2" - "mas" - "msmtp" - "mutt" + - "ncftp" - "neovim" - "oidc-agent" - "pandoc" @@ -47,15 +53,21 @@ packages: - "pinentry-mac" - "prettier" - "prettierd" + - "pstree" - "pyenv" - "rbw" - "ripgrep" - "ripgrep-all" + - "rpm2cpio" + - "screenfetch" - "shfmt" - "starship" - "stylua" + - "testssl" - "tmux" - "tree" + - "tree-sitter" + - "urlview" - "vivid" - "w3m" - "yaml-language-server" @@ -71,6 +83,7 @@ packages: - "firefox" - "font-jetbrains-mono-nerd-font" - "github" + - "google-drive" - "keybase" - "kitty" - "libreoffice" From 65c6b7d909ead24bacb41ebb3641895cbdac60c6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Aug 2024 14:06:00 +0200 Subject: [PATCH 1944/2080] chezmoi: make vim an alias to nvim and not an abbreviation --- home/.chezmoidata/packages.yaml | 2 ++ home/private_dot_config/private_fish/config.fish.tmpl | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 7aeade96..f35bdedf 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -1,5 +1,6 @@ packages: # XXX: bitwarden browser integration only works for appstore app + # karabiner-elements is used to swap ESC and CAPSLOCK darwin: brews: - "ansible-language-server" @@ -84,6 +85,7 @@ packages: - "font-jetbrains-mono-nerd-font" - "github" - "google-drive" + - "karabiner-elements" - "keybase" - "kitty" - "libreoffice" diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 55a926cb..ac3280db 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -27,7 +27,6 @@ if status is-interactive # Abbreviations abbr -a :q exit abbr -a g git - abbr -a vim nvim abbr -a ch chezmoi abbr -a chze chezmoi edit abbr -a chza chezmoi apply @@ -54,6 +53,7 @@ if status is-interactive {{ end -}} alias mv="mv -i" alias cp="cp -i" + alias vim="nvim" # nvim! set EDITOR nvim From 4547787cdf5f6544555905672a17dcb11bb6642f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 14 Aug 2024 14:40:45 +0200 Subject: [PATCH 1945/2080] mutt: use sendmail from macOS to autostart postfix --- home/private_dot_config/neomutt/profile-maildir.egi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home/private_dot_config/neomutt/profile-maildir.egi b/home/private_dot_config/neomutt/profile-maildir.egi index 7089609d..3940d7fb 100644 --- a/home/private_dot_config/neomutt/profile-maildir.egi +++ b/home/private_dot_config/neomutt/profile-maildir.egi @@ -16,10 +16,10 @@ set folder = ~/Mail/EGI # Queue mail if offline # /usr/local/Cellar/msmtp/1.6.6/share/msmtp/scripts/msmtpq/README.msmtpq -# set sendmail = "$HOME/bin/msmtpq" -set smtp_url = "smtp://127.0.0.1:25/" -set ssl_force_tls = no -set ssl_starttls = no +# Use sendmail from macOS system that autostarts postfix +# Checking logs with: +# log stream --predicate '(process == "smtpd") || (process == "smtp")' --info +set sendmail = "/usr/sbin/sendmail" # Don't wait for retrun code # set sendmail_wait = -1 From 91f742a1f4cd112dd4c1aa0be44876cad58bd421 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 17:28:31 +0200 Subject: [PATCH 1946/2080] Install debian packages --- home/.chezmoidata/packages.yaml | 73 +++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index f35bdedf..0bccc243 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -165,3 +165,76 @@ packages: - "zoxide" ports: linux: + pkgs: + - "kitty" + - "neovim" + # - "ansible-language-server" + - "ansible-lint" + - "bash" + - "bat" + # - "bitwarden-cli" + - "black" + # - "checkmake" + - "coreutils" + - "direnv" + - "docker" + - "duf" + # - "fd" + - "fish" + - "flake8" + - "fzf" + - "git" + # - "git-delta" + - "glances" + - "gnupg" + # - "gpgme" + - "hub" + - "isort" + - "isync" + - "jq" + - "khal" + - "khard" + - "ldapvi" + - "lsd" + # - "lsusb" + # - "ltex-ls" + # - "lua-language-server" + - "luajit" + # - "markdownlint-cli2" + - "msmtp" + - "mutt" + - "ncftp" + - "neovim" + - "pandoc" + - "pinentry-gnome3" + # - "prettier" + # - "prettierd" + # - "pstree" + # - "pyenv" + # - "rbw" + - "ripgrep" + # - "ripgrep-all" + - "screenfetch" + - "shfmt" + # - "starship" + # - "stylua" + - "snapd" + - "tmux" + - "tree" + # - "tree-sitter" + - "urlview" + - "vivid" + - "w3m" + - "yamllint" + # - "yazi" + - "zoxide" + snaps: + - "snapd" + - "chezmoi" + - "doggo" + - "dust" + - "languagetool" + - "lazygit" + - "obsidian" + - "testssl" + - "yaml-language-server" From 242223708464f5a9515f1504de40b42359fdf749 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 17:28:57 +0200 Subject: [PATCH 1947/2080] Install debian packages and snaps --- home/run_onchange_install-packages.sh.tmpl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/home/run_onchange_install-packages.sh.tmpl b/home/run_onchange_install-packages.sh.tmpl index 6646798e..f061c52d 100644 --- a/home/run_onchange_install-packages.sh.tmpl +++ b/home/run_onchange_install-packages.sh.tmpl @@ -18,4 +18,12 @@ EOF {{ range .packages.darwin.appstore -}} mas install {{ . | quote }} {{ end -}} +{{ else if eq .chezmoi.os "linux" -}} +#!/bin/sh +{{ range .packages.linux.pkgs -}} +sudo apt --no-install-recommends install -y {{ . | quote }} +{{ end -}} +{{ range .packages.linux.snaps -}} +sudo snap install {{ . | quote }} +{{ end -}} {{ end -}} From 9c6ae1f54262e45098ac6b4655c179eed4700d74 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 17:35:42 +0200 Subject: [PATCH 1948/2080] More --- home/.chezmoidata/packages.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 0bccc243..7d05d1f0 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -216,7 +216,6 @@ packages: # - "ripgrep-all" - "screenfetch" - "shfmt" - # - "starship" # - "stylua" - "snapd" - "tmux" @@ -236,5 +235,6 @@ packages: - "languagetool" - "lazygit" - "obsidian" + - "starship" - "testssl" - "yaml-language-server" From 7d291b5ced8516ef1a6c819f87804f6495ec7f7f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 18:51:01 +0200 Subject: [PATCH 1949/2080] Update packages for debian testing --- home/.chezmoidata/packages.yaml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 7d05d1f0..0ab6362d 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -172,22 +172,20 @@ packages: - "ansible-lint" - "bash" - "bat" - # - "bitwarden-cli" - "black" # - "checkmake" - "coreutils" - "direnv" - "docker" - "duf" - # - "fd" + - "fd-find" - "fish" - "flake8" - "fzf" - "git" - # - "git-delta" + - "git-delta" - "glances" - "gnupg" - # - "gpgme" - "hub" - "isort" - "isync" @@ -196,7 +194,6 @@ packages: - "khard" - "ldapvi" - "lsd" - # - "lsusb" # - "ltex-ls" # - "lua-language-server" - "luajit" @@ -204,12 +201,9 @@ packages: - "msmtp" - "mutt" - "ncftp" - - "neovim" - "pandoc" - "pinentry-gnome3" - # - "prettier" # - "prettierd" - # - "pstree" # - "pyenv" # - "rbw" - "ripgrep" @@ -218,6 +212,7 @@ packages: - "shfmt" # - "stylua" - "snapd" + - "testssl.sh" - "tmux" - "tree" # - "tree-sitter" @@ -228,13 +223,16 @@ packages: # - "yazi" - "zoxide" snaps: + - "bitwarden" + - "bw" - "snapd" - "chezmoi" - "doggo" - "dust" - "languagetool" - "lazygit" + - "nvim" - "obsidian" + - "prettier" - "starship" - - "testssl" - "yaml-language-server" From 71d9903ba1860095634a178ead437d9e50c9a8e9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 18:51:56 +0200 Subject: [PATCH 1950/2080] Fix fzf init --- home/private_dot_config/private_fish/config.fish.tmpl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index ac3280db..43c90c0c 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -154,10 +154,14 @@ if status is-interactive end zoxide init --cmd cd fish | source direnv hook fish | source - {{ if ne .chezmoi.os "freebsd" -}} + {{ if eq .chezmoi.os "darwin" -}} # XXX: fzf--fish is only valid with fzf >= 0.48.0 fzf --fish | source - {{ else -}} + {{ end -}} + {{ if eq .chezmoi.os "freebsd" -}} source /usr/local/share/examples/fzf/shell/key-bindings.fish {{ end -}} + if type -q batcat + alias bat=batcat + end end From 5aaa84eb79e1aeed233e174475f52e02bf1376eb Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 18:52:20 +0200 Subject: [PATCH 1951/2080] Make tmux.conf a template and fix fish path on linux --- .../private_dot_config/tmux/{tmux.conf => tmux.conf.tmpl} | 8 ++++++++ 1 file changed, 8 insertions(+) rename home/private_dot_config/tmux/{tmux.conf => tmux.conf.tmpl} (92%) diff --git a/home/private_dot_config/tmux/tmux.conf b/home/private_dot_config/tmux/tmux.conf.tmpl similarity index 92% rename from home/private_dot_config/tmux/tmux.conf rename to home/private_dot_config/tmux/tmux.conf.tmpl index 9dfeeae3..bc1ddfba 100644 --- a/home/private_dot_config/tmux/tmux.conf +++ b/home/private_dot_config/tmux/tmux.conf.tmpl @@ -16,8 +16,16 @@ set -g history-limit 2000 bind-key b send-prefix # Use fish as shell +{{ if eq .chezmoi.os "freebsd" -}} set -g default-command /usr/local/bin/fish set -g default-shell /usr/local/bin/fish +{{ else if eq .chezmoi.os "darwin" -}} +set -g default-command /usr/local/bin/fish +set -g default-shell /usr/local/bin/fish +{{ else if eq .chezmoi.os "linux" -}} +set -g default-command /usr/bin/fish +set -g default-shell /usr/bin/fish +{{ end -}} # automatically renumber tmux windows set -g renumber-windows on From 726800c17f377570584c25d34ba321f618ca5e49 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 19:31:35 +0200 Subject: [PATCH 1952/2080] More packages for debian testing --- home/.chezmoidata/packages.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 0ab6362d..41f60b64 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -216,9 +216,11 @@ packages: - "tmux" - "tree" # - "tree-sitter" + - "unzip" - "urlview" - "vivid" - "w3m" + - "wget" - "yamllint" # - "yazi" - "zoxide" From 2b7d80313c1f3963770dc1146fb5ff21e8329e36 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 19:31:49 +0200 Subject: [PATCH 1953/2080] Add scripts to install nerd fonts --- home/bin/executable_nerd-fonts.sh | 42 +++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 home/bin/executable_nerd-fonts.sh diff --git a/home/bin/executable_nerd-fonts.sh b/home/bin/executable_nerd-fonts.sh new file mode 100644 index 00000000..719726fd --- /dev/null +++ b/home/bin/executable_nerd-fonts.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# BitstreamVeraSansMono +# CodeNewRoman +# DroidSansMono +# FiraCode +# FiraMono +# Go-Mono +# Hack +# Hermit +# Meslo +# Noto +# Overpass +# ProggyClean +# RobotoMono +# SourceCodePro +# SpaceMono +# Ubuntu +# UbuntuMono +declare -a fonts=( + JetBrainsMono +) + +version='2.1.0' +fonts_dir="${HOME}/.local/share/fonts" + +if [[ ! -d "$fonts_dir" ]]; then + mkdir -p "$fonts_dir" +fi + +for font in "${fonts[@]}"; do + zip_file="${font}.zip" + download_url="https://github.com/ryanoasis/nerd-fonts/releases/download/v${version}/${zip_file}" + echo "Downloading $download_url" + wget "$download_url" + unzip "$zip_file" -d "$fonts_dir" + rm "$zip_file" +done + +find "$fonts_dir" -name '*Windows Compatible*' -delete + +fc-cache -fv From 9051621dda85d56588937ed01514a567bc91bedc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 19:32:03 +0200 Subject: [PATCH 1954/2080] fish: style --- .../private_fish/config.fish.tmpl | 303 +++++++++--------- 1 file changed, 152 insertions(+), 151 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 43c90c0c..a4f5b40d 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -9,159 +9,160 @@ set -U fish_term24bit 1 # end if status is-interactive - # Commands to run in interactive sessions can go here - - set -g fish_greeting "" - # XXX: to be checked - # thefuck --alias | source - - # Use bat as pager - set -gx PAGER bat - # https://unix.stackexchange.com/questions/343168/can-i-prevent-service-foo-status-from-paging-its-output-through-less - set -gx SYSTEMD_PAGER bat - set -gx MANPAGER "nvim +Man!" - - # Disable cowsay for Ansible - set -gx ANSIBLE_NOCOWS 1 - - # Abbreviations - abbr -a :q exit - abbr -a g git - abbr -a ch chezmoi - abbr -a chze chezmoi edit - abbr -a chza chezmoi apply - abbr -a chzd chezmoi diff - abbr -a chzs chezmoi status - - # Aliases - alias df="duf" - alias du="dust" - alias cat="bat --paging=never" - alias ls="lsd --group-directories-first" - alias lsa="lsd --group-directories-first --almost-all" - alias l="lsd --group-directories-first --long --date '+%F %T'" - alias la="lsd --group-directories-first --long --date '+%F %T' --almost-all" - alias ld="fd . --type d --max-depth 1 --strip-cwd-prefix --exec-batch lsd --directory-only" - alias ..="cd .." - {{ if ne .chezmoi.os "freebsd" -}} - alias chown="chown --preserve-root" - alias chmod="chmod --preserve-root" - alias chgrp="chgrp --preserve-root" - alias rm="rm -i --preserve-root" - {{ else -}} - alias rm="rm -i" - {{ end -}} - alias mv="mv -i" - alias cp="cp -i" - alias vim="nvim" - - # nvim! - set EDITOR nvim - # https://fishshell.com/docs/current/interactive.html#vi-mode - fish_vi_key_bindings - bind --mode insert \ca beginning-of-line - bind --mode insert \ce end-of-line - - if test (uname) = Darwin - # Add path mainly used by brew - fish_add_path /usr/local/bin - fish_add_path /usr/local/opt/coreutils/libexec/gnubin - - # https://spicetify.app - if test -e ~/.spicetify - fish_add_path ~/.spicetify/ - end - - if test -e ~/perl5/perlbrew/etc/perlbrew.fish - . ~/perl5/perlbrew/etc/perlbrew.fish - end - - # XXX: disabled - # Favor using llvm stuff from homebrew - # clang-15: unknown argument -02 - # set -gx CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - # set -gx CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - # set -gx CPPFLAGS "-I/usr/local/opt/llvm/include" - # set -gx LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" - # fish_add_path "/usr/local/opt/llvm/bin" - - # FIXME: not working for getting norg-treesitter to build - # Use clang/llvm as main compiler - # set -gx CC clang - # set -gx CXX clang++ - # set -gx COMPILER clang++ - - # Use gcc12 from homebrew to build neorg treesitter - # set -gx CC /usr/local/bin/gcc-12 - - # XXX: not working - # Use clang++ from system with recent C++ version to build neorg treesitter - # set -gx CC "/usr/bin/clang++ -std=c++17" - - # Load pyenv - # https://github.com/pyenv/pyenv/wiki/Common-build-problems - set -x PYENV_ROOT $HOME/.pyenv - fish_add_path $PYENV_ROOT/bin - pyenv init - | source - - # Load custon pytyon3 venv for mutt + ical - function mutt - source ~/.config/neomutt/.venv/bin/activate.fish - /usr/local/bin/mutt - end - - # Start oidc-agent - if type -q oidc-agent-service - eval (oidc-agent-service use | awk '/^OIDC.*export/ {print $1}' | tr -d \; | awk -F'=' '{print "set -gx "$1" "$2";" }') - # for fedcloudclient, once egi account got created - # export OIDC_AGENT_ACCOUNT=egi - end + # Commands to run in interactive sessions can go here + + set -g fish_greeting "" + # XXX: to be checked + # thefuck --alias | source + + # Use bat as pager + set -gx PAGER bat + # https://unix.stackexchange.com/questions/343168/can-i-prevent-service-foo-status-from-paging-its-output-through-less + set -gx SYSTEMD_PAGER bat + set -gx MANPAGER "nvim +Man!" + + # Disable cowsay for Ansible + set -gx ANSIBLE_NOCOWS 1 + + # Abbreviations + abbr -a :q exit + abbr -a g git + abbr -a ch chezmoi + abbr -a chze chezmoi edit + abbr -a chza chezmoi apply + abbr -a chzd chezmoi diff + abbr -a chzs chezmoi status + + # Aliases + alias df="duf" + alias du="dust" + alias cat="bat --paging=never" + alias ls="lsd --group-directories-first" + alias lsa="lsd --group-directories-first --almost-all" + alias l="lsd --group-directories-first --long --date '+%F %T'" + alias la="lsd --group-directories-first --long --date '+%F %T' --almost-all" + alias ld="fd . --type d --max-depth 1 --strip-cwd-prefix --exec-batch lsd --directory-only" + alias ..="cd .." + {{ if ne .chezmoi.os "freebsd" -}} + alias chown="chown --preserve-root" + alias chmod="chmod --preserve-root" + alias chgrp="chgrp --preserve-root" + alias rm="rm -i --preserve-root" + {{ else -}} + alias rm="rm -i" + {{ end -}} + alias mv="mv -i" + alias cp="cp -i" + alias vim="nvim" + + # nvim! + set EDITOR nvim + # https://fishshell.com/docs/current/interactive.html#vi-mode + fish_vi_key_bindings + bind --mode insert \ca beginning-of-line + bind --mode insert \ce end-of-line + + if test -d ~/bin + fish_add_path ~/bin + end + + if test (uname) = Darwin + # Add path mainly used by brew + fish_add_path /usr/local/bin + fish_add_path /usr/local/opt/coreutils/libexec/gnubin + + # https://spicetify.app + if test -e ~/.spicetify + fish_add_path ~/.spicetify/ end - # Set color variables - set emphasized_text brcyan # base1 - set normal_text brblue # base0 - set secondary_text brgreen # base01 - set background_light black # base02 - set background brblack # base03 - set -g fish_color_quote cyan # color of commands - set -g fish_color_redirection brmagenta # color of IO redirections - set -g fish_color_end blue # color of process separators like ';' and '&' - set -g fish_color_error red # color of potential errors - set -g fish_color_match --reverse # color of highlighted matching parenthesis - set -g fish_color_search_match --background=yellow - set -g fish_color_selection --reverse # color of selected text (vi mode) - set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' - set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' - set -g fish_color_cancel red # color of the '^C' indicator on a canceled command - set -g fish_color_command $emphasized_text --bold # color of commands - set -g fish_color_param $normal_text # color of regular command parameters - set -g fish_color_comment $secondary_text # color of comments - set -g fish_color_autosuggestion $secondary_text # color of autosuggestions - set -g fish_pager_color_prefix $emphasized_text --bold # color of the pager prefix string - set -g fish_pager_color_description $selection_text # color of the completion description - set -g fish_pager_color_selected_prefix $background - set -g fish_pager_color_selected_completion $background - set -g fish_pager_color_selected_description $background - - # Set LS_COLORS - set -xg LS_COLORS (vivid generate dracula) - - [ -e $HOME/.fish.env ]; and source $HOME/.fish.env - - if test "$TERM" != dumb - starship init fish | source + if test -e ~/perl5/perlbrew/etc/perlbrew.fish + . ~/perl5/perlbrew/etc/perlbrew.fish end - zoxide init --cmd cd fish | source - direnv hook fish | source - {{ if eq .chezmoi.os "darwin" -}} - # XXX: fzf--fish is only valid with fzf >= 0.48.0 - fzf --fish | source - {{ end -}} - {{ if eq .chezmoi.os "freebsd" -}} - source /usr/local/share/examples/fzf/shell/key-bindings.fish - {{ end -}} - if type -q batcat - alias bat=batcat + + # XXX: disabled + # Favor using llvm stuff from homebrew + # clang-15: unknown argument -02 + # set -gx CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + # set -gx CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + # set -gx CPPFLAGS "-I/usr/local/opt/llvm/include" + # set -gx LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" + # fish_add_path "/usr/local/opt/llvm/bin" + + # FIXME: not working for getting norg-treesitter to build + # Use clang/llvm as main compiler + # set -gx CC clang + # set -gx CXX clang++ + # set -gx COMPILER clang++ + + # Use gcc12 from homebrew to build neorg treesitter + # set -gx CC /usr/local/bin/gcc-12 + + # XXX: not working + # Use clang++ from system with recent C++ version to build neorg treesitter + # set -gx CC "/usr/bin/clang++ -std=c++17" + + # Load pyenv + # https://github.com/pyenv/pyenv/wiki/Common-build-problems + set -x PYENV_ROOT $HOME/.pyenv + fish_add_path $PYENV_ROOT/bin + pyenv init - | source + + # Load custon pytyon3 venv for mutt + ical + function mutt + source ~/.config/neomutt/.venv/bin/activate.fish + /usr/local/bin/mutt + end + + # Start oidc-agent + if type -q oidc-agent-service + eval (oidc-agent-service use | awk '/^OIDC.*export/ {print $1}' | tr -d \; | awk -F'=' '{print "set -gx "$1" "$2";" }') + # for fedcloudclient, once egi account got created + # export OIDC_AGENT_ACCOUNT=egi end + end + + # Set color variables + set emphasized_text brcyan # base1 + set normal_text brblue # base0 + set secondary_text brgreen # base01 + set background_light black # base02 + set background brblack # base03 + set -g fish_color_quote cyan # color of commands + set -g fish_color_redirection brmagenta # color of IO redirections + set -g fish_color_end blue # color of process separators like ';' and '&' + set -g fish_color_error red # color of potential errors + set -g fish_color_match --reverse # color of highlighted matching parenthesis + set -g fish_color_search_match --background=yellow + set -g fish_color_selection --reverse # color of selected text (vi mode) + set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' + set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' + set -g fish_color_cancel red # color of the '^C' indicator on a canceled command + set -g fish_color_command $emphasized_text --bold # color of commands + set -g fish_color_param $normal_text # color of regular command parameters + set -g fish_color_comment $secondary_text # color of comments + set -g fish_color_autosuggestion $secondary_text # color of autosuggestions + set -g fish_pager_color_prefix $emphasized_text --bold # color of the pager prefix string + set -g fish_pager_color_description $selection_text # color of the completion description + set -g fish_pager_color_selected_prefix $background + set -g fish_pager_color_selected_completion $background + set -g fish_pager_color_selected_description $background + + # Set LS_COLORS + set -xg LS_COLORS (vivid generate dracula) + + [ -e $HOME/.fish.env ]; and source $HOME/.fish.env + + if test "$TERM" != dumb + starship init fish | source + end + zoxide init --cmd cd fish | source + direnv hook fish | source + {{ if eq .chezmoi.os "darwin" -}} + # XXX: fzf--fish is only valid with fzf >= 0.48.0 + fzf --fish | source + {{ end -}} + {{ if eq .chezmoi.os "freebsd" -}} + source /usr/local/share/examples/fzf/shell/key-bindings.fish + {{ end -}} end From 87cd8700869cc987359bee9f8117e66898a27e95 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 19:32:29 +0200 Subject: [PATCH 1955/2080] Make tmux a template --- home/private_dot_config/kitty/{kitty.conf => kitty.conf.tmpl} | 4 ++++ 1 file changed, 4 insertions(+) rename home/private_dot_config/kitty/{kitty.conf => kitty.conf.tmpl} (93%) diff --git a/home/private_dot_config/kitty/kitty.conf b/home/private_dot_config/kitty/kitty.conf.tmpl similarity index 93% rename from home/private_dot_config/kitty/kitty.conf rename to home/private_dot_config/kitty/kitty.conf.tmpl index f51df6fb..35a97e3d 100644 --- a/home/private_dot_config/kitty/kitty.conf +++ b/home/private_dot_config/kitty/kitty.conf.tmpl @@ -6,7 +6,11 @@ shell_integration no-rc active_tab_font_style bold adjust_line_height 140% disable_ligatures cursor +{{ if eq .chezmoi.os "linux" -}} +font_family JetBrainsMono Nerd Font +{{ else -}} font_family JetBrainsMono +{{ end -}} font_size 14.0 hide_window_decorations no inactive_tab_font_style normal From 222841516cbbac31e3203e535f3e8be2fd8b48cf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 16 Aug 2024 19:33:42 +0200 Subject: [PATCH 1956/2080] Git: commit with nvim --- home/dot_gitconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dot_gitconfig b/home/dot_gitconfig index 7ae182a3..b4565528 100644 --- a/home/dot_gitconfig +++ b/home/dot_gitconfig @@ -3,7 +3,7 @@ [color] ui = true interactive = auto - editor = vim + editor = nvim pager = true [color "branch"] From f95c7c45a73c9f484ea742fac1fb44fe73a44e31 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 19 Aug 2024 15:01:07 +0200 Subject: [PATCH 1957/2080] chezmoi: install lbdb on darwin --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 41f60b64..eccc10eb 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -36,6 +36,7 @@ packages: - "khard" - "languagetool" - "lazygit" + - "lbdb" - "ldapvi" - "lsd" - "lsusb" From 4c1e79ca5c18bbf024528d093924e289ee3d1041 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 20 Aug 2024 11:04:34 +0200 Subject: [PATCH 1958/2080] darwin: install gh and wget --- home/.chezmoidata/packages.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index eccc10eb..88199db3 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -22,6 +22,7 @@ packages: - "fish" - "flake8" - "fzf" + - "gh" - "git" - "git-delta" - "glances" @@ -72,6 +73,7 @@ packages: - "urlview" - "vivid" - "w3m" + - "wget" - "yaml-language-server" - "yamllint" - "yazi" From 00031a68cb47e23196bf460441d25b8e98be95cf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 20 Aug 2024 11:04:52 +0200 Subject: [PATCH 1959/2080] chezmoi: ignore karabiner when not on Darwin --- home/.chezmoiignore | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoiignore b/home/.chezmoiignore index f788360f..ad0d1e06 100644 --- a/home/.chezmoiignore +++ b/home/.chezmoiignore @@ -3,6 +3,7 @@ .config/nvim/spell/en.utf-8.add {{- if ne .chezmoi.os "darwin" }} Library/** +.config/karabiner/karabiner.json {{- end }} {{- if ne .chezmoi.os "linux" }} Mail/.notmuch/hooks/post-new From c048227ddb85b4f2f5cd01d2f6a42eb16b962e8c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 20 Aug 2024 11:05:09 +0200 Subject: [PATCH 1960/2080] fish: set the EDITOR var differently --- home/private_dot_config/private_fish/config.fish.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index a4f5b40d..b50bec51 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -56,7 +56,7 @@ if status is-interactive alias vim="nvim" # nvim! - set EDITOR nvim + set -gx EDITOR nvim # https://fishshell.com/docs/current/interactive.html#vi-mode fish_vi_key_bindings bind --mode insert \ca beginning-of-line From 83631beb4a96b865199d4b885b01f613e816e7c7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 20 Aug 2024 11:05:23 +0200 Subject: [PATCH 1961/2080] chezmoi: import karabiner conf for darwin --- .../private_karabiner/private_karabiner.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 home/private_dot_config/private_karabiner/private_karabiner.json diff --git a/home/private_dot_config/private_karabiner/private_karabiner.json b/home/private_dot_config/private_karabiner/private_karabiner.json new file mode 100644 index 00000000..6165628c --- /dev/null +++ b/home/private_dot_config/private_karabiner/private_karabiner.json @@ -0,0 +1,18 @@ +{ + "profiles": [ + { + "name": "Default profile", + "selected": true, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "escape" }] + }, + { + "from": { "key_code": "escape" }, + "to": [{ "key_code": "caps_lock" }] + } + ] + } + ] +} \ No newline at end of file From f85429d3e30a00dcf4c2d2ecfcfe49154545b692 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Tue, 20 Aug 2024 11:05:42 +0200 Subject: [PATCH 1962/2080] chezmoi: import lbdb conf and m_khard module --- home/dot_lbdbrc | 4 +++ .../modules/executable_m_khard | 29 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 home/dot_lbdbrc create mode 100644 home/private_dot_lbdb/modules/executable_m_khard diff --git a/home/dot_lbdbrc b/home/dot_lbdbrc new file mode 100644 index 00000000..66869085 --- /dev/null +++ b/home/dot_lbdbrc @@ -0,0 +1,4 @@ +MODULES_PATH="MODULES_PATH $HOME/.lbdb/modules" + +# https://github.com/RolandRosenfeld/lbdb/blob/master/lbdb.rc.in +METHODS="m_khard" diff --git a/home/private_dot_lbdb/modules/executable_m_khard b/home/private_dot_lbdb/modules/executable_m_khard new file mode 100644 index 00000000..e2f858f6 --- /dev/null +++ b/home/private_dot_lbdb/modules/executable_m_khard @@ -0,0 +1,29 @@ +#! /bin/sh +# +# -*-sh-mode-*- +# +# Copyright (C) 2017 Colin Watson <cjwatson@debian.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,, USA. + +m_khard_query() { + KHARD=/usr/local/bin/khard + + if [ -x "$KHARD" ]; then + "$KHARD" email \ + --parsable --remove-first-line --search-in-source-files \ + "$1" + fi +} From d0595cb3dbd2ac64b0d5625c83a1a8e1b604b413 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 23 Aug 2024 09:33:30 +0200 Subject: [PATCH 1963/2080] fish: format --- .../private_fish/config.fish.tmpl | 304 +++++++++--------- 1 file changed, 153 insertions(+), 151 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index b50bec51..3467bf52 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -9,160 +9,162 @@ set -U fish_term24bit 1 # end if status is-interactive - # Commands to run in interactive sessions can go here - - set -g fish_greeting "" - # XXX: to be checked - # thefuck --alias | source - - # Use bat as pager - set -gx PAGER bat - # https://unix.stackexchange.com/questions/343168/can-i-prevent-service-foo-status-from-paging-its-output-through-less - set -gx SYSTEMD_PAGER bat - set -gx MANPAGER "nvim +Man!" - - # Disable cowsay for Ansible - set -gx ANSIBLE_NOCOWS 1 - - # Abbreviations - abbr -a :q exit - abbr -a g git - abbr -a ch chezmoi - abbr -a chze chezmoi edit - abbr -a chza chezmoi apply - abbr -a chzd chezmoi diff - abbr -a chzs chezmoi status - - # Aliases - alias df="duf" - alias du="dust" - alias cat="bat --paging=never" - alias ls="lsd --group-directories-first" - alias lsa="lsd --group-directories-first --almost-all" - alias l="lsd --group-directories-first --long --date '+%F %T'" - alias la="lsd --group-directories-first --long --date '+%F %T' --almost-all" - alias ld="fd . --type d --max-depth 1 --strip-cwd-prefix --exec-batch lsd --directory-only" - alias ..="cd .." - {{ if ne .chezmoi.os "freebsd" -}} - alias chown="chown --preserve-root" - alias chmod="chmod --preserve-root" - alias chgrp="chgrp --preserve-root" - alias rm="rm -i --preserve-root" - {{ else -}} - alias rm="rm -i" - {{ end -}} - alias mv="mv -i" - alias cp="cp -i" - alias vim="nvim" - - # nvim! - set -gx EDITOR nvim - # https://fishshell.com/docs/current/interactive.html#vi-mode - fish_vi_key_bindings - bind --mode insert \ca beginning-of-line - bind --mode insert \ce end-of-line - - if test -d ~/bin - fish_add_path ~/bin - end - - if test (uname) = Darwin - # Add path mainly used by brew - fish_add_path /usr/local/bin - fish_add_path /usr/local/opt/coreutils/libexec/gnubin - - # https://spicetify.app - if test -e ~/.spicetify - fish_add_path ~/.spicetify/ + # Commands to run in interactive sessions can go here + + set -g fish_greeting "" + # XXX: to be checked + # thefuck --alias | source + + # Use bat as pager + set -gx PAGER bat + # https://unix.stackexchange.com/questions/343168/can-i-prevent-service-foo-status-from-paging-its-output-through-less + set -gx SYSTEMD_PAGER bat + set -gx MANPAGER "nvim +Man!" + + # Disable cowsay for Ansible + set -gx ANSIBLE_NOCOWS 1 + + # Abbreviations + abbr -a :q exit + abbr -a g git + abbr -a ch chezmoi + abbr -a chze chezmoi edit + abbr -a chza chezmoi apply + abbr -a chzd chezmoi diff + abbr -a chzs chezmoi status + abbr -a vimdiff vim -d + + # Aliases + alias df="duf" + alias du="dust" + alias cat="bat --paging=never" + alias ls="lsd --group-directories-first" + alias lsa="lsd --group-directories-first --almost-all" + alias l="lsd --group-directories-first --long --date '+%F %T'" + alias la="lsd --group-directories-first --long --date '+%F %T' --almost-all" + alias ld="fd . --type d --max-depth 1 --strip-cwd-prefix --exec-batch lsd --directory-only" + alias ..="cd .." + {{ if ne .chezmoi.os "freebsd" -}} + alias chown="chown --preserve-root" + alias chmod="chmod --preserve-root" + alias chgrp="chgrp --preserve-root" + alias rm="rm -i --preserve-root" + {{ else -}} + alias rm="rm -i" + {{ end -}} + alias mv="mv -i" + alias cp="cp -i" + alias vim="nvim" + + # nvim! + set -gx EDITOR nvim + # https://fishshell.com/docs/current/interactive.html#vi-mode + fish_vi_key_bindings + bind --mode insert \ca beginning-of-line + bind --mode insert \ce end-of-line + + if test -d ~/bin + fish_add_path ~/bin end - if test -e ~/perl5/perlbrew/etc/perlbrew.fish - . ~/perl5/perlbrew/etc/perlbrew.fish + if test (uname) = Darwin + # Add path mainly used by brew + fish_add_path /usr/local/bin + fish_add_path /usr/local/opt/coreutils/libexec/gnubin + + # https://spicetify.app + if test -e ~/.spicetify + fish_add_path ~/.spicetify/ + end + + if test -e ~/perl5/perlbrew/etc/perlbrew.fish + . ~/perl5/perlbrew/etc/perlbrew.fish + end + + # XXX: disabled + # Favor using llvm stuff from homebrew + # clang-15: unknown argument -02 + # set -gx CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + # set -gx CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" + # set -gx CPPFLAGS "-I/usr/local/opt/llvm/include" + # set -gx LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" + # fish_add_path "/usr/local/opt/llvm/bin" + + # FIXME: not working for getting norg-treesitter to build + # Use clang/llvm as main compiler + # set -gx CC clang + # set -gx CXX clang++ + # set -gx COMPILER clang++ + + # Use gcc12 from homebrew to build neorg treesitter + # set -gx CC /usr/local/bin/gcc-12 + + # XXX: not working + # Use clang++ from system with recent C++ version to build neorg treesitter + # set -gx CC "/usr/bin/clang++ -std=c++17" + + # Load pyenv + # https://github.com/pyenv/pyenv/wiki/Common-build-problems + set -x PYENV_ROOT $HOME/.pyenv + fish_add_path $PYENV_ROOT/bin + pyenv init - | source + + # Load custon pytyon3 venv for mutt + ical + function mutt + source ~/.config/neomutt/.venv/bin/activate.fish + /usr/local/bin/mutt + end + + # Start oidc-agent + if type -q oidc-agent-service + eval (oidc-agent-service use | awk '/^OIDC.*export/ {print $1}' | tr -d \; | awk -F'=' '{print "set -gx "$1" "$2";" }') + # for fedcloudclient, once egi account got created + # export OIDC_AGENT_ACCOUNT=egi + end end - # XXX: disabled - # Favor using llvm stuff from homebrew - # clang-15: unknown argument -02 - # set -gx CFLAGS "-02 -I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - # set -gx CFLAGS "-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include" - # set -gx CPPFLAGS "-I/usr/local/opt/llvm/include" - # set -gx LDFLAGS "-L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/llvm/lib -L/usr/local/opt/llvm/lib/c++ -Wl,-rpath,/usr/local/opt/llvm/lib/c++" - # fish_add_path "/usr/local/opt/llvm/bin" - - # FIXME: not working for getting norg-treesitter to build - # Use clang/llvm as main compiler - # set -gx CC clang - # set -gx CXX clang++ - # set -gx COMPILER clang++ - - # Use gcc12 from homebrew to build neorg treesitter - # set -gx CC /usr/local/bin/gcc-12 - - # XXX: not working - # Use clang++ from system with recent C++ version to build neorg treesitter - # set -gx CC "/usr/bin/clang++ -std=c++17" - - # Load pyenv - # https://github.com/pyenv/pyenv/wiki/Common-build-problems - set -x PYENV_ROOT $HOME/.pyenv - fish_add_path $PYENV_ROOT/bin - pyenv init - | source - - # Load custon pytyon3 venv for mutt + ical - function mutt - source ~/.config/neomutt/.venv/bin/activate.fish - /usr/local/bin/mutt + # Set color variables + set emphasized_text brcyan # base1 + set normal_text brblue # base0 + set secondary_text brgreen # base01 + set background_light black # base02 + set background brblack # base03 + set -g fish_color_quote cyan # color of commands + set -g fish_color_redirection brmagenta # color of IO redirections + set -g fish_color_end blue # color of process separators like ';' and '&' + set -g fish_color_error red # color of potential errors + set -g fish_color_match --reverse # color of highlighted matching parenthesis + set -g fish_color_search_match --background=yellow + set -g fish_color_selection --reverse # color of selected text (vi mode) + set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' + set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' + set -g fish_color_cancel red # color of the '^C' indicator on a canceled command + set -g fish_color_command $emphasized_text --bold # color of commands + set -g fish_color_param $normal_text # color of regular command parameters + set -g fish_color_comment $secondary_text # color of comments + set -g fish_color_autosuggestion $secondary_text # color of autosuggestions + set -g fish_pager_color_prefix $emphasized_text --bold # color of the pager prefix string + set -g fish_pager_color_description $selection_text # color of the completion description + set -g fish_pager_color_selected_prefix $background + set -g fish_pager_color_selected_completion $background + set -g fish_pager_color_selected_description $background + + # Set LS_COLORS + set -xg LS_COLORS (vivid generate dracula) + + [ -e $HOME/.fish.env ]; and source $HOME/.fish.env + + if test "$TERM" != dumb + starship init fish | source end - - # Start oidc-agent - if type -q oidc-agent-service - eval (oidc-agent-service use | awk '/^OIDC.*export/ {print $1}' | tr -d \; | awk -F'=' '{print "set -gx "$1" "$2";" }') - # for fedcloudclient, once egi account got created - # export OIDC_AGENT_ACCOUNT=egi - end - end - - # Set color variables - set emphasized_text brcyan # base1 - set normal_text brblue # base0 - set secondary_text brgreen # base01 - set background_light black # base02 - set background brblack # base03 - set -g fish_color_quote cyan # color of commands - set -g fish_color_redirection brmagenta # color of IO redirections - set -g fish_color_end blue # color of process separators like ';' and '&' - set -g fish_color_error red # color of potential errors - set -g fish_color_match --reverse # color of highlighted matching parenthesis - set -g fish_color_search_match --background=yellow - set -g fish_color_selection --reverse # color of selected text (vi mode) - set -g fish_color_operator green # color of parameter expansion operators like '*' and '~' - set -g fish_color_escape red # color of character escapes like '\n' and and '\x70' - set -g fish_color_cancel red # color of the '^C' indicator on a canceled command - set -g fish_color_command $emphasized_text --bold # color of commands - set -g fish_color_param $normal_text # color of regular command parameters - set -g fish_color_comment $secondary_text # color of comments - set -g fish_color_autosuggestion $secondary_text # color of autosuggestions - set -g fish_pager_color_prefix $emphasized_text --bold # color of the pager prefix string - set -g fish_pager_color_description $selection_text # color of the completion description - set -g fish_pager_color_selected_prefix $background - set -g fish_pager_color_selected_completion $background - set -g fish_pager_color_selected_description $background - - # Set LS_COLORS - set -xg LS_COLORS (vivid generate dracula) - - [ -e $HOME/.fish.env ]; and source $HOME/.fish.env - - if test "$TERM" != dumb - starship init fish | source - end - zoxide init --cmd cd fish | source - direnv hook fish | source - {{ if eq .chezmoi.os "darwin" -}} - # XXX: fzf--fish is only valid with fzf >= 0.48.0 - fzf --fish | source - {{ end -}} - {{ if eq .chezmoi.os "freebsd" -}} - source /usr/local/share/examples/fzf/shell/key-bindings.fish - {{ end -}} + zoxide init --cmd cd fish | source + direnv hook fish | source + {{ if eq .chezmoi.os "darwin" -}} + # XXX: fzf--fish is only valid with fzf >= 0.48.0 + fzf --fish | source + {{ end -}} + {{ if eq .chezmoi.os "freebsd" -}} + source /usr/local/share/examples/fzf/shell/key-bindings.fish + {{ end -}} end +# vim: ft=fish From 3639062d6111486d3b002fe21aafd0e8e45c70c0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 23 Aug 2024 09:33:47 +0200 Subject: [PATCH 1964/2080] darwin: install OWASP Zap --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 88199db3..da78a1bd 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -112,6 +112,7 @@ packages: - "vlc" - "webex" - "yubico-yubikey-manager" + - "zap" - "zoom" appstore: # Bitwarden From a5dff5bc6dd4667868e894bd3e45fbf8fab9506a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 28 Aug 2024 12:09:04 +0200 Subject: [PATCH 1965/2080] darwin: install more packages --- home/.chezmoidata/packages.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index da78a1bd..3a357b4e 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -6,6 +6,7 @@ packages: - "ansible-language-server" - "ansible-lint" - "bash" + - "bash-language-server" - "bat" - "bitwarden-cli" - "black" @@ -13,7 +14,6 @@ packages: - "chezmoi" - "coreutils" - "direnv" - - "docker" - "doggo" - "duf" - "dust" @@ -58,14 +58,18 @@ packages: - "prettierd" - "pstree" - "pyenv" + - "pyright" - "rbw" - "ripgrep" - "ripgrep-all" - "rpm2cpio" + - "ruff" - "screenfetch" - "shfmt" - "starship" - "stylua" + - "tealdeer" + - "telnet" - "testssl" - "tmux" - "tree" @@ -83,6 +87,7 @@ packages: - "alfred" - "balenaetcher" - "brave-browser" + - "docker" - "drawio" - "firefox" - "font-jetbrains-mono-nerd-font" From fee8fdd145f243f4bcccfff94d83593d55da6573 Mon Sep 17 00:00:00 2001 From: gwarf <baptiste@bapt.name> Date: Fri, 30 Aug 2024 12:12:17 +0200 Subject: [PATCH 1966/2080] Fix fish + tmux on FreeBSD --- home/private_dot_config/private_fish/config.fish.tmpl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 3467bf52..0e3fc0ed 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -162,8 +162,9 @@ if status is-interactive {{ if eq .chezmoi.os "darwin" -}} # XXX: fzf--fish is only valid with fzf >= 0.48.0 fzf --fish | source - {{ end -}} - {{ if eq .chezmoi.os "freebsd" -}} + {{ else if eq .chezmoi.os "freebsd" -}} + fzf --fish | source + {{ else -}} source /usr/local/share/examples/fzf/shell/key-bindings.fish {{ end -}} end From 8371f4c5437337c7f9c87842739da072bbe95081 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 30 Aug 2024 12:53:17 +0200 Subject: [PATCH 1967/2080] chezmoi: more FreeBSD conf --- home/private_dot_config/rbw/config.json.tmpl | 6 ++++++ home/private_dot_gnupg/private_gpg-agent.conf.tmpl | 4 +++- home/readonly_dot_mbsyncrc.tmpl | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 home/private_dot_config/rbw/config.json.tmpl diff --git a/home/private_dot_config/rbw/config.json.tmpl b/home/private_dot_config/rbw/config.json.tmpl new file mode 100644 index 00000000..ee4de00a --- /dev/null +++ b/home/private_dot_config/rbw/config.json.tmpl @@ -0,0 +1,6 @@ +{{- if eq .chezmoi.os "darwin" -}} +{"email":"baptiste.grenier@egi.eu","sso_id":null,"base_url":null,"identity_url":null,"ui_url":null,"notifications_url":null,"lock_timeout":360000,"sync_interval":3600,"pinentry":"pinentry-mac","client_cert_path":null} +{{- end }} +{{- if eq .chezmoi.os "freebsd" -}} +{"email":"baptiste@bapt.name","sso_id":null,"base_url":null,"identity_url":null,"ui_url":null,"notifications_url":null,"lock_timeout":360000,"sync_interval":3600,"pinentry":"pinentry-gnome3","client_cert_path":null} +{{- end }} diff --git a/home/private_dot_gnupg/private_gpg-agent.conf.tmpl b/home/private_dot_gnupg/private_gpg-agent.conf.tmpl index 526fb051..d7b73824 100644 --- a/home/private_dot_gnupg/private_gpg-agent.conf.tmpl +++ b/home/private_dot_gnupg/private_gpg-agent.conf.tmpl @@ -3,7 +3,9 @@ # https://merikan.com/2019/05/how-to-sign-git-commits/ pinentry-program /usr/local/bin/pinentry-mac {{- end }} -# pinentry-program /usr/local/bin/pinentry +{{- if eq .chezmoi.os "freebsd" -}} +pinentry-program /usr/local/bin/pinentry-gnome3 +{{- end }} default-cache-ttl 600 max-cache-ttl 7200 default-cache-ttl-ssh 600 diff --git a/home/readonly_dot_mbsyncrc.tmpl b/home/readonly_dot_mbsyncrc.tmpl index 6eede5ea..ddc06ab1 100644 --- a/home/readonly_dot_mbsyncrc.tmpl +++ b/home/readonly_dot_mbsyncrc.tmpl @@ -8,7 +8,7 @@ User baptiste.grenier@egi.eu # https://support.google.com/accounts/answer/185833?hl=en # Set passwod on OSX: security add-generic-password -a baptiste.grenier@egi.eu -s imap.gmail.com -U -w PassCmd "security find-generic-password -s imap.gmail.com -a baptiste.grenier@egi.eu -w" -SSLType IMAPS +TLSType IMAPS AuthMechs LOGIN CertificateFile /usr/local/etc/openssl/cert.pem PipelineDepth 50 @@ -107,7 +107,7 @@ IMAPAccount baptiste # CertificateFile /etc/ssl/certs/ca-certificates.crt Host mail.bapt.name PassCmd "rbw get /mail/baptiste@bapt.name" -SSLType STARTTLS +TLSType STARTTLS User baptiste@bapt.name IMAPStore baptiste-remote From 08b92f2edf41120ee25a5320cf4384a36f84f9da Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 30 Aug 2024 13:01:50 +0200 Subject: [PATCH 1968/2080] FreeBSD ports moved to gwarf/freebsd-ports-custom --- ports/security/rbw/Makefile | 310 ------------------ ports/security/rbw/distinfo | 591 ----------------------------------- ports/security/rbw/pkg-descr | 9 - ports/security/rbw/pkg-plist | 2 - 4 files changed, 912 deletions(-) delete mode 100644 ports/security/rbw/Makefile delete mode 100644 ports/security/rbw/distinfo delete mode 100644 ports/security/rbw/pkg-descr delete mode 100644 ports/security/rbw/pkg-plist diff --git a/ports/security/rbw/Makefile b/ports/security/rbw/Makefile deleted file mode 100644 index e258e874..00000000 --- a/ports/security/rbw/Makefile +++ /dev/null @@ -1,310 +0,0 @@ -PORTNAME= rbw -DISTVERSION= 1.11.1 -CATEGORIES= security - -MAINTAINER= baptiste@bapt.name -COMMENT= Unofficial Bitwarden cli -WWW= https://github.com/doy/rbw - -LICENSE= MIT -LICENSE_FILE= ${WRKSRC}/LICENSE - -USES= cargo -USE_GITHUB= yes -GH_ACCOUNT= doy -CARGO_CRATES= addr2line-0.22.0 \ - adler-1.0.2 \ - aes-0.8.4 \ - aho-corasick-1.1.3 \ - anstream-0.6.14 \ - anstyle-1.0.7 \ - anstyle-parse-0.2.4 \ - anstyle-query-1.1.0 \ - anstyle-wincon-3.0.3 \ - anyhow-1.0.86 \ - argon2-0.5.3 \ - arrayvec-0.7.4 \ - async-trait-0.1.80 \ - autocfg-1.3.0 \ - axum-0.7.5 \ - axum-core-0.4.3 \ - backtrace-0.3.73 \ - base32-0.5.0 \ - base64-0.22.1 \ - base64ct-1.6.0 \ - bitflags-1.3.2 \ - bitflags-2.6.0 \ - blake2-0.10.6 \ - block-0.1.6 \ - block-buffer-0.10.4 \ - block-padding-0.3.3 \ - bumpalo-3.16.0 \ - byteorder-1.5.0 \ - bytes-1.6.0 \ - calloop-0.12.4 \ - calloop-wayland-source-0.2.0 \ - cbc-0.1.2 \ - cc-1.0.101 \ - cfg-if-1.0.0 \ - cipher-0.4.4 \ - clap-4.5.7 \ - clap_builder-4.5.7 \ - clap_complete-4.5.6 \ - clap_derive-4.5.5 \ - clap_lex-0.7.1 \ - clipboard-win-3.1.1 \ - colorchoice-1.0.1 \ - concurrent-queue-2.5.0 \ - const-oid-0.9.6 \ - copypasta-0.10.1 \ - core-foundation-0.9.4 \ - core-foundation-sys-0.8.6 \ - cpufeatures-0.2.12 \ - crossbeam-utils-0.8.20 \ - crypto-common-0.1.6 \ - cursor-icon-1.1.0 \ - daemonize-0.5.0 \ - data-encoding-2.6.0 \ - der-0.7.9 \ - digest-0.10.7 \ - directories-5.0.0 \ - dirs-sys-0.4.0 \ - dlib-0.5.2 \ - downcast-rs-1.2.1 \ - env_filter-0.1.0 \ - env_logger-0.11.3 \ - errno-0.3.9 \ - fastrand-2.1.0 \ - fnv-1.0.7 \ - form_urlencoded-1.2.1 \ - futures-0.3.30 \ - futures-channel-0.3.30 \ - futures-core-0.3.30 \ - futures-executor-0.3.30 \ - futures-io-0.3.30 \ - futures-macro-0.3.30 \ - futures-sink-0.3.30 \ - futures-task-0.3.30 \ - futures-util-0.3.30 \ - generic-array-0.14.7 \ - gethostname-0.4.3 \ - getrandom-0.2.15 \ - gimli-0.29.0 \ - heck-0.5.0 \ - hermit-abi-0.3.9 \ - hermit-abi-0.4.0 \ - hkdf-0.12.4 \ - hmac-0.12.1 \ - http-1.1.0 \ - http-body-1.0.0 \ - http-body-util-0.1.2 \ - httparse-1.9.4 \ - httpdate-1.0.3 \ - humantime-2.1.0 \ - hyper-1.3.1 \ - hyper-rustls-0.27.2 \ - hyper-util-0.1.5 \ - idna-0.5.0 \ - inout-0.1.3 \ - ipnet-2.9.0 \ - is-docker-0.2.0 \ - is-terminal-0.4.12 \ - is-wsl-0.4.0 \ - is_terminal_polyfill-1.70.0 \ - itoa-1.0.11 \ - js-sys-0.3.69 \ - lazy-bytes-cast-5.0.1 \ - lazy_static-1.5.0 \ - libc-0.2.155 \ - libloading-0.8.4 \ - libm-0.2.8 \ - libredox-0.1.3 \ - linux-raw-sys-0.4.14 \ - lock_api-0.4.12 \ - log-0.4.21 \ - mach2-0.4.2 \ - malloc_buf-0.0.6 \ - matchit-0.7.3 \ - memchr-2.7.4 \ - memmap2-0.9.4 \ - mime-0.3.17 \ - miniz_oxide-0.7.4 \ - mio-0.8.11 \ - num-bigint-dig-0.8.4 \ - num-integer-0.1.46 \ - num-iter-0.1.45 \ - num-traits-0.2.19 \ - num_cpus-1.16.0 \ - objc-0.2.7 \ - objc-foundation-0.1.1 \ - objc_id-0.1.1 \ - object-0.36.0 \ - once_cell-1.19.0 \ - open-5.1.4 \ - openssl-probe-0.1.5 \ - parking_lot-0.12.3 \ - parking_lot_core-0.9.10 \ - password-hash-0.5.0 \ - paste-1.0.15 \ - pathdiff-0.2.1 \ - pbkdf2-0.12.2 \ - pem-rfc7468-0.7.0 \ - percent-encoding-2.3.1 \ - pin-project-1.1.5 \ - pin-project-internal-1.1.5 \ - pin-project-lite-0.2.14 \ - pin-utils-0.1.0 \ - pkcs1-0.7.5 \ - pkcs8-0.10.2 \ - pkg-config-0.3.30 \ - polling-3.7.2 \ - ppv-lite86-0.2.17 \ - proc-macro2-1.0.86 \ - quick-xml-0.31.0 \ - quinn-0.11.2 \ - quinn-proto-0.11.3 \ - quinn-udp-0.5.2 \ - quote-1.0.36 \ - rand-0.8.5 \ - rand_chacha-0.3.1 \ - rand_core-0.6.4 \ - redox_syscall-0.5.2 \ - redox_users-0.4.5 \ - regex-1.10.5 \ - regex-automata-0.4.7 \ - regex-syntax-0.8.4 \ - region-3.0.2 \ - reqwest-0.12.5 \ - ring-0.17.8 \ - rmp-0.8.14 \ - rmpv-1.3.0 \ - rsa-0.9.6 \ - rustc-demangle-0.1.24 \ - rustc-hash-1.1.0 \ - rustix-0.38.34 \ - rustls-0.23.10 \ - rustls-native-certs-0.7.0 \ - rustls-pemfile-2.1.2 \ - rustls-pki-types-1.7.0 \ - rustls-webpki-0.102.4 \ - rustversion-1.0.17 \ - ryu-1.0.18 \ - schannel-0.1.23 \ - scoped-tls-1.0.1 \ - scopeguard-1.2.0 \ - security-framework-2.11.0 \ - security-framework-sys-2.11.0 \ - serde-1.0.203 \ - serde_derive-1.0.203 \ - serde_json-1.0.118 \ - serde_path_to_error-0.1.16 \ - serde_repr-0.1.19 \ - serde_urlencoded-0.7.1 \ - sha1-0.10.6 \ - sha2-0.10.8 \ - signal-hook-registry-1.4.2 \ - signature-2.2.0 \ - slab-0.4.9 \ - smallvec-1.13.2 \ - smawk-0.3.2 \ - smithay-client-toolkit-0.18.1 \ - smithay-clipboard-0.7.1 \ - socket2-0.5.7 \ - spin-0.9.8 \ - spki-0.7.3 \ - strsim-0.11.1 \ - subtle-2.6.1 \ - syn-2.0.68 \ - sync_wrapper-0.1.2 \ - sync_wrapper-1.0.1 \ - tempfile-3.10.1 \ - terminal_size-0.3.0 \ - textwrap-0.16.1 \ - thiserror-1.0.61 \ - thiserror-impl-1.0.61 \ - tinyvec-1.6.1 \ - tinyvec_macros-0.1.1 \ - tokio-1.38.0 \ - tokio-macros-2.3.0 \ - tokio-rustls-0.26.0 \ - tokio-stream-0.1.15 \ - tokio-tungstenite-0.23.1 \ - totp-lite-2.0.1 \ - tower-0.4.13 \ - tower-layer-0.3.2 \ - tower-service-0.3.2 \ - tracing-0.1.40 \ - tracing-attributes-0.1.27 \ - tracing-core-0.1.32 \ - try-lock-0.2.5 \ - tungstenite-0.23.0 \ - typenum-1.17.0 \ - unicode-bidi-0.3.15 \ - unicode-ident-1.0.12 \ - unicode-linebreak-0.1.5 \ - unicode-normalization-0.1.23 \ - unicode-width-0.1.13 \ - untrusted-0.9.0 \ - url-2.5.2 \ - urlencoding-2.1.3 \ - utf-8-0.7.6 \ - utf8parse-0.2.2 \ - uuid-1.9.1 \ - version_check-0.9.4 \ - want-0.3.1 \ - wasi-0.11.0+wasi-snapshot-preview1 \ - wasm-bindgen-0.2.92 \ - wasm-bindgen-backend-0.2.92 \ - wasm-bindgen-futures-0.4.42 \ - wasm-bindgen-macro-0.2.92 \ - wasm-bindgen-macro-support-0.2.92 \ - wasm-bindgen-shared-0.2.92 \ - wayland-backend-0.3.4 \ - wayland-client-0.31.3 \ - wayland-csd-frame-0.3.0 \ - wayland-cursor-0.31.3 \ - wayland-protocols-0.31.2 \ - wayland-protocols-wlr-0.2.0 \ - wayland-scanner-0.31.2 \ - wayland-sys-0.31.2 \ - web-sys-0.3.69 \ - winapi-0.3.9 \ - winapi-i686-pc-windows-gnu-0.4.0 \ - winapi-x86_64-pc-windows-gnu-0.4.0 \ - windows-sys-0.45.0 \ - windows-sys-0.48.0 \ - windows-sys-0.52.0 \ - windows-targets-0.42.2 \ - windows-targets-0.48.5 \ - windows-targets-0.52.5 \ - windows_aarch64_gnullvm-0.42.2 \ - windows_aarch64_gnullvm-0.48.5 \ - windows_aarch64_gnullvm-0.52.5 \ - windows_aarch64_msvc-0.42.2 \ - windows_aarch64_msvc-0.48.5 \ - windows_aarch64_msvc-0.52.5 \ - windows_i686_gnu-0.42.2 \ - windows_i686_gnu-0.48.5 \ - windows_i686_gnu-0.52.5 \ - windows_i686_gnullvm-0.52.5 \ - windows_i686_msvc-0.42.2 \ - windows_i686_msvc-0.48.5 \ - windows_i686_msvc-0.52.5 \ - windows_x86_64_gnu-0.42.2 \ - windows_x86_64_gnu-0.48.5 \ - windows_x86_64_gnu-0.52.5 \ - windows_x86_64_gnullvm-0.42.2 \ - windows_x86_64_gnullvm-0.48.5 \ - windows_x86_64_gnullvm-0.52.5 \ - windows_x86_64_msvc-0.42.2 \ - windows_x86_64_msvc-0.48.5 \ - windows_x86_64_msvc-0.52.5 \ - winreg-0.52.0 \ - x11-clipboard-0.9.2 \ - x11rb-0.13.1 \ - x11rb-protocol-0.13.1 \ - xcursor-0.3.5 \ - xkeysym-0.2.1 \ - zeroize-1.8.1 - -.include <bsd.port.mk> diff --git a/ports/security/rbw/distinfo b/ports/security/rbw/distinfo deleted file mode 100644 index 2640314f..00000000 --- a/ports/security/rbw/distinfo +++ /dev/null @@ -1,591 +0,0 @@ -TIMESTAMP = 1720645439 -SHA256 (rust/crates/addr2line-0.22.0.crate) = 6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678 -SIZE (rust/crates/addr2line-0.22.0.crate) = 39156 -SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe -SIZE (rust/crates/adler-1.0.2.crate) = 12778 -SHA256 (rust/crates/aes-0.8.4.crate) = b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0 -SIZE (rust/crates/aes-0.8.4.crate) = 124812 -SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 -SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311 -SHA256 (rust/crates/anstream-0.6.14.crate) = 418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b -SIZE (rust/crates/anstream-0.6.14.crate) = 29160 -SHA256 (rust/crates/anstyle-1.0.7.crate) = 038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b -SIZE (rust/crates/anstyle-1.0.7.crate) = 15709 -SHA256 (rust/crates/anstyle-parse-0.2.4.crate) = c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4 -SIZE (rust/crates/anstyle-parse-0.2.4.crate) = 23069 -SHA256 (rust/crates/anstyle-query-1.1.0.crate) = ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391 -SIZE (rust/crates/anstyle-query-1.1.0.crate) = 9832 -SHA256 (rust/crates/anstyle-wincon-3.0.3.crate) = 61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19 -SIZE (rust/crates/anstyle-wincon-3.0.3.crate) = 12179 -SHA256 (rust/crates/anyhow-1.0.86.crate) = b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da -SIZE (rust/crates/anyhow-1.0.86.crate) = 46741 -SHA256 (rust/crates/argon2-0.5.3.crate) = 3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072 -SIZE (rust/crates/argon2-0.5.3.crate) = 28795 -SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711 -SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856 -SHA256 (rust/crates/async-trait-0.1.80.crate) = c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca -SIZE (rust/crates/async-trait-0.1.80.crate) = 28775 -SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 -SIZE (rust/crates/autocfg-1.3.0.crate) = 16524 -SHA256 (rust/crates/axum-0.7.5.crate) = 3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf -SIZE (rust/crates/axum-0.7.5.crate) = 151429 -SHA256 (rust/crates/axum-core-0.4.3.crate) = a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3 -SIZE (rust/crates/axum-core-0.4.3.crate) = 21877 -SHA256 (rust/crates/backtrace-0.3.73.crate) = 5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a -SIZE (rust/crates/backtrace-0.3.73.crate) = 87617 -SHA256 (rust/crates/base32-0.5.0.crate) = d1ce0365f4d5fb6646220bb52fe547afd51796d90f914d4063cb0b032ebee088 -SIZE (rust/crates/base32-0.5.0.crate) = 9114 -SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6 -SIZE (rust/crates/base64-0.22.1.crate) = 81597 -SHA256 (rust/crates/base64ct-1.6.0.crate) = 8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b -SIZE (rust/crates/base64ct-1.6.0.crate) = 28870 -SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a -SIZE (rust/crates/bitflags-1.3.2.crate) = 23021 -SHA256 (rust/crates/bitflags-2.6.0.crate) = b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de -SIZE (rust/crates/bitflags-2.6.0.crate) = 45357 -SHA256 (rust/crates/blake2-0.10.6.crate) = 46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe -SIZE (rust/crates/blake2-0.10.6.crate) = 47234 -SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a -SIZE (rust/crates/block-0.1.6.crate) = 4077 -SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71 -SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538 -SHA256 (rust/crates/block-padding-0.3.3.crate) = a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93 -SIZE (rust/crates/block-padding-0.3.3.crate) = 8504 -SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c -SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677 -SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b -SIZE (rust/crates/byteorder-1.5.0.crate) = 23288 -SHA256 (rust/crates/bytes-1.6.0.crate) = 514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9 -SIZE (rust/crates/bytes-1.6.0.crate) = 60605 -SHA256 (rust/crates/calloop-0.12.4.crate) = fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298 -SIZE (rust/crates/calloop-0.12.4.crate) = 69583 -SHA256 (rust/crates/calloop-wayland-source-0.2.0.crate) = 0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02 -SIZE (rust/crates/calloop-wayland-source-0.2.0.crate) = 11304 -SHA256 (rust/crates/cbc-0.1.2.crate) = 26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6 -SIZE (rust/crates/cbc-0.1.2.crate) = 23501 -SHA256 (rust/crates/cc-1.0.101.crate) = ac367972e516d45567c7eafc73d24e1c193dcf200a8d94e9db7b3d38b349572d -SIZE (rust/crates/cc-1.0.101.crate) = 79446 -SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd -SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 -SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad -SIZE (rust/crates/cipher-0.4.4.crate) = 19073 -SHA256 (rust/crates/clap-4.5.7.crate) = 5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f -SIZE (rust/crates/clap-4.5.7.crate) = 56343 -SHA256 (rust/crates/clap_builder-4.5.7.crate) = f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f -SIZE (rust/crates/clap_builder-4.5.7.crate) = 163957 -SHA256 (rust/crates/clap_complete-4.5.6.crate) = fbca90c87c2a04da41e95d1856e8bcd22f159bdbfa147314d2ce5218057b0e58 -SIZE (rust/crates/clap_complete-4.5.6.crate) = 38775 -SHA256 (rust/crates/clap_derive-4.5.5.crate) = c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6 -SIZE (rust/crates/clap_derive-4.5.5.crate) = 30017 -SHA256 (rust/crates/clap_lex-0.7.1.crate) = 4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70 -SIZE (rust/crates/clap_lex-0.7.1.crate) = 12766 -SHA256 (rust/crates/clipboard-win-3.1.1.crate) = 9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342 -SIZE (rust/crates/clipboard-win-3.1.1.crate) = 11964 -SHA256 (rust/crates/colorchoice-1.0.1.crate) = 0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422 -SIZE (rust/crates/colorchoice-1.0.1.crate) = 7895 -SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973 -SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654 -SHA256 (rust/crates/const-oid-0.9.6.crate) = c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8 -SIZE (rust/crates/const-oid-0.9.6.crate) = 45382 -SHA256 (rust/crates/copypasta-0.10.1.crate) = deb85422867ca93da58b7f95fb5c0c10f6183ed6e1ef8841568968a896d3a858 -SIZE (rust/crates/copypasta-0.10.1.crate) = 15053 -SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f -SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743 -SHA256 (rust/crates/core-foundation-sys-0.8.6.crate) = 06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f -SIZE (rust/crates/core-foundation-sys-0.8.6.crate) = 37629 -SHA256 (rust/crates/cpufeatures-0.2.12.crate) = 53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504 -SIZE (rust/crates/cpufeatures-0.2.12.crate) = 12837 -SHA256 (rust/crates/crossbeam-utils-0.8.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80 -SIZE (rust/crates/crossbeam-utils-0.8.20.crate) = 42487 -SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3 -SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760 -SHA256 (rust/crates/cursor-icon-1.1.0.crate) = 96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991 -SIZE (rust/crates/cursor-icon-1.1.0.crate) = 11453 -SHA256 (rust/crates/daemonize-0.5.0.crate) = ab8bfdaacb3c887a54d41bdf48d3af8873b3f5566469f8ba21b92057509f116e -SIZE (rust/crates/daemonize-0.5.0.crate) = 7125 -SHA256 (rust/crates/data-encoding-2.6.0.crate) = e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2 -SIZE (rust/crates/data-encoding-2.6.0.crate) = 20769 -SHA256 (rust/crates/der-0.7.9.crate) = f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0 -SIZE (rust/crates/der-0.7.9.crate) = 85173 -SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292 -SIZE (rust/crates/digest-0.10.7.crate) = 19557 -SHA256 (rust/crates/directories-5.0.0.crate) = 74be3be809c18e089de43bdc504652bb2bc473fca8756131f8689db8cf079ba9 -SIZE (rust/crates/directories-5.0.0.crate) = 16391 -SHA256 (rust/crates/dirs-sys-0.4.0.crate) = 04414300db88f70d74c5ff54e50f9e1d1737d9a5b90f53fcf2e95ca2a9ab554b -SIZE (rust/crates/dirs-sys-0.4.0.crate) = 10509 -SHA256 (rust/crates/dlib-0.5.2.crate) = 330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412 -SIZE (rust/crates/dlib-0.5.2.crate) = 5806 -SHA256 (rust/crates/downcast-rs-1.2.1.crate) = 75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2 -SIZE (rust/crates/downcast-rs-1.2.1.crate) = 11821 -SHA256 (rust/crates/env_filter-0.1.0.crate) = a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea -SIZE (rust/crates/env_filter-0.1.0.crate) = 11553 -SHA256 (rust/crates/env_logger-0.11.3.crate) = 38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9 -SIZE (rust/crates/env_logger-0.11.3.crate) = 29704 -SHA256 (rust/crates/errno-0.3.9.crate) = 534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba -SIZE (rust/crates/errno-0.3.9.crate) = 10690 -SHA256 (rust/crates/fastrand-2.1.0.crate) = 9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a -SIZE (rust/crates/fastrand-2.1.0.crate) = 14907 -SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1 -SIZE (rust/crates/fnv-1.0.7.crate) = 11266 -SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456 -SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969 -SHA256 (rust/crates/futures-0.3.30.crate) = 645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0 -SIZE (rust/crates/futures-0.3.30.crate) = 53828 -SHA256 (rust/crates/futures-channel-0.3.30.crate) = eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78 -SIZE (rust/crates/futures-channel-0.3.30.crate) = 31736 -SHA256 (rust/crates/futures-core-0.3.30.crate) = dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d -SIZE (rust/crates/futures-core-0.3.30.crate) = 14071 -SHA256 (rust/crates/futures-executor-0.3.30.crate) = a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d -SIZE (rust/crates/futures-executor-0.3.30.crate) = 17744 -SHA256 (rust/crates/futures-io-0.3.30.crate) = a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1 -SIZE (rust/crates/futures-io-0.3.30.crate) = 8910 -SHA256 (rust/crates/futures-macro-0.3.30.crate) = 87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac -SIZE (rust/crates/futures-macro-0.3.30.crate) = 11278 -SHA256 (rust/crates/futures-sink-0.3.30.crate) = 9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5 -SIZE (rust/crates/futures-sink-0.3.30.crate) = 7852 -SHA256 (rust/crates/futures-task-0.3.30.crate) = 38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004 -SIZE (rust/crates/futures-task-0.3.30.crate) = 11126 -SHA256 (rust/crates/futures-util-0.3.30.crate) = 3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48 -SIZE (rust/crates/futures-util-0.3.30.crate) = 159977 -SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a -SIZE (rust/crates/generic-array-0.14.7.crate) = 15950 -SHA256 (rust/crates/gethostname-0.4.3.crate) = 0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818 -SIZE (rust/crates/gethostname-0.4.3.crate) = 9336 -SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7 -SIZE (rust/crates/getrandom-0.2.15.crate) = 37163 -SHA256 (rust/crates/gimli-0.29.0.crate) = 40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd -SIZE (rust/crates/gimli-0.29.0.crate) = 275756 -SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea -SIZE (rust/crates/heck-0.5.0.crate) = 11517 -SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024 -SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165 -SHA256 (rust/crates/hermit-abi-0.4.0.crate) = fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc -SIZE (rust/crates/hermit-abi-0.4.0.crate) = 16310 -SHA256 (rust/crates/hkdf-0.12.4.crate) = 7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7 -SIZE (rust/crates/hkdf-0.12.4.crate) = 171163 -SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e -SIZE (rust/crates/hmac-0.12.1.crate) = 42657 -SHA256 (rust/crates/http-1.1.0.crate) = 21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258 -SIZE (rust/crates/http-1.1.0.crate) = 103144 -SHA256 (rust/crates/http-body-1.0.0.crate) = 1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643 -SIZE (rust/crates/http-body-1.0.0.crate) = 5411 -SHA256 (rust/crates/http-body-util-0.1.2.crate) = 793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f -SIZE (rust/crates/http-body-util-0.1.2.crate) = 12821 -SHA256 (rust/crates/httparse-1.9.4.crate) = 0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9 -SIZE (rust/crates/httparse-1.9.4.crate) = 38555 -SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9 -SIZE (rust/crates/httpdate-1.0.3.crate) = 10639 -SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4 -SIZE (rust/crates/humantime-2.1.0.crate) = 16749 -SHA256 (rust/crates/hyper-1.3.1.crate) = fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d -SIZE (rust/crates/hyper-1.3.1.crate) = 148763 -SHA256 (rust/crates/hyper-rustls-0.27.2.crate) = 5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155 -SIZE (rust/crates/hyper-rustls-0.27.2.crate) = 34421 -SHA256 (rust/crates/hyper-util-0.1.5.crate) = 7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56 -SIZE (rust/crates/hyper-util-0.1.5.crate) = 69740 -SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6 -SIZE (rust/crates/idna-0.5.0.crate) = 271940 -SHA256 (rust/crates/inout-0.1.3.crate) = a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5 -SIZE (rust/crates/inout-0.1.3.crate) = 10743 -SHA256 (rust/crates/ipnet-2.9.0.crate) = 8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3 -SIZE (rust/crates/ipnet-2.9.0.crate) = 27627 -SHA256 (rust/crates/is-docker-0.2.0.crate) = 928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3 -SIZE (rust/crates/is-docker-0.2.0.crate) = 2664 -SHA256 (rust/crates/is-terminal-0.4.12.crate) = f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b -SIZE (rust/crates/is-terminal-0.4.12.crate) = 7470 -SHA256 (rust/crates/is-wsl-0.4.0.crate) = 173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5 -SIZE (rust/crates/is-wsl-0.4.0.crate) = 3264 -SHA256 (rust/crates/is_terminal_polyfill-1.70.0.crate) = f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800 -SIZE (rust/crates/is_terminal_polyfill-1.70.0.crate) = 7451 -SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b -SIZE (rust/crates/itoa-1.0.11.crate) = 10563 -SHA256 (rust/crates/js-sys-0.3.69.crate) = 29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d -SIZE (rust/crates/js-sys-0.3.69.crate) = 81083 -SHA256 (rust/crates/lazy-bytes-cast-5.0.1.crate) = 10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b -SIZE (rust/crates/lazy-bytes-cast-5.0.1.crate) = 4354 -SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe -SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025 -SHA256 (rust/crates/libc-0.2.155.crate) = 97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c -SIZE (rust/crates/libc-0.2.155.crate) = 743539 -SHA256 (rust/crates/libloading-0.8.4.crate) = e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d -SIZE (rust/crates/libloading-0.8.4.crate) = 28636 -SHA256 (rust/crates/libm-0.2.8.crate) = 4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058 -SIZE (rust/crates/libm-0.2.8.crate) = 113450 -SHA256 (rust/crates/libredox-0.1.3.crate) = c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d -SIZE (rust/crates/libredox-0.1.3.crate) = 6068 -SHA256 (rust/crates/linux-raw-sys-0.4.14.crate) = 78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89 -SIZE (rust/crates/linux-raw-sys-0.4.14.crate) = 1826665 -SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17 -SIZE (rust/crates/lock_api-0.4.12.crate) = 27591 -SHA256 (rust/crates/log-0.4.21.crate) = 90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c -SIZE (rust/crates/log-0.4.21.crate) = 43442 -SHA256 (rust/crates/mach2-0.4.2.crate) = 19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709 -SIZE (rust/crates/mach2-0.4.2.crate) = 21889 -SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb -SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239 -SHA256 (rust/crates/matchit-0.7.3.crate) = 0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94 -SIZE (rust/crates/matchit-0.7.3.crate) = 30372 -SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3 -SIZE (rust/crates/memchr-2.7.4.crate) = 96670 -SHA256 (rust/crates/memmap2-0.9.4.crate) = fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322 -SIZE (rust/crates/memmap2-0.9.4.crate) = 32752 -SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a -SIZE (rust/crates/mime-0.3.17.crate) = 15712 -SHA256 (rust/crates/miniz_oxide-0.7.4.crate) = b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08 -SIZE (rust/crates/miniz_oxide-0.7.4.crate) = 56119 -SHA256 (rust/crates/mio-0.8.11.crate) = a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c -SIZE (rust/crates/mio-0.8.11.crate) = 102983 -SHA256 (rust/crates/num-bigint-dig-0.8.4.crate) = dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151 -SIZE (rust/crates/num-bigint-dig-0.8.4.crate) = 123825 -SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f -SIZE (rust/crates/num-integer-0.1.46.crate) = 22331 -SHA256 (rust/crates/num-iter-0.1.45.crate) = 1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf -SIZE (rust/crates/num-iter-0.1.45.crate) = 10320 -SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 -SIZE (rust/crates/num-traits-0.2.19.crate) = 51631 -SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43 -SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713 -SHA256 (rust/crates/objc-0.2.7.crate) = 915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1 -SIZE (rust/crates/objc-0.2.7.crate) = 22036 -SHA256 (rust/crates/objc-foundation-0.1.1.crate) = 1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9 -SIZE (rust/crates/objc-foundation-0.1.1.crate) = 9063 -SHA256 (rust/crates/objc_id-0.1.1.crate) = c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b -SIZE (rust/crates/objc_id-0.1.1.crate) = 3258 -SHA256 (rust/crates/object-0.36.0.crate) = 576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434 -SIZE (rust/crates/object-0.36.0.crate) = 321771 -SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 -SIZE (rust/crates/once_cell-1.19.0.crate) = 33046 -SHA256 (rust/crates/open-5.1.4.crate) = b5ca541f22b1c46d4bb9801014f234758ab4297e7870b904b6a8415b980a7388 -SIZE (rust/crates/open-5.1.4.crate) = 24379 -SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf -SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227 -SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27 -SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860 -SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8 -SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406 -SHA256 (rust/crates/password-hash-0.5.0.crate) = 346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166 -SIZE (rust/crates/password-hash-0.5.0.crate) = 26884 -SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a -SIZE (rust/crates/paste-1.0.15.crate) = 18374 -SHA256 (rust/crates/pathdiff-0.2.1.crate) = 8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd -SIZE (rust/crates/pathdiff-0.2.1.crate) = 7142 -SHA256 (rust/crates/pbkdf2-0.12.2.crate) = f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2 -SIZE (rust/crates/pbkdf2-0.12.2.crate) = 13906 -SHA256 (rust/crates/pem-rfc7468-0.7.0.crate) = 88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412 -SIZE (rust/crates/pem-rfc7468-0.7.0.crate) = 24159 -SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e -SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235 -SHA256 (rust/crates/pin-project-1.1.5.crate) = b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3 -SIZE (rust/crates/pin-project-1.1.5.crate) = 54214 -SHA256 (rust/crates/pin-project-internal-1.1.5.crate) = 2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965 -SIZE (rust/crates/pin-project-internal-1.1.5.crate) = 28280 -SHA256 (rust/crates/pin-project-lite-0.2.14.crate) = bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02 -SIZE (rust/crates/pin-project-lite-0.2.14.crate) = 28817 -SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184 -SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580 -SHA256 (rust/crates/pkcs1-0.7.5.crate) = c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f -SIZE (rust/crates/pkcs1-0.7.5.crate) = 35790 -SHA256 (rust/crates/pkcs8-0.10.2.crate) = f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7 -SIZE (rust/crates/pkcs8-0.10.2.crate) = 26360 -SHA256 (rust/crates/pkg-config-0.3.30.crate) = d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec -SIZE (rust/crates/pkg-config-0.3.30.crate) = 20613 -SHA256 (rust/crates/polling-3.7.2.crate) = a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b -SIZE (rust/crates/polling-3.7.2.crate) = 57988 -SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de -SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242 -SHA256 (rust/crates/proc-macro2-1.0.86.crate) = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 -SIZE (rust/crates/proc-macro2-1.0.86.crate) = 48958 -SHA256 (rust/crates/quick-xml-0.31.0.crate) = 1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33 -SIZE (rust/crates/quick-xml-0.31.0.crate) = 172236 -SHA256 (rust/crates/quinn-0.11.2.crate) = e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad -SIZE (rust/crates/quinn-0.11.2.crate) = 73920 -SHA256 (rust/crates/quinn-proto-0.11.3.crate) = ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe -SIZE (rust/crates/quinn-proto-0.11.3.crate) = 202348 -SHA256 (rust/crates/quinn-udp-0.5.2.crate) = 9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46 -SIZE (rust/crates/quinn-udp-0.5.2.crate) = 21918 -SHA256 (rust/crates/quote-1.0.36.crate) = 0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7 -SIZE (rust/crates/quote-1.0.36.crate) = 28507 -SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 -SIZE (rust/crates/rand-0.8.5.crate) = 87113 -SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88 -SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251 -SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c -SIZE (rust/crates/rand_core-0.6.4.crate) = 22666 -SHA256 (rust/crates/redox_syscall-0.5.2.crate) = c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd -SIZE (rust/crates/redox_syscall-0.5.2.crate) = 23957 -SHA256 (rust/crates/redox_users-0.4.5.crate) = bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891 -SIZE (rust/crates/redox_users-0.4.5.crate) = 15514 -SHA256 (rust/crates/regex-1.10.5.crate) = b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f -SIZE (rust/crates/regex-1.10.5.crate) = 253805 -SHA256 (rust/crates/regex-automata-0.4.7.crate) = 38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df -SIZE (rust/crates/regex-automata-0.4.7.crate) = 617582 -SHA256 (rust/crates/regex-syntax-0.8.4.crate) = 7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b -SIZE (rust/crates/regex-syntax-0.8.4.crate) = 347577 -SHA256 (rust/crates/region-3.0.2.crate) = e6b6ebd13bc009aef9cd476c1310d49ac354d36e240cf1bd753290f3dc7199a7 -SIZE (rust/crates/region-3.0.2.crate) = 22388 -SHA256 (rust/crates/reqwest-0.12.5.crate) = c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37 -SIZE (rust/crates/reqwest-0.12.5.crate) = 177108 -SHA256 (rust/crates/ring-0.17.8.crate) = c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d -SIZE (rust/crates/ring-0.17.8.crate) = 4188554 -SHA256 (rust/crates/rmp-0.8.14.crate) = 228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4 -SIZE (rust/crates/rmp-0.8.14.crate) = 29687 -SHA256 (rust/crates/rmpv-1.3.0.crate) = 58450723cd9ee93273ce44a20b6ec4efe17f8ed2e3631474387bfdecf18bb2a9 -SIZE (rust/crates/rmpv-1.3.0.crate) = 28514 -SHA256 (rust/crates/rsa-0.9.6.crate) = 5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc -SIZE (rust/crates/rsa-0.9.6.crate) = 80048 -SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f -SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047 -SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2 -SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331 -SHA256 (rust/crates/rustix-0.38.34.crate) = 70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f -SIZE (rust/crates/rustix-0.38.34.crate) = 365160 -SHA256 (rust/crates/rustls-0.23.10.crate) = 05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402 -SIZE (rust/crates/rustls-0.23.10.crate) = 424689 -SHA256 (rust/crates/rustls-native-certs-0.7.0.crate) = 8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792 -SIZE (rust/crates/rustls-native-certs-0.7.0.crate) = 25071 -SHA256 (rust/crates/rustls-pemfile-2.1.2.crate) = 29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d -SIZE (rust/crates/rustls-pemfile-2.1.2.crate) = 25928 -SHA256 (rust/crates/rustls-pki-types-1.7.0.crate) = 976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d -SIZE (rust/crates/rustls-pki-types-1.7.0.crate) = 29555 -SHA256 (rust/crates/rustls-webpki-0.102.4.crate) = ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e -SIZE (rust/crates/rustls-webpki-0.102.4.crate) = 200657 -SHA256 (rust/crates/rustversion-1.0.17.crate) = 955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6 -SIZE (rust/crates/rustversion-1.0.17.crate) = 17621 -SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f -SIZE (rust/crates/ryu-1.0.18.crate) = 47713 -SHA256 (rust/crates/schannel-0.1.23.crate) = fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534 -SIZE (rust/crates/schannel-0.1.23.crate) = 41667 -SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294 -SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202 -SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 -SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619 -SHA256 (rust/crates/security-framework-2.11.0.crate) = c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0 -SIZE (rust/crates/security-framework-2.11.0.crate) = 80191 -SHA256 (rust/crates/security-framework-sys-2.11.0.crate) = 317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7 -SIZE (rust/crates/security-framework-sys-2.11.0.crate) = 18718 -SHA256 (rust/crates/serde-1.0.203.crate) = 7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094 -SIZE (rust/crates/serde-1.0.203.crate) = 77935 -SHA256 (rust/crates/serde_derive-1.0.203.crate) = 500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba -SIZE (rust/crates/serde_derive-1.0.203.crate) = 55867 -SHA256 (rust/crates/serde_json-1.0.118.crate) = d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4 -SIZE (rust/crates/serde_json-1.0.118.crate) = 146962 -SHA256 (rust/crates/serde_path_to_error-0.1.16.crate) = af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6 -SIZE (rust/crates/serde_path_to_error-0.1.16.crate) = 16657 -SHA256 (rust/crates/serde_repr-0.1.19.crate) = 6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9 -SIZE (rust/crates/serde_repr-0.1.19.crate) = 9997 -SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd -SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822 -SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba -SIZE (rust/crates/sha1-0.10.6.crate) = 13517 -SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8 -SIZE (rust/crates/sha2-0.10.8.crate) = 26357 -SHA256 (rust/crates/signal-hook-registry-1.4.2.crate) = a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1 -SIZE (rust/crates/signal-hook-registry-1.4.2.crate) = 18064 -SHA256 (rust/crates/signature-2.2.0.crate) = 77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de -SIZE (rust/crates/signature-2.2.0.crate) = 15531 -SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67 -SIZE (rust/crates/slab-0.4.9.crate) = 17108 -SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67 -SIZE (rust/crates/smallvec-1.13.2.crate) = 35216 -SHA256 (rust/crates/smawk-0.3.2.crate) = b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c -SIZE (rust/crates/smawk-0.3.2.crate) = 13831 -SHA256 (rust/crates/smithay-client-toolkit-0.18.1.crate) = 922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a -SIZE (rust/crates/smithay-client-toolkit-0.18.1.crate) = 129920 -SHA256 (rust/crates/smithay-clipboard-0.7.1.crate) = c091e7354ea8059d6ad99eace06dd13ddeedbb0ac72d40a9a6e7ff790525882d -SIZE (rust/crates/smithay-clipboard-0.7.1.crate) = 18456 -SHA256 (rust/crates/socket2-0.5.7.crate) = ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c -SIZE (rust/crates/socket2-0.5.7.crate) = 55758 -SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67 -SIZE (rust/crates/spin-0.9.8.crate) = 38958 -SHA256 (rust/crates/spki-0.7.3.crate) = d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d -SIZE (rust/crates/spki-0.7.3.crate) = 16409 -SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f -SIZE (rust/crates/strsim-0.11.1.crate) = 14266 -SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292 -SIZE (rust/crates/subtle-2.6.1.crate) = 14562 -SHA256 (rust/crates/syn-2.0.68.crate) = 901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9 -SIZE (rust/crates/syn-2.0.68.crate) = 265035 -SHA256 (rust/crates/sync_wrapper-0.1.2.crate) = 2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160 -SIZE (rust/crates/sync_wrapper-0.1.2.crate) = 6933 -SHA256 (rust/crates/sync_wrapper-1.0.1.crate) = a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394 -SIZE (rust/crates/sync_wrapper-1.0.1.crate) = 6939 -SHA256 (rust/crates/tempfile-3.10.1.crate) = 85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1 -SIZE (rust/crates/tempfile-3.10.1.crate) = 33653 -SHA256 (rust/crates/terminal_size-0.3.0.crate) = 21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7 -SIZE (rust/crates/terminal_size-0.3.0.crate) = 10096 -SHA256 (rust/crates/textwrap-0.16.1.crate) = 23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9 -SIZE (rust/crates/textwrap-0.16.1.crate) = 56012 -SHA256 (rust/crates/thiserror-1.0.61.crate) = c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709 -SIZE (rust/crates/thiserror-1.0.61.crate) = 21264 -SHA256 (rust/crates/thiserror-impl-1.0.61.crate) = 46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533 -SIZE (rust/crates/thiserror-impl-1.0.61.crate) = 15786 -SHA256 (rust/crates/tinyvec-1.6.1.crate) = c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82 -SIZE (rust/crates/tinyvec-1.6.1.crate) = 46657 -SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 -SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865 -SHA256 (rust/crates/tokio-1.38.0.crate) = ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a -SIZE (rust/crates/tokio-1.38.0.crate) = 774094 -SHA256 (rust/crates/tokio-macros-2.3.0.crate) = 5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a -SIZE (rust/crates/tokio-macros-2.3.0.crate) = 11753 -SHA256 (rust/crates/tokio-rustls-0.26.0.crate) = 0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4 -SIZE (rust/crates/tokio-rustls-0.26.0.crate) = 34253 -SHA256 (rust/crates/tokio-stream-0.1.15.crate) = 267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af -SIZE (rust/crates/tokio-stream-0.1.15.crate) = 36284 -SHA256 (rust/crates/tokio-tungstenite-0.23.1.crate) = c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd -SIZE (rust/crates/tokio-tungstenite-0.23.1.crate) = 28371 -SHA256 (rust/crates/totp-lite-2.0.1.crate) = f8e43134db17199f7f721803383ac5854edd0d3d523cc34dba321d6acfbe76c3 -SIZE (rust/crates/totp-lite-2.0.1.crate) = 8561 -SHA256 (rust/crates/tower-0.4.13.crate) = b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c -SIZE (rust/crates/tower-0.4.13.crate) = 106906 -SHA256 (rust/crates/tower-layer-0.3.2.crate) = c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0 -SIZE (rust/crates/tower-layer-0.3.2.crate) = 6023 -SHA256 (rust/crates/tower-service-0.3.2.crate) = b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52 -SIZE (rust/crates/tower-service-0.3.2.crate) = 6847 -SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef -SIZE (rust/crates/tracing-0.1.40.crate) = 79459 -SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7 -SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241 -SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54 -SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221 -SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b -SIZE (rust/crates/try-lock-0.2.5.crate) = 4314 -SHA256 (rust/crates/tungstenite-0.23.0.crate) = 6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8 -SIZE (rust/crates/tungstenite-0.23.0.crate) = 61196 -SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825 -SIZE (rust/crates/typenum-1.17.0.crate) = 42849 -SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75 -SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811 -SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b -SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168 -SHA256 (rust/crates/unicode-linebreak-0.1.5.crate) = 3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f -SIZE (rust/crates/unicode-linebreak-0.1.5.crate) = 15324 -SHA256 (rust/crates/unicode-normalization-0.1.23.crate) = a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5 -SIZE (rust/crates/unicode-normalization-0.1.23.crate) = 122649 -SHA256 (rust/crates/unicode-width-0.1.13.crate) = 0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d -SIZE (rust/crates/unicode-width-0.1.13.crate) = 457228 -SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1 -SIZE (rust/crates/untrusted-0.9.0.crate) = 14447 -SHA256 (rust/crates/url-2.5.2.crate) = 22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c -SIZE (rust/crates/url-2.5.2.crate) = 79704 -SHA256 (rust/crates/urlencoding-2.1.3.crate) = daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da -SIZE (rust/crates/urlencoding-2.1.3.crate) = 6538 -SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9 -SIZE (rust/crates/utf-8-0.7.6.crate) = 10422 -SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821 -SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499 -SHA256 (rust/crates/uuid-1.9.1.crate) = 5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439 -SIZE (rust/crates/uuid-1.9.1.crate) = 47492 -SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f -SIZE (rust/crates/version_check-0.9.4.crate) = 14895 -SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e -SIZE (rust/crates/want-0.3.1.crate) = 6398 -SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423 -SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131 -SHA256 (rust/crates/wasm-bindgen-0.2.92.crate) = 4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8 -SIZE (rust/crates/wasm-bindgen-0.2.92.crate) = 184119 -SHA256 (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da -SIZE (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 28348 -SHA256 (rust/crates/wasm-bindgen-futures-0.4.42.crate) = 76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0 -SIZE (rust/crates/wasm-bindgen-futures-0.4.42.crate) = 15380 -SHA256 (rust/crates/wasm-bindgen-macro-0.2.92.crate) = a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726 -SIZE (rust/crates/wasm-bindgen-macro-0.2.92.crate) = 13835 -SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7 -SIZE (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = 20092 -SHA256 (rust/crates/wasm-bindgen-shared-0.2.92.crate) = af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96 -SIZE (rust/crates/wasm-bindgen-shared-0.2.92.crate) = 7263 -SHA256 (rust/crates/wayland-backend-0.3.4.crate) = 34e9e6b6d4a2bb4e7e69433e0b35c7923b95d4dc8503a84d25ec917a4bbfdf07 -SIZE (rust/crates/wayland-backend-0.3.4.crate) = 70797 -SHA256 (rust/crates/wayland-client-0.31.3.crate) = 1e63801c85358a431f986cffa74ba9599ff571fc5774ac113ed3b490c19a1133 -SIZE (rust/crates/wayland-client-0.31.3.crate) = 63081 -SHA256 (rust/crates/wayland-csd-frame-0.3.0.crate) = 625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e -SIZE (rust/crates/wayland-csd-frame-0.3.0.crate) = 5696 -SHA256 (rust/crates/wayland-cursor-0.31.3.crate) = a206e8b2b53b1d3fcb9428fec72bc278ce539e2fa81fe2bfc1ab27703d5187b9 -SIZE (rust/crates/wayland-cursor-0.31.3.crate) = 7520 -SHA256 (rust/crates/wayland-protocols-0.31.2.crate) = 8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4 -SIZE (rust/crates/wayland-protocols-0.31.2.crate) = 147062 -SHA256 (rust/crates/wayland-protocols-wlr-0.2.0.crate) = ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6 -SIZE (rust/crates/wayland-protocols-wlr-0.2.0.crate) = 25804 -SHA256 (rust/crates/wayland-scanner-0.31.2.crate) = 67da50b9f80159dec0ea4c11c13e24ef9e7574bd6ce24b01860a175010cea565 -SIZE (rust/crates/wayland-scanner-0.31.2.crate) = 35644 -SHA256 (rust/crates/wayland-sys-0.31.2.crate) = 105b1842da6554f91526c14a2a2172897b7f745a805d62af4ce698706be79c12 -SIZE (rust/crates/wayland-sys-0.31.2.crate) = 8571 -SHA256 (rust/crates/web-sys-0.3.69.crate) = 77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef -SIZE (rust/crates/web-sys-0.3.69.crate) = 728877 -SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 -SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 -SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 -SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 -SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f -SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998 -SHA256 (rust/crates/windows-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0 -SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659 -SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9 -SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884 -SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d -SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877 -SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071 -SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492 -SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c -SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904 -SHA256 (rust/crates/windows-targets-0.52.5.crate) = 6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb -SIZE (rust/crates/windows-targets-0.52.5.crate) = 6376 -SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8 -SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071 -SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8 -SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492 -SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263 -SIZE (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 433266 -SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43 -SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981 -SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc -SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483 -SHA256 (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6 -SIZE (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 827944 -SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f -SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236 -SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e -SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891 -SHA256 (rust/crates/windows_i686_gnu-0.52.5.crate) = 88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670 -SIZE (rust/crates/windows_i686_gnu-0.52.5.crate) = 875699 -SHA256 (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9 -SIZE (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 473064 -SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060 -SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951 -SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406 -SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300 -SHA256 (rust/crates/windows_i686_msvc-0.52.5.crate) = db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf -SIZE (rust/crates/windows_i686_msvc-0.52.5.crate) = 895404 -SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36 -SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373 -SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e -SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619 -SHA256 (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9 -SIZE (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 831539 -SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3 -SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068 -SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc -SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486 -SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596 -SIZE (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 433246 -SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0 -SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936 -SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538 -SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412 -SHA256 (rust/crates/windows_x86_64_msvc-0.52.5.crate) = bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0 -SIZE (rust/crates/windows_x86_64_msvc-0.52.5.crate) = 827905 -SHA256 (rust/crates/winreg-0.52.0.crate) = a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5 -SIZE (rust/crates/winreg-0.52.0.crate) = 30148 -SHA256 (rust/crates/x11-clipboard-0.9.2.crate) = b98785a09322d7446e28a13203d2cae1059a0dd3dfb32cb06d0a225f023d8286 -SIZE (rust/crates/x11-clipboard-0.9.2.crate) = 10334 -SHA256 (rust/crates/x11rb-0.13.1.crate) = 5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12 -SIZE (rust/crates/x11rb-0.13.1.crate) = 223916 -SHA256 (rust/crates/x11rb-protocol-0.13.1.crate) = ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d -SIZE (rust/crates/x11rb-protocol-0.13.1.crate) = 508522 -SHA256 (rust/crates/xcursor-0.3.5.crate) = 6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911 -SIZE (rust/crates/xcursor-0.3.5.crate) = 6256 -SHA256 (rust/crates/xkeysym-0.2.1.crate) = b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56 -SIZE (rust/crates/xkeysym-0.2.1.crate) = 103129 -SHA256 (rust/crates/zeroize-1.8.1.crate) = ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde -SIZE (rust/crates/zeroize-1.8.1.crate) = 20029 -SHA256 (doy-rbw-1.11.1_GH0.tar.gz) = 8fa68b1bda014fdcf087640aaae5db100e2f51f800d8fbac37236ef4e374ba74 -SIZE (doy-rbw-1.11.1_GH0.tar.gz) = 109620 diff --git a/ports/security/rbw/pkg-descr b/ports/security/rbw/pkg-descr deleted file mode 100644 index 9acbc64b..00000000 --- a/ports/security/rbw/pkg-descr +++ /dev/null @@ -1,9 +0,0 @@ -This is an unofficial command line client for Bitwarden. Although it does come -with its own command line client, this client is limited by being stateless - -to use it, you're required to manually lock and unlock the client, and pass -the temporary keys around in environment variables, which makes it very -difficult to use. This client avoids this problem by maintaining a background -process which is able to hold the keys in memory, similar to the way that -ssh-agent or gpg-agent work. This allows the client to be used in a much -simpler way, with the background agent taking care of maintaining the -necessary state. diff --git a/ports/security/rbw/pkg-plist b/ports/security/rbw/pkg-plist deleted file mode 100644 index f1bcabe7..00000000 --- a/ports/security/rbw/pkg-plist +++ /dev/null @@ -1,2 +0,0 @@ -bin/rbw -bin/rbw-agent From 25c5af575bddf1e9fc069fd47c469d6bacb8af74 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 31 Aug 2024 14:49:31 +0200 Subject: [PATCH 1969/2080] mailcap: replacve sxiv by nsxiv --- home/dot_mailcap.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/dot_mailcap.tmpl b/home/dot_mailcap.tmpl index 90d66ae3..f5c0c4c9 100644 --- a/home/dot_mailcap.tmpl +++ b/home/dot_mailcap.tmpl @@ -63,10 +63,10 @@ audio/x-mod ; mutt_bgrun mplayer %s audio/x-pn-realaudio-plugin ; realplay %s ; test=test -n "$DISPLAY" > /dev/null audio/x-pn-realaudio ; realplay %s ; test=test -n "$DISPLAY" > /dev/null audio/* ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null -#image/* ; mutt_bgrun sxiv -bf %s \; reset +#image/* ; mutt_bgrun nsxiv -bf %s \; reset #image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null image/x-eps ; gv %s ; test=test -n "$DISPLAY" > /dev/null -image/* ; mutt_bgrun sxiv %s ; test=test -n "$DISPLAY" > /dev/null +image/* ; mutt_bgrun nsxiv %s ; test=test -n "$DISPLAY" > /dev/null #image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null #image/* ; fbi %s ; copiousoutput From fbc04008eda0b0b982054031be214a8b880f2036 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 31 Aug 2024 14:49:51 +0200 Subject: [PATCH 1970/2080] chezmoi: auto commit and auto push on changes --- home/.chezmoi.toml.tmpl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index ba30dbcb..9c77f67b 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -1,2 +1,5 @@ [edit] - command = "nvim" + command = "nvim" +[git] + autoComit = true + autoPush = true From 3bbe7765ad15a1fd4c5017741ada59da28fce8fe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 31 Aug 2024 14:50:02 +0200 Subject: [PATCH 1971/2080] FreeBSD: install extract_url and nsxiv --- home/.chezmoidata/packages.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 3a357b4e..7fca9bf3 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -138,6 +138,7 @@ packages: - "doggo" - "duf" - "dust" + - "extract_url" - "fd-find" - "fish" - "fuse" @@ -159,6 +160,7 @@ packages: - "neomutt" - "neovim" - "nerd-fonts" + - "nsxiv" - "portlint" - "python" - "ripgrep" From a57d0e251002f04bc4956ece94d9a98b00e7f642 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 31 Aug 2024 14:57:27 +0200 Subject: [PATCH 1972/2080] mailcap: cleanup --- home/dot_mailcap.tmpl | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/dot_mailcap.tmpl b/home/dot_mailcap.tmpl index f5c0c4c9..c10ada79 100644 --- a/home/dot_mailcap.tmpl +++ b/home/dot_mailcap.tmpl @@ -63,11 +63,9 @@ audio/x-mod ; mutt_bgrun mplayer %s audio/x-pn-realaudio-plugin ; realplay %s ; test=test -n "$DISPLAY" > /dev/null audio/x-pn-realaudio ; realplay %s ; test=test -n "$DISPLAY" > /dev/null audio/* ; mutt_bgrun mplayer %s ; test=test -n "$DISPLAY" > /dev/null -#image/* ; mutt_bgrun nsxiv -bf %s \; reset #image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null image/x-eps ; gv %s ; test=test -n "$DISPLAY" > /dev/null image/* ; mutt_bgrun nsxiv %s ; test=test -n "$DISPLAY" > /dev/null -#image/* ; mutt_bgrun gpicview %s ; test=test -n "$DISPLAY" > /dev/null #image/* ; fbi %s ; copiousoutput # XXX Disable backgrouds as it seems that html files is deleted too early From 22e2dac5437163eee861fdd2bd1ddbe2cfe302f7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 31 Aug 2024 15:03:34 +0200 Subject: [PATCH 1973/2080] FreeBSD: install hugo --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 7fca9bf3..34f415fb 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -146,6 +146,7 @@ packages: - "git" - "git-delta" - "glances" + - "gohugo" - "google-fonts" - "isync" - "jq" From 246d5a724e7bf09404a0a6c27168e5fb3345da21 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 1 Sep 2024 20:23:45 +0200 Subject: [PATCH 1974/2080] More package --- home/.chezmoidata/packages.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 34f415fb..e43fca70 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -166,9 +166,11 @@ packages: - "python" - "ripgrep" - "ripgrep-all" + - "rubygem-mdl" - "shfmt" - "starship" - "stylua" + - "tealdeer" - "tmux" - "tree" - "uwrfonts" From 21f0856857aca813f5d9d604f50521623c8dcc85 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 3 Sep 2024 07:20:05 +0200 Subject: [PATCH 1975/2080] Update home/.config/rbw/config.json Update home/.mbsyncrc --- home/private_dot_config/rbw/config.json.tmpl | 2 +- home/readonly_dot_mbsyncrc.tmpl | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/rbw/config.json.tmpl b/home/private_dot_config/rbw/config.json.tmpl index ee4de00a..b9f3cd24 100644 --- a/home/private_dot_config/rbw/config.json.tmpl +++ b/home/private_dot_config/rbw/config.json.tmpl @@ -2,5 +2,5 @@ {"email":"baptiste.grenier@egi.eu","sso_id":null,"base_url":null,"identity_url":null,"ui_url":null,"notifications_url":null,"lock_timeout":360000,"sync_interval":3600,"pinentry":"pinentry-mac","client_cert_path":null} {{- end }} {{- if eq .chezmoi.os "freebsd" -}} -{"email":"baptiste@bapt.name","sso_id":null,"base_url":null,"identity_url":null,"ui_url":null,"notifications_url":null,"lock_timeout":360000,"sync_interval":3600,"pinentry":"pinentry-gnome3","client_cert_path":null} +{"email":"baptiste@bapt.name","sso_id":null,"base_url":null,"identity_url":null,"ui_url":null,"notifications_url":null,"lock_timeout":360000,"sync_interval":3600,"pinentry":"pinentry-fltk","client_cert_path":null} {{- end }} diff --git a/home/readonly_dot_mbsyncrc.tmpl b/home/readonly_dot_mbsyncrc.tmpl index ddc06ab1..653730fb 100644 --- a/home/readonly_dot_mbsyncrc.tmpl +++ b/home/readonly_dot_mbsyncrc.tmpl @@ -106,7 +106,10 @@ Channel EGI-spam IMAPAccount baptiste # CertificateFile /etc/ssl/certs/ca-certificates.crt Host mail.bapt.name -PassCmd "rbw get /mail/baptiste@bapt.name" +# XXX: On FreeBSD with pinentry-gnome3, the password is not taken from the gnome keyring +# PassCmd "rbw get /mail/baptiste@bapt.name" +# secret-tool store --label=mail host mail.bapt.name service imaps user baptiste@bapt.name +PassCMD "secret-tool lookup host mail.bapt.name service imaps user baptiste@bapt.name" TLSType STARTTLS User baptiste@bapt.name From 21aa06cb6ffccd119fbfd40327f8e3716b143a75 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 3 Sep 2024 07:25:52 +0200 Subject: [PATCH 1976/2080] More packages --- home/.chezmoidata/packages.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index e43fca70..2eed18af 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -162,6 +162,7 @@ packages: - "neovim" - "nerd-fonts" - "nsxiv" + - "pinentry-fltk" - "portlint" - "python" - "ripgrep" @@ -216,6 +217,7 @@ packages: - "mutt" - "ncftp" - "pandoc" + - "pinentry-fltk" - "pinentry-gnome3" # - "prettierd" # - "pyenv" From bf424e57904d6d9c9e2a527a32557712b98fbb17 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 3 Sep 2024 07:36:23 +0200 Subject: [PATCH 1977/2080] Update home/.config/rbw/config.json --- home/private_dot_config/rbw/config.json.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/rbw/config.json.tmpl b/home/private_dot_config/rbw/config.json.tmpl index b9f3cd24..ee4de00a 100644 --- a/home/private_dot_config/rbw/config.json.tmpl +++ b/home/private_dot_config/rbw/config.json.tmpl @@ -2,5 +2,5 @@ {"email":"baptiste.grenier@egi.eu","sso_id":null,"base_url":null,"identity_url":null,"ui_url":null,"notifications_url":null,"lock_timeout":360000,"sync_interval":3600,"pinentry":"pinentry-mac","client_cert_path":null} {{- end }} {{- if eq .chezmoi.os "freebsd" -}} -{"email":"baptiste@bapt.name","sso_id":null,"base_url":null,"identity_url":null,"ui_url":null,"notifications_url":null,"lock_timeout":360000,"sync_interval":3600,"pinentry":"pinentry-fltk","client_cert_path":null} +{"email":"baptiste@bapt.name","sso_id":null,"base_url":null,"identity_url":null,"ui_url":null,"notifications_url":null,"lock_timeout":360000,"sync_interval":3600,"pinentry":"pinentry-gnome3","client_cert_path":null} {{- end }} From 813cee40875d2db0e4525780f42dd032f9be9e2b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 4 Sep 2024 08:36:14 +0200 Subject: [PATCH 1978/2080] darwin: install vscode-langservers-extracted --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 2eed18af..8bd1f2df 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -81,6 +81,7 @@ packages: - "yaml-language-server" - "yamllint" - "yazi" + - "vscode-langservers-extracted" - "zoxide" casks: - "adobe-acrobat-reader" From 5d0a47eb8a083f264ed517dbca193f3475cbcb1d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 4 Sep 2024 08:41:49 +0200 Subject: [PATCH 1979/2080] darwin: install marksman --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 8bd1f2df..0a4a4442 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -45,6 +45,7 @@ packages: - "lua-language-server" - "luajit" - "markdownlint-cli2" + - "marksman" - "mas" - "msmtp" - "mutt" From 372cb9fd8724f40b36a0b9f26796b014b7ebd244 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 5 Sep 2024 15:56:14 +0200 Subject: [PATCH 1980/2080] Update home/.config/fish/config.fish --- home/private_dot_config/private_fish/config.fish.tmpl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 0e3fc0ed..57b292fb 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -121,6 +121,9 @@ if status is-interactive # for fedcloudclient, once egi account got created # export OIDC_AGENT_ACCOUNT=egi end + + # Start SSH agent + eval (ssh-agent -c) end # Set color variables From d3d48398fbd2c2096afb90641925bb7141aadd47 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 8 Sep 2024 11:35:55 +0200 Subject: [PATCH 1981/2080] More package --- home/.chezmoidata/packages.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 0a4a4442..8f0bffc1 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -140,14 +140,17 @@ packages: - "doggo" - "duf" - "dust" + - "en-freebsd-doc" - "extract_url" - "fd-find" - "fish" - "fuse" - "fzf" + - "gdm" - "git" - "git-delta" - "glances" + - "gnome" - "gohugo" - "google-fonts" - "isync" @@ -164,7 +167,6 @@ packages: - "neovim" - "nerd-fonts" - "nsxiv" - - "pinentry-fltk" - "portlint" - "python" - "ripgrep" @@ -178,7 +180,11 @@ packages: - "tree" - "uwrfonts" - "vivid" + - "vim" + - "w3m" - "xsel-conrad" + - "xorg" + - "xf86-video-amdgpu" - "zoxide" ports: linux: @@ -219,7 +225,6 @@ packages: - "mutt" - "ncftp" - "pandoc" - - "pinentry-fltk" - "pinentry-gnome3" # - "prettierd" # - "pyenv" From aa4b8bf4bd7bb8425dfa0edfae81817f2e8faf8f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 8 Sep 2024 11:36:13 +0200 Subject: [PATCH 1982/2080] pkg install -y --- home/run_onchange_install-packages.sh.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/run_onchange_install-packages.sh.tmpl b/home/run_onchange_install-packages.sh.tmpl index f061c52d..8951833d 100644 --- a/home/run_onchange_install-packages.sh.tmpl +++ b/home/run_onchange_install-packages.sh.tmpl @@ -2,7 +2,7 @@ #!/bin/sh {{ range .packages.freebsd.pkgs -}} -doas pkg install {{ . | quote }} +doas pkg install -y {{ . | quote }} {{ end -}} {{ else if eq .chezmoi.os "darwin" -}} #!/bin/bash From 6a6adf6a05a3e45d3af5a09d558864d0346abfa0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 8 Sep 2024 11:42:01 +0200 Subject: [PATCH 1983/2080] Import post install notes --- debian-install.md | 19 +++ freebsd-install.md | 172 ++++++++++++++++++++++++ freebsd-manual-setup.md | 58 ++++++++ freebsd-ports.md | 287 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 536 insertions(+) create mode 100644 debian-install.md create mode 100644 freebsd-install.md create mode 100644 freebsd-manual-setup.md create mode 100644 freebsd-ports.md diff --git a/debian-install.md b/debian-install.md new file mode 100644 index 00000000..794c805a --- /dev/null +++ b/debian-install.md @@ -0,0 +1,19 @@ +# Post install tasks on debian + +## Chezmoi + +No Debian package: https://github.com/twpayne/chezmoi/issues/2130 + +```shell +sudo apt install snapd +sudo snap install snapd +sudo snap install chezmoi --classic +sudo apt install git +export PATH="$PATH:/snap/bin" +chezmoi init git@github.com:gwarf/dotfiles.git +``` + +To do: +- Import GPG key + set it up +- Install git-delta from testing + - https://tracker.debian.org/pkg/git-delta diff --git a/freebsd-install.md b/freebsd-install.md new file mode 100644 index 00000000..fd94ee8c --- /dev/null +++ b/freebsd-install.md @@ -0,0 +1,172 @@ +# pkgs + +https://docs.freebsd.org/en/books/handbook/ports/#pkgng-intro + +Use latest packages, to be used with HEAD of ports + +```shell +mkdir -p /usr/local/etc/pkg/repos +echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' > /usr/local/etc/pkg/repos/FreeBSD.conf +pkg update -f +pkg upgrade +``` + +# doas + +```shell +pkg install doas +cp /usr/local/etc/doas.conf.sampe /usr/local/etc/doas.conf +vim /usr/local/etc/doas.conf +``` + +# x11 + +```shell +pkg install xorg +pkg install xx86-video-amdgpu + +pkg install clover +pkg install clinfo +clinfo + +# XXX: broken? +# pkg install drm-kmod +pkg install drm-510-kmod +sysrc kld_list+="amdgpu" +``` + +## Install fonts + +```shell +doas pkg install urwfonts google-fonts nerd-fonts +# XXX: required? +xset fp+ /usr/local/share/fonts/urwfonts +xset fp rehash +fc-cache -f +``` + +### Search for a font/icon + +https://www.nerdfonts.com/cheat-sheet + +# gnome + +Follow handbook + +```shell +pkg install xorg + +# proc +# dbus +# gdm + +``` + +# Mount ext4 FS + +```shell +sysrc kld_list+="ext2fs" +gpart show +mkdir /mnt/data +mkdir /mnt/nix +ls /dev/ext2fs/ +mount -r -t ext2fs /dev/nda0p9 /mnt/nix/ +# If mount is not working, check dmesg +# If it says +# WARNING: mount of nda0p9 denied due to unsupported optional features: +# needs_recovery +# It's required to clean fs using fsck.ext4 +pkg instsall e2fsprogs +doas fsck.ext4 /dev/nda0p9 +``` + +## Simplified mount + +```shell +ls /dev/ext2fs/ +root@brutal:~ # vim /etc/fstab +/dev/ext2fs/nixos /mnt/nix ext2fs rw,noauto 2 0 +/dev/ext2fs/DataLinux /mnt/data ext2fs rw,noauto 2 0 + +mount /mnt/nix +doas fsck.ext4 /dev/ext2fs/DataLinux +mount /mnt/data +``` + +## Ports + +https://docs.freebsd.org/en/books/handbook/ports/ +https://docs.freebsd.org/en/books/handbook/ports/#ports-using +https://freebsdfoundation.org/resource/updating-freebsd-from-git/ + +Use HEAD of ports and use latest packages + +```shell +doas pkg install git +doas git clone https://git.FreeBSD.org/ports.git /usr/ports +# Update +git -C /usr/ports pull +# Switch branch +# XXX: need a deep clone to be able to switch branches easily +git -C /usr/ports switch 2024Q3 +``` + +# Obsidian + +https://www.freshports.org/textproc/obsidian/ + +```shell +cd /usr/ports/textproc/obsidian/ +root@brutal:/usr/ports/textproc/obsidian # head Makefile +pkg search electron +# XXX: is it needed? +# pkg install electron29 +# XXX Not sure why, but do not seem to be working +# pkg install -A `make -V 'electron${ELECTRON_VERSION}'` +make USE_PACKAGE_DEPENDS_ONLY=yes install clean +``` + +# Tools + +```shellc +pkg install vim neovim vlc firefox +``` + +# Chezmoi + +```shell +doas pkg install chezmoi +https://github.com/$GITHUB_USERNAME/dotfiles.git +``` + +# TODO +For nvim: +- package/install marksman +- package/insall ltex-ls +- package/install markdownlint-cli2 + +# Keybase + +https://wiki.freebsd.org/Ports/security/keybase +https://www.freshports.org/security/kbfsd (Not used?) +https://github.com/0mp/kbfsd + +```shell +doas sysctl vfs.usermount=1 +doas vim /etc/sysctl.conf +vfs.usermount=1 +# Be in operator group +groups + +doas kldload fusefs + +doas vim /etc/rc.conf +kld_list="amdgpu ext2fs fusefs" + +doas mkdir /keybase +doas chown baptiste:operator /keybase +chmod 770 /keybase/ + +kbfsfuse /keybase +ls /keybase/ +``` diff --git a/freebsd-manual-setup.md b/freebsd-manual-setup.md new file mode 100644 index 00000000..f66c5f82 --- /dev/null +++ b/freebsd-manual-setup.md @@ -0,0 +1,58 @@ +# FreeBSD manual setup + +## Bootstrap chezmoi dependencies + +```shell +pkg install -y git chezmoi doas +cp /usr/local/etc/doas.conf.sample /usr/local/etc/doas.conf +vim /usr/local/etc/doas.conf +doas mkdir /usr/local/etc/pkg +doas echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' > /usr/local/etc/pkg/repos/FreeBSD.conf +pkg update -f +pkg upgrade -f +``` + +## Install chezmoi + +```shell +git clone https://github.com/gwarf/dotfiles ~/.local/share/chezmoi +mkdir ~/repos/ +ln -s ~/.local/share/chezmoi ~/repos/dotfiles/ +chezmoi apply +``` + +## Mount external ZFS pool + +```shell +# Show info about a ZFS label ln a partition +# Debian install +doas zdb -l /dev/ada0p3 # debian ZFS on root +doas zdb -l /dev/nda0p4 # main FreeBSD ZFS on root +daos zdb -l /dev/ada1p3.eli # geli encrytped FreeBSD system + +# List pools, and their IDs +doas zpool import +# Import pool under /a +doas zpool import -fR /a POOL_ID +# Prompt for encryption key +doas zfs load-key -L prompt zroot +# Check available pools +doas zpool list +# Check available volumes +doas zfs list -r zrool +# Check key location +doas zfs get keylocation -r zroot +# Mount partitions +doas zfs mount zroot/ROOT/debian +doas zfs mount zroot/home + +# Mount encrypted geli system +doas geli attach /dev/ada1p3 +doas geli list +# Find proper pool ID in case there are duplicated names +doas zpool import +doas zpool import -fR /mnt POOL_ID + +# Export the pool once no more used +doas zpool export zroot +``` diff --git a/freebsd-ports.md b/freebsd-ports.md new file mode 100644 index 00000000..7eb1ee7c --- /dev/null +++ b/freebsd-ports.md @@ -0,0 +1,287 @@ +# Working as root + +```shell +# Configure git commit info as root +doas git config --global user.name "Baptiste Grenier" +doas git config --global user.email "baptiste@bapt.name" + +# Create a branch to work in +doas git branch rbw +doas git checkout rbw +doas git checkout -b rbw + +# Do work to create or update the port + +# Commit changes to the work branch +doas git status +doas git add . +doas git commit -am 'Bump rbw to 1.12.1' + +# Create a patch +doas git format-patch origin/main + +# Copy files to custom repo +cp /usr/ports/security/rbw/{distinfo,Makefile,pkg-desc,pkg-plist} /home/baptiste/repos/freebsd-ports-custom/security/rbw + +# Switch back to main branch +doas git checkout main +doas git pull + +# Rebase rbw work branch from main to get latest changes +doas git pull rebase origin/main rbw +``` + +# Working as a user + +## Clone FreeBSD ports as a use + +```shell +git clone https://git.FreeBSD.org/ports.git freebsd-ports +cd freebsd-ports +git co -b 'lua-resty-patches' +# Customise/bump makefile +# Update checksums +make makesum +# Fort ports with flavours +FLAVOR=3x make makesum +# Only if needed? It builds and install stuff apparently +doas make makeplist +``` + +https://people.freebsd.org/~olivierd/porters-handbook/testing-poudriere.html + + +## Clone custom ports repository + +```shell +``` + +## Make a patch to send to bugzilla + +```shell +cd ~/repos/freebsd-ports +# Update main branch +git checkout main +git pull +# Create a new branch +git checkout -b rbw +# Rebase the branch for main if it was already created +git rebase origin/main rbw +# Add changes from personal repo +cp -rv ~/repos/freebsd-ports-custom/security/rbw ~/repos/freebsd-ports/security/ +# Commit changes +git add security/rbw +git commit -am 'Add rbw port' +# Create a patch from origin +git format-patch origin/main +# Propose 0001-Add-rbw-port.patch via bugzilla +``` +## Update using a PR in GitHub + +# Build with poudriere + +```shell +doas pkg update +doas pkg install poudriere +``` + +```shell +# Find a suitable ZFS pool, here it will be zroot +zpool list + +# Create dataset for poudriere +zfs create zroot/poudriere + +# Set the moundpoint of the ZFS dataset for poudriere +zfs set mountpoint=/poudriere zroot/poudriere + +pkg install poudriere git portshaker + +vim /usr/local/etc/poudriere.conf +ZPOOL=zroot +ZROOTFS=/poudriere +FREEBSD_HOST=https://download.FreeBSD.org +RESOLV_CONF=/etc/resolv.conf +BASEFS=/poudriere/base +DISTFILES_CACHE=/usr/ports/distfiles +USE_PORTLINT=yes +USE_TMPFS=yes +NOLINUX=yes +ALLOW_MAKE_JOBS=yes +PACKAGE_FETCH_BRANCH=latest + +# Create build jail +doas poudriere jail -c -j 14-1-amd64 -v 14.1-RELEASE + +# Create a ports tree with default options +doas poudriere ports -c +# Check the ports tree that got created +poudriere ports -l +``` + +## Adding custom packages manually + +```shell +doas cp -rv /home/baptiste/repos/freebsd-ports-custom/security/rbw /poudriere/base/ports/default/security/ +``` + +## Building the packages + +```shell +# Populate list of packages to be built +doas echo 'security/rbw' > /usr/local/etc/poudriere.d/pkglist +doas echo 'www/lua-resty-session' >> /usr/local/etc/poudriere.d/pkglist +# Build packages verbosely +doas poudriere bulk -f /usr/local/etc/poudriere.d/pkglist -j 14-1-amd64 -v -v -v +``` + +## Using portshaker + +```shell +# Alternative: create empty port tree that will be filled by portshaker +doas poudriere ports -cF -p main + +# Create a dedicated volume for portshaker cache +zfs create zroot/portshaker +zfs set mountpoint=/var/cache/portshaker zroot/portshaker + +vim /usr/local/etc/portshaker.d/custom +#!/bin/sh +. /usr/local/share/portshaker/portshaker.subr +if [ "$1" != '--' ]; then + err 1 "Extra arguments" +fi +shift +method="git" +# For a private repo +# git_clone_uri="git@github.com:gwarf/freebsd-ports-custom.git" +git_clone_uri="https://github.com/gwarf/freebsd-ports-custom.git" +git_branch="main" +run_portshaker_command "$@" +chmod +x /usr/local/etc/portshaker.d/custom + +vim /usr/local/etc/portshaker.d/freebsd +#!/bin/sh +. /usr/local/share/portshaker/portshaker.subr +​if [ "$1" != '--' ]; then + err 1 "Extra arguments" +fi +shift +method="git" +git_clone_uri="https://github.com/freebsd/freebsd-ports.git" +git_branch="main" +run_portshaker_command "$@" +chmod +x /usr/local/etc/portshaker.d/freebsd + +vim /usr/local/etc/portshaker.conf +mirror_base_dir="/var/cache/portshaker" +ports_trees="main" +use_zfs="yes" +poudriere_dataset="zroot/poudriere" +poudriere_ports_mountpoint="/usr/local/poudriere/ports" +main_poudriere_tree="main" +# Force overwritting files freebsd ports with custom overlay +# This doesn't remove non matching files +main_merge_from="freebsd custom+" + +# Update ports trees +portshaker -U +# Merge prot trees +porthakser -M +# Updat and merge port trees +portshaker +``` + +# Adding an updated package + +```shell +# Work on updating the port/bumping version +# Make makesum in the main/host to be able to update the distinfo file +doas make makesum +# Copy new/updated ports to poudriere merged folder +doas cp -rv /poudriere/ports/main/www/lua-resty-session3 /poudriere/ports/main/www/ +# Build the port +doas poudriere testport -j 14-1-amd64 -p main -i www/lua-resty-session3 +# In the jail +pwd +# Check plist and save it to /tmp as not allowed to write to the makefile +make makeplist > /tmp/$(make -V PORTNAME)-plist +doas vim -O /poudriere/data/.m/14-1-amd64-main/ref/tmp/lua-resty-session-plist /poudriere/data/.m/14-1-amd64-main/ref/usr/ports/www/lua-resty-session3/Makefile + +``` + +```shell +# Add new port +cp -r ~/repos/freebsd-ports/security/lua-resty-openidc ~/repos/freebsd-ports-custom/security/ + +# test port in a jail +doas poudriere testport -j 14-1-amd64 -p main -o security/rbw +``` + +## Building the packages + +```shell +# Populate list of packages to be built +doas echo 'security/rbw' > /usr/local/etc/poudriere.d/pkglist +doas echo 'www/lua-resty-session' >> /usr/local/etc/poudriere.d/pkglist +# Build packages verbosely +## Using main ports tree +doas poudriere bulk -f /usr/local/etc/poudriere.d/pkglist -j 14-1-amd64 -p main -v -v -v +``` + + + + +# Update rbw version and send a new patch + +```shell +cd ~/repos/freebsd-ports-custom/security/rbw +# Update version +vim Makefile + +# Review and commit changes +git commit -am 'Update rbw to 1.12.1' +# Push changes remotely +git push +# Update and merge portshaker repositories +doas portshaker +# Test updated port, moving to interactive use to be able to update the Makefile +doas poudriere testport -j 14-1-amd64 -p main -o security/rbw -i +su - +# Update cargo crates +#FIXME: this reports issues +# Not validating first entry in CATEGORIES due to being outside of PORTSDIR. +make cargo-crates >> Makefile +# Merge cargo-crates update +vim Makefile +# Update sums +make makesum +#XXX: get changes from the jail to update the ports tree outside of the Jail + +# Push changes to customised branch +cd ~/repos/freebsd-ports/security/rbw/ +cp -rv ~/repos/freebsd-ports-custom/security/rbw/* . + +# Commit changes to rbw branch or to a new branch +git fetch +git rebase origin/main rbw +# Squash changes if the updated port is not yet in the tree +git rebase -i ... +# Review changes +git diff origin/main +# Create a patch +git format-patch origin/main + +# TODO: trying by passing path to local repo to poudriere using -O overlay +``` + + +# Create patch for new lua-resty-session3 + + +```shell +cp -rv ~/repos/freebsd-ports-custom/www/lua-resty-session3 www/ +git add www/lua-resty-session3 +git status +git ci -am 'www/lua-resty-session3 new port sticking to version 3' +``` From e536878e185d2158915d5c5b7431f7e5d2705634 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 8 Sep 2024 17:07:20 +0200 Subject: [PATCH 1984/2080] More package --- home/.chezmoidata/packages.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 8f0bffc1..f890183e 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -138,18 +138,22 @@ packages: - "bat" - "direnv" - "doggo" + - "drm-kmod" - "duf" - "dust" - "en-freebsd-doc" - "extract_url" - "fd-find" + - "firefox" + - "libu2f-host" + - "u2f-devd" - "fish" - "fuse" - "fzf" - "gdm" - "git" - "git-delta" - - "glances" + - "py311-glances" - "gnome" - "gohugo" - "google-fonts" @@ -157,7 +161,7 @@ packages: - "jq" - "kbfsd" - "keybase" - - "khard" + - "py311-khard" - "kitty" - "lazygit" - "lsd" @@ -178,7 +182,7 @@ packages: - "tealdeer" - "tmux" - "tree" - - "uwrfonts" + - "urwfonts" - "vivid" - "vim" - "w3m" From 7d1e473c89e8b952d655ef954bcba98de7d9aee5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 8 Sep 2024 17:07:53 +0200 Subject: [PATCH 1985/2080] Drop useless comment --- home/private_dot_config/private_fish/config.fish.tmpl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 57b292fb..de38f9f4 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -17,7 +17,6 @@ if status is-interactive # Use bat as pager set -gx PAGER bat - # https://unix.stackexchange.com/questions/343168/can-i-prevent-service-foo-status-from-paging-its-output-through-less set -gx SYSTEMD_PAGER bat set -gx MANPAGER "nvim +Man!" @@ -166,9 +165,9 @@ if status is-interactive # XXX: fzf--fish is only valid with fzf >= 0.48.0 fzf --fish | source {{ else if eq .chezmoi.os "freebsd" -}} - fzf --fish | source - {{ else -}} source /usr/local/share/examples/fzf/shell/key-bindings.fish + {{ else -}} + fzf --fish | source {{ end -}} end # vim: ft=fish From 5a538927f77e687daf3c2f08dda7a948b412b2d8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 8 Sep 2024 17:08:08 +0200 Subject: [PATCH 1986/2080] More startup doc --- freebsd-manual-setup.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/freebsd-manual-setup.md b/freebsd-manual-setup.md index f66c5f82..6786ae12 100644 --- a/freebsd-manual-setup.md +++ b/freebsd-manual-setup.md @@ -56,3 +56,18 @@ doas zpool import -fR /mnt POOL_ID # Export the pool once no more used doas zpool export zroot ``` + +# X + +```shell +pkg install xf86-video-amdgpu drm-kmod xorg +pw groupmod video -m baptiste +sysrc kld_list+="amdgpu" +kldload amdgpu +``` +# Fido in firefox + +```shell +service devd restart +# pw group mod u2f -m baptiste +``` From 7ab20b3eee32da43b50a38fd637fb0e7b725767f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 8 Sep 2024 17:11:34 +0200 Subject: [PATCH 1987/2080] Update home/.chezmoidata/packages.yaml Change attributes of home/.mbsyncrc --- home/.chezmoidata/packages.yaml | 2 ++ ...nly_dot_mbsyncrc.tmpl => private_readonly_dot_mbsyncrc.tmpl} | 0 2 files changed, 2 insertions(+) rename home/{readonly_dot_mbsyncrc.tmpl => private_readonly_dot_mbsyncrc.tmpl} (100%) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index f890183e..d06d4a2d 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -172,6 +172,8 @@ packages: - "nerd-fonts" - "nsxiv" - "portlint" + - "poudriere" + - "portshaker" - "python" - "ripgrep" - "ripgrep-all" diff --git a/home/readonly_dot_mbsyncrc.tmpl b/home/private_readonly_dot_mbsyncrc.tmpl similarity index 100% rename from home/readonly_dot_mbsyncrc.tmpl rename to home/private_readonly_dot_mbsyncrc.tmpl From ff3b7ad95c8ebb92adf39e5d5a074c2d65a18ad0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 8 Sep 2024 17:14:59 +0200 Subject: [PATCH 1988/2080] Update home/.mbsyncrc --- home/private_readonly_dot_mbsyncrc.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_readonly_dot_mbsyncrc.tmpl b/home/private_readonly_dot_mbsyncrc.tmpl index 653730fb..f62f8966 100644 --- a/home/private_readonly_dot_mbsyncrc.tmpl +++ b/home/private_readonly_dot_mbsyncrc.tmpl @@ -110,7 +110,7 @@ Host mail.bapt.name # PassCmd "rbw get /mail/baptiste@bapt.name" # secret-tool store --label=mail host mail.bapt.name service imaps user baptiste@bapt.name PassCMD "secret-tool lookup host mail.bapt.name service imaps user baptiste@bapt.name" -TLSType STARTTLS +TLSType IMAPS User baptiste@bapt.name IMAPStore baptiste-remote From 0d142005d04a1415ea3b1cf071e6d3c99eee635d Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 8 Sep 2024 17:16:21 +0200 Subject: [PATCH 1989/2080] Update home/.mbsyncrc --- home/private_readonly_dot_mbsyncrc.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_readonly_dot_mbsyncrc.tmpl b/home/private_readonly_dot_mbsyncrc.tmpl index f62f8966..b89f83e9 100644 --- a/home/private_readonly_dot_mbsyncrc.tmpl +++ b/home/private_readonly_dot_mbsyncrc.tmpl @@ -110,7 +110,7 @@ Host mail.bapt.name # PassCmd "rbw get /mail/baptiste@bapt.name" # secret-tool store --label=mail host mail.bapt.name service imaps user baptiste@bapt.name PassCMD "secret-tool lookup host mail.bapt.name service imaps user baptiste@bapt.name" -TLSType IMAPS +SSLType STARTTLS User baptiste@bapt.name IMAPStore baptiste-remote From 273468117a23bc2c7399f8b4e96fd5d44e23b886 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 9 Sep 2024 08:56:53 +0200 Subject: [PATCH 1990/2080] FreeBSD: chromium and vlc --- home/.chezmoidata/packages.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index d06d4a2d..3aaf7dfe 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -136,6 +136,7 @@ packages: pkgs: - "bash" - "bat" + - "chromium" - "direnv" - "doggo" - "drm-kmod" @@ -187,6 +188,7 @@ packages: - "urwfonts" - "vivid" - "vim" + - "vlc" - "w3m" - "xsel-conrad" - "xorg" From 402c8d8acf812e0ec700d18a7df2727f3677013f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 9 Sep 2024 08:57:19 +0200 Subject: [PATCH 1991/2080] Update FreeBSD docs --- freebsd-install.md | 142 ----------------------- freebsd-manual-setup.md | 223 ++++++++++++++++++++++++++++-------- freebsd-zfs-other-system.md | 36 ++++++ 3 files changed, 212 insertions(+), 189 deletions(-) create mode 100644 freebsd-zfs-other-system.md diff --git a/freebsd-install.md b/freebsd-install.md index fd94ee8c..a78a72fa 100644 --- a/freebsd-install.md +++ b/freebsd-install.md @@ -1,67 +1,3 @@ -# pkgs - -https://docs.freebsd.org/en/books/handbook/ports/#pkgng-intro - -Use latest packages, to be used with HEAD of ports - -```shell -mkdir -p /usr/local/etc/pkg/repos -echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' > /usr/local/etc/pkg/repos/FreeBSD.conf -pkg update -f -pkg upgrade -``` - -# doas - -```shell -pkg install doas -cp /usr/local/etc/doas.conf.sampe /usr/local/etc/doas.conf -vim /usr/local/etc/doas.conf -``` - -# x11 - -```shell -pkg install xorg -pkg install xx86-video-amdgpu - -pkg install clover -pkg install clinfo -clinfo - -# XXX: broken? -# pkg install drm-kmod -pkg install drm-510-kmod -sysrc kld_list+="amdgpu" -``` - -## Install fonts - -```shell -doas pkg install urwfonts google-fonts nerd-fonts -# XXX: required? -xset fp+ /usr/local/share/fonts/urwfonts -xset fp rehash -fc-cache -f -``` - -### Search for a font/icon - -https://www.nerdfonts.com/cheat-sheet - -# gnome - -Follow handbook - -```shell -pkg install xorg - -# proc -# dbus -# gdm - -``` - # Mount ext4 FS ```shell @@ -92,81 +28,3 @@ mount /mnt/nix doas fsck.ext4 /dev/ext2fs/DataLinux mount /mnt/data ``` - -## Ports - -https://docs.freebsd.org/en/books/handbook/ports/ -https://docs.freebsd.org/en/books/handbook/ports/#ports-using -https://freebsdfoundation.org/resource/updating-freebsd-from-git/ - -Use HEAD of ports and use latest packages - -```shell -doas pkg install git -doas git clone https://git.FreeBSD.org/ports.git /usr/ports -# Update -git -C /usr/ports pull -# Switch branch -# XXX: need a deep clone to be able to switch branches easily -git -C /usr/ports switch 2024Q3 -``` - -# Obsidian - -https://www.freshports.org/textproc/obsidian/ - -```shell -cd /usr/ports/textproc/obsidian/ -root@brutal:/usr/ports/textproc/obsidian # head Makefile -pkg search electron -# XXX: is it needed? -# pkg install electron29 -# XXX Not sure why, but do not seem to be working -# pkg install -A `make -V 'electron${ELECTRON_VERSION}'` -make USE_PACKAGE_DEPENDS_ONLY=yes install clean -``` - -# Tools - -```shellc -pkg install vim neovim vlc firefox -``` - -# Chezmoi - -```shell -doas pkg install chezmoi -https://github.com/$GITHUB_USERNAME/dotfiles.git -``` - -# TODO -For nvim: -- package/install marksman -- package/insall ltex-ls -- package/install markdownlint-cli2 - -# Keybase - -https://wiki.freebsd.org/Ports/security/keybase -https://www.freshports.org/security/kbfsd (Not used?) -https://github.com/0mp/kbfsd - -```shell -doas sysctl vfs.usermount=1 -doas vim /etc/sysctl.conf -vfs.usermount=1 -# Be in operator group -groups - -doas kldload fusefs - -doas vim /etc/rc.conf -kld_list="amdgpu ext2fs fusefs" - -doas mkdir /keybase -doas chown baptiste:operator /keybase -chmod 770 /keybase/ - -kbfsfuse /keybase -ls /keybase/ -``` diff --git a/freebsd-manual-setup.md b/freebsd-manual-setup.md index 6786ae12..c2c68afb 100644 --- a/freebsd-manual-setup.md +++ b/freebsd-manual-setup.md @@ -1,73 +1,202 @@ # FreeBSD manual setup +## pkgs + +See [https://docs.freebsd.org/en/books/handbook/ports/#pkgng-intro](pkgng +intro). + +Use latest packages, to be used with HEAD of ports repository. + +```shell +mkdir -p /usr/local/etc/pkg/repos +echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' > /usr/local/etc/pkg/repos/FreeBSD.conf +pkg update -f +pkg upgrade -f +``` ## Bootstrap chezmoi dependencies +### doas + ```shell -pkg install -y git chezmoi doas +pkg install doas cp /usr/local/etc/doas.conf.sample /usr/local/etc/doas.conf vim /usr/local/etc/doas.conf -doas mkdir /usr/local/etc/pkg -doas echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' > /usr/local/etc/pkg/repos/FreeBSD.conf -pkg update -f -pkg upgrade -f ``` ## Install chezmoi +[chezmoi](https://www.chezmoi.io/) will ake of installing all packages, but +system level configuration is to be done manually. + ```shell -git clone https://github.com/gwarf/dotfiles ~/.local/share/chezmoi +doas pkg install -y git chezmoi +chezmoi init gwarf +chezmoi apply +# Link repos to my usual place mkdir ~/repos/ ln -s ~/.local/share/chezmoi ~/repos/dotfiles/ -chezmoi apply ``` -## Mount external ZFS pool +## Xorg + +```shell +# If willing to get info about hardware +doas pkg install clover +doas pkg install clinfo +clinfo +# Setup for using Xorg +doas pw groupmod video -m baptiste +doas sysrc kld_list+="amdgpu" +doas kldload amdgpu +# For the mouse management +doas echo "kern.evdev.rcpt_mask=6" >> /etc/sysctl.conf +``` + +### Install fonts ```shell -# Show info about a ZFS label ln a partition -# Debian install -doas zdb -l /dev/ada0p3 # debian ZFS on root -doas zdb -l /dev/nda0p4 # main FreeBSD ZFS on root -daos zdb -l /dev/ada1p3.eli # geli encrytped FreeBSD system - -# List pools, and their IDs -doas zpool import -# Import pool under /a -doas zpool import -fR /a POOL_ID -# Prompt for encryption key -doas zfs load-key -L prompt zroot -# Check available pools -doas zpool list -# Check available volumes -doas zfs list -r zrool -# Check key location -doas zfs get keylocation -r zroot -# Mount partitions -doas zfs mount zroot/ROOT/debian -doas zfs mount zroot/home - -# Mount encrypted geli system -doas geli attach /dev/ada1p3 -doas geli list -# Find proper pool ID in case there are duplicated names -doas zpool import -doas zpool import -fR /mnt POOL_ID - -# Export the pool once no more used -doas zpool export zroot +doas pkg install uwrfonts google-fonts nerd-fonts +# XXX: required? +xset fp+ /usr/local/share/fonts/urwfonts +xset fp rehash +fc-cache -f ``` -# X +#### Search for a font/icon + +https://www.nerdfonts.com/cheat-sheet + +## Install Gnome desktop environment + +Check [FreeBSD handbook](https://docs.freebsd.org/en/books/handbook/desktop/). ```shell -pkg install xf86-video-amdgpu drm-kmod xorg -pw groupmod video -m baptiste -sysrc kld_list+="amdgpu" -kldload amdgpu +# Mount /proc +doas echo "proc /proc procfs rw 0 0" > /etc/fstab" +# Enable dbus service +doas sysrc dbus_enable="YES" +doas service dbus start +# Enable gdm service +doas sysrc gdm_enable="YES" +doas service gdm start ``` -# Fido in firefox + +## Firefox setup + +### Firefox sync + +### Firefox extensions + +Mimimal list of extensions to install: + +- Bitwarden +- LanguageTool +- Privacy Badger +- uBlock Origin + +### Fido in firefox + +https://forums.freebsd.org/threads/firefox-61-u2f-fido-does-not-work.66989/ +https://gist.github.com/daemonhorn/bdd77a7bc0ff5842e5a31d999b96e1f1 ```shell -service devd restart -# pw group mod u2f -m baptiste +doas pw group mod u2f -m baptiste +doas sysrc devd_enable="YES" +doas service devd restart ``` + +## Mail + +```shell +# Get password from Bitwarden add add it to local keyring +secret-tool store --label=mail host MAIL_SERVER service imaps user MAIL_USER +# Get mails +mkdir -p ~/Mail/Perso +#XXX: run mbsync manually and on demand +mbsync -a +mutt +``` + +## Poudriere setup to build ports locally + +See https://blog.bapt.name/2024/08/31/building-freebsd-ports/. + +## Obsidian + +There is [port for Obsidian](https://www.freshports.org/textproc/obsidian/), +but due to licences issues it connot be redistributed. It's convenient to +build it using poudriere. + +The build will be done using a set named `obsidian`, in order to allow to +configure make only for this package. + +```shell +# Add obisidian to the package list +doas echo "textproc/obsidian" > /usr/local/etc/poudriere.d/obsidian-pkglist +doas echo "DISABLE_LICENSES=yes" > /usr/local/etc/poudriere.d/obsidian-make.conf +# Build obsidian using poudriere, and using the obsidian set +doas poudriere bulk -f /usr/local/etc/poudriere.d/obsidian-pkglist -j 14-1-amd64 -p main -z obsidian -v -v +# Add repos definition +doas mkdir -p /usr/local/etc/pkg/repos/ +doas vim /usr/local/etc/pkg/repos/obsidian.conf +Obsidian: { + url: "file:///poudriere/data/packages/14-1-amd64-main-obsidian" +} +doas pkg update +pkg search -Q repository obsidian +doas pkg install obsidian +``` + +## rbw + +There is currently no official port for Obsidian. It's convenient to build it +using poudriere. + +```shell +# Add rbw to the custom repository package list +doas echo "security/rbw> /usr/local/etc/poudriere.d/custom-pkglist +# Build custom packages using poudriere +doas poudriere bulk -f /usr/local/etc/poudriere.d/custom-pkglist -j 14-1-amd64 -p main -v -v +# Add repos definition +doas mkdir -p /usr/local/etc/pkg/repos/ +doas vim /usr/local/etc/pkg/repos/custom.conf +Custom: { + url: "file:///poudriere/data/packages/14-1-amd64-main" +} +doas pkg update +pkg search -Q repository rbw +daos pkg install rbw +``` + +## Keybase + +https://wiki.freebsd.org/Ports/security/keybase +https://www.freshports.org/security/kbfsd (Not used?) +https://github.com/0mp/kbfsd + +```shell +doas sysctl vfs.usermount=1 +doas vim /etc/sysctl.conf +vfs.usermount=1 +# Be in operator group +groups + +doas kldload fusefs + +doas vim /etc/rc.conf +kld_list="amdgpu ext2fs fusefs" + +doas mkdir /keybase +doas chown baptiste:operator /keybase +chmod 770 /keybase/ + +kbfsfuse /keybase +ls /keybase/ +``` + +## TODO + +For nvim: +- package/install marksman +- package/insall ltex-ls +- package/install markdownlint-cli2 diff --git a/freebsd-zfs-other-system.md b/freebsd-zfs-other-system.md new file mode 100644 index 00000000..30469e35 --- /dev/null +++ b/freebsd-zfs-other-system.md @@ -0,0 +1,36 @@ +## Mount external ZFS pool + +```shell +# Show info about a ZFS label ln a partition +# Debian install +doas zdb -l /dev/ada0p3 # debian ZFS on root +doas zdb -l /dev/nda0p4 # main FreeBSD ZFS on root +daos zdb -l /dev/ada1p3.eli # geli encrytped FreeBSD system + +# List pools, and their IDs +doas zpool import +# Import pool under /a +doas zpool import -fR /a POOL_ID +# Prompt for encryption key +doas zfs load-key -L prompt zroot +# Check available pools +doas zpool list +# Check available volumes +doas zfs list -r zrool +# Check key location +doas zfs get keylocation -r zroot +# Mount partitions +doas zfs mount zroot/ROOT/debian +doas zfs mount zroot/home + +# Mount encrypted geli system +doas geli attach /dev/ada1p3 +doas geli list +# Find proper pool ID in case there are duplicated names +doas zpool import +doas zpool import -fR /mnt POOL_ID + +# Export the pool once no more used +doas zpool export zroot +``` + From 3d33c9392ddb3b2fc5acd9352ebbb81a4cb8e667 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 9 Sep 2024 08:58:04 +0200 Subject: [PATCH 1992/2080] Fix file name --- freebsd-install.md => freebsd-ext4.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename freebsd-install.md => freebsd-ext4.md (100%) diff --git a/freebsd-install.md b/freebsd-ext4.md similarity index 100% rename from freebsd-install.md rename to freebsd-ext4.md From 8cd4f8831df9aaadfa6b51b8305927818b419a10 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Mon, 9 Sep 2024 17:01:08 +0200 Subject: [PATCH 1993/2080] chezmoi: update ignores --- home/.chezmoiignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoiignore b/home/.chezmoiignore index ad0d1e06..71557889 100644 --- a/home/.chezmoiignore +++ b/home/.chezmoiignore @@ -1,6 +1,8 @@ *.nix .config/nvim/spell/en.utf-8.add.spl .config/nvim/spell/en.utf-8.add +.config/neomutt/default-profile +.config/neomutt/history {{- if ne .chezmoi.os "darwin" }} Library/** .config/karabiner/karabiner.json From 42f6c68a188289b9f77a28999bebde8d64a61c90 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 9 Sep 2024 19:13:32 +0200 Subject: [PATCH 1994/2080] Update home/.config/fish/config.fish --- home/private_dot_config/private_fish/config.fish.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index de38f9f4..c0026157 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -165,9 +165,9 @@ if status is-interactive # XXX: fzf--fish is only valid with fzf >= 0.48.0 fzf --fish | source {{ else if eq .chezmoi.os "freebsd" -}} - source /usr/local/share/examples/fzf/shell/key-bindings.fish - {{ else -}} fzf --fish | source + {{ else -}} + source /usr/local/share/examples/fzf/shell/key-bindings.fish {{ end -}} end # vim: ft=fish From 2eb1b491d936ec51d101bd6f84dcaf038dcd7c23 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 9 Sep 2024 19:15:24 +0200 Subject: [PATCH 1995/2080] Update home/.mbsyncrc --- home/private_readonly_dot_mbsyncrc.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_readonly_dot_mbsyncrc.tmpl b/home/private_readonly_dot_mbsyncrc.tmpl index b89f83e9..653730fb 100644 --- a/home/private_readonly_dot_mbsyncrc.tmpl +++ b/home/private_readonly_dot_mbsyncrc.tmpl @@ -110,7 +110,7 @@ Host mail.bapt.name # PassCmd "rbw get /mail/baptiste@bapt.name" # secret-tool store --label=mail host mail.bapt.name service imaps user baptiste@bapt.name PassCMD "secret-tool lookup host mail.bapt.name service imaps user baptiste@bapt.name" -SSLType STARTTLS +TLSType STARTTLS User baptiste@bapt.name IMAPStore baptiste-remote From bab7d289c67eaded0f7dd0d568484c61e3a39dc4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 9 Sep 2024 19:28:22 +0200 Subject: [PATCH 1996/2080] Use gnome-lite instead of gnome --- home/.chezmoidata/packages.yaml | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 3aaf7dfe..3011a299 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -143,28 +143,30 @@ packages: - "duf" - "dust" - "en-freebsd-doc" + - "eog" + - "eog-plugins" - "extract_url" - "fd-find" - "firefox" - - "libu2f-host" - - "u2f-devd" - "fish" - "fuse" - "fzf" - "gdm" + - "gedit" + - "gedit-plugins" - "git" - "git-delta" - - "py311-glances" - - "gnome" + - "gnome-lite" + - "gnome-screenshot" - "gohugo" - "google-fonts" - "isync" - "jq" - "kbfsd" - "keybase" - - "py311-khard" - "kitty" - "lazygit" + - "libu2f-host" - "lsd" - "msmtp" - "mutt" @@ -173,8 +175,11 @@ packages: - "nerd-fonts" - "nsxiv" - "portlint" - - "poudriere" - "portshaker" + - "poudriere" + - "procs" + - "py311-glances" + - "py311-khard" - "python" - "ripgrep" - "ripgrep-all" @@ -185,16 +190,16 @@ packages: - "tealdeer" - "tmux" - "tree" + - "u2f-devd" - "urwfonts" - - "vivid" - "vim" + - "vivid" - "vlc" - "w3m" - - "xsel-conrad" - - "xorg" - "xf86-video-amdgpu" + - "xorg" + - "xsel-conrad" - "zoxide" - ports: linux: pkgs: - "kitty" From adbad72b842c3ea1ffa5552222cae4fe8c7972e5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 10 Sep 2024 18:58:39 +0200 Subject: [PATCH 1997/2080] More package --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 3011a299..f9043258 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -136,6 +136,7 @@ packages: pkgs: - "bash" - "bat" + - "cheat" - "chromium" - "direnv" - "doggo" From 8fedb5d665ada76dec962a2d9418a183f0799a23 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Sep 2024 09:19:29 +0200 Subject: [PATCH 1998/2080] Update home/.config/fish/config.fish --- home/private_dot_config/private_fish/config.fish.tmpl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index c0026157..f8b878aa 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -80,6 +80,8 @@ if status is-interactive . ~/perl5/perlbrew/etc/perlbrew.fish end + abbr -a bru brew update && brew update --cask && brew upgrade && brew upgrade --cask + # XXX: disabled # Favor using llvm stuff from homebrew # clang-15: unknown argument -02 From 86dc6933b2e446f94705a7baa9222160f923a371 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Sep 2024 09:20:38 +0200 Subject: [PATCH 1999/2080] Update home/.config/fish/config.fish --- home/private_dot_config/private_fish/config.fish.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index f8b878aa..7d340881 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -80,7 +80,7 @@ if status is-interactive . ~/perl5/perlbrew/etc/perlbrew.fish end - abbr -a bru brew update && brew update --cask && brew upgrade && brew upgrade --cask + abbr -a bru "brew update && brew update --cask && brew upgrade && brew upgrade --cask" # XXX: disabled # Favor using llvm stuff from homebrew From 995cc223555c4a34c0b9d0d400367625e41890aa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 11 Sep 2024 16:31:36 +0200 Subject: [PATCH 2000/2080] Update home/.config/fish/config.fish --- home/private_dot_config/private_fish/config.fish.tmpl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 7d340881..f0a97ccd 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -124,7 +124,9 @@ if status is-interactive end # Start SSH agent - eval (ssh-agent -c) + if test -z "$SSH_AGENT_PID" + eval "$(ssh-agent -c)" >/dev/null + end end # Set color variables From 5fe89906100ea878e11f080f04c17c5f7decad7b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Thu, 12 Sep 2024 23:45:58 +0200 Subject: [PATCH 2001/2080] FreeBSD: Nitrokey packages --- home/.chezmoidata/packages.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index f9043258..a83883c1 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -174,6 +174,7 @@ packages: - "neomutt" - "neovim" - "nerd-fonts" + - "nitrokey-app" - "nsxiv" - "portlint" - "portshaker" @@ -181,6 +182,7 @@ packages: - "procs" - "py311-glances" - "py311-khard" + - "py311-pynitrokey" - "python" - "ripgrep" - "ripgrep-all" From da0323293c4a25cd0323df50f50791c57962084f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 13 Sep 2024 00:03:24 +0200 Subject: [PATCH 2002/2080] Update README.md --- README.md | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 8c41f18e..afa977f0 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,13 @@ # gwarf's dotfiles -My messy **dotfiles** for GNU/Linux and macOS. WIP :) +My messy **dotfiles** for GNU/Linux, FreeBSD and macOS. WIP :) ## Chezmoi -Some files or configuration parts are for GNU/Linux (Archlinux and NixOS) and +Some files or configuration parts are for GNU/Linux and FreeBSD and some others are for macOS. -> **WIP++** I'm converting this repository from using [nix](https://nixos.org/) -> and [home-manager](https://nix-community.github.io/home-manager/) to -> [chezmoi](https://www.chezmoi.io). - -### Why moving to chezmoi? - -Using NixOS and Homemanager on macOS was fun and quite efficient, but remained -too complex on some aspects, thus I decided to move to something simpler. In -addition to this, there were recently some issues in the nix community and -various points from those people made sense to me: -- [Solene: What is going on in Nix community?](https://dataswamp.org/~solene/2024-04-27-nix-internal-crisis.html) -- [Xe: Much ado about "nothing"](https://xeiaso.net/blog/2024/much-ado-about-nothing/) -- [maintainers: remove marsam](https://github.com/NixOS/nixpkgs/pull/306702) +> Managed using [chezmoi](https://www.chezmoi.io). ### Initialising From c4798a0e8571e5f6aeea11f44178942eefca84f7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Fri, 13 Sep 2024 00:06:40 +0200 Subject: [PATCH 2003/2080] Drop doc on NiX from README.md --- README.md | 205 +----------------------------------------------------- 1 file changed, 1 insertion(+), 204 deletions(-) diff --git a/README.md b/README.md index afa977f0..629dbdd9 100644 --- a/README.md +++ b/README.md @@ -35,207 +35,4 @@ chezmoi cd git status git commit -a git push -``` - -## Nix (Legacy) - -> The nix setup got converted from -> [yadm](https://github.com/TheLocehiliosan/yadm) to using [nix](#nix) and -> [home-manager](https://nix-community.github.io/home-manager/). - -### Searching for a Nix package, an option, … - -```shell -# Using new "experimental" nix search command -nix search nixpkgs firefox -# If experimental features are not enabled -nix --extra-experimental-features "nix-command flakes" search nixpkgs firefox -# Using legacy slow nix-env -nix-env -qaP firefox -``` - -It is also possible to use different online services to search in the browser: - -- [NixOS Wiki: Searching packages](https://nixos.wiki/wiki/Searching_packages) -- [Home Manager Manual](https://nix-community.github.io/home-manager/) -- [Home Manager Options](https://nix-community.github.io/home-manager/options.html) -- [Home Manager Options Search](https://mipmip.github.io/home-manager-option-search/) -- [Nix packages search](https://search.nixos.org/packages) -- [Nix options seardch](https://search.nixos.org/options) - -### Updating nix flakes inputs - -To refresh the information about all flakes inputs, it's possible to -use two commands: - -- [`nix flake update --commit-lock-file`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-update.html) - updates **ALL** inputs and commit the changes to the lock file. - -> Beware as if you are using some nighlyt or unstable inputs it could break, -> and commit the change, making reverting a bit less easier (but still doable). - -- [`nix flake lock`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-lock.html) - allows to specify one more multiple inputs to update and then you will have - to manually commit the changes to the lock file. - -```shell -# Checking satus of inputs -nix flake info -# Update all flake inputs and commit lock file -nix flake update --commit-lock-file -# Update main inputs -nix flake lock --update-input nixpkgs \ - --update-input nixpkgs-unstable \ - --update-input nixpkgs-darwin-stable \ - --update-input home-manager -# Update neovim inputs -nix flake lock --update-input neovim-nightly-overlay --update-input nix2lua -# Update nix user repository input -nix flake lock --update-input nur -# Update home-manager input -nix flake lock --update-input home-manager -``` - -### Nix upgrade - -- Read release notes for nix, nixos and home-manager -- Update channels definition (replace existing ones, with most recent ones) -- Update channels -- Rebuild the system - -### NixOS setup - -> NixOS version: using the stable NixOS release, and allowing to explicitly -> select packages from unstable. - -#### Managing NixOS using flakes and Mome Manager - -Manage NixOS configuration in `~/repo/dotfiles`. - -> [home-manager](https://nix-community.github.io/home-manager/) examples are -> available in the -> [test modules](https://github.com/nix-community/home-manager/blob/master/tests/modules/programs). - -```shell -# Download flake locally -gh repo clone gwarf/dotfiles -cd ~/repos/dotfiles/ -``` - -```shell -# Rebuild all system conf -# Used to make test, not changing conf available at boot -nix build ".#nixosConfigurations.brutal.config.system.build.toplevel" -sudo result/bin/switch-to-configuration switch -# Build and siwtch to the new conf, updating boot menu -sudo nixos-rebuild switch --flake . -# On macOS -nix flake update --commit-lock-file -darwin-rebuild switch --flake . -# In case the hostname changed (like on a VPN), it can be specified like this -./result/sw/bin/darwin-rebuild switch --flake . -p 'darwinConfigurations.Baptistes-MBP.system' -``` - -##### Updating - -The first thing is to update the nix flake inputs, then rebuilding the system -using those inputs. - -```shell -# Rebuilding system -sudo nixos-rebuild switch --flake . -# upgrade nixpkgs **only** and rebuild flake-managed system -sudo nixos-rebuild switch --upgrade --update-input nixpkgs \ - --commit-lock-file --flake ~/repos/dotfiles -# On macOS -nix flake update --commit-lock-file -darwin-rebuild switch --flake . -``` - -##### Cleaning old generations - -```shell -# List generations -nix-env -p /nix/var/nix/profiles/system --list-generations -# Delete all generations -nix-env --delete-generations old -# Delete generations older than 14d -nix-env --delete-generations 14d -# Delete specific generations -nix-env --delete-generations 10 11 14 -# Collect garbage -sudo nix-collect-garbage -d -``` - -### macOS AKA Darwin using flakes and Home Manager - -Using `nix-darwin`, initially based on the video and gist from @jmatsushita: - -- https://gist.github.com/jmatsushita/5c50ef14b4b96cb24ae5268dab613050 -- https://youtu.be/KJgN0lnA5mk -- https://discourse.nixos.org/t/simple-workable-config-for-m1-macbook-pro-monterey-12-0-1-with-nix-flakes-nix-darwin-and-home-manager/16834 - -The flake can be updated as for other nix anf flake-based systems. - -```shell -# Rebuild all system conf -nix build ".#darwinConfigurations.Baptistes-MBP.system" -# Switch to the new conf -./result/sw/bin/darwin-rebuild switch --flake . -``` - -## Managing project-specific env with nix flakes and direnv - -### For python - -See: - -- [NixOS Wiki: Python](https://nixos.wiki/wiki/Python) -- [NixOS Wiki: Packaging Python](https://nixos.wiki/wiki/Packaging/Python) -- [mach-nix](https://github.com/DavHau/mach-nix), to be replaced by [dream2nix](https://github.com/nix-community/dream2nix) - -Using a [Nix flake templates for easy dev envs](https://github.com/the-nix-way/dev-templates): - -```shell -nix flake init --template github:the-nix-way/dev-templates#python -direnv allow -# Edit flake.nix as needed, adding packages or python packages. -``` - -Interesting approach to look into: -[reddit post allowing to use requirements.txt](https://www.reddit.com/r/NixOS/comments/q71v0e/comment/hgn4sar/?utm_source=share&utm_medium=web2x&context=3) - -### References - -#### Videos - -- https://youtu.be/AGVXJ-TIv3Y - -#### Flakes - -- [Practical Nix Flakes](https://serokell.io/blog/practical-nix-flakes) -- https://discourse.nixos.org/t/system-config-flake-with-darwin-and-linux-system-definitions/22343 - -#### Nix Darwin - -- [Declarative macOS Configuration Using nix-darwin And home-manager](https://xyno.space/post/nix-darwin-introduction) - -#### Home manager - -- https://nixos.wiki/wiki/Home_Manager -- https://nix-community.github.io/home-manager/ -- https://ghedam.at/24353/tutorial-getting-started-with-home-manager-for-nix - -#### Real world flakes from other users - -- Conf using unstable, nixos and nix darwin - - https://github.com/MatthiasBenaets/nixos-config - - https://github.com/water-sucks/nixed/blob/main/home/profiles/apps/kitty/default.nix - - https://github.com/Baitinq/nixos-config - - https://github.com/jonringer/nixpkgs-config - - https://github.com/fmoda3/nix-configs/blob/3d640ab43d676a8aad555bcd29527345554252d0/flake.nix#L70 - - https://github.com/vhsconnect/nixos-config/blob/08f47336b280e21fe360567bfd9c663bd5f1844c/flake.nix#L3 - - https://github.com/Thrimbda/charles/blob/08bb883cff19b01c66bbe25c62c06545ccf40a1c/flake.nix - - https://github.com/ttak0422/ENV/blob/1478ba70e1a3eddd4dab1b65c191cc320e5b6cf1/flake.nix - - https://github.com/voidcontext/nix-config/blob/695668066e358be43298eab796f16232a09ba24e/flake.nix - - https://discourse.nixos. +``` \ No newline at end of file From 10db73991bc238324393d6a2af58916d1ec6a036 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 13 Sep 2024 09:08:15 +0200 Subject: [PATCH 2004/2080] Update home/.config/fish/config.fish --- home/private_dot_config/private_fish/config.fish.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index f0a97ccd..50114414 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -113,7 +113,7 @@ if status is-interactive # Load custon pytyon3 venv for mutt + ical function mutt source ~/.config/neomutt/.venv/bin/activate.fish - /usr/local/bin/mutt + /usr/local/bin/mutt $argv end # Start oidc-agent From 95b966c90e3f9aef622cf33abcc2bf9d6342800f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 14 Sep 2024 12:40:00 +0200 Subject: [PATCH 2005/2080] Update home/.mailcap --- home/dot_mailcap.tmpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/dot_mailcap.tmpl b/home/dot_mailcap.tmpl index c10ada79..f99f38c1 100644 --- a/home/dot_mailcap.tmpl +++ b/home/dot_mailcap.tmpl @@ -70,7 +70,8 @@ image/* ; mutt_bgrun nsxiv %s # XXX Disable backgrouds as it seems that html files is deleted too early # text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chromium-perso %s -text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = firefox %s +# text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = firefox %s +text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = chromium %s text/x-diff ; cat %s | colordiff ;copiousoutput text/x-patch ; cat %s | colordiff ;copiousoutput From 242ee2efc8fc02e97af65420e70381669bc9cc32 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 14 Sep 2024 12:40:49 +0200 Subject: [PATCH 2006/2080] Update home/.mailcap --- home/dot_mailcap.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/dot_mailcap.tmpl b/home/dot_mailcap.tmpl index f99f38c1..0b4a6d5d 100644 --- a/home/dot_mailcap.tmpl +++ b/home/dot_mailcap.tmpl @@ -70,8 +70,8 @@ image/* ; mutt_bgrun nsxiv %s # XXX Disable backgrouds as it seems that html files is deleted too early # text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chromium-perso %s -# text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = firefox %s -text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = chromium %s +# text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun firefox %s +text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chromium %s text/x-diff ; cat %s | colordiff ;copiousoutput text/x-patch ; cat %s | colordiff ;copiousoutput From e4ac3d0bb85f8d4ece2bacf54a29c658378741ef Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 14 Sep 2024 12:41:48 +0200 Subject: [PATCH 2007/2080] Update home/.mailcap --- home/dot_mailcap.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dot_mailcap.tmpl b/home/dot_mailcap.tmpl index 0b4a6d5d..d5e7978c 100644 --- a/home/dot_mailcap.tmpl +++ b/home/dot_mailcap.tmpl @@ -71,7 +71,7 @@ image/* ; mutt_bgrun nsxiv %s # XXX Disable backgrouds as it seems that html files is deleted too early # text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chromium-perso %s # text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun firefox %s -text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chromium %s +text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chrome %s text/x-diff ; cat %s | colordiff ;copiousoutput text/x-patch ; cat %s | colordiff ;copiousoutput From 98595ea6d6171a69dc3048dedb2d35e3baa40904 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 14 Sep 2024 12:44:10 +0200 Subject: [PATCH 2008/2080] Update home/.mailcap --- home/dot_mailcap.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dot_mailcap.tmpl b/home/dot_mailcap.tmpl index d5e7978c..dd591e2f 100644 --- a/home/dot_mailcap.tmpl +++ b/home/dot_mailcap.tmpl @@ -71,7 +71,7 @@ image/* ; mutt_bgrun nsxiv %s # XXX Disable backgrouds as it seems that html files is deleted too early # text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chromium-perso %s # text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun firefox %s -text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chrome %s +text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = chrome %s text/x-diff ; cat %s | colordiff ;copiousoutput text/x-patch ; cat %s | colordiff ;copiousoutput From aa2d748839dce3bd8d32593842a80bd9329886c5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 14 Sep 2024 12:48:50 +0200 Subject: [PATCH 2009/2080] Update home/bin/mutt_bgrun --- home/bin/executable_mutt_bgrun | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/home/bin/executable_mutt_bgrun b/home/bin/executable_mutt_bgrun index 7f03b67e..a57ce98b 100644 --- a/home/bin/executable_mutt_bgrun +++ b/home/bin/executable_mutt_bgrun @@ -27,26 +27,26 @@ # for that attachment type in the mailcap file, waiting for the # pipeline to terminate, writing nulls over the temporary file, # then deleting it. This causes problems when using graphical -# viewers such as qvpview and acroread to view attachments. +# viewers such as qvpview and acroread to view attachments. # # If qvpview, for example, is executed in the foreground, the mutt # user interface is hung until qvpview exits, so the user can't do # anything else with mutt until he or she finishes reading the # attachment and exits qvpview. This is especially annoying when # a message contains several MS Office attachments--one would like -# to have them all open at once. +# to have them all open at once. # # If qvpview is executed in the background, it must be given # enough time to completely read the file before returning control # to mutt, since mutt will then obliterate the file. Qvpview is # so slow that this time can exceed 20 seconds, and the bound is -# unknown. So this is again annoying. +# unknown. So this is again annoying. # # The solution provided here is to invoke the specified viewer # from this script after first copying mutt's temporary file to # another temporary file. This script can then quickly return # control to mutt while the viewer can take as much time as it -# needs to read and render the attachment. +# needs to read and render the attachment. # # EXAMPLE # To use qvpview to view MS Office attachments from mutt, add the @@ -70,10 +70,9 @@ prog=${0##*/} # Check the arguments first. -if [ "$#" -lt "2" ] -then - echo "usage: $prog viewer [viewer options] file" >&2 - exit 1 +if [ "$#" -lt "2" ]; then + echo "usage: $prog viewer [viewer options] file" >&2 + exit 1 fi # Separate the arguments. Assume the first is the viewer, the last is @@ -82,10 +81,9 @@ fi viewer="$1" shift -while [ "$#" -gt "1" ] -do - options="$options $1" - shift +while [ "$#" -gt "1" ]; do + options="$options $1" + shift done file=$1 @@ -105,10 +103,11 @@ tmpfile="$tmpdir/${file##*/}" cp "$file" "$tmpfile" -# Run the viewer in the background and delete the temporary files when done. +# Run the viewer in the background and delete the temporary files when done. ( - "$viewer" $options "$tmpfile" - rm -f "$tmpfile" - rmdir "$tmpdir" + "$viewer" $options "$tmpfile" + sleep 1s + rm -f "$tmpfile" + rmdir "$tmpdir" ) & From a7448c93fc3a4d53cb25f68d67f9574fc77665b8 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 14 Sep 2024 12:49:13 +0200 Subject: [PATCH 2010/2080] Update home/.mailcap --- home/dot_mailcap.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dot_mailcap.tmpl b/home/dot_mailcap.tmpl index dd591e2f..d5e7978c 100644 --- a/home/dot_mailcap.tmpl +++ b/home/dot_mailcap.tmpl @@ -71,7 +71,7 @@ image/* ; mutt_bgrun nsxiv %s # XXX Disable backgrouds as it seems that html files is deleted too early # text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chromium-perso %s # text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun firefox %s -text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = chrome %s +text/html ; w3m -I %{charset} -T text/html -dump %s; nametemplate=%s.html ; copiousoutput ; print = mutt_bgrun chrome %s text/x-diff ; cat %s | colordiff ;copiousoutput text/x-patch ; cat %s | colordiff ;copiousoutput From 64a7bbaf7fe00b82bdeab260f6fadb74cdeaf034 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 14 Sep 2024 13:20:38 +0200 Subject: [PATCH 2011/2080] FreeBSD: cbsd --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index a83883c1..3b0b5525 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -136,6 +136,7 @@ packages: pkgs: - "bash" - "bat" + - "cbsd" - "cheat" - "chromium" - "direnv" From 4713b82b235fc69333587c911035300819ed2efe Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 15 Sep 2024 09:59:58 +0200 Subject: [PATCH 2012/2080] Remove .mbsyncrc##os.Darwin Remove .mbsyncrc##os.Linux,hostname.brutal Update home/.chezmoidata/packages.yaml Change attributes of deprecated/.goobookrc Change attributes of deprecated/.msmtprc Change attributes of deprecated/.p10k.zsh##os.Darwin Change attributes of deprecated/.p10k.zsh##os.Linux Change attributes of deprecated/.pam_environment Change attributes of deprecated/.rvmrc Change attributes of deprecated/.taskrc Change attributes of deprecated/.yaourtrc Change attributes of deprecated/.zshrc Change attributes of home/.inputrc --- .mbsyncrc##os.Darwin | 101 ------------------ .mbsyncrc##os.Linux,hostname.brutal | 34 ------ .goobookrc => deprecated/.goobookrc | 0 .msmtprc => deprecated/.msmtprc | 0 .../.p10k.zsh##os.Darwin | 0 .../.p10k.zsh##os.Linux | 0 .../.pam_environment | 0 .rvmrc => deprecated/.rvmrc | 0 .taskrc => deprecated/.taskrc | 0 .yaourtrc => deprecated/.yaourtrc | 0 .zshrc => deprecated/.zshrc | 0 home/.chezmoidata/packages.yaml | 3 + .inputrc => home/dot_inputrc | 0 13 files changed, 3 insertions(+), 135 deletions(-) delete mode 100644 .mbsyncrc##os.Darwin delete mode 100755 .mbsyncrc##os.Linux,hostname.brutal rename .goobookrc => deprecated/.goobookrc (100%) rename .msmtprc => deprecated/.msmtprc (100%) rename .p10k.zsh##os.Darwin => deprecated/.p10k.zsh##os.Darwin (100%) rename .p10k.zsh##os.Linux => deprecated/.p10k.zsh##os.Linux (100%) rename .pam_environment => deprecated/.pam_environment (100%) rename .rvmrc => deprecated/.rvmrc (100%) rename .taskrc => deprecated/.taskrc (100%) rename .yaourtrc => deprecated/.yaourtrc (100%) rename .zshrc => deprecated/.zshrc (100%) rename .inputrc => home/dot_inputrc (100%) diff --git a/.mbsyncrc##os.Darwin b/.mbsyncrc##os.Darwin deleted file mode 100644 index 94c96a44..00000000 --- a/.mbsyncrc##os.Darwin +++ /dev/null @@ -1,101 +0,0 @@ -# https://roylez.info/2016-02-10-mutt-multi-imap-accounts/ -# EGI Gmail Account -IMAPAccount EGI -Host imap.gmail.com -User baptiste.grenier@egi.eu -# https://support.google.com/accounts/answer/185833?hl=en -# Set passwod on OSX: security add-generic-password -a baptiste.grenier@egi.eu -s imap.gmail.com -w -PassCmd "security find-generic-password -s imap.gmail.com -a baptiste.grenier@egi.eu -w" -SSLType IMAPS -AuthMechs LOGIN -CertificateFile /usr/local/etc/openssl/cert.pem - -# Remote EGI IMAP -IMAPStore EGI_gmail -Account EGI - -# Local EGI Maildir -MaildirStore EGI_local -Path ~/Mail/EGI/ -Inbox ~/Mail/EGI/Inbox - -## Connect remote IMAP to local Folders - -Channel EGI-default -Far :EGI_gmail:"INBOX" -Near :EGI_local:Inbox -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-sent -Far :EGI_gmail:"[Gmail]/Sent Mail" -Near :EGI_local:Sent -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-starred -Far :EGI_gmail:"[Gmail]/Starred" -Near :EGI_local:Starred -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-trash -Far :EGI_gmail:"[Gmail]/Bin" -Near :EGI_local:Trash -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-archive -Far :EGI_gmail:"[Gmail]/All Mail" -Near :EGI_local:All -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-drafts -Far :EGI_gmail:"[Gmail]/Drafts" -Near :EGI_local:Drafts -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Channel EGI-spam -Far :EGI_gmail:"[Gmail]/Spam" -Near :EGI_local:Spam -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both - -Group EGI -Channel EGI-default -Channel EGI-sent -Channel EGI-starred -Channel EGI-trash -Channel EGI-archive -Channel EGI-drafts -Channel EGI-spam diff --git a/.mbsyncrc##os.Linux,hostname.brutal b/.mbsyncrc##os.Linux,hostname.brutal deleted file mode 100755 index 19fceba8..00000000 --- a/.mbsyncrc##os.Linux,hostname.brutal +++ /dev/null @@ -1,34 +0,0 @@ -# https://roylez.info/2016-02-10-mutt-multi-imap-accounts/ - -# Remote EGI IMAP -# Private IMAP Account -IMAPAccount Perso -Host mail.bapt.name -User baptiste@bapt.name -PassCmd "secret-tool lookup host mail.bapt.name service imaps user baptiste@bapt.name" -# AuthMechs PLAIN -SSLType IMAPS -AuthMechs LOGIN -CertificateFile /etc/ssl/certs/ca-certificates.crt - -# Remote Private IMAP -IMAPStore Perso_imap -Account Perso - -# Local Perso Maildir -MaildirStore Perso_local -Path ~/Mail/Perso/ -Inbox ~/Mail/Perso/Inbox -Flatten . - -# Mirror everything locally without changing folders names -Channel Perso -Far :Perso_imap: -Near :Perso_local: -Patterns * -# Automatically create missing mailboxes, both locally and on the server -Create Both -# Save the synchronization state files in the relevant directory -SyncState * -# Automatically delete messages on either side if they are found deleted on the other -Expunge Both diff --git a/.goobookrc b/deprecated/.goobookrc similarity index 100% rename from .goobookrc rename to deprecated/.goobookrc diff --git a/.msmtprc b/deprecated/.msmtprc similarity index 100% rename from .msmtprc rename to deprecated/.msmtprc diff --git a/.p10k.zsh##os.Darwin b/deprecated/.p10k.zsh##os.Darwin similarity index 100% rename from .p10k.zsh##os.Darwin rename to deprecated/.p10k.zsh##os.Darwin diff --git a/.p10k.zsh##os.Linux b/deprecated/.p10k.zsh##os.Linux similarity index 100% rename from .p10k.zsh##os.Linux rename to deprecated/.p10k.zsh##os.Linux diff --git a/.pam_environment b/deprecated/.pam_environment similarity index 100% rename from .pam_environment rename to deprecated/.pam_environment diff --git a/.rvmrc b/deprecated/.rvmrc similarity index 100% rename from .rvmrc rename to deprecated/.rvmrc diff --git a/.taskrc b/deprecated/.taskrc similarity index 100% rename from .taskrc rename to deprecated/.taskrc diff --git a/.yaourtrc b/deprecated/.yaourtrc similarity index 100% rename from .yaourtrc rename to deprecated/.yaourtrc diff --git a/.zshrc b/deprecated/.zshrc similarity index 100% rename from .zshrc rename to deprecated/.zshrc diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 3b0b5525..6e4c7944 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -162,6 +162,8 @@ packages: - "gnome-screenshot" - "gohugo" - "google-fonts" + - "gping" + - "httpie" - "isync" - "jq" - "kbfsd" @@ -175,6 +177,7 @@ packages: - "neomutt" - "neovim" - "nerd-fonts" + - "nextcloudclient" - "nitrokey-app" - "nsxiv" - "portlint" diff --git a/.inputrc b/home/dot_inputrc similarity index 100% rename from .inputrc rename to home/dot_inputrc From 15efeb7299f130a4da11fca04d5d1a350396e07c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 15 Sep 2024 10:08:40 +0200 Subject: [PATCH 2013/2080] FreeBSD: more applications --- home/.chezmoidata/packages.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 6e4c7944..3c035012 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -169,6 +169,7 @@ packages: - "kbfsd" - "keybase" - "kitty" + - "lagrange" - "lazygit" - "libu2f-host" - "lsd" @@ -179,6 +180,7 @@ packages: - "nerd-fonts" - "nextcloudclient" - "nitrokey-app" + - "notmuch" - "nsxiv" - "portlint" - "portshaker" @@ -188,6 +190,7 @@ packages: - "py311-khard" - "py311-pynitrokey" - "python" + - "qFlipper" - "ripgrep" - "ripgrep-all" - "rubygem-mdl" @@ -195,6 +198,7 @@ packages: - "starship" - "stylua" - "tealdeer" + - "tigervnc-viewer" - "tmux" - "tree" - "u2f-devd" From 4868f100ebefa1f761baa7bdd26f25be042d245b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 15 Sep 2024 10:09:07 +0200 Subject: [PATCH 2014/2080] Merge and purge legacy tmux conf --- .tmux.conf | 149 -------------------- home/private_dot_config/tmux/tmux.conf.tmpl | 4 + 2 files changed, 4 insertions(+), 149 deletions(-) delete mode 100644 .tmux.conf diff --git a/.tmux.conf b/.tmux.conf deleted file mode 100644 index 68c8224c..00000000 --- a/.tmux.conf +++ /dev/null @@ -1,149 +0,0 @@ -# Use vi bindings -setw -g mode-keys vi -set-option -g status-keys vi - -# Allow nested tmux sessions by making "C-b b" possible for sending a control -# sequence to a nested session -bind-key b send-prefix - -# XXX Not supported with version in CentOS 7 -set-window-option -g mouse off - -# Add true color support -# $TERM, fix colors / use true colors -# set -g default-terminal "tmux-256color" -set -g default-terminal "screen-256color" -# XXX this seems to be the setting breaking neomutt -# (artefacts in index after opening the pager) -# set -g default-terminal "xterm-256color" -set -ga terminal-overrides ",*256col*:Tc" - -# reload -bind-key R respawn-window - -# Start Window Numbering at 1 -set -g base-index 1 - -## Copy mode -# http://jasonwryan.com/blog/2011/06/07/copy-and-paste-in-tmux/ -# -# Copying between tmux frames - -# ctrl-b [ - enter copy mode -# move cursor to the start or end of the desired text string -# space - to activate selection -# V - to activate full line selection -# move cursor to cover the required content -# y - to copy system clipboard -# ctrl-b ] - to paste system clipboard - -# URL view -bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlview" '$SHELL -c "urlview < /tmp/tmux-buffer"' - -# Shortcut for resizing panes -bind up resize-pane -U 5 -bind down resize-pane -D 5 -bind left resize-pane -L 5 -bind right resize-pane -R 5 - -# pane movement -bind-key @ command-prompt -p "create pane from:" "join-pane -s '%%'" -bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" - -# window movement / renumbering like in screen's :number -bind-key m command-prompt -p "move window to:" "swap-window -t '%%'" -bind-key . command-prompt "move-window -r -t '%%'" - -# Use zsh (login shell by default) -# https://superuser.com/questions/968942/why-does-tmux-create-new-windows-as-login-shells-by-default -# http://openbsd-archive.7691.n7.nabble.com/tmux-and-login-shells-td170948.html -# Use ZSH from homebrew on MacOS X -# if-shell "uname | grep -q Darwin" "set -g default-shell '/usr/local/bin/zsh'" "set -g default-shell '/bin/zsh'" - -# Disable automatic changes of titles -set -g set-titles on -# set -g set-titles-string "#T" -set-window-option -g automatic-rename on -set-window-option -g allow-rename on -set -g renumber-windows on - -set-option -g status-position "top" - -# Tmux resurect -# prefix + Ctrl-s - save -# prefix + Ctrl-r - restore - -# Restore more programms -set -g @resurrect-processes 'neomutt' -# set -g @resurrect-processes 'ssh mutt psql mysql sqlite3' -# set -g @resurrect-processes '"sudo journalctl -fxn"' - -# Resurrect vim session (see https://github.com/tpope/vim-obsession) -#set -g @resurrect-strategy-vim 'session' -set -g @resurrect-strategy-nvim 'session' - -# Resurrect pane content -set -g @resurrect-capture-pane-contents 'on' - -# Custome tmux session -# new -s work -n work neomutt -# new -s work -n mail 'neomutt' -# new-window -n dashboard 'dashboard' -# new-window -n local -# select-window -t mail - -# Tmux continuum -set -g @continuum-restore 'on' - -# Managing plugins using TPM -# prefix+I to install -# prefix+U to update - -# Logging -# Screenshot: prefix + alt + p -# Save complete history: prefix + alt + shift + p -# Unable to get some special char working -#set -g @almost-sensible 'off' -# arcticicestudio/nord-tmux \ - -set -g @tpm_plugins ' \ - dracula/tmux \ - tmux-plugins/tmux-sensible \ - tmux-plugins/tmux-resurrect \ - tmux-plugins/tmux-continuum \ - tmux-plugins/tmux-yank \ - tmux-plugins/tmux-pain-control \ - tmux-plugins/tmux-copycat \ - tmux-plugins/tmux-open \ - tmux-plugins/tmux-prefix-highlight \ - tmux-plugins/tmux-sessionist \ - tmux-plugins/tmux-logging \ - tmux-plugins/tpm \ -' - -# Dracula theme options -# https://draculatheme.com/tmux -set -g @dracula-show-battery false -set -g @dracula-show-network true -set -g @dracula-show-weather true -set -g @dracula-show-fahrenheit false -set -g @dracula-cpu-usage false -set -g @dracula-ram-usage false -set -g @dracula-gpu-usage false - -set -g @dracula-show-powerline true -set -g @dracula-show-left-sep  -set -g @dracula-show-right-sep  -set -g @dracula-military-time true -set -g @dracula-show-left-icon 💀 -set -g @dracula-border-contrast true - -# Bootstrap tpm if needed -if "test ! -d ~/.tmux/plugins/tpm" \ - "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'" - -# Initialize TMUX plugin manager -run '~/.tmux/plugins/tpm/tpm' - -# Source local configuration if any -if '[ -f ~/.tmux.local.conf ]' 'run ~/.tmux.local.conf' diff --git a/home/private_dot_config/tmux/tmux.conf.tmpl b/home/private_dot_config/tmux/tmux.conf.tmpl index bc1ddfba..b50bd4d2 100644 --- a/home/private_dot_config/tmux/tmux.conf.tmpl +++ b/home/private_dot_config/tmux/tmux.conf.tmpl @@ -2,6 +2,7 @@ set -g default-terminal "tmux-256color" set -g base-index 1 setw -g pane-base-index 1 +# Use vi bindings set -g status-keys vi set -g mode-keys vi @@ -123,3 +124,6 @@ if "test ! -d ~/.tmux/plugins/tpm" \ # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm' + +# Source local configuration if any +if '[ -f ~/.tmux.local.conf ]' 'run ~/.tmux.local.conf' From 70387488067613823209037674409f9b1a3614a0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 15 Sep 2024 10:10:37 +0200 Subject: [PATCH 2015/2080] Archive legacy stuff --- .../.notmuch-config##os.Darwin | 0 .notmuch-config##os.Linux => deprecated/.notmuch-config##os.Linux | 0 programs.md => deprecated/programs.md | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename .notmuch-config##os.Darwin => deprecated/.notmuch-config##os.Darwin (100%) rename .notmuch-config##os.Linux => deprecated/.notmuch-config##os.Linux (100%) rename programs.md => deprecated/programs.md (100%) diff --git a/.notmuch-config##os.Darwin b/deprecated/.notmuch-config##os.Darwin similarity index 100% rename from .notmuch-config##os.Darwin rename to deprecated/.notmuch-config##os.Darwin diff --git a/.notmuch-config##os.Linux b/deprecated/.notmuch-config##os.Linux similarity index 100% rename from .notmuch-config##os.Linux rename to deprecated/.notmuch-config##os.Linux diff --git a/programs.md b/deprecated/programs.md similarity index 100% rename from programs.md rename to deprecated/programs.md From 62b69f600fc81bcb2c078dfcd8ab6a8ced7675ba Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 15 Sep 2024 10:15:15 +0200 Subject: [PATCH 2016/2080] Update doc about README --- README.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 629dbdd9..11dec4a3 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,18 @@ # gwarf's dotfiles -My messy **dotfiles** for GNU/Linux, FreeBSD and macOS. WIP :) +My somewhat messy and ever WIP **dotfiles** for GNU/Linux, FreeBSD and macOS. + +> Use at you own risk :) ## Chezmoi -Some files or configuration parts are for GNU/Linux and FreeBSD and -some others are for macOS. +> Everything is managed using [chezmoi](https://www.chezmoi.io). + +Some files or configuration parts are only avaible for GNU/Linux, FreeBSD, or +macOS. -> Managed using [chezmoi](https://www.chezmoi.io). +OS packages are installed via a [packages.yaml](home/.chezmoidata/packages.yaml) +and using [run_onchange_install-packages.sh](home/run_onchange_install-packages.sh.tmpl). ### Initialising @@ -35,4 +40,4 @@ chezmoi cd git status git commit -a git push -``` \ No newline at end of file +``` From 56cf9806dbce016a925cdace4929e00350249ec2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 15 Sep 2024 10:33:31 +0200 Subject: [PATCH 2017/2080] Update notes --- freebsd-zfs-other-system.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/freebsd-zfs-other-system.md b/freebsd-zfs-other-system.md index 30469e35..ced0865d 100644 --- a/freebsd-zfs-other-system.md +++ b/freebsd-zfs-other-system.md @@ -9,16 +9,18 @@ daos zdb -l /dev/ada1p3.eli # geli encrytped FreeBSD system # List pools, and their IDs doas zpool import -# Import pool under /a -doas zpool import -fR /a POOL_ID + +# Import pool under /mnt +doas zpool import -fR /mnt POOL_ID # Prompt for encryption key doas zfs load-key -L prompt zroot -# Check available pools + +# Check konwn pools status doas zpool list + # Check available volumes doas zfs list -r zrool -# Check key location -doas zfs get keylocation -r zroot + # Mount partitions doas zfs mount zroot/ROOT/debian doas zfs mount zroot/home @@ -31,6 +33,6 @@ doas zpool import doas zpool import -fR /mnt POOL_ID # Export the pool once no more used +doas zpool list doas zpool export zroot ``` - From b4af5196b0d9e5d0fb5d116535f4de9958a19f85 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 15 Sep 2024 11:25:34 +0200 Subject: [PATCH 2018/2080] Add more notes for debian install --- debian-install.md | 178 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 171 insertions(+), 7 deletions(-) diff --git a/debian-install.md b/debian-install.md index 794c805a..34565990 100644 --- a/debian-install.md +++ b/debian-install.md @@ -1,19 +1,183 @@ -# Post install tasks on debian +# Debian setup notes -## Chezmoi +## ZFS on ROOT -No Debian package: https://github.com/twpayne/chezmoi/issues/2130 +Follow https://www.dwarmstrong.org/debian-install-zfs/. + +```shell +echo brutal > /etc/hostname +echo -e '127.0.1.1\tbrutal' >> /etc/hosts +vi /etc/hosts +ip addr +vi /etc/network/interfaces.d/enp5s0 +allow-hotplug enp5s0 +iface enp5s0 inet dhcp +vi /etc/apt/sources.list +apt install -y console-setup cryptsetup curl dosfstools efibootmgr keyboard-configuration locales sudo vim +apt install -y openssh-server +dpkg-reconfigure tzdata +dpkg-reconfigure locales +dpkg-reconfigure console-setup +setupcon +dpkg-reconfigure keyboard-configuration +passwd +adduser baptiste + +echo $EFI_DISK +mkfs.vfat -F32 $EFI_DISK +echo "swap /dev/disk/by-partlabel/swap /dev/urandom swap,offset=2048,cipher=aes-xts-plain64,size=512" >> /etc/crypttab + +cat << EOF > /etc/fstab +$( blkid | grep "$EFI_DISK" | cut -d ' ' -f 2 ) /boot/efi vfat defaults 0 0 +/dev/mapper/swap none swap defaults 0 0 +proc /proc proc defaults 0 0 +EOF + +vim /etc/fstab +mkdir -p /boot/efi +mount /boot/efi +echo "REMAKE_INITRD=yes" > /etc/dkms/zfs.conf +apt update +apt install -y linux-headers-amd64 linux-image-amd64 zfs-initramfs dosfstools +echo "REMAKE_INITRD=yes" > /etc/dkms/zfs.conf +systemctl enable zfs.target +systemctl enable zfs-import-cache +systemctl enable zfs-mount +systemctl enable zfs-import.target +echo "UMASK=0077" > /etc/initramfs-tools/conf.d/umask.conf +update-initramfs -c -k all +zfs set org.zfsbootmenu:commandline="quiet loglevel=4" zroot/ROOT +zfs set org.zfsbootmenu:keysource="zroot/ROOT/${ID}" zroot +zpool set cachefile=/etc/zfs/zpool.cache zroot +mkdir -p /boot/efi/EFI/ZBM +curl -o /boot/efi/EFI/ZBM/VMLINUZ.EFI -L https://get.zfsbootmenu.org/efi +cp /boot/efi/EFI/ZBM/VMLINUZ.EFI /boot/efi/EFI/ZBM/VMLINUZ-BACKUP.EFI +mount -t efivarfs efivarfs /sys/firmware/efi/efivars +efibootmgr -c -d "$EFI_DISK" -p "$EFI_PART" -L "ZFSBootMenu (Backup)" -l '\EFI\ZBM\VMLINUZ-BACKUP.EFI' +efibootmgr -c -d "$EFI_DISK" -p "$EFI_PART" -L "ZFSBootMenu" -l '\EFI\ZBM\VMLINUZ.EFI' +mount -t efivarfs efivarfs /sys/firmware/efi/efivars +ls /sys/firmware/ +modprobe efivarfs +mount -t efivarfs efivarfs /sys/firmware/efi/efivars +cat /sys/firmware/efi/fw_platform_size +mount /boot/efi +ls /boot/efi/ +ls /boot/efi/EFI/ +ls /boot/efi/EFI/ZBM/ +mount -t efivarfs efivarfs /sys/firmware/efi/efivars +efibootmgr -c -d "$EFI_DISK" -p "$EFI_PART" -L "ZFSBootMenu (Backup)" -l '\EFI\ZBM\VMLINUZ-BACKUP.EFI' +efibootmgr -c -d "$EFI_DISK" -p "$EFI_PART" -L "ZFSBootMenu" -l '\EFI\ZBM\VMLINUZ.EFI' +exit +vim /etc/group +sudo:x:27:baptiste +visudo +%sudo ALL=(ALL:ALL) ALL +``` + +## Post install tasks on debian + +### Switch to debian testing + +Need to use testing to get some more recent software, like for +[delta](https://tracker.debian.org/pkg/git-delta). + +```shell +sudo apt update && sudo apt full-upgrade + +sudo nvim /etc/apt/sources.list +deb http://deb.debian.org/debian/ testing main contrib non-free non-free-firmware +deb-src http://deb.debian.org/debian/ testing main contrib non-free non-free-firmware + +deb http://security.debian.org/debian-security testing-security main contrib non-free non-free-firmware +deb-src http://security.debian.org/debian-security testing-security main contrib non-free non-free-firmware + +deb http://deb.debian.org/debian/ testing-updates main contrib non-free non-free-firmware +deb-src http://deb.debian.org/debian/ testing-updates main contrib non-free non-free-firmware + +deb http://deb.debian.org/debian/ testing-backports main contrib non-free non-free-firmware +deb-src http://deb.debian.org/debian/ testing-backports main contrib non-free non-free-firmware + +sudo vim /etc/apt/apt.conf +APT::Default-Release "testing"; +APT::Install-Recommends "false"; +APT::Install-Suggests "false"; + +sudo vim /etc/apt/apt.conf.d/disable-recommends +APT::Install-Recommends "false"; +APT::Install-Suggests "false"; + +sudo apt update && sudo apt full-upgrade +``` + +### Install gnome desktop environment + +```shell +sudo apt install gnome/stable +sudo apt install gdm3 +sudo apt install xorg mesa-utils x11-xfs-utils firmware-amd-graphics firmware-misc-nonfree +sudo apt install fonts-symbola fonts-font-awesome fonts-material-design-icons-iconfont +sudo systemctl start gdm3 +``` + +### Fish shell setup + +```shell +sudo apt install fish +curl -sS https://starship.rs/install.sh | sh +chsh -s /usr/bin/fish +``` + +### Install keybase to import GPG key and set GPG configuration up + +```shell +curl --remote-name https://prerelease.keybase.io/keybase_amd64.deb +sudo apt install ./keybase_amd64.deb +cat /etc/apt/sources.list.d/keybase.list +### THIS FILE IS AUTOMATICALLY CONFIGURED ### +# You may comment out this entry, but any other modifications may be lost. +deb http://prerelease.keybase.io/deb stable main +keybase +``` + +### Set GPG configuration up + +```shell +# Retrieve and them import GPG key +gpg --allow-secret-key --import xxxx.asc +``` + +### Install snpad ```shell sudo apt install snapd sudo snap install snapd +``` + +### Install additionnal software using snap + +> XXX: move to [packages.yml](home/.chezmoidata/packages.yaml), +finding a way to pass parameters. + +```shell +snap install nvim --classic +sudo snap install --edge prettier +sudo snap install --edge starship +sudo snap install obsidian --classic +``` + +### Deploy user dotfiles using Chezmoi + +> No Debian package: https://github.com/twpayne/chezmoi/issues/2130 + +```shell sudo snap install chezmoi --classic sudo apt install git export PATH="$PATH:/snap/bin" chezmoi init git@github.com:gwarf/dotfiles.git ``` -To do: -- Import GPG key + set it up -- Install git-delta from testing - - https://tracker.debian.org/pkg/git-delta +### Install nerd fonts + +```shell +~/bin/nerd-fonts.sh +``` From f18c16861bc2f766d87f8d4d6a736566c00ae157 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 15 Sep 2024 11:49:59 +0200 Subject: [PATCH 2019/2080] Clean notes --- freebsd-missing-ports.md | 9 ++ freebsd-ports.md | 287 --------------------------------------- 2 files changed, 9 insertions(+), 287 deletions(-) create mode 100644 freebsd-missing-ports.md delete mode 100644 freebsd-ports.md diff --git a/freebsd-missing-ports.md b/freebsd-missing-ports.md new file mode 100644 index 00000000..b0b86850 --- /dev/null +++ b/freebsd-missing-ports.md @@ -0,0 +1,9 @@ +# Missing FreeBSD ports + +Tools I miss on FreeBSD. + +For my nvim setup: + +- markdownlint-cli2 +- marksman +- ltex-ls diff --git a/freebsd-ports.md b/freebsd-ports.md deleted file mode 100644 index 7eb1ee7c..00000000 --- a/freebsd-ports.md +++ /dev/null @@ -1,287 +0,0 @@ -# Working as root - -```shell -# Configure git commit info as root -doas git config --global user.name "Baptiste Grenier" -doas git config --global user.email "baptiste@bapt.name" - -# Create a branch to work in -doas git branch rbw -doas git checkout rbw -doas git checkout -b rbw - -# Do work to create or update the port - -# Commit changes to the work branch -doas git status -doas git add . -doas git commit -am 'Bump rbw to 1.12.1' - -# Create a patch -doas git format-patch origin/main - -# Copy files to custom repo -cp /usr/ports/security/rbw/{distinfo,Makefile,pkg-desc,pkg-plist} /home/baptiste/repos/freebsd-ports-custom/security/rbw - -# Switch back to main branch -doas git checkout main -doas git pull - -# Rebase rbw work branch from main to get latest changes -doas git pull rebase origin/main rbw -``` - -# Working as a user - -## Clone FreeBSD ports as a use - -```shell -git clone https://git.FreeBSD.org/ports.git freebsd-ports -cd freebsd-ports -git co -b 'lua-resty-patches' -# Customise/bump makefile -# Update checksums -make makesum -# Fort ports with flavours -FLAVOR=3x make makesum -# Only if needed? It builds and install stuff apparently -doas make makeplist -``` - -https://people.freebsd.org/~olivierd/porters-handbook/testing-poudriere.html - - -## Clone custom ports repository - -```shell -``` - -## Make a patch to send to bugzilla - -```shell -cd ~/repos/freebsd-ports -# Update main branch -git checkout main -git pull -# Create a new branch -git checkout -b rbw -# Rebase the branch for main if it was already created -git rebase origin/main rbw -# Add changes from personal repo -cp -rv ~/repos/freebsd-ports-custom/security/rbw ~/repos/freebsd-ports/security/ -# Commit changes -git add security/rbw -git commit -am 'Add rbw port' -# Create a patch from origin -git format-patch origin/main -# Propose 0001-Add-rbw-port.patch via bugzilla -``` -## Update using a PR in GitHub - -# Build with poudriere - -```shell -doas pkg update -doas pkg install poudriere -``` - -```shell -# Find a suitable ZFS pool, here it will be zroot -zpool list - -# Create dataset for poudriere -zfs create zroot/poudriere - -# Set the moundpoint of the ZFS dataset for poudriere -zfs set mountpoint=/poudriere zroot/poudriere - -pkg install poudriere git portshaker - -vim /usr/local/etc/poudriere.conf -ZPOOL=zroot -ZROOTFS=/poudriere -FREEBSD_HOST=https://download.FreeBSD.org -RESOLV_CONF=/etc/resolv.conf -BASEFS=/poudriere/base -DISTFILES_CACHE=/usr/ports/distfiles -USE_PORTLINT=yes -USE_TMPFS=yes -NOLINUX=yes -ALLOW_MAKE_JOBS=yes -PACKAGE_FETCH_BRANCH=latest - -# Create build jail -doas poudriere jail -c -j 14-1-amd64 -v 14.1-RELEASE - -# Create a ports tree with default options -doas poudriere ports -c -# Check the ports tree that got created -poudriere ports -l -``` - -## Adding custom packages manually - -```shell -doas cp -rv /home/baptiste/repos/freebsd-ports-custom/security/rbw /poudriere/base/ports/default/security/ -``` - -## Building the packages - -```shell -# Populate list of packages to be built -doas echo 'security/rbw' > /usr/local/etc/poudriere.d/pkglist -doas echo 'www/lua-resty-session' >> /usr/local/etc/poudriere.d/pkglist -# Build packages verbosely -doas poudriere bulk -f /usr/local/etc/poudriere.d/pkglist -j 14-1-amd64 -v -v -v -``` - -## Using portshaker - -```shell -# Alternative: create empty port tree that will be filled by portshaker -doas poudriere ports -cF -p main - -# Create a dedicated volume for portshaker cache -zfs create zroot/portshaker -zfs set mountpoint=/var/cache/portshaker zroot/portshaker - -vim /usr/local/etc/portshaker.d/custom -#!/bin/sh -. /usr/local/share/portshaker/portshaker.subr -if [ "$1" != '--' ]; then - err 1 "Extra arguments" -fi -shift -method="git" -# For a private repo -# git_clone_uri="git@github.com:gwarf/freebsd-ports-custom.git" -git_clone_uri="https://github.com/gwarf/freebsd-ports-custom.git" -git_branch="main" -run_portshaker_command "$@" -chmod +x /usr/local/etc/portshaker.d/custom - -vim /usr/local/etc/portshaker.d/freebsd -#!/bin/sh -. /usr/local/share/portshaker/portshaker.subr -​if [ "$1" != '--' ]; then - err 1 "Extra arguments" -fi -shift -method="git" -git_clone_uri="https://github.com/freebsd/freebsd-ports.git" -git_branch="main" -run_portshaker_command "$@" -chmod +x /usr/local/etc/portshaker.d/freebsd - -vim /usr/local/etc/portshaker.conf -mirror_base_dir="/var/cache/portshaker" -ports_trees="main" -use_zfs="yes" -poudriere_dataset="zroot/poudriere" -poudriere_ports_mountpoint="/usr/local/poudriere/ports" -main_poudriere_tree="main" -# Force overwritting files freebsd ports with custom overlay -# This doesn't remove non matching files -main_merge_from="freebsd custom+" - -# Update ports trees -portshaker -U -# Merge prot trees -porthakser -M -# Updat and merge port trees -portshaker -``` - -# Adding an updated package - -```shell -# Work on updating the port/bumping version -# Make makesum in the main/host to be able to update the distinfo file -doas make makesum -# Copy new/updated ports to poudriere merged folder -doas cp -rv /poudriere/ports/main/www/lua-resty-session3 /poudriere/ports/main/www/ -# Build the port -doas poudriere testport -j 14-1-amd64 -p main -i www/lua-resty-session3 -# In the jail -pwd -# Check plist and save it to /tmp as not allowed to write to the makefile -make makeplist > /tmp/$(make -V PORTNAME)-plist -doas vim -O /poudriere/data/.m/14-1-amd64-main/ref/tmp/lua-resty-session-plist /poudriere/data/.m/14-1-amd64-main/ref/usr/ports/www/lua-resty-session3/Makefile - -``` - -```shell -# Add new port -cp -r ~/repos/freebsd-ports/security/lua-resty-openidc ~/repos/freebsd-ports-custom/security/ - -# test port in a jail -doas poudriere testport -j 14-1-amd64 -p main -o security/rbw -``` - -## Building the packages - -```shell -# Populate list of packages to be built -doas echo 'security/rbw' > /usr/local/etc/poudriere.d/pkglist -doas echo 'www/lua-resty-session' >> /usr/local/etc/poudriere.d/pkglist -# Build packages verbosely -## Using main ports tree -doas poudriere bulk -f /usr/local/etc/poudriere.d/pkglist -j 14-1-amd64 -p main -v -v -v -``` - - - - -# Update rbw version and send a new patch - -```shell -cd ~/repos/freebsd-ports-custom/security/rbw -# Update version -vim Makefile - -# Review and commit changes -git commit -am 'Update rbw to 1.12.1' -# Push changes remotely -git push -# Update and merge portshaker repositories -doas portshaker -# Test updated port, moving to interactive use to be able to update the Makefile -doas poudriere testport -j 14-1-amd64 -p main -o security/rbw -i -su - -# Update cargo crates -#FIXME: this reports issues -# Not validating first entry in CATEGORIES due to being outside of PORTSDIR. -make cargo-crates >> Makefile -# Merge cargo-crates update -vim Makefile -# Update sums -make makesum -#XXX: get changes from the jail to update the ports tree outside of the Jail - -# Push changes to customised branch -cd ~/repos/freebsd-ports/security/rbw/ -cp -rv ~/repos/freebsd-ports-custom/security/rbw/* . - -# Commit changes to rbw branch or to a new branch -git fetch -git rebase origin/main rbw -# Squash changes if the updated port is not yet in the tree -git rebase -i ... -# Review changes -git diff origin/main -# Create a patch -git format-patch origin/main - -# TODO: trying by passing path to local repo to poudriere using -O overlay -``` - - -# Create patch for new lua-resty-session3 - - -```shell -cp -rv ~/repos/freebsd-ports-custom/www/lua-resty-session3 www/ -git add www/lua-resty-session3 -git status -git ci -am 'www/lua-resty-session3 new port sticking to version 3' -``` From 2264d0d97478ce03a5016073e43c3f34ac7910ac Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Mon, 16 Sep 2024 00:37:56 +0200 Subject: [PATCH 2020/2080] Picard --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 3c035012..acf32059 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -182,6 +182,7 @@ packages: - "nitrokey-app" - "notmuch" - "nsxiv" + - "picard" - "portlint" - "portshaker" - "poudriere" From 982b31f8c70dea0260d69477fcdbeeb253bfb9c0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 18 Sep 2024 14:25:04 +0200 Subject: [PATCH 2021/2080] Update home/.chezmoidata/packages.yaml Add home/.pythonrc --- home/.chezmoidata/packages.yaml | 2 ++ home/dot_pythonrc | 9 +++++++++ 2 files changed, 11 insertions(+) create mode 100644 home/dot_pythonrc diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index acf32059..04c32f7d 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -29,6 +29,7 @@ packages: - "gnu-sed" - "gnupg" - "gpgme" + - "httpie" - "hub" - "isort" - "isync" @@ -51,6 +52,7 @@ packages: - "mutt" - "ncftp" - "neovim" + - "nmap" - "oidc-agent" - "pandoc" - "pinentry" diff --git a/home/dot_pythonrc b/home/dot_pythonrc new file mode 100644 index 00000000..5977d273 --- /dev/null +++ b/home/dot_pythonrc @@ -0,0 +1,9 @@ +# enable syntax completion +try: + import readline +except ImportError: + print("Module readline not available.") +else: + import rlcompleter + + readline.parse_and_bind("tab: complete") From 1d6707dc812b76880cb4b9b38a260734f0e0a96e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 19 Sep 2024 10:01:46 +0200 Subject: [PATCH 2022/2080] Install Burp Suite --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 04c32f7d..0fcb9e9b 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -10,6 +10,7 @@ packages: - "bat" - "bitwarden-cli" - "black" + - "burp-suite" - "checkmake" - "chezmoi" - "coreutils" From 49047ee9ccf2654b5694d29aa47a076dcbbb6a26 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 19 Sep 2024 12:48:35 +0200 Subject: [PATCH 2023/2080] Update home/.mailcap --- home/dot_mailcap.tmpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/dot_mailcap.tmpl b/home/dot_mailcap.tmpl index d5e7978c..c741c211 100644 --- a/home/dot_mailcap.tmpl +++ b/home/dot_mailcap.tmpl @@ -10,7 +10,8 @@ mime_lookup application/octet-stream application/octetstream video/*; ~/.config/neomutt/view_attachment %s - image/*; ~/.config/neomutt/view_attachment %s - # View file in W3M, use print to view them in default browser -text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser" %s +# text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser" %s +text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = "/Applications/Arc.app/Contents/MacOS/Arc" %s text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; # text/html; ~/.config/neomutt/view_attachment %s html text/csv ; bat %s ; copiousoutput From 320237066b16548a7fff4a5c70a09a7f2665f964 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 19 Sep 2024 16:51:54 +0200 Subject: [PATCH 2024/2080] Update home/.mailcap --- home/dot_mailcap.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dot_mailcap.tmpl b/home/dot_mailcap.tmpl index c741c211..f39f0610 100644 --- a/home/dot_mailcap.tmpl +++ b/home/dot_mailcap.tmpl @@ -11,7 +11,7 @@ video/*; ~/.config/neomutt/view_attachment %s - image/*; ~/.config/neomutt/view_attachment %s - # View file in W3M, use print to view them in default browser # text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser" %s -text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = "/Applications/Arc.app/Contents/MacOS/Arc" %s +text/html; w3m -I %{charset} -T text/html -dump; nametemplate=%s.html; copiousoutput; print = open %s text/calendar; ~/.config/neomutt/dump-ical.py %s; copiousoutput; # text/html; ~/.config/neomutt/view_attachment %s html text/csv ; bat %s ; copiousoutput From fde4550f09ebfdb8bf1d0a8e0260772cb4303fc6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 20 Sep 2024 15:03:20 +0200 Subject: [PATCH 2025/2080] darwin: install basedpyright --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 0fcb9e9b..7f5b1e3d 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -8,6 +8,7 @@ packages: - "bash" - "bash-language-server" - "bat" + - "basedpyright" - "bitwarden-cli" - "black" - "burp-suite" From 42404935940319984196eee174c633026a6326bf Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 20 Sep 2024 15:03:29 +0200 Subject: [PATCH 2026/2080] lazyvim: drop commented code. --- home/private_dot_config/nvim/lua/config/lazy.lua | 5 ----- 1 file changed, 5 deletions(-) diff --git a/home/private_dot_config/nvim/lua/config/lazy.lua b/home/private_dot_config/nvim/lua/config/lazy.lua index aa8f99be..0d318f5b 100644 --- a/home/private_dot_config/nvim/lua/config/lazy.lua +++ b/home/private_dot_config/nvim/lua/config/lazy.lua @@ -11,11 +11,6 @@ require("lazy").setup({ -- import LazyVim plugins { "LazyVim/LazyVim", import = "lazyvim.plugins" }, -- import extras LazyVim modules - -- Semantic highlighting for python - -- XXX: breaking when opening python files - -- See https://github.com/numirias/semshi/issues/120 - -- Had to run :UpdateRemotePlugins manually - -- { import = "lazyvim.plugins.extras.lang.python-semshi" }, -- copilot disabled until there is an easy way to choose when to use it -- { import = "lazyvim.plugins.extras.coding.copilot" }, -- import/override with your plugins From 5775a4a75dba50e95f9be3a51f2a5e10f95f3fd5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 20 Sep 2024 15:03:43 +0200 Subject: [PATCH 2027/2080] lazyvim: disable python3 provider, add notes about venv and basedpyright --- home/private_dot_config/nvim/lua/config/options.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/nvim/lua/config/options.lua b/home/private_dot_config/nvim/lua/config/options.lua index 102c7116..d26992eb 100644 --- a/home/private_dot_config/nvim/lua/config/options.lua +++ b/home/private_dot_config/nvim/lua/config/options.lua @@ -35,11 +35,17 @@ vim.g.mapleader = " " vim.g.maplocalleader = "\\" -- Disable python, perl, ruby and node support --- XXX: re-enabled for testing semshi, cf https://github.com/numirias/semshi/issues/74 --- vim.g.loaded_python3_provider = 0 +vim.g.loaded_python3_provider = 0 vim.g.loaded_perl_provider = 0 vim.g.loaded_ruby_provider = 0 vim.g.loaded_node_provider = 0 +-- XXX: was used when enabling python3 provider and using venvs +-- vim.g.python3_host_prog = "/Users/baptiste/.pyenv/versions/neovim/bin/python3" +-- vim.g.python_host_prog = "/Users/baptiste/.pyenv/versions/neovim/bin/python" + +-- Use basedpyright instead of old pyright +-- vim.g.lazyvim_python_lsp = "basedpyright" + -- Use a global statusline vim.g.laststatus = 3 From fc3b131bc973c36f67c62e456d1e9b964fb6ce45 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 20 Sep 2024 15:07:33 +0200 Subject: [PATCH 2028/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- .../nvim/lua/plugins/lsp.lua | 555 +++++++++--------- 1 file changed, 279 insertions(+), 276 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index c89240a1..59cf28f0 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -1,282 +1,285 @@ -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua return { - -- Improved ltex integration, supporting code actions - { - "barreiroleo/ltex_extra.nvim", - dependencies = { "neovim/nvim-lspconfig" }, - }, + -- Improved ltex integration, supporting code actions + { + "barreiroleo/ltex_extra.nvim", + dependencies = { "neovim/nvim-lspconfig" }, + }, - -- XXX: stop trying to install pacakges - { "williamboman/mason.nvim", enabled = false }, - -- add various LSP to lspconfig - { - "neovim/nvim-lspconfig", - opts = { - -- add folding range to capabilities - capabilities = { - textDocument = { - foldingRange = { - dynamicRegistration = false, - lineFoldingOnly = true, - }, - }, - }, - -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md - servers = { - ansiblels = { - mason = false, - root_dir = function(fname) - return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) - or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) - or require("lspconfig.util").find_git_ancestor(fname) - end, - settings = { - ansible = { - validation = { - lint = { - arguments = "--warn-list role-name[path]", - }, - }, - }, - }, - }, - bashls = { - mason = false, - }, - -- dockerls = {}, - -- html = {}, - -- groovyls = {}, - -- use LanguageTool via ltex for spell checking - -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html - -- TODO: have cmp do completion using words from the dictionaries - ltex = { - mason = false, - filetypes = { - "bib", - "gitcommit", - "latex", - "mail", - "markdown", - "norg", - "org", - "pandoc", - "rst", - "tex", - "text", - }, - settings = { - -- https://valentjn.github.io/ltex/settings.html - ltex = { - -- trace = { server = "verbose" }, - -- XXX: unwanted checks are still occurring, often delaying CodeActions - checkFrequency = "save", - language = "en-GB", - additionalRules = { - enablePickyRules = true, - motherTongue = "fr", - }, - -- https://community.languagetool.org/rule/list?lang=en - disabledRules = { - -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt - ["fr"] = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }, - }, - }, - }, - }, - lua_ls = { - mason = false, - single_file_support = true, - settings = { - Lua = { - workspace = { - checkThirdParty = false, - }, - completion = { - workspaceWord = true, - callSnippet = "Both", - }, - misc = { - parameters = { - -- "--log-level=trace", - }, - }, - hint = { - enable = true, - setType = false, - paramType = true, - paramName = "Disable", - semicolon = "Disable", - arrayIndex = "Disable", - }, - doc = { - privateName = { "^_" }, - }, - type = { - castNumberToInteger = true, - }, - diagnostics = { - disable = { "incomplete-signature-doc", "trailing-space" }, - groupSeverity = { - strong = "Warning", - strict = "Warning", - }, - groupFileStatus = { - ["ambiguity"] = "Opened", - ["await"] = "Opened", - ["codestyle"] = "None", - ["duplicate"] = "Opened", - ["global"] = "Opened", - ["luadoc"] = "Opened", - ["redefined"] = "Opened", - ["strict"] = "Opened", - ["strong"] = "Opened", - ["type-check"] = "Opened", - ["unbalanced"] = "Opened", - ["unused"] = "Opened", - }, - unusedLocalExclude = { "_*" }, - }, - format = { - enable = false, - defaultConfig = { - indent_style = "space", - indent_size = "2", - continuation_indent_size = "2", - }, - }, - }, - }, - }, - marksman = { - mason = false, - }, - -- Do not install nil_ls with Mason - nil_ls = { - mason = false, - }, - perlnavigator = { - -- settings = { - -- perlnavigator = { - -- perlPath = "/usr/local/bin/perl", - -- }, - -- }, - }, - pyright = { - mason = false, - }, - texlab = { - mason = false, - }, - -- XXX: disabled as it's to beinstalled manually - -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp - -- textlsp = {}, - yamlls = { - mason = false, - -- https://github.com/redhat-developer/yaml-language-server - settings = { - yaml = { - keyOrdering = false, - -- XXX: not working/not needed? - -- format = { enable = true }, - -- validate = true, - }, - }, - }, - -- vimls = {}, - }, - setup = { - -- integrate ltex_extra with lazyvim - -- https://github.com/LazyVim/LazyVim/discussions/403 - ---@diagnostic disable-next-line: unused-local - ltex = function(_, opts) - vim.api.nvim_create_autocmd("LspAttach", { - callback = function(args) - ---@diagnostic disable-next-line: no-unknown - local client = vim.lsp.get_client_by_id(args.data.client_id) - if client.name == "ltex" then - require("ltex_extra").setup({ - load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded - init_check = true, -- whether to load dictionaries on startup - path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" - }) - end - end, - }) - end, - }, - }, - }, + -- add various LSP to lspconfig + { + "neovim/nvim-lspconfig", + opts = { + -- add folding range to capabilities + capabilities = { + textDocument = { + foldingRange = { + dynamicRegistration = false, + lineFoldingOnly = true, + }, + }, + }, + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md + servers = { + ansiblels = { + mason = false, + root_dir = function(fname) + return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) + or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) + or require("lspconfig.util").find_git_ancestor(fname) + end, + settings = { + ansible = { + validation = { + lint = { + arguments = "--warn-list role-name[path]", + }, + }, + }, + }, + }, + bashls = { + mason = false, + }, + -- dockerls = {}, + -- html = {}, + -- groovyls = {}, + -- use LanguageTool via ltex for spell checking + -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html + -- TODO: have cmp do completion using words from the dictionaries + ltex = { + mason = false, + filetypes = { + "bib", + "gitcommit", + "latex", + "mail", + "markdown", + "norg", + "org", + "pandoc", + "rst", + "tex", + "text", + }, + settings = { + -- https://valentjn.github.io/ltex/settings.html + ltex = { + -- trace = { server = "verbose" }, + -- XXX: unwanted checks are still occurring, often delaying CodeActions + checkFrequency = "save", + language = "en-GB", + additionalRules = { + enablePickyRules = true, + motherTongue = "fr", + }, + -- https://community.languagetool.org/rule/list?lang=en + disabledRules = { + -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt + ["fr"] = { + "APOS_TYP", + "FRENCH_WHITESPACE", + "FR_SPELLING_RULE", + "COMMA_PARENTHESIS_WHITESPACE", + }, + }, + }, + }, + }, + lua_ls = { + mason = false, + single_file_support = true, + settings = { + Lua = { + workspace = { + checkThirdParty = false, + }, + completion = { + workspaceWord = true, + callSnippet = "Both", + }, + misc = { + parameters = { + -- "--log-level=trace", + }, + }, + hint = { + enable = true, + setType = false, + paramType = true, + paramName = "Disable", + semicolon = "Disable", + arrayIndex = "Disable", + }, + doc = { + privateName = { "^_" }, + }, + type = { + castNumberToInteger = true, + }, + diagnostics = { + disable = { "incomplete-signature-doc", "trailing-space" }, + groupSeverity = { + strong = "Warning", + strict = "Warning", + }, + groupFileStatus = { + ["ambiguity"] = "Opened", + ["await"] = "Opened", + ["codestyle"] = "None", + ["duplicate"] = "Opened", + ["global"] = "Opened", + ["luadoc"] = "Opened", + ["redefined"] = "Opened", + ["strict"] = "Opened", + ["strong"] = "Opened", + ["type-check"] = "Opened", + ["unbalanced"] = "Opened", + ["unused"] = "Opened", + }, + unusedLocalExclude = { "_*" }, + }, + format = { + enable = false, + defaultConfig = { + indent_style = "space", + indent_size = "2", + continuation_indent_size = "2", + }, + }, + }, + }, + }, + marksman = { + mason = false, + }, + -- Do not install nil_ls with Mason + nil_ls = { + mason = false, + }, + perlnavigator = { + -- settings = { + -- perlnavigator = { + -- perlPath = "/usr/local/bin/perl", + -- }, + -- }, + }, + pyright = { + mason = false, + }, + texlab = { + mason = false, + }, + -- XXX: disabled as it's to beinstalled manually + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp + -- textlsp = {}, + yamlls = { + mason = false, + -- https://github.com/redhat-developer/yaml-language-server + settings = { + yaml = { + keyOrdering = false, + -- XXX: not working/not needed? + -- format = { enable = true }, + -- validate = true, + }, + }, + }, + -- vimls = {}, + }, + setup = { + -- integrate ltex_extra with lazyvim + -- https://github.com/LazyVim/LazyVim/discussions/403 + ---@diagnostic disable-next-line: unused-local + ltex = function(_, opts) + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + ---@diagnostic disable-next-line: no-unknown + local client = vim.lsp.get_client_by_id(args.data.client_id) + if client.name == "ltex" then + require("ltex_extra").setup({ + load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded + init_check = true, -- whether to load dictionaries on startup + path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. + log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + }) + end + end, + }) + end, + }, + }, + }, - -- Replacement for formatting via null-ls/none-ls - { - -- XXX: auto format not working with prettier but only with prettierd?! - "stevearc/conform.nvim", - opts = { - formatters_by_ft = { - markdown = { "prettierd" }, - yaml = { "prettierd" }, - groovy = { "npm_groovy_lint" }, - }, - formatters = { - -- FIXME: too slow, the formatter should be installed locally - -- npm_groovy_lint = { - -- -- command = "npm-groovy-lint", - -- command = "docker", - -- -- FIXME: latest version is currently broken 2023-11-15 - -- -- https://github.com/nvuillam/npm-groovy-lint/issues/319 - -- args = { "run", "--rm", "nvuillam/npm-groovy-lint:11.1.1", "--format", "--files", "$FILENAME" }, - -- stdin = false, - -- condition = function(ctx) - -- return vim.fs.basename(ctx.filename) == "Jenkinsfile" - -- end, - -- }, - }, - }, - }, + -- Replacement for formatting via null-ls/none-ls + { + -- XXX: auto format not working with prettier but only with prettierd?! + "stevearc/conform.nvim", + opts = { + formatters_by_ft = { + markdown = { "prettierd" }, + yaml = { "prettierd" }, + groovy = { "npm_groovy_lint" }, + }, + formatters = { + -- FIXME: too slow, the formatter should be installed locally + -- npm_groovy_lint = { + -- -- command = "npm-groovy-lint", + -- command = "docker", + -- -- FIXME: latest version is currently broken 2023-11-15 + -- -- https://github.com/nvuillam/npm-groovy-lint/issues/319 + -- args = { "run", "--rm", "nvuillam/npm-groovy-lint:11.1.1", "--format", "--files", "$FILENAME" }, + -- stdin = false, + -- condition = function(ctx) + -- return vim.fs.basename(ctx.filename) == "Jenkinsfile" + -- end, + -- }, + }, + }, + }, - -- { - -- FIXME: to be dropped once incorporated in my conform.nvim and nvim-lint setup - -- "nvimtools/none-ls.nvim", - -- -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 - -- enabled = false, - -- opts = function(_, opts) - -- ---@diagnostic disable-next-line: no-unknown - -- local nls = require("null-ls") - -- ---@diagnostic disable-next-line: no-unknown - -- local utils = require("null-ls.utils") - -- -- local flake8_extra_args = {} - -- ---@diagnostic disable-next-line: no-unknown - -- local root = utils.get_root() - -- -- local flake8_conf = root .. "/.github/linters/.flake8" - -- -- Load configuration file from super-liner, if any - -- -- if vim.loop.fs_stat(flake8_conf) then - -- -- flake8_extra_args = { "--config", flake8_conf } - -- -- else - -- -- -- Align with black - -- -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 - -- -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } - -- -- end - -- -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md - -- opts.sources = { - -- -- Shell - -- nls.builtins.formatting.shfmt, - -- -- text - -- nls.builtins.diagnostics.alex, - -- nls.builtins.hover.dictionary, - -- nls.builtins.diagnostics.checkmake, - -- nls.builtins.diagnostics.write_good, - -- -- perl - -- nls.builtins.formatting.perltidy, - -- -- python - -- -- nls.builtins.formatting.isort.with({ - -- -- extra_args = { "--profile", "black" }, - -- -- }), - -- -- nls.builtins.formatting.black, - -- -- nls.builtins.diagnostics.flake8.with({ - -- -- extra_args = flake8_extra_args, - -- -- }), - -- } - -- end, - -- }, + -- { + -- FIXME: to be dropped once incorporated in my conform.nvim and nvim-lint setup + -- "nvimtools/none-ls.nvim", + -- -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 + -- enabled = false, + -- opts = function(_, opts) + -- ---@diagnostic disable-next-line: no-unknown + -- local nls = require("null-ls") + -- ---@diagnostic disable-next-line: no-unknown + -- local utils = require("null-ls.utils") + -- -- local flake8_extra_args = {} + -- ---@diagnostic disable-next-line: no-unknown + -- local root = utils.get_root() + -- -- local flake8_conf = root .. "/.github/linters/.flake8" + -- -- Load configuration file from super-liner, if any + -- -- if vim.loop.fs_stat(flake8_conf) then + -- -- flake8_extra_args = { "--config", flake8_conf } + -- -- else + -- -- -- Align with black + -- -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 + -- -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } + -- -- end + -- -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md + -- opts.sources = { + -- -- Shell + -- nls.builtins.formatting.shfmt, + -- -- text + -- nls.builtins.diagnostics.alex, + -- nls.builtins.hover.dictionary, + -- nls.builtins.diagnostics.checkmake, + -- nls.builtins.diagnostics.write_good, + -- -- perl + -- nls.builtins.formatting.perltidy, + -- -- python + -- -- nls.builtins.formatting.isort.with({ + -- -- extra_args = { "--profile", "black" }, + -- -- }), + -- -- nls.builtins.formatting.black, + -- -- nls.builtins.diagnostics.flake8.with({ + -- -- extra_args = flake8_extra_args, + -- -- }), + -- } + -- end, + -- }, } From 3c5d6c4ad57a886bf846b5ebcead40df2d2dbc93 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Sat, 21 Sep 2024 12:35:02 +0200 Subject: [PATCH 2029/2080] darwin: drop rectangle --- home/.chezmoidata/packages.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 7f5b1e3d..c0faa895 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -108,7 +108,6 @@ packages: - "obsidian" - "protonvpn" - "qflipper" - - "rectangle" - "signal" - "skyfonts" - "skype" From 343d3ac64a67402e23c505632bc5d57a5b15d044 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Wed, 25 Sep 2024 13:49:26 +0200 Subject: [PATCH 2030/2080] Update home/.chezmoidata/packages.yaml Update home/.config/nvim/lua/plugins/lsp.lua --- home/.chezmoidata/packages.yaml | 2 ++ home/private_dot_config/nvim/lua/plugins/lsp.lua | 1 + 2 files changed, 3 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index c0faa895..72808985 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -98,6 +98,8 @@ packages: - "firefox" - "font-jetbrains-mono-nerd-font" - "github" + - "git" + - "git-lfs" - "google-drive" - "karabiner-elements" - "keybase" diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 59cf28f0..26c29c5f 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -50,6 +50,7 @@ return { ltex = { mason = false, filetypes = { + "asciidoc", "bib", "gitcommit", "latex", From 3d435e89c55f32acdfd64db64536811be58376c7 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Thu, 26 Sep 2024 22:51:10 +0200 Subject: [PATCH 2031/2080] Update home/.config/nvim/lazyvim.json Update home/.config/fish/config.fish --- home/private_dot_config/nvim/lazyvim.json | 5 +++-- home/private_dot_config/private_fish/config.fish.tmpl | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/nvim/lazyvim.json b/home/private_dot_config/nvim/lazyvim.json index 83b4200e..8360cc95 100644 --- a/home/private_dot_config/nvim/lazyvim.json +++ b/home/private_dot_config/nvim/lazyvim.json @@ -1,6 +1,6 @@ { "extras": [ - "lazyvim.plugins.extras.dap.core", + "lazyvim.plugins.extras.coding.copilot-chat", "lazyvim.plugins.extras.coding.mini-comment", "lazyvim.plugins.extras.coding.mini-surround", "lazyvim.plugins.extras.coding.neogen", @@ -29,4 +29,5 @@ "NEWS.md": "6520" }, "version": 6 -} \ No newline at end of file +} + diff --git a/home/private_dot_config/private_fish/config.fish.tmpl b/home/private_dot_config/private_fish/config.fish.tmpl index 50114414..fe9b5461 100644 --- a/home/private_dot_config/private_fish/config.fish.tmpl +++ b/home/private_dot_config/private_fish/config.fish.tmpl @@ -69,6 +69,7 @@ if status is-interactive if test (uname) = Darwin # Add path mainly used by brew fish_add_path /usr/local/bin + fish_add_path /usr/local/sbin fish_add_path /usr/local/opt/coreutils/libexec/gnubin # https://spicetify.app From af6fa0f4d261fe9cdacbfedb549ef693065b76e6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Tue, 8 Oct 2024 08:18:12 +0200 Subject: [PATCH 2032/2080] Update home/.chezmoidata/packages.yaml --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 72808985..a2f264fc 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -216,6 +216,7 @@ packages: - "xf86-video-amdgpu" - "xorg" - "xsel-conrad" + - "yazi" - "zoxide" linux: pkgs: From 3a7111649cf8f8bcde593f9deaa79e435ee11a6a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 11 Oct 2024 09:13:17 +0200 Subject: [PATCH 2033/2080] Bump Karabiner config --- .../private_karabiner/private_karabiner.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/private_karabiner/private_karabiner.json b/home/private_dot_config/private_karabiner/private_karabiner.json index 6165628c..706e8ea4 100644 --- a/home/private_dot_config/private_karabiner/private_karabiner.json +++ b/home/private_dot_config/private_karabiner/private_karabiner.json @@ -12,7 +12,8 @@ "from": { "key_code": "escape" }, "to": [{ "key_code": "caps_lock" }] } - ] + ], + "virtual_hid_keyboard": { "keyboard_type_v2": "ansi" } } ] } \ No newline at end of file From 868ad9847a7d7ca86a52d7ca05f046c66f876e35 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 16:35:32 +0200 Subject: [PATCH 2034/2080] More FreeBSD packages --- home/.chezmoidata/packages.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index a2f264fc..da1f4f30 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -168,6 +168,7 @@ packages: - "gohugo" - "google-fonts" - "gping" + - "hs-ShellCheck" - "httpie" - "isync" - "jq" @@ -201,9 +202,11 @@ packages: - "ripgrep-all" - "rubygem-mdl" - "shfmt" + - "signal-desktop" - "starship" - "stylua" - "tealdeer" + - "telegram-desktop" - "tigervnc-viewer" - "tmux" - "tree" From a47fabc96afb45fbc5ca64d5f404ae0fd8994a1a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 19:01:36 +0200 Subject: [PATCH 2035/2080] LazyVim on FreeBSD: skip some broken packages --- .../nvim/lua/plugins/lsp.lua | 593 +++++++++--------- .../nvim/lua/plugins/tools.lua | 9 - 2 files changed, 313 insertions(+), 289 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 26c29c5f..22d07ab4 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -1,286 +1,319 @@ -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua return { - -- Improved ltex integration, supporting code actions - { - "barreiroleo/ltex_extra.nvim", - dependencies = { "neovim/nvim-lspconfig" }, - }, + { + "williamboman/mason.nvim", + enabled = true, + -- XXX: Skip non working Mason packages on FreeBSD + opts = function(_, opts) + if vim.uv.os_uname().sysname:find("FreeBSD") then + print(opts.ensure_installed) + local function skip(mason_package) + if type(opts.ensure_installed) == "table" then + for i = #opts.ensure_installed, 1, -1 do + if opts.ensure_installed[i] == mason_package then + table.remove(opts.ensure_installed, i) + end + end + end + end + skip("shellcheck") + skip("hadolint") + skip("shfmt") + skip("stylua") + skip("tflint") + end + --- Debug for MasonInstall issues + --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration + -- log_level = vim.log.levels.DEBUG, + -- Use a local registry with changes to be merged upstream + opts.registries = { + "file:~/repos/mason-registry", + "github:mason-org/mason-registry", + } + end, + }, - -- add various LSP to lspconfig - { - "neovim/nvim-lspconfig", - opts = { - -- add folding range to capabilities - capabilities = { - textDocument = { - foldingRange = { - dynamicRegistration = false, - lineFoldingOnly = true, - }, - }, - }, - -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md - servers = { - ansiblels = { - mason = false, - root_dir = function(fname) - return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) - or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) - or require("lspconfig.util").find_git_ancestor(fname) - end, - settings = { - ansible = { - validation = { - lint = { - arguments = "--warn-list role-name[path]", - }, - }, - }, - }, - }, - bashls = { - mason = false, - }, - -- dockerls = {}, - -- html = {}, - -- groovyls = {}, - -- use LanguageTool via ltex for spell checking - -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html - -- TODO: have cmp do completion using words from the dictionaries - ltex = { - mason = false, - filetypes = { - "asciidoc", - "bib", - "gitcommit", - "latex", - "mail", - "markdown", - "norg", - "org", - "pandoc", - "rst", - "tex", - "text", - }, - settings = { - -- https://valentjn.github.io/ltex/settings.html - ltex = { - -- trace = { server = "verbose" }, - -- XXX: unwanted checks are still occurring, often delaying CodeActions - checkFrequency = "save", - language = "en-GB", - additionalRules = { - enablePickyRules = true, - motherTongue = "fr", - }, - -- https://community.languagetool.org/rule/list?lang=en - disabledRules = { - -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt - ["fr"] = { - "APOS_TYP", - "FRENCH_WHITESPACE", - "FR_SPELLING_RULE", - "COMMA_PARENTHESIS_WHITESPACE", - }, - }, - }, - }, - }, - lua_ls = { - mason = false, - single_file_support = true, - settings = { - Lua = { - workspace = { - checkThirdParty = false, - }, - completion = { - workspaceWord = true, - callSnippet = "Both", - }, - misc = { - parameters = { - -- "--log-level=trace", - }, - }, - hint = { - enable = true, - setType = false, - paramType = true, - paramName = "Disable", - semicolon = "Disable", - arrayIndex = "Disable", - }, - doc = { - privateName = { "^_" }, - }, - type = { - castNumberToInteger = true, - }, - diagnostics = { - disable = { "incomplete-signature-doc", "trailing-space" }, - groupSeverity = { - strong = "Warning", - strict = "Warning", - }, - groupFileStatus = { - ["ambiguity"] = "Opened", - ["await"] = "Opened", - ["codestyle"] = "None", - ["duplicate"] = "Opened", - ["global"] = "Opened", - ["luadoc"] = "Opened", - ["redefined"] = "Opened", - ["strict"] = "Opened", - ["strong"] = "Opened", - ["type-check"] = "Opened", - ["unbalanced"] = "Opened", - ["unused"] = "Opened", - }, - unusedLocalExclude = { "_*" }, - }, - format = { - enable = false, - defaultConfig = { - indent_style = "space", - indent_size = "2", - continuation_indent_size = "2", - }, - }, - }, - }, - }, - marksman = { - mason = false, - }, - -- Do not install nil_ls with Mason - nil_ls = { - mason = false, - }, - perlnavigator = { - -- settings = { - -- perlnavigator = { - -- perlPath = "/usr/local/bin/perl", - -- }, - -- }, - }, - pyright = { - mason = false, - }, - texlab = { - mason = false, - }, - -- XXX: disabled as it's to beinstalled manually - -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp - -- textlsp = {}, - yamlls = { - mason = false, - -- https://github.com/redhat-developer/yaml-language-server - settings = { - yaml = { - keyOrdering = false, - -- XXX: not working/not needed? - -- format = { enable = true }, - -- validate = true, - }, - }, - }, - -- vimls = {}, - }, - setup = { - -- integrate ltex_extra with lazyvim - -- https://github.com/LazyVim/LazyVim/discussions/403 - ---@diagnostic disable-next-line: unused-local - ltex = function(_, opts) - vim.api.nvim_create_autocmd("LspAttach", { - callback = function(args) - ---@diagnostic disable-next-line: no-unknown - local client = vim.lsp.get_client_by_id(args.data.client_id) - if client.name == "ltex" then - require("ltex_extra").setup({ - load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded - init_check = true, -- whether to load dictionaries on startup - path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" - }) - end - end, - }) - end, - }, - }, - }, + -- Improved ltex integration, supporting code actions + { + "barreiroleo/ltex_extra.nvim", + dependencies = { "neovim/nvim-lspconfig" }, + }, - -- Replacement for formatting via null-ls/none-ls - { - -- XXX: auto format not working with prettier but only with prettierd?! - "stevearc/conform.nvim", - opts = { - formatters_by_ft = { - markdown = { "prettierd" }, - yaml = { "prettierd" }, - groovy = { "npm_groovy_lint" }, - }, - formatters = { - -- FIXME: too slow, the formatter should be installed locally - -- npm_groovy_lint = { - -- -- command = "npm-groovy-lint", - -- command = "docker", - -- -- FIXME: latest version is currently broken 2023-11-15 - -- -- https://github.com/nvuillam/npm-groovy-lint/issues/319 - -- args = { "run", "--rm", "nvuillam/npm-groovy-lint:11.1.1", "--format", "--files", "$FILENAME" }, - -- stdin = false, - -- condition = function(ctx) - -- return vim.fs.basename(ctx.filename) == "Jenkinsfile" - -- end, - -- }, - }, - }, - }, + -- add various LSP to lspconfig + { + "neovim/nvim-lspconfig", + opts = { + -- add folding range to capabilities + capabilities = { + textDocument = { + foldingRange = { + dynamicRegistration = false, + lineFoldingOnly = true, + }, + }, + }, + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md + servers = { + ansiblels = { + mason = false, + root_dir = function(fname) + return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) + or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) + or require("lspconfig.util").find_git_ancestor(fname) + end, + settings = { + ansible = { + validation = { + lint = { + arguments = "--warn-list role-name[path]", + }, + }, + }, + }, + }, + bashls = { + mason = false, + }, + -- dockerls = {}, + -- html = {}, + -- groovyls = {}, + -- use LanguageTool via ltex for spell checking + -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html + -- TODO: have cmp do completion using words from the dictionaries + ltex = { + mason = false, + filetypes = { + "asciidoc", + "bib", + "gitcommit", + "latex", + "mail", + "markdown", + "norg", + "org", + "pandoc", + "rst", + "tex", + "text", + }, + settings = { + -- https://valentjn.github.io/ltex/settings.html + ltex = { + -- trace = { server = "verbose" }, + -- XXX: unwanted checks are still occurring, often delaying CodeActions + checkFrequency = "save", + language = "en-GB", + additionalRules = { + enablePickyRules = true, + motherTongue = "fr", + }, + -- https://community.languagetool.org/rule/list?lang=en + disabledRules = { + -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt + ["fr"] = { + "APOS_TYP", + "FRENCH_WHITESPACE", + "FR_SPELLING_RULE", + "COMMA_PARENTHESIS_WHITESPACE", + }, + }, + }, + }, + }, + lua_ls = { + mason = false, + single_file_support = true, + settings = { + Lua = { + workspace = { + checkThirdParty = false, + }, + completion = { + workspaceWord = true, + callSnippet = "Both", + }, + misc = { + parameters = { + -- "--log-level=trace", + }, + }, + hint = { + enable = true, + setType = false, + paramType = true, + paramName = "Disable", + semicolon = "Disable", + arrayIndex = "Disable", + }, + doc = { + privateName = { "^_" }, + }, + type = { + castNumberToInteger = true, + }, + diagnostics = { + disable = { "incomplete-signature-doc", "trailing-space" }, + groupSeverity = { + strong = "Warning", + strict = "Warning", + }, + groupFileStatus = { + ["ambiguity"] = "Opened", + ["await"] = "Opened", + ["codestyle"] = "None", + ["duplicate"] = "Opened", + ["global"] = "Opened", + ["luadoc"] = "Opened", + ["redefined"] = "Opened", + ["strict"] = "Opened", + ["strong"] = "Opened", + ["type-check"] = "Opened", + ["unbalanced"] = "Opened", + ["unused"] = "Opened", + }, + unusedLocalExclude = { "_*" }, + }, + format = { + enable = false, + defaultConfig = { + indent_style = "space", + indent_size = "2", + continuation_indent_size = "2", + }, + }, + }, + }, + }, + marksman = { + mason = false, + }, + -- Do not install nil_ls with Mason + nil_ls = { + mason = false, + }, + perlnavigator = { + -- settings = { + -- perlnavigator = { + -- perlPath = "/usr/local/bin/perl", + -- }, + -- }, + }, + pyright = { + mason = false, + }, + texlab = { + mason = false, + }, + -- XXX: disabled as it's to beinstalled manually + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp + -- textlsp = {}, + yamlls = { + mason = false, + -- https://github.com/redhat-developer/yaml-language-server + settings = { + yaml = { + keyOrdering = false, + -- XXX: not working/not needed? + -- format = { enable = true }, + -- validate = true, + }, + }, + }, + -- vimls = {}, + }, + setup = { + -- integrate ltex_extra with lazyvim + -- https://github.com/LazyVim/LazyVim/discussions/403 + ---@diagnostic disable-next-line: unused-local + ltex = function(_, opts) + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + ---@diagnostic disable-next-line: no-unknown + local client = vim.lsp.get_client_by_id(args.data.client_id) + if client.name == "ltex" then + require("ltex_extra").setup({ + load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded + init_check = true, -- whether to load dictionaries on startup + path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. + log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + }) + end + end, + }) + end, + }, + }, + }, - -- { - -- FIXME: to be dropped once incorporated in my conform.nvim and nvim-lint setup - -- "nvimtools/none-ls.nvim", - -- -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 - -- enabled = false, - -- opts = function(_, opts) - -- ---@diagnostic disable-next-line: no-unknown - -- local nls = require("null-ls") - -- ---@diagnostic disable-next-line: no-unknown - -- local utils = require("null-ls.utils") - -- -- local flake8_extra_args = {} - -- ---@diagnostic disable-next-line: no-unknown - -- local root = utils.get_root() - -- -- local flake8_conf = root .. "/.github/linters/.flake8" - -- -- Load configuration file from super-liner, if any - -- -- if vim.loop.fs_stat(flake8_conf) then - -- -- flake8_extra_args = { "--config", flake8_conf } - -- -- else - -- -- -- Align with black - -- -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 - -- -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } - -- -- end - -- -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md - -- opts.sources = { - -- -- Shell - -- nls.builtins.formatting.shfmt, - -- -- text - -- nls.builtins.diagnostics.alex, - -- nls.builtins.hover.dictionary, - -- nls.builtins.diagnostics.checkmake, - -- nls.builtins.diagnostics.write_good, - -- -- perl - -- nls.builtins.formatting.perltidy, - -- -- python - -- -- nls.builtins.formatting.isort.with({ - -- -- extra_args = { "--profile", "black" }, - -- -- }), - -- -- nls.builtins.formatting.black, - -- -- nls.builtins.diagnostics.flake8.with({ - -- -- extra_args = flake8_extra_args, - -- -- }), - -- } - -- end, - -- }, + -- Replacement for formatting via null-ls/none-ls + { + -- XXX: auto format not working with prettier but only with prettierd?! + "stevearc/conform.nvim", + opts = { + formatters_by_ft = { + markdown = { "prettierd" }, + yaml = { "prettierd" }, + groovy = { "npm_groovy_lint" }, + }, + formatters = { + -- FIXME: too slow, the formatter should be installed locally + -- npm_groovy_lint = { + -- -- command = "npm-groovy-lint", + -- command = "docker", + -- -- FIXME: latest version is currently broken 2023-11-15 + -- -- https://github.com/nvuillam/npm-groovy-lint/issues/319 + -- args = { "run", "--rm", "nvuillam/npm-groovy-lint:11.1.1", "--format", "--files", "$FILENAME" }, + -- stdin = false, + -- condition = function(ctx) + -- return vim.fs.basename(ctx.filename) == "Jenkinsfile" + -- end, + -- }, + }, + }, + }, + + -- { + -- FIXME: to be dropped once incorporated in my conform.nvim and nvim-lint setup + -- "nvimtools/none-ls.nvim", + -- -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 + -- enabled = false, + -- opts = function(_, opts) + -- ---@diagnostic disable-next-line: no-unknown + -- local nls = require("null-ls") + -- ---@diagnostic disable-next-line: no-unknown + -- local utils = require("null-ls.utils") + -- -- local flake8_extra_args = {} + -- ---@diagnostic disable-next-line: no-unknown + -- local root = utils.get_root() + -- -- local flake8_conf = root .. "/.github/linters/.flake8" + -- -- Load configuration file from super-liner, if any + -- -- if vim.loop.fs_stat(flake8_conf) then + -- -- flake8_extra_args = { "--config", flake8_conf } + -- -- else + -- -- -- Align with black + -- -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 + -- -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } + -- -- end + -- -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md + -- opts.sources = { + -- -- Shell + -- nls.builtins.formatting.shfmt, + -- -- text + -- nls.builtins.diagnostics.alex, + -- nls.builtins.hover.dictionary, + -- nls.builtins.diagnostics.checkmake, + -- nls.builtins.diagnostics.write_good, + -- -- perl + -- nls.builtins.formatting.perltidy, + -- -- python + -- -- nls.builtins.formatting.isort.with({ + -- -- extra_args = { "--profile", "black" }, + -- -- }), + -- -- nls.builtins.formatting.black, + -- -- nls.builtins.diagnostics.flake8.with({ + -- -- extra_args = flake8_extra_args, + -- -- }), + -- } + -- end, + -- }, } diff --git a/home/private_dot_config/nvim/lua/plugins/tools.lua b/home/private_dot_config/nvim/lua/plugins/tools.lua index d3461353..05db6d8a 100644 --- a/home/private_dot_config/nvim/lua/plugins/tools.lua +++ b/home/private_dot_config/nvim/lua/plugins/tools.lua @@ -1,15 +1,6 @@ -- https://github.com/folke/dot/blob/master/nvim/lua/plugins/tools.lua return { - -- { - -- "williamboman/mason.nvim", - -- opts = { - -- --- Debug for MasonInstall issues - -- --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration - -- log_level = vim.log.levels.DEBUG, - -- }, - -- }, - -- { "gbprod/yanky.nvim", opts = { From b5b10d2ae9a1ea0878150a505cc2f6697290e431 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 19:01:50 +0200 Subject: [PATCH 2036/2080] More FreeBSD packages --- home/.chezmoidata/packages.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index da1f4f30..fabee8d0 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -165,6 +165,7 @@ packages: - "git-delta" - "gnome-lite" - "gnome-screenshot" + - "go-yq" - "gohugo" - "google-fonts" - "gping" @@ -207,6 +208,7 @@ packages: - "stylua" - "tealdeer" - "telegram-desktop" + - "terraform" - "tigervnc-viewer" - "tmux" - "tree" From 2565dbd35f44e433f74cff1815451714225ace63 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 19:47:59 +0200 Subject: [PATCH 2037/2080] Update home/.chezmoidata/packages.yaml Update home/.config/nvim/lua/plugins/lsp.lua --- home/.chezmoidata/packages.yaml | 1 + home/private_dot_config/nvim/lua/plugins/lsp.lua | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index fabee8d0..31915bd4 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -209,6 +209,7 @@ packages: - "tealdeer" - "telegram-desktop" - "terraform" + - "tflint" - "tigervnc-viewer" - "tmux" - "tree" diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 22d07ab4..d531c65b 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -17,6 +17,7 @@ return { end end skip("shellcheck") + -- TODO: Dockerfile linter: find or build a package skip("hadolint") skip("shfmt") skip("stylua") @@ -55,6 +56,7 @@ return { -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md servers = { ansiblels = { + -- TODO: Find or build a package for FreeBSD mason = false, root_dir = function(fname) return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) @@ -71,8 +73,9 @@ return { }, }, }, + -- XXX: no native package on FreeBSD bashls = { - mason = false, + mason = vim.uv.os_uname().sysname:find("FreeBSD"), }, -- dockerls = {}, -- html = {}, @@ -81,6 +84,7 @@ return { -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html -- TODO: have cmp do completion using words from the dictionaries ltex = { + -- TODO: Find or build a package for FreeBSD mason = false, filetypes = { "asciidoc", @@ -121,6 +125,7 @@ return { }, }, lua_ls = { + -- TODO: Find or build a package for FreeBSD mason = false, single_file_support = true, settings = { @@ -185,10 +190,13 @@ return { }, }, marksman = { + -- TODO: Find or build a package for FreeBSD mason = false, }, -- Do not install nil_ls with Mason nil_ls = { + -- TODO: Find or build a package for FreeBSD + -- XXX: Look at cargo setup on FreeBSD mason = false, }, perlnavigator = { From 62cb5f8d03e9df475e8fdd47133ca2ab84022e21 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 19:53:19 +0200 Subject: [PATCH 2038/2080] Update home/.chezmoidata/packages.yaml Update home/.config/nvim/lua/plugins/lsp.lua --- home/.chezmoidata/packages.yaml | 2 ++ home/private_dot_config/nvim/lua/plugins/lsp.lua | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 31915bd4..fa61a74a 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -141,6 +141,7 @@ packages: pkgs: - "bash" - "bat" + - "cargo" - "cbsd" - "cheat" - "chromium" @@ -197,6 +198,7 @@ packages: - "py311-glances" - "py311-khard" - "py311-pynitrokey" + - "py311-pyright" - "python" - "qFlipper" - "ripgrep" diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index d531c65b..d38d867b 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -196,8 +196,8 @@ return { -- Do not install nil_ls with Mason nil_ls = { -- TODO: Find or build a package for FreeBSD - -- XXX: Look at cargo setup on FreeBSD - mason = false, + -- -- XXX: Fix build on FreeBSD + mason = vim.uv.os_uname().sysname:find("FreeBSD"), }, perlnavigator = { -- settings = { @@ -227,7 +227,6 @@ return { }, }, }, - -- vimls = {}, }, setup = { -- integrate ltex_extra with lazyvim From 3e9df7501ef5fd2aa39d6f5db6b33bd0957e9946 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 19:53:34 +0200 Subject: [PATCH 2039/2080] More FreeBSD packages --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index fa61a74a..81bd3d14 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -211,6 +211,7 @@ packages: - "tealdeer" - "telegram-desktop" - "terraform" + - "texlab" - "tflint" - "tigervnc-viewer" - "tmux" From fb9ca82dee7975b13145ff562a4f5f7746edfc0f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 19:56:13 +0200 Subject: [PATCH 2040/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index d38d867b..35c98088 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -197,7 +197,8 @@ return { nil_ls = { -- TODO: Find or build a package for FreeBSD -- -- XXX: Fix build on FreeBSD - mason = vim.uv.os_uname().sysname:find("FreeBSD"), + -- mason = vim.uv.os_uname().sysname:find("FreeBSD"), + mason = false, }, perlnavigator = { -- settings = { From 8c8b2535bc3ae3ca51e09a6ba1e2ef90ccb5a22e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 19:57:33 +0200 Subject: [PATCH 2041/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 35c98088..6324af1d 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -19,6 +19,8 @@ return { skip("shellcheck") -- TODO: Dockerfile linter: find or build a package skip("hadolint") + -- TODO: Markdown linter: find or build a package + skip("marksman") skip("shfmt") skip("stylua") skip("tflint") @@ -189,10 +191,6 @@ return { }, }, }, - marksman = { - -- TODO: Find or build a package for FreeBSD - mason = false, - }, -- Do not install nil_ls with Mason nil_ls = { -- TODO: Find or build a package for FreeBSD From 9208fc7fac2272bdb7d200caf3959d0388c4f6c0 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 19:59:05 +0200 Subject: [PATCH 2042/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 6324af1d..6dc3515d 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -88,6 +88,7 @@ return { ltex = { -- TODO: Find or build a package for FreeBSD mason = false, + disable = vim.uv.os_uname().sysname:find("FreeBSD"), filetypes = { "asciidoc", "bib", From d7811290c77d2562209ac9acba4bd9f3cf7f0aec Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 19:59:38 +0200 Subject: [PATCH 2043/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 6dc3515d..9bc9be37 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -88,7 +88,7 @@ return { ltex = { -- TODO: Find or build a package for FreeBSD mason = false, - disable = vim.uv.os_uname().sysname:find("FreeBSD"), + enable = not vim.uv.os_uname().sysname:find("FreeBSD"), filetypes = { "asciidoc", "bib", From f1c3d27849e1ce151cf72dc454345b14d9bcf75b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 20:02:15 +0200 Subject: [PATCH 2044/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 9bc9be37..2bb48a62 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -88,7 +88,9 @@ return { ltex = { -- TODO: Find or build a package for FreeBSD mason = false, - enable = not vim.uv.os_uname().sysname:find("FreeBSD"), + -- enable = not vim.uv.os_uname().sysname:find("FreeBSD"), + enable = false, + disable = true, filetypes = { "asciidoc", "bib", From a6c11624983adfcc0d38b545d05403ef3a34386e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 20:08:50 +0200 Subject: [PATCH 2045/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- .../nvim/lua/plugins/lsp.lua | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 2bb48a62..db32245a 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -235,20 +235,25 @@ return { -- https://github.com/LazyVim/LazyVim/discussions/403 ---@diagnostic disable-next-line: unused-local ltex = function(_, opts) - vim.api.nvim_create_autocmd("LspAttach", { - callback = function(args) - ---@diagnostic disable-next-line: no-unknown - local client = vim.lsp.get_client_by_id(args.data.client_id) - if client.name == "ltex" then - require("ltex_extra").setup({ - load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded - init_check = true, -- whether to load dictionaries on startup - path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" - }) - end - end, - }) + -- Disable ltex on FreeBSD + if vim.uv.os_uname().sysname:find("FreeBSD") then + return false + else + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + ---@diagnostic disable-next-line: no-unknown + local client = vim.lsp.get_client_by_id(args.data.client_id) + if client.name == "ltex" then + require("ltex_extra").setup({ + load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded + init_check = true, -- whether to load dictionaries on startup + path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. + log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + }) + end + end, + }) + end end, }, }, From d9ed1879eb2e32895bf5862ae4c53f0f216f87ee Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 20:10:26 +0200 Subject: [PATCH 2046/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index db32245a..c3019c46 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -194,6 +194,12 @@ return { }, }, }, + marskman = { + -- TODO: Find or build a package for FreeBSD + -- -- XXX: Fix build on FreeBSD + -- mason = vim.uv.os_uname().sysname:find("FreeBSD"), + mason = false, + } -- Do not install nil_ls with Mason nil_ls = { -- TODO: Find or build a package for FreeBSD From 432895ff8bf9755e0c8a9b1eb0817f1ff860c112 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 20:10:48 +0200 Subject: [PATCH 2047/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index c3019c46..67e8f7ed 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -199,7 +199,7 @@ return { -- -- XXX: Fix build on FreeBSD -- mason = vim.uv.os_uname().sysname:find("FreeBSD"), mason = false, - } + }, -- Do not install nil_ls with Mason nil_ls = { -- TODO: Find or build a package for FreeBSD From 1988b9c767789c06b120edc4d8fd9d0dcfef6b3b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 20:16:12 +0200 Subject: [PATCH 2048/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 67e8f7ed..c49d2073 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -88,9 +88,7 @@ return { ltex = { -- TODO: Find or build a package for FreeBSD mason = false, - -- enable = not vim.uv.os_uname().sysname:find("FreeBSD"), - enable = false, - disable = true, + autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), filetypes = { "asciidoc", "bib", From c8da20312bdf37f0bdcc9003a748f7dfc548b32a Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 20:17:58 +0200 Subject: [PATCH 2049/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index c49d2073..d638bfc8 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -192,11 +192,12 @@ return { }, }, }, - marskman = { + marksman = { -- TODO: Find or build a package for FreeBSD -- -- XXX: Fix build on FreeBSD -- mason = vim.uv.os_uname().sysname:find("FreeBSD"), mason = false, + autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), }, -- Do not install nil_ls with Mason nil_ls = { From 4a433664afb74102315f364f903b7df4cd281ced Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 20:21:26 +0200 Subject: [PATCH 2050/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index d638bfc8..ffaa37af 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -130,6 +130,7 @@ return { lua_ls = { -- TODO: Find or build a package for FreeBSD mason = false, + autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), single_file_support = true, settings = { Lua = { From 97055e60a1c179c02fcf74863b95c90cc7cb41ff Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 20:26:34 +0200 Subject: [PATCH 2051/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 7 ------- 1 file changed, 7 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index ffaa37af..98826274 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -200,13 +200,6 @@ return { mason = false, autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), }, - -- Do not install nil_ls with Mason - nil_ls = { - -- TODO: Find or build a package for FreeBSD - -- -- XXX: Fix build on FreeBSD - -- mason = vim.uv.os_uname().sysname:find("FreeBSD"), - mason = false, - }, perlnavigator = { -- settings = { -- perlnavigator = { From 798d08b481218d6d16fbada8cde3e9220073cdd5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 20:29:30 +0200 Subject: [PATCH 2052/2080] LazyVim: drop nix support --- home/private_dot_config/nvim/lazyvim.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/private_dot_config/nvim/lazyvim.json b/home/private_dot_config/nvim/lazyvim.json index 8360cc95..b37c8302 100644 --- a/home/private_dot_config/nvim/lazyvim.json +++ b/home/private_dot_config/nvim/lazyvim.json @@ -15,7 +15,6 @@ "lazyvim.plugins.extras.lang.git", "lazyvim.plugins.extras.lang.json", "lazyvim.plugins.extras.lang.markdown", - "lazyvim.plugins.extras.lang.nix", "lazyvim.plugins.extras.lang.python", "lazyvim.plugins.extras.lang.terraform", "lazyvim.plugins.extras.lang.yaml", @@ -30,4 +29,3 @@ }, "version": 6 } - From e8a8139a4cf519b0aec710aa605b86b244bc6a34 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 21:11:38 +0200 Subject: [PATCH 2053/2080] Install ruff on FreeBSD --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 81bd3d14..ddee9d4e 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -204,6 +204,7 @@ packages: - "ripgrep" - "ripgrep-all" - "rubygem-mdl" + - "ruff" - "shfmt" - "signal-desktop" - "starship" From a24373546b271528a0c2fc3e238df0acb1d1eb0c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 21:18:05 +0200 Subject: [PATCH 2054/2080] Update home/.chezmoidata/packages.yaml --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index ddee9d4e..2b29801a 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -195,6 +195,7 @@ packages: - "portshaker" - "poudriere" - "procs" + - "py311-black" - "py311-glances" - "py311-khard" - "py311-pynitrokey" From c4d79a250370d1732f5b1a92ef7b44a4dcd9e1fc Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 21:19:20 +0200 Subject: [PATCH 2055/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 98826274..e7747a3b 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -24,6 +24,8 @@ return { skip("shfmt") skip("stylua") skip("tflint") + skip("black") + skip("ruff") end --- Debug for MasonInstall issues --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration From 5d1999070da9218b82a3edf98f81120f5bedadc9 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 21:22:35 +0200 Subject: [PATCH 2056/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index e7747a3b..1ff65bc6 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -81,6 +81,9 @@ return { bashls = { mason = vim.uv.os_uname().sysname:find("FreeBSD"), }, + black = { + mason = false, + } -- dockerls = {}, -- html = {}, -- groovyls = {}, @@ -212,6 +215,9 @@ return { pyright = { mason = false, }, + ruff = { + mason = false, + } texlab = { mason = false, }, From 918d064e98e12b428023c4f560673aa0e02929c3 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 21:23:58 +0200 Subject: [PATCH 2057/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 1ff65bc6..2753a088 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -83,7 +83,7 @@ return { }, black = { mason = false, - } + }, -- dockerls = {}, -- html = {}, -- groovyls = {}, @@ -217,7 +217,7 @@ return { }, ruff = { mason = false, - } + }, texlab = { mason = false, }, From 59dfddeeff8dcb0f9aa7aff50ca3a33fb58d3f1b Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 21:24:24 +0200 Subject: [PATCH 2058/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 2753a088..7d0552fa 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -24,8 +24,6 @@ return { skip("shfmt") skip("stylua") skip("tflint") - skip("black") - skip("ruff") end --- Debug for MasonInstall issues --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration From 4854bea4e820ba4570fc833b6e5cc374fa8a1c14 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 21:25:25 +0200 Subject: [PATCH 2059/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 7d0552fa..d6b886da 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -16,6 +16,7 @@ return { end end end + skip("black") skip("shellcheck") -- TODO: Dockerfile linter: find or build a package skip("hadolint") @@ -79,9 +80,6 @@ return { bashls = { mason = vim.uv.os_uname().sysname:find("FreeBSD"), }, - black = { - mason = false, - }, -- dockerls = {}, -- html = {}, -- groovyls = {}, From 6384c2f311c0679ae160e364a0b2f6f2da7ae734 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 21:28:14 +0200 Subject: [PATCH 2060/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index d6b886da..30a61573 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -60,7 +60,7 @@ return { servers = { ansiblels = { -- TODO: Find or build a package for FreeBSD - mason = false, + mason = vim.uv.os_uname().sysname:find("FreeBSD"), root_dir = function(fname) return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) From 79ec5ccd09709981dac8361af3d9ce2594bcb9c2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 21:32:08 +0200 Subject: [PATCH 2061/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- .../nvim/lua/plugins/lsp.lua | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index 30a61573..f7a126ae 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -5,17 +5,21 @@ return { enabled = true, -- XXX: Skip non working Mason packages on FreeBSD opts = function(_, opts) - if vim.uv.os_uname().sysname:find("FreeBSD") then - print(opts.ensure_installed) - local function skip(mason_package) - if type(opts.ensure_installed) == "table" then - for i = #opts.ensure_installed, 1, -1 do - if opts.ensure_installed[i] == mason_package then - table.remove(opts.ensure_installed, i) - end + local function skip(mason_package) + if type(opts.ensure_installed) == "table" then + for i = #opts.ensure_installed, 1, -1 do + if opts.ensure_installed[i] == mason_package then + table.remove(opts.ensure_installed, i) end end end + end + local function add(mason_package) + if type(opts.ensure_installed) == "table" then + table.insert(opts.ensure_installed, mason_package) + end + end + if vim.uv.os_uname().sysname:find("FreeBSD") then skip("black") skip("shellcheck") -- TODO: Dockerfile linter: find or build a package @@ -26,6 +30,7 @@ return { skip("stylua") skip("tflint") end + add("debugpy") --- Debug for MasonInstall issues --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration -- log_level = vim.log.levels.DEBUG, From 312c65cf220682441021cb43effed9d163250a11 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 21:37:32 +0200 Subject: [PATCH 2062/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index f7a126ae..f8413411 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -3,7 +3,6 @@ return { { "williamboman/mason.nvim", enabled = true, - -- XXX: Skip non working Mason packages on FreeBSD opts = function(_, opts) local function skip(mason_package) if type(opts.ensure_installed) == "table" then @@ -19,18 +18,21 @@ return { table.insert(opts.ensure_installed, mason_package) end end + -- Adde debugpy for python files + add("debugpy") + -- Skip packages installed with OS package manager + skip("shfmt") + skip("black") + skip("stylua") + -- TODO: Markdown linter: find or build a package + skip("marksman") + -- XXX: Skip packages installed win Mason but broken on FreeBSD if vim.uv.os_uname().sysname:find("FreeBSD") then - skip("black") skip("shellcheck") -- TODO: Dockerfile linter: find or build a package skip("hadolint") - -- TODO: Markdown linter: find or build a package - skip("marksman") - skip("shfmt") - skip("stylua") skip("tflint") end - add("debugpy") --- Debug for MasonInstall issues --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration -- log_level = vim.log.levels.DEBUG, From 620710087047511b182739f1d8f46698931020d4 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 22:13:37 +0200 Subject: [PATCH 2063/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index f8413411..df3d0ae0 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -208,6 +208,7 @@ return { mason = false, autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), }, + mutt_ls({}), perlnavigator = { -- settings = { -- perlnavigator = { From d6b7916be7cf6b45a65a1e2060954f589413fed2 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sun, 13 Oct 2024 22:13:53 +0200 Subject: [PATCH 2064/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- home/private_dot_config/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index df3d0ae0..d1faac58 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -208,7 +208,7 @@ return { mason = false, autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), }, - mutt_ls({}), + mutt_ls = {}, perlnavigator = { -- settings = { -- perlnavigator = { From 7e56e7f41be047f44da29bd2b56e7788911f0578 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 18 Oct 2024 15:13:33 +0200 Subject: [PATCH 2065/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- .../nvim/lua/plugins/lsp.lua | 679 +++++++++--------- 1 file changed, 342 insertions(+), 337 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index d1faac58..ad2f1a19 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -1,344 +1,349 @@ -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua return { - { - "williamboman/mason.nvim", - enabled = true, - opts = function(_, opts) - local function skip(mason_package) - if type(opts.ensure_installed) == "table" then - for i = #opts.ensure_installed, 1, -1 do - if opts.ensure_installed[i] == mason_package then - table.remove(opts.ensure_installed, i) - end - end - end - end - local function add(mason_package) - if type(opts.ensure_installed) == "table" then - table.insert(opts.ensure_installed, mason_package) - end - end - -- Adde debugpy for python files - add("debugpy") - -- Skip packages installed with OS package manager - skip("shfmt") - skip("black") - skip("stylua") - -- TODO: Markdown linter: find or build a package - skip("marksman") - -- XXX: Skip packages installed win Mason but broken on FreeBSD - if vim.uv.os_uname().sysname:find("FreeBSD") then - skip("shellcheck") - -- TODO: Dockerfile linter: find or build a package - skip("hadolint") - skip("tflint") - end - --- Debug for MasonInstall issues - --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration - -- log_level = vim.log.levels.DEBUG, - -- Use a local registry with changes to be merged upstream - opts.registries = { - "file:~/repos/mason-registry", - "github:mason-org/mason-registry", - } - end, - }, + { + "williamboman/mason.nvim", + enabled = true, + opts = function(_, opts) + local function skip(mason_package) + if type(opts.ensure_installed) == "table" then + for i = #opts.ensure_installed, 1, -1 do + if opts.ensure_installed[i] == mason_package then + table.remove(opts.ensure_installed, i) + end + end + end + end + local function add(mason_package) + if type(opts.ensure_installed) == "table" then + table.insert(opts.ensure_installed, mason_package) + end + end + -- Adde debugpy for python files + add("debugpy") + -- Skip packages installed with OS package manager + skip("shfmt") + skip("black") + skip("stylua") + -- TODO: Markdown linter: find or build a package + skip("marksman") + -- XXX: Skip brew packages + if vim.uv.os_uname().sysname:find("Darwin") then + skip("shellcheck") + skip("markdownlint-cli2") + end + -- XXX: Skip packages to be installed with Mason but missing on FreeBSD + if vim.uv.os_uname().sysname:find("FreeBSD") then + skip("shellcheck") + -- TODO: Dockerfile linter: find or build a package + skip("hadolint") + skip("tflint") + end + --- Debug for MasonInstall issues + --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration + -- log_level = vim.log.levels.DEBUG, + -- Use a local registry with changes to be merged upstream + opts.registries = { + "file:~/repos/mason-registry", + "github:mason-org/mason-registry", + } + end, + }, - -- Improved ltex integration, supporting code actions - { - "barreiroleo/ltex_extra.nvim", - dependencies = { "neovim/nvim-lspconfig" }, - }, + -- Improved ltex integration, supporting code actions + { + "barreiroleo/ltex_extra.nvim", + dependencies = { "neovim/nvim-lspconfig" }, + }, - -- add various LSP to lspconfig - { - "neovim/nvim-lspconfig", - opts = { - -- add folding range to capabilities - capabilities = { - textDocument = { - foldingRange = { - dynamicRegistration = false, - lineFoldingOnly = true, - }, - }, - }, - -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md - servers = { - ansiblels = { - -- TODO: Find or build a package for FreeBSD - mason = vim.uv.os_uname().sysname:find("FreeBSD"), - root_dir = function(fname) - return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) - or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) - or require("lspconfig.util").find_git_ancestor(fname) - end, - settings = { - ansible = { - validation = { - lint = { - arguments = "--warn-list role-name[path]", - }, - }, - }, - }, - }, - -- XXX: no native package on FreeBSD - bashls = { - mason = vim.uv.os_uname().sysname:find("FreeBSD"), - }, - -- dockerls = {}, - -- html = {}, - -- groovyls = {}, - -- use LanguageTool via ltex for spell checking - -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html - -- TODO: have cmp do completion using words from the dictionaries - ltex = { - -- TODO: Find or build a package for FreeBSD - mason = false, - autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), - filetypes = { - "asciidoc", - "bib", - "gitcommit", - "latex", - "mail", - "markdown", - "norg", - "org", - "pandoc", - "rst", - "tex", - "text", - }, - settings = { - -- https://valentjn.github.io/ltex/settings.html - ltex = { - -- trace = { server = "verbose" }, - -- XXX: unwanted checks are still occurring, often delaying CodeActions - checkFrequency = "save", - language = "en-GB", - additionalRules = { - enablePickyRules = true, - motherTongue = "fr", - }, - -- https://community.languagetool.org/rule/list?lang=en - disabledRules = { - -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt - ["fr"] = { - "APOS_TYP", - "FRENCH_WHITESPACE", - "FR_SPELLING_RULE", - "COMMA_PARENTHESIS_WHITESPACE", - }, - }, - }, - }, - }, - lua_ls = { - -- TODO: Find or build a package for FreeBSD - mason = false, - autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), - single_file_support = true, - settings = { - Lua = { - workspace = { - checkThirdParty = false, - }, - completion = { - workspaceWord = true, - callSnippet = "Both", - }, - misc = { - parameters = { - -- "--log-level=trace", - }, - }, - hint = { - enable = true, - setType = false, - paramType = true, - paramName = "Disable", - semicolon = "Disable", - arrayIndex = "Disable", - }, - doc = { - privateName = { "^_" }, - }, - type = { - castNumberToInteger = true, - }, - diagnostics = { - disable = { "incomplete-signature-doc", "trailing-space" }, - groupSeverity = { - strong = "Warning", - strict = "Warning", - }, - groupFileStatus = { - ["ambiguity"] = "Opened", - ["await"] = "Opened", - ["codestyle"] = "None", - ["duplicate"] = "Opened", - ["global"] = "Opened", - ["luadoc"] = "Opened", - ["redefined"] = "Opened", - ["strict"] = "Opened", - ["strong"] = "Opened", - ["type-check"] = "Opened", - ["unbalanced"] = "Opened", - ["unused"] = "Opened", - }, - unusedLocalExclude = { "_*" }, - }, - format = { - enable = false, - defaultConfig = { - indent_style = "space", - indent_size = "2", - continuation_indent_size = "2", - }, - }, - }, - }, - }, - marksman = { - -- TODO: Find or build a package for FreeBSD - -- -- XXX: Fix build on FreeBSD - -- mason = vim.uv.os_uname().sysname:find("FreeBSD"), - mason = false, - autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), - }, - mutt_ls = {}, - perlnavigator = { - -- settings = { - -- perlnavigator = { - -- perlPath = "/usr/local/bin/perl", - -- }, - -- }, - }, - pyright = { - mason = false, - }, - ruff = { - mason = false, - }, - texlab = { - mason = false, - }, - -- XXX: disabled as it's to beinstalled manually - -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp - -- textlsp = {}, - yamlls = { - mason = false, - -- https://github.com/redhat-developer/yaml-language-server - settings = { - yaml = { - keyOrdering = false, - -- XXX: not working/not needed? - -- format = { enable = true }, - -- validate = true, - }, - }, - }, - }, - setup = { - -- integrate ltex_extra with lazyvim - -- https://github.com/LazyVim/LazyVim/discussions/403 - ---@diagnostic disable-next-line: unused-local - ltex = function(_, opts) - -- Disable ltex on FreeBSD - if vim.uv.os_uname().sysname:find("FreeBSD") then - return false - else - vim.api.nvim_create_autocmd("LspAttach", { - callback = function(args) - ---@diagnostic disable-next-line: no-unknown - local client = vim.lsp.get_client_by_id(args.data.client_id) - if client.name == "ltex" then - require("ltex_extra").setup({ - load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded - init_check = true, -- whether to load dictionaries on startup - path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" - }) - end - end, - }) - end - end, - }, - }, - }, + -- add various LSP to lspconfig + { + "neovim/nvim-lspconfig", + opts = { + -- add folding range to capabilities + capabilities = { + textDocument = { + foldingRange = { + dynamicRegistration = false, + lineFoldingOnly = true, + }, + }, + }, + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md + servers = { + ansiblels = { + -- TODO: Find or build a package for FreeBSD + mason = vim.uv.os_uname().sysname:find("FreeBSD"), + root_dir = function(fname) + return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) + or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) + or require("lspconfig.util").find_git_ancestor(fname) + end, + settings = { + ansible = { + validation = { + lint = { + arguments = "--warn-list role-name[path]", + }, + }, + }, + }, + }, + -- XXX: no native package on FreeBSD + bashls = { + mason = vim.uv.os_uname().sysname:find("FreeBSD"), + }, + -- dockerls = {}, + -- html = {}, + -- groovyls = {}, + -- use LanguageTool via ltex for spell checking + -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html + -- TODO: have cmp do completion using words from the dictionaries + ltex = { + -- TODO: Find or build a package for FreeBSD + mason = false, + autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), + filetypes = { + "asciidoc", + "bib", + "gitcommit", + "latex", + "mail", + "markdown", + "norg", + "org", + "pandoc", + "rst", + "tex", + "text", + }, + settings = { + -- https://valentjn.github.io/ltex/settings.html + ltex = { + -- trace = { server = "verbose" }, + -- XXX: unwanted checks are still occurring, often delaying CodeActions + checkFrequency = "save", + language = "en-GB", + additionalRules = { + enablePickyRules = true, + motherTongue = "fr", + }, + -- https://community.languagetool.org/rule/list?lang=en + disabledRules = { + -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt + ["fr"] = { + "APOS_TYP", + "FRENCH_WHITESPACE", + "FR_SPELLING_RULE", + "COMMA_PARENTHESIS_WHITESPACE", + }, + }, + }, + }, + }, + lua_ls = { + -- TODO: Find or build a package for FreeBSD + mason = false, + autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), + single_file_support = true, + settings = { + Lua = { + workspace = { + checkThirdParty = false, + }, + completion = { + workspaceWord = true, + callSnippet = "Both", + }, + misc = { + parameters = { + -- "--log-level=trace", + }, + }, + hint = { + enable = true, + setType = false, + paramType = true, + paramName = "Disable", + semicolon = "Disable", + arrayIndex = "Disable", + }, + doc = { + privateName = { "^_" }, + }, + type = { + castNumberToInteger = true, + }, + diagnostics = { + disable = { "incomplete-signature-doc", "trailing-space" }, + groupSeverity = { + strong = "Warning", + strict = "Warning", + }, + groupFileStatus = { + ["ambiguity"] = "Opened", + ["await"] = "Opened", + ["codestyle"] = "None", + ["duplicate"] = "Opened", + ["global"] = "Opened", + ["luadoc"] = "Opened", + ["redefined"] = "Opened", + ["strict"] = "Opened", + ["strong"] = "Opened", + ["type-check"] = "Opened", + ["unbalanced"] = "Opened", + ["unused"] = "Opened", + }, + unusedLocalExclude = { "_*" }, + }, + format = { + enable = false, + defaultConfig = { + indent_style = "space", + indent_size = "2", + continuation_indent_size = "2", + }, + }, + }, + }, + }, + marksman = { + -- TODO: Find or build a package for FreeBSD + -- -- XXX: Fix build on FreeBSD + -- mason = vim.uv.os_uname().sysname:find("FreeBSD"), + mason = false, + autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), + }, + mutt_ls = {}, + perlnavigator = { + -- settings = { + -- perlnavigator = { + -- perlPath = "/usr/local/bin/perl", + -- }, + -- }, + }, + pyright = { + mason = false, + }, + ruff = { + mason = false, + }, + texlab = { + mason = false, + }, + -- XXX: disabled as it's to beinstalled manually + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp + -- textlsp = {}, + yamlls = { + mason = false, + -- https://github.com/redhat-developer/yaml-language-server + settings = { + yaml = { + keyOrdering = false, + -- XXX: not working/not needed? + -- format = { enable = true }, + -- validate = true, + }, + }, + }, + }, + setup = { + -- integrate ltex_extra with lazyvim + -- https://github.com/LazyVim/LazyVim/discussions/403 + ---@diagnostic disable-next-line: unused-local + ltex = function(_, opts) + -- Disable ltex on FreeBSD + if vim.uv.os_uname().sysname:find("FreeBSD") then + return false + else + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + ---@diagnostic disable-next-line: no-unknown + local client = vim.lsp.get_client_by_id(args.data.client_id) + if client.name == "ltex" then + require("ltex_extra").setup({ + load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded + init_check = true, -- whether to load dictionaries on startup + path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. + log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + }) + end + end, + }) + end + end, + }, + }, + }, - -- Replacement for formatting via null-ls/none-ls - { - -- XXX: auto format not working with prettier but only with prettierd?! - "stevearc/conform.nvim", - opts = { - formatters_by_ft = { - markdown = { "prettierd" }, - yaml = { "prettierd" }, - groovy = { "npm_groovy_lint" }, - }, - formatters = { - -- FIXME: too slow, the formatter should be installed locally - -- npm_groovy_lint = { - -- -- command = "npm-groovy-lint", - -- command = "docker", - -- -- FIXME: latest version is currently broken 2023-11-15 - -- -- https://github.com/nvuillam/npm-groovy-lint/issues/319 - -- args = { "run", "--rm", "nvuillam/npm-groovy-lint:11.1.1", "--format", "--files", "$FILENAME" }, - -- stdin = false, - -- condition = function(ctx) - -- return vim.fs.basename(ctx.filename) == "Jenkinsfile" - -- end, - -- }, - }, - }, - }, + -- Replacement for formatting via null-ls/none-ls + { + -- XXX: auto format not working with prettier but only with prettierd?! + "stevearc/conform.nvim", + opts = { + formatters_by_ft = { + markdown = { "prettierd" }, + yaml = { "prettierd" }, + groovy = { "npm_groovy_lint" }, + }, + formatters = { + -- FIXME: too slow, the formatter should be installed locally + -- npm_groovy_lint = { + -- -- command = "npm-groovy-lint", + -- command = "docker", + -- -- FIXME: latest version is currently broken 2023-11-15 + -- -- https://github.com/nvuillam/npm-groovy-lint/issues/319 + -- args = { "run", "--rm", "nvuillam/npm-groovy-lint:11.1.1", "--format", "--files", "$FILENAME" }, + -- stdin = false, + -- condition = function(ctx) + -- return vim.fs.basename(ctx.filename) == "Jenkinsfile" + -- end, + -- }, + }, + }, + }, - -- { - -- FIXME: to be dropped once incorporated in my conform.nvim and nvim-lint setup - -- "nvimtools/none-ls.nvim", - -- -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 - -- enabled = false, - -- opts = function(_, opts) - -- ---@diagnostic disable-next-line: no-unknown - -- local nls = require("null-ls") - -- ---@diagnostic disable-next-line: no-unknown - -- local utils = require("null-ls.utils") - -- -- local flake8_extra_args = {} - -- ---@diagnostic disable-next-line: no-unknown - -- local root = utils.get_root() - -- -- local flake8_conf = root .. "/.github/linters/.flake8" - -- -- Load configuration file from super-liner, if any - -- -- if vim.loop.fs_stat(flake8_conf) then - -- -- flake8_extra_args = { "--config", flake8_conf } - -- -- else - -- -- -- Align with black - -- -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 - -- -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } - -- -- end - -- -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md - -- opts.sources = { - -- -- Shell - -- nls.builtins.formatting.shfmt, - -- -- text - -- nls.builtins.diagnostics.alex, - -- nls.builtins.hover.dictionary, - -- nls.builtins.diagnostics.checkmake, - -- nls.builtins.diagnostics.write_good, - -- -- perl - -- nls.builtins.formatting.perltidy, - -- -- python - -- -- nls.builtins.formatting.isort.with({ - -- -- extra_args = { "--profile", "black" }, - -- -- }), - -- -- nls.builtins.formatting.black, - -- -- nls.builtins.diagnostics.flake8.with({ - -- -- extra_args = flake8_extra_args, - -- -- }), - -- } - -- end, - -- }, + -- { + -- FIXME: to be dropped once incorporated in my conform.nvim and nvim-lint setup + -- "nvimtools/none-ls.nvim", + -- -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 + -- enabled = false, + -- opts = function(_, opts) + -- ---@diagnostic disable-next-line: no-unknown + -- local nls = require("null-ls") + -- ---@diagnostic disable-next-line: no-unknown + -- local utils = require("null-ls.utils") + -- -- local flake8_extra_args = {} + -- ---@diagnostic disable-next-line: no-unknown + -- local root = utils.get_root() + -- -- local flake8_conf = root .. "/.github/linters/.flake8" + -- -- Load configuration file from super-liner, if any + -- -- if vim.loop.fs_stat(flake8_conf) then + -- -- flake8_extra_args = { "--config", flake8_conf } + -- -- else + -- -- -- Align with black + -- -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 + -- -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } + -- -- end + -- -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md + -- opts.sources = { + -- -- Shell + -- nls.builtins.formatting.shfmt, + -- -- text + -- nls.builtins.diagnostics.alex, + -- nls.builtins.hover.dictionary, + -- nls.builtins.diagnostics.checkmake, + -- nls.builtins.diagnostics.write_good, + -- -- perl + -- nls.builtins.formatting.perltidy, + -- -- python + -- -- nls.builtins.formatting.isort.with({ + -- -- extra_args = { "--profile", "black" }, + -- -- }), + -- -- nls.builtins.formatting.black, + -- -- nls.builtins.diagnostics.flake8.with({ + -- -- extra_args = flake8_extra_args, + -- -- }), + -- } + -- end, + -- }, } From 33c6333e4aa53d0d24eac1a4754922954fada8b5 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 18 Oct 2024 15:13:57 +0200 Subject: [PATCH 2066/2080] Brew install shellcheck --- home/.chezmoidata/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 2b29801a..138afed4 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -70,6 +70,7 @@ packages: - "rpm2cpio" - "ruff" - "screenfetch" + - "shellcheck" - "shfmt" - "starship" - "stylua" From 2ecee7d196897409d61679fe07ce9eb5bf8911f6 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 18 Oct 2024 15:16:03 +0200 Subject: [PATCH 2067/2080] Some casks got merged in brew --- home/.chezmoidata/packages.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index 138afed4..dce05d14 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -27,6 +27,7 @@ packages: - "gh" - "git" - "git-delta" + - "git-lfs" - "glances" - "gnu-sed" - "gnupg" @@ -99,8 +100,6 @@ packages: - "firefox" - "font-jetbrains-mono-nerd-font" - "github" - - "git" - - "git-lfs" - "google-drive" - "karabiner-elements" - "keybase" From e83eb224cbb105a981fb41691438fc6a6b197891 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste.grenier@egi.eu> Date: Fri, 18 Oct 2024 15:17:12 +0200 Subject: [PATCH 2068/2080] burp-suite moved to casks --- home/.chezmoidata/packages.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index dce05d14..b1901015 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -11,7 +11,6 @@ packages: - "basedpyright" - "bitwarden-cli" - "black" - - "burp-suite" - "checkmake" - "chezmoi" - "coreutils" @@ -95,6 +94,7 @@ packages: - "alfred" - "balenaetcher" - "brave-browser" + - "burp-suite" - "docker" - "drawio" - "firefox" From 2701f2e28ee0b9597528d297614d8bf35d8f810e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 10:37:57 +0200 Subject: [PATCH 2069/2080] Update home/.config/nvim/lua/plugins/lsp.lua --- .../nvim/lua/plugins/lsp.lua | 685 +++++++++--------- 1 file changed, 343 insertions(+), 342 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp.lua b/home/private_dot_config/nvim/lua/plugins/lsp.lua index ad2f1a19..8a2f7258 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp.lua @@ -1,349 +1,350 @@ -- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/plugins/lsp/init.lua return { - { - "williamboman/mason.nvim", - enabled = true, - opts = function(_, opts) - local function skip(mason_package) - if type(opts.ensure_installed) == "table" then - for i = #opts.ensure_installed, 1, -1 do - if opts.ensure_installed[i] == mason_package then - table.remove(opts.ensure_installed, i) - end - end - end - end - local function add(mason_package) - if type(opts.ensure_installed) == "table" then - table.insert(opts.ensure_installed, mason_package) - end - end - -- Adde debugpy for python files - add("debugpy") - -- Skip packages installed with OS package manager - skip("shfmt") - skip("black") - skip("stylua") - -- TODO: Markdown linter: find or build a package - skip("marksman") - -- XXX: Skip brew packages - if vim.uv.os_uname().sysname:find("Darwin") then - skip("shellcheck") - skip("markdownlint-cli2") - end - -- XXX: Skip packages to be installed with Mason but missing on FreeBSD - if vim.uv.os_uname().sysname:find("FreeBSD") then - skip("shellcheck") - -- TODO: Dockerfile linter: find or build a package - skip("hadolint") - skip("tflint") - end - --- Debug for MasonInstall issues - --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration - -- log_level = vim.log.levels.DEBUG, - -- Use a local registry with changes to be merged upstream - opts.registries = { - "file:~/repos/mason-registry", - "github:mason-org/mason-registry", - } - end, - }, + { + "williamboman/mason.nvim", + enabled = true, + opts = function(_, opts) + local function skip(mason_package) + if type(opts.ensure_installed) == "table" then + for i = #opts.ensure_installed, 1, -1 do + if opts.ensure_installed[i] == mason_package then + table.remove(opts.ensure_installed, i) + end + end + end + end + local function add(mason_package) + if type(opts.ensure_installed) == "table" then + table.insert(opts.ensure_installed, mason_package) + end + end + -- Adde debugpy for python files + add("debugpy") + -- Skip packages installed with OS package manager + skip("shfmt") + skip("black") + skip("stylua") + -- TODO: Markdown linter: find or build a package + skip("marksman") + -- XXX: Skip brew packages + if vim.uv.os_uname().sysname:find("Darwin") then + skip("shellcheck") + skip("markdownlint-cli2") + end + -- XXX: Skip packages to be installed with Mason but missing on FreeBSD + if vim.uv.os_uname().sysname:find("FreeBSD") then + skip("shellcheck") + -- TODO: Dockerfile linter: find or build a package + skip("hadolint") + skip("tflint") + end + --- Debug for MasonInstall issues + --- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#default-configuration + -- log_level = vim.log.levels.DEBUG, + -- Use a local registry with changes to be merged upstream + opts.registries = { + "file:~/repos/mason-registry", + "github:mason-org/mason-registry", + } + end, + }, - -- Improved ltex integration, supporting code actions - { - "barreiroleo/ltex_extra.nvim", - dependencies = { "neovim/nvim-lspconfig" }, - }, + -- Improved ltex integration, supporting code actions + { + "barreiroleo/ltex_extra.nvim", + dependencies = { "neovim/nvim-lspconfig" }, + }, - -- add various LSP to lspconfig - { - "neovim/nvim-lspconfig", - opts = { - -- add folding range to capabilities - capabilities = { - textDocument = { - foldingRange = { - dynamicRegistration = false, - lineFoldingOnly = true, - }, - }, - }, - -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md - servers = { - ansiblels = { - -- TODO: Find or build a package for FreeBSD - mason = vim.uv.os_uname().sysname:find("FreeBSD"), - root_dir = function(fname) - return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) - or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) - or require("lspconfig.util").find_git_ancestor(fname) - end, - settings = { - ansible = { - validation = { - lint = { - arguments = "--warn-list role-name[path]", - }, - }, - }, - }, - }, - -- XXX: no native package on FreeBSD - bashls = { - mason = vim.uv.os_uname().sysname:find("FreeBSD"), - }, - -- dockerls = {}, - -- html = {}, - -- groovyls = {}, - -- use LanguageTool via ltex for spell checking - -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html - -- TODO: have cmp do completion using words from the dictionaries - ltex = { - -- TODO: Find or build a package for FreeBSD - mason = false, - autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), - filetypes = { - "asciidoc", - "bib", - "gitcommit", - "latex", - "mail", - "markdown", - "norg", - "org", - "pandoc", - "rst", - "tex", - "text", - }, - settings = { - -- https://valentjn.github.io/ltex/settings.html - ltex = { - -- trace = { server = "verbose" }, - -- XXX: unwanted checks are still occurring, often delaying CodeActions - checkFrequency = "save", - language = "en-GB", - additionalRules = { - enablePickyRules = true, - motherTongue = "fr", - }, - -- https://community.languagetool.org/rule/list?lang=en - disabledRules = { - -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt - ["fr"] = { - "APOS_TYP", - "FRENCH_WHITESPACE", - "FR_SPELLING_RULE", - "COMMA_PARENTHESIS_WHITESPACE", - }, - }, - }, - }, - }, - lua_ls = { - -- TODO: Find or build a package for FreeBSD - mason = false, - autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), - single_file_support = true, - settings = { - Lua = { - workspace = { - checkThirdParty = false, - }, - completion = { - workspaceWord = true, - callSnippet = "Both", - }, - misc = { - parameters = { - -- "--log-level=trace", - }, - }, - hint = { - enable = true, - setType = false, - paramType = true, - paramName = "Disable", - semicolon = "Disable", - arrayIndex = "Disable", - }, - doc = { - privateName = { "^_" }, - }, - type = { - castNumberToInteger = true, - }, - diagnostics = { - disable = { "incomplete-signature-doc", "trailing-space" }, - groupSeverity = { - strong = "Warning", - strict = "Warning", - }, - groupFileStatus = { - ["ambiguity"] = "Opened", - ["await"] = "Opened", - ["codestyle"] = "None", - ["duplicate"] = "Opened", - ["global"] = "Opened", - ["luadoc"] = "Opened", - ["redefined"] = "Opened", - ["strict"] = "Opened", - ["strong"] = "Opened", - ["type-check"] = "Opened", - ["unbalanced"] = "Opened", - ["unused"] = "Opened", - }, - unusedLocalExclude = { "_*" }, - }, - format = { - enable = false, - defaultConfig = { - indent_style = "space", - indent_size = "2", - continuation_indent_size = "2", - }, - }, - }, - }, - }, - marksman = { - -- TODO: Find or build a package for FreeBSD - -- -- XXX: Fix build on FreeBSD - -- mason = vim.uv.os_uname().sysname:find("FreeBSD"), - mason = false, - autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), - }, - mutt_ls = {}, - perlnavigator = { - -- settings = { - -- perlnavigator = { - -- perlPath = "/usr/local/bin/perl", - -- }, - -- }, - }, - pyright = { - mason = false, - }, - ruff = { - mason = false, - }, - texlab = { - mason = false, - }, - -- XXX: disabled as it's to beinstalled manually - -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp - -- textlsp = {}, - yamlls = { - mason = false, - -- https://github.com/redhat-developer/yaml-language-server - settings = { - yaml = { - keyOrdering = false, - -- XXX: not working/not needed? - -- format = { enable = true }, - -- validate = true, - }, - }, - }, - }, - setup = { - -- integrate ltex_extra with lazyvim - -- https://github.com/LazyVim/LazyVim/discussions/403 - ---@diagnostic disable-next-line: unused-local - ltex = function(_, opts) - -- Disable ltex on FreeBSD - if vim.uv.os_uname().sysname:find("FreeBSD") then - return false - else - vim.api.nvim_create_autocmd("LspAttach", { - callback = function(args) - ---@diagnostic disable-next-line: no-unknown - local client = vim.lsp.get_client_by_id(args.data.client_id) - if client.name == "ltex" then - require("ltex_extra").setup({ - load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded - init_check = true, -- whether to load dictionaries on startup - path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. - log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" - }) - end - end, - }) - end - end, - }, - }, - }, + -- add various LSP to lspconfig + { + "neovim/nvim-lspconfig", + opts = { + -- add folding range to capabilities + capabilities = { + textDocument = { + foldingRange = { + dynamicRegistration = false, + lineFoldingOnly = true, + }, + }, + }, + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md + servers = { + ansiblels = { + -- TODO: Find or build a package for FreeBSD + mason = vim.uv.os_uname().sysname:find("FreeBSD"), + root_dir = function(fname) + return require("lspconfig.util").root_pattern("roles", "playbooks")(fname) + or require("lspconfig.util").root_pattern("ansible.cfg", ".ansible-lint")(fname) + or require("lspconfig.util").find_git_ancestor(fname) + end, + settings = { + ansible = { + validation = { + lint = { + arguments = "--warn-list role-name[path]", + }, + }, + }, + }, + }, + -- XXX: no native package on FreeBSD + bashls = { + mason = vim.uv.os_uname().sysname:find("FreeBSD"), + }, + -- dockerls = {}, + -- html = {}, + -- groovyls = {}, + -- groovyls = jit.os:find("BSD") and nil or {}, + -- use LanguageTool via ltex for spell checking + -- TODO: https://dev.languagetool.org/finding-errors-using-n-gram-data.html + -- TODO: have cmp do completion using words from the dictionaries + ltex = { + -- TODO: Find or build a package for FreeBSD + mason = false, + autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), + filetypes = { + "asciidoc", + "bib", + "gitcommit", + "latex", + "mail", + "markdown", + "norg", + "org", + "pandoc", + "rst", + "tex", + "text", + }, + settings = { + -- https://valentjn.github.io/ltex/settings.html + ltex = { + -- trace = { server = "verbose" }, + -- XXX: unwanted checks are still occurring, often delaying CodeActions + checkFrequency = "save", + language = "en-GB", + additionalRules = { + enablePickyRules = true, + motherTongue = "fr", + }, + -- https://community.languagetool.org/rule/list?lang=en + disabledRules = { + -- en-GB disabled rules loaded from ~/.config/nvim/spell/ltex.disabledRules.en-GB.txt + ["fr"] = { + "APOS_TYP", + "FRENCH_WHITESPACE", + "FR_SPELLING_RULE", + "COMMA_PARENTHESIS_WHITESPACE", + }, + }, + }, + }, + }, + lua_ls = { + -- TODO: Find or build a package for FreeBSD + mason = false, + autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), + single_file_support = true, + settings = { + Lua = { + workspace = { + checkThirdParty = false, + }, + completion = { + workspaceWord = true, + callSnippet = "Both", + }, + misc = { + parameters = { + -- "--log-level=trace", + }, + }, + hint = { + enable = true, + setType = false, + paramType = true, + paramName = "Disable", + semicolon = "Disable", + arrayIndex = "Disable", + }, + doc = { + privateName = { "^_" }, + }, + type = { + castNumberToInteger = true, + }, + diagnostics = { + disable = { "incomplete-signature-doc", "trailing-space" }, + groupSeverity = { + strong = "Warning", + strict = "Warning", + }, + groupFileStatus = { + ["ambiguity"] = "Opened", + ["await"] = "Opened", + ["codestyle"] = "None", + ["duplicate"] = "Opened", + ["global"] = "Opened", + ["luadoc"] = "Opened", + ["redefined"] = "Opened", + ["strict"] = "Opened", + ["strong"] = "Opened", + ["type-check"] = "Opened", + ["unbalanced"] = "Opened", + ["unused"] = "Opened", + }, + unusedLocalExclude = { "_*" }, + }, + format = { + enable = false, + defaultConfig = { + indent_style = "space", + indent_size = "2", + continuation_indent_size = "2", + }, + }, + }, + }, + }, + marksman = { + -- TODO: Find or build a package for FreeBSD + -- -- XXX: Fix build on FreeBSD + -- mason = vim.uv.os_uname().sysname:find("FreeBSD"), + mason = false, + autostart = not vim.uv.os_uname().sysname:find("FreeBSD"), + }, + mutt_ls = {}, + perlnavigator = { + -- settings = { + -- perlnavigator = { + -- perlPath = "/usr/local/bin/perl", + -- }, + -- }, + }, + pyright = { + mason = false, + }, + ruff = { + mason = false, + }, + texlab = { + mason = false, + }, + -- XXX: disabled as it's to beinstalled manually + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#textlsp + -- textlsp = {}, + yamlls = { + mason = false, + -- https://github.com/redhat-developer/yaml-language-server + settings = { + yaml = { + keyOrdering = false, + -- XXX: not working/not needed? + -- format = { enable = true }, + -- validate = true, + }, + }, + }, + }, + setup = { + -- integrate ltex_extra with lazyvim + -- https://github.com/LazyVim/LazyVim/discussions/403 + ---@diagnostic disable-next-line: unused-local + ltex = function(_, opts) + -- Disable ltex on FreeBSD + if vim.uv.os_uname().sysname:find("FreeBSD") then + return false + else + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + ---@diagnostic disable-next-line: no-unknown + local client = vim.lsp.get_client_by_id(args.data.client_id) + if client.name == "ltex" then + require("ltex_extra").setup({ + load_langs = { "en-GB", "fr" }, -- languages for witch dictionaries will be loaded + init_check = true, -- whether to load dictionaries on startup + path = vim.fn.stdpath("config") .. "/spell", -- path to store dictionaries. + log_level = "error", -- "none", "trace", "debug", "info", "warn", "error", "fatal" + }) + end + end, + }) + end + end, + }, + }, + }, - -- Replacement for formatting via null-ls/none-ls - { - -- XXX: auto format not working with prettier but only with prettierd?! - "stevearc/conform.nvim", - opts = { - formatters_by_ft = { - markdown = { "prettierd" }, - yaml = { "prettierd" }, - groovy = { "npm_groovy_lint" }, - }, - formatters = { - -- FIXME: too slow, the formatter should be installed locally - -- npm_groovy_lint = { - -- -- command = "npm-groovy-lint", - -- command = "docker", - -- -- FIXME: latest version is currently broken 2023-11-15 - -- -- https://github.com/nvuillam/npm-groovy-lint/issues/319 - -- args = { "run", "--rm", "nvuillam/npm-groovy-lint:11.1.1", "--format", "--files", "$FILENAME" }, - -- stdin = false, - -- condition = function(ctx) - -- return vim.fs.basename(ctx.filename) == "Jenkinsfile" - -- end, - -- }, - }, - }, - }, + -- Replacement for formatting via null-ls/none-ls + { + -- XXX: auto format not working with prettier but only with prettierd?! + "stevearc/conform.nvim", + opts = { + formatters_by_ft = { + markdown = { "prettierd" }, + yaml = { "prettierd" }, + groovy = { "npm_groovy_lint" }, + }, + formatters = { + -- FIXME: too slow, the formatter should be installed locally + -- npm_groovy_lint = { + -- -- command = "npm-groovy-lint", + -- command = "docker", + -- -- FIXME: latest version is currently broken 2023-11-15 + -- -- https://github.com/nvuillam/npm-groovy-lint/issues/319 + -- args = { "run", "--rm", "nvuillam/npm-groovy-lint:11.1.1", "--format", "--files", "$FILENAME" }, + -- stdin = false, + -- condition = function(ctx) + -- return vim.fs.basename(ctx.filename) == "Jenkinsfile" + -- end, + -- }, + }, + }, + }, - -- { - -- FIXME: to be dropped once incorporated in my conform.nvim and nvim-lint setup - -- "nvimtools/none-ls.nvim", - -- -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 - -- enabled = false, - -- opts = function(_, opts) - -- ---@diagnostic disable-next-line: no-unknown - -- local nls = require("null-ls") - -- ---@diagnostic disable-next-line: no-unknown - -- local utils = require("null-ls.utils") - -- -- local flake8_extra_args = {} - -- ---@diagnostic disable-next-line: no-unknown - -- local root = utils.get_root() - -- -- local flake8_conf = root .. "/.github/linters/.flake8" - -- -- Load configuration file from super-liner, if any - -- -- if vim.loop.fs_stat(flake8_conf) then - -- -- flake8_extra_args = { "--config", flake8_conf } - -- -- else - -- -- -- Align with black - -- -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 - -- -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } - -- -- end - -- -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md - -- opts.sources = { - -- -- Shell - -- nls.builtins.formatting.shfmt, - -- -- text - -- nls.builtins.diagnostics.alex, - -- nls.builtins.hover.dictionary, - -- nls.builtins.diagnostics.checkmake, - -- nls.builtins.diagnostics.write_good, - -- -- perl - -- nls.builtins.formatting.perltidy, - -- -- python - -- -- nls.builtins.formatting.isort.with({ - -- -- extra_args = { "--profile", "black" }, - -- -- }), - -- -- nls.builtins.formatting.black, - -- -- nls.builtins.diagnostics.flake8.with({ - -- -- extra_args = flake8_extra_args, - -- -- }), - -- } - -- end, - -- }, + -- { + -- FIXME: to be dropped once incorporated in my conform.nvim and nvim-lint setup + -- "nvimtools/none-ls.nvim", + -- -- https://github.com/LazyVim/LazyVim/discussions/1522#discussioncomment-7153402 + -- enabled = false, + -- opts = function(_, opts) + -- ---@diagnostic disable-next-line: no-unknown + -- local nls = require("null-ls") + -- ---@diagnostic disable-next-line: no-unknown + -- local utils = require("null-ls.utils") + -- -- local flake8_extra_args = {} + -- ---@diagnostic disable-next-line: no-unknown + -- local root = utils.get_root() + -- -- local flake8_conf = root .. "/.github/linters/.flake8" + -- -- Load configuration file from super-liner, if any + -- -- if vim.loop.fs_stat(flake8_conf) then + -- -- flake8_extra_args = { "--config", flake8_conf } + -- -- else + -- -- -- Align with black + -- -- -- https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8 + -- -- flake8_extra_args = { "--max-line-length", "88", "--extend-ignore", "E203,W503" } + -- -- end + -- -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md + -- opts.sources = { + -- -- Shell + -- nls.builtins.formatting.shfmt, + -- -- text + -- nls.builtins.diagnostics.alex, + -- nls.builtins.hover.dictionary, + -- nls.builtins.diagnostics.checkmake, + -- nls.builtins.diagnostics.write_good, + -- -- perl + -- nls.builtins.formatting.perltidy, + -- -- python + -- -- nls.builtins.formatting.isort.with({ + -- -- extra_args = { "--profile", "black" }, + -- -- }), + -- -- nls.builtins.formatting.black, + -- -- nls.builtins.diagnostics.flake8.with({ + -- -- extra_args = flake8_extra_args, + -- -- }), + -- } + -- end, + -- }, } From fe5955d92ee6142316dcde9e974ef0ba54c21341 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 10:52:55 +0200 Subject: [PATCH 2070/2080] Allow to install lesss packages on FreeBSD hosts --- home/.chezmoidata/packages.yaml | 184 +++++++++++---------- home/run_onchange_install-packages.sh.tmpl | 11 +- 2 files changed, 99 insertions(+), 96 deletions(-) diff --git a/home/.chezmoidata/packages.yaml b/home/.chezmoidata/packages.yaml index b1901015..fbb0ab23 100644 --- a/home/.chezmoidata/packages.yaml +++ b/home/.chezmoidata/packages.yaml @@ -138,97 +138,99 @@ packages: # Xcode - "497799835" freebsd: - pkgs: - - "bash" - - "bat" - - "cargo" - - "cbsd" - - "cheat" - - "chromium" - - "direnv" - - "doggo" - - "drm-kmod" - - "duf" - - "dust" - - "en-freebsd-doc" - - "eog" - - "eog-plugins" - - "extract_url" - - "fd-find" - - "firefox" - - "fish" - - "fuse" - - "fzf" - - "gdm" - - "gedit" - - "gedit-plugins" - - "git" - - "git-delta" - - "gnome-lite" - - "gnome-screenshot" - - "go-yq" - - "gohugo" - - "google-fonts" - - "gping" - - "hs-ShellCheck" - - "httpie" - - "isync" - - "jq" - - "kbfsd" - - "keybase" - - "kitty" - - "lagrange" - - "lazygit" - - "libu2f-host" - - "lsd" - - "msmtp" - - "mutt" - - "neomutt" - - "neovim" - - "nerd-fonts" - - "nextcloudclient" - - "nitrokey-app" - - "notmuch" - - "nsxiv" - - "picard" - - "portlint" - - "portshaker" - - "poudriere" - - "procs" - - "py311-black" - - "py311-glances" - - "py311-khard" - - "py311-pynitrokey" - - "py311-pyright" - - "python" - - "qFlipper" - - "ripgrep" - - "ripgrep-all" - - "rubygem-mdl" - - "ruff" - - "shfmt" - - "signal-desktop" - - "starship" - - "stylua" - - "tealdeer" - - "telegram-desktop" - - "terraform" - - "texlab" - - "tflint" - - "tigervnc-viewer" - - "tmux" - - "tree" - - "u2f-devd" - - "urwfonts" - - "vim" - - "vivid" - - "vlc" - - "w3m" - - "xf86-video-amdgpu" - - "xorg" - - "xsel-conrad" - - "yazi" - - "zoxide" + desktop: + pkgs: + - "chromium" + - "drm-kmod" + - "eog" + - "eog-plugins" + - "firefox" + - "fuse" + - "gdm" + - "gedit" + - "gedit-plugins" + - "gnome-lite" + - "gnome-screenshot" + - "google-fonts" + - "gping" + - "kbfsd" + - "keybase" + - "kitty" + - "lagrange" + - "libu2f-host" + - "nerd-fonts" + - "nextcloudclient" + - "nitrokey-app" + - "nsxiv" + - "picard" + - "py311-khard" + - "py311-pynitrokey" + - "qFlipper" + - "signal-desktop" + - "telegram-desktop" + - "tigervnc-viewer" + - "u2f-devd" + - "urwfonts" + - "vlc" + - "xf86-video-amdgpu" + - "xorg" + - "xsel-conrad" + minimal: + pkgs: + - "bash" + - "bat" + - "cargo" + - "cbsd" + - "cheat" + - "direnv" + - "doggo" + - "duf" + - "dust" + - "en-freebsd-doc" + - "extract_url" + - "fd-find" + - "fish" + - "fzf" + - "git" + - "git-delta" + - "gohugo" + - "go-yq" + - "gping" + - "hs-ShellCheck" + - "httpie" + - "isync" + - "jq" + - "lazygit" + - "lsd" + - "msmtp" + - "mutt" + - "neovim" + - "notmuch" + - "portlint" + - "portshaker" + - "poudriere" + - "procs" + - "py311-black" + - "py311-glances" + - "py311-pyright" + - "python" + - "ripgrep" + - "ripgrep-all" + - "rubygem-mdl" + - "ruff" + - "shfmt" + - "starship" + - "stylua" + - "tealdeer" + - "terraform" + - "texlab" + - "tflint" + - "tmux" + - "tree" + - "vim" + - "vivid" + - "yazi" + - "zoxide" linux: pkgs: - "kitty" diff --git a/home/run_onchange_install-packages.sh.tmpl b/home/run_onchange_install-packages.sh.tmpl index 8951833d..d7c416dc 100644 --- a/home/run_onchange_install-packages.sh.tmpl +++ b/home/run_onchange_install-packages.sh.tmpl @@ -1,12 +1,14 @@ -{{ if eq .chezmoi.os "freebsd" -}} #!/bin/sh -{{ range .packages.freebsd.pkgs -}} +{{ if eq .chezmoi.os "freebsd" -}} +{{ range .packages.freebsd.minimal.pkgs -}} +doas pkg install -y {{ . | quote }} +{{ end -}} +{{- if eq .chezmoi.hostname "brutal" }} +{{ range .packages.freebsd.desktop.pkgs -}} doas pkg install -y {{ . | quote }} {{ end -}} {{ else if eq .chezmoi.os "darwin" -}} -#!/bin/bash - brew bundle --no-lock --file=/dev/stdin <<EOF {{ range .packages.darwin.brews -}} brew {{ . | quote }} @@ -19,7 +21,6 @@ EOF mas install {{ . | quote }} {{ end -}} {{ else if eq .chezmoi.os "linux" -}} -#!/bin/sh {{ range .packages.linux.pkgs -}} sudo apt --no-install-recommends install -y {{ . | quote }} {{ end -}} From 5994ba7146e9bd8141f26d0e71b5155dd54dea19 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 10:54:36 +0200 Subject: [PATCH 2071/2080] Fix syntax on un_onchange_install-packages.sh --- home/run_onchange_install-packages.sh.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/home/run_onchange_install-packages.sh.tmpl b/home/run_onchange_install-packages.sh.tmpl index d7c416dc..47c4b24b 100644 --- a/home/run_onchange_install-packages.sh.tmpl +++ b/home/run_onchange_install-packages.sh.tmpl @@ -8,6 +8,7 @@ doas pkg install -y {{ . | quote }} {{ range .packages.freebsd.desktop.pkgs -}} doas pkg install -y {{ . | quote }} {{ end -}} +{{ end -}} {{ else if eq .chezmoi.os "darwin" -}} brew bundle --no-lock --file=/dev/stdin <<EOF {{ range .packages.darwin.brews -}} From fb6d187277d524e5e66fbe9a29e166b882db93aa Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 10:59:22 +0200 Subject: [PATCH 2072/2080] Import mega-linter action. --- .github/workflows/mega-linter.yml | 122 ++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 .github/workflows/mega-linter.yml diff --git a/.github/workflows/mega-linter.yml b/.github/workflows/mega-linter.yml new file mode 100644 index 00000000..f7e26dfc --- /dev/null +++ b/.github/workflows/mega-linter.yml @@ -0,0 +1,122 @@ +--- +# MegaLinter GitHub Action configuration file +# More info at https://megalinter.io +name: MegaLinter + +on: + # Trigger mega-linter at every push. Action will also be visible from Pull Requests to main + push: + pull_request: + branches: [main] + +permissions: read-all + +env: + # Apply linter fixes configuration + # When active, APPLY_FIXES must also be defined as environment variable + # (in github/workflows/mega-linter.yml or other CI tool) + APPLY_FIXES: all + APPLY_FIXES_EVENT: pull_request + # If APPLY_FIXES is used, defines if the fixes are directly committed (commit) or posted in a PR (pull_request) + APPLY_FIXES_MODE: pull_request + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }} + cancel-in-progress: true + +jobs: + megalinter: + name: MegaLinter + runs-on: ubuntu-latest + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push, comment issues & post new PR + # Remove the ones you do not need + contents: read + issues: write + pull-requests: write + steps: + # Git Checkout + - name: Checkout Code + uses: actions/checkout@v4 + with: + token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} + # If you use VALIDATE_ALL_CODEBASE = true, you can remove this line to improve performances + fetch-depth: 0 + + # MegaLinter + - name: MegaLinter + id: ml + # You can override MegaLinter flavor used to have faster performances + # More info at https://megalinter.io/flavors/ + uses: oxsecurity/megalinter/flavors/documentation@v8 + env: + # All available variables are described in documentation + # https://megalinter.io/configuration/ + # Validates all source when push on main, else just the git diff with main. + # Override with true if you always want to lint all sources + VALIDATE_ALL_CODEBASE: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # ADD YOUR CUSTOM ENV VARIABLES HERE OR DEFINE THEM IN A FILE .mega-linter.yml AT THE ROOT OF YOUR REPOSITORY + DISABLE: COPYPASTE + DISABLE_LINTERS: REPOSITORY_GRYPE,REPOSITORY_TRIVY,REPOSITORY_TRUFFLEHOG,SPELL_CSPELL + # Scan only changes in PR, otherwise scan everything + REPOSITORY_GITLEAKS_PR_COMMITS_SCAN: ${{ github.event_name == 'pull_request' }} + + # Upload MegaLinter artifacts + - name: Archive production artifacts + if: success() || failure() + uses: actions/upload-artifact@v4 + with: + name: MegaLinter reports + path: | + megalinter-reports + mega-linter.log + + # Create pull request if applicable (for now works only on PR from same repository, not from forks) + - name: Create Pull Request with applied fixes + id: cpr + if: steps.ml.outputs.has_updated_sources == 1 && + (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == + github.event_name) && env.APPLY_FIXES_MODE == 'pull_request' && + (github.event_name == 'push' || + github.event.pull_request.head.repo.full_name == github.repository) && + !contains(github.event.head_commit.message, 'skip fix') + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} + commit-message: "[MegaLinter] Apply linters automatic fixes" + title: "[MegaLinter] Apply linters automatic fixes" + labels: bot + - name: Create PR output + if: steps.ml.outputs.has_updated_sources == 1 && + (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == + github.event_name) && env.APPLY_FIXES_MODE == 'pull_request' && + (github.event_name == 'push' || + github.event.pull_request.head.repo.full_name == github.repository) && + !contains(github.event.head_commit.message, 'skip fix') + run: | + echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" + echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" + + # Push new commit if applicable (for now works only on PR from same repository, not from forks) + - name: Prepare commit + if: steps.ml.outputs.has_updated_sources == 1 && + (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == + github.event_name) && env.APPLY_FIXES_MODE == 'commit' && github.ref + != 'refs/heads/main' && (github.event_name == 'push' || + github.event.pull_request.head.repo.full_name == github.repository) && + !contains(github.event.head_commit.message, 'skip fix') + run: sudo chown -Rc $UID .git/ + - name: Commit and push applied linter fixes + if: steps.ml.outputs.has_updated_sources == 1 && + (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == + github.event_name) && env.APPLY_FIXES_MODE == 'commit' && github.ref + != 'refs/heads/main' && (github.event_name == 'push' || + github.event.pull_request.head.repo.full_name == github.repository) && + !contains(github.event.head_commit.message, 'skip fix') + uses: stefanzweifel/git-auto-commit-action@v4 + with: + branch: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref }} + commit_message: "[MegaLinter] Apply linters fixes" + commit_user_name: gwarf + commit_user_email: baptiste@bapt.name From 26de0626e7c79e23c82649a633645ff15fb358ef Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 11:45:31 +0200 Subject: [PATCH 2073/2080] Drop deprecated files --- deprecated/.p10k.zsh##os.Darwin | 1664 ----------------------------- deprecated/.p10k.zsh##os.Linux | 1753 ------------------------------- 2 files changed, 3417 deletions(-) delete mode 100644 deprecated/.p10k.zsh##os.Darwin delete mode 100644 deprecated/.p10k.zsh##os.Linux diff --git a/deprecated/.p10k.zsh##os.Darwin b/deprecated/.p10k.zsh##os.Darwin deleted file mode 100644 index 79d49092..00000000 --- a/deprecated/.p10k.zsh##os.Darwin +++ /dev/null @@ -1,1664 +0,0 @@ -# Generated by Powerlevel10k configuration wizard on 2022-11-09 at 12:17 CET. -# Based on romkatv/powerlevel10k/config/p10k-classic.zsh. -# Wizard options: nerdfont-complete + powerline, small icons, classic, unicode, light, -# 24h time, angled separators, slanted heads, slanted tails, 2 lines, dotted, no frame, -# sparse, many icons, fluent, transient_prompt, instant_prompt=quiet. -# Type `p10k configure` to generate another config. -# -# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate -# your own config based on it. -# -# Tip: Looking for a nice color? Here's a one-liner to print colormap. -# -# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done - -# Temporarily change options. -'builtin' 'local' '-a' 'p10k_config_opts' -[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') -[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') -[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') -'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' - -() { - emulate -L zsh -o extended_glob - - # Unset all configuration options. This allows you to apply configuration changes without - # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. - unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' - - # Zsh >= 5.1 is required. - [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return - - # The list of segments shown on the left. Fill it with the most important segments. - typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - os_icon # os identifier - dir # current directory - vcs # git status - # =========================[ Line #2 ]========================= - newline # \n - prompt_char # prompt symbol - ) - - # The list of segments shown on the right. Fill it with less important segments. - # Right prompt on the last prompt line (where you are typing your commands) gets - # automatically hidden when the input line reaches it. Right prompt above the - # last prompt line gets hidden if it would overlap with left prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - status # exit code of the last command - command_execution_time # duration of the last command - background_jobs # presence of background jobs - direnv # direnv status (https://direnv.net/) - asdf # asdf version manager (https://github.com/asdf-vm/asdf) - virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) - anaconda # conda environment (https://conda.io/) - pyenv # python environment (https://github.com/pyenv/pyenv) - goenv # go environment (https://github.com/syndbg/goenv) - nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) - nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) - nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) - # node_version # node.js version - # go_version # go version (https://golang.org) - # rust_version # rustc version (https://www.rust-lang.org) - # dotnet_version # .NET version (https://dotnet.microsoft.com) - # php_version # php version (https://www.php.net/) - # laravel_version # laravel php framework version (https://laravel.com/) - # java_version # java version (https://www.java.com/) - # package # name@version from package.json (https://docs.npmjs.com/files/package.json) - rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) - rvm # ruby version from rvm (https://rvm.io) - fvm # flutter version management (https://github.com/leoafarias/fvm) - luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) - jenv # java version from jenv (https://github.com/jenv/jenv) - plenv # perl version from plenv (https://github.com/tokuhirom/plenv) - perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew) - phpenv # php version from phpenv (https://github.com/phpenv/phpenv) - scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) - haskell_stack # haskell version from stack (https://haskellstack.org/) - kubecontext # current kubernetes context (https://kubernetes.io/) - terraform # terraform workspace (https://www.terraform.io) - # terraform_version # terraform version (https://www.terraform.io) - aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) - aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) - azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) - gcloud # google cloud cli account and project (https://cloud.google.com/) - google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) - toolbox # toolbox name (https://github.com/containers/toolbox) - context # user@hostname - nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) - ranger # ranger shell (https://github.com/ranger/ranger) - nnn # nnn shell (https://github.com/jarun/nnn) - xplr # xplr shell (https://github.com/sayanarijit/xplr) - vim_shell # vim shell indicator (:sh) - midnight_commander # midnight commander shell (https://midnight-commander.org/) - nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) - # vi_mode # vi mode (you don't need this if you've enabled prompt_char) - # vpn_ip # virtual private network indicator - # load # CPU load - # disk_usage # disk usage - # ram # free RAM - # swap # used swap - todo # todo items (https://github.com/todotxt/todo.txt-cli) - timewarrior # timewarrior tracking status (https://timewarrior.net/) - taskwarrior # taskwarrior task count (https://taskwarrior.org/) - # cpu_arch # CPU architecture - time # current time - # =========================[ Line #2 ]========================= - newline # \n - # ip # ip address and bandwidth usage for a specified network interface - # public_ip # public IP address - # proxy # system-wide http/https/ftp proxy - # battery # internal battery - # wifi # wifi speed - # example # example user-defined segment (see prompt_example function below) - ) - - # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. - typeset -g POWERLEVEL9K_MODE=nerdfont-complete - # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid - # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. - typeset -g POWERLEVEL9K_ICON_PADDING=none - - # When set to true, icons appear before content on both sides of the prompt. When set - # to false, icons go after content. If empty or not set, icons go before content in the left - # prompt and after content in the right prompt. - # - # You can also override it for a specific segment: - # - # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false - # - # Or for a specific segment in specific state: - # - # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false - typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= - - # Add an empty line before each prompt. - typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true - - # Connect left prompt lines with these symbols. You'll probably want to use the same color - # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX= - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX= - # Connect right prompt lines with these symbols. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX= - - # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or - # '─'. The last two make it easier to see the alignment between left and right prompt and to - # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false - # for more compact prompt if using this option. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='·' - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= - if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then - # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE - # ornaments defined above. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242 - # Start filler from the edge of the screen if there are no left segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' - # End filler on the edge of the screen if there are no right segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' - fi - - # Default background color. - typeset -g POWERLEVEL9K_BACKGROUND=238 - - # Separator between same-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%246F\uE0B1' - # Separator between same-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%246F\uE0B3' - # Separator between different-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' - # Separator between different-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' - # The right end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0BC' - # The left end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0BA' - # The left end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0BA' - # The right end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0BC' - # Left prompt terminator for lines without any segments. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - - #################################[ os_icon: os identifier ]################################## - # OS identifier color. - typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=255 - # Custom icon. - # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' - - ################################[ prompt_char: prompt symbol ]################################ - # Transparent background. - typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= - # Green prompt symbol if the last command succeeded. - typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 - # Red prompt symbol if the last command failed. - typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 - # Default prompt symbol. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' - # Prompt symbol in command vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' - # Prompt symbol in visual vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' - # Prompt symbol in overwrite vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' - typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true - # No line terminator if prompt_char is the last segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - # No line introducer if prompt_char is the first segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= - # No surrounding whitespace. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= - - ##################################[ dir: current directory ]################################## - # Default current directory color. - typeset -g POWERLEVEL9K_DIR_FOREGROUND=31 - # If directory is too long, shorten some of its segments to the shortest possible unique - # prefix. The shortened directory can be tab-completed to the original. - typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique - # Replace removed segment suffixes with this symbol. - typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= - # Color of the shortened directory segments. - typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103 - # Color of the anchor directory segments. Anchor segments are never shortened. The first - # segment is always an anchor. - typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=39 - # Display anchor directory segments in bold. - typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true - # Don't shorten directories that contain any of these files. They are anchors. - local anchor_files=( - .bzr - .citc - .git - .hg - .node-version - .python-version - .go-version - .ruby-version - .lua-version - .java-version - .perl-version - .php-version - .tool-version - .shorten_folder_marker - .svn - .terraform - CVS - Cargo.toml - composer.json - go.mod - package.json - stack.yaml - ) - typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" - # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains - # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is - # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) - # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers - # and other directories don't. - # - # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer. - # This moves the truncation point to the right (positive offset) or to the left (negative offset) - # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" - # respectively. - typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false - # Don't shorten this many last directory segments. They are anchors. - typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 - # Shorten directory if it's longer than this even if there is space for it. The value can - # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, - # directory will be shortened only when prompt doesn't fit or when other parameters demand it - # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). - # If set to `0`, directory will always be shortened to its minimum length. - typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this - # many columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least - # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 - # If set to true, embed a hyperlink into the directory. Useful for quickly - # opening a directory in the file manager simply by clicking the link. - # Can also be handy when the directory is shortened, as it allows you to see - # the full directory that was used in previous commands. - typeset -g POWERLEVEL9K_DIR_HYPERLINK=false - - # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON - # and POWERLEVEL9K_DIR_CLASSES below. - typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 - - # The default icon shown next to non-writable and non-existent directories when - # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. - # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' - - # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different - # directories. It must be an array with 3 * N elements. Each triplet consists of: - # - # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with - # extended_glob option enabled. - # 2. Directory class for the purpose of styling. - # 3. An empty string. - # - # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. - # - # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories - # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=( - # '~/work(|/*)' WORK '' - # '~(|/*)' HOME '' - # '*' DEFAULT '') - # - # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one - # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or - # WORK_NON_EXISTENT. - # - # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an - # option to define custom colors and icons for different directory classes. - # - # # Styling for WORK. - # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39 - # - # # Styling for WORK_NOT_WRITABLE. - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 - # - # # Styling for WORK_NON_EXISTENT. - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39 - # - # If a styling parameter isn't explicitly defined for some class, it falls back to the classless - # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls - # back to POWERLEVEL9K_DIR_FOREGROUND. - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=() - - # Custom prefix. - # typeset -g POWERLEVEL9K_DIR_PREFIX='%248Fin ' - - #####################################[ vcs: git status ]###################################### - # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon. - typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' - - # Untracked files icon. It's really a question mark, your font isn't broken. - # Change the value of this parameter to show a different icon. - typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' - - # Formatter for Git status. - # - # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42. - # - # You can edit the function to customize how Git status looks. - # - # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: - # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. - function my_git_formatter() { - emulate -L zsh - - if [[ -n $P9K_CONTENT ]]; then - # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from - # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. - typeset -g my_git_format=$P9K_CONTENT - return - fi - - if (( $1 )); then - # Styling for up-to-date Git status. - local meta='%248F' # grey foreground - local clean='%76F' # green foreground - local modified='%178F' # yellow foreground - local untracked='%39F' # blue foreground - local conflicted='%196F' # red foreground - else - # Styling for incomplete and stale Git status. - local meta='%244F' # grey foreground - local clean='%244F' # grey foreground - local modified='%244F' # grey foreground - local untracked='%244F' # grey foreground - local conflicted='%244F' # grey foreground - fi - - local res - - if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then - local branch=${(V)VCS_STATUS_LOCAL_BRANCH} - # If local branch name is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show local branch name in full without truncation, delete the next line. - (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line - res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}" - fi - - if [[ -n $VCS_STATUS_TAG - # Show tag only if not on a branch. - # Tip: To always show tag, delete the next line. - && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line - ]]; then - local tag=${(V)VCS_STATUS_TAG} - # If tag name is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show tag name in full without truncation, delete the next line. - (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line - res+="${meta}#${clean}${tag//\%/%%}" - fi - - # Display the current Git commit if there is no branch and no tag. - # Tip: To always display the current Git commit, delete the next line. - [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line - res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" - - # Show tracking branch name if it differs from local branch. - if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then - res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" - fi - - # Display "wip" if the latest commit's summary contains "wip" or "WIP". - if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then - res+=" ${modified}wip" - fi - - # ⇣42 if behind the remote. - (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" - # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. - (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " - (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" - # ⇠42 if behind the push remote. - (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" - (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " - # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. - (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" - # *42 if have stashes. - (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" - # 'merge' if the repo is in an unusual state. - [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" - # ~42 if have merge conflicts. - (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" - # +42 if have staged changes. - (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" - # !42 if have unstaged changes. - (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" - # ?42 if have untracked files. It's really a question mark, your font isn't broken. - # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. - # Remove the next line if you don't want to see untracked files at all. - (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" - # "─" if the number of unstaged files is unknown. This can happen due to - # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower - # than the number of files in the Git index, or due to bash.showDirtyState being set to false - # in the repository config. The number of staged and untracked files may also be unknown - # in this case. - (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" - - typeset -g my_git_format=$res - } - functions -M my_git_formatter 2>/dev/null - - # Don't count the number of unstaged, untracked and conflicted files in Git repositories with - # more than this many files in the index. Negative value means infinity. - # - # If you are working in Git repositories with tens of millions of files and seeing performance - # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output - # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's - # config: `git config bash.showDirtyState false`. - typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 - - # Don't show Git status in prompt for repositories whose workdir matches this pattern. - # For example, if set to '~', the Git repository at $HOME/.git will be ignored. - # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. - typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' - - # Disable the default Git status formatting. - typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true - # Install our own Git status formatter. - typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}' - typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}' - # Enable counters for staged, unstaged, etc. - typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 - - # Icon color. - typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76 - typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244 - # Custom icon. - # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_VCS_PREFIX='%248Fon ' - - # Show status of repositories of these types. You can add svn and/or hg if you are - # using them. If you do, your prompt may become slow even when your current directory - # isn't in an svn or hg reposotiry. - typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) - - # These settings are used for repositories other than Git or when gitstatusd fails and - # Powerlevel10k has to fall back to using vcs_info. - typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76 - typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76 - typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178 - - ##########################[ status: exit code of the last command ]########################### - # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and - # style them independently from the regular OK and ERROR state. - typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true - - # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as - # it will signify success by turning green. - typeset -g POWERLEVEL9K_STATUS_OK=false - typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70 - typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' - - # Status when some part of a pipe command fails but the overall exit status is zero. It may look - # like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70 - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' - - # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as - # it will signify error by turning red. - typeset -g POWERLEVEL9K_STATUS_ERROR=false - typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 - typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' - - # Status when the last command was terminated by a signal. - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160 - # Use terse signal names: "INT" instead of "SIGINT(2)". - typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' - - # Status when some part of a pipe command fails and the overall exit status is also non-zero. - # It may look like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160 - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' - - ###################[ command_execution_time: duration of the last command ]################### - # Show duration of the last command if takes at least this many seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 - # Show this many fractional digits. Zero means round to seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 - # Execution time color. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=248 - # Duration format: 1d 2h 3m 4s. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' - # Custom icon. - # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%248Ftook ' - - #######################[ background_jobs: presence of background jobs ]####################### - # Don't show the number of background jobs. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false - # Background jobs color. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37 - # Custom icon. - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ direnv: direnv status (https://direnv.net/) ]######################## - # Direnv color. - typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### - # Default asdf color. Only used to display tools for which there is no color override (see below). - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND. - typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66 - - # There are four parameters that can be used to hide asdf tools. Each parameter describes - # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at - # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to - # hide a tool, it gets shown. - # - # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and - # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: - # - # asdf local python 3.8.1 - # asdf global python 3.8.1 - # - # After running both commands the current python version is 3.8.1 and its source is "local" as - # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, - # it'll hide python version in this case because 3.8.1 is the same as the global version. - # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't - # contain "local". - - # Hide tool versions that don't come from one of these sources. - # - # Available sources: - # - # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" - # - local `asdf current` says "set by /some/not/home/directory/file" - # - global `asdf current` says "set by /home/username/file" - # - # Note: If this parameter is set to (shell local global), it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. - typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) - - # If set to false, hide tool versions that are the same as global. - # - # Note: The name of this parameter doesn't reflect its meaning at all. - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. - typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false - - # If set to false, hide tool versions that are equal to "system". - # - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. - typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true - - # If set to non-empty value, hide tools unless there is a file matching the specified file pattern - # in the current directory, or its parent directory, or its grandparent directory, and so on. - # - # Note: If this parameter is set to empty value, it won't hide tools. - # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. - # - # Example: Hide nodejs version when there is no package.json and no *.js files in the current - # directory, in `..`, in `../..` and so on. - # - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' - typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= - - # Ruby version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168 - # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Python version from asdf. - typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Go version from asdf. - typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Node.js version from asdf. - typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70 - # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Rust version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' - - # .NET Core version from asdf. - typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134 - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Flutter version from asdf. - typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38 - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Lua version from asdf. - typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32 - # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Java version from asdf. - typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32 - # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Perl version from asdf. - typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67 - # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Erlang version from asdf. - typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125 - # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Elixir version from asdf. - typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129 - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Postgres version from asdf. - typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31 - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' - - # PHP version from asdf. - typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99 - # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Haskell version from asdf. - typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172 - # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Julia version from asdf. - typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70 - # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' - - ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### - # NordVPN connection indicator color. - typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39 - # Hide NordVPN connection indicator when not connected. - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= - # Custom icon. - # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## - # Ranger shell color. - typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### - # Nnn shell color. - typeset -g POWERLEVEL9K_NNN_FOREGROUND=72 - # Custom icon. - # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## - # xplr shell color. - typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72 - # Custom icon. - # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########################[ vim_shell: vim shell indicator (:sh) ]########################### - # Vim shell indicator color. - typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34 - # Custom icon. - # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### - # Midnight Commander shell color. - typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## - # Nix shell color. - typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74 - - # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. - # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ disk_usage: disk usage ]################################## - # Colors for different levels of disk usage. - typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35 - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160 - # Thresholds for different levels of disk usage (percentage points). - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 - # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. - typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false - # Custom icon. - # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### - # Text and color for normal (a.k.a. command) vi mode. - typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL - typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=106 - # Text and color for visual vi mode. - typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL - typeset -g POWERLEVEL9K_VI_MODE_VISUAL_FOREGROUND=68 - # Text and color for overtype (a.k.a. overwrite and replace) vi mode. - typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE - typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_FOREGROUND=172 - # Text and color for insert vi mode. - typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= - typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66 - - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ ram: free RAM ]####################################### - # RAM color. - typeset -g POWERLEVEL9K_RAM_FOREGROUND=66 - # Custom icon. - # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################################[ swap: used swap ]###################################### - # Swap color. - typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96 - # Custom icon. - # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ load: CPU load ]###################################### - # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. - typeset -g POWERLEVEL9K_LOAD_WHICH=5 - # Load color when load is under 50%. - typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66 - # Load color when load is between 50% and 70%. - typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178 - # Load color when load is over 70%. - typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166 - # Custom icon. - # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ - # Todo color. - typeset -g POWERLEVEL9K_TODO_FOREGROUND=110 - # Hide todo when the total number of tasks is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true - # Hide todo when the number of tasks after filtering is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false - - # Todo format. The following parameters are available within the expansion. - # - # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. - # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. - # - # These variables correspond to the last line of the output of `todo.sh -p ls`: - # - # TODO: 24 of 42 tasks shown - # - # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. - # - # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ - # Timewarrior color. - typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110 - # If the tracked task is longer than 24 characters, truncate and append "…". - # Tip: To always display tasks without truncation, delete the following parameter. - # Tip: To hide task names and display just the icon when time tracking is enabled, set the - # value of the following parameter to "". - typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' - - # Custom icon. - # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## - # Taskwarrior color. - typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74 - - # Taskwarrior segment format. The following parameters are available within the expansion. - # - # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. - # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. - # - # Zero values are represented as empty parameters. - # - # The default format: - # - # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' - # - # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################################[ cpu_arch: CPU architecture ]################################ - # CPU architecture color. - typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172 - - # Hide the segment when on a specific CPU architecture. - # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION= - # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ context: user@hostname ]################################## - # Context color when running with privileges. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178 - # Context color in SSH without privileges. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180 - # Default context color (no privileges, no SSH). - typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180 - - # Context format when running with privileges: bold user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m' - # Context format when in SSH without privileges: user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' - # Default context format (no privileges, no SSH): user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' - - # Don't show context unless running with privileges or in SSH. - # Tip: Remove the next line to always show context. - typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%248Fwith ' - - ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### - # Python virtual environment color. - typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 - # Don't show Python version next to the virtual environment name. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false - # If set to "false", won't show virtualenv if pyenv is already shown. - # If set to "if-different", won't show virtualenv if it's the same as pyenv. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false - # Separate environment name from Python version only with a space. - typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ anaconda: conda environment (https://conda.io/) ]###################### - # Anaconda environment color. - typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37 - - # Anaconda segment format. The following parameters are available within the expansion. - # - # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. - # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. - # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). - # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). - # - # CONDA_PROMPT_MODIFIER can be configured with the following command: - # - # conda config --set env_prompt '({default_env}) ' - # - # The last argument is a Python format string that can use the following variables: - # - # - prefix The same as CONDA_PREFIX. - # - default_env The same as CONDA_DEFAULT_ENV. - # - name The last segment of CONDA_PREFIX. - # - stacked_env Comma-separated list of names in the environment stack. The first element is - # always the same as default_env. - # - # Note: '({default_env}) ' is the default value of env_prompt. - # - # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER - # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former - # is empty. - typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' - - # Custom icon. - # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ - # Pyenv color. - typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37 - # Hide python version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) - # If set to false, hide python version if it's the same as global: - # $(pyenv version-name) == $(pyenv global). - typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide python version if it's equal to "system". - typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true - - # Pyenv segment format. The following parameters are available within the expansion. - # - # - P9K_CONTENT Current pyenv environment (pyenv version-name). - # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). - # - # The default format has the following logic: - # - # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or - # starts with "$P9K_PYENV_PYTHON_VERSION/". - # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION". - typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}' - - # Custom icon. - # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ - # Goenv color. - typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37 - # Hide go version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) - # If set to false, hide go version if it's the same as global: - # $(goenv version-name) == $(goenv global). - typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide go version if it's equal to "system". - typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## - # Nodenv color. - typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70 - # Hide node version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) - # If set to false, hide node version if it's the same as global: - # $(nodenv version-name) == $(nodenv global). - typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide node version if it's equal to "system". - typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### - # Nvm color. - typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 - # Custom icon. - # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ - # Nodeenv color. - typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70 - # Don't show Node version next to the environment name. - typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false - # Separate environment name from Node version only with a space. - typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############################[ node_version: node.js version ]############################### - # Node version color. - typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70 - # Show node version only when in a directory tree containing package.json. - typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ go_version: go version (https://golang.org) ]######################## - # Go version color. - typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37 - # Show go version only when in a go project subdirectory. - typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## - # Rust version color. - typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37 - # Show rust version only when in a rust project subdirectory. - typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ - # .NET version color. - typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134 - # Show .NET version only when in a .NET project subdirectory. - typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ php_version: php version (https://www.php.net/) ]###################### - # PHP version color. - typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99 - # Show PHP version only when in a PHP project subdirectory. - typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### - # Laravel version color. - typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161 - # Custom icon. - # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ####################[ java_version: java version (https://www.java.com/) ]#################### - # Java version color. - typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32 - # Show java version only when in a java project subdirectory. - typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true - # Show brief version. - typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false - # Custom icon. - # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### - # Package color. - typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117 - # Package format. The following parameters are available within the expansion. - # - # - P9K_PACKAGE_NAME The value of `name` field in package.json. - # - P9K_PACKAGE_VERSION The value of `version` field in package.json. - # - # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' - # Custom icon. - # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## - # Rbenv color. - typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168 - # Hide ruby version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) - # If set to false, hide ruby version if it's the same as global: - # $(rbenv version-name) == $(rbenv global). - typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide ruby version if it's equal to "system". - typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## - # Rvm color. - typeset -g POWERLEVEL9K_RVM_FOREGROUND=168 - # Don't show @gemset at the end. - typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false - # Don't show ruby- at the front. - typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false - # Custom icon. - # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ - # Fvm color. - typeset -g POWERLEVEL9K_FVM_FOREGROUND=38 - # Custom icon. - # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### - # Lua color. - typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32 - # Hide lua version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) - # If set to false, hide lua version if it's the same as global: - # $(luaenv version-name) == $(luaenv global). - typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide lua version if it's equal to "system". - typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ - # Java color. - typeset -g POWERLEVEL9K_JENV_FOREGROUND=32 - # Hide java version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) - # If set to false, hide java version if it's the same as global: - # $(jenv version-name) == $(jenv global). - typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide java version if it's equal to "system". - typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ - # Perl color. - typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67 - # Hide perl version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) - # If set to false, hide perl version if it's the same as global: - # $(plenv version-name) == $(plenv global). - typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide perl version if it's equal to "system". - typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############ - # Perlbrew color. - typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67 - # Show perlbrew version only when in a perl project subdirectory. - typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true - # Don't show "perl-" at the front. - typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false - # Custom icon. - # typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ - # PHP color. - typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99 - # Hide php version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) - # If set to false, hide php version if it's the same as global: - # $(phpenv version-name) == $(phpenv global). - typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide php version if it's equal to "system". - typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### - # Scala color. - typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160 - # Hide scala version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) - # If set to false, hide scala version if it's the same as global: - # $(scalaenv version-name) == $(scalaenv global). - typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide scala version if it's equal to "system". - typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### - # Haskell color. - typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 - # Hide haskell version if it doesn't come from one of these sources. - # - # shell: version is set by STACK_YAML - # local: version is set by stack.yaml up the directory tree - # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) - typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) - # If set to false, hide haskell version if it's the same as in the implicit global project. - typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true - # Custom icon. - # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ terraform: terraform workspace (https://www.terraform.io) ]################# - # Don't show terraform workspace if it's literally "default". - typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false - # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current terraform workspace gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' OTHER) - # - # If your current terraform workspace is "project_test", its class is TEST because "project_test" - # doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' OTHER) - typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38 - # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ terraform_version: terraform version (https://www.terraform.io) ]############## - # Terraform version color. - typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38 - # Custom icon. - # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# - # Show kubecontext only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show kubecontext. - typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold' - - # Kubernetes context classes for the purpose of using different colors, icons and expansions with - # different contexts. - # - # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current kubernetes context gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current kubernetes context is "deathray-testing/default", its class is TEST - # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 - # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext - # segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # Within the expansion the following parameters are always available: - # - # - P9K_CONTENT The content that would've been displayed if there was no content - # expansion defined. - # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE - # in the output of `kubectl config get-contexts`. If there is no - # namespace, the parameter is set to "default". - # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the - # output of `kubectl config get-contexts`. - # - # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), - # the following extra parameters are available: - # - # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. - # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. - # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. - # - # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, - # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=gke - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - # - # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=eks - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= - # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' - # Append the current context's namespace if it's not "default". - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' - - # Custom prefix. - typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%248Fat ' - - #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# - # Show aws only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' - - # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current AWS profile gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current AWS profile is "company_test", its class is TEST - # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208 - # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # AWS segment format. The following parameters are available within the expansion. - # - # - P9K_AWS_PROFILE The name of the current AWS profile. - # - P9K_AWS_REGION The region associated with the current AWS profile. - typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}' - - #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# - # AWS Elastic Beanstalk environment color. - typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 - # Custom icon. - # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## - # Show azure only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' - # Azure account name color. - typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32 - # Custom icon. - # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### - # Show gcloud only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show gcloud. - typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil' - # Google cloud color. - typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32 - - # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or - # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative - # enough. You can use the following parameters in the expansions. Each of them corresponds to the - # output of `gcloud` tool. - # - # Parameter | Source - # -------------------------|-------------------------------------------------------------------- - # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' - # P9K_GCLOUD_ACCOUNT | gcloud config get-value account - # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project - # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. - # - # Obtaining project name requires sending a request to Google servers. This can take a long time - # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud - # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets - # set and gcloud prompt segment transitions to state COMPLETE. - # - # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL - # and COMPLETE. You can also hide gcloud in state PARTIAL by setting - # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and - # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. - typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' - typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' - - # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name - # this often. Negative value disables periodic polling. In this mode project name is retrieved - # only when the current configuration, account or project id changes. - typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 - - # Custom icon. - # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# - # Show google_app_cred only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' - - # Google application credentials classes for the purpose of using different colors, icons and - # expansions with different credentials. - # - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first - # element in each pair defines a pattern against which the current kubernetes context gets - # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion - # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION - # parameters, you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. - # The first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD - # '*:*test*:*' TEST - # '*' DEFAULT) - # - # If your current Google application credentials is "service_account deathray-testing x@y.com", - # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD # These values are examples that are unlikely - # '*:*test*:*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by - # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # You can use the following parameters in the expansion. Each of them corresponds to one of the - # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. - # - # Parameter | JSON key file field - # ---------------------------------+--------------- - # P9K_GOOGLE_APP_CRED_TYPE | type - # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id - # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' - - ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]############### - # Toolbox color. - typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178 - # Don't display the name of the toolbox if it matches fedora-toolbox-*. - typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}' - # Custom icon. - # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%248Fin ' - - ###############################[ public_ip: public IP address ]############################### - # Public IP color. - typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94 - # Custom icon. - # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ########################[ vpn_ip: virtual private network indicator ]######################### - # VPN IP color. - typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81 - # When on VPN, show just an icon without the IP address. - # Tip: To display the private IP address when on VPN, remove the next line. - typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= - # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN - # to see the name of the interface. - typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*' - # If set to true, show one segment per matching network interface. If set to false, show only - # one segment corresponding to the first matching network interface. - # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. - typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false - # Custom icon. - # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### - # IP color. - typeset -g POWERLEVEL9K_IP_FOREGROUND=38 - # The following parameters are accessible within the expansion: - # - # Parameter | Meaning - # ----------------------+------------------------------------------- - # P9K_IP_IP | IP address - # P9K_IP_INTERFACE | network interface - # P9K_IP_RX_BYTES | total number of bytes received - # P9K_IP_TX_BYTES | total number of bytes sent - # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt - # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt - # P9K_IP_RX_RATE | receive rate (since last prompt) - # P9K_IP_TX_RATE | send rate (since last prompt) - typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP' - # Show information for the first network interface whose name matches this regular expression. - # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. - typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*' - # Custom icon. - # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #########################[ proxy: system-wide http/https/ftp proxy ]########################## - # Proxy color. - typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68 - # Custom icon. - # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################################[ battery: internal battery ]################################# - # Show battery in red when it's below this level and not connected to power supply. - typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 - typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160 - # Show battery in green when it's charging or fully charged. - typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70 - # Show battery in yellow when it's discharging. - typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 - # Battery pictograms going from low to high level of charge. - typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' - # Don't show the remaining time to charge/discharge. - typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false - - #####################################[ wifi: wifi speed ]##################################### - # WiFi color. - typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68 - # Custom icon. - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). - # - # # Wifi colors and icons for different signal strength levels (low to high). - # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values - # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values - # - # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' - # - # The following parameters are accessible within the expansions: - # - # Parameter | Meaning - # ----------------------+--------------- - # P9K_WIFI_SSID | service set identifier, a.k.a. network name - # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown - # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second - # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 - # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 - # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) - - ####################################[ time: current time ]#################################### - # Current time color. - typeset -g POWERLEVEL9K_TIME_FOREGROUND=66 - # Format for the current time: 09:51:02. See `man 3 strftime`. - typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' - # If set to true, time will update when you hit enter. This way prompts for the past - # commands will contain the start times of their commands as opposed to the default - # behavior where they contain the end times of their preceding commands. - typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false - # Custom icon. - # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_TIME_PREFIX='%248Fat ' - - # Example of a user-defined prompt segment. Function prompt_example will be called on every - # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or - # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user. - # - # Type `p10k help segment` for documentation and a more sophisticated example. - function prompt_example() { - p10k segment -f 208 -i '⭐' -t 'hello, %n' - } - - # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job - # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function - # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k - # will replay these calls without actually calling instant_prompt_*. It is imperative that - # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this - # rule is not observed, the content of instant prompt will be incorrect. - # - # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If - # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. - function instant_prompt_example() { - # Since prompt_example always makes the same `p10k segment` calls, we can call it from - # instant_prompt_example. This will give us the same `example` prompt segment in the instant - # and regular prompts. - prompt_example - } - - # User-defined prompt segments can be customized the same way as built-in segments. - # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208 - # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt - # when accepting a command line. Supported values: - # - # - off: Don't change prompt when accepting a command line. - # - always: Trim down prompt when accepting a command line. - # - same-dir: Trim down prompt when accepting a command line unless this is the first command - # typed after changing current working directory. - typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always - - # Instant prompt mode. - # - # - off: Disable instant prompt. Choose this if you've tried instant prompt and found - # it incompatible with your zsh configuration files. - # - quiet: Enable instant prompt and don't print warnings when detecting console output - # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - verbose: Enable instant prompt and print a warning when detecting console output during - # zsh initialization. Choose this if you've never tried instant prompt, haven't - # seen the warning, or if you are unsure what this all means. - typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet - - # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. - # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload - # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you - # really need it. - typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true - - # If p10k is already loaded, reload configuration. - # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. - (( ! $+functions[p10k] )) || p10k reload -} - -# Tell `p10k configure` which file it should overwrite. -typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} - -(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} -'builtin' 'unset' 'p10k_config_opts' diff --git a/deprecated/.p10k.zsh##os.Linux b/deprecated/.p10k.zsh##os.Linux deleted file mode 100644 index bde3d6b6..00000000 --- a/deprecated/.p10k.zsh##os.Linux +++ /dev/null @@ -1,1753 +0,0 @@ -# Generated by Powerlevel10k configuration wizard on 2022-11-06 at 10:18 CET. -# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 19454. -# Wizard options: nerdfont-complete + powerline, small icons, rainbow, unicode, -# 24h time, angled separators, sharp heads, round tails, 2 lines, solid, no frame, -# dark-ornaments, sparse, many icons, fluent, transient_prompt, instant_prompt=quiet. -# Type `p10k configure` to generate another config. -# -# Config for Powerlevel10k with powerline prompt style with colorful background. -# Type `p10k configure` to generate your own config based on it. -# -# Tip: Looking for a nice color? Here's a one-liner to print colormap. -# -# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done - -# Temporarily change options. -'builtin' 'local' '-a' 'p10k_config_opts' -[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') -[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') -[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') -'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' - -() { - emulate -L zsh -o extended_glob - - # Unset all configuration options. This allows you to apply configuration changes without - # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. - unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' - - # Zsh >= 5.1 is required. - [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return - - # The list of segments shown on the left. Fill it with the most important segments. - typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - os_icon # os identifier - dir # current directory - vcs # git status - # =========================[ Line #2 ]========================= - newline # \n - prompt_char # prompt symbol - ) - - # The list of segments shown on the right. Fill it with less important segments. - # Right prompt on the last prompt line (where you are typing your commands) gets - # automatically hidden when the input line reaches it. Right prompt above the - # last prompt line gets hidden if it would overlap with left prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - status # exit code of the last command - command_execution_time # duration of the last command - background_jobs # presence of background jobs - direnv # direnv status (https://direnv.net/) - asdf # asdf version manager (https://github.com/asdf-vm/asdf) - virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) - anaconda # conda environment (https://conda.io/) - pyenv # python environment (https://github.com/pyenv/pyenv) - goenv # go environment (https://github.com/syndbg/goenv) - nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) - nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) - nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) - # node_version # node.js version - # go_version # go version (https://golang.org) - # rust_version # rustc version (https://www.rust-lang.org) - # dotnet_version # .NET version (https://dotnet.microsoft.com) - # php_version # php version (https://www.php.net/) - # laravel_version # laravel php framework version (https://laravel.com/) - # java_version # java version (https://www.java.com/) - # package # name@version from package.json (https://docs.npmjs.com/files/package.json) - rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) - rvm # ruby version from rvm (https://rvm.io) - fvm # flutter version management (https://github.com/leoafarias/fvm) - luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) - jenv # java version from jenv (https://github.com/jenv/jenv) - plenv # perl version from plenv (https://github.com/tokuhirom/plenv) - perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew) - phpenv # php version from phpenv (https://github.com/phpenv/phpenv) - scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) - haskell_stack # haskell version from stack (https://haskellstack.org/) - kubecontext # current kubernetes context (https://kubernetes.io/) - terraform # terraform workspace (https://www.terraform.io) - # terraform_version # terraform version (https://www.terraform.io) - aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) - aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) - azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) - gcloud # google cloud cli account and project (https://cloud.google.com/) - google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) - toolbox # toolbox name (https://github.com/containers/toolbox) - context # user@hostname - nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) - ranger # ranger shell (https://github.com/ranger/ranger) - nnn # nnn shell (https://github.com/jarun/nnn) - xplr # xplr shell (https://github.com/sayanarijit/xplr) - vim_shell # vim shell indicator (:sh) - midnight_commander # midnight commander shell (https://midnight-commander.org/) - nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) - # vi_mode # vi mode (you don't need this if you've enabled prompt_char) - # vpn_ip # virtual private network indicator - # load # CPU load - # disk_usage # disk usage - # ram # free RAM - # swap # used swap - todo # todo items (https://github.com/todotxt/todo.txt-cli) - timewarrior # timewarrior tracking status (https://timewarrior.net/) - taskwarrior # taskwarrior task count (https://taskwarrior.org/) - # cpu_arch # CPU architecture - time # current time - # =========================[ Line #2 ]========================= - newline - # ip # ip address and bandwidth usage for a specified network interface - # public_ip # public IP address - # proxy # system-wide http/https/ftp proxy - # battery # internal battery - # wifi # wifi speed - # example # example user-defined segment (see prompt_example function below) - ) - - # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. - typeset -g POWERLEVEL9K_MODE=nerdfont-complete - # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid - # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. - typeset -g POWERLEVEL9K_ICON_PADDING=none - - # When set to true, icons appear before content on both sides of the prompt. When set - # to false, icons go after content. If empty or not set, icons go before content in the left - # prompt and after content in the right prompt. - # - # You can also override it for a specific segment: - # - # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false - # - # Or for a specific segment in specific state: - # - # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false - typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= - - # Add an empty line before each prompt. - typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true - - # Connect left prompt lines with these symbols. You'll probably want to use the same color - # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX= - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX= - # Connect right prompt lines with these symbols. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX= - - # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or - # '─'. The last two make it easier to see the alignment between left and right prompt and to - # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false - # for more compact prompt if using this option. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='─' - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= - if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then - # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE - # ornaments defined above. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=240 - # Start filler from the edge of the screen if there are no left segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' - # End filler on the edge of the screen if there are no right segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' - fi - - # Separator between same-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='\uE0B1' - # Separator between same-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='\uE0B3' - # Separator between different-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' - # Separator between different-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' - # The right end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0' - # The left end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2' - # The left end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B6' - # The right end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B4' - # Left prompt terminator for lines without any segments. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - - #################################[ os_icon: os identifier ]################################## - # OS identifier color. - typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=232 - typeset -g POWERLEVEL9K_OS_ICON_BACKGROUND=7 - # Custom icon. - # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' - - ################################[ prompt_char: prompt symbol ]################################ - # Transparent background. - typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= - # Green prompt symbol if the last command succeeded. - typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 - # Red prompt symbol if the last command failed. - typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 - # Default prompt symbol. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' - # Prompt symbol in command vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' - # Prompt symbol in visual vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' - # Prompt symbol in overwrite vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' - typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true - # No line terminator if prompt_char is the last segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - # No line introducer if prompt_char is the first segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= - # No surrounding whitespace. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= - - ##################################[ dir: current directory ]################################## - # Current directory background color. - typeset -g POWERLEVEL9K_DIR_BACKGROUND=4 - # Default current directory foreground color. - typeset -g POWERLEVEL9K_DIR_FOREGROUND=254 - # If directory is too long, shorten some of its segments to the shortest possible unique - # prefix. The shortened directory can be tab-completed to the original. - typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique - # Replace removed segment suffixes with this symbol. - typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= - # Color of the shortened directory segments. - typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=250 - # Color of the anchor directory segments. Anchor segments are never shortened. The first - # segment is always an anchor. - typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=255 - # Display anchor directory segments in bold. - typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true - # Don't shorten directories that contain any of these files. They are anchors. - local anchor_files=( - .bzr - .citc - .git - .hg - .node-version - .python-version - .go-version - .ruby-version - .lua-version - .java-version - .perl-version - .php-version - .tool-version - .shorten_folder_marker - .svn - .terraform - CVS - Cargo.toml - composer.json - go.mod - package.json - stack.yaml - ) - typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" - # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains - # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is - # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) - # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers - # and other directories don't. - # - # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer. - # This moves the truncation point to the right (positive offset) or to the left (negative offset) - # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" - # respectively. - typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false - # Don't shorten this many last directory segments. They are anchors. - typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 - # Shorten directory if it's longer than this even if there is space for it. The value can - # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, - # directory will be shortened only when prompt doesn't fit or when other parameters demand it - # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). - # If set to `0`, directory will always be shortened to its minimum length. - typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this - # many columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least - # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 - # If set to true, embed a hyperlink into the directory. Useful for quickly - # opening a directory in the file manager simply by clicking the link. - # Can also be handy when the directory is shortened, as it allows you to see - # the full directory that was used in previous commands. - typeset -g POWERLEVEL9K_DIR_HYPERLINK=false - - # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON - # and POWERLEVEL9K_DIR_CLASSES below. - typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 - - # The default icon shown next to non-writable and non-existent directories when - # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. - # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' - - # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different - # directories. It must be an array with 3 * N elements. Each triplet consists of: - # - # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with - # extended_glob option enabled. - # 2. Directory class for the purpose of styling. - # 3. An empty string. - # - # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. - # - # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories - # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=( - # '~/work(|/*)' WORK '' - # '~(|/*)' HOME '' - # '*' DEFAULT '') - # - # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one - # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or - # WORK_NON_EXISTENT. - # - # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an - # option to define custom colors and icons for different directory classes. - # - # # Styling for WORK. - # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_BACKGROUND=4 - # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=254 - # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=250 - # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=255 - # - # # Styling for WORK_NOT_WRITABLE. - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_BACKGROUND=4 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=254 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=250 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=255 - # - # # Styling for WORK_NON_EXISTENT. - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_BACKGROUND=4 - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=254 - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=250 - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=255 - # - # If a styling parameter isn't explicitly defined for some class, it falls back to the classless - # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls - # back to POWERLEVEL9K_DIR_FOREGROUND. - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=() - - # Custom prefix. - # typeset -g POWERLEVEL9K_DIR_PREFIX='in ' - - #####################################[ vcs: git status ]###################################### - # Version control background colors. - typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=2 - typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=3 - typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=2 - typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=3 - typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8 - - # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon. - typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' - - # Untracked files icon. It's really a question mark, your font isn't broken. - # Change the value of this parameter to show a different icon. - typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' - - # Formatter for Git status. - # - # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42. - # - # You can edit the function to customize how Git status looks. - # - # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: - # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. - function my_git_formatter() { - emulate -L zsh - - if [[ -n $P9K_CONTENT ]]; then - # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from - # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. - typeset -g my_git_format=$P9K_CONTENT - return - fi - - # Styling for different parts of Git status. - local meta='%7F' # white foreground - local clean='%0F' # black foreground - local modified='%0F' # black foreground - local untracked='%0F' # black foreground - local conflicted='%1F' # red foreground - - local res - - if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then - local branch=${(V)VCS_STATUS_LOCAL_BRANCH} - # If local branch name is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show local branch name in full without truncation, delete the next line. - (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line - res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}" - fi - - if [[ -n $VCS_STATUS_TAG - # Show tag only if not on a branch. - # Tip: To always show tag, delete the next line. - && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line - ]]; then - local tag=${(V)VCS_STATUS_TAG} - # If tag name is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show tag name in full without truncation, delete the next line. - (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line - res+="${meta}#${clean}${tag//\%/%%}" - fi - - # Display the current Git commit if there is no branch and no tag. - # Tip: To always display the current Git commit, delete the next line. - [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line - res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" - - # Show tracking branch name if it differs from local branch. - if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then - res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" - fi - - # Display "wip" if the latest commit's summary contains "wip" or "WIP". - if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then - res+=" ${modified}wip" - fi - - # ⇣42 if behind the remote. - (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" - # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. - (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " - (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" - # ⇠42 if behind the push remote. - (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" - (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " - # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. - (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" - # *42 if have stashes. - (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" - # 'merge' if the repo is in an unusual state. - [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" - # ~42 if have merge conflicts. - (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" - # +42 if have staged changes. - (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" - # !42 if have unstaged changes. - (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" - # ?42 if have untracked files. It's really a question mark, your font isn't broken. - # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. - # Remove the next line if you don't want to see untracked files at all. - (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" - # "─" if the number of unstaged files is unknown. This can happen due to - # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower - # than the number of files in the Git index, or due to bash.showDirtyState being set to false - # in the repository config. The number of staged and untracked files may also be unknown - # in this case. - (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" - - typeset -g my_git_format=$res - } - functions -M my_git_formatter 2>/dev/null - - # Don't count the number of unstaged, untracked and conflicted files in Git repositories with - # more than this many files in the index. Negative value means infinity. - # - # If you are working in Git repositories with tens of millions of files and seeing performance - # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output - # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's - # config: `git config bash.showDirtyState false`. - typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 - - # Don't show Git status in prompt for repositories whose workdir matches this pattern. - # For example, if set to '~', the Git repository at $HOME/.git will be ignored. - # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. - typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' - - # Disable the default Git status formatting. - typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true - # Install our own Git status formatter. - typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter()))+${my_git_format}}' - # Enable counters for staged, unstaged, etc. - typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 - - # Custom icon. - # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_VCS_PREFIX='on ' - - # Show status of repositories of these types. You can add svn and/or hg if you are - # using them. If you do, your prompt may become slow even when your current directory - # isn't in an svn or hg repository. - typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) - - ##########################[ status: exit code of the last command ]########################### - # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and - # style them independently from the regular OK and ERROR state. - typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true - - # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as - # it will signify success by turning green. - typeset -g POWERLEVEL9K_STATUS_OK=false - typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' - typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=2 - typeset -g POWERLEVEL9K_STATUS_OK_BACKGROUND=0 - - # Status when some part of a pipe command fails but the overall exit status is zero. It may look - # like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=2 - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_BACKGROUND=0 - - # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as - # it will signify error by turning red. - typeset -g POWERLEVEL9K_STATUS_ERROR=false - typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' - typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=3 - typeset -g POWERLEVEL9K_STATUS_ERROR_BACKGROUND=1 - - # Status when the last command was terminated by a signal. - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true - # Use terse signal names: "INT" instead of "SIGINT(2)". - typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=3 - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_BACKGROUND=1 - - # Status when some part of a pipe command fails and the overall exit status is also non-zero. - # It may look like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=3 - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_BACKGROUND=1 - - ###################[ command_execution_time: duration of the last command ]################### - # Execution time color. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=0 - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=3 - # Show duration of the last command if takes at least this many seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 - # Show this many fractional digits. Zero means round to seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 - # Duration format: 1d 2h 3m 4s. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' - # Custom icon. - # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='took ' - - #######################[ background_jobs: presence of background jobs ]####################### - # Background jobs color. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=6 - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND=0 - # Don't show the number of background jobs. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false - # Custom icon. - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ direnv: direnv status (https://direnv.net/) ]######################## - # Direnv color. - typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=3 - typeset -g POWERLEVEL9K_DIRENV_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### - # Default asdf color. Only used to display tools for which there is no color override (see below). - # Tip: Override these parameters for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND and - # POWERLEVEL9K_ASDF_${TOOL}_BACKGROUND. - typeset -g POWERLEVEL9K_ASDF_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_BACKGROUND=7 - - # There are four parameters that can be used to hide asdf tools. Each parameter describes - # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at - # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to - # hide a tool, it gets shown. - # - # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and - # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: - # - # asdf local python 3.8.1 - # asdf global python 3.8.1 - # - # After running both commands the current python version is 3.8.1 and its source is "local" as - # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, - # it'll hide python version in this case because 3.8.1 is the same as the global version. - # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't - # contain "local". - - # Hide tool versions that don't come from one of these sources. - # - # Available sources: - # - # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" - # - local `asdf current` says "set by /some/not/home/directory/file" - # - global `asdf current` says "set by /home/username/file" - # - # Note: If this parameter is set to (shell local global), it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. - typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) - - # If set to false, hide tool versions that are the same as global. - # - # Note: The name of this parameter doesn't reflect its meaning at all. - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. - typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false - - # If set to false, hide tool versions that are equal to "system". - # - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. - typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true - - # If set to non-empty value, hide tools unless there is a file matching the specified file pattern - # in the current directory, or its parent directory, or its grandparent directory, and so on. - # - # Note: If this parameter is set to empty value, it won't hide tools. - # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. - # - # Example: Hide nodejs version when there is no package.json and no *.js files in the current - # directory, in `..`, in `../..` and so on. - # - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' - typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= - - # Ruby version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_RUBY_BACKGROUND=1 - # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Python version from asdf. - typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_PYTHON_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Go version from asdf. - typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_GOLANG_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Node.js version from asdf. - typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_NODEJS_BACKGROUND=2 - # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Rust version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_RUST_BACKGROUND=208 - # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' - - # .NET Core version from asdf. - typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_BACKGROUND=5 - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Flutter version from asdf. - typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_FLUTTER_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Lua version from asdf. - typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_LUA_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Java version from asdf. - typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=1 - typeset -g POWERLEVEL9K_ASDF_JAVA_BACKGROUND=7 - # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Perl version from asdf. - typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_PERL_BACKGROUND=4 - # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Erlang version from asdf. - typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_ERLANG_BACKGROUND=1 - # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Elixir version from asdf. - typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_ELIXIR_BACKGROUND=5 - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Postgres version from asdf. - typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_POSTGRES_BACKGROUND=6 - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' - - # PHP version from asdf. - typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_PHP_BACKGROUND=5 - # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Haskell version from asdf. - typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_HASKELL_BACKGROUND=3 - # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Julia version from asdf. - typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=0 - typeset -g POWERLEVEL9K_ASDF_JULIA_BACKGROUND=2 - # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' - - ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### - # NordVPN connection indicator color. - typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=7 - typeset -g POWERLEVEL9K_NORDVPN_BACKGROUND=4 - # Hide NordVPN connection indicator when not connected. - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= - # Custom icon. - # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## - # Ranger shell color. - typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3 - typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### - # Nnn shell color. - typeset -g POWERLEVEL9K_NNN_FOREGROUND=0 - typeset -g POWERLEVEL9K_NNN_BACKGROUND=6 - # Custom icon. - # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## - # xplr shell color. - typeset -g POWERLEVEL9K_XPLR_FOREGROUND=0 - typeset -g POWERLEVEL9K_XPLR_BACKGROUND=6 - # Custom icon. - # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########################[ vim_shell: vim shell indicator (:sh) ]########################### - # Vim shell indicator color. - typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0 - typeset -g POWERLEVEL9K_VIM_SHELL_BACKGROUND=2 - # Custom icon. - # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### - # Midnight Commander shell color. - typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=3 - typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## - # Nix shell color. - typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0 - typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4 - - # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. - # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ disk_usage: disk usage ]################################## - # Colors for different levels of disk usage. - typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3 - typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND=0 - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=0 - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND=3 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=7 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND=1 - # Thresholds for different levels of disk usage (percentage points). - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 - # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. - typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false - # Custom icon. - # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### - # Foreground color. - typeset -g POWERLEVEL9K_VI_MODE_FOREGROUND=0 - # Text and color for normal (a.k.a. command) vi mode. - typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL - typeset -g POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND=2 - # Text and color for visual vi mode. - typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL - typeset -g POWERLEVEL9K_VI_MODE_VISUAL_BACKGROUND=4 - # Text and color for overtype (a.k.a. overwrite and replace) vi mode. - typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE - typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_BACKGROUND=3 - # Text and color for insert vi mode. - typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= - typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8 - - ######################################[ ram: free RAM ]####################################### - # RAM color. - typeset -g POWERLEVEL9K_RAM_FOREGROUND=0 - typeset -g POWERLEVEL9K_RAM_BACKGROUND=3 - # Custom icon. - # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################################[ swap: used swap ]###################################### - # Swap color. - typeset -g POWERLEVEL9K_SWAP_FOREGROUND=0 - typeset -g POWERLEVEL9K_SWAP_BACKGROUND=3 - # Custom icon. - # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ load: CPU load ]###################################### - # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. - typeset -g POWERLEVEL9K_LOAD_WHICH=5 - # Load color when load is under 50%. - typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=0 - typeset -g POWERLEVEL9K_LOAD_NORMAL_BACKGROUND=2 - # Load color when load is between 50% and 70%. - typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=0 - typeset -g POWERLEVEL9K_LOAD_WARNING_BACKGROUND=3 - # Load color when load is over 70%. - typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=0 - typeset -g POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND=1 - # Custom icon. - # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ - # Todo color. - typeset -g POWERLEVEL9K_TODO_FOREGROUND=0 - typeset -g POWERLEVEL9K_TODO_BACKGROUND=8 - # Hide todo when the total number of tasks is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true - # Hide todo when the number of tasks after filtering is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false - - # Todo format. The following parameters are available within the expansion. - # - # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. - # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. - # - # These variables correspond to the last line of the output of `todo.sh -p ls`: - # - # TODO: 24 of 42 tasks shown - # - # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. - # - # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ - # Timewarrior color. - typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=255 - typeset -g POWERLEVEL9K_TIMEWARRIOR_BACKGROUND=8 - - # If the tracked task is longer than 24 characters, truncate and append "…". - # Tip: To always display tasks without truncation, delete the following parameter. - # Tip: To hide task names and display just the icon when time tracking is enabled, set the - # value of the following parameter to "". - typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' - - # Custom icon. - # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## - # Taskwarrior color. - typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=0 - typeset -g POWERLEVEL9K_TASKWARRIOR_BACKGROUND=6 - - # Taskwarrior segment format. The following parameters are available within the expansion. - # - # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. - # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. - # - # Zero values are represented as empty parameters. - # - # The default format: - # - # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' - # - # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################################[ cpu_arch: CPU architecture ]################################ - # CPU architecture color. - typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=0 - typeset -g POWERLEVEL9K_CPU_ARCH_BACKGROUND=3 - - # Hide the segment when on a specific CPU architecture. - # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION= - # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ context: user@hostname ]################################## - # Context color when running with privileges. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1 - typeset -g POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND=0 - # Context color in SSH without privileges. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=3 - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_BACKGROUND=0 - # Default context color (no privileges, no SSH). - typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=3 - typeset -g POWERLEVEL9K_CONTEXT_BACKGROUND=0 - - # Context format when running with privileges: user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%n@%m' - # Context format when in SSH without privileges: user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' - # Default context format (no privileges, no SSH): user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' - - # Don't show context unless running with privileges or in SSH. - # Tip: Remove the next line to always show context. - typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_CONTEXT_PREFIX='with ' - - ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### - # Python virtual environment color. - typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=0 - typeset -g POWERLEVEL9K_VIRTUALENV_BACKGROUND=4 - # Don't show Python version next to the virtual environment name. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false - # If set to "false", won't show virtualenv if pyenv is already shown. - # If set to "if-different", won't show virtualenv if it's the same as pyenv. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false - # Separate environment name from Python version only with a space. - typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ anaconda: conda environment (https://conda.io/) ]###################### - # Anaconda environment color. - typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=0 - typeset -g POWERLEVEL9K_ANACONDA_BACKGROUND=4 - - # Anaconda segment format. The following parameters are available within the expansion. - # - # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. - # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. - # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). - # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). - # - # CONDA_PROMPT_MODIFIER can be configured with the following command: - # - # conda config --set env_prompt '({default_env}) ' - # - # The last argument is a Python format string that can use the following variables: - # - # - prefix The same as CONDA_PREFIX. - # - default_env The same as CONDA_DEFAULT_ENV. - # - name The last segment of CONDA_PREFIX. - # - stacked_env Comma-separated list of names in the environment stack. The first element is - # always the same as default_env. - # - # Note: '({default_env}) ' is the default value of env_prompt. - # - # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER - # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former - # is empty. - typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' - - # Custom icon. - # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ - # Pyenv color. - typeset -g POWERLEVEL9K_PYENV_FOREGROUND=0 - typeset -g POWERLEVEL9K_PYENV_BACKGROUND=4 - # Hide python version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) - # If set to false, hide python version if it's the same as global: - # $(pyenv version-name) == $(pyenv global). - typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide python version if it's equal to "system". - typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true - - # Pyenv segment format. The following parameters are available within the expansion. - # - # - P9K_CONTENT Current pyenv environment (pyenv version-name). - # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). - # - # The default format has the following logic: - # - # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or - # starts with "$P9K_PYENV_PYTHON_VERSION/". - # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION". - typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}' - - # Custom icon. - # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ - # Goenv color. - typeset -g POWERLEVEL9K_GOENV_FOREGROUND=0 - typeset -g POWERLEVEL9K_GOENV_BACKGROUND=4 - # Hide go version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) - # If set to false, hide go version if it's the same as global: - # $(goenv version-name) == $(goenv global). - typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide go version if it's equal to "system". - typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## - # Nodenv color. - typeset -g POWERLEVEL9K_NODENV_FOREGROUND=2 - typeset -g POWERLEVEL9K_NODENV_BACKGROUND=0 - # Hide node version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) - # If set to false, hide node version if it's the same as global: - # $(nodenv version-name) == $(nodenv global). - typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide node version if it's equal to "system". - typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### - # Nvm color. - typeset -g POWERLEVEL9K_NVM_FOREGROUND=0 - typeset -g POWERLEVEL9K_NVM_BACKGROUND=5 - # Custom icon. - # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ - # Nodeenv color. - typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=2 - typeset -g POWERLEVEL9K_NODEENV_BACKGROUND=0 - # Don't show Node version next to the environment name. - typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false - # Separate environment name from Node version only with a space. - typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############################[ node_version: node.js version ]############################### - # Node version color. - typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=7 - typeset -g POWERLEVEL9K_NODE_VERSION_BACKGROUND=2 - # Show node version only when in a directory tree containing package.json. - typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ go_version: go version (https://golang.org) ]######################## - # Go version color. - typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=255 - typeset -g POWERLEVEL9K_GO_VERSION_BACKGROUND=2 - # Show go version only when in a go project subdirectory. - typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## - # Rust version color. - typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=0 - typeset -g POWERLEVEL9K_RUST_VERSION_BACKGROUND=208 - # Show rust version only when in a rust project subdirectory. - typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ - # .NET version color. - typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=7 - typeset -g POWERLEVEL9K_DOTNET_VERSION_BACKGROUND=5 - # Show .NET version only when in a .NET project subdirectory. - typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ php_version: php version (https://www.php.net/) ]###################### - # PHP version color. - typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=0 - typeset -g POWERLEVEL9K_PHP_VERSION_BACKGROUND=5 - # Show PHP version only when in a PHP project subdirectory. - typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### - # Laravel version color. - typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=1 - typeset -g POWERLEVEL9K_LARAVEL_VERSION_BACKGROUND=7 - # Custom icon. - # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## - # Rbenv color. - typeset -g POWERLEVEL9K_RBENV_FOREGROUND=0 - typeset -g POWERLEVEL9K_RBENV_BACKGROUND=1 - # Hide ruby version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) - # If set to false, hide ruby version if it's the same as global: - # $(rbenv version-name) == $(rbenv global). - typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide ruby version if it's equal to "system". - typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ####################[ java_version: java version (https://www.java.com/) ]#################### - # Java version color. - typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=1 - typeset -g POWERLEVEL9K_JAVA_VERSION_BACKGROUND=7 - # Show java version only when in a java project subdirectory. - typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true - # Show brief version. - typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false - # Custom icon. - # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### - # Package color. - typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=0 - typeset -g POWERLEVEL9K_PACKAGE_BACKGROUND=6 - - # Package format. The following parameters are available within the expansion. - # - # - P9K_PACKAGE_NAME The value of `name` field in package.json. - # - P9K_PACKAGE_VERSION The value of `version` field in package.json. - # - # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' - - # Custom icon. - # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## - # Rvm color. - typeset -g POWERLEVEL9K_RVM_FOREGROUND=0 - typeset -g POWERLEVEL9K_RVM_BACKGROUND=240 - # Don't show @gemset at the end. - typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false - # Don't show ruby- at the front. - typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false - # Custom icon. - # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ - # Fvm color. - typeset -g POWERLEVEL9K_FVM_FOREGROUND=0 - typeset -g POWERLEVEL9K_FVM_BACKGROUND=4 - # Custom icon. - # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### - # Lua color. - typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=0 - typeset -g POWERLEVEL9K_LUAENV_BACKGROUND=4 - # Hide lua version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) - # If set to false, hide lua version if it's the same as global: - # $(luaenv version-name) == $(luaenv global). - typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide lua version if it's equal to "system". - typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ - # Java color. - typeset -g POWERLEVEL9K_JENV_FOREGROUND=1 - typeset -g POWERLEVEL9K_JENV_BACKGROUND=7 - # Hide java version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) - # If set to false, hide java version if it's the same as global: - # $(jenv version-name) == $(jenv global). - typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide java version if it's equal to "system". - typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ - # Perl color. - typeset -g POWERLEVEL9K_PLENV_FOREGROUND=0 - typeset -g POWERLEVEL9K_PLENV_BACKGROUND=4 - # Hide perl version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) - # If set to false, hide perl version if it's the same as global: - # $(plenv version-name) == $(plenv global). - typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide perl version if it's equal to "system". - typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############ - # Perlbrew color. - typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67 - # Show perlbrew version only when in a perl project subdirectory. - typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true - # Don't show "perl-" at the front. - typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false - # Custom icon. - # typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ - # PHP color. - typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0 - typeset -g POWERLEVEL9K_PHPENV_BACKGROUND=5 - # Hide php version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) - # If set to false, hide php version if it's the same as global: - # $(phpenv version-name) == $(phpenv global). - typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide PHP version if it's equal to "system". - typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### - # Scala color. - typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=0 - typeset -g POWERLEVEL9K_SCALAENV_BACKGROUND=1 - # Hide scala version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) - # If set to false, hide scala version if it's the same as global: - # $(scalaenv version-name) == $(scalaenv global). - typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide scala version if it's equal to "system". - typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### - # Haskell color. - typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=0 - typeset -g POWERLEVEL9K_HASKELL_STACK_BACKGROUND=3 - - # Hide haskell version if it doesn't come from one of these sources. - # - # shell: version is set by STACK_YAML - # local: version is set by stack.yaml up the directory tree - # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) - typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) - # If set to false, hide haskell version if it's the same as in the implicit global project. - typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true - # Custom icon. - # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ terraform: terraform workspace (https://www.terraform.io) ]################# - # Don't show terraform workspace if it's literally "default". - typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false - # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current terraform workspace gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' OTHER) - # - # If your current terraform workspace is "project_test", its class is TEST because "project_test" - # doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=2 - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_BACKGROUND=0 - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' OTHER) - typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=4 - typeset -g POWERLEVEL9K_TERRAFORM_OTHER_BACKGROUND=0 - # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ terraform_version: terraform version (https://www.terraform.io) ]############## - # Terraform version color. - typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=4 - typeset -g POWERLEVEL9K_TERRAFORM_VERSION_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ terraform_version: It shows active terraform version (https://www.terraform.io) ]################# - typeset -g POWERLEVEL9K_TERRAFORM_VERSION_SHOW_ON_COMMAND='terraform|tf' - - #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# - # Show kubecontext only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show kubecontext. - typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold' - - # Kubernetes context classes for the purpose of using different colors, icons and expansions with - # different contexts. - # - # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current kubernetes context gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current kubernetes context is "deathray-testing/default", its class is TEST - # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=0 - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_BACKGROUND=2 - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=7 - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_BACKGROUND=5 - # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext - # segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # Within the expansion the following parameters are always available: - # - # - P9K_CONTENT The content that would've been displayed if there was no content - # expansion defined. - # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE - # in the output of `kubectl config get-contexts`. If there is no - # namespace, the parameter is set to "default". - # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the - # output of `kubectl config get-contexts`. - # - # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), - # the following extra parameters are available: - # - # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. - # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. - # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. - # - # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, - # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=gke - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - # - # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=eks - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= - # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' - # Append the current context's namespace if it's not "default". - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' - - # Custom prefix. - typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='at ' - - #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# - # Show aws only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' - - # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current AWS profile gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current AWS profile is "company_test", its class is TEST - # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=7 - typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1 - # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # AWS segment format. The following parameters are available within the expansion. - # - # - P9K_AWS_PROFILE The name of the current AWS profile. - # - P9K_AWS_REGION The region associated with the current AWS profile. - typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}' - - #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# - # AWS Elastic Beanstalk environment color. - typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2 - typeset -g POWERLEVEL9K_AWS_EB_ENV_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## - # Show azure only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' - # Azure account name color. - typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7 - typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4 - # Custom icon. - # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### - # Show gcloud only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show gcloud. - typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil' - # Google cloud color. - typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7 - typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4 - - # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or - # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative - # enough. You can use the following parameters in the expansions. Each of them corresponds to the - # output of `gcloud` tool. - # - # Parameter | Source - # -------------------------|-------------------------------------------------------------------- - # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' - # P9K_GCLOUD_ACCOUNT | gcloud config get-value account - # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project - # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. - # - # Obtaining project name requires sending a request to Google servers. This can take a long time - # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud - # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets - # set and gcloud prompt segment transitions to state COMPLETE. - # - # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL - # and COMPLETE. You can also hide gcloud in state PARTIAL by setting - # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and - # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. - typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' - typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' - - # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name - # this often. Negative value disables periodic polling. In this mode project name is retrieved - # only when the current configuration, account or project id changes. - typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 - - # Custom icon. - # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# - # Show google_app_cred only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' - - # Google application credentials classes for the purpose of using different colors, icons and - # expansions with different credentials. - # - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first - # element in each pair defines a pattern against which the current kubernetes context gets - # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion - # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION - # parameters, you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. - # The first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD - # '*:*test*:*' TEST - # '*' DEFAULT) - # - # If your current Google application credentials is "service_account deathray-testing x@y.com", - # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD # These values are examples that are unlikely - # '*:*test*:*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=7 - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_BACKGROUND=4 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by - # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # You can use the following parameters in the expansion. Each of them corresponds to one of the - # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. - # - # Parameter | JSON key file field - # ---------------------------------+--------------- - # P9K_GOOGLE_APP_CRED_TYPE | type - # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id - # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' - - ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]############### - # Toolbox color. - typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=0 - typeset -g POWERLEVEL9K_TOOLBOX_BACKGROUND=3 - # Don't display the name of the toolbox if it matches fedora-toolbox-*. - typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}' - # Custom icon. - # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='in ' - - ###############################[ public_ip: public IP address ]############################### - # Public IP color. - typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7 - typeset -g POWERLEVEL9K_PUBLIC_IP_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ########################[ vpn_ip: virtual private network indicator ]######################### - # VPN IP color. - typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=0 - typeset -g POWERLEVEL9K_VPN_IP_BACKGROUND=6 - # When on VPN, show just an icon without the IP address. - # Tip: To display the private IP address when on VPN, remove the next line. - typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= - # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN - # to see the name of the interface. - typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*' - # If set to true, show one segment per matching network interface. If set to false, show only - # one segment corresponding to the first matching network interface. - # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. - typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false - # Custom icon. - # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### - # IP color. - typeset -g POWERLEVEL9K_IP_BACKGROUND=4 - typeset -g POWERLEVEL9K_IP_FOREGROUND=0 - # The following parameters are accessible within the expansion: - # - # Parameter | Meaning - # ----------------------+------------------------------------------- - # P9K_IP_IP | IP address - # P9K_IP_INTERFACE | network interface - # P9K_IP_RX_BYTES | total number of bytes received - # P9K_IP_TX_BYTES | total number of bytes sent - # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt - # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt - # P9K_IP_RX_RATE | receive rate (since last prompt) - # P9K_IP_TX_RATE | send rate (since last prompt) - typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+⇡$P9K_IP_TX_RATE }$P9K_IP_IP' - # Show information for the first network interface whose name matches this regular expression. - # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. - typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*' - # Custom icon. - # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #########################[ proxy: system-wide http/https/ftp proxy ]########################## - # Proxy color. - typeset -g POWERLEVEL9K_PROXY_FOREGROUND=4 - typeset -g POWERLEVEL9K_PROXY_BACKGROUND=0 - # Custom icon. - # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################################[ battery: internal battery ]################################# - # Show battery in red when it's below this level and not connected to power supply. - typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 - typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=1 - # Show battery in green when it's charging or fully charged. - typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=2 - # Show battery in yellow when it's discharging. - typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=3 - # Battery pictograms going from low to high level of charge. - typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' - # Don't show the remaining time to charge/discharge. - typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false - typeset -g POWERLEVEL9K_BATTERY_BACKGROUND=0 - - #####################################[ wifi: wifi speed ]##################################### - # WiFi color. - typeset -g POWERLEVEL9K_WIFI_FOREGROUND=0 - typeset -g POWERLEVEL9K_WIFI_BACKGROUND=4 - # Custom icon. - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). - # - # # Wifi colors and icons for different signal strength levels (low to high). - # typeset -g my_wifi_fg=(0 0 0 0 0) # <-- change these values - # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values - # - # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' - # - # The following parameters are accessible within the expansions: - # - # Parameter | Meaning - # ----------------------+--------------- - # P9K_WIFI_SSID | service set identifier, a.k.a. network name - # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown - # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second - # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 - # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 - # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) - - ####################################[ time: current time ]#################################### - # Current time color. - typeset -g POWERLEVEL9K_TIME_FOREGROUND=0 - typeset -g POWERLEVEL9K_TIME_BACKGROUND=7 - # Format for the current time: 09:51:02. See `man 3 strftime`. - typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' - # If set to true, time will update when you hit enter. This way prompts for the past - # commands will contain the start times of their commands as opposed to the default - # behavior where they contain the end times of their preceding commands. - typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false - # Custom icon. - # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - typeset -g POWERLEVEL9K_TIME_PREFIX='at ' - - # Example of a user-defined prompt segment. Function prompt_example will be called on every - # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or - # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and yellow text on red background - # greeting the user. - # - # Type `p10k help segment` for documentation and a more sophisticated example. - function prompt_example() { - p10k segment -b 1 -f 3 -i '⭐' -t 'hello, %n' - } - - # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job - # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function - # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k - # will replay these calls without actually calling instant_prompt_*. It is imperative that - # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this - # rule is not observed, the content of instant prompt will be incorrect. - # - # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If - # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. - function instant_prompt_example() { - # Since prompt_example always makes the same `p10k segment` calls, we can call it from - # instant_prompt_example. This will give us the same `example` prompt segment in the instant - # and regular prompts. - prompt_example - } - - # User-defined prompt segments can be customized the same way as built-in segments. - typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=3 - typeset -g POWERLEVEL9K_EXAMPLE_BACKGROUND=1 - # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt - # when accepting a command line. Supported values: - # - # - off: Don't change prompt when accepting a command line. - # - always: Trim down prompt when accepting a command line. - # - same-dir: Trim down prompt when accepting a command line unless this is the first command - # typed after changing current working directory. - typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always - - # Instant prompt mode. - # - # - off: Disable instant prompt. Choose this if you've tried instant prompt and found - # it incompatible with your zsh configuration files. - # - quiet: Enable instant prompt and don't print warnings when detecting console output - # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - verbose: Enable instant prompt and print a warning when detecting console output during - # zsh initialization. Choose this if you've never tried instant prompt, haven't - # seen the warning, or if you are unsure what this all means. - typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet - - # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. - # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload - # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you - # really need it. - typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true - - # If p10k is already loaded, reload configuration. - # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. - (( ! $+functions[p10k] )) || p10k reload -} - -# Tell `p10k configure` which file it should overwrite. -typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} - -(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} -'builtin' 'unset' 'p10k_config_opts' From ea4683f1946127801b9d5de401fc477120842532 Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 11:46:15 +0200 Subject: [PATCH 2074/2080] Import .lycheeignore --- .lycheeignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .lycheeignore diff --git a/.lycheeignore b/.lycheeignore new file mode 100644 index 00000000..4b87b7cf --- /dev/null +++ b/.lycheeignore @@ -0,0 +1 @@ +https://megalinter.io/* From 46146a7fe7407e2257002f6f412d2d48faefa78c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 11:53:07 +0200 Subject: [PATCH 2075/2080] Import .gitleaks --- .github/linters/.gitleaks.toml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/linters/.gitleaks.toml diff --git a/.github/linters/.gitleaks.toml b/.github/linters/.gitleaks.toml new file mode 100644 index 00000000..a721d0da --- /dev/null +++ b/.github/linters/.gitleaks.toml @@ -0,0 +1,10 @@ +title = "Gitleaks configuration" + +[extend] +useDefault = true + +[allowlist] +regexTarget = "match" +regexes = [ + '''46BDC6B3DE10CB983B880095022A860ECDA18F02''', +] From d1208a6b572fc6c6e86bc8e8608812db227b2a9f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 12:03:02 +0200 Subject: [PATCH 2076/2080] Import .gitleaks --- .github/linters/.gitleaks.toml => .gitleaks.toml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/linters/.gitleaks.toml => .gitleaks.toml (100%) diff --git a/.github/linters/.gitleaks.toml b/.gitleaks.toml similarity index 100% rename from .github/linters/.gitleaks.toml rename to .gitleaks.toml From 82ae6e031fc2756eb39a92056dc1a8297a8de7ae Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 12:03:53 +0200 Subject: [PATCH 2077/2080] Import .gitleaksignore --- .gitleaks.toml => .github/linters/.gitleaks.toml | 0 .github/linters/.gitleaksignore | 1 + 2 files changed, 1 insertion(+) rename .gitleaks.toml => .github/linters/.gitleaks.toml (100%) create mode 100644 .github/linters/.gitleaksignore diff --git a/.gitleaks.toml b/.github/linters/.gitleaks.toml similarity index 100% rename from .gitleaks.toml rename to .github/linters/.gitleaks.toml diff --git a/.github/linters/.gitleaksignore b/.github/linters/.gitleaksignore new file mode 100644 index 00000000..e855ebce --- /dev/null +++ b/.github/linters/.gitleaksignore @@ -0,0 +1 @@ +4cabc35380ff9356cd59012206180ca4aac695c9:.Xmodmap:generic-api-key:2 From f947add430f595e650fc4368eeaad328ceb7a93c Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 12:06:01 +0200 Subject: [PATCH 2078/2080] Try to put .gitleaksignore at the root of the repo --- .github/linters/.gitleaksignore => .gitleaksignore | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/linters/.gitleaksignore => .gitleaksignore (100%) diff --git a/.github/linters/.gitleaksignore b/.gitleaksignore similarity index 100% rename from .github/linters/.gitleaksignore rename to .gitleaksignore From 392a19efcec7e0c9c6d6c2c4fdbbbe5fa81e522e Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 12:07:18 +0200 Subject: [PATCH 2079/2080] gitleaks: ignore expired PAT --- .gitleaksignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitleaksignore b/.gitleaksignore index e855ebce..2f994975 100644 --- a/.gitleaksignore +++ b/.gitleaksignore @@ -1 +1,2 @@ 4cabc35380ff9356cd59012206180ca4aac695c9:.Xmodmap:generic-api-key:2 +42f7fe6f1ef3b4e453a2752a87f1f159bf6d46bc:zshrc-oh-my-zsh-mac:generic-api-key:150 From 5f73509ccb0d7d4b3e526a06350378ba0997738f Mon Sep 17 00:00:00 2001 From: Baptiste Grenier <baptiste@bapt.name> Date: Sat, 19 Oct 2024 12:07:51 +0200 Subject: [PATCH 2080/2080] Import .github/dependabot.yml --- .github/dependabot.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..8e857033 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +--- +version: 2 +updates: + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily"