summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2017-06-20 19:30:14 +0200
committertv <tv@krebsco.de>2017-06-20 19:30:14 +0200
commita9f4ad7586bfb543cdcdeacf93b71bdce506621a (patch)
treebe74bac26ea69ba9a7a6519ef12db86d1a953927
parent57c6b890f9088bb333eeab215ecfeca9d09ce3ef (diff)
concat: RIP
-rw-r--r--krebs/5pkgs/writers.nix26
-rw-r--r--lass/1systems/iso.nix31
-rw-r--r--lass/2configs/htop.nix67
-rw-r--r--lass/2configs/mail.nix15
-rw-r--r--lass/2configs/mc.nix25
-rw-r--r--lass/2configs/mpv.nix15
-rw-r--r--lass/2configs/vim.nix19
-rw-r--r--makefu/1systems/iso.nix31
-rw-r--r--tv/2configs/htop.nix67
-rw-r--r--tv/2configs/vim.nix27
10 files changed, 164 insertions, 159 deletions
diff --git a/krebs/5pkgs/writers.nix b/krebs/5pkgs/writers.nix
index 8ea9c37d5..c4fb8cd83 100644
--- a/krebs/5pkgs/writers.nix
+++ b/krebs/5pkgs/writers.nix
@@ -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>
diff --git a/lass/1systems/iso.nix b/lass/1systems/iso.nix
index eaeb1991f..8b2e82d31 100644
--- a/lass/1systems/iso.nix
+++ b/lass/1systems/iso.nix
@@ -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" ];
diff --git a/lass/2configs/htop.nix b/lass/2configs/htop.nix
index 69e04a05b..ec86d4120 100644
--- a/lass/2configs/htop.nix
+++ b/lass/2configs/htop.nix
@@ -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 "$@"
+ '')
+ ];
+ };
};
}
diff --git a/lass/2configs/mail.nix b/lass/2configs/mail.nix
index 41c7bceb2..5748b6eaf 100644
--- a/lass/2configs/mail.nix
+++ b/lass/2configs/mail.nix
@@ -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 = [
diff --git a/lass/2configs/mc.nix b/lass/2configs/mc.nix
index 513ee1bd0..62fd52f3f 100644
--- a/lass/2configs/mc.nix
+++ b/lass/2configs/mc.nix
@@ -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 "$@"
+ '')
+ ];
+ })
];
}
diff --git a/lass/2configs/mpv.nix b/lass/2configs/mpv.nix
index bb068e7a1..c8b590857 100644
--- a/lass/2configs/mpv.nix
+++ b/lass/2configs/mpv.nix
@@ -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}"
diff --git a/lass/2configs/vim.nix b/lass/2configs/vim.nix
index 40f7eedde..b2b0c309a 100644
--- a/lass/2configs/vim.nix
+++ b/lass/2configs/vim.nix
@@ -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=+|]+
diff --git a/makefu/1systems/iso.nix b/makefu/1systems/iso.nix
index 1e4f9c55f..c679241e5 100644
--- a/makefu/1systems/iso.nix
+++ b/makefu/1systems/iso.nix
@@ -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
+ '')
+ ];
+ };
+ };
};
};
}
diff --git a/tv/2configs/htop.nix b/tv/2configs/htop.nix
index 409df2516..5d7e0272b 100644
--- a/tv/2configs/htop.nix
+++ b/tv/2configs/htop.nix
@@ -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 "$@"
+ '')
+ ];
+ };
};
}
diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix
index b534c3f42..93ed46dc8 100644
--- a/tv/2configs/vim.nix
+++ b/tv/2configs/vim.nix
@@ -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