Commit graph

1203 commits

Author SHA1 Message Date
280fab6ad3
bootstrap: Switch package list to tsv
Package list is now a single tab separated list. That should make
several automations in the future much simpler.

The table is built as follows:
`Name   Description Source  Target`

with one line per package. Source denotes official repositories or AUR,
and target is kept for future potential of creating different
deployments per target automatically (e.g. different package list for
desktop and server, and so on).

There is an updater script `bootstrap/update_package_list.sh` which will
automatically populate the table, removing uninstalled packages, adding
new ones and (making its best attempt to be) keeping the selected
targets as they are.

The git commit hook comparing installed and committed packages has also
been rewritten to use the new table and be a little simpler overall.

Fixes #2.
2022-03-09 11:13:45 +01:00
0a9271ffe8
bootstrap: Update package list
Updated package list for March 2022.
Contains some small fixes for missing packages like transmission khal
and nsxiv that I have started using more heavily and removed some
redundancies, especially around the big X switch some time back.

Generally, no huge changes.

Fixes #1.
2022-03-08 22:57:36 +01:00
ebf4274c5b
nvim: Add mapping for finding hidden files
While <leader>f searches files, now <leader><c-f> searches for hidden
files.
Simple addition but can be very useful if you work for example in
dotfolder directories or similar.

Now I just need to find a way to do the same for live_grep. The
functionality is there (live_grep can take the same `{hidden=true}`
argument as find_files) but terminal emulators don't distinguish between
<c-f> and <c-F> so there is no convenient mapping for it yet.
2022-03-08 10:15:33 +01:00
3c59ab0b61
nvim: Add telescope digraph search
Added plugin for digraph search through telescope.
When you want to enter a digraph, you can do so through the usual
method, pressing <c-k> and then entering the digraph shortcut (e.g.
`<c-k>OK` for ✓, or `<c-k>n?` for ñ) OR you simply double press
<c-k><c-k> which opens a quick telescope window to select the digraph
you want.
2022-03-08 10:06:01 +01:00
11c1383f01
nvim: Remove thesaurus mappings, Update spell map
Updated enabling spellchecker from <leader>Z to <leader>ZZ.
<leader>ZE and <leader>ZG for language specific checking stays the same
as before.

Removed some dangling mappings referring to thesaurus_query plugin which
has long been removed.
2022-03-08 09:59:49 +01:00
eb1dabc44f
nvim: Fix signcolumn jumping
When lsp or gitsigns would show me a symbol in the signcolumn the whole
editor page would jump ever so slightly to the right (one symbol, to be
precise).

This fixes it to show numbers in the signcolumn and just exchange number
for sign when something should be shown.
Makes numbers a little less readable but editing experience a whole lot
smoother.
2022-03-08 09:33:58 +01:00
645248e83a
ssh: Add host fingerprint matching
Added fingerprint matching to host functionality replacing the old
matching on ip with nc idea.
Functions essentially the same, only that now if another host
randomly/or targeted replaces the original checking target you will
still not try to be connected since the ssh fingerprint will not match.
Should make it a teensy bit more secure.
2022-03-08 09:26:24 +01:00
a49e49bbd4
nvim: Change path copy mapping
Changed mapping to copy path from `yf` to `yp`/`yP`.
Two reasons: I might be better able to remember 'yank-path' when saying
it in my head as a mnemonic, and with the `yf` mapping set I could only
yank things *to* some letter `yt<letter>` not including some letter
`yf<letter>` and it has been very subtly annoying me ever since I
introduced the mapping.
Fixed now.

Also added two variations: `yp` will yank the whole path into the `p`
register, and `yP` will only yank the filename itself.
Here's to remembering the new mapping!
2022-03-07 22:05:45 +01:00
9a1efff30c
nvim: Fix vim-slime temp file, cmp float window
Fixed hidden file creation in home directory by vim-slime. It will now
rather ask nvim to create a temporary file using that as its paste
source.

Also disabled cmp completion in 'guihua' floating windows, as per the
recommendation for navigator.lua.
2022-03-07 21:58:37 +01:00
bef798418e
qutebrowser: Update wallabag userscript
Updated wallabag userscript to be able to both use the current page when
called from qutebrowser or any arbitrary url passed as an argument.
2022-03-05 22:50:16 +01:00
26f4cc6062
taskwarrior: Change next tags, fix today report 2022-02-13 20:11:01 +01:00
0942c72714
river: Fix riverctl formatting 2022-02-13 20:10:11 +01:00
438547251a
nvim: Fix telescope grep
Fixed grepping for telescope to work again, and work with the native
'live_grep' function.

Replaced fzy extension with precompiled fzf since I have that installed
anyway.

Changed some theming around so I have a fast, minimal file switcher
instead of the big window by default. Can still call the big preview
window through the Telescope command if need be.
2022-02-13 20:07:21 +01:00
dee44417a6
nvim: Add json formatting, auto gather filetypes
Added json to be formatted by prettier like the other javascript-close
filetypes.

Switched the static list of filetypes to automatically format on save to
be replaced by automatically gathering all filetypes set up for
formatter.nvim since I want everything formatted anyway.
2022-02-13 20:05:39 +01:00
94cd954df9
sh: Reintegrate clip script
Brought back an old universal clipping script and updated it to work
better - well, at all. Can now decide between wl-copy, xclip and xsel
and will do so in that order.
Can take clipping material from the following arguments (will clip any
and all following arguments) or from stdin. Stdin has precedence.
Not much more to say really, but makes writing other applications a bit
more universal when they rely on this universal little tool.
2022-02-11 21:32:16 +01:00
ff78a1f32f
pass: Update pass-pick pointer 2022-02-11 21:31:06 +01:00
2e5d26b702
wayland: Update README roadmap
I have been using wayland for about three months now and the 'missing
things' roadmap has been shrinking steadily. There are still some
little things that are annoying, most concerning old xwayland or Gnome
applications such as when I have to make use of Zotero or Element -- all
GUI applications that I would prefer not to use anyway.

Otherwise it's a very pleasant experience and *extremely* solid. I don't
remember any crashes, it feels relatively light weight, multi-monitor
works without any hick-ups and I really can't complain.

I will for the foreseeable future stay with wayland, since it works so
well for me. My riverwm setup will still need some tinkering here and
there to make use of some of its nice features and not just pretend to
be using i3 again. Lastly, I will need to peruse my settings and find
left-over x11 things that will inevitably be hiding in this repository.
All doable things and that makes me happy.
2022-02-11 20:39:09 +01:00
f1ec3c05f1
nvim: Add criticmarkup highlighting
Added simple plugin for some highlighting of criticmarkup.
Criticmarkup is a neat way of doing 'track-changes' in markdown. It's a
bit cumbersome to read just the way it is when there's a lot of changes
however and this plugin helps immensely with that.

There is also a github gist out there which helps using pandoc to turn
Microsoft Word tracked changes into criticmarkup formatted markdown.
Amazing to work with through vim instead of the annoying Office suites!
2022-02-11 20:33:38 +01:00
ed37e29a30
Delete unused modules rofi-surfraw and picom
Though the idea is not bad, I've never used rofi-surfraw in any capacity
and it just clutters up the repository.

Picom was necessary for X11 but is not anymore for wayland, so it's out
as well.
2022-01-30 11:42:03 +01:00
3cee46358e
sh: Add serve alias to create a quick file server
Quickly put up a file server in the current directory by typing `serve`
and the rest is figured out automatically.

Makes use of `sfz`, `gossa`, `rossa` in that order to set up the file
server.
2022-01-30 11:41:00 +01:00
a27d86942b
sh: Use exist program
Fix sh module packages to make more extensive use of the exist program
that also ships with the sh module.
Simplifies intent of the code and makes it much easier to read.
2022-01-30 11:37:18 +01:00
ea95ca7dfa
mail: Update mail-check to work with pass-coffin
Updated code to be able to run a password command chosen individually,
as well as a post-password command.

Used in this instance to `pass open` a password store in a coffin/tomb
before actually trying to read passwords out of it.
2022-01-28 18:32:58 +01:00
572fa471ae
nvim: Update zettelkasten mappings to new version
Updated mappings for zettelkasten navigation and zettel creation to work
with the changes introduced in its new update.
2022-01-28 10:17:26 +01:00
5ee71ae705
sh: Fix graphical session start for ssh sessions
The autostart function would accidentally start multiple new graphical
sessions in one terminal when connected to the machine over sshd.

