home-manager/README.md

85 lines
1.9 KiB
Markdown
Raw Normal View History

2023-09-18 13:50:16 +00:00
# Home Manager Config
2023-09-25 18:09:24 +00:00
## 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 ...`.
2023-09-18 13:50:16 +00:00
## 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"
```
2023-09-18 15:05:23 +00:00
Disable SELinux, as Nix does not work with it enabled
```txt
sudo nano /etc/selinux/config
```
and change `SELINUX=enforcing` to `SELINUX=permissive`
2023-09-18 13:50:16 +00:00
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 <https://git.krsnik.at/Kristian/home-manager>.
```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
2023-09-18 13:50:16 +00:00
* gpg
In case ssh does not work work do
```txt
gpgconf --kill gpg-agent
```