diff --git a/flake.nix b/flake.nix index 9525d32..a50e111 100644 --- a/flake.nix +++ b/flake.nix @@ -109,7 +109,11 @@ osmium = {}; palladium = {}; porter = {}; - storage-2 = {}; + storage-2 = { + modules = [ + ./users/frank + ]; + }; tungsten = {}; web-2 = {}; zinc = { diff --git a/hosts/storage-2/configuration.nix b/hosts/storage-2/configuration.nix index 9cc111e..bfa5e41 100644 --- a/hosts/storage-2/configuration.nix +++ b/hosts/storage-2/configuration.nix @@ -4,6 +4,7 @@ imports = [ ./hardware-configuration.nix + ./em.nix ./firmware.nix ./mixcloud.nix ./syncthing.nix diff --git a/hosts/storage-2/em.nix b/hosts/storage-2/em.nix new file mode 100644 index 0000000..d08affa --- /dev/null +++ b/hosts/storage-2/em.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + users.users.data-em = { + group = "data-em"; + home = "/data/em"; + useDefaultShell = true; + isSystemUser = true; + }; + users.groups.data-em = {}; + + systemd.tmpfiles.rules = [ + "d /data/em - data-em data-em - -" + ]; +} diff --git a/hosts/storage-2/users.nix b/hosts/storage-2/users.nix index 984ce62..9c800d5 100644 --- a/hosts/storage-2/users.nix +++ b/hosts/storage-2/users.nix @@ -2,4 +2,5 @@ { users.users.clerie.extraGroups = [ "data-firmware" ]; + users.users.frank.extraGroups = [ "data-em" ]; } diff --git a/users/frank/default.nix b/users/frank/default.nix new file mode 100644 index 0000000..f3b456b --- /dev/null +++ b/users/frank/default.nix @@ -0,0 +1,13 @@ +{ ... }: + +{ + users.users.frank = { + isNormalUser = true; + group = "frank"; + openssh.authorizedKeys.keys = [ + (builtins.readFile ./ssh.pub) + ]; + }; + + users.groups.frank = {}; +} diff --git a/users/frank/ssh.pub b/users/frank/ssh.pub new file mode 100644 index 0000000..1252fdd --- /dev/null +++ b/users/frank/ssh.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDD8uI/Tj2247iZHlP6yS1V7c8VlsZK0lBg92SNjuxAt91nfkMFQoG/pGt1UrBU+P0a4pN8bC9AJznfdmvymj0AuWaPrFM4W8oESQ1rajjfy+wTdEXHw8VTnP5iixymAadRdwc+afYTdVPeeHiec/bcFkShs5aIWb4I34gL+LMGp0At22Sz4QizDY5GRr0WwQXkNIkRAaMsoDN4KjS5Rzfg+hdmeWvdnrx59/b8d5pnA8FW/xNS0uR2Xef5l+ZigM+1w+7N5K+hkcesDlVliNWNf8MzN7fc8E4YUMrTuWjF+Ej6Y+JV5z5qGdToJN9UWgCXTxt1Cl9oITCrpFSD5AUgtZXahIWb21WbNFygoVqxsJEJEqDG5zXduIrxJKbV6Lpn8G0ejq+p0BlY10xLer5jUqyK9ecvNu+bUyJmXHG3u+plb4z1y7FIowzJn6JVusHIrrCRlrvMxkYQj6E0BWZZCqP14AZIHPW7IXrHQrGslH+Bx7khLgJXieVvxnrryKM=