Skip to content

myme/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ff14af3 · Apr 14, 2025
Apr 14, 2025
Aug 17, 2024
Jan 24, 2025
Dec 11, 2024
Dec 9, 2024
Mar 16, 2025
Mar 10, 2022
Feb 2, 2022
Jan 22, 2023
Aug 25, 2024
Aug 17, 2024
Apr 14, 2025
Dec 9, 2024
Aug 23, 2024
Dec 9, 2024
Dec 11, 2024
Dec 10, 2024

Repository files navigation

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

Jump into dev shell

# shorthand for `nix develop` (with --extra-experimental-features)
./dev

Copy installation files to host

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

SSH to remote host

$ nixbs-ssh

Drop into dev shell

$ cd nixos
$ ./dev

Format disks with disko

$ sudo disko ./machine/<hostname>/disk.nix

Start NixOS installation

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.

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

$ nixbs-build-home <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>

Troubleshooting

Gnome

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']"