Files
nixos/hosts/nb/users/dominik.nix

738 lines
29 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{ config, lib, pkgs, ... }:
let
# impermanence = builtins.fetchTarball "https://github.com/nix-community/impermanence/archive/master.tar.gz";
unstable = import (fetchTarball https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz) {
config = { allowUnfree = true; };
};
thunderbirdSettings = {
"extensions.activeThemeID" = "thunderbird-compact-dark@mozilla.org";
"browser.theme.content-theme" = 0;
"browser.theme.toolbar-theme" = 0;
"calendar.alarms.showmissed" = false;
"mail.uidensity" = 1;
"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.25";
};
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/1.0/sync/1.5";
# "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"layout.css.devPixelsPerPx" = "1.25";
"media.ffmpeg.vaapi.enabled" = true;
"media.ffmpeg.vaapi-drm-display.enabled" = true;
"gfx.webrender.all" = true;
"xpinstall.signatures.required" = false;
"layers.acceleration.disabled" = false;
"gfx.webrender.force-disabled" = false;
"gfx.webrender.software" = false;
"gfx.webrender.compositor" = true;
"layers.mlgpu.enabled" = true;
"layers.gpu-process.enabled" = true;
};
# firefoxUserChrome = ''
# * {
# /* removed explicit font-size to use default */
# }
# '';
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}"; }
];
}];
icon = "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
{
imports = [
./codex-cli.nix
];
sops.secrets.openai_api_key = {
owner = "dominik";
};
programs.fuse.userAllowOther = true;
programs.zsh = {
shellInit = ''
export OPENAI_API_KEY=$(cat ${config.sops.secrets.openai_api_key.path})
export SOPS_AGE_KEY_FILE="$HOME/.config/sops/age/key.age"
'';
};
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 = "25.05";
home.enableNixpkgsReleaseCheck = false;
home.sessionVariables = {
MOZ_ENABLE_WAYLAND = "1";
SOPS_AGE_KEY_FILE = "$HOME/.config/sops/age/key.age";
};
nixpkgs.config.allowUnfree = true;
programs.bash = {
enable = true;
initExtra = ''
# include .profile if it exists
[[ -f ~/.profile ]] && . ~/.profile
'';
};
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;
};
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
};
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";
};
};
pyload-tunnel = {
Unit = {
Description = "SSH tunnel for pyLoad Click'n'Load";
After = [ "graphical-session-pre.target" ];
PartOf = [ "graphical-session.target" ];
};
Install = {
WantedBy = [ "graphical-session.target" ];
};
Service = {
ExecStart = "${pkgs.openssh}/bin/ssh -N -L 9666:10.42.97.11:9666 -o ServerAliveInterval=60 -o ServerAliveCountMax=3 root@fw.cloonar.com";
Restart = "always";
RestartSec = "10s";
};
};
};
programs.chromium = {
enable = true;
package = pkgs.ungoogled-chromium;
commandLineArgs = [
"--enable-features=WebUIDarkMode"
"--force-dark-mode"
"--enable-features=UseOzonePlatform"
"--ozone-platform=wayland"
"--default-search-provider-search-url=\"https://www.perplexity.ai/search/?q=%s\""
"--enable-gpu-rasterization"
"--enable-zero-copy"
"--disable-gpu-driver-bug-workarounds"
];
dictionaries = [
pkgs.hunspellDictsChromium.en_US
pkgs.hunspellDictsChromium.de_DE
];
extensions = [
{
# ublock
id = "epcnnfbjfcgphgdmggkamkmgojdagdnn";
}
{
# dark reader
id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";
}
{
# privacy badger
id = "pkehgijcmpdhfbdbbnkijodmdjhbjlgp";
}
{
# Bitwarden
id = "nngceckbapebfimnlniiiahkandclblb";
}
{
# Dracula Theme
id = "jiaeinnfkmnkpkicpaihogiomcgikcde";
}
{
# Vimium
id = "dbepggeogbaibhgnhhndojpepiihcmeb";
}
{
# BrainTool
id = "fialfmcgpibjgdoeodaondepigiiddio";
}
{
# Chathub
id = "iaakpnchhognanibcahlpcplchdfmgma";
}
];
};
programs.git = {
enable = true;
lfs.enable = true;
package = pkgs.gitFull;
# signing = {
# key = "dominik.polakovics@cloonar.com";
# signByDefault = false;
# };
settings = {
user.name = "Dominik Polakovics";
user.email = "dominik.polakovics@cloonar.com";
# 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;
"url \"gitea@git.cloonar.com:\"" = {
insteadOf = "https://git.cloonar.com/";
};
};
};
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 = ''
<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 Technologies GmbH</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;
};
};
};
"office@scana11y.com" = {
realName = "Dominik Polakovics";
address = "office@scana11y.com";
userName = "office@scana11y.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";
signature = {
showSignature = "append";
text = ''
<div style="font-family: 'Open Sans', Helvetica, Arial, sans-serif;">
<p style="margin-bottom: 0;"><img src="https://epicenter.works/sites/default/files/ew_logo_rgb-xs.png" /><br>
<b>epicenter.works for digital rights</b><br>
Dominik Polakovics, Technical Advisor</p>
<table style="border: none;border-left: 5px solid #ccc;font-size: 80%;">
<tr>
<td style="padding-right:10px;">E-Mail:</td>
<td>dominik.polakovics@epicenter.works</td>
</tr>
</table>
</div>
'';
};
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.packages = firefoxExtensions;
};
social = {
id = 1;
settings = firefoxSettings;
# userChrome = firefoxUserChrome;
search = firefoxSearchSettings;
containersForce = true;
containers = {
"private" = {
color = "green";
icon = "fingerprint";
id = 1;
};
"dating" = {
color = "pink";
icon = "circle";
id = 5;
};
"cloonar technologies" = {
color = "red";
icon = "briefcase";
id = 2;
};
"cloonar eu" = {
color = "purple";
icon = "briefcase";
id = 4;
};
"epicenter.works" = {
color = "blue";
icon = "briefcase";
id = 3;
};
};
extensions.packages = firefoxExtensions;
};
};
};
home.activation.symlinks = lib.hm.dag.entryAfter ["writeBoundary"] ''
PATH="${pkgs.git}/bin:${pkgs.openssh}/bin:$PATH"
set +eu
if [ ! -L ~/Documents/Documents ]; then
ln -s /home/dominik/.local/share/Cryptomator/mnt/Documents ~/Documents
fi
if [ ! -L ~/Downloads/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 git@github.com:dpolakovics/soundscape-sync.git ${persistHome}/projects/cloonar/soundscape-sync 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/yaapi.git ${persistHome}/projects/cloonar/yaapi 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/chatgpt.vim.git ${persistHome}/cloonar/chatgpt.vim 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/gitea.nvim.git ${persistHome}/cloonar/gitea.nvim 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 git@github.com:dpolakovics/glazewm.git ${persistHome}/cloonar/glazewm 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/phishguard.git ${persistHome}/projects/cloonar/phishguard 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/phishguard-frontend.git ${persistHome}/projects/cloonar/phishguard-frontend 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/gitapi.git ${persistHome}/projects/cloonar/gitapi 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/ai.nvim.git ${persistHome}/cloonar/ai.nvim 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/cloonar-assistant.git ${persistHome}/projects/cloonar/cloonar-assistant 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/cloonar-assistant-customers.git ${persistHome}/projects/cloonar/cloonar-assistant-customers 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/updns.git ${persistHome}/projects/cloonar/updns 2>/dev/null
git clone git@github.com:dpolakovics/mcp-servers-nix.git ${persistHome}/cloonar/mcp-servers-nix 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/ldap2vcard.git ${persistHome}/projects/cloonar/ldap2vcard 2>/dev/null
git clone gitea@git.cloonar.com:ScanA11y/sa-core.git ${persistHome}/projects/scana11y/sa-core 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/ai-image-alt.git ${persistHome}/projects/cloonar/ai-image-alt 2>/dev/null
git clone gitea@git.cloonar.com:dominik.polakovics/typo3-basic.git ${persistHome}/cloonar/typo3-basic 2>/dev/null
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/wohnservice-gdpr.git ${persistHome}/projects/cloonar/wohnservice-gdpr 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:Cloonar/fit.git ${persistHome}/projects/cloonar/cloonar-fit 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/cloonar-technologies-website.git ${persistHome}/projects/cloonar/cloonar-technologies-website 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:Paraclub/ai-mailer.git ${persistHome}/projects/cloonar/paraclub/paraclub-ai-mailer 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:Cloonar/lena-schilling-website.git ${persistHome}/projects/cloonar/lena-schilling-website 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/dialog-relations-website.git ${persistHome}/projects/cloonar/dialog-relations-website 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/imperfect-perfect.com.git ${persistHome}/projects/cloonar/imperfect-perfect.com 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/lego-hetzner-bridge.git ${persistHome}/projects/home-automation/lego-hetzner-bridge 2>/dev/null
git clone gitea@git.cloonar.com:Cloonar/ghetto-nixos.git ${persistHome}/projects/home-automation/ghetto-nixos 2>/dev/null
git clone gitea@git.cloonar.com:ownstash/api.git ${persistHome}/projects/ownstash/ownstash-api 2>/dev/null
ssh-keygen -R gitlab.epicenter.works
ssh-keyscan gitlab.epicenter.works >> ~/.ssh/known_hosts
git clone git@github.com:AKVorrat/nixos.git ${persistHome}/projects/epicenter.works/epicenter-nixos 2>/dev/null
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@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
git clone git@github.com:whoidentifies-me/api.git ${persistHome}/projects/epicenter.works/whoidentifies.me/wim-api 2>/dev/null
git clone git@github.com:whoidentifies-me/frontend.git ${persistHome}/projects/epicenter.works/whoidentifies.me/wim-frontend 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;
force = true;
};
home.file.".config/Cryptomator/settings.json" = {
source = ./configs/cryptomator.json;
force = true;
};
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_ed25519";
};
"*.epicenter.works !tools.epicenter.works" = {
user = "dominik";
identityFile = "~/.ssh/epicenter.id_rsa";
};
"*.dearmep.eu" = {
user = "root";
identityFile = "~/.ssh/epicenter.id_rsa";
};
"*.whoidentifies.me" = {
user = "root";
identityFile = "~/.ssh/epicenter_id_ed25519";
};
"*.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";
};
};
"amz-websrv-01.amz.at" = {
user = "ebs";
setEnv = {
TERM = "xterm-256color";
};
};
"u149513.your-backup.de" = {
user = "u149513";
# user = "u149513-sub2"; # fw.cloonar.com
port = 23;
};
"u428777.your-storagebox.de" = {
user = "u428777";
# user = "u149513-sub2"; # fw.cloonar.com
port = 23;
};
};
};
};
}