{
  description = "chirami";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
    parts.url = "github:hercules-ci/flake-parts";
  };

  outputs =
    inp:
    inp.parts.lib.mkFlake { inputs = inp; } {
      flake.homeManagerModules.default = ./contrib/home-manager.nix;

      systems = [
        "x86_64-linux"
        "aarch64-linux"
        "aarch64-darwin"
        "x86_64-darwin"
      ];
      perSystem =
        { pkgs, ... }:
        {
          packages.default = import ./default.nix { inherit pkgs; };

          devShells.default = pkgs.mkShell {
            packages = with pkgs; [
              go
              gopls
              gotools
            ];
          };
        };
    };
}
