(See also installing Distroboxm, which is included in SteamOS 3.5 and newer: https://distrobox.it/ )
(See also installing Nix package manager: https://determinate.systems/posts/nix-on-the-steam-deck )
You can install Homebrew (a package manager for macOS and Linux) without disabling the read-only partition with sudo steamos-readonly disable
.
The package manager can be used alongside Flatpaks. Some software is only available on Flathub, and some software is only available on Homebrew.
- Switch to desktop mode (hold power button until a menu appears, then select "Switch to desktop mode")
- Click the logo at the bottom left, go to System, then go to Konsole
- Set a password (needed for sudo access):
passwd
- Install Homebrew using the steps here: https://brew.sh/
Don't install any additional libraries frompacman
orbrew
yet. Also, do not append to.bash_profile
yet, otherwise it will break Steam. - Add to
.bash_profile
with a check to make sure it is running in Konsole:echo 'if [ $(basename $(printf "%s" "$(ps -p $(ps -p $$ -o ppid=) -o cmd=)" | cut --delimiter " " --fields 1)) = konsole ] ; then '$'\n''eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"'$'\n''fi'$'\n' >> ~/.bash_profile
- In Konsole's menu bar, go to Settings -> Manage Profile
- Press "New"
- Check "Default Profile"
- Set "Command" to
/bin/bash -l
(that is a lowercasel
, not a number1
) - Click OK twice
- Add brew environment to current context:
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
- Install glibc (the important thing is headers).
This is needed in order to compile software.
brew install glibc
- Install GCC:
brew install gcc
For my
podman
situation, https://github.com/89luca89/distrobox has an extras script to install https://github.com/mgoltzsche/podman-static as well. I no longer need neitherrwfus
or homebrew (though it still has its use-case).podman-static
has all the deps compiled into it. Even though built for Apline Linux x64, it runs just fine on SteamOS (Arch).Your situation is another use-case for the
distrobox
(andpodman-static
) on the Steam Deck -- you can have a container of ANY Linux distro to install anything you want, even having X11 support as well.Alternatively, you might want to check out https://github.com/ValShaped/rwfus . It leverages the SteamOS built-in OverlayFS used by
/etc
but for managing bothpacman
content &/usr
. Then you could install from the Arch Linux repos.If neither
distrobox
/podman-static
ORrwfus
meets your use-case, you might investigate if someone has already made anodejs-static
(with appropriatenpm
) -- being a classic NIX static build (deps included), not a UX "static" concept -- to use the same way aspodman-static
. If it doesn't exist, you would have to build it yourself.Cheers, M.