feat: changed wayland compositor configuration

- added hyprland initial configuration
- added hyprland plugins
- added kanshi profiles for docked modes
- added misc home manager configuration options
This commit is contained in:
Zhongheng Liu 2024-08-08 18:03:40 +08:00
commit 065b1bac9d
3 changed files with 71 additions and 17 deletions

View file

@ -59,7 +59,35 @@ in
programs.firefox.enable = true;
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
services.kanshi = {
enable = true;
profiles = {
undocked = {
outputs = [
{
criteria = "eDP-1";
scale = 1.0;
status = "enable";
}
];
};
docked = {
outputs = [
{
criteria = "HDMI-A-1";
position = "0,0";
mode = "1920x1080@60Hz";
}
{
criteria = "eDP-1";
position = "0,0";
status = "enable";
}
];
};
};
systemdTarget = "hyprland-session.target";
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "24.05";
}

View file

@ -1,23 +1,49 @@
{config, pkgs, ... }:
{
home.packages = with pkgs; [
foot
];
wayland.windowManager.hyprland = {
# Whether to enable Hyprland wayland compositor
enable = true;
# The hyprland package to use
package = pkgs.hyprland;
plugins = with pkgs.hyprlandPlugins; [
hyprbars
hyprfocus
csgo-vulkan-fix
];
# Whether to enable XWayland
xwayland.enable = true;
settings = {
"$mod" = "SUPER";
bind = [
# foot terminal
"$mod, ENTER, exec, ${pkgs.foot}/bin/foot -f 'BlexMono Nerd Font:size=24' zsh"
];
"$mod, D, exec, dmenu"
# firefox quickstart
"$mod, F, exec, ${pkgs.firefox}/bin/firefox"
# foot terminal
"$mod, Return, exec, ${pkgs.foot}/bin/foot -f 'BlexMono Nerd Font:size=16' zsh"
] ++ (
# workspaces
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
builtins.concatLists (builtins.genList (
x: let
ws = let
c = (x + 1) / 10;
in
builtins.toString (x + 1 - (c * 10));
in [
"$mod, ${ws}, workspace, ${toString (x + 1)}"
"$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
]
)
10)
);
bindm = [
# mouse movements
# mouse movements
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
"$mod ALT, mouse:272, resizewindow"
"$mod, mouse:273, resizewindow"
"$mod ALT, mouse:272, resizewindow"
];
};
# Optional

View file

@ -34,17 +34,17 @@
'';
};
};
#services.displayManager.sddm = {
# enable = true;
# wayland.enable = true;
#};
systemd.user.services.kanshi = {
description = "kanshi daemon";
serviceConfig = {
Type = "simple";
ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file'';
};
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
#systemd.user.services.kanshi = {
# description = "kanshi daemon";
# serviceConfig = {
# Type = "simple";
# ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file'';
# };
#};
security.polkit.enable = true;
services.gnome.gnome-keyring.enable = true;