concat: RIP
This commit is contained in:
parent
57c6b890f9
commit
a9f4ad7586
@ -1,32 +1,6 @@
|
||||
pkgs: oldpkgs:
|
||||
with import <stockholm/lib>;
|
||||
{
|
||||
|
||||
# Combine a list of derivations using symlinks. Paths in later derivations
|
||||
# take precedence over earlier ones.
|
||||
#
|
||||
# Example: create wrapper but retain all other files (man pages etc.)
|
||||
#
|
||||
# {
|
||||
# nixpkgs.config.packageOverrides = super: {
|
||||
# hello = pkgs.concat "hello" [
|
||||
# super.hello
|
||||
# (pkgs.writeDashBin "hello" ''
|
||||
# echo OMG
|
||||
# echo exec ${super.hello}/bin/hello "$@"
|
||||
# '')
|
||||
# ];
|
||||
# };
|
||||
# }
|
||||
#
|
||||
concat = name: xs: pkgs.runCommand name {} ''
|
||||
mkdir $out
|
||||
${flip concatMapStrings xs (x: ''
|
||||
cp --remove-destination -vrs ${x}/* $out
|
||||
find $out -type d -exec chmod -v u+rwx {} +
|
||||
'')}
|
||||
'';
|
||||
|
||||
execve = name: { filename, argv ? null, envp ? {}, destination ? "" }: let
|
||||
in pkgs.writeC name { inherit destination; } /* c */ ''
|
||||
#include <unistd.h>
|
||||
|
@ -17,19 +17,24 @@ with import <stockholm/lib>;
|
||||
# my life sucks
|
||||
nixpkgs.config.packageOverrides = super: {
|
||||
irc-announce = super.callPackage <stockholm/krebs/5pkgs/simple/irc-announce> {
|
||||
pkgs = pkgs // { coreutils = pkgs.concat "coreutils-hack" [
|
||||
pkgs.coreutils
|
||||
(pkgs.writeDashBin "tee" ''
|
||||
if test "$1" = /dev/stderr; then
|
||||
while read -r line; do
|
||||
echo "$line"
|
||||
echo "$line" >&2
|
||||
done
|
||||
else
|
||||
${super.coreutils}/bin/tee "$@"
|
||||
fi
|
||||
'')
|
||||
];};
|
||||
pkgs = pkgs // {
|
||||
coreutils = pkgs.symlinkJoin {
|
||||
name = "coreutils-hack";
|
||||
paths = [
|
||||
pkgs.coreutils
|
||||
(pkgs.writeDashBin "tee" ''
|
||||
if test "$1" = /dev/stderr; then
|
||||
while read -r line; do
|
||||
echo "$line"
|
||||
echo "$line" >&2
|
||||
done
|
||||
else
|
||||
${super.coreutils}/bin/tee "$@"
|
||||
fi
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
boot.kernelParams = [ "copytoram" ];
|
||||
|
@ -5,37 +5,40 @@ with import <stockholm/lib>;
|
||||
{
|
||||
security.hideProcessInformation = true;
|
||||
nixpkgs.config.packageOverrides = super: {
|
||||
htop = pkgs.concat "htop" [
|
||||
super.htop
|
||||
(pkgs.writeDashBin "htop" ''
|
||||
export HTOPRC=${pkgs.writeText "htoprc" ''
|
||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||
sort_key=46
|
||||
sort_direction=1
|
||||
hide_threads=0
|
||||
hide_kernel_threads=1
|
||||
hide_userland_threads=0
|
||||
shadow_other_users=1
|
||||
show_thread_names=1
|
||||
show_program_path=1
|
||||
highlight_base_name=1
|
||||
highlight_megabytes=1
|
||||
highlight_threads=1
|
||||
tree_view=1
|
||||
header_margin=1
|
||||
detailed_cpu_time=0
|
||||
cpu_count_from_zero=0
|
||||
update_process_names=0
|
||||
account_guest_in_cpu_meter=1
|
||||
color_scheme=6
|
||||
delay=15
|
||||
left_meters=LeftCPUs2 RightCPUs2 Memory Swap
|
||||
left_meter_modes=1 1 1 1
|
||||
right_meters=Uptime Tasks LoadAverage Battery
|
||||
right_meter_modes=2 2 2 2
|
||||
''}
|
||||
exec ${super.htop}/bin/htop "$@"
|
||||
'')
|
||||
];
|
||||
htop = pkgs.symlinkJoin {
|
||||
name = "htop";
|
||||
paths = [
|
||||
super.htop
|
||||
(pkgs.writeDashBin "htop" ''
|
||||
export HTOPRC=${pkgs.writeText "htoprc" ''
|
||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||
sort_key=46
|
||||
sort_direction=1
|
||||
hide_threads=0
|
||||
hide_kernel_threads=1
|
||||
hide_userland_threads=0
|
||||
shadow_other_users=1
|
||||
show_thread_names=1
|
||||
show_program_path=1
|
||||
highlight_base_name=1
|
||||
highlight_megabytes=1
|
||||
highlight_threads=1
|
||||
tree_view=1
|
||||
header_margin=1
|
||||
detailed_cpu_time=0
|
||||
cpu_count_from_zero=0
|
||||
update_process_names=0
|
||||
account_guest_in_cpu_meter=1
|
||||
color_scheme=6
|
||||
delay=15
|
||||
left_meters=LeftCPUs2 RightCPUs2 Memory Swap
|
||||
left_meter_modes=1 1 1 1
|
||||
right_meters=Uptime Tasks LoadAverage Battery
|
||||
right_meter_modes=2 2 2 2
|
||||
''}
|
||||
exec ${super.htop}/bin/htop "$@"
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -113,12 +113,15 @@ let
|
||||
macro index ~ ,@( 'Toggle sidebar' # toggle the sidebar
|
||||
'';
|
||||
|
||||
mutt = pkgs.concat "mutt" [
|
||||
pkgs.neomutt
|
||||
(pkgs.writeDashBin "mutt" ''
|
||||
exec ${pkgs.neomutt}/bin/mutt -F ${muttrc} $@
|
||||
'')
|
||||
];
|
||||
mutt = pkgs.symlinkJoin {
|
||||
name = "mutt";
|
||||
paths = [
|
||||
pkgs.neomutt
|
||||
(pkgs.writeDashBin "mutt" ''
|
||||
exec ${pkgs.neomutt}/bin/mutt -F ${muttrc} $@
|
||||
'')
|
||||
];
|
||||
};
|
||||
|
||||
in {
|
||||
environment.systemPackages = [
|
||||
|
@ -322,17 +322,20 @@ let
|
||||
|
||||
in {
|
||||
environment.systemPackages = [
|
||||
(pkgs.concat "mc" [
|
||||
pkgs.mc
|
||||
(pkgs.writeDashBin "mc" ''
|
||||
export MC_DATADIR=${pkgs.writeOut "mc-ext" {
|
||||
"/mc.ext".link = mcExt;
|
||||
"/sfs.ini".text = "";
|
||||
}};
|
||||
export TERM=xterm-256color
|
||||
exec ${pkgs.mc}/bin/mc -S xoria256 "$@"
|
||||
'')
|
||||
])
|
||||
(pkgs.symlinkJoin {
|
||||
name = "mc";
|
||||
paths = [
|
||||
pkgs.mc
|
||||
(pkgs.writeDashBin "mc" ''
|
||||
export MC_DATADIR=${pkgs.writeOut "mc-ext" {
|
||||
"/mc.ext".link = mcExt;
|
||||
"/sfs.ini".text = "";
|
||||
}};
|
||||
export TERM=xterm-256color
|
||||
exec ${pkgs.mc}/bin/mc -S xoria256 "$@"
|
||||
'')
|
||||
];
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -7,12 +7,15 @@ let
|
||||
delete
|
||||
];
|
||||
|
||||
mpv = pkgs.concat "mpv" [
|
||||
pkgs.mpv
|
||||
(pkgs.writeDashBin "mpv" ''
|
||||
exec ${pkgs.mpv}/bin/mpv --no-config --script=${scripts} "$@"
|
||||
'')
|
||||
];
|
||||
mpv = pkgs.symlinkJoin {
|
||||
name = "mpv";
|
||||
paths = [
|
||||
pkgs.mpv
|
||||
(pkgs.writeDashBin "mpv" ''
|
||||
exec ${pkgs.mpv}/bin/mpv --no-config --script=${scripts} "$@"
|
||||
'')
|
||||
];
|
||||
};
|
||||
|
||||
moveToDir = key: dir: pkgs.writeText "move-with-${key}.lua" ''
|
||||
tmp_dir = "${dir}"
|
||||
|
@ -207,14 +207,17 @@ let
|
||||
alldirs = attrValues dirs ++ map dirOf (attrValues files);
|
||||
in unique (sort lessThan alldirs);
|
||||
|
||||
vim = pkgs.concat "vim" [
|
||||
pkgs.vim
|
||||
(pkgs.writeDashBin "vim" ''
|
||||
set -efu
|
||||
(umask 0077; exec ${pkgs.coreutils}/bin/mkdir -p ${toString mkdirs})
|
||||
exec ${pkgs.vim}/bin/vim "$@"
|
||||
'')
|
||||
];
|
||||
vim = pkgs.symlinkJoin {
|
||||
name = "vim";
|
||||
paths = [
|
||||
pkgs.vim
|
||||
(pkgs.writeDashBin "vim" ''
|
||||
set -efu
|
||||
(umask 0077; exec ${pkgs.coreutils}/bin/mkdir -p ${toString mkdirs})
|
||||
exec ${pkgs.vim}/bin/vim "$@"
|
||||
'')
|
||||
];
|
||||
};
|
||||
|
||||
hs.vim = pkgs.writeText "hs.vim" ''
|
||||
syn region String start=+\[[[:alnum:]]*|+ end=+|]+
|
||||
|
@ -32,19 +32,24 @@ with import <stockholm/lib>;
|
||||
# hack `tee` behavior
|
||||
nixpkgs.config.packageOverrides = super: {
|
||||
irc-announce = super.callPackage <stockholm/krebs/5pkgs/simple/irc-announce> {
|
||||
pkgs = pkgs // { coreutils = pkgs.concat "coreutils-hack" [
|
||||
pkgs.coreutils
|
||||
(pkgs.writeDashBin "tee" ''
|
||||
if test "$1" = /dev/stderr; then
|
||||
while read -r line; do
|
||||
echo "$line"
|
||||
echo "$line" >&2
|
||||
done
|
||||
else
|
||||
${super.coreutils}/bin/tee "$@"
|
||||
fi
|
||||
'')
|
||||
];};
|
||||
pkgs = pkgs // {
|
||||
coreutils = pkgs.symlinkJoin {
|
||||
name = "coreutils-hack";
|
||||
paths = [
|
||||
pkgs.coreutils
|
||||
(pkgs.writeDashBin "tee" ''
|
||||
if test "$1" = /dev/stderr; then
|
||||
while read -r line; do
|
||||
echo "$line"
|
||||
echo "$line" >&2
|
||||
done
|
||||
else
|
||||
${super.coreutils}/bin/tee "$@"
|
||||
fi
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -4,37 +4,40 @@ with import <stockholm/lib>;
|
||||
|
||||
{
|
||||
nixpkgs.config.packageOverrides = super: {
|
||||
htop = pkgs.concat "htop" [
|
||||
super.htop
|
||||
(pkgs.writeDashBin "htop" ''
|
||||
export HTOPRC=${pkgs.writeText "htoprc" ''
|
||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||
sort_key=46
|
||||
sort_direction=1
|
||||
hide_threads=0
|
||||
hide_kernel_threads=1
|
||||
hide_userland_threads=0
|
||||
shadow_other_users=1
|
||||
show_thread_names=1
|
||||
show_program_path=1
|
||||
highlight_base_name=1
|
||||
highlight_megabytes=1
|
||||
highlight_threads=1
|
||||
tree_view=1
|
||||
header_margin=1
|
||||
detailed_cpu_time=0
|
||||
cpu_count_from_zero=0
|
||||
update_process_names=0
|
||||
account_guest_in_cpu_meter=1
|
||||
color_scheme=0
|
||||
delay=15
|
||||
left_meters=LeftCPUs2 RightCPUs2 Memory Swap
|
||||
left_meter_modes=1 1 1 1
|
||||
right_meters=Uptime Tasks LoadAverage Battery
|
||||
right_meter_modes=2 2 2 2
|
||||
''}
|
||||
exec ${super.htop}/bin/htop "$@"
|
||||
'')
|
||||
];
|
||||
htop = pkgs.symlinkJoin {
|
||||
name = "htop";
|
||||
paths = [
|
||||
super.htop
|
||||
(pkgs.writeDashBin "htop" ''
|
||||
export HTOPRC=${pkgs.writeText "htoprc" ''
|
||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||
sort_key=46
|
||||
sort_direction=1
|
||||
hide_threads=0
|
||||
hide_kernel_threads=1
|
||||
hide_userland_threads=0
|
||||
shadow_other_users=1
|
||||
show_thread_names=1
|
||||
show_program_path=1
|
||||
highlight_base_name=1
|
||||
highlight_megabytes=1
|
||||
highlight_threads=1
|
||||
tree_view=1
|
||||
header_margin=1
|
||||
detailed_cpu_time=0
|
||||
cpu_count_from_zero=0
|
||||
update_process_names=0
|
||||
account_guest_in_cpu_meter=1
|
||||
color_scheme=0
|
||||
delay=15
|
||||
left_meters=LeftCPUs2 RightCPUs2 Memory Swap
|
||||
left_meter_modes=1 1 1 1
|
||||
right_meters=Uptime Tasks LoadAverage Battery
|
||||
right_meter_modes=2 2 2 2
|
||||
''}
|
||||
exec ${super.htop}/bin/htop "$@"
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -297,18 +297,21 @@ let {
|
||||
alldirs = attrValues dirs ++ map dirOf (attrValues files);
|
||||
in unique (sort lessThan alldirs);
|
||||
|
||||
vim-wrapper = pkgs.concat "vim" [
|
||||
pkgs.vim_configurable
|
||||
(pkgs.writeDashBin "vim" ''
|
||||
set -efu
|
||||
(umask 0077; exec ${pkgs.coreutils}/bin/mkdir -p ${toString mkdirs})
|
||||
if test $# = 0 && test -e "$PWD/.ctrlpignore"; then
|
||||
set -- +CtrlP
|
||||
fi
|
||||
# vim-orgmode needs Python, thus vim_configurable instead of just vim
|
||||
exec ${pkgs.vim_configurable}/bin/vim "$@"
|
||||
'')
|
||||
];
|
||||
vim-wrapper = pkgs.symlinkJoin {
|
||||
name = "vim";
|
||||
paths = [
|
||||
pkgs.vim_configurable
|
||||
(pkgs.writeDashBin "vim" ''
|
||||
set -efu
|
||||
(umask 0077; exec ${pkgs.coreutils}/bin/mkdir -p ${toString mkdirs})
|
||||
if test $# = 0 && test -e "$PWD/.ctrlpignore"; then
|
||||
set -- +CtrlP
|
||||
fi
|
||||
# vim-orgmode needs Python, thus vim_configurable instead of just vim
|
||||
exec ${pkgs.vim_configurable}/bin/vim "$@"
|
||||
'')
|
||||
];
|
||||
};
|
||||
|
||||
vimrc = pkgs.writeText "vimrc" ''
|
||||
set nocompatible
|
||||
|
Loading…
Reference in New Issue
Block a user