{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixos-wsl = { url = "github:nix-community/NixOS-WSL"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-anywhere = { url = "github:nix-community/nixos-anywhere"; inputs = { nixpkgs.follows = "nixpkgs"; flake-parts.follows = "flake-parts"; disko.follows = "disko"; treefmt-nix.follows = "treefmt-nix"; }; }; nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-compat.url = "github:nix-community/flake-compat"; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; treefmt-nix = { url = "github:numtide/treefmt-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; git-hooks = { url = "github:cachix/git-hooks.nix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; }; }; nixvim.url = "github:nix-community/nixvim"; stylix = { url = "github:danth/stylix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; home-manager.follows = "home-manager"; }; }; nur.url = "github:nix-community/NUR"; }; outputs = { self, nixpkgs, flake-parts, ... } @ inputs: flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" ]; imports = [ ./nix/devshell.nix ./nix/pre-commit.nix ./nix/treefmt.nix ]; perSystem = { pkgs, system, ... }: { _module.args = { pkgs = import inputs.nixpkgs { inherit system; overlays = [ self.overlays.default ]; config = { allowUnfree = true; allowAliases = true; }; }; }; }; flake = { overlays.default = nixpkgs.lib.composeManyExtensions [ inputs.nixvim.overlays.default inputs.nur.overlay ]; nixosConfigurations."ifm10n32359" = nixpkgs.lib.nixosSystem { modules = with inputs; [ nixos-wsl.nixosModules.default nixvim.nixosModules.nixvim home-manager.nixosModules.home-manager stylix.nixosModules.stylix ./modules ]; }; }; }; }