nix-home/home/common.nix

163 lines
2.8 KiB
Nix
Raw Normal View History

2021-10-29 17:31:16 +00:00
{ config, pkgs, lib, ... }:
2021-09-29 16:38:27 +00:00
2023-06-11 05:20:43 +00:00
let
in
2021-09-29 16:38:27 +00:00
{
2021-10-30 16:10:54 +00:00
imports = [
./kakoune/kak.nix
./fish/fish.nix
2022-01-11 19:44:00 +00:00
./modules/programs/my-broot.nix
2022-04-20 17:05:02 +00:00
./modules/programs/my-sway
./modules/programs/my-kitty
2022-09-11 13:34:20 +00:00
./modules/programs/openconnect-epfl.nix
2022-04-20 17:05:02 +00:00
./common-linux.nix
2023-07-07 14:34:51 +00:00
# PATH Overrides
({ config, lib, ... }: {
home.sessionPath = lib.mkBefore [
"${config.home.homeDirectory}/.bin/overrides"
];
})
2021-10-30 16:10:54 +00:00
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# 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; [
# Build Tools
## C++
autoconf
automake
## SQL
flyway
## Go
go # to be configured later
## Rust
rust-analyzer
## JavaScript
yarn
## Nix
cachix
rnix-lsp
2021-11-08 21:21:00 +00:00
## Latex
tectonic
2021-11-08 22:16:37 +00:00
texlab
2023-07-03 20:42:03 +00:00
## Typst
typst
## Python
2022-10-03 11:57:20 +00:00
python3
2023-09-04 15:19:11 +00:00
## Scala
2023-12-01 21:05:54 +00:00
scala-cli
2021-10-30 16:10:54 +00:00
# Fonts
fantasque-sans-mono
2023-04-16 10:49:10 +00:00
## Get the nerd font symbols
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
2021-10-30 16:10:54 +00:00
# CLI tools
fd
2021-11-07 18:53:05 +00:00
ripgrep
2021-10-30 16:10:54 +00:00
fossil
2022-05-13 21:16:52 +00:00
openssh
2023-05-17 11:42:31 +00:00
tea # gitea CLI (gh-like)
2023-09-24 13:17:55 +00:00
fx # JSON viewer
glow # Markdown viewer
2021-10-30 16:10:54 +00:00
## File Manager
nnn
## PDF Processors
poppler_utils
## htop replacement
htop-vim
2022-11-16 12:35:25 +00:00
## Bitwarden
rbw
2023-05-14 14:44:51 +00:00
## File compression stuff
zip
unzip
zstd
atool
2021-10-30 16:10:54 +00:00
## To do tunneling with cloudflare
pkgs.cloudflared
2021-10-30 16:10:54 +00:00
# Databases
postgresql
2022-09-06 18:02:12 +00:00
mariadb
2021-10-30 16:10:54 +00:00
];
home.sessionVariables = {
# Bat theme
BAT_THEME = "GitHub";
# Editor
EDITOR = "kak";
};
2021-10-30 16:10:54 +00:00
home.sessionPath = [
# Sometimes we want to install custom scripts here
2023-03-15 13:02:15 +00:00
"${config.home.homeDirectory}/.local/bin"
2021-10-30 16:10:54 +00:00
];
# Programs
programs = {
bat = {
enable = true;
config = {
theme = "GitHub";
};
2021-10-09 02:52:28 +00:00
};
2022-01-11 19:44:00 +00:00
my-broot.enable = true;
2021-09-29 16:38:27 +00:00
2021-10-30 16:10:54 +00:00
direnv.enable = true;
direnv.nix-direnv.enable = true;
2022-05-12 22:56:42 +00:00
direnv.config.global.load_dotenv = true;
2021-10-20 01:11:07 +00:00
2023-12-01 21:05:54 +00:00
eza = {
2021-10-30 16:10:54 +00:00
enable = true;
enableAliases = true;
};
2021-09-29 16:38:27 +00:00
2021-10-30 16:10:54 +00:00
fzf = {
enable = true;
enableFishIntegration = true;
};
2021-09-29 16:38:27 +00:00
2021-10-30 16:10:54 +00:00
gh = {
enable = true;
2021-12-01 18:52:13 +00:00
settings.git_protocol = "ssh";
};
2021-10-30 16:10:54 +00:00
git = {
enable = true;
delta = {
enable = true;
options = {
line-numbers = true;
2021-10-09 02:52:28 +00:00
};
2021-10-30 16:10:54 +00:00
};
2023-05-29 15:01:26 +00:00
signing.key = "0x55A032EB38B49ADB";
2021-10-30 16:10:54 +00:00
signing.signByDefault = true;
userEmail = "nki@nkagami.me";
userName = "Natsu Kagami";
extraConfig = {
init.defaultBranch = "master";
core.excludesFile = "${pkgs.writeText ".gitignore" ''
.direnv
.envrc
.kakrc
''}";
merge.conflictstyle = "diff3";
2021-10-30 16:10:54 +00:00
};
};
2021-09-29 16:38:27 +00:00
2021-10-30 16:10:54 +00:00
gpg.enable = true;
2021-09-29 16:38:27 +00:00
2021-10-30 16:10:54 +00:00
jq.enable = true;
2021-09-29 16:38:27 +00:00
2021-10-30 16:10:54 +00:00
nushell.enable = true;
};
2021-09-29 16:38:27 +00:00
}