diff --git a/.gitignore b/.gitignore index c2f7941..c7b60f9 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,6 @@ hypr/hyprland/custom-by-hostname.conf /fish/fish_variables +.SRCINFO + vscode/settings.json diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..80ea381 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,26 @@ +# caelestia-meta + +# Maintainer: Soramane + +pkgname='caelestia-meta' +pkgver=r151.cadf1e2 +pkgrel=1 +pkgdesc='A metapackage containing all dependencies for the Caelestia dotfiles' +arch=('any') +url='https://github.com/caelestia-dots/caelestia' +license=('GPL-3.0-only') +depends=('caelestia-cli' 'caelestia-shell' + 'hyprland' 'xdg-desktop-portal-hyprland' 'xdg-desktop-portal-gtk' 'hyprpicker' + 'wl-clipboard' 'cliphist' 'inotify-tools' 'app2unit' 'wireplumber' 'trash-cli' + 'foot' 'fish' 'eza' 'fastfetch' 'starship' 'btop' 'jq' 'adw-gtk-theme' + 'papirus-icon-theme' 'qt5ct-kde' 'qt6ct-kde' 'ttf-jetbrains-mono-nerd') +optdepends=('thunar: file manager' + 'spotify: music player' + 'vscode: code editor' + 'zen-browser: web browser' + 'todoist-appimage: todo manager' + 'uwsm: uwsm session' + 'gnome-keyring: keyring daemon' + 'polkit-gnome: gnome polkit client' + 'direnv: isolated dev envs' + 'zoxide: better cd') diff --git a/README.md b/README.md index 67d4794..d1295f6 100644 --- a/README.md +++ b/README.md @@ -46,10 +46,8 @@ Dependencies: - xdg-desktop-portal-hyprland - xdg-desktop-portal-gtk - hyprpicker -- hypridle - wl-clipboard - cliphist -- bluez-utils - inotify-tools - app2unit - wireplumber @@ -60,9 +58,7 @@ Dependencies: - starship - btop - jq -- socat -- imagemagick -- curl +- eza - adw-gtk-theme - papirus-icon-theme - qt5ct-kde diff --git a/fish/config.fish b/fish/config.fish index 1d59dc1..7aa99bc 100644 --- a/fish/config.fish +++ b/fish/config.fish @@ -2,6 +2,31 @@ if status is-interactive # Starship custom prompt starship init fish | source + # Direnv + Zoxide + command -v direnv &> /dev/null && direnv hook fish | source + command -v zoxide &> /dev/null && zoxide init fish --cmd cd | source + + # Better ls + alias ls='eza --icons --group-directories-first -1' + + # Abbrs + abbr gd 'git diff' + abbr gc 'git commit -am' + abbr gl 'git log' + abbr gs 'git status' + abbr gst 'git stash' + abbr gsp 'git stash pop' + abbr gp 'git push' + abbr gpl 'git pull' + abbr gsw 'git switch' + abbr gsm 'git switch main' + abbr gb 'git branch' + + abbr l 'ls' + abbr ll 'ls -l' + abbr la 'ls -a' + abbr lla 'ls -la' + # Custom colours cat ~/.local/state/caelestia/sequences.txt 2> /dev/null diff --git a/fish/functions/fish_greeting.fish b/fish/functions/fish_greeting.fish index fcf3f6e..34d5bb6 100644 --- a/fish/functions/fish_greeting.fish +++ b/fish/functions/fish_greeting.fish @@ -5,6 +5,6 @@ function fish_greeting echo ' / / / __ `/ _ \/ / _ \/ ___/ __/ / __ `/ ' echo ' / /___/ /_/ / __/ / __(__ ) /_/ / /_/ / ' echo ' \____/\__,_/\___/_/\___/____/\__/_/\__,_/ ' - set_color normal - fastfetch --key-padding-left 5 + echo '' + glafetch end diff --git a/hypr/hypridle.conf b/hypr/hypridle.conf deleted file mode 100644 index 11cc01e..0000000 --- a/hypr/hypridle.conf +++ /dev/null @@ -1,21 +0,0 @@ -general { - lock_cmd = caelestia shell lock lock - before_sleep_cmd = loginctl lock-session - after_sleep_cmd = hyprctl dispatch dpms on -} - -listener { - timeout = 180 # 3 mins - on-timeout = loginctl lock-session -} - -listener { - timeout = 300 # 5 mins - on-timeout = hyprctl dispatch dpms off - on-resume = hyprctl dispatch dpms on -} - -listener { - timeout = 600 # 10 mins - on-timeout = systemctl suspend-then-hibernate || loginctl suspend -} diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 0d8db26..48aab9d 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -24,6 +24,7 @@ source = $hl/decoration.conf source = $hl/group.conf source = $hl/execs.conf source = $hl/rules.conf +source = $hl/gestures.conf source = $hl/keybinds.conf # User configs diff --git a/hypr/hyprland/custom-peecee.conf b/hypr/hyprland/custom-peecee.conf index 3d3021d..2ecf1f2 100644 --- a/hypr/hyprland/custom-peecee.conf +++ b/hypr/hyprland/custom-peecee.conf @@ -2,8 +2,12 @@ monitor = HDMI-A-2, 1920x1080@60, 0x0, 1 monitor = HDMI-A-1, 1920x1080@60, 1920x0, 1 -workspace= name:1, monitor:HDMI-A-2 +workspace= name:1, monitor:HDMI-A-2 input { kb_layout = us + tablet { + output = HDMI-A-2 + region_size = 1920, 1080 + } } \ No newline at end of file diff --git a/hypr/hyprland/env.conf b/hypr/hyprland/env.conf index ce7f25d..ded74c8 100644 --- a/hypr/hyprland/env.conf +++ b/hypr/hyprland/env.conf @@ -19,3 +19,4 @@ env = XDG_SESSION_DESKTOP, Hyprland # ############# Others ############# env = _JAVA_AWT_WM_NONREPARENTING, 1 +env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket diff --git a/hypr/hyprland/execs.conf b/hypr/hyprland/execs.conf index ec317c4..7594003 100644 --- a/hypr/hyprland/execs.conf +++ b/hypr/hyprland/execs.conf @@ -18,9 +18,6 @@ exec-once = gsettings set org.gnome.desktop.interface cursor-size $cursorSize exec-once = /usr/lib/geoclue-2.0/demos/agent exec-once = sleep 1 && gammastep -# Idle inhibit when audio playing -exec-once = sway-audio-idle-inhibit --ignore-source-outputs cava - # Forward bluetooth media commands to MPRIS exec-once = mpris-proxy @@ -30,8 +27,5 @@ exec-once = caelestia resizer -d # Start shell exec-once = caelestia shell -d -# Idle daemon -exec-once = hypridle - # Random Wallpaper exec-once = caelestia wallpaper -r diff --git a/hypr/hyprland/gestures.conf b/hypr/hyprland/gestures.conf new file mode 100644 index 0000000..c38b0b8 --- /dev/null +++ b/hypr/hyprland/gestures.conf @@ -0,0 +1,13 @@ +gestures { + workspace_swipe_distance = 700 + workspace_swipe_cancel_ratio = 0.15 + workspace_swipe_min_speed_to_force = 5 + workspace_swipe_direction_lock = true + workspace_swipe_direction_lock_threshold = 10 + workspace_swipe_create_new = true +} + +# gesture = $workspaceSwipeFingers, horizontal, workspace +# gesture = $gestureFingers, up, special, special +# gesture = $gestureFingers, down, dispatcher, exec, caelestia toggle specialws +# gesture = $gestureFingersMore, down, dispatcher, exec, systemctl suspend-then-hibernate diff --git a/hypr/hyprland/input.conf b/hypr/hyprland/input.conf index bf94c84..1aa9512 100644 --- a/hypr/hyprland/input.conf +++ b/hypr/hyprland/input.conf @@ -16,13 +16,7 @@ binds { scroll_event_delay = 0 } -gestures { - workspace_swipe = true - workspace_swipe_distance = 700 - workspace_swipe_fingers = $workSpaceSwipeFingers - workspace_swipe_cancel_ratio = 0.15 - workspace_swipe_min_speed_to_force = 5 - workspace_swipe_direction_lock = true - workspace_swipe_direction_lock_threshold = 10 - workspace_swipe_create_new = true +cursor { + hotspot_padding = 1 } + diff --git a/hypr/hyprland/keybinds.conf b/hypr/hyprland/keybinds.conf index 3a17697..8d7af5f 100644 --- a/hypr/hyprland/keybinds.conf +++ b/hypr/hyprland/keybinds.conf @@ -145,6 +145,7 @@ bind = $kbWindowFullscreen, fullscreen, 0 bind = $kbWindowBorderedFullscreen, fullscreen, 1 # Fullscreen with borders bind = $kbToggleWindowFloating, togglefloating, bind = $kbCloseWindow, killactive, +bind = Super, J, togglesplit # Special workspace toggles bind = $kbSystemMonitor, exec, caelestia toggle sysmon diff --git a/hypr/hyprland/rules.conf b/hypr/hyprland/rules.conf index 0f36c1a..a13687d 100644 --- a/hypr/hyprland/rules.conf +++ b/hypr/hyprland/rules.conf @@ -36,7 +36,7 @@ windowrule = center 1, class:nwg-look windowrule = workspace special:sysmon, class:btop windowrule = workspace special:music, class:feishin|Spotify|Supersonic windowrule = workspace special:music, initialTitle:Spotify( Free)? # Spotify wayland, it has no class for some reason -windowrule = workspace special:communication, class:discord|equibop|vesktop|whatsapp +windowrule = workspace special:communication, class:discord|equibop|vesktop|whatsapp|org.gnome.Fractal windowrule = workspace special:todo, class:Todoist # Dialogs diff --git a/hypr/variables.conf b/hypr/variables.conf index 00776d4..f612152 100644 --- a/hypr/variables.conf +++ b/hypr/variables.conf @@ -8,7 +8,9 @@ $browser = zen # Touchpad $touchpadDisableTyping = true $touchpadScrollFactor = 0.3 -$workSpaceSwipeFingers = 4 +$workspaceSwipeFingers = 4 +$gestureFingers = 3 +$gestureFingersMore = 4 # Blur $blurEnabled = true diff --git a/install.fish b/install.fish index d229ce1..2500d2c 100755 --- a/install.fish +++ b/install.fish @@ -7,13 +7,13 @@ argparse -n 'install.fish' -X 0 \ 'vscode=?!contains -- "$_flag_value" codium code' \ 'discord' \ 'zen' \ - 'paru' \ + 'aur-helper=!contains -- "$_flag_value" yay paru' \ -- $argv or exit # Print help if set -q _flag_h - echo 'usage: ./install.sh [-h] [--noconfirm] [--spotify] [--vscode] [--discord] [--paru]' + echo 'usage: ./install.sh [-h] [--noconfirm] [--spotify] [--vscode] [--discord] [--aur-helper]' echo echo 'options:' echo ' -h, --help show this help message and exit' @@ -22,7 +22,7 @@ if set -q _flag_h echo ' --vscode=[codium|code] install VSCodium (or VSCode)' echo ' --discord install Discord (OpenAsar + Equicord)' echo ' --zen install Zen browser' - echo ' --paru use paru instead of yay as AUR helper' + echo ' --aur-helper=[yay|paru] the AUR helper to use' exit end @@ -71,7 +71,7 @@ end # Variables set -q _flag_noconfirm && set noconfirm '--noconfirm' -set -q _flag_paru && set -l aur_helper paru || set -l aur_helper yay +set -q _flag_aur_helper && set -l aur_helper $_flag_aur_helper || set -l aur_helper paru set -q XDG_CONFIG_HOME && set -l config $XDG_CONFIG_HOME || set -l config $HOME/.config set -q XDG_STATE_HOME && set -l state $XDG_STATE_HOME || set -l state $HOME/.local/state @@ -134,19 +134,27 @@ else cd .. rm -rf $aur_helper - # Setup + # Setup + if $aur_helper = yay $aur_helper -Y --gendb $aur_helper -Y --devel --save + else + $aur_helper --gendb end end -# Install metapackage for deps -log 'Installing metapackage...' -$aur_helper -S --needed caelestia-meta $noconfirm - # Cd into dir cd (dirname (status filename)) || exit 1 +# Install metapackage for deps +log 'Installing metapackage...' +if $aur_helper = yay + $aur_helper -Bi . $noconfirm +else + $aur_helper -Ui $noconfirm +end +rm -f caelestia-meta-*.pkg.tar.zst 2> /dev/null + # Install hypr* configs if confirm-overwrite $config/hypr log 'Installing hypr* configs...' diff --git a/uwsm/default-id b/uwsm/default-id new file mode 100644 index 0000000..1dd96b8 --- /dev/null +++ b/uwsm/default-id @@ -0,0 +1 @@ +hyprland-uwsm.desktop diff --git a/vscode/settings.json b/vscode/settings.json deleted file mode 100644 index bfab4f2..0000000 --- a/vscode/settings.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "editor.renderWhitespace": "trailing", - "editor.multiCursorModifier": "ctrlCmd", - "editor.cursorSmoothCaretAnimation": "on", - "editor.fontLigatures": true, - "prettier.tabWidth": 4, - "editor.minimap.autohide": "mouseover", - "security.workspace.trust.startupPrompt": "always", - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true, - "prettier.printWidth": 120, - "prettier.arrowParens": "avoid", - "workbench.colorTheme": "Caelestia", - "diffEditor.hideUnchangedRegions.enabled": true, - "workbench.list.smoothScrolling": true, - "editor.smoothScrolling": true, - "terminal.integrated.smoothScrolling": true, - "javascript.preferences.importModuleSpecifierEnding": "minimal", - "typescript.preferences.importModuleSpecifierEnding": "minimal", - "editor.codeActionsOnSave": { - "source.organizeImports": "explicit" - }, - "codeium.enableCodeLens": false, - "typescript.preferences.preferTypeOnlyAutoImports": true, - "editor.suggestSelection": "recentlyUsedByPrefix", - "workbench.iconTheme": "catppuccin-mocha", - "git.enableSmartCommit": true, - "codeium.enableConfig": { - "*": true, - "fish": true, - "qml": true - }, - "[c]": { - "editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd" - }, - "doxdocgen.generic.boolReturnsTrueFalse": false, - "terminal.integrated.enableMultiLinePasteWarning": "never", - "qt-qml.qmlls.additionalImportPaths": ["/usr/lib/qt6/qml"], - "[python]": { - "editor.defaultFormatter": "charliermarsh.ruff" - }, - "ruff.lineLength": 120, - "python.languageServer": "Pylance", - "git.confirmSync": false, - "git.autofetch": true -}