Fedora shell config lives in zsh-fedora/. macOS uses zsh/.
sudo dnf install -y git zsh
chsh -s "$(command -v zsh)" # optional; log out aftercd "$HOME" # or wherever you keep projects
git clone https://github.com/blutarche/blut-setup.git
cd blut-setup
git submodule update --init --recursivegit clone --depth=1 https://github.com/mattmc3/antidote.git "$HOME/.antidote"sudo dnf install -y zsh zoxide fzf fd-find ripgrep eza bat fastfetch gitfdfind comes from package fd-find.
Not in default repos:
sudo dnf copr enable atim/starship
sudo dnf install -y starshipInstall these so zsh-fedora/.zshrc matches what you run on the Mac:
sudo dnf install -y atuin navi
curl https://mise.run | shlazygit is not in the default repos here; put the binary in ~/.local/bin:
mkdir -p ~/.local/bin
curl -sL https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_Linux_x86_64.tar.gz | tar xz -C ~/.local/bin lazygitthefuck — do not use Fedora’s RPM. Install pip and a user install:
sudo dnf install -y python3-pip
pip install --user thefuckIf thefuck still errors on startup, remove it and comment that line in zsh-fedora/.zshrc.
cd /path/to/blut-setup
ln -sf "$(pwd)/zsh-fedora/.zshrc" ~/.zshrc
mkdir -p ~/.config
ln -sf "$(pwd)/zsh-fedora/config" ~/.config/zsh
mkdir -p ~/.config/mise
ln -sf "$(pwd)/mise/config.toml" ~/.config/mise/config.toml
mise trust "$(pwd)/mise/config.toml" # mise resolves the symlink to its real path; trust it once
mise installexec zsh -l~/.config/Cursor/User/settings.json should be a symlink to this repo (same idea as zsh):
cd ~/proj/blut-setup # or your clone path
mkdir -p "$HOME/.config/Cursor/User"
tgt="$HOME/.config/Cursor/User/settings.json"
[ -e "$tgt" ] && [ ! -L "$tgt" ] && mv "$tgt" "$tgt.bak.$(date +%Y%m%d%H%M%S)"
ln -sf "$(pwd)/vscode/settings.json" "$tgt"Restart Cursor after changing this.
| Link | Target |
|---|---|
~/.zshrc |
blut-setup/zsh-fedora/.zshrc |
~/.config/zsh |
blut-setup/zsh-fedora/config |
~/.config/mise/config.toml |
blut-setup/mise/config.toml |
~/.config/Cursor/User/settings.json |
blut-setup/vscode/settings.json |
for link in ~/.zshrc ~/.config/zsh ~/.config/mise/config.toml ~/.config/Cursor/User/settings.json; do
[[ -L "$link" ]] && echo "ok $link" || echo "missing $link"
donestarshipnot found in dnf — step 4 (COPR first).- Antidote missing — step 2.
fdfindmissing —sudo dnf install fd-find.- Garbage commands after startup —
rm -rf ~/.cache/antidotethenexec zsh -l. thefuck/ distutils —sudo dnf remove thefuck; usepip install --user thefuck(step 5) or comment it out inzsh-fedora/.zshrc.