Files
Ryan Yin e4c2548a93 refactor: replace redundant mkForce with plain values and mkDefault
Each of these overrode a value nothing else set at a higher priority:

- qemu-guest: btrbk, hardwareTools and cloud-init have no competing
  definition on the guests.
- mdns: nixpkgs' sunshine module sets avahi.publish.* with mkDefault.
- computer-use: i18n now sets the time zone with mkDefault.
- darwin terminal: the shared ghostty/kitty font sizes are now mkDefault.
- shoukei: sunshine is mkDefault false in remote-desktop.nix, zram's
  memoryPercent is mkDefault 50; supportedFilesystems now merges instead
  of discarding the fsType entries other modules add.
- youko: nothing enables docker.
- nixpak: pasta.enable and sockets.pipewire are mkDefault in the shared
  modules, sockets.pulse already was.

Every NixOS host's toplevel drvPath is unchanged; on fern and frieren the
terminal font sizes and time zone evaluate to the same values.

Assisted-by: Claude Code (claude-opus-5-5)
2026-11-01 10:14:27 -06:00

58 lines
1.6 KiB
Nix

# MuseScore policy: scores and exports use common user directories. Audio uses
# ALSA via the host PipeWire plugin, MIDI uses the ALSA sequencer, and the UI
# runs through XWayland.
{
sloth,
...
}:
{
imports = [
./desktop-base.nix
./network.nix
];
pasta.mode = "isolate";
portalGroups = {
fileChooser = true;
openUri = true;
notifications = true;
print = true;
inputMethod = true;
};
desktopIntegration = {
notifications = true;
accessibility = true;
};
bubblewrap = {
sockets = {
# MuseScore 4's nixpkgs launcher selects Qt's XCB backend. Niri provides
# that through XWayland, so expose the X11 socket and credentials.
x11 = true;
# MuseScore speaks ALSA; the host ALSA configuration forwards its
# default PCM to PipeWire, so expose the PipeWire socket for audio.
pulse = false;
pipewire = true;
};
bind.rw = [
(sloth.mkdir (sloth.concat' sloth.homeDir "/.config/MuseScore"))
(sloth.mkdir (sloth.concat' sloth.homeDir "/.local/share/MuseScore"))
sloth.xdgDocumentsDir
sloth.xdgDownloadDir
sloth.xdgMusicDir
sloth.xdgPicturesDir
];
# Use the host's ALSA configuration, which routes the default PCM
# through PipeWire. Only the sequencer node is needed for MIDI.
bind.ro = [
"/etc/alsa"
"/etc/static/alsa"
];
bind.dev = [ "/dev/snd/seq" ];
env = {
DISPLAY = sloth.envOr "DISPLAY" "";
XAUTHORITY = sloth.envOr "XAUTHORITY" (sloth.concat' sloth.homeDir "/.Xauthority");
QT_QPA_PLATFORM = "xcb";
MUSESCORE_FORCE_ALSA = "1";
};
};
}