Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2025-09-25 07:20:38 +00:00
11 changed files with 84 additions and 53 deletions

View File

@@ -65,6 +65,8 @@
system.stateVersion = hyper.pkgs-version; system.stateVersion = hyper.pkgs-version;
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ];
programs.bash.shellInit = '' programs.bash.shellInit = ''
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh if [[ "$USER" == "${hyper.user}" ]]; then
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
fi
''; '';
} }

View File

@@ -1,13 +1,13 @@
{ {
"base": { "base": {
"foreground": "#dcd5f5", "foreground": "#fefefe",
"background": "#100929" "background": "#020202"
}, },
"to_alter": { "to_alter": {
"accent": "#765ad7", "accent": "#aaaaff",
"secondary": "#ce32ff", "secondary": "#aaeeff",
"tertiary": "#879eaa", "tertiary": "#aaffaa",
"special": "#bad759", "special": "#aaffaa",
"weird": "#d75991" "weird": "#ffffaa"
} }
} }

View File

@@ -24,12 +24,11 @@
hideOnEmpty = true; hideOnEmpty = true;
actions.onLeftClick = "menu:calendar"; actions.onLeftClick = "menu:calendar";
}; };
"custom/caldav_evnet" = { "custom/caldav_event" = {
execute = "caldav_event"; execute = "caldav_event";
executeOnAction = ""; label = "󰃰 {}";
label = "{}"; interval = 1000;
interval = 60000; hideOnEmpty = false;
hideOnEmpty = true;
actions = {}; actions = {};
}; };
}; };
@@ -67,15 +66,18 @@
"bar.bluetooth.label" = true; "bar.bluetooth.label" = true;
"bar.customModules.submap.enabledIcon" = "[󰧹]";
"bar.customModules.submap.showSubmapName" = false;
"bar.customModules.submap.label" = false;
"bar.customModules.submap.icon" = true;
"bar.customModules.submap.disabledIcon" = ""; "bar.customModules.submap.disabledIcon" = "";
"bar.customModules.submap.disabledText" = "";
"bar.customModules.submap.enabledIcon" = "";
"bar.customModules.submap.enabledText" = "[SUBMAP]";
"bar.customModules.submap.icon" = false;
"bar.customModules.submap.label" = true;
"bar.customModules.submap.showSubmapIcon" = false;
"bar.customModules.submap.showSubmapName" = false;
"bar.workspaces.applicationIconEmptyWorkspace" = ""; "bar.workspaces.applicationIconEmptyWorkspace" = "";
"bar.workspaces.applicationIconOncePerWorkspace" = false; "bar.workspaces.applicationIconOncePerWorkspace" = false;
"bar.workspaces.numbered_active_indicator" = "underline"; "bar.workspaces.numbered_active_indicator" = "color";
"bar.workspaces.scroll_speed" = 1; "bar.workspaces.scroll_speed" = 1;
"bar.workspaces.showAllActive" = false; "bar.workspaces.showAllActive" = false;
"bar.workspaces.showApplicationIcons" = true; "bar.workspaces.showApplicationIcons" = true;
@@ -259,10 +261,11 @@
"theme.bar.buttons.workspaces.background" = background; "theme.bar.buttons.workspaces.background" = background;
"theme.bar.buttons.workspaces.border" = accent.base; "theme.bar.buttons.workspaces.border" = accent.base;
"theme.bar.buttons.workspaces.hover" = foreground; "theme.bar.buttons.workspaces.hover" = foreground;
"theme.bar.buttons.workspaces.numbered_active_highlighted_text_color" = accent.base; "theme.bar.buttons.workspaces.numbered_active_highlighted" = accent.base;
"theme.bar.buttons.workspaces.numbered_active_highlight_padding" = "0.2em"; "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color" = accent.dark;
"theme.bar.buttons.workspaces.numbered_active_highlight_padding" = "0.4em";
"theme.bar.buttons.workspaces.numbered_active_underline_color" = accent.bright; "theme.bar.buttons.workspaces.numbered_active_underline_color" = accent.bright;
"theme.bar.buttons.workspaces.numbered_inactive_padding" = "0.2em"; "theme.bar.buttons.workspaces.numbered_inactive_padding" = "0.4em";
"theme.bar.buttons.workspaces.occupied" = secondary.base; "theme.bar.buttons.workspaces.occupied" = secondary.base;
"theme.bar.buttons.workspaces.pill.width" = "4em"; "theme.bar.buttons.workspaces.pill.width" = "4em";
"theme.bar.buttons.workspaces.smartHighlight" = true; "theme.bar.buttons.workspaces.smartHighlight" = true;

