added ewwbar
This commit is contained in:
		
							parent
							
								
									8393d6921a
								
							
						
					
					
						commit
						f2ed447299
					
				
					 6 changed files with 307 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -4,10 +4,6 @@ lib.mkIf config.desktop.enable {
 | 
			
		|||
  environment.systemPackages =
 | 
			
		||||
    (with pkgs; [
 | 
			
		||||
 | 
			
		||||
      bc
 | 
			
		||||
      jq
 | 
			
		||||
      xorg.xrandr
 | 
			
		||||
 | 
			
		||||
      feh
 | 
			
		||||
 | 
			
		||||
      enpass
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
									
								
							
							
						
						
									
										36
									
								
								pkgs/ewwbar/default.nix
									
										
									
									
									
										Normal 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";
 | 
			
		||||
  }; 
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										266
									
								
								users/willifan/desktop/hyprland/common/hyprland.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										266
									
								
								users/willifan/desktop/hyprland/common/hyprland.nix
									
										
									
									
									
										Normal 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"
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue