111 lines
2.2 KiB
Nix
111 lines
2.2 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 = "";
|
|
HOMEBREW_NO_ENV_HINTS = "1";
|
|
};
|
|
|
|
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";
|
|
};
|
|
};
|
|
|
|
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
|
|
'';
|
|
};
|
|
|
|
claude-code = {
|
|
enable = true;
|
|
};
|
|
|
|
pandoc.enable = true;
|
|
|
|
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;
|
|
};
|
|
};
|
|
};
|
|
}
|