{ description = "Nix tools to help you build portable services"; inputs.nixpkgs.url = "nixpkgs/nixos-unstable"; outputs = { self, nixpkgs, ... }: { overlay = final: prev: { portableService = prev.pkgs.callPackage ./. { }; }; packages.x86_64-linux.default = let pkgs = import nixpkgs { overlays = [ self.overlay ]; system = "x86_64-linux"; }; service = pkgs.substituteAll { name = "tailscaled.service"; src = ./ts/tailscaled.service.in; inherit (pkgs) tailscale; }; in pkgs.portableService { name = "tailscale"; version = pkgs.tailscale.version; homepage = "https://tailscale.com"; units = [ service ]; symlinks = [{ object = "${pkgs.cacert}/etc/ssl"; symlink = "/etc/ssl"; }]; }; }; }