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:
parent
e0537affdc
commit
065b1bac9d
3 changed files with 71 additions and 17 deletions
|
@ -59,7 +59,35 @@ in
|
||||||
programs.firefox.enable = true;
|
programs.firefox.enable = true;
|
||||||
# Nicely reload system units when changing configs
|
# Nicely reload system units when changing configs
|
||||||
systemd.user.startServices = "sd-switch";
|
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
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
home.stateVersion = "24.05";
|
home.stateVersion = "24.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,49 @@
|
||||||
{config, pkgs, ... }:
|
{config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
foot
|
||||||
|
];
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
# Whether to enable Hyprland wayland compositor
|
# Whether to enable Hyprland wayland compositor
|
||||||
enable = true;
|
enable = true;
|
||||||
# The hyprland package to use
|
# The hyprland package to use
|
||||||
package = pkgs.hyprland;
|
package = pkgs.hyprland;
|
||||||
|
plugins = with pkgs.hyprlandPlugins; [
|
||||||
|
hyprbars
|
||||||
|
hyprfocus
|
||||||
|
csgo-vulkan-fix
|
||||||
|
];
|
||||||
# Whether to enable XWayland
|
# Whether to enable XWayland
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
bind = [
|
bind = [
|
||||||
# foot terminal
|
"$mod, D, exec, dmenu"
|
||||||
"$mod, ENTER, exec, ${pkgs.foot}/bin/foot -f 'BlexMono Nerd Font:size=24' zsh"
|
# 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 = [
|
bindm = [
|
||||||
# mouse movements
|
# mouse movements
|
||||||
"$mod, mouse:272, movewindow"
|
"$mod, mouse:272, movewindow"
|
||||||
"$mod, mouse:273, resizewindow"
|
"$mod, mouse:273, resizewindow"
|
||||||
"$mod ALT, mouse:272, resizewindow"
|
"$mod ALT, mouse:272, resizewindow"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
# Optional
|
# Optional
|
||||||
|
|
|
@ -34,17 +34,17 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
#services.displayManager.sddm = {
|
services.displayManager.sddm = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# wayland.enable = true;
|
wayland.enable = true;
|
||||||
#};
|
|
||||||
systemd.user.services.kanshi = {
|
|
||||||
description = "kanshi daemon";
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "simple";
|
|
||||||
ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
#systemd.user.services.kanshi = {
|
||||||
|
# description = "kanshi daemon";
|
||||||
|
# serviceConfig = {
|
||||||
|
# Type = "simple";
|
||||||
|
# ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file'';
|
||||||
|
# };
|
||||||
|
#};
|
||||||
|
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
services.gnome.gnome-keyring.enable = true;
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue