Configuration for the software I use.
The configuration files are organized by area: terminal, net, nvim, etc. The file tree doesn't directly reflect how it will look when deployed to home directory.
It is my intention to gradually migrate all configuration to home-manager.
- Choose a deployment target config from
configs/
by runningbin/select-config.sh
. The config file will be copied to$HOME/.dotfiles-env
. - Execute
bin/deploy.sh
.
On non-NixOS, first install nix in multi-user mode:
sh <(curl -L https://nixos.org/nix/install) --daemon
# sh <(curl -L https://nixos.org/nix/install) < /dev/null --daemon # unattended
# Note 2023-07-25
# On Ubuntu 22.04 LTS had to install older nix to avoid some breakage:
# https://github.com/nix-community/home-manager/issues/3734#issuecomment-1642757696
curl -L https://releases.nixos.org/nix/nix-2.13.0/install | sh -s -- --daemon
Install home-manager:
# TODO: Check if these instructions work on NixOS.
mkdir -p ~/.local/state/nix/profiles
nix run home-manager/master -- init --switch
rm -rf ~/.config/home-manager
apply-users.sh
DISTRO
- debian
- ubuntu
- nixos
CONTEXT
- home
- work
MACHINE (hostname, see below)
EXECUTION_ENV
- baremetal
- qemu
- wsl
- digitalocean
charon: Android phone (the actual hostname is different, didn't try to change it) eris: Raspberry Pi 1 (CA server), 192.168.8.42 jupiter: Desktop workstation (NixOS) jupiter-work: Desktop workstation (Ubuntu) mercury: Work laptop (Debian WSL) neptune: Digitalocean VPS, 159.65.84.88 pluto: Raspberry Pi 4, 192.168.8.201 saturn: HTPC (NixOS), 192.168.8.205
venus earth mars uranus
ganymede titan callisto io moon europa triton titania rhea oberon iapetus umbriel ariel dione tethys dysnomia