Skip to content

Users

Marchyo manages user accounts through the marchyo.users option. Each user gets a system account with associated metadata used by git, applications, and Home Manager.

marchyo.users.myuser = {
fullname = "Your Name";
email = "your@email.com";
};

This creates a user account named myuser with the provided name and email configured across git and other applications.

On NixOS, each Marchyo user is created as a normal user with extraGroups = [ "wheel" "networkmanager" ] — sudo access and NetworkManager control out of the box.

Option Type Default Description
marchyo.users.<name>.enable bool true Whether to apply Marchyo configuration to this user
marchyo.users.<name>.fullname string — Full name (used in git config and applications)
marchyo.users.<name>.email string — Email address (used in git config and applications)

The attribute name is the account name. Set everything else about the account, such as its numeric id, on users.users.<name> (for example users.users.alice.uid = 1000;).

Bash (5.x, bashInteractive) is the Marchyo default login shell.

It is set via users.defaultUserShell (overridable with your own value).

You can define multiple users:

marchyo.users = {
alice = {
fullname = "Alice Smith";
email = "alice@example.com";
};
bob = {
fullname = "Bob Jones";
email = "bob@example.com";
};
};

To keep a user definition but exclude it from Marchyo configuration:

marchyo.users.myuser = {
enable = false;
fullname = "Your Name";
email = "your@email.com";
};