108 lines
1.9 KiB
Markdown
Executable File
108 lines
1.9 KiB
Markdown
Executable File
# Description
|
|
|
|
This repository contains the configuration for multiple machines, as well as my home / IDE config (home-manager).
|
|
|
|
### NixOS
|
|
|
|
```bash
|
|
sudo nixos-rebuild switch --flake .#lin-va-mbp-personal
|
|
```
|
|
|
|
### NixOS Generators
|
|
|
|
```bash
|
|
nix build .#vmwareConfigurations.rke2-node
|
|
```
|
|
|
|
### Home Manager
|
|
|
|
```bash
|
|
home-manager switch --flake .#evanreichard@MBP-Personal
|
|
```
|
|
|
|
### NixOS Hosts
|
|
|
|
#### Copy Config
|
|
|
|
```bash
|
|
rsync -av --exclude='.git' . root@HOST:/etc/nixos
|
|
```
|
|
|
|
#### Partition Drives
|
|
|
|
```bash
|
|
# Validate Disk
|
|
ls -l /dev/disk/by-id
|
|
|
|
# Partition Disk
|
|
# WARNING: This will destroy all data on the disk(s)
|
|
sudo nix \
|
|
--experimental-features "nix-command flakes" \
|
|
run github:nix-community/disko -- \
|
|
--mode disko \
|
|
--flake /etc/nixos#HOST_CONFIG
|
|
```
|
|
|
|
#### Install NixOS
|
|
|
|
```bash
|
|
# Install
|
|
sudo nixos-install --flake /etc/nixos#HOST_CONFIG
|
|
|
|
# Reboot
|
|
sudo reboot
|
|
```
|
|
|
|
#### Copy Config Back to Host
|
|
|
|
```bash
|
|
rsync -av --exclude='.git' . root@HOST:/etc/nixos
|
|
```
|
|
|
|
#### Rebuild NixOS
|
|
|
|
```bash
|
|
sudo nixos-rebuild switch
|
|
```
|
|
|
|
# Nix Home Manager Configuration - macOS
|
|
|
|
## Upgrade
|
|
|
|
```bash
|
|
# Update System Channels
|
|
sudo nix-channel --add https://nixos.org/channels/nixpkgs-24.11-darwin nixpkgs
|
|
sudo nix-channel --update
|
|
|
|
# Update Home Manager
|
|
nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz home-manager
|
|
nix-channel --update
|
|
|
|
# Link Repo
|
|
ln -s /Users/evanreichard/Development/git/personal/nix/home-manager ~/.config/home-manager
|
|
|
|
# Build Home Manager
|
|
home-manager switch
|
|
```
|
|
|
|
## Clean Garbage
|
|
|
|
NOTE: This will remove previous generations
|
|
|
|
```bash
|
|
sudo nix-collect-garbage --delete-old
|
|
nix-collect-garbage --delete-old
|
|
```
|
|
|
|
## OS Update
|
|
|
|
`/etc/bashrc` may get overridden. To properly load Nix, prepend the following:
|
|
|
|
```bash
|
|
# Nix
|
|
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
|
|
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
|
|
fi
|
|
# End Nix
|
|
```
|