Compare commits

..

No commits in common. "8a70027a84b02b287fc8c9ef0eb2060a46c559cd" and "8c09a52daee98b25aa2de0d03e6cd3275250d068" have entirely different histories.

6 changed files with 83 additions and 26 deletions

12
flake.lock generated
View File

@ -200,11 +200,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1776067740, "lastModified": 1773814637,
"narHash": "sha256-B35lpsqnSZwn1Lmz06BpwF7atPgFmUgw1l8KAV3zpVQ=", "narHash": "sha256-GNU+ooRmrHLfjlMsKdn0prEKVa0faVanm0jrgu1J/gY=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7e495b747b51f95ae15e74377c5ce1fe69c1765f", "rev": "fea3b367d61c1a6592bc47c72f40a9f3e6a53e96",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -216,11 +216,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1775710090, "lastModified": 1773821835,
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=", "narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4c1018dae018162ec878d42fec712642d214fdfa", "rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -5,7 +5,7 @@ let
system = "x86_64-linux"; system = "x86_64-linux";
config.allowUnfree = true; config.allowUnfree = true;
}; };
isOnTheGo = builtins.elem "on-the-go" config.system.nixos.tags;
in in
{ {
imports = [ imports = [
@ -96,7 +96,7 @@ in
enable = true; enable = true;
useNonFree = true; useNonFree = true;
user = deskCfg.userName; user = deskCfg.userName;
systemPackages = [ unstable.libreoffice ]; systemPackages = with pkgs; [ libreoffice ];
}; };
# Steam with gamescope # Steam with gamescope
@ -138,8 +138,9 @@ in
# Nate-work session variables # Nate-work session variables
environment.sessionVariables = { environment.sessionVariables = {
FIREFOX_USE_SYSTEM_THEME = "true"; FIREFOX_USE_SYSTEM_THEME = "true";
GBM_BACKEND = "nvidia-drm"; # For NVIDIA — only enable if not using on-the-go
__GLX_VENDOR_LIBRARY_NAME = "nvidia"; GBM_BACKEND = if isOnTheGo then "" else "nvidia-drm";
__GLX_VENDOR_LIBRARY_NAME = if isOnTheGo then "" else "nvidia";
}; };
# Nate-work extra packages # Nate-work extra packages
@ -207,18 +208,80 @@ in
}; };
nvidia = { nvidia = {
modesetting.enable = true; modesetting.enable = true;
powerManagement.enable = true; powerManagement.enable = false;
powerManagement.finegrained = false; powerManagement.finegrained = true;
open = true; open = true;
nvidiaSettings = true; nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable; package = config.boot.kernelPackages.nvidiaPackages.stable;
prime = { prime = {
sync.enable = true; offload.enable = true;
offload.enableOffloadCmd = true;
intelBusId = "PCI:0:2:0"; intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0"; nvidiaBusId = "PCI:1:0:0";
}; };
}; };
}; };
# On-the-go specialisation — disables NVIDIA GPU, uses Intel only
specialisation = {
on-the-go.configuration = {
system.nixos.tags = [ "on-the-go" ];
# Blacklist all NVIDIA kernel modules
boot.blacklistedKernelModules = [ "nouveau" "nvidia" "nvidia_drm" "nvidia_modeset" "nvidia_uvm" ];
# Force Intel i915 driver for 13th gen (Raptor Lake) integrated graphics
boot.kernelParams = [
"i915.force_probe=a7a0"
"module_blacklist=nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm"
];
boot.extraModprobeConfig = ''
blacklist nouveau
blacklist nvidia
blacklist nvidia_drm
blacklist nvidia_modeset
blacklist nvidia_uvm
options nouveau modeset=0
'';
# Remove NVIDIA devices from PCI bus to save power
services.udev.extraRules = ''
# Remove NVIDIA USB xHCI Host Controller devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{power/control}="auto", ATTR{remove}="1"
# Remove NVIDIA USB Type-C UCSI devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{power/control}="auto", ATTR{remove}="1"
# Remove NVIDIA Audio devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{power/control}="auto", ATTR{remove}="1"
# Remove NVIDIA VGA/3D controller devices
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1"
'';
# Use Intel modesetting driver only
services.xserver.videoDrivers = lib.mkForce [ "modesetting" ];
# Disable all NVIDIA hardware configurations
hardware.nvidia = {
prime.offload.enable = lib.mkForce false;
prime.offload.enableOffloadCmd = lib.mkForce false;
powerManagement.finegrained = lib.mkForce false;
prime.sync.enable = lib.mkForce false;
};
# Ensure Intel graphics packages are available
hardware.graphics.extraPackages = lib.mkForce (with pkgs; [
intel-vaapi-driver
intel-media-driver
vpl-gpu-rt
]);
# Clear NVIDIA-specific environment variables
environment.sessionVariables = {
GBM_BACKEND = lib.mkForce "";
__GLX_VENDOR_LIBRARY_NAME = lib.mkForce "";
};
};
};
system.stateVersion = "23.11"; system.stateVersion = "23.11";
} }

