{ description = "Description for the project"; inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; lix-module = { url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; devshell.url = "github:numtide/devshell"; nixos-hardware = { url = "github:NixOS/nixos-hardware/master"; }; }; outputs = inputs @ { flake-parts, self, ... }: flake-parts.lib.mkFlake {inherit inputs;} { imports = [ inputs.devshell.flakeModule ./nixos/machines/wsl/configuration.nix ./nixos/machines/installer/configuration.nix ./nixos/machines/crash/machine.nix ./home-manager/machines/wsl/home.nix ./home-manager/machines/crash/home.nix ./devshells/rust.nix ./devshells/idris2.nix ./devshells/raku.nix ]; config = { systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; perSystem = { config, self', inputs', pkgs, system, ... }: { # Per-system attributes can be defined here. The self' and inputs' # module parameters provide easy access to attributes of the same # system. # Equivalent to inputs'.nixpkgs.legacyPackages.hello; packages.default = pkgs.hello; }; }; options = with inputs.nixpkgs.lib; { flake = flake-parts.lib.mkSubmoduleOptions { homeConfigurations = mkOption { type = types.lazyAttrsOf types.raw; default = {}; }; }; }; }; }