/
flake.nix
41 lines (39 loc) · 1.35 KB
/
flake.nix
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
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
inputs.systems.url = "github:nix-systems/default";
outputs = { self, nixpkgs, systems, ... }:
let
eachSystem = nixpkgs.lib.genAttrs (import systems);
in
{
formatter = eachSystem (system: nixpkgs.legacyPackages.${system}.nixpkgs-fmt);
packages = eachSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
ex = example: pkgs.callPackage ./pkgs/print_config.nix {
inherit example;
};
in
rec {
default = example4;
example0 = ex ./example0.nix;
example1 = ex ./example1.nix;
example2 = ex ./example2.nix;
example3 = ex ./example3.nix;
example4 = ex ./example4.nix;
docker4 = pkgs.dockerTools.buildLayeredImage {
name = "rust-lsp";
config.Cmd = [
"${pkgs.bash}/bin/bash"
"-c"
"$(${pkgs.jq}/bin/jq -r .lsp.rust.start <${example4.moduleConfig}) --version"
];
};
docker4-load-and-run = pkgs.writeScriptBin "docker-load-and-run" ''
${pkgs.docker}/bin/docker run $(${pkgs.docker}/bin/docker load -q < ${docker4} | cut -d' ' -f3)
'';
example5 = ex ./example5.nix;
example6 = ex ./example6.nix;
});
};
}