This repository holds my personal NixOS configuration. It is split into the following parts:
components/
: Individual system components.backups.nix
: Automated backupsgnome.nix
: Gnome related configuration and applicationslocale.nix
: Specific locale settings.en_GB
for the language andnl_NL
for everything else. In addition,us-intl
layout with dead keys enabled.nix-config.nix
: Specific nix configuration, garbage collection and preservation of derivations.packages.nix
: List of graphical applications.services.nix
: Enables services such as syncthing, podman and printing.shell-config.nix
: Command line utilities and ZSH configuration.system-dev-environment.nix
: Provides a minimal system development environment. Not majorly used, only for quick prototyping.hardening.nix
: Extra security features.
hardware-specifics/
: Specific configuration files for my hardware.zbook.nix
: Currently only a HP Zbook G5 Studio- Patches up the audio from the frontspeakers using a retask file generated by
hdajackretask
- Enables the proprietary nvidia driver and add
switcherooctrl
to enable "Launch with discrete graphics card"-option in gnome.
- Patches up the audio from the frontspeakers using a retask file generated by
To install this on a new NixOS system, follow the installation guide and generate a default configuration. Then do the following:
- Clone this repository
- Move
/etc/nixos/hardware-configuration.nix
to the repository, overwriting the copy here. - Purge the
/etc/nixos
-directory. - Symlink the
flake.nix
andconfiguration.nix
files to the/etc/nixos
-directory. - Run
nixos-rebuild switch
to initialise the new system. - Add necessary secrets to
/home/secrets
- Expected secrets:
/home/secrets/password.txt
: Password of backup/home/secrets/rclone.conf
: RClone configuration containing OAuth tokens
- Expected secrets:
The repository uses a flake.nix
to make it reproducible. Currently using the 22.05 release of Nixpkgs, with the specific revision locked in flake.lock
.
To update run: nix flake update