1{2 description = "NixOS configuration management";34 inputs = {5 nixpkgs.url = "github:nixos/nixpkgs/master";6 rust-overlay = {7 url = "github:oxalica/rust-overlay";8 inputs.nixpkgs.follows = "nixpkgs";9 };10 flake-utils = {url = "github:numtide/flake-utils";};11 };12 outputs = {13 self,14 rust-overlay,15 flake-utils,16 nixpkgs,17 }:18 with nixpkgs.lib;19 {20 lib = import ./lib {inherit flake-utils;};21 }22 // flake-utils.lib.eachDefaultSystem (system: let23 pkgs =24 import nixpkgs25 {26 inherit system;27 overlays = [(import rust-overlay)];28 };29 llvmPkgs = pkgs.buildPackages.llvmPackages_11;30 rust =31 (pkgs.rustChannelOf {32 date = "2024-02-10";33 channel = "nightly";34 })35 .default36 .override {extensions = ["rust-src" "rust-analyzer"];};37 in {38 packages = (import ./pkgs) pkgs pkgs;39 devShell = (pkgs.mkShell.override {stdenv = llvmPkgs.stdenv;}) {40 nativeBuildInputs = with pkgs; [41 alejandra42 rust43 lld44 cargo-edit45 cargo-udeps46 cargo-fuzz47 cargo-watch48 cargo-outdated4950 pkg-config51 openssl52 bacon53 ];54 };55 });56}