Compare commits

..

2 Commits

Author SHA1 Message Date
SDGDen 4cd727dfdc added some stuff to make the terminal scratchpad work smoother. 2026-05-29 23:03:56 +02:00
SDGDen 94978f2c46 updated some configs to remove dependency on cachyOS and fix install.
added install options for unipkg and git-sync.
2026-05-29 22:30:02 +02:00
6 changed files with 155 additions and 24 deletions
+29 -6
View File
@@ -2,7 +2,7 @@
echo "installing pre-requisites" echo "installing pre-requisites"
sudo pacman -Syu ghostty firefox dms-shell yay git nautilus brightnessctl pipewire-pulse pipewire matugen adw-gtk-theme wl-copy hyprshot grim satty code-oss zoxide zsh zsh-theme-powerlevel10k eza kanshi ttf-nerd-fonts-symbols-common ttf-nerd-fonts-symbols-mono ttf-nerd-fonts-symbols ttf-cascadia-code-nerd ttf-cascadia-mono-nerd ttf-terminus-nerd ttf-firacode-nerd ttf-ubuntu-nerd sudo pacman -Syu ghostty shelly firefox dms-shell yay git nautilus zsh-history-substring-search zsh-syntax-highlighting zsh-autosuggestions zsh-doc stow brightnessctl pipewire-pulse pipewire matugen adw-gtk-theme wl-copy hyprshot grim satty code-oss zoxide zsh zsh-theme-powerlevel10k eza kanshi ttf-nerd-fonts-symbols-common ttf-nerd-fonts-symbols-mono ttf-nerd-fonts-symbols ttf-cascadia-code-nerd ttf-cascadia-mono-nerd ttf-terminus-nerd ttf-firacode-nerd ttf-ubuntu-nerd
yay -S mangowm-git dsearch-bin yay -S mangowm-git dsearch-bin
@@ -12,22 +12,45 @@ if [ $WORKINGDIR != "/home/$(whoami)/SDG-OS"]; then
ln -sf $WORKINGDIR /home/$(whoami) ln -sf $WORKINGDIR /home/$(whoami)
fi fi
mv /home/$(whoami)/.config/mango /home/$(whoami)/.config/mango-old-$(date %b%D) mv /home/$(whoami)/.config/mango /home/$(whoami)/.config/mango-old-$RANDOM
cp -r /home/$(whoami)/SDG-OS/mango /home/$(whoami)/.config cp -r /home/$(whoami)/SDG-OS/mango /home/$(whoami)/.config
mv /home/$(whoami)/.config/sdgos /home/$(whoami)/.config/sdgos-old-$(date %b%D) mv /home/$(whoami)/.config/sdgos /home/$(whoami)/.config/sdgos-old-$RANDOM
cp -r /home/$(whoami)/SDG-OS/sdgos /home/$(whoami)/.config cp -r /home/$(whoami)/SDG-OS/sdgos /home/$(whoami)/.config
mv /home/$(whoami)/.config/ghostty /home/$(whoami)/.config/ghostty-old-$(date %b%D) mv /home/$(whoami)/.config/ghostty /home/$(whoami)/.config/ghostty-old-$RANDOM
cp -r /home/$(whoami)/SDG-OS/ghostty /home/$(whoami)/.config cp -r /home/$(whoami)/SDG-OS/ghostty /home/$(whoami)/.config
echo "projects" > ~/.config/projectdir.state echo "projects" > ~/.config/projectdir.state
mkdir -p ~/projects mkdir -p ~/projects
mv /home/$(whoami)/.zshrc /home/$(whoami)/.zshrc-old-$(date %b%D) mv /home/$(whoami)/.zshrc /home/$(whoami)/.zshrc-old-$RANDOM
cp /home/$(Whoami)/.config/sdgos/zshrc /home/$(whoami)/.zshrc cp /home/$(Whoami)/.config/sdgos/zshrc /home/$(whoami)/.zshrc
mv /home/$(whoami)/.p10k.zsh /home/$(whoami)/.p10k.zsh-old-$(date %b%D) mv /home/$(whoami)/.p10k.zsh /home/$(whoami)/.p10k.zsh-old-$RANDOM
cp /home/$(Whoami)/.config/sdgos/p10k.zsh /home/$(whoami)/.p10k.zsh cp /home/$(Whoami)/.config/sdgos/p10k.zsh /home/$(whoami)/.p10k.zsh
chmod -R a+x ~/.config/sdgos chmod -R a+x ~/.config/sdgos
echo "SDG-OS comes with the following optional extra scripts:"
echo " - unipkg: universal package management TUI scripting"
echo " - dotfile-git-sync: a script to make migrating your dotfiles to a github directory easy"
echo ""
read -p "Do you want to install the additional scripts? [Y/n] " -n 1 -r
echo # Move to a new line
if [[ ! $REPLY =~ ^[Nn]$ ]]; then
git clone https://github.com/SDG-Den/unipkg ~/projects/unipkg
git clone https://github.com/SDG-Den/dotfile-git-sync ~/projects/dotfile-git-sync
echo "installing unipkg"
bash -c "~/projects/unipkg/install.sh"
mkdir -p ~/.local/share/dotfile-git-sync
cp ~/projects/dotfile-git-sync/dotfile-git-sync ~/.local/share/dotfile-git-sync
sudo ln -sf /home/$(whoami)/.local/share/dotfiles-git-sync/dotfiles-git-sync /usr/bin
chmod a+x ~/.local/share/dotfiles-git-sync/dotfiles-git-sync
else
echo "optional scripts skipped, you can always install them manually later."
fi
echo "installation complete! you should now be able to log out and switch to \"mango\"" echo "installation complete! you should now be able to log out and switch to \"mango\""
+5
View File
@@ -13,6 +13,11 @@ exec-once=~/.config/sdgos/firstrun.sh
# UI # UI
exec-once=ghostty exec-once=ghostty
# pre-load terminal scratchpad
exec-once=sleep 1 && mmsg -d toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,'ghostty +new-window --title="scratchpad-term"'
exec-once=sleep 1.5 && mmsg -d toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,'ghostty +new-window --title="scratchpad-term"'
exec-once=sleep 2 && mmsg -d toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,'ghostty +new-window --title="scratchpad-term"'
## start DankMaterial Shell ## start DankMaterial Shell
exec-once=dms run exec-once=dms run
+22 -7
View File
@@ -9,7 +9,8 @@ bind=SUPER,0,spawn_shell,notify-send "SDG-OS Tips" "$(shuf -n 1 ~/.config/sdgos/
bind=SUPER,C,toggle_scratchpad bind=SUPER,C,toggle_scratchpad
bind=SUPER+CTRL,C,minimized bind=SUPER+CTRL,C,minimized
bind=SUPER+ALT,C,restore_minimized bind=SUPER+ALT,C,restore_minimized
bind=SUPER+ALT,SPACE,toggle_named_scratchpad,com.mitchellh.ghostty,.*,ghostty #specific terminal scratchpad for a quick access terminal
bind=SUPER+ALT,SPACE,toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,ghostty +new-window --title="scratchpad-term" && sleep 0.2 && mmsg -d toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,ghostty +new-window --title="scratchpad-term"
##! window management ##! window management
bind=SUPER,T,togglefloating, # float/unfloat active window bind=SUPER,T,togglefloating, # float/unfloat active window
@@ -23,7 +24,7 @@ bind=ALT,TAB,toggleoverview
bind=SUPER,A,spawn_shell,~/.config/sdgos/misc/layoutbutton.sh # special layout toggle bind=SUPER,A,spawn_shell,~/.config/sdgos/misc/layoutbutton.sh # special layout toggle
bind=SUPER+SHIFT,A,switch_layout bind=SUPER+SHIFT,A,switch_layout
##! OS functions ##! DMS functions
bind=SUPER,L,spawn_shell,dms ipc call lock lock # locks screen bind=SUPER,L,spawn_shell,dms ipc call lock lock # locks screen
bind=SUPER,SPACE,spawn_shell,dms ipc call spotlight toggle # open runner menu bind=SUPER,SPACE,spawn_shell,dms ipc call spotlight toggle # open runner menu
bind=SUPER,V,spawn_shell,dms ipc call clipboard toggle # open clipboard bind=SUPER,V,spawn_shell,dms ipc call clipboard toggle # open clipboard
@@ -35,18 +36,27 @@ bind=SUPER+SHIFT,N,spawn_shell,dms ipc call notifications open # open notificati
bind=SUPER,ESCAPE,spawn_shell,dms ipc call control-center toggle # toggle control center bind=SUPER,ESCAPE,spawn_shell,dms ipc call control-center toggle # toggle control center
bind=SUPER,Z,spawn_shell,dms ipc call powermenu toggle # toggle power menu bind=SUPER,Z,spawn_shell,dms ipc call powermenu toggle # toggle power menu
bind=SUPER,S,spawn_shell,dms ipc call settings toggle # toggle settings bind=SUPER,S,spawn_shell,dms ipc call settings toggle # toggle settings
###! SDG-OS custom scripts ###! SDG-OS custom scripts
bind=SUPER,M,spawn_shell,ghostty -e ~/.config/sdgos/mango-config.sh # show mango config editor bind=SUPER,M,spawn_shell,ghostty -e ~/.config/sdgos/mango-config.sh # show mango config editor
bind=SUPER+ALT,M,spawn_shell,ghostty -e ~/.config/sdgos/config-overview/menu.sh # mango config explainer menu bind=SUPER+ALT,M,spawn_shell,ghostty -e ~/.config/sdgos/config-overview/menu.sh # mango config explainer menu
bind=SUPER,Y,spawn_shell,ghostty -e ~/.config/sdgos/tuis/pkg-install.sh # install packages
bind=SUPER+SHIFT,Y,spawn_shell,ghostty -e ~/.config/sdgos/tuis/aur-install.sh # install AUR packages
bind=SUPER,W,spawn_shell,ghostty -e ~/.config/sdgos/tuis/layout-switch.sh # switch between layouts on the current workspace bind=SUPER,W,spawn_shell,ghostty -e ~/.config/sdgos/tuis/layout-switch.sh # switch between layouts on the current workspace
bind=SUPER+ALT,Y,spawn_shell,ghostty -e unipkg launch-tui
####! dotfile git sync script
#bind=SUPER+CTRL,TAB,spawn_shell, ghostty -e dotfile-git-sync ~/mydotfilerepo # set the location before uncommenting
# Default package manager binds (shelly + unipkg)
bind=SUPER,Y,spawn_shell,shelly-ui
bind=SUPER+shift,Y,spawn_shell,ghostty -e unipkg launch-tui # launch unipkg tui
# Alternate binds (using omarchy's TUIs)
#bind=SUPER,Y,spawn_shell,ghostty -e ~/.config/sdgos/tuis/aur-install.sh # install AUR packages
#bind=SUPER+shift,Y,spawn_shell,ghostty -e ~/.config/sdgos/tuis/pkg-install.sh # install packages via TUI
##! program launchers ##! program launchers
bind=SUPER,RETURN,spawn_shell,ghostty bind=SUPER,RETURN,spawn_shell,ghostty
bind=SUPER,TAB,spawn_shell,ghostty bind=SUPER,TAB,spawn_shell,ghostty
bind=SUPER,E,spawn,nautilus ~ bind=SUPER,E,spawn,nautilus --new-window
bind=SUPER,B,spawn,firefox bind=SUPER,B,spawn,firefox
bind=SUPER,N,spawn_shell,dms ipc call notepad toggle # open notes bind=SUPER,N,spawn_shell,dms ipc call notepad toggle # open notes
bind=SUPER+SHIFT,M,spawn_shell,ghostty -e ~/.config/sdgos/tuis/documentation.sh # open SDG-OS related documentation bind=SUPER+SHIFT,M,spawn_shell,ghostty -e ~/.config/sdgos/tuis/documentation.sh # open SDG-OS related documentation
@@ -125,11 +135,16 @@ bind=SUPER+alt,7,toggleview,7 # toggle on workspace 7
bind=SUPER+alt,8,toggleview,8 # toggle on workspace 8 bind=SUPER+alt,8,toggleview,8 # toggle on workspace 8
bind=SUPER+alt,9,toggleview,9 # toggle on workspace 9 bind=SUPER+alt,9,toggleview,9 # toggle on workspace 9
# move between monitors with mainmod + ctrl + 1-9
bind=SUPER+ctrl,1,tagmon,name:^DP-1$ # move to monitor DP-1
bind=SUPER+ctrl,2,tagmon,name:^HDMI-A-1$ # move to monitor HDMI-A-1
bind=SUPER+ctrl,3,tagmon,name:^DP-2$ # move to monitor DP-2
# Mouse Button Bindings # Mouse Button Bindings
# btn_left and btn_right can't bind none mod key # btn_left and btn_right can't bind none mod key
mousebind=SUPER,btn_left,moveresize,curmove mousebind=SUPER,btn_left,moveresize,curmove
mousebind=NONE,btn_middle,togglemaximizescreen,0 mousebind=SUPER,btn_middle,togglemaximizescreen,0
mousebind=SUPER,btn_right,moveresize,curresize mousebind=SUPER,btn_right,moveresize,curresize
+5 -4
View File
@@ -35,10 +35,10 @@ alias documentation=~/.config/sdgos/tuis/documentation.sh
alias tldrtui=~/.config/sdgos/help/cmd-help.sh alias tldrtui=~/.config/sdgos/help/cmd-help.sh
alias helptui=~/.config/sdgos/help/help.sh alias helptui=~/.config/sdgos/help/help.sh
EDITOR=micro export EDITOR=micro
IMAGEPROGRAM='satty --filename' export IMAGEPROGRAM='satty --filename'
TIPS=$(cat ~/.config/sdgos/tips/tips.list) export TIPS=$(cat ~/.config/sdgos/tips/tips.list)
SHELL=/bin/zsh export SHELL=/bin/zsh
function plz() { function plz() {
if [ -z "$1" ]; then if [ -z "$1" ]; then
@@ -61,6 +61,7 @@ alias -s png=$IMAGEPROGRAM
alias -s jpg=$IMAGEPROGRAM alias -s jpg=$IMAGEPROGRAM
alias -s jpeg=$IMAGEPROGRAM alias -s jpeg=$IMAGEPROGRAM
alias -s webp=$IMAGEPROGRAM alias -s webp=$IMAGEPROGRAM
alias -s nix=$EDITOR
eval "$(zoxide init zsh --cmd cd )" eval "$(zoxide init zsh --cmd cd )"
source <(fzf --zsh) source <(fzf --zsh)
+90 -3
View File
@@ -5,13 +5,100 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi fi
source /usr/share/cachyos-zsh-config/cachyos-config.zsh # Path to your oh-my-zsh installation.
export ZSH="/usr/share/oh-my-zsh"
# Uncomment the following line if pasting URLs and other text is messed up.
#DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
[[ -z "${plugins[*]}" ]] && plugins=(git fzf extract)
source $ZSH/oh-my-zsh.sh
# User configuration
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Ignore commands that start with spaces and duplicates.
export HISTCONTROL=ignoreboth
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Don't add certain commands to the history file.
export HISTORY_IGNORE="(\&|[bf]g|c|clear|history|exit|q|pwd|* --help)"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Use custom `less` colors for `man` pages.
export LESS_TERMCAP_md="$(tput bold 2> /dev/null; tput setaf 2 2> /dev/null)"
export LESS_TERMCAP_me="$(tput sgr0 2> /dev/null)"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Make new shells get the history lines from all previous
# shells instead of the default "last window closed" history.
export PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
#alias open="xdg-open"
alias make="make -j`nproc`"
alias ninja="ninja -j`nproc`"
alias n="ninja"
alias c="clear"
alias rmpkg="sudo pacman -Rsn"
alias cleanch="sudo pacman -Scc"
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
alias update="sudo pacman -Syu"
# Help people new to Arch
alias apt="man pacman"
alias apt-get="man pacman"
alias please="sudo"
alias tb="nc termbin.com 9999"
# Cleanup orphaned packages
alias cleanup="sudo pacman -Rsn $(pacman -Qtdq)"
# Get the error messages from journalctl
alias jctl="journalctl -p 3 -xb"
# Recent installed packages
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl"
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme
# Fish-like syntax highlighting and autosuggestions
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# Use history substring search
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
# pkgfile "command not found" handler
source /usr/share/doc/pkgfile/command-not-found.zsh
export FZF_BASE=/usr/share/fzf
# Added by LM Studio CLI (lms) # Added by LM Studio CLI (lms)
export PATH="$PATH:/home/den/.lmstudio/bin" export PATH="$PATH:/home/$(whoami)/.lmstudio/bin"
# End of LM Studio CLI section # End of LM Studio CLI section
export EDITOR=micro export EDITOR=micro
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
source /home/den/.config/sdgos/zshconfig.zsh source /home/$(whoami)/.config/sdgos/zshconfig.zsh
+2 -2
View File
@@ -7,7 +7,7 @@ git pull
echo "re-installing/updating pre-requisites" echo "re-installing/updating pre-requisites"
sudo pacman -Syu ghostty firefox dms-shell yay git nautilus brightnessctl pipewire-pulse pipewire matugen adw-gtk-theme wl-copy hyprshot grim satty code-oss zoxide zsh zsh-theme-powerlevel10k eza kanshi ttf-nerd-fonts-symbols-common ttf-nerd-fonts-symbols-mono ttf-nerd-fonts-symbols ttf-cascadia-code-nerd ttf-cascadia-mono-nerd ttf-terminus-nerd ttf-firacode-nerd ttf-ubuntu-nerd sudo pacman -Syu ghostty firefox dms-shell yay git nautilus zsh-history-substring-search zsh-syntax-highlighting zsh-autosuggestions zsh-doc stow brightnessctl pipewire-pulse pipewire matugen adw-gtk-theme wl-copy hyprshot grim satty code-oss zoxide zsh zsh-theme-powerlevel10k eza kanshi ttf-nerd-fonts-symbols-common ttf-nerd-fonts-symbols-mono ttf-nerd-fonts-symbols ttf-cascadia-code-nerd ttf-cascadia-mono-nerd ttf-terminus-nerd ttf-firacode-nerd ttf-ubuntu-nerd
yay -S mangowm-git dsearch-bin yay -S mangowm-git dsearch-bin
@@ -17,7 +17,7 @@ if [ $WORKINGDIR != "/home/$(whoami)/SDG-OS"]; then
ln -sf $WORKINGDIR /home/$(whoami) ln -sf $WORKINGDIR /home/$(whoami)
fi fi
RAND=$(date %b%D) RAND=$RANDOM
read -p "do you want to update and refresh your mango config? this will reset you back to SDG-OS defaults [y/N] " -n 1 -r REPLY read -p "do you want to update and refresh your mango config? this will reset you back to SDG-OS defaults [y/N] " -n 1 -r REPLY
echo echo