♻️ refactor nix configs
This commit is contained in:
parent
8e8ce37574
commit
b919168c44
12
flake.lock
generated
12
flake.lock
generated
@ -23,11 +23,11 @@
|
||||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1660574517,
|
||||
"narHash": "sha256-Lp5D2pAPrM3iAc1eeR0iGwz5rM+SYOWzVxI3p17nlrU=",
|
||||
"lastModified": 1661573386,
|
||||
"narHash": "sha256-pBEg8iY00Af/SAtU2dlmOAv+2x7kScaGlFRDjNoVJO8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "688e5c85b7537f308b82167c8eb4ecfb70a49861",
|
||||
"rev": "d89bdff445eadff03fe414e9c30486bc8166b72b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -38,11 +38,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1660639432,
|
||||
"narHash": "sha256-2WDiboOCfB0LhvnDVMXOAr8ZLDfm3WdO54CkoDPwN1A=",
|
||||
"lastModified": 1661336769,
|
||||
"narHash": "sha256-5Sf9tMd1Jdm+lTBGspbQ4kEoYCDKpUhEVAZHRcm6mGU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6c6409e965a6c883677be7b9d87a95fab6c3472e",
|
||||
"rev": "03428dbaaa23d6bf458770907b0927b377c873a8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
156
home.nix
156
home.nix
@ -7,163 +7,11 @@
|
||||
home.username = "walkah";
|
||||
home.homeDirectory = if pkgs.stdenv.isDarwin then "/Users/walkah" else "/home/walkah";
|
||||
|
||||
home.sessionPath = [
|
||||
"$HOME/.cargo/bin"
|
||||
"$HOME/.deno/bin"
|
||||
"$HOME/.emacs.d/bin"
|
||||
"$HOME/.go/bin"
|
||||
"$HOME/.local/bin"
|
||||
imports = [
|
||||
./modules
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
btop
|
||||
cachix
|
||||
direnv
|
||||
drone-cli
|
||||
exa
|
||||
fd
|
||||
git
|
||||
gh
|
||||
htop
|
||||
jq
|
||||
mr
|
||||
nixpkgs-fmt
|
||||
nixfmt
|
||||
ripgrep
|
||||
rnix-lsp
|
||||
tea
|
||||
wakatime
|
||||
];
|
||||
|
||||
home.file.".doom.d" = {
|
||||
onChange = ''
|
||||
#!/bin/sh
|
||||
DOOM=$HOME/.emacs.d
|
||||
if [ ! -d $DOOM ]; then
|
||||
git clone --depth 1 https://github.com/hlissner/doom-emacs $DOOM
|
||||
fi
|
||||
$DOOM/bin/doom sync
|
||||
'';
|
||||
source = ./config/.doom.d;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
home.file.".ghci".text = ''
|
||||
:set prompt "λ> "
|
||||
'';
|
||||
|
||||
programs = {
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableCompletion = true;
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
"bundler"
|
||||
"direnv"
|
||||
"docker"
|
||||
"docker-compose"
|
||||
"git"
|
||||
"golang"
|
||||
"mix"
|
||||
"rails"
|
||||
"ssh-agent"
|
||||
"tmux"
|
||||
];
|
||||
};
|
||||
sessionVariables = {
|
||||
EDITOR = "vim";
|
||||
GOPATH = "$HOME/.go";
|
||||
};
|
||||
shellAliases = {
|
||||
ls = "exa --git";
|
||||
ll = "exa -lh --git";
|
||||
};
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
settings = {
|
||||
character = {
|
||||
success_symbol = "[»](bold green) ";
|
||||
error_symbol = "[✗](bold red) ";
|
||||
};
|
||||
directory = {
|
||||
fish_style_pwd_dir_length = 1;
|
||||
truncation_length = 1;
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
format = "[$hostname]($style):";
|
||||
};
|
||||
gcloud = { disabled = true; };
|
||||
kubernetes = { disabled = false; };
|
||||
username = { format = "[$user]($style)@"; };
|
||||
};
|
||||
};
|
||||
|
||||
bat.enable = true;
|
||||
fzf = {
|
||||
enable = true;
|
||||
fileWidgetOptions = [ "--preview 'bat --color always {}'" ];
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "James Walker";
|
||||
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";
|
||||
st = "status -s";
|
||||
undo = "reset HEAD~1 --mixed";
|
||||
};
|
||||
|
||||
extraConfig = {
|
||||
github.user = "walkah";
|
||||
init.defaultBranch = "main";
|
||||
pull.rebase = true;
|
||||
rebase.autoStash = true;
|
||||
};
|
||||
|
||||
signing = {
|
||||
key = "8896FEC44D47A81C";
|
||||
signByDefault = true;
|
||||
};
|
||||
};
|
||||
|
||||
tmux = {
|
||||
enable = true;
|
||||
clock24 = true;
|
||||
plugins = with pkgs.tmuxPlugins; [
|
||||
sensible
|
||||
yank
|
||||
{
|
||||
plugin = dracula;
|
||||
extraConfig = ''
|
||||
set -g @dracula-show-battery true
|
||||
set -g @dracula-show-fahrenheit false
|
||||
set -g @dracula-show-left-icon session
|
||||
set -g @dracula-show-powerline true
|
||||
set -g @dracula-refresh-rate 10
|
||||
'';
|
||||
}
|
||||
];
|
||||
extraConfig = ''
|
||||
set -g set-titles on
|
||||
set -g set-titles-string "[#S] #W@#h (#I)"
|
||||
'';
|
||||
shortcut = "o";
|
||||
};
|
||||
|
||||
emacs = {
|
||||
enable = true;
|
||||
package = pkgs.emacs-nox;
|
||||
extraPackages = epkgs: [ epkgs.vterm ];
|
||||
};
|
||||
|
||||
vim = { enable = true; };
|
||||
};
|
||||
|
||||
|
11
modules/default.nix
Normal file
11
modules/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./dev.nix
|
||||
./emacs.nix
|
||||
./git.nix
|
||||
./tmux.nix
|
||||
./zsh.nix
|
||||
];
|
||||
}
|
78
modules/dev.nix
Normal file
78
modules/dev.nix
Normal file
@ -0,0 +1,78 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# General
|
||||
btop
|
||||
cmake
|
||||
drone-cli
|
||||
tea
|
||||
|
||||
# Git
|
||||
git
|
||||
gh
|
||||
mr
|
||||
|
||||
# Elixir
|
||||
elixir
|
||||
|
||||
# Golang
|
||||
go
|
||||
gomodifytags
|
||||
gotests
|
||||
gore
|
||||
|
||||
# Haskell
|
||||
haskellPackages.haskell-language-server
|
||||
# haskellPackages.cabal
|
||||
haskellPackages.hoogle
|
||||
stack
|
||||
|
||||
# Javascript/Typescript
|
||||
deno
|
||||
jq
|
||||
nodejs
|
||||
yarn
|
||||
|
||||
# Nix
|
||||
cachix
|
||||
niv
|
||||
nixfmt
|
||||
nixpkgs-fmt
|
||||
rnix-lsp
|
||||
|
||||
# Python
|
||||
black
|
||||
isort
|
||||
pipenv
|
||||
python39
|
||||
python39Packages.pyflakes
|
||||
python39Packages.nose
|
||||
python39Packages.pytest
|
||||
|
||||
# Rust
|
||||
rustup
|
||||
rust-analyzer
|
||||
|
||||
# Shell
|
||||
shfmt
|
||||
shellcheck
|
||||
|
||||
# Web
|
||||
nodePackages.stylelint
|
||||
nodePackages.js-beautify
|
||||
];
|
||||
|
||||
home.file.".ghci".text = ''
|
||||
:set prompt "λ> "
|
||||
'';
|
||||
|
||||
home.sessionPath = [
|
||||
"$HOME/.cargo/bin"
|
||||
"$HOME/.deno/bin"
|
||||
"$HOME/.emacs.d/bin"
|
||||
"$HOME/.go/bin"
|
||||
"$HOME/.local/bin"
|
||||
];
|
||||
|
||||
}
|
31
modules/emacs.nix
Normal file
31
modules/emacs.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# Doom requirements
|
||||
fd
|
||||
ripgrep
|
||||
wakatime
|
||||
];
|
||||
|
||||
home.file.".doom.d" = {
|
||||
onChange = ''
|
||||
#!/bin/sh
|
||||
DOOM=$HOME/.emacs.d
|
||||
if [ ! -d $DOOM ]; then
|
||||
git clone --depth 1 https://github.com/hlissner/doom-emacs $DOOM
|
||||
fi
|
||||
$DOOM/bin/doom sync
|
||||
'';
|
||||
source = ../config/.doom.d;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
programs = {
|
||||
emacs = {
|
||||
enable = true;
|
||||
package = pkgs.emacs-nox;
|
||||
extraPackages = epkgs: [ epkgs.vterm ];
|
||||
};
|
||||
};
|
||||
}
|
30
modules/git.nix
Normal file
30
modules/git.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "James Walker";
|
||||
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";
|
||||
st = "status -s";
|
||||
undo = "reset HEAD~1 --mixed";
|
||||
};
|
||||
|
||||
extraConfig = {
|
||||
github.user = "walkah";
|
||||
init.defaultBranch = "main";
|
||||
pull.rebase = true;
|
||||
rebase.autoStash = true;
|
||||
};
|
||||
|
||||
signing = {
|
||||
key = "8896FEC44D47A81C";
|
||||
signByDefault = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
29
modules/tmux.nix
Normal file
29
modules/tmux.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
tmux = {
|
||||
enable = true;
|
||||
clock24 = true;
|
||||
plugins = with pkgs.tmuxPlugins; [
|
||||
sensible
|
||||
yank
|
||||
{
|
||||
plugin = dracula;
|
||||
extraConfig = ''
|
||||
set -g @dracula-show-battery true
|
||||
set -g @dracula-show-fahrenheit false
|
||||
set -g @dracula-show-left-icon session
|
||||
set -g @dracula-show-powerline true
|
||||
set -g @dracula-refresh-rate 10
|
||||
'';
|
||||
}
|
||||
];
|
||||
extraConfig = ''
|
||||
set -g set-titles on
|
||||
set -g set-titles-string "[#S] #W@#h (#I)"
|
||||
'';
|
||||
shortcut = "o";
|
||||
};
|
||||
};
|
||||
}
|
61
modules/zsh.nix
Normal file
61
modules/zsh.nix
Normal file
@ -0,0 +1,61 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
bat.enable = true;
|
||||
direnv.enable = true;
|
||||
exa.enable = true;
|
||||
fzf = {
|
||||
enable = true;
|
||||
fileWidgetOptions = [ "--preview 'bat --color always {}'" ];
|
||||
};
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableCompletion = true;
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
"bundler"
|
||||
"direnv"
|
||||
"docker"
|
||||
"docker-compose"
|
||||
"git"
|
||||
"golang"
|
||||
"mix"
|
||||
"rails"
|
||||
"ssh-agent"
|
||||
"tmux"
|
||||
];
|
||||
};
|
||||
sessionVariables = {
|
||||
EDITOR = "vim";
|
||||
GOPATH = "$HOME/.go";
|
||||
};
|
||||
};
|
||||
|
||||
starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
settings = {
|
||||
character = {
|
||||
success_symbol = "[»](bold green) ";
|
||||
error_symbol = "[✗](bold red) ";
|
||||
};
|
||||
directory = {
|
||||
fish_style_pwd_dir_length = 1;
|
||||
truncation_length = 1;
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
format = "[$hostname]($style):";
|
||||
};
|
||||
gcloud = { disabled = true; };
|
||||
kubernetes = { disabled = false; };
|
||||
username = { format = "[$user]($style)@"; };
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user