nixos-configuration/desktop.nix
2024-02-19 11:02:55 -06:00

84 lines
2.3 KiB
Nix

{ pkgs, lib, ... }:
{
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# This makes Spyro Reignighted Trilogy not crash
networking.extraHosts =
''
0.0.0.0 datarouter.ol.epicgames.com
0.0.0.0 datarouter-weighted.ol.epicgames.com
'';
# Set your time zone.
# time.timeZone = "America/Chicago";
services.automatic-timezoned.enable = true;
services.geoclue2.enableDemoAgent = lib.mkForce true;
# Select internationalisation properties.
i18n.defaultLocale = "en_US.utf8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the Pantheon Desktop Environment.
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager.pantheon.enable = true;
# Configure keymap in X11
services.xserver = {
layout = "us";
xkbVariant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
services.avahi.enable = true;
services.avahi.openFirewall = true;
# services.ipp-usb.enable = true;
programs.dconf.enable = true;
# services.gnome.evolution-data-server.enable = true;
# optional to use google/nextcloud calendar
# services.gnome.gnome-online-accounts.enable = true;
# optional to use google/nextcloud calendar
# services.gnome.gnome-keyring.enable = true;
hardware.keyboard.zsa.enable = true;
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
}