Commit graph

237 commits

Author SHA1 Message Date
Daniel Siepmann 7ca113b60e
Install zathura as Document Viewer (PDFs)
It uses vim keybindings and can be configured via module.
Set it as default application for PDFs.
2022-05-22 16:40:42 +02:00
Daniel Siepmann 1b5f675a07
Add keepassxc config file
Also sort and group blocks.
2022-05-22 15:40:27 +02:00
Daniel Siepmann e312a830e7
Configure QT
Configure to re use GTK styles to have a streamlined look and feel.
2022-05-22 15:38:57 +02:00
Daniel Siepmann 1436c97f2f
Streamline setup and move programs to own nix file 2022-05-20 16:44:33 +02:00
Daniel Siepmann 5cc06b6967
Add keychain application
In order to not worry about ssh-agent integration, it will take care and
ask for passphrases on first zsh start.
2022-05-20 16:20:44 +02:00
Daniel Siepmann e76c198f36
Move systemd to its own file 2022-05-20 16:10:39 +02:00
Daniel Siepmann 286911e4b8
Add inline comments 2022-05-20 16:10:37 +02:00
Daniel Siepmann 6c7275bd84
Remove todo
I could move them to xinitrc, but that doesn't seem better.
Looks like the current solution is ok.
2022-05-20 15:55:02 +02:00
Daniel Siepmann 2c0dc5b92f
Disable gtk animations
Not sure if there are any, I don't use many UIs
2022-05-20 15:51:46 +02:00
Daniel Siepmann 2e89e7f369
Configure GTK
Add new gtk configuration.

Use tmpfiles to provide the generated sources like themes to the system.
Also use for desktop files and remove old no longer needed readme entry.
2022-05-20 15:39:28 +02:00
Daniel Siepmann a880aeb7e4
Document why assigning cmus doesn't work in i3 right now 2022-05-20 14:25:52 +02:00
Daniel Siepmann 83b8b50df7
Enforce expected terminal, e.g. by i3-dmenu-desktop 2022-05-20 14:25:21 +02:00
Daniel Siepmann 7316408494
Fix firefox assignment in i3
Also re add documentation for debugging.
2022-05-20 14:01:53 +02:00
Daniel Siepmann 9b55ddb965
Do not handle mime apps right now
The whole folder is currently manually linked to nix home manager
application folder.
Also I don't really need it.
2022-05-20 14:01:06 +02:00
Daniel Siepmann 74ace250ee
Move stuff from i3 to xsession
As this is not related to i3 as window manager.
Also add xrandr --auto to have proper output by default.
2022-05-20 13:55:27 +02:00
Daniel Siepmann 9085969661
Extend xdg management via home-manager
Enable management of xdg and mime.
Configure mime default app associations via home-manager.
2022-05-20 13:46:33 +02:00
Daniel Siepmann 293b5684f5
Remove no longer available and used registry 2022-05-20 13:27:19 +02:00
Daniel Siepmann 2823c2f0f9
Maintain more global options via home-manager
Use home-manager to create xsession.
Readme contains info on how to start xsession on login.

That way home-manager can maintain languages, keyboard and further stuff
globally for user.

No more need to set stuff as workaround within i3 or zsh.
Also enabled to start systemd units after login, as home-manager will
create and trigger `hm-graphical-session.target`.
2022-05-20 12:47:01 +02:00
Daniel Siepmann fb009d303d
Split home.nix into multiple files
Use dedicated files for files, packages and xdg.
This shortens the huge home.nix file.
2022-05-20 12:45:42 +02:00
Daniel Siepmann ec90898c38
Add tree sitter to neovim
This installs used languages.
Also update colorscheme to support new hi groups introduced by ts.
2022-05-20 11:05:26 +02:00
Daniel Siepmann 7257a671e4
Revert "Remove network manager applet"
This reverts commit b67bb428bf.

