mirror of
https://codeberg.org/muon/home.git
synced 2025-12-06 08:07:45 +00:00
211 lines
5.6 KiB
Nix
211 lines
5.6 KiB
Nix
{ config, lib, pkgs, inputs, system, ... }:
|
|
let
|
|
cfg = config.mods;
|
|
keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKEio+Y5wBVD1wILaH2R3wV10FvVjiqy/4gGBWHOITTB muon@muon"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKevYmkH7xvYoquBjnYZ7PJiVqf+GOh9fxAJBN6wZGBB gin4@hi.is"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILmAOd9VbhyJeibt6Vrb101MNTk5W8+rh94Djv/C+pyu muon@muho"
|
|
];
|
|
in {
|
|
# Hardware
|
|
imports = [ ./hardware-configuration.nix ../ports.nix ];
|
|
|
|
# System
|
|
mods.user.name = "muon";
|
|
networking.hostName = "muho";
|
|
networking.hostId = "56e55e83";
|
|
mods.home.file = ./home.nix;
|
|
|
|
# Hosting
|
|
networking.firewall.allowedTCPPorts =
|
|
lib.attrsets.mapAttrsToList (name: value: value) cfg.server.nginx.ports;
|
|
|
|
# Modules
|
|
mods.desktop.enable = false;
|
|
mods.desktop.gaming.enable = false;
|
|
|
|
mods.boot.enable = true;
|
|
|
|
mods.theme.enable = true;
|
|
mods.theme.scheme = "woodland";
|
|
|
|
mods.server.photos.enable = true;
|
|
mods.server.search.enable = true;
|
|
mods.server.videos.enable = true;
|
|
mods.server.reddit.enable = true;
|
|
|
|
mods.server.grav.enable = true;
|
|
mods.server.homebox.enable = true;
|
|
mods.server.share.enable = false;
|
|
mods.server.vault.enable = true;
|
|
mods.server.git.enable = true;
|
|
mods.server.cal.enable = true;
|
|
mods.server.chat.enable = true;
|
|
mods.server.ntfy.enable = true;
|
|
mods.server.lemmy.enable = true;
|
|
|
|
mods.server.dash.enable = false;
|
|
mods.server.nginx.ports.dash = 3009;
|
|
|
|
mods.tailscale.enable = true;
|
|
mods.wireguard.id = 3;
|
|
|
|
services.xserver.windowManager.i3.enable = false;
|
|
|
|
users.users.muon.openssh.authorizedKeys.keys = keys;
|
|
users.users.root.openssh.authorizedKeys.keys = keys;
|
|
|
|
# Proprietary </3
|
|
mods.unfree.steam.enable = false;
|
|
mods.unfree.nvidia.enable = false;
|
|
mods.unfree.minecraft.enable = false;
|
|
|
|
mods.server.vrising.enable = false;
|
|
|
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
builtins.elem (lib.getName pkg) [
|
|
"valheim-server"
|
|
"steamworks-sdk-redist"
|
|
];
|
|
|
|
services.valheim = {
|
|
enable = true;
|
|
serverName = "Smorld";
|
|
worldName = "Smorld";
|
|
openFirewall = true;
|
|
password = "notbeempty";
|
|
bepinexMods = [
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "ValheimModding";
|
|
name = "Jotunn";
|
|
version = "2.25.0";
|
|
hash = "sha256-Tso4/Sf4Evt5kpBrVqZrjE9Qs2MSZV04WB1w+uX+TX8=";
|
|
})
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "Azumatt";
|
|
name = "AzuCraftyBoxes";
|
|
version = "1.8.4";
|
|
hash = "sha256-8bvHmONHuc9K0cgT42+W4oxQ6MusAv8v0IIVMerdYSA=";
|
|
})
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "Azumatt";
|
|
name = "AzuAutoStore";
|
|
version = "3.0.8";
|
|
hash = "sha256-ooghhDinwLTwEpTTQFj/brdb9Yj5aLGr+zYsjrsq9A0=";
|
|
})
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "Azumatt";
|
|
name = "AzuExtendedPlayerInventory";
|
|
version = "1.4.9";
|
|
hash = "sha256-Xd7KdUm3c14iQBST31DAqs+bQF9hwYhUxE66o3lusrA=";
|
|
})
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "Azumatt";
|
|
name = "Recycle_N_Reclaim";
|
|
version = "1.3.6";
|
|
hash = "sha256-2cWdmspwid2h1ekfDFAngN25402pQnxZQhm4rX6BNhw=";
|
|
})
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "Azumatt";
|
|
name = "AAA_Crafting";
|
|
version = "1.6.6";
|
|
hash = "sha256-cObo71X0wOzW3pZwAy7/dh7IRghu7EMPw7vWuoPWPlk=";
|
|
})
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "OdinPlus";
|
|
name = "OdinCampsite";
|
|
version = "1.5.8";
|
|
hash = "sha256-r3HTjfNy7ehr6bsjddr6mTA7T8VVXRhDfulIodjc0jc=";
|
|
})
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "MSchmoecker";
|
|
name = "MultiUserChest";
|
|
version = "0.6.1";
|
|
hash = "sha256-PhXW6vBtEMnhE93RAALEucPU9q3VpdMrooFawWYXl2A=";
|
|
})
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "Advize";
|
|
name = "CartographySkill";
|
|
version = "3.0.1";
|
|
hash = "sha256-u20BTiyF4e6QJ6OUK5migjdEpyzIGRDxLPJ3NdZNhvA=";
|
|
})
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "blacks7ar";
|
|
name = "VikingsDoSwim";
|
|
version = "1.3.8";
|
|
hash = "sha256-QCEYnx0I6onWEAJy851wS0WdC35L18DyJL1wAAwHFaU=";
|
|
})
|
|
(pkgs.fetchValheimThunderstoreMod {
|
|
owner = "blacks7ar";
|
|
name = "SeedBed";
|
|
version = "1.2.7";
|
|
hash = "sha256-wm2gGSyMQ6r3lLpbpXtZYG7s+fFYvw5nZGmSW54Ayt4=";
|
|
})
|
|
];
|
|
};
|
|
|
|
# Hardware preferences
|
|
|
|
## Mouse
|
|
services.libinput.mouse.accelProfile = "flat";
|
|
|
|
## Monitors
|
|
mods.monitors = {
|
|
primary = {
|
|
name = "DVI-D-0";
|
|
config = {
|
|
enable = true;
|
|
mode = "1920x1080";
|
|
position = "0x0";
|
|
primary = true;
|
|
rate = "59.93";
|
|
};
|
|
};
|
|
secondary = {
|
|
name = "HDMI-0";
|
|
config = {
|
|
enable = true;
|
|
mode = "1280x768";
|
|
position = "1920x312";
|
|
rate = "59.99";
|
|
};
|
|
};
|
|
};
|
|
|
|
# Turn off screen-saver
|
|
environment.extraInit = ''
|
|
xset s off -dpms
|
|
'';
|
|
|
|
environment.variables = {
|
|
WINIT_HIDPI_FACTOR = "1";
|
|
WINIT_X11_SCALE_FACTOR = "1";
|
|
};
|
|
|
|
boot.loader = {
|
|
timeout = 2;
|
|
efi.canTouchEfiVariables = true;
|
|
grub = {
|
|
enable = true;
|
|
zfsSupport = true;
|
|
efiSupport = true;
|
|
device = "nodev";
|
|
};
|
|
};
|
|
|
|
# hardware.graphics = {
|
|
# enable = true;
|
|
# enable32Bit = true;
|
|
# };
|
|
|
|
## GPU (AMD Radeon 7950)
|
|
## https://wiki.nixos.org/wiki/AMD_GPU
|
|
# boot.kernelParams = [ "radeon.si_support=0" "amdgpu.si_support=1" ];
|
|
|
|
## GPU (NVidia GTX 1060)
|
|
## https://nixos.wiki/wiki/Nvidia
|
|
# hardware.nvidia.powerManagement.enable = false;
|
|
|
|
# Version of first install
|
|
system.stateVersion = "23.11";
|
|
}
|