package.nix
1 { 2 crane, 3 lib, 4 pkgs, 5 ... 6 }: 7 8 let 9 craneLib = crane.mkLib pkgs; 10 11 commonArgs = { 12 src = lib.fileset.toSource { 13 root = ../.; 14 fileset = lib.fileset.unions [ 15 ../Cargo.lock 16 ../Cargo.toml 17 ../src 18 ../config.toml 19 ../users.toml 20 ]; 21 }; 22 23 cargoArtifacts = craneLib.buildDepsOnly ( 24 commonArgs 25 // { 26 src = lib.fileset.toSource { 27 root = ../.; 28 fileset = lib.fileset.unions [ ../Cargo.lock ]; 29 }; 30 } 31 ); 32 }; 33 in 34 35 craneLib.buildPackage ( 36 commonArgs 37 // { 38 passthru.clippy = craneLib.cargoClippy ( 39 commonArgs // { cargoClippyExtraArgs = "--all-targets -- --deny warnings"; } 40 ); 41 42 meta = { 43 description = "Matrix bot for Advent of Code"; 44 homepage = "https://radicle.defelo.de/nodes/radicle.defelo.de/rad:zT8xLU95EPRhK1MJDtYKae8PNwjC"; 45 license = lib.licenses.mit; 46 mainProgram = "aocbot"; 47 maintainers = with lib.maintainers; [ defelo ]; 48 }; 49 } 50 )