Add just task runner and example commands (#27)

This commit is contained in:
Jorge O. Castro
2023-01-16 22:37:32 -05:00
committed by GitHub
parent 7479234c5f
commit 870916bd8a
4 changed files with 91 additions and 3 deletions

View File

@@ -8,7 +8,7 @@ COPY etc /etc
COPY ublue-firstboot /usr/bin COPY ublue-firstboot /usr/bin
RUN rpm-ostree override remove firefox firefox-langpacks && \ RUN rpm-ostree override remove firefox firefox-langpacks && \
rpm-ostree install distrobox gnome-tweaks && \ rpm-ostree install distrobox gnome-tweaks just && \
sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf && \ sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf && \
systemctl enable rpm-ostreed-automatic.timer && \ systemctl enable rpm-ostreed-automatic.timer && \
systemctl enable flatpak-automatic.timer && \ systemctl enable flatpak-automatic.timer && \

View File

@@ -32,6 +32,26 @@ The `latest` tag will automatically point to the latest build.
- Mozilla Firefox, Mozilla Thunderbird, Extension Manager, Libreoffice, DejaDup, FontDownloader, Flatseal, and the Celluloid Media Player - Mozilla Firefox, Mozilla Thunderbird, Extension Manager, Libreoffice, DejaDup, FontDownloader, Flatseal, and the Celluloid Media Player
- Core GNOME Applications installed from Flathub - Core GNOME Applications installed from Flathub
- GNOME Calculator, Calendar, Characters, Connections, Contacts, Evince, Firmware, Logs, Maps, NautilusPreviewer, TextEditor, Weather, baobab, clocks, eog, and font-viewer - GNOME Calculator, Calendar, Characters, Connections, Contacts, Evince, Firmware, Logs, Maps, NautilusPreviewer, TextEditor, Weather, baobab, clocks, eog, and font-viewer
## Further Customization
The `just` task runner is included for further customization after first boot.
It will copy the template from `/etc/justfile` to your home directory.
After that run the following commands:
- `just` - Show all tasks, more will be added in the future
- `just bios` - Reboot into the system bios (Useful for dualbooting)
- Set up distroboxes for the following images:
- `just distrobox-boxkit`
- `just distrobox-debian`
- `just distrobox-opensuse`
- `just distrobox-ubuntu`
- `just setup-flatpaks` - Install a selection of flatpaks, use this section to add your own apps
- `just setup-gaming` - Install Steam, Heroic Game Launcher, OBS Studio, Discord, Boatswain, Bottles, and ProtonUp-Qt. MangoHud is installed and enabled by default, hit right Shift-F12 to toggle
- `just update` - Update rpm-ostree, flatpaks, and distroboxes in one command
Check the [just website](https://just.systems) for tips on modifying and adding your own recipes.
## Verification ## Verification
@@ -39,4 +59,4 @@ These images are signed with sisgstore's [cosign](https://docs.sigstore.dev/cosi
cosign verify --key cosign.pub ghcr.io/ublue-os/base cosign verify --key cosign.pub ghcr.io/ublue-os/base
If you're forking this repo you should [read the docs](https://docs.github.com/en/actions/security-guides/encrypted-secrets) on keeping secrets in github. You need to [generate a new keypair](https://docs.sigstore.dev/cosign/overview/) 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. If you're forking this repo you should [read the docs](https://docs.github.com/en/actions/security-guides/encrypted-secrets) on keeping secrets in github. You need to [generate a new keypair](https://docs.sigstore.dev/cosign/overview/) 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.

67
etc/justfile Normal file
View File

@@ -0,0 +1,67 @@
default:
@just --list
bios:
systemctl reboot --firmware-setup
distrobox-boxkit:
echo 'Creating Boxkit distrobox ...'
distrobox create --image ghcr.io/ublue-os/boxkit -n boxkit -Y
distrobox-debian:
echo 'Creating Debian distrobox ...'
distrobox create --image quay.io/toolbx-images/debian-toolbox:unstable -n debian -Y
distrobox-opensuse:
echo 'Creating openSUSE distrobox ...'
distrobox create --image quay.io/toolbx-images/opensuse-toolbox:tumbleweed -n opensuse -Y
distrobox-ubuntu:
echo 'Creating Ubuntu distrobox ...'
distrobox create --image quay.io/toolbx-images/ubuntu-toolbox:22.04 -n ubuntu -Y
setup-flatpaks:
echo 'Setting up your flatpaks...'
flatpak install -y --user \\
com.discordapp.Discord \\
com.mastermindzh.tidal-hifi \\
com.microsoft.Edge \\
com.plexamp.Plexamp \\
com.slack.Slack \\
com.todoist.Todoist \\
com.visualstudio.code \\
im.riot.Riot \\
no.mifi.losslesscut \\
org.standardnotes.standardnotes \\
tv.plex.PlexDesktop \\
us.zoom.Zoom
setup-pwa:
echo 'Giving browser permission to create PWAs (Progressive Web Apps)'
# Add for your favorite chromium-based browser
flatpak override --user --filesystem=~/.local/share/applications --filesystem=~/.local/share/icons com.microsoft.Edge
setup-gaming:
echo 'Setting up gaming experience ... lock and load.'
flatpak install -y --user \\
com.discordapp.Discord \\
com.feaneron.Boatswain \\
org.freedesktop.Platform.VulkanLayer.MangoHud//22.08 \\
org.freedesktop.Platform.VulkanLayer.OBSVkCapture//22.08 \\
org.freedesktop.Platform.VulkanLayer.vkBasalt//22.08 \\
com.heroicgameslauncher.hgl \\
com.obsproject.Studio \\
com.obsproject.Studio.Plugin.OBSVkCapture \\
com.obsproject.Studio.Plugin.Gstreamer \\
com.usebottles.bottles \\
com.valvesoftware.Steam \\
com.valvesoftware.Steam.Utility.gamescope \\
net.davidotek.pupgui2
flatpak override com.usebottles.bottles --user --filesystem=xdg-data/applications
flatpak override --user --env=MANGOHUD=1 com.valvesoftware.Steam
flatpak override --user --env=MANGOHUD=1 com.heroicgameslauncher.hgl
update:
rpm-ostree update
flatpak update -y
distrobox upgrade -a

View File

@@ -130,6 +130,7 @@ echo "100"
echo "# Reticulating Final Splines" echo "# Reticulating Final Splines"
mkdir -p "$HOME"/.config/ublue/ mkdir -p "$HOME"/.config/ublue/
touch "$HOME"/.config/ublue/firstboot-done touch "$HOME"/.config/ublue/firstboot-done
cp -n /etc/justfile "$HOME"/.justfile
) | ) |
@@ -138,4 +139,4 @@ touch "$HOME"/.config/ublue/firstboot-done
if [ "$?" != 0 ] ; then if [ "$?" != 0 ] ; then
zenity --error \ zenity --error \
--text="Firstboot Configuration Error" --text="Firstboot Configuration Error"
fi fi