# Common configuration for MIO desktops { config, pkgs, ... }: { imports = [ ../roles/games-kids.nix ../roles/host_common.nix ../roles/openssh.nix ../secrets/user-craige.nix ../secrets/user-fiona.nix ../secrets/user-hamish.nix ../secrets/user-logan.nix ../secrets/user-root.nix ../secrets/user-xander.nix ]; # Common Desktop Packages environment.systemPackages = with pkgs; [ chromium digikam elisa # Elisa music player firefoxWrapper # install Firefox with support for plugins libreoffice-fresh mplayer # A movie player that supports many video formats plasma-workspace-wallpapers user-manager nextcloud-client # Nextcloud desktop client ]; programs.ssh.startAgent = true; networking.networkmanager.enable = true; # Enables network support via NetworkManager. # Enable common desktop services services.acpid.enable = true; services.blueman.enable = true; powerManagement.enable = true; services.xserver.enable = true; services.xserver.libinput.enable = true; # Enable touchpad support. services.xserver.displayManager.sddm.enable = true; # Enable SDDM services.xserver.desktopManager.plasma5.enable = true; # Enable KDE sound.enable = true; # Enable sound. hardware = { pulseaudio = { enable = true; extraModules = [ pkgs.pulseaudio-modules-bt ]; package = pkgs.pulseaudioFull; }; bluetooth = { enable = true; # Enable bluetooth extraConfig = " [General] Enable=Source,Sink,Media,Socket [Policy] AutoEnable=true "; }; opengl.enable = true; }; # Configure Firefox and Chromium nixpkgs.config = { allowUnfree = true; firefox = { enableGoogleTalkPlugin = true; enableAdobeFlash = false; }; chromium = { enablePepperFlash = false; # Chromium's non-NSAPI alternative to Adobe Flash }; }; programs = { chromium = { enable = true; homepageLocation = "https://start.duckduckgo.com/"; }; }; # Groups to add users.groups = { audio.members = [ "craige" "fiona" "hamish" "logan" "xander" ]; libvirtd.members = [ "craige" "fiona" "hamish" "logan" "xander" ]; networkmanager.members = [ "craige" "fiona" "hamish" "logan" "xander" ]; }; }