mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
301 lines
8 KiB
Nix
301 lines
8 KiB
Nix
{ self, config, pkgs, lib, nix-secrets, ... }:
|
|
let
|
|
secretsDirectory = builtins.toString nix-secrets;
|
|
dcUser = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/dc-user");
|
|
clUser = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/cl-user");
|
|
wsUser = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/ws-user");
|
|
in
|
|
{
|
|
home.packages = with pkgs; [
|
|
stable.teams-for-linux
|
|
shellcheck
|
|
dig
|
|
docker
|
|
postman
|
|
rclone
|
|
stable.awscli2
|
|
libguestfs-with-appliance
|
|
stable.prometheus.cli
|
|
tigervnc
|
|
openstackclient
|
|
];
|
|
|
|
home.sessionVariables = {
|
|
DOCUMENT_DIR_PRIV = lib.mkForce "${config.home.homeDirectory}/Documents/Private";
|
|
DOCUMENT_DIR_WORK = lib.mkForce "${config.home.homeDirectory}/Documents/Work";
|
|
};
|
|
|
|
wayland.windowManager.sway.config = {
|
|
output = {
|
|
"Applied Creative Technology Transmitter QUATTRO201811" = {
|
|
bg = "${self}/wallpaper/navidrome.png ${config.stylix.imageScalingMode}";
|
|
};
|
|
"Hewlett Packard HP Z24i CN44250RDT" = {
|
|
bg = "${self}/wallpaper/op6wp.png ${config.stylix.imageScalingMode}";
|
|
};
|
|
"HP Inc. HP 732pk CNC4080YL5" = {
|
|
bg = "${self}/wallpaper/botanicswp.png ${config.stylix.imageScalingMode}";
|
|
};
|
|
};
|
|
};
|
|
|
|
stylix.targets.firefox.profileNames = [
|
|
"dc"
|
|
"cl"
|
|
"ws"
|
|
];
|
|
|
|
programs = {
|
|
git.userEmail = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/git-email");
|
|
|
|
zsh = {
|
|
shellAliases = {
|
|
dssh = "ssh -l ${dcUser}";
|
|
cssh = "ssh -l ${clUser}";
|
|
wssh = "ssh -l ${wsUser}";
|
|
};
|
|
cdpath = [
|
|
"~/Documents/Work"
|
|
];
|
|
dirHashes = {
|
|
d = "$HOME/.dotfiles";
|
|
w = "$HOME/Documents/Work";
|
|
s = "$HOME/.dotfiles/secrets";
|
|
pr = "$HOME/Documents/Private";
|
|
ac = "$HOME/.ansible/collections/ansible_collections/vbc/linux/roles";
|
|
};
|
|
};
|
|
|
|
ssh = {
|
|
matchBlocks = {
|
|
"uc" = {
|
|
hostname = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/uc-prod");
|
|
user = "stack";
|
|
};
|
|
"uc.stg" = {
|
|
hostname = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/uc-stg");
|
|
user = "stack";
|
|
};
|
|
"uc.staging" = {
|
|
hostname = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/uc-stg");
|
|
user = "stack";
|
|
};
|
|
"uc.dev" = {
|
|
hostname = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/uc-dev");
|
|
user = "stack";
|
|
};
|
|
"cbe" = {
|
|
hostname = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/cbe-prod");
|
|
user = dcUser;
|
|
};
|
|
"cbe.stg" = {
|
|
hostname = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/cbe-stg");
|
|
user = dcUser;
|
|
};
|
|
"cbe.staging" = {
|
|
hostname = lib.strings.trim (builtins.readFile "${secretsDirectory}/work/cbe-stg");
|
|
user = dcUser;
|
|
};
|
|
"*.vbc.ac.at" = {
|
|
user = dcUser;
|
|
};
|
|
};
|
|
};
|
|
|
|
firefox = {
|
|
profiles = {
|
|
dc = lib.recursiveUpdate
|
|
{
|
|
id = 1;
|
|
settings = {
|
|
"browser.startup.homepage" = "https://tower.vbc.ac.at|https://artifactory.vbc.ac.at";
|
|
};
|
|
}
|
|
config.swarselsystems.firefox;
|
|
cl = lib.recursiveUpdate
|
|
{
|
|
id = 2;
|
|
settings = {
|
|
"browser.startup.homepage" = "https://portal.azure.com";
|
|
};
|
|
}
|
|
config.swarselsystems.firefox;
|
|
ws = lib.recursiveUpdate { id = 3; } config.swarselsystems.firefox;
|
|
};
|
|
};
|
|
|
|
chromium = {
|
|
enable = true;
|
|
package = pkgs.chromium;
|
|
|
|
extensions = [
|
|
# 1password
|
|
"gejiddohjgogedgjnonbofjigllpkmbf"
|
|
# dark reader
|
|
"eimadpbcbfnmbkopoojfekhnkhdbieeh"
|
|
# ublock origin
|
|
"cjpalhdlnbpafiamejdnhcphjbkeiagm"
|
|
# i still dont care about cookies
|
|
"edibdbjcniadpccecjdfdjjppcpchdlm"
|
|
# browserpass
|
|
"naepdomgkenhinolocfifgehidddafch"
|
|
];
|
|
};
|
|
};
|
|
|
|
services = {
|
|
kanshi = {
|
|
settings = [
|
|
{
|
|
# seminary room
|
|
output = {
|
|
criteria = "Applied Creative Technology Transmitter QUATTRO201811";
|
|
scale = 1.0;
|
|
mode = "1280x720";
|
|
};
|
|
}
|
|
{
|
|
# work main screen
|
|
output = {
|
|
criteria = "HP Inc. HP 732pk CNC4080YL5";
|
|
scale = 1.0;
|
|
mode = "3840x2160";
|
|
};
|
|
}
|
|
{
|
|
# work side screen
|
|
output = {
|
|
criteria = "Hewlett Packard HP Z24i CN44250RDT";
|
|
scale = 1.0;
|
|
mode = "1920x1200";
|
|
transform = "270";
|
|
};
|
|
}
|
|
{
|
|
profile = {
|
|
name = "lidopen";
|
|
outputs = [
|
|
{
|
|
criteria = config.swarselsystems.sharescreen;
|
|
status = "enable";
|
|
scale = 1.5;
|
|
position = "1462,0";
|
|
}
|
|
{
|
|
criteria = "HP Inc. HP 732pk CNC4080YL5";
|
|
scale = 1.4;
|
|
mode = "3840x2160";
|
|
position = "-1280,0";
|
|
}
|
|
{
|
|
criteria = "Hewlett Packard HP Z24i CN44250RDT";
|
|
scale = 1.0;
|
|
mode = "1920x1200";
|
|
transform = "90";
|
|
position = "-2480,0";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
{
|
|
profile = {
|
|
name = "lidopen";
|
|
outputs = [
|
|
{
|
|
criteria = config.swarselsystems.sharescreen;
|
|
status = "enable";
|
|
scale = 1.7;
|
|
position = "2560,0";
|
|
}
|
|
{
|
|
criteria = "Applied Creative Technology Transmitter QUATTRO201811";
|
|
scale = 1.0;
|
|
mode = "1280x720";
|
|
position = "10000,10000";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
{
|
|
profile = {
|
|
name = "lidclosed";
|
|
outputs = [
|
|
{
|
|
criteria = config.swarselsystems.sharescreen;
|
|
status = "disable";
|
|
}
|
|
{
|
|
criteria = "HP Inc. HP 732pk CNC4080YL5";
|
|
scale = 1.4;
|
|
mode = "3840x2160";
|
|
position = "-1280,0";
|
|
}
|
|
{
|
|
criteria = "Hewlett Packard HP Z24i CN44250RDT";
|
|
scale = 1.0;
|
|
mode = "1920x1200";
|
|
transform = "270";
|
|
position = "-2480,0";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
{
|
|
profile = {
|
|
name = "lidclosed";
|
|
outputs = [
|
|
{
|
|
criteria = config.swarselsystems.sharescreen;
|
|
status = "disable";
|
|
}
|
|
{
|
|
criteria = "Applied Creative Technology Transmitter QUATTRO201811";
|
|
scale = 1.0;
|
|
mode = "1280x720";
|
|
position = "10000,10000";
|
|
}
|
|
];
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
xdg = {
|
|
mimeApps = {
|
|
defaultApplications = {
|
|
"x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ];
|
|
};
|
|
};
|
|
desktopEntries =
|
|
let
|
|
terminal = false;
|
|
categories = [ "Application" ];
|
|
icon = "firefox";
|
|
in
|
|
{
|
|
firefox_dc = {
|
|
name = "Firefox (dc)";
|
|
genericName = "Firefox dc";
|
|
exec = "firefox -p dc";
|
|
inherit terminal categories icon;
|
|
};
|
|
|
|
firefox_ws = {
|
|
name = "Firefox (ws)";
|
|
genericName = "Firefox ws";
|
|
exec = "firefox -p ws";
|
|
inherit terminal categories icon;
|
|
};
|
|
|
|
firefox_cl = {
|
|
name = "Firefox (cl)";
|
|
genericName = "Firefox cl";
|
|
exec = "firefox -p cl";
|
|
inherit terminal categories icon;
|
|
};
|
|
|
|
};
|
|
};
|
|
|
|
}
|