# SPDX-FileCopyrightText: 2025 Ethan Reece # # SPDX-License-Identifier: LGPL-3.0-or-later { description = "Nix Flake base"; inputs = { devshell.url = "github:numtide/devshell"; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; git-hooks-nix.url = "github:cachix/git-hooks.nix"; lix-module = { url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; nixgl = { url = "github:nix-community/nixGL"; inputs.nixpkgs.follows = "nixpkgs"; }; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; treefmt-nix.url = "github:numtide/treefmt-nix"; }; outputs = # https://flake.parts/options/flake-parts.html inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } ( { withSystem, ... }: { systems = [ "aarch64-linux" ]; imports = [ ./flake-module.nix ]; flake.flakeModule = ./flake-module.nix; perSystem = { pkgs, system, ... }: { editors.helix.enable = true; languages = { en-us = { enable = true; dictionary = [ "Asahi" "Catppuccin" "GmbH" "Haug" "Laurenz" "LLMs" "Mädje" "Nushell" "Reece" "SOPS" "Stylix" ]; }; markdown.enable = true; nix.enable = true; toml.enable = true; yaml.enable = true; typst = { enable = true; entrypoint = "scratch/typst.typ"; fonts = [ pkgs.inter ]; }; }; # https://flake.parts/options/devshell.html # reuse annotate -c "Ethan Reece " -l LGPL-3.0-or-later -y 2025 devshells.default = { packages = [ pkgs.forgejo-cli pkgs.typst ]; devshell = { motd = '' {202}󱄅 Nix Flake base{reset} $(type -p menu &>/dev/null && menu) ''; name = "Nix Flake base"; }; }; }; } ); }