dotfiles/machines/vm-audio.nix

59 lines
1.3 KiB
Nix
Raw Normal View History

2025-04-16 13:35:45 +00:00
{
lib,
pkgs,
config,
...
}:
{
imports = [
# Import environment
./vm-base.nix
];
config = {
# Machine hostname
networking.hostName = "vm-audio";
# Enabled modules
modules = {
2025-04-16 15:15:33 +00:00
pipewire.enable = true;
};
2025-04-16 15:15:33 +00:00
# Install system packages
environment.systemPackages = with pkgs; [
carla
2025-04-16 15:55:38 +00:00
wprs
2025-04-16 15:50:28 +00:00
xwayland
2025-04-16 15:15:33 +00:00
];
2025-04-16 13:23:22 +00:00
# User for audio mixing
users.users.mixer = {
2025-04-16 13:43:58 +00:00
isNormalUser = true;
2025-04-16 13:23:22 +00:00
group = "mixer";
2025-04-16 13:58:48 +00:00
extraGroups = [ "systemd-journal" ];
2025-04-16 15:04:16 +00:00
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKKxoQSxfYqf9ITN8Fhckk8WbY4dwtBAXOhC9jxihJvq jan@bulthuis.dev"
];
2025-04-16 13:23:22 +00:00
};
2025-04-16 13:24:55 +00:00
users.groups.mixer = { };
2025-04-16 13:23:22 +00:00
# wprsd service
2025-04-16 13:43:58 +00:00
systemd.user.services.wprsd = {
2025-04-16 13:35:45 +00:00
description = "wprsd Service";
2025-04-16 13:23:22 +00:00
wantedBy = [ "default.target" ];
after = [ "network.target" ];
2025-04-16 13:43:58 +00:00
unitConfig = {
ConditionUser = "mixer";
};
2025-04-16 13:23:22 +00:00
serviceConfig = {
2025-04-16 15:55:38 +00:00
# ExecStart = "${pkgs.wprs}/bin/wprsd --enable-xwayland=true --xwayland-xdg-shell-path=${pkgs.wprs}/bin/xwayland-xdg-shell";
2025-04-16 16:33:26 +00:00
ExecStart = "${pkgs.bash}/bin/bash -l -c wprsd --enable-xwayland=true"; # Use login shell to inherit environment
2025-04-16 14:37:47 +00:00
Environment = "\"RUST_BACKTRACE=full\"";
2025-04-16 13:23:22 +00:00
Restart = "always";
RestartSec = 5;
};
};
};
}