1
0
Fork 0

Move gpg config to nix

This commit is contained in:
Ethan Reece 2025-07-11 02:32:33 -05:00
parent 850f5b40bc
commit 4ba1fc005b
Signed by: me
GPG key ID: 198E9EB433DB1B28
2 changed files with 32 additions and 20 deletions

View file

@ -91,12 +91,17 @@
nixFiles = builtins.filter (name: builtins.match ".*\\.nix" name != null) langFiles;
configs = map (file: import (langDir + "/${file}") { inherit pkgs treefmt; }) nixFiles;
helixLanguages = {
language = map (cfg: cfg.helix.language) (
(builtins.filter (cfg: builtins.hasAttr "language" cfg.helix) (
builtins.filter (cfg: builtins.hasAttr "helix" cfg) configs
))
);
language-server = builtins.foldl' (acc: cfg: acc // (cfg.helix.language-server or { })) { } configs;
directory = ".helix";
filename = "languages.toml";
content = {
language = map (cfg: cfg.helix.language) (
(builtins.filter (cfg: builtins.hasAttr "language" cfg.helix) (
builtins.filter (cfg: builtins.hasAttr "helix" cfg) configs
))
);
language-server = builtins.foldl' (acc: cfg: acc // (cfg.helix.language-server or { })) { } configs;
};
file = tomlFormatter.generate "languages.toml" helixLanguages.content;
};
treefmtPrograms = builtins.foldl' (
acc: cfg: deepMerge acc (cfg.treefmt.programs or { })
@ -117,7 +122,6 @@
acc: cfg: acc // (cfg.devshell.devshellStartup or { })
) { } configs;
};
helixLanguagesFile = tomlFormatter.generate "languages.toml" helixLanguages;
in
{
_module.args.pkgs = pkgs;
@ -185,7 +189,7 @@
helix_config = {
text = ''
mkdir -p .helix
${pkgs.uutils-coreutils-noprefix}/bin/ln -fs ${helixLanguagesFile} ./.helix/languages.toml
${pkgs.uutils-coreutils-noprefix}/bin/ln -fs ${helixLanguages.file} ./${helixLanguages.directory}/${helixLanguages.filename}
'';
};
pre-commit.text = ''

View file

@ -189,18 +189,18 @@ in
# };
# };
# TODO: Disable Guix integration
# git = {
# enable = true;
# delta = {
# enable = true;
# };
# signing = {
# format = "openpgp";
# signByDefault = true;
# };
# userEmail = "contact@ethanreece.com";
# userName = "Ethan Reece";
# };
git = {
enable = true;
delta = {
enable = true;
};
signing = {
format = "openpgp";
signByDefault = true;
};
userEmail = "contact@ethanreece.com";
userName = "Ethan Reece";
};
gh = {
enable = true;
settings = {
@ -430,6 +430,14 @@ in
};
services = {
arrpc.enable = true;
gpg-agent = {
enable = true;
enableSshSupport = true;
pinentry = {
package = pkgs.pinentry-all;
program = "pinentry";
};
};
};
targets.genericLinux.enable = true;
}