Compare commits
1
Commits
master
..
25609ea025
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
25609ea025
|
@@ -1,8 +0,0 @@
|
||||
[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'
|
||||
treefmt.programs = lib.mkIf cfg.formatter.enable {
|
||||
alejandra.enable = lib.mkIf cfg.formatter.nix true;
|
||||
treefmt = lib.mkIf cfg.formatter.enable {
|
||||
programs.alejandra.enable = lib.mkIf cfg.formatter.nix true;
|
||||
};
|
||||
};
|
||||
});
|
||||
|
||||
Generated
+18
-18
@@ -95,11 +95,11 @@
|
||||
},
|
||||
"crane": {
|
||||
"locked": {
|
||||
"lastModified": 1781825982,
|
||||
"narHash": "sha256-SlXKwIRIhrOSAcTjCB3ftPLzJWZStQIPS7J1FlZPnKk=",
|
||||
"lastModified": 1777335812,
|
||||
"narHash": "sha256-bEg5xoAxAwsyfnGhkEX7RJViTIBIYPd8ISg4O1c0HFc=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "469fd08d0bcf6926321fa973c6777fbc87785dd7",
|
||||
"rev": "5e0fb2f64edff2822249f21293b8304dedaaf676",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -113,11 +113,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778716662,
|
||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||
"lastModified": 1775087534,
|
||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -162,11 +162,11 @@
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1777168982,
|
||||
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
|
||||
"lastModified": 1774748309,
|
||||
"narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
|
||||
"rev": "333c4e0545a6da976206c74db8773a1645b5870a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -177,11 +177,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1782723713,
|
||||
"narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=",
|
||||
"lastModified": 1777268161,
|
||||
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
|
||||
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -273,11 +273,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782789458,
|
||||
"narHash": "sha256-CR55gKCChD9ffN1Ag5az20Z3RD4tylHlcM1SSohkMA8=",
|
||||
"lastModified": 1780197589,
|
||||
"narHash": "sha256-FVCr2Ij/jKf59a4LW481eeOF6rJRreOBrVgW/aUBTrw=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "067959ef838c440558ca519cf08ca87f43c3db3a",
|
||||
"rev": "21632e942d89bf1cce4e5a63d7e58a215a0cbfcc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -308,11 +308,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780220602,
|
||||
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||
"lastModified": 1775636079,
|
||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
./rust
|
||||
./rust-esp32-c6
|
||||
|
||||
inputs.treefmt-nix.flakeModule
|
||||
flake-parts.flakeModules.flakeModules
|
||||
# define the flake.templates option
|
||||
({lib, ...}: {
|
||||
@@ -58,13 +57,6 @@
|
||||
|
||||
systems = ["aarch64-linux" "x86_64-linux" "aarch64-darwin"];
|
||||
|
||||
perSystem = {pkgs, ...}: {
|
||||
treefmt.programs = {
|
||||
alejandra.enable = true; # nix
|
||||
taplo.enable = true; # toml
|
||||
rumdl-check.enable = true; # markdown
|
||||
rumdl-format.enable = true; # markdown
|
||||
};
|
||||
};
|
||||
perSystem = {pkgs, ...}: {formatter = pkgs.alejandra;};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -37,14 +37,6 @@
|
||||
krantz.rust.devDeps = lib.mkOptionDefault (with pkgs; [
|
||||
espflash
|
||||
]);
|
||||
|
||||
krantz.rust.cargoArtifacts.extraAttrs = lib.mkOptionDefault {
|
||||
doCheck = false;
|
||||
};
|
||||
|
||||
krantz.rust.package.extraAttrs = lib.mkOptionDefault {
|
||||
doCheck = false;
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
@@ -8,8 +8,7 @@ DEFMT_LOG = "info"
|
||||
rustflags = [
|
||||
# Required to obtain backtraces (e.g. when using the "esp-backtrace" crate.)
|
||||
# NOTE: May negatively impact performance of produced code
|
||||
"-C",
|
||||
"force-frame-pointers",
|
||||
"-C", "force-frame-pointers",
|
||||
]
|
||||
|
||||
target = "riscv32imac-unknown-none-elf"
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
[global]
|
||||
disable = [
|
||||
# line length limits
|
||||
"MD013",
|
||||
]
|
||||
|
||||
[MD057]
|
||||
absolute-links = "relative_to_roots"
|
||||
@@ -7,7 +7,7 @@
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
|
||||
project-templates = {
|
||||
url = "git+https://git.krantz.one/reed/project-templates";
|
||||
url = "git+file:///home/reed/code/project-templates";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.flake-parts.follows = "flake-parts";
|
||||
};
|
||||
|
||||
+13
-41
@@ -29,7 +29,7 @@
|
||||
manifest = (lib.importTOML "${src}/Cargo.toml").package;
|
||||
|
||||
craneLib =
|
||||
if cfg.srcToolchain != null && builtins.pathExists cfg.srcToolchain
|
||||
if builtins.pathExists cfg.srcToolchain
|
||||
then
|
||||
(inputs.crane.mkLib (pkgs.extend inputs.rust-overlay.overlays.default)).overrideToolchain (
|
||||
p: p.rust-bin.fromRustupToolchainFile cfg.srcToolchain
|
||||
@@ -43,10 +43,9 @@
|
||||
|
||||
# Build *just* the cargo dependencies, so we can reuse
|
||||
# all of that work (e.g. via cachix) when running in CI
|
||||
cargoArtifacts = craneLib.buildDepsOnly ({
|
||||
cargoArtifacts = craneLib.buildDepsOnly {
|
||||
inherit src buildInputs nativeBuildInputs;
|
||||
}
|
||||
// cfg.cargoArtifacts.extraAttrs);
|
||||
};
|
||||
in {
|
||||
options.krantz.rust = {
|
||||
enable = lib.mkEnableOption "building a cargo project with crane";
|
||||
@@ -61,26 +60,14 @@
|
||||
description = "A path to the filtered directory of the root of the crate.";
|
||||
type = lib.types.path;
|
||||
default = craneLib.cleanCargoSource cfg.src;
|
||||
defaultText = lib.literalExpression "config.krantz.rust.craneLib.cleanCargoSource cfg.src";
|
||||
defaultText = lib.literalExpression "config.krantz.rust.craneLib cfg.src";
|
||||
example = lib.literalExpression "./.";
|
||||
};
|
||||
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.";
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default =
|
||||
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;
|
||||
'';
|
||||
type = lib.types.path;
|
||||
default = "${if cfg.src != null then cfg.src else "/dev/null"}/rust-toolchain.toml";
|
||||
defaultText = lib.literalExpression "cfg.src + \"/rust-toolchain.toml\"";
|
||||
example = lib.literalExpression "./rust-toolchain";
|
||||
};
|
||||
|
||||
@@ -109,17 +96,6 @@
|
||||
];
|
||||
};
|
||||
|
||||
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 = {
|
||||
enable = lib.mkEnableOption "a rust development environment" // {default = true;};
|
||||
|
||||
@@ -167,8 +143,6 @@
|
||||
|
||||
nix = lib.mkEnableOption "formatting for nix 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 = {
|
||||
@@ -205,22 +179,20 @@
|
||||
# Your custom packages
|
||||
# Accessible through 'nix build', 'nix shell', 'nix run', etc
|
||||
packages = lib.mkIf cfg.package.enable {
|
||||
${cfg.package.name} = craneLib.buildPackage ({
|
||||
${cfg.package.name} =
|
||||
craneLib.buildPackage {
|
||||
inherit src buildInputs nativeBuildInputs cargoArtifacts;
|
||||
}
|
||||
// cfg.package.extraAttrs);
|
||||
// cfg.package.extraAttrs;
|
||||
};
|
||||
|
||||
# Formatter for nix files, available through 'nix fmt'
|
||||
treefmt.programs = lib.mkIf cfg.formatter.enable {
|
||||
alejandra.enable = lib.mkIf cfg.formatter.nix true;
|
||||
rustfmt = lib.mkIf cfg.formatter.rust {
|
||||
treefmt = lib.mkIf cfg.formatter.enable {
|
||||
programs.alejandra.enable = lib.mkIf cfg.formatter.nix true;
|
||||
programs.rustfmt = lib.mkIf cfg.formatter.rust {
|
||||
enable = true;
|
||||
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 {
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
[global]
|
||||
disable = [
|
||||
# line length limits
|
||||
"MD013",
|
||||
]
|
||||
|
||||
[MD057]
|
||||
absolute-links = "relative_to_roots"
|
||||
@@ -15,3 +15,4 @@ tracing-subscriber = "*"
|
||||
|
||||
clap = { version = "*", features = ["derive"] }
|
||||
figment = { version = "*", features = ["toml", "env", "json"] }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user