feat: add pimalaya profile
This commit is contained in:
parent
6913bb4ee3
commit
d2a4ec7f03
9 changed files with 638 additions and 29 deletions
364
flake.lock
364
flake.lock
|
@ -205,7 +205,89 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fenix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"himalaya",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-analyzer-src": "rust-analyzer-src_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732405626,
|
||||
"narHash": "sha256-uDbQrdOyqa2679kKPzoztMxesOV7DG2+FuX/TZdpxD0=",
|
||||
"owner": "soywod",
|
||||
"repo": "fenix",
|
||||
"rev": "c7af381484169a78fb79a11652321ae80b0f92a6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "soywod",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fenix_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"mirador",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-analyzer-src": "rust-analyzer-src_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732405626,
|
||||
"narHash": "sha256-uDbQrdOyqa2679kKPzoztMxesOV7DG2+FuX/TZdpxD0=",
|
||||
"owner": "soywod",
|
||||
"repo": "fenix",
|
||||
"rev": "c7af381484169a78fb79a11652321ae80b0f92a6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "soywod",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fenix_4": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"neverest",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-analyzer-src": "rust-analyzer-src_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732405626,
|
||||
"narHash": "sha256-uDbQrdOyqa2679kKPzoztMxesOV7DG2+FuX/TZdpxD0=",
|
||||
"owner": "soywod",
|
||||
"repo": "fenix",
|
||||
"rev": "c7af381484169a78fb79a11652321ae80b0f92a6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "soywod",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
|
@ -221,7 +303,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
|
@ -237,7 +319,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake-compat_4": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
|
@ -253,7 +335,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"flake-compat_5": {
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
|
@ -267,7 +349,7 @@
|
|||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-compat_5": {
|
||||
"flake-compat_6": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
|
@ -420,7 +502,7 @@
|
|||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
|
@ -438,7 +520,7 @@
|
|||
},
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_6"
|
||||
"systems": "systems_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
|
@ -476,7 +558,7 @@
|
|||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-compat": "flake-compat_4",
|
||||
"gitignore": "gitignore_2",
|
||||
"nixpkgs": [
|
||||
"neovim-nightly-overlay",
|
||||
|
@ -640,6 +722,50 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"himalaya": {
|
||||
"inputs": {
|
||||
"fenix": "fenix_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pimalaya": "pimalaya"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734596413,
|
||||
"narHash": "sha256-08qvr9WeQTVaYgpecfXhdK3Ecf/2HaKRC4aN0QRYpl4=",
|
||||
"owner": "pimalaya",
|
||||
"repo": "himalaya",
|
||||
"rev": "5eeda248fd90d161c8b346604f603d4a0a37ec6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pimalaya",
|
||||
"repo": "himalaya",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"himalaya-vim": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733824228,
|
||||
"narHash": "sha256-W3DoPg18sYv7RKMZka5h+6VaAStX1FHPf2pu/DZJPIg=",
|
||||
"owner": "pimalaya",
|
||||
"repo": "himalaya-vim",
|
||||
"rev": "0e5d3395441301538c1830366f3212ed55b1d315",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pimalaya",
|
||||
"repo": "himalaya-vim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -769,7 +895,7 @@
|
|||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems_4",
|
||||
"systems": "systems_5",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -1005,6 +1131,28 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"mirador": {
|
||||
"inputs": {
|
||||
"fenix": "fenix_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pimalaya": "pimalaya_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733376925,
|
||||
"narHash": "sha256-Knfh4QkRa6KyAdicvBRO23rvu5F1rikHtH4VphEnKM8=",
|
||||
"owner": "pimalaya",
|
||||
"repo": "mirador",
|
||||
"rev": "5cbf31577edb3439f81277f6e717c48591af3d9f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pimalaya",
|
||||
"repo": "mirador",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -1029,7 +1177,7 @@
|
|||
},
|
||||
"neovim-nightly-overlay": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"git-hooks": "git-hooks",
|
||||
"hercules-ci-effects": "hercules-ci-effects",
|
||||
|
@ -1067,6 +1215,28 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"neverest": {
|
||||
"inputs": {
|
||||
"fenix": "fenix_4",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pimalaya": "pimalaya_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734595002,
|
||||
"narHash": "sha256-MXQDy5b/ooSkISEVM9KxHeqkkhPimZJtX3j9jqTP5aU=",
|
||||
"owner": "pimalaya",
|
||||
"repo": "neverest",
|
||||
"rev": "cc5f5214d3bea064ed059116ac81e40a803faa7e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pimalaya",
|
||||
"repo": "neverest",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"niri": {
|
||||
"inputs": {
|
||||
"niri-stable": "niri-stable",
|
||||
|
@ -1502,7 +1672,7 @@
|
|||
"devshell": [
|
||||
"devshell"
|
||||
],
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-compat": "flake-compat_5",
|
||||
"flake-parts": [
|
||||
"flake-parts"
|
||||
],
|
||||
|
@ -1572,9 +1742,57 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pimalaya": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732869386,
|
||||
"narHash": "sha256-83tDRVfSBVZgIp6WOb6r/T6cHfP7lNsK1MUTdkGMi14=",
|
||||
"owner": "pimalaya",
|
||||
"repo": "nix",
|
||||
"rev": "be23e0deeb014c6be5232322b892c9bee25dee77",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pimalaya",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pimalaya_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732861699,
|
||||
"narHash": "sha256-zAH0R9TnwxqevDMtQlp1+K/FUvHD7vFCvxx1IAPJPkg=",
|
||||
"owner": "pimalaya",
|
||||
"repo": "nix",
|
||||
"rev": "5496d03953c15ce3022b76e9514ff083517cc740",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pimalaya",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pimalaya_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732869386,
|
||||
"narHash": "sha256-83tDRVfSBVZgIp6WOb6r/T6cHfP7lNsK1MUTdkGMi14=",
|
||||
"owner": "pimalaya",
|
||||
"repo": "nix",
|
||||
"rev": "be23e0deeb014c6be5232322b892c9bee25dee77",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pimalaya",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
|
@ -1598,7 +1816,7 @@
|
|||
},
|
||||
"pre-commit-hooks_2": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_5",
|
||||
"flake-compat": "flake-compat_6",
|
||||
"gitignore": "gitignore_4",
|
||||
"nixpkgs": "nixpkgs_10",
|
||||
"nixpkgs-stable": "nixpkgs-stable_4"
|
||||
|
@ -1647,12 +1865,16 @@
|
|||
"flake-parts": "flake-parts_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"ghostty": "ghostty",
|
||||
"himalaya": "himalaya",
|
||||
"himalaya-vim": "himalaya-vim",
|
||||
"home-manager": "home-manager_2",
|
||||
"hypr-contrib": "hypr-contrib",
|
||||
"hyprland": "hyprland",
|
||||
"impermanence": "impermanence",
|
||||
"master": "master",
|
||||
"mirador": "mirador",
|
||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||
"neverest": "neverest",
|
||||
"niri": "niri",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nix-monitored": "nix-monitored",
|
||||
|
@ -1684,6 +1906,57 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732050317,
|
||||
"narHash": "sha256-G5LUEOC4kvB/Xbkglv0Noi04HnCfryur7dVjzlHkgpI=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "c0bbbb3e5d7d1d1d60308c8270bfd5b250032bb4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rust-lang",
|
||||
"ref": "nightly",
|
||||
"repo": "rust-analyzer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732050317,
|
||||
"narHash": "sha256-G5LUEOC4kvB/Xbkglv0Noi04HnCfryur7dVjzlHkgpI=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "c0bbbb3e5d7d1d1d60308c8270bfd5b250032bb4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rust-lang",
|
||||
"ref": "nightly",
|
||||
"repo": "rust-analyzer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src_4": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732050317,
|
||||
"narHash": "sha256-G5LUEOC4kvB/Xbkglv0Noi04HnCfryur7dVjzlHkgpI=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "c0bbbb3e5d7d1d1d60308c8270bfd5b250032bb4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rust-lang",
|
||||
"ref": "nightly",
|
||||
"repo": "rust-analyzer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"search": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
|
@ -1766,21 +2039,6 @@
|
|||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
@ -1795,6 +2053,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_6": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
@ -1825,11 +2098,26 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_8": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"timers": {
|
||||
"inputs": {
|
||||
"naersk": "naersk",
|
||||
"nixpkgs": "nixpkgs_12",
|
||||
"utils": "utils"
|
||||
"utils": "utils_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1693040925,
|
||||
|
@ -1910,7 +2198,25 @@
|
|||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_7"
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1692799911,
|
||||
|
|
13
flake.nix
13
flake.nix
|
@ -49,6 +49,19 @@
|
|||
blink-compat.url = "github:Saghen/blink.compat";
|
||||
blink-compat.flake = false;
|
||||
|
||||
# Pimalaya
|
||||
himalaya.url = "github:pimalaya/himalaya";
|
||||
himalaya.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
neverest.url = "github:pimalaya/neverest";
|
||||
neverest.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
mirador.url = "github:pimalaya/mirador";
|
||||
mirador.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
himalaya-vim.url = "github:pimalaya/himalaya-vim";
|
||||
himalaya-vim.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# river
|
||||
river.url = "git+https://github.com/riverwm/river?submodules=1";
|
||||
river.flake = false;
|
||||
|
|
106
modules/profiles/pimalaya.nix
Normal file
106
modules/profiles/pimalaya.nix
Normal file
|
@ -0,0 +1,106 @@
|
|||
{ lib
|
||||
, config
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.my.profiles.pimalaya;
|
||||
in
|
||||
|
||||
{
|
||||
options.my.profiles.pimalaya.enable = mkEnableOption "Pimalaya email stuff";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
my = {
|
||||
services.mirador = {
|
||||
enable = true;
|
||||
package = inputs.mirador.packages.${pkgs.system}.default.overrideAttrs (old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.installShellFiles ];
|
||||
postInstall = old.postInstall + ''
|
||||
installShellCompletion --cmd mirador \
|
||||
--bash <($out/bin/mirador completion bash) \
|
||||
--fish <($out/bin/mirador completion fish) \
|
||||
--zsh <($out/bin/mirador completion zsh)
|
||||
'';
|
||||
});
|
||||
settings.accounts.personal = {
|
||||
default = true;
|
||||
folder = "INBOX";
|
||||
backend.type = "imap";
|
||||
backend.host = "mail.your-server.de";
|
||||
backend.port = 993;
|
||||
backend.encryption = "tls";
|
||||
backend.login = "mail@moritzboeh.me";
|
||||
backend.auth.type = "password";
|
||||
backend.auth.command = "cat /run/agenix/email";
|
||||
on-message-added.cmd = "systemctl start --user neverest.service";
|
||||
on-message-added.notify.summary = "📫 New message from {sender}";
|
||||
on-message-added.notify.body = "{subject}";
|
||||
};
|
||||
};
|
||||
services.neverest = {
|
||||
enable = true;
|
||||
package = inputs.neverest.packages.${pkgs.system}.default.overrideAttrs (old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.installShellFiles ];
|
||||
postInstall = old.postInstall + ''
|
||||
installShellCompletion --cmd neverest \
|
||||
--bash <($out/bin/neverest completion bash) \
|
||||
--fish <($out/bin/neverest completion fish) \
|
||||
--zsh <($out/bin/neverest completion zsh)
|
||||
'';
|
||||
});
|
||||
settings.accounts.personal = {
|
||||
default = true;
|
||||
left.backend.type = "imap";
|
||||
left.backend.host = "mail.your-server.de";
|
||||
left.backend.port = 993;
|
||||
left.backend.encryption = "tls";
|
||||
left.backend.login = "mail@moritzboeh.me";
|
||||
left.backend.auth.type = "password";
|
||||
left.backend.auth.command = "cat /run/agenix/email";
|
||||
right.backend.type = "maildir";
|
||||
right.backend.root-dir = "/home/moritz/Documents/Mail/personal";
|
||||
right.backend.maildirpp = false;
|
||||
right.folder.aliases.inbox = "INBOX";
|
||||
right.folder.aliases.sent = "Sent";
|
||||
right.folder.aliases.drafts = "Drafts";
|
||||
right.folder.aliases.trash = "Trash";
|
||||
};
|
||||
};
|
||||
programs.himalaya = {
|
||||
enable = true;
|
||||
package = inputs.himalaya.packages.${pkgs.system}.default.overrideAttrs (old: {
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.installShellFiles ];
|
||||
postInstall = old.postInstall + ''
|
||||
installShellCompletion --cmd himalaya \
|
||||
--bash <($out/bin/himalaya completion bash) \
|
||||
--fish <($out/bin/himalaya completion fish) \
|
||||
--zsh <($out/bin/himalaya completion zsh)
|
||||
'';
|
||||
});
|
||||
settings.accounts.personal = {
|
||||
default = true;
|
||||
email = "mail@moritzboeh.me";
|
||||
display-name = "Moritz Böhme";
|
||||
downloads-dir = "/home/moritz/Downloads";
|
||||
backend.type = "maildir";
|
||||
backend.root-dir = "/home/moritz/Documents/Mail/personal";
|
||||
backend.maildirpp = false;
|
||||
folder.aliases.inbox = "INBOX";
|
||||
folder.aliases.sent = "Sent";
|
||||
folder.aliases.drafts = "Drafts";
|
||||
folder.aliases.trash = "Trash";
|
||||
message.send.backend.type = "smtp";
|
||||
message.send.backend.host = "mail.your-server.de";
|
||||
message.send.backend.port = 465;
|
||||
message.send.backend.login = "mail@moritzboeh.me";
|
||||
message.send.backend.encryption.type = "tls";
|
||||
message.send.backend.auth.type = "password";
|
||||
message.send.backend.auth.command = "cat /run/agenix/email";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
30
modules/programs/himalaya.nix
Normal file
30
modules/programs/himalaya.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.my.programs.himalaya;
|
||||
toml = pkgs.formats.toml { };
|
||||
in
|
||||
{
|
||||
options.my.programs.himalaya.enable = mkEnableOption "himalaya";
|
||||
options.my.programs.himalaya.package = mkPackageOption pkgs "himalaya" { };
|
||||
options.my.programs.himalaya.settings = mkOption {
|
||||
inherit (toml) type;
|
||||
default = { };
|
||||
apply = toml.generate "config.toml";
|
||||
};
|
||||
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.moritz.xdg.configFile."himalaya/config.toml".source = cfg.settings;
|
||||
home-manager.users.moritz.home.packages = [ cfg.package ];
|
||||
age.secrets.email = {
|
||||
file = ../../secrets/email.age;
|
||||
owner = "1000";
|
||||
};
|
||||
};
|
||||
}
|
23
modules/programs/nvim/new_plugins/himalaya-vim.nix
Normal file
23
modules/programs/nvim/new_plugins/himalaya-vim.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf readFile;
|
||||
in
|
||||
{
|
||||
home-manager.users.moritz.programs.nixvim = lib.mkIf config.my.programs.himalaya.enable {
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
# himalaya-vim
|
||||
inputs.himalaya-vim.packages.${pkgs.system}.default
|
||||
];
|
||||
extraConfigLuaPost = ''
|
||||
vim.g.himalaya_folder_picker = "telescope";
|
||||
'';
|
||||
autoCmd = [
|
||||
{
|
||||
command = "set modifiable";
|
||||
event = [ "FileType" ];
|
||||
pattern = [ "himalaya-email-listing" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
50
modules/services/mirador.nix
Normal file
50
modules/services/mirador.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.my.services.mirador;
|
||||
toml = pkgs.formats.toml { };
|
||||
in
|
||||
{
|
||||
options.my.services.mirador = {
|
||||
enable = mkEnableOption "mirador";
|
||||
package = mkPackageOption pkgs "mirador" { };
|
||||
settings = mkOption {
|
||||
inherit (toml) type;
|
||||
default = { };
|
||||
apply = toml.generate "config.toml";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.moritz = {
|
||||
xdg.configFile."mirador/config.toml".source = cfg.settings;
|
||||
home.packages = [ cfg.package ];
|
||||
systemd.user.services.mirador = {
|
||||
Unit = {
|
||||
Description = "CLI to watch mailbox changes";
|
||||
};
|
||||
Service = {
|
||||
# Lower CPU and I/O priority
|
||||
Nice = 19;
|
||||
IOSchedulingClass = "best-effort";
|
||||
IOSchedulingPriority = 7;
|
||||
IOWeight = 100;
|
||||
|
||||
ExecStart = ''
|
||||
${lib.getExe cfg.package} watch
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
age.secrets.email = {
|
||||
file = ../../secrets/email.age;
|
||||
owner = "1000";
|
||||
};
|
||||
};
|
||||
}
|
71
modules/services/neverest.nix
Normal file
71
modules/services/neverest.nix
Normal file
|
@ -0,0 +1,71 @@
|
|||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.my.services.neverest;
|
||||
toml = pkgs.formats.toml { };
|
||||
in
|
||||
{
|
||||
options.my.services.neverest = {
|
||||
enable = mkEnableOption "neverest";
|
||||
package = mkPackageOption pkgs "neverest" { };
|
||||
frequency = mkOption {
|
||||
type = types.str;
|
||||
default = "hourly";
|
||||
description = ''
|
||||
How often to run neverest when
|
||||
`services.neverest.enable = true`.
|
||||
This value is passed to the systemd timer configuration as
|
||||
the onCalendar option. See
|
||||
{manpage}`systemd.time(7)`
|
||||
for more information about the format.
|
||||
'';
|
||||
};
|
||||
settings = mkOption {
|
||||
inherit (toml) type;
|
||||
default = { };
|
||||
apply = toml.generate "config.toml";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.moritz = {
|
||||
xdg.configFile."neverest/config.toml".source = cfg.settings;
|
||||
home.packages = [ cfg.package ];
|
||||
systemd.user.timers.neverest = {
|
||||
Unit.Description = "Run neverest";
|
||||
Timer = {
|
||||
OnCalendar = cfg.frequency;
|
||||
Persistent = true;
|
||||
RandomizedDelaySec = "10m";
|
||||
};
|
||||
Install.WantedBy = [ "timers.target" ];
|
||||
};
|
||||
systemd.user.services.neverest = {
|
||||
Unit = {
|
||||
Description = "CLI to synchronize, backup and restore emails";
|
||||
};
|
||||
Service = {
|
||||
# Lower CPU and I/O priority
|
||||
Nice = 19;
|
||||
IOSchedulingClass = "best-effort";
|
||||
IOSchedulingPriority = 7;
|
||||
IOWeight = 100;
|
||||
|
||||
ExecStart = ''
|
||||
${lib.getExe cfg.package} synchronize
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
age.secrets.email = {
|
||||
file = ../../secrets/email.age;
|
||||
owner = "1000";
|
||||
};
|
||||
};
|
||||
}
|
9
secrets/email.age
Normal file
9
secrets/email.age
Normal file
|
@ -0,0 +1,9 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 CjuqfA MpG6qzuiLlKhSXD8Huw1Bvq3ryPWqz/ess/yhxlsc10
|
||||
1HvQ9OHzuSwgKPBBi5z/A2M0ExquwBtCC53LD/D3+/g
|
||||
-> ssh-ed25519 wG6LYg xJwvrYgDvHcL8dhV35LWIUEedyA4yz0tbcnI/eE/sSE
|
||||
NYvEWeD+XHubSicVRG3KH3MG2DGua2s3Fks87sbfVRI
|
||||
-> ssh-ed25519 ZYd7Zg ltnNKEHfkPGv2BYzDOy5iXSr7eJjkF9Vuuyor9HkVEo
|
||||
f06sXYZWWlt8nRpfNqWrLgLtkwO1Ox2f6lYhZX0zwwA
|
||||
--- peGLxgxO+t4dAKViNPJ12BTj+FnQc69z5rfb92JfomU
|
||||
<EFBFBD>~ÊÃÔL³‰‡ãGš”Ïçáw5u§<C2A7>~v0‘…GËU3”ÅÊ|“ì|<7C>Ürô=AËZ¬óK~W@½F&CjÞ
|
|
@ -29,4 +29,5 @@ in
|
|||
"openai.age".publicKeys = personal;
|
||||
"anthropic.age".publicKeys = personal;
|
||||
"nix-github-token.age".publicKeys = personal;
|
||||
"email.age".publicKeys = personal;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue