]> git.sesse.net Git - bcachefs-tools-debian/blob - flake.nix
flake.nix: add mount developer environment
[bcachefs-tools-debian] / flake.nix
1 {
2         description = "Userspace tools for bcachefs";
3
4         # Nixpkgs / NixOS version to use.
5         inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
6         inputs.utils.url = "github:numtide/flake-utils";
7         inputs.filter.url = "github:numtide/nix-filter";
8
9         outputs = { self, nixpkgs, utils, filter, ... }@inputs:
10                 let
11                         # System types to support.
12                         supportedSystems = [ "x86_64-linux" ];
13                 in
14                 {
15                         version = "${builtins.substring 0 8 self.lastModifiedDate}-${self.shortRev or "dirty"}";
16
17                         overlay = import ./nix/overlay.nix inputs;
18                 }
19                 // utils.lib.eachSystem supportedSystems (system: 
20                 let pkgs = import nixpkgs { 
21                         inherit system; 
22                         overlays = [ self.overlay ]; 
23                 }; 
24                 in rec {
25                         
26                         # A Nixpkgs overlay.
27
28                         # Provide some binary packages for selected system types.
29                         defaultPackage = pkgs.bcachefs.tools;
30                         packages = {
31                                 inherit (pkgs.bcachefs)
32                                         tools
33                                         toolsValgrind
34                                         toolsDebug
35                                         mount
36                                         bch_bindgen
37                                         kernel;
38
39                                 tools-musl = pkgs.pkgsMusl.bcachefs.tools;
40                                 mount-musl = pkgs.pkgsMusl.bcachefs.mount;
41                         };
42
43                         checks = { 
44                                 kernelSrc = packages.kernel.src;
45                                 inherit (packages) 
46                                         mount
47                                         bch_bindgen
48                                         toolsValgrind;
49                         };
50
51                         devShell = devShells.tools;
52                         devShells.tools = pkgs.bcachefs.tools.override { inShell = true; };
53                         devShells.mount = pkgs.bcachefs.mount.override { inShell = true; };
54                 });
55 }