realtime musio production module

This commit is contained in:
Ivan Kirilov Dimitrov 2024-07-05 00:10:36 +02:00
parent 338fd6e92c
commit e7bc95e70a
No known key found for this signature in database
GPG Key ID: 0BDAD4B211C49294
4 changed files with 55 additions and 1 deletions

View File

@ -418,6 +418,26 @@
"type": "github" "type": "github"
} }
}, },
"musnix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1719810225,
"narHash": "sha256-/2loMwYYMrBYSOWjNJ253xlwYhnQZ+PVmyE7NDI/xJA=",
"owner": "musnix",
"repo": "musnix",
"rev": "2197ffe9fa4c2b62e33d656ee443b086dbb4f151",
"type": "github"
},
"original": {
"owner": "musnix",
"repo": "musnix",
"type": "github"
}
},
"neovim-nightly-overlay": { "neovim-nightly-overlay": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@ -572,6 +592,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"hosts": "hosts", "hosts": "hosts",
"ide": "ide", "ide": "ide",
"musnix": "musnix",
"nid": "nid", "nid": "nid",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"parts": "parts", "parts": "parts",

View File

@ -25,6 +25,10 @@
url = "github:nix-community/nix-index-database"; url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
musnix = {
url = "github:musnix/musnix";
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin.url = "github:catppuccin/nix"; catppuccin.url = "github:catppuccin/nix";
}; };
outputs = inputs: inputs.parts.lib.mkFlake { inherit inputs; } { imports = [ ./. ]; }; outputs = inputs: inputs.parts.lib.mkFlake { inherit inputs; } { imports = [ ./. ]; };

View File

@ -14,7 +14,8 @@ in
./nova-hardware.nix ./nova-hardware.nix
inputs.hosts.nixosModule inputs.hosts.nixosModule
inputs.catppuccin.nixosModules.catppuccin inputs.catppuccin.nixosModules.catppuccin
] ++ (with toplevel.config.flake.nixosModules; [ grub base sound wayland security ivand wireless wireguard style ]); inputs.musnix.nixosModules.musnix
] ++ (with toplevel.config.flake.nixosModules; [ grub base sound music wayland security ivand wireless wireguard style ]);
}); });
vm = withSystem system (ctx@{ config, inputs', ... }: vm = withSystem system (ctx@{ config, inputs', ... }:
inputs.nixpkgs.lib.nixosSystem { inputs.nixpkgs.lib.nixosSystem {

View File

@ -70,6 +70,34 @@
}; };
}; };
}); });
music = moduleWithSystem (toplevel@{ ... }: perSystem@{ pkgs, ... }: {
environment.systemPackages = with pkgs; [
(writeScriptBin "guitar" ''
${jack2}/bin/jackd -dalsa -r96000 -p512 -n3 -D -Chw:U192k -Phw:U192k &
sleep 1
${guitarix}/bin/guitarix
'')
];
musnix = {
enable = true;
rtcqs.enable = true;
soundcardPciId = "00:1f.3";
kernel = {
realtime = true;
packages = pkgs.linuxPackages_6_8_rt;
};
# magic to me
rtirq = {
# highList = "snd_hrtimer";
resetAll = 1;
prioLow = 0;
enable = true;
nameList = "rtc0 snd";
};
};
});
wayland = moduleWithSystem (toplevel@{ ... }: perSystem@{ ... }: { wayland = moduleWithSystem (toplevel@{ ... }: perSystem@{ ... }: {
hardware.graphics.enable = true; hardware.graphics.enable = true;
security.pam.services.swaylock = { }; security.pam.services.swaylock = { };