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";
|
|
|
|
};
|
|
|
|
|
2023-11-12 01:16: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);
|
2023-11-12 01:16: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
|
|
|
|
2023-11-12 01:16:34 +00:00
|
|
|
formatter = pkgs.nixfmt;
|
2024-01-15 15:55:17 +00:00
|
|
|
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);
|
2023-12-02 00:57:07 +00:00
|
|
|
}) // {
|
|
|
|
overlays.default = final: prev: {
|
2024-01-20 03:52:07 +00:00
|
|
|
attic = final.callPackage ./packages/attic { };
|
|
|
|
attic-client = final.attic.override { clientOnly = true; };
|
2024-02-13 05:20:29 +00:00
|
|
|
cups-dymo-patched = final.callPackage ./packages/cups-dymo { };
|
2024-03-16 01:50:36 +00:00
|
|
|
hactoolnet = final.callPackage ./packages/hactoolnet { };
|
2023-12-19 06:21:29 +00:00
|
|
|
ipsw = final.callPackage ./packages/ipsw { };
|
2024-01-15 15:55:17 +00:00
|
|
|
jlink = final.callPackage ./packages/jlink { };
|
2024-03-27 22:03:58 +00:00
|
|
|
stlink-tool = final.callPackage ./packages/stlink-tool { };
|
2024-01-15 15:55:17 +00:00
|
|
|
zephyrPackages = final.callPackage ./packages/zephyr { };
|
|
|
|
|
2024-01-20 05:17:09 +00:00
|
|
|
inherit (final.python3.pkgs) axicli vpype;
|
2024-01-15 15:55:17 +00:00
|
|
|
|
|
|
|
inkscape-extensions = prev.inkscape-extensions // {
|
|
|
|
axidraw = final.callPackage ./packages/axidraw/inkscape.nix { };
|
|
|
|
};
|
|
|
|
|
2023-12-02 04:45:42 +00:00
|
|
|
kernelPatches = prev.kernelPatches
|
|
|
|
// final.callPackage ./packages/kernelPatches { };
|
2024-01-15 15:55:17 +00:00
|
|
|
|
|
|
|
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
2024-01-15 20:42:27 +00:00
|
|
|
(pythonFinal: pythonPrev:
|
2024-01-20 04:43:07 +00:00
|
|
|
{
|
2024-01-20 05:17:09 +00:00
|
|
|
pnoise = final.callPackage ./packages/pnoise {
|
|
|
|
python3 = pythonFinal;
|
|
|
|
};
|
2024-01-20 04:43:07 +00:00
|
|
|
vpype =
|
|
|
|
final.callPackage ./packages/vpype { python3 = pythonFinal; };
|
2024-01-20 06:20:30 +00:00
|
|
|
vpype-gcode = final.callPackage ./packages/vpype-gcode {
|
|
|
|
python3 = pythonFinal;
|
|
|
|
};
|
2024-01-20 04:43:07 +00:00
|
|
|
} // (final.callPackage ./packages/axidraw/modules.nix {
|
|
|
|
python3 = pythonFinal;
|
2024-01-15 20:42:27 +00:00
|
|
|
}))
|
2024-01-15 15:55:17 +00:00
|
|
|
];
|
2023-12-02 00:57:07 +00:00
|
|
|
};
|
|
|
|
};
|
2023-11-12 01:16:34 +00:00
|
|
|
}
|
2023-11-11 23:03:50 +00:00
|
|
|
|