worf: Add yabai/skhd. Add sarek as builder
This commit is contained in:
		
							parent
							
								
									4da7b08cd4
								
							
						
					
					
						commit
						8838b0ecf7
					
				
							
								
								
									
										2
									
								
								base.nix
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								base.nix
									
									
									
									
									
								
							@ -79,7 +79,7 @@
 | 
			
		||||
      "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDKzPICGew7uN0cmvRmbwkwTCodTBUgEhkoftQnZuO4Q felixalbrigtsen@gmail.com"
 | 
			
		||||
      "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBTXSL0w7OUcz1LzEt1T3I3K5RgyNV+MYz0x/1RbpDHQ felixalb@worf"
 | 
			
		||||
      "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFiPHhj0YbklJnJNcxD0IlzPxLTGfv095H5zyS/1Wb64 felixalb@edison.home.feal.no"
 | 
			
		||||
      "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH5M7hYl3saBNMAo6sczgfUvASEJWFHuERB7xvf4gxst nix-builder-voyager-worf"
 | 
			
		||||
      "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH5M7hYl3saBNMAo6sczgfUvASEJWFHuERB7xvf4gxst nix-builder-worf"
 | 
			
		||||
    ];
 | 
			
		||||
    shell = pkgs.zsh;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,9 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
  # Many settings should be handled by home manager. System-wide settings are however managed here.
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./yabai.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  nixpkgs.config.allowUnfree = true;
 | 
			
		||||
 | 
			
		||||
@ -28,7 +31,18 @@
 | 
			
		||||
        mandatoryFeatures = [ ];
 | 
			
		||||
 | 
			
		||||
        sshUser = "felixalb";
 | 
			
		||||
        sshKey = "/var/root/.ssh/nix-builder-voyager";
 | 
			
		||||
        sshKey = "/var/root/.ssh/nix-builder";
 | 
			
		||||
      }
 | 
			
		||||
      {
 | 
			
		||||
        hostName = "sarek.home.feal.no";
 | 
			
		||||
        system = "x86_64-linux";
 | 
			
		||||
 | 
			
		||||
        maxJobs = 6;
 | 
			
		||||
        supportedFeatures = [ "big-parallel" "benchmark" "nixos-test" ];
 | 
			
		||||
        mandatoryFeatures = [ ];
 | 
			
		||||
 | 
			
		||||
        sshUser = "felixalb";
 | 
			
		||||
        sshKey = "/var/root/.ssh/nix-builder";
 | 
			
		||||
      }
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										69
									
								
								hosts/worf/yabai.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								hosts/worf/yabai.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,69 @@
 | 
			
		||||
 | 
			
		||||
{ config, pkgs, lib, ... }:
 | 
			
		||||
let
 | 
			
		||||
  cfg = config.services.yabai;
 | 
			
		||||
in {
 | 
			
		||||
  services.yabai = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    enableScriptingAddition = true;
 | 
			
		||||
    config = {
 | 
			
		||||
      layout = "bsp";
 | 
			
		||||
      debug_output = "on";
 | 
			
		||||
      focus_follows_mouse = "autoraise";
 | 
			
		||||
      mouse_follows_focus = "off";
 | 
			
		||||
      window_placement    = "second_child";
 | 
			
		||||
      window_opacity      = "off";
 | 
			
		||||
      # top_padding         = 10;
 | 
			
		||||
      # bottom_padding      = 10;
 | 
			
		||||
      # left_padding        = 10;
 | 
			
		||||
      # right_padding       = 10;
 | 
			
		||||
      window_gap          = 10;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  services.skhd = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    skhdConfig = let
 | 
			
		||||
      mod = "alt";
 | 
			
		||||
      mod2 = "alt + ctrl";
 | 
			
		||||
      mod3 = "alt + shift";
 | 
			
		||||
    in ''
 | 
			
		||||
      # Move window focus
 | 
			
		||||
      ${mod} - j : yabai -m window --focus south
 | 
			
		||||
      ${mod} - k : yabai -m window --focus north
 | 
			
		||||
      ${mod} - h : yabai -m window --focus west
 | 
			
		||||
      ${mod} - l : yabai -m window --focus east
 | 
			
		||||
 | 
			
		||||
      ${mod} - down : yabai -m window --focus south
 | 
			
		||||
      ${mod} - up : yabai -m window --focus north
 | 
			
		||||
      ${mod} - left : yabai -m window --focus west
 | 
			
		||||
      ${mod} - right : yabai -m window --focus east
 | 
			
		||||
 | 
			
		||||
      # Move windows
 | 
			
		||||
      ${mod3} - j : yabai -m window --warp south
 | 
			
		||||
      ${mod3} - k : yabai -m window --warp north
 | 
			
		||||
      ${mod3} - h : yabai -m window --warp west
 | 
			
		||||
      ${mod3} - l : yabai -m window --warp east
 | 
			
		||||
 | 
			
		||||
      ${mod3} - down : yabai -m window --warp south
 | 
			
		||||
      ${mod3} - up : yabai -m window --warp north
 | 
			
		||||
      ${mod3} - left : yabai -m window --warp west
 | 
			
		||||
      ${mod3} - right : yabai -m window --warp east
 | 
			
		||||
 | 
			
		||||
      # Move windows to different spaces
 | 
			
		||||
      ${mod2} - 1 : yabai -m window --space 1
 | 
			
		||||
      ${mod2} - 2 : yabai -m window --space 2
 | 
			
		||||
      ${mod2} - 3 : yabai -m window --space 3
 | 
			
		||||
      ${mod2} - 4 : yabai -m window --space 4
 | 
			
		||||
      ${mod2} - 5 : yabai -m window --space 5
 | 
			
		||||
      ${mod2} - 6 : yabai -m window --space 6
 | 
			
		||||
      ${mod2} - 7 : yabai -m window --space 7
 | 
			
		||||
 | 
			
		||||
      # Misc
 | 
			
		||||
 | 
			
		||||
      ${mod2} - f : yabai -m window --toggle zoom-fullscreen
 | 
			
		||||
      ${mod2} - b : yabai -m space --balance
 | 
			
		||||
      ${mod3} - space : yabai -m window --toggle float --grid 4:4:1:1:2:2
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user