Your one-stop-cake-shop for everything Freshly Baked has to offer
at main 2.0 kB view raw
1# SPDX-FileCopyrightText: 2025 FreshlyBakedCake 2# 3# SPDX-License-Identifier: MIT 4 5{ config, lib }: 6{ 7 config = { 8 packages.default = config.packages.menu; 9 packages.menu = { 10 systems = [ 11 "x86_64-linux" 12 "aarch64-linux" 13 ]; 14 15 package = 16 { 17 fenix, 18 makeRustPlatform, 19 lib, 20 ... 21 }: 22 let 23 toolchain = fenix.complete.toolchain; 24 25 manifest = (lib.importTOML ./Cargo.toml).package; 26 27 platform = makeRustPlatform { 28 cargo = toolchain; 29 rustc = toolchain; 30 }; 31 in 32 platform.buildRustPackage { 33 meta.mainProgram = "menu"; 34 pname = manifest.name; 35 version = manifest.version; 36 37 src = ./.; 38 39 cargoLock.lockFile = ./Cargo.lock; 40 }; 41 }; 42 43 shells.default = config.shells.menu; 44 shells.menu = { 45 systems = [ "x86_64-linux" ]; 46 47 shell = 48 { 49 bacon, 50 devenv, 51 fenix, 52 mkShell, 53 pkg-config, 54 pkgs, 55 reuse, 56 sqlx-cli, 57 stdenv, 58 ... 59 }: 60 mkShell { 61 packages = [ 62 bacon 63 config.inputs.nilla-cli.result.packages.nilla-cli.result.${stdenv.hostPlatform.system} 64 config.inputs.nixpkgs.result.${stdenv.hostPlatform.system}.deadnix 65 # config.packages.nilla-fmt.result.${stdenv.hostPlatform.system} 66 # config.packages.treefmt.result.${stdenv.hostPlatform.system} 67 (config.inputs.npins.result { 68 inherit pkgs; 69 inherit (stdenv.hostPlatform) system; 70 }) 71 devenv 72 pkg-config 73 reuse 74 (fenix.complete.withComponents [ 75 "cargo" 76 "clippy" 77 "rust-src" 78 "rustc" 79 "rustfmt" 80 "rust-analyzer" 81 ]) 82 sqlx-cli 83 ]; 84 }; 85 }; 86 }; 87}