{ config, pkgs, ... }: # minimal config, suitable for servers { imports = [ # shell config #./modules/shell ]; programs.home-manager.enable = true; home = { username = "alex"; homeDirectory = "/home/alex"; stateVersion = "21.05"; }; home.packages = with pkgs; [ # archives #p7zip #unrar # nix tools nix-index nixpkgs-fmt # misc fd # better find file # info about files gotop ripgrep # better grep ]; home.extraOutputsToInstall = [ "doc" "info" "devdoc" ]; xdg.enable = true; programs = { direnv = { enable = true; nix-direnv = { enable = true; enableFlakes = true; }; enableZshIntegration = true; }; gh = { enable = true; gitProtocol = "ssh"; }; git = { enable = true; ignores = [ "*~" "*.swp" "result" ]; userEmail = "me@failco.de"; userName = "Alexander Kobjolke"; }; gpg = { enable = true; settings = { homedir = "~/.local/share/gnupg"; }; }; password-store = { enable = true; package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]); settings = { PASSWORD_STORE_DIR = "$HOME/.local/share/password-store"; }; }; ssh.enable = true; neovim = { enable = true; vimAlias = true; extraConfig = '' set nowrap ''; plugins = with pkgs.vimPlugins; [ vim-nix indentLine indent-blankline-nvim ]; }; }; services.gpg-agent = { enable = true; enableSshSupport = true; defaultCacheTtl = 300; defaultCacheTtlSsh = 300; }; }