{ config, pkgs, ... }: let mainUser = config.users.extraUsers.mainUser; in { nixpkgs.config.packageOverrides = pkgs : { chromium = pkgs.chromium.override { pulseSupport = true; }; }; environment.systemPackages = with pkgs; [ firefox ]; users.extraUsers = { firefox = { name = "firefox"; description = "user for running firefox"; home = "/home/firefox"; useDefaultShell = true; extraGroups = [ "audio" ]; createHome = true; }; chromium = { name = "chromium"; description = "user for running chromium"; home = "/home/chromium"; useDefaultShell = true; extraGroups = [ "audio" ]; createHome = true; }; facebook = { name = "facebook"; description = "user for running facebook in chromium"; home = "/home/facebook"; useDefaultShell = true; extraGroups = [ "audio" ]; createHome = true; }; google = { name = "google"; description = "user for running google+/gmail in chromium"; home = "/home/google"; useDefaultShell = true; createHome = true; }; flash = { name = "flash"; description = "user for running flash stuff"; home = "/home/flash"; useDefaultShell = true; extraGroups = [ "audio" ]; createHome = true; }; }; security.sudo.extraConfig = '' ${mainUser.name} ALL=(firefox) NOPASSWD: ALL ${mainUser.name} ALL=(chromium) NOPASSWD: ALL ${mainUser.name} ALL=(facebook) NOPASSWD: ALL ${mainUser.name} ALL=(google) NOPASSWD: ALL ${mainUser.name} ALL=(flash) NOPASSWD: ALL ''; }