{ config, pkgs, inputs, ... }: { imports = [ inputs.home-manager.nixosModules.home-manager ]; 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; [ # nix home-manager # c / c++ clang-tools gcc gnumake nasm pkg-config # rust rustc rustfmt rust-analyzer cargo clippy # android scrcpy android-tools # gtk adwaita-icon-theme orchis-theme # wayland cage grimblast wl-clipboard wl-clip-persist wl-mirror # gaming prismlauncher winetricks wineWowPackages.staging # social discord element-desktop gajim # vrchat blender unityhub vrc-get # rendering freealut glfw glm openal shaderc stb vulkan-headers vulkan-loader vulkan-tools vulkan-validation-layers # programs blueman brightnessctl easyeffects fd gimp grub2 imagemagick imv jq libisoburn libnotify libreoffice-fresh mpv pavucontrol pfetch-rs python3 qemu rsync starship thunderbird yt-dlp zathura ]; 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; }; }