Small niri tryouts
This commit is contained in:
parent
d645c46790
commit
634aa0295f
7 changed files with 375 additions and 25 deletions
|
|
@ -40,7 +40,7 @@ in
|
|||
|
||||
environment.systemPackages = [ hyprlock-blur ];
|
||||
|
||||
${namespace}.desktop.hyprland.settings = {
|
||||
${namespace}.desktop.hyprland.settings = mkIf config.desktop.hyprland.enable {
|
||||
bind = [
|
||||
"$mod CTRL, l, exec, hyprlock-blur"
|
||||
];
|
||||
|
|
|
|||
|
|
@ -34,10 +34,10 @@ in
|
|||
systemd.user.sessionVariables = config.home-manager.users.${user}.home.sessionVariables;
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gnome";
|
||||
style = "adwaita-dark";
|
||||
};
|
||||
# qt = {
|
||||
# enable = true;
|
||||
# platformTheme = "gnome";
|
||||
# style = "adwaita-dark";
|
||||
# };
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -293,24 +293,24 @@ in
|
|||
"$mod CTRL, right, movecurrentworkspacetomonitor, r"
|
||||
|
||||
# move focus
|
||||
"$mod, h, hy3:movefocus, l"
|
||||
"$mod, j, hy3:movefocus, d"
|
||||
"$mod, k, hy3:movefocus, u"
|
||||
"$mod, l, hy3:movefocus, r"
|
||||
"$mod, left, hy3:movefocus, l"
|
||||
"$mod, down, hy3:movefocus, d"
|
||||
"$mod, up, hy3:movefocus, u"
|
||||
"$mod, right, hy3:movefocus, r"
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, j, movefocus, d"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, l, movefocus, r"
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, down, movefocus, d"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, right, movefocus, r"
|
||||
|
||||
# move focus
|
||||
"$mod SHIFT, h, hy3:movewindow, l, once"
|
||||
"$mod SHIFT, j, hy3:movewindow, d, once"
|
||||
"$mod SHIFT, k, hy3:movewindow, u, once"
|
||||
"$mod SHIFT, l, hy3:movewindow, r, once"
|
||||
"$mod SHIFT, left, hy3:movewindow, l, once"
|
||||
"$mod SHIFT, down, hy3:movewindow, d, once"
|
||||
"$mod SHIFT, up, hy3:movewindow, u, once"
|
||||
"$mod SHIFT, right, hy3:movewindow, r, once"
|
||||
"$mod SHIFT, h, movewindow, l, once"
|
||||
"$mod SHIFT, j, movewindow, d, once"
|
||||
"$mod SHIFT, k, movewindow, u, once"
|
||||
"$mod SHIFT, l, movewindow, r, once"
|
||||
"$mod SHIFT, left, movewindow, l, once"
|
||||
"$mod SHIFT, down, movewindow, d, once"
|
||||
"$mod SHIFT, up, movewindow, u, once"
|
||||
"$mod SHIFT, right, movewindow, r, once"
|
||||
|
||||
#run important programs
|
||||
"$mod, Return, exec, kitty"
|
||||
|
|
@ -332,7 +332,7 @@ in
|
|||
in
|
||||
[
|
||||
"$mod, code:1${toString i}, workspace, ${toString ws}"
|
||||
"$mod SHIFT, code:1${toString i}, hy3:movetoworkspace, ${toString ws}"
|
||||
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||
]
|
||||
) 9
|
||||
)
|
||||
|
|
|
|||
207
modules/nixos/desktop/niri/default.nix
Normal file
207
modules/nixos/desktop/niri/default.nix
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
system,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib.${namespace};
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
mkMerge
|
||||
types
|
||||
;
|
||||
|
||||
cfg = config.${namespace}.desktop.niri;
|
||||
|
||||
apps-submodule = types.submodule {
|
||||
options = {
|
||||
terminal = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.kitty;
|
||||
description = "The default Terminal to use";
|
||||
};
|
||||
runner = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.fuzzel;
|
||||
description = "The app-runner to use";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.niri = {
|
||||
enable = mkEnableOption "Whether to enable niri";
|
||||
settings = mkOption {
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
description = "Additional niri settings to apply.";
|
||||
};
|
||||
apps = mkOption {
|
||||
type = apps-submodule;
|
||||
default = { };
|
||||
description = "Which apps to use";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
package = inputs.niri-flake.packages.${system}.niri-unstable;
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.alacritty
|
||||
pkgs.fuzzel
|
||||
];
|
||||
|
||||
${namespace} = {
|
||||
desktop.addons = {
|
||||
hyprlock = enabled;
|
||||
hypridle = enabled;
|
||||
};
|
||||
};
|
||||
|
||||
snowfallorg.users."cholli".home.config = {
|
||||
programs.niri.settings = mkMerge [
|
||||
{
|
||||
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
|
||||
|
||||
mkMerge [
|
||||
{
|
||||
"Mod+Shift+Slash".action = show-hotkey-overlay;
|
||||
|
||||
"Mod+Enter".action.spawn = "${lib.getExe cfg.apps.terminal}";
|
||||
"Mod+D".action.spwan = "${lib.getExe cfg.apps.runner}";
|
||||
"Mod+Alt+L".action.spawn = "hyprlock-blur";
|
||||
|
||||
"Mod+Shift+Q" = {
|
||||
action = actions.close-window;
|
||||
repeat = false;
|
||||
};
|
||||
|
||||
"Mod+O" = {
|
||||
action = actions.toggle-overview;
|
||||
repeat = false;
|
||||
};
|
||||
|
||||
inherit focus-workspaces;
|
||||
|
||||
"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;
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
cfg.settings
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue