As a side note, running a bootstrap.sh in a post-install environment is
significantly easier (and more practical) than trying to accomplish
every step before a reboot in the installation image. This separates
things like making partitions from the actual system.
Note that most (if not all) of these programs can run inside any
environment with the same expected behavior, not just Plasma and GNOME,
provided the proper environment variables and config values are set.
xeventbind is a useful program that lets you run any command on
resolution change, similar to how GNOME on Wayland is able to change
scaling on on resolution change, but not exactly.
Since we're still using X, existing programs are not affected; they
have to be restarted instead.
Now that I understand more about how GNU/Linux distributions, display
managers, and X sessions work, it makes sense to separate meta packages
based on environment used.
When you use a display manager, you're just starting X in a fancy way.
Since you can run any program you want on the X server, it is easy to
install multiple desktop environments on the same machine and switch
between them easily, provided your setup is adequately modular (which
it should be by default).
Here I commit the addition of VerbosePkgLists for reference. It turns
out that yay's package upgrade list looks significantly better than
pacman's VerbosePkgLists (and is a lot more legible).
Since pacman will not use VerbosePkgLists when the number of terminal
columns is low enough, it makes sense to simply use the default setting
instead.
Instead of running two systemctl commands (start and enable),
one can simply use `systemctl enable --now` instead.
The grub command was removed since I never used it and haven't
found a need to do so.
It turns out that kitty has support to change all of its colors
independently from the current terminal with a simple command. This
was the only issue I had with making pywal and kitty work together,
so I'm glad I found it.
Additionally, kitty supports DPI changes immediately (at least with
xrdb). There is no need to detach a session and open a new terminal
since kitty will handle DPI changes automatically, compared to other
terminals like urxvt, which would require a new instance. Even then,
the border padding for urxvt is not adjusted to the new DPI; kitty
is simply the way to go if your monitor setup is non-trivial.
As a side note, the kitty documentation is very good. I highly
recommend reading it if you plan to use kitty (which you should).
Since the community package doesn't include the fish completions found
upstream, we install them here instead. There is already a bug report
about the fish completions, and when it eventually gets fixed, these
steps can be removed from the PKGBUILD.
Bug report: https://bugs.archlinux.org/task/55786
Made dependency lists a bit more consistent and reverted some of the
Arch Linux wording since it felt a bit off. Even the official website
refers to Arch Linux as Arch from time to time.