Go to file
2025-12-24 11:44:50 +01:00
assets Rework of the repo 2025-11-02 12:32:03 +01:00
hosts final edit 2025-12-24 11:44:50 +01:00
modules Rework of the repo 2025-11-02 12:32:03 +01:00
packages Rework of the repo 2025-11-02 12:32:03 +01:00
.gitignore Rework of the repo 2025-11-02 12:32:03 +01:00
flake.nix Rework of the repo 2025-11-02 12:32:03 +01:00
README.md Fix README and configuration.nix 2025-11-03 13:28:48 +01:00

Windows XP theme for NixOS

  • This is repository containing packaged version of themes, icons, cursors, etc... for NixOS and module to simply use them with Mate desktop

Installation

Using VM or ISO package

QEMU VM

Important

The default user is admin and password admin1234. Don't forget to change the password.

  • You can build simple qemu vm using nixos generators package in this configuration using nix run git+https://gitea.homework.zip/shinya/Windows-Theme-Flake --no-write-lock-file

Live ISO

  • If you would like to have this image on your flashdisk and live boot it you can get .iso file using nix run git+https://gitea.homework.zip/shinya/Windows-Theme-Flake#live-iso

Using Flakes

# Example flake.nix
{
  description = "Your system flake with Windows XP theme";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";

    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    # Add this to your inputs
    windows-theme = {
      url = "git+https://gitea.homework.zip/shinya/Windows-Theme-Flake";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  # Add explicit function parameter windows-theme to the output
  outputs = { self, nixpkgs, windows-theme, ... }@inputs: let
    system = "x86_64-linux";
  in  {
    nixosConfigurations.nixp = nixpkgs.lib.nixosSystem {
      inherit system;
      specialArgs = {inherit windows-theme system;}; # Append windows-theme and system to the inherited args
      modules = [
        ./configuration.nix
        inputs.windows-theme.nixosModules.default # This will add configuration options to your config
        inputs.home-manager.nixosModules.home-manager
      ];
    };

  };
}

NixOS System Configuration

Add the NixOS module to your system configuration:

# Example configuration.nix
{ inputs, windows-theme ... }:
{
  imports = [
    inputs.windows-theme.nixosModules.default
  ];

  # Don't forget to add home-manager module to your configuration
  home-manager.sharedModules = [
    inputs.windows-theme.homeModules.default
  ];

  nixp = {
    enable = true;  # Enable Windows XP theme system-wide
    theme = {
      plymouth.enable = true;  # Enable Windows XP boot screen
      grub.enable = false;
    };
  };
}

Home Manager Configuration

Add the Home Manager module to your user configuration:

# Example home-manager configuration
{ inputs, windows-theme ... }:
{
  imports = [
    inputs.windows-theme.homeModules.default
  ];

  nixp.mate = {
    enable = true;  # Enable all the options below for Windows XP MATE configuration

    # Optional: Customize theme variant
    theme = {
      enable = true;
      name = "Windows XP Luna";  # Options: Luna, Embedded, Homestead, Metallic, Royale, Royale Dark, Zune
    };

    # Optional: Customize background
    background = {
      enable = true;
      path = ./path/to/your/wallpaper.png;  # Default: included XP wallpaper
    };

    panel.enable = true;  # Windows XP-style taskbar layout

    cursor.enable = true;
    icon.enable = true;
  };
}

Available Packages

You can install individual packages without using the full module:

environment.systemPackages = with inputs.windows-theme.packages.${system}; [
  windows-xp-theme
  windows-xp-icons
  windows-xp-cursor
  windows-xp-plymouth
  windows-xp-grub
];

Configuration Options

NixOS Module (nixp)

  • nixp.enable - Enable Windows XP theme system-wide
  • nixp.theme.plymouth.enable - Enable Plymouth boot screen theme
  • nixp.theme.grub.enable - Enable GRUB boot screen theme

Home Manager Module (nixp.mate)

  • nixp.mate.enable - Enable complete MATE Windows XP configuration
  • nixp.mate.panel.enable - Enable Windows XP taskbar-style panel layout
  • nixp.mate.background.enable - Enable background configuration
  • nixp.mate.background.path - Path to wallpaper (default: included XP wallpaper)
  • nixp.mate.theme.enable - Enable GTK theme
  • nixp.mate.theme.name - Theme variant (default: "Windows XP Luna")
  • nixp.mate.cursor.enable - Enable cursor theme
  • nixp.mate.icon.enable - Enable icon theme

Theme Variants

Available Windows XP theme variants:

  • Windows XP Luna - Classic blue theme (default)
  • Windows XP Embedded - Gray industrial theme
  • Windows XP Homestead - Green nature theme
  • Windows XP Metallic - Silver metallic theme
  • Windows XP Royale - Blue professional theme
  • Windows XP Royale Dark - Dark professional theme
  • Windows XP Zune - Orange Zune theme

Requirements

  • NixOS with flakes enabled
  • MATE Desktop Environment
  • Home Manager (for user-level configuration)

Credits

This module integrates several open-source projects: