❄️ Dotfiles and NixOS configurations
at main 91 lines 2.5 kB view raw
1{ 2 flake.modules.homeManager.development = {pkgs, ...}: { 3 home.packages = with pkgs; [ 4 git-extras 5 glab 6 ]; 7 8 catppuccin.delta.enable = true; 9 10 programs.mergiraf.enable = true; 11 12 programs.fish.shellAbbrs = { 13 g = "git"; 14 ga = "git add"; 15 gap = "git add -p"; 16 gca = "git commit -s --amend"; 17 gcf = "git commit -s --fixup"; 18 gcm = "git commit -sm"; 19 gco = "git checkout"; 20 gd = "git diff"; 21 gdc = "git diff --cached"; 22 gl = "git log"; 23 gp = "git push"; 24 gpl = "git pull"; 25 gr = "git rebase"; 26 gra = "git rebase --autosquash"; 27 gri = "git rebase --interactive"; 28 grc = "git rebase --continue"; 29 gs = "git status"; 30 }; 31 32 programs.gh = { 33 enable = true; 34 settings = { 35 # Workaround for https://github.com/nix-community/home-manager/issues/4744 36 version = "1"; 37 git_protocol = "ssh"; 38 }; 39 }; 40 41 programs.git = { 42 enable = true; 43 package = pkgs.gitFull; 44 45 lfs.enable = true; 46 47 signing.key = null; 48 49 settings = { 50 alias.unpushed = "log --branches --not --remotes --no-walk --decorate --oneline"; 51 user = { 52 name = "Sefa Eyeoglu"; 53 email = "contact@scrumplex.net"; 54 }; 55 core.autocrlf = "input"; 56 color.ui = "auto"; 57 diff.colorMoved = "default"; 58 push.followTags = true; 59 pull.rebase = true; 60 init.defaultBranch = "main"; 61 62 # Thanks Scott! https://www.youtube.com/watch?v=aolI_Rz0ZqY 63 rerere.enabled = true; 64 core.fsmonitor = true; 65 66 url = { 67 "https://github.com/".insteadOf = "github:"; 68 "ssh://git@github.com/".pushInsteadOf = "github:"; 69 "https://gitlab.com/".insteadOf = "gitlab:"; 70 "ssh://git@gitlab.com/".pushInsteadOf = "gitlab:"; 71 "https://aur.archlinux.org/".insteadOf = "aur:"; 72 "ssh://aur@aur.archlinux.org/".pushInsteadOf = "aur:"; 73 "https://git.sr.ht/".insteadOf = "srht:"; 74 "ssh://git@git.sr.ht/".pushInsteadOf = "srht:"; 75 "https://codeberg.org/".insteadOf = "codeberg:"; 76 "ssh://git@codeberg.org/".pushInsteadOf = "codeberg:"; 77 }; 78 79 # Replace the default set by programs.git.signing.signByDefault 80 tag.gpgSign = false; 81 }; 82 }; 83 84 programs.delta = { 85 enable = true; 86 options.navigate = true; 87 }; 88 89 programs.eza.git = true; 90 }; 91}