{ 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; # "layout.css.devPixelsPerPx" = "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://nextcloud.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" = ""; "ldap_2.servers.Contacts.carddav.url" = "https://nextcloud.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"; }; 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; "identity.sync.tokenserver.uri" = "https://sync.cloonar.com:5000/token/1.0/sync/1.5"; # "toolkit.legacyUserProfileCustomizations.stylesheets" = true; "layout.css.devPixelsPerPx" = "1"; "media.ffmpeg.vaapi.enabled" = true; "media.ffmpeg.vaapi-drm-display.enabled" = true; "gfx.webrender.all" = true; }; firefoxUserChrome = '' * { font-size: 16pt !important } ''; firefoxSearchSettings = { force = true; default = "Perplexity"; privateDefault = "Perplexity"; order = [ "Perplexity" "Duckduckgo" "Nix Packages" "Nix Options" ]; engines = { "Nix Packages" = { urls = [{ template = "https://search.nixos.org/packages"; params = [ { name = "type"; value = "packages"; } { name = "query"; value = "{searchTerms}"; } ]; }]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@np" ]; }; "Nix Options" = { urls = [{ template = "https://search.nixos.org/options"; params = [ { name = "type"; value = "packages"; } { name = "query"; value = "{searchTerms}"; } ]; }]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@no" ]; }; "Perplexity" = { urls = [{ template = "https://www.perplexity.ai/search"; params = [ { name = "q"; value = "{searchTerms}"; } ]; }]; iconUpdateURL = "https://perplexity.ai/favicon.ico"; definedAliases = [ "@perplexity" ]; }; "Google".metaData.hidden = true; "Bing".metaData.hidden = true; }; }; firefoxExtensions = with pkgs.nur.repos.rycee.firefox-addons; [ bitwarden multi-account-containers privacy-badger ublock-origin ]; persistHome = "/home/dominik"; 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 = [ # ".ApacheDirectoryStudio" # ".config/Creality" # ".config/github-copilot" # ".config/libreoffice" # ".config/Nextcloud" # ".config/OrcaSlicer" # ".config/rustdesk" # ".config/Signal" # ".config/Signal-work" # ".config/sops" # ".config/VirtualBox" # ".local/share/keyrings" # ".local/share/Steam" # ".mozilla" # ".ssh" # ".thunderbird" # ".var" # "cloud.cloonar.com" # "nextcloud.cloonar.com" # "cloud.epicenter.works" # "OpenAudible" # "VirtualBox VMs" # "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; }; }; systemd.user.services = { signald = { Unit = { Description = "Signal-cli daemon"; After = [ "graphical-session-pre.target" ]; PartOf = [ "graphical-session.target" ]; }; Install = { WantedBy = [ "graphical-session.target" ]; }; Service = { ExecStart = "${pkgs.signal-cli}/bin/signal-cli daemon"; Restart = "always"; }; }; }; programs.chromium = { enable = true; commandLineArgs = [ "--enable-features=WebUIDarkMode" "--force-dark-mode" ]; dictionaries = [ pkgs.hunspellDictsChromium.en_US pkgs.hunspellDictsChromium.de_DE ]; extensions = [ { # Ublock id = "epcnnfbjfcgphgdmggkamkmgojdagdnn"; } { # Privacy Badger id = "pkehgijcmpdhfbdbbnkijodmdjhbjlgp"; } { # Bitwarden id = "nngceckbapebfimnlniiiahkandclblb"; } ]; }; 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" ]; settings = id: { "mail.identity.id_${id}.reply_on_top" = 1; "mail.identity.id_${id}.sig_bottom" = false; "mail.identity.id_${id}.htmlSigFormat" = true; }; }; }; "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" ]; 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@cloonar.com" = { realName = "Dominik Polakovics"; address = "dominik.polakovics@cloonar.com"; userName = "dominik.polakovics@cloonar.com"; signature = { showSignature = "append"; text = ''

Dominik Polakovics

<Signature
  firstName="Dominik"
  lastName="Polakovics"
  company="Cloonar e.U."
  scope="IT Solutions"
  phone="+436688700600"
  email="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 = 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" ]; settings = id: { "mail.identity.id_${id}.reply_on_top" = 1; "mail.identity.id_${id}.sig_bottom" = false; "mail.identity.id_${id}.htmlSigFormat" = true; }; }; }; }; programs.firefox = { enable = true; profiles = { default = { id = 0; isDefault = true; settings = firefoxSettings; # userChrome = firefoxUserChrome; search = firefoxSearchSettings; extensions = firefoxExtensions; }; social = { id = 1; settings = firefoxSettings; # userChrome = firefoxUserChrome; search = firefoxSearchSettings; 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 if [ ! -L ~/Documents ]; then ln -s /home/dominik/.local/share/Cryptomator/mnt/Documents ~/Documents fi if [ ! -L ~/Downloads ]; then ln -s /home/dominik/.local/share/Cryptomator/mnt/Downloads ~/Downloads fi set -eu ''; /* Setup development projects */ home.activation.projects = lib.hm.dag.entryAfter ["writeBoundary"] '' PATH="${pkgs.git}/bin:${pkgs.openssh}/bin:$PATH" set +eu ssh-keygen -R git.cloonar.com ssh-keyscan git.cloonar.com >> ~/.ssh/known_hosts git clone gitea@git.cloonar.com:renovate/renovate-config.git ${persistHome}/cloonar/renovate-config 2>/dev/null git clone git@github.com:dpolakovics/bento.git ${persistHome}/cloonar/bento 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/freescout.git ${persistHome}/projects/cloonar/freescout 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/support-invoiced.git ${persistHome}/projects/cloonar/support-invoiced 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/nixos.git ${persistHome}/projects/cloonar/cloonar-nixos 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/website.git ${persistHome}/projects/cloonar/cloonar-website 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/wohnservice-wien-typo3.git ${persistHome}/projects/cloonar/wohnservice-wien 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/gbv-aktuell.git ${persistHome}/projects/cloonar/gbv-aktuell 2>/dev/null git clone gitea@git.cloonar.com:Paraclub/api.git ${persistHome}/projects/cloonar/paraclub/paraclub-api 2>/dev/null git clone gitea@git.cloonar.com:Paraclub/frontend.git ${persistHome}/projects/cloonar/paraclub/paraclub-frontend 2>/dev/null git clone gitea@git.cloonar.com:Paraclub/website.git ${persistHome}/projects/cloonar/paraclub/paraclub-website 2>/dev/null git clone gitea@git.cloonar.com:Paraclub/module.git ${persistHome}/projects/cloonar/paraclub/paraclub-module 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/amz-api.git ${persistHome}/projects/cloonar/amz/amz-api 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/amz-frontend.git ${persistHome}/projects/cloonar/amz/amz-frontend 2>/dev/null git clone gitea@git.cloonar.com:hilgenberg/website.git ${persistHome}/projects/cloonar/hilgenberg-website 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/korean-skin.care.git ${persistHome}/projects/cloonar/korean-skin.care 2>/dev/null git clone gitea@git.cloonar.com:myhidden.life/web.git ${persistHome}/projects/myhidden.life/myhidden.life-web 2>/dev/null git clone gitea@git.cloonar.com:socialgrow.tech/sgt-api.git ${persistHome}/projects/socialgrow.tech/sgt-api 2>/dev/null ssh-keygen -R gitlab.epicenter.works ssh-keyscan gitlab.epicenter.works >> ~/.ssh/known_hosts git clone git@github.com:AKVorrat/ewcampaign.git ${persistHome}/projects/epicenter.works/ewcampaign 2>/dev/null git clone git@gitlab.epicenter.works:epicenter.works/website.git ${persistHome}/projects/epicenter.works/epicenter.works 2>/dev/null git clone git@github.com:AKVorrat/epicenter.works-website.git ${persistHome}/projects/epicenter.works/epicenter.works-website 2>/dev/null git clone git@gitlab.epicenter.works:epicenter.works/nixos.git ${persistHome}/projects/epicenter.works/epicenter-nixos 2>/dev/null git clone git@github.com:AKVorrat/spenden.akvorrat.at.git ${persistHome}/projects/epicenter.works/spenden.akvorrat.at 2>/dev/null git clone git@github.com:AKVorrat/dearmep-website.git ${persistHome}/projects/epicenter.works/dearmep-website 2>/dev/null set -eu ''; home.file.".wallpaper.jpg".source = ./configs/wallpaper.jpg; home.file.".wallpaper.png".source = ./configs/wallpaper.png; 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"; identitiesOnly = true; }; "gitlab.epicenter.works" = { user = "git"; identitiesOnly = true; }; "tools.epicenter.works" = { user = "root"; identityFile = "~/.ssh/epicenter.id_rsa"; }; "*.epicenter.works !tools.epicenter.works" = { user = "dominik"; identityFile = "~/.ssh/epicenter.id_rsa"; }; "*.dearmep.eu" = { user = "root"; identityFile = "~/.ssh/epicenter.id_rsa"; }; "*.akvorrat.at" = { user = "dominik"; setEnv = { TERM = "xterm-256color"; }; identityFile = "~/.ssh/epicenter.id_rsa"; }; "*.cloonar.com" = { user = "root"; }; "*.cloonar.smart" = { user = "root"; }; "*.wsw.at" = { user = "wswdpolakovics"; setEnv = { TERM = "xterm-256color"; }; }; "*.nycro.net" = { user = "hilgenberg-gmbh.de_kk33i9d2xv"; # prod #user = "hilgenberg.gmbh.de_pci2n5aqzt"; # stage setEnv = { TERM = "xterm-256color"; }; }; "*.hilgenberg-gmbh.de" = { user = "root"; setEnv = { TERM = "xterm-256color"; }; }; "*.social-grow.tech" = { user = "root"; # prod identityFile = "~/.ssh/social-grow.tech_id_ed25519"; setEnv = { TERM = "xterm-256color"; }; }; "amz-websrv-01.amz.at" = { user = "ebs"; }; "u149513.your-backup.de" = { user = "u149513"; # user = "u149513-sub2"; # fw.cloonar.com port = 23; }; }; }; }; }