diff --git a/dotfiles/config/systemd/user/alarm-clock.service b/dotfiles/config/systemd/user/alarm-clock.service index b4024f67..d7868bd6 100644 --- a/dotfiles/config/systemd/user/alarm-clock.service +++ b/dotfiles/config/systemd/user/alarm-clock.service @@ -6,7 +6,7 @@ After=status-notifier-watcher.service [Service] Type=simple ExecStart=/usr/bin/env alarm-clock-applet -ExecStop=/usr/bin/pkill alarm-clock-applet +ExecStop=/usr/bin/env pkill alarm-clock-applet [Install] WantedBy=wm.target diff --git a/dotfiles/config/systemd/user/chromix-too.service b/dotfiles/config/systemd/user/chromix-too.service index b4f734bd..a38380b7 100644 --- a/dotfiles/config/systemd/user/chromix-too.service +++ b/dotfiles/config/systemd/user/chromix-too.service @@ -6,7 +6,7 @@ After=taffybar.service [Service] Type=simple ExecStart=/usr/bin/env chromix-too-server -ExecStop=/usr/bin/pkill chromix-too +ExecStop=/usr/bin/env pkill chromix-too [Install] WantedBy=wm.target diff --git a/dotfiles/config/systemd/user/github-notifications.service b/dotfiles/config/systemd/user/github-notifications.service index 3f26ee3a..bbf3da89 100644 --- a/dotfiles/config/systemd/user/github-notifications.service +++ b/dotfiles/config/systemd/user/github-notifications.service @@ -6,7 +6,7 @@ After=taffybar.service [Service] Type=simple ExecStart=/usr/bin/env notifications-tray-icon --github-token-pass github-token -ExecStop=/usr/bin/pkill 'notifications-tray-icon --github-token-pass github-token' +ExecStop=/usr/bin/env pkill 'notifications-tray-icon --github-token-pass github-token' [Install] WantedBy=wm.target diff --git a/dotfiles/config/systemd/user/kdeconnect.service b/dotfiles/config/systemd/user/kdeconnect.service index 952e1228..4f84894e 100644 --- a/dotfiles/config/systemd/user/kdeconnect.service +++ b/dotfiles/config/systemd/user/kdeconnect.service @@ -6,7 +6,7 @@ After=taffybar.service [Service] Type=simple ExecStart=/usr/bin/env kdeconnect-indicator -ExecStop=/usr/bin/pkill kdeconnect-indicator +ExecStop=/usr/bin/env pkill kdeconnect-indicator [Install] WantedBy=wm.target diff --git a/dotfiles/config/systemd/user/mopidy.service b/dotfiles/config/systemd/user/mopidy.service index 90889c17..fddfda4d 100644 --- a/dotfiles/config/systemd/user/mopidy.service +++ b/dotfiles/config/systemd/user/mopidy.service @@ -4,7 +4,7 @@ Description=mopidy [Service] Type=simple ExecStart=/usr/bin/env mopidy -ExecStop=/usr/bin/pkill mopidy +ExecStop=/usr/bin/env pkill mopidy [Install] WantedBy=wm.target diff --git a/dotfiles/config/systemd/user/skippy-xd.service b/dotfiles/config/systemd/user/skippy-xd.service index 756216ca..0c7c6cb5 100644 --- a/dotfiles/config/systemd/user/skippy-xd.service +++ b/dotfiles/config/systemd/user/skippy-xd.service @@ -6,7 +6,7 @@ After=taffybar.service [Service] Type=simple ExecStart=/usr/bin/env skippy-xd --start-daemon -ExecStop=/usr/bin/pkill skippy-xd +ExecStop=/usr/bin/env pkill skippy-xd [Install] WantedBy=wm.target diff --git a/dotfiles/config/systemd/user/status-notifier-watcher.service b/dotfiles/config/systemd/user/status-notifier-watcher.service index 82f55017..7a6d6d8f 100644 --- a/dotfiles/config/systemd/user/status-notifier-watcher.service +++ b/dotfiles/config/systemd/user/status-notifier-watcher.service @@ -4,7 +4,7 @@ Description=status-notifier-watcher [Service] Type=simple ExecStart=/usr/bin/env status-notifier-watcher -ExecStop=/usr/bin/pkill status-notifier-watcher +ExecStop=/usr/bin/env pkill status-notifier-watcher [Install] WantedBy=wm.target diff --git a/dotfiles/config/systemd/user/volnoti.service b/dotfiles/config/systemd/user/volnoti.service index 19fb8c40..99fa49e4 100644 --- a/dotfiles/config/systemd/user/volnoti.service +++ b/dotfiles/config/systemd/user/volnoti.service @@ -4,7 +4,7 @@ Description=volnoti [Service] Type=simple ExecStart=/usr/bin/env volnoti -n -v -ExecStop=/usr/bin/pkill volnoti +ExecStop=/usr/bin/env pkill volnoti [Install] WantedBy=wm.target diff --git a/dotfiles/config/systemd/user/xsettingsd.service b/dotfiles/config/systemd/user/xsettingsd.service index 51880449..edb48588 100644 --- a/dotfiles/config/systemd/user/xsettingsd.service +++ b/dotfiles/config/systemd/user/xsettingsd.service @@ -3,7 +3,7 @@ Description=X Settings Daemon [Service] ExecStart=/usr/bin/env xsettingsd-setup -ExecStop=/usr/bin/pkill xsettingsd +ExecStop=/usr/bin/env pkill xsettingsd [Install] WantedBy=wm.target diff --git a/dotfiles/config/taffybar/imalison-taffybar.cabal b/dotfiles/config/taffybar/imalison-taffybar.cabal index e580e5b2..cb7b1342 100644 --- a/dotfiles/config/taffybar/imalison-taffybar.cabal +++ b/dotfiles/config/taffybar/imalison-taffybar.cabal @@ -14,8 +14,8 @@ executable imalison-taffybar hs-source-dirs: . main-is: taffybar.hs ghc-options: -threaded -rtsopts -with-rtsopts=-N - -- ghc-options: -threaded -debug -g - -- cpp-options: +RTS -DS + -- ghc-options: -threaded -g -rtsopts + ghc-prof-options: -fprof-auto build-depends: base , X11>=1.8 , bytestring diff --git a/dotfiles/config/taffybar/taffybar b/dotfiles/config/taffybar/taffybar index 307c17bc..d49e8dfa 160000 --- a/dotfiles/config/taffybar/taffybar +++ b/dotfiles/config/taffybar/taffybar @@ -1 +1 @@ -Subproject commit 307c17bc9cac041c8a3dffc00e89139d2ada7fbd +Subproject commit d49e8dfa229b42e654bc18f4801aff061919c751 diff --git a/dotfiles/config/taffybar/taffybar.hs b/dotfiles/config/taffybar/taffybar.hs index 79353ce4..6ecdc799 100644 --- a/dotfiles/config/taffybar/taffybar.hs +++ b/dotfiles/config/taffybar/taffybar.hs @@ -1,4 +1,3 @@ -{-# LANGUAGE PackageImports #-} {-# LANGUAGE OverloadedStrings #-} module Main where @@ -100,10 +99,6 @@ logDebug = do workspacesLogger <- getLogger "System.Taffybar.Widget.Workspaces" saveGlobalLogger $ setLevel WARNING workspacesLogger --- github = do --- Right (token, _) <- passGet "github-token" --- githubNotificationsNew $ defaultGithubConfig $ Auth.OAuth $ BS.pack token - main = do homeDirectory <- getHomeDirectory -- logDebug @@ -116,15 +111,8 @@ main = do highContrastDirectory = "/" "usr" "share" "icons" "HighContrast" "256x256" inHighContrastDirectory file = highContrastDirectory file - getIconFileName w@WindowData {windowTitle = title, windowClass = klass} - -- | "URxvt" `isInfixOf` klass = Just "urxvt.png" - -- | "Termite" `isInfixOf` klass = Just "urxvt.png" - -- | "Kodi" `isInfixOf` klass = Just "kodi.png" - | "@gmail.com" `isInfixOf` title && - "chrome" `isInfixOf` klass && "Gmail" `isInfixOf` title = - Just "gmail.png" - | otherwise = Nothing myIcons = scaledWindowIconPixbufGetter $ + getWindowIconPixbufFromChrome <|||> unscaledDefaultGetWindowIconPixbuf <|||> (\size _ -> lift $ loadPixbufByName size "application-default-icon") cpu = pollingGraphNew cpuCfg 0.5 cpuCallback @@ -156,12 +144,11 @@ main = do , batteryIconNew , textClockNew Nothing "%a %b %_d %r" 1 , sniTrayNew - -- , github , cpu , mem , networkGraphNew netCfg Nothing - -- , networkMonitorNew defaultNetFormat Nothing >>= setMinWidth 200 - -- , fsMonitorNew 60 ["/dev/sdd2"] + -- , networkMonitorNew defaultNetFormat Nothing >>= setMinWidth 200 + -- , fsMonitorNew 60 ["/dev/sdd2"] , mpris2New ] , barPosition = Top @@ -169,9 +156,10 @@ main = do , barHeight = 45 } simpleTaffyConfig = baseConfig - -- { endWidgets = [] + { centerWidgets = map (>>= buildContentsBox) [] + -- , endWidgets = map (>>= buildContentsBox) [ sniTrayNew, mpris2New ] -- , startWidgets = [flip widgetSetClass "Workspaces" =<< workspaces] - -- } + } startTaffybar $ appendHook notifySystemD $ appendHook (void $ getHost False) $ diff --git a/dotfiles/emacs.d/.mc-lists.el b/dotfiles/emacs.d/.mc-lists.el index a172c731..0408e50b 100644 --- a/dotfiles/emacs.d/.mc-lists.el +++ b/dotfiles/emacs.d/.mc-lists.el @@ -5,6 +5,7 @@ '( TeX-insert-backslash backward-sexp + beginning-of-buffer beginning-of-visual-line c-electric-delete-forward c-electric-semi&comma diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index 4f318716..90d57ee3 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -286,13 +286,16 @@ This had to be disabled because it was causing a bunch of issues with projectile This solution only applies it to projectile-find-file #+BEGIN_SRC emacs-lisp - (defun imalison:call-with-quick-shell-command (fn &rest args) - (noflet ((shell-command-to-string (&rest args) - (or (apply 'imalison:try-call-process args) (apply this-fn args)))) + (noflet + ((shell-command-to-string (&rest args) + (condition-case _e + (or (apply 'imalison:try-call-process args) (apply this-fn args)) + (error (apply this-fn args))))) (apply fn args))) -(advice-add 'projectile-find-file :around 'imalison:call-with-quick-shell-command) +;; I've had to disable this becuase newer versions of projectile use a ton of shell commands +;; (advice-add 'projectile-files-via-ext-command :around 'imalison:call-with-quick-shell-command) #+END_SRC ** Set EMACS environment variable Emacs cask seems to depend on the EMACS environment variable being set to the @@ -1585,6 +1588,7 @@ custom-set-faces in your custom file. #+BEGIN_SRC emacs-lisp (use-package highlight-indent-guides :commands highlight-indent-guides-mode + :diminish highlight-indent-guides-mode :preface (progn (add-hook 'prog-mode-hook 'highlight-indent-guides-mode)) @@ -1763,7 +1767,6 @@ bind-key and global-set-key forms. I use helm for almost all emacs completion #+BEGIN_SRC emacs-lisp -n -r (use-package helm-config - :demand t :diminish helm-mode :straight helm :bind (("M-y" . helm-show-kill-ring) @@ -1771,11 +1774,11 @@ I use helm for almost all emacs completion ("C-x C-i" . helm-imenu) ("C-h a" . helm-apropos) ("C-c ;" . helm-recentf)) - :diminish helm-mode :config (progn (setq helm-split-window-default-side 'same helm-exit-idle-delay 0) + (use-package helm-org :straight nil :defer 10 @@ -2822,8 +2825,7 @@ The following is taken from [[https://github.com/syl20bnr/spacemacs/blob/a650877 #+BEGIN_SRC emacs-lisp (use-package lsp-haskell :config - (when (executable-find "hie") - (add-hook 'haskell-mode-hook 'lsp-haskell-enable))) + (add-hook 'haskell-mode-hook 'lsp)) #+END_SRC **** intero Intero seems to be causing hangs, so it has been disabled @@ -3972,9 +3974,12 @@ emr (emacs refactor) provides support for refactoring in many programming langua ** language-server-protocol (lsp) #+BEGIN_SRC emacs-lisp (use-package lsp-mode - :commands lsp-mode :config (progn + (setq lsp-prefer-flymake nil) + (use-package lsp-ui + :config + (add-hook 'lsp-mode-hook 'lsp-ui-mode)) (require 'lsp-clients) (add-hook 'programming-mode-hook 'lsp))) #+END_SRC @@ -4292,6 +4297,7 @@ I had to disable this mode because something that it does messes with coding set ** dtrt-indent #+BEGIN_SRC emacs-lisp (use-package dtrt-indent + :diminish 'dtrt-indent-mode :commands 'dtrt-indent-mode :init (add-hook 'prog-mode-hook 'dtrt-indent-mode) :config diff --git a/nixos/cachix.nix b/nixos/cachix.nix new file mode 100644 index 00000000..40775b1a --- /dev/null +++ b/nixos/cachix.nix @@ -0,0 +1,12 @@ +{ + nix = { + binaryCaches = [ + "https://cache.nixos.org/" + "https://hie-nix.cachix.org" + ]; + binaryCachePublicKeys = [ + "hie-nix.cachix.org-1:EjBSHzF6VmDnzqlldGXbi0RM3HdjfTU3yDRi9Pd0jTY=" + ]; + trustedUsers = [ "root" "imalison" "kat" ]; + }; +} diff --git a/nixos/configuration.nix b/nixos/configuration.nix index c26aecf4..889d7176 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -175,6 +175,7 @@ in patchelf plasma-workspace powertop + pscircle python-with-my-packages qt5.qttools rcm @@ -215,6 +216,7 @@ in programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; + programs.adb.enable = true; services.openssh.enable = true; services.avahi = { enable = true; @@ -271,7 +273,13 @@ in # Define a user account. Don't forget to set a password with ‘passwd’. users.extraUsers = let extraGroups = [ - "wheel" "disk" "audio" "video" "networkmanager" "systemd-journal" + "audio" + "adbusers" + "disk" + "networkmanager" + "systemd-journal" + "video" + "wheel" ]; userDefaults = { inherit extraGroups; @@ -295,5 +303,5 @@ in }; }; - system.nixos.stateVersion = "18.03"; + system.stateVersion = "18.03"; } diff --git a/nixos/machines/imalison-home.nix b/nixos/machines/imalison-home.nix index 08daadfa..7fb10313 100644 --- a/nixos/machines/imalison-home.nix +++ b/nixos/machines/imalison-home.nix @@ -5,6 +5,7 @@ ../configuration.nix ../games.nix + ../cachix.nix ../extra.nix ];