vkmb / 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

Warning: Nix on darwin, especially on arm, is a work in progress. Be prepared to encounter bugs and weird behavior. Packages might take a while to randomly build from souce (the offender is usually GHC), and packages on master regularly break. Feel free to open an issue if you run into problems, and I’ll try my best to fix it.

Installing and notes

Linux

NOTE: Don’t use this unless you know what you’re doing. You’re likely here for the MacOS flake, if so just skip on ahead!

nix-shell -p nixUnstable git
nixos-install --flake https://github.com/shaunsingh/nix-darwin-dotfiles#shaunsingh-thinkpad

MacOS

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

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)

Feedback

Suggestions/improvements welcome!

About

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


Languages

Language:Emacs Lisp 64.7%Language:Nix 24.5%Language:CSS 7.3%Language:YASnippet 2.2%Language:JavaScript 0.7%Language:Shell 0.6%Language:HTML 0.1%