mirror of
https://github.com/tuxdotrs/nixos-config.git
synced 2025-07-06 09:46:34 +05:30
feat: add tpanel for wayland
This commit is contained in:
88
flake.lock
generated
88
flake.lock
generated
@ -1,5 +1,70 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"ags": {
|
||||||
|
"inputs": {
|
||||||
|
"astal": "astal",
|
||||||
|
"nixpkgs": [
|
||||||
|
"tpanel",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744557573,
|
||||||
|
"narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=",
|
||||||
|
"owner": "aylur",
|
||||||
|
"repo": "ags",
|
||||||
|
"rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "aylur",
|
||||||
|
"repo": "ags",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"astal": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"tpanel",
|
||||||
|
"ags",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1742571008,
|
||||||
|
"narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=",
|
||||||
|
"owner": "aylur",
|
||||||
|
"repo": "astal",
|
||||||
|
"rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "aylur",
|
||||||
|
"repo": "astal",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"astal_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"tpanel",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748416910,
|
||||||
|
"narHash": "sha256-FEQcs58HL8Fe4i7XlqVEUwthjxwvRvgX15gTTfW17sU=",
|
||||||
|
"owner": "aylur",
|
||||||
|
"repo": "astal",
|
||||||
|
"rev": "c1bd89a47c81c66ab5fc6872db5a916c0433fb89",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "aylur",
|
||||||
|
"repo": "astal",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"cyber-tux": {
|
"cyber-tux": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -863,6 +928,7 @@
|
|||||||
"tawm": "tawm",
|
"tawm": "tawm",
|
||||||
"tfolio": "tfolio",
|
"tfolio": "tfolio",
|
||||||
"tnvim": "tnvim",
|
"tnvim": "tnvim",
|
||||||
|
"tpanel": "tpanel",
|
||||||
"trok": "trok",
|
"trok": "trok",
|
||||||
"wezterm-flake": "wezterm-flake"
|
"wezterm-flake": "wezterm-flake"
|
||||||
}
|
}
|
||||||
@ -1059,6 +1125,28 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"tpanel": {
|
||||||
|
"inputs": {
|
||||||
|
"ags": "ags",
|
||||||
|
"astal": "astal_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748696920,
|
||||||
|
"narHash": "sha256-AF0c0k1OV85x9orKN/niYhWPHbkPQoCiibEwQKOFtPY=",
|
||||||
|
"owner": "tuxdotrs",
|
||||||
|
"repo": "tpanel",
|
||||||
|
"rev": "9712b9e0ea2bc4f4f6d271028e828b61940832c6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tuxdotrs",
|
||||||
|
"repo": "tpanel",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -137,6 +137,10 @@
|
|||||||
url = "git+ssh://git@github.com/tuxdotrs/trok.git";
|
url = "git+ssh://git@github.com/tuxdotrs/trok.git";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
tpanel = {
|
||||||
|
url = "github:tuxdotrs/tpanel";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
tfolio = {
|
tfolio = {
|
||||||
url = "git+ssh://git@github.com/tuxdotrs/tfolio.git";
|
url = "git+ssh://git@github.com/tuxdotrs/tfolio.git";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -1,60 +1,66 @@
|
|||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
programs = {
|
home.packages = with pkgs; [astal];
|
||||||
waybar = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
settings = let
|
settings = let
|
||||||
# Notify
|
# Hyprland
|
||||||
notifycmd = "notify-send -h string:x-canonical-private-synchronous:hypr-cfg -u low";
|
border_size = 2;
|
||||||
|
gaps_in = 5;
|
||||||
# Elements
|
gaps_out = 5;
|
||||||
hypr_border_size = 2;
|
gaps_ws = -10;
|
||||||
hypr_gaps_in = 5;
|
rounding = 8;
|
||||||
hypr_gaps_out = 10;
|
|
||||||
hypr_gaps_ws = -10;
|
|
||||||
hypr_rounding = 10;
|
|
||||||
groupbar_font_family = "Iosevka";
|
|
||||||
groupbar_font_size = 10;
|
|
||||||
|
|
||||||
# Colors
|
|
||||||
active_border_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg";
|
active_border_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg";
|
||||||
inactive_border_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg";
|
inactive_border_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg";
|
||||||
active_shadow_col = "0x66000000";
|
|
||||||
inactive_shadow_col = "0x66000000";
|
# Apps
|
||||||
group_border_active_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg";
|
terminal = "wezterm";
|
||||||
group_border_inactive_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg";
|
editor = "neovim";
|
||||||
group_border_locked_active_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg";
|
browser = "firefox";
|
||||||
group_border_locked_inactive_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg";
|
filemanager = "thunar";
|
||||||
groupbar_text_color = "0xFFf1fcf9";
|
|
||||||
in {
|
in {
|
||||||
|
#-- Output
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors
|
||||||
|
monitor = ",preferred,auto,1";
|
||||||
|
|
||||||
|
#-- Input: Keyboard, Mouse, Touchpad
|
||||||
|
input = {
|
||||||
|
sensitivity = 0;
|
||||||
|
scroll_method = "2 fg";
|
||||||
|
natural_scroll = true;
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = true;
|
||||||
|
clickfinger_behavior = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
#-- General
|
#-- General
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables
|
||||||
general = {
|
general = {
|
||||||
border_size = hypr_border_size;
|
border_size = border_size;
|
||||||
gaps_in = hypr_gaps_in;
|
gaps_in = gaps_in;
|
||||||
gaps_out = hypr_gaps_out;
|
gaps_out = gaps_out;
|
||||||
gaps_workspaces = hypr_gaps_ws;
|
gaps_workspaces = gaps_ws;
|
||||||
"col.active_border" = active_border_col;
|
|
||||||
"col.inactive_border" = inactive_border_col;
|
|
||||||
layout = "master";
|
layout = "master";
|
||||||
resize_on_border = true;
|
resize_on_border = true;
|
||||||
|
|
||||||
|
"col.active_border" = active_border_col;
|
||||||
|
"col.inactive_border" = inactive_border_col;
|
||||||
|
};
|
||||||
|
|
||||||
|
ecosystem = {
|
||||||
|
no_update_news = true;
|
||||||
|
no_donation_nag = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
#-- Decoration
|
#-- Decoration
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||||
decoration = {
|
decoration = {
|
||||||
rounding = hypr_rounding;
|
rounding = rounding;
|
||||||
active_opacity = 0.75;
|
active_opacity = 0.8;
|
||||||
inactive_opacity = 0.75;
|
inactive_opacity = 0.8;
|
||||||
fullscreen_opacity = 1.0;
|
fullscreen_opacity = 1.0;
|
||||||
drop_shadow = true;
|
|
||||||
shadow_range = 25;
|
|
||||||
shadow_render_power = 3;
|
|
||||||
"col.shadow" = active_shadow_col;
|
|
||||||
"col.shadow_inactive" = inactive_shadow_col;
|
|
||||||
|
|
||||||
blur = {
|
blur = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
@ -67,129 +73,47 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
#-- Animations
|
#-- Animations
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Animations
|
||||||
animations = {
|
animations = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
first_launch_animation = true;
|
|
||||||
animation = [
|
animation = [
|
||||||
"windowsIn,1,5,default,popin 0%"
|
"windowsIn, 1, 2, default, popin 0%"
|
||||||
"windowsOut,1,5,default,popin"
|
"windowsOut, 1, 2, default, popin"
|
||||||
"windowsMove,1,5,default,slide"
|
"windowsMove, 1, 2, default, slide"
|
||||||
"fadeIn,1,8,default"
|
"workspaces, 1, 2, default"
|
||||||
"fadeOut,1,8,default"
|
"fade, 1, 2, default"
|
||||||
"fadeSwitch,1,8,default"
|
|
||||||
"fadeShadow,1,8,default"
|
|
||||||
"fadeDim,1,8,default"
|
|
||||||
"border,1,10,default"
|
|
||||||
"borderangle,1,10,default"
|
|
||||||
"workspaces,1,5,default,slide"
|
|
||||||
"specialWorkspace,1,5,default,fade"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
#-- Input: Keyboard, Mouse, Touchpad
|
|
||||||
input = {
|
|
||||||
sensitivity = 0.5;
|
|
||||||
scroll_method = "2 fg";
|
|
||||||
natural_scroll = true;
|
|
||||||
touchpad = {
|
|
||||||
natural_scroll = true;
|
|
||||||
clickfinger_behavior = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
#-- Group
|
|
||||||
group = {
|
|
||||||
"col.border_active" = group_border_active_col;
|
|
||||||
"col.border_inactive" = group_border_inactive_col;
|
|
||||||
"col.border_locked_active" = group_border_locked_active_col;
|
|
||||||
"col.border_locked_inactive" = group_border_locked_inactive_col;
|
|
||||||
groupbar = {
|
|
||||||
enabled = true;
|
|
||||||
font_family = groupbar_font_family;
|
|
||||||
font_size = groupbar_font_size;
|
|
||||||
text_color = groupbar_text_color;
|
|
||||||
"col.active" = group_border_active_col;
|
|
||||||
"col.inactive" = group_border_inactive_col;
|
|
||||||
"col.locked_active" = group_border_locked_active_col;
|
|
||||||
"col.locked_inactive" = group_border_locked_inactive_col;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
#-- Miscellaneous
|
|
||||||
misc = {
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
force_default_wallpaper = 0;
|
|
||||||
focus_on_activate = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
#-- Output
|
|
||||||
monitor = ",preferred,auto,1";
|
|
||||||
|
|
||||||
#-- Layout : Dwindle
|
|
||||||
dwindle = {
|
|
||||||
pseudotile = false;
|
|
||||||
force_split = 0;
|
|
||||||
preserve_split = false;
|
|
||||||
smart_split = false;
|
|
||||||
smart_resizing = true;
|
|
||||||
permanent_direction_override = false;
|
|
||||||
special_scale_factor = 0.8;
|
|
||||||
split_width_multiplier = 1.0;
|
|
||||||
no_gaps_when_only = false;
|
|
||||||
use_active_for_splits = true;
|
|
||||||
default_split_ratio = 1.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
#-- Layout : Master
|
#-- Layout : Master
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout
|
||||||
master = {
|
master = {
|
||||||
allow_small_split = false;
|
allow_small_split = false;
|
||||||
special_scale_factor = 0.8;
|
special_scale_factor = 0.8;
|
||||||
mfact = 0.5;
|
mfact = 0.5;
|
||||||
new_on_top = false;
|
new_on_top = false;
|
||||||
no_gaps_when_only = false;
|
|
||||||
orientation = "left";
|
orientation = "left";
|
||||||
inherit_fullscreen = true;
|
inherit_fullscreen = true;
|
||||||
always_center_master = false;
|
|
||||||
smart_resizing = true;
|
smart_resizing = true;
|
||||||
drop_at_cursor = true;
|
drop_at_cursor = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
#-- Window Rules
|
bind = [
|
||||||
windowrule = [];
|
|
||||||
|
|
||||||
#-- Keybindings
|
|
||||||
bind = let
|
|
||||||
terminal = "alacritty";
|
|
||||||
browser = "firefox";
|
|
||||||
filemanager = "thunar";
|
|
||||||
editor = "geany";
|
|
||||||
in [
|
|
||||||
# groups
|
|
||||||
"SUPER, G, togglegroup"
|
|
||||||
"SUPER, G, exec, ${notifycmd} 'Toggled Group Mode'"
|
|
||||||
"SUPER, H, changegroupactive, b"
|
|
||||||
"SUPER, L, changegroupactive, f"
|
|
||||||
"SUPER_SHIFT, L, lockactivegroup, toggle"
|
|
||||||
"SUPER_SHIFT, L, exec, ${notifycmd} 'Toggled Group Lock'"
|
|
||||||
|
|
||||||
# terminal
|
|
||||||
"SUPER, Return, exec, ${terminal}"
|
|
||||||
|
|
||||||
# apps
|
# apps
|
||||||
"SUPER_SHIFT, F, exec, ${filemanager}"
|
"SUPER, Return, exec, ${terminal}"
|
||||||
"SUPER_SHIFT, E, exec, ${editor}"
|
"SUPER, A, exec, astal -t app-launcher"
|
||||||
"SUPER_SHIFT, B, exec, ${browser}"
|
"SUPER, F, exec, ${filemanager}"
|
||||||
|
"SUPER, E, exec, ${editor}"
|
||||||
|
"SUPER, B, exec, ${browser}"
|
||||||
|
"SUPER, G, exec, GalaxyBudsClient"
|
||||||
|
|
||||||
|
# astal
|
||||||
|
"SUPER_SHIFT, R, exec, astal -q; ${pkgs.tpanel}/bin/tpanel"
|
||||||
|
|
||||||
# hyprland
|
# hyprland
|
||||||
"SUPER, Q, killactive,"
|
"SUPER, Q, killactive,"
|
||||||
"SUPER, C, killactive,"
|
"SUPER_SHIFT, F, fullscreen, 0"
|
||||||
"CTRL_ALT, Delete, exit,"
|
"SUPER_SHIFT, Space, togglefloating,"
|
||||||
"SUPER, F, fullscreen, 0"
|
|
||||||
"SUPER, F, exec, ${notifycmd} 'Fullscreen Mode'"
|
|
||||||
"SUPER, S, pseudo,"
|
|
||||||
"SUPER, S, exec, ${notifycmd} 'Pseudo Mode'"
|
|
||||||
"SUPER, Space, togglefloating,"
|
|
||||||
"SUPER, Space, centerwindow,"
|
|
||||||
|
|
||||||
# change focus
|
# change focus
|
||||||
"SUPER, left, movefocus, l"
|
"SUPER, left, movefocus, l"
|
||||||
@ -203,19 +127,12 @@
|
|||||||
"SUPER_SHIFT, up, movewindow, u"
|
"SUPER_SHIFT, up, movewindow, u"
|
||||||
"SUPER_SHIFT, down, movewindow, d"
|
"SUPER_SHIFT, down, movewindow, d"
|
||||||
|
|
||||||
# switch between windows
|
|
||||||
"SUPER,Tab,cyclenext,"
|
|
||||||
"SUPER,Tab,bringactivetotop,"
|
|
||||||
|
|
||||||
# workspaces
|
# workspaces
|
||||||
"SUPER, 1, workspace, 1"
|
"SUPER, 1, workspace, 1"
|
||||||
"SUPER, 2, workspace, 2"
|
"SUPER, 2, workspace, 2"
|
||||||
"SUPER, 3, workspace, 3"
|
"SUPER, 3, workspace, 3"
|
||||||
"SUPER, 4, workspace, 4"
|
"SUPER, 4, workspace, 4"
|
||||||
"SUPER, 5, workspace, 5"
|
"SUPER, 5, workspace, 5"
|
||||||
"SUPER, 6, workspace, 6"
|
|
||||||
"SUPER, 7, workspace, 7"
|
|
||||||
"SUPER, 8, workspace, 8"
|
|
||||||
|
|
||||||
# send to workspaces
|
# send to workspaces
|
||||||
"SUPER_SHIFT, 1, movetoworkspace, 1"
|
"SUPER_SHIFT, 1, movetoworkspace, 1"
|
||||||
@ -223,26 +140,6 @@
|
|||||||
"SUPER_SHIFT, 3, movetoworkspace, 3"
|
"SUPER_SHIFT, 3, movetoworkspace, 3"
|
||||||
"SUPER_SHIFT, 4, movetoworkspace, 4"
|
"SUPER_SHIFT, 4, movetoworkspace, 4"
|
||||||
"SUPER_SHIFT, 5, movetoworkspace, 5"
|
"SUPER_SHIFT, 5, movetoworkspace, 5"
|
||||||
"SUPER_SHIFT, 6, movetoworkspace, 6"
|
|
||||||
"SUPER_SHIFT, 7, movetoworkspace, 7"
|
|
||||||
"SUPER_SHIFT, 8, movetoworkspace, 8"
|
|
||||||
|
|
||||||
# seamless workspace switching
|
|
||||||
"CTRL_ALT, left, workspace, e-1"
|
|
||||||
"CTRL_ALT, right, workspace, e+1"
|
|
||||||
"CTRL_ALT_SHIFT, left, movetoworkspace, e-1"
|
|
||||||
"CTRL_ALT_SHIFT, right, movetoworkspace, e+1"
|
|
||||||
|
|
||||||
# change workspace mode
|
|
||||||
"SUPER_CTRL, F, workspaceopt, allfloat"
|
|
||||||
"SUPER_CTRL, F, exec, ${notifycmd} 'Toggled All Float Mode'"
|
|
||||||
"SUPER_CTRL, S, workspaceopt, allpseudo"
|
|
||||||
"SUPER_CTRL, S, exec, ${notifycmd} 'Toggled All Pseudo Mode'"
|
|
||||||
|
|
||||||
# misc
|
|
||||||
"SUPER_SHIFT, P, pin,"
|
|
||||||
"SUPER_SHIFT, P, exec, ${notifycmd} 'Toggled Pin'"
|
|
||||||
"SUPER_SHIFT, S, swapnext"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
binde = [
|
binde = [
|
||||||
@ -258,15 +155,10 @@
|
|||||||
"SUPER_ALT, up, moveactive, 0 -20"
|
"SUPER_ALT, up, moveactive, 0 -20"
|
||||||
"SUPER_ALT, down, moveactive, 0 20"
|
"SUPER_ALT, down, moveactive, 0 20"
|
||||||
];
|
];
|
||||||
bindm = [
|
|
||||||
# mouse buttons
|
|
||||||
"SUPER, mouse:272, movewindow"
|
|
||||||
"SUPER, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
|
|
||||||
"exec-once" = [
|
"exec-once" = [
|
||||||
"${pkgs.swaybg}/bin/swaybg -i ~/Wallpapers/moments_before_desk.png"
|
"${pkgs.swaybg}/bin/swaybg -i ~/Wallpapers/ALLqk82.png"
|
||||||
"waybar"
|
"${pkgs.tpanel}/bin/tpanel"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
ghostty = inputs.ghostty.packages.${prev.system}.default;
|
ghostty = inputs.ghostty.packages.${prev.system}.default;
|
||||||
tawm = inputs.tawm.packages.${prev.system}.default;
|
tawm = inputs.tawm.packages.${prev.system}.default;
|
||||||
tnvim = inputs.tnvim.packages.${prev.system}.default;
|
tnvim = inputs.tnvim.packages.${prev.system}.default;
|
||||||
|
tpanel = inputs.tpanel.packages.${prev.system}.default;
|
||||||
|
astal = inputs.tpanel.packages.${prev.system}.astal.default;
|
||||||
tfolio = inputs.tfolio.packages.${prev.system}.default;
|
tfolio = inputs.tfolio.packages.${prev.system}.default;
|
||||||
trok = inputs.trok.packages.${prev.system}.default;
|
trok = inputs.trok.packages.${prev.system}.default;
|
||||||
cyber-tux = inputs.cyber-tux.packages.${prev.system}.default;
|
cyber-tux = inputs.cyber-tux.packages.${prev.system}.default;
|
||||||
|
Reference in New Issue
Block a user