[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.
35 lines
993 B
Nix
35 lines
993 B
Nix
{
|
|
description = "Konfiguracja wielu maszyn na raz";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/nixos-unstable";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, home-manager, ... }:
|
|
let
|
|
mk_system = system: hostname: modules: nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
modules = [
|
|
{ networking.hostName = hostname; }
|
|
./base.nix
|
|
home-manager.nixosModules.home-manager {
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.sharedModules = [ ./modules/home/tibia.nix ];
|
|
home-manager.users.sasza = import ./home.nix;
|
|
}
|
|
] ++ modules;
|
|
};
|
|
in {
|
|
nixosConfigurations = {
|
|
nix-latitude = mk_system "x86_64-linux" "nix-latitude" [
|
|
./hosts/nix-latitude/configuration.nix
|
|
./modules/plasma.nix
|
|
];
|
|
};
|
|
};
|
|
}
|