dotfiles.nix/home/default.nix

144 lines
3.8 KiB
Nix
Raw Normal View History

2022-01-23 01:32:58 +00:00
{ config, pkgs, lib, ... }:
{
# Import config broken out into files
imports = [
./git.nix
./kitty.nix
./neovim.nix
./shells.nix
2022-04-21 01:26:30 +00:00
./copyApplications.nix
2022-01-23 01:32:58 +00:00
];
home.enableNixpkgsReleaseCheck = true;
# Packages with configuration --------------------------------------------------------------- {{{
programs = {
# a nicer cat
# https://rycee.gitlab.io/home-manager/options.html#opt-programs.bat.enable
bat = {
enable = true;
config = {
style = "plain";
};
};
# Direnv, load and unload environment variables depending on the current directory.
# https://direnv.net
# https://rycee.gitlab.io/home-manager/options.html#opt-programs.direnv.enable
direnv = {
enable = true;
nix-direnv.enable = true;
};
# Firefox
# https://rycee.gitlab.io/home-manager/options.html#opt-programs.firefox.enable
# firefox = {
# enable = true;
# package = pkgs.firefox;
# };
# Htop
# https://rycee.gitlab.io/home-manager/options.html#opt-programs.htop.enable
htop = {
enable = true;
settings = {
show_program_path = true;
};
};
# See `./shells.nix` for more on how this is used.
fish = {
functions = {
set-bat-colors = {
body = ''set -xg BAT_THEME "Solarized ($term_background)"'';
onVariable = "term_background";
};
};
interactiveShellInit = ''
# Set `bat` colors based on value of `$term_backdround` when shell starts up.
set-bat-colors
'';
};
2022-04-21 01:26:30 +00:00
# vscode
2022-05-08 01:43:56 +00:00
vscode = with pkgs; {
2022-04-21 01:26:30 +00:00
enable = true;
2022-05-08 01:43:56 +00:00
package = vscodium;
# extensions = [ pijul-vscode ];
2022-04-21 01:26:30 +00:00
};
2022-01-23 01:32:58 +00:00
};
# }}}
# Other packages ----------------------------------------------------------------------------- {{{
home.packages = with pkgs; [
# Some basics
abduco # lightweight session management
bottom # fancy version of `top` with ASCII graphs
coreutils
curl
du-dust # fancy version of `du`
exa # fancy version of `ls`
fd # fancy version of `find`
htop # fancy version of `top`
2022-05-24 02:24:43 +00:00
# httpie # fancy version of `curl`
2022-01-23 01:32:58 +00:00
hyperfine # benchmarking tool
2022-02-05 21:53:35 +00:00
mosh # wrapper for `ssh` that better at not dropping connections
2022-01-23 01:32:58 +00:00
procs # fancy version of `ps`
2022-05-08 01:43:56 +00:00
pv # pipe progress viewer
2022-01-23 01:32:58 +00:00
ripgrep # better version of `grep`
tealdeer # rust implementation of `tldr`
thefuck
unrar # extract RAR archives
wget
2022-05-24 02:24:43 +00:00
xh # reimplementation of `httpie` in rust
2022-01-23 01:32:58 +00:00
xz # extract XZ archives
# Dev stuff
cloc # source code line counter
2022-01-24 00:04:06 +00:00
jq # json processor
2022-02-10 05:09:59 +00:00
pijul # alternative to `git`
rustup # rust toolchain
2022-01-23 01:32:58 +00:00
# Useful nix related tools
cachix # adding/managing alternative binary caches hosted by Cachix
comma # run software from without installing it
nixpkgs-fmt
2022-01-23 01:32:58 +00:00
nix-prefetch-git
# nodePackages.node2nix
] ++ lib.optionals stdenv.isDarwin [
cocoapods
m-cli # useful macOS CLI commands
# prefmanager # tool for working with macOS defaults
];
# }}}
# Misc configuration files --------------------------------------------------------------------{{{
2022-02-10 05:09:59 +00:00
xdg = {
enable = true;
};
2022-04-20 20:31:11 +00:00
home.file.".pijulconfig".text = ''
[author]
name = "mat"
2022-04-21 01:26:30 +00:00
full_name = "${config.programs.git.userName}"
email = "${config.programs.git.userEmail}"
2022-04-20 20:31:11 +00:00
'';
2022-01-23 01:32:58 +00:00
# https://docs.haskellstack.org/en/stable/yaml_configuration/#non-project-specific-config
# home.file.".stack/config.yaml".text = lib.generators.toYAML {} {
# templates = {
# scm-init = "git";
# params = {
# author-name = config.programs.git.userName;
# author-email = config.programs.git.userEmail;
# github-username = "malob";
# };
# };
# nix.enable = true;
# };
# Stop `parallel` from displaying citation warning
# home.file.".parallel/will-cite".text = "";
# }}}
}