151 lines
3.5 KiB
Nix
151 lines
3.5 KiB
Nix
{ 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 = ''
|
|
<alias>
|
|
<family>RecMonoLinear Nerd Font Mono</family>
|
|
<prefer>
|
|
<family>Roboto Mono</family>
|
|
</prefer>
|
|
</alias>
|
|
'';
|
|
};
|
|
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;
|
|
};
|
|
};
|
|
}
|