{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-unstable-small"; nixpkgs-stable.url = "github:NixOS/nixpkgs?ref=nixos-25.05-small"; nixpkgs-unstable.url = "github:NixOS/nixpkgs?ref=nixos-unstable"; impermanence.url = "github:nix-community/impermanence"; sops-nix.url = "github:Mic92/sops-nix"; yemou-dotfiles = { url = "git+https://tangled.org/yemou.pink/dotfiles"; flake = false; }; yemou-scripts = { url = "git+https://tangled.org/yemou.pink/scripts"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; roc-lang.url = "github:roc-lang/roc"; tangled.url = "git+https://tangled.org/tangled.org/core?ref=refs/tags/v1.11.0-alpha"; nixpkgs-pr432663-modrinth.url = "github:getchoo-contrib/nixpkgs?ref=pkgs/modrinth-app/0.10.3"; }; outputs = { self, nixpkgs, impermanence, sops-nix, home-manager, ... }@inputs: let genSystemConfigs = nixpkgs.lib.genAttrs [ "lily" "lutea" ]; systems = [ "x86_64-linux" ]; forSystems = func: nixpkgs.lib.genAttrs systems (system: func (import nixpkgs { inherit system; })); in { formatter = forSystems (p: p.nixfmt-tree.override { settings.formatter.nixfmt.options = [ "-w 120" ]; }); nixosConfigurations = genSystemConfigs ( hostname: nixpkgs.lib.nixosSystem { specialArgs = inputs; modules = [ impermanence.nixosModules.impermanence ./${hostname}/config.nix sops-nix.nixosModules.sops home-manager.nixosModules.home-manager { home-manager = { extraSpecialArgs = inputs; useGlobalPkgs = true; useUserPackages = true; users.mou = import ./${hostname}/home.nix; }; } ]; } ); }; }