Commit graph

97 commits

Author SHA1 Message Date
Chandler Swift 85570010c6
oscar: Add .direnv to global gitignore 2024-11-30 12:55:43 -06:00
Chandler Swift 898a98ef1e
bert: Serve swiftgang.net on www instead 2024-11-30 12:55:38 -06:00
Chandler Swift ee47eb1ed2
oscar: Add include for untracked ssh_config
For example, this is useful for setting up temporary hosts that I don't
want tracked in my config. Sometimes I do this for e.g. vscodium remote
SSH.
2024-11-20 12:42:56 -06:00
Chandler Swift 85940f0474
oscar: Add home-manager ssh config 2024-11-20 11:48:45 -06:00
Chandler Swift ab8019390f
oscar: Use Kicad from PR'd branch to fix libgit2 build issue 2024-11-20 11:46:10 -06:00
Chandler Swift e02c3832a9
bert: Add lawrencedeerclub.chandlerswift.com 2024-11-20 11:28:28 -06:00
Chandler Swift 3379ea34d7
bert: Remove misplaced bigbird note from README
Don't write documentation tired, kids! I thought I was missing this, so
I had added it…to the wrong file, while similar notes were already
present in the file where they belonged!
2024-11-19 23:37:55 -06:00
Chandler Swift 690f64ae80
bert: Update README 2024-11-18 22:25:48 -06:00
Chandler Swift 40b86fb6d4
oscar: Set home-manager backupFileExtension
This was used for atuin, where I wanted to install a new config file
over an old one, but atuin kept recreating the old one if I removed it.
2024-11-18 19:43:18 -06:00
Chandler Swift b1f686c397
oscar: Add git-absorb 2024-11-18 19:43:11 -06:00
Chandler Swift 1f83c03b4f
oscar: Add prusa-slicer 2024-11-18 19:43:01 -06:00
Chandler Swift 6aa5a4a901
oscar: Add gnome-sound-recorder
Was used for recording Trahan/Brosh wedding, worked nicely. I wasn't
able to get any equivalent KDE utilities working. I should probably take
a look at that sometime.
2024-11-18 19:42:52 -06:00
Chandler Swift 0ebcaee45d
bert: Add isaacswift.com and isaac user 2024-11-18 19:42:40 -06:00
Chandler Swift 41648800ab
bigbird: Make Makefile consistent with other machines' 2024-11-13 00:43:48 -06:00
Chandler Swift b508306c66
oscar: Add forgejo git url substitution rule 2024-11-13 00:43:48 -06:00
Chandler Swift a9f501b137
oscar: Add chandler to plugdev group 2024-11-13 00:43:48 -06:00
Chandler Swift 554d5f952b
bigbird: Pass pkgs param for kathe
I'm not entirely sure how this made it past testing!
2024-11-13 00:43:48 -06:00
Chandler Swift 4a5c10849c
bert: Add preview.chandlerswift.com forwarder 2024-11-13 00:43:48 -06:00
Chandler Swift 90dff7f8f0
bigbird: Remove NetworkManager
As far as I can tell, this is just never used.
2024-11-13 00:43:45 -06:00
Chandler Swift f7c5255017
oscar: Allow unfree steam-unwrapped
Apparently this is a new requirement?

https://wiki.nixos.org/w/index.php?title=Steam&diff=prev&oldid=18248
2024-11-12 10:56:04 -06:00
Chandler Swift 0f4b0295c8
bert: add 0hats.com
Future direction: Have a systemd timer that regens this automatically,
and updates the index page accordingly.
2024-11-12 10:56:04 -06:00
Chandler Swift 9e80802351
bert: Enable pureserendipityweddings.com redirect 2024-11-12 10:56:03 -06:00
Chandler Swift 9e3c4ee13e
bert: Add handle_errors clause to all sites
It looks like this was CLOSED WONTFIX: How can we _possibly_ know that
upon an error, the developer might want us to send an indication of that
error??!!1! Snark aside (mine and his): it looks like there's not a
great way to enable sane error behavior globally :/

https://caddy.community/t/handling-errors-globally/17174/2

