[nixos-configs-tcu] Add platform compatibility guards to cross-platform roles #25

Open
johno wants to merge 1 commits from bead/nixos-configs-tcu into main
Owner

Summary

Add lib.optionals pkgs.stdenv.isLinux guards to home-manager roles that contain Linux-only packages or services to prevent build failures on Darwin:

  • communication: Guard Electron apps (element-desktop, fluffychat, nextcloud-talk-desktop) that don't build on Darwin due to electron build-from-source limitations
  • kdeconnect: Guard entire config block since services.kdeconnect requires D-Bus and systemd (Linux-only)
  • sync: Guard syncthingtray package (requires Linux system tray)
  • email: Guard systemd.user.services/timers (Darwin uses launchd instead)
  • desktop: Guard Linux-only packages, services, and KDE-specific configurations including gnome-keyring, systemd services, and XDG mime associations

Test Plan

  • nix flake check passes
  • Verify Darwin builds still work (no Linux-only packages included)
  • Verify Linux builds still include all expected packages

Implements bead: nixos-configs-tcu

## Summary Add lib.optionals pkgs.stdenv.isLinux guards to home-manager roles that contain Linux-only packages or services to prevent build failures on Darwin: - **communication**: Guard Electron apps (element-desktop, fluffychat, nextcloud-talk-desktop) that don't build on Darwin due to electron build-from-source limitations - **kdeconnect**: Guard entire config block since services.kdeconnect requires D-Bus and systemd (Linux-only) - **sync**: Guard syncthingtray package (requires Linux system tray) - **email**: Guard systemd.user.services/timers (Darwin uses launchd instead) - **desktop**: Guard Linux-only packages, services, and KDE-specific configurations including gnome-keyring, systemd services, and XDG mime associations ## Test Plan - [x] nix flake check passes - [ ] Verify Darwin builds still work (no Linux-only packages included) - [ ] Verify Linux builds still include all expected packages Implements bead: nixos-configs-tcu
johno added 1 commit 2026-01-10 13:13:04 -08:00
Add lib.optionals pkgs.stdenv.isLinux guards to roles that contain
Linux-only packages or services to prevent build failures on Darwin:

- communication: Guard Electron apps (element-desktop, fluffychat,
  nextcloud-talk-desktop) that don't build on Darwin due to electron
  build-from-source limitations
- kdeconnect: Guard entire config block since services.kdeconnect
  requires D-Bus and systemd (Linux-only)
- sync: Guard syncthingtray package (requires Linux system tray)
- email: Guard systemd.user.services/timers (Darwin uses launchd)
- desktop: Guard Linux-only packages, services, and KDE-specific
  configurations including gnome-keyring, systemd services, and
  XDG mime associations

Implements bead: nixos-configs-tcu
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin bead/nixos-configs-tcu:bead/nixos-configs-tcu
git checkout bead/nixos-configs-tcu
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: johno/nixos-configs#25