41 lines
1.2 KiB
Nix
41 lines
1.2 KiB
Nix
{
|
|
description = "common lisp dbus playground";
|
|
inputs.nixpkgs.url = "github:nixos/nixpkgs";
|
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
outputs = { self, nixpkgs, flake-utils }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
# https://nixos.org/manual/nixpkgs/stable/#lisp-overriding-package-attributes
|
|
# getting version with automatic introspection mixin
|
|
dbus' = pkgs.sbcl.pkgs.dbus.overrideLispAttrs (oldAttrs: rec {
|
|
version = "1.4";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "death";
|
|
repo = "dbus";
|
|
rev = "master";
|
|
hash = "sha256-xbg3tPYfRNGJo+9F/58w2bDeZqV33Z871+ClSg4ACPk=";
|
|
};
|
|
});
|
|
sbcl' = pkgs.sbcl.withPackages (ps: [
|
|
ps.alexandria
|
|
dbus'
|
|
ps.cl-cffi-gtk
|
|
ps.sdl2
|
|
ps.cl-opengl
|
|
ps.cl-gobject-introspection
|
|
]);
|
|
# Create a wrapper that uses system's Wayland
|
|
in {
|
|
devShells.default = pkgs.mkShell {
|
|
buildInputs = [
|
|
sbcl'
|
|
|
|
pkgs.nixfmt
|
|
];
|
|
};
|
|
});
|
|
# see https://serokell.io/blog/practical-nix-flakes
|
|
}
|