This is my personal /etc/nixos directory. Yes, the name is a Lain reference.
| category | components |
|---|---|
| desktop | plasma 6, sddm, xdg-desktop-portal, openrgb |
| audio and media | pipewire, wireplumber, steam, flatpak, tmate |
| networking | networkmanager, openssh, zerotier, waydroid networking |
| system tools | nh, git auto-sync via systemd, nix-ld, zram, docker, cups, system auto-upgrade |
| virtualization | libvirt, qemu, waydroid, declarative docker containers |
| hardware | intel microcode, nvidia drivers, bluetooth, sata tuning, kernel config, extended font set |
| user environment | home manager, zsh, lazyvim-nix, nixcord, spicetify-nix, zen browser, syd, custom packages |
| core system config | bootloader, locale, time, keyboard layout, opengl stack, rebuild-triggered git sync |
flake.nix
entry point of the entire configuration. defines all inputs, exposes the nixos system, and integrates home-manager and custom packages.
flake.lock
pinned versions of all dependencies. ensures reproducible builds across time and hardware.
README.md
documentation for the repository.
home.nix
home-manager configuration for the sidharthify user. defines the user environment: shell, editor, tooling, user-level services, and dotfiles.
system-wide configuration lives here. these modules shape the behavior of the operating system, not just the user session.
the root nixos module. imports every other module inside the nixos/ directory and assembles the complete system.
hardware-specific settings. each file configures a physical aspect of the machine.
- hardware-configuration.nix – autogenerated disk layout and filesystem setup.
- bluetooth.nix – bluetooth stack and driver options.
- intel.nix – intel firmware, microcode, cpu settings, and power management.
- nvidia.nix – nvidia drivers, kernel modules, and opengl integration.
- sata.nix – sata controller quirks, tuning, or performance settings.
background services and system daemons. these add functionality on top of the core OS.
- docker-containers.nix – declarative docker containers.
- flatpak.nix – flatpak service.
- openrgb.nix – rgb device control.
- pipewire.nix – audio system setup.
- steam.nix – gaming subsystem.
- tmate.nix – tmate remote sessions.
- waydroid.nix – android container environment.
- zerotier-config.nix – zerotier p2p networking.
core OS modules. these define essential system behavior and policy.
- auto-upgrade.nix – automatic system upgrades.
- bootloader.nix – system bootloader configuration.
- desktop.nix – plasma desktop and display manager (sddm).
- fonts.nix – installed font packages and fontconfig.
- kernel.nix – kernel version and parameters.
- locale.nix – locale, language, and regional settings.
- networking.nix – networking stack, interfaces, firewall.
- nix-settings.nix – nix daemon, flakes, gc, trusted users.
- opengl.nix – opengl and mesa configuration.
- openssh.nix – ssh server settings.
- printing.nix – cups printing support.
- time.nix – timezone and ntp configuration.
- xdg-portal.nix – desktop integration for sandboxed apps.
- xkb.nix – keyboard layout and keymap.
system-level user accounts and shells.
- sidharthify.nix – primary user account, groups, and user packages.
- zsh.nix – system-wide zsh configuration (not user-local).
custom nix packages created or overridden locally. exposed through the flake so they can be used anywhere in the config.
sync-nixos.sh
rebuilds and pushes to git automatically, not the best script out there.