2023-11-11 23:03:50 +00:00
|
|
|
{
|
|
|
|
description = "artemist's NixOS packages and shells for development";
|
2023-11-12 01:16:34 +00:00
|
|
|
|
2023-11-11 23:03:50 +00:00
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
|
|
utils.url = "github:numtide/flake-utils";
|
|
|
|
};
|
|
|
|
|
2024-06-06 00:11:34 +00:00
|
|
|
outputs =
|
|
|
|
{
|
|
|
|
self,
|
|
|
|
nixpkgs,
|
|
|
|
utils,
|
|
|
|
}:
|
|
|
|
utils.lib.eachDefaultSystem (
|
|
|
|
system:
|
2023-11-12 05:10:09 +00:00
|
|
|
let
|
|
|
|
pkgs = import nixpkgs {
|
|
|
|
inherit system;
|
2023-12-02 00:57:07 +00:00
|
|
|
overlays = [ self.overlays.default ];
|
2023-11-12 05:10:09 +00:00
|
|
|
};
|
2024-01-15 15:55:17 +00:00
|
|
|
inherit (pkgs) lib;
|
|
|
|
names = builtins.attrNames (self.overlays.default pkgs pkgs);
|
2024-06-06 00:11:34 +00:00
|
|
|
in
|
|
|
|
{
|
2024-01-15 15:55:17 +00:00
|
|
|
devShells = {
|
2024-01-20 06:21:00 +00:00
|
|
|
plotter = pkgs.callPackage ./shells/plotter { };
|
2024-03-05 04:05:03 +00:00
|
|
|
ryujinx = pkgs.callPackage ./shells/ryujinx { };
|
2024-01-15 15:55:17 +00:00
|
|
|
zephyr = pkgs.callPackage ./shells/zephyr { };
|
|
|
|
};
|
2023-11-12 05:10:09 +00:00
|
|
|
|
2024-06-06 00:11:34 +00:00
|
|
|
formatter = pkgs.nixfmt-rfc-style;
|
|
|
|
packages = builtins.listToAttrs (
|
|
|
|
lib.concatMap (
|
|
|
|
name:
|
|
|
|
let
|
|
|
|
pkg = pkgs.${name};
|
|
|
|
in
|
|
|
|
lib.optional (builtins.typeOf pkg == "set") {
|
|
|
|
inherit name;
|
|
|
|
value =
|
|
|
|
if lib.isDerivation pkg then
|
|
|
|
pkg
|
|
|
|
else
|
|
|
|
pkg
|
|
|
|
// {
|
|
|
|
type = "derivation";
|
|
|
|
name = "dummy-attrset";
|
|
|
|
};
|
|
|
|
}
|
|
|
|
) names
|
|
|
|
);
|
|
|
|
}
|
|
|
|
)
|
|
|
|
// {
|
|
|
|
overlays.default = final: prev: {
|
2024-06-06 01:20:58 +00:00
|
|
|
apotris = final.callPackage ./packages/apotris { };
|
2024-06-06 00:11:34 +00:00
|
|
|
attic = final.callPackage ./packages/attic { };
|
|
|
|
attic-client = final.attic.override { clientOnly = true; };
|
|
|
|
cups-dymo-patched = final.callPackage ./packages/cups-dymo { };
|
|
|
|
hactoolnet = final.callPackage ./packages/hactoolnet { };
|
|
|
|
ipsw = final.callPackage ./packages/ipsw { };
|
|
|
|
jlink = final.callPackage ./packages/jlink { };
|
|
|
|
stlink-tool = final.callPackage ./packages/stlink-tool { };
|
|
|
|
zephyrPackages = final.callPackage ./packages/zephyr { };
|
2024-01-15 15:55:17 +00:00
|
|
|
|
2024-06-06 00:11:34 +00:00
|
|
|
inherit (final.python3.pkgs) axicli vpype;
|
2024-01-15 15:55:17 +00:00
|
|
|
|
2024-06-06 00:11:34 +00:00
|
|
|
inkscape-extensions = prev.inkscape-extensions // {
|
|
|
|
axidraw = final.callPackage ./packages/axidraw/inkscape.nix { };
|
|
|
|
};
|
2024-01-15 15:55:17 +00:00
|
|
|
|
2024-06-06 00:11:34 +00:00
|
|
|
kernelPatches = prev.kernelPatches // final.callPackage ./packages/kernelPatches { };
|
2024-01-15 15:55:17 +00:00
|
|
|
|
2024-06-06 00:11:34 +00:00
|
|
|
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
|
|
|
(
|
|
|
|
pythonFinal: pythonPrev:
|
|
|
|
{
|
|
|
|
pnoise = final.callPackage ./packages/pnoise { python3 = pythonFinal; };
|
|
|
|
vpype = final.callPackage ./packages/vpype { python3 = pythonFinal; };
|
|
|
|
vpype-gcode = final.callPackage ./packages/vpype-gcode { python3 = pythonFinal; };
|
|
|
|
}
|
|
|
|
// (final.callPackage ./packages/axidraw/modules.nix { python3 = pythonFinal; })
|
|
|
|
)
|
|
|
|
];
|
2023-12-02 00:57:07 +00:00
|
|
|
};
|
2024-06-06 00:11:34 +00:00
|
|
|
};
|
2023-11-12 01:16:34 +00:00
|
|
|
}
|