{ description = "My Nixos"; inputs = { # nix packages nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; # home manager home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; # hyprland hyprland.url = "github:hyprwm/Hyprland"; nixos-hardware.url = "github:NixOS/nixos-hardware"; # zen browser (communautaire) — follows pour partager les libs système zen-browser = { url = "github:0xc000022070/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; noctalia = { url = "github:noctalia-dev/noctalia/legacy-v4"; inputs.nixpkgs.follows = "nixpkgs"; }; lavi = { url = "github:b0o/lavi"; inputs.nixpkgs.follows = "lavi"; }; }; # ici : # - inputs@ capture l'ensemble des inputs dans une variable "inputs" accessible par # "specialArgs" et "extraSpecialArgs. inputs.hyprland pourra être utilisé dans n'importe # quel fichier importé sans avoir à redéclarer dans flake.nix # - ajouter dans la ligne d'outputs les nouveaux packages ajoutés en input ! outputs = inputs@{ self, nixpkgs, home-manager, hyprland, nixos-hardware, zen-browser, noctalia, lavi, ... }: { nixosConfigurations.nixos-home = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ ./hosts/nixos-home/configuration.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.afoucaultc = import ./home/afoucaultc/home.nix; } ]; }; }; }