# TODO: Add flake-utils, flake-parts, git-pre-hook { description = "My Home Manager configuration"; inputs = { home-manager = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; lix-module = { url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.1.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; nixgl = { url = "github:nix-community/nixGL"; inputs.nixpkgs.follows = "nixpkgs"; }; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nur.url = "github:nix-community/NUR"; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; treefmt-nix.url = "github:numtide/treefmt-nix"; }; outputs = { self, home-manager, lix-module, nixgl, nixpkgs, nur, sops-nix, treefmt-nix, ... }: let system = "aarch64-linux"; pkgs = import nixpkgs { inherit system; overlays = [ nur.overlays.default nixgl.overlays.default ]; }; treefmtEval = treefmt-nix.lib.evalModule pkgs ./treefmt.nix; in { homeConfigurations = { sudoer777 = home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit nixgl; }; modules = [ ./home.nix lix-module.nixosModules.default sops-nix.homeManagerModules.sops ( { ... }: { nixpkgs.overlays = [ nur.overlays.default ]; } ) ]; }; }; devShells.${system}.default = pkgs.mkShell { buildInputs = [ pkgs.age pkgs.forgejo-cli pkgs.helix pkgs.just pkgs.marksman pkgs.nil pkgs.sops pkgs.taplo pkgs.uutils-coreutils pkgs.yaml-language-server treefmtEval.config.build.wrapper ]; }; formatter.${system} = treefmtEval.config.build.wrapper; checks.${system} = { formatting = treefmtEval.config.build.check self; }; }; }