Skip to content

Instantly share code, notes, and snippets.

@piousdeer
piousdeer / gnome-47-load-new-extensions.js
Last active December 10, 2024 00:19
Load newly installed GNOME extensions without restarting GNOME: run this script in Looking Glass (Alt+F2 and type 'lg')
const ExtensionUtils = await import('resource:///org/gnome/shell/misc/extensionUtils.js');
const FileUtils = await import('resource:///org/gnome/shell/misc/fileUtils.js');
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 March 29, 2025 23:02
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")];