blob: cf9a21965550ad014316fabd8d25cc87555d81df (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
{ 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 = "dmorgan";
home.homeDirectory = "/Users/dmorgan";
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";
}
|