Skip to content

bnidev/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

151 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

I automated my development setup with Ansible.

Core Tools

Getting Started

Quick Start

git clone https://github.com/bnidev/dotfiles.git ~/.dotfiles
~/.dotfiles/bin/dotfiles

The wrapper script will:

  • Detect your OS and install dependencies
  • Clone/pull the dotfiles repository
  • Prompt to generate SSH keys if needed
  • Copy the config template to ~/.config/dotfiles/config.yml
  • Run the full playbook

Running Specific Roles

Target one or more roles (comma-separated):

~/.dotfiles/bin/dotfiles -t neovim
~/.dotfiles/bin/dotfiles -t neovim,fish,git

Dry-Run Mode

Preview changes without applying:

dotfiles --check --diff

Available Roles

Role Description
bat Cat clone with syntax highlighting
cargo Rust package manager
docker Docker and Docker Compose
eza Modern ls replacement
fd Fast find alternative
fish Fish shell setup
fonts Nerd Fonts installation
fzf Fuzzy finder
ghostty Terminal emulator
git Git configuration
go Go programming language
lazydocker Docker TUI
lazygit Git TUI
mattermost Team chat
mercurial Version control
neovim Neovim configuration
nvm Node version manager
obsidian Obsidian integration
pnpm Package manager
posting HTTP client
ripgrep Grep alternative
sshfs SSH filesystem
sshs SSH TUI
starship Prompt
tldr Simplified man pages
tokei Code statistics
wezterm Terminal emulator
wireguard VPN
system Base system packages

Supported OSes

  • Ubuntu 22.04 and later
  • Arch Linux

Noteworthy CLI Tools and Plugins

  • Fisher - A plugin manager for fish
  • eza - A modern replacement for ls
  • z - Tracks your most used directories and let's you jump to it quickly
  • fzf - A fuzzy finder for the command-line
  • nvm.fish - Node version manager built for fish
  • lazygit - A simple terminal UI for git commands
  • sshs - A terminal UI for SSH connections

Known Issues / Troubleshooting

The playbook is stuck in "Updating cache"

Make sure your OS is up to date and does not have any warnings or errors when you run sudo apt update or sudo apt upgrade. I encountered this issue when Ubuntu failed to update a package.

The playbook fails when adding keyrings and/or sources

The keyring or source may already exist, but with a different name or version. Try removing it and running the playbook again.

Credits

The Ansible setup is inspired by TechDufus and Alt-F4-LLC.

About

Collection of personal dotfiles

Topics

Resources

Stars

Watchers

Forks

Contributors