diff --git a/README.md b/README.md index 9d23c13..4880934 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This project is an automated installer for the Atlas Desktop. ## Disclaimer -### ⚠ This is still a WIP project. Use at your own risk. +### ⚠ Use at your own risk. Some platforms may not yet be supported such as Nvidia graphic cards for which you'll have to install all the drivers yourself. Sadly I don't have any equipment to test that out. @@ -26,18 +26,27 @@ Very simple, clone the project (or download it directly from the web interface) ```sh= git clone https://forge.oblic-parallels.fr/guillm/atlas-install ``` -Make `setup.sh` executable -```sh= -chmod u+x setup.sh -``` -And run it +And run `setup.sh` ```sh= ./setup.sh ``` -That said I suggest you to give a look to the packages that will be installed on your system as it's important to know how things will work or to disable some things you wouldn't necessarely want. +Then just follow the instructions and you should be good to go ! +If you encounter any error or bug, don't hesitate to open an issue on this repo. + +## Configuration + +I suggest you to give a look to the packages that will be installed on your system as it's important to know how things will work or to disable some things you wouldn't necessarely want. +I particularly think of helix which is used as the default text editor but may not suit some people needs. + +Note that the default keyboard layout is QWERTY (us-fr). You can switch with the AZERTY layout by using `Mod+Ctrl+Space`. That said, the default layout already has french accents if you need them. +If you need to modify the layout, go to `~/.config/hypr/config/default/kb_layouts`. + +### Defaults + +I'm working on a system to easily change the default programs. I don't know yet if it will result into anything but it's worth trying. ## Future improvements - Nvidia cards handling -- Cleaner way to enable/disable some packages / configuratuions \ No newline at end of file +- Cleaner way to enable/disable some packages / configuratuions diff --git a/config/.config/albert/config b/config/.config/albert/config deleted file mode 100644 index 6398242..0000000 --- a/config/.config/albert/config +++ /dev/null @@ -1,72 +0,0 @@ -[General] -hotkey=Alt+Space -prioritizePerfectMatch=true -showTray=false -telemetry=false - -[albert] -global_handler_enabled=false -trigger=albert - -[applications] -enabled=true -fuzzy=true -terminal=kitty -use_generic_name=false -use_keywords=true - -[caffeine] -enabled=false - -[calculator_qalculate] -enabled=true - -[clipboard] -enabled=true -persistent=true - -[files] -enabled=false -paths=@Invalid() - -[hash] -enabled=true -trigger=# - -[mpris] -enabled=true -trigger=mp - -[path] -enabled=true - -[snippets] -enabled=false - -[ssh] -enabled=true - -[system] -command_lock=hyprlock -command_poweroff=poweroff -command_reboot=reboot -enabled=true -trigger=sys - -[triggers] -trigger=? - -[widgetsboxmodel] -alwaysOnTop=true -clearOnHide=false -clientShadow=false -darkTheme=Seventy Eight -displayScrollbar=false -followCursor=true -hideOnFocusLoss=true -historySearch=true -itemCount=5 -lightTheme=Seventy Eight -quitOnClose=false -showCentered=true -systemShadow=true diff --git a/config/.config/albert/schemes/Seventy Eight.qss b/config/.config/albert/schemes/Seventy Eight.qss deleted file mode 100644 index 183c39d..0000000 --- a/config/.config/albert/schemes/Seventy Eight.qss +++ /dev/null @@ -1,108 +0,0 @@ -/* - * original author: Manuel Schneider - * modified by : Gu://em_ - * - * Check http://doc.qt.io/qt-5/stylesheet-syntax.html especially the subtopics: - * The Style Sheet Syntax (http://doc.qt.io/qt-5/stylesheet-syntax.html) - * Qt Style Sheets Reference (http://doc.qt.io/qt-5/stylesheet-reference.html) - */ - -* { - border: none; - color: #98C1D9; - background-color: #293241; -} - -#frame { - background-color: none; - border: none; - max-width:640px; - min-width:640px; - padding: 10px; /* to have a drag handle */ -} - - -#inputLine { - border-radius: 8px; - border: 1px solid #4C566A; - color: #EE6C4D; - font-size: 26px; - padding: 8px; - selection-background-color: #EE6C4D; - selection-color: #E0FBFC; -} - - -#settingsButton { - background-color: none; - color: #4C566A; - - max-height: 13px; - max-width: 13px; - min-height: 13px; - min-width: 13px; - - padding: 16px; -} - - -QListView { - border-radius: 8px; - border: 1px solid #4C566A; - color: #E0FBFC; - margin-top: 4px; - selection-background-color: #3D5A80; - selection-color: #E0FBFC; -} - -QListView::item { - border-radius: 6px; - padding: 4px; -} - -QListView::item:selected { - background-color: #3D5A80; -} - - -QListView#resultsList { - font-size: 20px; - icon-size: 34px; - padding: 4px 8px 4px 8px; -} - -QListView#resultsList::item { - margin: 4px 0px 4px 0px; - height: 44px; -} - - -QListView#actionList { - font-size: 16px; - padding: 6px 8px 6px 8px; -} - -QListView#actionList::item { - margin: 2px 0px 2px 0px; -} - - -QListView QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical, -QListView QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, -QListView QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: transparent; - border: 0px; - height: 0px; - width: 0px; -} - -QListView QScrollBar:vertical { - background: transparent; - margin: 8px 0px 8px 0px; - width: 2px; -} - -QListView QScrollBar::handle:vertical { - background: #4C566A; - min-height: 24px; -} diff --git a/config/.config/colors/colors.css b/config/.config/colors/colors.css new file mode 100644 index 0000000..8e0278d --- /dev/null +++ b/config/.config/colors/colors.css @@ -0,0 +1,18 @@ +/* Swaync */ +@define-color active #e64e4e; +@define-color background_dark #1c2128; +@define-color background_light #22272e; +@define-color background_transparent alpha(#18191c, 0.7); +@define-color foreground #e4e8ed; +@define-color border #333940; +@define-color alert #ea4545; + + +/* Waybar */ +@define-color foreground #e4e8ed; +@define-color background #18191c; + +/* @define-color accentColor #b6c8d3; */ +@define-color accentColor #ec775c; + +@define-color charging #6bc46d; diff --git a/config/.config/colors/hyprland.conf b/config/.config/colors/hyprland.conf new file mode 100644 index 0000000..e563860 --- /dev/null +++ b/config/.config/colors/hyprland.conf @@ -0,0 +1,3 @@ +#$active_color = rgba(f55c20ff) +$active_color = rgba(de3c3cff) +$inactive_color = rgba(595959aa) diff --git a/config/.config/colors/kitty.conf b/config/.config/colors/kitty.conf new file mode 100644 index 0000000..0d75685 --- /dev/null +++ b/config/.config/colors/kitty.conf @@ -0,0 +1,62 @@ +# vim:ft=kitty + +## name: 78 +## author: Gu://em_ (forked from Github Dark Dimmed) +## license: MIT + +#: The basic colors + +foreground #adbac7 +background #14171F +#background #111317 +selection_foreground #EE6C4D +selection_background #3D5A80 + + +#: Cursor colors + +cursor #adbac7 + + +#: Tab bar colors + +tab_bar_background #22272e +active_tab_foreground #adbac7 +active_tab_background #ec775c +inactive_tab_foreground #adbac7 +inactive_tab_background #1C2128 + + +#: The basic 16 colors + +#: black +color0 #545d68 +color8 #636e7b + +#: red +color1 #f47067 +color9 #ff938a + +#: green +color2 #57ab5a +color10 #6bc46d + +#: yellow +color3 #c69026 +color11 #daaa3f + +#: blue +color4 #539bf5 +color12 #6cb6ff + +#: magenta +color5 #b083f0 +color13 #dcbdfb + +#: cyan +color6 #39c5cf +color14 #56d4dd + +#: white +color7 #909dab +color15 #cdd9e5 diff --git a/config/.config/fnott/fnott.ini b/config/.config/fnott/fnott.ini deleted file mode 100644 index 56ecb0e..0000000 --- a/config/.config/fnott/fnott.ini +++ /dev/null @@ -1,66 +0,0 @@ -# -*- conf -*- - -# For documentation on these options, see `man fnott.ini` - -# Global values -# output=# -min-width=200 -# max-width=0 -# max-height=0 -# stacking-order=bottom-up -anchor=top-right -edge-margin-vertical=10 -edge-margin-horizontal=10 -notification-margin=10 -icon-theme=Papirus -# max-icon-size=32 -# selection-helper=dmenu -# selection-helper-uses-null-separator=no -# play-sound=aplay ${filename} - -# Default values, may be overridden in 'urgency' specific sections -layer=top -background=293241FF - -border-color=EE6C4DFF -border-radius=0 -border-size=2 - -padding-vertical=20 -padding-horizontal=20 - -dpi-aware=yes - -title-font=monospace -title-color=ffffffff -title-format=%a%A - -summary-font=monospace -summary-color=ffffffff -summary-format=%s\n - -body-font=monospace -body-color=ffffffff -body-format=%b - -progress-bar-height=20 -progress-bar-color=ffffffff - -# sound-file= -# icon= - -# Timeout values are in seconds. 0 to disable -max-timeout=0 -default-timeout=0 -idle-timeout=0 - -# [low] -# background=2b2b2bff -# title-color=888888ff -# summary-color=888888ff -# body-color=888888ff - -# [normal] - -# [critical] -# background=6c3333ff diff --git a/config/.config/foot/foot.ini b/config/.config/foot/foot.ini new file mode 100644 index 0000000..4cc3b49 --- /dev/null +++ b/config/.config/foot/foot.ini @@ -0,0 +1,8 @@ +[main] +shell=zsh +font=JetBrains Mono Nerd Font:size=14:style=Light +include=~/.config/foot/github-dark.ini + +[cursor] +style=beam +blink=true diff --git a/config/.config/foot/github-dark.ini b/config/.config/foot/github-dark.ini new file mode 100644 index 0000000..56bc0a8 --- /dev/null +++ b/config/.config/foot/github-dark.ini @@ -0,0 +1,41 @@ +# -*- conf -*- +# Github Dark +# By Gu://em_ + + +[colors-dark] +# alpha = 0.9 +background= 0d1117 +foreground= c9d1d9 + +#: black +regular0= 484f58 +bright0= 6e7681 + +#: red +regular1= ff7b72 +bright1= ffa198 + +#: green +regular2= 3fb950 +bright2= 56d364 + +#: yellow +regular3= d29922 +bright3= e3b341 + +#: blue +regular4= 58a6ff +bright4= 79c0ff + +#: magenta +regular5= bc8cff +bright5= d2a8ff + +#: cyan +regular6= 39c5cf +bright6= 56d4dd + +#: white +regular7= b1bac4 +bright7= ffffff diff --git a/config/.config/helix/config.toml b/config/.config/helix/config.toml new file mode 100644 index 0000000..532032a --- /dev/null +++ b/config/.config/helix/config.toml @@ -0,0 +1,5 @@ +theme = "github_dark" +# theme = "adwaita-light" + +[editor] +line-number = "relative" diff --git a/config/.config/hypr/application-style.conf b/config/.config/hypr/application-style.conf deleted file mode 100644 index e69de29..0000000 diff --git a/config/.config/hypr/config/default/appearance.conf b/config/.config/hypr/config/default/appearance.conf index 5534445..50f50da 100644 --- a/config/.config/hypr/config/default/appearance.conf +++ b/config/.config/hypr/config/default/appearance.conf @@ -3,14 +3,12 @@ ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ - -$active_color = rgba(98C1D9FF) -$inactive_color = rgba(595959aa) +source = ~/.config/hypr/config/colors.conf # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 1 - gaps_out = 0 + gaps_out = 1 border_size = 1 @@ -46,15 +44,52 @@ decoration { blur { enabled = true size = 6 - passes = 3 + passes = 4 vibrancy = 0.1696 } } -# Apply blur to waybar -layerrule = blur,waybar +# Layer rules + +layerrule { + name = side-panel + blur = on + ignore_alpha = 0.2 + animation = slide right + dim_around = on + match:namespace = ^(swaync-control-center)$ +} + +layerrule { + name = launcher + blur = off + animation = popin 90% + match:namespace = ^(rofi)$ +} + +layerrule { + name = status-bar + blur = off + animation = slide up + match:namespace = ^(waybar)$ +} + +layerrule { + name = screenshot-selection + blur = off + animation = fade + match:namespace = ^(selection)$ +} + +## Old +# layerrule = blur, swaync-control-center +# layerrule = blur, swaync-notification-window +# layerrule = ignorezero, swaync-control-center +# layerrule = ignorezero, swaync-notification-window +# layerrule = ignorealpha 0.5, swaync-control-center +# layerrule = ignorealpha 0.5, swaync-notification-window # https://wiki.hyprland.org/Configuring/Variables/#animations @@ -74,7 +109,7 @@ animations { # Animations animation = global, 1, 10, default - animation = border, 1, 5.39, easeOutQuint + animation = border, 1, 4, easeOutQuint animation = windows, 1, 3.79, easeOutQuint animation = windowsIn, 1, 3.1, easeOutQuint, popin 87% @@ -85,17 +120,17 @@ animations { animation = fade, 1, 3.03, quick animation = layers, 1, 3.81, easeOutQuint - animation = layersIn, 1, 4, easeOutQuint, fade - animation = layersOut, 1, 1.5, linear, fade - animation = fadeLayersIn, 1, 1.79, almostLinear - animation = fadeLayersOut, 1, 1.39, almostLinear + animation = layersIn, 1, 3, easeOutQuint, popin 85% + animation = layersOut, 1, 3, linear, popin + # animation = fadeLayersIn, 1, 1.79, almostLinear + # animation = fadeLayersOut, 1, 1.39, almostLinear - animation = workspaces, 1, 1.94, almostLinear, fade + animation = workspaces, 1, 2.2 , easeOutQuint, slidefadevert animation = workspacesIn, 1, 3, easeOutQuint, slide animation = workspacesOut, 1, 3, easeOutQuint, slide - #animation = workspacesIn, 1, 3, easeOutQuint, slidefade - #animation = workspacesOut, 1, 5, easeOutQuint, slidefade + # animation = workspacesIn, 1, 3, easeOutQuint, slidefade + # animation = workspacesOut, 1, 5, easeOutQuint, slidefade } # Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ @@ -135,32 +170,107 @@ misc { # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules -# Example windowrule v1 -# windowrule = float, ^(kitty)$ - -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ - # Ignore maximize requests from apps. You'll probably like this. -windowrule = suppressevent maximize, class:.* +windowrule { + name = suppress-maximize-events + suppress_event = maximize + match:class = .* +} # Fix some dragging issues with XWayland -windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 +windowrule { + name = fix-xwayland-drags + match:class = ^$ + match:title = ^$ + match:xwayland = true + match:float = true + match:fullscreen = false + match:pin = false + + no_focus = true +} # Albert -windowrule=noborder,class:^(albert)$ -windowrule=noblur,class:^(albert)$ -windowrule=noshadow,class:^(albert)$ -windowrule=float,class:^(albert)$ -windowrule=stayfocused,class:^(albert)$ -windowrule=nodim,class:^(albert)$ +windowrule { + name = albert + border_size = 0 + no_blur = on + no_shadow = on + float = on + stay_focused = on + no_dim = on + match:class = ^(albert)$ +} # Prism Launcher -windowrule=pseudo, class:(org.prismlauncher.PrismLauncher) -windowrule=size 65% 70%, class:(org.prismlauncher.PrismLauncher), title:^(Prism Launcher .*)$ +windowrule { + name = prismlauncher-all + pseudo = on + match:class = (org.prismlauncher.PrismLauncher) +} +windowrule { + name = prismlauncher-main + size = (monitor_w*0.65) (monitor_h*0.7) + match:class = (org.prismlauncher.PrismLauncher) + match:title = ^(Prism Launcher .*)$ +} + +# Nautilus +windowrule { + name = nautilus-main + pseudo = on + size = (monitor_w*0.65) (monitor_h*0.7) + match:class = (org.gnome.Nautilus) # initialTitle:^(Loading…)$ +} + +# GTK file picker +windowrule { + name = gtk-file-picker + float = on + size = (monitor_w*0.65) (monitor_h*0.7) + match:class = (xdg-desktop-portal-gtk) +} + +# Vivado +## Loading screen +windowrule { + name = vivado-loading-screen + float = on + center = on + match:class = (ui-PlanAhead) +} +windowrule { + name = vivado-loading-screen-2 + size = 397 295 + match:class = (ui-PlanAhead) title:^(win0)$ +} +## Main window +windowrule { + name = vivado-main + tile = on + match:class = (Vivado) +} + +# Kdenlive +windowrule { + name = kdenlive-all + pseudo = on + match:class = (org.kde.kdenlive) +} +windowrule { + name = kdenlive-welcome + size = (512) (544) + match:class = (org.kde.kdenlive) # initialTitle:^(Kdenlive)$ +} + # TODO Automatically fullscreen single apps # - Seems impossible for now (try mixing with workspace rules) +# Default size for floating windows +## TODO +#windowrulev2 = size 100 100,floating:1 + # Increase gaps for single apps -workspace=w[t1], gapsout:2 +## Usless since I changed the default gap but may be useful if you decide to reset it to 0 +#workspace=w[t1], gapsout:2 diff --git a/config/.config/hypr/config/default/colors.conf b/config/.config/hypr/config/default/colors.conf new file mode 120000 index 0000000..413c779 --- /dev/null +++ b/config/.config/hypr/config/default/colors.conf @@ -0,0 +1 @@ +../../../colors/hyprland.conf \ No newline at end of file diff --git a/config/.config/hypr/config/default/environment.conf b/config/.config/hypr/config/default/environment.conf index fc79cac..c3493bd 100644 --- a/config/.config/hypr/config/default/environment.conf +++ b/config/.config/hypr/config/default/environment.conf @@ -5,10 +5,10 @@ # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use -$terminal = kitty -$fileManager = cosmic-files -$menu = albert toggle -$notificationsManager = fnott +$terminal = foot +$fileManager = nautilus +$menu = rofi -show drun +$notificationManager = swaync-client -t ################# diff --git a/config/.config/hypr/config/default/input.conf b/config/.config/hypr/config/default/input.conf index 0f2463f..0c076c1 100644 --- a/config/.config/hypr/config/default/input.conf +++ b/config/.config/hypr/config/default/input.conf @@ -18,9 +18,7 @@ input { } # https://wiki.hyprland.org/Configuring/Variables/#gestures -gestures { - workspace_swipe = true -} +gesture = 3, horizontal, workspace # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more @@ -46,14 +44,17 @@ bind = $mainMod, D, exec, $menu # Legacy menu shortcut bind = $mainMod, L, exec, hyprlock # Lockscreen bind = $mainMod, B, exec, ~/.config/hypr/scripts/toggle-waybar.sh # Toggle sidebar bind = $mainMod SHIFT, R, exec, ~/.config/hypr/scripts/reload.sh # Reload desktop -bind = $mainMod, F11, exec, ~/.config/hypr/scripts/gamemode.sh # Gamemode +bind = $mainMod, F11, exec, ~/.config/hypr/scripts/game-mode.sh # Gamemode +bind = $mainMod, F10, exec, ~/.config/hypr/scripts/sharp-mode.sh # Sharp mode bind = $mainMod SHIFT, M, exit, # Exit desktop session # Shortcuts bind = $mainMod, RETURN, exec, $terminal +bind = $mainMod, X, exec, $terminal # Absolutely not because I dislocated my arm bind = $mainMod, SPACE, exec, $menu bind = $mainMod, E, exec, $fileManager -bindel = , XF86Launch1, exec, kitty vim ~/.config/hypr/config +bind = $mainMod, A, exec, $notificationManager +bindel = , XF86Launch1, exec, $terminal hx ~/.config/hypr/config # Replace by default editor # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l @@ -61,6 +62,12 @@ bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d +# Move windows with mainMod + shift + arrow keys +bind = $mainMod SHIFT, left, movewindow, l +bind = $mainMod SHIFT, right, movewindow, r +bind = $mainMod SHIFT, up, movewindow, u +bind = $mainMod SHIFT, down, movewindow, d + # Layout bind = $mainMod, F, fullscreen, bind = $mainMod, V, togglesplit, # Horizontal/vertical split @@ -134,6 +141,10 @@ bindl = , XF86AudioPrev, exec, playerctl previous ## Screenshot bind = , Print, exec, ~/.config/hypr/scripts/screenshot.sh +bind = SHIFT, Print, exec, ~/.config/hypr/scripts/screenshot.sh --fullscreen + +# Color picker +bind = $mainMod SHIFT, C, exec, hyprpicker -a ## Touchpad toggle ### On galaxy books, pressing the disable touchpad key also triggers SUPER and @@ -143,4 +154,10 @@ bind = SUPER CONTROL, XF86TouchpadToggle, exec, ~/.config/hypr/scripts/toggle-to ## Keyboard layout toggle ### Only works between AZERTY and QWERTY because of differences in the numbers row ### that prevent using the default way provided by hyprland -bind = $mainMod CONTROL, SPACE, exec, ~/.config/hypr/scripts/change-kb-layout.sh \ No newline at end of file +bind = $mainMod CONTROL, SPACE, exec, ~/.config/hypr/scripts/change-kb-layout.sh + +# Lock laptop on lid close +bindl=,switch:off:Lid Switch, exec, hyprlock --immediate + +## Overview plugin +#bind = $mainMod, TAB, overview:toggle, toggle diff --git a/config/.config/hypr/config/default/kb_layouts/us.conf b/config/.config/hypr/config/default/kb_layouts/us.conf index 2f6a2e5..8fe85bc 100644 --- a/config/.config/hypr/config/default/kb_layouts/us.conf +++ b/config/.config/hypr/config/default/kb_layouts/us.conf @@ -1,8 +1,8 @@ ## Overrides inputs for QWERTY layout input { - kb_layout = us - kb_variant = + kb_layout = fr + kb_variant = us kb_model = kb_options = kb_rules = @@ -30,4 +30,4 @@ bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 \ No newline at end of file +bind = $mainMod SHIFT, 0, movetoworkspace, 10 diff --git a/config/.config/hypr/config/default/plugins.conf b/config/.config/hypr/config/default/plugins.conf index 75cabb6..b281ebb 100644 --- a/config/.config/hypr/config/default/plugins.conf +++ b/config/.config/hypr/config/default/plugins.conf @@ -10,6 +10,3 @@ plugin { gapsOut = 20 } } - -# Toggle overview (Read plugins section in wiki before decommenting) -# bind = $mainMod, TAB, overview:toggle, toggle \ No newline at end of file diff --git a/config/.config/hypr/config/monitors/default.conf b/config/.config/hypr/config/monitors/default.conf new file mode 100644 index 0000000..12f4f83 --- /dev/null +++ b/config/.config/hypr/config/monitors/default.conf @@ -0,0 +1,21 @@ +################ +### MONITORS ### +################ + +# See https://wiki.hyprland.org/Configuring/Monitors/ + +# All screens +monitorv2 { + output = + mode = preferred + position = auto-up + scale = auto +} + +# Laptop screen +monitorv2 { + output = eDP-1 + mode = preferred + position = auto-down + scale = 1 +} diff --git a/config/.config/hypr/config/monitors/mirror.conf b/config/.config/hypr/config/monitors/mirror.conf new file mode 100644 index 0000000..5c095ea --- /dev/null +++ b/config/.config/hypr/config/monitors/mirror.conf @@ -0,0 +1,23 @@ +################ +### MONITORS ### +################ + +# See https://wiki.hyprland.org/Configuring/Monitors/ + +# Laptop screen +monitorv2 { + output = eDP-1 # <- You may need to change that + mode = preferred + position = 0x0 + scale = 1 +} + +# Other monitors (mirror laptop screen) +monitorv2 { + output = * + mode = preferred + position = auto + scale = 1 + mirror = eDP-1 # <- Also don't forget this one +} + diff --git a/config/.config/hypr/hyprlock.conf b/config/.config/hypr/hyprlock.conf index c322c9c..d79c7bc 100644 --- a/config/.config/hypr/hyprlock.conf +++ b/config/.config/hypr/hyprlock.conf @@ -1,12 +1,14 @@ # BACKGROUND background { monitor = - path = ~/.config/hypr/images/lockscreen.jpg - blur_passes = 0 - #contrast = 0.8916 - #brightness = 0.8172 - #vibrancy = 0.1696 - #vibrancy_darkness = 0.0 + path = ~/.config/hypr/images/wallpaper.jpg + blur_passes = 3 + blur_size = 4 + noise = 0.0 + contrast = 0.7 + brightness = 0.8172 + vibrancy = 0.2 + vibrancy_darkness = 0.0 } # GENERAL @@ -26,12 +28,12 @@ input-field { dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 dots_center = true - outer_color = rgba(200, 200, 200, 1) + outer_color = rgba(200, 200, 200, 0.4) inner_color = rgba(100, 114, 125, 1) font_color = rgb(200, 200, 200) fade_on_empty = false font_family = DejaVu Sans - placeholder_text = Enter Pass + placeholder_text = Enter password hide_input = false position = 0, -350 halign = center @@ -41,7 +43,6 @@ input-field { # Time label { monitor = - #text = cmd[update:1000] echo "$(date +"%H:%M")" text = $TIME color = rgba(216, 222, 233, 1) font_size = 130 @@ -49,9 +50,6 @@ label { position = 0, 280 halign = center valign = center - # TODO make shadowing work - #shadow_passes = 10 - #shadow_size = 3 } # Day-Month-Date @@ -83,16 +81,40 @@ label { #} # USER -#label { -# monitor = -# text = Hi, $USER -# color = rgba(216, 222, 233, 0.70) -# font_size = 20 -# font_family = DejaVu Sans -# position = 0, -200 -# halign = center -# valign = center -#} +label { + monitor = + text = $USER + color = rgba(216, 222, 233, 0.70) + font_size = 20 + font_family = JetbrainsMonoNL NF + position = 0, -200 + halign = center + valign = center +} + +# Timer +label { + monitor = + text = cmd[update:0] echo "Locked since $TIME" + color = rgba(216, 222, 233, 0.40) + font_size = 20 + font_family = JetbrainsMonoNL NF + position = 0, -250 + halign = center + valign = center +} + +# # Failed login attempts +# label { +# monitor = +# text = cmd[update:1000] echo "$ATTEMPTS Failed attempts" +# color = rgba(216, 222, 233, 0.40) +# font_size = 20 +# font_family = JetbrainsMonoNL NF +# position = 0, -250 +# halign = center +# valign = center +# } # CURRENT SONG label { @@ -100,7 +122,7 @@ label { text = cmd[update:1000] echo "$(~/.config/hypr/scripts/songdetails.sh)" color = rgba(255, 255, 255, 0.7) font_size = 16 - font_family = DejaVu Sans + font_family = JetbrainsMonoNL NF position = 0, 20 halign = center valign = bottom diff --git a/config/.config/hypr/hyprpaper.conf b/config/.config/hypr/hyprpaper.conf index 52de529..de0333e 100644 --- a/config/.config/hypr/hyprpaper.conf +++ b/config/.config/hypr/hyprpaper.conf @@ -1,2 +1,6 @@ -preload = ~/.config/hypr/images/wallpaper.png -wallpaper = , ~/.config/hypr/images/wallpaper.png +wallpaper { + monitor = + path = ~/.config/hypr/images/wallpaper.jpg +} + +splash = false diff --git a/config/.config/hypr/hyprsunset.conf b/config/.config/hypr/hyprsunset.conf new file mode 100644 index 0000000..1df1c7a --- /dev/null +++ b/config/.config/hypr/hyprsunset.conf @@ -0,0 +1,12 @@ +max-gamma = 150 + +profile { + time = 8:00 + identity = true +} + +profile { + time = 21:00 + temperature = 5500 + gamma = 0.8 +} diff --git a/config/.config/hypr/images/lockscreen.jpg b/config/.config/hypr/images/lockscreen.jpg deleted file mode 100644 index c9c6b41..0000000 Binary files a/config/.config/hypr/images/lockscreen.jpg and /dev/null differ diff --git a/config/.config/hypr/images/wallpaper.jpg b/config/.config/hypr/images/wallpaper.jpg new file mode 100644 index 0000000..4167f89 Binary files /dev/null and b/config/.config/hypr/images/wallpaper.jpg differ diff --git a/config/.config/hypr/images/wallpaper.png b/config/.config/hypr/images/wallpaper.png deleted file mode 100755 index 7b13daf..0000000 Binary files a/config/.config/hypr/images/wallpaper.png and /dev/null differ diff --git a/config/.config/hypr/scripts/autostart.sh b/config/.config/hypr/scripts/autostart.sh index 9c5e18a..29b5c28 100755 --- a/config/.config/hypr/scripts/autostart.sh +++ b/config/.config/hypr/scripts/autostart.sh @@ -5,8 +5,8 @@ # If you want to add your own applications you may rather want to use exec-once in the environment.conf file hyprpaper & -hyprpm reload -nn & -albert & -# mako & +# Enable this if you want to use plugins +# hyprpm reload & +swaync & systemctl --user start hyprpolkitagent & ~/.config/hypr/scripts/restore-waybar.sh diff --git a/config/.config/hypr/scripts/change-kb-layout.sh b/config/.config/hypr/scripts/change-kb-layout.sh index 5509aa7..7261fc5 100755 --- a/config/.config/hypr/scripts/change-kb-layout.sh +++ b/config/.config/hypr/scripts/change-kb-layout.sh @@ -21,13 +21,12 @@ en_to_fr() { } if ! [ -f "${status_file}" ]; then - hyprctl notify 3 3000 0 "Status file missing" hyprctl notify 2 6000 0 "Use Mod + Ctrl + Space to change keyboard layout" - en_to_fr + fr_to_en else if [ $(cat "${status_file}") = "fr" ]; then fr_to_en elif [ $(cat "${status_file}") = "en" ]; then en_to_fr fi -fi \ No newline at end of file +fi diff --git a/config/.config/hypr/scripts/gamemode.sh b/config/.config/hypr/scripts/game-mode.sh similarity index 100% rename from config/.config/hypr/scripts/gamemode.sh rename to config/.config/hypr/scripts/game-mode.sh diff --git a/config/.config/hypr/scripts/reload.sh b/config/.config/hypr/scripts/reload.sh index d323893..c06ebaa 100755 --- a/config/.config/hypr/scripts/reload.sh +++ b/config/.config/hypr/scripts/reload.sh @@ -1,6 +1,6 @@ -killall albert killall hyprpaper killall waybar +killall swaync hyprctl reload diff --git a/config/.config/hypr/scripts/screenshot.sh b/config/.config/hypr/scripts/screenshot.sh index 741ecf2..50efb72 100755 --- a/config/.config/hypr/scripts/screenshot.sh +++ b/config/.config/hypr/scripts/screenshot.sh @@ -1 +1,13 @@ -grim -g "$(slurp)" $HOME/Pictures/Screenshots/$(date +'%F_%T.png') && hyprctl notify 1 2000 0 Screenshot saved! +save_path=$HOME/Pictures/Screenshots/$(date +'%F_%T.png') + +if [ $# -eq 0 ]; then + grim -g "$(slurp)" $save_path && hyprctl notify 1 2000 0 "Screenshot saved!" + +elif [ $# -eq 1 ]; then + + if [[ $1 == "--fullscreen" ]]; then + grim $save_path && hyprctl notify 1 2000 0 Screenshot saved! + fi +fi + +exit 0 diff --git a/config/.config/hypr/scripts/sharp-mode.sh b/config/.config/hypr/scripts/sharp-mode.sh new file mode 100755 index 0000000..0a237ea --- /dev/null +++ b/config/.config/hypr/scripts/sharp-mode.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env sh + +# Disables animations accros the desktop (as well as some other tweaks) +# Similar to game mode but with the goal to enhance productivity +# From Hyprland documentation - https://wiki.hyprland.org/0.41.2/Configuring/Uncommon-tips--tricks/#toggle-animationsbluretc-hotkey + +HYPRSHARPMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') +if [ "$HYPRSHARPMODE" = 1 ] ; then + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + hyprctl notify 1 2000 0 "Enabled Sharp mode" + exit +fi + +hyprctl reload +# ~/.config/hypr/scripts/restore-waybar.sh +hyprctl notify 1 2000 0 "Disabled Sharp mode" diff --git a/config/.config/hypr/status/kb_layout b/config/.config/hypr/status/kb_layout index 717280a..2c4c454 100644 --- a/config/.config/hypr/status/kb_layout +++ b/config/.config/hypr/status/kb_layout @@ -1 +1 @@ -fr \ No newline at end of file +en \ No newline at end of file diff --git a/config/.config/rofi/config.rasi b/config/.config/rofi/config.rasi new file mode 100644 index 0000000..758d270 --- /dev/null +++ b/config/.config/rofi/config.rasi @@ -0,0 +1,17 @@ +@theme "~/.local/share/rofi/themes/boussole.rasi" + +configuration { + + modi: "drun,run"; + display-drun: "Applications"; + display-run: "Run"; + drun-display-format: "{icon} {name}"; + sort: true; + sorting-method: "fzf"; + + /* Icons */ + show-icons: true; + icon-theme: "Papirus"; +} + + diff --git a/config/.config/rofi/wifi/config.rasi b/config/.config/rofi/wifi/config.rasi new file mode 100644 index 0000000..48638cd --- /dev/null +++ b/config/.config/rofi/wifi/config.rasi @@ -0,0 +1,4 @@ +@theme "~/.local/share/rofi/themes/boussole.rasi" + configuration { + terminal: "foot"; + } diff --git a/config/.config/swaync/colors.css b/config/.config/swaync/colors.css new file mode 120000 index 0000000..7f068e1 --- /dev/null +++ b/config/.config/swaync/colors.css @@ -0,0 +1 @@ +../colors/colors.css \ No newline at end of file diff --git a/config/.config/swaync/config.json b/config/.config/swaync/config.json new file mode 100644 index 0000000..2f8b31c --- /dev/null +++ b/config/.config/swaync/config.json @@ -0,0 +1,113 @@ +{ + "$schema": "/etc/xdg/swaync/configSchema.json", + "positionX": "right", + "positionY": "top", + "layer": "overlay", + "control-center-layer": "top", + "layer-shell": true, + "cssPriority": "application", + "control-center-width": 350, + "control-center-margin-top": 2, + "control-center-margin-bottom": 2, + "control-center-margin-right": 2, + "control-center-margin-left": 2, + "notification-2fa-action": true, + "notification-inline-replies": true, + "notification-window-width": 350, + "notification-icon-size": 60, + "notification-body-image-height": 180, + "notification-body-image-width": 180, + "timeout": 4, + "timeout-low": 2, + "timeout-critical": 0, + "fit-to-screen": true, + "keyboard-shortcuts": true, + "image-visibility": "when available", + "transition-time": 200, + "hide-on-clear": false, + "hide-on-action": true, + "script-fail-notify": true, + "widgets": [ + "title", + "notifications", + "mpris", + "volume", + "backlight", + "buttons-grid" + ], + "widget-config": { + "title": { + "text": "Notification Center", + "clear-all-button": true, + "button-text": "󰆴" + }, + "label": { + "max-lines":1, + "text": "Notification Center!" + }, + + "mpris": { + "image-size": 80, + "image-radius": 0 + }, + "volume": { + "label": "󰕾 " + }, + "backlight": { + "label": "󰃟 " + }, + "buttons-grid": { + "actions": [ + { + "label": "󰝟", + "command": "pactl set-sink-mute @DEFAULT_SINK@ toggle", + "type": "toggle" + }, + { + "label": "󰍭", + "command": "pactl set-source-mute @DEFAULT_SOURCE@ toggle", + "type": "toggle" + }, + + { + "label": "", + "command": "rofi-wifi" + }, + { + "label": "", + "command": "rofi-bluetooth" + }, + { + "label":"󰤄", + "command": "swaync-client -d", + "type":"toggle" + }, + + { + "label": "", + "command": "foot hx ~/.config/hypr" + + }, + { + "label": "", + "command": "foot btop" + + }, + { + "label": "", + "command": "hyprlock" + }, + { + "label":"", + "command": "reboot" + }, + { + "label":"", + "command": "shutdown now" + } + + ] + } + } +} + diff --git a/config/.config/swaync/style.css b/config/.config/swaync/style.css new file mode 100644 index 0000000..ddd716b --- /dev/null +++ b/config/.config/swaync/style.css @@ -0,0 +1,486 @@ +@import url('colors.css'); +@define-color control-background alpha(@background_dark, 0.8); + + +* { + all: unset; + font-family: JetBrainsMono Nerd Font Propo; + transition: 0.1s; + font-size: 1.3rem; +} + + +/*--------------- Notifications ---------------*/ + + +.floating-notifications.background .notification-row { + padding: 0.5rem; +} + +.floating-notifications.background .notification-row .notification-background { + border-radius: 0.3rem; + background-color: @background_light; + color: @foreground; + border: 1px solid @border; +} + +.floating-notifications.background + .notification-row + .notification-background + .notification { + padding: 0.6rem; + border-radius: 0.2rem; +} + +.floating-notifications.background + .notification-row + .notification-background + .notification.critical { + border: 1px solid @alert; +} + +.floating-notifications.background + .notification-row + .notification-background + .notification + .notification-content + .summary { + margin: 0.2rem; + color: @foreground; + font-weight: bold; +} + +.floating-notifications.background + .notification-row + .notification-background + .notification + .notification-content + .body { + margin: 0.2rem; + color: @foreground; +} + +.floating-notifications.background + .notification-row + .notification-background + .notification + > *:last-child + > * { + min-height: 3rem; +} + +.floating-notifications.background + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action { + border-radius: 0.2rem; + color: @foreground; + background-color: @background_dark; + border: 1px solid @border; +} + +.floating-notifications.background + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action:hover { + background-color: #26233a; +} + +.floating-notifications.background + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action:active { + background-color: @border; +} + +.floating-notifications.background + .notification-row + .notification-background + .close-button { + margin: 0.2rem; + padding: 0.25rem; + border-radius: 0.2rem; + color: @foreground; + background-color: alpha(@alert, 0); +} + +.floating-notifications.background + .notification-row + .notification-background + .close-button:hover { + /* color: #191724; */ + background-color: @alert; +} + +.floating-notifications.background + .notification-row + .notification-background + .close-button:active { + background-color: @foreground; +} + + +/*--------------- Control center ---------------*/ + +.control-center { + border-radius: .4rem; + background-color: @background_transparent; + color: @foreground; + padding: 1.2rem; + border: 1px solid @border; +} + +.control-center .widget-title { + color: @foreground; + font-weight: bold; +} + +.control-center .widget-title button { + border-radius: 2rem; + color: @foreground; + background-color: @border; + border: 1px solid @border; + padding: .2rem 1.5rem; +} + +.control-center .widget-title button:hover { + background-color: @alert; +} + +.control-center .widget-title button:active { + background-color: @border; +} + +.control-center .notification-row .notification-background { + border-radius: 0.5rem; + margin: 0.5rem; + background-color: @background_light; + color: @foreground; + border: 1px solid @border; +} + +.control-center .notification-row .notification-background .notification { + padding: 0.7rem; + border-radius: 0.2rem; +} + +.control-center + .notification-row + .notification-background + .notification.critical { + border: 1px solid @alert; +} + +.control-center + .notification-row + .notification-background + .notification + .notification-content { + color: @foreground; +} + +.control-center + .notification-row + .notification-background + .notification + .notification-content + .summary { + margin: 0.2rem; + color: @foreground; + font-weight: bold; +} + +.control-center + .notification-row + .notification-background + .notification + .notification-content + .body { + margin: 0.2rem; + color: @foreground; +} + +.control-center + .notification-row + .notification-background + .notification + > *:last-child + > * { + min-height: 3rem; +} + +.control-center + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action { + border-radius: 0.2rem; + color: @foreground; + background-color: #1f1d2e; + border: 1px solid @border; +} + +.control-center + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action:hover { + background-color: @background_light; +} + +.control-center + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action:active { + background-color: @border; +} + +.control-center .notification-row .notification-background .close-button { + margin: 0.5rem; + padding: 0.25rem; + border-radius: 0.2rem; + color: @foreground; + background-color: alpha(@alert, 0); +} + +.control-center .notification-row .notification-background .close-button:hover { + background-color: @alert; +} + +.control-center + .notification-row + .notification-background + .close-button:active { + background-color: @foreground; +} + +progressbar, +progress, +trough { + border-radius: 0.2rem; +} + +.notification.critical progress { + background-color: @alert; +} + + + + +.notification.low progress, +.notification.normal progress { + background-color: #9ccfd8; +} + +trough { + background-color: #1f1d2e; +} + +.control-center trough { + background-color: @border; +} + +.control-center-dnd { + margin: 1rem 0; + border-radius: 0.2rem; +} + +.control-center-dnd slider { + background: #26233a; + border-radius: 0.2rem; +} + +.widget-dnd { + color: #908caa; +} + +.widget-dnd > switch { + border-radius: 0.2rem; + background: #26233a; + border: 1px solid @border; +} + +.widget-dnd > switch:checked slider { + background: #31748f; +} + +.widget-dnd > switch slider { + background: @border; + border-radius: 0.2rem; + margin: 0.25rem; +} + + + + + +/*--------------- Media player ---------------*/ + + +.widget-mpris { +} + +.widget-mpris .widget-mpris-player { + padding: 16px; + margin: 0.5rem; + background-color: @mpris-album-art-overlay; + border-radius: 0.7rem; +} + +.widget-mpris .widget-mpris-player button:hover { + all: unset; + background: @bg-hover; + text-shadow: none; + border-radius: 0.5rem; + border: none; + padding: 5px; + margin: 5px; + transition: all 0.2s ease; +} + +.widget-mpris .widget-mpris-player button { + color:@text; + text-shadow: none; + border-radius: 2rem; + border: none; + padding: 5px; + margin: 5px; + transition: all 0.2s ease; +} + +.widget-mpris .widget-mpris-player button:not(.selected) { + background: transparent; + border: 2px solid transparent; +} + +.widget-mpris .widget-mpris-player button:hover { + border: 2px solid transparent; +} + +.widget-mpris .widget-mpris-player .widget-mpris-album-art { + border-radius: 0.5rem; + box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5); +} + +.widget-mpris .widget-mpris-player .widget-mpris-title { + font-weight: bold; + font-size: 1.25rem; +} + +.widget-mpris .widget-mpris-player .widget-mpris-subtitle { + font-size: 1.1rem; +} + +.widget-mpris .widget-mpris-player > box > button:hover { + background-color: @mpris-button-hover; +} + + + + + +/*--------------- Sliders ---------------*/ + +.widget-volume { + background-color: transparent; + padding: 8px; + /* margin: 8px; */ + margin-bottom: 0.5rem; + border-radius: 12px; +} +.widget-backlight { + background-color: transparent; + padding: 8px; + /* margin: 8px; */ + margin-bottom: 1.5rem; + border-radius: 12px; +} + +trough { + border-radius: 20px; + background: transparent; +} + +trough highlight { + padding: 5px; + background: @active; + border-radius: 20px; + transition: all .2s ease; +} +trough highlight:hover { + padding: 5px; + background: @active; + border-radius: 20px; + transition: all .2s ease; +} + +trough slider { + background: transparent; +} +trough slider:hover { + background: transparent; +} + + + +/*--------------- Buttons grid ---------------*/ + +.widget-buttons-grid { + padding-left: 0.2rem; + padding-right: 0.2rem; + padding-bottom: 0.2rem; + /* margin: 1rem; */ + border-radius: 0.2rem; + background:transparent; +} + +.widget-buttons-grid>flowbox>flowboxchild>button label { + font-size: 20px; + color: @foreground; + transition: all .2s ease; +} +.widget-buttons-grid>flowbox>flowboxchild>button:hover label { + font-size: 20px; + color: @text; + transition: all .2s ease; +} +.widget-buttons-grid > flowbox > flowboxchild > button { + + background: alpha(@border, 0.5); + border-radius: 0.2rem; + padding: 0.7rem 2rem; + margin: 0.2rem; + text-shadow:none; + transition: all .2s ease; +} +.widget-buttons-grid > flowbox > flowboxchild > button:hover { + background: @border; + box-shadow: 0px 0px 2px rgba(0, 0, 0, .2); + transition: all .2s ease; + +} + +.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked { + background: @active; +} +.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked label { + color: @background; +} + + diff --git a/config/.config/waybar/Atlas/config.jsonc b/config/.config/waybar/Atlas/config.jsonc new file mode 100644 index 0000000..4cadb8d --- /dev/null +++ b/config/.config/waybar/Atlas/config.jsonc @@ -0,0 +1,506 @@ +{ + "layer": "top", + "position": "right", + "margin": "1 1 1 2", + "reload_style_on_change": true, + + // Modules display + + "modules-left": [ + //"custom/updates", + "hyprland/workspaces", + "hyprland/submap" + //"group/info", + //"hyprland/window" + ], + + "modules-right": [ + "custom/recorder", + "privacy", + "group/brightness", + "group/sound", + "group/connection", + "tray", + "group/together", + //"group/cnoti", + "group/power" + ], + + + // Modules definition + + // Up + + "hyprland/workspaces": { + "format": "{icon}", + "on-click": "activate", + "all-outputs": true, + "format-icons": { + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "10": "10" + } + }, + "hyprland/submap": { + "format": "󰇘", + "max-length": 8, + "tooltip": true + }, + "group/info": { + "orientation": "inherit", + "drawer": { + "transition-duration": 500, + "transition-left-to-right": false + }, + "modules": [ + "custom/dmark", + "group/gcpu", + "memory", + "disk", + "hyprland/window" + ] + }, + "hyprland/window": { + "orientation": "vertical", + "format":"{class}", + "spearate-outputs": true, + "icon": false + }, + "custom/dmark": { + "format": "", + "tooltip": false + }, + "group/gcpu": { + "orientation": "inherit", + "modules": [ + "custom/cpu-icon", + "custom/cputemp", + "cpu" + ] + }, + "custom/cpu-icon": { + "format": "󰻠", + "tooltip": false + }, + "custom/cputemp": { + "format": "{}", + "exec": "~/.config/waybar/bin/cputemp", + "interval": 10, + "return-type": "json" + }, + "cpu": { + "format": "{usage}󱉸", + "on-click": "foot btop" + }, + "memory": { + "format": "  \n{:2}󱉸" + }, + "disk": { + "interval": 600, + "format": " 󰋊 \n{percentage_used}󱉸", + "path": "/" + }, + + // Bottom + + "custom/recorder": { + "format": "{}", + "interval": "once", + "exec": "echo ''", + "tooltip": "false", + "exec-if": "pgrep 'wl-screenrec'", + "on-click": "recorder", + "signal": 4 + }, + "privacy": { + "orientation": "vertical", + "icon-spacing": 4, + "icon-size": 14, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 24 + } + ] + }, + "group/brightness": { + "orientation": "inherit", + "drawer": { + "transition-duration": 500, + "transition-left-to-right": false + }, + "modules": [ + "backlight" + //"backlight/slider" + ] + }, + "backlight": { + "device": "intel_backlight", + "format": "{icon}", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "on-scroll-down": "brightnessctl s 5%-", + "on-scroll-up": "brightnessctl s +5%", + "tooltip": true, + "tooltip-format": "Brightness: {percent}% ", + "smooth-scrolling-threshold": 1 + }, + "backlight/slider": { + "min": 1, + "max": 100, + "orientation": "vertical", + "device": "intel_backlight" + }, + "group/sound": { + "orientation": "inherit", + "modules": [ + "group/audio", + "custom/notifications" + ] + }, + "group/audio": { + "orientation": "inherit", + "drawer": { + "transition-duration": 500, + "transition-left-to-right": false + }, + "modules": [ + "pulseaudio", + "pulseaudio#mic", + "pulseaudio/slider" + ] + }, + "group/cnoti": { + "orientation": "inherit", + "modules": [ + "custom/github" + ] + }, + "group/connection": { + "orientation": "inherit", + "modules": [ + //"custom/vpn", + "custom/hotspot", + "group/network" + //"group/bluetooth" + ] + }, + "group/together": { + "orientation": "inherit", + "modules": [ + "group/utils", + "clock" + ] + }, + "group/utils": { + "orientation": "inherit", + "drawer": { + "transition-duration": 500, + "transition-left-to-right": true + }, + "modules": [ + "custom/mark", + "custom/weather", + "custom/colorpicker", + "custom/hyprshade", + "idle_inhibitor" + //"custom/hyprkill" + ] + }, + "group/network": { + "orientation": "inherit", + "drawer": { + "transition-duration": 500, + "transition-left-to-right": false + }, + "modules": [ + "network", + "network#speed" + ] + }, + "group/bluetooth": { + "orientation": "inherit", + "drawer": { + "transition-duration": 500, + "transition-left-to-right": true + }, + "modules": [ + "bluetooth", + "bluetooth#status" + ] + }, + "group/battery": { + "orientation":"vertical", + "modules": [ + "battery", + "custom/battery_percentage", + ] + }, + "group/power": { + "orientation": "inherit", + "drawer": { + "transition-duration": 500, + "transition-left-to-right": false + }, + "modules": [ + "group/battery", + "power-profiles-daemon", + ] + }, + "tray": { + "icon-size": 18, + "spacing": 10 + }, + "pulseaudio": { + "format": "{icon}", + "format-bluetooth": "{icon}", + "tooltip-format": "{volume}% {icon} | {desc}", + "format-muted": "󰖁", + "format-icons": { + "headphones": "", + "handsfree": "󱡏", + "headset": "", + "phone": "", + "portable": "", + "car": " ", + "default": [ + "󰕿", + "󰖀", + "󰕾" + ] + }, + "on-click": "volume mute", + //"on-click-middle": "pavucontrol", + "on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+", + "on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ -5%", + "smooth-scrolling-threshold": 1 + }, + "pulseaudio#mic": { + "format": "{format_source}", + "format-source": "󰍬", + "format-source-muted": "󰍭", + "tooltip-format": "{volume}% {format_source} ", + "on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle", + "on-scroll-down": "wpctl set-volume @DEFAULT_SOURCE@ 5%-", + "on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_SOURCE@ 5%+" + }, + "pulseaudio/slider": { + "min": 0, + "max": 100, + "orientation": "vertical" + }, + "network": { + "format": "{icon}", + "format-icons": { + "wifi": [ + "󰤨" + ], + "ethernet": [ + "" + ], + "disconnected": [ + "󰤮" + ] + }, + "format-wifi": "󰤨", + "format-ethernet": "", + "format-disconnected": "󰤮", + "format-linked": "󰈁", + "tooltip": false, + "on-click": "python ~/.local/bin/rofi-wifi", + }, + "network#speed": { + "format": " {bandwidthDownBits} ", + "rotate": 90, + "interval": 5, + "tooltip-format": "{ipaddr}", + "tooltip-format-wifi": "{essid} ({signalStrength}%)  \n{ipaddr} | {frequency} MHz{icon} ", + "tooltip-format-ethernet": "{ifname} 󰈀 \n{ipaddr} | {frequency} MHz{icon} ", + "tooltip-format-disconnected": "Not Connected to any type of Network", + "tooltip": true, + "on-click": "pgrep -x rofi &>/dev/null && notify-send rofi || networkmanager_dmenu" + }, + "bluetooth": { + "format-on": "󰂯", + "format-off": "󰂲", + "format-disabled": "", + "format-connected": "󰂱", + "tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected", + "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", + "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%", + "on-click": "rofi-bluetooth" + }, + "bluetooth#status": { + "format-on": "", + "format-off": "", + "format-disabled": "", + "format-connected": "{num_connections}", + "format-connected-battery": "{device_battery_percentage}%", + "tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected", + "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", + "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%", + "on-click": "rofi-bluetooth -config ~/.config/rofi/menu.d/network.rasi -i" + }, + "battery": { + "rotate": 270, + "states": { + "good": 95, + "warning": 16, + "critical": 8 + }, + "format": "{icon}", + "interval": 1, + "format-charging": "󰂄", + "format-full": "{icon}", + "format-icons": [ + "󰁻", + "󰁼", + "󰁾", + "󰂀", + "󰂂", + "󰁹" + ], + "tooltip-format": "{timeTo} {capacity} % | {power} W" + }, + "custom/battery_percentage": { + "format": "{}", + //"exec": "cat /sys/class/power_supply/BAT*/capacity", + + // Makes battery like if 85% was the maximum capacity (100%). + // Useful for people that limit charge up to a certain percentage but like having real percentage + "exec": "echo $(( $(cat /sys/class/power_supply/BAT*/capacity) * 100 / 85 ))", + "interval": 10, + "tooltip": false + }, + "clock": { + "format": "{:%H\n%M}", + "tooltip-format": "{calendar}", + "calendar": { + "mode": "month", + "mode-mon-col": 3, + "weeks-pos": "right", + "on-scroll": 1, + "on-click-right": "mode", + "on-click": "swaync-client -t", + "format": { + "today": "{}" + } + } + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + + } + }, + "custom/hyprshade": { + "format": "{}", + "tooltip": true, + "signal": 11, + "exec": "toggle-hyprshade status", + "on-click": "toggle-hyprshade", + "return-type": "json" + }, + "custom/weather": { + "format": "{}", + "tooltip": true, + "interval": 3600, + "exec": "wttrbar --custom-indicator '{ICON}\n{temp_C}' --location noida", + "return-type": "json" + }, + "custom/updates": { + "format": "{}", + "interval": 10800, + "exec": "~/.config/waybar/bin/updatecheck", + "return-type": "json", + "exec-if": "exit 0", + "signal": 8 + }, + "custom/vpn": { + "format": "{} ", + "exec": "~/.config/waybar/bin/vpn", + "return-type": "json", + "interval": 5 + }, + "custom/hotspot": { + "format": "{} ", + "exec": "~/.config/waybar/bin/hotspot", + "return-type": "json", + "on-click": "hash wihotspot && wihotspot", + "interval": 5 + }, + "custom/mark": { + "format": "", + "tooltip": false + }, + "custom/colorpicker": { + "format": "{}", + "interval": "once", + "on-click": "hyprpicker", + "signal": 1 + }, + "custom/hyprkill": { + "format": "{}", + "interval": "once", + "exec": "echo '󰱝\nKill clients using hyrpctl kill'", + "on-click": "sleep 1 && hyprctl kill" + }, + "custom/notifications": { + "format": "{} ", + "exec": "noti-cycle -j", + "on-click": "noti-cycle", + "on-click-right": "noti-cycle rofi", + "return-type": "json", + "interval": "once", + "signal": 2 + }, + "custom/github": { + "format": "{}", + "return-type": "json", + "interval": 3600, + "signal": 9, + "exec": "$HOME/.config/waybar/bin/github.sh", + "on-click": "xdg-open https://github.com/notifications;pkill -RTMIN+9 waybar" + }, + "idle_inhibitor": { + "format": "{icon}", + "tooltip-format-activated": "Idle Inhibitor is active", + "tooltip-format-deactivated": "Idle Inhibitor is not active", + "format-icons": { + "activated": "󰅶", + "deactivated": "󰾪" + } + } +} diff --git a/config/.config/waybar/Atlas/style.css b/config/.config/waybar/Atlas/style.css new file mode 100644 index 0000000..93653d9 --- /dev/null +++ b/config/.config/waybar/Atlas/style.css @@ -0,0 +1,305 @@ +@import "colors.css"; +@define-color active @foreground; + +* { + font-size: 17px; + font-family: "JetBrainsMono Nerd Font Propo"; + min-width: 8px; + min-height: 0px; + border: none; + border-radius: 0; + box-shadow: none; + text-shadow: none; + padding: 0px; + +} + +window#waybar { + transition-property: background-color; + transition-duration: 0.5s; + border-radius: 4px; + border: 1px solid alpha(@active, 0.2); + background: @background; + background: alpha(@background, 0.8); + color: @foreground; +} + +menu, +tooltip { + border-radius: 2px; + padding: 2px; + border: 1px solid @active; + background: @background; + + color: @foreground; +} + +menu label, +tooltip label { + font-size: 14px; + color: @foreground; +} + +#submap, +#tray>.needs-attention { + animation-name: blink-active; + animation-duration: 1s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +.modules-right { + margin: 0px 6px 4px 6px; + border-radius: 4px; + background: alpha(@background, 0); + color: @foreground; +} + +.modules-left { + transition-property: background-color; + transition-duration: 0.5s; + margin: 6px 5px 6px 5px; /* Testing with 5 pixels on left/right */ + border-radius: 4px; + background: alpha(@background, 0.5); + color: @foreground; + border: 1px solid alpha(@active, 0.1); +} + +#gcpu, +#custom-github, +#memory, +#disk, +#together, +#submap, +#custom-weather, +#custom-recorder, +#connection, +#cnoti, +#brightness, +#power, +#custom-updates, +#tray, +/*#audio,*/ /* Duplicate with #sound */ +#sound, +#privacy { /*Controls all the right modules for some reason*/ + border-radius: 0.15em; + margin: 2px 1px 3px 1px; + background: alpha(darker(@active), 0.25); + border: 1px solid alpha(darker(@active), 0.0); +} + +/* Override specific parameters*/ + +#brightness, +#sound { + padding: 1px 0px; +} + +#custom-notifications { + padding-left: 4px; +} + +#custom-hotspot, +#custom-github, +#custom-notifications { + font-size: 14px; +} + +#custom-vpn, +#custom-hotspot { + background: alpha(darker(@active), 0.3); +} + +#privacy-item { + padding: 6px 0px 6px 6px; +} + +#gcpu { + padding: 8px 0px 8px 0px; +} + +#custom-cpu-icon { + font-size: 25px; +} + +#custom-cputemp, +#disk, +#memory, +#cpu { + font-size: 14px; + font-weight: bold; +} + +#custom-github { + padding-top: 2px; +} + +#custom-dmark { + color: alpha(@foreground, 0.3); +} + +#submap { + margin-bottom: 0px; +} + +#workspaces { + margin: 0px 2px; + padding: 2px 0px; + border-radius: 8px; +} + +#workspaces button { + transition-property: background-color; + transition-duration: 0.1s; + color: @foreground; + background: transparent; + border-radius: 4px; + color: alpha(@foreground, 0.3); + padding: 2px 0px; +} + +#workspaces button.urgent { + font-weight: bold; + color: @foreground; +} + +#workspaces button.active { + padding: 2px 0px; + background: alpha(@active, 0.4); + color: @foreground; + border-radius: 2px; +} + +#network.wifi { + margin: 2px; +} + +#network.disconnected { + margin: 2px; +} + +#network.ethernet { + margin: 2px; +} + +#submap { + min-width: 0px; + margin: 4px 6px 4px 6px; +} + +#custom-weather, +#tray { + padding: 4px 0px 4px 0px; +} + +#bluetooth { + padding-top: 2px; +} + +#group-battery { + /* border-radius: 8px; */ + /* padding: 4px 0px; */ + margin: 4px 2px 4px 2px; +} + +#battery { + font-size: 1.5rem; + border-radius: 3px; + padding: 4px 0px; + margin: 0 0px; +} + +#battery.charging { + color: @charging; +} + +#battery.discharging.warning { + background-color: #cf9022; + /*animation-name: blink-yellow; + animation-duration: 1s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; */ +} + +#battery.discharging.critical { + background-color: #c64d4f; + /*animation-name: blink-red; + animation-duration: 1s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate;*/ +} + +#custom-battery_percentage { + font-size: 1.1rem; + border-radius: 100px; + /* padding: 0 2px; */ + margin: 1px 0; + /* margin: 4px 2px 4px 2px; */ +} + +#clock { + font-weight: bold; + padding: 4px 2px 2px 2px; +} + +#pulseaudio.mic { + border-radius: 4px; + color: @foreground; + padding-left: 2px; +} + +#backlight-slider slider, +#pulseaudio-slider slider { + background-color: transparent; + box-shadow: none; +} + +#backlight-slider trough, +#pulseaudio-slider trough { + margin-top: 4px; + min-width: 6px; + min-height: 60px; + border-radius: 8px; + background-color: alpha(@background, 0.6); +} + +#backlight-slider highlight, +#pulseaudio-slider highlight { + border-radius: 8px; + background-color: @foreground; +} + +#bluetooth.discoverable, +#bluetooth.discovering, +#bluetooth.pairable { + border-radius: 8px; + animation-name: blink-active; + animation-duration: 1s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +@keyframes blink-active { + to { + background-color: @active; + color: @foreground; + } +} + +@keyframes blink-red { + to { + background-color: #c64d4f; + color: @foreground; + } +} + +@keyframes blink-yellow { + to { + background-color: #cf9022; + color: @foreground; + } +} diff --git a/config/.config/waybar/Atlas/style_minimal.css b/config/.config/waybar/Atlas/style_minimal.css new file mode 100644 index 0000000..8c01bc1 --- /dev/null +++ b/config/.config/waybar/Atlas/style_minimal.css @@ -0,0 +1,292 @@ +@import "colors.css"; +@define-color active @accentColor; + +* { + font-size: 16px; + font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF"; + min-width: 8px; + min-height: 0px; + border: none; + border-radius: 0; + box-shadow: none; + text-shadow: none; + padding: 0px; + +} + +window#waybar { + transition-property: background-color; + transition-duration: 0.5s; + border-radius: 4px; + border: 1px solid alpha(@active, 0.2); + background: @background; + background: alpha(@background, 0.7); + color: lighter(@active); +} + +menu, +tooltip { + border-radius: 2px; + padding: 2px; + border: 1px solid @active; + background: @background; + + color: lighter(@active); +} + +menu label, +tooltip label { + font-size: 14px; + color: lighter(@active); +} + +#submap, +#tray>.needs-attention { + animation-name: blink-active; + animation-duration: 1s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +.modules-right { + margin: 0px 6px 4px 6px; + border-radius: 4px; + background: alpha(@background, 0); + color: lighter(@active); +} + +.modules-left { + transition-property: background-color; + transition-duration: 0.5s; + margin: 6px 5px 6px 5px; /* Testing with 5 pixels on left/right */ + border-radius: 4px; + background: alpha(@background, 0.0); + color: lighter(@active); + border: 1px solid alpha(@active, 0.0); +} + +#gcpu, +#custom-github, +#memory, +#disk, +#together, +#submap, +#custom-weather, +#custom-recorder, +#connection, +#cnoti, +#brightness, +#power, +#custom-updates, +#tray, +/*#audio,*/ /* Duplicate with #sound */ +#sound, +#privacy { /*Controls all the right modules for some reason*/ + border-radius: 2px; + margin: 2px 1px 3px 1px; + background: alpha(darker(@active), 0.0); + border: 1px solid alpha(darker(@active), 0.0); +} + +/* Override specific parameters*/ + +#brightness, +#sound { + padding: 1px 0px; +} + +#custom-notifications { + padding-left: 4px; +} + +#custom-hotspot, +#custom-github, +#custom-notifications { + font-size: 14px; +} + +#custom-hotspot { + padding-right: 2px; +} + +#custom-vpn, +#custom-hotspot { + background: alpha(darker(@active), 0.3); +} + +#privacy-item { + padding: 6px 0px 6px 6px; +} + +#gcpu { + padding: 8px 0px 8px 0px; +} + +#custom-cpu-icon { + font-size: 25px; +} + +#custom-cputemp, +#disk, +#memory, +#cpu { + font-size: 14px; + font-weight: bold; +} + +#custom-github { + padding-top: 2px; + padding-right: 4px; +} + +#custom-dmark { + color: alpha(@foreground, 0.3); +} + +#submap { + margin-bottom: 0px; +} + +#workspaces { + margin: 0px 2px; + padding: 2px 0px; + border-radius: 8px; +} + +#workspaces button { + transition-property: background-color; + transition-duration: 0.1s; + color: @foreground; + background: transparent; + border-radius: 4px; + color: alpha(@foreground, 0.3); + padding: 2px 0px; +} + +#workspaces button.urgent { + font-weight: bold; + color: @foreground; +} + +#workspaces button.active { + padding: 2px 0px; + background: alpha(@active, 0.4); + color: lighter(@active); + border-radius: 2px; +} + +#network.wifi { + padding-right: 5px; + margin: 2px 0px; +} + +#network.disconnected { + padding-right: 5px; + margin: 2px 0px; +} + +#network.ethernet { + padding-right: 3px; + margin: 2px 0px; +} + +#submap { + min-width: 0px; + margin: 4px 6px 4px 6px; +} + +#custom-weather, +#tray { + padding: 4px 0px 4px 0px; +} + +#bluetooth { + padding-top: 2px; +} + +#battery { + border-radius: 8px; + padding: 4px 0px; + margin: 4px 2px 4px 2px; +} + +#battery.discharging.warning { + animation-name: blink-yellow; + animation-duration: 1s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#battery.discharging.critical { + animation-name: blink-red; + animation-duration: 1s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#clock { + font-weight: bold; + padding: 4px 2px 2px 2px; +} + +#pulseaudio.mic { + border-radius: 4px; + color: lighter(@active); + padding-left: 2px; +} + +#backlight-slider slider, +#pulseaudio-slider slider { + background-color: transparent; + box-shadow: none; +} + +#backlight-slider trough, +#pulseaudio-slider trough { + margin-top: 4px; + min-width: 6px; + min-height: 60px; + border-radius: 8px; + background-color: alpha(@background, 0.6); +} + +#backlight-slider highlight, +#pulseaudio-slider highlight { + border-radius: 8px; + background-color: lighter(@active); +} + +#bluetooth.discoverable, +#bluetooth.discovering, +#bluetooth.pairable { + border-radius: 8px; + animation-name: blink-active; + animation-duration: 1s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +@keyframes blink-active { + to { + background-color: @active; + color: @foreground; + } +} + +@keyframes blink-red { + to { + background-color: #c64d4f; + color: @foreground; + } +} + +@keyframes blink-yellow { + to { + background-color: #cf9022; + color: @foreground; + } +} diff --git a/config/.config/waybar/Boussole/config.jsonc b/config/.config/waybar/Boussole/config.jsonc new file mode 100644 index 0000000..b24f6cd --- /dev/null +++ b/config/.config/waybar/Boussole/config.jsonc @@ -0,0 +1,224 @@ +{ + "layer": "top", + "position": "bottom", + "height": 24, + "spacing": 5, + + "modules-left": ["hyprland/workspaces"], + "modules-center": ["clock"], + "modules-right": ["tray", "group/audio", "bluetooth", "group/network_grp", "idle_inhibitor", "group/power" ], + + + "group/network_grp": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "transition-left-to-right": false + }, + "modules": [ + "network", + "network#speed" + ] + }, + + "group/audio": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "transition-left-to-right": false + }, + "modules": [ + "pulseaudio", + "pulseaudio#mic", + "pulseaudio#volume", + ] + }, + + "group/power": { + "orientation": "inherit", + "drawer": { + "transition-duration": 300, + "transition-left-to-right": true + }, + "modules": [ + "battery", + "custom/battery_percentage", + "power-profiles-daemon", + ] + }, + + "hyprland/workspaces": { + "format": "{icon}", + "on-click": "activate", + "format-icons": { + "active": "\uf444", + "default": "\uf4c3" + }, + "icon-size": 10, + "sort-by-number": true, + "persistent-workspaces": { + "1": [], + "2": [], + "3": [], + "4": [], + "5": [], + } + }, + + "clock": { + "format": "{:%d.%m.%Y | %H:%M}" + }, + + //"wireplumber": { + // "format": "\udb81\udd7e {volume}%", + // "max-volume": 100, + // "scroll-step": 5 + //}, + + "pulseaudio": { + "format": "{icon} ", + "format-bluetooth": "{icon}", + "tooltip-format": "{volume}% {icon} | {desc}", + "format-muted": "󰖁", + "format-icons": { + "headphones": "", + "handsfree": "󱡏", + "headset": "", + "phone": "", + "portable": "", + "car": " ", + "default": [ + "󰕿", + "󰖀", + "󰕾" + ] + }, + "on-click": "volume mute", + //"on-click-middle": "pavucontrol", + "on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+", + "on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ -5%", + "smooth-scrolling-threshold": 1 + }, + "pulseaudio#volume": { + "format": " {volume}% " + }, + // TODO missing + "pulseaudio#mic": { + "format": "{format_source}", + "format-source": "󰍬", + "format-source-muted": "󰍭", + "tooltip-format": "{volume}% {format_source} ", + "on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle", + "on-scroll-down": "wpctl set-volume @DEFAULT_SOURCE@ 5%-", + "on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_SOURCE@ 5%+" + }, + +// "battery": { +// "bat": "BAT1", +// "interval": 60, +// "format": "{icon} {capacity}%", +// "format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"], +// }, + "battery": { + "rotate": 270, + "states": { + "good": 95, + "warning": 16, + "critical": 8 + }, + "format": "{icon}", + "interval": 1, + "format-charging": "󰂄", + "format-full": "{icon}", + "format-icons": [ + "󰁻", + "󰁼", + "󰁾", + "󰂀", + "󰂂", + "󰁹" + ], + "tooltip-format": "{timeTo} {capacity} % | {power} W" + }, + "custom/battery_percentage": { + "format": "{}", + //"exec": "cat /sys/class/power_supply/BAT*/capacity", + + // Makes battery like if 85% was the maximum capacity (100%). + // Useful for people that limit charge up to a certain percentage but like having real percentage + "exec": "echo $(( $(cat /sys/class/power_supply/BAT*/capacity) * 100 / 85 ))%", + "interval": 10, + "tooltip": false + }, + + + "memory": { + "interval": 30, + "format": "\uf4bc {used:0.1f}G" + }, + + "temperature": { + "format": "{temperatureC}°C" + }, + + "network": { + "format": "", + "format-ethernet": "\udb83\udc9d", + "format-wifi": "{icon}", + "format-disconnected": "\udb83\udc9c", + "format-icons": ["\udb82\udd2f", "\udb82\udd1f", "\udb82\udd22", "\udb82\udd25", "\udb82\udd28"], + "tooltip-format-wifi": "{essid} ({signalStrength}%)", + "tooltip-format-ethernet": "{ifname}", + "tooltip-format-disconnected": "Disconnected", + "on-click": "python ~/.local/bin/rofi-wifi", + }, + "network#speed": { + "format": "{bandwidthDownBits}", + "interval": 5, + "tooltip-format": "{ipaddr}", + "tooltip-format-wifi": "{essid} ({signalStrength}%)  \n{ipaddr} | {frequency} MHz{icon} ", + "tooltip-format-ethernet": "{ifname} 󰈀 \n{ipaddr} | {frequency} MHz{icon}", + "tooltip-format-disconnected": "Disconnected", + "tooltip": true + }, + + "bluetooth": { + "format": "\udb80\udcaf", + "format-disabled": "\udb80\udcb2", + "format-connected": "\udb80\udcb1", + "tooltip-format": "{controller_alias}\t{controller_address}", + "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", + "on-click": "rofi-bluetooth" + }, + + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + + } + }, + + "hyprland/language": { + "format": "{short}" + }, + + "tray": { + "icon-size": 16, + "spacing": 16 + }, + + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "\udb80\udd76", + "deactivated": "\udb83\udfaa" + } + } +} diff --git a/config/.config/waybar/Boussole/style.css b/config/.config/waybar/Boussole/style.css new file mode 100644 index 0000000..ed52bfa --- /dev/null +++ b/config/.config/waybar/Boussole/style.css @@ -0,0 +1,60 @@ +@define-color foreground #eeeeee; +@define-color foreground-inactive #aaaaaa; +@define-color background #000000; + +* { + font-family: JetBrainsMono Nerd Font Propo; + font-size: 17px; + padding: 0; + margin: 0; +} + +#waybar { + color: @foreground; + background-color: @background; +} + +#workspaces button { + color: @foreground; + padding: 0 0.2em; +} + +#workspaces button.empty { + color: @foreground-inactive; +} + +#memory, +#wireplumber, +#audio, +#language, +#network, +#bluetooth + { + padding-right: 1em +} + +#custom-battery_percentage, +#battery { + padding-right: 0.3em +} + +#power-profiles-daemon { + padding-right: 0.7em; + padding-left: 0.4em +} + +#idle_inhibitor { + padding-right: 0.6em +} + +#tray { + padding-right: 1em +} + +#network_grp { + padding: 0em +} + +#pulseaudio.mic { + padding-left: .7em +} diff --git a/config/.config/waybar/colors.css b/config/.config/waybar/colors.css deleted file mode 100644 index 07910df..0000000 --- a/config/.config/waybar/colors.css +++ /dev/null @@ -1,4 +0,0 @@ -@define-color foreground #c5c5c5; -@define-color background #18191c; - -@define-color accentColor #b6c8d3; \ No newline at end of file diff --git a/config/.config/waybar/colors.css b/config/.config/waybar/colors.css new file mode 120000 index 0000000..7f068e1 --- /dev/null +++ b/config/.config/waybar/colors.css @@ -0,0 +1 @@ +../colors/colors.css \ No newline at end of file diff --git a/config/.config/waybar/config.jsonc b/config/.config/waybar/config.jsonc deleted file mode 100644 index 16bfd27..0000000 --- a/config/.config/waybar/config.jsonc +++ /dev/null @@ -1,478 +0,0 @@ -{ - "layer": "top", - "position": "left", - "margin": "1 1 1 1", - "reload_style_on_change": true, - "modules-left": [ - //"custom/updates", - "hyprland/workspaces", - "hyprland/submap" - //"group/info", - //"hyprland/window" - ], - "hyprland/workspaces": { - "format": "{icon}", - "on-click": "activate", - "all-outputs": true, - "format-icons": { - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "10" - } - }, - "hyprland/window": { - "format":"", - "spearate-outputs": true, - "icon": true - - }, - "hyprland/submap": { - "format": "󰇘", - "max-length": 8, - "tooltip": true - }, - "group/info": { - "orientation": "inherit", - "drawer": { - "transition-duration": 500, - "transition-left-to-right": false - }, - "modules": [ - "custom/dmark", - "group/gcpu", - "memory", - "disk" - ] - }, - "custom/dmark": { - "format": "", - "tooltip": false - }, - "group/gcpu": { - "orientation": "inherit", - "modules": [ - "custom/cpu-icon", - "custom/cputemp", - "cpu" - ] - }, - "custom/cpu-icon": { - "format": "󰻠", - "tooltip": false - }, - "custom/cputemp": { - "format": "{}", - "exec": "~/.config/waybar/bin/cputemp", - "interval": 10, - "return-type": "json" - }, - "cpu": { - "format": "{usage}󱉸", - "on-click": "foot btop" - }, - "memory": { - "format": "  \n{:2}󱉸" - }, - "disk": { - "interval": 600, - "format": " 󰋊 \n{percentage_used}󱉸", - "path": "/" - }, - "modules-right": [ - "custom/recorder", - "privacy", - "group/brightness", - "group/sound", - "group/connection", - "tray", - "group/together", - //"group/cnoti", - "group/power" - ], - "custom/recorder": { - "format": "{}", - "interval": "once", - "exec": "echo ''", - "tooltip": "false", - "exec-if": "pgrep 'wl-screenrec'", - "on-click": "recorder", - "signal": 4 - }, - "privacy": { - "orientation": "vertical", - "icon-spacing": 4, - "icon-size": 14, - "transition-duration": 250, - "modules": [ - { - "type": "screenshare", - "tooltip": true, - "tooltip-icon-size": 24 - } - ] - }, - "group/brightness": { - "orientation": "inherit", - "drawer": { - "transition-duration": 500, - "transition-left-to-right": false - }, - "modules": [ - "backlight" - //"backlight/slider" - ] - }, - "backlight": { - "device": "intel_backlight", - "format": "{icon}", - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "on-scroll-down": "brightnessctl s 5%-", - "on-scroll-up": "brightnessctl s +5%", - "tooltip": true, - "tooltip-format": "Brightness: {percent}% ", - "smooth-scrolling-threshold": 1 - }, - "backlight/slider": { - "min": 1, - "max": 100, - "orientation": "vertical", - "device": "intel_backlight" - }, - "group/sound": { - "orientation": "inherit", - "modules": [ - "group/audio", - "custom/notifications" - ] - }, - "group/audio": { - "orientation": "inherit", - "drawer": { - "transition-duration": 500, - "transition-left-to-right": false - }, - "modules": [ - "pulseaudio", - "pulseaudio#mic", - "pulseaudio/slider" - ] - }, - "group/cnoti": { - "orientation": "inherit", - "modules": [ - "custom/github" - ] - }, - "group/connection": { - "orientation": "inherit", - "modules": [ - //"custom/vpn", - "custom/hotspot", - "group/network" - //"group/bluetooth" - ] - }, - "group/together": { - "orientation": "inherit", - "modules": [ - "group/utils", - "clock" - ] - }, - "group/utils": { - "orientation": "inherit", - "drawer": { - "transition-duration": 500, - "transition-left-to-right": true - }, - "modules": [ - "custom/mark", - "custom/weather", - "custom/colorpicker", - "custom/hyprshade", - "idle_inhibitor", - "custom/hyprkill" - ] - }, - "group/network": { - "orientation": "inherit", - "drawer": { - "transition-duration": 500, - "transition-left-to-right": false - }, - "modules": [ - "network", - "network#speed" - ] - }, - "group/bluetooth": { - "orientation": "inherit", - "drawer": { - "transition-duration": 500, - "transition-left-to-right": true - }, - "modules": [ - "bluetooth", - "bluetooth#status" - ] - }, - "group/power": { - "orientation": "inherit", - "drawer": { - "transition-duration": 500, - "transition-left-to-right": false - }, - "modules": [ - "battery", - "power-profiles-daemon" - ] - }, - "tray": { - "icon-size": 18, - "spacing": 10 - }, - "pulseaudio": { - "format": "{icon}", - "format-bluetooth": "{icon}", - "tooltip-format": "{volume}% {icon} | {desc}", - "format-muted": "󰖁", - "format-icons": { - "headphones": "", - "handsfree": "󱡏", - "headset": "", - "phone": "", - "portable": "", - "car": " ", - "default": [ - "󰕿", - "󰖀", - "󰕾" - ] - }, - "on-click": "volume mute", - //"on-click-middle": "pavucontrol", - "on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+", - "on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ -5%", - "smooth-scrolling-threshold": 1 - }, - "pulseaudio#mic": { - "format": "{format_source}", - "format-source": "󰍬", - "format-source-muted": "󰍭", - "tooltip-format": "{volume}% {format_source} ", - "on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle", - "on-scroll-down": "wpctl set-volume @DEFAULT_SOURCE@ 5%-", - "on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_SOURCE@ 5%+" - }, - "pulseaudio/slider": { - "min": 0, - "max": 100, - "orientation": "vertical" - }, - "network": { - "format": "{icon}", - "format-icons": { - "wifi": [ - "󰤨" - ], - "ethernet": [ - "" - ], - "disconnected": [ - "󰤮" - ] - }, - "format-wifi": "󰤨", - "format-ethernet": "", - "format-disconnected": "󰤮", - "format-linked": "󰈁", - "tooltip": false, - //"on-click": "pgrep -x rofi &>/dev/null && notify-send rofi || networkmanager_dmenu" - "on-click": "kitty nmtui" - }, - "network#speed": { - "format": " {bandwidthDownBits} ", - "rotate": 90, - "interval": 5, - "tooltip-format": "{ipaddr}", - "tooltip-format-wifi": "{essid} ({signalStrength}%)  \n{ipaddr} | {frequency} MHz{icon} ", - "tooltip-format-ethernet": "{ifname} 󰈀 \n{ipaddr} | {frequency} MHz{icon} ", - "tooltip-format-disconnected": "Not Connected to any type of Network", - "tooltip": true, - "on-click": "pgrep -x rofi &>/dev/null && notify-send rofi || networkmanager_dmenu" - }, - "bluetooth": { - "format-on": "󰂯", - "format-off": "󰂲", - "format-disabled": "", - "format-connected": "󰂱", - "tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected", - "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}", - "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", - "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%", - //"on-click": "rofi-bluetooth -config ~/.config/rofi/menu.d/network.rasi -i" - "on-click": "toggle-bluetooth" - }, - "bluetooth#status": { - "format-on": "", - "format-off": "", - "format-disabled": "", - "format-connected": "{num_connections}", - "format-connected-battery": "{device_battery_percentage}%", - "tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected", - "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}", - "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", - "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%", - "on-click": "rofi-bluetooth -config ~/.config/rofi/menu.d/network.rasi -i" - }, - "battery": { - "rotate": 270, - "states": { - "good": 95, - "warning": 16, - "critical": 8 - }, - "format": "{icon}", - "interval": 1, - "format-charging": "{icon} ", - "format-full": "{icon}", - "format-icons": [ - "󰁻", - "󰁼", - "󰁾", - "󰂀", - "󰂂", - "󰁹" - ], - "tooltip-format": "{timeTo} {capacity} % | {power} W" - }, - "clock": { - "format": "{:%H\n%M}", - "tooltip-format": "{calendar}", - "calendar": { - "mode": "month", - "mode-mon-col": 3, - "weeks-pos": "right", - "on-scroll": 1, - "on-click-right": "mode", - "format": { - "today": "{}" - } - } - }, - "power-profiles-daemon": { - "format": "{icon}", - "tooltip-format": "Power profile: {profile}\nDriver: {driver}", - "tooltip": true, - "format-icons": { - "default": "", - "performance": "", - "balanced": "", - "power-saver": "" - - } - }, - "custom/hyprshade": { - "format": "{}", - "tooltip": true, - "signal": 11, - "exec": "toggle-hyprshade status", - "on-click": "toggle-hyprshade", - "return-type": "json" - }, - "custom/weather": { - "format": "{}", - "tooltip": true, - "interval": 3600, - "exec": "wttrbar --custom-indicator '{ICON}\n{temp_C}' --location noida", - "return-type": "json" - }, - "custom/updates": { - "format": "{}", - "interval": 10800, - "exec": "~/.config/waybar/bin/updatecheck", - "return-type": "json", - "exec-if": "exit 0", - "signal": 8 - }, - "custom/vpn": { - "format": "{} ", - "exec": "~/.config/waybar/bin/vpn", - "return-type": "json", - "interval": 5 - }, - "custom/hotspot": { - "format": "{} ", - "exec": "~/.config/waybar/bin/hotspot", - "return-type": "json", - "on-click": "hash wihotspot && wihotspot", - "interval": 5 - }, - "custom/mark": { - "format": "", - "tooltip": false - }, - "custom/colorpicker": { - "format": "{}", - "return-type": "json", - "interval": "once", - "exec": "colorpicker -j", - "on-click": "sleep 1 && colorpicker", - "signal": 1 - }, - "custom/hyprkill": { - "format": "{}", - "interval": "once", - "exec": "echo '󰱝\nKill clients using hyrpctl kill'", - "on-click": "sleep 1 && hyprctl kill" - }, - "custom/notifications": { - "format": "{} ", - "exec": "noti-cycle -j", - "on-click": "noti-cycle", - "on-click-right": "noti-cycle rofi", - "return-type": "json", - "interval": "once", - "signal": 2 - }, - "custom/github": { - "format": "{}", - "return-type": "json", - "interval": 3600, - "signal": 9, - "exec": "$HOME/.config/waybar/bin/github.sh", - "on-click": "xdg-open https://github.com/notifications;pkill -RTMIN+9 waybar" - }, - "idle_inhibitor": { - "format": "{icon}", - "tooltip-format-activated": "Idle Inhibitor is active", - "tooltip-format-deactivated": "Idle Inhibitor is not active", - "format-icons": { - "activated": "󰅶", - "deactivated": "󰾪" - } - } -} diff --git a/config/.config/waybar/config.jsonc b/config/.config/waybar/config.jsonc new file mode 120000 index 0000000..1b9ff12 --- /dev/null +++ b/config/.config/waybar/config.jsonc @@ -0,0 +1 @@ +Boussole/config.jsonc \ No newline at end of file diff --git a/config/.config/waybar/style.css b/config/.config/waybar/style.css deleted file mode 100644 index 08aa44c..0000000 --- a/config/.config/waybar/style.css +++ /dev/null @@ -1,292 +0,0 @@ -@import "colors.css"; -@define-color active @accentColor; - -* { - font-size: 16px; - font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF"; - min-width: 8px; - min-height: 0px; - border: none; - border-radius: 0; - box-shadow: none; - text-shadow: none; - padding: 0px; - -} - -window#waybar { - transition-property: background-color; - transition-duration: 0.5s; - border-radius: 4px; - border: 1px solid alpha(@active, 0.2); - background: @background; - background: alpha(@background, 0.7); - color: lighter(@active); -} - -menu, -tooltip { - border-radius: 2px; - padding: 2px; - border: 1px solid @active; - background: @background; - - color: lighter(@active); -} - -menu label, -tooltip label { - font-size: 14px; - color: lighter(@active); -} - -#submap, -#tray>.needs-attention { - animation-name: blink-active; - animation-duration: 1s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; -} - -.modules-right { - margin: 0px 6px 4px 6px; - border-radius: 4px; - background: alpha(@background, 0); - color: lighter(@active); -} - -.modules-left { - transition-property: background-color; - transition-duration: 0.5s; - margin: 6px 5px 6px 5px; /* Testing with 5 pixels on left/right */ - border-radius: 4px; - background: alpha(@background, 0.5); - color: lighter(@active); - border: 1px solid alpha(@active, 0.1); -} - -#gcpu, -#custom-github, -#memory, -#disk, -#together, -#submap, -#custom-weather, -#custom-recorder, -#connection, -#cnoti, -#brightness, -#power, -#custom-updates, -#tray, -/*#audio,*/ /* Duplicate with #sound */ -#sound, -#privacy { /*Controls all the right modules for some reason*/ - border-radius: 2px; - margin: 2px 1px 3px 1px; - background: alpha(darker(@active), 0.3); - border: 1px solid alpha(darker(@active), 0.2); -} - -/* Override specific parameters*/ - -#brightness, -#sound { - padding: 1px 0px; -} - -#custom-notifications { - padding-left: 4px; -} - -#custom-hotspot, -#custom-github, -#custom-notifications { - font-size: 14px; -} - -#custom-hotspot { - padding-right: 2px; -} - -#custom-vpn, -#custom-hotspot { - background: alpha(darker(@active), 0.3); -} - -#privacy-item { - padding: 6px 0px 6px 6px; -} - -#gcpu { - padding: 8px 0px 8px 0px; -} - -#custom-cpu-icon { - font-size: 25px; -} - -#custom-cputemp, -#disk, -#memory, -#cpu { - font-size: 14px; - font-weight: bold; -} - -#custom-github { - padding-top: 2px; - padding-right: 4px; -} - -#custom-dmark { - color: alpha(@foreground, 0.3); -} - -#submap { - margin-bottom: 0px; -} - -#workspaces { - margin: 0px 2px; - padding: 2px 0px; - border-radius: 8px; -} - -#workspaces button { - transition-property: background-color; - transition-duration: 0.1s; - color: @foreground; - background: transparent; - border-radius: 4px; - color: alpha(@foreground, 0.3); - padding: 2px 0px; -} - -#workspaces button.urgent { - font-weight: bold; - color: @foreground; -} - -#workspaces button.active { - padding: 2px 0px; - background: alpha(@active, 0.4); - color: lighter(@active); - border-radius: 2px; -} - -#network.wifi { - padding-right: 5px; - margin: 2px 0px; -} - -#network.disconnected { - padding-right: 5px; - margin: 2px 0px; -} - -#network.ethernet { - padding-right: 3px; - margin: 2px 0px; -} - -#submap { - min-width: 0px; - margin: 4px 6px 4px 6px; -} - -#custom-weather, -#tray { - padding: 4px 0px 4px 0px; -} - -#bluetooth { - padding-top: 2px; -} - -#battery { - border-radius: 8px; - padding: 4px 0px; - margin: 4px 2px 4px 2px; -} - -#battery.discharging.warning { - animation-name: blink-yellow; - animation-duration: 1s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; -} - -#battery.discharging.critical { - animation-name: blink-red; - animation-duration: 1s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; -} - -#clock { - font-weight: bold; - padding: 4px 2px 2px 2px; -} - -#pulseaudio.mic { - border-radius: 4px; - color: lighter(@active); - padding-left: 2px; -} - -#backlight-slider slider, -#pulseaudio-slider slider { - background-color: transparent; - box-shadow: none; -} - -#backlight-slider trough, -#pulseaudio-slider trough { - margin-top: 4px; - min-width: 6px; - min-height: 60px; - border-radius: 8px; - background-color: alpha(@background, 0.6); -} - -#backlight-slider highlight, -#pulseaudio-slider highlight { - border-radius: 8px; - background-color: lighter(@active); -} - -#bluetooth.discoverable, -#bluetooth.discovering, -#bluetooth.pairable { - border-radius: 8px; - animation-name: blink-active; - animation-duration: 1s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; -} - -@keyframes blink-active { - to { - background-color: @active; - color: @foreground; - } -} - -@keyframes blink-red { - to { - background-color: #c64d4f; - color: @foreground; - } -} - -@keyframes blink-yellow { - to { - background-color: #cf9022; - color: @foreground; - } -} diff --git a/config/.config/waybar/style.css b/config/.config/waybar/style.css new file mode 120000 index 0000000..e7230cf --- /dev/null +++ b/config/.config/waybar/style.css @@ -0,0 +1 @@ +Boussole/style.css \ No newline at end of file diff --git a/config/.local/share/rofi/themes/boussole.rasi b/config/.local/share/rofi/themes/boussole.rasi new file mode 100644 index 0000000..6bb7128 --- /dev/null +++ b/config/.local/share/rofi/themes/boussole.rasi @@ -0,0 +1,101 @@ +/* Boussole theme by Gu://em_*/ +/* Based on work done by */ +/* Newman Sanchez (https://github.com/newmanls) */ + +* { + font: "JetBrainsMono Nerd Font Propo Regular 12"; + + bg0: #0d1117; + bg1: #1a2330; + fg0: #eeffff; + + accent-color: #e64e4e; + urgent-color: #ffcb6b; + + background-color: transparent; + text-color: @fg0; + + margin: 0; + padding: 0; + spacing: 0; +} + +window { + location: center; + width: 600; + + background-color: @bg0; + + /*border-radius: 4px;*/ +} + +inputbar { + spacing: 8px; + padding: 8px; + + background-color: @bg1; + + children: [ prompt, entry ]; +} + +prompt, entry, element-icon, element-text { + vertical-align: 0.5; +} + +prompt { + text-color: @accent-color; +} + +textbox { + padding: 8px; + background-color: @bg1; +} + +listview { + padding: 4px 0; + lines: 8; + columns: 1; + + fixed-height: false; +} + +element { + padding: 8px; + spacing: 8px; +} + +element normal normal { + text-color: @fg0; +} + +element normal urgent { + text-color: @urgent-color; +} + +element normal active { + text-color: @accent-color; +} + +element alternate active { + text-color: @accent-color; +} + +element selected { + text-color: @bg0; +} + +element selected normal, element selected active { + background-color: @accent-color; +} + +element selected urgent { + background-color: @urgent-color; +} + +element-icon { + size: 0.8em; +} + +element-text { + text-color: inherit; +} diff --git a/packages/aur.pkgs b/packages/aur.pkgs index eb1e246..9caabcc 100644 --- a/packages/aur.pkgs +++ b/packages/aur.pkgs @@ -1 +1 @@ -albert \ No newline at end of file + rofi-bluetooth-git diff --git a/packages/cli-dev-tools.pkgs b/packages/cli-dev-tools.pkgs index fd90090..0dd7ecd 100644 --- a/packages/cli-dev-tools.pkgs +++ b/packages/cli-dev-tools.pkgs @@ -4,5 +4,7 @@ fastfetch fzf git gnome-keyring +helix openssh -zoxide \ No newline at end of file +wget +zoxide diff --git a/packages/core.pkgs b/packages/core.pkgs index e7834eb..c95518c 100644 --- a/packages/core.pkgs +++ b/packages/core.pkgs @@ -8,9 +8,10 @@ mandoc man-pages networkmanager os-prober -sudo sof-firmware +stow +sudo ufw vim zram-generator -zsh \ No newline at end of file +zsh diff --git a/packages/desktop.pkgs b/packages/desktop.pkgs index fb0046c..c0aac44 100644 --- a/packages/desktop.pkgs +++ b/packages/desktop.pkgs @@ -1,18 +1,23 @@ -pipewire-jack -pipewire -wireplumber -pipewire-pulse -greetd-tuigreet +foot +grim hypridle hyprland +hyprland-qtutils hyprlock hyprpaper -hyprland-qtutils +hyprpicker hyprpolkitagent -xdg-desktop-portal-hyprland -waybar +hyprsunset +ly +pipewire +pipewire-jack +pipewire-pulse power-profiles-daemon -fnott -kitty -grim -slurp \ No newline at end of file +pulsemixer +rofi +rofimoji +slurp +swaync +waybar +wireplumber +xdg-desktop-portal-hyprland diff --git a/packages/fonts.pkgs b/packages/fonts.pkgs index f0d93cb..7674f62 100644 --- a/packages/fonts.pkgs +++ b/packages/fonts.pkgs @@ -1,4 +1,4 @@ ttf-dejavu ttf-jetbrains-mono-nerd noto-fonts -noto-fonts-emoji \ No newline at end of file +noto-fonts-emoji diff --git a/packages/laptop.pkgs b/packages/laptop.pkgs index bd0e936..32795d2 100644 --- a/packages/laptop.pkgs +++ b/packages/laptop.pkgs @@ -1,3 +1,4 @@ bluez bluez-utils -blueman \ No newline at end of file +blueman +fprintd diff --git a/setup.sh b/setup.sh old mode 100644 new mode 100755 index edef5bd..970f649 --- a/setup.sh +++ b/setup.sh @@ -1,7 +1,8 @@ #!/bin/sh -version="Beta 25.04.04-2" +version="Beta 26.04.27-1" -echo -e "Atlas Desktop Installer - ${version}\n" +echo "Atlas Desktop Installer - ${version}" +echo # Definitions @@ -10,27 +11,31 @@ script_path=$PWD pkgs_path="${script_path}/packages" config_path="${script_path}/config" CPU_vendor=$(lscpu | grep Vendor | awk '{print $NF}') -dotfiles_path="~/.dotfiles" +dotfiles_path="$HOME/.dotfiles" ## Functions -function install() { - echo -e "\nDownloading $1 packages...\n" - sudo pacman -Syu --noconfirm --color auto $(cat $pkgs_path/$1.pkgs) - echo -e "\n\nDone\n" +install() { + echo + echo "Downloading $1 packages..." + echo + sudo pacman -Syu --noconfirm --color auto "$(cat "$pkgs_path"/"$1".pkgs)" + printf "\n\nDone\n\n" } -function install_aur() { - echo -e "\nDownloading $1 packages...\n" - paru -Syu --noconfirm --color auto $(cat $pkgs_path/$1.pkgs) - echo -e "\nDone\n" +install_aur() { + echo + echo "Downloading $1 packages..." + echo + paru -Syu --noconfirm --color auto "$(cat "$pkgs_path"/"$1".pkgs)" + printf "\n\nDone\n\n" } # Checks ## Sudo installed -pacman -Q sudo > /dev/null -if [ $? != 0 ]; then + +if ! pacman -Q sudo > /dev/null; then echo "Please install 'sudo' first" exit 1 fi @@ -59,7 +64,7 @@ install desktop install theming ## Vendor specific packages -if [ $CPU_vendor == "Genuine Intel" ]; then +if [ "$CPU_vendor" = "Genuine Intel" ]; then install intel fi @@ -68,7 +73,7 @@ git clone https://aur.archlinux.org/paru.git /tmp/paru && echo "Installing paru" && cd /tmp/paru && makepkg -si -cd $script_path +cd "$script_path" || exit 1 ## AUR packages install_aur aur @@ -76,40 +81,37 @@ install_aur aur # Configuration -echo -e "\n--- Configuration ---\n" +printf "\n--- Configuration ---\n\n" ## Dotfiles echo "Copying configuration files" -cp -r $config_path $dotfiles_path && -cd $dotfiles_path && +cp -r "$config_path" "$dotfiles_path" && +cd "$dotfiles_path" && stow . -cd $script_path - -## Install launcher theme (albert) -sudo ln -s .config/albert/schemes/Seventy\ Eight.qss /usr/share/albert/widgetsboxmodel/themes/ +cd "$script_path" || exit 1 ## Swap (Zram) is_zram_active=$(sudo systemctl is-active systemd-zram-setup@zram0.service) -if [ is_zram_active != "active" ]; then - echo -e "\n========================================" +if [ "$is_zram_active" != "active" ]; then + printf "\n========================================\n" echo "WARNING: you don't have Zram enabled" echo "Since this script is not yet capable of activating zram, you'll have to do it yourself" echo "Please refer to https://wiki.archlinux.org/title/Zram#Using_zram-generator" - echo -e "========================================\n" + printf "========================================\n\n" fi ## Mandatory Access Control (Apparmor) is_aa_active=$(sudo systemctl is-active apparmor.service) -if [ is_aa_active != "active" ]; then - echo -e "\n========================================" +if [ "$is_aa_active" != "active" ]; then + printf "\n========================================\n" echo "WARNING: you don't have AppArmor enabled" echo "Since this script is not yet capable of managing kernel parameters, you'll have to do it yourself" echo "Please refer to https://wiki.archlinux.org/title/AppArmor" - echo -e "========================================\n" + printf "========================================\n\n" fi -## Display manager (Greetd) -sudo systemctl enable greetd +## Display manager (Ly) +sudo systemctl enable ly@tty1.service ## Firewall (UFW) sudo systemctl enable ufw @@ -122,4 +124,4 @@ echo echo "Installation finished" echo "Please check the previous outputs for warnings" echo "You can make final adjustements before rebooting" -echo "- In particular, if you are using a qwerty keyboard, changing input-fr to input-en in ~/.config/hypr/hyprland.conf" \ No newline at end of file +echo "- In particular, if you are using a qwerty keyboard, changing input-fr to input-en in ~/.config/hypr/hyprland.conf"