|
|
|
@ -2,11 +2,225 @@ let RUN_IN_CHROOT = true;
|
|
|
|
|
|
|
|
|
|
def install_base [] {
|
|
|
|
|
install networkmanager
|
|
|
|
|
install_pipewire
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def install_pipewire [] {
|
|
|
|
|
( install
|
|
|
|
|
pipewire
|
|
|
|
|
pipewire-pulse
|
|
|
|
|
pipewire-alsa
|
|
|
|
|
pipewire-jack
|
|
|
|
|
wireplumber
|
|
|
|
|
helvum
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module dm {
|
|
|
|
|
export def lightdm [] {
|
|
|
|
|
( install
|
|
|
|
|
lightdm
|
|
|
|
|
lightdm-greeter
|
|
|
|
|
lightdm-greeter-settings
|
|
|
|
|
)
|
|
|
|
|
run systemctl enable lightdm
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def gdm [] {
|
|
|
|
|
install gdm
|
|
|
|
|
run systemctl enable gdm
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def sddm [] {
|
|
|
|
|
install sddm
|
|
|
|
|
run systemctl enable sddm
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
module desktop {
|
|
|
|
|
use dm
|
|
|
|
|
|
|
|
|
|
export def onyx [] {
|
|
|
|
|
dm gdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
onyx
|
|
|
|
|
sushi
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def gnome [] {
|
|
|
|
|
dm gdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
gnome
|
|
|
|
|
sushi
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def kde [] {
|
|
|
|
|
dm sddm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
plasma
|
|
|
|
|
plasma-wayland-session
|
|
|
|
|
kde-utilities
|
|
|
|
|
kde-system
|
|
|
|
|
sddm
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def budgie [] {
|
|
|
|
|
dm lightdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
budgie-desktop
|
|
|
|
|
gnome
|
|
|
|
|
xdg-desktop-portal
|
|
|
|
|
xdg-desktop-portal-gtk
|
|
|
|
|
xdg-utils
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def cinnamon [] {
|
|
|
|
|
dm lightdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
cinnamon
|
|
|
|
|
metacity
|
|
|
|
|
gnome-shell
|
|
|
|
|
gnome-terminal
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def mate [] {
|
|
|
|
|
dm lightdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
mate
|
|
|
|
|
mate-extra
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def xfce [] {
|
|
|
|
|
dm lightdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
xfce4
|
|
|
|
|
xfce4-goodies
|
|
|
|
|
pavucontrol
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def enlightenment [] {
|
|
|
|
|
dm lightdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
enlightenment
|
|
|
|
|
terminology
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def lxqt [] {
|
|
|
|
|
dm sddm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
lxqt
|
|
|
|
|
breeze-icons
|
|
|
|
|
nm-tray
|
|
|
|
|
xscreensaver
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def sway [] {
|
|
|
|
|
dm sddm
|
|
|
|
|
( install
|
|
|
|
|
xorg-xwayland
|
|
|
|
|
sway
|
|
|
|
|
bemenu
|
|
|
|
|
foot
|
|
|
|
|
mako
|
|
|
|
|
polkit
|
|
|
|
|
swaybg
|
|
|
|
|
xdg-user-dirs
|
|
|
|
|
dex
|
|
|
|
|
polkit-gnome
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def i3 [] {
|
|
|
|
|
dm lightdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
i3-wm
|
|
|
|
|
dmenu
|
|
|
|
|
i3lock
|
|
|
|
|
i3status
|
|
|
|
|
rxvt-unicode
|
|
|
|
|
xdg-user-dirs
|
|
|
|
|
dex
|
|
|
|
|
polkit-gnome
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def herbstluftwm [] {
|
|
|
|
|
dm lightdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
herbstluftwm
|
|
|
|
|
dmenu
|
|
|
|
|
dzen2
|
|
|
|
|
xorg-xsetroot
|
|
|
|
|
xdg-user-dirs
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def awesomewm [] {
|
|
|
|
|
dm lightdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
awesome
|
|
|
|
|
dex
|
|
|
|
|
rlwrap
|
|
|
|
|
vicious
|
|
|
|
|
xdg-user-dirs
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export def bspwm [] {
|
|
|
|
|
dm lightdm
|
|
|
|
|
( install
|
|
|
|
|
xorg
|
|
|
|
|
bspwm
|
|
|
|
|
sxhkd
|
|
|
|
|
xdo
|
|
|
|
|
xdg-user-dirs
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Applies all system changes of `install-desktop`
|
|
|
|
|
def main [cfg] {
|
|
|
|
|
echo "Executing up task `install-desktop` with config" $cfg
|
|
|
|
|
echo $"Installing desktop ($cfg)"
|
|
|
|
|
install_base
|
|
|
|
|
todo "Implement install desktops"
|
|
|
|
|
|
|
|
|
|
use desktop
|
|
|
|
|
|
|
|
|
|
match $cfg {
|
|
|
|
|
"Onyx" => {desktop onyx},
|
|
|
|
|
"KdePlasma" => {desktop kde},
|
|
|
|
|
"Mate" => {desktop mate},
|
|
|
|
|
"Gnome" => {desktop gnome},
|
|
|
|
|
"Cinnamon" => {desktop cinnamon},
|
|
|
|
|
"Xfce" => {desktop xfce},
|
|
|
|
|
"Budgie" => {desktop budgie},
|
|
|
|
|
"Enlightenment" => {desktop enlightenment},
|
|
|
|
|
"Lxqt" => {desktop lxqt},
|
|
|
|
|
"Swaq" => {desktop sway},
|
|
|
|
|
"I3Gaps" => {desktop i3},
|
|
|
|
|
"HerbstluftWM" => {desktop herbstluftwm},
|
|
|
|
|
"AwesomeWM" => {desktop awesomewm},
|
|
|
|
|
"Bspwm" => {desktop bspwm},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|