summaryrefslogtreecommitdiff
path: root/nix/derivation.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2024-04-20 02:31:40 +0000
committerGitHub <[email protected]>2024-04-19 22:31:40 -0400
commit3d07413690c551d9f034c93af85ae8da5a495e14 (patch)
tree517d2e053ebdeb9a3be0ffce6dec36cbc4ce316e /nix/derivation.nix
parent1b92b254bc64b356f5c59657d2f0acc767bb2964 (diff)
spring cleaning (#165)
* treewide: lightly refactor everything * once_cell -> std::sync * remove build.rs we can get our target at runtime * commands::copypasta: refactor selection * drop owo_colors * reactboard: always remove author from count * commands: better handle behavior outside of guilds * ci: garnix -> gha * nix: drop flake-parts & pre-commit-hooks * nix: fix rust flags in derivation * add gha badge to readme * ci: fail when format changes are made * ci: only run on push to main * nix: fix nil script * nix: add libiconv to darwin deps * ci: disable fail-fast * nix: fix actionlint & static checks * ci: add release gates * nix: fix nil check again * ci: give release gates unique names * ci: only build static packages in docker workflow * nix: move dev outputs to subflake * fix some typos * nix: cleanup checks & dev shell * add editorconfig
Diffstat (limited to 'nix/derivation.nix')
-rw-r--r--nix/derivation.nix43
1 files changed, 20 insertions, 23 deletions
diff --git a/nix/derivation.nix b/nix/derivation.nix
index bb60706..fa4867a 100644
--- a/nix/derivation.nix
+++ b/nix/derivation.nix
@@ -4,7 +4,7 @@
rustPlatform,
darwin,
self,
- lto ? false,
+ lto ? true,
optimizeSize ? false,
}:
rustPlatform.buildRustPackage {
@@ -21,7 +21,6 @@ rustPlatform.buildRustPackage {
../src
../Cargo.toml
../Cargo.lock
- ../build.rs
];
};
@@ -33,30 +32,28 @@ rustPlatform.buildRustPackage {
CoreFoundation
Security
SystemConfiguration
+ darwin.libiconv
]);
- env = {
- GIT_SHA = self.shortRev or self.dirtyShortRev or "unknown-dirty";
- CARGO_BUILD_RUSTFLAGS = lib.concatStringsSep " " (
- lib.optionals lto [
- "-C"
- "lto=thin"
- "-C"
- "embed-bitcode=yes"
- "-Zdylib-lto"
- ]
- ++ lib.optionals optimizeSize [
- "-C"
- "codegen-units=1"
- "-C"
- "panic=abort"
- "-C"
- "strip=symbols"
- "-C"
- "opt-level=z"
- ]
+ env = let
+ toRustFlags = lib.mapAttrs' (
+ name:
+ lib.nameValuePair
+ "CARGO_BUILD_RELEASE_${lib.toUpper (builtins.replaceStrings ["-"] ["_"] name)}"
);
- };
+ in
+ {
+ GIT_SHA = self.shortRev or self.dirtyShortRev or "unknown-dirty";
+ }
+ // lib.optionalAttrs lto (toRustFlags {
+ lto = "thin";
+ })
+ // lib.optionalAttrs optimizeSize (toRustFlags {
+ codegen-units = 1;
+ opt-level = "s";
+ panic = "abort";
+ strip = "symbols";
+ });
meta = with lib; {
mainProgram = "teawiebot";