about summary refs log tree commit diff
path: root/configs/.config/nixpkgs
diff options
context:
space:
mode:
Diffstat (limited to 'configs/.config/nixpkgs')
-rw-r--r--configs/.config/nixpkgs/config.nix3
-rw-r--r--configs/.config/nixpkgs/home.nix90
2 files changed, 93 insertions, 0 deletions
diff --git a/configs/.config/nixpkgs/config.nix b/configs/.config/nixpkgs/config.nix
new file mode 100644
index 000000000000..1dd1750ae025
--- /dev/null
+++ b/configs/.config/nixpkgs/config.nix
@@ -0,0 +1,3 @@
+{
+  allowUnfree = true;
+}
diff --git a/configs/.config/nixpkgs/home.nix b/configs/.config/nixpkgs/home.nix
new file mode 100644
index 000000000000..d9b3cae931a8
--- /dev/null
+++ b/configs/.config/nixpkgs/home.nix
@@ -0,0 +1,90 @@
+{ config, pkgs, ... }:
+
+{
+  home = {
+    packages = with pkgs; [
+      bat
+      exa
+      ripgrep
+      fd
+      pass
+      tokei
+      nmap
+      tldr
+      diskus
+      jq
+      pup
+    ];
+    sessionVariables = {
+    };
+    stateVersion = "19.09";
+  };
+
+  ##############################################################################
+  # Programs
+  ##############################################################################
+
+  programs.home-manager = {
+    enable = true;
+    path = builtins.toPath ~/home-manager;
+  };
+
+  programs.git = {
+    enable = true;
+    userName = "William Carroll";
+    userEmail = "wpcarro@gmail.com";
+    aliases = {
+      today = "! git log --date=relative --since=00:00:00 --all --no-merges --oneline --author=\"$(git config --get user.email)\"";
+      yday = "! git log --since=yesterday.midnight --until=today.midnight --oneline --author=\"$(git config --get user.email)\"";
+      changed-files = "! git --no-pager diff --name-only $(current_branch) $(git merge-base $(current_branch) master)";
+      conflicts = "! git --no-pager diff --name-only --diff-filter=U";
+      unstage = "reset HEAD --";
+    };
+    extraConfig = {
+      push.default = "current";
+      rebase = {
+        autosquash = true;
+        autostash = true;
+      };
+      rerere.enabled = true;
+    };
+  };
+
+  programs.gpg = {
+    enable = true;
+    settings = {
+      keyserver = "hkp://pgp.mit.edu";
+    };
+  };
+
+  programs.ssh = {
+    enable = true;
+    matchBlocks = {
+      desktop = {
+        user = "wpcarro";
+        hostname = "zeno.lon.corp.google.com";
+      };
+      socrates = {
+        user = "wpcarro";
+        hostname = "84.92.33.141";
+      };
+    };
+  };
+
+  programs.fzf = rec {
+    defaultCommand = "fd --hidden --follow --exclude '.git'";
+    fileWidgetCommand = defaultCommand;
+  };
+
+  ##############################################################################
+  # Services
+  ##############################################################################
+
+  services.lorri.enable = true;
+
+  services.gpg-agent = {
+    enable = true;
+    defaultCacheTtl = 7200;
+    maxCacheTtl = 7200;
+  };
+}