diff --git a/.gitignore b/.gitignore index 600b7e4..629ab22 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /hypr/scheme/current.conf +hypr/hyprland/custom-by-hostname.conf /spicetify/config-xpui.ini /spicetify/Themes/caelestia/color.ini @@ -7,3 +8,7 @@ /btop/themes/ /fish/fish_variables + +/vscode/settings.json + +.SRCINFO 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/fish/functions/update.fish b/fish/functions/update.fish new file mode 100644 index 0000000..ba3304c --- /dev/null +++ b/fish/functions/update.fish @@ -0,0 +1,4 @@ +function update --wraps='sudo emerge --sync && sudo emerge -avDNu && sudo smart-live-rebuild' --description 'alias update=sudo emerge --sync && sudo emerge -avDNu && sudo smart-live-rebuild' + sudo emerge --sync && sudo emerge -avuDN @world && sudo smart-live-rebuild $argv + +end diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 888c30e..48aab9d 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -2,6 +2,9 @@ $hypr = ~/.config/hypr $hl = $hypr/hyprland $cConf = ~/.config/caelestia +exec-once = ln -s "./custom-$HOSTNAME.conf" ~/caelestia/hypr/hyprland/custom-by-hostname.conf &> /dev/null +source = $hl/custom-by-hostname.conf + # Variables (colours + other vars) exec = cp -L --no-preserve=mode --update=none $hypr/scheme/default.conf $hypr/scheme/current.conf source = $hypr/scheme/current.conf @@ -11,9 +14,6 @@ source = $hypr/variables.conf exec = mkdir -p $cConf && touch -a $cConf/hypr-vars.conf source = $cConf/hypr-vars.conf -# Default monitor conf -monitor = , preferred, auto, 1 - # Configs source = $hl/env.conf source = $hl/general.conf diff --git a/hypr/hyprland/custom-labob.conf b/hypr/hyprland/custom-labob.conf new file mode 100644 index 0000000..6a01dc3 --- /dev/null +++ b/hypr/hyprland/custom-labob.conf @@ -0,0 +1,3 @@ +input { + kb_layout = gb +} \ No newline at end of file diff --git a/hypr/hyprland/custom-peecee.conf b/hypr/hyprland/custom-peecee.conf new file mode 100644 index 0000000..2ecf1f2 --- /dev/null +++ b/hypr/hyprland/custom-peecee.conf @@ -0,0 +1,13 @@ +# Default monitor conf +monitor = HDMI-A-2, 1920x1080@60, 0x0, 1 +monitor = HDMI-A-1, 1920x1080@60, 1920x0, 1 + +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 ef63807..7594003 100644 --- a/hypr/hyprland/execs.conf +++ b/hypr/hyprland/execs.conf @@ -26,3 +26,6 @@ exec-once = caelestia resizer -d # Start shell exec-once = caelestia shell -d + +# Random Wallpaper +exec-once = caelestia wallpaper -r diff --git a/hypr/hyprland/gestures.conf b/hypr/hyprland/gestures.conf index 50d57ef..c38b0b8 100644 --- a/hypr/hyprland/gestures.conf +++ b/hypr/hyprland/gestures.conf @@ -7,7 +7,7 @@ gestures { 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 +# 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 2684511..1aa9512 100644 --- a/hypr/hyprland/input.conf +++ b/hypr/hyprland/input.conf @@ -1,5 +1,4 @@ input { - kb_layout = us numlock_by_default = false repeat_delay = 250 repeat_rate = 35 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 eaea3e3..f612152 100644 --- a/hypr/variables.conf +++ b/hypr/variables.conf @@ -1,9 +1,9 @@ # ### Hyprland ### # Apps $terminal = foot -$browser = zen-browser -$editor = codium -$fileExplorer = thunar +$editor = code +$fileExplorer = foot fish -C yazi +$browser = zen # Touchpad $touchpadDisableTyping = true @@ -83,7 +83,7 @@ $kbTodo = Super, R # Apps $kbTerminal = Super, T -$kbBrowser = Super, W +$kbBrowser = Super, B $kbEditor = Super, C $kbFileExplorer = Super, E diff --git a/install.fish b/install.fish index 6b1b60c..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 @@ -118,31 +118,43 @@ if ! set -q _flag_noconfirm end -# Install AUR helper if not already installed -if ! pacman -Q $aur_helper &> /dev/null - log "$aur_helper not installed. Installing..." +if test $(lsb_release -is) = Gentoo + emerge -v gui-wm/caelestia-meta +else + # Install AUR helper if not already installed + if ! pacman -Q $aur_helper &> /dev/null + log "$aur_helper not installed. Installing..." - # Install - sudo pacman -S --needed git base-devel $noconfirm - cd /tmp - git clone https://aur.archlinux.org/$aur_helper.git - cd $aur_helper - makepkg -si - cd .. - rm -rf $aur_helper + # Install + sudo pacman -S --needed git base-devel $noconfirm + cd /tmp + git clone https://aur.archlinux.org/$aur_helper.git + cd $aur_helper + makepkg -si + cd .. + rm -rf $aur_helper # Setup - $aur_helper -Y --gendb - $aur_helper -Y --devel --save + 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 index 52283c4..bfab4f2 100644 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -4,7 +4,7 @@ "editor.cursorSmoothCaretAnimation": "on", "editor.fontLigatures": true, "prettier.tabWidth": 4, - "editor.minimap.autohide": true, + "editor.minimap.autohide": "mouseover", "security.workspace.trust.startupPrompt": "always", "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, @@ -40,5 +40,7 @@ "editor.defaultFormatter": "charliermarsh.ruff" }, "ruff.lineLength": 120, - "python.languageServer": "Pylance" + "python.languageServer": "Pylance", + "git.confirmSync": false, + "git.autofetch": true } diff --git a/wallpapers/aesthetic-deer.png b/wallpapers/aesthetic-deer.png new file mode 100644 index 0000000..aef3995 Binary files /dev/null and b/wallpapers/aesthetic-deer.png differ diff --git a/wallpapers/autumn-lake.png b/wallpapers/autumn-lake.png new file mode 100644 index 0000000..df659c8 Binary files /dev/null and b/wallpapers/autumn-lake.png differ diff --git a/wallpapers/balcony.jpg b/wallpapers/balcony.jpg new file mode 100644 index 0000000..99a3e02 Binary files /dev/null and b/wallpapers/balcony.jpg differ diff --git a/wallpapers/broken-railway.jpg b/wallpapers/broken-railway.jpg new file mode 100644 index 0000000..4fb194b Binary files /dev/null and b/wallpapers/broken-railway.jpg differ diff --git a/wallpapers/cozy-desk.jpg b/wallpapers/cozy-desk.jpg new file mode 100644 index 0000000..0106c21 Binary files /dev/null and b/wallpapers/cozy-desk.jpg differ diff --git a/wallpapers/dark-clouds.jpg b/wallpapers/dark-clouds.jpg new file mode 100644 index 0000000..0d8fb0d Binary files /dev/null and b/wallpapers/dark-clouds.jpg differ diff --git a/wallpapers/evening-cats.png b/wallpapers/evening-cats.png new file mode 100644 index 0000000..a19cf1a Binary files /dev/null and b/wallpapers/evening-cats.png differ diff --git a/wallpapers/evening-city.jpg b/wallpapers/evening-city.jpg new file mode 100644 index 0000000..1ddf292 Binary files /dev/null and b/wallpapers/evening-city.jpg differ diff --git a/wallpapers/evening-sky.png b/wallpapers/evening-sky.png new file mode 100644 index 0000000..5386ac1 Binary files /dev/null and b/wallpapers/evening-sky.png differ diff --git a/wallpapers/flying castle.jpg b/wallpapers/flying castle.jpg new file mode 100644 index 0000000..a776cd0 Binary files /dev/null and b/wallpapers/flying castle.jpg differ diff --git a/wallpapers/gloomy-night.jpg b/wallpapers/gloomy-night.jpg new file mode 100644 index 0000000..56ee6ec Binary files /dev/null and b/wallpapers/gloomy-night.jpg differ diff --git a/wallpapers/great-arch.jpg b/wallpapers/great-arch.jpg new file mode 100644 index 0000000..25e3fa9 Binary files /dev/null and b/wallpapers/great-arch.jpg differ diff --git a/wallpapers/gruvbox-astro.jpg b/wallpapers/gruvbox-astro.jpg new file mode 100644 index 0000000..37614bb Binary files /dev/null and b/wallpapers/gruvbox-astro.jpg differ diff --git a/wallpapers/island.png b/wallpapers/island.png new file mode 100644 index 0000000..40ac9bc Binary files /dev/null and b/wallpapers/island.png differ diff --git a/wallpapers/lady.png b/wallpapers/lady.png new file mode 100644 index 0000000..18aa262 Binary files /dev/null and b/wallpapers/lady.png differ diff --git a/wallpapers/living-room.png b/wallpapers/living-room.png new file mode 100644 index 0000000..d06da45 Binary files /dev/null and b/wallpapers/living-room.png differ diff --git a/wallpapers/lowpoly-street.png b/wallpapers/lowpoly-street.png new file mode 100644 index 0000000..2baf4dc Binary files /dev/null and b/wallpapers/lowpoly-street.png differ diff --git a/wallpapers/moments-before-desk.png b/wallpapers/moments-before-desk.png new file mode 100644 index 0000000..e1cc7c0 Binary files /dev/null and b/wallpapers/moments-before-desk.png differ diff --git a/wallpapers/my-neighbor-totoro-sunflowers.png b/wallpapers/my-neighbor-totoro-sunflowers.png new file mode 100644 index 0000000..c1dd233 Binary files /dev/null and b/wallpapers/my-neighbor-totoro-sunflowers.png differ diff --git a/wallpapers/new-moon.jpg b/wallpapers/new-moon.jpg new file mode 100644 index 0000000..54b32b2 Binary files /dev/null and b/wallpapers/new-moon.jpg differ diff --git a/wallpapers/night-drive.jpg b/wallpapers/night-drive.jpg new file mode 100644 index 0000000..3967d10 Binary files /dev/null and b/wallpapers/night-drive.jpg differ diff --git a/wallpapers/pylons.jpg b/wallpapers/pylons.jpg new file mode 100644 index 0000000..e30d764 Binary files /dev/null and b/wallpapers/pylons.jpg differ diff --git a/wallpapers/robot-in-the-snow.jpg b/wallpapers/robot-in-the-snow.jpg new file mode 100644 index 0000000..6b1eeb8 Binary files /dev/null and b/wallpapers/robot-in-the-snow.jpg differ diff --git a/wallpapers/rocket-launch.png b/wallpapers/rocket-launch.png new file mode 100644 index 0000000..99f5f9d Binary files /dev/null and b/wallpapers/rocket-launch.png differ diff --git a/wallpapers/rural-city.jpg b/wallpapers/rural-city.jpg new file mode 100644 index 0000000..7fbd12b Binary files /dev/null and b/wallpapers/rural-city.jpg differ diff --git a/wallpapers/satellite.jpg b/wallpapers/satellite.jpg new file mode 100644 index 0000000..dcd38dd Binary files /dev/null and b/wallpapers/satellite.jpg differ diff --git a/wallpapers/space-bar.jpg b/wallpapers/space-bar.jpg new file mode 100644 index 0000000..16e571e Binary files /dev/null and b/wallpapers/space-bar.jpg differ diff --git a/wallpapers/sunset-tori.jpg b/wallpapers/sunset-tori.jpg new file mode 100644 index 0000000..dab76c4 Binary files /dev/null and b/wallpapers/sunset-tori.jpg differ diff --git a/wallpapers/sunset.jpg b/wallpapers/sunset.jpg new file mode 100644 index 0000000..38b0d24 Binary files /dev/null and b/wallpapers/sunset.jpg differ diff --git a/wallpapers/sushi.jpg b/wallpapers/sushi.jpg new file mode 100644 index 0000000..4ec82ba Binary files /dev/null and b/wallpapers/sushi.jpg differ diff --git a/wallpapers/tori-sunrise.jpg b/wallpapers/tori-sunrise.jpg new file mode 100644 index 0000000..03866df Binary files /dev/null and b/wallpapers/tori-sunrise.jpg differ diff --git a/wallpapers/totoro.jpg b/wallpapers/totoro.jpg new file mode 100644 index 0000000..b29c20d Binary files /dev/null and b/wallpapers/totoro.jpg differ