An opinionated NixOS configuration with Hyprland, featuring: - Modular flake-based architecture - Parameterized user configuration (username, timezone, locale, etc.) - Classical/antiquity theme with Thomas Cole wallpapers - Full Hyprland setup with waybar, rofi, swaync - Custom utility scripts (screenshots, screen recording, WiFi QR) - Neovim with LSP support - Interactive installer for existing NixOS systems - ISO builder for fresh installations Flake outputs: - nixosConfigurations.example - Test configuration - nixosConfigurations.installer - ISO installer - packages.iso - Bootable ISO image - apps.default - Interactive installer - lib.mkHost - Host builder function - templates.default - Starter template Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
35 lines
765 B
Nix
35 lines
765 B
Nix
# Networking configuration
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
nomarchyConfig,
|
|
...
|
|
}: {
|
|
# NetworkManager with iwd backend (better WiFi handling)
|
|
networking.wireless.enable = false;
|
|
networking.networkmanager = {
|
|
enable = true;
|
|
wifi.backend = "iwd";
|
|
};
|
|
|
|
# Firewall - enabled by default, ports configurable
|
|
networking.firewall = {
|
|
enable = true;
|
|
|
|
# Syncthing ports (if enabled)
|
|
allowedTCPPorts = lib.optionals (nomarchyConfig.enableSyncthing or true) [
|
|
8384 # Syncthing GUI
|
|
22000 # Syncthing transfer
|
|
];
|
|
|
|
allowedUDPPorts = lib.optionals (nomarchyConfig.enableSyncthing or true) [
|
|
22000 # Syncthing transfer
|
|
21027 # Syncthing discovery
|
|
];
|
|
};
|
|
|
|
# DNS resolution
|
|
services.resolved.enable = true;
|
|
}
|