Compare commits
2 Commits
fix/mu4e-e
...
bead/nixos
| Author | SHA1 | Date | |
|---|---|---|---|
| b79250ff76 | |||
| 009b84656f |
@@ -211,16 +211,11 @@
|
||||
mu4e-headers-time-format "%H:%M")
|
||||
|
||||
;; Sending mail via msmtp
|
||||
;; NOTE: message-sendmail-f-is-evil and --read-envelope-from are required
|
||||
;; to prevent msmtp from stripping the email body when processing headers.
|
||||
;; Without these, multipart messages (especially from org-msg) may arrive
|
||||
;; with empty bodies.
|
||||
(setq sendmail-program (executable-find "msmtp")
|
||||
send-mail-function #'message-send-mail-with-sendmail
|
||||
message-send-mail-function #'message-send-mail-with-sendmail
|
||||
message-sendmail-f-is-evil t
|
||||
message-sendmail-extra-arguments '("--read-envelope-from")
|
||||
message-sendmail-envelope-from 'header))
|
||||
(setq message-send-mail-function 'message-send-mail-with-sendmail
|
||||
sendmail-program (executable-find "msmtp")
|
||||
message-sendmail-envelope-from 'header
|
||||
mail-envelope-from 'header
|
||||
mail-specify-envelope-from t))
|
||||
|
||||
;; Whenever you reconfigure a package, make sure to wrap your config in an
|
||||
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
|
||||
|
||||
@@ -170,6 +170,7 @@ This document outlines the plan to migrate the john-endesktop server from Arch L
|
||||
```bash
|
||||
blkid /dev/nvme0n1p5
|
||||
# Note the UUID for updating hardware-configuration.nix
|
||||
/dev/nvme0n1p5: LABEL="nixos" UUID="5f4ad025-bfab-4aed-a933-6638348059e5" UUID_SUB="4734d820-7b8a-4b7f-853a-026021c1d204" BLOCK_SIZE="4096" TYPE="btrfs" PARTLABEL="data" PARTUUID="9ea025df-cdb7-48fd-b5d4-37cd5d8588eb"
|
||||
```
|
||||
|
||||
8. **Copy your NixOS configuration to the server**
|
||||
@@ -388,11 +389,11 @@ After successful migration and 24-48 hours of stable operation:
|
||||
|
||||
Pre-migration:
|
||||
- [x] nvme0n1p5 removal from media pool complete
|
||||
- [ ] Recent backup verified (< 24 hours)
|
||||
- [ ] Maintenance window scheduled
|
||||
- [ ] NixOS ISO downloaded
|
||||
- [ ] Bootable USB created
|
||||
- [ ] NixOS config builds successfully
|
||||
- [x] Recent backup verified (< 24 hours)
|
||||
- [x] Maintenance window scheduled
|
||||
- [x] NixOS ISO downloaded
|
||||
- [x] Bootable USB created
|
||||
- [x] NixOS config builds successfully
|
||||
|
||||
During migration:
|
||||
- [ ] ZFS pools exported
|
||||
|
||||
@@ -17,6 +17,15 @@
|
||||
enable = true;
|
||||
wayland = true;
|
||||
};
|
||||
nvidia = {
|
||||
enable = true;
|
||||
package = "latest";
|
||||
graphics.extraPackages = with pkgs; [
|
||||
mesa
|
||||
libvdpau-va-gl
|
||||
libva-vdpau-driver
|
||||
];
|
||||
};
|
||||
users.enable = true;
|
||||
};
|
||||
|
||||
@@ -29,28 +38,13 @@
|
||||
wsl.wslConf.network.hostname = "wixos";
|
||||
wsl.wslConf.user.default = "johno";
|
||||
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
mesa
|
||||
libvdpau-va-gl
|
||||
libva-vdpau-driver
|
||||
];
|
||||
};
|
||||
# WSL-specific environment variables for graphics
|
||||
environment.sessionVariables = {
|
||||
LD_LIBRARY_PATH = [
|
||||
"/usr/lib/wsl/lib"
|
||||
"/run/opengl-driver/lib"
|
||||
];
|
||||
};
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
nvidiaSettings = true;
|
||||
open = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.latest;
|
||||
};
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
|
||||
@@ -26,7 +26,10 @@ with lib;
|
||||
x11 = true;
|
||||
};
|
||||
nfs-mounts.enable = true;
|
||||
nvidia.enable = true;
|
||||
nvidia = {
|
||||
enable = true;
|
||||
graphics.enable32Bit = true;
|
||||
};
|
||||
printing.enable = true;
|
||||
remote-build.enableBuilder = true;
|
||||
users.enable = true;
|
||||
@@ -47,27 +50,11 @@ with lib;
|
||||
# Fix dual boot clock sync - tell Linux to use local time for hardware clock
|
||||
time.hardwareClockInLocalTime = true;
|
||||
|
||||
# NVIDIA Graphics configuration
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
hardware.graphics.enable = true;
|
||||
hardware.graphics.enable32Bit = true;
|
||||
|
||||
# Set DP-0 as primary display with 164.90Hz refresh rate
|
||||
services.xserver.displayManager.sessionCommands = ''
|
||||
${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --mode 3440x1440 --rate 164.90 --primary
|
||||
'';
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
nvidiaSettings = true;
|
||||
package = pkgs.linuxPackages.nvidiaPackages.stable;
|
||||
open = true;
|
||||
|
||||
# For gaming performance
|
||||
powerManagement.enable = false;
|
||||
powerManagement.finegrained = false;
|
||||
};
|
||||
|
||||
services.ollama = {
|
||||
enable = true;
|
||||
acceleration = "cuda";
|
||||
|
||||
@@ -8,9 +8,89 @@ in
|
||||
{
|
||||
options.roles.nvidia = {
|
||||
enable = mkEnableOption "Enable the nvidia role";
|
||||
|
||||
# Driver configuration options
|
||||
open = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Use the open source nvidia kernel driver (for Turing and newer GPUs).";
|
||||
};
|
||||
|
||||
modesetting = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Enable kernel modesetting for nvidia.";
|
||||
};
|
||||
|
||||
nvidiaSettings = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Enable the nvidia-settings GUI.";
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.enum [ "stable" "latest" "beta" "vulkan_beta" "production" ];
|
||||
default = "stable";
|
||||
description = "The nvidia driver package to use.";
|
||||
};
|
||||
|
||||
powerManagement = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable nvidia power management (useful for laptops, not recommended for desktops).";
|
||||
};
|
||||
|
||||
finegrained = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable fine-grained power management for Turing and newer GPUs.";
|
||||
};
|
||||
};
|
||||
|
||||
graphics = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Enable hardware graphics support.";
|
||||
};
|
||||
|
||||
enable32Bit = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable 32-bit graphics libraries (needed for some games).";
|
||||
};
|
||||
|
||||
extraPackages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [];
|
||||
description = "Extra packages to add to hardware.graphics.extraPackages.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# Set xserver video driver
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
# Graphics configuration
|
||||
hardware.graphics = {
|
||||
enable = cfg.graphics.enable;
|
||||
enable32Bit = cfg.graphics.enable32Bit;
|
||||
extraPackages = cfg.graphics.extraPackages;
|
||||
};
|
||||
|
||||
# NVIDIA driver configuration
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = cfg.modesetting;
|
||||
nvidiaSettings = cfg.nvidiaSettings;
|
||||
open = cfg.open;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.${cfg.package};
|
||||
powerManagement.enable = cfg.powerManagement.enable;
|
||||
powerManagement.finegrained = cfg.powerManagement.finegrained;
|
||||
};
|
||||
|
||||
# Additional packages for nvidia support
|
||||
environment.systemPackages = with pkgs; [
|
||||
libva-utils
|
||||
nvidia-vaapi-driver
|
||||
|
||||
Reference in New Issue
Block a user