From cdd3fcb1728059393334fe69345c120623a716a1 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Fri, 18 Jun 2021 15:28:27 +0200 Subject: audioProduction: init with musnix --- flake.lock | 17 +++++++ flake.nix | 7 +++ usecases/desktop/graphical/audio-production.nix | 66 +++++++++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 usecases/desktop/graphical/audio-production.nix diff --git a/flake.lock b/flake.lock index 8b83eb4..8da431f 100644 --- a/flake.lock +++ b/flake.lock @@ -51,6 +51,22 @@ "type": "github" } }, + "musnix": { + "flake": false, + "locked": { + "lastModified": 1623875676, + "narHash": "sha256-SBI5NKPKx9Y3GWQr7J3ybF4nsKeX5XL+1ENtH1diYrk=", + "owner": "musnix", + "repo": "musnix", + "rev": "49c1f7119919d678bc457de3fee1de11a20c5082", + "type": "github" + }, + "original": { + "owner": "musnix", + "repo": "musnix", + "type": "github" + } + }, "neovim-master": { "inputs": { "flake-utils": "flake-utils_2", @@ -125,6 +141,7 @@ "inputs": { "flake-utils": "flake-utils", "home-manager": "home-manager", + "musnix": "musnix", "neovim-master": "neovim-master", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", diff --git a/flake.nix b/flake.nix index eed9091..3c20cbb 100644 --- a/flake.nix +++ b/flake.nix @@ -13,6 +13,10 @@ inputs.nixpkgs.follows = "nixpkgs-unstable"; }; inputs.nur.url = "github:nix-community/NUR"; + inputs.musnix = { + url = "github:musnix/musnix"; + flake = false; + }; outputs = inputs @ { self, nixpkgs, home-manager, ... }: { @@ -75,6 +79,7 @@ music = (import ./usecases/desktop/music.nix inputs); networkManager = (import ./usecases/desktop/networking/network-manager.nix inputs); graphical = { + audioProduction = (import ./usecases/desktop/graphical/audio-production.nix inputs); gaming = (import ./usecases/desktop/graphical/gaming.nix inputs); }; }; @@ -137,6 +142,7 @@ self.nixosModules.profiles.desktop self.nixosModules.usecases.desktop.development self.nixosModules.usecases.desktop.music + self.nixosModules.usecases.desktop.graphical.audioProduction self.nixosModules.usecases.desktop.graphical.gaming ({ modulesPath, ... }: { @@ -224,6 +230,7 @@ self.nixosModules.usecases.common.fwupd self.nixosModules.usecases.desktop.development self.nixosModules.usecases.desktop.music + self.nixosModules.usecases.desktop.graphical.audioProduction self.nixosModules.usecases.desktop.graphical.gaming { diff --git a/usecases/desktop/graphical/audio-production.nix b/usecases/desktop/graphical/audio-production.nix new file mode 100644 index 0000000..eabb36d --- /dev/null +++ b/usecases/desktop/graphical/audio-production.nix @@ -0,0 +1,66 @@ +inputs: + +{ config, pkgs, lib, ... }: + +{ + imports = [ + "${inputs.musnix}" + ]; + + musnix = { + enable = true; + kernel = { + optimize = true; + realtime = true; + latencytop = true; + }; + }; + + users.extraUsers.minijackson = { + packages = with pkgs.unstable; [ + latencytop + + jack2Full + qjackctl + patchage + a2jmidid + fluidsynth + qsynth + soundfont-fluid + qsampler + ardour + musescore + hydrogen + lmms + + # plugins + calf + fmsynth + zynaddsubfx + helm + distrho + yoshimi + infamousPlugins + carla + cadence + x42-plugins + x42-gmsynth + x42-avldrums + lsp-plugins + ninjas2 + noise-repellent + surge + ]; + extraGroups = [ "audio" ]; + }; + + # TODO: upstream adding user-specific packages + environment.variables = { + DSSI_PATH = lib.mkForce "$HOME/.dssi:$HOME/.nix-profile/lib/dssi:/run/current-system/sw/lib/dssi:/etc/profiles/per-user/$USER/lib/dssi"; + LADSPA_PATH = lib.mkForce "$HOME/.ladspa:$HOME/.nix-profile/lib/ladspa:/run/current-system/sw/lib/ladspa:/etc/profiles/per-user/$USER/lib/ladspa"; + LV2_PATH = lib.mkForce "$HOME/.lv2:$HOME/.nix-profile/lib/lv2:/run/current-system/sw/lib/lv2:/etc/profiles/per-user/$USER/lib/lv2"; + LXVST_PATH = lib.mkForce "$HOME/.lxvst:$HOME/.nix-profile/lib/lxvst:/run/current-system/sw/lib/lxvst:/etc/profiles/per-user/$USER/lib/lxvst"; + VST_PATH = lib.mkForce "$HOME/.vst:$HOME/.nix-profile/lib/vst:/run/current-system/sw/lib/vst:/etc/profiles/per-user/$USER/lib/vst"; + VST3_PATH = lib.mkForce "$HOME/.vst3:$HOME/.nix-profile/lib/vst3:/run/current-system/sw/lib/vst3:/etc/profiles/per-user/$USER/lib/vst3"; + }; +} -- cgit v1.2.3