# 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 ```nix # 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: ```nix # 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: ```nix # 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: ```nix 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: - [B00merang-Project/Windows-XP](https://github.com/B00merang-Project/Windows-XP) - GTK theme - [na0miluv/modernXP-cursor-theme](https://github.com/na0miluv/modernXP-cursor-theme) - Cursor theme - [B00merang-Artwork/Windows-XP](https://github.com/B00merang-Artwork/Windows-XP) - Icon theme - [FraioVeio/plymouth-xp-theme](https://github.com/FraioVeio/plymouth-xp-theme) - Plymouth theme - [Blaysht/grub_bios_theme](https://github.com/Blaysht/grub_bios_theme) - GRUB theme