53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
{
|
|
description = "Simpler Filehost";
|
|
|
|
inputs = {
|
|
nixpkgs.url = github:nixos/nixpkgs/release-22.05;
|
|
cargo2nix.url = github:cargo2nix/cargo2nix;
|
|
utils.url = github:numtide/flake-utils;
|
|
rust-overlay.url = github:oxalica/rust-overlay;
|
|
};
|
|
|
|
outputs = { self, nixpkgs, utils, cargo2nix, rust-overlay }:
|
|
utils.lib.eachDefaultSystem
|
|
(system:
|
|
let
|
|
overlays = [
|
|
cargo2nix.overlays.default
|
|
rust-overlay.overlays.default
|
|
];
|
|
|
|
pkgs = import nixpkgs {
|
|
inherit system overlays;
|
|
};
|
|
|
|
toolchain = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain;
|
|
|
|
rustPkgs = pkgs.rustBuilder.makePackageSet {
|
|
packageFun = import ./Cargo.nix;
|
|
rustToolchain = toolchain;
|
|
};
|
|
|
|
in
|
|
rec {
|
|
devShell = rustPkgs.workspaceShell {
|
|
packages = [ pkgs.rust-analyzer ];
|
|
};
|
|
|
|
packages = rec {
|
|
simpler-filehost = (rustPkgs.workspace.simpler-filehost { }).bin;
|
|
default = simpler-filehost;
|
|
image =
|
|
pkgs.dockerTools.buildImage {
|
|
name = "simpler-filehost";
|
|
config = {
|
|
Cmd = [ "${simpler-filehost}/bin/simpler-filehost" ];
|
|
Env = [ "ROCKET_ADDRESS=0.0.0.0" ];
|
|
};
|
|
};
|
|
};
|
|
defaultPackage = packages.default;
|
|
}
|
|
);
|
|
}
|