289 lines
7.9 KiB
Markdown
289 lines
7.9 KiB
Markdown
# 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:
|
|
|
|
```sudo pacman -Syu ghostty \
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|