Commit Graph

116 Commits

Author SHA1 Message Date
johno-square c3c8688f31 fix(common): make ghostty.terminfo Linux-only
CI / check (push) Successful in 3m13s
2026-01-15 15:36:03 -08:00
johno 1b9df3926e Fix conflicting audio role config: remove pulseaudio, keep pipewire
CI / check (push) Has been cancelled
Remove services.pulseaudio configuration that conflicted with
services.pipewire. PipeWire replaces PulseAudio and provides
compatibility through pulse.enable.

Also added alsa.enable and alsa.support32Bit for better ALSA support.
2026-01-13 17:48:00 -08:00
johno bd98793528 feat(roles): Parameterize hardcoded values in printing, nfs-mounts, and virtualisation roles
CI / check (push) Has been cancelled
- printing role: Add configurable printerName, printerUri, and printerModel options
  to replace hardcoded Brother printer values
- nfs-mounts role: Add configurable server, remotePath, and mountPoint options
  to replace hardcoded NFS server IP (10.0.0.43)
- virtualisation role: Add configurable dockerUsers option as list type
  to replace hardcoded 'johno' docker group membership

All options have sensible defaults matching the original hardcoded values,
ensuring backward compatibility while allowing per-host customization.

Implements bead: nixos-configs-fkt
2026-01-13 17:20:59 -08:00
johno 92b6cfb710 fix(common): Add ghostty terminfo for SSH compatibility
Installs ghostty.terminfo on all NixOS machines so tmux works
when SSH'ing from a Ghostty terminal.
2026-01-13 14:09:57 -08:00
johno 056c1a1e62 feat(remote-build): Add john-endesktop as builder machine
- Enable enableBuilder role on john-endesktop
- Add john-endesktop to nix-book's builder list (maxJobs=1, speedFactor=1)
- Document SSH setup process for new clients in remote-build role

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 21:27:01 -08:00
johno c92a82b21a fix(audio): Remove conflicting pulseaudio config
The audio role had both pipewire (with pulse.enable = true) and
pulseaudio configured, which are mutually exclusive. PipeWire's
PulseAudio compatibility layer handles pulse clients, so the
services.pulseaudio block is unnecessary and causes conflicts.

Closes: nixos-configs-0vf

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 20:48:41 -08:00
johno 9e1003d4fc Add kodi role to zix790prors 2026-01-11 16:28:54 -08:00
johno 346ad3665d feat(k3s-node): Add k3s-node role and enable on john-endesktop
Add reusable k3s-node role with configurable options for server/agent
modes. Configure john-endesktop as a k3s agent joining the cluster at
10.0.0.222.

Role supports:
- Server or agent role selection
- Configurable server address and token file
- Graceful node shutdown
- Optional firewall port opening
- Cluster initialization for first server

Note: NixOS nodes must be labeled with `k3s-upgrade=disabled` to exclude
them from the system-upgrade-controller, since NixOS manages k3s upgrades
through Nix rather than in-place binary replacement.
2026-01-10 20:08:57 -08:00
johno 9973273b5e Extend nvidia role to include driver configuration
The nvidia role now handles full driver configuration instead of just
packages. Added options for open driver, modesetting, power management,
graphics settings, and driver package selection.

Updated zix790prors and wixos machine configs to use the new role
options, removing duplicated hardware.nvidia configuration blocks.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 14:39:41 -08:00
johno 425e4f4cee Extract shared NixOS/Darwin base config into roles/common.nix
Create roles/common.nix containing shared configuration between NixOS and
Darwin: timezone, base packages (git, glances, pciutils, tree, usbutils, vim),
nix settings (experimental-features, max-jobs, trusted-users), gc config,
and allowUnfree setting.

Both roles/default.nix and roles/darwin.nix now import common.nix and only
contain platform-specific configuration.
2026-01-10 11:44:58 -08:00
johno 0590dad71e [gaming] Add yarg 2026-01-02 13:43:00 -08:00
johno a1da2f5cc1 Fix jellyfinScaleFactor for .desktop entry launches 2025-12-22 12:30:35 -08:00
johno 175da48170 Fix jellyfinScaleFactor implementation in kodi role
The original implementation had several issues that prevented it from
building:
- Used buildInputs instead of nativeBuildInputs for makeWrapper
- Referenced wrong executable name (jellyfinmediaplayer vs jellyfin-desktop)
- Used wrapProgram which doesn't work with symlinks from symlinkJoin

Fixed by using makeWrapper directly with the correct executable path
after removing the symlink.

Also enabled jellyfinScaleFactor = 1.5 on boxy for UI scaling.
2025-12-22 12:17:54 -08:00
johno 0c1190f39c Add jellyfinScaleFactor option to kodi role for UI scaling 2025-12-22 12:02:15 -08:00
johno 00f05d1bb2 [i3+sway] Setup brightness controll for ddc monitors 2025-12-20 11:52:27 -08:00
johno 066eea2999 [kodi] Fix lib.warn syntax for insecure package warning
Fix syntax error by wrapping permittedInsecurePackages list with
lib.warn function call. The warning now properly displays during
evaluation about qtwebengine-5.15.19 being required for
jellyfin-media-player until it migrates to qt6.
2025-12-07 21:11:25 -08:00
johno 80633142fb [kodi] Fix jellyfin 2025-12-07 20:55:34 -08:00
johno 3029e3d9a8 [kodi] jellyfin > jellyfin-media-player 2025-12-07 20:53:59 -08:00
johno 7c877fde84 Remove mbedtls_2 workaround for dolphin packages
Dolphin-emu and dolphin-emu-primehack now use maintained mbedtls version
3.6.5 instead of unmaintained mbedtls_2. No longer need to permit insecure
packages.

