Skip to content

Instantly share code, notes, and snippets.

@vitali2y
Last active March 24, 2025 09:16
Show Gist options
  • Save vitali2y/f254088010297f03b8d53dacc632f379 to your computer and use it in GitHub Desktop.
Save vitali2y/f254088010297f03b8d53dacc632f379 to your computer and use it in GitHub Desktop.

Upgrading greenway (Linux Mint 22.1)

Updated: 23 Mar, 2025

  1. Partitioning @ greenbee (in the past):
/dev/sda1 /boot/efi
/dev/sda2 /
/dev/sda2 swap
/dev/sda4 /home  # <- do not format!
  1. Partitioning @ greenway (before Mint 22.1):
/dev/nvme1n1p2  /
/dev/nvme0n1p2  /mnt/greenlight  # <- do not format!
/dev/nvme0n1p1  /boot/efi
/dev/nvme1n1p3  /home  # <- do not format!
➜  cat /etc/fstab 
~...~
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme1n1p2 during installation
UUID=6101c0e2-3fad-4775-9b15-618afee7f151 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=6ADE-B3FF  /boot/efi       vfat    umask=0077      0       1
# /home was on /dev/nvme1n1p3 during installation
UUID=1b99951f-6138-48d5-8bcd-00a3b9b4f956 /home           ext4    defaults        0       2
UUID=992178a5-94ae-4927-a4a2-b208720d9091 /mnt/greenlight           ext4    defaults        0       3
/swapfile                                 none            swap    sw              0       0
➜
➜  df -h | grep "dev/nvm"
/dev/nvme1n1p2   92G   22G   66G  25% /
/dev/nvme0n1p2  117G   30G   81G  27% /mnt/greenlight
/dev/nvme1n1p3  847G  492G  312G  62% /home
/dev/nvme0n1p1  511M  6,1M  505M   2% /boot/efi
➜
  1. Partitioning @ greenway (after Mint 22.1):
vit@greenwin:~$ df -h | grep "dev/nvm"
/dev/nvme0n1p2  234G  9,6G  212G   5% /
/dev/nvme1n1p2   92G   24K   87G   1% /opt  # empty
/dev/nvme0n1p1  487M  6,2M  480M   2% /boot/efi
/dev/nvme1n1p3  847G  493G  311G  62% /home  # <- do not format!
vit@greenwin:~$
  1. After Linux installation to execute next under root:
apt-get update

# gentlemen cleaning
apt-get -y purge firefox evolution-data-server evolution thunderbird sylpheed gnumeric \
 abiword audacious pidgin rhythmbox tomboy simple-scan hexchat hexchat-common sticky \
 mysql-common warpinator cups gnome-calculator hypnotix libreoffice* onboard redshift \
 redshift-gtk thingy webapp-manager bluez-cups

# gentlemen set
apt -y install zsh mc openssh-server libtool clang gcc make autoconf autogen \
 automake cmake g++ build-essential pkg-config git keepassx libreoffice-calc \
 libreoffice-draw libreoffice-impress libreoffice-writer dia ffmpeg mpv inkscape \
 gimp openvpn xed ufw libssl-dev sqlite3 libsqlite3-dev sshpass jq
apt-get -y remove openssh-client openssh-server && apt-get install -y openssh-client \
 openssh-server # trick (deprecated?)

# Chromium: find the latest release number @ http://packages.linuxmint.com/pool/upstream/c/chromium/
F="chromium_134.0.6998.35~linuxmint1+xia_amd64.deb"; wget http://packages.linuxmint.com/pool/upstream/c/chromium/$F; dpkg -i $F && rm $F

# Opera: find the latest release number @ https://download3.operacdn.com/pub/opera/desktop/
V="117.0.5408.93"; wget \
 https://download3.operacdn.com/pub/opera/desktop/${V}/linux/opera-stable_${V}_amd64.deb && \
 sudo dpkg -i ./opera-stable_${V}_amd64.deb && rm -f ./opera-stable_${V}_amd64.deb

# NodeJS: find the latest release number @ https://nodejs.org/dist/latest/
V="23.10.0"; cd /usr/local && wget \
 https://nodejs.org/dist/latest/node-v$V-linux-x64.tar.gz && tar xvf \
 node-v$V-linux-x64.tar.gz && ln -s node-v$V-linux-x64 node && cd bin && \
 ln -s /usr/local/node/bin/node && ln -s /usr/local/node/bin/npm && \
 ln -s /usr/local/node/bin/npx && cd - && rm -f node-v$V-linux-x64.tar.gz

