nix/hosts/desktop/default.nix

163 lines
4.8 KiB
Nix
Raw Normal View History

2024-08-29 23:13:04 +02:00
{ inputs, config, pkgs, ... }:
2024-08-01 21:22:47 +02:00
{
imports = [
./hardware-configuration.nix
];
config = let
monitors = {
2024-08-09 23:19:26 +02:00
primary = "DisplayPort-1";
2024-08-01 21:22:47 +02:00
secondary = "HDMI-A-0";
};
2024-10-16 11:40:24 +02:00
inherit (config.chuj.system) user;
2024-08-01 21:22:47 +02:00
in {
2024-10-16 11:40:24 +02:00
# omfg please
# https://github.com/NixOS/nixpkgs/issues/348903
2024-10-19 19:27:27 +02:00
hardware.amdgpu = {
amdvlk.enable = true;
initrd.enable = true;
};
2024-08-01 21:22:47 +02:00
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
sqlitebrowser
obs-studio
aseprite
cloc
viu
2024-08-21 20:18:57 +02:00
qbittorrent
2024-10-16 11:40:24 +02:00
# jetbrains.idea-community-bin
2024-09-12 08:38:03 +02:00
mumble
2024-10-03 18:03:01 +02:00
blender
2024-10-16 08:37:42 +02:00
godot_4
2024-11-02 23:30:10 +01:00
gzdoom
2024-08-01 21:22:47 +02:00
];
2024-11-02 23:30:10 +01:00
networking.firewall.allowedTCPPorts = [ 27500 10666 ];
networking.firewall.allowedUDPPorts = [ 27500 10666 ];
2024-09-12 08:38:03 +02:00
services.murmur = {
enable = true;
openFirewall = true;
users = 420;
};
2024-08-01 21:22:47 +02:00
chuj = {
system = {
user = "krizej";
host = "desktop";
platform = "x86_64-linux";
groups = [ "dialout" ];
};
home-manager.enable = true;
2024-08-06 13:41:05 +02:00
xdg.enable = true;
2024-08-01 21:22:47 +02:00
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;
2024-08-06 13:41:05 +02:00
mpd.enable = true;
2024-09-27 22:28:42 +02:00
fish.enable = true;
2024-08-01 21:22:47 +02:00
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";
};
2024-08-01 21:22:47 +02:00
};
ssh = {
enable = true;
keys = {
"git@github.com".file = "github";
2024-08-21 20:18:57 +02:00
"git@codeberg.org".file = "codeberg";
2024-10-08 14:19:32 +02:00
"git@gitlab.com".file = "codeberg";
2024-08-01 21:22:47 +02:00
"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";
};
2024-08-01 23:35:09 +02:00
gaming = {
enable = true;
quake = true;
dosbox = true;
ror2 = true;
steam = true;
2024-08-21 20:18:57 +02:00
scripts = [
{ name = "homm3"; exe = "HD_Launcher.exe"; }
{ name = "gtasa"; exe = "gta_sa.exe"; }
];
2024-08-01 23:35:09 +02:00
};
2024-08-01 21:22:47 +02:00
};
};
};
}