Add some installation documentation
This commit is contained in:
+110
-28
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user