{ description = "swaytreesave flake"; inputs = { flake-schemas.url = "https://flakehub.com/f/DeterminateSystems/flake-schemas/*"; nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/*"; }; outputs = { self, flake-schemas, nixpkgs }: let supportedSystems = [ "x86_64-linux" ]; forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f { pkgs = import nixpkgs { inherit system; }; }); in { schemas = flake-schemas.schemas; devShells = forEachSupportedSystem ({ pkgs }: { default = pkgs.mkShell { packages = with pkgs; [ curl git jq wget nixpkgs-fmt ]; }; }); packages = forEachSupportedSystem ({ pkgs }: { default = let pname = "swaytreesave"; version = "0.4.0"; src = pkgs.fetchFromGitHub { owner = "fabienjuif"; repo = "swaytreesave"; rev = "v${version}"; sha256 = "sha256-aAJBbauOiFERABF13hMhxyvRBzcx5c1F+vbm/U+JS8o="; }; in pkgs.rustPlatform.buildRustPackage { inherit pname version src; cargoLock = { lockFile = "${src}/Cargo.lock"; }; meta = { description = "CLI to save and load your compositors tree/layout"; mainProgram = "swaytreesave"; homepage = "https://github.com/fabienjuif/swaytreesave"; maintainers = [ "wymillerlinux" ]; platforms = [ "x86_64-linux" ]; changelog = "https://github.com/fabienjuif/swaytreesave/releases/tag/v${version}"; }; }; }); }; }