Published multiple files
All checks were successful
Build and Deploy Quartz / build (push) Successful in 26s

This commit is contained in:
Quartz Syncer
2026-02-05 09:53:27 -07:00
parent 536652b5b6
commit 125a9b1752
54 changed files with 3140 additions and 34 deletions

View File

@@ -1,8 +1,80 @@
---
publish: true
created: 2026-01-20T13:37:01.008-07:00
modified: 2026-01-21T13:02:29.790-07:00
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/VeraCrypt.md
title: VeraCrypt
created: 2026-01-29T14:04:18.863-07:00
modified: 2026-02-05T09:11:56.232-07:00
tags:
- encryption
- security
- backup
cssclasses: ""
---
Used for encrypting data, predominantly on portable devices. (see [[10-19 LIFE/13 TECH SETUP/13.12 PROCESSES/Backups]] for more details).
VeraCrypt is free open-source disk encryption software. I use it predominantly for encrypting data on portable devices (see [[10-19 LIFE/13 TECH SETUP/13.12 PROCESSES/Backups]] for more details).
## Installation
**Arch Linux:**
```bash
sudo pacman -S veracrypt
```
**Other distributions:**
Download from https://veracrypt.io/en/Downloads.html
## Usage
### Create an encrypted volume
```bash
veracrypt -c
```
Follow the interactive prompts to:
1. Choose volume type (normal or hidden)
2. Select volume location (file or device)
3. Pick encryption algorithm (AES recommended)
4. Set volume size
5. Create password
### Mount a volume
```bash
# Mount to /mnt/veracrypt1 (default slot 1)
veracrypt /path/to/volume /mnt/veracrypt1
# Mount with specific slot
veracrypt --slot=2 /path/to/volume /mnt/veracrypt2
```
### Dismount
```bash
# Dismount specific volume
veracrypt -d /mnt/veracrypt1
# Dismount all
veracrypt -d
```
## Common Options
| Option | Description |
|--------|-------------|
| `-c` | Create new volume |
| `-d` | Dismount |
| `--slot=N` | Use slot N (1-64) |
| `-t` | Text mode (no GUI) |
| `--non-interactive` | For scripts |
| `-p PASSWORD` | Provide password (insecure, avoid) |
## Portable Drive Setup
For encrypted USB drives:
1. Create a file-hosted volume on the drive
2. Copy the portable VeraCrypt binary to the drive
3. Now usable on any machine without installation
## Tips
- Use keyfiles for additional security (combine with password)
- For full disk encryption on Linux, consider LUKS instead
- Hidden volumes provide plausible deniability
- Always safely eject before removing portable drives

View File

@@ -0,0 +1,105 @@
---
publish: true
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/aerc.md
title: aerc
created: 2026-01-30T08:09:11.034-07:00
modified: 2026-02-05T09:11:56.234-07:00
tags:
- email
- terminal
cssclasses: ""
---
aerc is a terminal email client with vim-like keybindings. It's lightweight, fast, and highly configurable. Works well with [[10-19 LIFE/13 TECH SETUP/13.11 APPS/isync]] for offline IMAP sync.
## Installation
**Arch Linux:**
```bash
sudo pacman -S aerc
```
**Dependencies for full functionality:**
```bash
# HTML rendering
sudo pacman -S w3m
# or: dante (for socksify), pandoc (markdown)
```
## Configuration
Config files live in `~/.config/aerc/`:
### accounts.conf
```ini
[Proton]
source = maildir://~/.local/share/mail/proton
outgoing = smtp+plain://127.0.0.1:1025
default = INBOX
from = Your Name <you@proton.me>
copy-to = Sent
```
### aerc.conf
```ini
[ui]
index-columns = date<20,name<25,flags>4,subject<*
timestamp-format = 2006-01-02 15:04
this-day-time-format = 15:04
this-year-time-format = Jan 02
[compose]
editor = nvim
reply-to-self = false
[filters]
text/plain = colorize
text/html = w3m -T text/html -cols $(tput cols) -dump -o display_image=false
```
### binds.conf
```ini
[messages]
q = :quit<Enter>
j = :next<Enter>
k = :prev<Enter>
Enter = :view<Enter>
c = :compose<Enter>
r = :reply<Enter>
R = :reply -a<Enter>
d = :move Trash<Enter>
```
## Usage
### Navigation
| Key | Action |
|-----|--------|
| `j/k` | Next/prev message |
| `J/K` | Next/prev folder |
| `Enter` | Open message |
| `q` | Back/quit |
| `/` | Search |
### Composing
| Key | Action |
|-----|--------|
| `c` | Compose new |
| `r` | Reply |
| `R` | Reply all |
| `f` | Forward |
| `Ctrl+x` | Send (in editor) |
### Actions
| Key | Action |
|-----|--------|
| `d` | Delete/move to trash |
| `m` | Move to folder |
| `C` | Copy to folder |
| `A` | Archive |
## Tips
- Run `:help` or `:help tutorial` for built-in documentation
- Use with [[10-19 LIFE/13 TECH SETUP/13.11 APPS/isync]] for offline access and faster sync
- Pipe messages through scripts with `:pipe`

