templates/system/host/configuration.nix
Andre 4eb943d047
Some checks failed
Code Check / Run nixfmt and statix (push) Waiting to run
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
refactor(system): fix conflicts between desktop environment login managers
2024-06-29 13:01:44 -04:00

130 lines
3.6 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
# Do not change this value! This tracks when NixOS was installed on your system.
stateVersion = "24.11";
# Set the username for the initial user.
username = builtins.abort "Please set your username via the 'username' variable in configuration.nix";
in
{
imports = [ ./hardware-configuration.nix ];
system.stateVersion = stateVersion;
###*** Configure your system below this line. ***###
# Set your time zone.
# To see all available timezones, run `timedatectl list-timezones`.
time.timeZone = "Europe/Amsterdam";
# Define your user account(s). If this user doesn't already have a password, don't forget to set one using `passwd`.
users.users.${username} = {
isNormalUser = true;
extraGroups = [ "wheel" ];
# Enter any additional packages specific to this user here.
packages = with pkgs; [ ];
};
# Configure home-manager for your user.
# For configuration options, see https://nix-community.github.io/home-manager/#using-home-manager
home-manager.users.${username} = {
# The state version is required and should stay at the version you originally installed.
home.stateVersion = stateVersion;
programs = {
# Let home Manager install and manage itself.
home-manager.enable = true;
};
};
# Configure the system.
aux.system = {
# Enable to allow unfree (e.g. closed source) packages.
# Some settings may override this (e.g. enabling Nvidia GPU support).
# https://nixos.org/manual/nixpkgs/stable/#sec-allow-unfree
allowUnfree = false;
# Enable Secure Boot support.
# IMPORTANT: Read the README before enabling this option!
bootloader.secureboot.enable = false;
# Change the default text editor. Options are "emacs", "nano", or "vim".
editor = "nano";
ui.flatpak = {
# Enable Flatpak support.
enable = false;
# Define Flatpak packages to install.
packages = [ ];
};
# Additional system packages to install.
packages = [ ];
# Change how long old generations are kept for.
retentionPeriod = "30d";
# Enable GPU support.
gpu = {
# Enable AMD GPU support.
amd.enable = false;
# Enable Intel GPU support.
intel.enable = false;
nvidia = {
# Enable Nvidia GPU support.
enable = false;
hybrid = {
# Enables support for hybrid GPUs (e.g. for laptops and systems with integrated GPUs).
enable = false;
# Define the bus IDs for your GPUs.
# For more info on where to find bus IDs, see https://nixos.wiki/wiki/Nvidia#Configuring_Optimus_PRIME:_Bus_ID_Values_.28Mandatory.29
busIDs = {
nvidia = "";
intel = "";
amd = "";
};
# Enable sync mode for faster performance at the cost of higher battery usage.
# If sync is disabled, you'll need to run GPU-accelerated applications using 'nvidia-offload <command>'.
sync = false;
};
};
};
ui.desktops = {
# Enable the Budgie desktop environment.
# https://buddiesofbudgie.org/
budgie.enable = false;
# Enable the Hyprland desktop environment.
# https://hyprland.org/
hyprland.enable = false;
# Enable the Gnome desktop environment.
# https://www.gnome.org/
gnome.enable = false;
# Enable the KDE desktop environment.
# https://kde.org/
kde.useX11 = false;
# Enable the XFCE desktop environment.
# https://xfce.org/
xfce.enable = false;
};
};
# Enable printing via CUPS
services.printing.enable = false;
}