aboutsummaryrefslogtreecommitdiff
path: root/index.org
diff options
context:
space:
mode:
authorJacob Janzen <jjanzenn@proton.me>2024-08-08 20:07:26 -0500
committerJacob Janzen <jjanzenn@proton.me>2024-08-08 20:07:26 -0500
commitf2d1dddbd590db4b3aa2837108d914b701f93bfb (patch)
tree61f2f9d788bcfc68c911148ecfd2ea41e61d2d14 /index.org
parent956b8fb71d2da727d2b92643f59cfe6c0ca0ce8b (diff)
update index.org
Diffstat (limited to 'index.org')
-rw-r--r--index.org107
1 files changed, 0 insertions, 107 deletions
diff --git a/index.org b/index.org
deleted file mode 100644
index 77fb6db..0000000
--- a/index.org
+++ /dev/null
@@ -1,107 +0,0 @@
-#+title: Dotfiles =/=
-
-This page is the home of my dotfiles. They are written using literate programming in Emacs Org-Mode. The =install= script installs the dotfiles in their correct places and installs itself as an executable called =update-home= on the path to allow myself to run the script without having the repository downloaded on my system.
-
-* Directories
-- [[./.config/][.config/]]
-- [[./.local/][.local/]]
-- [[./.ssh/][.ssh/]]
-
-* Files
-- [[./clang-format.org][.clang-format]]
-- [[./gitconfig.org][.gitconfig]]
-- [[./profile.org][.profile]]
-- [[./zshrc.org][.zshrc]]
-- [[./wallpaper.png][.wallpaper]]
-
-* Install Script
-It can be run as =./install=, so make it explicit what binary to run it with (POSIX shell).
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- #!/bin/sh
-#+end_src
-
-Save the old log file.
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- mv ~/.update-home.log ~/.update-home.log.old
-#+end_src
-
-Install the dotfiles repository at =~/.dotfiles= if it doesn't already exist.
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- if ! test -d ~/.dotfiles; then
- echo Installing dotfiles...
- git clone git@git.sr.ht:~jjanzen/.dotfiles ~/.dotfiles >> ~/.update-home.log
- fi
-#+end_src
-
-POSIX shell doesn't have =pushd= and =popd=. We do it manually by saving the current path before moving to =~/.dotfiles=. Exit if the =cd= call fails (it shouldn't).
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- CWD=$(pwd)
- cd ~/.dotfiles || exit
-#+end_src
-
-Stash any existing changes before moving to the main branch and pulling any new changes from the remote.
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- {
- git stash
- git checkout main
- git pull --rebase
- } >> ~/.update-home.log
-#+end_src
-
-If the =update-home= executable has changed, replace it and bootstrap into the new one.
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- if ! diff ~/.dotfiles/install ~/.local/bin/update-home >> ~/.update-home.log; then
- cp ~/.dotfiles/install ~/.local/bin/update-home || exit 1
- echo Changes have been made to the install script.
- echo Running the new install script.
- ~/.local/bin/update-home
- exit
- fi
-#+end_src
-
-Extract each configuration file from its literate =.org= file into its correct location by running =org-babel-tangle= on each =.org= file.
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- echo Installing configuration files...
- find -- . -type f -name "*.org" | while read -r file; do
- emacs --batch "${file}" -f package-initialize --eval '(org-babel-tangle)' >> ~/.update-home.log
- done
-#+end_src
-
-Install the [[./wallpaper.png][wallpaper]] file.
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- echo Installing wallpaper...
- cp wallpaper.png ~/.wallpaper
-#+end_src
-
-Install any missing fonts by extracting the corresponding =tar.gz= archive.
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- fonts_changed=false
- if ! test -d ~/.local/share/fonts/ComputerModern; then
- echo Computer Modern font missing. Installing...
- tar xf ~/.dotfiles/local/share/fonts/ComputerModern.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log
- fonts_changed=true
- fi
- if ! test -f ~/.local/share/fonts/NFM.ttf; then
- echo Nerd Font Mono font missing. Installing...
- tar xf ~/.dotfiles/local/share/fonts/NFM.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log
- fonts_changed=true
- fi
- if ! test -d ~/.local/share/fonts/SauceCodePro; then
- echo Source Code Pro Nerd Font missing. Installing...
- tar xf ~/.dotfiles/local/share/fonts/SauceCodePro.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log
- fonts_changed=true
- fi
-#+end_src
-
-If any missing fonts were installed, update the font cache.
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- if [ $fonts_changed = true ]; then
- echo Updating the font cache...
- fc-cache -f >> ~/.update-home.log
- fi
-#+end_src
-
-Move the user back to where they came from.
-#+begin_src sh :tangle ~/.dotfiles/install :mkdirp yes
- cd "${CWD}" || exit
-#+end_src