# bluebuild-hyperreal This is my custom build of Bazzite, Bluefin, and uCore, which I use on my desktop, laptop, and NAS, respectively. ## Features * Bazzite image is based on `bazzite-gnome-nvidia:stable`. * Bluefin image is based on `bluefin:latest`. * uCore image is based on `ucore-hci:stable`. * [Bazzite features](https://bazzite.gg) * [Bluefin developer features](https://projectbluefin.io/) * atop * borgbackup * borgmatic * Prometheus node-exporter * Vivaldi web browser Brew packages that can be installed on the host with `ujust install-brew-packages`: * dust * lazyjournal * neovim * nmap * tea * zellij In contrast to the default UBlue settings, the following systemd units are disabled by default in this build: * cups.service ## Installation The following commands are meant for rebasing from an existing installation. The bootc images (not uCore) can be installed from an Anaconda installer ISO built with `bluebuild generate-iso`. ### Bazzite ```shell sudo bootc switch --enforce-container-sigpolicy overseer.carp-wyvern.ts.net/bluebuild-bazzite:latest ``` ### Bluefin ```shell sudo bootc switch --enforce-container-sigpolicy overseer.carp-wyvern.ts.net/bluebuild-bluefin:latest ``` ### uCore Boot into the Fedora CoreOS live ISO. ```shell sudo coreos-installer install /dev/nvme0n1 --ignition-url https://files.moonshadow.dev/ucore.ign ``` Reboot. Tailscale should be installed on CoreOS. Run the following command to login to Tailscale: ```shell sudo systemctl enable --now tailscaled.service sudo tailscale up ``` Pin the working deployment. ```shell sudo ostree admin pin 0 ``` Once logged into Tailscale, run the following command to rebase to custom uCore image: ```shell sudo rpm-ostree rebase ostree-unverified-registry:overseer.carp-wyvern.ts.net/bluebuild-ucore:latest ``` Reboot, then run the following command to set the mountpoint for the naspool: ```shell sudo zfs set mountpoint=/var/naspool naspool ``` ## Building locally ### Requirements * Docker or Podman * `cosign.key` associated with `cosign.pub` must exist at `/home/jas/.cosign.key` * [docker-registry-ui](https://github.com/Joxit/docker-registry-ui) must be setup on private Tailnet at overseer.carp-wyvern.ts.net. ### Setup Install the [blue-build/cli](https://github.com/blue-build/cli) program. ```shell docker run --pull always --rm ghcr.io/blue-build/cli:latest-installer | bash ``` Clone this repo into `/home/jas` on the build host. Copy the systemd files to the systemd user directory. Enable the systemd timer. ```shell cd bluebuild-hyperreal/ mkdir -p ~/.config/systemd/user cp -fv systemd/bluebuild_build.* ~/.config/systemd/user/ systemctl --user enable bluebuild_build.timer ```