- Shell 64.8%
- Nix 27.8%
- JavaScript 7.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- 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> |
||
| configs | ||
| modules | ||
| .gitignore | ||
| configuration.nix | ||
| hardware-configuration.nix | ||
| README.md | ||
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); 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 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