the networkmanager dmenu doesn't work (e.g. establishing vpn connection)
if applet is not launched.
2022-05-19 11:17:01 +02:00
Daniel Siepmann b67bb428bf
Remove network manager applet
I don't need / use this.
Instead I already use dmenu networkmanager.
2022-05-19 10:55:25 +02:00
Daniel Siepmann ce237df68f
Disable CTRL+j binding for zsh history 2022-05-19 08:08:49 +02:00
Daniel Siepmann eb3282b453
Add replacement for i3 battery
The module doesn't work or exist anymore.
I use a lightwight battery icon instead which I add as a service to
start during login.

And I don't need the wifi thingy.
2022-05-19 07:18:51 +02:00
Daniel Siepmann 48a0c8fa5a
Integrate i3blocks via nix
This was missing after migrating to i3 via nix.
i3blocks was installed via apt before.

home-manager doesn't provide options, I keep my old file. It is updated
for the used version.
2022-05-19 07:02:56 +02:00
Daniel Siepmann 4edeb38471
cRemove i3blocks trigger from keybinding
I don't have those blocks for some time already. No need to trigger
them.
2022-05-19 07:02:24 +02:00
Daniel Siepmann dc304dbcee
Keep zsh CTRL+r binding
I'm way to used to that.
I guess I'll use it for switching to search mode, and then use j+k for
moving.
2022-05-19 07:00:58 +02:00
Daniel Siepmann 965c095482
Use i3 maintained by nix
Install and configure i3 via nix home-manager.
This commit just migrates existing configuration.

It doesn't clean things up, e.g. move stuff to expected locations.
I configure x* tools from within i3 right now …
Also didn't clean things up, e.g. sort and group related things.
2022-05-18 22:31:18 +02:00
Daniel Siepmann 02e7f24b52
Add todo for rest neovim plugin 2022-05-18 19:54:03 +02:00
Daniel Siepmann 676e0e311a
Allow forward history search in zsh
That allows me to search backward and go forward once I got to far.
I also switch to CTRL+j and CTRL+k to use vim like bindings to search
back and forth.
2022-05-18 19:49:39 +02:00
Daniel Siepmann 1500eb1871
Add BufOnly vim plugin
This allows me to easily close (and wipe) all buffers except the current
one.
I no longer need to close and re open vim to quickly have a clean state.
2022-05-18 19:47:03 +02:00
Daniel Siepmann 47eac8a8ad
Allow neovim test plugin to detect codeception test
It missed the dist file during detection.
I already opened an PR upstream: https://github.com/vim-test/vim-test/pull/654
2022-05-18 19:39:35 +02:00
Daniel Siepmann 2636cd4f80
Add twig syntax support to neovim 2022-05-17 21:40:52 +02:00
Daniel Siepmann e960cc3c20
Add lua language server to neovim
As I write lua from time to time to extend Neovim.
This is picked from https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#sumneko_lua
Just cmd is changed to install the server via nix and call the
installed version.
2022-05-17 20:49:00 +02:00
Daniel Siepmann 899ae7baba
Update todos for phpactor 2022-05-17 19:29:18 +02:00
Daniel Siepmann 25e5dff4e9
Adjust Neovim keymappings for PHP / LSP
Telescope no longer provides LSP code actions.
I add a mapping to trigger code actions.

I also ensure that I don't have to wait for phpactor menu.
And I didn't use hover anyway.
2022-05-17 13:07:40 +02:00
Daniel Siepmann 847550b3c9
Hide disturbing HTML on redmine
In order to easy copy & paste issue title + number to time tracking.
2022-05-17 11:32:39 +02:00
Daniel Siepmann a00fa83f55
Do not clean files in phpactor
It didn't work for some reason and shouldn't be to important
2022-05-17 09:31:17 +02:00
Daniel Siepmann 7ffc0d5d5e
Update phpactor
Phpactor removed assertions. I no longer need to build a custom php
environment disabling assertions.
2022-05-17 09:23:00 +02:00
Daniel Siepmann 0bf5b771de
Disable assertions in phpactor
phpactor uses assertions. Those break on my system.
I disable the assertions for phpactor by altering the configuration of
the php to use.
2022-05-17 08:52:39 +02:00
Daniel Siepmann f44ecfa7e8
Add composer to phpactor
This allows to use full potential of phpactor.
We wrap the binary to promote PHP and Composer.

