{ lib, pkgs, config, inputs, ... }: { programs.alacritty = { enable = true; settings = { window.opacity = 0.88; window.dimensions = { lines = 40; columns = 150; }; }; }; home.sessionVariables = { TERMINAL = "alacritty"; }; programs.fish = { enable = true; interactiveShellInit = '' any-nix-shell fish --info-right | source direnv hook fish | source ''; loginShellInit = '' direnv hook fish | source ''; functions = { ec = "emacsclient $argv"; ecc = "emacsclient -c $argv"; ecr = "emacsclient -r $argv"; ecrr = "emacsclient -r $argv"; }; }; programs.git = { enable = true; userName = "Tristan Druyen"; userEmail = "tristan@vault81.de"; aliases = { ci = "commit"; co = "checkout"; s = "status"; }; extraConfig = { user.signingkey = "/home/tristand/.ssh/id_ed25519"; commit.gpgsign = true; gpg.format = "ssh"; }; }; programs.nix-index = { enable = true; enableFishIntegration = true; }; programs.ssh = { enable = true; matchBlocks = { "he3" = { host = "he3"; hostname = "he3.vault81.de"; user = "root"; identityFile = "~/.ssh/id_hetz_ed25519"; }; "he2" = { host = "he2"; hostname = "he2.vault81.de"; user = "root"; identityFile = "~/.ssh/id_v81_ed25519"; }; "desk-arch" = { host = "desk-arch"; hostname = "tristan-desk-arch"; user = "tristand"; identityFile = "~/.ssh/id_v81_ed25519"; }; }; }; programs.gpg = { enable = true; }; services.gpg-agent = { enable = true; enableExtraSocket = true; enableSshSupport = true; }; services.lorri.enable = true; services.emacs = { enable = true; defaultEditor = true; package = pkgs.emacs-unstable-pgtk; }; home.packages = with pkgs; [ any-nix-shell atool aspell aspellDicts.en aspellDicts.en-computers aspellDicts.en-science aspellDicts.de binutils cmake direnv fd gnutls gnumake gcc imagemagick pandoc libtool (lib.mkIf (config.services.gpg-agent.enable) pinentry_emacs) (ripgrep.override {withPCRE2 = true;}) rnix-lsp texlive.combined.scheme-full zstd ]; }