diff --git a/common/hyprland.nix b/common/hyprland.nix
deleted file mode 100644
index fd1bebe..0000000
--- a/common/hyprland.nix
+++ /dev/null
@@ -1,127 +0,0 @@
-{ config, pkgs, inputs, ... }:
-let
- hyprland = inputs.hyprland.packages.${pkgs.system}.hyprland;
-in
-{
- # these are necessary for the config to function correctly
- imports = [
- ./kitty.nix
- ./waybar.nix
- ./wofi.nix
- ./dunst.nix
- ];
- home.packages = with pkgs; [
- # I always want these with hyprland anyways
- libnotify # to enable the notify-send command
- wl-clipboard
-
- slurp
- grim
-
- hypridle # TODO: remove when fixed with config
- playerctl
- ];
-
-
- xdg.portal.configPackages = [ hyprland ];
-
- services.playerctld.enable = true;
- wayland.windowManager.hyprland = {
- enable = true;
- package = hyprland;
- settings = {
- monitor = [
- "DP-3,2560x1440@360,2560x0,1"
- "DP-2,2560x1440@144,0x0,1"
- ];
- windowrulev2 = [
- "opacity 1.0 0.6,class:^(kitty)$"
- "stayfocused,class:^(wofi)$"
- ];
- env = [
- "WLR_NO_HARDWARE_CURSORS,1"
- ];
- exec-once = [
- "waybar"
- "dunst"
- "automapaper -C ${config.xdg.configHome}/automapaper/config.toml"
- "automapaper -C ${config.xdg.configHome}/automapaper/config2nd.toml"
- "hyprctl dispatcher focusmonitor 1"
- "hypridle"
- ];
- general = {
- sensitivity = "1.2";
- gaps_in = "2";
- gaps_out = "3";
- border_size = "3";
- "col.active_border"="0xff950fad";
- "col.inactive_border"="0xff26052e";
- };
- misc = {
- key_press_enables_dpms = true;
- };
- decoration = {
- rounding = "6";
- active_opacity = "1";
- inactive_opacity = "1";
- };
- workspace = [
- "DP-3,1"
- "DP-2,2"
- ];
- animations = {
- enabled = "1";
- animation = [
- "windows,1,2,default"
- "border,1,10,default"
- "fade,0,5,default"
- "workspaces,1,4,default"
- ];
- };
- "$mod" = "SUPER";
- bind = [
- "$mod,Return,exec,kitty"
- "$mod,tab,cyclenext"
- "SUPERSHIFT,Q,killactive"
- "$mod,SPACE,exec,wofi-launch"
- "$mod,P,exec,wofi-power"
- "SUPERSHIFT,m,exit"
- "$mod,H,movefocus,l"
- "$mod,J,movefocus,u"
- "$mod,K,movefocus,d"
- "$mod,L,movefocus,r"
- "SUPERSHIFT,H,movewindow,l"
- "SUPERSHIFT,J,movewindow,u"
- "SUPERSHIFT,K,movewindow,d"
- "SUPERSHIFT,L,movewindow,r"
- "$mod,F,togglefloating"
- "$mod,X,togglespecialworkspace"
- "SUPERSHIFT,X,movetoworkspace,special"
- "$mod,Print,exec,grim - | wl-copy && notify-send 'Screenshot Copied to Clipboard'"
- "SUPERSHIFT,S,exec,slurp | grim -g - /tmp/photo && wl-copy < /tmp/photo && notify-send 'Screenshot Copied to Clipboard'"
- "$mod,f11,fullscreen,0"
- ",XF86AudioLowerVolume,exec,wpctl set-volume @DEFAULT_SINK@ 1%-"
- ",XF86AudioRaiseVolume,exec,wpctl set-volume @DEFAULT_SINK@ 1%+"
- ",XF86AudioMute,exec,wpctl set-mute @DEFAULT_SINK@ toggle"
- ",XF86AudioPlay,exec,playerctl play-pause"
- ",XF86AudioPrev,exec,playerctl previous"
- ",XF86AudioNext,exec,playerctl next"
- ]
- ++ (
- builtins.concatLists (builtins.genList (
- x: let
- ws = builtins.toString (x);
- in [
- "$mod,${ws},workspace,${ws}"
- "ALT,${ws},movetoworkspace,${ws}"
- ]
- )
- 10)
- );
- bindm = [
- "$mod,mouse:272,movewindow"
- "$mod,mouse:273,resizewindow"
- ];
- };
- };
-}
diff --git a/common/waybar.nix b/common/waybar.nix
deleted file mode 100644
index 4abf1c4..0000000
--- a/common/waybar.nix
+++ /dev/null
@@ -1,420 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-{
- home.packages = with pkgs; [
- waybar
- font-awesome
- ];
- programs.waybar = {
- enable = lib.mkDefault true;
- settings = {
- mainBar = {
- layer = "top";
- position = "top";
- height = 39;
- margin-top = 8;
- margin-left = 10;
- margin-right = 10;
- output = [
- "DP-3"
- "DP-2"
- ];
- modules-left = [ "hyprland/workspaces" "tray" "custom/pronouns" "hyprland/window" ];
- modules-center = [ "clock" ];
- modules-right = [ "custom/vpn" "wireplumber" "battery" "network" "cpu" "memory" "temperature" "custom/poweroff" ];
- "clock" = {
- tooltip-format = "{:%Y %B}\n\n{calendar}";
- interval = 1;
- format = "{:%H:%M:%S}";
- format-alt = ":%Y-%m-%d %H:%M:%S}";
- on-click-middle = "gnome-clocks";
- calendar = {
- weeks-pos = "left";
- format = {
- today = "{}"; # TODO: use nix-colors
- weeks = "{}"; # TODO: use nix-colors
- };
- };
- };
- "tray".spacing = 10;
- "cpu" = {
- format = "cpu: {usage}%";
- tooltip = false;
- };
- "memory" = {
- format = "mem: {}%";
- tooltip = false;
- };
- "wireplumber" = {
- format = "{volume}% {icon}";
- format-muted = "";
- on-click = "helvum";
- format-icons = ["" "" ""];
- };
- "custom/vpn" = {
- format = "VPN";
- exec = "echo '{\"class\": \"connected\"}'";
- exec-if = "test -d /proc/sys/net/ipv4/conf/tun0";
- return-type = "json";
- interval = 5;
- };
- "temperature" = {
- thermal-zone = 2;
- hwmon-path = "/sys/class/hwmon/hwmon3/temp1_input";
- critical-threshold = 80;
- format = "{temperatureC}°C {icon}";
- format-icons = ["" "" ""];
- };
- "custom/poweroff" = {
- format = "";
- on-click = "wofi-power";
- on-click-right = "swaylock";
- };
- "battery" = {
- bat = "hidpp_battery_2";
- states = {
- full = 100;
- good = 50;
- warning = 30;
- critical = 30;
- };
- format = "mouse: {capacity}% {icon}";
- format-charging = "mouse: {capacity}% {icon}";
- format-plugged = "mouse: {capacity}% {icon}";
- format-alt = "mouse: {time} {icon}";
- interval = 1;
- format-icons = [
- ""
- ""
- ""
- ""
- ""
- ];
- };
- "hyprland/window" = {
- max-length = 36;
- };
- "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}";
- };
- "custom/pronouns" = {
- format = "{}";
- # exec = "${config.xdg.configHome}/waybar/pronouns"; # TODO: install pronouns
- interval = 5;
- };
- "hyprland/workspaces" = {
- format = "{name}";
- on-click = "activate";
- sort-by = "id";
- };
- };
- };
- style = ''
- * {
- /* `otf-font-awesome` is required to be installed for icons */
- font-family: "Maple Mono NF";
- font-size: 14px;
- }
-
- window#waybar {
- background-color: transparent;
-
- border-radius: 999px;
- color: #${config.colorScheme.palette.text};
- transition-property: background-color;
- transition-duration: .5s;
- }
- window#waybar.hidden {
- opacity: 0.2;
- }
-
- window#waybar.termite {
- background-color: transparent;
- }
-
- window#waybar.chromium {
- background-color: transparent;
- }
-
- button {
- /* Use box-shadow instead of border so the text isn't offset */
- box-shadow: inset 0 -1px transparent;
- /* Avoid rounded borders under each button name */
- border: none;
- border-radius: 0;
- }
-
- /* https://githbackground: #000000ub.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
- button:hover {
- background: inherit;
- border-radius: 999px;
- }
-
- #workspaces button {
- transition: all 0.2s;
- padding: 3px 3px 3px 5px;
- margin: 3px;
- min-width: 15px;
- min-height: 15px;
- background-color: transparent;
- color: #${config.colorScheme.palette.textMuted};
- border-radius: 999px;
- }
-
- #workspaces button:hover {
- background-color: #${config.colorScheme.palette.highlight};
- }
-
- #workspaces button.active {
- color: #${config.colorScheme.palette.text};
- font-weight: bold;
- background-color: #${config.colorScheme.palette.highlight};
- }
-
- #workspaces button.urgent {
- background-color: #${config.colorScheme.palette.danger};
- }
-
- #clock,
- #battery,
- #cpu,
- #memory,
- #disk,
- #temperature,
- #backlight,
- #network,
- #pulseaudio,
- #wireplumber,
- #custom-media,
- #mode,
- #idle_inhibitor,
- #custom-vpn,
- #scratchpad,
- #tray,
- #custom-updates,
- #custom-poweroff,
- #mpd {
- color: #${config.colorScheme.palette.textMuted};
- margin: 0px 2px;
- padding: 0 15px;
-
- border-radius: 999px;
- box-shadow: inset 0 0 0 1px #${config.colorScheme.palette.backgroundMuted};
- }
-
- .modules-right > widget:last-child > #battery {
- margin-right: 0px;
- }
-
- #tray {
- padding: 4px 10px;
- border-radius: 999px 999px 999px 999px;
- box-shadow: inset 0px 0px 0 1px #${config.colorScheme.palette.backgroundMuted};
- }
-
- #window {
- margin-left: 6px;
- color: #${config.colorScheme.palette.textMuted};
- }
-
- #workspaces {
- margin: 0 4px;
- padding: 4px 4px;
- border-radius: 999px;
- box-shadow: inset 0px 0px 0 1px #${config.colorScheme.palette.backgroundMuted};
- }
-
- #cpu {
- border-radius: 999px 0px 0px 999px;
- margin-right: 0px;
- }
-
- #memory {
- border-radius: 0px;
- padding: 0 10px;
- margin: 0px;
- box-shadow: inset 0px 2px 0 -1px #${config.colorScheme.palette.backgroundMuted},
- inset 0px -2px 0 -1px #${config.colorScheme.palette.backgroundMuted};
- }
-
- #clock {
- box-shadow: none;
- }
-
-
- #battery {
- min-width: 50px;
- border-radius: 999px;
- box-shadow: inset 0 0 0 1px #${config.colorScheme.palette.backgroundMuted};
- background-color: #${config.colorScheme.palette.backgroundMuted};
- transition: all 0.3s;
- }
-
- #battery.charging, #battery.plugged {
- color: #${config.colorScheme.palette.succes};
- background-color: transparent;
- animation: batteryCharging 1.2s linear 0s infinite normal forwards,
- }
- #battery.full {
- animation: batteryFull 7.0s linear 0s infinite normal forwards;
- }
- #battery.critical:not(.charging) {
- background-color: #${config.colorScheme.palette.background};
- animation: batteryCritical 1.2s linear 0s infinite normal forwards;
- }
-
- #network {
-
- }
-
- #network.disconnected,
- #pulseaudio.muted {
- transition: all 0.2s;
- color: #${config.colorScheme.palette.backgroundMuted};
- }
-
- .custom-spotify {
- color: #${config.colorScheme.palette.spotifyGreen};
- margin-right: 10px;
- }
-
- #temperature {
- margin-left: 0px;
- border-radius: 0px 999px 999px 0px;
- }
-
- #temperature.critical {
- background-color: transparent;
- color: #${config.colorScheme.palette.danger};
- }
-
- #tray {
- background-color: transparent;
- }
-
-
- #tray > .passive {
- -gtk-icon-effect: dim;
- }
-
- #tray > .needs-attention {
- background-color: #${config.colorScheme.palette.danger};
- border-radius: 999px;
- }
-
- #scratchpad {
- background: rgba(0, 0, 0, 0.1);
- }
- #scratchpad.empty {
- background-color: transparent;
- }
-
- #custom-updates {
- box-shadow: inset 0 0 0 1px #${config.colorScheme.palette.backgroundMuted};
- color: #${config.colorScheme.palette.textMuted};
- transition: all 0.5s;
- }
-
- #custom-updates.pending {
- box-shadow: inset 0 0 0 2px #${config.colorScheme.palette.highlight};
- color: #${config.colorScheme.palette.highlight};
- font-weight: bold;
- transition: all 0.5s;
- }
-
- tooltip {
- background-color: #${config.colorScheme.palette.background};
- border: 1px solid;
- border-color: #${config.colorScheme.palette.border};
- border-radius: 10px;
- color: #${config.colorScheme.palette.text};
- }
- tooltip label {
- padding: 5px;
- }
-
- /* Keyframes ---------------------------------------------------------------- */
-
- @keyframes batteryCritical {
- 0% {
- box-shadow: inset 0px 20px 8px -16px #${config.colorScheme.palette.danger},
- inset 0px -20px 8px -16px #${config.colorScheme.palette.danger};
- color: #${config.colorScheme.palette.danger};
- }
- 50% {
- box-shadow: inset 0px 12px 8px -16px #${config.colorScheme.palette.danger},
- inset 0px -12px 8px -16px #${config.colorScheme.palette.danger};
- color: #${config.colorScheme.palette.textMuted};
- }
- 100% {
- box-shadow: inset 0px 20px 8px -16px #${config.colorScheme.palette.danger},
- inset 0px -20px 8px -16px #${config.colorScheme.palette.danger};
- color: #${config.colorScheme.palette.danger};
- }
- }
-
- @keyframes batteryCharging {
- 0% {
- box-shadow: inset 0px 0px 8px 0px #${config.colorScheme.palette.info},
- inset 0px 20px 8px -18px #${config.colorScheme.palette.ok},
- inset 0px -20px 8px -18px #${config.colorScheme.palette.ok};
- }
- 25% {
- box-shadow: inset 0px 0px 8px 0px #${config.colorScheme.palette.info},
- inset 14px 14px 8px -18px #${config.colorScheme.palette.ok},
- inset -14px -14px 8px -18px #${config.colorScheme.palette.ok};
- }
- 50% {
- box-shadow: inset 0px 0px 8px 0px #${config.colorScheme.palette.info},
- inset 20px 0px 8px -18px #${config.colorScheme.palette.ok},
- inset -20px 0px 8px -18px #${config.colorScheme.palette.ok};
- }
- 75% {
- box-shadow: inset 0px 0px 8px 0px #${config.colorScheme.palette.info},
- inset 14px -14px 8px -18px #${config.colorScheme.palette.ok},
- inset -14px 14px 8px -18px #${config.colorScheme.palette.ok};
- }
- 100% {
- box-shadow: inset 0px 0px 8px 0px #${config.colorScheme.palette.info},
- inset 0px -20px 8px -18px #${config.colorScheme.palette.ok},
- inset 0px 20px 8px -18px #${config.colorScheme.palette.ok};
- }
- }
-
-
-
- @keyframes batteryFull {
- 0% {
- box-shadow: inset 0px 20px 8px -16px #${config.colorScheme.palette.warn},
- inset 0px -20px 8px -16px #${config.colorScheme.palette.warn};
- color: #${config.colorScheme.palette.warn};
- }
- 25% {
- box-shadow: inset 0px 19px 8px -16px #${config.colorScheme.palette.warn},
- inset 0px -19px 8px -16px #${config.colorScheme.palette.warn};
- color: #${config.colorScheme.palette.warn};
- }
- 50% {
- box-shadow: inset 0px 15px 8px -16px #${config.colorScheme.palette.warn},
- inset 0px -15px 8px -16px #${config.colorScheme.palette.warn};
- color: #${config.colorScheme.palette.warn};
- }
- 75% {
- box-shadow: inset 0px 19px 8px -16px #${config.colorScheme.palette.warn},
- inset 0px -19px 8px -16px #${config.colorScheme.palette.warn};
- color: #${config.colorScheme.palette.warn};
- }
- 100% {
- box-shadow: inset 0px 20px 8px -16px #${config.colorScheme.palette.warn},
- inset 0px -20px 8px -16px #${config.colorScheme.palette.warn};
- color: #${config.colorScheme.palette.warn};
- }
- }
- '';
- };
-}