Nix-Vibe public snapshot (squashed history)
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
# /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";
|
||||
}
|
||||
Reference in New Issue
Block a user