Files
nixos-config/nixos/custom.nix
T

122 lines
2.5 KiB
Nix

{
config,
pkgs,
lib,
...
}:
{
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
lenovo-legion
];
# TODO: Добавить настройку вентиляторов
security.sudo.extraRules = [
{
users = [ "ALL" ];
commands = [
{
command = "/run/current-system/sw/bin/AmneziaVPN-service";
options = [ "NOPASSWD" ];
}
];
}
];
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"
"lenovo-legion-module"
]; # for VPN
kernelPackages = pkgs.linuxPackages_latest;
extraModulePackages = with config.boot.kernelPackages; [ lenovo-legion-module ];
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"udev.log_priority=3"
"rd.systemd.show_status=auto"
];
loader.timeout = 0;
};
}