https://github.com/icedream/steamos-permanent-mods
Work in progress tool for SteamOS modifications that can be reproduced automatically for each update.
https://github.com/icedream/steamos-permanent-mods
Last synced: 5 months ago
JSON representation
Work in progress tool for SteamOS modifications that can be reproduced automatically for each update.
- Host: GitHub
- URL: https://github.com/icedream/steamos-permanent-mods
- Owner: icedream
- Created: 2022-04-22T03:14:27.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-11-28T22:06:47.000Z (7 months ago)
- Last Synced: 2025-12-01T00:51:39.352Z (7 months ago)
- Language: Shell
- Size: 55.7 KB
- Stars: 17
- Watchers: 4
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Steam Mutator
**Disclaimer:** I test this against a real Steam Deck and sometimes manually
test this against a MiniForums UM700 and virtualization via QEMU and VMware.
This is just an experiment and nothing to be considered stable in any shape or
form, run this if you feel adventurous and you expect to have your OS broken for
no good reason.
This tool allows for SteamOS to be used with persistent system modifications and
AUR packages.
## Features
User scripts are shipped with the software to automatically do these things:
- Enable SSH server
- Enable pacman and yay to work properly
- Restore development files necessary to compile software for SteamOS/Steam Deck
- Make SteamOS support non-Deck hardware
- Install SteamOS Homebrew Plugin Loader development version
## How is it done?
SteamOS uses [RAUC](https://rauc.io) for its update mechanism. I hook into this
update mechanism with my own post-install script that scans for user scripts to
run additional commands. Examples of such user scripts are shipped with the
software.
## How to install?
*Work in progress, more info soon.*
### From Git/GitHub source archive
./autogen.sh
./configure --prefix=/usr/local --sysconfdir=/etc [--options…]
make
To install to system run `make install` as `root` user.
Afterwards, follow the "Manual setup" section below.
### From source distribution archive
./configure --prefix=/usr/local --sysconfdir=/etc [--options…]
make
To install to system run `make install` as `root` user.
Afterwards, follow the "Manual setup" section below.
### Manual setup
You will have to manually edit the file `/etc/rauc/system.conf` as follows:
```diff
-post-install=/usr/lib/rauc/post-install.sh
+post-install=/usr/local/lib/steamos-permanent-mods/post-install.sh
```
Now restart rauc by running
sudo systemctl restart rauc
From here onwards new SteamOS updates will run this app and it will copy itself
and all configuration over to the new rootfs.
Then go to `/etc/steamos-permanent-mods/` and read the `README.md` file there
for more information. You can start using some of the shipped example scripts by
symlinking them, for example this would enable the two scripts to restore all
stripped files and enable pacman and yay to be fully usable:
ln -s ../../share/steamos-permanent-mods/examples/00-pacman.sh
ln -s ../../share/steamos-permanent-mods/examples/10-pacman-unstrip.sh
I highly encourage you to explore the code of the shipped scripts since there is
a lot of included commentary.
If you want to immediately apply these scripts, run the steamos-atomupd-client
command that is referenced in the aforementioned readme file:
/usr/sbin/steamos-atomupd-client \
--manifest /etc/steamos-atomupd/manifest.json -d