Commit graph

399 commits

Author SHA1 Message Date
Daniel Siepmann a842f100b0
Add todos for lua programming language 2022-03-16 14:45:36 +01:00
Daniel Siepmann 0d4f5463d1
Migrate Leaderf to Telescope
Written in Lua.
Very flexible.
Clean documentation.
Easy to extend and configure.
Can do everything I wanted with a good feeling.
2022-03-16 14:44:49 +01:00
Daniel Siepmann e29ceb3b66
Optimize colors of leaderf Neovim plugin 2022-03-16 12:44:20 +01:00
Daniel Siepmann 1991be3686
Remove todo for fzf as I'm now switched to leaderf 2022-03-16 10:17:44 +01:00
Daniel Siepmann 42c78c694d
Cleanup leaderf configuration 2022-03-16 10:17:38 +01:00
Daniel Siepmann 51cb2c9ad3
Migrate Neovim CtrlP to FinderF
Way faster and matches my own preferences. Has a preview and pop up in
the center of the screen.
Comes with many other modes like colorscheme, help, line, etc.
diff --git a/home/programs/neovim.nix b/home/programs/neovim.nix
index 55783de..dda525c 100644
--- a/home/programs/neovim.nix
+++ b/home/programs/neovim.nix
@@ -239,8 +239,8 @@ in {
     }

     {
-      plugin = ctrlp-vim;
-      config = pkgs.lib.fileContents ./neovim/plugins/ctrlp.vim;
+      plugin = LeaderF;
+      config = pkgs.lib.fileContents ./neovim/plugins/leaderf.vim;
     }

     # Syntax
diff --git a/home/programs/neovim/config/functions.vim b/home/programs/neovim/config/functions.vim
index 24e0c00..fea577b 100644
--- a/home/programs/neovim/config/functions.vim
+++ b/home/programs/neovim/config/functions.vim
@@ -113,7 +113,7 @@ function! StartProfiling()
     execute(':profile file *')
 endfunc

-function! CtrlPCurrentComposerPackage()
+function! LeaderfCurrentComposerPackage()
     let l:filePath = split(expand('%:p:h'), '/')

     while !filereadable('/' . join(l:filePath + ['composer.json'], '/')) && len(l:filePath)
@@ -121,7 +121,7 @@ function! CtrlPCurrentComposerPackage()
     endwhile

     if len(l:filePath)
-        execute(':CtrlP /' . join(l:filePath, '/'))
+        execute(':LeaderfFile /' . join(l:filePath, '/'))
     else
         echom 'No composer package detected.'
     endif
diff --git a/home/programs/neovim/config/mappings.vim b/home/programs/neovim/config/mappings.vim
index bd3aee9..7b7ad7d 100644
--- a/home/programs/neovim/config/mappings.vim
+++ b/home/programs/neovim/config/mappings.vim
@@ -10,10 +10,11 @@ nnoremap <leader>v :set paste!<cr>
 nnoremap <leader>nh :nohlsearch<cr>

 " Configure navigation, e.g. go to buffer, file, ...
-nnoremap <leader>p :CtrlP<cr>
-nnoremap <leader>l :CtrlPBuffer<cr>
-nnoremap <leader>r :CtrlPBufTag<cr>
-nnoremap <silent> <leader>c :call CtrlPCurrentComposerPackage()<cr>
+nnoremap <leader>pp :LeaderfSelf<cr>
+nnoremap <leader>pf :LeaderfFile<cr>
+nnoremap <leader>pb :LeaderfBuffer<cr>
+nnoremap <leader>pt :LeaderfBufTag<cr>
+nnoremap <silent> <leader>pc :call LeaderfCurrentComposerPackage()<cr>

 nnoremap <leader>k :NERDTreeToggle<cr>
 nnoremap <leader>f :NERDTreeFind<cr>
