{ description = "Configuration Home Manager jaajesque"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; caddy = { url = "github:GaspardCulis/nixos-caddy-ovh"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; deploy-rs = { url = "github:serokell/deploy-rs"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; # Hyprland hyprland = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; follows = "hy3/hyprland"; }; hy3 = { url = "github:outfoxxed/hy3"; }; end-rs = { url = "github:Dr-42/end-rs"; inputs.nixpkgs.follows = "nixpkgs"; }; anyrun = { url = "github:anyrun-org/anyrun"; inputs.nixpkgs.follows = "nixpkgs"; }; anixrun = { url = "github:GaspardCulis/anixrun"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, disko, deploy-rs, sops-nix, home-manager, ... } @ inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; in { nixosConfigurations = { Zephyrus = nixpkgs.lib.nixosSystem { extraArgs = {inherit inputs;}; modules = [ ./hosts/Zephyrus disko.nixosModules.disko home-manager.nixosModules.home-manager ]; }; OVHCloud = nixpkgs.lib.nixosSystem { extraArgs = {inherit inputs;}; modules = [ ./hosts/OVHCloud disko.nixosModules.disko sops-nix.nixosModules.sops home-manager.nixosModules.home-manager ]; }; }; homeConfigurations = { "gaspard" = home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = {inherit inputs;}; modules = [ ./users/gaspard.nix ]; }; "culisg@im2ag" = home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = {inherit inputs;}; modules = [ ./users/culisg.nix ]; }; }; deploy.nodes.OVHCloud = { hostname = "gasdev.fr"; profiles.system = { user = "root"; sshUser = "root"; sshOpts = ["-p" "22"]; sudo = ""; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.OVHCloud; }; }; checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; devShells.${system}.default = pkgs.mkShell { packages = with pkgs; [ alejandra git helix nil pkgs.sops pkgs.home-manager pkgs.deploy-rs ]; shellHook = '' export EDITOR=hx ''; }; }; }