Nixfiles/personal-cli/hm.nix
2025-11-08 13:11:11 +01:00

117 lines
2.2 KiB
Nix

{ pkgs, lib, ... }:
let
bwPass = pkgs.writeShellScript "bw-pass" ''
${lib.getExe pkgs.bitwarden-cli} get item $@ | ${lib.getExe pkgs.jq} -r .login.password
'';
bwUser = pkgs.writeShellScript "bw-user" ''
${lib.getExe pkgs.bitwarden-cli} get item $@ | ${lib.getExe pkgs.jq} -r .login.username
'';
in
{
home.packages = with pkgs; [
bitwarden-cli
hbw
tokei
xdg-ninja
zk
nixpkgs-fmt
nixpkgs-review
nix-init
attic-client
nix-tree
gh
perf
];
programs.gpg = {
enable = true;
};
services.gpg-agent = {
enable = true;
enableFishIntegration = true;
};
services.syncthing.enable = true;
programs.ssh = {
enable = true;
enableDefaultConfig = false;
};
services.nextcloud-client = {
enable = true;
startInBackground = true;
};
programs.fioul = {
enable = true;
settings = {
default = {
nominatim = "https://nom.familleboyer.net";
server = "https://fioul.familleboyer.net";
cache_duration = "6months";
};
display = {
fuels = [ "Diesel" ];
dates = false;
};
sort = {
fuel = "Diesel";
};
};
};
programs.khal = {
locale.timeformat = "%H:%M";
enable = true;
};
programs.vdirsyncer.enable = true;
services.vdirsyncer.enable = true;
accounts.calendar = {
basePath = ".calendar";
accounts.personal =
let
bwId = "07619222-49eb-4d66-ad8c-ca7c81a9868d";
in
{
primary = true;
primaryCollection = "QC";
remote = {
type = "caldav";
url = "https://nextcloud.familleboyer.net/remote.php";
passwordCommand = [
"${bwPass}"
bwId
];
};
vdirsyncer = {
enable = true;
collections = [ "from a" ];
userNameCommand = [
"${bwUser}"
bwId
];
metadata = [
"color"
"displayname"
];
};
khal = {
type = "discover";
enable = true;
};
};
};
home.file = {
bin = {
source = ./scripts;
recursive = true;
};
};
}