more readable format

This commit is contained in:
nyxerinys 2026-10-11 00:41:57 -05:00
parent 10a118f234
commit 5c6b231f56
4 changed files with 126 additions and 118 deletions

View file

@ -2,5 +2,5 @@
{
imports = []
++ lib.optionals osConfig.programs.hyprland.enable [ ./hyprland.nix ];
++ lib.optionals osConfig.programs.hyprland.enable [ ./hyprland ];
}

View file

@ -1,117 +0,0 @@
{ inputs, lib, ... }:
{
xdg.configFile."hypr/plugins/split-monitor-workspaces".source = inputs.split-monitor-workspaces;
wayland.windowManager.hyprland = {
enable = true;
# set the Hyprland and XDPH packages to null to use the ones from the NixOS module
package = null;
portalPackage = null;
systemd.variables = ["--all"];
# extraLuaFiles = {
# smw-setup = {
# content = ''
# local smw = require('plugins.split-monitor-workspaces')
# smw.setup({
# workspace_count = 5
# })
# '';
# };
# };
settings = {
smw = {
_var = (lib.generators.mkLuaInline "require('plugins.split-monitor-workspaces')");
};
monitor = [
{
output = "DP-1";
mode = "highres@highrr";
position = "0x0";
scale = 1;
}
{
output = "DP-2";
mode = "1680x1050@60";
position = "auto-center-right";
scale = 1;
}
{
output = "HDMI-A-1";
mode = "1920x1080@60";
position = "-1920x720";
scale = 1;
}
{
output = "DP-3";
disabled = true;
}
{
output = "";
mode = "highres@highrr";
position = "auto";
scale = 1;
}
];
bind = let
mainMod = "SUPER";
in [
{
_args = [
"${mainMod} + c"
(lib.generators.mkLuaInline ''hl.dsp.exec_cmd("kitty")'')
];
}
{
_args = [
"${mainMod} + e"
(lib.generators.mkLuaInline ''hl.dsp.exec_cmd("nautilus")'')
];
}
{
_args = [
"${mainMod} + q"
(lib.generators.mkLuaInline ''hl.dsp.window.close()'')
{ locked = true; }
];
}
{
_args = [
"${mainMod} + s"
(lib.generators.mkLuaInline ''hl.dsp.workspace.toggle_special("special")'')
];
}
{
_args = [
"${mainMod} + SHIFT + s"
(lib.generators.mkLuaInline ''hl.dsp.window.move({ workspace = "special:special", follow = true })'')
];
}
{
_args = [
"${mainMod} + mouse:272"
(lib.generators.mkLuaInline ''hl.dsp.window.drag()'')
{ mouse = true; }
];
}
{
_args = [
"${mainMod} + mouse:273"
(lib.generators.mkLuaInline ''hl.dsp.window.resize()'')
{ mouse = true; }
];
}
{
_args = [
"${mainMod} + f"
(lib.generators.mkLuaInline ''hl.dsp.window.fullscreen({mode = "fullscreen", action = "toggle"})'')
];
}
];
};
extraConfig = ''
smw.setup({
workspace_count = 5
})
'';
};
}

View file

@ -0,0 +1,62 @@
{ lib, ... }:
let
mainMod = "SUPER";
appBinds = [
{
_args = [
"${mainMod} + c"
(lib.generators.mkLuaInline ''hl.dsp.exec_cmd("kitty")'')
];
}
{
_args = [
"${mainMod} + e"
(lib.generators.mkLuaInline ''hl.dsp.exec_cmd("nautilus")'')
];
}
{
_args = [
"${mainMod} + q"
(lib.generators.mkLuaInline ''hl.dsp.window.close()'')
];
}
];
windowBinds = [
{
_args = [
"${mainMod} + s"
(lib.generators.mkLuaInline ''hl.dsp.workspace.toggle_special("special")'')
];
}
{
_args = [
"${mainMod} + SHIFT + s"
(lib.generators.mkLuaInline ''hl.dsp.window.move({ workspace = "special:special", follow = true })'')
];
}
{
_args = [
"${mainMod} + mouse:272"
(lib.generators.mkLuaInline ''hl.dsp.window.drag()'')
{ mouse = true; }
];
}
{
_args = [
"${mainMod} + mouse:273"
(lib.generators.mkLuaInline ''hl.dsp.window.resize()'')
{ mouse = true; }
];
}
{
_args = [
"${mainMod} + f"
(lib.generators.mkLuaInline ''hl.dsp.window.fullscreen({mode = "fullscreen", action = "toggle"})'')
];
}
];
in
builtins.concatLists [
appBinds
windowBinds
]

View file

@ -0,0 +1,63 @@
args@{ inputs, lib, ... }:
{
xdg.configFile."hypr/plugins/split-monitor-workspaces".source = inputs.split-monitor-workspaces;
wayland.windowManager.hyprland = {
enable = true;
# set the Hyprland and XDPH packages to null to use the ones from the NixOS module
package = null;
portalPackage = null;
systemd.variables = ["--all"];
# extraLuaFiles = {
# smw-setup = {
# content = ''
# local smw = require('plugins.split-monitor-workspaces')
# smw.setup({
# workspace_count = 5
# })
# '';
# };
# };
settings = {
smw = {
_var = (lib.generators.mkLuaInline "require('plugins.split-monitor-workspaces')");
};
monitor = [
{
output = "DP-1";
mode = "highres@highrr";
position = "0x0";
scale = 1;
}
{
output = "DP-2";
mode = "1680x1050@60";
position = "auto-center-right";
scale = 1;
}
{
output = "HDMI-A-1";
mode = "1920x1080@60";
position = "-1920x720";
scale = 1;
}
{
output = "DP-3";
disabled = true;
}
{
output = "";
mode = "highres@highrr";
position = "auto";
scale = 1;
}
];
bind = import ./binds.nix args
};
extraConfig = ''
smw.setup({
workspace_count = 5
})
'';
};
}