I showed you my source code, pls respond
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
2.3 KiB

  1. # This file is controlled by /etc/dotfiles/README.org
  2. { pkgs, ... }:
  3. let
  4. myEmacs = pkgs.emacsWithPackagesFromUsePackage {
  5. config = ../README.org;
  6. package = pkgs.emacsGcc;
  7. alwaysEnsure = true;
  8. alwaysTangle = true;
  9. extraEmacsPackages = epkgs: [
  10. # Required packages...
  11. epkgs.exwm
  12. epkgs.evil
  13. epkgs.evil-collection
  14. epkgs.evil-surround
  15. epkgs.evil-nerd-commenter
  16. epkgs.general
  17. epkgs.which-key
  18. # Optional packages.
  19. epkgs.org
  20. epkgs.org-roam
  21. epkgs.org-roam-server
  22. epkgs.org-drill
  23. epkgs.org-pomodoro
  24. epkgs.writegood-mode
  25. epkgs.ox-hugo
  26. epkgs.ox-reveal
  27. epkgs.password-store
  28. epkgs.mu4e-alert
  29. epkgs.dired-single
  30. epkgs.all-the-icons
  31. epkgs.all-the-icons-dired
  32. epkgs.emojify
  33. epkgs.eshell-prompt-extras
  34. epkgs.vterm
  35. epkgs.magit
  36. epkgs.elfeed
  37. epkgs.nix-mode
  38. epkgs.projectile
  39. epkgs.lsp-mode
  40. epkgs.lsp-ui
  41. epkgs.company
  42. epkgs.go-mode
  43. epkgs.pretty-mode
  44. epkgs.plantuml-mode
  45. epkgs.ivy
  46. epkgs.counsel
  47. epkgs.ivy-rich
  48. epkgs.ivy-posframe
  49. epkgs.ivy-prescient
  50. epkgs.doom-themes
  51. epkgs.doom-modeline
  52. ];
  53. };
  54. in {
  55. home.packages = [
  56. pkgs.arandr
  57. pkgs.autorandr
  58. pkgs.hugo
  59. pkgs.pass
  60. pkgs.mu
  61. pkgs.isync
  62. pkgs.aspell
  63. pkgs.aspellDicts.en
  64. pkgs.aspellDicts.en-science
  65. pkgs.aspellDicts.en-computers
  66. pkgs.plantuml
  67. pkgs.nixfmt
  68. ];
  69. programs.emacs = {
  70. enable = true;
  71. package = myEmacs;
  72. };
  73. xsession = {
  74. enable = true;
  75. windowManager.command = ''
  76. ${myEmacs}/bin/emacs --daemon -f exwm-enable
  77. ${myEmacs}/bin/emacsclient -c
  78. '';
  79. };
  80. home.file.".xinitrc" = {
  81. text = ''
  82. exec ./.xsession
  83. '';
  84. };
  85. home.file.".mbsyncrc" = {
  86. text = ''
  87. IMAPStore xyz-remote
  88. Host mail.chrishayward.xyz
  89. User chris@chrishayward.xyz
  90. PassCmd "pass chrishayward.xyz/chris"
  91. SSLType IMAPS
  92. MaildirStore xyz-local
  93. Path ~/.cache/mail/
  94. Inbox ~/.cache/mail/inbox
  95. SubFolders Verbatim
  96. Channel xyz
  97. Far :xyz-remote:
  98. Near :xyz-local:
  99. Patterns * !Archives
  100. Create Both
  101. Expunge Both
  102. SyncState *
  103. '';
  104. };
  105. }