{
  description = "RuJect Nix meta repository";

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

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

    # games
    polymc.url = "github:PolyMC/PolyMC";

    # other
    flake-utils.url = "github:numtide/flake-utils";
    disko.url = "github:nix-community/disko";
    nvf = {
      url = "github:notashelf/nvf";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    stylix = {
      url = "github:danth/stylix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    apple-fonts = {
      url = "github:Lyndeno/apple-fonts.nix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    hyprpanel = {
      url = "github:Jas-SinghFSU/HyprPanel";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    sops-nix = {
      url = "github:Mic92/sops-nix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    dns = {
      url = "github:nix-community/dns.nix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    nix-openclaw = {
      url = "github:openclaw/nix-openclaw";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs =
    {
      nixpkgs,
      flake-utils,
      ...
    }@inputs:
    let
      mkNixos = import ./lib/mkNixos.nix;
      infra = {
        users = [
          "rus07tam"
        ];
        modules = [
          inputs.disko.nixosModules.disko
        ];
        overlays = [
          inputs.polymc.overlay
          inputs.nix-openclaw.overlays.default
        ];
        inherit inputs;
      };
    in
    flake-utils.lib.eachDefaultSystem (
      system:
      let
        pkgs = nixpkgs.legacyPackages.${system};
      in
      {
        packages = { };

        formatter = pkgs.nixfmt-tree;
      }
    )
    // {
      nixosConfigurations = {
        elaris = mkNixos (
          infra
          // {
            hostname = "elaris";
          }
        );
        velarion = mkNixos (
          infra
          // {
            hostname = "velarion";
            users = [
              "rus07tam"
              "macan"
            ];
          }
        );
      };
    };
}
