# 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’). { pkgs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration/tarrel.nix ]; # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "tarrel"; hardware.opengl.enable = true; services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia = { modesetting.enable = true; nvidiaSettings = true; nvidiaPersistenced = true; package = config.boot.kernelPackages.nvidiaPackages.stable; }; security.rtkit.enable = true; # Set your time zone. time.timeZone = "Europe/Amsterdam"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "nl_NL.UTF-8"; LC_IDENTIFICATION = "nl_NL.UTF-8"; LC_MEASUREMENT = "nl_NL.UTF-8"; LC_MONETARY = "nl_NL.UTF-8"; LC_NAME = "nl_NL.UTF-8"; LC_NUMERIC = "nl_NL.UTF-8"; LC_PAPER = "nl_NL.UTF-8"; LC_TELEPHONE = "nl_NL.UTF-8"; LC_TIME = "nl_NL.UTF-8"; }; # Configure console keymap console.keyMap = "us-acentos"; programs.zsh.enable = true; programs.gnupg = { agent.enable = true; }; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.jras = { isNormalUser = true; description = "Jasper"; extraGroups = [ "networkmanager" "wheel" "audio" ]; shell = pkgs.zsh; }; security.sudo.execWheelOnly = true; security.sudo.wheelNeedsPassword = false; # Allow unfree packages nixpkgs.config.allowUnfree = true; environment.sessionVariables = { TERMINAL = "alacritty"; EDITOR = "helix"; }; environment.pathsToLink = [ "/libexec" ]; services.unifi = { enable = true; unifiPackage = pkgs.unifi8; }; services.sunshine = { enable = true; autoStart = true; capSysAdmin = true; openFirewall = true; }; # from: https://help.ui.com/hc/en-us/articles/218506997-Required-Ports-Reference # best put it in a var somewhere networking.networkmanager.enable = true; networking.firewall.allowedTCPPorts = [ 53 8080 8000 443 8443 8880 8843 6789 27117 ]; networking.firewall.allowedUDPPorts = [ 53 3478 5514 10001 1900 123]; networking.firewall.allowedUDPPortRanges = [ { from = 5656; to = 5699; } ]; # programs.mtr.enable = true; # List services that you want to enable: # Enable the OpenSSH daemon. # services.openssh.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.05"; # Did you read the comment? }