confix/README.md

66 lines
1.3 KiB
Markdown

# iiogama's Personal NixOS/Home-Manager Configuration
## How to build existing system with flake
```
cd <build repo>
sudo nixos-rebuild switch --flake ".#<hostname>"
```
## How to update existing system's packages
```
sudo nixos-rebuild switch --flake ".#<hostname>" --update-input nixpkgs --commit-lock-file
```
## How to install new system with flake
### Method 1
1. Boot into live NixOS disk and run the following commands:
```
sudo su
nix-env -iA nixos.git
git clone <repo url> /mnt/etc/nixos
nixos-install --flake ".#<host>"
```
2. Reboot machine, log in, and run the following commands:
```
sudo rm -r /etc/nixos/configuration.nix
```
3. Move build to desired location.
### Method 2
1. Boot into live NixOS disk
2. Install NixOS
3. Add the following changes:
```/etc/nixos/configuration.nix
environment.systemPackages = with pkgs; [
git
];
services.openssh.enable = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
```
4. Run the following command:
```
sudo nixos-rebuild switch
```
5. Grab the IP address with the following command:
```
ip addr
```
6. Copy a flake repo from the host machine:
```
rsync -avz <repo directory> <user>@<ip addr>:
```
## Nix commands to remember
```
nix flake update
nix run nixpkgs#<package>
```
[Resources](https://pinboard.in/u:iiogama/t:nix/)