# This flake was initially generated by fh, the CLI for FlakeHub (version 0.1.9)
{
  # A helpful description of your flake
  description = "My NixOS configuration";

  # Trick renovate into accepting this lockfile (see https://github.com/renovatebot/renovate/issues/29721)
  # "github:NixOS/nixpkgs/nixos-unstable"

  # Flake inputs
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
    unstable.follows = "nixvim/nixpkgs";
    # Lix
    lix-module = {
      url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz";
      inputs = {
        nixpkgs.follows = "nixpkgs";
        flake-utils.inputs.systems.follows = "systems";
      };
    };
    # Modules
    home-manager = {
      url = "github:nix-community/home-manager/release-24.11";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    stylix = {
      url = "github:danth/stylix/release-24.11";
      inputs = {
        nixpkgs.follows = "nixpkgs";
        flake-utils.follows = "lix-module/flake-utils";
        systems.follows = "systems";

        home-manager.follows = "home-manager";
        # disable optional inputs
        flake-compat.follows = "";
      };
    };
    nixvim = {
      url = "github:nix-community/nixvim";
      inputs = {
        flake-parts.follows = "flake-parts";
        # disable optional inputs
        nuschtosSearch.follows = "";
      };
    };
    niri = {
      url = "github:sodiboo/niri-flake";
      inputs = {
        # Deduplicate
        nixpkgs.follows = "unstable";
        nixpkgs-stable.follows = "nixpkgs";
        # Unused
        niri-unstable.follows = "";
        xwayland-satellite-unstable.follows = "";
      };
    };
    flake-parts = {
      url = "github:hercules-ci/flake-parts";
      inputs.nixpkgs-lib.follows = "nixpkgs";
    };
    treefmt-nix = {
      url = "github:numtide/treefmt-nix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    # For deduplication
    systems.url = "github:nix-systems/default";
  };

  # Flake outputs that other flakes can use
  outputs =
    inputs:
    inputs.flake-parts.lib.mkFlake { inherit inputs; } {
      systems = import inputs.systems;

      imports = [ ./flake-modules ];
    };
}