59 lines
1.7 KiB
Markdown
59 lines
1.7 KiB
Markdown
# dotfiles
|
|
|
|
This repository contains dotfiles for two separate systems. Based on the hostname the appropriate configuration is applied. (When no hostname matches, nix is not buildable and yolk uses a minimal shared configurations).
|
|
|
|
**Hostnames**
|
|
- nixMain (Hyprland, desktop optimised)
|
|
- nixLap (KDE, 2-in-1 Notebook optimised)
|
|
|
|
Deployment:
|
|
*assuming a valid hostname is used*
|
|
1. Clone the Repository
|
|
2. Build the system: `bash use_nix.sh --first-run --rebuild`
|
|
3. Setup user config: `yolk sync -v`
|
|
|
|
### Notes:
|
|
|
|
Used as kde config finder, in `~./config` and `~./local/share`:
|
|
- `find . -type f -regex '.*\(k\|rc\|pulse\|session\|gtk\|autostart\|xbel\).*'`
|
|
|
|
### Disc encryption steps
|
|
```bash
|
|
# Cryptoroot, fs and mount
|
|
cryptsetup luksFormat /dev/nvme0n1p2
|
|
cryptsetup luksOpen /dev/nvme0n1p2 cryptroot
|
|
mkfs.btrfs -L root /dev/mapper/cryptroot
|
|
mount /dev/disk/by-label/root /mnt/
|
|
|
|
# Mount boot
|
|
# change type of boot to uefi via fdisk
|
|
mkdir /mnt/boot
|
|
mount /dev/nvme0n1p1 /mnt/boot/
|
|
|
|
# Cryptoswap and makeswap
|
|
cryptsetup luksFormat /dev/nvme0n1p3 --label cryptoswap
|
|
cryptsetup luksOpen /dev/disk/by-label/cryptoswap swap
|
|
sudo mkswap /dev/mapper/swap -L swap
|
|
|
|
# get hw-config
|
|
nixos-generate-config --root /mnt/
|
|
cp /mnt/etc/nixos/hardware-configuration.nix /
|
|
vim /hardware-configuration.nix
|
|
# Append:
|
|
# swapDevices = [{
|
|
# device = "/dev/disk/by-label/swap";
|
|
# encrypted = {
|
|
# enable = true;
|
|
# label = "swap";
|
|
# blkDev = "/dev/disk/by-label/cryptoswap";
|
|
# };
|
|
# }];
|
|
|
|
# Deploy config
|
|
rm -r /mnt/etc/nixos/
|
|
cp -r dotfiles-master/dotfiles/root-conf/nixos/ /mnt/etc
|
|
cp /hardware-configuration.nix /mnt/etc/nixos/DESTINATION
|
|
|
|
nixos-install --root /mnt --flake /mnt/etc/nixos#DESTINATION
|
|
```
|