Add some installation documentation

This commit is contained in:
2026-04-16 23:34:03 +02:00
parent 128f6f1bab
commit 3bb6d2fac7
4 changed files with 114 additions and 29 deletions
+1 -1
View File
@@ -761,4 +761,4 @@ delay = 200
rate = 40
#+end_src
And then enable the service with: =systemctl --user enable xautocfg.service=
And then enable the service with: =systemctl --user enable --now xautocfg.service=
+110 -28
View File
@@ -118,7 +118,7 @@ tangle() {
#+begin_src bash
echo "==> Shell and Terminal"
paru -S --needed --noconfirm \
bash bash-completion zsh \
bash bash-completion \
kitty \
tmux
#+end_src
@@ -131,6 +131,7 @@ paru -S --needed --noconfirm \
echo "==> Fonts"
paru -S --needed --noconfirm \
ttf-hack-nerd \
otf-libertinus \
ttf-sourcecodepro-nerd \
adobe-source-code-pro-fonts \
noto-fonts-emoji
@@ -169,6 +170,8 @@ paru -S --needed --noconfirm \
Generate a GPG key:
#+begin_src bash :tangle no
mkdir -p ~/.local/share/gnupg
gpg-agent --daemon
gpg --full-gen-key
#+end_src
@@ -184,6 +187,95 @@ pass git init
pass git remote add origin https://github.com/tdehaeze/pass.git
#+end_src
Or =cd ~/.local/share= and =git clone https://git.tdehaeze.xyz/tdehaeze/pass=
*** Setup password store on new computer (B)
**** On computer B (new)
1. Generate key:
#+begin_src bash :tangle no
gpg --full-generate-key
#+end_src
Remember the fingerprint (e.g., ~FBDA20B263C0C74A462D06F417F6BC48C15759C1~)
2. Export public key:
#+begin_src bash :tangle no
gpg --export FBDA20B263C0C74A462D06F417F6BC48C15759C1 > B.pub
#+end_src
3. Copy ~B.pub~ to computer A (USB, scp, etc.)
**** On computer A (existing)
4. Import B's public key:
#+begin_src bash :tangle no
gpg --import B.pub
#+end_src
5. Trust the key:
#+begin_src bash :tangle no
gpg --edit-key FBDA20B263C0C74A462D06F417F6BC48C15759C1
#+end_src
#+begin_example
trust
5
save
#+end_example
6. Find A's fingerprint:
#+begin_src bash :tangle no
gpg --fingerprint dehaeze.thomas@gmail.com
#+end_src
Note the fingerprint of the key used for pass (e.g., ~453D80FAF9BBDF56CB4167699C30DC293122F6C6~)
7. Re-encrypt store to both keys:
#+begin_src bash :tangle no
pass init "453D80FAF9BBDF56CB4167699C30DC293122F6C6" "FBDA20B263C0C74A462D06F417F6BC48C15759C1"
#+end_src
8. Export A's public key:
#+begin_src bash :tangle no
gpg --export 453D80FAF9BBDF56CB4167699C30DC293122F6C6 > A.pub
#+end_src
9. Push password store changes:
#+begin_src bash :tangle no
pass git push
#+end_src
10. Copy ~A.pub~ to computer B
**** Back on computer B
11. Import A's public key:
#+begin_src bash :tangle no
gpg --import A.pub
#+end_src
12. Trust the key:
#+begin_src bash :tangle no
gpg --edit-key 453D80FAF9BBDF56CB4167699C30DC293122F6C6
#+end_src
#+begin_example
trust
5
save
#+end_example
13. Clone password store (if using git):
#+begin_src bash :tangle no
git clone <your-pass-git-url> ~/.password-store
cd ~/.password-store
pass git pull
#+end_src
14. Verify:
#+begin_src bash :tangle no
pass show some-password
pass insert test/new-password
pass show test/new-password
#+end_src
** SSH
Generate a new SSH key:
@@ -264,6 +356,7 @@ paru -S --needed --noconfirm \
tesseract tesseract-data-eng tesseract-data-fra tesseract-data-osd \
zathura zathura-pdf-mupdf zathura-djvu zathura-ps zathura-cb \
pdfpc \
f3d \
gst-plugins-ugly gst-plugins-good gst-plugins-base-libs gst-plugins-base gst-plugins-bad gst-libav
#+end_src
@@ -331,12 +424,16 @@ paru -S --needed --noconfirm \
gotify-dunst-git \
gomuks \
yt-dlp \
freerdp \
xautocfg \
python ipython python-pip
#+end_src
Enable Syncthing:
Enable Syncthing and Gotify-dunst:
#+begin_src bash :tangle no
systemctl --user enable --now syncthing
systemctl --user enable --now gotify-dunst
systemctl --user enable --now xautocfg
#+end_src
** Misc Utilities
@@ -447,44 +544,29 @@ xdg-mime default qutebrowser.desktop x-scheme-handler/http
xdg-mime default qutebrowser.desktop x-scheme-handler/https
#+end_src
* Mail Install Script
* Specific Applications
:PROPERTIES:
:header-args:bash: :tangle scripts/install-mail.sh :shebang "#!/bin/bash" :mkdirp yes
:header-args:bash: :tangle scripts/install-gui.sh :shebang "#!/bin/bash" :mkdirp yes
:END:
Mail setup documentation: [[file:mail.org][mail.org]]
#+begin_src bash
set -euo pipefail
#+end_src
** Packages
#+begin_src bash
echo "==> Mail packages"
echo "==> GUI applications"
paru -S --needed --noconfirm \
isync \
msmtp \
neomutt \
mu \
lynx urlview
inkscape \
freecad \
bambustudio-bin \
pcmanfm \
jellyfin-desktop \
xournalpp \
anydesk-bin
#+end_src
** Initialize mu
[[file:bash.org][Bash]] configuration: =~/.bashrc=, =~/.bash_profile=, =~/.config/bash/=, =~/.profile=
#+begin_src bash :tangle no
echo "==> Initializing mu index"
mu init -m ~/.mail/
mu index
#+end_src
** Systemd Timers
#+begin_src bash :tangle no
echo "==> Enabling mail timers"
systemctl --user enable --now checkmail.timer
systemctl --user enable --now syncmail.timer
#+end_src
* LaTeX Install Script
:PROPERTIES:
+2
View File
@@ -3,6 +3,8 @@
#+PROPERTY: header-args :comments both :mkdirp yes
#+PROPERTY: header-args+ :tangle ~/.config/dunst/dunstrc
After tangling this config, restart the service with =systemctl --user restart dunst=.
* Global
#+begin_src conf
[global]
+1
View File
@@ -104,6 +104,7 @@ paru -S --needed --noconfirm \
gotify-dunst-git \
gomuks \
yt-dlp \
freerdp \
python ipython python-pip
echo "==> Misc Utilities"