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 ..
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)
./devThe following command will prompt for one of the deploy.nodes hosts to copy
the installation files to.
$ nixbs-copyAlternatively 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.nixBegin the installation by invoking the install script, either on console or over
SSH:
$ sudo nixbs-installThe command will prompt for a system profile to install.
Installing emacs dependencies:
$ ~/.emacs.d/bin/doom syncAfter launching emacs, install all-the-icons:
(all-the-icons-install-fonts t)$ sudo nixos-rebuild <switch|test|build> --flake .$ nixbs-build-home <machine>
$ ./result/activateEither 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']"