Add project to repo
This commit is contained in:
17
home/shell/common.nix
Normal file
17
home/shell/common.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ pkgs
|
||||
, ...
|
||||
}:
|
||||
# nix tooling
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
alejandra
|
||||
deadnix
|
||||
statix
|
||||
];
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
}
|
||||
36
home/shell/default.nix
Normal file
36
home/shell/default.nix
Normal file
@@ -0,0 +1,36 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
d = config.xdg.dataHome;
|
||||
c = config.xdg.configHome;
|
||||
cache = config.xdg.cacheHome;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./nushell
|
||||
./common.nix
|
||||
./starship.nix
|
||||
./terminals.nix
|
||||
];
|
||||
|
||||
# add environment variables
|
||||
home.sessionVariables = {
|
||||
# clean up ~
|
||||
LESSHISTFILE = cache + "/less/history";
|
||||
LESSKEY = c + "/less/lesskey";
|
||||
WINEPREFIX = d + "/wine";
|
||||
|
||||
# set default applications
|
||||
EDITOR = "vim";
|
||||
BROWSER = "firefox";
|
||||
TERMINAL = "alacritty";
|
||||
|
||||
# enable scrolling in git diff
|
||||
DELTA_PAGER = "less -R";
|
||||
|
||||
MANPAGER = "sh -c 'col -bx | bat -l man -p'";
|
||||
};
|
||||
|
||||
home.shellAliases = {
|
||||
k = "kubectl";
|
||||
};
|
||||
}
|
||||
0
home/shell/nushell/config.nu
Normal file
0
home/shell/nushell/config.nu
Normal file
7
home/shell/nushell/default.nix
Normal file
7
home/shell/nushell/default.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
configFile.source = ./config.nu;
|
||||
envFile.source = ./env.nu;
|
||||
};
|
||||
}
|
||||
36
home/shell/nushell/env.nu
Normal file
36
home/shell/nushell/env.nu
Normal file
@@ -0,0 +1,36 @@
|
||||
# Nushell Environment Config File
|
||||
|
||||
# Specifies how environment variables are:
|
||||
# - converted from a string to a value on Nushell startup (from_string)
|
||||
# - converted from a value back to a string when running external commands (to_string)
|
||||
# Note: The conversions happen *after* config.nu is loaded
|
||||
let-env ENV_CONVERSIONS = {
|
||||
"PATH": {
|
||||
from_string: { |s| $s | split row (char esep) | path expand -n }
|
||||
to_string: { |v| $v | path expand -n | str join (char esep) }
|
||||
}
|
||||
"Path": {
|
||||
from_string: { |s| $s | split row (char esep) | path expand -n }
|
||||
to_string: { |v| $v | path expand -n | str join (char esep) }
|
||||
}
|
||||
}
|
||||
|
||||
# Directories to search for scripts when calling source or use
|
||||
#
|
||||
# By default, <nushell-config-dir>/scripts is added
|
||||
let-env NU_LIB_DIRS = [
|
||||
($nu.config-path | path dirname | path join 'scripts')
|
||||
]
|
||||
|
||||
# Directories to search for plugin binaries when calling register
|
||||
#
|
||||
# By default, <nushell-config-dir>/plugins is added
|
||||
let-env NU_PLUGIN_DIRS = [
|
||||
($nu.config-path | path dirname | path join 'plugins')
|
||||
]
|
||||
|
||||
# To add entries to PATH (on Windows you might use Path), you can use the following pattern:
|
||||
# let-env PATH = ($env.PATH | split row (char esep) | prepend '/some/path')
|
||||
|
||||
mkdir ~/.cache/starship
|
||||
starship init nu | sed "s/size -c/size/" | save ~/.cache/starship/init.nu
|
||||
13
home/shell/starship.nix
Normal file
13
home/shell/starship.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ config, ... }: {
|
||||
home.sessionVariables.STARSHIP_CACHE = "${config.xdg.cacheHome}/starship";
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
character = {
|
||||
success_symbol = "[›](bold green)";
|
||||
error_symbol = "[›](bold red)";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
29
home/shell/terminals.nix
Normal file
29
home/shell/terminals.nix
Normal file
@@ -0,0 +1,29 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
# terminals
|
||||
|
||||
let
|
||||
font = "JetBrainsMono Nerd Font";
|
||||
in
|
||||
{
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
window.opacity = 0.95;
|
||||
window.dynamic_padding = true;
|
||||
window.padding = {
|
||||
x = 5;
|
||||
y = 5;
|
||||
};
|
||||
scrolling.history = 10000;
|
||||
|
||||
font = {
|
||||
normal.family = font;
|
||||
bold.family = font;
|
||||
italic.family = font;
|
||||
size = 11;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user