Skip to content

fiftydinar/gidro-os

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gidro-OS

My customized image, based on Fedora Silverblue.

Gidro-OS was based on Universal Blue's silverblue-main image in the past, but now, I just take some stuff that I need from them in a convenient recipe as a base.
Reasoning for that is to have more control over the Universal Blue's base, which would make it possible for me to react immediately with changes if needed, to avoid some questionable additions to the base, to make image smaller (and with it, updates faster) etc.
You can see my changes to the base recipe here.

This image is created using the easy & robust BlueBuild tooling for creating & maintaining container-based Linux desktop images.
It is similar to making custom ROMs in the Android community, but in a much easier & more reliable way.

Why did I make the custom image?

Modifications

Removed packages (RPMs):

  • Gnome classic session
  • Gnome system extensions (some are from Fedora, some are from Gnome classic session, which are not needed)

Replaced packages (RPMs):

Replaced packages (RPMs) with flatpaks:

Installed packages (RPMs):

  • Additional Game ROM Properties for Nautilus
  • Nautilus Python (for Python Nautilus extensions)
  • Python3-icoextract (for .exe icons thumbnailing support)
  • Gnome-randr-rust (xrandr equivalent for Gnome Wayland)
  • Langpacks-EN (for avoiding Gnome Software's message about it & for potentially solving flatpak mixed locale issues)
  • Zsync (Needed dependency for some AppImage auto-updates)
  • Miniaturo (RAW pictures thumbnailing for Nautilus)
  • BrLaser (Driver which supports additional Brother printers)
  • Epson-inkjet-printer-escpr 1 & 2 (Driver which supports some additional Epson printers)
  • HPlip (Driver which supports some additional HP printers)
  • Foo2zjs (Driver which supports some additional Konica Minolta printers)
  • Uld (Driver which supports some additional Samsung printers)
  • sg3_utils (Package which contains utilities that send SCSI commands to devices - used by Apple SuperDrive)
  • bootc (Required package for the bootloader update when using ISO)
  • rar (RAR CLI package)
  • pandoc (CLI Document converter)
  • fontconfig-font-replacements (Also known as better-fonts. It fills the gap of missing proprietary fonts with the open-source font replacements)

Installed extensions:

Installed flatpaks:

Optional just config:

Settings applied by default:

  • Enabled experimental support for Variable Refresh Rate on supported screens (improves video & gaming experience by dynamically matching screen refresh rate with the content framerate)
  • Enabled Vulkan support for AMD GCN 1.0 & GCN 2.0 GPUs (for better performance & compatibility with those GPUs)
  • Kyber I/O scheduler for SSDs/NVMEs, BFQ I/O scheduler for HDDs/microSDs/eMMCs (for improved responsiveness under I/O load)
  • ZSTD I/O scheduler for ZRAM & better ZRAM values suited for desktop (avoids OOM situations better & it also improves responsiveness under I/O load. Also thanks to MaxPerfWiz & @ahydronous for some good research & values.)
  • Set memlock limit from 64kb to 2GB (maps maximum locked value of 2GB per operation, needed for RPCS3 emulator)
  • Increased vm.max_map_count value to match SteamOS (to allow some memory-hungry applications such as games to use more memory maps, which allows them to run & not crash)
  • Disabled kernel split-lock mitigate (for restoring performance of affected games)
  • Reduced dirty pages for USB devices (for showing real transfer speed of USB devices, rather than speed of writing to cache. Thanks to the user Megavolt from Manjaro forums for the useful benchmark)
  • Enabled Nvidia GSP firmware for Nouveau GPU driver (to enable power-management for Nvidia GTX 1650+ GPUs)
  • Increased inotify limits (for preventing errors like "too many open files" when installing/using some huge applications & games)
  • Increased file nolimits (for preventing non-working Esync)
  • BBR TCP congestion algorithm & FQ network packet scheduling (for better network performance, especially in low-signal situations)
  • Applied workaround for automatic assignment of adbusers group to all users (so Android platform-tools is ready to be used without tinkering)
  • Appended plugdev group to users, to make some udev rules like Yubikey working
  • Partially fixed caps-lock delay (which is present in all other Linux distributions)
  • Enabled num-lock by default
  • Set font hinting to "None"
  • Set Nokia Pure Text font as default
  • Set a beautiful Symbian^3 picture as a wallpaper, including dark variant
  • Set light & dark theme to AdwGtk3 for GTK3 applications (to make Adwaita design more consistent)
  • Use MoreWaita icon pack (to extend Adwaita theme icon language)
  • Set Serbian Latin language as the locale (display language remains English)
  • Set top bar to show weekday too in all languages
  • Show battery percentage in top bar
  • Power button powers off PC instead of suspending it
  • Enabled "Remove Old Trash files automatically" in Nautilus (every 30 days by default in Gnome)
  • Set mouse acceleration to flat
  • Disabled mouse middle-click to paste & touchpad 3-click to paste for GTK applications
  • Set Blur my Shell blur radius value to 8, as default value is too strong & looks cheap when using default background
  • Set OpenWeather Refined to:
    • show conditions in top bar
    • show sunrise/sunset in top bar
    • use "mbar" as pressure unit
    • use arrows for wind direction
    • use packaged icons
    • use custom OpenWeatherMap API key (solves "too many users" issue)
    • use OpenWeatherMap provider by default
  • Set Notifications Alert to use less distracting, but still noticeable color for the alert instead of default bright red. This color also fits the top bar blur much better.
  • Set Bluetooth Battery Meter to show battery percentage
  • Set Night Time Switcher time offset to 0 & set manual time (time based on automatic location is not accurate. Manual location can be specified instead)
  • Set Gnome 4x UI Improvements to only enable wallpaper thumbnails in workspace switcher
  • Enabled Nautilus "Sort folders before files"
  • Set keyboard delay to be much lower, as Gnome defaults are too slow
  • "Window not responding" dialog extended to 20s (to prevent constant dialog showup in some games)
  • Add Nautilus "New Document" to context menu
  • Set Gnome Software to use Flathub-user remote by default (makes separation between OS flatpaks & user flatpaks much better)
  • Disable Gnome Software flatpak auto-updater (not needed since Gidro-OS uses included ublue-os flatpak auto-updater)
  • Disable Gnome Software "Software Repositories" option (Warehouse implements the same functionality)
  • Lock some settings to prevent users messing with the system reliability, while still remaining customizable
  • Hide ROM Properties desktop shortcut
  • Enable silent auto-start on boot for those applications:
    • Steam
    • Discord
    • ArmCord
    • Telegram
    • Deluge
    • TutaMail
  • Set Text Editor to:
    • use Nokia Pure text font
    • disable Restore Session
    • use higher contrast theme
    • highlight line numbers
  • Set Folio to use Nokia Pure text font
  • Set Calculator to separate thousands
  • Set Clapper (Videos) to use Nokia Pure font for subtitles
  • Set Gapless to enable background playback
  • Set Terminal (Ptyxis) to don't restore session by default
  • Use cool BlueBuild boot & login-screen logo instead of Fedora

Installation (ISO) [Recommended]

Please read the Wiki before proceeding with the installation.

ISO doesn't require an active internet connection during its usage.

TORRENT LINK
(higher download speed)

ISO CHECKSUM
(verify the checksum if ISO is downloaded correctly with apps like Collision)

Just download the ISO & proceed with installation.

Installation (Rebase)

Please read the Wiki before proceeding with the installation.

Rebasing is only supported from Fedora Silverblue edition.

To rebase an existing Silverblue installation to the latest build:

  • Reset any package overrides that you might have:
    rpm-ostree override reset --all
    
  • Remove all packages that you layered:
    rpm-ostree uninstall --all
    
  • Reset any initramfs modifications that you might have:
    rpm-ostree initramfs --disable
    
    rpm-ostree initramfs-etc --untrack-all
    
  • Rebase to the unsigned image, to get the proper signing keys and policies installed:
    rpm-ostree rebase ostree-unverified-registry:ghcr.io/fiftydinar/gidro-os:latest
    
  • Reboot to complete the rebase:
    systemctl reboot
    
  • Then rebase to the signed image, like so:
    rpm-ostree rebase ostree-image-signed:docker://ghcr.io/fiftydinar/gidro-os:latest
    
  • Reboot again to complete the installation
    systemctl reboot
    

COPR repos used for some installed RPM packages

Note for myself regarding what I do after install

  • I use amd_pstate=active kernel argument to force pstate for my supported CPU (Ryzen 5 5600X, waiting for upstream to enable it by default)

About

My personalized custom OS image.

Resources

License

Stars

Watchers

Forks

Releases

No releases published