nixos configurations
dotfiles@8ae344b2ca | ||
hosts | ||
modules | ||
profiles | ||
users | ||
.gitignore | ||
.gitmodules | ||
configure.sh | ||
flake.lock | ||
flake.nix | ||
home_update.sh | ||
install.sh | ||
README.md | ||
rebuild.sh | ||
rsync.sh | ||
settings-default.nix | ||
settings-server-example.nix | ||
update.sh |
nixos
These are my configurations for nixos. You are free to use it, however it may be best for you to fork and make your own.
Installing
In my experience, you need a larger disk size for the nix store on the installer than is created. As such, I use a swap file/drive, recommended separate drive from the one being installed to.
Swap example.
mkdir /mnt/usb
mount /dev/sdb1 /mnt/usb
fallocate -l 30G /mnt/usb/swap
chmod 600 /mnt/usb/swap
mkswap /mnt/usb/swap
swapon /mnt/usn/swap
mount -o remount,size=20G,noatime /nix/.rw-store
The install process.
After setting up the extra swap space, clone and enter the nixos repo.
nix-shell -p git
git clone --recursive https://github.com/GRMrGecko/nixos.git
cd nixos/
After you get into the repo, configure the machine to your liking.
./configure.sh
After configuring, install. You can define a tmpdir as the USB drive with TMPDIR=/mnt/usb
if you want to reduce load on RAM.
./install.sh --disk main /dev/sda
After install is complete, you can then rsync the nixos dir to the user account on the install:
nix-shell -p rsync
mount -o compress=zstd /dev/mapper/crypted /mnt/hdd
rsync -av /root/nixos/ /mnt/hdd/home/grmrgecko/nixos/
umount /mnt/hdd