summaryrefslogtreecommitdiff
path: root/bragi.nix
diff options
context:
space:
mode:
Diffstat (limited to 'bragi.nix')
-rw-r--r--bragi.nix29
1 files changed, 26 insertions, 3 deletions
diff --git a/bragi.nix b/bragi.nix
index a64b7fda..1ca3e605 100644
--- a/bragi.nix
+++ b/bragi.nix
@@ -1,6 +1,16 @@
1{ config, pkgs, ... }: 1{ config, pkgs, ... }:
2 2let
3{ 3 makemix = (n: {
4 wantedBy = [ "sound.target" ];
5 requires = [ "jack.service" ];
6 serviceConfig = {
7 Type = "simple";
8 ExecStart = "${pkgs.trivmix}/bin/trivmix --client mix --input 'in_${n}' --output 'out_${n}' --dir /run/jackmix_${n}";
9 User = "jack";
10 Group = "audio;"
11 };
12 });
13in {
4 imports = 14 imports =
5 [ 15 [
6 ./bragi-hw.nix 16 ./bragi-hw.nix
@@ -25,7 +35,17 @@
25 35
26 nixpkgs.config.packageOverrides = pkgs: 36 nixpkgs.config.packageOverrides = pkgs:
27 { 37 {
28 trivmix = pkgs.callPackage ./customized/trivmix.nix {}; 38 trivmix = let trivmix = pkgs.callPackage ./customized/trivmix.nix {}; in
39 stdenv.mkDerivation {
40 name = "trivmix-wrapper";
41 nativeBuildInputs = [ pkgs.makeWrapper ];
42 buildCommand = ''
43 mkdir -p $out/bin
44 makeWrapper ${trivmix}/bin/trivmix $out/bin/trivmix \
45 --run "umask 0" \
46 --set JACK_PROMISCUOUS_SERVER 1
47 '';
48 };
29 jack2 = pkgs.callPackage ./customized/jack2.nix {}; 49 jack2 = pkgs.callPackage ./customized/jack2.nix {};
30 mpd = pkgs.callPackage ./customized/mpd.nix { 50 mpd = pkgs.callPackage ./customized/mpd.nix {
31 gmeSupport = false; 51 gmeSupport = false;
@@ -82,6 +102,9 @@
82 }; 102 };
83 }; 103 };
84 104
105 systemd.services."trivmix_0" = (makemix 0);
106 systemd.services."trivmix_1" = (makemix 1);
107
85 services.mpd = { 108 services.mpd = {
86 enable = true; 109 enable = true;
87 musicDirectory = "/media/odin/music"; 110 musicDirectory = "/media/odin/music";