wahjava / nix-darwin-dotfiles

Dotfiles managed via Nix-Darwin and Mk-Darwin-System, for schoolwork and kotlin, lua, and rust programming

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nix-Darwin-Dotfiles

Images

./extra/assets/out.png

Installing and notes

NOTE: These are available as an executable script ./extra/install.sh

Install Nix. I have it setup for multi-user, but you can remove the --daemon if you want a single user install

sh <(curl -L https://nixos.org/nix/install) --daemon

Launch an ephemeral shell with git, nixUnstable, and Emacs

nix-shell -p nixUnstable emacs

Tangle the .org files (not needed, but recommend in case I forgot to update tangled files)

git clone --depth 1 https://github.com/shaunsingh/nix-darwin-dotfiles.git ~/nix-darwin-dotfiles/ && cd ~/nix-darwin-dotfiles
emacs --batch --eval "(progn (require 'org) (setq org-confirm-babel-evaluate nil) (org-babel-tangle-file \"~/nix-darwin-dotfiles/nix-config.org\"))"
emacs --batch --eval "(progn (require 'org) (setq org-confirm-babel-evaluate nil) (org-babel-tangle-file \"~/nix-darwin-dotfiles/configs/doom/config.org\"))"

(if emacs asks you for comment syntax, put `# ` for everything) Build, and switch to the dotfiles

nix build ~/nix-darwin-dotfiles\#darwinConfigurations.shaunsingh-laptop.system --extra-experimental-features nix-command --extra-experimental-features flakes
./result/sw/bin/darwin-rebuild switch --flake .#shaunsingh-laptop

(note, --extra-experimental-features is only needed the first time around. After that the configuration will edit /etc/nix/nix.conf to enable flakes and nix-command by default) Symlinking with nix (and managing doom with nix-doom-emacs) is very finicky, so for now we need to manually symlink them

ln -s ~/nix-darwin-dotfiles/configs/doom/ ~/.config/doom

Install doom emacs

git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.config/emacs
~/.config/emacs/bin/doom install

Feedback

Suggestions/improvements welcome!

About

Dotfiles managed via Nix-Darwin and Mk-Darwin-System, for schoolwork and kotlin, lua, and rust programming


Languages

Language:Nix 61.5%Language:CSS 36.2%Language:Shell 2.2%