{
  description = "marleyOS";

  outputs =
    inputs:
    inputs.snowfall-lib.mkFlake {
      inherit inputs;
      src = ./.;

      snowfall = {
        namespace = "marleyos";
        title = "marleyOS";
      };

      homes.modules = with inputs; [
        rose-pine.homeManagerModules.rose-pine
      ];

      outputs-builder = channels: {
        formatter = channels.nixpkgs.nixfmt-rfc-style;
      };
    };

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";

    snowfall-lib = {
      url = "github:snowfallorg/lib";
      inputs.nixpkgs.follows = "nixpkgs";
    };

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

    devenv.url = "github:cachix/devenv";

    rose-pine.url = "git+https://codewith.babesonthe.net/punkfairie/rose-pine-nix";

    # Rose pine themes that aren't included in the above flake:
    # TODO: Integrate these to punkfairie/rose-pine-nix.
    rose-pine-amfora = {
      url = "github:rose-pine/amfora";
      flake = false;
    };
    rose-pine-qt5ct = {
      url = "github:piperbly/rose-pine-qt5ct";
      flake = false;
    };
  };
}