Compare commits

...
6 Commits
Author SHA1 Message Date
hektor 3c97d0a21f refactor(shell): nixify 'fzf' config
check / lint (push) Successful in 14s
2026-08-23 13:32:24 +02:00
hektor 349d697391 refactor(nvim): nixify 'nvimpager' config 2026-08-23 13:32:24 +02:00
hektor 86e780da0d refactor(shell): nixify bash history config 2026-08-23 13:32:24 +02:00
hektor 31e2bae402 refactor(shell): nixify adding '.bin' to 'PATH' 2026-08-23 13:32:24 +02:00
hektor 4f77043e3b refactor(nvim): nixify editor bash config 2026-08-23 13:32:24 +02:00
hektor db31984573 refactor(go): nixify 'GOPATH' environment variable 2026-08-23 13:32:24 +02:00
6 changed files with 50 additions and 59 deletions
+1 -34
View File
@@ -5,8 +5,7 @@
. /etc/os-release
# Editor & prompt configuration
[ -f "$HOME/.bashrc.d/editor" ] && . "$HOME/.bashrc.d/editor"
# Prompt configuration
[ -f "$HOME/.bashrc.d/prompt" ] && . "$HOME/.bashrc.d/prompt"
# Aliases {{{
@@ -31,24 +30,6 @@ done
[ -f "$HOME/.bashrc.d/prompt" ] && . "$HOME/.bashrc.d/prompt"
# }}}
# Path {{{
# Add ~/.bin to PATH
export PATH=~/.bin:$PATH
# }}}
# History {{{
export HISTSIZE=999999
export HISTFILESIZE= # Unlimited
export HISTCONTROL=ignoreboth:erasedups
export HISTIGNORE=" *:clear:l:ls:cd" # Omit commands from history (e.g. those prepended with space)
# }}}
# Man pages {{{
# See `:h :Man` in NeoVim
export MANWIDTH=80
export PAGER=nvimpager
# }}}
# X11 {{{
export XDG_SESSION_TYPE=X11
export XDG_CONFIG_HOME=$HOME/.config
@@ -58,16 +39,6 @@ export XDG_DATA_HOME=$HOME/.local/share
# FZF {{{
# Check if fzf is installed
if [ -f "/usr/bin/fzf" ]; then
# Fuzzy finder setup
export FZF_COMPLETION_TRIGGER='**'
export FZF_DEFAULT_COMMAND='rg --files ""'
export FZF_DEFAULT_OPTS="
--pointer='❭'
--height 10%
--color=fg:-1,bg:-1"
export FZF_CTRL_T_COMMAND="${FZF_DEFAULT_COMMAND}"
export FZF_CTRL_T_OPTS="--preview='bat {} | head -500'"
if [[ $ID == "raspbian" ]]; then
. /usr/share/doc/fzf/examples/completion.bash
. /usr/share/doc/fzf/examples/key-bindings.bash
@@ -82,10 +53,6 @@ else
fi
# }}}
# Go {{{
export GOPATH="${XDG_DATA_HOME}/go"
# }}}
# Jupyter {{{
export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
# }}}
-7
View File
@@ -1,7 +0,0 @@
# shellcheck shell=bash
# vim: set ft=bash :
# Set NeoVim as default editor
export EDITOR=nvim
export SUDO_EDITOR="$EDITOR"
export SYSTEMD_EDITOR="$EDITOR"
+8 -8
View File
@@ -5,18 +5,18 @@
...
}:
let
cfg = config.go;
in
{
options.go = {
enable = lib.mkEnableOption "Go";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
go
gopls
];
config = lib.mkIf config.go.enable {
home = {
sessionVariables.GOPATH = "${config.xdg.dataHome}/go";
packages = with pkgs; [
go
gopls
];
};
};
}
+15 -7
View File
@@ -6,15 +6,23 @@
...
}:
let
cfg = config.nvim;
in
{
options.nvim.enable = lib.mkEnableOption "nvim";
config = lib.mkIf cfg.enable {
home.packages = [
inputs.nvim.packages.${pkgs.stdenv.hostPlatform.system}.nvim
];
config = lib.mkIf config.nvim.enable {
home = {
sessionVariables = {
EDITOR = "nvim";
SUDO_EDITOR = "nvim";
SYSTEMD_EDITOR = "nvim";
PAGER = "nvimpager";
MANWIDTH = "80";
};
packages = with pkgs; [
inputs.nvim.packages.${pkgs.stdenv.hostPlatform.system}.nvim
nvimpager
];
};
};
}
+17 -3
View File
@@ -37,6 +37,22 @@ in
programs.bash = {
enable = true;
enableCompletion = true;
historySize = 999999;
historyFileSize = -1; # unlimited
historyControl = [
"ignoreboth"
"erasedups"
];
# omit commands from history (e.g. those prepended with space)
historyIgnore = [
" *"
"clear"
"l"
"ls"
"cd"
];
initExtra = ''
for f in /home/${username}/.bashrc.d/*; do
[ -f "$f" ] && source "$f"
@@ -45,8 +61,6 @@ in
${lib.optionalString cfg.aliases.all "source /home/${username}/.bash_aliases/all"}
${lib.optionalString cfg.aliases.lang-js "source /home/${username}/.bash_aliases/lang-js"}
${lib.optionalString cfg.addBinToPath "export PATH=${dotsPath}/.bin:$PATH"}
${cfg.extraInit}
'';
};
@@ -54,7 +68,6 @@ in
home.file = {
".inputrc".source = dotsPath + "/.inputrc";
".bashrc.d/prompt".source = dotsPath + "/.bashrc.d/prompt";
".bashrc.d/editor".source = dotsPath + "/.bashrc.d/editor";
}
// lib.optionalAttrs cfg.aliases.all {
".bash_aliases/all".source = dotsPath + "/.bash_aliases/all";
@@ -62,5 +75,6 @@ in
// lib.optionalAttrs cfg.aliases.lang-js {
".bash_aliases/lang-js".source = dotsPath + "/.bash_aliases/lang-js";
};
home.sessionPath = lib.optional cfg.addBinToPath "${dotsPath}/.bin";
};
}
+9
View File
@@ -10,6 +10,15 @@
programs.fzf = {
enable = true;
enableBashIntegration = lib.mkDefault true;
defaultCommand = "rg --files";
defaultOptions = [
"--pointer=''"
"--height 10%"
];
fileWidget = {
command = "rg --files";
options = [ "--preview 'bat {} | head -500'" ];
};
};
home.packages = with pkgs; [