88 lines
2.4 KiB
Nix
88 lines
2.4 KiB
Nix
|
|
|
|
|
|
|
|
{ inputs, pkgs, ... }:
|
|
|
|
|
|
{
|
|
imports = [
|
|
inputs.hardware.nixosModule.common-cpu-intel
|
|
inputs.hardware.nixosModule.common-pc-ssd
|
|
|
|
./hardware-configuration.nix # Hardware configuration generated by nix-generate-config
|
|
|
|
../common/user/ooks # Add and configure the user "ooks"
|
|
../common/base # Default system programs
|
|
../common/features/vm.nix # Adds VM support
|
|
../common/features/greetd.nix # Adds login-manager greetd
|
|
|
|
];
|
|
|
|
|
|
networking = {
|
|
hostName = "ooksdesk"; # Define hostname
|
|
networkmanager.enable = true; # Networking tool
|
|
};
|
|
|
|
boot = {
|
|
kernelPackages = pkgs.linuxKernel.packages.linux_zen; # Kernel version
|
|
supportedFilesystems = ["ntfs"]; # Add ntfs support
|
|
};
|
|
|
|
programs = {
|
|
dconf.enable = true; # Low level configuration system
|
|
kdeconnect.enable = true; # Adds android connectivity over local network
|
|
gnupg.agent = { # Daemon to request and cache passwords for the keychain
|
|
enable = true;
|
|
enableSSHSupport = true;
|
|
};
|
|
};
|
|
|
|
xdg.portal = { # Allows cross-desktop communication
|
|
enable = true;
|
|
wlr.enable = true; # Adds Wayland support
|
|
};
|
|
|
|
hardware = {
|
|
opengl = { # Used for rendering 2D and 3D graphics
|
|
enable = true;
|
|
driSupport = true;
|
|
driSupport32Bit = true;
|
|
extraPackages = with pkgs; [nvidia-vaapi-driver]; # Adds nvidia VAAPI driver for hardware-accelerated video decoding
|
|
};
|
|
nvidia = {
|
|
open = true; # Use Nvidia's open source kernel module
|
|
modesetting.enable = true; # Enables kernel modesettings
|
|
nvidiaSettings = true; # Nvidia's settings GUI
|
|
};
|
|
};
|
|
services = {
|
|
dbus = { # Allows communication between applications
|
|
enable = true;
|
|
packages = [ pkgs.gcr ]; # GNOME cryptographic services, used for managing cryptographic keys
|
|
};
|
|
xserver.videoDrivers = ["nvidia"]; # Required for Nvidia to work
|
|
udisks2 = { # Used to manage mounting of temp storage
|
|
enable = true;
|
|
mountOnMedia = true; # Auto mounts device to /media
|
|
};
|
|
};
|
|
|
|
environment = {
|
|
variables = { # Environment variables for nvidia
|
|
GBM_BACKEND = "nvidia-drm";
|
|
LIBVA_DRIVER_NAME = "nvidia";
|
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
|
};
|
|
systemPackages = with pkgs; [ # Vulkan packages
|
|
vulkan-loader
|
|
vulkan-validation-layers
|
|
vulkan-tools
|
|
];
|
|
};
|
|
|
|
system = {
|
|
stateVersion = "22.05";
|
|
};
|
|
}
|