cleanup and modularization
This commit is contained in:
parent
5beb5cebbf
commit
daefb8b3a6
@ -1,36 +1,46 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, system
|
||||||
pkgs,
|
, windows-theme
|
||||||
system,
|
, ...
|
||||||
windows-theme,
|
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
nixp.mate.enable = lib.mkEnableOption "Enable XP configuration in MATE";
|
nixp = {
|
||||||
};
|
enable = lib.mkEnableOption "enable XP configuration in MATE";
|
||||||
|
|
||||||
config = lib.mkIf config.nixp.mate.enable {
|
theme = {
|
||||||
boot = {
|
plymouth.enable = lib.mkEnableOption "enable plymouth Windows XP theme";
|
||||||
plymouth = {
|
|
||||||
theme = "xp";
|
|
||||||
themePackages = [ windows-theme.packages.${system}.windows-xp-plymouth ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
|
||||||
xserver.displayManager.lightdm.background = ./wall.png;
|
|
||||||
|
|
||||||
displayManager = {
|
|
||||||
defaultSession = lib.mkDefault "mate";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with windows-theme.packages.x86_64-linux; [
|
|
||||||
windows-xp-theme
|
|
||||||
windows-xp-icons
|
|
||||||
windows-xp-cursor
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
config = lib.mkMerge [
|
||||||
|
(lib.mkIf config.nixp.enable {
|
||||||
|
|
||||||
|
config.nixp = {
|
||||||
|
theme = {
|
||||||
|
plymouth.enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
xserver.displayManager.lightdm.background = ./wall.png;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with windows-theme.packages.x86_64-linux; [
|
||||||
|
windows-xp-theme
|
||||||
|
windows-xp-icons
|
||||||
|
windows-xp-cursor
|
||||||
|
];
|
||||||
|
})
|
||||||
|
(lib.mkIf config.nixp.theme.plymouth.enable {
|
||||||
|
boot = {
|
||||||
|
plymouth = {
|
||||||
|
theme = "xp";
|
||||||
|
themePackages = [ windows-theme.packages.${system}.windows-xp-plymouth ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
334
mate-xp-home.nix
334
mate-xp-home.nix
@ -1,143 +1,211 @@
|
|||||||
{
|
{ windows-theme
|
||||||
pkgs,
|
, system
|
||||||
self,
|
, lib
|
||||||
windows-theme,
|
, config
|
||||||
system,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
dconf.settings = {
|
options = {
|
||||||
"org/mate/desktop/interface" = {
|
nixp.mate = {
|
||||||
gtk-theme = "Windows XP Luna";
|
panel.enable = lib.mkEnableOption "enable panel settings for mate";
|
||||||
icon-theme = "windows-xp-icon-theme";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/marco/general" = {
|
background = {
|
||||||
theme = "Windows XP Luna";
|
enable = lib.mkEnableOption "enable and set background for mate";
|
||||||
};
|
path = lib.mkOption {
|
||||||
|
type = lib.types.path;
|
||||||
|
default = ./wall.png;
|
||||||
|
description = "Set path to the background";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
"org/mate/desktop/peripherals/mouse" = {
|
theme = {
|
||||||
cursor-theme = "ModernXP";
|
enable = lib.mkEnableOption "enable windows xp gtk theme for mate";
|
||||||
};
|
name = lib.mkOption {
|
||||||
|
type = lib.types.enum [ "Windows XP Luna" "Windows XP Embedded" "Windows XP Homestead Windows XP Metallic" "Windows XP Royale" "Windows XP Royale Dark" "Windows XP Zune" ];
|
||||||
|
default = "Windows XP Luna";
|
||||||
|
description = "set the windows xp gtk theme for mate";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
"org/mate/panel/menubar" = {
|
cursor = {
|
||||||
item-icon-size = "32px";
|
enable = lib.mkEnableOption "enable windows xp cursor theme for mate";
|
||||||
show-places = false;
|
};
|
||||||
show-desktop = false;
|
|
||||||
icon-name = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/desktop/background" = {
|
icon = {
|
||||||
picture-filename = "/home/admin/.background-image";
|
enable = lib.mkEnableOption "enable windows xp icon theme for mate";
|
||||||
};
|
};
|
||||||
|
|
||||||
"org/mate/panel/general" = {
|
|
||||||
toplevel-id-list = [ "bottom" ];
|
|
||||||
object-id-list = [
|
|
||||||
"menu-bar"
|
|
||||||
"window-list"
|
|
||||||
"battery"
|
|
||||||
"brightness"
|
|
||||||
"notification-area"
|
|
||||||
"clock"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/panel/objects/menu-bar" = {
|
|
||||||
locked = true;
|
|
||||||
object-type = "menu-bar";
|
|
||||||
panel-right-stick = false;
|
|
||||||
position = 0;
|
|
||||||
toplevel-id = "bottom";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/panel/objects/window-list" = {
|
|
||||||
locked = true;
|
|
||||||
applet-iid = "WnckletFactory::WindowListApplet";
|
|
||||||
object-type = "applet";
|
|
||||||
#panel-right-stick = ;
|
|
||||||
position = 20;
|
|
||||||
toplevel-id = "bottom";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/panel/objects/battery" = {
|
|
||||||
locked = true;
|
|
||||||
applet-iid = "BattstatAppletFactory::BattstatApplet";
|
|
||||||
object-type = "applet";
|
|
||||||
panel-right-stick = true;
|
|
||||||
position = 222;
|
|
||||||
toplevel-id = "bottom";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/panel/objects/battery/prefs" = {
|
|
||||||
red-value = 15;
|
|
||||||
red-value-is-tiem = false;
|
|
||||||
show-text = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/panel/objects/brightness" = {
|
|
||||||
locked = true;
|
|
||||||
applet-iid = "BrightnessAppletFactory::BrightnessApplet";
|
|
||||||
object-type = "applet";
|
|
||||||
panel-right-stick = true;
|
|
||||||
position = 182;
|
|
||||||
toplevel-id = "bottom";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/panel/objects/notification-area"= {
|
|
||||||
locked = true;
|
|
||||||
applet-iid = "NotificationAreaAppletFactory::NotificationArea";
|
|
||||||
object-type = "applet";
|
|
||||||
panel-right-stick = true;
|
|
||||||
position = 158;
|
|
||||||
toplevel-id = "bottom";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/panel/objects/clock" = {
|
|
||||||
locked = true;
|
|
||||||
applet-iid = "ClockAppletFactory::ClockApplet";
|
|
||||||
object-type = "applet";
|
|
||||||
panel-right-stick = true;
|
|
||||||
position = 124;
|
|
||||||
toplevel-id = "bottom";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/panel/objects/clock/prefs" = {
|
|
||||||
expand-locations = false;
|
|
||||||
show-temperature = false;
|
|
||||||
show-weather = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/mate/panel/toplevels/bottom" = {
|
|
||||||
orientation = "bottom";
|
|
||||||
y-bottom = 0;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
config = lib.mkMerge [
|
||||||
home.packages = with windows-theme.packages.x86_64-linux; [
|
(lib.mkIf config.nixp.mate.enable {
|
||||||
windows-xp-theme
|
config.nixp.mate = {
|
||||||
windows-xp-icons
|
panel.enable = lib.mkDefault true;
|
||||||
windows-xp-cursor
|
theme.enable = lib.mkDefault true;
|
||||||
|
cursor.enable = lib.mkDefault true;
|
||||||
|
icon.enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
#gtk3 = {
|
||||||
|
# extraConfig.gtk-application-prefer-dark-theme = true;
|
||||||
|
#};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(lib.mkIf config.nixp.mate.panel.enable {
|
||||||
|
dconf.settings = {
|
||||||
|
"org/mate/panel/general" = {
|
||||||
|
toplevel-id-list = [ "bottom" ];
|
||||||
|
object-id-list = [
|
||||||
|
"menu-bar"
|
||||||
|
"window-list"
|
||||||
|
"notification-area"
|
||||||
|
"brightness"
|
||||||
|
"clock"
|
||||||
|
"poweroff"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel/toplevels/bottom" = {
|
||||||
|
orientation = "bottom";
|
||||||
|
y-bottom = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel/menubar" = {
|
||||||
|
item-icon-size = "32px";
|
||||||
|
show-places = false;
|
||||||
|
show-desktop = false;
|
||||||
|
icon-name = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel/objects/menu-bar" = {
|
||||||
|
locked = true;
|
||||||
|
object-type = "menu-bar";
|
||||||
|
panel-right-stick = false;
|
||||||
|
position = 0;
|
||||||
|
toplevel-id = "bottom";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel/objects/window-list" = {
|
||||||
|
locked = true;
|
||||||
|
applet-iid = "WnckletFactory::WindowListApplet";
|
||||||
|
object-type = "applet";
|
||||||
|
#panel-right-stick = ;
|
||||||
|
position = 20;
|
||||||
|
toplevel-id = "bottom";
|
||||||
|
};
|
||||||
|
|
||||||
|
# "org/mate/panel/objects/battery" = {
|
||||||
|
# locked = true;
|
||||||
|
# applet-iid = "BattstatAppletFactory::BattstatApplet";
|
||||||
|
# object-type = "applet";
|
||||||
|
# panel-right-stick = true;
|
||||||
|
# position = 222;
|
||||||
|
# toplevel-id = "bottom";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# "org/mate/panel/objects/battery/prefs" = {
|
||||||
|
# red-value = 15;
|
||||||
|
# red-value-is-tiem = false;
|
||||||
|
# show-text = 1;
|
||||||
|
# };
|
||||||
|
|
||||||
|
"org/mate/panel/objects/notification-area" = {
|
||||||
|
locked = true;
|
||||||
|
applet-iid = "NotificationAreaAppletFactory::NotificationArea";
|
||||||
|
object-type = "applet";
|
||||||
|
panel-right-stick = true;
|
||||||
|
position = 158;
|
||||||
|
toplevel-id = "bottom";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel/objects/brightness" = {
|
||||||
|
locked = true;
|
||||||
|
applet-iid = "BrightnessAppletFactory::BrightnessApplet";
|
||||||
|
object-type = "applet";
|
||||||
|
panel-right-stick = true;
|
||||||
|
position = 182;
|
||||||
|
toplevel-id = "bottom";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel/objects/clock" = {
|
||||||
|
locked = true;
|
||||||
|
applet-iid = "ClockAppletFactory::ClockApplet";
|
||||||
|
object-type = "applet";
|
||||||
|
panel-right-stick = true;
|
||||||
|
position = 124;
|
||||||
|
toplevel-id = "bottom";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel/objects/clock/prefs" = {
|
||||||
|
expand-locations = false;
|
||||||
|
show-temperature = false;
|
||||||
|
show-weather = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel/objects/poweroff" = {
|
||||||
|
locked = true;
|
||||||
|
object-type = "action";
|
||||||
|
action-type = "shutdown";
|
||||||
|
panel-right-stick = true;
|
||||||
|
position = 24;
|
||||||
|
toplevel-id = "bottom";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(lib.mkIf config.nixp.mate.background.enable {
|
||||||
|
home.file.".background-image".source = config.nixp.mate.background.path;
|
||||||
|
dconf.settings = {
|
||||||
|
"org/mate/desktop/background" = {
|
||||||
|
picture-filename = "/home/admin/.background-image"; # FIX: THIS PATH
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(lib.mkIf config.nixp.mate.theme.enable {
|
||||||
|
dconf.settings = {
|
||||||
|
"org/mate/desktop/interface" = {
|
||||||
|
gtk-theme = "${config.nixp.mate.theme.name}";
|
||||||
|
icon-theme = "windows-xp-icon-theme";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/marco/general" = {
|
||||||
|
theme = "${config.nixp.mate.theme.name}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
theme = {
|
||||||
|
name = "${config.nixp.theme.name}";
|
||||||
|
package = windows-theme.packages.${system}.windows-xp-theme;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(lib.mkIf config.nixp.mate.cursor.enable {
|
||||||
|
dconf.settings = {
|
||||||
|
"org/mate/desktop/peripherals/mouse" = {
|
||||||
|
cursor-theme = "ModernXP";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
gtk = {
|
||||||
|
cursorTheme = {
|
||||||
|
name = "ModernXP";
|
||||||
|
package = windows-theme.packages.${system}.windows-xp-cursor;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(lib.mkIf config.nixp.mate.icon.enable {
|
||||||
|
dconf.settings = {
|
||||||
|
"org/mate/desktop/interface" = {
|
||||||
|
icon-theme = "windows-xp-icon-theme";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
iconTheme = {
|
||||||
|
name = "windows-XP";
|
||||||
|
package = windows-theme.packages.${system}.windows-xp-icons;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
home.file.".background-image".source = ./wall.png;
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
theme = {
|
|
||||||
name = "Windows XP Luna";
|
|
||||||
package = windows-theme.packages.${system}.windows-xp-theme;
|
|
||||||
};
|
|
||||||
iconTheme = {
|
|
||||||
name = "windows-XP";
|
|
||||||
package = windows-theme.packages.${system}.windows-xp-icons;
|
|
||||||
};
|
|
||||||
cursorTheme = {
|
|
||||||
name = "ModernXP";
|
|
||||||
package = windows-theme.packages.${system}.windows-xp-cursor;
|
|
||||||
};
|
|
||||||
#gtk3 = {
|
|
||||||
# extraConfig.gtk-application-prefer-dark-theme = true;
|
|
||||||
#};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,11 +23,10 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Modern Windows XP cursor theme";
|
description = "Windows XP cursor theme";
|
||||||
homepage = "https://github.com/na0miluv/modernXP-cursor-theme";
|
homepage = "https://github.com/na0miluv/modernXP-cursor-theme";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.yourself ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, stdenvNoCC
|
||||||
stdenvNoCC,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, nix-update-script
|
||||||
nix-update-script,
|
,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
@ -27,7 +27,6 @@ stdenvNoCC.mkDerivation {
|
|||||||
echo "Copying files from source root:"
|
echo "Copying files from source root:"
|
||||||
ls -R .
|
ls -R .
|
||||||
|
|
||||||
# Copy all files safely
|
|
||||||
cp -r ./OldBIOS/* "$themeDir/"
|
cp -r ./OldBIOS/* "$themeDir/"
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
@ -36,10 +35,8 @@ stdenvNoCC.mkDerivation {
|
|||||||
passthru.updateScript = nix-update-script { };
|
passthru.updateScript = nix-update-script { };
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "GRUB theme 'BIOS boot device' — minimalistic GRUB theme inspired by Vimix and primitivistical.";
|
description = "Minimalistic GRUB theme";
|
||||||
homepage = "https://github.com/Blaysht/grub_bios_theme";
|
homepage = "https://github.com/Blaysht/grub_bios_theme";
|
||||||
license = lib.licenses.mit;
|
|
||||||
maintainers = with lib.maintainers; [ azuwis ];
|
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{ lib
|
{ lib
|
||||||
, stdenvNoCC
|
, stdenvNoCC
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
@ -35,9 +34,8 @@ stdenvNoCC.mkDerivation rec {
|
|||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Windows XP icon theme for Linux (B00merang Artwork)";
|
description = "Windows XP icon theme for Linux (B00merang Artwork)";
|
||||||
homepage = "https://github.com/B00merang-Artwork/Windows-XP";
|
homepage = "https://github.com/B00merang-Artwork/Windows-XP";
|
||||||
license = licenses.gpl3Only;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
{
|
{ stdenvNoCC
|
||||||
stdenvNoCC,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
unstableGitUpdater,
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
@ -39,7 +38,6 @@ stdenvNoCC.mkDerivation {
|
|||||||
homepage = "https://github.com/FraioVeio/plymouth-xp-theme";
|
homepage = "https://github.com/FraioVeio/plymouth-xp-theme";
|
||||||
license = lib.licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = with lib.maintainers; [ ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user