
Some checks are pending
🏠 Home Lab CI/CD Pipeline / 🔍 Validate Configuration (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🔨 Build Configurations (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔒 Security Audit (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📚 Documentation & Modules (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔄 Update Dependencies (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🚀 Deploy Configuration (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📢 Notify Results (push) Blocked by required conditions
- Move networking configs to modules/network/ directory - Create network-<machine-name>.nix files for each machine - Add common.nix for shared networking configuration - Update import paths in machine configurations - Reduce duplication by using common networking settings Network modules: - modules/network/common.nix: Shared settings (nftables, SSH, tailscale) - modules/network/network-congenital-optimist.nix: Workstation specific - modules/network/network-sleeper-service.nix: File server specific
59 lines
No EOL
1.1 KiB
Nix
59 lines
No EOL
1.1 KiB
Nix
{ config, pkgs, inputs, unstable, ... }: {
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
../../modules/network/network-sleeper-service.nix
|
|
];
|
|
|
|
# Boot configuration
|
|
boot.loader.grub = {
|
|
enable = true;
|
|
efiSupport = true;
|
|
efiInstallAsRemovable = true;
|
|
devices = [ "nodev" ];
|
|
};
|
|
|
|
# Time and locale
|
|
time.timeZone = "Europe/Oslo";
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
# Console configuration
|
|
console = {
|
|
font = "Lat2-Terminus16";
|
|
keyMap = "no";
|
|
};
|
|
|
|
# Enable unfree packages
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
# Basic system packages
|
|
environment.systemPackages = with pkgs; [
|
|
wget
|
|
curl
|
|
git
|
|
htop
|
|
eza
|
|
bat
|
|
ripgrep
|
|
du-dust
|
|
fd
|
|
ncdu
|
|
tree
|
|
];
|
|
|
|
# Users
|
|
users.users.geir = {
|
|
isNormalUser = true;
|
|
extraGroups = [ "wheel" "networkmanager" ];
|
|
shell = pkgs.zsh;
|
|
openssh.authorizedKeys.keys = [
|
|
# Add SSH public keys here
|
|
];
|
|
};
|
|
|
|
programs.zsh.enable = true;
|
|
|
|
# Firewall configuration
|
|
networking.firewall.allowedTCPPorts = [ 22 ];
|
|
|
|
system.stateVersion = "25.05";
|
|
} |