{ nixConfig = { experimental-features = [ "flakes" "nix-command" ]; }; inputs = { nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05"; impermanence.url = "github:nix-community/impermanence"; millennium = { url = "github:SteamClientHomebrew/Millennium?dir=packages/nix"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; home-manager = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; hm-stable = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs-stable"; }; lanzaboote = { url = "github:nix-community/lanzaboote/v1.0.0"; # Optional but recommended to limit the size of your system closure. inputs.nixpkgs.follows = "nixpkgs-unstable"; }; asus-numberpad-driver = { url = "github:asus-linux-drivers/asus-numberpad-driver"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; lix-module = { url = "git+https://git.lix.systems/lix-project/nixos-module"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; zapret-discord-youtube.url = "github:kartavkun/zapret-discord-youtube"; # chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; }; outputs = { self, nixpkgs-unstable, impermanence, home-manager, nixpkgs-stable, hm-stable, lanzaboote, millennium, lix-module, asus-numberpad-driver, zapret-discord-youtube, ...}@inputs: { nixosConfigurations = { Ratchet = nixpkgs-unstable.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ impermanence.nixosModules.impermanence asus-numberpad-driver.nixosModules.default ./desktop/kde.nix ./hosts/generic/configuration_generic.nix ./hosts/generic/users.nix ./hosts/generic/networking.nix ./hosts/generic/unfree_allow.nix ./hosts/generic/persistence.nix ./hosts/generic/printing.nix ./hosts/generic/plymouth.nix ./hosts/generic/virtualization.nix ./hosts/generic/security_quirks.nix ./hosts/Ratchet/hardware.nix ./hosts/Ratchet/filesystems.nix ./hosts/Ratchet/fingerprint.nix ./hosts/Ratchet/misc.nix ./home/yaroslav/steam.nix lanzaboote.nixosModules.lanzaboote ({ pkgs, lib, ... }: { # Lanzaboote currently replaces the systemd-boot module. # This setting is usually set to true in configuration.nix # generated at installation time. So we force it to false # for now. boot.loader.systemd-boot.enable = lib.mkForce false; boot.lanzaboote = { enable = true; pkiBundle = "/var/lib/sbctl"; }; }) home-manager.nixosModules.home-manager { home-manager.useUserPackages = true; home-manager.users.yaroslav = { imports = [ ./home/yaroslav/home.nix ./home/yaroslav/home_gui.nix ./home/yaroslav/kitty.nix ]; }; } ]; }; Aphelion = nixpkgs-unstable.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ impermanence.nixosModules.impermanence ./desktop/kde.nix ./hosts/generic/configuration_generic.nix ./hosts/generic/users.nix ./hosts/generic/networking.nix ./hosts/generic/persistence.nix ./hosts/generic/plymouth.nix ./hosts/generic/virtualization.nix ./hosts/generic/unfree_allow.nix ./hosts/generic/printing.nix ./hosts/generic/nix-ld.nix ./hosts/Aphelion/hardware.nix ./hosts/Aphelion/filesystems.nix ./hosts/Aphelion/media.nix ./hosts/Aphelion/misc.nix ./hosts/Aphelion/networking.nix ./home/yaroslav/steam.nix lanzaboote.nixosModules.lanzaboote ({ pkgs, lib, ... }: { # Lanzaboote currently replaces the systemd-boot module. # This setting is usually set to true in configuration.nix # generated at installation time. So we force it to false # for now. boot.loader.systemd-boot.enable = lib.mkForce false; boot.lanzaboote = { enable = true; pkiBundle = "/var/lib/sbctl"; }; }) home-manager.nixosModules.home-manager { home-manager.useUserPackages = true; home-manager.users.yaroslav = { imports = [ ./home/yaroslav/Aphelion/Aphelion.nix ./home/yaroslav/home_gui.nix ./home/yaroslav/kitty.nix ]; }; } ]; }; Qwark = nixpkgs-stable.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ impermanence.nixosModules.impermanence ./hosts/generic/configuration_generic.nix ./hosts/generic/users.nix ./hosts/Quark/Quark-hardware.nix ./hosts/Quark/smb.nix ./hosts/Quark/sound.nix ./hosts/generic/virtualization.nix hm-stable.nixosModules.home-manager { home-manager.useUserPackages = true; home-manager.users.yaroslav = { imports = [ ./home/yaroslav/home.nix ]; }; } ]; }; }; }; }