adds unstable nixpkgs for vscode, docker, go and ollama updates tilingshell layouts
Setup
This dotfiles is intended to be used with NixOS 24.05 Please install a clean version of NixOS GNOME and then follow the steps below.
Installation
0. Install NixOS
Download the latest NixOS ISO from the NixOS website and write it to a USB stick. I'd recommend getting the GNOME version as it's easier to setup and you can select minimal from the installer anyway if you want to just setup a headless server.
Note: If you intend on using a desktop environment you should select the GNOME version as this dotfiles repository expects the GNOME desktop environment for various configurations
1. Clone dotfiles to home directory
Clone the repository to your home directory, you can do this by opening a shell with git installed.
nix-shell -p git
git clone https://git.mvl.sh/vleeuwenmenno/dotfiles.git ~/dotfiles
2. Run setup.sh
You can run the setup.sh in the dotfiles folder to setup the system. This will prompt you to give a hostname for the system. For things to properly work you should ensure this repository contains the relevant assets for the hostname you provide.
In case you're setting up a new system you could use any of the existing hostnames in the nconfig/nixos/hardware/
folder.
Afterwards you should adopt the pre-generated configuration under /etc/nixos/hardware-configuration.nix
to the repository and change the hostname to anything you like.
cd ~/dotfiles && ./setup.sh
3. Reboot
It's probably a good idea that you either reboot or log out and log back in to make sure all the changes are applied.
# sudo reboot
4. Run dotf update
Run the dotf update
command, although nixos-rebuild and home-manager already ran the dotf cli didn't yet place proper symlinks for everything.
dotf update
5. Setup 1Password (Optional)
1Password is installed but you need to login and enable the SSH agent and CLI components under the settings before continuing.
6. Decrypt secrets
Either using 1Password or by manualling providing the decryption key you should decrypt the secrets. Various configurations depend on the secrets to be decrypted such as the SSH keys, yubikey pam configuration and more.
dotf secrets decrypt
7. Profit
You should now have a fully setup system with all the configurations applied.
Adding a new system
Paths in the repository
Here are some paths that contain files named after the hostname of the system. If you add a new system you should add the relevant files to these paths.
nconfig/nixos/hardware/
: Contains the hardware configurations for the different systems.config/ssh/authorized_keys
: Contains the public keys per hostname that will be symlinked to the~/.ssh/authorized_keys
file.config/nixos/flake.nix
: Contains an arraynixosConfigurations
where you should be adding the new system hostname and relevant configuration.config/home-manager/flake.nix
: Contains an arrayhomeConfigurations
where you should be adding the new system hostname and relevant configuration.
Adding a new system
To add a new system you should follow these steps:
- Add the relevant files shown in the section above.
- Ensure you've either updated or added the
$HOME/.hostname
file with the hostname of the system. - Run
dotf update
to ensure the symlinks are properly updated/created.