{ description = "A very basic flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; }; outputs = { self, nixpkgs }: let arch = "x86_64"; system = "${arch}-linux"; pkgs = import nixpkgs { inherit system; }; lib = pkgs.lib; fs = lib.fileset; # Cross Compilation Toolchain binutilsStage = import ./derivations/cross_toolchain/binutils.nix { pkgs = pkgs; }; gccStage1 = import ./derivations/cross_toolchain/gcc.nix { pkgs = pkgs; binutils = binutilsStage; }; linuxHeadersStage = import ./derivations/cross_toolchain/linuxHeaders.nix { pkgs = pkgs; cc1 = linuxHeadersStage; }; in { packages.${system}.crossToolchain = { linuxHeaders = linuxHeadersStage; gcc = gccStage1; binutils = binutilsStage; }; formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; devShells.x86_64-linux.default = pkgs.mkShell { buildInputs = with pkgs; [ git nixfmt-rfc-style ]; shellHook = '' echo "Welcome to LucyOS Dev Env" ''; }; }; }