2017-12-05 22:39:10 -08:00
|
|
|
# Mein dotfiles
|
2017-09-02 10:01:00 -07:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
A tidy `$HOME` is a tidy mind.
|
2013-03-01 01:47:00 -08:00
|
|
|
|
2020-01-12 23:11:02 -08:00
|
|
|
It takes a touch of madness to use nixOS. I arrived here because there are a few
|
|
|
|
special computers in my life, local and remote, and maintaining them was
|
|
|
|
busywork I wouldn't wish on my worst enemy.
|
|
|
|
|
|
|
|
Nix, with its luscious tendrils, drew me in with a promise of glorious
|
|
|
|
reproducibility and declared its declarative-ness with enough chutzpah to make
|
|
|
|
anime real again. So, with XDG conventions in hand, I set out to conquer my
|
|
|
|
white whale and annihilate what vestiges of my social life remain.
|
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
## Quick start
|
2016-10-19 07:56:37 -07:00
|
|
|
|
2019-08-06 10:57:38 -07:00
|
|
|
```sh
|
2020-01-13 16:56:39 -08:00
|
|
|
# Assumes your partitions are set up and root is mounted on /mnt
|
|
|
|
curl https://raw.githubusercontent.com/hlissner/dotfiles/nixos/deploy | sh
|
2017-12-05 22:39:10 -08:00
|
|
|
```
|
2020-01-12 23:11:02 -08:00
|
|
|
|
2020-01-13 16:56:39 -08:00
|
|
|
This is equivalent to:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
DOTFILES=/home/$USER/.dotfiles
|
|
|
|
git clone https://github.com/hlissner/dotfiles $DOTFILES
|
|
|
|
ln -s /etc/dotfiles $DOTFILES
|
|
|
|
chown -R $USER:users $DOTFILES
|
|
|
|
|
|
|
|
# make channels
|
|
|
|
nix-channel --add "https://nixos.org/channels/nixos-${NIXOS_VERSION}" nixos
|
|
|
|
nix-channel --add "https://github.com/rycee/home-manager/archive/release-${NIXOS_VERSION}.tar.gz" home-manager
|
|
|
|
nix-channel --add "https://nixos.org/channels/nixpkgs-unstable" nixpkgs-unstable
|
|
|
|
|
|
|
|
# make /etc/nixos/configuration.nix
|
|
|
|
nixos-generate-config --root /mnt
|
|
|
|
echo "import /etc/dotfiles \"$$(hostname)\"" >/mnt/etc/nixos/configuration.nix
|
|
|
|
|
|
|
|
# make secrets.nix
|
|
|
|
nix-shell -p gnupg --run "gpg -dq secrets.nix.gpg >secrets.nix"
|
|
|
|
|
|
|
|
# make install
|
|
|
|
nixos-install --root /mnt -I "my=/etc/dotfiles"
|
|
|
|
```
|
|
|
|
|
|
|
|
### Management
|
|
|
|
|
2020-01-12 23:11:02 -08:00
|
|
|
+ `make` = `nixos-rebuild test`
|
|
|
|
+ `make switch` = `nixos-rebuild switch`
|
|
|
|
+ `make upgrade` = `nix-channel --update && nixos-rebuild switch`
|
2020-01-13 16:56:39 -08:00
|
|
|
+ `make install` = `nixos-generate-config --root $PREFIX && nixos-install --root
|
|
|
|
$PREFIX`
|
2020-01-13 15:16:02 -08:00
|
|
|
+ `make gc` = `nix-collect-garbage -d` (use sudo to clear system profile)
|
2020-01-12 23:11:02 -08:00
|
|
|
|
|
|
|
## Overview
|
|
|
|
|
|
|
|
+ OS: NixOS 19.09
|
|
|
|
+ Shell: zsh
|
|
|
|
+ DE/WM: bspwm + polybar
|
|
|
|
+ Editor: [Doom Emacs][doom-emacs] (and occasionally [vim][vimrc])
|
2020-01-13 16:56:39 -08:00
|
|
|
+ Terminal: st
|
2020-01-12 23:11:02 -08:00
|
|
|
+ Browser: firefox (waiting for qutebrowser to mature)
|
|
|
|
|
|
|
|
|
|
|
|
[doom-emacs]: https://github.com/hlissner/doom-emacs
|
|
|
|
[vimrc]: https://github.com/hlissner/.vim
|