139 lines
3.5 KiB
Nix
Raw Normal View History

2022-09-23 21:26:59 +03:00
{ inputs, config, lib, pkgs, ... }: {
2022-12-07 22:05:00 +03:00
imports = with inputs.self; [
2023-03-25 19:31:05 +03:00
./boot.nix
2021-02-07 02:38:11 +03:00
./hardware-configuration.nix
2022-12-07 22:05:00 +03:00
nixosRoles.workstation
2022-10-21 14:01:19 +03:00
2023-03-25 19:31:05 +03:00
# nixosProfiles.stable-diffusion
2022-12-07 22:05:00 +03:00
nixosProfiles.a2ln-server
2023-04-15 03:19:30 +03:00
nixosProfiles.cassowary
2023-05-16 21:56:54 +03:00
nixosProfiles.hoyo
nixosProfiles.sunshine
2021-02-07 02:38:11 +03:00
];
2021-09-15 15:41:21 +03:00
2023-04-15 03:13:42 +03:00
virtualisation.libvirt.guests = {
win2k22 = {
autoStart = true;
user = config.mainuser;
group = "libvirtd";
2023-05-24 21:24:33 +03:00
xmlFile = ./vm/win2k22.xml;
2023-04-15 03:13:42 +03:00
};
};
2021-02-07 02:38:11 +03:00
deviceSpecific.devInfo = {
cpu = {
vendor = "amd";
clock = 3700;
2022-12-07 22:05:00 +03:00
cores = 12;
2021-02-07 02:38:11 +03:00
};
drive = {
type = "ssd";
speed = 6000;
size = 1000;
};
gpu = {
vendor = "amd";
};
bigScreen = true;
2022-10-08 04:32:18 +03:00
ram = 48;
fileSystem = "zfs";
2021-02-07 02:38:11 +03:00
};
deviceSpecific.isHost = true;
deviceSpecific.isShared = false;
deviceSpecific.isGaming = true;
deviceSpecific.enableVirtualisation = true;
2023-04-15 03:18:30 +03:00
deviceSpecific.vpn.mullvad.enable = false;
deviceSpecific.vpn.ivpn.enable = true;
2023-05-24 21:24:33 +03:00
# hardware.firmware = [ pkgs.rtl8761b-firmware ];
2022-08-31 01:13:53 +03:00
2023-03-27 20:57:06 +03:00
programs.nix-ld.enable = true;
2023-01-26 00:23:55 +03:00
2023-05-16 21:56:54 +03:00
secrets.files-veracrypt = { };
2022-12-14 23:49:46 +03:00
environment.etc.crypttab = {
text = ''
files-veracrypt /dev/disk/by-partuuid/15fa11a1-a6d8-4962-9c03-74b209d7c46a /var/secrets/files-veracrypt tcrypt-veracrypt
'';
};
fileSystems = {
2023-05-24 21:24:33 +03:00
"/media/win-sys" = {
fsType = "ntfs";
device = "/dev/disk/by-partuuid/5b47cea7-465c-4051-a6ba-76d0eaf42929";
options = [
"nofail"
"uid=${toString config.users.users.${config.mainuser}.uid}"
"gid=${toString config.users.groups.users.gid}"
];
};
2022-12-14 23:49:46 +03:00
"/media/files" = {
fsType = "ntfs";
device = "/dev/mapper/files-veracrypt";
options = [
"nofail"
"uid=${toString config.users.users.${config.mainuser}.uid}"
"gid=${toString config.users.groups.users.gid}"
];
};
};
2023-02-22 23:57:37 +03:00
powerManagement.cpuFreqGovernor = "schedutil";
2023-02-11 01:19:24 +03:00
services.openssh.settings.PermitRootLogin = lib.mkForce "without-password";
2023-01-26 00:32:35 +03:00
2022-12-14 23:49:46 +03:00
services.ratbagd.enable = true;
2022-12-10 22:34:39 +03:00
home-manager.users.${config.mainuser} = {
home.packages = lib.mkIf config.deviceSpecific.enableVirtualisation [
2022-12-14 23:49:46 +03:00
inputs.nixos-generators.packages.${pkgs.hostPlatform.system}.nixos-generate
2023-03-27 20:57:06 +03:00
# pkgs.prismlauncher
2022-12-14 23:49:46 +03:00
pkgs.piper
2023-02-14 07:04:20 +03:00
pkgs.osu-lazer-bin
2023-03-27 20:57:06 +03:00
pkgs.nix-alien
2023-02-14 07:04:20 +03:00
pkgs.nixpkgs-review
2023-02-22 23:57:37 +03:00
pkgs.anydesk
pkgs.winbox
2023-05-24 21:24:33 +03:00
pkgs.zotero
2022-12-10 22:34:39 +03:00
];
2023-03-26 19:24:28 +03:00
home.stateVersion = "23.05";
2022-12-10 22:34:39 +03:00
};
2022-10-21 14:01:19 +03:00
2023-05-24 21:24:33 +03:00
persist.state.homeDirectories = [ ".local/share/winbox" ];
2023-04-15 03:14:27 +03:00
2023-03-26 19:24:28 +03:00
system.stateVersion = "23.05";
2022-12-07 22:05:00 +03:00
2022-10-21 14:01:19 +03:00
# VFIO Passthough
2023-05-24 21:24:33 +03:00
# systemd.services.libvirtd = {
# path = let
# env = pkgs.buildEnv {
# name = "qemu-hook-env";
# paths = with pkgs; [
# libvirt bash util-linux pciutils ripgrep
# procps coreutils systemd kmod gawk
# ];
# };
# in [ env ];
# };
# system.activationScripts.libvirt-hooks.text = ''
# ln -Tfs /etc/libvirt/hooks /var/lib/libvirt/hooks
# ln -Tfs /etc/libvirt/vgabios /var/lib/libvirt/vgabios
# '';
# environment.etc = {
# "libvirt/hooks/qemu".source = ./passthrough/qemu;
# "libvirt/hooks/qemu.d/win10/vfio-script.sh".source = ./passthrough/vfio-script.sh;
# "libvirt/vgabios/navi22.rom".source = ./passthrough/navi22.rom;
# };
# systemd.services.hyprland-logout = {
# script = "hyprctl dispatch exit";
# serviceConfig = {
# Type = "oneshot";
# User = config.mainuser;
# };
# path = [
# config.home-manager.users.${config.mainuser}.wayland.windowManager.hyprland.package
# ];
2022-10-21 14:01:19 +03:00
# };
2021-02-07 02:38:11 +03:00
}