diff options
Diffstat (limited to 'users/timmy/home.nix')
| -rw-r--r-- | users/timmy/home.nix | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/users/timmy/home.nix b/users/timmy/home.nix new file mode 100644 index 0000000..cb99456 --- /dev/null +++ b/users/timmy/home.nix @@ -0,0 +1,65 @@ +{ lib, config, ... }: let + cfg = config._users.${username}.home; + username = "timmy"; + email = "tjk@tjkeller.xyz"; + fullname = "Tim Keller"; + home = "/home/${username}"; + userDirs = { + desktop = "${home}"; + download = "${home}/dls"; + documents = "${home}/docs"; + pictures = "${home}/pics"; + # Set these as null so they're not created + music = null; + publicShare = null; + templates = null; + videos = null; + #projects = "${home}/docs/src" + }; +in { + options._users.${username}.home = { + enable = lib.mkEnableOption "configure home for user ${username}"; + }; + + config = lib.mkIf cfg.enable { + # Setup home-manager + home = { + username = username; + homeDirectory = home; + stateVersion = "24.05"; + }; + + # Setup userdirs + xdg.userDirs = { + enable = true; + createDirectories = true; + } // userDirs; + + # Setup git + programs.git = { + enable = true; + settings = { + user = { + name = fullname; + email = email; + }; + merge.tool = "nvimdiff"; + mergetool.nvimdiff = { + cmd = ''nvim -d "$LOCAL" "$MERGED" "$REMOTE"''; + prompt = false; + }; + # Unfortunately, this doesn't work for some reason + #url = { + # "ssh://git@publicgit/".insteadOf = "https://git.tjkeller.xyz/"; + #}; + }; + }; + + # Setup gtk bookmarks + gtk.gtk3.bookmarks = ( + lib.mapAttrsToList (name: dir: + lib.mkIf (dir != null) "file://${dir} ${lib.toUpper (lib.substring 0 1 name)}${lib.substring 1 (-1) name}" # Make first letter upper case + ) userDirs + ); + }; +} |
