summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common.nix183
-rw-r--r--darwin.nix5
-rw-r--r--email.nix81
-rw-r--r--linux.nix114
4 files changed, 200 insertions, 183 deletions
diff --git a/common.nix b/common.nix
index 6ce2cfd..d8c6250 100644
--- a/common.nix
+++ b/common.nix
@@ -1,42 +1,9 @@
{ pkgs, ... }:
let
- solarized-xresources = ./xresources;
homedir = builtins.getEnv "HOME";
in
{
- accounts = {
- email = {
- maildirBasePath = "${homedir}/Mail";
- accounts = {
- "ben@bsima.me" = {
- primary = true;
- realName = "Ben Sima";
- address = "ben@bsima.me";
- folders = {
- inbox = "INBOX";
- };
- imap = {
- host = "mail.bsima.me";
- port = 993;
- };
- smtp = {
- host = "mail.bsima.me";
- port = 587;
- };
- userName = "ben@bsima.me";
- mbsync = {
- enable = true;
- create = "both";
- expunge = "none";
- };
- notmuch.enable = true;
- msmtp.enable = false;
- passwordCommand = "pass bnet/helium/mail/ben";
- };
- };
- };
- };
home = {
packages = import ./packages.nix { inherit pkgs; };
sessionVariables = {
@@ -67,112 +34,6 @@ in
};
};
- fonts.fontconfig.enableProfileFonts = true;
-
- xresources = {
- properties = {
- "XTerm*font" = "*-fixed-*-*-*-*-*";
- "XTerm*faceName" = "mononoki";
- "XTerm*faceSize" = "10";
- "XTerm*termName" = "xterm-256color";
- "XTerm*metaSendsEscape" = true;
- };
- extraConfig = builtins.readFile(solarized-xresources + "/Xresources.dark");
- };
-
- services = {
- network-manager-applet.enable = false;
-
- polybar = {
- enable = false;
- config = {
- "bar/top" = {
- font-0 = "mononoki:size-10";
- monitor = "\${env:MONITOR:eDP1}";
- monitor-fallback = "HDMI1";
- width = "100%";
- height = "2%";
- radius = 0;
- background = "#fdf6e3"; # solarized base3
- foreground = "#657b83"; # solarized base00
- tray-position = "right";
- tray-detached = false;
- tray-maxsize = 16;
- tray-transparent = false;
- tray-background = "#fdf6e3";
- tray-offset-x = 0;
- tray-offset-y = 0;
- tray-padding = 0;
- tray-scale = 1.0;
- module-margin = 4;
- modules-center = "date";
- modules-right = "battery";
- };
- "module/date" = {
- type = "internal/date";
- internal = 5;
- date = "%Y.%m.%d";
- time = "%H.%M";
- label = "%date%..%time%";
- };
- "module/battery" = {
- type = "internal/battery";
- battery = "BAT0";
- adapter = "AC";
- full-at = 99;
- };
- "module/ewmh" = {
- type = "internal/xworkspaces";
- pin-workspaces = true;
- enable-click = true;
- enable-scroll = false;
- };
- };
- script = ''
- #!/usr/bin/env sh
- systemctl --user daemon-reload
- polybar top &
- '';
- };
-
- taffybar = {
- enable = false;
- };
-
- redshift = {
- enable = false;
- latitude = "33.044444";
- longitude = "-117.271667";
- };
-
- gpg-agent = {
- enable = true;
- defaultCacheTtl = 600;
- enableSshSupport = true;
- extraConfig = ''
- allow-emacs-pinentry
- pinentry-program /home/ben/.nix-profile/bin/pinentry-tty
- '';
- };
- };
-
- xsession = {
- enable = false;
- windowManager = {
- xmonad = {
- enable = false;
- extraPackages = hpkgs: [
- hpkgs.xmonad-contrib
- hpkgs.xmonad-extras
- hpkgs.monad-logger
- hpkgs.taffybar
- ];
- enableContribAndExtras = true;
- config = ./xmonad.hs;
- };
- };
- };
-
programs = {
home-manager = {
enable = true;
@@ -274,49 +135,5 @@ in
enable = true;
extraPackages = epkgs: import ./emacs-packages.nix { inherit epkgs; };
};
-
- firefox = {
- enable = true;
- };
-
- notmuch = {
- enable = true;
- new.tags = [ "new" ];
- hooks = {
- preNew = ''
- msmtp-queue -r
- mbsync --all
- '';
- postNew = ''
- notmuch tag -inbox +haskell -- to:haskell-cafe@haskell.org
- notmuch tag -inbox +clojure -- to:clojure@googlegroups.com
- notmuch tag -inbox +ai -- to:scikit-learn@python.org OR to:*@tensorflow.org
- notmuch tag -inbox +bitcoin -- to:bitcoin-dev@lists.linuxfoundation.org OR to:bitcoin-discuss@lists.linuxfoundation.org
- notmuch tag -inbox +diybio -- to:diybio@googlegroups.com
- notmuch tag -inbox +meetups -- from:meetup.com
- afew -tn
- '';
-
- };
- extraConfig = {
- search = {
- exclude_tags = "deleted;spam;";
- };
- };
- };
-
- afew = {
- enable = true;
- extraConfig = builtins.readFile ./afew.ini;
- };
-
- mbsync = {
- enable = true;
- };
-
- msmtp = {
- enable = false;
- extraConfig = builtins.readFile ./msmtprc;
- };
};
}
diff --git a/darwin.nix b/darwin.nix
new file mode 100644
index 0000000..516d8e1
--- /dev/null
+++ b/darwin.nix
@@ -0,0 +1,5 @@
+{ pkgs, ... }:
+
+{
+ imports = [ ./common.nix ];
+}
diff --git a/email.nix b/email.nix
new file mode 100644
index 0000000..ad2f7d4
--- /dev/null
+++ b/email.nix
@@ -0,0 +1,81 @@
+{ pkgs, ... }:
+
+let
+ homedir = builtins.getEnv "HOME";
+in
+{
+ accounts = {
+ email = {
+ maildirBasePath = "${homedir}/Mail";
+ accounts = {
+ "ben@bsima.me" = {
+ primary = true;
+ realName = "Ben Sima";
+ address = "ben@bsima.me";
+ folders = {
+ inbox = "INBOX";
+ };
+ imap = {
+ host = "mail.bsima.me";
+ port = 993;
+ };
+ smtp = {
+ host = "mail.bsima.me";
+ port = 587;
+ };
+ userName = "ben@bsima.me";
+ mbsync = {
+ enable = true;
+ create = "both";
+ expunge = "none";
+ };
+ notmuch.enable = true;
+ msmtp.enable = false;
+ passwordCommand = "pass bnet/helium/mail/ben";
+ };
+ };
+ };
+ };
+
+ programs = {
+ notmuch = {
+ enable = true;
+ new.tags = [ "unread" "inbox" ];
+ hooks = {
+ preNew = ''
+ msmtp-queue -r
+ mbsync --all
+ '';
+ postNew = ''
+ notmuch tag -inbox +haskell -- to:haskell-cafe@haskell.org
+ notmuch tag -inbox +clojure -- to:clojure@googlegroups.com
+ notmuch tag -inbox +ai -- to:scikit-learn@python.org OR to:tensorflow.org
+ notmuch tag -inbox +bitcoin -- to:bitcoin-dev@lists.linuxfoundation.org OR to:bitcoin-discuss@lists.linuxfoundation.org
+ notmuch tag -inbox +diybio -- to:diybio@googlegroups.com
+ notmuch tag -inbox +meetups -- from:meetup.com
+ afew -tn
+ '';
+
+ };
+ extraConfig = {
+ search = {
+ exclude_tags = "deleted;spam;";
+ };
+ };
+ };
+
+ afew = {
+ enable = true;
+ extraConfig = builtins.readFile ./afew.ini;
+ };
+
+ mbsync = {
+ enable = true;
+ };
+
+ msmtp = {
+ enable = false;
+ extraConfig = builtins.readFile ./msmtprc;
+ };
+ };
+}
diff --git a/linux.nix b/linux.nix
index 516d8e1..c90f7f1 100644
--- a/linux.nix
+++ b/linux.nix
@@ -1,5 +1,119 @@
{ pkgs, ... }:
+let
+ solarized-xresources = ./xresources;
+in
{
imports = [ ./common.nix ];
+ fonts.fontconfig.enableProfileFonts = true;
+
+ xresources = {
+ properties = {
+ "XTerm*font" = "*-fixed-*-*-*-*-*";
+ "XTerm*faceName" = "mononoki";
+ "XTerm*faceSize" = "10";
+ "XTerm*termName" = "xterm-256color";
+ "XTerm*metaSendsEscape" = true;
+ };
+ extraConfig = builtins.readFile(solarized-xresources + "/Xresources.dark");
+ };
+
+ services = {
+ network-manager-applet.enable = false;
+
+ polybar = {
+ enable = false;
+ config = {
+ "bar/top" = {
+ font-0 = "mononoki:size-10";
+ monitor = "\${env:MONITOR:eDP1}";
+ monitor-fallback = "HDMI1";
+ width = "100%";
+ height = "2%";
+ radius = 0;
+ background = "#fdf6e3"; # solarized base3
+ foreground = "#657b83"; # solarized base00
+ tray-position = "right";
+ tray-detached = false;
+ tray-maxsize = 16;
+ tray-transparent = false;
+ tray-background = "#fdf6e3";
+ tray-offset-x = 0;
+ tray-offset-y = 0;
+ tray-padding = 0;
+ tray-scale = 1.0;
+ module-margin = 4;
+ modules-center = "date";
+ modules-right = "battery";
+ };
+ "module/date" = {
+ type = "internal/date";
+ internal = 5;
+ date = "%Y.%m.%d";
+ time = "%H.%M";
+ label = "%date%..%time%";
+ };
+ "module/battery" = {
+ type = "internal/battery";
+ battery = "BAT0";
+ adapter = "AC";
+ full-at = 99;
+ };
+ "module/ewmh" = {
+ type = "internal/xworkspaces";
+ pin-workspaces = true;
+ enable-click = true;
+ enable-scroll = false;
+ };
+ };
+ script = ''
+ #!/usr/bin/env sh
+ systemctl --user daemon-reload
+ polybar top &
+ '';
+ };
+
+ taffybar = {
+ enable = false;
+ };
+
+ redshift = {
+ enable = false;
+ latitude = "33.044444";
+ longitude = "-117.271667";
+ };
+
+ gpg-agent = {
+ enable = true;
+ defaultCacheTtl = 600;
+ enableSshSupport = true;
+ extraConfig = ''
+ allow-emacs-pinentry
+ pinentry-program /home/ben/.nix-profile/bin/pinentry-tty
+ '';
+ };
+ };
+
+ xsession = {
+ enable = false;
+ windowManager = {
+ xmonad = {
+ enable = false;
+ extraPackages = hpkgs: [
+ hpkgs.xmonad-contrib
+ hpkgs.xmonad-extras
+ hpkgs.monad-logger
+ hpkgs.taffybar
+ ];
+ enableContribAndExtras = true;
+ config = ./xmonad.hs;
+ };
+ };
+ };
+
+ programs = {
+ firefox = {
+ enable = true;
+ };
+ };
}