nix-configs/home.nix

88 lines
2 KiB
Nix

{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "aaronh";
home.homeDirectory = "/home/aaronh";
# 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 = "23.11";
nixpkgs.config = {
allowUnfree = true;
};
home.packages = with pkgs; [
# GUI
discord
signal-desktop
#youtube-music
vscodium
# CLI
mdbook
freshfetch
];
programs.bash = {
enable = true;
shellAliases = {
nix-generations = "sudo nix-env -p /nix/var/nix/profiles/system --list-generations";
nix-upgrade = "sudo nixos-rebuild switch --upgrade";
};
};
programs.git = {
enable = true;
lfs.enable = true;
userName = "Aaron Honeycutt";
userEmail = "aaronhoneycutt@protonmail.com";
aliases = {
undo = "reset HEAD~1 --mixed";
amend = "commit -a --amend";
feature = "commit -m feat: -m new-feature";
fix = "commit -m fix: -m issue#";
};
extraConfig = {
color = {
ui = "auto";
};
color.status = {
added = "green bold";
changed = "yellow bold";
untracked = "red bold";
};
push = {
autoSetupRemote = "true";
};
init = {
defaultBranch = "main";
};
};
};
programs.nix-index = {
enable = true;
enableBashIntegration = true;
};
dconf.settings = {
"org/gnome/desktop/peripherals/touchpad" = {
tap-to-click = true;
};
};
programs.gh.enable = true;
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}