Add all of iogamaster modules

This commit is contained in:
2024-06-15 09:59:52 +02:00
parent c97f22254a
commit fa99b32cad
120 changed files with 3587 additions and 254 deletions

View File

@@ -0,0 +1,28 @@
{
options,
config,
lib,
...
}:
with lib;
with lib.frajul; let
cfg = config.apps.tools.direnv;
in {
options.apps.tools.direnv = with types; {
enable = mkBoolOpt false "Enable direnv";
};
config = mkIf cfg.enable {
home.programs.direnv = {
enable = true;
nix-direnv.enable = true;
enableNushellIntegration = true;
};
environment.sessionVariables.DIRENV_LOG_FORMAT = ""; # Blank so direnv will shut up
home.persist.directories = [
".local/share/direnv"
];
};
}

View File

@@ -0,0 +1,19 @@
{sshKeyPath}: ''
[user]
name = IogaMaster
email = iogamastercode@gmail.com
signingkey = ${sshKeyPath}
[pull]
rebase = true
[init]
defaultBranch = main
[filter "lfs"]
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
[gpg]
format = ssh
[commit]
gpgsign = true
''

View File

@@ -0,0 +1,45 @@
{
options,
config,
pkgs,
lib,
...
}:
with lib;
with lib.frajul; let
cfg = config.apps.tools.git;
in {
options.apps.tools.git = with types; {
enable = mkBoolOpt false "Enable or disable git";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
git
git-remote-gcrypt
gh # GitHub cli
lazygit
commitizen
];
environment.shellAliases = {
# Git aliases
ga = "git add .";
gc = "git commit -m ";
gp = "git push -u origin";
g = "lazygit";
};
home.configFile."git/config".text = import ./config.nix {sshKeyPath = "/home/${config.user.name}/.ssh/key.pub";};
home.configFile."lazygit/config.yml".source = ./lazygitConfig.yml;
home.persist.directories = [
".config/gh"
".config/lazygit"
".config/systemd" # For git maintainance
];
};
}

View File

@@ -0,0 +1,26 @@
gui:
nerdFontsVersion: "3"
git:
overrideGpg: true
customCommands:
- key: "C"
command: "git cz c"
description: "commit with commitizen"
context: "files"
loadingText: "opening commitizen commit tool"
subprocess: true
- key: 'D'
command: >-
git push {{ .SelectedLocalBranch.UpstreamRemote }} --delete {{ .SelectedLocalBranch.UpstreamBranch }} &&
git branch -D {{ .SelectedLocalBranch.Name }}
description: "delete local AND remote branch"
context: 'localBranches'
stream: true
- key: 'T'
command: >-
for branch in $(git branch --all | grep '^\s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do git branch --track "${branch##*/}" "$branch"; done
description: "add ALL remote branches to the list"
context: 'localBranches'
stream: true

View File

@@ -0,0 +1,44 @@
{
options,
config,
lib,
pkgs,
...
}:
with lib;
with lib.frajul; let
cfg = config.apps.tools.gnupg;
in {
options.apps.tools.gnupg = with types; {
enable = mkBoolOpt false "Enable gnupg";
};
config = mkIf cfg.enable {
environment.systemPackages = [
pkgs.pinentry
pkgs.pinentry-curses
(pkgs.writeShellScriptBin "gpg" ''
GNUPGHOME=${config.environment.variables.GNUPGHOME} ${pkgs.gnupg}/bin/gpg $@
'')
];
services.pcscd.enable = true;
programs.gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-curses;
enableSSHSupport = true;
};
home.file.".local/share/gnupg/gpg-agent.conf".source = ./gpg-agent.conf;
environment.variables = {
GNUPGHOME = "$XDG_DATA_HOME/gnupg";
};
home.persist.directories = [
".local/share/gnupg"
".pki"
];
};
}

View File

@@ -0,0 +1 @@
pinentry-program /run/current-system/sw/bin/pinentry-curses

View File

@@ -0,0 +1,22 @@
{
options,
config,
lib,
inputs,
...
}:
with lib;
with lib.frajul; let
cfg = config.apps.tools.nix-ld;
in {
imports = with inputs; [
nix-ld.nixosModules.nix-ld
];
options.apps.tools.nix-ld = with types; {
enable = mkBoolOpt false "Enable nix-ld";
};
config = mkIf cfg.enable {
programs.nix-ld.enable = true;
};
}