aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
blob: b15f091e542e30f1be21c468dd30418f615829f1 (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
45
46
47
48
49
50
51
52
53
{
  description = "Molerat client implementation";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
  };

  outputs = { self, nixpkgs }:
  let 
    system = "aarch64-darwin";
    pkgs = nixpkgs.legacyPackages.${system};
  in {
    packages.${system}.default = 
      pkgs.stdenv.mkDerivation {
        name = "molehole";
        src = ./.;

        buildInputs = with pkgs; [ncurses openssl];

        installPhase = ''
          mkdir -p $out/bin
          mv build/molehole $out/bin
        '';
      };

    devShells.${system}.default = 
      pkgs.mkShell {
        buildInputs = with pkgs; [
          llvmPackages.clang
          neovim

          openssl.dev
          ncurses.dev
        ];
        shellHook = ''
          cat << EOF > compile_flags.txt
          -Wall
          -Wextra
          -pedantic

          -Iinclude
          -I${pkgs.openssl.dev}/include
          -I${pkgs.ncurses.dev}/include

          -lncurses
          -lssl
          EOF

          exec zsh
        '';
      };
  };
}