Commit graph

87 commits

Author SHA1 Message Date
3f335936c5
bootstrap: Remove unneeded installs, add dotter
Removed X11 programs like devour, broken plugins like mopidy-spotify.
2023-10-03 13:03:37 +02:00
47c3f7682d
bootstrap: Do not build paru on tmpfs
The tmp fs can sometimes be very small, too small in fact to build
paru on.
2023-10-03 13:03:37 +02:00
893c177358
git: Replace dsf with git-delta
Diff-so-fancy is pretty good but delta just looks soo buttery smooth.
2023-10-02 20:19:00 +02:00
102cdbca1c
writing: Replace zathura with sioyek
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.
2023-10-02 14:08:04 +02:00
334f3032e8
terminal: Exchange fasd for zoxide
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.
2023-09-28 14:41:33 +02:00
bb06274c49
bootstrap: Add bbt plugin to papis install
Added my custom bbt-formatter to the papis installation created on this
machine. It is injected through pipx.
2023-09-16 11:12:17 +02:00
0088a35f44
bootstrap: Fix papis installation
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.
2023-08-29 22:30:42 +02:00
90fe61e2f2
bootstrap: Update stable packages
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.
2023-08-07 12:31:54 +02:00
d0966f7244
bootstrap: Fix pipx beancount plugin install
The beancount plugin 'beancount-categorizer' does not exist on pypi so
we install it from the git source instead.
2023-06-20 12:56:24 +02:00
29cb20efcb
bootstrap: Add pipx managed package installation
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.
2023-06-08 13:05:01 +02:00
bfe7e7790c
bootstrap: Change yay to paru for pkg installation 2023-06-08 13:03:27 +02:00
79910b8bf1
bootstrap: Fix package installer file path 2023-06-08 13:02:45 +02:00
60b89b6d30
githook: Fix showing pkgs in commit message
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.
2023-06-07 10:29:25 +02:00
bce5675795
bootstrap: Remove unclutter package
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.
2023-06-07 10:27:17 +02:00
88336a433a
bootstrap: Disable system USB mouse wakeups
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.
2023-03-22 11:53:08 +01:00
a16e0eead7
wezterm: Add cursive italics
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.
2023-03-22 11:14:25 +01:00
a276251aa7
bootstrap: Update stable packages 2023-03-21 18:52:50 +01:00
b52ecda093
terminal: Change timg for viu 2023-03-21 18:26:32 +01:00
f1b218da95
bootstrap: Update stable packages 2023-03-07 11:10:03 +01:00
b800d8f1eb
desktop: Add flavours program to set colors
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.
2023-03-07 11:09:47 +01:00
3d4199d743
bootstrap: Add systemd suspend-then-hibernate configuration 2023-02-28 11:23:40 +01:00
4eb6ac772b
bootstrap: Update package lists 2023-02-11 17:29:55 +01:00
1bcab1d5e7
bootstrap: Add Dockerfile to stow ignored files
Dockerfile would accidentally get placed in the home directory instead
of being ignored like the rest of bootstrap files.
2023-01-16 22:25:35 +01:00
df724c20ba
bootstrap: Add testing Dockerfile to bootstrap
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.
2023-01-16 18:50:50 +01:00
1a05ea8445
bootstrap: Split packages into stable and testing lists
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.
2023-01-16 18:47:47 +01:00
d56d0148f6
bootstrap: Fix initial package installation to work 2023-01-16 18:42:42 +01:00
01445aa3ed
lockscreen: Update script for new waylock version 2023-01-07 16:46:09 +01:00
e9659a2829
bootstrap: Update package list 2023-01-07 15:27:17 +01:00
44f7c2e6ca
bootstrap: Update package list 2023-01-07 14:48:13 +01:00
5fce112927
bootstrap: Update packages 2022-12-20 23:02:56 +01:00
4b93568831
bootstrap: Update installed package list 2022-11-23 12:23:04 +01:00
28da05b696
mail: Add ics/calendar preview to neomutt
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.
2022-11-23 12:13:54 +01:00
a4f202184f
bootstrap: Update package list
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.
2022-06-12 15:53:36 +02:00
a08f2daafe
river: Add translation widget mapping
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.
2022-05-02 16:08:30 +02:00
89c028c8d6
vifm: Add nsxiv as thumbnail previewer
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.
2022-05-01 01:20:12 +02:00
35eae9b32c
bootstrap: Add ly display manager
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.)
2022-04-30 21:02:04 +02:00
cac0aee4ca
keyd: Update conf files to new 2.0 syntax
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.
2022-04-27 13:50:08 +02:00
2216ba079d
bootstrap: Update package list 2022-04-27 13:03:43 +02:00
71c41ecbde
bootstrap: Update package list script
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.
2022-04-27 13:00:09 +02:00
b947493765
bootstrap: Update pkg list with python-docs
Added python-docs for offline python documentation availability, removed
long-overdue polybar package which I have not been using for a couple of
months.
2022-04-11 13:05:32 +02:00
bd71cfc168
mail: Use new neomutt styling, extend html view 2022-03-19 11:36:28 +01:00
27cbf30da0
bootstrap: Fix stow linking new files
Forgot to update stow ignore list to include new package tsv file and
associated update script.
2022-03-10 22:46:45 +01:00
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
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
bd37843102
Enable extensions for pass 2021-12-18 10:33:52 +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
d78a27582c
bootstrap: Added new keyd keybard configuration
Added the same configuration for another external keyboard to the
config.
2021-12-04 11:22:25 +01:00
6ac552d3d5
Switch 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.
2021-11-30 22:30:07 +01:00
89d1402b3e
bootstrap: Update package list slightly 2021-11-23 19:08:16 +01:00