Arch desktop configuration.

Casey DeLorme d1e3aa5861 use xsel to copy otp so gmrun can be used 3 lat temu
install d1e3aa5861 use xsel to copy otp so gmrun can be used 3 lat temu
notes b95fae2022 switch to environment variable to load package installation into a single command 3 lat temu
setup 6c8513c371 fix typo in environment variable for automatic reboots 3 lat temu
.gitignore b62d99d305 automatically log installation to file for reflection 3 lat temu
Vagrantfile 1a7d532ee3 update ssh configuration 5 lat temu
arch.sh cd5b95b304 upgrade to gvim for shared clipboard support 3 lat temu
packer.json b62d99d305 automatically log installation to file for reflection 3 lat temu
readme.md d591d8b06c note in readme that bios/dos boot loading is not supported by the scripts 4 lat temu
todo.md d2d1a2232e add shift+insert override as future task 3 lat temu

readme.md

arch-desktop

This repository contains automation to establish a highly functional and lightweight desktop environment.

It was originally written to parity debian-stretch-desktop.

As there are no "releases" to match, this repository will instead be updated over time as is needed.

why

I have been a debian proponent for years, and will continue to be for servers.

However, the 6 months prior to a new debian release are horrible for desktop users.

Additionally, if attempting to upgrade hardware the lack of up to date drivers due to locked kernel are a serious pain.

Finally, having now used Arch as my main system for nearly 6 months I am shocked at how stable it is.

usage

If you want to test my build locally, you can do so by installing virtualbox, packer, and vagrant.

Simply run these commands; the first will build the base image and the second will launch a VM using that base image:

packer build packer.json
vagrant up

This may require a combined total of 5GB of disk space for the installation image and outputs, and uses the user name and password of vagrant.

If you are actually doing an installation, you can run these commands from the arch installation terminal:

pacman -S git
git clone https://git.caseydelorme.com/cdelorme/arch-desktop.git
cd arch-desktop
./setup/install.sh

This may ask for input, and will reboot when finished.

notes

I ran into quite a few interesting caveats during the creation of this project, and wanted to comment on them.

The pinned comments on the AUR are offensive to beginners and do not answer any questions, RTFM does not explain how to actually fix GPG signature errors. The wiki is useful, but it is hard to pin down what you are looking for. So good job being useless by threatening a ban hammer on comments with questions related to the lack of clear instructions on packages.

The makepkg restriction that prevents execution as root is dumb as hell. I get the security constraints, but the instructions to run as nobody are hella flawed; test suites basically can't run as nobody due to directory permissions (so many with loads of undocumented ENV variables), and creating a faux user from a script just to install some relatively common and popular packages seems like a ridiculous work-around. So great job making automation harder and solving nothing.

Finally, while I am not a fan of how systemd forced proliferation into all linux distributions, nor do I care for binary logs (that seems like a major step backwards), I am incredibly thankful for how simple bootctl made EFI bootloader setup, and also user-space unit files. However, this also means traditional DOS/BIOS boot loaders such as grub are not supported by these scripts. I only wish there was a more clear way to deal with setting up user-space files from scripts during arch installation.

references