diff --git a/.emacs.d/functions.el b/.emacs.d/functions.el index 234ca29..f50c581 100644 --- a/.emacs.d/functions.el +++ b/.emacs.d/functions.el @@ -4,7 +4,7 @@ (olivetti-set-width 80) (company-mode -1) (setq cursor-type 'bar) - ) +) (add-hook 'org-mode-hook 'me/org-mode) (defun me/write () @@ -16,3 +16,21 @@ functions-file (concat (or (getenv "XDG_CONFIG_HOME") "~/.emacs.d/") "kustomize.el")) (when (file-exists-p functions-file) (load functions-file)) + +(defun me/read () + "Custom mode optimised for reading shit." + (interactive) + (setq buffer-face-mode-face '(:family "Noto Sans" :height 120)) + (setq line-spacing 0.3) + (buffer-face-mode) +) +(defun me/code () + "Custom mode optimised for coding shit." + (interactive) + (setq buffer-face-mode-face '(:family "Jetbrains Mono" :height 120)) + (setq line-spacing nil) + (buffer-face-mode) + ) + +(global-set-key (kbd "C-c r") 'me/read) +(global-set-key (kbd "C-c d") 'me/code) diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 58a52cc..b1ddcf9 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -2,8 +2,8 @@ (setq inhibit-startup-message t) (setq auto-save-default nil) (setq make-backup-files nil) -(cond ((find-font (font-spec :name "Jetbrains Mono")) - (set-face-attribute 'default nil :font "Jetbrains Mono" :height 120))) +(cond ((find-font (font-spec :name "Berkeley Mono Trial")) + (set-face-attribute 'default nil :font "Berkeley Mono Trial" :height 120))) (global-set-key (kbd "") 'keyboard-escape-quit) (scroll-bar-mode -1) (tool-bar-mode -1) diff --git a/home-manager/london.nix b/home-manager/london.nix index da6e621..1012817 100644 --- a/home-manager/london.nix +++ b/home-manager/london.nix @@ -2,9 +2,30 @@ { nixpkgs.overlays = [ - (import (builtins.fetchTarball { - url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; - })) + (self: super: + let + # Overlay function + emacs-overlay = + import (builtins.fetchTarball { + url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; + }); + # + # Extract version pointing to master branch + emacsGit = (emacs-overlay self super).emacsGit; + # + # Override source attribute + emacs-custom-base = emacsGit.overrideAttrs ( old: { + src = pkgs.fetchFromSavannah { + repo = "emacs"; + rev = "89ac5ba11c773764f418c92ab47a237287a0d233"; + sha256 = "19qjj0aw7w0rz29jpa1x48jmv3mh1p1aky82y040xmk6axg8blnl"; + }; + }); + in + { + emacs-custom = emacs-custom-base; + } + ) ]; home.username = "gsimmer"; @@ -13,25 +34,31 @@ nixpkgs.config.allowUnfree = true; programs.bash.enable = false; - programs.zsh = { + programs.fish = { enable = true; - shellAliases = { - cat = "bat"; - }; - oh-my-zsh = { - enable = true; - plugins = [ "git" ]; - theme = "robbyrussell"; - }; + interactiveShellInit = '' + set fish_greeting + ''; + plugins = [ + { + name = "z"; + src = pkgs.fetchFromGitHub { + owner = "jethrokuan"; + repo = "z"; + rev = "e0e1b9dfdba362f8ab1ae8c1afc7ccf62b89f7eb"; + sha256 = "0dbnir6jbwjpjalz14snzd3cgdysgcs3raznsijd6savad3qhijc"; + }; + } + ]; }; - + programs.direnv = { enable = true; nix-direnv.enable = true; }; services.lorri.enable = true; - + programs.git = { enable = true; userName = "Gabriel Simmer"; @@ -44,7 +71,10 @@ programs.emacs = { enable = true; - package = pkgs.emacsGit; + package = pkgs.emacs-custom; + extraPackages = epkgs: [ + epkgs.vterm + ]; }; programs.exa = { @@ -68,6 +98,10 @@ lmms prismlauncher ripgrep + kitty + cider + virt-manager + jre8 ]; # This value determines the Home Manager release that your @@ -78,7 +112,7 @@ # You can update Home Manager without changing this value. See # the Home Manager release notes for a list of state version # changes in each release. - home.stateVersion = "22.05"; + home.stateVersion = "23.05"; # Let Home Manager install and manage itself. programs.home-manager.enable = true;