summaryrefslogtreecommitdiff
path: root/flake.nix
blob: d34c09dca4677b30d6e01906527745cd05bd2ac8 (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
54
{
  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";

  outputs = {
    self,
    nixpkgs,
  }: let
    version = builtins.replaceStrings ["\n"] [""] (builtins.readFile ./version);
    system = "x86_64-linux";
    pkgs = import nixpkgs {inherit system;};

    lib = name: src: inputs:
      pkgs.stdenv.mkDerivation {
        nativeBuildInputs = with pkgs; [
          wrapGAppsHook
          gobject-introspection
          meson
          pkg-config
          ninja
          vala
        ];
        buildInputs = [pkgs.glib] ++ inputs;
        pname = name;
        version = version;
        src = src;
        outputs = ["out" "dev"];
      };
  in {
    packages.${system} = rec {
      default = astal;
      astal = with pkgs; lib "astal" ./core [gtk3 gtk-layer-shell];
    };

    devShells.${system} = let
      inputs = with pkgs; [
        wrapGAppsHook
        gobject-introspection
        meson
        pkg-config
        ninja
        vala
        (lua.withPackages (ps: [ps.lgi]))
        gjs
      ];
    in {
      default = pkgs.mkShell {
        inherit inputs;
      };
      astal = pkgs.mkShell {
        inputs = inputs ++ [self.packages.${system}.astal];
      };
    };
  };
}