Build ISO: nix build .#nixosConfigurations.iso.config.system.build.isoImage
Installation guide: https://nixos.org/manual/nixos/unstable/#sec-installation-manual
-
Clone repo
git clone https://github.com/imcquee/nix-home.git
-
Get tailscale key and replace 'tskey-examplekeyhere' in tailscale.nix
-
Rebuild host
If you are building on a new machine, generate a new hardware-configuration.nix using:
sudo nixos-generate-config
Then replace the config in hosts/dev with the new configuration (from the home dir run):
cp /etc/nixos/hardware-configuration.nix nix-home/hosts/dev/
Build from flake:
sudo nixos-rebuild switch --flake /home/$USER/nix-home/#dev
-
On subsequent runs, just run rebuild e.g. :
rebuild dev
-
Install Nix
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
[!WARNING]
If you hit choose the default options in the installer, determinate will take control of your nix install. We don't want this with nix-darwin. So answer 'N' to the first question in the installer -
Setup Git (if not already installed)
nix-shell -p git
-
Clone repo
git clone https://github.com/imcquee/nix-home.git
-
Rebuild host
nix run nix-darwin/master#darwin-rebuild -- switch --flake nix-home/.#MBP2018 # or nix run nix-darwin/master#darwin-rebuild -- switch --flake nix-home/.#mini
-
On subsequent runs, just run rebuild e.g. :
rebuild MBP2018
-
Install Nix
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
-
Setup Home-Manger and Git (if not already installed)
nix-shell -p git home-manager
-
Clone repo
git clone https://github.com/imcquee/nix-home.git
-
Setup Home-Manager
home-manager switch --flake /home/$USER/nix-home#universal
-
On subsequent runs, just run rebuild e.g. :
rebuild universal
-
Install tailscale
curl -fsSL https://tailscale.com/install.sh | sh
- nix flake update
gh auth login
gh auth setup-git
The real error is most likely hidden in the logs (Most likely a config file that you are trying to overwrite)
journalctl -xe --unit home-manager-
Delete stale paths: nix-collect-garbage
Delete stale paths and generations older than x days: nix-collect-garbage --delete-older-than 30d
After setting up tailscale, immediately run
sudo chattr +i /etc/resolv.conf
To prevent Windows from overwriting the dns config
sudo chattr -i /etc/resolv.conf
Reverses this
- Make public
- Migrate Neovim
- Fix copy paste in neovim
- Add DE option
- Add Non-Nixos
- Build custom installer
- Migrate Darwin over
- Migrate to Nix managed Fish
- Test oneshot tailscale implementation
- Add Github actions integration with cachix
- Add Stylix config
- Build custom bootstrap script for Non-Nixos environments
- Fix systemd services