These are the tools and configurations I use for openSUSE Tumbleweed. Check the project GitHub pages to get installation instructions for your OS.
- Nerd Fonts: GitHub, Website: FiraCode Nerd Font v3.1.1
- Bash -> Fish: GitHub, Website
- Bash prompt -> Starship: GitHub, Website
ls->lsd: LSD (LSDeluxe) - GitHubdig,host->q: GitHubcd->z: zoxide - GitHubfind->fd: GitHubhistory->atuin: GitHubdiff(andgit diff) ->delta: GitHubtop,htop->btop: GitHubjq->yq: GitHubcheat: GitHubgping: GitHubjq->yq: GitHubps->proc: GitHubcat->bat: GitHubdu->dust: GitHubdf->dysk: GitHubgrep->ripgrep: GitHubcut->choose: GitHub
These tools have not been installed as I don't need them.
sudo zypper install -y cargo go
Nerd Fonts (GitHub, Website) serves many modern fonts with unicode symbols that will be used by the (console) tools.
Install instructions for openSUSE can be found here.
mkdir -p ~/.local/share/fonts
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/FiraCode.zip -O ~/.local/share/fonts/firacode.zip
unzip ~/.local/share/fonts/firacode.zip -d ~/.local/share/fonts/firacode
rm ~/.local/share/fonts/firacode.zip
- Enable the font in the KDE menu, search for 'fonts'
- Restart
Konsoleand edit the profile. Change the fonts settings underAppearance->Color and Font
Fish will replace Bash as command line shell. It has colors, a tree-view, formatting options and a configurations file.
sudo zypper install -y fish
Change the default shell to fish:
chsh -s /usr/bin/fish
Also change the KDE settings from bash to fish.
Add the command into ~/.config/fish/config.fish at the end:
fish_add_path ~/go/bin
Starship (GitHub, Website) is a prompt with a way better overview and has some nice features for git.
sudo zypper install -y starship
starship preset bracketed-segments -o ~/.config/starship.toml
Add into ~/.config/fish/config.fish in the if status is-interactive block:
starship init fish | source
lsd (GitHub will replace ls. It has colors, a tree-view, formatting options and a configurations file.
sudo zypper install -y lsd
mkdir ~/.config/lsd
echo 'date: "+%Y-%m-%d %H:%M:%S"' > ~/.config/lsd/config.yaml
Add the commands into ~/.config/fish/config.fish at the end:
alias ll='lsd -al'
alias llt='lsd -a --tree'
q has way more features than dig, but will also replace host
go install github.com/natesales/q@latest
Add the commands into ~/.config/fish/config.fish at the end:
alias q='q -R'
Zoxide (GitHub) with its z command replaced cd. It will remember the already used pathes and has also.
go install github.com/junegunn/fzf@latest
sudo zypper install -y zoxide
Add into ~/.config/fish/config.fish in the if status is-interactive block:
zoxide init fish | source
Add the commands into ~/.config/fish/config.fish at the end:
alias q='q -R'
fd (GitHub) is a fast and intuitive replacement for find.
go install github.com/junegunn/fzf@latest
sudo zypper install -y fd
Add the commands into ~/.config/fish/config.fish at the end:
set FZF_DEFAULT_COMMAND 'fd --type file --color=always'
set FZF_CTRL_T_COMMAND $FZF_DEFAULT_COMMAND
atuin (GitHub) replaces history and stores the command with context into an SQLite database.
sudo zypper install -y atuin
mkdir ~/.config/atuin
echo 'auto_sync = true' > ~/.config/atuin/config.toml
echo 'enter_accept = false' >> ~/.config/atuin/config.toml
echo 'secrets_filter = true' >> ~/.config/atuin/config.toml
echo 'show_preview = true' >> ~/.config/atuin/config.toml
echo 'style = "compact"' >> ~/.config/atuin/config.toml
echo 'update_check = false' >> ~/.config/atuin/config.toml
atuin import auto
Add into ~/.config/fish/config.fish in the if status is-interactive block:
atuin init fish | source
Delta (GitHub) replaces diff (and also changes git diff).
sudo zypper install -y git-delta
Add into ~/.gitconfig:
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # use n and N to move between diff sections
# delta detects terminal colors automatically; set one of these to disable auto-detection
# dark = true
# light = true
[merge]
conflictstyle = diff3
[diff]
colorMoved = default
Delta (GitHub) replaces top and htop.
sudo zypper install -y btop
yq (GitHub) replaces jq. It supports not only JSON, but also YAML, XML, CSV, TOML and properties.
go install github.com/mikefarah/yq/v4@latest
cheat (GitHub) can display cheatsheets for commands.
sudo zypper install -y cheat
git clone https://github.com/cheat/cheatsheets.git ~/Entwicklung/Sonstige/cheatsheets
mkdir ~/.config/cheat
Add the commands into ~/.config/cheat/conf.yml:
---
cheatpaths:
- name: community # a name for the cheatpath
path: ~/Entwicklung/Sonstige/cheatsheets # the path's location on the filesystem
tags: [ community ] # these tags will be applied to all sheets on the path
readonly: true # if true, `cheat` will not create new cheatsheets here
Add the commands into ~/.config/fish/config.fish at the end:
set CHEAT_USE_FZF true
gping (GitHub) is an ICMP ping with a statictics graph.
wget -O ~/Programme/bin/gping-Linux-x86_64.tar.gz https://github.com/orf/gping/releases/latest/download/gping-Linux-x86_64.tar.gz
tar -xzf ~/Programme/bin/gping-Linux-x86_64.tar.gz -C ~/Programme/bin
rm ~/Programme/bin/gping-Linux-x86_64.tar.gz
Add the command into ~/.config/fish/config.fish at the end:
fish_add_path ~/Programme/bin
procs (GitHub) replaces ps.
sudo zypper install -y procs
Not yet finished: https://github.com/dalance/procs?tab=readme-ov-file#shell-completion https://github.com/dalance/procs?tab=readme-ov-file#configuration
bat (GitHub) replaces cat.
sudo zypper install -y bat
dust (GitHub) replaces du.
sudo zypper install -y dust
dysk (GitHub) replaces df.
sudo cargo install dysk --root /usr/local/
ripgrep (GitHub) replaces grep.
sudo zypper install -y ripgrep
choose (GitHub) replaces cut.
sudo zypper install -y choose