refactor basic tools a bit
This commit is contained in:
parent
f3ef2e058c
commit
fc21e3a1b2
4 changed files with 85 additions and 49 deletions
|
@ -3,6 +3,8 @@
|
|||
{
|
||||
imports = [
|
||||
./fzf.nix
|
||||
./multiplexers.nix
|
||||
./nix.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
@ -27,35 +29,11 @@
|
|||
nnn
|
||||
ranger
|
||||
man-pages
|
||||
screen
|
||||
unzip
|
||||
usbutils
|
||||
pciutils
|
||||
];
|
||||
|
||||
nix = {
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
# override default nix shell nixpkgs# behaviour to use current flake lock
|
||||
nix.registry =
|
||||
let flakes = lib.filterAttrs (_name: value: value ? outputs) inputs.self.inputs;
|
||||
in builtins.mapAttrs (_name: v: { flake = v; }) flakes;
|
||||
|
||||
nix.nixPath = lib.mapAttrsToList (name: value: "${name}=${value.outPath}") inputs.self.inputs;
|
||||
|
||||
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
keyMode = "vi";
|
||||
escapeTime = 0;
|
||||
historyLimit = 50000;
|
||||
aggressiveResize = true;
|
||||
terminal = "tmux-256color";
|
||||
};
|
||||
|
||||
# set appropriate environ variables
|
||||
environment.variables = {
|
||||
EDITOR = "nvim";
|
||||
|
@ -70,10 +48,7 @@
|
|||
ll = "ls -lah";
|
||||
lt = "ls --tree";
|
||||
vim = "nvim";
|
||||
mutt = "neomutt";
|
||||
grep = "grep --color=auto";
|
||||
nix-build="${pkgs.nix-output-monitor}/bin/nom-build";
|
||||
nix-shell="${pkgs.nix-output-monitor}/bin/nom-shell";
|
||||
};
|
||||
|
||||
users.defaultUserShell = pkgs.zsh;
|
||||
|
@ -89,19 +64,6 @@
|
|||
setopt HIST_IGNORE_ALL_DUPS
|
||||
# allow comments
|
||||
setopt interactivecomments
|
||||
|
||||
# hacky wrapper for nix, so we can use nom automagically
|
||||
export _nom_cmd=${pkgs.nix-output-monitor}/bin/nom
|
||||
function nix {
|
||||
case $1 in
|
||||
build|shell|develop)
|
||||
echo \[SUBSTITUTION\] ''$_nom_cmd ''${@:1} 1>&2
|
||||
''$_nom_cmd ''${@:1}
|
||||
;;
|
||||
*)
|
||||
${pkgs.nix}/bin/nix $@
|
||||
esac
|
||||
}
|
||||
'';
|
||||
promptInit = ''
|
||||
source ${pkgs.liquidprompt}/share/zsh/plugins/liquidprompt/liquidprompt
|
||||
|
@ -123,13 +85,4 @@
|
|||
programs.iftop.enable = true;
|
||||
programs.mosh.enable = true;
|
||||
|
||||
programs.screen.screenrc = ''
|
||||
defscrollback 10000
|
||||
|
||||
startup_message off
|
||||
|
||||
hardstatus on
|
||||
hardstatus alwayslastline
|
||||
hardstatus string "%w"
|
||||
'';
|
||||
}
|
||||
|
|
43
modules/basic-tools/multiplexers.nix
Normal file
43
modules/basic-tools/multiplexers.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{ pkgs, ... }: {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
keyMode = "vi";
|
||||
escapeTime = 0;
|
||||
historyLimit = 500000;
|
||||
aggressiveResize = true;
|
||||
terminal = "tmux-256color";
|
||||
};
|
||||
|
||||
programs.zsh.interactiveShellInit = ''
|
||||
# create new tmux session with $1 as a name
|
||||
# if no arguments supplied, use name of current dir
|
||||
|
||||
function tn {
|
||||
if [ $# -eq 0 ]
|
||||
then
|
||||
tmux new-session -s $(basename $(pwd))
|
||||
else
|
||||
tmux new-session -s $1
|
||||
fi
|
||||
}
|
||||
'';
|
||||
|
||||
environment.shellAliases = {
|
||||
tl = "tmux list-sessions";
|
||||
ta = "tmux attach -t";
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.screen
|
||||
];
|
||||
|
||||
programs.screen.screenrc = ''
|
||||
defscrollback 10000
|
||||
|
||||
startup_message off
|
||||
|
||||
hardstatus on
|
||||
hardstatus alwayslastline
|
||||
hardstatus string "%w"
|
||||
'';
|
||||
}
|
36
modules/basic-tools/nix.nix
Normal file
36
modules/basic-tools/nix.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
{ lib, pkgs, inputs, ... }: {
|
||||
|
||||
nix = {
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
# override default nix shell nixpkgs# behaviour to use current flake lock
|
||||
nix.registry =
|
||||
let flakes = lib.filterAttrs (_name: value: value ? outputs) inputs.self.inputs;
|
||||
in builtins.mapAttrs (_name: v: { flake = v; }) flakes;
|
||||
|
||||
nix.nixPath = lib.mapAttrsToList (name: value: "${name}=${value.outPath}") inputs.self.inputs;
|
||||
|
||||
environment.shellAliases = {
|
||||
nix-build="${pkgs.nix-output-monitor}/bin/nom-build";
|
||||
nix-shell="${pkgs.nix-output-monitor}/bin/nom-shell";
|
||||
};
|
||||
|
||||
programs.zsh.interactiveShellInit = ''
|
||||
# hacky wrapper for nix, so we can use nom automagically
|
||||
export _nom_cmd=${pkgs.nix-output-monitor}/bin/nom
|
||||
function nix {
|
||||
case $1 in
|
||||
build|shell|develop)
|
||||
echo \[SUBSTITUTION\] ''$_nom_cmd ''${@:1} 1>&2
|
||||
''$_nom_cmd ''${@:1}
|
||||
;;
|
||||
*)
|
||||
${pkgs.nix}/bin/nix $@
|
||||
esac
|
||||
}
|
||||
compdef nix=_nix
|
||||
'';
|
||||
}
|
|
@ -12,6 +12,10 @@ in
|
|||
links2
|
||||
];
|
||||
|
||||
environment.shellAliases = {
|
||||
mutt = "neomutt";
|
||||
};
|
||||
|
||||
sops.secrets = {
|
||||
"mail/oxapentane.com" = {
|
||||
owner = config.users.users.grue.name;
|
||||
|
|
Loading…
Add table
Reference in a new issue