summaryrefslogtreecommitdiff
path: root/modules/common/profiles/headful.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/common/profiles/headful.nix')
-rw-r--r--modules/common/profiles/headful.nix107
1 files changed, 107 insertions, 0 deletions
diff --git a/modules/common/profiles/headful.nix b/modules/common/profiles/headful.nix
new file mode 100644
index 0000000..eec14c5
--- /dev/null
+++ b/modules/common/profiles/headful.nix
@@ -0,0 +1,107 @@
+{
+ config,
+ lib,
+ pkgs,
+ this,
+ ...
+}:
+with lib; let
+ cfg = config.nixfiles.modules.profiles.headful;
+in {
+ options.nixfiles.modules.profiles.headful.enable =
+ mkEnableOption "headful profile" // {default = this.isHeadful;};
+
+ config = mkIf cfg.enable {
+ nixfiles.modules = {
+ profiles.dev.default.enable = true;
+
+ alacritty.enable = true;
+ aria2.enable = true;
+ emacs.enable = true;
+ mpv.enable = true;
+ openssh.client.enable = true;
+ password-store.enable = true;
+ };
+
+ hm = {
+ home = {
+ file.".digrc".text = ''
+ +answer
+ +multiline
+ +recurse
+ '';
+
+ packages = with pkgs; [
+ fd
+ ripgrep
+ ripgrep-all
+ sd
+ ];
+ };
+
+ accounts.email = {
+ maildirBasePath = "${config.my.home}/mail";
+
+ accounts = let
+ mkAccount = attrs:
+ mkMerge [
+ {
+ mbsync = {
+ enable = true;
+ create = "both";
+ expunge = "both";
+ patterns = ["*"];
+ };
+ msmtp.enable = true;
+ mu.enable = true;
+ }
+ attrs
+ ];
+
+ pass = path: "${pkgs.pass}/bin/pass show ${path}";
+ in {
+ shire = mkAccount {
+ address = my.email;
+ gpg = {
+ inherit (my.pgp) key;
+ signByDefault = true;
+ encryptByDefault = false;
+ };
+
+ primary = true;
+
+ imap.host = "shire.me";
+ smtp.host = "shire.me";
+ userName = "azahi@shire.me";
+ passwordCommand = pass "email/shire.me/azahi";
+ };
+
+ yahoo = mkAccount {
+ address = "a.gondor@yahoo.com";
+
+ imap.host = "imap.yahoo.com";
+ smtp.host = "smtp.yahoo.com";
+ userName = "a.gondor@yahoo.com";
+ passwordCommand = pass "email/yahoo.com/a.gondor";
+ };
+ };
+ };
+
+ programs = {
+ mbsync.enable = true;
+ msmtp.enable = true;
+ mu.enable = true;
+ };
+ };
+
+ environment.systemPackages = with pkgs; [
+ (aspellWithDicts (p: with p; [en ru]))
+ arping
+ dnsutils
+ inetutils
+ ldns
+ socat
+ tcpdump
+ ];
+ };
+}