Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions .github/workflows/telomare-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: cachix/install-nix-action@v25
- uses: cachix/install-nix-action@v31
with:
install_url: https://releases.nixos.org/nix/nix-2.31.5/install
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
accept-flake-config = true
- uses: DeterminateSystems/magic-nix-cache-action@v2
- uses: cachix/cachix-action@v14
- uses: cachix/cachix-action@v17
with:
name: telomare
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
extraPullNames: nix-community
extraPullNames: ekala-corepkgs
- name: Build and test
run: |
echo nix build and tests:
Expand Down Expand Up @@ -60,17 +60,18 @@ jobs:
token: ${{ secrets.API_TOKEN_GITHUB }}
path: ./stand-in-language.github.io
fetch-depth: 0
- uses: cachix/install-nix-action@v25
- uses: cachix/install-nix-action@v31
with:
install_url: https://releases.nixos.org/nix/nix-2.31.5/install
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
accept-flake-config = true
- uses: DeterminateSystems/magic-nix-cache-action@v2
- uses: cachix/cachix-action@v14
- uses: cachix/cachix-action@v17
with:
name: telomare
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
extraPullNames: nix-community
extraPullNames: ekala-corepkgs
- name: haddock build
run: |
ls
Expand Down
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,26 @@
computes a store path without building it, and `nix path-info` rejects a path
that does not exist. The apps are now build inputs of the script.
* Moved to GHC 9.10.3 and `cabal-version` 3.12, and updated every flake input.
* Moved the Nix build from nixpkgs + flake-parts + haskell-flake to the
ekala package ecosystem (ekapkgs): `corepkgs` for the base system and the
GHC 9.10.3 bindist (added upstream for this, corepkgs#178 and #180), plus
the `haskell-pkgs` snapshot (Stackage LTS 24), consumed with
`corepkgs.lib.mkFlake`. The Nix code lives in `nix/`; the package
expression is a checked-in cabal2nix file (`nix/telomare-cabal2nix.nix`,
regenerate when `build-depends` change); `default.nix` and `shell.nix`
read the pins from `flake.lock` instead of going through flake-compat.
`apps.telomare-lsp` now carries the version stamp like `apps.lsp`. The
default dev shell is the minimum that builds the project (GHC and
cabal-install); `nix develop .#full` adds haskell-language-server, hlint,
stylish-haskell and ghcid (haskell-language-server needs its closure in
one Cabal-syntax 3.14 scope; `nix/haskell.nix` carries that override until
ekala-project/haskell-pkgs#4 or its corepkgs equivalent lands), and hoogle
is no longer built for either. `nix run .#push-cachix` publishes every
declared development shell with its environment closure and uses the
cachix and nix on PATH (the snapshot's cachix does not build, its amazonka
2.0 predates GHC 9.8, and corepkgs' Nix is a from-source build); `nix
flake check` builds and shellchecks it. `systems` is `x86_64-linux` until
corepkgs marks aarch64-linux supported.

## 0.1.0.0 -- YYYY-mm-dd

Expand Down
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,25 @@ This project is in active development. Do expect bugs and general trouble, and p
```sh
# Install cachix with nix-env or adding `cachix` to your `/etc/nixos/configuration.nix`'s' `environment.systemPackages` if in NixOS.
$ cachix use telomare
$ cachix use ekala-corepkgs
```
The build comes from [ekapkgs](https://github.com/ekala-project/ekapkgs-roadmap)
rather than nixpkgs: `corepkgs` for the base system and the GHC 9.10.3
bindist, `haskell-pkgs` for the Hackage snapshot. `telomare` caches
everything the flake builds, the compiler included; `ekala-corepkgs` holds
the base system. The flake names both caches in its `nixConfig`, so
accepting that when Nix asks does the same job. (Maintainers fill the
`telomare` cache with `nix run .#push-cachix`, which publishes the package
and both development shells and uses the `cachix` and `nix` already on
your PATH.)
4. Enter a Nix shell. This will setup an environment where all external dependencies will be available (such as `cabal` for building):
```sh
$ nix develop # or nix develop -c zsh
$ nix develop .#full # the same plus haskell-language-server, hlint, stylish-haskell and ghcid
```
(`nix develop` takes its interactive bash from whatever your flake registry
calls `nixpkgs`; that is Nix's doing, not this flake's, which has no nixpkgs
input.)
5. Build the project:
```sh
$ cabal build # or nix build
Expand Down
10 changes: 1 addition & 9 deletions default.nix
Original file line number Diff line number Diff line change
@@ -1,9 +1 @@
(import (
let
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
in fetchTarball {
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
sha256 = lock.nodes.flake-compat.locked.narHash; }
) {
src = ./.;
}).defaultNix
(import ./nix/legacy.nix { }).packages.default
110 changes: 58 additions & 52 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading