nixfiles/home-manager/common.nix
2023-11-20 17:55:21 -07:00

139 lines
3.6 KiB
Nix

inputs: all: {
config,
lib,
pkgs,
...
}: {
imports = [
all
inputs.spicetify-nix.homeManagerModule
];
programs.direnv = {
enable = lib.mkDefault true;
nix-direnv.enable = lib.mkDefault true;
stdlib = ''
: ''${XDG_CACHE_HOME:=$HOME/.cache}
declare -A direnv_layout_dirs
direnv_layout_dir() {
echo "''${direnv_layout_dirs[$PWD]:=$(
echo -n "$XDG_CACHE_HOME"/direnv/layouts/
echo -n "$PWD" | shasum | cut -d ' ' -f 1
)}"
}
'';
};
programs.chromium = {
package = lib.mkDefault (pkgs.ungoogled-chromium.override {
commandLineArgs = lib.concatStringsSep " " [
"--force-dark-mode"
"--enable-features=UseOzonePlatform,WebUIDarkMode,VaapiVideoDecoder"
"--ozone-platform=wayland"
"--ignore-gpu-blocklist"
"--enable-gpu-rasterization"
"--enable-zero-copy"
];
});
};
programs.mpv = {
config = {
profile = lib.mkDefault "gpu-hq";
ytdl-format = lib.mkDefault "bestvideo+bestaudio";
};
scripts = with pkgs.mpvScripts; [
mpris
];
};
home.packages = with pkgs; [
jq
ripgrep
lsd
lsof
file
iotop
htop
];
programs.starship = {
enable = true;
settings = {
nix_shell = {
format = "via [$symbol$state($name)]($style) ";
impure_msg = "";
pure_msg = "";
};
cmd_duration = {
min_time = 5000;
};
};
};
programs.zoxide = {
enable = true;
};
programs.fish = {
enable = true;
};
programs.firefox = {
package = lib.mkDefault (pkgs.librewolf.override {
cfg = {
enableGnomeExtensions = true;
pipewireSupport = true;
nativeMessagingHosts.fxcast = true;
};
});
profiles.default = {
extensions = lib.optionals (pkgs ? nur.repos.rycee.firefox-addons) (with pkgs.nur.repos.rycee.firefox-addons; [
darkreader
bitwarden
violentmonkey
canvasblocker
sponsorblock
stylus
vimium
]);
settings = {
"browser.startup.homepage" = "https://wizbos.club";
# Make the browser usable, if I wanted autism privacy, I would use TOR browser.
"privacy.resistFingerprinting" = false;
"webgl.disabled" = false;
"privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.cookies" = false;
"privacy.clearOnShutdown.sessions" = false;
"privacy.clearOnShutdown.cache" = false;
"places.history.enabled" = true;
"network.dns.disableIPv6" = false;
"media.peerconnection.ice.no_host" = false;
# Make Jitsi work sanely
"media.setsinkid.enabled" = true;
"privacy.webrtc.legacyGlobalIndicator" = false;
"privacy.webrtc.hideGlobalIndicator" = true;
# good tweaks
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"layers.acceleration.force-enabled" = true;
"gfx.webrender.all" = true;
"svg.context-properties.content.enabled" = true;
"reader.color_scheme" = "dark";
# # LibreWolf ruins the user agent making sites unusable without RFP, so use the user agent from RFP manually. This also seems sane for compatibility when using Firefox.
# "general.useragent.override" = "Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0";
# set the user agent to a _realistic_ user agent because cloudflare keeps sniffing my balls
"general.useragent.override" = "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0";
};
};
};
}