42 lines
1.1 KiB
Nix
42 lines
1.1 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
let
|
|
profile = import ./profile.nix;
|
|
home-directory = "/home/${profile.username}";
|
|
ssh-filename = "${home-directory}/.ssh/id_ed25519";
|
|
in
|
|
{
|
|
|
|
imports = [
|
|
./desktop-environment/config.nix
|
|
./terminal-environment/config.nix
|
|
./system-environment/config.nix
|
|
];
|
|
|
|
users.users.${profile.username} = {
|
|
isNormalUser = true;
|
|
description = "Nina Chlóe Kassandra";
|
|
extraGroups = ["disks" "storage" "networkmanager" "wheel" "docker" "scanner" "lp" "uucp" "dialout"];
|
|
packages = with pkgs; [];
|
|
shell = pkgs.zsh;
|
|
hashedPassword = profile.hashed-password;
|
|
};
|
|
|
|
systemd.services.generate-ssh-key = {
|
|
description = "Generate SSH key if missing";
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "network.target" ];
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
User = profile.username;
|
|
};
|
|
|
|
script = ''
|
|
if [ ! -f ${ssh-filename} ]; then
|
|
mkdir -p ${home-directory}/.ssh
|
|
chmod 700 ${home-directory}/.ssh
|
|
${pkgs.openssh}/bin/ssh-keygen -t ed25519 -N "" -f ${ssh-filename}
|
|
fi
|
|
'';
|
|
};
|
|
}
|