This should fix multiple starts while keeping the old functionality and
speed of checking intact.
2022-01-28 10:15:47 +01:00
792e0b930a
git: Development checkout also switched to Staging
Using the `gcd` alias to checkout the development branch switches to, if
no `development` branch is found, the `staging` branch of a repository
automatically instead.
2022-01-28 10:14:20 +01:00
701c5bbcfc
qutebrowser: Fix open downloads script for spaces
Fixed the 'open downloads' userscript to work correctly for files with
spaces in them.
2022-01-17 09:45:44 +01:00
08a46ed691
zsh: Remove powerline10k settings file
Removed leftover configuration file for the p10k zsh prompt, since I
switched away from it long ago.
2022-01-16 15:20:16 +01:00
367be559d7
sxhkd: Remove module
Remove left-over sxhkd module, not used anymore since the wayland
switch.
2022-01-16 15:19:51 +01:00
6fabac6cd8
kitty: Switch to kitty terminal emulator
Finally made the switch from alacritty to kitty. I have been thinking
about this for a while. Both, fundamentally, serve my purposes just
fine. Both are fast, customizable, gpu accelerated, and so on.
Kitty feels a little faster on the input, but this should not provide
major differences.

One big difference, however, is now very apparent and I can feel it:
Alacritty, on wayland, does not support any picture preview. It does not
support sixel, and things like w3mimg or ueberzug are based on and
require X11 to run.
Kitty brings its own graphics display library and it seems both pretty
stable and fast.
I have not done much more with it than use it in things like vifm image
previews but it should be much more stable than things like ueberzug,
much faster than things like sixel. Time will tell.

Switched other modules to make use of kitty instead of alacritty:
vifm uses kitty previews,
river spawns kitty instances,
systemd units use kitty instances,
waybar presents extra mouse-click interactions through kitty,
and styler contains a processor to style kitty permanently.

I would love to converge this all a bit more on the `$TERMINAL` env var,
but this is unfortunately difficult for things like systemd and waybar.
For waybar I currently see no real way except for a custom
`ideal-terminal` script which just goes down the list of terminal
emulators I want to run, depending on which is installed,
since it does not read env vars,
while for systemd it might be feasible to import user environment
variables,
but also connected to additional complexity and overhead which it does
not seem worth for the currently two simple service units it affects.

Also removed some obsolete sxhkd and sh settings from the move to
wayland.
2022-01-16 15:18:07 +01:00
d9e539b9ec
pass: Include updated submodule 2022-01-11 17:53:32 +01:00
0d40c1bf67
sh: Add missing vim aliases
Added some simple aliases that were missing from the vi → vim → neovim
chain.
Can be useful for the odd moment when one does not know which exact vim
is installed.
2022-01-11 17:27:28 +01:00
941760fd13
pass: Switch pass-pick tool to external repository
Added pass-pick external repository. Factored out the program from this
repository into its own development repository from which it is pulled
as a submodule for these dotfiles.
2022-01-11 12:54:55 +01:00
a322799f39
nvim: Add which-key.nvim key chord visualization
Finally added a which-key like extension.
This one is a lua implementation of the old Emacs idea, but comes with
pretty sane defaults and seems less difficult to set up.

