diff options
Diffstat (limited to 'share/users.nix')
-rw-r--r-- | share/users.nix | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/share/users.nix b/share/users.nix new file mode 100644 index 0000000..fde40bf --- /dev/null +++ b/share/users.nix @@ -0,0 +1,69 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + # get home manager working + imports = [ + # home manager for per user config + "${home-manager}/nixos" + ]; + + # define the users we have on our systems + users = { + # all users and passwords are defined here + mutableUsers = false; + + # default shell is ZSH + defaultUserShell = pkgs.zsh; + + # + # 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; + }; + }; + + # home manager settings + home-manager = { + # let home manager install stuff to /etc/profiles + useUserPackages = true; + + # use global pkgs + useGlobalPkgs = true; + + # use shared home manager settings + users.root = import ./home.nix; + users.cullmann = import ./home.nix; + }; +} |