nixos/hosts/nix-latitude/configuration.nix
Sasza Stanczew 1a2966e054 Refactor: czysta separacja system/user, moduł Tibii jako shared home-manager
[HermesAI]

Główne zmiany:

1. Separacja pakietów (best practice 2025+):
   - base.nix: tylko konfiguracja Nix-a (gc, flakes, allowUnfree), zero pakietów
   - home.nix: wszystkie pakiety użytkownika (brave, neovim, git, lutris, itd.)
   - NixOS modules (plasma.nix, gaming.nix): tylko enable serwisów, bez pakietów

2. Tibia jako shared home-manager module:
   - modules/home/tibia.nix — opcja programs.tibia.enable dostępna dla każdego usera
   - Rejestracja przez home-manager.sharedModules w flake.nix
   - packages/libxml2-2.9/ — osobny callPackage zamiast inline build
   - Nowe: tibia-install (pobiera launcher na świeżym systemie), .desktop entry
   - tibia-patch: check "already patched", quoted heredoc (bez expandowania $@)
   - Poprawiona ścieżka do tibia-client (store path przez ${...} zamiast /run/...)

3. Porządki:
   - Usunięte puste moduły (3dmodel, 3dprint, network, office) — pakiety w home.nix
   - hosts/nix-latitude/configuration.nix: usunięty duplikat hostname, packages z usera
   - flake.nix: home-manager spięty do nixos-unstable, usunięty brakujący host nix-gaming
   - .gitignore: result, .direnv, *.swp

UWAGA: Wymaga nix flake lock na maszynie NixOS po pull.
Nowy user: programs.tibia.enable = true w home.nix + tibia-install.
2026-05-30 23:18:50 +02:00

47 lines
1 KiB
Nix

{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
];
# Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Use latest kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
# Enable networking
networking.networkmanager.enable = true;
# Timezone
time.timeZone = "Europe/Warsaw";
# Locale
i18n.defaultLocale = "pl_PL.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "pl_PL.UTF-8";
LC_IDENTIFICATION = "pl_PL.UTF-8";
LC_MEASUREMENT = "pl_PL.UTF-8";
LC_MONETARY = "pl_PL.UTF-8";
LC_NAME = "pl_PL.UTF-8";
LC_NUMERIC = "pl_PL.UTF-8";
LC_PAPER = "pl_PL.UTF-8";
LC_TELEPHONE = "pl_PL.UTF-8";
LC_TIME = "pl_PL.UTF-8";
};
# Console keymap
console.keyMap = "pl2";
# User account (pakiety w home-manager)
users.users.sasza = {
isNormalUser = true;
description = "Sasza Stanczew";
extraGroups = [ "networkmanager" "wheel" ];
};
# State version
system.stateVersion = "25.11";
}