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
|
2022-06-10 17:41:53 +00:00
|
|
|
./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
|
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
|
2022-03-14 17:35:03 +00:00
|
|
|
## 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
|
2022-07-19 19:42:42 +00:00
|
|
|
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
|
2022-10-03 11:55:09 +00:00
|
|
|
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";
|
2022-03-14 17:35:03 +00:00
|
|
|
};
|
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;
|
2024-05-27 09:03:15 +00:00
|
|
|
enableFishIntegration = true;
|
2021-10-30 16:10:54 +00:00
|
|
|
};
|
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";
|
2023-03-15 13:05:34 +00:00
|
|
|
core.excludesFile = "${pkgs.writeText ".gitignore" ''
|
|
|
|
.direnv
|
|
|
|
.envrc
|
|
|
|
.kakrc
|
|
|
|
''}";
|
2023-11-22 14:02:05 +00:00
|
|
|
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
|
|
|
}
|