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'
|
# Formatter for nix files, available through 'nix fmt'
|
||||||
treefmt.programs = lib.mkIf cfg.formatter.enable {
|
treefmt = lib.mkIf cfg.formatter.enable {
|
||||||
alejandra.enable = lib.mkIf cfg.formatter.nix true;
|
programs.alejandra.enable = lib.mkIf cfg.formatter.nix true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -36,7 +36,6 @@
|
|||||||
./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, ...}: {
|
||||||
@@ -58,13 +57,6 @@
|
|||||||
|
|
||||||
systems = ["aarch64-linux" "x86_64-linux" "aarch64-darwin"];
|
systems = ["aarch64-linux" "x86_64-linux" "aarch64-darwin"];
|
||||||
|
|
||||||
perSystem = {pkgs, ...}: {
|
perSystem = {pkgs, ...}: {formatter = pkgs.alejandra;};
|
||||||
treefmt.programs = {
|
|
||||||
alejandra.enable = true; # nix
|
|
||||||
taplo.enable = true; # toml
|
|
||||||
rumdl-check.enable = true; # markdown
|
|
||||||
rumdl-format.enable = true; # markdown
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,14 +37,6 @@
|
|||||||
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;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -8,8 +8,7 @@ DEFMT_LOG = "info"
|
|||||||
rustflags = [
|
rustflags = [
|
||||||
# Required to obtain backtraces (e.g. when using the "esp-backtrace" crate.)
|
# Required to obtain backtraces (e.g. when using the "esp-backtrace" crate.)
|
||||||
# NOTE: May negatively impact performance of produced code
|
# NOTE: May negatively impact performance of produced code
|
||||||
"-C",
|
"-C", "force-frame-pointers",
|
||||||
"force-frame-pointers",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
target = "riscv32imac-unknown-none-elf"
|
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";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
|
|
||||||
project-templates = {
|
project-templates = {
|
||||||
url = "git+https://git.krantz.one/reed/project-templates";
|
url = "git+file:///home/reed/code/project-templates";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.flake-parts.follows = "flake-parts";
|
inputs.flake-parts.follows = "flake-parts";
|
||||||
};
|
};
|
||||||
|
|||||||
+13
-41
@@ -29,7 +29,7 @@
|
|||||||
manifest = (lib.importTOML "${src}/Cargo.toml").package;
|
manifest = (lib.importTOML "${src}/Cargo.toml").package;
|
||||||
|
|
||||||
craneLib =
|
craneLib =
|
||||||
if cfg.srcToolchain != null && builtins.pathExists cfg.srcToolchain
|
if 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
|
||||||
@@ -43,10 +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";
|
||||||
@@ -61,26 +60,14 @@
|
|||||||
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.cleanCargoSource cfg.src";
|
defaultText = lib.literalExpression "config.krantz.rust.craneLib 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.nullOr lib.types.path;
|
type = lib.types.path;
|
||||||
default =
|
default = "${if cfg.src != null then cfg.src else "/dev/null"}/rust-toolchain.toml";
|
||||||
if cfg.src != null
|
defaultText = lib.literalExpression "cfg.src + \"/rust-toolchain.toml\"";
|
||||||
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";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -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 = {
|
devShell = {
|
||||||
enable = lib.mkEnableOption "a rust development environment" // {default = true;};
|
enable = lib.mkEnableOption "a rust development environment" // {default = true;};
|
||||||
|
|
||||||
@@ -167,8 +143,6 @@
|
|||||||
|
|
||||||
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 = {
|
||||||
@@ -205,22 +179,20 @@
|
|||||||
# 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} = craneLib.buildPackage ({
|
${cfg.package.name} =
|
||||||
|
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'
|
||||||
treefmt.programs = lib.mkIf cfg.formatter.enable {
|
treefmt = lib.mkIf cfg.formatter.enable {
|
||||||
alejandra.enable = lib.mkIf cfg.formatter.nix true;
|
programs.alejandra.enable = lib.mkIf cfg.formatter.nix true;
|
||||||
rustfmt = lib.mkIf cfg.formatter.rust {
|
programs.rustfmt = lib.mkIf cfg.formatter.rust {
|
||||||
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 {
|
||||||
|
|||||||
@@ -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"] }
|
clap = { version = "*", features = ["derive"] }
|
||||||
figment = { version = "*", features = ["toml", "env", "json"] }
|
figment = { version = "*", features = ["toml", "env", "json"] }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user