Files
nixos/hosts/nb-new.cloonar.com/users/dominik.nix
2024-07-04 22:44:56 +02:00

421 lines
17 KiB
Nix

{ config, lib, pkgs, ... }:
let
impermanence = builtins.fetchTarball "https://github.com/nix-community/impermanence/archive/master.tar.gz";
thunderbirdSettings = {
"extensions.activeThemeID" = "thunderbird-compact-dark@mozilla.org";
"browser.theme.content-theme" = 0;
"browser.theme.toolbar-theme" = 0;
"calendar.alarms.showmissed" = false;
"mail.uidensity" = 2;
"mail.inline_attachments" = false;
"mail.folder.views.version" = 1;
"calendar.list.sortOrder" = "cloonar-personal";
"calendar.ui.version" = 3;
"calendar.timezone.local" = "Europe/Vienna";
"calendar.week.start" = 1;
};
thunderbirdCalendarPersonal = {
"calendar.registry.cloonar-personal.cache.enabled" = true;
"calendar.registry.cloonar-personal.calendar-main-in-composite" = true;
"calendar.registry.cloonar-personal.color" = "#232323";
"calendar.registry.cloonar-personal.disabled" = false;
"calendar.registry.cloonar-personal.forceEmailScheduling" = true;
"calendar.registry.cloonar-personal.imip.identity.key" = "id6";
"calendar.registry.cloonar-personal.name" = "Personal";
"calendar.registry.cloonar-personal.readOnly" = false;
"calendar.registry.cloonar-personal.refreshInterval" = 30;
"calendar.registry.cloonar-personal.suppressAlarms" = false;
"calendar.registry.cloonar-personal.type" = "caldav";
"calendar.registry.cloonar-personal.uri" = "https://cloud.cloonar.com/remote.php/dav/calendars/dominik.polakovics@cloonar.com/personal/";
"calendar.registry.cloonar-personal.username" = "dominik.polakovics@cloonar.com";
};
thunderbirdCalendarEpicenterEmployees = {
"calendar.registry.epicenter-employees.cache.enabled" = true;
"calendar.registry.epicenter-employees.calendar-main-in-composite" = true;
"calendar.registry.epicenter-employees.color" = "#e774ca";
"calendar.registry.epicenter-employees.disabled" = true;
"calendar.registry.epicenter-employees.forceEmailScheduling" = true;
"calendar.registry.epicenter-employees.name" = "epicenter.works-Employees (admin)";
"calendar.registry.epicenter-employees.readOnly" = false;
"calendar.registry.epicenter-employees.refreshInterval" = 30;
"calendar.registry.epicenter-employees.suppressAlarms" = true;
"calendar.registry.epicenter-employees.type" = "caldav";
"calendar.registry.epicenter-employees.uri" = "https://cloud.epicenter.works/remote.php/dav/calendars/razormind/akvorrat-employees_shared_by_admin/";
"calendar.registry.epicenter-employees.username" = "razormind";
};
thunderbirdContactsPersonal = {
"ldap_2.servers.Contacts.carddav.token" = "http://sabre.io/ns/sync/325";
"ldap_2.servers.Contacts.carddav.url" = "https://cloud.cloonar.com/remote.php/dav/addressbooks/users/dominik.polakovics@cloonar.com/contacts/";
"ldap_2.servers.Contacts.carddav.username" = "dominik.polakovics@cloonar.com";
"ldap_2.servers.Contacts.description" = "Contacts";
"ldap_2.servers.Contacts.dirType" = 102;
"ldap_2.servers.Contacts.filename" = "abook-1.sqlite";
"ldap_2.servers.Contacts.uid" = "68fb463c-1c2d-4f39-be37-bbb6ecb97e63";
"ldap_2.servers.history.uid" = "01df0056-319d-47ac-93ff-b24b978c0902";
"ldap_2.servers.pab.uid" = "3a7c1bff-18ec-4500-9ae2-098b5fdbaeaa";
};
firefoxSettings = {
"browser.startup.homepage" = "https://start.duckduckgo.com";
"browser.startup.page" = 1;
"browser.startup.homepage_override.mstone" = "ignore";
"extensions.autoDisableScopes" = 0;
"app.normandy.first_run" = false;
"browser.download.panel.shown" = true;
"devtools.cache.disabled" = true;
"devtools.toolbox.host" = "right";
"browser.uiCustomization.state" = "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"urlbar-container\",\"downloads-button\",\"screenshot-button\",\"ublock0_raymondhill_net-browser-action\",\"jid1-mnnxcxisbpnsxq_jetpack-browser-action\",\"_d634138d-c276-4fc8-924b-40a0ea21d284_-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"_testpilot-containers-browser-action\",\"unified-extensions-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"firefox-view-button\",\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"_d634138d-c276-4fc8-924b-40a0ea21d284_-browser-action\",\"_testpilot-containers-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"jid1-mnnxcxisbpnsxq_jetpack-browser-action\",\"developer-button\"],\"dirtyAreaCache\":[\"unified-extensions-area\",\"nav-bar\",\"PersonalToolbar\"],\"currentVersion\":20,\"newElementCount\":3}";
"signon.rememberSignons" = false;
};
firefoxExtensions = with pkgs.nur.repos.rycee.firefox-addons; [
bitwarden
multi-account-containers
onepassword-password-manager
privacy-badger
ublock-origin
];
in
{
programs.fuse.userAllowOther = true;
home-manager.users.dominik = { lib, pkgs, ... }: {
imports = [ "${impermanence}/home-manager.nix" ];
/* The home.stateVersion option does not have a default and must be set */
home.stateVersion = "24.05";
home.enableNixpkgsReleaseCheck = false;
/* Here goes the rest of your home-manager config, e.g. home.packages = [ pkgs.foo ]; */
home.persistence."/nix/persist/user/dominik" = {
allowOther = true;
directories = [
".config/github-copilot"
".config/libreoffice"
".config/Nextcloud"
".config/rustdesk"
".config/Signal"
".local/share/keyrings"
".mozilla"
".thunderbird"
"cloud.cloonar.com"
"cloud.epicenter.works"
"projects"
"go"
];
};
gtk = {
enable = true;
gtk2.extraConfig = ''
gtk-application-prefer-dark-theme=1;
'';
gtk3.extraConfig = {
"gtk-application-prefer-dark-theme" = true;
};
gtk4.extraConfig = {
"gtk-application-prefer-dark-theme" = true;
};
};
programs.git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
userName = "Dominik Polakovics";
userEmail = "dominik.polakovics@cloonar.com";
# signing = {
# key = "dominik.polakovics@cloonar.com";
# signByDefault = false;
# };
iniContent = {
# Branch with most recent change comes first
branch.sort = "-committerdate";
# Remember and auto-resolve merge conflicts
# https://git-scm.com/book/en/v2/Git-Tools-Rerere
rerere.enabled = true;
};
};
programs.thunderbird = {
enable = true;
profiles = {
private = {
isDefault = true;
settings = lib.mkMerge [
thunderbirdSettings
thunderbirdCalendarPersonal
thunderbirdContactsPersonal
];
};
cloonar = {
settings = lib.mkMerge [
thunderbirdSettings
thunderbirdCalendarPersonal
thunderbirdContactsPersonal
];
};
work = {
settings = lib.mkMerge [
thunderbirdSettings
thunderbirdCalendarPersonal
thunderbirdCalendarEpicenterEmployees
thunderbirdContactsPersonal
];
};
};
};
accounts.email.accounts = {
"dominik@superbros.tv" = {
primary = true;
realName = "Dominik Polakovics";
address = "dominik@superbros.tv";
userName = "dominik@superbros.tv";
imap = {
host = "imap.cloonar.com";
port = 993;
};
smtp = {
host = "mail.cloonar.com";
port = 587;
tls = {
enable = true;
useStartTls = true;
};
};
thunderbird = {
enable = true;
profiles = [ "private" "cloonar" "work" ];
};
};
"office@cloonar.com" = {
realName = "Cloonar";
address = "office@cloonar.com";
userName = "office@cloonar.com";
imap = {
host = "imap.cloonar.com";
port = 993;
};
smtp = {
host = "mail.cloonar.com";
port = 587;
tls = {
enable = true;
useStartTls = true;
};
};
thunderbird = {
enable = true;
profiles = [ "cloonar" "work" ];
};
};
"dominik.polakovics@cloonar.com" = {
realName = "Dominik Polakovics";
address = "dominik.polakovics@cloonar.com";
userName = "dominik.polakovics@cloonar.com";
signature = {
showSignature = "append";
text = ''
<p><font color="#666666">Dominik Polakovics</font></p>
<p><font color="#666666">&lt;Signature<br></font>
<font color="#666666">&nbsp; </font><span style="color: inherit; font-size: 1.1em;">firstName="</span><span style="font-size: 1.1em; color: rgb(237, 92, 87);">Dominik</span><span style="color: inherit; font-size: 1.1em;">"<br></span>
<span style="color: inherit; font-size: 1.1em;">&nbsp; lastName="</span><span style="font-size: 1.1em; color: rgb(237, 92, 87);">Polakovics</span><span style="color: inherit; font-size: 1.1em;">"<br></span>
<span style="color: inherit; font-size: 1.1em;">&nbsp; company="</span><span style="font-size: 1.1em; color: rgb(81, 167, 249);">Cloonar e.U.</span><span style="color: inherit; font-size: 1.1em;">"<br></span>
<span style="color: inherit; font-size: 1.1em;">&nbsp; scope="</span><span style="font-size: 1.1em; color: rgb(81, 167, 249);">IT Solutions</span><span style="color: inherit; font-size: 1.1em;">"<br></span><span style="color: inherit; font-size: 1.1em;">&nbsp; phone="</span><span style="font-size: 1.1em; color: rgb(81, 167, 249);">+436688700600</span><span style="color: inherit; font-size: 1.1em;">"<br></span>
<span style="color: inherit; font-size: 1.1em;">&nbsp; email="</span><span style="font-size: 1.1em; color: rgb(81, 167, 249);">dominik.polakovics@cloonar.com</span><span style="font-size: 1.1em;">"<br></span>
<span style="color: rgb(102, 102, 102); font-size: 1.1em;">/&gt;</span></p>
'';
};
imap = {
host = "imap.cloonar.com";
port = 993;
};
smtp = {
host = "mail.cloonar.com";
port = 587;
tls = {
enable = true;
useStartTls = true;
};
};
thunderbird = {
enable = true;
profiles = [ "cloonar" "work" ];
settings = id: {
"mail.identity.id_${id}.reply_on_top" = 1;
"mail.identity.id_${id}.sig_bottom" = false;
"mail.identity.id_${id}.htmlSigFormat" = true;
};
};
};
"dominik.polakovics@epicenter.works" = {
realName = "Dominik Polakovics";
address = "dominik.polakovics@epicenter.works";
userName = "dominik.polakovics@epicenter.works";
imap = {
host = "mail.epicenter.works";
port = 993;
};
smtp = {
host = "mail.epicenter.works";
port = 587;
tls = {
enable = true;
useStartTls = true;
};
};
thunderbird = {
enable = true;
profiles = [ "work" ];
};
};
};
programs.firefox = {
enable = true;
profiles = {
default = {
id = 0;
isDefault = true;
settings = firefoxSettings;
search.default = "DuckDuckGo";
search.privateDefault = "DuckDuckGo";
extensions = firefoxExtensions;
};
social = {
id = 1;
settings = firefoxSettings;
search.default = "DuckDuckGo";
search.privateDefault = "DuckDuckGo";
containersForce = true;
containers = {
"private" = {
color = "green";
icon = "fingerprint";
id = 1;
};
"cloonar" = {
color = "purple";
icon = "briefcase";
id = 2;
};
"epicenter.works" = {
color = "blue";
icon = "briefcase";
id = 3;
};
};
extensions = firefoxExtensions;
};
};
};
home.activation.symlinks = lib.hm.dag.entryAfter ["writeBoundary"] ''
PATH="${pkgs.git}/bin:${pkgs.openssh}/bin:$PATH"
set +eu
ln -s /home/dominik/.local/share/Cryptomator/mnt/Documents ~/Documents
ln -s /home/dominik/.local/share/Cryptomator/mnt/Downloads ~/Downloads
set -eu
'';
/* Setup development projects */
home.activation.projects = lib.hm.dag.entryAfter ["writeBoundary"] ''
PATH="${pkgs.git}/bin:${pkgs.openssh}/bin:$PATH"
set +eu
git clone gitea@git.cloonar.com:Cloonar/nixos.git /nix/persist/user/dominik/projects/cloonar/cloonar-nixos 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/website.git /nix/persist/user/dominik/projects/cloonar/cloonar-website 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/wohnservice-wien-typo3.git /nix/persist/user/dominik/projects/cloonar/wohnservice-wien 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/gbv-aktuell.git /nix/persist/user/dominik/projects/cloonar/gbv-aktuell 2>/dev/null
git clone gitea@git.cloonar.com:Paraclub/api.git /nix/persist/user/dominik/projects/cloonar/paraclub/paraclub-api 2>/dev/null
git clone gitea@git.cloonar.com:Paraclub/frontend.git /nix/persist/user/dominik/projects/cloonar/paraclub/paraclub-frontend 2>/dev/null
git clone gitea@git.cloonar.com:Paraclub/website.git /nix/persist/user/dominik/projects/cloonar/paraclub/paraclub-website 2>/dev/null
git clone gitea@git.cloonar.com:Paraclub/module.git /nix/persist/user/dominik/projects/cloonar/paraclub/paraclub-module 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/amz-api.git /nix/persist/user/dominik/projects/cloonar/amz/amz-api 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/amz-frontend.git /nix/persist/user/dominik/projects/cloonar/amz/amz-frontend 2>/dev/null
git clone gitea@git.cloonar.com:myhidden.life/web.git /nix/persist/user/dominik/projects/myhidden.life/myhidden.life-web 2>/dev/null
git clone git@gitlab.epicenter.works:epicenter.works/campaigntool.git /nix/persist/user/dominik/projects/epicenter.works/campaigntool 2>/dev/null
git clone git@gitlab.epicenter.works:epicenter.works/website.git /nix/persist/user/dominik/projects/epicenter.works/epicenter.works 2>/dev/null
git clone git@gitlab.epicenter.works:epicenter.works/nixos.git /nix/persist/user/dominik/projects/epicenter.works/epicenter-nixos 2>/dev/null
git clone git@github.com:AKVorrat/spenden.akvorrat.at.git /nix/persist/user/dominik/projects/epicenter.works/spenden.akvorrat.at 2>/dev/null
git clone git@github.com:AKVorrat/dearmep-website.git /nix/persist/user/dominik/projects/epicenter.works/dearmep-website 2>/dev/null
set -eu
'';
home.file.".local/share/nvim/project_nvim/project_history".source = ./configs/project_history;
home.file.".config/Cryptomator/settings.json".source = ./configs/cryptomator.json;
programs.ssh = {
enable = true;
matchBlocks = {
"git.cloonar.com" = {
user = "git";
identityFile = "/nix/persist/user/dominik/.ssh/id_rsa";
identitiesOnly = true;
};
"gitlab.epicenter.works" = {
user = "git";
identityFile = "/nix/persist/user/dominik/.ssh/id_rsa";
identitiesOnly = true;
};
"tools.epicenter.works" = {
user = "root";
identityFile = "/nix/persist/user/dominik/.ssh/epicenter.id_rsa";
};
"*.epicenter.works !tools.epicenter.works" = {
user = "dominik";
identityFile = "/nix/persist/user/dominik/.ssh/epicenter.id_rsa";
};
"*.dearmep.eu" = {
user = "root";
identityFile = "/nix/persist/user/dominik/.ssh/epicenter.id_rsa";
};
"*.akvorrat.at" = {
user = "dominik";
setEnv = {
TERM = "xterm-256color";
};
identityFile = "/nix/persist/user/dominik/.ssh/epicenter.id_rsa";
};
"*.cloonar.com" = {
user = "root";
identityFile = "/nix/persist/user/dominik/.ssh/id_rsa";
};
"*.cloonar.smart" = {
user = "root";
identityFile = "/nix/persist/user/dominik/.ssh/id_rsa";
};
"*.wsw.at" = {
user = "wswdpolakovics";
identityFile = "/nix/persist/user/dominik/.ssh/id_rsa";
setEnv = {
TERM = "xterm-256color";
};
};
"*.nycro.net" = {
user = "hilgenberg-gmbh.de_kk33i9d2xv"; # prod
identityFile = "/nix/persist/user/dominik/.ssh/id_rsa";
#user = "hilgenberg.gmbh.de_pci2n5aqzt"; # stage
setEnv = {
TERM = "xterm-256color";
};
};
"amz-websrv-01.amz.at" = {
user = "ebs";
identityFile = "/nix/persist/user/dominik/.ssh/id_rsa";
};
"u149513.your-backup.de" = {
user = "u149513";
identityFile = "/nix/persist/user/dominik/.ssh/id_rsa";
# user = "u149513-sub2"; # fw.cloonar.com
port = 23;
};
};
};
};
}