118 lines
3.2 KiB
Nix
Executable file
118 lines
3.2 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";
|
|
impermanence.url = "github:nix-community/impermanence";
|
|
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
|
treefmt-nix.url = "github:numtide/treefmt-nix";
|
|
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;
|
|
};
|
|
};
|
|
}
|