mio-ops/roles/desktop_common.nix

118 lines
2.9 KiB
Nix

# 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"
];
};
}