A linux port of the scripts used to launch and install/launch BeatMapper by OpspR2 on Nexus Mods for the game Dead as Disco
Link to their mod that is needed for these scripts: https://www.nexusmods.com/deadasdisco/mods/450
- Fish Command-line shell
- pyenv installed
Simply because it's the easiest way to manage multiple python installations for whatever distro you're using and allows for easy installation/removal of different python versions
To install the correct version of python for this app just simply run in your terminal:
pyenv install 3.12If you need to install pyenv then scroll down to the section below or click Go to Pyenv Prerequisites
Download the scripts from this repository and place them in the BeatMapper folder (alongside launch.bat/install_dependencies.bat) You are free to delete the original .bat files. Go into your terminal and navigate to the folder where you downloaded BeatMapper (the folder that has the launch.bat) and run the install script. Make sure the scripts are executable by running
chmod +x install_dependencies.fish launch.fishThen run ./install_dependencies.fish then ./launch.fish
This project requires pyenv to manage the underlying Python runtime environment. Choose the installation path that matches your Linux system distribution type.
Installing via your system package manager is honestly the easiest way, try this first based off of your package manager:
- Arch Linux / Manjaro / EndeavourOS:
sudo pacman -Syu pyenv
- Ubuntu / Debian / Mint / Pop!_OS:
sudo apt update && sudo apt install -y pyenv - Fedora / Red Hat Enterprise Linux / CentOS:
sudo dnf install -y pyenv
- openSUSE Tumbleweed / Leap:
sudo zypper in pyenv
If pyenv is unavailable or outdated in your distribution's default software repositories, use the official universal compilation installer script.
Because the universal installer compiles Python directly from source files, you must ensure your distribution's compilation header tooling packages are present:
- Ubuntu / Debian Derivative Systems:
sudo apt update && sudo apt install -y build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev curl git libncursesw5-dev \ xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev - Fedora / Red Hat Derivative Systems:
sudo dnf groupinstall -y "Development Tools" && sudo dnf install -y \ openssl-devel bzip2-devel libffi-devel readline-devel sqlite-devel \ xz-devel tk-dev
- Arch Linux / Pacman Derivative Systems:
sudo pacman -Syu --needed base-devel openssl zlib bzip2 readline \ sqlite curl git tk text-live xz
Execute the native network installer directly within your terminal window shell interface:
curl https://pyenv.run | bashTo register pyenv hooks into your shell environment loop, append the following configurations to your ~/.config/fish/config.fish profile layout file:
# pyenv environment setup configuration
set -x PYENV_ROOT "\$HOME/.pyenv"
string match -q "\(PYENV_ROOT/bin" \)PATH; or set -x PATH "\(PYENV_ROOT/bin" \)PATH
status is-interactive; and source (pyenv init - | psub)Apply your terminal changes immediately by sourcing the profile configuration:
source ~/.config/fish/config.fishAI tools were utilized solely for understanding the conversion from windows bash to linux shell and their differences as well as general troubleshooting queries. All project code was written, reviewed, and implemented manually.