Compare commits

...

16 Commits

Author SHA1 Message Date
73fb2c26b9 fix(gtk4): theming (hopefully) 2026-08-11 12:31:09 +02:00
cc215acf4d feat(waybar): two configs for desktop and laptop 2026-08-07 00:03:57 +02:00
László Párkányi
c186f01cb5 fix(install): bunch of mistakes/typos/updates 2026-08-04 23:24:48 +02:00
László Párkányi
529d081b0a fix(zsh): remove stupid doas 2026-08-04 23:24:29 +02:00
László Párkányi
402838b1e2 fix(nvim): remove broken folding statement 2026-08-04 23:23:25 +02:00
819d0ba9ad feat(uwsm): export env vars 2026-08-04 22:47:02 +02:00
7125760454 chore(hyprland, regreet): comply with (not so) recent changes 2026-05-31 15:16:12 +02:00
László Párkányi
90aa0c5868 fix(nvim): elegant fold configuration 2026-01-06 15:09:17 +01:00
László Párkányi
31c2f6a869 fix(nvim): don't open all folds 2025-11-10 12:47:42 +01:00
László Párkányi
1400211d76 fix(nvim): adapt to new lspconfig (partial) 2025-11-10 12:46:21 +01:00
László Párkányi
10a57a2c6b feat(nvim): tabstop toggle keybind 2025-11-10 12:45:56 +01:00
László Párkányi
d8dd78b3fd fix(install): explicitely install cliphist 2025-11-10 12:42:56 +01:00
László Párkányi
b76f728391 fix(nvim): replaced deprecated nvim-lspconfig 2025-09-22 17:56:43 +02:00
László Párkányi
f8c8b4e7c7 fix(all): lots of things from work 2025-09-17 12:53:56 +02:00
6bd352c596 fix(cliphist): re-implement cliphist for uwsm 2025-09-12 16:37:15 +02:00
ad12011700 feat(hyprland): reconfigure for uwsm + systemd 2025-05-17 02:06:32 +02:00
37 changed files with 578 additions and 420 deletions

12
.gitignore vendored Normal file
View File

