{ pkgs, inputs, config, lib, ... }: with lib; let cfg = config.roles.gui; in { options.roles.gui = { enable = mkEnableOption "roles gui"; }; config = mkIf cfg.enable { home-manager.users.don = { imports = [ ./alacritty.nix ./autostart.nix # ./fuzzel.nix # ./kde.nix ./mpv.nix ./redshift.nix ./qutebrowser.nix ./services.nix ./sway.nix ./terminals.nix ]; fonts = { fontconfig = { enable = true; }; }; nixpkgs.overlays = [ (final: prev: { qutebrowser = prev.qutebrowser.override { enableWideVine = true; }; }) ]; home.packages = with pkgs; [ # cura # poweralertd # prusa-slicer # thunderbird inputs.bzmenu.packages.${pkgs.system}.default at-spi2-core blueberry calibre clipman darktable element-desktop firefox gnumeric headset-charge-indicator ibm-plex imv jellyfin-media-player libappindicator libnotify libreoffice-fresh libsForQt5.kwallet neovim-qt networkmanagerapplet nextcloud-client nvd obsidian overpass pasystray pavucontrol pwvucontrol qpwgraph # quickemu # quickgui qutebrowser shikane signal-desktop simple-scan syncthingtray systemd-lock-handler telegram-desktop texlive.combined.scheme-medium # watchmate widevine-cdm yt-dlp ] ++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") feishin; # ] ++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") sonixd; xdg = { mimeApps = { enable = true; associations.added = { "application/octet-stream" = [ "nvim-qt.desktop" ]; "application/pdf" = [ "org.pwmt.zathura-pdf-mupdf.desktop;qpdfview.desktop;org.gnome.Evince.desktop" ]; "image/jpeg" = [ "imv.desktop;darktable.desktop;gimp.desktop" ]; "image/png" = [ "imv.desktop;darktable.desktop;gimp.desktop" ]; "image/x-adobe-dng" = [ "imv.desktop" ]; "inode/directory" = [ "thunar.desktop" ]; "text/plain" = [ "nvim-qt.desktop" ]; "x-scheme-handler/pdf" = [ "org.pwmt.zathura-pdf-mupdf.desktop;qpdfview.desktop;org.gnome.Evince.desktop" ]; }; defaultApplications = { "inode/directory" = [ "thunar.desktop" ]; "text/html" = [ "org.qutebrowser.qutebrowser.desktop" ]; "x-scheme-handler/about" = [ "org.qutebrowser.qutebrowser.desktop" ]; "x-scheme-handler/http" = [ "org.qutebrowser.qutebrowser.desktop" ]; "x-scheme-handler/https" = [ "org.qutebrowser.qutebrowser.desktop" ]; "x-scheme-handler/pdf" = [ "myweb.desktop" ]; "x-scheme-handler/unknown" = [ "org.qutebrowser.qutebrowser.desktop" ]; "application/pdf" = [ "org.pwmt.zathura-pdf-mupdf.desktop" ]; "x-scheme-handler/mailto" = [ "neomutt.desktop" ]; }; }; desktopEntries = { mealplanning = { terminal = false; name = "Meal Planning"; exec = "/home/don/bin/meal-planning"; icon = "chrome-nkapoddcoleikgbpncmpcfkdjmheccge-Default"; }; neomutt = { terminal = false; name = "Neomutt"; exec = "/home/don/.local/share/qutebrowser/userscripts/mymail"; icon = "email"; }; muttmailto = { terminal = false; name = "mutt-mailto"; exec = "/home/don/bin/mutt-mailto"; icon = "chrome-kmhopmchchfpfdcdjodmpfaaphdclmlj-Default"; }; myweb = { terminal = false; name = "myweb"; exec = "/home/don/bin/myweb %u"; mimeType = [ "x-scheme-handler/pdf" ]; }; cooking-notebook = { type = "Application"; name = "Cooking Notebook"; icon = "obsidian"; exec = "/home/don/bin/cooking-notebook"; }; mynotes = { name = "My Notes"; exec = "/home/don/bin/mynotes"; terminal = false; type = "Application"; icon = "obsidian"; comment = "Obsidian"; mimeType = [ "x-scheme-handler/obsidian" ]; categories = [ "Office" ]; }; journal = { name = "Journal"; exec = "/home/don/bin/newjournal"; terminal = false; type = "Application"; icon = "obsidian"; comment = "Obsidian Journal"; mimeType = [ "x-scheme-handler/obsidian" ]; categories = [ "Office" ]; }; }; configFile = { "shikane/config.toml".source = files/shikane.toml; }; }; }; }; }