summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2023-06-26 14:27:54 -0500
committerToby Vincent <tobyv13@gmail.com>2023-06-26 14:32:36 -0500
commit2be4094eca8b73ff5052d87b7f70464a15e657e1 (patch)
tree835ba4d794a747ef644ff36947b78abc6060165a
parent6068137934c654f3722d7b2e86a977e5094160e7 (diff)
feat: migrate content from notes to mdbook
-rw-r--r--src/README.md6
-rw-r--r--src/SUMMARY.md15
-rw-r--r--src/chapter_1.md1
-rw-r--r--src/install/editor.md13
-rw-r--r--src/install/misc.md9
-rw-r--r--src/install/pacman.md74
-rw-r--r--src/install/rust.md13
-rw-r--r--src/install/setup.md25
-rw-r--r--src/install/tools.md39
-rw-r--r--src/install/tools/password-store.md29
-rw-r--r--src/install/tools/yubikey.md26
11 files changed, 248 insertions, 2 deletions
diff --git a/src/README.md b/src/README.md
new file mode 100644
index 0000000..c3e2639
--- /dev/null
+++ b/src/README.md
@@ -0,0 +1,6 @@
+# Intro
+
+Personal documentation for setting up Arch Linux. This is meant to be a
+continuation of the Arch
+[Installation guide](https://wiki.archlinux.org/title/Installation_guide). This
+book is a continually updated.
diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index 7390c82..e34d5f8 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -1,3 +1,16 @@
# Summary
-- [Chapter 1](./chapter_1.md)
+[Introduction](./README.md)
+
+# Arch Install
+
+- [Setup](./install/setup.md)
+- [Pacman](./install/pacman.md)
+- [Rust](./install/rust.md)
+- [Tools](./install/tools.md)
+ - [Editor](./install/editor.md)
+ - [Password Store](./install/tools/password-store.md)
+ - [Yubikey](./install/tools/yubikey.md)
+ <!-- TODO: DE/WM (Wayland/Sway) -->
+- [DE/WM]()
+- [Misc](./install/misc.md)
diff --git a/src/chapter_1.md b/src/chapter_1.md
deleted file mode 100644
index b743fda..0000000
--- a/src/chapter_1.md
+++ /dev/null
@@ -1 +0,0 @@
-# Chapter 1
diff --git a/src/install/editor.md b/src/install/editor.md
new file mode 100644
index 0000000..35db188
--- /dev/null
+++ b/src/install/editor.md
@@ -0,0 +1,13 @@
+# Editor
+
+Install neovim and deps
+
+```console
+pacman -S neovim nodejs npm python-pip python-pynvim
+```
+
+Install neovim's node provider
+
+```console
+npm install -g neovim
+```
diff --git a/src/install/misc.md b/src/install/misc.md
new file mode 100644
index 0000000..3b0ee90
--- /dev/null
+++ b/src/install/misc.md
@@ -0,0 +1,9 @@
+# Misc
+
+<!-- TODO: DE/WM (Wayland/Sway) -->
+
+## Fonts
+
+```console
+pacman -S ttf-firacode-nerd noto-fonts-emoji
+```
diff --git a/src/install/pacman.md b/src/install/pacman.md
new file mode 100644
index 0000000..31c8469
--- /dev/null
+++ b/src/install/pacman.md
@@ -0,0 +1,74 @@
+# Pacman
+
+Set options in pacman config (`/etc/pacman.conf`)
+
+```conf
+# /etc/pacman.conf
+[Options]
+UseSyslog
+Color
+CheckSpace
+VerbosePkgLists
+ParallelDownloads = 5
+```
+
+## AUR
+
+Install paru AUR helper
+
+```console
+sudo pacman -S --needed base-devel
+git clone https://aur.archlinux.org/paru.git ~/src/paru
+cd ~/src/paru
+makepkg -si
+```
+
+Enable rustc flags for makepkg
+
+```conf
+# /etc/makepkg.conf
+RUSTFLAGS="-C opt-level=2 -C target-cpu=native"
+```
+
+## Pacman utils
+
+Install utility scripts
+
+```console
+paru -S pacman-contrib
+```
+
+## Hooks
+
+Install hooks
+
+```console
+paru -S check-broken-packages-pacman-hook-git pacman-backup-hook reflector-pacman-hook-git
+```
+
+```config
+# /etc/pacman.d/hooks/zsh.hook
+[Trigger]
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Type = Path
+Target = usr/bin/*
+
+[Action]
+Depends = zsh
+Depends = procps-ng
+When = PostTransaction
+Exec = /usr/bin/pkill zsh --signal=USR1
+```
+
+Set flags for reflector
+
+```confg
+# /etc/xdg/reflector/reflector.conf
+--save /etc/pacman.d/mirrorlist
+--country us
+--age 2
+--score 10
+--sort rate
+```
diff --git a/src/install/rust.md b/src/install/rust.md
new file mode 100644
index 0000000..1acc9e8
--- /dev/null
+++ b/src/install/rust.md
@@ -0,0 +1,13 @@
+# Rust
+
+Install rustup
+
+```console
+pacman -S rustup
+```
+
+Install rust toolchains
+
+```console
+rustup toolchain install stable nightly
+```
diff --git a/src/install/setup.md b/src/install/setup.md
new file mode 100644
index 0000000..043d9cf
--- /dev/null
+++ b/src/install/setup.md
@@ -0,0 +1,25 @@
+# Setup
+
+Create base directories. I typically treat these as an pseudo-extension of the
+[XDG user directory spec](https://wiki.archlinux.org/title/XDG_user_directories).
+
+| Name | Usage | Path |
+| ----------------------- | ------------------------------------- | ----------- |
+| `XDG_SOURCE_DIR` | Source code repositories | `$HOME/src` |
+| `XDG_PACKAGES_DIR` | PKGBUILDs and PKGBUILD related things | `$HOME/pkg` |
+| `XDG_CONTAINER_DIR` | Containerization files | `$HOME/dkr` |
+| `XDG_DOCUMENTATION_DIR` | Documentation related projects | `$HOME/doc` |
+
+<!-- TODO: possibly impl this with XDG user directories -->
+
+```console
+mkdir -p ~/src ~/pkg ~/dkr ~/doc
+```
+
+Clone and install my dotfiles.
+
+```console
+git clone https://git.sr.ht/~tobyvin/.dotfiles ~/.dotfiles
+cd ~/.dotfiles
+./install.sh
+```
diff --git a/src/install/tools.md b/src/install/tools.md
new file mode 100644
index 0000000..6f6c6b6
--- /dev/null
+++ b/src/install/tools.md
@@ -0,0 +1,39 @@
+# Tools
+
+Install dev tools
+
+```console
+pacman -S base-devel unzip
+```
+
+Install alternative core utils
+
+```console
+pacman -S ripgrep fd bat
+```
+
+Install shell and deps
+
+```console
+pacman -S zsh starship sheldon
+```
+
+Install tmux
+
+```console
+pacman -S tmux
+```
+
+Install [projectr] & [sshr]
+
+**Note**: I will eventuallyâ„¢ write a PKGBUILD for these (which will take care of
+deps).
+
+```console
+pacman -S fzf onefetch openssh
+cargo install --git http://git.sr.ht/~tobyvin/projectr
+cargo install --git http://git.sr.ht/~tobyvin/sshr
+```
+
+[projectr]: https://git.sr.ht/~tobyvin/projectr
+[sshr]: https://git.sr.ht/~tobyvin/sshr
diff --git a/src/install/tools/password-store.md b/src/install/tools/password-store.md
new file mode 100644
index 0000000..6e71f5d
--- /dev/null
+++ b/src/install/tools/password-store.md
@@ -0,0 +1,29 @@
+# Password Store
+
+Clone password-store
+
+```console
+git clone git@git.sr.ht:~tobyvin/.password-store ~/.password-store
+```
+
+Install pass and default extensions
+
+```console
+paru -S pass pass-coffin pass-extension-tail pass-import
+```
+
+Verify pass-coffin decrypts correctly
+
+```console
+$ pass open
+password store data has been retrieved from the coffin
+password store data will be hidden inside a coffin after 10min
+```
+
+Verify pass decrypts correctly
+
+```console
+$ pass tail sr.ht
+login: <REDACTED>
+url: https://sr.ht/
+```
diff --git a/src/install/tools/yubikey.md b/src/install/tools/yubikey.md
new file mode 100644
index 0000000..9277171
--- /dev/null
+++ b/src/install/tools/yubikey.md
@@ -0,0 +1,26 @@
+# Yubikey
+
+Install pam module and optionally libfido2
+
+```console
+pacman -S pam-u2f libfido2
+```
+
+Add credentials for key to pam-u2f (security key must be inserted) See:
+[Universal 2nd Factor - Authentication for Arch Linux](https://wiki.archlinux.org/title/Universal_2nd_Factor#Authentication_for_Arch_Linux)
+
+```console
+pamu2fcfg -o pam://$HOSTNAME -i pam://$HOSTNAME >> ~/.config/Yubico/u2f_keys
+```
+
+Install ykman
+
+```console
+pacman -S yubikey-manager
+```
+
+Touch indicator
+
+```console
+pacman -S yubikey-touch-detector
+```