diff --git a/home/programs/neovim/plugins/ctrlp.vim b/home/programs/neovim/plugins/ctrlp.vim
deleted file mode 100644
index c45b87e..0000000
--- a/home/programs/neovim/plugins/ctrlp.vim
+++ /dev/null
@@ -1,26 +0,0 @@
-let g:ctrlp_follow_symlinks = 2
-" Default to regex mode
-let g:ctrlp_regexp = 1
-let g:ctrlp_match_window = 'top,order:ttb,min:1,max:10'
-" let g:ctrlp_open_new_file = '0'
-" let g:ctrlp_lazy_update = 1
-let g:ctrlp_show_hidden = 1
-
-let g:ctrlp_types = ['fil', 'buf', 'buftag']
-
-let g:ctrlp_working_path_mode = 'w'
-let g:ctrlp_max_files = 0
-let g:ctrlp_clear_cache_on_exit = 0
-
-" Configure completion for tags in buffer,
-" e.g. configure which kinds to complete for css.
-let g:ctrlp_buftag_types = {
-  \ 'css' : '--css-types=vcit',
-  \ 'typescript' : '--typescript-types=cnfvmitesod',
-  \ 'xml' : '--xml-types=ci',
-  \ 'rst' : '--reStructuredText-types=csSt',
-  \ 'markdown' : '--Markdown-types=csStT',
-  \ 'fluid' : '--xml-types=si',
-  \ 'apache' : '--apache-types=s',
-  \ 'yaml' : '--yaml-types=t',
-\ }
diff --git a/home/programs/neovim/plugins/leaderf.vim b/home/programs/neovim/plugins/leaderf.vim
new file mode 100644
index 0000000..7627b07
--- /dev/null
+++ b/home/programs/neovim/plugins/leaderf.vim
@@ -0,0 +1,213 @@
+let g:Lf_WorkingDirectoryMode = 'c'
+
+let g:Lf_FollowLinks = 1
+let g:Lf_ShowHidden = 1
+
+let g:Lf_WindowPosition = 'popup'
+let g:Lf_HideHelp = 1
+
+let g:Lf_GtagsAutoUpdate = 0
+
+let g:Lf_IgnoreCurrentBufferName = 1
+
+let g:Lf_ShowDevIcons = 0
+
+" TODO: Try to port to existing colorscheme, does it work with load order?
+let g:Lf_PopupPalette = {
+    \  'dark': {
+    \   'Lf_hl_popup_inputText': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_window': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_blank': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_cursor': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_prompt': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_spin': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_normalMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_inputMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_category': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_nameOnlyMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_fullPathMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_fuzzyMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_regexMode': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_cwd': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_lineInfo': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_popup_total': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_cursorline': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': '235',
+    \   },
+    \   'Lf_hl_selection': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match0': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match1': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match2': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match3': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match4': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_match': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'blue',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_lineLocation': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_previewTitle': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_winNumber': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_winIndicators': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_winModified': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_winNomodifiable': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_winDirname': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_quickfixFileName': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_quickfixLineNumber': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_quickfixColumnNumber': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_loclistFileName': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_loclistLineNumber': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \   'Lf_hl_loclistColumnNumber': {
+    \       'cterm': 'none',
+    \       'ctermfg': 'none',
+    \       'ctermbg': 'none',
+    \   },
+    \  }
+    \ }
+
+let g:Lf_PreviewInPopup = 1
+let g:Lf_PreviewHorizontalPosition = 'center'
+let g:Lf_PreviewCode = 0
+let g:Lf_PreviewResult = {
+    \ 'File': 1,
+    \ 'Buffer': 1,
+    \ 'BufTag': 1,
+    \}
2022-03-16 09:05:13 +01:00
Daniel Siepmann 3bf0d66f3b
Add inline todos with new plugins and programs to try 2022-03-16 09:04:03 +01:00
Daniel Siepmann 47c3440be6
Add Neovim syntax of i3 config 2022-03-16 09:03:51 +01:00
Daniel Siepmann 271758a453
Update Neovim colorscheme 2022-03-16 09:03:19 +01:00
Daniel Siepmann 551153f446
Do note use paratest in Neovim plugin vim-test
Remove the paratest detection.
I consider paratest only for CI and executing a huge set of tests.
But I use vim-test only to execute a single test file or single test.
2022-03-15 17:29:34 +01:00
Daniel Siepmann f4b39fe17c
Do not show Neovim Ctrlp mru
I just don't use this feature.
2022-03-15 10:27:44 +01:00
Daniel Siepmann 269b15cc30
Allow Neovim Ctrlp to search only files in current composer package 2022-03-15 10:25:04 +01:00
Daniel Siepmann 51ca95129d
Adjust SAC indentation of xliff files 2022-03-15 09:57:03 +01:00
Daniel Siepmann 1a61b2b103
Optimize Neovim plugin ctrlp file selection
Do not clear cache on exit. I'm working on huge projects and want a fast
file navigation.
Do not limit number of files as default is already way to low for the
large projects I'm working on.
2022-03-15 09:09:05 +01:00
Daniel Siepmann 4b825bf453
Add Neovim syntax mustache
Customer sac is using handlebars template which have same syntax.
2022-03-15 09:08:32 +01:00
Daniel Siepmann 82e29fb63e
Add some comments to neovim setup 2022-03-15 08:41:41 +01:00
Daniel Siepmann 9e5a77f592
Migrate Neovim snippets to inline configuration
Same as with configuration.
No need for extra repository.
2022-03-15 08:16:18 +01:00
Daniel Siepmann 2a55b8e6fd
Adjust Neovim sql comment
Use TYPO3 default "#" instead of "--".
I nearly exclusively write SQL comments within TYPO3 sql files.
2022-03-15 08:10:54 +01:00
Daniel Siepmann 8541b19663
Adjust neovim configuration for sac customer 2022-03-15 08:01:46 +01:00
Daniel Siepmann 7106b7cac7
Add neovim configuration inline instead of another repository
This eases maintenance as I don't need to commit and push one repo, and
update rev and sha in here.
Instead I can just change configuration and run home-manager switch.
2022-03-15 08:00:46 +01:00
Daniel Siepmann bbaa8830c3
Remove custom grepping from neovim
I'm using plugin ag already.
2022-03-14 16:33:59 +01:00
Daniel Siepmann a683442f90
Remove neovim plugin syntastic
I'm using ale for such a long time already …
2022-03-14 16:31:57 +01:00
Daniel Siepmann a4f46efb9a
Update neovim ale plugin settings 2022-03-14 16:29:19 +01:00
Daniel Siepmann e59fc32ff0
Import pkgs.vimPlugins to shorten plugin definitions 2022-03-14 10:43:50 +01:00
Daniel Siepmann 5a72a2a648
Allow vim sqlformat to work
Add necessary python package which is used by the plugin.
2022-03-14 10:43:26 +01:00
Daniel Siepmann 3b8e4e757f
Use native vim plugin ctrlp file searching
This respects wildignore and removes need for custom grep command.
2022-03-14 09:47:01 +01:00
Daniel Siepmann 98f4e5c3bb
Adjust vim plugin snipMate snippet_version
Keep old version 0, as no snippet was migrated yet.
Need to migrate them prior usage of version 1.
2022-03-14 09:46:26 +01:00
Daniel Siepmann b02993e69e
Adjust Firefox content blocking
Set to level 2 block list. Blocks all detected trackers.
2022-03-14 09:45:22 +01:00
Daniel Siepmann 082ad58af1
Migrate neovim setup
I managed my setup manually.
This commit ports the existing setup to home-manager.

The program module is used to install neovim together with plugins.
Custom plugins are now maintained at Gitea / GitHub and loaded via nix as well.
2022-03-12 11:26:32 +01:00
Daniel Siepmann 4919105362
Migrate web apps to nix setup
Create dedicated xdg desktopEntries to start web apps.
Use chromium where necessary, e.g. due to audio / video experiences.

Start web apps with dedicated Firefox profiles.
Configure those profiles to hide any UI to have an actual app feeling.
2022-03-11 09:52:43 +01:00
Daniel Siepmann c8df55880c
Add firefox
Previously installed via apt
2022-03-10 17:15:56 +01:00
Daniel Siepmann 152e540dc1
Remove unused option to use xxdiff from git
I never used that feature, I always use less as pager and CLI context
for diffing.
2022-03-10 13:36:51 +01:00
Daniel Siepmann f901607929
Export screen instead of tmux as terminal env var 2022-03-09 10:50:34 +01:00
Daniel Siepmann a62b3053a1
Fix broken LS_COLORS
A comment was part of the configuration.
The comment didn't make sense anyway and got removed to fix broken
coloring.
2022-03-07 09:22:06 +01:00
Daniel Siepmann a0832b3767
Add new Git alias
I use cherry-picks in one project and am to lazy to always wait for
auto completion.
2022-02-23 13:54:57 +01:00
Daniel Siepmann 00320b8a48
Use my own git diff setup
That one includes local base and remote at top.
It turns diffthis off for the merged result to have proper code
highlighting of result.
2022-02-21 13:39:22 +01:00
Daniel Siepmann 0f1959978b
Migrate JQ to use home-manager module 2022-02-14 16:06:43 +01:00
Daniel Siepmann 2cdb96acc6
Migrate TYPO3_ADDITIONAL_CONFIGURATION environment variable
This doesn't change and can be set global.
That allows nix shells to pick it up.
2022-02-14 08:03:47 +01:00
Daniel Siepmann 51fbae7d71
Move user / system specifics to .profile file instead of .zshrc
This ensures it is properly set on login.
Tools like dmenu and such are properly find when installed by nix.
This was not zsh specific anyway.
2022-02-11 11:35:34 +01:00
Daniel Siepmann e17ea91263
Remove grep alias
grep should behave as expected.
There is no official none deprecated way.
2022-02-11 08:48:38 +01:00
Daniel Siepmann 2ba1a01f2c
Migrate borg excludes and installation 2022-02-10 16:19:28 +01:00
Daniel Siepmann b758d564ed
Fix broken tmux default shell
I don't understand the issue, I thought tmux would inspect env $SHELL.
Looks like it doesn't and use sh instead.
So we configure to use zsh instead.
2022-02-08 17:46:08 +01:00
Daniel Siepmann 12be4eb1d3
Fix broken path to SHELL
The shell actually is within /bin/zsh instead.
2022-02-07 21:10:25 +01:00
Daniel Siepmann 2ab2fb414a
Migrate zsh configuration
Use zsh with old configuration.
Ensure i3 will start st terminal with zsh from path (nix / home-manager)
instead of system shell (zsh by Ubuntu).
2022-02-07 14:07:31 +01:00
Daniel Siepmann a3087e4259
Fix wrong sorting direction in htop 2022-02-03 14:47:12 +01:00
Daniel Siepmann ea1d4136ca
Allow navigation and resize via vim keys (hjkl) 2022-02-03 12:37:53 +01:00
Daniel Siepmann 654e91ab8b
Migrate tmux setup to home-manager 2022-02-03 09:10:22 +01:00
Daniel Siepmann 459169b9b8
Migrate htop configuration to home-manager
There is a module for htop, so use that one instead of home.file.
The cool thing is: It has "constants" for some strange integer values.
So nix version is actually readable while the generated config is
strange.

That's a cool pro of nix files.
2022-02-02 22:53:03 +01:00
Daniel Siepmann 6a67e5df5d
Migrate git setup to home-manager
This was previously done through custom dotfiles.
2022-02-02 21:50:24 +01:00