{ pkgs, unstable, ... }: { mkUser = { name, roles ? [ ] }: let mkRole = role: import (../roles/home + "/${role}.nix"); roles_mod = (map (r: mkRole r) roles); in { users.groups.plugdev = { }; fileSystems."/home/${name}/Downloads" = { device = "tmpfs"; fsType = "tmpfs"; options = [ "size=3G" ]; }; users.users.${name} = { isNormalUser = true; shell = pkgs.zsh; extraGroups = [ "wheel" "plugdev" ]; }; home-manager.users.${name}.imports = [ (mkRole "common") ] ++ roles_mod; }; }