about summary refs log tree commit diff
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2017-06-22 01:59:35 +0200
committeraszlig <aszlig@redmoonstudios.org>2017-06-22 02:05:37 +0200
commit5990a4d62f2d3146ddd03ec2461d45b2102e5f42 (patch)
tree67fbf88a7db5f6d214bd211bba3450ea83ef2cc3
parenta911f4231c6c0a4c7d7621873ae452a37d12faf4 (diff)
devhell: Mergo overrides/pkgs into vuizvui
This introduces another profile module called "packages", which contains
all the package configuration (including overrides) of all the machines
in the devhell namespace.

The machine-specific configuration is now merged into the machine
configurations the same way as we've done previously with the services.

One major difference here is that the haskellPackages workaround is no
longer needed in the package configuration, as it is handled by vuizvui.

Tested this by evaluating all machines and all evaluations succeeded.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @devhell
-rw-r--r--devhell/overrides/overrides.nix25
-rw-r--r--devhell/pkgs/pkgs_common.nix299
-rw-r--r--devhell/pkgs/pkgs_eris.nix29
-rw-r--r--devhell/pkgs/pkgs_skunkworks.nix31
-rw-r--r--devhell/pkgs/pkgs_titan.nix48
-rw-r--r--machines/devhell/eris.nix26
-rw-r--r--machines/devhell/skunkworks.nix23
-rw-r--r--machines/devhell/titan.nix45
-rw-r--r--modules/module-list.nix1
-rw-r--r--modules/user/devhell/profiles/packages.nix321
10 files changed, 416 insertions, 432 deletions
diff --git a/devhell/overrides/overrides.nix b/devhell/overrides/overrides.nix
deleted file mode 100644
index 3e07a75c..00000000
--- a/devhell/overrides/overrides.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-{
-  nixpkgs.config.packageOverrides = pkgs: {
-    gnupg = pkgs.gnupg21;
-
-    ncmpcpp = pkgs.ncmpcpp.override {
-      visualizerSupport = true;
-      clockSupport = true;
-    };
-
-    sox = pkgs.sox.override {
-      enableLame = true;
-    };
-
-    # XXX: Very ugly workaround see https://github.com/openlab-aux/vuizvui/commit/a93b7583084ff9084d73873d80d8dc428406593c
-    haskellPackages = pkgs.haskellPackages.override {
-      ghc = pkgs.haskellPackages.ghc.overrideDerivation (const {
-        forceRebuild = true;
-      });
-    };
-  };
-}
diff --git a/devhell/pkgs/pkgs_common.nix b/devhell/pkgs/pkgs_common.nix
deleted file mode 100644
index e723fb5e..00000000
--- a/devhell/pkgs/pkgs_common.nix
+++ /dev/null
@@ -1,299 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-{
-  nixpkgs.config = {
-    pulseaudio = true;
-
-    allowUnfree = true;
-
-    systemd = {
-      enableKDbus = true;
-    };
-
-    conky = {
-      weatherMetarSupport = true;
-      mpdSupport = true;
-      wirelessSupport = true;
-      x11Support = false;
-    };
-
-    firefox = {
-      enableGTK3 = true;
-      enableOfficalBranding = true;
-    };
-
-    virtualbox = {
-      enableExtensionPack = true;
-    };
-
-    mpv = {
-      youtubeSupport = true;
-    };
-  };
-
-  environment.systemPackages = with pkgs; [
-    #attic
-    #emacs
-    #gitAndTools.git-annex
-    #ipfs
-    #john
-    #lxappearance
-    #sleuthkit
-    #texmacs
-    #tribler
-    #vimiv
-    #zotero
-    abcde
-    abook
-    accountsservice
-    antiword
-    apg
-    arandr
-    arc-theme
-    ascii
-    aspell
-    aspellDicts.de
-    aspellDicts.en
-    atftp
-    atom
-    audacity
-    axel
-    bc
-    beets
-    biber
-    bind
-    binutils
-    brotli
-    bup
-    cacert
-    cataclysm-dda
-    cava
-    ccrypt
-    chromaprint
-    chromium
-    cifs_utils
-    cipherscan
-    cmake
-    cmatrix
-    colordiff
-    compton
-    conky
-    cryptsetup
-    ctodo
-    cuetools
-    darkstat
-    dcfldd
-    ddrescue
-    dhcping
-    dmenu
-    dmidecode
-    docker
-    dos2unix
-    dosbox
-    duff
-    dynamic-colors
-    e2fsprogs
-    easytag
-    electrum
-    enhanced-ctorrent
-    ethtool
-    evince
-    fbida
-    fdupes
-    feh
-    ffmpeg-full
-    figlet
-    file
-    firefox
-    flac
-    foremost
-    freerdpUnstable
-    fuse_exfat
-    gajim
-    gcc
-    gdb
-    ghostscript
-    gimp
-    gitAndTools.git-extras
-    gitAndTools.git-remote-hg
-    gitAndTools.git2cl
-    gitAndTools.gitFastExport
-    gitAndTools.gitFull
-    gitAndTools.gitRemoteGcrypt
-    gitAndTools.gitSVN
-    gitAndTools.gitflow
-    gitAndTools.svn2git
-    gitAndTools.tig
-    glxinfo
-    gnome3.dconf
-    gnome3.defaultIconTheme
-    gnome3.gnome_themes_standard
-    gnufdisk
-    gnupg
-    gnupg1compat
-    gource
-    gparted
-    gpgme
-    gpicview
-    gptfdisk
-    graphviz
-    gstreamer
-    handbrake
-    hdparm
-    heimdall
-    hexedit
-    hplipWithPlugin
-    htop
-    i3lock
-    i3status
-    icedtea_web
-    iftop
-    imagemagick
-    impressive
-    inkscape
-    iotop
-    iptraf-ng
-    ipv6calc
-    jfsutils
-    jwhois
-    keepassx
-    keepassx-community
-    keepassx2
-    keybase
-    kpcli
-    lftp
-    libarchive
-    libreoffice
-    lm_sensors
-    lsof
-    lxc
-    lynx
-    macchanger
-    manpages
-    mc
-    mcabber
-    mdp
-    mediainfo
-    mkvtoolnix
-    mmv
-    monkeysAudio
-    mono
-    monodevelop
-    mosh
-    mp3gain
-    mpc_cli
-    mpv
-    mtr
-    ncdu
-    ncmpcpp
-    neovim
-    nethack
-    nethogs
-    netkittftp
-    netrw
-    netsniff-ng
-    nitrogen
-    nix-prefetch-scripts
-    nix-repl
-    nixops
-    nload
-    nmap
-    ntfs3g
-    ntfsprogs
-    ntopng
-    numix-icon-theme
-    obnam
-    openssl
-    p7zip
-    pandoc
-    paperkey
-    pass
-    pasystray
-    pavucontrol
-    pciutils
-    picard
-    posix_man_pages
-    powertop
-    profanity
-    profile-cleaner
-    profile-sync-daemon
-    pv
-    python
-    python2
-    python3
-    python34Packages.hovercraft
-    pythonPackages.jrnl
-    pythonPackages.livestreamer
-    pythonPackages.rainbowstream
-    qemu
-    qrencode
-    recode
-    reiserfsprogs
-    rofi
-    rsync
-    ruby
-    safecopy
-    screen
-    scrot
-    shntool
-    silver-searcher
-    smartmontools
-    sox
-    speedtest-cli
-    spek
-    ssdeep
-    stow
-    strace
-    surfraw
-    taskwarrior
-    telnet
-    testdisk
-    texlive.combined.scheme-small
-    tftp-hpa
-    tldr
-    tmux
-    toilet
-    tomahawk
-    toxic
-    transcode
-    transgui
-    transmission_remote_gtk
-    tree
-    tty-clock
-    udevil
-    units
-    unrar
-    unzip
-    valgrind
-    vanilla-dmz
-    vim_configurable
-    virt-viewer
-    virtinst
-    virtmanager
-    vit
-    vivaldi
-    vlc
-    vlock
-    vnstat
-    vorbisTools
-    vorbisgain
-    w3m
-    wavpack
-    weechat
-    wget
-    which
-    wipe
-    wireshark
-    xfsprogs
-    xlibs.xev
-    xmpp-client
-    xpdf
-    xpra
-    xscreensaver
-    youtube-dl
-    zathura
-    zbar
-    zip
-    zsync
-  ];
-}
diff --git a/devhell/pkgs/pkgs_eris.nix b/devhell/pkgs/pkgs_eris.nix
deleted file mode 100644
index fa834b0e..00000000
--- a/devhell/pkgs/pkgs_eris.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-{
-  imports = [ ./pkgs_common.nix ];
-
-  nixpkgs.config.mpv = {
-    vaapiSupport = true;
-  };
-
-  environment.systemPackages = with pkgs; [
-    terminator
-    claws-mail
-    aircrackng
-    horst
-    kismet
-    minicom
-    networkmanagerapplet
-    pamixer
-    pmtools
-    pmutils
-    reaverwps
-    snort
-    wavemon
-    xbindkeys
-    xorg.xbacklight
-    thunderbird
-    iw
-  ];
-}
diff --git a/devhell/pkgs/pkgs_skunkworks.nix b/devhell/pkgs/pkgs_skunkworks.nix
deleted file mode 100644
index 296dbca1..00000000
--- a/devhell/pkgs/pkgs_skunkworks.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-{
-  imports = [ ./pkgs_common.nix ];
-
-  nixpkgs.config = {
-    chromium = {
-      enablePepperFlash = true;
-    };
-
-    mpv = {
-      bs2bSupport = true;
-    };
-  };
-
-  environment.systemPackages = with pkgs; [
-    abook
-    canto-curses
-    cli-visualizer
-    cmus
-    #ipfs
-    handbrake
-    hplip
-    mutt-with-sidebar
-    nzbget
-    #scummvm
-    slrn
-    twister
-    urlview
-  ];
-}
diff --git a/devhell/pkgs/pkgs_titan.nix b/devhell/pkgs/pkgs_titan.nix
deleted file mode 100644
index 3efab6c1..00000000
--- a/devhell/pkgs/pkgs_titan.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-{
-  imports = [ ./pkgs_common.nix ];
-
-  nixpkgs.config.mpv = {
-    vaapiSupport = true;
-  };
-
-  environment.systemPackages = with pkgs; [
-    #cura
-    #openjdk8
-    #skype
-    aircrackng
-    calibre
-    cdrtools
-    claws-mail
-    connmanui
-    dvdplusrwtools
-    glxinfo
-    horst
-    ipmitool
-    ipmiutil
-    ipmiview
-    kismet
-    libva
-    libvdpau-va-gl
-    minicom
-    msmtp
-    mutt
-    networkmanagerapplet
-    notmuch
-    offlineimap
-    pamixer
-    pmtools
-    pmutils
-    pythonPackages.alot
-    reaverwps
-    snort
-    thunderbird
-    vaapiVdpau
-    vdpauinfo
-    wavemon
-    wirelesstools
-    xbindkeys
-    xorg.xbacklight
-  ];
-}
diff --git a/machines/devhell/eris.nix b/machines/devhell/eris.nix
index e6c13079..12c89fe4 100644
--- a/machines/devhell/eris.nix
+++ b/machines/devhell/eris.nix
@@ -199,4 +199,30 @@
       #DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
     '';
   };
