dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
commit e76d691cd4d7a05bf760cb05eca797016c5f8fc3 parent fb2d7f4365a177bfa02474ec9d4b1c06e6965bf1 Author: maydayv7 <maydayv7@gmail.com> Date: Sun, 20 Apr 2025 03:17:17 +0530 feat: Change Fonts
Diffstat:
| M | files/fastfetch.jsonc | | | 21 | ++++++++------------- |
| M | files/hyprland/theme/waybar.css | | | 2 | +- |
| M | flake.lock | | | 6 | +++--- |
| M | modules/gui/desktop/hyprland/apps/panel.nix | | | 16 | ++++++++-------- |
| M | modules/gui/desktop/hyprland/apps/security.nix | | | 18 | +++++++++--------- |
| M | modules/gui/desktop/hyprland/apps/settings.nix | | | 2 | ++ |
| M | modules/gui/desktop/hyprland/apps/terminal.nix | | | 12 | ++++++++---- |
| M | modules/gui/desktop/hyprland/apps/utilities.nix | | | 2 | +- |
| M | modules/gui/fonts.nix | | | 57 | ++++++++++++++++++++++++++------------------------------- |
| M | modules/shell/prompt.nix | | | 103 | +++++++++++++++++++++++++++++++++++++++++++------------------------------------ |
| M | scripts/hyprutils.nix | | | 33 | ++++++++++++++++++++------------- |
11 files changed, 142 insertions(+), 130 deletions(-)
diff --git a/files/fastfetch.jsonc b/files/fastfetch.jsonc @@ -26,19 +26,19 @@ }, { "type": "cpu", - "key": " ", + "key": " ", "keyColor": "cyan", "showPeCoreCount": true }, { "type": "gpu", - "key": " ", + "key": " ", "keyColor": "cyan", "driverSpecific": true }, { "type": "display", - "key": " ", + "key": " ", "keyColor": "cyan" }, { @@ -97,7 +97,7 @@ }, { "type": "lm", - "key": " ", + "key": " ", "keyColor": "blue" }, { @@ -117,13 +117,13 @@ }, { "type": "theme", - "key": " ", + "key": " ", "keyColor": "light_red", "format": "{2}" }, { "type": "icons", - "key": " ", + "key": " ", "keyColor": "light_red" }, { @@ -138,7 +138,7 @@ "break", { "type": "custom", - "format": "┌─⮞ {#1}Time{#}" + "format": "┌─⮞ {#1}Uptime{#}" }, { "type": "command", @@ -148,12 +148,7 @@ }, { "type": "uptime", - "key": " ⊗", - "keyColor": "magenta" - }, - { - "type": "datetime", - "key": " ", + "key": " ", "keyColor": "magenta" }, { diff --git a/files/hyprland/theme/waybar.css b/files/hyprland/theme/waybar.css @@ -5,7 +5,7 @@ min-height: 0; } window#waybar { - background-color: transparent; + background-color: alpha(@base00, 0.3); border: 2px solid @base00; } tooltip { diff --git a/flake.lock b/flake.lock @@ -1044,11 +1044,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1744317917, - "narHash": "sha256-5JFxVNHllu7QeLidWgm8adHCDfFInRpT0X7/ZE0TorE=", + "lastModified": 1745080454, + "narHash": "sha256-Ylk1g6/yy+/4vQ+0E6oOYcwtQ2Kk0vbcimvK21a8ppI=", "owner": "maydayv7", "repo": "proprietary", - "rev": "3c5878e7f1fa2672cc63bb7b18e9d694278c130d", + "rev": "7fcbd8b32736128dd29bb106b855a926c0338f10", "type": "github" }, "original": { diff --git a/modules/gui/desktop/hyprland/apps/panel.nix b/modules/gui/desktop/hyprland/apps/panel.nix @@ -59,7 +59,7 @@ ]; "custom/logo" = { - format = ""; + format = ""; tooltip = false; on-click = "nwg-drawer"; }; @@ -79,7 +79,7 @@ }; "custom/power" = { - format = ""; + format = "⏻"; tooltip = false; on-click = "wlogout -p layer-shell"; }; @@ -165,8 +165,8 @@ capslock = " {icon}"; }; format-icons = { - locked = ""; - unlocked = ""; + locked = ""; + unlocked = ""; }; }; @@ -210,8 +210,8 @@ reverse-scrolling = 1; format = "{icon}"; tooltip-format = "Volume: {volume}%\nDevice: {node_name}"; + format-icons = ["" "" ""]; format-muted = ""; - format-icons = ["" "" "" ""]; on-click = "pavucontrol"; }; @@ -279,7 +279,7 @@ tooltip-format = "Power Profile: {profile}"; format-icons = { default = ""; - performance = ""; + performance = ""; balanced = ""; power-saver = ""; }; @@ -295,8 +295,8 @@ clock = { interval = 1; - format = " {:%H:%M:%S} "; - format-alt = " {:%I:%M %A, %d %B %Y} "; + format = " {:%H:%M:%S} "; + format-alt = " {:%I:%M %A, %d %B %Y} "; tooltip-format = "<tt><small>{calendar}</small></tt>"; calendar = { mode = "year"; diff --git a/modules/gui/desktop/hyprland/apps/security.nix b/modules/gui/desktop/hyprland/apps/security.nix @@ -89,22 +89,28 @@ in { { label = "lock"; action = "loginctl lock-session"; - text = ""; + text = ""; keybind = "l"; } { label = "logout"; action = "loginctl terminate-user $USER"; - text = ""; + text = "↶"; keybind = "e"; } { label = "shutdown"; action = "systemctl poweroff"; - text = ""; + text = "⏻"; keybind = "s"; } { + label = "reboot"; + action = "systemctl reboot"; + text = "↺"; + keybind = "r"; + } + { label = "suspend"; action = "systemctl suspend"; text = ""; @@ -116,12 +122,6 @@ in { text = ""; keybind = "h"; } - { - label = "reboot"; - action = "systemctl reboot"; - text = ""; - keybind = "r"; - } ]; }; }; diff --git a/modules/gui/desktop/hyprland/apps/settings.nix b/modules/gui/desktop/hyprland/apps/settings.nix @@ -117,7 +117,9 @@ in { "blur, ^(logout_dialog)$" "blur, ^(nwg-drawer)$" "blur, ^(waybar)$" + "ignorealpha, ^(waybar)$" "blur, ^(wlclock)$" + "ignorealpha, ^(wlclock)$" ]; ## Window Rules diff --git a/modules/gui/desktop/hyprland/apps/terminal.nix b/modules/gui/desktop/hyprland/apps/terminal.nix @@ -16,14 +16,18 @@ settings = { kitty_mod = "ctrl+shift"; - placement_strategy = "center"; - + confirm_os_window_close = 2; copy_on_select = "clipboard"; + placement_strategy = "center"; scrollback_lines = 10000; - - confirm_os_window_close = 2; enable_audio_bell = "no"; visual_bell_duration = "0.1"; + + cursor_shape = "beam"; + cursor_shape_unfocused = "underline"; + tab_bar_style = "powerline"; + tab_powerline_style = "round"; + window_padding_width = 10; }; }; diff --git a/modules/gui/desktop/hyprland/apps/utilities.nix b/modules/gui/desktop/hyprland/apps/utilities.nix @@ -119,7 +119,7 @@ in { }; in { waycorner = run "Hot Corners" (getExe pkgs.waycorner); - wlclock = with colors; run "Desktop Clock" "${getExe pkgs.wlclock} --layer bottom --exclusive-zone true --position top-right --margin 10 --size 300 --corner-radius 10 --border-size 2 --hand-width 7 --marking-width 3 --background-colour #ffffff00 --clock-colour #${base0D} --border-colour #${base00}"; + wlclock = with colors; run "Desktop Clock" "${getExe pkgs.wlclock} --layer bottom --exclusive-zone true --position top-right --margin 10 --size 300 --corner-radius 10 --border-size 2 --hand-width 7 --marking-width 3 --background-colour #${base00}4d --clock-colour #${base0D} --border-colour #${base00}"; hyprswitch = run "Window Switcher" "${getExe pkgs.hyprswitch} init --workspaces-per-row 3 --custom-css ${toFile "style.css" (theme { inherit colors; file = files.hyprland.hyprswitch; diff --git a/modules/gui/fonts.nix b/modules/gui/fonts.nix @@ -9,7 +9,7 @@ ## Font Configuration ## config = lib.mkIf config.gui.fonts.enable rec { fonts = { - enableDefaultPackages = false; + enableDefaultPackages = true; fontDir.enable = true; ## Render Settings @@ -40,27 +40,27 @@ stylix.fonts = { # Default Fonts - serif = { - package = pkgs.noto-fonts; - name = "Noto Serif"; + sansSerif = { + package = pkgs.adwaita-fonts; + name = "Adwaita Sans"; }; - sansSerif = { - package = pkgs.custom.fonts; - name = "ProductSans Nerd Font"; + serif = { + package = pkgs.eb-garamond; + name = "EB Garamond"; }; monospace = { - package = pkgs.meslo-lgs-nf; - name = "MesloLGS NF"; + package = pkgs.custom.fonts; + name = "Iosvmata"; }; emoji = { - package = pkgs.noto-fonts-color-emoji; - name = "Noto Color Emoji"; + package = pkgs.twitter-color-emoji; + name = "Twitter Color Emoji"; }; - # Font Size + # Font Sizes sizes = { applications = 11; desktop = 11; @@ -70,25 +70,20 @@ }; # Font Packages - fonts.packages = with pkgs; - [ - corefonts - gyre-fonts - unifont + fonts.packages = with pkgs; [ + font-awesome + nerd-fonts.symbols-only + noto-fonts - fira - ibm-plex - roboto - roboto-slab - source-code-pro - ubuntu_font_family - ] - # Patched Nerd Fonts - ++ (with pkgs.nerd-fonts; [ - fira-code - fira-mono - roboto-mono - sauce-code-pro - ]); + fira + fira-code + fira-mono + ibm-plex + roboto + roboto-mono + roboto-slab + source-code-pro + ubuntu_font_family + ]; }; } diff --git a/modules/shell/prompt.nix b/modules/shell/prompt.nix @@ -7,16 +7,41 @@ options.shell.prompt = lib.mkEnableOption "Enable Fancy Shell Prompt"; config = lib.mkIf config.shell.prompt { - programs.starship = { + programs.starship = let + open = ""; + close = ""; + char = "⮞"; + + build = a: b: c: + build' { + icon = a; + var = b; + color = c; + }; + + build' = { + icon, + var, + color, + style ? "fg:white", + end ? "[${close}](fg:base04)", + ... + }: "[─](fg:base04)[${open}](fg:${color})[${icon}](fg:base01 bg:${color})[${close}](fg:${color} bg:base04)[ ${var}](${style} bg:base04)${end}"; + in { enable = true; settings = { add_newline = true; - continuation_prompt = "⮞⮞ "; - format = "[╭](fg:base04)$os$directory$git_branch$git_status$fill$c$python$java$nodejs$dotnet$status$cmd_duration$shell$time$username$hostname$line_break$character"; + continuation_prompt = "${char} "; + format = "[╭](fg:base04)$os$directory$git_branch$git_status$fill$c$python$java$nodejs$dotnet$status$cmd_duration$shell$username$hostname$time$line_break$character"; + character = { + format = "[╰─$symbol](fg:base04) "; + success_symbol = "[${char}](fg:bold white)"; + error_symbol = "[${char}](fg:bold red)"; + }; os = { disabled = false; - format = "(fg:base04)[](fg:white)[$symbol](fg:base01 bg:white)[](fg:white)"; + format = "(fg:base04)[${open}](fg:white)[$symbol](fg:base01 bg:white)[${close}](fg:white)"; symbols = { Android = ""; Arch = ""; @@ -32,7 +57,7 @@ directory = { disabled = false; - format = "[─](fg:base04)[](fg:blue)[](fg:base01 bg:blue)[](fg:blue bg:base04)[ $read_only$truncation_symbol$path](fg:white bg:base04)[](fg:base04)"; + format = build "" "$read_only$truncation_symbol$path" "blue"; home_symbol = "~"; truncation_symbol = "…/"; truncation_length = 4; @@ -42,13 +67,17 @@ git_branch = { disabled = false; - format = "[─](fg:base04)[](fg:green)[$symbol](fg:base01 bg:green)[](fg:green bg:base04)[ $branch](fg:white bg:base04)"; - symbol = ""; + format = build' { + icon = ""; + var = "$branch"; + color = "green"; + end = ""; + }; }; git_status = { disabled = false; - format = "[$ahead_behind$all_status](fg:green bg:base04)[](fg:base04)"; + format = "[$ahead_behind$all_status](fg:green bg:base04)[${close}](fg:base04)"; ahead = " ⇡$count"; behind = " ⇣$count"; diverged = " ⇡$ahead_count ⇣$behind_count"; @@ -62,30 +91,11 @@ up_to_date = ""; }; - c = { - format = "[─](fg:base04)[](fg:blue)[$symbol](fg:base01 bg:blue)[](fg:blue bg:base04)[ $version](fg:white bg:base04)[](fg:base04)"; - symbol = " C"; - }; - - python = { - format = "[─](fg:base04)[](fg:green)[$symbol](fg:base01 bg:green)[](fg:green bg:base04)[ $version](fg:white bg:base04)[](fg:base04)"; - symbol = " Python"; - }; - - java = { - format = "[─](fg:base04)[](fg:red)[$symbol](fg:base01 bg:red)[](fg:red bg:base04)[ $version](fg:white bg:base04)[](fg:base04)"; - symbol = " Java"; - }; - - nodejs = { - format = "[─](fg:base04)[](fg:green)[$symbol](fg:base01 bg:green)[](fg:green bg:base04)[ $version](fg:white bg:base04)[](fg:base04)"; - symbol = " Node.js"; - }; - - dotnet = { - format = "[─](fg:base04)[](fg:purple)[$symbol](fg:base01 bg:purple)[](fg:purple bg:base04)[ $tfm](fg:white bg:base04)[](fg:base04)"; - symbol = " .NET"; - }; + c.format = build " C" "$version" "bright-white"; + python.format = build " Python" "$version" "bright-white"; + java.format = build " Java" "$version" "bright-white"; + nodejs.format = build " Node.js" "$version" "bright-white"; + dotnet.format = build " .NET" "$version" "bright-white"; fill = { symbol = "─"; @@ -94,46 +104,45 @@ status = { disabled = false; - format = "[─](fg:base04)[](fg:red)[](fg:base01 bg:red)[](fg:red bg:base04)[ $status](fg:white bg:base04)[](fg:base04)"; + format = build "" "$status" "red"; }; cmd_duration = { min_time = 500; - format = "[─](fg:base04)[](fg:orange)[](fg:base01 bg:orange)[](fg:orange bg:base04)[ $duration](fg:white bg:base04)[](fg:base04)"; + format = build "" "$duration" "orange"; }; shell = { disabled = false; - format = "[─](fg:base04)[](fg:purple)[](fg:base01 bg:purple)[](fg:purple bg:base04)[ $indicator](fg:white bg:base04)[](fg:base04)"; + format = build "" "$indicator" "purple"; bash_indicator = "bash"; fish_indicator = "fish"; zsh_indicator = "zsh"; unknown_indicator = "shell"; }; - time = { - disabled = false; - format = "[─](fg:base04)[](fg:yellow)[](fg:base01 bg:yellow)[](fg:yellow bg:base04)[ $time](fg:white bg:base04)[](fg:base04)"; - time_format = "%H:%M"; - }; - username = { - format = "[─](fg:base04)[](fg:bright-blue)[](fg:base01 bg:bright-blue)[](fg:bright-blue bg:base04)[ $user]($style bg:base04)[](fg:base04)"; show_always = true; style_user = "fg:white"; style_root = "bold fg:red"; + format = build' { + icon = ""; + var = "$user"; + color = "yellow"; + style = "$style"; + }; }; hostname = { disabled = false; - format = "[─](fg:base04)[](fg:cyan)[](fg:base01 bg:cyan)[](fg:cyan bg:base04)[ $hostname](fg:white bg:base04)[](fg:base04)"; + format = build "" "$hostname" "cyan"; ssh_only = false; }; - character = { - format = "[╰─$symbol](fg:base04) "; - success_symbol = "[⮞](fg:bold white)"; - error_symbol = "[⮞](fg:bold red)"; + time = { + disabled = false; + format = build "" "$time" "blue"; + time_format = "%H:%M"; }; palette = "base16"; diff --git a/scripts/hyprutils.nix b/scripts/hyprutils.nix @@ -88,6 +88,10 @@ in notify-send -a "utility" -t 1000 -h string:x-dunst-stack-tag:"$1" "''${@:2}" } + hyprnotify() { + hyprctl notify "$1" 1500 0 " $2 " + } + get_media_icon() { media_icon="audio-speakers" if $show_album_art @@ -116,7 +120,7 @@ in "brightness") brightness_notification() { brightness=$(brillo | grep -Po '[0-9]{1,3}' | head -n 1) - notify brightness -i "display" -h int:value:"$brightness" " $brightness%" + notify brightness -i "display" -h int:value:"$brightness" "🔅 $brightness%" } case "$2" in "up") @@ -137,7 +141,7 @@ in light=0; if [ "$backlight" -eq 1 ]; then light=33; fi if [ "$backlight" -eq 2 ]; then light=67; fi if [ "$backlight" -eq 3 ]; then light=100; fi - notify backlight -i "keyboard" -h int:value:"$light" " $light%" + notify backlight -i "keyboard" -h int:value:"$light" "🔅 $light%" } case "$2" in "up") @@ -155,7 +159,7 @@ in "temperature") temperature_notification() { temperature=$(hyprctl hyprsunset temperature) - notify temperature -i "display" " $temperature K" + notify temperature -i "display" "🌡 $temperature K" } case "$2" in "up") @@ -169,7 +173,7 @@ in "reset") hyprctl hyprsunset temperature 6000 hyprctl hyprsunset identity - notify temperature -i "display" " Reset" + notify temperature -i "display" "🌡 Reset" ;; "") error "Expected an Option" "Try 'hyprutils help' for more information" ;; *) error "Unexpected Option 'temperature $2'" "Try 'hyprutils help' for more information" ;; @@ -181,9 +185,12 @@ in mute=$(amixer get Master | grep '%' | grep -oE '[^ ]+$' | grep off | head -n1) if [ "$volume" -eq 0 ] || [ "$mute" == "[off]" ] then - volume_icon="" + volume_icon="🔇" + elif [ "$volume" -lt 50 ] + then + volume_icon="🔉" else - volume_icon="" + volume_icon="🔊" fi song_title=$(playerctl -f "{{title}}" metadata) @@ -261,16 +268,16 @@ in "in") ZOOM=$(echo "$ZOOM" | awk '{print $1 + 0.2}') hyprctl keyword cursor:zoom_factor "$ZOOM" - hyprctl notify 1 1000 0 "Zoomed In ($ZOOM""x)" + hyprnotify 1 "Zoomed In ($ZOOM""x)" ;; "out") if [ "$ZOOM" = "1.000000" ] then - hyprctl notify 3 2000 0 "Already zoomed out" + hyprnotify 3 "Already zoomed out" else ZOOM=$(echo "$ZOOM" | awk '{print $1 - 0.2}') hyprctl keyword cursor:zoom_factor "$ZOOM" - hyprctl notify 1 1000 0 "Zoomed Out ($ZOOM""x)" + hyprnotify 1 "Zoomed Out ($ZOOM""x)" fi ;; "") error "Expected an Option" "Try 'hyprutils help' for more information" ;; @@ -283,7 +290,7 @@ in FANCY=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') if [ "$FANCY" = 1 ] then - hyprctl notify 1 2000 0 "Compositor Effects Disabled" + hyprnotify 1 "Compositor Effects Disabled" hyprctl --batch "\ keyword animations:enabled 0;\ keyword decoration:shadow:enabled 0;\ @@ -294,12 +301,12 @@ in keyword decoration:rounding 0" exit fi - hyprctl notify 1 2000 0 "Compositor Effects Enabled" + hyprnotify 1 "Compositor Effects Enabled" hyprctl reload ;; "float") WORKSPACE=$(hyprctl activeworkspace | grep "workspace ID" | awk '{print $3}') - hyprctl notify 1 2000 0 "Toggled window floating on Workspace $WORKSPACE" + hyprnotify 1 "Toggled window floating on Workspace $WORKSPACE" hyprctl dispatch workspaceopt allfloat ;; "minimized") @@ -307,7 +314,7 @@ in then hyprctl dispatch workspace special:minimized else - hyprctl notify 1 2000 0 "No minimized windows present" + hyprnotify 1 "No minimized windows present" fi ;; "monitor")