diff --git a/.config/X11/xinitrc b/.config/X11/xinitrc index 5a7493d..1ae7a93 100644 --- a/.config/X11/xinitrc +++ b/.config/X11/xinitrc @@ -32,15 +32,29 @@ if [ -d /etc/X11/xinit/xinitrc.d ] ; then unset f fi +#NixOS does not setup the user's D-Bus Daemon, so doing it explicitly here +if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then + eval $(dbus-launch --exit-with-session --sh-syntax) +fi +syustemctl --user import-environment DISPLAY XAUTHORITY +if command -v dbus-update-activation-environment >/dev/null 2>&1; then + dbus-update-activation-environment DISPLAY XAUTHORITY +fi + # Some x stuff -xrandr --setprovideroutputsource modesetting NVIDIA-0 +# xrandr --setprovideroutputsource modesetting NVIDIA-0 xrandr --auto xset r rate 300 50 -feh --bg-scale --no-fehbg ~/.config/wallpaper -picom -b -fcitx -d & -sxhkd & -exec dwm -dwmblocks +# Need to source environment before starting fcitx5 so that it can +# read the *_IM_MODULE and XMODIFIER variables. +source ~/.config/zsh/.zshenv +kill $(pidof fcitx5) 2>/dev/null +fcitx5 -d + +feh --bg-fill --no-fehbg ~/.config/wallpaper +picom -b +sxhkd & +dwmblocks & +exec dwm diff --git a/.config/fcitx5/conf/classicui.conf b/.config/fcitx5/conf/classicui.conf new file mode 100644 index 0000000..93a9575 --- /dev/null +++ b/.config/fcitx5/conf/classicui.conf @@ -0,0 +1,27 @@ +# Vertical Candidate List +Vertical Candidate List=False +# Use Per Screen DPI +PerScreenDPI=True +# Use mouse wheel to go to prev or next page +WheelForPaging=True +# Font +Font="Sans 15" +# Menu Font +MenuFont="Sans 15" +# Tray Font +TrayFont="Sans Bold 15" +# Tray Label Outline Color +TrayOutlineColor=#000000 +# Tray Label Text Color +TrayTextColor=#ffffff +# Prefer Text Icon +PreferTextIcon=False +# Show Layout Name In Icon +ShowLayoutNameInIcon=True +# Use input method language to display text +UseInputMethodLangaugeToDisplayText=True +# Theme +Theme=vince +# Force font DPI on Wayland +ForceWaylandDPI=0 + diff --git a/.config/nixos/configuration.nix b/.config/nixos/configuration.nix index 6be689a..a7f769e 100644 --- a/.config/nixos/configuration.nix +++ b/.config/nixos/configuration.nix @@ -50,7 +50,16 @@ i18n = { defaultLocale = "en_US.UTF-8"; - inputMethod.enabled = "fcitx5"; + inputMethod = { + # Have to install fcitx5 through here so that the binary is patched to be able to see the addons. + # If also installed through system packages, the binary without addonds will take precedence. + enabled = "fcitx5"; + fcitx5.addons = with pkgs; [ + fcitx5-configtool + fcitx5-rime + fcitx5-chinese-addons + ]; + }; }; # console = { # font = "Lat2-Terminus16"; @@ -86,12 +95,25 @@ hardware.pulseaudio.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.vince = { - isNormalUser = true; - extraGroups = [ "wheel" ]; - packages = with pkgs; [ - ]; - shell = pkgs.zsh; + users = { + mutableUsers = true; + users = { + vince = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + packages = with pkgs; [ + ]; + shell = pkgs.zsh; + + # Set so when mutableUsers is set to "false", the user still has a way to login. + password = ""; + }; + root = { + # Disables root login, since nothing can hash to "!". Requires setting mutableUsers to "false", + # rebuilding, and then setting mutableUsers back to "true". + hashedPassword = "!"; + }; + }; }; # List packages installed in system profile. To search, run: @@ -101,8 +123,6 @@ bat # Fancy `cat` which I use for lf devour # Opens new program on top of terminal dunst # Notification daemon - fcitx5-configtool # GUI config tool for fcitx5 - fcitx5 # Foreign keyboard switcher feh # Image viewer I use for background setting git # Imagine not having this htop # Process monitor @@ -119,7 +139,9 @@ rofi-pass # Rofi frontend for password store sxhkd # Hotkey daemon syncthing # Syncing files between machines + texlive.combined.scheme-full # LaTeX to create documents tmux # Terminal multiplexor + typst # Cool, minimal LaTeX alternative ueberzugpp # Terminal image overlayer zathura # Pdf editor zsh # Shell @@ -173,6 +195,8 @@ ]; fonts.fonts = with pkgs; [ + source-han-sans + source-han-serif (nerdfonts.override { fonts = [ "FiraCode" ]; }) ]; diff --git a/.local/share/fcitx5/themes/vince/theme.conf b/.local/share/fcitx5/themes/vince/theme.conf new file mode 100644 index 0000000..120419c --- /dev/null +++ b/.local/share/fcitx5/themes/vince/theme.conf @@ -0,0 +1,294 @@ +[Metadata] +# 名称 +Name=gruvbox +# 版本 +Version=2.2 +# 作者 +Author=Pu +# 描述 +Description="gruvbox for fcitx5" +# 根据屏幕 DPI 缩放 +ScaleWithDPI=True + +[General] +# 托盘字体 +TrayFont="Sans 13" + +[InputPanel] +# 字体 +Font="Sans 11" +# 一般文字颜色 +NormalColor=#ebdbb2 + # 高亮候选词颜色 +HighlightCandidateColor=#282828 +# KWin 下启用模糊 +EnableBlur=False +# 竖排列表时使用所有横向空间高亮 +FullWidthHighlight=True +# 高亮文字颜色 +HighlightColor=#ebdbb2 +# 高亮背景颜色 +HighlightBackgroundColor=#282828 + +[InputPanel/Background] +# 颜色 +Color=#282828 +# 边框颜色 +BorderColor=#8ec07c +# 边框宽度 +BorderWidth=1 + +[InputPanel/Background/Margin] +# 左边距 +Left=2 +# 右侧边距 +Right=2 +# 顶部边距 +Top=2 +# 底部边距 +Bottom=2 + +[InputPanel/Background/OverlayClipMargin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[InputPanel/Highlight] +# 颜色 +Color=#68976a + +[InputPanel/Highlight/Margin] +# 左边距 +Left=5 +# 右侧边距 +Right=5 +# 顶部边距 +Top=5 +# 底部边距 +Bottom=5 + +[InputPanel/Highlight/OverlayClipMargin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[InputPanel/Highlight/HighlightClickMargin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[InputPanel/ContentMargin] +# 左边距 +Left=2 +# 右侧边距 +Right=2 +# 顶部边距 +Top=2 +# 底部边距 +Bottom=2 + +[InputPanel/TextMargin] +# 左边距 +Left=5 +# 右侧边距 +Right=5 +# 顶部边距 +Top=5 +# 底部边距 +Bottom=5 + +[InputPanel/PrevPage/ClickMargin] +# 左边距 +Left=5 +# 右侧边距 +Right=5 +# 顶部边距 +Top=4 +# 底部边距 +Bottom=4 + +[InputPanel/NextPage/ClickMargin] +# 左边距 +Left=5 +# 右侧边距 +Right=5 +# 顶部边距 +Top=4 +# 底部边距 +Bottom=4 + +[InputPanel/BlurMargin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[Menu] +# 一般文字颜色 +NormalColor=#ebdbb2 +# 高亮候选词颜色 +HighlightCandidateColor=#282828 +# 间隔 +Spacing=1 + +[Menu/Background] +# 颜色 +Color=#282828 +# 边框颜色 +BorderColor=#a89984 +# 边框宽度 +BorderWidth=1 + +[Menu/Background/Margin] +# 左边距 +Left=10 +# 右侧边距 +Right=10 +# 顶部边距 +Top=10 +# 底部边距 +Bottom=10 + +[Menu/Background/OverlayClipMargin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[Menu/Highlight] +# 颜色 +Color=#68976a + +[Menu/Highlight/Margin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[Menu/Highlight/OverlayClipMargin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[Menu/Separator] +Image=separator-aqua.png + +[Menu/Separator/Margin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[Menu/Separator/OverlayClipMargin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[Menu/CheckBox] +Image=radio.png + +[Menu/CheckBox/Margin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[Menu/CheckBox/OverlayClipMargin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[Menu/SubMenu] +# 颜色 +Color=#ebdbb2 +Image=arrow.png + +[Menu/SubMenu/Margin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[Menu/SubMenu/OverlayClipMargin] +# 左边距 +Left=0 +# 右侧边距 +Right=0 +# 顶部边距 +Top=0 +# 底部边距 +Bottom=0 + +[Menu/ContentMargin] +# 左边距 +Left=2 +# 右侧边距 +Right=2 +# 顶部边距 +Top=2 +# 底部边距 +Bottom=2 + +[Menu/TextMargin] +# 左边距 +Left=2 +# 右侧边距 +Right=2 +# 顶部边距 +Top=2 +# 底部边距 +Bottom=2