Skip to content

draco/dotfiles-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Write once, run everywhere.

This repository manages my configuration for macOS and Linux (WSL2), ensuring a consistent development environment across machines.

🪟 Windows (WSL2) Setup

This automation handles the Linux/WSL2 environment. The Windows host must be set up manually.

  1. Install WezTerm: Install the WezTerm terminal on Windows.
  2. Install Fonts on Windows:
    • Download JetBrainsMono Nerd Font.
    • Unzip and install the font files into Windows (Select all -> Right Click -> Install).
    • Note: WezTerm running on Windows cannot see fonts installed inside WSL.
  3. Proceed with Installation: Open WezTerm, launch WSL (wsl), and follow the steps below.

🚀 Installation

1. Clone the repository

git clone https://github.com/YOUR_USERNAME/dotfiles.git ~/dotfiles
cd ~/dotfiles

2. Run the setup script

This script will backup your existing config, create symlinks, and install dependencies via Homebrew.

./install.sh

🛠️ Tooling Cheatsheet

Your terminal is supercharged with modern Rust-based tools. Here is how to use them.

Navigation & Files

Command Tool Description
z <name> zoxide Jump to any directory instantly (fuzzy match).
zi zoxide Interactive directory selection with FZF.
ls eza Modern, colorful directory listing with icons and git status.
cat <file> bat View file with syntax highlighting and line numbers.
del <file> trash-cli Safely delete files to the system trash (instead of rm).
y yazi Blazing fast terminal file manager (like Finder/Explorer).

Git & Docker

Command Tool Description
lg lazygit Full terminal UI for Git. Never type git add again.
ld lazydocker Full terminal UI for Docker. View logs, restart containers easily.
delta git-delta Beautiful side-by-side git diffs (auto-configured).

Search

Command Tool Description
Ctrl+T fzf Fuzzy find files in current dir (with Live Preview).
Alt+C fzf Fuzzy find directories and cd into them.
Ctrl+R mcfly Smart shell history search (uses AI ranking).
help <cmd> tealdeer Simplified man pages (e.g., help tar).

Monitoring

Command Tool Description
btop btop System monitor (CPU, Mem, Network) with Tokyo Night theme.

🔐 Post-Installation (Manual Steps)

These files are ignored by git to keep your secrets safe. You must create them manually on each new machine.

1. Identity (~/.gitconfig_local)

Set your git identity to ensure your commits are attributed correctly.

[user]
    name = Your Name
    email = you@example.com

2. Secrets (~/.zshrc_local)

Add your API keys, tokens, and machine-specific logic here.

# Secrets
export ANTHROPIC_API_KEY="sk-..."
export GITHUB_TOKEN="ghp_..."

# Machine-specific Aliases
alias work="cd ~/work/projects"

🔄 Workflow

  • Sync: To get the latest config on any machine:

    cd ~/dotfiles && git pull && ./install.sh

    Note: Running ./install.sh acts as a "repair" or "update" script. It is safe to run multiple times.

  • Update: To save changes:

    1. Edit your config files normally (e.g., ~/.zshrc).
    2. cd ~/dotfiles
    3. git commit -am "Update config"
    4. git push

📂 Structure

  • Brewfile: The manifest of installed tools.
  • zsh/: Shell configuration (Aliases, FZF, Tools init).
  • wezterm/: WezTerm styling (Tokyo Night Light) and keybindings.
  • git/: Global git configuration (Delta, Excludes).
  • nvim/: LazyVim configuration.
  • btop/: System monitor config.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 55.0%
  • Shell 39.5%
  • Ruby 5.5%