Nix dotfiles
Welcome to my virtual home. I wouldn’t advise you to blindly copy large parts from these dotfiles, because if you read the short description above, you’d know it’s not a good idea. If you haven’t read the description above, go and read it. This whole configuration is managed with NixOS’s flake feature (which is currently unstable).
Table of contents
Information
Programs
OS | NixOS |
WM | AwesomeWM |
Editor | Emacs |
Terminal | Wezterm |
Shell | zsh |
Launcher | Rofi |
Music player | ncmpcpp / spotify |
Setup
- Get the latest minimal NixOS ISO. I get it from here. You may want a slightly more stable ISO.
- Boot into the installer, setup, and mount the disks
- Depending on which host you want to set up, you’ll have to follow different instructions, each in
./hosts/<host>/readme.org
- Depending on which host you want to set up, you’ll have to follow different instructions, each in
- Get a nix shell with `git` and `nix flake` set up:
nix-shell -p git nixFlakes
- Clone these dotfiles to
/etc/nixos
:git clone https://github.com/mcotocel/nixdots /mnt/etc/nixos
- At this point, it would be smart to edit the
hardware-configuration.nix
file to suit your hardware, and additionally add or remove things you need or don’t need
- At this point, it would be smart to edit the
- Install NixOS using the flake:
nixos-install --root /mnt --flake /mnt/etc/nixos#host
. If that doesn’t work, try it with--impure
.- Host is the host you want to install. A list of hosts is in
./hosts
- Host is the host you want to install. A list of hosts is in
- Reboot and change the user password. Unless you want to use root the whole time, which is stupid
- Log in as the normal user and run
nas nix pull
to pull the config to your home folder
Why NixOS?
- Declarative package and configuration management
- Lots of packages
- Rollbacks of configurations (When you mess something up, like the kernel)
- Reliable system
- Reproducible environment
Images
Main
Pretty much my AwesomeWM config, with floating windows and layout switcher. Titlebars can be toggled, but they are off by default. The bottom bar can also be toggled.
Emacs
An Emacs config. Pictured are Neotree, Vertico, and Emacs.