Added blur-my-shell config & improved script
This commit is contained in:
parent
908a510c31
commit
e64c2e6834
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo Exporting GNOME configuration...
|
||||
|
||||
# Get current directory
|
||||
wd=$(dirname -- $(dirname -- $( readlink -f -- $0; ); );)
|
||||
|
||||
dconf dump /org/gnome/shell/extensions/dash-to-panel/ > $wd/gnome/extensions/dash-to-panel.dconf
|
||||
dconf dump /org/gnome/shell/extensions/cpupower/ > $wd/gnome/extensions/cpupower.dconf
|
||||
|
|
@ -24,6 +24,19 @@ def get_files(folder: Path, files: list[str]) -> set[Path]:
|
|||
result.add(folder / file)
|
||||
return result
|
||||
|
||||
def is_enabled(config: dict, key: str) -> bool:
|
||||
if "disabled" in config:
|
||||
if config["disabled"] and key in config["disabled"]:
|
||||
return False
|
||||
key_parts = key.split(".")
|
||||
parent = config
|
||||
for part in key_parts:
|
||||
if part in parent:
|
||||
parent = parent[part]
|
||||
else:
|
||||
return False
|
||||
return True
|
||||
|
||||
# Setup dotfiles
|
||||
|
||||
def set_dotfiles(folder: str, config: dict):
|
||||
|
@ -40,40 +53,52 @@ def set_dotfiles(folder: str, config: dict):
|
|||
# Install GNOME extensions
|
||||
|
||||
def install_gnome_extension(ext):
|
||||
p = subprocess.Popen(f"{cwd / '_scripts' / 'gnome-install-extension.sh'} {ext}", shell=True)
|
||||
#p = subprocess.Popen(f"{cwd / '_scripts' / 'gnome-install-extension.sh'} {ext}", shell=True)
|
||||
p = subprocess.Popen(f"busctl --user call org.gnome.Shell.Extensions /org/gnome/Shell/Extensions org.gnome.Shell.Extensions InstallRemoteExtension s {ext}", shell=True)
|
||||
p.wait()
|
||||
|
||||
# Import GNOME settings
|
||||
# Import / Export GNOME settings
|
||||
|
||||
def import_gnome_config(file: str, path: str):
|
||||
def configure_gnome(file: str, path: str, export: bool = False):
|
||||
dconf = cwd / "gnome" / (file+".dconf");
|
||||
p = subprocess.Popen(f"dconf load {path} < {dconf}", shell=True)
|
||||
p = subprocess.Popen(f"dconf {'dump' if export else 'load'} {path} {'>' if export else '<'} {dconf}", shell=True)
|
||||
p.wait()
|
||||
|
||||
# Main part
|
||||
|
||||
def main():
|
||||
|
||||
config_file = cwd / "config.yml"
|
||||
if not config_file.exists():
|
||||
return
|
||||
config = yaml.safe_load(config_file.read_text())
|
||||
if not config:
|
||||
return
|
||||
if "dotfiles" in config:
|
||||
|
||||
if is_enabled(config, "dotfiles"):
|
||||
print("Installing dotfiles...")
|
||||
for folder in config["dotfiles"]:
|
||||
print(f" - {folder}")
|
||||
set_dotfiles(folder, config["dotfiles"][folder])
|
||||
if "gnome" in config:
|
||||
if "extensions" in config["gnome"]:
|
||||
|
||||
if is_enabled(config, "gnome"):
|
||||
|
||||
if is_enabled(config, "gnome.extensions"):
|
||||
print("Installing GNOME extensions...")
|
||||
for ext in config["gnome"]["extensions"]:
|
||||
print(f" - {ext}")
|
||||
install_gnome_extension(ext)
|
||||
if "import" in config["gnome"]:
|
||||
|
||||
if is_enabled(config, "gnome.import"):
|
||||
print("Importing GNOME settings...")
|
||||
for file in config["gnome"]["import"]:
|
||||
print(f" - {file}")
|
||||
import_gnome_config(file, config["gnome"]["import"][file])
|
||||
configure_gnome(file, config["gnome"]["import"][file])
|
||||
|
||||
main()
|
||||
if is_enabled(config, "gnome.export"):
|
||||
print("Exporting GNOME settings...")
|
||||
for file in config["gnome"]["export"]:
|
||||
print(f" - {file}")
|
||||
configure_gnome(file, config["gnome"]["export"][file], True)
|
||||
|
||||
main()
|
|
@ -20,4 +20,10 @@ gnome:
|
|||
- hibernate-status@dromi
|
||||
import:
|
||||
extensions/cpupower: /org/gnome/shell/extensions/cpupower/
|
||||
extensions/dash-to-panel: /org/gnome/shell/extensions/dash-to-panel/
|
||||
extensions/dash-to-panel: /org/gnome/shell/extensions/dash-to-panel/
|
||||
extensions/blur-my-shell: /org/gnome/shell/extensions/blur-my-shell/
|
||||
|
||||
# disabled:
|
||||
# - gnome
|
||||
# - gnome.import
|
||||
# - dotfiles
|
2
gnome/extensions/blur-my-shell.dconf
Normal file
2
gnome/extensions/blur-my-shell.dconf
Normal file
|
@ -0,0 +1,2 @@
|
|||
[panel]
|
||||
blur=false
|
Loading…
Reference in a new issue