fixed chataigne flake

This commit is contained in:
2026-03-12 19:02:00 +00:00
parent e3650d5adb
commit 8553a02ca6
2 changed files with 67 additions and 34 deletions

View File

@@ -2,16 +2,16 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1773122722, "lastModified": 1773222311,
"narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=", "narHash": "sha256-BHoB/XpbqoZkVYZCfXJXfkR+GXFqwb/4zbWnOr2cRcU=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50", "rev": "0590cd39f728e129122770c029970378a79d076a",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-25.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View File

@@ -1,49 +1,82 @@
{ {
description = "A flake to run a specific AppImage with custom dependencies"; description = "Local wrapper for Chataigne AppImage";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
}; };
outputs = outputs =
{ self, nixpkgs }: { self, nixpkgs }:
let let
system = "x86_64-linux"; # Adjust if you're on a different architecture system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; }; pkgs = import nixpkgs { inherit system; };
# Define your AppImage wrapper here # The libraries you requested
myApp = pkgs.appimageTools.wrapType2 { deps = with pkgs; [
pname = "my-appimage-app"; curlFull
version = "1.0.0"; gnutls
libxrandr
alsa-lib
freetype
avahi
libglvnd
curl
SDL2
hidapi
libpulseaudio
lz4
openssl
libcap
libxcrypt
libgcrypt
libbsd
zlib
glib
];
# The source can be a local file or a URL # 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; src = ./Chataigne-linux-x64-1.10.3.AppImage;
extraPkgs = pkgs: deps;
};
# Add specific dependencies the AppImage is missing # Create the Desktop Entry
extraPkgs = chataigne-desktop = pkgs.makeDesktopItem {
pkgs: with pkgs; [ name = "chataigne";
lz4 exec = "chataigne";
libbsd icon = "chataigne";
(curlWithGnuTls.override { gnutlsSupport = true; }) comment = "Modular machine for art and technology";
gnutls desktopName = "Chataigne";
libgnurl categories = [
openssl "AudioVideo"
]; "Development"
];
}; };
in in
{ {
# This allows you to run it via 'nix run' # packages.${system}.default = chataigne-bin;
apps.${system}.default = {
type = "app";
program = "${myApp}/bin/my-appimage-app";
};
# This allows you to add it to your shell via 'nix develop'
devShells.${system}.default = pkgs.mkShell { devShells.${system}.default = pkgs.mkShell {
buildInputs = [ myApp ]; # Packages you want available in your shell
}; buildInputs = [
chataigne-bin
];
# The package itself # Environmental variables or shell hooks
packages.${system}.default = myApp; 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
];
};
}; };
} }