Commit graph

284 commits

Author SHA1 Message Date
951ba2b850 macbook: revert libinput quirk — it permanently inhibits the touchpad
The AttrKeyboardIntegration=internal quirk caused libinput's native
DWT to permanently disable the touchpad. Keep the custom script.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-19 17:39:38 +01:00
22c1b35360 macbook: add libinput quirk for native DWT on bcm5974
Tell libinput the Apple keyboard is internal so its built-in
disable-while-typing pairing works despite keyboard and touchpad
sharing the same USB device. Keep the custom DWT script as fallback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-19 17:36:04 +01:00
20f70dd27a Fix dwt ignoring modifiers like shift, alt etc. 2026-05-19 17:31:53 +01:00
ced2ff65dc Add autoupdate. 2026-05-19 17:10:17 +01:00
d66558efae macbook: remove zen warmup service; drop XFCE fallback session
The zen-beta headless warmup was causing system unresponsiveness on
the MacBook's limited hardware. XFCE fallback is unnecessary with
Hyprland's emergency mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-19 17:09:30 +01:00
80eda70088 macbook: reduce DWT timeout from 500ms to 300ms
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 17:32:51 +01:00
8285fce24a macbook: add DWT daemon for bcm5974 touchpad
Hyprland's built-in disable-while-typing doesn't work on this
MacBook because the keyboard and touchpad share the same USB
device, breaking libinput's device pairing. Add a lightweight
Python daemon that watches keyboard events and inhibits the
touchpad via sysfs for 500ms after each keypress.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 17:30:00 +01:00
8c1f248fb9 macbook: add warmup service for Zen Browser
Start Zen headless for 3s at login to prime the page cache and shared
libraries on the slow MacBook Air hardware.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 17:02:53 +01:00
ca6699f6f4 macbook: drop unnecessary RestartSec from ghostty daemon
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 16:58:00 +01:00
b32bb900c0 macbook: always restart ghostty daemon after window close
Ghostty exits cleanly when the last window closes, so on-failure
never triggers a restart. Switch to Restart=always with a 1s delay
so the headless instance respawns and stays warm.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 16:57:05 +01:00
38bd660ddb macbook: add warmup services for Ghostty and Nemo
Start Ghostty headless and pre-warm Nemo at login so both launch
faster on the aging Haswell MacBook Air.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 16:53:12 +01:00
b713d64211 stylix: enable on media server via stylix-stable (release-25.11)
Add a stylix-stable input pinned to release-25.11 so the media server
gets Stylix theming without pulling in unstable nixpkgs. btop is now
managed by Home Manager on all hosts with Stylix auto-theming.

Desktop-only config (Zen/Vesktop CSS, GTK icons) is guarded behind
an isDesktop check in stylix.nix.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 13:53:19 +01:00
88b9c24ffb fix deprecated package names and gtk4 theme warning
- protonvpn-gui → proton-vpn
- xfce.thunar → thunar
- set gtk.gtk4.theme = null to adopt new HM 26.05 default

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 10:48:22 +01:00
4fa6dc9f88 remove VSCodium and nix-ld from config
VSCodium (with its nix-ld/LD_LIBRARY_PATH wrapper for native extension
addons) has been removed from home-manager. nix-ld is no longer needed
on Gaming or Macbook without it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 10:01:07 +01:00
f5183a7605 gaming: set max-jobs = 1 to allow trivial local builds
pkgs.writeText derivations (used by HM for config files) carry
preferLocalBuild = true, which the remote build hook declines, and
allowSubstitutes = false, which prevents cache hits.  With max-jobs = 0
these can never be realised, causing nixos-rebuild to fail.

Setting max-jobs = 1 lets these millisecond-duration text-file writes
run locally with no gaming impact.  All real compilation still goes to
the media server via the distributed build configuration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 22:32:34 +01:00
62a1f9a38c gaming: remove lutris (using Faugus instead)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 21:14:18 +01:00
49c4a93fa8 gaming: force all nix builds to remote media server
max-jobs = 0 sends every build to nordhammer.it instead of compiling
locally, so nixos updates never compete with games for resources.
builders-use-substitutes lets the server pull from binary caches directly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 21:01:00 +01:00
2156ce4138 hyprland: migrate to Lua config (Hyprland 0.55+)
Switch Gaming and Macbook to home-manager unstable which has
configType = "lua" support. Converts the full Hyprland config from
deprecated hyprlang to native Lua:

- flake: add home-manager unstable input for Gaming/Macbook
- hyprland.nix: configType = "lua", settings.config for static sections,
  extraConfig for env/startup/animations/binds/window-rules
- hosts: monitor config updated to hl.monitor({}) table format

Eliminates the windowrulev2 deprecation banner.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 20:38:30 +01:00
43c251b90d macbook: add wob OSD for keyboard backlight keys
wob (Wayland OSD Bar) runs as a systemd user service listening on a FIFO.
Keyboard brightness keybindings now pipe the new brightness percentage to
the FIFO after each adjustment, showing a progress bar overlay.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 13:48:07 +01:00
7e59e8b2e8 macbook: restore keyboard backlight to 10% on graphical login
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 13:18:26 +01:00
cdb4cbd6c0 macbook: add keyboard backlight key bindings and permissions
- Add XF86KbdBrightnessUp/Down keybindings (Macbook-only) using swayosd
  for consistent OSD behaviour with screen brightness and volume
