用 Noctalia Shell 替代各种琐碎组件
This commit is contained in:
@@ -1,61 +1,78 @@
|
||||
# niri 散装配置集(dotfiles)
|
||||
|
||||
都怪雪叶!(
|
||||
|
||||
> [!note]
|
||||
> 1. Liteyuki Gitea 黑色主题对`这样的`代码块不太友好,为方便阅读我尽量少这么写。
|
||||
> 1. 本仓库的配置管理方案比较原始:逐个做软链接处理。
|
||||
> 个人并不打算无脑用 stow ,尤其不希望一些 systemd 服务和涉及 token 的自用小工具混进来。
|
||||
> 2. 还有一些早期配置在整理本仓库时已经淡忘,由于篇幅和复述可靠性有限,亦不考虑收纳。
|
||||
> 3. 涉及家目录`$HOME`、`~`、`%h`开头(最后一个多见于 systemd 服务)的路径建议自行适配——我的设定你不一定会满意。
|
||||
> - 另注:gtklock 没有办法取巧,只能填绝对路径。算是为数不多的漏网之鱼。
|
||||
都怪雪叶!
|
||||
|
||||
## 鸣谢
|
||||
- 雪叶 [@Vescrity](https://github.com/Vescrity) (Yukitoha)
|
||||
- fizzyizzy05 (Isabelle Jackson)
|
||||
- [@silvaire-qwq](https://github.com/silvaire-qwq)
|
||||
|
||||
## 已知依赖
|
||||
> 仅列出**想得起来的**依赖软件包。
|
||||
## 注意事项
|
||||
懒得写说明文档了。姑且列个表吧。
|
||||
|
||||
|依赖|配置|
|
||||
|-|-|
|
||||
|niri|.config/niri/config*.kdl|
|
||||
|➡️ fuzzel|.config/fuzzel/*|
|
||||
|➡️ mako|.config/mako/*|
|
||||
|➡️ awww 和 swaybg|bin/chbg (bash 脚本);swaybg.service|
|
||||
|➡️ gtklock|.config/gtklock/*|
|
||||
|➡️ xdg-desktop-portal-(gtk\|gnome)|.config/xdg-desktop-portal/*-portals.conf|
|
||||
|➡️ kwallet|VSCode 试图登录时会弹出向导让你配的。|
|
||||
|foot|.config/foot/foot.ini|
|
||||
|➡️ zsh|.zshrc .zprofile|
|
||||
|yazi|.config/yazi/*|
|
||||
|fastfetch|.config/fastfetch/*|
|
||||
|waybar|.config/waybar/*|
|
||||
|➡️ mpris|`systemctl --user`配置自启动(参见 ArchWiki)|
|
||||
|➡️ pavucontrol-qt|
|
||||
- sddm -> niri -> xdg-portal
|
||||
1. sddm 主题:sddm-sugar-candy-git
|
||||
2. `[General]` 开启 Numlock
|
||||
3. niri 配置位于:.config/niri
|
||||
- 姑且按修改频次拆分为 config-*.kdl。不建议拆太多,视觉效果容易失效。
|
||||
- 启用 niri 原生窗口模糊需要从源码构建(即**换用 niri-git^AUR^**)
|
||||
- 部分应用(典型如 Chromium 应用和 wine 调起的 Windows 应用)无法应用模糊效果:参见`config-window.kdl`内注释。
|
||||
4. 本仓库的方案**不需要**装大多数 niri 可选依赖。至少只需要以下包:
|
||||
- xdg-desktop-portal-*
|
||||
- xwayland-satellite
|
||||
5. 我个人把密码管理器交给 kwallet(可在 .config/xdg-desktop-portal/niri-portals.conf 里查改)。
|
||||
- 装 kwallet 建议加装 kwallet-pam,免得 VSCode 等应用自己尝试解锁结果闪退。
|
||||
|
||||
> 备注(太长了统一丢在下面):
|
||||
> - niri 配置只拆分了 window-rule 和 binds(即`config-*.kdl),拆太碎有些视觉效果会失效。
|
||||
> - Chrome 的消息推送都是无脑标 CRITICAL 级,没有办法调持续时间,量一多还会卡在那里,只能`makoctl reload`强制重载。
|
||||
> - chbg 依赖 imagemagick。awww 目前对多个命名空间的加载有问题:[\#521](https://codeberg.org/LGFae/awww/issues/521)。经各种方案的实地测试,最终还是考虑 swaybg 服务 + awww 混合。
|
||||
> - gtklock 自身无法挂多个后台(即只能有一个`gtklock -d`,多了会报错),虽然也算侧面实现了单例,但搭配 swayidle 和 swaylock 可能不算好用。我是只在休眠快捷键里简单做了下 pgrep 检查。
|
||||
> - niri 设计上就是用 gnome 作 xdg 后端,也就它支持最全。但 gnome 界面算不上好看,所以也有一些人考虑局部更换为 gtk 或 kde。像我就用 kwallet 替代 gnome-keyring。
|
||||
> - 装 kwallet 建议加装 kwallet-pam,免得 VSCode 自己尝试解锁结果闪退。
|
||||
> - 有关终端:我另使用了 ZshIM 和 powerlevel10k 主题,因此会掺入自动生成的初始化命令。
|
||||
> - 有关 fake-nautilus:我是觉得 nautilus 不好看。在雪叶的指导下搞了个空包替代这个 gnome 后端必需的依赖。
|
||||
> - waybar(和 swaybg)重载:建议搭配`systemctl --user`(参见 [niri 在线文档](https://yalter.github.io/niri/Example-systemd-Setup.html))以便重载配置。若是用 niri 的 spawn-at-startup,杀进程重启、挂后台可谓相当麻烦。
|
||||
- niri -> noctalia -> foot, yazi, mpris, fuzzel...
|
||||
1. 由于引入 Noctalia Shell,另自动集成了配色模板。模板\*可以做到\*随壁纸切换自动更变色调,故本仓库**不包含**它们。
|
||||
2. 由于 noctalia 接管了大部分桌面 UI,以下散装部件弃用(配置移至 .deprecated ):
|
||||
- waybar (含 pavucontrol-qt), mako, gtklock
|
||||
- bin/chbg (含 swaybg 和 awww)
|
||||
3. fuzzel 无法弃用:*我需要将 VSC 打开的项目锁死在桌面范围内*,而 Noctalia 插件做不到。
|
||||
- 当然 Mod+Space 仍调整为 Noctalia 启动面板。毕竟 .fuzzel-startb 只能当 Win+R 用。
|
||||
3. noctalia 自身设置可以通过 GUI 微调:面板里有设置。配置文件恕不提供(懒得维护了)。
|
||||
4. 尚不确定 noctalia 里的媒体组件是否还需要 mpris(毕竟原本是 waybar 在管)。对其的设置参见 Arch Wiki。
|
||||
|
||||
## 参考资源与备注
|
||||
- Nerd 字体:[Monaco Nerd Font Mono](https://glowmem.com/upload/articles/archlinux-note/Monaco_Nerd_Font_Mono-Regular.ttf) (MelodyEcho ver.) 或直接 [MesloLGS NF](https://github.com/romkatv/powerlevel10k/blob/master/font.md) (for p10k)。
|
||||
> 统一交给 noctalia 还是散装,见仁见智。我觉得好看就行。
|
||||
|
||||
- 深色模式:`gsettings set org.gnome.desktop.interface color-scheme prefer-dark`
|
||||
GTK/QT 深色主题:参见 [Arch Wiki](https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications#Styles_for_both_Qt_and_GTK)。我摆烂了。
|
||||
- foot -> zsh, fastfetch
|
||||
1. zsh 另装了 ZshIM(即 ZIM)和 powerlevel10k 主题。
|
||||
2. 请酌情调整 .zprofile 里的 PATH 路径。
|
||||
3. 有一些仅当前用户安装的包管理器(bun、uv、nvm)也在 .zshrc 初始化配置。酌情挑选需要的设置行。
|
||||
|
||||
- 大多数 Electron 应用需要读`~/.config/*-flags.conf`来适配 Wayland,
|
||||
你可以把`default-electron-flags`相应地软链接过去。**特别地,QQ 需要多加一条**`--wayland-text-input-version=3`。
|
||||
## 其他组件
|
||||
|
||||
- `hoyocloud-chromium-userscript.js`顾名思义,用于**在 Chrome 里**(firefox 不需要)游玩米哈游云游戏的油猴脚本。
|
||||
参见 [Bilibili 专栏](https://www.bilibili.com/opus/842314310196658193)。
|
||||
### default-electron-flags
|
||||
|
||||
- `bin/.battery-warn`虽说也是自用,但一是配置项并不算敏感,稍微改改`config`段也可以泛用;二是参考文献写得有点啰嗦,我懒得再缝第二遍。
|
||||
个人建议用于**定时任务(cron 或 systemd timer)**。
|
||||
用于 electron/chromium 应用(如 chrome、VSCode、linuxqq)的命令行标签。可以这么软链接:
|
||||
```bash
|
||||
ln -s ./default-electron-flags ~/.config/chrome-flags.conf
|
||||
```
|
||||
但 qq-flags.conf 略为不同:
|
||||
```
|
||||
-enable-platform=wayland --enable-wayland-ime --wayland-text-input-version=3
|
||||
```
|
||||
|
||||
### hoyocloud-chromium-userscript.js
|
||||
|
||||
用于 Chrome(火狐不需要)的米哈游云游戏油猴脚本。
|
||||
参见 [Bilibili 专栏](https://www.bilibili.com/opus/842314310196658193)。
|
||||
|
||||
### fake-nautilus
|
||||
|
||||
经雪叶指导搞出来的空包。现在执行 nautilus 会发个通知:*Doki Doki Forever!*
|
||||
|
||||
旨在替换 gnome portal 的必需依赖 nautilus(就是 GNOME 文件浏览器),因为太丑了。
|
||||
|
||||
## 补充说明
|
||||
Nerd 字体:[Monaco Nerd Font Mono](https://glowmem.com/upload/articles/archlinux-note/Monaco_Nerd_Font_Mono-Regular.ttf) (MelodyEcho ver.) 或直接 [MesloLGS NF](https://github.com/romkatv/powerlevel10k/blob/master/font.md) (for p10k)。
|
||||
|
||||
---
|
||||
|
||||
深色模式:
|
||||
|
||||
```bash
|
||||
gsettings set org.gnome.desktop.interface color-scheme prefer-dark
|
||||
```
|
||||
|
||||
GTK/QT 深色主题:参见 [Arch Wiki](https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications#Styles_for_both_Qt_and_GTK)。我摆烂了。
|
||||
|
||||
Reference in New Issue
Block a user