2022-04-03 18:03:55 +02:00
|
|
|
{ config, lib, pkgs, inputs, specialArgs, ... }:
|
2022-03-22 16:36:19 +01:00
|
|
|
{
|
2022-06-22 20:16:57 +02:00
|
|
|
machineVars = {
|
|
|
|
headless = false;
|
|
|
|
gaming = true;
|
|
|
|
development = true;
|
|
|
|
creative = true;
|
|
|
|
|
2022-06-02 16:33:21 +02:00
|
|
|
dataDrives = let
|
2022-06-22 20:16:57 +02:00
|
|
|
main = "/data";
|
|
|
|
in {
|
|
|
|
drives = { inherit main; };
|
|
|
|
default = main;
|
|
|
|
};
|
|
|
|
|
2022-11-20 17:12:27 +01:00
|
|
|
screens = {
|
2023-02-25 18:04:55 +01:00
|
|
|
DVI-D-0 = {
|
2022-11-20 17:12:27 +01:00
|
|
|
primary = true;
|
|
|
|
};
|
2023-02-25 18:04:55 +01:00
|
|
|
DP-4 = {
|
|
|
|
frequency = 144;
|
2022-11-20 17:12:27 +01:00
|
|
|
position = "1920x0";
|
|
|
|
};
|
|
|
|
};
|
2022-06-22 20:16:57 +02:00
|
|
|
};
|
|
|
|
|
2022-03-22 16:36:19 +01:00
|
|
|
systemd.targets = {
|
|
|
|
sleep.enable = false;
|
|
|
|
suspend.enable = false;
|
|
|
|
hibernate.enable = false;
|
|
|
|
hybrid-sleep.enable = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
# security.pam.services.login.unixAuth = true;
|
|
|
|
|
2023-02-25 18:04:55 +01:00
|
|
|
networking = {
|
|
|
|
hostName = "kasei";
|
|
|
|
networkmanager.enable = true;
|
|
|
|
interfaces.enp6s0.useDHCP = true;
|
2023-07-28 17:59:34 +02:00
|
|
|
firewall = {
|
|
|
|
enable = true;
|
|
|
|
allowedTCPPorts = [ 7860 ];
|
|
|
|
allowedUDPPorts = [ config.services.tailscale.port ];
|
|
|
|
checkReversePath = "loose";
|
|
|
|
trustedInterfaces = [ "tailscale0" ];
|
|
|
|
};
|
2023-05-08 02:50:47 +02:00
|
|
|
hostId = "f0660cef";
|
2023-02-25 18:04:55 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
services = {
|
2023-07-28 17:59:34 +02:00
|
|
|
openssh = {
|
|
|
|
enable = true;
|
|
|
|
settings.X11Forwarding = true;
|
|
|
|
};
|
2023-02-25 18:04:55 +01:00
|
|
|
xserver.videoDrivers = ["nvidia"];
|
2023-07-28 17:59:34 +02:00
|
|
|
tailscale.enable = true;
|
2023-02-25 18:04:55 +01:00
|
|
|
};
|
|
|
|
|
2023-02-25 18:00:02 +01:00
|
|
|
# TODO: remove when merged: https://github.com/NixOS/nixpkgs/pull/167388
|
2023-07-28 17:59:34 +02:00
|
|
|
systemd = {
|
|
|
|
services = {
|
|
|
|
logid = {
|
|
|
|
description = "Logitech Configuration Daemon";
|
|
|
|
startLimitIntervalSec = 0;
|
|
|
|
wants = [ "multi-user.target" ];
|
|
|
|
after = [ "multi-user.target" ];
|
|
|
|
wantedBy = [ "graphical-session.target" ];
|
|
|
|
|
|
|
|
serviceConfig = {
|
|
|
|
Type = "simple";
|
|
|
|
ExecStart = "${pkgs.logiops}/bin/logid";
|
|
|
|
User = "root";
|
|
|
|
ExecReload = "/bin/kill -HUP $MAINPID";
|
|
|
|
Restart="on-failure";
|
|
|
|
};
|
|
|
|
};
|
2023-02-25 18:00:02 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-02-25 18:01:22 +01:00
|
|
|
virtualisation = {
|
|
|
|
docker.enable = true;
|
|
|
|
libvirtd.enable = true;
|
|
|
|
};
|
|
|
|
|
2022-08-19 12:55:26 +02:00
|
|
|
boot = {
|
2023-02-25 18:01:06 +01:00
|
|
|
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
|
|
|
|
initrd.kernelModules = [ ];
|
2023-07-28 17:59:34 +02:00
|
|
|
|
|
|
|
# kernelPackages = pkgs.linuxKernel.packages.linux_zen.zfs;
|
|
|
|
kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
|
2023-02-25 18:01:06 +01:00
|
|
|
kernelModules = [ "kvm-amd" ];
|
2023-07-28 17:59:34 +02:00
|
|
|
blacklistedKernelModules = [ "nouveau" ];
|
|
|
|
kernelParams = [ "nomodeset" ];
|
|
|
|
supportedFilesystems = [ "zfs" ];
|
|
|
|
|
2022-08-19 12:55:26 +02:00
|
|
|
loader = {
|
|
|
|
efi.canTouchEfiVariables = false;
|
|
|
|
grub = {
|
|
|
|
enable = true;
|
|
|
|
efiSupport = true;
|
|
|
|
fsIdentifier = "label";
|
|
|
|
device = "nodev";
|
|
|
|
efiInstallAsRemovable = true;
|
|
|
|
};
|
2022-03-22 16:36:19 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-02-25 18:01:06 +01:00
|
|
|
fileSystems = {
|
|
|
|
"/" = {
|
|
|
|
device = "/dev/disk/by-uuid/70a0ca95-4ca4-4298-a8c4-e492705cfb93";
|
|
|
|
fsType = "btrfs";
|
|
|
|
};
|
|
|
|
|
|
|
|
"/boot" = {
|
|
|
|
device = "/dev/disk/by-uuid/D883-A077";
|
|
|
|
fsType = "vfat";
|
|
|
|
};
|
|
|
|
|
|
|
|
"/data" = {
|
|
|
|
device = "/dev/disk/by-label/data1";
|
|
|
|
fsType = "btrfs";
|
|
|
|
};
|
2022-03-22 16:36:19 +01:00
|
|
|
|
2023-02-25 18:01:06 +01:00
|
|
|
"/data/disks/data2" = {
|
|
|
|
device = "/dev/disk/by-uuid/7afc5f6b-947a-4c86-a5b5-dfefe42899c0";
|
|
|
|
fsType = "ext4";
|
2022-03-22 16:36:19 +01:00
|
|
|
};
|
2022-06-02 16:33:21 +02:00
|
|
|
};
|
2022-03-22 16:36:19 +01:00
|
|
|
|
2023-02-25 18:01:06 +01:00
|
|
|
swapDevices = [ ];
|
2022-03-22 16:36:19 +01:00
|
|
|
|
2023-02-25 18:01:06 +01:00
|
|
|
hardware = {
|
|
|
|
bluetooth.enable = true;
|
|
|
|
cpu.amd.updateMicrocode = true;
|
|
|
|
enableRedistributableFirmware = true;
|
|
|
|
keyboard.zsa.enable = true;
|
|
|
|
logitech.wireless.enable = true;
|
2022-03-22 16:36:19 +01:00
|
|
|
};
|
|
|
|
}
|