# 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 elisa # Elisa music player firefoxWrapper # install Firefox with support for plugins libreoffice-fresh mplayer # A movie player that supports many video formats shotwell # Photo organizer pcmanfm plasma-workspace-wallpapers usbutils # Tools for working with USB devices, such as lsusb user-manager nextcloud-client # Nextcloud desktop client xorg.libxcb # X C binding ]; 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.udisks2.enable = true; # Enable udisks2 services.devmon.enable = true; # Enable external device automounting.` services.udev.packages = [ pkgs.android-udev-rules # Android udev rules list ]; 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" ]; }; }