Add configuration for Librewolf and Zen browser with privacy-focused policies

- Created Librewolf configuration in `home/programs/librewolf/system.nix` with telemetry disabled, enhanced security settings, and enforced extensions.
- Added Zen browser configuration in `home/programs/zen/default.nix` and `home/programs/zen/system.nix`, including similar privacy policies and default search engine settings.
- Introduced `hosts/home-pc/configuration.nix` for system-wide settings, including USBGuard rules and firewall configurations.
- Established `hosts/home-pc/flake.nix` to manage NixOS modules and configurations.
- Generated `hosts/home-pc/hardware-configuration.nix` for hardware-specific settings.
- Created `hosts/home-pc/home.nix` to import various user-specific applications and settings.
- Added profile picture in `hosts/home-pc/profile_picture.jpg`.
- Implemented secrets management in `hosts/home-pc/secrets/default.nix` and `hosts/home-pc/secrets/secrets.yaml` using SOPS for encryption.
- Defined user-specific variables in `hosts/home-pc/variables.nix`, including hostname, username, and locale settings.
- Added profile picture for laptop in `hosts/laptop/profile_picture.jpg`.
This commit is contained in:
2026-06-22 23:11:52 +02:00
parent a45e7a2c9b
commit 7ea20554a6
24 changed files with 2305 additions and 8 deletions
+41
View File
@@ -0,0 +1,41 @@
{config, ...}: {
imports = [
# Mostly system related configuration
../../nixos/audio.nix
../../nixos/bluetooth.nix
../../nixos/fonts.nix
../../nixos/home-manager.nix
../../nixos/nix.nix
../../nixos/systemd-boot.nix
../../nixos/tuigreet.nix
../../nixos/usbguard.nix
../../nixos/users.nix
../../nixos/utils.nix
../../nixos/hyprland.nix
../../home/programs/helium/system.nix # I hate browser's configuration..
# You should let those lines as is
./hardware-configuration.nix
./variables.nix
];
home-manager.users."${config.var.username}" = import ./home.nix;
# USBGuard:
# Allow all USB devices until a proper policy is configured.
# Run `sudo usbguard generate-policy` with your devices plugged in,
# then set rules = "<output>" and switch implicitPolicyTarget to "block".
# services.usbguard.implicitPolicyTarget = lib.mkForce "allow";
services.usbguard.rules = ''
allow id 1d6b:0002 serial "0000:00:14.0" name "xHCI Host Controller" hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" parent-hash "rV9bfLq7c2eA4tYjVjwO4bxhm+y6GgZpl9J60L0fBkY=" with-interface 09:00:00 with-connect-type ""
allow id 1d6b:0003 serial "0000:00:14.0" name "xHCI Host Controller" hash "prM+Jby/bFHCn2lNjQdAMbgc6tse3xVx+hZwjOPHSdQ=" parent-hash "rV9bfLq7c2eA4tYjVjwO4bxhm+y6GgZpl9J60L0fBkY=" with-interface 09:00:00 with-connect-type ""
allow id 17ef:608d serial "" name "Lenovo USB Optical Mouse" hash "klpDZuv1jhWGNqZLOl+KXF+75Ir3PfBm6D6ncjoLRBU=" parent-hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" via-port "1-7" with-interface 03:01:02 with-connect-type "hotplug"
allow id 17ef:6190 serial "" name "Lenovo Calliope USB Keyboard G2" hash "CfZ9R/aoXGm7BN/ojVEzKQwVoxCUtRWMuACrE7BL/5Y=" parent-hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" via-port "1-10" with-interface { 03:01:01 03:00:00 } with-connect-type "hotplug"
allow id 0781:5581 name " SanDisk 3.2Gen1"
'';
networking.firewall.allowedTCPPorts = [9001];
# Don't touch this
system.stateVersion = "24.05";
}