# 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 ```