nixos-config/home/cli.nix

99 lines
1.8 KiB
Nix

{ 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
unzip
gotop
gnumake
ripgrep # better grep
# editors
emacs-nox
# haskell
cabal2nix
nix-prefetch-git
cabal-install
haskellPackages.cabal-fmt
haskellPackages.stylish-haskell
];
home.extraOutputsToInstall = [ "doc" "info" "devdoc" ];
xdg.enable = true;
xdg.configFile = {
"emacs".source = config.lib.file.mkOutOfStoreSymlink ./emacs.d;
};
programs = {
direnv = {
enable = true;
nix-direnv = {
enable = true;
enableFlakes = true;
};
enableZshIntegration = true;
};
gh = {
enable = true;
gitProtocol = "ssh";
};
git = {
enable = true;
ignores = [
"*~"
"*.swp"
"result"
"dist-newstyle"
];
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 = import ./modules/nvim.nix pkgs;
};
services.gpg-agent = {
enable = true;
enableSshSupport = true;
defaultCacheTtl = 300;
defaultCacheTtlSsh = 300;
};
}