2023-10-01 19:00:13 +00:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
# 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 incompatible changes.
|
|
|
|
#
|
|
|
|
# You should not change this value, even if you update Home Manager. If you do
|
|
|
|
# want to update the value, then make sure to first check the Home Manager
|
|
|
|
# release notes.
|
|
|
|
home.stateVersion = "23.05"; # Please read the comment before changing.
|
|
|
|
|
|
|
|
# The home.packages option allows you to install Nix packages into your
|
|
|
|
# environment.
|
2023-10-24 15:10:49 +00:00
|
|
|
home.packages = with pkgs; [
|
2024-04-13 14:45:45 +00:00
|
|
|
nil
|
|
|
|
nixfmt
|
|
|
|
|
2024-03-30 15:30:00 +00:00
|
|
|
devenv
|
|
|
|
direnv
|
|
|
|
|
2023-10-24 15:10:49 +00:00
|
|
|
bat
|
2024-04-16 00:35:22 +00:00
|
|
|
bottom
|
|
|
|
eza
|
|
|
|
fd
|
|
|
|
jq
|
2023-10-24 15:10:49 +00:00
|
|
|
just
|
2024-04-16 00:35:22 +00:00
|
|
|
ripgrep
|
|
|
|
sd
|
2023-10-24 15:10:49 +00:00
|
|
|
tokei
|
2023-12-08 12:09:30 +00:00
|
|
|
yazi
|
2023-10-24 15:10:49 +00:00
|
|
|
|
2024-04-21 11:35:34 +00:00
|
|
|
# Rust
|
|
|
|
rustup
|
|
|
|
|
2023-12-03 16:55:43 +00:00
|
|
|
# System
|
2024-03-07 12:57:31 +00:00
|
|
|
ansible
|
2023-12-08 12:09:37 +00:00
|
|
|
opentofu
|
2023-12-07 23:16:16 +00:00
|
|
|
pass
|
2023-10-01 19:00:13 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
home.file = {
|
2024-04-14 02:24:01 +00:00
|
|
|
".config/doom".source = ../doom;
|
2024-04-14 02:25:39 +00:00
|
|
|
".config/nvim".source = ../nvim;
|
2023-10-01 19:00:13 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
# You can also manage environment variables but you will have to manually
|
|
|
|
# source
|
|
|
|
#
|
|
|
|
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
|
|
|
#
|
|
|
|
# or
|
|
|
|
#
|
|
|
|
# /etc/profiles/per-user/digyx/etc/profile.d/hm-session-vars.sh
|
|
|
|
#
|
|
|
|
# if you don't want to manage your shell through Home Manager.
|
|
|
|
home.sessionVariables = {
|
|
|
|
# EDITOR = "emacs";
|
|
|
|
};
|
|
|
|
|
|
|
|
# Let Home Manager install and manage itself.
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
|
2023-10-01 19:26:44 +00:00
|
|
|
# Shell configurations
|
2023-10-01 19:00:13 +00:00
|
|
|
programs.fish = {
|
2024-04-13 14:45:45 +00:00
|
|
|
enable = true;
|
|
|
|
shellInit = ''
|
|
|
|
fish_add_path $HOME/.emacs.d/bin/
|
|
|
|
fish_add_path $HOME/.cargo/bin/
|
|
|
|
'';
|
|
|
|
|
|
|
|
loginShellInit = ''
|
|
|
|
set -x XDG_DATA_DIRS $HOME/.nix-profile/share:$XDG_DATA_DIRS
|
|
|
|
set -x DIRENV_LOG_FORMAT
|
|
|
|
set -x SSH_AUTH_SOCK /run/user/1000/keyring/ssh
|
|
|
|
'';
|
|
|
|
|
|
|
|
interactiveShellInit = ''
|
|
|
|
set fish_greeting
|
|
|
|
'';
|
|
|
|
|
|
|
|
functions = { update = "nix-channel --update && home-manager switch"; };
|
2023-12-08 12:09:30 +00:00
|
|
|
};
|
2023-10-01 19:00:13 +00:00
|
|
|
|
2024-02-08 22:02:52 +00:00
|
|
|
programs.mise.enable = true;
|
2023-12-08 12:09:30 +00:00
|
|
|
programs.starship.enable = true;
|
|
|
|
programs.zoxide.enable = true;
|
2023-10-01 19:00:13 +00:00
|
|
|
|
2023-10-01 19:26:44 +00:00
|
|
|
# Programming configurations
|
2023-10-01 19:00:13 +00:00
|
|
|
programs.git = {
|
2024-04-13 14:45:45 +00:00
|
|
|
enable = true;
|
|
|
|
userName = "Roman Godmaire";
|
|
|
|
userEmail = "godmaire@twilit.io";
|
|
|
|
|
|
|
|
delta = {
|
2023-10-01 19:00:13 +00:00
|
|
|
enable = true;
|
2024-04-13 14:45:45 +00:00
|
|
|
options = { side-by-side = true; };
|
2023-10-01 19:00:13 +00:00
|
|
|
};
|
|
|
|
|
2024-04-13 14:45:45 +00:00
|
|
|
extraConfig = { init = { defaultBranch = "main"; }; };
|
|
|
|
};
|
|
|
|
|
2023-10-01 19:00:13 +00:00
|
|
|
programs.emacs = {
|
2024-04-13 14:45:45 +00:00
|
|
|
enable = true;
|
|
|
|
package = pkgs.emacs29-pgtk;
|
2023-10-24 01:57:20 +00:00
|
|
|
|
2024-04-13 14:45:45 +00:00
|
|
|
extraPackages = epkgs: with epkgs; [ pdf-tools vterm ];
|
|
|
|
};
|
2023-10-01 19:00:13 +00:00
|
|
|
|
|
|
|
programs.neovim = {
|
2024-04-13 14:45:45 +00:00
|
|
|
enable = true;
|
|
|
|
defaultEditor = true;
|
|
|
|
};
|
2023-10-01 19:00:13 +00:00
|
|
|
}
|