Updated README and configuration.nix

This commit is contained in:
shinya 2025-11-02 13:08:07 +01:00
parent b6bff6887e
commit 74cfb4ae76
2 changed files with 159 additions and 39 deletions

128
README.md
View File

@ -4,9 +4,20 @@
## Installation
- Supported via NixOS modules with flakes
### Using VM or ISO
#### QEMU VM
- 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`
#### 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";
@ -43,10 +54,119 @@
}
```
- Then in your config you can enable it with:
### NixOS System Configuration
Add the NixOS module to your system configuration:
```nix
nixp.mate.enable = true;
# Example configuration.nix
{ inputs, ... }:
{
imports = [
inputs.nixp-module.nixosModules.default
];
nixp = {
enable = true; # Enable Windows XP theme system-wide
theme = {
plymouth.enable = true; # Enable Windows XP boot screen
};
};
}
```
- More options will be added soon
### Home Manager Configuration
Add the Home Manager module to your user configuration:
```nix
# Example home-manager configuration
{ inputs, ... }:
{
imports = [
inputs.nixp-module.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.nixp-module.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

View File

@ -3,6 +3,28 @@
{
imports = [ ./hardware-configuration.nix ];
users.users = {
# root.password = "admin1234";
admin = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ]; # Enable sudo for the user.
password = "admin1234"; #IMPORTANT: Change this to your own password.
packages = (with pkgs; [
git
helix
dconf-editor
librewolf
hypnotix
blueman
libreoffice
wineWowPackages.stable
mpv
stremio
]);
};
};
home-manager = {
backupFileExtension = "backup";
users = {
@ -16,7 +38,7 @@
# Use the systemd-boot EFI boot loader.
boot = {
kernelParams = [ "console=tty0" ];
#kernelParams = [ "console=tty0" ];
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
@ -58,11 +80,6 @@
};
};
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-emoji
corefonts
];
services = {
xserver = {
@ -98,31 +115,20 @@
security.rtkit.enable = true;
# Enable CUPS to print documents.
environment.mate.excludePackages = with pkgs.mate; [
mate-terminal
mate-themes
mate-user-share
mate-backgrounds
];
# services.printing.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users = {
root.password = "admin1234";
admin = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ]; # Enable sudo for the user.
password = "admin1234";
packages = (with pkgs; [
git
helix
dconf-editor
librewolf
hypnotix
blueman
libreoffice
wineWowPackages.stable
mpv
stremio
]);
};
};
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-emoji
corefonts
];
nixpkgs.config = {
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
@ -136,12 +142,6 @@
];
};
environment.mate.excludePackages = with pkgs.mate; [
mate-terminal
mate-themes
mate-user-share
mate-backgrounds
];
# List packages installed in system profile.
# You can use https://search.nixos.org/ to find more packages (and options).