Files
nix-config/home/home.nix

284 lines
5.9 KiB
Nix

{ config, pkgs, nur, ... }: let
earlyInitPath = "emacs/early-init.el";
initPath = "emacs/init.el";
in
{
home.username = "chase";
home.homeDirectory = "/home/chase";
home.stateVersion = "24.11";
home.file = {
"scripts" = {
source = "scripts";
recursive = true;
};
};
home.preferXdgDirectories = true;
xdg = {
enable = true;
userDirs.enable = true;
configFile = {
"emacs/early-init.el".source = config.lib.file.mkOutOfStoreSymlink earlyInitPath;
"emacs/init.el".source = config.lib.file.mkOutOfStoreSymlink initPath;
};
};
programs.alacritty = {
enable = true;
settings = {
font = {
normal = {
family = "IBM Plex Mono";
style = "Regular";
};
};
};
theme = "catppuccin_mocha";
};
programs.bash = {
enable = true;
enableCompletion = true;
bashrcExtra = ''
export SSH_AUTH_SOCK=/home/chase/.bitwarden-ssh-agent.sock
'';
historyIgnore = [
"ls"
"cd"
"exit"
];
};
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.firefox = {
enable = true;
nativeMessagingHosts = [ pkgs.firefoxpwa ];
profiles = {
default = {
id = 0;
name = "default";
isDefault = true;
extensions = {
packages = with pkgs.nur.repos.rycee.firefox-addons; [
awesome-rss
betterttv
bitwarden
clearurls
control-panel-for-twitter
enhancer-for-youtube
facebook-container
flagfox
istilldontcareaboutcookies
privacy-badger
return-youtube-dislikes
search-by-image
sponsorblock
tab-session-manager
tampermonkey
ublock-origin
];
};
settings = {
"browser.formfill.enable" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.feeds.snippets" = false;
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.system.showSponsored" = false;
"browser.topsites.contile.enabled" = false;
"browser.urlbar.unitConversion.enabled" = true;
"extensions.formautofill.addresses.enabled" = false;
"extensions.formautofill.creditCards.enabled" = false;
"extensions.pocket.enabled" = false;
"general.autoScroll" = true;
"widget.use-xdg-desktop-portal.file-picker" = 1;
"signon.rememberSignons" = false;
};
search = {
force = true;
default = "SearX";
order = [ "SearX" "google" ];
engines = {
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages";
params = [
{ name = "type"; value = "packages"; }
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
"SearX" = {
urls = [{ template = "https://searx.traphouse.cathoderaytube.net/?q={searchTerms}"; }];
definedAliases = [ "@searx" ];
};
"bing".metaData.hidden = true;
};
};
};
};
};
programs.git = {
enable = true;
userName = "chase";
userEmail = "chase@cathoderaytube.net";
extraConfig = {
init.defaultBranch = "main";
};
};
programs.git-credential-oauth.enable = true;
programs.kitty = {
enable = true;
enableGitIntegration = true;
font.name = "IBM Plex Mono";
shellIntegration.enableBashIntegration = true;
themeFile = "Catppuccin-Mocha";
};
programs.mpv = {
enable = true;
config = {
profile = "gpu-hq";
ytdl-format = "bestvideo+bestaudio";
};
scripts = [
pkgs.mpvScripts.mpris
];
};
programs.ncmpcpp = {
enable = true;
bindings = [
{ key = "h"; command = "previous_column"; }
{ key = "j"; command = "scroll_down"; }
{ key = "k"; command = "scroll_up"; }
{ key = "l"; command = "next_column"; }
];
settings = {
media_library_primary_tag = "album_artist";
};
};
programs.obs-studio.enable = true;
programs.ranger.enable = true;
programs.rmpc = {
enable = true;
config = ''
(
album_art: (
method: Auto,
max_size_px: (width: 1200, height: 1200),
disabled_protocols: ["http://", "https://"],
vertical_align: Center,
horizontal_align: Center,
),
)
'';
};
programs.texlive.enable = true;
programs.yt-dlp = {
enable = true;
settings = {
embed-thumbnail = true;
};
};
home.packages = with pkgs; [
audacity
anki-bin
ffmpeg
gimp
ibm-plex
imagemagick
kdePackages.kdenlive
libnotify
libreoffice
logiops
nerd-fonts.blex-mono
protonmail-bridge
thunderbird
ueberzugpp
runelite
];
services.mako.enable = true;
services.mpd = {
enable = true;
extraConfig = ''
audio_output {
type "pipewire"
name "Pipewire Output"
}
'';
musicDirectory = "/mnt/share/media/music";
};
services.mpd-mpris = {
enable = true;
mpd.useLocal = true;
};
}