my config:
# Start of graphics config
hardware.opengl = {
enable = true;
};
services.xserver = {
enable = true;
libinput.enable = true;
displayManager.sddm.enable = true;
desktopManager.plasma6.enable = true;
};
nixpkgs.config.allowUnfree = true;
services.xserver.videoDrivers = [ "nvidia" ];
hardware.graphics = {
enable = true;
};
hardware.graphics.extraPackages = with pkgs; [
intel-vaapi-driver
intel-media-driver];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
boot.kernelParams = ["i915.force_probe=7d55"];
hardware.nvidia.prime = {
sync.enable = true;
nvidiaBusId = "PCI:1:0:0";
intelBusId = "PCI:0:2:0";
};
# End of graphics config
# Start of audio config
# hardware.pulseaudio.enable = true;
# hardware.pulseaudio.support32Bit = true;
services.pipewire = {
enable = true;
pulse.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
};
security.rtkit.enable = true;
# End of audio config
# Start of packages/applications config
environment.systemPackages = with pkgs; [
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget
fastfetch
alacritty
lshw
pciutils
nvitop
brave
rtkit
plasma-pa
whitesur-kde
whitesur-icon-theme
legcord
firefox
spotify
libreoffice-qt6-fresh
git
gcc
jdk23
alacritty-theme
gnomeExtensions.toggle-alacritty
neofetch
vscode
];
programs.neovim = {
enable = true;
defaultEditor = true;
};
programs.steam.enable = true;
programs.thunderbird.enable = true;
programs.virt-manager.enable = true;
users.groups.libvirtd.members = ["francis"];
virtualisation.libvirtd.enable = true;
virtualisation.spiceUSBRedirection.enable = true;
# End of packages/applications config
# Start of NixOS version config
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
# to actually do that.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "24.11"; # Did you read the comment?
# End of NixOS version config
# Start of boot config
boot.loader.grub.device = "nodev";
boot.loader.grub.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.grub.useOSProber = true;
boot.loader.grub.efiSupport = true;
boot.loader.efi.efiSysMountPoint = "/boot";
boot.loader.systemd-boot.enable = false;
# End of boot config
users.users.francis = {
isNormalUser = true;
description = "Francis";
extraGroups = [ "wheel" ];
shell = pkgs.bash;
home = "/home/francis";
};
xdg.portal = {
enable = true;
wlr.enable = true;
};
swapDevices = [{
device = "/swapfile";
size = 16 * 1024;
}];
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Configure x11 keymap
services.xserver.xkb.layout = "us";
# services.xserver.xkb.options = "eurosign:e,caps:escape";
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.libinput.enable = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
# users.users.francis = {
# isNormalUser = true;
# extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
# packages = with pkgs; [
# tree
# ];
# };
# List packages installed in system profile. To search, run:
# $ nix search wget
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# Set your time zone.
# time.timeZone = "Europe/Amsterdam";
}
I don’t mind terminal starting on boot but not the other 2, anyone got any ideas?