Files
nix-config/home/base.nix

224 lines
4.1 KiB
Nix

{
config,
lib,
pkgs,
...
}: {
home = {
username = "chase";
homeDirectory = "/home/chase";
preferXdgDirectories = true;
file = {
"scripts" = {
source = config.lib.file.mkOutOfStoreSymlink ./scripts;
recursive = true;
};
};
sessionPath = [
"$HOME/scripts"
];
sessionVariables = {
SSH_AUTH_SOCK = /home/chase/.bitwarden-ssh-agent.sock;
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
};
shellAliases = {
gs = "git status";
"..." = "cd ../..";
};
};
xdg = {
enable = true;
userDirs.enable = true;
configFile = {
"emacs/early-init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el;
};
"emacs/init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el;
};
};
};
catppuccin = {
enable = true;
flavor = "mocha";
};
# programs.bash = {
# enable = true;
# enableCompletion = true;
# historyIgnore = [
# "ls"
# "ls -a"
# "ls -l"
# "ls -la"
# "cd"
# "exit"
# ];
# };
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
history = {
append = true;
extended = true;
ignoreDups = true;
ignorePatterns = [
"ls *"
"cd *"
"gs"
"exit"
];
};
syntaxHighlighting.enable = true;
};
programs.bat.enable = true;
programs.btop.enable = true;
programs.emacs = {
enable = true;
package = lib.mkDefault pkgs.emacs-nox;
};
programs.fastfetch = {
enable = true;
settings = {
logo = {
source = "nixos_small";
};
display = {
size = {
binaryPrefix = "si";
};
color = "blue";
separator = ": ";
};
modules = [
"title"
"separator"
"os"
"host"
"uptime"
"kernel"
"packages"
"lm"
"de"
"wm"
"shell"
"terminal"
"terminalfont"
{
key = "Display";
type = "display";
}
"cpu"
"gpu"
"memory"
"swap"
"disk"
"datetime"
"colors"
"break"
"player"
"media"
];
};
};
programs.git = {
enable = true;
userName = "chase";
userEmail = "chase@cathoderaytube.net";
extraConfig = {
init.defaultBranch = "main";
};
};
programs.git-credential-oauth.enable = true;
programs.gpg = {
enable = true;
homedir = "${config.xdg.dataHome}/gnupg";
};
programs.htop.enable = true;
programs.rmpc = {
enable = true;
config = ''
(
enable_config_hot_reload: true,
)
'';
};
programs.starship = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
settings = {
line_break = {
disabled = true;
};
username = {
style_user = "bold blue";
format = "[$user]($style)@";
show_always = true;
};
hostname = {
style = "bold cyan";
format = "[$ssh_symbol$hostname]($style) ";
ssh_only = false;
};
directory = {
style = "bold green";
};
};
};
programs.texlive.enable = true;
programs.yazi = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
programs.yt-dlp = {
enable = true;
settings = {
cookies-from-browser = "firefox";
write-description = true;
write-info-json = true;
embed-info-json = true;
embed-chapters = true;
embed-metadata = true;
write-subs = true;
embed-subs = true;
sub-langs = "en.*,ja";
write-thumbnail = true;
embed-thumbnail = true;
sponsorblock-mark = "all";
};
};
home.packages = with pkgs; [
aspell
aspellDicts.en
aspellDicts.en-computers
aspellDicts.en-science
ffmpeg
font-awesome
fortune
imagemagick
lm_sensors
lolcat
nerd-fonts.blex-mono
];
}