summaryrefslogtreecommitdiff
path: root/nix/derivation.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2024-08-09 23:35:41 -0400
committerGitHub <[email protected]>2024-08-09 23:35:41 -0400
commitb643a6a235b0c1c9902b97421f24eff2b0d0a5ac (patch)
tree350794c0e9330fb77367838313bc6bb97278a0aa /nix/derivation.nix
parent372780546b508684839916e5ad54c9e90456a94f (diff)
tree-wide: end of summer cleanup (#214)
* api: refactor & rename module to http * client: split from main.rs * tree-wide: use eyre::Report as error * nix: alejandra -> nixfmt * nix: start using treefmt-nix * nix: simplify flake * nix: refactor derivation & docker image * nix: remove overlay * ci: update & cleanup workflows * commands: assign all commands automatically * commands/copypasta: remove * http/teawie: update response struct for upstream rust rewrite * handlers: rename modules to events; flatten * crates: rename self to teawie-bot * nix: fenix -> rust-overlay i want a specific rust version grrrrrrr * ci: pin rust to 1.79 this is what our nix dev shell uses and what we can compile on. it seems the time crate doesn't like v1.80 of the compiler :( * ci: always run release gates * nix: fix static toolchain * nix: rust-overlay -> nixpkgs * ci: adopt actions-rust-lang actions * nix: use docker arch names for containers * crates/time: 0.3.30 -> 0.3.36 fixes building on rust 1.80.0
Diffstat (limited to 'nix/derivation.nix')
-rw-r--r--nix/derivation.nix67
1 files changed, 36 insertions, 31 deletions
diff --git a/nix/derivation.nix b/nix/derivation.nix
index 6a25976..955f601 100644
--- a/nix/derivation.nix
+++ b/nix/derivation.nix
@@ -3,46 +3,51 @@
stdenv,
rustPlatform,
darwin,
- self ? {inherit ((lib.importTOML ../Cargo.toml).package) version;},
+ self ? { },
lto ? true,
optimizeSize ? false,
}:
+let
+ fs = lib.fileset;
+in
rustPlatform.buildRustPackage {
- pname = "teawiebot";
- version =
- (lib.importTOML ../Cargo.toml).package.version
- + "-"
- + self.shortRev or self.dirtyShortRev or self.version or "unknown";
+ pname = "teawie-bot";
+ version = (lib.importTOML ../Cargo.toml).package.version or "unknown";
- __structuredAttrs = true;
-
- src = lib.fileset.toSource {
+ src = fs.toSource {
root = ../.;
- fileset = lib.fileset.unions [
- ../src
- ../Cargo.toml
- ../Cargo.lock
- ];
+ fileset = fs.intersection (fs.gitTracked ../.) (
+ lib.fileset.unions [
+ ../src
+ ../Cargo.toml
+ ../Cargo.lock
+ ]
+ );
};
cargoLock = {
lockFile = ../Cargo.lock;
};
- buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
- CoreFoundation
- Security
- SystemConfiguration
- darwin.libiconv
- ]);
+ buildInputs = lib.optionals stdenv.isDarwin (
+ with darwin.apple_sdk.frameworks;
+ [
+ CoreFoundation
+ Security
+ SystemConfiguration
+ darwin.libiconv
+ ]
+ );
- env = let
- toRustFlags = lib.mapAttrs' (
- name:
- lib.nameValuePair
- "CARGO_BUILD_RELEASE_${lib.toUpper (builtins.replaceStrings ["-"] ["_"] name)}"
- );
- in
+ 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";
}
@@ -56,11 +61,11 @@ rustPlatform.buildRustPackage {
strip = "symbols";
});
- meta = with lib; {
- mainProgram = "teawiebot";
+ meta = {
description = "funni bot";
homepage = "https://github.com/getchoo/teawiebot";
- license = licenses.mit;
- maintainers = with maintainers; [getchoo];
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ getchoo ];
+ mainProgram = "teawie-bot";
};
}