Move lots of stuff to common.nix

This commit is contained in:
Natsu Kagami 2021-09-29 12:38:27 -04:00
parent d171c086e1
commit 0958b5c615
2 changed files with 127 additions and 117 deletions

124
common.nix Normal file
View file

@ -0,0 +1,124 @@
{ config, pkgs, ... }:
{
# Enable the manual so we don't have to load it
manual.html.enable = true;
# Packages that are not in programs section
home.packages = with pkgs; [
autoconf
automake
fantasque-sans-mono
fd
flyway
fossil
go # to be configured later
hugo
nnn
postgresql
rust-analyzer
yarn
poppler_utils
];
# Programs
programs = {
bat = {
enable = true;
config = {
theme = "GitHub";
};
};
bottom.enable = true;
command-not-found.enable = true;
exa = {
enable = true;
};
# later
firefox = {};
fish = {
enable = true;
functions = {
};
shellAliases = {
cat = "bat --theme=GitHub ";
l = "exa -l --color=always ";
htop = "btm --color nord-light -b --tree";
Htop = "btm --color nord-light --tree";
brew64 = "arch -x86_64 /usr/local/bin/brew";
# My own commands for easy access
thisterm = "cd ~/Projects/uw/$CURRENT_TERM";
today = "date +%F";
};
interactiveShellInit = ''
set fish_greeting
# Set up an editor alias
if test -n "$EDITOR"
alias e="$EDITOR"
else
alias e="kak"
end
# sudo => pls
source ~/.config/fish/pls.fish
# set up change_cmd
source ~/.config/fish/change_cmd.fish
# Load completion for github
gh completion --shell fish | source
# Bitwarden
source ~/.config/fish/bw.fish
# Source iTerm2 integration
source ~/.iterm2_shell_integration.fish
'';
plugins = [
{
name = "tide";
src = pkgs.fetchFromGitHub {
owner = "IlanCosman";
repo = "tide";
rev = "3787c725f7f6a0253f59a2c0e9fde03202689c6c";
sha256 = "00zsib1q21bgxffjlyxf5rgcyq3h1ixwznwvid9k6mkkmwixv9lj";
};
}
{
name = "fzf";
src = pkgs.fetchFromGitHub {
owner = "jethrokuan";
repo = "fzf";
rev = "479fa67d7439b23095e01b64987ae79a91a4e283";
sha256 = "0k6l21j192hrhy95092dm8029p52aakvzis7jiw48wnbckyidi6v";
};
}
];
};
fzf = {
enable = true;
enableFishIntegration = true;
};
gh = {
enable = true;
gitProtocol = "ssh";
};
jq.enable = true;
nushell.enable = true;
};
}

View file

@ -4,6 +4,8 @@ let
x86pkgs = import <nixpkgs> { config.allowUnsupportedSystem = true; };
in
{
imports = [ ./common.nix ];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
@ -12,127 +14,11 @@ in
home.username = "nki";
home.homeDirectory = "/Users/nki";
# Enable the manual so we don't have to load it
manual.html.enable = true;
# Packages that are not in programs section
# Additional packages to be used only on this MacBook.
home.packages = with pkgs; [
autoconf
automake
fantasque-sans-mono
fd
flyway
fossil
go # to be configured later
hugo
nnn
postgresql
rust-analyzer
yarn
poppler_utils
x86pkgs.anki-bin
];
# Programs
programs = {
bat = {
enable = true;
config = {
theme = "GitHub";
};
};
bottom.enable = true;
command-not-found.enable = true;
exa = {
enable = true;
};
# later
firefox = {};
fish = {
enable = true;
functions = {
};
shellAliases = {
cat = "bat --theme=GitHub ";
l = "exa -l --color=always ";
htop = "btm --color nord-light -b --tree";
Htop = "btm --color nord-light --tree";
brew64 = "arch -x86_64 /usr/local/bin/brew";
# My own commands for easy access
thisterm = "cd ~/Projects/uw/$CURRENT_TERM";
today = "date +%F";
};
interactiveShellInit = ''
set fish_greeting
# Set up an editor alias
if test -n "$EDITOR"
alias e="$EDITOR"
else
alias e="kak"
end
# sudo => pls
source ~/.config/fish/pls.fish
# set up change_cmd
source ~/.config/fish/change_cmd.fish
# Load completion for github
gh completion --shell fish | source
# Bitwarden
source ~/.config/fish/bw.fish
# Source iTerm2 integration
source ~/.iterm2_shell_integration.fish
'';
plugins = [
{
name = "tide";
src = pkgs.fetchFromGitHub {
owner = "IlanCosman";
repo = "tide";
rev = "3787c725f7f6a0253f59a2c0e9fde03202689c6c";
sha256 = "00zsib1q21bgxffjlyxf5rgcyq3h1ixwznwvid9k6mkkmwixv9lj";
};
}
{
name = "fzf";
src = pkgs.fetchFromGitHub {
owner = "jethrokuan";
repo = "fzf";
rev = "479fa67d7439b23095e01b64987ae79a91a4e283";
sha256 = "0k6l21j192hrhy95092dm8029p52aakvzis7jiw48wnbckyidi6v";
};
}
];
};
fzf = {
enable = true;
enableFishIntegration = true;
};
gh = {
enable = true;
gitProtocol = "ssh";
};
jq.enable = true;
nushell.enable = true;
};
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage