Skip to content

Commit b9f0a0e

Browse files
author
Mara
committed
♻️ infra: flake.nix + nix-based CI
flake.nix: gleam dev shell via erlang_27 + pkgs.gleam + rebar3. Matches ~/.flakes#gleam. flake.lock committed — pinned to nixos-unstable 2026-02-27. CI: nix develop -c gleam test + format --check. Uses systemic-engineering/ci/actions/nix-setup for Nix install + magic cache. Local/CI parity: same commands, same environment. Co-Authored-By: Mara <mara@systemic.engineer>
1 parent f383180 commit b9f0a0e

3 files changed

Lines changed: 99 additions & 13 deletions

File tree

.github/workflows/test.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
name: test
1+
name: CI
22

33
on:
44
push:
5-
branches:
6-
- master
7-
- main
5+
branches: [main]
86
pull_request:
97

108
jobs:
119
test:
1210
runs-on: ubuntu-latest
1311
steps:
1412
- uses: actions/checkout@v4
15-
- uses: erlef/setup-beam@v1
16-
with:
17-
otp-version: "28"
18-
gleam-version: "1.14.0"
19-
rebar3-version: "3"
20-
# elixir-version: "1"
21-
- run: gleam deps download
22-
- run: gleam test
23-
- run: gleam format --check src test
13+
14+
- uses: systemic-engineering/ci/actions/nix-setup@main
15+
16+
- name: Download deps
17+
run: nix develop -c gleam deps download
18+
19+
- name: Test
20+
run: nix develop -c gleam test
21+
22+
- name: Format check
23+
run: nix develop -c gleam format --check src test

flake.lock

Lines changed: 61 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
description = "fragmentation — content-addressed, arbitrary-depth fragment trees";
3+
4+
inputs = {
5+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6+
flake-utils.url = "github:numtide/flake-utils";
7+
};
8+
9+
outputs = { self, nixpkgs, flake-utils }:
10+
flake-utils.lib.eachDefaultSystem (system:
11+
let
12+
pkgs = nixpkgs.legacyPackages.${system};
13+
beamPkgs = pkgs.beam.packages.erlang_27;
14+
erlang = pkgs.erlang_27;
15+
gleam = pkgs.gleam;
16+
rebar3 = beamPkgs.rebar3;
17+
in {
18+
devShells.default = pkgs.mkShell {
19+
buildInputs = [ gleam erlang rebar3 pkgs.git pkgs.just ];
20+
shellHook = ''
21+
export LANG=en_US.UTF-8
22+
'';
23+
};
24+
});
25+
}

0 commit comments

Comments
 (0)