Files
nix/hosts/eirene/default.nix
Nikolaos Karaolidis 41b75cad1e Format
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2024-11-25 22:12:37 +00:00

172 lines
4.0 KiB
Nix

{
inputs,
lib,
pkgs,
...
}:
{
imports = [
../../lib
inputs.disko.nixosModules.disko
(import ./format.nix { device = "/dev/disk/by-id/nvme-SAMSUNG_MZVL22T0HBLB-00BL2_S64RNE0R602762"; })
./hardware-configuration.nix
../common/system/configs/bluetooth
../common/system/configs/boot
../common/system/configs/brightnessctl
../common/system/configs/btop
../common/system/configs/btrfs
../common/system/configs/cpu
../common/system/configs/docker
../common/system/configs/fastfetch
../common/system/configs/getty
../common/system/configs/git
../common/system/configs/gpg-agent
../common/system/configs/impermanence
../common/system/configs/ncdu
../common/system/configs/neovim
../common/system/configs/networking
../common/system/configs/nix
../common/system/configs/nix-ld
../common/system/configs/nixpkgs
../common/system/configs/ntp
../common/system/configs/pipewire
../common/system/configs/plymouth
../common/system/configs/powertop
../common/system/configs/printing
../common/system/configs/ranger
../common/system/configs/sops
../common/system/configs/ssh
../common/system/configs/system
../common/system/configs/timezone
../common/system/configs/tlp
../common/system/configs/tmux
../common/system/configs/tree
../common/system/configs/users
../common/system/configs/wget
../common/system/configs/zsh
../common/system/scripts/cleanup
./users/nick.nix
];
networking.hostName = "eirene";
i18n.defaultLocale = "en_US.UTF-8";
sops.defaultSopsFile = ./secrets/secrets.yaml;
# https://github.com/NixOS/nixos-hardware/tree/master/lenovo/legion/16achg6
hardware = {
enableAllFirmware = true;
cpu = {
cores = 8;
threads = 16;
amd.updateMicrocode = true;
};
nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
open = false;
prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
nvidiaBusId = "PCI:1:0:0";
amdgpuBusId = "PCI:6:0:0";
};
};
graphics = {
enable32Bit = true;
extraPackages = with pkgs; [
amdvlk
driversi686Linux.amdvlk
rocmPackages.clr
rocmPackages.clr.icd
];
};
};
powerManagement.enable = true;
systemd.services.powertop.postStart = builtins.readFile ./scripts/mouse.sh;
services = {
xserver.videoDrivers = [ "nvidia" ];
fstrim.enable = true;
tlp.settings.DISK_DEVICES = "nvme0n1 nvme1n1";
};
boot = {
kernelParams = [
"amd_pstate=active"
"video=eDP-1:2560x1600@165"
];
initrd.kernelModules = [ "amdgpu" ];
};
nixpkgs.config = {
cudaSupport = true;
rocmSupport = true;
};
programs = {
steam.package = pkgs.steam.override {
extraEnv.STEAM_FORCE_DESKTOPUI_SCALING = 1.25;
};
gamescope = {
env = {
__NV_PRIME_RENDER_OFFLOAD = "1";
__VK_LAYER_NV_optimus = "NVIDIA_only";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
};
args = [
"-W 2560"
"-H 1600"
];
};
};
home-manager.sharedModules = [
{
wayland.windowManager.hyprland.settings = {
monitor = "eDP-1, 2560x1600@165, 0x0, 1.25";
env = [ "WLR_DRM_DEVICES,$HOME/.config/hypr/card" ];
device = [
{
name = "syna2ba6:00-06cb:ce44-touchpad";
sensitivity = 0.5;
}
];
gestures.workspace_swipe_distance = 600;
};
programs = {
zsh.loginExtra = lib.mkBefore (builtins.readFile ./scripts/card.sh);
# VSCode does not play well with fractional scaling
vscode.userSettings."window.zoomLevel" = (1.25 - 1) / 0.2;
obs-studio.resolution = {
base = {
x = 4096;
y = 2560;
};
output = {
x = 2048;
y = 1280;
};
};
};
theme = {
cursor.size = 24;
};
}
];
}