@@ -0,0 +1,12 @@
zsh/.zcompdump*
FiraCode.zip
systemd/user/default.target.wants/*
systemd/user/graphical-session.target.wants/*
systemd/user/sockets.target.wants/*
nvim/lazy-lock.json
gtk-4.0/servers
pulse/cookie
kdeconnect
dconf
pavucontrol.ini
waybar/config

View File

@@ -9,15 +9,16 @@ To automatically setup the system, use the script `fedora.sh`, or run trough the
- kitty: `.config/kitty` + `fira_code_mono_nerd_font` installed - kitty: `.config/kitty` + `fira_code_mono_nerd_font` installed
- serif font: install `google-roboto-fonts` (used in gtk, qt, waybar) - serif font: install `google-roboto-fonts` (used in gtk, qt, waybar)
- zsh: `\$ZDOTDIR` set in `/etc/zshenv` + omz install (`sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && mv ~/.oh-my-zsh ~/.local/share/oh-my-zsh && mkdir -p ~/.local/state/zsh/`) + `.config/zsh` + install fzf-tab plugin (git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab/, needs sqlite as dependency) + for some reason `$XDG_STATE_HOME/zsh` needs to be created manually - zsh: `\$ZDOTDIR` set in `/etc/zshenv` + omz install (`sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && mv ~/.oh-my-zsh ~/.local/share/oh-my-zsh && mkdir -p ~/.local/state/zsh/`) + `.config/zsh` + install fzf-tab plugin (git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab/, needs sqlite as dependency) + for some reason `$XDG_STATE_HOME/zsh` needs to be created manually
- hypr*: `.config/hypr,` install `hyprlock`, `hyprsunset`, `hypridle`, - hypr*: `.config/hypr,` install `hyprlock`, `hyprsunset`, `hypridle`, `hyprpolkitagent`. Also enable `hypridle.service`, `hyprsunset.service`, `hyprpolkitagent.service`. Note that the config is set up to be run via uwsm.
- hyprpaper: `.config/hypr` + download from [here](https://www.flickr.com/photos/nasahqphoto/5914101671/in/photostream/) by `curl -o .local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg` (also used for grub & regreet & hyprlock) - hyprpaper: `.config/hypr` + download from [here](https://www.flickr.com/photos/nasahqphoto/5914101671/in/photostream/) by `curl -o .local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg` (also used for grub & regreet & hyprlock). Also enable `hyprpaper.service`
- waybar: `.config/waybar` + install `fontawesome4-fonts` (for icons) - waybar: `.config/waybar` + install `fontawesome4-fonts` (for icons). Also enable `waybar.service`
- rofi: `.config/rofi` - rofi: `.config/rofi`
- rofi-qalc: needs rofi-wayland, rofi-devel, then compile this by hand: https://github.com/svenstaro/rofi-calc - rofi-qalc: needs rofi-wayland, rofi-devel, then compile this by hand: https://github.com/svenstaro/rofi-calc
- regreet (greetd greeter): needs cargo, gtk4-devel, cairo-gobject-devel, pango-devel and greetd; needs the greetd user added to `video` group, then complle this by hand: https://github.com/rharish101/ReGreet.git - regreet (greetd greeter): needs cargo, gtk4-devel, cairo-gobject-devel, pango-devel and greetd; needs the greetd user added to `video` group, then complle this by hand: https://github.com/rharish101/ReGreet.git
Also moves config files to their places, including to `/etc/tmpfiles.d/` Also moves config files to their places, including to `/etc/tmpfiles.d/`.
At login, you'll have to choose the `uwsm-managed` Hyprland
- nvim: `.config/nvim` + kitty done + deps: clang (gcc-c++), unzip, npm, ripgrep, go, then proceed with nvchad init - nvim: `.config/nvim` + kitty done + deps: clang (gcc-c++), unzip, npm, ripgrep, go, then proceed with nvchad init
- swaync: `.config/swaync` - swaync: `.config/swaync`, also enable `swaync.service`
- gtk: `.config/gtk-*`, `dconf load /org/gtk/gtk4 < ./dconf-export/gtk4.dconf` - gtk: `.config/gtk-*`, `dconf load /org/gtk/gtk4 < ./dconf-export/gtk4.dconf`
- MPV: `$XDG_CONFIG_HOME/mpv/` - MPV: `$XDG_CONFIG_HOME/mpv/`
- QT5: `.config/qt6ct/`, `xsettingsd/` - QT5: `.config/qt6ct/`, `xsettingsd/`
@@ -27,7 +28,7 @@ To automatically setup the system, use the script `fedora.sh`, or run trough the
- udev: `/etc/udev/rules.d/` (for setting driver permissions) - udev: `/etc/udev/rules.d/` (for setting driver permissions)
- selinux: `/etc/selinux/config` to stay permissive (why even bother with selinux?) - selinux: `/etc/selinux/config` to stay permissive (why even bother with selinux?)
- firefox(librewolf btw): do your own profile, install [catpuccin theme](https://github.com/catppuccin/firefox) and [darkreader](https://darkreader.org/) - firefox(librewolf btw): do your own profile, install [catpuccin theme](https://github.com/catppuccin/firefox) and [darkreader](https://darkreader.org/)
- gnome tooling (file picker, keyring, etc): `dconf load /org/gnome/desktop/ < ./dconf-export/gnome-desktop.dconf` - gnome tooling (file picker, keyring, etc): `dconf load /org/gnome/desktop/ < ./dconf-export/gnome-desktop.dconf`, for the keyring enable `gnome-keyring.service`
- nautilus (file manager): gtk set up, then `dconf load /org/gnome/nautilus < ./dconf-export/nautilus.dconf` - nautilus (file manager): gtk set up, then `dconf load /org/gnome/nautilus < ./dconf-export/nautilus.dconf`
- gedit (gui text editor): gtk set up, then `dconf load /org/gnome/gedit < ./dconf-export/gedit.dconf` - gedit (gui text editor): gtk set up, then `dconf load /org/gnome/gedit < ./dconf-export/gedit.dconf`

View File

@@ -12,7 +12,10 @@ statusbar-visible=true
[state/window] [state/window]
bottom-panel-size=140 bottom-panel-size=140
height=979
maximized=true
side-panel-active-page='GeditWindowDocumentsPanel' side-panel-active-page='GeditWindowDocumentsPanel'
side-panel-size=200 side-panel-size=200
size=(635, 285) size=(950, 975)
state=43908 state=43908
width=956

View File

@@ -1,7 +1,7 @@
[settings/file-chooser] [settings/file-chooser]
date-format='regular' date-format='regular'
location-mode='path-bar' location-mode='path-bar'
show-hidden=true show-hidden=false
show-size-column=true show-size-column=true
show-type-column=true show-type-column=true
sidebar-width=140 sidebar-width=140

View File

@@ -1,3 +1,6 @@
[compression]
default-compression-format='tar.xz'
[icon-view] [icon-view]
default-zoom-level='small' default-zoom-level='small'
@@ -6,6 +9,8 @@ default-folder-viewer='icon-view'
migrated-gtk-settings=true migrated-gtk-settings=true
search-filter-time-type='last_modified' search-filter-time-type='last_modified'
search-view='list-view' search-view='list-view'
show-create-link=true
show-delete-permanently=true
[window-state] [window-state]
initial-size=(1280, 720) initial-size=(1280, 720)

68
fedora.sh Normal file → Executable file
View File

@@ -11,23 +11,35 @@ replace_config_line () {
fi fi
} }
set_unit () {
systemctl --user enable --now $*
}
ensure_installed () {
for dep in $*; do
if $(dnf list --installed "$dep" 2>&1 | grep -q "$dep") ; then
echo "${dep} already installed"
else
sudo dnf install "$dep" --assumeyes --allowerasing
fi
done
}
# Select install type
type="${1:-desktop}"
replace_config_line "/etc/dnf/dnf.conf" "installonly_limit" "3" replace_config_line "/etc/dnf/dnf.conf" "installonly_limit" "3"
replace_config_line "/etc/dnf/dnf.conf" "best" "False" replace_config_line "/etc/dnf/dnf.conf" "best" "False"
replace_config_line "/etc/dnf/dnf.conf" "skip_unavailable" "True" replace_config_line "/etc/dnf/dnf.conf" "skip_unavailable" "True"
replace_config_line "/etc/dnf/dnf.conf" "fastestmirror" "True" replace_config_line "/etc/dnf/dnf.conf" "fastestmirror" "True"
replace_config_line "/etc/dnf/dnf.conf" "defaultyes" "True" replace_config_line "/etc/dnf/dnf.conf" "defaultyes" "True"
replace_config_line "/etc/dnf/dnf.conf" "keepcache" "True" replace_config_line "/etc/dnf/dnf.conf" "keepcache" "True"
replace_config_line "/etc/dnf/dnf.conf" "max_parallel_downloads" "5" replace_config_line "/etc/dnf/dnf.conf" "max_parallel_downloads" "10"
ensure_installed () {
for dep in !*; do
dnf list --installed "$dep" 2>&1 | grep -q "$dep" || sudo dnf install "$dep" --assumeyes --allowerasing
done
}
# Enable extra repos # Enable extra repos
sudo dnf update sudo dnf update
sudo dnf copr enable solopasha/hyprland sudo dnf copr enable lionheartp/Hyprland
sudo dnf copr enable tofik/sway sudo dnf copr enable tofik/sway
sudo dnf copr enable derisis13/ani-cli sudo dnf copr enable derisis13/ani-cli
sudo dnf copr enable rezso/hdl sudo dnf copr enable rezso/hdl
@@ -43,33 +55,45 @@ printf "You'll need to reboot to have selinux disabled\n"
# set up ZSH # set up ZSH
ensure_installed zsh fzf sqlite3 ensure_installed zsh fzf sqlite3
replace_config_line '/etc/zshenv' 'export ZDOTDIR' '${HOME}/.config/zsh' replace_config_line '/etc/zshenv' 'export ZDOTDIR' '"$XDG_CONFIG_HOME"/zsh'
mkdir -p ~/.local/state/zsh/ mkdir -p ~/.local/state/zsh/
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
mv ~/.oh-my-zsh ~/.local/share/oh-my-zsh/ # TODO: figure out how to contol install location of script above. Maybe reboot/relog after xgd_user_dirs is installed? mv ~/.oh-my-zsh ~/.local/share/oh-my-zsh/ # TODO: figure out how to contol install location of script above. Maybe reboot/relog after xgd_user_dirs is installed?
git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom} git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab
curl -O -fsSL https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/FiraCode.zip && unzip FiraCode.zip *.ttf -d ~/.local/share/fonts/ curl -O -fsSL https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/FiraCode.zip && unzip FiraCode.zip "*.ttf" -d ~/.local/share/fonts/
printf "You'll need to relog to have your default shell changed\n" printf "You'll need to relog to have your default shell changed\n"
# Install background and hyprland stuff # Install background and hyprland stuff
ensure_installed hyprland hyprpaper hypridle hyprlock hyprsunset ensure_installed hyprland hyprpaper hypridle hyprlock hyprsunset
mkdir -p ~/.local/share/backgrounds/ mkdir -p ~/.local/share/backgrounds/
curl -o ~/.local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg" curl -o ~/.local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg"
set_unit hypridle.service hyprpaper.service hyprpolkitagent.service hyprsunset.service
set_unit pipewire.service pipewire-pulse.service
# desktop elements that just work # desktop elements that just work
ensure_installed swaync ensure_installed swaync
ensure_installed waybar fontawesome4-fonts set_unit swaync.service
ensure_installed waybar fontawesome4-fonts pavucontrol powerprofilesctl blueman
if [ "$type" = "laptop" ]; then
cp ~/.config/waybar/config_laptop.json ~/.config/waybar/config
else
cp ~/.config/waybar/config_desktop.json ~/.config/waybar/config
fi
set_unit waybar.service
ensure_installed cliphist
set_unit cliphist.service
# Install ReGreet # Install ReGreet
ensure_installed cargo gtk4-devel cairo-gobject-devel pango-devel greetd ensure_installed cargo gtk4-devel cairo-gobject-devel pango-devel greetd
sudo usermod -a -G video greetd sudo usermod -a -G video greetd
sudo cp -r ~/.config/regreet/greetd /etc/greetd/ sudo cp -r ~/.config/regreet/greetd/* /etc/greetd/
sudo cp ~/.local/share/backgrounds/eKxlw8.jpg /etc/greetd/ sudo cp ~/.local/share/backgrounds/eKxlw8.jpg /etc/greetd/
sudo cp ~/.config/gtk-4.0/gtk.css /etc/greetd/regreet.css sudo cp ~/.config/gtk-4.0/gtk.css /etc/greetd/regreet.css
sudo cp ~/.config/regreet/tmpfiles.conf /etc/tmpfiles.d/regreet.conf sudo cp ~/.config/regreet/tmpfiles.conf /etc/tmpfiles.d/regreet.conf
mkdir -p "~/.local/bin/build_stage/" mkdir -p ~/.local/bin/build_stage/
git clone https://github.com/rharish101/ReGreet.git "~/.local/bin/build_stage/" && git clone https://github.com/rharish101/ReGreet.git ~/.local/bin/build_stage/ReGreet &&
cd ~/.local/bin/build_stage/ReGreet/ && cd ~/.local/bin/build_stage/ReGreet/ &&
cargo build -F gtk4_8 --release && cargo build --release &&
sudo cp ./target/release/regreet /usr/bin/ && sudo cp ./target/release/regreet /usr/bin/ &&
systemctl enable greetd.service systemctl enable greetd.service
cd cd
@@ -87,14 +111,14 @@ sudo plymouth-set-default-theme -R fedora-mac-style && sudo dracut --regenerate-
# install gnome's stuff # install gnome's stuff
ensure_installed gnome-keying nautilus dconf gedit ensure_installed gnome-keying nautilus dconf gedit
dconf load /org/gtk/gtk4 < ~/.config/dconf-export/gtk4.dconf dconf load /org/gtk/gtk4/ < ~/.config/dconf-export/gtk4.dconf
dconf load /org/gnome/desktop < ~/.config/dconf-export/gnome-desktop.dconf dconf load /org/gnome/desktop/ < ~/.config/dconf-export/gnome-desktop.dconf
dconf load /org/gnome/nautilus < ~/.config/dconf-export/nautilus.dconf dconf load /org/gnome/nautilus/ < ~/.config/dconf-export/nautilus.dconf
dconf load /org/gnome/gedit < ~/.config/dconf-export/gedit.dconf dconf load /org/gnome/gedit/ < ~/.config/dconf-export/gedit.dconf
# rofi & rofi-calc (compilation, because why not) # rofi & rofi-calc (compilation, because why not)
ensure_installed rofi-wayland rofi-devel qalculate automake libtool ensure_installed rofi-wayland rofi-devel qalculate meson libtool cairo-devel
git clone https://github.com/svenstaro/rofi-calc "~/.local/bin/build_stage/" && cd "~/.local/bin/build_stage/rofi-calc" && mkdir m4 && autoreconf -i && mkdir build && cd build && ../configure && make && sudo make install git clone https://github.com/svenstaro/rofi-calc ~/.local/bin/build_stage/rofi-calc && cd ~/.local/bin/build_stage/rofi-calc && meson setup build && meson compile -C build && sudo meson install
cd cd
# kdeconnect # kdeconnect

View File

@@ -1,8 +1,8 @@
[Settings] [Settings]
gtk-theme-name=adw-gtk3-dark gtk-theme-name=adw-gtk3-dark
gtk-icon-theme-name=Pop gtk-icon-theme-name=Adwaita
gtk-font-name=Roboto 11 gtk-font-name=Roboto 11
gtk-cursor-theme-name=Adwaita gtk-cursor-theme-name=default
gtk-cursor-theme-size=24 gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_ICONS gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR

1
gtk-4.0/gtk-dark.css Symbolic link
View File

@@ -0,0 +1 @@
/usr/share/themes/adw-gtk3-dark/gtk-4.0/gtk-dark.css

7
gtk-4.0/settings.ini Executable file → Normal file
View File

@@ -1,4 +1,7 @@
[Settings] [Settings]
gtk-application-prefer-dark-theme=0 gtk-theme-name=adw-gtk3-dark
gtk-icon-theme-name=Adwaita
gtk-font-name=Roboto 11
gtk-cursor-theme-name=default
gtk-cursor-theme-size=24 gtk-cursor-theme-size=24
property gtk-cursor-theme-name=Adwaita gtk-application-prefer-dark-theme=1

View File

@@ -1,23 +0,0 @@
env = XCURSOR_SIZE,24
#env = LIBVA_DRIVER_NAME,nvidia
#env = XDG_SESSION_TYPE,wayland
#env = GDM_BACKEND,nvidia-drm
#env = __GLX_VENDOR_LIBRARY_NAME,nvidia
#env = WLR_NO_HARDWARE_CURSORS,1
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_QPA_PLATFORM,wayland;xcb
# GarbageTK
env = GTK_THEME,adw-gtk3-dark
# moar wayland
env = SDL_VIDEODRIVER,wayland
env = CLUTTER_BACKEND,wayland
# Exec
#env = PATH,/home/kosmx/.local/share/graalvm/bin:$PATH
# XDG
env = XDG_RUNTIME_DIR,/run/user/1000/

View File

@@ -8,30 +8,29 @@
# exec-once = waybar & hyprpaper & firefox # exec-once = waybar & hyprpaper & firefox
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP DISPLAY
exec-once = hyprpaper #exec-once = uwsm app hyprpaper
exec-once = waybar #exec-once = uwsm app waybar
exec-once = swaync #exec-once = uwsm app swaync
# clippy # clippy
exec-once = wl-paste --type text --watch cliphist -max-items 36 store #Stores only text data # exec-once = uwsm app wl-paste --type text --watch cliphist -max-items 36 store #Stores only text data
exec-once = wl-paste --type image --watch cliphist -max-items 36 store #Stores only image data # exec-once = uwsm app wl-paste --type image --watch cliphist -max-items 36 store #Stores only image data
#exec-once = hyprland-per-window-layout #exec-once = hyprland-per-window-layout
exec-once = udiskie & exec-once = uwsm app udiskie
exec-once = /usr/libexec/hyprpolkitagent #exec-once = uwsm app /usr/libexec/hyprpolkitagent
exec-once = hypridle #exec-once = uwsm app hypridle
exec-once = hyprsunset #exec-once = hyprsunset
#exec-once = /usr/libexec/kdeconnectd # kdeconnect daemon exec-once = uwsm app kdeconnect-indicator
exec-once = kdeconnect-indicator
# audit (apparmor) logger # audit (apparmor) logger
# exec-once = aa-notify -p -s 1 -w 60 -f /var/log/audit/audit.log # exec-once = aa-notify -p -s 1 -w 60 -f /var/log/audit/audit.log
exec-once = gnome-keyring-daemon --start --components=pkcs11,secrets,ssh #exec-once = uwsm app gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
# something keeps changing my cursor. This is my ultimatum. # something keeps changing my cursor. This is my ultimatum.
exec-once = gsettings set org.gnome.desktop.interface cursor-theme exec-once = gsettings set org.gnome.desktop.interface cursor-theme Adwaita

View File

@@ -1,6 +1,6 @@
# Config yoinked from hyprland website # Config yoinked from hyprland website
general { general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. lock_cmd = pidof hyprlock || uwsm app hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend. before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
} }

View File

@@ -18,8 +18,6 @@ monitor=,preferred,auto,auto
# Source a file (multi-file configs) # Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf # source = ~/.config/hypr/myColors.conf
source=./env.conf
# Exec stuffs # Exec stuffs
source=./exec.conf source=./exec.conf
@@ -29,8 +27,13 @@ source=./macchiato.conf
# Window rules # Window rules
windowrulev2 = center, class:^(Rofi)$ windowrule {
windowrulev2 = stayfocused, class:^(Rofi)$ name = windowrule-1
center = on
stay_focused = on
match:class = ^(Rofi)$
}
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ # For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input { input {
@@ -100,7 +103,7 @@ animations {
dwindle { dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below #pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this preserve_split = yes # you probably want this
} }
@@ -111,9 +114,9 @@ master {
gestures { gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = on # workspace_swipe = on
workspace_swipe_fingers = 3 # workspace_swipe_fingers = 3
workspace_swipe_invert = false # workspace_swipe_invert = false
} }
xwayland { xwayland {
@@ -128,18 +131,6 @@ misc {
#force_hypr_chan = true # there is suddenly an anime girl on the background :D #force_hypr_chan = true # there is suddenly an anime girl on the background :D
} }
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
# device:epic-mouse-v1 {
# sensitivity = -0.5
# }
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
source=./keybinds.conf source=./keybinds.conf
debug:disable_logs = false debug:disable_logs = false

View File

@@ -1,6 +1,7 @@
preload = /home/ha5pls/.local/share/backgrounds/eKxlw8.jpg wallpaper {
monitor =
wallpaper = ,/home/ha5pls/.local/share/backgrounds/eKxlw8.jpg path = /home/ha5pls/.local/share/backgrounds/eKxlw8.jpg
}
splash = false splash = false

View File

@@ -4,28 +4,28 @@
$mainMod = SUPER $mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, T, exec, kitty
bind = $mainMod, W, exec, flatpak run io.gitlab.librewolf-community
bind = $mainMod, BACKSPACE, killactive, bind = $mainMod, BACKSPACE, killactive,
bind = $mainMod CTRL ALT, BACKSPACE, exit, bind = $mainMod CTRL ALT, BACKSPACE, exec, uwsm stop
bind = $mainMod CTRL, BACKSPACE, exec, sh ~/.config/swaylock.sh bind = $mainMod CTRL, BACKSPACE, exec, /usr/bin/hyprlock
#bind = $mainMod, PAUSE, killactive, #bind = $mainMod, PAUSE, killactive,
bind = $mainMod, F, exec, nautilus
bind = $mainMod, Y, togglefloating, bind = $mainMod, Y, togglefloating,
bind = $mainMod SHIFT, Y, workspaceopt, allfloat bind = $mainMod SHIFT, Y, workspaceopt, allfloat
bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod SHIFT, P, pin, bind = $mainMod SHIFT, P, pin
bind = $mainMod SHIFT, P, workspaceopt, allpseudo, bind = $mainMod SHIFT, P, workspaceopt, allpseudo
bind = $mainMod, O, togglesplit, # dwindle #bind = $mainMod, O, togglesplit, # dwindle
bind = $mainMod, E, fullscreen, 1 bind = $mainMod, E, fullscreen, 1
bind = $mainMod SHIFT, E, fullscreen, 0 bind = $mainMod SHIFT, E, fullscreen, 0
# bind = $mainMod CTRL, E, fakefullscreen, # bind = $mainMod CTRL, E, fakefullscreen
bind = $mainMod SHIFT, PERIOD, pin, bind = $mainMod SHIFT, PERIOD, pin
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
binde = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle binde = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
binde = , XF86MonBrightnessUp, exec, brightnessctl set '12.75+' binde = , XF86MonBrightnessUp, exec, brightnessctl set '12.75+'
binde = , XF86MonBrightnessDown, exec, brightnessctl set '12.75-' binde = , XF86MonBrightnessDown, exec, brightnessctl set '12.75-'
binde = , XF86AudioPlay, exec, playerctl play-pause
binde = , XF86AudioNext, exec, playerctl next
binde = , XF86AudioPrev, exec, playerctl previous
#bind = $mainMod ALT, SPACE, exec, hyprctl switchxkblayout #bind = $mainMod ALT, SPACE, exec, hyprctl switchxkblayout
@@ -46,10 +46,10 @@ bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d bind = $mainMod SHIFT, down, movewindow, d
bind = $mainMod SHIFT, H, movetoworkspace, l bind = $mainMod SHIFT, H, movewindow, l
bind = $mainMod SHIFT, J, movetoworkspace, r+1 bind = $mainMod SHIFT, J, movetoworkspace, r+1
bind = $mainMod SHIFT, K, movetoworkspace, r-1 bind = $mainMod SHIFT, K, movetoworkspace, r-1
bind = $mainMod SHIFT, L, movetoworkspace, r bind = $mainMod SHIFT, L, movewindow, r
# Resize commands # Resize commands
@@ -104,7 +104,7 @@ bind = $mainMod, mouse:274, movetoworkspacesilent, special
bind = $mainMod, C, movetoworkspacesilent, special bind = $mainMod, C, movetoworkspacesilent, special
bind = $mainMod SHIFT, mouse:274, movetoworkspace, special bind = $mainMod SHIFT, mouse:274, movetoworkspace, special
bind = $mainMod SHIFT, C, movetoworkspace, special bind = $mainMod SHIFT, C, movetoworkspace, special
bind = $mainMod, TAB, togglespecialworkspace, bind = $mainMod, TAB, togglespecialworkspace
bind = $mainMod CTRL, END, workspace, empty bind = $mainMod CTRL, END, workspace, empty
bind = $mainMod SHIFT, END, movetoworkspace, empty bind = $mainMod SHIFT, END, movetoworkspace, empty
bind = $mainMod CTRL, HOME, workspace, 1 bind = $mainMod CTRL, HOME, workspace, 1
@@ -115,14 +115,18 @@ bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
bindm = $mainMod SHIFT, mouse:272, resizewindow bindm = $mainMod SHIFT, mouse:272, resizewindow
# Applications
bind = $mainMod, F, exec, uwsm app nautilus
bind = $mainMod, T, exec, uwsm app kitty
bind = $mainMod, W, exec, uwsm app io.gitlab.librewolf-community.desktop
# Tools (launcher/etc) # Tools (launcher/etc)
bind = $mainMod, SPACE, exec, ~/.config/rofi/launchers/type-1/launcher.sh bind = $mainMod, SPACE, exec, ~/.config/rofi/launchers/type-1/launcher.sh
bind = $mainMod SHIFT, V, exec, cliphist list | rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -dmenu | cliphist decode | wl-copy && wl-paste bind = $mainMod SHIFT, V, exec, cliphist list | rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -dmenu | cliphist decode | wl-copy
bind = $mainMod SHIFT CTRL, V, exec, cliphist list | rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -dmenu | cliphist delete bind = $mainMod SHIFT CTRL, V, exec, cliphist list | rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -dmenu | cliphist delete
bind = $mainMod, minus, exec, rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -show calc -modi calc -no-show-match -no-sort -no-persist-history -calc-command "echo -n '{result}' | wl-copy" bind = $mainMod, minus, exec, rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -show calc -modi calc -no-show-match -no-sort -no-persist-history -calc-command "echo -n '{result}' | wl-copy"
bind = $mainMod, B, exec, pkill waybar || waybar bind = $mainMod, B, exec, pkill waybar || uwsm app waybar
bind = $mainMod SHIFT, ESCAPE, exec, plasma-systemmonitor # TODO add my own monitor bind = $mainMod SHIFT, ESCAPE, exec, uwsm app plasma-systemmonitor # TODO add my own monitor
bind = $mainMod, N, exec, swaync-client -t -sw bind = $mainMod, N, exec, swaync-client -t -sw
bind = $mainMod SHIFT, S, exec, sh -c "slurp | grim -g - - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshots/$(date +'%Y-%m-%d-%H%M%S_grim.png')" bind = $mainMod SHIFT, S, exec, sh -c "slurp | grim -g - - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshots/$(date +'%Y-%m-%d-%H%M%S_grim.png')"

View File

@@ -2653,6 +2653,7 @@ font_family family='FiraCode Nerd Font' features=+ss05
bold_font auto bold_font auto
italic_font auto italic_font auto
bold_italic_font auto bold_italic_font auto
font_size 12
# END_KITTY_FONTS # END_KITTY_FONTS
map ctrl+shift+r no_op map ctrl+shift+r no_op

View File

@@ -1,7 +1,7 @@
local options = { local options = {
base46 = { base46 = {
theme = "chadracula-evondev", -- default theme theme = "eldritch", -- default theme
hl_add = {}, hl_add = {},
hl_override = {}, hl_override = {},
integrations = {}, integrations = {},
@@ -11,7 +11,7 @@ local options = {
}, },
}, },
transparency = true, transparency = true,
theme_toggle = { "chadracula-evondev", "one_light" }, theme_toggle = { "eldritch", "one_light" },
}, },
ui = { ui = {

View File

@@ -1,14 +1,7 @@
local on_attach = require("nvchad.configs.lspconfig").on_attach local on_attach = require("nvchad.configs.lspconfig").on_attach
local capabilities = require("nvchad.configs.lspconfig").capabilities local capabilities = require("nvchad.configs.lspconfig").capabilities
local lspconfig = require "lspconfig"
-- if you just want default config for the servers then put them in a table -- if you just want default config for the servers then put them in a table
local servers = { "html", "cssls", "ts_ls", "clangd", "pyright", "vhdl_ls" } local servers = { "hyprls", "lua-language-server", "clangd", "basedpyright", "vhdl_ls" }
for _, lsp in ipairs(servers) do vim.lsp.enable(servers)
lspconfig[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end

View File

@@ -116,3 +116,13 @@ map("v", "<leader>r", ":<C-u>MoltenEvaluateVisual<CR>gv")
map("n", "<leader>os", ":noautocmd MoltenEnterOutput<CR>") map("n", "<leader>os", ":noautocmd MoltenEnterOutput<CR>")
map("n", "<leader>oh", ":MoltenHideOutput<CR>") map("n", "<leader>oh", ":MoltenHideOutput<CR>")
map("n", "<leader>md", ":MoltenDelete<CR>") map("n", "<leader>md", ":MoltenDelete<CR>")
map({"n", "v", "x"}, "<leader>ts", function()
if vim.o.shiftwidth == 4 then
vim.o.shiftwidth = 2
vim.o.tabstop = 2
else
vim.o.shiftwidth = 4
vim.o.tabstop = 4
end
end, {desc = 'toggle shiftwidth (between 2 and 4)'})

View File

@@ -6,8 +6,11 @@ local autocmd = vim.api.nvim_create_autocmd
-- command = "tabdo wincmd =", -- command = "tabdo wincmd =",
-- }) -- })
-- Auto unfold all when entering a buffer
autocmd("BufWinEnter", { pattern = "*", command = "silent! :%foldopen!" }) -- disable folding on startup
vim.opt.foldenable = false
-- disable folding on loading
vim.opt.foldlevel = 20
-- Hyrplang filetype -- Hyrplang filetype
vim.filetype.add({ vim.filetype.add({

View File

@@ -5,5 +5,4 @@ input {
misc { misc {
disable_hyprland_logo = true disable_hyprland_logo = true
disable_splash_rendering = true disable_splash_rendering = true
disable_hyprland_qtutils_check = true
} }

View File

@@ -22,11 +22,11 @@ elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
fi fi
# CMDs (add your apps here) # CMDs (add your apps here)
term_cmd='kitty' term_cmd='uwsm app kitty'
file_cmd='nautilus' file_cmd='uwsm app nautilus'
text_cmd='gedit' text_cmd='uwsm app gedit'
web_cmd='flatpak run io.gitlab.librewolf-community' web_cmd='uwsm app io.gitlab.librewolf-community.desktop'
music_cmd='' music_cmd='uwsm app com.github.iwalton3.jellyfin-mpv-shim.desktop'
setting_cmd='' setting_cmd=''
# Options # Options

View File

@@ -108,7 +108,7 @@ run_cmd() {
elif [[ "$1" == '--opt2' ]]; then elif [[ "$1" == '--opt2' ]]; then
notify-send -u low "$ICON_CHRG Status : $status" notify-send -u low "$ICON_CHRG Status : $status"
elif [[ "$1" == '--opt3' ]]; then elif [[ "$1" == '--opt3' ]]; then
xfce4-power-manager-settings uwsm app xfce4-power-manager-settings
elif [[ "$1" == '--opt4' ]]; then elif [[ "$1" == '--opt4' ]]; then
${polkit_cmd} kitty -e powertop ${polkit_cmd} kitty -e powertop
fi fi

View File

@@ -83,7 +83,7 @@ run_cmd() {
elif [[ "$1" == '--opt3' ]]; then elif [[ "$1" == '--opt3' ]]; then
light -U 5 light -U 5
elif [[ "$1" == '--opt4' ]]; then elif [[ "$1" == '--opt4' ]]; then
xfce4-power-manager-settings uwsm app xfce4-power-manager-settings
fi fi
} }

View File

@@ -14,73 +14,73 @@ prompt="`hostname`"
mesg="Uptime : `uptime -p | sed -e 's/up //g'`" mesg="Uptime : `uptime -p | sed -e 's/up //g'`"
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
list_col='1' list_col='1'
list_row='6' list_row='6'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='6' list_col='6'
list_row='1' list_row='1'
fi fi
# Options # Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then if [[ "$layout" == 'NO' ]]; then
option_1="󰍁 Lock" option_1="󰍁 Lock"
option_2="󰗼 Logout" option_2="󰗼 Logout"
option_3="󰒲 Suspend" option_3="󰒲 Suspend"
option_4="󰜗 Hibernate" option_4="󰜗 Hibernate"
option_5="󰜉 Reboot" option_5="󰜉 Reboot"
option_6=" Shutdown" option_6=" Shutdown"
yes=' Yes' yes=' Yes'
no=' No' no=' No'
else else
option_1="󰍁" option_1="󰍁"
option_2="󰗼" option_2="󰗼"
option_3="󰒲" option_3="󰒲"
option_4="󰜗" option_4="󰜗"
option_5="󰜉" option_5="󰜉"
option_6="" option_6=""
yes='' yes=''
no='' no=''
fi fi
# Rofi CMD # Rofi CMD
rofi_cmd() { rofi_cmd() {
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \ rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \ -theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \ -dmenu \
-p "$prompt" \ -p "$prompt" \
-mesg "$mesg" \ -mesg "$mesg" \
-markup-rows \ -markup-rows \
-theme ${theme} -theme ${theme}
} }
# Pass variables to rofi dmenu # Pass variables to rofi dmenu
run_rofi() { run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
} }
# Confirmation CMD # Confirmation CMD
confirm_cmd() { confirm_cmd() {
rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \ rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \
-theme-str 'mainbox {orientation: vertical; children: [ "message", "listview" ];}' \ -theme-str 'mainbox {orientation: vertical; children: [ "message", "listview" ];}' \
-theme-str 'listview {columns: 2; lines: 1;}' \ -theme-str 'listview {columns: 2; lines: 1;}' \
-theme-str 'element-text {horizontal-align: 0.5;}' \ -theme-str 'element-text {horizontal-align: 0.5;}' \
-theme-str 'textbox {horizontal-align: 0.5;}' \ -theme-str 'textbox {horizontal-align: 0.5;}' \
-dmenu \ -dmenu \
-p 'Confirmation' \ -p 'Confirmation' \
-mesg 'Are you Sure?' \ -mesg 'Are you Sure?' \
-theme ${theme} -theme ${theme}
} }
# Ask for confirmation # Ask for confirmation
confirm_exit() { confirm_exit() {
echo -e "$yes\n$no" | confirm_cmd echo -e "$yes\n$no" | confirm_cmd
} }
# Confirm and execute # Confirm and execute
confirm_run () { confirm_run () {
selected="$(confirm_exit)" selected="$(confirm_exit)"
if [[ "$selected" == "$yes" ]]; then if [[ "$selected" == "$yes" ]]; then
${1} && ${2} && ${3} ${1} && ${2} && ${3}
else else
exit exit
@@ -89,41 +89,41 @@ confirm_run () {
# Execute Command # Execute Command
run_cmd() { run_cmd() {
if [[ "$1" == '--opt1' ]]; then if [[ "$1" == '--opt1' ]]; then
loginctl lock-session loginctl lock-session
elif [[ "$1" == '--opt2' ]]; then elif [[ "$1" == '--opt2' ]]; then
confirm_run 'hyprctl dispatch exit' confirm_run 'uwsm stop'
elif [[ "$1" == '--opt3' ]]; then elif [[ "$1" == '--opt3' ]]; then
confirm_run 'systemctl suspend' confirm_run 'systemctl suspend'
elif [[ "$1" == '--opt4' ]]; then elif [[ "$1" == '--opt4' ]]; then
confirm_run 'systemctl hibernate' confirm_run 'systemctl hibernate'
elif [[ "$1" == '--opt5' ]]; then elif [[ "$1" == '--opt5' ]]; then
confirm_run 'systemctl reboot' confirm_run 'systemctl reboot'
elif [[ "$1" == '--opt6' ]]; then elif [[ "$1" == '--opt6' ]]; then
confirm_run 'systemctl poweroff' confirm_run 'systemctl poweroff'
fi fi
} }
# Actions # Actions
chosen="$(run_rofi)" chosen="$(run_rofi)"
case ${chosen} in case ${chosen} in
$option_1) $option_1)
run_cmd --opt1 run_cmd --opt1
;; ;;
$option_2) $option_2)
run_cmd --opt2 run_cmd --opt2
;; ;;
$option_3) $option_3)
run_cmd --opt3 run_cmd --opt3
;; ;;
$option_4) $option_4)
run_cmd --opt4 run_cmd --opt4
;; ;;
$option_5) $option_5)
run_cmd --opt5 run_cmd --opt5
;; ;;
$option_6) $option_6)
run_cmd --opt6 run_cmd --opt6
;; ;;
esac esac

77
rofi/applets/bin/ppd.sh Executable file
View File

@@ -0,0 +1,77 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Power Menu
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Theme Elements
prompt="Select power profile"
mesg="Current power profile : `powerprofilesctl get`"
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
list_col='1'
list_row='3'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='3'
list_row='1'
fi
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [ "$layout" = 'NO' ]; then
option_1="󰡴 Performance"
option_2="󰊚 Balanced"
option_3="󰡳 Power saver"
else
option_1="󰡴"
option_2="󰊚"
option_3="󰡳"
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3" | rofi_cmd
}
# Execute Command
run_cmd() {
if [ "$1" = '--opt1' ]; then
powerprofilesctl set performance
elif [ "$1" = '--opt2' ]; then
powerprofilesctl set balanced
elif [ "$1" = '--opt3' ]; then
powerprofilesctl set power-saver
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
esac

View File

@@ -22,11 +22,11 @@ amixer get Master | grep '\[on\]' &>/dev/null
if [[ "$?" == 0 ]]; then if [[ "$?" == 0 ]]; then
active="-a 1" active="-a 1"
stext='Unmute' stext='Unmute'
sicon='' sicon='󰕾'
else else
urgent="-u 1" urgent="-u 1"
stext='Mute' stext='Mute'
sicon='' sicon='󰸈'
fi fi
# Microphone Info # Microphone Info
@@ -34,11 +34,11 @@ amixer get Capture | grep '\[on\]' &>/dev/null
if [[ "$?" == 0 ]]; then if [[ "$?" == 0 ]]; then
[ -n "$active" ] && active+=",3" || active="-a 3" [ -n "$active" ] && active+=",3" || active="-a 3"
mtext='Unmute' mtext='Unmute'
micon='' micon='󰍬'
else else
[ -n "$urgent" ] && urgent+=",3" || urgent="-u 3" [ -n "$urgent" ] && urgent+=",3" || urgent="-u 3"
mtext='Mute' mtext='Mute'
micon='' micon=''
fi fi
# Theme Elements # Theme Elements
@@ -108,7 +108,7 @@ run_cmd() {
elif [[ "$1" == '--opt4' ]]; then elif [[ "$1" == '--opt4' ]]; then
amixer set Capture toggle amixer set Capture toggle
elif [[ "$1" == '--opt5' ]]; then elif [[ "$1" == '--opt5' ]]; then
pavucontrol uwsm app pavucontrol
fi fi
} }

View File

@@ -18,3 +18,4 @@ theme='style-5'
rofi \ rofi \
-show drun \ -show drun \
-theme ${dir}/${theme}.rasi -theme ${dir}/${theme}.rasi
-run-command "uwsm app -- {cmd}"

View File

@@ -0,0 +1,22 @@
[Unit]
Description=Clipboard history “manager” for wayland
Documentation=https://github.com/sentriz/cliphist
# order startup after WM
After=graphical-session.target
[Service]
Type=exec
# Repurpose XDG Autostart filtering
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
ExecStart=wl-paste --watch cliphist -max-items 50 store
Restart=on-failure
Slice=app-graphical.slice
[Install]
WantedBy=graphical-session.target
# Alternatively can be wanted by specific WMs' targets
# Should also be duplicated in 'After=' to avoid ordering loop
#WantedBy=wayland-session@sway.desktop.target
#WantedBy=wayland-session@wayfire.desktop.target
#WantedBy=wayland-session@labwc.desktop.target
#WantedBy=wayland-session@hyprland.desktop.target

9
uwsm/env Normal file
View File

@@ -0,0 +1,9 @@
export XCURSOR_SIZE="24"
export XCURSOR_THEME="Adwaita"
export QT_QPA_PLATFORMTHEME="gtk3"
export QT_QPA_PLATFORM="wayland;xcb"
export GTK_THEME="adw-gtk3-dark"
export SDL_VIDEODRIVER="wayland"
export CLUTTER_BACKEND="wayland"
export XDG_RUNTIME_DIR="/run/user/1000/"
export GDK_BACKEND="wayland,x11,*"

View File

@@ -4,7 +4,7 @@
"include": [ "include": [
"~/.config/waybar/modules.jsonc" "~/.config/waybar/modules.jsonc"
], ],
"height": 20, "height": 40,
"margin-left": 3, "margin-left": 3,
"margin-right": 3, "margin-right": 3,
"margin-top": 3, "margin-top": 3,

19
waybar/config_laptop.json Normal file
View File

@@ -0,0 +1,19 @@
{
"layer": "top",
"position": "top",
"include": [
"~/.config/waybar/modules.jsonc"
],
"height": 20,
"margin-left": 3,
"margin-right": 3,
"margin-top": 3,
"margin-bottom": 3,
"modules-left": ["custom/junkyard", "hyprland/workspaces"],
"modules-center": ["clock"],
"modules-right": ["tray", "custom/notification", "pulseaudio", "bluetooth", "backlight", "network", "battery", "group/group-power" ],
"tray": {
"icon-size": 16,
"spacing": 10
},
}

View File

@@ -20,39 +20,39 @@
// "timezone": "America/New_York", // "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%a, %d %b, %R}", "format": "{:%a, %d %b, %R}",
"on-click": "" "on-click": ""
}, },
"pulseaudio": { "pulseaudio": {
// "scroll-step": 1, // %, can be a float // "scroll-step": 1, // %, can be a float
//"reverse-scrolling": 1, //"reverse-scrolling": 1,
"format": "{icon} {volume}% {format_source}", "format": "{icon} {volume}% {format_source}",
"format-bluetooth": "{icon}  {volume}% {format_source}", "format-bluetooth": "{icon} {volume}% {format_source}",
"format-bluetooth-muted": "{icon} {format_source}", "format-bluetooth-muted": "{icon} {format_source}",
"format-muted": " {format_source}", "format-muted": "󰝟 {volume}% {format_source}",
"format-source": " {volume}%", "format-source": " {volume}%",
"format-source-muted": "", "format-source-muted": "",
"format-icons": { "format-icons": {
"headphone": "󰋋", "headphone": "󰋋",
"hands-free": "", "hands-free": "󱡒",
"headset": "󰋎", "headset": "󰋎",
"phone": "", "phone": "",
"portable": "", "portable": "󰓃",
"car": "", "car": "",
"default": ["󰸈", "󰕿", "󰖀", "󰕾"] "default": ["󰸈", "󰕿", "󰖀", "󰕾"]
}, },
"on-click": "~/.config/rofi/applets/bin/volume.sh", "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
"on-click-right": "pavucontrol" "on-click-right": "uwsm app pavucontrol"
}, },
"bluetooth": { "bluetooth": {
"format": "", "format": "",
"format-disabled": "", "format-disabled": "",
"format-connected": " {num_connections}", "format-connected": " {num_connections}",
"tooltip-format-enumerate-connected": "{device_alias}", "tooltip-format-enumerate-connected": "{device_alias}",
"tooltip-format-connected": "{device_enumerate}", "tooltip-format-connected": "{device_enumerate}",
"on-click": "blueman-manager" "on-click": "uwsm app blueman-manager"
}, },
"temperature": { "temperature": {
// "thermal-zone": 2, // "thermal-zone": 2,
@@ -66,6 +66,7 @@
"tray": { "tray": {
"icon-size": 13, "icon-size": 13,
"show-passive-items": true,
"spacing": 00 "spacing": 00
}, },
@@ -73,14 +74,14 @@
"tooltip": false, "tooltip": false,
"format": "{icon}", "format": "{icon}",
"format-icons": { "format-icons": {
"notification": "<span foreground='red'><sup></sup></span>", "notification": "<span foreground='red'><sup></sup></span>",
"none": "", "none": "",
"dnd-notification": "<span foreground='red'><sup></sup></span>", "dnd-notification": "<span foreground='red'><sup></sup></span>",
"dnd-none": "", "dnd-none": "",
"inhibited-notification": "<span foreground='red'><sup></sup></span>", "inhibited-notification": "<span foreground='red'><sup></sup></span>",
"inhibited-none": "", "inhibited-none": "",
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>", "dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
"dnd-inhibited-none": "" "dnd-inhibited-none": ""
}, },
"return-type": "json", "return-type": "json",
"exec-if": "which swaync-client", "exec-if": "which swaync-client",
@@ -91,94 +92,99 @@
"escape": true "escape": true
}, },
"cpu": { "cpu": {
"interval": 1, "interval": 1,
"format": " {usage:02d}%{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}", "format": " {usage:02d}%{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}",
"format-icons": [ "format-icons": [
"<span color='#a6da95'>▁</span>", // green "<span color='#a6da95'>▁</span>", // green
"<span color='#8aadf4'>▂</span>", // blue "<span color='#8aadf4'>▂</span>", // blue
"<span color='#8aadf4'>▃</span>", // white "<span color='#8aadf4'>▃</span>", // white
"<span color='#8aadf4'>▄</span>", // white "<span color='#8aadf4'>▄</span>", // white
"<span color='#8aadf4'>▅</span>", // yellow "<span color='#8aadf4'>▅</span>", // yellow
"<span color='#eed49f'>▆</span>", // yellow "<span color='#eed49f'>▆</span>", // yellow
"<span color='#f5a97f'>▇</span>", // orange "<span color='#f5a97f'>▇</span>", // orange
"<span color='#ed8796'>█</span>" // red "<span color='#ed8796'>█</span>" // red
] ]
}, },
"memory": { "memory": {
"interval": 5, "interval": 5,
"format": "󰍛 {percentage}%" "format": "󰍛 {percentage}%"
}, },
"group/group-power": { "group/group-power": {
"orientation": "inherit", "orientation": "inherit",
"drawer": { "drawer": {
"transition-duration": 500, "transition-duration": 500,
"children-class": "not-power", "children-class": "not-power",
"transition-left-to-right": true "transition-left-to-right": true
}, },
"modules": [ "modules": [
"custom/power", // First element is the "group leader" and won't ever be hidden "custom/power", // First element is the "group leader" and won't ever be hidden
"custom/reboot", "custom/reboot",
"custom/quit", "custom/quit",
"custom/suspend", "custom/suspend",
"custom/lock" "custom/lock"
] ]
}, },
"custom/quit": { "custom/quit": {
"format": " 󰗼 ", "format": " 󰗼 ",
"tooltip": false,
"on-click": "uwsm stop"
},
"custom/lock": {
"format": " 󰍁 ",
"tooltip": false,
"on-click": "loginctl lock-session"
},
"custom/suspend": {
"format": " 󰒲 ",
"tooltip": false, "tooltip": false,
"on-click": "hyprctl dispatch exit" "on-click": "systemctl suspend"
}, },
"custom/lock": { "custom/reboot": {
"format": " 󰍁 ", "format": " 󰜉 ",
"tooltip": false, "tooltip": false,
"on-click": "loginctl lock-session" "on-click": "systemctl reboot"
}, },
"custom/suspend": { "custom/power": {
"format": " 󰒲 ", "format": " ",
"tooltip": false, "tooltip": false,
"on-click": "systemctl suspend" "on-click": "systemctl poweroff"
}, },
"custom/reboot": {
"format": " 󰜉 ",
"tooltip": false,
"on-click": "systemctl reboot"
},
"custom/power": {
"format": "  ",
"tooltip": false,
"on-click": "systemctl poweroff"
},
"battery": { "battery": {
"states": { "states": {
"warning": 20, "warning": 20,
"critical": 5 "critical": 5
}, },
"format": "{capacity}% {icon}", "format": "{icon}{capacity}%",
"format-charging": "{capacity}% 󰂄", "format-charging": "{capacity}% 󰂄",
"format-plugged": "{capacity}% 󰚥", "format-plugged": "{capacity}% 󰚥",
"format-alt": "{time} {icon}", // "format-alt": "{time} {icon}",
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂁", "󰁹"], "format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂁", "󰁹"],
"on-click": "~/.config/rofi/applets/bin/powermenu.sh" "on-click": "~/.config/rofi/applets/bin/ppd.sh"
}, },
"battery#bat0": { "battery#bat0": {
"bat": "BAT0" "bat": "BAT0"
}, },
"network": { "backlight": {
"format-wifi": "{icon}", "format": "{icon} {percent}%",
"format-ethernet": "󰈀", "format-icons": ["󰃞", "󰃟", "󰃠"]
"format-linked": "󰤩", },
"format-disconnected": "󰤮",
"tooltip-format": "{ifname}", "network": {
"tooltip-format-wifi": "{essid} {signaldBm}dBm | Downlink: {bandwidthDownBits}, Uplink: {bandwidthUpBits}", "format-wifi": "{icon}",
"tooltip-format-ethernet": "{essid} | Downlink: {bandwidthDownBits}, Uplink: {bandwidthUpBits} | IP: {ipaddr} GW:{gwaddr}", "format-ethernet": "󰈀",
"tooltip-format-disconnected": "Disconnected", "format-linked": "󰤩",
"format-icons": ["󰤯", "󰤟", "󰤢", "󰤥", "󰤨"], "format-disconnected": "󰤮",
"on-click": "~/.config/rofi/applets/bin/rofi-wifi-menu.sh", "tooltip-format": "{ifname}",
"on-click-right": "nm-connection-editor" "tooltip-format-wifi": "{essid} {signaldBm}dBm | Downlink: {bandwidthDownBits}, Uplink: {bandwidthUpBits}",
} "tooltip-format-ethernet": "{essid} | Downlink: {bandwidthDownBits}, Uplink: {bandwidthUpBits} | IP: {ipaddr} GW:{gwaddr}",
"tooltip-format-disconnected": "Disconnected",
"format-icons": ["󰤯", "󰤟", "󰤢", "󰤥", "󰤨"],
"on-click": "~/.config/rofi/applets/bin/rofi-wifi-menu.sh",
"on-click-right": "nm-connection-editor"
}
} }

View File

@@ -1,156 +1,154 @@
@import 'macchiato.css'; @import 'macchiato.css';
* { * {
font-family: "Roboto"; font-family: "Roboto";
font-size: 16px; font-size: 16px;
min-width: 15px; min-width: 15px;
} }
window#waybar { window#waybar {
background-color: transparent; background-color: transparent;
} }
window#waybar.hidden { window#waybar.hidden {
opacity: 0.5; opacity: 0.5;
} }
button { button {
box-shadow: inset 0 -3px transparent; box-shadow: inset 0 -3px transparent;
border: none; border: none;
border-radius: 10px; border-radius: 10px;
color: @text;
} }
#workspaces {
background-color: @base; /* Change this to any gray color you want */
border-radius: 0px 10px 10px 0px; /* Adjust as needed */
padding: 3px 10px;
color: @text;
}
#workspaces button.active { #workspaces button.active {
background-color: @blue; background-color: @blue;
border: 1px solid @blue; /* border: 1px solid @blue; */
border-radius: 10px; border-radius: 10px;
color: @base; color: @base;
}
#workspaces button:hover {
background: @crust;
color: @text;
border-radius: 10px;
} }
#workspaces button.urgent { #workspaces button.urgent {
background-color: @red; background-color: @red;
border: 1px solid @red; border: 1px solid @red;
border-radius: 10px; border-radius: 10px;
color: @base; color: @base;
} }
#clock, #clock {
#battery{ background-color: @base; /* Change this to any gray color you want */
background-color: @base; /* Change this to any gray color you want */ border-radius: 10px; /* Adjust as needed */
border-radius: 10px; /* Adjust as needed */ padding: 3px 10px;
padding: 3px 10px; color: @text;
color: @text;
} }
#mpd { #mpd {
padding: 0 10px; padding: 0 10px;
color: @subtext1; color: @subtext1;
} }
#tray { #tray {
background-color: @base; /* Change this to any gray color you want */ background-color: @base; /* Change this to any gray color you want */
border-radius: 10px 0px 0px 10px; /* Adjust as needed */ border-radius: 10px 0px 0px 10px; /* Adjust as needed */
padding: 3px 10px; padding: 3px 10px;
color: @text; color: @text;
} }
#custom-notification, #custom-notification,
#pulseaudio, #pulseaudio,
#network, #network,
#memory, #memory,
#backlight,
#bluetooth { #bluetooth {
background-color: @base; /* Change this to any gray color you want */ background-color: @base; /* Change this to any gray color you want */
border-radius: 0px; /* Adjust as needed */ border-radius: 0px; /* Adjust as needed */
padding: 3px 7px; padding: 3px 3px;
color: @text; color: @text;
margin: 0px; margin: 0px;
} }
#cpu { #pulseaudio {
background-color: @base; /* Change this to any gray color you want */ min-width: 110px
border-radius: 0px 10px 10px 0px; /* Adjust as needed */
padding: 3px 10px;
color: @text;
min-width: 130px;
} }
#backlight { #backlight {
background-color: @base; /* Change this to any gray color you want */ min-width: 60px
border-radius: 0px 10px 10px 0px; /* Adjust as needed */
padding: 3px 10px;
color: @text;
}
#custom-junkyard {
background-color: @base; /* Change this to any gray color you want */
border-radius: 10px 0px 0px 10px; /* Adjust as needed */
padding: 3px 10px;
color: @text;
}
#workspaces {
background-color: @base; /* Change this to any gray color you want */
border-radius: 0px 10px 10px 0px; /* Adjust as needed */
padding: 3px 10px;
color: @text;
}
#clock {
background-color: @base; /* Change this to any gray color you want */
border-radius: 10px;
padding: 3px 10px;
color: @text;
}
#group-power {
background-color: @base;
border-radius: 10px;
padding: 3px 5px;
margin-left: 3px;
} }
#cpu,
#battery { #battery {
background-color: @base; /* Change this to any gray color you want */ background-color: @base; /* Change this to any gray color you want */
color: @text; border-radius: 0px 10px 10px 0px; /* Adjust as needed */
margin-left: 7px; padding: 3px 10px;
color: @text;
} }
#battery.charging, #battery.plugged { #battery.charging,
color: @base; #battery.plugged {
background-color: @teal; color: @base;
border-radius: 10px; background-color: @teal;
padding: 3px 10px;
}
@keyframes blink {
to {
background-color: @subtext1;
color: @crust;
}
} }
#battery.critical:not(.charging) { #battery.critical:not(.charging) {
background-color: @red; background-color: @red;
color: @subtext1; color: @subtext1;
animation-name: blink; animation-name: blink;
animation-duration: 0.5s; animation-duration: 0.5s;
animation-timing-function: linear; animation-timing-function: linear;
animation-iteration-count: infinite; animation-iteration-count: infinite;
animation-direction: alternate; animation-direction: alternate;
border-radius: 10px; }
padding: 3px 10px;
#custom-junkyard {
background-color: @base; /* Change this to any gray color you want */
border-radius: 10px 0px 0px 10px; /* Adjust as needed */
padding: 3px 10px;
color: @text;
}
#clock {
background-color: @base; /* Change this to any gray color you want */
border-radius: 10px;
padding: 3px 10px;
color: @text;
}
#group-power {
background-color: @base;
border-radius: 10px;
padding: 3px 5px;
margin-left: 3px;
color: @text;
}
@keyframes blink {
to {
background-color: @subtext1;
color: @crust;
}
} }
label:focus { label:focus {
background-color: @crust; background-color: @crust;
} }
#tray > .passive { #tray > .passive {
-gtk-icon-effect: dim; -gtk-icon-effect: dim;
} }
#tray > .needs-attention { #tray > .needs-attention {
-gtk-icon-effect: highlight; -gtk-icon-effect: highlight;
background-color: @red; background-color: @red;
} }

