Thanks to visit codestin.com
Credit goes to github.com

Skip to content

drekunia/.dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My dotfiles

This repository contains the dotfiles for my system. I aim to make this setup to be easy to replicate mainly on Ubuntu and Debian based OS, so here I use apt for the installation. For Mac environment, use Homebrew instead.

Installation

Shell Tools

  • Install Jetbrains Mono Nerd Font

  • Install WezTerm (or Setup Windows Terminal for WSL)

    For Windows Terminal, apply this settings.json in Settings

  • Install required packages

    sudo apt install stow zsh git git-delta bat fd-find eza zoxide ripgrep fzf tmux keychain

    (eza can be replaced with tree for fzf preview)

  • Symlink fdfind to local PATH (see more details)

    mkdir ~/.local/bin -p; \
    ln -s $(which fdfind) ~/.local/bin/fd
  • Setup Git credentials (SSH key in my case)
    Create or import SSH keypair and make sure it's not too open

    chmod 700 ~/.ssh; \
    chmod 644 ~/.ssh/id_ed25519.pub; \
    chmod 600 ~/.ssh/id_ed25519; \
    ssh-add
  • Clone this repository to home

    git clone [email protected]:drekunia/.dotfiles.git ~/.dotfiles
  • Create directories to avoid symlink to parent directories

    mkdir ~/{.config/zed,.config/gh,.vim,.zsh,.ssh,.gnupg} -p
  • Stow the configs

    cd ~/.dotfiles && stow .

    (sometimes needs to resolve conflicts in case of duplicates)

  • Change default shell to ZSH

    chsh -s $(which zsh)
  • Restart Terminal

  • Generate locale (if not available)

    sudo locale-gen en_US.UTF-8
  • Clone ZSH plugins

    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_PLUGINS:-~/.zsh/plugins}/zsh-autosuggestions; \
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_PLUGINS:-~/.zsh/plugins}/zsh-syntax-highlighting; \
    git clone https://github.com/MichaelAquilina/zsh-you-should-use.git ${ZSH_PLUGINS:-~/.zsh/plugins}/you-should-use; \
    git clone https://github.com/zsh-users/zsh-history-substring-search.git ${ZSH_PLUGINS:-~/.zsh/plugins}/zsh-history-substring-search
  • Install Starship

Development Environment

GPG keypair for signing Git commit

Or just disable signing in .config/git/config

mise, Neovim, and LazyVim

I use LazyVim and some plugins have dependencies
I put lazygit on mise config and other packages are installed with apt

  • Install mise-en-place

  • Restart Terminal and run mise install
    (check the plugin details for requirements if the install fails)
    To install ruby, erlang, and elixir plugin, install these dependencies along with rustc (rustup)

  • Install luarocks and xsel (LazyVim dependencies)

    sudo apt install luarocks xsel
  • Install python3-venv (Ruff dependencies)

    sudo apt install python3-venv
  • Install Neovim (v0.10.0 or later)

Other common dev tools

CLI

  • wslu: A collection of utilities for WSL (including xdg-open)
  • Docker Engine
  • uv: All-in-one and extremely fast Python package manager written in Rust
  • Posting: Terminal API client
  • Harlequin: Terminal database client (install harlequin[postgres,mysql] for adapters)
  • Github CLI
  • Git LFS: Git extension for versioning large files
  • Ollama
  • jq: JSON formatter CLI (read tutorial)

GUI

  • Google Chrome

    wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo tee /etc/apt/trusted.gpg.d/google.asc >/dev/null && \
    echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list && \
    sudo apt update && sudo apt install google-chrome-stable
    

Other useful packages to install (or not)

About

My dotfiles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published