mirror of
https://codeberg.org/tmayoff/.dotfiles.git
synced 2025-12-08 01:38:34 -05:00
nix-darwin fixes. PaperWM.spoon
This commit is contained in:
parent
ec70a18eba
commit
3f8399434e
4 changed files with 130 additions and 8 deletions
|
|
@ -95,13 +95,13 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
darwinConfigurations."MAC-C57KK2TC69" = darwin.lib.darwinSystem {
|
darwinConfigurations."MacBook-Pro" = darwin.lib.darwinSystem {
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = {inherit inputs outputs;};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./machines/hinge/darwin.nix
|
./machines/hinge/darwin.nix
|
||||||
|
|
||||||
determinate.darwinModules.default
|
# determinate.darwinModules.default
|
||||||
|
|
||||||
home-manager.darwinModules.home-manager
|
home-manager.darwinModules.home-manager
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,8 @@ in {
|
||||||
|
|
||||||
"ghostty"
|
"ghostty"
|
||||||
|
|
||||||
|
"hammerspoon"
|
||||||
|
|
||||||
"firefox"
|
"firefox"
|
||||||
"gpg-suite"
|
"gpg-suite"
|
||||||
"libreoffice"
|
"libreoffice"
|
||||||
|
|
@ -116,7 +118,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
services.aerospace = {
|
services.aerospace = {
|
||||||
enable = true;
|
enable = false;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
# You can use it to add commands that run after login to macOS user session.
|
# You can use it to add commands that run after login to macOS user session.
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,6 @@
|
||||||
nodejs_24
|
nodejs_24
|
||||||
yarn
|
yarn
|
||||||
cocoapods
|
cocoapods
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
|
|
@ -66,6 +65,127 @@
|
||||||
require("init")
|
require("init")
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
file.".hammerspoon/Spoons/PaperWM.spoon" = {
|
||||||
|
source = pkgs.fetchFromGitHub {
|
||||||
|
owner = "mogenson";
|
||||||
|
repo = "PaperWM.spoon";
|
||||||
|
rev = "5bc47411eaf4dbbfb950d23d1ec7daf3a0427470";
|
||||||
|
hash = "sha256-YBwa8tmo8hTpuZLFJ8JjAzkNF9+4xGSBuE3ziuHVg74=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
file.".hammerspoon/Spoons/ActiveSpace.spoon" = {
|
||||||
|
source = pkgs.fetchFromGitHub {
|
||||||
|
owner = "mogenson";
|
||||||
|
repo = "ActiveSpace.spoon";
|
||||||
|
rev = "a246cb5a38d0e930a526b44fbd6b6c6d4a36a9d9";
|
||||||
|
hash = "sha256-yFhWsb9J56qtcTx56WRhej5oY3zLUkUZjjTd8iMIhFg=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
file.".hammerspoon/Spoons/WarpMouse.spoon" = {
|
||||||
|
source = pkgs.fetchFromGitHub {
|
||||||
|
owner = "mogenson";
|
||||||
|
repo = "WarpMouse.spoon";
|
||||||
|
rev = "c3b76e02704a15d22e7e6971fe76781db642d0bd";
|
||||||
|
hash = "sha256-6hDU7lM59PoMo5ykeTdvomIqEkKkmh1Xam2GIBVgSVY=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
file.".hammerspoon/init.lua" = {
|
||||||
|
text = ''
|
||||||
|
|
||||||
|
ActiveSpace = hs.loadSpoon("ActiveSpace")
|
||||||
|
ActiveSpace.compact = true
|
||||||
|
ActiveSpace:start()
|
||||||
|
|
||||||
|
WarpMouse = hs.loadSpoon("WarpMouse")
|
||||||
|
-- WarpMouse.margin = 8 -- optionally set how far past a screen edge the mouse should warp, default is 2 pixels
|
||||||
|
WarpMouse:start()
|
||||||
|
|
||||||
|
PaperWM = hs.loadSpoon("PaperWM")
|
||||||
|
PaperWM:bindHotkeys({
|
||||||
|
-- switch to a new focused window in tiled grid
|
||||||
|
focus_left = {{"alt", "cmd"}, "left"},
|
||||||
|
focus_right = {{"alt", "cmd"}, "right"},
|
||||||
|
focus_up = {{"alt", "cmd"}, "up"},
|
||||||
|
focus_down = {{"alt", "cmd"}, "down"},
|
||||||
|
|
||||||
|
-- switch windows by cycling forward/backward
|
||||||
|
-- (forward = down or right, backward = up or left)
|
||||||
|
focus_prev = {{"alt", "cmd"}, "k"},
|
||||||
|
focus_next = {{"alt", "cmd"}, "j"},
|
||||||
|
|
||||||
|
-- move windows around in tiled grid
|
||||||
|
swap_left = {{"alt", "cmd", "shift"}, "left"},
|
||||||
|
swap_right = {{"alt", "cmd", "shift"}, "right"},
|
||||||
|
swap_up = {{"alt", "cmd", "shift"}, "up"},
|
||||||
|
swap_down = {{"alt", "cmd", "shift"}, "down"},
|
||||||
|
|
||||||
|
-- alternative: swap entire columns, rather than
|
||||||
|
-- individual windows (to be used instead of
|
||||||
|
-- swap_left / swap_right bindings)
|
||||||
|
-- swap_column_left = {{"alt", "cmd", "shift"}, "left"},
|
||||||
|
-- swap_column_right = {{"alt", "cmd", "shift"}, "right"},
|
||||||
|
|
||||||
|
-- position and resize focused window
|
||||||
|
center_window = {{"alt", "cmd"}, "c"},
|
||||||
|
full_width = {{"alt", "cmd"}, "f"},
|
||||||
|
cycle_width = {{"alt", "cmd"}, "r"},
|
||||||
|
reverse_cycle_width = {{"ctrl", "alt", "cmd"}, "r"},
|
||||||
|
cycle_height = {{"alt", "cmd", "shift"}, "r"},
|
||||||
|
reverse_cycle_height = {{"ctrl", "alt", "cmd", "shift"}, "r"},
|
||||||
|
|
||||||
|
-- increase/decrease width
|
||||||
|
increase_width = {{"alt", "cmd"}, "l"},
|
||||||
|
decrease_width = {{"alt", "cmd"}, "h"},
|
||||||
|
|
||||||
|
-- move focused window into / out of a column
|
||||||
|
slurp_in = {{"alt", "cmd"}, "i"},
|
||||||
|
barf_out = {{"alt", "cmd"}, "o"},
|
||||||
|
|
||||||
|
-- move the focused window into / out of the tiling layer
|
||||||
|
toggle_floating = {{"alt", "cmd", "shift"}, "escape"},
|
||||||
|
|
||||||
|
-- focus the first / second / etc window in the current space
|
||||||
|
focus_window_1 = {{"cmd", "shift"}, "1"},
|
||||||
|
focus_window_2 = {{"cmd", "shift"}, "2"},
|
||||||
|
focus_window_3 = {{"cmd", "shift"}, "3"},
|
||||||
|
focus_window_4 = {{"cmd", "shift"}, "4"},
|
||||||
|
focus_window_5 = {{"cmd", "shift"}, "5"},
|
||||||
|
focus_window_6 = {{"cmd", "shift"}, "6"},
|
||||||
|
focus_window_7 = {{"cmd", "shift"}, "7"},
|
||||||
|
focus_window_8 = {{"cmd", "shift"}, "8"},
|
||||||
|
focus_window_9 = {{"cmd", "shift"}, "9"},
|
||||||
|
|
||||||
|
-- switch to a new Mission Control space
|
||||||
|
switch_space_l = {{"alt", "cmd"}, ","},
|
||||||
|
switch_space_r = {{"alt", "cmd"}, "."},
|
||||||
|
switch_space_1 = {{"alt", "cmd"}, "1"},
|
||||||
|
switch_space_2 = {{"alt", "cmd"}, "2"},
|
||||||
|
switch_space_3 = {{"alt", "cmd"}, "3"},
|
||||||
|
switch_space_4 = {{"alt", "cmd"}, "4"},
|
||||||
|
switch_space_5 = {{"alt", "cmd"}, "5"},
|
||||||
|
switch_space_6 = {{"alt", "cmd"}, "6"},
|
||||||
|
switch_space_7 = {{"alt", "cmd"}, "7"},
|
||||||
|
switch_space_8 = {{"alt", "cmd"}, "8"},
|
||||||
|
switch_space_9 = {{"alt", "cmd"}, "9"},
|
||||||
|
|
||||||
|
-- move focused window to a new space and tile
|
||||||
|
move_window_1 = {{"alt", "cmd", "shift"}, "1"},
|
||||||
|
move_window_2 = {{"alt", "cmd", "shift"}, "2"},
|
||||||
|
move_window_3 = {{"alt", "cmd", "shift"}, "3"},
|
||||||
|
move_window_4 = {{"alt", "cmd", "shift"}, "4"},
|
||||||
|
move_window_5 = {{"alt", "cmd", "shift"}, "5"},
|
||||||
|
move_window_6 = {{"alt", "cmd", "shift"}, "6"},
|
||||||
|
move_window_7 = {{"alt", "cmd", "shift"}, "7"},
|
||||||
|
move_window_8 = {{"alt", "cmd", "shift"}, "8"},
|
||||||
|
move_window_9 = {{"alt", "cmd", "shift"}, "9"}
|
||||||
|
})
|
||||||
|
PaperWM:start()
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
[[ $(command -v nixos-rebuild) ]] && nh os switch ~/.config/flake
|
[[ $(command -v nixos-rebuild) ]] && nh os switch ~/.config/flake
|
||||||
[[ $(command -v darwin-rebuild) ]] && nh darwin switch ~/.config/flake/
|
[[ $(command -v darwin-rebuild) ]] && sudo darwin-rebuild switch --flake ~/.config/flake/
|
||||||
[[ $(command -v home-manager) ]] && nh home switch ~/.config/flake/
|
[[ $(command -v home-manager) ]] && nh home switch ~/.config/flake/
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue