@@ -0,0 +1,10 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
|
||||||
|
[*.{js,ts,json,mts,css}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
export DIRENV_WARN_TIMEOUT=20s
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
eval "$(devenv direnvrc)"
|
eval "$(devenv direnvrc)"
|
||||||
|
dotenv
|
||||||
# The use_devenv function supports passing flags to the devenv command
|
|
||||||
# For example: use devenv --impure --option services.postgres.enable:bool true
|
|
||||||
use devenv
|
use devenv
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
name: deploy
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v7
|
||||||
|
- uses: cachix/install-nix-action@v31
|
||||||
|
with:
|
||||||
|
nix_path: nixpkgs=channel:nixos-unstable
|
||||||
|
- uses: cachix/cachix-action@v16
|
||||||
|
with:
|
||||||
|
name: phundrak
|
||||||
|
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
||||||
|
extraPullNames: devenv
|
||||||
|
- name: Install devenv
|
||||||
|
run: nix profile add nixpkgs#devenv
|
||||||
|
- name: Deploy to Cloudflare Pages
|
||||||
|
env:
|
||||||
|
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
run: devenv tasks run website:deploy
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
name: deploy
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: purcell/setup-emacs@master
|
|
||||||
with:
|
|
||||||
version: 29.1
|
|
||||||
- name: "Export org to md"
|
|
||||||
run: emacs -Q --script export.el
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 20.x
|
|
||||||
- run: corepack enable
|
|
||||||
- run: npm ci
|
|
||||||
- run: npm run build
|
|
||||||
- name: "Deploy to Cloudflare Pages"
|
|
||||||
uses: cloudflare/pages-action@v1
|
|
||||||
with:
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
accountId: ${{ secrets.ACCOUNT_ID }}
|
|
||||||
projectName: config-phundrak-com
|
|
||||||
directory: docs/.vuepress/dist/
|
|
||||||
githubToken: ${{ secrets.TOKEN }}
|
|
||||||
# - name: "Deploy to remote server"
|
|
||||||
# uses: appleboy/scp-action@v0.1.4
|
|
||||||
# with:
|
|
||||||
# host: ${{ secrets.HOST }}
|
|
||||||
# username: ${{ secrets.USERNAME }}
|
|
||||||
# key: ${{ secrets.KEY }}
|
|
||||||
# port: ${{ secrets.PORT }}
|
|
||||||
# source: docs/.vuepress/dist/*
|
|
||||||
# target: ${{ secrets.DESTPATH }}
|
|
||||||
# strip_components: 3
|
|
||||||
@@ -1,13 +1,31 @@
|
|||||||
node_modules
|
node_modules
|
||||||
|
/docs/**/*.md
|
||||||
|
|
||||||
|
# Vitepress
|
||||||
|
/.vitepress/cache/
|
||||||
|
/.vitepress/dist/
|
||||||
|
/docs/.vitepress/
|
||||||
|
/docs/img
|
||||||
|
/docs/eittlandic/img
|
||||||
|
/docs/proto-nyqy/img
|
||||||
.temp
|
.temp
|
||||||
.cache
|
.cache
|
||||||
/docs/**/*.md
|
|
||||||
/docs/.vuepress/dist/
|
|
||||||
/.yarn/
|
|
||||||
|
|
||||||
# Devenv
|
# Devenv
|
||||||
.devenv*
|
.devenv*
|
||||||
devenv.local.nix
|
devenv.local.nix
|
||||||
|
devenv.local.yaml
|
||||||
|
|
||||||
|
# direnv
|
||||||
|
.direnv
|
||||||
|
|
||||||
|
# pre-commit
|
||||||
|
.pre-commit-config.yaml
|
||||||
|
|
||||||
|
# Devenv
|
||||||
|
.devenv*
|
||||||
|
devenv.local.nix
|
||||||
|
devenv.local.yaml
|
||||||
|
|
||||||
# direnv
|
# direnv
|
||||||
.direnv
|
.direnv
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
{
|
{
|
||||||
|
"$schema": "https://json.schemastore.org/prettierrc",
|
||||||
|
"semi": true,
|
||||||
"tabWidth": 2,
|
"tabWidth": 2,
|
||||||
"useTabs": false,
|
"useTabs": false,
|
||||||
"semi": true,
|
|
||||||
"singleQuote": true,
|
"singleQuote": true,
|
||||||
"trailingComma": "all",
|
"quoteProps": "as-needed",
|
||||||
|
"printWidth": 100,
|
||||||
|
"trailingComma": "es5",
|
||||||
"bracketSpacing": true,
|
"bracketSpacing": true,
|
||||||
|
"bracketSameLine": true,
|
||||||
"arrowParens": "always"
|
"arrowParens": "always"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
<template>
|
||||||
|
<figure>
|
||||||
|
<img :alt="alt" :src="src" />
|
||||||
|
<figcaption><slot></slot></figcaption>
|
||||||
|
</figure>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
const props = defineProps<{
|
||||||
|
src: string;
|
||||||
|
alt?: string;
|
||||||
|
}>();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
figcaption {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
// -*- mode: typescript; -*-
|
||||||
|
import { defineConfig, HeadConfig } from 'vitepress';
|
||||||
|
import appHead from './head';
|
||||||
|
import { sidebar } from './sidebar';
|
||||||
|
import { nav } from './nav';
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
title: "P’undrak’s Dotfiles",
|
||||||
|
cleanUrls: true,
|
||||||
|
description: 'P’undrak’s Linux configuration',
|
||||||
|
head: appHead as HeadConfig[],
|
||||||
|
srcDir: './docs',
|
||||||
|
themeConfig: {
|
||||||
|
sidebar,
|
||||||
|
nav,
|
||||||
|
outline: {
|
||||||
|
level: 'deep'
|
||||||
|
},
|
||||||
|
search: {
|
||||||
|
provider: 'local'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
markdown: {
|
||||||
|
image: {
|
||||||
|
lazyLoading: true
|
||||||
|
},
|
||||||
|
linkify: true,
|
||||||
|
typographer: true,
|
||||||
|
headers: {
|
||||||
|
level: [1, 2, 3, 4, 5]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
interface Head {
|
||||||
|
type?: 'image/png';
|
||||||
|
async?: boolean,
|
||||||
|
src?: string,
|
||||||
|
'data-website-id'?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Favicon extends Head {
|
||||||
|
rel: 'apple-touch-icon' | 'icon' | 'manifest';
|
||||||
|
href: string;
|
||||||
|
sizes?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Meta extends Head {
|
||||||
|
property?: string,
|
||||||
|
name?: string,
|
||||||
|
content: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const favicons: Favicon[] = [
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '57x57', href: '/img/meta/apple-icon-57x57.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '60x60', href: '/img/meta/apple-icon-60x60.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '72x72', href: '/img/meta/apple-icon-72x72.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '76x76', href: '/img/meta/apple-icon-76x76.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '114x114', href: '/img/meta/apple-icon-114x114.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '120x120', href: '/img/meta/apple-icon-120x120.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '144x144', href: '/img/meta/apple-icon-144x144.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '152x152', href: '/img/meta/apple-icon-152x152.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '180x180', href: '/img/meta/apple-icon-180x180.png' },
|
||||||
|
{ rel: 'icon', type: 'image/png', sizes: '192x192', href: '/img/meta/android-icon-192x192.png' },
|
||||||
|
{ rel: 'icon', type: 'image/png', sizes: '32x32', href: '/img/meta/favicon-32x32.png' },
|
||||||
|
{ rel: 'icon', type: 'image/png', sizes: '96x96', href: '/img/meta/favicon-96x96.png' },
|
||||||
|
{ rel: 'icon', type: 'image/png', sizes: '16x16', href: '/img/meta/favicon-16x16.png' },
|
||||||
|
{ rel: 'manifest', href: '/img/meta/manifest.json' },
|
||||||
|
];
|
||||||
|
|
||||||
|
const meta: Meta[] = [
|
||||||
|
{
|
||||||
|
name: 'author',
|
||||||
|
content: 'Lucien Cartier-Tilet',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
property: 'og:image',
|
||||||
|
content: 'https://cdn.phundrak.com/img/rich_preview.png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
property: 'og:title',
|
||||||
|
content: 'P’undrak’s Dotfiles',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
property: 'og:description',
|
||||||
|
content: 'P’undrak’s Linux configuration',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'fediverse:creator',
|
||||||
|
content: '@phundrak@mastodon.phundrak.com',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'twitter:card',
|
||||||
|
content: 'summary',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'twitter:site',
|
||||||
|
content: '@phundrak',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'twitter:creator',
|
||||||
|
content: '@phundrak',
|
||||||
|
},
|
||||||
|
{ name: 'msapplication-TileColor', content: '#3b4252' },
|
||||||
|
{ name: 'msapplication-TileImage', content: '/ms-icon-144x144.png' },
|
||||||
|
{ name: 'theme-color', content: '#3b4252' },
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const appHead: (string | Head)[][] = favicons.map((head) => ['link', head])
|
||||||
|
meta.map((item) => appHead.push(['meta', item]))
|
||||||
|
|
||||||
|
export default appHead;
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import { DefaultTheme } from "vitepress";
|
||||||
|
|
||||||
|
export const nav: DefaultTheme.NavItem[] = [
|
||||||
|
{ text: 'About', link: '/about' },
|
||||||
|
{ text: 'Configs', link: '/' },
|
||||||
|
{ text: 'Deprecated Configs', link: '/deprecated/', activeMatch: '/deprecated/*' },
|
||||||
|
{ text: 'Source', link: 'https://labs.phundrak.com/phundrak/config.phundrak.com' },
|
||||||
|
]
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
import { DefaultTheme } from "vitepress";
|
||||||
|
|
||||||
|
export const sidebar: DefaultTheme.Sidebar = {
|
||||||
|
'/': [
|
||||||
|
{ text: 'Index', link: '/' },
|
||||||
|
{ text: 'Custom Scripts', link: '/scripts' },
|
||||||
|
{ text: 'Desktop', link: '/desktop' },
|
||||||
|
{ text: 'General Shell Config', link: '/shell' },
|
||||||
|
{ text: 'Fish', link: '/fish' },
|
||||||
|
{ text: 'Git', link: '/git' },
|
||||||
|
{ text: 'Hyprland', link: '/hyprland' },
|
||||||
|
{ text: 'MPD', link: '/mpd' },
|
||||||
|
{ text: 'Tmux', link: '/tmux' },
|
||||||
|
{
|
||||||
|
text: 'Emacs',
|
||||||
|
items: [
|
||||||
|
{ text: 'Index', link: '/emacs/' },
|
||||||
|
{ text: 'Basic Config', link: '/emacs/basic-config' },
|
||||||
|
{ text: 'Custom Elisp', link: '/emacs/custom-elisp' },
|
||||||
|
{ text: 'Package Managers', link: '/emacs/package-manager' },
|
||||||
|
{ text: 'Keybind Managers', link: '/emacs/keybinding-managers' },
|
||||||
|
{ text: 'Autocompletion', link: '/emacs/packages/autocompletion' },
|
||||||
|
{ text: 'Applications', link: '/emacs/packages/applications' },
|
||||||
|
{ text: 'Editing', link: '/emacs/packages/editing' },
|
||||||
|
{ text: 'Built-in', link: '/emacs/packages/emacs-builtin' },
|
||||||
|
{ text: 'Making My Life Easier', link: '/emacs/packages/helpful' },
|
||||||
|
{ text: 'LaTeX', link: '/emacs/packages/latex' },
|
||||||
|
{ text: 'Org Mode', link: '/emacs/packages/org' },
|
||||||
|
{ text: 'Programming', link: '/emacs/packages/programming' },
|
||||||
|
{ text: 'Visual Config', link: '/emacs/packages/visual-config' },
|
||||||
|
{ text: 'Misc', link: '/emacs/packages/misc' },
|
||||||
|
{ text: 'Keybindings', link: '/emacs/keybindings' },
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'/deprecated/': [
|
||||||
|
{ text: 'AwesomeWM', link: '/deprecated/awesome' },
|
||||||
|
{ text: 'Bootstrap Script', link: '/deprecated/bootstrap' },
|
||||||
|
{ text: 'EXWM', link: '/emacs/packages/exwm' },
|
||||||
|
{ text: 'i3', link: '/deprecated/i3' },
|
||||||
|
{ text: 'Nano', link: '/deprecated/nano' },
|
||||||
|
{ text: 'Neofetch', link: '/neofetch' },
|
||||||
|
{ text: 'Picom', link: '/picom' },
|
||||||
|
{ text: 'Polybar', link: '/deprecated/polybar' },
|
||||||
|
{
|
||||||
|
text: 'StumpWM', items: [
|
||||||
|
{ text: 'Index', link: '/stumpwm/' },
|
||||||
|
{ text: 'Basic Configuration', link: '/stumpwm/init' },
|
||||||
|
{ text: 'Colours', link: '/stumpwm/colours' },
|
||||||
|
{ text: 'Modeline', link: '/stumpwm/mode-line' },
|
||||||
|
{ text: 'Groups and Placement', link: '/stumpwm/groups' },
|
||||||
|
{ text: 'Theme', link: '/stumpwm/theme' },
|
||||||
|
{ text: 'Commands', link: '/stumpwm/commands' },
|
||||||
|
{ text: 'Keybinds', link: '/stumpwm/keybindings' },
|
||||||
|
{ text: 'Utilities', link: '/stumpwm/utilities' },
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
import { Theme } from "vitepress";
|
||||||
|
import DefaultTheme from "vitepress/theme";
|
||||||
|
import ImgFigure from "../components/ImgFigure.vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
extends: DefaultTheme,
|
||||||
|
enhanceApp({ app }) {
|
||||||
|
app.component('ImgFigure', ImgFigure);
|
||||||
|
}
|
||||||
|
} satisfies Theme;
|
||||||
@@ -3,11 +3,11 @@
|
|||||||
"devenv": {
|
"devenv": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "src/modules",
|
"dir": "src/modules",
|
||||||
"lastModified": 1777679510,
|
"lastModified": 1783538213,
|
||||||
"narHash": "sha256-uG8LPb1useAwa0cjO5sEkYhCSPjbWiCH3DyNxQLVSck=",
|
"narHash": "sha256-jNjKlmrejUrBgVAeiavlMLlkmC7ZEv1D9nhfuwMW5Q8=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "devenv",
|
"repo": "devenv",
|
||||||
"rev": "bc8b21628907c726c74094cedc439c10a455cdb7",
|
"rev": "d1fb321e73048d0e1e2b523580268ebb3df2ae90",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -22,11 +22,11 @@
|
|||||||
"nixpkgs-src": "nixpkgs-src"
|
"nixpkgs-src": "nixpkgs-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776852779,
|
"lastModified": 1783345554,
|
||||||
"narHash": "sha256-WwO/ITisCXwyiRgtktZgv3iGhAGO+IB5Av4kKCwezR0=",
|
"narHash": "sha256-LZhOm4kqjHUnwP4CNHpaqqEVcumGNd1PvOEOad8LkS0=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "devenv-nixpkgs",
|
"repo": "devenv-nixpkgs",
|
||||||
"rev": "ec3063523dcd911aeadb50faa589f237cdab5853",
|
"rev": "6004ea8c229fe9d41b21c6f4c76bf6c2e10771dd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -39,11 +39,11 @@
|
|||||||
"nixpkgs-src": {
|
"nixpkgs-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776329215,
|
"lastModified": 1783279667,
|
||||||
"narHash": "sha256-a8BYi3mzoJ/AcJP8UldOx8emoPRLeWqALZWu4ZvjPXw=",
|
"narHash": "sha256-/NAkDSsve+GNM0Bt6tleJdCGfsTlK89nPjkVOzZMo0s=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b86751bc4085f48661017fa226dee99fab6c651b",
|
"rev": "f205b5574fd0cb7da5b702a2da51507b7f4fdd1b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -1,9 +1,40 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
|
languages.javascript = {
|
||||||
{
|
enable = true;
|
||||||
languages.typescript.enable = true;
|
npm.enable = false;
|
||||||
packages = [ pkgs.nodejs_20 ];
|
pnpm.enable = true;
|
||||||
scripts.export.exec = ''
|
};
|
||||||
${pkgs.emacs}/bin/emacs -Q --script export.el
|
dotenv.enable = true;
|
||||||
|
processes.dev.exec = "pnpm dev";
|
||||||
|
cachix = {
|
||||||
|
push = "phundrak";
|
||||||
|
pull = [
|
||||||
|
"phundrak"
|
||||||
|
"devenv"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
tasks = {
|
||||||
|
"website:install-deps".exec = "pnpm ci";
|
||||||
|
"website:export-md" = {
|
||||||
|
exec = "${pkgs.emacs}/bin/emacs -Q --script export.el";
|
||||||
|
execIfModified = [ "docs/**/*.org" ];
|
||||||
|
};
|
||||||
|
"website:build" = {
|
||||||
|
exec = "pnpm build";
|
||||||
|
after = [
|
||||||
|
"website:export-md@succeeded"
|
||||||
|
"website:install-deps@succeeded"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"website:deploy" = {
|
||||||
|
exec = ''
|
||||||
|
if [[ -z "''${CLOUDFLARE_API_TOKEN:-}" ]]; then
|
||||||
|
echo "Error: CLOUDFLARE_API_TOKEN is not set. Run this in CI only."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
${pkgs.wrangler}/bin/wrangler pages deploy
|
||||||
'';
|
'';
|
||||||
|
after = [ "website:build@succeeded" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,14 @@ inputs:
|
|||||||
nixpkgs:
|
nixpkgs:
|
||||||
url: github:cachix/devenv-nixpkgs/rolling
|
url: github:cachix/devenv-nixpkgs/rolling
|
||||||
|
|
||||||
# If you're using non-OSS software, you can set allowUnfree to true.
|
# If you're using non-OSS software, you can set allow_unfree to true.
|
||||||
# allowUnfree: true
|
# allow_unfree: true
|
||||||
|
|
||||||
|
# If you're not willing to allow unsupported packages:
|
||||||
|
# allow_unsupported_system: false
|
||||||
|
|
||||||
# If you're willing to use a package that's vulnerable
|
# If you're willing to use a package that's vulnerable
|
||||||
# permittedInsecurePackages:
|
# permitted_insecure_packages:
|
||||||
# - "openssl-1.1.1w"
|
# - "openssl-1.1.1w"
|
||||||
|
|
||||||
# If you have more than one devenv you can merge them
|
# If you have more than one devenv you can merge them
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#+TITLE: i3
|
#+TITLE: i3
|
||||||
#+setupfile: ../headers
|
#+setupfile: ../headers
|
||||||
#+PROPERTY: header-args :noweb yes :exports code :tangle ~/.config/i3/config
|
#+PROPERTY: header-args :noweb yes :exports code :tangle no
|
||||||
#+PROPERTY: header-args:emacs-lisp :exports none :tangle no
|
#+PROPERTY: header-args:emacs-lisp :exports none :tangle no
|
||||||
|
|
||||||
* i3
|
* i3
|
||||||
@@ -17,14 +17,11 @@ It is to be noted I am using [[https://github.com/Airblader/i3][Airblader’s fo
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Screenshots
|
** Screenshots
|
||||||
#+CAPTION: Desktop with Neofetch in the terminal
|
#+html: <ImgFigure src="/img/neofetch.png.webp">Desktop with Neofetch in the terminal</ImgFigure>
|
||||||
[[./img/neofetch.png.webp]]
|
|
||||||
|
|
||||||
#+CAPTION: Desktop with Emacs opened
|
#+html: <ImgFigure src="/img/emacs.png.webp">Desktop with Emacs opened</ImgFigure>
|
||||||
[[./img/emacs.png.webp]]
|
|
||||||
|
|
||||||
#+CAPTION: Desktop with Rofi
|
#+html: <ImgFigure src="/img/rofi.png.webp">Desktop with Rofi</ImgFigure>
|
||||||
[[./img/rofi.png.webp]]
|
|
||||||
|
|
||||||
** Variables declaration
|
** Variables declaration
|
||||||
*** Global
|
*** Global
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
* Emacs Configuration
|
* Emacs Configuration
|
||||||
|
|
||||||
[[file:./img/emacs.svg]]
|
#+html: <ImgFigure src="/img/emacs.svg">Emacs Screenshot</ImgFigure>
|
||||||
|
|
||||||
** Introduction
|
** Introduction
|
||||||
After a couple of years using Spacemacs and a failed attempt at
|
After a couple of years using Spacemacs and a failed attempt at
|
||||||
@@ -29,9 +29,7 @@ general-purpose programming language. Therefore, if you want to do
|
|||||||
something in Emacs, with enough Elisp you can do it --- if it’s not in
|
something in Emacs, with enough Elisp you can do it --- if it’s not in
|
||||||
Emacs already, that is.
|
Emacs already, that is.
|
||||||
|
|
||||||
#+attr_html: :alt Dammit Emacs… :loading lazy
|
#+html: <ImgFigure src="/img/emacs.svg" alt="XKCD n°378: Real Programmers">Dammit Emacs…</ImgFigure>
|
||||||
#+caption: [[https://xkcd.com/378/][XKCD n°378]]: Real Programmers
|
|
||||||
[[file:./img/real_programmers.png]]
|
|
||||||
|
|
||||||
** A Warning Before You Proceed
|
** A Warning Before You Proceed
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ Undefining some stuff to make keybind prefixes work correctly.
|
|||||||
<<general-keybindings-gen(table=keybindings-refactor, prefix="r")>>
|
<<general-keybindings-gen(table=keybindings-refactor, prefix="r")>>
|
||||||
<<general-keybindings-gen(table=keybindings-toggle, prefix="t ")>>
|
<<general-keybindings-gen(table=keybindings-toggle, prefix="t ")>>
|
||||||
<<general-keybindings-gen(table=keybindings-text, prefix="T")>>
|
<<general-keybindings-gen(table=keybindings-text, prefix="T")>>
|
||||||
|
<<general-keybindings-gen(table=keybindings-vc, prefix="v")>>
|
||||||
<<general-keybindings-gen(table=keybindings-windows, prefix="w")>>
|
<<general-keybindings-gen(table=keybindings-windows, prefix="w")>>
|
||||||
<<general-keybindings-gen(table=keybindings-quit, prefix="q")>>)
|
<<general-keybindings-gen(table=keybindings-quit, prefix="q")>>)
|
||||||
#+end_src
|
#+end_src
|
||||||
@@ -499,6 +500,26 @@ My toggle keybindings are prefixed by ~t~.
|
|||||||
| is | set-input-method | |
|
| is | set-input-method | |
|
||||||
|
|
||||||
*** TODO Rewrite =my/modify-frame-alpha-background/body= :noexport:
|
*** TODO Rewrite =my/modify-frame-alpha-background/body= :noexport:
|
||||||
|
** VCS
|
||||||
|
Magit is awesome, but I rarely use it nowadays in favour of [[https://jj-vcs.github.io/][Jujutsu]].
|
||||||
|
And for that, I use =vc.el= in Emacs thanks to =vc-jj= (see [[file:./packages/applications.md#Jujutsu][my Jujutsu
|
||||||
|
config for Emacs]]). But this is only half the story, let me now set my
|
||||||
|
keybinds for =vc.el=. ethey are all prefixed by =v=.
|
||||||
|
|
||||||
|
#+name: keybindings-vc
|
||||||
|
| Key | Function | Description | Package |
|
||||||
|
|-----+-----------------------+-------------+---------|
|
||||||
|
| a | vc-annotate | | vc |
|
||||||
|
| r | vc-revset | | vc |
|
||||||
|
| | | VCS | |
|
||||||
|
| j | | jujutsu | |
|
||||||
|
| ja | vc-jj-abandon-change | abandon | vc-jj |
|
||||||
|
| jb | | bookmarks | |
|
||||||
|
| jbd | vc-jj-bookmark-delete | delete | vc-jj |
|
||||||
|
| jbr | vc-jj-bookmark-rename | rename | vc-jj |
|
||||||
|
| jbs | vc-jj-bookmark-set | set | vc-jj |
|
||||||
|
| je | vc-jj-edit-change | edit | vc-jj |
|
||||||
|
| jn | vc-jj-new-change | new | vc-jj |
|
||||||
|
|
||||||
** Windows
|
** Windows
|
||||||
A couple of keybindings are hidden from which-key, otherwise there’s not
|
A couple of keybindings are hidden from which-key, otherwise there’s not
|
||||||
|
|||||||
@@ -1530,9 +1530,10 @@ compatible with git repositories. In fact, I pretty much don’t use git
|
|||||||
anymore, jj (abbreviation of Jujutsu) has almost completely replaced
|
anymore, jj (abbreviation of Jujutsu) has almost completely replaced
|
||||||
git for me.
|
git for me.
|
||||||
|
|
||||||
I like Magit’s interface, as you can see in my [[file:./applications.md#magit][Magit]] config.
|
I like Magit’s interface, as you can see in my [[file:./applications.md#magit][Magit]] config. But
|
||||||
Therefore, let’s install =majjit=, my slow and scuffed attempt at
|
reimplementing it entirely probably won’t happen on my end (lack of
|
||||||
bringing some Magit features to jujutsu.
|
time, mainly), so I’ll leave that up to people more motivated than me.
|
||||||
|
In the meantime, I can reimplement some of its API with =majjit=.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package majjit
|
(use-package majjit
|
||||||
:defer t
|
:defer t
|
||||||
@@ -1544,6 +1545,22 @@ bringing some Magit features to jujutsu.
|
|||||||
:custom ((majjit-default-directory "~/code/")))
|
:custom ((majjit-default-directory "~/code/")))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Speaking of other projects others did better, I use =vc-jj=, which
|
||||||
|
brings basic jujutsu support to =project.el= and =vc.el=. And I’ll just
|
||||||
|
add my grain of salt to force =project.el= to recognize jujutsu
|
||||||
|
repositories as projects.
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package vc-jj
|
||||||
|
:straight (:build t)
|
||||||
|
:after '(project vc)
|
||||||
|
:config
|
||||||
|
(add-to-list 'project-vc-extra-root-markers ".jj")
|
||||||
|
:init
|
||||||
|
(require 'project)
|
||||||
|
(require 'vc)
|
||||||
|
(require 'vc-jj))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
Though, I’ll be honest, I generally prefer to use Jujutsu in the
|
Though, I’ll be honest, I generally prefer to use Jujutsu in the
|
||||||
terminal, unlike git. Something I do use Emacs for, however, is
|
terminal, unlike git. Something I do use Emacs for, however, is
|
||||||
writing my commit messages.
|
writing my commit messages.
|
||||||
@@ -1556,12 +1573,6 @@ writing my commit messages.
|
|||||||
:init (add-to-list 'auto-mode-alist '("\\.jjdescription\\'" . jjdescription-mode)))
|
:init (add-to-list 'auto-mode-alist '("\\.jjdescription\\'" . jjdescription-mode)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
And I want Emacs to know that any directory which has a =.jj= repository
|
|
||||||
is the root of a project.
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
;;(add-to-list 'project-vc-extra-root-markers ".jj")
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** Forge
|
*** Forge
|
||||||
Forge acts as an interface for GitHub, GitLab, and Bitbucket inside
|
Forge acts as an interface for GitHub, GitLab, and Bitbucket inside
|
||||||
Magit. A lot of possibilities are present, you can read issues and
|
Magit. A lot of possibilities are present, you can read issues and
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ compilation buffer, as well as enable some syntax highlighting.
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Eshell
|
** Eshell
|
||||||
[[file:../img/emacs-eshell.svg]]
|
#+html: <ImgFigure src="/img/emacs-eshell.svg">Eshell in Emacs</ImgFigure>
|
||||||
|
|
||||||
Eshell is a built-in shell available from Emacs which I use almost as
|
Eshell is a built-in shell available from Emacs which I use almost as
|
||||||
often as fish. Some adjustments are necessary to make it fit my taste
|
often as fish. Some adjustments are necessary to make it fit my taste
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#+title: Emacs — Packages — EXWM (Deprecated)
|
#+title: Emacs — Packages — EXWM (Deprecated)
|
||||||
#+setupfile: ../../headers
|
#+setupfile: ../../headers
|
||||||
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
#+property: header-args:emacs-lisp :mkdirp yes :lexical t :exports code
|
||||||
#+property: header-args:emacs-lisp+ :tangle ~/.config/emacs/lisp/exwm.el
|
#+property: header-args:emacs-lisp+ :tangle no
|
||||||
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
#+property: header-args:emacs-lisp+ :mkdirp yes :noweb no-export
|
||||||
|
|
||||||
* EXWM (Deprecated)
|
* EXWM (Deprecated)
|
||||||
@@ -47,7 +47,7 @@ easily.
|
|||||||
|
|
||||||
In order to launch Emacs with EXWM with ~startx~, I need a ~xinit~ file.
|
In order to launch Emacs with EXWM with ~startx~, I need a ~xinit~ file.
|
||||||
This one is exported to ~$HOME/.xinitrc.emacs~.
|
This one is exported to ~$HOME/.xinitrc.emacs~.
|
||||||
#+begin_src sh :tangle ~/.xinitrc.emacs :shebang "#!/bin/sh"
|
#+begin_src sh :tangle no :shebang "#!/bin/sh"
|
||||||
xhost +SI:localuser:$USER
|
xhost +SI:localuser:$USER
|
||||||
|
|
||||||
# Set fallback cursor
|
# Set fallback cursor
|
||||||
|
|||||||
@@ -455,6 +455,10 @@ Yes, I love org-mode and I largely prefer to use it instead of
|
|||||||
Markdown due to its far superior power and abilities. But still,
|
Markdown due to its far superior power and abilities. But still,
|
||||||
sometimes I need to use Markdown because not everyone uses org-mode,
|
sometimes I need to use Markdown because not everyone uses org-mode,
|
||||||
unfortunately.
|
unfortunately.
|
||||||
|
|
||||||
|
I prefer to use =pandoc= to =markdown= as my =markdown-command=, as it
|
||||||
|
better handles modern Markdown, including Github’s dialect, which
|
||||||
|
=markdown= has troubles with.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package markdown-mode
|
(use-package markdown-mode
|
||||||
:defer t
|
:defer t
|
||||||
@@ -465,6 +469,9 @@ unfortunately.
|
|||||||
("\\.mdx\\'" . markdown-mode))
|
("\\.mdx\\'" . markdown-mode))
|
||||||
:hook (markdown-mode . orgtbl-mode)
|
:hook (markdown-mode . orgtbl-mode)
|
||||||
:hook (markdown-mode . visual-line-mode)
|
:hook (markdown-mode . visual-line-mode)
|
||||||
|
:config
|
||||||
|
(setq markdown-fontify-code-blocks-natively t
|
||||||
|
markdown-command '("," "pandoc" "--from=markdown" "--to=html5"))
|
||||||
:general
|
:general
|
||||||
(phundrak/evil
|
(phundrak/evil
|
||||||
:keymaps 'markdown-mode-map
|
:keymaps 'markdown-mode-map
|
||||||
@@ -550,9 +557,7 @@ unfortunately.
|
|||||||
"xp" #'markdown-insert-pre
|
"xp" #'markdown-insert-pre
|
||||||
"xP" #'markdown-pre-region
|
"xP" #'markdown-pre-region
|
||||||
"xs" #'markdown-insert-strike-through
|
"xs" #'markdown-insert-strike-through
|
||||||
"xq" #'markdown-blockquote-region)
|
"xq" #'markdown-blockquote-region))
|
||||||
:config
|
|
||||||
(setq markdown-fontify-code-blocks-natively t))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Since most of my Markdown files are related to GitHub, I’d like to be
|
Since most of my Markdown files are related to GitHub, I’d like to be
|
||||||
@@ -704,6 +709,28 @@ When editing some scripts though, I need to use the built-in ~shell-mode~.
|
|||||||
:mode "/\\(Cargo.lock\\|\\.cargo/config\\)\\'")
|
:mode "/\\(Cargo.lock\\|\\.cargo/config\\)\\'")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
*** Typst
|
||||||
|
[[https://typst.app/][Typst]] is an attempt at making a simpler LaTeX alternative with a quite
|
||||||
|
simple language that still has some programming capabilities. In my
|
||||||
|
case, I use [[https://codeberg.org/meow_king/typst-ts-mode/][typst-ts-mode]] to get a major mode for Typst, relying on
|
||||||
|
[[https://github.com/uben0/tree-sitter-typst][uben0’s Typst treesitter module]].
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package typst-ts-mode
|
||||||
|
:defer t
|
||||||
|
:straight (:build t))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
I also wrote a package that extends =lsp-mode= to support [[https://github.com/Myriad-Dreamin/tinymist][tinymist]] as an
|
||||||
|
LSP server for Typst.
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package lsp-typst
|
||||||
|
:after lsp-mode
|
||||||
|
:mode "\\.typ\\'"
|
||||||
|
:hook (typst-ts-mode . lsp-deferred)
|
||||||
|
:straight (:build t :type git :repo "labs.phundrak.com/phundrak/lsp-typst"))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
*** Yaml
|
*** Yaml
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package yaml-mode
|
(use-package yaml-mode
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#+title: Git
|
#+title: Git
|
||||||
#+setupfile: headers
|
#+setupfile: headers
|
||||||
#+PROPERTY: header-args :exports code :tangle no
|
#+PROPERTY: header-args :exports code :tangle no
|
||||||
#+PROPERTY: header-args:conf-unix :mkdirp yes :tangle ~/.config/git/config :exports code :noweb yes
|
#+PROPERTY: header-args:conf-unix :mkdirp yes :tangle no :exports code :noweb yes
|
||||||
|
|
||||||
* Git
|
* Git
|
||||||
** Basic configuration
|
** Basic configuration
|
||||||
@@ -46,24 +46,23 @@ This is entirely a matter of personal preferences, but I like to use
|
|||||||
|
|
||||||
*** Better Diffing
|
*** Better Diffing
|
||||||
Git’s diffing algorithm evolved and improved over time, but its
|
Git’s diffing algorithm evolved and improved over time, but its
|
||||||
default algorithm did not. Take this example, from [[https://blog.gitbutler.com/how-git-core-devs-configure-git/][this Gitbutler
|
default algorithm did not. Take this example, from [[https://blog.gitbutler.com/how-git-core-devs-configure-git/][this Gitbutler article]]:
|
||||||
article]]:
|
|
||||||
|
|
||||||
[[file:./img/git/diff-default.png]]
|
#+html: <ImgFigure src="/img/git/diff-default.png">Default git diff output</ImgFigure>
|
||||||
|
|
||||||
Not really readable, I think you’ll agree. I mean, you can sort of see
|
Not really readable, I think you’ll agree. I mean, you can sort of see
|
||||||
what happens, but really, we just moved the =h2= styling below the
|
what happens, but really, we just moved the =h2= styling below the
|
||||||
=.event= styling. Git seems to think otherwise. However, let’s turn on
|
=.event= styling. Git seems to think otherwise. However, let’s turn on
|
||||||
the =histogram= algorithm on:
|
the =histogram= algorithm on:
|
||||||
|
|
||||||
[[file:./img/git/diff-histogram.png]]
|
#+html: <ImgFigure src="/img/git/diff-histogram.png">git diff output with histogram algorithm</ImgFigure>
|
||||||
|
|
||||||
Immediately, we have a much clearer picture of what happened! But I’ll
|
Immediately, we have a much clearer picture of what happened! But I’ll
|
||||||
let you on another secret: you can make it even clearer by using the
|
let you on another secret: you can make it even clearer by using the
|
||||||
=colorMoved= option to color differently lines that were moved from
|
=colorMoved= option to color differently lines that were moved from
|
||||||
lines that were actually modified!
|
lines that were actually modified!
|
||||||
|
|
||||||
[[file:./img/git/diff-moved.png]]
|
#+html: <ImgFigure src="/img/git/diff-moved.png">git diff output with histogram algorithm and specific colours for moved blocks</ImgFigure>
|
||||||
|
|
||||||
I’ll also add a configuration to make it easier to see what is being
|
I’ll also add a configuration to make it easier to see what is being
|
||||||
compared using =mnemonicPrefix=. As per =man git-config=:
|
compared using =mnemonicPrefix=. As per =man git-config=:
|
||||||
@@ -127,11 +126,11 @@ show you the conflicting incoming and HEAD changes, but it will also
|
|||||||
show you what the code was before either modified the conflicting
|
show you what the code was before either modified the conflicting
|
||||||
area. Not a must-have feature, but a nice one to have. Compare this:
|
area. Not a must-have feature, but a nice one to have. Compare this:
|
||||||
|
|
||||||
[[file:./img/git/merge-default.png]]
|
#+html: <ImgFigure src="/img/git/merge-default.png">Default appearance of a git conflict during a merge</ImgFigure>
|
||||||
|
|
||||||
To this:
|
To this:
|
||||||
|
|
||||||
[[file:./img/git/merge-zdiff3.png]]
|
#+html: <ImgFigure src="/img/git/merge-zdiff3.png">Same git conflict but with zdiff3</ImgFigure>
|
||||||
|
|
||||||
We have a new line beginning with =|||||||= with the original line
|
We have a new line beginning with =|||||||= with the original line
|
||||||
below. Also, it’s nice to see Emacs supports this syntax out of the
|
below. Also, it’s nice to see Emacs supports this syntax out of the
|
||||||
|
|||||||
@@ -6,6 +6,13 @@ Hi, I’m P’undrak (pronounced /PUN-drak/, or more exactly {{{phon(pʰynɖak̚
|
|||||||
also known as Lucien Cartier-Tilet. If you want to know more about me,
|
also known as Lucien Cartier-Tilet. If you want to know more about me,
|
||||||
you can head to my [[https://phundrak.com/en][main website]].
|
you can head to my [[https://phundrak.com/en][main website]].
|
||||||
|
|
||||||
|
#+html: ::: warning
|
||||||
|
This website is currently not maintained, aside from the Emacs part of
|
||||||
|
it. If you want to see my current Linux configuration, head over to my
|
||||||
|
[[https://labs.phundrak.com/phundrak/nix-config][NixOS configuration]]. This website will be, at some point, rewritten to
|
||||||
|
reflect it.
|
||||||
|
#+html: :::
|
||||||
|
|
||||||
This website is my collection of dotfiles for my daily GNU/Linux
|
This website is my collection of dotfiles for my daily GNU/Linux
|
||||||
environment, tweaked to my liking. The sidebar will act as an index of
|
environment, tweaked to my liking. The sidebar will act as an index of
|
||||||
the various tools I use and their configuration.
|
the various tools I use and their configuration.
|
||||||
|
Before Width: | Height: | Size: 323 KiB After Width: | Height: | Size: 323 KiB |
|
Before Width: | Height: | Size: 592 KiB After Width: | Height: | Size: 592 KiB |
|
Before Width: | Height: | Size: 4.3 MiB After Width: | Height: | Size: 4.3 MiB |
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 415 KiB After Width: | Height: | Size: 415 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 395 KiB After Width: | Height: | Size: 395 KiB |
@@ -2,7 +2,7 @@
|
|||||||
#+setupfile: ../headers
|
#+setupfile: ../headers
|
||||||
#+property: header-args:emacs-lisp :tangle no :exports results :cache yes :noweb yes
|
#+property: header-args:emacs-lisp :tangle no :exports results :cache yes :noweb yes
|
||||||
|
|
||||||
[[file:../img/stumpwm.png]]
|
#+html: <ImgFigure src="/img/stumpwm.png">StumpWM Screenshot</ImgFigure>
|
||||||
|
|
||||||
* StumpWM (deprecated)
|
* StumpWM (deprecated)
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +1,17 @@
|
|||||||
{
|
{
|
||||||
"name": "config.phundrak.com",
|
"name": "config.phundrak.com",
|
||||||
"version": "1.0.0",
|
"version": "2.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"repository": {
|
"repository": "https://labs.phundrak.com/phundrak/config.phundrak.com",
|
||||||
"type": "git",
|
|
||||||
"url": "https://labs.phundrak.com/phundrak/conlang.phundrak.com"
|
|
||||||
},
|
|
||||||
"author": "Lucien Cartier-Tilet <lucien@phundrak.com>",
|
"author": "Lucien Cartier-Tilet <lucien@phundrak.com>",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vuepress/bundler-vite": "2.0.0-rc.26",
|
"vitepress": "^2.0.0-alpha.18"
|
||||||
"@vuepress/plugin-slimsearch": "^2.0.0-rc.118",
|
|
||||||
"@vuepress/plugin-umami-analytics": "2.0.0-rc.118",
|
|
||||||
"@vuepress/theme-default": "2.0.0-rc.118",
|
|
||||||
"baseline-browser-mapping": "^2.10.0",
|
|
||||||
"sass-embedded": "^1.97.3",
|
|
||||||
"vuepress": "2.0.0-rc.26"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"less": "^4.4.2",
|
|
||||||
"nord": "^0.2.1"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vuepress dev docs",
|
"dev": "vitepress dev",
|
||||||
"build": "vuepress build docs"
|
"build": "vitepress build"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
allowBuilds:
|
||||||
|
'@parcel/watcher': true
|
||||||
|
esbuild: true
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
// -*- mode: json-ts; -*-
|
||||||
|
{
|
||||||
|
"$schema": "node_modules/wrangler/config-schema.json",
|
||||||
|
"name": "config-phundrak-com",
|
||||||
|
"pages_build_output_dir": ".vitepress/dist/",
|
||||||
|
"compatibility_date": "2026-07-11"
|
||||||
|
}
|
||||||