Compare commits

...

2 Commits

Author SHA1 Message Date
Nate Anderson
8a70027a84 unstable libreoffice and evolution 2026-04-14 14:04:31 -06:00
Nate Anderson
30c0856f69 fix for gnome-keyring conflicting with gcr-ssh-agent 2026-04-14 14:04:31 -06:00
6 changed files with 26 additions and 83 deletions

12
flake.lock generated
View File

@ -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": {

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 = 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";
} }

View File

@ -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"; }

View File

@ -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";
}; };

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 = [ "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;

View File

@ -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;