Skip to content
View tsssni's full-sized avatar
老爷爷, 我给你踩背来咯
老爷爷, 我给你踩背来咯

Highlights

  • Pro

Block or report tsssni

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tsssni/README.md

plana

GIF from 五臓六腑七

tsssni.nix

{
  pkgs
, lib
, config
, ...
}:
let
	cfg = config.tsssni;
in {
	options.tsssni = let
		mkBool = desc: lib.mkEnableOption ("whether tsssni is using " + desc);
	in {
		systemSupport = mkBool "current system";
		languagesSupport = mkBool "languages supported by launched treesitters";
		editorSupport = mkBool "specific code editor";
		riceSupport = mkBool "specific programs for unix ricing";
		graphicsSupport = let
			apisOptions = apiLists: lib.mapListsToAttrs apiLists (api: mkBool api);
		in {}
		++ (apisOptions [ "vulkan" "opengl" "d3d12" "d3d11" "d3d9" "metal" ]);
	};

	config.tsssni = lib.mkIf cfg.enable (
		let
			anyPackageIn = pkgsList: list: (builtins.any (p: builtins.elem p list) pkgsList);
			anyEnabled = attrsList: (builtins.any (attrs: attrs.enable) attrsList);
		in with pkgs; {
			systemSupport = let 
				system = stdenv.hostPlatform;
			in false
			|| (system.isLinux && system.isx86_64)
			|| (system.isDarwin && system.isAaarch64);

			languageSupport = anyPackageIn (with vimPlugins.nvim-treesitter.builtGrammars; [
				c
				cpp
				cmake
				glsl
				hlsl
				slang
				nix
			]) config.nixvim.plugins.treesittter.grammarPackages;

			graphicsSupport = {
				vulkan = true;
				opengl = true;
				d3d12 = true;
			};

			editorSupport = config.nixvim.defaultEditor;

			riceSupport = anyEnabled (with config.programs; [  
				hyprland
				ags
			]);
		}
	);
}

tsssni.github-stats

Pinned Loading

  1. metatron Public

    physically-based path-tracing renderer

    C++

  2. carol-engine Public

    Real-time renderer based on Direct3D 12

    C++ 5

  3. cg31020 Public

    Software renderer using rasterization

    C++ 1

  4. tsssni.nix Public

    tsssni's modules & functions & packages & system configs shared via flake

    Nix 7 1