# Home Manager Config ## Systems Current available systems are: * `pc` My workstation PC running NixOS. * `laptop` My laptop, a Thinkpad X1 Carbon Gen 7, also running NixOS. After ## dconf It is possible to observe live changes to dconf via `dconf watch /`. If you want to convert the current dconf to a nix expression enter the dev shell with `nix develop` and do ```txt dconf dump / | dconf2nix > dconf.nix ``` Build with ```txt home-manager switch --flake .#[configuration] ``` After first deployment it suffices to do `hms` for `home-manager switch ...`. This relies on the flake being saved to `$HOME/.config/home-manager`. ## Laptop Specific instructions for the `Lenovo Thinkpad Yoga C13 (Morphius)` Install Mr.Chromebox's [Firmware Utility Script](https://mrchromebox.tech/#fwscript). Download [Fedora Workstation](https://www.fedoraproject.org/en/workstation/download). Boot the Live USB in `minimal graphics mode`. Install like usual but before restarting do edit the machine's kernel boot params like so: ```txt sudo nano /mnt/sysroot/etc/default/grub ``` Add `iommu=pt` to `GRUB_CMDLINE_LINUX`. Example: ```txt GRUB_CMDLINE_LINUX="rd.luks.uuid=luks-6ee676a5-8f57-4400-bde6-2f5ff7c1260d nomodeset rhgb iommu=pt quiet" ``` Disable SELinux, as Nix does not work with it enabled ```txt sudo nano /etc/selinux/config ``` and change `SELINUX=enforcing` to `SELINUX=permissive` Resize the `/tmp` directory to allow for building large packages like `nerdfonts` ```txt mount -o remount,size=25G /tmp systemctl daemon-reload ``` Download the current home-manager config from . ```txt cd home-manager nix shell nixpkgs#home-manager --extra-experimental-features "nix-command flakes" home-manager switch --flake .#laptop --extra-experimental-features "nix-command flakes" ``` Configure the following: * syncthing * gpg In case ssh does not work work do ```txt gpgconf --kill gpg-agent ```