diff --git a/emacs.nix b/emacs.nix
index a52980d..badcd9d 100644
--- a/emacs.nix
+++ b/emacs.nix
@@ -74,6 +74,9 @@ in {
(line-number-mode)
(column-number-mode)
+ ;; Soft wrap lines
+ (visual-line-mode)
+
;; Use one space to end sentences.
(setq sentence-end-double-space nil)
@@ -397,7 +400,7 @@ in {
(setq org-publish-project-alist
'(("Root"
- :base-directory "~/Documents/org-roam/"
+ :base-directory "~/Documents/org/roam/"
:publishing-function org-html-publish-to-html
:publishing-directory "~/public_html"
:section-numbers nil
@@ -413,10 +416,7 @@ in {
(setq org-html-head "")
(setq org-html-section)
'';
- hook = [
- "(org-mode . auto-fill-mode)"
- "(org-babel-after-execute . org-redisplay-inline-images)"
- ];
+ hook = [ "(org-babel-after-execute . org-redisplay-inline-images)" ];
bind = {
"C-c n c" = "org-id-get-create";
@@ -425,7 +425,7 @@ in {
bindLocal.org-mode-map = {
"C-c C-o" = "my/follow-org-link";
"C-c C-y" = "my/indent-org-block-automatically";
- "" = "my/follow-org-link";
+ "" = "my/follow-org-link";
};
extraPackages = [ pkgs.texlive.combined.scheme-full ];
@@ -436,73 +436,6 @@ in {
org-contrib.enable = true;
- org-roam = {
- enable = true;
- extraConfig = ''
- :preface
- (defun my/org-roam-node-insert-immediate (arg &rest args)
- "Insert a link to a new node ARG with ARGS without capturing anything."
- (interactive "P")
- (let ((args (cons arg args))
- (org-roam-capture-templates (list (append (car org-roam-capture-templates)
- '(:immediate-finish t)))))
- (apply #'org-roam-node-insert args)))
-
-
- (defun my/org-roam-filter-by-tag (tag-name)
- "Filter org notes by tag TAG-NAME."
- (lambda (node)
- (member tag-name (org-roam-node-tags node))))
-
- (defun my/org-roam-list-notes-by-tag (tag-name)
- "List all org notes with the tag TAG-NAME."
- (mapcar #'org-roam-node-file
- (seq-filter
- (my/org-roam-filter-by-tag tag-name)
- (org-roam-node-list))))
-
- (defun my/refresh-agenda-list ()
- "Refresh the list of files to search for agenda entries."
- (interactive)
- (setq org-agenda-files
- (delete-dups
- (my/org-roam-list-notes-by-tag "todo"))))
- '';
- bind = {
- "C-c n l" = "org-roam-buffer-toggle";
- "C-c n f" = "org-roam-node-find";
- "C-c n d" = "org-roam-dailies-map";
- };
- bindLocal.org-mode-map = {
- "C-c n t" = "org-roam-tag-add";
- "C-c n n" = "org-roam-alias-add";
- "C-c n i" = "org-roam-node-insert";
- "C-c n I" = "my/org-roam-node-insert-immediate";
- };
- command = [ "org-roam-db-sync" ];
- defines = [ "org-roam-v2-ack" ];
- init = ''
- (setq org-roam-directory (file-truename "~/Documents/org-roam"))
- (setq org-roam-db-location (expand-file-name "org-roam.db" org-roam-directory))
- (setq org-roam-v2-ack t)
- (setq org-roam-completion-everywhere t)
- (setq org-roam-capture-templates '(("d" "default" plain "%?" :target (file+head "%<%Y%m%d%H%M%S>-''${slug}.org" "#+title: ''${title}\n") :unnarrowed t)))
- '';
-
- hook = [ "(emacs-startup . org-roam-db-sync)" ];
-
- config = ''
- (org-roam-db-autosync-mode)
- ;; Build the agenda list the first time for the session
- (my/refresh-agenda-list)
- '';
- };
-
- org-roam-ui = {
- enable = true;
- after = [ "org-roam" ];
- };
-
plantuml-mode = {
enable = true;
init = ''
@@ -675,6 +608,33 @@ in {
(editorconfig-mode 1)
'';
};
+
+ org-download = {
+ enable = true;
+ init = ''
+ (require 'org-download)
+ (setq-default org-download-image-dir "~/Documents/org/images")
+ '';
+ hook = [ "(dired-mode-hook . org-download-enable)" ];
+ extraPackages = [ pkgs.pngpaste ];
+ };
+
+ exec-path-from-shell = {
+ enable = true;
+
+ init = ''
+ (dolist (var '("SSH_AUTH_SOCK" "LANG" "LC_CTYPE" "LC_MESSAGES" "NIX_SSL_CERT_FILE" "NIX_PROFILES" "JAVA_HOME" "GNUPGHOME"))
+ (add-to-list 'exec-path-from-shell-variables var))
+
+ (when (memq window-system '(mac ns x))
+ (exec-path-from-shell-initialize))
+
+ (when (daemonp)
+ (exec-path-from-shell-initialize))
+
+ (add-to-list 'exec-path "/Users/willem/.nix-profile/bin")
+ '';
+ };
};
};
}
diff --git a/home.nix b/home.nix
index 99fad8e..c30b9d6 100644
--- a/home.nix
+++ b/home.nix
@@ -10,7 +10,7 @@ in {
nixpkgs.config = {
allowUnfree = true;
allowUnfreePredicate = pkg:
- builtins.elem (lib.getName pkg) [ "discord" "unrar" ];
+ builtins.elem (lib.getName pkg) [ "discord" "unrar" "zoom" ];
};
home = {
@@ -42,5 +42,6 @@ in {
home.file.".config/nix/nix.conf".text = ''
allow-dirty = true
experimental-features = flakes nix-command
+ builders-use-substitutes = true
'';
}
diff --git a/packages.nix b/packages.nix
index d9ffef9..d9aecd3 100644
--- a/packages.nix
+++ b/packages.nix
@@ -2,10 +2,17 @@
{
home.packages = with pkgs;
- [ coreutils gnused spoof-mac colima pinentry_mac iterm2 ]
- ++ [ discord pkgsCustom.vlc pkgsCustom.qbittorrent ]
+ [
+ coreutils
+ gnused
+ spoof-mac
+ colima
+ pinentry_mac
+ iterm2
+ zoom-us
+ karabiner-elements
+ ] ++ [ discord pkgsCustom.vlc pkgsCustom.qbittorrent ]
++ [ docker docker-compose ] ++ [
- zsh-powerlevel10k
comma
automake
autoconf
@@ -27,5 +34,6 @@
rsync
openssh
tldr
+ nix-review
];
}
diff --git a/programs.nix b/programs.nix
index ecd9e34..bd0eb3d 100644
--- a/programs.nix
+++ b/programs.nix
@@ -36,6 +36,7 @@
core.autocrlf = false;
push.autoSetupRemote = true;
};
+ lfs.enable = true;
package = pkgs.gitAndTools.gitFull;
userName = "willemml";
userEmail = "willem@leit.so";