1
0
Fork 0
nix-flake-base/flake.nix
2025-07-20 05:08:03 -05:00

83 lines
2.4 KiB
Nix

# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
#
# 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 <contact@ethanreece.com>" -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";
};
};
};
}
);
}