{ 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}"; }; 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" ]; }; 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 = ''

Dominik Polakovics

<Signature
 =firstName=3D"Dominik"
  lastName=3D"Polakovics"
  company=3D"Cloonar e.U."
  scope=3D"IT Solutions"
  phone=3D"+436688700600"
  email=3D"dominik.polakovics@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" ]; settings = { "mail.identity.id_${id}.reply_on_top" = 1; "mail.identity.id_${id}.sig_bottom" = false; }; }; }; "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; }; }; }; }; }