Commit b626accadc28
Changed files (4)
profiles
envs/dev.nix
@@ -1,6 +1,7 @@
{ pkgs, prefix, ... }:
{
+ imports = [ ./git.nix ];
home.packages = with pkgs; [
gnumake
mercurial
envs/fish.nix
@@ -1,10 +1,11 @@
-{ pkgs, config, lib, ...}:
+{ pkgs, config, lib, ... }:
{
programs.fish = {
enable = true;
shellAbbrs = {
gs = "git status";
+ gb = "git b";
};
shellAliases = import ./aliases.nix;
};
envs/git.nix
@@ -0,0 +1,107 @@
+{ pkgs, config, lib, ... }:
+
+
+let
+ ca-bundle_crt = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; in
+rec {
+ home.packages = with pkgs; [
+ gist
+ git-lfs
+ gitAndTools.gitflow
+ gitAndTools.hub
+ gitAndTools.tig
+ ];
+ programs.git = {
+ enable = true;
+
+ userName = "Vincent Demeester";
+ userEmail = "vincent@sbr.pm";
+
+ signing = {
+ key = "6EB699A3";
+ signByDefault = false;
+ };
+
+ aliases = {
+ b = "branch --color -v";
+ br = "branch";
+ ci = "commit --signoff";
+ co = "checkout";
+ conflicts = "!git ls-files --unmerged | cut -c51- | sort -u | xargs $EDITOR";
+ ca = "commit --amend";
+ wdiff = "diff --color-words";
+ unstage = "reset HEAD";
+ lg = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative";
+ lga = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative --branches --remotes";
+ lol = "log --pretty=oneline --abbrev-commit --graph --decorate";
+ ls-ignored = "ls-files --exclude-standard --ignored --others";
+ resolve = "!git ls-files --unmerged | cut -c51- | sort -u | xargs git add";
+ su = "submodule update --init --recursive";
+ w = "status -sb";
+ };
+ extraConfig = {
+ core = {
+ editor = "${pkgs.emacs}/bin/emacsclient -t";
+ };
+ color = {
+ status = "auto";
+ diff = "auto";
+ branch = "auto";
+ interactive = "auto";
+ ui = "auto";
+ sh = "auto";
+ };
+ "color \"branch\"" = {
+ current = "cyan reverse";
+ local = "cyan";
+ remote = "green";
+ };
+ "color \"diff\"" = {
+ current = "white reverse";
+ frag = "magenta reverse";
+ old = "red";
+ new = "green";
+ };
+ "color \"status\"" = {
+ added = "green";
+ changed = "yellow";
+ untracked = "red";
+ };
+ hub = {
+ protocol = true;
+ };
+ pull = {
+ rebase = true;
+ };
+ push = {
+ default = "upstream";
+ recurseSubmodules = "check";
+ };
+ rebase = {
+ autosquash = true;
+ };
+ advice = {
+ statusHints = false;
+ pushNonFastForward = false;
+ };
+ http = {
+ sslCAinfo = "${ca-bundle_crt}";
+ sslverify = true;
+ };
+ github.user = "vdemeester";
+ "filter \"lfs\"" = {
+ clean = "${pkgs.git-lfs}/bin/git-lfs clean -- %f";
+ smudge = "${pkgs.git-lfs}/bin/git-lfs smudge --skip -- %f";
+ required = true;
+ };
+ "url \"git@github.com:\"".insteadOf
+ = "git://github.com/";
+ };
+
+ ignores = [
+ "*.elc" "*.vo" "*.aux" "*.v.d" "*.o" "*.a" "*.la" "*.so" "*.dylib"
+ "*.pyc" "*.pyo" ".idea" "*.iml"
+ "*~" "#*#" ".makefile" ".clean"
+ ];
+ };
+}
profiles/gitconfig.nix
@@ -9,13 +9,8 @@
co = checkout
st = status
ci = commit --signoff
- cia = commit --amend
- ciad = commit --amend --date=\"$(date -R)\"
- ciads = commit --amend --date=\"$(date -R)\" -S
- civ = commit -v
- cis = commit --signoff -S
- cids = commit --signoff --date=\"$(date -R)\"
- wdiff = diff --color-words
+ ca = commit --amend
+ b = branc --color -v
br = branch
unstage = reset HEAD
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative