blob: 0936f9400267f1a9eb3b12b09995083b5b24af81 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# Use GUI: it handles Wifi better!
# Check the devices and it's partitions:
lsblk # to check the device names and sizes
# If under /dev/sdc and mounted:
sudo umount /dev/sdc1
# Put the OS image on the USB stick:
sudo dd if=nixos.iso of=/dev/sdc #
# Derived from:
# https://www.maketecheasier.com/nixos-review/
# https://chris-martin.org/2015/installing-nixos
# First, get an internet connection.
# The easiest way is to start the GUI and use the network manager applet:
systemctl start display-manager
# If the ISO doesn't contain GUI, try getting an internet connection either by using an ethernet cable or using =wpa_supplicant=:
# https://wiki.archlinux.org/index.php/WPA_supplicant
# wpa_supplicant -B -i wlp2s0 -c <(wpa_passphrase SSID PASSPHRASE)
# Change keyboard to pt_BR layout:
loadkeys br-abnt2
# FIXME: make it declarative
# Format disk:
gdisk /dev/nvme0n1 # disk found using lsblk
# START Steps within gdisk
d # first, delete all partitions with `d`
o # create a new GUID partition table (GPT)
## Create the BIOS boot partition
n # create new partition
1 # partition number
ENTER # use default first sector
+1M # partition size of 1MB
EF02 # set partition type to "BIOS boot partition"
## Create the EFI System Partition
n # create new partition
2 # partition number
ENTER # use default first sector
+500M # partition size of 500MB
EF00 # set partition type to "EFI System"
## Create the Linux LVM (where LUKS goes)
n # create new partition
3 # partition number
ENTER # use default first sector
ENTER # partition size is the remaining of the disk
8E00 # set partition type to "Linux LVM"
w
# END Steps within gdisk
cryptsetup luksFormat /dev/nvme0n1p3 # Initialize the encrypted partition
cryptsetup luksOpen /dev/nvme0n1p3 enc-pv # Open encrypted partition volume
pvcreate /dev/mapper/enc-pv
vgcreate vg /dev/mapper/enc-pv
lvcreate -n swap vg -L 10G
lvcreate -n root vg -l 100%FREE
mkfs.vfat -n BOOT /dev/nvme0n1p2
mkfs.ext4 -L root /dev/vg/root
mkswap -L swap /dev/vg/swap
mount /dev/vg/root /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p2 /mnt/boot
swapon /dev/vg/swap
nixos-generate-config --root /mnt
# START Edit NixOS configuration file
vi /mnt/etc/nixos/configuration.nix
# System configuration:
boot.initrd.luks.devices = [
{
name = "root";
device = "/dev/sda3";
preLVM = true;
}
];
boot.loader.grub.device = "/dev/sda";
# Initial package set:
enviroment.systemPackages = with pkgs; [
wget
vim
]
# END
nixos-install
# OS will prompt for root UNIX password
reboot
C-M-<F1>
useradd -m andreh
passwd andreh
# Setup UNIX password (for andreh)
sudo vi /etc/sudoers
# START Add the following line below the `root` line
andreh ALL=(ALL) ALL
# END
|