Skip to content

cu1ch3n/nixbook

Repository files navigation

built with nix Cachix Cache

NixBook: Chen's NixOS Configurations

Welcome to NixBook, a repository where I share my NixOS and home-manager configuration files for my EliteBook 865 G10.

Highlights

  • Tmpfs as root & home: Automatically erases the root (/) and home (/home) on each boot, ensuring a clean state. Persistent data is managed by the Impermanence module (See tmpfs as root and tmpfs as home for more details).
  • Encrypted single Btrfs partition: LUKS enhances security by adding password protection to the disk. Btrfs also supports easy snapshot backups.
  • Declarative disk partitioning: eliminates the need for manual partitioning, mounting, and unmounting during the installation phase
  • Efficient Desktop Environment: Optimized for productivity with minimal distractions, featuring only essential visual elements. It supports an automatic switch between light and dark themes.
  • Theorem proving toolchains in PL research: abella, coq, lngen and ott toolchain stuff. Packages maintained by me:

Installation

To install the Nixbook configurations on your system, start by booting your computer with a LiveCD. Once you have successfully booted into the LiveCD environment, open a terminal and enter:

git clone https://github.com/cu1ch3n/nixbook
cd nixbook/script
chmod +x ./install.sh
./install.sh

IMPORTANT NOTE: If you are not me and your hardware is not EliteBook 865 G10, please avoid using ./install.sh directly. Instead, consider adapting the configurations to suit your own hardware and needs. You'll likely need to make adjustments in several very personal places:

  • scripts/disko.nix: Update the disk device, partitions, and the path to password files.
  • nixos/hardware.nix: Generate an initial hardware configuration with nixos-generate-config and carefully replace the settings accordingly.
  • nixos/user.nix: Replace the username if it's not "Chen."
  • nixos/secrets.nix: Replace the username.
  • home-manager/home.nix: Replace the username.
  • home-manager/dotfiles/default.nix: Comment out the configuration unless you're using the same monitor setup.
  • home-manager/programs/git.nix: Update your Git settings as needed.

Post-installation

After the installation, there are a few settings that need to be configured manually. These settings are not managed declaratively through NixOS:

  • Set user fingerprint
  • 1Password SSH & CLI integration
  • Doom Emacs (git clone and install)

Rebuild NixOS configuration

just rebuild

Update flake lock file

just update

Preview

Light

Dark