mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-02-01 04:57:55 +00:00
37 lines
1.2 KiB
Nix
37 lines
1.2 KiB
Nix
|
# I create "music" (with no experience whatsoever) so here's my "music" workflow.
|
||
|
{ config, options, lib, pkgs, ... }:
|
||
|
|
||
|
with lib;
|
||
|
|
||
|
let
|
||
|
cfg = config.modules.desktop.music;
|
||
|
in {
|
||
|
options.modules.desktop.music =
|
||
|
let mkBoolDefault = bool: mkOption {
|
||
|
type = types.bool;
|
||
|
default = bool;
|
||
|
}; in {
|
||
|
enable = mkBoolDefault false;
|
||
|
composition = mkBoolDefault false;
|
||
|
production = mkBoolDefault false;
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
home.packages = with pkgs;
|
||
|
(if cfg.composition.enable then [
|
||
|
musescore # A music composer for creating musical cheatsheets.
|
||
|
soundfont-fluid # A soundfont for it or something.
|
||
|
supercollider # Programming platform for synthesizing them 'zics.
|
||
|
] else []) ++
|
||
|
|
||
|
(if cfg.production.enable then [
|
||
|
ardour # A DAW focuses on hardware recording but it can be used for something else.
|
||
|
carla # A plugin host useful for a consistent hub for them soundfonts and SFZs.
|
||
|
helm # A great synthesizer plugin.
|
||
|
|
||
|
# As of 2020-07-03, lmms has some trouble regarding Qt or something so at least use the "unstable" channel just to be safe.
|
||
|
# lmms
|
||
|
] else []);
|
||
|
};
|
||
|
}
|