- Enable hardware.acpilight for udev rules allowing video group to write
  to /sys/class/leds/ (keyboard backlight)
- Add fred to the video group so brightnessctl/swayosd can write backlight values

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 12:58:06 +01:00
359b6651db hosts: disable local builds on Macbook; add garnix cache for Gaming
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 12:42:27 +01:00
0be8faced3 Update hosts/FredOS-Macbook.nix 2026-05-16 02:38:20 -07:00
ceebf1b3ee 2026-05-15 22:11:57 +01:00
00e37be9db 2026-05-15 20:29:05 +01:00
f8417a5f64 2026-05-15 20:20:35 +01:00
3f84744ae4 2026-05-15 19:46:44 +01:00
5f01f22088 2026-05-15 12:17:12 +01:00
9ccc3dadf3 2026-05-15 12:12:04 +01:00
e468579019 2026-05-14 14:52:29 +01:00
8943ea3021 2026-05-14 12:54:19 +01:00
97bf8cd95a Adding support for macbook hyprland 2026-05-14 10:44:32 +01:00
34e32e7ce4 Remove shitty ollama. 2026-05-13 10:24:14 +01:00
6252eda060 Removing leftover cuda stuff and adding vscodium to server for remote access. 2026-05-13 09:35:30 +01:00
b86a92293c ollama: build against CUDA 12.2 for Quadro M2000 compatibility
The M2000's legacy_535 driver caps CUDA support at 12.2; nixpkgs'
default ollama-cuda targets 12.8 (requires driver ≥570), causing
the runner to crash immediately. Override to CUDA 12.2 with sm_52
arch target to match Maxwell GM206 compute capability.

Also open port 11434 on the mediaserver firewall for remote ollama
access from other LAN hosts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 09:23:23 +01:00
d4e38781ce Pushing updates. 2026-05-12 21:12:58 +01:00
d839fe0c3e vscodium: wire through HM programs.vscode so stylix can theme it
Stylix's vscode target injects workbench.colorCustomizations via the
HM programs.vscode module — it can't reach a system-package install.
Move vscodium to programs.vscode with mutableExtensionsDir = true so
GUI-installed extensions stay put, and preserve the six user settings
that aren't colour-related.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 21:16:47 +01:00
727eefb20a Update hosts/FredOS-Macbook.nix 2026-05-11 09:30:36 -07:00
cee4f88e9c 2026-05-06 15:56:09 +01:00
1aa6f26cab gaming: actually disable IPv6 on NetworkManager connections
networking.enableIPv6 = false only sets the system sysctl; NetworkManager
keeps re-enabling disable_ipv6=0 per-interface because connection
defaults to ipv6.method = auto. The "?" icon comes back because NM's
v6 connectivity probe races over a SLAAC ULA with no real upstream.

Forces ipv6.method = disabled in NetworkManager's connection defaults
and stops the kernel from accepting router advertisements, so v6 never
gets brought up on any new or existing connection.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-02 23:06:36 +01:00
2e527f0eb0 Update hosts/FredOS-Gaming.nix 2026-05-02 05:53:15 -07:00
91a0d296ba Update hosts/FredOS-Macbook.nix 2026-05-02 00:38:42 -07:00
c1094e7352 Fix proton-vpn rename on Gaming, restore zramSwap
The 25.11 channel renamed proton-vpn to protonvpn-gui; Macbook was
patched in an earlier commit but Gaming wasn't, breaking the build.

zramSwap goes back into common.nix as the cheap OOM-during-uncached-build
safety net — even on stable, --refresh against a freshly-bumped lock can
trigger local builds the box has no swap to absorb.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-01 13:38:27 +01:00
7eb03c2245
Update FredOS-Macbook.nix 2026-05-01 11:07:04 +01:00
5e1780b4fe mediaserver: pin kernel to 6.12 LTS for NVIDIA 535 compatibility
NVIDIA 535's kernel module won't compile against kernel 7.x — the
DMA mapping API changed in a way the 535 source doesn't handle.
6.12 LTS is the highest kernel branch that's a well-tested combo
with the 535 driver, which we need on stable's nixpkgs to retain
Maxwell support for Jellyfin NVENC.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 13:37:48 +01:00
877796173f mediaserver: use nvidia legacy_535 (available on stable channel)
legacy_580 only exists on unstable nixpkgs and isn't backported to
25.11. The Maxwell GM206 (Quadro M2000) is supported through the
535.x branch — last production driver to ship Maxwell support — so
this is a clean swap with no expected impact on Jellyfin's NVENC.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 13:31:13 +01:00
d0095af4fb gaming: disable IPv6 to stop NetworkManager connectivity flap
LAN has no v6 route, so AAAA lookups succeed but connect fails. NM's
connectivity probe was reporting "limited" at boot (GNOME's "?" icon)
until the next 5-min repoll cleared it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-28 13:00:59 +01:00
9f0b220427 Corrected sensors. 2026-04-20 11:34:49 +01:00
50b66a3262 Adding sensors 2026-04-20 11:33:29 +01:00
83eed3f8a0 Merge branch 'main' of github.com:ediblerope/nixos-config 2026-04-20 11:20:11 +01:00