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