mio-ops/roles/desktop_common.nix

118 lines
2.9 KiB
Nix
Raw Normal View History

2019-12-10 14:43:41 +00:00
# Common configuration for MIO desktops
{ config, pkgs, ... }:
{
imports =
[
../roles/games-kids.nix
../roles/host_common.nix
../roles/openssh.nix
../secrets/user-craige.nix
2019-12-12 23:02:14 +00:00
../secrets/user-fiona.nix
2019-12-10 14:43:41 +00:00
../secrets/user-hamish.nix
../secrets/user-logan.nix
../secrets/user-root.nix
../secrets/user-xander.nix
];
# Common Desktop Packages
environment.systemPackages = with pkgs; [
chromium
2019-12-19 00:33:57 +00:00
elisa # Elisa music player
2019-12-17 00:31:15 +00:00
firefoxWrapper # install Firefox with support for plugins
2019-12-10 14:43:41 +00:00
libreoffice-fresh
2020-01-06 00:45:20 +00:00
mplayer # A movie player that supports many video formats
2020-01-24 05:40:54 +00:00
shotwell # Photo organizer
pcmanfm
2019-12-10 14:43:41 +00:00
plasma-workspace-wallpapers
2020-01-24 05:40:54 +00:00
usbutils # Tools for working with USB devices, such as lsusb
2019-12-10 14:43:41 +00:00
user-manager
2019-12-17 00:31:15 +00:00
nextcloud-client # Nextcloud desktop client
2020-01-24 05:40:54 +00:00
xorg.libxcb # X C binding
2019-12-10 14:43:41 +00:00
];
networking.networkmanager.enable = true; # Enables network support via NetworkManager.
# Enable common desktop services
services.acpid.enable = true;
2020-01-06 00:45:20 +00:00
services.blueman.enable = true;
2019-12-10 14:43:41 +00:00
powerManagement.enable = true;
2020-01-24 05:40:54 +00:00
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
];
2019-12-10 14:43:41 +00:00
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.
2020-01-06 00:45:20 +00:00
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;
2019-12-10 14:43:41 +00:00
};
# 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/";
};
};
2020-01-06 00:45:20 +00:00
# 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"
];
};
2019-12-10 14:43:41 +00:00
}