We ensure that the neovim plugin is not calling PHP, but only the
wrapper, which ensures that proper PHP version will be used.
2022-05-17 08:34:40 +02:00
Daniel Siepmann 13b5bf6e73
Update phpactor
To also include https://github.com/phpactor/phpactor/pull/1604 which
should fix the stale processes after exiting neovim.
2022-05-17 07:42:19 +02:00
Daniel Siepmann a2be50bac9
Update phpactor
This should contain an issue not closing process on neovim exit, see:
https://github.com/phpactor/phpactor/issues/1599 and
ad43a19480
2022-05-16 12:50:29 +02:00
Daniel Siepmann 9a48a4fdac
Improve neotags installation
Remove unnecessary files.
Compile python. Cache files end up later by root for some reason. We
compile upfront.
2022-05-16 12:03:05 +02:00
Daniel Siepmann f3e90cd960
Fix broken TYPO3 auto login
Enable auto login
Fix broken include of additional configuration. Seems it is loaded
multiple times, we should prevent _once to always have it loaded.
2022-05-16 11:46:25 +02:00
Daniel Siepmann cfd91f23b7
Update phpactor to not break when used as LSP
Update to commit
dc54d380d5
which should fix the exit code
2022-04-21 07:37:37 +02:00
Daniel Siepmann 9cba42ddfa
Revert "Remove LSP from Neovim"
This reverts commit 49ff32a4e6.
2022-04-21 07:36:01 +02:00
Daniel Siepmann 40de1d353f
Keep old git merge behaviour
I find it way to much / complicated and am used to my old way to merge
things which I keep for now.
2022-04-19 13:33:45 +02:00
Daniel Siepmann 49ff32a4e6
Remove LSP from Neovim
It results in 137 exit codes way to often at the moment.
Issue is not LSP (=Language Server Protocol) itself but phpactor
implementations.

Still I only use phpactor with LSP, so remove for now.
2022-04-19 13:32:54 +02:00
Daniel Siepmann cbad0f5a83
Update phpactor 2022-04-19 13:32:27 +02:00
Daniel Siepmann df46cb05ed
Cleanup nix flakes + shells
Remove flakes for now.
I will use shells for now to not have a mixed setup.
Add composer v1 for a single customer project as overlay due to usage in
shell instead of flakes.

Adjust folder to not have unnecessary deep structure.

Add shell for reuter monorepo using composer v1.
2022-04-14 15:46:49 +02:00
Daniel Siepmann ee2e7d04e1
Add info how to re source session variables 2022-04-14 15:09:28 +02:00
Daniel Siepmann 5221385642
Migrate global TYPO3 configurations
Those were the last piece in my old .dotfiles repository.
The whole configuration is now defined here.

Only customer specifics are in a separate location / repo to not expose
any sensible data.
2022-04-14 15:07:29 +02:00
Daniel Siepmann 048c0df915
Setup Neovim yamllint the same way as xmllint
Do not install globally.
Provide configuration at expected location as default / fallback.
2022-04-14 14:31:19 +02:00
Daniel Siepmann bbea479930
Add seconds to i3 block
This shouldn't cost to much electricity / power.
2022-04-14 13:58:27 +02:00
Daniel Siepmann 979d114f9c
Remove no longer used composer version from i3 blocks
I already removed the command as a hack.
Instead I know remove the whole block.

I no longer have global composer available.
Instead I use nix shell.
2022-04-14 13:54:47 +02:00
Daniel Siepmann bdbaaba2fd
Remove Neovim cmp autocomplete
I found it to disturbing and prefer the native behaviour I am used to.
2022-04-12 16:44:03 +02:00
Daniel Siepmann f77855abac
Add Neovim snippet for PHP invoke
Useful as many event handler will only implement this method.
2022-04-12 16:41:44 +02:00
Daniel Siepmann 95d0cb9a2c
Do not use vim as pager
That is inconvenient I often wanna see something and get back to work.
But vim is just to much and more complex to quit.
2022-04-11 07:52:55 +02:00
Daniel Siepmann 437e893592
Remove unused i3 video modes 2022-04-11 07:50:18 +02:00
Daniel Siepmann 9f42237e25
Add screen recording "setup"
Change i3 config to match current hardware setup.
Add custom dmenu script to start and stop recording.

