107 lines
2.2 KiB
Nix
107 lines
2.2 KiB
Nix
|
{ config, pkgs, ... }:
|
||
|
{
|
||
|
# Let Home Manager install and manage itself.
|
||
|
programs.home-manager.enable = true;
|
||
|
|
||
|
# Home Manager needs a bit of information about you and the
|
||
|
# paths it should manage.
|
||
|
home.username = builtins.getEnv "USER";
|
||
|
home.homeDirectory = builtins.getEnv "HOME";
|
||
|
|
||
|
home.packages = [
|
||
|
pkgs.emacs
|
||
|
pkgs.git
|
||
|
pkgs.htop
|
||
|
pkgs.pinentry
|
||
|
pkgs.pinentry-curses
|
||
|
pkgs.ripgrep
|
||
|
];
|
||
|
|
||
|
programs = {
|
||
|
zsh = {
|
||
|
enable = true;
|
||
|
enableAutosuggestions = true;
|
||
|
enableCompletion = true;
|
||
|
oh-my-zsh = {
|
||
|
enable = true;
|
||
|
theme = "robbyrussell";
|
||
|
plugins = [
|
||
|
"git"
|
||
|
"ssh-agent"
|
||
|
"tmux"
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
starship = {
|
||
|
enable = true;
|
||
|
enableZshIntegration = true;
|
||
|
settings = {
|
||
|
character = {
|
||
|
success_symbol = "[»](bold green) ";
|
||
|
error_symbol = "[✗](bold red) ";
|
||
|
};
|
||
|
directory = {
|
||
|
fish_style_pwd_dir_length = 1;
|
||
|
truncation_length = 1;
|
||
|
};
|
||
|
gcloud = {
|
||
|
disabled = true;
|
||
|
};
|
||
|
hostname = {
|
||
|
ssh_only = false;
|
||
|
format = "[$hostname]($style):";
|
||
|
};
|
||
|
username = {
|
||
|
format = "[$user]($style)@";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
git = {
|
||
|
enable = true;
|
||
|
userName = "James Walker";
|
||
|
userEmail = "walkah@walkah.net";
|
||
|
|
||
|
signing = {
|
||
|
key = "8896FEC44D47A81C";
|
||
|
signByDefault = true;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gpg = {
|
||
|
enable = true;
|
||
|
settings = {
|
||
|
default-key = "8896FEC44D47A81C";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
tmux = {
|
||
|
enable = true;
|
||
|
};
|
||
|
|
||
|
vim = {
|
||
|
enable = true;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
services = {
|
||
|
gpg-agent = {
|
||
|
enable = true;
|
||
|
enableSshSupport = true;
|
||
|
extraConfig = ''
|
||
|
allow-emacs-pinentry
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
|
||
|
# This value determines the Home Manager release that your
|
||
|
# configuration is compatible with. This helps avoid breakage
|
||
|
# when a new Home Manager release introduces backwards
|
||
|
# incompatible changes.
|
||
|
#
|
||
|
# You can update Home Manager without changing this value. See
|
||
|
# the Home Manager release notes for a list of state version
|
||
|
# changes in each release.
|
||
|
home.stateVersion = "21.03";
|
||
|
}
|