164 lines
4.3 KiB
Nix
164 lines
4.3 KiB
Nix
{
|
|
inputs,
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
|
|
{
|
|
#imports = [ inputs.niri.homeModules.niri ];
|
|
|
|
programs.alacritty.enable = true;
|
|
|
|
home.packages = with pkgs; [
|
|
xwayland-satellite
|
|
wl-mirror
|
|
];
|
|
|
|
gtk = {
|
|
enable = true;
|
|
};
|
|
|
|
programs.niri =
|
|
let
|
|
noctalia-ipc-call =
|
|
cmd:
|
|
[
|
|
(lib.getExe config.programs.noctalia-shell.package)
|
|
"ipc"
|
|
"call"
|
|
]
|
|
++ (lib.splitString " " cmd);
|
|
noctalia-action = cmd: {
|
|
action.spawn = noctalia-ipc-call cmd;
|
|
};
|
|
noctalia-action-hidden = cmd: {
|
|
action.spawn = noctalia-ipc-call cmd;
|
|
hotkey-overlay.hidden = true;
|
|
};
|
|
|
|
noctalia-action-locked = cmd: {
|
|
action.spawn = noctalia-ipc-call cmd;
|
|
allow-when-locked = true;
|
|
};
|
|
action-with-arg = actionName: arg: {
|
|
action.${actionName} = arg;
|
|
};
|
|
action = actionName: action-with-arg actionName [ ];
|
|
in
|
|
{
|
|
#enable = true;
|
|
#package = pkgs.niri-stable;
|
|
|
|
settings = {
|
|
layout = {
|
|
gaps = 8;
|
|
default-column-width = {
|
|
proportion = 1. / 2.;
|
|
};
|
|
preset-column-widths = [
|
|
{ proportion = 1. / 3.; }
|
|
{ proportion = 1. / 2.; }
|
|
{ proportion = 2. / 3.; }
|
|
];
|
|
};
|
|
spawn-at-startup = [
|
|
{
|
|
command = [ "noctalia-shell" ];
|
|
}
|
|
{
|
|
command = [
|
|
"vicinae"
|
|
"server"
|
|
];
|
|
}
|
|
];
|
|
|
|
debug.honor-xdg-activation-with-invalid-serial = [ ];
|
|
|
|
# Displays
|
|
outputs."eDP-1" = {
|
|
scale = 1.0;
|
|
};
|
|
|
|
# Keybindings
|
|
binds = {
|
|
"Mod+Space".action.spawn = [
|
|
"vicinae"
|
|
"toggle"
|
|
];
|
|
"Mod+L" = noctalia-action "sessionMenu lock";
|
|
"Mod+T".action.spawn = [ "alacritty" ];
|
|
|
|
"Mod+Q" = action "close-window";
|
|
|
|
"Mod+Left" = action "focus-column-left";
|
|
"Mod+Down" = action "focus-workspace-down";
|
|
"Mod+Up" = action "focus-workspace-up";
|
|
"Mod+Right" = action "focus-column-right";
|
|
|
|
"Mod+Shift+Left" = action "move-column-left";
|
|
"Mod+Shift+Down" = action "move-window-to-workspace-down";
|
|
"Mod+Shift+Up" = action "move-window-to-workspace-up";
|
|
"Mod+Shift+Right" = action "move-column-right";
|
|
|
|
"Mod+Ctrl+Left" = action "focus-monitor-left";
|
|
"Mod+Ctrl+Down" = action "focus-window-down";
|
|
"Mod+Ctrl+Up" = action "focus-window-up";
|
|
"Mod+Ctrl+Right" = action "focus-monitor-right";
|
|
|
|
"Mod+R" = action "switch-preset-column-width";
|
|
"Mod+Shift+R" = action "switch-preset-column-width-back";
|
|
"Mod+F" = action "maximize-column";
|
|
"Mod+Shift+F" = action "fullscreen-window";
|
|
|
|
"Mod+V" = action "toggle-window-floating";
|
|
"Mod+Shift+V" = action "switch-focus-between-floating-and-tiling";
|
|
|
|
"XF86MonBrightnessUp" = noctalia-action-locked "brightness increase";
|
|
"XF86MonBrightnessDown" = noctalia-action-locked "brightness decrease";
|
|
"XF86AudioRaiseVolume" = action-with-arg "spawn" [
|
|
"pactl"
|
|
"set-sink-volume"
|
|
"@DEFAULT_SINK@"
|
|
"+5%"
|
|
];
|
|
"XF86AudioLowerVolume" = action-with-arg "spawn" [
|
|
"pactl"
|
|
"set-sink-volume"
|
|
"@DEFAULT_SINK@"
|
|
"-5%"
|
|
];
|
|
"XF86AudioMute" = action-with-arg "spawn" [
|
|
"pactl"
|
|
"set-sink-mute"
|
|
"@DEFAULT_SINK@"
|
|
"toggle"
|
|
];
|
|
"XF86AudioMicMute" = action-with-arg "spawn" [
|
|
"pactl"
|
|
"set-source-mute"
|
|
"@DEFAULT_SOURCE@"
|
|
"toggle"
|
|
];
|
|
"XF86AudioPlay" = noctalia-action-hidden "media playPause";
|
|
"XF86AudioNext" = noctalia-action-hidden "media next";
|
|
"XF86AudioPrev" = noctalia-action-hidden "media previous";
|
|
};
|
|
|
|
switch-events = {
|
|
lid-close = noctalia-action "sessionMenu lock";
|
|
};
|
|
|
|
window-rules = [
|
|
{
|
|
matches = [
|
|
{ app-id = "^firefox$"; }
|
|
];
|
|
open-maximized = true;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|