Compare commits
3 Commits
d40b80a910
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
60448993c5
|
|||
|
0d1a37eef3
|
|||
|
ba2dce4b85
|
@@ -0,0 +1,8 @@
|
|||||||
|
[global]
|
||||||
|
disable = [
|
||||||
|
# line length limits
|
||||||
|
"MD013",
|
||||||
|
]
|
||||||
|
|
||||||
|
[MD057]
|
||||||
|
absolute-links = "relative_to_roots"
|
||||||
+2
-2
@@ -155,8 +155,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Formatter for nix files, available through 'nix fmt'
|
# Formatter for nix files, available through 'nix fmt'
|
||||||
treefmt = lib.mkIf cfg.formatter.enable {
|
treefmt.programs = lib.mkIf cfg.formatter.enable {
|
||||||
programs.alejandra.enable = lib.mkIf cfg.formatter.nix true;
|
alejandra.enable = lib.mkIf cfg.formatter.nix true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
./rust
|
./rust
|
||||||
./rust-esp32-c6
|
./rust-esp32-c6
|
||||||
|
|
||||||
|
inputs.treefmt-nix.flakeModule
|
||||||
flake-parts.flakeModules.flakeModules
|
flake-parts.flakeModules.flakeModules
|
||||||
# define the flake.templates option
|
# define the flake.templates option
|
||||||
({lib, ...}: {
|
({lib, ...}: {
|
||||||
@@ -57,6 +58,13 @@
|
|||||||
|
|
||||||
systems = ["aarch64-linux" "x86_64-linux" "aarch64-darwin"];
|
systems = ["aarch64-linux" "x86_64-linux" "aarch64-darwin"];
|
||||||
|
|
||||||
perSystem = {pkgs, ...}: {formatter = pkgs.alejandra;};
|
perSystem = {pkgs, ...}: {
|
||||||
|
treefmt.programs = {
|
||||||
|
alejandra.enable = true; # nix
|
||||||
|
taplo.enable = true; # toml
|
||||||
|
rumdl-check.enable = true; # markdown
|
||||||
|
rumdl-format.enable = true; # markdown
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[global]
|
[global]
|
||||||
disable = [
|
disable = [
|
||||||
# line length limits
|
# line length limits
|
||||||
"MD013",
|
"MD013",
|
||||||
]
|
]
|
||||||
|
|
||||||
[MD057]
|
[MD057]
|
||||||
|
|||||||
+23
-10
@@ -29,7 +29,7 @@
|
|||||||
manifest = (lib.importTOML "${src}/Cargo.toml").package;
|
manifest = (lib.importTOML "${src}/Cargo.toml").package;
|
||||||
|
|
||||||
craneLib =
|
craneLib =
|
||||||
if builtins.pathExists cfg.srcToolchain
|
if cfg.srcToolchain != null && builtins.pathExists cfg.srcToolchain
|
||||||
then
|
then
|
||||||
(inputs.crane.mkLib (pkgs.extend inputs.rust-overlay.overlays.default)).overrideToolchain (
|
(inputs.crane.mkLib (pkgs.extend inputs.rust-overlay.overlays.default)).overrideToolchain (
|
||||||
p: p.rust-bin.fromRustupToolchainFile cfg.srcToolchain
|
p: p.rust-bin.fromRustupToolchainFile cfg.srcToolchain
|
||||||
@@ -44,8 +44,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);
|
}
|
||||||
|
// 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";
|
||||||
@@ -60,14 +61,26 @@
|
|||||||
description = "A path to the filtered directory of the root of the crate.";
|
description = "A path to the filtered directory of the root of the crate.";
|
||||||
type = lib.types.path;
|
type = lib.types.path;
|
||||||
default = craneLib.cleanCargoSource cfg.src;
|
default = craneLib.cleanCargoSource cfg.src;
|
||||||
defaultText = lib.literalExpression "config.krantz.rust.craneLib cfg.src";
|
defaultText = lib.literalExpression "config.krantz.rust.craneLib.cleanCargoSource cfg.src";
|
||||||
example = lib.literalExpression "./.";
|
example = lib.literalExpression "./.";
|
||||||
};
|
};
|
||||||
srcToolchain = lib.mkOption {
|
srcToolchain = lib.mkOption {
|
||||||
description = "A path to the rust-toolchain(.toml) file for the repo. Will use the toolchain from nixpkgs if the file does not exist.";
|
description = "A path to the rust-toolchain(.toml) file for the repo. Will use the toolchain from nixpkgs if the file does not exist.";
|
||||||
type = lib.types.path;
|
type = lib.types.nullOr lib.types.path;
|
||||||
default = "${if cfg.src != null then cfg.src else "/dev/null"}/rust-toolchain.toml";
|
default =
|
||||||
defaultText = lib.literalExpression "cfg.src + \"/rust-toolchain.toml\"";
|
if cfg.src != null
|
||||||
|
then cfg.src + "/rust-toolchain.toml"
|
||||||
|
else null;
|
||||||
|
defaultText =
|
||||||
|
lib.literalExpression
|
||||||
|
/*
|
||||||
|
nix
|
||||||
|
*/
|
||||||
|
''
|
||||||
|
if cfg.src != null
|
||||||
|
then cfg.src + "/rust-toolchain.toml"
|
||||||
|
else null;
|
||||||
|
'';
|
||||||
example = lib.literalExpression "./rust-toolchain";
|
example = lib.literalExpression "./rust-toolchain";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -192,10 +205,10 @@
|
|||||||
# Your custom packages
|
# Your custom packages
|
||||||
# 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'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[global]
|
[global]
|
||||||
disable = [
|
disable = [
|
||||||
# line length limits
|
# line length limits
|
||||||
"MD013",
|
"MD013",
|
||||||
]
|
]
|
||||||
|
|
||||||
[MD057]
|
[MD057]
|
||||||
|
|||||||
Reference in New Issue
Block a user