website/flake.nix

70 lines
1.6 KiB
Nix

{
description = "Flake for mc rust proxy";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
rust-overlay,
}: let
# rust-overlay = import rust-overlay;
system = "x86_64-linux";
pkgs =
import nixpkgs
{
inherit system;
overlays = [rust-overlay.overlays.default];
};
in {
devShells.${system}.default = pkgs.mkShell {
buildInputs = with pkgs; [
rust-bin.nightly.latest.default
rust-analyzer
];
# shellHook = ''
# echo "Hello from nix dev shell"
# '';
};
formatter.${system} = pkgs.alejandra;
packages.${system}.default = pkgs.stdenv.mkDerivation rec {
pname = "webbisitey-${version}";
version = "0.1.0";
src = ./src/..;
runtime = ./public;
nativeBuildInputs = [
pkgs.makeWrapper
pkgs.rust-bin.nightly.latest.default
];
buildPhase = ''
runHook preBuild
cargo build -r
mkdir -p $out/bin
cp target/release/webbisitey $out/bin
runHook postBuild
'';
installPhase = ''
makeWrapper $out/bin/webbisitey $out/bin/webbisitey-wrapped --run 'cd $(dirname $0)';
cp -r $runtime $out/bin/public
'';
meta = {
description = "Website server backend";
license = pkgs.lib.licenses.mit;
mainProgram = "webbisitey-wrapped";
};
};
};
}