{ description = "toph's system configuration"; inputs = { # Core nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; master.url = "github:NixOS/nixpkgs/master"; # Flake framework flake-parts.url = "github:hercules-ci/flake-parts"; easy-hosts.url = "github:tgirlcloud/easy-hosts"; deploy-rs.url = "github:serokell/deploy-rs"; # System management home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; darwin = { url = "github:lnl7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; # Secrets management agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix-rekey = { url = "github:oddlama/agenix-rekey"; inputs.nixpkgs.follows = "nixpkgs"; }; # Desktop usage stylix = { url = "github:nix-community/stylix"; inputs.nixpkgs.follows = "nixpkgs"; }; niri.url = "github:sodiboo/niri-flake"; noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "unstable"; }; affinity-nix.url = "github:mrshmllow/affinity-nix"; musnix.url = "github:musnix/musnix"; flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.6.0"; git-global-log.url = "github:tophcodes/git-global-log"; nur = { url = "github:nix-community/NUR"; inputs.nixpkgs.follows = "nixpkgs"; }; community-solid-server = { url = "github:tophcodes/CommunitySolidServer.nix/main"; }; # Custom ovos = { url = "git+file:///home/christopher/workspaces/mine/ovos-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; waka-victoriametrics = { url = "git+file:///home/christopher/workspaces/mine/waka-victoriametrics"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs @ { flake-parts, nixpkgs, ... }: flake-parts.lib.mkFlake {inherit inputs;} (top @ { config, withSystem, moduleWithSystem, ... }: { imports = [ inputs.agenix-rekey.flakeModules.default ./modules/flake ]; }); # # Add modules only to specific hosts # systems.hosts = with inputs; { # cobalt.modules = [ # stylix.nixosModules.stylix # ovos.nixosModules.default # waka-victoriametrics.nixosModules.default # ]; # }; # overlays = with inputs; [ # ovos.overlays.default # (final: prev: { # waka-victoriametrics = waka-victoriametrics.packages.${final.system}.default; # }) # ]; # outputs-builder = channels: { # formatter = channels.nixpkgs.alejandra; # }; # }) # // { # agenix-rekey = inputs.agenix-rekey.configure { # userFlake = inputs.self; # nixosConfigurations = inputs.self.nixosConfigurations // inputs.self.darwinConfigurations; # homeConfigurations = inputs.self.homeConfigurations; # }; # }; # } }