The current setup tries to share the home.nix
across different machines, some
running NixOS, some running some other OS while using nix as a package manager.
As such, home.nix
contains all those packages that are relevant to all
machines, while configuration.nix
contains packages that are necessary on
NixOS, such as GUI applications that you'd expect from your OS.
Ideally I would not want to nest the nixpkgs
directory inside the nixos
directory. However, due to symbolically linking nixos
in /etc
, the
resolution of relative paths like ../nixpkgs/home.nix
would try and find its
target at /etc/nixpkgs/home.nix
, which is not what we want.
On a NixOS machine, it suffices to symbolically link:
/etc/nixos -> /home/<user>/config/nixos`
and run the usual sudo nixos-rebuild switch
.
On a machine using nix as a package manager, it suffices to symbolically link:
`/home/<user>/.config/nixpkgs -> /home/<user>/config/nixpkgs`
and run the usual home-manager switch
. Note that this must be bootstrapped
with an existing home-manager
(say by using nix-env -i home-manager
or
nix-shell -p home-manager
), but from then on, it installs its own copy of
home-manager
so that it is no longer required.
The current setup uses a minimal configuration.nix with home-manager providing
most packages. Dot-files should live in dotfiles/
and be linked by
home-manager in their expected locations.
Hardware-specific settings (generated by nix) should live in
hardware-configuration/
, and each machine should have a symbolic link
machine-specific.nix
pointing to their respective
hardware-configuration/<machine>.nix
.
Machine-specific settings (handwritten by yours truly) should live in
machine-specific/
, and each machine should have a symbolic link
machine-specific.nix
pointing to their respective
machines-specific/<machine>.nix
.
Unfortunately, getting powerlevel10k to look good is very hard, because of pixel-based rendering imperfections.
What currently works, though the text looks huge, is to use the Terminator terminal, and set its font to be Iosevka SS05 Regular, at size 22!
Modifying p10k to use separators that don't display poorly (avoiding all the rounded and slanted ones) may be an option to having a smaller terminal text size without infuriating pixel issues. :-)