166 lines
4.3 KiB
Nix
166 lines
4.3 KiB
Nix
{
|
|
flake.modules = {
|
|
nixos.niri =
|
|
{ inputs, pkgs, ... }:
|
|
{
|
|
imports = [
|
|
inputs.niri-flake.nixosModules.niri
|
|
];
|
|
|
|
programs.niri = {
|
|
enable = true;
|
|
package = inputs.niri-flake.packages.${pkgs.system}.niri-unstable;
|
|
};
|
|
|
|
environment.systemPackages = [
|
|
pkgs.alacritty
|
|
pkgs.fuzzel
|
|
];
|
|
};
|
|
|
|
homeManager.cholli =
|
|
{
|
|
config,
|
|
inputs,
|
|
lib,
|
|
osConfig,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
|
|
config = lib.mkIf (osConfig.networking.hostName == "yggdrasil") {
|
|
programs.niri.settings = {
|
|
input = {
|
|
keyboard = {
|
|
numlock = true;
|
|
};
|
|
};
|
|
|
|
outputs."DP-1" = {
|
|
mode = {
|
|
width = 3440;
|
|
height = 1440;
|
|
};
|
|
};
|
|
outputs."HDMI-A-1" = {
|
|
mode = {
|
|
width = 1920;
|
|
height = 1080;
|
|
};
|
|
transform.rotation = 90;
|
|
};
|
|
|
|
layout = {
|
|
gaps = 5;
|
|
center-focused-column = "never";
|
|
|
|
default-column-width = {
|
|
proportion = 0.5;
|
|
};
|
|
|
|
preset-column-widths = [
|
|
{ proportion = 1. / 3.; }
|
|
{ proportion = 1. / 2.; }
|
|
{ proportion = 2. / 3.; }
|
|
|
|
];
|
|
|
|
focus-ring = {
|
|
width = 1;
|
|
active = {
|
|
color = "#7fc8ff";
|
|
};
|
|
inactive = {
|
|
color = "#505050";
|
|
};
|
|
};
|
|
};
|
|
|
|
hotkey-overlay.skip-at-startup = true;
|
|
|
|
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
|
|
|
|
# block 1pass from screenshots and window capture
|
|
window-rules = [
|
|
];
|
|
|
|
binds =
|
|
with config.lib.niri;
|
|
let
|
|
workspaces = (builtins.genList (x: x + 1) 9);
|
|
|
|
focus-workspaces = builtins.listToAttrs (
|
|
map (num: {
|
|
name = "Mod+${toString num}";
|
|
value = {
|
|
action.focus-workspace = num;
|
|
};
|
|
}) workspaces
|
|
);
|
|
in
|
|
|
|
lib.mkMerge [
|
|
{
|
|
"Mod+Shift+Slash".action = actions.show-hotkey-overlay;
|
|
|
|
"Mod+Return".action.spawn = "${lib.getExe pkgs.kitty}";
|
|
"Mod+D".action.spawn = "${lib.getExe pkgs.fuzzel}";
|
|
"Mod+Alt+L".action.spawn = "hyprlock-blur";
|
|
|
|
"Mod+Shift+Q" = {
|
|
action = actions.close-window;
|
|
repeat = false;
|
|
};
|
|
|
|
"Mod+O" = {
|
|
action = actions.toggle-overview;
|
|
repeat = false;
|
|
};
|
|
|
|
"XF86AudioRaiseVolume" = {
|
|
action.spawn = [
|
|
"wpctl"
|
|
"set-volume"
|
|
"@DEFAULT_AUDIO_SINK@"
|
|
"0.1+"
|
|
];
|
|
allow-when-locked = true;
|
|
};
|
|
"XF86AudioLowerVolume" = {
|
|
action.spawn = [
|
|
"wpctl"
|
|
"set-volume"
|
|
"@DEFAULT_AUDIO_SINK@"
|
|
"0.1-"
|
|
];
|
|
allow-when-locked = true;
|
|
};
|
|
"XF86AudioMute" = {
|
|
action.spawn = [
|
|
"wpctl"
|
|
"set-mute"
|
|
"@DEFAULT_AUDIO_SINK@"
|
|
"toggle"
|
|
];
|
|
allow-when-locked = true;
|
|
};
|
|
"XF86AudioMicMute" = {
|
|
action.spawn = [
|
|
"wpctl"
|
|
"set-mute"
|
|
"@DEFAULT_AUDIO_SOURCE@"
|
|
"toggle"
|
|
];
|
|
allow-when-locked = true;
|
|
};
|
|
}
|
|
focus-workspaces
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
};
|
|
};
|
|
}
|