System Information:
- NixOS Version: 25.05 (or whatever version you are on)
- Graphics Card: Intel UHD Graphics 630 (CFL GT2)
- Desktop Environment: GNOME (on both Wayland and Xorg)
Problem Description:
Most complex graphical applications (like Brave, VSCode, GParted) fail to launch. The issue is present even in the live environment.
Diagnostic Steps Taken:
- Simple OpenGL applications like
glxgearswork correctly. - Applications requiring root privileges via Polkit fail.
pkexec gpartedresults in the error:cannot open display:. - The
polkit-gnome-authentication-agentdoes not seem to be running or working correctly. - The issue persists across different Linux kernels. I have tested the default kernel, the latest kernel (
6.17.1), and the LTS kernel, with no change in behavior.
Conclusion:
The problem does not appear to be related to the kernel or my specific configuration. It seems to be a fundamental issue, likely within the Mesa/Intel graphics driver stack on NixOS, which prevents applications running as root or within a sandbox from accessing the display.
My configuration.nix is attached below.
{ config, pkgs, ... }:
{
# --- Allow Non-Free Software ---
nixpkgs.config.allowUnfree = true;
imports = [ ./hardware-configuration.nix ];
system.stateVersion = "25.05";
# ===================================================================
# === 1. Core System & Network Settings ===
# ===================================================================
networking.hostName = "vosaif";
networking.networkmanager.enable = true;
networking.firewall.enable = true;
services.resolved.enable = true;
services.fwupd.enable = true;
security.polkit.enable = true;
systemd.settings = {
Manager = {
DefaultTimeoutStopSec = "10s";
};
};
# ===============================================
# === 2. Booting & Performance ===
# ===============================================
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.timeout = 0;
boot.plymouth.enable = true;
boot.kernelParams = [ "quiet" "splash" "loglevel=3" ];
boot.tmp.useTmpfs = true;
boot.kernel.sysctl = {
"net.core.default_qdisc" = "fq";
"net.ipv4.tcp_congestion_control" = "bbr";
"kernel.unprivileged_userns_clone" = 1;
"kernel.yama.pids_ptrace_scope" = 0;
};
hardware.enableRedistributableFirmware = true;
boot.kernelModules = [ "uinput" ];
# ===================================================================
# === 3. Graphics Settings (Intel + NVIDIA Optimus) ===
# ===================================================================
services.xserver.enable = true;
services.desktopManager.gnome.enable = true;
services.displayManager.gdm.enable = true;
services.displayManager.gdm.wayland = true;
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
mesa
intel-media-driver
vaapiIntel
libvdpau-va-gl
vulkan-loader
intel-compute-runtime
];
};
services.xserver.videoDrivers = [ "modesetting" ]; # <--- To re-enable the dedicated GPU, re-add "nvidia"
/*
nixpkgs.config.nvidia.acceptLicense = true;
hardware.nvidia = {
package = config.boot.kernelPackages.nvidiaPackages.stable;
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = true;
prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
*/
# ===================================================
# === 4. Audio & Other Services ===
# ===================================================
services.pipewire = {
enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true;
};
security.rtkit.enable = true;
services.udisks2.enable = true;
services.devmon.enable = true;
services.upower.enable = true;
services.logind.settings = {
Login = {
HandleLidSwitchDocked = "ignore";
};
};
programs.dconf.enable = true;
xdg.portal = {
enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gnome ];
};
services.printing.enable = true;
virtualisation.libvirtd.enable = true;
# ===================================================
# === 5. Users & Packages ===
# ===================================================
# -- Flatpak repositories ------
services.flatpak.enable = false;
/*
system.activationScripts.addFlathub = ''
${pkgs.flatpak}/bin/flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
*/
users.users.eslam = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "video" "audio" "disk" "storage" "libvirtd" "input" "render" ];
};
nixpkgs.config.permittedInsecurePackages = [
# "ventoy-qt5-1.1.05"
];
# --- Input Remapper System Service ---
services.input-remapper.enable = true;
systemd.services.input-remapper = {
preStart = ''
mkdir -p /root/.config/input-remapper-2
if [ ! -f /root/.config/input-remapper-2/config.json ]; then
echo "{}" > /root/.config/input-remapper-2/config.json
fi
'';
};
systemd.user.services.input-remapper-autostart = {
description = "Autostart Input Remapper for the current user";
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.input-remapper}/bin/input-remapper-control --command autoload";
Restart = "on-failure";
RestartSec = 1;
};
};
# --- Overlays ------
nixpkgs.overlays = [
(self: super: {
# --- VSCode ------
vscode = super.vscode.overrideAttrs (oldAttrs: {
version = "2025-10-11-03c265b";
src = super.fetchurl {
url = "https://vscode.download.prss.microsoft.com/dbazure/download/stable/03c265b1adee71ac88f833e065f7bb956b60550a/code-stable-x64-1759933479.tar.gz";
hash = "sha256-i1MFtqfWiAsvxgyc/MZlOdo/Py6PQlJmjHGeYnhygso=";
};
});
})
];
environment.systemPackages = with pkgs; [
# --- Disk Utilities ---
gparted
exfatprogs
ntfs3g
udisks
util-linux
# ventoy-qt5
# --- GUI Applications ---
gnome-tweaks
brave
localsend
decibels
libreoffice-qt6-fresh
# --- Utilities ---
wl-clipboard
xclip
openssl
gcc
gnumake
ffmpeg
mesa-demos
pciutils
glmark2
libglvnd
egl-wayland
# --- Developer Tools ---
python3
rustc
cargo
nodejs
git
vscode
# --- GNOME Shell Extensions ---
gnomeExtensions.dash-to-dock
gnomeExtensions.appindicator
gnomeExtensions.user-themes
gnomeExtensions.power-off-options
gnomeExtensions.compiz-alike-magic-lamp-effect
gnomeExtensions.compiz-windows-effect
gnomeExtensions.burn-my-windows
gnomeExtensions.desktop-cube
gnomeExtensions.blur-my-shell
gnomeExtensions.coverflow-alt-tab
gnomeExtensions.fuzzy-app-search
gnomeExtensions.clipboard-indicator
gnomeExtensions.status-area-horizontal-spacing
];
# --- Exclude Default GNOME Apps ------
environment.gnome.excludePackages = [
pkgs.gnome-maps
pkgs.gnome-weather
pkgs.gnome-contacts
pkgs.geary
pkgs.simple-scan
pkgs.epiphany
pkgs.gnome-tour
pkgs.yelp
pkgs.gnome-connections
pkgs.gnome-music
];
}