many things:
* flake.lock update, with code changes needed. * miniserve.rs static directory listing. * change from typst-ls to tinymist for typst lsp * deletion of hugo template. * change from self-built duckdns module to nixpkgs one.
This commit is contained in:
		
							parent
							
								
									73451d607b
								
							
						
					
					
						commit
						e8a5bb3bc9
					
				
					 29 changed files with 103 additions and 267 deletions
				
			
		| 
						 | 
					@ -7,7 +7,7 @@
 | 
				
			||||||
  programs.kitty = {
 | 
					  programs.kitty = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    font = {
 | 
					    font = {
 | 
				
			||||||
      package = pkgs.fira-code-nerdfont;
 | 
					      package = pkgs.nerd-fonts.fira-code;
 | 
				
			||||||
      name = "FiraCode Nerd Font";
 | 
					      name = "FiraCode Nerd Font";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    themeFile = "gruvbox-dark";
 | 
					    themeFile = "gruvbox-dark";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,12 @@
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
  programs.zellij.enable = true;
 | 
					  programs.zellij = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    enableBashIntegration = false;
 | 
				
			||||||
 | 
					    enableZshIntegration = false;
 | 
				
			||||||
 | 
					    enableFishIntegration = false;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
  home.file = {
 | 
					  home.file = {
 | 
				
			||||||
    ".config/zellij/config.kdl".source = ./config.kdl;
 | 
					    ".config/zellij/config.kdl".source = ./config.kdl;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,11 +5,6 @@
 | 
				
			||||||
  lib,
 | 
					  lib,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
  virtualisation.docker = {
 | 
					  virtualisation.docker.enable = true;
 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    daemon.settings = {
 | 
					 | 
				
			||||||
      userland-proxy = false;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  users.users.${config.host.user}.extraGroups = ["docker"];
 | 
					  users.users.${config.host.user}.extraGroups = ["docker"];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,12 +12,10 @@
 | 
				
			||||||
      volumes = ["/storage/factorio:/factorio"];
 | 
					      volumes = ["/storage/factorio:/factorio"];
 | 
				
			||||||
      hostname = "factorio";
 | 
					      hostname = "factorio";
 | 
				
			||||||
      ports = [
 | 
					      ports = [
 | 
				
			||||||
        "34197:34197"
 | 
					        "34197:34197/udp"
 | 
				
			||||||
        "27015:27015"
 | 
					        "27015:27015/tcp"
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
      environment = {
 | 
					      environment = {UPDATE_MODS_ON_START = "true";};
 | 
				
			||||||
        UPDATE_MODS_ON_START = "true";
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										35
									
								
								configs/nixos/miniserve-static.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								configs/nixos/miniserve-static.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,35 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  inputs,
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:let
 | 
				
			||||||
 | 
					  port="8080";
 | 
				
			||||||
 | 
					in {
 | 
				
			||||||
 | 
					  systemd.services.miniserve = {
 | 
				
			||||||
 | 
					    wantedBy = ["multi-user.target"];
 | 
				
			||||||
 | 
					    after = ["network.target"];
 | 
				
			||||||
 | 
					    description = "A directory listing miniserve instance";
 | 
				
			||||||
 | 
					    serviceConfig = {
 | 
				
			||||||
 | 
					      ExecStart = lib.concatStringsSep " " [
 | 
				
			||||||
 | 
					        "${pkgs.miniserve}/bin/miniserve"
 | 
				
			||||||
 | 
					        "--enable-tar-gz"
 | 
				
			||||||
 | 
					        "--show-wget-footer"
 | 
				
			||||||
 | 
					        "--readme"
 | 
				
			||||||
 | 
					        "--port ${port}"
 | 
				
			||||||
 | 
					        "--qrcode"
 | 
				
			||||||
 | 
					        # "--no-symlinks"
 | 
				
			||||||
 | 
					        "--interfaces 127.0.0.1"
 | 
				
			||||||
 | 
					        "/storage/miniserve"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  services.nginx.virtualHosts."static.venberg.xyz" = {
 | 
				
			||||||
 | 
					    enableACME = true;
 | 
				
			||||||
 | 
					    forceSSL = true;
 | 
				
			||||||
 | 
					    locations."/" = {
 | 
				
			||||||
 | 
					      proxyPass = "http://localhost:${port}";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
  # Enable sound with pipewire.
 | 
					  # Enable sound with pipewire.
 | 
				
			||||||
  hardware.pulseaudio.enable = false;
 | 
					  services.pulseaudio.enable = false;
 | 
				
			||||||
  security.rtkit.enable = true;
 | 
					  security.rtkit.enable = true;
 | 
				
			||||||
  services.pipewire = {
 | 
					  services.pipewire = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										122
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										122
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							| 
						 | 
					@ -34,11 +34,11 @@
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1728330715,
 | 
					        "lastModified": 1735644329,
 | 
				
			||||||
        "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
 | 
					        "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
 | 
				
			||||||
        "owner": "numtide",
 | 
					        "owner": "numtide",
 | 
				
			||||||
        "repo": "devshell",
 | 
					        "repo": "devshell",
 | 
				
			||||||
        "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
 | 
					        "rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -54,11 +54,11 @@
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730751873,
 | 
					        "lastModified": 1739841949,
 | 
				
			||||||
        "narHash": "sha256-sdY29RWz0S7VbaoTwSy6RummdHKf0wUTaBlqPxrtvmQ=",
 | 
					        "narHash": "sha256-lSOXdgW/1zi/SSu7xp71v+55D5Egz8ACv0STkj7fhbs=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "disko",
 | 
					        "repo": "disko",
 | 
				
			||||||
        "rev": "856a2902156ba304efebd4c1096dbf7465569454",
 | 
					        "rev": "15dbf8cebd8e2655a883b74547108e089f051bf0",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -69,11 +69,11 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "flake-compat": {
 | 
					    "flake-compat": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1696426674,
 | 
					        "lastModified": 1733328505,
 | 
				
			||||||
        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
 | 
					        "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
 | 
				
			||||||
        "owner": "edolstra",
 | 
					        "owner": "edolstra",
 | 
				
			||||||
        "repo": "flake-compat",
 | 
					        "repo": "flake-compat",
 | 
				
			||||||
        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
 | 
					        "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -90,11 +90,11 @@
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730504689,
 | 
					        "lastModified": 1738453229,
 | 
				
			||||||
        "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
 | 
					        "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
 | 
				
			||||||
        "owner": "hercules-ci",
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
        "repo": "flake-parts",
 | 
					        "repo": "flake-parts",
 | 
				
			||||||
        "rev": "506278e768c2a08bec68eb62932193e341f55c90",
 | 
					        "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -108,11 +108,11 @@
 | 
				
			||||||
        "systems": "systems"
 | 
					        "systems": "systems"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1726560853,
 | 
					        "lastModified": 1731533236,
 | 
				
			||||||
        "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
 | 
					        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
 | 
				
			||||||
        "owner": "numtide",
 | 
					        "owner": "numtide",
 | 
				
			||||||
        "repo": "flake-utils",
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
        "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
 | 
					        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -126,11 +126,11 @@
 | 
				
			||||||
        "systems": "systems_2"
 | 
					        "systems": "systems_2"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1726560853,
 | 
					        "lastModified": 1731533236,
 | 
				
			||||||
        "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
 | 
					        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
 | 
				
			||||||
        "owner": "numtide",
 | 
					        "owner": "numtide",
 | 
				
			||||||
        "repo": "flake-utils",
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
        "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
 | 
					        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -149,18 +149,14 @@
 | 
				
			||||||
        "nixpkgs": [
 | 
					        "nixpkgs": [
 | 
				
			||||||
          "nixvim",
 | 
					          "nixvim",
 | 
				
			||||||
          "nixpkgs"
 | 
					          "nixpkgs"
 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        "nixpkgs-stable": [
 | 
					 | 
				
			||||||
          "nixvim",
 | 
					 | 
				
			||||||
          "nixpkgs"
 | 
					 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730814269,
 | 
					        "lastModified": 1737465171,
 | 
				
			||||||
        "narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=",
 | 
					        "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
 | 
				
			||||||
        "owner": "cachix",
 | 
					        "owner": "cachix",
 | 
				
			||||||
        "repo": "git-hooks.nix",
 | 
					        "repo": "git-hooks.nix",
 | 
				
			||||||
        "rev": "d70155fdc00df4628446352fc58adc640cd705c2",
 | 
					        "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -198,11 +194,11 @@
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730837930,
 | 
					        "lastModified": 1740347597,
 | 
				
			||||||
        "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=",
 | 
					        "narHash": "sha256-st5q9egkPGz8TUcVVlIQX7y6G3AzHob+6M963bwVq74=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "home-manager",
 | 
					        "repo": "home-manager",
 | 
				
			||||||
        "rev": "2f607e07f3ac7e53541120536708e824acccfaa8",
 | 
					        "rev": "12e26a74e5eb1a31e13daaa08858689e25ebd449",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -247,11 +243,11 @@
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730779758,
 | 
					        "lastModified": 1738743987,
 | 
				
			||||||
        "narHash": "sha256-5WI9AnsBwhLzVRnQm3Qn9oAbROnuLDQTpaXeyZCK8qw=",
 | 
					        "narHash": "sha256-O3bnAfsObto6l2tQOmQlrO6Z2kD6yKwOWfs7pA0CpOc=",
 | 
				
			||||||
        "owner": "lnl7",
 | 
					        "owner": "lnl7",
 | 
				
			||||||
        "repo": "nix-darwin",
 | 
					        "repo": "nix-darwin",
 | 
				
			||||||
        "rev": "0e3f3f017c14467085f15d42343a3aaaacd89bcb",
 | 
					        "rev": "ae406c04577ff9a64087018c79b4fdc02468c87c",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -279,11 +275,11 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixos-hardware": {
 | 
					    "nixos-hardware": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730886862,
 | 
					        "lastModified": 1740387674,
 | 
				
			||||||
        "narHash": "sha256-wCZtRGM1NGxq6VG4+TMzfsa4cuG2VJVtowtYuWW5W3g=",
 | 
					        "narHash": "sha256-pGk/aA0EBvI6o4DeuZsr05Ig/r4uMlSaf5EWUZEWM10=",
 | 
				
			||||||
        "owner": "NixOS",
 | 
					        "owner": "NixOS",
 | 
				
			||||||
        "repo": "nixos-hardware",
 | 
					        "repo": "nixos-hardware",
 | 
				
			||||||
        "rev": "90642a0deae927fa911d49d4f7c5616257105141",
 | 
					        "rev": "d58f642ddb23320965b27beb0beba7236e9117b5",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -298,19 +294,16 @@
 | 
				
			||||||
        "flake-compat": [
 | 
					        "flake-compat": [
 | 
				
			||||||
          "flake-compat"
 | 
					          "flake-compat"
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        "flake-utils": [
 | 
					 | 
				
			||||||
          "flake-utils"
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        "nixpkgs": [
 | 
					        "nixpkgs": [
 | 
				
			||||||
          "nixpkgs"
 | 
					          "nixpkgs"
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730453870,
 | 
					        "lastModified": 1740046902,
 | 
				
			||||||
        "narHash": "sha256-d+kIgz4BvTXb7emjSFV3zjNydGmLUmuluQjdBb51R9o=",
 | 
					        "narHash": "sha256-Xbhz8eEqBmNpvqaGFbF5JopmfNJccWUr8eExtU/iGX4=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "NixOS-WSL",
 | 
					        "repo": "NixOS-WSL",
 | 
				
			||||||
        "rev": "adb6bc4b661a43328752b4575be4968a4990c033",
 | 
					        "rev": "c4f6ae89468939d9fcf1a317c062cf5dd02004ea",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -322,11 +315,11 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs": {
 | 
					    "nixpkgs": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730785428,
 | 
					        "lastModified": 1740126099,
 | 
				
			||||||
        "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
 | 
					        "narHash": "sha256-ozoOtE2hGsqh4XkTJFsrTkNxkRgShxpQxDynaPZUGxk=",
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
 | 
					        "rev": "32fb99ba93fea2798be0e997ea331dd78167f814",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -336,22 +329,6 @@
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs-stable": {
 | 
					 | 
				
			||||||
      "locked": {
 | 
					 | 
				
			||||||
        "lastModified": 1730602179,
 | 
					 | 
				
			||||||
        "narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=",
 | 
					 | 
				
			||||||
        "owner": "NixOS",
 | 
					 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					 | 
				
			||||||
        "rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c",
 | 
					 | 
				
			||||||
        "type": "github"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "original": {
 | 
					 | 
				
			||||||
        "owner": "NixOS",
 | 
					 | 
				
			||||||
        "ref": "release-24.05",
 | 
					 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					 | 
				
			||||||
        "type": "github"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "nixvim": {
 | 
					    "nixvim": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "devshell": "devshell",
 | 
					        "devshell": "devshell",
 | 
				
			||||||
| 
						 | 
					@ -371,11 +348,11 @@
 | 
				
			||||||
        "treefmt-nix": "treefmt-nix"
 | 
					        "treefmt-nix": "treefmt-nix"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730877618,
 | 
					        "lastModified": 1739902813,
 | 
				
			||||||
        "narHash": "sha256-HQTKujMb6SwnOqtWA+A7lR4MOCBZUW4vtrkK1E/QweU=",
 | 
					        "narHash": "sha256-BgOQcKKz7VNvSHIbBllHisv32HvF3W3ALF9sdnC++V8=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "nixvim",
 | 
					        "repo": "nixvim",
 | 
				
			||||||
        "rev": "898246c943ba545a79d585093e97476ceb31f872",
 | 
					        "rev": "0ab9947137cd034ec64eb5cd9ede94e53af21f50",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -394,11 +371,11 @@
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730760712,
 | 
					        "lastModified": 1738508923,
 | 
				
			||||||
        "narHash": "sha256-F4H98tjNgySlSLItuOqHYo9LF85rFoS/Vr0uOrq7BM4=",
 | 
					        "narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=",
 | 
				
			||||||
        "owner": "NuschtOS",
 | 
					        "owner": "NuschtOS",
 | 
				
			||||||
        "repo": "search",
 | 
					        "repo": "search",
 | 
				
			||||||
        "rev": "aa5214c81b904a19f7a54f7a8f288f7902586eee",
 | 
					        "rev": "86e2038290859006e05ca7201425ea5b5de4aecb",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -426,15 +403,14 @@
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "nixpkgs": [
 | 
					        "nixpkgs": [
 | 
				
			||||||
          "nixpkgs"
 | 
					          "nixpkgs"
 | 
				
			||||||
        ],
 | 
					        ]
 | 
				
			||||||
        "nixpkgs-stable": "nixpkgs-stable"
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730883027,
 | 
					        "lastModified": 1739262228,
 | 
				
			||||||
        "narHash": "sha256-pvXMOJIqRW0trsW+FzRMl6d5PbsM4rWfD5lcKCOrrwI=",
 | 
					        "narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=",
 | 
				
			||||||
        "owner": "mic92",
 | 
					        "owner": "mic92",
 | 
				
			||||||
        "repo": "sops-nix",
 | 
					        "repo": "sops-nix",
 | 
				
			||||||
        "rev": "c5ae1e214ff935f2d3593187a131becb289ea639",
 | 
					        "rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					@ -481,11 +457,11 @@
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730321837,
 | 
					        "lastModified": 1738680491,
 | 
				
			||||||
        "narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=",
 | 
					        "narHash": "sha256-8X7tR3kFGkE7WEF5EXVkt4apgaN85oHZdoTGutCFs6I=",
 | 
				
			||||||
        "owner": "numtide",
 | 
					        "owner": "numtide",
 | 
				
			||||||
        "repo": "treefmt-nix",
 | 
					        "repo": "treefmt-nix",
 | 
				
			||||||
        "rev": "746901bb8dba96d154b66492a29f5db0693dbfcc",
 | 
					        "rev": "64dbb922d51a42c0ced6a7668ca008dded61c483",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,6 @@
 | 
				
			||||||
    nixos-wsl = {
 | 
					    nixos-wsl = {
 | 
				
			||||||
      url = "github:nix-community/NixOS-WSL/main";
 | 
					      url = "github:nix-community/NixOS-WSL/main";
 | 
				
			||||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
      inputs.flake-utils.follows = "flake-utils";
 | 
					 | 
				
			||||||
      inputs.flake-compat.follows = "flake-compat";
 | 
					      inputs.flake-compat.follows = "flake-compat";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,6 +24,7 @@ inputs.nixpkgs.lib.nixosSystem {
 | 
				
			||||||
    ../../configs/nixos/grocy.nix
 | 
					    ../../configs/nixos/grocy.nix
 | 
				
			||||||
    ../../configs/nixos/factorio-docker.nix
 | 
					    ../../configs/nixos/factorio-docker.nix
 | 
				
			||||||
    ../../configs/nixos/cyberchef.nix
 | 
					    ../../configs/nixos/cyberchef.nix
 | 
				
			||||||
 | 
					    ../../configs/nixos/miniserve-static.nix
 | 
				
			||||||
    ({
 | 
					    ({
 | 
				
			||||||
      config,
 | 
					      config,
 | 
				
			||||||
      pkgs,
 | 
					      pkgs,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,7 +29,7 @@
 | 
				
			||||||
            ruff.enable = true;
 | 
					            ruff.enable = true;
 | 
				
			||||||
            taplo.enable = true;
 | 
					            taplo.enable = true;
 | 
				
			||||||
            texlab.enable = true;
 | 
					            texlab.enable = true;
 | 
				
			||||||
            typst_lsp.enable = true;
 | 
					            tinymist.enable = true;
 | 
				
			||||||
            uiua.enable = true;
 | 
					            uiua.enable = true;
 | 
				
			||||||
            yamlls.enable = true;
 | 
					            yamlls.enable = true;
 | 
				
			||||||
            zls.enable = true;
 | 
					            zls.enable = true;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,5 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./duckdns.nix
 | 
					 | 
				
			||||||
    ./hostopts.nix
 | 
					    ./hostopts.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,86 +0,0 @@
 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  inputs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  lib,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}: let
 | 
					 | 
				
			||||||
  cfg = config.services.duckdns;
 | 
					 | 
				
			||||||
  urlFile = pkgs.writeText "curlurl" "url=https://www.duckdns.org/update?domains=@domains_placeholder@&token=@token_placeholder@&ip=";
 | 
					 | 
				
			||||||
in {
 | 
					 | 
				
			||||||
  # partially taken from https://github.com/NixOS/nixpkgs/pull/294489
 | 
					 | 
				
			||||||
  options = {
 | 
					 | 
				
			||||||
    services.duckdns = {
 | 
					 | 
				
			||||||
      enable = lib.mkEnableOption "Enable duckdns updating";
 | 
					 | 
				
			||||||
      tokenFile = lib.mkOption {
 | 
					 | 
				
			||||||
        default = null;
 | 
					 | 
				
			||||||
        type = lib.types.path;
 | 
					 | 
				
			||||||
        description = ''
 | 
					 | 
				
			||||||
          The path to a file containing the token
 | 
					 | 
				
			||||||
          used to authenticate with DuckDNS.
 | 
					 | 
				
			||||||
        '';
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
      domains = lib.mkOption {
 | 
					 | 
				
			||||||
        type = lib.types.nullOr (lib.types.listOf lib.types.str);
 | 
					 | 
				
			||||||
        example = ["examplehost"];
 | 
					 | 
				
			||||||
        description = lib.mdDoc ''
 | 
					 | 
				
			||||||
          The record(s) to update in DuckDNS
 | 
					 | 
				
			||||||
          (without the .duckdns.org prefix)
 | 
					 | 
				
			||||||
        '';
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
      domainsFile = lib.mkOption {
 | 
					 | 
				
			||||||
        default = null;
 | 
					 | 
				
			||||||
        type = lib.types.nullOr lib.types.path;
 | 
					 | 
				
			||||||
        description = ''
 | 
					 | 
				
			||||||
          The path to a file containing a
 | 
					 | 
				
			||||||
          newline-separated list of DuckDNS
 | 
					 | 
				
			||||||
          domain(s) to be updated
 | 
					 | 
				
			||||||
        '';
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  config = lib.mkIf cfg.enable {
 | 
					 | 
				
			||||||
    assertions = [
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        assertion = cfg.domains != null || cfg.domainsFile != null;
 | 
					 | 
				
			||||||
        message = "services.duckdns.domains or services.duckdns.domainsFile has to be defined";
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
    systemd.services.duckdns = {
 | 
					 | 
				
			||||||
      description = "DuckDNS Dynamic DNS Client";
 | 
					 | 
				
			||||||
      after = ["network.target"];
 | 
					 | 
				
			||||||
      wantedBy = ["multi-user.target"];
 | 
					 | 
				
			||||||
      # every 5 minutes
 | 
					 | 
				
			||||||
      startAt = "*:00/5:00";
 | 
					 | 
				
			||||||
      serviceConfig = {
 | 
					 | 
				
			||||||
        Type = "simple";
 | 
					 | 
				
			||||||
        DynamicUser = true;
 | 
					 | 
				
			||||||
        RuntimeDirectory = "duckdns-update";
 | 
					 | 
				
			||||||
        RuntimeDirectoryMode = "700";
 | 
					 | 
				
			||||||
        LoadCredential =
 | 
					 | 
				
			||||||
          [
 | 
					 | 
				
			||||||
            "tokenFile:${cfg.tokenFile}"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
          ++ lib.optionals (cfg.domainsFile != null) ["domainsFile:${cfg.domainsFile}"];
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
      script = ''
 | 
					 | 
				
			||||||
        install --mode 600 ${urlFile} $RUNTIME_DIRECTORY/curlurl
 | 
					 | 
				
			||||||
        # replace the token
 | 
					 | 
				
			||||||
        ${pkgs.replace-secret}/bin/replace-secret @token_placeholder@ $CREDENTIALS_DIRECTORY/tokenFile $RUNTIME_DIRECTORY/curlurl
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # initalise the replacement file for the domains from the domains file if it exists, otherwise make it empty.
 | 
					 | 
				
			||||||
        install --mode 600 ${
 | 
					 | 
				
			||||||
          if (cfg.domainsFile != null)
 | 
					 | 
				
			||||||
          then "$CREDENTIALS_DIRECTORY/domainsFile"
 | 
					 | 
				
			||||||
          else "/dev/null"
 | 
					 | 
				
			||||||
        } $RUNTIME_DIRECTORY/domains
 | 
					 | 
				
			||||||
        # these are already in the nix store, so doesnt matter if they leak via cmdline.
 | 
					 | 
				
			||||||
        echo '${lib.strings.concatStringsSep "\n" cfg.domains}' >>  $RUNTIME_DIRECTORY/domains
 | 
					 | 
				
			||||||
        ${pkgs.gnused}/bin/sed -zi 's/\n/,/g' $RUNTIME_DIRECTORY/domains
 | 
					 | 
				
			||||||
        ${pkgs.replace-secret}/bin/replace-secret @domains_placeholder@ $RUNTIME_DIRECTORY/domains $RUNTIME_DIRECTORY/curlurl
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        ${pkgs.curl}/bin/curl --no-progress-meter --insecure --config $RUNTIME_DIRECTORY/curlurl | ${pkgs.gnugrep}/bin/grep -v "KO"
 | 
					 | 
				
			||||||
      '';
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -19,8 +19,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    tre-command
 | 
					    tre-command
 | 
				
			||||||
    diskonaut
 | 
					 | 
				
			||||||
    hyperfine
 | 
					    hyperfine
 | 
				
			||||||
 | 
					    dua
 | 
				
			||||||
    fclones
 | 
					    fclones
 | 
				
			||||||
    libqalculate
 | 
					    libqalculate
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,12 +3,12 @@
 | 
				
			||||||
    path = ./default;
 | 
					    path = ./default;
 | 
				
			||||||
    description = "a basic blank devshell flake";
 | 
					    description = "a basic blank devshell flake";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  hugo = {
 | 
					 | 
				
			||||||
    path = ./hugo;
 | 
					 | 
				
			||||||
    description = "a flake for getting a hugo website up and running";
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
  latex = {
 | 
					  latex = {
 | 
				
			||||||
    path = ./latex;
 | 
					    path = ./latex;
 | 
				
			||||||
    description = "A flake containing a basic latex environment";
 | 
					    description = "A flake containing a basic latex environment";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					  typst = {
 | 
				
			||||||
 | 
					    path= ./typst;
 | 
				
			||||||
 | 
					    description = "A flake containing a basic typst environment";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
use flake
 | 
					 | 
				
			||||||
							
								
								
									
										16
									
								
								templates/hugo/.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								templates/hugo/.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,16 +0,0 @@
 | 
				
			||||||
# Generated files by hugo
 | 
					 | 
				
			||||||
/public/
 | 
					 | 
				
			||||||
/resources/_gen/
 | 
					 | 
				
			||||||
/assets/jsconfig.json
 | 
					 | 
				
			||||||
hugo_stats.json
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Executable may be added to repository
 | 
					 | 
				
			||||||
hugo.exe
 | 
					 | 
				
			||||||
hugo.darwin
 | 
					 | 
				
			||||||
hugo.linux
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Temporary lock file while building
 | 
					 | 
				
			||||||
/.hugo_build.lock
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# for direnv
 | 
					 | 
				
			||||||
.direnv
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
+++
 | 
					 | 
				
			||||||
date = '{{ .Date }}'
 | 
					 | 
				
			||||||
draft = true
 | 
					 | 
				
			||||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
 | 
					 | 
				
			||||||
+++
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,26 +0,0 @@
 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  description = "hugo development environment";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  inputs = {
 | 
					 | 
				
			||||||
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
 | 
					 | 
				
			||||||
    flake-utils.url = "github:numtide/flake-utils";
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  outputs = {
 | 
					 | 
				
			||||||
    self,
 | 
					 | 
				
			||||||
    nixpkgs,
 | 
					 | 
				
			||||||
    flake-utils,
 | 
					 | 
				
			||||||
  }:
 | 
					 | 
				
			||||||
    flake-utils.lib.eachDefaultSystem (system: let
 | 
					 | 
				
			||||||
      pkgs = import nixpkgs {inherit system;};
 | 
					 | 
				
			||||||
    in
 | 
					 | 
				
			||||||
      with pkgs; {
 | 
					 | 
				
			||||||
        devShells.default = mkShell {
 | 
					 | 
				
			||||||
          buildInputs = [
 | 
					 | 
				
			||||||
            hugo
 | 
					 | 
				
			||||||
            just
 | 
					 | 
				
			||||||
            rsync
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
      });
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,22 +0,0 @@
 | 
				
			||||||
languageCode = 'en-us'
 | 
					 | 
				
			||||||
baseURL = "https://example.com"
 | 
					 | 
				
			||||||
title = "Title"
 | 
					 | 
				
			||||||
enableRobotsTXT = true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[markup.goldmark.extensions]
 | 
					 | 
				
			||||||
definitionList = true
 | 
					 | 
				
			||||||
footnote = true
 | 
					 | 
				
			||||||
strikethrough = true
 | 
					 | 
				
			||||||
table = true
 | 
					 | 
				
			||||||
taskList = true
 | 
					 | 
				
			||||||
[markup.goldmark.extensions.extras.insert]
 | 
					 | 
				
			||||||
enable = true
 | 
					 | 
				
			||||||
[markup.goldmark.extensions.extras.mark]
 | 
					 | 
				
			||||||
enable = true
 | 
					 | 
				
			||||||
[markup.goldmark.extensions.extras.subscript]
 | 
					 | 
				
			||||||
enable = true
 | 
					 | 
				
			||||||
[markup.goldmark.extensions.extras.superscript]
 | 
					 | 
				
			||||||
enable = true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[security]
 | 
					 | 
				
			||||||
enableInlineShortcodes = true
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,10 +0,0 @@
 | 
				
			||||||
preview:
 | 
					 | 
				
			||||||
    hugo serve --buildDrafts --buildExpired --buildFuture --navigateToChanged
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
USER:='root'
 | 
					 | 
				
			||||||
HOST:='1.1.1.1'
 | 
					 | 
				
			||||||
DIR:='/srv/folder'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
deploy:
 | 
					 | 
				
			||||||
    hugo --minify
 | 
					 | 
				
			||||||
    rsync -rvz --delete public/ {{USER}}@{{HOST}}:{{DIR}} # this will delete everything on the server that's not in the local public folder
 | 
					 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,6 @@
 | 
				
			||||||
        devShells.default = mkShell {
 | 
					        devShells.default = mkShell {
 | 
				
			||||||
          buildInputs = [
 | 
					          buildInputs = [
 | 
				
			||||||
            typst
 | 
					            typst
 | 
				
			||||||
            just
 | 
					 | 
				
			||||||
          ];
 | 
					          ];
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
preview:
 | 
					 | 
				
			||||||
    typst watch main.typ
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
compile:
 | 
					 | 
				
			||||||
    typst compile main.typ
 | 
					 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue