Compare commits

...

5 Commits

Author SHA1 Message Date
tux
c1a327090d feat: replace sddm with ly 2025-05-31 19:39:48 +05:30
tux
5a20365edd fix: editor binding 2025-05-31 19:29:57 +05:30
tux
e54adca403 doc: update README.md 2025-05-31 19:18:13 +05:30
tux
aa56eda1d1 feat(canopus): remove waybar 2025-05-31 18:50:59 +05:30
tux
1c9e4fdf86 feat: add tpanel for wayland 2025-05-31 18:49:57 +05:30
7 changed files with 172 additions and 192 deletions

View File

@ -64,17 +64,17 @@ reboot
## Components ## Components
| | Wayland | Xorg | | | Wayland | Xorg |
| ------------- | ------- | ---------------- | | ------------- | ------------- | ---------------- |
| DM | / | SDDM | | DM | / | SDDM |
| WM/DE | / | AwesomeWM | | WM/DE | Hyprland | AwesomeWM |
| Compositor | / | Picom (Jonaburg) | | Compositor | Hyprland | Picom (Jonaburg) |
| Bar | / | Wibar | | Bar | Astal | Wibar |
| Hotkeys | / | Awful | | Hotkeys | Hyprland | Awful |
| Launcher | / | Rofi | | Launcher | Astal | Rofi |
| Notifications | / | Naughty | | Notifications | Astal | Naughty |
| Terminal | / | Wezterm | | Terminal | Wezterm | Wezterm |
| Editor | / | Neovim | | Editor | Neovim | Neovim |
## Showcase ## Showcase

88
flake.lock generated
View File

@ -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": [

View File

@ -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";

View File

@ -6,7 +6,6 @@
imports = [ imports = [
../../modules/home/desktop/awesome ../../modules/home/desktop/awesome
../../modules/home/desktop/hyprland ../../modules/home/desktop/hyprland
../../modules/home/desktop/waybar
../../modules/home/picom ../../modules/home/picom
../../modules/home/alacritty ../../modules/home/alacritty
../../modules/home/wezterm ../../modules/home/wezterm

View File

@ -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 = "wezterm -e nvim";
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"
]; ];
}; };
}; };

View File

@ -6,12 +6,7 @@
services = { services = {
displayManager = { displayManager = {
defaultSession = "none+awesome"; defaultSession = "none+awesome";
sddm = { ly.enable = true;
package = pkgs.libsForQt5.sddm;
extraPackages = with pkgs; [libsForQt5.qt5.qtgraphicaleffects];
enable = true;
theme = "sugar-dark";
};
}; };
xserver = { xserver = {

View File

@ -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;