{ config, lib, pkgs, accentColourName, ... }: { imports = [./alacritty/default.nix]; home = { pointerCursor = let name = if config.scheme.variant == "light" then "volantes_cursors" else "volantes_light_cursors"; in { inherit name; package = pkgs.volantes-cursors; size = 32; gtk.enable = true; x11 = { enable = true; defaultCursor = name; }; }; packages = with pkgs; [ libreoffice-fresh inkscape webcord teams-for-linux ]; }; services.syncthing.enable = true; programs.mpv.enable = true; gtk = let extraCss = import ./base16/gtk.nix { inherit (config) scheme; inherit accentColourName; }; toCapital = string: with lib; let chars = let lc = strings.splitString "" string; in (lists.sublist 1 (lists.length lc - 2) lc); in ( strings.concatStringsSep "" ( (lists.singleton (strings.toUpper (lists.elemAt chars 0))) ++ (lists.sublist 1 (lists.length chars) chars) ) ); in { enable = true; gtk3 = {inherit extraCss;}; gtk4 = {inherit extraCss;}; theme = { package = pkgs.materia-theme; name = "Materia-${config.scheme.variant}"; }; iconTheme = let color = "violet"; in { package = pkgs.papirus-icon-theme.override {inherit color;}; name = "Papirus-${toCapital config.scheme.variant}"; }; }; xdg = { mime.enable = true; mimeApps = let defaultApplications = import ./mimeapps.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."teams-for-linux/config.json".text = builtins.toJSON { awayOnSystemIdle = true; closeAppOnCross = true; followSystemTheme = true; electronCLIFlags = lib.mkIf config.wayland.windowManager.sway.enable [["ozone-platform" "wayland"]]; notificationMethod = "electron"; optInTeamsV2 = true; spellCheckerLanguages = ["en_GB"]; }; }; xresources.properties = with config.scheme.withHashtag; { "*background" = base00; "*foreground" = base05; "*color0" = base00; "*color1" = red; "*color2" = green; "*color3" = yellow; "*color4" = blue; "*color5" = magenta; "*color6" = cyan; "*color7" = base04; "*color8" = base01; "*color9" = red; "*color10" = green; "*color11" = yellow; "*color12" = blue; "*color13" = magenta; "*color14" = cyan; "*color15" = base05; }; }