{ inputs = { naersk.url = "github:nix-community/naersk/master"; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, utils, naersk }: utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; naersk-lib = pkgs.callPackage naersk { }; rustTarget = naersk-lib.buildPackage ./.; in { defaultPackage = pkgs.dockerTools.buildImage { name = "udproxy"; config = { Cmd = [ "${rustTarget}/bin/udproxy" "--source=127.0.0.1:1337" "--dest=127.0.0.1:1338" "--low=./sleep.sh" "--used=./wake.sh" ]; copyToRoot = [ ./sleep.sh ./wake.sh "${pkgs.bash}/bin/bash" "${pkgs.cpulimit}/bin/cpulimit" ]; }; }; devShell = with pkgs; mkShell { buildInputs = [ netcat-gnu cargo rustc rustfmt pre-commit rustPackages.clippy ]; RUST_SRC_PATH = rustPlatform.rustLibSrc; }; } ); }