347 words
2 minutes
Fresh Linux Install Instructions
2022-07-27
2026-02-26

I wrote it long ago as a github gist, but decided to move it here.

ZSH#

  1. sudo apt install zsh -y
  2. chsh -s $(which zsh)

Oh My Zsh#

SSH Key#

  1. ssh-keygen -t rsa -b 4096

Atuin#

  1. curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh

Oh My Zsh#

  1. sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  2. git config --global core.autocrlf false
  3. git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  4. git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  5. git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k - https://github.com/romkatv/powerlevel10k

Brew#

  1. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - https://brew.sh/
  2. eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
  3. brew install glab git-lfs eza helm elixir gh olets/tap/zsh-abbr fzf helix rbenv jenv openjdk@8 openjdk@11 go ruff just maven az jq graphviz gradle autojump uv gleam asdf jira-cli prek zig shellcheck typos-cli

kubectl#

  1. curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
  2. sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

Docker#

  1. sudo systemctl enable --now docker.service
  2. sudo systemctl enable --now docker.socket
  3. sudo usermod -aG docker $USER

Ubuntu and deriviatives specific#

  1. sudo apt install git -y
  2. sudo apt install build-essential procps curl file git autojump
  3. sudo ubuntu-drivers install nvidia:535

Arch and deriviatives specific#

  1. https://aur.chaotic.cx/docs
  2. sudo pacman -Syy firedragon slack-desktop spotify clamav zed visual-studio-code-bin gimp signal-desktop docker docker-buildx libreoffice-fresh qbittorrent vlc vlc-plugins-all discord kpat docker docker-compose docker-buildx
  3. cd $(mktemp -d) && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si

Cachy specific#

  1. sudo pacman -S cachyos-gaming-meta cachyos-gaming-applications

asdf#

  1. git config --global core.autocrlf false
  2. asdf plugin add java https://github.com/halcyon/asdf-java.git
  3. asdf install java openjdk-11
  4. asdf set -u java openjdk-11
  5. asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
  6. asdf install nodejs latest
  7. asdf set -u nodejs latest
  8. asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
  9. asdf install ruby latest
  10. asdf set -u ruby latest

Not longer used#

Jenv#

  1. eval "$(jenv init -)"
  2. jenv add /home/linuxbrew/.linuxbrew/Cellar/openjdk@11/11.0.27/
  3. jenv add /home/linuxbrew/.linuxbrew/Cellar/openjdk@8/1.8.0-452/

Rbenv#

  1. RUBY_CONFIGURE_OPTS="--with-zlib-dir=$(brew --prefix zlib) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 3.4.4
  2. rbenv global 3.4.4

Volta#

  1. curl https://get.volta.sh | bash - https://volta.sh/
  2. volta install node pnpm

WSL#

  1. Download Ubuntu 24.04 LTS from Microsoft Store
  2. Turn Windows features on or off check Windows Subsystem for Linux (on the bottom)

Oh My Posh - outdated I think#

  1. Install-Module oh-my-posh -Scope CurrentUser
  2. code $PROFILE add Import-Module oh-my-posh and (in next line) oh-my-posh --init --shell pwsh --config ~/jandedobbeleer.omp.json | Invoke-Expression
  3. Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
  4. https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf > Double click > Install
  5. Open Hyper → Edit → Preferences and change the value of fontFamily to MesloLGS NF.
  6. With Admin privileges: Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
  7. choco install fzf
  8. https://www.powershellgallery.com/packages/PSFzf
  9. to $PROFILE Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+t' -PSReadlineChordReverseHistory 'Ctrl+r' Set-PSReadLineKeyHandler -Key Tab -ScriptBlock { Invoke-FzfTabCompletion }
  10. https://github.com/PowerShell/PSReadLine/issues/687#issuecomment-586629500
  11. C:\Program Files\WindowsPowerShell\Modules\PSReadline\2.0.0
  12. Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
  13. Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
Fresh Linux Install Instructions
https://vulwsztyn.codeberg.page/posts/fresh-linux-install-instructions/
Author
Artur Mostowski
Published at
2022-07-27
License
CC BY-NC-SA 4.0