# VSCodium: find the latest release number @ https://github.com/VSCodium/vscodium/releases/
V="1.98.2.25078"; cd /home/vit/Downloads/ && wget \
 https://github.com/VSCodium/vscodium/releases/download/$V/VSCodium-linux-x64-$V.tar.gz; \
 sh -c 'V="1.98.2.25078"; F="VSCodium-linux-x64-$V.tar.gz"; cd /usr/local; \
 rm -f ./VSCodium /usr/local/bin/codium; mkdir ./VSCodium-$V; \
 ln -s /usr/local/VSCodium-$V /usr/local/VSCodium; \
 ln -s /usr/local/VSCodium/bin/codium /usr/local/bin/codium; cd -; \
 cd /usr/local/VSCodium-$V; cp /home/vit/Downloads/$F .; tar xvf $F; rm -f $F; cd -'

ufw allow ssh && ufw enable
  1. Under ordinary user (vit)
# Rust
curl https://sh.rustup.rs -sSf | sh -s -- -y

# Firefox: find the latest release number @ https://ftp.mozilla.org/pub/firefox/releases/
export V="136.0"; cd ~; wget https://ftp.mozilla.org/pub/firefox/releases/$V/linux-x86_64/en-US/firefox-$V.tar.xz; sudo -E sh -c 'cd /usr/local; mv $HOME/firefox-$V.tar.xz .; rm -f ./firefox; tar xvf firefox-$V.tar.xz; mv ./firefox ./firefox-$V; ln -s ./firefox-$V ./firefox; cd -'

# https://github.com/K3V1991/Disable-Firefox-Telemetry-and-Data-Collection

# LibreWolf, fork of Firefox, focused on privacy, security and freedom
# https://librewolf.net/installation/debian/#main-debian-repository
# https://github.com/zen-browser/desktop # altrnative?

# SQLiteStudio: find the latest release number @ https://github.com/pawelsalawa/sqlitestudio/releases
V="3.4.17"; wget \
 https://github.com/pawelsalawa/sqlitestudio/releases/download/$V/SQLiteStudio-$V-linux-x64-installer.run && \
 chmod +x SQLiteStudio-$V-linux-x64-installer.run && \
 ./SQLiteStudio-$V-linux-x64-installer.run  # follow further instructions

# Blue Recorder
# flatpak install flathub sa.sy.bluerecorder # TODO: https://github.com/xlmnxp/blue-recorder#build-from-source

# oh-my-zsh
mv .oh-my-zsh/ .oh-my-zsh-$(date +%y%m%d%H%M); curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh && chsh -s /bin/zsh

# mold linker
V="2.37.1"
cd ~/.local
rm -f mold bin/mold
wget https://github.com/rui314/mold/releases/download/v$V/mold-$V-x86_64-linux.tar.gz
tar xvf mold-$V-x86_64-linux.tar.gz
ln -s mold-$V-x86_64-linux mold
ln -s ~/.local/mold/bin/mold ~/.local/bin/mold
cd -

rustup component add rust-analyzer

# helix editor
V="25.01.1"; cd ~/.local && wget https://github.com/helix-editor/helix/releases/download/$V/helix-$V-x86_64-linux.tar.xz && tar xvf helix-$V-x86_64-linux.tar.xz; rm ./helix; ln -s helix-$V-x86_64-linux helix; echo "Warning: now check ~/.config/helix"
V="2024-12-18"; wget https://github.com/artempyanykh/marksman/releases/download/$V/marksman-linux-x64 && chmod +x marksman-linux-x64 && mv marksman-linux-x64 ~/.local/bin/marksman
sudo npm install -g typescript-language-server typescript && sudo ln -s /usr/local/node/bin/tsc /usr/local/bin/tsc  && sudo ln -s /usr/local/node/bin/tsserver /usr/local/bin/tsserver  && sudo ln -s /usr/local/node/bin/typescript-language-server /usr/local/bin/typescript-language-server
sudo npm install -g "awk-language-server@>=0.5.2" bash-language-server
sudo -s; cd /usr/local/bin; ln -s /usr/local/node/bin/awk-language-server; ln -s /usr/local/node/bin/bash-language-server

# helix is a default editor
echo "export VISUAL=~/.local/bin/hx" >> ~/.zshrc
echo "export EDITOR=$VISUAL" >> ~/.zshrc

# cargo binstall
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash

## Rust utils
# sudo apt install librust-alsa-sys-dev libpcap-dev  # for sniffnet
cargo binstall -y ripgrep alacritty zellij
mold -run cargo install --locked broot xplr simple-http-server igrep gitui sniffnet femto-feed aichat jnv slumber monolith git-delta trunk game-2048 # TODO: to use "cargo binstall" too?
ln -s ~/.cargo/bin/simple-http-server ~/.cargo/bin/hs
mkdir ~/.config/zellij; zellij setup --dump-layout default > ~/.config/zellij/config-layout.kdl

cargo install --locked --git https://github.com/Feel-ix-343/markdown-oxide.git markdown-oxide # TODO: we have marksman - do we need markdown-oxide?
RUSTFLAGS="-C target-cpu=native" cargo install --git https://github.com/ClementTsang/bottom --locked

strip ~/.cargo/bin/{alacritty,zellij,game-2048}

## games
apt install megaglest scorched3d  # 0ad
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment