Skip to content
This repository has been archived by the owner on Feb 19, 2024. It is now read-only.
/ box-bayou Public archive
generated from ublue-os/boxkit

Distrobox companion for ublue-bayou

License

Notifications You must be signed in to change notification settings

tepene/box-bayou

Repository files navigation

box-bayou

This is my take on a Toolbox / Distrobox container based on the ideas of ublue-os/boxkit.

The goal of this project is to have a companion distrobox container for my custom ublue-bayou Fedora Silverblue setup. It's my default terminal for daily usage.

blackbox

Tools

The container is based on the latest Alpine image from the Toolbx Community Images and and is spruced up with the following configuration.

Installed in the container

The following tools are shipped with the container:

  • chezmoi for dotfile management
  • cosign to sign OCI containers (and other artifacts) using Sigstore
  • direnv to unclutter your .profile
  • helix as post-modern text editor
  • jq JSON command-line processor
  • neofetch eye candy system information
  • pipx to run python applications in isolated environments
  • poetry for python venv management
  • python-3 to run python applications
  • starship cross-shell prompt for that <3
  • yq YAML command-line processor
  • zsh as the default shell

Mapped from Host OS

The following tools are symlinked from the host system:

Usage

Creation

With Distrobox

distrobox create -i ghcr.io/tepene/box-bayou:latest -n box-bayou
distrobox enter box-bayou

With Toolbox

toolbox create -i ghcr.io/tepene/box-bayou:latest -c box-bayou
toolbox enter box-bayou

Initial Configuration

Once the box is running you can set the initial configuration with the setup.sh script.

You have the following options:

glitter

Use this option for all glitter and sparkle.

/opt/scripts/setup.sh glitter

This will set the needed file permissions for the /opt directory, change the default shell to ZSH and configure ZSH and Starship with an initial configuration. And just to be sure, if you already have a ZSH and / or Starship configuration, the script will create a backup of the files ~/.zshrc and ~/.config/starship.toml. (better safe than sorry...)

boring

Use this option if you just want to set ZSH as the default shell but no default configuration.

/opt/scripts/setup.sh boring

This will set the needed file permissions for the /opt directory and change the default shell to ZSH.

preserve

Use this option if you already have a ZSH and / or Starship configuration which you don't want to mess up.

/opt/scripts/setup.sh preserve

This will only set the needed file permissions for the /opt directory.

Verification

These images are signed with sisgstore's cosign. You can verify the signature by downloading the cosign.pub key from this repo and running the following command:

cosign verify --key cosign.pub ghcr.io/tepene/box-bayou:latest

If you're forking this repo you should read the docs on keeping secrets in github. You need to generate a new keypair with cosign. The public key can be in your public repo (your users need it to check the signatures), and you can paste the private key in Settings -> Secrets -> Actions.