View File

@@ -1,6 +1,6 @@
Net/ThemeName "adw-gtk3-dark" Net/ThemeName "adw-gtk3-dark"
Net/IconThemeName "Pop" Net/IconThemeName "Adwaita"
Gtk/CursorThemeName "Adwaita" Gtk/CursorThemeName "default"
Net/EnableEventSounds 1 Net/EnableEventSounds 1
EnableInputFeedbackSounds 0 EnableInputFeedbackSounds 0
Xft/Antialias 1 Xft/Antialias 1

View File

@@ -1,5 +1,5 @@
# If you come from bash you might have to change your $PATH. # If you come from bash you might have to change your $PATH.
export PATH=$HOME/.local/bin:/usr/local/bin:$PATH:/home/lacko/Programs export PATH=$HOME/.local/bin:/usr/local/bin:$PATH
# XDG compliance # XDG compliance
XDG_DATA_HOME="$HOME/.local/share" XDG_DATA_HOME="$HOME/.local/share"
@@ -7,8 +7,6 @@ XDG_CONFIG_HOME="$HOME/.config"
XDG_STATE_HOME="$HOME/.local/state" XDG_STATE_HOME="$HOME/.local/state"
XDG_CACHE_HOME="$HOME/.cache" XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME XDG_CONFIG_HOME XDG_STATE_HOME XDG_CACHE_HOME export XDG_DATA_HOME XDG_CONFIG_HOME XDG_STATE_HOME XDG_CACHE_HOME
# android-studio
export ANDROID_HOME="$XDG_DATA_HOME"/android
# gnupg # gnupg
export GNUPGHOME="$XDG_DATA_HOME"/gnupg export GNUPGHOME="$XDG_DATA_HOME"/gnupg
# less # less
@@ -156,6 +154,8 @@ export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
# use yosys ghdl plugin # use yosys ghdl plugin
#alias yosys="yosys -m ghdl.so" #alias yosys="yosys -m ghdl.so"
export VUNIT_MODELSIM_PATH="/home/laszlo.parkanyi/.local/bin/modelsim_dlx/bin/"
# virtualenv automation functions # virtualenv automation functions
# usage # usage
# $ mkvenv myvirtualenv # creates venv under $XDG_STATE_HOME/virtualenvs/ # $ mkvenv myvirtualenv # creates venv under $XDG_STATE_HOME/virtualenvs/

