Added Powershell & git configuration
This commit is contained in:
commit
f53e8244ca
8 changed files with 105 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
__pycache__
|
3
config.toml
Normal file
3
config.toml
Normal file
|
@ -0,0 +1,3 @@
|
|||
[PowerShell]
|
||||
in="src/PowerShell/profile.ps1"
|
||||
out="~/Documents/WindowsPowerShell"
|
7
config.windows.toml
Normal file
7
config.windows.toml
Normal file
|
@ -0,0 +1,7 @@
|
|||
[PowerShell]
|
||||
in="src/PowerShell/profile.ps1"
|
||||
out="~/Documents/WindowsPowerShell"
|
||||
|
||||
[Git]
|
||||
in="src/git/gitconfig"
|
||||
out="~/.gitconfig"
|
8
config/__init__.py
Normal file
8
config/__init__.py
Normal file
|
@ -0,0 +1,8 @@
|
|||
import pathlib
|
||||
|
||||
def get_io(conf):
|
||||
_in = pathlib.Path(conf.get("in")).expanduser()
|
||||
_out = pathlib.Path(conf.get("out")).expanduser()
|
||||
if _out.is_dir():
|
||||
_out = _out.joinpath(_in.name)
|
||||
return _in, _out
|
43
config/__main__.py
Normal file
43
config/__main__.py
Normal file
|
@ -0,0 +1,43 @@
|
|||
import argparse
|
||||
import logging
|
||||
import logging.config
|
||||
import pathlib
|
||||
import shutil
|
||||
import sys
|
||||
import tomllib
|
||||
|
||||
|
||||
from . import get_io
|
||||
|
||||
|
||||
logging.config.fileConfig(pathlib.Path(__file__).parent.joinpath("log.conf"))
|
||||
log = logging.getLogger("config")
|
||||
|
||||
_argp = argparse.ArgumentParser(
|
||||
prog="Config",
|
||||
description="Install custom configurations",
|
||||
)
|
||||
|
||||
_argp.add_argument("-c", "--config", default="config.toml", type=pathlib.Path, help="Configuration file location")
|
||||
|
||||
args = _argp.parse_args()
|
||||
|
||||
log.info("Config installation starting")
|
||||
|
||||
log.info(f"Loading configuration file <{args.config}>")
|
||||
try:
|
||||
with open(args.config, "rb") as _config_file:
|
||||
config = tomllib.load(_config_file)
|
||||
except FileNotFoundError:
|
||||
log.error(f"Configuration file <{args.config}> does not exist.")
|
||||
sys.exit(1)
|
||||
|
||||
if (_ps := config.get("PowerShell", None)):
|
||||
_in, _out = get_io(_ps)
|
||||
log.info(f"Copying PowerShell configuration from <{_in}> to <{_out}>")
|
||||
shutil.copyfile(_in, _out)
|
||||
|
||||
if (_git := config.get("Git", None)):
|
||||
_in, _out = get_io(_git)
|
||||
log.info(f"Copying Git configuration from <{_in}> to <{_out}>")
|
||||
shutil.copyfile(_in, _out)
|
27
config/log.conf
Normal file
27
config/log.conf
Normal file
|
@ -0,0 +1,27 @@
|
|||
[loggers]
|
||||
keys=root,config
|
||||
|
||||
[handlers]
|
||||
keys=consoleHandler
|
||||
|
||||
[formatters]
|
||||
keys=simpleFormatter
|
||||
|
||||
[logger_root]
|
||||
level=INFO
|
||||
handlers=consoleHandler
|
||||
|
||||
[logger_config]
|
||||
level=INFO
|
||||
handlers=consoleHandler
|
||||
qualName=config
|
||||
propagate=0
|
||||
|
||||
[handler_consoleHandler]
|
||||
class=StreamHandler
|
||||
level=INFO
|
||||
formatter=simpleFormatter
|
||||
args=(sys.stdout,)
|
||||
|
||||
[formatter_simpleFormatter]
|
||||
format=%(asctime)s - %(name)s#%(levelname)s %(message)s
|
8
src/Git/gitconfig
Normal file
8
src/Git/gitconfig
Normal file
|
@ -0,0 +1,8 @@
|
|||
[user]
|
||||
name = Edgar P. Burkhart
|
||||
email = git@edgarpierre.fr
|
||||
signingkey = 9833D3C5A25BD227
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[tag]
|
||||
gpgsign = true
|
8
src/PowerShell/profile.ps1
Normal file
8
src/PowerShell/profile.ps1
Normal file
|
@ -0,0 +1,8 @@
|
|||
if ($host.Name -eq 'ConsoleHost')
|
||||
{
|
||||
Import-Module PSReadLine
|
||||
Set-PSReadlineOption -EditMode Emacs
|
||||
function Wake-Orchomenos {
|
||||
ssh leopold.burkhart.ovh wakeonlan 70:85:C2:8C:BA:BB
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue