From 8cb2e05312e0ee415c7da0ab94db60110cd63c84 Mon Sep 17 00:00:00 2001 From: Doloro1978 Date: Wed, 24 Dec 2025 18:38:03 +0000 Subject: [PATCH] wip: various changes to modularization and laptop --- hosts/doloro-laptop/laptop.nix | 29 +++++++++++++++++++++ hosts/doloro-laptop/nixos.nix | 15 ++++++++++- hosts/doloro/nixos.nix | 47 +++++++++++++++++----------------- modules/fonts/nixos.nix | 38 +++++++++++++++++++++++++++ 4 files changed, 105 insertions(+), 24 deletions(-) create mode 100644 hosts/doloro-laptop/laptop.nix create mode 100644 modules/fonts/nixos.nix diff --git a/hosts/doloro-laptop/laptop.nix b/hosts/doloro-laptop/laptop.nix new file mode 100644 index 0000000..4608134 --- /dev/null +++ b/hosts/doloro-laptop/laptop.nix @@ -0,0 +1,29 @@ +{ ... }: +{ + services.tlp = { + enable = true; + extraConfig = '' + CPU_SCALING_GOVERNOR_ON_BAT=power_save + CPU_SCALING_GOVERNOR_ON_AC=performance + PCIE_ASPM_ON_AC=performance + PCIE_ASPM_ON_BAT=powersave + ''; + settings = { + START_CHARGE_THRESH_BAT0 = 40; # 40 and below it starts to charge + STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging + }; + }; + powerManagement.powertop.enable = true; + services.thermald.enable = true; + services.upower = { + enable = true; + }; + services.logind.extraConfig = { + HandlePowerKey = "hibernate"; # Hibernate when the power button is pressed + HandleLidSwitch = "hibernate"; # Hibernate when the lid is closed + }; + systemd.sleep = { + hibernate = true; + hybridSleep = true; + }; +} diff --git a/hosts/doloro-laptop/nixos.nix b/hosts/doloro-laptop/nixos.nix index c1b911c..94869fe 100644 --- a/hosts/doloro-laptop/nixos.nix +++ b/hosts/doloro-laptop/nixos.nix @@ -16,6 +16,7 @@ in { imports = [ inputs.sops-nix.nixosModules.sops + ./laptop.nix ]; modules = { fish.enable = true; @@ -24,6 +25,7 @@ in steam.enable = false; Hyprland.enable = true; wivrn.enable = false; + fonts.enable = true; }; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; @@ -37,7 +39,8 @@ in networking.networkmanager.enable = true; # Set your time zone. - time.timeZone = "Europe/London"; + # time.timeZone = "Europe/London"; + services.automatic-timezoned.enable = true; nix.settings = { substituters = [ @@ -59,6 +62,16 @@ in }; hardware.graphics = { enable = true; + extraPackages = with pkgs; [ + # Required for modern Intel GPUs (Xe iGPU and ARC) + intel-media-driver # VA-API (iHD) userspace + vpl-gpu-rt # oneVPL (QSV) runtime + + # Optional (compute / tooling): + intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe + # NOTE: 'intel-ocl' also exists as a legacy package; not recommended for Arc/Xe. + # libvdpau-va-gl # Only if you must run VDPAU-only apps + ]; }; services.openssh = { enable = true; diff --git a/hosts/doloro/nixos.nix b/hosts/doloro/nixos.nix index c496a28..80aa4ab 100644 --- a/hosts/doloro/nixos.nix +++ b/hosts/doloro/nixos.nix @@ -24,6 +24,7 @@ in steam.enable = true; Hyprland.enable = true; wivrn.enable = true; + fonts.enable = true; }; # Use the systemd-boot EFI boot loader. @@ -174,29 +175,29 @@ in package = config.boot.kernelPackages.nvidiaPackages.latest; }; - fonts = { - enableDefaultPackages = true; - packages = - with pkgs; - [ - nerd-fonts.jetbrains-mono - material-design-icons - material-symbols - googlesans-code - nerd-fonts.caskaydia-cove - nerd-fonts.noto - noto-fonts-cjk-sans - noto-fonts-cjk-serif - ] - ++ [ - (inputs.font-patcher.lib.patchFont { - font = "${pkgs.googlesans-code}/share/fonts/googlesans-code/GoogleSansCode[wght].ttf"; - name = "Google Sans Code Nerd Font"; - inherit system; - }) - ]; - fontDir.enable = true; - }; + # fonts = { + # enableDefaultPackages = true; + # packages = + # with pkgs; + # [ + # nerd-fonts.jetbrains-mono + # material-design-icons + # material-symbols + # googlesans-code + # nerd-fonts.caskaydia-cove + # nerd-fonts.noto + # noto-fonts-cjk-sans + # noto-fonts-cjk-serif + # ] + # ++ [ + # (inputs.font-patcher.lib.patchFont { + # font = "${pkgs.googlesans-code}/share/fonts/googlesans-code/GoogleSansCode[wght].ttf"; + # name = "Google Sans Code Nerd Font"; + # inherit system; + # }) + # ]; + # fontDir.enable = true; + # }; boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; programs.nix-ld.enable = true; programs.nix-ld.libraries = with pkgs; [ diff --git a/modules/fonts/nixos.nix b/modules/fonts/nixos.nix new file mode 100644 index 0000000..732720d --- /dev/null +++ b/modules/fonts/nixos.nix @@ -0,0 +1,38 @@ +{ + inputs, + pkgs, + lib, + config, + ... +}: +let + cfg = config.modules.fonts; +in +{ + options.modules.fonts = { + enable = lib.mkEnableOption "fonts"; + }; + config.fonts = lib.mkIf cfg.enable { + enableDefaultPackages = true; + packages = + with pkgs; + [ + nerd-fonts.jetbrains-mono + material-design-icons + material-symbols + googlesans-code + nerd-fonts.caskaydia-cove + nerd-fonts.noto + noto-fonts-cjk-sans + noto-fonts-cjk-serif + ] + ++ [ + (inputs.font-patcher.lib.patchFont { + font = "${pkgs.googlesans-code}/share/fonts/googlesans-code/GoogleSansCode[wght].ttf"; + name = "Google Sans Code Nerd Font"; + inherit system; + }) + ]; + fontDir.enable = true; + }; +}