View File

@@ -0,0 +1,113 @@
---
publish: true
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/atuin.md
title: atuin
created: 2026-01-30T08:29:14.283-07:00
modified: 2026-02-05T09:11:56.236-07:00
tags:
- shell
- history
- sync
cssclasses: ""
---
Atuin replaces your shell history with a SQLite database, providing better search, sync across machines, and detailed statistics. It's magical for finding that command you ran three weeks ago.
## Installation
**Quick install (recommended):**
```bash
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
```
**Arch Linux:**
```bash
sudo pacman -S atuin
```
## Shell Integration
Add to your shell config:
**Bash** (`~/.bashrc`):
```bash
eval "$(atuin init bash)"
```
**Zsh** (`~/.zshrc`):
```bash
eval "$(atuin init zsh)"
```
**Fish** (`~/.config/fish/config.fish`):
```fish
atuin init fish | source
```
## Usage
### Interactive search
Press `Ctrl+r` (or `Up` with config) to open the interactive search:
- Type to filter
- `Enter` to execute
- `Tab` to edit before running
- `Ctrl+r` to cycle through filter modes
### Filter modes
| Mode | Description |
|------|-------------|
| Global | All history across machines |
| Host | Current machine only |
| Session | Current shell session |
| Directory | Commands run in this directory |
### Commands
```bash
# Search from CLI
atuin search "docker"
# Show stats
atuin stats
# Manual sync
atuin sync
```
## Sync Setup (Optional)
Register for free sync:
```bash
atuin register -u <username> -e <email>
atuin login -u <username>
atuin sync
```
Or self-host the sync server.
## Configuration
`~/.config/atuin/config.toml`:
```toml
[settings]
# Use up arrow for atuin instead of ctrl+r
keymap_mode = "vim-normal"
# Search mode: prefix, fulltext, fuzzy
search_mode = "fuzzy"
# Filter by default
filter_mode = "host"
# Show preview of full command
show_preview = true
# Sync settings
auto_sync = true
sync_frequency = "5m"
```
## Tips
- Atuin stores history in `~/.local/share/atuin/history.db`
- Use `atuin history list` to export/inspect
- Prefix sensitive commands with a space to exclude from history

View File

