Compare commits

...

2 Commits

Author SHA1 Message Date
Louis Dalibard
3b5a5282c7 feat: init commit 2024-04-19 17:43:00 +02:00
Louis Dalibard
4f24d5c396 feat: init commit 2024-04-19 17:42:23 +02:00
17 changed files with 633 additions and 0 deletions

View File

@ -0,0 +1,12 @@
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 2, myBezier
animation = windowsOut, 1, 2, default, popin 80%
animation = border, 1, 5, default
animation = borderangle, 1, 3, default
animation = fade, 1, 2, default
animation = workspaces, 1, 1, default
}

View File

@ -0,0 +1,3 @@
exec-once = waypaper --restore
exec-once = wl-paste --watch cliphist store
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1

View File

@ -0,0 +1,19 @@
# Firefox
env = MOZ_ENABLE_WAYLAND,1
# Qt
env = QT_QPA_PLATFORM,wayland
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
# Wayland
env = XDG_SESSION_TYPE,wayland
env = GDK_BACKEND,wayland
env = GSK_RENDERER,vulkan
# Wlroots
env = WLR_NO_HARDWARE_CURSORS,1
env = WLR_RENDERER,vulkan
# X11
env = XCURSOR_SIZE,24

69
.config/hypr/general.conf Normal file
View File

@ -0,0 +1,69 @@
general {
gaps_in = 2
gaps_out = 4
border_size = 2
layout = dwindle
allow_tearing = true
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
}
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
touchpad {
natural_scroll = no
}
follow_mouse = 1
sensitivity = 0
accel_profile = flat
}
debug {
overlay = false
}
decoration {
rounding = 5
blur {
enabled = true
size = 4
passes = 4
new_optimizations = on
ignore_opacity = on
xray = false
}
drop_shadow = no
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
#active_opacity = 0.9
#inactive_opacity = 0.9
}
dwindle {
pseudotile = yes
preserve_split = yes
no_gaps_when_only = 1
}
master {
new_is_master = true
}
gestures {
workspace_swipe = off
}
misc {
force_default_wallpaper = 0
}

View File

@ -0,0 +1,9 @@
source = monitor.conf
source = programs.conf
source = environment.conf
source = autostart.conf
source = general.conf
source = animations.conf
source = rules.conf
source = keys.conf
source = typing.conf

92
.config/hypr/keys.conf Normal file
View File

@ -0,0 +1,92 @@
$main = SUPER
# Apps
bind = $main, B, exec, $browser
bind = $main, D, exec, $editor
bind = $main, E, exec, $files
bind = $main, L, exec, $lockscreen
bind = $main, S, exec, pkill $statusbar || $statusbar
bind = $main, Super_L, exec, pkill $menu || $menu
bind = $main, T, exec, $terminal
bind = $main, W, exec, $wallpaper
bind = $main, Return, exec, $floating
bind = $main, F1, exec, $systeminfo
bind = , Print, exec, $screenshot
# Window management
bind = $main, C, killactive,
bind = $main, F, fullscreen,
bind = $main, V, togglefloating,
bind = $main, P, pseudo,
bind = $main, J, togglesplit,
# Session management
bind = $main, Backspace, exit,
bind = $main, F12, exec, $logout
# Window focus
bind = $main, left, movefocus, l
bind = $main, right, movefocus, r
bind = $main, up, movefocus, u
bind = $main, down, movefocus, d
# Window resizing
binde = $main SHIFT, left, resizeactive, -10 0
binde = $main SHIFT, right, resizeactive, 10 0
binde = $main SHIFT, up, resizeactive, 0 -10
binde = $main SHIFT, down, resizeactive, 0 10
# Switch workspaces with numpad
bind =, KP_Home, workspace, 1
bind =, KP_Up, workspace, 2
bind =, KP_Prior, workspace, 3
bind =, KP_Left, workspace, 4
bind =, KP_Begin, workspace, 5
bind =, KP_Right, workspace, 6
bind =, KP_End, workspace, 7
bind =, KP_Down, workspace, 8
bind =, KP_Next, workspace, 9
# Move window to a specific workspace with numpad
bind = $main, KP_Home, movetoworkspace, 1
bind = $main, KP_Up, movetoworkspace, 2
bind = $main, KP_Prior, movetoworkspace, 3
bind = $main, KP_Left, movetoworkspace, 4
bind = $main, KP_Begin, movetoworkspace, 5
bind = $main, KP_Right, movetoworkspace, 6
bind = $main, KP_End, movetoworkspace, 7
bind = $main, KP_Down, movetoworkspace, 8
bind = $main, KP_Next, movetoworkspace, 9
# Move window to a specific workspace with numbers
bind = $main, 1, movetoworkspace, 1
bind = $main, 2, movetoworkspace, 2
bind = $main, 3, movetoworkspace, 3
bind = $main, 4, movetoworkspace, 4
bind = $main, 5, movetoworkspace, 5
bind = $main, 6, movetoworkspace, 6
bind = $main, 7, movetoworkspace, 7
bind = $main, 8, movetoworkspace, 8
bind = $main, 9, movetoworkspace, 9
# Move window to an adjacent workspace
bind = $main ALT, right, movetoworkspace, +1
bind = $main ALT, left, movetoworkspace, -1
# Special workspace (scratchpad)
bind = $main, F9, togglespecialworkspace, magic
bind = $main SHIFT, F9, movetoworkspace, special:magic
# Move and resize windows (main + LMB/RMB and drag)
bindm = $main, mouse:272, movewindow
bindm = $main, mouse:273, resizewindow
# Media player control
bindl =, XF86AudioPlay, exec, playerctl play-pause
bindl =, XF86AudioNext, exec, playerctl next
bindl =, XF86AudioPrev, exec, playerctl previous
# Volume control
bindle =, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+
bindle =, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-
bindl =, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle

