Compare commits

...

9 Commits

Author SHA1 Message Date
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
25 changed files with 213 additions and 169 deletions

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
- 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
- hypr*: `.config/hypr,` install `hyprlock`, `hyprsunset`, `hypridle`,
- 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)
- waybar: `.config/waybar` + install `fontawesome4-fonts` (for icons)
- 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). Also enable `hyprpaper.service`
- waybar: `.config/waybar` + install `fontawesome4-fonts` (for icons). Also enable `waybar.service`
- rofi: `.config/rofi`
- 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
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
- swaync: `.config/swaync`
- swaync: `.config/swaync`, also enable `swaync.service`
- gtk: `.config/gtk-*`, `dconf load /org/gtk/gtk4 < ./dconf-export/gtk4.dconf`
- MPV: `$XDG_CONFIG_HOME/mpv/`
- 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)
- 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/)
- 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`
- gedit (gui text editor): gtk set up, then `dconf load /org/gnome/gedit < ./dconf-export/gedit.dconf`

View File

@@ -11,6 +11,10 @@ replace_config_line () {
fi
}
set_unit () {
systemctl --user enable --now $*
}
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" "skip_unavailable" "True"
@@ -20,9 +24,13 @@ replace_config_line "/etc/dnf/dnf.conf" "keepcache" "True"
replace_config_line "/etc/dnf/dnf.conf" "max_parallel_downloads" "5"
ensure_installed () {
for dep in !*; do
dnf list --installed "$dep" 2>&1 | grep -q "$dep" || sudo dnf install "$dep" --assumeyes --allowerasing
done
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
}
# Enable extra repos
@@ -43,11 +51,11 @@ printf "You'll need to reboot to have selinux disabled\n"
# set up ZSH
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/
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?
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/
printf "You'll need to relog to have your default shell changed\n"
@@ -55,9 +63,15 @@ printf "You'll need to relog to have your default shell changed\n"
ensure_installed hyprland hyprpaper hypridle hyprlock hyprsunset
mkdir -p ~/.local/share/backgrounds/
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
ensure_installed swaync
set_unit swaync.service
ensure_installed waybar fontawesome4-fonts
set_unit waybar.service
ensure_installed cliphist
set_unit cliphist.service
# Install ReGreet
ensure_installed cargo gtk4-devel cairo-gobject-devel pango-devel greetd
@@ -87,14 +101,14 @@ sudo plymouth-set-default-theme -R fedora-mac-style && sudo dracut --regenerate-
# install gnome's stuff
ensure_installed gnome-keying nautilus dconf gedit
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/nautilus < ~/.config/dconf-export/nautilus.dconf
dconf load /org/gnome/gedit < ~/.config/dconf-export/gedit.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/nautilus/ < ~/.config/dconf-export/nautilus.dconf
dconf load /org/gnome/gedit/ < ~/.config/dconf-export/gedit.dconf
# rofi & rofi-calc (compilation, because why not)
ensure_installed rofi-wayland rofi-devel qalculate automake libtool
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" && mkdir m4 && autoreconf -i && mkdir build && cd build && ../configure && make && sudo make install
cd
# kdeconnect

View File

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

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

@@ -1,4 +1,7 @@
[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
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

@@ -9,29 +9,28 @@
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = hyprpaper
exec-once = waybar
exec-once = swaync
#exec-once = uwsm app hyprpaper
#exec-once = uwsm app waybar
#exec-once = uwsm app swaync
# clippy
exec-once = 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 text --watch cliphist -max-items 36 store #Stores only text 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 = udiskie &
exec-once = uwsm app udiskie
exec-once = /usr/libexec/hyprpolkitagent
exec-once = hypridle
exec-once = hyprsunset
#exec-once = uwsm app /usr/libexec/hyprpolkitagent
#exec-once = uwsm app hypridle
#exec-once = hyprsunset
#exec-once = /usr/libexec/kdeconnectd # kdeconnect daemon
exec-once = kdeconnect-indicator
exec-once = uwsm app kdeconnect-indicator
# audit (apparmor) logger
# 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.
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
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.
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 = ~/.config/hypr/myColors.conf
source=./env.conf
# Exec stuffs
source=./exec.conf

View File

@@ -4,28 +4,28 @@
$mainMod = SUPER
# 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 CTRL ALT, BACKSPACE, exit,
bind = $mainMod CTRL, BACKSPACE, exec, sh ~/.config/swaylock.sh
bind = $mainMod CTRL ALT, BACKSPACE, exec, uwsm stop
bind = $mainMod CTRL, BACKSPACE, exec, /usr/bin/hyprlock
#bind = $mainMod, PAUSE, killactive,
bind = $mainMod, F, exec, nautilus
bind = $mainMod, Y, togglefloating,
bind = $mainMod SHIFT, Y, workspaceopt, allfloat
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod SHIFT, P, pin,
bind = $mainMod SHIFT, P, workspaceopt, allpseudo,
bind = $mainMod SHIFT, P, pin
bind = $mainMod SHIFT, P, workspaceopt, allpseudo
bind = $mainMod, O, togglesplit, # dwindle
bind = $mainMod, E, fullscreen, 1
bind = $mainMod SHIFT, E, fullscreen, 0
# bind = $mainMod CTRL, E, fakefullscreen,
bind = $mainMod SHIFT, PERIOD, pin,
# bind = $mainMod CTRL, E, fakefullscreen
bind = $mainMod SHIFT, PERIOD, pin
binde = , XF86AudioRaiseVolume, 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 = , XF86MonBrightnessUp, 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
@@ -46,10 +46,10 @@ bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
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, K, movetoworkspace, r-1
bind = $mainMod SHIFT, L, movetoworkspace, r
bind = $mainMod SHIFT, L, movewindow, r
# Resize commands
@@ -104,7 +104,7 @@ bind = $mainMod, mouse:274, movetoworkspacesilent, special
bind = $mainMod, C, movetoworkspacesilent, special
bind = $mainMod SHIFT, mouse:274, movetoworkspace, special
bind = $mainMod SHIFT, C, movetoworkspace, special
bind = $mainMod, TAB, togglespecialworkspace,
bind = $mainMod, TAB, togglespecialworkspace
bind = $mainMod CTRL, END, workspace, empty
bind = $mainMod SHIFT, END, movetoworkspace, empty
bind = $mainMod CTRL, HOME, workspace, 1
@@ -115,14 +115,18 @@ bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, 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)
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, 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 SHIFT, ESCAPE, exec, plasma-systemmonitor # TODO add my own monitor
bind = $mainMod, B, exec, pkill waybar || uwsm app waybar
bind = $mainMod SHIFT, ESCAPE, exec, uwsm app plasma-systemmonitor # TODO add my own monitor
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')"

View File

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

View File

@@ -1,14 +1,7 @@
local on_attach = require("nvchad.configs.lspconfig").on_attach
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
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
lspconfig[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end
vim.lsp.enable(servers)

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>oh", ":MoltenHideOutput<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,10 +6,29 @@ local autocmd = vim.api.nvim_create_autocmd
-- command = "tabdo wincmd =",
-- })
-- Auto unfold all when entering a buffer
autocmd("BufWinEnter", { pattern = "*", command = "silent! :%foldopen!" })
autocmd({ "FileType" }, {
callback = function()
-- Hyrplang filetype
-- check if treesitter has parser
if require("nvim-treesitter.parsers").has_parser() then
-- use treesitter folding
vim.opt.foldmethod = "expr"
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
else
-- use alternative foldmethod
vim.opt.foldmethod = "syntax"
end
end,
})
-- disable folding on startup
vim.opt.foldenable = false
-- disable folding on loading
vim.opt.foldlevel = 20
-- Hyrplang filetype
vim.filetype.add({
pattern = { [".*/hypr/.*%.conf"] = "hyprlang" },
})

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -18,3 +18,4 @@ theme='style-5'
rofi \
-show drun \
-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

View File

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

View File

@@ -42,7 +42,7 @@
"default": ["󰸈", "󰕿", "󰖀", "󰕾"]
},
"on-click": "~/.config/rofi/applets/bin/volume.sh",
"on-click-right": "pavucontrol"
"on-click-right": "uwsm app pavucontrol"
},
"bluetooth": {
@@ -51,7 +51,7 @@
"format-connected": " {num_connections}",
"tooltip-format-enumerate-connected": "{device_alias}",
"tooltip-format-connected": "{device_enumerate}",
"on-click": "blueman-manager"
"on-click": "uwsm app blueman-manager"
},
"temperature": {
@@ -129,7 +129,7 @@
"custom/quit": {
"format": " 󰗼 ",
"tooltip": false,
"on-click": "hyprctl dispatch exit"
"on-click": "uwsm stop"
},
"custom/lock": {
"format": " 󰍁 ",

View File

@@ -17,6 +17,7 @@ button {
box-shadow: inset 0 -3px transparent;
border: none;
border-radius: 10px;
color: @text;
}
@@ -71,7 +72,7 @@ button {
border-radius: 0px 10px 10px 0px; /* Adjust as needed */
padding: 3px 10px;
color: @text;
min-width: 130px;
min-width: 80px;
}
#backlight {
@@ -108,6 +109,7 @@ button {
border-radius: 10px;
padding: 3px 5px;
margin-left: 3px;
color: @text;
}
#battery {

View File

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

View File

@@ -1,5 +1,5 @@
# 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_DATA_HOME="$HOME/.local/share"
@@ -7,8 +7,6 @@ XDG_CONFIG_HOME="$HOME/.config"
XDG_STATE_HOME="$HOME/.local/state"
XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME XDG_CONFIG_HOME XDG_STATE_HOME XDG_CACHE_HOME
# android-studio
export ANDROID_HOME="$XDG_DATA_HOME"/android
# gnupg
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
# less
@@ -156,6 +154,8 @@ export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
# use yosys ghdl plugin
#alias yosys="yosys -m ghdl.so"
export VUNIT_MODELSIM_PATH="/home/laszlo.parkanyi/.local/bin/modelsim_dlx/bin/"
# virtualenv automation functions
# usage
# $ mkvenv myvirtualenv # creates venv under $XDG_STATE_HOME/virtualenvs/