Skip to content

M0NsTeRRR/nixos-home

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Install

Classic

  1. Flash NixOS ISO Image to an USB stick

  2. Boot into it

  3. Setup wifi (if needed)

    1. Start wpa_supplicant > systemctl start wpa_supplicant

    2. Enable a wireless network > wpa_cli

      add_network 0
      set_network 0 ssid "SSID"
      set_netwwork 0 psk "PSK"
      set_network 0 key_mgmt WPA-PSK
      enable_network 0
      
  4. Partition the system

    sudo nix --experimental-features 'nix-command flakes' run github:nix-community/disko -- --mode disko --flake github:m0nsterrr/nixos-home#<hostname>
  5. Generate a hardware-configuration.nix

    sudo nixos-generate-config --root /mnt
  6. Build the system

    sudo nixos-install
  7. Reboot (be sure to turn off secureboot as it's not configured yet but in setup mode to be able to enroll key)

  8. Login with the root account and fetch the flake template

    nix --experimental-features 'nix-command flakes' flake new -t github:m0nsterrr/nixos-home ./nixos-home && cd nixos-home
  9. Follow Lanzaboot quickstart If sbctl is not available in the current context you can do nix-shell -p sbctl --run "sbctl create-keys"

  10. Update nixos config as needed

Important

Don't forget to whitelist your USB devices otherwise you will not be able to login.

nixos-rebuild switch --flake '.#<hostname>'
  1. Reboot, login with lortega user with password temp123 and don't forget to change it !

  2. GG 🥳

WSL

Install Windows Terminal and JetBrainsMono Nerd Font. Enable WSL2, download the latest NixOS release, and execute the downloaded file. Once it's installed, restart WSL with wsl --shutdown, open a new shell, and complete the installation:

sudo nix-channel --update
sudo nixos-rebuild switch

Change your username and run:

cd ~
nix-shell -p git
nix --experimental-features 'nix-command flakes' flake new -t github:m0nsterrr/nixos-home ./nixos-home
cd nixos-home
sudo nixos-rebuild switch --flake '.#wsl'

Use SSH-agent and gpg key from your windows host

Install SSH client from winget winget install "openssh beta" (it can causes error using old version) Enable ssh-agent on windows and share UserProfile and ProgramFiles env var to WSL2, open powershell prompt with admin right

Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
setx WSLENV 'ProgramFiles/up:USERPROFILE/up'

Install niperelay on windows

# Using WinGet
winget install npiperelay

# Or using Chocolatey
choco install npiperelay

# Or using a binary in %USERPROFILE%\.wsl
# for example : https://github.com/rupor-github/wsl-ssh-agent

Enable ssh agent support for OpenSSH on keepassXC

Update

If you need to update the configuration at anytime.

sudo nixos-rebuild switch --flake github:m0nsterrr/nixos-home#<hostname>

Update dependencies

nix flake update

Import static config

Import your GPG keys

gpg --import < priv.asc
gpg --import < pub.asc
gpg --import-ownertrust < trust.asc

Some static files must be manually setup :

  • ~/cifs/credentials
  • ~/wireguard-keys/homelab.peer
  • ~/.kube/static-kubeconfigs/<files>
  • ~/passwords.kdbx

About

My NixOS home configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published