Skip to content

Instantly share code, notes, and snippets.

@nyteshade
Last active July 7, 2025 17:54
Show Gist options
  • Save nyteshade/f5bb148285f1bcaed1788999aae10309 to your computer and use it in GitHub Desktop.
Save nyteshade/f5bb148285f1bcaed1788999aae10309 to your computer and use it in GitHub Desktop.
Rocky Linux 8 - AI Workbench Setup
# Setup nodejs
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
source $HOME/.bashrc
nvm install 24
# Git config setup
git config --global user.email "[email protected]"
git config --global user.name "Brielle Harrison"
# Setup claude-code
npm i -g @anthropic-ai/claude-code
# Setup prompt
git clone https://github.com/nyteshade/niceps1
cd niceps1/source
sudo gcc -o /usr/local/bin/getCIP getcip.c
cd ..
source niceps1
cd
printf "\n# niceps1\nsource ~/niceps1/niceps1\n" >> ~/.bashrc
# Fetch github cli tool
# DNF4 installation commands
sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install gh --repo gh-cli -y
# Setup micro
sudo dnf install micro -y
# Setup fonts
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y fontforge freetype-devel freetype-demos
pip3 install --user gdown
mkdir -p $HOME/.local/share/fonts
cd $HOME/.local/share/fonts
gdown "https://drive.google.com/uc?id=1OTbrSfOyMFZDEVB6hKUlx3XkpWnXHscr" -O intuit_macbook_fonts_30jun25.zip
unzip intuit_macbook_fonts_30jun25.zip
rm intuit_macbook_fonts_30jun25.zip
# 1Password
sudo rpm --import https://downloads.1password.com/linux/keys/1password.asc
sudo sh -c 'echo -e "[1password]\nname=1Password\nbaseurl=https://downloads.1password.com/linux/rpm/stable/\$basearch\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://downloads.1password.com/linux/keys/1password.asc" > /etc/yum.repos.d/1password.repo'
sudo yum install -y 1password
# Download 1Passsword CLI
sudo rpm --import https://downloads.1password.com/linux/keys/1password.asc
sudo sh -c 'echo -e "[1password]\nname=1Password Stable Channel\nbaseurl=https://downloads.1password.com/linux/rpm/stable/\$basearch\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=\"https://downloads.1password.com/linux/keys/1password.asc\"" > /etc/yum.repos.d/1password.repo'
sudo dnf check-update -y 1password-cli && sudo dnf install -y 1password-cli
# Setup VBCC
sudo dnf install ofarc.x86_64
# Create lha equivalent since we need to use ofarc instead
sudo bash -c 'printf "#!/bin/bash\n" > /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "readonly SCRIPT_NAME=\"\$(basename \"\$0\")\"\n" >> /usr/bin/lha'
sudo bash -c 'printf "readonly OFARC_CMD=\"ofarc\"\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "show_usage() {\n" >> /usr/bin/lha'
sudo bash -c 'printf " cat << EOF\n" >> /usr/bin/lha'
sudo bash -c 'printf "Usage: \$SCRIPT_NAME [command] [options] <archive> [files...]\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "Commands:\n" >> /usr/bin/lha'
sudo bash -c 'printf " x Extract files from archive\n" >> /usr/bin/lha'
sudo bash -c 'printf " l List archive contents\n" >> /usr/bin/lha'
sudo bash -c 'printf " t Test archive integrity\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "Options:\n" >> /usr/bin/lha'
sudo bash -c 'printf " -v Verbose output\n" >> /usr/bin/lha'
sudo bash -c 'printf " -q Quiet mode (suppress non-error output)\n" >> /usr/bin/lha'
sudo bash -c 'printf " -f Force overwrite existing files\n" >> /usr/bin/lha'
sudo bash -c 'printf " -w <dir> Extract to specified directory\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "Examples:\n" >> /usr/bin/lha'
sudo bash -c 'printf " \$SCRIPT_NAME x archive.lha\n" >> /usr/bin/lha'
sudo bash -c 'printf " \$SCRIPT_NAME x -v archive.lzh\n" >> /usr/bin/lha'
sudo bash -c 'printf " \$SCRIPT_NAME l archive.lha\n" >> /usr/bin/lha'
sudo bash -c 'printf " \$SCRIPT_NAME x archive.lha file1.txt file2.txt\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "Note: This is a wrapper around ofarc for lha/lzh archive compatibility.\n" >> /usr/bin/lha'
sudo bash -c 'printf "EOF\n" >> /usr/bin/lha'
sudo bash -c 'printf "}\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "error_exit() {\n" >> /usr/bin/lha'
sudo bash -c 'printf " local message=\"\$1\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " local exit_code=\"\${2:-1}\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " echo \"\$SCRIPT_NAME: error: \$message\" >&2\n" >> /usr/bin/lha'
sudo bash -c 'printf " exit \"\$exit_code\"\n" >> /usr/bin/lha'
sudo bash -c 'printf "}\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "check_ofarc_availability() {\n" >> /usr/bin/lha'
sudo bash -c 'printf " if ! command -v \"\$OFARC_CMD\" >/dev/null 2>&1\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " error_exit \"ofarc not found. Please install ofarc.x86_64 package.\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf "}\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "extract_archive() {\n" >> /usr/bin/lha'
sudo bash -c 'printf " local archive_path=\"\$1\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " local extract_dir=\"\$2\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " local verbose=\"\$3\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " local force=\"\$4\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " shift 4\n" >> /usr/bin/lha'
sudo bash -c 'printf " local files=(\"@\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " local ofarc_args=()\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " ofarc_args+=(\"--extract\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " ofarc_args+=(\"@archive_path\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ -n \"\$extract_dir\" ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " ofarc_args+=(\"--output-dir\" \"\$extract_dir\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ \"\$force\" -eq 1 ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " ofarc_args+=(\"--force\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ \"\$verbose\" -eq 1 ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " ofarc_args+=(\"--verbose\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ \${#files[@]} -gt 0 ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " ofarc_args+=(\"@files[@]}\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " \"\$OFARC_CMD\" \"\@ofarc_args[@]}\"\n" >> /usr/bin/lha'
sudo bash -c 'printf "}\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "list_archive() {\n" >> /usr/bin/lha'
sudo bash -c 'printf " local archive_path=\"\$1\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " local verbose=\"\$2\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " local ofarc_args=(\"--list\" \"\$archive_path\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ \"\$verbose\" -eq 1 ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " ofarc_args+=(\"--verbose\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " \"\$OFARC_CMD\" \"\@ofarc_args[@]}\"\n" >> /usr/bin/lha'
sudo bash -c 'printf "}\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "test_archive() {\n" >> /usr/bin/lha'
sudo bash -c 'printf " local archive_path=\"\$1\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " local verbose=\"\$2\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " local ofarc_args=(\"--test\" \"\$archive_path\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ \"\$verbose\" -eq 1 ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " ofarc_args+=(\"--verbose\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " \"\$OFARC_CMD\" \"\@ofarc_args[@]}\"\n" >> /usr/bin/lha'
sudo bash -c 'printf "}\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "main() {\n" >> /usr/bin/lha'
sudo bash -c 'printf " local command=\"\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " local archive=\"\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " local extract_dir=\"\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " local verbose=0\n" >> /usr/bin/lha'
sudo bash -c 'printf " local quiet=0\n" >> /usr/bin/lha'
sudo bash -c 'printf " local force=0\n" >> /usr/bin/lha'
sudo bash -c 'printf " local files=()\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " check_ofarc_availability\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ @# -eq 0 ]] || [[ \"\$1\" == \"-h\" ]] || [[ \"\$1\" == \"--help\" ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " show_usage\n" >> /usr/bin/lha'
sudo bash -c 'printf " exit 0\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " command=\"@1\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " shift\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " while [[ @# -gt 0 ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " do\n" >> /usr/bin/lha'
sudo bash -c 'printf " case \"\$1\" in\n" >> /usr/bin/lha'
sudo bash -c 'printf " -v|--verbose)\n" >> /usr/bin/lha'
sudo bash -c 'printf " verbose=1\n" >> /usr/bin/lha'
sudo bash -c 'printf " shift\n" >> /usr/bin/lha'
sudo bash -c 'printf " ;;\n" >> /usr/bin/lha'
sudo bash -c 'printf " -q|--quiet)\n" >> /usr/bin/lha'
sudo bash -c 'printf " quiet=1\n" >> /usr/bin/lha'
sudo bash -c 'printf " shift\n" >> /usr/bin/lha'
sudo bash -c 'printf " ;;\n" >> /usr/bin/lha'
sudo bash -c 'printf " -f|--force)\n" >> /usr/bin/lha'
sudo bash -c 'printf " force=1\n" >> /usr/bin/lha'
sudo bash -c 'printf " shift\n" >> /usr/bin/lha'
sudo bash -c 'printf " ;;\n" >> /usr/bin/lha'
sudo bash -c 'printf " -w)\n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ @# -lt 2 ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " error_exit \"Option -w requires a directory argument\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " extract_dir=\"@2\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " shift 2\n" >> /usr/bin/lha'
sudo bash -c 'printf " ;;\n" >> /usr/bin/lha'
sudo bash -c 'printf " -*)\n" >> /usr/bin/lha'
sudo bash -c 'printf " error_exit \"Unknown option: @1\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " ;;\n" >> /usr/bin/lha'
sudo bash -c 'printf " *)\n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ -z \"\$archive\" ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " archive=\"@1\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " else\n" >> /usr/bin/lha'
sudo bash -c 'printf " files+=(\"@1\")\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " shift\n" >> /usr/bin/lha'
sudo bash -c 'printf " ;;\n" >> /usr/bin/lha'
sudo bash -c 'printf " esac\n" >> /usr/bin/lha'
sudo bash -c 'printf " done\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ -z \"\$archive\" ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " error_exit \"No archive file specified\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ ! -f \"\$archive\" ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " error_exit \"Archive file not found: @archive\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " if [[ \"\$quiet\" -eq 1 ]] && [[ \"\$verbose\" -eq 0 ]]\n" >> /usr/bin/lha'
sudo bash -c 'printf " then\n" >> /usr/bin/lha'
sudo bash -c 'printf " exec 1>/dev/null\n" >> /usr/bin/lha'
sudo bash -c 'printf " fi\n" >> /usr/bin/lha'
sudo bash -c 'printf " \n" >> /usr/bin/lha'
sudo bash -c 'printf " case \"\$command\" in\n" >> /usr/bin/lha'
sudo bash -c 'printf " x|extract)\n" >> /usr/bin/lha'
sudo bash -c 'printf " extract_archive \"\$archive\" \"\$extract_dir\" \"\$verbose\" \"\$force\" \"@files[@]}\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " ;;\n" >> /usr/bin/lha'
sudo bash -c 'printf " l|list)\n" >> /usr/bin/lha'
sudo bash -c 'printf " list_archive \"\$archive\" \"\$verbose\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " ;;\n" >> /usr/bin/lha'
sudo bash -c 'printf " t|test)\n" >> /usr/bin/lha'
sudo bash -c 'printf " test_archive \"\$archive\" \"\$verbose\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " ;;\n" >> /usr/bin/lha'
sudo bash -c 'printf " *)\n" >> /usr/bin/lha'
sudo bash -c 'printf " error_exit \"Unknown command: @command. Supported commands: x, l, t\"\n" >> /usr/bin/lha'
sudo bash -c 'printf " ;;\n" >> /usr/bin/lha'
sudo bash -c 'printf " esac\n" >> /usr/bin/lha'
sudo bash -c 'printf "}\n" >> /usr/bin/lha'
sudo bash -c 'printf "\n" >> /usr/bin/lha'
sudo bash -c 'printf "main \"@\"\n" >> /usr/bin/lha'
sudo chmod ugo+rwx /usr/bin/lha
printf 'alias vc="vc -c99 +aos68k -lamiga -lauto "\n' >> ~/.bashrc
# Grab amitools
pip3 install --user -U cython
pip3 install --user -U git+https://github.com/cnvogelg/machine68k.git
pip3 install --user -U git+https://github.com/cnvogelg/amitools.git
# Continue with VBCC configuration
git clone https://github.com/nicolasbauw/amiga-cc.git
cd amiga-cc
./install_amiga_toolchain.sh
./env.sh
printf >>~/.bashrc '\n# Add path to vbcc\nexport PATH="${HOME}/amiga-cc/vbcc/bin:${PATH}"\n'
source ~/.bashrc
make
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment