summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2021-06-18 15:28:27 +0200
committerMinijackson <minijackson@riseup.net>2021-06-18 15:28:27 +0200
commitcdd3fcb1728059393334fe69345c120623a716a1 (patch)
tree877dad5a209e42ac2e8884970ba36e9c2265e136
parenta80a089328e002a6a90fc696cd645484358aba72 (diff)
downloadnixos-config-reborn-cdd3fcb1728059393334fe69345c120623a716a1.tar.gz
nixos-config-reborn-cdd3fcb1728059393334fe69345c120623a716a1.zip
audioProduction: init with musnix
-rw-r--r--flake.lock17
-rw-r--r--flake.nix7
-rw-r--r--usecases/desktop/graphical/audio-production.nix66
3 files changed, 90 insertions, 0 deletions
diff --git a/flake.lock b/flake.lock
index 8b83eb4..8da431f 100644
--- a/flake.lock
+++ b/flake.lock
@@ -51,6 +51,22 @@
51 "type": "github" 51 "type": "github"
52 } 52 }
53 }, 53 },
54 "musnix": {
55 "flake": false,
56 "locked": {
57 "lastModified": 1623875676,
58 "narHash": "sha256-SBI5NKPKx9Y3GWQr7J3ybF4nsKeX5XL+1ENtH1diYrk=",
59 "owner": "musnix",
60 "repo": "musnix",
61 "rev": "49c1f7119919d678bc457de3fee1de11a20c5082",
62 "type": "github"
63 },
64 "original": {
65 "owner": "musnix",
66 "repo": "musnix",
67 "type": "github"
68 }
69 },
54 "neovim-master": { 70 "neovim-master": {
55 "inputs": { 71 "inputs": {
56 "flake-utils": "flake-utils_2", 72 "flake-utils": "flake-utils_2",
@@ -125,6 +141,7 @@
125 "inputs": { 141 "inputs": {
126 "flake-utils": "flake-utils", 142 "flake-utils": "flake-utils",
127 "home-manager": "home-manager", 143 "home-manager": "home-manager",
144 "musnix": "musnix",
128 "neovim-master": "neovim-master", 145 "neovim-master": "neovim-master",
129 "nixpkgs": "nixpkgs", 146 "nixpkgs": "nixpkgs",
130 "nixpkgs-unstable": "nixpkgs-unstable", 147 "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 @@
13 inputs.nixpkgs.follows = "nixpkgs-unstable"; 13 inputs.nixpkgs.follows = "nixpkgs-unstable";
14 }; 14 };
15 inputs.nur.url = "github:nix-community/NUR"; 15 inputs.nur.url = "github:nix-community/NUR";
16 inputs.musnix = {
17 url = "github:musnix/musnix";
18 flake = false;
19 };
16 20
17 outputs = inputs @ { self, nixpkgs, home-manager, ... }: { 21 outputs = inputs @ { self, nixpkgs, home-manager, ... }: {
18 22
@@ -75,6 +79,7 @@
75 music = (import ./usecases/desktop/music.nix inputs); 79 music = (import ./usecases/desktop/music.nix inputs);
76 networkManager = (import ./usecases/desktop/networking/network-manager.nix inputs); 80 networkManager = (import ./usecases/desktop/networking/network-manager.nix inputs);
77 graphical = { 81 graphical = {
82 audioProduction = (import ./usecases/desktop/graphical/audio-production.nix inputs);
78 gaming = (import ./usecases/desktop/graphical/gaming.nix inputs); 83 gaming = (import ./usecases/desktop/graphical/gaming.nix inputs);
79 }; 84 };
80 }; 85 };
@@ -137,6 +142,7 @@
137 self.nixosModules.profiles.desktop 142 self.nixosModules.profiles.desktop
138 self.nixosModules.usecases.desktop.development 143 self.nixosModules.usecases.desktop.development
139 self.nixosModules.usecases.desktop.music 144 self.nixosModules.usecases.desktop.music
145 self.nixosModules.usecases.desktop.graphical.audioProduction
140 self.nixosModules.usecases.desktop.graphical.gaming 146 self.nixosModules.usecases.desktop.graphical.gaming
141 147
142 ({ modulesPath, ... }: { 148 ({ modulesPath, ... }: {
@@ -224,6 +230,7 @@
224 self.nixosModules.usecases.common.fwupd 230 self.nixosModules.usecases.common.fwupd
225 self.nixosModules.usecases.desktop.development 231 self.nixosModules.usecases.desktop.development
226 self.nixosModules.usecases.desktop.music 232 self.nixosModules.usecases.desktop.music
233 self.nixosModules.usecases.desktop.graphical.audioProduction
227 self.nixosModules.usecases.desktop.graphical.gaming 234 self.nixosModules.usecases.desktop.graphical.gaming
228 235
229 { 236 {
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 @@
1inputs:
2
3{ config, pkgs, lib, ... }:
4
5{
6 imports = [
7 "${inputs.musnix}"
8 ];
9
10 musnix = {
11 enable = true;
12 kernel = {
13 optimize = true;
14 realtime = true;
15 latencytop = true;
16 };
17 };
18
19 users.extraUsers.minijackson = {
20 packages = with pkgs.unstable; [
21 latencytop
22
23 jack2Full
24 qjackctl
25 patchage
26 a2jmidid
27 fluidsynth
28 qsynth
29 soundfont-fluid
30 qsampler
31 ardour
32 musescore
33 hydrogen
34 lmms
35
36 # plugins
37 calf
38 fmsynth
39 zynaddsubfx
40 helm
41 distrho
42 yoshimi
43 infamousPlugins
44 carla
45 cadence
46 x42-plugins
47 x42-gmsynth
48 x42-avldrums
49 lsp-plugins
50 ninjas2
51 noise-repellent
52 surge
53 ];
54 extraGroups = [ "audio" ];
55 };
56
57 # TODO: upstream adding user-specific packages
58 environment.variables = {
59 DSSI_PATH = lib.mkForce "$HOME/.dssi:$HOME/.nix-profile/lib/dssi:/run/current-system/sw/lib/dssi:/etc/profiles/per-user/$USER/lib/dssi";
60 LADSPA_PATH = lib.mkForce "$HOME/.ladspa:$HOME/.nix-profile/lib/ladspa:/run/current-system/sw/lib/ladspa:/etc/profiles/per-user/$USER/lib/ladspa";
61 LV2_PATH = lib.mkForce "$HOME/.lv2:$HOME/.nix-profile/lib/lv2:/run/current-system/sw/lib/lv2:/etc/profiles/per-user/$USER/lib/lv2";
62 LXVST_PATH = lib.mkForce "$HOME/.lxvst:$HOME/.nix-profile/lib/lxvst:/run/current-system/sw/lib/lxvst:/etc/profiles/per-user/$USER/lib/lxvst";
63 VST_PATH = lib.mkForce "$HOME/.vst:$HOME/.nix-profile/lib/vst:/run/current-system/sw/lib/vst:/etc/profiles/per-user/$USER/lib/vst";
64 VST3_PATH = lib.mkForce "$HOME/.vst3:$HOME/.nix-profile/lib/vst3:/run/current-system/sw/lib/vst3:/etc/profiles/per-user/$USER/lib/vst3";
65 };
66}