NixOS + home-manager configs, mirrored from GitLab SaaS. gitlab.com/andreijiroh-dev/nixops-config
nix-flake nixos home-manager nixpkgs nix-flakes
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 97 lines 2.6 kB view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7 8# Reference: https://mynixos.com/home-manager/options/programs.git and 9# https://nix-community.github.io/home-manager/options.xhtml#opt-programs.git.enable 10# (look for programs.git prefix) 11{ 12 programs.git = { 13 enable = true; 14 package = pkgs.gitFull; 15 lfs = { 16 enable = true; 17 }; 18 maintenance = { 19 enable = true; 20 }; 21 ignores = [ 22 "*~" 23 "*.swp" 24 "*.tmp" 25 "*.save" 26 ".DS_Store" 27 ".cache" 28 "public/" 29 "node_modules/" 30 "data/" 31 ".data/" 32 "tmp/" 33 "*.decrypted" 34 ]; 35 signing = { 36 key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXuD3hJwInlcHs3wkXWAWNo8es3bPAd2e8ipjyqgGp2 @ajhalili2006's SSH key, circa 2022"; 37 signByDefault = true; 38 format = "ssh"; 39 }; 40 settings = { 41 user = { 42 name = "Andrei Jiroh Halili"; 43 email = "ajhalili2006@andreijiroh.dev"; 44 }; 45 alias = { 46 signoff = "commit --signoff"; 47 amend = "commit -a --amend"; 48 remotes = "remote -v"; 49 root = "rev-parse --show-toplevel"; 50 unstage = "restore --staged"; 51 stats = "status"; 52 co = "checkout"; 53 switch-remote = "branch -u"; 54 set-push-url = "remote set-url --push"; 55 set-push-remote = "remote set-url --push"; 56 set-remote-url = "remote set-url"; 57 set-remote = "remote set-url"; 58 hard = "reset --hard"; 59 soft = "reset --soft"; 60 }; 61 62 format = { 63 signOff = true; 64 }; 65 init = { 66 defaultBranch = "main"; 67 }; 68 69 # credential helpers 70 credential = { 71 "https://github.com".helper = "!gh auth git-credential"; 72 "https://gist.github.com".helper = "!gh auth git-credential"; 73 "https://gitlab.com".helper = "!glab auth git-credential"; 74 "https://mau.dev".helper = "!glab auth git-credential"; 75 "https://gitlab.alpinelinux.org".helper = "!glab auth git-credential"; 76 }; 77 78 # see https://groups.google.com/g/binary-transparency/c/f-BI4o8HZW0/m/MDmnWideAgAJ for 79 # context behind these, may cause bugs per https://bugs.debian.org/743227 and 80 # https://bugs.debian.org/813157 on cloning linux-hardware sources. 81 transfer = { 82 fsckobjects = true; # technically we only need this, but we also enable them on fetch and receive too 83 }; 84 fetch = { 85 fsckobjects = true; 86 }; 87 receive = { 88 fsckobjects = true; 89 }; 90 91 # setup remotes automatically as we push instead of doing that first manually 92 push = { 93 autoSetupRemote = true; 94 }; 95 }; 96 }; 97}