added ewwbar

This commit is contained in:
willifan 2025-01-12 23:58:13 +01:00
parent 8393d6921a
commit f2ed447299
6 changed files with 307 additions and 4 deletions

View file

@ -4,10 +4,6 @@ lib.mkIf config.desktop.enable {
environment.systemPackages =
(with pkgs; [
bc
jq
xorg.xrandr
feh
enpass

View file

@ -21,6 +21,9 @@ lib.mkIf config.desktop.wm.niri.enable {
{
command = [ "xwayland-satellite" ":0" ];
}
{
command = [ "${lib.getExe pkgs.ewwbar}" ];
}
];
hotkey-overlay.skip-at-startup = true;

View file

@ -35,6 +35,7 @@ lib.mkIf config.desktop.hyprland.enable {
''hyprctl dispatch exec "[workspace special:alt silent] obsidian"''
#''hyprctl dispatch exec "[workspace special:altgr silent]"''
#''hyprctl dispatch exec "[workspace special:strg silent] "''
''${lib.getExe pkgs.ewwbar}''
];
xwayland.force_zero_scaling = true;

View file

@ -2,6 +2,7 @@
{
nixpkgs.config.packageOverrides = pkgs: {
yuzu = pkgs.callPackage ./yuzu { };
ewwbar = pkgs.callPackage ./ewwbar { };
UVtools = pkgs.callPackage ./UVtools { };
};
}

36
pkgs/ewwbar/default.nix Normal file
View file

@ -0,0 +1,36 @@
{ lib
, rustPlatform
, fetchurl
, pkg-config
, libxkbcommon
}:
rustPlatform.buildRustPackage {
pname = "ewwbar";
version = "0.1.0";
src = fetchurl {
url = "https://git.huwe.mooo.com/willifan/desktop-utils/archive/main.tar.gz";
sha256 = "sha256-qolavUf7wKjwXlbBOz5gphjk1aqCBgbdLY62N3plbB8=";
};
cargoHash = "sha256-H0Mm5BdxmR6WM3KHRSuBYfCxSdLcp95sT4qbARL5ywU=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
libxkbcommon
];
meta = with pkgs.lib; {
description = "utils for my desktop";
homepage = " git.huwe.mooo.com/willifan/desktop-utils";
license = licenses.gpl3;
platforms = platforms.unix;
mainProgram = "ewwbar";
};
}

View file

@ -0,0 +1,266 @@
{ pkgs, home-manager, ... }:
{
home-manager.users.willifan = {
wayland.windowManager.hyprland = {
enable = true;
systemd.variables = ["--all"];
package = pkgs.hyprland;
settings = {
"$SCRIPTS" = "$XDG_CONFIG_HOME/desktop-utils/scripts";
misc = {
disable_hyprland_logo=true;
};
monitor = [
", preffered, auto, 1"
"eDP-1, preferred, 0x0, 1.6"
"desc:ViewSonic Corporation VX2705-2KP W6Z205100250, 2560x1440@144Hz, 0x384, 1.25"
"desc:ViewSonic Corporation VX2705-2KP W6Z210400766, 2560x1440@144Hz, 2048x384, 1.25"
"desc:BNQ BenQ BL2283 CAM01567019, 1920x1080@60Hz, 4096x0, 1.0, transform, 3"
];
# Execute your favorite apps at launch
exec-once = [
''hyprctl dispatch exec "[workspace 1 silent] kitty"''
''hyprctl dispatch exec "[workspace 2 silent] firefox"''
#''hyprctl dispatch exec "[workspace 3 silent] "''
#''hyprctl dispatch exec "[workspace 4 silent] "''
#''hyprctl dispatch exec "[workspace 8 silent] "''
''hyprctl dispatch exec "[workspace 9 silent] vesktop"''
''hyprctl dispatch exec "[workspace special:ctrl silent] thunar"''
''hyprctl dispatch exec "[workspace special:alt silent] obsidian"''
''hyprctl dispatch exec "[workspace special:altgr silent] thunderbird"''
#''exec-once = hyprctl dispatch exec "[workspace special:strg silent] "''
];
xwayland.force_zero_scaling = true;
input = {
kb_layout = "de";
kb_variant = "";
kb_model = "";
kb_options = "";
kb_rules = "";
follow_mouse = 1;
touchpad.natural_scroll = "yes";
sensitivity = -0.8; # -1.0 - 1.0, 0 means no modification.
numlock_by_default = 1;
special_fallthrough = true;
};
general = {
gaps_in = 2;
gaps_out = 5;
border_size = 2;
# "col.active_border" = "rgba(ffa44bee)";
# "col.inactive_border" = "rgba(595959aa)";
layout = "dwindle";
resize_on_border = true;
};
decoration = {
rounding = 10;
blur = {
enabled = false;
size = 3;
passes = 1;
new_optimizations = 1;
};
drop_shadow = "yes";
shadow_range = 4;
shadow_render_power = 3;
# "col.shadow" = "rgba(1a1a1aee)";
};
misc = {
vfr = true;
mouse_move_enables_dpms = true;
};
animations = {
enabled = "yes";
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
"specialWorkspace, 1, 8, default, slidefadevert 20%"
];
};
dwindle = {
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = "yes"; # you probably want this
};
gestures = {
workspace_swipe = "on";
workspace_swipe_create_new = "false";
};
device = {
name = "pixa3854:00-093a:0274-touchpad";
sensitivity = 0;
natural_scroll = "yes";
};
windowrule = [
"idleinhibit fullscreen, ^(firefox)$"
"float, ^(thunar)$"
"stayfocused, title:^(Enpass Assistant)$"
"pin, title:^(Enpass Assistant)$"
"center, title:^(Enpass Assistant)$"
"float, ^(Enpass)$"
"center, ^(Enpass)$"
"float, ^(blueman-manager)$"
"move -0% 0%, ^(blueman-manager)$"
"float, ^(org.gnome.Calendar)$"
"move 20% 5%, ^(org.gnome.Calendar)$"
"size 60% 60%, ^(org.gnome.Calendar)$"
"float, ^(org.gnome.Calculator)$"
];
windowrulev2 = [
"center, xwayland:(1)"
"nofocus,class:^jetbrains-(?!toolbox),floating:1,title:^win\d+$"
''workspace +0, workspace:name:special:ctrl, floating:0''
''float, workspace:name:special:altgr, onworkspace:w[2]''
''float, workspace:name:special:strg, onworkspace:w[1]''
''workspace +0, workspace:name:special:strg, floating:0''
];
"$mainMod" = "SUPER";
bind = [
''$mainMod, Q, exec, kitty''
''$mainMod, C, killactive, ''
''$mainMod, M, exit, ''
''$mainMod, E, exec, thunar''
''$mainMod, V, togglefloating, ''
''$mainMod, R, exec, wofi --show drun''
''$mainMod, J, togglesplit, # dwindle''
''$mainMod, P, exec, Enpass''
''$mainMod, T, exec, hyprctl dispatch exec "[float; pin; size 40% 40%; move 100%-41% 40] kitty btop -b proc"''
''$mainMod, W, exec, networkmanager_dmenu''
''$mainMod, F, fullscreen''
# Move focus with mainMod + arrow keys
''$mainMod, left, movefocus, l''
''$mainMod, right, movefocus, r''
''$mainMod, up, movefocus, u''
''$mainMod, down, movefocus, d''
'', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle''
'', XF86AudioPrev, exec, playerctl previous''
'', XF86AudioPlay, exec, playerctl play-pause''
'', XF86AudioNext, exec, playerctl next''
'', print, exec, grim -g "$(slurp)" - | wl-copy -t image/png''
# Switch workspaces with mainMod + [0-9]
''$mainMod, 1, exec, $SCRIPTS/workspaces.sh 1''
''$mainMod, 2, exec, $SCRIPTS/workspaces.sh 2''
''$mainMod, 3, exec, $SCRIPTS/workspaces.sh 3''
''$mainMod, 4, exec, $SCRIPTS/workspaces.sh 4''
''$mainMod, 5, exec, $SCRIPTS/workspaces.sh 5''
''$mainMod, 6, exec, $SCRIPTS/workspaces.sh 6''
''$mainMod, 7, exec, $SCRIPTS/workspaces.sh 7''
''$mainMod, 8, exec, $SCRIPTS/workspaces.sh 8''
''$mainMod, 9, exec, $SCRIPTS/workspaces.sh 9''
# Move active window to a workspace with mainMod + SHIFT + [0-9]
''$mainMod SHIFT, 1, movetoworkspace, 1''
''$mainMod SHIFT, 2, movetoworkspace, 2''
''$mainMod SHIFT, 3, movetoworkspace, 3''
''$mainMod SHIFT, 4, movetoworkspace, 4''
''$mainMod SHIFT, 5, movetoworkspace, 5''
''$mainMod SHIFT, 6, movetoworkspace, 6''
''$mainMod SHIFT, 7, movetoworkspace, 7''
''$mainMod SHIFT, 8, movetoworkspace, 8''
''$mainMod SHIFT, 9, movetoworkspace, 9''
# Monitor focus
''$mainMod ALT, 1, focusmonitor, 0''
''$mainMod ALT, 2, focusmonitor, 1''
''$mainMod ALT, 3, focusmonitor, 2''
''$mainMod ALT, 4, focusmonitor, 3''
''$mainMod ALT, 5, focusmonitor, 4''
''$mainMod ALT, 6, focusmonitor, 5''
''$mainMod ALT, 7, focusmonitor, 6''
''$mainMod ALT, 8, focusmonitor, 7''
''$mainMod ALT, 9, focusmonitor, 8''
''$mainMod ALT, 0, focusmonitor, 9''
# Scroll through existing workspaces with mainMod + scroll
''$mainMod, mouse_down, workspace, e+1''
''$mainMod, mouse_up, workspace, e-1''
];
binde = [
'', XF86AudioLowerVolume, exec, $SCRIPTS/volume.sh -5''
'', XF86AudioRaiseVolume, exec, $SCRIPTS/volume.sh 5''
];
bindel = [
'', XF86MonBrightnessDown, exec, $SCRIPTS/brightness.sh -4800''
'', XF86MonBrightnessUp, exec, $SCRIPTS/brightness.sh 4800''
];
bindr = [
''SUPERCTRL, Control_L, togglespecialworkspace, ctrl''
''SUPERALT, Alt_L, togglespecialworkspace, alt''
''SUPERMOD5, ISO_Level3_Shift, togglespecialworkspace, altgr''
''SUPERCTRL, Control_R, togglespecialworkspace, strg''
];
bindm = [
# Move/resize windows with mainMod + LMB/RMB and dragging
''$mainMod, mouse:272, movewindow''
''$mainMod, mouse:273, resizewindow''
];
# ------------------------------------------
# ########################################
# ####### Workspaces ###########
# ########################################
# ------------------------------------------
workspace = [
"1, persistent:true"
"2, persistent:true"
"3, persistent:true"
"4, persistent:true"
"5, persistent:true"
"6, persistent:true"
"7, persistent:true"
"8, persistent:true"
"8, persistent:true"
"9, persistent:true"
"name:special:ctrl, persistent:true"
"name:special:alt, persistent:true"
"name:special:altgr, persistent:true"
"name:special:strg, persistent:true"
];
};
};
};
}