dotfiles/nix-conf/home/otm.nix

65 lines
1.8 KiB
Nix

{ config, lib, pkgs, ... }:
let
email = builtins.readFile "${config.home.homeDirectory}/email.txt";
otmEmail = builtins.readFile "${config.home.homeDirectory}/otm_email.txt";
in
{
imports = [
./includes/darwin.nix
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "djm";
home.homeDirectory = "/Users/djm";
programs.git = {
signing.signByDefault = lib.mkForce false;
userEmail = lib.mkForce otmEmail;
includes = [
{ contents = { commit.gpgSign = true; user.email = email; }; condition = "gitdir:~/src/personal/"; }
{ contents = { commit.gpgSign = true; user.email = email; }; condition = "gitdir:~/dotfiles/"; }
];
extraConfig = {
github.user = "david-morgan-otm";
};
ignores = [
".envrc"
".clj-kondo"
"shell.nix"
".direnv"
".dir-locals.el"
"browser-tests/package-lock.json"
"resources/react-app/package-lock.json"
"resources/next/package-lock.json"
];
};
programs.ssh.matchBlocks = {
"github.com" = lib.mkForce {
hostname = "github.com";
user = "git";
identityFile = "~/.ssh/id_rsa";
identitiesOnly = true;
};
"github.com-personal" = {
hostname = "github.com";
user = "git";
identityFile = "~/.ssh/id_ed25519";
identitiesOnly = true;
};
};
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "21.11";
}