1.7 KiB
1.7 KiB
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
- Clone the Repository
- Build the system:
bash use_nix.sh --first-run --rebuild - 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
# 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