{ description = "My system configuration"; nixConfig = { extra-substituters = [ "https://nix.lair.moe/main" "https://nix-community.cachix.org" "https://cache.garnix.io" "https://hyprland.cachix.org" "https://ezkea.cachix.org" "https://risdeveau.cachix.org" "https://yazi.cachix.org" ]; extra-trusted-public-keys = [ "main:tR2gNhCBJHKAlVgohPNHBhGnWL55tB8SxXmMWJe5lo8=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" "risdeveau.cachix.org-1:TsoFSVeLl7iKtUYGX7qsvKPjf2vbNLfLC5v3SAdU8r0=" "yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k=" ]; }; inputs = { ayugram-desktop.url = "github:/ayugram-port/ayugram-desktop/release?submodules=1"; ags.url = "github:Aylur/ags/3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6"; zapret-discord-youtube.url = "github:kartavkun/zapret-discord-youtube"; nixpkgs-pinned.url = "github:nixos/nixpkgs/ec942ba042dad5ef097e2ef3a3effc034241f011"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-26.05"; sops-nix.url = "github:Mic92/sops-nix"; stylix.url = "github:danth/stylix"; yazi.url = "github:sxyazi/yazi"; yazi-plugins = { url = "github:yazi-rs/plugins"; flake = false; }; hyprland.url = "github:hyprwm/Hyprland/v0.56.1"; hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; helix-steel = { url = "github:mattwparas/helix/steel-event-system"; inputs.nixpkgs.follows = "nixpkgs"; }; russia-blocked-geoip = { url = "github:runetfreedom/russia-blocked-geoip/release"; flake = false; }; }; outputs = { self, nixpkgs, nixpkgs-stable, nixpkgs-pinned, home-manager, ... }@inputs: let system = "x86_64-linux"; config = { allowUnfree = true; nvidia.acceptLicense = true; }; mkHost = hostname: nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; pkgs-stable = import nixpkgs-stable { inherit system config; }; pkgs-pinned = import nixpkgs-pinned { inherit system config; }; }; modules = [ ./host/${hostname}/configuration.nix inputs.zapret-discord-youtube.nixosModules.withTestTools { nixpkgs.config = config; } ]; }; in { nixosConfigurations = { WhiteRaven = mkHost "WhiteRaven"; ThinkPad = mkHost "ThinkPad"; }; }; }