]> git.giacomolli.uk - onechat/blob - flake.nix
Send terminal images by local path
[onechat] / flake.nix
1 {
2 description = "OneChat";
3
4 inputs = {
5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6 systems.url = "github:nix-systems/default-linux";
7 };
8
9 outputs =
10 {
11 self,
12 nixpkgs,
13 systems,
14 }:
15 let
16 forEachSystem = nixpkgs.lib.genAttrs (import systems);
17 date = self.lastModifiedDate;
18 revision = self.shortRev or self.dirtyShortRev or "unknown";
19 version = "${builtins.substring 0 4 date}-${builtins.substring 4 2 date}-${builtins.substring 6 2 date}-${revision}";
20 in
21 {
22 packages = forEachSystem (
23 system:
24 let
25 pkgs = nixpkgs.legacyPackages.${system};
26 onechat = pkgs.callPackage ./nix/package.nix {
27 src = self;
28 inherit version;
29 };
30 in
31 {
32 inherit onechat;
33 default = onechat;
34 }
35 );
36
37 devShells = forEachSystem (system: {
38 default = import ./nix/devshell.nix {
39 pkgs = nixpkgs.legacyPackages.${system};
40 };
41 });
42
43 checks = forEachSystem (system: {
44 package = self.packages.${system}.default;
45 replay = import ./nix/replay.nix { onechat = self.packages.${system}.default; };
46 user-service = import ./nix/user-service-check.nix {
47 pkgs = nixpkgs.legacyPackages.${system};
48 onechat = self.packages.${system}.default;
49 };
50 });
51
52 formatter = forEachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt);
53 };
54 }