diff options
| -rw-r--r-- | bragi.nix | 29 | ||||
| -rw-r--r-- | customized/trivmix.nix | 7 |
2 files changed, 30 insertions, 6 deletions
| @@ -1,6 +1,16 @@ | |||
| 1 | { config, pkgs, ... }: | 1 | { config, pkgs, ... }: |
| 2 | 2 | let | |
| 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 | }); | ||
| 13 | in { | ||
| 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"; |
diff --git a/customized/trivmix.nix b/customized/trivmix.nix index aefc09e5..6c4417fd 100644 --- a/customized/trivmix.nix +++ b/customized/trivmix.nix | |||
| @@ -1,16 +1,17 @@ | |||
| 1 | # This file was auto-generated by cabal2nix. Please do NOT edit manually! | 1 | # This file was auto-generated by cabal2nix. Please do NOT edit manually! |
| 2 | 2 | ||
| 3 | { cabal, filepath, hinotify, jack, optparseApplicative | 3 | { cabal, filepath, hinotify, jack, optparseApplicative |
| 4 | , fetchgit | ||
| 4 | , transformers | 5 | , transformers |
| 5 | }: | 6 | }: |
| 6 | 7 | ||
| 7 | cabal.mkDerivation (self: { | 8 | cabal.mkDerivation (self: { |
| 8 | pname = "trivmix"; | 9 | pname = "trivmix"; |
| 9 | version = "0.0.0"; | 10 | version = "0.1.0"; |
| 10 | src = fetchgit { | 11 | src = fetchgit { |
| 11 | url = git://git.yggdrasil.li/trivmix; | 12 | url = git://git.yggdrasil.li/trivmix; |
| 12 | rev = "bd7874ef606ae78bb8b626bd01906481feb784d6"; | 13 | rev = "5e46af12608b35b73b7ac1f83e59585671d19e48"; |
| 13 | sha256 = "284f2b38daf7685ad9d92f39872cdf78c870b1997a8d8ac027fd75d187a505ea"; | 14 | sha256 = "4e78ddb3a3118ac99f64a927cc3166e2c5b898ac31242ec7b5494d8efd3e8ec4"; |
| 14 | }; | 15 | }; |
| 15 | isLibrary = false; | 16 | isLibrary = false; |
| 16 | isExecutable = true; | 17 | isExecutable = true; |
