Starting a vanilla emacs config
This commit is contained in:
44
flake.lock
generated
44
flake.lock
generated
@ -115,6 +115,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"emacs-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732759838,
|
||||
"narHash": "sha256-bBghlNpHztnrUb1o7BAinp+rrWZMpaVNPrxnefhk1LY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "f704f6f113bef121c7e38f807e3397f7dbe1aee0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -683,6 +704,22 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1732632634,
|
||||
"narHash": "sha256-+G7n/ZD635aN0sEXQLynU7pWMd3PKDM7yBIXvYmjABQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6f6076c37180ea3a916f84928cf3a714c5207a30",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1730741070,
|
||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||
@ -698,7 +735,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"nixpkgs-stable_3": {
|
||||
"locked": {
|
||||
"lastModified": 1731797254,
|
||||
"narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=",
|
||||
@ -807,7 +844,7 @@
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731363552,
|
||||
@ -826,6 +863,7 @@
|
||||
"root": {
|
||||
"inputs": {
|
||||
"blocklist-hosts": "blocklist-hosts",
|
||||
"emacs-overlay": "emacs-overlay",
|
||||
"home-manager-stable": "home-manager-stable",
|
||||
"home-manager-unstable": "home-manager-unstable",
|
||||
"hyprgrass": "hyprgrass",
|
||||
@ -834,7 +872,7 @@
|
||||
"hyprlock": "hyprlock",
|
||||
"nix-on-droid": "nix-on-droid",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"nixpkgs-stable": "nixpkgs-stable_3",
|
||||
"nvchad": "nvchad",
|
||||
"rust-overlay": "rust-overlay",
|
||||
"stylix": "stylix"
|
||||
|
@ -72,7 +72,9 @@
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = (_: true);
|
||||
};
|
||||
overlays = [ inputs.rust-overlay.overlays.default ];
|
||||
overlays = [ inputs.rust-overlay.overlays.default
|
||||
inputs.emacs-overlay.overlays.default
|
||||
];
|
||||
}));
|
||||
|
||||
pkgs-stable = import inputs.nixpkgs-stable {
|
||||
@ -232,6 +234,11 @@
|
||||
|
||||
stylix.url = "github:danth/stylix";
|
||||
|
||||
emacs-overlay = {
|
||||
url = "github:nix-community/emacs-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||
|
||||
blocklist-hosts = {
|
||||
|
@ -13,6 +13,7 @@
|
||||
../../user/shell/sh.nix # My zsh and bash config
|
||||
../../user/shell/cli-collection.nix # Useful CLI apps
|
||||
../../user/app/nvim/nvim.nix # My doom emacs config
|
||||
../../user/app/emacs # Emacs config that I'm currently rebuilding
|
||||
../../user/app/ranger/ranger.nix # My ranger file manager config
|
||||
../../user/app/git/git.nix # My git config
|
||||
../../user/app/keepass/keepass.nix # My password manager
|
||||
|
26
user/app/emacs/default.nix
Normal file
26
user/app/emacs/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
(pkgs.emacsWithPackagesFromUsePackage {
|
||||
config = ./init.el;
|
||||
package = pkgs.emacs-pgtk;
|
||||
alwaysEnsure = true;
|
||||
extraEmacsPackages = epkgs: with epkgs; [
|
||||
command-log-mode
|
||||
vertico hotfuzz
|
||||
evil evil-collection evil-snipe evil-owl evil-vimish-fold
|
||||
doom-modeline
|
||||
nerd-icons nerd-icons-dired nerd-icons-corfu
|
||||
nerd-icons-ibuffer nerd-icons-completion
|
||||
yasnippet
|
||||
projectile treemacs
|
||||
magit magit-file-icons
|
||||
vterm
|
||||
gdscript-mode
|
||||
nix-mode
|
||||
python python-mode
|
||||
];
|
||||
})
|
||||
];
|
||||
home.file.".config/emacs/init.el".source = ./init.el;
|
||||
}
|
100
user/app/emacs/init.el
Normal file
100
user/app/emacs/init.el
Normal file
@ -0,0 +1,100 @@
|
||||
(set-face-attribute 'default nil :height 150) ; Bigger text
|
||||
(set-face-attribute 'default nil :family "Intel One Mono") ; Font
|
||||
(setq inhibit-startup-message t)
|
||||
|
||||
(scroll-bar-mode -1) ; Disable visible scrollbar
|
||||
(tool-bar-mode -1) ; Disable the toolbar
|
||||
(tooltip-mode -1) ; Disable tooltips
|
||||
(set-fringe-mode 10) ; Give some breathing room
|
||||
|
||||
(menu-bar-mode -1) ; Disable the menu bar
|
||||
|
||||
(load-theme 'wombat)
|
||||
|
||||
(set-frame-parameter nil 'alpha-background 85)
|
||||
(add-to-list 'default-frame-alist '(alpha-background . 85))
|
||||
|
||||
;; Make ESC quit prompts
|
||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
||||
|
||||
(setq scroll-preserve-screen-position t)
|
||||
(setq scroll-conservatively 101)
|
||||
|
||||
(require 'use-package)
|
||||
(setq use-package-always-ensure t)
|
||||
|
||||
(use-package command-log-mode)
|
||||
|
||||
;; Enable vertico
|
||||
(use-package vertico
|
||||
:custom
|
||||
(vertico-scroll-margin 0) ;; Different scroll margin
|
||||
(vertico-count 20) ;; Show more candidates
|
||||
(vertico-resize nil) ;; Grow and shrink the Vertico minibuffer
|
||||
(vertico-cycle t) ;; Enable cycling for `vertico-next/previous'
|
||||
:init
|
||||
(vertico-mode))
|
||||
|
||||
(use-package hotfuzz
|
||||
:config
|
||||
(setq completion-styles '(flex hotfuzz)))
|
||||
|
||||
;; Enable vim
|
||||
(use-package evil
|
||||
:config
|
||||
(evil-set-leader nil (kbd "C-SPC"))
|
||||
(evil-set-leader 'normal (kbd "SPC"))
|
||||
(evil-set-leader 'motion (kbd "SPC"))
|
||||
(evil-mode 1))
|
||||
|
||||
(use-package evil-collection
|
||||
:init
|
||||
(setq evil-want-keybinding nil)
|
||||
(evil-collection-init))
|
||||
|
||||
(evil-define-key 'normal 'global (kbd "<leader>.") 'find-file)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>bi") 'ibuffer)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>bn") 'next-buffer)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>bp") 'previous-buffer)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>pp") 'projectile-switch-project)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>pf") 'projectile-find-file)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>pa") 'projectile-add-known-project)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>gg") 'magit-status)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>hv") 'describe-variable)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>hf") 'describe-function)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>hk") 'describe-key)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>hF") 'describe-face)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>ws") 'evil-window-split)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wv") 'evil-window-vsplit)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wd") 'evil-window-delete)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wj") 'evil-window-down)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wk") 'evil-window-up)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wh") 'evil-window-left)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wl") 'evil-window-right)
|
||||
|
||||
(global-set-key (kbd "C-j") 'evil-window-down)
|
||||
(global-set-key (kbd "C-k") 'evil-window-up)
|
||||
(global-set-key (kbd "C-h") 'evil-window-left)
|
||||
(global-set-key (kbd "C-l") 'evil-window-right)
|
||||
|
||||
(setq magit-bury-buffer-function 'magit-restore-window-configuration)
|
||||
(setq magit-display-buffer-function
|
||||
(lambda (buffer)
|
||||
(display-buffer
|
||||
buffer (if (and (derived-mode-p 'magit-mode)
|
||||
(memq (with-current-buffer buffer major-mode)
|
||||
'(magit-process-mode
|
||||
magit-revision-mode
|
||||
magit-diff-mode
|
||||
magit-stash-mode
|
||||
magit-status-mode)))
|
||||
nil
|
||||
'(display-buffer-same-window)))))
|
||||
|
||||
(use-package nerd-icons
|
||||
:ensure t)
|
||||
|
||||
(use-package doom-modeline
|
||||
:ensure t
|
||||
:init (doom-modeline-mode 1)
|
||||
:custom ((doom-modeline-height 15)))
|
Reference in New Issue
Block a user