From 35e34c27f7806d7aebb8d6bf0c426e6ef3ee2039 Mon Sep 17 00:00:00 2001 From: Reed Krantz Date: Wed, 18 Feb 2026 18:14:12 -0600 Subject: [PATCH] feat(flake): add treefmt for formatting all files --- Cargo.toml | 2 +- flake.lock | 23 ++++++++++++++++++++++- flake.nix | 22 +++++++++++++++++----- src/components/calendar/mod.rs | 2 +- src/components/date_picker/component.rs | 2 +- src/components/date_picker/mod.rs | 2 +- src/components/edit_quote.rs | 4 ++-- src/components/popover/mod.rs | 2 +- 8 files changed, 46 insertions(+), 13 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f48b0b6..2beb0bd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "squad-quote-store" version = "0.1.0" authors = ["Reed Krantz "] -edition = "2021" +edition = "2024" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/flake.lock b/flake.lock index 3444796..4da8fc2 100644 --- a/flake.lock +++ b/flake.lock @@ -69,7 +69,8 @@ "crane": "crane", "flake-parts": "flake-parts", "nixpkgs": "nixpkgs", - "rust-overlay": "rust-overlay" + "rust-overlay": "rust-overlay", + "treefmt-nix": "treefmt-nix" } }, "rust-overlay": { @@ -91,6 +92,26 @@ "repo": "rust-overlay", "type": "github" } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770228511, + "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index b72b262..c1fe9f8 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,11 @@ flake-parts.url = "github:hercules-ci/flake-parts"; + treefmt-nix = { + url = "github:numtide/treefmt-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + crane.url = "github:ipetkov/crane"; rust-overlay = { @@ -17,11 +22,16 @@ outputs = { nixpkgs, flake-parts, + treefmt-nix, crane, rust-overlay, ... } @ inputs: flake-parts.lib.mkFlake {inherit inputs;} { + imports = [ + treefmt-nix.flakeModule + ]; + systems = ["aarch64-linux" "x86_64-linux" "aarch64-darwin" "x86_64-darwin"]; perSystem = {system, ...}: let @@ -71,7 +81,13 @@ }; # Formatter for nix files, available through 'nix fmt' - formatter = pkgs.alejandra; + treefmt = { + programs.alejandra.enable = true; + programs.rustfmt = { + enable = true; + edition = (builtins.fromTOML (builtins.readFile "${src}/Cargo.toml")).package.edition; + }; + }; # Your custom packages # Accessible through 'nix build', 'nix shell', 'nix run', etc @@ -86,10 +102,6 @@ inherit src buildInputs nativeBuildInputs cargoArtifacts; cargoClippyExtraArgs = "-- --deny warnings"; }; - - fmt = craneLib.cargoFmt { - inherit src buildInputs nativeBuildInputs; - }; }; }; }; diff --git a/src/components/calendar/mod.rs b/src/components/calendar/mod.rs index 9a8ae55..2590c01 100644 --- a/src/components/calendar/mod.rs +++ b/src/components/calendar/mod.rs @@ -1,2 +1,2 @@ mod component; -pub use component::*; \ No newline at end of file +pub use component::*; diff --git a/src/components/date_picker/component.rs b/src/components/date_picker/component.rs index a1bd04f..7c4c20c 100644 --- a/src/components/date_picker/component.rs +++ b/src/components/date_picker/component.rs @@ -1,9 +1,9 @@ use dioxus::prelude::*; use dioxus_primitives::{ + ContentAlign, date_picker::{self, DatePickerInputProps, DatePickerProps, DateRangePickerProps}, popover::{PopoverContentProps, PopoverTriggerProps}, - ContentAlign, }; use super::super::calendar::*; diff --git a/src/components/date_picker/mod.rs b/src/components/date_picker/mod.rs index 9a8ae55..2590c01 100644 --- a/src/components/date_picker/mod.rs +++ b/src/components/date_picker/mod.rs @@ -1,2 +1,2 @@ mod component; -pub use component::*; \ No newline at end of file +pub use component::*; diff --git a/src/components/edit_quote.rs b/src/components/edit_quote.rs index b9877aa..9450d85 100644 --- a/src/components/edit_quote.rs +++ b/src/components/edit_quote.rs @@ -1,11 +1,11 @@ use crate::components::{ + Input, date_picker::{DatePicker, DatePickerInput}, textarea::Textarea, - Input, }; use dioxus::prelude::*; -use time::{macros::offset, OffsetDateTime}; +use time::{OffsetDateTime, macros::offset}; #[component] pub fn EditQuote() -> Element { diff --git a/src/components/popover/mod.rs b/src/components/popover/mod.rs index 9a8ae55..2590c01 100644 --- a/src/components/popover/mod.rs +++ b/src/components/popover/mod.rs @@ -1,2 +1,2 @@ mod component; -pub use component::*; \ No newline at end of file +pub use component::*;