nix-config/modules/home-manager/default.nix
2026-02-24 17:51:58 +01:00

104 lines
2.1 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 = "25.11";
## Mute login message in terminal
file.".hushlogin".text = "";
## Mute direnv output
sessionVariables.DIRENV_LOG_FORMAT = "";
shellAliases = {
"yt" = "yt-dlp"; # Download video
"yta" = "yt-dlp -x"; # Download audio
};
packages = [ inputs.agenix.packages.${pkgs.stdenv.hostPlatform.system}.default ];
};
xdg = {
enable = true;
userDirs = {
videos = "${config.home.homeDirectory}/Movies/Videos";
};
};
programs = {
home-manager.enable = true;
nh = {
enable = true;
clean = {
enable = true;
dates = "weekly";
};
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;
};
};
};
}