110 lines
2.3 KiB
Nix
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.stdenv.hostPlatform.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;
|
|
};
|
|
};
|
|
};
|
|
}
|