Skip to main content

Programs

Good every day

Brave Browser

yay -S brave-bin

Firefox / librewolf

I would recommend uninstalling Firefox and installing librewolf instead. All extensions to firefox works on librewolf.

sudo pacman -R firefox
yay -S librewolf-bin

Spotify

sudo pacman -S spotify-launcher

Plex Media Player

yay -S plex-desktop

Discord

sudo pacman -S dicord

Programming tools

Git

Most likely already installed

sudo pacman -S git

JetBrains Toolbox

yay -S jetbrains-toolbox

# You may have to add the them to the env, after installing a tool? idk why
export PATH="$PATH:$HOME/.local/share/JetBrains/Toolbox/scripts"

Postman

yay -S postman-bin

VSCode

VSCode

sudo pacman -S code

To the the correct extension store you have to replace the extensionsGallery

sudo nano /usr/lib/code/product.json

Replace the extensionsGallery with the following

"extensionsGallery": {
     "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
     "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
     "itemUrl": "https://marketplace.visualstudio.com/items"
}

VSCode insiders

Insiders has the most recent code pushes and may lead to the occasional broken build. New builds at least everyday with features, bug fixes, and other recently closed issues. Insiders installs next to the Stable build, allowing you to use either independently.

yay -S visual-studio-code-insiders-bin

Docker

Podman

Is a better Docker?

  • Daemonless, using the fastest technologies for a snappy experience. Our UI is reactive and light on resource usage and won't drag you down.
  • Rootless containers allow you to contain privileges without compromising functionality. Trusted by US government agencies for secure HPC at scale case study.
  • Podman is open source first and won't lock you in. Podman Desktop can be used as one tool to manage all your containers, regardless of container engine - even if you don't use Podman as your container engine.
  • Compatible with other OCI compliant container formats including Docker. Run your legacy Docker containers (including docker-compose files) on Podman. Learn more
sudo pacman -S podman podman-compose
# If you want the desktop. (easy to see logs and shit kinda like portainer just kinda better)
yay -S podman-desktop

Docker

sudo pacman -S docker docker-compose
# Then we want to add our self to the docker group so we can run the docker command
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Nice Arch Linux

Pamac / Add/Remove software GUI

yay -S pamac-all

zsh

# dont open zsh before adding `.zshrc`
sudo pacman -S zsh zsh-theme-powerlevel10k zsh-syntax-highlighting zsh-history-substring-search zsh-autosuggestions

You have to add a font so the icons will work. I like the JetBrains Mono Nerd Font from Nerd Font. And install it from the fonts manager.

Then add the following to nano .zshrc

## Options section
setopt correct                                                  # Auto correct mistakes
setopt extendedglob                                             # Extended globbing. Allows using regular expressions with *
setopt nocaseglob                                               # Case insensitive globbing
setopt rcexpandparam                                            # Array expension with parameters
setopt nocheckjobs                                              # Don't warn about running processes when exiting
setopt numericglobsort                                          # Sort filenames numerically when it makes sense
setopt nobeep                                                   # No beep
setopt appendhistory                                            # Immediately append history instead of overwriting
setopt histignorealldups                                        # If a new command is a duplicate, remove the older one
setopt autocd                                                   # if only directory path is entered, cd there.

zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'       # Case insensitive tab completion
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"         # Colored completion (different colors for dirs/files/etc)
zstyle ':completion:*' rehash true                              # automatically find new executables in path
# Speed up completions
zstyle ':completion:*' accept-exact '*(N)'
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache
HISTFILE=~/.zhistory
HISTSIZE=10000
SAVEHIST=10000

export EDITOR=/usr/bin/vim
export VISUAL=/usr/bin/vim

WORDCHARS=${WORDCHARS//\/[&.;]}                                 # Don't consider certain characters part of the word

## Keybindings section
bindkey -e
bindkey '^[[7~' beginning-of-line                               # Home key
bindkey '^[[H' beginning-of-line                                # Home key
if [[ "${terminfo[khome]}" != "" ]]; then
  bindkey "${terminfo[khome]}" beginning-of-line                # [Home] - Go to beginning of line
fi
bindkey '^[[8~' end-of-line                                     # End key
bindkey '^[[F' end-of-line                                     # End key
if [[ "${terminfo[kend]}" != "" ]]; then
  bindkey "${terminfo[kend]}" end-of-line                       # [End] - Go to end of line
fi
bindkey '^[[2~' overwrite-mode                                  # Insert key
bindkey '^[[3~' delete-char                                     # Delete key
bindkey '^[[C'  forward-char                                    # Right key
bindkey '^[[D'  backward-char                                   # Left key
bindkey '^[[5~' history-beginning-search-backward               # Page up key
bindkey '^[[6~' history-beginning-search-forward                # Page down key

# Navigate words with ctrl+arrow keys
bindkey '^[Oc' forward-word                                     #
bindkey '^[Od' backward-word                                    #
bindkey '^[[1;5D' backward-word                                 #
bindkey '^[[1;5C' forward-word                                  #
bindkey '^H' backward-kill-word                                 # delete previous word with ctrl+backspace
bindkey '^[[Z' undo                                             # Shift+tab undo last action

## Alias section
alias cp="cp -i"                                                # Confirm before overwriting something
alias rm="rm -l"                                                #
#alias df='df -h'                                                # Human-readable sizes
#alias free='free -m'                                            # Show sizes in MB
#alias gitu='git add . && git commit && git push'

# Theming section
autoload -U compinit colors zcalc
compinit -d
colors

# Color man pages
export LESS_TERMCAP_mb=$'\E[01;32m'
export LESS_TERMCAP_md=$'\E[01;32m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;47;34m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;36m'
export LESS=-r


## Plugins section

# use powerlevel
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme

# Use syntax highlighting
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

# Use history substring search
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh

# bind UP and DOWN arrow keys to history substring search
zmodload zsh/terminfo
bindkey "$terminfo[kcuu1]" history-substring-search-up
bindkey "$terminfo[kcud1]" history-substring-search-down
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down


# Use autosuggestion
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'

Alacritty termainal

sudo pacman -S Alacritty

Add the following to .alacritty.yml

shell:
  program: /bin/zsh # default /bin/bash

font:
  size: 10 # default 11
  normal:
    family: "JetBrainsMonoNL NF"

scrolling:
  history: 20000 # default 10000

Good CLI Tools

ripgrep a better grip.

sudo pacman -S ripgrep
echo "alias grip=\"rg\"" >> .zshrc

bat a better cat clone with syntax highlighting and Git integration

sudo pacman -S bat
echo "alias cat=\"bat\"" >> .zshrc

exa a modern replacement for ls

sudo pacman -S exa
echo "alias ls=\"exa\"" >> .zshrc
echo "alias ll=\"exa -l\"" >> .zshrc

skim a good Fuzzy Finder

sudo pacman -S skim
# this is using ripgrep

# sf meaning search for file
echo "alias sf=\"sk --ansi -i -c 'rg --color=always --line-number \"{}\"'\"" >> .zshrc
# fs meaning search inside file
echo "alias fs=\"rg --files | sk --preview=\\\"bat {} --color=always\\\"\"" >> .zshrc