{ description = "My nixOS flake for home-manager"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; niri = { url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; binsider = { url = "github:orhun/binsider"; inputs.nixpkgs.follows = "nixpkgs"; }; zen-browser = { url = "github:ch4og/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; # sources to patch protontricks as it doesn't work with latest steam beta # https://github.com/Matoking/protontricks/issues/304#issuecomment-2280920826 protontricks = { url = "github:Matoking/protontricks/appinfo_v29"; flake = false; }; vdf-patch = { url = "github:Matoking/vdf/support_new_bvdf"; flake = false; }; }; outputs = { self, nixpkgs, home-manager, niri, rust-overlay, agenix, ... }@inputs: let username = "primary"; homeDirectory = "/home/${username}"; hostname = nixpkgs.lib.strings.removeSuffix "\n" (builtins.readFile /etc/hostname); pkgs = import nixpkgs { }; in { homeConfigurations.${username} = home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit inputs username homeDirectory; }; modules = [ ./system-${hostname}.nix niri.homeModules.config agenix.homeManagerModules.age ( { pkgs, ... }: { nixpkgs.overlays = [ rust-overlay.overlays.default ]; # home-manager stuff home = { inherit username homeDirectory; }; } ) ]; }; }; }