Signed-off-by: gwg313 <gwg313@pm.me>
This commit is contained in:
parent
4c0e29da8f
commit
bb2fe56082
40 changed files with 595 additions and 1144 deletions
|
|
@ -24,7 +24,7 @@
|
|||
./candlekeep/variables.nix
|
||||
# ./nvim.nix
|
||||
../modules/common.nix
|
||||
# ../modules/hyprland.nix
|
||||
../../common/style/vars/vars.nix
|
||||
../modules/hyprland
|
||||
../modules/common-gui.nix
|
||||
../modules/linux-gui.nix
|
||||
|
|
@ -60,7 +60,6 @@
|
|||
# patches = [ ./change-hello-to-hi.patch ];
|
||||
# });
|
||||
# })
|
||||
inputs.hyprpanel.overlay
|
||||
];
|
||||
# Configure your nixpkgs instance
|
||||
config = {
|
||||
|
|
@ -76,53 +75,6 @@
|
|||
homeDirectory = "/home/gwg313";
|
||||
};
|
||||
|
||||
stylix = {
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13; # UI font (GTK/Qt)
|
||||
terminal = 14; # Comfortable for reading code/math
|
||||
desktop = 13; # WM, notifications
|
||||
popups = 12; # Tooltips, menus
|
||||
};
|
||||
};
|
||||
# base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml";
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool-light.yaml";
|
||||
image = ../../wallpapers/floating_city.jpg;
|
||||
# polarity = "dark";
|
||||
autoEnable = true;
|
||||
enable = true;
|
||||
targets.nixvim.enable = false;
|
||||
|
||||
opacity.terminal = 1.0;
|
||||
|
||||
fonts = {
|
||||
serif = {
|
||||
package = pkgs.lmodern;
|
||||
name = "Latin Modern Roman";
|
||||
};
|
||||
|
||||
sansSerif = {
|
||||
package = pkgs.inter;
|
||||
name = "Inter";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = pkgs.fira-code;
|
||||
name = "Fire Code";
|
||||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
cursor = {
|
||||
package = pkgs.vanilla-dmz;
|
||||
name = "Vanilla-DMZ";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@
|
|||
../modules/yazi.nix
|
||||
../modules/qutebrowser.nix
|
||||
../scripts/default.nix
|
||||
../../common/style/vars/vars.nix
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
|
|
@ -74,53 +75,6 @@
|
|||
homeDirectory = "/home/gwg313";
|
||||
};
|
||||
|
||||
stylix = {
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 13; # UI font (GTK/Qt)
|
||||
terminal = 14; # Comfortable for reading code/math
|
||||
desktop = 13; # WM, notifications
|
||||
popups = 12; # Tooltips, menus
|
||||
};
|
||||
};
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
|
||||
# base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool-light.yaml";
|
||||
image = ../../wallpapers/nixos-wallpaper-catppuccin-latte.png;
|
||||
# polarity = "dark";
|
||||
autoEnable = true;
|
||||
enable = true;
|
||||
targets.nixvim.enable = false;
|
||||
|
||||
opacity.terminal = 1.0;
|
||||
|
||||
fonts = {
|
||||
serif = {
|
||||
package = pkgs.lmodern;
|
||||
name = "Latin Modern Roman";
|
||||
};
|
||||
|
||||
sansSerif = {
|
||||
package = pkgs.inter;
|
||||
name = "Inter";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = pkgs.fira-code;
|
||||
name = "Fire Code";
|
||||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
cursor = {
|
||||
package = pkgs.vanilla-dmz;
|
||||
name = "Vanilla-DMZ";
|
||||
size = 24;
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
./obs.nix
|
||||
./thunar.nix
|
||||
./zen.nix
|
||||
./xdg.nix
|
||||
./mime.nix
|
||||
./nixcord.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@
|
|||
with pkgs;
|
||||
[
|
||||
ncdu
|
||||
minio-client
|
||||
|
||||
# Editors
|
||||
# neovim # Improved version of vim, often used with overlays.
|
||||
# vim # Highly configurable text editor popular for efficiency and extensibility.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
# Fzf is a general-purpose command-line fuzzy finder.
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
accent = "#" + config.lib.stylix.colors.base0D;
|
||||
foreground = "#" + config.lib.stylix.colors.base05;
|
||||
|
|
|
|||
12
home-manager/modules/gammastep.nix
Normal file
12
home-manager/modules/gammastep.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
services.gammastep = {
|
||||
enable = true;
|
||||
latitude = 45.4;
|
||||
longitude = -75.7;
|
||||
temperature = {
|
||||
day = 6500;
|
||||
night = 3500;
|
||||
};
|
||||
tray = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
# Hypridle is a daemon that listens for user activity and runs commands when the user is idle.
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
general = {
|
||||
ignore_dbus_inhibit = false;
|
||||
lock_cmd = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
before_sleep_cmd = "loginctl lock-session";
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
};
|
||||
|
||||
listener = [
|
||||
{
|
||||
timeout = 600;
|
||||
on-timeout = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 660;
|
||||
on-timeout = "systemctl suspend";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,206 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ ./waybar.nix ];
|
||||
|
||||
# services.mako = {
|
||||
# enable = true;
|
||||
# defaultTimeout = 4000;
|
||||
# borderRadius = 5;
|
||||
# borderSize = 2;
|
||||
# layer = "overlay";
|
||||
# };
|
||||
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
xwayland.force_zero_scaling = true;
|
||||
|
||||
input = {
|
||||
sensitivity = 0.4;
|
||||
# todo custom
|
||||
accel_profile = "adaptive";
|
||||
# accel_profile = "custom 20000 0.755 0.05 0.855 0.06";
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
scroll_factor = 0.38;
|
||||
clickfinger_behavior = true;
|
||||
};
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 16;
|
||||
resize_on_border = true;
|
||||
hover_icon_on_border = false;
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
master = {
|
||||
# new_is_master = false;
|
||||
smart_resizing = false;
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
force_split = 2;
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 5;
|
||||
active_opacity = 0.93;
|
||||
inactive_opacity = 0.93;
|
||||
fullscreen_opacity = 1;
|
||||
# drop_shadow = false;
|
||||
};
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = [
|
||||
"myBezier, 0.22, 1, 0.36, 1"
|
||||
"snap, 0, 1, 0, 1"
|
||||
];
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 3, default, popin 60%"
|
||||
"border, 1, 0.5, snap"
|
||||
"borderangle, 1, 0.5, snap"
|
||||
"fade, 1, 0.001, myBezier"
|
||||
"workspaces, 1, 0.8, myBezier, fade"
|
||||
];
|
||||
};
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_fingers = 3;
|
||||
workspace_swipe_cancel_ratio = 0.6;
|
||||
workspace_swipe_min_speed_to_force = 30;
|
||||
workspace_swipe_distance = 2000;
|
||||
workspace_swipe_invert = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
force_default_wallpaper = 0;
|
||||
mouse_move_enables_dpms = true;
|
||||
key_press_enables_dpms = true;
|
||||
};
|
||||
|
||||
"$mod" = "SUPER";
|
||||
|
||||
bind = [
|
||||
# general binds
|
||||
",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid
|
||||
# "$mod, RETURN, exec, ${pkgs.alacritty}/bin/alacritty"
|
||||
"$mod, RETURN, exec, ${pkgs.ghostty}/bin/ghostty"
|
||||
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
|
||||
"$mod, Q, killactive"
|
||||
"SUPER_SHIFT, Q, exec, ${pkgs.wlogout}/bin/wlogout"
|
||||
"$mod, SPACE, exec, pkill fuzzel || ${pkgs.fuzzel}/bin/fuzzel" # pkill or allows for toggle
|
||||
"SUPER_SHIFT, SPACE, togglefloating"
|
||||
"$mod, F, fullscreen"
|
||||
# "$mod,F, exec, hyprfocus-toggle" # Toggle HyprFocus
|
||||
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
|
||||
"$mod, B, exec, ${pkgs.grim}/bin/grim \"desktop-$(${pkgs.busybox}/bin/date +\"%Y%m%d%H%m\").png"
|
||||
"SUPER_SHIFT, B, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy" # Screenshot selection directly to clipboard
|
||||
|
||||
# Volume
|
||||
",XF86AudioRaiseVolume, exec, ${pkgs.ponymix}/bin/ponymix inc 2"
|
||||
",XF86AudioLowerVolume, exec, ${pkgs.ponymix}/bin/ponymix dec 2"
|
||||
",XF86AudioMute, exec, ${pkgs.ponymix}/bin/ponymix, toggle"
|
||||
|
||||
# Screen Brightness
|
||||
#",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -A 10"
|
||||
#",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -U 10"
|
||||
# ",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int(($1 + .72) * 1.4) }')\""
|
||||
# ",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int($1 / 1.4) }')\""
|
||||
",XF86MonBrightnessUp, exec, brightness-up" # Brightness Up
|
||||
",XF86MonBrightnessDown, exec, brightness-down" # Brightness Down
|
||||
# move focus
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
"$mod,right,workspace,+1"
|
||||
"$mod,left,workspace,-1"
|
||||
|
||||
# workspace switching
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
|
||||
# move window to workspace
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# Scroll through workspaces
|
||||
"$mod, mouse_down, workspace, e+1"
|
||||
"$mod, mouse_up, workspace, e-1"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# mouse movements
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod_ALT, mouse:273, resizewindow"
|
||||
"$mod_ALT, mouse:272, resizewindow"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
# "eDP-1,highres,0x0,1"
|
||||
# "DP-1,preferred,0x0,1"
|
||||
# "HDMI-A-1,2560x0,auto,1"
|
||||
",preferred,auto,1"
|
||||
];
|
||||
# monitor = [ "DP-1,preferred,0x0,1" ];
|
||||
# monitor = [ "HDMI-A-1,2560x0,auto,1" ];
|
||||
|
||||
# monitor = [ "HDMI-A-1,1920x1080@144,auto,1" ];
|
||||
exec = [ "${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill" ];
|
||||
exec-once = [
|
||||
# Enables clipboard sync
|
||||
"${pkgs.wl-clipboard}/bin/wl-paste -p | ${pkgs.wl-clipboard}/bin/wl-copy"
|
||||
"${pkgs.wl-clipboard}/bin/wl-paste | ${pkgs.wl-clipboard}/bin/wl-copy -p"
|
||||
];
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.extraConfig = ''
|
||||
# will switch to a submap called resize
|
||||
bind=$mod,R,submap,resize
|
||||
|
||||
# will start a submap called "resize"
|
||||
submap=resize
|
||||
|
||||
# sets repeatable binds for resizing the active window
|
||||
binde=,right,resizeactive,10 0
|
||||
binde=,left,resizeactive,-10 0
|
||||
binde=,up,resizeactive,0 -10
|
||||
binde=,down,resizeactive,0 10
|
||||
|
||||
# use reset to go back to the global submap
|
||||
bind=,escape,submap,reset
|
||||
|
||||
# will reset the submap, meaning end the current one and return to the global one
|
||||
submap=reset
|
||||
'';
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
animationSpeed = config.var.theme.animation-speed;
|
||||
animationSpeed = config.theme.animation-speed;
|
||||
|
||||
animationDuration =
|
||||
if animationSpeed == "slow" then
|
||||
|
|
|
|||
|
|
@ -1,29 +1,31 @@
|
|||
# So best window tiling manager
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
border-size = config.var.theme.border-size;
|
||||
gaps-in = config.var.theme.gaps-in;
|
||||
gaps-out = config.var.theme.gaps-out;
|
||||
active-opacity = config.var.theme.active-opacity;
|
||||
inactive-opacity = config.var.theme.inactive-opacity;
|
||||
rounding = config.var.theme.rounding;
|
||||
blur = config.var.theme.blur;
|
||||
border-size = config.theme.border-size;
|
||||
gaps-in = config.theme.gaps-in;
|
||||
gaps-out = config.theme.gaps-out;
|
||||
active-opacity = config.theme.active-opacity;
|
||||
inactive-opacity = config.theme.inactive-opacity;
|
||||
rounding = config.theme.rounding;
|
||||
blur = config.theme.blur;
|
||||
keyboardLayout = config.var.keyboardLayout;
|
||||
background = "rgb(" + config.lib.stylix.colors.base00 + ")";
|
||||
in
|
||||
{
|
||||
|
||||
imports = [
|
||||
./animations.nix
|
||||
./bindings.nix
|
||||
./polkitagent.nix
|
||||
./hyprlock.nix
|
||||
./hypridle.nix
|
||||
./hyprspace.nix
|
||||
./hyprpanel.nix
|
||||
# ./hyprspace.nix
|
||||
./hyprlock.nix
|
||||
../gammastep.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
|
@ -52,21 +54,32 @@ in
|
|||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
systemd.enable = true;
|
||||
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||
systemd = {
|
||||
enable = false;
|
||||
variables = [
|
||||
"--all"
|
||||
]; # https://wiki.hyprland.org/Nix/Hyprland-on-Home-Manager/#programs-dont-work-in-systemd-services-but-do-on-the-terminal
|
||||
};
|
||||
package = null;
|
||||
portalPackage = null;
|
||||
|
||||
settings = {
|
||||
"$mod" = "SUPER";
|
||||
"$shiftMod" = "SUPER_SHIFT";
|
||||
|
||||
exec-once = [
|
||||
"dbus-update-activation-environment --systemd --all &"
|
||||
"systemctl --user enable --now hyprpaper.service &"
|
||||
"systemctl --user enable --now hypridle.service &"
|
||||
"systemctl --user enable --now nextcloud-client.service &"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
"DP-1,2560x2880,0x0, 1"
|
||||
"HDMI-A-1,3840x2160, 2560x0, 1"
|
||||
",prefered,auto,1"
|
||||
"eDP-2,highres,0x0,1" # My internal laptop screen
|
||||
",prefered,auto,1" # default
|
||||
];
|
||||
|
||||
env = [
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"XDG_CURRENT_DESKTOP,Hyprland"
|
||||
"MOZ_ENABLE_WAYLAND,1"
|
||||
"ANKI_WAYLAND,1"
|
||||
|
|
@ -78,7 +91,6 @@ in
|
|||
"QT_QPA_PLATFORM=wayland,xcb"
|
||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
||||
"ELECTRON_OZONE_PLATFORM_HINT,auto"
|
||||
# "GTK_THEME,FlatColor:dark"
|
||||
"__GL_GSYNC_ALLOWED,0"
|
||||
"__GL_VRR_ALLOWED,0"
|
||||
"DISABLE_QT5_COMPAT,0"
|
||||
|
|
@ -87,10 +99,8 @@ in
|
|||
"WLR_BACKEND,vulkan"
|
||||
"WLR_RENDERER,vulkan"
|
||||
"WLR_NO_HARDWARE_CURSORS,1"
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"SDL_VIDEODRIVER,wayland"
|
||||
"CLUTTER_BACKEND,wayland"
|
||||
"AQ_DRM_DEVICES,/dev/dri/card2:/dev/dri/card1" # CHANGEME: Related to the GPU
|
||||
];
|
||||
|
||||
cursor = {
|
||||
|
|
@ -103,9 +113,8 @@ in
|
|||
gaps_in = gaps-in;
|
||||
gaps_out = gaps-out;
|
||||
border_size = border-size;
|
||||
# border_part_of_window = true;
|
||||
# layout = "master";
|
||||
layout = "dwindle";
|
||||
layout = "master";
|
||||
"col.inactive_border" = lib.mkForce background;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
|
|
@ -119,6 +128,7 @@ in
|
|||
};
|
||||
blur = {
|
||||
enabled = if blur then "true" else "false";
|
||||
size = 18;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -128,11 +138,6 @@ in
|
|||
mfact = 0.5;
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
force_split = 2;
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
};
|
||||
|
|
@ -144,13 +149,40 @@ in
|
|||
disable_autoreload = true;
|
||||
focus_on_activate = true;
|
||||
new_window_takes_over_fullscreen = 2;
|
||||
middle_click_paste = false;
|
||||
};
|
||||
|
||||
windowrulev2 = [
|
||||
"float, tag:modal"
|
||||
"pin, tag:modal"
|
||||
"center, tag:modal"
|
||||
# telegram media viewer
|
||||
"float, title:^(Media viewer)$"
|
||||
|
||||
# Bitwarden extension
|
||||
"float, title:^(.*Bitwarden Password Manager.*)$"
|
||||
|
||||
# gnome calculator
|
||||
"float, class:^(org.gnome.Calculator)$"
|
||||
"size 360 490, class:^(org.gnome.Calculator)$"
|
||||
|
||||
# make Firefox/Zen PiP window floating and sticky
|
||||
"float, title:^(Picture-in-Picture)$"
|
||||
"pin, title:^(Picture-in-Picture)$"
|
||||
|
||||
# idle inhibit while watching videos
|
||||
"idleinhibit focus, class:^(mpv|.+exe|celluloid)$"
|
||||
"idleinhibit focus, class:^(zen)$, title:^(.*YouTube.*)$"
|
||||
"idleinhibit fullscreen, class:^(zen)$"
|
||||
|
||||
"dimaround, class:^(gcr-prompter)$"
|
||||
"dimaround, class:^(xdg-desktop-portal-gtk)$"
|
||||
"dimaround, class:^(polkit-gnome-authentication-agent-1)$"
|
||||
"dimaround, class:^(zen)$, title:^(File Upload)$"
|
||||
|
||||
# fix xwayland apps
|
||||
"rounding 0, xwayland:1"
|
||||
"center, class:^(.*jetbrains.*)$, title:^(Confirm Exit|Open Project|win424|win201|splash)$"
|
||||
"size 640 400, class:^(.*jetbrains.*)$, title:^(splash)$"
|
||||
];
|
||||
|
||||
layerrule = [
|
||||
|
|
@ -161,7 +193,6 @@ in
|
|||
input = {
|
||||
# kb_layout = keyboardLayout;
|
||||
|
||||
# kb_options = "caps:escape";
|
||||
follow_mouse = 1;
|
||||
sensitivity = 0.5;
|
||||
repeat_delay = 300;
|
||||
|
|
@ -173,8 +204,6 @@ in
|
|||
clickfinger_behavior = true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
general = {
|
||||
ignore_dbus_inhibit = false;
|
||||
lock_cmd = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
|
|
@ -18,10 +17,10 @@
|
|||
on-timeout = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||
}
|
||||
|
||||
{
|
||||
timeout = 660;
|
||||
on-timeout = "systemctl suspend";
|
||||
}
|
||||
# {
|
||||
# timeout = 660;
|
||||
# on-timeout = "systemctl suspend";
|
||||
# }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,200 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ ./waybar.nix ];
|
||||
|
||||
# services.mako = {
|
||||
# enable = true;
|
||||
# defaultTimeout = 4000;
|
||||
# borderRadius = 5;
|
||||
# borderSize = 2;
|
||||
# layer = "overlay";
|
||||
# };
|
||||
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
xwayland.force_zero_scaling = true;
|
||||
|
||||
input = {
|
||||
sensitivity = 0.4;
|
||||
# todo custom
|
||||
accel_profile = "adaptive";
|
||||
# accel_profile = "custom 20000 0.755 0.05 0.855 0.06";
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
scroll_factor = 0.38;
|
||||
tap-and-drag = true;
|
||||
middle_button_emulation = true;
|
||||
tap-to-click = true;
|
||||
};
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 16;
|
||||
resize_on_border = true;
|
||||
hover_icon_on_border = false;
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
master = {
|
||||
# new_is_master = false;
|
||||
smart_resizing = false;
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
force_split = 2;
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 5;
|
||||
active_opacity = 0.93;
|
||||
inactive_opacity = 0.93;
|
||||
fullscreen_opacity = 1;
|
||||
# drop_shadow = false;
|
||||
};
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = [
|
||||
"myBezier, 0.22, 1, 0.36, 1"
|
||||
"snap, 0, 1, 0, 1"
|
||||
];
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 3, default, popin 60%"
|
||||
"border, 1, 0.5, snap"
|
||||
"borderangle, 1, 0.5, snap"
|
||||
"fade, 1, 0.001, myBezier"
|
||||
"workspaces, 1, 0.8, myBezier, fade"
|
||||
];
|
||||
};
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures = {
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_fingers = 3;
|
||||
workspace_swipe_cancel_ratio = 0.6;
|
||||
workspace_swipe_min_speed_to_force = 30;
|
||||
workspace_swipe_distance = 2000;
|
||||
workspace_swipe_invert = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
force_default_wallpaper = 0;
|
||||
mouse_move_enables_dpms = true;
|
||||
key_press_enables_dpms = true;
|
||||
};
|
||||
|
||||
"$mod" = "SUPER";
|
||||
|
||||
bind = [
|
||||
# general binds
|
||||
",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid
|
||||
# "$mod, RETURN, exec, ${pkgs.alacritty}/bin/alacritty"
|
||||
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty"
|
||||
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
|
||||
"$mod, Q, killactive"
|
||||
"SUPER_SHIFT, Q, exec, ${pkgs.wlogout}/bin/wlogout"
|
||||
"$mod, SPACE, exec, pkill fuzzel || ${pkgs.fuzzel}/bin/fuzzel" # pkill or allows for toggle
|
||||
"SUPER_SHIFT, SPACE, togglefloating"
|
||||
# "$mod, F, fullscreen"
|
||||
"$mod,F, exec, fullscreen"
|
||||
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
|
||||
"$mod, B, exec, ${pkgs.grim}/bin/grim \"desktop-$(${pkgs.busybox}/bin/date +\"%Y%m%d%H%m\").png"
|
||||
"SUPER_SHIFT, B, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy" # Screenshot selection directly to clipboard
|
||||
|
||||
# Volume
|
||||
",XF86AudioRaiseVolume, exec, ${pkgs.ponymix}/bin/ponymix inc 2"
|
||||
",XF86AudioLowerVolume, exec, ${pkgs.ponymix}/bin/ponymix dec 2"
|
||||
",XF86AudioMute, exec, ${pkgs.ponymix}/bin/ponymix, toggle"
|
||||
|
||||
# Screen Brightness
|
||||
#",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -A 10"
|
||||
#",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -U 10"
|
||||
# ",XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int(($1 + .72) * 1.4) }')\""
|
||||
# ",XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -S \"$(${pkgs.light}/bin/light -G | ${pkgs.busybox}/bin/awk '{ print int($1 / 1.4) }')\""
|
||||
",XF86MonBrightnessUp, exec, brightness-up" # Brightness Up
|
||||
",XF86MonBrightnessDown, exec, brightness-down" # Brightness Down
|
||||
# move focus
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
"$mod,right,workspace,+1"
|
||||
"$mod,left,workspace,-1"
|
||||
|
||||
# workspace switching
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
"$mod, 5, workspace, 5"
|
||||
"$mod, 6, workspace, 6"
|
||||
"$mod, 7, workspace, 7"
|
||||
"$mod, 8, workspace, 8"
|
||||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
|
||||
# move window to workspace
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# Scroll through workspaces
|
||||
"$mod, mouse_down, workspace, e+1"
|
||||
"$mod, mouse_up, workspace, e-1"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# mouse movements
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod_ALT, mouse:273, resizewindow"
|
||||
"$mod_ALT, mouse:272, resizewindow"
|
||||
];
|
||||
|
||||
monitor = [ ",preferred,auto,1" ];
|
||||
# monitor = [ "HDMI-A-1,1920x1080@144,auto,1" ];
|
||||
exec = [ "${pkgs.swaybg}/bin/swaybg -i ${config.stylix.image} -m fill" ];
|
||||
exec-once = [
|
||||
# Enables clipboard sync
|
||||
"${pkgs.wl-clipboard}/bin/wl-paste -p | ${pkgs.wl-clipboard}/bin/wl-copy"
|
||||
"${pkgs.wl-clipboard}/bin/wl-paste | ${pkgs.wl-clipboard}/bin/wl-copy -p"
|
||||
];
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.extraConfig = ''
|
||||
# will switch to a submap called resize
|
||||
bind=$mod,R,submap,resize
|
||||
|
||||
# will start a submap called "resize"
|
||||
submap=resize
|
||||
|
||||
# sets repeatable binds for resizing the active window
|
||||
binde=,right,resizeactive,10 0
|
||||
binde=,left,resizeactive,-10 0
|
||||
binde=,up,resizeactive,0 -10
|
||||
binde=,down,resizeactive,0 10
|
||||
|
||||
# use reset to go back to the global submap
|
||||
bind=,escape,submap,reset
|
||||
|
||||
# will reset the submap, meaning end the current one and return to the global one
|
||||
submap=reset
|
||||
'';
|
||||
|
||||
}
|
||||
|
|
@ -1,7 +1,10 @@
|
|||
{ config, lib, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
foreground = "rgba(216, 222, 233, 0.70)";
|
||||
imageStr = toString config.stylix.image;
|
||||
foreground = "rgba(${config.theme.textColorOnWallpaper}ee)";
|
||||
font = config.stylix.fonts.serif.name;
|
||||
in
|
||||
{
|
||||
|
|
@ -17,7 +20,6 @@ in
|
|||
# BACKGROUND
|
||||
background = {
|
||||
monitor = "";
|
||||
# path = imageStr;
|
||||
blur_passes = 0;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.7172;
|
||||
|
|
@ -73,8 +75,8 @@ in
|
|||
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true;
|
||||
outer_color = "rgba(255, 255, 255, 0)";
|
||||
inner_color = "rgba(255, 255, 255, 0.1)";
|
||||
outer_color = "rgba(25, 25, 25, 0)";
|
||||
inner_color = "rgba(25, 25, 25, 0.1)";
|
||||
font_color = foreground;
|
||||
fade_on_empty = false;
|
||||
font_family = font + " Bold";
|
||||
|
|
|
|||
|
|
@ -1,49 +1,51 @@
|
|||
# Hyprpanel is the bar on top of the screen
|
||||
# Display informations like workspaces, battery, wifi, ...
|
||||
{ inputs, config, ... }:
|
||||
# Display information like workspaces, battery, wifi, ...
|
||||
{ config, ... }:
|
||||
let
|
||||
transparentButtons = config.var.theme.bar.transparentButtons;
|
||||
transparentButtons = config.theme.bar.transparentButtons;
|
||||
|
||||
accent = "#${config.lib.stylix.colors.base0D}";
|
||||
accent-alt = "#${config.lib.stylix.colors.base03}";
|
||||
background = "#${config.lib.stylix.colors.base00}";
|
||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
||||
foreground = "#${config.lib.stylix.colors.base05}";
|
||||
foregroundOnWallpaper = "#${config.theme.textColorOnWallpaper}";
|
||||
font = "${config.stylix.fonts.serif.name}";
|
||||
fontSize = "${toString config.stylix.fonts.sizes.desktop}";
|
||||
fontSizeForHyprpanel = "${toString config.stylix.fonts.sizes.desktop}px";
|
||||
|
||||
rounding = config.var.theme.rounding;
|
||||
border-size = config.var.theme.border-size;
|
||||
rounding = config.theme.rounding;
|
||||
border-size = config.theme.border-size;
|
||||
|
||||
gaps-out = config.var.theme.gaps-out;
|
||||
gaps-in = config.var.theme.gaps-in;
|
||||
gaps-out = config.theme.gaps-out;
|
||||
gaps-in = config.theme.gaps-in;
|
||||
|
||||
floating = config.var.theme.bar.floating;
|
||||
transparent = config.var.theme.bar.transparent;
|
||||
position = config.var.theme.bar.position;
|
||||
floating = config.theme.bar.floating;
|
||||
transparent = config.theme.bar.transparent;
|
||||
position = config.theme.bar.position; # "top" ou "bottom"
|
||||
|
||||
notificationOpacity = 90;
|
||||
|
||||
location = config.var.location;
|
||||
in
|
||||
{
|
||||
|
||||
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
|
||||
wayland.windowManager.hyprland.settings.exec-once = [ "hyprpanel" ];
|
||||
|
||||
programs.hyprpanel = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
hyprland.enable = true;
|
||||
overwrite.enable = true;
|
||||
overlay.enable = true;
|
||||
|
||||
settings = {
|
||||
layout = {
|
||||
"bar.layouts" = {
|
||||
"0" = {
|
||||
bar.layouts = {
|
||||
"*" = {
|
||||
"left" = [
|
||||
"dashboard"
|
||||
"workspaces"
|
||||
"windowtitle"
|
||||
];
|
||||
"middle" = [ "media" ];
|
||||
"middle" = [
|
||||
"media"
|
||||
"cava"
|
||||
];
|
||||
"right" = [
|
||||
"systray"
|
||||
"volume"
|
||||
|
|
@ -56,131 +58,157 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
override = {
|
||||
"theme.font.name" = "${font}";
|
||||
"theme.font.size" = "${fontSize}px";
|
||||
"theme.bar.outer_spacing" = "${if floating && transparent then "0" else "8"}px";
|
||||
"theme.bar.buttons.y_margins" = "${if floating && transparent then "0" else "8"}px";
|
||||
"theme.bar.buttons.spacing" = "0.3em";
|
||||
"theme.bar.buttons.radius" = "${
|
||||
if transparent then toString rounding else toString (rounding - 8)
|
||||
}px";
|
||||
"theme.bar.floating" = "${if floating then "true" else "false"}";
|
||||
"theme.bar.buttons.padding_x" = "0.8rem";
|
||||
"theme.bar.buttons.padding_y" = "0.4rem";
|
||||
"theme.bar.buttons.workspaces.hover" = "${accent-alt}";
|
||||
"theme.bar.buttons.workspaces.active" = "${accent}";
|
||||
"theme.bar.buttons.workspaces.available" = "${accent-alt}";
|
||||
"theme.bar.buttons.workspaces.occupied" = "${accent-alt}";
|
||||
"theme.bar.margin_top" = "${if position == "top" then toString (gaps-in * 2) else "0"}px";
|
||||
"theme.bar.margin_bottom" = "${if position == "top" then "0" else toString (gaps-in * 2)}px";
|
||||
"theme.bar.margin_sides" = "${toString gaps-out}px";
|
||||
"theme.bar.border_radius" = "${toString rounding}px";
|
||||
"bar.launcher.icon" = "";
|
||||
"theme.bar.transparent" = "${if transparent then "true" else "false"}";
|
||||
"bar.workspaces.show_numbered" = false;
|
||||
"bar.workspaces.workspaces" = 5;
|
||||
"bar.workspaces.hideUnoccupied" = false;
|
||||
"bar.windowtitle.label" = true;
|
||||
"bar.volume.label" = false;
|
||||
"bar.network.truncation_size" = 12;
|
||||
"bar.bluetooth.label" = false;
|
||||
"bar.clock.format" = "%a %b %d %I:%M %p";
|
||||
"bar.notifications.show_total" = true;
|
||||
"theme.notification.border_radius" = "${toString rounding}px";
|
||||
"theme.osd.enable" = true;
|
||||
"theme.osd.orientation" = "vertical";
|
||||
"theme.osd.location" = "left";
|
||||
"theme.osd.radius" = "${toString rounding}px";
|
||||
"theme.osd.margins" = "0px 0px 0px 10px";
|
||||
"theme.osd.muted_zero" = true;
|
||||
"menus.clock.weather.location" = "${location}";
|
||||
"menus.clock.weather.unit" = "metric";
|
||||
"menus.dashboard.powermenu.confirmation" = false;
|
||||
|
||||
"menus.dashboard.shortcuts.left.shortcut1.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut1.command" = "zen";
|
||||
"menus.dashboard.shortcuts.left.shortcut1.tooltip" = "Zen";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.command" = "caffeine";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.tooltip" = "Caffeine";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.command" = "night-shift";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.tooltip" = "Night-shift";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.command" = "menu";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.tooltip" = "Search Apps";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.icon" = "";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.command" = "hyprpicker -a";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.tooltip" = "Color Picker";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.icon" = "";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.command" = "screenshot region swappy";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.tooltip" = "Screenshot";
|
||||
theme.font.name = font;
|
||||
theme.font.size = fontSizeForHyprpanel;
|
||||
|
||||
"theme.bar.menus.monochrome" = true;
|
||||
"wallpaper.enable" = false;
|
||||
"theme.bar.menus.background" = "${background}";
|
||||
"theme.bar.menus.cards" = "${background-alt}";
|
||||
"theme.bar.menus.card_radius" = "${toString rounding}px";
|
||||
"theme.bar.menus.label" = "${foreground}";
|
||||
"theme.bar.menus.text" = "${foreground}";
|
||||
"theme.bar.menus.border.size" = "${toString border-size}px";
|
||||
"theme.bar.menus.border.color" = "${accent}";
|
||||
"theme.bar.menus.border.radius" = "${toString rounding}px";
|
||||
"theme.bar.menus.popover.text" = "${foreground}";
|
||||
"theme.bar.menus.popover.background" = "${background-alt}";
|
||||
"theme.bar.menus.listitems.active" = "${accent}";
|
||||
"theme.bar.menus.icons.active" = "${accent}";
|
||||
"theme.bar.menus.switch.enabled" = "${accent}";
|
||||
"theme.bar.menus.check_radio_button.active" = "${accent}";
|
||||
"theme.bar.menus.buttons.default" = "${accent}";
|
||||
"theme.bar.menus.buttons.active" = "${accent}";
|
||||
"theme.bar.menus.iconbuttons.active" = "${accent}";
|
||||
"theme.bar.menus.progressbar.foreground" = "${accent}";
|
||||
"theme.bar.menus.slider.primary" = "${accent}";
|
||||
"theme.bar.menus.tooltip.background" = "${background-alt}";
|
||||
"theme.bar.menus.tooltip.text" = "${foreground}";
|
||||
"theme.bar.menus.dropdownmenu.background" = "${background-alt}";
|
||||
"theme.bar.menus.dropdownmenu.text" = "${foreground}";
|
||||
"theme.bar.background" = "${background + (if transparentButtons && transparent then "00" else "")}";
|
||||
"theme.bar.buttons.style" = "default";
|
||||
"theme.bar.buttons.monochrome" = true;
|
||||
"theme.bar.buttons.text" = "${foreground}";
|
||||
"theme.bar.buttons.background" = "${
|
||||
(if transparent then background else background-alt) + (if transparentButtons then "00" else "")
|
||||
}";
|
||||
"theme.bar.buttons.icon" = "${accent}";
|
||||
"theme.bar.buttons.notifications.background" = "${background-alt}";
|
||||
"theme.bar.buttons.hover" = "${background}";
|
||||
"theme.bar.buttons.notifications.hover" = "${background}";
|
||||
"theme.bar.buttons.notifications.total" = "${accent}";
|
||||
"theme.bar.buttons.notifications.icon" = "${accent}";
|
||||
"theme.notification.background" = "${background-alt}";
|
||||
"theme.notification.actions.background" = "${accent}";
|
||||
"theme.notification.actions.text" = "${foreground}";
|
||||
"theme.notification.label" = "${accent}";
|
||||
"theme.notification.border" = "${background-alt}";
|
||||
"theme.notification.text" = "${foreground}";
|
||||
"theme.notification.labelicon" = "${accent}";
|
||||
"theme.osd.bar_color" = "${accent}";
|
||||
"theme.osd.bar_overflow_color" = "${accent-alt}";
|
||||
"theme.osd.icon" = "${background}";
|
||||
"theme.osd.icon_container" = "${accent}";
|
||||
"theme.osd.label" = "${accent}";
|
||||
"theme.osd.bar_container" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.background.color" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.card.color" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.card.tint" = 90;
|
||||
"bar.customModules.updates.pollingInterval" = 1440000;
|
||||
"bar.media.show_active_only" = true;
|
||||
"theme.bar.location" = "${position}";
|
||||
"bar.workspaces.numbered_active_indicator" = "color";
|
||||
"bar.workspaces.monitorSpecific" = false;
|
||||
"bar.workspaces.applicationIconEmptyWorkspace" = "";
|
||||
"bar.workspaces.showApplicationIcons" = true;
|
||||
"bar.workspaces.showWsIcons" = true;
|
||||
"theme.bar.dropdownGap" = "4.5em";
|
||||
theme.bar.outer_spacing = if floating && transparent then "0px" else "8px";
|
||||
theme.bar.buttons.y_margins = if floating && transparent then "0px" else "8px";
|
||||
theme.bar.buttons.spacing = "0.3em";
|
||||
theme.bar.buttons.radius =
|
||||
(if transparent then toString rounding else toString (rounding - 8)) + "px";
|
||||
theme.bar.floating = floating;
|
||||
theme.bar.buttons.padding_x = "0.8rem";
|
||||
theme.bar.buttons.padding_y = "0.4rem";
|
||||
|
||||
theme.bar.margin_top = (if position == "top" then toString (gaps-in * 2) else "0") + "px";
|
||||
theme.bar.margin_bottom = (if position == "top" then "0" else toString (gaps-in * 2)) + "px";
|
||||
theme.bar.margin_sides = toString gaps-out + "px";
|
||||
theme.bar.border_radius = toString rounding + "px";
|
||||
theme.bar.transparent = transparent;
|
||||
theme.bar.location = position;
|
||||
theme.bar.dropdownGap = "4.5em";
|
||||
theme.bar.menus.shadow = if transparent then "0 0 0 0" else "0px 0px 3px 1px #16161e";
|
||||
theme.bar.buttons.style = "default";
|
||||
theme.bar.buttons.monochrome = true;
|
||||
theme.bar.menus.monochrome = true;
|
||||
theme.bar.menus.card_radius = toString rounding + "px";
|
||||
theme.bar.menus.border.size = toString border-size + "px";
|
||||
theme.bar.menus.border.radius = toString rounding + "px";
|
||||
theme.bar.menus.menu.media.card.tint = 90;
|
||||
|
||||
bar.launcher.icon = "";
|
||||
bar.workspaces.show_numbered = false;
|
||||
bar.workspaces.workspaces = 5;
|
||||
bar.workspaces.numbered_active_indicator = "color";
|
||||
bar.workspaces.monitorSpecific = false;
|
||||
bar.workspaces.applicationIconEmptyWorkspace = "";
|
||||
bar.workspaces.showApplicationIcons = true;
|
||||
bar.workspaces.showWsIcons = true;
|
||||
|
||||
bar.windowtitle.label = true;
|
||||
bar.volume.label = false;
|
||||
bar.network.truncation_size = 12;
|
||||
bar.bluetooth.label = false;
|
||||
bar.clock.format = "%a %b %d %I:%M %p";
|
||||
bar.notifications.show_total = true;
|
||||
bar.media.show_active_only = true;
|
||||
|
||||
bar.customModules.updates.pollingInterval = 1440000;
|
||||
bar.customModules.cava.showIcon = false;
|
||||
bar.customModules.cava.stereo = true;
|
||||
bar.customModules.cava.showActiveOnly = true;
|
||||
|
||||
notifications.position = "top right";
|
||||
notifications.showActionsOnHover = true;
|
||||
theme.notification.opacity = notificationOpacity;
|
||||
theme.notification.enableShadow = true;
|
||||
theme.notification.border_radius = toString rounding + "px";
|
||||
|
||||
theme.osd.enable = true;
|
||||
theme.osd.orientation = "vertical";
|
||||
theme.osd.location = "left";
|
||||
theme.osd.radius = toString rounding + "px";
|
||||
theme.osd.margins = "0px 0px 0px 10px";
|
||||
theme.osd.muted_zero = true;
|
||||
|
||||
menus.clock.weather.location = location;
|
||||
menus.clock.weather.unit = "metric";
|
||||
menus.dashboard.powermenu.confirmation = false;
|
||||
menus.dashboard.powermenu.avatar.image = "~/.face.icon";
|
||||
|
||||
menus.dashboard.shortcuts.left.shortcut1.icon = "";
|
||||
menus.dashboard.shortcuts.left.shortcut1.command = "zen";
|
||||
menus.dashboard.shortcuts.left.shortcut1.tooltip = "Zen";
|
||||
menus.dashboard.shortcuts.left.shortcut2.icon = "";
|
||||
menus.dashboard.shortcuts.left.shortcut2.command = "caffeine";
|
||||
menus.dashboard.shortcuts.left.shortcut2.tooltip = "Caffeine";
|
||||
menus.dashboard.shortcuts.left.shortcut3.icon = "";
|
||||
menus.dashboard.shortcuts.left.shortcut3.command = "night-shift";
|
||||
menus.dashboard.shortcuts.left.shortcut3.tooltip = "Night-shift";
|
||||
menus.dashboard.shortcuts.left.shortcut4.icon = "";
|
||||
menus.dashboard.shortcuts.left.shortcut4.command = "menu";
|
||||
menus.dashboard.shortcuts.left.shortcut4.tooltip = "Search Apps";
|
||||
|
||||
menus.dashboard.shortcuts.right.shortcut1.icon = "";
|
||||
menus.dashboard.shortcuts.right.shortcut1.command = "hyprpicker -a";
|
||||
menus.dashboard.shortcuts.right.shortcut1.tooltip = "Color Picker";
|
||||
menus.dashboard.shortcuts.right.shortcut3.icon = "";
|
||||
menus.dashboard.shortcuts.right.shortcut3.command = "screenshot region swappy";
|
||||
menus.dashboard.shortcuts.right.shortcut3.tooltip = "Screenshot";
|
||||
|
||||
menus.power.lowBatteryNotification = true;
|
||||
|
||||
wallpaper.enable = false;
|
||||
|
||||
theme.bar.buttons.workspaces.hover = accent-alt;
|
||||
theme.bar.buttons.workspaces.active = accent;
|
||||
theme.bar.buttons.workspaces.available = accent-alt;
|
||||
theme.bar.buttons.workspaces.occupied = accent-alt;
|
||||
|
||||
theme.bar.menus.background = background;
|
||||
theme.bar.menus.cards = background-alt;
|
||||
theme.bar.menus.label = foreground;
|
||||
theme.bar.menus.text = foreground;
|
||||
theme.bar.menus.border.color = accent;
|
||||
theme.bar.menus.popover.text = foreground;
|
||||
theme.bar.menus.popover.background = background-alt;
|
||||
theme.bar.menus.listitems.active = accent;
|
||||
theme.bar.menus.icons.active = accent;
|
||||
theme.bar.menus.switch.enabled = accent;
|
||||
theme.bar.menus.check_radio_button.active = accent;
|
||||
theme.bar.menus.buttons.default = accent;
|
||||
theme.bar.menus.buttons.active = accent;
|
||||
theme.bar.menus.iconbuttons.active = accent;
|
||||
theme.bar.menus.progressbar.foreground = accent;
|
||||
theme.bar.menus.slider.primary = accent;
|
||||
theme.bar.menus.tooltip.background = background-alt;
|
||||
theme.bar.menus.tooltip.text = foreground;
|
||||
theme.bar.menus.dropdownmenu.background = background-alt;
|
||||
theme.bar.menus.dropdownmenu.text = foreground;
|
||||
|
||||
theme.bar.background = background + (if transparentButtons && transparent then "00" else "");
|
||||
theme.bar.buttons.text =
|
||||
if transparent && transparentButtons then foregroundOnWallpaper else foreground;
|
||||
theme.bar.buttons.background =
|
||||
(if transparent then background else background-alt) + (if transparentButtons then "00" else "");
|
||||
theme.bar.buttons.icon = accent;
|
||||
|
||||
theme.bar.buttons.notifications.background = background-alt;
|
||||
theme.bar.buttons.hover = background;
|
||||
theme.bar.buttons.notifications.hover = background;
|
||||
theme.bar.buttons.notifications.total = accent;
|
||||
theme.bar.buttons.notifications.icon = accent;
|
||||
|
||||
theme.osd.bar_color = accent;
|
||||
theme.osd.bar_overflow_color = accent-alt;
|
||||
theme.osd.icon = background;
|
||||
theme.osd.icon_container = accent;
|
||||
theme.osd.label = accent;
|
||||
theme.osd.bar_container = background-alt;
|
||||
|
||||
theme.bar.menus.menu.media.background.color = background-alt;
|
||||
theme.bar.menus.menu.media.card.color = background-alt;
|
||||
|
||||
theme.notification.background = background-alt;
|
||||
theme.notification.actions.background = accent;
|
||||
theme.notification.actions.text = foreground;
|
||||
theme.notification.label = accent;
|
||||
theme.notification.border = background-alt;
|
||||
theme.notification.text = foreground;
|
||||
theme.notification.labelicon = accent;
|
||||
theme.notification.close_button.background = background-alt;
|
||||
theme.notification.close_button.label = "#f38ba8";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,89 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
foreground = "rgba(216, 222, 233, 0.70)";
|
||||
imageStr = toString config.stylix.image;
|
||||
font = config.stylix.fonts.serif.name;
|
||||
in
|
||||
{
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
grace = 5;
|
||||
no_fade_in = false;
|
||||
disable_loading_bar = false;
|
||||
};
|
||||
|
||||
# BACKGROUND
|
||||
background = {
|
||||
monitor = "";
|
||||
# path = imageStr;
|
||||
blur_passes = 0;
|
||||
contrast = 0.8916;
|
||||
brightness = 0.7172;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.0;
|
||||
};
|
||||
|
||||
label = [
|
||||
{
|
||||
# Day-Month-Date
|
||||
monitor = "";
|
||||
text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
|
||||
color = foreground;
|
||||
font_size = 28;
|
||||
font_family = font + " Bold";
|
||||
position = "0, 490";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
# Time
|
||||
{
|
||||
monitor = "";
|
||||
text = ''cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"'';
|
||||
color = foreground;
|
||||
font_size = 160;
|
||||
font_family = "steelfish outline regular";
|
||||
position = "0, 370";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
# USER
|
||||
{
|
||||
monitor = "";
|
||||
text = " $USER";
|
||||
color = foreground;
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true;
|
||||
font_size = 18;
|
||||
font_family = font + " Bold";
|
||||
position = "0, -180";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
|
||||
# INPUT FIELD
|
||||
input-field = lib.mkForce {
|
||||
monitor = "";
|
||||
size = "300, 60";
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true;
|
||||
outer_color = "rgba(255, 255, 255, 0)";
|
||||
inner_color = "rgba(255, 255, 255, 0.1)";
|
||||
font_color = foreground;
|
||||
fade_on_empty = false;
|
||||
font_family = font + " Bold";
|
||||
placeholder_text = "<i>🔒 Enter Password</i>";
|
||||
hide_input = false;
|
||||
position = "0, -250";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,186 +0,0 @@
|
|||
# Hyprpanel is the bar on top of the screen
|
||||
# Display informations like workspaces, battery, wifi, ...
|
||||
{ inputs, config, ... }:
|
||||
let
|
||||
transparentButtons = config.var.theme.bar.transparentButtons;
|
||||
|
||||
accent = "#${config.lib.stylix.colors.base0D}";
|
||||
accent-alt = "#${config.lib.stylix.colors.base03}";
|
||||
background = "#${config.lib.stylix.colors.base00}";
|
||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
||||
foreground = "#${config.lib.stylix.colors.base05}";
|
||||
font = "${config.stylix.fonts.serif.name}";
|
||||
fontSize = "${toString config.stylix.fonts.sizes.desktop}";
|
||||
|
||||
rounding = config.var.theme.rounding;
|
||||
border-size = config.var.theme.border-size;
|
||||
|
||||
gaps-out = config.var.theme.gaps-out;
|
||||
gaps-in = config.var.theme.gaps-in;
|
||||
|
||||
floating = config.var.theme.bar.floating;
|
||||
transparent = config.var.theme.bar.transparent;
|
||||
position = config.var.theme.bar.position;
|
||||
|
||||
location = config.var.location;
|
||||
in
|
||||
{
|
||||
|
||||
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
|
||||
|
||||
programs.hyprpanel = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
hyprland.enable = true;
|
||||
overwrite.enable = true;
|
||||
overlay.enable = true;
|
||||
settings = {
|
||||
layout = {
|
||||
"bar.layouts" = {
|
||||
"0" = {
|
||||
"left" = [
|
||||
"dashboard"
|
||||
"workspaces"
|
||||
"windowtitle"
|
||||
];
|
||||
"middle" = [ "media" ];
|
||||
"right" = [
|
||||
"systray"
|
||||
"volume"
|
||||
"bluetooth"
|
||||
"battery"
|
||||
"network"
|
||||
"clock"
|
||||
"notifications"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
override = {
|
||||
"theme.font.name" = "${font}";
|
||||
"theme.font.size" = "${fontSize}px";
|
||||
"theme.bar.outer_spacing" = "${if floating && transparent then "0" else "8"}px";
|
||||
"theme.bar.buttons.y_margins" = "${if floating && transparent then "0" else "8"}px";
|
||||
"theme.bar.buttons.spacing" = "0.3em";
|
||||
"theme.bar.buttons.radius" = "${
|
||||
if transparent then toString rounding else toString (rounding - 8)
|
||||
}px";
|
||||
"theme.bar.floating" = "${if floating then "true" else "false"}";
|
||||
"theme.bar.buttons.padding_x" = "0.8rem";
|
||||
"theme.bar.buttons.padding_y" = "0.4rem";
|
||||
"theme.bar.buttons.workspaces.hover" = "${accent-alt}";
|
||||
"theme.bar.buttons.workspaces.active" = "${accent}";
|
||||
"theme.bar.buttons.workspaces.available" = "${accent-alt}";
|
||||
"theme.bar.buttons.workspaces.occupied" = "${accent-alt}";
|
||||
"theme.bar.margin_top" = "${if position == "top" then toString (gaps-in * 2) else "0"}px";
|
||||
"theme.bar.margin_bottom" = "${if position == "top" then "0" else toString (gaps-in * 2)}px";
|
||||
"theme.bar.margin_sides" = "${toString gaps-out}px";
|
||||
"theme.bar.border_radius" = "${toString rounding}px";
|
||||
"bar.launcher.icon" = "";
|
||||
"theme.bar.transparent" = "${if transparent then "true" else "false"}";
|
||||
"bar.workspaces.show_numbered" = false;
|
||||
"bar.workspaces.workspaces" = 5;
|
||||
"bar.workspaces.hideUnoccupied" = false;
|
||||
"bar.windowtitle.label" = true;
|
||||
"bar.volume.label" = false;
|
||||
"bar.network.truncation_size" = 12;
|
||||
"bar.bluetooth.label" = false;
|
||||
"bar.clock.format" = "%a %b %d %I:%M %p";
|
||||
"bar.notifications.show_total" = true;
|
||||
"theme.notification.border_radius" = "${toString rounding}px";
|
||||
"theme.osd.enable" = true;
|
||||
"theme.osd.orientation" = "vertical";
|
||||
"theme.osd.location" = "left";
|
||||
"theme.osd.radius" = "${toString rounding}px";
|
||||
"theme.osd.margins" = "0px 0px 0px 10px";
|
||||
"theme.osd.muted_zero" = true;
|
||||
"menus.clock.weather.location" = "${location}";
|
||||
"menus.clock.weather.unit" = "metric";
|
||||
"menus.dashboard.powermenu.confirmation" = false;
|
||||
|
||||
"menus.dashboard.shortcuts.left.shortcut1.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut1.command" = "zen";
|
||||
"menus.dashboard.shortcuts.left.shortcut1.tooltip" = "Zen";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.command" = "caffeine";
|
||||
"menus.dashboard.shortcuts.left.shortcut2.tooltip" = "Caffeine";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.command" = "night-shift";
|
||||
"menus.dashboard.shortcuts.left.shortcut3.tooltip" = "Night-shift";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.icon" = "";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.command" = "menu";
|
||||
"menus.dashboard.shortcuts.left.shortcut4.tooltip" = "Search Apps";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.icon" = "";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.command" = "hyprpicker -a";
|
||||
"menus.dashboard.shortcuts.right.shortcut1.tooltip" = "Color Picker";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.icon" = "";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.command" = "screenshot region swappy";
|
||||
"menus.dashboard.shortcuts.right.shortcut3.tooltip" = "Screenshot";
|
||||
|
||||
"theme.bar.menus.monochrome" = true;
|
||||
"wallpaper.enable" = false;
|
||||
"theme.bar.menus.background" = "${background}";
|
||||
"theme.bar.menus.cards" = "${background-alt}";
|
||||
"theme.bar.menus.card_radius" = "${toString rounding}px";
|
||||
"theme.bar.menus.label" = "${foreground}";
|
||||
"theme.bar.menus.text" = "${foreground}";
|
||||
"theme.bar.menus.border.size" = "${toString border-size}px";
|
||||
"theme.bar.menus.border.color" = "${accent}";
|
||||
"theme.bar.menus.border.radius" = "${toString rounding}px";
|
||||
"theme.bar.menus.popover.text" = "${foreground}";
|
||||
"theme.bar.menus.popover.background" = "${background-alt}";
|
||||
"theme.bar.menus.listitems.active" = "${accent}";
|
||||
"theme.bar.menus.icons.active" = "${accent}";
|
||||
"theme.bar.menus.switch.enabled" = "${accent}";
|
||||
"theme.bar.menus.check_radio_button.active" = "${accent}";
|
||||
"theme.bar.menus.buttons.default" = "${accent}";
|
||||
"theme.bar.menus.buttons.active" = "${accent}";
|
||||
"theme.bar.menus.iconbuttons.active" = "${accent}";
|
||||
"theme.bar.menus.progressbar.foreground" = "${accent}";
|
||||
"theme.bar.menus.slider.primary" = "${accent}";
|
||||
"theme.bar.menus.tooltip.background" = "${background-alt}";
|
||||
"theme.bar.menus.tooltip.text" = "${foreground}";
|
||||
"theme.bar.menus.dropdownmenu.background" = "${background-alt}";
|
||||
"theme.bar.menus.dropdownmenu.text" = "${foreground}";
|
||||
"theme.bar.background" = "${background + (if transparentButtons && transparent then "00" else "")}";
|
||||
"theme.bar.buttons.style" = "default";
|
||||
"theme.bar.buttons.monochrome" = true;
|
||||
"theme.bar.buttons.text" = "${foreground}";
|
||||
"theme.bar.buttons.background" = "${
|
||||
(if transparent then background else background-alt) + (if transparentButtons then "00" else "")
|
||||
}";
|
||||
"theme.bar.buttons.icon" = "${accent}";
|
||||
"theme.bar.buttons.notifications.background" = "${background-alt}";
|
||||
"theme.bar.buttons.hover" = "${background}";
|
||||
"theme.bar.buttons.notifications.hover" = "${background}";
|
||||
"theme.bar.buttons.notifications.total" = "${accent}";
|
||||
"theme.bar.buttons.notifications.icon" = "${accent}";
|
||||
"theme.notification.background" = "${background-alt}";
|
||||
"theme.notification.actions.background" = "${accent}";
|
||||
"theme.notification.actions.text" = "${foreground}";
|
||||
"theme.notification.label" = "${accent}";
|
||||
"theme.notification.border" = "${background-alt}";
|
||||
"theme.notification.text" = "${foreground}";
|
||||
"theme.notification.labelicon" = "${accent}";
|
||||
"theme.osd.bar_color" = "${accent}";
|
||||
"theme.osd.bar_overflow_color" = "${accent-alt}";
|
||||
"theme.osd.icon" = "${background}";
|
||||
"theme.osd.icon_container" = "${accent}";
|
||||
"theme.osd.label" = "${accent}";
|
||||
"theme.osd.bar_container" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.background.color" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.card.color" = "${background-alt}";
|
||||
"theme.bar.menus.menu.media.card.tint" = 90;
|
||||
"bar.customModules.updates.pollingInterval" = 1440000;
|
||||
"bar.media.show_active_only" = true;
|
||||
"theme.bar.location" = "${position}";
|
||||
"bar.workspaces.numbered_active_indicator" = "color";
|
||||
"bar.workspaces.monitorSpecific" = false;
|
||||
"bar.workspaces.applicationIconEmptyWorkspace" = "";
|
||||
"bar.workspaces.showApplicationIcons" = true;
|
||||
"bar.workspaces.showWsIcons" = true;
|
||||
"theme.bar.dropdownGap" = "4.5em";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
{ inputs, pkgs, ... }:
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ];
|
||||
settings = {
|
||||
plugin = {
|
||||
overview = {
|
||||
centerAligned = true;
|
||||
hideTopLayers = true;
|
||||
hideOverlayLayers = true;
|
||||
showNewWorkspace = true;
|
||||
exitOnClick = true;
|
||||
exitOnSwitch = true;
|
||||
drawActiveWorkspace = true;
|
||||
autoDrag = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,4 +1,8 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
defaultApps = {
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
|
||||
extraPortals = with pkgs; [
|
||||
# xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-gtk
|
||||
libsForQt5.xdg-desktop-portal-kde
|
||||
lxqt.xdg-desktop-portal-lxqt
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue