aboutsummaryrefslogtreecommitdiff
path: root/home-manager/.config
diff options
context:
space:
mode:
authorKumar Damani <kdamani@kepler.space>2026-09-23 01:23:07 +0000
committerKumar Damani <kdamani@kepler.space>2026-09-23 01:23:07 +0000
commit757812c15961a85cdf418ff3d78b596ec4d4655e (patch)
tree9b07a3e029775589957dedb04613fbe51f298623 /home-manager/.config
parentdd285d9b5de2a6de2ebfe4f9bc96eb73072a03de (diff)
initial emacs cfg
Diffstat (limited to 'home-manager/.config')
-rw-r--r--home-manager/.config/home-manager/common/default.nix1
-rw-r--r--home-manager/.config/home-manager/common/emacs/init.el126
-rw-r--r--home-manager/.config/home-manager/per-user/kdamani-work/configuration.nix20
3 files changed, 143 insertions, 4 deletions
diff --git a/home-manager/.config/home-manager/common/default.nix b/home-manager/.config/home-manager/common/default.nix
index 120817a..4cdc50f 100644
--- a/home-manager/.config/home-manager/common/default.nix
+++ b/home-manager/.config/home-manager/common/default.nix
@@ -34,6 +34,7 @@
htop
hyperfine
imagemagick
+ ispell
jq
nmap
nixos-rebuild
diff --git a/home-manager/.config/home-manager/common/emacs/init.el b/home-manager/.config/home-manager/common/emacs/init.el
index 97a5169..9c86a11 100644
--- a/home-manager/.config/home-manager/common/emacs/init.el
+++ b/home-manager/.config/home-manager/common/emacs/init.el
@@ -1,10 +1,130 @@
-;;; My config for emacs -*- lexical-binding:t -*-
+;;; package --- My config for emacs -*- lexical-binding:t -*-
+;;; Commentary:
+;; ── PERFORMANCE ──────────────────────────────────────
+;; Increase GC threshold to speed up startup
+(setq gc-cons-threshold 100000000)
+(setq read-process-output-max (* 1024 1024)) ; 1MB
-(menu-bar-mode 0)
+;;; Appearence
+(add-to-list 'default-frame-alist '(undecorated-round . t))
+(menu-bar-mode 0)
(use-package sweet-theme
:init
(load-theme 'sweet t))
-(load-theme 'newcomers-presets t)
+;; (load-theme 'newcomers-presets t)
+;; (load-file "newcomers-presets.el")
+
+;;; New commer Settings
+(setopt delete-selection-mode t)
+(setopt save-interprogram-paste-before-kill t)
+
+;; Spell checking, and underline errors
+(add-hook 'text-mode-hook 'flyspell-mode)
+(add-hook 'prog-mode-hook 'flyspell-prog-mode)
+
+;; imenu entries are auto updated
+(setopt imenu-auto-rescan t)
+
+;; SPC to scroll on RO buffers
+(setopt view-read-only t)
+
+;; Don't repeat yourself
+;; Use the last part of the shortcut to replay the cmd
+(setopt repeat-mode t)
+
+;; Apperance
+;; Smooth scrolling
+(setq pixel-scroll-mode t)
+
+;; Show line-numbers
+(add-hook 'prog-mode-hook 'display-line-numbers-mode)
+(add-hook 'text-mode-hook 'display-line-numbers-mode)
+
+;; Show column numbers
+(setopt column-number-mode t)
+
+;; Follow system font
+(setopt font-use-system-font t)
+
+;; Better resizing of frames
+(setopt frame-resize-pixelwise t)
+(setopt window-resize-pixelwise t)
+
+;; Keep frame size constant while resizing fonts
+(setopt frame-inhibit-implied-resize t)
+
+;;
+(setopt mode-line-compact 'long)
+
+;; Easier history navigation
+(setopt savehist-mode t)
+
+;; Save place in file
+(setopt save-place-mode t)
+
+;; Completions
+(setopt minibuffer-visible-completions t)
+(setopt completions-detailed t)
+(setopt completions-group t)
+(setopt completion-auto-select 'second-tab)
+(setopt completion-eager-update t)
+(setopt completion-styles '(basic emacs22 flex))
+(setopt global-completion-preview-mode t)
+
+
+(setopt tab-always-indent 'complete)
+
+;; Better help display
+(setopt which-key-mode t)
+
+;; Always show tab bar
+;; (setopt tab-bar-show 0)
+;; (setopt tab-bar-history-mode t)
+
+
+;; Dired
+(setopt dired-auto-revert-buffer t)
+(setopt shell-command-prompt-show-cwd t)
+
+;; Package Manager stuff
+(setopt package-autosuggest-mode t)
+(setopt package-menu-use-current-if-no-marks nil)
+
+;; Code
+(add-hook 'prog-mode-hook 'flymake-mode)
+(setopt compilation-scroll-output 'first-error)
+(setopt global-xref-mouse-mode t)
+(setopt electric-pair-mode t)
+(setopt indent-tabs-mode nil)
+(setopt editorconfig-mode t)
+
+(setopt etags-regen-mode t)
+(setopt vc-auto-revert-mode t)
+(setopt vc-dir-save-some-buffers-on-revert t)
+(setopt vc-find-revision-no-save t)
+(setopt vc-follow-symlinks t)
+
+(setopt vc-use-incoming-outgoing-prefixes t)
+(setopt vc-deduce-backend-nonvc-modes t)
+
+
+;;; Packages
+(use-package exec-path-from-shell
+ :if (memq window-system '(mac ns x))
+ :ensure
+ :config
+ (exec-path-from-shell-initialize))
+
+(use-package markdown-mode
+ :ensure t)
+(use-package nix-mode
+ :ensure t)
+
+;;(setq ispell-program-name "/opt/homebrew/bin/ispell")
+;;(setq exec-path (append "/opt/homebrew/bin" exec-path))
+
+(provide 'init)
+;;; init.el ends here
diff --git a/home-manager/.config/home-manager/per-user/kdamani-work/configuration.nix b/home-manager/.config/home-manager/per-user/kdamani-work/configuration.nix
index 135e3c5..536e9dd 100644
--- a/home-manager/.config/home-manager/per-user/kdamani-work/configuration.nix
+++ b/home-manager/.config/home-manager/per-user/kdamani-work/configuration.nix
@@ -4,9 +4,24 @@
users.users.kdamani.home = "/Users/kdamani";
environment.systemPackages =
- [ pkgs.vim
+ [
+ pkgs.vim
];
+ # using homebrew to install graphical apps otherwise spotlight won't find it by default
+ homebrew = {
+ enable = true;
+ enableBashIntegration = true;
+ enableZshIntegration = true;
+ casks = [
+ {
+ name = "d12frosted/emacs-plus/emacs-plus-app";
+ greedy = true;
+ trusted = true;
+ }
+ ];
+ };
+
# Auto upgrade nix package and the daemon service.
# services.nix-daemon.enable = true;
nix.package = pkgs.nix;
@@ -21,4 +36,7 @@
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 5;
+
+
+ system.primaryUser = "kdamani";
}