obsidian/wiki/dotfiles/linux-terminal-ricing.md
2026-04-15 21:27:37 +01:00

6 KiB

title aliases tags sources created updated
Linux Terminal Ricing: Kitty + Fish + Modern CLI Tools
terminal-customization
linux-ricing
terminal-setup
linux
terminal
fish
kitty
neovim
ricing
cli
dotfiles
raw/Как сделать терминал в Linux красивым
быстрым и удобным.md
2026-04-15 2026-04-15

Overview

Full guide to transforming a bare bash terminal into a fast, beautiful, keyboard-driven environment. Stack: Kitty emulator + Fish shell + modern Rust-based CLI replacements + LazyVim + unified Kanagawa color theme.

Demonstrated on CachyOS with the Niri tiling Wayland compositor.


Stack at a Glance

Layer Tool Replaces
Terminal emulator Kitty Alacritty / GNOME Terminal
Shell Fish Bash
Prompt theme Tide (via Fisher) Manual PS1
ls lsd ls
cat bat cat
find fd find
grep ripgrep (rg) grep
cd zoxide (z) cd
Fuzzy finder fzf
System monitor btop htop
File manager superfile ranger
Git TUI lazygit CLI git
Editor/IDE Neovim + LazyVim VS Code
System info fastfetch neofetch

Installation Steps

1. Terminal Emulator — Kitty

sudo pacman -S kitty fish

Key config (~/.config/kitty/kitty.conf):

  • Font: must use a Nerd Font (e.g. Hasklug Nerd Font) — required for icons in lsd, superfile, etc.
  • font_size 13
  • background_opacity 0.95 — subtle transparency
  • cursor_shape beam — thin vertical line, clearer than block
  • cursor_trail 1 — animated cursor trail (aesthetic only)
  • window_margin_width 8 — padding so text doesn't touch edges
  • confirm_os_window_close 0 — skip close confirmation
  • shell fish — launch Fish directly in Kitty

2. Shell — Fish

# Make Fish default for all terminals + login
chsh -s /bin/fish

# Install Fisher (plugin manager)
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher

# Install Tide prompt
fisher install IlanCosman/tide@v6

Tide setup launches an interactive wizard — choose icon style, separators, Git status format. Result: prompt shows current dir, Git branch, last command status, execution time.

Fish advantages over bash out-of-the-box:

  • Autosuggestions from history (grey ghost text)
  • Syntax highlighting while typing (red = invalid command, before Enter)
  • No config needed for basic usability

3. CLI Utilities

sudo pacman -S lsd bat btop zoxide fastfetch fzf fd ripgrep lazygit neovim

superfile — installed separately per its GitHub instructions.

pokemon-colorscripts — installed from GitLab page.

4. Fish Config (~/.config/fish/config.fish)

# Disable Fish welcome message
set fish_greeting

# Pokemon on terminal open
pokemon-colorscripts -r

# Aliases — replace standard tools
alias ls='lsd'
alias ll='lsd -la'
alias cat='bat'
alias find='fd'
alias grep='rg'

# Initialize zoxide
zoxide init fish | source

5. Neovim — LazyVim

# Backup existing config
mv ~/.config/nvim{,.bak}
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}
mv ~/.cache/nvim{,.bak}

# Install LazyVim starter
git clone https://github.com/LazyVim/starter ~/.config/nvim
rm -rf ~/.config/nvim/.git

First launch auto-installs all plugins. Includes: file explorer, LSP, autocomplete, syntax highlighting (Tree-sitter), Telescope fuzzy search, Git integration.

6. Unified Color Theme — Kanagawa

Apply Kanagawa to each tool:

  • Kitty: use built-in theme picker or include kanagawa.conf in kitty.conf
  • Neovim: create ~/.config/nvim/lua/plugins/colorscheme.lua with rebelot/kanagawa.nvim
  • superfile: create custom theme file at ~/.config/superfile/themes/kanagawa.toml (use LLM to map Kanagawa hex palette onto superfile's config format)

Tool Demos

fzf — Fuzzy Open/Edit

bat (fzf)      # open any file with bat
nvim (fzf)     # open any file in neovim
cd (fzf)       # jump to any directory

Fish (cmd) syntax substitutes the output — fzf runs first, result passes to outer command.

zoxide — Smart cd

z kit    # jumps to ~/.config/kitty after visiting it once
z pac    # jumps to /etc/pacman.d

Learns from frequency + recency. Needs training — just navigate normally for a day.

rg "font_family" ~/.config    # find which config file sets the font

Respects .gitignore, highlights matches, shows line numbers, massively faster than grep on large trees.

fd — Simple File Find

fd kitty.conf    # recursive, no flags, colorized output

Key Takeaways

  • Nerd Fonts are mandatory — without them, lsd/superfile/Tide show ? instead of icons
  • Fish replaces bash config complexity — no PS1 escape sequences; Tide wizard covers 90% of prompt customization
  • zoxide needs training — navigate your dirs normally for a day before relying on it
  • One-command install for most tools: sudo pacman -S lsd bat btop zoxide fastfetch fzf fd ripgrep lazygit neovim
  • Unified theme requires manual work — superfile has no Kanagawa preset; use an LLM to convert hex palette
  • LazyVim dramatically lowers Neovim entry barrier — full IDE features on first launch
  • fzf is a universal filter — pipe any list into it; (fzf) Fish substitution pattern is extremely versatile
  • The whole stack is keyboard-only — ideal for tiling WMs (Niri, Hyprland) where mouse use is minimized


Sources

  • Raw source: raw/Как сделать терминал в Linux красивым, быстрым и удобным.md
  • Original video: YouTube — Василий Ломагин (2026-03-20)
  • Channel community: t.me/dotfiles_linux