aboutsummaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2016-07-12 13:30:28 +0200
committerFlorian Fischer <florian.fl.fischer@fau.de>2016-07-12 13:30:28 +0200
commit91122796da682356cb7fe1a6a3f4cc30982211f1 (patch)
tree779a9a76fc3b64f1718ab1ca87d2413b96a644f5 /setup.py
parent6b11621de8006bd2e85aa4bbefca374c08f07087 (diff)
downloaddotfiles-91122796da682356cb7fe1a6a3f4cc30982211f1.tar.gz
dotfiles-91122796da682356cb7fe1a6a3f4cc30982211f1.zip
add offlineimap config
also fix up some issues with setup.py and the decryption routine
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py40
1 files changed, 29 insertions, 11 deletions
diff --git a/setup.py b/setup.py
index 6f8ef51..0b5d32f 100755
--- a/setup.py
+++ b/setup.py
@@ -67,7 +67,13 @@ targets = {
fish_config,
("fau_stud.conf.gpg", "/etc/wpa_supplicant/fau_stud.conf")],
"terminator-config":
- [("config/terminator/config", home_dir + "/.config/terminator/config")]
+ [("config/terminator/config", home_dir +
+ "/.config/terminator/config")],
+ "offlineimap":
+ [("offlineimap/offlineimaprc", home_dir + "/.offlineimaprc"),
+ ("offlineimap/FAU.IMAP.PASS.gpg", ""),
+ ("offlineimap/offlineimap@.service",
+ "/etc/systemd/system/offlineimap@.service")]
}
git_submodules_for = ["vim.d"]
@@ -80,15 +86,23 @@ def install_target(target, quiet):
for instruction in targets[target]:
if isinstance(instruction, tuple):
- if not quiet:
- print("Installing", instruction[0], "to", instruction[1])
- if os.path.exists(instruction[0]):
+ if not os.path.exists(instruction[0]):
+ print("Can't find", instruction[0] +
+ ". Please make sure you are in the right directory.", file=sys.stderr)
+ else:
# check if file is encrypted
if instruction[0][-4:] == ".gpg":
- if subprocess.run(["gpg", "--output", "decrypted/" +
- instruction[0][:-4], "-d", instruction[0]]):
- instruction = ("decrypted/" + instruction[0][:-4],
- instruction[1])
+ start_filename = instruction[0].rfind("/") + 1
+ if subprocess.run([
+ "gpg",
+ "--output",
+ "decrypted/" + instruction[0][start_filename:-4],
+ "-d",
+ instruction[0]]):
+ # adjust instruction[0]
+ instruction = (
+ "decrypted/" + instruction[0][start_filename:-4],
+ instruction[1])
# set privacy friendly file permissions
if not subprocess.run(["chmod", "660", instruction[0]]):
@@ -99,6 +113,12 @@ def install_target(target, quiet):
print("Decrypting failed", file=sys.stderr)
continue
+ # only continue linking/installing if instruction[1] is not ""
+ if instruction[1] == "":
+ continue
+
+ if not quiet:
+ print("Installing", instruction[0], "to", instruction[1])
try:
os.symlink(cwd + "/" + instruction[0], instruction[1])
except Exception as e:
@@ -109,9 +129,7 @@ def install_target(target, quiet):
print("File already exists")
else:
print(e, file=sys.stderr)
- else:
- print("Can't find", instruction[0] +
- ". Please make sure you are in the right directory.", file=sys.stderr)
+
elif callable(instruction):
if not quiet:
print("Running function", instruction)