In the future, I should probably make this a snippet or something.
2024-11-12 10:56:03 -06:00
Chandler Swift 542b9dd68d
bert: Add home.chandlerswift.com/sheets 2024-11-12 10:56:03 -06:00
Chandler Swift 5271fe9965
bert: Add navidrome 2024-11-12 10:56:03 -06:00
Chandler Swift e9e8913fe6
bert: Add public mount from bigbird 2024-11-12 10:56:03 -06:00
Chandler Swift 0b821f6111
bert: Disable networkmanager
I wasn't actually using this anyway? 🤷
2024-11-12 10:56:03 -06:00
Chandler Swift 3e7ead9d5f
bigbird: Add README with SD card note 2024-11-12 10:56:03 -06:00
Chandler Swift 815c1ad671
bigbird: Enable ZFS autoscrub 2024-11-12 10:56:03 -06:00
Chandler Swift 5c296f9a84
bert: Enable push-to-create in Forgejo 2024-11-12 00:47:55 -06:00
Chandler Swift 0c20daac0e
bert: Add harborpaperco.com hosting 2024-11-12 00:47:23 -06:00
Chandler Swift a89a4b9b4a
bigbird: Add initial nas configuration 2024-11-11 22:37:24 -06:00
Chandler Swift a367be6426
Enable git rebase.autostash 2024-11-06 02:01:28 -06:00
Chandler Swift cdc6b0cb2a
Remove obtrusive Caddy footer from browse template 2024-11-06 01:44:36 -06:00
Chandler Swift 9fdf26756e
Make Caddy's browse template explicit 2024-11-06 01:44:04 -06:00
Chandler Swift 23ad3c1a47
Fix config for stjohnscccc.org 2024-11-06 01:22:11 -06:00
Chandler Swift 8c4a6a3c23
Add katherineandchandler.com 2024-11-06 00:00:51 -06:00
Chandler Swift c72358ace8
bert: Disable ssh password auth 2024-11-06 00:00:16 -06:00
Chandler Swift 808d65206a
Set up nix-shell/direnv 2024-11-05 23:59:10 -06:00
Chandler Swift be53e21620
Remove animal, which was replaced by bert 2024-11-05 23:54:35 -06:00
Chandler Swift fee81ed3c7
Move /srv/* into /srv/www/* 2024-11-05 23:50:59 -06:00
Chandler Swift 0e4a2c5b9d
Add forgejo 2024-11-05 23:50:58 -06:00
Chandler Swift 8afb236c52
Add swiftgang.net 2024-11-05 23:32:46 -06:00
Chandler Swift c993aa7c25
Add files.chandlerswift.com 2024-11-04 19:27:23 -06:00
Chandler Swift 3237237cdd
Reduce bootloader timeout for faster boot 2024-11-02 00:26:21 -05:00
Chandler Swift 3c8150a5aa
Fix stage2 IPv6 networking
When `ip=dhcp` is passed as a kernel param (which I assume, but don't
know for sure, just gets passed to systemd and probably then to
systemd-networkd or NetworkManager or whatever does the networking in
the initrd?), IPv6 doesn't come up. With the param, bad IPv6:

```text
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 3c:52:82:00:46:d6 brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    inet 192.168.1.20/24 brd 192.168.1.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 2601:441:8301:8af7:94e1:4d4c:73c2:ac31/64 scope global temporary dynamic
       valid_lft 322763sec preferred_lft 86330sec
    inet6 fd0a:8f9f:6f83:0:3e52:82ff:fe00:46d6/64 scope global dynamic mngtmpaddr proto kernel_ra
       valid_lft forever preferred_lft forever
    inet6 2601:441:8301:8af7:3e52:82ff:fe00:46d6/64 scope global dynamic mngtmpaddr proto kernel_ra
       valid_lft 322763sec preferred_lft 322763sec
    inet6 fe80::3e52:82ff:fe00:46d6/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
```

whereas without the param I get good (whatever that means) addresses:

```text
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 3c:52:82:00:46:d6 brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    inet 192.168.1.20/24 brd 192.168.1.255 scope global dynamic noprefixroute eno1
       valid_lft 43188sec preferred_lft 43188sec
    inet6 fd0a:8f9f:6f83::33b/128 scope global dynamic noprefixroute
       valid_lft 43190sec preferred_lft 43190sec
    inet6 2601:441:8301:8af7::33b/128 scope global dynamic noprefixroute
       valid_lft 43190sec preferred_lft 43190sec
    inet6 2601:441:8301:8af7:b572:fc6c:ba27:dcdb/64 scope global temporary dynamic
       valid_lft 322965sec preferred_lft 86235sec
    inet6 2601:441:8301:8af7:f3f0:df23:a6bb:7d25/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 322965sec preferred_lft 322965sec
    inet6 fd0a:8f9f:6f83:0:485e:f55d:fa1d:cef4/64 scope global temporary dynamic
       valid_lft 604790sec preferred_lft 86235sec
    inet6 fd0a:8f9f:6f83:0:7851:1417:807:f017/64 scope global mngtmpaddr noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::eb0c:1983:24a5:3e42/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
```

I'm honestly not entirely sure what this _should_ look like, but what I
_do_ know is that in the "bad" configuration, SSH takes an extra ~10s to
connect as it has to wait for two ~5s `No route to host` timeouts:

```console
[chandler@oscar:~]$ ssh -v root@bert
OpenSSH_9.8p1, OpenSSL 3.0.14 4 Jun 2024
debug1: Reading configuration data /home/chandler/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 5: Applying options for *
debug1: Connecting to bert [fd0a:8f9f:6f83::33b] port 22.
debug1: connect to address fd0a:8f9f:6f83::33b port 22: No route to host
debug1: Connecting to bert [2601:441:8301:8af7::33b] port 22.
debug1: connect to address 2601:441:8301:8af7::33b port 22: No route to host
debug1: Connecting to bert [192.168.1.20] port 22.
debug1: Connection established.
```

Future work: What _should_ my IPv6 config look like? Is there any way I
can keep network config stable between the initrd and the booted system?
Why is this recommended against?

> The default is false when systemd is enabled in initrd, because the
> systemd-networkd documentation suggests it.
2024-11-02 00:26:21 -05:00
Chandler Swift 4d74ca100a
Use DHCP for first stage boot
This approach was recommended by nixos.wiki, and formerly by
wiki.nixos.org, which has since switched to instead mentioning
`boot.initrd.network.udhcpc.enable = true;`. It's not entirely clear to
me which has an advantage over the other.

This kernel parameter means that the kernel itself does the DHCP
request, which is pretty neat! That seems to get set up in this file,
though I haven't tracked down the exact details:

https://github.com/torvalds/linux/blob/master/net/ipv4/ipconfig.c

It seems like udhcpc may _also_ be enabled (since networking.useDHCP is
set for the main system?), so maybe that could be disabled, but this
appears to work so I'm rolling with it for the time being!

Without the kernel param set, udhcpc tries and fails with errors like
this:

```
<<< NixOS Stage 1 >>>

loading module dm_mod...
loading module af_packet...
running udev...
Starting systemd-udevd version 255.9
bringing up network interface eno1...
acquiring IP address via DHCP on eno1...
udhcpc: started, v1.36.1
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: no lease, failing
Passphrase for /dev/disk/by-uuid/00000000-0000-0000-0000-000000000000: _
```

Compare with a working output:

```
<<< NixOS Stage 1 >>>

loading module dm_mod...
loading module af_packet...
running udev...
Starting systemd-udevd version 255.9
bringing up network interface eno1...
acquiring IP address via DHCP on eno1...
udhcpc: started, v1.36.1
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.1.20, server 192.168.1.1
udhcpc: lease of 192.168.1.20 obtained from 192.168.1.1, lease time 43200
Passphrase for /dev/disk/by-uuid/00000000-0000-0000-0000-000000000000: _
```
2024-11-01 23:50:10 -05:00
Chandler Swift d104278ad1
Add Factorio Server 2024-10-31 02:04:15 -05:00
Chandler Swift db88613987
Add basic prometheus/grafana setup 2024-10-31 01:50:48 -05:00
Chandler Swift 40bb9b51f6
Start setting up bert 2024-10-31 01:06:38 -05:00