Skip to content

Bedatty-Engineering/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Bedatty Engineering

dotfiles

DevOps/Cloud engineering workstation. One-command setup from a fresh Ubuntu/WSL install to a fully configured environment with shell, cloud tools, Kubernetes stack, and editor configs.


Quick Install

Auto-accept, install everything (recommended):

curl -fsSL https://raw.githubusercontent.com/Bedatty-Engineering/dotfiles/main/scripts/install.sh | bash -s -- -y

Interactive (choose categories and tools as you go):

curl -fsSL https://raw.githubusercontent.com/Bedatty-Engineering/dotfiles/main/scripts/install.sh | bash

Update

Pull the latest dotfiles and refresh symlinks (detects what changed):

curl -fsSL https://raw.githubusercontent.com/Bedatty-Engineering/dotfiles/main/scripts/update.sh | bash

Add -s -- -y to auto-accept prompts.

Uninstall

Auto-accept, remove everything (recommended):

curl -fsSL https://raw.githubusercontent.com/Bedatty-Engineering/dotfiles/main/scripts/uninstall.sh | bash -s -- -y

Interactive:

curl -fsSL https://raw.githubusercontent.com/Bedatty-Engineering/dotfiles/main/scripts/uninstall.sh | bash

What's included

Packages are grouped into categories you can pick or skip:

  • Shell — Oh-My-Zsh, plugins, fzf, tmux plugins, Nerd Font
  • Kubernetes — kubectl, helm, k9s, and related tooling
  • Cloud — AWS CLI, Terraform, OpenVPN
  • Dev — Docker, Python, Bun, GitHub CLI, Claude Code
  • Terminal — modern replacements (bat, eza, zoxide, atuin, tilix, etc.)
  • Editors — VS Code

Dotfiles linked into $HOME:

  • Shell config (.zshrc, .bashrc, .tmux.conf)
  • Git config (with signing, delta diff, global ignores)
  • Editor config (.editorconfig)
  • Cloud configs (~/.aws/config, ~/.ssh/config) as templates
  • Claude Code settings and custom skills/commands

Inspect the scripts/packages.sh for the full, current list.


How it works

Install is split into three scripts that run in sequence (all interactive):

Script What it does
install.sh Entry point — clones this repo, runs the others
packages.sh Installs selected tools
link.sh Creates symlinks from this repo into $HOME

Run any of them standalone. Pass -y to skip all prompts.

Existing files in $HOME are backed up to *.bak before being replaced with symlinks. Editing the file in the repo updates $HOME automatically (and vice-versa).


Manual steps after install

The install script prints a detailed checklist at the end. In short, you'll need to:

  • Copy your SSH keys, then ssh-add them
  • aws sso login --profile <profile> with your real accounts
  • Copy kubeconfigs into ~/.kube/
  • gh auth login, argocd login, etc.
  • Configure your terminal to use a Nerd Font (otherwise icons look broken)

See the end-of-install output for copy-pasteable commands.


Security

This repo is public and safe to share:

  • No secrets, tokens, or real account IDs in tracked files
  • Sensitive names (company, clusters, users) replaced with fictional placeholders
  • .gitignore blocks private keys, credentials, Claude session data, and anything matching typical secret patterns
  • Real values live only in local files that are never committed

Customizing

Fork this repo, change the name/email in home/.gitconfig, update the placeholders in config/aws/config and config/ssh/config to match your environment, and point the install URL to your fork.

About

Centralized developer environment configuration with reproducible setups and opinionated defaults. Includes shell, editor, CLI tooling, and system configs versioned as code, enabling fast onboarding, consistency across machines, and scalable personal productivity.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages