{ inputs, pkgs, ... }: let emacs = pkgs.emacsWithPackagesFromUsePackage { package = pkgs.emacs-unstable; config = ./config.org; defaultInitFile = pkgs.callPackage ./config.nix { }; alwaysEnsure = true; alwaysTangle = true; override = inputs.dagbok.overlays.emacs; extraEmacsPackages = epkgs: [ epkgs.flymake-go-staticcheck epkgs.tree-sitter-langs epkgs.treesit-grammars.with-all-grammars ]; }; e = pkgs.writeShellScriptBin "e" '' ${emacs}/bin/emacs -nw $@ ''; ec = pkgs.writeShellScriptBin "ec" '' ${emacs}/bin/emacsclient -t -c -a= $@ ''; in { nixpkgs.overlays = [ inputs.emacs-overlay.overlay ]; home-manager.users.alex = { home.sessionVariables = { EDITOR = "${e}/bin/e $@"; VISUAL = "${e}/bin/e $@"; TIG_EDITOR = "${e}/bin/e $@"; }; home.file.".emacs.d/doom-submarine-theme.el".source = ./doom-submarine-theme.el; home.packages = [ e ec emacs pkgs.wl-clipboard pkgs.nixd ]; }; environment.systemPackages = [ pkgs.ripgrep ]; age.secrets."dagbok-token" = { file = ../../../../secrets/manatee/dagbok-token.age; owner = "alex"; group = "users"; }; }