nixconf/home-manager/home.nix

118 lines
3 KiB
Nix

{
config,
pkgs,
lib,
inputs,
...
}: {
home.username = "blue";
home.homeDirectory = "/home/blue";
imports = [
./hyprland.nix
./waybar.nix
./swaync.nix
./hyprlock.nix
./zsh.nix
./eza.nix
./nvf.nix
./nextcloud.nix
./git.nix
./stylix.nix
./direnv.nix
./firefox.nix
./zellij.nix
];
# States home manager version that config was originally compatible with, do not change without reading all patch notes since this version and altering as needed
home.stateVersion = "24.05";
# services.pass-secret-service.enable = true; # for use with protonmail-bridge
services.gnome-keyring.enable = true; # used for protonmail-bridge and nextcloud-client
# General use home packages that dont require a separate module
home.packages = with pkgs; [
grimblast # Screenshot tool
powerline-fonts # Fonts
nix-output-monitor # Provides a dependency graph for nix builds
bitwarden-desktop # Integrates with bitwarden extension
wofi # Wayland app launcher
nvtopPackages.amd # GPU monitor, more detailed than BTOP-rocm
signal-desktop # Signal messenger client
nautilus # File manager (move to option maybe)
element-desktop # Matrix client
stable.jetbrains.idea-community # IDE
reaper # Paid DAW, using free trial
telegram-desktop # Telegram messenger client
pavucontrol # Useful audio control GUI
stable.prismlauncher
calf
zam-plugins
lsp-plugins
ardour
gimp3
];
services.flatpak.packages = [
"io.mrarm.mcpelauncher" # Minecraft bedrock edition launcher
];
home.sessionVariables = {
DEFAULT_BROWSER = "${lib.getExe pkgs.firefox}";
# Allow XWayland apps to not be weird after turning off xwayland scaling in hyprland.conf
GDK_SCALE = 1;
XCURSOR_SIZE = 24;
# Set default editor
EDITOR = "nvim";
NIXOS_OZONE_WL = 1;
LD_LIBRARY_PATH = "${pkgs.libGL}/lib:${pkgs.gtk3}/lib:${pkgs.glib.out}/lib:${pkgs.xorg.libXtst}/lib";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
programs.tmux.enable = true;
programs.btop.enable = true;
programs.btop.package = pkgs.stable.btop-rocm;
# Add support for bluetooth headset media controls
services.mpris-proxy.enable = true;
programs.alacritty = {
enable = true;
package = pkgs.alacritty;
settings = {
window.dimensions = {
lines = 3;
columns = 200;
};
# font.normal = {
# family = "hack";
# };
# keyboard.bindings = [
# {
# key = "K";
# mods = "Control";
# chars = "\\u000c";
# }
# ];
};
};
# programs.hyprpaper = {
# enable = true;
# settings = {
# ipc = "on";
# splash = false;
# splash_offset = 2.0;
# preload = [ "~/Pictures/wallpaper.png" ];
# wallpaper = [
# ",~/Pictures/wallpaper.png"
# ];
# };
# };
services.blueman-applet.enable = true;
}