dot.nix/hosts/nixos/gojo/default.nix
Chris Toph 3523b82392 Configuration Cleanup
- Removed inaccurate comments
- Refactored browsers to independent nixes
- Small code changes for clarity
2025-05-29 15:25:49 -04:00

86 lines
2.3 KiB
Nix

###############################################################
#
# Gojo - Giovanni's Desktop
# NixOS running on Ryzen ___, Radeon RX 6950 XT, 32GB RAM
#
###############################################################
{
inputs,
lib,
config,
pkgs,
...
}:
let
username = "gio";
user = config.secretsSpec.users.${username};
in
{
imports = lib.flatten [
## Gojo Only ##
inputs.chaotic.nixosModules.default
# ./config
## Hardware ##
./hardware.nix
inputs.hardware.nixosModules.common-cpu-amd
inputs.hardware.nixosModules.common-gpu-amd
inputs.hardware.nixosModules.common-pc-ssd
(map lib.custom.relativeToRoot [
## Required Configs ##
"hosts/global/core"
## Optional Configs ##
"hosts/global/common/audio.nix" # pipewire and cli controls
"hosts/global/common/bluetooth.nix"
"hosts/global/common/ddcutil.nix" # ddcutil for monitor controls
"hosts/global/common/gaming.nix" # steam, gamescope, gamemode, and related hardware
"hosts/global/common/gnome.nix"
"hosts/global/common/nvtop.nix" # GPU monitor (not available in home-manager)
"hosts/global/common/plymouth.nix" # fancy boot screen
])
];
## Host Specifications ##
hostSpec = {
hostName = "gojo";
username = username;
hashedPassword = user.hashedPassword;
email = user.email;
handle = user.handle;
userFullName = user.fullName;
isServer = true;
};
networking = {
enableIPv6 = false;
};
## System-wide packages ##
programs.nix-ld.enable = true;
environment.systemPackages = with pkgs; [
asdf-vm
];
environment.sessionVariables = {
AMD_VULKAN_ICD = "RADV";
RADV_PERFTEST = "aco";
PROTON_USE_D9VK = 1;
};
# FIXME: Remove once out of VM
# VM guest additions to improve host-guest interaction
services.spice-vdagentd.enable = true;
services.qemuGuest.enable = true;
virtualisation.vmware.guest.enable = pkgs.stdenv.hostPlatform.isx86;
virtualisation.hypervGuest.enable = true;
services.xe-guest-utilities.enable = pkgs.stdenv.hostPlatform.isx86;
# The VirtualBox guest additions rely on an out-of-tree kernel module
# which lags behind kernel releases, potentially causing broken builds.
virtualisation.virtualbox.guest.enable = false;
# https://wiki.nixos.org/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "25.11";
}