Moved to: codeberg.org
SteamOS Scripts
A collection of scripts I use to automate installation of some components and also just some general notes on installing and setting up things I use regularly.
To run all scripts, simply execute
./install_all
If you want to run the scripts individually, make sure to execute /scripts/initialize_pacman beforehand, to initialize pacman-key and populate it with some trusted keys otherwise you may see this error for install scripts
warning: Public keyring not found; have you run 'pacman-key --init'?
downloading required keys...
error: keyring is not writable
error: required key missing from keyring
error: failed to commit transaction (could not find or read file)
General Tools & Misc
./scripts/install_xclip
Installs xclip, which is useful for copying and pasting in and out of neovim, mpv with stuff like mpvacious etc.
Installing 7zz
- Download the newest version from the website
- Run
tar -xf <7zz-file-name>.tar.xz - Move
7zzsomewhere in your$PATH
External Optical Drives
Should the steam deck fail to recognize an external optical drive, try
sudo modprobe sg
as referenced here and described here.
Japanese Learning
./scripts/enable_jp_locale
Enables the japanese locale on the steamdeck. Useful for learners of japanese that have to interact with e.g. zip archives with japanese characters in file names
LANG=ja_JP 7zz x <zip-archive>
OCR
Installing YomiNinja
Download the latest YomiNinja AppImage and run it. See also ./scripts/install_yomininja
Installing Game2text
Running the Windows Build Via Bottles
Game2text can be used via bottles.
- Install bottles from the Software Center
- Download Game2text for windows
- Unzip Game2text
7zz x win-game2text.zip - Setup a bottle optimized for gaming
- Run Game2text inside the bottle you just created
Building Game2text From Source on SteamOS
See: Game2Text
Install the prerequisites
# This will install tesseract and data for horizontal and vertical japanese
./scripts/game2text/install_tesseract_jpn
# This will install virtualenv which we will need for building Game2text from source
./scipts/game2text/install_virtualenv
# This will install the prerequisites to build Game2text
sudo steamos-readonly disable
sudo pacman base-devel glibc linux-api-headers zlib cmake python3 gcc nodejs npm libffi openssl rust tk tcl
sudo steamos-readonly enable
Clone Game2text and prepare its directory contents for building
git clone https://github.com/mathewthe2/Game2Text.git
cd Game2Text
virtualenv venv --python='/usr/bin/python'
source venv/bin/activate
pip install virtualenv
Important
Before continuing
- Replace
==with>=for the versions inrequirements.py- In
config.inireplacebrowser = defaultwithbrowser = chromium. See: https://game2text.com/faq/switch-browser/
pip install -r requirements.txt
deactivate
You can now run Game2text natively in Game2Text/ via
source venv/bin/activate
python game2text.py
deactivate
Run the following to build a distributable binary with PyInstaller
rm -rf build dist
source venv/bin/activate
python -m eel game2text.py web \
--windowed \
--onefile --noconsole \
--icon "public/icon.icns" \
--add-data "logs/images/temp.png:logs/images" \
--add-data "logs/text:logs/text" \
--add-data "anki:anki/" \
--add-data "resources/dictionaries:resources/dictionaries/" \
--add-data "config.ini:."
deactivate
Afterwards, you can find the executable under /dist
Installing MPV and mpvacious
- Install MPV through the Software Center
- Follow any of the tutorials out there to setup MPV and mpvacious exactly like you want. I believe the one by Matt vs Japan was the one I used as starting point.
Japanese Input
You can use Fcitx5 and mozc Fcitx5 from the Software Center for japanese input.
Anki
Anki is available from the Software Center.
Logseq
Logseq is available from the Software Center.
Development
./scripts/install_lein
Installs Leiningen for clojure development. I suggest combining this with installing java via SDKMAN.
./scripts/install_neovim
Installs neovim in ${HOME}/bin/nvim. By default the nightly version is chosen. You may want to install this via distrobox in a dedicated development container.
./scripts/install_podman-compose
Installs aardvark-dns and podman-compose for support of docker-compose files.