nixos-config/config/modules/system76-pc.nix

103 lines
2.5 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ config, pkgs, ... }:
{
hardware.system76.enableAll = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nixpkgs.config.allowUnfree = true;
nixpkgs.config.permittedInsecurePackages = [
"electron-25.9.0"
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.systemd-boot.consoleMode = "auto";
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.systemd.enable = true;
boot.kernelParams = [ "quiet" ];
boot.plymouth.enable = true;
boot.plymouth.themePackages = with pkgs; [ plymouth-vortex-ubuntu-theme ];
boot.plymouth.theme = "vortex-ubuntu";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/New_York";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
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 GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# List packages installed in system profile. To search, run:
environment.systemPackages = with pkgs; [
cacert
direnv
dxvk
envsubst
font-manager
gparted
mesa
vulkan-extension-layer
];
# Hardware
hardware.graphics.enable = true;
hardware.graphics.driSupport32Bit = true; # For 32 bit applications
hardware.graphics.extraPackages = [
pkgs.intel-media-driver
];
hardware.graphics.extraPackages32 = [
pkgs.intel-media-driver
pkgs.pkgsi686Linux.libva
];
hardware.pulseaudio.enable = false;
hardware.bluetooth.enable = true;
services.blueman.enable = true;
# Enable CUPS to print documents.
services.printing.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Define a user account. Don't forget to set a password with passwd.
users.users.alex = {
isNormalUser = true;
description = "Alex";
extraGroups = [ "networkmanager" "wheel" ];
};
}