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.

114 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.hydra
  37. epkgs.elfeed
  38. epkgs.nix-mode
  39. epkgs.projectile
  40. epkgs.lsp-mode
  41. epkgs.lsp-ui
  42. epkgs.company
  43. epkgs.go-mode
  44. epkgs.pretty-mode
  45. epkgs.plantuml-mode
  46. epkgs.ivy
  47. epkgs.counsel
  48. epkgs.ivy-rich
  49. epkgs.ivy-posframe
  50. epkgs.ivy-prescient
  51. epkgs.doom-themes
  52. epkgs.doom-modeline
  53. ];
  54. };
  55. in {
  56. home.packages = [
  57. pkgs.nitrogen
  58. pkgs.autorandr
  59. pkgs.hugo
  60. pkgs.pass
  61. pkgs.mu
  62. pkgs.isync
  63. pkgs.aspell
  64. pkgs.aspellDicts.en
  65. pkgs.aspellDicts.en-science
  66. pkgs.aspellDicts.en-computers
  67. pkgs.plantuml
  68. pkgs.nixfmt
  69. ];
  70. programs.emacs = {
  71. enable = true;
  72. package = myEmacs;
  73. };
  74. xsession = {
  75. enable = true;
  76. windowManager.command = ''
  77. ${pkgs.nitrogen}/bin/nitrogen --restore
  78. ${myEmacs}/bin/emacs --daemon -f exwm-enable
  79. ${myEmacs}/bin/emacsclient -c
  80. '';
  81. };
  82. home.file.".xinitrc" = {
  83. text = ''
  84. exec ./.xsession
  85. '';
  86. };
  87. home.file.".mbsyncrc" = {
  88. text = ''
  89. IMAPStore xyz-remote
  90. Host mail.chrishayward.xyz
  91. User chris@chrishayward.xyz
  92. PassCmd "pass chrishayward.xyz/chris"
  93. SSLType IMAPS
  94. MaildirStore xyz-local
  95. Path ~/.cache/mail/
  96. Inbox ~/.cache/mail/inbox
  97. SubFolders Verbatim
  98. Channel xyz
  99. Far :xyz-remote:
  100. Near :xyz-local:
  101. Patterns * !Archives
  102. Create Both
  103. Expunge Both
  104. SyncState *
  105. '';
  106. };
  107. }