Refactor the streaming display logic for the 14900k host to use the
`streamingDisplay` configuration object directly instead of separate
variables. This simplifies the monitor layout logic for both Niri and
Hyprland.
Additionally, remove the fragile `sunshineOutputIndex` option in favor
of using the stable connector name for Sunshine's `output_name`. This
prevents issues where numeric monitor indices drift after hotplugging.
The change also includes an explicit encoder list for Sunshine to avoid
probing for AV1 on hardware that does not support it.
Move the nixdesk jellyfin NFS client configuration from individual
host services to a centralized NixOS module in `modules/system/nfs/`.
This change:
- Creates `modules/system/nfs/default.nix` containing the `nixdeskJellyfin`
flake module.
- Removes redundant NFS client definitions from `modules/hosts/nix-server/`
and `modules/hosts/r5500/`.
- Updates `modules/hosts/r5500/configuration.nix` to use the new
centralized module.
- Cleans up unused local disk configuration in `modules/hosts/14900k/`.
Add various UI and system configuration parameters to dms-defaults,
including matugen contrast, widget styling, hyprland layout overrides,
elevation settings, battery indicator options, and workspace color
customizations. Also update plugin settings to include a Home Assistant
refresh counter.
Add a private module to enable MediaTek MT7927 (Filogic 380) support.
This includes a firmware path fix for Bluetooth and a systemd service
to force-load patched out-of-tree kernel modules, bypassing in-tree
drivers that lack support for this hardware on nixos-unstable.
- Added `hermes` module to integrate the Hermes agent into the flake.
- Introduced new `ai.nix` module for Ollama service configuration, enabling AI capabilities.
- Updated `flake.lock` to include new dependencies and revisions for `hermes`, `npm-lockfile-fix`, and other related packages.
- Refactored existing flake structure to improve organization and maintainability.
- Enabled `nix-ld` in the host configuration for enhanced linking capabilities.
- Added a new `streaming-display.nix` module to configure a headless 4K virtual output for Sunshine and Moonlight.
- Introduced a Python script `generate-virtual-edid.py` to create a virtual display EDID with 4K capabilities.
- Updated `configuration.nix` to integrate the new streaming display module and enable related services.
- Modified `displays.nix` to accommodate the new streaming display settings and ensure compatibility with existing GPU passthrough configurations.
- Introduced a new `justfile` for managing DMS-related tasks, including a recipe for syncing live DMS configuration.
- Added a `devshell.nix` file to set up a development environment with necessary packages and shell hooks for DMS.
- Updated DMS settings to replace `defaultSettingsFile` with `defaultSeedDir` for improved configuration management.
- Created a new script `sync-seed.sh` to facilitate syncing DMS settings from the live configuration to host-specific directories.
- Enhanced documentation and examples for DMS configuration and usage.
- Introduced multiple DMS plugins including ambient sound, calculator, home assistant, dropdown menu, OCR scanner, and more.
- Updated flake.nix to include new plugin URLs and configurations.
- Enhanced the DMS home-manager module to support third-party plugins and their settings.
- Added keybindings for new plugins in the Niri configuration.
- Updated default settings to include new plugins and their visibility options.
- Introduced a new option `defaultSettingsFile` in the DMS configuration to allow host-specific first-run settings.
- Updated the home-manager module to read from the specified settings file if provided, otherwise falling back to the bundled defaults.
- Enhanced the documentation in the default settings file to clarify its purpose and usage.
- Added configuration for media stack on r5500, including paths for Jellyfin, Sonarr, Radarr, and other media services.
- Integrated NFS client for accessing Jellyfin libraries from nixdesk.
- Established Docker services for Dispatcharr and Organizr, including necessary user and group setups.
- Created systemd services for managing media directories and ensuring proper permissions.