+
+  #### Machine-specific packages configuration ####
+
+  vuizvui.user.devhell.profiles.packages.enable = true;
+
+  nixpkgs.config.mpv.vaapiSupport = true;
+
+  environment.systemPackages = with pkgs; [
+    terminator
+    claws-mail
+    aircrackng
+    horst
+    kismet
+    minicom
+    networkmanagerapplet
+    pamixer
+    pmtools
+    pmutils
+    reaverwps
+    snort
+    wavemon
+    xbindkeys
+    xorg.xbacklight
+    thunderbird
+    iw
+  ];
 }
diff --git a/machines/devhell/skunkworks.nix b/machines/devhell/skunkworks.nix
index b5d2912d..b966a453 100644
--- a/machines/devhell/skunkworks.nix
+++ b/machines/devhell/skunkworks.nix
@@ -243,4 +243,27 @@
       DISPLAY=:0.1 ${pkgs.windowmaker}/bin/wmaker &
     '';
   };
+
+  #### Machine-specific packages configuration ####
+
+  vuizvui.user.devhell.profiles.packages.enable = true;
+
+  nixpkgs.config.chromium.enablePepperFlash = true;
+  nixpkgs.config.mpv.bs2bSupport = true;
+
+  environment.systemPackages = with pkgs; [
+    abook
+    canto-curses
+    cli-visualizer
+    cmus
+    #ipfs
+    handbrake
+    hplip
+    mutt-with-sidebar
+    nzbget
+    #scummvm
+    slrn
+    twister
+    urlview
+  ];
 }
