Compare commits

..

10 commits

13 changed files with 217 additions and 137 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

View file

@ -52,8 +52,8 @@ in
users.users.${username} = { users.users.${username} = {
isNormalUser = true; isNormalUser = true;
description = fullname; description = fullname;
extraGroups = [ "wheel" "networkmanager" ] extraGroups = [ "wheel" "networkmanager" "video" ]
++ lib.optionals isMobile [ "dialout" "feedbackd" "video" ]; ++ lib.optionals isMobile [ "dialout" "feedbackd" ];
shell = pkgs.fish; shell = pkgs.fish;
inherit hashedPassword; inherit hashedPassword;
}; };

View file

@ -1,16 +1,16 @@
{ config, lib, pkgs, tokyo-night-sddm-src, ... }: { config, lib, pkgs, tokyo-night-sddm-src, ... }:
lib.mkIf (config.platform != "mobile") let
(let tokyo-night-sddm = pkgs.stdenv.mkDerivation {
tokyo-night-sddm = with pkgs.libsForQt5; pkgs.stdenv.mkDerivation {
name = "tokyo-night-sddm"; name = "tokyo-night-sddm";
src = tokyo-night-sddm-src; src = tokyo-night-sddm-src;
installPhase = '' installPhase = ''
cp -f ${./tokyo-night-sddm/theme.conf} ./theme.conf cp -f ${./tokyo-night-sddm/theme.conf} ./theme.conf
cp -f ${../assets/background/bg_lock.png} Backgrounds/background.png
mkdir -p $out/share/sddm/themes/tokyo-night-sddm mkdir -p $out/share/sddm/themes/tokyo-night-sddm
mv * $out/share/sddm/themes/tokyo-night-sddm mv * $out/share/sddm/themes/tokyo-night-sddm
''; '';
}; };
in { in lib.mkIf (config.platform != "mobile") {
environment.systemPackages = with pkgs.libsForQt5; [ environment.systemPackages = with pkgs.libsForQt5; [
tokyo-night-sddm # Theme tokyo-night-sddm # Theme
qtbase qtbase
@ -25,4 +25,4 @@ lib.mkIf (config.platform != "mobile")
wayland.enable = true; wayland.enable = true;
theme = "tokyo-night-sddm"; theme = "tokyo-night-sddm";
}; };
}) }

View file

@ -1,6 +1,19 @@
{ config, pkgs, ... }: { config, pkgs, lib, ... }:
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs;
let aspell' = aspellWithDicts.override {
aspell = aspell.overrideAttrs (super: {
postInstall = super.postInstall + ''
mkdir -p $out/etc
cat > $out/etc/aspell.conf << EOF
lang en_US
add-extra-dicts en-computers.rws
add-extra-dicts en_US-science.rws
EOF
'';
});
} (ps: with ps; [ en en-computers en-science ]);
in [
gcc gcc
ffmpeg ffmpeg
openssl openssl
@ -21,10 +34,13 @@
gnuplot gnuplot
graphviz graphviz
texlive.combined.scheme-full texlive.combined.scheme-full
(aspellWithDicts (ps: with ps; [ en en-computers en-science ])) aspell'
nil
]; ];
programs.hyprland.enable = true; programs.hyprland.enable = true;
security.pam.services.hyprlock = {};
programs.fish.enable = true; programs.fish.enable = true;
programs.sway.enable = true; programs.sway.enable = true;
@ -43,4 +59,13 @@
keep-derivations = true keep-derivations = true
keep-outputs = true keep-outputs = true
''; '';
# WLuma
# services.udev.extraRules = let core = exe: lib.getExe' pkgs.coreutils exe; in ''
# ACTION=="add", SUBSYSTEM=="backlight", RUN+="${core "chgrp"} video /sys/class/backlight/%k/brightness"
# ACTION=="add", SUBSYSTEM=="backlight", RUN+="${core "chmod"} g+w /sys/class/backlight/%k/brightness"
# ACTION=="add", SUBSYSTEM=="leds", RUN+="${core "chgrp"} video /sys/class/leds/%k/brightness"
# ACTION=="add", SUBSYSTEM=="leds", RUN+="${core "chmod"} g+w /sys/class/leds/%k/brightness"
# '';
} }

View file

@ -1,9 +1,9 @@
[General] [General]
Background="Backgrounds/shacks.png" Background="Backgrounds/background.png"
## Path relative to the theme root directory. Most standard image file formats are allowed including support for transparency. (e.g. background.jpeg/illustration.GIF/Foto.png/undraw.svgz) ## Path relative to the theme root directory. Most standard image file formats are allowed including support for transparency. (e.g. background.jpeg/illustration.GIF/Foto.png/undraw.svgz)
DimBackgroundImage="0.3" DimBackgroundImage="0"
## Double between 0 and 1 used for the alpha channel of a darkening overlay. Use to darken your background image on the fly. ## Double between 0 and 1 used for the alpha channel of a darkening overlay. Use to darken your background image on the fly.
ScaleImageCropped="true" ScaleImageCropped="true"
@ -17,7 +17,7 @@ ScreenHeight="1080"
## [Blur Settings] ## [Blur Settings]
FullBlur="true" FullBlur="false"
PartialBlur="false" PartialBlur="false"
## Enable or disable the blur effect; if HaveFormBackground is set to true then PartialBlur will trigger the BackgroundColor of the form element to be partially transparent and blend with the blur. ## Enable or disable the blur effect; if HaveFormBackground is set to true then PartialBlur will trigger the BackgroundColor of the form element to be partially transparent and blend with the blur.
@ -31,7 +31,7 @@ BlurRadius="65"
HaveFormBackground="false" HaveFormBackground="false"
## Have a full opacity background color behind the form that takes slightly more than 1/3 of screen estate; if PartialBlur is set to true then HaveFormBackground will trigger the BackgroundColor of the form element to be partially transparent and blend with the blur. ## Have a full opacity background color behind the form that takes slightly more than 1/3 of screen estate; if PartialBlur is set to true then HaveFormBackground will trigger the BackgroundColor of the form element to be partially transparent and blend with the blur.
FormPosition="center" FormPosition="right"
## Position of the form which takes roughly 1/3 of screen estate. Can be left, center or right. ## Position of the form which takes roughly 1/3 of screen estate. Can be left, center or right.
BackgroundImageHAlignment="center" BackgroundImageHAlignment="center"
@ -40,17 +40,17 @@ BackgroundImageHAlignment="center"
BackgroundImageVAlignment="center" BackgroundImageVAlignment="center"
## As before but for the vertical position of the background picture relative to its visible area. ## As before but for the vertical position of the background picture relative to its visible area.
MainColor="#7aa2f7" MainColor="#c0caf5"
## Used for all elements when not focused/hovered etc. Usually the best effect is achieved by having this be either white or a very dark grey like #444 (not black for smoother antialias) ## Used for all elements when not focused/hovered etc. Usually the best effect is achieved by having this be either white or a very dark grey like #444 (not black for smoother antialias)
## Colors can be HEX or Qt names (e.g. red/salmon/blanchedalmond). See https://doc.qt.io/qt-5/qml-color.html ## Colors can be HEX or Qt names (e.g. red/salmon/blanchedalmond). See https://doc.qt.io/qt-5/qml-color.html
AccentColor="#d372a9" AccentColor="#f6a8cf"
## Used for elements in focus/hover/pressed. Should be contrasting to the background and the MainColor to achieve the best effect. ## Used for elements in focus/hover/pressed. Should be contrasting to the background and the MainColor to achieve the best effect.
BackgroundColor="#16161e" BackgroundColor="#0a0a11"
## Used for the user and session selection background as well as for ScreenPadding and FormBackground when either is true. If PartialBlur and FormBackground are both enabled this color will blend with the blur effect. ## Used for the user and session selection background as well as for ScreenPadding and FormBackground when either is true. If PartialBlur and FormBackground are both enabled this color will blend with the blur effect.
OverrideLoginButtonTextColor="#16161e" OverrideLoginButtonTextColor="#343b58"
## The text of the login button may become difficult to read depending on your color choices. Use this option to set it independently for legibility. ## The text of the login button may become difficult to read depending on your color choices. Use this option to set it independently for legibility.
InterfaceShadowSize="6" InterfaceShadowSize="6"
@ -65,7 +65,7 @@ RoundCorners="20"
ScreenPadding="0" ScreenPadding="0"
## Integer in pixels. Increase or delete this to have a padding of color BackgroundColor all around your screen. This makes your login greeter appear as if it was a canvas. Cool! ## Integer in pixels. Increase or delete this to have a padding of color BackgroundColor all around your screen. This makes your login greeter appear as if it was a canvas. Cool!
Font="JetBrainsMono Nerd Font" Font="Quicksand"
## If you want to choose a custom font it will have to be available to the X root user. See https://wiki.archlinux.org/index.php/fonts#Manual_installation ## If you want to choose a custom font it will have to be available to the X root user. See https://wiki.archlinux.org/index.php/fonts#Manual_installation
FontSize="" FontSize=""