View File

@ -444,7 +444,7 @@ binds {
// //
// Dictation // Dictation
Mod+semicolon { spawn "hyprvoice" "toggle"; } Mod+grave { spawn "hyprvoice" "toggle"; }
// Notifications - Noctalia notification panel // Notifications - Noctalia notification panel
Mod+Shift+C { spawn "noctalia-shell" "ipc" "call" "notificationHistory" "toggle"; } Mod+Shift+C { spawn "noctalia-shell" "ipc" "call" "notificationHistory" "toggle"; }

View File

@ -584,11 +584,11 @@ in
enableUserTheming = false; enableUserTheming = false;
}; };
nightLight = { nightLight = {
enabled = true; enabled = false;
forced = true; forced = false;
autoSchedule = false; autoSchedule = true;
nightTemp = "4000"; nightTemp = "4000";
dayTemp = "4000"; dayTemp = "6500";
manualSunrise = "06:30"; manualSunrise = "06:30";
manualSunset = "18:30"; manualSunset = "18:30";
}; };

View File

@ -69,7 +69,7 @@ in
# Gnome keyring for SSH and secrets # Gnome keyring for SSH and secrets
services.gnome-keyring.enable = true; services.gnome-keyring.enable = true;
services.gnome-keyring.components = [ "secrets" ]; # ssh handled by gcr-ssh-agent (gcr 4.x) services.gnome-keyring.components = [ "ssh" "secrets" ];
# Bluetooth headphone controls # Bluetooth headphone controls
services.mpris-proxy.enable = true; services.mpris-proxy.enable = true;

View File

@ -4,10 +4,6 @@ with lib;
let let
cfg = config.noctaliaSystem; cfg = config.noctaliaSystem;
unstable = import inputs.nixpkgs-unstable {
system = "x86_64-linux";
config.allowUnfree = true;
};
in in
{ {
# Import Noctalia's NixOS module for systemd service # Import Noctalia's NixOS module for systemd service
@ -38,9 +34,7 @@ in
# Required system services for Noctalia features # Required system services for Noctalia features
# Evolution data server and Evolution - for calendar events support in Noctalia # Evolution data server and Evolution - for calendar events support in Noctalia
services.gnome.evolution-data-server.enable = mkDefault true; services.gnome.evolution-data-server.enable = mkDefault true;
# TODO)) switched to unstable instead of pkgs.evolution due to spam swarm build error Apr 14, 2026 environment.systemPackages = [ pkgs.evolution ];
# Can be changed back at some point to stable.
environment.systemPackages = [ unstable.evolution ];
# NetworkManager - for wifi widget # NetworkManager - for wifi widget
networking.networkmanager.enable = mkDefault true; networking.networkmanager.enable = mkDefault true;