diff --git a/machines/devhell/titan.nix b/machines/devhell/titan.nix
index 23b967d2..83a365c8 100644
--- a/machines/devhell/titan.nix
+++ b/machines/devhell/titan.nix
@@ -156,4 +156,49 @@
       ''}"
     '';
   };
+
+  #### Machine-specific packages configuration ####
+
+  vuizvui.user.devhell.profiles.packages.enable = true;
+
+  nixpkgs.config.mpv.vaapiSupport = true;
+
+  environment.systemPackages = with pkgs; [
+    #cura
+    #openjdk8
+    #skype
+    aircrackng
+    calibre
+    cdrtools
+    claws-mail
+    connmanui
+    dvdplusrwtools
+    glxinfo
+    horst
+    ipmitool
+    ipmiutil
+    ipmiview
+    kismet
+    libva
+    libvdpau-va-gl
+    minicom
+    msmtp
+    mutt
+    networkmanagerapplet
+    notmuch
+    offlineimap
+    pamixer
+    pmtools
+    pmutils
+    pythonPackages.alot
+    reaverwps
+    snort
+    thunderbird
+    vaapiVdpau
+    vdpauinfo
+    wavemon
+    wirelesstools
+    xbindkeys
+    xorg.xbacklight
+  ];
 }
diff --git a/modules/module-list.nix b/modules/module-list.nix
index fbd5334c..52c61249 100644
--- a/modules/module-list.nix
+++ b/modules/module-list.nix
@@ -30,6 +30,7 @@
   ./user/aszlig/services/vlock
   ./user/aszlig/system/kernel.nix
   ./user/devhell/profiles/base.nix
