Add all of iogamaster modules
This commit is contained in:
28
modules/nixos/apps/tools/direnv/default.nix
Normal file
28
modules/nixos/apps/tools/direnv/default.nix
Normal 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"
|
||||
];
|
||||
};
|
||||
}
|
19
modules/nixos/apps/tools/git/config.nix
Normal file
19
modules/nixos/apps/tools/git/config.nix
Normal 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
|
||||
''
|
45
modules/nixos/apps/tools/git/default.nix
Normal file
45
modules/nixos/apps/tools/git/default.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
26
modules/nixos/apps/tools/git/lazygitConfig.yml
Normal file
26
modules/nixos/apps/tools/git/lazygitConfig.yml
Normal 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
|
44
modules/nixos/apps/tools/gnupg/default.nix
Normal file
44
modules/nixos/apps/tools/gnupg/default.nix
Normal 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"
|
||||
];
|
||||
};
|
||||
}
|
1
modules/nixos/apps/tools/gnupg/gpg-agent.conf
Normal file
1
modules/nixos/apps/tools/gnupg/gpg-agent.conf
Normal file
@@ -0,0 +1 @@
|
||||
pinentry-program /run/current-system/sw/bin/pinentry-curses
|
22
modules/nixos/apps/tools/nix-ld/default.nix
Normal file
22
modules/nixos/apps/tools/nix-ld/default.nix
Normal 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;
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user