refactor nixos config
This commit is contained in:
+10
-130
@@ -1,143 +1,23 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [ ./amnezia.nix ];
|
||||
zramSwap.enable = true;
|
||||
services.btrfs.autoScrub.enable = true;
|
||||
services.btrfs.autoScrub.interval = "weekly";
|
||||
|
||||
# networkmanagerapplet and nm-applet
|
||||
|
||||
virtualisation.virtualbox.host.enable = true;
|
||||
virtualisation.libvirtd.enable = true;
|
||||
programs.virt-manager.enable = true;
|
||||
users.extraGroups.vboxusers.members = [ "krosh" ];
|
||||
|
||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||
|
||||
services.pcscd.enable = true;
|
||||
# services.yubikey-agent.enable = true;
|
||||
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
# enableSSHSupport = true;
|
||||
};
|
||||
imports = [
|
||||
./modules/amnezia.nix
|
||||
./modules/security.nix
|
||||
./modules/memory.nix
|
||||
./modules/fonts.nix
|
||||
./modules/boot.nix
|
||||
./modules/programs.nix
|
||||
./modules/networking.nix
|
||||
./modules/power.nix
|
||||
];
|
||||
|
||||
programs.ssh.startAgent = true;
|
||||
|
||||
services.fprintd.enable = true;
|
||||
# services.fprintd.tod.enable = true;
|
||||
# services.fprintd.enrollPermissions = "uaccess";
|
||||
# security.polkit.enable = true;
|
||||
security.pam.services.sudo.fprintAuth = true;
|
||||
security.pam.services.login.fprintAuth = lib.mkForce true;
|
||||
# security.pam.services.lightdm.fprintAuth =
|
||||
# true; # or gdm/sddm depending on your display manager
|
||||
|
||||
# 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
|
||||
fprintd
|
||||
# fprintd-clients
|
||||
yubioath-flutter
|
||||
yubikey-manager
|
||||
pam_u2f
|
||||
qbittorrent
|
||||
];
|
||||
|
||||
# starting the following units: accounts-daemon.service, systemd-modules-load.service, systemd-tmpfiles-resetup.service, tlp.ser
|
||||
|
||||
# TODO: Добавить настройку вентиляторов
|
||||
|
||||
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"
|
||||
"kvm.enable_virt_at_load=0"
|
||||
];
|
||||
loader.timeout = 0;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
boot = {
|
||||
plymouth = {
|
||||
enable = true;
|
||||
theme = "double";
|
||||
themePackages = with pkgs;
|
||||
[
|
||||
(adi1090x-plymouth-themes.override {
|
||||
selected_themes = [ "double" ];
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
consoleLogLevel = 3;
|
||||
initrd.verbose = false;
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelParams = [
|
||||
"quiet"
|
||||
"splash"
|
||||
"boot.shell_on_fail"
|
||||
"udev.log_priority=3"
|
||||
"rd.systemd.show_status=auto"
|
||||
"kvm.enable_virt_at_load=0"
|
||||
];
|
||||
loader.timeout = 0;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts.jetbrains-mono
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
zramSwap.enable = true;
|
||||
services.btrfs.autoScrub.enable = true;
|
||||
services.btrfs.autoScrub.interval = "weekly";
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
# networkmanagerapplet and nm-applet
|
||||
|
||||
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; # need it?
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
# TODO: Добавить настройку вентиляторов
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [ powertop system76-scheduler tlp ];
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
#! KROSH MENTION
|
||||
{
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [ kitty qbittorrent ];
|
||||
|
||||
virtualisation.virtualbox.host.enable = true;
|
||||
virtualisation.libvirtd.enable = true;
|
||||
programs.virt-manager.enable = true;
|
||||
users.extraGroups.vboxusers.members = [ "krosh" ];
|
||||
|
||||
programs.firefox.enable = true;
|
||||
programs.zsh.enable = true;
|
||||
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 ]; };
|
||||
};
|
||||
};
|
||||
|
||||
# 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
|
||||
# };
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
fprintd
|
||||
yubioath-flutter
|
||||
yubikey-manager
|
||||
pam_u2f
|
||||
];
|
||||
services.pcscd.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
# enableSSHSupport = true;
|
||||
};
|
||||
# services.yubikey-agent.enable = true;
|
||||
|
||||
services.fprintd.enable = true;
|
||||
security.pam.services.sudo.fprintAuth = true;
|
||||
security.pam.services.login.fprintAuth = lib.mkForce true;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user