organization

This commit is contained in:
waveringana 2025-06-17 19:34:05 -04:00
parent 440348d1e5
commit 7a31cdd170
3 changed files with 296 additions and 168 deletions

View file

@ -1,7 +1,9 @@
# hosts/valefar/configuration.nix (or default.nix)
# hosts/focalor/configuration.nix (or default.nix)
{ config, lib, system, pkgs, modulesPath, inputs, ... }:
{
# =============================================================================
# IMPORTS
# =============================================================================
imports = [
# Host-specific hardware
./hardware.nix
@ -14,38 +16,51 @@
../../common/services.nix
../../common/efi.nix
../../common/bluetooth.nix
# Desktop modules
../../common/desktop/core.nix
../../common/desktop/sway.nix
../../common/desktop/vnc.nix
# Nvidia
# Hardware-specific
../../common/nvidia.nix
# Common secrets
#../../host-secrets.nix
# Common secrets (commented out)
# ../../host-secrets.nix
];
# =============================================================================
# SYSTEM CONFIGURATION
# =============================================================================
system.stateVersion = "25.05";
# pin host platform & microcode
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
# Cross-compilation support
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
nix.settings.extra-platforms = config.boot.binfmt.emulatedSystems;
networking.hostName = "focalor";
networking.hostId = "84bdc587";
# =============================================================================
# NETWORKING
# =============================================================================
networking = {
hostName = "focalor";
hostId = "84bdc587";
firewall.enable = false;
firewall.trustedInterfaces = [ "tailscale0" ];
nameservers = [ "10.0.0.210" "1.1.1.1" ];
};
# Systemd networking with bridge
systemd.network = {
enable = true;
netdevs."br0" = {
netdevConfig = {
Name = "br0";
Kind = "bridge";
};
};
networks = {
"10-lan" = {
matchConfig.Name = ["enp5s0" "vm-*"];
@ -53,6 +68,7 @@
Bridge = "br0";
};
};
"10-lan-bridge" = {
matchConfig.Name = "br0";
networkConfig = {
@ -66,36 +82,38 @@
};
};
programs.steam.enable = true;
networking = {
firewall.enable = false;
firewall.trustedInterfaces = [
"tailscale0"
];
nameservers = [ "10.0.0.210" "1.1.1.1" ];
#useDHCP = true;
#firewall.allowedTCPPorts = [22 80 443 2456 2457 9000 9001 9002];
};
# DNS resolution
services.resolved = {
enable = true;
dnssec = "true";
domains = [ "~." ];
enable = true;
dnssec = "true";
domains = [ "~." ];
fallbackDns = [ "10.0.0.210" "1.0.0.1#one.one.one.one" ];
dnsovertls = "true";
dnsovertls = "true";
};
# =============================================================================
# FILESYSTEM & STORAGE
# =============================================================================
boot.supportedFilesystems = [ "nfs" ];
#boot.supportedFilesystems = [ "zfs" ];
#boot.kernelModules = [ "nct6775" "coretemp" ];
fileSystems."/mnt/storage" = {
device = "valefar:/storage";
fsType = "nfs";
};
#services.zfs.autoScrub.enable = true;
#services.zfs.trim.enable = true;
# =============================================================================
# SERVICES
# =============================================================================
services.vscode-server = {
enable = true;
nodejsPackage = pkgs.nodejs_20;
};
# =============================================================================
# PROGRAMS & APPLICATIONS
# =============================================================================
programs.steam.enable = true;
services.vscode-server.enable = true;
services.vscode-server.nodejsPackage = pkgs.nodejs_20;
programs.obs-studio = {
enable = true;
enableVirtualCamera = true;
@ -104,14 +122,9 @@
];
};
environment.systemPackages = with pkgs; [
#lm_sensors
#code-server
inputs.agenix.packages.x86_64-linux.default
];
environment.sessionVariables.WLR_RENDERER = "vulkan";
# =============================================================================
# VIRTUALIZATION
# =============================================================================
virtualisation.docker = {
enable = true;
enableOnBoot = true;
@ -120,6 +133,13 @@
};
};
# =============================================================================
# DESKTOP ENVIRONMENT
# =============================================================================
# Vulkan renderer for Wayland
environment.sessionVariables.WLR_RENDERER = "vulkan";
# XDG Portals
xdg.portal = {
enable = true;
wlr.enable = true;
@ -128,4 +148,28 @@
xdg-desktop-portal-gnome
];
};
}
# =============================================================================
# PACKAGES
# =============================================================================
environment.systemPackages = with pkgs; [
inputs.agenix.packages.x86_64-linux.default
];
# =============================================================================
# COMMENTED OUT / DISABLED
# =============================================================================
# ZFS support (disabled for this host)
# boot.supportedFilesystems = [ "zfs" ];
# boot.kernelModules = [ "nct6775" "coretemp" ];
# services.zfs.autoScrub.enable = true;
# services.zfs.trim.enable = true;
# Additional packages (commented out)
# lm_sensors
# code-server
# DHCP (disabled in favor of systemd-networkd)
# useDHCP = true;
# firewall.allowedTCPPorts = [22 80 443 2456 2457 9000 9001 9002];
}