From 4aa4f638e11db7ce8d7ae9a02469d5b21df514ab Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Mon, 7 Sep 2020 18:36:02 +0800 Subject: [PATCH] Add a module for data-related tools --- hosts/zilch/default.nix | 6 ++++++ modules/dev/base.nix | 1 + modules/dev/data.nix | 23 +++++++++++++++++++++++ modules/dev/default.nix | 1 + modules/dev/lisp.nix | 3 ++- packages/default.nix | 7 +++---- 6 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 modules/dev/data.nix diff --git a/hosts/zilch/default.nix b/hosts/zilch/default.nix index 2bdfbe30..15764f02 100755 --- a/hosts/zilch/default.nix +++ b/hosts/zilch/default.nix @@ -9,6 +9,9 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + # Clean up the /tmp directory. + boot.cleanTmpDir = true; + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # The global useDHCP flag is deprecated, therefore explicitly set to false here. @@ -80,6 +83,8 @@ dev = { android.enable = true; base.enable = true; + cc.enable = true; + data.enable = true; documentation = { enable = true; latex.enable = true; @@ -166,6 +171,7 @@ # fds-nur.brl-cad # fds-nur.hypermail # fds-nur.wikiman + nur.foo-dogsquared.segno ]; # Setting up the shell environment. diff --git a/modules/dev/base.nix b/modules/dev/base.nix index da74c674..174df315 100755 --- a/modules/dev/base.nix +++ b/modules/dev/base.nix @@ -17,6 +17,7 @@ with lib; cookiecutter # A project scaffolding tool. gnumake # Make your life easier with GNU Make. hyperfine # You shouldn't be feel just fine with your programs... + nixfmt # Formatter for uniform Nix code. stow # Build your symlink farm on the other side of the country, er, filesystem. tldr # What manuals should include. universal-ctags # Enable fast traveling to your code (assuming written in a supported language). diff --git a/modules/dev/data.nix b/modules/dev/data.nix new file mode 100644 index 00000000..d7b77b7b --- /dev/null +++ b/modules/dev/data.nix @@ -0,0 +1,23 @@ +# A bunch of data-related tools and libraries. +{ config, options, lib, pkgs, ... }: + +with lib; +{ + options.modules.dev.data = { + enable = mkOption { + type = types.bool; + default = false; + }; + }; + + config = mkIf config.modules.dev.data.enable { + my.packages = with pkgs; [ + cfitsio # A data library for FITS images which is an image used for analyzing your fitness level. + hdf5 # A binary data format with hierarchy and metadata. + hdfview # HDF4 and HDF5 viewer. + jq # A JSON parser on the command-line (with the horrible syntax, in my opinion). + pup # A cute little puppy that can understand HTML. + sqlite # A cute little battle-tested library for your data abominations. + ]; + }; +} diff --git a/modules/dev/default.nix b/modules/dev/default.nix index a166b3eb..e44fe325 100755 --- a/modules/dev/default.nix +++ b/modules/dev/default.nix @@ -5,6 +5,7 @@ ./android.nix ./base.nix ./cc.nix + ./data.nix ./documentation.nix ./gamedev.nix ./java.nix diff --git a/modules/dev/lisp.nix b/modules/dev/lisp.nix index 80fd230a..40c364e5 100755 --- a/modules/dev/lisp.nix +++ b/modules/dev/lisp.nix @@ -23,10 +23,11 @@ in my.packages = with pkgs; (if cfg.clojure.enable then [ clojure # Improved Java version. + leiningen # Install Clojure projects without pulling your hair. ] else []) ++ (if cfg.guile.enable then [ - guile # A general-purpose language for stuff, named after a certain American pop culture icon. + guile # A general-purpose language for stuff, named after a certain pop culture icon from an iconic fighting game. ] else []) ++ (if cfg.racket.enable then [ diff --git a/packages/default.nix b/packages/default.nix index 6dcebf03..d8a5979f 100755 --- a/packages/default.nix +++ b/packages/default.nix @@ -1,12 +1,11 @@ [ (self: super: with super; { - nur-foo-dogsquared = import ( - fetchTarball "https://github.com/foo-dogsquared/nix-expressions/archive/master.tar.gz") { }; - ); - ); # Add packages from the unstable channel with `pkgs.unstable.$PKG`. unstable = import { inherit config; }; + nur.foo-dogsquared = import ( + fetchTarball "https://github.com/foo-dogsquared/nur-packages/archive/develop.tar.gz" + ) { inherit pkgs; }; }) # The unstable branch of Emacs.