Merged config files & improved script

This commit is contained in:
Filip Znachor 2022-11-23 18:32:42 +01:00
parent a10a8aa4ca
commit 908a510c31
4 changed files with 49 additions and 38 deletions

View file

@ -50,25 +50,30 @@ def import_gnome_config(file: str, path: str):
p = subprocess.Popen(f"dconf load {path} < {dconf}", shell=True)
p.wait()
dotfiles = cwd / "dotfiles.yml"
if dotfiles.exists():
config = yaml.safe_load(dotfiles.read_text())
if config:
print("Installing dotfiles...")
for folder in config:
print(f" - {folder}")
set_dotfiles(folder, config[folder])
# Main part
gnome = cwd / "gnome.yml"
if gnome.exists():
config = yaml.safe_load(gnome.read_text())
if "extensions" in config:
print("Installing GNOME extensions...")
for ext in config["extensions"]:
print(f" - {ext}")
install_gnome_extension(ext)
if "import" in config:
print("Importing GNOME settings...")
for file in config["import"]:
print(f" - {file}")
import_gnome_config(file, config["import"][file])
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:
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"]:
print("Installing GNOME extensions...")
for ext in config["gnome"]["extensions"]:
print(f" - {ext}")
install_gnome_extension(ext)
if "import" in config["gnome"]:
print("Importing GNOME settings...")
for file in config["gnome"]["import"]:
print(f" - {file}")
import_gnome_config(file, config["gnome"]["import"][file])
main()

23
config.yml Normal file
View file

@ -0,0 +1,23 @@
dotfiles:
bash:
$home:
- .bashrc
- .bash_logout
- .profile
etc:
$home:
- .selected_editor
git:
$home:
- .gitconfig
gnome:
extensions:
- cpupower@mko-sl.de
- dash-to-panel@jderose9.github.com
- gnome-clipboard@b00f.github.io
- blur-my-shell@aunetx
- hibernate-status@dromi
import:
extensions/cpupower: /org/gnome/shell/extensions/cpupower/
extensions/dash-to-panel: /org/gnome/shell/extensions/dash-to-panel/

View file

@ -1,11 +0,0 @@
bash:
$home:
- .bashrc
- .bash_logout
- .profile
etc:
$home:
- "*"
git:
$home:
- .gitconfig

View file

@ -1,6 +0,0 @@
extensions:
- cpupower@mko-sl.de
- dash-to-panel@jderose9.github.com
import:
extensions/cpupower: /org/gnome/shell/extensions/cpupower/
extensions/dash-to-panel: /org/gnome/shell/extensions/dash-to-panel/