Welcome to NixBook, a repository where I share my NixOS and home-manager configuration files for my EliteBook 865 G10.
- 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
andott
toolchain stuff. Packages maintained by me:nixpkgs
:lngen
nur.repos.chen
: forked version ofabella
(abella-modded
) andott
(ott-sweirich
)
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 withnixos-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.
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)
just rebuild
just update