mirror of
https://codeberg.org/ziglings/exercises.git
synced 2026-02-10 22:24:52 +00:00
48 lines
1.2 KiB
Nix
48 lines
1.2 KiB
Nix
{
|
|
description = "Learn the ⚡Zig programming language by fixing tiny broken programs";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
|
zig.url = "github:mitchellh/zig-overlay";
|
|
};
|
|
|
|
outputs =
|
|
inputs@{
|
|
nixpkgs,
|
|
flake-parts,
|
|
...
|
|
}:
|
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
|
systems = nixpkgs.lib.systems.flakeExposed;
|
|
|
|
perSystem =
|
|
{ pkgs, system, ... }:
|
|
let
|
|
# NOTE: v0.16.0-dev.1976 is broken, see: https://codeberg.org/ziglings/exercises/issues/345
|
|
# Using master-2025-12-28 (v0.16.0-dev.1859)
|
|
zig = inputs.zig.packages.${system}.master-2025-12-28;
|
|
in
|
|
{
|
|
_module.args.pkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
(final: prev: {
|
|
inherit zig;
|
|
})
|
|
];
|
|
config = { };
|
|
};
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
name = "ziglings-dev";
|
|
|
|
packages = [
|
|
zig
|
|
pkgs.zls
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|