75 lines
1.9 KiB
Nix
75 lines
1.9 KiB
Nix
|
{ config, lib, pkgs, ... }:
|
||
|
let
|
||
|
|
||
|
library = import <library> { inherit pkgs lib; };
|
||
|
|
||
|
mixxxBin = pkgs.writeShellScriptBin "mixxx"
|
||
|
"${pkgs.mixxx}/bin/mixxx --settingsPath ${config.users.users.mainUser.home}/music-library/mixxx";
|
||
|
mixxxDesktop = library.desktopFile mixxxBin { longName = "Mixxx"; };
|
||
|
|
||
|
mixxxFreeBin = pkgs.writeShellScriptBin "mixxx-free"
|
||
|
"${pkgs.mixxx}/bin/mixxx --settingsPath ${config.users.users.mainUser.home}/music-library-free/mixxx";
|
||
|
mixxxFreeDesktop = library.desktopFile mixxxFreeBin { longName = "Mixxx"; };
|
||
|
|
||
|
in {
|
||
|
|
||
|
system.custom.audio = {
|
||
|
enable = true;
|
||
|
sinks = [
|
||
|
{
|
||
|
name = "movieLimiterSink";
|
||
|
queue = [
|
||
|
{
|
||
|
# compress all sounds
|
||
|
plugin = "dyson_compress_1403";
|
||
|
label = "dysonCompress";
|
||
|
control = [
|
||
|
"0" # peak limit (dB)
|
||
|
"1" # release time (secons)
|
||
|
"0.2" # fast compression ration (unknown what that means)
|
||
|
"0.8" # compression ratio
|
||
|
];
|
||
|
}
|
||
|
{
|
||
|
# limit sound
|
||
|
plugin = "fast_lookahead_limiter_1913";
|
||
|
label = "fastLookaheadLimiter";
|
||
|
control = [
|
||
|
"20" # input gain (db)
|
||
|
"-10" # limit (db)
|
||
|
"1.1" # release time (s)
|
||
|
];
|
||
|
}
|
||
|
{
|
||
|
# avoid deep sounds
|
||
|
plugin = "dj_eq_1901";
|
||
|
label = "dj_eq";
|
||
|
control = [
|
||
|
"-9" # low gain (db) (100Hz)
|
||
|
"0" # mid gain (db) (1000Hz)
|
||
|
"0" # high gain (db) (10000Hz)
|
||
|
];
|
||
|
}
|
||
|
];
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
|
||
|
programs.custom = {
|
||
|
easytag.enable = true;
|
||
|
espeak.enable = true;
|
||
|
};
|
||
|
|
||
|
environment.systemPackages = with pkgs; [
|
||
|
audacious
|
||
|
sox
|
||
|
id3v2
|
||
|
|
||
|
mixxxBin
|
||
|
mixxxDesktop
|
||
|
mixxxFreeBin
|
||
|
mixxxFreeDesktop
|
||
|
];
|
||
|
|
||
|
}
|