# Options shared by every NixOS host (laptops and the WSL box). Imported via # baseModules in flake.nix. Host- and platform-specific settings stay in the # per-machine configs; laptop-only settings live in ./laptop.nix. { pkgs, ... }: { time.timeZone = "Europe/London"; i18n.defaultLocale = "en_GB.UTF-8"; # Store hygiene. auto-optimise-store hard-links identical files in the store # after each build (cheap dedupe; NOT a garbage collector -- there is # deliberately no automatic GC timer). The larger download buffer avoids # "buffer full" stalls when fetching big NARs over a fast link. nix.settings.auto-optimise-store = true; nix.settings.download-buffer-size = 134217728; # 128 MiB # Minimal system-level CLI available before the home-manager profile loads # (e.g. early boot / rescue). User-level tooling lives in home-manager. environment.systemPackages = with pkgs; [ git fastfetch ]; # Terminal font with powerline/Nerd glyphs. Installed on every host because # the tmux statusline (which uses these glyphs) runs everywhere, not just on # the Sway/graphical hosts. foot names it explicitly (home/sway.nix); the Mac # installs it via the Darwin config. fonts.packages = [ pkgs.nerd-fonts.jetbrains-mono ]; }