So much so that, even out of the box, it seems somewhat useful by
containing explanations of default vim bindings and showing the target
for all mark jumps. (e.g. `g`` or `g'`).
2022-01-04 22:09:22 +01:00
8e6bd03576
nvim: Replace surround plugin for vim-sandwich
Finally made the switch from the lua surround plugin of my choice to
sandwich -- it provides sane defaults, needs little to no setup, and
comes with a pretty alright default mapping method:

`sa<object><something>` to add surroundings to object
`sr<oldsurround><newsurround>` to replace surroundings (including
`srb<new>` for automatically figuring out what to replace)
`sd<surround>` to delete existing.

Simple and efficient, should make the cut in my estimation.
2022-01-04 22:04:27 +01:00
788775bbee
nvim: Add oscyank to yank from anywhere
Added oscyank plugin which allows, through the `:OSCYank` command, to
put stuff into your local clipboard from *anywhere*, even through remote
ssh sessions and so on.
Requires a supported terminal emulator but honestly, most semi
well-known ones are on the list already.
2022-01-04 22:02:55 +01:00
d5cd91d107
nvim: Add experimental navigator lsp configurator 2022-01-03 18:11:23 +01:00
ff0ddb2b2d
nvim: Switch galaxyline for lualine
Recently, galaxyline created some troubles in the setup. Lualine is much
much easier to configure and, since I don't need some of the more
advanced features of galaxyline anyway, I can just use the simple setup
it offers.
If ever those features become necessary again I can presumably just
reintroduce them based on the old galaxyline setup that got removed in
this commit.
2022-01-03 17:45:04 +01:00
8b3b49275c
Add coffin automation to pass-pick 2021-12-18 10:34:07 +01:00
bd37843102
Enable extensions for pass 2021-12-18 10:33:52 +01:00
981c4cbf10
Add vim-slime and vim-ipython-cell
Added interactive python repl commands with two plugins:
Sending repl snippets over with vim-slime and interacting with python
(notebook-like) snippets in the editor with vim-ipython-cell.

Cells are simply demarcated by `## ` at the beginning of a line, though
they can have other syntaxes as well, e.g. `# %% `.

By default slime sends its commands over to the last used tmux pane so
it is easy to set up a split coding/repl-ing session.

Interaction mappings all center around <leader>c + another key.
You can send a simple cell with `<leader>cc` or `<leader>C`,
single lines or selections with `<leader>cs`.

You can switch between cells with `]c` `[c` and insert new ones
below/above existing ones with `<leader>co` `<leader>cO` respectively.
2021-12-15 17:43:07 +01:00
e64df2ec3d
nvim: Switch deprecated nvim-compe
Switched out the deprecated nvim-compe for nvim-cmp and re-added most of
the plugins that the earlier one supported.

The handling is very similar and it supports the same snippet engine
(vsnip in this case).
2021-12-15 17:42:23 +01:00
333e2580f0
git: Add personal git server substitutions
Added automatic aliasing for my own git server pushing and pulling.
2021-12-15 17:38:10 +01:00
65be7e8eac
river: Move often used keybinds around
Moved border snapping/aligning to a quicker key combination
(mod+ctrl+hjkl) and instead move rivercarro layout changes t the more
inaccessible extra moving mode (alt+r).
2021-12-14 15:31:10 +01:00
8113508e6d
pass: Add wtype typer tool to pass-pick
Added wtype as the preferred alternative to ydotool for wayland setups
to the pass picking sript.
Still supports xdotool and ydotool.
2021-12-14 14:28:08 +01:00
60ae405790
scripts: Add custom ytdl options for vidl
Allow setting custom ytdl options for the vidl video downloader.
Can be set through $YT_DL_OPTS environment option.
2021-12-11 11:17:58 +01:00
4d563be7a4
river: Add dunst key mappings
Added notification dismissal and recovery key binds to river key
bindings. This is necessary since in wayland dunst can't just
receive key presses anymore.

The new key binds are:

```
Mod+N         - dismiss 1 notification
Mod+Shift+N   - dismiss all notifications
Mod+Control+N - display last dismissed notification(s) again
```
2021-12-11 11:13:45 +01:00
0e4556accb
waybar: Add styler support
Added suport for styler automatic color scheme application.
Corresponding processor16 styler found here:
https://github.com/marty-oehme/baseproc16-default/blob/master/theme_waybar
2021-12-06 11:46:51 +01:00
9f1fe95662
scripts: Added vidl and archive scripts
Added script for downloading videos with ytdl or any of its derivatives.
The script is adapted from one in my rapberry pi setup which serves
videos remotely, and makes some hardcoded assumptions that might not be
the best for all situations.

Added archive script which takes a file and puts a hardlink to it into
an arbitrary archival folder. This means even if the original file is
deleted its data stays on disk because of its hardlinked archive
version.
2021-12-06 10:47:17 +01:00
63074ae46b
nvim: Switch to compe compatible branches
Have to switch branches to compe compatible ones for now.
Must make the switch to `cmp` soon, but in the meantime ths is a quick
bandaid.
2021-12-04 11:24:28 +01:00
23be9c64c9
git: Change gco to git checkout
It happens too often that you want to `gco` a specific commit or tag for
switch to always be useful in every scenario with the shortcut.
2021-12-04 11:23:03 +01:00