aboutsummaryrefslogtreecommitdiffstats
path: root/modules/nixos
Commit message (Collapse)AuthorAgeFiles
* Enable nix-ld so uv-managed prebuilt binaries run on NixOSGravatar Tom van der Lee2026-09-241
| | | | | | | | | | uv fetches prebuilt CPython interpreters and native wheel extensions that expect a standard glibc loader path, which doesn't exist on NixOS without nix-ld. Enables it unconditionally on every NixOS host and extends its library set with common CPython native-extension dependencies not already covered by nix-ld's own defaults. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
* Detect NixOS host timezone automatically instead of defaulting to UTCGravatar Tom van der Lee2026-09-241
| | | | | | | | | Enables services.automatic-timezoned so every host's clock/calendar reflects its actual location with no manual timedatectl step or auth prompt, since GNOME's own automatic-timezone toggle isn't wired to a passwordless polkit rule on NixOS the way KDE's is. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
* Switch Docker to rootful after the rootless setup broke in practiceGravatar Tom van der Lee2026-09-241
| | | | | | | | | | | | | | | | | Rootless Docker's per-user systemd unit didn't start in a session that was already logged in before a switch, and DOCKER_HOST only reaches freshly-started shells -- both bit Tom immediately (docker run failed against the default rootful socket path, which never existed under rootless). virtualisation.docker.enable = true now runs dockerd as a standard root system service, started at boot; tom joins the docker group for sudo-less access. Trades rootless's isolation guarantee for reliability on a long-lived desktop session. Archives switch-docker-rootful and syncs the container-runtime capability's requirements and Purpose text to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HngxrvqEzq8oBEBDtrYJyB
* Add uv and a rootless Docker runtime on NixOS hostsGravatar Tom van der Lee2026-09-241
| | | | | | | | | | | | | | | | | uv joins the CLI package list. Docker's daemon is now actually managed on NixOS hosts too, in rootless mode (per-user systemd service, no docker-group root-equivalent access), rather than leaving the runtime entirely externally-managed as before -- the already-installed docker CLI picks it up automatically via DOCKER_HOST. This is a documented, narrow exception to developer-environment's client-only tools policy; kubectl and awscli2 remain unaffected. Archives add-uv-and-docker-runtime and syncs the new container-runtime capability plus the narrowed developer-environment requirement into the main specs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HngxrvqEzq8oBEBDtrYJyB
* Add Ghostty, GNOME Tweaks, and a GNOME dark-mode defaultGravatar Tom van der Lee2026-09-241
| | | | | | | | | | | | | | Ghostty joins the cross-platform desktop app list (Linux-only in nixpkgs today, filtered out on darwin by the existing availableOn check). GNOME Tweaks is gated on osConfig.services.desktopManager.gnome.enable rather than plain isLinux, since modules/home/desktop-apps.nix is also consumed by the standalone, non-NixOS tom@linux home-manager profile, which has no GNOME involved. Every NixOS host now also gets a dconf default of org/gnome/desktop/interface color-scheme=prefer-dark, left unlocked so GNOME Settings can still switch back to light mode. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HngxrvqEzq8oBEBDtrYJyB
* Enable GNOME desktop by default on every NixOS hostGravatar Tom van der Lee2026-09-181
| | | | | | | | | | | Add GDM+GNOME, NetworkManager, PipeWire audio, and CUPS+Avahi printing to modules/nixos/common.nix, applied unconditionally to every NixOS host built from this flake, per add-gnome-desktop. nix flake check remains unverified: Nix isn't installed on this machine and no live NixOS host exists yet to boot-test against. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BBSd4VBfoKHjE1HR3P8kmn
* Remove unused authorized SSH key (SHA256:Si2Y/8xh...)Gravatar Tom van der Lee2026-09-181
|
* Provision authorized SSH key for tom, fixing the lockoutGravatar Tom van der Lee2026-09-181
| | | | | | | | services.openssh.settings.PasswordAuthentication = false was enabled with no authorized key ever provisioned for the tom user, locking out all SSH access on the first real host (floep). Adds the public keys from https://github.com/tomvanderlee.keys as static literals -- a one-time fetch, not a build-time network dependency, to stay pure.
* Add most-used dev tools, sshd/firewall, bash+liquidprompt shellGravatar Tom van der Lee2026-09-171
| | | | | | | | | | modules/home/dev-tools.nix provisions the developer's evidenced most- used CLI/client tooling (gh, tmux, htop, yq-go, tree-sitter, docker, docker-compose, kubectl, awscli2). modules/home/shell.nix drops zsh/ starship/direnv in favor of bash + liquidprompt, both left entirely to the user's own dotfiles for config since home-manager can't own ~/.bashrc without conflicting with it. modules/nixos/common.nix adds sshd (key-only auth) and a firewall baseline for future NixOS hosts.
* Add cross-platform Nix flake bootstrapGravatar Tom van der Lee2026-09-171
Adds a flake providing shared modules for NixOS and standalone home-manager, a copyable NixOS host template, and the OpenSpec tooling/change scaffolding used to plan this work.