lucashc / NixOS-Config

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NixOS-Config

This repository holds my personal NixOS configuration. It is split into the following parts:

  • components/: Individual system components.
    • backups.nix: Automated backups
    • gnome.nix: Gnome related configuration and applications
    • locale.nix: Specific locale settings. en_GB for the language and nl_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.

Installing

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 and configuration.nix files to the /etc/nixos-directory.
  • Run nixos-rebuild switch to initialise the new system.
  • Add necessary secrets to /home/secrets
    • Expected secrets:
      1. /home/secrets/password.txt: Password of backup
      2. /home/secrets/rclone.conf: RClone configuration containing OAuth tokens

Flakes

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

About


Languages

Language:Nix 100.0%