{ pkgs, inputs, config, lib, osConfig ? null, ... }: with lib; { imports = [ ./alacritty.nix ./autostart.nix # ./kde.nix ./librewolf.nix ./mpv.nix ./qutebrowser.nix ./services.nix ./sway.nix ./terminals.nix ./gnome-calendar.nix ]; config = mkIf (osConfig != null && osConfig ? roles && osConfig.roles ? gui && osConfig.roles.gui.enable) { fonts = { fontconfig = { enable = true; }; }; nixpkgs.config.allowUnfree = true; nixpkgs.overlays = [ (final: prev: { qutebrowser = prev.qutebrowser.override { enableWideVine = true; }; }) ]; home.packages = with pkgs; [ # cura # poweralertd # prusa-slicer inputs.bzmenu.packages.${pkgs.stdenv.hostPlatform.system}.default at-spi2-core blueman calibre clipman darktable # element-desktop gnumeric headset-charge-indicator ibm-plex imv jellyfin-media-player # kdePackages.kwallet # kdePackages.kwallet-pam libappindicator libnotify libreoffice-fresh neovim-qt networkmanagerapplet nextcloud-client nvd obsidian overpass pavucontrol pwvucontrol qpwgraph # quickemu # quickgui qutebrowser shikane # signal-desktop simple-scan # syncthingtray systemd-lock-handler # telegram-desktop texlive.combined.scheme-medium # watchmate wlsunset # 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;}; }; }; }