nixos/share/users.nix

70 lines
1.6 KiB
Nix
Raw Normal View History

2024-06-27 20:37:20 +02:00
{ config, pkgs, ... }:
2024-07-02 19:54:05 +02:00
let
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz";
in
2024-06-27 20:37:20 +02:00
{
2024-07-02 19:54:05 +02:00
# get home manager working
imports = [
# home manager for per user config
"${home-manager}/nixos"
];
2024-07-02 19:55:04 +02:00
# define the users we have on our systems
2024-06-27 20:37:20 +02:00
users = {
# all users and passwords are defined here
mutableUsers = false;
# default shell is ZSH
defaultUserShell = pkgs.zsh;
2024-06-27 20:37:20 +02:00
#
# administrator
#
users.root = {
# init password
hashedPassword = builtins.readFile "/data/nixos/password.secret";
# use fixed auth keys
openssh.authorizedKeys.keys = pkgs.lib.splitString "\n" (builtins.readFile "/data/nixos/authorized_keys.secret");
};
#
# my main user
#
users.cullmann = {
# hard code UID for stability over machines
uid = 1000;
# normal user
isNormalUser = true;
# it's me :P
description = "Christoph Cullmann";
# allow VirtualBox and sudo for my main user
extraGroups = [ "vboxusers" "wheel" ];
# init password
hashedPassword = config.users.users.root.hashedPassword;
# use fixed auth keys
openssh.authorizedKeys.keys = config.users.users.root.openssh.authorizedKeys.keys;
};
};
2024-07-02 19:54:05 +02:00
# home manager settings
home-manager = {
# let home manager install stuff to /etc/profiles
useUserPackages = true;
# use global pkgs
useGlobalPkgs = true;
2024-07-02 21:39:05 +02:00
# use shared home manager settings
2024-07-02 19:54:05 +02:00
users.root = import ./home.nix;
users.cullmann = import ./home.nix;
};
2024-06-27 20:37:20 +02:00
}