reenable distrho, disable vital, fix easyeffects preset
This commit is contained in:
@ -24,24 +24,31 @@ in {
|
|||||||
|
|
||||||
# Instruments/Plugins
|
# Instruments/Plugins
|
||||||
vcvrack.enable = mkEnableOpt "VCV-Rack (Eurorack simulator)";
|
vcvrack.enable = mkEnableOpt "VCV-Rack (Eurorack simulator)";
|
||||||
vital.enable = mkEnableOpt "Vital (Wavetable synthesizer)";
|
# vital.enable = mkEnableOpt "Vital (Wavetable synthesizer)";
|
||||||
# distrho.enable = mkEnableOpt "Distrho (Linux VST ports"; # Cannot use with wayland
|
distrho.enable = mkEnableOpt "Distrho (Linux VST ports)";
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
faust.enable = mkEnableOpt "Faust (functional DSP language)";
|
faust.enable = mkEnableOpt "Faust (functional DSP language)";
|
||||||
bottles.enable = mkEnableOpt "Bottles (flatpak)";
|
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 = {
|
yabridge = {
|
||||||
enable = mkEnableOpt "Yabridge (Windows VST plugin manager)";
|
enable = mkEnableOpt "Yabridge (Windows VST plugin manager)";
|
||||||
autoSync = mkBoolOpt false "Sync yabridge plugins on nixos-rebuild";
|
autoSync = mkBoolOpt false "Sync yabridge plugins on nixos-rebuild";
|
||||||
};
|
};
|
||||||
|
|
||||||
noisesupression = {
|
noisesuppression = {
|
||||||
noisetorch = {
|
noisetorch = {
|
||||||
enable = mkEnableOpt "Noisetorch";
|
enable = mkEnableOpt "Noisetorch";
|
||||||
autostart = mkBoolOpt false "Autoload Noisetorch suppression";
|
autostart = mkBoolOpt false "Autoload Noisetorch suppression";
|
||||||
};
|
};
|
||||||
|
|
||||||
easyeffects.enable = mkEnableOpt "EasyEffects";
|
easyeffects = {
|
||||||
|
enable = mkEnableOpt "EasyEffects";
|
||||||
|
autostart = mkBoolOpt false "Autoload EasyEffects suppression profile";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -85,17 +92,16 @@ in {
|
|||||||
|
|
||||||
(optionals cfg.faust.enable [ faust ])
|
(optionals cfg.faust.enable [ faust ])
|
||||||
(optionals cfg.yabridge.enable [ yabridge yabridgectl ])
|
(optionals cfg.yabridge.enable [ yabridge yabridgectl ])
|
||||||
(optionals cfg.noisesupression.noisetorch.enable [ noisetorch ])
|
(optionals cfg.noisesuppression.noisetorch.enable [ noisetorch ])
|
||||||
# (optionals cfg.noisesupression.easyeffects.enable [ easyeffects ])
|
|
||||||
|
|
||||||
(optionals cfg.vcvrack.enable [ vcv-rack ])
|
(optionals cfg.vcvrack.enable [ vcv-rack ])
|
||||||
(optionals cfg.vital.enable [ vital-synth ])
|
# (optionals cfg.vital.enable [ vital-synth ])
|
||||||
# (optionals cfg.distrho.enable [ distrho ]) # Cannot use with wayland
|
(optionals cfg.distrho.enable [ distrho ])
|
||||||
];
|
];
|
||||||
|
|
||||||
services.easyeffects = mkIf cfg.noisesupression.easyeffects.enable {
|
services.easyeffects = mkIf cfg.noisesuppression.easyeffects.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
preset = "noise_supression";
|
preset = optionalString cfg.noisesuppression.easyeffects.autostart "noise_supression";
|
||||||
};
|
};
|
||||||
|
|
||||||
# NOTE: This desktop entry is created in /etc/profiles/per-user/christoph/share/applications
|
# NOTE: This desktop entry is created in /etc/profiles/per-user/christoph/share/applications
|
||||||
@ -121,7 +127,7 @@ in {
|
|||||||
# TODO: After pipewire.target or partof pipewire.service?
|
# TODO: After pipewire.target or partof pipewire.service?
|
||||||
systemd.user.services = {
|
systemd.user.services = {
|
||||||
autostart-noisetorch =
|
autostart-noisetorch =
|
||||||
(mkIf (cfg.noisesupression.noisetorch.enable && cfg.noisesupression.noisetorch.autostart) {
|
(mkIf (cfg.noisesuppression.noisetorch.enable && cfg.noisesuppression.noisetorch.autostart) {
|
||||||
Unit = {
|
Unit = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
Description = "Noisetorch noise suppression";
|
Description = "Noisetorch noise suppression";
|
||||||
@ -132,29 +138,11 @@ in {
|
|||||||
Service = {
|
Service = {
|
||||||
Environment = "PATH=${config.home.profileDirectory}/bin"; # Leads to /etc/profiles/per-user/christoph/bin
|
Environment = "PATH=${config.home.profileDirectory}/bin"; # Leads to /etc/profiles/per-user/christoph/bin
|
||||||
ExecStart = "${pkgs.noisetorch}/bin/noisetorch -i";
|
ExecStart = "${pkgs.noisetorch}/bin/noisetorch -i";
|
||||||
# ExecStop = "${pkgs.noisetorch}/bin/noisetorch -u";
|
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
|
|
||||||
Install.WantedBy = [ "graphical-session.target" ];
|
Install.WantedBy = [ "graphical-session.target" ];
|
||||||
});
|
});
|
||||||
|
|
||||||
# autostart-easyeffects =
|
|
||||||
# (mkIf cfg.noisesupression.easyeffects.enable {
|
|
||||||
# Unit = {
|
|
||||||
# Description = "EasyEffects noise suppression";
|
|
||||||
# PartOf = [ "graphical-session.target" ];
|
|
||||||
# After = [ "graphical-session.target"];
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# Service = {
|
|
||||||
# Type = "oneshot";
|
|
||||||
# Environment = "PATH=${config.home.profileDirectory}/bin"; # Leads to /etc/profiles/per-user/christoph/bin
|
|
||||||
# ExecStart = "${pkgs.easyeffects}/bin/easyeffects -l noise_suppression";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# Install.WantedBy = [ "graphical-session.target" ];
|
|
||||||
# });
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# NOTE: Important to not disable this option if another module enables it
|
# NOTE: Important to not disable this option if another module enables it
|
||||||
@ -171,13 +159,30 @@ in {
|
|||||||
(mkUnlink "${config.home.homeDirectory}/.config/carla");
|
(mkUnlink "${config.home.homeDirectory}/.config/carla");
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf cfg.vital.enable {
|
# (mkIf cfg.vital.enable {
|
||||||
linkVitalVST3 = hm.dag.entryAfter [ "writeBoundary" ]
|
# linkVitalVST3 = hm.dag.entryAfter [ "writeBoundary" ]
|
||||||
(mkLink "${pkgs.vital-synth}/lib/vst3/Vital.vst3" "${config.home.homeDirectory}/.vst3/Vital.vst3");
|
# (mkLink "${pkgs.vital-synth}/lib/vst3/Vital.vst3" "${config.home.homeDirectory}/.vst3/Vital.vst3");
|
||||||
|
# })
|
||||||
|
# (mkElse cfg.vital.enable {
|
||||||
|
# unlinkVitalVST3 = hm.dag.entryAfter [ "writeBoundary" ]
|
||||||
|
# (mkUnlink "${config.home.homeDirectory}/.vst3/Vital.vst3");
|
||||||
|
# })
|
||||||
|
|
||||||
|
(mkIf cfg.distrho.enable {
|
||||||
|
linkDistrhoLV2 = hm.dag.entryAfter [ "writeBoundary" ]
|
||||||
|
(mkLink "${pkgs.distrho}/lib/lv2" "${config.home.homeDirectory}/.lv2/distrho");
|
||||||
|
linkDistrhoVST = hm.dag.entryAfter [ "writeBoundary" ]
|
||||||
|
(mkLink "${pkgs.distrho}/lib/vst" "${config.home.homeDirectory}/.vst/distrho");
|
||||||
|
linkDistrhoVST3 = hm.dag.entryAfter [ "writeBoundary" ]
|
||||||
|
(mkLink "${pkgs.distrho}/lib/vst3" "${config.home.homeDirectory}/.vst3/distrho");
|
||||||
})
|
})
|
||||||
(mkElse cfg.vital.enable {
|
(mkElse cfg.distrho.enable {
|
||||||
unlinkVitalVST3 = hm.dag.entryAfter [ "writeBoundary" ]
|
unlinkDistrhoLV2 = hm.dag.entryAfter [ "writeBoundary" ]
|
||||||
(mkUnlink "${config.home.homeDirectory}/.vst3/Vital.vst3");
|
(mkUnlink "${config.home.homeDirectory}/.lv2/distrho");
|
||||||
|
unlinkDistrhoVST = hm.dag.entryAfter [ "writeBoundary" ]
|
||||||
|
(mkUnlink "${config.home.homeDirectory}/.vst/distrho");
|
||||||
|
unlinkDistrhoVST3 = hm.dag.entryAfter [ "writeBoundary" ]
|
||||||
|
(mkUnlink "${config.home.homeDirectory}/.vst3/distrho");
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf (cfg.yabridge.enable && cfg.yabridge.autoSync) {
|
(mkIf (cfg.yabridge.enable && cfg.yabridge.autoSync) {
|
||||||
|
Reference in New Issue
Block a user