nixos-private-dots/nixos/configuration.nix

85 lines
3.1 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ 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
}