1{2 description = "NixOS configuration management";34 inputs = {5 nixpkgs.url = "github:nixos/nixpkgs/master";6 rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; };7 flake-utils = { url = "github:numtide/flake-utils"; };8 };9 outputs = { self, rust-overlay, flake-utils, nixpkgs }: with nixpkgs.lib; rec {10 lib = import ./lib { inherit flake-utils; };11 } // flake-utils.lib.eachDefaultSystem (system:12 let13 pkgs = import nixpkgs14 {15 inherit system; overlays = [ (import rust-overlay) ];16 };17 llvmPkgs = pkgs.buildPackages.llvmPackages_11;18 rust = (pkgs.rustChannelOf { date = "2023-10-20"; channel = "nightly"; }).default.override { extensions = [ "rust-src" "rust-analyzer" ]; };19 rustPlatform = pkgs.makeRustPlatform { cargo = rust; rustc = rust; };20 in21 {22 packages = (import ./pkgs) pkgs pkgs;23 devShell = (pkgs.mkShell.override { stdenv = llvmPkgs.stdenv; }) {24 nativeBuildInputs = with pkgs; [25 rust26 lld27 cargo-edit28 cargo-udeps29 cargo-fuzz3031 pkg-config32 openssl33 bacon34 ];35 };36 });37}