@@ -0,0 +1,116 @@
---
publish: true
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/impala.md
title: impala
created: 2026-02-05T09:36:55.334-07:00
modified: 2026-02-05T09:41:11.146-07:00
tags:
- wifi
- network
- terminal
cssclasses: ""
---
impala is a TUI for managing WiFi on Linux using iwd as the backend. Much nicer than `iwctl` for day-to-day WiFi management.
## Installation
**Arch Linux:**
```bash
sudo pacman -S impala
```
**Cargo:**
```bash
cargo install impala
```
## Prerequisites
- **iwd** must be running (not wpa_supplicant)
- NetworkManager should use iwd backend (see [[10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Network]])
- Nerd Fonts (optional) for icons
## Usage
```bash
impala
```
### Key Bindings
| Key | Action |
|-----|--------|
| `j/k` | Navigate up/down |
| `Enter` | Connect to network |
| `d` | Disconnect |
| `r` | Refresh networks |
| `s` | Scan for networks |
| `a` | Toggle Access Point mode |
| `q` | Quit |
### Connecting to Networks
1. Launch `impala`
2. Navigate to network with `j/k`
3. Press `Enter` to connect
4. Enter password if prompted
### Hidden Networks
Press `/` to search/enter a hidden network SSID.
### WPA Enterprise (802.1X)
impala supports enterprise authentication. Select the network and follow prompts for username/password or certificate.
### QR Code Sharing
Press `Q` on a connected network to display a QR code for sharing credentials.
## Configuration
Config file: `~/.config/impala/config.toml`
```toml
[keybindings]
quit = "q"
scan = "s"
connect = "Enter"
disconnect = "d"
[appearance]
# Uses terminal colors by default
```
## Integration
### Ashell
In ashell config, use impala for WiFi management:
```toml
[settings]
wifi_more_cmd = 'kitty -e bash -c "impala"'
```
### Hyprland keybind
```bash
bind = $mainMod, W, exec, kitty -e impala
```
## Troubleshooting
### "iwd not running"
```bash
sudo systemctl enable --now iwd
```
### Conflicts with NetworkManager
NetworkManager must use iwd as backend, not wpa_supplicant. See [[10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Network#NetworkManager + iwd]].
## Resources
- GitHub: https://github.com/pythops/impala

View File

@@ -0,0 +1,118 @@
---
publish: true
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/isync.md
title: isync (mbsync)
created: 2026-01-30T08:09:43.461-07:00
modified: 2026-02-05T09:12:58.913-07:00
tags:
- email
- sync
- imap
cssclasses: ""
---
isync (command: `mbsync`) is a tool for synchronizing IMAP mailboxes with local Maildir folders. Essential for offline email access with clients like [[10-19 LIFE/13 TECH SETUP/13.11 APPS/aerc]] or mutt.
## Installation
**Arch Linux:**
```bash
sudo pacman -S isync
```
## ProtonMail Integration
ProtonMail requires the Proton Bridge app for IMAP access. See the [Arch Wiki guide](https://wiki.archlinux.org/title/Isync#Integration_with_ProtonMail) for details.
### Setup with Proton Bridge
1. Install and run Proton Bridge
2. Get credentials from Bridge (it generates local IMAP/SMTP credentials)
3. Configure mbsync as below
## Configuration
`~/.mbsyncrc`:
```ini
# Global settings
Create Both
Remove Both
Expunge Both
SyncState *
# ProtonMail via Proton Bridge
IMAPAccount proton
Host 127.0.0.1
Port 1143
User your-email@proton.me
PassCmd "cat ~/.config/proton-bridge/password"
SSLType STARTTLS
CertificateFile ~/.config/proton-bridge/cert.pem
IMAPStore proton-remote
Account proton
MaildirStore proton-local
Path ~/.local/share/mail/proton/
Inbox ~/.local/share/mail/proton/INBOX
SubFolders Verbatim
Channel proton
Far :proton-remote:
Near :proton-local:
Patterns *
```
## Usage
```bash
# Sync all configured channels
mbsync -a
# Sync specific channel
mbsync proton
# Verbose output
mbsync -V proton
# Dry run (show what would happen)
mbsync -n proton
```
## Automation
### systemd timer
`~/.config/systemd/user/mbsync.timer`:
```ini
[Unit]
Description=Sync mail periodically
[Timer]
OnBootSec=1m
OnUnitActiveSec=5m
[Install]
WantedBy=timers.target
```
`~/.config/systemd/user/mbsync.service`:
```ini
[Unit]
Description=Sync mail
[Service]
Type=oneshot
ExecStart=/usr/bin/mbsync -a
```
Enable:
```bash
systemctl --user enable --now mbsync.timer
```
## Tips
- Create the local maildir first: `mkdir -p ~/.local/share/mail/proton`
- Use `PassCmd` to avoid storing passwords in config
- The `Patterns *` line syncs all folders; use specific patterns to limit
- Check sync status with `mbsync -V` for verbose output

View File

@@ -0,0 +1,115 @@
---
publish: true
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/nvim.md
title: nvim (Neovim)
created: 2026-01-30T08:08:10.433-07:00
modified: 2026-02-05T09:12:58.916-07:00
tags:
- editor
- terminal
- development
cssclasses: ""
---
Neovim is a hyperextensible Vim-based text editor. I use [LazyVim](http://www.lazyvim.org/) as a pre-configured distribution for a batteries-included experience.
## Installation
**Arch Linux:**
```bash
sudo pacman -S neovim
```
**Dependencies for full LazyVim experience:**
```bash
sudo pacman -S git lazygit ripgrep fd nodejs npm
```
## LazyVim Setup
LazyVim provides sensible defaults, plugin management, and a curated set of plugins.
**Backup existing config:**
```bash
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
```
**Install LazyVim:**
```bash
git clone https://github.com/LazyVim/starter ~/.config/nvim
rm -rf ~/.config/nvim/.git
nvim
```
On first launch, LazyVim will install all plugins automatically.
## Key Bindings (LazyVim defaults)
### General
| Key | Action |
|-----|--------|
| `Space` | Leader key |
| `Space Space` | Find files |
| `Space /` | Live grep |
| `Space e` | File explorer |
| `Space gg` | LazyGit |
### Buffers
| Key | Action |
|-----|--------|
| `Space bd` | Delete buffer |
| `H` / `L` | Prev/next buffer |
| `Space bb` | Switch buffer |
### Windows
| Key | Action |
|-----|--------|
| `Ctrl+h/j/k/l` | Navigate windows |
| `Space w-` | Split horizontal |
| `Space w\|` | Split vertical |
### Code
| Key | Action |
|-----|--------|
| `gd` | Go to definition |
| `gr` | Find references |
| `K` | Hover documentation |
| `Space ca` | Code action |
| `Space cf` | Format |
## Configuration
LazyVim config lives in `~/.config/nvim/lua/`:
### Add plugins
`~/.config/nvim/lua/plugins/custom.lua`:
```lua
return {
-- Add plugins here
{ "tpope/vim-surround" },
-- Override existing plugin config
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = { "lua", "python", "typescript" },
},
},
}
```
### Options
`~/.config/nvim/lua/config/options.lua`:
```lua
vim.opt.relativenumber = true
vim.opt.wrap = true
vim.opt.tabstop = 4
```
## Resources
- LazyVim docs: http://www.lazyvim.org/
- Neovim docs: https://neovim.io/doc/
- `:Lazy` - Plugin manager UI
- `:Mason` - LSP/formatter installer

View File

@@ -0,0 +1,119 @@
---
publish: true
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/qutebrowser.md
title: qutebrowser
created: 2026-01-31T15:46:19.286-07:00
modified: 2026-02-05T09:12:58.917-07:00
tags:
- browser
- web
- keyboard
cssclasses: ""
---
qutebrowser is a keyboard-driven web browser with vim-like keybindings. Minimal UI, maximum efficiency.
## Installation
**Arch Linux:**
```bash
sudo pacman -S qutebrowser
```
## Configuration
Config file: `~/.config/qutebrowser/config.py`
```python
# Basic settings
c.content.javascript.enabled = True
c.content.autoplay = False
c.tabs.position = "top"
c.tabs.show = "multiple"
# Search engines
c.url.searchengines = {
'DEFAULT': 'https://duckduckgo.com/?q={}',
'g': 'https://google.com/search?q={}',
'w': 'https://en.wikipedia.org/wiki/{}',
'aw': 'https://wiki.archlinux.org/?search={}',
'gh': 'https://github.com/search?q={}',
'r': 'http://localhost:9873/{}', # urlref integration
}
# Dark mode
c.colors.webpage.darkmode.enabled = True
c.colors.webpage.preferred_color_scheme = "dark"
# Privacy
c.content.cookies.accept = "no-3rdparty"
c.content.headers.do_not_track = True
```
## Key Bindings
### Navigation
| Key | Action |
|-----|--------|
| `j/k` | Scroll down/up |
| `h/l` | Scroll left/right |
| `gg/G` | Top/bottom of page |
| `H/L` | Back/forward |
| `r` | Reload |
### Links & Hints
| Key | Action |
|-----|--------|
| `f` | Follow link (current tab) |
| `F` | Follow link (new tab) |
| `;i` | Hint images |
| `;y` | Yank link URL |
### Tabs
| Key | Action |
|-----|--------|
| `J/K` | Prev/next tab |
| `d` | Close tab |
| `u` | Undo close tab |
| `o` | Open URL |
| `O` | Open URL (new tab) |
| `t` | Open in new tab |
### Commands
| Key | Action |
|-----|--------|
| `:` | Command mode |
| `/` | Search in page |
| `yy` | Yank URL |
| `pp` | Open from clipboard |
## Google Login Fix
Google sometimes blocks qutebrowser. Workaround:
See: https://github.com/qutebrowser/qutebrowser/issues/8492
```python
# Set a Chrome user agent for Google sites
c.content.headers.user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
```
Or use per-domain settings:
```python
config.set('content.headers.user_agent',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'*://accounts.google.com/*')
```
## Userscripts
Store in `~/.local/share/qutebrowser/userscripts/`
See [[10-19 LIFE/13 TECH SETUP/13.11 APPS/urlref]] for an example qutebrowser userscript integration.
## Tips
- `:help` opens the comprehensive help
- Use `:set` to explore available options
- `:bind` to see/modify key bindings
- Greasemonkey scripts work via `c.content.javascript.enabled`

View File

@@ -1,7 +1,8 @@
---
publish: true
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/urlref.md
title: urlref
created: 2026-01-19T18:15:38.889-07:00
created: 2026-01-29T14:04:18.714-07:00
modified: 2026-01-19T18:40:10.504-07:00
tags:
- web
@@ -58,7 +59,7 @@ RestartSec=5
WantedBy=default.target
```
### qutebrowser Integration
This [[qutebrowser]] integration works for me, you are on your own for other browsers!
This [[10-19 LIFE/13 TECH SETUP/13.11 APPS/qutebrowser]] integration works for me, you are on your own for other browsers!
#### Userscript
Should live at `~/.local/share/qutebrowser/userscripts`
```bash

View File

@@ -0,0 +1,104 @@
---
publish: true
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/whosthere.md
title: whosthere
created: 2026-02-05T08:46:27.958-07:00
modified: 2026-02-05T09:12:58.918-07:00
tags:
- network
- lan
- discovery
cssclasses: ""
---
whosthere is a LAN discovery tool with a modern TUI. It discovers devices on your network using mDNS, SSDP, and ARP scanning—all without requiring root privileges.
## Installation
**Arch Linux (via AUR):**
```bash
yay -S whosthere-bin
```
**Homebrew:**
```bash
brew install whosthere
```
**Go:**
```bash
go install github.com/ramonvermeulen/whosthere@latest
```
## Usage
### Interactive TUI
```bash
whosthere
```
Navigate with arrow keys or vim bindings:
- `j/k` - Move up/down
- `Enter` - Select/expand
- `q` - Quit
- `r` - Refresh scan
- `p` - Port scan selected device
### Daemon Mode
Run as a background service with HTTP API:
```bash
whosthere daemon
```
Query via API:
```bash
curl http://localhost:8080/devices
```
### CLI Output
```bash
# JSON output
whosthere --json
# One-shot scan (no TUI)
whosthere --once
```
## Features
- **mDNS discovery** - Finds devices advertising services
- **SSDP scanning** - Discovers UPnP devices
- **ARP cache reading** - Catches everything else
- **OUI lookup** - Shows manufacturer from MAC address
- **Port scanning** - Optional service discovery on found hosts
## Configuration
`~/.config/whosthere/config.yaml`:
```yaml
# Theme customization
theme:
primary: "#7aa2f7"
secondary: "#bb9af7"
# Scan settings
scan:
timeout: 5s
ports: [22, 80, 443, 8080]
# Daemon settings
daemon:
port: 8080
refresh_interval: 60s
```
## Tips
- No root required—uses unprivileged scanning techniques
- Port scanning requires explicit action; only scan devices you own
- Great for finding that Raspberry Pi you forgot the IP of
- Combine with `--json` for scripting and automation
## See Also
- GitHub: https://github.com/ramonvermeulen/whosthere

View File

@@ -0,0 +1,116 @@
---
publish: true
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/zathura.md
title: zathura
created: 2026-02-05T09:08:26.899-07:00
modified: 2026-02-05T09:12:58.920-07:00
tags:
- pdf
- documents
- reader
cssclasses: ""
---
zathura is a minimalist document viewer with vim-like keybindings. Fast, keyboard-driven, and highly customizable.
## Installation
**Arch Linux:**
```bash
sudo pacman -S zathura zathura-pdf-mupdf
```
When prompted for tesseract data (for OCR), select `tesseract-data-eng` for English.
### Backend plugins
| Plugin | Formats |
|--------|---------|
| `zathura-pdf-mupdf` | PDF, EPUB, XPS (recommended) |
| `zathura-pdf-poppler` | PDF (alternative) |
| `zathura-djvu` | DjVu |
| `zathura-ps` | PostScript |
| `zathura-cb` | Comic books (CBZ/CBR) |
## Key Bindings
### Navigation
| Key | Action |
|-----|--------|
| `j/k` | Scroll down/up |
| `h/l` | Scroll left/right |
| `Ctrl+d/u` | Half page down/up |
| `gg/G` | First/last page |
| `nG` | Go to page n |
| `Space` | Next page |
### Zoom
| Key | Action |
|-----|--------|
| `+/-` | Zoom in/out |
| a` | Fit page |
| `s` | Fit width |
### View
| Key | Action |
|-----|--------|
| `d` | Toggle dual-page |
| `r` | Rotate |
| `R` | Reload |
| `Tab` | Toggle index |
| `F11` | Fullscreen |
### Other
| Key | Action |
|-----|--------|
| `/` | Search |
| `n/N` | Next/prev match |
| `y` | Copy selection |
| `o/O` | Open file |
| `q` | Quit |
## Configuration
`~/.config/zathura/zathurarc`:
```bash
# Enable clipboard
set selection-clipboard clipboard
# Recolor for dark mode
set recolor true
set recolor-darkcolor "#ebdbb2"
set recolor-lightcolor "#282828"
# Default zoom
set zoom-min 10
set adjust-open "best-fit"
# Status bar
set statusbar-home-tilde true
# Window
set window-title-basename true
set window-title-page true
```
## Make Default PDF Viewer
```bash
xdg-mime default org.pwmt.zathura.desktop application/pdf
```
## Synctex (LaTeX integration)
For LaTeX editors that support synctex:
```bash
zathura --synctex-forward <line>:<col>:<input> <pdf>
```
Configure your editor to call this for forward search.
## Tips
- `:help` or `man zathura` for full documentation
- Use `:bmark` to bookmark pages
- Use `i` to invert colors (quick dark mode)
- Index/TOC navigation with `Tab` is very useful for long documents