Find a file
2020-03-27 21:33:34 -04:00
bin Fix scrrec not aborting previous sessions 2020-02-29 18:48:25 -05:00
config Fix runaway creation of tmux sessions 2020-02-11 19:31:37 -05:00
hosts Add ranger module 2020-02-09 03:05:02 -05:00
modules Replace emacs 26 with 27 2020-03-07 22:10:02 -05:00
packages Replace emacs 26 with 27 2020-03-07 22:10:02 -05:00
.gitignore Complete rewrite 2020-01-12 18:20:28 -05:00
default.nix Move rofi scripts to bin/rofi 2020-02-01 23:16:07 -05:00
deploy deploy script: clone from nixos branch 2020-01-23 19:03:23 -05:00
LICENSE Update copyright year 2020-01-12 18:14:27 -05:00
Makefile Add vm and build targets to makefile 2020-03-27 21:33:34 -04:00
options.nix Refactor ~again~ 2020-01-17 16:13:14 -05:00
overlays.nix Replace emacs 26 with 27 2020-03-07 22:10:02 -05:00
README.md Update readme 2020-02-13 15:37:12 -05:00

Mein dotfiles

There are a few, special computers in my life; local and remote. Maintaining them was busywork no sane individual wants to do. NixOS tempted me with the promise of glorious reproducibility, and declared its declarative-ness with enough chutzpah to make anime real again.

XDG conventions in hand, I set out to conquer my white whale and annihilate what vestiges of my social life remain.

Me looking busy

  • Operating System: NixOS 19.09
  • Shell: zsh 5.7.1 + zgen
  • DM: lightdm + lightdm-mini-greeter
  • WM: bspwm + polybar
  • Editor: Doom Emacs (and occasionally vim)
  • Terminal: st
  • Launcher: rofi
  • Browser: firefox
  • GTK Theme: Ant Dracula
  • Icon Theme: Paper Mono Dark

Quick start

# Assumes your partitions are set up and root is mounted on /mnt
curl https://raw.githubusercontent.com/hlissner/dotfiles/nixos/deploy | sh

Which is equivalent to:

USER=${USER:-hlissner}
DOTFILES=/home/$USER/.dotfiles
git clone https://github.com/hlissner/dotfiles /etc/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 install
nixos-install --root /mnt -I "my=/etc/dotfiles"

Management

  • make = nixos-rebuild test
  • make switch = nixos-rebuild switch
  • make upgrade = nix-channel --update && nixos-rebuild switch
  • make install = nixos-generate-config --root $PREFIX && nixos-install --root $PREFIX
  • make gc = nix-collect-garbage -d (use sudo to clear system profile)