diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fcaefe4
--- /dev/null
+++ b/.gitignore
@@ -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
diff --git a/README.md b/README.md
index ba2e67e..ca46dd1 100644
--- a/README.md
+++ b/README.md
@@ -9,14 +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 & sddm & 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-1.7.5+wayland2-3.fc40.x86_64` (find it in downloads or fedora build system) until ABI is fixed, rofi-devel, then compile this by hand: https://github.com/svenstaro/rofi-calc
-- sddm: dependency: `qt6-qtquickcontrols2 qt6-qtsvg`, copy `sddm/sddm.conf` -> `/etc/sddm.conf` & `sddm/themes/catppuccin-macchiato` -> `/usr/share/sddm/themes/` then `# systemctl set-default graphical.target`
+- 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/`.
+ 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/`
@@ -26,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`
@@ -40,6 +42,8 @@ To automatically setup the system, use the script `fedora.sh`, or run trough the


+# Licensing
+Licensed under the unlicense, unless stated otherwise in the file (eg. regreet.toml is under GPL-v3, as it is part of the regreet project)
# Thanks to:
- [Kosmx](https://github.com/KosmX/) for providing help and [dotfiles to steal from](https://github.com/KosmX/hypr-dots)
diff --git a/dnf_packages.list b/dnf_packages.list
index 818cd52..c0a36ef 100644
--- a/dnf_packages.list
+++ b/dnf_packages.list
@@ -1,161 +1,180 @@
-NetworkManager-1:1.50.0-1.fc41.x86_64
-NetworkManager-bluetooth-1:1.50.0-1.fc41.x86_64
+NetworkManager-1:1.50.3-1.fc41.x86_64
+NetworkManager-bluetooth-1:1.50.3-1.fc41.x86_64
NetworkManager-openvpn-1:1.12.0-2.fc41.x86_64
NetworkManager-sstp-1:1.3.1-9.fc41.x86_64
-NetworkManager-wifi-1:1.50.0-1.fc41.x86_64
-SwayNotificationCenter-0:0.10.1-1.fc41.x86_64
+NetworkManager-wifi-1:1.50.3-1.fc41.x86_64
+SwayNotificationCenter-0:0.11.0-1.fc41.x86_64
acpi-0:1.7-24.fc41.x86_64
adw-gtk3-theme-0:5.6-1.fc41.noarch
+ani-cli-0:4.10.0-1.fc41.noarch
audit-0:4.0.3-1.fc41.x86_64
authselect-0:1.5.0-8.fc41.x86_64
automake-0:1.16.5-17.fc41.noarch
basesystem-0:11-21.fc41.noarch
bash-0:5.2.32-1.fc41.x86_64
-blueman-1:2.4.3-1.fc41.x86_64
+bind-utils-32:9.18.33-1.fc41.x86_64
+blueman-1:2.4.4-2.fc41.x86_64
brightnessctl-0:0.5.1-12.fc41.x86_64
btop-0:1.4.0-1.fc41.x86_64
btrfs-progs-0:6.12-1.fc41.x86_64
+cairo-gobject-devel-0:1.18.2-2.fc41.x86_64
+cargo-0:1.86.0-1.fc41.x86_64
chrony-0:4.6.1-1.fc41.x86_64
-clang-0:19.1.5-1.fc41.x86_64
-clean-rpm-gpg-pubkey-0:0-2.20210505gitebb9ab1.fc41.noarch
+clang-0:19.1.7-3.fc41.x86_64
+clean-rpm-gpg-pubkey-0:0-5.20250322gitfc87e2c.fc41.noarch
cliphist-0:0.6.1-1.fc41.1.x86_64
-cmake-0:3.30.5-1.fc41.x86_64
+cmake-0:3.30.8-1.fc41.x86_64
+compat-lua-0:5.1.5-26.fc41.x86_64
coreutils-0:9.5-11.fc41.x86_64
curl-0:8.9.1-3.fc41.x86_64
dconf-editor-0:45.0.1-5.fc41.x86_64
dhcp-client-12:4.4.3-14.P1.fc41.x86_64
-dnf5-0:5.2.8.1-3.fc41.x86_64
-dnf5-plugins-0:5.2.8.1-3.fc41.x86_64
+dnf5-0:5.2.13.1-1.fc41.x86_64
+dnf5-plugins-0:5.2.13.1-1.fc41.x86_64
dosfstools-0:4.2-13.fc41.x86_64
dracut-config-rescue-0:103-3.fc41.x86_64
e2fsprogs-0:1.47.1-6.fc41.x86_64
efibootmgr-0:18-7.fc41.x86_64
eog-0:47.0-1.fc41.x86_64
+esptool-0:4.8.1-1.fc41.noarch
evolution-0:3.54.3-1.fc41.x86_64
-fastfetch-0:2.34.1-1.fc41.x86_64
-ffmpeg-0:7.0.2-4.fc41.x86_64
+fastfetch-0:2.41.0-1.fc41.x86_64
+ffmpeg-0:7.1.1-6.fc41.x86_64
filesystem-0:3.18-23.fc41.x86_64
firewalld-0:2.2.3-2.fc41.noarch
flatpak-0:1.16.0-1.fc41.x86_64
+fldigi-0:4.2.06-1.fc41.x86_64
fontawesome4-fonts-1:4.7.0-23.fc41.noarch
-fwupd-0:1.9.27-1.fc41.x86_64
-fzf-0:0.57.0-1.fc41.x86_64
-gdb-0:15.2-4.fc41.x86_64
+fwupd-0:1.9.29-1.fc41.x86_64
+fzf-0:0.62.0-1.fc41.x86_64
+gdb-0:16.3-1.fc41.x86_64
gedit-2:46.2-5.fc41.x86_64
-git-0:2.48.1-1.fc41.x86_64
-glibc-0:2.40-17.fc41.i686
-glibc-0:2.40-17.fc41.x86_64
+ghdl-0:6.0.0-20250512.0.git29fd54de.fc41.x86_64
+ghdl-llvm-0:6.0.0-20250512.0.git29fd54de.fc41.x86_64
+git-0:2.49.0-1.fc41.x86_64
+glibc-0:2.40-25.fc41.i686
+glibc-0:2.40-25.fc41.x86_64
+glmark2-0:2023.01-6.fc41.x86_64
gnome-disk-utility-0:46.1-1.fc41.x86_64
gnome-font-viewer-0:47.0-1.fc41.x86_64
gnome-keyring-0:46.2-2.fc41.x86_64
gnome-keyring-pam-0:46.2-2.fc41.x86_64
-golang-0:1.23.4-1.fc41.x86_64
+golang-0:1.23.8-1.fc41.x86_64
google-roboto-fonts-0:2.138-18.fc41.noarch
-grub2-efi-x64-1:2.12-15.fc41.x86_64
-grub2-efi-x64-modules-1:2.12-15.fc41.noarch
-grub2-pc-1:2.12-15.fc41.x86_64
-grub2-tools-1:2.12-15.fc41.x86_64
-grub2-tools-extra-1:2.12-15.fc41.x86_64
+greetd-0:0.10.3-2.fc41.x86_64
+grub2-efi-x64-1:2.12-21.fc41.x86_64
+grub2-efi-x64-modules-1:2.12-21.fc41.noarch
+grub2-pc-1:2.12-21.fc41.x86_64
+grub2-tools-1:2.12-21.fc41.x86_64
+grub2-tools-extra-1:2.12-21.fc41.x86_64
grubby-0:8.40-78.fc41.x86_64
+gtk4-devel-0:4.16.13-1.fc41.x86_64
+gtkwave-0:3.4.0-20250117.0.git4435a9ef.fc41.x86_64
gvfs-fuse-0:1.56.1-1.fc41.x86_64
gvfs-smb-0:1.56.1-1.fc41.x86_64
hostname-0:3.23-13.fc41.x86_64
htop-0:3.3.0-4.fc41.x86_64
-hypridle-0:0.1.3-2.fc41.x86_64
-hyprland-0:0.46.2-4.fc41.x86_64
-hyprlock-0:0.6.1-1.fc41.x86_64
-hyprpaper-0:0.7.3-2.fc41.x86_64
+hypridle-0:0.1.6-3.fc41.x86_64
+hyprland-0:0.49.0-1.fc41.x86_64
+hyprlock-0:0.8.2-1.fc41.x86_64
+hyprpaper-0:0.7.5-1.fc41.x86_64
hyprpolkitagent-0:0.1.2-1.fc41.x86_64
-hyprsunset-0:0.1.0-2.fc41.x86_64
+hyprsunset-0:0.2.0-3.fc41.x86_64
iproute-0:6.10.0-1.fc41.x86_64
iputils-0:20240905-1.fc41.x86_64
-iwlwifi-dvm-firmware-0:20241210-1.fc41.noarch
-iwlwifi-mvm-firmware-0:20241210-1.fc41.noarch
+iwlwifi-dvm-firmware-0:20250410-1.fc41.noarch
+iwlwifi-mvm-firmware-0:20250410-1.fc41.noarch
kbd-0:2.6.4-4.fc41.x86_64
-kdeconnectd-0:24.12.1-1.fc41.x86_64
-kernel-0:6.12.7-200.fc41.x86_64
-kernel-0:6.12.8-200.fc41.x86_64
-kernel-0:6.12.9-200.fc41.x86_64
-kernel-core-0:6.12.7-200.fc41.x86_64
-kernel-core-0:6.12.8-200.fc41.x86_64
-kernel-core-0:6.12.9-200.fc41.x86_64
-kernel-modules-0:6.12.7-200.fc41.x86_64
-kernel-modules-0:6.12.8-200.fc41.x86_64
-kernel-modules-0:6.12.9-200.fc41.x86_64
-kernel-modules-core-0:6.12.7-200.fc41.x86_64
-kernel-modules-core-0:6.12.8-200.fc41.x86_64
-kernel-modules-core-0:6.12.9-200.fc41.x86_64
-kitty-0:0.38.1-2.fc41.x86_64
+kdeconnectd-0:25.04.0-1.fc41.x86_64
+kernel-0:6.14.4-200.fc41.x86_64
+kernel-0:6.14.5-200.fc41.x86_64
+kernel-0:6.14.6-200.fc41.x86_64
+kernel-core-0:6.14.4-200.fc41.x86_64
+kernel-core-0:6.14.5-200.fc41.x86_64
+kernel-core-0:6.14.6-200.fc41.x86_64
+kernel-modules-0:6.14.4-200.fc41.x86_64
+kernel-modules-0:6.14.5-200.fc41.x86_64
+kernel-modules-0:6.14.6-200.fc41.x86_64
+kernel-modules-core-0:6.14.4-200.fc41.x86_64
+kernel-modules-core-0:6.14.5-200.fc41.x86_64
+kernel-modules-core-0:6.14.6-200.fc41.x86_64
+kitty-0:0.41.1-1.fc41.x86_64
langpacks-en-0:4.1-2.fc41.noarch
-less-0:661-2.fc41.x86_64
+less-0:668-1.fc41.x86_64
libtool-0:2.4.7-12.fc41.x86_64
light-0:1.2.2-14.fc41.x86_64
lsof-0:4.98.0-5.fc41.x86_64
+luarocks-0:3.9.2-6.fc41.noarch
man-db-0:2.12.1-2.fc41.x86_64
-materia-kde-sddm-0:20220823-6.fc41.noarch
mpv-0:0.39.0-1.fc41.x86_64
mpv-mpris-0:1.1-4.fc41.x86_64
-nautilus-0:47.1-1.fc41.x86_64
+nautilus-0:47.4-1.fc41.x86_64
ncurses-0:6.5-2.20240629.fc41.x86_64
-neovim-0:0.10.3-2.fc41.x86_64
+neovim-0:0.10.4-1.fc41.x86_64
+nextpnr-1:0.8-20250513.0.git46fbe7c6.fc41.x86_64
nm-connection-editor-desktop-0:1.36.0-3.fc41.x86_64
nmap-4:7.92-3.fc41.x86_64
-nodejs-1:22.11.0-3.fc41.x86_64
-nvtop-0:3.1.0-3.fc41.x86_64
-nwg-look-0:1.0.0-1.fc41.x86_64
+nodejs-1:22.15.0-2.fc41.x86_64
+nvtop-0:3.2.0-3.fc41.x86_64
+nwg-look-0:1.0.5-1.fc41.x86_64
opendoas-0:6.8.2-7.fc41.x86_64
-openssh-clients-0:9.8p1-3.fc41.2.x86_64
-openssh-server-0:9.8p1-3.fc41.2.x86_64
+openfpgaloader-0:0.13.1-20250510.0.git40a588fb.fc41.x86_64
+openssh-clients-0:9.9p1-3.fc41.x86_64
+openssh-server-0:9.9p1-3.fc41.x86_64
+pango-devel-0:1.56.3-1.fc41.x86_64
parted-0:3.6-7.fc41.x86_64
pavucontrol-0:6.1-1.fc41.x86_64
plymouth-0:24.004.60-14.fc41.x86_64
plymouth-plugin-two-step-0:24.004.60-14.fc41.x86_64
-policycoreutils-0:3.7-6.fc41.x86_64
+podman-compose-0:1.3.0-2.fc41.noarch
+podman-docker-5:5.4.2-1.fc41.noarch
+policycoreutils-0:3.7-8.fc41.x86_64
pop-icon-theme-0:3.5.0-2.fc41.noarch
+prjxray-0:0.0.1-20250424.0.git08353c97.fc41.x86_64
+prjxray-data-0:0.0.1-20250424.0.git08353c97.fc41.noarch
procps-ng-0:4.0.4-4.fc41.x86_64
-python3-dnf-plugin-versionlock-0:4.10.0-1.fc41.noarch
+python3-dnf-plugin-versionlock-0:4.10.1-1.fc41.noarch
python3-neovim-0:0.5.2-2.fc41.noarch
python3-virtualenv-0:20.21.1-25.fc41.noarch
qalculate-0:5.2.0-3.fc41.x86_64
qt-1:4.8.7-77.fc41.x86_64
-qt5-qtquickcontrols2-0:5.15.15-1.fc41.x86_64
-qt5-qtsvg-0:5.15.15-1.fc41.x86_64
qt5-qtwayland-0:5.15.15-1.fc41.x86_64
-qt6-qtsvg-0:6.8.1-2.fc41.x86_64
-qt6-qtwayland-0:6.8.1-2.fc41.x86_64
+qt6-qtwayland-0:6.8.2-1.fc41.x86_64
qt6ct-0:0.9-11.fc41.x86_64
ranger-0:1.9.4-1.fc41.noarch
-remove-retired-packages-0:41.2-1.fc41.noarch
+remove-retired-packages-0:42.1-1.fc41.noarch
ripgrep-0:14.1.1-1.fc41.x86_64
rocm-smi-0:6.2.1-1.fc41.x86_64
-rofi-devel-0:1.7.5-6.fc41.x86_64
-rofi-wayland-0:1.7.5+wayland2-3.fc40.x86_64
+rofi-devel-0:1.7.8-1.fc41.x86_64
+rofi-wayland-0:1.7.8+wayland1-1.fc41.x86_64
rootfiles-0:8.1-37.fc41.noarch
-rpm-0:4.20.0-1.fc41.x86_64
+rpm-0:4.20.1-1.fc41.x86_64
rpmconf-0:1.1.11-3.fc41.noarch
rpmfusion-free-release-0:41-1.noarch
-sddm-0:0.21.0-6.fc41.x86_64
+screen-0:4.9.1-2.fc41.x86_64
seahorse-0:47.0.1-1.fc41.x86_64
-selinux-policy-targeted-0:41.28-1.fc41.noarch
+selinux-policy-targeted-0:41.39-1.fc41.noarch
setup-0:2.15.0-8.fc41.noarch
shadow-utils-2:4.15.1-12.fc41.x86_64
shim-x64-0:15.8-3.x86_64
-sqlite-0:3.46.1-1.fc41.x86_64
-sssd-common-0:2.10.1-1.fc41.x86_64
-sssd-kcm-0:2.10.1-1.fc41.x86_64
+sqlite-0:3.46.1-3.fc41.x86_64
+sssd-common-0:2.10.2-1.fc41.x86_64
+sssd-kcm-0:2.10.2-1.fc41.x86_64
sudo-0:1.9.15-5.p5.fc41.x86_64
symlinks-0:1.7-11.fc41.x86_64
-systemd-0:256.11-1.fc41.x86_64
-systemd-resolved-0:256.11-1.fc41.x86_64
+systemd-0:256.12-1.fc41.x86_64
+systemd-resolved-0:256.12-1.fc41.x86_64
tlp-0:1.6.1-1.fc41.noarch
toolbox-0:0.1.1-1.fc41.x86_64
udiskie-0:2.5.3-5.fc41.noarch
unzip-0:6.0-64.fc41.x86_64
util-linux-0:2.40.4-1.fc41.x86_64
-vim-minimal-2:9.1.1000-1.fc41.x86_64
-waybar-git-0:0.11.0^25.gita4241d7-1.fc41.x86_64
-wine-0:10.0-0.7rc4.fc41.x86_64
-xdg-user-dirs-0:0.18-5.fc41.x86_64
+vim-minimal-2:9.1.1275-1.fc41.x86_64
+wavemon-0:0.9.6-1.fc41.x86_64
+waybar-git-0:0.12.0^10.git0332d2e-1.fc41.x86_64
+wine-0:10.4-2.fc41.x86_64
+xdg-user-dirs-0:0.18-9.fc41.x86_64
xsettingsd-0:1.0.2-9.fc41.x86_64
+yosys-0:0.53-20250510.0.git69008181.fc41.x86_64
zram-generator-defaults-0:1.1.2-12.fc41.noarch
zsh-0:5.9-15.fc41.x86_64
diff --git a/fedora.sh b/fedora.sh
old mode 100644
new mode 100755
index cfea1aa..eb8bc17
--- a/fedora.sh
+++ b/fedora.sh
@@ -11,24 +11,38 @@ replace_config_line () {
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" "best" "False"
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" "defaultyes" "True"
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
-}
+replace_config_line "/etc/dnf/dnf.conf" "max_parallel_downloads" "10"
# Enable extra repos
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 derisis13/ani-cli
+sudo dnf copr enable rezso/hdl
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
# Edit then install packages
@@ -41,26 +55,48 @@ 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}
-curl -O -fsSL https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/FiraCode.zip && unzip FiraCode.zip *.ttf -d ~/.local/share/fonts/
+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"
# Install background and hyprland stuff
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
-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 sddm
-ensure_installed sddm qt6-qtsvg qt5-qtquickcontrols2
-sudo cp ~/.config/sddm/sddm.conf /etc/sddm.conf
-sudo cp -r ~/.config/sddm/themes/catpuccin-macchiatto /usr/share/sddm/themes/
+# Install ReGreet
+ensure_installed cargo gtk4-devel cairo-gobject-devel pango-devel greetd
+sudo usermod -a -G video greetd
+sudo cp -r ~/.config/regreet/greetd/* /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/regreet/tmpfiles.conf /etc/tmpfiles.d/regreet.conf
+mkdir -p ~/.local/bin/build_stage/
+git clone https://github.com/rharish101/ReGreet.git ~/.local/bin/build_stage/ReGreet &&
+ cd ~/.local/bin/build_stage/ReGreet/ &&
+ cargo build --release &&
+ sudo cp ./target/release/regreet /usr/bin/ &&
+ systemctl enable greetd.service
+cd
# Install grub
ensure_installed grub2-common
@@ -75,15 +111,15 @@ 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)
-sudo dnf install --allowerasing --assumeyes https://kojipkgs.fedoraproject.org//packages/rofi-wayland/1.7.5+wayland2/3.fc40/$(uname -m)/rofi-wayland-1.7.5+wayland2-3.fc40.$(uname -m).rpm
-ensure_installed rofi-devel qalculate automake libtool
-git clone https://github.com/svenstaro/rofi-calc && cd rofi-calc && mkdir m4 && autoreconf -i && mkdir build && cd build && ../configure && make && sudo make install && cd ../.. && rm -rf rofi-calc
+ensure_installed rofi-wayland rofi-devel qalculate meson libtool cairo-devel
+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
# kdeconnect
ensure_installed kdeconnectd
@@ -95,7 +131,7 @@ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.f
flatpak install flatseal librewolf
# set up neovim
-ensure_installed neovim clang unzip npm ripgrep go
+ensure_installed neovim clang unzip npm ripgrep go luarocks
nvim
# to finalize it all
diff --git a/gtk-3.0/settings.ini b/gtk-3.0/settings.ini
index f19ad18..0e2b90e 100755
--- a/gtk-3.0/settings.ini
+++ b/gtk-3.0/settings.ini
@@ -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
diff --git a/gtk-4.0/settings.ini b/gtk-4.0/settings.ini
old mode 100755
new mode 100644
index 7c6461a..60353fc
--- a/gtk-4.0/settings.ini
+++ b/gtk-4.0/settings.ini
@@ -1,2 +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
+gtk-application-prefer-dark-theme=1
diff --git a/hypr/env.conf b/hypr/env.conf
deleted file mode 100755
index 1e8c68c..0000000
--- a/hypr/env.conf
+++ /dev/null
@@ -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/
diff --git a/hypr/exec.conf b/hypr/exec.conf
index 00f38f6..6930095 100755
--- a/hypr/exec.conf
+++ b/hypr/exec.conf
@@ -8,30 +8,29 @@
# exec-once = waybar & hyprpaper & firefox
-exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
-exec-once = hyprpaper
-exec-once = waybar
-exec-once = swaync
+exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP DISPLAY
+#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
diff --git a/hypr/hypridle.conf b/hypr/hypridle.conf
index 36f0cd7..a8662da 100644
--- a/hypr/hypridle.conf
+++ b/hypr/hypridle.conf
@@ -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.
}
@@ -19,17 +19,17 @@ listener {
# }
listener {
- timeout = 300 # 5min
+ timeout = 1800 # 30 min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
- timeout = 330 # 5.5min
+ timeout = 1800 # 30 min
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
}
-listener {
- timeout = 1800 # 30min
- on-timeout = systemctl suspend # suspend pc
-}
+#listener {
+# timeout = 1800 # 30min
+# on-timeout = systemctl suspend # suspend pc
+#}
diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf
index a26e165..42b045e 100755
--- a/hypr/hyprland.conf
+++ b/hypr/hyprland.conf
@@ -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
@@ -29,8 +27,12 @@ source=./macchiato.conf
# Window rules
-windowrulev2 = center, class:^(Rofi)$
-windowrulev2 = stayfocused, class:^(Rofi)$
+windowrule {
+ name = windowrule-1
+ center = on
+ stay_focused = on
+ match:class = ^(Rofi)$
+}
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
@@ -52,9 +54,9 @@ input {
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
- gaps_in = 1
- gaps_out = 2
- border_size = 1
+ gaps_in = 2
+ gaps_out = 4
+ border_size = 2
col.active_border = $blue
col.inactive_border = $overlay0
@@ -100,7 +102,7 @@ animations {
dwindle {
# 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
}
@@ -111,9 +113,9 @@ master {
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
- workspace_swipe = on
- workspace_swipe_fingers = 3
- workspace_swipe_invert = false
+ # workspace_swipe = on
+ # workspace_swipe_fingers = 3
+ # workspace_swipe_invert = false
}
xwayland {
@@ -128,18 +130,6 @@ misc {
#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
debug:disable_logs = false
diff --git a/hypr/hyprlock.conf b/hypr/hyprlock.conf
index 96d4dca..e7bea44 100644
--- a/hypr/hyprlock.conf
+++ b/hypr/hyprlock.conf
@@ -58,7 +58,7 @@ label {
# INPUT FIELD
input-field {
monitor =
- size = 300, 60
+ size = 900, 60
outline_thickness = 4
dots_size = 0.2
dots_spacing = 0.2
diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf
index 6b06f2e..582a38e 100755
--- a/hypr/hyprpaper.conf
+++ b/hypr/hyprpaper.conf
@@ -1,6 +1,7 @@
-preload = /home/ha5pls/.local/share/backgrounds/eKxlw8.jpg
-
-wallpaper = ,/home/ha5pls/.local/share/backgrounds/eKxlw8.jpg
+wallpaper {
+ monitor =
+ path = /home/ha5pls/.local/share/backgrounds/eKxlw8.jpg
+}
splash = false
diff --git a/hypr/keybinds.conf b/hypr/keybinds.conf
index 9b3e838..5f340cd 100755
--- a/hypr/keybinds.conf
+++ b/hypr/keybinds.conf
@@ -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, O, togglesplit, # dwindle
+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')"
diff --git a/kitty/kitty.conf b/kitty/kitty.conf
index 4a0bd36..98da8f0 100644
--- a/kitty/kitty.conf
+++ b/kitty/kitty.conf
@@ -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
diff --git a/nvim/lua/chadrc.lua b/nvim/lua/chadrc.lua
index 1d1455b..1fde299 100755
--- a/nvim/lua/chadrc.lua
+++ b/nvim/lua/chadrc.lua
@@ -1,7 +1,7 @@
local options = {
base46 = {
- theme = "catppuccin", -- default theme
+ theme = "eldritch", -- default theme
hl_add = {},
hl_override = {},
integrations = {},
@@ -11,7 +11,7 @@ local options = {
},
},
transparency = true,
- theme_toggle = { "catppuccin", "one_light" },
+ theme_toggle = { "eldritch", "one_light" },
},
ui = {
diff --git a/nvim/lua/configs/lazy.lua b/nvim/lua/configs/lazy.lua
index cd170bd..4e40866 100644
--- a/nvim/lua/configs/lazy.lua
+++ b/nvim/lua/configs/lazy.lua
@@ -34,7 +34,7 @@ return {
"zip",
"zipPlugin",
"tutor",
- "rplugin",
+ -- "rplugin",
"syntax",
"synmenu",
"optwin",
diff --git a/nvim/lua/configs/lspconfig.lua b/nvim/lua/configs/lspconfig.lua
index da4d686..a3b82dc 100755
--- a/nvim/lua/configs/lspconfig.lua
+++ b/nvim/lua/configs/lspconfig.lua
@@ -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)
diff --git a/nvim/lua/mappings.lua b/nvim/lua/mappings.lua
index 689e702..36ce8e5 100755
--- a/nvim/lua/mappings.lua
+++ b/nvim/lua/mappings.lua
@@ -97,3 +97,32 @@ end, { desc = "Gitsigns Blame line" })
map("n", "td", function()
require("gitsigns").toggle_deleted()
end, { desc = "Gitsigns Toggle deleted" })
+
+-- molten related mappings
+map("n", "ip", function()
+ local venv = os.getenv("VIRTUAL_ENV") or os.getenv("CONDA_PREFIX")
+ if venv ~= nil then
+ -- in the form of /home/ha5pls/.local/state/virtualenvs/VENV_NAME
+ venv = string.match(venv, "/.+/(.+)")
+ vim.cmd(("MoltenInit %s"):format(venv))
+ else
+ vim.cmd("MoltenInit python3")
+ end
+end, { desc = "Initialize Molten for python3" })
+map("n", "mi", ":MoltenInit")
+map("n", "me", ":MoltenEvaluateOperator")
+map("n", "rr", ":MoltenReevaluateCell")
+map("v", "r", ":MoltenEvaluateVisualgv")
+map("n", "os", ":noautocmd MoltenEnterOutput")
+map("n", "oh", ":MoltenHideOutput")
+map("n", "md", ":MoltenDelete")
+
+map({"n", "v", "x"}, "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)'})
diff --git a/nvim/lua/myinit.lua b/nvim/lua/myinit.lua
index d668f58..80a9279 100755
--- a/nvim/lua/myinit.lua
+++ b/nvim/lua/myinit.lua
@@ -6,25 +6,44 @@ local autocmd = vim.api.nvim_create_autocmd
-- command = "tabdo wincmd =",
-- })
--- Auto unfold all when entering a buffer
-autocmd("BufWinEnter", { pattern = "*", command = "silent! :%foldopen!" })
--- Hyrplang filetype
+-- 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" },
})
-- Hyprlang LSP
autocmd({'BufEnter', 'BufWinEnter'}, {
- pattern = {"*.hl", "hypr*.conf"},
- callback = function(event)
- print(string.format("starting hyprls for %s", vim.inspect(event)))
- vim.lsp.start {
- name = "hyprlang",
- cmd = {"hyprls"},
- root_dir = vim.fn.getcwd(),
- }
- end
+ pattern = {"*.hl", "hypr*.conf"},
+ callback = function(event)
+ print(string.format("starting hyprls for %s", vim.inspect(event)))
+ vim.lsp.start {
+ name = "hyprlang",
+ cmd = {"hyprls"},
+ root_dir = vim.fn.getcwd(),
+ }
+ end
})
vim.g.vscode_snippets_path = "~/.config/nvim/snippets"
vim.opt.relativenumber = true
+vim.opt.tabstop = 4
+vim.opt.shiftwidth = 4
+vim.opt.expandtab = true
+
+-- use prepared venv, mostly for molten
+local enable_providers = {
+ "python3_provider",
+ -- and so on
+ }
+
+ for _, plugin in pairs(enable_providers) do
+ vim.g["loaded_" .. plugin] = nil
+ vim.cmd("runtime " .. plugin)
+ end
+
+vim.g.python3_host_prog = vim.fn.expand(os.getenv("XDG_STATE_HOME") .. "/virtualenvs/neovim/bin/python3")
diff --git a/nvim/lua/plugins/init.lua b/nvim/lua/plugins/init.lua
index 14e1e91..8afe996 100644
--- a/nvim/lua/plugins/init.lua
+++ b/nvim/lua/plugins/init.lua
@@ -1,110 +1,145 @@
return {
- {
- "stevearc/conform.nvim",
- -- event = 'BufWritePre', -- uncomment for format on save
- config = function()
- require "configs.conform"
- end,
- },
-
- {
- "neovim/nvim-lspconfig",
- config = function()
- require "nvchad.configs.lspconfig"
- require "configs.lspconfig"
- end, -- Override to setup mason-lspconfig
- },
-
- -- override plugin configs
- {
- "williamboman/mason.nvim",
- opts = {
- ensure_installed = {
- -- lua stuff
- "lua-language-server",
- "stylua",
-
- -- c/cpp stuff
- "clangd",
- "clang-format",
-
- -- python
- "pyright@1.1.351", -- newer versions have node skill issue
- "autopep8",
-
- -- latex/markdown stuff
- "ltex-ls",
- "bibtex-tidy",
-
- -- shell
- "shellcheck",
-
- -- Hyprlang
- "hyrpls",
-
- -- hdl
- "rust_hdl",
- },
+ {
+ "stevearc/conform.nvim",
+ -- event = 'BufWritePre', -- uncomment for format on save
+ config = function()
+ require "configs.conform"
+ end,
},
- },
- {
- "nvim-treesitter/nvim-treesitter",
- opts = {
- ensure_installed = {
- "vim",
- "lua",
- "html",
- "css",
- "c",
- "cpp",
- "markdown",
- "markdown_inline",
- "yaml",
- "python",
- "latex",
- "vhdl",
- "hyprlang",
- },
- indent = {
- enable = true,
- -- disable = {
- -- "python"
- -- },
- },
+ {
+ "neovim/nvim-lspconfig",
+ config = function()
+ require "nvchad.configs.lspconfig"
+ require "configs.lspconfig"
+ end, -- Override to setup mason-lspconfig
},
- },
- {
- "nvim-tree/nvim-tree.lua",
- opts = {
- git = {
- enable = true,
- },
- renderer = {
- highlight_git = true,
- icons = {
- show = {
- git = true,
- },
+ -- override plugin configs
+ {
+ "williamboman/mason.nvim",
+ opts = {
+ ensure_installed = {
+ -- lua stuff
+ "lua-language-server",
+ "stylua",
+
+ -- c/cpp stuff
+ "clangd",
+ "clang-format",
+
+ -- python
+ "pyright@1.1.351", -- newer versions have node skill issue
+ "autopep8",
+
+ -- latex/markdown stuff
+ "ltex-ls",
+ "bibtex-tidy",
+
+ -- shell
+ "shellcheck",
+
+ -- Hyprlang
+ "hyrpls",
+
+ -- hdl
+ "rust_hdl",
+ },
},
- },
},
- },
- {
- "stevearc/conform.nvim",
- -- for users those who want auto-save conform + lazyloading!
- event = "BufWritePre",
- config = function()
- require "configs.conform"
- end,
- },
+ {
+ "nvim-treesitter/nvim-treesitter",
+ opts = {
+ ensure_installed = {
+ "vim",
+ "lua",
+ "html",
+ "css",
+ "c",
+ "cpp",
+ "markdown",
+ "markdown_inline",
+ "yaml",
+ "python",
+ "latex",
+ "vhdl",
+ "hyprlang",
+ },
+ indent = {
+ enable = true,
+ -- disable = {
+ -- "python"
+ -- },
+ },
+ },
+ },
- {
- "godlygeek/tabular",
- -- ft = "vhdl", -- temporary solution, but I only need it for vhdl. To be replaced with a real formatter long-term
- cmd = { "GTabularize", "Tabularize" },
- -- lazy = false
- },
+ {
+ "nvim-tree/nvim-tree.lua",
+ opts = {
+ git = {
+ enable = true,
+ },
+ renderer = {
+ highlight_git = true,
+ icons = {
+ show = {
+ git = true,
+ },
+ },
+ },
+ },
+ },
+
+ {
+ "stevearc/conform.nvim",
+ -- for users those who want auto-save conform + lazyloading!
+ event = "BufWritePre",
+ config = function()
+ require "configs.conform"
+ end,
+ },
+
+ {
+ "godlygeek/tabular",
+ -- ft = "vhdl", -- temporary solution, but I only need it for vhdl. To be replaced with a real formatter long-term
+ cmd = { "GTabularize", "Tabularize" },
+ },
+
+ {
+ "benlubas/molten-nvim",
+ -- version = "^1.0.0", -- use version <2.0.0 to avoid breaking changes
+ dependencies = { "3rd/image.nvim" },
+ build = ":UpdateRemotePlugins",
+ init = function()
+ vim.g.molten_image_provider = "image.nvim"
+ vim.g.molten_use_border_highlights = true
+ end,
+ -- lazy = false
+ },
+ {
+ -- see the image.nvim readme for more information about configuring this plugin
+ "3rd/image.nvim",
+ opts = {
+ backend = "kitty", -- whatever backend you would like to use
+ max_width = 100,
+ max_height = 12,
+ max_height_window_percentage = math.huge,
+ max_width_window_percentage = math.huge,
+ window_overlap_clear_enabled = true, -- toggles images when windows are overlapped
+ window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "" },
+ integrations = {
+ markdown = {
+ enabled = true,
+ clear_in_insert_mode = false,
+ download_remote_images = true,
+ only_render_image_at_cursor = false,
+ only_render_image_at_cursor_mode = "popup",
+ floating_windows = false, -- if true, images will be rendered in floating markdown windows
+ filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
+ },
+ }, -- do whatever you want with image.nvim's integrations
+ },
+ }
}
diff --git a/plymouth/themes/fedora-mac-style/fedora-mac-style.plymouth b/plymouth/themes/fedora-mac-style/fedora-mac-style.plymouth
index 997b257..93d3a39 100755
--- a/plymouth/themes/fedora-mac-style/fedora-mac-style.plymouth
+++ b/plymouth/themes/fedora-mac-style/fedora-mac-style.plymouth
@@ -32,7 +32,7 @@ MessageBelowAnimation=true
UseEndAnimation=true
UseFirmwareBackground=false
Title=HA5PLS
-SubTitle=CQ DE INSPIRON-5558
+SubTitle=CQ DE CLAVIUS
[shutdown]
UseEndAnimation=true
diff --git a/regreet/greetd/config.toml b/regreet/greetd/config.toml
new file mode 100644
index 0000000..9171f10
--- /dev/null
+++ b/regreet/greetd/config.toml
@@ -0,0 +1,10 @@
+[terminal]
+# The VT to run the greeter on. Can be "next", "current" or a number
+# designating the VT.
+vt = current
+
+# The default session, also known as the greeter.
+[default_session]
+command = "Hyprland --config /etc/greetd/hyprland.conf"
+user = "greetd"
+
diff --git a/regreet/greetd/hyprland.conf b/regreet/greetd/hyprland.conf
new file mode 100644
index 0000000..517a55b
--- /dev/null
+++ b/regreet/greetd/hyprland.conf
@@ -0,0 +1,8 @@
+exec-once = regreet; hyprctl dispatch exit
+input {
+ kb_layout = hu
+}
+misc {
+ disable_hyprland_logo = true
+ disable_splash_rendering = true
+}
diff --git a/regreet/greetd/regreet.toml b/regreet/greetd/regreet.toml
new file mode 100644
index 0000000..d2c4a26
--- /dev/null
+++ b/regreet/greetd/regreet.toml
@@ -0,0 +1,69 @@
+# SPDX-FileCopyrightText: 2022 Harish Rajagopal
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+[background]
+# Path to the background image
+path = "/etc/greetd/eKxlw8.jpg"
+
+# How the background image covers the screen if the aspect ratio doesn't match
+# Available values: "Fill", "Contain", "Cover", "ScaleDown"
+# Refer to: https://docs.gtk.org/gtk4/enum.ContentFit.html
+# NOTE: This is ignored if ReGreet isn't compiled with GTK v4.8 support.
+fit = "Cover"
+
+# The entries defined in this section will be passed to the session as environment variables when it is started
+[env]
+XDG_SESSION_TYPE = "wayland"
+XDG_SESSION_DESKTOP = "Hyprland"
+XDG_CURRENT_DESKTOP = "Hyprland"
+QT_QPA_PLATFORM = "wayland"
+SDL_VIDEODRIVER = "wayland"
+_JAVA_AWT_WM_NONREPARENTING = "1"
+
+[GTK]
+# Whether to use the dark theme
+application_prefer_dark_theme = true
+
+# Cursor theme name
+cursor_theme_name = "Adwaita"
+
+# Font name and size
+font_name = "Roboto 12"
+
+# Icon theme name
+icon_theme_name = "Adwaita"
+
+# GTK theme name
+theme_name = "adw-gtk3-dark"
+
+[commands]
+# The command used to reboot the system
+reboot = ["systemctl", "reboot"]
+
+# The command used to shut down the system
+poweroff = ["systemctl", "poweroff"]
+
+# The command prefix for X11 sessions to start the X server
+x11_prefix = [ "startx", "/usr/bin/env" ]
+
+[appearance]
+# The message that initially displays on startup
+greeting_msg = "CQ DE HA5PLS"
+
+
+[widget.clock]
+# strftime format argument
+# See https://docs.rs/jiff/0.1.14/jiff/fmt/strtime/index.html#conversion-specifications
+format = "%A %H:%M"
+
+# How often to update the text
+resolution = "500ms"
+
+# Override system timezone (IANA Time Zone Database name, aka /etc/zoneinfo path)
+# Remove to use the system time zone.
+timezone = "Europe/Budapest"
+
+# Ask GTK to make the label at least this wide. This helps keeps the parent element layout and width consistent.
+# Experiment with different widths, the interpretation of this value is entirely up to GTK.
+label_width = 150
diff --git a/regreet/tmpfiles.conf b/regreet/tmpfiles.conf
new file mode 100644
index 0000000..ae2131c
--- /dev/null
+++ b/regreet/tmpfiles.conf
@@ -0,0 +1,7 @@
+# SPDX-FileCopyrightText: 2023 Harish Rajagopal
+#
+# SPDX-License-Identifier: CC0-1.0
+
+# Create the log and state directories.
+d /var/log/regreet 0755 greetd greetd - -
+d /var/lib/regreet 0755 greetd greetd - -
diff --git a/rofi/applets/bin/apps.sh b/rofi/applets/bin/apps.sh
index c5d2ea9..1213641 100755
--- a/rofi/applets/bin/apps.sh
+++ b/rofi/applets/bin/apps.sh
@@ -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
diff --git a/rofi/applets/bin/battery.sh b/rofi/applets/bin/battery.sh
index 8117420..6fe57fb 100755
--- a/rofi/applets/bin/battery.sh
+++ b/rofi/applets/bin/battery.sh
@@ -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
diff --git a/rofi/applets/bin/brightness.sh b/rofi/applets/bin/brightness.sh
index 0415ae4..4bb2caf 100755
--- a/rofi/applets/bin/brightness.sh
+++ b/rofi/applets/bin/brightness.sh
@@ -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
}
diff --git a/rofi/applets/bin/powermenu.sh b/rofi/applets/bin/powermenu.sh
index f93e4d3..c63172f 100755
--- a/rofi/applets/bin/powermenu.sh
+++ b/rofi/applets/bin/powermenu.sh
@@ -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
diff --git a/rofi/applets/bin/ppd.sh b/rofi/applets/bin/ppd.sh
new file mode 100755
index 0000000..80276c7
--- /dev/null
+++ b/rofi/applets/bin/ppd.sh
@@ -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
+
diff --git a/rofi/applets/bin/volume.sh b/rofi/applets/bin/volume.sh
index a194592..20de680 100755
--- a/rofi/applets/bin/volume.sh
+++ b/rofi/applets/bin/volume.sh
@@ -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
}
diff --git a/rofi/launchers/type-1/launcher.sh b/rofi/launchers/type-1/launcher.sh
index 97c1bbc..1726045 100755
--- a/rofi/launchers/type-1/launcher.sh
+++ b/rofi/launchers/type-1/launcher.sh
@@ -18,3 +18,4 @@ theme='style-5'
rofi \
-show drun \
-theme ${dir}/${theme}.rasi
+ -run-command "uwsm app -- {cmd}"
diff --git a/sddm/sddm.conf b/sddm/sddm.conf
deleted file mode 100644
index 86ec96f..0000000
--- a/sddm/sddm.conf
+++ /dev/null
@@ -1,122 +0,0 @@
-[Autologin]
-# Whether sddm should automatically log back into sessions when they exit
-#Relogin=false
-
-# Name of session file for autologin session
-#Session=
-
-# Username for autologin session
-#User=
-
-
-[General]
-# Enable Qt's automatic high-DPI scaling
-#EnableHiDPI=false
-
-# Halt command
-#HaltCommand=/usr/bin/systemctl poweroff
-
-# Initial NumLock state. Can be on, off or none.
-# If property is set to none, numlock won't be changed
-# NOTE: Currently ignored if autologin is enabled.
-#Numlock=none
-
-# Reboot command
-#RebootCommand=/usr/bin/systemctl reboot
-
-# Control x11/wayland startup
-# DisplayServer=wayland
-
-[Theme]
-# Current theme name
-Current=catppuccin-macchiato
-
-# Cursor theme used in the greeter
-#CursorTheme=
-
-# Number of users to use as threshold
-# above which avatars are disabled
-# unless explicitly enabled with EnableAvatars
-#DisableAvatarsThreshold=7
-
-# Enable display of custom user avatars
-#EnableAvatars=true
-
-# Global directory for user avatars
-# The files should be named .face.icon
-#FacesDir=/usr/share/sddm/faces
-
-# Theme directory path
-ThemeDir=/usr/share/sddm/themes
-
-
-[Users]
-# Default $PATH for logged in users
-#DefaultPath=/usr/local/bin:/usr/bin:/bin
-
-# Comma-separated list of shells.
-# Users with these shells as their default won't be listed
-#HideShells=
-
-# Comma-separated list of users that should not be listed
-#HideUsers=
-
-# Maximum user id for displayed users
-#MaximumUid=60000
-
-# Minimum user id for displayed users
-#MinimumUid=1000
-
-# Remember the session of the last successfully logged in user
-#RememberLastSession=true
-
-# Remember the last successfully logged in user
-#RememberLastUser=true
-
-
-[Wayland]
-# Path to a script to execute when starting the desktop session
-#SessionCommand=/etc/sddm/wayland-session
-
-# Directory containing available Wayland sessions
-#SessionDir=/usr/share/wayland-sessions
-
-# Path to the user session log file
-#SessionLogFile=.cache/wayland-errors
-
-
-[X11]
-# Path to a script to execute when starting the display server
-#DisplayCommand=/etc/sddm/Xsetup
-
-# Path to a script to execute when stopping the display server
-#DisplayStopCommand=/etc/sddm/Xstop
-
-# The lowest virtual terminal number that will be used.
-#MinimumVT=1
-
-# Arguments passed to the X server invocation
-#ServerArguments=-nolisten tcp
-
-# Path to X server binary
-#ServerPath=/usr/bin/X
-
-# Path to a script to execute when starting the desktop session
-#SessionCommand=/etc/X11/xinit/Xsession
-
-# Directory containing available X sessions
-#SessionDir=/usr/share/xsessions
-
-# Path to the user session log file
-#SessionLogFile=.cache/xsession-errors
-
-# Path to the Xauthority file
-#UserAuthFile=.Xauthority
-
-# Path to xauth binary
-#XauthPath=/usr/bin/xauth
-
-# Path to Xephyr binary
-#XephyrPath=/usr/bin/Xephyr
-
-
diff --git a/sddm/themes/catppuccin-macchiato/Components/Clock.qml b/sddm/themes/catppuccin-macchiato/Components/Clock.qml
deleted file mode 100644
index f076d28..0000000
--- a/sddm/themes/catppuccin-macchiato/Components/Clock.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import QtQuick 2.15
-import SddmComponents 2.0
-
-Clock {
- id: time
- color: config.text
- timeFont.family: config.Font
- dateFont.family: config.Font
- anchors {
- margins: 10
- top: parent.top
- right: parent.right
- }
-}
diff --git a/sddm/themes/catppuccin-macchiato/Components/LoginPanel.qml b/sddm/themes/catppuccin-macchiato/Components/LoginPanel.qml
deleted file mode 100644
index e0dec79..0000000
--- a/sddm/themes/catppuccin-macchiato/Components/LoginPanel.qml
+++ /dev/null
@@ -1,147 +0,0 @@
-import QtQuick 2.15
-import QtQuick.Window 2.15
-import QtQuick.Controls 2.15
-
-Item {
- property var user: userField.text
- property var password: passwordField.text
- property var session: sessionPanel.session
- property var inputHeight: Screen.height * 0.032
- property var inputWidth: Screen.width * 0.16
- Rectangle {
- id: loginBackground
- anchors {
- verticalCenter: parent.verticalCenter
- horizontalCenter: parent.horizontalCenter
- }
- height: inputHeight * 5.3
- width: inputWidth * 1.2
- radius: 5
- visible: config.LoginBackground == "true" ? true : false
- color: config.mantle
- }
- Column {
- spacing: 8
- anchors {
- bottom: parent.bottom
- left: parent.left
- }
- PowerButton {
- id: powerButton
- }
- RebootButton {
- id: rebootButton
- }
- SleepButton {
- id: sleepButton
- }
- z: 5
- }
- Column {
- spacing: 8
- anchors {
- bottom: parent.bottom
- right: parent.right
- }
- SessionPanel {
- id: sessionPanel
- }
- z: 5
- }
- Column {
- spacing: 8
- z: 5
- width: inputWidth
- anchors {
- verticalCenter: parent.verticalCenter
- horizontalCenter: parent.horizontalCenter
- }
- UserField {
- id: userField
- height: inputHeight
- width: parent.width
- }
- PasswordField {
- id: passwordField
- height: inputHeight
- width: parent.width
- onAccepted: loginButton.clicked()
- }
- Button {
- id: loginButton
- height: inputHeight
- width: parent.width
- enabled: user != "" && password != "" ? true : false
- hoverEnabled: true
- contentItem: Text {
- id: buttonText
- renderType: Text.NativeRendering
- font {
- family: config.Font
- pointSize: config.FontSize
- bold: true
- }
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- color: config.crust
- text: "Login"
- }
- background: Rectangle {
- id: buttonBackground
- color: config.sapphire
- radius: 3
- }
- states: [
- State {
- name: "pressed"
- when: loginButton.down
- PropertyChanges {
- target: buttonBackground
- color: config.teal
- }
- PropertyChanges {
- target: buttonText
- }
- },
- State {
- name: "hovered"
- when: loginButton.hovered
- PropertyChanges {
- target: buttonBackground
- color: config.teal
- }
- PropertyChanges {
- target: buttonText
- }
- },
- State {
- name: "enabled"
- when: loginButton.enabled
- PropertyChanges {
- target: buttonBackground
- }
- PropertyChanges {
- target: buttonText
- }
- }
- ]
- transitions: Transition {
- PropertyAnimation {
- properties: "color"
- duration: 300
- }
- }
- onClicked: {
- sddm.login(user, password, session)
- }
- }
- }
- Connections {
- target: sddm
-
- function onLoginFailed() {
- passwordField.text = ""
- passwordField.focus = true
- }
- }
-}
diff --git a/sddm/themes/catppuccin-macchiato/Components/PasswordField.qml b/sddm/themes/catppuccin-macchiato/Components/PasswordField.qml
deleted file mode 100644
index dd0f384..0000000
--- a/sddm/themes/catppuccin-macchiato/Components/PasswordField.qml
+++ /dev/null
@@ -1,48 +0,0 @@
-import QtQuick 2.15
-import QtQuick.Controls 2.15
-
-TextField {
- id: passwordField
- focus: true
- selectByMouse: true
- placeholderText: "Password"
- echoMode: TextInput.Password
- passwordCharacter: "•"
- passwordMaskDelay: config.PasswordShowLastLetter
- selectionColor: config.overlay0
- renderType: Text.NativeRendering
- font.family: config.Font
- font.pointSize: config.FontSize
- font.bold: true
- color: config.text
- horizontalAlignment: TextInput.AlignHCenter
- background: Rectangle {
- id: passFieldBackground
- radius: 3
- color: config.surface0
- }
- states: [
- State {
- name: "focused"
- when: passwordField.activeFocus
- PropertyChanges {
- target: passFieldBackground
- color: config.surface1
- }
- },
- State {
- name: "hovered"
- when: passwordField.hovered
- PropertyChanges {
- target: passFieldBackground
- color: config.surface1
- }
- }
- ]
- transitions: Transition {
- PropertyAnimation {
- properties: "color"
- duration: 300
- }
- }
-}
diff --git a/sddm/themes/catppuccin-macchiato/Components/PowerButton.qml b/sddm/themes/catppuccin-macchiato/Components/PowerButton.qml
deleted file mode 100644
index dc74269..0000000
--- a/sddm/themes/catppuccin-macchiato/Components/PowerButton.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-import QtQuick 2.15
-import QtQuick.Controls 2.15
-
-Item {
- implicitHeight: powerButton.height
- implicitWidth: powerButton.width
- Button {
- id: powerButton
- height: inputHeight
- width: inputHeight
- hoverEnabled: true
- icon {
- source: Qt.resolvedUrl("../icons/power.svg")
- height: height
- width: width
- color: config.crust
- }
- background: Rectangle {
- id: powerButtonBackground
- radius: 3
- color: config.red
- }
- states: [
- State {
- name: "hovered"
- when: powerButton.hovered
- PropertyChanges {
- target: powerButtonBackground
- color: config.rosewater
- }
- }
- ]
- transitions: Transition {
- PropertyAnimation {
- properties: "color"
- duration: 300
- }
- }
- onClicked: sddm.powerOff()
- }
-}
diff --git a/sddm/themes/catppuccin-macchiato/Components/RebootButton.qml b/sddm/themes/catppuccin-macchiato/Components/RebootButton.qml
deleted file mode 100644
index a2c9b9f..0000000
--- a/sddm/themes/catppuccin-macchiato/Components/RebootButton.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-import QtQuick 2.15
-import QtQuick.Controls 2.15
-
-Item {
- implicitHeight: rebootButton.height
- implicitWidth: rebootButton.width
- Button {
- id: rebootButton
- height: inputHeight
- width: inputHeight
- hoverEnabled: true
- icon {
- source: Qt.resolvedUrl("../icons/reboot.svg")
- height: height
- width: width
- color: config.crust
- }
- background: Rectangle {
- id: rebootButtonBackground
- radius: 3
- color: config.red
- }
- states: [
- State {
- name: "hovered"
- when: rebootButton.hovered
- PropertyChanges {
- target: rebootButtonBackground
- color: config.rosewater
- }
- }
- ]
- transitions: Transition {
- PropertyAnimation {
- properties: "color"
- duration: 300
- }
- }
- onClicked: sddm.reboot()
- }
-}
diff --git a/sddm/themes/catppuccin-macchiato/Components/SessionPanel.qml b/sddm/themes/catppuccin-macchiato/Components/SessionPanel.qml
deleted file mode 100644
index 0edfcb3..0000000
--- a/sddm/themes/catppuccin-macchiato/Components/SessionPanel.qml
+++ /dev/null
@@ -1,156 +0,0 @@
-import QtQuick 2.15
-import QtQuick.Controls 2.15
-import QtQml.Models 2.15
-
-Item {
- property var session: sessionList.currentIndex
- implicitHeight: sessionButton.height
- implicitWidth: sessionButton.width
- DelegateModel {
- id: sessionWrapper
- model: sessionModel
- delegate: ItemDelegate {
- id: sessionEntry
- height: inputHeight
- width: parent.width
- highlighted: sessionList.currentIndex == index
- contentItem: Text {
- renderType: Text.NativeRendering
- font.family: config.Font
- font.pointSize: config.FontSize
- font.bold: true
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- color: config.text
- text: name
- }
- background: Rectangle {
- id: sessionEntryBackground
- color: config.surface1
- radius: 3
- }
- states: [
- State {
- name: "hovered"
- when: sessionEntry.hovered
- PropertyChanges {
- target: sessionEntryBackground
- color: config.surface2
- }
- }
- ]
- transitions: Transition {
- PropertyAnimation {
- property: "color"
- duration: 300
- }
- }
- MouseArea {
- anchors.fill: parent
- onClicked: {
- sessionList.currentIndex = index
- sessionPopup.close()
- }
- }
- }
- }
- Button {
- id: sessionButton
- height: inputHeight
- width: inputHeight
- hoverEnabled: true
- icon {
- source: Qt.resolvedUrl("../icons/settings.svg")
- height: height
- width: width
- color: config.text
- }
- background: Rectangle {
- id: sessionButtonBackground
- color: config.surface0
- radius: 3
- }
- states: [
- State {
- name: "pressed"
- when: sessionButton.down
- PropertyChanges {
- target: sessionButtonBackground
- color: config.surface1
- }
- },
- State {
- name: "hovered"
- when: sessionButton.hovered
- PropertyChanges {
- target: sessionButtonBackground
- color: config.surface2
- }
- },
- State {
- name: "selection"
- when: sessionPopup.visible
- PropertyChanges {
- target: sessionButtonBackground
- color: config.surface2
- }
- }
- ]
- transitions: Transition {
- PropertyAnimation {
- properties: "color"
- duration: 150
- }
- }
- onClicked: {
- sessionPopup.visible ? sessionPopup.close() : sessionPopup.open()
- sessionButton.state = "pressed"
- }
- }
- Popup {
- id: sessionPopup
- width: inputWidth + padding * 2
- x: (sessionButton.width + sessionList.spacing) * -7.6
- y: -(contentHeight + padding * 2) + sessionButton.height
- padding: inputHeight / 10
- background: Rectangle {
- radius: 5.4
- color: config.surface0
- }
- contentItem: ListView {
- id: sessionList
- implicitHeight: contentHeight
- spacing: 8
- model: sessionWrapper
- currentIndex: sessionModel.lastIndex
- clip: true
- }
- enter: Transition {
- ParallelAnimation {
- NumberAnimation {
- property: "opacity"
- from: 0
- to: 1
- duration: 400
- easing.type: Easing.OutExpo
- }
- NumberAnimation {
- property: "x"
- from: sessionPopup.x + (inputWidth * 0.1)
- to: sessionPopup.x
- duration: 500
- easing.type: Easing.OutExpo
- }
- }
- }
- exit: Transition {
- NumberAnimation {
- property: "opacity"
- from: 1
- to: 0
- duration: 300
- easing.type: Easing.OutExpo
- }
- }
- }
-}
diff --git a/sddm/themes/catppuccin-macchiato/Components/SleepButton.qml b/sddm/themes/catppuccin-macchiato/Components/SleepButton.qml
deleted file mode 100644
index f4a4b7a..0000000
--- a/sddm/themes/catppuccin-macchiato/Components/SleepButton.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-import QtQuick 2.15
-import QtQuick.Controls 2.15
-
-Item {
- implicitHeight: sleepButton.height
- implicitWidth: sleepButton.width
- Button {
- id: sleepButton
- height: inputHeight
- width: inputHeight
- hoverEnabled: true
- icon {
- source: Qt.resolvedUrl("../icons/sleep.svg")
- height: height
- width: width
- color: config.crust
- }
- background: Rectangle {
- id: sleepButtonBg
- color: config.red
- radius: 3
- }
- states: [
- State {
- name: "hovered"
- when: sleepButton.hovered
- PropertyChanges {
- target: sleepButtonBg
- color: config.rosewater
- }
- }
- ]
- transitions: Transition {
- PropertyAnimation {
- properties: "color"
- duration: 300
- }
- }
- onClicked: sddm.suspend()
- }
-}
diff --git a/sddm/themes/catppuccin-macchiato/Components/UserField.qml b/sddm/themes/catppuccin-macchiato/Components/UserField.qml
deleted file mode 100644
index 9f8ca61..0000000
--- a/sddm/themes/catppuccin-macchiato/Components/UserField.qml
+++ /dev/null
@@ -1,50 +0,0 @@
-import QtQuick 2.15
-import QtQuick.Controls 2.15
-
-TextField {
- id: userField
- height: inputHeight
- width: inputWidth
- selectByMouse: true
- echoMode: TextInput.Normal
- selectionColor: config.overlay0
- renderType: Text.NativeRendering
- font {
- family: config.Font
- pointSize: config.FontSize
- bold: true
- }
- color: config.text
- horizontalAlignment: Text.AlignHCenter
- placeholderText: "Username"
- text: userModel.lastUser
- background: Rectangle {
- id: userFieldBackground
- color: config.surface0
- radius: 3
- }
- states: [
- State {
- name: "focused"
- when: userField.activeFocus
- PropertyChanges {
- target: userFieldBackground
- color: config.surface1
- }
- },
- State {
- name: "hovered"
- when: userField.hovered
- PropertyChanges {
- target: userFieldBackground
- color: config.surface1
- }
- }
- ]
- transitions: Transition {
- PropertyAnimation {
- properties: "color"
- duration: 300
- }
- }
-}
diff --git a/sddm/themes/catppuccin-macchiato/Main.qml b/sddm/themes/catppuccin-macchiato/Main.qml
deleted file mode 100644
index 422054b..0000000
--- a/sddm/themes/catppuccin-macchiato/Main.qml
+++ /dev/null
@@ -1,48 +0,0 @@
-import QtQuick 2.15
-import QtQuick.Window 2.15
-import QtQuick.Controls 2.15
-import "Components"
-
-Item {
- id: root
- height: Screen.height
- width: Screen.width
- Rectangle {
- id: background
- anchors.fill: parent
- height: parent.height
- width: parent.width
- z: 0
- color: config.base
- }
- Image {
- id: backgroundImage
- anchors.fill: parent
- height: parent.height
- width: parent.width
- fillMode: Image.PreserveAspectCrop
- visible: config.CustomBackground == "true" ? true : false
- z: 1
- source: config.Background
- asynchronous: false
- cache: true
- mipmap: true
- clip: true
- }
- Item {
- id: mainPanel
- z: 3
- anchors {
- fill: parent
- margins: 50
- }
- Clock {
- id: time
- visible: config.ClockEnabled == "true" ? true : false
- }
- LoginPanel {
- id: loginPanel
- anchors.fill: parent
- }
- }
-}
diff --git a/sddm/themes/catppuccin-macchiato/assets/angle-down.png b/sddm/themes/catppuccin-macchiato/assets/angle-down.png
deleted file mode 100644
index f621bfc..0000000
Binary files a/sddm/themes/catppuccin-macchiato/assets/angle-down.png and /dev/null differ
diff --git a/sddm/themes/catppuccin-macchiato/backgrounds/.gitkeep b/sddm/themes/catppuccin-macchiato/backgrounds/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/sddm/themes/catppuccin-macchiato/backgrounds/wall.jpg b/sddm/themes/catppuccin-macchiato/backgrounds/wall.jpg
deleted file mode 100755
index 6092f5a..0000000
Binary files a/sddm/themes/catppuccin-macchiato/backgrounds/wall.jpg and /dev/null differ
diff --git a/sddm/themes/catppuccin-macchiato/icons/power.svg b/sddm/themes/catppuccin-macchiato/icons/power.svg
deleted file mode 100644
index 70495dd..0000000
--- a/sddm/themes/catppuccin-macchiato/icons/power.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
\ No newline at end of file
diff --git a/sddm/themes/catppuccin-macchiato/icons/reboot.svg b/sddm/themes/catppuccin-macchiato/icons/reboot.svg
deleted file mode 100644
index 5506bbb..0000000
--- a/sddm/themes/catppuccin-macchiato/icons/reboot.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
\ No newline at end of file
diff --git a/sddm/themes/catppuccin-macchiato/icons/settings.svg b/sddm/themes/catppuccin-macchiato/icons/settings.svg
deleted file mode 100644
index 9a64fbd..0000000
--- a/sddm/themes/catppuccin-macchiato/icons/settings.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/sddm/themes/catppuccin-macchiato/icons/sleep.svg b/sddm/themes/catppuccin-macchiato/icons/sleep.svg
deleted file mode 100644
index 4102f2d..0000000
--- a/sddm/themes/catppuccin-macchiato/icons/sleep.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
\ No newline at end of file
diff --git a/sddm/themes/catppuccin-macchiato/metadata.desktop b/sddm/themes/catppuccin-macchiato/metadata.desktop
deleted file mode 100644
index d6693d5..0000000
--- a/sddm/themes/catppuccin-macchiato/metadata.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[SddmGreeterTheme]
-Name=Catppuccin macchiato
-Description=Soothing pastel theme for SDDM
-Type=sddm-theme
-Version=2.1
-Website=https://github.com/catppuccin/sddm
-Screenshot=preview.png
-MainScript=Main.qml
-ConfigFile=theme.conf
-TranslationsDirectory=translations
-Theme-Id=Catppuccin
-Theme-API=2.0
-License=MIT
-QtVersion=6
diff --git a/sddm/themes/catppuccin-macchiato/theme.conf b/sddm/themes/catppuccin-macchiato/theme.conf
deleted file mode 100644
index c85c2cf..0000000
--- a/sddm/themes/catppuccin-macchiato/theme.conf
+++ /dev/null
@@ -1,39 +0,0 @@
-[General]
-Font="Roboto"
-FontSize=11
-ClockEnabled="true"
-CustomBackground="true"
-LoginBackground="true"
-Background="backgrounds/wall.jpg"
-
-# Uncomment this option to show the last letter of the password
-# for the number of milliseconds specified
-# PasswordShowLastLetter=1000
-
-# DON'T CHANGE THESE
-rosewater = "#f4dbd6"
-flamingo = "#f0c6c6"
-pink = "#f5bde6"
-mauve = "#c6a0f6"
-red = "#ed8796"
-maroon = "#ee99a0"
-peach = "#f5a97f"
-yellow = "#eed49f"
-green = "#a6da95"
-teal = "#8bd5ca"
-sky = "#91d7e3"
-sapphire = "#7dc4e4"
-blue = "#8aadf4"
-lavender = "#b7bdf8"
-text = "#cad3f5"
-subtext1 = "#b8c0e0"
-subtext0 = "#a5adcb"
-overlay2 = "#939ab7"
-overlay1 = "#8087a2"
-overlay0 = "#6e738d"
-surface2 = "#5b6078"
-surface1 = "#494d64"
-surface0 = "#363a4f"
-base = "#24273a"
-mantle = "#1e2030"
-crust = "#181926"
diff --git a/systemd/user/cliphist.service b/systemd/user/cliphist.service
new file mode 100644
index 0000000..1b06dfd
--- /dev/null
+++ b/systemd/user/cliphist.service
@@ -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
diff --git a/uwsm/env b/uwsm/env
new file mode 100644
index 0000000..f8db32c
--- /dev/null
+++ b/uwsm/env
@@ -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,*"
diff --git a/waybar/config b/waybar/config_desktop.json
similarity index 83%
rename from waybar/config
rename to waybar/config_desktop.json
index 019a97a..eafb5cc 100644
--- a/waybar/config
+++ b/waybar/config_desktop.json
@@ -4,14 +4,14 @@
"include": [
"~/.config/waybar/modules.jsonc"
],
- "height": 20,
+ "height": 40,
"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", "network", "backlight", "battery"],
+ "modules-right": ["tray", "custom/notification", "pulseaudio", "bluetooth", "network", "memory", "cpu", "group/group-power"],
"tray": {
"icon-size": 16,
"spacing": 10
diff --git a/waybar/config_laptop.json b/waybar/config_laptop.json
new file mode 100644
index 0000000..b3d7814
--- /dev/null
+++ b/waybar/config_laptop.json
@@ -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
+ },
+}
diff --git a/waybar/modules.jsonc b/waybar/modules.jsonc
index 118cb6b..53937c8 100755
--- a/waybar/modules.jsonc
+++ b/waybar/modules.jsonc
@@ -12,47 +12,47 @@
"hyprland/workspaces": {
"format": "{name}",
"tooltip-format": "{title}",
- "on-scroll-up": "hyprctl dispatch workspace r+1",
- "on-scroll-down": "hyprctl dispatch workspace r-1",
+ "on-scroll-up": "hyprctl dispatch workspace r-1",
+ "on-scroll-down": "hyprctl dispatch workspace r+1",
"on-click": "activate"
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "{:%Y %B}\n{calendar}",
"format": "{:%a, %d %b, %R}",
- "on-click": ""
+ "on-click": ""
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
//"reverse-scrolling": 1,
"format": "{icon} {volume}% {format_source}",
- "format-bluetooth": "{icon} {volume}% {format_source}",
- "format-bluetooth-muted": " {icon} {format_source}",
- "format-muted": "婢 {format_source}",
+ "format-bluetooth": "{icon} {volume}% {format_source}",
+ "format-bluetooth-muted": "{icon} {format_source}",
+ "format-muted": " {volume}% {format_source}",
"format-source": " {volume}%",
"format-source-muted": "",
"format-icons": {
"headphone": "",
- "hands-free": "",
+ "hands-free": "",
"headset": "",
"phone": "",
- "portable": "",
+ "portable": "",
"car": "",
"default": ["", "", "", ""]
},
- "on-click": "~/.config/rofi/applets/bin/volume.sh",
- "on-click-right": "pavucontrol"
+ "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
+ "on-click-right": "uwsm app pavucontrol"
},
- "bluetooth": {
- "format": "",
- "format-disabled": "",
- "format-connected": " {num_connections}",
- "tooltip-format-enumerate-connected": "{device_alias}",
- "tooltip-format-connected": "{device_enumerate}",
- "on-click": "blueman-manager"
- },
+ "bluetooth": {
+ "format": "",
+ "format-disabled": "",
+ "format-connected": " {num_connections}",
+ "tooltip-format-enumerate-connected": "{device_alias}",
+ "tooltip-format-connected": "{device_enumerate}",
+ "on-click": "uwsm app blueman-manager"
+ },
"temperature": {
// "thermal-zone": 2,
@@ -66,6 +66,7 @@
"tray": {
"icon-size": 13,
+ "show-passive-items": true,
"spacing": 00
},
@@ -73,14 +74,14 @@
"tooltip": false,
"format": "{icon}",
"format-icons": {
- "notification": "",
- "none": "",
- "dnd-notification": "",
- "dnd-none": "",
- "inhibited-notification": "",
- "inhibited-none": "",
- "dnd-inhibited-notification": "",
- "dnd-inhibited-none": ""
+ "notification": "",
+ "none": "",
+ "dnd-notification": "",
+ "dnd-none": "",
+ "inhibited-notification": "",
+ "inhibited-none": "",
+ "dnd-inhibited-notification": "",
+ "dnd-inhibited-none": ""
},
"return-type": "json",
"exec-if": "which swaync-client",
@@ -91,39 +92,99 @@
"escape": true
},
- "backlight": {
- "device": "acpi_video0",
- "format": "{icon}",
- "format-icons": ["", "", ""],
- "on-click": "~/.config/rofi/applets/bin/brightness.sh"
- },
+ "cpu": {
+ "interval": 1,
+ "format": " {usage:02d}%{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}",
+ "format-icons": [
+ "▁", // green
+ "▂", // blue
+ "▃", // white
+ "▄", // white
+ "▅", // yellow
+ "▆", // yellow
+ "▇", // orange
+ "█" // red
+ ]
+ },
- "battery": {
- "states": {
- "warning": 20,
- "critical": 5
- },
- "format": "{capacity}% {icon}",
- "format-charging": "{capacity}% ",
- "format-plugged": "{capacity}% ",
- "format-alt": "{time} {icon}",
- "format-icons": ["", "", "", "", "", "", "", "", "", "", ""],
- "on-click": "~/.config/rofi/applets/bin/powermenu.sh"
- },
- "battery#bat0": {
- "bat": "BAT0"
- },
- "network": {
- "format-wifi": "{icon}",
- "format-ethernet": "",
- "format-linked": "",
- "format-disconnected": "",
- "tooltip-format": "{ifname}",
- "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"
- }
+ "memory": {
+ "interval": 5,
+ "format": " {percentage}%"
+ },
+
+ "group/group-power": {
+ "orientation": "inherit",
+ "drawer": {
+ "transition-duration": 500,
+ "children-class": "not-power",
+ "transition-left-to-right": true
+ },
+ "modules": [
+ "custom/power", // First element is the "group leader" and won't ever be hidden
+ "custom/reboot",
+ "custom/quit",
+ "custom/suspend",
+ "custom/lock"
+ ]
+ },
+ "custom/quit": {
+ "format": " ",
+ "tooltip": false,
+ "on-click": "uwsm stop"
+ },
+ "custom/lock": {
+ "format": " ",
+ "tooltip": false,
+ "on-click": "loginctl lock-session"
+ },
+ "custom/suspend": {
+ "format": " ",
+ "tooltip": false,
+ "on-click": "systemctl suspend"
+ },
+ "custom/reboot": {
+ "format": " ",
+ "tooltip": false,
+ "on-click": "systemctl reboot"
+ },
+ "custom/power": {
+ "format": " ",
+ "tooltip": false,
+ "on-click": "systemctl poweroff"
+ },
+
+ "battery": {
+ "states": {
+ "warning": 20,
+ "critical": 5
+ },
+ "format": "{icon}{capacity}%",
+ "format-charging": "{capacity}% ",
+ "format-plugged": "{capacity}% ",
+ // "format-alt": "{time} {icon}",
+ "format-icons": ["", "", "", "", "", "", "", "", "", "", ""],
+ "on-click": "~/.config/rofi/applets/bin/ppd.sh"
+ },
+ "battery#bat0": {
+ "bat": "BAT0"
+ },
+
+ "backlight": {
+ "format": "{icon} {percent}%",
+ "format-icons": ["", "", ""]
+ },
+
+ "network": {
+ "format-wifi": "{icon}",
+ "format-ethernet": "",
+ "format-linked": "",
+ "format-disconnected": "",
+ "tooltip-format": "{ifname}",
+ "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"
+ }
}
diff --git a/waybar/style.css b/waybar/style.css
index f4d65c3..d20e735 100644
--- a/waybar/style.css
+++ b/waybar/style.css
@@ -1,140 +1,154 @@
@import 'macchiato.css';
* {
- font-family: "Roboto";
- font-size: 16px;
- min-width: 15px;
+ font-family: "Roboto";
+ font-size: 16px;
+ min-width: 15px;
}
window#waybar {
- background-color: transparent;
+ background-color: transparent;
}
window#waybar.hidden {
- opacity: 0.5;
+ opacity: 0.5;
}
button {
- box-shadow: inset 0 -3px transparent;
- border: none;
- border-radius: 10px;
+ box-shadow: inset 0 -3px transparent;
+ border: none;
+ 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 {
- background-color: @blue;
- border: 1px solid @blue;
- border-radius: 10px;
- color: @base;
+ background-color: @blue;
+ /* border: 1px solid @blue; */
+ border-radius: 10px;
+ color: @base;
+}
+
+#workspaces button:hover {
+ background: @crust;
+ color: @text;
+ border-radius: 10px;
}
#workspaces button.urgent {
- background-color: @red;
- border: 1px solid @red;
- border-radius: 10px;
- color: @base;
+ background-color: @red;
+ border: 1px solid @red;
+ border-radius: 10px;
+ color: @base;
}
-#clock,
-#battery{
- background-color: @base; /* Change this to any gray color you want */
- border-radius: 10px; /* Adjust as needed */
- padding: 3px 10px;
- color: @text;
+#clock {
+ background-color: @base; /* Change this to any gray color you want */
+ border-radius: 10px; /* Adjust as needed */
+ padding: 3px 10px;
+ color: @text;
}
#mpd {
- padding: 0 10px;
- color: @subtext1;
+ padding: 0 10px;
+ color: @subtext1;
}
#tray {
- 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;
+ 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;
}
#custom-notification,
#pulseaudio,
#network,
+#memory,
+#backlight,
#bluetooth {
- background-color: @base; /* Change this to any gray color you want */
- border-radius: 0px; /* Adjust as needed */
- padding: 3px 7px;
- color: @text;
- margin: 0px;
+ background-color: @base; /* Change this to any gray color you want */
+ border-radius: 0px; /* Adjust as needed */
+ padding: 3px 3px;
+ color: @text;
+ margin: 0px;
}
+#pulseaudio {
+ min-width: 110px
+}
#backlight {
- 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;
-}
-
-#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;
+ min-width: 60px
}
+#cpu,
#battery {
- background-color: @base; /* Change this to any gray color you want */
- color: @text;
- margin-left: 7px;
+ 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;
}
-#battery.charging, #battery.plugged {
- color: @base;
- background-color: @teal;
- border-radius: 10px;
- padding: 3px 10px;
-}
-
-@keyframes blink {
- to {
- background-color: @subtext1;
- color: @crust;
- }
+#battery.charging,
+#battery.plugged {
+ color: @base;
+ background-color: @teal;
}
#battery.critical:not(.charging) {
- background-color: @red;
- color: @subtext1;
- animation-name: blink;
- animation-duration: 0.5s;
- animation-timing-function: linear;
- animation-iteration-count: infinite;
- animation-direction: alternate;
- border-radius: 10px;
- padding: 3px 10px;
+ background-color: @red;
+ color: @subtext1;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+#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 {
- background-color: @crust;
+ background-color: @crust;
}
#tray > .passive {
- -gtk-icon-effect: dim;
+ -gtk-icon-effect: dim;
}
#tray > .needs-attention {
- -gtk-icon-effect: highlight;
- background-color: @red;
+ -gtk-icon-effect: highlight;
+ background-color: @red;
}
diff --git a/xsettingsd/xsettingsd.conf b/xsettingsd/xsettingsd.conf
index 4153226..6c9cfda 100755
--- a/xsettingsd/xsettingsd.conf
+++ b/xsettingsd/xsettingsd.conf
@@ -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
diff --git a/zsh/.zshrc b/zsh/.zshrc
index 8f42724..76ce75c 100755
--- a/zsh/.zshrc
+++ b/zsh/.zshrc
@@ -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
@@ -153,14 +151,48 @@ fi
# pkg-config correction (by the readme of DSView-1.12)
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
-# XILINX
-XILINX_EDK=/media/lacko/TOOLBOX/ISE/14.7/ISE_DS/EDK
-XILINX_PLANAHEAD=/media/lacko/TOOLBOX/ISE/14.7/ISE_DS/PlanAhead
-XILINX_DSP=/media/lacko/TOOLBOX/ISE/14.7/ISE_DS/ISE
-XILINX=/media/lacko/TOOLBOX/ISE/14.7/ISE_DS/ISE
-export XILINX_EDK
-export XILINX_PLANAHEAD
-export XILINX_DSP
-export XILINX
+# use yosys ghdl plugin
+#alias yosys="yosys -m ghdl.so"
-export VHDL_LS_CONFIG=$HOME/Desktop/work/global_fpga/_utilities_/vhdl_ls.toml
+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/
+# $ venv myvirtualenv # activates venv
+# $ deactivate # deactivates venv
+# $ rmvenv myvirtualenv # removes venv
+
+export VENV_HOME="$XDG_STATE_HOME/virtualenvs"
+[[ -d $VENV_HOME ]] || mkdir $VENV_HOME
+
+lsvenv() {
+ ls -1 $VENV_HOME
+}
+
+venv() {
+ if [ $# -eq 0 ]
+ then
+ echo "Please provide venv name"
+ else
+ source "$VENV_HOME/$1/bin/activate"
+ fi
+}
+
+mkvenv() {
+ if [ $# -eq 0 ]
+ then
+ echo "Please provide venv name"
+ else
+ python3 -m venv $VENV_HOME/$1
+ fi
+}
+
+rmvenv() {
+ if [ $# -eq 0 ]
+ then
+ echo "Please provide venv name"
+ else
+ rm -r $VENV_HOME/$1
+ fi
+}
diff --git a/zsh/zsh_aliases b/zsh/zsh_aliases
index 65aba72..176bc5a 100755
--- a/zsh/zsh_aliases
+++ b/zsh/zsh_aliases
@@ -1,7 +1,6 @@
# bash-aliases
# command preferences
-alias sudo="doas" # less bloated, more secure
alias cp="cp -i" # confirm before overwriting something
alias df='df -h' # human-readable sizes
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
# one-liners
-alias bton='doas /etc/init.d/bluetooth start' # Turn the bluetooth daemon on
-alias btoff='doas /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 ud="doas dnf upgrade; flatpak update -y;" # ud for quick update
+alias bton='sudo /etc/init.d/bluetooth start' # Turn the bluetooth daemon on
+alias btoff='sudo /etc/init.d/bluetooth stop' # Turn the bluetooth daemon off
+alias ani-hist='${EDITOR} "${XDG_STATE_HOME:-$HOME/.local/state}/ani-cli/ani-hsts"' # Edit the history file of ani-cli
+alias ud="sudo dnf upgrade; flatpak update -y;" # ud for quick update
#alias toolbox='systemctl start iscsid open-iscsi' # start the iSCSI services
cdwork () {
lxc list status=running | grep -q quarch || lxc start quarch