122 lines
2.5 KiB
Nix
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;
|
|
};
|
|
}
|