Compare commits

..
10 Commits
Author SHA1 Message Date
ulve 8deacb654a update flake.lock 2026-08-16 09:20:15 +02:00
ulve 4dc26ccc2f upgrade 2026-08-09 10:27:06 +02:00
ulve 74b5b81d06 use codeberg remote for rssdownloader-src input 2026-08-02 10:19:57 +02:00
ulve 2ef012d0b0 use nh for rebuild alias; update noctalia color scheme 2026-08-02 10:10:52 +02:00
ulve 4d51d3d507 fix nixserve authorized key on fractalus 2026-08-02 10:07:06 +02:00
ulve 64cb43daf8 Add ZapZap desktop entry with Wayland override 2026-08-01 20:27:35 +02:00
ulve 981cdd8153 upgrade 2026-08-01 12:07:14 +02:00
ulve af6e5b99cd added rss downloader 2026-08-01 12:03:22 +02:00
ulve b230720ab5 upgrade 2026-07-26 10:36:55 +02:00
ulve b007f6cf1a upgrade 2026-07-26 10:36:38 +02:00
15 changed files with 136 additions and 75 deletions
+15
View File
@@ -0,0 +1,15 @@
[Desktop Entry]
Version=1.0
Name=ZapZap
Comment=WhatsApp Desktop for Linux
Exec=env QT_QPA_PLATFORM=wayland zapzap %u
Icon=com.rtosta.zapzap
Type=Application
Categories=Chat;Network;InstantMessaging;Qt;
Keywords=WhatsApp;Chat;ZapZap;
StartupWMClass=zapzap
MimeType=x-scheme-handler/whatsapp
Terminal=false
SingleMainWindow=true
X-GNOME-UsesNotifications=true
X-GNOME-SingleWindow=true
+9 -9
View File
@@ -1,35 +1,35 @@
layout {
focus-ring {
active-color "#679ce4"
inactive-color "#101c2d"
active-color "#e367e4"
inactive-color "#2a132a"
urgent-color "#fd4663"
}
border {
active-color "#679ce4"
inactive-color "#101c2d"
active-color "#e367e4"
inactive-color "#2a132a"
urgent-color "#fd4663"
}
shadow {
color "#101c2d70"
color "#2a132a70"
}
tab-indicator {
active-color "#679ce4"
inactive-color "#0c428d"
active-color "#e367e4"
inactive-color "#8c0c8d"
urgent-color "#fd4663"
}
insert-hint {
color "#679ce480"
color "#e367e480"
}
}
recent-windows {
highlight {
active-color "#679ce4"
active-color "#e367e4"
urgent-color "#fd4663"
}
}
+15 -15
View File
@@ -1,25 +1,25 @@
{
"mPrimary": "#679ce4",
"mOnPrimary": "#080b0d",
"mPrimary": "#e367e4",
"mOnPrimary": "#0a060a",
"mSecondary": "#665cd6",
"mOnSecondary": "#181e25",
"mSecondary": "#d65c9a",
"mOnSecondary": "#251825",
"mTertiary": "#a166cc",
"mOnTertiary": "#181e25",
"mTertiary": "#cc6667",
"mOnTertiary": "#251825",
"mError": "#fd4663",
"mOnError": "#181e25",
"mOnError": "#251825",
"mSurface": "#101c2d",
"mOnSurface": "#f2f2f3",
"mSurface": "#2a132a",
"mOnSurface": "#f3f2f3",
"mSurfaceVariant": "#1a2f4c",
"mOnSurfaceVariant": "#afb2b6",
"mSurfaceVariant": "#462046",
"mOnSurfaceVariant": "#b6afb6",
"mOutline": "#5f6774",
"mShadow": "#101c2d",
"mOutline": "#756075",
"mShadow": "#2a132a",
"mHover": "#a166cc",
"mOnHover": "#181e25"
"mHover": "#cc6667",
"mOnHover": "#251825"
}
+30 -30
View File
@@ -674,12 +674,12 @@
"appearance": "dark",
"colorScheme": "Gruvbox",
"darkMode": true,
"generationMethod": "tonal-spot",
"generationMethod": "vibrant",
"paletteColors": [
"#9ccaff",
"#bac8db",
"#d6bee5",
"#ffb4ab"
"#e48567",
"#5ca1d6",
"#b4cc66",
"#fd4663"
],
"path": "/home/ulve/.config/niri/wallpapers/Anime - Landscape.jpeg",
"useWallpaperColors": true
@@ -688,12 +688,12 @@
"appearance": "dark",
"colorScheme": "Gruvbox",
"darkMode": true,
"generationMethod": "tonal-spot",
"generationMethod": "vibrant",
"paletteColors": [
"#ffb5a0",
"#e7bdb2",
"#d8c58d",
"#ffb4ab"
"#e48c67",
"#5c87d6",
"#aecc66",
"#b56442"
],
"path": "/home/ulve/.config/niri/wallpapers/Anime-City-Night.png",
"useWallpaperColors": true
@@ -702,12 +702,12 @@
"appearance": "dark",
"colorScheme": "Gruvbox",
"darkMode": true,
"generationMethod": "tonal-spot",
"generationMethod": "vibrant",
"paletteColors": [
"#b4c5ff",
"#c1c5dd",
"#e2bbdb",
"#ffb4ab"
"#e47c67",
"#5c81d6",
"#becf6e",
"#cb8172"
],
"path": "/home/ulve/.config/niri/wallpapers/Buildings.png",
"useWallpaperColors": true
@@ -744,12 +744,12 @@
"appearance": "dark",
"colorScheme": "Gruvbox",
"darkMode": true,
"generationMethod": "tonal-spot",
"generationMethod": "vibrant",
"paletteColors": [
"#5ed4fd",
"#b3cad5",
"#c4c3eb",
"#ffb4ab"
"#67bbe4",
"#5c70d6",
"#8866cc",
"#fd4663"
],
"path": "/home/ulve/.config/niri/wallpapers/Fog-Forest-Everforest.png",
"useWallpaperColors": true
@@ -758,12 +758,12 @@
"appearance": "dark",
"colorScheme": "Gruvbox",
"darkMode": true,
"generationMethod": "tonal-spot",
"generationMethod": "vibrant",
"paletteColors": [
"#a4c9ff",
"#bcc7db",
"#d9bde3",
"#ffb4ab"
"#66aee6",
"#5059e2",
"#8f50e2",
"#fd4663"
],
"path": "/home/ulve/.config/niri/wallpapers/Anime-Girl-Night-Sky.jpg",
"useWallpaperColors": true
@@ -772,12 +772,12 @@
"appearance": "dark",
"colorScheme": "Gruvbox",
"darkMode": true,
"generationMethod": "monochrome",
"generationMethod": "vibrant",
"paletteColors": [
"#ffffff",
"#c6c6c6",
"#e2e2e2",
"#ffb4ab"
"#67d8e4",
"#5c8dd6",
"#7066cc",
"#fd4663"
],
"path": "/home/ulve/.config/niri/wallpapers/Dark_Nature.png",
"useWallpaperColors": true
Generated
+28 -11
View File
@@ -6,11 +6,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1784600306,
"narHash": "sha256-fFs6C2fVrhQtgXL5JlczqiTpGy/ALBVUky0DrSl5xEM=",
"lastModified": 1786831869,
"narHash": "sha256-ALhahxbdgnN8rMvlKmgB5py0etICwyYY75Uz0jLIpM4=",
"owner": "ogulcancelik",
"repo": "herdr",
"rev": "44f2211608618e56d4bd80ef9c2bac4d9c8be4d2",
"rev": "51b7064ef0a02642393bab1d2eea0f4dbd8414d2",
"type": "github"
},
"original": {
@@ -26,11 +26,11 @@
]
},
"locked": {
"lastModified": 1784350909,
"narHash": "sha256-ZWyzLbS1yKUTeFJLmdVuWNnHttL333/ldJbEE+KzCrM=",
"lastModified": 1785119570,
"narHash": "sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "4ce190229c73d44536caa7072f6308fb2d8feeb3",
"rev": "d4fd24667c8cbef124bb70a20380cab75ec8474d",
"type": "github"
},
"original": {
@@ -58,11 +58,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1784432872,
"narHash": "sha256-IX7j5TvSD7hYC9NZ8mgmq7pZ97mYyl24Qs4Tz4uyvO4=",
"rev": "fd1462031fdee08f65fd0b4c6b64e22239a77870",
"lastModified": 1786711500,
"narHash": "sha256-mB6w7h+UsvxLf3PY6U3hSDVWCfmn2Q6VtSw5JugbeY0=",
"rev": "02e08985a27c65ffd33d434eeb2e660a2e4dc84d",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/26.05/nixos-26.05.5591.fd1462031fde/nixexprs.tar.xz"
"url": "https://releases.nixos.org/nixos/26.05/nixos-26.05.7675.02e08985a27c/nixexprs.tar.xz"
},
"original": {
"id": "nixpkgs",
@@ -74,7 +74,24 @@
"inputs": {
"herdr": "herdr",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs_2",
"rssdownloader-src": "rssdownloader-src"
}
},
"rssdownloader-src": {
"flake": false,
"locked": {
"lastModified": 1785658646,
"narHash": "sha256-6slxsf1w3xbk1JSWmBmUEoph3Q7+0YHTKEQYU6OS8Yk=",
"ref": "refs/heads/master",
"rev": "50acb125217fafe12fb8e51d713d1c0d1dcd5a76",
"revCount": 1,
"type": "git",
"url": "https://codeberg.org/ulve/rssdownloader"
},
"original": {
"type": "git",
"url": "https://codeberg.org/ulve/rssdownloader"
}
},
"rust-overlay": {
+7 -1
View File
@@ -9,9 +9,14 @@
};
herdr.url = "github:ogulcancelik/herdr";
rssdownloader-src = {
url = "git+https://codeberg.org/ulve/rssdownloader";
flake = false;
};
};
outputs = {self, home-manager, nixpkgs, herdr, ...}: {
outputs = {self, home-manager, nixpkgs, herdr, rssdownloader-src, ...}: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
@@ -64,6 +69,7 @@
nixosConfigurations.nixserve = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit rssdownloader-src; };
modules = [
./hosts/nixserve
home-manager.nixosModules.home-manager
+2 -2
View File
@@ -72,8 +72,8 @@
openssh.authorizedKeys.keys = [
# macbook
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICpiU4gStAtrJOBSkQA2YJh98fpWPpxWtWgwAGzVa/wc johansson.olov@gmail.com"
# phone
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHCIwXs/XPwWfdvaAbGYYX8jVu6CP8MhR7qFTaW2hu6Go4X1+1RTuPQ5RwZSj5pKf2Cyn33pY9KuzIChpKLs9uZrNS08BO6SrcjNtcRJrUOAIq8uKqHOXmq2x2PXbHm6vKp5MwRRanQ/Pa1O2P8kYq8HIBlviD5jUzOtEj8neBfJ/x49+27eHvJdwD2whSy0uty7TfNJi180sJGmepjL4SftGTwcevyvkm+koHj0aDRXxOlFhtrpsbdagg4UHe04ljiUF9urGcA3BSRTKuYbSl+MBsX+YxS97Vi4zT6oqwfh5RPzNZ8v3kZaN51jB369UWlAws0+OgGxIfwVUCf6j1 nixserve"
# nixserve
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAmkoqQiLfkT3d2MTYsqXgK9UzlcJ0TwYa20ITMdg+HY nixserve"
];
description = "ulve";
extraGroups = [ "networkmanager" "wheel" ];
+2 -1
View File
@@ -13,6 +13,7 @@
xdg.dataFile."applications/signal.desktop".source = ../../config/applications/signal.desktop;
xdg.dataFile."applications/vesktop.desktop".source = ../../config/applications/vesktop.desktop;
xdg.dataFile."applications/steam.desktop".source = ../../config/applications/steam.desktop;
xdg.dataFile."applications/zapzap.desktop".source = ../../config/applications/zapzap.desktop;
# ── Packages ─────────────────────────────────────────────────────────────────
home.packages = with pkgs; [
@@ -30,7 +31,7 @@
telegram-desktop
signal-desktop
vesktop
karere
zapzap
# 3d printing
lycheeslicer
+1 -1
View File
@@ -30,6 +30,6 @@
telegram-desktop
signal-desktop
vesktop
karere
zapzap
];
}
+1
View File
@@ -49,6 +49,7 @@
networking.firewall.allowedTCPPorts = [ 80 443 /* HTTP */ 111 2049 4000 4001 4002 20048 /* NFS */ 3923 /* copyparty */ ];
networking.firewall.allowedUDPPorts = [ 111 2049 4000 4001 4002 20048 /* NFS */ ];
networking.firewall.trustedInterfaces = [ "tailscale0" ];
programs.zsh.enable = true;
security.polkit.enable = true;
+1 -1
View File
@@ -8,7 +8,7 @@ let
bad() { echo -e " ''${R}''${N} $*"; }
section(){ echo -e "\n''${W}''${B}$*''${N}"; }
echo -e "''${W}nixserve''${N} $(date '+%Y-%m-%d %H:%M') uptime: $(uptime -p | sed 's/up //') load: $(cut -d' ' -f1-3 /proc/loadavg)"
echo -e "''${W}nixserve''${N} $(date '+%Y-%m-%d %H:%M') uptime: $(uptime | sed 's/.*up //; s/,.*//') load: $(cut -d' ' -f1-3 /proc/loadavg)"
# ZFS
section "ZFS"
+4
View File
@@ -5,4 +5,8 @@
programs.zsh.shellAliases = {
transfer = "transmission-remote localhost:9091";
};
home.packages = with pkgs; [
weechat # irc client
];
}
+7
View File
@@ -0,0 +1,7 @@
{ pkgs, src }:
pkgs.buildGoModule {
pname = "rssdownloader";
version = "0.1.0";
inherit src;
vendorHash = null;
}
+12 -2
View File
@@ -1,6 +1,8 @@
{ pkgs, ... }:
{ pkgs, rssdownloader-src, ... }:
let
rssdownloader = pkgs.callPackage ./rssdownloader.nix { src = rssdownloader-src; };
proxyVhost = { upstream, websockets ? true, maxBodySize ? "1g" }: {
forceSSL = true;
enableACME = true;
@@ -41,7 +43,8 @@ in
lockdPort = 4001;
mountdPort = 4002;
exports = ''
/media 192.168.50.0/24(rw,sync,no_subtree_check,all_squash,anonuid=1000,anongid=1000,fsid=0)
/media 192.168.50.0/24(rw,sync,no_subtree_check,all_squash,anonuid=1000,anongid=1000,fsid=0,insecure)
/media 100.64.0.0/10(rw,sync,no_subtree_check,all_squash,anonuid=1000,anongid=1000,fsid=0,insecure)
'';
};
@@ -137,6 +140,12 @@ in
dir = "/home/ulve/code/tailscale";
};
systemd.services.colony-archive = dockerService {
name = "colony-archive";
description = "Colony Archive tabletop RPG campaign manager";
dir = "/home/ulve/code/colony-archive";
};
systemd.services.dozzle = {
description = "Dozzle Docker log viewer";
after = [ "docker.service" "network.target" ];
@@ -163,5 +172,6 @@ virtualHosts."aftersummer.maybec.at" = proxyVhost { upstream = "http://127.0.0.
virtualHosts."bookthing.maybec.at" = proxyVhost { upstream = "http://127.0.0.1:8000"; };
virtualHosts."jelly.maybec.at" = proxyVhost { upstream = "http://127.0.0.1:8096"; };
virtualHosts."photos.maybec.at" = proxyVhost { upstream = "http://[::1]:2283"; maxBodySize = "50g"; };
virtualHosts."colony.maybec.at" = proxyVhost { upstream = "http://127.0.0.1:3333"; };
};
}
+2 -2
View File
@@ -9,7 +9,7 @@
enable = true;
shellAliases = {
n = "nvim";
rebuild = "sudo nixos-rebuild switch --flake ~/nixos-dotfiles";
rebuild = "nh os switch ~/nixos-dotfiles";
upgrade = "nix flake update --flake ~/nixos-dotfiles && { command -v nh > /dev/null 2>&1 && nh os switch ~/nixos-dotfiles || sudo nixos-rebuild switch --flake ~/nixos-dotfiles; }";
};
};
@@ -25,7 +25,7 @@
];
shellAliases = {
n = "nvim";
rebuild = "sudo nixos-rebuild switch --flake ~/nixos-dotfiles";
rebuild = "nh os switch ~/nixos-dotfiles";
upgrade = "nix flake update --flake ~/nixos-dotfiles && { command -v nh &>/dev/null && nh os switch ~/nixos-dotfiles || sudo nixos-rebuild switch --flake ~/nixos-dotfiles; }";
tree = "eza --tree --level=2";
ls = "eza --icons --all --header --long --git";