My system configuration via Nix flakes
# Thanks to https://colinramsay.co.uk/2021/10/19/migrating-a-nixos-install-to-flakes.html
{
  inputs = {
    # Firefox nightly overlay
    # TODO: replace when #344 closes: https://github.com/mozilla/nixpkgs-mozilla/pull/344
    mozilla-overlay.url = "github:mozilla/nixpkgs-mozilla?ref=pull/344/head";

    # Home manager
    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    # Lix
    lix = {
      url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
      flake = false;
    };
    lix-module = {
      url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
      inputs.nixpkgs.follows = "nixpkgs";
      inputs.lix.follows = "lix";
    };

    # Nixpkgs
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";

    # Rust overlay
    rust-overlay = {
      url = "github:oxalica/rust-overlay";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  # Boilerplate from https://nix-community.github.io/home-manager/index.xhtml#sec-flakes-nixos-module
  outputs =
    inputs@{
      nixpkgs,
      home-manager,
      lix-module,
      lix,
      ...
    }:
    {
      nixosConfigurations = {
        # A gotcha: nixos is the HOSTNAME, need to change this eventually
        nixos = nixpkgs.lib.nixosSystem {
          system = "x86_64-linux";
          modules = [
            ./nixos/configuration.nix
            home-manager.nixosModules.home-manager
            lix-module.nixosModules.default

            # Home-manager configuration
            {
              home-manager.useGlobalPkgs = true;
              home-manager.useUserPackages = true;
              home-manager.users.finchie = import ./home.nix;
            }

            # Nixpkgs overlays
            {
              nixpkgs.overlays = with inputs; [
                rust-overlay.overlays.default
                mozilla-overlay.overlay
                # wild.overlays.default
              ];
            }
          ];

        };
      };
    };
}