My personal nix config files. Feel free to import flake.
at main 73 lines 2.8 kB view raw
1{ 2 pkgs, 3 lib, 4 config, 5 ... 6}: let 7 inherit (lib) mkDefault; 8in { 9 options.teq.nixos = { 10 cachyos = lib.mkEnableOption "Enable CachyOS kernel."; 11 }; 12 config = lib.mkIf config.teq.nixos.enable { 13 systemd.services.systemd-udev-settle.enable = mkDefault false; # don't wait for udev to settle on boot 14 systemd.services.NetworkManager-wait-online.enable = mkDefault false; # don't wait for network to be up on boot 15 boot = { 16 initrd = { 17 systemd = { 18 enable = mkDefault true; 19 }; 20 # network = { 21 # flushBeforeStage2 = mkDefault true; 22 # enable = mkDefault true; 23 # ssh.enable = mkDefault false; # Optional SSH in the initrd 24 # ssh.ignoreEmptyHostKeys = mkDefault true; 25 # }; 26# verbose = mkDefault false; # Remove extra NixOS logging from the initrd 27 }; 28 plymouth = { 29 enable = mkDefault true; 30# theme = mkDefault "hud_3"; 31# themePackages = mkDefault [ 32# (pkgs.adi1090x-plymouth-themes.override {selected_themes = ["hud_3"];}) 33# ]; 34 }; 35 kernelParams = [ 36# "quiet" # Silences boot messages 37# "rd.systemd.show_status=false" # Silences successful systemd messages from the initrd 38# "rd.udev.log_level=3" # Silence systemd version number in initrd 39# "udev.log_priority=3" # Silence systemd version number 40# "boot.shell_on_fail" # If booting fails drop us into a shell where we can investigate 41# "splash" # Show a splash screen 42# "bgrt_disable" # Don't display the OEM logo after loading the ACPI tables 43# "plymouth.use-simpledrm" # Use simple DRM backend for Plymouth 44 ]; 45# consoleLogLevel = mkDefault 3; # Silence dmesg 46 }; 47 services.kmscon = { 48# enable = mkDefault true; # Use kmscon as the virtual console instead of gettys. 49 fonts = [ 50 { 51 name = "Noto Sans Mono"; 52 package = pkgs.noto-fonts-lgc-plus; 53 } 54 ]; 55 extraOptions = mkDefault "--term xterm-256color"; 56 extraConfig = mkDefault "font-size=10"; 57 # hwRender = mkDefault true; # Whether to use 3D hardware acceleration to render the console. 58 }; 59 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 60 boot.kernelPackages = 61 if config.teq.nixos.cachyos 62 then pkgs.linuxPackages_cachyos # Use the CachyOS kernel 63 else pkgs.linuxPackages_latest; # Use the default kernel # linux-6.11 500MB 64 boot.kernel.sysctl = { 65 "vm.max_map_count" = 2147483642; # Required for some games 66 }; 67 services.scx.enable = lib.mkDefault true; # by default uses scx_rustland scheduler 68 services.scx.scheduler = "scx_lavd"; 69 services.irqbalance.enable = lib.mkDefault true; 70 services.ananicy.enable = true; 71 services.ananicy.rulesProvider = pkgs.ananicy-rules-cachyos; 72 }; 73}