nixos-config/hosts/terre-neuvas/configuration.nix

93 lines
2.2 KiB
Nix
Raw Normal View History

2025-09-05 09:59:31 +02:00
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
2025-10-05 08:20:57 +02:00
config,
pkgs,
...
2025-10-09 17:40:43 +02:00
}: let
globals = import ../../config/globals.nix ;
in {
2025-10-05 08:20:57 +02:00
nix.settings.experimental-features = ["nix-command" "flakes"];
imports = [
# Include the results of the hardware scan.
./hardware.nix
../../profiles/server-selfhosted.nix
../../modules/services/ftp.nix
../../modules/services/forgejo.nix
];
2025-09-05 09:59:31 +02:00
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "terre-neuvas"; # Define your hostname.
# Configure keymap in X11
services.xserver.xkb = {
layout = "fr";
variant = "azerty";
};
# Configure console keymap
console.keyMap = "fr";
users.users.lomig = {
isNormalUser = true;
2025-10-05 08:20:57 +02:00
extraGroups = ["lp" "wheel" "docker"];
2025-09-05 09:59:31 +02:00
shell = pkgs.zsh;
};
home-manager = {
useGlobalPkgs = true;
users.lomig = import ../../hm/users/lomig.nix;
};
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
2025-10-05 08:20:57 +02:00
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
git
2025-09-05 09:59:31 +02:00
];
2025-10-04 07:08:16 +02:00
networking = {
2025-10-05 08:20:57 +02:00
useNetworkd = true;
firewall.allowedTCPPorts = [22 80 5900 5901 5902];
2025-10-14 07:37:44 +02:00
firewall.enable = true ;
2025-10-05 08:20:57 +02:00
interfaces.eno1.useDHCP = false;
interfaces.br0 = {
2025-10-05 08:20:57 +02:00
useDHCP = false;
ipv4.addresses = [
{
2025-10-09 17:40:43 +02:00
address = globals.network.terre-neuvas.ip;
2025-10-05 08:20:57 +02:00
prefixLength = 24;
}
];
};
defaultGateway = {
2025-10-05 08:20:57 +02:00
interface = "br0";
2025-10-09 17:40:43 +02:00
address = globals.network.gateway;
};
2025-10-09 17:40:43 +02:00
nameservers = [ globals.network.gateway "1.1.1.1"];
2025-10-05 08:20:57 +02:00
bridges.br0.interfaces = ["eno1"];
2025-10-04 07:08:16 +02:00
};
systemd.network = {
2025-10-05 08:20:57 +02:00
enable = true;
netdevs."br0" = {
netdevConfig = {
Name = "br0";
Kind = "bridge";
};
};
networks."br0" = {
2025-10-05 08:20:57 +02:00
matchConfig.Name = "br0";
};
networks."eno1" = {
matchConfig.Name = "eno1";
networkConfig.Bridge = "br0";
};
};
2025-10-14 07:37:44 +02:00
2025-09-05 09:59:31 +02:00
system.stateVersion = "25.05"; # Did you read the comment?
}