diff --git a/modules/git.nix b/modules/git.nix index 870ac7a..b7033dd 100644 --- a/modules/git.nix +++ b/modules/git.nix @@ -1,57 +1,66 @@ -{...}: { - home-manager.users.jade = {pkgs, ...}: { - programs.git = { - enable = true; - userName = "Schrottkatze"; - userEmail = "git@schrottkatze.de"; - aliases = { - a = "add"; - c = "commit"; - ca = "commit --all"; - p = "push"; - pl = "pull"; - s = "status"; +{ + config, + lib, + ... +}: let + cfg = config.jade.git; +in { + options.jade.git.signingKey = lib.mkOption {type = lib.types.str;}; + config = { + home-manager.users.jade = {pkgs, ...}: { + programs.git = { + enable = true; + userName = "Schrottkatze"; + userEmail = "git@schrottkatze.de"; + aliases = { + a = "add"; + c = "commit"; + ca = "commit --all"; + p = "push"; + pl = "pull"; + s = "status"; + }; + signing = { + key = cfg.signingKey; + signByDefault = true; + }; }; - signing = { - key = "74F2 FE5F 55E9 0F54 7F98 3B84 8854 79FF F880 17D2"; - signByDefault = true; + programs.gitui = { + enable = true; + keyConfig = '' + ( + open_help: Some(( code: F(1), modifiers: ( bits: 0,),)), + + move_left: Some(( code: Char('h'), modifiers: ( bits: 0,),)), + move_right: Some(( code: Char('l'), modifiers: ( bits: 0,),)), + move_up: Some(( code: Char('k'), modifiers: ( bits: 0,),)), + move_down: Some(( code: Char('j'), modifiers: ( bits: 0,),)), + + popup_up: Some(( code: Char('p'), modifiers: ( bits: 2,),)), + popup_down: Some(( code: Char('n'), modifiers: ( bits: 2,),)), + page_up: Some(( code: Char('b'), modifiers: ( bits: 2,),)), + page_down: Some(( code: Char('f'), modifiers: ( bits: 2,),)), + home: Some(( code: Char('g'), modifiers: ( bits: 0,),)), + end: Some(( code: Char('G'), modifiers: ( bits: 1,),)), + shift_up: Some(( code: Char('K'), modifiers: ( bits: 1,),)), + shift_down: Some(( code: Char('J'), modifiers: ( bits: 1,),)), + + edit_file: Some(( code: Char('I'), modifiers: ( bits: 1,),)), + + status_reset_item: Some(( code: Char('U'), modifiers: ( bits: 1,),)), + + diff_reset_lines: Some(( code: Char('u'), modifiers: ( bits: 0,),)), + diff_stage_lines: Some(( code: Char('s'), modifiers: ( bits: 0,),)), + + stashing_save: Some(( code: Char('w'), modifiers: ( bits: 0,),)), + stashing_toggle_index: Some(( code: Char('m'), modifiers: ( bits: 0,),)), + + stash_open: Some(( code: Char('l'), modifiers: ( bits: 0,),)), + + abort_merge: Some(( code: Char('M'), modifiers: ( bits: 1,),)), + ) + ''; }; }; - programs.gitui = { - enable = true; - keyConfig = '' - ( - open_help: Some(( code: F(1), modifiers: ( bits: 0,),)), - - move_left: Some(( code: Char('h'), modifiers: ( bits: 0,),)), - move_right: Some(( code: Char('l'), modifiers: ( bits: 0,),)), - move_up: Some(( code: Char('k'), modifiers: ( bits: 0,),)), - move_down: Some(( code: Char('j'), modifiers: ( bits: 0,),)), - - popup_up: Some(( code: Char('p'), modifiers: ( bits: 2,),)), - popup_down: Some(( code: Char('n'), modifiers: ( bits: 2,),)), - page_up: Some(( code: Char('b'), modifiers: ( bits: 2,),)), - page_down: Some(( code: Char('f'), modifiers: ( bits: 2,),)), - home: Some(( code: Char('g'), modifiers: ( bits: 0,),)), - end: Some(( code: Char('G'), modifiers: ( bits: 1,),)), - shift_up: Some(( code: Char('K'), modifiers: ( bits: 1,),)), - shift_down: Some(( code: Char('J'), modifiers: ( bits: 1,),)), - - edit_file: Some(( code: Char('I'), modifiers: ( bits: 1,),)), - - status_reset_item: Some(( code: Char('U'), modifiers: ( bits: 1,),)), - - diff_reset_lines: Some(( code: Char('u'), modifiers: ( bits: 0,),)), - diff_stage_lines: Some(( code: Char('s'), modifiers: ( bits: 0,),)), - - stashing_save: Some(( code: Char('w'), modifiers: ( bits: 0,),)), - stashing_toggle_index: Some(( code: Char('m'), modifiers: ( bits: 0,),)), - - stash_open: Some(( code: Char('l'), modifiers: ( bits: 0,),)), - - abort_merge: Some(( code: Char('M'), modifiers: ( bits: 1,),)), - ) - ''; - }; }; }