# /hosts/hp-laptop/configuration.nix { config, pkgs, inputs, lib, ... }: { imports = [ ./hardware-configuration.nix ../../modules/core/common.nix ../../modules/desktop/gui.nix (import ../../modules/storage/disko.nix { inherit inputs lib config; diskoConfigPath = ./disko-config.nix; }) ../../modules/desktop/hyprland.nix ../../modules/core/management.nix ../../modules/hardware/laptop.nix ../../modules/hardware/hp-battery-limit.nix ../../modules/core/dev.nix ]; sops.secrets = { "users/petere-password" = { neededForUsers = true; }; # Nextcloud CalDAV credentials for the QuickShell calendar popup # (vdirsyncer/khal sync). Values live in secrets.yaml under # hp-laptop/nextcloud-cal-env; sync runs as petere so it must be readable. "hp-laptop/nextcloud-cal-env" = { owner = "petere"; group = "users"; mode = "0440"; }; }; home-manager.users.petere.imports = [ ../../home-manager/modules/hyprland.nix ../../home-manager/modules/quickshell-cal.nix ../../home-manager/modules/quickshell-apps.nix ]; home-manager.users.petere.services.quickshell-cal.enable = true; # Autostart app pool (toggleable from the gear quick-settings panel). # The on/off choice is stored at runtime in # ~/.cache/quickshell/autostart.json - adding an app here just makes it # available as an (off by default) entry next time the panel loads. home-manager.users.petere.services.quickshell-apps = { enable = true; apps = [ { name = "Element"; cmd = "element-desktop"; } { name = "Nextcloud"; cmd = "nextcloud"; } { name = "Bitwarden"; cmd = "bitwarden"; } ]; }; networking.hostName = "hp-laptop"; # Open legacy game-streaming ports. networking.firewall = { enable = true; allowedTCPPorts = [ 9756 ]; allowedUDPPorts = [ 9999 ]; }; # TeleportFling: standalone screen + audio sender for OBS Teleport. environment.systemPackages = [ inputs.teleportfling.packages.${pkgs.system}.teleportfling-gui inputs.teleportfling.packages.${pkgs.system}.teleportfling ]; # Laptop-specific hardware support (fingerprint reader, fwupd) my.hardware.laptop.enable = true; # Charging cap at 80% (protect battery longevity). Board 81AD firmware lacks # a percentage threshold sysfs, so this runs SBCC/SBCO via acpi_call: a root # poller inhibits charge at 80% and re-enables auto below 75%. Toggleable # from the QuickShell gear panel (CHARGE LIMIT). my.hardware.hpBatteryLimit.enable = true; # Intel integrated GPU (HP consumer laptops) hardware.graphics.enable = true; my.users.petere = { description = "Peter Edley"; hashedPasswordFile = config.sops.secrets."users/petere-password".path; subUidStart = 165536; subGidStart = 165536; }; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; }