Packages

Elixir-native host management with inspectable plans, package locks, systemd isolation, and remote bootstrap.

Current section

Files

Jump to
host_kit lib host_kit resources account.ex
Raw

lib/host_kit/resources/account.ex

defmodule HostKit.Resources.Account do
@moduledoc "Desired Linux account."
@type t :: %__MODULE__{
name: String.t(),
system: boolean(),
home: String.t() | nil,
shell: String.t() | nil,
groups: [String.t()],
rollback: :keep,
depends_on: [term()],
meta: map()
}
defstruct name: nil,
system: false,
home: nil,
shell: nil,
groups: [],
rollback: :keep,
depends_on: [],
meta: %{}
def id(%__MODULE__{name: name}), do: {:account, name}
end