Skip to content
/ cabos Public

A hyper opinionated Fedora Silverblue spin aimed at creators

License

Notifications You must be signed in to change notification settings

jitcos/cabos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About & Inspirations

My spin based on Fedora Silverblue, which is derived from the amazing Universal Blue project. This image is created with BlueBuild tooling for making & maintaining container-based Linux desktop images.

cabos is inspired and borrows heavily from Bluefin-DX and gidro-os.

The main idea is to have an up-to-date, stable, and pre-configured base OS, and to use customized containers with Distrobox to do development work within it. You can see an example of a base Ubuntu container to get started with here.

ZSH is configured to use oh-my-zsh by default, but customizing the config has changed a little. If you use an Distrobox based on Jetskis, you can share zsh between the two, but also have seperate options as well:

By default, your new .zshrc config for your machine will be located at ~/.config/contexts/localhost/.zshrc. The default config for each Distrobox will be located in ~/.config/contexts/container-name/.zshrc. To have shared config across both localhost and Distrobox containers, create a new config ending in .zsh here: ~/.config/contexts/config.d/. Please note, it is not recommended to modify the base ~/.zshrc file since it will source the appropriate files for whatever you're running at the time.

Running SETUP_DEV_TOOLS=true distrobox enter jetskis will setup nvm and pyenv in your container. You can modify the ~/.zshrc file if you want to install other packages.

Modifications

Removed packages (RPMs):

  • Firefox
  • nvtop (Except for Nvidia images)
  • Gnome Software rpm-ostree package (not needed since we use rpm-ostree auto-updater)
  • Gnome classic session
  • Gnome Tour
  • Gnome Initial Setup
  • Gnome System Monitor
  • Gnome system extensions
  • Gnome Tweaks
  • Gnome Terminal

Installed packages (RPMs):

Installed akmods:

Installed extensions:

Installed flatpaks:

Optional flatpaks at first login:

Settings applied by default:

  • 4 static workspaces (dynamical workspaces disabled)
  • Disabled workspaces only on primary monitor
  • Disabled "hot corners"
  • Disable middle-click paste
  • Enable normal "Minimize, Maximize, and Close" buttons on application windows
  • Use Alt+Left & Alt-Right to navigate workspaces
  • Use Alt+, for Previous Track
  • Use Alt+. for Next Track
  • Use Alt+/ for Play/Pause
  • Enabled two-finger scrolling
  • Disabled "natural" scrolling direction
  • Enabled tap-to-click
  • Not using UI scaling - but set 1.5x font scaling
  • Default to "dark" theme
  • Enabled Night Light
  • Enabled GSConnect
  • Increased inotify limits (for preventing errors like "too many open files" when installing/using some huge applications & games)

Installation

ISO (Recommended)

ISOs are online-based & are constantly upgraded. There is no need to worry about the version & the date of the ISO.

ISO is available for download here.

Just download & proceed with installation.

After you get into the OS, type this command into Terminal & reboot:

rpm-ostree rebase ostree-image-signed:docker://ghcr.io/jitcos/cabos:latest

Rebase from Silverblue

To rebase an existing Silverblue/Kinoite installation to the latest build:

  • First rebase to the unsigned image, to get the proper signing keys and policies installed:
    rpm-ostree rebase ostree-unverified-registry:ghcr.io/jitcos/cabos:<version>
    
  • Reboot to complete the rebase:
    systemctl reboot
    
  • Then rebase to the signed image, like so:
    rpm-ostree rebase ostree-image-signed:docker://ghcr.io/jitcos/cabos:<version>
    
  • Reboot again to complete the installation
    systemctl reboot
    

This repository builds date tags as well, so if you want to rebase to a particular day's build:

rpm-ostree rebase ostree-image-signed:docker://ghcr.io/jitcos/cabos:20230403

Modifications

Optional config:

  • ujust configure-grub: Hide GRUB text output on boot (if you want to make boot process faster [press Shift on boot if you need to see boot menu])
  • ujust enable-hibernation: Setup new swapfile and change configurations to allow your computer to hibernate or suspend-to-hibernate