dots/README.md

46 lines
2.1 KiB
Markdown

# my little nix system
## installation
### linux - desktop
1. Boot up NixOS live iso on a system.
2. Clone flake
3. Make a folder for the system under hosts/
4. Run `nixos-generate-config --dir hosts/HOSTNAME`
6. Set LUKS encryption passphrase via `sudo nano /tmp/secret.key`
7. Run disko `sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount /path/to/disko-config.nix`
8. Copy over flake directory to new system
9. Install system with `sudo nixos-install --flake .#HOSTNAME` - set a password for root
10. Reboot into new system.
11. Open a terminal and run `passwd`
12. Log into normal user and configure networking via `nmtui`
13. Apply dotfiles via `stow stow` in the base of the dotfiles directory.
14. Download a wallpaper and apply it via `matugen image`
#### Secure boot
If a system has a secure boot, install the system WITHOUT the secureboot module. Once the steps above have been completed return here.
1. Generate secureboot signing keys with `sudo nix run nixpkgs#sbctl create-keys`
2. Rebuild the system WITH the secureboot module.
3. Run `sudo sbctl verify` to check if SOME of the files are signed.
4. Reboot your system, in the UEFI enable onboarding secureboot keys, usually a setting called 'Reset to setup mode'.
5. Boot into your NixOS system and run `sudo sbctl enroll-keys --microsoft` to enroll your keys.
6. Reboot into your UEFI again and enable secure boot.
### macOS
1. Install xcode developer tools, determinate nix and brew.
```sh
xcode-select --install
curl -fsSL https://install.determinate.systems/nix | sh -s -- install --determinate
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
2. Install Nix flake to system. `nix run nix-darwin/master#darwin-rebuild -- switch`
3. Reboot
4. Install OpenUTAU `https://github.com/stakira/OpenUtau/releases/latest/download/OpenUtau-osx-x64.dmg`
5. Configure non-automated settings
- set accent colour
- set display to be spacious
- customise spotlight settings
- disable bluetooth
- enable firewall
- set wallpaper
- enable switching workspace keybinds