{ pkgs, config, ... }: let gnupghome = "${config.xdg.dataHome}/gnupg"; in { home.stateVersion = "23.05"; programs = { home-manager.enable = true; zsh = { enable = true; enableAutosuggestions = true; enableCompletion = true; enableSyntaxHighlighting = true; # syntaxHighlighting.enable = true; # 23.11 syntax }; neovim = { enable = true; defaultEditor = true; vimAlias = true; viAlias = true; }; gpg = { enable = true; homedir = gnupghome; settings = { # Remove fluff no-greeting = true; no-emit-version = true; no-comments = true; # Output format that I prefer keyid-format = "0xlong"; # Show fingerprints with-fingerprint = true; # Make sure to show if key is invalid # (should be default on most platform, # but just to be sure) list-options = "show-uid-validity"; verify-options = "show-uid-validity"; # Stronger algorithm (https://wiki.archlinux.org/title/GnuPG#Different_algorithm) personal-digest-preferences = "SHA512"; cert-digest-algo = "SHA512"; default-preference-list = "SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed"; personal-cipher-preferences = "TWOFISH CAMELLIA256 AES 3DES"; }; publicKeys = [{ source = builtins.fetchurl { url = "https://keys.openpgp.org/vks/v1/by-fingerprint/4FBA930D314A03215E2CDB0A8312C8CAC1BAC289"; sha256 = "sha256:10y9xqcy1vyk2p8baay14p3vwdnlwynk0fvfbika65hz2z8yw2cm"; }; trust = "ultimate"; }]; }; }; home.packages = with pkgs; [ # dotfiles dependencies coreutils bash gnugrep gnused gnutar openssl git wget curl python3Packages.pip ansible # TODO Reevaluate # shell zsh-completions nix-zsh-completions zsh-history-substring-search antigen # TODO Reevaluate powerline-go # terminal essentials moreutils man visidata nodePackages.insect translate-shell unzip unrar p7zip # remote openssh rsync borgbackup # cleanup jdupes duperemove optipng libjpeg # FIXME reflac not available (but also a dumb shell script) # local monitoring htop iotop iftop lsof strace pv progress speedtest-cli # multimedia toolbox ffmpeg sox imagemagick # password pass pwgen # Mail isync msmtp notmuch neomutt lynx # Organisation vdirsyncer khard khal todoman syncthing ]; }