2017-10-16 22:53:49 +02:00
|
|
|
# This file contains configuration for packages to install.
|
|
|
|
# It does not contain configuration for software that is already covered
|
|
|
|
# by other NixOS options (e.g. emacs)
|
|
|
|
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
2018-04-22 13:17:30 +02:00
|
|
|
let
|
2018-04-22 13:37:50 +02:00
|
|
|
fetchChannel = { rev, sha256 }: import (fetchTarball {
|
|
|
|
inherit sha256;
|
|
|
|
url = "https://github.com/NixOS/nixpkgs-channels/archive/${rev}.tar.gz";
|
|
|
|
}) { config.allowUnfree = true; };
|
|
|
|
|
2018-05-01 14:07:24 +02:00
|
|
|
# Channels last updated: 2014-05-01
|
2018-04-22 13:17:30 +02:00
|
|
|
|
2018-04-22 13:38:17 +02:00
|
|
|
# Instead of relying on Nix channels and ending up with out-of-sync
|
|
|
|
# situations between machines, the commit for the stable Nix channel
|
|
|
|
# is pinned here.
|
|
|
|
stable = fetchChannel {
|
2018-05-01 14:07:24 +02:00
|
|
|
rev = "ce0d9d638ded6119f19d87e433e160603683fb1b";
|
|
|
|
sha256 = "0na6kjk4xw6gqrn3a903yv3zfa64bspq2q3kd6wyf52y44j3s8sx";
|
2018-04-22 13:38:17 +02:00
|
|
|
};
|
2018-04-22 13:17:30 +02:00
|
|
|
|
|
|
|
# Certain packages from unstable are required in my daily setup. To
|
|
|
|
# get access to them, they are hand-picked from the unstable channel
|
|
|
|
# and set as overrides on the system package set.
|
2018-04-22 13:37:50 +02:00
|
|
|
unstable = fetchChannel {
|
2018-05-01 14:07:24 +02:00
|
|
|
rev = "1b1be29bf827fc177100ae175030b2fda4132e47";
|
|
|
|
sha256 = "0dnwyvh2xfbf35apf17iw59hscf1jdqn8nx7hm7yh9c0ypkh2qy3";
|
2018-04-22 13:37:50 +02:00
|
|
|
};
|
2017-10-16 22:53:49 +02:00
|
|
|
in {
|
|
|
|
# Configure the Nix package manager
|
2018-03-04 22:08:07 +01:00
|
|
|
nixpkgs = {
|
|
|
|
config.allowUnfree = true;
|
2018-04-22 13:38:17 +02:00
|
|
|
# To use the pinned channel, the original package set is thrown
|
|
|
|
# away in the overrides:
|
|
|
|
config.packageOverrides = oldPkgs: stable // {
|
2018-03-04 22:08:07 +01:00
|
|
|
wallpapers = import ./pkgs/wallpapers.nix;
|
2018-04-22 13:17:30 +02:00
|
|
|
pulseaudio-ctl = import pkgs/pulseaudio-ctl.nix;
|
|
|
|
|
|
|
|
kontemplate = unstable.kontemplate;
|
|
|
|
mq-cli = unstable.mq-cli;
|
|
|
|
|
2018-05-01 16:07:02 +02:00
|
|
|
# Override various Emacs packages from unstable:
|
|
|
|
pinnedEmacs.counsel = unstable.emacsPackagesNg.melpaPackages.counsel;
|
|
|
|
pinnedEmacs.counsel-tramp = unstable.emacsPackagesNg.melpaPackages.counsel-tramp;
|
2018-04-22 13:18:20 +02:00
|
|
|
pinnedEmacs.exwm = unstable.emacsPackagesNg.elpaPackages.exwm;
|
2018-05-01 15:05:53 +02:00
|
|
|
pinnedEmacs.ivy = unstable.emacsPackagesNg.melpaPackages.ivy;
|
|
|
|
pinnedEmacs.ivy-gitlab = unstable.emacsPackagesNg.melpaPackages.ivy-gitlab;
|
2018-05-01 16:07:02 +02:00
|
|
|
pinnedEmacs.ivy-hydra = unstable.emacsPackagesNg.melpaPackages.ivy-hydra;
|
|
|
|
pinnedEmacs.ivy-pass = unstable.emacsPackagesNg.melpaPackages.ivy-pass;
|
|
|
|
pinnedEmacs.swiper = unstable.emacsPackagesNg.melpaPackages.swiper;
|
2018-03-04 22:08:07 +01:00
|
|
|
};
|
|
|
|
};
|
2017-10-16 22:53:49 +02:00
|
|
|
|
|
|
|
# ... and declare packages to be installed.
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
# Default nixos.* packages:
|
|
|
|
alacritty
|
2018-04-24 23:58:03 +02:00
|
|
|
binutils-unwrapped
|
|
|
|
cargo
|
2017-10-16 22:53:49 +02:00
|
|
|
curl
|
|
|
|
direnv
|
2017-10-25 17:20:24 +02:00
|
|
|
dnsutils
|
2017-10-16 22:53:49 +02:00
|
|
|
exa
|
|
|
|
fd
|
2018-04-04 17:10:12 +02:00
|
|
|
firefox-bin
|
2017-10-16 22:53:49 +02:00
|
|
|
fish
|
|
|
|
gcc
|
|
|
|
git
|
2017-10-31 00:45:57 +01:00
|
|
|
gnome3.dconf
|
2017-10-30 00:30:12 +01:00
|
|
|
gnome3.evolution
|
2017-10-31 00:45:57 +01:00
|
|
|
gnome3.glib_networking
|
2017-10-16 22:53:49 +02:00
|
|
|
gnumake
|
|
|
|
gnupg
|
2017-10-17 01:18:18 +02:00
|
|
|
google-cloud-sdk
|
2018-04-04 17:10:12 +02:00
|
|
|
gopass
|
2017-10-16 22:53:49 +02:00
|
|
|
htop
|
|
|
|
i3lock
|
2017-10-20 20:23:08 +02:00
|
|
|
iftop
|
2017-10-19 19:54:22 +02:00
|
|
|
jetbrains.idea-ultimate
|
2017-10-19 01:48:27 +02:00
|
|
|
jq
|
2018-04-22 13:17:30 +02:00
|
|
|
kontemplate
|
2018-04-24 23:58:03 +02:00
|
|
|
kubernetes
|
2017-11-24 09:28:05 +01:00
|
|
|
lispPackages.quicklisp
|
2017-10-16 22:53:49 +02:00
|
|
|
lxappearance-gtk3
|
|
|
|
manpages
|
2017-10-18 15:16:28 +02:00
|
|
|
maven
|
2018-04-22 13:17:30 +02:00
|
|
|
mq-cli
|
2017-10-17 15:59:08 +02:00
|
|
|
nixops
|
2018-04-24 23:58:03 +02:00
|
|
|
numix-cursor-theme
|
2017-10-16 22:53:49 +02:00
|
|
|
numix-gtk-theme
|
|
|
|
numix-icon-theme
|
|
|
|
openjdk
|
2017-10-18 15:33:08 +02:00
|
|
|
openssl
|
2017-11-06 22:14:26 +01:00
|
|
|
openssl.dev
|
2017-10-16 22:53:49 +02:00
|
|
|
pass
|
|
|
|
pavucontrol
|
2017-10-31 00:45:57 +01:00
|
|
|
pkgconfig
|
2018-04-24 23:58:03 +02:00
|
|
|
pulseaudio-ctl
|
2017-11-02 16:50:46 +01:00
|
|
|
qjackctl
|
2017-10-16 22:53:49 +02:00
|
|
|
ripgrep
|
2018-04-24 23:58:03 +02:00
|
|
|
rustc
|
2017-11-07 00:25:29 +01:00
|
|
|
rustracer
|
2017-11-24 09:28:05 +01:00
|
|
|
sbcl
|
2017-10-16 22:53:49 +02:00
|
|
|
spotify
|
|
|
|
stdmanpages
|
|
|
|
tdesktop
|
2018-04-04 17:10:12 +02:00
|
|
|
terraform_0_10
|
2017-10-16 22:53:49 +02:00
|
|
|
tig
|
|
|
|
tmux
|
|
|
|
tree
|
|
|
|
unzip
|
|
|
|
xclip
|
|
|
|
xfce.xfce4-screenshooter
|
|
|
|
|
2018-03-04 19:32:19 +01:00
|
|
|
# Haskell packages:
|
|
|
|
cabal-install
|
|
|
|
ghc
|
|
|
|
hlint
|
|
|
|
stack
|
|
|
|
stack2nix
|
|
|
|
haskellPackages.intero
|
|
|
|
haskellPackages.stylish-haskell
|
|
|
|
haskellPackages.yesod-bin
|
2017-10-16 22:53:49 +02:00
|
|
|
];
|
|
|
|
}
|