{ pkgs, username, host, ... }: let inherit (import ./variables.nix) gitUsername gitEmail; in { # Home Manager Settings home.username = "${username}"; home.homeDirectory = "/home/${username}"; home.stateVersion = "23.11"; # Import Program Configurations imports = [ ../../config/emoji.nix ../../config/hyprland.nix ../../config/neovim.nix ../../config/rofi/rofi.nix ../../config/rofi/config-emoji.nix ../../config/rofi/config-long.nix ../../config/swaync.nix ../../config/waybar.nix ../../config/wlogout.nix ]; # Place Files Inside Home Directory home.file."Pictures/Wallpapers" = { source = ../../config/wallpapers; recursive = true; }; home.file.".config/fastfetch" = { source = ../../config/fastfetch; recursive = true; }; home.file.".config/wlogout/icons" = { source = ../../config/wlogout; recursive = true; }; home.file.".face.icon".source = ../../config/face.jpg; home.file.".config/face.jpg".source = ../../config/face.jpg; home.file.".config/swappy/config".text = '' [Default] save_dir=/home/${username}/Pictures/Screenshots save_filename_format=swappy-%Y%m%d-%H%M%S.png show_panel=false line_size=5 text_size=20 text_font=Ubuntu paint_mode=brush early_exit=true fill_shape=false ''; # Install & Configure Git programs.git = { enable = true; userName = "${gitUsername}"; userEmail = "${gitEmail}"; }; # Create XDG Dirs xdg = { userDirs = { enable = true; createDirectories = true; }; }; dconf.settings = { "org/virt-manager/virt-manager/connections" = { autoconnect = [ "qemu:///system" ]; uris = [ "qemu:///system" ]; }; }; # Styling Options stylix.targets.waybar.enable = false; stylix.targets.rofi.enable = false; gtk = { iconTheme = { name = "Papirus-Dark"; package = pkgs.papirus-icon-theme; }; gtk3.extraConfig = { gtk-application-prefer-dark-theme = 1; }; gtk4.extraConfig = { gtk-application-prefer-dark-theme = 1; }; }; qt = { enable = true; style.name = "adwaita-dark"; platformTheme.name = "gtk3"; }; # Scripts home.packages = [ (import ../../scripts/emopicker9000.nix { inherit pkgs; }) (import ../../scripts/task-waybar.nix { inherit pkgs; }) (import ../../scripts/squirtle.nix { inherit pkgs; }) (import ../../scripts/nvidia-offload.nix { inherit pkgs; }) (import ../../scripts/wallsetter.nix { inherit pkgs; inherit username; }) (import ../../scripts/web-search.nix { inherit pkgs; }) (import ../../scripts/rofi-launcher.nix { inherit pkgs; }) (import ../../scripts/screenshootin.nix { inherit pkgs; }) (import ../../scripts/list-hypr-bindings.nix { inherit pkgs; inherit host; }) ]; services = { hypridle = { settings = { general = { after_sleep_cmd = "hyprctl dispatch dpms on"; ignore_dbus_inhibit = false; lock_cmd = "hyprlock"; starship = { enable = true; package = pkgs.starship; }; }; listener = [ { timeout = 900; on-timeout = "hyprlock"; } { timeout = 1200; on-timeout = "hyprctl dispatch dpms off"; on-resume = "hyprctl dispatch dpms on"; } ]; }; }; }; programs = { gh.enable = true; kitty = { enable = true; package = pkgs.kitty; settings = { scrollback_lines = 2000; wheel_scroll_min_lines = 1; window_padding_width = 4; confirm_os_window_close = 0; }; extraConfig = '' tab_bar_style fade tab_fade 1 active_tab_font_style bold inactive_tab_font_style bold ''; }; bash = { enable = true; enableCompletion = true; profileExtra = '' #if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then # exec Hyprland #fi ''; initExtra = '' fastfetch if [ -f $HOME/.bashrc-personal ]; then source $HOME/.bashrc-personal fi ''; shellAliases = { sv = "sudo nvim"; fr = "nh os switch --hostname ${host} /home/${username}/zaneyos"; fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos"; zu = "sh <(curl -L https://gitlab.com/Zaney/zaneyos/-/raw/main/install-zaneyos.sh)"; ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot"; v = "nvim"; ls = "lsd"; ll = "lsd -l"; la = "lsd -a"; lal = "lsd -al"; ".." = "cd .."; }; }; home-manager.enable = true; hyprlock = { enable = true; settings = { general = { disable_loading_bar = true; grace = 10; hide_cursor = true; no_fade_in = false; }; background = [ { path = "/home/${username}/Pictures/Wallpapers/zaney-wallpaper.jpg"; blur_passes = 3; blur_size = 8; } ]; image = [ { path = "/home/${username}/.config/face.jpg"; size = 150; border_size = 4; border_color = "rgb(0C96F9)"; rounding = -1; # Negative means circle position = "0, 200"; halign = "center"; valign = "center"; } ]; input-field = [ { size = "200, 50"; position = "0, -80"; monitor = ""; dots_center = true; fade_on_empty = false; font_color = "rgb(CFE6F4)"; inner_color = "rgb(657DC2)"; outer_color = "rgb(0D0E15)"; outline_thickness = 5; placeholder_text = "Password..."; shadow_passes = 2; } ]; }; }; }; }