2023-09-19 00:17:43 +00:00
|
|
|
{
|
2023-11-04 10:14:42 +00:00
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: {
|
2023-09-19 00:17:43 +00:00
|
|
|
home = {
|
|
|
|
username = "guanranwang";
|
|
|
|
homeDirectory = "/home/guanranwang";
|
|
|
|
|
2023-11-04 10:14:42 +00:00
|
|
|
packages =
|
|
|
|
(with pkgs; [
|
|
|
|
# x11 + wayland
|
|
|
|
rofi-wayland
|
|
|
|
rofi-power-menu
|
|
|
|
dunst
|
|
|
|
pamixer
|
|
|
|
brightnessctl
|
|
|
|
playerctl
|
|
|
|
#networkmanagerapplet
|
|
|
|
pavucontrol
|
|
|
|
|
|
|
|
# wayland
|
|
|
|
wl-clipboard
|
|
|
|
cliphist
|
|
|
|
swaylock-effects
|
|
|
|
grim
|
|
|
|
slurp
|
|
|
|
swappy
|
|
|
|
#udiskie
|
|
|
|
swww
|
|
|
|
mpvpaper
|
|
|
|
libnotify
|
|
|
|
jq
|
|
|
|
|
|
|
|
# x11
|
|
|
|
#polybar
|
|
|
|
#picom
|
|
|
|
#feh
|
|
|
|
#flameshot
|
|
|
|
|
|
|
|
# gui
|
|
|
|
gparted
|
|
|
|
timeshift
|
|
|
|
mpv
|
|
|
|
spicetify-cli
|
|
|
|
|
|
|
|
### matrix
|
|
|
|
#fluffychat
|
|
|
|
element-desktop
|
|
|
|
cinny-desktop
|
|
|
|
#nheko
|
|
|
|
|
|
|
|
### music
|
|
|
|
easyeffects
|
|
|
|
spotify
|
|
|
|
yesplaymusic
|
|
|
|
amberol
|
|
|
|
netease-cloud-music-gtk
|
|
|
|
|
|
|
|
### misc
|
|
|
|
bitwarden
|
|
|
|
#discord
|
|
|
|
#qq
|
|
|
|
tuba
|
|
|
|
mousai
|
|
|
|
protonup-qt
|
|
|
|
piper
|
|
|
|
telegram-desktop
|
|
|
|
qbittorrent
|
|
|
|
gradience
|
|
|
|
dippi
|
|
|
|
obs-studio
|
|
|
|
gnome.seahorse
|
|
|
|
gnome.eog
|
|
|
|
gnome.file-roller
|
|
|
|
gnome.gnome-weather
|
|
|
|
gnome.gnome-calculator
|
|
|
|
gnome.dconf-editor
|
|
|
|
|
|
|
|
# TUI
|
|
|
|
cava
|
|
|
|
joshuto # rs
|
|
|
|
bottom
|
|
|
|
helix
|
|
|
|
skim
|
|
|
|
bat
|
|
|
|
|
|
|
|
# cli
|
|
|
|
#fastfetch
|
|
|
|
wget
|
|
|
|
sops
|
|
|
|
skim
|
|
|
|
ydict
|
|
|
|
nix-output-monitor
|
|
|
|
zoxide # rs
|
|
|
|
trashy
|
|
|
|
eza
|
|
|
|
ripgrep
|
|
|
|
fd
|
|
|
|
freshfetch
|
|
|
|
hyperfine
|
|
|
|
|
|
|
|
# lsp
|
|
|
|
nil
|
|
|
|
gopls
|
|
|
|
libclang
|
|
|
|
|
|
|
|
# themes
|
|
|
|
tela-icon-theme
|
|
|
|
tela-circle-icon-theme
|
|
|
|
papirus-icon-theme
|
|
|
|
adw-gtk3
|
|
|
|
])
|
|
|
|
++ (with pkgs.gnome; [
|
|
|
|
# GNOME
|
|
|
|
nautilus
|
|
|
|
zenity
|
|
|
|
|
|
|
|
# GNOME only
|
|
|
|
#gnome-tweaks
|
|
|
|
#gnome-software
|
|
|
|
#gnome-shell-extensions
|
|
|
|
])
|
|
|
|
++ (with pkgs.gnomeExtensions; [
|
|
|
|
# GNOME extensions
|
|
|
|
arcmenu
|
|
|
|
appindicator
|
|
|
|
blur-my-shell
|
|
|
|
caffeine
|
|
|
|
dash-to-panel
|
|
|
|
dash-to-dock
|
|
|
|
gamemode # outdated
|
|
|
|
just-perfection
|
|
|
|
kimpanel
|
|
|
|
])
|
|
|
|
++ (with pkgs.fishPlugins; [
|
|
|
|
autopair
|
|
|
|
done
|
|
|
|
#tide
|
|
|
|
sponge
|
|
|
|
puffer
|
|
|
|
]);
|
2023-09-19 00:17:43 +00:00
|
|
|
|
|
|
|
pointerCursor = {
|
|
|
|
gtk.enable = true;
|
|
|
|
x11.enable = true;
|
|
|
|
name = "Adwaita";
|
|
|
|
package = pkgs.gnome.adwaita-icon-theme;
|
|
|
|
size = 24;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
gtk = {
|
|
|
|
enable = true;
|
|
|
|
font.name = "Sans";
|
|
|
|
cursorTheme = {
|
|
|
|
name = "Adwaita";
|
|
|
|
package = pkgs.gnome.adwaita-icon-theme;
|
|
|
|
size = 24;
|
|
|
|
};
|
|
|
|
theme = {
|
|
|
|
name = "adw-gtk3-dark";
|
|
|
|
package = pkgs.adw-gtk3;
|
|
|
|
};
|
|
|
|
iconTheme = {
|
|
|
|
#name = "Tela-dracula-dark";
|
|
|
|
#package = pkgs.tela-icon-theme;
|
|
|
|
name = "Papirus-Dark";
|
|
|
|
package = pkgs.papirus-icon-theme;
|
|
|
|
};
|
|
|
|
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
|
|
|
};
|
|
|
|
|
|
|
|
dconf.settings = {
|
|
|
|
"org/gnome/desktop/wm/preferences" = {
|
|
|
|
"titlebar-font" = "Sans Bold";
|
|
|
|
"button-layout" = "icon,appmenu:";
|
|
|
|
};
|
|
|
|
"org/gnome/desktop/interface" = {
|
|
|
|
"clock-format" = "12h";
|
|
|
|
"color-scheme" = "prefer-dark";
|
|
|
|
"document-font-name" = "Sans";
|
|
|
|
"font-name" = "Sans";
|
|
|
|
"monospace-font-name" = "Monospace";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
fonts.fontconfig.enable = true;
|
|
|
|
|
|
|
|
# X resources file
|
|
|
|
# ~/.Xresources
|
|
|
|
xresources.properties = {
|
|
|
|
# Cursor
|
|
|
|
"Xcursor.theme" = "Adwaita";
|
|
|
|
|
|
|
|
# Fonts
|
|
|
|
"Xft.autohint" = "0";
|
|
|
|
"Xft.lcdfilter" = "lcddefault";
|
|
|
|
"Xft.hintstyle" = "hintslight";
|
|
|
|
"Xft.hinting" = "1";
|
|
|
|
"Xft.antialias" = "1";
|
|
|
|
"Xft.rgba" = "rgb";
|
|
|
|
|
|
|
|
# Tokyonight color scheme
|
|
|
|
# i have no idea what does it apply to
|
|
|
|
"*background" = "#1a1b26";
|
|
|
|
"*foreground" = "#c0caf5";
|
|
|
|
|
|
|
|
"*color0" = "#15161e";
|
|
|
|
"*color1" = "#f7768e";
|
|
|
|
"*color2" = "#9ece6a";
|
|
|
|
"*color3" = "#e0af68";
|
|
|
|
"*color4" = "#7aa2f7";
|
|
|
|
"*color5" = "#bb9af7";
|
|
|
|
"*color6" = "#7dcfff";
|
|
|
|
"*color7" = "#a9b1d6";
|
|
|
|
|
|
|
|
"*color8" = "#414868";
|
|
|
|
"*color9" = "#f7768e";
|
|
|
|
"*color10" = "#9ece6a";
|
|
|
|
"*color11" = "#e0af68";
|
|
|
|
"*color12" = "#7aa2f7";
|
|
|
|
"*color13" = "#bb9af7";
|
|
|
|
"*color14" = "#7dcfff";
|
|
|
|
"*color15" = "#c0caf5";
|
|
|
|
};
|
|
|
|
|
|
|
|
wayland.windowManager = {
|
|
|
|
hyprland = {
|
2023-11-03 16:02:28 +00:00
|
|
|
#enable = true;
|
2023-09-19 00:17:43 +00:00
|
|
|
enableNvidiaPatches = true;
|
2023-11-03 16:02:28 +00:00
|
|
|
xwayland.enable = true;
|
|
|
|
plugins = [
|
|
|
|
#inputs.hyprland-plugins.packages.${pkgs.system}.csgo-vulkan-fix
|
|
|
|
];
|
|
|
|
|
2023-09-19 00:17:43 +00:00
|
|
|
extraConfig = ''
|
|
|
|
#source = ~/.config/hypr/themes/mocha.conf
|
|
|
|
#source = ~/.config/hypr/themes/colors.conf
|
|
|
|
#source = ~/.config/hypr/plugins.conf
|
|
|
|
source = ~/.config/hypr/main.conf
|
|
|
|
source = ~/.config/hypr/keybinds.conf
|
|
|
|
source = ~/.config/hypr/autostart.conf
|
|
|
|
source = ~/.config/hypr/env.conf
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
#xsession = {
|
|
|
|
# enable = true;
|
|
|
|
# windowManager.bspwm = {
|
|
|
|
# enable = true;
|
|
|
|
# };
|
|
|
|
#};
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
rofi = {
|
|
|
|
#enable = true;
|
|
|
|
package = pkgs.rofi-wayland;
|
|
|
|
font = "monospace";
|
|
|
|
terminal = "${pkgs.alacritty}/bin/alacritty";
|
|
|
|
};
|
|
|
|
|
|
|
|
#boxxy = {
|
|
|
|
# enable = true;
|
|
|
|
# #rules = {
|
2023-10-05 07:14:52 +00:00
|
|
|
# #
|
2023-09-19 00:17:43 +00:00
|
|
|
# #};
|
|
|
|
#};
|
2023-11-03 16:02:28 +00:00
|
|
|
|
|
|
|
firefox = {
|
|
|
|
#enable = true;
|
|
|
|
profiles."default" = {};
|
|
|
|
};
|
|
|
|
|
|
|
|
librewolf = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
"identity.fxaccounts.enabled" = true;
|
|
|
|
|
|
|
|
# https:#github.com/yokoffing/Betterfox/blob/main/librewolf.overrides.cfg
|
|
|
|
### SECTION: FASTFOX
|
|
|
|
"layout.css.grid-template-masonry-value.enabled" = true;
|
|
|
|
"dom.enable_web_task_scheduling" = true;
|
|
|
|
|
|
|
|
### SECTION: SECUREFOX
|
|
|
|
# TRACKING PROTECTION
|
|
|
|
"urlclassifier.trackingSkipURLs" = "*.reddit.com, *.twitter.com, *.twimg.com";
|
|
|
|
"urlclassifier.features.socialtracking.skipURLs" = "*.instagram.com, *.twitter.com, *.twimg.com";
|
|
|
|
|
|
|
|
### OCSP & CERTS / HPKP
|
|
|
|
# Use CRLite instead of OCSP
|
|
|
|
"security.OCSP.enabled" = 0;
|
|
|
|
"security.OCSP.require" = false;
|
|
|
|
"security.pki.crlite_mode" = 2;
|
|
|
|
|
|
|
|
### RFP
|
|
|
|
# Limits refresh rate to 60mHz, breaks timezone, and forced light theme
|
|
|
|
# [1] https:#librewolf.net/docs/faq/#what-are-the-most-common-downsides-of-rfp-resist-fingerprinting
|
|
|
|
"privacy.resistFingerprinting" = false;
|
|
|
|
|
|
|
|
### WebGL
|
|
|
|
# Breaks Map sites, NYT articles, Nat Geo, and more
|
|
|
|
# [1] https:#manu.ninja/25-real-world-applications-using-webgl/
|
|
|
|
"webgl.disabled" = false;
|
|
|
|
|
|
|
|
# DRM
|
|
|
|
# Netflix, Udemy, Spotify, etc.
|
|
|
|
"media.eme.enabled" = true;
|
|
|
|
|
|
|
|
# HTTPS-ONLY MODE
|
|
|
|
"dom.security.https_only_mode_error_page_user_suggestions" = true;
|
|
|
|
|
|
|
|
# PASSWORDS AND AUTOFILL
|
|
|
|
"signon.generation.enabled" = false;
|
|
|
|
|
|
|
|
### WEBRTC
|
|
|
|
# Breaks video conferencing
|
|
|
|
"media.peerconnection.ice.no_host" = false;
|
|
|
|
|
|
|
|
### PERMISSIONS
|
|
|
|
"permissions.default.geo" = 2;
|
|
|
|
"permissions.default.desktop-notification" = 2;
|
|
|
|
"dom.push.enabled" = false;
|
|
|
|
|
|
|
|
### SECTION: PESKYFOX
|
|
|
|
### MOZILLA UI
|
|
|
|
"layout.css.prefers-color-scheme.content-override" = 2;
|
|
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
|
|
"browser.compactmode.show" = true;
|
|
|
|
|
|
|
|
### FULLSCREEN
|
|
|
|
"full-screen-api.transition-duration.enter" = "0 0";
|
|
|
|
"full-screen-api.transition-duration.leave" = "0 0";
|
|
|
|
"full-screen-api.warning.delay" = 0;
|
|
|
|
"full-screen-api.warning.timeout" = 0;
|
|
|
|
|
|
|
|
### URL BAR
|
|
|
|
"browser.urlbar.suggest.engines" = false;
|
|
|
|
"browser.urlbar.suggest.topsites" = false;
|
|
|
|
"browser.urlbar.suggest.calculator" = true;
|
|
|
|
"browser.urlbar.unitConversion.enabled" = true;
|
|
|
|
|
|
|
|
### AUTOPLAY
|
|
|
|
# Default breaks some video players
|
|
|
|
"media.autoplay.blocking_policy" = 0;
|
|
|
|
|
|
|
|
#### PASSWORDS
|
|
|
|
"editor.truncate_user_pastes" = false;
|
|
|
|
|
|
|
|
#### DOWNLOADS
|
|
|
|
"browser.download.autohideButton" = true;
|
|
|
|
|
|
|
|
### PDF
|
|
|
|
"browser.download.open_pdf_attachments_inline" = true;
|
|
|
|
|
|
|
|
### TAB BEHAVIOR
|
|
|
|
"browser.tabs.loadBookmarksInTabs" = true;
|
|
|
|
"browser.bookmarks.openInTabClosesMenu" = false;
|
|
|
|
"findbar.highlightAll" = true;
|
|
|
|
|
|
|
|
### SECTION: SMOOTHFOX
|
|
|
|
"apz.overscroll.enabled" = true;
|
|
|
|
"general.smoothScroll" = true;
|
|
|
|
"general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS" = 12;
|
|
|
|
"general.smoothScroll.msdPhysics.enabled" = true;
|
|
|
|
"general.smoothScroll.msdPhysics.motionBeginSpringConstant" = 600;
|
|
|
|
"general.smoothScroll.msdPhysics.regularSpringConstant" = 650;
|
|
|
|
"general.smoothScroll.msdPhysics.slowdownMinDeltaMS" = 25;
|
|
|
|
"general.smoothScroll.msdPhysics.slowdownMinDeltaRatio" = "2.0";
|
|
|
|
"general.smoothScroll.msdPhysics.slowdownSpringConstant" = 250;
|
|
|
|
"general.smoothScroll.currentVelocityWeighting" = "1.0";
|
|
|
|
"general.smoothScroll.stopDecelerationWeighting" = "1.0";
|
|
|
|
"mousewheel.default.delta_multiplier_y" = 75;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
chromium = {
|
|
|
|
enable = true;
|
|
|
|
#package = pkgs.ungoogled-chromium;
|
|
|
|
# ungoogled-chrome does not work with extensions for now
|
|
|
|
# https://github.com/nix-community/home-manager/issues/2216
|
|
|
|
# https://github.com/nix-community/home-manager/issues/2585
|
|
|
|
extensions = [
|
2023-11-04 10:14:42 +00:00
|
|
|
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin
|
|
|
|
{id = "mnjggcdmjocbbbhaepdhchncahnbgone";} # sponsorblock
|
|
|
|
{id = "icallnadddjmdinamnolclfjanhfoafe";} # fastforward
|
|
|
|
{id = "dbepggeogbaibhgnhhndojpepiihcmeb";} # vimium
|
|
|
|
{id = "nngceckbapebfimnlniiiahkandclblb";} # bitwarden
|
|
|
|
{id = "gebbhagfogifgggkldgodflihgfeippi";} # return youtube dislike
|
|
|
|
{id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # dark reader
|
|
|
|
{id = "njdfdhgcmkocbgbhcioffdbicglldapd";} # localcdn
|
|
|
|
{id = "hipekcciheckooncpjeljhnekcoolahp";} # tabliss
|
|
|
|
{id = "bgfofngpplpmpijncjegfdgilpgamhdk";} # modern scrollbar
|
|
|
|
{id = "ajhmfdgkijocedmfjonnpjfojldioehi";} # privacy pass
|
|
|
|
{id = "hkgfoiooedgoejojocmhlaklaeopbecg";} # picture in picture
|
2023-11-03 16:02:28 +00:00
|
|
|
#{ id = "fnaicdffflnofjppbagibeoednhnbjhg"; } # floccus bookmark sync
|
|
|
|
#{ id = "jaoafjdoijdconemdmodhbfpianehlon"; } # skip redirect
|
|
|
|
#{ id = "dhdgffkkebhmkfjojejmpbldmpobfkfo"; } # tampermonkey
|
|
|
|
#{ id = "jinjaccalgkegednnccohejagnlnfdag"; } # violentmonkey
|
|
|
|
#{ id = "kdbmhfkmnlmbkgbabkdealhhbfhlmmon"; } # steamdb
|
|
|
|
#{ id = "cmeakgjggjdlcpncigglobpjbkabhmjl"; } # steam inventory helper
|
|
|
|
#{ id = "mgijmajocgfcbeboacabfgobmjgjcoja"; } # google dictionary
|
|
|
|
#{ id = "kbfnbcaeplbcioakkpcpgfkobkghlhen"; } # grammarly
|
|
|
|
#{ id = "ekbmhggedfdlajiikminikhcjffbleac"; } # 喵喵折+
|
|
|
|
];
|
|
|
|
};
|
2023-09-19 00:17:43 +00:00
|
|
|
};
|
|
|
|
}
|