generated from me/nix-flake-typst-template
214 lines
6.3 KiB
Nix
214 lines
6.3 KiB
Nix
# SPDX-FileCopyrightText: 2025-2026 Ethan Reece <contact@ethanreece.com>
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
# TODO: Update UTD MS CS start date on LinkedIn on January 2026
|
|
# TODO: Change Flake "Library" to Flake "Manager" and mention AI integrations. Also change link to it.
|
|
|
|
{
|
|
description = "Résumé";
|
|
inputs = {
|
|
devenv = {
|
|
url = "github:cachix/devenv";
|
|
inputs = {
|
|
flake-parts.follows = "flake-parts";
|
|
git-hooks.follows = "git-hooks-nix";
|
|
nixd.follows = "nixd";
|
|
nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
flake-manager = {
|
|
url = "git+https://codeberg.org/ethanreece/flake-manager.git?ref=main";
|
|
flake = true;
|
|
inputs = {
|
|
devenv.follows = "devenv";
|
|
flake-parts.follows = "flake-parts";
|
|
git-hooks-nix.follows = "git-hooks-nix";
|
|
lix.follows = "lix";
|
|
lix-module.follows = "lix-module";
|
|
mcp-servers-nix.follows = "mcp-servers-nix";
|
|
nixd.follows = "nixd";
|
|
nixgl.follows = "nixgl";
|
|
nixpkgs.follows = "nixpkgs";
|
|
nixpkgs-master.follows = "nixpkgs-master";
|
|
nixpkgs-stable.follows = "nixpkgs-stable";
|
|
treefmt-nix.follows = "treefmt-nix";
|
|
};
|
|
};
|
|
|
|
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 = {
|
|
url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
|
|
flake = false;
|
|
};
|
|
lix-module = {
|
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
inputs.lix.follows = "lix";
|
|
};
|
|
mcp-servers-nix = {
|
|
url = "github:natsukium/mcp-servers-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nixd = {
|
|
url = "github:nix-community/nixd";
|
|
inputs = {
|
|
flake-parts.follows = "flake-parts";
|
|
nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
nixgl = {
|
|
url = "github:nix-community/nixGL";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
|
|
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11";
|
|
treefmt-nix.url = "github:numtide/treefmt-nix";
|
|
};
|
|
outputs =
|
|
inputs@{ flake-parts, ... }:
|
|
flake-parts.lib.mkFlake { inherit inputs; } (
|
|
{ withSystem, ... }:
|
|
{
|
|
systems = [
|
|
"aarch64-linux"
|
|
"x86_64-linux"
|
|
];
|
|
imports = [
|
|
inputs.flake-manager.flakeModule
|
|
(inputs.flake-manager.lib.importModule {
|
|
specialArgs = { inherit inputs; };
|
|
file = ./resumes;
|
|
})
|
|
];
|
|
perSystem =
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
system,
|
|
...
|
|
}:
|
|
{
|
|
flake-manager = {
|
|
useUnstableLix = true;
|
|
};
|
|
devenv.shells = lib.genAttrs config.flake-manager.shells (name: {
|
|
flake-manager = {
|
|
formatters.enable = true;
|
|
git-hooks.enable = true;
|
|
network = {
|
|
allowFirstParty = true;
|
|
allowThirdParty = true;
|
|
};
|
|
reuse.enable = true;
|
|
};
|
|
editors = {
|
|
helix.enable = true;
|
|
opencode.enable = true;
|
|
};
|
|
languages = {
|
|
en-us = {
|
|
enable = true;
|
|
dictionary = [
|
|
"ABCAST"
|
|
"APIs"
|
|
"Astro"
|
|
"ASP.NET"
|
|
"Birman"
|
|
"Cyber"
|
|
"devenv"
|
|
"Dokku"
|
|
"EasyOpenCV"
|
|
"FFmpeg"
|
|
"Forgejo"
|
|
"Guix"
|
|
"Hetzner"
|
|
"Jee"
|
|
"Jira"
|
|
"Jonsson"
|
|
"Kangkook"
|
|
"lang"
|
|
"LEGO"
|
|
"linguify"
|
|
"MAUI"
|
|
"[Mm]onorepo"
|
|
"MIPS"
|
|
"multicast"
|
|
"multifactor"
|
|
"Nextcloud"
|
|
"ProvViz"
|
|
"Proxmox"
|
|
"pwntools"
|
|
"Reece"
|
|
"Raynal"
|
|
"Rustyline"
|
|
"Schiper"
|
|
"Serde"
|
|
"shellcode"
|
|
"Syssec"
|
|
"Technics"
|
|
"Tetris"
|
|
"TikZ"
|
|
"Tokio"
|
|
"toolchain"
|
|
"TrueNAS"
|
|
"typ"
|
|
"Valgrind"
|
|
"Vaultwarden"
|
|
"Verilog"
|
|
"VMs"
|
|
];
|
|
};
|
|
git-commit.enable = true;
|
|
markdown.enable = true;
|
|
nix.enable = true;
|
|
toml.enable = true;
|
|
yaml.enable = true;
|
|
typst = {
|
|
enable = true;
|
|
package = pkgs.typst.withPackages (
|
|
ps: with ps; [
|
|
cmarker
|
|
fontawesome
|
|
linguify
|
|
]
|
|
);
|
|
fonts = [
|
|
pkgs.font-awesome
|
|
pkgs.inter
|
|
pkgs.jetbrains-mono
|
|
];
|
|
args = [
|
|
"--input"
|
|
"lang=en"
|
|
"--input"
|
|
"region=US"
|
|
];
|
|
};
|
|
};
|
|
language-servers = {
|
|
vale-ls.settings.perGlob = {
|
|
"**/README.md".packages = {
|
|
alex.enable = true;
|
|
Joblint.enable = true;
|
|
proselint.enable = true;
|
|
RedHat.enable = true;
|
|
write-good.enable = true;
|
|
};
|
|
};
|
|
};
|
|
git-hooks.hooks.markdownlint.settings.configuration = {
|
|
"MD024" = false; # Disable `no-duplicate-heading`
|
|
};
|
|
});
|
|
};
|
|
}
|
|
);
|
|
}
|