Skip to content

Luis-Henriquez-Perez/dotfiles

Repository files navigation

Dotfiles

Pictures/awesomewm-showcase_20241217_160959.png

Goals

  • Simplicity Keep configurations simple and intuitive and try to take the path of least resistance.
  • Easy Bootstrapping Ensure my dotfiles can be bootstrapped easily with a single command.
  • Comprehensive Documentation Provide thorough documentation that help others replicate and understand my setup while serving as a personal reference.

Notable Highlights

  • Operating System: archlinux

    The simplicity and minimalism of Archlinux allows me to build an operating system from scratch specifically tailored to my needs.

  • Dotfile Management: git

    I manage my dotfiles in my home directory without using a bare git repo. Unlike other methods advocated by other tools like yadm, GNU Stow, and chezmoi, this approach requires no additional dependencies beyond Git, avoids symlinks, and is simpler to maintain.

  • Window Manager: awesomewm

    AwesomeWM is lightweight, fast, and written a real programming language, LUA, as opposed to a limited DSL allowing for maximum customizability–a priority for me.

  • Editor: emacs

    Emacs is my primary editor as well as the the centerpiece of my configuration with extensive customization detailed in a dedicated README.

Bootstrapping

The following command downloads my dotfile bootstrapping script, dotinit.sh, and runs it. In turn dotinit.sh clones my dotfiles as a bare git repo and attempts to propagate the files on my dotfiles to the home directory via git checkout. If git refuses to checkout the files because that would ovewrite existing files, then my script creates a backup directory, moves the conflicting files there, and tries again.

curl -sSL https://raw.githubusercontent.com/Luis-Henriquez-Perez/dotfiles/refs/heads/master/scripts/dotinit.sh | sh