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
|
|
|
}
|