Added Org files tangling in bootstrap
This commit is contained in:
parent
2867f6629a
commit
d13859ba66
@ -102,6 +102,26 @@ printf "\n# Installing needed packages #########################################
|
||||
sudo pacman -Syu
|
||||
yay -S --needed $PACKAGES
|
||||
|
||||
printf "\n# Tangling org files ##########################################################\n\n"
|
||||
printf "\n\n==== Tangling bin.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"~/org/config/bin.org\")"
|
||||
printf "\n\n==== Tangling fish.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"~/org/config/fish.org\")"
|
||||
printf "\n\n==== Tangling i3.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"~/org/config/i3.org\")"
|
||||
printf "\n\n==== Tangling index.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"~/org/config/index.org\")"
|
||||
printf "\n\n==== Tangling nano.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"~/org/config/nano.org\")"
|
||||
printf "\n\n==== Tangling polybar.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"~/org/config/polybar.org\")"
|
||||
printf "\n\n==== Tangling spacemacs.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"~/org/config/spacemacs.org\")"
|
||||
printf "\n\n==== Tangling tmux.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"~/org/config/tmux.org\")"
|
||||
|
||||
find ~/.local/bin -type f -exec chmod +x {} +
|
||||
|
||||
printf "\n# Installing Spacemacs ########################################################\n\n"
|
||||
rm -rf ~/.emacs.d
|
||||
|
||||
@ -234,3 +254,11 @@ fisher add jorgebucaran/fish-getopts
|
||||
fisher add laughedelic/pisces
|
||||
fisher add tuvistavie/fish-ssh-agent
|
||||
fisher add acomagu/fish-async-prompt
|
||||
|
||||
files=["bin.org", "fish.org", "i3.org", "index.org", "nano.org", "polybar.org", "spacemacs.org", "tmux.org"]
|
||||
result = ''
|
||||
commandPrintf = 'printf "\\n\\n==== Tangling {0}\\n\\n"\n'
|
||||
commandEmacs = 'emacs -q --batch --eval "(require \'ob-tangle)" --eval "(org-babel-tangle-file \\"~/org/config/{0}\\")"\n'
|
||||
for file in files:
|
||||
result += commandPrintf.format(file) + commandEmacs.format(file)
|
||||
return result
|
||||
|
@ -1,3 +1,4 @@
|
||||
# -*- org-confirm-babel-evaluate: nil -*-
|
||||
#+TITLE: Install a Phundrak-flavored Arch Linux
|
||||
#+INCLUDE: headers.org
|
||||
#+OPTIONS: auto-id:t
|
||||
@ -24,6 +25,7 @@
|
||||
- [[#set-users-shell-to-fish][Set user’s shell to fish]]
|
||||
- [[#install-yay-if-it-isnt-already-installed][Install =yay= if it isn’t already installed]]
|
||||
- [[#install-basic-packages-1][Install basic packages]]
|
||||
- [[#tangle-configuration-files-from-org-files][Tangle configuration files from Org files]]
|
||||
- [[#setting-up-emacs-installing-spacemacs][Setting up Emacs: Installing Spacemacs]]
|
||||
- [[#set-up-dotfiles][Set up dotfiles]]
|
||||
- [[#update-our-dotfiles-remotes][Update our dotfiles’ remotes]]
|
||||
@ -40,7 +42,6 @@
|
||||
- [[#nordvpn][NordVPN]]
|
||||
- [[#symlink-some-system-config-files][Symlink some system config files]]
|
||||
- [[#install-packages-from-git][Install packages from git]]
|
||||
- [[#i3-gaps-rounded][i3-gaps rounded]]
|
||||
- [[#polybar-battery][Polybar Battery]]
|
||||
- [[#revealjs][Reveal.JS]]
|
||||
- [[#install-rust][Install Rust]]
|
||||
@ -50,6 +51,7 @@
|
||||
- [[#install-go-packages][Install go packages]]
|
||||
- [[#set-up-chicken-scheme-interpretercompiler][Set up Chicken (Scheme interpreter/compiler)]]
|
||||
- [[#clean-the-pacman-and-yay-cache][Clean the =pacman= and =yay= cache]]
|
||||
- [[#export-configuration-file-from-org-files][Export configuration file from org files]]
|
||||
- [[#set-up-our-fish-shell][Set up our fish shell]]
|
||||
- [[#install-fisher][Install =fisher=]]
|
||||
- [[#install-our-extensions][Install our extensions]]
|
||||
@ -323,6 +325,65 @@
|
||||
yay -S --needed $PACKAGES
|
||||
#+END_SRC
|
||||
|
||||
** Tangle configuration files from Org files
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-2e4fe0f5-a507-44c5-b69f-1935868b909d
|
||||
:END:
|
||||
The next step is to tangle all the Org files. Here is the list of files that
|
||||
are to be tangled:
|
||||
#+NAME: tangled-files
|
||||
| filename |
|
||||
|---------------|
|
||||
| bin.org |
|
||||
| fish.org |
|
||||
| i3.org |
|
||||
| index.org |
|
||||
| nano.org |
|
||||
| polybar.org |
|
||||
| spacemacs.org |
|
||||
| tmux.org |
|
||||
|
||||
#+NAME: generate-tangle
|
||||
#+BEGIN_SRC python :exports none :var files=tangled-files[,0] :cache yes
|
||||
result = ''
|
||||
commandPrintf = 'printf "\\n\\n==== Tangling {0}\\n\\n"\n'
|
||||
commandEmacs = 'emacs -q --batch --eval "(require \'ob-tangle)" --eval "(org-babel-tangle-file \\"~/org/config/{0}\\")"\n'
|
||||
for file in files:
|
||||
result += commandPrintf.format(file) + commandEmacs.format(file)
|
||||
return result
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS[9de2e89515335bfbcc2c0974c81bf8b7d3b4c182]: generate-tangle
|
||||
#+begin_example
|
||||
printf "\n\n==== Tangling bin.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"bin.org\")"
|
||||
printf "\n\n==== Tangling fish.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"fish.org\")"
|
||||
printf "\n\n==== Tangling i3.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"i3.org\")"
|
||||
printf "\n\n==== Tangling index.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"index.org\")"
|
||||
printf "\n\n==== Tangling nano.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"nano.org\")"
|
||||
printf "\n\n==== Tangling polybar.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"polybar.org\")"
|
||||
printf "\n\n==== Tangling spacemacs.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"spacemacs.org\")"
|
||||
printf "\n\n==== Tangling tmux.org\n\n"
|
||||
emacs -q --batch --eval "(require 'ob-tangle)" --eval "(org-babel-tangle-file \"tmux.org\")"
|
||||
#+end_example
|
||||
|
||||
#+BEGIN_SRC fish :noweb yes
|
||||
printf "\n# Tangling org files ##########################################################\n\n"
|
||||
<<generate-tangle()>>
|
||||
#+END_SRC
|
||||
|
||||
Let’s also make sure the exported files that are supposed to be executables
|
||||
are indeed executables.
|
||||
#+BEGIN_SRC fish
|
||||
find ~/.local/bin -type f -exec chmod +x {} +
|
||||
#+END_SRC
|
||||
|
||||
** Setting up Emacs: Installing Spacemacs
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-bd5a92c4-1a4f-49ea-a447-050a4ff0301c
|
||||
@ -674,6 +735,9 @@
|
||||
#+END_SRC
|
||||
|
||||
** Export configuration file from org files
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: h-a4fb171a-3121-46f2-8c3c-2e65500ebdbe
|
||||
:END:
|
||||
As I strive to write most of my configuration file as literary programming
|
||||
files through org-mode, they are not versioned nor downloaded by git when
|
||||
cloning my dotfiles. This is why
|
||||
|
Loading…
Reference in New Issue
Block a user