Bruno BELANYI
3b148ad684
I have separated the modules into host-specific settings, and generic settings that ought to be shared by every host. I only have the 'porthos' host for now, but intend to also add my laptop 'aramis' at some point to this repository.
26 lines
754 B
Nix
26 lines
754 B
Nix
# User setup
|
||
{ config, ... }:
|
||
let
|
||
my = config.my;
|
||
in
|
||
{
|
||
users.mutableUsers = false; # I want it to be declarative.
|
||
|
||
# Define user accounts and passwords.
|
||
users.users.root.hashedPassword = my.secrets.users.root.hashedPassword;
|
||
users.users.ambroisie = {
|
||
hashedPassword = my.secrets.users.ambroisie.hashedPassword;
|
||
description = "Bruno BELANYI";
|
||
isNormalUser = true;
|
||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||
openssh.authorizedKeys.keys = with builtins; let
|
||
keyDir = ../ssh;
|
||
contents = readDir keyDir;
|
||
names = attrNames contents;
|
||
files = filter (name: contents.${name} == "regular") names;
|
||
keys = map (basename: readFile (keyDir + "/${basename}")) files;
|
||
in
|
||
keys;
|
||
};
|
||
}
|