]> git.giacomolli.uk - onechat/blob - flake.nix
Show an input prompt while the agent is idle
[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 }