Files
nixos-config/nixos/custom.nix
T
2025-11-28 03:19:35 +03:00

123 lines
3.1 KiB
Nix

{ config, pkgs, lib, ... }:
{
# programs.steam = {
# enable = true;
# remotePlay.openFirewall =
# true; # Open ports in the firewall for Steam Remote Play
# dedicatedServer.openFirewall =
# true; # Open ports in the firewall for Source Dedicated Server
# };
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 14d";
};
networking.nameservers = [ "8.8.8.8" "1.1.1.1" ];
networking.networkmanager.insertNameservers = [ "1.1.1.1" "8.8.8.8" ];
networking.firewall.enable = false;
programs.firefox.enable = true;
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
kitty
amnezia-vpn
powertop
system76-scheduler
tlp
# lenovo-legion
];
# starting the following units: accounts-daemon.service, systemd-modules-load.service, systemd-tmpfiles-resetup.service, tlp.ser
# TODO: Добавить настройку вентиляторов
security.sudo.extraRules = [{
users = [ "ALL" ];
commands = [{
command = "/run/current-system/sw/bin/AmneziaVPN-service";
options = [ "NOPASSWD" ];
}];
}]; # TODO: fix amnezia-service loading on startup
# systemd.services.amnezia-vpn-service = {
# description = "Amnezia VPN Service";
# after = [ "network-online.target" ];
# wantedBy = [ "multi-user.target" ];
# serviceConfig = {
# ExecStart = "${pkgs.amnezia-vpn}/bin/AmneziaVPN-service";
# Restart = "on-failure";
# User = "root";
# };
# };
programs.neovim = {
enable = true;
defaultEditor = true;
configure = {
customRC = ''
set runtimepath^=${pkgs.vimPlugins.jellybeans-vim}
colorscheme jellybeans
set number
set cc=80
set list
set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:»
if &diff
colorscheme blue
endif
'';
packages.myVimPackage = with pkgs.vimPlugins; { start = [ ctrlp ]; };
};
};
# fonts.packages = builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
fonts.packages = with pkgs; [
nerd-fonts.jetbrains-mono
# from example
nerd-fonts.fira-code
nerd-fonts.droid-sans-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
liberation_ttf
fira-code
fira-code-symbols
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
];
fonts.enableDefaultPackages = true;
programs.zsh.enable = true;
boot = {
plymouth = {
enable = true;
theme = "lone";
themePackages = with pkgs;
[
(adi1090x-plymouth-themes.override { selected_themes = [ "lone" ]; })
];
};
consoleLogLevel = 3;
initrd.verbose = false;
kernelModules = [ "tun" ]; # check if tun really needed
kernelPackages = pkgs.linuxPackages_latest;
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"udev.log_priority=3"
"rd.systemd.show_status=auto"
];
loader.timeout = 0;
};
}