{ nixConfig = { experimental-features = [ "flakes" "nix-command" ]; }; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; impermanence.url = "github:nix-community/impermanence"; yandex-music.url = "github:cucumber-sp/yandex-music-linux"; home-manager = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, impermanence, home-manager, ...}@inputs: { nixosConfigurations = { Ratchet = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ impermanence.nixosModules.impermanence ./hosts/generic/configuration_generic.nix ./hosts/generic/users.nix ./hosts/Ratchet/hardware-Ratchet.nix ./hosts/generic/persistence.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.yaroslav = import ./home/yaroslav/home.nix; } ]; }; Aphelion = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ impermanence.nixosModules.impermanence ./hosts/generic/persistence.nix ./hosts/generic/configuration_generic.nix ./hosts/generic/users.nix ./hosts/Aphelion/hardware-Aphelion.nix ./hosts/Aphelion/nvidia.nix ./desktop/gnome.nix ./misc/disable_suspend.nix home-manager.nixosModules.home-manager { home-manager.useUserPackages = true; home-manager.users.yaroslav = { imports = [ impermanence.homeManagerModules.home-manager "./home/yaroslav/Aphelion/Aphelion.nix" ]; home.persistence."/nix/persist/home" = { directories = [ "Downloads" "Music" "Pictures" "Documents" "Videos" ".ssh" "nixos" ".local/share/keyrings" ".local/share/nicotine" ".local/share/mpd" ".config/nicotine" ".mozilla" ".local/share/AyuGramDesktop" ]; files = [ ".p10k.zsh" ".zsh_history" ]; }; }; } ]; }; }; }; }