mirror of
https://github.com/nmasur/dotfiles
synced 2026-02-14 21:39:46 +00:00
Compare commits
2 Commits
d9fbdf7bfe
...
adbc2bd261
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
adbc2bd261 | ||
|
|
117fd8a06e |
@@ -287,7 +287,7 @@
|
|||||||
inherit (lib) overlays;
|
inherit (lib) overlays;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
pkgs.nixfmt-rfc-style
|
pkgs.nixfmt
|
||||||
);
|
);
|
||||||
|
|
||||||
# Templates for starting other projects quickly
|
# Templates for starting other projects quickly
|
||||||
|
|||||||
@@ -100,7 +100,7 @@
|
|||||||
lua.command = "${pkgs.stylua}/bin/stylua";
|
lua.command = "${pkgs.stylua}/bin/stylua";
|
||||||
black.command = "${pkgs.black}/bin/black";
|
black.command = "${pkgs.black}/bin/black";
|
||||||
fish_indent.command = "${pkgs.fish}/bin/fish_indent";
|
fish_indent.command = "${pkgs.fish}/bin/fish_indent";
|
||||||
nixfmt.command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
|
nixfmt.command = "${pkgs.nixfmt}/bin/nixfmt";
|
||||||
rustfmt.command = "${pkgs.rustfmt}/bin/rustfmt";
|
rustfmt.command = "${pkgs.rustfmt}/bin/rustfmt";
|
||||||
shfmt = {
|
shfmt = {
|
||||||
command = "${pkgs.shfmt}/bin/shfmt";
|
command = "${pkgs.shfmt}/bin/shfmt";
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ pkgs.mkShell {
|
|||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
git
|
git
|
||||||
stylua
|
stylua
|
||||||
nixfmt-rfc-style
|
nixfmt
|
||||||
shfmt
|
shfmt
|
||||||
shellcheck
|
shellcheck
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ in
|
|||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
accounts.calendar.accounts.default = {
|
accounts.calendar.accounts.default = {
|
||||||
basePath = "other/calendars"; # Where to save calendars in ~ directory
|
|
||||||
name = "personal";
|
name = "personal";
|
||||||
local.type = "filesystem";
|
local.type = "filesystem";
|
||||||
primary = true;
|
primary = true;
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBTYTRy
|
||||||
|
elYzTGpSNDQ3UEcwTXlVeGJleUJmWWhaeDdDQTFRcGpmNlNrQlNVCjA5L2JrS3Vx
|
||||||
|
Q0cyRkk5dTBLOHJXa0xJSG9MTDFnNjV1M0F5L3F5RUlVbW8KLT4gc3NoLWVkMjU1
|
||||||
|
MTkgWXlTVU1RIG5vNm1Xem9lN2pkS25WRi9xSlpZUjhuYmdUVDUvc2o4M0xqYURR
|
||||||
|
UmY0VGcKWVVQc2wyV0Jqbk9JR3N4bW5HOXFTZHpCa25EMC85eThQY05MdHdaeXZy
|
||||||
|
VQotPiBzc2gtZWQyNTUxOSBuanZYNUEgWXRVa3c4STZ3WmFaNThSdE1QdVpiMVR1
|
||||||
|
cm5hYXJsckZiRGtXLzN5RzJEawpkVHBscFd2c0R1SGxnZ3lKUnNnMEZtTUxoQlB4
|
||||||
|
dVBEbTkvUzBJSVRiV1hBCi0+IHNzaC1lZDI1NTE5IENxSU9VQSAvQjhVam1heHNU
|
||||||
|
elVrVGtvaUx1elFCeTdNTkRnN3c5NEc5MWg4dDU3NUhzCm5sUlhHclJrNldnVDhF
|
||||||
|
MTV2cGd3ZFhFdm1rM2ExWVFXbkNJYWlWY0VnUmsKLT4gc3NoLWVkMjU1MTkgejFP
|
||||||
|
Y1p3IGc1QUdkZEp0Z0xEekFjcHd4WVFVam9BZTBEQm9NR3QzQmxNS09VVXpHV2sK
|
||||||
|
c2tYSElVK2prRlF3VlFqKzlVUFRHUWU3TmFXcEdsV2FKWVhKT3pWZkxVNAotLS0g
|
||||||
|
c1cxdk5sL1c3dDZuVGp5VWJrTlBGZTByNjRxMGxTdHd0NFNHV1pyN2k5Ywr7SW9q
|
||||||
|
/FaTTUHB5QiCihA+385sNogq7Q1RvgT2Dwn9NdmMRd/ObESbokJXVSiDDEt6d39s
|
||||||
|
D/uoDY20p3PCk4julNn1
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (config.nmasur.settings) hostnames;
|
||||||
|
cfg = config.nmasur.presets.programs.thunderbird;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
options.nmasur.presets.programs.thunderbird = {
|
||||||
|
enable = lib.mkEnableOption "Thunderbird email client";
|
||||||
|
calendar = {
|
||||||
|
username = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Username for the calendar service backend";
|
||||||
|
default = config.nmasur.settings.username;
|
||||||
|
};
|
||||||
|
passwordCommand = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Password for the calendar service backend";
|
||||||
|
default = config.accounts.email.accounts.home.passwordCommand;
|
||||||
|
};
|
||||||
|
hostname = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Hostname for the calendar service backend";
|
||||||
|
default = hostnames.content;
|
||||||
|
};
|
||||||
|
url = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "URL for the calendar service backend";
|
||||||
|
default = "https://${cfg.calendar.hostname}/remote.php/dav";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
tasks = {
|
||||||
|
username = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Username for the tasks service backend";
|
||||||
|
default = config.nmasur.settings.username;
|
||||||
|
};
|
||||||
|
passwordCommand = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Password for the tasks service backend";
|
||||||
|
default = "${lib.getExe pkgs.age} --decrypt --identity ~/.ssh/id_ed25519 ${pkgs.writeText "taskspass.age" (builtins.readFile ./taskspass.age)}";
|
||||||
|
};
|
||||||
|
hostname = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Hostname for the tasks service backend";
|
||||||
|
default = hostnames.content;
|
||||||
|
};
|
||||||
|
url = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "URL for the tasks service backend";
|
||||||
|
default = "https://${cfg.tasks.hostname}/remote.php/dav";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
programs.thunderbird = {
|
||||||
|
enable = true;
|
||||||
|
profiles.default = {
|
||||||
|
isDefault = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
accounts.email.accounts.home.thunderbird = {
|
||||||
|
enable = true;
|
||||||
|
profiles = [ "default" ];
|
||||||
|
};
|
||||||
|
accounts.calendar.basePath = "other/calendars"; # Where to save calendars in ~ directory
|
||||||
|
# accounts.calendar.accounts.home = {
|
||||||
|
# local.type = "filesystem";
|
||||||
|
# primary = true;
|
||||||
|
# remote = {
|
||||||
|
# passwordCommand = [ cfg.calendar.passwordCommand ];
|
||||||
|
# type = "caldav";
|
||||||
|
# url = cfg.calendar.url;
|
||||||
|
# userName = cfg.calendar.username;
|
||||||
|
# };
|
||||||
|
# thunderbird = {
|
||||||
|
# enable = true;
|
||||||
|
# profiles = [ "default" ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# accounts.calendar.accounts.tasks = {
|
||||||
|
# local.type = "filesystem";
|
||||||
|
# primary = false;
|
||||||
|
# remote = {
|
||||||
|
# passwordCommand = [ cfg.tasks.passwordCommand ];
|
||||||
|
# type = "caldav";
|
||||||
|
# url = cfg.tasks.url;
|
||||||
|
# userName = cfg.tasks.username;
|
||||||
|
# };
|
||||||
|
# thunderbird = {
|
||||||
|
# enable = true;
|
||||||
|
# profiles = [ "default" ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -32,6 +32,7 @@ in
|
|||||||
nsxiv.enable = lib.mkDefault true;
|
nsxiv.enable = lib.mkDefault true;
|
||||||
obsidian.enable = lib.mkDefault true;
|
obsidian.enable = lib.mkDefault true;
|
||||||
rofi.enable = lib.mkDefault true;
|
rofi.enable = lib.mkDefault true;
|
||||||
|
thunderbird.enable = lib.mkDefault true;
|
||||||
xclip.enable = lib.mkDefault true;
|
xclip.enable = lib.mkDefault true;
|
||||||
zathura.enable = lib.mkDefault true;
|
zathura.enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ in
|
|||||||
pkgs.jless # JSON viewer
|
pkgs.jless # JSON viewer
|
||||||
pkgs.jo # JSON output
|
pkgs.jo # JSON output
|
||||||
pkgs.mpd # TUI slideshows
|
pkgs.mpd # TUI slideshows
|
||||||
pkgs.nixfmt-rfc-style # Format Nix code
|
pkgs.nixfmt # Format Nix code
|
||||||
pkgs.nmasur.jqr # FZF fq JSON tool
|
pkgs.nmasur.jqr # FZF fq JSON tool
|
||||||
pkgs.nmasur.osc # Clipboard over SSH
|
pkgs.nmasur.osc # Clipboard over SSH
|
||||||
pkgs.nmasur.ren-find # Rename files
|
pkgs.nmasur.ren-find # Rename files
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
default = pkgs.mkShell { buildInputs = with pkgs; [ nixfmt-rfc-style ]; };
|
default = pkgs.mkShell { buildInputs = with pkgs; [ nixfmt ]; };
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user