View File

@@ -194,6 +194,21 @@
background-color: transparent !important; background-color: transparent !important;
} }
} }
@-moz-document domain(youtube.com) {
body, html, div#content, ytd-app, #frosted-glass.with-chipbar.ytd-app, ytd-shorts[is-dark] #cinematic-shorts-scrim.ytd-shorts {
background-color: transparent !important;
}
#background.ytd-masthead, div#background {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(100px);
}
* {
--yt-spec-base-background: transparent;
--yt-spec-raised-background: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--yt-spec-menu-background: rgba(${rice.lib.hex-to-rgb-comma-string accent.dark}, ${builtins.toString rice.transparency}) !important;
--yt-spec-inverted-background: rgba(${rice.lib.hex-to-rgb-comma-string secondary.dark}, ${builtins.toString rice.transparency}) !important;
}
}
@-moz-document domain(mynixos.com) { @-moz-document domain(mynixos.com) {
body, html { body, html {
@@ -211,7 +226,7 @@
background-color: transparent !important; background-color: transparent !important;
} }
.bg-primary { .bg-primary {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string accent.base}, 0.5) !important! background-color: rgba(${rice.lib.hex-to-rgb-comma-string accent.base},0.5) !important;
} }
} }

View File

@@ -110,6 +110,12 @@
mkdir $argv mkdir $argv
cd $argv cd $argv
''; '';
nx_backup = let
destination = if hyper.host == "NxNORTH" then "${hyper.home}/shared/" else "${hyper.home}/backups/";
in pkgs.lib.mkIf (hyper.host != "NxACE") ''
set RPATH (curl -s https://${hyper.domain}/latest-backup)
rsync -avz --info=progress2 -e "ssh -p ${builtins.toString secrets.ssh.port}" ${hyper.user}@ssh.${hyper.domain}:"$RPATH" ${destination}
'';
# gpg = ''; # gpg = '';
# set bold \e[1m # set bold \e[1m
# set green \e[32m # set green \e[32m

View File

@@ -6,8 +6,9 @@ let
terminal-exec = "ghostty --command="; terminal-exec = "ghostty --command=";
monitors = { monitors = {
xps = { xps = {
main = { name = "eDP-1"; resolution = "1920x1200"; position = "0x1080"; scale = "1.0"; }; main = { name = "eDP-1"; resolution = "1920x1200"; position = "1920x1080"; scale = "1.0"; };
second = { name = "desc:Sony SONY TV 0x01010101"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; }; second = { name = "desc:Sony SONY TV 0x01010101"; resolution = "1920x1080"; position = "1920x0"; scale = "1.0"; };
third = { name = "DP-6"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; };
}; };
north = { north = {
main = { name = "desc:Iiyama North America PL3270Q na"; resolution = "2560x1440"; position = "1920x0"; scale = "1.0"; }; main = { name = "desc:Iiyama North America PL3270Q na"; resolution = "2560x1440"; position = "1920x0"; scale = "1.0"; };
@@ -51,6 +52,7 @@ in {
if hyper.host == "NxXPS" then (with monitors.xps; [ if hyper.host == "NxXPS" then (with monitors.xps; [
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}" "${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
"${second.name}, ${second.resolution}, ${second.position}, ${second.scale}" "${second.name}, ${second.resolution}, ${second.position}, ${second.scale}"
"${third.name}, ${third.resolution}, ${third.position}, ${third.scale}"
]) else (if hyper.host == "NxNORTH" then (with monitors.north; [ ]) else (if hyper.host == "NxNORTH" then (with monitors.north; [
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}" "${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
"${left.name}, ${left.resolution}, ${left.position}, ${left.scale}" "${left.name}, ${left.resolution}, ${left.position}, ${left.scale}"
@@ -62,7 +64,7 @@ in {
workspace = let workspace = let
d1 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name); d1 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name);
d2 = if hyper.host == "NxXPS" then monitors.xps.second.name else (if hyper.host == "NxNORTH" then monitors.north.left.name else monitors.ace.main.name); d2 = if hyper.host == "NxXPS" then monitors.xps.second.name else (if hyper.host == "NxNORTH" then monitors.north.left.name else monitors.ace.main.name);
d3 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name); d3 = if hyper.host == "NxXPS" then monitors.xps.third.name else (if hyper.host == "NxNORTH" then monitors.north.main.name else monitors.ace.main.name);
# d3 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.hyper.host == "NxNORTH" then monitors.north.right.name else monitors.ace.main.name); # d3 = if hyper.host == "NxXPS" then monitors.xps.main.name else (if hyper.hyper.host == "NxNORTH" then monitors.north.right.name else monitors.ace.main.name);
compact = "gapsin:0, gapsout:0, bordersize:1, rounding:false"; compact = "gapsin:0, gapsout:0, bordersize:1, rounding:false";
in [ in [
@@ -87,7 +89,7 @@ in {
"28, monitor:${d2}" "28, monitor:${d2}"
"29, monitor:${d2}" "29, monitor:${d2}"
"20, monitor:${d2}, ${compact}" "20, monitor:${d2}, ${compact}"
"31, monitor:${d3}, default:${let x = if hyper.host == "NxNORTH" then "true" else "false"; in x}" "31, monitor:${d3}, default:${let x = if hyper.host == "NxNORTH" then "true" else "false"; in x}, ${compact}"
"32, monitor:${d3}" "32, monitor:${d3}"
"33, monitor:${d3}" "33, monitor:${d3}"
"34, monitor:${d3}" "34, monitor:${d3}"
@@ -256,12 +258,11 @@ in {
"opacity ${transparency}, class:^(Code)$" "opacity ${transparency}, class:^(Code)$"
"opacity ${transparency}, class:^(code-oss)$" "opacity ${transparency}, class:^(code-oss)$"
"opacity ${transparency}, class:^(discord)$" "opacity ${transparency}, class:^(discord)$"
"opacity ${transparency}, class:^(vesktop)$" # "opacity ${transparency}, class:^(vesktop)$"
# "opacity ${transparency}, class:^(Element)$" # "opacity ${transparency}, class:^(Element)$"
"opacity ${transparency}, class:^(lutris)$" "opacity ${transparency}, class:^(lutris)$"
"opacity ${transparency}, class:^(neovide)$" "opacity ${transparency}, class:^(neovide)$"
# "opacity ${transparency}, class:^(obsidian)$" # "opacity ${transparency}, class:^(obsidian)$"
"opacity ${transparency}, class:^(vesktop)$"
"opacity ${transparency}, class:^(VSCodium)$" "opacity ${transparency}, class:^(VSCodium)$"
"opacity ${transparency}, title:^(wlogout)$" "opacity ${transparency}, title:^(wlogout)$"
@@ -361,7 +362,7 @@ in {
"SUPER, Q, killactive" "SUPER, Q, killactive"
"SUPER, W, exec, submap_indicator set '󰈹 '" "SUPER, W, exec, submap_indicator set '󰈹 '"
"SUPER, W, submap, browserSM " "SUPER, W, submap, browserSM "
"SUPER, E, exec, element-desktop" # "SUPER, E, exec, element-desktop"
"SUPER, R, exec, rofi -show drun" "SUPER, R, exec, rofi -show drun"
# "SUPER, T, exec, alacritty" # "SUPER, T, exec, alacritty"
# "SUPER SHIFT, T, exec, alacritty -e sh -c "ssh nxace"" # "SUPER SHIFT, T, exec, alacritty -e sh -c "ssh nxace""

View File

@@ -139,7 +139,7 @@
weird = alter_hue(ilist=accent, hue=80) weird = alter_hue(ilist=accent, hue=80)
special = alter_hue(ilist=accent, hue=180) special = alter_hue(ilist=accent, hue=180)
foreground = alter_l(accent, 0.9) foreground = alter_l(accent, 0.9)
background = alter_l(accent, 0.1) background = alter_l(accent, 0.05)
d = { d = {
"base": { "base": {

View File

@@ -181,7 +181,7 @@ in {
{ on = "{"; run = "tab_swap -1"; desc = "Swap current tab wittab"; } { on = "{"; run = "tab_swap -1"; desc = "Swap current tab wittab"; }
{ on = "}"; run = "tab_swap 1"; desc = "Swap current tab with next tab"; } { on = "}"; run = "tab_swap 1"; desc = "Swap current tab with next tab"; }
# Tasks # Tasks
{ on = "w"; run = "tasks_show"; desc = "Show task manager"; } { on = "w"; run = "tasks:show"; desc = "Show Task View"; }
]; ];
tasks.keymap = [ tasks.keymap = [
# Task # Task

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }@all: with all; { config, pkgs, ... }@all: with all;
{ {
# sops.secrets = { # sops.secrets = {
# "wireless-networking.env" = {}; # "wireless-networking.env" = {};
@@ -15,6 +15,7 @@
}; };
enableIPv6 = true; enableIPv6 = true;
firewall.allowedTCPPorts = [ firewall.allowedTCPPorts = [
(pkgs.lib.mkIf config.services.ollama.enable 11434)
80 80
443 443
8000 8000

View File

@@ -8,16 +8,21 @@
package = pkgs.copyparty; package = pkgs.copyparty;
openFilesLimit = 8192; openFilesLimit = 8192;
settings = { settings = {
i = [ "0.0.0.0" "unix:770:copyparty:/dev/shm/party.sock" ];
p = [ 3210 3211 ]; p = [ 3210 3211 ];
no-reload = true; i = [ "0.0.0.0" "unix:770:copyparty:/dev/shm/party.sock" ];
name = "NxCopyParty";
ignored-flag = false; ignored-flag = false;
shr = "/shares"; no-reload = true;
css-browser = "https://nx2.site/copyparty/extra-browser.css";
theme = 6;
xff-hdr = "X-Forwarded-For"; # so that cpp knows the real client ip behind nginx. Must match with nginx config
rproxy = 1;
no-robots = true; no-robots = true;
rproxy = 1;
xff-hdr = "X-Forwarded-For"; # so that cpp knows the real client ip behind nginx. Must match with nginx config
shr = "/shares";
css-browser = "https://${hyper.domain}/copyparty/extra-browser.css";
theme = 6;
}; };
accounts = { accounts = {
"${hyper.user}" = { "${hyper.user}" = {

View File

@@ -90,24 +90,22 @@
default = true; default = true;
listen = dl; listen = dl;
locations = { locations = {
"/" = { "/".extraConfig = ''
extraConfig = '' index index.html;
index index.html; '';
''; "~ ^(/.well-known/matrix/client)$".return = "502";
}; "~ ^(/.well-known/matrix/server)$".return = "502";
"~^(/ba)$" = { return = "301 /BA.pdf"; }; "~ ^(/phone)$".return = "301 /cards/phone";
"/.well-known/matrix/client" = { return = "502"; }; "~ ^(/about-me)$".return = "301 /slides/about-me";
"/.well-known/matrix/server" = { return = "502"; }; "~ ^(/about-this-site)$".return = "301 /slides/about-this-site";
"/phone" = { return = "301 /cards/phone"; }; "~ ^(/gpg)$".return = "301 /cards/gpg";
"/about-me" = { return = "301 /slides/about-me"; }; "~ ^(/contact)$".return = "301 /cards/contact";
"/about-this-site" = { return = "301 /slides/about-this-site"; }; "~ ^(/ba)$".return = "301 /BA.pdf";
"/gpg" = { return = "301 /cards/gpg"; };
"/contact" = { return = "301 /cards/contact"; };
}; };
}; };
"matrix.${hyper.domain}" = { "matrix.${hyper.domain}" = {
listen = dl; listen = dl;
locations = { "~.*" = { return = "502"; }; }; locations."~.*".return = "502";
}; };
# "pw.${hyper.domain}" = vh // { # "pw.${hyper.domain}" = vh // {
# listen = dl; # listen = dl;