dotfiles-nix/nix/home/default.nix

173 lines
3.4 KiB
Nix

{ 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;
home.packages = with pkgs; [
# nix
home-manager
# c / c++
clang-tools
gcc
gnumake
nasm
pkg-config
# rust
rustc
rustfmt
rust-analyzer
cargo
clippy
# zig
zig
zls
# android
android-tools
scrcpy
# gtk
adwaita-icon-theme
orchis-theme
# media
ffmpeg
libaacs
libavif
libbluray
libjxl
# wayland
cage
grimblast
wl-clipboard
wl-clip-persist
wl-mirror
# gaming
prismlauncher
winetricks
wineWowPackages.staging
# social
discord
element-desktop
gajim
# vrchat
unityhub
vrc-get
# rendering
freealut
glfw
glm
openal
shaderc
stb
vulkan-headers
vulkan-loader
vulkan-tools
vulkan-validation-layers
# programs
blueman
brightnessctl
easyeffects
fd
filezilla
gimp
grub2
imagemagick
imv
jq
libisoburn
libnotify
libreoffice-fresh
mpv
pavucontrol
pfetch-rs
python3
qbittorrent
qemu
rsync
sassc
sl
starship
thunderbird-latest
vlc
yt-dlp
zathura
];
xdg.configFile = {
"aacs/keydb.cfg" = {
source = ../../files/keys/bluray.cfg;
};
};
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;
};
}