# channel="nixos-small" # 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’). { config, pkgs, ... }: { imports = [ ./ev-hardware-configuration.nix ./sanix.nix ./parts/server.nix ./parts/tailscale.nix ./parts/basics.nix ./parts/basics-physical.nix ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "ev"; networking.networkmanager.enable = true; time.timeZone = "Europe/Vienna"; users.users.martin = { isNormalUser = true; extraGroups = [ "networkmanager" "wheel" ]; }; # Open ports in the firewall. networking.firewall.allowedTCPPorts = [ # Enabling openssh automatically opens its port in the firewall. # For all other services we need to manually list the ports here. ]; networking.firewall.allowedUDPPorts = []; fileSystems = { "/mnt/personal" = { device = "UUID=5587670d-9a50-4068-baca-17f5360f9ff9"; fsType = "ext4"; options = [ "nofail" "noatime" "rw" ]; }; "/mnt/lib" = { device = "UUID=a5f90083-d604-4218-b4d4-aac421b9d732"; fsType = "ext4"; options = [ "nofail" "noatime" "rw" ]; }; }; users.extraUsers.kodi.isNormalUser = true; services = { pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; cage = let kodi-package = pkgs.kodi-wayland.withPackages (kodiPkgs: with kodiPkgs; [ joystick ]); in { enable = true; user = "kodi"; program = "${kodi-package}/bin/kodi-standalone"; environment = { KODI_AE_SINK = "PIPEWIRE"; # TODO: remove with new Kodi which defaults to pipewire }; }; zigbee2mqtt = { enable = true; settings = { serial = { port = "/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_e2fed465c59ded11962fd7a5a7669f5d-if00-port0"; }; frontend = { port = 8080; }; }; }; mosquitto = { enable = true; }; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "24.11"; # Did you read the comment? }