Separate audio module into config and options
This commit is contained in:
@ -12,10 +12,10 @@ with mylib.modules; let
|
|||||||
cfgfp = config.modules.flatpak;
|
cfgfp = config.modules.flatpak;
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./flatpak.nix
|
../flatpak.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options.modules.audio = import ./options.nix;
|
options.modules.audio = import ./options.nix { inherit lib; };
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
assertions = [
|
assertions = [
|
||||||
|
@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
enable = mkEnableOpt "Audio module";
|
||||||
|
|
||||||
|
# TODO: Group these in categories (like instruments/VSTs or sth)
|
||||||
|
# TODO: Make it easier to add many yes/no options, similar to the flatpak stuff
|
||||||
|
|
||||||
|
# Hosts/Editing
|
||||||
|
carla.enable = mkEnableOpt "Carla (VST host)";
|
||||||
|
bitwig.enable = mkEnableOpt "Bitwig (Digital audio workstation)";
|
||||||
|
tenacity.enable = mkEnableOpt "Tenacity (Audacity fork)";
|
||||||
|
|
||||||
|
# Instruments/Plugins
|
||||||
|
# vcvrack.enable = mkEnableOpt "VCV-Rack (Eurorack simulator)"; # Replaced by cardinal
|
||||||
|
cardinal.enable = mkEnableOpt "Open Source VCV-Rack plugin wrapper";
|
||||||
|
# vital.enable = mkEnableOpt "Vital (Wavetable synthesizer)"; # Replaced by distrho
|
||||||
|
distrho.enable = mkEnableOpt "Distrho (Linux VST ports)";
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
faust.enable = mkEnableOpt "Faust (functional DSP language)";
|
||||||
|
bottles.enable = mkEnableOpt "Bottles (flatpak)";
|
||||||
|
|
||||||
|
# TODO: Automatically add the needed paths, depends on the bottle though
|
||||||
|
# /home/christoph/.var/app/com.usebottles.bottles/data/bottles/bottles/Audio/drive_c/Program Files/Common Files/VST3
|
||||||
|
# /home/christoph/.var/app/com.usebottles.bottles/data/bottles/bottles/Audio/drive_c/Program Files/VstPlugins
|
||||||
|
yabridge = {
|
||||||
|
enable = mkEnableOpt "Yabridge (Windows VST plugin manager)";
|
||||||
|
autoSync = mkBoolOpt false "Sync yabridge plugins on nixos-rebuild";
|
||||||
|
};
|
||||||
|
|
||||||
|
noisesuppression = {
|
||||||
|
noisetorch = {
|
||||||
|
enable = mkEnableOpt "Noisetorch";
|
||||||
|
autostart = mkBoolOpt false "Autoload Noisetorch suppression";
|
||||||
|
};
|
||||||
|
|
||||||
|
# TODO: Store easyeffects presets/config (dconf com/github/wwmm/easyeffects ?)
|
||||||
|
easyeffects = {
|
||||||
|
enable = mkEnableOpt "EasyEffects";
|
||||||
|
autostart = mkBoolOpt false "Autoload EasyEffects suppression profile";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Reference in New Issue
Block a user