- Install gruvbox wallpaper to /run/current-system/sw/share/backgrounds/jade/ - Split xinitrc into "Personal Configuration" and "jade Desktop Environment" - Move wallpaper into jade/assets/ for flake extraction readiness This makes jade fully repo-independent - the wallpaper is now part of jade's system packages rather than referencing the nix-config repo. When extracted as a flake, jade will be completely self-contained.
97 lines
2.4 KiB
Nix
97 lines
2.4 KiB
Nix
{
|
|
pkgs,
|
|
inputs,
|
|
...
|
|
}: {
|
|
imports = [
|
|
./dmenu
|
|
];
|
|
|
|
# Desktop environment packages and configuration
|
|
environment = {
|
|
systemPackages = [
|
|
# Required for some XFCE/GTK stuff
|
|
pkgs.dconf
|
|
# Picture viewer
|
|
pkgs.xfce.ristretto
|
|
# Wallpaper setter
|
|
pkgs.feh
|
|
# Screenshot tool
|
|
pkgs.scrot
|
|
# GTK theme
|
|
pkgs.unstable.gruvbox-material-gtk-theme
|
|
# Install our XMonad and Xmobar configuration
|
|
inputs.xmonad-config.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
# Install jade wallpapers
|
|
(pkgs.stdenv.mkDerivation {
|
|
name = "jade-wallpapers";
|
|
src = "${inputs.self}/nixos/common/users/sajenim/jade/assets";
|
|
installPhase = ''
|
|
mkdir -p $out/share/backgrounds/jade
|
|
cp -r $src/* $out/share/backgrounds/jade/
|
|
'';
|
|
})
|
|
];
|
|
|
|
# Set default terminal for the desktop environment
|
|
sessionVariables = {
|
|
TERMINAL = "wezterm";
|
|
};
|
|
};
|
|
|
|
# Programs and tools for the desktop environment
|
|
programs = {
|
|
# File browser
|
|
thunar.enable = true;
|
|
# Configuration storage system for xfce
|
|
xfconf.enable = true;
|
|
# Enable dconf for GTK applications
|
|
dconf.enable = true;
|
|
};
|
|
|
|
# System services for the desktop environment
|
|
services = {
|
|
# Mount, trash, and other functionalities
|
|
gvfs.enable = true;
|
|
# Thumbnail support for images
|
|
tumbler.enable = true;
|
|
};
|
|
|
|
# XDG desktop portal for file pickers, screen sharing, etc.
|
|
xdg.portal = {
|
|
enable = true;
|
|
config.common.default = ["gtk"];
|
|
extraPortals = with pkgs; [
|
|
xdg-desktop-portal-gtk
|
|
xdg-desktop-portal-wlr
|
|
];
|
|
};
|
|
|
|
# Install patched fonts for the desktop environment
|
|
fonts.packages = [
|
|
(pkgs.stdenv.mkDerivation {
|
|
name = "jade-fonts";
|
|
src = "${inputs.self}/pkgs/patched-fonts";
|
|
installPhase = ''
|
|
mkdir -p $out/share/fonts
|
|
cp -r $src/* $out/share/fonts/
|
|
'';
|
|
})
|
|
];
|
|
|
|
# Configure GTK theme system-wide
|
|
environment.etc = {
|
|
"xdg/gtk-3.0/settings.ini".text = /* ini */ ''
|
|
[Settings]
|
|
gtk-theme-name=Gruvbox-Material-Dark
|
|
gtk-icon-theme-name=Gruvbox-Material-Dark
|
|
gtk-application-prefer-dark-theme=true
|
|
'';
|
|
"xdg/gtk-4.0/settings.ini".text = /* ini */ ''
|
|
[Settings]
|
|
gtk-theme-name=Gruvbox-Material-Dark
|
|
gtk-icon-theme-name=Gruvbox-Material-Dark
|
|
gtk-application-prefer-dark-theme=true
|
|
'';
|
|
};
|
|
}
|