Since I don't have to worry about the completeness of individual desktop
environments, this makes it easier for me to tailor the tools I use to
my use cases.
Since the collective system is known as Tari, having individual parts
for the pieces that work together to make the whole is not ideal.
Now that I understand more about how Arch Linux works, if I ever needed
to create a non-Tari operating system, I would just use pacman to install
packages as needed, or modify this PKGBUILD to create a new meta package
specific to that system.
Not all of these packages may be useful to everyone, and that's fine.
Any list I create won't satisfy everyone, but reducing the number of
PKGBUILDs makes it easier to see and change all the packages installed
on the system as a whole.
Due to the nature of how Arch Linux works, most users won't even need my
PKGBUILDs. With the exception of setting up X with a bare-minimum window
manager, installing and configuring most software is as simple as using
pacman to install that software and symlinking any config files you want
to their relevant directories, if any.
There is an open bug that should be resolved before or during the
Arch Linux Bug Day coming up next month (January 2019). Either way,
manually updating the httpie version becomes impractical after some
time; it's best to apply this fix upstream instead.
Since my .vimrc already installs the same version of vim plug,
and since any user can symlink my dotfiles, using a PKGBUILD to
install it is redundant and arguably less portable.
As ironic as this may sound, less user choice means that there's less
room for error. Plus, it makes things conveniently easier for me and
possibly every other user of the software.
Realistically, if I'm installing the tari packages, I more often than
not want everything with it. If I am aiming for a minimalist setup
without X11 or Wayland, I will probably not use the tari packages
anyway.
This makes it easier to immediately start using dotfiles and other
config settings on first boot. It may even be useful to add an option
to run the entire bootstrap script in the installation media. Note that
if this route is taken, some assumptions regarding installation will
have to be changed to adjust for the chroot environment.
This commit makes it so that downloading the entire repository to run
the install scripts is no longer necessary.
It assumes that you have an active internet connection, which should be
a given since you need an internet connection to run pacstrap anyway.
Lots of changes here with the goal of streamlining the installation
process. The install scripts work very well now, although there are
still some final changes that I would like to make (notably the removal
of the unzip requirement and the inclusion of more options to automate
the process even further).
The polkit package is used to let unprivileged users run certain
commands. With it, it is possible to run system commands such as
`poweroff` and `reboot` with an unprivileged user.
Traditionally, only privileged users have access to power management,
but for many desktop setups, you may want to let unprivileged users
perform operations such as shutdown the machine if no other users
are logged in.
It turns out that the README for the xeventbind PKGBUILD actually works
very well here. On another note, I've yet to figure out how exactly I
want to document PKGBUILDs.
It turns out that replacing the contents of locale.gen with the locales
you want is not a good idea, since then it is impossible to reference
the file at a later date to make changes as needed.
It turns out the font that I was setting before didn't actually do
anything. This is the real way to double the font size in your virtual
console, particularly useful for HiDPI displays, since your tty does not
know about your X DPI.
Since the username appears before the hostname (user@host), and since
anyone using these install scripts will probably want to log in with the
local user account and not the root account, this change makes sense.
Since mkinitcpio is already ran on the installation of the linux
package with pacstrap, and since we don't change any config settings,
recreating the initramfs is not necessary.
This should work, although I haven't tested it yet.
In the future it may be easier to simply download the other install
scripts from this install script. That way we solve the problem of
having to unzip this entire repository in the installation image.
This should ensure that a user knows what they're doing before running
the install scripts. Note that parted will also ask for a confirmation
before overwriting existing data.
Since fonts and other desktop-related packages are now handled by
tari-desktop, this is no longer necessary. Note that I also created
tari-web before I figured out HiDPI support for Qt and GTK applications.
I initially created tari-util as a package to be pre-built and installed
in the installation media. This was a while ago, and now that I know
exactly how the installation process and PKGBUILDs work, all the
previous issues I had with makepkg turned out to not be issues at all.
This not only fixes the issue where set -x would cause the read
line to be altered, but also separates user input from what the
install scripts actually do.
I added shortened systemd timeouts when I didn't know how to use
journalctl. But now that I know enough to fix things that might
stall these commands, this is no longer necessary.
As much as rofi-pass may appear to be useful, it is simply easier to
just use the pass command directly, especially if you have a passphrase
set on the private encryption key you use to unlock passwords.
Now that I know how to use terminal multiplexers, and now that I
understand more about how shells and terminals work, the launch
dependency is no longer necessary.
Additionally, *too many* abbreviations is difficult to use in the long
term, no matter how short the commands are. Since I don't need to launch
programs from the terminal as often anymore (now that I use rofi and
other programs), this change makes sense.
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.