create de-twm module

This commit is contained in:
datsudo 2025-06-02 21:47:20 +08:00
parent fe4f198661
commit 5d62aea9ae
2 changed files with 45 additions and 12 deletions

View File

@ -3,6 +3,7 @@
{ {
imports = [ # Include the results of the hardware scan. imports = [ # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
./de-twm.nix
./boot.nix ./boot.nix
./filesystems.nix ./filesystems.nix
./flatpak.nix ./flatpak.nix
@ -28,9 +29,6 @@
displayManager.lightdm.enable = true; displayManager.lightdm.enable = true;
desktopManager.cinnamon.enable = true;
desktopManager.xfce.enable = true;
xkb.layout = "us"; xkb.layout = "us";
xkb.variant = ""; xkb.variant = "";
}; };
@ -111,24 +109,23 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
fastfetch btop htop wget fzf ripgrep fastfetch btop htop wget fzf ripgrep
obsidian metasploit google-chrome home-manager obsidian metasploit google-chrome home-manager
xclip sqlite lsd gpick nsxiv pulseaudio sqlite lsd nsxiv pulseaudio
mpc brightnessctl sdcv speedcrunch screenkey bitwarden-desktop mpc brightnessctl sdcv speedcrunch screenkey bitwarden-desktop
keepassxc rustup gcc gnumake clang-tools nodejs pnpm keepassxc rustup gcc gnumake clang-tools nodejs pnpm
imagemagick pandoc nixd dbeaver-bin gdu sl pavucontrol imagemagick pandoc nixd dbeaver-bin gdu sl pavucontrol
ffmpeg ffmpegthumbnailer p7zip rar unrar zip unzip dig nix-du ffmpeg ffmpegthumbnailer p7zip rar unrar zip unzip dig nix-du
nh graphviz libnotify xtitle xwinmosaic xorg.xev xdo xdotool xsel nh graphviz libnotify drawing wmctrl
drawing xorg.xinit wmctrl simplescreenrecorder
xfce.gigolo xfce.xfce4-dict xfce.xfce4-panel xfce.xfce4-pulseaudio-plugin #### X11 stuff
xfce.xfce4-whiskermenu-plugin xfce.mousepad xorg.xev xorg.xinit xtitle xwinmosaic xdo xdotool xsel xclip
xfce.xfwm4-themes xfce.xfce4-netload-plugin simplescreenrecorder gpick # stuff that will ONLY work in X
inputs.zen-browser.packages.${pkgs.system}.default inputs.zen-browser.packages.${pkgs.system}.default
]; ];
environment.xfce.excludePackages = with pkgs.xfce; [ ### DESKTOP
xfce4-appfinder xfce4-taskmanager xfce4-terminal deWm.cinnamon.enable = true;
]; deWm.xfce.enable = true;
### ENV ### ENV
environment.variables = { environment.variables = {

36
system/de-twm.nix Normal file
View File

@ -0,0 +1,36 @@
{ config, pkgs, lib, ... }:
let
inherit (lib) mkOption mkIf types;
cfg = config.deWm;
in
{
options.deWm = {
cinnamon.enable = mkOption {
default = false;
type = types.bool;
};
xfce.enable = mkOption {
default = false;
type = types.bool;
};
};
config = {
services = {
xserver = {
desktopManager.cinnamon.enable = cfg.cinnamon.enable;
desktopManager.xfce.enable = cfg.xfce.enable;
};
};
environment.xfce.excludePackages = with pkgs.xfce; mkIf cfg.xfce.enable [
xfce4-appfinder xfce4-taskmanager xfce4-terminal
];
environment.systemPackages = with pkgs.xfce; mkIf cfg.xfce.enable [
gigolo xfce4-dict xfce4-panel xfce4-pulseaudio-plugin
xfce4-whiskermenu-plugin mousepad xfwm4-themes xfce4-netload-plugin
];
};
}