#+title: Dotfiles #+author: Aryadev Chavali #+description: README for Dotfiles General configuration for my system, that system being composed of two things: - Emacs - The bootstrap for Emacs [[file:emacs-screenshot.png]] * Setup Assumptions: - You're on Linux - This repository is located at =~/Dotfiles= - You have [[https://www.gnu.org/software/stow/][GNU/stow]] #+begin_src sh mkdir -p ~/.local/src \ ~/.local/bin \ ~/.local/lib \ ~/.local/share \ ~/.config \ ~/Downloads \ ~/Code \ ~/Media \ ~/Projects \ ~/Text; cd Dotfiles; stow Emacs tmux vim Shell XServer Scripts SystemD SXHkD mpv aspell \ ClangFormat Dunst Zathura #+end_src * Why use this Please don't. If you're looking for inspiration, this is where it dies. I don't maintain this for anyone but me; verily, I have no shame about it. Don't expect this to work for you if you're not willing to roll your sleeves up. * Emacs archives 80 Git repositories is a lot for Emacs to pull in order to setup my configuration. Would be nice if I could pull all of it down at once for use instead of having to wait for _straight_ (my Emacs package manager of choice) to do it synchronously. These Emacs archives are MVC (Minimum Viable Configuration) including all the necessary Lisp which you can pull down and load directly. Most of the time post-download will be building. You should be able to find the latest archive [[https://aryadevchavali.com/resources][here]]. ** Scripts *IMPORTANT*: These are heavy scripts, expect them to take a while. Therefore, if in Emacs, do _not_ run these via ~C-c C-c~ because it will block the main thread. This script generates the archive: #+begin_src sh tar --use-compress-program="zstdmt -19 -T0" \ -cvf emacs-config.tar.zst \ ~/.config/emacs/config.org \ ~/.config/emacs/early-init.el \ ~/.config/emacs/init.el \ ~/.config/emacs/elisp/ \ ~/.config/emacs/.config/custom.el \ ~/.config/emacs/straight/versions/default.el \ ~/.config/emacs/straight/repos/ #+end_src And this script sends it over via rsync #+begin_src sh rsync -avz --info=progress2 --info=name0 emacs-config.tar.zst \ root@aryadevchavali.com:/var/www/html/resources #+end_src You can do the last bit if using Emacs: just open the directory where you've compressed the configuration in ~dired~, open the remote directory in another split, then =M-r= ~dired-rsync~ to copy it over. You get a cute Little progress indicator in the mode line as well!