diff options
| author | seth <[email protected]> | 2024-05-27 04:55:45 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2024-05-27 04:56:48 -0400 |
| commit | c69eea2f4823da476628742fbbec600ee95ac049 (patch) | |
| tree | 7cf3d87f5f202e6049ba44a06ac6fe9d3558826b /nix/package.nix | |
initial commit
Diffstat (limited to 'nix/package.nix')
| -rw-r--r-- | nix/package.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/nix/package.nix b/nix/package.nix new file mode 100644 index 0000000..2802233 --- /dev/null +++ b/nix/package.nix @@ -0,0 +1,50 @@ +{ + lib, + rustPlatform, + version, + lto ? true, + optimizeSize ? false, +}: +rustPlatform.buildRustPackage { + pname = "nixpkgs-tracker-bot"; + inherit version; + + src = lib.fileset.toSource { + root = ../.; + fileset = lib.fileset.unions [ + ../src + ../Cargo.toml + ../Cargo.lock + ]; + }; + + cargoLock = { + lockFile = ../Cargo.lock; + allowBuiltinFetchGit = true; + }; + + env = let + toRustFlags = lib.mapAttrs' ( + name: + lib.nameValuePair + "CARGO_BUILD_RELEASE_${lib.toUpper (builtins.replaceStrings ["-"] ["_"] name)}" + ); + in + lib.optionalAttrs lto (toRustFlags { + lto = "thin"; + }) + // lib.optionalAttrs optimizeSize (toRustFlags { + codegen-units = 1; + opt-level = "s"; + panic = "abort"; + strip = "symbols"; + }); + + meta = { + description = "A Discord app for tracking nixpkgs pull requests"; + homepage = "https://github.com/getchoo/nixpkgs-tracker-bot"; + mainProgram = "nixpkgs-tracker-bot"; + license = lib.licenses.mit; + maintainers = [lib.maintainers.getchoo]; + }; +} |
