# copy a path to store (needed because I don't copy the secrets to store by default)
# arg must be a string because of how nix handles relative paths as absolute
{ copyToStore ? (pkgs: name: x: ./${x})
, ... }: {
  nixmsi = {
    system = { pkgs, ... }: {
      # insert private config here
      time.timeZone = ...;
      users.users.root.initialHashedPassword = ...;
      users.users.user.initialHashedPassword = ...;
    };
    username = { pkgs, ... }: {
      # insert private user config for username here
    };
  };
  server.system = { ... }: {
    server.localIpV4 = ...;
    server.lanCidrV4 = ...;
    server.localIpV6 = ...;
    server.lanCidrV6 = ...;
  };
}