summaryrefslogtreecommitdiff
path: root/home/git
diff options
context:
space:
mode:
Diffstat (limited to 'home/git')
-rw-r--r--home/git/aliases.nix25
-rw-r--r--home/git/default.nix41
-rw-r--r--home/git/ignore.nix37
3 files changed, 0 insertions, 103 deletions
diff --git a/home/git/aliases.nix b/home/git/aliases.nix
deleted file mode 100644
index 03e586c..0000000
--- a/home/git/aliases.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-# This module defines my personal git aliases. Some of these are
-# pseudo-subcommands which are easier to remember while others simply save me
-# some keystrokes.
-{...}: {
- programs.git.aliases = {
- unstage = "restore --staged"; # remove file from staging area
- undo = "reset --soft HEAD~"; # undo last commit
- };
-
- home.shellAliases = {
- gs = "git status";
- gd = "git diff --";
- gl = "git log --oneline HEAD~10..HEAD --";
-
- gc = "git commit";
- gcp = "git commit --patch";
- gf = "git commit --amend --no-edit --";
- gfp = "git commit --amend --no-edit --patch --";
-
- ga = "git add --";
- gan = "git add -N";
- gap = "git add --patch";
- gu = "git unstage";
- };
-}
diff --git a/home/git/default.nix b/home/git/default.nix
deleted file mode 100644
index a761484..0000000
--- a/home/git/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}: let
- inherit (lib) optional;
- inherit (pkgs.stdenv.hostPlatform) isDarwin;
-in {
- imports = [./ignore.nix ./aliases.nix];
-
- programs.git = {
- enable = true;
-
- # Set privacy-respecting user information.
- userName = "Linnnus";
- userEmail = "[email protected]";
-
- extraConfig = {
- init.defaultBranch = "master";
-
- help.autoCorrect = "prompt";
-
- # Make sure we don't accidentally update submodules with changes that are only available locally.
- # See: https://git-scm.com/book/en/v2/Git-Tools-Submodules
- push.recurseSubmodules = "check";
-
- # It seems like a de facto standard to have a file with this name in the
- # project root containing all the commits that should be ignored when
- # running `git blame`.
- blame.ignoreRevsFile = ".git-blame-ignore-revs";
-
- credential = {
- "https://github.com/" = {
- username = "linnnus";
- helper = "${pkgs.gh}/bin/gh auth git-credential";
- };
- helper = (optional isDarwin "osxkeychain") ++ ["cache"];
- };
- };
- };
-}
diff --git a/home/git/ignore.nix b/home/git/ignore.nix
deleted file mode 100644
index 8d1da2f..0000000
--- a/home/git/ignore.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-# This module defines the contents of `~/.config/git/ignore`. It fetches the
-# templates for different gitignores and compiles them into one.
-{
- pkgs,
- lib,
- ...
-}: let
- gitignore = ignores:
- pkgs.stdenv.mkDerivation {
- name = (lib.concatStringsSep "+" ignores) + ".gitignore";
-
- src = pkgs.fetchFromGitHub {
- owner = "toptal";
- repo = "gitignore";
- rev = "7e72ecd8af69b39c25aedc645117f0dc261cedfd";
- hash = "sha256-Ln3w6wx+pX4UFLY2gGJGax2/nxgp/Svrn0uctSIRdEc=";
- };
-
- inherit ignores;
- buildPhase = ''
- for i in $ignores; do
- cat ./templates/$i.gitignore >>$out
- done
- '';
- };
-
- targets =
- [
- "Node"
- "Deno"
- "C"
- ]
- ++ (lib.optional pkgs.stdenv.isDarwin "MacOS")
- ++ (lib.optional pkgs.stdenv.isLinux "Linux");
-in {
- xdg.configFile."git/ignore".source = gitignore targets;
-}