Commit Graph

155 Commits

Author SHA1 Message Date
Eli Ribble 2caa4810fd Re-remove avahi.
Turns out resolved can do it all. Tested from another machine with:

resolvectl --cache=no query quinn.local
2024-08-29 18:07:31 -07:00
Eli Ribble 601129bb48 Get mDNS through avahi and resolved working.
First off, we need port 5353 because that's where mDNS does its thing.
It's like DNS and port 53, but doubled, right?

Next, we have to enable MulticastDNS for the network in question,
specifically the "wan" interface.

Finally, we add avahi which ... does... stuff.
2024-08-29 18:02:04 -07:00
Eli Ribble ce5b4fd7d6 Clean up unifi packages
I'm not reinstalling these in this way. Ever.
2024-08-29 17:53:08 -07:00
Eli Ribble 7140f464af Remove unnecessary ipvlan experiment 2024-08-21 14:46:43 -07:00
Eli Ribble 880fe6a7a1 Checkpoint for working container addresses.
At this point I have a working system that hands out container IPv6
addresses that I can, at least, _ping_ from outside the LAN. I can't yet
get HTTP traffic.
2024-08-21 12:18:47 -07:00
Eli Ribble 574f9f7d83 Enable IPv6-level forwarding.
I think I need this, but I'm not sure.
2024-08-21 12:18:01 -07:00
Eli Ribble 803ab7bd47 Add section to get a container vlan net device.
It's not working or useful yet, but I think it's moving in that
direction.
2024-08-21 09:30:47 -07:00
Eli Ribble 2eff5cef0a Add ndisc6 for debugging ipv6 via rdisc6 2024-08-21 09:30:23 -07:00
Eli Ribble 0a9f1c5799 Add Google DNS resolution
This is a failsafe for when the Pihole is down, like now while I'm
developing its configuration.
2024-08-19 09:16:24 -07:00
Eli Ribble f44f8346f4 Get pihole listening on the local IPv4 and IPv6 addresses.
I'm not sure if the defaultNetwork subnet changes are necessary, I was trying
lots of stuff. There are some whitespace changes as well, don't get
distracted by them.

Most critically the --network=bridge is and the dns_enabled=false avoid
starting the aardvark-dns thing that podman does for internal dns on
port 53 and make it so the container gets the IPv6 address for listening
to incoming requests.
2024-08-16 17:49:32 -07:00
Eli Ribble c953a3b798 Add static local IPv6 address.
This gives me something that the router can point to for DNS resolution
for other devices on the network.
2024-08-16 17:48:20 -07:00
Eli Ribble 5848437e3f Disable the stub resolved listener.
I want pihole to bind all available addresses itself, without listing
them, so I need all the port 53s to be free on all addresses. This will
also mean that the server itself will go through pihole.
2024-08-16 17:47:25 -07:00
Eli Ribble 5bed23c073 Add lsof.
Useful tool to check what is using port 53.
2024-08-16 17:47:09 -07:00
Eli Ribble 5e9e93361a Remove the unnecessary network config options.
Turns out my router advertises enough to do the right thing without
this.
2024-08-16 16:35:49 -07:00
Eli Ribble 67cee9d1f3 Quick checkpoint of work on networking.
It cost about 2 hours to figure this out from reading the networkd.nix
definition. It doesn't actually do what I need it to do, however,
because I misunderstood what I need. Still though, I want to save it
since it was so hard-earned.
2024-08-16 16:30:53 -07:00
Eli Ribble 73c9593bfe Switch to systemd.networkd for network config.
Turns out the other method, the default method, is a series of bash
scripts (?). That's according to online documentation. By switching to
using networkd I can get proper declarative network configuration. With
this config I'm getting an IPv6 address from my router that is globally
routable, and another address that is static that I can let the router
configure for users of the local network to reach the pihole for IPv6.
2024-08-15 21:34:13 -07:00
Eli Ribble e2ff975a7c Enable mosh.
Mosh gives me the ability to deal with the fact that my connection over
my own wifi is dropping packets for up to 10 seconds at a time.
2024-08-15 21:31:37 -07:00
Eli Ribble 6271f38fff Add failed attempt at static IPv6 address.
I feel like I'm close, but this doesn't work.
The problem is when I add this no IPv6 requests can route, in or out.
2024-08-15 14:46:40 -07:00
Eli Ribble db5549cff7 Add a simple systemd unit for running the scan uploader
I've manually redacted the api key until I can figure out a solution
that I like for keeping the key out of the configuration itself.

This depends a great deal on setting up the source code in the right
place and the right way. Specifically cloning the repository to
/opt/src/scan-uploader, creating a virtual environment at
/opt/src/scan-uploader/ve and installing the package with `pip install
-e .` such that the `scan-uploader` entrypoint is properly created.
2024-07-31 17:33:53 -07:00
Eli Ribble f9fe2379f4 Add the poetry package.
Useful for developing Python code
2024-07-31 13:04:03 -07:00
Eli Ribble 777ec57f69 Add eliribble to the scanner group
Makes it easier to cleanup scans
2024-07-31 13:03:48 -07:00
Eli Ribble 8523f092d0 Set the correct timezone
Useful for setting the date and time of an upload.
2024-07-31 13:03:23 -07:00
Eli Ribble deb6c42c64 Simplify samba, make it work.
There's various things I did wrong in the first setup, but that's okay
since I was just copying from the wiki to understand how to get things
started. I could never get smbclient to connect to any of these shares
for any users.

Rather, I'm using this minimalist configuration from the samba project
itself, and I can connect to it, so long as the directory is created and
belongs to the correct group. Which it does now.

Hat tip to https://discourse.nixos.org/t/nixos-configuration-for-samba/17079
for the guidance.
2024-07-31 17:31:17 +00:00
Eli Ribble 7970d9f911 Allow pings to ensure the home is up.
Just convenient, not that unsafe.
2024-07-31 17:06:25 +00:00
Eli Ribble 4dd10a99a1 Add resolution for this server to itself.
Within my home networks home.arpa resolves to DNS for the home domain.
From there the pihole service will provide DNS for all the connected
clients and custom service names.
2024-07-31 17:05:26 +00:00
Eli Ribble 6763a973a0 Add basic Samba config for the scanner
This allows the scanner to log into samba with its own username and
password.
2024-07-31 17:04:56 +00:00
Eli Ribble b31ab6e7ca Move pihole to the RFC-based home.arpa domain 2024-07-22 19:49:22 +00:00
Eli Ribble 82dfc79b64 Open necessary firewall ports for serving web requests 2024-07-22 19:49:22 +00:00
Eli Ribble 9030577f20 Add support for StepCA for certificates 2024-07-22 19:49:22 +00:00
Eli Ribble 4b2058091b Add nginx, with basic config for pihole.
This probably should be reworked so it has a better structure, but this
will work for a first pass.
2024-07-22 19:49:22 +00:00
Eli Ribble a818c22412 Add pihole to NixOS, using NixOS container specifiers 2024-07-22 19:49:22 +00:00
Eli Ribble 2d76497a03 Add working pihole container
At least, it responds to DNS requests
2024-07-22 19:49:22 +00:00
Eli Ribble 0302155566 Add dig for debugging the pihole dns 2024-07-22 19:49:22 +00:00
Eli Ribble 4971dec157 Switch quite to podman from docker.
I'm more used to it, and I find docker's history to be questionable
2024-07-22 19:49:22 +00:00
Eli Ribble 0f12915de4 Make sync put the config files under etc/nixos
This makes it easier to add other files from other directories
2024-07-22 19:49:22 +00:00
Eli Ribble 26ebfe66bc Commence rust dev 2024-07-17 19:22:31 -07:00
Eli Ribble 7cc99cc2c7 Add Android adb, for flashing LineageOS 2024-07-15 20:28:31 -07:00
Eli Ribble 95a84af1f7 Add support for spotify client.
I like it way better than the browser client.
2024-07-15 10:32:00 -07:00
Eli Ribble 7ecb5a1237 Add a pre-defined printer for my Brother HL-L8250
Now I not only find the printer, but I can correctly send data to it, so
long as it's data the printer can consume like and image and not a raw
pdf. I got an error on my first attempt to print a pdf until I opened
GIMP and imported it that way.
2024-07-15 10:30:28 -07:00
Eli Ribble 580e4a2cfb Add printer support.
This is cobbled together from several different forum posts and is
likely suboptimal. The avahi support made the system auto-discover the
printer, but it wasn't able to send data to the printer successfully.
2024-07-15 10:29:16 -07:00
Eli Ribble 771ff35589 Add gimp and thunderbird to the laptop 2024-07-07 18:44:33 -07:00
Eli Ribble de04bdc301 Add support for tailscale. 2024-07-07 18:44:33 -07:00
Eli Ribble 28d451ba0a Add dig.
Just needed to do a bit of guest wifi network troubleshooting.
2024-07-07 18:44:33 -07:00
Eli Ribble 91f79bd42a Add tailscale to Quinn 2024-07-07 16:08:40 +00:00
Eli Ribble a1c5be4f61 Add initial configuration for Quinn.
Includes a few basics like my user, docker, network management, my suit
of CLI tools, and my attempts to get unifi-controller working.

That was essentially a failure, so unifi is mostly disabled.
2024-07-03 16:37:49 +00:00
Eli Ribble 3382795d6d Add readme for the Quinn computer 2024-07-03 16:37:30 +00:00
Eli Ribble 2a6596d8a4 Add nalai initial configuration.
Includes bluetooth, my user, printing, and the usual stable of tools.
2024-07-02 17:27:31 -07:00
Eli Ribble 16f42f829e Initial sync script
Uses the hostname to store the nixos configuration.
2024-07-02 17:27:08 -07:00
Eli Ribble 34491dc303 Add the fish shell and Python
Now we have proper tmux, once you use chezmoi to actually configure tmux
correctly.
2024-06-25 18:27:56 -07:00
Eli Ribble 7e84c8b6c8 Make neovim the default editor.
Remember to exit the current session before you'll see the changes, even
after `nixos-rebuild switch`.
2024-06-25 18:27:23 -07:00