nixos configurations
Go to file
2024-12-09 20:23:13 -06:00
dotfiles@8ae344b2ca Update dotfiles 2024-08-12 18:13:06 -05:00
hosts Updated Wed Oct 9 11:07:56 PM CDT 2024 2024-10-09 23:07:56 -05:00
modules Updated Wed Oct 9 11:07:56 PM CDT 2024 2024-10-09 23:07:56 -05:00
profiles Add merged automount. 2024-08-12 19:24:57 -05:00
users Add flatpak support, and upgrade stable to 24.05 2024-06-20 14:34:30 -05:00
.gitignore Initial Config 2024-05-14 09:29:16 -05:00
.gitmodules Add start of readme. 2024-08-12 18:03:51 -05:00
configure.sh Update scripts to better support remote installs using nixos-anywhere. 2024-12-09 20:23:13 -06:00
flake.lock Update 2024-11-16 2024-11-16 14:32:21 -06:00
flake.nix Update and add more sysctl configs. 2024-09-08 23:30:03 -05:00
home_update.sh Add flatpak support, and upgrade stable to 24.05 2024-06-20 14:34:30 -05:00
install.sh Update scripts to better support remote installs using nixos-anywhere. 2024-12-09 20:23:13 -06:00
LICENSE Update scripts to better support remote installs using nixos-anywhere. 2024-12-09 20:23:13 -06:00
README.md Update scripts to better support remote installs using nixos-anywhere. 2024-12-09 20:23:13 -06:00
rebuild.sh Add flatpak support, and upgrade stable to 24.05 2024-06-20 14:34:30 -05:00
rsync.sh Update scripts to better support remote installs using nixos-anywhere. 2024-12-09 20:23:13 -06:00
settings-default.nix Add serial commands, app image support, home-manager cli, and network manager profile configuration example. 2024-05-22 23:57:13 -05:00
settings-server-example.nix Add serial commands, app image support, home-manager cli, and network manager profile configuration example. 2024-05-22 23:57:13 -05:00
update.sh Add flatpak support, and upgrade stable to 24.05 2024-06-20 14:34:30 -05:00

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

You can install locally, or remote using nixos anywhere. My suggestion is to use the remote method if possible.

NixOS Anywhere

  • Download this repo.
nix-shell -p git
git clone --recursive https://github.com/GRMrGecko/nixos.git
cd nixos/
  • Ensure you have ssh acces with keys.
  • Configure the configuration for the remote machine, entering root@IPADDR for the system you're configuring.
./configure.sh
  • Run the installer, entering root@IPADDR for the system you're installing on.
./install.sh
  • After first boot, copy over the nixos dir to make it easy to rebuild and update.
./rsync.sh --include-settings user@IPADDR

Install on local system

Swap example

On systems with a small amount of RAM, you may wish to add an USB drive and attach it as a virtual swap. This is a small example of how to do so, you will need to update to fit your sitation.

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.

  • clone and enter the nixos repo.
nix-shell -p git
git clone --recursive https://github.com/GRMrGecko/nixos.git
cd nixos/
  • Configure the machine to your liking.
./configure.sh
  • 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