You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tourmaline/configs/crystal/install-desktop/up.nu

227 lines
4.0 KiB
Plaintext

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 $"Installing desktop ($cfg)"
install_base
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},
}
}