{ config, pkgs, homeDirectory, ... }: let mkln = x: config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.local/nixos/user/${x}"; in { xdg.configFile.alacritty.source = mkln "config/alacritty"; xdg.configFile.awesome.source = mkln "config/awesome"; xdg.configFile.bash.source = mkln "config/bash"; xdg.configFile.fcitx5.source = config/fcitx5; xdg.configFile.fontconfig.source = config/fontconfig; xdg.configFile."gdb/gdbinit.py".source = config/gdb/gdbinit.py; xdg.configFile."gdb/gdbinit".text = '' source ${pkgs.pwndbg}/share/pwndbg/gdbinit.py source ~/.config/gdb/gdbinit.py ''; xdg.configFile.git.source = config/git; xdg.configFile.lsd.source = config/lsd; xdg.configFile.picom.source = config/picom; xdg.configFile.python.source = config/python; xdg.configFile.qt5ct.source = config/qt5ct; xdg.configFile.readline.source = config/readline; xdg.configFile."starship.toml".source = config/starship.toml; xdg.configFile.sx.source = mkln "config/sx"; xdg.configFile."tmux/tmux.conf".text = (builtins.readFile config/tmux/tmux.conf) + '' run ${pkgs.tmuxPlugins.vim-tmux-navigator.rtp} run ${pkgs.tmuxPlugins.sessionist.rtp} ''; fonts.fontconfig.enable = false; gtk.gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; xdg.dataFile."bell.wav".source = share/bell.wav; xdg.dataFile."wallpaper.png".source = share/wallpaper.png; xdg.dataFile."recently-used.xbel".text = ""; xdg.dataFile."RecentDocuments".text = ""; xdg.mimeApps.enable = true; xdg.mimeApps.defaultApplications = let image = "nsxiv.desktop"; browser = "firefox.desktop"; text = "nvim.desktop"; media = "mpv.desktop"; in { "image/jpeg" = image; "image/png" = image; "image/gif" = media; "audio/mpeg" = media; "audio/ogg" = media; "audio/vorbis" = media; "audio/x-vorbis+ogg" = media; "video/mp4" = media; "video/mpeg" = media; "text/plain" = text; "application/xml" = text; }; xdg.portal = { enable = true; configPackages = [ pkgs.libsForQt5.xdg-desktop-portal-kde ]; extraPortals = [ pkgs.libsForQt5.xdg-desktop-portal-kde ]; config.common.default = "kde"; }; }