yumeami/flake.nix
C4 Patino 34be676dd3
All checks were successful
ci / treefmt (push) Successful in 1m59s
feat: add asciinema server module and CLI tool
2026-06-27 17:43:08 -05:00

120 lines
3.3 KiB
Nix
Executable file

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:nix-community/stylix/release-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
deploy-rs.url = "github:serokell/deploy-rs";
devshell.url = "github:numtide/devshell";
treefmt-nix.url = "github:numtide/treefmt-nix";
asciinema.url = "github:asciinema/asciinema-server/main";
impermanence.url = "github:nix-community/impermanence";
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
walker.url = "github:abenz1267/walker";
xremap.url = "github:xremap/nix-flake";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-wsl = {
url = "github:nix-community/NixOS-WSL";
inputs.nixpkgs.follows = "nixpkgs";
};
snowfall-lib = {
url = "git+https://git.cpatino.com/c4patino/snowfallorg-lib?ref=main";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
yumevim-nix = {
url = "git+https://git.cpatino.com/c4patino/yumevim-nix?ref=main";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
dotfiles = {
url = "git+https://git.cpatino.com/c4patino/dotfiles?ref=main";
flake = false;
};
};
outputs = {
snowfall-lib,
treefmt-nix,
...
} @ inputs:
snowfall-lib.mkFlake {
inherit inputs;
src = ./.;
deploy =
(import ./deploy.nix {
inherit inputs;
inherit (inputs) self;
}).deploy;
channels-config = {
allowUnfree = true;
permittedInsecurePackages = [
"mono-5.20.1.34"
];
};
snowfall = {
namespace = "yumeami";
meta = {
name = "yumeami";
title = "yumeami";
};
};
alias = {
shells.default = "yumeami";
templates.default = "devshell";
};
templates = {
devenv.description = "devenv development environment";
devshell.description = "nixpkgs mkshell development environment";
latex-aaai.description = "latex aaai paper template";
latex-aamas.description = "latex aamas paper template";
latex-chicago.description = "latex chicago paper template";
latex-ieee.description = "latex ieee paper template";
};
outputs-builder = channels: let
treefmtConfig = {...}: {
projectRootFile = "flake.nix";
programs = {
alejandra.enable = true;
keep-sorted.enable = true;
stylua.enable = true;
terraform.enable = true;
};
settings = {
global.excludes = [
"inputs/**"
];
};
};
treefmtEval = treefmt-nix.lib.evalModule (channels.nixpkgs) (treefmtConfig {pkgs = channels.nixpkgs;});
system = channels.nixpkgs.stdenv.hostPlatform.system;
in {
formatter = treefmtEval.config.build.wrapper;
checks = inputs.deploy-rs.lib.${system}.deployChecks inputs.self.deploy;
};
};
}