Skip to content

oathlesss/dotfiles

Repository files navigation

Dotfiles

Dotfiles Banner
Platform: macOS Stars Forks License: MIT Test Status

A carefully curated collection of configuration files for a productive development environment

📸 Screenshots

Neovim Setup

For more screenshots, see Showcase

📦 What's Inside

This repository contains configuration files for various tools and applications:

  • zshrc - Z Shell configuration
  • nvim - Neovim configuration
  • tmux - Terminal multiplexer configuration
  • kitty - GPU-based terminal emulator
  • aerospace - Window manager for macOS
  • ghostty - Terminal emulator configuration
  • git - Git configuration
  • homebrew - Package manager backup
  • wallpapers - Custom wallpapers
  • muxyard - Mux configuration
  • scripts - Utility scripts

🚀 Installation

Prerequisites

Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Git & Stow

brew install git stow

Just

brew install just

Setup Steps

1. Clone

cd ~ && git clone git@github.com:oathlesss/dotfiles.git
cd dotfiles

2. Symlink

just stow

3. Configure ZSH

echo 'export ZDOTDIR="$HOME/.config/zshrc"' >> ~/.zshenv

4. Install Packages

xargs brew install < ~/.config/homebrew/leaves.txt
xargs brew install --cask < ~/.config/homebrew/casks.txt

Backup Homebrew Packages

just brew-update

Additional Setup

Some components require additional setup steps after installation:

  • Tmux: See TMUX README for TPM installation and plugin setup
  • Neovim: See Neovim Docs for customization, adding plugins/LSP, and troubleshooting

🛠️ Usage with Justfile

The justfile provides convenient commands for managing the dotfiles:

  • just stow - Symlink configurations
  • just brew-install <package> - Install a Homebrew package and update lists
  • just brew-uninstall <package> - Uninstall a Homebrew package and update lists
  • just brew-update - Update package lists from installed packages
  • just test - Run all BATS tests
  • just help - List all commands

Install Just if not already: brew install just

🧪 Testing

This project includes comprehensive tests using BATS (Bash Automated Testing System).

Running Tests

  1. Install BATS: brew install bats-core
  2. Run all tests: just test

Tests are organized in the tests/ directory and cover:

  • Syntax and configuration validation
  • Symlink validation
  • Integration tests for tools like Neovim, Tmux
  • Installation script validation
  • Custom script functionality

CI tests run on every push via GitHub Actions.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • GNU Stow for symlink management
  • All the open-source projects that made these configurations possible
  • PraveenGongada for the initial dotfiles

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •