diff --git a/flake.lock b/flake.lock index f0b1053c..092faeac 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1705625727, - "narHash": "sha256-naMq6+TNLpEiBBjc0XaCbMLYJxJXWTZz4JGSpYGgIOM=", + "lastModified": 1705974079, + "narHash": "sha256-HyC3C2esW57j6bG0MKwX4kQi25ltslRnr6z2uvpadJo=", "owner": "ipetkov", "repo": "crane", - "rev": "8f515142e805dc377cf8edb0ff75d14a11307f89", + "rev": "0b4e511fe6e346381e31d355e03de52aa43e8cb2", "type": "github" }, "original": { @@ -28,11 +28,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1705731714, - "narHash": "sha256-aMeN/ASG4n7RIIPLiy+txoMdDTvIcaRDX6acbeeRtEU=", + "lastModified": 1706077451, + "narHash": "sha256-kd8Mlh+4NIG/NIkXeEwSIlwQuvysKJM4BeLrt2nvcc8=", "owner": "nix-community", "repo": "fenix", - "rev": "712f25ec7e1f5839d486b246a5afa5e31f5df6ff", + "rev": "77d5a2dd0b186c40953c435da6e0c2215d7e1dec", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705677747, - "narHash": "sha256-eyM3okYtMgYDgmYukoUzrmuoY4xl4FUujnsv/P6I/zI=", + "lastModified": 1705856552, + "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bbe7d8f876fbbe7c959c90ba2ae2852220573261", + "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1705697225, - "narHash": "sha256-eLMwix3LPsgqnbdLMWivBCSBrWnaAA50JtMNnInTopg=", + "lastModified": 1705864945, + "narHash": "sha256-ZATChFWHToTZQFLlzrzDUX8fjEbMHHBIyPaZU1JGmjI=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "67cfbf231c1e2ba3129529de950d1c4ca7921404", + "rev": "d410d4a2baf9e99b37b03dd42f06238b14374bf7", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 754e0b6f..1e81308b 100644 --- a/flake.nix +++ b/flake.nix @@ -47,6 +47,7 @@ ]; }; + # Use mold on Linux stdenv = if pkgs.stdenv.isLinux then pkgs.stdenvAdapters.useMoldLinker pkgs.stdenv else @@ -95,12 +96,44 @@ in { packages.default = builder { - src = ./.; + src = nix-filter { + root = ./.; + include = [ + "src" + "Cargo.toml" + "Cargo.lock" + ]; + }; + + # This is redundant with CI + doCheck = false; inherit env nativeBuildInputs stdenv; + + meta.mainProgram = cargoToml.package.name; + }; + + packages.oci-image = + let + package = self.packages.${system}.default; + in + pkgs.dockerTools.buildImage { + name = package.pname; + tag = "latest"; + config = { + # Use the `tini` init system so that signals (e.g. ctrl+c/SIGINT) are + # handled as expected + Entrypoint = [ + "${pkgs.lib.getExe' pkgs.tini "tini"}" + "--" + ]; + Cmd = [ + "${pkgs.lib.getExe package}" + ]; + }; }; devShells.default = (pkgs.mkShell.override { inherit stdenv; }) {