{ lib, config, pkgs, ... }: with lib; let cfg = config.local; in { config = { sound.enable = true; hardware.pulseaudio.enable = true; services.xserver = { enable = true; videoDrivers = cfg.videoDrivers ++ [ "modesetting" "fbdev" ]; libinput.enable = true; displayManager.startx.enable = true; }; services.udev.packages = [ pkgs.android-udev-rules ]; programs = { dconf.enable = true; zsh.enable = true; }; environment.pathsToLink = [ "/share/zsh" ]; users.users = mapAttrs (username: user: { isNormalUser = true; inherit (user) uid; description = user.gecos; group = username; extraGroups = [ "users" ] ++ user.groups; shell = if user.allowLogin then pkgs.zsh else null; }) cfg.users; users.groups = mapAttrs (_: user: { inherit (user) gid; }) cfg.users // { adbusers.gid = 1008; }; }; }