View File

@ -0,0 +1 @@
monitor = ,highrr,auto,auto

View File

@ -0,0 +1,17 @@
# Apps
$browser = google-chrome
$email = thunderbird
$files = nautilus
$logout = wlogout
$lockscreen = swaylock
$menu = fuzzel
$screenshot = IMG=~/pictures/screenshots/$(date +%Y-%m-%d_%H-%M-%S).png && grim -g "$(slurp -d)" $IMG && wl-copy < $IMG
$statusbar = waybar
$terminal = kgx
$wallpaper = waypaper
# Terminal based
$editor = $terminal -e nano
$center = [float;size 960 540;center]
$floating = $center $terminal
$systeminfo = $center $terminal --hold -e fastfetch

10
.config/hypr/rules.conf Normal file
View File

@ -0,0 +1,10 @@
# Blur the status bar
layerrule = blur, $statusbar
layerrule = ignorealpha 0.1, $statusbar
# Blur the launcher
layerrule = blur, launcher
layerrule = ignorealpha 0.1, launcher
# Disable maximize event
windowrulev2 = suppressevent maximize, class:.*

26
.config/hypr/typing.conf Normal file
View File

@ -0,0 +1,26 @@
$mod = ALT
# Special characters
bindle = $mod, KP_Add, exec, wtype ±
bindle = $mod, KP_Subtract, exec, wtype ±
bindle = $mod, Equal, exec, wtype ≈
bindle = $mod, Grave, exec, wtype ≈
bindle = $mod, T, exec, wtype ™
bindle = $mod, C, exec, wtype ©
bindle = $mod, R, exec, wtype ®
# German language
bindle = $mod, A, exec, wtype ä
bindle = $mod SHIFT, A, exec, wtype Ä
bindle = $mod, O, exec, wtype ö
bindle = $mod SHIFT, O, exec, wtype Ö
bindle = $mod, U, exec, wtype ü
bindle = $mod SHIFT, U, exec, wtype Ü
bindle = $mod, S, exec, wtype ß
# Emoji
bindle = $mod, W, exec, wtype 👋
bindle = $mod, H, exec, wtype ❤️
bindle = $mod, L, exec, wtype 👍
bindle = $mod, P, exec, wtype 🙏
bindle = $mod, F, exec, wtype 🤣

38
.config/swaylock/config Normal file
View File

@ -0,0 +1,38 @@
daemonize
show-failed-attempts
clock
screenshot
effect-blur=9x5
effect-vignette=0.5:0.5
color=1f1d2e80
font=Ubuntu Nerd Font
indicator
indicator-radius=200
indicator-thickness=20
line-color=1f1d2e
ring-color=33CCFE
inside-color=1f1d2e
key-hl-color=EC4899
separator-color=00000000
text-color=e0def4
text-caps-lock-color=
line-ver-color=eb6f92
ring-ver-color=eb6f92
inside-ver-color=1f1d2e
text-ver-color=e0def4
ring-wrong-color=31748f
text-wrong-color=31748f
inside-wrong-color=1f1d2e
inside-clear-color=1f1d2e
text-clear-color=e0def4
ring-clear-color=9ccfd8
line-clear-color=1f1d2e
line-wrong-color=1f1d2e
bs-hl-color=31748f
grace=2
grace-no-mouse
grace-no-touch
datestr=
timestr=%H : %M
fade-in=0.2
ignore-empty-password

View File

@ -0,0 +1,22 @@
{
"layer": "top",
"position": "bottom",
"modules-left": [],
"modules-center": [],
"modules-right": [
"group/hardware",
"custom/updates",
"wireplumber",
"clock",
],
"group/hardware": {
"orientation": "horizontal",
"modules": [
"cpu",
"custom/gpu",
"memory",
"disk",
],
},
"include": "~/.config/waybar/modules.jsonc",
}

View File

@ -0,0 +1,115 @@
{
"clock": {
"interval": 60,
"format": "<span color='#00000040'> </span> {:%H : %M}",
"tooltip-format": "{:%A, %Y-%m-%d}",
"on-click": "gnome-clocks",
"on-click-right": "date -u +'%Y-%m-%dT%H:%M:%SZ' | wl-copy",
},
"cpu": {
"interval": 2,
"format": "<span color='#00000040'>{icon}</span> {usage}%",
"format-icons": ["󰾆", "󰾅", "󰓅"],
"max-length": 10,
"on-click": "$TERMINAL -e btop",
},
"custom/updates": {
"interval": 300,
"format": "<span color='#00000040'>󰏖 </span> {}",
"exec": "~/.bin/updates",
"return-type": "json",
"on-click": "$TERMINAL -e yay",
},
"custom/gpu": {
"interval": 2,
"exec": "nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits",
"format": "<span color='#00000040'> </span> {}%",
"return-type": "",
"on-click": "$TERMINAL -e nvtop",
"max-length": 10,
},
"memory": {
"interval": 2,
"format": "<span color='#00000040'> </span>{used} GiB",
"max-length": 10,
"on-click": "$TERMINAL -e btop",
},
"network#up": {
"interval": 2,
"format": "<span color='#00000040'> </span>{bandwidthUpBits}",
"tooltip-format": " {ifname} upload",
"max-length": 10,
"on-click": "$TERMINAL -e nethogs",
},
"network#down": {
"interval": 2,
"format": "<span color='#00000040'> </span>{bandwidthDownBits}",
"tooltip-format": " {ifname} download",
"max-length": 10,
"on-click": "$TERMINAL -e nethogs",
},
"disk": {
"interval": 30,
"format": "<span color='#00000040'>󰋊 </span>{used}",
"path": "/",
"max-length": 10,
"on-click": "$TERMINAL -e dua i",
},
"mpris": {
"format": "<span color='#00000040'>{player_icon}</span> {title}",
"format-paused": "<span color='#00000040'>{status_icon}</span> {title}",
"player-icons": {
"default": "󰝚",
"mpv": "󰝚"
},
"status-icons": {
"paused": "󰏤"
},
"title-len": 30,
},
"wireplumber": {
"format": "<span color='#00000040'>{icon}</span> {volume}%",
"format-muted": "",
"scroll-step": 5,
"format-icons": ["", "", ""],
"max-length": 10,
"on-click": "helvum",
},
"hyprland/window": {
"format": "󰘔 {initialTitle}",
"separate-outputs": true
},
"hyprland/workspaces": {
"format": "{icon}",
"persistent-workspaces": {
"*": 9
},
"format-icons": {
"default": "",
"empty": "",
"active": "",
"urgent": "",
},
"sort-by-number": true,
"on-click": "activate",
},
"custom/os":{
"format": "",
"tooltip": false,
"on-click": "$TERMINAL --hold -e fastfetch",
},
"wlr/taskbar": {
"format": "{icon}",
"icon-size": 14,
"icon-theme": "Adwaita",
"tooltip-format": "{title}",
"on-click": "activate",
"on-click-middle": "close",
"ignore-list": [
],
"app_ids-mapping": {
},
"rewrite": {
},
},
}

124
.config/waybar/style.css Normal file
View File

@ -0,0 +1,124 @@
/* ===== Generic ===== */
* {
border: none;
font-family: "Ubuntu Nerd Font";
font-size: 12px;
padding: 0;
margin: 0;
}
/* ===== Waybar ===== */
#waybar {
background: transparent;
/* background: rgba(54, 137, 230, 0.8); */
/* border-top: 1px solid rgba(54, 137, 230, 0.8); */
}
#waybar.hidden {
opacity: 0.2;
}
#waybar #window {
opacity: 1;
transition: opacity 200ms ease;
}
#waybar.empty #window {
opacity: 0;
}
/* ===== Modules ===== */
#clock,
#cpu,
#disk,
#memory,
#mpris,
#network,
#window,
#wireplumber,
#custom-gpu,
#custom-updates {
color: rgba(32, 32, 32, 0.8);
padding: 4px 8px;
margin: 2px;
margin-right: 0;
border-radius: 3px;
}
#custom-os {
font-size: 150%;
color: rgb(137, 220, 235);
/* background: transparent; */
}
#custom-updates.disabled {
opacity: 0;
}
/* ===== Taskbar ===== */
#taskbar button {
padding: 0px 5px;
}
#taskbar button:hover {}
#taskbar button.active {}
/* ===== Workspaces ===== */
#workspaces button {
/* color: rgba(38, 41, 44, 0.9); */
padding: 0px 5px;
color: white;
background: transparent;
text-shadow: none;
border-radius: 0;
opacity: 0.5;
}
#workspaces button.empty {
opacity: 0.5;
}
#workspaces button.active {
opacity: 1.0;
}
#workspaces button.visible {}
#workspaces button.urgent {}
#workspaces button.persistent {}
#workspaces button.hidden {}
/* ===== Extra colors ===== */
#cpu {
background: rgb(50.15%, 92.07%, 99.48%);
}
#custom-gpu {
background: rgb(67.06%, 91.37%, 70.2%);
}
#memory {
background: rgb(100%, 81.7%, 68.38%);
}
#disk {
background: rgb(100%, 80.74%, 81.04%);
}
#network {
background: rgb(92.54%, 81.78%, 100%);
}
#wireplumber {
background: rgb(90%, 90%, 90%);
}
#clock {
background: rgb(90%, 90%, 90%);
}

18
.config/wlogout/layout Normal file
View File

@ -0,0 +1,18 @@
{
"label" : "logout",
"action" : "loginctl terminate-user $USER",
"text" : "Logout",
"keybind" : "l"
}
{
"label" : "shutdown",
"action" : "systemctl poweroff",
"text" : "Shutdown",
"keybind" : "s"
}
{
"label" : "reboot",
"action" : "systemctl reboot",
"text" : "Reboot",
"keybind" : "r"
}

46
.config/wlogout/style.css Normal file
View File

@ -0,0 +1,46 @@
* {
background-image: none;
}
window {
background-color: rgba(0, 0, 0, 0.5);
}
button {
color: #ffffff;
background-color: rgba(0, 0, 0, 1);
border-style: solid;
border-color: #33ccfe;
border-width: 2px;
border-radius: 10px;
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
margin: 50px;
}
button:focus, button:active, button:hover {
background-color: #353c4a;
outline-style: none;
}
#logout {
background-image: image(
url("/usr/share/wlogout/icons/logout.png"),
url("/usr/local/share/wlogout/icons/logout.png")
);
}
#shutdown {
background-image: image(
url("/usr/share/wlogout/icons/shutdown.png"),
url("/usr/local/share/wlogout/icons/shutdown.png")
);
}
#reboot {
background-image: image(
url("/usr/share/wlogout/icons/reboot.png"),
url("/usr/local/share/wlogout/icons/reboot.png")
);
}

12
.gitignore vendored
View File

@ -0,0 +1,12 @@
/*
*.log
!.gitignore
!/.config
/.config/*
!/.config/fish
!/.config/hypr
!/.config/swaylock
!/.config/VSCodium
!/.config/waybar
!/.config/wlogout