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 ![control center](https://raw.githubusercontent.com/Derisis13/dotfiles/refs/heads/master/.assets/control_center_menu.png)
![btop](https://raw.githubusercontent.com/Derisis13/dotfiles/refs/heads/master/.assets/btop.png) +# 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 @@ - - -moon - - \ 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