+  ./user/devhell/profiles/packages.nix
   ./user/devhell/profiles/services.nix
   ./user/openlab/base.nix
   ./user/openlab/labtops.nix
diff --git a/modules/user/devhell/profiles/packages.nix b/modules/user/devhell/profiles/packages.nix
new file mode 100644
index 00000000..a62479d0
--- /dev/null
+++ b/modules/user/devhell/profiles/packages.nix
@@ -0,0 +1,321 @@
+{ config, pkgs, lib, ... }:
+
+let
+  cfg = config.vuizvui.user.devhell.profiles.packages;
+
+in {
+  options.vuizvui.user.devhell.profiles.packages = {
+    enable = lib.mkEnableOption "Packages profile for devhell";
+  };
+
+  config = lib.mkIf cfg.enable {
+    nixpkgs.config = {
+      pulseaudio = true;
+
+      allowUnfree = true;
+
+      systemd = {
+        enableKDbus = true;
+      };
+
+      conky = {
+        weatherMetarSupport = true;
+        mpdSupport = true;
+        wirelessSupport = true;
+        x11Support = false;
+      };
+
+      firefox = {
+        enableGTK3 = true;
+        enableOfficalBranding = true;
+      };
+
+      virtualbox = {
+        enableExtensionPack = true;
+      };
+
+      mpv = {
+        youtubeSupport = true;
+      };
+
+      nixpkgs.config.packageOverrides = super: {
+        gnupg = super.gnupg21;
+
+        ncmpcpp = super.ncmpcpp.override {
+          visualizerSupport = true;
+          clockSupport = true;
+        };
+
+        sox = super.sox.override {
+          enableLame = true;
+        };
+      };
+    };
+
+    environment.systemPackages = with pkgs; [
+      #attic
+      #emacs
+      #gitAndTools.git-annex
+      #ipfs
+      #john
+      #lxappearance
+      #sleuthkit
+      #texmacs
+      #tribler
+      #vimiv
+      #zotero
+      abcde
+      abook
+      accountsservice
+      antiword
+      apg
+      arandr
+      arc-theme
+      ascii
+      aspell
+      aspellDicts.de
+      aspellDicts.en
+      atftp
+      atom
+      audacity
+      axel
+      bc
+      beets
+      biber
+      bind
+      binutils
+      brotli
+      bup
+      cacert
+      cataclysm-dda
+      cava
+      ccrypt
+      chromaprint
+      chromium
+      cifs_utils
+      cipherscan
+      cmake
+      cmatrix
+      colordiff
+      compton
+      conky
+      cryptsetup
+      ctodo
+      cuetools
+      darkstat
+      dcfldd
+      ddrescue
+      dhcping
+      dmenu
+      dmidecode
+      docker
+      dos2unix
+      dosbox
+      duff
+      dynamic-colors
+      e2fsprogs
+      easytag
+      electrum
+      enhanced-ctorrent
+      ethtool
+      evince
+      fbida
+      fdupes
+      feh
+      ffmpeg-full
+      figlet
+      file
+      firefox
+      flac
+      foremost
+      freerdpUnstable
+      fuse_exfat
+      gajim
+      gcc
+      gdb
+      ghostscript
+      gimp
+      gitAndTools.git-extras
+      gitAndTools.git-remote-hg
+      gitAndTools.git2cl
+      gitAndTools.gitFastExport
+      gitAndTools.gitFull
+      gitAndTools.gitRemoteGcrypt
+      gitAndTools.gitSVN
+      gitAndTools.gitflow
+      gitAndTools.svn2git
+      gitAndTools.tig
+      glxinfo
+      gnome3.dconf
+      gnome3.defaultIconTheme
+      gnome3.gnome_themes_standard
+      gnufdisk
+      gnupg
+      gnupg1compat
+      gource
+      gparted
+      gpgme
+      gpicview
+      gptfdisk
+      graphviz
+      gstreamer
+      handbrake
+      hdparm
+      heimdall
+      hexedit
+      hplipWithPlugin
+      htop
+      i3lock
+      i3status
+      icedtea_web
+      iftop
+      imagemagick
+      impressive
+      inkscape
+      iotop
+      iptraf-ng
+      ipv6calc
+      jfsutils
+      jwhois
+      keepassx
+      keepassx-community
+      keepassx2
+      keybase
+      kpcli
+      lftp
+      libarchive
+      libreoffice
+      lm_sensors
+      lsof
+      lxc
+      lynx
+      macchanger
+      manpages
+      mc
+      mcabber
+      mdp
+      mediainfo
+      mkvtoolnix
+      mmv
+      monkeysAudio
+      mono
+      monodevelop
+      mosh
+      mp3gain
+      mpc_cli
+      mpv
+      mtr
+      ncdu
+      ncmpcpp
+      neovim
+      nethack
+      nethogs
+      netkittftp
+      netrw
+      netsniff-ng
+      nitrogen
+      nix-prefetch-scripts
+      nix-repl
+      nixops
+      nload
+      nmap
+      ntfs3g
+      ntfsprogs
+      ntopng
+      numix-icon-theme
+      obnam
+      openssl
+      p7zip
+      pandoc
+      paperkey
+      pass
+      pasystray
+      pavucontrol
+      pciutils
+      picard
+      posix_man_pages
+      powertop
+      profanity
+      profile-cleaner
+      profile-sync-daemon
+      pv
+      python
+      python2
+      python3
+      python34Packages.hovercraft
+      pythonPackages.jrnl
+      pythonPackages.livestreamer
+      pythonPackages.rainbowstream
+      qemu
+      qrencode
+      recode
+      reiserfsprogs
+      rofi
+      rsync
+      ruby
+      safecopy
+      screen
+      scrot
+      shntool
+      silver-searcher
+      smartmontools
+      sox
+      speedtest-cli
+      spek
+      ssdeep
+      stow
+      strace
+      surfraw
+      taskwarrior
+      telnet
+      testdisk
+      texlive.combined.scheme-small
+      tftp-hpa
+      tldr
+      tmux
+      toilet
+      tomahawk
+      toxic
+      transcode
+      transgui
+      transmission_remote_gtk
+      tree
+      tty-clock
+      udevil
+      units
+      unrar
+      unzip
+      valgrind
+      vanilla-dmz
+      vim_configurable
+      virt-viewer
+      virtinst
+      virtmanager
+      vit
+      vivaldi
+      vlc
+      vlock
+      vnstat
+      vorbisTools
+      vorbisgain
+      w3m
+      wavpack
+      weechat
+      wget
+      which
+      wipe
+      wireshark
+      xfsprogs
+      xlibs.xev
+      xmpp-client
+      xpdf
+      xpra
+      xscreensaver
+      youtube-dl
+      zathura
+      zbar
+      zip
+      zsync
+    ];
+  };
+}