Replaced or extended all default references to zathura with
sioyek so it will automatically take on any tasks meant
for pdf reading. With the current configuration, hardly a
change should be noticed.
fasd is unmaintained and slower than zoxide. The transferral
was painless. I imported my old database and can continue as
before. It does not care about files but that is completely
fine for me. Same `z` invocation as before. Has the
'interactive' mode on `zi` which is also completely fine.
Papis now installed through pipx instead of pacman - reason being that
it allows me to inject plugins only found on github (papis-tui) and also
install my own plugin while they do not exist on the AUR.
Micro is out, I have actually never used the editor after first install.
Tectonic is in, a wonderful platform to process LaTeX files with.
Beets gets the plugins I am using injected through pipx.
Vale is out, if we need it on a system we install with nvim mason.
Pipewire-roc is in, wonderful way to stream audio in local networks.
Packages managed through pipx (and pipx itself) are now also
installed in the initial process. They are marked as coming
from 'P' source in the package TSV. There is a special field
for these packages which declares any injections made by pipx
which will also automatically get injected into the pipx
environment on installation.
Quick fix to show difference in committed and installed
packages in the commit editor window again.
Due to Arch moving the base-devel package from a group
to a meta-package we can not just remove all packages
that are in the group anymore - it will simply error
out instead. This removes the check and thus provides
a quick and dirty fix for the time being.
Removed long overdue unclutter package which is used on
X11 but we switched to wayland around two years ago
now. For this setup, the river window manager takes
care of hiding and showing the mouse pointer.
My (un-branded) usb mouse prevented the system from going into
suspend/hibernation by sending intermittent wakeup signals.
This system configuration option simply disables the device from sending
those wakeup signals. Used with superuser stow installation method.
Set up wezterm to continue to use Iosevka for everything *except*
italics (in all weights) which will instead be displayed by the Victor
font.
This ultimately results in cursive fonts for italics and Iosevka for
everything else, very pretty.
Switching from my custom, brittle, styling implementation `styler` to
the wonder `flavours` program which does exactly the same only with more
clarity, faster and - I would presume - more stable.
Added Dockerfile which sets up a simple archlinux test environment for
the dotfiles/bootstrap process/playing around.
Will simply build a simple archlinux machine with a single user.
Split the lists into two, with testing getting automatically updated on
packages added (and removed, but only if the package to be removed is
*not* in stable packages already).
This way, I can always be sure that I have my stable setup in the
repository, but packages that I am temporarily testing have a place
without being forgotten and I can more easily change them around until
they find a place in stable or get thrown out.
Added the automatic display of calendar events or ics files to neomutt,
using the mutt-ics script (available in AUR).
Will display start/end time and participants directly in mail body.
Make pkg list conform more to current installation:
beets is not installed through pacman anymore. This is a temporary
measure to allow the easy use of beetcamp plugin which does not yet have
an aur package published and would need to be managed manually.
This way I can inject everything into a custom pipx-managed virtual
environment until a better solution comes along.
Removed hp printer drivers since I have not been near an HP printer for
a while.
Added gitui (as potential lazygit replacement) and fonts-cjk to be able
to display cjk characters on my machine (and finally stop having missing
squares displayed instead).
Added maestral and minidlna as ways of interacting with the outside
network, with minidlna allowing pretty easy media streaming to my tablet
and maestral being the best dropbox client I have ever seen.
toot was replaced by tut which is a really advanced tui mastodon client
and works very well for my purposes.
Waybar moved back to its pinned stable release version from being a git
version since I don't need its non-merged bleeding edge features anymore.
Yarn is explicitly installed so we have a global js manager for the few
programs I use once in a while.
Finally, zq is added for another way to inspect structured data
(mimicking jq which I struggled with for a couple of commands now) and I
want to learn it more in-depth.
Added quick way to translate from anywhere with the Mod+Shift+T mapping.
Will open a bemenu window into which text to be translated can be input
(as well as any translation options) and will return in another bemenu
window. From there, selected text can be put on the clipboard for easy
pasting.
Internally uses a simple wrapper script for translate-shell on which the
translation is based.
Closes#12.
Use <leader>t to start up nsxiv in thumbnail mode where it displays the
contents of the current directory.
You can do whatever you want with nsxiv, enlarge files with <Enter>,
flip them with | or - or delete them with D - the full bandwidth of
nsxiv is available.
If you mark pictures with m (or M) before exiting vifm will build a
custom filtered view containing only those files ready for further
filesystem operations with vifm.
Closes#11.
Also adds another layer of file previewer. If none of the other previewers
match (e.g. pdftotext for pdf, pandoc for docx, exa for directories, etc),
this viewer will be used and display the first couple hundred lines of a
file.
Essentially it means that unknown text files will be displayed using
this, but also binary files for which it displays the hexdump
automatically.
Added tui display manager to my system and I've been quite enjoying
using it, may come in handy as well if I ever want to have dual X11 and
Wayland setup or go back to a more rounded DE experience.
(Not that I intend to, but still enjoying the little style ly brings to
the boot screen.)
New config syntax uses [ids] section to select which input devices are
affected instead of file names, so we can have all settings (for
similarly set up keyboards) in a single default config file.
The file itself needs to end in `.conf` instead of the old `.cfg` and
there is a slight difference in syntax between the old `C` and the new
`control` for mapping the control key. That is about it.
Takes simple options -h (show help), -v (verbose), -n (dry-run) when
started.
By default does not spam output of *all* recognized packages anymore but
simply prints a diff at the end. Old output can be enabled with `-v`
verbose option.
Diff is shown even if dry-run mode is enabled so that using dry-run by
default will show you a preview of what changed.
Added python-docs for offline python documentation availability, removed
long-overdue polybar package which I have not been using for a couple of
months.
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.
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.
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.
Added a simple wayland configuration.
Currently set up simple wayland configuration based on river window
manager and waybar.
Rivercarro is the layout manager, being the same in principle as rivertile,
the default layout manager for river, only it comes with smart gaps
(gaps turn off if there is only one window open)
and monocle mode (give one window all space).
Runs `keyd` in the background to replace the old `xcape` capslock switching
(capslock is escape and if held control).
Uses `swaybg` to set a wallpaper.
Added powermenu and lockscreen scripts.
Improved lockscreen script to detect and work for wayland.
Moved old rofi mode 'powermenu' to more general powermenu script,
which works with any rofi-like selector (dmenu, bemenu, wofi, etc.)
Loses some of its design quality but since it was wonky anyway,
and I rarely see the menu,
we could repurpose its functionality for a more general powermenu
concept.
Currently hardcoded for `bemenu` but can be easily swapped and possibly
even extended back to rofi.
Fixed file upload link sharing to clipboard.
Updated rofi-pass to pass-pick.
Made rofi-pass universal and less integrated to rofi - that's also the
reason for the name change.
`pass-pick` works with rofi (default), bemenu or dmenu. In theory it
should also work with any other picker that contains a stdin listing
function similar to dmenu.
It has been definitely tested both on rofi and bemenu.
The best user experience still reigns on rofi, where available keys are
displayed on the picker and the keys themselves make the most sense.
But all functions can be reached from bemenu as well, though the key
mappings are more arbitrary and can not be changed as in rofi.
The autofilling tool works with both xdotool and ydotool, so should work
both on X11 and on Wayland. Ydotool ideally requires its daemon to be
running, otherwise some of the typing may get gut off. Otherwise no
change should be necessary.
Updated qutebrowser open_download for bemenu.
Updated download opening script to work with both rofi and bemenu.
Prefers original rofi implementation but works with both, and can be set
to use a custom dmenu-like file picker as well.
Add brightnessctl and removed custom audio / brightness scripts since they
became unnecessary.
Updated bootstrap script to include system files:
With `keyd` taking its configuration from the `/etc` directory and not
home, a second stow stage was necessary. These stow files are in a
module called `system-packages` inside the top-level `bootstrap` stow
package.
They will not be installed by the default dotfile stow invocation but
have been integrated as an extra step into the install script.
Installing this module requires sudo privileges!
Switched vifm überzug to sixel graphics rendering.
überzug relies on X11 functionality to work, while sixel does not.
Unfortunately, alacritty does not work with sixel graphics yet, only
foot does (somewhat).
Waybar currently runs the gruvbox dark soft color scheme.
Added the old polybar archupdates script to waybar and extended it to
output json format with additional metadata that waybar can read.
Can still output the old plaintext format that polybar expects.
Added a wireguard connection to waybar,shows if currently
connected to either a wireguard or tun VPN service.
If so, shows an icon in the waybar - that can be hovered over to show
the full assigned IP address.
Added an upcoming event display to waybar,
a simple event indicator to show upcoming events on the calendar, on
hovering over it the tooltip lists all upcoming events.
Added `screenshot` script to take simple screenshots and
rectangle region shots of the current output.
Can be invoked through the river shortcut PrintScr:
`PrintScr` - Fullscreen screenshot
`Mod+PrintScr` - Region screenshot
`Shift+PrintScr` - Fullscreen screenshot and file upload
`Mod+Shift+PrintScr` - Region screenshot and file upload
Extended `sharefile` to take paths through stdin and make
use of `fd` if it is found on the system.
Made mail dir synchronization simpler - only a couple of important
directories will ever get synchronized to the local file system, but
still containing basically all important incoming mails.
Removed aerc and switched it for neomutt. aerc is very nice and needs
little to no configuration but neomutt is, as of this moment, just more
stable and mature. It opens quickly, never crashes, has a nice indexing
and quick e-mail handling behavior and is incredibly customizable.
Basically, once you put in some configuration effort, it is everything
aerc isn't --- and that is good, both have their reasons for existing.
It's just that mutt currently works better for me and will thus be the
e-mail reader of choice from now on.
Added a general purpose languageserver to round out the language server
possibilities. For now only configured to take care of bash linting
(using shellcheck) and formatting, but can be extended to a variety of
other languages (even helping more prosaic forms like markdown and pandoc).