NixOS Configuration
This repository contains the NixOS system and user profile configuration files for my machines. For an overview and more thorough description, read NixOS: Confederation (myme.no).
I rarely install new machines and thus haven't really invested the time to
automate this process in a good way. The steps under
Installation are most likely borken or
incomplete. Your best bet is to download and
install NixOS
following the
regular documentation, then simply build and update using
nixos-rebuild switch --flake .
.
Installation
Install SSH keys on machine
Use a local keyboard and mouse or remote console to start up a shell on the
machine. Then add public keys as desired to .ssh/authorized_keys
for remote
access.
$ mkdir .ssh
$ curl -o .ssh/authorized_keys https://github.com/myme.keys
Copy installation files to host
The following command will prompt for one of the deploy.nodes
hosts to copy
the installation files to.
$ ./bootstrap/copy.sh
Start NixOS installation
Begin the installation by invoking the install script, either on console or over
SSH
:
$ sudo ./bootstrap/install.sh
The command will prompt for a system profile to install.
Post-install
Installing emacs
dependencies:
$ ~/.emacs.d/bin/doom sync
After launching emacs
, install all-the-icons
:
(all-the-icons-install-fonts t)
Updating
$ sudo nixos-rebuild <switch|test|build> --flake .
Non-NixOS Linux / Windows Subsystem for Linux (WSL)
Install
$ ./bootstrap/build-home.sh <machine>
$ ./result/activate
Update
Either use the build-home.sh
script above or the following once Home
Manager is installed:
$ home-manager <build|switch> --flake .#<machine>