git hyprland
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
{
|
||||
perSystem,
|
||||
osConfig,
|
||||
config,
|
||||
pkgs,
|
||||
@ -8,6 +9,7 @@
|
||||
cfg = config.desktop.hyprland;
|
||||
hostname = osConfig.networking.hostName;
|
||||
cursor_size = toString config.stylix.cursor.size;
|
||||
colors = config.lib.stylix.colors;
|
||||
keyboard =
|
||||
if hostname == "eldrid"
|
||||
then "chromeos"
|
||||
@ -20,6 +22,8 @@ in {
|
||||
lib.mkEnableOption "enable hyprland desktop";
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
stylix.targets.waybar.enable = false;
|
||||
stylix.targets.hyprland.enable = false;
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
@ -28,12 +32,13 @@ in {
|
||||
"--all"
|
||||
];
|
||||
};
|
||||
package = pkgs.hyprland;
|
||||
plugins = with pkgs.hyprlandPlugins; [
|
||||
# hyprspace
|
||||
# hy3
|
||||
hyprscroller
|
||||
];
|
||||
package = perSystem.hyprland.hyprland;
|
||||
portalPackage = perSystem.hyprland.xdg-desktop-portal-hyprland;
|
||||
# plugins = with pkgs.hyprlandPlugins; [
|
||||
# hyprspace
|
||||
# hy3
|
||||
# hyprscroller
|
||||
# ];
|
||||
settings = {
|
||||
input = {
|
||||
kb_layout = "us,ua";
|
||||
@ -72,14 +77,11 @@ in {
|
||||
"desc:Chimei Innolux Corporation 0x1406, preferred, 1920x0, 1.2"
|
||||
];
|
||||
env = [
|
||||
# "EDITOR,hx"
|
||||
"ELECTRON_OZONE_PLATFORM_HINT,auto"
|
||||
"QT_QPA_PLATFORM,wayland"
|
||||
"QT_QPA_PLATFORMTHEME,gtk3"
|
||||
"XCURSOR_SIZE,${cursor_size}"
|
||||
#"GTK_THEME,adw-gtk3"
|
||||
"GSK_RENDERER,ngl"
|
||||
# "DISPLAY,:123"
|
||||
];
|
||||
decoration = {
|
||||
shadow.enabled = false;
|
||||
@ -107,8 +109,6 @@ in {
|
||||
"windows, 1, 3, easeOutExpo, popin 80%"
|
||||
"layers, 1, 2, easeOutExpo, fade"
|
||||
];
|
||||
#group = {
|
||||
# };
|
||||
plugin = [
|
||||
{
|
||||
overview = {
|
||||
@ -144,15 +144,15 @@ in {
|
||||
text_center = true;
|
||||
text_font = "${config.stylix.fonts.sansSerif.name}";
|
||||
|
||||
"col.active" = "0xff${config.lib.stylix.colors.base00}";
|
||||
"col.inactive" = "0xff${config.lib.stylix.colors.base00}";
|
||||
"col.urgent" = "0xff${config.lib.stylix.colors.base00}";
|
||||
"col.active.text" = "0xff${config.lib.stylix.colors.base0D}";
|
||||
"col.inactive.text" = "0xff${config.lib.stylix.colors.base05}";
|
||||
"col.urgent.text" = "0xff${config.lib.stylix.colors.base09}";
|
||||
"col.active.border" = "0xff${config.lib.stylix.colors.base00}";
|
||||
"col.inactive.border" = "0xff${config.lib.stylix.colors.base00}";
|
||||
"col.urgent.border" = "0xff${config.lib.stylix.colors.base00}";
|
||||
"col.active" = "0xff${colors.base00}";
|
||||
"col.inactive" = "0xff${colors.base00}";
|
||||
"col.urgent" = "0xff${colors.base00}";
|
||||
"col.active.text" = "0xff${colors.base0D}";
|
||||
"col.inactive.text" = "0xff${colors.base05}";
|
||||
"col.urgent.text" = "0xff${colors.base09}";
|
||||
"col.active.border" = "0xff${colors.base00}";
|
||||
"col.inactive.border" = "0xff${colors.base00}";
|
||||
"col.urgent.border" = "0xff${colors.base00}";
|
||||
};
|
||||
};
|
||||
}
|
||||
@ -163,14 +163,14 @@ in {
|
||||
gesture_scroll_fingers = 3;
|
||||
gesture_overview_fingers = 3;
|
||||
jump_labels_font = "${config.stylix.fonts.sansSerif.name}";
|
||||
jump_labels_color = "0xff${config.lib.stylix.colors.base0A}";
|
||||
jump_labels_color = "0xff${colors.base0A}";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
dwindle = {
|
||||
force_split = 2;
|
||||
default_split_ratio = 1.4;
|
||||
default_split_ratio = 1.2;
|
||||
};
|
||||
master = {
|
||||
mfact = 0.6;
|
||||
@ -194,27 +194,31 @@ in {
|
||||
"$clipboardManager" = "copyq menu";
|
||||
|
||||
general = {
|
||||
"col.active_border" = "0xff${colors.base0D}";
|
||||
"col.inactive_border" = "0xff${colors.base03}";
|
||||
gaps_in = 4;
|
||||
gaps_out = 8;
|
||||
border_size = 3;
|
||||
allow_tearing = true;
|
||||
layout = "scroller";
|
||||
layout = "dwindle";
|
||||
};
|
||||
group = {
|
||||
"col.border_active" = "0xff${colors.base0D}";
|
||||
"col.border_inactive" = "0xff${colors.base03}";
|
||||
"col.border_locked_active" = "0xff${colors.base0A}";
|
||||
"col.border_locked_inactive" = "0xff${colors.base0F}";
|
||||
groupbar = {
|
||||
height = 24;
|
||||
rounding = 6;
|
||||
gradient_rounding = 8;
|
||||
font_size = 24;
|
||||
gradients = true;
|
||||
font_family = "${config.stylix.fonts.sansSerif.name}";
|
||||
"text_color" = "0xff${colors.base00}";
|
||||
"col.active" = "0xff${colors.base0D}";
|
||||
"col.inactive" = "0xff${colors.base03}";
|
||||
};
|
||||
};
|
||||
|
||||
# group = {
|
||||
# groupbar = lib.mkDefault {
|
||||
# height = 24;
|
||||
# font_size = 14;
|
||||
# font_family = "${config.stylix.fonts.sansSerif.name}";
|
||||
|
||||
# "col.active" = "0xff${config.lib.stylix.colors.base00}";
|
||||
# "col.inactive" = "0xff${config.lib.stylix.colors.base00}";
|
||||
# # "col.urgent" = "0xff${config.lib.stylix.colors.base00}";
|
||||
# "col.text.active" = "0xff${config.lib.stylix.colors.base0D}";
|
||||
# "col.text.inactive" = "0xff${config.lib.stylix.colors.base05}";
|
||||
# # "col.text.urgent" = "0xff${config.lib.stylix.colors.base09}";
|
||||
# };
|
||||
# };
|
||||
|
||||
# bindn = [", mouse:272, hy3:focustab, mouse"];
|
||||
bind = [
|
||||
@ -226,24 +230,26 @@ in {
|
||||
"$modCtrl, G, togglefloating"
|
||||
"$mod, G, pin"
|
||||
|
||||
"$mod, Z, scroller:setmode, row"
|
||||
"$mod, X, scroller:setmode, column"
|
||||
"$mod, M, scroller:fitwidth, active"
|
||||
"$mod, H, scroller:setwidth, 1"
|
||||
"$mod, C, scroller:cyclewidth, next"
|
||||
"$modShift, C, scroller:cycleheight, next"
|
||||
"$modShift, M, scroller:fitheight, active"
|
||||
"$modShift, H, scroller:setheight, onehalf"
|
||||
"$mod, comma, scroller:admitwindow, l"
|
||||
"$mod, period, scroller:admitwindow, r"
|
||||
"$modCtrl, comma, scroller:expelwindow, l"
|
||||
"$modCtrl, period, scroller:expelwindow, r"
|
||||
"$mod, backspace, scroller:toggleoverview"
|
||||
"$modCtrl, backspace, scroller:jump"
|
||||
# "$mod, Z, scroller:setmode, row"
|
||||
# "$mod, X, scroller:setmode, column"
|
||||
# "$mod, M, scroller:fitwidth, active"
|
||||
# "$mod, H, scroller:setwidth, 1"
|
||||
# "$mod, C, scroller:cyclewidth, next"
|
||||
# "$modShift, C, scroller:cycleheight, next"
|
||||
# "$modShift, M, scroller:fitheight, active"
|
||||
# "$modShift, H, scroller:setheight, onehalf"
|
||||
# "$mod, comma, scroller:admitwindow, l"
|
||||
# "$mod, period, scroller:admitwindow, r"
|
||||
# "$modCtrl, comma, scroller:expelwindow, l"
|
||||
# "$modCtrl, period, scroller:expelwindow, r"
|
||||
# "$mod, backspace, scroller:toggleoverview"
|
||||
# "$modCtrl, backspace, scroller:jump"
|
||||
|
||||
# "$mod,T, togglegroup"
|
||||
# "$mod, period, changegroupactive, f"
|
||||
# "$mod, comma, changegroupactive, b"
|
||||
"$mod, T, togglegroup"
|
||||
"$mod, period, changegroupactive, f"
|
||||
"$mod, comma, changegroupactive, b"
|
||||
"$modCtrl, period, movewindoworgroup, r"
|
||||
"$modCtrl, comma, movewindoworgroup, l"
|
||||
# "$mod, S, hy3:changegroup, opposite"
|
||||
# "$mod, T, hy3:changegroup, toggletab"
|
||||
# "$mod, S, hy3:changegroup, opposite"
|
||||
@ -254,39 +260,46 @@ in {
|
||||
|
||||
# "$mod, Tab, overview:toggle"
|
||||
# "$mod, Tab, hyprexpo:expo, toggle"
|
||||
"$mod, Tab, cyclenext,"
|
||||
"$modShift, Tab, cyclenext, prev"
|
||||
"$mod, Tab, bringactivetotop,"
|
||||
|
||||
"$modShift, U, focusurgentorlast"
|
||||
|
||||
"$modCtrl, L, exec, $screenLocker"
|
||||
"$modCtrl, B, exec, $webBrowser"
|
||||
"$modCtrl, V, exec, $clipboardManager"
|
||||
"$modCtrl, K, focuswindow, title:(Meet:.*)"
|
||||
|
||||
# ", Print, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -o -r -c '\#\#00000000')\" -t ppm - | ${pkgs.satty}/bin/satty --filename - --fullscreen --output-filename ${xdgPictures}/screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png"
|
||||
", Print, exec, hyprshot -z -m region -o ${config.xdg.userDirs.pictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png"
|
||||
"CTRL, Print, exec, hyprshot -z -m window -o ${config.xdg.userDirs.pictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png"
|
||||
"SHIFT, Print, exec, hyprshot -z -m output -o ${config.xdg.userDirs.pictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png"
|
||||
", Print, exec, hyprshot -z -m region -o ${xdgPictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png"
|
||||
"CTRL, Print, exec, hyprshot -z -m window -o ${xdgPictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png"
|
||||
"SHIFT, Print, exec, hyprshot -z -m output -o ${xdgPictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png"
|
||||
## navigation
|
||||
"$mod, $left, scroller:movefocus, l"
|
||||
"$mod, $down, scroller:movefocus, d"
|
||||
"$mod, $up, scroller:movefocus, u"
|
||||
"$mod, $right, scroller:movefocus, r"
|
||||
"$mod, $left, movefocus, l"
|
||||
"$mod, $down, movefocus, d"
|
||||
"$mod, $up, movefocus, u"
|
||||
"$mod, $right, movefocus, r"
|
||||
"$modShift, $left, workspace, e-1"
|
||||
"$modShift, $right, workspace, e+1"
|
||||
"$mod, left, scroller:movefocus, l"
|
||||
"$mod, up, scroller:movefocus, u"
|
||||
"$mod, down, scroller:movefocus, d"
|
||||
"$mod, right, scroller:movefocus, r"
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
"$mod, right, movefocus, r"
|
||||
"$modShift, W, focuscurrentorlast"
|
||||
"$mod, mouse_down, workspace, e-1"
|
||||
"$mod, mouse_up, workspace, e+1"
|
||||
"$modShift, left, workspace, e-1"
|
||||
"$modShift, right, workspace, e+1"
|
||||
"$modShift, down, focusmonitor, e+1"
|
||||
"$modShift, up, focusmonitor, e-1"
|
||||
|
||||
"$modCtrl, $left, scroller:movewindow, l"
|
||||
"$modCtrl, $down, scroller:movewindow, d"
|
||||
"$modCtrl, $up, scroller:movewindow, u"
|
||||
"$modCtrl, $right, scroller:movewindow, r"
|
||||
"$modCtrl, left, scroller:movewindow, l"
|
||||
"$modCtrl, up, scroller:movewindow, u"
|
||||
"$modCtrl, down, scroller:movewindow, d"
|
||||
"$modCtrl, right, scroller:movewindow, r"
|
||||
"$modCtrl, $left, movewindow, l"
|
||||
"$modCtrl, $down, movewindow, d"
|
||||
"$modCtrl, $up, movewindow, u"
|
||||
"$modCtrl, $right, movewindow, r"
|
||||
"$modCtrl, left, movewindow, l"
|
||||
"$modCtrl, up, movewindow, u"
|
||||
"$modCtrl, down, movewindow, d"
|
||||
"$modCtrl, right, movewindow, r"
|
||||
# workspaces
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
@ -444,20 +457,20 @@ in {
|
||||
# "workspace name:game, class:"
|
||||
];
|
||||
};
|
||||
# extraConfig = ''
|
||||
# bind = $modShift, R, submap, resize
|
||||
# submap = resize
|
||||
# binde = , right, resizeactive, 10 0
|
||||
# binde = , left, resizeactive, -10 0
|
||||
# binde = , up, resizeactive, 0 -10
|
||||
# binde = , down, resizeactive, 0 10
|
||||
# binde = , $right, resizeactive, 10 0
|
||||
# binde = , $left, resizeactive, -10 0
|
||||
# binde = , $up, resizeactive, 0 -10
|
||||
# binde = , $down, resizeactive, 0 10
|
||||
# bind = , escape, submap, reset
|
||||
# submap = reset
|
||||
# '';
|
||||
extraConfig = ''
|
||||
bind = $modShift, R, submap, resize
|
||||
submap = resize
|
||||
binde = , right, resizeactive, 10 0
|
||||
binde = , left, resizeactive, -10 0
|
||||
binde = , up, resizeactive, 0 -10
|
||||
binde = , down, resizeactive, 0 10
|
||||
binde = , $right, resizeactive, 10 0
|
||||
binde = , $left, resizeactive, -10 0
|
||||
binde = , $up, resizeactive, 0 -10
|
||||
binde = , $down, resizeactive, 0 10
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
'';
|
||||
};
|
||||
services = {
|
||||
hyprpaper.enable = true;
|
||||
@ -509,7 +522,6 @@ in {
|
||||
icon-theme = "${config.gtk.iconTheme.name}";
|
||||
};
|
||||
};
|
||||
stylix.targets.waybar.enable = false;
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
@ -715,22 +727,22 @@ in {
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
@define-color base00 #${config.lib.stylix.colors.base00};
|
||||
@define-color base01 #${config.lib.stylix.colors.base01};
|
||||
@define-color base02 #${config.lib.stylix.colors.base02};
|
||||
@define-color base03 #${config.lib.stylix.colors.base03};
|
||||
@define-color base04 #${config.lib.stylix.colors.base04};
|
||||
@define-color base05 #${config.lib.stylix.colors.base05};
|
||||
@define-color base06 #${config.lib.stylix.colors.base06};
|
||||
@define-color base07 #${config.lib.stylix.colors.base07};
|
||||
@define-color base08 #${config.lib.stylix.colors.base08};
|
||||
@define-color base09 #${config.lib.stylix.colors.base09};
|
||||
@define-color base0A #${config.lib.stylix.colors.base0A};
|
||||
@define-color base0B #${config.lib.stylix.colors.base0B};
|
||||
@define-color base0C #${config.lib.stylix.colors.base0C};
|
||||
@define-color base0D #${config.lib.stylix.colors.base0D};
|
||||
@define-color base0E #${config.lib.stylix.colors.base0E};
|
||||
@define-color base0F #${config.lib.stylix.colors.base0F};
|
||||
@define-color base00 #${colors.base00};
|
||||
@define-color base01 #${colors.base01};
|
||||
@define-color base02 #${colors.base02};
|
||||
@define-color base03 #${colors.base03};
|
||||
@define-color base04 #${colors.base04};
|
||||
@define-color base05 #${colors.base05};
|
||||
@define-color base06 #${colors.base06};
|
||||
@define-color base07 #${colors.base07};
|
||||
@define-color base08 #${colors.base08};
|
||||
@define-color base09 #${colors.base09};
|
||||
@define-color base0A #${colors.base0A};
|
||||
@define-color base0B #${colors.base0B};
|
||||
@define-color base0C #${colors.base0C};
|
||||
@define-color base0D #${colors.base0D};
|
||||
@define-color base0E #${colors.base0E};
|
||||
@define-color base0F #${colors.base0F};
|
||||
* {
|
||||
font-family: ${config.stylix.fonts.sansSerif.name}, FontAwesome;
|
||||
font-weight: 500;
|
||||
@ -1189,11 +1201,11 @@ in {
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
font_family = "${config.stylix.fonts.serif.name}";
|
||||
font_color = "rgb(${config.lib.stylix.colors.base05})";
|
||||
inner_color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
outer_color = "rgb(${config.lib.stylix.colors.base0D})";
|
||||
check_color = "rgb(${config.lib.stylix.colors.base0A})";
|
||||
fail_color = "rgb(${config.lib.stylix.colors.base08})";
|
||||
font_color = "rgb(${colors.base05})";
|
||||
inner_color = "rgb(${colors.base00})";
|
||||
outer_color = "rgb(${colors.base0D})";
|
||||
check_color = "rgb(${colors.base0A})";
|
||||
fail_color = "rgb(${colors.base08})";
|
||||
placeholder_text = "locked...";
|
||||
fail_text = "wrong";
|
||||
#placeholder_text = '\'<span foreground="##cad3f5">Password...</span>'\';
|
||||
@ -1205,8 +1217,8 @@ in {
|
||||
rounding = 12;
|
||||
#border_size = 3;
|
||||
size = "274, 50";
|
||||
color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
border_color = "rgb(${config.lib.stylix.colors.base0D})";
|
||||
color = "rgb(${colors.base00})";
|
||||
border_color = "rgb(${colors.base0D})";
|
||||
position = "0, 60";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
@ -1215,8 +1227,8 @@ in {
|
||||
rounding = 12;
|
||||
#border_size = 3;
|
||||
size = "274, 50";
|
||||
color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
border_color = "rgb(${config.lib.stylix.colors.base0D})";
|
||||
color = "rgb(${colors.base00})";
|
||||
border_color = "rgb(${colors.base0D})";
|
||||
position = "0, -60";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
@ -1229,8 +1241,8 @@ in {
|
||||
text_align = "center";
|
||||
font_size = 16;
|
||||
font_family = "${config.stylix.fonts.serif.name}";
|
||||
outer_color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
color = "rgb(${config.lib.stylix.colors.base05})";
|
||||
outer_color = "rgb(${colors.base00})";
|
||||
color = "rgb(${colors.base05})";
|
||||
position = "0, 60";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
@ -1241,8 +1253,8 @@ in {
|
||||
text_align = "center";
|
||||
font_size = 16;
|
||||
font_family = "${config.stylix.fonts.serif.name}";
|
||||
outer_color = "rgb(${config.lib.stylix.colors.base00})";
|
||||
color = "rgb(${config.lib.stylix.colors.base05})";
|
||||
outer_color = "rgb(${colors.base00})";
|
||||
color = "rgb(${colors.base05})";
|
||||
position = "0, -60";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
@ -1251,7 +1263,7 @@ in {
|
||||
};
|
||||
};
|
||||
services.wlsunset = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
latitude = "49.6";
|
||||
longitude = "36.1";
|
||||
temperature = {
|
||||
@ -1268,6 +1280,7 @@ in {
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
brightnessctl
|
||||
hyprsunset
|
||||
nautilus
|
||||
helvum
|
||||
loupe
|
||||
@ -1361,6 +1374,14 @@ in {
|
||||
ExecStart = "${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent";
|
||||
};
|
||||
};
|
||||
hyprsunset = mkGraphicalService {
|
||||
Service =
|
||||
graphicalService.Service
|
||||
// {
|
||||
Type = "simple";
|
||||
ExecStart = "${lib.getExe pkgs.hyprsunset} -t 6500";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -27,7 +27,7 @@ in {
|
||||
copyq.enable = true;
|
||||
gnome-keyring = {
|
||||
enable = true;
|
||||
components = ["secrets" "ssh"];
|
||||
components = ["secrets"];
|
||||
};
|
||||
udiskie = {
|
||||
enable = true;
|
||||
|
@ -16,7 +16,7 @@ in {
|
||||
settings = {
|
||||
version = 2;
|
||||
final_space = true;
|
||||
console_title_template = "{{ .Shell }} in {{ .Folder }}";
|
||||
console_title_template = "{{ if .SSHSession }}[{{ .HostName }}] {{ end }}{{ .Shell }} in {{ .Folder }}";
|
||||
blocks = [
|
||||
{
|
||||
type = "prompt";
|
||||
@ -57,6 +57,15 @@ in {
|
||||
fetch_status = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "session";
|
||||
style = "diamond";
|
||||
foreground = "white";
|
||||
background = "transparent";
|
||||
leading_diamond = "";
|
||||
trailing_diamond = "";
|
||||
template = "{{ if .SSHSession }} {{ .UserName }}@{{ .HostName }}{{ end }}";
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
|
Reference in New Issue
Block a user