Something went wrong. Try again.
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171{ description = "My NixOS configurations";
inputs = { nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-mesa.url = "github:NixOS/nixpkgs/nixos-unstable";
# Ui Systems
home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs-unstable"; };
plasma-manager = { url = "github:nix-community/plasma-manager"; inputs.nixpkgs.follows = "nixpkgs-unstable"; inputs.home-manager.follows = "home-manager"; };
zen-browser = { url = "github:0xc000022070/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs-unstable"; inputs.home-manager.follows = "home-manager"; };
project-runner = { url = "git+https://tangled.org/tobinio.dev/project-runner"; inputs.nixpkgs.follows = "nixpkgs-unstable"; };
amethyst-mod-manager = { url = "git+https://github.com/ChrisDKN/Amethyst-Mod-Manager"; inputs.nixpkgs.follows = "nixpkgs-unstable"; };
hydration-notifier = { url = "git+https://tangled.org/tobinio.dev/hydration-notifier"; inputs.nixpkgs.follows = "nixpkgs-unstable"; };
# Server
sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs-stable"; };
lightcontrol = { url = "git+https://tangled.org/tobinio.dev/light-control"; inputs.nixpkgs.follows = "nixpkgs-stable"; }; taskline = { url = "git+https://tangled.org/tobinio.dev/task-line?ref=refs/tags/v3.4.1"; inputs.nixpkgs.follows = "nixpkgs-stable"; }; modrinth-statistics = { url = "git+https://tangled.org/tobinio.dev/modrinth-statistics?ref=refs/tags/v4.2.0"; inputs.nixpkgs.follows = "nixpkgs-stable"; }; system-screen = { url = "git+https://tangled.org/tobinio.dev/system-screen"; inputs.nixpkgs.follows = "nixpkgs-stable"; }; };
outputs = { nixpkgs-stable, nixpkgs-unstable, nixpkgs-mesa, ... }@inputs: let commonHomeManager = { imports = [ inputs.home-manager.nixosModules.home-manager ]; home-manager = { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit inputs; }; sharedModules = [ inputs.project-runner.homeModules.default inputs.plasma-manager.homeModules.plasma-manager ./shared/home/default.nix ]; }; }; in { formatter.x86_64-linux = nixpkgs-stable.legacyPackages.x86_64-linux.nixfmt-tree;
nixosConfigurations = { homeserver = nixpkgs-stable.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; }; modules = [ ./hosts/homeserver/configuration.nix ./shared/default.nix inputs.sops-nix.nixosModules.sops inputs.system-screen.nixosModules.default ]; };
vps = nixpkgs-stable.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; }; modules = [ ./hosts/vps/configuration.nix ./shared/default.nix inputs.sops-nix.nixosModules.sops ]; };
laptop = nixpkgs-unstable.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; pkgs-mesa = import nixpkgs-mesa { system = "x86_64-linux"; config.allowUnfree = true; }; }; modules = [ ./hosts/laptop/configuration.nix ./shared/default.nix inputs.sops-nix.nixosModules.sops inputs.hydration-notifier.nixosModules.default commonHomeManager { home-manager.users.tobinio = ./hosts/laptop/home.nix; } ]; };
pc = nixpkgs-unstable.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; pkgs-mesa = import nixpkgs-mesa { system = "x86_64-linux"; config.allowUnfree = true; }; }; modules = [ ./hosts/pc/configuration.nix ./shared/default.nix inputs.sops-nix.nixosModules.sops inputs.hydration-notifier.nixosModules.default commonHomeManager { home-manager.users.tobinio = ./hosts/pc/home.nix; } ]; }; }; };}