{ description = "cnix nix"; outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} { systems = [ "x86_64-linux" "aarch64-linux" ]; imports = [ ./users ./hosts ./modules ./pkgs ./fmt-hooks.nix ]; perSystem = { config, pkgs, ... }: { devShells.default = pkgs.mkShell { packages = [ pkgs.git config.packages.repl ]; name = "dots"; env.DIRENV_LOG_FORMAT = ""; shellHook = '' ${config.pre-commit.installationScript} ''; }; }; }; inputs = { # Nix environment nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; systems.url = "github:nix-systems/default-linux"; hardware.url = "github:nixos/nixos-hardware"; lanzaboote.url = "github:nix-community/lanzaboote"; hm = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; authentik = { url = "github:nix-community/authentik-nix/version/2025.8.4"; }; flake-compat.url = "github:edolstra/flake-compat"; # Hyprland environment hyprland.url = "github:hyprwm/hyprland"; hyprland-contrib = { url = "github:hyprwm/contrib"; inputs.nixpkgs.follows = "hyprland/nixpkgs"; }; hyprlock = { url = "github:hyprwm/hyprlock"; inputs = { hyprlang.follows = "hyprland/hyprlang"; hyprutils.follows = "hyprland/hyprutils"; nixpkgs.follows = "hyprland/nixpkgs"; systems.follows = "hyprland/systems"; }; }; hypridle = { url = "github:hyprwm/hypridle"; inputs = { hyprlang.follows = "hyprland/hyprlang"; hyprutils.follows = "hyprland/hyprutils"; nixpkgs.follows = "hyprland/nixpkgs"; systems.follows = "hyprland/systems"; }; }; hyprpaper = { url = "github:hyprwm/hyprpaper"; inputs = { hyprlang.follows = "hyprland/hyprlang"; hyprutils.follows = "hyprland/hyprutils"; hyprgraphics.follows = "hyprland/hyprgraphics"; nixpkgs.follows = "hyprland/nixpkgs"; systems.follows = "hyprland/systems"; }; }; # Chaotic chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; # Miscellaneous helix-flake.url = "github:helix-editor/helix"; nvf.url = "github:notashelf/nvf"; nix-gaming = { url = "github:fufexan/nix-gaming"; inputs = { nixpkgs.follows = "nixpkgs"; flake-parts.follows = "flake-parts"; }; }; anyrun.url = "github:anyrun-org/anyrun"; agenix.url = "github:ryantm/agenix"; # Rust toolchain fenix = { url = "github:nix-community/fenix"; inputs.nixpkgs.follows = "nixpkgs"; }; zen-browser = { url = "git+https://git.sr.ht/~canasta/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; git-hooks = { url = "github:cachix/git-hooks.nix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; }; }; treefmt-nix = { url = "github:numtide/treefmt-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; # Custom tuirun = { url = "git+https://git.sr.ht/~canasta/tuirun"; inputs.nixpkgs.follows = "nixpkgs"; }; fonts.url = "git+https://git.sr.ht/~canasta/fonts"; }; }