nix-dotfiles/hosts/kasei/configuration.nix

155 lines
3.2 KiB
Nix
Raw Permalink Normal View History

{ config, lib, pkgs, inputs, specialArgs, ... }:
2022-03-22 16:36:19 +01:00
{
imports = [
2024-06-08 12:47:46 +02:00
./services/avahi.nix
2024-08-24 01:45:35 +02:00
./services/btrfs.nix
./services/docker.nix
./services/libvirtd.nix
./services/logiops.nix
./services/postgres.nix
./services/stable-diffusion.nix
./services/tailscale.nix
2024-06-02 16:18:56 +02:00
./services/keybase.nix
2024-10-05 12:08:58 +02:00
./nspawn-containers/arch.nix
];
system.stateVersion = "22.05";
2024-06-25 21:25:55 +02:00
2024-06-25 19:03:00 +02:00
boot.binfmt.emulatedSystems = [
"x86_64-windows"
"aarch64-linux"
"armv7l-linux"
2024-10-05 12:09:15 +02:00
"i686-linux"
2024-06-25 19:03:00 +02:00
];
2024-06-02 16:26:44 +02:00
nix.settings.system-features = [
"kvm"
"benchmark"
"big-parallel"
"nixos-test"
];
i18n.extraLocaleSettings = {
LC_ALL = "en_US.UTF-8";
};
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;
};
screens = {
DVI-D-0 = {
primary = true;
};
DP-4 = {
frequency = 144;
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;
networking = {
hostName = "kasei";
networkmanager.enable = true;
interfaces.enp6s0.useDHCP = true;
2024-06-02 16:26:44 +02:00
firewall.enable = false;
2023-05-08 02:50:47 +02:00
hostId = "f0660cef";
};
services = {
openssh = {
enable = true;
settings.X11Forwarding = true;
};
2024-08-01 00:47:46 +02:00
xserver.videoDrivers = [ "amdgpu" ];
tailscale.enable = true;
2024-06-02 16:26:44 +02:00
avahi = {
enable = true;
publish.enable = true;
publish.addresses = true;
publish.domain = true;
publish.hinfo = true;
publish.userServices = true;
publish.workstation = true;
extraServiceFiles.ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service";
};
};
2022-08-19 12:55:26 +02:00
boot = {
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
2024-08-01 00:47:46 +02:00
initrd.kernelModules = [ "amdgpu" ];
# kernelPackages = pkgs.linuxKernel.packages.linux_zen.zfs;
kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
kernelModules = [ "kvm-amd" ];
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
};
};
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
"/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
swapDevices = [ ];
2022-03-22 16:36:19 +01:00
hardware = {
bluetooth.enable = true;
cpu.amd.updateMicrocode = true;
enableRedistributableFirmware = true;
keyboard.zsa.enable = true;
2024-08-02 17:20:01 +02:00
sane.enable = true;
2024-06-02 16:26:44 +02:00
opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
2022-03-22 16:36:19 +01:00
};
}