Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins
|
2026-09-28
| ||
| 16:40 |
nitrokey auth: fix PAM fallback and authfile registration bugs
EL10 pam_u2f has no nullok — use nouserok, and make the control flag sufficient (required fails the whole stack without a token, hanging GDM/sudo). Registration: pamu2fcfg already emits '<user>:<handle>,...' — the scripts were prepending the username again, producing a malformed authfile that silently matched nothing (this broke the first real deployment). Stop double-prefixing in setup_nitrokey.sh and nitrokey-register.sh; also stop touching/chmod'ing the authfile before the atomic install, drop the dead for-loop, and fix the wrong -i flag. Patch PAM files in place instead of prepending the include, keep '-auth optional' lines (GNOME keyring), and verify the fragment got included — auto-revert when no auth line is found. leaf check-in: e7c348d5f9 user: andrew tags: master, trunk | |
| 06:51 | Merge server-side README update (744649f) check-in: 843fd996a1 user: andrew tags: master, trunk | |
| 06:30 | update the README with latest configs check-in: 744649f18f user: andrew tags: master, trunk | |
| 06:26 |
Fix unbound variables in patch_pam (set -u aborted mid-setup)
patch_pam declared unused $2/$3 params while callers passed only one, awk -v referenced shell $name/$frag inconsistently, and the idempotency check grepped a dangling $marker. Verified with full sandboxed dry run: all three PAM files patched correctly, idempotent rerun, --remove restores .orig files. Real run enroll failed at patch_pam before this fix. check-in: 98a20bffeb user: andrew tags: master, trunk | |
| 06:06 | almalinux: nitrokey as default auth (LUKS FIDO2, login/sudo via pam_u2f) with password fallback; docs + setup/register scripts, nothing applied to system yet check-in: 3704b29dd0 user: andrew tags: master, trunk | |
| 05:00 | pull our rpms during install check-in: fd741b828a user: andrew tags: master, trunk | |
| 03:59 | add almalinux setup script check-in: abd6c64708 user: andrew tags: master, trunk | |
|
2026-09-27
| ||
| 19:26 | fish: add ~/.local/bin to PATH if present; also use hx on almalinux check-in: 97361c38eb user: andrew tags: master, trunk | |
|
2026-08-18
| ||
| 23:30 | force openssh server and systemd-timesyncd check-in: deae69862d user: sourcehut@lewman.us tags: master, trunk | |
| 23:27 | it's hx on ubuntu, not helix check-in: b84126775f user: sourcehut@lewman.us tags: master, trunk | |
| 18:18 | remove nft.local from the setup scripts check-in: 1e91b1aa9b user: sourcehut@lewman.us tags: master, trunk | |
|
2026-08-02
| ||
| 03:06 |
Fix ssh.nft Option A to use inline sets instead of top-level tables
Table definitions can't appear inside a chain block (where the include happens). Replaced with inline address sets that work directly in-chain. check-in: e53f7b9f25 user: sourcehut@lewman.us tags: master, trunk | |
| 02:57 | remove the old nft local and command shell check-in: 1a6221806f user: sourcehut@lewman.us tags: master, trunk | |
| 02:44 | create matrix.nft ruleset check-in: a1afb050a2 user: sourcehut@lewman.us tags: master, trunk | |
| 02:42 |
Fix nftables service files to use declarative config syntax
Service .nft files used `add rule` (command syntax) but were included via `include` in a declarative config, which is invalid. Moved includes inside the chain in base.nft and converted service rules to bare declarative expressions. Also commented out all ssh.nft rules as a choose-one template and fixed install instructions in nft.local. check-in: 73ccad5bb1 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-07-08
| ||
| 07:46 |
fix ipv6 slaac renewal failure in pf common.rules
ICMPv6 pass-in rule used "to $ext_if" but Router Advertisements are sent to multicast ff02::1, which doesn't match interface unicast addresses. This silently dropped unsolicited RAs after the initial state expired, preventing SLAAC address renewal. Also split the scrub rule to avoid applying random-id (IPv4-only) to IPv6 traffic. check-in: fc3738a23c user: sourcehut@lewman.us tags: master, trunk | |
|
2026-06-30
| ||
| 21:51 |
Rename FreeBSD upgrade script to .fish and harden for x86-only
The script uses fish syntax but had a .sh extension, causing bashls parse errors. Rename to .fish to reflect the actual interpreter. Additional fixes: - Add OS guard at the top: exit early if not FreeBSD 15.0 or newer - Remove dead ARM64 code path (script is x86-only); hardcode bootx64.efi - Simplify minor version parsing (drop unnecessary capture group + pipe) - mkdir -p EFI destination dirs before copying loader.efi - Add error checks after both loader.efi cp commands check-in: ccba8f8022 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-06-21
| ||
| 06:08 | Simplify AGENTS.md to core essentials check-in: d1474244bd user: sourcehut@lewman.us tags: master, trunk | |
| 05:59 | make the setup scripts 755 check-in: 1b44562fb5 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-06-20
| ||
| 06:25 |
Refine Ubuntu setup with full-upgrade and flatpak flathub integration
Replace apt-get upgrade with full-upgrade to handle package removals. Install flatpak separately before other packages, add flathub remote, and install gnome-software-plugin-flatpak for GUI integration. check-in: da9e3fa006 user: sourcehut@lewman.us tags: master, trunk | |
| 05:52 | add ubuntu snap removal commands for history check-in: a30f8a2767 user: sourcehut@lewman.us tags: master, trunk | |
| 05:49 |
Add flatpak to Ubuntu setup package list
Installs flatpak via apt alongside the rest of the standard tools so the system has a snap-free alternative package manager ready. check-in: f3381d6bf4 user: sourcehut@lewman.us tags: master, trunk | |
| 05:48 |
Enforce strict SSH moduli size requirement across all setup scripts
Change the awk filter from >= 3071 to > 3071 so only moduli strictly larger than 3071 (i.e. 3072 or higher) are kept. This aligns with the intended "3072-bit minimum" policy. Affected: Arch, Fedora, and FreeBSD setup scripts. check-in: 86031511bf user: sourcehut@lewman.us tags: master, trunk | |
| 05:48 |
Add Ubuntu setup script with snap removal and hardening
Creates ubuntu/setup_ubuntu.sh that: - Purges snap and blocks reinstall via apt pin - Installs standard tooling via apt (btop, fastfetch, fish, helix, etc.) - Regenerates SSH host keys (ed25519 + RSA-4096) - Applies the same hardening as Arch: nftables, journald limits, systemd-resolved DNS, kernel lockdown, and service disables check-in: 6d8c9073cd user: sourcehut@lewman.us tags: master, trunk | |
|
2026-06-19
| ||
| 07:14 |
Fix nftables syntax errors by adding required semicolons
nftables requires semicolons after flush ruleset, include statements, and add rule commands when not inside a table block. Without them the parser fails with "unexpected include" and "unexpected end of file". check-in: d589d4f160 user: sourcehut@lewman.us tags: master, trunk | |
| 07:06 |
Fix Arch setup to tolerate missing services gracefully
Add error suppression to systemctl disable/stop calls for avahi, cups, and resolved so the script succeeds on minimal installs where these units may not exist. check-in: bd2f09d22d user: sourcehut@lewman.us tags: master, trunk | |
| 07:05 |
Fix Arch setup script bugs and harden security defaults
- Generate the missing RSA-4096 SSH host key required by sshd_config and include 3071-bit moduli instead of filtering them out. - Correct nftables source paths and enable systemd-resolved so DNS works immediately after the script finishes. - Make config appends idempotent and use strict bash error handling to prevent partial system states on re-runs or pipeline failures. check-in: 05eef99a1f user: sourcehut@lewman.us tags: master, trunk | |
| 06:58 | draft archinstall.json check-in: 9bbd042996 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-06-17
| ||
| 21:46 |
Add automated FreeBSD upgrade script with boot environment snapshots
Replaces the minimal upgrade snippet with a full fish script that safely upgrades FreeBSD using the base system packages method. - Requires a version argument (e.g. 15.1-RELEASE) - Creates a ZFS boot environment snapshot for rollback - Automatically computes ABI and OSVERSION from the version string - Detects UEFI vs BIOS and upgrades the boot loader appropriately - Prompts for confirmation before running destructive gpart commands - Checks for .pkgnew files that need manual merging check-in: b9f24f7ba4 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-06-12
| ||
| 07:16 |
restructure nftables with modular includes
Split monolithic nftables.conf into separate rule files under nft.d/, mirroring the pf/ organization. Added base, syncthing, ssh, http, and irc rule sets. Updated arch setup script to copy the new directory structure. check-in: 43d230dc69 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-05-31
| ||
| 05:17 | switch to openrsync check-in: 66e324b2bd user: sourcehut@lewman.us tags: master, trunk | |
|
2026-05-16
| ||
| 04:24 | really fix the grep check-in: 683577e583 user: sourcehut@lewman.us tags: master, trunk | |
| 04:15 | support cachyos too check-in: 7299441fa7 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-05-15
| ||
| 21:22 | add endeavourOS for the user who asked for it. clean up the grep ID to match the primary OS check-in: 5c3deac9a8 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-05-04
| ||
| 04:27 | add irc rules check-in: 1193b3a0dd user: sourcehut@lewman.us tags: master, trunk | |
|
2026-05-02
| ||
| 23:38 | update setup_fedora.sh to support both Fedora Workstation and Silverblue check-in: b6def8d6ac user: sourcehut@lewman.us tags: master, trunk | |
|
2026-04-15
| ||
| 08:10 | update resolved to use same dns servers as bsd remove errant comment from common.rules check-in: b32ac6cb01 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-04-11
| ||
| 17:06 | corrected paths, only use one set of OS instructions check-in: 4c8bf20e25 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-04-10
| ||
| 22:08 | use modulate state for tcp consistently check-in: d69ec3e517 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-04-04
| ||
| 04:28 | update path to files, log blocked packets, set mtu to 1500 check-in: c32129da8c user: sourcehut@lewman.us tags: master, trunk | |
| 04:18 | docs: add AGENTS.md with coding guidelines check-in: 45c434b857 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-03-17
| ||
| 18:39 |
refactor(fish): replace every alias with a function
All remaining alias statements have been turned into proper fish functions, removing any 'alias' keyword from the config file. This improves maintainability and follows fish best‑practice conventions. check-in: eafa7324a4 user: sourcehut@lewman.us tags: master, trunk | |
| 18:24 |
fix(fish): drop ldot alias, keep only l. function for hidden files
- Removed the now‑redundant alias from the Nerd‑Font block. - function remains, providing a reliable way to list only dotfiles regardless of Nerd‑Font presence. - No functional changes beyond the cleanup of the unused alias. check-in: 83351b5166 user: sourcehut@lewman.us tags: master, trunk | |
| 18:13 | clean up tmux.conf, remove comments, update for xterm check-in: 77c4acaad6 user: sourcehut@lewman.us tags: master, trunk | |
| 18:10 |
chore(tmux): modernize UTF-8 handling and set xterm-256color terminal
- Remove deprecated and options (UTF‑8 is always on in tmux ≥2.2). - Add comment explaining automatic UTF‑8 support. - Set to for proper 256‑color support. - Keep existing theme and status settings unchanged. check-in: 2a573e8f46 user: sourcehut@lewman.us tags: master, trunk | |
| 16:46 | enable utf-8 inside tmux by default check-in: 2fef9c0a99 user: sourcehut@lewman.us tags: master, trunk | |
| 16:46 | fix up function name for nerd_font detection check-in: 2714930df9 user: sourcehut@lewman.us tags: master, trunk | |
| 01:12 |
feat(fish): add Nerd Font detection and conditional ls/eza aliases
- Introduce __has_nerd_font function that checks for installed Nerd Fonts via fc-list. - Conditionally set ls‑style aliases (la, ll, lt, l.) only when a Nerd Font is present. - Prefer eza with icons if available; otherwise fall back to GNU ls with -F flag. - Improves visual directory listings while keeping compatibility on systems without Nerd Fonts. check-in: c8d87b7552 user: sourcehut@lewman.us tags: master, trunk | |
|
2026-03-07
| ||
| 07:41 | replace exa with eza check-in: f0cb8b15bd user: sourcehut@lewman.us tags: master, trunk | |
|
2026-03-05
| ||
| 07:10 | don't overwrite hx if helix/EDITOR is already hx check-in: f3ad0a4e67 user: sourcehut@lewman.us tags: master, trunk | |