Published multiple files
All checks were successful
Build and Deploy Quartz / build (push) Successful in 27s
All checks were successful
Build and Deploy Quartz / build (push) Successful in 27s
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /06 AUTHOR/11 METADATA/Phil Skentelbery.md
|
permalink: /about
|
||||||
title: Phil Skentelbery
|
title: Phil Skentelbery
|
||||||
created: 2026-01-29T14:04:18.712-07:00
|
created: 2026-01-29T14:04:18.712-07:00
|
||||||
modified: 2026-01-10T21:07:06.051-07:00
|
modified: 2026-02-05T12:14:05.453-07:00
|
||||||
cssclasses: ""
|
cssclasses: ""
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
11
content/06 AUTHOR/12 MUSINGS/Fear and Loathing in AI Land.md
Normal file
11
content/06 AUTHOR/12 MUSINGS/Fear and Loathing in AI Land.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
publish: true
|
||||||
|
permalink: /musings/fear-and-loathing-in-ai-land
|
||||||
|
title: Fear and Loathing in AI Land
|
||||||
|
created: 2026-01-29T14:04:18.780-07:00
|
||||||
|
modified: 2026-02-05T12:14:05.457-07:00
|
||||||
|
cssclasses: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
In my life time I do not recall a technology quite so ubiquitous yet reviled as AI. For the purpose of this note, AI is a placeholder for generative AI, your LLMs like ChatGPT, Claude, and Grok. These products have gone from niche tools to consumer products in a few short years and are
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /06 AUTHOR/12 MUSINGS/Social Media Isn't Social.md
|
permalink: /musings/social-media-isnt-social
|
||||||
|
title: Social Media Isn't Social
|
||||||
created: 2026-01-29T14:04:18.833-07:00
|
created: 2026-01-29T14:04:18.833-07:00
|
||||||
modified: 2026-01-21T13:54:49.189-07:00
|
modified: 2026-02-05T12:14:05.455-07:00
|
||||||
cssclasses: ""
|
cssclasses: ""
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/11 TRAVEL/11.11 PLACES/US, CO, Fairplay.md
|
permalink: /places/us-co-fairplay
|
||||||
title: US - CO - Fairplay
|
title: US - CO - Fairplay
|
||||||
created: 2026-01-29T14:04:18.765-07:00
|
created: 2026-01-29T14:04:18.765-07:00
|
||||||
modified: 2026-01-11T15:54:06.320-07:00
|
modified: 2026-02-05T12:15:21.732-07:00
|
||||||
tags:
|
tags:
|
||||||
- travel
|
- travel
|
||||||
- city
|
- city
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/11 TRAVEL/11.11 PLACES/US, NV, Las Vegas.md
|
permalink: /places/us-nv-las-vegas
|
||||||
title: US - NV - Las Vegas
|
title: US - NV - Las Vegas
|
||||||
created: 2026-01-29T14:04:18.359-07:00
|
created: 2026-01-29T14:04:18.359-07:00
|
||||||
modified: 2026-01-20T14:53:41.338-07:00
|
modified: 2026-02-05T12:15:21.734-07:00
|
||||||
tags:
|
tags:
|
||||||
- travel
|
- travel
|
||||||
- city
|
- city
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/12 HABITS/12.11 DAILY/10 MLD.md
|
permalink: /habits/mld
|
||||||
title: 10 Minimum Lovable Day
|
title: Minimum Lovable Day
|
||||||
created: 2026-01-29T14:04:18.832-07:00
|
created: 2026-01-29T14:04:18.832-07:00
|
||||||
modified: 2025-07-29T07:24:00.606-06:00
|
modified: 2026-02-05T12:15:47.051-07:00
|
||||||
tags:
|
tags:
|
||||||
- productivity
|
- productivity
|
||||||
cssclasses: ""
|
cssclasses: ""
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
publish: true
|
||||||
|
permalink: /habits/inbox-triage
|
||||||
|
title: Inbox Triage (AM)
|
||||||
|
created: 2026-01-29T14:04:18.363-07:00
|
||||||
|
modified: 2026-02-05T12:15:47.053-07:00
|
||||||
|
cssclasses: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
Morning triage of my inbox (email and teams)
|
||||||
|
- If you can respond in 2 mins or less, do it
|
||||||
|
- If it needs to be [[Email Delegation \| delegated]] do it
|
||||||
|
- If it requires deep work tag it as such and move to a dedicated folder
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/VeraCrypt.md
|
permalink: /apps/veracrypt
|
||||||
title: VeraCrypt
|
title: VeraCrypt
|
||||||
created: 2026-01-29T14:04:18.863-07:00
|
created: 2026-01-29T14:04:18.863-07:00
|
||||||
modified: 2026-02-05T09:11:56.232-07:00
|
modified: 2026-02-05T12:16:30.767-07:00
|
||||||
tags:
|
tags:
|
||||||
- encryption
|
- encryption
|
||||||
- security
|
- security
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/aerc.md
|
permalink: /apps/aerc
|
||||||
title: aerc
|
title: aerc
|
||||||
created: 2026-01-30T08:09:11.034-07:00
|
created: 2026-01-30T08:09:11.034-07:00
|
||||||
modified: 2026-02-05T09:11:56.234-07:00
|
modified: 2026-02-05T12:16:17.106-07:00
|
||||||
tags:
|
tags:
|
||||||
- email
|
- email
|
||||||
- terminal
|
- terminal
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/atuin.md
|
permalink: /apps/atuin
|
||||||
title: atuin
|
title: atuin
|
||||||
created: 2026-01-30T08:29:14.283-07:00
|
created: 2026-01-30T08:29:14.283-07:00
|
||||||
modified: 2026-02-05T09:11:56.236-07:00
|
modified: 2026-02-05T12:16:17.109-07:00
|
||||||
tags:
|
tags:
|
||||||
- shell
|
- shell
|
||||||
- history
|
- history
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/impala.md
|
permalink: /apps/impala
|
||||||
title: impala
|
title: impala
|
||||||
created: 2026-02-05T09:36:55.334-07:00
|
created: 2026-02-05T09:36:55.334-07:00
|
||||||
modified: 2026-02-05T09:41:11.146-07:00
|
modified: 2026-02-05T12:16:17.110-07:00
|
||||||
tags:
|
tags:
|
||||||
- wifi
|
- wifi
|
||||||
- network
|
- network
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/isync.md
|
permalink: /apps/isync
|
||||||
title: isync (mbsync)
|
title: isync (mbsync)
|
||||||
created: 2026-01-30T08:09:43.461-07:00
|
created: 2026-01-30T08:09:43.461-07:00
|
||||||
modified: 2026-02-05T09:12:58.913-07:00
|
modified: 2026-02-05T12:16:17.112-07:00
|
||||||
tags:
|
tags:
|
||||||
- email
|
- email
|
||||||
- sync
|
- sync
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/nvim.md
|
permalink: /apps/nvim
|
||||||
title: nvim (Neovim)
|
title: nvim (Neovim)
|
||||||
created: 2026-01-30T08:08:10.433-07:00
|
created: 2026-01-30T08:08:10.433-07:00
|
||||||
modified: 2026-02-05T09:12:58.916-07:00
|
modified: 2026-02-05T12:16:17.114-07:00
|
||||||
tags:
|
tags:
|
||||||
- editor
|
- editor
|
||||||
- terminal
|
- terminal
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/qutebrowser.md
|
permalink: /apps/qutebrowser
|
||||||
title: qutebrowser
|
title: qutebrowser
|
||||||
created: 2026-01-31T15:46:19.286-07:00
|
created: 2026-01-31T15:46:19.286-07:00
|
||||||
modified: 2026-02-05T09:12:58.917-07:00
|
modified: 2026-02-05T12:16:30.762-07:00
|
||||||
tags:
|
tags:
|
||||||
- browser
|
- browser
|
||||||
- web
|
- web
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/urlref.md
|
permalink: /apps/urlref
|
||||||
title: urlref
|
title: urlref
|
||||||
created: 2026-01-29T14:04:18.714-07:00
|
created: 2026-01-29T14:04:18.714-07:00
|
||||||
modified: 2026-01-19T18:40:10.504-07:00
|
modified: 2026-02-05T12:16:30.765-07:00
|
||||||
tags:
|
tags:
|
||||||
- web
|
- web
|
||||||
- note_taking
|
- note_taking
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/whosthere.md
|
permalink: /apps/whosthere
|
||||||
title: whosthere
|
title: whosthere
|
||||||
created: 2026-02-05T08:46:27.958-07:00
|
created: 2026-02-05T08:46:27.958-07:00
|
||||||
modified: 2026-02-05T09:12:58.918-07:00
|
modified: 2026-02-05T12:16:30.769-07:00
|
||||||
tags:
|
tags:
|
||||||
- network
|
- network
|
||||||
- lan
|
- lan
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/zathura.md
|
permalink: /apps/zathura
|
||||||
title: zathura
|
title: zathura
|
||||||
created: 2026-02-05T09:08:26.899-07:00
|
created: 2026-02-05T09:08:26.899-07:00
|
||||||
modified: 2026-02-05T09:12:58.920-07:00
|
modified: 2026-02-05T12:16:30.770-07:00
|
||||||
tags:
|
tags:
|
||||||
- pdf
|
- pdf
|
||||||
- documents
|
- documents
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.12 PROCESSES/Backups.md
|
permalink: /processes/backups
|
||||||
title: Backups
|
title: Backups
|
||||||
created: 2026-01-29T14:04:18.777-07:00
|
created: 2026-01-29T14:04:18.777-07:00
|
||||||
modified: 2026-01-21T22:48:12.310-07:00
|
modified: 2026-02-05T12:16:56.630-07:00
|
||||||
cssclasses: ""
|
cssclasses: ""
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/00 - Start Here.md
|
permalink: /os
|
||||||
title: 00 - Start Here
|
title: Arch Linux Setup Guide
|
||||||
created: 2026-02-05T09:20:32.962-07:00
|
created: 2026-02-05T09:20:32.962-07:00
|
||||||
modified: 2026-02-05T09:32:01.211-07:00
|
modified: 2026-02-05T12:17:52.896-07:00
|
||||||
tags:
|
tags:
|
||||||
- guide
|
- guide
|
||||||
- arch
|
- arch
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/AppImage Management.md
|
permalink: /os/appimage
|
||||||
title: AppImage Management
|
title: AppImage Management
|
||||||
created: 2026-01-29T15:05:11.266-07:00
|
created: 2026-01-29T15:05:11.266-07:00
|
||||||
modified: 2026-02-05T09:21:56.851-07:00
|
modified: 2026-02-05T12:17:52.899-07:00
|
||||||
tags:
|
tags:
|
||||||
- appimage
|
- appimage
|
||||||
- apps
|
- apps
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Ashell.md
|
permalink: /os/ashell
|
||||||
title: Ashell
|
title: Ashell
|
||||||
created: 2026-01-29T15:16:18.996-07:00
|
created: 2026-01-29T15:16:18.996-07:00
|
||||||
modified: 2026-02-05T09:23:59.109-07:00
|
modified: 2026-02-05T12:17:52.901-07:00
|
||||||
tags:
|
tags:
|
||||||
- hyprland
|
- hyprland
|
||||||
- statusbar
|
- statusbar
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Audio.md
|
permalink: /os/audio
|
||||||
title: Audio
|
title: Audio
|
||||||
created: 2026-01-29T15:21:02.328-07:00
|
created: 2026-01-29T15:21:02.328-07:00
|
||||||
modified: 2026-02-05T09:20:32.969-07:00
|
modified: 2026-02-05T12:17:52.903-07:00
|
||||||
tags:
|
tags:
|
||||||
- audio
|
- audio
|
||||||
- pipewire
|
- pipewire
|
||||||
|
|||||||
465
content/10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Base Install.md
Normal file
465
content/10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Base Install.md
Normal file
@@ -0,0 +1,465 @@
|
|||||||
|
---
|
||||||
|
publish: true
|
||||||
|
permalink: /os/base-install
|
||||||
|
title: Base Install
|
||||||
|
created: 2026-01-29T14:10:28.844-07:00
|
||||||
|
modified: 2026-02-05T12:17:52.905-07:00
|
||||||
|
tags:
|
||||||
|
- arch
|
||||||
|
- installation
|
||||||
|
- luks
|
||||||
|
- btrfs
|
||||||
|
cssclasses: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
My Arch Linux installation guide for Framework Laptop 13 (AMD Ryzen 7040). LUKS2 encrypted BTRFS with Limine bootloader.
|
||||||
|
|
||||||
|
> Based on guides by [yovko](https://gist.github.com/yovko/512326b904d120f3280c163abfbcb787) and [mgajewskik](https://gist.github.com/mgajewskik/a9331171c31b6e8839c427210ba76730), adapted for Framework AMD hardware.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
- **Encryption:** LUKS2 on system partition
|
||||||
|
- **Filesystem:** BTRFS with subvolumes (snapshots, compression)
|
||||||
|
- **Bootloader:** Limine (lightweight, Snapper-friendly)
|
||||||
|
- **Hardware:** Framework Laptop 13 AMD (Ryzen 7040 series)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Preparation
|
||||||
|
|
||||||
|
Boot from the [official Arch ISO](https://archlinux.org/download/).
|
||||||
|
|
||||||
|
### Connect to WiFi
|
||||||
|
|
||||||
|
```bash
|
||||||
|
iwctl station wlan0 connect <SSID>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Set keymap and font
|
||||||
|
|
||||||
|
```bash
|
||||||
|
loadkeys us
|
||||||
|
setfont ter-132b
|
||||||
|
```
|
||||||
|
|
||||||
|
### Verify UEFI mode
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat /sys/firmware/efi/fw_platform_size
|
||||||
|
# Should return 64
|
||||||
|
```
|
||||||
|
|
||||||
|
### (Optional) SSH in from another machine
|
||||||
|
|
||||||
|
```bash
|
||||||
|
passwd # set root password
|
||||||
|
ip addr show # get IP
|
||||||
|
# From other machine: ssh root@<ip>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Disk Partitioning
|
||||||
|
|
||||||
|
Assuming single-boot Arch on `/dev/nvme0n1`.
|
||||||
|
|
||||||
|
### Wipe existing partitions
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sgdisk --zap-all /dev/nvme0n1
|
||||||
|
```
|
||||||
|
|
||||||
|
### Create partitions
|
||||||
|
|
||||||
|
- **ESP:** 2GB FAT32 for `/boot`
|
||||||
|
- **System:** Rest of disk, LUKS2 encrypted BTRFS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
parted --script /dev/nvme0n1 \
|
||||||
|
mklabel gpt \
|
||||||
|
mkpart ESP fat32 1MiB 2049MiB \
|
||||||
|
set 1 esp on \
|
||||||
|
mkpart Linux btrfs 2050MiB 100%
|
||||||
|
```
|
||||||
|
|
||||||
|
### Format ESP
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkfs.fat -F 32 /dev/nvme0n1p1
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Encryption Setup
|
||||||
|
|
||||||
|
### Create LUKS container
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cryptsetup luksFormat /dev/nvme0n1p2
|
||||||
|
```
|
||||||
|
|
||||||
|
**Save the UUID** — you'll need it for the bootloader:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cryptsetup luksUUID /dev/nvme0n1p2
|
||||||
|
```
|
||||||
|
|
||||||
|
### Open the container
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cryptsetup open /dev/nvme0n1p2 root
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## BTRFS Setup
|
||||||
|
|
||||||
|
### Format and mount
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkfs.btrfs /dev/mapper/root
|
||||||
|
mount /dev/mapper/root /mnt
|
||||||
|
```
|
||||||
|
|
||||||
|
### Create subvolumes
|
||||||
|
|
||||||
|
```bash
|
||||||
|
btrfs subvolume create /mnt/@
|
||||||
|
btrfs subvolume create /mnt/@home
|
||||||
|
btrfs subvolume create /mnt/@var_log
|
||||||
|
btrfs subvolume create /mnt/@var_cache
|
||||||
|
btrfs subvolume create /mnt/@snapshots
|
||||||
|
```
|
||||||
|
|
||||||
|
### Remount with subvolumes
|
||||||
|
|
||||||
|
```bash
|
||||||
|
umount /mnt
|
||||||
|
|
||||||
|
mount -o compress=zstd:1,noatime,subvol=@ /dev/mapper/root /mnt
|
||||||
|
mount --mkdir -o compress=zstd:1,noatime,subvol=@home /dev/mapper/root /mnt/home
|
||||||
|
mount --mkdir -o compress=zstd:1,noatime,subvol=@var_log /dev/mapper/root /mnt/var/log
|
||||||
|
mount --mkdir -o compress=zstd:1,noatime,subvol=@var_cache /dev/mapper/root /mnt/var/cache
|
||||||
|
mount --mkdir -o compress=zstd:1,noatime,subvol=@snapshots /dev/mapper/root /mnt/.snapshots
|
||||||
|
mount --mkdir /dev/nvme0n1p1 /mnt/boot
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Install Base System
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pacman -Syy
|
||||||
|
|
||||||
|
pacstrap -K /mnt \
|
||||||
|
base base-devel linux linux-firmware linux-headers \
|
||||||
|
git vim neovim \
|
||||||
|
btrfs-progs efibootmgr limine cryptsetup \
|
||||||
|
networkmanager iwd wireless-regdb \
|
||||||
|
reflector bash-completion zsh \
|
||||||
|
pipewire pipewire-alsa pipewire-pulse pipewire-jack wireplumber sof-firmware \
|
||||||
|
bluez bluez-utils \
|
||||||
|
acpi acpid power-profiles-daemon \
|
||||||
|
firewalld cups avahi nss-mdns \
|
||||||
|
util-linux terminus-font openssh man sudo rsync \
|
||||||
|
amd-ucode mesa vulkan-radeon libva-mesa-driver
|
||||||
|
```
|
||||||
|
|
||||||
|
### Generate fstab
|
||||||
|
|
||||||
|
```bash
|
||||||
|
genfstab -U /mnt >> /mnt/etc/fstab
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## System Configuration
|
||||||
|
|
||||||
|
### Chroot in
|
||||||
|
|
||||||
|
```bash
|
||||||
|
arch-chroot /mnt
|
||||||
|
```
|
||||||
|
|
||||||
|
### Timezone and locale
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ln -sf /usr/share/zoneinfo/America/Denver /etc/localtime
|
||||||
|
hwclock --systohc
|
||||||
|
|
||||||
|
# Edit /etc/locale.gen, uncomment en_US.UTF-8 UTF-8
|
||||||
|
vim /etc/locale.gen
|
||||||
|
locale-gen
|
||||||
|
echo "LANG=en_US.UTF-8" > /etc/locale.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
### Console font and keymap
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat > /etc/vconsole.conf << EOF
|
||||||
|
KEYMAP=us
|
||||||
|
FONT=ter-132b
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
### Hostname
|
||||||
|
|
||||||
|
```bash
|
||||||
|
echo "framework" > /etc/hostname
|
||||||
|
```
|
||||||
|
|
||||||
|
### Root password
|
||||||
|
|
||||||
|
```bash
|
||||||
|
passwd
|
||||||
|
```
|
||||||
|
|
||||||
|
### Create user
|
||||||
|
|
||||||
|
```bash
|
||||||
|
useradd -mG wheel phil
|
||||||
|
passwd phil
|
||||||
|
EDITOR=vim visudo # uncomment %wheel ALL=(ALL:ALL) ALL
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configure mkinitcpio
|
||||||
|
|
||||||
|
Edit `/etc/mkinitcpio.conf`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
MODULES=(btrfs)
|
||||||
|
BINARIES=(/usr/bin/btrfs)
|
||||||
|
HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block encrypt filesystems fsck)
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Note:** Add `resume` after `filesystems` if you want hibernation support.
|
||||||
|
|
||||||
|
Regenerate:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkinitcpio -P
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Limine Bootloader
|
||||||
|
|
||||||
|
### Install Limine
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p /boot/EFI/limine
|
||||||
|
cp /usr/share/limine/BOOTX64.EFI /boot/EFI/limine/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Create NVRAM entry
|
||||||
|
|
||||||
|
```bash
|
||||||
|
efibootmgr --create --disk /dev/nvme0n1 --part 1 \
|
||||||
|
--label "Arch Linux" \
|
||||||
|
--loader '\EFI\limine\BOOTX64.EFI' \
|
||||||
|
--unicode
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configure Limine
|
||||||
|
|
||||||
|
Create `/boot/EFI/limine/limine.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
timeout: 3
|
||||||
|
|
||||||
|
/Arch Linux
|
||||||
|
protocol: linux
|
||||||
|
path: boot():/vmlinuz-linux
|
||||||
|
cmdline: quiet cryptdevice=UUID=<YOUR-LUKS-UUID>:root root=/dev/mapper/root rw rootflags=subvol=@ rootfstype=btrfs cfg80211.ieee80211_regdom=US
|
||||||
|
module_path: boot():/initramfs-linux.img
|
||||||
|
|
||||||
|
/Arch Linux (fallback)
|
||||||
|
protocol: linux
|
||||||
|
path: boot():/vmlinuz-linux
|
||||||
|
cmdline: quiet cryptdevice=UUID=<YOUR-LUKS-UUID>:root root=/dev/mapper/root rw rootflags=subvol=@ rootfstype=btrfs cfg80211.ieee80211_regdom=US
|
||||||
|
module_path: boot():/initramfs-linux-fallback.img
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace `<YOUR-LUKS-UUID>` with the UUID from earlier.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Enable Services
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl enable NetworkManager
|
||||||
|
systemctl enable iwd
|
||||||
|
systemctl enable bluetooth
|
||||||
|
systemctl enable cups
|
||||||
|
systemctl enable avahi-daemon
|
||||||
|
systemctl enable firewalld
|
||||||
|
systemctl enable acpid
|
||||||
|
systemctl enable power-profiles-daemon
|
||||||
|
systemctl enable reflector.timer
|
||||||
|
systemctl enable fstrim.timer
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Framework AMD Tweaks
|
||||||
|
|
||||||
|
### Disable PC speaker
|
||||||
|
|
||||||
|
Create `/etc/modprobe.d/nobeep.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
blacklist pcspkr
|
||||||
|
blacklist snd_pcsp
|
||||||
|
```
|
||||||
|
|
||||||
|
### Lid behavior
|
||||||
|
|
||||||
|
Edit `/etc/systemd/logind.conf`:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
HandlePowerKey=ignore
|
||||||
|
HandlePowerKeyLongPress=poweroff
|
||||||
|
HandleLidSwitch=suspend
|
||||||
|
HandleLidSwitchExternalPower=suspend
|
||||||
|
HandleLidSwitchDocked=ignore
|
||||||
|
```
|
||||||
|
|
||||||
|
### WiFi performance (MediaTek RZ616)
|
||||||
|
|
||||||
|
The AMD Framework uses MediaTek WiFi which needs some tuning.
|
||||||
|
|
||||||
|
**Set regulatory domain** — without this you're stuck on 2.4GHz:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Add to Limine cmdline:
|
||||||
|
cfg80211.ieee80211_regdom=US
|
||||||
|
```
|
||||||
|
|
||||||
|
**Use iwd as NetworkManager backend** for better stability:
|
||||||
|
|
||||||
|
Create `/etc/NetworkManager/conf.d/wifi-backend.conf`:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[device]
|
||||||
|
wifi.backend=iwd
|
||||||
|
```
|
||||||
|
|
||||||
|
**Disable WiFi power saving** to prevent disconnects:
|
||||||
|
|
||||||
|
Create `/etc/modprobe.d/mt7921.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
options mt7921e power_save=0
|
||||||
|
```
|
||||||
|
|
||||||
|
### Headphone jack buzz fix
|
||||||
|
|
||||||
|
The AMD board has a slight buzz when audio is idle. Disable power saving:
|
||||||
|
|
||||||
|
Create `/etc/modprobe.d/audio-powersave.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
options snd_hda_intel power_save=0
|
||||||
|
```
|
||||||
|
|
||||||
|
### USB-A expansion card power drain
|
||||||
|
|
||||||
|
Avoid placing USB-A cards in the **two rear slots** — they cause higher idle power drain. Front slots are fine.
|
||||||
|
|
||||||
|
### HDMI/DisplayPort expansion cards
|
||||||
|
|
||||||
|
Don't use the **front-left slot** for HDMI/DP cards — may not work on AMD.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Reboot
|
||||||
|
|
||||||
|
```bash
|
||||||
|
exit
|
||||||
|
umount -R /mnt
|
||||||
|
cryptsetup close root
|
||||||
|
reboot
|
||||||
|
```
|
||||||
|
|
||||||
|
Remove the USB drive.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Post-Install
|
||||||
|
|
||||||
|
### Connect to WiFi
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nmcli device wifi connect <SSID> password <password>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Install paru (AUR helper)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -S --needed git base-devel
|
||||||
|
git clone https://aur.archlinux.org/paru.git
|
||||||
|
cd paru && makepkg -si
|
||||||
|
cd .. && rm -rf paru
|
||||||
|
```
|
||||||
|
|
||||||
|
### Enable pacman colors
|
||||||
|
|
||||||
|
Uncomment `Color` in `/etc/pacman.conf`.
|
||||||
|
|
||||||
|
### Time sync
|
||||||
|
|
||||||
|
```bash
|
||||||
|
timedatectl set-ntp true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pacman hook for Limine updates
|
||||||
|
|
||||||
|
Create `/etc/pacman.d/hooks/99-limine.hook`:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[Trigger]
|
||||||
|
Operation = Install
|
||||||
|
Operation = Upgrade
|
||||||
|
Type = Package
|
||||||
|
Target = limine
|
||||||
|
|
||||||
|
[Action]
|
||||||
|
Description = Deploying Limine after upgrade...
|
||||||
|
When = PostTransaction
|
||||||
|
Exec = /usr/bin/cp /usr/share/limine/BOOTX64.EFI /boot/EFI/limine/
|
||||||
|
```
|
||||||
|
|
||||||
|
### BIOS updates
|
||||||
|
|
||||||
|
Framework AMD is well supported on LVFS. Check for updates:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -S fwupd
|
||||||
|
fwupdmgr refresh
|
||||||
|
fwupdmgr get-updates
|
||||||
|
fwupdmgr update
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Note:** If you have a batch 1 or 2 device, make sure BIOS is at least 3.03 before updating further.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Next Steps
|
||||||
|
|
||||||
|
- [[10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Hyprland Setup]] — graphical environment
|
||||||
|
- [[10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Network]] — advanced networking
|
||||||
|
- Snapper for BTRFS snapshots
|
||||||
|
- Swap/hibernation setup
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [Arch Wiki: Framework Laptop 13](https://wiki.archlinux.org/title/Framework_Laptop_13)
|
||||||
|
- [Arch Wiki: Installation Guide](https://wiki.archlinux.org/title/Installation_guide)
|
||||||
|
- [Arch Wiki: Limine](https://wiki.archlinux.org/title/Limine)
|
||||||
|
- [Arch Wiki: BTRFS](https://wiki.archlinux.org/title/Btrfs)
|
||||||
|
- [Arch Wiki: dm-crypt](https://wiki.archlinux.org/title/Dm-crypt)
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Disks.md
|
permalink: /os/disks
|
||||||
title: Disks
|
title: Disks
|
||||||
created: 2026-01-29T21:46:53.106-07:00
|
created: 2026-01-29T21:46:53.106-07:00
|
||||||
modified: 2026-02-05T09:21:21.430-07:00
|
modified: 2026-02-05T12:18:02.151-07:00
|
||||||
tags:
|
tags:
|
||||||
- disks
|
- disks
|
||||||
- automount
|
- automount
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Fonts.md
|
permalink: /os/fonts
|
||||||
title: Fonts
|
title: Fonts
|
||||||
created: 2026-01-29T15:24:42.068-07:00
|
created: 2026-01-29T15:24:42.068-07:00
|
||||||
modified: 2026-02-05T09:21:21.425-07:00
|
modified: 2026-02-05T12:18:02.154-07:00
|
||||||
tags:
|
tags:
|
||||||
- fonts
|
- fonts
|
||||||
- rendering
|
- rendering
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Hyprland Setup.md
|
permalink: /os/hyprland
|
||||||
title: Hyprland Setup
|
title: Hyprland Setup
|
||||||
created: 2026-01-29T15:09:13.502-07:00
|
created: 2026-01-29T15:09:13.502-07:00
|
||||||
modified: 2026-02-05T09:31:46.733-07:00
|
modified: 2026-02-05T12:18:02.155-07:00
|
||||||
tags:
|
tags:
|
||||||
- hyprland
|
- hyprland
|
||||||
- wayland
|
- wayland
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Keychain.md
|
permalink: /os/keychain
|
||||||
title: Keychain
|
title: Keychain
|
||||||
created: 2026-01-29T21:15:48.335-07:00
|
created: 2026-01-29T21:15:48.335-07:00
|
||||||
modified: 2026-02-05T09:21:56.854-07:00
|
modified: 2026-02-05T12:18:02.157-07:00
|
||||||
tags:
|
tags:
|
||||||
- security
|
- security
|
||||||
- secrets
|
- secrets
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Mako.md
|
permalink: /os/mako
|
||||||
title: Mako
|
title: Mako
|
||||||
created: 2026-01-29T15:18:16.265-07:00
|
created: 2026-01-29T15:18:16.265-07:00
|
||||||
modified: 2026-02-05T09:20:32.970-07:00
|
modified: 2026-02-05T12:18:02.159-07:00
|
||||||
tags:
|
tags:
|
||||||
- notifications
|
- notifications
|
||||||
- wayland
|
- wayland
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Network.md
|
permalink: /os/network
|
||||||
title: Network
|
title: Network
|
||||||
created: 2026-01-29T14:15:15.157-07:00
|
created: 2026-01-29T14:15:15.157-07:00
|
||||||
modified: 2026-02-05T09:41:11.148-07:00
|
modified: 2026-02-05T12:18:10.583-07:00
|
||||||
tags:
|
tags:
|
||||||
- network
|
- network
|
||||||
- wifi
|
- wifi
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Plymouth.md
|
permalink: /os/plymouth
|
||||||
title: Plymouth
|
title: Plymouth
|
||||||
created: 2026-02-05T09:31:46.739-07:00
|
created: 2026-02-05T09:31:46.739-07:00
|
||||||
modified: 2026-02-05T09:43:32.507-07:00
|
modified: 2026-02-05T12:18:10.585-07:00
|
||||||
tags:
|
tags:
|
||||||
- boot
|
- boot
|
||||||
- splash
|
- splash
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Printing.md
|
permalink: /os/printing
|
||||||
title: Printing
|
title: Printing
|
||||||
created: 2026-02-05T08:52:25.911-07:00
|
created: 2026-02-05T08:52:25.911-07:00
|
||||||
modified: 2026-02-05T09:21:21.426-07:00
|
modified: 2026-02-05T12:18:10.587-07:00
|
||||||
tags:
|
tags:
|
||||||
- printing
|
- printing
|
||||||
- cups
|
- cups
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Shell.md
|
permalink: /os/shell
|
||||||
title: Shell
|
title: Shell
|
||||||
created: 2026-01-29T16:18:01.019-07:00
|
created: 2026-01-29T16:18:01.019-07:00
|
||||||
modified: 2026-02-05T09:44:18.943-07:00
|
modified: 2026-02-05T12:18:10.588-07:00
|
||||||
tags:
|
tags:
|
||||||
- shell
|
- shell
|
||||||
- terminal
|
- terminal
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Yubikey.md
|
permalink: /os/yubikey
|
||||||
title: Yubikey
|
title: Yubikey
|
||||||
created: 2026-01-29T21:27:17.327-07:00
|
created: 2026-01-29T21:27:17.327-07:00
|
||||||
modified: 2026-02-05T09:21:56.856-07:00
|
modified: 2026-02-05T12:18:10.589-07:00
|
||||||
tags:
|
tags:
|
||||||
- security
|
- security
|
||||||
- yubikey
|
- yubikey
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/fprintd.md
|
permalink: /os/fprintd
|
||||||
title: fprintd
|
title: fprintd
|
||||||
created: 2026-02-05T09:31:46.737-07:00
|
created: 2026-02-05T09:31:46.737-07:00
|
||||||
modified: 2026-02-05T09:32:30.884-07:00
|
modified: 2026-02-05T12:18:16.843-07:00
|
||||||
tags:
|
tags:
|
||||||
- security
|
- security
|
||||||
- fingerprint
|
- fingerprint
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/hyprlock.md
|
permalink: /os/hyprlock
|
||||||
title: hyprlock
|
title: hyprlock
|
||||||
created: 2026-02-05T09:31:46.736-07:00
|
created: 2026-02-05T09:31:46.736-07:00
|
||||||
modified: 2026-02-05T09:35:55.743-07:00
|
modified: 2026-02-05T12:18:16.846-07:00
|
||||||
tags:
|
tags:
|
||||||
- hyprland
|
- hyprland
|
||||||
- lockscreen
|
- lockscreen
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/hyprshutdown.md
|
permalink: /os/hyprshutdown
|
||||||
title: hyprshutdown
|
title: hyprshutdown
|
||||||
created: 2026-02-05T09:31:46.735-07:00
|
created: 2026-02-05T09:31:46.735-07:00
|
||||||
modified: 2026-02-05T09:31:46.735-07:00
|
modified: 2026-02-05T12:18:16.847-07:00
|
||||||
tags:
|
tags:
|
||||||
- hyprland
|
- hyprland
|
||||||
- shutdown
|
- shutdown
|
||||||
|
|||||||
15
content/10-19 LIFE/13 TECH SETUP/13.14 AI/blogwatcher.md
Normal file
15
content/10-19 LIFE/13 TECH SETUP/13.14 AI/blogwatcher.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
publish: true
|
||||||
|
permalink: /ai/blogwatcher
|
||||||
|
title: blogwatcher
|
||||||
|
created: 2026-01-31T20:42:32.556-07:00
|
||||||
|
modified: 2026-02-05T12:18:45.700-07:00
|
||||||
|
tags:
|
||||||
|
- ai
|
||||||
|
- rss
|
||||||
|
- monitoring
|
||||||
|
cssclasses: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
`go install github.com/Hyaxia/blogwatcher/cmd/blogwatcher@latest`
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/21 TTRPG/21.11 DAGGERHEART/Character Creation.md
|
permalink: /ttrpg/daggerheart/character-creation
|
||||||
title: Character Creation Cheat Sheet
|
title: Character Creation Cheat Sheet
|
||||||
created: 2026-01-29T14:04:18.364-07:00
|
created: 2026-01-29T14:04:18.364-07:00
|
||||||
modified: 2025-06-24T21:01:37.096-06:00
|
modified: 2026-02-05T12:19:54.478-07:00
|
||||||
tags:
|
tags:
|
||||||
- daggerheart
|
- daggerheart
|
||||||
cssclasses: ""
|
cssclasses: ""
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/21 TTRPG/21.12 HOLDING BACK SIN/Hub.md
|
permalink: /ttrpg/hbs
|
||||||
title: 00 - Holding Back Sin
|
title: Holding Back Sin
|
||||||
created: 2026-01-29T14:04:18.607-07:00
|
created: 2026-01-29T14:04:18.607-07:00
|
||||||
modified: 2025-06-26T16:08:06.270-06:00
|
modified: 2026-02-05T12:19:54.481-07:00
|
||||||
tags:
|
tags:
|
||||||
- daggerheart
|
- daggerheart
|
||||||
- holding_back_sin
|
- holding_back_sin
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/21 TTRPG/21.12 HOLDING BACK SIN/Sin Manifest.md
|
permalink: /ttrpg/hbs/sin-manifest
|
||||||
title: "01 - Campaign Frame: Sin Manifest"
|
title: "Campaign Frame: Sin Manifest"
|
||||||
created: 2026-01-29T14:04:18.718-07:00
|
created: 2026-01-29T14:04:18.718-07:00
|
||||||
modified: 2025-06-25T21:38:30.349-06:00
|
modified: 2026-02-05T12:19:54.485-07:00
|
||||||
tags:
|
tags:
|
||||||
- daggerheart
|
- daggerheart
|
||||||
- holding_back_sin
|
- holding_back_sin
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/21 TTRPG/21.12 HOLDING BACK SIN/The Church.md
|
permalink: /ttrpg/hbs/the-church
|
||||||
title: The Church
|
title: The Church
|
||||||
created: 2026-01-29T14:04:18.879-07:00
|
created: 2026-01-29T14:04:18.879-07:00
|
||||||
modified: 2025-06-24T22:12:24.093-06:00
|
modified: 2026-02-05T12:19:54.486-07:00
|
||||||
tags:
|
tags:
|
||||||
- daggerheart
|
- daggerheart
|
||||||
- holding_back_sin
|
- holding_back_sin
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/21 TTRPG/21.12 HOLDING BACK SIN/The First Sinner.md
|
permalink: /ttrpg/hbs/the-first-sinner
|
||||||
title: The First Sinner
|
title: The First Sinner
|
||||||
created: 2026-01-29T14:04:18.545-07:00
|
created: 2026-01-29T14:04:18.545-07:00
|
||||||
modified: 2025-06-24T22:11:57.085-06:00
|
modified: 2026-02-05T12:20:02.544-07:00
|
||||||
tags:
|
tags:
|
||||||
- daggerheart
|
- daggerheart
|
||||||
- holding_back_sin
|
- holding_back_sin
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/21 TTRPG/21.12 HOLDING BACK SIN/The Old Gods.md
|
permalink: /ttrpg/hbs/the-old-gods
|
||||||
title: The Old Gods
|
title: The Old Gods
|
||||||
created: 2026-01-29T14:04:18.493-07:00
|
created: 2026-01-29T14:04:18.493-07:00
|
||||||
modified: 2025-06-24T21:53:46.955-06:00
|
modified: 2026-02-05T12:20:02.552-07:00
|
||||||
tags:
|
tags:
|
||||||
- daggerheart
|
- daggerheart
|
||||||
- holding_back_sin
|
- holding_back_sin
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/21 TTRPG/21.12 HOLDING BACK SIN/The Pit.md
|
permalink: /ttrpg/hbs/the-pit
|
||||||
title: The Pit
|
title: The Pit
|
||||||
created: 2026-01-29T14:04:18.361-07:00
|
created: 2026-01-29T14:04:18.361-07:00
|
||||||
modified: 2025-06-25T20:35:49.868-06:00
|
modified: 2026-02-05T12:20:02.554-07:00
|
||||||
tags:
|
tags:
|
||||||
- daggerheart
|
- daggerheart
|
||||||
- holding_back_sin
|
- holding_back_sin
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/21 TTRPG/21.12 HOLDING BACK SIN/Ydrasog.md
|
permalink: /ttrpg/hbs/ydrasog
|
||||||
title: Ydrasog
|
title: Ydrasog
|
||||||
created: 2026-01-29T14:04:18.798-07:00
|
created: 2026-01-29T14:04:18.798-07:00
|
||||||
modified: 2025-06-25T20:29:47.366-06:00
|
modified: 2026-02-05T12:20:02.555-07:00
|
||||||
tags:
|
tags:
|
||||||
- daggerheart
|
- daggerheart
|
||||||
- holding_back_sin
|
- holding_back_sin
|
||||||
|
|||||||
@@ -0,0 +1,56 @@
|
|||||||
|
---
|
||||||
|
publish: true
|
||||||
|
permalink: /sh/garden
|
||||||
|
title: Digital Garden
|
||||||
|
created: 2026-02-05T09:58:59.613-07:00
|
||||||
|
modified: 2026-02-05T12:21:13.912-07:00
|
||||||
|
tags:
|
||||||
|
- self_hosting
|
||||||
|
- digital_gardening
|
||||||
|
- guide
|
||||||
|
cssclasses: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
# Digital Garden Setup
|
||||||
|
|
||||||
|
My digital garden stack for publishing Obsidian notes to the web.
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
Obsidian Vault → Quartz Syncer → Quartz (build) → Caddy (serve)
|
||||||
|
↓
|
||||||
|
Self-hosted LiveSync (multi-device editing)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Components
|
||||||
|
|
||||||
|
1. [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Obsidian]] — Note-taking and editing
|
||||||
|
2. [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Quartz]] — Static site generator (Markdown → HTML)
|
||||||
|
3. [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Caddy]] — Web server with automatic HTTPS
|
||||||
|
4. [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Selfhosted Live Sync]] — Real-time sync across devices
|
||||||
|
|
||||||
|
## Setup Order
|
||||||
|
|
||||||
|
1. **[[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Obsidian]]** — Install and configure plugins
|
||||||
|
2. **[[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Selfhosted Live Sync]]** — Set up CouchDB for multi-device sync
|
||||||
|
3. **[[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Quartz]]** — Clone repo, configure, connect to vault
|
||||||
|
4. **[[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Caddy]]** — Configure reverse proxy and deploy
|
||||||
|
|
||||||
|
## Publishing Workflow
|
||||||
|
|
||||||
|
1. Write/edit notes in Obsidian (any device)
|
||||||
|
2. LiveSync keeps all devices in sync via CouchDB
|
||||||
|
3. Mark notes for publishing with `publish: true` frontmatter
|
||||||
|
4. Use Quartz Syncer plugin to push to Quartz repo
|
||||||
|
5. Build triggers (manual or CI) regenerate the site
|
||||||
|
6. Caddy serves the static files
|
||||||
|
|
||||||
|
## Quick Reference
|
||||||
|
|
||||||
|
| Component | Purpose | Tech |
|
||||||
|
|-----------|---------|------|
|
||||||
|
| Editor | [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Obsidian]] | Electron app |
|
||||||
|
| Sync | [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Selfhosted Live Sync]] | CouchDB |
|
||||||
|
| Generator | [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Quartz]] | Node.js/TypeScript |
|
||||||
|
| Server | [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Caddy]] | Go binary |
|
||||||
@@ -0,0 +1,148 @@
|
|||||||
|
---
|
||||||
|
publish: true
|
||||||
|
permalink: /sh/garden/caddy
|
||||||
|
title: Caddy
|
||||||
|
created: 2026-02-05T09:58:59.617-07:00
|
||||||
|
modified: 2026-02-05T12:21:13.914-07:00
|
||||||
|
tags:
|
||||||
|
- self_hosting
|
||||||
|
- web_server
|
||||||
|
cssclasses: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
Caddy is a powerful web server with automatic HTTPS. I use it to serve my [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Quartz]] digital garden.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
**Arch Linux:**
|
||||||
|
```bash
|
||||||
|
sudo pacman -S caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
**Docker:**
|
||||||
|
```bash
|
||||||
|
docker pull caddy:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
**Binary:**
|
||||||
|
Download from https://caddyserver.com/download
|
||||||
|
|
||||||
|
## Basic Configuration
|
||||||
|
|
||||||
|
Caddyfile location: `/etc/caddy/Caddyfile`
|
||||||
|
|
||||||
|
### Serve Static Files
|
||||||
|
|
||||||
|
```caddyfile
|
||||||
|
garden.example.com {
|
||||||
|
root * /var/www/garden/public
|
||||||
|
file_server
|
||||||
|
|
||||||
|
# Handle SPA routing (if using Quartz SPA mode)
|
||||||
|
try_files {path} {path}/ /index.html
|
||||||
|
|
||||||
|
# Compression
|
||||||
|
encode gzip zstd
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### With Reverse Proxy
|
||||||
|
|
||||||
|
If running Quartz dev server:
|
||||||
|
```caddyfile
|
||||||
|
garden.example.com {
|
||||||
|
reverse_proxy localhost:8080
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Automatic HTTPS
|
||||||
|
|
||||||
|
Caddy automatically provisions TLS certificates via Let's Encrypt. Just use a domain name and Caddy handles the rest.
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
- Domain DNS points to your server
|
||||||
|
- Ports 80 and 443 accessible
|
||||||
|
- Caddy can bind to those ports
|
||||||
|
|
||||||
|
## Running Caddy
|
||||||
|
|
||||||
|
### systemd
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo systemctl enable --now caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
### Manual
|
||||||
|
|
||||||
|
```bash
|
||||||
|
caddy run --config /etc/caddy/Caddyfile
|
||||||
|
```
|
||||||
|
|
||||||
|
### Reload config
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo systemctl reload caddy
|
||||||
|
# or
|
||||||
|
caddy reload --config /etc/caddy/Caddyfile
|
||||||
|
```
|
||||||
|
|
||||||
|
## Digital Garden Setup
|
||||||
|
|
||||||
|
My Caddyfile for serving Quartz:
|
||||||
|
|
||||||
|
```caddyfile
|
||||||
|
garden.example.com {
|
||||||
|
root * /var/www/garden/public
|
||||||
|
file_server
|
||||||
|
|
||||||
|
# Quartz SPA routing
|
||||||
|
try_files {path} {path}.html {path}/ /index.html
|
||||||
|
|
||||||
|
# Compression for faster loads
|
||||||
|
encode gzip zstd
|
||||||
|
|
||||||
|
# Cache static assets
|
||||||
|
@static {
|
||||||
|
path *.css *.js *.woff2 *.png *.jpg *.svg
|
||||||
|
}
|
||||||
|
header @static Cache-Control "public, max-age=31536000"
|
||||||
|
|
||||||
|
# Security headers
|
||||||
|
header {
|
||||||
|
X-Content-Type-Options nosniff
|
||||||
|
X-Frame-Options DENY
|
||||||
|
Referrer-Policy strict-origin-when-cross-origin
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Deployment Workflow
|
||||||
|
|
||||||
|
1. Build Quartz: `npx quartz build`
|
||||||
|
2. Copy to server: `rsync -avz public/ server:/var/www/garden/public/`
|
||||||
|
3. Caddy automatically serves the new files
|
||||||
|
|
||||||
|
Or use a CI/CD pipeline to automate.
|
||||||
|
|
||||||
|
## Multiple Sites
|
||||||
|
|
||||||
|
```caddyfile
|
||||||
|
garden.example.com {
|
||||||
|
root * /var/www/garden/public
|
||||||
|
file_server
|
||||||
|
}
|
||||||
|
|
||||||
|
blog.example.com {
|
||||||
|
root * /var/www/blog
|
||||||
|
file_server
|
||||||
|
}
|
||||||
|
|
||||||
|
api.example.com {
|
||||||
|
reverse_proxy localhost:3000
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
- Docs: https://caddyserver.com/docs/
|
||||||
|
- Caddyfile: https://caddyserver.com/docs/caddyfile
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Obsidian.md
|
permalink: /sh/garden/obsidian
|
||||||
title: Obsidian Setup for Digital Gardening
|
title: Obsidian Setup for Digital Gardening
|
||||||
created: 2026-01-29T14:04:18.365-07:00
|
created: 2026-01-29T14:04:18.365-07:00
|
||||||
modified: 2026-01-19T17:48:04.050-07:00
|
modified: 2026-02-05T12:21:13.916-07:00
|
||||||
tags:
|
tags:
|
||||||
- self_hosting
|
- self_hosting
|
||||||
- digital_gardening
|
- digital_gardening
|
||||||
@@ -14,7 +14,6 @@ cssclasses: ""
|
|||||||
My current setup for digital gardening with [Obsidian](https://obsidian.md) is very lightweight by design, plugin bloat is real and detracts from the simplicity that allows me to just get things done.
|
My current setup for digital gardening with [Obsidian](https://obsidian.md) is very lightweight by design, plugin bloat is real and detracts from the simplicity that allows me to just get things done.
|
||||||
## Plugins
|
## Plugins
|
||||||
- Harper - Great for spelling and grammar checks
|
- Harper - Great for spelling and grammar checks
|
||||||
- Quartz Syncer - Used to synchronize my vault contents to my [[Quartz]] repo
|
- Quartz Syncer - Used to synchronize my vault contents to my [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Quartz]] repo
|
||||||
- BRAT - Used to install Quartz Syncer
|
|
||||||
- Dataview - I just cannot live without this
|
- Dataview - I just cannot live without this
|
||||||
- Self-hosted LiveSync - For editing on multiple devices
|
- Self-hosted LiveSync - For editing on multiple devices
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
---
|
||||||
|
publish: true
|
||||||
|
permalink: /sh/garden/quartz
|
||||||
|
title: Quartz
|
||||||
|
created: 2026-02-05T09:58:59.615-07:00
|
||||||
|
modified: 2026-02-05T12:21:13.918-07:00
|
||||||
|
tags:
|
||||||
|
- self_hosting
|
||||||
|
- digital_gardening
|
||||||
|
- static_site
|
||||||
|
cssclasses: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
Quartz is a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites. Perfect for publishing [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Obsidian]] vaults as digital gardens.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Obsidian compatibility** — Wikilinks, callouts, backlinks
|
||||||
|
- **Full-text search** — Client-side search
|
||||||
|
- **Graph view** — Interactive note connections
|
||||||
|
- **Popover previews** — Hover to preview linked notes
|
||||||
|
- **Fast** — SPA routing, tiny bundles
|
||||||
|
- **Customizable** — JSX components, plugin system
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Requires Node.js v22+.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/jackyzha0/quartz.git
|
||||||
|
cd quartz
|
||||||
|
npm i
|
||||||
|
npx quartz create
|
||||||
|
```
|
||||||
|
|
||||||
|
Follow the prompts to initialize with your content.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Main config: `quartz.config.ts`
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
const config: QuartzConfig = {
|
||||||
|
configuration: {
|
||||||
|
pageTitle: "My Digital Garden",
|
||||||
|
enableSPA: true,
|
||||||
|
enablePopovers: true,
|
||||||
|
analytics: null, // or plausible, umami, etc.
|
||||||
|
locale: "en-US",
|
||||||
|
baseUrl: "garden.example.com",
|
||||||
|
ignorePatterns: ["private", ".obsidian"],
|
||||||
|
defaultDateType: "modified",
|
||||||
|
theme: {
|
||||||
|
cdnCaching: true,
|
||||||
|
typography: {
|
||||||
|
header: "Schibsted Grotesk",
|
||||||
|
body: "Source Sans Pro",
|
||||||
|
code: "IBM Plex Mono",
|
||||||
|
},
|
||||||
|
colors: {
|
||||||
|
lightMode: { /* ... */ },
|
||||||
|
darkMode: { /* ... */ },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
plugins: { /* ... */ },
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Content
|
||||||
|
|
||||||
|
All content lives in `/content` folder. Home page is `content/index.md`.
|
||||||
|
|
||||||
|
### Frontmatter
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
title: My Note
|
||||||
|
description: A description for previews
|
||||||
|
tags:
|
||||||
|
- example
|
||||||
|
draft: false # true = don't publish
|
||||||
|
publish: true # used by Quartz Syncer
|
||||||
|
date: 2026-02-05
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
### Supported Syntax
|
||||||
|
|
||||||
|
- Standard Markdown + GFM (tables, footnotes, task lists)
|
||||||
|
- Obsidian wikilinks: `[[Note Name]]`
|
||||||
|
- Obsidian callouts: `> [!info]`
|
||||||
|
- LaTeX math: `$inline$` and `$$block$$`
|
||||||
|
- Syntax highlighting
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Development (hot reload)
|
||||||
|
npx quartz build --serve
|
||||||
|
|
||||||
|
# Production build
|
||||||
|
npx quartz build
|
||||||
|
|
||||||
|
# Output goes to /public
|
||||||
|
```
|
||||||
|
|
||||||
|
## Syncing Content
|
||||||
|
|
||||||
|
### Manual
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx quartz sync
|
||||||
|
```
|
||||||
|
|
||||||
|
### Quartz Syncer Plugin (Recommended)
|
||||||
|
|
||||||
|
Install the **Quartz Syncer** plugin in [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Obsidian]]:
|
||||||
|
|
||||||
|
1. Install from Community Plugins
|
||||||
|
2. Configure Git provider (GitHub, GitLab, etc.)
|
||||||
|
3. Set Quartz repo path
|
||||||
|
4. Use plugin to selectively publish notes
|
||||||
|
|
||||||
|
Features:
|
||||||
|
- Compiles Dataview queries to static content
|
||||||
|
- Diff viewer before publishing
|
||||||
|
- Selective publish/update/remove
|
||||||
|
- Smart caching
|
||||||
|
|
||||||
|
## Hosting Options
|
||||||
|
|
||||||
|
### Self-hosted with [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Caddy]]
|
||||||
|
|
||||||
|
Build locally or via CI, serve `/public` with Caddy.
|
||||||
|
|
||||||
|
### GitHub Pages
|
||||||
|
|
||||||
|
Add `.github/workflows/deploy.yml`:
|
||||||
|
```yaml
|
||||||
|
name: Deploy Quartz
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [v4]
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 22
|
||||||
|
- run: npm ci
|
||||||
|
- run: npx quartz build
|
||||||
|
- uses: actions/upload-pages-artifact@v3
|
||||||
|
with:
|
||||||
|
path: public
|
||||||
|
deploy:
|
||||||
|
needs: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
steps:
|
||||||
|
- uses: actions/deploy-pages@v4
|
||||||
|
```
|
||||||
|
|
||||||
|
### Cloudflare Pages
|
||||||
|
|
||||||
|
- Build command: `npx quartz build`
|
||||||
|
- Output directory: `public`
|
||||||
|
- Production branch: `v4`
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
- Docs: https://quartz.jzhao.xyz/
|
||||||
|
- GitHub: https://github.com/jackyzha0/quartz
|
||||||
|
- Quartz Syncer: https://github.com/saberzero1/quartz-syncer
|
||||||
@@ -0,0 +1,158 @@
|
|||||||
|
---
|
||||||
|
publish: true
|
||||||
|
permalink: /sh/garden/livesync
|
||||||
|
title: Self-hosted LiveSync
|
||||||
|
created: 2026-02-05T09:58:59.620-07:00
|
||||||
|
modified: 2026-02-05T12:21:13.920-07:00
|
||||||
|
tags:
|
||||||
|
- self_hosting
|
||||||
|
- obsidian
|
||||||
|
- sync
|
||||||
|
cssclasses: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
Self-hosted LiveSync is a community plugin for [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Obsidian]] that enables real-time synchronization across devices using CouchDB or object storage.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Real-time sync** — Changes sync immediately
|
||||||
|
- **Conflict resolution** — Automatic merging of simple conflicts
|
||||||
|
- **End-to-end encryption** — Data encrypted before leaving device
|
||||||
|
- **Self-hosted** — Your data on your server
|
||||||
|
- **Multi-platform** — Works on all Obsidian platforms (desktop, mobile)
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
Device A (Obsidian) ←→ CouchDB Server ←→ Device B (Obsidian)
|
||||||
|
```
|
||||||
|
|
||||||
|
All devices sync to a central CouchDB instance. Changes propagate in real-time.
|
||||||
|
|
||||||
|
## Server Setup (CouchDB)
|
||||||
|
|
||||||
|
### Docker (Recommended)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# docker-compose.yml
|
||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
couchdb:
|
||||||
|
image: couchdb:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "5984:5984"
|
||||||
|
environment:
|
||||||
|
- COUCHDB_USER=admin
|
||||||
|
- COUCHDB_PASSWORD=your-secure-password
|
||||||
|
volumes:
|
||||||
|
- ./couchdb-data:/opt/couchdb/data
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configure CouchDB
|
||||||
|
|
||||||
|
Access Fauxton UI at `http://server:5984/_utils`
|
||||||
|
|
||||||
|
1. Create a database for your vault (e.g., `obsidian-vault`)
|
||||||
|
2. Configure CORS if accessing from different domains
|
||||||
|
|
||||||
|
### CORS Setup
|
||||||
|
|
||||||
|
In Fauxton → Configuration → CORS:
|
||||||
|
- Enable CORS
|
||||||
|
- Set origins to `app://obsidian.md` and your domain
|
||||||
|
|
||||||
|
Or via curl:
|
||||||
|
```bash
|
||||||
|
curl -X PUT http://admin:password@localhost:5984/_node/_local/_config/httpd/enable_cors -d '"true"'
|
||||||
|
curl -X PUT http://admin:password@localhost:5984/_node/_local/_config/cors/origins -d '"app://obsidian.md"'
|
||||||
|
curl -X PUT http://admin:password@localhost:5984/_node/_local/_config/cors/credentials -d '"true"'
|
||||||
|
curl -X PUT http://admin:password@localhost:5984/_node/_local/_config/cors/methods -d '"GET, PUT, POST, HEAD, DELETE"'
|
||||||
|
curl -X PUT http://admin:password@localhost:5984/_node/_local/_config/cors/headers -d '"accept, authorization, content-type, origin, referer"'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Plugin Setup
|
||||||
|
|
||||||
|
1. Install **Self-hosted LiveSync** from Obsidian Community Plugins
|
||||||
|
2. Open plugin settings
|
||||||
|
3. Configure connection:
|
||||||
|
- URI: `https://couchdb.example.com`
|
||||||
|
- Username: your CouchDB user
|
||||||
|
- Password: your CouchDB password
|
||||||
|
- Database: `obsidian-vault`
|
||||||
|
4. Set up encryption passphrase (all devices must use same passphrase)
|
||||||
|
5. Test connection
|
||||||
|
6. Enable sync
|
||||||
|
|
||||||
|
## Sync Modes
|
||||||
|
|
||||||
|
| Mode | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| LiveSync | Real-time sync (uses more bandwidth) |
|
||||||
|
| Periodic | Sync at intervals |
|
||||||
|
| On file save | Sync when files change |
|
||||||
|
|
||||||
|
## Customization Sync
|
||||||
|
|
||||||
|
Sync settings, themes, plugins across devices:
|
||||||
|
|
||||||
|
Settings → Customization Sync → Enable
|
||||||
|
|
||||||
|
Select what to sync:
|
||||||
|
- Settings files
|
||||||
|
- Snippets
|
||||||
|
- Themes
|
||||||
|
- Plugins (careful with this)
|
||||||
|
|
||||||
|
## Encryption
|
||||||
|
|
||||||
|
Always enable end-to-end encryption:
|
||||||
|
|
||||||
|
1. Settings → Encryption → Enable
|
||||||
|
2. Set passphrase (same on all devices)
|
||||||
|
3. All data is encrypted before upload
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Sync not working
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check CouchDB is running
|
||||||
|
curl http://localhost:5984
|
||||||
|
|
||||||
|
# Check database exists
|
||||||
|
curl http://admin:password@localhost:5984/obsidian-vault
|
||||||
|
```
|
||||||
|
|
||||||
|
### Conflicts
|
||||||
|
|
||||||
|
Plugin shows conflict indicator. Open note to resolve:
|
||||||
|
- View both versions
|
||||||
|
- Choose or merge manually
|
||||||
|
- Conflicts auto-resolve if possible
|
||||||
|
|
||||||
|
### Rebuild database
|
||||||
|
|
||||||
|
If sync gets corrupted:
|
||||||
|
1. Disable sync on all devices
|
||||||
|
2. Delete database in CouchDB
|
||||||
|
3. Re-create database
|
||||||
|
4. Rebuild from primary device
|
||||||
|
5. Re-enable on other devices
|
||||||
|
|
||||||
|
## Alternatives to CouchDB
|
||||||
|
|
||||||
|
LiveSync also supports:
|
||||||
|
- MinIO (S3-compatible)
|
||||||
|
- Cloudflare R2
|
||||||
|
- AWS S3
|
||||||
|
- WebRTC (peer-to-peer, experimental)
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
- GitHub: https://github.com/vrtmrz/obsidian-livesync
|
||||||
|
- Docs: https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/
|
||||||
@@ -1,13 +1,31 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Setup.md
|
permalink: /sh/garden/setup
|
||||||
title: Digital Garden Setup
|
title: Digital Garden Setup
|
||||||
created: 2026-01-29T14:04:18.669-07:00
|
created: 2026-01-29T14:04:18.669-07:00
|
||||||
modified: 2025-07-02T15:44:31.210-06:00
|
modified: 2026-02-05T12:21:19.644-07:00
|
||||||
tags:
|
tags:
|
||||||
- self_hosting
|
- self_hosting
|
||||||
- digital_gardening
|
- digital_gardening
|
||||||
cssclasses: ""
|
cssclasses: ""
|
||||||
---
|
---
|
||||||
|
|
||||||
This Digital Garden is written using [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Obsidian]], converted to a static site using [[Quartz]], and hosted using [[Caddy]]. To edit on multiple devices I use [[Selfhosted Live Sync]]
|
This Digital Garden is built with a self-hosted stack:
|
||||||
|
|
||||||
|
| Layer | Tool | Purpose |
|
||||||
|
|-------|------|---------|
|
||||||
|
| Editor | [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Obsidian]] | Write and organize notes |
|
||||||
|
| Sync | [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Selfhosted Live Sync]] | Real-time multi-device sync |
|
||||||
|
| Generator | [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Quartz]] | Convert Markdown to static site |
|
||||||
|
| Server | [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/Caddy]] | Serve with automatic HTTPS |
|
||||||
|
|
||||||
|
## Why Self-Hosted?
|
||||||
|
|
||||||
|
- **Privacy** — Notes stay on my infrastructure
|
||||||
|
- **Control** — No vendor lock-in
|
||||||
|
- **Learning** — Understanding the full stack
|
||||||
|
- **Cost** — Cheap VPS vs subscription services
|
||||||
|
|
||||||
|
## See Also
|
||||||
|
|
||||||
|
- [[20-29 HOBBYS/22 SELF HOSTING/22.11 DIGITAL GARDEN/00 - Start Here]] — Full setup guide with ordering
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/22 SELF HOSTING/22.12 SERVICES/GoToSocial.md
|
permalink: /sh/services/gotosocial
|
||||||
|
title: GoToSocial
|
||||||
created: 2026-01-29T14:04:18.591-07:00
|
created: 2026-01-29T14:04:18.591-07:00
|
||||||
modified: 2026-01-21T22:26:52.945-07:00
|
modified: 2026-02-05T12:21:24.501-07:00
|
||||||
cssclasses: ""
|
cssclasses: ""
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/22 SELF HOSTING/22.12 SERVICES/Syncthing.md
|
permalink: /sh/services/syncthing
|
||||||
|
title: Syncthing
|
||||||
created: 2026-01-29T14:04:18.802-07:00
|
created: 2026-01-29T14:04:18.802-07:00
|
||||||
modified: 2026-01-20T13:36:36.219-07:00
|
modified: 2026-02-05T12:21:24.504-07:00
|
||||||
cssclasses: ""
|
cssclasses: ""
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/23 SECURITY/23.11 EVILGINX/00 - Index.md
|
permalink: /security/evilginx
|
||||||
title: 00 - Start Here
|
title: Evilginx
|
||||||
created: 2026-01-29T14:04:18.808-07:00
|
created: 2026-01-29T14:04:18.808-07:00
|
||||||
modified: 2025-06-26T16:07:26.548-06:00
|
modified: 2026-02-05T12:21:58.021-07:00
|
||||||
tags:
|
tags:
|
||||||
- guide
|
- guide
|
||||||
- evilginx
|
- evilginx
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/23 SECURITY/23.11 EVILGINX/Installation of Community Edition.md
|
permalink: /security/evilginx/install
|
||||||
title: Installing Evilginx Community Edition
|
title: Installing Evilginx Community Edition
|
||||||
created: 2026-01-29T14:04:18.369-07:00
|
created: 2026-01-29T14:04:18.369-07:00
|
||||||
modified: 2025-06-26T12:40:30.910-06:00
|
modified: 2026-02-05T12:21:58.024-07:00
|
||||||
tags:
|
tags:
|
||||||
- phishing
|
- phishing
|
||||||
- evilginx
|
- evilginx
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/23 SECURITY/23.11 EVILGINX/basic configuration.md
|
permalink: /security/evilginx/basic-config
|
||||||
title: Server bootstrapping
|
title: Server bootstrapping
|
||||||
created: 2026-01-29T14:04:18.492-07:00
|
created: 2026-01-29T14:04:18.492-07:00
|
||||||
modified: 2025-06-26T12:37:33.633-06:00
|
modified: 2026-02-05T12:21:58.025-07:00
|
||||||
tags:
|
tags:
|
||||||
- evilginx
|
- evilginx
|
||||||
- guide
|
- guide
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/23 SECURITY/23.11 EVILGINX/configuration.md
|
permalink: /security/evilginx/config
|
||||||
title: Evilginx Configuration
|
title: Evilginx Configuration
|
||||||
created: 2026-01-29T14:04:18.516-07:00
|
created: 2026-01-29T14:04:18.516-07:00
|
||||||
modified: 2025-06-26T15:12:06.592-06:00
|
modified: 2026-02-05T12:21:58.027-07:00
|
||||||
tags:
|
tags:
|
||||||
- evilginx
|
- evilginx
|
||||||
- guide
|
- guide
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/23 SECURITY/23.11 EVILGINX/phish setup.md
|
permalink: /security/evilginx/phish-setup
|
||||||
title: Basic Phish Setup
|
title: Basic Phish Setup
|
||||||
created: 2026-01-29T14:04:18.366-07:00
|
created: 2026-01-29T14:04:18.366-07:00
|
||||||
modified: 2025-06-27T14:25:27.036-06:00
|
modified: 2026-02-05T12:21:58.028-07:00
|
||||||
tags:
|
tags:
|
||||||
- evilginx
|
- evilginx
|
||||||
- guide
|
- guide
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/24 MTG/24.11 LIMITED/Final Fantasy Draft Notes.md
|
permalink: /mtg/limited/ff-draft
|
||||||
title: Final Fantasy Draft Notes
|
title: Final Fantasy Draft Notes
|
||||||
created: 2026-01-29T14:04:18.666-07:00
|
created: 2026-01-29T14:04:18.666-07:00
|
||||||
modified: 2025-07-03T11:29:24.580-06:00
|
modified: 2026-02-05T12:22:25.497-07:00
|
||||||
tags:
|
tags:
|
||||||
- mtg
|
- mtg
|
||||||
cssclasses: ""
|
cssclasses: ""
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/24 MTG/24.12 COMMANDER/Nasty Nasty Necrons.md
|
permalink: /mtg/commander/necrons
|
||||||
title: "Deck: Nasty Nasty Necrons"
|
title: "Deck: Nasty Nasty Necrons"
|
||||||
created: 2026-01-29T14:04:18.368-07:00
|
created: 2026-01-29T14:04:18.368-07:00
|
||||||
modified: 2025-07-03T14:27:32.564-06:00
|
modified: 2026-02-05T12:22:25.500-07:00
|
||||||
tags:
|
tags:
|
||||||
- mtg
|
- mtg
|
||||||
- commander
|
- commander
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
publish: true
|
||||||
|
permalink: /mtg/commander/nids
|
||||||
|
title: 'Deck: Nid that goes "PING"'
|
||||||
|
created: 2026-01-29T14:04:18.574-07:00
|
||||||
|
modified: 2026-02-05T12:22:25.502-07:00
|
||||||
|
tags:
|
||||||
|
- mtg
|
||||||
|
- commander
|
||||||
|
- deck
|
||||||
|
cssclasses: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
## Change Tracking
|
||||||
|
|
||||||
|
| Version | Date | Notes |
|
||||||
|
| ------- | -------- | ----------- |
|
||||||
|
| 0.1 | 7/3/2025 | Design mode |
|
||||||
|
## Notes
|
||||||
|
Inspired by [MTGGoldfish](https://www.mtggoldfish.com/price/Warhammer+40K+Commander+Decks/Ghyrson+Starn+Kelermorph#paper)
|
||||||
|
|
||||||
|
## Deck
|
||||||
|
### Creatures
|
||||||
|
|
||||||
|
| Card Name | Mana Cost | Notes |
|
||||||
|
| --------------------------------------------------------------------------------------- | --------- | --------- |
|
||||||
|
| [Ghyrson Starn, Kelermorph](https://scryfall.com/card/40k/124/ghyrson-starn-kelermorph) | {1}{U}{R} | Commander |
|
||||||
|
| | | |
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
---
|
---
|
||||||
publish: true
|
publish: true
|
||||||
permalink: /20-29 HOBBYS/24 MTG/24.13 PAUPER/Planning.md
|
permalink: /mtg/pauper/planning
|
||||||
title: Under Construction
|
title: Pauper Planning
|
||||||
created: 2026-01-29T14:04:18.357-07:00
|
created: 2026-01-29T14:04:18.357-07:00
|
||||||
modified: 2026-01-19T15:39:08.577-07:00
|
modified: 2026-02-05T12:22:25.503-07:00
|
||||||
tags:
|
tags:
|
||||||
- mtg
|
- mtg
|
||||||
cssclasses: ""
|
cssclasses: ""
|
||||||
|
|||||||
Reference in New Issue
Block a user