{ config, pkgs, ... }: { imports = [ ./sway/default.nix ./emacs/default.nix ./browser/default.nix ./zathura/default.nix ./services/email/default.nix ]; home.packages = with pkgs; [ x2goclient libreoffice-fresh webcord signal-desktop teams-for-linux ]; services.syncthing.enable = true; programs = { mpv.enable = true; alacritty = { enable = true; settings = { shell = "${config.programs.fish.package}/bin/fish"; window = { dynamic_title = true; padding = { x = 5; y = 5; }; }; live_config_reload = true; selection.save_to_clipboard = true; mouse.hide_when_typing = true; }; }; }; xdg = { mime.enable = true; mimeApps = let defaultApplications = import ./mimeapps/default.nix; in { enable = true; inherit defaultApplications; associations = { added = defaultApplications; removed = { "x-scheme-handler/zoomus" = config.xdg.mimeApps.defaultApplications."x-scheme-handler/http"; }; }; }; userDirs = { enable = true; createDirectories = true; extraConfig = { XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects"; }; }; configFile = { "autostart/signal-desktop.desktop".source = "${pkgs.signal-desktop}/share/applications/signal-desktop.desktop"; "teams-for-linux/config.json".text = builtins.toJSON { awayOnSystemIdle = true; closeAppOnCross = true; followSystemTheme = true; notificationMethod = "electron"; optInTeamsV2 = true; spellCheckerLanguages = [ "en_GB" ]; }; }; }; }