diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl index 8052f49..f181bd5 100644 --- a/home/.chezmoiignore.tmpl +++ b/home/.chezmoiignore.tmpl @@ -62,7 +62,8 @@ vim:ft=gotmpl .config/krunnerrc .config/fcitx5 .config/niri - .local/share/** + .local/share/kio/** + .local/share/fonts/** {{ end }} {{/* Linux */}} diff --git a/home/dot_local/share/kxmlgui5/gwenview/gwenviewui.rc b/home/dot_local/share/kxmlgui5/gwenview/gwenviewui.rc new file mode 100644 index 0000000..6cbd46c --- /dev/null +++ b/home/dot_local/share/kxmlgui5/gwenview/gwenviewui.rc @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + &Rating + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Main Toolbar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nixcfgs/users/js0ny/default.nix b/nixcfgs/users/js0ny/default.nix index c68af6e..3ea268d 100644 --- a/nixcfgs/users/js0ny/default.nix +++ b/nixcfgs/users/js0ny/default.nix @@ -17,10 +17,6 @@ in { then "/Users/${username}" else "/home/${username}"; - home.packages = with pkgs; [ - home-manager - ]; - programs.home-manager.enable = true; home.sessionVariables.TERMINAL = config.currentUser.defaultTerminal; diff --git a/nixcfgs/users/js0ny/packages/gui.nix b/nixcfgs/users/js0ny/packages/gui.nix index db1865e..3048ec5 100644 --- a/nixcfgs/users/js0ny/packages/gui.nix +++ b/nixcfgs/users/js0ny/packages/gui.nix @@ -17,7 +17,6 @@ sioyek # Image Viewer - vimiv-qt # Default loupe # SUPER FAST 有催人跑的感觉 w/ GPU Accel. kdePackages.elisa diff --git a/nixcfgs/users/js0ny/programs/desktop/plasma.nix b/nixcfgs/users/js0ny/programs/desktop/plasma.nix index 2f46c70..799e6e4 100644 --- a/nixcfgs/users/js0ny/programs/desktop/plasma.nix +++ b/nixcfgs/users/js0ny/programs/desktop/plasma.nix @@ -3,6 +3,9 @@ config, ... }: { + imports = [ + ../gwenview.nix + ]; home.packages = with pkgs; [ # kdePackages.yakuake krunner-vscodeprojects diff --git a/nixcfgs/users/js0ny/programs/desktop/wayland-wm/niri/window-rules.nix b/nixcfgs/users/js0ny/programs/desktop/wayland-wm/niri/window-rules.nix index ed3cfd5..8e3479d 100644 --- a/nixcfgs/users/js0ny/programs/desktop/wayland-wm/niri/window-rules.nix +++ b/nixcfgs/users/js0ny/programs/desktop/wayland-wm/niri/window-rules.nix @@ -37,6 +37,20 @@ ]; open-focused = false; } + { + matches = [ + { + app-id = "^org.kde.(ark|dolphin)$"; + title = "^Extracting"; + } + ]; + open-focused = false; + default-floating-position = { + x = 50; + y = 50; + relative-to = "top-right"; + }; + } { matches = [ # Anki add new flashcard @@ -58,6 +72,10 @@ app-id = "^QQ$"; title = "^图片查看器$"; } + { + app-id = "^QQ$"; + title = "^群聊的聊天记录$"; + } { app-id = "^org.telegram.desktop$"; title = "^Media viewer$"; diff --git a/nixcfgs/users/js0ny/programs/gwenview.nix b/nixcfgs/users/js0ny/programs/gwenview.nix new file mode 100644 index 0000000..8ae3288 --- /dev/null +++ b/nixcfgs/users/js0ny/programs/gwenview.nix @@ -0,0 +1,29 @@ +{ + pkgs, + lib, + ... +}: { + home.packages = with pkgs.kdePackages; [ + gwenview + ]; + xdg.configFile."gwenviewrc-override".text = lib.generators.toINI {} { + ImageView = { + AnimationMethod = "DocumentView::NoAnimation"; + MouseWheelBehavior = "MouseWheelBehavior::Browse"; + NavigationEndNotification = "NavigationEndNotification::AlwaysWarn"; + }; + }; + + # Manually merge gwenview config to existing file + home.activation.mergeGwenviewrc = lib.hm.dag.entryAfter ["writeBoundary"] '' + if [ -f ~/.config/gwenviewrc-override ]; then + # Create gwenviewrc if it doesn't exist + touch ~/.config/gwenviewrc + + # Merge the override file into the main config + ${pkgs.crudini}/bin/crudini --merge ~/.config/gwenviewrc < ~/.config/gwenviewrc-override + + $DRY_RUN_CMD rm -f ~/.config/gwenviewrc-override + fi + ''; +} diff --git a/nixcfgs/users/js0ny/programs/mime.nix b/nixcfgs/users/js0ny/programs/mime.nix index bd9aef6..7b7f62d 100644 --- a/nixcfgs/users/js0ny/programs/mime.nix +++ b/nixcfgs/users/js0ny/programs/mime.nix @@ -1,4 +1,6 @@ -{ +{...}: let + gvim = "nvim-qt.desktop"; +in { xdg.configFile."mimeapps.list".force = true; xdg.mime.enable = true; xdg.mimeApps = { @@ -8,20 +10,24 @@ # PDF "application/pdf" = "org.kde.okular.desktop"; # Plain text - "text/plain" = "nvim-qt.desktop"; + "text/plain" = gvim; # Source Code - C - "text/x-csrc" = "nvim-qt.desktop"; - "text/x-chdr" = "nvim-qt.desktop"; + "text/x-csrc" = gvim; # .c + "text/x-chdr" = gvim; # .h + # CSV + "text/csv" = gvim; # File Explorer "inode/directory" = "org.kde.dolphin.desktop"; - # Image Viewer + # Image Viewer: + # gwenview: keyboard driven, high compatibility # loupe: Performance is incredible - "image/jpeg" = "vimiv.desktop;org.gnome.Loupe.desktop"; - "image/jpg" = "vimiv.desktop;org.gnome.Loupe.desktop"; - "image/png" = "vimiv.desktop;org.gnome.Loupe.desktop"; - "image/gif" = "vimiv.desktop;org.gnome.Loupe.desktop"; - "image/bmp" = "vimiv.desktop;org.gnome.Loupe.desktop"; - "image/webp" = "vimiv.desktop;org.gnome.Loupe.desktop"; + "image/jpeg" = "org.kde.gwenview.desktop;org.gnome.Loupe.desktop"; + "image/jpg" = "org.kde.gwenview.desktop;org.gnome.Loupe.desktop"; + "image/png" = "org.kde.gwenview.desktop;org.gnome.Loupe.desktop"; + "image/gif" = "org.kde.gwenview.desktop;org.gnome.Loupe.desktop"; + "image/bmp" = "org.kde.gwenview.desktop;org.gnome.Loupe.desktop"; + "image/avif" = "org.kde.gwenview.desktop;org.gnome.Loupe.desktop"; + "image/webp" = "org.kde.gwenview.desktop;org.gnome.Loupe.desktop"; # Audio: # music: elisa: fully featured, good cjk support diff --git a/nixcfgs/users/js0ny/programs/sops.nix b/nixcfgs/users/js0ny/programs/sops.nix index 377555a..a2b50f4 100644 --- a/nixcfgs/users/js0ny/programs/sops.nix +++ b/nixcfgs/users/js0ny/programs/sops.nix @@ -21,7 +21,7 @@ fishInit = builtins.concatStringsSep "\n" ( lib.mapAttrsToList (name: path: '' if test -r ${path} - set -gx ${name} (< ${path}) + set -gx "${name}" (cat "${path}") end '') secretPaths