{ description = "A custom synchronization tool"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs"; utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; }; in rec { packages = rec { sync-it = pkgs.rustPlatform.buildRustPackage rec { name = "sync-it"; version = "2.0.2"; src = ./.; cargoSha256 = "OHypC/H2I5nlrS331bsmnO09HwT8hicv1A31hCf9l1c="; meta = { description = "A simple, customizable synchronization tool."; license = "GPL3+"; }; }; devEnvironment = pkgs.mkShell { name = "sync-it-dev-environment"; buildInputs = [ pkgs.pre-commit pkgs.rustc pkgs.cargo pkgs.rust-analyzer pkgs.clippy pkgs.rustfmt pkgs.sloc ]; }; }; defaultPackage = packages.sync-it; devShell = packages.devEnvironment; } ); }