Compare commits

...

12 Commits

8 changed files with 68 additions and 20 deletions

View File

@@ -3,7 +3,9 @@
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
pushd $SCRIPT_DIR/../nix &> /dev/null pushd $SCRIPT_DIR/../nix &> /dev/null
if which home-manager &> /dev/null; then
home-manager switch --flake ".#std" home-manager switch --flake ".#std"
if which doom; then else
doom env nix run home-manager/master -- switch --flake ".#std"
fi fi

1
emacs/.gitignore vendored
View File

@@ -2,6 +2,7 @@
!.gitignore !.gitignore
!*.org !*.org
!*.el !*.el
!reset.sh
!.gitkeep !.gitkeep
!snippets/ !snippets/
!snippets/** !snippets/**

View File

@@ -63,6 +63,9 @@
(use-package seq :ensure `(seq :build ,(+elpaca-seq-build-steps))) (use-package seq :ensure `(seq :build ,(+elpaca-seq-build-steps)))
(use-package transient :ensure t) (use-package transient :ensure t)
;; Required for magit, but Elpaca seems unable to find it by default
(use-package cond-let :ensure (:host github :repo "tarsius/cond-let"))
;;; OS-specific tweaks ;;; OS-specific tweaks
(defconst ON-LINUX (eq system-type 'gnu/linux)) (defconst ON-LINUX (eq system-type 'gnu/linux))
(defconst ON-MAC (eq system-type 'darwin)) (defconst ON-MAC (eq system-type 'darwin))
@@ -138,8 +141,31 @@
(setq ns-command-modifier 'meta) (setq ns-command-modifier 'meta)
(setq ns-right-command-modifier 'super) (setq ns-right-command-modifier 'super)
;; Training wheels for Cmd-S ;;;;; Training wheels
(global-set-key (kbd "M-s M-s") 'save-buffer) (defun cmd-key-reminder (keybind emacs-alternative)
"Display a beep and reminder message for macOS muscle memory keys.
KEYBIND is the key combination pressed (e.g., 'Cmd-S').
EMACS-ALTERNATIVE is the Emacs equivalent (e.g., 'C-s')."
(beep)
(message "Muscle memory! Use %s instead of %s" emacs-alternative keybind))
;; Define reminders for common macOS shortcuts
(global-set-key (kbd "s-s") (lambda () (interactive)
(cmd-key-reminder "Cmd-S" "C-x C-s (save-buffer)")))
(global-set-key (kbd "s-z") (lambda () (interactive)
(cmd-key-reminder "Cmd-Z" "C-/ (undo)")))
(global-set-key (kbd "s-x") (lambda () (interactive)
(cmd-key-reminder "Cmd-X" "C-w (kill-region)")))
(global-set-key (kbd "s-c") (lambda () (interactive)
(cmd-key-reminder "Cmd-C" "M-w (copy-region-as-kill)")))
(global-set-key (kbd "s-v") (lambda () (interactive)
(cmd-key-reminder "Cmd-V" "C-y (yank)")))
(global-set-key (kbd "s-a") (lambda () (interactive)
(cmd-key-reminder "Cmd-A" "C-x h (mark-whole-buffer)")))
(global-set-key (kbd "s-0") (lambda () (interactive)
(cmd-key-reminder "Cmd-0" "C-x 0 (text-scale-adjust)")))
(global-set-key (kbd "s-t") (lambda () (interactive)
(cmd-key-reminder "Cmd-T" "C-o t (tab-bar-new-tab)")))
;;; Editing ;;; Editing
;;;; MWIM ;;;; MWIM
@@ -449,7 +475,7 @@
(modify-all-frames-parameters '((alpha 99 99) (modify-all-frames-parameters '((alpha 99 99)
(top . 50) (top . 50)
(left . 100) (left . 100)
(width . 120) (width . 190)
(height . 60))) (height . 60)))
;;;; Fonts ;;;; Fonts
@@ -728,7 +754,13 @@
(defun my/org-agenda-today () (defun my/org-agenda-today ()
"Show org agenda for today only." "Show org agenda for today only."
(interactive) (interactive)
(org-agenda nil "d"))) (org-agenda nil "d"))
(add-hook 'org-after-todo-state-change-hook #'org-save-all-org-buffers))
(use-package org-agenda
:bind (:map org-agenda-mode-map
("C-x C-s" . org-save-all-org-buffers)))
(use-package org-bullets (use-package org-bullets
:ensure t :ensure t
@@ -1093,7 +1125,7 @@ any directory proffered by `consult-dir'."
`(rxt-elisp-to-pcre (rx ,@rx-sexp)))) `(rxt-elisp-to-pcre (rx ,@rx-sexp))))
(use-package eshell-p10k (use-package eshell-p10k
:ensure (:host github :repo "elken/eshell-p10k") :ensure (:host github :repo "elken/eshell-p10k" :ref "fce701187de408e7b23884169ea597a49a2d3205")
:config :config
(eshell-p10k-def-segment time (eshell-p10k-def-segment time
"" ""

12
emacs/reset.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
# See https://stackoverflow.com/a/246128/3561275
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
pushd $DIR &>/dev/null && rm -rf eln-cache elpa elpaca elpaca.lock && popd &> /dev/null

View File

@@ -1,5 +1,5 @@
# -*- mode: snippet -*- # -*- mode: snippet -*-
# name: bang # name: shebang
# key: ! # key: !
# -- # --
#!/usr/bin/env bash #!/usr/bin/env bash

View File

@@ -1,6 +1,6 @@
# -*- mode: snippet -*- # -*- mode: snippet -*-
# name: the currently executing/sourced script's directory # name: current script's directory
# key: script-dir # key: sdir
# -- # --
# See https://stackoverflow.com/a/246128/3561275 # See https://stackoverflow.com/a/246128/3561275
SOURCE="\${BASH_SOURCE[0]}" SOURCE="\${BASH_SOURCE[0]}"

View File

@@ -0,0 +1 @@
sh-mode

12
nix/flake.lock generated
View File

@@ -27,11 +27,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759337100, "lastModified": 1759702766,
"narHash": "sha256-CcT3QvZ74NGfM+lSOILcCEeU+SnqXRvl1XCRHenZ0Us=", "narHash": "sha256-011pCUbIq/fhCiZ20AzqJYNjLzQ1oYkzYEgzcUYVTBg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "004753ae6b04c4b18aa07192c1106800aaacf6c3", "rev": "5b45dcf4790bb94fec7e550d2915fc2540a3cdd6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -42,11 +42,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1759133924, "lastModified": 1759632233,
"narHash": "sha256-eegjF6fo080481S/ZHyDENjeGG1ZgW2v86O9UZQxLJ8=", "narHash": "sha256-krgZxGAIIIKFJS+UB0l8do3sYUDWJc75M72tepmVMzE=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9547cfd27b5158eb612a6812dfc5c7b3d118b996", "rev": "d7f52a7a640bc54c7bb414cca603835bf8dd4b10",
"type": "github" "type": "github"
}, },
"original": { "original": {