Beginnings
This commit is contained in:
@ -3,11 +3,14 @@
|
|||||||
[Introduction](./introduction.md)
|
[Introduction](./introduction.md)
|
||||||
|
|
||||||
- [Installation](./installation/index.md)
|
- [Installation](./installation/index.md)
|
||||||
|
- [Nix basics](./nixbasics/index.md)
|
||||||
|
- [Attributes](./nixbasics/attributes.md)
|
||||||
- [Configuration](./configuration/index.md)
|
- [Configuration](./configuration/index.md)
|
||||||
- [Users](./configuration/users.md)
|
- [Users](./configuration/users.md)
|
||||||
- [Drivers](./configuration/drivers.md)
|
- [Drivers](./configuration/drivers.md)
|
||||||
- [GUI](./configuration/GUI.md)
|
- [GUI](./configuration/GUI.md)
|
||||||
- [Home-manager](./configuration/hm.md)
|
- [Home-manager](./configuration/hm.md)
|
||||||
|
- [How to find new software](./configuration/new.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
1
src/configuration/new.md
Normal file
1
src/configuration/new.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# How to find new software
|
@ -1 +1,89 @@
|
|||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
|
The first part of starting the installation is getting an install media.
|
||||||
|
For this guide, the minimal will be assumed, and can be found [here](https://nixos.org/download/), at the bottom of the page.
|
||||||
|
|
||||||
|
Booting it, you will get a TTY.
|
||||||
|
To be able to run all the commands without any issues, please run `sudo -i` to have root privileges.
|
||||||
|
We are then able to setup some pleasantries, such as `loadkeys sv-latin1` for a Swedish keyboard layout (Please lookup your own layout for other languages) and `setfont ter-v32n` for a larger font.
|
||||||
|
|
||||||
|
|
||||||
|
If you want WIFI, run `systemctl start wpa_supplicant` and then `wpa_cli`.
|
||||||
|
This is then followed by something like the following
|
||||||
|
```bash
|
||||||
|
> add_network
|
||||||
|
0
|
||||||
|
|
||||||
|
> set_network 0 ssid "myhomenetwork"
|
||||||
|
OK
|
||||||
|
|
||||||
|
> set_network 0 psk "mypassword"
|
||||||
|
OK
|
||||||
|
|
||||||
|
> enable_network 0
|
||||||
|
OK
|
||||||
|
|
||||||
|
> quit
|
||||||
|
```
|
||||||
|
You should now have network, if you used the right `ssid` and `psk`.
|
||||||
|
|
||||||
|
It is now time to setup your disks.
|
||||||
|
I prefer to use `cfdisk`, since it is a nice way to see all the current allocations.
|
||||||
|
In `cfdisks` TUI, follow the following steps, for the disk that you want to partition
|
||||||
|
- gpt
|
||||||
|
- New 512M
|
||||||
|
- Type (EFI System)
|
||||||
|
- New (Size left minus amount of ram)
|
||||||
|
- New (Rest)
|
||||||
|
- Type (Linux Swap)
|
||||||
|
- Write
|
||||||
|
- Quit
|
||||||
|
|
||||||
|
The disk have now been partitioned, but need to be formatted.
|
||||||
|
To get the names of the disk you can run `lsblk`.
|
||||||
|
In my case, when I was installing it in a VM, I was able to see that it was `vda` that was the relevant part.
|
||||||
|
Usually, installations on hardware care about `sdx` or `nvme0nX`.
|
||||||
|
```bash
|
||||||
|
> lsblk
|
||||||
|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
|
||||||
|
loop0 7:0 0 1.5G 1 loop /nix/.ro-store
|
||||||
|
sr0 11:0 1 1.6G 1 rom /iso
|
||||||
|
sr1 11:1 1 1024M 0 loop
|
||||||
|
vda 253:0 0 32G 0 disk
|
||||||
|
├─vda1 253:1 0 512M 0 part
|
||||||
|
├─vda2 253:2 0 28G 0 part
|
||||||
|
└─vda3 253:3 0 3.5G 0 part
|
||||||
|
```
|
||||||
|
|
||||||
|
With the devices known, run the following commands.
|
||||||
|
```bash
|
||||||
|
> mkfs.fat -F 32 -n boot /dev/vda1
|
||||||
|
> mkfs.ext4 -L nixos /dev/vda2
|
||||||
|
> mkswap -L swap /dev/vda3
|
||||||
|
```
|
||||||
|
|
||||||
|
`mkfs.fat` is to make the boot disk, and ensure that it is Fat32, with the name boot.
|
||||||
|
Similarly, `mkfs.ext4` creates the root file system, with the name nixos, and `mkswap` to create the swap.
|
||||||
|
|
||||||
|
We are now able to mount the future system, using
|
||||||
|
```bash
|
||||||
|
> mount /dev/disk/by-label/nixos /mnt
|
||||||
|
> mkdir -p /mnt/boot
|
||||||
|
> mount -o umask=077 /dev/disk/by-label/boot /mnt/boot
|
||||||
|
> swapon /dev/disk/by-label/swap
|
||||||
|
```
|
||||||
|
|
||||||
|
With the system mounted, you can install using the following
|
||||||
|
```bash
|
||||||
|
> nixos-generate-config --root /mnt --flake
|
||||||
|
writing /mnt/etc/nixos/hardware-configuration.nix...
|
||||||
|
writing /mnt/etc/nixos/flake.nix...
|
||||||
|
writing /mnt/etc/nixos/configuration.nix...
|
||||||
|
For more hardware-specific settings, see https://github.com/NixOS/nixos-hardware.
|
||||||
|
> nixos-install --flake /mnt/etc/nixos/.#nixos
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
With this you have an installed system, with a root user, but not much more.
|
||||||
|
How to configure the system, to add users, software, drivers and such, will be covered in [Configuration](../configuration/index.md).
|
||||||
|
But, you might need to understand some aspects of the nix language in order to fully understand how to do configuration, so that will be covered in [Nix basics](../nixbasics/index.md).
|
||||||
|
@ -1 +1,8 @@
|
|||||||
# Introduction
|
# Introduction
|
||||||
|
|
||||||
|
Hi.
|
||||||
|
So you want to install NixOS, from the ground?
|
||||||
|
Welcome, I am here to try and make that a bit simpler, than the current guides.
|
||||||
|
I have some issues with how the manual explains it, and want a bit simpler guide going through the steps, and doing some conventions that I feel is a good way to approach building up a new system.
|
||||||
|
I also wanted to separate multiple steps, and introduce them into different parts.
|
||||||
|
|
||||||
|
1
src/nixbasics/attributes.md
Normal file
1
src/nixbasics/attributes.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# Attributes
|
1
src/nixbasics/index.md
Normal file
1
src/nixbasics/index.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# Nix basics
|
Reference in New Issue
Block a user