From ee66111ba1ff1bb5e74fd836aa883204e59b0310 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Wed, 14 Nov 2018 14:42:20 -0800 Subject: Split into os-specific files --- common.nix | 183 ------------------------------------------------------------- darwin.nix | 5 ++ email.nix | 81 +++++++++++++++++++++++++++ linux.nix | 114 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 200 insertions(+), 183 deletions(-) create mode 100644 darwin.nix create mode 100644 email.nix 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; + }; + }; } -- cgit v1.2.3