mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-04-25 09:28:27 +02:00
refactor(home/linux/gui/hyprland): refactor hyprland config
This commit is contained in:
2
home/linux/gui/hyprland/conf/configs/exec.conf
Normal file
2
home/linux/gui/hyprland/conf/configs/exec.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
#-- Startup ----------------------------------------------------
|
||||||
|
exec-once=~/.config/hypr/scripts/startup
|
||||||
5
home/linux/gui/hyprland/conf/configs/fcitx5.conf
Normal file
5
home/linux/gui/hyprland/conf/configs/fcitx5.conf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# -- Fcitx5 input method
|
||||||
|
windowrule=pseudo,class:^(fcitx)$ # enable this will make fcitx5 works, but fcitx5-configtool will not work!
|
||||||
|
exec-once=cp ~/.config/fcitx5/profile-bak ~/.config/fcitx5/profile # restore fcitx5 profile managed by nixos
|
||||||
|
exec-once=fcitx5 -d --replace # start fcitx5 daemon
|
||||||
|
bind=ALT,E,exec,pkill fcitx5 -9;sleep 1;fcitx5 -d --replace; sleep 1;fcitx5-remote -r
|
||||||
97
home/linux/gui/hyprland/conf/configs/keybindings.conf
Normal file
97
home/linux/gui/hyprland/conf/configs/keybindings.conf
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
#-- Keybindings ----------------------------------------------------
|
||||||
|
$term = foot
|
||||||
|
$app_launcher = ~/.config/hypr/scripts/menu
|
||||||
|
$volume = ~/.config/hypr/scripts/volume
|
||||||
|
$backlight = ~/.config/hypr/scripts/brightness
|
||||||
|
$lockscreen = ~/.config/hypr/scripts/lockscreen
|
||||||
|
$wlogout = ~/.config/hypr/scripts/wlogout
|
||||||
|
$colorpicker = ~/.config/hypr/scripts/colorpicker
|
||||||
|
$files = thunar
|
||||||
|
$browser = firefox
|
||||||
|
|
||||||
|
# -- Terminal --
|
||||||
|
bind=SUPER,Return,exec,$term
|
||||||
|
|
||||||
|
# -- App Launcher --
|
||||||
|
bind=SUPER,D,exec,$app_launcher
|
||||||
|
|
||||||
|
# -- Hyprland --
|
||||||
|
bind=SUPER,Q,killactive,
|
||||||
|
bind=CTRLALT,Delete,exit,
|
||||||
|
bind=SUPER,F,fullscreen,
|
||||||
|
bind=SUPER,Space,togglefloating,
|
||||||
|
bind=SUPER,S,pseudo,
|
||||||
|
|
||||||
|
# -- Misc --
|
||||||
|
bind=SUPER,N,exec,nm-connection-editor # need install network-manager-applet
|
||||||
|
bind=SUPER,P,exec,$colorpicker
|
||||||
|
bind=CTRLALT,L,exec,$lockscreen
|
||||||
|
bind=SUPERSHIFT,X,exec,$wlogout
|
||||||
|
|
||||||
|
# -- Some nice mouse binds --
|
||||||
|
bindm=SUPER,mouse:272,movewindow
|
||||||
|
bindm=SUPER,mouse:273,resizewindow
|
||||||
|
|
||||||
|
# -- Function keys --
|
||||||
|
bind=,XF86MonBrightnessUp,exec,$backlight --inc
|
||||||
|
bind=,XF86MonBrightnessDown,exec,$backlight --dec
|
||||||
|
bind=,XF86AudioRaiseVolume,exec,$volume --inc
|
||||||
|
bind=,XF86AudioLowerVolume,exec,$volume --dec
|
||||||
|
bind=,XF86AudioMute,exec,$volume --toggle
|
||||||
|
bind=,XF86AudioMicMute,exec,$volume --toggle-mic
|
||||||
|
bind=,XF86AudioNext,exec,mpc next
|
||||||
|
bind=,XF86AudioPrev,exec,mpc prev
|
||||||
|
bind=,XF86AudioPlay,exec,mpc toggle
|
||||||
|
bind=,XF86AudioStop,exec,mpc stop
|
||||||
|
|
||||||
|
# -- Screenshots --
|
||||||
|
bind=,Print,exec,hyprshot -m output -o ~/Pictures/Screenshots -- imv
|
||||||
|
bind=SUPER,Print,exec,hyprshot -m window -o ~/Pictures/Screenshots -- imv
|
||||||
|
bind=CTRL,Print,exec,flameshot gui --raw -p ~/Pictures/Screenshots | wl-copy
|
||||||
|
|
||||||
|
# Focus
|
||||||
|
bind=SUPER,left,movefocus,l
|
||||||
|
bind=SUPER,right,movefocus,r
|
||||||
|
bind=SUPER,up,movefocus,u
|
||||||
|
bind=SUPER,down,movefocus,d
|
||||||
|
|
||||||
|
# Move
|
||||||
|
bind=SUPERSHIFT,left,movewindow,l
|
||||||
|
bind=SUPERSHIFT,right,movewindow,r
|
||||||
|
bind=SUPERSHIFT,up,movewindow,u
|
||||||
|
bind=SUPERSHIFT,down,movewindow,d
|
||||||
|
|
||||||
|
# Resize
|
||||||
|
bind=SUPERCTRL,left,resizeactive,-20 0
|
||||||
|
bind=SUPERCTRL,right,resizeactive,20 0
|
||||||
|
bind=SUPERCTRL,up,resizeactive,0 -20
|
||||||
|
bind=SUPERCTRL,down,resizeactive,0 20
|
||||||
|
|
||||||
|
# Workspaces
|
||||||
|
bind=SUPER,1,workspace,1
|
||||||
|
bind=SUPER,2,workspace,2
|
||||||
|
bind=SUPER,3,workspace,3
|
||||||
|
bind=SUPER,4,workspace,4
|
||||||
|
bind=SUPER,5,workspace,5
|
||||||
|
bind=SUPER,6,workspace,6
|
||||||
|
bind=SUPER,7,workspace,7
|
||||||
|
bind=SUPER,8,workspace,8
|
||||||
|
bind=SUPER,9,workspace,9
|
||||||
|
bind=SUPER,0,workspace,10
|
||||||
|
|
||||||
|
# Send to Workspaces
|
||||||
|
bind=SUPERSHIFT,1,movetoworkspace,1
|
||||||
|
bind=SUPERSHIFT,2,movetoworkspace,2
|
||||||
|
bind=SUPERSHIFT,3,movetoworkspace,3
|
||||||
|
bind=SUPERSHIFT,4,movetoworkspace,4
|
||||||
|
bind=SUPERSHIFT,5,movetoworkspace,5
|
||||||
|
bind=SUPERSHIFT,6,movetoworkspace,6
|
||||||
|
bind=SUPERSHIFT,7,movetoworkspace,7
|
||||||
|
bind=SUPERSHIFT,8,movetoworkspace,8
|
||||||
|
bind=SUPERSHIFT,9,movetoworkspace,9
|
||||||
|
bind=SUPERSHIFT,0,movetoworkspace,10
|
||||||
|
|
||||||
|
bind=SUPER,mouse_down,workspace,e+1
|
||||||
|
bind=SUPER,mouse_up,workspace,e-1
|
||||||
|
|
||||||
|
|
||||||
73
home/linux/gui/hyprland/conf/configs/settings.conf
Normal file
73
home/linux/gui/hyprland/conf/configs/settings.conf
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
#-- General ----------------------------------------------------
|
||||||
|
# General settings like MOD key, Gaps, Colors, etc.
|
||||||
|
general {
|
||||||
|
gaps_in=5
|
||||||
|
gaps_out=10
|
||||||
|
|
||||||
|
border_size=4
|
||||||
|
col.active_border=0xFFB4A1DB
|
||||||
|
col.inactive_border=0xFF343A40
|
||||||
|
}
|
||||||
|
|
||||||
|
#-- Input ----------------------------------------------------
|
||||||
|
# Configure mouse and touchpad here.
|
||||||
|
input {
|
||||||
|
kb_layout=us
|
||||||
|
kb_variant=
|
||||||
|
kb_model=
|
||||||
|
kb_options=
|
||||||
|
kb_rules=
|
||||||
|
|
||||||
|
# mouse focus will not switch to the hovered window unless the mouse crosses a window boundary
|
||||||
|
follow_mouse=1
|
||||||
|
mouse_refocus=false
|
||||||
|
|
||||||
|
natural_scroll=0
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = 1
|
||||||
|
}
|
||||||
|
force_no_accel=0
|
||||||
|
# repeat_rate=
|
||||||
|
# repeat_delay=
|
||||||
|
numlock_by_default=1
|
||||||
|
}
|
||||||
|
|
||||||
|
#-- Decoration ----------------------------------------------------
|
||||||
|
# Decoration settings like Rounded Corners, Opacity, Blur, etc.
|
||||||
|
decoration {
|
||||||
|
rounding=8 # Original: rounding=-1
|
||||||
|
|
||||||
|
active_opacity=1.0
|
||||||
|
inactive_opacity=0.9
|
||||||
|
fullscreen_opacity=1.0
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled=true
|
||||||
|
size=3 # minimum 1
|
||||||
|
passes=1 # minimum 1, more passes = more resource intensive.
|
||||||
|
ignore_opacity=false
|
||||||
|
}
|
||||||
|
|
||||||
|
# Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
|
||||||
|
# if you want heavy blur, you need to up the blur_passes.
|
||||||
|
# the more passes, the more you can up the blur_size without noticing artifacts.
|
||||||
|
}
|
||||||
|
|
||||||
|
#-- Animations ----------------------------------------------------
|
||||||
|
animations {
|
||||||
|
enabled=1
|
||||||
|
# animation=NAME,ONOFF,SPEED,CURVE,STYLE
|
||||||
|
animation=windows,1,8,default,popin 80%
|
||||||
|
animation=fadeOut,1,8,default
|
||||||
|
animation=fadeIn,1,8,default
|
||||||
|
animation=workspaces,1,8,default
|
||||||
|
#animation=workspaces,1,6,overshot
|
||||||
|
}
|
||||||
|
|
||||||
|
#-- Dwindle ----------------------------------------------------
|
||||||
|
dwindle {
|
||||||
|
pseudotile=0 # enable pseudotiling on dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
28
home/linux/gui/hyprland/conf/configs/windowrules.conf
Normal file
28
home/linux/gui/hyprland/conf/configs/windowrules.conf
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#-- Window Rules ----------------------------------------------------
|
||||||
|
windowrule=float, class:^(yad|nm-connection-editor|pavucontrolk)$
|
||||||
|
windowrule=float, class:^(xfce-polkit|kvantummanager|qt5ct)$
|
||||||
|
windowrule=float, class:^(feh|imv|Gpicview|Gimp|nomacs)$
|
||||||
|
windowrule=float, class:^(VirtualBox Manager|qemu|Qemu-system-x86_64)$
|
||||||
|
windowrule=float, class:^(xfce4-appfinder)$
|
||||||
|
|
||||||
|
# foot
|
||||||
|
windowrule=float, class:^(foot-float)$
|
||||||
|
windowrule=float, class:^(foot-full)$
|
||||||
|
windowrule=move 0 0, class:^(foot-full)$
|
||||||
|
windowrule=size 100% 100%,class:^(foot-full)$
|
||||||
|
|
||||||
|
# flameshot
|
||||||
|
windowrule = move 0 0,class:(flameshot)
|
||||||
|
windowrule = pin,class:(flameshot)
|
||||||
|
windowrule = noborder,class:(flameshot)
|
||||||
|
windowrule = stayfocused,class:(flameshot)
|
||||||
|
windowrule = float,class:(flameshot)
|
||||||
|
|
||||||
|
# avoid transparency
|
||||||
|
windowrule = opaque,class:(flameshot)
|
||||||
|
|
||||||
|
# wlogout
|
||||||
|
windowrule=float,class:^(wlogout)$
|
||||||
|
windowrule=move 0 0,class:^(wlogout)$
|
||||||
|
windowrule=size 100% 100%,class:^(wlogout)$
|
||||||
|
windowrule=animation slide,class:^(wlogout)$
|
||||||
@@ -1,205 +0,0 @@
|
|||||||
#-- Input ----------------------------------------------------
|
|
||||||
# Configure mouse and touchpad here.
|
|
||||||
input {
|
|
||||||
kb_layout=us
|
|
||||||
kb_variant=
|
|
||||||
kb_model=
|
|
||||||
kb_options=
|
|
||||||
kb_rules=
|
|
||||||
|
|
||||||
# mouse focus will not switch to the hovered window unless the mouse crosses a window boundary
|
|
||||||
follow_mouse=1
|
|
||||||
mouse_refocus=false
|
|
||||||
|
|
||||||
natural_scroll=0
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = 1
|
|
||||||
}
|
|
||||||
force_no_accel=0
|
|
||||||
# repeat_rate=
|
|
||||||
# repeat_delay=
|
|
||||||
numlock_by_default=1
|
|
||||||
}
|
|
||||||
|
|
||||||
#-- General ----------------------------------------------------
|
|
||||||
# General settings like MOD key, Gaps, Colors, etc.
|
|
||||||
general {
|
|
||||||
gaps_in=5
|
|
||||||
gaps_out=10
|
|
||||||
|
|
||||||
border_size=4
|
|
||||||
col.active_border=0xFFB4A1DB
|
|
||||||
col.inactive_border=0xFF343A40
|
|
||||||
}
|
|
||||||
|
|
||||||
#-- Decoration ----------------------------------------------------
|
|
||||||
# Decoration settings like Rounded Corners, Opacity, Blur, etc.
|
|
||||||
decoration {
|
|
||||||
rounding=8 # Original: rounding=-1
|
|
||||||
|
|
||||||
active_opacity=1.0
|
|
||||||
inactive_opacity=0.9
|
|
||||||
fullscreen_opacity=1.0
|
|
||||||
|
|
||||||
blur {
|
|
||||||
enabled=true
|
|
||||||
size=3 # minimum 1
|
|
||||||
passes=1 # minimum 1, more passes = more resource intensive.
|
|
||||||
ignore_opacity=false
|
|
||||||
}
|
|
||||||
|
|
||||||
# Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
|
|
||||||
# if you want heavy blur, you need to up the blur_passes.
|
|
||||||
# the more passes, the more you can up the blur_size without noticing artifacts.
|
|
||||||
}
|
|
||||||
|
|
||||||
#-- Animations ----------------------------------------------------
|
|
||||||
animations {
|
|
||||||
enabled=1
|
|
||||||
# animation=NAME,ONOFF,SPEED,CURVE,STYLE
|
|
||||||
animation=windows,1,8,default,popin 80%
|
|
||||||
animation=fadeOut,1,8,default
|
|
||||||
animation=fadeIn,1,8,default
|
|
||||||
animation=workspaces,1,8,default
|
|
||||||
#animation=workspaces,1,6,overshot
|
|
||||||
}
|
|
||||||
|
|
||||||
#-- Dwindle ----------------------------------------------------
|
|
||||||
dwindle {
|
|
||||||
pseudotile=0 # enable pseudotiling on dwindle
|
|
||||||
}
|
|
||||||
|
|
||||||
#-- Window Rules ----------------------------------------------------
|
|
||||||
windowrule=float, class:^(yad|nm-connection-editor|pavucontrolk)$
|
|
||||||
windowrule=float, class:^(xfce-polkit|kvantummanager|qt5ct)$
|
|
||||||
windowrule=float, class:^(feh|imv|Gpicview|Gimp|nomacs)$
|
|
||||||
windowrule=float, class:^(VirtualBox Manager|qemu|Qemu-system-x86_64)$
|
|
||||||
windowrule=float, class:^(xfce4-appfinder)$
|
|
||||||
|
|
||||||
# foot
|
|
||||||
windowrule=float, class:^(foot-float)$
|
|
||||||
windowrule=float, class:^(foot-full)$
|
|
||||||
windowrule=move 0 0, class:^(foot-full)$
|
|
||||||
windowrule=size 100% 100%,class:^(foot-full)$
|
|
||||||
|
|
||||||
# flameshot
|
|
||||||
windowrule = move 0 0,class:(flameshot)
|
|
||||||
windowrule = pin,class:(flameshot)
|
|
||||||
windowrule = noborder,class:(flameshot)
|
|
||||||
windowrule = stayfocused,class:(flameshot)
|
|
||||||
windowrule = float,class:(flameshot)
|
|
||||||
|
|
||||||
# avoid transparency
|
|
||||||
windowrule = opaque,class:(flameshot)
|
|
||||||
|
|
||||||
# wlogout
|
|
||||||
windowrule=float,class:^(wlogout)$
|
|
||||||
windowrule=move 0 0,class:^(wlogout)$
|
|
||||||
windowrule=size 100% 100%,class:^(wlogout)$
|
|
||||||
windowrule=animation slide,class:^(wlogout)$
|
|
||||||
|
|
||||||
#-- Keybindings ----------------------------------------------------
|
|
||||||
$term = foot
|
|
||||||
$app_launcher = ~/.config/hypr/scripts/menu
|
|
||||||
$volume = ~/.config/hypr/scripts/volume
|
|
||||||
$backlight = ~/.config/hypr/scripts/brightness
|
|
||||||
$lockscreen = ~/.config/hypr/scripts/lockscreen
|
|
||||||
$wlogout = ~/.config/hypr/scripts/wlogout
|
|
||||||
$colorpicker = ~/.config/hypr/scripts/colorpicker
|
|
||||||
$files = thunar
|
|
||||||
$browser = firefox
|
|
||||||
|
|
||||||
# -- Terminal --
|
|
||||||
bind=SUPER,Return,exec,$term
|
|
||||||
|
|
||||||
# -- App Launcher --
|
|
||||||
bind=SUPER,D,exec,$app_launcher
|
|
||||||
|
|
||||||
# -- Hyprland --
|
|
||||||
bind=SUPER,Q,killactive,
|
|
||||||
bind=CTRLALT,Delete,exit,
|
|
||||||
bind=SUPER,F,fullscreen,
|
|
||||||
bind=SUPER,Space,togglefloating,
|
|
||||||
bind=SUPER,S,pseudo,
|
|
||||||
|
|
||||||
# -- Misc --
|
|
||||||
bind=SUPER,N,exec,nm-connection-editor # need install network-manager-applet
|
|
||||||
bind=SUPER,P,exec,$colorpicker
|
|
||||||
bind=CTRLALT,L,exec,$lockscreen
|
|
||||||
bind=SUPERSHIFT,X,exec,$wlogout
|
|
||||||
|
|
||||||
# -- Some nice mouse binds --
|
|
||||||
bindm=SUPER,mouse:272,movewindow
|
|
||||||
bindm=SUPER,mouse:273,resizewindow
|
|
||||||
|
|
||||||
# -- Function keys --
|
|
||||||
bind=,XF86MonBrightnessUp,exec,$backlight --inc
|
|
||||||
bind=,XF86MonBrightnessDown,exec,$backlight --dec
|
|
||||||
bind=,XF86AudioRaiseVolume,exec,$volume --inc
|
|
||||||
bind=,XF86AudioLowerVolume,exec,$volume --dec
|
|
||||||
bind=,XF86AudioMute,exec,$volume --toggle
|
|
||||||
bind=,XF86AudioMicMute,exec,$volume --toggle-mic
|
|
||||||
bind=,XF86AudioNext,exec,mpc next
|
|
||||||
bind=,XF86AudioPrev,exec,mpc prev
|
|
||||||
bind=,XF86AudioPlay,exec,mpc toggle
|
|
||||||
bind=,XF86AudioStop,exec,mpc stop
|
|
||||||
|
|
||||||
# -- Screenshots --
|
|
||||||
bind=,Print,exec,hyprshot -m output -o ~/Pictures/Screenshots -- imv
|
|
||||||
bind=SUPER,Print,exec,hyprshot -m window -o ~/Pictures/Screenshots -- imv
|
|
||||||
bind=CTRL,Print,exec,flameshot gui --raw -p ~/Pictures/Screenshots | wl-copy
|
|
||||||
|
|
||||||
# Focus
|
|
||||||
bind=SUPER,left,movefocus,l
|
|
||||||
bind=SUPER,right,movefocus,r
|
|
||||||
bind=SUPER,up,movefocus,u
|
|
||||||
bind=SUPER,down,movefocus,d
|
|
||||||
|
|
||||||
# Move
|
|
||||||
bind=SUPERSHIFT,left,movewindow,l
|
|
||||||
bind=SUPERSHIFT,right,movewindow,r
|
|
||||||
bind=SUPERSHIFT,up,movewindow,u
|
|
||||||
bind=SUPERSHIFT,down,movewindow,d
|
|
||||||
|
|
||||||
# Resize
|
|
||||||
bind=SUPERCTRL,left,resizeactive,-20 0
|
|
||||||
bind=SUPERCTRL,right,resizeactive,20 0
|
|
||||||
bind=SUPERCTRL,up,resizeactive,0 -20
|
|
||||||
bind=SUPERCTRL,down,resizeactive,0 20
|
|
||||||
|
|
||||||
# Workspaces
|
|
||||||
bind=SUPER,1,workspace,1
|
|
||||||
bind=SUPER,2,workspace,2
|
|
||||||
bind=SUPER,3,workspace,3
|
|
||||||
bind=SUPER,4,workspace,4
|
|
||||||
bind=SUPER,5,workspace,5
|
|
||||||
bind=SUPER,6,workspace,6
|
|
||||||
bind=SUPER,7,workspace,7
|
|
||||||
bind=SUPER,8,workspace,8
|
|
||||||
bind=SUPER,9,workspace,9
|
|
||||||
bind=SUPER,0,workspace,10
|
|
||||||
|
|
||||||
# Send to Workspaces
|
|
||||||
bind=SUPERSHIFT,1,movetoworkspace,1
|
|
||||||
bind=SUPERSHIFT,2,movetoworkspace,2
|
|
||||||
bind=SUPERSHIFT,3,movetoworkspace,3
|
|
||||||
bind=SUPERSHIFT,4,movetoworkspace,4
|
|
||||||
bind=SUPERSHIFT,5,movetoworkspace,5
|
|
||||||
bind=SUPERSHIFT,6,movetoworkspace,6
|
|
||||||
bind=SUPERSHIFT,7,movetoworkspace,7
|
|
||||||
bind=SUPERSHIFT,8,movetoworkspace,8
|
|
||||||
bind=SUPERSHIFT,9,movetoworkspace,9
|
|
||||||
bind=SUPERSHIFT,0,movetoworkspace,10
|
|
||||||
|
|
||||||
bind=SUPER,mouse_down,workspace,e+1
|
|
||||||
bind=SUPER,mouse_up,workspace,e-1
|
|
||||||
|
|
||||||
#-- Startup ----------------------------------------------------
|
|
||||||
exec-once=~/.config/hypr/scripts/startup
|
|
||||||
|
|
||||||
# -- Fcitx5 input method
|
|
||||||
windowrule=pseudo,class:^(fcitx)$ # enable this will make fcitx5 works, but fcitx5-configtool will not work!
|
|
||||||
exec-once=cp ~/.config/fcitx5/profile-bak ~/.config/fcitx5/profile # restore fcitx5 profile managed by nixos
|
|
||||||
exec-once=fcitx5 -d --replace # start fcitx5 daemon
|
|
||||||
bind=ALT,E,exec,pkill fcitx5 -9;sleep 1;fcitx5 -d --replace; sleep 1;fcitx5-remote -r
|
|
||||||
|
|
||||||
@@ -1,11 +1,26 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
config,
|
||||||
lib,
|
lib,
|
||||||
nur-ryan4yin,
|
nur-ryan4yin,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
package = pkgs.hyprland;
|
package = pkgs.hyprland;
|
||||||
in {
|
in {
|
||||||
|
# hyprland configs, based on https://github.com/notwidow/hyprland
|
||||||
|
xdg.configFile = let
|
||||||
|
mkSymlink = config.lib.file.mkOutOfStoreSymlink;
|
||||||
|
hyprPath = "${config.home.homeDirectory}/nix-config/home/linux/gui/hyprland/conf";
|
||||||
|
in {
|
||||||
|
"hypr/configs".source = mkSymlink "${hyprPath}/configs";
|
||||||
|
"hypr/mako".source = mkSymlink "${hyprPath}/mako";
|
||||||
|
"hypr/scripts".source = mkSymlink "${hyprPath}/scripts";
|
||||||
|
"hypr/waybar".source = mkSymlink "${hyprPath}/waybar";
|
||||||
|
"hypr/wlogout".source = mkSymlink "${hyprPath}/wlogout";
|
||||||
|
# music player - mpd
|
||||||
|
"mpd".source = mkSymlink "${hyprPath}/mako";
|
||||||
|
};
|
||||||
|
|
||||||
# NOTE:
|
# NOTE:
|
||||||
# We have to enable hyprland/i3's systemd user service in home-manager,
|
# We have to enable hyprland/i3's systemd user service in home-manager,
|
||||||
# so that gammastep/wallpaper-switcher's user service can be start correctly!
|
# so that gammastep/wallpaper-switcher's user service can be start correctly!
|
||||||
@@ -14,7 +29,16 @@ in {
|
|||||||
inherit package;
|
inherit package;
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
source = "${nur-ryan4yin.packages.${pkgs.system}.catppuccin-hyprland}/themes/mocha.conf";
|
source = let
|
||||||
|
configPath = "${config.home.homeDirectory}/.config/hypr/configs";
|
||||||
|
in [
|
||||||
|
"${nur-ryan4yin.packages.${pkgs.system}.catppuccin-hyprland}/themes/mocha.conf"
|
||||||
|
"${configPath}/exec.conf"
|
||||||
|
"${configPath}/fcitx5.conf"
|
||||||
|
"${configPath}/keybindings.conf"
|
||||||
|
"${configPath}/settings.conf"
|
||||||
|
"${configPath}/windowrules.conf"
|
||||||
|
];
|
||||||
env = [
|
env = [
|
||||||
"NIXOS_OZONE_WL,1" # for any ozone-based browser & electron apps to run on wayland
|
"NIXOS_OZONE_WL,1" # for any ozone-based browser & electron apps to run on wayland
|
||||||
"MOZ_ENABLE_WAYLAND,1" # for firefox to run on wayland
|
"MOZ_ENABLE_WAYLAND,1" # for firefox to run on wayland
|
||||||
@@ -27,7 +51,6 @@ in {
|
|||||||
"GDK_BACKEND,wayland"
|
"GDK_BACKEND,wayland"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
extraConfig = builtins.readFile ../conf/hyprland.conf;
|
|
||||||
# gammastep/wallpaper-switcher need this to be enabled.
|
# gammastep/wallpaper-switcher need this to be enabled.
|
||||||
systemd = {
|
systemd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -41,30 +64,4 @@ in {
|
|||||||
source = "${package}/bin/Hyprland";
|
source = "${package}/bin/Hyprland";
|
||||||
executable = true;
|
executable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# hyprland configs, based on https://github.com/notwidow/hyprland
|
|
||||||
xdg.configFile = {
|
|
||||||
"hypr/mako" = {
|
|
||||||
source = ../conf/mako;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
"hypr/scripts" = {
|
|
||||||
source = ../conf/scripts;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
"hypr/waybar" = {
|
|
||||||
source = ../conf/waybar;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
"hypr/wlogout" = {
|
|
||||||
source = ../conf/wlogout;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# music player - mpd
|
|
||||||
"mpd" = {
|
|
||||||
source = ../conf/mpd;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user