git: move from module to user config

This commit is contained in:
Jordan Holt 2025-03-16 13:58:50 +00:00
parent ab75776ebe
commit d1c2adface
Signed by: jordan
GPG Key ID: B8CFFF61F1CCF520
10 changed files with 43 additions and 75 deletions

View File

@ -24,7 +24,6 @@
modules = {
programs = {
firefox.enable = true;
git.enable = true;
gpg.enable = true;
graphics = {
raster.enable = true;

View File

@ -27,7 +27,6 @@
modules = {
programs = {
firefox.enable = true;
git.enable = true;
gpg.enable = true;
neovim.enable = true;
pass.enable = true;

View File

@ -28,7 +28,6 @@
modules = {
programs = {
firefox.enable = true;
git.enable = true;
gpg.enable = true;
neovim.enable = true;
pass.enable = true;

View File

@ -51,7 +51,6 @@
modules = {
programs = {
firefox.enable = true;
git.enable = true;
gpg.enable = true;
neovim.enable = true;
pass.enable = true;

View File

@ -63,7 +63,6 @@
xbox.enable = true;
};
firefox.enable = true;
git.enable = true;
gpg.enable = true;
graphics = {
modeling.enable = true;

View File

@ -5,7 +5,6 @@
./programs/emulators.nix
./programs/firefox.nix
./programs/forensics.nix
./programs/git
./programs/gpg.nix
./programs/graphics.nix
./programs/libreoffice.nix

View File

@ -1,45 +0,0 @@
{
config,
lib,
...
}:
let
cfg = config.modules.programs.git;
in
{
options.modules.programs.git = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
home.programs.git = {
enable = true;
aliases = {
amend = "commit --amend";
lg = "log --color --graph --abbrev-commit --";
ls = "ls-files";
unadd = "reset HEAD";
undo-commit = "reset --soft \"HEAD^\"";
};
userEmail = "jordan@vimium.com";
userName = "Jordan Holt";
signing = {
key = "B8CFFF61F1CCF520";
signByDefault = true;
};
extraConfig = {
rebase.autosquash = true;
push.default = "current";
pull.rebase = true;
};
};
home.configFile = {
"git/ignore".source = ./ignore;
};
};
}

View File

@ -1,24 +0,0 @@
# CMake
cmake-build-*/
# Linux trash folder
.Trash-*
# Swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~

View File

@ -31,6 +31,7 @@ in
home-manager.users.${name} = {
imports = [
./git.nix
./shell.nix
];

42
users/jordan/git.nix Normal file
View File

@ -0,0 +1,42 @@
{
...
}:
{
home.programs.git = {
enable = true;
aliases = {
amend = "commit --amend";
lg = "log --color --graph --abbrev-commit --";
ls = "ls-files";
unadd = "reset HEAD";
undo-commit = "reset --soft \"HEAD^\"";
};
ignores = [
".Trash-*"
"[._]*.s[a-v][a-z]"
"[._]*.sw[a-p]"
"[._]s[a-rt-v][a-z]"
"[._]ss[a-gi-z]"
"[._]sw[a-p]"
"Session.vim"
"Sessionx.vim"
".netrwhist"
"*~"
"tags"
"[._]*.un~"
"cmake-build-*/"
];
userEmail = "jordan@vimium.com";
userName = "Jordan Holt";
signing = {
key = "B8CFFF61F1CCF520";
signByDefault = true;
};
extraConfig = {
rebase.autosquash = true;
push.default = "current";
pull.rebase = true;
};
};
}