1
1
Fork 0
NixOS Configuration
Find a file
Myned a56408403c
pkgs: add mesa-demos and vulkan-tools
Signed-off-by: Myned <dev@bjork.tech>
2024-12-06 19:44:18 -06:00
machines myork: disable suspend workaround 2024-11-29 18:13:09 -06:00
options pkgs: add mesa-demos and vulkan-tools 2024-12-06 19:44:18 -06:00
profiles desktop: enable anime-game-launcher 2024-11-30 16:02:21 -06:00
secrets vm.sh: refactor into remote.sh with argc 2024-11-17 13:38:09 -06:00
.gitignore git: migrate to forgejo 2024-09-12 19:41:21 -05:00
configuration.nix hyprland: use nixpkgs version 2024-11-19 18:59:03 -06:00
flake.in.nix walker: use static version 2024-11-27 16:11:40 -06:00
flake.lock nix: update flake.lock 2024-11-27 16:11:47 -06:00
flake.nix walker: use static version 2024-11-27 16:11:40 -06:00
LICENSE git: migrate to forgejo 2024-09-12 19:41:21 -05:00
README.md chore: update readme 2024-10-08 21:28:14 -05:00

WARNING

This configuration is not meant for public usage

Install

Remote (with NixOS Anywhere)

  1. Clone this repository
git clone https://github.com/myned/nixos
  1. Enable Flakes

  2. Boot from NixOS minimal installer

  3. Create machine-specific modules in machines/MACHINE/

a. Machine configuration and hostname in default.nix

{ custom.hostname = "MACHINE"; }

b. Disko layout in disko.nix

# Verify /dev identifier on machine
lsblk

# Verify EFI/BIOS firmware on machine
[ -d /sys/firmware/efi/efivars ] && echo "UEFI" || echo "BIOS"

c. Generated hardware configuration in hardware-configuration.nix

nixos-generate-config --show-hardware-config --no-filesystems --root /mnt
  1. Choose profile and add machine-specific modules to flake.in.nix
MACHINE = BRANCH "ARCHITECTURE" [ ./profiles/PROFILE ./machines/MACHINE ];
  1. Generate and lock flake.nix with flakegen
cd nixos
git add .
nix run .#genflake flake.nix
nix flake lock
  1. Generate machine SSH key and rekey agenix secrets with added public key
mkdir -p tmp/etc/ssh/
ssh-keygen -f tmp/etc/ssh/id_ed25519 -N '' -C root@MACHINE
cd secrets
agenix -r
  1. Add user SSH key to root authorized_keys on machine
# On host
cat ~/.ssh/id_ed25519.pub | wl-copy
# On machine
sudo mkdir /root/.ssh/
sudo nano /root/.ssh/authorized_keys
  1. Execute NixOS Anywhere
nixos-anywhere --extra-files tmp --flake .#MACHINE root@IP
  1. Shutdown, detach ISO, and reboot

  2. Remove temporary files

rm -r tmp