Skip to content

Basic Tools

We will install a flurry of basic tools.

Refresh Mirror List

Here's a script to refresh the mirror list. Save it to ~/bin/updatemirrors

bash
#!/usr/bin/bash
which rankmirrors
rm /etc/pacman.d/mirrorlist
curl -s "https://archlinux.org/mirrorlist/?country=US&protocol=https&ip_version=4&ip_version=6&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 10 - > /etc/pacman.d/mirrorlist
#!/usr/bin/bash
which rankmirrors
rm /etc/pacman.d/mirrorlist
curl -s "https://archlinux.org/mirrorlist/?country=US&protocol=https&ip_version=4&ip_version=6&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 10 - > /etc/pacman.d/mirrorlist

Then make it executable

bash
chmod +x ~/bin/updatemirrors
chmod +x ~/bin/updatemirrors

Run sudo updatemirrors to update the mirrors when needed

yay

yay is an AUR helper that helps with installing stuff from AUR. Since yay is itself an AUR package, we will need to install it from source.

bash
cd ~
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si # Run yay --version after this to confirm successful install
cd ..
rm -rf yay
cd ~
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si # Run yay --version after this to confirm successful install
cd ..
rm -rf yay

TIP

Unlike pacman, when using yay to install, you do not need to run it with sudo

Rust

We will install Rust as the first thing, so we can install some additional tools with cargo.

bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Enter 1 and hit Enter to install to the default locations

After install, load the environment with

bash
source ~/.cargo/env
source ~/.cargo/env

Oxidize

Time to install more stuff with cargo. I will provide the configuration files later, so for now we can just install them.

bash
cargo install exa bat cargo-info cargo-watch just du-dust ripgrep fd-find starship zoxide websocat
cargo install exa bat cargo-info cargo-watch just du-dust ripgrep fd-find starship zoxide websocat

Explanation of each package:

PackageDescriptionLink
ezals but betterhttps://github.com/eza-community/eza
batcat with wingshttps://github.com/sharkdp/bat
cargo-infoCargo command for getting info about crates, and most usefully, feature flagshttps://gitlab.com/imp/cargo-info
cargo-watchCargo command for running command in watch modehttps://github.com/watchexec/cargo-watch
justSimple command runnerhttps://github.com/casey/just
du-dustReplacement for duhttps://github.com/bootandy/dust
starshipShell prompthttps://starship.rs/
zoxideDirectory jumperhttps://github.com/ajeetdsouza/zoxide
ripgrepSearch tool (telescope.nvim requires it)https://github.com/BurntSushi/ripgrep
fd-findFile find tool (telescope.nvim requires it)https://github.com/sharkdp/fd
websocatWebsocket client CLIhttps://github.com/vi/websocat

Next Steps

Next we will install tools that require change to .bashrc, so we can install them all first and copy the .bashrc directly afterward.