Add new desktop environments and window managers

axtloss/rework-partitioning
axtloss 2 years ago
parent f835115eef
commit b9547beba7

@ -260,6 +260,24 @@ pub enum DesktopSetup {
#[clap(name = "enlightenment")] #[clap(name = "enlightenment")]
Enlightenment, Enlightenment,
#[clap(name = "lxqt")]
Lxqt,
#[clap(name = "sway")]
Sway,
#[clap(name = "i3gaps")]
I3gaps,
#[clap(name = "herbstluftwm")]
Herbstluftwm,
#[clap(name = "awesome")]
Awesome,
#[clap(name = "bspwm")]
Bspwm,
#[clap(name = "None/DIY")] #[clap(name = "None/DIY")]
None, None,
} }

@ -13,6 +13,12 @@ pub fn install_desktop_setup(desktop_setup: DesktopSetup) {
DesktopSetup::Mate => install_mate(), DesktopSetup::Mate => install_mate(),
DesktopSetup::Xfce => install_xfce(), DesktopSetup::Xfce => install_xfce(),
DesktopSetup::Enlightenment => install_enlightenment(), DesktopSetup::Enlightenment => install_enlightenment(),
DesktopSetup::Lxqt => install_lxqt(),
DesktopSetup::Sway => install_sway(),
DesktopSetup::I3gaps => install_i3gaps(),
DesktopSetup::Herbstluftwm => install_herbstluftwm(),
DesktopSetup::Awesome => install_awesome(),
DesktopSetup::Bspwm => install_bspwm(),
DesktopSetup::None => log::debug!("No desktop setup selected"), DesktopSetup::None => log::debug!("No desktop setup selected"),
} }
install_networkmanager(); install_networkmanager();
@ -29,6 +35,126 @@ fn install_networkmanager() {
); );
} }
fn install_bspwm() {
install(vec![
"xorg",
"bspwm",
"sxhkd",
"xdo",
"lightdm",
"lightdm-gtk-greeter",
"lightdm-gtk-greeter-settings",
]);
files_eval(
files::append_file(
"/mnt/etc/lightdm/lightdm.conf",
"[SeatDefaults]\ngreeter-session=lightdm-gtk-greeter\n",
),
"Add lightdm greeter",
);
enable_dm("lightdm");
}
fn install_awesome() {
install(vec![
"xorg",
"awesome",
"dex",
"rlwrap",
"vicious",
"lightdm",
"lightdm-gtk-greeter",
"lightdm-gtk-greeter-settings",
]);
files_eval(
files::append_file(
"/mnt/etc/lightdm/lightdm.conf",
"[SeatDefaults]\ngreeter-session=lightdm-gtk-greeter\n",
),
"Add lightdm greeter",
);
enable_dm("lightdm");
}
fn install_herbstluftwm() {
install(vec![
"xorg",
"herbstluftwm",
"dmenu",
"dzen2",
"xorg-xsetroot",
"xterm",
"lightdm",
"lightdm-gtk-greeter",
"lightdm-gtk-greeter-settings",
]);
files_eval(
files::append_file(
"/mnt/etc/lightdm/lightdm.conf",
"[SeatDefaults]\ngreeter-session=lightdm-gtk-greeter\n",
),
"Add lightdm greeter",
);
enable_dm("lightdm");
}
fn install_i3gaps() {
install(vec![
"xorg",
"i3-gaps",
"dmenu",
"i3lock",
"i3status",
"rxvt-unicode",
"lightdm",
"lightdm-gtk-greeter",
"lightdm-gtk-greeter-settings",
]);
files_eval(
files::append_file(
"/mnt/etc/lightdm/lightdm.conf",
"[SeatDefaults]\ngreeter-session=lightdm-gtk-greeter\n",
),
"Add lightdm greeter",
);
enable_dm("lightdm");
}
fn install_sway() {
install(vec![
"xorg-xwayland",
"sway",
"bemenu",
"foot",
"mako",
"polkit",
"swaybg",
"lightdm",
"lightdm-gtk-greeter",
"lightdm-gtk-greeter-settings",
]);
files_eval(
files::append_file(
"/mnt/etc/lightdm/lightdm.conf",
"[SeatDefaults]\ngreeter-session=lightdm-gtk-greeter\n",
),
"Add lightdm greeter",
);
enable_dm("lightdm");
}
fn install_lxqt() {
install(vec![
"xorg",
"lxqt",
"breeze-icons",
"nm-tray",
"xscreensaver",
"sddm",
]);
enable_dm("sddm");
}
fn install_enlightenment() { fn install_enlightenment() {
install(vec![ install(vec![
"xorg", "xorg",

@ -166,6 +166,12 @@ pub fn read_config(configpath: PathBuf) {
"xfce" => desktops::install_desktop_setup(DesktopSetup::Xfce), "xfce" => desktops::install_desktop_setup(DesktopSetup::Xfce),
"budgie" => desktops::install_desktop_setup(DesktopSetup::Budgie), "budgie" => desktops::install_desktop_setup(DesktopSetup::Budgie),
"enlightenment" => desktops::install_desktop_setup(DesktopSetup::Enlightenment), "enlightenment" => desktops::install_desktop_setup(DesktopSetup::Enlightenment),
"lxqt" => desktops::install_desktop_setup(DesktopSetup::Lxqt),
"sway" => desktops::install_desktop_setup(DesktopSetup::Sway),
"i3-gaps" => desktops::install_desktop_setup(DesktopSetup::I3gaps),
"herbstluftwm" => desktops::install_desktop_setup(DesktopSetup::Herbstluftwm),
"awesome" => desktops::install_desktop_setup(DesktopSetup::Awesome),
"bspwm" => desktops::install_desktop_setup(DesktopSetup::Bspwm),
"None/DIY" => desktops::install_desktop_setup(DesktopSetup::None), "None/DIY" => desktops::install_desktop_setup(DesktopSetup::None),
_ => log::info!("No desktop setup selected!"), _ => log::info!("No desktop setup selected!"),
} }

Loading…
Cancel
Save