blob: 76dce2f21b2b11243a97ca9a01592632ff3c7625 (
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
{ config, pkgs, ... }:
{
home = {
packages = with pkgs; [
bat
exa
ripgrep
fd
pass
tokei
nmap
tldr
diskus
jq
pup
];
sessionVariables = {
};
stateVersion = "19.09";
};
##############################################################################
# Programs
##############################################################################
programs.home-manager = {
enable = true;
path = builtins.toPath ~/home-manager;
};
programs.git = {
enable = true;
userName = "William Carroll";
userEmail = "wpcarro@gmail.com";
aliases = {
today = "! git log --date=relative --since=00:00:00 --all --no-merges --oneline --author=\"$(git config --get user.email)\"";
yday = "! git log --since=yesterday.midnight --until=today.midnight --oneline --author=\"$(git config --get user.email)\"";
changed-files = "! git --no-pager diff --name-only $(current_branch) $(git merge-base $(current_branch) master)";
conflicts = "! git --no-pager diff --name-only --diff-filter=U";
unstage = "reset HEAD --";
};
extraConfig = {
push.default = "current";
rebase = {
autosquash = true;
autostash = true;
};
rerere.enabled = true;
};
};
programs.gpg = {
enable = true;
settings = {
keyserver = "hkp://pgp.mit.edu";
};
};
programs.ssh = {
enable = true;
matchBlocks = {
desktop = {
user = "wpcarro";
hostname = "zeno.lon.corp.google.com";
};
socrates = {
user = "wpcarro";
hostname = "84.92.33.141";
};
};
};
programs.fish = {
enable = true;
shellAliases = {
c = "xclip -selection clipboard -i";
p = "xclip -selection clipboard -o";
cat = "bat --theme='Monokai Extended Light'";
rgh = "rg --hidden";
fdh = "fd --hidden";
tpr = "tput reset";
ls = "exa --sort=type";
ll = "exa --long --sort=type";
la = "exa --long --all --sort=type";
gst = "git status";
gsh = "git show HEAD";
gpf = "git push --force-with-lease";
gd = "git diff";
};
shellAbbrs = {
sys = "systemctl";
sysu = "systemctl --user";
};
promptInit = builtins.readFile ../fish/prompt.fish;
};
programs.fzf = rec {
enable = true;
defaultCommand = "fd --hidden --follow --exclude '.git'";
fileWidgetCommand = defaultCommand;
enableFishIntegration = true;
};
programs.direnv = {
enable = true;
enableFishIntegration = true;
};
##############################################################################
# Services
##############################################################################
services.lorri.enable = true;
services.gpg-agent = {
enable = true;
defaultCacheTtl = 7200;
maxCacheTtl = 7200;
};
}
|