 
 (use-package modus-operandi-theme)
 ;;(load-theme 'modus-operandi t)          ; Light theme
-(load-theme 'modus-vivendi t) 
+;;(load-theme 'modus-vivendi t)
+
+(use-package heaven-and-hell
+  :ensure t
+  :init
+  (setq heaven-and-hell-theme-type 'dark) ;; Omit to use light by default
+  (setq heaven-and-hell-themes
+	'((light . modus-operandi)
+	  (dark . modus-vivendi))) ;; Themes can be the list: (dark . (tsdh-dark wombat))
+  (setq heaven-and-hell-load-theme-no-confirm t)
+  :hook (after-init . heaven-and-hell-init-hook)
+  :bind (("C-c <f6>" . heaven-and-hell-load-default-theme)
+	 ("<f6>" . heaven-and-hell-toggle-theme)))
+
+(require 'dbus)
+
+(defun auto-display-battery-toggle-display-battery (_string values _)
+  "Toggle function `display-battery-mode' depending if line power is online.
+VALUES is an alist from the \"line_power_AC\" signal."
+  (if (caadr (assoc-string "Online" values))
+      (display-battery-mode -1)
+    (display-battery-mode)))
+
+;;;###autoload
+(define-minor-mode auto-display-battery-mode
+  "Automatically show hide battery status of your Laptop."
+  :global t
+  (if (not auto-display-battery-mode)
+      (dbus-unregister-service :system
+        "org.freedesktop.UPower")
+
+    (dbus-register-signal :system
+      "org.freedesktop.UPower"
+      "/org/freedesktop/UPower/devices/line_power_AC"
+      "org.freedesktop.DBus.Properties"
+      "PropertiesChanged"
+      #'auto-display-battery-toggle-display-battery)
+
+    (when (car (dbus-call-method :system
+                 "org.freedesktop.UPower"
+                 "/org/freedesktop/UPower/devices/line_power_AC"
+                 "org.freedesktop.DBus.Properties"
+                 "Get" "org.freedesktop.UPower.Device" "Online"))
+      (display-battery-mode))))
+(custom-set-variables
+ ;; custom-set-variables was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ '(custom-enabled-themes (quote (modus-operandi)))
+ '(gofmt-command "goimports")
+ '(package-selected-packages
+   (quote
+    (vterm yasnippet-snippets which-key wgrep-ag use-package-ensure-system-package unfill terraform-mode ssh-config-mode smex smartparens racer python-mode protobuf-mode projectile pinentry pass org-bullets notmuch nix-mode multi-term modus-vivendi-theme modus-operandi-theme magit-gh-pulls k8s-mode jinja2-mode helm-pass helm-ls-git helm-company helm-ag heaven-and-hell guide-key gotham-theme gotest godoctor go-tag go-eldoc go-dlv go-add-tags git-timemachine git-gutter-fringe gist flx exec-path-from-shell eshell-bookmark dumb-jump dracula-theme dockerfile-mode docker-tramp direnv deadgrep company-go cmake-mode cargo browse-at-remote auto-compile atomic-chrome almost-mono-themes ag adoc-mode))))
+(custom-set-faces
+ ;; custom-set-faces was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ )

    ;;    (set-default 'tramp-default-proxies-alist (quote ((".*" "\\`root\\'" "/ssh:%h:"))))
    ;; I added the ".*" for NixOS
    (setq tramp-shell-prompt-pattern
         "\\(?:^\\|\r\\)[^]#$%>\n]*#?[]#$%>].* *\\(\e\\[[0-9;]*[a-zA-Z] *\\)*")
    (add-to-list 'tramp-connection-properties
		 (list ".*" "locale" "LC_ALL=C"))
    (setq tramp-ssh-controlmaster-options

(use-package projectile
  :ensure t
  :bind (:map projectile-mode-map
	      ("C-c p" . 'projectile-command-map))
  :config
  (projectile-mode +1))

;; (use-package lsp-mode
