Christopher James Hayward
3 years ago
5 changed files with 171 additions and 0 deletions
-
112modules/emacs.nix
-
14shells/cc.nix
-
16shells/go.nix
-
14shells/grpc.nix
-
15shells/python.nix
@ -0,0 +1,112 @@ |
|||
# This file is controlled by /etc/dotfiles/README.org |
|||
{ pkgs, ... }: |
|||
|
|||
let |
|||
myEmacs = pkgs.emacsWithPackagesFromUsePackage { |
|||
config = ../README.org; |
|||
package = pkgs.emacsGcc; |
|||
alwaysEnsure = true; |
|||
alwaysTangle = true; |
|||
extraEmacsPackages = epkgs: [ |
|||
# Required packages... |
|||
epkgs.exwm |
|||
epkgs.evil |
|||
epkgs.evil-collection |
|||
epkgs.evil-surround |
|||
epkgs.evil-nerd-commenter |
|||
epkgs.general |
|||
epkgs.which-key |
|||
|
|||
# Optional packages. |
|||
epkgs.org |
|||
epkgs.org-roam |
|||
epkgs.org-roam-server |
|||
epkgs.org-drill |
|||
epkgs.org-pomodoro |
|||
epkgs.writegood-mode |
|||
epkgs.ox-hugo |
|||
epkgs.ox-reveal |
|||
epkgs.password-store |
|||
epkgs.mu4e-alert |
|||
epkgs.dired-single |
|||
epkgs.all-the-icons |
|||
epkgs.all-the-icons-dired |
|||
epkgs.emojify |
|||
epkgs.eshell-prompt-extras |
|||
epkgs.vterm |
|||
epkgs.magit |
|||
epkgs.elfeed |
|||
epkgs.nix-mode |
|||
epkgs.projectile |
|||
epkgs.lsp-mode |
|||
epkgs.lsp-ui |
|||
epkgs.company |
|||
epkgs.go-mode |
|||
epkgs.pretty-mode |
|||
epkgs.plantuml-mode |
|||
epkgs.ivy |
|||
epkgs.counsel |
|||
epkgs.ivy-rich |
|||
epkgs.ivy-posframe |
|||
epkgs.ivy-prescient |
|||
epkgs.doom-themes |
|||
epkgs.doom-modeline |
|||
]; |
|||
}; |
|||
|
|||
in { |
|||
home.packages = [ |
|||
pkgs.arandr |
|||
pkgs.autorandr |
|||
pkgs.hugo |
|||
pkgs.pass |
|||
pkgs.mu |
|||
pkgs.isync |
|||
pkgs.aspell |
|||
pkgs.aspellDicts.en |
|||
pkgs.aspellDicts.en-science |
|||
pkgs.aspellDicts.en-computers |
|||
pkgs.plantuml |
|||
pkgs.nixfmt |
|||
]; |
|||
|
|||
programs.emacs = { |
|||
enable = true; |
|||
package = myEmacs; |
|||
}; |
|||
|
|||
xsession = { |
|||
enable = true; |
|||
windowManager.command = '' |
|||
${myEmacs}/bin/emacs --daemon -f exwm-enable |
|||
${myEmacs}/bin/emacsclient -c |
|||
''; |
|||
}; |
|||
home.file.".xinitrc" = { |
|||
text = '' |
|||
exec ./.xsession |
|||
''; |
|||
}; |
|||
home.file.".mbsyncrc" = { |
|||
text = '' |
|||
IMAPStore xyz-remote |
|||
Host mail.chrishayward.xyz |
|||
User chris@chrishayward.xyz |
|||
PassCmd "pass chrishayward.xyz/chris" |
|||
SSLType IMAPS |
|||
|
|||
MaildirStore xyz-local |
|||
Path ~/.cache/mail/ |
|||
Inbox ~/.cache/mail/inbox |
|||
SubFolders Verbatim |
|||
|
|||
Channel xyz |
|||
Far :xyz-remote: |
|||
Near :xyz-local: |
|||
Patterns * !Archives |
|||
Create Both |
|||
Expunge Both |
|||
SyncState * |
|||
''; |
|||
}; |
|||
} |
@ -0,0 +1,14 @@ |
|||
# This file is controlled by /etc/dotfiles/README.org |
|||
{ pkgs ? import <nixpkgs> { } }: |
|||
|
|||
with pkgs; |
|||
mkShell { |
|||
buildInputs = [ |
|||
ccls |
|||
gnumake |
|||
libstdcxx5 |
|||
gcc-unwrapped |
|||
]; |
|||
shellHook = '' |
|||
''; |
|||
} |
@ -0,0 +1,16 @@ |
|||
# This file is controlled by /etc/dotfiles/README.org |
|||
{ pkgs ? import <nixpkgs> { } }: |
|||
|
|||
with pkgs; |
|||
mkShell { |
|||
buildInputs = [ |
|||
go |
|||
gopls |
|||
protoc-gen-go-grpc |
|||
]; |
|||
shellHook = '' |
|||
export GO111MODULE=on |
|||
export GOPATH=$HOME/.go/ |
|||
export PATH=$GOPATH/bin:$PATH |
|||
''; |
|||
} |
@ -0,0 +1,14 @@ |
|||
# This file is controlled by /etc/dotfiles/README.org |
|||
{ pkgs ? import <nixpkgs> { } }: |
|||
|
|||
with pkgs; |
|||
mkShell { |
|||
buildInputs = [ |
|||
grpc |
|||
grpc-tools |
|||
grpcui |
|||
grpcurl |
|||
]; |
|||
shellHook = '' |
|||
''; |
|||
} |
@ -0,0 +1,15 @@ |
|||
# This file is controlled by /etc/dotfiles/README.org |
|||
{ pkgs ? import <nixpkgs> { } }: |
|||
|
|||
with pkgs; |
|||
mkShell { |
|||
buildInputs = [ |
|||
python39Packages.pip |
|||
python39Packages.pip-tools |
|||
python39Packages.pyls-mypy |
|||
python39Packages.pyls-isort |
|||
python39Packages.pyls-black |
|||
]; |
|||
shellHook = '' |
|||
''; |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue