infra/nix/os/profiles/graphical/system.nix

125 lines
3.4 KiB
Nix
Raw Normal View History

{ pkgs
2019-11-06 12:28:17 +01:00
, ...
}:
{
networking.networkmanager = {
enable = true;
dns = "dnsmasq";
unmanaged = [
"interface-name:veth*"
"interface-name:virbr*"
"interface-name:br*"
"interface-name:*vbox*"
"interface-name:*cni*"
];
};
networking.usePredictableInterfaceNames = false;
services.resolved.enable = false;
# hardware related services
services.illum.enable = true;
services.pcscd.enable = false;
hardware = {
bluetooth.enable = true;
pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull;
support32Bit = true;
};
};
# required for running blueman-applet in user sessions
2019-11-06 12:28:17 +01:00
services.dbus.packages = with pkgs; [
blueman
];
2020-10-17 15:28:19 +02:00
services.blueman.enable = true;
services.xserver = {
enable = true;
libinput.enable = true;
2021-06-08 12:39:01 +02:00
libinput.touchpad.naturalScrolling = true;
videoDrivers = [ "qxl" "modesetting" "ati" "cirrus" "intel" "vesa" "vmware" "modesetting" ];
xkbVariant = "altgr-intl";
xkbOptions = "nodeadkeys";
desktopManager = {
# FIXME: gnome should be moved to user session
2021-06-08 12:39:01 +02:00
gnome.enable = true;
xterm.enable = true;
plasma5.enable = false;
};
displayManager = {
gdm.enable = false;
autoLogin = {
enable = true;
user = "steveej";
};
lightdm = {
enable = true;
background = "${pkgs.nixos-artwork.wallpapers.simple-blue}/share/artwork/gnome/nix-wallpaper-simple-blue.png";
};
sessionCommands = ''
'';
};
};
services.gvfs.enable = true;
programs.seahorse.enable = true;
programs.gpaste.enable = false;
programs.gnome-terminal.enable = false;
programs.gnome-documents.enable = false;
programs.gnome-disks.enable = false;
2021-06-08 12:39:01 +02:00
services.gnome = {
# gnome-online-miners.enable = false; TODO: enable this again
games.enable = false;
gnome-remote-desktop.enable = false;
gnome-user-share.enable = false;
rygel.enable = false;
sushi.enable = false;
tracker.enable = false;
tracker-miners.enable = false;
# FIXME: gnome should be moved to user session
at-spi2-core.enable = true;
evolution-data-server.enable = true;
gnome-online-accounts.enable = true;
gnome-keyring.enable = true;
};
# More Services
services.udev.packages = [
pkgs.libu2f-host
pkgs.yubikey-personalization
pkgs.android-udev-rules
];
services.udev.extraRules = ''
# OnePlusOne
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6764", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1", TAG+="uaccess"
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6765", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1", TAG+="uaccess"
# Plantronics BackBeat PRO
SUBSYSTEM=="usb", ATTR{idVendor}=="047f", ATTR{idProduct}=="011a", GROUP="users", MODE="0777"
SUBSYSTEM=="usb", ATTR{idVendor}=="047f", ATTR{idProduct}=="fffe", GROUP="users", MODE="0777"
SUBSYSTEM=="usb", ATTR{idVendor}=="047f", ATTR{idProduct}=="0001", GROUP="users", MODE="0777"
# Yubikey 4/5 U2F+CCID
SUBSYSTEM=="usb", ATTR{idVendor}=="1050", ATTR{idProduct}=="0406", ENV{ID_SECURITY_TOKEN}="1", GROUP="wheel"
'';
services.samba.enable = true;
services.samba.extraConfig = ''
client max protocol = SMB3
'';
services.logind.lidSwitchExternalPower = "ignore";
}