60 lines
1.6 KiB
Nix
60 lines
1.6 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
systems.url = "github:nix-systems/default-linux";
|
|
|
|
cl-hyprland-ipc = {
|
|
url = "github:eriedaberrie/cl-hyprland-ipc";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
inputs.systems.follows = "systems";
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
systems,
|
|
cl-hyprland-ipc,
|
|
}: let
|
|
inherit (nixpkgs) lib;
|
|
forSystems = f:
|
|
lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
|
|
in {
|
|
overlays = {
|
|
default = _: prev: {
|
|
sync-music = prev.callPackage ./nix/sync-music.nix {};
|
|
|
|
time-window = prev.callPackage ./nix/time-window.nix {
|
|
inherit (cl-hyprland-ipc.packages.${prev.stdenv.system}) cl-hyprland-ipc;
|
|
};
|
|
};
|
|
};
|
|
|
|
packages = forSystems (self.overlays.default null);
|
|
|
|
devShells = forSystems (
|
|
pkgs: {
|
|
default = pkgs.mkShell rec {
|
|
inputsFrom = builtins.attrValues self.packages.${pkgs.stdenv.system};
|
|
|
|
nativeBuildInputs =
|
|
[
|
|
(pkgs.sbcl.withPackages (lib.const
|
|
(lib.concatMap (p: p.lispLibs) inputsFrom)))
|
|
]
|
|
++ lib.concatMap (p: p.runtimeInputs or []) inputsFrom;
|
|
|
|
LD_LIBRARY_PATH = let
|
|
getNativeLibs = d:
|
|
d.nativeLibs
|
|
or []
|
|
++ builtins.concatMap getNativeLibs (d.lispLibs or []);
|
|
in lib.makeLibraryPath (lib.lists.unique (builtins.concatMap getNativeLibs inputsFrom));
|
|
};
|
|
}
|
|
);
|
|
|
|
formatter = forSystems (pkgs: pkgs.alejandra);
|
|
};
|
|
}
|