Verified both packages build successfully without the workaround.
2025-12-04 21:22:49 -08:00
johno d53286e04c Re-enable packages after NixOS 25.11 upgrade
Re-enable dolphin-emu-primehack now that binary build is fixed in 25.11.
Re-enable fluffychat as security issues have been resolved in nixpkgs 25.11.

Both packages verified to build and function correctly.
2025-12-04 21:22:41 -08:00
johno 4164832eea Upgrade NixOS to 25.11 and fix Jovian module organization
- Update flake inputs from 25.05 to 25.11 (nixpkgs, home-manager, nix-darwin)
- Remove Jovian compatibility shim that's no longer needed
- Move SteamOS configuration to only import in nix-deck machine
- Fixes jovian module not found error during nixos-rebuild
2025-12-04 16:12:58 -08:00
johno f356c91fdb [gaming] Remove heavy build packages
dolphin-emu-primehack will be available as a pre-build in 25.11

retroarch-full -- in general I'm wondering of using steam>retroarch is a
better experience
2025-11-29 11:30:10 -08:00
johno 6b42612135 [gaming] Use recommended steam setup
Updated to use programs.steam recommended from the NixOS wiki
2025-11-29 11:29:43 -08:00
johno a9772259f0 [i3] Setup brightness control with ddcutil 2025-11-19 19:41:50 -08:00
johno 4f6d65316a Fixes for stable systems 2025-11-19 19:41:34 -08:00
johno 0b8e3bf527 [steamos] Add virtual malitt-keyboard 2025-11-18 08:56:05 -08:00
johno 30b616dd93 [gaming] Always include emulators 2025-11-18 08:55:13 -08:00
johno 2283b0a6df Add Steam Deck (nix-deck) configuration with Jovian-NixOS and remote building
- Add Jovian-NixOS integration for Steam Deck hardware support
- Create nix-deck machine configuration with SteamOS role
- Add jovian-compat.nix for NixOS 25.05 compatibility (remove in 25.11+)
- Create remote-build role for distributed builds
- Configure zix790prors as build host
- Configure nix-book and nix-deck to use remote builder with fallback
- Add comprehensive setup documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 16:06:20 -08:00
johno f67a12c29a [gaming] Add additional emulators 2025-11-17 15:36:20 -08:00
johno-square 5750f737f1 [darwin] Update screengrab keys
These conflict with aerospace space-management actions
2025-11-14 11:55:36 -08:00
johno-square c27518e0dc [darwin-work] Fix compost compatibility 2025-11-14 11:22:52 -08:00
johno fad6e61aac Replace customPkgs with pkgs.custom and add pkgs.unstable and flake update 2025-11-08 13:07:19 -08:00
johno d3703fc5a9 Add XDG desktop portal configuration for i3 + KDE integration
Enables proper desktop integration services when using KDE applications
in i3 window manager, including file dialogs, theme integration, and
screen sharing capabilities.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 19:01:57 -07:00
johno 569ac528a5 [zix790prors] Add i3 + fixes 2025-10-26 12:00:13 -07:00
johno 6cc8fa4f5d [printing] Ensure network is live 2025-10-25 15:05:19 -07:00
johno 67a82f14fd [nixos] Downgrade from unstable to 25.05 2025-10-25 15:05:08 -07:00
johno d3cb09040a [kodi] Fix autologin for boxy 2025-10-13 14:32:28 -07:00
johno a6961f05ca [app-launcher] Add app-launcher to boxy 2025-10-13 14:25:51 -07:00
johno-square c02b74cce4 [work] Fix conflict with salt
Configured nix-darwin to write shell configuration to .local
variants (/etc/bash.local, /etc/zshrc.local, /etc/zshenv.local) instead
of managing the main shell files. This allows Salt (corporate laptop
management) to manage /etc/bashrc, /etc/zshrc, and /etc/zshenv while
nix-darwin provides the Nix environment setup through the .local files
that Salt already sources.
2025-09-30 08:27:32 -07:00
johno-square d3664fcf9d [darwin] Add nix-darwin for work laptop
Adds nix-darwin
Simplifies emacs tree-sitter
Probably breaks vterm on linux :(
2025-09-22 17:21:45 -07:00
johno 455181365a [nvidia] Add role 2025-09-10 06:56:56 -07:00
johno b22a4952e5 [audio] Add easyeffects
Audio EQ package
2025-09-06 19:01:59 -07:00
johno 53504ffde3 [printing] Switch from bonjour 2025-08-27 06:58:02 -07:00
johno c323d1301b [gaming] ryujink>ryubing
required from prior flake update
2025-08-25 07:56:22 -07:00
johno f0bf2f2d8c [gaming] Add an emulation suboption 2025-08-20 19:27:00 -07:00
johno 38a8997448 [btrfs] Add btrfs-progs and compsize 2025-07-30 08:07:31 -07:00
johno a3c8995422 [btrfs] Add role and migrate nix-book 2025-07-29 16:14:29 -07:00
johno cc3d398963 [printing] Ensure Brother printer is found 2025-07-23 19:47:43 -07:00
johno f757ea7271 [kodi] Add kdeconnect 2025-07-19 14:55:35 -07:00
johno f8d145b495 [secrets] Remove altogether
I'm standardizing on bitwarden and rbw for secrets. No need to build out
a separate secret management system. The complexity of this was just not
worth it for my effectively single-user workflows
2025-07-13 11:08:42 -07:00