cleanup hyprland and embrace dms
This commit is contained in:
@@ -1,9 +1,23 @@
|
|||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.nix-config.hypr;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
nix-config.hypr.enable = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Enable an opinionated hyprland+quickshell setup as a desktop environment.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./hyprland
|
./hyprland
|
||||||
./hyprpaper.nix
|
|
||||||
./hyprlock.nix
|
./hyprlock.nix
|
||||||
./hypridle.nix
|
./hypridle.nix
|
||||||
./waybar.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,8 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
|
wayland.windowManager.hyprland = lib.mkIf cfg.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@@ -28,10 +29,11 @@ in
|
|||||||
# };
|
# };
|
||||||
general = {
|
general = {
|
||||||
resize_on_border = true;
|
resize_on_border = true;
|
||||||
gaps_in = 5;
|
gaps_in = 3;
|
||||||
gaps_out = 5;
|
gaps_out = 3;
|
||||||
border_size = 1;
|
border_size = 1;
|
||||||
"col.active_border" = "rgb(98971A) rgb(CC241D) 45deg";
|
"col.active_border" = "rgb(98971A) rgb(CC241D) 45deg";
|
||||||
|
"col.inactive_border" = "rgba(595959aa)";
|
||||||
layout = "master";
|
layout = "master";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -61,9 +63,10 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
decoration = {
|
decoration = {
|
||||||
rounding = 7;
|
rounding = 10;
|
||||||
# active_opacity = 0.95;
|
|
||||||
inactive_opacity = 0.9;
|
inactive_opacity = 0.9;
|
||||||
|
dim_inactive = false;
|
||||||
|
dim_strength = 0.1;
|
||||||
|
|
||||||
shadow = {
|
shadow = {
|
||||||
enabled = false;
|
enabled = false;
|
||||||
@@ -94,6 +97,16 @@ in
|
|||||||
"float, class:org.gnome.Nautilus"
|
"float, class:org.gnome.Nautilus"
|
||||||
# when there is a single window, deactivate border and gaps
|
# when there is a single window, deactivate border and gaps
|
||||||
# "border_size 0, onworkspace:w[tv1], "
|
# "border_size 0, onworkspace:w[tv1], "
|
||||||
|
|
||||||
|
# File pickers and dialogs
|
||||||
|
"float, title:^(Save As)$"
|
||||||
|
"float, title:^(Open File)$"
|
||||||
|
"size 50% 50%, title:^(Open File)$"
|
||||||
|
"center, title:^(Open File)$"
|
||||||
|
|
||||||
|
# Disable idle when gaming
|
||||||
|
"idleinhibit always, class:^(steam_app_)"
|
||||||
|
"idleinhibit always, class:^(gamescope)$"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ in
|
|||||||
"$mod, return, exec, kitty"
|
"$mod, return, exec, kitty"
|
||||||
"$mod, b, exec, ${cfg.browser}"
|
"$mod, b, exec, ${cfg.browser}"
|
||||||
"$mod, s, exec, ${cfg.ide}"
|
"$mod, s, exec, ${cfg.ide}"
|
||||||
"$mod, e, exec, nautilus"
|
"$mod, e, exec, ${lib.getExe pkgs.nautilus}"
|
||||||
|
|
||||||
# Lock screen
|
# Lock screen
|
||||||
"$mod, l, exec, loginctl lock-session"
|
"$mod, l, exec, loginctl lock-session"
|
||||||
@@ -54,10 +54,10 @@ in
|
|||||||
"$mod+Ctrl, right, movetoworkspace, +1"
|
"$mod+Ctrl, right, movetoworkspace, +1"
|
||||||
|
|
||||||
# Switch workspace
|
# Switch workspace
|
||||||
"$mod, left, workspace, -1"
|
"$mod, left, workspace, prev"
|
||||||
"$mod, right, workspace, +1"
|
"$mod, right, workspace, next"
|
||||||
"$mod, mouse_down, workspace, -1"
|
"$mod, mouse_down, workspace, prev"
|
||||||
"$mod, mouse_up, workspace, +1"
|
"$mod, mouse_up, workspace, next"
|
||||||
|
|
||||||
|
|
||||||
# move to scratch workspace
|
# move to scratch workspace
|
||||||
@@ -101,8 +101,6 @@ in
|
|||||||
"$mod, KP_Subtract, resizeactive, -2% -2%"
|
"$mod, KP_Subtract, resizeactive, -2% -2%"
|
||||||
"$mod, PLUS, resizeactive, 2% 2%"
|
"$mod, PLUS, resizeactive, 2% 2%"
|
||||||
"$mod, KP_Add, resizeactive, 2% 2%"
|
"$mod, KP_Add, resizeactive, 2% 2%"
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# lock-screen bindings
|
# lock-screen bindings
|
||||||
|
|||||||
@@ -8,35 +8,33 @@ in
|
|||||||
settings = {
|
settings = {
|
||||||
|
|
||||||
master = {
|
master = {
|
||||||
# TODO - I am not yet happy about the layout + toggle keybinds
|
# no_gaps_when_only = true;
|
||||||
orientation = "center";
|
|
||||||
# equivalent toalways_center_master = true;
|
# default: single app is centered/fullscreen; when more apps are added it splits
|
||||||
slave_count_for_center_master = 0;
|
orientation = "right";
|
||||||
# new_is_master = false;
|
# keep center-master behaviour when there is exactly 1 slave (i.e. single app appears fullscreen)
|
||||||
# allow_small_split = true;
|
slave_count_for_center_master = 1;
|
||||||
# special_scale_factor = 0.80;
|
# only split in two columns
|
||||||
mfact = 0.34;
|
mfact = 0.6;
|
||||||
inherit_fullscreen = false;
|
inherit_fullscreen = false;
|
||||||
# always_center_master = false;
|
|
||||||
# allow a maximum of 3 windows in the master area for 3-column layout
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#create special workspaces with no gaps
|
# #create special workspaces with no gaps
|
||||||
workspace = [
|
# workspace = [
|
||||||
"w[t1], gapsout:0, gapsin:0"
|
# "w[t1], gapsout:0, gapsin:0"
|
||||||
"w[tg1], gapsout:0, gapsin:0"
|
# "w[tg1], gapsout:0, gapsin:0"
|
||||||
"f[1], gapsout:0, gapsin:0"
|
# "f[1], gapsout:0, gapsin:0"
|
||||||
];
|
# ];
|
||||||
|
|
||||||
# automatically assign windows to workspaces when there is only one window
|
# # automatically assign windows to workspaces when there is only one window
|
||||||
windowrulev2 = [
|
# windowrulev2 = [
|
||||||
"bordersize 0, floating:0, onworkspace:w[t1]"
|
# "bordersize 0, floating:0, onworkspace:w[t1]"
|
||||||
"rounding 0, floating:0, onworkspace:w[t1]"
|
# "rounding 0, floating:0, onworkspace:w[t1]"
|
||||||
"bordersize 0, floating:0, onworkspace:w[tg1]"
|
# "bordersize 0, floating:0, onworkspace:w[tg1]"
|
||||||
"rounding 0, floating:0, onworkspace:w[tg1]"
|
# "rounding 0, floating:0, onworkspace:w[tg1]"
|
||||||
"bordersize 0, floating:0, onworkspace:f[1]"
|
# "bordersize 0, floating:0, onworkspace:f[1]"
|
||||||
"rounding 0, floating:0, onworkspace:f[1]"
|
# "rounding 0, floating:0, onworkspace:f[1]"
|
||||||
];
|
# ];
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
vfr = false;
|
vfr = false;
|
||||||
@@ -45,12 +43,14 @@ in
|
|||||||
|
|
||||||
# Keybind to toggle between 2 and 3 column master layout
|
# Keybind to toggle between 2 and 3 column master layout
|
||||||
bind = [
|
bind = [
|
||||||
# Toggle master layout between 2 and 3 columns
|
# Toggle master layout between 2 and 3 columns (press $mod + m)
|
||||||
"$mod, m, exec, hyprctl dispatch layoutmsg orientationleft"
|
"$mod, m, exec, hyprctl dispatch layoutmsg orientationcenter"
|
||||||
"$mod, m, exec, hyprctl dispatch layoutmsg mfact exact 0.5"
|
"$mod, m, exec, hyprctl dispatch layoutmsg mfact exact 0.34"
|
||||||
# "SUPER_SHIFT,C,exec,hyprctl dispatch layoutmsg swap_master_count 2 3"
|
|
||||||
];
|
|
||||||
|
|
||||||
|
# Toggle master layout between 3 and 2 columns (press $mod + Shift + m)
|
||||||
|
"$mod, Shift+m, exec, hyprctl dispatch layoutmsg orientationright"
|
||||||
|
"$mod, Shift+m, exec, hyprctl dispatch layoutmsg mfact exact 0.6"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ in
|
|||||||
pkgs.nautilus
|
pkgs.nautilus
|
||||||
pkgs.gnome-control-center
|
pkgs.gnome-control-center
|
||||||
pkgs.gnome-bluetooth # needed by gnome-control-center to manage bluetooth
|
pkgs.gnome-bluetooth # needed by gnome-control-center to manage bluetooth
|
||||||
pkgs.brightnessctl
|
|
||||||
pkgs.cliphist
|
pkgs.cliphist
|
||||||
pkgs.wl-clipboard
|
pkgs.wl-clipboard
|
||||||
pkgs.gcr # Provides org.gnome.keyring.SystemPrompter
|
pkgs.gcr # Provides org.gnome.keyring.SystemPrompter
|
||||||
|
|||||||
@@ -1,66 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
|
|
||||||
wallpapers = [
|
|
||||||
../../../wallpapers/codioful-formerly-gradienta-lweK7Wme_jo-unsplash.jpg
|
|
||||||
../../../wallpapers/codioful-formerly-gradienta-n2XqPm7Bqhk-unsplash.jpg
|
|
||||||
../../../wallpapers/luke-chesser-eICUFSeirc0-unsplash.jpg
|
|
||||||
../../../wallpapers/luke-chesser-pJadQetzTkI-unsplash.jpg
|
|
||||||
../../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg
|
|
||||||
];
|
|
||||||
|
|
||||||
monitor = ""; # leave empty to set the wallpaper on all monitors
|
|
||||||
|
|
||||||
wallpaperPicker = pkgs.writeShellScriptBin "wallpaper-picker" ''
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
# use an array of wallpapers to randomly select one
|
|
||||||
wallpapers=(${pkgs.lib.concatStringsSep " " (map (p: "${p}") wallpapers)})
|
|
||||||
# select a random wallpaper from the array
|
|
||||||
index=$((RANDOM % ${toString (builtins.length wallpapers)}))
|
|
||||||
wallpaper="''${wallpapers[index]}"
|
|
||||||
echo "Setting wallpaper to: $wallpaper"
|
|
||||||
|
|
||||||
hyprctl hyprpaper unload all
|
|
||||||
hyprctl hyprpaper reload "${monitor},$wallpaper"
|
|
||||||
'';
|
|
||||||
|
|
||||||
in {
|
|
||||||
home.packages = [wallpaperPicker];
|
|
||||||
|
|
||||||
services.hyprpaper = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
ipc = "on";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# systemd.user = {
|
|
||||||
# services.wallpaperRandomizer = {
|
|
||||||
# Install = {WantedBy = ["graphical-session.target"];};
|
|
||||||
|
|
||||||
# Unit = {
|
|
||||||
# Description = "Set random desktop background using hyprpaper";
|
|
||||||
# After = ["graphical-session-pre.target"];
|
|
||||||
# PartOf = ["graphical-session.target"];
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Service = {
|
|
||||||
# Type = "oneshot";
|
|
||||||
# ExecStart = "${wallpaperRandomizer}/bin/wallpaperRandomizer";
|
|
||||||
# IOSchedulingClass = "idle";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
# timers.wallpaperRandomizer = {
|
|
||||||
# Unit = {Description = "Set random desktop background using hyprpaper on an interval";};
|
|
||||||
|
|
||||||
# Timer = {OnUnitActiveSec = "6h";};
|
|
||||||
|
|
||||||
# Install = {WantedBy = ["timers.target"];};
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
}
|
|
||||||
@@ -1,331 +0,0 @@
|
|||||||
{inputs, pkgs, lib, config, ...}:
|
|
||||||
let
|
|
||||||
cfg = config.nix-config.style;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.nix-config.waybar = {
|
|
||||||
burninPrevention = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = true;
|
|
||||||
description = "Enable burn-in prevention for Waybar";
|
|
||||||
example = ''
|
|
||||||
burninPrevention = true;
|
|
||||||
'';
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
|
|
||||||
# required to autoload fonts from packages installed via Home Manager
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
|
|
||||||
# waybar requires font-awesome
|
|
||||||
home.packages = [
|
|
||||||
pkgs.pavucontrol
|
|
||||||
];
|
|
||||||
|
|
||||||
# enable waybar
|
|
||||||
programs.waybar.enable = false;
|
|
||||||
programs.waybar = {
|
|
||||||
settings = {
|
|
||||||
|
|
||||||
mainBar = {
|
|
||||||
layer = "top";
|
|
||||||
position = "top";
|
|
||||||
|
|
||||||
margin-top = 5;
|
|
||||||
# margin-bottom = 2;
|
|
||||||
# margin-left = 5;
|
|
||||||
# margin-right = 5;
|
|
||||||
|
|
||||||
# margin between the modules
|
|
||||||
spacing = 2;
|
|
||||||
|
|
||||||
modules-left = [
|
|
||||||
"hyprland/workspaces"
|
|
||||||
"hyprland/window"
|
|
||||||
];
|
|
||||||
|
|
||||||
modules-center = [
|
|
||||||
"clock"
|
|
||||||
"custom/notification"
|
|
||||||
];
|
|
||||||
|
|
||||||
modules-right = [
|
|
||||||
"tray"
|
|
||||||
"privacy"
|
|
||||||
"network"
|
|
||||||
"bluetooth"
|
|
||||||
"wireplumber"
|
|
||||||
"battery"
|
|
||||||
"backlight"
|
|
||||||
"idle_inhibitor"
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
# module specific settings
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
format = "{icon}";
|
|
||||||
format-icons = {
|
|
||||||
active = "●";
|
|
||||||
default = "○";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"hyprland/window"= {
|
|
||||||
"icon" = true;
|
|
||||||
"separate-outputs" = true;
|
|
||||||
"format" = "{}";
|
|
||||||
"rewrite" = {
|
|
||||||
"(.*) — Mozilla Firefox" = "$1";
|
|
||||||
"(.*) — Zen Browser" = "$1";
|
|
||||||
"(.*) - fish" = "> [$1]";
|
|
||||||
"(.*) - Visual Studio Code" = "$1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"clock" = {
|
|
||||||
format = "{:%H:%M}";
|
|
||||||
interval = 1;
|
|
||||||
tooltip-format = "{calendar}";
|
|
||||||
# calendar = {
|
|
||||||
# format = "%Y-%m-%d\n %A\n\n%H:%M";
|
|
||||||
# start-day = 1; # Monday
|
|
||||||
# first-weekday = 1; # Monday
|
|
||||||
# week-number = false;
|
|
||||||
# long-weekdays = true;
|
|
||||||
# hide-if-empty = false;
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
"idle_inhibitor" = {
|
|
||||||
format = "{icon}";
|
|
||||||
format-icons = {
|
|
||||||
activated = "";
|
|
||||||
deactivated = "☕";
|
|
||||||
};
|
|
||||||
tooltip = "true";
|
|
||||||
};
|
|
||||||
"bluetooth" = {
|
|
||||||
format-on = "";
|
|
||||||
format-off = "";
|
|
||||||
format-disabled = "";
|
|
||||||
format-connected-battery = "{device_battery_percentage}% ";
|
|
||||||
format-alt = "{device_alias} ";
|
|
||||||
tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} connected";
|
|
||||||
tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}";
|
|
||||||
tooltip-format-enumerate-connected = "{device_alias}\n{device_address}";
|
|
||||||
tooltip-format-enumerate-connected-battery = "{device_alias}\n{device_address}\n{device_battery_percentage}%";
|
|
||||||
on-click-right = "XDG_CURRENT_DESKTOP=GNOME gnome-control-center bluetooth";
|
|
||||||
};
|
|
||||||
"battery" = {
|
|
||||||
interval = 60;
|
|
||||||
states = {
|
|
||||||
good = 80;
|
|
||||||
warning = 30;
|
|
||||||
critical = 10;
|
|
||||||
};
|
|
||||||
format = "{capacity}% {icon}";
|
|
||||||
format-charging = "{capacity}% ";
|
|
||||||
format-plugged = "{capacity}% ";
|
|
||||||
format-icons = [ "" "" "" "" "" "" ];
|
|
||||||
};
|
|
||||||
"backlight" = {
|
|
||||||
# format = "{percent}% {icon}";
|
|
||||||
format = "{icon}";
|
|
||||||
tooltip-format = "{percent}%";
|
|
||||||
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
|
||||||
};
|
|
||||||
"wireplumber" = {
|
|
||||||
scroll-step = 1;
|
|
||||||
format = "{volume}% {icon}";# {format_source}";
|
|
||||||
format-bluetooth = "{volume}% {icon}";# {format_source}";
|
|
||||||
format-bluetooth-muted = " {icon}";# {format_source}";
|
|
||||||
format-muted = "";# {format_source}";
|
|
||||||
format-alt = "{format_source} {icon}";
|
|
||||||
# format-source = " {volume}%";
|
|
||||||
# format-source-muted = "";
|
|
||||||
format-icons = {
|
|
||||||
headphone = "";
|
|
||||||
hands-free = "";
|
|
||||||
headset = "";
|
|
||||||
phone = "";
|
|
||||||
portable = "";
|
|
||||||
default = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
|
||||||
on-click-right = "XDG_CURRENT_DESKTOP=GNOME gnome-control-center sound";
|
|
||||||
};
|
|
||||||
"memory" = {
|
|
||||||
interval = 5;
|
|
||||||
format = " {}%";
|
|
||||||
max-length = 10;
|
|
||||||
};
|
|
||||||
"tray" = {
|
|
||||||
spacing = 5;
|
|
||||||
};
|
|
||||||
"custom/notification" = {
|
|
||||||
format = "{icon} {}";
|
|
||||||
format-icons = {
|
|
||||||
notification = "<span foreground='red'><sup></sup></span>";
|
|
||||||
none = "";
|
|
||||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
|
||||||
dnd-none = "";
|
|
||||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
|
||||||
inhibited-none = "";
|
|
||||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
|
||||||
dnd-inhibited-none = "";
|
|
||||||
};
|
|
||||||
return-type = "json";
|
|
||||||
exec-if = "which swaync-client";
|
|
||||||
exec = "swaync-client -swb";
|
|
||||||
on-click = "swaync-client -t -sw";
|
|
||||||
on-click-right = "swaync-client -d -sw";
|
|
||||||
escape = true;
|
|
||||||
};
|
|
||||||
"network" = {
|
|
||||||
format = "";
|
|
||||||
format-ethernet = " {ipaddr}";
|
|
||||||
format-wifi = "{icon}";
|
|
||||||
format-icons = [ "" "" "" "" "" ];
|
|
||||||
format-disconnected = "";
|
|
||||||
tooltip-format = " {ifname} via {gwaddr}";
|
|
||||||
tooltip-format-wifi = ''
|
|
||||||
{essid}({signalStrength}%), {frequency} GHz (Interface: {ifname})
|
|
||||||
IP: {ipaddr} GW: {gwaddr}
|
|
||||||
|
|
||||||
<span color='#a6da95'>{bandwidthUpBits}</span> <span color='#ee99a0'>{bandwidthDownBits}</span> <span color='#c6a0f6'>{bandwidthTotalBits}</span>
|
|
||||||
'';
|
|
||||||
tooltip-format-ethernet = ''
|
|
||||||
{ifname} - {ipaddr}/{cidr}
|
|
||||||
|
|
||||||
<span color='#a6da95'>{bandwidthUpBits}</span> <span color='#ee99a0'>{bandwidthDownBits}</span> <span color='#c6a0f6'>{bandwidthTotalBits}</span>
|
|
||||||
'';
|
|
||||||
tooltip-format-disconnected = "Disconnected";
|
|
||||||
on-click = "XDG_CURRENT_DESKTOP=GNOME gnome-control-center wifi";
|
|
||||||
};
|
|
||||||
"privacy" = {
|
|
||||||
icon-spacing = 4;
|
|
||||||
# icon-size" = 18;
|
|
||||||
transition-duration = 250;
|
|
||||||
modules = [
|
|
||||||
{
|
|
||||||
type = "screenshare";
|
|
||||||
tooltip = true;
|
|
||||||
# tooltip-icon-size = 24
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "audio-out";
|
|
||||||
tooltip = true;
|
|
||||||
# tooltip-icon-size = 24
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "audio-in";
|
|
||||||
tooltip = true;
|
|
||||||
# tooltip-icon-size = 24
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
style = ''
|
|
||||||
* {
|
|
||||||
font-family: "${cfg.monospaceFont}";
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: ${builtins.toString (cfg.fontSizes.desktop + 5)}px;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.module {
|
|
||||||
background: rgba(0, 0, 0, 0.6);
|
|
||||||
color: white;
|
|
||||||
border-radius: 7px;
|
|
||||||
margin: 1px 3px;
|
|
||||||
padding: 1px 6px;
|
|
||||||
animation: bgFade 3600s infinite alternate, textColorFade 3600s infinite alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
box.module button:hover {
|
|
||||||
box-shadow: inset 0 -3px #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*.modules-left {
|
|
||||||
padding: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-right {
|
|
||||||
padding: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-center {
|
|
||||||
padding: 3px;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
color: white;
|
|
||||||
background: none;
|
|
||||||
animation: textColorFade 3600s infinite alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning {
|
|
||||||
background:rgba(240, 165, 0, 0.6);
|
|
||||||
}
|
|
||||||
#battery.critical {
|
|
||||||
background:rgba(255, 0, 0, 0.6);
|
|
||||||
}
|
|
||||||
#battery.charging {
|
|
||||||
background-color:rgba(14, 173, 0, 0.6);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#privacy {
|
|
||||||
color: #ffffff;
|
|
||||||
background:rgba(240, 165, 0, 0.6);
|
|
||||||
border-radius: 7px;
|
|
||||||
margin: 1px 3px;
|
|
||||||
padding: 1px 6px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@keyframes bgFade {
|
|
||||||
0% {
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
background-color: black;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes textColorFade {
|
|
||||||
0% {
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
/* 45% {
|
|
||||||
color: black;
|
|
||||||
} */
|
|
||||||
60% {
|
|
||||||
color: rgb(29, 38, 96);
|
|
||||||
}
|
|
||||||
/* 55% {
|
|
||||||
color: white;
|
|
||||||
} */
|
|
||||||
100% {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
let
|
|
||||||
cfg = config.nix-config.style;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
services.swaync = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
control-center-margin-top = 13;
|
|
||||||
control-center-margin-bottom = 0;
|
|
||||||
control-center-margin-right = 14;
|
|
||||||
control-center-margin-left = 0;
|
|
||||||
notification-2fa-action = true;
|
|
||||||
notification-inline-replies = true;
|
|
||||||
notification-icon-size = 48;
|
|
||||||
notification-body-image-height = 160;
|
|
||||||
notification-body-image-width = 200;
|
|
||||||
notification-window-width = 400;
|
|
||||||
timeout = 6;
|
|
||||||
timeout-low = 3;
|
|
||||||
timeout-critical = 0;
|
|
||||||
|
|
||||||
image-visibility = "when-available";
|
|
||||||
transition-time = 200;
|
|
||||||
hide-on-clear = false;
|
|
||||||
hide-on-action = true;
|
|
||||||
script-fail-notify = true;
|
|
||||||
widgets = [
|
|
||||||
"dnd"
|
|
||||||
"buttons-grid"
|
|
||||||
"mpris"
|
|
||||||
"volume"
|
|
||||||
"backlight"
|
|
||||||
"title"
|
|
||||||
"notifications"
|
|
||||||
];
|
|
||||||
widget-config = {
|
|
||||||
title = {
|
|
||||||
text = "Notifications";
|
|
||||||
clear-all-button = true;
|
|
||||||
button-text = "";
|
|
||||||
};
|
|
||||||
dnd = {
|
|
||||||
text = "Do Not Disturb";
|
|
||||||
};
|
|
||||||
label = {
|
|
||||||
max-lines = 1;
|
|
||||||
text = "Notification";
|
|
||||||
};
|
|
||||||
mpris = {
|
|
||||||
image-size = 50;
|
|
||||||
image-radius = 0;
|
|
||||||
};
|
|
||||||
volume = {
|
|
||||||
label = "";
|
|
||||||
};
|
|
||||||
backlight = {
|
|
||||||
label = "";
|
|
||||||
device = "amdgpu_bl2";
|
|
||||||
};
|
|
||||||
buttons-grid = {
|
|
||||||
actions = [
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
|
||||||
type = "toggle";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
|
||||||
type = "toggle";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "nm-connection-editor";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "blueman-manager";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "bash -c $HOME/.config/hypr/scripts/airplaneMode.sh";
|
|
||||||
type = "toggle";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "shutdown now";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "hyprlock";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
label = "";
|
|
||||||
command = "~/.config/hypr/scripts/wlogout.sh";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
style = ''
|
|
||||||
* {
|
|
||||||
font-family: "monospace";
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -90,7 +90,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
emoji = {
|
emoji = {
|
||||||
package = pkgs.noto-fonts-emoji;
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
name = "Noto Color Emoji";
|
name = "Noto Color Emoji";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ in
|
|||||||
defaultSession = "hyprland";
|
defaultSession = "hyprland";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xserver.displayManager.gdm = {
|
services.displayManager.gdm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wayland = true;
|
wayland = true;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user