83 lines
1.8 KiB
Nix
83 lines
1.8 KiB
Nix
{
|
|
description = "Local wrapper for Chataigne AppImage";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
|
};
|
|
|
|
outputs =
|
|
{ self, nixpkgs }:
|
|
let
|
|
system = "x86_64-linux";
|
|
pkgs = import nixpkgs { inherit system; };
|
|
|
|
# The libraries you requested
|
|
deps = with pkgs; [
|
|
curlFull
|
|
gnutls
|
|
libxrandr
|
|
alsa-lib
|
|
freetype
|
|
avahi
|
|
libglvnd
|
|
curl
|
|
SDL2
|
|
hidapi
|
|
libpulseaudio
|
|
lz4
|
|
openssl
|
|
libcap
|
|
libxcrypt
|
|
libgcrypt
|
|
libbsd
|
|
zlib
|
|
glib
|
|
];
|
|
|
|
# Wrap the local AppImage file
|
|
chataigne-bin = pkgs.appimageTools.wrapType2 {
|
|
pname = "chataigne";
|
|
version = "1.10.3";
|
|
# This points to the file in the same directory as flake.nix
|
|
src = ./Chataigne-linux-x64-1.10.3.AppImage;
|
|
extraPkgs = pkgs: deps;
|
|
};
|
|
|
|
# Create the Desktop Entry
|
|
chataigne-desktop = pkgs.makeDesktopItem {
|
|
name = "chataigne";
|
|
exec = "chataigne";
|
|
icon = "chataigne";
|
|
comment = "Modular machine for art and technology";
|
|
desktopName = "Chataigne";
|
|
categories = [
|
|
"AudioVideo"
|
|
"Development"
|
|
];
|
|
};
|
|
in
|
|
{
|
|
# packages.${system}.default = chataigne-bin;
|
|
|
|
devShells.${system}.default = pkgs.mkShell {
|
|
# Packages you want available in your shell
|
|
buildInputs = [
|
|
chataigne-bin
|
|
];
|
|
|
|
# Environmental variables or shell hooks
|
|
shellHook = ''
|
|
echo "something"
|
|
'';
|
|
};
|
|
# This allows you to run 'nix run' or install it via system config
|
|
packages.${system}.default = pkgs.symlinkJoin {
|
|
name = "chataigne";
|
|
paths = [
|
|
chataigne-bin
|
|
chataigne-desktop
|
|
];
|
|
};
|
|
};
|
|
}
|