Skip to content

Instantly share code, notes, and snippets.

@layus
Created May 3, 2017 14:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save layus/427356ab4e7f46565d984686a311ca91 to your computer and use it in GitHub Desktop.
Save layus/427356ab4e7f46565d984686a311ca91 to your computer and use it in GitHub Desktop.
Nix user configuration
# Update with `nix-env -f ~/.nixpkgs/packages.nix -ir -Qk`
let
default = import <nixpkgs-unstable> {};
mypkgs = default.pkgs.callPackages ~/.nixpkgs/myconfig {};
in default.buildEnv {
# TODO: remove this indirection !
name = "gmaudoux-package-set";
paths = with default; [
# {{{ Graphical applications
firefox thunderbird chromium
libreoffice gnumeric
gimp
slack
mozart
zim
skype
texmaker
inkscape
yed
hexchat
vlc
aspellDicts.fr
aspellDicts.en
# }}}
# {{{ Desktop environment
gnome3.gnome_themes_standard # For firefox and thunderbird theming.
conky dmenu2 scrot # for i3.
volumeicon pavucontrol # for i3.
keychain
xclip
imagemagickBig
sox
mypkgs.i3-config
# }}}
# {{{ Console
(python3.withPackages (ps: with ps; [ requests2 ]))
rxvt_unicode-with-plugins
vim_configurable
git mercurial subversion # VCS
gitAndTools.hub
ack tree
ctags
file
zip unzip
jshon
lynx
screen
ghostscript
diffutils colordiff wdiff
# }}}
# {{{ Misc
parallel
pv
psmisc # contains `killall`
vcsh # To manage dotfiles
tup
gnuplot
gawk
xorg.xclock
gnome3.zenity
gnumake
(lib.lowPrio remake)
pandoc
texlive.combined.scheme-full
biber
patchelf binutils
gdb
mypkgs.EMV-CAP
mypkgs.readlinks
mypkgs.monitormonitors
# }}}
# {{{ Admin
xorg.xrandr arandr autorandr # display management
xorg.xev
htop
xorg.xkill
openssl
# }}}
# {{{ Courses
dafny
vscode mono # mono explicitly required by VSCode to run dafny
#bazel jdk
gcc
jre
# }}}
# {{{ Nix internals fixup
shared_mime_info
desktop_file_utils
# }}}
];
postBuild = ''
if [ -x $out/bin/update-mime-database -a -w $out/share/mime ]; then
XDG_DATA_DIRS=$out/share $out/bin/update-mime-database -V $out/share/mime > /dev/null
fi
if [ -x $out/bin/gtk-update-icon-cache -a -f $out/share/icons/hicolor/index.theme ]; then
$out/bin/gtk-update-icon-cache $out/share/icons/hicolor
fi
if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then
$out/bin/glib-compile-schemas $out/share/glib-2.0/schemas
fi
if [ -x $out/bin/update-desktop-database -a -w $out/share/applications ]; then
$out/bin/update-desktop-database $out/share/applications
fi
if [ -x $out/bin/install-info -a -w $out/share/info ]; then
shopt -s nullglob
for i in $out/share/info/*.info $out/share/info/*.info.gz; do
$out/bin/install-info $i $out/share/info/dir
done
fi
'';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment