First commit: Beta 25.04.04
This commit is contained in:
commit
e6b08b867f
43
README.md
Normal file
43
README.md
Normal file
|
@ -0,0 +1,43 @@
|
|||
# Atlas Desktop installer
|
||||
|
||||
This project is an automated installer for the Atlas Desktop.
|
||||
|
||||
## Disclaimer
|
||||
|
||||
### ⚠ This is still a WIP project. 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.
|
||||
|
||||
Also you will very probably miss some software you're used to. I'll strongly recommend you to check the [Additionnal packages](https://hedgedoc.oblic-parallels.fr/s/JSR33pjd_#Additional-packages) section to know about some open source utilities that fit perfectly within the desktop.
|
||||
More generally give a look to the (Quick start guide)[https://hedgedoc.oblic-parallels.fr/s/JSR33pjd_]
|
||||
|
||||
If something doesn't work or behaves anormally don't hesitate to contact me so that it will be fixed for future users.
|
||||
|
||||
|
||||
## Requirements
|
||||
|
||||
You'll just need an already functional (even basic) **Arch Linux** system with `sudo` installed.
|
||||
Setup will take care of configuring AppArmor and Zram if it hasn't been done yet.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
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
|
||||
```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.
|
||||
|
||||
## Future improvements
|
||||
|
||||
- Nvidia cards handling
|
||||
- Cleaner way to enable/disable some packages / configuratuions
|
72
config/.config/albert/config
Normal file
72
config/.config/albert/config
Normal file
|
@ -0,0 +1,72 @@
|
|||
[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
|
108
config/.config/albert/schemes/Seventy Eight.qss
Normal file
108
config/.config/albert/schemes/Seventy Eight.qss
Normal file
|
@ -0,0 +1,108 @@
|
|||
/*
|
||||
* original author: Manuel Schneider <https://github.com/ManuelSchneid3r>
|
||||
* 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;
|
||||
}
|
1
config/.config/codium-flags.conf
Normal file
1
config/.config/codium-flags.conf
Normal file
|
@ -0,0 +1 @@
|
|||
--enable-features=UseOzonePlatform --ozone-platform=wayland
|
|
@ -0,0 +1,5 @@
|
|||
Some((
|
||||
red: 0.93333334,
|
||||
green: 0.4235294,
|
||||
blue: 0.30196077,
|
||||
))
|
|
@ -0,0 +1 @@
|
|||
3
|
|
@ -0,0 +1,6 @@
|
|||
Some((
|
||||
red: 0.11518643,
|
||||
green: 0.14849715,
|
||||
blue: 0.20401502,
|
||||
alpha: 1.0,
|
||||
))
|
|
@ -0,0 +1,8 @@
|
|||
(
|
||||
radius_0: (0.0, 0.0, 0.0, 0.0),
|
||||
radius_xs: (4.0, 4.0, 4.0, 4.0),
|
||||
radius_s: (8.0, 8.0, 8.0, 8.0),
|
||||
radius_m: (16.0, 16.0, 16.0, 16.0),
|
||||
radius_l: (32.0, 32.0, 32.0, 32.0),
|
||||
radius_xl: (160.0, 160.0, 160.0, 160.0),
|
||||
)
|
|
@ -0,0 +1 @@
|
|||
(0, 8)
|
|
@ -0,0 +1,12 @@
|
|||
(
|
||||
space_none: 0,
|
||||
space_xxxs: 4,
|
||||
space_xxs: 8,
|
||||
space_xs: 12,
|
||||
space_s: 16,
|
||||
space_m: 24,
|
||||
space_l: 32,
|
||||
space_xl: 48,
|
||||
space_xxl: 64,
|
||||
space_xxxl: 128,
|
||||
)
|
|
@ -0,0 +1 @@
|
|||
true
|
1
config/.config/electron-flags.conf
Normal file
1
config/.config/electron-flags.conf
Normal file
|
@ -0,0 +1 @@
|
|||
--enable-features=UseOzonePlatform --ozone-platform=wayland
|
66
config/.config/fnott/fnott.ini
Normal file
66
config/.config/fnott/fnott.ini
Normal file
|
@ -0,0 +1,66 @@
|
|||
# -*- conf -*-
|
||||
|
||||
# For documentation on these options, see `man fnott.ini`
|
||||
|
||||
# Global values
|
||||
# output=<undefined>#
|
||||
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=<i>%a%A</i>
|
||||
|
||||
summary-font=monospace
|
||||
summary-color=ffffffff
|
||||
summary-format=<b>%s</b>\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
|
11
config/.config/gtk-2.0/gtkfilechooser.ini
Normal file
11
config/.config/gtk-2.0/gtkfilechooser.ini
Normal file
|
@ -0,0 +1,11 @@
|
|||
[Filechooser Settings]
|
||||
LocationMode=path-bar
|
||||
ShowHidden=false
|
||||
ShowSizeColumn=true
|
||||
GeometryX=1183
|
||||
GeometryY=269
|
||||
GeometryWidth=537
|
||||
GeometryHeight=542
|
||||
SortColumn=name
|
||||
SortOrder=ascending
|
||||
StartupMode=recent
|
17
config/.config/gtk-3.0/settings.ini
Normal file
17
config/.config/gtk-3.0/settings.ini
Normal file
|
@ -0,0 +1,17 @@
|
|||
[Settings]
|
||||
gtk-theme-name=adw-gtk3-dark
|
||||
gtk-icon-theme-name=Papirus-Dark
|
||||
gtk-font-name=DejaVu Sans 10
|
||||
gtk-cursor-theme-name=VolantesCursors
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintslight
|
||||
gtk-xft-rgba=rgb
|
||||
gtk-application-prefer-dark-theme=1
|
0
config/.config/hypr/application-style.conf
Normal file
0
config/.config/hypr/application-style.conf
Normal file
166
config/.config/hypr/config/appearance.conf
Normal file
166
config/.config/hypr/config/appearance.conf
Normal file
|
@ -0,0 +1,166 @@
|
|||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
|
||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
$active_color = rgba(98C1D9FF)
|
||||
$inactive_color = rgba(595959aa)
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 1
|
||||
gaps_out = 0
|
||||
|
||||
border_size = 1
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
col.active_border = $active_color
|
||||
col.inactive_border = $inactive_color
|
||||
|
||||
# Resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = true
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 2
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
blur {
|
||||
enabled = true
|
||||
size = 6
|
||||
passes = 3
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
# Apply blur to waybar
|
||||
layerrule = blur,waybar
|
||||
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||
animations {
|
||||
enabled = yes, please :)
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
# Bezier curves
|
||||
bezier = easeOutQuint,0.23,1,0.32,1
|
||||
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
||||
bezier = linear,0,0,1,1
|
||||
bezier = almostLinear,0.5,0.5,0.75,1.0
|
||||
bezier = quick,0.15,0,0.1,1
|
||||
|
||||
bezier = easeInOutExpo,0.87,0,0.13,1
|
||||
|
||||
# Animations
|
||||
animation = global, 1, 10, default
|
||||
animation = border, 1, 5.39, easeOutQuint
|
||||
|
||||
animation = windows, 1, 3.79, easeOutQuint
|
||||
animation = windowsIn, 1, 3.1, easeOutQuint, popin 87%
|
||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
||||
|
||||
animation = fadeIn, 1, 1.73, almostLinear
|
||||
animation = fadeOut, 1, 1.46, almostLinear
|
||||
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 = workspaces, 1, 1.94, almostLinear, fade
|
||||
animation = workspacesIn, 1, 3, easeOutQuint, slide
|
||||
animation = workspacesOut, 1, 3, easeOutQuint, slide
|
||||
|
||||
#animation = workspacesIn, 1, 3, easeOutQuint, slidefade
|
||||
#animation = workspacesOut, 1, 5, easeOutQuint, slidefade
|
||||
}
|
||||
|
||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
||||
# workspace = f[1], gapsout:0, gapsin:0
|
||||
# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
|
||||
# windowrulev2 = rounding 0, floating:0, onworkspace:f[1]
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||
disable_splash_rendering = true # Disable default wallpapers rendering
|
||||
vfr = true # Lower sent frames when idle
|
||||
}
|
||||
|
||||
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
# 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:.*
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
|
||||
# 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)$
|
||||
|
||||
# Prism Launcher
|
||||
windowrule=pseudo, class:(org.prismlauncher.PrismLauncher)
|
||||
windowrule=size 65% 70%, class:(org.prismlauncher.PrismLauncher), title:^(Prism Launcher .*)$
|
||||
|
||||
# TODO Automatically fullscreen single apps
|
||||
# - Seems impossible for now (try mixing with workspace rules)
|
||||
|
||||
# Increase gaps for single apps
|
||||
workspace=w[t1], gapsout:2
|
63
config/.config/hypr/config/environment.conf
Normal file
63
config/.config/hypr/config/environment.conf
Normal file
|
@ -0,0 +1,63 @@
|
|||
###################
|
||||
### MY PROGRAMS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
#$fileManager = cosmic-files
|
||||
$fileManager = nautilus
|
||||
$menu = albert toggle
|
||||
$notificationsManager = fnott
|
||||
|
||||
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
#################
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
exec-once = ~/.config/hypr/scripts/autostart.sh
|
||||
# Or execute your favorite apps at launch like this:
|
||||
# exec-once = firefox
|
||||
|
||||
|
||||
#############################
|
||||
### ENVIRONMENT VARIABLES ###
|
||||
#############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||
|
||||
# HyprCursor
|
||||
env = HYPRCURSOR_THEME,VolantesCursors
|
||||
env = XCURSOR_THEME,VolantesCursors
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
# XDG Desktop Portal
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
|
||||
# Experimental
|
||||
|
||||
# GTK
|
||||
# env = GTK_USE_PORTAL,1
|
||||
# env = GDK_SCALE,2 # Xwayland scale
|
||||
# Qt
|
||||
# env = QT_WAYLAND_DISABLE_WINDOWDECORATION,
|
||||
# Firefox
|
||||
# env = MOZ_ENABLE_WAYLAND,1
|
||||
# env = MOZ_USE_XINPUT2,1
|
||||
# WLRoots
|
||||
# env = WLR_NO_HARDWARE_CURSORS,1
|
||||
# env = WLR_RENDERER,vulkan
|
||||
# SDL
|
||||
# env = SDL_VIDEODRIVER,wayland
|
||||
|
||||
# Nvidia
|
||||
|
||||
# GBM backend
|
||||
# env = GBM_BACKEND,nvidia-drm
|
||||
# env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
# Hardware acceleration
|
||||
# env = LIBVA_DRIVER_NAME,nvidia
|
||||
# env = NVD_BACKEND,direct
|
150
config/.config/hypr/config/input-en.conf
Normal file
150
config/.config/hypr/config/input-en.conf
Normal file
|
@ -0,0 +1,150 @@
|
|||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
### English configuration (not finished yet)
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
numlock_by_default = true
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0.1 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
disable_while_typing = false
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
|
||||
# Main desktop controls
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, R, exec, $menu # Omnibar
|
||||
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 SHIFT, M, exit, # Exit desktop session
|
||||
|
||||
# Shortcuts
|
||||
bind = $mainMod, RETURN, exec, $terminal
|
||||
bind = $mainMod, SPACE, exec, $terminal
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bindel = , XF86Launch1, exec, kitty vim ~/.config/hypr/config
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Layout
|
||||
bind = $mainMod, F, fullscreen,
|
||||
bind = $mainMod, V, togglesplit, # Horizontal/vertical split
|
||||
bind = $mainMod, T, togglefloating,
|
||||
bind = $mainMod, H, pseudo, # Toggle pseudo-tiling
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, ampersand, workspace, 1
|
||||
bind = $mainMod, eacute, workspace, 2
|
||||
bind = $mainMod, quotedbl, workspace, 3
|
||||
bind = $mainMod, apostrophe, workspace, 4
|
||||
bind = $mainMod, parenleft, workspace, 5
|
||||
bind = $mainMod, minus, workspace, 6
|
||||
bind = $mainMod, egrave, workspace, 7
|
||||
bind = $mainMod, underscore, workspace, 8
|
||||
bind = $mainMod, ccedilla, workspace, 9
|
||||
bind = $mainMod, agrave, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, ampersand, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, eacute, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, parenleft, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, minus, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, egrave, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, underscore, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, agrave, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Minimize function (uses scratchpad)
|
||||
# For testing, may be removed in future releases
|
||||
bind = $mainMod, N, togglespecialworkspace, magic
|
||||
bind = $mainMod, N, movetoworkspace, +0
|
||||
bind = $mainMod, N, togglespecialworkspace, magic
|
||||
bind = $mainMod, N, movetoworkspace, special:magic
|
||||
bind = $mainMod, N, togglespecialworkspace, magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
|
||||
# Function keys
|
||||
|
||||
## Volume
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
|
||||
## Brightness
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 5%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 5%-
|
||||
bindel = SHIFT, XF86MonBrightnessUp, exec, brightnessctl s 1%+
|
||||
bindel = SHIFT, XF86MonBrightnessDown, exec, brightnessctl s 1%-
|
||||
|
||||
## Player controls
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
## Screenshot
|
||||
bind = , Print, exec, ~/.config/hypr/scripts/screenshot.sh
|
||||
|
||||
## Touchpad toggle
|
||||
### On galaxy books, pressing the disable touchpad key also triggers SUPER and
|
||||
### CONTROL keys, this is why there are present here
|
||||
bind = SUPER CONTROL, XF86TouchpadToggle, exec, ~/.config/hypr/scripts/toggle-touchpad.sh
|
||||
|
||||
## Testing
|
||||
#bind = $mainMod, TAB, overview:toggle, toggle
|
148
config/.config/hypr/config/input.conf
Normal file
148
config/.config/hypr/config/input.conf
Normal file
|
@ -0,0 +1,148 @@
|
|||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = fr
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
numlock_by_default = true
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0.1 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
disable_while_typing = false
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
|
||||
# Main desktop controls
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, R, exec, $menu # Omnibar
|
||||
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 SHIFT, M, exit, # Exit desktop session
|
||||
|
||||
# Shortcuts
|
||||
bind = $mainMod, RETURN, exec, $terminal
|
||||
bind = $mainMod, SPACE, exec, $terminal
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bindel = , XF86Launch1, exec, kitty vim ~/.config/hypr/config
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Layout
|
||||
bind = $mainMod, F, fullscreen,
|
||||
bind = $mainMod, V, togglesplit, # Horizontal/vertical split
|
||||
bind = $mainMod, T, togglefloating,
|
||||
bind = $mainMod, H, pseudo, # Toggle pseudo-tiling
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, ampersand, workspace, 1
|
||||
bind = $mainMod, eacute, workspace, 2
|
||||
bind = $mainMod, quotedbl, workspace, 3
|
||||
bind = $mainMod, apostrophe, workspace, 4
|
||||
bind = $mainMod, parenleft, workspace, 5
|
||||
bind = $mainMod, minus, workspace, 6
|
||||
bind = $mainMod, egrave, workspace, 7
|
||||
bind = $mainMod, underscore, workspace, 8
|
||||
bind = $mainMod, ccedilla, workspace, 9
|
||||
bind = $mainMod, agrave, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, ampersand, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, eacute, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, parenleft, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, minus, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, egrave, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, underscore, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, agrave, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Minimize function (uses scratchpad)
|
||||
# For testing, may be removed in future releases
|
||||
bind = $mainMod, N, togglespecialworkspace, magic
|
||||
bind = $mainMod, N, movetoworkspace, +0
|
||||
bind = $mainMod, N, togglespecialworkspace, magic
|
||||
bind = $mainMod, N, movetoworkspace, special:magic
|
||||
bind = $mainMod, N, togglespecialworkspace, magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
|
||||
# Function keys
|
||||
|
||||
## Volume
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
|
||||
## Brightness
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 5%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 5%-
|
||||
bindel = SHIFT, XF86MonBrightnessUp, exec, brightnessctl s 1%+
|
||||
bindel = SHIFT, XF86MonBrightnessDown, exec, brightnessctl s 1%-
|
||||
|
||||
## Player controls
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
## Screenshot
|
||||
bind = , Print, exec, ~/.config/hypr/scripts/screenshot.sh
|
||||
|
||||
## Touchpad toggle
|
||||
### On galaxy books, pressing the disable touchpad key also triggers SUPER and
|
||||
### CONTROL keys, this is why there are present here
|
||||
bind = SUPER CONTROL, XF86TouchpadToggle, exec, ~/.config/hypr/scripts/toggle-touchpad.sh
|
||||
|
||||
## Testing
|
||||
#bind = $mainMod, TAB, overview:toggle, toggle
|
20
config/.config/hypr/config/minimalist-mod.conf
Normal file
20
config/.config/hypr/config/minimalist-mod.conf
Normal file
|
@ -0,0 +1,20 @@
|
|||
# Mod config file to make the desktop more minimalist
|
||||
|
||||
general {
|
||||
gaps_in = 0
|
||||
gaps_out = 0
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 0
|
||||
|
||||
shadow {
|
||||
enabled = false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = false
|
||||
|
||||
}
|
10
config/.config/hypr/config/monitors.conf
Normal file
10
config/.config/hypr/config/monitors.conf
Normal file
|
@ -0,0 +1,10 @@
|
|||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,preferred,auto,auto
|
||||
monitor=eDP-1,preferred,0x0,1 # Laptop screen
|
||||
monitor=DP-1, preferred, 0x-1080, 1 # HP Home monitor
|
||||
monitor=DP-2, preferred, 0x-1080, 1 # HP Home monitor
|
||||
monitor=HDMI-A-1, preferred, 0x-1440, 1 # Dell monitor
|
7
config/.config/hypr/config/monitors_default.conf
Normal file
7
config/.config/hypr/config/monitors_default.conf
Normal file
|
@ -0,0 +1,7 @@
|
|||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,preferred,auto,auto
|
||||
monitor=eDP-1,preferred,0x0,1 # Laptop screen
|
12
config/.config/hypr/config/plugins.conf
Normal file
12
config/.config/hypr/config/plugins.conf
Normal file
|
@ -0,0 +1,12 @@
|
|||
# Plugins settings
|
||||
|
||||
plugin {
|
||||
overview {
|
||||
# disableGestures = true
|
||||
reverseSwipe = true
|
||||
|
||||
overrideGaps = true
|
||||
gapsIn = 10
|
||||
gapsOut = 20
|
||||
}
|
||||
}
|
14
config/.config/hypr/hyprland.conf
Normal file
14
config/.config/hypr/hyprland.conf
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Config is based on the example Hyprland config file provided on the project's repo.
|
||||
# Refer to the wiki for more information.
|
||||
# https://wiki.hyprland.org/Configuring/
|
||||
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
|
||||
#source = ~/.config/hypr/config/monitors_default.conf
|
||||
source = ~/.config/hypr/config/monitors.conf
|
||||
source = ~/.config/hypr/config/environment.conf
|
||||
source = ~/.config/hypr/config/input.conf
|
||||
source = ~/.config/hypr/config/appearance.conf
|
||||
source = ~/.config/hypr/config/plugins.conf
|
||||
#source = ~/.config/hypr/config/minimalist-mod.conf
|
107
config/.config/hypr/hyprlock.conf
Normal file
107
config/.config/hypr/hyprlock.conf
Normal file
|
@ -0,0 +1,107 @@
|
|||
# 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
|
||||
}
|
||||
|
||||
# GENERAL
|
||||
general {
|
||||
no_fade_in = false
|
||||
grace = 0
|
||||
disable_loading_bar = false
|
||||
no_cursor = true
|
||||
enable_fingerprint = true
|
||||
}
|
||||
|
||||
# INPUT FIELD
|
||||
input-field {
|
||||
monitor =
|
||||
size = 320, 55
|
||||
outline_thickness = -1
|
||||
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, 0.4)
|
||||
inner_color = rgba(100, 114, 125, 0.4)
|
||||
font_color = rgb(200, 200, 200)
|
||||
fade_on_empty = false
|
||||
font_family = DejaVu Sans
|
||||
placeholder_text = <i><span foreground="##ffffff99">Enter Pass</span></i>
|
||||
hide_input = false
|
||||
position = 0, -350
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# Time
|
||||
label {
|
||||
monitor =
|
||||
#text = cmd[update:1000] echo "<span>$(date +"%H:%M")</span>"
|
||||
text = $TIME
|
||||
color = rgba(216, 222, 233, 1)
|
||||
font_size = 130
|
||||
font_family = JetbrainsMonoNL NF Bold
|
||||
position = 0, 280
|
||||
halign = center
|
||||
valign = center
|
||||
# TODO make shadowing work
|
||||
#shadow_passes = 10
|
||||
#shadow_size = 3
|
||||
}
|
||||
|
||||
# Day-Month-Date
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "$(date +"%A, %d %B")"
|
||||
color = rgba(216, 222, 233, 1)
|
||||
font_size = 26
|
||||
font_family = JetbrainsMonoNL NF
|
||||
position = 0, 160
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# Profie-Photo
|
||||
#image {
|
||||
# monitor =
|
||||
# path = ~/.config/hypr/images/profile.png
|
||||
# border_color = 0xffdddddd
|
||||
# border_size = 0
|
||||
# size = 120
|
||||
# rounding = -1
|
||||
# rotate = 0
|
||||
# reload_time = -1
|
||||
# reload_cmd =
|
||||
# position = 0, -100
|
||||
# halign = center
|
||||
# valign = center
|
||||
#}
|
||||
|
||||
# USER
|
||||
#label {
|
||||
# monitor =
|
||||
# text = Hi, Guillem #$USER
|
||||
# color = rgba(216, 222, 233, 0.70)
|
||||
# font_size = 20
|
||||
# font_family = DejaVu Sans
|
||||
# position = 0, -200
|
||||
# halign = center
|
||||
# valign = center
|
||||
#}
|
||||
|
||||
# CURRENT SONG
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(~/.config/hypr/scripts/songdetails.sh)"
|
||||
color = rgba(255, 255, 255, 0.7)
|
||||
font_size = 16
|
||||
font_family = DejaVu Sans
|
||||
position = 0, 20
|
||||
halign = center
|
||||
valign = bottom
|
||||
}
|
2
config/.config/hypr/hyprpaper.conf
Normal file
2
config/.config/hypr/hyprpaper.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
preload = ~/.config/hypr/images/wallpaper.png
|
||||
wallpaper = , ~/.config/hypr/images/wallpaper.png
|
BIN
config/.config/hypr/images/lockscreen.jpg
Normal file
BIN
config/.config/hypr/images/lockscreen.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 275 KiB |
BIN
config/.config/hypr/images/wallpaper.png
Executable file
BIN
config/.config/hypr/images/wallpaper.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 13 MiB |
12
config/.config/hypr/scripts/autostart.sh
Executable file
12
config/.config/hypr/scripts/autostart.sh
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This script is launched on every hyprland startup
|
||||
# Please note that it is intended for desktop related programs ONLY, as it will be called every time you reload the desktop
|
||||
# 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 &
|
||||
systemctl --user start hyprpolkitagent &
|
||||
~/.config/hypr/scripts/restore-waybar.sh
|
22
config/.config/hypr/scripts/gamemode.sh
Executable file
22
config/.config/hypr/scripts/gamemode.sh
Executable file
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# From Hyprland documentation - https://wiki.hyprland.org/0.41.2/Configuring/Uncommon-tips--tricks/#toggle-animationsbluretc-hotkey
|
||||
|
||||
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
||||
if [ "$HYPRGAMEMODE" = 1 ] ; then
|
||||
hyprctl --batch "\
|
||||
keyword animations:enabled 0;\
|
||||
keyword decoration:drop_shadow 0;\
|
||||
keyword decoration:blur:enabled 0;\
|
||||
keyword general:gaps_in 0;\
|
||||
keyword general:gaps_out 0;\
|
||||
keyword general:border_size 1;\
|
||||
keyword decoration:rounding 0"
|
||||
killall waybar
|
||||
hyprctl notify 1 2000 0 "Enabled game mode"
|
||||
exit
|
||||
fi
|
||||
|
||||
hyprctl reload
|
||||
~/.config/hypr/scripts/restore-waybar.sh
|
||||
hyprctl notify 1 2000 0 "Disabled game mode"
|
9
config/.config/hypr/scripts/reload.sh
Executable file
9
config/.config/hypr/scripts/reload.sh
Executable file
|
@ -0,0 +1,9 @@
|
|||
killall albert
|
||||
killall hyprpaper
|
||||
killall waybar
|
||||
|
||||
hyprctl reload
|
||||
|
||||
~/.config/hypr/scripts/autostart.sh
|
||||
|
||||
hyprctl notify 1 2000 0 Desktop reloaded
|
10
config/.config/hypr/scripts/restore-waybar.sh
Executable file
10
config/.config/hypr/scripts/restore-waybar.sh
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Launch waybar depending on the last status
|
||||
waybar_status=~/.config/hypr/status/waybar
|
||||
if [ "$(cat $waybar_status)" == "on" ]; then
|
||||
killall waybar
|
||||
waybar &
|
||||
elif [ "$(cat $waybar_status)" != "off" ]; then
|
||||
hyprctl notify 0 3000 0 Failed to retrieve waybar status
|
||||
fi
|
1
config/.config/hypr/scripts/screenshot.sh
Executable file
1
config/.config/hypr/scripts/screenshot.sh
Executable file
|
@ -0,0 +1 @@
|
|||
grim -g "$(slurp)" $HOME/Pictures/Screenshots/$(date +'%F_%T.png') && hyprctl notify 1 2000 0 Screenshot saved!
|
2
config/.config/hypr/scripts/songdetails.sh
Executable file
2
config/.config/hypr/scripts/songdetails.sh
Executable file
|
@ -0,0 +1,2 @@
|
|||
song_info=$(playerctl metadata --format '{{title}} {{artist}}')
|
||||
echo "$song_info"
|
35
config/.config/hypr/scripts/toggle-touchpad.sh
Executable file
35
config/.config/hypr/scripts/toggle-touchpad.sh
Executable file
|
@ -0,0 +1,35 @@
|
|||
#!/bin/sh
|
||||
|
||||
device=znt0001:00-14e5:650e-touchpad
|
||||
toggle_variable="device[${device}]:enabled"
|
||||
|
||||
hyprctl keyword "${toggle_variable}" true
|
||||
|
||||
status_file="$HOME/.config/hypr/status/touchpad"
|
||||
|
||||
enable_touchpad() {
|
||||
printf "on" > "${status_file}"
|
||||
|
||||
hyprctl notify 1 2000 0 "Enabled touchpad"
|
||||
|
||||
hyprctl keyword "${toggle_variable}" true
|
||||
}
|
||||
|
||||
disable_touchpad() {
|
||||
printf "off" > "${status_file}"
|
||||
|
||||
hyprctl notify 0 2000 0 "Disabled Touchpad"
|
||||
|
||||
hyprctl keyword "${toggle_variable}" false
|
||||
}
|
||||
|
||||
if ! [ -f "${status_file}" ]; then
|
||||
hyprctl notify 3 3000 0 "Status file missing"
|
||||
enable_touchpad
|
||||
else
|
||||
if [ $(cat "${status_file}") = "on" ]; then
|
||||
disable_touchpad
|
||||
elif [ $(cat "${status_file}") = "off" ]; then
|
||||
enable_touchpad
|
||||
fi
|
||||
fi
|
11
config/.config/hypr/scripts/toggle-waybar.sh
Executable file
11
config/.config/hypr/scripts/toggle-waybar.sh
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
pidof waybar # Check if waybar is running
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
# If running, stop it
|
||||
killall waybar & echo "off" > ~/.config/hypr/status/waybar
|
||||
else
|
||||
# Else, run it
|
||||
waybar & echo "on" > ~/.config/hypr/status/waybar
|
||||
fi
|
1
config/.config/hypr/status/waybar
Normal file
1
config/.config/hypr/status/waybar
Normal file
|
@ -0,0 +1 @@
|
|||
on
|
61
config/.config/kitty/github-dark.conf
Normal file
61
config/.config/kitty/github-dark.conf
Normal file
|
@ -0,0 +1,61 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: GitHub Dark
|
||||
## author: GitHub
|
||||
## license: MIT
|
||||
|
||||
#: The basic colors
|
||||
|
||||
foreground #c9d1d9
|
||||
background #0d1117
|
||||
selection_foreground #0d1117
|
||||
selection_background #58a6ff
|
||||
|
||||
|
||||
#: Cursor colors
|
||||
|
||||
cursor #58a6ff
|
||||
|
||||
|
||||
#: Tab bar colors
|
||||
|
||||
tab_bar_background #010409
|
||||
active_tab_foreground #c9d1d9
|
||||
active_tab_background #0d1117
|
||||
inactive_tab_foreground #8b949e
|
||||
inactive_tab_background #010409
|
||||
|
||||
|
||||
#: The basic 16 colors
|
||||
|
||||
#: black
|
||||
color0 #484f58
|
||||
color8 #6e7681
|
||||
|
||||
#: red
|
||||
color1 #ff7b72
|
||||
color9 #ffa198
|
||||
|
||||
#: green
|
||||
color2 #3fb950
|
||||
color10 #56d364
|
||||
|
||||
#: yellow
|
||||
color3 #d29922
|
||||
color11 #e3b341
|
||||
|
||||
#: blue
|
||||
color4 #58a6ff
|
||||
color12 #79c0ff
|
||||
|
||||
#: magenta
|
||||
color5 #bc8cff
|
||||
color13 #d2a8ff
|
||||
|
||||
#: cyan
|
||||
color6 #39c5cf
|
||||
color14 #56d4dd
|
||||
|
||||
#: white
|
||||
color7 #b1bac4
|
||||
color15 #ffffff
|
21
config/.config/kitty/kitty.conf
Normal file
21
config/.config/kitty/kitty.conf
Normal file
|
@ -0,0 +1,21 @@
|
|||
## Fonts
|
||||
font_family family="JetBrainsMonoNL Nerd Font Mono"
|
||||
font_size 13.0
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
|
||||
## Theme
|
||||
|
||||
## GitHub Dark
|
||||
# include github-dark.conf
|
||||
## Seventy Eight
|
||||
include seventy-eight.conf
|
||||
## Blurred background
|
||||
# background_opacity 0.6
|
||||
|
||||
## Decent scrolling speed
|
||||
touch_scroll_multiplier 5.0
|
||||
|
||||
## Annoying bell sound
|
||||
enable_audio_bell no
|
61
config/.config/kitty/seventy-eight.conf
Normal file
61
config/.config/kitty/seventy-eight.conf
Normal file
|
@ -0,0 +1,61 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: 78
|
||||
## author: Gu://em_ (forked from Github Dark)
|
||||
## license: MIT
|
||||
|
||||
#: The basic colors
|
||||
|
||||
foreground #c9d1d9
|
||||
background #0f131a
|
||||
selection_foreground #EE6C4D
|
||||
selection_background #3D5A80
|
||||
|
||||
|
||||
#: Cursor colors
|
||||
|
||||
cursor #E0FBFC
|
||||
|
||||
|
||||
#: Tab bar colors
|
||||
|
||||
tab_bar_background #010409
|
||||
active_tab_foreground #c9d1d9
|
||||
active_tab_background #0d1117
|
||||
inactive_tab_foreground #8b949e
|
||||
inactive_tab_background #010409
|
||||
|
||||
|
||||
#: The basic 16 colors
|
||||
|
||||
#: black
|
||||
color0 #484f58
|
||||
color8 #6e7681
|
||||
|
||||
#: red
|
||||
color1 #EE6C4D
|
||||
color9 #F5877A
|
||||
|
||||
#: green
|
||||
color2 #3fb950
|
||||
color10 #56d364
|
||||
|
||||
#: yellow
|
||||
color3 #d29922
|
||||
color11 #e3b341
|
||||
|
||||
#: blue
|
||||
color4 #58a6ff
|
||||
color12 #79c0ff
|
||||
|
||||
#: magenta
|
||||
color5 #bc8cff
|
||||
color13 #d2a8ff
|
||||
|
||||
#: cyan
|
||||
color6 #39c5cf
|
||||
color14 #56d4dd
|
||||
|
||||
#: white
|
||||
color7 #b1bac4
|
||||
color15 #ffffff
|
4
config/.config/waybar/colors.css
Normal file
4
config/.config/waybar/colors.css
Normal file
|
@ -0,0 +1,4 @@
|
|||
@define-color foreground #c5c5c5;
|
||||
@define-color background #18191c;
|
||||
|
||||
@define-color accentColor #b6c8d3;
|
478
config/.config/waybar/config.jsonc
Normal file
478
config/.config/waybar/config.jsonc
Normal file
|
@ -0,0 +1,478 @@
|
|||
{
|
||||
"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": "<b></b>",
|
||||
"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": "<b>{usage}</b>",
|
||||
"on-click": "foot btop"
|
||||
},
|
||||
"memory": {
|
||||
"format": "<b> \n{:2}</b>"
|
||||
},
|
||||
"disk": {
|
||||
"interval": 600,
|
||||
"format": "<b> \n{percentage_used}</b>",
|
||||
"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": "<b></b>",
|
||||
"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": "<b>{num_connections}</b>",
|
||||
"format-connected-battery": "<small><b>{device_battery_percentage}%</b></small>",
|
||||
"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": "<b>{icon} </b>",
|
||||
"format-full": "<span color='#82A55F'><b>{icon}</b></span>",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"tooltip-format": "{timeTo} {capacity} % | {power} W"
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%H\n%M}",
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"on-click-right": "mode",
|
||||
"format": {
|
||||
"today": "<span color='#a6e3a1'><b><u>{}</u></b></span>"
|
||||
}
|
||||
}
|
||||
},
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "<span color='#B37F34'><small></small></span>",
|
||||
"balanced": "<span><small> </small></span>",
|
||||
"power-saver": "<span color='#a6e3a1'><small></small></span>"
|
||||
|
||||
}
|
||||
},
|
||||
"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<b>{temp_C}</b>' --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": "<b>{}</b> ",
|
||||
"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": ""
|
||||
}
|
||||
}
|
||||
}
|
292
config/.config/waybar/style.css
Normal file
292
config/.config/waybar/style.css
Normal file
|
@ -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.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;
|
||||
}
|
||||
}
|
17
config/.local/bin/codium-patch.sh
Executable file
17
config/.local/bin/codium-patch.sh
Executable file
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ $(whoami) != root ]; then
|
||||
echo "Please run this script as root"
|
||||
echo "-> sudo $0"
|
||||
echo
|
||||
sudo $0
|
||||
exit $?
|
||||
fi
|
||||
|
||||
apps_path=/usr/share/applications
|
||||
|
||||
rm $apps_path/codium.desktop
|
||||
sed -i "s/Name=VSCodium - Wayland/Name=VSCodium/g" $apps_path/codium-wayland.desktop
|
||||
|
||||
echo "- Done"
|
||||
exit 0
|
53
config/.local/bin/set-lockscreen
Executable file
53
config/.local/bin/set-lockscreen
Executable file
|
@ -0,0 +1,53 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Actually just a modified version of the set-wallpaper script, explaining some potential inconsistencies in variables naming or whatever else.
|
||||
|
||||
print_help() {
|
||||
echo "Usage: $0 [input-file]"
|
||||
echo
|
||||
echo "Changes your current lockscreen wallpaper"
|
||||
echo "Please note that this script is made to be used with the Atlas Desktop and will probably not work on most other desktops."
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
print_help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if file exists
|
||||
if [ -e "$1" ]; then
|
||||
|
||||
# Variables declaration
|
||||
wallpaper_config=~/.config/hypr/hyprlock.conf
|
||||
wallpaper_path=~/.config/hypr/images/lockscreen # Doesn't contain file extension
|
||||
file_extension="${1##*.}"
|
||||
|
||||
# In case file has no extension
|
||||
if [ "${file_extension}" == "$1" ]; then
|
||||
echo "Error: please provide a file extension (ex: .jpg, .png...)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Remove old wallpaper
|
||||
rm $wallpaper_path*
|
||||
|
||||
# Copy file
|
||||
cp "$1" "${wallpaper_path}.${file_extension}"
|
||||
if [ $? != 0 ]; then
|
||||
echo "Aborted."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Update config
|
||||
sed -i "s/lockscreen\.[^[:space:]]*/lockscreen.$file_extension/g" $wallpaper_config # Replace current extension by new extension
|
||||
if [ $? != 0 ]; then
|
||||
echo "Aborted."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Done"
|
||||
exit 0
|
||||
else
|
||||
echo "Couldn't find '${1}': No such file or directory"
|
||||
exit 1
|
||||
fi
|
57
config/.local/bin/set-wallpaper
Executable file
57
config/.local/bin/set-wallpaper
Executable file
|
@ -0,0 +1,57 @@
|
|||
#!/bin/sh
|
||||
|
||||
print_help() {
|
||||
echo "Usage: $0 [input-file]"
|
||||
echo
|
||||
echo "Changes your current wallpaper"
|
||||
echo "Please note that this script is made to be used with the Atlas Desktop and will probably not work on most other desktops."
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
print_help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if file exists
|
||||
if [ -e "$1" ]; then
|
||||
|
||||
# Variables declaration
|
||||
wallpaper_config=~/.config/hypr/hyprpaper.conf
|
||||
wallpaper_path=~/.config/hypr/images/wallpaper # Doesn't contain file extension
|
||||
file_extension="${1##*.}"
|
||||
|
||||
# In case file has no extension
|
||||
if [ "${file_extension}" == "$1" ]; then
|
||||
echo "Error: please provide a file extension (ex: .jpg, .png...)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Remove old wallpaper
|
||||
rm $wallpaper_path*
|
||||
|
||||
# Copy file
|
||||
cp "$1" "${wallpaper_path}.${file_extension}"
|
||||
if [ $? != 0 ]; then
|
||||
echo "Aborted."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Update config
|
||||
sed -i "s/wallpaper\.[^[:space:]]*/wallpaper.$file_extension/g" $wallpaper_config # Replace current extension by new extension
|
||||
if [ $? != 0 ]; then
|
||||
echo "Aborted."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Reload Hyprpaper
|
||||
pkill hyprpaper
|
||||
hyprctl dispatch exec hyprpaper > /dev/null # Start hyprpaper and hide stdout output
|
||||
# Or you can do the old fashioned way :
|
||||
# nohup hyprpaper </dev/null >/dev/null 2>&1 &
|
||||
|
||||
echo "Done"
|
||||
exit 0
|
||||
else
|
||||
echo "Couldn't find '${1}': No such file or directory"
|
||||
exit 1
|
||||
fi
|
1720
config/.p10k.zsh
Normal file
1720
config/.p10k.zsh
Normal file
File diff suppressed because it is too large
Load diff
16
config/.vimrc
Normal file
16
config/.vimrc
Normal file
|
@ -0,0 +1,16 @@
|
|||
syntax on
|
||||
filetype plugin indent on
|
||||
|
||||
set autoindent
|
||||
set smartindent
|
||||
set shiftwidth=4
|
||||
set tabstop=4
|
||||
set expandtab
|
||||
set softtabstop=4
|
||||
|
||||
set relativenumber
|
||||
set number
|
||||
|
||||
set showmatch
|
||||
|
||||
set cindent
|
100
config/.zshrc
Normal file
100
config/.zshrc
Normal file
|
@ -0,0 +1,100 @@
|
|||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
fi
|
||||
|
||||
# Set the directory where we want to store zinit and plugins
|
||||
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
|
||||
|
||||
# Download zinit if not present
|
||||
if [ ! -d $ZINIT_HOME ]; then
|
||||
mkdir -p "$(dirname $ZINIT_HOME)"
|
||||
git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
|
||||
fi
|
||||
|
||||
# Load zinit
|
||||
source "${ZINIT_HOME}/zinit.zsh"
|
||||
|
||||
# Add in Powerlevel10k
|
||||
zinit ice depth=1; zinit light romkatv/powerlevel10k
|
||||
|
||||
# Add in zsh plugins
|
||||
zinit light zsh-users/zsh-syntax-highlighting
|
||||
zinit light zsh-users/zsh-completions
|
||||
zinit light zsh-users/zsh-autosuggestions
|
||||
zinit light Aloxaf/fzf-tab
|
||||
|
||||
# Add in snippets (omz plugins)
|
||||
zinit snippet OMZP::git
|
||||
zinit snippet OMZP::archlinux
|
||||
zinit snippet OMZP::sudo
|
||||
#zinit snippet OMZP::command-not-found
|
||||
|
||||
#zinit snippet OMZP::kubectl
|
||||
#zinit snippet OMZP::kubectx
|
||||
|
||||
# Load completions
|
||||
autoload -U compinit && compinit
|
||||
|
||||
zinit cdreplay -q # Optimize cache (recommended by the zinit doc)
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
# Keybindings
|
||||
bindkey -e # Use emacs keybindings
|
||||
bindkey '^p' history-search-backward
|
||||
bindkey '^n' history-search-forward
|
||||
bindkey '^[[3~' delete-char # Makes the delete key work properly
|
||||
bindkey '^[[3;5~' kill-word # Makes the delete key work properly
|
||||
# Missing ctrl+delete
|
||||
bindkey "^[[1;5C" forward-word # Same with M-arrows
|
||||
bindkey "^[[1;5D" backward-word
|
||||
|
||||
# History
|
||||
HISTSIZE=5000
|
||||
HISTFILE=~/.zsh_hist
|
||||
SAVEHIST=$HISTSIZE
|
||||
setopt appendhistory
|
||||
setopt sharehistory
|
||||
setopt hist_ignore_space
|
||||
# The following lines concerns history duplicates
|
||||
# They're disabled as I prefer having a real history of my commands
|
||||
#HISTDUP=erase
|
||||
#setopt hist_ignore_all_dups
|
||||
#setopt hist_ignore_dups
|
||||
#setopt hist_find_no_dups
|
||||
|
||||
# Completions styling
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' # Makes completions case insensitive
|
||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Makes completions colored
|
||||
zstyle ':completion:*' menu no # Hide the default completions menu (replaced by fzf)
|
||||
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
|
||||
setopt correct # 'Did you mean'
|
||||
|
||||
# Environment variables
|
||||
export PATH=$PATH:~/.local/bin
|
||||
|
||||
# Aliases
|
||||
alias cl='clear'
|
||||
alias hyprcfg='vim ~/.config/hypr/'
|
||||
alias zcfg='vim ~/.zshrc'
|
||||
alias icat='kitten icat'
|
||||
# Power management
|
||||
alias power-draw="cat /sys/class/power_supply/BAT1/current_now /sys/class/power_supply/BAT1/voltage_now | xargs | awk '{print \$1*\$2/1e12 \" W\"}\'"
|
||||
alias battery='cat /sys/class/power_supply/BAT1/capacity'
|
||||
# Override some default commands with more practical alternatives
|
||||
alias ls='eza --icons=automatic --tree --level=1 --follow-symlinks --no-quotes'
|
||||
alias lsa='ls -a'
|
||||
alias lsl='eza --icons=automatic --long --header --group -M'
|
||||
alias tree='ls --level=3'
|
||||
# Keep default commands accessible
|
||||
alias lsd='/usr/bin/ls --color'
|
||||
# Random stuff
|
||||
# ...
|
||||
|
||||
# Shell integrations
|
||||
eval "$(fzf --zsh)"
|
||||
eval "$(zoxide init --cmd cd zsh)" # Override cd with zoxide
|
1
packages/aur.pkgs
Normal file
1
packages/aur.pkgs
Normal file
|
@ -0,0 +1 @@
|
|||
albert
|
8
packages/cli-dev-tools.pkgs
Normal file
8
packages/cli-dev-tools.pkgs
Normal file
|
@ -0,0 +1,8 @@
|
|||
base-devel
|
||||
eza
|
||||
fastfetch
|
||||
fzf
|
||||
git
|
||||
gnome-keyring
|
||||
openssh
|
||||
zoxide
|
16
packages/core.pkgs
Normal file
16
packages/core.pkgs
Normal file
|
@ -0,0 +1,16 @@
|
|||
apparmor
|
||||
vim
|
||||
ufw
|
||||
intel-ucode
|
||||
sudo
|
||||
grub
|
||||
efibootmgr
|
||||
os-prober
|
||||
networkmanager
|
||||
iwd
|
||||
mandoc
|
||||
man-pages
|
||||
sof-firmware
|
||||
zsh
|
||||
htop
|
||||
zram-generator
|
16
packages/desktop.pkgs
Normal file
16
packages/desktop.pkgs
Normal file
|
@ -0,0 +1,16 @@
|
|||
pipewire-jack
|
||||
pipewire
|
||||
wireplumber
|
||||
pipewire-pulse
|
||||
greetd-tuigreet
|
||||
hypridle
|
||||
hyprland
|
||||
hyprlock
|
||||
hyprpaper
|
||||
hypr-qtutils
|
||||
hyprpolkitagent
|
||||
xdg-desktop-portal-hyprland
|
||||
waybar
|
||||
power-profiles-daemon
|
||||
fnott
|
||||
kitty
|
4
packages/fonts.pkgs
Normal file
4
packages/fonts.pkgs
Normal file
|
@ -0,0 +1,4 @@
|
|||
ttf-dejavu
|
||||
ttf-jetbrains-mono-nerd
|
||||
noto-fonts
|
||||
noto-fonts-emoji
|
2
packages/intel.pkgs
Normal file
2
packages/intel.pkgs
Normal file
|
@ -0,0 +1,2 @@
|
|||
intel-media-driver
|
||||
intel-ucode
|
5
packages/theming.pkgs
Normal file
5
packages/theming.pkgs
Normal file
|
@ -0,0 +1,5 @@
|
|||
papirus-icon-theme
|
||||
breeze
|
||||
breeze5
|
||||
qt6ct
|
||||
adw-gtk-theme
|
109
setup.sh
Normal file
109
setup.sh
Normal file
|
@ -0,0 +1,109 @@
|
|||
#!/bin/sh
|
||||
version="Beta 25.04.04"
|
||||
|
||||
echo "Atlas Desktop Installer - ${version}\n"
|
||||
|
||||
# Definitions
|
||||
|
||||
## Vars
|
||||
script_path=$PWD
|
||||
pkgs_path="${script_path}/packages"
|
||||
config_path="${script_path}/config"
|
||||
CPU_vendor=$(lscpu | grep Vendor | awk '{print $NF}')
|
||||
dotfiles_path="~/.dotfiles"
|
||||
|
||||
|
||||
## Functions
|
||||
function install() {
|
||||
echo "Downloading $1 packages"
|
||||
# sudo pacman -Syu --noconfirm --color auto $(cat $pkgs_path/$1.pkgs)
|
||||
echo "Done"
|
||||
}
|
||||
function install-aur() {
|
||||
echo "Downloading $1 packages"
|
||||
# paru -Syu --noconfirm $(cat $pkgs_path/$1.pkgs)
|
||||
echo "Done"
|
||||
}
|
||||
|
||||
|
||||
# Checks
|
||||
|
||||
## Sudo installed
|
||||
pacman -Q sudo > /dev/null
|
||||
if [ $? != 0 ]; then
|
||||
echo "Please install 'sudo' first"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
## Scripts presence
|
||||
if [ ! -d $pkgs_path ]; then
|
||||
echo "Couldn't find 'packages' folder inside ${script_path}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d $config_path ]; then
|
||||
echo "Couldn't find 'config' folder inside ${script_path}"
|
||||
exit 1
|
||||
fi
|
||||
# Install packages
|
||||
|
||||
echo "--- Downloading packages ---"
|
||||
|
||||
##
|
||||
install core
|
||||
install cli-dev-tools
|
||||
install fonts
|
||||
install desktop
|
||||
install theming
|
||||
|
||||
## Install vendor specific software
|
||||
if [ $CPU_vendor == "Genuine Intel" ]; then
|
||||
install intel
|
||||
fi
|
||||
|
||||
## Install paru
|
||||
git clone https://aur.archlinux.org/paru.git /tmp/paru &&
|
||||
cd /tmp/paru &&
|
||||
makepkg -si
|
||||
cd $script_path
|
||||
|
||||
install-aur aur
|
||||
|
||||
# Configuration
|
||||
|
||||
## Dotfiles
|
||||
cp $config_path $dotfiles_path &&
|
||||
cd $dotfiles_path &&
|
||||
stow .
|
||||
cd $script_path
|
||||
|
||||
## Swap (Zram)
|
||||
is_zram_active=$(sudo systemctl is-active systemd-zram-setup@zram0.service)
|
||||
if [ is_zram_active != "active" ]; then
|
||||
...
|
||||
fi
|
||||
|
||||
## Mandatory Access Control (Apparmor)
|
||||
is_aa_active=$(sudo systemctl is-active apparmor.service)
|
||||
if [ is_aa_active != "active" ]; then
|
||||
echo "========================================"
|
||||
echo "WARNING: you don't have apparmor enabled"
|
||||
echo "Since this script is not yet capable to handle kernel parameters, you'll have to do it yourself"
|
||||
echo "Please refer to https://wiki.archlinux.org/title/AppArmor"
|
||||
echo "========================================"
|
||||
fi
|
||||
|
||||
## Display manager (Greetd)
|
||||
sudo systemctl enable greetd
|
||||
|
||||
## Firewall (UFW)
|
||||
sudo systemctl enable ufw
|
||||
sudo ufw enable
|
||||
|
||||
# Finish
|
||||
|
||||
fastfetch
|
||||
echo
|
||||
echo "Installation finished"
|
||||
echo "Please check the previous outputs for warnings"
|
||||
echo "You can make final adjustements before rebooting"
|
Loading…
Reference in a new issue