Current state of main at 0240060 feat(hp-laptop): install TeleportFling from its flake. History intentionally collapsed to a single commit; this repo mirrors only the latest state.
106 lines
2.9 KiB
Nix
106 lines
2.9 KiB
Nix
# /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";
|
|
}
|