{ description = "NixOS Flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; 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"; utils.url = "github:gytis-ivaskevicius/flake-utils-plus"; 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 = { self, utils, home-manager, agenix, update-systemd-resolved, astal-bar, ... }@inputs: utils.lib.mkFlake { inherit self inputs; channelsConfig.allowUnfree = true; hostDefaults.modules = [ home-manager.nixosModules.home-manager agenix.nixosModules.default ./config/shared.nix { environment.systemPackages = [ astal-bar.packages.${utils.lib.system.x86_64-linux}.default ]; } ]; hosts.work.modules = [ update-systemd-resolved.nixosModules.update-systemd-resolved ./hosts/work.nix { environment.systemPackages = [ agenix.packages.${utils.lib.system.x86_64-linux}.default ]; } ]; hosts.tarrel.modules = [ ./hosts/tarrel.nix { environment.systemPackages = [ agenix.packages.${utils.lib.system.x86_64-linux}.default ]; } ]; }; }