dots/home.nix
2026-01-07 14:57:56 +02:00

154 lines
3.2 KiB
Nix

{ config, pkgs, inputs, ... }:
{
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
home.username = "xory";
home.homeDirectory = "/home/xory";
home.packages = with pkgs; [
neovim
fastfetch
git
cava
kdePackages.qtwebsockets
(python313.withPackages (python-pkgs: [
python313Packages.websockets
python313Packages.requests # basic python test env
]))
simplex-chat-desktop
qbittorrent
ffmpeg
yt-dlp
prismlauncher
keepassxc
(wrapOBS {
plugins = with pkgs.obs-studio-plugins; [
obs-vaapi
obs-gstreamer
obs-vkcapture
wlrobs
obs-pipewire-audio-capture
];
})
mpv
kdePackages.kdenlive
gimp
inkscape
krita
distrobox
screen
arduino-ide
(lutris.override {
extraLibraries = pkgs: [
wineWowPackages.stable
winetricks
];
})
libadwaita # fucking winetricks
zenity
woeusb-ng
ntfs3g
hyprpaper
hyprsunset
grim
slurp
input-leap
viber
hyprpolkitagent
pulsemixer
feh
opentrack
aitrack
progress
croc
libarchive
];
home.file = {
".config/nvim/init.lua" = {
enable = true;
source = ./config/nvim/init.lua;
};
".config/hypr" = {
enable = true;
recursive = true;
source = ./config/hypr;
};
".config/waybar" = {
enable = true;
recursive = true;
source = ./config/waybar;
};
".config/wofi" = {
enable = true;
recursive = true;
source = ./config/wofi;
};
};
programs.zsh = {
enable = true;
enableCompletion = true;
shellAliases = {
"rebuild" = "sudo nixos-rebuild switch --flake ~/dots";
"spotify" = "${pkgs.firejail}/bin/firejail ${config.programs.spicetify.spicedSpotify}/bin/spotify";
};
syntaxHighlighting.enable = true;
initContent = ''
eval "$(direnv hook zsh)"
'';
};
programs.starship.enable = true;
programs.kitty = {
enable = true;
themeFile = "Catppuccin-Mocha";
font = {
name = "Inconsolata Nerd Font";
package = pkgs.nerd-fonts.inconsolata;
};
settings.background_opacity = 0.95;
settings.window_padding_width = 5;
};
programs.spicetify =
let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in
{
enable = true;
theme = spicePkgs.themes.catppuccin;
colorScheme = "mocha";
enabledExtensions = with spicePkgs.extensions; [
hidePodcasts
shuffle
betterGenres
beautifulLyrics
];
enabledCustomApps = with spicePkgs.apps; [
newReleases
ncsVisualizer
];
};
# firejail
xdg.desktopEntries.spotify = {
name = "Spotify";
genericName = "Music Player";
icon = "spotify-client";
exec = "${pkgs.firejail}/bin/firejail ${config.programs.spicetify.spicedSpotify}/bin/spotify %U";
terminal = false;
categories = [ "Audio" "Music" "Player" "AudioVideo" ];
mimeType = [ "x-scheme-handler/spotify" ];
};
wayland.windowManager.hyprland.enable = true;
programs.waybar.enable = true;
programs.wofi.enable = true;
services.dunst.enable = true;
home.stateVersion = "25.05";
}