61 lines
1.4 KiB
Nix
61 lines
1.4 KiB
Nix
{ pkgs, lib, ... }:
|
|
|
|
let
|
|
settingsFormat = pkgs.formats.toml { };
|
|
|
|
settings = {
|
|
start-at-login = true;
|
|
|
|
enable-normalization-flatten-containers = false;
|
|
enable-normalization-opposite-orientation-for-nested-containers = false;
|
|
|
|
default-root-container-layout = "tiles";
|
|
default-root-container-orientation = "auto";
|
|
|
|
gaps = {
|
|
inner = {
|
|
horizontal = 10;
|
|
vertical = 10;
|
|
};
|
|
|
|
outer = {
|
|
left = 10;
|
|
bottom = 10;
|
|
top = 10;
|
|
right = 10;
|
|
};
|
|
};
|
|
|
|
key-mapping = {
|
|
preset = "qwerty";
|
|
};
|
|
|
|
mode.main.binding =
|
|
let
|
|
meh = "ctrl-alt-shift";
|
|
in
|
|
{
|
|
"${meh}-h" = "move left";
|
|
"${meh}-j" = "move down";
|
|
"${meh}-k" = "move up";
|
|
"${meh}-l" = "move right";
|
|
|
|
"${meh}-w" = "move-node-to-monitor --wrap-around left";
|
|
"${meh}-e" = "move-node-to-monitor --wrap-around right";
|
|
|
|
"${meh}-f" = "fullscreen";
|
|
|
|
"${meh}-t" = "layout floating tiling";
|
|
};
|
|
};
|
|
in
|
|
{
|
|
home.packages = [ pkgs.aerospace ];
|
|
|
|
xdg.configFile."aerospace/aerospace.toml".source = settingsFormat.generate "aerospace.toml" settings;
|
|
|
|
home.activation.aeorspaceConfig = lib.hm.dag.entryAfter [ "writeBoundary" ] /* bash */ ''
|
|
$VERBOSE_ECHO "Reloading configuration"
|
|
$DRY_RUN_CMD ${pkgs.aerospace}/bin/aerospace reload-config
|
|
'';
|
|
}
|