mirror of
https://github.com/Nexoniarz/nexoniarz-config-nixos-laptop.git
synced 2026-11-03 04:24:27 +00:00
- modules/remote.nix: OpenSSH with keys only (no passwords, no root), ports 22 and 8080 (zvm_node) opened for 192.168.1.0/24 only; /etc/hosts names for both machines (DNS goes over TLS, so the router's *.lan names don't resolve) - the laptop accepts the PC's key; the PC's list is ready for the laptop's - hostName: nixos -> nexo-laptop Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
53 lines
3.1 KiB
Markdown
53 lines
3.1 KiB
Markdown
# nexoniarz-config-nixos-laptop
|
|
|
|
My personal NixOS configuration for an ASUS TUF Gaming A15 (FA507NU).
|
|
Shares its layout and settings with my PC config
|
|
([nexoniarz-config-nixos](https://github.com/Nexoniarz/nexoniarz-config-nixos));
|
|
only the hardware differs.
|
|
|
|
## Overview
|
|
|
|
- **OS:** NixOS 26.05 (unstable channel)
|
|
- **Desktop:** KDE Plasma 6 on Wayland (KWin), SDDM
|
|
- **Bootloader:** Limine
|
|
- **Terminal:** Konsole
|
|
- **Shell:** Zsh
|
|
- **Audio:** PipeWire
|
|
- **CPU:** AMD Ryzen 5 7535HS
|
|
- **GPU:** AMD Radeon 680M (iGPU, drives the panel) + NVIDIA RTX 4050 Max-Q
|
|
(PRIME render offload only; run things on it with `nvidia-offload <command>`)
|
|
- **Laptop control:** asusctl (fans, keyboard backlight, charge limit) + supergfxctl (dGPU power state)
|
|
|
|
## Layout
|
|
|
|
| File | Contents |
|
|
|---|---|
|
|
| `configuration.nix` | Imports only |
|
|
| `modules/boot.nix` | Limine, kernel, zram/swap |
|
|
| `modules/networking.nix` | NetworkManager, firewall, DNS-over-TLS, MAC randomization |
|
|
| `modules/locale.nix` | Timezone, locale, console keymap |
|
|
| `modules/nix-settings.nix` | Nix features, GC, unfree |
|
|
| `modules/security.nix` | sysctl hardening, sudo, firejail, GnuPG, polkit |
|
|
| `modules/remote.nix` | SSH between my machines (keys only) and ZeroVRAM's port 8080, both for the home network only; fixed host names `nexo-pc` / `nexo-laptop` |
|
|
| `modules/hardware.nix` | Hybrid graphics (PRIME offload), ASUS daemons, tablet, Bluetooth, I2C, RTL-SDR, printing |
|
|
| `modules/audio.nix` | PipeWire |
|
|
| `modules/desktop.nix` | Plasma, SDDM, fonts, theming |
|
|
| `modules/users.nix` | Account, shell, Steam, Flatpak |
|
|
| `modules/apps.nix` | Installed packages, nix-ld, AppImage support |
|
|
| `modules/default-apps.nix` | MIME associations |
|
|
| `modules/scripts.nix` | Custom scripts in `modules/scripts/` (vault, metadata stripping, brightness, Wi-Fi hotspot, telemetry, weather, NexoPass) |
|
|
| `modules/fastfetch.nix` | Installs `configs/fastfetch/config.jsonc` system-wide |
|
|
| `modules/firefox.nix` | Firefox, with prefs from `configs/firefox/prefs.js` (reapplied each start, not locked), and its own font list without the Microsoft core fonts (against font fingerprinting) |
|
|
| `configs/` | Plain app config files (Firefox prefs, fastfetch) used by the modules |
|
|
|
|
## NexoPass
|
|
|
|
`nexopass` (in `modules/scripts/`) derives site passwords from a master with Argon2id, so no password is ever stored. You can have several accounts, each with its own master and an encrypted site list (current versions plus an archive of old ones) in `~/.local/share/nexopass/accounts/`. One app password or PIN unlocks them all; a master is only typed to create or recover an account.
|
|
|
|
Passwords of 5-15 words or 12-64 characters, "did you mean" for typos, "stay unlocked" for a few minutes (kernel keyring), encrypted export/import shared with the NexoPass Android app, and `nexopass settings`. Run `nexopass help` for everything else. Apache License 2.0.
|
|
|
|
`nexopass-gui` is the [NexoPass](https://github.com/Nexoniarz/NexoPass) window (also on Android and Windows), fetched from its GitHub release. It uses the same files as `nexopass`, so both see the same accounts and app password.
|
|
|
|
---
|
|
|
|
*Made by **Nexoniarz***
|