{ 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"; }; zen-browser = { url = "github:0xc000022070/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; }; 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 ( (import nixpkgs { }).applyPatches { name = "nixpkgs"; src = inputs.nixpkgs; patches = [ # https://github.com/NixOS/nixpkgs/pull/67576 # gimp 3.0 (builtins.fetchurl { url = "https://github.com/NixOS/nixpkgs/pull/67576.diff"; sha256 = "1idkhfirjba6iywkddyhm980x44kfl9lmp51cyfqrpbq7wlzpnia"; }) ]; } ) { }; in { formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; homeConfigurations."${username}" = home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit inputs username homeDirectory ; }; modules = [ ./system-${hostname}.nix ]; }; }; }