View File

@@ -1,7 +1,6 @@
# bash-aliases # bash-aliases
# command preferences # command preferences
alias sudo="doas" # less bloated, more secure
alias cp="cp -i" # confirm before overwriting something alias cp="cp -i" # confirm before overwriting something
alias df='df -h' # human-readable sizes alias df='df -h' # human-readable sizes
alias free='free -m' # show sizes in MB alias free='free -m' # show sizes in MB
@@ -21,10 +20,10 @@ alias less='less -r' # retain color escapes
#alias holoware='wine ~/Programs/holoware/Holoware\ v0.2/Holoware.exe' # Fanmade Wario Ware style game with Hololive characters #alias holoware='wine ~/Programs/holoware/Holoware\ v0.2/Holoware.exe' # Fanmade Wario Ware style game with Hololive characters
# one-liners # one-liners
alias bton='doas /etc/init.d/bluetooth start' # Turn the bluetooth daemon on alias bton='sudo /etc/init.d/bluetooth start' # Turn the bluetooth daemon on
alias btoff='doas /etc/init.d/bluetooth stop' # Turn the bluetooth daemon off alias btoff='sudo /etc/init.d/bluetooth stop' # Turn the bluetooth daemon off
alias ani-hist='${EDITOR} "${XDG_CACHE_HOME:-$HOME/.cache}/ani-hsts"' # Edit the history file of ani-cli alias ani-hist='${EDITOR} "${XDG_STATE_HOME:-$HOME/.local/state}/ani-cli/ani-hsts"' # Edit the history file of ani-cli
alias ud="doas dnf upgrade; flatpak update -y;" # ud for quick update alias ud="sudo dnf upgrade; flatpak update -y;" # ud for quick update
#alias toolbox='systemctl start iscsid open-iscsi' # start the iSCSI services #alias toolbox='systemctl start iscsid open-iscsi' # start the iSCSI services
cdwork () { cdwork () {
lxc list status=running | grep -q quarch || lxc start quarch lxc list status=running | grep -q quarch || lxc start quarch