Although writing my own install scripts was a valuable learning
experience, Arch Linux now has an official archinstall utility, which
should be easier to use than having to edit a bash script.
Looking back at this, meta packages should be one of the most convenient
ways to keep track of packages. It gets the job done and should be more
than sufficient for our use case.
In particular, installing all packages guarantees that we won't "miss
something" and have to install it manually, which is more useful than
having a lower package number count.
The main disadvantage is dealing with constant updates to large packages
in a restrictive internet environment, although it's possible to
mitigate this by separating the smaller packages from the larger ones.
Note that I need to update the script later or simply provide a series
of instructions so everything isn't dependant on one script.
In the past it was nice to install Arch Linux with minimal if any
console intervention, but the practicality of this is questionable
since you only have to install Arch once. A more specialized script
could be useful for mass installations, although in this case I assume
one would create such a script on-the-spot.
Having a meta package was cool and it got the job done, but it's
inconvenient to use when adding and removing a lot of packages.
One alternative I'm looking at is simply keeping track of all the
explicitly installed packages and storing that in a text file. This
makes it easy to keep track of all the installed packages without
introducing downsides, and new machines that don't need certain
packages can simply delete those lines.
Over time compton became unmaintained and a replacement package picom
took its place. After trying out sway for a bit, I realized that it
doesn't need a separate compositor at all like bspwm does, so I might
just switch to it. Note that there is a performance penalty on sway
that I haven't figured out how to solve yet.
evince actually uses less memory than zathura and seems to be more
efficient overall, although it isn't as customizable as zathura and
not as minimal in terms of UI.
Overall, I'd rather just use zathura, which also lets me be more
consistent in my bspwm setup.
Apparently gnome-books and sushi depend on evince, the first of which
is a GUI for djvu/epub files and the second of which lets you preview files
with the spacebar in the file explorer. Ironically, I've never used this
feature until I read about it, and although it seems cool, I don't think
I have a use for it as I've been opening my files normally for years now.
These packages aren't included by default anymore so adding them here
makes sense. Note that maintaining a large meta package is actually
difficult since one error means the whole thing doesn't work.
I am looking for an alternative solution to keep things somewhat
automated while at the same time increase flexibility when it comes
to the initial setup.
I actually wrote this in 2018 but never committed it. Might as well do
that now. The extensions it installs are uBlock Origin, Vimium, and
HTTPS Everywhere.
I wanted to commit some more stuff for 2020. Better late than never,
right? The most significant change is probably in fish_prompt.fish.
I fixed an edge case where the directory in question could be the
same as the user's username.
Since animated desktop backgrounds are more of a hassle to maintain than
they are worth, I've gone ahead and removed xwinwrap. If you are running
bspwm and still want an animated desktop background, use:
xwinwrap -g 3840x2160 -ov -- mpv -wid WID --loop inf your.video
For reference, you can use xwinwrap with any resolution you want, not
just your screen size. mpv will also accept pretty much any animated
format out there.
It turns out that using a literal dot instead of the word dotfiles has a
negative impact on the discoverability of the repository. Since the
directory name can be changed to .files when running `git clone`, this
gives us the freedom to name the repository however we please.
Changing between desktop environments is no longer a feature since
it's easier and more convenient to use only one environment, although
it's still certainly possible for the determined user.
The bootstrap script was trying to call refresh-keys when the make
target was named update-keys. Since the flag is called --refresh-keys,
it makes sense to call the make target refresh-keys as well.
Note that we enable lxdm before revoking privileges. The user can
start lxdm manually after this script is finished, but ideally the
system should first be rebooted to ensure that any kernel updates
are applied properly.
It turns out that manual intervention is necessary to resolve dependency
conflicts (bspwm-round-corners-git replaces bspwm), so it is easier to
simply install bspwm-round-corners-git later if wanted.
It turns out that yay automatically handles the process of installing
package dependencies not in the official repositories. This is very
important for some PKGBUILDs, so I've gone ahead and let yay handle
all the AUR packages I build.
Note that plasma-integration is used for KDE theme support without
installing the entire plasma-desktop. The breeze_cursors theme is
included in the breeze package, and xorg-xsetroot is used to change
the default X shaped cursor to a pointer.
Since I figured out how to run both KDE and GTK applications with
their proper settings under any lightweight window manager, and since
I now know how to configure these programs independent of their desktop
environments, this commit removes plasma-desktop, with the possibility
of gnome-shell bring removed in a future commit as well.
The rationale is that using a desktop environment is counter-intuitive
when you already use a window manager. Having multiple desktop environments
to start a session with is certainly amusing, but not at all practical,
especially when you can accomplish anything that needs to be done with
any window manager.
Switching between GNOME, Plasma, and bspwm also caused some inconsistent
X settings that I assume are non-trivial to fix without a proper restart
of the X server.
Simply starting the Plasma desktop environment will create quite a few
files in ~/.config. These files consist of window coordinates and other
non-friendly things, which, IMO, should not belong in the *user's* config
directory.
Regarding other software, GNOME MPV is arguably easier to use and less
buggy than baka-mplayer. Manipulating archives is also much easier with
file-roller than it is with ark. Since I got Audacity to look decent on a
HiDPI display, I no longer have a use for Kwave, which did not have some
of the essential features I used in Audacity anyway.
l3afpad functions much more like a notepad than kwrite, which is what
I'm looking for since I already use Vim. Using Cantata as a mpd client
is simply not the same as using ncmpcpp. zathura and evince are more
than enough for document viewing, hence the removal of Okular.
This is the PKGBUILD I made for a [nice patch][1] that adds border
radius support to bspwm. The patch has not been merged upstream yet,
so this PKGBUILD will have to do in the meantime.
[1]: https://github.com/baskerville/bspwm/pull/856
Since anyone using Tari will probably want the web browsers too,
this change makes sense.
Since all of Tari is now in one PKGBUILD, it is easy to see everything
that will be installed, and it becomes trivial to add or remove packages
as needed.
Updating firefox extensions manually is not ideal. Additionally,
this method is non-trivial to apply if the target system does not
use pacman as the package manager.