Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
7a05bf3d5e
|
|||
|
81008113e3
|
|||
|
bc7f84a854
|
|||
|
c95a397e58
|
@@ -37,6 +37,14 @@
|
|||||||
krantz.rust.devDeps = lib.mkOptionDefault (with pkgs; [
|
krantz.rust.devDeps = lib.mkOptionDefault (with pkgs; [
|
||||||
espflash
|
espflash
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
krantz.rust.cargoArtifacts.extraAttrs = lib.mkOptionDefault {
|
||||||
|
doCheck = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
krantz.rust.package.extraAttrs = lib.mkOptionDefault {
|
||||||
|
doCheck = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
+20
-5
@@ -43,9 +43,9 @@
|
|||||||
|
|
||||||
# Build *just* the cargo dependencies, so we can reuse
|
# Build *just* the cargo dependencies, so we can reuse
|
||||||
# all of that work (e.g. via cachix) when running in CI
|
# all of that work (e.g. via cachix) when running in CI
|
||||||
cargoArtifacts = craneLib.buildDepsOnly {
|
cargoArtifacts = craneLib.buildDepsOnly ({
|
||||||
inherit src buildInputs nativeBuildInputs;
|
inherit src buildInputs nativeBuildInputs;
|
||||||
};
|
} // cfg.cargoArtifacts.extraAttrs);
|
||||||
in {
|
in {
|
||||||
options.krantz.rust = {
|
options.krantz.rust = {
|
||||||
enable = lib.mkEnableOption "building a cargo project with crane";
|
enable = lib.mkEnableOption "building a cargo project with crane";
|
||||||
@@ -96,6 +96,17 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cargoArtifacts = {
|
||||||
|
extraAttrs = lib.mkOption {
|
||||||
|
description = "Extra attributes to merge into buildDepsOnly. See https://crane.dev/API.html#cranelibbuilddepsonly";
|
||||||
|
type = lib.types.attrs;
|
||||||
|
default = {};
|
||||||
|
example = {
|
||||||
|
doCheck = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
devShell = {
|
devShell = {
|
||||||
enable = lib.mkEnableOption "a rust development environment" // {default = true;};
|
enable = lib.mkEnableOption "a rust development environment" // {default = true;};
|
||||||
|
|
||||||
@@ -143,6 +154,8 @@
|
|||||||
|
|
||||||
nix = lib.mkEnableOption "formatting for nix files" // {default = true;};
|
nix = lib.mkEnableOption "formatting for nix files" // {default = true;};
|
||||||
rust = lib.mkEnableOption "formatting for rust files" // {default = true;};
|
rust = lib.mkEnableOption "formatting for rust files" // {default = true;};
|
||||||
|
toml = lib.mkEnableOption "formatting for toml files" // {default = true;};
|
||||||
|
markdown = lib.mkEnableOption "formatting for toml files" // {default = true;};
|
||||||
};
|
};
|
||||||
|
|
||||||
checks = {
|
checks = {
|
||||||
@@ -180,10 +193,9 @@
|
|||||||
# Accessible through 'nix build', 'nix shell', 'nix run', etc
|
# Accessible through 'nix build', 'nix shell', 'nix run', etc
|
||||||
packages = lib.mkIf cfg.package.enable {
|
packages = lib.mkIf cfg.package.enable {
|
||||||
${cfg.package.name} =
|
${cfg.package.name} =
|
||||||
craneLib.buildPackage {
|
craneLib.buildPackage ({
|
||||||
inherit src buildInputs nativeBuildInputs cargoArtifacts;
|
inherit src buildInputs nativeBuildInputs cargoArtifacts;
|
||||||
}
|
} // cfg.package.extraAttrs);
|
||||||
// cfg.package.extraAttrs;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Formatter for nix files, available through 'nix fmt'
|
# Formatter for nix files, available through 'nix fmt'
|
||||||
@@ -193,6 +205,9 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
edition = manifest.edition;
|
edition = manifest.edition;
|
||||||
};
|
};
|
||||||
|
taplo.enable = lib.mkIf cfg.formatter.toml true;
|
||||||
|
rumdl-check.enable = lib.mkIf cfg.formatter.markdown true;
|
||||||
|
rumdl-format.enable = lib.mkIf cfg.formatter.markdown true;
|
||||||
};
|
};
|
||||||
|
|
||||||
checks = lib.mkIf cfg.checks.enable {
|
checks = lib.mkIf cfg.checks.enable {
|
||||||
|
|||||||
Reference in New Issue
Block a user