Files
SDG-OS/README.md
T
2026-05-31 23:06:03 +02:00

7.9 KiB

SDG-OS

mangoWC dotfiles with DMS integration as well as a couple of other things.

custom stuff:

  • pacman and AUR TUIs
  • tips
  • auto-update
  • mango configuration manager TUI
  • project manager TUI
  • screenshots scripts

auto-install

clone the repository into your home (~) directory:

cd ~

git clone https://github.com/SDG-Den/SDG-OS.git

make the install script executable

cd SDG-OS

chmod a+x install.sh

run the install script

./install.sh

you can update by running git pull followed by the update script, do note that updating will remove any customizations you've made to your configs, you can update individual components, and reference the git diffs on github to see what was changed to merge those changes into your own config.

manual install

clone the repo.

git clone https://github.com/SDG-Den/SDG-OS.git

copy the files to your .config folder if you want to modify them yourself

cd SDG-OS

cp -r mango ~/.config

cp -r sdgos ~/.config

cp -r ghostty ~/.config

cp -r DankMaterialShell ~/.config

make the scripts in the sdgos folder executable:

sudo chmod -R a+x ~/.config/sdgos

copy over the zsh config:

cp /home/$(Whoami)/.config/sdgos/zshrc /home/$(whoami)/.zshrc

cp /home/$(Whoami)/.config/sdgos/p10k.zsh /home/$(whoami)/.p10k.zsh

create and set your project directory:

mkdir -p ~/<My_Project_Directory>

echo "<My_Project_Directory>" > ~/.config/projectdir.state

example with a subdirectory:

mkdir -p ~/Documents/Projects

echo "Documents/Projects" > ~/.config/projectdir.state

the install script normally also asks you if you want to install unipkg or my dotfile sync script. you can install those manually from their github pages.

lastly, the install script asks if you want to pull Distro Wallpapers from the following repository: https://github.com/LinuxKits/Distro-wallpapers

again, you can manually pull these.

post-install

you may need to tweak around with some stuff to get application auto-theming to work, reference the DMS docs: https://danklinux.com/docs/dankmaterialshell/application-themes

as well as the mangoWM docs: https://mangowm.github.io/docs

please be sure to tweak the display config using dms or by editing monitors.conf to match your displays!

for keybinds, press super+k. these are automatically updated from your binds.conf file.

needed software:

  • (aur)mangowm-git
  • (aur)dsearch-bin
  • (aur)qt6ct-kde
  • 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-clipboard
  • hyprshot
  • grim
  • satty
  • code
  • zoxide
  • tela-circle-icon-theme-black
  • zsh
  • zsh-theme-powerlevel10k
  • eza
  • 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

installation of that software:

shelly \
firefox \
dms-shell \
tela-circle-icon-theme-black \
yay \
git \
wl-clipboard \
nautilus \
zsh-history-substring-search \
zsh-syntax-highlighting \
zsh-autosuggestions \
zsh-doc \
stow \
brightnessctl \
pipewire-pulse \
pipewire matugen \
adw-gtk-theme \
hyprshot \
grim \
satty \
code \
zoxide \
zsh \
zsh-theme-powerlevel10k \
eza \
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 qt6ct-kde`

the install script also takes care of this.

# mango-config editor script

you can open the mango config editor with super+m, this opens a terminal in which you can select a config file and see the contents of that config file. 

this script has a variable for the editor, it uses micro by default, but you can change the line "app=micro" to any editor you'd like.

# mango-config viewer script

you can open this with super+alt+m, you can select a mango config file just like with the editor, but instead of opening in a text editor, this will open the config in an interactive viewer that will show you the details of the selected config line, pressing alt+b will open the documentation for it in a new tab in your open firefox window

# documentation quicklinks

pressing super+shift+m opens a terminal with quick links to various pieces of documentation and a couple of built-in searchable reference lists. 

reference lists included:
Dank Material Shell - full IPC usage (commands)
MangoWM - Config File options
MangoWM - dispatchers (for keybinds and mango IPC)
MangoWM - IPC commands

this also contains all the mangoWM documentation sites, useful dankmaterial shell documentation pages, ghostty docs and the cachyOS + arch wiki's. 


# ghostty config

SDG-OS ships with a ghostty config that syncs your theme with DMS, sets ghostty to use zsh and configure some basic keybinds for multi-window:
ctrl+arrow keys for splitting the pane
ctrl+r to reload the config

you can exit a pane by simply typing exit. panes are auto-focused with the mouse and can be resized using mouse drags. 

# zsh config

zsh is set up with a couple of interesting tweaks:

eza replaces the standard ls command and zoxide replaces the cd command, allowing you to more easily navigate your system.

find has been replaced with a fzf implementation, and the command microfind will automatically open the selected file in micro. both of these have previews.

lastly, zsh also has some suffix aliasses, which allow you to open specific filetypes in their prefered program by just entering the file as the command. 

# installer TUIs

SDG-OS comes with installer TUIs for both pacman and the AUR

keybinds for these are disabled by default in favour of Satty and unipkg, but can be enabled in the mango binds config by uncommenting the lines.

alternatively, you can open them in the terminal using `pacgui` and `aurgui`

# Tips

SDG-OS comes with a built in tips system
a random tip is shown when ghostty is opened as well as when the "tipme" command is ran
you can also see all tips via fzf using the "alltips" command
lastly, you'll get a notification popup with a random tip when you press SUPER+0


# project manager TUI

SDG-OS comes with an interactive script bound to super+shift+tab, this will preview the paths to all of the git repositories within your projects directory (default ~/projects)

on the right side, you'll see the contents of that git repository as well as the README.md file. 

when you select a repository, the screen will close and in its place, an instance of VSCode opens with that repository already selected. 

to change your projects dir, you can do the following:

`echo "MyProjects/Subdir" > ~/.config/projectdir.state`

this will set your projects dir to /home/YourUserName/MyProjects/Subdir

you cannot set the projects dir outside of your home folder, it is also not advised to set it directly to your home folder as including .local will cause it to include all your AUR packages.


# wallpapers

SDG-OS comes with a wallpaper group switcher, you can press super+w to open the wallpaper group switcher, alt+w to go to the next wallpaper and alt+shift+w to go to the previous.

you can also quickly call a specific group by calling the script with a group:
`~/.config/sdgos/wallpapers/setwallpapergroup.sh default` 

you can add groups simply by adding folders to ~/.config/sdgos/wallpapers, a folder is a group, all the images inside will be cycled through. 

the images will always be cycled through in alphabetical order (the same way ls -l sorts the directory)

if you make a group with a single wallpaper, it will not cycle. 





# contributing

anyone with an SDGCloud account can work on forks of this repository and send code in for review, just shoot me a message if you have something interesting for the config and i'll take a look at it! 


# requesting features

just message me on discord lmao.