summaryrefslogtreecommitdiff
path: root/share/users.nix
diff options
context:
space:
mode:
Diffstat (limited to 'share/users.nix')
-rw-r--r--share/users.nix69
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;
+ };
+}