79 lines
2.5 KiB
Org Mode
79 lines
2.5 KiB
Org Mode
#+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!
|