Commit Graph

58 Commits

Author SHA1 Message Date
Greg Pfeil
c3405c27b4
Pin Haskell tool versions for VS Code
This also has the flake get its version pins (when possible) from the VS
Code settings. And we pin Cabal now, too.
2024-07-09 13:57:42 -06:00
Greg Pfeil
c47bdcfdc5
Get Nix build working with GHC 9.6.5
Bumped some versions around, but they’re negotiable.
- ormolu 0.5.2.0 → 0.7.2.0
- hls 2.9.0.0 → 2.8.0.0
- stack 2.15.5 → 2.15.7
2024-06-27 20:40:35 -06:00
Greg Pfeil
f2c8020f5e
Can now include the devShells in all package
This means those environments will also be cached in CI.
2024-06-27 17:38:19 -06:00
Greg Pfeil
7b373d73ff
Eliminate only-tools devShell
`cabal-local` no longer triggers rebuilds of GHC, so now we can use the
devShell that provides the same environment as our build.
2024-06-27 17:38:19 -06:00
Greg Pfeil
dad9d6d633
Minor simplification of haskell-nix-flake 2024-06-27 17:38:19 -06:00
Greg Pfeil
f25af6946e
Override tool versions directly in the package set 2024-06-27 17:38:19 -06:00
Greg Pfeil
110b5ca8b0
Actually cache UCM in CI 2024-06-27 17:38:19 -06:00
Greg Pfeil
ba13de41a0
Remove dead code 2024-06-27 17:38:17 -06:00
Greg Pfeil
a5b986467e
Don’t hide unison-project in an overlay
Overlays are for derivations, and this isn’t one. Putting it in an
overlay also just gives us more levels of indirection to dig through to
figure out where things are coming from.
2024-06-27 17:37:48 -06:00
Greg Pfeil
01e03512f0
Switch nixos-unstable to release-23.11
There are various benefits to using a Nixpkgs release
- more likely that things are cached
- easier to update the input without breaking everything

This also renames a lot of things in the flake:
- `nixpkgs-unstable` to `nixpkgs-release` – partially because it’s not
  unstable any more, but also because both it and the nixpkgs from
  haskell.nix unstable, so it didn’t really clarify anything
- `nixpkgs` to `nixpkgs-haskellNix` – to make it clear where it comes from
- `unstable` to `release-pkgs` – the convention is to use `pkgs` for
  derivation attrsets, and the source switched from unstable to release
- `nixpkgs-packages` to `tool-pkgs` – this holds our build tools, so
  that seemed clearer than “nixpkgs”
2024-06-27 17:37:48 -06:00
Greg Pfeil
d0f4c70d4d
Remove the non-haskell.nix devShell
This `only-tools-nixpkgs` devShell generally paralleled the
`cabal-only-tools` devShell, but avoiding haskell.nix. While I’m not a
huge fan of haskell.nix, this just created duplication and gave us a
shell with a somewhat different environment than the one used by
`nix build`, etc. It also didn’t work for everyone.

In removing that shell, it also sets the default devShell to be
`cabal-only-tools`, which some people were already using to work around
issues with the previous default.
2024-06-27 17:37:48 -06:00
Greg Pfeil
121d51ca91
Don’t export packages for individual build tools 2024-06-27 17:37:48 -06:00
Chris Penner
06e730d26f Attempt to bump nix flake 2024-06-26 18:39:18 -07:00
Arya Irani
32fba96c83
Merge pull request #5036 from sellout/add-nix-checks 2024-06-03 18:06:38 -04:00
Greg Pfeil
f943ba157b
Remove flake-compat input
`flake-compat` is used to produce “old-style” default.nix and shell.nix
files from a flake. We have neither and so this input is simply unused.
2024-06-01 13:03:34 -06:00
Greg Pfeil
635f0c9438
Run Cabal test-suites as Nix checks 2024-06-01 13:03:03 -06:00
Greg Pfeil
07d9610eba
A few minor manual formatting adjustments 2024-06-01 01:58:38 -06:00
Greg Pfeil
a188bb0e5b
Run the Nix formatter for the first time 2024-06-01 01:54:07 -06:00
Greg Pfeil
f7871c765f
Add a Nix formatter
This sets the flake’s `formatter` output to [Alejandra](https://kamadorueda.com/alejandra/).
2024-06-01 01:54:03 -06:00
Greg Pfeil
257337e915
Prefix the flattened flake outputs
This adds some grouping to the outputs, since they can’t be grouped in attribute
sets.

It also updates the relevant docs with the new names.

Here are the renamings:
- `packages.haskell-nix.some:cabal:thing`→ `packages.component-some:cabal:thing`
- `packages.docker.ucm` → `packages.docker-ucm`
- `apps.haskell-nix.some:cabal:thing` → `apps.component-some:cabal:thing`, and
- `devShells.haskell-nix.unison-cli` → `devShells.cabal-unison-cli`.
2024-05-28 10:07:10 -06:00
Greg Pfeil
babd9b0c69
Repair the Nix flake
This does the minimum to get `nix flake check` working.;

The primary issue is that flakes require flat package sets, and this flake
produced nested ones. This flattens the package sets without renaming anything.
E.g., `packages.${system}.docker.ucm` is now `packages.${system}.ucm`, and
similar for other derivations.

The only other change was to correct the attribute name for the UCM docker
image’s command.
2024-05-28 10:07:09 -06:00
Greg Pfeil
678c6a2e3a
Add a default Nix package
development.markdown says to use `nix build` to build the `unison` executable,
but it doesn’t work, because there is not a `default` package. This makes the
behavior match the docs.
2024-05-13 23:52:16 -06:00
Arya Irani
f586e377f7
Merge pull request #4891 from unisonweb/add-nix-docker-image
Add docker image to nix outputs
2024-04-17 13:59:48 -04:00
Mitchell Rosen
fe0f4dfa67 update a few unison-cli:exe:unison strings to unison-cli-main:exe:unison 2024-04-04 17:06:12 -04:00
Travis Staton
2baf37e38c
docker-example 2024-03-14 19:32:38 -04:00
Travis Staton
1c02536cf9
update macsdk version 2023-12-04 11:53:26 -05:00
Travis Staton
2986f3f7b2
withcc 2023-12-04 11:45:24 -05:00
Travis Staton
7fa2d606b5
provide some deps for the nix linker 2023-12-04 11:05:39 -05:00
Cody Allen
c9da24a33e
Nix flake: set default app to haskell-nix unison-cli app 2023-11-21 09:42:40 -05:00
Travis Staton
6806cf863f
export wrapped stack 2023-11-17 11:31:37 -05:00
Travis Staton
5e5b73d779
tuck devShells 2023-11-16 17:11:44 -05:00
Travis Staton
65ec6b7184
tuck haskell.nix packages under key 2023-11-16 17:05:59 -05:00
Travis Staton
f68b9b43e7
remove haskell.nix outputs 2023-11-16 16:50:58 -05:00
Travis Staton
29b232d696
Add build-tools devShell that doesn't depend on haskell.nix 2023-11-15 15:32:38 -05:00
Travis Staton
101b48e1ed add haskell-language-server-wrapper symlink 2023-08-30 11:09:30 -04:00
Arya Irani
5966a2a591
Merge pull request #4244 from unisonweb/travis/github-action-populate-nix-cache 2023-08-10 16:30:22 -04:00
Arya Irani
2e456e2ad0
remove cache.iog.io
Some of the packages had invalid signatures for darwin
2023-08-07 10:53:52 -04:00
Travis Staton
6e05935fb8
add "all" package to flake 2023-08-03 16:30:44 -04:00
Cody Allen
d9a33699ad
Update unison cachix public key
This recently changed but wasn't updated in `flake.nix`.
2023-08-02 09:36:30 -04:00
Travis Staton
c5d66644fd
add boot packages 2023-07-07 12:14:07 -04:00
Travis Staton
890e20f1ef
add glibcLocales 2023-07-07 12:13:54 -04:00
Travis Staton
99b6571505
add Cocoa for darwin 2023-07-05 11:57:50 -04:00
Travis Staton
7da67e142b
add pkg-config and zlib 2023-07-05 11:34:56 -04:00
Travis Staton
46df19017a
add stack wrapper 2023-07-03 22:16:42 -04:00
Travis Staton
a4e149b69f
add zlib workaround 2023-07-03 22:10:55 -04:00
Travis Staton
db2b9e80bc
formatting 2023-07-03 22:10:18 -04:00
Travis Staton
e3a50d7367
add unison cachix 2023-06-14 13:40:27 -04:00
Travis Staton
f98c06a285
downgrade to ghc 9.2.7 to be consistent 2023-06-14 13:40:08 -04:00
Travis Staton
91059c2a04
add some nix workflow docs 2023-06-13 16:21:40 -04:00
Travis Staton
78a9f51a27
use haskell.nix 2023-06-13 16:21:30 -04:00