blob: dcc0b7a3e58e2c9d73522c7a83e0326dcb1d53a1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
{
description = "A purely functional wayland compositor.";
inputs = {
nixpkgs = {
url = "github:nixos/nixpkgs/nixos-unstable";
};
flake-utils = {
url = "github:numtide/flake-utils";
};
nixos-apple-silicon = {
url = "github:tpwrules/nixos-apple-silicon";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, flake-utils, nixos-apple-silicon }:
flake-utils.lib.eachDefaultSystem (system:
let
shell = name: overlays:
let
pkgs = import nixpkgs {
inherit system overlays;
};
haskell = pkgs.haskellPackages.ghcWithPackages (p:
with p; [ microlens microlens-mtl microlens-th haskell-language-server ]);
in
pkgs.mkShell {
inherit name;
packages = [ haskell pkgs.pkg-config pkgs.wayland pkgs.cabal-install ];
hardeningDisable = [ "fortify" ];
};
in
{
devShells = {
default = shell "highway" [];
asahi = shell "highway-asahi" [
(final: prev: {
mesa = nixos-apple-silicon.packages.${system}.mesa-asahi-edge;
})
];
};
});
}
|