❄️ going a little overboard with my nix config?

This commit is contained in:
James Walker 2020-12-21 19:41:29 -05:00
parent 468793b303
commit 45c10a5a32
Signed by: walkah
GPG Key ID: 3C127179D6086E93
6 changed files with 102 additions and 53 deletions

View File

@ -1,5 +1,12 @@
{ config, pkgs, ... }:
{
{ config, pkgs, ... }: {
imports = [
./modules/golang.nix
./modules/haskell.nix
./modules/nodejs.nix
./modules/python.nix
./modules/rust.nix
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
@ -8,10 +15,7 @@
# home.username = builtins.getEnv "USER";
# home.homeDirectory = builtins.getEnv "HOME";
home.sessionPath = [
"$HOME/.local/bin"
"$HOME/.emacs.d/bin"
];
home.sessionPath = [ "$HOME/.local/bin" "$HOME/.emacs.d/bin" ];
home.packages = with pkgs; [
aws
@ -27,12 +31,11 @@
jq
mr
niv
nodejs
nixfmt
pinentry
ripgrep
sqlite
wakatime
yarn
];
programs = {
@ -56,11 +59,12 @@
"tmux"
];
};
sessionVariables = {
EDITOR = "vim";
sessionVariables = { EDITOR = "vim"; };
};
dircolors = {
enable = true;
enableZshIntegration = true;
};
starship = {
enable = true;
enableZshIntegration = false;
@ -77,15 +81,9 @@
ssh_only = false;
format = "[$hostname]($style):";
};
gcloud = {
disabled = true;
};
kubernetes = {
disabled = false;
};
username = {
format = "[$user]($style)@";
};
gcloud = { disabled = true; };
kubernetes = { disabled = false; };
username = { format = "[$user]($style)@"; };
};
};
@ -95,12 +93,16 @@
userEmail = "walkah@walkah.net";
aliases = {
lg = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
lg =
"log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
st = "status -s";
undo = "reset HEAD~1 --mixed";
};
extraConfig = {
github.user = "walkah";
pull.rebase = true;
rebase.autoStash = true;
};
signing = {
@ -111,9 +113,7 @@
gpg = {
enable = true;
settings = {
default-key = "8896FEC44D47A81C";
};
settings = { default-key = "8896FEC44D47A81C"; };
};
tmux = {
@ -133,18 +133,13 @@
emacs = if (pkgs.stdenv.isLinux) then {
enable = true;
extraPackages = epkgs: [ epkgs.vterm ];
}
else
} else
{ };
vim = {
enable = true;
};
vim = { enable = true; };
};
services =
if (pkgs.stdenv.isLinux) then
{
services = if (pkgs.stdenv.isLinux) then {
lorri.enable = true;
syncthing.enable = true;
gpg-agent = {
@ -155,11 +150,9 @@
allow-loopback-pinentry
'';
};
}
else
} else
{ };
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards

22
modules/golang.nix Normal file
View File

@ -0,0 +1,22 @@
{ pkgs, ... }:
{
home.sessionPath = [ "$HOME/.go/bin" ];
home.packages = with pkgs; [
go
gocode
golangci-lint
gomodifytags
gopls
gotests
gore
];
programs = {
zsh = {
oh-my-zsh = { plugins = [ "golang" ]; };
sessionVariables = { GOPATH = "$HOME/.go"; };
};
};
}

11
modules/haskell.nix Normal file
View File

@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [
ghc
stack
stylish-haskell
haskellPackages.ghcide
haskellPackages.hoogle
];
}

5
modules/nodejs.nix Normal file
View File

@ -0,0 +1,5 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [ nodejs nodePackages.js-beautify yarn ];
}

12
modules/python.nix Normal file
View File

@ -0,0 +1,12 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
pipenv
python3
python38Packages.black
python38Packages.isort
python38Packages.pyflakes
python38Packages.pytest
];
}

6
modules/rust.nix Normal file
View File

@ -0,0 +1,6 @@
{ config, lib, pkgs, ... }:
{
home.sessionPath = [ "$HOME/.cargo/bin" ];
home.packages = with pkgs; [ cargo rustc rust-analyzer ];
}