83 lines
2.4 KiB
Nix
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";
|
|
};
|
|
};
|
|
};
|
|
}
|
|
);
|
|
}
|