Skip to content

sapientcoffee/dotfiles

Repository files navigation

My Dotfiles

Managed by yadm Shell Editor

Terminal Screenshot

Note: This screenshot was automatically generated by the CI/CD pipeline.

My personal configuration files, managed by yadm. Designed for a fast, keyboard-centric workflow on Linux.

📂 Repository Structure

.
├── .config/
│   ├── gh/                 # GitHub CLI configuration
│   ├── nvim/               # Neovim configuration (Lua, Lazy.nvim)
│   ├── starship.toml       # Starship prompt configuration
│   └── Code/               # VS Code User settings
├── .ssh/
│   └── config              # SSH host aliases (keys are ignored)
├── .tmux.conf              # Tmux configuration (Catppuccin theme)
├── .zshenv                 # Environment variables
├── .zshrc                  # Interactive shell configuration
├── .secrets                # [IGNORED] Local secrets and tokens
└── README.md

✨ Features

🐚 Zsh Shell

  • Prompt: Starship for a minimal, informative prompt.
  • Plugins: Fast Syntax Highlighting, Autosuggestions, zoxide for navigation.
  • Secret Management: Automatically sources ~/.secrets if present (see below).

📝 Neovim

  • Fully Lua-based configuration.
  • Managed by lazy.nvim.
  • Pre-configured with LSP, Treesitter, Telescope, and Oil.

💻 Tmux

  • Theme: Catppuccin (Mocha variant).
  • Copy-Paste: Mouse selection automatically copies to system clipboard (via xclip).
  • Navigation: seamless navigation between Neovim and Tmux splits.
  • Keybindings:
    • Ctrl + a: Prefix key (remapped from Ctrl + b).
    • | and -: Split panes (vertical/horizontal).
    • r: Reload config.

🚀 Installation (New Machine Setup)

Setting up a new environment is now fully automated via yadm bootstrap.

  1. Clone the Repository:

    # Install yadm if not present
    curl -fLo /usr/local/bin/yadm https://github.com/TheLocehiliosan/yadm/raw/master/yadm && chmod a+x /usr/local/bin/yadm
    
    # Clone and automatically bootstrap
    yadm clone https://github.com/sapientcoffee/dotfiles.git
  2. What happens during bootstrap? The yadm bootstrap script will automatically:

    • Install system dependencies (zsh, nvim, tmux, ripgrep, etc.).
    • Install the Starship prompt.
    • Set up TPM and install all Tmux plugins.
    • Install NVM and the latest Node.js LTS.
    • Configure your Zsh plugins.
  3. Finalize: Once complete, simply restart your shell:

    exec zsh

🔐 Managing Secrets

DO NOT commit API keys or tokens to this repository. This setup ignores the .secrets file by default.

  1. Create the file: touch ~/.secrets
  2. Add your secrets:
    export ATLASSIAN_API_TOKEN="your_token_here"
    export GITHUB_TOKEN="your_token_here"
  3. Reload your shell. .zshrc will source this file automatically.

🔄 Updating

To get the latest changes:

  1. Pull changes:

    yadm pull
  2. Apply updates (if needed):

    • Zsh: source ~/.zshrc (or restart terminal)
    • Neovim: Run :Lazy sync inside Neovim
    • Tmux: Press Ctrl+a then r to reload config; Ctrl+a then U to update plugins.

🔧 Management Cheatsheet

Action Command
Add File yadm add <file>
Commit yadm commit -m "update"
Push yadm push
Pull yadm pull
Status yadm status

About

dotfiles for bootstrapping Linux and Mac OSX boxes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors