{ lib, config, pkgs, ... }: { imports = [ ./bar.nix ./hyprland.nix ./gui-software.nix ]; home.packages = with pkgs; [ gentium (nerdfonts.override { fonts = [ "CascadiaCode" "Noto" "Hack" ]; }) inter emojione bluetuith keepmenu rofimoji libnotify wtype wl-clipboard pamixer pulsemixer (catppuccin-gtk.override { accents = [ "pink" ]; size = "compact"; tweaks = [ "black" ]; variant = "mocha"; }) ]; xsession.enable = true; fonts.fontconfig.enable = true; fonts.fontconfig.defaultFonts = { serif = [ "Gentium Plus" ]; sansSerif = [ "Inter" ]; monospace = [ "CaskaydiaCove Nerd Font Mono" ]; # monospace = [ "Hack Nerd Font Mono" ]; emoji = [ "Noto Color Emoji" "OpenMoji Color" ]; }; programs.kitty = { enable = true; font.name = "monospace"; font.size = 12; settings = { cursor_shape = "block"; default_pointer_shape = "arrow"; pointer_shape_when_dragging = "arrow"; enable_audio_bell = false; placement_strategy = "top-left"; remember_window_size = false; initial_window_width = 1300; initial_window_height = 800; confirm_os_window_close = 0; resize_debounce_time = "0.1 0.1"; }; keybindings = { "ctrl+shift+equal" = "change_font_size all +0.5"; "ctrl+shift+plus" = "change_font_size all +0.5"; "ctrl+shift+kp_add" = "change_font_size all +0.5"; "ctrl+shift+minus" = "change_font_size all -0.5"; "ctrl+shift+kp_subtract" = "change_font_size all -0.5"; }; shellIntegration.enableFishIntegration = true; shellIntegration.mode = "no-cursor"; extraConfig = '' include colors.conf ''; }; services.swayidle = { enable = true; events = [ { event = "before-sleep"; command = "${config.programs.swaylock.package}/bin/swaylock -defF"; } { event = "after-resume"; command = "${config.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms on"; } { event = "lock"; command = "${config.programs.swaylock.package}/bin/swaylock -defF"; } ]; timeouts = [ { timeout = 900; command = "${config.programs.swaylock.package}/bin/swaylock -defF"; } { timeout = 900; command = "${config.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms off"; } ]; }; programs.swaylock = { enable = true; package = pkgs.swaylock-effects; # --screenshots \ # --clock \ # --indicator \ # --indicator-radius 100 \ # --indicator-thickness 7 \ # --effect-blur 7x5 \ # --effect-vignette 0.5:0.5 \ # --ring-color bb00cc \ # --key-hl-color 880033 \ # --line-color 00000000 \ # --inside-color 00000088 \ # --separator-color 00000000 \ # --grace 2 \ # --fade-in 0.2 settings = { screenshots = true; # clock = true; font = "Sans:bold"; disable-caps-lock-text = true; effect-blur = "7x5"; text-color = "ffffff"; layout-text-color = "ffffff"; ring-color = "000000"; key-hl-color = "dddddd"; line-color = "00000000"; inside-color = "00000088"; separator-color = "00000000"; ring-clear-color = "00000000"; line-clear-color = "00000000"; inside-clear-color = "00000000"; text-clear-color = "00000000"; }; }; services.dunst.enable = true; services.dunst.settings = { global = { geometry = "750x5-20+20"; horizontal_padding = 8; indicate_hidden = true; shrink = true; transparency = 20; separator_height = 2; frame_width = 3; frame_color = "#000000"; font = "Monospace 11"; alignment = "left"; show_age_threshold = 60; background = "#ffffff"; foreground = "#000000"; }; urgency_critical = { background = "#ff9999"; }; }; programs.rofi = { enable = true; package = pkgs.rofi-wayland; plugins = [ pkgs.rofi-calc pkgs.rofi-emoji ]; theme = "theme.rasi"; }; qt = { enable = true; platformTheme.name = "kde"; }; gtk = { enable = true; font = { package = pkgs.inter; name = "Inter"; }; theme = { name = "Catppuccin-Latte-Compact-Pink-Light"; # name = "Catppuccin-Mocha-Compact-Pink-Dark"; package = pkgs.catppuccin-gtk.override { accents = [ "pink" ]; size = "compact"; tweaks = [ ]; variant = "latte"; }; }; iconTheme = { name = "Adwaita"; package = pkgs.adwaita-icon-theme; }; cursorTheme = { name = "Hackneyed"; package = pkgs.hackneyed; }; }; systemd.user.services = { battery-notify = { Unit = { Description = "Send notification when battery is low"; Wants = "battery-timer.timer"; }; Service = { Type = "oneshot"; ExecStart = "${pkgs.writers.writeBash "battery-notify" '' if [[ $(${pkgs.coreutils}/bin/cat /sys/class/power_supply/BAT0/capacity) -lt 10 ]]; then ${pkgs.libnotify}/bin/notify-send -u critical "Battery is low" fi '' }"; }; }; }; systemd.user.timers = { battery-timer = { Unit = { Description = "Execute battery-notify every minute"; }; Install = { # enable the service # WantedBy = [ "default.target" ]; }; Timer = { Unit = "battery-notify.service"; OnCalendar = "*-*-* *:*:00"; }; }; }; }