{ description = "NixOS Flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; helix.url = "github:helix-editor/helix/master"; hyprland.url = "github:hyprwm/Hyprland?submodules=1&ref=v0.45.2-b"; hy3 = { url = "github:outfoxxed/hy3?ref=hl0.45.0"; inputs.hyprland.follows = "hyprland"; }; agenix.url = "github:ryantm/agenix"; update-systemd-resolved.url = "github:jonathanio/update-systemd-resolved"; update-systemd-resolved.inputs.nixpkgs.follows = "nixpkgs"; nil.url = "github:oxalica/nil"; astal-bar.url = "git+http://tarreltaart.home:3000/jras/astal-bar.git"; }; outputs = inputs@{ self, nixpkgs, disko, nixos-facter-modules, home-manager, agenix, update-systemd-resolved, astal-bar, ... }: { nixosConfigurations.work = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ update-systemd-resolved.nixosModules.update-systemd-resolved { environment.systemPackages = [ agenix.packages."x86_64-linux".default astal-bar.packages."x86_64-linux".default ]; } home-manager.nixosModules.home-manager agenix.nixosModules.default ./configuration/work ]; }; nixosConfigurations.tarrel = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ { environment.systemPackages = [ agenix.packages."x86_64-linux".default astal-bar.packages."x86_64-linux".default ]; } home-manager.nixosModules.home-manager agenix.nixosModules.default ./configuration/tarrel ]; }; nixosConfigurations.snorlax = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ home-manager.nixosModules.home-manager disko.nixosModules.disko nixos-facter-modules.nixosModules.facter { config.facter.reportPath = ./configuration/snorlax/facter.json; } ./configuration/snorlax ]; }; }; }