98 lines
2.4 KiB
Nix
98 lines
2.4 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" ];
|
|
}];
|
|
}]; # TODO: fix amnezia-service loading on startup
|
|
|
|
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" ]; # check if tun really needed
|
|
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;
|
|
};
|
|
}
|