Compare commits
2 Commits
8c09a52dae
...
8a70027a84
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a70027a84 | ||
|
|
30c0856f69 |
12
flake.lock
generated
12
flake.lock
generated
@ -200,11 +200,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773814637,
|
"lastModified": 1776067740,
|
||||||
"narHash": "sha256-GNU+ooRmrHLfjlMsKdn0prEKVa0faVanm0jrgu1J/gY=",
|
"narHash": "sha256-B35lpsqnSZwn1Lmz06BpwF7atPgFmUgw1l8KAV3zpVQ=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "fea3b367d61c1a6592bc47c72f40a9f3e6a53e96",
|
"rev": "7e495b747b51f95ae15e74377c5ce1fe69c1765f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -216,11 +216,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773821835,
|
"lastModified": 1775710090,
|
||||||
"narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
|
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0",
|
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@ -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 = with pkgs; [ libreoffice ];
|
systemPackages = [ unstable.libreoffice ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Steam with gamescope
|
# Steam with gamescope
|
||||||
@ -138,9 +138,8 @@ in
|
|||||||
# Nate-work session variables
|
# Nate-work session variables
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
FIREFOX_USE_SYSTEM_THEME = "true";
|
FIREFOX_USE_SYSTEM_THEME = "true";
|
||||||
# For NVIDIA — only enable if not using on-the-go
|
GBM_BACKEND = "nvidia-drm";
|
||||||
GBM_BACKEND = if isOnTheGo then "" else "nvidia-drm";
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||||
__GLX_VENDOR_LIBRARY_NAME = if isOnTheGo then "" else "nvidia";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Nate-work extra packages
|
# Nate-work extra packages
|
||||||
@ -208,80 +207,18 @@ in
|
|||||||
};
|
};
|
||||||
nvidia = {
|
nvidia = {
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = true;
|
||||||
powerManagement.finegrained = true;
|
powerManagement.finegrained = false;
|
||||||
open = true;
|
open = true;
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
prime = {
|
prime = {
|
||||||
offload.enable = true;
|
sync.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";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -444,7 +444,7 @@ binds {
|
|||||||
//
|
//
|
||||||
|
|
||||||
// Dictation
|
// Dictation
|
||||||
Mod+grave { spawn "hyprvoice" "toggle"; }
|
Mod+semicolon { 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"; }
|
||||||
|
|||||||
@ -584,11 +584,11 @@ in
|
|||||||
enableUserTheming = false;
|
enableUserTheming = false;
|
||||||
};
|
};
|
||||||
nightLight = {
|
nightLight = {
|
||||||
enabled = false;
|
enabled = true;
|
||||||
forced = false;
|
forced = true;
|
||||||
autoSchedule = true;
|
autoSchedule = false;
|
||||||
nightTemp = "4000";
|
nightTemp = "4000";
|
||||||
dayTemp = "6500";
|
dayTemp = "4000";
|
||||||
manualSunrise = "06:30";
|
manualSunrise = "06:30";
|
||||||
manualSunset = "18:30";
|
manualSunset = "18:30";
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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 = [ "ssh" "secrets" ];
|
services.gnome-keyring.components = [ "secrets" ]; # ssh handled by gcr-ssh-agent (gcr 4.x)
|
||||||
|
|
||||||
# Bluetooth headphone controls
|
# Bluetooth headphone controls
|
||||||
services.mpris-proxy.enable = true;
|
services.mpris-proxy.enable = true;
|
||||||
|
|||||||
@ -4,6 +4,10 @@ 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
|
||||||
@ -34,7 +38,9 @@ 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;
|
||||||
environment.systemPackages = [ pkgs.evolution ];
|
# TODO)) switched to unstable instead of pkgs.evolution due to spam swarm build error Apr 14, 2026
|
||||||
|
# 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;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user