Compare commits

..

4 commits

2 changed files with 50 additions and 5 deletions

View file

@ -19,8 +19,12 @@ let
in
{
# Enable the Plasma 5 Desktop Environment.
services.xserver.desktopManager.plasma5.enable = true;
services.xserver = {
# Enable the Plasma 5 Desktop Environment
desktopManager.plasma5.enable = true;
displayManager.defaultSession = "plasmawayland";
};
# GTK apps need dconf to grab the correct theme on Wayland
programs.dconf.enable = true;
@ -57,5 +61,4 @@ in
"xdg/gtkrc-2.0".text = gtk1and2settings;
"xdg/gtkrc".text = gtk1and2settings;
};
environment.systemPackages = [pkgs.yaru-theme];
}

View file

@ -1,15 +1,57 @@
{ config, ... }:
{ config, pkgs, ... }:
let
currentTheme = config.services.xserver.displayManager.sddm.theme;
sddm-sugar-candy = pkgs.stdenv.mkDerivation {
pname = "sddm-sugar-candy";
version = "master";
src = pkgs.fetchgit {
url = "https://framagit.org/MarianArlt/sddm-sugar-candy.git";
hash = "sha256-XggFVsEXLYklrfy1ElkIp9fkTw4wvXbyVkaVCZq4ZLU=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/sddm/themes/sugar-candy
cp -r /build/sddm-sugar-candy/* $out/share/sddm/themes/sugar-candy
runHook postInstall
'';
};
/*
Adds a theme.conf.user file to the current sddm theme's folder,
allowing you to change it's configuration without needing to
repackage it
*/
customcfg = pkgs.stdenv.mkDerivation {
name = "sddm-theme-customizer";
dontUnpack = true;
# TODO: generate theme.conf.user outside of installPhase
installPhase = ''
runHook preInstall
mkdir -p $out/share/sddm/themes/${currentTheme}/
echo "[General]
background = ${pkgs.plasma-workspace-wallpapers}/share/wallpapers/MilkyWay/contents/images/5120x2880.png" >> $out/share/sddm/themes/${currentTheme}/theme.conf.user
runHook postInstall
'';
};
in
{
# Enable SDDM.
services.xserver.displayManager.sddm = {
enable = true;
theme = "sugar-candy";
settings = {
General = { Numlock = "on"; };
};
};
environment.systemPackages = [ sddm-sugar-candy customcfg ];
/*
Sddm has a very annoying bug where it sometimes hangs at shutdown
if you use Plasma's wayland session. The bug is already fixed upstream,