Qutzl Insights

Advertisement

4 min read

Dotfiles with a Kali-style prompt you can actually customize

What’s in Narehood/dotfiles (bash/zsh, tmux, vim, screen) and the newer prompt.conf settings for emoji, colors, layouts, and safer install/uninstall.

By Michael NarehoodLinux

I want a shell that looks like home on every Debian-family box I land on, without editing .zshrc with a hex color every time I change my mind. Narehood/dotfiles is that kit: Kali-style bash and zsh configs, plus the usual companions (tmux, vim, screen, aliases), with a small settings file for the prompt so customization does not mean forking the whole repo.

It started as a fork of the Lawrence Systems / older community lineage and has been trimmed toward shell safety and a clearer prompt story.

What’s in the box

Tracked shell and editor configs at the repo root:

  • bash: .bashrc, aliases, exports, wrappers, profile
  • zsh: .zshrc with the same prompt family as bash
  • tmux / screen / vim: session and editor defaults I actually use

Install is intentionally boring:

cd ~
git clone https://github.com/Narehood/dotfiles.git
cd dotfiles
./install.sh

Optional, if you want zsh as the login shell:

chsh -s /bin/zsh

On apt-based systems the installer also tries to pull zsh, syntax highlighting, autosuggestions, and vim-scripts. If apt is missing or a package fails, the symlinks still land; you just install plugins yourself later.

Uninstall restores .dtbak backups and leaves your prompt settings alone so a reinstall does not wipe personalizations:

cd ~/dotfiles
./uninstall.sh

The prompt: configs, not magic

Appearance is controlled by:

~/.config/dotfiles/prompt.conf

First install copies defaults from the repo’s config/prompt.conf and never overwrites an existing user file. Edit that file, open a new shell (or source your rc), done.

Layouts

Value What you get
twoline Kali-style two-line prompt with emoji between user and host (default)
oneline Single-line user@host:path$ using your colors
backtrack Classic BackTrack-style red user@host / blue path

Example twoline look:

┌──(you😈hostname)-[~/projects]
└─$

Settings that matter day to day

  • Emoji: PROMPT_EMOJI for normal users (default 😈), PROMPT_EMOJI_ROOT for root (default 💀)
  • Colors: named values for frame/path vs user/host, separate for user and root (green, boldblue, brightred, and friends)
  • Spacing: NEWLINE_BEFORE_PROMPT for a blank line before each prompt
  • Zsh rprompt: SHOW_RPROMPT=yes for exit status and background job count on the right

Zsh tip: Ctrl-P toggles between twoline and oneline without editing the config.

Reset to defaults if you painted yourself into a corner:

rm ~/.config/dotfiles/prompt.conf
cd ~/dotfiles && ./install.sh

What’s new

The recent modernization pass is the reason to look at this again if you last cloned years ago.

User-editable prompt settings

Prompt emoji, colors, and layout used to mean digging through shell rc files. They now live in prompt.conf with a documented option table in the README. Defaults stay in-repo; your overrides stay under ~/.config.

Safer install / uninstall

Install and uninstall handle symlink edge cases better, including broken symlinks, and use absolute paths when linking so path traversal nonsense is harder. Bash scripts lean on set -euo pipefail and fewer “hope this path is fine” assumptions. Earlier security-minded cleanup also tightened shell practices across the configs.

Clearer docs

The README is now a real reference for prompt options, color names, uninstall behavior, and the Ctrl-P toggle, not just a clone-and-run blurb.

Practical notes

  • This is opinionated shell config, not a full desktop environment. Expect to tweak aliases and vim to taste.
  • Prefer reading what install.sh will symlink before you run it on a machine with a carefully hand-tuned .bashrc.
  • Root and normal-user prompts use different colors and emoji on purpose. That visual cue has saved me more than once.

Bottom line

Narehood/dotfiles gives you a familiar Kali-style shell on bash and zsh, with tmux/vim/screen alongside, and a small prompt.conf so changing emoji and colors does not require a merge conflict. The newer work is the settings file, install/uninstall hardening, and docs that match how the prompt actually behaves.

Clone it, run ./install.sh, edit ~/.config/dotfiles/prompt.conf, and stop re-themeing every VM by hand.