244 lines
4.8 KiB
Nix
244 lines
4.8 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 = {
|
|
# Aspell stuff
|
|
ASPELL_CONF = "per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_DATA_HOME/aspell/en.pws; repl $XDG_DATA_HOME/aspell/en.prepl";
|
|
# Bitwarden stuff
|
|
BITWARDEN_SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/.bitwarden-ssh-agent.sock";
|
|
SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/.bitwarden-ssh-agent.sock";
|
|
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
|
|
# Java stuff
|
|
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot='$XDG_CONFIG_HOME'/java";
|
|
# libx11 stuff
|
|
XCOMPOSECACHE = "$XDG_CACHE_HOME/X11/xcompose";
|
|
XCOMPOSEFILE = "$XDG_CONFIG_HOME/X11/xcompose";
|
|
};
|
|
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.fzf = {
|
|
enable = true;
|
|
enableBashIntegration = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "chase";
|
|
userEmail = "chase@cathoderaytube.net";
|
|
extraConfig = {
|
|
init.defaultBranch = "main";
|
|
pull.rebase = true;
|
|
};
|
|
signing = {
|
|
format = "ssh";
|
|
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFSQX+s8Krl312DcnUtoEWOA2silcUnt5URtyVZz8Yek";
|
|
signByDefault = true;
|
|
};
|
|
};
|
|
|
|
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.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
|
|
texliveFull
|
|
];
|
|
}
|