mirror of
https://github.com/theupriser/steamify-cachyos.git
synced 2026-10-03 17:41:58 +02:00
feat: The script is now steamify.sh
- setup-gamescope-boot.sh renamed to steamify.sh; all references updated. - Releases publish the bundle as steamify.sh and, for older install commands, setup-gamescope-boot.sh. - The Steamify shortcut runs steamify.sh.
This commit is contained in:
1 parent
1c34a97598
commit
69a420b8aa
19 files changed
+58
-47
No files matched your search
@@ -1,16 +1,16 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Build a single-file version of the wizard for `curl | bash` use:
|
# Build a single-file version of the wizard for `curl | bash` use:
|
||||||
# .github/tools/bundle.sh [output] (default: dist/setup-gamescope-boot.sh)
|
# .github/tools/bundle.sh [output] (default: dist/steamify.sh)
|
||||||
#
|
#
|
||||||
# Inlines lib/*.sh in the order setup-gamescope-boot.sh sources them and
|
# Inlines lib/*.sh in the order steamify.sh sources them and
|
||||||
# wraps the entry point's body in main(), so bash has read the whole file
|
# wraps the entry point's body in main(), so bash has read the whole file
|
||||||
# before anything runs. That lets the bundle reattach stdin to the terminal
|
# before anything runs. That lets the bundle reattach stdin to the terminal
|
||||||
# when it was piped in by curl, so the interactive menu still works.
|
# when it was piped in by curl, so the interactive menu still works.
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
cd "$(dirname "$0")/../.."
|
cd "$(dirname "$0")/../.."
|
||||||
|
|
||||||
out="${1:-dist/setup-gamescope-boot.sh}"
|
out="${1:-dist/steamify.sh}"
|
||||||
entry=setup-gamescope-boot.sh
|
entry=steamify.sh
|
||||||
mkdir -p "$(dirname "$out")"
|
mkdir -p "$(dirname "$out")"
|
||||||
|
|
||||||
# Library order, taken from the entry point's source loop.
|
# Library order, taken from the entry point's source loop.
|
||||||
@@ -28,10 +28,10 @@ version="v$(grep -oP '^VERSION=\K.*' "$entry"), $(git describe --always --dirty
|
|||||||
for lib in $libs; do
|
for lib in $libs; do
|
||||||
echo "# ----- lib/$lib.sh -----"
|
echo "# ----- lib/$lib.sh -----"
|
||||||
# Drop each module's shebang and its "Sourced by ..." boilerplate.
|
# Drop each module's shebang and its "Sourced by ..." boilerplate.
|
||||||
sed -e '1{/^#!/d}' -e '/^# Sourced by setup-gamescope-boot.sh/d' "lib/$lib.sh"
|
sed -e '1{/^#!/d}' -e '/^# Sourced by steamify.sh/d' "lib/$lib.sh"
|
||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
echo "# ----- setup-gamescope-boot.sh -----"
|
echo "# ----- steamify.sh -----"
|
||||||
echo "main() {"
|
echo "main() {"
|
||||||
# Everything after the source loop is the entry point's body.
|
# Everything after the source loop is the entry point's body.
|
||||||
sed -n '/^for lib in /,$p' "$entry" | sed '1,/^done$/d' | sed 's/^/ /; s/^ $//'
|
sed -n '/^for lib in /,$p' "$entry" | sed '1,/^done$/d' | sed 's/^/ /; s/^ $//'
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
# Builds the single-file wizard (.github/tools/bundle.sh) and publishes it as a
|
# Builds the single-file wizard (.github/tools/bundle.sh) and publishes it as a
|
||||||
# release per version: tag v$VERSION (VERSION in setup-gamescope-boot.sh),
|
# release per version: tag v$VERSION (VERSION in steamify.sh),
|
||||||
# with that version's CHANGELOG.md section as notes. A released version is
|
# with that version's CHANGELOG.md section as notes. A released version is
|
||||||
# never overwritten; the newest one is marked latest, and the "latest" tag and
|
# never overwritten; the newest one is marked latest, and the "latest" tag and
|
||||||
# release are moved to it, so both of these always get the newest version:
|
# release are moved to it, so both of these always get the newest version:
|
||||||
# curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/latest/download/setup-gamescope-boot.sh | bash
|
# curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/latest/download/steamify.sh | bash
|
||||||
# curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/download/latest/setup-gamescope-boot.sh | bash
|
# curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/download/latest/steamify.sh | bash
|
||||||
|
# The bundle is also published as setup-gamescope-boot.sh, its name before
|
||||||
|
# 0.9.0, so older install commands keep working.
|
||||||
# Pull requests only build and check it, and warn when VERSION is already released.
|
# Pull requests only build and check it, and warn when VERSION is already released.
|
||||||
name: Single-file build
|
name: Single-file build
|
||||||
|
|
||||||
@@ -26,29 +28,32 @@ jobs:
|
|||||||
fetch-depth: 0 # for the version in the bundle's header
|
fetch-depth: 0 # for the version in the bundle's header
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: .github/tools/bundle.sh dist/setup-gamescope-boot.sh
|
run: |
|
||||||
|
.github/tools/bundle.sh dist/steamify.sh
|
||||||
|
# Old name (before 0.9.0), for older install commands and links.
|
||||||
|
cp dist/steamify.sh dist/setup-gamescope-boot.sh
|
||||||
|
|
||||||
- name: Check
|
- name: Check
|
||||||
run: |
|
run: |
|
||||||
bash -n dist/setup-gamescope-boot.sh
|
bash -n dist/steamify.sh
|
||||||
# SC2034/SC2154: variables used across the inlined modules.
|
# SC2034/SC2154: variables used across the inlined modules.
|
||||||
shellcheck -S warning -e SC2034,SC2154 dist/setup-gamescope-boot.sh
|
shellcheck -S warning -e SC2034,SC2154 dist/steamify.sh
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: setup-gamescope-boot
|
name: steamify
|
||||||
path: dist/setup-gamescope-boot.sh
|
path: dist/steamify.sh
|
||||||
|
|
||||||
- name: Version
|
- name: Version
|
||||||
id: version
|
id: version
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ github.token }}
|
GH_TOKEN: ${{ github.token }}
|
||||||
run: |
|
run: |
|
||||||
version="$(grep -oP '^VERSION=\K.*' setup-gamescope-boot.sh)"
|
version="$(grep -oP '^VERSION=\K.*' steamify.sh)"
|
||||||
echo "version=$version" >> "$GITHUB_OUTPUT"
|
echo "version=$version" >> "$GITHUB_OUTPUT"
|
||||||
if gh release view "v$version" >/dev/null 2>&1; then
|
if gh release view "v$version" >/dev/null 2>&1; then
|
||||||
echo "released=true" >> "$GITHUB_OUTPUT"
|
echo "released=true" >> "$GITHUB_OUTPUT"
|
||||||
echo "::warning::v$version is already released and won't be overwritten. Bump VERSION in setup-gamescope-boot.sh and add a CHANGELOG.md section to release this."
|
echo "::warning::v$version is already released and won't be overwritten. Bump VERSION in steamify.sh and add a CHANGELOG.md section to release this."
|
||||||
else
|
else
|
||||||
echo "released=false" >> "$GITHUB_OUTPUT"
|
echo "released=false" >> "$GITHUB_OUTPUT"
|
||||||
fi
|
fi
|
||||||
@@ -68,11 +73,11 @@ jobs:
|
|||||||
notes="Single-file build of v$VERSION ($(git describe --always), $(git log -1 --format=%cs)).
|
notes="Single-file build of v$VERSION ($(git describe --always), $(git log -1 --format=%cs)).
|
||||||
Run the newest version with:
|
Run the newest version with:
|
||||||
|
|
||||||
curl -fsSL https://github.com/${{ github.repository }}/releases/latest/download/setup-gamescope-boot.sh | bash
|
curl -fsSL https://github.com/${{ github.repository }}/releases/latest/download/steamify.sh | bash
|
||||||
|
|
||||||
## Changes in v$VERSION
|
## Changes in v$VERSION
|
||||||
$changes"
|
$changes"
|
||||||
gh release create "v$VERSION" dist/setup-gamescope-boot.sh assets/steam-gaming-settings.svg \
|
gh release create "v$VERSION" dist/steamify.sh dist/setup-gamescope-boot.sh assets/steam-gaming-settings.svg \
|
||||||
--target "$GITHUB_SHA" --title "Steamify CachyOS v$VERSION" --notes "$notes" --latest
|
--target "$GITHUB_SHA" --title "Steamify CachyOS v$VERSION" --notes "$notes" --latest
|
||||||
|
|
||||||
# "latest" follows the newest version tag, for the older install URL
|
# "latest" follows the newest version tag, for the older install URL
|
||||||
@@ -85,4 +90,4 @@ jobs:
|
|||||||
else
|
else
|
||||||
gh release create latest --title "Steamify CachyOS - latest (v$VERSION)" --notes "$latest_notes" --latest=false
|
gh release create latest --title "Steamify CachyOS - latest (v$VERSION)" --notes "$latest_notes" --latest=false
|
||||||
fi
|
fi
|
||||||
gh release upload latest dist/setup-gamescope-boot.sh assets/steam-gaming-settings.svg --clobber
|
gh release upload latest dist/steamify.sh dist/setup-gamescope-boot.sh assets/steam-gaming-settings.svg --clobber
|
||||||
@@ -12,7 +12,7 @@ gamescope and the Plasma desktop. Primary target: the Valve Steam Machine
|
|||||||
|
|
||||||
## Layout
|
## Layout
|
||||||
|
|
||||||
- `setup-gamescope-boot.sh` - the only entry point. Pre-flight checks,
|
- `steamify.sh` - the only entry point. Pre-flight checks,
|
||||||
sources `lib/*.sh`, runs the menu and applies the plan. No component
|
sources `lib/*.sh`, runs the menu and applies the plan. No component
|
||||||
logic here.
|
logic here.
|
||||||
- `lib/*.sh` - one file per responsibility, each defining functions only
|
- `lib/*.sh` - one file per responsibility, each defining functions only
|
||||||
@@ -59,7 +59,7 @@ gamescope and the Plasma desktop. Primary target: the Valve Steam Machine
|
|||||||
- Comments explain *why* (the CachyOS/Plasma quirk being worked around),
|
- Comments explain *why* (the CachyOS/Plasma quirk being worked around),
|
||||||
not what the next line does.
|
not what the next line does.
|
||||||
|
|
||||||
- **Versioning and releases.** SemVer in `VERSION` (`setup-gamescope-boot.sh`,
|
- **Versioning and releases.** SemVer in `VERSION` (`steamify.sh`,
|
||||||
shown in the menu header and the bundle header).
|
shown in the menu header and the bundle header).
|
||||||
- Every commit gets an entry in `CHANGELOG.md` under its version (short hash
|
- Every commit gets an entry in `CHANGELOG.md` under its version (short hash
|
||||||
+ subject; a commit can't contain its own hash, so fill it in with the
|
+ subject; a commit can't contain its own hash, so fill it in with the
|
||||||
@@ -70,7 +70,7 @@ gamescope and the Plasma desktop. Primary target: the Valve Steam Machine
|
|||||||
changelog section) and marks it latest. An existing version is never
|
changelog section) and marks it latest. An existing version is never
|
||||||
overwritten: without a bump nothing is released, and pull requests show
|
overwritten: without a bump nothing is released, and pull requests show
|
||||||
a warning.
|
a warning.
|
||||||
- Users install through `releases/latest/download/setup-gamescope-boot.sh`
|
- Users install through `releases/latest/download/steamify.sh`
|
||||||
(GitHub's newest release). The `latest` tag and release follow the newest
|
(GitHub's newest release). The `latest` tag and release follow the newest
|
||||||
version tag too (moved, asset replaced, when a new version is released),
|
version tag too (moved, asset replaced, when a new version is released),
|
||||||
so the older URL `releases/download/latest/...` keeps working.
|
so the older URL `releases/download/latest/...` keeps working.
|
||||||
@@ -150,7 +150,7 @@ gamescope and the Plasma desktop. Primary target: the Valve Steam Machine
|
|||||||
restart is needed), until `q`; the restart question is asked once at the
|
restart is needed), until `q`; the restart question is asked once at the
|
||||||
end. Scripted input that runs out ends the loop like `q`.
|
end. Scripted input that runs out ends the loop like `q`.
|
||||||
- Steamify shortcut (`launcher`): the icon runs `curl | bash` of
|
- Steamify shortcut (`launcher`): the icon runs `curl | bash` of
|
||||||
`releases/latest/download/setup-gamescope-boot.sh` in Konsole, so it's
|
`releases/latest/download/steamify.sh` in Konsole, so it's
|
||||||
always the newest release. Its icon, `assets/steam-gaming-settings.svg`
|
always the newest release. Its icon, `assets/steam-gaming-settings.svg`
|
||||||
(Valve's GPL-2.0 return icon with a gear), is a release asset too, and is
|
(Valve's GPL-2.0 return icon with a gear), is a release asset too, and is
|
||||||
downloaded from there (Steam's icon if that fails). Desktop files are
|
downloaded from there (Steam's icon if that fails). Desktop files are
|
||||||
@@ -169,8 +169,8 @@ array (e.g. `g` in `lib/state.sh`), or CI's shellcheck on the bundle fails.
|
|||||||
There is no test suite. At minimum:
|
There is no test suite. At minimum:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
for f in setup-gamescope-boot.sh lib/*.sh; do bash -n "$f"; done
|
for f in steamify.sh lib/*.sh; do bash -n "$f"; done
|
||||||
shellcheck -S warning setup-gamescope-boot.sh lib/*.sh # if available
|
shellcheck -S warning steamify.sh lib/*.sh # if available
|
||||||
```
|
```
|
||||||
|
|
||||||
Behaviour is verified in a CachyOS QEMU/KVM test VM. The VM scripts and a
|
Behaviour is verified in a CachyOS QEMU/KVM test VM. The VM scripts and a
|
||||||
|
|||||||
+6
-2
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
All notable changes, per version and per commit. Versions follow
|
All notable changes, per version and per commit. Versions follow
|
||||||
[Semantic Versioning](https://semver.org/); the current one is `VERSION` in
|
[Semantic Versioning](https://semver.org/); the current one is `VERSION` in
|
||||||
`setup-gamescope-boot.sh`. Versions before 0.7.0 were numbered afterwards,
|
`steamify.sh`. Versions before 0.7.0 were numbered afterwards,
|
||||||
one per merged pull request.
|
one per merged pull request.
|
||||||
|
|
||||||
## 0.9.0 - 2026-09-24
|
## 0.9.0 - 2026-09-24
|
||||||
@@ -21,12 +21,16 @@ itself on the desktop.
|
|||||||
- `be874b8` **feat: Rename to Steamify CachyOS**
|
- `be874b8` **feat: Rename to Steamify CachyOS**
|
||||||
- Menu header, the shortcut ("Steamify CachyOS", menu item "Steamify
|
- Menu header, the shortcut ("Steamify CachyOS", menu item "Steamify
|
||||||
shortcut"), release titles, README and AGENTS.md.
|
shortcut"), release titles, README and AGENTS.md.
|
||||||
- **chore: Repository renamed to steamify-cachyos**
|
- `1c34a97` **chore: Repository renamed to steamify-cachyos**
|
||||||
- All URLs point to `github.com/theupriser/steamify-cachyos` (the old ones
|
- All URLs point to `github.com/theupriser/steamify-cachyos` (the old ones
|
||||||
redirect). The script keeps its name, `setup-gamescope-boot.sh`, so the
|
redirect). The script keeps its name, `setup-gamescope-boot.sh`, so the
|
||||||
old download URL keeps working; internal names such as
|
old download URL keeps working; internal names such as
|
||||||
`~/.local/state/cachyos-gamescope-boot` stay, so existing installs can
|
`~/.local/state/cachyos-gamescope-boot` stay, so existing installs can
|
||||||
still be turned off.
|
still be turned off.
|
||||||
|
- **feat: The script is now steamify.sh**
|
||||||
|
- `setup-gamescope-boot.sh` is renamed to `steamify.sh`; releases publish the
|
||||||
|
bundle under both names, so `.../download/setup-gamescope-boot.sh` keeps
|
||||||
|
working. The Steamify shortcut runs `steamify.sh`.
|
||||||
|
|
||||||
## 0.8.0 - 2026-09-24 (#8)
|
## 0.8.0 - 2026-09-24 (#8)
|
||||||
|
|
||||||
|
|||||||
@@ -44,17 +44,19 @@ Everything you turn off is put back the way it was.
|
|||||||
Open **Konsole** on your Plasma desktop and run:
|
Open **Konsole** on your Plasma desktop and run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/latest/download/setup-gamescope-boot.sh | bash
|
curl -fsSL https://github.com/theupriser/steamify-cachyos/releases/latest/download/steamify.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
That downloads and runs the latest single-file version, and works in any
|
(Before 0.9.0 the script was called `setup-gamescope-boot.sh`; that name
|
||||||
|
still works in the download URL.) That downloads and runs the latest
|
||||||
|
single-file version, and works in any
|
||||||
shell, including fish (CachyOS's default). Prefer to keep a copy, or to look
|
shell, including fish (CachyOS's default). Prefer to keep a copy, or to look
|
||||||
at the script first? Clone the repository instead:
|
at the script first? Clone the repository instead:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/theupriser/steamify-cachyos.git
|
git clone https://github.com/theupriser/steamify-cachyos.git
|
||||||
cd steamify-cachyos
|
cd steamify-cachyos
|
||||||
./setup-gamescope-boot.sh
|
./steamify.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
Run it as yourself, not as root. You'll see a checklist:
|
Run it as yourself, not as root. You'll see a checklist:
|
||||||
@@ -351,7 +353,7 @@ gamescope-session, ...) stay installed.
|
|||||||
|
|
||||||
| File | Responsibility |
|
| File | Responsibility |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `setup-gamescope-boot.sh` | Entry point: checks, menu, apply, summary, restart |
|
| `steamify.sh` | Entry point: checks, menu, apply, summary, restart |
|
||||||
| `lib/menu.sh` | The menu: detect, toggle, plan and apply changes |
|
| `lib/menu.sh` | The menu: detect, toggle, plan and apply changes |
|
||||||
| `lib/state.sh` | Undo journal for KDE settings (`kset`/`krevert`) |
|
| `lib/state.sh` | Undo journal for KDE settings (`kset`/`krevert`) |
|
||||||
| `lib/common.sh` | Output helpers, prompts, backups, plasmashell handling |
|
| `lib/common.sh` | Output helpers, prompts, backups, plasmashell handling |
|
||||||
@@ -365,7 +367,7 @@ gamescope-session, ...) stay installed.
|
|||||||
| `lib/wizard-shortcut.sh` | Steamify shortcut: desktop icon and launcher entry that run the newest release |
|
| `lib/wizard-shortcut.sh` | Steamify shortcut: desktop icon and launcher entry that run the newest release |
|
||||||
| `lib/bios.sh` | Update BIOS (Steam Machine, opt-in): current/newest version, double confirmation, fwupd |
|
| `lib/bios.sh` | Update BIOS (Steam Machine, opt-in): current/newest version, double confirmation, fwupd |
|
||||||
| `lib/steam-machine.sh` | Steam Machine support: LED driver, LED access, steamos-manager |
|
| `lib/steam-machine.sh` | Steam Machine support: LED driver, LED access, steamos-manager |
|
||||||
| `.github/tools/bundle.sh` | Builds the single-file version (`dist/setup-gamescope-boot.sh`) |
|
| `.github/tools/bundle.sh` | Builds the single-file version (`dist/steamify.sh`) |
|
||||||
| `.github/workflows/bundle.yml` | Builds and checks it on every push; publishes it on `main` |
|
| `.github/workflows/bundle.yml` | Builds and checks it on every push; publishes it on `main` |
|
||||||
|
|
||||||
The single-file version is generated: on every push to `main`, GitHub
|
The single-file version is generated: on every push to `main`, GitHub
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
# the newest Steam Machine BIOS from Valve's fremont-hw-support package with
|
# the newest Steam Machine BIOS from Valve's fremont-hw-support package with
|
||||||
# fwupd. It's an action, not an on/off component: never preselected, never
|
# fwupd. It's an action, not an on/off component: never preselected, never
|
||||||
# re-applied, and there is nothing to turn off afterwards.
|
# re-applied, and there is nothing to turn off afterwards.
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
BIOS_REPO_PREFIX=holo
|
BIOS_REPO_PREFIX=holo
|
||||||
# WIZARD_BIOS_DRY_RUN=1 walks through the whole BIOS update (download,
|
# WIZARD_BIOS_DRY_RUN=1 walks through the whole BIOS update (download,
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Output helpers, prompts and small shared utilities.
|
# Output helpers, prompts and small shared utilities.
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
c_reset="\033[0m"; c_bold="\033[1m"; c_green="\033[32m"; c_yellow="\033[33m"; c_red="\033[31m"; c_cyan="\033[36m"; c_dim="\033[2m"
|
c_reset="\033[0m"; c_bold="\033[1m"; c_green="\033[32m"; c_yellow="\033[33m"; c_red="\033[31m"; c_cyan="\033[36m"; c_dim="\033[2m"
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# "Return to Gaming Mode" desktop shortcut and the sudoers rule it needs.
|
# "Return to Gaming Mode" desktop shortcut and the sudoers rule it needs.
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
create_desktop_shortcut() {
|
create_desktop_shortcut() {
|
||||||
# Determine the home directory of the target user
|
# Determine the home directory of the target user
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Booting into gaming mode: autologin into gamescope with SDDM or
|
# Booting into gaming mode: autologin into gamescope with SDDM or
|
||||||
# plasma-login-manager (plus the session sync bridge the latter needs).
|
# plasma-login-manager (plus the session sync bridge the latter needs).
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
BASE_CONF="/etc/plasmalogin.conf"
|
BASE_CONF="/etc/plasmalogin.conf"
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Interactive menu: detects which components are on, lets the user pick what
|
# Interactive menu: detects which components are on, lets the user pick what
|
||||||
# they want, then turns components on or off to match.
|
# they want, then turns components on or off to match.
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
# Menu order. Components are turned on in this order and off in reverse;
|
# Menu order. Components are turned on in this order and off in reverse;
|
||||||
# gaming must come first (single user builds on it).
|
# gaming must come first (single user builds on it).
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Required packages and AUR helper handling.
|
# Required packages and AUR helper handling.
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
aur_noninteractive_flags() {
|
aur_noninteractive_flags() {
|
||||||
# Fully non-interactive install flags for the given AUR helper: no
|
# Fully non-interactive install flags for the given AUR helper: no
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
# log out, since typing a password with a controller is miserable. Goes
|
# log out, since typing a password with a controller is miserable. Goes
|
||||||
# together with SDDM (see lib/login-manager.sh). All changes are journaled
|
# together with SDDM (see lib/login-manager.sh). All changes are journaled
|
||||||
# per user (lib/state.sh), so turning it off restores KDE's previous state.
|
# per user (lib/state.sh), so turning it off restores KDE's previous state.
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
single_status() {
|
single_status() {
|
||||||
[[ "$(kreadconfig6 --file kdeglobals --group "KDE Action Restrictions" --key action/lock_screen)" == false ]]
|
[[ "$(kreadconfig6 --file kdeglobals --group "KDE Action Restrictions" --key action/lock_screen)" == false ]]
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
# off again exactly: the first time a component changes a key, the key's
|
# off again exactly: the first time a component changes a key, the key's
|
||||||
# previous value is recorded, and reverting the component puts it back (or
|
# previous value is recorded, and reverting the component puts it back (or
|
||||||
# deletes the key if it didn't exist before).
|
# deletes the key if it didn't exist before).
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
STATE_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/cachyos-gamescope-boot"
|
STATE_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/cachyos-gamescope-boot"
|
||||||
UNSET=$'\x01'
|
UNSET=$'\x01'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Steam in the Plasma desktop session: gamepad UI args, virtual keyboard,
|
# Steam in the Plasma desktop session: gamepad UI args, virtual keyboard,
|
||||||
# autostart. Part of the SteamOS conversion (gaming_enable/gaming_disable).
|
# autostart. Part of the SteamOS conversion (gaming_enable/gaming_disable).
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
steam_enable() {
|
steam_enable() {
|
||||||
info "Applying non-optional SteamOS environment & keyboard fixes..."
|
info "Applying non-optional SteamOS environment & keyboard fixes..."
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# "Steam Machine support" menu item, only on Valve Fremont hardware: the
|
# "Steam Machine support" menu item, only on Valve Fremont hardware: the
|
||||||
# front LED bar driver, LED access for Steam, and steamos-manager.
|
# front LED bar driver, LED access for Steam, and steamos-manager.
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
detect_valve_fremont() {
|
detect_valve_fremont() {
|
||||||
# Valve Steam Machine (Fremont) boards. The leds-valve driver's own DMI
|
# Valve Steam Machine (Fremont) boards. The leds-valve driver's own DMI
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
# rule and an empty KWallet. Part of the SteamOS theme component
|
# rule and an empty KWallet. Part of the SteamOS theme component
|
||||||
# (lib/vapor-theme.sh). System files go to /usr/local (nothing
|
# (lib/vapor-theme.sh). System files go to /usr/local (nothing
|
||||||
# package-owned); per-user settings go through the undo journal.
|
# package-owned); per-user settings go through the undo journal.
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
VALVE_MIRROR="https://steamdeck-packages.steamos.cloud/archlinux-mirror"
|
VALVE_MIRROR="https://steamdeck-packages.steamos.cloud/archlinux-mirror"
|
||||||
NESTED_DIR=/usr/local/share/applications/steam/holo-nested-desktop
|
NESTED_DIR=/usr/local/share/applications/steam/holo-nested-desktop
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# SteamOS Vapor desktop theme, from CachyOS's cachyos-vapor package.
|
# SteamOS Vapor desktop theme, from CachyOS's cachyos-vapor package.
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
VAPOR_LOOKANDFEEL=com.valve.vapor.desktop
|
VAPOR_LOOKANDFEEL=com.valve.vapor.desktop
|
||||||
VAPOR_DEFAULTS=/usr/share/plasma/look-and-feel/$VAPOR_LOOKANDFEEL/contents/defaults
|
VAPOR_DEFAULTS=/usr/share/plasma/look-and-feel/$VAPOR_LOOKANDFEEL/contents/defaults
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
# "Steamify shortcut" menu item: a desktop icon and an app launcher entry that
|
# "Steamify shortcut" menu item: a desktop icon and an app launcher entry that
|
||||||
# open the newest release of Steamify CachyOS in Konsole (curl | bash, like the
|
# open the newest release of Steamify CachyOS in Konsole (curl | bash, like the
|
||||||
# install command in the README), so it's never out of date.
|
# install command in the README), so it's never out of date.
|
||||||
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
WIZARD_RELEASE="https://github.com/theupriser/steamify-cachyos/releases/latest/download"
|
WIZARD_RELEASE="https://github.com/theupriser/steamify-cachyos/releases/latest/download"
|
||||||
WIZARD_URL="$WIZARD_RELEASE/setup-gamescope-boot.sh"
|
WIZARD_URL="$WIZARD_RELEASE/steamify.sh"
|
||||||
# Steam logo with a gear (assets/ in the repo, published with every release).
|
# Steam logo with a gear (assets/ in the repo, published with every release).
|
||||||
WIZARD_ICON="${XDG_DATA_HOME:-$HOME/.local/share}/icons/hicolor/scalable/apps/cachyos-gamescope-boot-wizard.svg"
|
WIZARD_ICON="${XDG_DATA_HOME:-$HOME/.local/share}/icons/hicolor/scalable/apps/cachyos-gamescope-boot-wizard.svg"
|
||||||
WIZARD_LAUNCHER="${XDG_DATA_HOME:-$HOME/.local/share}/cachyos-gamescope-boot/run-wizard"
|
WIZARD_LAUNCHER="${XDG_DATA_HOME:-$HOME/.local/share}/cachyos-gamescope-boot/run-wizard"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# setup-gamescope-boot.sh - Steamify CachyOS
|
# steamify.sh - Steamify CachyOS
|
||||||
#
|
#
|
||||||
# Wizard that makes a CachyOS (KDE Plasma) install behave like SteamOS:
|
# Wizard that makes a CachyOS (KDE Plasma) install behave like SteamOS:
|
||||||
# boot into a Steam Deck-style gamescope session, switch to the Plasma
|
# boot into a Steam Deck-style gamescope session, switch to the Plasma
|
||||||
Reference in new issue
Block a user