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 t
8000
he
regular documentation, then simply build and update using
nixos-rebuild switch --flake .
.
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
# shorthand for `nix develop` (with --extra-experimental-features)
./dev
The following command will prompt for one of the deploy.nodes
hosts to copy
the installation files to.
$ nixbs-copy
Alternatively export NIX_INSTALL_HOST
in the environment to override:
$ NIX_INSTALL_HOST=10.20.30.40 nixbs-copy
$ nixbs-ssh
$ cd nixos
$ ./dev
$ sudo disko ./machine/<hostname>/disk.nix
Begin the installation by invoking the install script, either on console or over
SSH
:
$ sudo nixbs-install
The command will prompt for a system profile to install.
Installing emacs
dependencies:
$ ~/.emacs.d/bin/doom sync
After launching emacs
, install all-the-icons
:
(all-the-icons-install-fonts t)
$ sudo nixos-rebuild <switch|test|build> --flake .
$ nixbs-build-home <machine>
$ ./result/activate
Either use the build-home.sh
script above or the following once Home
Manager is installed:
$ home-manager <build|switch> --flake .#<machine>
Some dconf
settings seem to not be applied correctly. Particularly the custom
binding
p
to swith to the workspace on the left.
Running the following resolves this (but is obviously annoying):
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left '[]'
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "['<Super>p']"