1  Terminal

Setting up my terminal environment. The dimensions of my terminal is 150 columns by 35 rows.

1.1 kitty terminal emulator

I am using kitty as my terminal emulator. See the dotfiles

1.1.1 Installation

  • https://www.linuxfordevices.com/tutorials/ubuntu/install-kitty

Do not forget to recreate the symbolic link to the kitty binary after an update.

1.1.2 Kitty themes

  • https://github.com/kovidgoyal/kitty-themes

Type:

kitty +kitten themes

1.1.3 Remote ssh

kitty +kitten ssh filoche@beluga.computecanada.ca
edit-in-kitty filename
  • https://sw.kovidgoyal.net/kitty/kittens/remote_file/
  • https://sw.kovidgoyal.net/kitty/shell-integration/#shell-integration-over-ssh

To download a file from a remote server:

<local computer >$ kitten ssh my-remote-computer
<remote computer >$ kitten transfer some-file /path/on/local/computer

Example:

kitty +kitten ssh filoche@cedar.computecanada.ca
kitten transfer simulation_results.tar.bz2 ~/Desktop/

1.2 Fonts

1.2.1 JetBrains font

For my daily to go programming font.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/install_manual.sh)"

1.2.2 Meslo Nerd font (for Powerlevl10k)

Got on this page and download and install the .ttf files.

1.3 zsh

sudo apt install zsh

1.3.1 oh-my-zsh

Install oh-my-zsh

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

1.3.2 power10k theme

Powerlevel10k theme

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Then, set ZSH_THEME="powerlevel10k/powerlevel10k" in ~/.zshrc and configure the theme as follow:

p10k configure

1.4 Useful tools

For some of these tools, rust needs to be installed.

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

To update installed cargo packages:

cargo install cargo-update
cargo install-update -l
cargo install-update -a

1.4.1 tldr

sudo apt install tldr
tldr --update

1.4.2 eza

git clone https://github.com/eza-community/eza.git
cd eza
cargo install --path .

1.4.3 bat

cargo install bat

1.4.4 Creating alias

nano ~/.zshrc

Add these alias to the file.

alias ls='eza --icons'
alias l='eza'
alias la='eza -a'
alias ll='eza -lahF --icons'
alias cat=bat

1.4.5 fzf

fzf is a command-line fuzzy finder.

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

Then, set plugins=(fzf) in ~/.zshrc.

1.4.6 The Silver Searcher

The Silver Searcher

sudo apt-get install silversearcher-ag

1.4.7 ripgrep

https://github.com/BurntSushi/ripgrep

Easier to use to me.

rg read.csv -g "*.R"

1.4.8 gdu - go DiskUsage()

Pretty fast disk usage analyzer written in Go: https://github.com/dundee/gdu

curl -L https://github.com/dundee/gdu/releases/latest/download/gdu_linux_amd64.tgz | tar xz
chmod +x gdu_linux_amd64
mv gdu_linux_amd64 /usr/bin/gdu

1.4.9 nala

Nala is a front-end for libapt-pkg. Specifically we interface using the python-apt api.

1.4.10 btop

  • https://github.com/aristocratos/btop

1.4.11 Broot

  • https://github.com/Canop/broot
cargo install --locked broot

1.4.12 lazygit

  • https://github.com/jesseduffield/lazygit/tree/master

1.4.12.1 Delta pager

  • https://github.com/dandavison/delta

1.4.13 zoxide

  • https://github.com/ajeetdsouza/zoxide

1.4.14 Yazi

  • https://yazi-rs.github.io/

1.4.15 Greenclip

wget https://github.com/erebe/greenclip/releases/download/v4.2/greenclip -O ~/bin/greenclip && chmod +x ~/bin/greenclip

# Getting a segfault with 4.3, so using 4.2 for now
wget https://github.com/erebe/greenclip/releases/download/v4.3/greenclip -O ~/bin/greenclip && chmod +x ~/bin/greenclip