Dotfiles
Dotfiles
Dotfiles are the customization files that are used to personalize your Linux or other Unix-based system. You can tell that a file is a dotfile because the name of the file will begin with a period–a dot! The period at the beginning of a filename or directory name indicates that it is a hidden file or directory. This repository contains my personal dotfiles. They are stored here for convenience so that I may quickly access them on new machines or new installs. Also, others may find some of my configurations helpful in customizing their own dotfiles.
Configurations
All important configuration files are designed to be managed with Org-mode's tangling feature. Each
configuration is contained in a README.org
file that automatically tangles to the appropriate config
file when saved.
Configuration | Description | Path |
---|---|---|
i3wm | Tiling window manager | .config/i3/README.org |
Polybar | Status bar | .config/polybar/README.org |
Alacritty | GPU-accelerated terminal emulator | .config/alacritty/README.org |
Fish Shell | User-friendly shell | .config/fish/README.org |
Ghostty | Modern terminal emulator | .config/ghostty/README.org |
Who Am I?

- My website: https://rogs.me
- My wiki: https://wiki.rogs.me
- My gitlab: https://gitlab.com/rogs
How To Manage Your Own Dotfiles
There are a hundred ways to manage your dotfiles. My first suggestion would be to read up on the subject. A great place to start is "Your unofficial guide to dotfiles on GitHub": https://dotfiles.github.io/
Personally, I use the git bare repository method for managing my dotfiles: https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/
Org-mode Tangling
All configuration files in this repository use Org-mode's literate programming capabilities through tangling. This approach offers several benefits:
- Documentation and code together: Each configuration file includes both the code and detailed explanations
- Organized structure: Configurations are broken down into logical sections with headings
- Auto-tangling: Files are automatically processed when saved (with proper setup)
Setting Up Auto-Tangle
To enable auto-tangling on save, add the following to your Emacs configuration:
;; Auto-tangle configuration files
(use-package org
:config
(defun org-babel-auto-tangle ()
"Automatically tangle org files when saved."
(when (eq major-mode 'org-mode)
(let ((auto-tangle (cdr (assoc "auto_tangle" (org-collect-keywords '("PROPERTY"))))))
(when (and auto-tangle (string= auto-tangle "t"))
(org-babel-tangle)))))
(add-hook 'after-save-hook #'org-babel-auto-tangle))
License
The files and scripts in this repository are licensed under the GNU General Public License v3.0 (GPL-3.0). This is a copyleft license that requires anyone who distributes your code or a derivative work to make the source available under the same terms. It also provides an express grant of patent rights from contributors to users. The GPL-3.0 ensures your code remains free and open source, protecting it from being incorporated into proprietary software.