Move internal dmenu scripts into local variables.
2022-04-01 09:40:31 +02:00
Daniel Siepmann c3df8f0029
Remove community substituter
As it reports that some keys won't match and I don't use it right now.

Reverts 175ebf6 content wise but keeps syntax improvements
2022-03-31 19:42:53 +02:00
Daniel Siepmann f4cdf96abe
Added typescript syntax for Neovim 2022-03-31 15:15:52 +02:00
Daniel Siepmann 1dcaf129f6
Hide further elements on customer redmine 2022-03-31 09:55:15 +02:00
Daniel Siepmann 61b7c19a2a
Hide promoted posts on reddit 2022-03-31 09:55:02 +02:00
Daniel Siepmann 32df656e75
Add statix for nix checking into Neovim 2022-03-30 15:49:54 +02:00
Daniel Siepmann def8300cca
Disable paging for some git commands
I don't like pager for those commands.
2022-03-30 13:02:58 +02:00
Daniel Siepmann 0feb84f5c1
Hide frustrating unnecessary status badge in redmine
I copy the issue id and description for time tracking and the badge is
in between.
I disable it as I don't need it. That way I also won't copy it to time
tracking anymore.
2022-03-30 13:01:54 +02:00
Daniel Siepmann 49b485236c
Add markdown to ctags
As many projects use markdown and headlines.
That allows to jump to tags via telescope and tagbar within Neovim.
2022-03-29 16:17:14 +02:00
Daniel Siepmann 3255241ae2
Give page a chance over less
page also uses neovim, but re uses existing setup and improves over
nvimpager.
2022-03-29 15:39:01 +02:00
Daniel Siepmann 2cd771c838
Use less as general pager
I tried nvimpager but it was a bit complex for me to re use existing
Neovim settings tweak for specific usage as pager.
I decided to stick with less for everything.
2022-03-29 15:29:10 +02:00
Daniel Siepmann 8de53581b2
Integrate gitlint via ale for SAC customer project
We have pretty simple rules.
The first line needs to match a specific pattern.
2022-03-29 13:51:59 +02:00
Daniel Siepmann 3b3f2d0588
Integrate gitlint via ale into Neovim for writing commit message
This is only done for one customer yet, as this customer has clean rules
which are already provided as community rules via gitlint.
2022-03-29 11:52:32 +02:00
Daniel Siepmann 939f80dba9
Configure phpactor accessor generation
This now makes it usable for myself.
It will add the "get" prefix and uppercase the property name.

See: https://phpactor.readthedocs.io/en/master/reference/configuration.html#code-transform-refactor-generate-accessor-prefix
2022-03-28 17:50:41 +02:00
Daniel Siepmann 3cd038aeed
Source full directory instead of single file for phpactor
This is a preparation to also eventually add templates subfolder.
This also demonstrates that "source" also can have a folder instead of
single file.
2022-03-28 17:49:58 +02:00
Daniel Siepmann 175ebf65b2
Add nix community binary caches from cachix.org
No use case yet, but that way I don't have to worry in future.
2022-03-28 13:57:31 +02:00
Daniel Siepmann 992116b57d
Migrate nix and nix registry configuration to home manager module
There is an existing module.
Existing manually written and linked files are replaced with usage of
the module.

