···11inputs @ { config, lib, pkgs, ... }:
22let
33- stdenv = pkgs.stdenv;
33+ inherit (pkgs) stdenv;
44+ inherit (config.lib.file) mkOutOfStoreSymlink;
55+ # TODO: proper input should be handled by flake or something
46 unstable = inputs.unstable or (import <nixos-unstable> { });
57in
68{
77- home.username = "ianchamberlain";
88- home.homeDirectory = "/home/${config.home.username}";
99+ # These defaults are mainly just for nixOS which I haven't converted to flakes yet
1010+ # so it needs to be deprioritized to avoid conflict with e.g. darwinModules
1111+ home.username = lib.mkDefault "ianchamberlain";
1212+ home.homeDirectory = lib.mkDefault "/home/${config.home.username}";
9131014 programs = {
1115 # Let Home Manager install and manage itself.
···2933 # them. Easier than migrating all of my config over to nix.
3034 # `source = mkOutOfStoreSymlink ...` would also work here, but generates a
3135 # warning at switch time that it is symlinking to itself, so this seems better.
3636+ #
3737+ # Maybe could work a little nicer using something like this:
3838+ # https://github.com/nix-community/home-manager/issues/676#issuecomment-1595795685
3239 xdg.configFile = {
3340 "fish/config.fish".enable = false;
3441 "nvim/init.lua".enable = false;
4242+4343+ # See ../flake.nix for why this exists. It would be nice to make it be a
4444+ # relative path instead, but I guess this works, and it's needed since the
4545+ # filename ".git" is special to git and can't be checked into the repo.
4646+ ".git".source = mkOutOfStoreSymlink /${config.home.homeDirectory}/.local/share/yadm/repo.git;
3547 };
36483749 services = {