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"
+ }
+}
+