diff --git a/home-modules/default.nix b/home-modules/default.nix index 1568a21..da43a63 100644 --- a/home-modules/default.nix +++ b/home-modules/default.nix @@ -25,6 +25,7 @@ rec { xinitrc = import ./xinitrc.nix; xresources = import ./xresources.nix; yazi = import ./yazi.nix; + zathura = import ./zathura.nix; zsh = import ./zsh.nix; default-modules = [ @@ -52,6 +53,7 @@ rec { xinitrc xresources yazi + zathura zsh ]; } diff --git a/home-modules/xdg.nix b/home-modules/xdg.nix index ab437b8..cc7352b 100644 --- a/home-modules/xdg.nix +++ b/home-modules/xdg.nix @@ -5,6 +5,7 @@ }: { xdg = { enable = true; + userDirs = { enable = true; desktop = "/home/${user}"; @@ -17,16 +18,54 @@ videos = "/home/${user}/videos"; }; - desktopEntries."transmission-magnet" = { - name = "Transmission add torrent"; - exec = ''add-torrent %u''; - mimeType = ["x-scheme-handler/magnet"]; + desktopEntries = { + "transmission-magnet" = { + name = "Transmission add torrent"; + exec = ''add-torrent %u''; + mimeType = ["x-scheme-handler/magnet"]; + }; + + "nsxiv" = { + name = "nsxiv"; + exec = ''${pkgs.nsxiv}/bin/nsxiv -a %F''; + mimeType = ["image/gif"]; + }; }; - desktopEntries."nsxiv" = { - name = "nsxiv"; - exec = ''${pkgs.nsxiv}/bin/nsxiv -a %F''; - mimeType = ["image/gif"]; + mimeApps = { + enable = true; + defaultApplications = let + file-manager = "pcmanfm.desktop"; + editor = "nvim.desktop"; + browser = "firefox.desktop"; + video-player = "mpv.desktop"; + image-viewer = "imv-dir.desktop"; + in { + "application/pdf" = ["org.pwmt.zathura-pdf-mupdf.desktop"]; + "image/gif" = ["nsxiv.desktop"]; + "image/jpeg" = [image-viewer]; + "image/png" = [image-viewer]; + "image/webp" = [image-viewer]; + "inode/directory" = [file-manager]; + "text/csv" = [editor]; + "text/html" = [browser]; + "text/plain" = [editor]; + "video/mp4" = [video-player]; + "video/webm" = [video-player]; + "video/x-matroska" = [video-player]; + "x-scheme-handler/http" = [browser]; + "x-scheme-handler/https" = [browser]; + "x-scheme-handler/chrome" = [browser]; + "application/x-extension-htm" = [browser]; + "application/x-extension-html" = [browser]; + "application/x-extension-shtml" = [browser]; + "application/xhtml+xml" = [browser]; + "application/x-extension-xhtml" = [browser]; + "application/x-extension-xht" = [browser]; + "x-scheme-handler/magnet" = ["transmission-magnet.desktop"]; + "x-scheme-handler/prusaslicer" = ["PrusaSlicerURLProtocol.desktop"]; + "x-scheme-handler/nxm" = ["modorganizer2-nxm-handler.desktop"]; + }; }; }; } diff --git a/home-modules/xmonad/xmonad.hs b/home-modules/xmonad/xmonad.hs index ab4b55c..5156e01 100644 --- a/home-modules/xmonad/xmonad.hs +++ b/home-modules/xmonad/xmonad.hs @@ -208,12 +208,14 @@ myLayout = avoidStruts (ResizableThreeCol 1 (3 / 100) (1 / 2) [] ||| Grid) outerGap = 0 +border = 10 + myLayoutHook = spacingRaw False - (Border 10 10 10 10) + (Border border border border border) True - (Border 10 10 10 10) + (Border border border border border) True $ smartBorders myLayout diff --git a/home-modules/yazi.nix b/home-modules/yazi.nix index 715a19e..6888f61 100644 --- a/home-modules/yazi.nix +++ b/home-modules/yazi.nix @@ -2,5 +2,16 @@ programs.yazi = { enable = true; enableZshIntegration = true; + settings = { + opener = { + open = [ + { + run = "xdg-open \"$@\""; + orphan = true; + desc = "Open"; + } + ]; + }; + }; }; } diff --git a/home-modules/zathura.nix b/home-modules/zathura.nix new file mode 100644 index 0000000..1241fc8 --- /dev/null +++ b/home-modules/zathura.nix @@ -0,0 +1,58 @@ +{ + programs.zathura = { + enable = true; + options = let + invisible = "rgba(0, 0, 0, 0.0)"; + background-transparent = "rgba(16, 17, 22, 0.8)"; + background = "rgba(40, 42, 54, 1)"; + foreground = "rgba(248, 248, 242, 1)"; + red = "rgba(255, 85, 85, 1)"; + orange = "rgba(255, 184, 108, 1)"; + selection = "rgba(68, 71, 90, 1)"; + comment = "rgba(98, 114, 164, 1)"; + pink = "rgba(255, 121, 198, 0.5)"; + in { + default-bg = background-transparent; + default-fg = foreground; + + notification-error-bg = red; + notification-error-fg = foreground; + notification-warning-bg = orange; + notification-warning-fg = selection; + notification-bg = background; + notification-fg = foreground; + + completion-bg = background; + completion-fg = comment; + completion-group-bg = background; + completion-group-fg = comment; + completion-highlight-bg = selection; + completion-highlight-fg = foreground; + + index-bg = background; + index-fg = foreground; + index-active-bg = selection; + index-active-fg = foreground; + + inputbar-bg = background; + inputbar-fg = foreground; + + statusbar-bg = background; + statusbar-fg = foreground; + + highlight-color = orange; + highlight-active-color = pink; + + render-loading = true; + render-loading-fg = background; + render-loading-bg = foreground; + + recolor = true; + recolor-lightcolor = invisible; + recolor-darkcolor = foreground; + + window-title-basename = true; + selection-clipboard = "clipboard"; + }; + }; +} diff --git a/modules/gui.nix b/modules/gui.nix index b8d1dd2..1192b33 100644 --- a/modules/gui.nix +++ b/modules/gui.nix @@ -10,40 +10,6 @@ config.common.default = "*"; }; - xdg.mime = { - enable = true; - defaultApplications = let - file-manager = "pcmanfm.desktop"; - editor = "nvim.desktop"; - browser = "firefox.desktop"; - video-player = "mpv.desktop"; - image-viewer = "imv-dir.desktop"; - in { - "application/pdf" = ["org.pwmt.zathura-pdf-mupdf.desktop"]; - "image/gif" = ["nsxiv.desktop"]; - "image/jpeg" = [image-viewer]; - "image/png" = [image-viewer]; - "image/webp" = [image-viewer]; - "inode/directory" = [file-manager]; - "text/csv" = [editor]; - "text/html" = [browser]; - "text/plain" = [editor]; - "video/mp4" = [video-player]; - "video/webm" = [video-player]; - "video/x-matroska" = [video-player]; - "x-scheme-handler/http" = [browser]; - "x-scheme-handler/https" = [browser]; - "x-scheme-handler/chrome" = [browser]; - "application/x-extension-htm" = [browser]; - "application/x-extension-html" = [browser]; - "application/x-extension-shtml" = [browser]; - "application/xhtml+xml" = [browser]; - "application/x-extension-xhtml" = [browser]; - "application/x-extension-xht" = [browser]; - "x-scheme-handler/magnet" = ["transmission-magnet.desktop"]; - }; - }; - # login automatically to my user # this is fine because the hard drive is encrypted anyway services.getty = {