https://github.com/enzohideo/puredata-nix
Pure Data externals for Nix and NixOS (that are not in nixpkgs yet)
https://github.com/enzohideo/puredata-nix
nix nix-flake puredata puredata-external
Last synced: 2 months ago
JSON representation
Pure Data externals for Nix and NixOS (that are not in nixpkgs yet)
- Host: GitHub
- URL: https://github.com/enzohideo/puredata-nix
- Owner: enzohideo
- License: mit
- Created: 2024-08-14T19:14:15.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-11-13T18:51:09.000Z (6 months ago)
- Last Synced: 2025-01-26T04:27:17.268Z (4 months ago)
- Topics: nix, nix-flake, puredata, puredata-external
- Language: Nix
- Homepage:
- Size: 24.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# puredata-nix
Pure Data externals for Nix and NixOS.
### Externals
- ggee
- iemguts
- iemlib
- ofelia
- windowing### Usage with flakes
Manually pick which externals you want to use
```nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
puredata.url = "github:enzohideo/puredata-nix";
};outputs = { ... }@inputs: let
system = "x86_64-linux";
pkgs = inputs.nixpkgs.legacyPackages.${system};
extraPkgs = inputs.puredata.packages.${system};
in {
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
(pkgs.puredata-with-plugins (with pkgs; [
cyclone
zexy
] ++ (with extraPkgs; [
ggee
iemguts
iemlib
ofelia
windowing
])))
];
};
};
}
```Or use the example dev shell provided by this flake
```nix
{
inputs.puredata.url = "github:enzohideo/puredata-nix";outputs = { ... }@inputs: {
devShells = inputs.puredata.devShells;
};
}
```> [!NOTE]
> In this case you could also just type `nix develop github:enzohideo/puredata-nix`### Ofelia/abs on Wayland
Ofelia seems to segfault on wayland when using objects from ofelia/abs. As a
temporary workaround, you can use gamescope.```nix
{
inputs.puredata.url = "github:enzohideo/puredata-nix";outputs = { ... }@inputs: let
system = "x86_64-linux";
pkgs = inputs.puredata.inputs.nixpkgs.legacyPackages.${system};
ofelia = inputs.puredata.packages.${system}.ofelia;
in {
devShells.${system}.default = pkgs.mkShell {
inputsFrom = [
inputs.puredata.devShells.${system}.compmus
];buildInputs = with pkgs; [
gamescope
];shellHook = ''
# you need to specify the path to ofelia/abs
gamescope -- pd -path "${ofelia}/ofelia/abs"
exit
'';
};
};
}
```You might need to change the pkgs input to avoid version mismatch between
gamescope's and your system's mesa.> [!NOTE]
> The default dev shell can be started with `nix develop`