2024-06-10 12:14:37 +02:00
|
|
|
{ pkgs, inputs, config, ... }:
|
2024-06-04 22:13:24 +02:00
|
|
|
{
|
2024-06-10 12:14:37 +02:00
|
|
|
imports = [
|
|
|
|
(import ../Common { inherit inputs pkgs; })
|
|
|
|
];
|
|
|
|
|
2024-06-05 13:28:56 +02:00
|
|
|
services.xserver.videoDrivers = ["nvidia"];
|
2024-06-05 01:02:16 +02:00
|
|
|
hardware.opengl.extraPackages = [
|
|
|
|
pkgs.intel-compute-runtime
|
|
|
|
pkgs.intel-media-driver
|
|
|
|
];
|
2024-06-05 13:28:56 +02:00
|
|
|
environment.systemPackages = with pkgs; [
|
2024-06-10 12:14:37 +02:00
|
|
|
# Cuda
|
2024-06-05 13:28:56 +02:00
|
|
|
pciutils
|
|
|
|
file
|
|
|
|
gnumake
|
|
|
|
gcc
|
|
|
|
cudatoolkit
|
|
|
|
];
|
|
|
|
hardware.nvidia = {
|
|
|
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
|
|
|
modesetting.enable = true;
|
|
|
|
powerManagement.enable = false;
|
|
|
|
powerManagement.finegrained = true;
|
|
|
|
open = false;
|
|
|
|
nvidiaSettings = true;
|
|
|
|
prime = {
|
|
|
|
intelBusId = "PCI:0:2:0";
|
|
|
|
nvidiaBusId = "PCI:1:0:0";
|
|
|
|
offload = {
|
|
|
|
enable = true;
|
|
|
|
enableOffloadCmd = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
systemd.services.nvidia-control-devices = {
|
|
|
|
wantedBy = [ "multi-user.target" ];
|
|
|
|
serviceConfig.ExecStart = "${pkgs.linuxPackages.nvidia_x11.bin}/bin/nvidia-smi";
|
|
|
|
};
|
|
|
|
specialisation = {
|
2024-06-05 14:31:58 +02:00
|
|
|
docked.configuration = {
|
2024-06-05 13:28:56 +02:00
|
|
|
system.nixos.tags = [ "docked" ];
|
|
|
|
hardware.nvidia = {
|
|
|
|
powerManagement.finegrained = pkgs.lib.mkForce false;
|
|
|
|
prime.offload.enable = pkgs.lib.mkForce false;
|
|
|
|
prime.offload.enableOffloadCmd = pkgs.lib.mkForce false;
|
|
|
|
prime.sync.enable = pkgs.lib.mkForce true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-06-08 17:31:27 +02:00
|
|
|
|
2024-06-07 01:01:14 +02:00
|
|
|
|
|
|
|
services.ollama = {
|
|
|
|
enable = true;
|
|
|
|
acceleration = "cuda";
|
|
|
|
};
|
2024-06-04 22:13:24 +02:00
|
|
|
|
2024-06-05 02:23:39 +02:00
|
|
|
|
2024-06-04 22:13:24 +02:00
|
|
|
networking.wg-quick.interfaces = {
|
|
|
|
wg0 = {
|
2024-06-04 23:42:15 +02:00
|
|
|
address = [ "10.0.0.5/24" "2a02:a03f:83ad:2101::5/128" ];
|
2024-06-05 18:34:54 +02:00
|
|
|
# dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
|
2024-06-04 22:13:24 +02:00
|
|
|
privateKeyFile = "/home/user/.secrets/Wireguard/Aloria.key";
|
|
|
|
listenPort = 51820;
|
2024-06-05 18:34:54 +02:00
|
|
|
postUp = "resolvectl dns wg0 10.0.0.1; resolvectl domain wg0 ~thomasave.be;";
|
2024-06-04 22:13:24 +02:00
|
|
|
peers = [{
|
|
|
|
publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
|
2024-06-04 23:42:15 +02:00
|
|
|
allowedIPs = [ "10.0.0.1/8" "192.168.1.2/32" ];
|
2024-06-04 22:13:24 +02:00
|
|
|
endpoint = "h.thomasave.be:13231";
|
|
|
|
persistentKeepalive = 25;
|
|
|
|
}];
|
|
|
|
};
|
|
|
|
};
|
2024-06-10 16:01:29 +02:00
|
|
|
# networking.networkmanager = {
|
|
|
|
# enable = true;
|
|
|
|
# ensureProfiles = {
|
|
|
|
# environmentFiles = [
|
|
|
|
# "/home/user/.secrets/Wireless/Aloria.env"
|
|
|
|
# ];
|
|
|
|
# profiles = pkgs.lib.mapAttrs mkConnection connections;
|
|
|
|
# };
|
|
|
|
# dns = "systemd-resolved";
|
|
|
|
# };
|
|
|
|
# networking.networkmanager.wifi.backend = "iwd";
|
|
|
|
|
2024-06-06 20:15:03 +02:00
|
|
|
networking.wireless.iwd.enable = true;
|
|
|
|
networking.wireless.iwd.settings = {
|
|
|
|
IPv6 = {
|
|
|
|
Enabled = true;
|
|
|
|
};
|
|
|
|
Settings = {
|
|
|
|
AutoConnect = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-06-04 22:13:24 +02:00
|
|
|
}
|