user/git: add additional configs by condition
This commit is contained in:
parent
e0a3b1bf15
commit
6dd94a9fcc
5 changed files with 67 additions and 89 deletions
|
@ -1,80 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.local.git;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.local.git = with lib; {
|
|
||||||
userName = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = "Set your global name";
|
|
||||||
};
|
|
||||||
|
|
||||||
userEmail = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = "Set your global email";
|
|
||||||
};
|
|
||||||
|
|
||||||
gpgKey = mkOption {
|
|
||||||
type = types.nullOr types.str;
|
|
||||||
default = null;
|
|
||||||
description = "The default GnuPG signing key fingerprint";
|
|
||||||
};
|
|
||||||
|
|
||||||
git-crypt = {
|
|
||||||
enable = mkEnableOption "Add git-crypt package";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
home.packages = lib.mkIf cfg.git-crypt.enable [ pkgs.git-crypt ];
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
inherit (cfg) userName userEmail;
|
|
||||||
signing = lib.mkIf (cfg.gpgKey != null) {
|
|
||||||
key = cfg.gpgKey;
|
|
||||||
signByDefault = true;
|
|
||||||
};
|
|
||||||
ignores = [ ".nlsp-settings" ];
|
|
||||||
extraConfig = {
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
pull.rebase = true;
|
|
||||||
};
|
|
||||||
aliases = {
|
|
||||||
co = "switch";
|
|
||||||
cob = "switch -c";
|
|
||||||
cobf = "switch -C";
|
|
||||||
st = "status -sb";
|
|
||||||
d = "diff";
|
|
||||||
dc = "diff --cached";
|
|
||||||
aa = "add .";
|
|
||||||
ai = "add -i";
|
|
||||||
c = "commit";
|
|
||||||
cm = "commit -m";
|
|
||||||
ca = "commit --amend";
|
|
||||||
cam = "commit --amend -m";
|
|
||||||
can = "commit --amend --no-edit";
|
|
||||||
p = "push";
|
|
||||||
po = "push origin";
|
|
||||||
pf = "push --force-with-lease";
|
|
||||||
pfo = "push --force-with-lease origin";
|
|
||||||
pl = "pull";
|
|
||||||
plo = "pull origin";
|
|
||||||
rb = "rebase";
|
|
||||||
rbi = "rebase -i";
|
|
||||||
rbc = "rebase --continue";
|
|
||||||
lo = "log --pretty=oneline";
|
|
||||||
sma = "submodule add";
|
|
||||||
smui = "submodule update --init";
|
|
||||||
s = "stash push";
|
|
||||||
sm = "stash push -m";
|
|
||||||
sl = "stash list";
|
|
||||||
sa = "stash apply";
|
|
||||||
sai = "stash apply --index";
|
|
||||||
sp = "stash pop";
|
|
||||||
spi = "stash pop --index";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
65
home/users/jan/git/default.nix
Normal file
65
home/users/jan/git/default.nix
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [ pkgs.git-crypt ];
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userEmail = "dmitriy@pleshevski.ru";
|
||||||
|
userName = "Dmitriy Pleshevskiy";
|
||||||
|
signing = {
|
||||||
|
key = "43669288EC334989";
|
||||||
|
signByDefault = true;
|
||||||
|
};
|
||||||
|
includes = [
|
||||||
|
# My main account was suspended due to sanctions
|
||||||
|
{
|
||||||
|
condition = "hasconfig:remote.*.url:git@github.com:**/**";
|
||||||
|
contents = import ./github.secret.nix;
|
||||||
|
}
|
||||||
|
# Work account
|
||||||
|
{
|
||||||
|
condition = "hasconfig:remote.*.url:git@gitlab.com:**/**";
|
||||||
|
contents = import ./gitlab.secret.nix;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
ignores = [ ".nlsp-settings" ];
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
pull.rebase = true;
|
||||||
|
};
|
||||||
|
aliases = {
|
||||||
|
co = "switch";
|
||||||
|
cob = "switch -c";
|
||||||
|
cobf = "switch -C";
|
||||||
|
st = "status -sb";
|
||||||
|
d = "diff";
|
||||||
|
dc = "diff --cached";
|
||||||
|
aa = "add .";
|
||||||
|
ai = "add -i";
|
||||||
|
c = "commit";
|
||||||
|
cm = "commit -m";
|
||||||
|
ca = "commit --amend";
|
||||||
|
cam = "commit --amend -m";
|
||||||
|
can = "commit --amend --no-edit";
|
||||||
|
p = "push";
|
||||||
|
po = "push origin";
|
||||||
|
pf = "push --force-with-lease";
|
||||||
|
pfo = "push --force-with-lease origin";
|
||||||
|
pl = "pull";
|
||||||
|
plo = "pull origin";
|
||||||
|
rb = "rebase";
|
||||||
|
rbi = "rebase -i";
|
||||||
|
rbc = "rebase --continue";
|
||||||
|
lo = "log --pretty=oneline";
|
||||||
|
sma = "submodule add";
|
||||||
|
smui = "submodule update --init";
|
||||||
|
s = "stash push";
|
||||||
|
sm = "stash push -m";
|
||||||
|
sl = "stash list";
|
||||||
|
sa = "stash apply";
|
||||||
|
sai = "stash apply --index";
|
||||||
|
sp = "stash pop";
|
||||||
|
spi = "stash pop --index";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
BIN
home/users/jan/git/github.secret.nix
Normal file
BIN
home/users/jan/git/github.secret.nix
Normal file
Binary file not shown.
BIN
home/users/jan/git/gitlab.secret.nix
Normal file
BIN
home/users/jan/git/gitlab.secret.nix
Normal file
Binary file not shown.
|
@ -1,8 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./accounts.secret.nix
|
./accounts.secret.nix
|
||||||
|
./git
|
||||||
|
|
||||||
../../modules/window_manager
|
../../modules/window_manager
|
||||||
../../modules/terminal.nix
|
../../modules/terminal.nix
|
||||||
|
@ -13,7 +14,6 @@
|
||||||
../../modules/mail
|
../../modules/mail
|
||||||
../../modules/pass.nix
|
../../modules/pass.nix
|
||||||
|
|
||||||
../../modules/git.nix
|
|
||||||
../../modules/dev_tools.nix
|
../../modules/dev_tools.nix
|
||||||
../../modules/editor.nix
|
../../modules/editor.nix
|
||||||
|
|
||||||
|
@ -54,13 +54,6 @@
|
||||||
woodpecker-cli
|
woodpecker-cli
|
||||||
];
|
];
|
||||||
|
|
||||||
local.git = {
|
|
||||||
gpgKey = "43669288EC334989";
|
|
||||||
userEmail = "dmitriy@pleshevski.ru";
|
|
||||||
userName = "Dmitriy Pleshevskiy";
|
|
||||||
git-crypt.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
"pictures/wallpapers" = {
|
"pictures/wallpapers" = {
|
||||||
source = ./wallpapers;
|
source = ./wallpapers;
|
||||||
|
|
Loading…
Reference in a new issue