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
Description
Languages
CSS
78.6%
JavaScript
8.5%
QML
7%
Shell
2.8%
Nix
0.9%
Other
2.2%