summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2024-12-19 16:26:18 -0500
committerGitHub <[email protected]>2024-12-19 21:26:18 +0000
commit2ae2b978f3fad7a58cb129333b36a210bb200488 (patch)
treeef12b9e1a29462c4de6b787fcf9c34d80b563b9f /flake.nix
parent77309844e6b890544bc4eea7f03bbafe493ba61e (diff)
jolly winter cleanup (#251)
* ci: bump DeterminateSystems/nix-installer-action from 13 to 16 Bumps [DeterminateSystems/nix-installer-action](https://github.com/determinatesystems/nix-installer-action) from 13 to 16. - [Release notes](https://github.com/determinatesystems/nix-installer-action/releases) - [Commits](https://github.com/determinatesystems/nix-installer-action/compare/v13...v16) --- updated-dependencies: - dependency-name: DeterminateSystems/nix-installer-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> * crates: bump serde from 1.0.209 to 1.0.215 Bumps [serde](https://github.com/serde-rs/serde) from 1.0.209 to 1.0.215. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.215) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * crates: bump serde_json from 1.0.127 to 1.0.133 Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.127 to 1.0.133. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.127...v1.0.133) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * crates: bump tokio from 1.40.0 to 1.41.1 Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.40.0 to 1.41.1. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.40.0...tokio-1.41.1) --- updated-dependencies: - dependency-name: tokio dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * crates: bump reqwest from 0.12.7 to 0.12.9 Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.7 to 0.12.9. - [Release notes](https://github.com/seanmonstar/reqwest/releases) - [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md) - [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.7...v0.12.9) --- updated-dependencies: - dependency-name: reqwest dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * nix: update flake.lock * ci: bump DeterminateSystems/magic-nix-cache-action from 7 to 8 Bumps [DeterminateSystems/magic-nix-cache-action](https://github.com/determinatesystems/magic-nix-cache-action) from 7 to 8. - [Release notes](https://github.com/determinatesystems/magic-nix-cache-action/releases) - [Commits](https://github.com/determinatesystems/magic-nix-cache-action/compare/v7...v8) --- updated-dependencies: - dependency-name: DeterminateSystems/magic-nix-cache-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> * treewide: debrand * nix: adopt new darwin sdk * nix: drop treefmt * nix: misc formatting changes * ci: cleanup * nix: pass version info to static builds * nix: mv {derivation,package}.nix * eyre -> anyhow * remove 2024 edition warnings * format with rustfmt * remove optional commands * ci: don't include internal variables in job names * nix: enable for lto builds --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: getchoo-bot[bot] <183349775+getchoo-bot[bot]@users.noreply.github.com>
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix90
1 files changed, 65 insertions, 25 deletions
diff --git a/flake.nix b/flake.nix
index e03e35d..0e86328 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,26 +1,17 @@
{
- description = "teawie moment";
-
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
-
- ## Everything below this is optional
- ## `inputs.<name>.follows = ""`
-
- treefmt-nix = {
- url = "github:numtide/treefmt-nix";
- inputs.nixpkgs.follows = "nixpkgs";
- };
};
outputs =
{
self,
nixpkgs,
- treefmt-nix,
}:
+
let
inherit (nixpkgs) lib;
+
systems = [
"x86_64-linux"
"aarch64-linux"
@@ -29,19 +20,66 @@
];
forAllSystems = lib.genAttrs systems;
- nixpkgsFor = forAllSystems (system: nixpkgs.legacyPackages.${system});
- treefmtFor = forAllSystems (system: treefmt-nix.lib.evalModule nixpkgsFor.${system} ./treefmt.nix);
in
{
- checks = forAllSystems (system: {
- treefmt = treefmtFor.${system}.config.build.check self;
- });
+ checks = forAllSystems (
+ system:
+
+ let
+ pkgs = nixpkgs.legacyPackages.${system};
+
+ mkCheck =
+ name: nativeBuildInputs: script:
+ pkgs.runCommand "check-${name}" { inherit nativeBuildInputs; } ''
+ ${script} | tee $out
+ '';
+ in
+
+ {
+ clippy-sarif = pkgs.stdenv.mkDerivation {
+ name = "check-clippy-sarif";
+ inherit (self.packages.${system}.chill-discord-bot) src cargoDeps;
+
+ nativeBuildInputs = [
+ pkgs.cargo
+ pkgs.clippy
+ pkgs.clippy-sarif
+ pkgs.rustPlatform.cargoSetupHook
+ pkgs.rustc
+ pkgs.sarif-fmt
+ ];
+
+ buildPhase = ''
+ runHook preBuild
+
+ cargo clippy \
+ --all-features \
+ --all-targets \
+ --tests \
+ --message-format=json \
+ | clippy-sarif | tee $out | sarif-fmt
+
+ runHook postBuild
+ '';
+ };
+
+ actionlint = mkCheck "actionlint" [ pkgs.actionlint ] "actionlint ${self}/.github/workflows/*";
+ deadnix = mkCheck "deadnix" [ pkgs.deadnix ] "deadnix check ${self}";
+ nixfmt = mkCheck "nixfmt" [
+ pkgs.nixfmt-rfc-style
+ ] "find ${self} -type f -name '*.nix' | xargs nixfmt --check";
+ rustfmt = mkCheck "rustfmt" [ pkgs.cargo pkgs.rustfmt ] "cd ${self} && cargo fmt -- --check";
+ statix = mkCheck "statix" [ pkgs.statix ] "statix check ${self}";
+ }
+ );
devShells = forAllSystems (
system:
+
let
- pkgs = nixpkgsFor.${system};
+ pkgs = nixpkgs.legacyPackages.${system};
in
+
{
default = pkgs.mkShell {
packages = [
@@ -61,7 +99,7 @@
pkgs.redis
];
- inputsFrom = [ self.packages.${system}.teawie-bot ];
+ inputsFrom = [ self.packages.${system}.chill-discord-bot ];
RUST_SRC_PATH = "${pkgs.rustPlatform.rustLibSrc}";
};
@@ -73,24 +111,26 @@
self.formatter.${system}
];
- inputsFrom = [ self.packages.${system}.teawie-bot ];
+ inputsFrom = [ self.packages.${system}.chill-discord-bot ];
};
}
);
- formatter = forAllSystems (system: nixpkgsFor.${system}.nixfmt-rfc-style);
+ formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
- nixosModules.default = import ./nix/module.nix self;
+ nixosModules.default = lib.modules.importApply ./nix/module.nix { inherit self; };
packages = forAllSystems (
system:
+
let
- pkgs = nixpkgsFor.${system};
+ pkgs = nixpkgs.legacyPackages.${system};
packages' = self.packages.${system};
- staticWith = pkgs.callPackage ./nix/static.nix { inherit (packages') teawie-bot; };
+ staticWith = pkgs.callPackage ./nix/static.nix { inherit self; };
containerize = pkgs.callPackage ./nix/containerize.nix { };
in
+
{
container-amd64 = containerize packages'.static-x86_64;
container-arm64 = containerize packages'.static-aarch64;
@@ -98,9 +138,9 @@
static-x86_64 = staticWith { arch = "x86_64"; };
static-aarch64 = staticWith { arch = "aarch64"; };
- teawie-bot = pkgs.callPackage ./nix/derivation.nix { inherit self; };
+ chill-discord-bot = pkgs.callPackage ./nix/package.nix { inherit self; };
- default = self.packages.${system}.teawie-bot;
+ default = self.packages.${system}.chill-discord-bot;
}
);
};