{
  config,
  inputs,
  lib,
  pkgs,
  ...
}: let
  lesser-secrets = with builtins;
    fromJSON (readFile ../../secrets/battleship-secrets.lesser.decrypted.json);
  jsonType = pkgs.formats.json {};
in {
  imports = [
    inputs.sops-nix.nixosModules.sops
  ];
  options.battleship-secrets = with lib;
  with lib.types; {
    lesser = mkOption {
      type = submodule ({...}: {
        freeformType = jsonType.type;
        options = {};
      });
      default = lesser-secrets;
    };
  };
  config = {
    environment.systemPackages = with pkgs; [
      sops
    ];

    sops.defaultSopsFile = ../../secrets/battleship-secrets.yaml;
    sops.defaultSopsFormat = "yaml";

    sops.secrets.lon = {
      owner = config.users.users.guz.name;
    };
    sops.secrets.lat = {
      owner = config.users.users.guz.name;
    };
    sops.secrets."guz/password" = {
      owner = config.users.users.guz.name;
    };

    sops.age.keyFile = "/home/guz/.config/sops/age/keys.txt";
  };
}