View file

@ -1,4 +1,4 @@
{ config, pkgs, username, fullname, email, ... }: { config, pkgs, username, ... }:
{ {
home.username = username; home.username = username;
home.homeDirectory = "/home/" + username; home.homeDirectory = "/home/" + username;
@ -6,31 +6,4 @@
home.stateVersion = "21.11"; home.stateVersion = "21.11";
imports = [ ./shell ./wayland ./xdg.nix ./tools.nix ./email.nix ]; imports = [ ./shell ./wayland ./xdg.nix ./tools.nix ./email.nix ];
programs.git = {
enable = true;
userName = fullname;
userEmail = email;
signing.key = "6CB106C25E86A9F7";
signing.signByDefault = true;
extraConfig = {
credential.helper = "store";
git.allowForcePush = true;
push.followTags = true;
init.defaultBranch = "main";
};
delta.enable = true;
delta.options = {
features = "decorations";
relative-paths = true;
decorations = {
file-style = "yellow";
hunk-header-style = "line-number syntax";
};
};
};
} }

View file

@ -1,4 +1,4 @@
{ config, pkgs, fullname, email, ... }: { config, pkgs, lib, fullname, email, ... }:
let let
ksumail = "bsheiban@students.kennesaw.edu"; ksumail = "bsheiban@students.kennesaw.edu";
maildir = "${config.xdg.dataHome}/mail"; maildir = "${config.xdg.dataHome}/mail";
@ -18,7 +18,7 @@ in {
address = email; address = email;
userName = email; userName = email;
flavor = "gmail.com"; flavor = "gmail.com";
passwordCommand = "${pass}/bin/pass Email/GmailApp/${email}"; passwordCommand = "${lib.getExe pass} email/GmailApp/${email}";
primary = true; primary = true;
mbsync = { mbsync = {
enable = true; enable = true;
@ -34,7 +34,7 @@ in {
address = ksumail; address = ksumail;
userName = ksumail; userName = ksumail;
flavor = "outlook.office365.com"; flavor = "outlook.office365.com";
passwordCommand = "${pass}/bin/pass Email/${ksumail}"; passwordCommand = "${lib.getExe pass} email/${ksumail}";
mbsync = { mbsync = {
enable = true; enable = true;
create = "both"; create = "both";
@ -51,7 +51,7 @@ in {
services = { services = {
mbsync = { mbsync = {
enable = true; enable = true;
postExec = "${pkgs.mu}/bin/mu index -m ${maildir}"; postExec = "${lib.getExe pkgs.mu} index -m ${maildir}";
}; };
}; };
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, fullname, email, ... }:
{ {
# Password Store # Password Store
@ -18,4 +18,34 @@
programs.mpv.config = { programs.mpv.config = {
osc = false; osc = false;
}; };
# Git
programs.git = {
enable = true;
userName = fullname;
userEmail = email;
signing.key = "6CB106C25E86A9F7";
signing.signByDefault = true;
extraConfig = {
github.user = "kiana-S";
credential.helper = "store";
git.allowForcePush = true;
push.followTags = true;
init.defaultBranch = "main";
};
delta.enable = true;
delta.options = {
features = "decorations";
relative-paths = true;
decorations = {
file-style = "yellow";
hunk-header-style = "line-number syntax";
};
};
};
} }

View file

@ -59,7 +59,7 @@
:halign "end" :halign "end"
:hexpand true :hexpand true
:yalign 0.5 :yalign 0.5
:text {formattime(EWW_TIME, "%A, %Y-%m-%d")}))) :text {formattime(EWW_TIME, "%a, %Y-%m-%d")})))
;; Playerctl ;; Playerctl
@ -182,14 +182,16 @@
(defwidget bar_battery [] (defwidget bar_battery []
(bar_circular :class "bar-battery" (bar_circular :class "bar-battery"
:critical {EWW_BATTERY["BAT1"].capacity <= 15} :critical {EWW_BATTERY["BAT1"].capacity <= 15
:tooltip "Battery: ${EWW_BATTERY["BAT1"].capacity}%" && EWW_BATTERY["BAT1"].status != "Charging"}
:tooltip "Battery: ${EWW_BATTERY["BAT1"].capacity}%${
EWW_BATTERY["BAT1"].status == "Charging" ? " (Charging)" : ""}"
:value {EWW_BATTERY["BAT1"].capacity} :value {EWW_BATTERY["BAT1"].capacity}
:symbol {EWW_BATTERY["BAT1"].status == "Charging" ? "󰂄" : "󰁹"})) :symbol {EWW_BATTERY["BAT1"].status == "Charging" ? "󰂄" : "󰁹"}))
(defwidget bar_ram [] (defwidget bar_ram []
(bar_circular :class "bar-ram" (bar_circular :class "bar-ram"
:critical {EWW_RAM.used_mem_perc >= 95} :critical {EWW_RAM.used_mem_perc >= 80}
:tooltip "RAM: ${round(EWW_RAM.used_mem / 1073741824, 2) :tooltip "RAM: ${round(EWW_RAM.used_mem / 1073741824, 2)
} / ${round(EWW_RAM.total_mem / 1073741824, 2)} GB (${round(EWW_RAM.used_mem_perc, 2)}%)" } / ${round(EWW_RAM.total_mem / 1073741824, 2)} GB (${round(EWW_RAM.used_mem_perc, 2)}%)"
:value {EWW_RAM.used_mem_perc} :value {EWW_RAM.used_mem_perc}
@ -197,6 +199,7 @@
(defwidget bar_storage [] (defwidget bar_storage []
(bar_circular :class "bar-storage" (bar_circular :class "bar-storage"
:critical {EWW_DISK["/"].used_perc >= 95}
:tooltip "Storage: ${round(EWW_DISK["/"].used / 1073741824, 2) :tooltip "Storage: ${round(EWW_DISK["/"].used / 1073741824, 2)
} / ${round(EWW_DISK["/"].total / 1073741824, 0)} GB (${round(EWW_DISK["/"].used_perc, 2)}%)" } / ${round(EWW_DISK["/"].total / 1073741824, 0)} GB (${round(EWW_DISK["/"].used_perc, 2)}%)"
:value {EWW_DISK["/"].used_perc} :value {EWW_DISK["/"].used_perc}
@ -252,14 +255,14 @@
:halign "start" :halign "start"
:hexpand true :hexpand true
(bar_window :class-limit 60 (bar_window :class-limit 60
:title-limit 55))) :title-limit 50)))
(defwidget laptop_bar_left_wing [] (defwidget laptop_bar_left_wing []
(box :orientation "h" (box :orientation "h"
:space-evenly false :space-evenly false
:halign "end" :halign "end"
:hexpand true :hexpand true
(bar_time :width 195))) (bar_time :width 175)))
(defwidget laptop_bar_center [] (defwidget laptop_bar_center []
(bar_workspaces)) (bar_workspaces))
@ -268,7 +271,7 @@
(box :orientation "h" (box :orientation "h"
:space-evenly false :space-evenly false
:hexpand true :hexpand true
(bar_music :width 195 (bar_music :width 175
:artist-limit 30 :artist-limit 30
:title-limit 25))) :title-limit 25)))
@ -317,7 +320,7 @@
:space-evenly false :space-evenly false
:halign "end" :halign "end"
:hexpand true :hexpand true
(bar_time :width 195))) (bar_time :width 175)))
(defwidget desktop_bar_center [] (defwidget desktop_bar_center []
(bar_workspaces)) (bar_workspaces))
@ -326,7 +329,7 @@
(box :orientation "h" (box :orientation "h"
:space-evenly false :space-evenly false
:hexpand true :hexpand true
(bar_music :width 195 (bar_music :width 175
:artist-limit 30 :artist-limit 30
:title-limit 25))) :title-limit 25)))
@ -341,7 +344,9 @@
(bar_internet) (bar_internet)
(bar_sep) (bar_sep)
(bar_storage) (bar_storage)
(bar_ram))) (bar_ram)
(bar_sep)
(bar_idleinhibit)))
(defwidget desktop_bar_layout [] (defwidget desktop_bar_layout []
(centerbox :class "bar" (centerbox :class "bar"
@ -351,7 +356,7 @@
:hexpand true :hexpand true
(desktop_bar_left_edge) (desktop_bar_left_edge)
(desktop_bar_left_wing)) (desktop_bar_left_wing))
(bar_center) (desktop_bar_center)
(box :orientation "h" (box :orientation "h"
:space-evenly false :space-evenly false
(desktop_bar_right_wing) (desktop_bar_right_wing)

View file

@ -16,7 +16,14 @@ in {
plugins = with pkgs.hyprlandPlugins; [ hy3 ]; plugins = with pkgs.hyprlandPlugins; [ hy3 ];
settings = { settings = let
# Volume using pamixer
audio-disp = "${scripts}/multimedia Volume $(pamixer --get-mute) pamixer $(pamixer --get-volume)";
audio = cmd: "pamixer ${cmd} && ${audio-disp}";
# Brightness using brightnessctl
brightness-disp = ''${scripts}/multimedia Brightness "" brightnessctl $(brightnessctl -e -m | cut -d, -f4 | tr -d "%")'';
brightness = x: "brightnessctl -e set ${x} && ${brightness-disp}";
in {
"$mod" = modifier; "$mod" = modifier;
"$terminal" = terminal; "$terminal" = terminal;
"$menu" = "rofi -show drun"; "$menu" = "rofi -show drun";
@ -36,9 +43,7 @@ in {
resize_on_border = true; resize_on_border = true;
"col.inactive_border" = "rgb(474f6f)"; "col.inactive_border" = "rgb(474f6f)";
"col.active_border" = "rgb(7bc5e4)"; "col.active_border" = "rgb(b4f9f8)";
"col.nogroup_border" = "rgb(d5556f)";
"col.nogroup_border_active" = "rgb(d5556f)";
}; };
plugin.hy3 = { plugin.hy3 = {
@ -47,6 +52,10 @@ in {
tabs = { tabs = {
height = 6; height = 6;
render_text = false; render_text = false;
"col.active" = "rgb(b4f9f8)";
"col.inactive" = "rgb(474f6f)";
"col.urgent" = "rgb(f7768e)";
}; };
}; };
@ -61,9 +70,6 @@ in {
font_size = 14; font_size = 14;
}; };
windowrulev2 = [
"bordercolor rgb(e0af68), fullscreen:1"
];
layerrule = [ layerrule = [
"noanim, ^(notifications)$" "noanim, ^(notifications)$"
]; ];
@ -87,7 +93,7 @@ in {
"$mod, Return, exec, $terminal" "$mod, Return, exec, $terminal"
"$mod, D, exec, $menu" "$mod, D, exec, $menu"
"$mod Shift, E, exec, ${scripts}/exit" "$mod Shift, E, exec, ${scripts}/exit"
"$mod, M, exec, swaylock" "$mod, M, exec, hyprlock --immediate"
# Emacs Everywhere # Emacs Everywhere
# "$mod, Q, exec, $HOME/.config/emacs/bin/doom +everywhere" # "$mod, Q, exec, $HOME/.config/emacs/bin/doom +everywhere"
@ -153,7 +159,7 @@ in {
bindl = [ bindl = [
# XF86 key bindings # XF86 key bindings
", XF86AudioMute, exec, pamixer --toggle-mute" ", XF86AudioMute, exec, ${audio "--toggle-mute"}"
", XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle" ", XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle"
", XF86AudioPlay, exec, playerctl play-pause" ", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioNext, exec, playerctl next" ", XF86AudioNext, exec, playerctl next"
@ -164,14 +170,7 @@ in {
"Shift, Print, exec, ${scripts}/screenshot-slurp" "Shift, Print, exec, ${scripts}/screenshot-slurp"
]; ];
bindle = let bindle = [
# Volume using pamixer
audio-disp = "${scripts}/multimedia Volume pamixer $(pamixer --get-volume)";
audio = cmd: "pamixer ${cmd} && ${audio-disp}";
# Brightness using brightnessctl
brightness-disp = ''${scripts}/multimedia Brightness brightnessctl $(brightnessctl -e -m | cut -d, -f4 | tr -d "%")'';
brightness = x: "brightnessctl -e set ${x} && ${brightness-disp}";
in [
# XF86 key bindings # XF86 key bindings
", XF86AudioRaiseVolume, exec, ${audio "-i 2"}" ", XF86AudioRaiseVolume, exec, ${audio "-i 2"}"
", XF86AudioLowerVolume, exec, ${audio "-d 2"}" ", XF86AudioLowerVolume, exec, ${audio "-d 2"}"

View file

@ -21,13 +21,13 @@ in {
services.hypridle.enable = true; services.hypridle.enable = true;
services.hypridle.settings = { services.hypridle.settings = {
general = { general = {
before_sleep_cmd = "swaylock -f"; before_sleep_cmd = "hyprlock --immediate";
}; };
listener = [ listener = [
{ {
timeout = 120; timeout = 120;
on-timeout = "swaylock -f --grace=180"; on-timeout = "hyprlock";
} }
{ {
timeout = 600; timeout = 600;
@ -47,7 +47,7 @@ in {
Unit = { Unit = {
Description = "Inhibit Wayland idling when media is played through pipewire"; Description = "Inhibit Wayland idling when media is played through pipewire";
Documentation= "https://github.com/rafaelrc7/wayland-pipewire-idle-inhibit"; Documentation = "https://github.com/rafaelrc7/wayland-pipewire-idle-inhibit";
After = [ "graphical-session-pre.target" ]; After = [ "graphical-session-pre.target" ];
PartOf = [ "graphical-session.target" ]; PartOf = [ "graphical-session.target" ];
ConditionEnvironment = "WAYLAND_DISPLAY"; ConditionEnvironment = "WAYLAND_DISPLAY";

View file

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env bash
notify-send "$1" -c multimedia -a "$2" \ notify-send "$1" "$2" -c multimedia -a "$3" \
$(makoctl list | jaq -r 'first(.data[][]|select(.category.data=="multimedia")|.id.data|["-r",.])[]') \ $(makoctl list | jaq -r 'first(.data[][]|select(.category.data=="multimedia")|.id.data|["-r",.])[]') \
-h "INT:value:$3" -h "INT:value:$4"

View file

@ -1,7 +1,6 @@
{ pkgs, config, ... }: { pkgs, lib, config, ... }:
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
swaylock-effects
wl-clipboard wl-clipboard
wtype wtype
wlroots wlroots
@ -10,33 +9,7 @@
imv imv
]; ];
xdg.configFile = { xdg.configFile."swaynag/config".text = ''
"swaylock/config".text = ''
ignore-empty-password
fade-in=0.3
indicator
screenshots
font=JetBrainsMono
text-color=ffffff
color=00000000
ring-color=7da6ff
key-hl-color=7bc5e4
line-uses-inside
indicator-radius=120
indicator-thickness=7
clock
datestr=%a, %Y-%m-%d
effect-scale=0.4
effect-vignette=0.3:0.7
effect-blur=2x2
'';
"swaynag/config".text = ''
font=JetBrainsMono 10 font=JetBrainsMono 10
layer=top layer=top
@ -48,6 +21,43 @@
button-background=282E49F0 button-background=282E49F0
button-border-size=2 button-border-size=2
''; '';
# Hyprlock
programs.hyprlock.enable = true;
programs.hyprlock.settings = {
general = {
hide_cursor = true;
disable_loading_bar = true;
grace = 180;
};
background = [
{
monitor = "";
path = "screenshot";
blur_passes = 2;
blur_size = 6;
}
];
input-field = [
{
monitor = "";
size = "500, 50";
position = "0, -80";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(a9b1d6)";
inner_color = "rgb(1a1b26)";
outer_color = "rgb(b4f9f8)";
outline_thickness = 3;
placeholder_text = ''<span foreground="##565f89">Password</span>'';
shadow_passes = 2;
}
];
}; };
# Rofi # Rofi
@ -92,7 +102,7 @@
background-color=#1e0909d0 background-color=#1e0909d0
border-color=#ce7284 border-color=#ce7284
progress-color=source #bc5469 progress-color=source #bc5469
border-size=3 border-size=2
default-timeout=0 default-timeout=0
ignore-timeout=1 ignore-timeout=1
@ -114,15 +124,53 @@
border-size=1 border-size=1
default-timeout=2000 default-timeout=2000
[category=multimedia app-name=pamixer] [category=multimedia app-name=pamixer body=false]
background-color=#111111c0 background-color=#111111c0
border-color=#787c99 border-color=#787c99
progress-color=source #474f6f progress-color=source #474f6f
[category=multimedia app-name=pamixer body=true]
background-color=#111111c0
border-color=#ce7284
progress-color=source #bc5469
[category=multimedia app-name=brightnessctl] [category=multimedia app-name=brightnessctl]
background-color=#111111c0 background-color=#111111c0
border-color=#ffea63 border-color=#ffea63
progress-color=source #a08348 progress-color=source #a08348
''; '';
}; };
# WLuma
# systemd.user.services.wluma = lib.mkIf (config.platform == "laptop") {
# Install.WantedBy = [ "graphical-session.target" ];
# Unit = {
# Description = "Adjust screen brightness based on screen contents and ambient lighting";
# Documentation = "https://github.com/maximbaz/wluma";
# After = [ "graphical-session-pre.target" ];
# PartOf = [ "graphical-session.target" ];
# ConditionEnvironment = "WAYLAND_DISPLAY";
# };
# Service = {
# ExecStart = "${lib.getExe pkgs.wluma}";
# Restart = "always";
# RestartSec = "5";
# PrivateNetwork = "true";
# PrivateMounts = "false";
# };
# };
# xdg.configFile."wluma/config.toml".text = ''
# [als.iio]
# path = "/sys/bus/iio/devices"
# thresholds = { 0 = "night", 20 = "dark", 80 = "dim", 250 = "normal", 500 = "bright", 800 = "outdoors" }
# [[output.backlight]]
# name = "eDP-1"
# path = "/sys/class/backlight/intel_backlight"
# capturer = "wlroots"
# '';
} }