diff --git a/system/Vanguard.nix b/system/Vanguard.nix index 78ac9a43..15ed0383 100644 --- a/system/Vanguard.nix +++ b/system/Vanguard.nix @@ -11,8 +11,6 @@ home = { stateVersion = "23.05"; packages = with pkgs; [ - krita - kdenlive helvum prusa-slicer blender diff --git a/system/desktop.nix b/system/desktop.nix index a83f53d7..a6aa168d 100644 --- a/system/desktop.nix +++ b/system/desktop.nix @@ -14,9 +14,9 @@ libsecret libnotify xdg-utils - xarchiver hunspell hunspellDicts.en_GB-large + gnome.nautilus ]; }; security = { @@ -34,16 +34,10 @@ dconf.enable = true; noisetorch.enable = true; seahorse.enable = true; + file-roller.enable = true; kdeconnect.enable = true; hyprland.enable = true; xwayland.enable = true; - thunar = { - enable = true; - plugins = with pkgs.xfce; [ - thunar-archive-plugin - thunar-volman - ]; - }; }; gtk.iconCache.enable = true; qt = { @@ -57,6 +51,7 @@ printing.enable = true; tumbler.enable = true; udisks2.enable = true; + gnome.sushi.enable = true; gvfs = { enable = true; package = pkgs.gnome3.gvfs; diff --git a/system/home/desktop/browser/nyxt.nix b/system/home/desktop/browser/nyxt.nix index 67e32453..b5cc2e4b 100644 --- a/system/home/desktop/browser/nyxt.nix +++ b/system/home/desktop/browser/nyxt.nix @@ -23,7 +23,7 @@ :on-primary-color "${scheme.withHashtag.base05}" :secondary-color "${scheme.withHashtag.base03}" :on-secondary-color "${scheme.withHashtag.base05}" - :accent-color "${scheme.withHashtag.base0D}" + :accent-color "${scheme.withHashtag.base0E}" :on-accent-color "${scheme.withHashtag.base01}" :action-color "${scheme.withHashtag.cyan}" :on-action-color "${scheme.withHashtag.base01}" diff --git a/system/home/desktop/default.nix b/system/home/desktop/default.nix index 3ebdde61..e6507836 100644 --- a/system/home/desktop/default.nix +++ b/system/home/desktop/default.nix @@ -7,9 +7,11 @@ ./terminal/default.nix ./emacs/default.nix ./browser/default.nix + ./zathura/default.nix ]; home.packages = with pkgs; [ wl-clipboard + remmina webcord signal-desktop whatsapp-for-linux diff --git a/system/home/desktop/hyprland.nix b/system/home/desktop/hyprland.nix index 6c95a196..24f6adfe 100644 --- a/system/home/desktop/hyprland.nix +++ b/system/home/desktop/hyprland.nix @@ -277,10 +277,9 @@ "center, title:Library,class:firefox" "pin, title:Picture-in-Picture,class:firefox" - # Thunar extra windows - "float, title:File Operation Progress,class:thunar" - "size 800 600, title:File Operation Progress,class:thunar" - "center, title:File Operation Progress,class:thunar" + # NautilusPreviewer (Sushi) + "float, class:org.gnome.NautilusPreviewer" + "center, class:org.gnome.NautilusPreviewer" # LibreOffice # "nofullscreenrequest, class:(libreoffice|soffice)(.*)" @@ -295,18 +294,11 @@ "float, title:Steam Settings,class:steam" "size 800 600, title:Steam Settings,class:steam" - # X2Go / Remmina / NoMachine - # "nofullscreenrequest, class:x2goclient|org.remmina.Remmina|Nxplayer.bin" - # "nomaximizerequest, class:x2goclient|org.remmina.Remmina|Nxplayer.bin" - "float, title:(X2Go Client|Freia|Heimdall), class:x2goclient" + # Remmina / NoMachine + # "nofullscreenrequest, class:org.remmina.Remmina|Nxplayer.bin" + # "nomaximizerequest, class:org.remmina.Remmina|Nxplayer.bin" "float, title:Remmina Remote Desktop Client, class:org.remmina.Remmina" - "float, title:(NoMachine)(.*), class:Nxplayer.bin" - "center, title:(X2Go Client|Freia|Heimdall), class:x2goclient" "center, title:Remmina Remote Desktop Client, class:org.remmina.Remmina" - "center, title:(NoMachine)(.*), class:Nxplayer.bin" - "size 800 600, title:X2Go Client, class:x2goclient" - "size 1920 1080, title:Freia|Heimdall, class:x2goclient" - "size 1920 1080, title:(NoMachine)(.*), class:Nxplayer.bin" ]; bind = let @@ -353,7 +345,7 @@ "SUPER, Return, exec, ${config.programs.alacritty.package}/bin/alacritty" "SUPER SHIFT, Return, exec, ${config.programs.emacs.finalPackage}/bin/emacsclient -c" "SUPER, W, exec, ${config.programs.firefox.package}/bin/firefox" - "SUPER, F, exec, ${pkgs.xfce.thunar}/bin/thunar" + "SUPER, F, exec, ${pkgs.gnome.nautilus}/bin/nautilus" # fuzzel binds "SUPER, Space, exec, ${config.programs.fuzzel.package}/bin/fuzzel" diff --git a/system/home/desktop/mimeapps/default.nix b/system/home/desktop/mimeapps/default.nix index 520fcc63..244ea861 100644 --- a/system/home/desktop/mimeapps/default.nix +++ b/system/home/desktop/mimeapps/default.nix @@ -3,6 +3,13 @@ let browser = [ "firefox.desktop" ]; in { + "inode/directory" = [ "org.gnome.Nautilus.desktop" ]; + "inode/symlink" = [ "org.gnome.Nautilus.desktop" ]; + + "image/jpeg" = [ "swayimg.desktop" ]; + "image/png" = [ "swayimg.desktop" ]; + "video/mp4" = [ "mpv.desktop" ]; + "text/plain" = emacs; "text/richtext" = emacs; "text/org" = emacs; @@ -34,14 +41,14 @@ in "application/rss+xml" = emacs; "application/xhtml+xml" = emacs; "application/oxps" = emacs; + "application/zip" = [ "org.gnome.FileRoller.desktop" ]; + "application/pdf" = [ "org.pwmt.zathura.desktop" ]; + "application/epub+zip" = [ "org.pwmt.zathura.desktop" ]; + "application/msword" = [ "writer.desktop" ]; "application/x-shellscript" = emacs; "application/x-docbook+xml" = emacs; "application/x-yaml" = emacs; - - "application/msword" = [ "writer.desktop" ]; - "application/zip" = [ "xarchiver.desktop" ]; - - "application/x-archive" = [ "xarchiver.desktop" ]; + "application/x-archive" = [ "org.gnome.FileRoller.desktop" ]; "application/x-extension-htm" = browser; "application/x-extension-html" = browser; "application/x-extension-shtml" = browser; diff --git a/system/home/desktop/waybar.nix b/system/home/desktop/waybar.nix index 833b24fb..121f1f3d 100644 --- a/system/home/desktop/waybar.nix +++ b/system/home/desktop/waybar.nix @@ -65,12 +65,12 @@ "swappy" = "󰹑 swappy"; "(btm)" = " Resource Usage [$1]"; "(cava)" = "󰝚 Music Visualiser [$1]"; - "(.*) - Thunar" = "󰝰 $1"; "Mozilla Firefox" = "󰈹 $1"; "(.*) — Mozilla Firefox" = "󰈹 $1"; "Nyxt - (.*)" = "󰀹 $1"; "(.*) - Chromium" = "󰊯 $1"; "(Signal.*)" = "󰭹 $1"; + "(WhatsApp for Linux.*)" = "󰖣 $1"; "((?:.*)WebCord.*)" = "󰙯 $1"; "(Cartridges.*)" = "󰊗 $1"; "([Ss]team.*)" = "󰓓 $1"; @@ -79,8 +79,8 @@ "(.*)(?: *)PrusaSlicer G-code Viewer-(.*)" = "󰹛 $1 G-code Viewer ($2)"; "FreeCAD (.*)" = "󰻬 FreeCAD $1"; "(.*) - Blender.* " = "󰂫 $1"; - "(X2Go Client)" = "󰢹 $1"; - "(NoMachine|Nxplayer.bin) (.*)" = "󰢹 $1 $2"; + "(Remmina Remote Desktop Client)" = "󰢹 $1"; + "(NoMachine|Nxplayer.bin)(?: *)(.*)" = "󰢹 $1 $2"; }; }; mpris = { @@ -307,7 +307,7 @@ tooltip { background: alpha(${scheme.base00}, ${alpha}); - border: 1px solid ${scheme.base0D}; + border: 1px solid ${scheme.base0E}; border-radius: 5px; box-shadow: none; } diff --git a/system/home/desktop/zathura/default.nix b/system/home/desktop/zathura/default.nix new file mode 100644 index 00000000..502f0e3d --- /dev/null +++ b/system/home/desktop/zathura/default.nix @@ -0,0 +1,15 @@ +{ ... }: +{ + # TODO add emacs keybinds + programs.zathura = { + enable = true; + options = { + adjust-open = "best-fit"; + database = "null"; + dbus-service = true; + sandbox = "normal"; + scroll-page-aware = true; + synctex = true; + }; + }; +} diff --git a/system/home/desktop/zathura/emacs-keys-for-zathura.txt b/system/home/desktop/zathura/emacs-keys-for-zathura.txt new file mode 100644 index 00000000..276da37a --- /dev/null +++ b/system/home/desktop/zathura/emacs-keys-for-zathura.txt @@ -0,0 +1,208 @@ +# Being an Emacs user, it is natural for me to use emacs-like and info-like keybindings for zathura. +# +# Zathura configuration documentation is available at +# https://git.pwmt.org/pwmt/zathura/-/blob/e5d2ca487147e79d0bb7acbf5174cd9dcc92a86c/doc/man/zathurarc.5.rst +# A full list of available functions and default keybindings is available at +# https://git.pwmt.org/pwmt/zathura/-/blob/e5d2ca487147e79d0bb7acbf5174cd9dcc92a86c/zathura/config.c#L301 +# +# If you want to integrate Zathura with Emacs AUCTeX mode, see +# [emacs wiki](https://www.emacswiki.org/emacs/AUCTeX). +# +# Put the following inside `$XDG_CONFIG_HOME/zathura/zathurarc + +## niceties +# when selecting text with mouse, +# copy to clipboard +set selection-clipboard clipboard + +# keep several lines of text when +# scrolling a screenful +set scroll-full-overlap 0.2 + +# see documentation for details +set scroll-page-aware true +set window-title-basename true +set adjust-open width +set statusbar-home-tilde true +set vertical-center true +set synctex true +# large bold font easier on the eyes in index mode +# status bar can be disabled with A-s +set font "FreeSans bold 16" +set zoom-step 3 + +map [normal] scroll left +map [normal] scroll down +map [normal] scroll up +map [normal] scroll right +map [normal] abort +map [insert] abort +map [normal] abort +map [normal] goto top +map [normal] > goto bottom +map [normal] a adjust_window best-fit +map [normal] s adjust_window width +map [normal] F display_link +map [normal] copy_link +map [normal] f follow +map [normal] m mark_add +map [normal] \' mark_evaluate +map [normal] \, navigate next +map [normal] \. navigate previous +map [normal] navigate next +map [normal] navigate previous +map [normal] scroll full-down +map [normal] scroll full-up +map [normal] print +map [normal] c recolor +map [normal] R reload +map [normal] v rotate rotate_cw +map [normal] V rotate rotate_ccw +map [normal] scroll left +map [normal] scroll up +map [normal] scroll down +map [normal] scroll right +map [normal] scroll half-left +map [normal] scroll half-down +map [normal] scroll half-up +map [normal] scroll half-right +map [normal] scroll full-left +map [normal] scroll full-down +map [normal] scroll full-down +map [normal] scroll full-up +map [normal] scroll full-right +map [normal] scroll full-down +map [normal] scroll full-up +map [normal] scroll full-up +map [normal] scroll full-up +map [normal] l jumplist backward +map [normal] r jumplist forward +map [normal] bisect forward +map [normal] bisect backward +# still need to use '/' to trigger search +map [normal] search forward +map [normal] search backward +map [normal] p snap_to_page +map [normal] toggle_index +map [normal] i toggle_index +map [normal] toggle_index +map [normal] toggle_statusbar +map [normal] focus_inputbar +map [normal] d toggle_page_mode +map [normal] q quit +map [normal] + zoom in +map [normal] - zoom out +map [normal] = zoom in +map [normal] toggle_presentation +map [normal] toggle_fullscreen +map [normal] j toggle_fullscreen +map [fullscreen] j toggle_fullscreen +map [fullscreen] q toggle_fullscreen +map [fullscreen] scroll left +map [fullscreen] scroll down +map [fullscreen] scroll up +map [fullscreen] scroll right +map [fullscreen] abort +map [fullscreen] abort +map [fullscreen] goto top +map [fullscreen] > goto bottom +map [fullscreen] a adjust_window best-fit +map [fullscreen] s adjust_window width +map [fullscreen] F display_link +map [fullscreen] copy_link +map [fullscreen] f follow +map [fullscreen] m mark_add +map [fullscreen] \' mark_evaluate +map [fullscreen] \, navigate next +map [fullscreen] \. navigate previous +map [fullscreen] navigate next +map [fullscreen] navigate previous +map [fullscreen] scroll full-down +map [fullscreen] scroll full-up +map [fullscreen] print +map [fullscreen] c recolor +map [fullscreen] R reload +map [fullscreen] v rotate rotate_cw +map [fullscreen] V rotate rotate_ccw +map [fullscreen] scroll left +map [fullscreen] scroll up +map [fullscreen] scroll down +map [fullscreen] scroll right +map [fullscreen] scroll half-left +map [fullscreen] scroll half-down +map [fullscreen] scroll half-up +map [fullscreen] scroll half-right +map [fullscreen] scroll full-left +map [fullscreen] scroll full-down +map [fullscreen] scroll full-down +map [fullscreen] scroll full-up +map [fullscreen] scroll full-right +map [fullscreen] scroll full-down +map [fullscreen] scroll full-up +map [fullscreen] scroll full-up +map [fullscreen] scroll full-up +map [fullscreen] l jumplist backward +map [fullscreen] r jumplist forward +map [fullscreen] bisect forward +map [fullscreen] bisect backward +map [fullscreen] search forward +map [fullscreen] search backward +map [fullscreen] p snap_to_page +map [fullscreen] i toggle_index +map [fullscreen] toggle_index +map [fullscreen] toggle_index +map [fullscreen] toggle_statusbar +map [fullscreen] focus_inputbar +map [fullscreen] d toggle_page_mode +map [fullscreen] + zoom in +map [fullscreen] - zoom out +map [fullscreen] = zoom in +# status bar will obscure last item in index mode +map [index] toggle_statusbar +map [index] q toggle_index +map [index] i toggle_index +map [index] navigate_index up +map [index] navigate_index up +map [index] navigate_index up +map [index] navigate_index down +map [index] navigate_index up +map [index] navigate_index down +map [index] \< navigate_index top +map [index] \> navigate_index bottom +map [index] navigate_index top +map [index] > navigate_index bottom +map [index] navigate_index collapse +map [index] navigate_index expand +map [index] navigate_index expand-all +map [index] navigate_index collapse-all +map [index] navigate_index up +map [index] navigate_index down +map [index] navigate_index collapse +map [index] navigate_index expand +map [index] navigate_index select +map [index] navigate_index select +map [index] navigate_index select +map [index] navigate_index select +map [index] toggle_index +map [index] toggle_index +map [index] toggle_index +map [index] toggle_index +map [presentation] i toggle_index +map [presentation] r navigate next +map [presentation] navigate next +map [presentation] navigate next +map [presentation] navigate next +map [presentation] navigate next +map [presentation] l navigate previous +map [presentation] navigate previous +map [presentation] navigate previous +map [presentation] navigate previous +map [presentation] navigate previous +map [presentation] navigate previous +map [presentation] toggle_presentation +map [presentation] q toggle_presentation +map [presentation] navigate previous +map [presentation] navigate previous +map [presentation] navigate next +map [presentation] goto top +map [presentation] > goto bottom