nix-config/modules/home-manager/default.nix
2025-12-05 06:53:45 +01:00

110 lines
2.3 KiB
Nix

{
config,
pkgs,
inputs,
...
}:
{
imports = [
inputs.agenix.homeManagerModules.default
./colors.nix
./ghostty.nix
./git
./helix.nix
./packages.nix
./shell
];
home = {
username = "jan";
homeDirectory = "/Users/jan";
stateVersion = "24.05";
## Mute login message in terminal
file.".hushlogin".text = "";
sessionVariables = {
DIRENV_LOG_FORMAT = "";
LEDGER_FILE = "${config.xdg.dataHome}/ledger/2024.journal";
OPENAI_API_KEY = "$(cat ${config.age.secrets.openai.path})";
};
shellAliases = {
"yt" = "yt-dlp";
"yta" = "yt-dlp -x";
};
packages = [ inputs.agenix.packages.${pkgs.system}.default ];
};
age = {
# identityPaths = [ "~/.ssh/id_ed25519" ];
secrets."openai".file = ../secrets/openai.age;
};
xdg = {
enable = true;
userDirs = {
videos = "${config.home.homeDirectory}/Movies/Videos";
};
};
programs = {
home-manager.enable = true;
nh = {
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 7d --keep 3";
flake = "/Users/jan/.config/nix";
};
gpg = {
enable = true;
homedir = "${config.xdg.dataHome}/gnupg";
settings = {
default-key = "20AF0A659F2B93AD918415D1A7DA689CB3B078EC";
keyserver = "hkps://keys.openpgp.org";
};
};
pandoc.enable = true;
ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks."*" = {
forwardAgent = false;
addKeysToAgent = "yes";
compression = false;
serverAliveInterval = 0;
serverAliveCountMax = 3;
hashKnownHosts = false;
userKnownHostsFile = "~/.ssh/known_hosts";
controlMaster = "no";
controlPath = "~/.ssh/master-%r@%n:%p";
controlPersist = "no";
identityFile = [ "~/.ssh/id_ed25519" ];
setEnv = {
TERM = "xterm-256color";
};
};
extraConfig = ''
UseKeychain yes
'';
};
yt-dlp = {
enable = true;
settings = {
output = "${config.xdg.userDirs.videos}/%(title)s.%(ext)s";
format-sort = "res:1080";
audio-quality = 0;
sponsorblock-mark = "default";
embed-metadata = true;
embed-thumbnail = true;
xattrs = true;
};
};
};
}