2023-04-15 12:21:22 +02:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}: {
|
2018-10-29 00:54:49 +01:00
|
|
|
networking.networkmanager = {
|
|
|
|
enable = true;
|
2022-11-13 22:01:43 +01:00
|
|
|
dns = "systemd-resolved";
|
2018-10-29 00:54:49 +01:00
|
|
|
unmanaged = [
|
|
|
|
"interface-name:veth*"
|
|
|
|
"interface-name:virbr*"
|
|
|
|
"interface-name:br*"
|
|
|
|
"interface-name:*vbox*"
|
|
|
|
"interface-name:*cni*"
|
|
|
|
];
|
|
|
|
};
|
2019-01-12 23:39:16 +01:00
|
|
|
networking.usePredictableInterfaceNames = false;
|
|
|
|
|
2022-11-13 22:01:43 +01:00
|
|
|
services.resolved.enable = true;
|
2018-10-29 00:54:49 +01:00
|
|
|
|
2018-10-30 13:38:36 +01:00
|
|
|
# hardware related services
|
|
|
|
services.illum.enable = true;
|
2020-12-21 16:47:00 +01:00
|
|
|
services.pcscd.enable = false;
|
2018-10-30 13:38:36 +01:00
|
|
|
hardware = {
|
|
|
|
bluetooth.enable = true;
|
|
|
|
pulseaudio = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.pulseaudioFull;
|
|
|
|
support32Bit = true;
|
|
|
|
};
|
2018-10-29 00:54:49 +01:00
|
|
|
};
|
2018-10-30 13:38:36 +01:00
|
|
|
# required for running blueman-applet in user sessions
|
2023-04-15 12:21:22 +02:00
|
|
|
services.dbus.packages = with pkgs; [blueman dconf];
|
2020-10-17 15:28:19 +02:00
|
|
|
services.blueman.enable = true;
|
2018-10-29 00:54:49 +01:00
|
|
|
|
|
|
|
services.xserver = {
|
|
|
|
enable = true;
|
|
|
|
libinput.enable = true;
|
2021-06-08 12:39:01 +02:00
|
|
|
libinput.touchpad.naturalScrolling = true;
|
2018-10-29 00:54:49 +01:00
|
|
|
|
2022-10-31 11:04:38 +01:00
|
|
|
videoDrivers = [
|
|
|
|
"qxl"
|
|
|
|
"modesetting"
|
|
|
|
"ati"
|
|
|
|
"cirrus"
|
|
|
|
"intel"
|
|
|
|
"vesa"
|
|
|
|
"vmware"
|
|
|
|
"modesetting"
|
|
|
|
];
|
2022-02-01 13:33:49 +01:00
|
|
|
layout = "us";
|
2018-10-29 00:54:49 +01:00
|
|
|
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;
|
2018-10-29 00:54:49 +01:00
|
|
|
|
|
|
|
xterm.enable = true;
|
|
|
|
plasma5.enable = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
displayManager = {
|
2023-04-15 12:21:22 +02:00
|
|
|
gdm.enable = true;
|
2018-10-29 00:54:49 +01:00
|
|
|
|
2020-10-17 15:25:47 +02:00
|
|
|
autoLogin = {
|
|
|
|
enable = true;
|
|
|
|
user = "steveej";
|
|
|
|
};
|
2018-10-29 00:54:49 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-04-15 12:21:22 +02:00
|
|
|
# gnome, most of it is disabled and ideally it could live entirely in the user's home config
|
2019-10-31 10:45:37 +01:00
|
|
|
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 = {
|
2023-04-15 12:21:22 +02:00
|
|
|
gnome-online-miners.enable = lib.mkForce false;
|
2019-10-31 10:45:37 +01:00
|
|
|
games.enable = false;
|
|
|
|
gnome-remote-desktop.enable = false;
|
2018-10-30 13:38:36 +01:00
|
|
|
gnome-user-share.enable = false;
|
2019-10-31 10:45:37 +01:00
|
|
|
rygel.enable = false;
|
2018-10-30 13:38:36 +01:00
|
|
|
sushi.enable = false;
|
|
|
|
tracker.enable = false;
|
2019-10-31 10:45:37 +01:00
|
|
|
tracker-miners.enable = false;
|
2018-10-30 13:38:36 +01:00
|
|
|
|
2023-04-15 12:21:22 +02:00
|
|
|
gnome-browser-connector.enable = false;
|
|
|
|
gnome-initial-setup.enable = false;
|
|
|
|
|
|
|
|
# FIXME: gnome should be moved to home config
|
|
|
|
gnome-settings-daemon.enable = true;
|
2021-08-20 23:28:51 +02:00
|
|
|
core-os-services.enable = true;
|
2018-10-30 13:38:36 +01:00
|
|
|
at-spi2-core.enable = true;
|
|
|
|
evolution-data-server.enable = true;
|
|
|
|
gnome-online-accounts.enable = true;
|
2023-04-15 12:21:22 +02:00
|
|
|
gnome-keyring.enable = lib.mkForce false;
|
2018-10-30 13:38:36 +01:00
|
|
|
};
|
2018-10-29 00:54:49 +01:00
|
|
|
|
2023-04-15 12:21:22 +02:00
|
|
|
# FIXME: gnome should be moved to user session
|
|
|
|
services.gvfs.enable = true;
|
|
|
|
programs.seahorse.enable = true;
|
|
|
|
programs.dconf.enable = true;
|
|
|
|
|
|
|
|
environment.gnome.excludePackages =
|
|
|
|
(with pkgs; [
|
|
|
|
orca
|
|
|
|
gnome-photos
|
|
|
|
gnome-tour
|
|
|
|
])
|
|
|
|
++ (with pkgs.gnome; [
|
|
|
|
cheese # webcam tool
|
|
|
|
gnome-music
|
|
|
|
gnome-terminal
|
|
|
|
gedit # text editor
|
|
|
|
epiphany # web browser
|
|
|
|
geary # email reader
|
|
|
|
evince # document viewer
|
|
|
|
gnome-characters
|
|
|
|
totem # video player
|
|
|
|
tali # poker game
|
|
|
|
iagno # go game
|
|
|
|
hitori # sudoku game
|
|
|
|
atomix # puzzle game
|
|
|
|
]);
|
|
|
|
|
2018-10-29 00:54:49 +01:00
|
|
|
# More Services
|
2023-04-15 12:21:22 +02:00
|
|
|
environment.systemPackages = [pkgs.gnome.adwaita-icon-theme pkgs.gnomeExtensions.appindicator];
|
2023-02-07 18:24:28 +01:00
|
|
|
services.udev.packages = [pkgs.libu2f-host pkgs.yubikey-personalization pkgs.android-udev-rules];
|
2018-10-29 00:54:49 +01:00
|
|
|
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"
|
2020-12-21 16:47:00 +01:00
|
|
|
|
|
|
|
# Yubikey 4/5 U2F+CCID
|
|
|
|
SUBSYSTEM=="usb", ATTR{idVendor}=="1050", ATTR{idProduct}=="0406", ENV{ID_SECURITY_TOKEN}="1", GROUP="wheel"
|
2018-10-30 13:38:36 +01:00
|
|
|
'';
|
2018-10-29 00:54:49 +01:00
|
|
|
|
|
|
|
services.samba.enable = true;
|
|
|
|
services.samba.extraConfig = ''
|
|
|
|
client max protocol = SMB3
|
|
|
|
'';
|
2019-06-12 15:38:47 +02:00
|
|
|
|
|
|
|
services.logind.lidSwitchExternalPower = "ignore";
|
2023-04-15 12:21:22 +02:00
|
|
|
|
|
|
|
services.printing = {
|
|
|
|
enable = true;
|
|
|
|
drivers = with pkgs; [mfcl3770cdwlpr mfcl3770cdwcupswrapper];
|
|
|
|
};
|
2018-10-29 00:54:49 +01:00
|
|
|
}
|