{ config, pkgs, ... }: { home-manager.users.${config.user} = { home.username = config.user; home.homeDirectory = config.homePath; news.display = "silent"; fonts.fontconfig.enable = true; nixpkgs.config.allowUnfree = true; home.packages = with pkgs; [ # c / c++ gcc nasm pkg-config # rust rustc rustfmt rust-analyzer cargo clippy # programs adwaita-icon-theme android-tools blueman cage easyeffects discord element-desktop fd gamescope gajim gimp home-manager imagemagick imv libnotify mpv pavucontrol pfetch-rs rsync scrcpy starship steam thunderbird unityhub vrc-get wine wl-clipboard wl-clip-persist wl-mirror yt-dlp zathura # gtk orchis-theme ]; xdg.dataFile = { fonts = { source = ../../files/fonts; recursive = true; }; }; xdg.mimeApps = { enable = true; defaultApplications = { # web "text/html" = "firefox.desktop"; "x-scheme-handler/http" = "firefox.desktop"; "x-scheme-handler/https" = "firefox.desktop"; "x-scheme-handler/about" = "firefox.desktop"; "x-scheme-handler/unknown" = "firefox.desktop"; # images "image/png" = "imv.desktop"; "image/jpeg" = "imv.desktop"; "image/webp" = "imv.desktop"; "image/tga" = "imv.desktop"; "image/bmp" = "imv.desktop"; "image/gif" = "imv.desktop"; # audio video "video/mp4" = "mpv.desktop"; "video/x-msvideo" = "mpv.desktop"; "video/mkv" = "mpv.desktop"; "video/webm" = "mpv.desktop"; "audio/mp3" = "mpv.desktop"; "audio/wav" = "mpv.desktop"; # other "application/pdf" = "org.pwmt.zathura.desktop"; "x-scheme-handler/mspa" = "unofficial-homestuck-collection.desktop"; "x-scheme-handler/discord" = "discord.desktop"; }; }; xdg.userDirs = { enable = true; createDirectories = false; desktop = "${config.homePath}/desktop"; documents = "${config.homePath}/documents"; download = "${config.homePath}/downloads"; music = "${config.homePath}/music"; pictures = "${config.homePath}/pictures"; publicShare = "${config.homePath}"; templates = "${config.homePath}"; videos = "${config.homePath}/videos"; }; gtk = { enable = true; gtk3.extraConfig.gtk-application-prefer-dark-theme = 1; }; programs.home-manager.enable = true; }; }