{ pkgs, pkgs2, spkgs, inputs, ... }: let username = "buliway"; in { imports = [ /etc/nixos/hardware-configuration.nix inputs.home-manager.nixosModules.default ../modules/nixos/bundle.nix ./packages.nix ]; boot = { kernelPackages = pkgs.linuxPackages_latest; # Ядро линуха, ласт версия loader = { grub = { enable = true; device = "nodev"; # nodev позволяет не устанавливать grub в конкретное место, но видеть его ui efiSupport = true; useOSProber = true; }; efi.canTouchEfiVariables = true; }; }; # У GTK прикол есть. Часть приложения читает xserver dpi и увеличивает интерфейс # Часть приложений смотрит только на переменную GDK_SCALE, из-за чего переменная становится обязательной # Но указание этой переменной ломает те приложения, которые читают xserver dpi, скейл выходит x4 # Для фикса есть переменная, которая делит xserver dpi на два, то есть 0.5 # Чтоб приложения, которые читают xserver dpi, не ломались environment.variables = { QT_SCALE_FACTOR = "2"; GDK_SCALE = "2"; # Обязателен на GTK4, но ломает все GTK3 и ниже, фикс ниже GDK_DPI_SCALE = "0.5"; # Kомпенсатор, если текст/элементы слишком огромные }; # Define a user account. Don't forget to set a password with ‘passwd’. users = { defaultUserShell = pkgs.zsh; users.${username} = { isNormalUser = true; description = username; extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" "storage" "docker" "video" "render" ]; }; }; home-manager = { # also pass inputs to home-manager modules useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit spkgs; inherit pkgs2; inherit inputs; }; users.${username} = ./home.nix; }; security.polkit = { # Всплывающее меню для ввода пароля enable = true; }; xdg.portal = { enable = true; xdgOpenUsePortal = true; config.common.default = [ "gtk" "*" ]; extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; }; nix.settings = { experimental-features = ["nix-command" "flakes"]; # Кеш, чтоб не компилить некоторый софт # Если начинает компилить, то удалить пакет и применить только с этой настройкой # Потом добавить пакет обратно # substituters = [ # "https://cache.garnix.io" # ]; # trusted-public-keys = [ # "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" # https://github.com/mrshmllow/affinity-nix # ]; }; system.stateVersion = "24.05"; # Don't change it }