feat: Steam's System settings: the OS name stays CachyOS (no renaming, also not in About this System), Steamify <version> as the variant, the SteamOS release it follows as the codename (steamos-3.9)

This commit is contained in:
theupriser committed 2026-09-28 19:14:43 +02:00
1 parent 9319cbca1e
commit 435f69c151
6 files changed
+51 -34

No files matched your search

+1 -1
View File
@@ -13,5 +13,5 @@ read and reviewed on their own. `lib/*.sh` reads them with `patch_file
| `steamify-fremont-poweroff.dkms.conf`, `steamify-cros-ec-cec.dkms.conf` | `lib/fremont-poweroff.sh`, `lib/cec.sh` | The DKMS modules' `dkms.conf` (`fill NAME=... VERSION=...`) |
| `steam-shortcuts.py` | `lib/steam-game.sh` (Add as non-Steam game) | Reads and writes Steam's binary `shortcuts.vdf` (find, add or update, remove) |
| `steamify-notifier.py` | `lib/update-notifier.sh` (Update notifications) | The daily check: notification and tray icon when there's a new release |
| `steamify-os-release.sh`, `steamify-os-release.hook` | `lib/login-manager.sh` (SteamOS conversion) | Sets the OS name Steam shows ("CachyOS with Steamify": `DISTRIB_DESCRIPTION` in `/etc/lsb-release`, which `lsb_release -d` gives Steam; never `/etc/os-release`, whose `PRETTY_NAME` limine-snapper-sync needs); the pacman hook runs it again after cachyos-hooks resets it (`fill SCRIPT=...`) |
| `steamify-os-release.sh`, `steamify-os-release.hook` | `lib/login-manager.sh` (SteamOS conversion) | Steamify as the OS variant and version, and the SteamOS release it follows as the codename, for Steam's System settings (`VARIANT`, `VERSION_ID`, `VERSION_CODENAME` in `/etc/os-release`; the OS name stays CachyOS's); the pacman hook runs it again after cachyos-hooks (`fill SCRIPT=... VERSION=... CODENAME=...`) |
| `cros-ec-cec-single-port.patch` | `lib/cec.sh` (HDMI-CEC) | Makes Valve's Steam Machine CEC driver find amdgpu's HDMI port |
+2 -3
View File
@@ -1,15 +1,14 @@
# Installed by Steamify CachyOS (SteamOS conversion): runs after
# cachyos-hooks' lsb-release/cachyos-branding hooks (hooks run in file name
# cachyos-hooks' os-release/cachyos-branding hooks (hooks run in file name
# order).
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = filesystem
Target = lsb-release
Target = cachyos-hooks
[Action]
Description = Steamify: the OS name Steam shows (CachyOS with Steamify)
Description = Steamify: the OS variant and version Steam shows
When = PostTransaction
Exec = @SCRIPT@
+9 -9
View File
@@ -1,11 +1,11 @@
#!/bin/sh
# Installed by Steamify CachyOS (SteamOS conversion): what Steam shows in its
# System settings. The OS name is `lsb_release -d` (DISTRIB_DESCRIPTION in
# /etc/lsb-release); the version comes from /etc/os-release's VARIANT and
# VERSION_ID. CachyOS's hooks reset lsb-release on updates of lsb-release and
# cachyos-hooks; the zz-steamify-os-release hook runs this after them.
# os-release's NAME and PRETTY_NAME stay CachyOS's: limine-snapper-sync finds
# the boot entries by the OS name.
sed -i 's|^DISTRIB_DESCRIPTION=.*$|DISTRIB_DESCRIPTION="CachyOS with Steamify"|' /etc/lsb-release
sed -i -e '/^VARIANT=/d' -e '/^VARIANT_ID=/d' -e '/^VERSION_ID=/d' /etc/os-release
printf '%s\n' 'VARIANT="Steamify"' 'VARIANT_ID=steamify' 'VERSION_ID=@VERSION@' >> /etc/os-release
# System settings besides the OS name, which stays CachyOS's: Steamify as the
# variant and version, and the SteamOS release it follows as the codename
# (/etc/os-release's VARIANT, VERSION_ID, VERSION_CODENAME). NAME and
# PRETTY_NAME are never touched: limine-snapper-sync finds the boot entries by
# the OS name. The zz-steamify-os-release hook runs this after cachyos-hooks.
sed -i -e '/^VARIANT=/d' -e '/^VARIANT_ID=/d' -e '/^VERSION_ID=/d' -e '/^VERSION_CODENAME=/d' /etc/os-release
printf '%s\n' 'VARIANT="Steamify @VERSION@"' 'VARIANT_ID=steamify' 'VERSION_ID=@VERSION@' >> /etc/os-release
[ -n "@CODENAME@" ] && echo 'VERSION_CODENAME=@CODENAME@' >> /etc/os-release
exit 0