diff --git a/modules/users/crow/home.nix b/modules/users/crow/home.nix index 3aa2de8..cb2dd2a 100644 --- a/modules/users/crow/home.nix +++ b/modules/users/crow/home.nix @@ -14,8 +14,12 @@ in stateVersion = "24.05"; # file.".config/hypr/hyprland.conf".source = ./hypr/hyprland.conf; # file.".config/hypr/monitors.conf".source = lib.mkIf (hyprMonitorConfig != null) hyprMonitorConfig; + file.".config/waybar/config.jsonc".source = ./waybar/config.jsonc; + file.".config/waybar/style.css".source = ./waybar/style.css; file.".config/sway/config".source = ./sway/sway.conf; file.".config/sway/monitors.conf".source = lib.mkIf (swayMonitorConfig != null) swayMonitorConfig; + file.".config/sway/background-1".source = ./sway/cyber_defiance.jpg; + file.".config/sway/background-2".source = ./sway/cyber_skyscrapers.jpg; }; xdg = { @@ -26,216 +30,6 @@ in programs = { waybar = { enable = true; - settings = { - mainBar = { - layer = "top"; - position = "top"; - height = 30; - spacing = 4; - mode = "dock"; - margin = "10"; - modules-left = [ "sway/workspaces" ]; - modules-center = [ "clock" ]; - modules-right = [ "network" "battery" "backlight" "pulseaudio" "tray" ]; - tray = { - spacing = 10; - }; - "sway/workspaces" = { - format = "{icon}"; - format-icons = { - active = ""; - default = ""; - }; - }; - clock = { - tooltip-format = "{:%Y %B}\n{calendar}"; - format-alt = "{:%m-%d-%Y}"; - }; - cpu = { - format = "{usage}% "; - tooltip = false; - }; - temperature = { - critical-threshold = 80; - format = "{temperatureC}°C {icon}"; - format-icons = ["" "" ""]; - }; - backlight = { - format = "{percent}% {icon}"; - format-icons = ["󰃞" "󰃟" "󰃠"]; - }; - battery = { - states = { - warning = 30; - critical = 15; - }; - format = "{capacity}% {icon}"; - format-full = "{capacity}% {icon}"; - format-charging = "{capacity}% "; - format-plugged = "{capacity}% "; - format-alt = "{time} {icon}"; - format-icons = ["" "" "" "" ""]; - }; - network = { - format-wifi = "{essid} ({signalStrength}%) "; - format-ethernet = "{ipaddr}/{cidr} "; - tooltip-format = "{ifname} via {gwaddr} "; - format-linked = "{ifname} (No IP) "; - format-disconnected = "Disconnected ⚠"; - format-alt = "{ifname}: {ipaddr}/{cidr}"; - }; - pulseaudio = { - "format" = "{volume}% {icon} {format_source}"; - "format-bluetooth" = "{volume}% {icon} {format_source}"; - "format-bluetooth-muted" = " {icon} {format_source}"; - "format-muted" = " {format_source}"; - "format-source" = "{volume}% "; - "format-source-muted" = ""; - "format-icons" = { - "headphone" = ""; - "hands-free" = ""; - "headset" = ""; - "phone" = ""; - "portable" = ""; - "car" = ""; - "default" = ["" "" ""]; - }; - "on-click" = "pavucontrol"; - }; - }; - }; - style = '' - @define-color fg #AAB775; - @define-color bg #060617; - @define-color disabled #a5a5a5; - @define-color alert #f53c3c; - @define-color activegreen #8fb666; - - * { - min-height: 0; - font-family: "JetBrainsMono Nerd Font", "Hack Nerd Font", FontAwesome, Roboto, - Helvetica, Arial, sans-serif; - font-size: 14px; - } - - window#waybar { - color: @fg; - background: @bg; - transition-property: background-color; - border-radius: 25px; - transition-duration: 0.5s; - - } - - window#waybar.empty { - opacity: 0.3; - } - - button { - /* Use box-shadow instead of border so the text isn't offset */ - box-shadow: inset 0 -3px transparent; - /* Avoid rounded borders under each button name */ - border: none; - border-radius: 0; - } - - /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ - button:hover { - background: inherit; - box-shadow: inset 0 -3px transparent; - } - - #workspaces button { - color: @fg; - /* padding : 0px 5px; */ - } - - #workspaces button.urgent { - color: @alert; - } - #workspaces button.empty { - color: @disabled; - } - - #workspaces button.active { - color: #DCAA9B; - } - - /* If workspaces is the leftmost module, omit left margin */ - .modules-left > widget:first-child > #workspaces { - margin-left: 0; - } - - /* If workspaces is the rightmost module, omit right margin */ - .modules-right > widget:last-child > #workspaces { - margin-right: 0; - } - - #clock, - #battery, - #cpu, - #memory, - #disk, - #temperature, - #language, - #backlight, - #backlight-slider, - #network, - #pulseaudio, - #wireplumber, - #custom-media, - #taskbar, - #tray, - #tray menu, - #tray > .needs-attention, - #tray > .passive, - #tray > .active, - #mode, - #idle_inhibitor, - #scratchpad, - #custom-power, - #window, - #mpd { - padding: 0px 5px; - padding-right: 10px; - margin: 3px 3px; - color: @fg; - } - - #custom-power { - color: @fg; - padding-left: 10px; - } - - #custom-separator { - color: @disabled; - } - - #network.disconnected, - #pulseaudio.muted, - #wireplumber.muted { - color: @alert; - } - - #battery.charging, - #battery.plugged { - color: #26a65b; - } - - label:focus { - background-color: #333333; - } - - #battery.critical:not(.charging) { - background-color: @alert; - color: @fg; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; - } - ''; }; git = { enable = true; diff --git a/modules/users/crow/hypr/hyprlock.conf b/modules/users/crow/hypr/hyprlock.conf new file mode 100644 index 0000000..ebeb5e3 --- /dev/null +++ b/modules/users/crow/hypr/hyprlock.conf @@ -0,0 +1,50 @@ +# BACGROUND +background { + monitor = + path = screenshot + blur_passes = 2 + contrast = 1 + brightness = 0.5 + vibrancy = 0.2 + vibrancy_darkness = 0.2 +} + +general { + no_fade_in = true + no_fade_out = true + hide_cursor = false + grace = 0 + disable_loading_bar = true +} + +input-field { + monitor = + size = 250, 60 + outline_thickness = 2 + dots_size = 0.2 + dots_spacing = 0.35 + dots_center = true + outer_color = rgba(0, 0, 0, 0) + inner_color = rgba(0, 0, 0, 0.2) + font_color = $foreground + fade_on_empty = false + rounding = -1 + check_color = rgb(204, 136, 34) + placeholder_text = Input Password... + hide_input = false + position = 0, -200 + halign = center + valign = center +} + +# TIME +label { + monitor = + text = cmd[update:1000] echo "$(date +"%-I:%M")" + color = rgba(242, 243, 244, 0.75) + font_size = 95 + font_family = JetBrains Mono Extrabold + position = 0, 200 + halign = center + valign = center +} diff --git a/modules/users/crow/sway/backgrounds.conf b/modules/users/crow/sway/backgrounds.conf new file mode 100644 index 0000000..a104e9f --- /dev/null +++ b/modules/users/crow/sway/backgrounds.conf @@ -0,0 +1,3 @@ +output HDMI-A-1 background /home/crow/.config/waybar/background-2 + +output DP-2 pos 1080 215 /home/crow/.config/waybar/background-1 diff --git a/modules/users/crow/sway/cyber_defiance.jpg b/modules/users/crow/sway/cyber_defiance.jpg new file mode 100644 index 0000000..7084c8a Binary files /dev/null and b/modules/users/crow/sway/cyber_defiance.jpg differ diff --git a/modules/users/crow/sway/cyber_skyscrapers.jpg b/modules/users/crow/sway/cyber_skyscrapers.jpg new file mode 100644 index 0000000..4d7e47a Binary files /dev/null and b/modules/users/crow/sway/cyber_skyscrapers.jpg differ diff --git a/modules/users/crow/waybar/config.css b/modules/users/crow/waybar/config.css new file mode 100644 index 0000000..6cda97f --- /dev/null +++ b/modules/users/crow/waybar/config.css @@ -0,0 +1,193 @@ +@define-color fg #AAB775; +@define-color bg #060617; +@define-color disabled #a5a5a5; +@define-color alert #f53c3c; +@define-color activegreen #8fb666; + +* { + min-height: 0; + font-family: "JetBrainsMono Nerd Font", "Hack Nerd Font", FontAwesome, Roboto, + Helvetica, Arial, sans-serif; + font-size: 14px; +} + +window#waybar { + color: @fg; + background: @bg; + transition-property: background-color; + border-radius: 25px; + transition-duration: 0.5s; + +} + +window#waybar.empty { + opacity: 0.3; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px transparent; +} + +#workspaces button { + color: @fg; + /* padding : 0px 5px; */ +} + +#workspaces button.urgent { + color: @alert; +} +#workspaces button.empty { + color: @disabled; +} + +#workspaces button.active { + color: #DCAA9B; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#language, +#backlight, +#backlight-slider, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#taskbar, +#tray, +#tray menu, +#tray > .needs-attention, +#tray > .passive, +#tray > .active, +#mode, +#idle_inhibitor, +#scratchpad, +#custom-power, +#window, +#mpd { + padding: 0px 5px; + padding-right: 10px; + margin: 3px 3px; + color: @fg; +} + +#custom-power { + color: @fg; + padding-left: 10px; +} + +#custom-separator { + color: @disabled; +} + +#network.disconnected, +#pulseaudio.muted, +#wireplumber.muted { + color: @alert; +} + +#battery.charging, +#battery.plugged { + color: #26a65b; +} + +label:focus { + background-color: #333333; +} + +#battery.critical:not(.charging) { + background-color: @alert; + color: @fg; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* #cpu { */ +/* color: #cb221b; */ +/* } */ +/**/ +/* #temperature { */ +/* color: #d55c0d; */ +/* } */ +/**/ +/* #memory { */ +/* color: #679c68; */ +/* } */ +/**/ +/* #disk { */ +/* color: #979618; */ +/* } */ +/**/ +/* #backlight { */ +/* color: #d69821; */ +/* } */ +/**/ +/* #pulseaudio { */ +/* color: #448486; */ +/* } */ +/**/ +/* #clock { */ +/* color: #b16186; */ +/* } */ +/**/ +/* #battery { */ +/* color: #5cc084; */ +/* } */ +/**/ +/* #network { */ +/* color: #48aa4c; */ +/* } */ + +/* In case you want to seperate the modules in left/right/center */ +/* .modules-left { */ +/* background: @bg; */ +/* border: 2px solid @bordercolor; */ +/* border-radius: 20px; */ +/* padding-right: 5px; */ +/* padding-left: 5px; */ +/* } */ +/**/ +/* .modules-right { */ +/* background: @bg; */ +/* border: 2px solid @bordercolor; */ +/* border-radius: 20px; */ +/* padding-right: 5px; */ +/* padding-left: 5px; */ +/* } */ +/**/ +/* .modules-center { */ +/* background: @bg; */ +/* border: 2px solid @bordercolor; */ +/* border-radius: 20px; */ +/* padding-right: 5px; */ +/* padding-left: 5px; */ +/* } */ + + diff --git a/modules/users/crow/waybar/config.jsonc b/modules/users/crow/waybar/config.jsonc new file mode 100644 index 0000000..b46124e --- /dev/null +++ b/modules/users/crow/waybar/config.jsonc @@ -0,0 +1,100 @@ +// -*- mode: jsonc -*- +{ + "layer": "top", + "position": "top", + "height": 30, // Waybar height (to be removed for auto height) + "spacing": 4, // Gaps between modules (4px) + "mode": "dock", + "margin": 10, // float the bar off the edges of the screen + // Choose the order of the modules + "modules-left": [ + "hyprland/workspaces", + ], + "modules-center": [ + "clock", + ], + "modules-right": [ + "network", + "battery", + "backlight", + "pulseaudio", + "tray" + ], + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "hyprland/workspaces": { + "format": "{icon}", + "format-icons" : { + "active": "", + "default": "" + } + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%m-%d-%Y}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["󰃞", "󰃟", "󰃠"], + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + } +} +