{ config, pkgs, lib, ... }: { # Bootloader. boot.loader.efi.canTouchEfiVariables = true; boot.loader = { grub = { enable = true; useOSProber = true; efiSupport = true; device = "nodev"; gfxmodeEfi = "3440x1440"; font = "${pkgs.hack-font}/share/fonts/truetype/Hack-Regular.ttf"; fontSize = 36; }; }; boot.kernelModules = ["i2c-dev"]; hardware.i2c.enable = true; services.udev.extraRules = '' KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660" ''; # Set your time zone. time.timeZone = "Europe/Moscow"; # Select internationalisation properties. i18n.defaultLocale = "ru_RU.UTF-8"; i18n.supportedLocales = [ "en_US.UTF-8/UTF-8" "ru_RU.UTF-8/UTF-8" ]; i18n.extraLocaleSettings = { LC_ADDRESS = "ru_RU.UTF-8"; LC_IDENTIFICATION = "ru_RU.UTF-8"; LC_MEASUREMENT = "ru_RU.UTF-8"; LC_MONETARY = "ru_RU.UTF-8"; LC_NAME = "ru_RU.UTF-8"; LC_NUMERIC = "ru_RU.UTF-8"; LC_PAPER = "ru_RU.UTF-8"; LC_TELEPHONE = "ru_RU.UTF-8"; LC_TIME = "ru_RU.UTF-8"; }; networking.hosts = { "127.0.0.1" = [ "dev.tolma.ch" ]; }; # Enable the X11 windowing system. services.xserver.enable = true; # Configure keymap in X11 services.xserver.xkb = { layout = "us"; variant = ""; }; # Enable CUPS to print documents. services.printing.enable = true; # Enable sound with pipewire. services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; services.flatpak.enable = true; systemd.services.flatpak-repo = { wantedBy = [ "multi-user.target" ]; path = [ pkgs.flatpak ]; script = '' flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo ''; }; services.syncthing = { enable = true; user = "venya"; dataDir = "/home/venya/Documents"; # Default folder for new synced folders configDir = "/home/venya/.config/syncthing"; # Folder for Syncthing's settings and keys }; services.openssh = { enable = true; ports = [ 222 ]; settings = { PasswordAuthentication = true; AllowUsers = null; # Allows all users by default. Can be [ "user1" "user2" ] UseDns = true; X11Forwarding = false; PermitRootLogin = "prohibit-password"; # "yes", "without-password", "prohibit-password", "forced-commands-only", "no" }; }; fonts = { # https://www.programmingfonts.org/#roboto to check fonts visually fontDir = { enable = true; }; fontconfig = { defaultFonts = { monospace = [ "RecMonoLinear Nerd Font Mono" "Ubuntu Mono" ]; serif = [ "Noto Serif CJK SC" ]; sansSerif = [ "Noto Sans CJK SC" ]; }; localConf = '' RecMonoLinear Nerd Font Mono Roboto Mono ''; }; packages = with pkgs; [ # iosevka ubuntu-classic hack-font cascadia-code roboto-mono nerd-fonts.fira-code nerd-fonts.recursive-mono nerd-fonts.iosevka nerd-fonts.symbols-only noto-fonts-cjk-sans noto-fonts-cjk-serif ]; }; virtualisation.docker = { enable = true; rootless = { enable = true; setSocketVariable = true; }; }; }