dotfiles/.config/home-manager/home.nix

91 lines
2 KiB
Nix

{ config, pkgs, ... }:
{
home.username = "lunita";
home.homeDirectory = "/home/lunita";
home.stateVersion = "25.05";
programs.zsh = {
enable = true;
syntaxHighlighting.enable = true;
shellAliases = {
c = "clear";
nf = "neofetch";
v = "nvim";
d = "cd ~/Documents";
D = "cd ~/Downloads";
dot = "cd ~/dotfiles";
};
initContent = ''
# '~' => goto base of user home directory
alias ~='cd ~'
# Vim keybinds
bindkey -v
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='nvim'
fi
# Set TERM for Ghostty ssh workaround
if [[ "$TERM_PROGRAM" == "ghostty" ]]; then
export TERM=xterm-256color
fi
'';
history.size = 10000;
oh-my-zsh = {
enable = true;
plugins = [ "git" ];
theme = "lambda";
};
};
programs.git = {
enable = true;
userName = "lulusilly";
userEmail = "lunita@puppygirl.onl";
aliases = {
ci = "commit";
co = "checkout";
s = "status";
pu = "push origin master";
rmc = "rm -r --cached";
};
};
nixpkgs.config.allowUnfree = true;
home.packages = with pkgs; [
tree # Nice file tree views w/permissions
neofetch # Muh epic r1ce!!!
btop # Resource manager
stow # For dotfiles deployment. May use home.file in future
imagemagick # For converting images into other fmts
sxiv # Minimal image viewer
mpv # Video player
zathura # PDF/CBZ/EPUB/DJVU reader
tmux # Tride and true terminal multiplexer
obsidian # For epic note taking (really just mediocre journaling)
keepassxc # Secure password manager
syncthing # Self explanatory
ghostty # Terminal emulator
# Fonts
nerd-fonts.jetbrains-mono
miracode
monocraft
];
fonts.fontconfig.enable = true;
home.file = {
};
home.sessionVariables = {
EDITOR = "emacs";
};
programs.home-manager.enable = true;
}