This has the advantage that I don't need to know where to place the
files and which format to use.
Furthermore, the module will check whether I've typos in options and
whether values match expected types.
2022-03-24 07:39:56 +01:00
Daniel Siepmann cbe783115c
Update todo comments 2022-03-23 17:42:04 +01:00
Daniel Siepmann f0323720e7
Update typoscript syntax plugin for Neovim 2022-03-23 17:41:47 +01:00
Daniel Siepmann 126b0fa422
Add new plugin to Neovim for easier merges
I'll give it a try and check how well it works.
2022-03-23 17:28:36 +01:00
Daniel Siepmann cdbf6a8680
Link Git mergetool against nixpkgs neovim
Do not use any global path.
2022-03-23 17:27:43 +01:00
Daniel Siepmann 774e4f8555
Rename Neovim custom telescope
The keyboard shortcut was already in use.
I therefore renamed custom_functions into custom runs.
That way I can add multiple things in the future.
E.g. the items to select can also be a table which defines the name as
well as what to execute. That way I could add functions, commands and
other things.
2022-03-23 16:37:26 +01:00
Daniel Siepmann 2faf4ac672
Make Neovim within Tmux happily detect color support 2022-03-23 09:32:45 +01:00
Daniel Siepmann 380e4b6cd7
Add first custom Neovim Telescope picker
This adds a list of my custom defined functions for easier calling.
2022-03-23 09:31:33 +01:00
Daniel Siepmann 30db8651a7
Improve cmp and lsp integration in Neovim
Use omni after more specific completions.
Add buffer to completion, not as fallback. I often wanna complete from
current buffer.

Keep syntax consistent when requiring lua modules.
2022-03-23 08:23:10 +01:00
Daniel Siepmann b97c6b363b
Enable Neovim cmp lsp support
It just works now, I probably have changed something to make that happen
but don't know what exactly.
2022-03-23 07:41:26 +01:00
Daniel Siepmann e8270eeda3
Always use php 7.4 for phpactor
I already used 7.4 for language server integration.
2022-03-22 14:39:04 +01:00
Daniel Siepmann cb7d380e0b
Add Neovim cmp autocompletion
Finally a fast none disturbing auto completion.
lsp_signature_nvim is kept as it provides info while filling in
arguments.
cmp lsp didn't work in my case, so didn't add it.
2022-03-22 13:31:26 +01:00
Daniel Siepmann a652394ba4
Use PHP 7.4 for phpactor
As 8.0 triggers some notices.
2022-03-22 13:31:25 +01:00
Daniel Siepmann e64f6b8030
Migrate whole Neovim configuration into expected structure
That way I can load my whole configuration as a plugin.
I no longer need to explicitly set any configuration via nix as init.vim
or such things.
2022-03-22 09:38:34 +01:00
Daniel Siepmann 6884adfa9d
Remove language server written in nodejs
Due to high risk of insecure dependencies, even dependencies vanishing
file system.
2022-03-22 09:18:59 +01:00
Daniel Siepmann 1b2e8a969a
Remove Neovim dadbod database integration
Autocompletion is way behind mycli / litecli. And that's more important
to me. So do not keep the plugins. Keep existing workflow instead.
2022-03-22 07:47:28 +01:00
Daniel Siepmann a527da50ac
Add Neovim dadbod-* plugins
Not sure if I'll settle on that. I'm currently used to mycli and
litecli.
But sounds useful to have it within the editor to not have different
programs with different configuration and behaviour.
2022-03-21 16:01:01 +01:00
Daniel Siepmann a9c1c526f1
Adjust Neovim Telescope design
Use ascending sorting to move selection to the prompt.
Also shorten width as it felt to much on my larger screen.
2022-03-21 15:49:17 +01:00
Daniel Siepmann 5fb8c7f0c0
Use buildVimPluginFrom2Nix as outer most public API 2022-03-17 11:53:49 +01:00
Daniel Siepmann c856a38eab
Auto select first autocomplete item in Neovim.
As this is most of the time what I need.
I can deselect and type freely to narrow down anyway.
2022-03-17 10:12:35 +01:00
Daniel Siepmann d7f83654e8
Add Neovim LSP for Yaml files 2022-03-17 09:01:15 +01:00
Daniel Siepmann 2dae9f5813
Update neovim plugin todo after reviewing all nixpkgs vim plugins
Also read some other sites
2022-03-17 08:04:13 +01:00
Daniel Siepmann 8448e85bb1
Add xmllint via ale to neovim
Maintain all dependencies via nix / home-manager.
Load xsd schema file.
Define nix xmllint for linting.
2022-03-16 17:12:48 +01:00
Daniel Siepmann 7d333c703b
Streamline omnifunc for php
use same as for vim
2022-03-16 16:54:46 +01:00