Skip to content

89iuv/dotfiles

Repository files navigation

Dotfiles

Environment

Repo

# install git
sudo dnf install -y git

# clone repo
git clone --recurse-submodules https://github.com/89iuv/dotfiles.git ~/.dotfiles
cd ~/.dotfiles

System

# update installed packages and repositories
sudo dnf -y update

# install development tools: git, c compiler, make, etc
sudo dnf -y group install c-development development-tools

# install dependencies
sudo dnf -y install \
  xsel \
  script zoxide fzf bat ripgrep fd jq stow \
  curl wget \
  stress hyperfine \
  chafa

Tools

# ssh
sudo dnf install -y sshd
sudo systemctl enable --now sshd

# zsh
sudo dnf -y install zsh

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

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

git clone https://github.com/zsh-users/zsh-autosuggestions \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-history-substring-search \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

git clone https://github.com/Pilaton/OhMyZsh-full-autoupdate.git \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/ohmyzsh-full-autoupdate

stow zsh
echo exit | script -qec zsh /dev/null >/dev/null

# eza
mkdir tmp
cd tmp

curl -fsSL https://github.com/eza-community/eza/releases/latest/download/eza_x86_64-unknown-linux-gnu.tar.gz \
  | tar xz

chmod +x eza
sudo chown root:root eza
sudo mv eza /usr/local/bin/eza
cd ..
rm -rf tmp

stow eza

# git-delta
sudo dnf install -y git-delta

git config --global core.pager delta
git config --global include.path "$HOME/.dotfiles/catppuccin/delta/catppuccin.gitconfig"

git config --global delta.features catppuccin-macchiato
git config --global delta.true-colors "always"
git config --global delta.line-numbers true

git config --global delta.commit-decoration-style "bold"

git config --global delta.file-style "#b7bdf8"
git config --global delta.file-decoration-style "ul #b7bdf8"

git config --global delta.hunk-header-style omit
git config --global delta.hunk-header-decoration-style "ul #6e738d"

git config --global diff.colorMoved default
git config --global merge.conflictstyle zdiff3
git config --global interactive.diffFilter "delta --color-only"

git config --global alias.diff-unified "-c delta.hunk-header-style=auto -c delta.line-numbers=false diff"
git config --global alias.diff-compare "-c delta.hunk-header-style=omit -c delta.side-by-side=true diff"

# tmux
sudo dnf -y install tmux
stow tmux

# nvim
sudo dnf -y install neovim
stow nvim

# btop
sudo dnf -y install btop
stow btop

# fastfetch
sudo dnf -y install fastfetch
stow fastfetch

Coding

# java
sudo dnf install -y java-latest-openjdk-devel maven

# python
sudo dnf install -y python pip uv

# nodejs
sudo dnf install -y node

# lua
sudo dnf install -y lua luarocks compat-lua

AI

# NOTE: replace <your_api_key> with the mcp api key
ZCAT_LLM_KEY=<your_api_key>
CONTEXT7_API_KEY=<your_api_key>

# setup zcat api key
command cat <<EOF >> ~/.zshrc_local
# context7
export ZCAT_LLM_KEY=$ZCAT_LLM_KEY
EOF

# setup context7 api key
command cat <<EOF >> ~/.zshrc_local
# context7
export CONTEXT7_API_KEY=$CONTEXT7_API_KEY
EOF

# opencode
curl -fsSL https://opencode.ai/install | bash
stow opencode

Containers

# hadolint
sudo dnf install -y hadolint

# docker
sudo dnf config-manager addrepo --overwrite --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
mkdir -p ~/.oh-my-zsh/completions/
docker completion zsh > ~/.oh-my-zsh/completions/_docker
sudo usermod -aG docker "$USER"
sudo systemctl enable --now docker.service

Clean Up

# remove or invalidate cache data
sudo dnf clean all

# change shell to zsh
sudo chsh -s $(which zsh) $(whoami)

# replace shell with new one
exec zsh --login

About

Valentin's dotfiles

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors