{ config, pkgs, ... }: { nixpkgs.config.allowUnfree = true; imports = [ ./hardware-configuration.nix ./home-manager.nix ]; boot = { loader = { timeout = 0; efi.canTouchEfiVariables = true; systemd-boot = { enable = true; consoleMode = "auto"; }; }; kernelPackages = pkgs.linuxPackages_latest; kernelParams = [ "quiet" "splash" "vga=current" "mitigations=off" "udev.log_level=3" ]; initrd = { verbose = false; kernelModules = [ "i915" ]; }; consoleLogLevel = 0; plymouth.enable = true; }; console = { earlySetup = true; font = "${pkgs.terminus_font}/share/consolefonts/ter-132n.psf.gz"; packages = with pkgs; [ terminus_font ]; keyMap = "us"; }; networking = { hostName = "sijmen-laptop"; networkmanager.enable = true; }; hardware.pulseaudio.enable = true; hardware.bluetooth.enable = true; sound.enable = true; time.timeZone = "Europe/Amsterdam"; # Select internationalisation properties. i18n = { defaultLocale = "en_US.UTF-8"; supportedLocales = [ "en_US.UTF-8/UTF-8" "nl_NL.UTF-8/UTF-8" ]; }; users.users.sijmen = { isNormalUser = true; extraGroups = [ "wheel" ]; }; environment = { gnome.excludePackages = (with pkgs; [ gnome-photos gnome-tour ]) ++ (with pkgs.gnome; [ gnome-calendar gnome-music epiphany # web browser geary # email reader totem # video player tali # poker game iagno # go game hitori # sudoku game atomix # puzzle game ]); systemPackages = with pkgs; [ gnome.adwaita-icon-theme ]; }; services.pipewire.enable = true; services.printing.enable = true; services.xserver = { enable = true; displayManager.gdm.enable = true; desktopManager.gnome.enable = true; }; services.openssh = { enable = true; passwordAuthentication = false; }; services.throttled.enable = true; services.syncthing = { enable = true; user = "sijmen"; dataDir = config.users.users.sijmen.home; overrideDevices = true; overrideFolders = true; devices = { "nas".id = "5XADATO-6ZKNZFK-YIX2TU3-RTUOAXR-OMWOAH6-OIUB7LE-TWM5B3C-W2I2FQU"; }; folders = { "vhuse-qjbcl" = { path = "${config.users.users.sijmen.home}/Sync"; devices = [ "nas" ]; }; }; }; networking.firewall = { allowedTCPPorts = [ 22 # ssh 22000 # syncthing sync 51414 # transmission 57621 # spotify connect ]; allowedUDPPorts = [ 21027 # syncthing discovery 22000 # syncthing sync ]; }; fonts.fonts = with pkgs; [ noto-fonts noto-fonts-cjk noto-fonts-emoji nerdfonts ]; # 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 = "22.05"; # Did you read the comment? }