713 lines
29 KiB
Nix
713 lines
29 KiB
Nix
{ 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;
|
||
};
|
||
|
||
# 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}"; }
|
||
];
|
||
}];
|
||
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
|
||
{
|
||
|
||
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})
|
||
'';
|
||
};
|
||
|
||
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;
|
||
home.sessionVariables = {
|
||
MOZ_ENABLE_WAYLAND = "1";
|
||
};
|
||
|
||
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";
|
||
};
|
||
};
|
||
};
|
||
|
||
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={searchTerms}\""
|
||
];
|
||
dictionaries = [
|
||
pkgs.hunspellDictsChromium.en_US
|
||
pkgs.hunspellDictsChromium.de_DE
|
||
];
|
||
extensions =
|
||
let
|
||
createChromiumExtensionFor = browserVersion: { id, sha256, version }:
|
||
{
|
||
inherit id;
|
||
crxPath = builtins.fetchurl {
|
||
url = "https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion=${browserVersion}&x=id%3D${id}%26installsource%3Dondemand%26uc";
|
||
name = "${id}.crx";
|
||
inherit sha256;
|
||
};
|
||
inherit version;
|
||
};
|
||
createChromiumExtension = createChromiumExtensionFor (lib.versions.major pkgs.ungoogled-chromium.version);
|
||
in
|
||
[
|
||
(createChromiumExtension {
|
||
# ublock origin
|
||
id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";
|
||
sha256 = "sha256:0ycnkna72n969crgxfy2lc1qbndjqrj46b9gr5l9b7pgfxi5q0ll";
|
||
version = "1.61.0";
|
||
})
|
||
(createChromiumExtension {
|
||
# dark reader
|
||
id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";
|
||
sha256 = "sha256:1lih8zbil1jwbzg7m1lnbx41d9smaqbs472lya7dgh36iwgsnpsr";
|
||
version = "4.9.96";
|
||
})
|
||
(createChromiumExtension {
|
||
# privacy badger
|
||
id = "pkehgijcmpdhfbdbbnkijodmdjhbjlgp";
|
||
sha256 = "sha256:1nnr5l7lpci76vixdfgkhagbycypvww7rg5pm6vjjdn45iw082w9";
|
||
version = "2024.7.17";
|
||
})
|
||
(createChromiumExtension {
|
||
# Bitwarden
|
||
id = "nngceckbapebfimnlniiiahkandclblb";
|
||
sha256 = "sha256:1fsgv42nw2rwwh69ipkkq4fs52l6sz5pq3qlv5psa8r1fiidm8zd";
|
||
version = "2024.10.1";
|
||
})
|
||
(createChromiumExtension {
|
||
# Dracula Theme
|
||
id = "jiaeinnfkmnkpkicpaihogiomcgikcde";
|
||
sha256 = "sha256:01nm7p0v3lcvx8bkinq2rr0divvqgf5d2a757lg8m21ccmznqkpc";
|
||
version = "1.0";
|
||
})
|
||
(createChromiumExtension {
|
||
# Vimium
|
||
id = "dbepggeogbaibhgnhhndojpepiihcmeb";
|
||
sha256 = "sha256:0m8xski05w2r8igj675sxrlkzxlrl59j3a7m0r6c8pwcvka0r88d";
|
||
version = "2.1.2";
|
||
})
|
||
(createChromiumExtension {
|
||
# BrainTool
|
||
id = "fialfmcgpibjgdoeodaondepigiiddio";
|
||
sha256 = "sha256:1ny8kxb0cag121wavcjzc6vid1lqgblwvb50rfwb7rdh6gbxfni5";
|
||
version = "1.0.3";
|
||
})
|
||
];
|
||
|
||
};
|
||
|
||
programs.git = {
|
||
|
||
enable = true;
|
||
lfs.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;
|
||
};
|
||
extraConfig = {
|
||
"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"><Signature<br></font>
|
||
<font color="#666666"> </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;"> 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;"> 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;"> 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;"> 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;"> 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;">/></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";
|
||
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;
|
||
package = pkgs.firefox-devedition.overrideAttrs (a: {
|
||
postInstall = a.postInstall or "" + ''
|
||
wrapProgram "$out/bin/firefox" \
|
||
export MOZ_ENABLE_WAYLAND=1
|
||
'';
|
||
});
|
||
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;
|
||
};
|
||
"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 = 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 gitea@git.cloonar.com:Cloonar/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:AccessOwl/ao-domainscraping.git ${persistHome}/projects/accessowl/ao-domainscraping 2>/dev/null
|
||
|
||
git clone gitea@git.cloonar.com:Cloonar/flow-docs.git ${persistHome}/projects/cloonar/flow/flow-docs 2>/dev/null
|
||
git clone gitea@git.cloonar.com:Cloonar/flow-user-service.git ${persistHome}/projects/cloonar/flow/flow-user-service 2>/dev/null
|
||
git clone gitea@git.cloonar.com:Cloonar/flow-billing-service.git ${persistHome}/projects/cloonar/flow/flow-billing-service 2>/dev/null
|
||
git clone gitea@git.cloonar.com:Cloonar/flow-module-registry.git ${persistHome}/projects/cloonar/flow/flow-module-registry 2>/dev/null
|
||
git clone gitea@git.cloonar.com:Cloonar/flow-workflow-definition.git ${persistHome}/projects/cloonar/flow/flow-workflow-definition 2>/dev/null
|
||
git clone gitea@git.cloonar.com:dominik.polakovics/flow-api-gateway.git ${persistHome}/projects/cloonar/flow/flow-api-gateway 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/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: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
|
||
git clone gitea@git.cloonar.com:Cloonar/eidas.monitor.git ${persistHome}/projects/epicenter.works/eidas.monitor 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";
|
||
};
|
||
};
|
||
"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;
|
||
};
|
||
};
|
||
};
|
||
};
|
||
}
|
||
|