Skip to content

Instantly share code, notes, and snippets.

@piousdeer
piousdeer / gnome-44-load-new-extensions.js
Last active July 12, 2023 23:37
Load newly installed GNOME extensions without restarting GNOME: run this script in Looking Glass (Alt+F2 and type 'lg')
const ExtensionUtils = imports.misc.extensionUtils;
const FileUtils = imports.misc.fileUtils;
const { ExtensionType } = ExtensionUtils;
(async function () {
let perUserDir = Gio.File.new_for_path(global.userdatadir);
const extensionFiles = [...FileUtils.collectFromDatadirs('extensions', true)];
const extensionObjects = extensionFiles.map(({dir, info}) => {
@piousdeer
piousdeer / example.nix
Last active June 11, 2024 12:31
Create mutable files with home-manager and Nix
{
home.file."test-file" = {
text = "Hello world";
force = true;
mutable = true;
};
}
#!/usr/bin/env node
import esbuild from "esbuild";
import fs from "fs/promises";
import { resolve as resolvePath } from "path";
const [root] = process.argv.slice(2);
console.log(JSON.stringify(await getGnomeExtensionGiDependencies(root)));
async function getGnomeExtensionGiDependencies(root) {
const entryPoints = [resolvePath(root, "extension.js")];