diff options
author | Minijackson <minijackson@riseup.net> | 2021-06-18 15:28:27 +0200 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2021-06-18 15:28:27 +0200 |
commit | cdd3fcb1728059393334fe69345c120623a716a1 (patch) | |
tree | 877dad5a209e42ac2e8884970ba36e9c2265e136 | |
parent | a80a089328e002a6a90fc696cd645484358aba72 (diff) | |
download | nixos-config-reborn-cdd3fcb1728059393334fe69345c120623a716a1.tar.gz nixos-config-reborn-cdd3fcb1728059393334fe69345c120623a716a1.zip |
audioProduction: init with musnix
-rw-r--r-- | flake.lock | 17 | ||||
-rw-r--r-- | flake.nix | 7 | ||||
-rw-r--r-- | usecases/desktop/graphical/audio-production.nix | 66 |
3 files changed, 90 insertions, 0 deletions
@@ -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", |
@@ -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 @@ | |||
1 | inputs: | ||
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 | } | ||