nix/hosts/desktop/default.nix
2024-10-08 14:19:32 +02:00

162 lines
4.9 KiB
Nix

{ inputs, config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
config = let
monitors = {
primary = "DisplayPort-1";
secondary = "HDMI-A-0";
};
user = config.chuj.system.user;
in {
hardware.amdgpu.amdvlk.enable = true;
boot = {
loader = {
timeout = 2;
grub = {
enable = true;
device = "/dev/disk/by-id/ata-Samsung_SSD_860_EVO_500GB_S4CNNE0M700172J";
gfxmodeBios = "auto"; # 1920x1080 did not work, this doesn't either
splashImage = null;
font = null;
};
};
# this doesn't even work
kernelParams = [
"video=${monitors.primary}:1920x1080@240"
"video=${monitors.secondary}:1920x1080@75"
];
initrd.kernelModules = [ "amdgpu" ];
};
environment.systemPackages = [ pkgs.ntfs3g ]; # for hdd disk
home-manager.users.${user}.home.packages = with pkgs; [
pamixer
kicad
sqlitebrowser
obs-studio
yt-dlp
aseprite
cloc
viu
qbittorrent
jetbrains.idea-community-bin
zed-editor
mumble
blender
godot4-mono
omnisharp-roslyn
# I don't know why, I don't want to know why, I shouldn't
# have to wonder why, but for whatever reason this stupid
# dotnet sdk isn't being detected by godot unless we add it here
dotnet-sdk
];
services.murmur = {
enable = true;
openFirewall = true;
users = 420;
};
chuj = {
system = {
user = "krizej";
host = "desktop";
platform = "x86_64-linux";
groups = [ "dialout" ];
};
home-manager.enable = true;
xdg.enable = true;
stuff = {
xserver.enable = true;
sddm.enable = true;
alacritty.enable = true;
vim.enable = true;
firefox.enable = true;
thunar.enable = true;
flameshot.enable = true;
git.enable = true;
other-desktop-programs.enable = true;
other-dev-programs.enable = true;
documentation.enable = true;
theme.enable = true;
printing.enable = true;
mpd.enable = true;
fish.enable = true;
autorandr = {
enable = true;
fingerprint = {
"Left" = "00ffffffffffff0026cd5961830600001d1f0104b5361e783b4c70a5574ea4260b5054a56b80710081408180a940b3009500950fd1c0023a801871382d40582c4500202f2100001e000000ff0031313737393132393031363637000000fd0030f0ffff3c010a202020202020000000fc00504c3235393048530a20202020019202033bf1529005040302011112131f203f140607151640e200d52309070783010000e305c301e60605016666006d1a0000020130f00000000000005a8780a070384d4030203500202f2100001ad09480a070381e4008203500202f2100001a23e88078703887401c40980c202f2100001a000000000000000000000000000063";
"Right" = "00ffffffffffff0026cd326162190000291c010380361e782a9055a75553a028135054a56b80710081408180a940b3009500950fd1c0023a801871382d40582c4500202f2100001e000000ff0031313534333834313036343938000000fd00374c1e5312000a202020202020000000fc00504c32353330480a2020202020016202032bf14f90050403020111121314060715161f230907078301000065030c001000681a00000101284be6023a801871382d40582c4500202f2100001f011d8018711c1620582c2500202f2100009e011d007251d01e206e285500202f2100001e2a4480a07038274030203500202f2100001a000000000000000000000000ab";
};
config = {
"Left" = {
enable = true;
mode = "1920x1080";
rate = "239.76";
position = "0x0";
primary = true;
};
"Right" = {
enable = true;
mode = "1920x1080";
rate = "74.97";
position = "1920x0";
};
};
};
i3 = {
enable = true;
workspaceOutput = {
"1" = monitors.primary;
"2" = monitors.secondary;
};
communicators = {
autostart = true;
workspace = "2";
};
};
ssh = {
enable = true;
keys = {
"git@github.com".file = "github";
"git@codeberg.org".file = "codeberg";
"git@gitlab.com".file = "codeberg";
"forgejo@git.jacekpoz.pl".file = "jacekgit";
"krizej@192.168.1.12".file = "rpi";
"discord@zasadzka.pl" = {
file = "zasadzka";
env."TERM" = "xterm-256color";
};
};
};
dunst = {
enable = true;
output = monitors.secondary;
side = "left";
};
gaming = {
enable = true;
quake = true;
dosbox = true;
ror2 = true;
steam = true;
scripts = [
{ name = "homm3"; exe = "HD_Launcher.exe"; }
{ name = "gtasa"; exe = "gta_sa.exe"; }
];
};
};
};
};
}