dotfiles-nix/nix/home/default.nix
2025-01-23 22:59:32 -05:00

123 lines
2.7 KiB
Nix

{ 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;
};
}